[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]){--clay:rgb(var(--c-paper));--paper:rgb(var(--c-paper-soft));--ink:rgb(var(--c-ink-950));--rust:rgb(var(--c-brand-600));--blue:rgb(var(--c-accent));--focus:rgb(var(--c-accent));--rule:rgba(102,62,45,.28);--ease:cubic-bezier(.16,1,.3,1)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) *{box-sizing:border-box}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]){scroll-behavior:smooth;scroll-padding-top:24px;scrollbar-color:var(--rust) var(--clay)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]){margin:0;background:var(--clay);color:var(--ink);font:18px/1.55 var(--font-body),sans-serif;overflow-x:clip}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) ::selection{background:var(--blue);color:var(--paper)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) button,[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) input,[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) select,[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) textarea{font:inherit;color:inherit;caret-color:var(--rust)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) button,[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) a,[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) input,[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) select,[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) textarea,[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) summary{-webkit-tap-highlight-color:transparent}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) button{cursor:pointer}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) button:disabled{opacity:.45;cursor:default}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) button:focus-visible,[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) a:focus-visible,[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) summary:focus-visible{outline:3px solid var(--blue);outline-offset:6px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) input:focus,[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) select:focus,[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) textarea:focus{outline:2px solid var(--blue);outline-offset:3px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) img{display:block;max-width:100%;width:100%;height:100%;object-fit:cover}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) svg{display:block;width:24px;height:24px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) h1,[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) h2,[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) h3,[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) p,[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) figure{margin:0}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) h1,[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) h2,[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) h3{font-family:var(--font-display),serif;font-weight:500;line-height:1.06;letter-spacing:-.04em;text-wrap:balance;font-variation-settings:"SOFT" 75,"WONK" 1}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) h1{font-size:clamp(60px,6.6vw,96px)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) h2{font-size:clamp(44px,4.8vw,70px)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) h3{font-size:36px;letter-spacing:-.025em}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) em{font-weight:400}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) p{max-width:65ch}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .page-width{width:min(1376px,calc(100% - 112px));margin-inline:auto}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .section-space{padding-block:120px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .svg-library{position:absolute;width:0;height:0;overflow:hidden}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .skip-link{position:fixed;top:12px;left:12px;z-index:100;background:var(--blue);color:var(--paper);padding:12px 20px;transform:translateY(-160%)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .skip-link:focus{transform:translateY(0)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .preview-bar{position:relative;z-index:4;display:flex;align-items:center;gap:18px;min-height:42px;padding:5px 56px;background:#e7cfb2;border-bottom:1px solid var(--rule);font-size:13px;line-height:1.3}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .preview-bar a{text-decoration:none;font-weight:600}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .preview-bar [role=group]{display:flex;gap:3px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .preview-bar button{border:0;background:transparent;padding:5px 9px;border-radius:0;font-size:13px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .preview-bar button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .preview-bar>span:not(.fs-richtext){margin-left:auto;font-size:12px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .site-header{width:calc(100% - 112px);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:34px 0 28px;border-bottom:1px solid var(--rule)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .wordmark{text-decoration:none;display:inline-flex;flex-direction:column;font-family:var(--font-display),serif;line-height:1;font-size:40px;letter-spacing:-.04em;flex-shrink:0}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .wordmark small{font:13px/1.3 var(--font-body),sans-serif;letter-spacing:.015em;margin-top:9px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .wordmark-dot{color:var(--rust)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .header-links{display:flex;gap:28px;font-size:15px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .header-links a{text-decoration:none;padding-block:12px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .header-actions{display:flex;gap:30px;align-items:center}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .saved-link{font-size:15px;text-decoration:none;display:flex;align-items:center;gap:9px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .saved-link>span:not(.fs-richtext){display:grid;place-items:center;width:27px;height:29px;background:var(--blue);color:var(--paper);border-radius:42% 48% 40% 45%;font-variant-numeric:tabular-nums}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .menu-button{display:flex;align-items:center;gap:13px;border:0;border-bottom:1px solid var(--ink);background:transparent;padding:10px 0;font-size:15px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .menu-button svg{width:19px;height:19px;transition:transform 180ms var(--ease)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .menu-button[aria-expanded=true] svg{transform:rotate(45deg)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter{padding-top:38px;padding-bottom:35px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-stage{position:relative;height:800px;isolation:isolate}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-copy{position:absolute;left:0;top:20px;z-index:2;width:59%;pointer-events:none}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-copy h1{max-width:740px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-copy h1 em{color:var(--rust)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-copy p{margin-top:25px;font-size:21px;line-height:1.5}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-invitation{display:inline-flex;align-items:center;gap:18px;margin-top:28px;font-size:15px;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:7px;pointer-events:auto}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-invitation svg{transform:rotate(90deg);width:22px;height:22px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample{position:absolute;padding:0;border:0;background:transparent;color:var(--ink);text-align:left;transform:rotate(var(--turn));transform-origin:center;transition:transform 200ms var(--ease);isolation:isolate}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample>svg{width:100%;height:calc(100% - 63px);overflow:visible;filter:drop-shadow(2px 10px 8px rgba(89,49,26,.16))}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample use{filter:url(#ceramic-texture)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .glaze-rim{fill:none;stroke:#fff8e9;stroke-opacity:.38;stroke-width:4;stroke-linecap:round}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-label{display:grid;grid-template-columns:1fr 26px;column-gap:4px;align-items:center;position:relative;margin-top:7px;padding:0 10px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-label strong{font-family:var(--font-display),serif;font-size:26px;font-weight:500;letter-spacing:-.02em}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-label>span:not(.fs-richtext){grid-column:1;font-size:13px;line-height:1.3;margin-top:2px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-label i{grid-column:2;grid-row:1/3;border:1px solid var(--ink);border-radius:50%;width:27px;height:27px;display:grid;place-items:center;font-style:normal}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-label i svg{width:18px;height:18px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample[aria-pressed=true] .sample-label i{background:var(--blue);border-color:var(--blue);color:var(--paper)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample[aria-pressed=true]>svg{filter:drop-shadow(2px 14px 10px rgba(89,49,26,.24))}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-oxide{--turn:5deg;top:0;right:7.2%;width:31%;height:366px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-oxide>svg{fill:rgb(var(--c-brand-600))}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-ink{--turn:-6deg;left:1.8%;bottom:43px;width:30%;height:330px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-ink>svg{fill:rgb(var(--c-accent))}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-chalk{--turn:4deg;left:37.8%;bottom:23px;width:25%;height:313px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-chalk>svg{fill:#e4cdb0}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-blush{--turn:-4deg;right:1.8%;bottom:0;width:21.5%;height:365px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-blush>svg{fill:#d49677}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-sage{--turn:-10deg;left:37%;top:360px;width:18.2%;height:230px;z-index:3}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-sage>svg{fill:#899281}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-honey{--turn:11deg;right:0;top:296px;width:18.6%;height:242px;z-index:3}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-honey>svg{fill:#c28e37}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-sage .sample-label strong,[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-honey .sample-label strong{font-size:23px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-sage .sample-label>span:not(.fs-richtext),[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-honey .sample-label>span:not(.fs-richtext){font-size:12px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-caption{position:absolute;bottom:0;left:0;font-size:13px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample.is-picked>svg{animation:var(--fs-anim-gpAccent, gp-kiln-glaze-sweep) 600ms var(--ease)}
@keyframes gp-kiln-glaze-sweep{0%{filter:drop-shadow(2px 14px 10px rgba(89,49,26,.24)) brightness(1)}35%{filter:drop-shadow(2px 14px 10px rgba(89,49,26,.24)) brightness(1.2)}100%{filter:drop-shadow(2px 14px 10px rgba(89,49,26,.24)) brightness(1)}}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .button{min-height:52px;display:inline-flex;justify-content:space-between;align-items:center;gap:26px;padding:13px 21px;text-decoration:none;border:1px solid currentColor;font-size:16px;font-weight:500;transition:background-color 180ms var(--ease),color 180ms var(--ease),transform 180ms var(--ease)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .button svg{width:23px;height:23px;flex-shrink:0;transition:transform 180ms var(--ease)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .button:active{transform:translateY(2px)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .button-cream{color:var(--blue);background:var(--paper);border-color:var(--paper)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .button-rust{background:var(--rust);color:var(--paper);border-color:var(--rust);width:100%}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .quiet-button{padding:10px 0;border:0;border-bottom:1px solid currentColor;background:transparent;color:inherit;font-size:15px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .pairing-section{position:relative;background:var(--blue);color:var(--paper);margin-top:28px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .pairing-section:before{content:"";position:absolute;top:-10px;width:100%;height:20px;background:var(--blue);clip-path:polygon(0 30%,9% 50%,18% 29%,26% 54%,35% 40%,44% 25%,54% 52%,64% 37%,73% 55%,83% 28%,92% 43%,100% 30%,100% 100%,0 100%)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .pairing-inner{display:grid;grid-template-columns:1fr 1fr;gap:7%;padding-block:90px 82px;align-items:center}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .pairing-copy h2{font-size:clamp(44px,4.5vw,66px);max-width:600px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .pairing-copy p{margin-top:24px;max-width:440px;color:#e5d6bf}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .pairing-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:30px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .pairing-display{position:relative;text-align:center;padding-top:5px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .pairing-objects{position:relative;height:300px;max-width:530px;margin:auto}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .pair-object{position:absolute;width:64%;height:100%;fill:currentColor;filter:drop-shadow(3px 12px 8px rgba(5,22,25,.3));transition:color 180ms ease,transform 220ms var(--ease)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .pair-object-first{left:0;top:-8px;transform:rotate(-10deg)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .pair-object-second{right:0;top:21px;transform:rotate(8deg)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .pairing-name{font-family:var(--font-display),serif;font-size:37px;letter-spacing:-.02em;margin-top:36px;max-width:none;line-height:1.2}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .pairing-name span:not(.fs-richtext){font-style:italic;opacity:.8;margin:0 8px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .pairing-hint{font-size:13px;color:#e5d6bf;max-width:none;margin-top:12px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .pairing-section a:focus-visible,[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .pairing-section button:focus-visible{outline-color:var(--paper)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .section-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:8%;align-items:end;margin-bottom:58px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .section-heading>p{font-size:20px;max-width:450px;padding-bottom:7px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .combination-list{border-top:1px solid var(--rule)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .combination{display:grid;grid-template-columns:190px 1fr auto;gap:38px;align-items:center;width:100%;padding:30px 0;border:0;border-bottom:1px solid var(--rule);background:transparent;text-align:left;min-height:190px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .combination-art{position:relative;display:block;width:185px;height:132px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .combination-art svg{position:absolute;fill:currentColor;width:116px;height:120px;left:0;top:0;transform:rotate(-11deg);filter:drop-shadow(2px 5px 4px rgba(89,49,26,.15));transition:transform 220ms var(--ease)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .combination-art svg+svg{left:72px;top:11px;transform:rotate(10deg)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .combination-copy{display:flex;flex-direction:column;gap:12px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .combination-copy strong{font:500 clamp(29px,3.1vw,44px)/1.1 var(--font-display),serif;letter-spacing:-.03em}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .combination-copy small{font-size:16px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .combination-action{display:flex;gap:28px;align-items:center;font-size:16px;border-bottom:1px solid var(--ink);padding:9px 0;white-space:nowrap}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .material-note{margin-top:28px;font-size:14px;max-width:none}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .room-section{padding-top:100px;padding-bottom:100px;background:#e5ceb0}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .room-heading{display:grid;grid-template-columns:1fr .7fr;gap:12%;align-items:end;margin-bottom:48px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .room-heading p{font-size:20px;max-width:450px;padding-bottom:9px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .room-spread{display:grid;grid-template-columns:1.35fr .65fr;gap:6%}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .room-art{height:620px;position:relative;overflow:hidden;background:#edddc9}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .room-art img[src*="kiln-projects"]{width:200%;height:200%;max-width:none;position:absolute;left:0;top:0}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) figcaption{font-size:13px;line-height:1.4;padding-top:13px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .room-materials{padding-top:20px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .room-materials h3{font-size:38px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .room-materials>p{margin-top:22px;font-size:17px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .material-stack{margin-top:24px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .material-row{display:flex;align-items:center;gap:19px;min-height:94px;border-bottom:1px solid var(--rule);padding:6px 0}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .material-row svg{width:80px;height:80px;fill:currentColor;flex-shrink:0;transform:rotate(-7deg);transition:color 180ms ease}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .material-row:nth-child(2) svg{transform:rotate(5deg)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .material-row>span:not(.fs-richtext):last-child{display:flex;flex-direction:column}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .material-row strong{font:500 24px/1.2 var(--font-display),serif;letter-spacing:-.02em}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .material-row small{font-size:13px;line-height:1.4;margin-top:5px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .stone-chip{width:67px;height:56px;display:block;margin:12px 7px;background:repeating-linear-gradient(14deg,transparent 0 6px,#d0b797 7px,#d0b797 8px,transparent 9px 15px),#d7c3a4;transform:rotate(-6deg);box-shadow:2px 4px 5px rgba(89,49,26,.13);border-radius:2px 5px 3px 1px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .joint-line{margin-top:26px;padding-top:17px;border-top:4px double #b89776;display:flex;gap:15px;justify-content:space-between;font-size:12px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .text-link{display:inline-flex;gap:16px;align-items:center;padding:9px 0;border:0;border-bottom:1px solid currentColor;background:transparent;text-decoration:none;font-size:16px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .text-link svg{width:20px;height:20px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .room-materials>.text-link{margin-top:29px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .finish-section{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .finish-art-column{padding-top:10px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .finish-art{position:relative;overflow:hidden;height:560px;background:#e6d4bd;transition:filter 250ms ease}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .finish-art img[src*="kiln-projects"]{position:absolute;max-width:none;width:200%;height:200%;left:-100%;top:-100%}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .finish-art[data-light-study=lamplight]{filter:sepia(.22) saturate(.92) brightness(.88)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .light-control{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:24px;font-size:14px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .light-control [role=group]{display:flex;border:1px solid var(--rule)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .light-control button{border:0;background:transparent;padding:11px 17px;font-size:14px;min-height:44px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .light-control button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .light-note{margin-top:14px;font-size:13px;max-width:470px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .finish-notes h2{font-size:clamp(43px,4.5vw,66px)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .finish-notes>p{margin-top:25px;max-width:490px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .notes-list{margin-top:35px;border-top:1px solid var(--rule)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) details{border-bottom:1px solid var(--rule)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-size:19px;font-weight:500;line-height:1.4}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) summary::-webkit-details-marker{display:none}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) summary>span:not(.fs-richtext){width:18px;height:18px;position:relative;flex-shrink:0}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) summary>span:not(.fs-richtext):before,[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) summary>span:not(.fs-richtext):after{content:"";position:absolute;width:16px;height:1px;left:1px;top:8px;background:var(--ink);transition:transform 180ms var(--ease)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) summary>span:not(.fs-richtext):after{transform:rotate(90deg)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) details[open] summary>span:not(.fs-richtext):after{transform:rotate(0)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) details>p{padding:0 30px 26px 0;font-size:16px;line-height:1.6;max-width:520px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .envelope-section{background:var(--rust);color:var(--paper);padding-top:100px;padding-bottom:110px;position:relative}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .envelope-intro{display:grid;grid-template-columns:1.35fr .65fr;gap:8%;align-items:end;margin-bottom:57px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .envelope-intro>p{font-size:20px;padding-bottom:9px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .envelope{display:grid;grid-template-columns:.84fr 1.16fr;max-width:1220px;background:var(--paper);color:var(--ink);box-shadow:5px 16px 30px rgba(74,23,12,.17);position:relative}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .envelope-letter{position:relative;min-height:690px;background:#ecd5b7;padding:40px 42px 195px;overflow:hidden}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .letter-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:10px;line-height:1.3;border-bottom:1px solid var(--rule);padding-bottom:17px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .letter-brand{font-family:var(--font-display),serif;font-size:25px;letter-spacing:-.04em;white-space:nowrap}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .envelope-pair{height:195px;position:relative;margin-top:35px;margin-bottom:22px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .envelope-pair svg{position:absolute;width:60%;height:185px;fill:currentColor;filter:drop-shadow(2px 7px 5px rgba(89,49,26,.15));transform:rotate(-9deg);left:0;transition:color 180ms ease}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .envelope-pair svg+svg{left:36%;top:13px;transform:rotate(7deg)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .envelope-letter h3{font-size:43px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .envelope-letter>p{font-size:17px;margin-top:19px;max-width:350px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .envelope-letter .letter-note{font-size:14px;margin-top:27px;position:relative;z-index:1}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .envelope-fold{position:absolute;left:0;bottom:0;width:100%;height:160px;pointer-events:none}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .envelope-fold svg{width:100%;height:100%}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .brief-form{padding:45px 48px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .brief-form label{display:flex;flex-direction:column;gap:10px;font-size:15px;font-weight:500;margin-bottom:26px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .brief-form input,[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .brief-form select,[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .brief-form textarea{border:0;border-bottom:1px solid #aa8665;background:transparent;border-radius:0;padding:10px 0;width:100%;min-height:46px;font-size:17px;font-weight:400;resize:vertical}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .brief-form textarea{min-height:142px;padding-top:7px;line-height:1.5}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .brief-form input[readonly]{color:var(--rust);font-family:var(--font-display),serif;font-size:27px;font-weight:500}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .brief-form select{padding-right:22px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .brief-form textarea::placeholder{color:#805c46;opacity:1;font-size:16px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .field-note{font-size:12px;font-weight:400}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .form-note{font-size:12px;margin-top:14px;text-align:center;max-width:none}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .draft-result{margin-top:30px;padding-top:25px;border-top:1px solid var(--rule)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .draft-result[hidden]{display:none}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .draft-result h3{font-size:29px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .draft-result>p{margin-top:13px;font-size:15px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .draft-result pre{white-space:pre-wrap;overflow-wrap:anywhere;font:15px/1.6 var(--font-body),sans-serif;background:#ecd5b7;padding:18px;margin:17px 0 0}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .draft-actions{display:flex;flex-wrap:wrap;gap:22px;margin-top:15px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .draft-actions button{font-size:14px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .copy-status{min-height:23px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .site-footer{background:var(--rust);color:var(--paper);border-top:1px solid rgba(248,236,217,.4);padding-top:58px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .footer-upper{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:8%;padding-bottom:65px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .footer-thought>p{font:400 35px/1.15 var(--font-display),serif;letter-spacing:-.025em}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .footer-thought>a{display:inline-flex;align-items:center;gap:20px;font-size:14px;margin-top:26px;text-decoration:none}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .footer-thought>a svg{width:21px;height:21px;transform:rotate(-90deg)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .footer-upper nav{display:flex;flex-direction:column;gap:10px;padding-top:3px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .footer-upper nav h3{font:600 14px/1.5 var(--font-body),sans-serif;letter-spacing:0;margin-bottom:6px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .footer-upper nav a{font-size:14px;text-decoration:none;padding-block:3px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .footer-wordmark{font:500 clamp(70px,9vw,96px)/1.03 var(--font-display),serif;letter-spacing:-.04em;padding-bottom:24px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .footer-wordmark span:not(.fs-richtext){color:#e3af82}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .footer-bottom{border-top:1px solid rgba(248,236,217,.4);display:flex;justify-content:space-between;gap:20px;padding-top:21px;padding-bottom:25px;font-size:12px;line-height:1.5}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .site-footer a:focus-visible,[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .envelope-intro a:focus-visible{outline-color:var(--paper)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) dialog.mega-menu{max-width:calc(100vw - 80px);width:1280px;max-height:calc(100dvh - 70px);border:0;padding:0;background:var(--paper);color:var(--ink);box-shadow:4px 20px 70px rgba(57,30,15,.3);margin:auto}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .mega-menu::backdrop{background:rgba(59,34,23,.6)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 42px;border-bottom:1px solid var(--rule)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-top>.wordmark{font-size:32px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-top button{display:flex;align-items:center;gap:15px;background:transparent;border:0;padding:10px 0;font-size:15px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-top button svg{width:22px;height:22px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-body{display:grid;grid-template-columns:.9fr 1.1fr;gap:8%;padding:50px 55px 50px 42px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-invitation h2{font-size:65px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-invitation>p{margin-top:22px;max-width:350px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-samples{height:140px;display:flex;align-items:center;gap:0;margin:24px 0 12px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-samples svg{width:126px;height:130px;fill:currentColor;transform:rotate(-9deg);filter:drop-shadow(2px 5px 4px rgba(89,49,26,.13))}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-samples svg+svg{margin-left:-19px;transform:rotate(8deg)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-samples svg:last-child{transform:rotate(-5deg);margin-left:-12px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-links{display:grid;grid-template-columns:1fr 1fr;gap:34px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-links h3{font:500 16px/1.4 var(--font-body),sans-serif;letter-spacing:0;border-bottom:1px solid var(--ink);padding-bottom:16px;margin-bottom:6px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-links a{display:flex;flex-direction:column;gap:9px;text-decoration:none;padding:23px 0;border-bottom:1px solid var(--rule)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-links a span:not(.fs-richtext){font:500 25px/1.15 var(--font-display),serif;letter-spacing:-.025em}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-links a small{font-size:12px;line-height:1.5}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-bottom{display:flex;justify-content:space-between;gap:24px;padding:20px 42px;background:#e7cfb2;font-size:12px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .preloader{background:var(--clay)}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .kiln-intro{display:flex;flex-direction:column;align-items:center;color:var(--ink);gap:15px;padding:30px}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .kiln-intro>svg{width:160px;height:150px;transform:rotate(-7deg);filter:drop-shadow(3px 8px 7px rgba(89,49,26,.18))}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .kiln-intro>span:not(.fs-richtext){font:500 43px/1 var(--font-display),serif;letter-spacing:-.04em}
[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .kiln-intro>small{font-size:14px}
@media(hover:hover) and (pointer:fine){[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample:hover{transform:rotate(calc(var(--turn) - 2deg)) translateY(-7px)}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample:active{transform:rotate(var(--turn)) translateY(1px)}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .combination:hover .combination-art svg:first-child{transform:rotate(-15deg) translateX(-4px)}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .combination:hover .combination-art svg+svg{transform:rotate(14deg) translateX(4px)}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .button:hover svg,[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .text-link:hover svg,[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .combination:hover .combination-action svg{transform:translateX(4px)}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .button-rust:hover{background:var(--ink);border-color:var(--ink)}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .button-cream:hover{background:#e4cdb0}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .header-links a:hover,[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .footer-upper nav a:hover{text-decoration:underline}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-links a:hover span:not(.fs-richtext){color:var(--rust)}}
@media(min-width:1600px){[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-stage{height:850px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-oxide{height:400px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-ink{height:350px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-chalk{height:330px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-blush{height:390px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-sage{top:390px}}
@media(max-width:1150px){[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .page-width{width:calc(100% - 72px)}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .site-header{width:calc(100% - 72px);gap:20px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .preview-bar{padding-inline:36px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .header-links{display:none}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .header-actions{gap:22px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-stage{height:750px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-copy{width:65%}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-copy h1{font-size:74px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-copy p{font-size:19px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-invitation{font-size:14px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-oxide{right:2%;width:32%;height:335px;top:25px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-ink{height:285px;width:31%;bottom:49px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-chalk{height:278px;width:27%;left:36%;bottom:19px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-blush{height:320px;width:23%;right:0}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-sage{top:357px;left:35%;height:210px;width:21%}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-honey{top:322px;height:210px;width:21%}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-label{padding-inline:5px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-label strong{font-size:23px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-label>span:not(.fs-richtext){font-size:12px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .pairing-inner{gap:5%}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .pairing-objects{height:260px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .pairing-actions{align-items:flex-start;flex-direction:column;gap:9px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .room-spread{gap:4%;grid-template-columns:1.2fr .8fr}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .room-art{height:580px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .room-materials h3{font-size:34px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .room-materials>p{font-size:16px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .room-heading{gap:7%}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .finish-section{gap:5%}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .finish-art{height:500px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .light-control{align-items:flex-start;flex-direction:column;gap:12px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .envelope-letter{padding-inline:30px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .brief-form{padding:37px 34px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .form-row{gap:16px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-body{gap:6%;padding-right:42px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-invitation h2{font-size:55px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-links{gap:24px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-links a span:not(.fs-richtext){font-size:23px}}
@media(max-width:800px){[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .page-width{width:calc(100% - 44px)}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .site-header{width:calc(100% - 44px);padding:24px 0}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .wordmark{font-size:33px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .wordmark small{font-size:11px;margin-top:7px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .saved-link{font-size:0;gap:0}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .saved-link>span:not(.fs-richtext){font-size:13px;width:27px;height:28px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .header-actions{gap:18px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .menu-button{font-size:14px;gap:9px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .preview-bar{padding-inline:22px;gap:10px;font-size:11px;flex-wrap:wrap;min-height:39px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .preview-bar button{font-size:11px;padding:6px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .preview-bar>span:not(.fs-richtext){display:none}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .preview-bar a{font-size:11px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter{padding-top:30px;padding-bottom:20px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-stage{height:1080px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-copy{top:0;width:100%}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-copy h1{font-size:clamp(58px,8.8vw,74px);max-width:640px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-copy p{font-size:19px;margin-top:22px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-invitation{margin-top:18px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-oxide{top:310px;right:0;width:47%;height:300px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-ink{top:445px;bottom:auto;left:-1%;width:47%;height:260px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-chalk{bottom:22px;left:0;width:46%;height:280px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-blush{bottom:48px;right:1%;width:40%;height:340px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-sage{top:735px;left:1%;width:31%;height:200px;display:none}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-honey{top:644px;right:7%;width:32%;height:218px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-sage{display:block;left:42%;top:545px;width:29%;height:190px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-ink .sample-label strong,[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-oxide .sample-label strong{font-size:25px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-label>span:not(.fs-richtext){font-size:12px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-caption{font-size:12px;bottom:-7px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .pairing-inner{grid-template-columns:1fr;padding:65px 0 58px;gap:28px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .pairing-copy h2{font-size:51px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .pairing-copy p{max-width:530px;font-size:17px;margin-top:20px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .pairing-actions{flex-direction:row;align-items:center;gap:20px;margin-top:25px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .pairing-objects{height:260px;max-width:430px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .pairing-name{font-size:34px;margin-top:26px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .pairing-hint{font-size:12px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .section-space{padding-block:75px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .section-heading{grid-template-columns:1fr;gap:24px;margin-bottom:32px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .section-heading h2,[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .room-heading h2,[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .finish-notes h2{font-size:53px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .section-heading>p{font-size:18px;max-width:520px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .combination{grid-template-columns:140px 1fr;gap:20px;min-height:176px;padding:24px 0}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .combination-art{width:140px;height:118px;grid-row:1/3}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .combination-art svg{width:92px;height:105px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .combination-art svg+svg{left:48px;top:8px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .combination-copy{gap:8px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .combination-copy strong{font-size:31px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .combination-copy small{font-size:14px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .combination-action{justify-self:start;font-size:13px;gap:14px;padding:4px 0;grid-column:2}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .combination-action svg{width:19px;height:19px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .material-note{font-size:13px;margin-top:23px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .room-section{padding-block:75px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .room-heading{grid-template-columns:1fr;gap:25px;margin-bottom:32px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .room-heading p{font-size:18px;max-width:520px;padding:0}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .room-spread{grid-template-columns:1fr;gap:38px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .room-art{height:auto;aspect-ratio:1.05}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .room-materials{padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 24px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .room-materials h3{font-size:35px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .room-materials>p{grid-column:1;font-size:17px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .material-stack{grid-column:2;grid-row:1/4;margin:0}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .room-materials>.text-link{grid-column:1;justify-self:start;font-size:14px;margin-top:25px;align-self:start}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .material-row{min-height:85px;gap:12px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .material-row svg{width:65px;height:65px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .material-row strong{font-size:22px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .stone-chip{width:54px;height:48px;margin:12px 5px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .joint-line{flex-direction:column;gap:3px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .finish-section{grid-template-columns:1fr;gap:48px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .finish-art-column{order:2;padding:0}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .finish-art{height:auto;aspect-ratio:1.25}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .finish-notes>p{font-size:18px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .notes-list{margin-top:25px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .light-control{flex-direction:row;align-items:center}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .light-control>span:not(.fs-richtext){font-size:13px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .envelope-section{padding-top:75px;padding-bottom:75px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .envelope-intro{grid-template-columns:1fr;gap:24px;margin-bottom:35px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .envelope-intro h2{font-size:53px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .envelope-intro>p{font-size:18px;padding:0}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .envelope{grid-template-columns:1fr}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .envelope-letter{min-height:340px;padding:28px 30px 62px;display:grid;grid-template-columns:1fr 1fr;gap:0 20px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .letter-heading{grid-column:1/-1;padding-bottom:15px;margin-bottom:25px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .envelope-pair{grid-column:2;grid-row:2/5;height:165px;margin:0}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .envelope-pair svg{width:67%;height:160px;left:-3%}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .envelope-pair svg+svg{left:36%;top:12px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .envelope-letter h3{font-size:37px;position:relative;z-index:2}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .envelope-letter>p{font-size:15px;margin-top:15px;max-width:230px;position:relative;z-index:2}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .envelope-letter .letter-note{font-size:12px;margin-top:15px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .envelope-fold{height:80px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .brief-form{padding:35px 30px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .footer-upper{grid-template-columns:1fr 1fr;gap:35px 28px;padding-bottom:45px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .footer-thought{grid-column:1/-1}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .footer-thought>p{font-size:34px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .footer-thought>a{margin-top:20px;font-size:14px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .footer-wordmark{font-size:80px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .footer-bottom{flex-wrap:wrap;gap:8px 22px;font-size:11px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .footer-bottom span:not(.fs-richtext):last-child{margin-left:auto}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .mega-menu{width:calc(100vw - 30px);max-width:none;max-height:calc(100dvh - 30px)}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-top{padding:22px 25px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-body{grid-template-columns:1fr;padding:30px 25px;gap:32px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-invitation h2{font-size:48px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-invitation>p{font-size:17px;margin-top:15px;max-width:400px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-samples{position:absolute;right:30px;top:110px;max-width:175px;opacity:.8}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-samples svg{width:75px;height:90px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-invitation>.text-link{margin-top:20px;font-size:14px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-links{gap:24px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-links a{padding:18px 0}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-links a span:not(.fs-richtext){font-size:22px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-links a small{font-size:12px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-bottom{padding:17px 25px;flex-direction:column;gap:6px;font-size:11px}}
@media(max-width:480px){[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]){font-size:17px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .page-width{width:calc(100% - 36px)}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .site-header{width:calc(100% - 36px);gap:10px;padding:22px 0}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .wordmark{font-size:30px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .header-actions{gap:12px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .menu-button{font-size:0;gap:0;width:32px;height:44px;justify-content:center;border-bottom:0}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .menu-button svg{width:24px;height:24px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .saved-link>span:not(.fs-richtext){width:25px;height:27px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .preview-bar{padding-inline:18px;gap:8px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .preview-bar button{padding:6px 4px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter{padding-top:25px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-stage{height:1048px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-copy h1{font-size:54px;letter-spacing:-.04em;line-height:1.05}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-copy p{font-size:17px;line-height:1.55;margin-top:18px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-invitation{font-size:13px;gap:12px;margin-top:19px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-invitation svg{width:18px;height:18px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-label{padding-inline:4px;grid-template-columns:1fr 22px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-label strong{font-size:22px!important}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-label>span:not(.fs-richtext){font-size:11px!important;max-width:125px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-label i{width:23px;height:23px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-label i svg{width:16px;height:16px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample>svg{height:calc(100% - 59px)}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-oxide{top:287px;right:-1%;width:56%;height:257px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-ink{top:430px;left:-2%;width:54%;height:225px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-sage{top:600px;left:47%;width:44%;height:192px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-honey{top:709px;right:-1%;width:45%;height:205px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-chalk{bottom:43px;left:-1%;width:50%;height:237px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-blush{top:487px;right:-1%;bottom:auto;width:36%;height:238px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-sage{top:656px;left:-1%;width:38%;height:175px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-honey{top:826px;right:-1%;width:46%;height:194px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-chalk{bottom:51px;left:-2%;width:54%;height:235px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-blush{top:548px;right:0;width:44%;height:266px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-sage{top:665px;left:4%;width:39%;height:179px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-caption{font-size:11px;bottom:0}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .pairing-section{margin-top:15px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .pairing-inner{padding-block:53px 48px;gap:35px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .pairing-copy h2{font-size:43px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .pairing-copy p{font-size:17px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .pairing-actions{gap:13px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .button{font-size:14px;padding:12px 16px;gap:16px;min-height:50px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .quiet-button{font-size:13px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .pairing-objects{height:223px;max-width:350px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .pairing-name{font-size:31px;margin-top:25px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .pairing-hint{font-size:11px;max-width:300px;margin-inline:auto}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .section-space{padding-block:60px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .section-heading h2,[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .room-heading h2,[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .finish-notes h2{font-size:45px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .section-heading>p,[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .room-heading p{font-size:17px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .combination{grid-template-columns:104px 1fr;gap:6px 18px;min-height:155px;padding:24px 0}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .combination-art{width:107px;height:100px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .combination-art svg{width:75px;height:90px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .combination-art svg+svg{left:33px;top:8px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .combination-copy strong{font-size:27px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .combination-copy small{font-size:12px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .combination-action{font-size:12px;padding:3px 0;gap:12px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .combination-action svg{width:17px;height:17px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .material-note{font-size:12px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .room-section{padding-block:60px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .room-art{aspect-ratio:.95}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .room-spread{gap:32px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .room-materials{grid-template-columns:1fr;gap:0}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .room-materials h3{font-size:35px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .room-materials>p{font-size:17px;max-width:330px;margin-top:19px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .material-stack{grid-row:auto;grid-column:1;margin-top:25px;display:grid;grid-template-columns:1fr 1fr;gap:0 20px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .material-row{gap:9px;min-height:90px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .material-row svg{width:54px;height:62px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .material-row strong{font-size:21px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .material-row small{font-size:11px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .material-row-support{grid-column:1}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .stone-chip{width:44px;height:45px;margin:14px 5px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .joint-line{grid-column:2;justify-content:center;align-self:center;margin-top:11px;padding-top:11px;font-size:10px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .room-materials>.text-link{margin-top:23px;font-size:14px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .finish-section{gap:34px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .finish-notes>p{font-size:17px;margin-top:21px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .notes-list{margin-top:27px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) summary{font-size:17px;padding:20px 0;gap:16px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) details>p{font-size:15px;padding-right:12px;padding-bottom:22px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .finish-art{aspect-ratio:1.05}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .light-control{align-items:flex-start;flex-direction:column;gap:12px;margin-top:20px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .light-control>span:not(.fs-richtext){font-size:14px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .light-control button{font-size:13px;padding:11px 21px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .light-note{font-size:12px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .envelope-section{padding-block:60px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .envelope-intro h2{font-size:45px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .envelope-intro>p{font-size:17px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .envelope-intro{gap:24px;margin-bottom:30px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .envelope-letter{padding:23px 24px 60px;min-height:340px;grid-template-columns:1.1fr .9fr;gap:0 8px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .letter-heading{font-size:9px;gap:10px;margin-bottom:25px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .letter-brand{font-size:24px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .envelope-letter h3{font-size:34px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .envelope-letter>p{font-size:14px;max-width:190px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .envelope-pair{height:155px;margin-top:11px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .envelope-pair svg{width:90%;height:130px;left:-9%}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .envelope-pair svg+svg{left:25%;top:52px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .envelope-letter .letter-note{font-size:11px;margin-top:16px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .brief-form{padding:29px 24px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .form-row{grid-template-columns:1fr;gap:0}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .brief-form label{font-size:14px;gap:8px;margin-bottom:23px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .brief-form input,[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .brief-form select,[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .brief-form textarea{font-size:16px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .brief-form input[readonly]{font-size:25px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .brief-form textarea::placeholder{font-size:15px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .form-note{font-size:11px;line-height:1.5}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .site-footer{padding-top:42px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .footer-upper{gap:32px 20px;padding-bottom:40px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .footer-thought>p{font-size:31px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .footer-thought>a{font-size:13px;gap:13px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .footer-upper nav h3{font-size:13px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .footer-upper nav a{font-size:12px;line-height:1.5;min-height:28px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .footer-wordmark{font-size:65px;padding-bottom:20px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .footer-bottom{display:grid;grid-template-columns:1fr;gap:5px;font-size:10px;padding-block:18px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .footer-bottom span:not(.fs-richtext):last-child{margin-left:0}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-top{padding:18px 20px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-top>.wordmark{font-size:28px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-body{padding:25px 20px 30px;gap:29px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-invitation h2{font-size:43px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-invitation>p{font-size:16px;max-width:220px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-samples{right:20px;top:119px;width:125px;max-width:125px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-samples svg{width:58px;height:65px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-links{grid-template-columns:1fr;gap:28px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-links h3{font-size:14px;padding-bottom:12px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-links a{padding:16px 0;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:16px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-links a span:not(.fs-richtext){font-size:23px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-links a small{font-size:11px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-invitation>.text-link{font-size:13px;gap:10px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-bottom{padding-inline:20px}}
@media(min-width:801px){[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-stage{height:800px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-ink{left:0;top:430px;bottom:auto;width:26%;height:300px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-chalk{left:29%;top:505px;bottom:auto;width:22%;height:260px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-blush{left:55%;right:auto;top:480px;bottom:auto;width:18%;height:300px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-sage{top:290px;left:35%;width:17%;height:220px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-honey{top:430px;right:0;width:21%;height:240px}}
@media(max-width:800px){[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-stage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px 7%;height:auto;padding-bottom:38px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-copy{position:relative;left:auto;top:auto;grid-column:1/-1;margin-bottom:20px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:100%!important;max-width:310px;justify-self:center}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-oxide{height:320px;margin-top:0}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-ink{height:285px;margin-top:55px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-chalk{height:280px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-blush{height:340px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-sage{height:245px;display:block}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-honey{height:270px;margin-top:20px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-label>span:not(.fs-richtext){font-size:12px!important}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-caption{bottom:0}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) dialog.mega-menu{max-width:calc(100vw - 30px);max-height:calc(100dvh - 30px)}}
@media(max-width:480px){[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-stage{gap:23px 7%;padding-bottom:36px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-copy{margin-bottom:12px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-oxide{height:235px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-ink{height:215px;margin-top:38px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-chalk{height:215px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-blush{height:265px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-sage{height:195px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-honey{height:207px;margin-top:5px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-label>span:not(.fs-richtext){font-size:12px!important;line-height:1.3;max-width:125px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-label strong{font-size:22px!important}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-sage .sample-label>span:not(.fs-richtext),[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample-honey .sample-label>span:not(.fs-richtext){font-size:12px!important}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-caption{font-size:11px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .menu-button{width:44px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .directory-samples{display:none}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]){scroll-behavior:auto}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) *,[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) *:before,[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) *:after{animation:none!important;transition:none!important}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .sample:hover{transform:rotate(var(--turn))}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .preloader{display:none!important}}
@media(max-width:600px){[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .menu-button{font-size:14px!important;gap:9px!important;min-width:78px!important;padding-inline:8px!important}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .menu-button .menu-label{display:none}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .menu-button::before{content:"Menu";font-size:14px}[data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .menu-button svg{width:20px!important;height:20px!important}}

[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]){--paper:rgb(var(--c-paper));--ink:rgb(var(--c-ink-950));--rust:rgb(var(--c-accent));--cloud:#adc4cf;--warm:rgb(var(--c-paper-soft));--line:#a8b8a2;--body:"Atkinson Hyperlegible Next",sans-serif;--display:"Literata",serif;--ease:cubic-bezier(.16,1,.3,1)}
[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) *{box-sizing:border-box}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]){scroll-behavior:smooth;scroll-padding-top:32px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]){margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:18px;line-height:1.5;caret-color:var(--rust)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) button,[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) input,[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) select,[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) textarea{font:inherit}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) button,[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) a,[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) input,[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) select,[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) textarea{-webkit-tap-highlight-color:transparent}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) button,[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) a{touch-action:manipulation}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) a{color:inherit;text-underline-offset:5px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) button{color:inherit;cursor:pointer}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) button:disabled{cursor:default;opacity:.55}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) button:active,[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .button:active{transform:translateY(2px)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) :focus-visible{outline:3px solid var(--rust);outline-offset:5px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) ::selection{background:var(--rust);color:var(--warm)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) ::-webkit-scrollbar{width:10px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) ::-webkit-scrollbar-track{background:var(--paper)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) ::-webkit-scrollbar-thumb{background:var(--ink);border:2px solid var(--paper)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) img,[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) svg{display:block;max-width:100%}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) svg{stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) h1,[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) h2,[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) h3,[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) p{margin:0}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) h1,[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) h2,[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) h3{font-family:var(--display);font-weight:450;line-height:1.13;letter-spacing:-.035em;text-wrap:balance}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) h2{font-size:clamp(38px,4.8vw,67px)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) h3{font-size:31px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) p{text-wrap:pretty}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) button{border-radius:0}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) button:focus-visible,[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) input:focus-visible,[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) textarea:focus-visible,[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) select:focus-visible{outline-offset:3px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .skip-link{position:fixed;top:10px;left:10px;padding:12px 18px;background:var(--warm);z-index:100;transform:translateY(-150%)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .skip-link:focus{transform:translateY(0)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .site-header{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:21px 4.2%;min-height:100px;background:var(--paper);border-bottom:1px solid #284d3a30}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .brand{display:flex;align-items:center;gap:12px;flex-shrink:0;text-decoration:none;font:450 31px/1 var(--display);letter-spacing:-.045em}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .brand svg{width:41px;height:40px;stroke-width:1.4}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .brand i{font-weight:400}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .desktop-nav{display:flex;gap:27px;font-size:16px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .desktop-nav a{text-decoration:none;white-space:nowrap}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .header-actions{display:flex;align-items:center;gap:22px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .header-intro{font-size:16px;text-decoration:none}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .header-intro span:not(.fs-richtext){margin-left:12px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-button{display:flex;align-items:center;gap:17px;background:none;border:0;border-left:1px solid var(--line);padding:11px 0 11px 22px;font-size:16px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-button svg{width:25px;height:20px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .button{display:inline-flex;justify-content:space-between;align-items:center;gap:24px;min-height:52px;padding:14px 22px;text-decoration:none;font-weight:550;border:1px solid currentColor;transition:background .18s,color .18s,transform .18s}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .forest-button{background:var(--ink);color:var(--warm);border-color:var(--ink)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .button span:not(.fs-richtext){font-size:24px;line-height:1}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .text-link{display:inline-flex;align-items:center;gap:18px;min-height:44px;font-weight:550;text-decoration:underline;text-decoration-thickness:1px;background:none;border:0;padding:0;text-align:left}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .text-link span:not(.fs-richtext){font-size:22px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .outdoors{position:relative;height:760px;min-height:690px;max-height:920px;overflow:hidden;background:#cfd9c8}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 53%}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-sky{position:absolute;inset:0;background:linear-gradient(180deg,rgba(247,244,233,.12),transparent 68%),linear-gradient(90deg,transparent 43%,rgba(247,244,233,.65) 70%,rgba(247,244,233,.18));pointer-events:none}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-copy{position:relative;z-index:1;margin-left:54%;padding:62px 5% 0 0}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-copy h1{font-size:clamp(52px,6.5vw,91px);line-height:1.06;max-width:580px;font-weight:450}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-copy p{font-size:21px;margin:25px 0 27px;line-height:1.5;max-width:380px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-copy .button{font-size:17px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .scene-margin{position:absolute;left:4.3%;bottom:73px;display:flex;gap:18px;align-items:center;color:var(--warm);text-shadow:0 2px 12px #12211780}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .scene-margin span:not(.fs-richtext){font-size:15px;letter-spacing:.05em}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .scene-margin svg{height:45px;width:20px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-note{position:absolute;right:5.8%;bottom:62px;background:var(--warm);width:267px;padding:25px 26px 21px;transform:rotate(3deg);box-shadow:4px 12px 24px #1b332d2b;border:1px solid #284d3a22}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .note-pin{width:7px;height:7px;border-radius:50%;background:var(--rust);position:absolute;top:9px;left:calc(50% - 3px)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .note-label{font-size:13px;letter-spacing:.07em;text-transform:uppercase}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-note p{font:450 25px/1.35 var(--display);margin:11px 0 15px;letter-spacing:-.025em}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .note-rule{height:1px;background:#284d3a40;margin-bottom:12px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-note>span:not(.fs-richtext):last-child{font-size:14px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .scene-caption{position:absolute;bottom:16px;left:4.3%;font-size:12px;color:#fff9ec;text-shadow:0 1px 5px #172a20}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .guide-body{position:relative}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .section-wrap{width:min(1220px,88%);margin:auto}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .route-spine{position:absolute;left:max(2.7%,calc((100% - 1320px)/2));top:0;bottom:0;border-left:1px dashed var(--rust);opacity:.6}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .spine-start{position:absolute;left:-4px;top:0;width:7px;height:7px;background:var(--rust);border-radius:50%}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .route-stop{position:relative}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .route-stop::before{position:absolute;left:calc((100% - 100vw)/2 + max(2.7vw,calc((100vw - 1320px)/2)) - 4px);top:116px;content:"";width:9px;height:9px;border:2px solid var(--rust);background:var(--paper);border-radius:50%}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-section{padding:104px 0 113px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .section-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:60px;margin-bottom:55px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .section-heading p{max-width:440px;padding-bottom:4px;font-size:20px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-directory{display:grid;grid-template-columns:.95fr 1.05fr;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-options{display:grid;grid-template-columns:1fr 1fr;border-right:1px solid var(--ink)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-option{display:flex;flex-direction:column;align-items:flex-start;text-align:left;border:0;background:transparent;padding:37px 28px 24px;position:relative;min-height:353px;transition:background .2s,color .2s}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-option:first-child{border-right:1px solid var(--line)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-option svg{height:48px;width:46px;stroke-width:1.5;margin-bottom:36px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-option>span:not(.fs-richtext):not(.option-arrow){font:450 26px/1.25 var(--display);letter-spacing:-.03em}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-option small{font-size:16px;line-height:1.4;margin-top:19px;max-width:150px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-option .option-arrow{position:absolute;right:20px;bottom:20px;font-size:27px;transition:transform .2s}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-option.is-active{background:var(--ink);color:var(--warm)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-option.is-active .option-arrow{transform:rotate(45deg)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-detail{padding:31px 38px 36px;position:relative;background:#eff2e9;transition:opacity .15s}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-detail.is-changing{opacity:.3}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .detail-tab{display:inline-block;color:var(--warm);background:var(--rust);font-size:14px;padding:4px 10px;margin-bottom:20px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-detail h3{font-size:31px;margin-bottom:18px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-detail>p{font-size:17px;max-width:460px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-detail dl{margin:25px 0 20px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-detail dl>div{display:grid;grid-template-columns:134px 1fr;gap:15px;padding:12px 0;border-top:1px solid var(--line);font-size:16px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-detail dt{font-weight:600}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-detail dd{margin:0}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-detail .text-link{font-size:17px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-section{background:var(--cloud);padding:85px 0 70px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-section::before,[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .intro-section::before{left:calc(max(2.7vw,calc((100vw - 1320px)/2)) - 4px);background:var(--cloud)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-heading{display:flex;justify-content:space-between;align-items:end;gap:45px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-heading p{font-size:19px;max-width:440px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-field{position:relative;margin-top:50px;padding:36px 0 66px;min-height:390px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-route{position:absolute;inset:14px 0 0;width:100%;height:320px;stroke-width:1.5}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .route-under{stroke:#e8eee370;stroke-width:18}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .route-line{stroke:var(--ink);stroke-dasharray:6 9}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .route-dot circle:first-child{fill:var(--cloud);stroke:var(--ink);stroke-width:1.5}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .route-dot circle:last-child{fill:var(--ink);stroke:none}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .route-dot{transition:color .2s}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-field[data-active="pace"] .route-dot-one circle:first-child,[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-field:not([data-active]) .route-dot-one circle:first-child,[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-field[data-active="route"] .route-dot-two circle:first-child,[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-field[data-active="settle"] .route-dot-three circle:first-child{fill:var(--rust);stroke:var(--rust)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-field[data-active="pace"] .route-dot-one circle:last-child,[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-field:not([data-active]) .route-dot-one circle:last-child,[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-field[data-active="route"] .route-dot-two circle:last-child,[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-field[data-active="settle"] .route-dot-three circle:last-child{fill:var(--warm)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-stops{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:90px;padding:0 2.8%}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-stop{background:var(--cloud);border:0;text-align:left;padding:8px 15px 14px;position:relative;min-width:0;max-width:270px;align-self:start;transition:background .2s,transform .2s}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-stop:nth-child(1){margin-top:96px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-stop:nth-child(2){margin-top:0}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-stop:nth-child(3){margin-top:164px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .stop-time{display:block;font-size:14px;margin-bottom:12px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-stop strong{display:block;font:450 33px/1.15 var(--display);letter-spacing:-.035em}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-stop>span:not(.fs-richtext):not(.stop-time){display:block;font-size:17px;margin-top:15px;line-height:1.35}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-stop i{display:block;font-size:14px;font-style:normal;margin-top:19px;text-decoration:underline;text-underline-offset:4px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-stop.is-active{background:var(--warm);box-shadow:2px 7px 17px #284d3a16;transform:rotate(-2deg)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-stop.is-active i{color:#914422}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-note{display:flex;align-items:center;gap:23px;margin-top:15px;padding-top:28px;border-top:1px solid #284d3a60}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-note>svg{width:50px;height:50px;flex:none;stroke-width:1.3}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-note>div{max-width:690px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-note>div>span:not(.fs-richtext){font-size:14px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-note p{font-size:19px;margin-top:5px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-note .text-link{margin-left:auto;white-space:nowrap;font-size:16px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .meet-section{display:grid;grid-template-columns:1fr .95fr;gap:10%;padding:110px 0}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .meet-copy{padding-top:25px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .meet-copy h2{margin-bottom:28px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .meet-copy>p{max-width:420px;margin-bottom:17px;font-size:19px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .meet-copy .text-link{margin-top:17px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .meeting-sheet{background:var(--warm);padding:35px 42px 24px;box-shadow:4px 12px 30px #284d3a12;transform:rotate(1.5deg);position:relative;border-top:1px solid #d6dacb}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .meeting-sheet::before{content:"";position:absolute;width:105px;height:24px;background:#cbd5bd95;top:-11px;left:calc(50% - 52px);transform:rotate(-4deg)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .sheet-top{display:flex;align-items:center;justify-content:space-between;font-size:14px;margin-bottom:25px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .sheet-top svg{width:29px;height:29px;stroke-width:1.3}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .meeting-sheet h3{font-size:37px;margin-bottom:27px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .meeting-sheet ul{list-style:none;padding:0;margin:0}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .meeting-sheet li{padding:16px 0;border-top:1px solid var(--line)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .meeting-sheet li>span:not(.fs-richtext){font-size:17px;font-weight:600}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .meeting-sheet li p{font-size:17px;margin-top:5px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .sheet-foot{border-top:1px solid var(--line);padding-top:19px;font-size:14px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .intro-section{background:#dbe3d3;padding:92px 0}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .intro-section::before{background:#dbe3d3}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .intro-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:9%}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .intro-copy h2{font-size:clamp(40px,4.8vw,64px);margin-bottom:25px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .intro-copy>p{font-size:19px;max-width:380px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .fold-note{display:flex;align-items:center;gap:20px;margin:50px 0 40px;transform:rotate(-3deg)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .fold-note svg{width:95px;height:70px;stroke-width:1.2}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .fold-note p{font:450 24px/1.3 var(--display);letter-spacing:-.03em}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .intro-copy .local-note{font-size:15px;max-width:320px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .intro-form-wrap{border-top:1px solid var(--ink);padding-top:27px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) label{display:block;font-size:17px;margin-bottom:25px;font-weight:550}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) input,[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) select,[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) textarea{display:block;width:100%;border:0;border-bottom:1px solid #607c63;background:#edf0e6;padding:13px 12px;color:var(--ink);min-height:50px;margin-top:10px;border-radius:0;font-size:17px;font-weight:400;box-shadow:none}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) input::placeholder,[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) textarea::placeholder{color:#4c6652;opacity:1}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) textarea{resize:vertical;line-height:1.5;min-height:142px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) select{padding-right:30px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) input:user-invalid{border-bottom-color:var(--rust)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .selected-detail{display:grid;grid-template-columns:1fr auto;border-top:1px solid var(--line);padding-top:16px;margin-top:1px;margin-bottom:27px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .selected-detail>span:not(.fs-richtext){font-size:13px;grid-column:1/-1;margin-bottom:5px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .selected-detail p{font-size:17px;font-weight:550}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .selected-detail button{border:0;border-bottom:1px solid var(--ink);padding:0;background:none;font-size:14px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .selected-detail.is-empty p{font-weight:400}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .form-submit{width:100%;font-size:17px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .form-help{font-size:14px;margin-top:14px;max-width:490px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .notes-result{margin-top:30px;padding:28px;background:var(--warm);border:1px solid var(--ink);position:relative}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .notes-result[hidden]{display:none}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .result-head{display:flex;justify-content:space-between;gap:20px;align-items:start}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .result-head h3{font-size:28px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .result-head span:not(.fs-richtext){font-size:29px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .notes-result>p[data-gp-id="result-summary"]{font-size:20px;margin-top:18px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .notes-result dl{margin:21px 0}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .notes-result dl>div{display:grid;grid-template-columns:125px 1fr;gap:18px;border-top:1px solid var(--line);padding:10px 0;font-size:17px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .notes-result dd{margin:0}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .notes-result dt{font-weight:550}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .result-body{font-size:17px;margin-top:14px;white-space:pre-wrap}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .result-actions{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);margin-top:25px;padding-top:14px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .result-actions .text-link{font-size:16px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .copy-status{font-size:14px;min-height:21px;margin-top:8px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .questions-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:9%;padding:100px 0 111px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .questions-section>div>p{margin-top:24px;font-size:19px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .questions-list{border-top:1px solid var(--ink)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) details{border-bottom:1px solid var(--line)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) summary{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:81px;cursor:pointer;list-style:none;font-size:20px;font-weight:500}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) summary::-webkit-details-marker{display:none}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) summary svg{width:22px;height:22px;flex:none;transition:transform .2s}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) details[open] summary svg{transform:rotate(45deg)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) details p{font-size:18px;max-width:550px;padding:0 30px 25px 0}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .homecoming{background:var(--ink);color:var(--paper);padding:71px 6% 105px;position:relative}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .footer-top{position:relative;max-width:1220px;margin:auto;text-align:center;padding:0 0 66px;border-bottom:1px solid #e8eee350}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .home-mark{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:27px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .home-mark svg{width:138px;height:110px;stroke-width:1.3}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .home-mark span:not(.fs-richtext){font-size:16px;align-self:end;padding-bottom:26px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .footer-route{stroke:var(--cloud);stroke-dasharray:4 7}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .footer-top h2{font-size:clamp(39px,5.1vw,71px);margin-bottom:34px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .light-button{color:var(--ink);background:var(--paper);border-color:var(--paper)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .footer-directory{display:grid;grid-template-columns:1.4fr 1fr 1fr .7fr;gap:45px;max-width:1220px;margin:48px auto 45px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .footer-brand{font-size:33px;align-self:start}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .footer-directory h3{font:550 16px/1.5 var(--body);letter-spacing:0;margin-bottom:18px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .footer-directory>div>a{display:block;font-size:17px;text-decoration:none;margin:7px 0;min-height:30px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .footer-directory>p{font:450 26px/1.35 var(--display);letter-spacing:-.03em}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:35px;max-width:1220px;margin:auto;border-top:1px solid #e8eee350;padding-top:20px;font-size:13px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .footer-bottom span:not(.fs-richtext):last-child{text-align:right;max-width:510px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .preview-bar{font-family:var(--body);font-size:12px;background:var(--warm);color:var(--ink)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .preview-bar button{font-size:12px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .preloader{background:var(--paper);color:var(--ink)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .intro-mark{display:flex;flex-direction:column;align-items:center}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .intro-mark svg{width:100px;height:75px;stroke-width:1.7;margin-bottom:20px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .intro-mark svg circle{fill:var(--rust);stroke:none}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .intro-mark>span:not(.fs-richtext){font:450 34px var(--display);letter-spacing:-.04em}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .intro-mark small{margin-top:11px;font-size:15px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .intro-route{stroke-dasharray:150;stroke-dashoffset:150;animation:var(--fs-anim-gpAccent, gp-field-draw-route) .75s var(--ease) }[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .mega-menu{padding:0;border:1px solid var(--ink);background:var(--warm);color:var(--ink);width:min(1160px,92vw);max-height:90vh;box-shadow:4px 18px 55px #142b2550}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .mega-menu::backdrop{background:#183529b5;backdrop-filter:blur(3px)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-top{display:flex;align-items:center;justify-content:space-between;padding:25px 37px;border-bottom:1px solid var(--ink)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-close{border:0;background:none;display:flex;align-items:center;gap:22px;min-height:44px;font-size:16px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-close span:not(.fs-richtext){font-size:32px;font-weight:300}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-layout{display:grid;grid-template-columns:.88fr 1.12fr;min-height:510px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-cover{padding:45px 37px 31px;background:var(--cloud);border-right:1px solid var(--ink)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-cover h2{font-size:47px;line-height:1.13}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-cover>p{font-size:18px;margin-top:22px;max-width:290px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-map{width:300px;height:170px;margin:14px 0 0;stroke-width:1.6}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .map-route{stroke-dasharray:5 8;stroke:var(--rust)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .map-house,[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .map-tree{stroke-width:1.5}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-map circle{fill:var(--warm);stroke:var(--ink)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-cover-note{font-size:14px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-directory{display:grid;grid-template-columns:1fr 1fr;gap:38px 30px;padding:49px 37px 31px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-group h3{font:600 16px/1.5 var(--body);letter-spacing:0;margin-bottom:21px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-group>a{display:flex;align-items:center;justify-content:space-between;gap:10px;text-decoration:none;font-size:20px;line-height:1.3;padding:12px 0;border-bottom:1px solid var(--line);min-height:61px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-group>a span:not(.fs-richtext){font-size:22px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-end{grid-column:1/-1;display:flex;align-items:end;justify-content:space-between;gap:20px;border-top:1px solid var(--ink);padding-top:25px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-end p{font:450 23px/1.4 var(--display);letter-spacing:-.025em}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-end .text-link{font-size:15px;max-width:150px}
@keyframes gp-field-draw-route{to{stroke-dashoffset:0}}
@media(hover:hover) and (pointer:fine){[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .desktop-nav a:hover,[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .header-intro:hover,[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .footer-directory a:hover{text-decoration:underline}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-button:hover svg{transform:translateX(3px)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .forest-button:hover{background:#3d624a}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .light-button:hover{background:var(--cloud)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-option:not(.is-active):hover{background:#dce5d4}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-stop:not(.is-active):hover{background:#c0d1d6;transform:translateY(-3px)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .text-link:hover{color:#914422}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .homecoming .text-link:hover{color:var(--cloud)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-group>a:hover{color:#914422}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-close:hover span:not(.fs-richtext){transform:rotate(90deg)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-close span:not(.fs-richtext),[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-button svg{transition:transform .2s var(--ease)}}
@media(min-width:1600px){[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .outdoors{height:850px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-copy{padding-top:85px;margin-left:55%}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-scene{object-position:center 56%}}
@media(max-width:1190px){[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .desktop-nav{display:none}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .site-header{padding:19px 4%}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .header-actions{gap:20px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .outdoors{height:740px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-copy{margin-left:51%;padding-top:70px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-copy h1{font-size:75px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-note{right:6%;bottom:59px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .section-wrap{width:87%}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-options{grid-template-columns:1fr}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-option{min-height:185px;padding:25px 24px 22px 90px;justify-content:center}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-option svg{position:absolute;left:25px;top:30px;width:38px;height:40px;margin:0}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-option:first-child{border-right:0;border-bottom:1px solid var(--line)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-option>span:not(.fs-richtext):not(.option-arrow){font-size:27px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-option>span:not(.fs-richtext) br{display:none}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-option small{max-width:none;margin-top:10px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-directory{grid-template-columns:.9fr 1.1fr}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-detail{padding:27px 29px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-detail dl>div{grid-template-columns:113px 1fr;font-size:15px;gap:12px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-stops{gap:45px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-stop strong{font-size:29px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .meet-section{gap:7%}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .meeting-sheet{padding:32px 30px 25px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .intro-layout,[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .questions-section{gap:6%}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .footer-directory{gap:28px;grid-template-columns:1.2fr 1fr 1fr}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .footer-directory>p{display:none}}
@media(max-width:800px){[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .site-header{min-height:83px;padding:17px 5%;gap:15px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .brand{font-size:27px;gap:8px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .brand svg{width:33px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .header-intro{display:none}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-button{border-left:0;font-size:15px;padding-left:0;gap:13px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-button svg{width:23px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .outdoors{height:810px;min-height:0}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-scene{object-position:35% center}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-sky{background:linear-gradient(180deg,rgba(247,244,233,.96) 0%,rgba(247,244,233,.88) 25%,rgba(247,244,233,.15) 55%,transparent 75%)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-copy{margin:0;padding:38px 7% 0;max-width:560px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-copy h1{font-size:66px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-copy p{font-size:19px;margin:21px 0 23px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-copy .button{font-size:16px;padding:12px 18px;min-height:49px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-note{width:229px;right:6%;bottom:45px;padding:20px 21px 18px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-note p{font-size:23px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-note>span:not(.fs-richtext):last-child{font-size:13px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .note-label{font-size:12px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .scene-margin{display:none}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .scene-caption{font-size:10px;left:5%;bottom:10px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .section-wrap{width:85%}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .route-spine{left:3%}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .route-stop::before{left:calc((100% - 100vw)/2 + 3vw - 4px);top:85px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-section{padding:73px 0 78px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .section-heading{gap:25px;margin-bottom:34px;grid-template-columns:1fr}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .section-heading p{font-size:18px;max-width:440px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-directory{grid-template-columns:1fr}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-options{grid-template-columns:1fr 1fr;border-right:0;border-bottom:1px solid var(--ink)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-option{padding:24px 22px;min-height:244px;justify-content:start}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-option:first-child{border-bottom:0;border-right:1px solid var(--line)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-option svg{position:static;margin-bottom:25px;width:37px;height:40px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-option>span:not(.fs-richtext):not(.option-arrow){font-size:24px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-option>span:not(.fs-richtext) br{display:initial}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-option small{font-size:15px;max-width:140px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-detail{padding:29px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-detail h3{font-size:32px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-detail dl>div{grid-template-columns:130px 1fr;font-size:16px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-section{padding:65px 0 48px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-section::before,[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .intro-section::before{left:calc(3vw - 4px)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-heading{display:block}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-heading p{font-size:18px;margin-top:24px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-field{margin-top:28px;min-height:0;padding:4px 0 15px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-route{width:34px;height:calc(100% - 50px);top:25px;left:2px;overflow:visible}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-route .route-under{display:none}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-route .route-line{d:path("M15 0C40 55 -5 80 15 135S40 208 15 270 10 320 15 340");stroke-width:2;stroke-dasharray:6 9;transform:scaleY(1)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-route .route-dot{display:none}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-stops{display:block;padding:0 0 0 45px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-stop{max-width:100%;width:100%;padding:20px 22px;margin-top:12px!important;display:grid;grid-template-columns:1.1fr 1fr;column-gap:20px;row-gap:5px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .stop-time{grid-column:1/-1;margin:0 0 7px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-stop strong{font-size:29px;grid-row:2/4}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-stop>span:not(.fs-richtext):not(.stop-time){font-size:16px;margin-top:0;align-self:center}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-stop i{font-size:13px;margin-top:10px;grid-column:2}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-stop.is-active{transform:rotate(-1deg)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-note{gap:15px;flex-wrap:wrap;margin-top:15px;padding-top:23px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-note>svg{width:37px;height:40px;align-self:start}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-note>div{max-width:calc(100% - 52px)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-note p{font-size:17px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-note .text-link{margin-left:52px;font-size:15px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .meet-section{grid-template-columns:1fr;gap:49px;padding:73px 0 80px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .meet-copy{padding-top:0}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .meet-copy h2 br:nth-of-type(2){display:none}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .meet-copy>p{font-size:18px;max-width:560px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .meeting-sheet{max-width:550px;justify-self:center;width:100%;padding:30px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .meeting-sheet h3{font-size:36px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .intro-section{padding:67px 0}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .intro-layout{grid-template-columns:1fr;gap:36px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .intro-copy h2{font-size:43px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .intro-copy>p{font-size:18px;max-width:540px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .fold-note{margin:28px 0 22px;gap:17px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .fold-note svg{width:75px;height:58px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .fold-note p{font-size:22px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .intro-copy .local-note{max-width:500px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .intro-form-wrap{padding-top:26px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .questions-section{grid-template-columns:1fr;gap:31px;padding:72px 0 77px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .questions-section>div>p{font-size:18px;margin-top:17px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .questions-section>div>p br{display:none}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) summary{font-size:19px;min-height:77px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) details p{font-size:17px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .homecoming{padding:52px 7.5% 115px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .footer-top{padding-bottom:45px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .home-mark{margin-bottom:20px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .home-mark svg{width:113px;height:96px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .home-mark span:not(.fs-richtext){font-size:15px;padding-bottom:22px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .footer-top h2{font-size:41px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .footer-directory{grid-template-columns:1fr 1fr;gap:29px;margin:35px 0}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .footer-brand{grid-column:1/-1;font-size:31px;margin-bottom:5px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .footer-directory>div>a{font-size:16px;min-height:34px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .footer-directory h3{font-size:15px;margin-bottom:12px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .footer-bottom{display:block;font-size:12px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .footer-bottom>span:not(.fs-richtext){display:block}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .footer-bottom span:not(.fs-richtext):last-child{text-align:left;margin-top:10px;max-width:380px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .mega-menu{width:94vw;max-height:92vh}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-top{padding:15px 22px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-top .brand{font-size:26px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-close{font-size:14px;gap:14px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-layout{grid-template-columns:1fr}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-cover{padding:25px 24px 21px;border-right:0;border-bottom:1px solid var(--ink);position:relative;overflow:hidden}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-cover h2{font-size:36px;max-width:270px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-cover>p{font-size:17px;max-width:250px;margin-top:14px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-map{position:absolute;right:-11px;bottom:4px;width:200px;height:140px;opacity:.55}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-cover-note{display:none}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-directory{padding:27px 24px;gap:25px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-group h3{font-size:15px;margin-bottom:12px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-group>a{font-size:17px;min-height:57px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-end{padding-top:20px;gap:17px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-end p{font-size:21px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-end .text-link{font-size:14px}}
@media(max-width:480px){[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]){font-size:17px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .site-header{padding:14px 5%;min-height:77px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .brand{font-size:24px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .brand svg{width:30px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-button{font-size:14px;gap:10px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-button svg{width:21px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .outdoors{height:803px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-copy{padding:34px 7.5% 0}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-copy h1{font-size:53px;line-height:1.11;letter-spacing:-.035em}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-copy p{font-size:18px;margin:19px 0 23px;line-height:1.5}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-scene{object-position:35% center}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-sky{background:linear-gradient(180deg,#f7f4e9e6 0%,#f7f4e9d9 28%,#f7f4e920 53%,transparent 72%)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-copy .button{font-size:16px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-note{right:7%;bottom:42px;width:212px;padding:21px 20px 17px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-note p{font-size:22px;margin:9px 0 12px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .note-rule{margin-bottom:10px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-note>span:not(.fs-richtext):last-child{font-size:12px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .note-label{font-size:11px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .scene-caption{max-width:230px;line-height:1.4;font-size:10px;bottom:8px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) h2{font-size:39px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .section-wrap{width:84%}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-section{padding:65px 0}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .section-heading{margin-bottom:29px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .section-heading p{font-size:18px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-option{padding:23px 17px;min-height:266px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-option svg{margin-bottom:23px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-option>span:not(.fs-richtext):not(.option-arrow){font-size:24px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-option small{font-size:15px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-option .option-arrow{font-size:23px;bottom:16px;right:16px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-detail{padding:27px 21px 29px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-detail h3{font-size:30px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-detail>p{font-size:17px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-detail dl>div{display:block;padding:12px 0;font-size:16px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-detail dd{margin-top:4px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-detail .text-link{font-size:16px;line-height:1.4}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .detail-tab{font-size:13px;margin-bottom:18px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-heading h2{font-size:38px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-heading p{font-size:17px;margin-top:20px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-heading p br{display:none}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-stops{padding-left:23px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-route{left:-10px;width:26px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-stop{padding:19px 17px;column-gap:14px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-stop strong{font-size:26px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-stop>span:not(.fs-richtext):not(.stop-time){font-size:15px;line-height:1.3}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-stop i{font-size:12px;margin-top:10px;line-height:1.4}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .stop-time{font-size:13px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-note>div>span:not(.fs-richtext){font-size:12px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-note p{font-size:17px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-note .text-link{font-size:15px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .meet-section{padding:65px 0 71px;gap:40px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .meet-copy h2{font-size:39px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .meet-copy h2 br:nth-of-type(2){display:initial}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .meet-copy .text-link{font-size:16px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .meeting-sheet{padding:27px 24px 23px;transform:rotate(1deg)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .sheet-top{font-size:13px;margin-bottom:21px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .meeting-sheet h3{font-size:32px;margin-bottom:23px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .meeting-sheet li p{font-size:17px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .sheet-foot{font-size:13px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .intro-copy h2{font-size:39px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .intro-copy>p{font-size:18px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .intro-layout{gap:28px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .fold-note{margin:24px 0}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .intro-copy .local-note{font-size:15px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .form-row{grid-template-columns:1fr;gap:0}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) label{font-size:17px;margin-bottom:22px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) input,[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) select,[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) textarea{font-size:17px;padding:13px 11px;margin-top:8px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .selected-detail{grid-template-columns:1fr;gap:6px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .selected-detail>span:not(.fs-richtext){font-size:13px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .selected-detail p{font-size:17px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .selected-detail button{justify-self:start;font-size:14px;min-height:33px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .form-submit{font-size:16px;padding:13px 16px;gap:10px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .form-help{font-size:14px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .notes-result{padding:23px 20px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .result-head h3{font-size:27px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .notes-result dl>div{grid-template-columns:105px 1fr;gap:10px;font-size:16px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .result-actions{flex-wrap:wrap;gap:0}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .result-actions .text-link{font-size:15px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .questions-section{padding:65px 0 72px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .questions-section h2{font-size:39px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) summary{font-size:18px;gap:15px;line-height:1.4;padding:18px 0;min-height:77px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) details p{font-size:17px;padding-right:0}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .footer-top h2{font-size:37px;line-height:1.15}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .home-mark{gap:10px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .home-mark svg{width:100px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .home-mark span:not(.fs-richtext){font-size:14px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .homecoming .button{font-size:16px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .footer-directory{gap:20px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .footer-directory h3{font-size:14px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .footer-directory>div>a{font-size:16px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-top{padding:12px 17px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-top .brand{font-size:24px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-close{font-size:13px;gap:11px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-close span:not(.fs-richtext){font-size:29px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-cover{padding:24px 21px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-cover h2{font-size:34px;max-width:260px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-cover>p{font-size:16px;max-width:240px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-map{width:140px;height:110px;right:-18px;bottom:3px;opacity:.3}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-directory{padding:23px 21px;gap:27px;grid-template-columns:1fr}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-group h3{font-size:14px;margin-bottom:8px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-group>a{font-size:20px;min-height:55px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-end{display:block;padding-top:22px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-end p{font-size:22px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .menu-end .text-link{font-size:16px;max-width:none;margin-top:14px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .intro-mark>span:not(.fs-richtext){font-size:31px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]){scroll-behavior:auto}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) *,[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) *::before,[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) *::after{animation:none!important;transition:none!important}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .intro-route{stroke-dashoffset:0}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-option.is-active .option-arrow{transform:none}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-stop.is-active{transform:none}}
[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-copy{margin-left:6%;padding:64px 0 0;max-width:650px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-sky{background:linear-gradient(90deg,#f7f4e9a8 0%,#f7f4e954 36%,transparent 58%)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"])[data-media="photo"] .hero-sky{background:linear-gradient(90deg,#f7f4e9f2 0%,#f7f4e9c9 31%,#f7f4e938 52%,transparent 72%)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-note{left:6%;right:auto;bottom:64px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .scene-margin{left:auto;right:5%;bottom:42px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-route-mobile{display:none}
@media(min-width:1600px){[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-copy{margin-left:6%;padding-top:78px;max-width:690px}}
@media(max-width:800px){[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-copy{margin-left:0;padding:38px 7% 0;max-width:560px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-scene{object-position:72% center}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"])[data-media="photo"] .hero-scene{object-position:38% center}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-sky,[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"])[data-media="photo"] .hero-sky{background:linear-gradient(180deg,#f7f4e9ef 0%,#f7f4e9db 29%,#f7f4e91a 53%,transparent 72%)}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-note{left:6%;right:auto;bottom:45px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-route{display:none}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-route-mobile{display:block;position:absolute;left:0;top:21px;width:28px;height:calc(100% - 48px);stroke:var(--ink);stroke-width:1.5;stroke-dasharray:5 8}}
@media(max-width:480px){[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-copy{padding:34px 7.5% 0;max-width:none}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-note{left:7%;bottom:42px}[data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .routine-route-mobile{left:-11px;width:26px}}

[data-gp-theme="slipstream"]:not([data-gp-premium="true"]){--ink:rgb(var(--c-paper));--paper:rgb(var(--c-ink-950));--lime:rgb(var(--c-brand-600));--blue:rgb(var(--c-accent));--muted:#b3c0bd;--line:#415056;--paper-line:#c8cdc3;--ease:cubic-bezier(.2,.8,.2,1)}
[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) *{box-sizing:border-box}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]){scroll-behavior:smooth;scroll-padding-top:30px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]){margin:0;background:var(--ink);color:var(--paper);font:400 18px/1.5 var(--font-body),sans-serif;-webkit-font-smoothing:antialiased}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) ::selection{background:var(--lime);color:var(--ink)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) button,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) input,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) select,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) textarea{font:inherit}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) button,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) a,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) label,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) summary{-webkit-tap-highlight-color:transparent}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) button{cursor:pointer}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) button:disabled{cursor:default;opacity:.45}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) button:active{transform:translateY(1px)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) button,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) a,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) input,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) select,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) textarea,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) summary{outline-offset:5px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) button:focus-visible,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) a:focus-visible,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) input:focus-visible,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) select:focus-visible,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) textarea:focus-visible,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) summary:focus-visible{outline:2px solid var(--blue)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) input,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) select,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) textarea{accent-color:var(--lime);caret-color:var(--ink)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) img{display:block;max-width:100%}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) p,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) h1,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) h2,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) h3,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) h4,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) figure,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) dl{margin:0}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) h1,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) h2,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) h3,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) h4{font-family:var(--font-display),sans-serif;font-weight:600;line-height:1.02;text-wrap:balance}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) h1{font-size:clamp(50px,4.6vw,76px);letter-spacing:-.025em}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) h2{font-size:clamp(42px,4vw,66px);letter-spacing:-.02em}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) h3{font-size:30px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) h4{font-size:23px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) small{font-size:15px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) a{text-decoration:none}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) button{border:0;border-radius:0}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) input[type=checkbox]{border-radius:0}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) button,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) summary,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) a{touch-action:manipulation}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) [hidden]{display:none!important}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .page-width{width:calc(100% - 88px);max-width:1512px;margin-inline:auto}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .section-space{padding-block:102px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .skip-link{position:fixed;top:-80px;left:20px;z-index:100;padding:14px 20px;background:var(--lime);color:var(--ink)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .skip-link:focus{top:16px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .button{min-height:52px;padding:14px 19px;display:inline-flex;align-items:center;justify-content:space-between;gap:20px;font-weight:600;line-height:1.3;text-align:left;transition:background .18s var(--ease),transform .18s var(--ease)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .lime{background:var(--lime);color:var(--ink)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .dark{background:var(--ink);color:var(--paper)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .text-button{display:inline-flex;gap:15px;align-items:center;justify-content:space-between;background:transparent;color:inherit;min-height:44px;padding:8px 0;text-align:left}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .text-button svg{width:20px;height:20px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .text-button:disabled{color:inherit}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:40px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .section-heading>p,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .section-heading>div{max-width:34ch}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .section-heading p{color:var(--muted)}
[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .preview-bar{min-height:48px;display:flex;align-items:center;gap:22px;padding:5px 28px;color:var(--paper);background:#263238;border-bottom:1px solid var(--line);font-size:14px;line-height:1.2}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .preview-bar>a{display:flex;align-items:center;gap:9px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .preview-bar>a svg{width:18px;height:18px;order:-1}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .preview-name{margin-right:auto;color:#d2d9d3}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .preview-bar [role=group]{display:flex;gap:2px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .preview-bar button{min-height:34px;padding:7px 10px;background:transparent;color:var(--paper);font-size:14px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .preview-bar button[aria-pressed=true]{background:var(--paper);color:var(--ink)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .preview-bar>button{border:1px solid #69787b}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .site-header{display:flex;align-items:center;justify-content:space-between;gap:30px;height:104px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .brand{display:inline-flex;align-items:center;gap:12px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .brand>svg{width:45px;height:38px;stroke-width:1.9;color:var(--lime)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .brand>span:not(.fs-richtext){font:600 40px/.8 var(--font-display),sans-serif;letter-spacing:.04em}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .brand small{display:block;font:400 12px/1 var(--font-body),sans-serif;letter-spacing:.28em;margin-top:10px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .header-links{display:flex;gap:42px;align-items:center;margin-left:auto;margin-right:32px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .header-links>a{display:flex;align-items:center;gap:10px;min-height:44px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .nav-count{font-variant-numeric:tabular-nums;color:var(--lime);font-size:14px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .desk-button{display:flex;align-items:center;gap:32px;background:transparent;color:var(--paper);border:1px solid #66767a;min-height:48px;padding:9px 16px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .desk-button svg{color:var(--lime)}
[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .vehicle-file{display:grid;grid-template-columns:minmax(0,2.15fr) minmax(300px,1fr);align-items:stretch;border:1px solid var(--line)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .vehicle-study{min-width:0;display:flex;flex-direction:column;background:#dfe4d9;color:var(--ink)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .study-heading{display:flex;gap:32px;align-items:flex-start;padding:32px 34px 0;position:relative;z-index:1}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .study-heading h1{flex:1}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .study-heading p{font-size:17px;line-height:1.45;max-width:20ch;padding-top:5px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .study-heading .file-mark{width:37px;height:37px;color:#506262;margin-top:2px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .hero-art{position:relative;flex:1;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;min-height:345px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .hero-art img{width:100%;height:100%;min-height:345px;max-height:480px;object-fit:cover;object-position:center 58%;mix-blend-mode:multiply}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .hero-art figcaption{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 34px 17px;background:#dfe4d9;font-size:13px;line-height:1.4}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .hero-art figcaption>span:not(.fs-richtext):first-child{font-size:12px;letter-spacing:.13em}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .study-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:20px 34px;border-top:1px solid #b8c3b7;font-size:15px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .study-footer>span:not(.fs-richtext){letter-spacing:.1em;font-size:12px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .study-footer a{display:flex;align-items:center;gap:20px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .spec-rail{background:var(--paper);color:var(--ink);display:flex;flex-direction:column;min-width:0}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .file-tab{display:flex;justify-content:space-between;gap:12px;padding:16px 27px;background:var(--lime);font-size:12px;letter-spacing:.08em;line-height:1.3}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .rail-main{padding:26px 28px 16px;flex:1}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .rail-main h2{font-size:clamp(40px,3.6vw,58px);letter-spacing:-.015em}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .vehicle-trim{color:#44595e;font-size:18px;margin-top:7px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .featured-price{font:600 46px/1.05 var(--font-display),sans-serif;margin-top:24px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .featured-price small{display:block;font:400 13px/1.4 var(--font-body),sans-serif;margin-top:4px;color:#4c5f63}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .spec-list{margin-top:24px;border-top:1px solid var(--paper-line);font-variant-numeric:tabular-nums}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .spec-list>div{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid var(--paper-line);font-size:16px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .spec-list dt{color:#43565b}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .spec-list dd{margin:0;font-weight:600;text-align:right}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .spec-list small{font-size:13px;font-weight:400}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .rail-history{display:flex;gap:12px;align-items:flex-start;margin:19px 0 21px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .rail-history svg{margin-top:1px;color:#4c6268}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .rail-history p{font-size:15px;line-height:1.35}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .rail-history small{display:block;color:#506369;font-size:12px;margin-top:3px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .rail-compare{width:100%}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .rail-compare[aria-pressed=true]{background:var(--ink);color:var(--lime)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .rail-compare[aria-pressed=true] svg{transform:rotate(45deg)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .rail-compare svg{transition:transform .18s var(--ease)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .rail-main>.text-button{width:100%;font-size:15px;margin-top:9px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .rail-note{font-size:12px;line-height:1.45;color:#506369;padding:16px 28px;border-top:1px solid var(--paper-line)}
[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .stock-finder{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .stock-finder label{padding:21px 24px 22px 0;margin-right:24px;border-right:1px solid var(--line);font-size:14px;color:var(--muted)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) select{appearance:none;border:0;border-bottom:1px solid currentColor;display:block;width:100%;color:inherit;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='12' viewBox='0 0 16 12'%3E%3Cpath d='m3 4 5 5 5-5' stroke='%23738b93' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") no-repeat right 4px center;padding:10px 25px 11px 0;border-radius:0;min-height:44px;font-size:18px;cursor:pointer}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) select option{background:var(--paper);color:var(--ink)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .stock-finder select{color:var(--paper);border-color:transparent;margin-top:2px;padding-bottom:0}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .reset-button{background:transparent;color:var(--paper);font-size:15px;display:flex;gap:18px;align-items:center;justify-content:center;padding:12px 0 12px 6px;min-width:146px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .reset-button svg{width:19px;height:19px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .stock-caption{display:flex;justify-content:space-between;gap:20px;margin-block:21px;font-size:13px;color:var(--muted)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .stock-caption>p:first-child{color:var(--lime)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .car-row{display:grid;grid-template-columns:1.3fr 1.4fr .64fr auto;align-items:center;gap:24px;padding:27px 24px 0;background:var(--paper);color:var(--ink);border-bottom:1px solid #b8c3b7;transition:background .18s var(--ease)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .car-row.is-selected{background:#e4e9d3}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .car-heading{display:flex;align-items:flex-start;gap:20px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .stock-code{font-size:12px;letter-spacing:.08em;color:#56676b;padding-top:7px;white-space:nowrap}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .car-heading h3{font-size:31px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .car-heading h3 small{font:400 16px/1.4 var(--font-body),sans-serif;display:block;color:#42595f;margin-top:6px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .car-facts{display:flex;gap:22px;font-variant-numeric:tabular-nums}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .car-facts dt{font-size:12px;color:#526368;margin-bottom:3px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .car-facts dd{font-size:16px;margin:0;white-space:nowrap}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .stock-price{font:600 34px/1.1 var(--font-display),sans-serif;white-space:nowrap}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .stock-price small{display:block;font:400 12px/1.4 var(--font-body),sans-serif;color:#4d6268;margin-top:5px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .compare-check,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .question-check{display:flex;align-items:center;gap:11px;position:relative;min-height:44px;cursor:pointer;font-size:15px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .compare-check input,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .question-check input{position:absolute;width:22px;height:22px;left:0;margin:0;opacity:0;cursor:pointer}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .check-drawing{border:1px solid #677b7d;width:22px;height:22px;display:grid;place-items:center;flex:none;transition:background .16s var(--ease),border-color .16s var(--ease)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .check-drawing svg{width:18px;height:18px;stroke-width:2;opacity:0;transform:scale(.7);transition:transform .16s var(--ease),opacity .16s var(--ease)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) input:checked+.check-drawing{background:var(--ink);border-color:var(--ink);color:var(--lime)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) input:checked+.check-drawing svg{opacity:1;transform:scale(1)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) input:focus-visible+.check-drawing{outline:2px solid var(--blue);outline-offset:4px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .car-record{grid-column:1/-1;border-top:1px solid var(--paper-line);margin-top:0}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .car-record summary{display:flex;align-items:center;justify-content:space-between;min-height:52px;font-size:14px;cursor:pointer;list-style:none;color:#3b535a}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .car-record summary::-webkit-details-marker,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .inspection-list summary::-webkit-details-marker{display:none}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .car-record summary svg{width:17px;height:17px;transition:transform .2s var(--ease)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .car-record[open] summary svg{transform:rotate(45deg)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .record-content{display:grid;grid-template-columns:1fr 1fr auto;align-items:start;gap:32px;padding:10px 0 27px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .record-content h4{font-size:22px;margin-bottom:9px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .record-content p{font-size:15px;max-width:35ch;color:#4b6166}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .record-content .text-button{font-size:15px;align-self:end}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .stock-empty{padding:45px;background:var(--paper);color:var(--ink);text-align:center}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .stock-empty h3{font-size:40px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .stock-empty p{margin-top:12px;color:#496067}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .stock-empty .button{margin-top:25px}
[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-section{background:#233238;border-top:1px solid #415056;border-bottom:1px solid #415056}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .compare-status{margin-top:18px;font-size:14px!important;color:var(--lime)!important;font-variant-numeric:tabular-nums}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison{background:var(--paper);color:var(--ink);min-width:0}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-empty{display:flex;align-items:center;gap:45px;padding:48px 50px;min-height:250px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-empty>svg{width:116px;height:90px;stroke:#607779;stroke-width:1.15}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-empty h3{font-size:36px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-empty p{color:#4d6167;max-width:58ch;margin-top:12px;font-size:17px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .quick-compare{display:flex;flex-wrap:wrap;gap:12px;margin-top:27px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .quick-compare button{display:flex;gap:30px;justify-content:space-between;align-items:center;min-height:44px;padding:8px 14px;background:transparent;color:var(--ink);border:1px solid #8a9b97;font-size:15px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .quick-compare span:not(.fs-richtext){font-size:21px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:17px;font-variant-numeric:tabular-nums}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table caption{text-align:left;background:#dbe1d3;color:#40565c;padding:14px 24px;font-size:13px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table th,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table td{text-align:left;padding:17px 24px;border-bottom:1px solid #c9d0c5;border-right:1px solid #c9d0c5;vertical-align:top}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table th:last-child,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table td:last-child{border-right:0}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table thead th{padding-block:25px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table thead th:first-child{font:400 14px/1.4 var(--font-body),sans-serif;color:#4a6065;vertical-align:bottom;width:19%}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .compare-car-head{display:flex;gap:12px;justify-content:space-between;align-items:flex-start}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .compare-car-head strong{font:600 31px/1.05 var(--font-display),sans-serif}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .compare-car-head small{display:block;font:400 14px/1.5 var(--font-body),sans-serif;color:#50666a;margin-top:8px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .compare-remove{min-height:36px;min-width:36px;display:grid;place-items:center;background:transparent;color:#4f6265;padding:0;margin-top:-6px;margin-right:-11px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .compare-remove svg{width:17px;height:17px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table tbody th{font-weight:400;color:#4a6065;font-size:14px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table tbody tr:first-child td{font:600 32px/1 var(--font-display),sans-serif}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table tbody tr:last-child td{font-size:14px;line-height:1.5}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table .table-visit td{border-bottom:0;padding-block:14px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .table-visit .text-button{font-size:14px;width:100%}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:22px;font-size:14px;color:#c0cdca}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-bottom .text-button{font-size:14px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison.is-updated{animation:var(--fs-anim-gpAccent, gp-slip-file-update) .22s var(--ease)}@keyframes gp-slip-file-update{from{opacity:.72;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .inspection-section{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:100px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .inspection-intro>p:first-of-type{color:var(--muted);max-width:37ch;margin-top:24px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .inspection-graphic{display:flex;align-items:center;gap:18px;margin:35px 0 18px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .inspection-graphic>svg{width:185px;height:150px;color:var(--blue);stroke-width:1.1}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .inspection-graphic span:not(.fs-richtext){font-size:12px;letter-spacing:.17em;writing-mode:vertical-rl;color:var(--blue)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .inspection-note{font-size:13px;color:var(--muted);max-width:38ch}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .inspection-instruction{font-size:14px;color:var(--muted);padding-bottom:21px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .inspection-list details{border-top:1px solid var(--line)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .inspection-list summary{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:92px;list-style:none;cursor:pointer;font:600 32px/1.1 var(--font-display),sans-serif}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .inspection-list summary>svg{width:20px;height:20px;color:var(--lime);transition:transform .18s var(--ease)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .inspection-list details[open] summary>svg{transform:rotate(45deg)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .inspection-detail{padding:0 40px 25px 0;color:#bccac7}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .inspection-detail>p{font-size:17px;max-width:54ch}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .question-check{margin-top:21px;color:var(--paper);font-size:15px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .question-check .check-drawing{border-color:rgb(var(--c-accent))}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .question-check input:checked+.check-drawing{background:var(--lime);border-color:var(--lime);color:var(--ink)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .questions-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:23px;font-size:14px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .questions-footer>span:not(.fs-richtext){color:var(--lime)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .questions-footer a{display:flex;align-items:center;gap:15px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .questions-footer svg{width:19px;height:19px}
[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .visit-section{background:var(--paper);color:var(--ink);border-top:7px solid var(--lime)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .visit-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:45px 90px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .visit-intro h2{font-size:clamp(55px,5vw,82px)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .visit-intro>p{max-width:35ch;color:#496169;margin-top:25px;font-size:19px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .visit-address{display:flex;align-items:flex-start;gap:14px;margin-top:47px;padding-top:24px;border-top:1px solid var(--paper-line);max-width:380px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .address-mark svg{width:29px;height:29px;color:#506a71}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .visit-address strong{font-weight:600;display:block}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .visit-address span:not(.fs-richtext):not(.address-mark){display:block;font-size:15px;color:#496169;margin-top:4px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .visit-address small{display:block;font-size:13px;color:#496169;margin-top:15px;max-width:30ch}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .visit-form{min-width:0}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .form-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid #647b7b;padding-bottom:18px;margin-bottom:21px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .form-heading h3{font-size:31px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .form-heading>span:not(.fs-richtext){font-size:12px;letter-spacing:.1em;color:#4e646b}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .visit-form>label,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .form-pair>label{display:block;font-size:14px;color:#435c62;margin-bottom:23px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .visit-form select{color:var(--ink);border-color:#9fafa7;margin-top:3px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .form-pair{display:grid;grid-template-columns:1fr 1fr;gap:25px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .visit-form textarea{display:block;width:100%;padding:13px;margin-top:9px;background:#e9ece2;border:1px solid #a6b3a8;border-radius:0;resize:vertical;min-height:100px;color:var(--ink);font-size:17px;line-height:1.5}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .visit-form textarea::placeholder{color:#52696d;opacity:1}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .form-questions{font-size:13px;color:#4e6569;margin-top:-6px;margin-bottom:23px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .visit-form>.button{width:100%}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .form-note{font-size:13px;color:#4e6569;line-height:1.4;margin-top:12px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .visit-note{grid-column:1/-1;position:relative;background:#dfe5d8;padding:26px 32px 50px;border:1px solid #b9c5b6;min-height:165px;scroll-margin-top:25px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .visit-note:before{content:"";position:absolute;top:-8px;right:32px;width:76px;height:8px;background:var(--ink)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .note-heading{display:flex;align-items:center;justify-content:space-between;gap:25px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .note-heading h3{font-size:31px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .note-heading svg{width:29px;height:29px;color:#536b6f}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .visit-note>p{font-size:16px;color:#4d6368;margin-top:13px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .note-bottom{position:absolute;bottom:15px;right:32px;font-size:12px;letter-spacing:.1em;color:#496168}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) [data-gp-id="visit-result"]{display:block;white-space:pre-line;font-size:17px;line-height:1.65;max-width:80ch;margin:22px 0 15px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) [data-gp-id="copy-note"]{font-size:15px;border-top:1px solid #b3c0b0;min-width:200px;padding-top:12px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) [data-gp-id="copy-status"]{font-size:13px;color:#3d5c61;display:inline;margin-left:20px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .visit-note.has-note{background:#e8eddd}
[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .site-footer{padding:66px 0 24px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .footer-close{display:flex;justify-content:space-between;align-items:center;gap:35px;padding-bottom:48px;border-bottom:1px solid var(--line)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .footer-close h2{font-size:clamp(55px,6vw,94px);font-weight:400}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .footer-close>a{display:flex;align-items:center;gap:50px;color:var(--lime);font-size:17px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .footer-close svg{width:40px;height:40px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .footer-grid{display:grid;grid-template-columns:1fr .8fr 1.2fr;gap:80px;padding:45px 0 55px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .footer-brand{align-self:start}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .footer-brand>span:not(.fs-richtext){font-size:50px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .footer-grid h3{font:600 16px/1.4 var(--font-body),sans-serif;margin-bottom:16px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .footer-grid>div>a{display:block;margin-block:8px;font-size:15px;color:#c1cfca}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .footer-about p{font-size:14px;color:#aebfbd;max-width:48ch}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .footer-about p+p{margin-top:15px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:22px;color:#aebfbd;font-size:12px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .footer-bottom>a{display:flex;align-items:center;gap:10px;color:var(--paper)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .footer-bottom svg{width:16px;height:16px}
[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .mega-menu{padding:0;border:1px solid rgb(var(--c-accent));background:var(--paper);color:var(--ink);width:min(1120px,calc(100% - 48px));max-height:calc(100dvh - 48px);overflow:auto;margin:auto;box-shadow:0 22px 70px #03090e66}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .mega-menu::backdrop{background:#081115c9}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .menu-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 34px;border-bottom:1px solid #a9b7ac}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .menu-header h2{font-size:45px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .menu-header button{display:grid;place-items:center;background:var(--ink);color:var(--paper);width:44px;height:44px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .menu-body{display:grid;grid-template-columns:.8fr 1.2fr}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .menu-opening{padding:35px;background:var(--lime);border-right:1px solid #a9b7ac}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .menu-wordmark{font:600 47px/.9 var(--font-display),sans-serif}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .menu-opening>p{font-size:19px;margin-top:34px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .menu-stock-link{display:flex;gap:20px;align-items:center;justify-content:space-between;font-size:15px;margin-top:32px;border-top:1px solid #7f963b;padding-top:17px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .menu-groups{display:grid;grid-template-columns:1fr 1fr;gap:36px 30px;padding:35px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .menu-groups h3{font-size:30px;margin-bottom:14px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .menu-groups a{display:flex;justify-content:space-between;gap:10px;min-height:39px;font-size:15px;color:#3c575c;padding:5px 0}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .menu-groups .compare-counter{background:var(--ink);color:var(--lime);padding:0 6px;min-width:22px;text-align:center}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .menu-footer{display:flex;justify-content:space-between;gap:24px;border-top:1px solid #a9b7ac;padding:16px 34px;font-size:12px;color:#4c6569}
[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .preloader{display:none;position:fixed;inset:0;background:var(--ink);color:var(--paper);z-index:100;align-items:center;justify-content:center;pointer-events:none}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .intro-file{width:min(370px,70vw);border:1px solid rgb(var(--c-accent));padding:36px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .intro-file>span:not(.fs-richtext):first-child{font:600 75px/.9 var(--font-display),sans-serif;letter-spacing:.02em}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .intro-rule{display:block;height:1px;background:var(--lime);margin:26px 0 15px;transform-origin:left;animation:var(--fs-anim-gpAccent, gp-slip-open-file) .65s var(--ease) }[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .intro-file small{font-size:12px;letter-spacing:.14em;color:#b4c5c0}@keyframes gp-slip-open-file{from{transform:scaleX(.04)}to{transform:scaleX(1)}}
@media(hover:hover) and (pointer:fine){[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .header-links a:hover,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .text-button:hover,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .study-footer a:hover,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .questions-footer a:hover,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .footer-grid a:hover,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .footer-bottom a:hover{color:var(--lime)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .rail-main .text-button:hover,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .record-content .text-button:hover,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .table-visit .text-button:hover,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) [data-gp-id="copy-note"]:hover{color:#465f24}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .button.lime:hover{background:#d4eb74}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .button.dark:hover{background:#304449}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .quick-compare button:hover{background:#dfe6d3}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .desk-button:hover{border-color:var(--lime)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .menu-groups a:hover{text-decoration:underline}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .car-record summary:hover{color:var(--ink)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .question-check:hover .check-drawing{border-color:var(--lime)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .footer-close a:hover svg{transform:translate(3px,-3px)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .footer-close svg{transition:transform .2s var(--ease)}}
@media(min-width:1600px){[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .hero-art img{max-height:530px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .study-heading{padding-top:40px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .rail-main{padding:32px 35px 20px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .spec-list>div{padding-block:13px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .rail-note{padding-inline:35px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .file-tab{padding-inline:35px}}
@media(max-width:1180px){[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .page-width{width:calc(100% - 56px)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .vehicle-file{grid-template-columns:minmax(0,1.7fr) minmax(290px,1fr)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .study-heading{padding:28px 27px 0;gap:16px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .study-heading p{display:none}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .study-heading .file-mark{margin-left:auto}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .hero-art img{min-height:390px;object-fit:cover}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .hero-art figcaption{padding-inline:26px;display:block}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .hero-art figcaption>span:not(.fs-richtext){display:block}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .hero-art figcaption>span:not(.fs-richtext)+span:not(.fs-richtext){margin-top:4px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .study-footer{padding-inline:26px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .rail-main{padding-inline:23px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .rail-main h2{font-size:46px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .car-row{grid-template-columns:1.3fr 1.35fr .65fr;gap:22px;padding:25px 24px 0}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .compare-check{grid-column:3;grid-row:2;align-self:start}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .car-record{grid-column:1/3;grid-row:2;margin-bottom:4px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .car-facts{gap:17px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .car-facts>div:last-child{max-width:110px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .car-facts dd{white-space:normal}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .record-content{grid-template-columns:1fr 1fr}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .record-content .text-button{grid-column:1/-1;justify-content:flex-start;padding:0}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .inspection-section{gap:60px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .visit-layout{gap:45px 60px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .footer-grid{gap:50px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table th,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table td{padding-inline:18px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .compare-car-head strong{font-size:27px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .compare-car-head small{font-size:12px}}
@media(max-width:850px){[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .preview-name{display:none}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .preview-bar{gap:15px;justify-content:space-between;padding-inline:20px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .preview-bar>a{font-size:12px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .site-header{height:94px;gap:20px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .brand>span:not(.fs-richtext){font-size:34px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .brand>svg{width:35px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .header-links{gap:22px;margin-right:5px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .desk-button{gap:18px;padding-inline:12px;font-size:15px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .vehicle-file{grid-template-columns:minmax(0,1fr) 280px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .study-heading h1{font-size:52px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .study-heading{padding-inline:23px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .hero-art img{min-height:380px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .hero-art figcaption{padding-inline:22px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .study-footer{padding-inline:22px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .study-footer>span:not(.fs-richtext){display:none}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .study-footer a{width:100%;justify-content:space-between}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .file-tab{padding-inline:20px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .rail-main h2{font-size:42px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .featured-price{font-size:41px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .spec-list>div{font-size:14px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .rail-note{padding-inline:23px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .rail-main .button{font-size:15px;padding-inline:13px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .section-space{padding-block:74px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .section-heading{align-items:flex-start;gap:25px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .section-heading>p,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .section-heading>div{font-size:16px;max-width:26ch}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .stock-finder{grid-template-columns:1fr 1fr 1fr}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .stock-finder label{margin-right:20px;padding-right:20px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .stock-finder label:nth-child(3){border:0;margin-right:0;padding-right:0}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .stock-finder .reset-button{grid-column:1/-1;min-height:44px;min-width:0;justify-content:flex-start;border-top:1px solid var(--line);padding:10px 0}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .car-row{grid-template-columns:1fr .75fr;gap:20px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .car-heading{gap:12px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .stock-price{grid-column:2;grid-row:1;text-align:right;font-size:33px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .car-facts{grid-column:1/-1;grid-row:2;border-top:1px solid var(--paper-line);padding-top:15px;justify-content:space-between;gap:24px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .car-facts>div:last-child{max-width:none}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .compare-check{grid-column:2;grid-row:3;justify-self:end}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .car-record{grid-column:1;grid-row:3;margin:0}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .record-content{display:block;min-width:245px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .record-content>div+div{margin-top:18px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .record-content .text-button{margin-top:15px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .car-record summary{font-size:13px;gap:20px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-empty{padding:35px 32px;gap:30px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-empty>svg{width:85px;height:72px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-empty h3{font-size:31px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table{font-size:15px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table th,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table td{padding:14px 13px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table thead th{padding-block:20px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table thead th:first-child{width:19%;font-size:12px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .compare-car-head strong{font-size:25px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .compare-car-head{display:block;position:relative;padding-top:22px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .compare-remove{position:absolute;top:-13px;right:-6px;margin:0;min-height:30px;min-width:30px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .compare-car-head small{font-size:12px;line-height:1.3}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table tbody th{font-size:12px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table tbody tr:first-child td{font-size:29px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .table-visit .text-button{font-size:12px;gap:6px;min-height:42px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .table-visit .text-button svg{width:15px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .inspection-section{grid-template-columns:.8fr 1.2fr;gap:40px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .inspection-list summary{font-size:29px;min-height:85px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .inspection-intro>p:first-of-type{font-size:17px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .inspection-graphic>svg{width:160px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .inspection-detail{padding-right:0}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .inspection-detail>p{font-size:16px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .question-check{font-size:14px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .questions-footer{font-size:13px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .visit-layout{grid-template-columns:.8fr 1.2fr;gap:40px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .visit-intro h2{font-size:57px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .visit-intro>p{font-size:17px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .form-pair{grid-template-columns:1fr;gap:0}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .form-heading{gap:15px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .form-heading h3{font-size:28px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .form-heading>span:not(.fs-richtext){font-size:12px;max-width:8ch}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .footer-close>a{gap:25px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .footer-close h2{font-size:60px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .footer-grid{grid-template-columns:.9fr 1fr;gap:35px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .footer-about{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px 35px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .footer-about h3{grid-column:1/-1}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .footer-about p+p{margin:0}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .footer-bottom{font-size:12px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .menu-opening{padding:27px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .menu-groups{padding:27px;gap:25px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .menu-header{padding:25px 27px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .menu-footer{padding:16px 27px}}
@media(max-width:640px){[data-gp-theme="slipstream"]:not([data-gp-premium="true"]){scroll-padding-top:18px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .page-width{width:calc(100% - 32px)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]){font-size:17px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .preview-bar{padding:7px 16px;flex-wrap:wrap;gap:8px 12px;min-height:82px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .preview-bar>a{flex:1}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .preview-bar [role=group]{order:2}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .preview-bar button{min-height:32px;font-size:12px;padding:6px 9px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .preview-bar>button{order:3;margin-left:auto;min-height:32px;font-size:12px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .site-header{height:90px;gap:15px;flex-wrap:wrap;align-content:center}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .brand{gap:8px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .brand>svg{width:29px;height:28px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .brand>span:not(.fs-richtext){font-size:30px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .brand small{font-size:12px;letter-spacing:.22em;margin-top:8px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .header-links{order:3;width:100%;margin:0;justify-content:space-between;gap:20px;padding-top:8px;display:none}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .desk-button{margin-left:auto;gap:18px;min-height:44px;font-size:14px;padding:9px 12px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .desk-button svg{width:21px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .vehicle-file{grid-template-columns:1fr}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .vehicle-study{min-height:0}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .study-heading{padding:24px 22px 0;gap:15px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .study-heading h1{font-size:51px;line-height:.97}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .study-heading .file-mark{width:32px;height:32px;margin-top:5px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .hero-art{min-height:0}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .hero-art img{height:auto;aspect-ratio:1.28;min-height:0;max-height:none;object-fit:cover;object-position:50% 58%}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .hero-art figcaption{padding:14px 22px;font-size:12px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .hero-art figcaption>span:not(.fs-richtext):first-child{font-size:12px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .study-footer{padding:15px 22px;font-size:14px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .study-footer svg{width:20px;height:20px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .spec-rail{display:grid;grid-template-columns:1fr}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .file-tab{font-size:12px;padding:13px 22px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .rail-main{padding:23px 22px 14px;display:grid;grid-template-columns:1.2fr .8fr;gap:0 14px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .rail-main h2{font-size:39px;grid-column:1;grid-row:1}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .vehicle-trim{grid-column:1;grid-row:2;font-size:16px;margin-top:6px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .featured-price{grid-column:2;grid-row:1/3;font-size:39px;text-align:right;align-self:start;margin:0;padding-top:2px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .featured-price small{font-size:12px;max-width:12ch;margin-left:auto}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .spec-list{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;margin-top:22px;gap:0 20px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .spec-list>div{display:block;font-size:16px;padding:11px 0 12px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .spec-list dt{font-size:12px;margin-bottom:4px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .spec-list dd{text-align:left;font-size:18px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .spec-list>div:last-child{display:none}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .rail-history{grid-column:1/-1;margin:17px 0 19px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .rail-history p{font-size:14px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .rail-history small{font-size:12px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .rail-main .button{grid-column:1/-1;min-height:50px;font-size:16px;padding-inline:16px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .rail-main>.text-button{grid-column:1/-1;font-size:14px;margin-top:5px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .rail-note{font-size:12px;padding:13px 22px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .section-space{padding-block:60px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .section-heading{display:block;margin-bottom:27px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .section-heading h2{font-size:43px;max-width:16ch}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .section-heading>p,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .section-heading>div{margin-top:17px;font-size:16px;max-width:34ch}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .section-heading>p br{display:none}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .stock-finder{grid-template-columns:1fr 1fr}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .stock-finder label{padding:17px 17px 14px 0;margin:0;font-size:12px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .stock-finder label:nth-child(2){padding-left:17px;padding-right:0;border:0}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .stock-finder label:nth-child(3){grid-column:1;border-top:1px solid var(--line);border-right:1px solid var(--line);padding-right:17px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .stock-finder select{font-size:16px;padding-top:7px;padding-right:21px;min-height:40px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .stock-finder .reset-button{grid-column:2;grid-row:2;justify-content:center;font-size:13px;gap:9px;padding:17px 0 14px 15px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .reset-button svg{width:16px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .stock-caption{display:block;font-size:12px;margin:18px 0}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .stock-caption p+p{margin-top:4px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .car-row{padding:22px 18px 0;gap:17px 12px;grid-template-columns:minmax(0,1fr) auto}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .car-heading{display:block}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .stock-code{display:block;padding:0;font-size:12px;margin-bottom:9px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .car-heading h3{font-size:30px;line-height:1.05}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .car-heading h3 small{font-size:14px;margin-top:5px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .stock-price{font-size:31px;align-self:center}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .stock-price small{font-size:12px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .car-facts{gap:15px;padding-top:13px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .car-facts dt{font-size:12px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .car-facts dd{font-size:13px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .car-record{min-width:0}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .car-record summary{font-size:12px;gap:10px;min-height:54px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .car-record summary svg{width:14px;height:14px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .compare-check{font-size:12px;gap:7px;min-height:50px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .check-drawing{width:21px;height:21px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .record-content{min-width:0;position:relative;width:calc(100% + 105px);padding:2px 0 23px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .record-content h4{font-size:23px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .record-content p{font-size:14px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .record-content .text-button{font-size:13px;min-height:44px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .stock-empty{padding:32px 20px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .stock-empty h3{font-size:34px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .stock-empty p{font-size:16px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .stock-empty .button{font-size:15px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-section .section-heading h2{font-size:47px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .compare-status{margin-top:10px!important;font-size:13px!important}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-empty{display:block;padding:28px 22px;min-height:0}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-empty>svg{width:79px;height:57px;margin-bottom:21px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-empty h3{font-size:32px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-empty p{font-size:16px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .quick-compare{gap:9px;margin-top:22px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .quick-compare button{padding:8px 11px;gap:20px;font-size:13px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-bottom{display:block;font-size:13px;margin-top:17px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-bottom .text-button{font-size:13px;margin-top:5px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table{font-size:13px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table caption{font-size:12px;padding:11px 12px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table th,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table td{padding:13px 9px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table thead th{padding-block:17px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table thead th:first-child{width:23%;font-size:12px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .compare-car-head{padding-top:25px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .compare-car-head strong{font-size:23px;line-height:1.03;overflow-wrap:normal}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .compare-car-head small{font-size:12px;margin-top:7px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .compare-remove{right:-4px;top:-13px;min-width:30px;min-height:30px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .compare-remove svg{width:15px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table tbody th{font-size:12px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table tbody tr:first-child td{font-size:25px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table tbody tr:last-child td{font-size:12px;line-height:1.35}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table[data-count="3"]{font-size:12px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table[data-count="3"] th,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table[data-count="3"] td{padding-inline:7px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table[data-count="3"] thead th:first-child{width:22%}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table[data-count="3"] .compare-car-head strong{font-size:21px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table[data-count="3"] tbody tr:first-child td{font-size:23px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table[data-count="3"] .compare-car-head small{font-size:12px;overflow-wrap:anywhere}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table[data-count="3"] .table-visit .text-button{font-size:12px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .table-visit .text-button{font-size:12px;line-height:1.2;display:block;padding:0}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .table-visit .text-button svg{display:block;width:16px;height:16px;margin-top:6px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .inspection-section{grid-template-columns:1fr;gap:28px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .inspection-intro{position:relative}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .inspection-intro h2{font-size:46px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .inspection-intro>p:first-of-type{font-size:17px;max-width:32ch;margin-top:20px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .inspection-graphic{margin:23px 0 14px;gap:10px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .inspection-graphic>svg{width:125px;height:100px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .inspection-graphic span:not(.fs-richtext){font-size:12px;writing-mode:horizontal-tb;max-width:13ch}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .inspection-note{font-size:12px;max-width:35ch}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .inspection-instruction{font-size:13px;max-width:35ch;padding-bottom:18px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .inspection-list summary{font-size:30px;min-height:80px;gap:15px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .inspection-list summary>svg{width:18px;height:18px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .inspection-detail>p{font-size:16px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .inspection-detail{padding-bottom:23px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .question-check{font-size:14px;align-items:flex-start;line-height:1.5}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .question-check .check-drawing{margin-top:1px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .questions-footer{font-size:12px;padding-top:20px;display:block}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .questions-footer a{margin-top:10px;min-height:36px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .visit-layout{grid-template-columns:1fr;gap:36px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .visit-intro h2{font-size:59px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .visit-intro>p{font-size:18px;max-width:30ch;margin-top:20px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .visit-address{margin-top:28px;padding-top:21px;gap:12px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .visit-address span:not(.fs-richtext):not(.address-mark){font-size:14px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .visit-address small{font-size:12px;margin-top:10px;max-width:31ch}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .address-mark svg{width:26px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .form-heading h3{font-size:32px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .form-heading>span:not(.fs-richtext){font-size:12px;max-width:none}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .visit-form>label,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .form-pair>label{font-size:13px;margin-bottom:22px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .visit-form select{font-size:17px;min-height:49px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .form-pair{grid-template-columns:1fr}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .visit-form textarea{font-size:16px;min-height:112px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .form-questions{font-size:12px;line-height:1.45}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .form-note{font-size:12px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .visit-note{padding:23px 21px 47px;min-height:180px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .note-heading h3{font-size:29px;max-width:14ch}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .note-heading svg{width:27px;height:27px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .visit-note>p{font-size:15px;max-width:28ch}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .note-bottom{right:21px;font-size:12px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .visit-note:before{right:21px;width:60px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) [data-gp-id="visit-result"]{font-size:15px;line-height:1.65;margin-top:21px;overflow-wrap:anywhere}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) [data-gp-id="copy-status"]{display:block;margin:7px 0 0;font-size:12px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .site-footer{padding-top:43px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .footer-close{display:block;padding-bottom:30px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .footer-close h2{font-size:57px;max-width:9ch;line-height:.97}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .footer-close>a{justify-content:space-between;font-size:16px;margin-top:25px;min-height:44px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .footer-close svg{width:30px;height:30px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .footer-grid{grid-template-columns:1fr 1fr;gap:35px 20px;padding:35px 0}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .footer-brand{align-self:start;gap:8px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .footer-brand>span:not(.fs-richtext){font-size:31px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .footer-brand>svg{width:29px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .footer-brand small{font-size:12px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .footer-grid h3{font-size:14px;margin-bottom:12px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .footer-grid>div>a{font-size:13px;min-height:29px;margin:3px 0}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .footer-about{display:block}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .footer-about p{font-size:13px;max-width:38ch}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .footer-about p+p{margin-top:12px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .footer-bottom{flex-wrap:wrap;font-size:12px;gap:18px 20px;padding-top:20px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .footer-bottom>a{margin-left:auto}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .footer-bottom>span:not(.fs-richtext):last-child{width:100%}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .mega-menu{width:calc(100% - 24px);max-height:calc(100dvh - 24px)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .menu-header{padding:20px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .menu-header h2{font-size:35px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .menu-header button{width:44px;height:44px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .menu-body{grid-template-columns:1fr}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .menu-opening{padding:24px 20px;border-right:0;border-bottom:1px solid #a9b7ac;display:grid;grid-template-columns:.75fr 1.25fr;gap:22px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .menu-wordmark{font-size:35px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .menu-opening>p{font-size:16px;margin:0}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .menu-stock-link{grid-column:1/-1;margin:0;padding-top:14px;font-size:14px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .menu-groups{padding:25px 20px;gap:25px 18px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .menu-groups h3{font-size:29px;margin-bottom:10px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .menu-groups a{font-size:13px;min-height:44px;line-height:1.35;align-items:center}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .menu-footer{display:block;padding:16px 20px;font-size:12px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .menu-footer>span:not(.fs-richtext){display:block}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .menu-footer>span:not(.fs-richtext)+span:not(.fs-richtext){margin-top:6px}}
[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .vehicle-study{background:#0d171c;color:var(--paper)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .study-heading .file-mark{color:var(--blue)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .study-heading p{color:#c0ceca}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .hero-art img{mix-blend-mode:normal;object-fit:contain;background:#0d171c}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .hero-art figcaption{background:#0d171c;color:#b7c7c2}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .study-footer{border-color:#37484d}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .study-footer>span:not(.fs-richtext){color:var(--blue)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .preloader.is-active{display:flex}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .preview-bar{font-family:var(--font-body),sans-serif}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .preview-bar button{border-radius:0}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .record-content p{font-size:17px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .inspection-detail>p{font-size:17px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-empty p{font-size:17px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .site-footer .footer-about p{font-size:15px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) dialog.mega-menu{color:var(--ink);border:1px solid var(--blue)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) ::-webkit-scrollbar{width:10px;height:10px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) ::-webkit-scrollbar-track{background:var(--ink)}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) ::-webkit-scrollbar-thumb{background:#657f85;border:2px solid var(--ink)}
@media(max-width:640px){[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .site-header{height:122px;padding-block:18px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .header-links{display:flex;padding-top:9px;font-size:14px;gap:24px;justify-content:flex-start}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .header-links>a{min-height:30px;gap:7px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .nav-count{font-size:12px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .hero-art img{aspect-ratio:1.5;object-fit:contain}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .record-content p,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .inspection-detail>p{font-size:17px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-empty p{font-size:17px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .footer-about p{font-size:14px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="slipstream"]:not([data-gp-premium="true"]){scroll-behavior:auto}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) *,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) *:before,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) *:after{animation:none!important;transition:none!important}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .preloader{display:none!important}}
@media(max-width:700px){[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) [data-gp-id="comparison"]{overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-color:var(--lime,rgb(var(--c-brand-600))) #26343a}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table[data-count="2"],[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table[data-count="3"]{min-width:670px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table td,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table tbody th{font-size:16px!important;line-height:1.45}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table th small{font-size:14px!important}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table .compare-car-head strong{font-size:23px!important}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table .compare-remove{min-width:44px;min-height:44px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table[data-count="2"] caption::after,[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table[data-count="3"] caption::after{content:" · Swipe to compare";font-size:13px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table th:first-child{position:sticky;left:0;z-index:2;background:#e3e7d9;min-width:135px}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table thead th:first-child{background:#e3e7d9}}
@media(max-width:700px){[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table tbody tr:first-child td{font-size:26px!important}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table .table-visit .text-button{font-size:15px!important}[data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .comparison-table th:first-child{width:140px!important}}

[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]){--ink:rgb(var(--c-paper));--paper:rgb(var(--c-ink-950));--blue:rgb(var(--c-accent));--orange:rgb(var(--c-brand-600));--focus:#ef9064}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]){background:var(--ink);color:var(--paper);font:18px/1.55 var(--font-body),sans-serif;scrollbar-color:var(--orange) var(--ink)}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) ::selection{background:var(--orange);color:var(--ink)}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) h1,[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) h2,[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) h3,[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) p,[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) figure{margin:0}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) h1,[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) h2,[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) h3,[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) button,[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .wordmark,[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .small-wordmark{font-family:var(--font-display),sans-serif}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) h1,[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) h2,[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) h3{line-height:1.02;font-weight:500;letter-spacing:-.035em;text-wrap:balance}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) h2{font-size:clamp(36px,4vw,60px)}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) h3{font-size:28px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) p{max-width:65ch}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .masthead{padding:26px 4.5vw;display:flex;align-items:center;gap:4vw;border-bottom:1px solid #46505a}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .wordmark{font-weight:700;font-size:24px;line-height:1.1;letter-spacing:-.03em;text-decoration:none}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .wordmark span:not(.fs-richtext){display:block;font:13px/1.4 var(--font-body);letter-spacing:0;margin-top:5px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .masthead nav{display:flex;align-items:center;gap:28px;margin-left:auto;font-size:15px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .masthead nav a,[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .brief-link{text-decoration:none}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .masthead button{display:flex;align-items:center;gap:16px;background:none;border:0;color:inherit;font-size:15px;padding:0}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .brief-link{font-size:15px;border:1px solid #78838a;padding:10px 16px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .brief-link span:not(.fs-richtext){margin-left:14px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .opening{padding:44px 4.5vw 0}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .opening-heading{display:flex;align-items:flex-end;gap:40px;margin-bottom:38px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .opening h1{font-size:clamp(58px,7.4vw,96px);flex:1}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .opening-heading p{font-size:17px;padding-bottom:5px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .round-link{display:grid;place-items:center;width:58px;height:58px;border:1px solid #7e878f;border-radius:50%;flex-shrink:0}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .shop-window{display:grid;grid-template-columns:1.45fr 1fr;min-height:560px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .window-art{position:relative;isolation:isolate;background:var(--blue);padding:30px 35px;overflow:hidden;display:flex;align-items:center;justify-content:center}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .window-label{position:absolute;top:22px;left:28px;right:28px;display:flex;justify-content:space-between;font:11px var(--font-display);letter-spacing:.08em}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .hero-sleeve{aspect-ratio:1;width:70%;max-width:445px;background:var(--orange);color:var(--ink);position:relative;z-index:2;padding:28px;transform:rotate(-8deg);box-shadow:12px 18px 28px rgb(4 12 48/.25);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;transition:transform 250ms var(--ease-out)}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .sleeve-imprint{font:16px var(--font-display);letter-spacing:.08em;z-index:2}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .hero-sleeve strong{font:500 clamp(36px,4.4vw,65px)/.94 var(--font-display);letter-spacing:-.035em;position:relative;z-index:2}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .sleeve-bottom{font-size:12px;line-height:1.5;position:relative;z-index:2}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .sleeve-lines{position:absolute;width:70%;height:100%;border:1px solid var(--ink);border-radius:50%;right:-35%;top:-6%;box-shadow:0 0 0 18px var(--orange),0 0 0 19px var(--ink),0 0 0 42px var(--orange),0 0 0 43px var(--ink),0 0 0 66px var(--orange),0 0 0 67px var(--ink)}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .vinyl{position:absolute;width:54%;aspect-ratio:1;border-radius:50%;right:7%;background:repeating-radial-gradient(circle,#101820 0 2px,#2d3442 3px 4px);display:grid;place-items:center;transition:transform 300ms var(--ease-out);box-shadow:10px 15px 24px rgb(4 12 48/.24)}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .vinyl span:not(.fs-richtext){display:grid;place-items:center;width:28%;aspect-ratio:1;border-radius:50%;background:var(--paper);color:var(--ink);font:46px var(--font-display)}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .window-select{position:absolute;bottom:20px;left:28px;right:28px;background:none;color:var(--paper);border:0;border-top:1px solid rgb(244 239 225/.5);padding:14px 0 0;display:flex;justify-content:space-between;font-size:15px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .window-note{background:#1a222d;display:flex;flex-direction:column}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .window-note figure{height:250px;position:relative;overflow:hidden}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .window-note img{width:100%;height:100%;object-fit:cover}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .window-note figcaption{position:absolute;bottom:0;left:0;right:0;padding:7px 20px;color:#fff;background:rgb(17 24 32/.85);font-size:12px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .note-copy{padding:28px 34px;display:grid;grid-template-columns:1fr 1fr;gap:20px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .small-wordmark{font-size:14px;grid-column:1/-1}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .note-copy h2{font-size:36px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .note-copy p{font-size:16px;line-height:1.55}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .note-copy a{grid-column:1/-1;justify-self:start;font-size:15px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .opening-foot{display:flex;justify-content:space-between;border-bottom:1px solid #46505a;font-size:13px;padding:17px 0}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .section{padding:90px 4.5vw}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:36px;gap:30px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .section-heading p{font-size:17px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .catalogue-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #46505a;border-bottom:1px solid #46505a;padding:12px 0;margin-bottom:32px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .catalogue-tools [role=group]{display:flex;gap:4px;flex-wrap:wrap}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .catalogue-tools button{color:var(--paper);background:none;border:0;padding:8px 15px;font-size:15px;border-radius:2px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .catalogue-tools button[aria-pressed=true]{background:var(--paper);color:var(--ink)}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) [data-gp-id="catalogue-count"]{font-size:13px;white-space:nowrap}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .record-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .record{min-width:0}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .record-cover{width:100%;aspect-ratio:1;position:relative;border:0;text-align:left;padding:23px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;isolation:isolate;box-shadow:0 10px 28px rgb(0 0 0/.15);transition:transform 220ms var(--ease-out),box-shadow 220ms var(--ease-out)}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .record-cover>strong{font-size:clamp(30px,3.8vw,55px);line-height:.95;font-weight:500;letter-spacing:-.035em;z-index:2}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .cover-top{font-size:10px;letter-spacing:.07em;z-index:2}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .cover-foot{font:12px/1.4 var(--font-body);z-index:2}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .cover-arrow{position:absolute;bottom:20px;right:22px;font-size:28px;z-index:2}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .cover-opening{background:var(--orange);color:var(--ink)}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .cover-orbit{position:absolute;width:85%;height:85%;right:-30%;top:-10%;border:2px solid var(--ink);border-radius:50%;box-shadow:0 0 0 18px var(--orange),0 0 0 20px var(--ink),0 0 0 38px var(--orange),0 0 0 40px var(--ink)}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .cover-evening{background:var(--paper);color:var(--blue)}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .cover-bars{position:absolute;top:0;right:-15%;width:65%;height:105%;transform:rotate(-20deg);background:repeating-linear-gradient(90deg,transparent 0 11px,var(--blue) 11px 38px)}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .cover-evening strong{background:var(--paper);margin-left:-23px;padding:8px 10px 10px 23px;align-self:flex-start}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .cover-late{background:var(--blue);color:var(--paper)}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .cover-grid{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 25px,rgb(var(--c-brand-600)) 25px 27px);transform:rotate(-30deg) scale(1.6);clip-path:polygon(55% 0,100% 0,100% 100%,55% 100%);opacity:.9}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .record-info{padding-top:22px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .record-info h3{font-size:26px;line-height:1.2}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .record-info p{font-size:16px;margin:10px 0 8px;color:#c6ccd0}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .text-button{border:0;background:none;color:inherit;font-size:14px;padding:8px 0;text-decoration:underline;text-underline-offset:.3em}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .catalogue-note{font-size:13px;color:#b6c0c8;margin-top:35px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .listening{background:var(--blue);padding:34px 4.5vw 50px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .desk-label{display:flex;justify-content:space-between;align-items:center;gap:30px;border-bottom:1px solid rgb(244 239 225/.45);padding-bottom:24px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .desk-label h2{font-size:34px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .desk-label>span:not(.fs-richtext){font-size:14px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .desk-body{display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw;padding-top:45px;align-items:center;max-width:1100px;margin:auto}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .desk-sleeve{aspect-ratio:1;background:var(--orange);color:var(--ink);position:relative;overflow:hidden;padding:26px;box-shadow:8px 14px 25px rgb(10 15 73/.24);display:flex;flex-direction:column;justify-content:space-between;transform:rotate(-4deg)}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .desk-sleeve>span:not(.fs-richtext):first-child{font:14px var(--font-display);z-index:1}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .desk-sleeve strong{font:500 52px/.96 var(--font-display);letter-spacing:-.03em;z-index:1}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .desk-circle{position:absolute;right:-80px;top:30px;width:85%;aspect-ratio:1;border:2px solid currentColor;border-radius:50%}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .desk-sleeve[data-selected-cover=evening]{background:var(--paper);color:var(--blue)}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .desk-sleeve[data-selected-cover=late]{background:var(--ink);color:var(--orange)}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .desk-copy>span:not(.fs-richtext){font-size:13px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .desk-copy h3{font-size:48px;margin:15px 0}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .desk-copy>p{font-size:18px;max-width:43ch}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .audio-state{display:flex;gap:15px;padding:24px 0;margin:25px 0;border-top:1px solid rgb(244 239 225/.45);border-bottom:1px solid rgb(244 239 225/.45);font-size:14px;align-items:center}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .audio-state svg{width:32px;height:32px;flex-shrink:0}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .audio-state strong{font-weight:500}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .light-button,[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .dark-button{padding:15px 21px;border:0;display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:52px;font-size:16px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .light-button{background:var(--paper);color:var(--ink)}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .desk-feedback{min-height:0;font-size:14px!important;margin-top:12px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .room{background:var(--paper);color:var(--ink)}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .room-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:7vw}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .room-choices button{display:grid;grid-template-columns:1fr 28px;gap:10px;width:100%;text-align:left;border:0;border-top:1px solid #919693;background:none;color:var(--ink);padding:22px 18px 22px 0;transition:padding-left 180ms var(--ease-out),background-color 180ms var(--ease-out)}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .room-choices button:last-child{border-bottom:1px solid #919693}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .room-choices button>span:not(.fs-richtext){font-size:24px;letter-spacing:-.025em}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .room-choices button>small{font:15px var(--font-body);grid-column:1;grid-row:2}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .room-choices svg{grid-column:2;grid-row:1/3;align-self:center}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .room-choices button[aria-pressed=true]{background:#e7e1d3;padding-left:18px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .room-note{position:relative;overflow:hidden;min-height:340px;padding:8px 50px 45px 0}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .room-note>span:not(.fs-richtext){font-size:12px;letter-spacing:.07em}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .room-note h3{font-size:38px;margin:20px 0}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .room-note p{font-size:17px;max-width:33ch}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .room-note a{display:inline-block;font-size:14px;margin-top:20px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .room-disc{position:absolute;right:-85px;bottom:-80px;border:1px solid #a8ada8;border-radius:50%;width:220px;height:220px;display:grid;place-items:center;box-shadow:0 0 0 10px var(--paper),0 0 0 11px #a8ada8,0 0 0 22px var(--paper),0 0 0 23px #a8ada8}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .room-disc span:not(.fs-richtext){font:36px var(--font-display)}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .event-brief{display:grid;grid-template-columns:1fr 1fr;background:var(--orange);color:var(--ink);padding:70px 4.5vw;gap:8vw}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .brief-stamp{display:inline-grid;place-items:center;border:1px solid var(--ink);border-radius:50%;width:65px;height:65px;font:20px var(--font-display);transform:rotate(-12deg);margin-bottom:25px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .brief-copy h2{font-size:clamp(46px,5.2vw,76px)}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .brief-copy>p{margin:24px 0}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .brief-checklist{font-size:15px;margin-top:36px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .brief-checklist ul{padding-left:20px;line-height:1.9}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .event-brief form{padding-top:15px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .event-brief label{display:block;font:16px var(--font-display);margin-bottom:25px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .event-brief input,[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .event-brief select,[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .event-brief textarea{display:block;width:100%;background:transparent;color:var(--ink);border:0;border-bottom:1px solid #64371f;border-radius:0;padding:13px 0;font:18px/1.5 var(--font-body);margin-top:5px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .event-brief select option{background:var(--paper);color:var(--ink)}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .event-brief input::placeholder,[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .event-brief textarea::placeholder{color:#51301f;opacity:1}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .event-brief textarea{border:1px solid #64371f;padding:13px;margin-top:12px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .dark-button{background:var(--ink);color:var(--paper);width:100%}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .form-note{font-size:13px;margin-top:12px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) [data-gp-id="brief-result"]{display:block;white-space:pre-wrap;background:var(--paper);padding:22px;margin-top:25px;font-size:16px;border-top:1px solid var(--ink)}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .download-brief{background:none;border:0;border-bottom:1px solid currentColor;color:inherit;font-size:14px;padding:12px 0}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) footer{padding:45px 4.5vw 24px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;align-items:start;padding-bottom:45px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .footer-logo{text-decoration:none;font:500 clamp(50px,7vw,96px)/1 var(--font-display);letter-spacing:-.04em}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .footer-logo span:not(.fs-richtext){display:block;font:12px/2 var(--font-body);letter-spacing:.12em}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .footer-top p{font-size:18px;padding-top:8px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .footer-top>div{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding-top:8px;font-size:15px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #46505a;padding-top:20px;font-size:12px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .mega-menu{width:calc(100% - 9vw);margin:100px auto auto;background:var(--ink);border:1px solid #46505a!important;padding:30px 35px!important}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .menu-top{display:flex;justify-content:space-between;gap:20px;padding-bottom:25px;border-bottom:1px solid #46505a}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .menu-top h2{font-size:34px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .menu-top button{border:1px solid #78838a;background:none;color:inherit;padding:8px 16px;font-size:14px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .menu-top button span:not(.fs-richtext){padding-left:15px;font-size:20px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .menu-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:6vw;padding:30px 0}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .menu-feature{text-decoration:none;display:grid;grid-template-columns:110px 1fr;gap:10px 20px;align-items:center}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .mini-sleeve{grid-row:1/3;background:var(--orange);color:var(--ink);aspect-ratio:1;padding:10px;font:55px/.9 var(--font-display);transform:rotate(-5deg)}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .mini-sleeve span:not(.fs-richtext){display:block;font-size:6px;margin-top:9px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .menu-feature strong{font:26px/1.1 var(--font-display);align-self:end}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .menu-feature>span:not(.fs-richtext){font-size:13px;align-self:start}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .menu-grid h3{font-size:15px;letter-spacing:0;margin-bottom:12px;color:#bdc8d0}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .menu-grid>div>a{display:block;text-decoration:none;font:22px/1.7 var(--font-display)}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .menu-grid>div>p{font-size:13px;margin-top:17px;color:#bdc8d0}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .menu-bottom{border-top:1px solid #46505a;padding-top:18px;display:flex;justify-content:space-between;font-size:12px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .preloader{background:var(--ink);color:var(--paper);font:32px var(--font-display);letter-spacing:.06em}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .intro-disc{width:100px;aspect-ratio:1;border-radius:50%;background:repeating-radial-gradient(circle,#2e3740 0 2px,rgb(var(--c-paper)) 3px 5px);margin:0 auto 22px;border:1px solid #66717d;position:relative}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .intro-disc::after{content:"";position:absolute;inset:32px;border-radius:50%;background:var(--orange);border:14px solid var(--orange);border-top-color:var(--paper)}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .preloader.is-active .intro-disc{animation:var(--fs-anim-gpAccent, gp-signal-record-intro) 650ms var(--ease-out) }@keyframes gp-signal-record-intro{from{transform:rotate(-110deg)}to{transform:none}}
@media(hover:hover) and (pointer:fine){[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .window-art:hover .hero-sleeve{transform:rotate(-5deg) translateX(-8px)}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .window-art:hover .vinyl{transform:translateX(14px) rotate(12deg)}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .record-cover:hover{transform:translateY(-8px) rotate(-1.5deg);box-shadow:0 20px 35px rgb(0 0 0/.25)}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .masthead a:hover,[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .text-button:hover,[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .menu-grid a:hover{text-decoration:underline}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .room-choices button:hover{padding-left:18px;background:#e7e1d3}}
@media(max-width:1050px){[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .masthead{gap:24px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .masthead nav{gap:18px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .masthead nav>a{display:none}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .shop-window{grid-template-columns:1.2fr 1fr;min-height:520px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .window-art{padding:40px 20px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .hero-sleeve{width:79%;padding:22px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .note-copy{padding:24px;display:block}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .small-wordmark{display:block;margin-bottom:14px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .note-copy h2{font-size:34px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .note-copy p{margin:15px 0}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .note-copy a{font-size:14px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .opening-heading{gap:20px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .record-grid{gap:22px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .record-cover{padding:18px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .cover-evening strong{margin-left:-18px;padding-left:18px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .cover-top{font-size:9px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .desk-sleeve strong{font-size:42px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .event-brief{gap:6vw}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .menu-grid{gap:3vw}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .menu-feature{grid-template-columns:90px 1fr}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .menu-feature strong{font-size:23px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .menu-grid>div>a{font-size:19px}}
@media(max-width:700px){[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]){font-size:17px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .masthead{padding:20px;flex-wrap:wrap;gap:17px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .wordmark{font-size:22px;flex:1}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .wordmark span:not(.fs-richtext){font-size:11px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .masthead nav{margin:0}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .masthead button{font-size:14px;gap:10px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .brief-link{display:none}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .opening{padding:28px 20px 0}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .opening-heading{flex-wrap:wrap;gap:18px;margin-bottom:25px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .opening h1{font-size:58px;flex-basis:100%}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .opening-heading p{font-size:15px;flex:1}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .round-link{width:46px;height:46px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .shop-window{grid-template-columns:1fr;min-height:0}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .window-art{height:440px;padding:30px 20px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .hero-sleeve{max-width:300px;width:77%;padding:24px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .hero-sleeve strong{font-size:48px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .vinyl{width:63%;right:5%}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .window-label{font-size:9px;left:18px;right:18px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .window-select{left:18px;right:18px;font-size:14px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .window-note figure{height:240px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .note-copy{padding:26px;display:grid;grid-template-columns:1fr 1fr;gap:15px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .small-wordmark{grid-column:1/-1;margin:0}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .note-copy h2{font-size:32px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .note-copy p{margin:0;font-size:15px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .note-copy a{grid-column:1/-1}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .opening-foot{font-size:11px;gap:15px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .opening-foot span:not(.fs-richtext):last-child{text-align:right}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .section{padding:58px 20px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .section-heading{display:block;margin-bottom:26px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .section-heading h2{font-size:42px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .section-heading p{font-size:16px;margin-top:20px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .catalogue-tools{align-items:flex-start;flex-direction:column;gap:8px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .catalogue-tools button{padding:8px 10px;font-size:14px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .catalogue-tools button:first-child{padding-left:8px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .record-grid{grid-template-columns:1fr;gap:36px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .record-cover{max-width:none;padding:26px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .record-cover>strong{font-size:55px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .cover-top{font-size:11px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .cover-foot{font-size:13px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .cover-evening strong{margin-left:-26px;padding-left:26px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .record-info{padding-top:20px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .record-info h3{font-size:28px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .record-info p{font-size:17px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .catalogue-note{font-size:13px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .listening{padding:28px 20px 35px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .desk-label{display:block;padding-bottom:22px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .desk-label h2{font-size:32px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .desk-label>span:not(.fs-richtext){display:block;margin-top:12px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .desk-body{grid-template-columns:1fr;gap:35px;padding-top:30px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .desk-sleeve{width:75%;max-width:280px;margin:10px auto}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .desk-sleeve strong{font-size:46px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .desk-copy h3{font-size:38px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .desk-copy>p{font-size:17px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .light-button{width:100%;font-size:15px;gap:15px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .room-layout{grid-template-columns:1fr;gap:30px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .room-choices button>span:not(.fs-richtext){font-size:22px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .room-choices button>small{font-size:14px;line-height:1.5}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .room-note{min-height:300px;padding:15px 20px 30px 0}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .room-note h3{font-size:34px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .event-brief{grid-template-columns:1fr;padding:45px 20px;gap:25px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .brief-copy h2{font-size:60px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .brief-copy>p{font-size:18px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .brief-checklist{margin-top:22px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .event-brief label{font-size:15px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .event-brief input,[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .event-brief select,[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .event-brief textarea{font-size:17px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .footer-top{grid-template-columns:1fr 1fr;gap:30px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .footer-logo{grid-column:1/-1;font-size:80px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .footer-top p{font-size:16px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .footer-top>div{font-size:14px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) footer{padding:35px 20px 24px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .footer-bottom{flex-wrap:wrap;gap:14px;font-size:11px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .mega-menu{width:calc(100% - 24px);margin:12px auto!important;padding:22px!important}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .menu-top{align-items:flex-start;gap:12px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .menu-top h2{font-size:28px;max-width:180px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .menu-top button{font-size:12px;padding:8px 12px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .menu-top button span:not(.fs-richtext){padding-left:6px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .menu-grid{grid-template-columns:1fr;gap:25px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .menu-feature{grid-template-columns:95px 1fr;gap:8px 20px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .menu-feature strong{font-size:25px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .menu-grid h3{font-size:14px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .menu-grid>div>a{font-size:21px;line-height:2;min-height:44px}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .menu-grid>div>p{display:none}[data-gp-theme="the-second-set-signal"]:not([data-gp-premium="true"]) .menu-bottom{font-size:11px;gap:20px}}

[data-gp-theme] .gp-page-lead,[data-gp-theme] .gp-page-notes,[data-gp-theme] .gp-page-index{padding:clamp(36px,6vw,96px) clamp(20px,4vw,64px);max-width:1512px;margin:auto}
[data-gp-theme] .gp-page-lead h1{font-family:var(--font-display);font-size:clamp(48px,6.6vw,100px);font-weight:500;line-height:1.03;letter-spacing:-.045em;margin:18px 0 28px;text-wrap:balance}
[data-gp-theme] .gp-page-kicker{font:600 12px/1.5 var(--font-body);letter-spacing:.14em;text-transform:uppercase}
[data-gp-theme] .gp-page-intro{font-size:clamp(18px,1.5vw,23px);line-height:1.65;max-width:58ch}
[data-gp-theme] .gp-page-art{margin:0;min-width:0}
[data-gp-theme] .gp-page-art .gp-native-media{aspect-ratio:1.15;overflow:hidden;object-fit:cover}
[data-gp-theme] .gp-page-art img{width:100%;height:100%;object-fit:cover}
[data-gp-theme] .gp-page-art figcaption{font-size:12px;line-height:1.6;margin-top:14px;max-width:55ch;opacity:.8}
[data-gp-theme] .gp-page-notes h2,[data-gp-theme] .gp-page-index h2{font-family:var(--font-display);font-size:clamp(32px,3.8vw,58px);font-weight:500;line-height:1.12;letter-spacing:-.035em;margin:0 0 40px}
[data-gp-theme] .gp-page-note h3{font-family:var(--font-display);font-size:clamp(24px,2.4vw,34px);font-weight:500;line-height:1.2;margin:12px 0 18px}
[data-gp-theme] .gp-page-note p{font-size:18px;line-height:1.7;margin:0;max-width:60ch}
[data-gp-theme] .gp-page-note-number{font-size:12px;letter-spacing:.1em}
[data-gp-theme] .gp-page-index-links a{display:flex;justify-content:space-between;gap:20px;align-items:center;min-height:54px;padding:18px 0;color:inherit;text-decoration:none;border-bottom:1px solid currentColor;font-size:clamp(20px,2vw,28px)}
[data-gp-theme] .gp-page-index-links a::after{content:'↗';font-family:var(--font-body)}
[data-gp-theme] .gp-page-kiln{color:rgb(var(--c-ink-950))}
[data-gp-theme] .gp-page-lead.gp-page-kiln{display:grid;grid-template-columns:1.08fr 1fr;gap:8%;align-items:center}
[data-gp-theme] .gp-page-kiln .gp-page-art{transform:rotate(-3deg);padding:20px 20px 14px;background:rgb(var(--c-paper-soft))}
[data-gp-theme] .gp-page-kiln .gp-page-note-list{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
[data-gp-theme] .gp-page-kiln .gp-page-note{border-top:2px solid currentColor;padding-top:24px}
[data-gp-theme] .gp-page-kiln .gp-page-index-links{display:grid;grid-template-columns:1fr 1fr;column-gap:50px}
[data-gp-theme] .gp-page-field{color:rgb(var(--c-ink-950))}
[data-gp-theme=field-and-fold] .gp-page-lead.gp-page-field{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:clamp(720px,calc(100svh - 100px),920px);max-width:none;padding:clamp(28px,4vw,64px);margin:0;background:rgb(var(--c-paper-soft))}
[data-gp-theme=field-and-fold] .gp-page-field .gp-page-art{position:absolute;inset:0;margin:0;overflow:hidden}
[data-gp-theme=field-and-fold] .gp-page-field .gp-page-art .gp-native-media{width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
[data-gp-theme=field-and-fold] .gp-page-field .gp-page-art img{object-position:var(--gp-field-art-position,center)}
[data-gp-theme=field-and-fold] .gp-page-field .gp-page-art figcaption{position:absolute;right:24px;bottom:24px;max-width:28ch;margin:0;padding:9px 14px;font-size:13px;line-height:1.5;color:rgb(var(--c-ink-950));background:rgb(var(--c-paper-soft));opacity:1}
[data-gp-theme=field-and-fold] .gp-field-page-copy{position:relative;z-index:1;width:min(580px,48%);padding:clamp(28px,3vw,46px);background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));border:1px solid rgb(var(--c-ink-950) / .25)}
[data-gp-theme=field-and-fold] .gp-field-page-copy h1{font-size:clamp(42px,4.4vw,76px);line-height:1.08;letter-spacing:-.035em;margin:0 0 24px}
[data-gp-theme=field-and-fold] .gp-field-page-copy .gp-page-intro{font-size:clamp(18px,1.35vw,21px);line-height:1.65;margin:0;max-width:48ch}
[data-gp-theme] .gp-page-field .gp-page-note-list{border-left:1px dashed currentColor;margin-left:16px;padding-left:44px}
[data-gp-theme] .gp-page-field .gp-page-note{position:relative;display:grid;grid-template-columns:minmax(160px,.7fr) 1.3fr;gap:32px;padding:25px 0 42px}
[data-gp-theme] .gp-page-field .gp-page-note-number{position:absolute;left:-59px;top:30px;background:rgb(var(--c-paper));padding:5px}
[data-gp-theme] .gp-page-field .gp-page-note h3{margin:0}
[data-gp-theme] .gp-page-field .gp-page-index-links{max-width:920px}
[data-gp-theme] .gp-page-slip{color:rgb(var(--c-ink-950))}
[data-gp-theme] .gp-page-lead.gp-page-slip{display:grid;grid-template-columns:1fr .7fr;gap:7%;border-bottom:1px solid currentColor;align-items:end}
[data-gp-theme] .gp-page-slip .gp-page-kicker{border-top:8px solid rgb(var(--c-brand-600));padding-top:18px}
[data-gp-theme] .gp-page-slip h1{font-weight:600;letter-spacing:-.025em;text-transform:uppercase}
[data-gp-theme] .gp-page-slip .gp-page-art .gp-native-media{aspect-ratio:1.45;object-fit:contain}
[data-gp-theme] .gp-page-slip .gp-page-art img{object-fit:contain}
[data-gp-theme] .gp-page-slip .gp-page-note{display:grid;grid-template-columns:48px minmax(180px,.7fr) 1.3fr;gap:30px;border-top:1px solid rgb(var(--c-line));padding:32px 0}
[data-gp-theme] .gp-page-slip .gp-page-note h3{margin:0}
[data-gp-theme] .gp-page-slip .gp-page-index-links{display:grid;grid-template-columns:1fr 1fr;column-gap:48px}
[data-gp-theme] .gp-page-signal{color:rgb(var(--c-ink-950))}
[data-gp-theme] .gp-page-signal .gp-page-sleeve{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr;gap:20px 5%;padding:36px;background:rgb(var(--c-accent));border:1px solid currentColor}
[data-gp-theme] .gp-page-signal .gp-page-sleeve .gp-page-kicker{grid-column:1}
[data-gp-theme] .gp-page-signal .gp-page-sleeve h1{grid-column:1;align-self:end;font-weight:600;line-height:.98;margin-bottom:0}
[data-gp-theme] .gp-page-signal .gp-page-sleeve .gp-page-art{grid-column:2;grid-row:1/3;align-self:center}
[data-gp-theme] .gp-page-signal .gp-page-art .gp-native-media{aspect-ratio:1;border-radius:50%;border:12px solid rgb(var(--c-paper));background:rgb(var(--c-paper))}
[data-gp-theme] .gp-page-signal .gp-page-intro{margin-top:35px}
[data-gp-theme] .gp-page-signal .gp-page-note-list{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:rgb(var(--c-line))}
[data-gp-theme] .gp-page-signal .gp-page-note{padding:30px;background:rgb(var(--c-paper))}
[data-gp-theme] .gp-page-signal .gp-page-note-number{font:500 48px/1 var(--font-display);color:rgb(var(--c-brand-600))}
[data-gp-theme] .gp-page-signal .gp-page-index-links a{font-family:var(--font-display)}
@media(max-width:760px){
 [data-gp-theme] .gp-page-lead.gp-page-kiln,[data-gp-theme] .gp-page-field .gp-field-spread,[data-gp-theme] .gp-page-lead.gp-page-slip{grid-template-columns:1fr;gap:32px}
 [data-gp-theme] .gp-page-kiln .gp-page-art{max-width:560px;transform:rotate(-2deg);margin:16px 8px}
 [data-gp-theme] .gp-page-kiln .gp-page-note-list,[data-gp-theme] .gp-page-signal .gp-page-note-list{grid-template-columns:1fr;gap:32px}
 [data-gp-theme] .gp-page-field .gp-page-note{grid-template-columns:1fr;gap:15px}
 [data-gp-theme] .gp-page-slip .gp-page-note{grid-template-columns:32px 1fr;gap:16px}
 [data-gp-theme] .gp-page-slip .gp-page-note p{grid-column:2}
 [data-gp-theme] .gp-page-signal .gp-page-sleeve{grid-template-columns:1fr;padding:24px}
 [data-gp-theme] .gp-page-signal .gp-page-sleeve .gp-page-art{grid-column:1;grid-row:auto;margin-top:20px;max-width:440px}
 [data-gp-theme] .gp-page-kiln .gp-page-index-links,[data-gp-theme] .gp-page-slip .gp-page-index-links{grid-template-columns:1fr}
}
@media(max-width:980px){
 [data-gp-theme=field-and-fold] .gp-page-lead.gp-page-field{display:block;min-height:0;padding:0}
 [data-gp-theme=field-and-fold] .gp-page-field .gp-page-art{position:relative;inset:auto}
 [data-gp-theme=field-and-fold] .gp-page-field .gp-page-art .gp-native-media{height:clamp(360px,62svh,560px)}
 [data-gp-theme=field-and-fold] .gp-page-field .gp-page-art figcaption{right:14px;bottom:14px;max-width:25ch;font-size:12px}
 [data-gp-theme=field-and-fold] .gp-field-page-copy{width:100%;padding:32px clamp(22px,5vw,48px);border:0;border-bottom:1px solid rgb(var(--c-ink-950) / .25)}
 [data-gp-theme=field-and-fold] .gp-field-page-copy h1{font-size:clamp(40px,6.4vw,64px);max-width:16ch}
}

[data-gp-theme]{box-sizing:border-box;display:flow-root;min-width:0;--ease-out:cubic-bezier(.23,1,.32,1);--ease-drawer:cubic-bezier(.32,.72,0,1)}
[data-gp-theme] *,[data-gp-theme] *::before,[data-gp-theme] *::after{box-sizing:border-box}
[data-gp-theme] img{display:block;max-width:100%}
[data-gp-block=favGpKilnHero]{position:relative}
[data-gp-theme] .gp-tile-scene{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2;opacity:0}
[data-gp-3d=ready] .gp-tile-scene{opacity:1}
[data-gp-3d=ready] [data-sample]>svg:first-child{opacity:0}
[data-gp-theme] button,[data-gp-theme] input,[data-gp-theme] select,[data-gp-theme] textarea{font:inherit;color:inherit;touch-action:manipulation}
[data-gp-theme] button,[data-gp-theme] input,[data-gp-theme] select{min-height:44px}
[data-gp-theme] [hidden]{display:none!important}
[data-gp-kind=header] .gp-horizontal-nav{display:flex;gap:clamp(12px,1.5vw,24px);align-items:center;flex-wrap:wrap;min-width:0}
[data-gp-kind=header] .gp-primary-container{align-items:center;gap:20px}
[data-gp-kind=header] .gp-horizontal-nav a{display:inline-flex;align-items:center;min-height:44px;font:500 16px/1.4 var(--font-body);text-decoration:none;letter-spacing:0;text-transform:none;white-space:normal}
[data-gp-kind=header] .gp-horizontal-nav a[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:8px}
[data-gp-theme] .gp-dialog-page-links{display:flex;flex-direction:column;gap:0}
[data-gp-theme] .gp-dialog-page-links a{display:flex;align-items:center;min-height:52px;padding:14px 0;border-bottom:1px solid currentColor;font-family:var(--font-display);font-size:clamp(20px,2vw,30px);font-weight:500;text-decoration:none;line-height:1.25}
[data-gp-theme] .gp-dialog-page-links a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}
@media(max-width:980px){[data-gp-kind=header] .gp-horizontal-nav{display:none!important}}
[data-gp-theme] a{text-underline-offset:.22em}
[data-gp-theme] :is(a,button,input,select,textarea,summary,[role=button]):focus-visible{outline:3px solid var(--focus,currentColor);outline-offset:5px}
[data-gp-theme] .gp-native-media{min-width:0}
[data-gp-theme] .gp-native-media>:is([data-fs-image],div,span,button){width:100%;height:100%;max-width:none;border-radius:inherit;object-fit:inherit;object-position:inherit}
[data-gp-theme] .gp-native-media picture{border-radius:inherit;object-fit:inherit;object-position:inherit}
[data-gp-theme] .gp-native-media img{width:100%;height:100%;border-radius:inherit;object-fit:inherit;object-position:inherit}
[data-gp-theme] dialog.mega-menu{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain}
[data-gp-theme] dialog::backdrop{background:rgb(8 16 18 / .52)}
[data-gp-theme="the-second-set-signal"] :is(dialog.mega-menu,.gp-editor-menu){color:var(--paper)}
[data-gp-theme] dialog[open]{animation:var(--fs-anim-gpAccent,gp-menu-in) calc(220ms * var(--fs-anim-speed,1)) var(--fs-anim-ease,var(--ease-drawer))}
[data-gp-theme] .gp-editor-menu{display:block;position:relative;max-height:none!important;overflow:visible!important;margin:20px auto!important}
[data-gp-theme] .gp-thumbnail-input{display:block;min-height:40px;border-bottom:1px solid currentColor;padding:10px}
[data-gp-theme] :is(button,a,[role=button],.record-cover,.hero-sleeve,.vinyl,.care-option,.care-detail,.routine-stop,.room-choices button){transition-property:var(--fs-anim-gpFeedback,transform,opacity,background-color,box-shadow,padding-left,filter);transition-duration:calc(180ms * var(--fs-anim-speed,1));transition-timing-function:var(--fs-anim-ease,var(--ease-out))}
[data-gp-theme][data-gp-motion=off] *,[data-fs-motion-level=off] [data-gp-theme] *,[data-fs-motion=off] [data-gp-theme] *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@keyframes gp-menu-in{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){[data-gp-theme] *,[data-gp-theme] *::before,[data-gp-theme] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* The page-opening blocks, notes and directories share a small vocabulary. */
[data-fs-layout="full"] [data-gp-theme] :is(.gp-page-lead,.gp-page-notes,.gp-page-index) {
  width: 100%; max-width: none;
}
[data-fs-layout="full"] [data-gp-theme] .gp-page-note-list {
  display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(1rem,3vw,3rem);
}
[data-fs-layout="boxed"] [data-gp-theme] :is(.gp-page-lead,.gp-page-notes,.gp-page-index) {
  max-width: none; padding-inline: clamp(1.25rem,4vw,3.25rem);
}
[data-fs-layout="boxed"] [data-gp-theme] .gp-page-note-list {
  display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem;
  border: 0; margin: 0; padding: 0; background: transparent;
}
[data-fs-layout="boxed"] [data-gp-theme] .gp-page-note {
  position: relative; display: block; min-width: 0; padding: 1.5rem;
  border: 1px solid rgb(var(--c-line)); background: rgb(var(--c-paper));
}
[data-fs-layout="boxed"] [data-gp-theme] .gp-page-note-number {
  position: static; display: block; margin-bottom: 1rem; padding: 0; background: transparent;
}
[data-fs-layout="centered"] [data-gp-theme] :is(.gp-page-lead,.gp-page-notes,.gp-page-index) {
  width: 100%; max-width: 68rem; margin-inline: auto;
}
[data-fs-layout="centered"] [data-gp-theme] .gp-page-lead {
  display: flex; flex-direction: column; align-items: center; gap: 2.5rem;
  min-height: 0; text-align: center;
}
[data-fs-layout="centered"] [data-gp-theme] .gp-page-heading {
  max-width: 54rem; margin-inline: auto;
}
[data-fs-layout="centered"] [data-gp-theme] .gp-page-intro {
  margin-inline: auto;
}
[data-fs-layout="centered"] [data-gp-theme] .gp-page-art {
  position: relative; inset: auto; width: 100%; max-width: 64rem;
  margin-inline: auto; transform: none;
}
[data-fs-layout="centered"] [data-gp-theme] .gp-page-art .gp-native-media {
  height: clamp(23rem,42vw,37rem); aspect-ratio: auto; border-radius: 0;
}
[data-fs-layout="centered"] [data-gp-theme] :is(.gp-page-notes,.gp-page-index) > h2 {
  text-align: center;
}
[data-fs-layout="centered"] [data-gp-theme] .gp-page-note-list {
  display: grid; grid-template-columns: minmax(0,1fr); max-width: 46rem;
  margin-inline: auto; gap: 0; background: transparent; border: 0; padding: 0;
}
[data-fs-layout="centered"] [data-gp-theme] .gp-page-note {
  display: grid; grid-template-columns: 4rem 1fr; gap: 0 1.5rem;
  border: 0; border-top: 1px solid rgb(var(--c-line));
  background: transparent; padding: 1.5rem 0;
}
[data-fs-layout="centered"] [data-gp-theme] .gp-page-note-number {
  position: static; grid-row: span 2; background: transparent;
}
[data-fs-layout="centered"] [data-gp-theme] .gp-page-note p { grid-column: 2; }
[data-fs-layout="minimal"] [data-gp-theme] :is(.gp-page-lead,.gp-page-notes,.gp-page-index) {
  max-width: 70rem; margin-inline: auto;
}
[data-fs-layout="minimal"] [data-gp-theme] .gp-page-lead {
  display: grid; grid-template-columns: minmax(0,1.35fr) minmax(0,.7fr);
  align-items: center; gap: 7%; min-height: 0;
}
[data-fs-layout="minimal"] [data-gp-theme] .gp-page-art {
  position: relative; inset: auto; width: 100%; transform: none;
}
[data-fs-layout="minimal"] [data-gp-theme] .gp-page-art .gp-native-media {
  height: auto; aspect-ratio: .9; border-radius: 0;
}
[data-fs-layout="minimal"] [data-gp-theme] .gp-page-note-list {
  display: block; border: 0; padding: 0; margin: 0; background: transparent;
}
[data-fs-layout="minimal"] [data-gp-theme] .gp-page-note {
  display: grid; grid-template-columns: 3rem minmax(0,.7fr) minmax(0,1.3fr);
  gap: 1.5rem; align-items: start; padding: 1.75rem 0;
  border: 0; border-top: 1px solid rgb(var(--c-line));
  background: transparent; box-shadow: none;
}
[data-fs-layout="minimal"] [data-gp-theme] .gp-page-note-number {
  position: static; background: transparent;
}
[data-fs-layout="minimal"] [data-gp-theme] .gp-page-note h3 { margin: 0; }
[data-fs-layout="heroEdge"] [data-gp-theme] .gp-page-lead {
  width: 100%; max-width: none; display: flex; flex-direction: column-reverse;
  gap: 0; padding: 0; min-height: 0;
}
[data-fs-layout="heroEdge"] [data-gp-theme] .gp-page-art {
  position: relative; inset: auto; width: 100%; max-width: none; margin: 0;
  padding: 0; transform: none;
}
[data-fs-layout="heroEdge"] [data-gp-theme] .gp-page-art .gp-native-media {
  width: 100%; height: clamp(30rem,70svh,48rem); aspect-ratio: auto;
  border-radius: 0;
}
[data-fs-layout="heroEdge"] [data-gp-theme] .gp-page-heading {
  width: 100%; max-width: none; padding: clamp(2rem,4vw,4rem);
  background: rgb(var(--c-paper)); color: rgb(var(--c-ink-950));
}

/* Field & Fold: place the approved landscape beside the copy in wide
   modes; retain the art's focal point and keep the care note visible. */
[data-fs-layout]:not([data-fs-layout="theme"]) [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-sky {
  display: none;
}
[data-fs-layout="full"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .outdoors,
[data-fs-layout="boxed"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .outdoors {
  display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  height: auto; min-height: 40rem; max-height: none; overflow: hidden;
}
[data-fs-layout="full"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-scene,
[data-fs-layout="boxed"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-scene {
  position: relative; inset: auto; grid-column: 2; grid-row: 1;
  width: 100%; height: 100%; min-height: 40rem;
}
[data-fs-layout="full"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-copy,
[data-fs-layout="boxed"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-copy {
  grid-column: 1; grid-row: 1; align-self: stretch; width: 100%; max-width: none;
  display: flex; flex-direction: column; justify-content: center;
  margin: 0; padding: clamp(2rem,5vw,5rem); background: var(--warm);
}
[data-fs-layout="full"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-copy .button,
[data-fs-layout="boxed"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-copy .button {
  align-self: flex-start;
}
[data-fs-layout="full"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .scene-caption,
[data-fs-layout="boxed"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .scene-caption,
[data-fs-layout="minimal"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .scene-caption {
  color: rgb(var(--c-ink-950)); background: rgb(var(--c-paper-soft));
  padding: .45rem .7rem;
}
[data-fs-layout="boxed"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .outdoors,
[data-fs-layout="boxed"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-scene { min-height: 33rem; }
[data-fs-layout="boxed"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-copy h1 {
  font-size: clamp(2.75rem,4.4cqw,4.25rem);
}
[data-fs-layout="boxed"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .site-header {
  padding-inline: clamp(1rem,2.5vw,2rem); gap: 1rem;
}
[data-fs-layout="boxed"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .gp-horizontal-nav {
  flex-wrap: nowrap; gap: .7rem;
}
[data-fs-layout="boxed"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .gp-horizontal-nav a {
  font-size: .8125rem; white-space: nowrap;
}
[data-fs-layout="boxed"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .brand {
  font-size: 1.65rem;
}
[data-fs-layout="centered"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .outdoors {
  display: flex; flex-direction: column; height: auto; min-height: 0; max-height: none;
  background: var(--warm);
}
[data-fs-layout="centered"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-copy {
  order: 0; width: min(100%,54rem); max-width: none; margin: 0 auto;
  padding: clamp(2.5rem,5vw,5rem) 1.5rem; text-align: center;
}
[data-fs-layout="centered"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-copy p { margin-inline: auto; }
[data-fs-layout="centered"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-scene {
  position: relative; inset: auto; order: 1; width: 100%; height: clamp(25rem,50vw,42rem);
}
[data-fs-layout="minimal"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .outdoors {
  display: grid; grid-template-columns: minmax(0,1.5fr) minmax(0,.8fr);
  align-items: center; gap: 5%; width: min(70rem,calc(100% - 3rem));
  margin-inline: auto; height: auto; min-height: 37rem; max-height: none;
  background: rgb(var(--c-paper)); overflow: visible;
}
[data-fs-layout="minimal"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-scene {
  position: relative; inset: auto; grid-column: 2; grid-row: 1;
  width: 100%; height: 32rem;
}
[data-fs-layout="minimal"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-copy {
  grid-column: 1; grid-row: 1; margin: 0; padding: 3rem 0;
  max-width: none;
}
[data-fs-layout="heroEdge"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .outdoors {
  display: flex; flex-direction: column; justify-content: flex-end;
  min-height: min(62rem,105svh); height: auto; max-height: none;
}
[data-fs-layout="heroEdge"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-copy {
  width: 100%; max-width: none; margin: 0; padding: 2.5rem clamp(1.5rem,5vw,5rem);
  display: grid; grid-template-columns: minmax(0,1.4fr) minmax(0,.8fr);
  gap: .5rem 5%; align-items: center;
  background: rgb(var(--c-ink-950)); color: rgb(var(--c-paper));
}
[data-fs-layout="heroEdge"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-copy h1 {
  grid-column: 1; grid-row: 1/3; margin: 0;
  font-size: clamp(3rem,4.3cqw,4.8rem);
}
[data-fs-layout="heroEdge"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-copy p { max-width: 60ch; }
[data-fs-layout="heroEdge"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-copy .button {
  grid-column: 2; align-self: start; width: fit-content;
  color: rgb(var(--c-paper)); border-color: currentColor;
}

/* Field's inside pages share the same full-size approved picture; modes
   move the real image node, so edited art and captions continue to work. */
[data-fs-layout="full"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .gp-page-field,
[data-fs-layout="boxed"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .gp-page-field {
  display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  align-items: stretch; min-height: 39rem; padding: 0; max-width: none;
}
[data-fs-layout="full"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .gp-page-field .gp-page-art,
[data-fs-layout="boxed"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .gp-page-field .gp-page-art {
  position: relative; inset: auto; grid-column: 2; grid-row: 1;
}
[data-fs-layout="full"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .gp-field-page-copy,
[data-fs-layout="boxed"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .gp-field-page-copy {
  grid-column: 1; grid-row: 1; align-self: stretch; display: flex;
  flex-direction: column; justify-content: center; width: 100%;
  border: 0; padding: clamp(2rem,5vw,5rem);
}
[data-fs-layout="centered"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .gp-page-field,
[data-fs-layout="heroEdge"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .gp-page-field {
  display: flex; flex-direction: column; min-height: 0; padding: 0;
}
[data-fs-layout="centered"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .gp-page-field .gp-page-art,
[data-fs-layout="heroEdge"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .gp-page-field .gp-page-art {
  position: relative; inset: auto; order: 0;
}
[data-fs-layout="centered"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .gp-field-page-copy,
[data-fs-layout="heroEdge"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .gp-field-page-copy {
  order: 1; width: 100%; max-width: none; border: 0; text-align: center;
  padding: clamp(2rem,4vw,4rem);
}
[data-fs-layout="minimal"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .gp-page-field {
  max-width: 70rem; display: grid; grid-template-columns: minmax(0,1.4fr) minmax(0,.75fr);
  min-height: 0; gap: 6%; padding: 4rem 1.5rem;
}
[data-fs-layout="minimal"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .gp-page-field .gp-page-art {
  position: relative; inset: auto; grid-column: 2; grid-row: 1;
}
[data-fs-layout="minimal"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .gp-field-page-copy {
  grid-column: 1; grid-row: 1; width: 100%; align-self: center;
  padding: 0; border: 0; background: transparent;
}

/* Kiln House: the six real sample buttons become a shelf or a quieter
   two-column catalogue. The Three.js overlay uses authored tile positions,
   so these modes show the matching SVG tile art instead. */
[data-fs-layout]:not([data-fs-layout="theme"]) [data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .gp-tile-scene {
  display: none;
}
[data-fs-layout]:not([data-fs-layout="theme"]) [data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) [data-sample] > svg:first-child {
  opacity: 1;
}
[data-fs-layout="full"] [data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter.page-width {
  width: 100%; padding-inline: clamp(1.5rem,4vw,4rem);
}
[data-fs-layout="full"] [data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-stage,
[data-fs-layout="boxed"] [data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-stage,
[data-fs-layout="centered"] [data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-stage,
[data-fs-layout="minimal"] [data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-stage {
  display: grid; grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 1.5rem; height: auto; min-height: 0; padding-bottom: 2rem;
}
[data-fs-layout]:is([data-fs-layout="full"],[data-fs-layout="boxed"],[data-fs-layout="centered"],[data-fs-layout="minimal"]) [data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-copy {
  position: relative; inset: auto; grid-column: 1/-1; width: min(100%,52rem);
  margin: 0 0 2rem; pointer-events: auto;
}
[data-fs-layout]:is([data-fs-layout="full"],[data-fs-layout="boxed"],[data-fs-layout="centered"],[data-fs-layout="minimal"]) [data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-stage .sample {
  position: relative; inset: auto; width: 100%; height: clamp(15rem,24vw,24rem);
  margin: 0; transform: none;
}
[data-fs-layout="boxed"] [data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-stage,
[data-fs-layout="minimal"] [data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-stage {
  grid-template-columns: repeat(2,minmax(0,1fr));
}
[data-fs-layout="centered"] [data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-copy {
  margin-inline: auto; text-align: center;
}
[data-fs-layout="centered"] [data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-copy h1 { margin-inline: auto; }
[data-fs-layout="minimal"] [data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-stage {
  max-width: 62rem; margin-inline: auto;
}
[data-fs-layout="heroEdge"] [data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter.page-width {
  width: 100%; padding-inline: clamp(1.5rem,5vw,5rem);
}
[data-fs-layout="heroEdge"] [data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-stage {
  min-height: min(56rem,94svh);
}

/* Slipstream: keep the dossier and its facts in two real page regions. */
[data-fs-layout="full"] [data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .vehicle-file.page-width,
[data-fs-layout="heroEdge"] [data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .vehicle-file.page-width {
  width: 100%; max-width: none;
}
[data-fs-layout="full"] [data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .vehicle-file {
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
}
[data-fs-layout="boxed"] [data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .vehicle-file {
  grid-template-columns: minmax(0,1.25fr) minmax(0,1fr);
}
[data-fs-layout="centered"] [data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .vehicle-file {
  display: flex; flex-direction: column;
}
[data-fs-layout="centered"] [data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .study-heading {
  justify-content: center; text-align: center;
}
[data-fs-layout="centered"] [data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .study-heading h1 { flex: 0 1 auto; }
[data-fs-layout="centered"] [data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .hero-art { width: 100%; }
[data-fs-layout="minimal"] [data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .vehicle-file {
  grid-template-columns: minmax(0,1.35fr) minmax(0,.8fr);
  border-inline: 0;
}
[data-fs-layout="heroEdge"] [data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .vehicle-file {
  grid-template-columns: minmax(0,1.7fr) minmax(0,.8fr);
}

/* Signal: use the same sleeve/artwork and editable copy, arranged as an
   editorial split, framed counter, centred poster, or type-led list. */
[data-fs-layout="boxed"] [data-gp-theme="the-second-set-signal"] .masthead {
  gap: 1.25rem; padding: 1.5rem 2rem;
}
[data-fs-layout="boxed"] [data-gp-theme="the-second-set-signal"] .masthead nav {
  gap: 1rem; flex-shrink: 0;
}
[data-fs-layout="boxed"] [data-gp-theme="the-second-set-signal"] .gp-horizontal-nav {
  flex-wrap: nowrap; gap: .9rem; white-space: nowrap;
}
[data-fs-layout="boxed"] [data-gp-theme="the-second-set-signal"] .wordmark,
[data-fs-layout="boxed"] [data-gp-theme="the-second-set-signal"] .brief-link {
  flex-shrink: 0;
}
[data-fs-layout="full"] [data-gp-theme="the-second-set-signal"] .opening {
  display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  padding: 0;
}
[data-fs-layout="full"] [data-gp-theme="the-second-set-signal"] .opening-heading {
  grid-column: 1; grid-row: 1; display: flex; flex-direction: column;
  align-items: flex-start; justify-content: center; margin: 0;
  padding: clamp(2rem,5vw,5rem);
}
[data-fs-layout="full"] [data-gp-theme="the-second-set-signal"] .shop-window { display: contents; }
[data-fs-layout="full"] [data-gp-theme="the-second-set-signal"] .window-art {
  grid-column: 2; grid-row: 1; min-height: 38rem;
}
[data-fs-layout="full"] [data-gp-theme="the-second-set-signal"] .window-note {
  grid-column: 1/-1; grid-row: 2; display: grid; grid-template-columns: 1fr 1fr;
}
[data-fs-layout="full"] [data-gp-theme="the-second-set-signal"] .opening-foot {
  grid-column: 1/-1; grid-row: 3; margin-inline: clamp(1.5rem,5vw,5rem);
}
[data-fs-layout="boxed"] [data-gp-theme="the-second-set-signal"] .opening {
  padding: clamp(1.5rem,4vw,3rem);
}
[data-fs-layout="boxed"] [data-gp-theme="the-second-set-signal"] .shop-window {
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
}
[data-fs-layout="centered"] [data-gp-theme="the-second-set-signal"] .opening-heading {
  display: flex; flex-direction: column; align-items: center; text-align: center;
  max-width: 55rem; margin: 0 auto 2.5rem;
}
[data-fs-layout="centered"] [data-gp-theme="the-second-set-signal"] .opening-heading h1 { flex: 0 1 auto; }
[data-fs-layout="centered"] [data-gp-theme="the-second-set-signal"] .shop-window {
  display: grid; grid-template-columns: minmax(0,1fr); max-width: 64rem; margin-inline: auto;
}
[data-fs-layout="centered"] [data-gp-theme="the-second-set-signal"] .window-note {
  display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr);
}
[data-fs-layout="minimal"] [data-gp-theme="the-second-set-signal"] .opening {
  max-width: 70rem; margin-inline: auto; padding: 5rem 1.5rem;
}
[data-fs-layout="minimal"] [data-gp-theme="the-second-set-signal"] .shop-window {
  grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr); min-height: 0;
}
[data-fs-layout="minimal"] [data-gp-theme="the-second-set-signal"] .window-art { min-height: 25rem; }
[data-fs-layout="heroEdge"] [data-gp-theme="the-second-set-signal"] .opening {
  display: flex; flex-direction: column; padding: 0;
}
[data-fs-layout="heroEdge"] [data-gp-theme="the-second-set-signal"] .shop-window { display: contents; }
[data-fs-layout="heroEdge"] [data-gp-theme="the-second-set-signal"] .window-art {
  order: 0; min-height: min(48rem,78svh);
}
[data-fs-layout="heroEdge"] [data-gp-theme="the-second-set-signal"] .opening-heading {
  order: 1; display: flex; flex-direction: column; align-items: flex-start;
  width: 100%; margin: 0; padding: clamp(2rem,4vw,4rem);
  background: rgb(var(--c-paper)); color: rgb(var(--c-ink-950));
}
[data-fs-layout="heroEdge"] [data-gp-theme="the-second-set-signal"] .window-note { order: 2; }
[data-fs-layout="heroEdge"] [data-gp-theme="the-second-set-signal"] .opening-foot { order: 3; margin-inline: 4vw; }

/* Narrow editor canvases need the phone reading order even when the host
   browser is wide. These rules also protect a published boxed page. */
@container fs-layout (max-width: 48rem) {
  [data-fs-layout]:not([data-fs-layout="theme"]) [data-gp-theme] .gp-page-lead,
  [data-fs-layout]:not([data-fs-layout="theme"]) [data-gp-theme] .gp-page-note-list,
  [data-fs-layout]:not([data-fs-layout="theme"]) [data-gp-theme] .gp-page-note,
  [data-fs-layout]:not([data-fs-layout="theme"]) [data-gp-theme] .gp-page-sleeve,
  [data-fs-layout]:not([data-fs-layout="theme"]) [data-gp-theme] .gp-page-index-links {
    display: grid; grid-template-columns: minmax(0,1fr); gap: 1.25rem;
  }
  [data-fs-layout]:not([data-fs-layout="theme"]) [data-gp-theme] .gp-page-note p { grid-column: auto; }
  [data-fs-layout]:not([data-fs-layout="theme"]) [data-gp-theme] .gp-page-art,
  [data-fs-layout]:not([data-fs-layout="theme"]) [data-gp-theme] .gp-field-page-copy {
    grid-column: auto; grid-row: auto; width: 100%;
  }
  [data-fs-layout]:not([data-fs-layout="theme"]) [data-gp-theme] .gp-page-art .gp-native-media {
    height: auto; min-height: 20rem; aspect-ratio: 1.2;
  }
  [data-fs-layout]:not([data-fs-layout="theme"]) [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .outdoors,
  [data-fs-layout]:not([data-fs-layout="theme"]) [data-gp-theme="slipstream"]:not([data-gp-premium="true"]) .vehicle-file,
  [data-fs-layout]:not([data-fs-layout="theme"]) [data-gp-theme="the-second-set-signal"] .shop-window {
    display: grid; grid-template-columns: minmax(0,1fr); min-height: 0;
  }
  [data-fs-layout]:not([data-fs-layout="theme"]) [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-copy,
  [data-fs-layout]:not([data-fs-layout="theme"]) [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-scene {
    grid-column: 1; grid-row: auto;
  }
  [data-fs-layout]:not([data-fs-layout="theme"]) [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-scene {
    height: 24rem; min-height: 0;
  }
  [data-fs-layout]:not([data-fs-layout="theme"]) [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-copy {
    padding: 2rem 1.5rem;
  }
  [data-fs-layout]:not([data-fs-layout="theme"]) [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .care-note {
    position: relative; inset: auto; grid-column: 1; grid-row: auto;
    width: auto; margin: 0 1.5rem 1rem; transform: none;
  }
  [data-fs-layout]:not([data-fs-layout="theme"]) [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .scene-caption {
    position: relative; inset: auto; grid-column: 1; grid-row: auto;
    max-width: none; margin: 0 1.5rem 1.5rem;
    color: rgb(var(--c-ink-950)); text-shadow: none;
  }
  [data-fs-layout="heroEdge"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-copy {
    display: block;
  }
  [data-fs-layout="heroEdge"] [data-gp-theme="field-and-fold"]:not([data-gp-premium="true"]) .hero-copy h1 {
    font-size: clamp(2.6rem,8cqw,4rem);
  }
  [data-fs-layout]:not([data-fs-layout="theme"]) [data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-stage {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  [data-fs-layout]:not([data-fs-layout="theme"]) [data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-stage .sample {
    height: 15rem;
  }
  [data-fs-layout="full"] [data-gp-theme="the-second-set-signal"] .opening {
    display: flex; flex-direction: column;
  }
  [data-fs-layout="full"] [data-gp-theme="the-second-set-signal"] .opening-heading,
  [data-fs-layout="full"] [data-gp-theme="the-second-set-signal"] .window-art,
  [data-fs-layout="full"] [data-gp-theme="the-second-set-signal"] .window-note {
    grid-column: auto; grid-row: auto;
  }
  [data-fs-layout]:not([data-fs-layout="theme"]) [data-gp-theme="the-second-set-signal"] .window-note {
    display: block;
  }
}
@container fs-layout (max-width: 32rem) {
  [data-fs-layout]:not([data-fs-layout="theme"]) [data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-stage {
    grid-template-columns: minmax(0,1fr);
  }
  [data-fs-layout]:not([data-fs-layout="theme"]) [data-gp-theme="kiln-house"]:not([data-gp-premium="true"]) .counter-stage .sample {
    width: min(100%,22rem); margin-inline: auto;
  }
}
[data-gp-theme="review-crossfire"]{--brand:#225d54;--accent:#b96836;--bg:#fafbf8;--surface:#edf2ee;--ink:#172c26;--line:color-mix(in srgb,var(--ink) 19%,transparent);--muted:color-mix(in srgb,var(--ink) 78%,var(--bg));--site-width:1240px;font-family:system-ui,sans-serif;color-scheme:light}[data-gp-theme="review-crossfire"] *{box-sizing:border-box}[data-gp-theme="review-crossfire"]{scroll-behavior:smooth;scroll-padding-top:100px}[data-gp-theme="review-crossfire"]{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 var(--font-body,system-ui,sans-serif);transition:var(--fs-anim-rfFeedback,background-color .2s,color .2s)}[data-gp-theme="review-crossfire"] button,[data-gp-theme="review-crossfire"] input,[data-gp-theme="review-crossfire"] select,[data-gp-theme="review-crossfire"] textarea{font:inherit}[data-gp-theme="review-crossfire"] button,[data-gp-theme="review-crossfire"] a,[data-gp-theme="review-crossfire"] input,[data-gp-theme="review-crossfire"] select,[data-gp-theme="review-crossfire"] summary,[data-gp-theme="review-crossfire"] textarea{-webkit-tap-highlight-color:transparent}[data-gp-theme="review-crossfire"] button,[data-gp-theme="review-crossfire"] a,[data-gp-theme="review-crossfire"] summary{touch-action:manipulation}[data-gp-theme="review-crossfire"] a{color:inherit;text-underline-offset:4px}[data-gp-theme="review-crossfire"] button{cursor:pointer;color:inherit}[data-gp-theme="review-crossfire"] button:disabled{cursor:default;opacity:.6}[data-gp-theme="review-crossfire"] :focus-visible{outline:3px solid var(--accent);outline-offset:5px}[data-gp-theme="review-crossfire"] img,[data-gp-theme="review-crossfire"] svg,[data-gp-theme="review-crossfire"] video{max-width:100%}[data-gp-theme="review-crossfire"] img{height:auto;display:block}[data-gp-theme="review-crossfire"] figure{margin:0}[data-gp-theme="review-crossfire"] h1,[data-gp-theme="review-crossfire"] h2,[data-gp-theme="review-crossfire"] h3{font-family:var(--font-display,var(--font-body,system-ui,sans-serif));font-weight:500;line-height:1.08;text-wrap:balance}[data-gp-theme="review-crossfire"] h1{font-size:clamp(2.8rem,6.8vw,6.2rem);letter-spacing:-.045em;margin:0 0 28px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="review-crossfire"] h1{font-size:clamp(2.8rem,6.8cqw,6.2rem)}}[data-gp-theme="review-crossfire"] h2{font-size:clamp(2rem,3.8vw,3.8rem);letter-spacing:-.025em;margin:0 0 25px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="review-crossfire"] h2{font-size:clamp(2rem,3.8cqw,3.8rem)}}[data-gp-theme="review-crossfire"] h3{font-size:clamp(1.2rem,2vw,1.7rem);margin:0 0 14px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="review-crossfire"] h3{font-size:clamp(1.2rem,2cqw,1.7rem)}}[data-gp-theme="review-crossfire"] p{max-width:68ch;margin:0 0 1.2em}[data-gp-theme="review-crossfire"] small{font-size:.78rem}[data-gp-theme="review-crossfire"] ul,[data-gp-theme="review-crossfire"] ol{padding-left:1.3em}[data-gp-theme="review-crossfire"] section{position:relative}[data-gp-theme="review-crossfire"]>section{padding:70px max(5%,calc((100% - var(--site-width))/2))}[data-gp-theme="review-crossfire"] table{border-collapse:collapse;width:100%;text-align:left}[data-gp-theme="review-crossfire"] th,[data-gp-theme="review-crossfire"] td{padding:15px 14px;border-bottom:1px solid var(--line);vertical-align:top}[data-gp-theme="review-crossfire"] th{font-weight:600}[data-gp-theme="review-crossfire"] details{border-bottom:1px solid var(--line);padding:20px 0}[data-gp-theme="review-crossfire"] summary{cursor:pointer;font-weight:600}[data-gp-theme="review-crossfire"] details[open]>:not(summary){animation:var(--fs-anim-rfFeedback,rf-crossfire-content-in .2s ease-out)}[data-gp-theme="review-crossfire"] label{display:block;font-size:.9rem}[data-gp-theme="review-crossfire"] input,[data-gp-theme="review-crossfire"] select,[data-gp-theme="review-crossfire"] textarea{max-width:100%;background:var(--bg);color:var(--ink);border:1px solid var(--line);padding:12px 14px;border-radius:5px}[data-gp-theme="review-crossfire"] input:not([type=checkbox],[type=radio],[type=range]),[data-gp-theme="review-crossfire"] select,[data-gp-theme="review-crossfire"] textarea{width:100%}[data-gp-theme="review-crossfire"] input[type=checkbox],[data-gp-theme="review-crossfire"] input[type=radio]{accent-color:var(--brand)}[data-gp-theme="review-crossfire"] textarea{min-height:130px;resize:vertical}[data-gp-theme="review-crossfire"] form{display:grid;gap:18px;max-width:700px}[data-gp-theme="review-crossfire"] fieldset{border:1px solid var(--line);padding:20px}[data-gp-theme="review-crossfire"] button,[data-gp-theme="review-crossfire"] .button,[data-gp-theme="review-crossfire"] .btn{transition:var(--fs-anim-rfFeedback,background .18s,color .18s,transform .18s)}[data-gp-theme="review-crossfire"] button:active,[data-gp-theme="review-crossfire"] .button:active,[data-gp-theme="review-crossfire"] .btn:active{transform:translateY(1px)}[data-gp-theme="review-crossfire"] .button,[data-gp-theme="review-crossfire"] .btn,[data-gp-theme="review-crossfire"] a[data-cta]{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;background:var(--brand);color:var(--brand-contrast,#fff);padding:13px 23px;border:1px solid transparent;border-radius:var(--button-radius,4px);font-weight:600}[data-gp-theme="review-crossfire"] .button.secondary,[data-gp-theme="review-crossfire"] .btn.secondary{background:transparent;color:var(--ink);border-color:var(--line)}[data-gp-theme="review-crossfire"] .button:hover,[data-gp-theme="review-crossfire"] .btn:hover{filter:brightness(.94)}[data-gp-theme="review-crossfire"] .site-skip{position:fixed;left:16px;top:-90px;z-index:99;background:var(--ink);color:var(--bg);padding:12px}[data-gp-theme="review-crossfire"] .site-skip:focus{top:12px}[data-gp-theme="review-crossfire"] .site-header{position:relative;z-index:20;border-bottom:1px solid var(--line);background:var(--bg)}[data-gp-theme="review-crossfire"] .header-inner{max-width:var(--site-width);margin:auto;min-height:92px;display:flex;align-items:center;gap:28px;padding:20px 28px}[data-gp-theme="review-crossfire"] .site-brand{display:flex;align-items:center;gap:12px;text-decoration:none;line-height:1.15;font-size:1.55rem;font-family:var(--font-display,inherit);font-weight:650;letter-spacing:-.04em;max-width:360px;margin-right:auto}[data-gp-theme="review-crossfire"] .brand-mark{width:28px;height:28px;flex:none;color:var(--brand)}[data-gp-theme="review-crossfire"] .site-brand img{max-width:220px;max-height:45px}[data-gp-theme="review-crossfire"] .primary-nav{display:flex;align-items:center;gap:25px}[data-gp-theme="review-crossfire"] .primary-nav>a{font-size:.88rem;text-decoration:none;position:relative}[data-gp-theme="review-crossfire"] .primary-nav>a[aria-current=page]:after{content:'';position:absolute;height:2px;background:var(--brand);left:0;right:0;bottom:-8px}[data-gp-theme="review-crossfire"] .nav-disclosure{position:static;border:0;padding:0}[data-gp-theme="review-crossfire"] .nav-disclosure>summary{font-size:.88rem;list-style:none;display:flex;gap:8px;align-items:center;padding:10px 0}[data-gp-theme="review-crossfire"] .nav-disclosure>summary::-webkit-details-marker{display:none}[data-gp-theme="review-crossfire"] .nav-disclosure>summary:after{content:'⌄';font-size:1rem;transition:var(--fs-anim-rfFeedback,transform .18s)}[data-gp-theme="review-crossfire"] .nav-disclosure[open]>summary:after{transform:rotate(180deg)}[data-gp-theme="review-crossfire"] .header-cta{font-size:.85rem;white-space:nowrap}[data-gp-theme="review-crossfire"] .mega-panel{position:absolute;top:100%;left:0;right:0;background:var(--bg);box-shadow:0 22px 25px color-mix(in srgb,var(--ink) 10%,transparent);border-bottom:1px solid var(--line);padding:35px max(5%,calc((100% - var(--site-width))/2));min-height:255px;z-index:25}[data-gp-theme="review-crossfire"] .mega-content{display:grid;grid-template-columns:1fr 3fr;gap:45px;animation:var(--fs-anim-rfFeedback,rf-crossfire-menu-content .22s .06s both)}[data-gp-theme="review-crossfire"] .mega-intro strong{display:block;font:500 2rem/1.1 var(--font-display,inherit);margin:0 0 14px}[data-gp-theme="review-crossfire"] .mega-intro p{font-size:.85rem;color:var(--muted)}[data-gp-theme="review-crossfire"] .mega-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 25px}[data-gp-theme="review-crossfire"] .mega-links a{display:flex;align-items:center;justify-content:space-between;gap:10px;text-decoration:none;border-bottom:1px solid var(--line);padding:12px 0;font-size:.95rem}[data-gp-theme="review-crossfire"] .mega-links a:hover{color:var(--brand)}[data-gp-theme="review-crossfire"] .mega-links a:after{content:'↗';color:var(--brand)}[data-gp-theme="review-crossfire"] .menu-style-1 .mega-content{grid-template-columns:1fr 2fr}[data-gp-theme="review-crossfire"] .menu-style-1 .mega-links{grid-template-columns:1fr 1fr}[data-gp-theme="review-crossfire"] .menu-style-1 .mega-links a{padding:16px 20px;border:1px solid var(--line);background:var(--surface);border-radius:var(--card-radius,8px)}[data-gp-theme="review-crossfire"] .menu-style-2 .mega-content{grid-template-columns:2fr 3fr}[data-gp-theme="review-crossfire"] .menu-style-2 .mega-intro{border-left:5px solid var(--accent);padding-left:25px}[data-gp-theme="review-crossfire"] .menu-style-2 .mega-links{grid-template-columns:1fr 1fr}[data-gp-theme="review-crossfire"] .menu-style-2 .mega-links a{font:500 1.3rem/1.15 var(--font-display,inherit)}[data-gp-theme="review-crossfire"] .menu-style-3 .mega-panel{left:auto;right:4%;width:min(680px,92%);padding:28px;border:1px solid var(--line);min-height:0}[data-gp-theme="review-crossfire"] .menu-style-3 .mega-content{grid-template-columns:1fr}[data-gp-theme="review-crossfire"] .menu-style-3 .mega-intro p{display:none}[data-gp-theme="review-crossfire"] .menu-style-3 .mega-intro strong{font-size:1.4rem}[data-gp-theme="review-crossfire"] .menu-style-3 .mega-links{grid-template-columns:1fr 1fr}[data-gp-theme="review-crossfire"] .menu-close{margin-top:20px;background:none;border:1px solid var(--line);padding:8px 15px;font-size:.8rem}[data-gp-theme="review-crossfire"] .site-footer{padding:55px max(5%,calc((100% - var(--site-width))/2)) 25px;background:var(--surface);border-top:1px solid var(--line)}[data-gp-theme="review-crossfire"] .footer-top{display:flex;justify-content:space-between;gap:45px}[data-gp-theme="review-crossfire"] .footer-top p{max-width:48ch;font-size:.9rem;color:var(--muted);margin-top:18px}[data-gp-theme="review-crossfire"] .footer-links{display:flex;flex-wrap:wrap;gap:12px 22px;align-content:start;max-width:500px;font-size:.85rem}[data-gp-theme="review-crossfire"] .footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:24px;margin-top:40px;font-size:.74rem;color:var(--muted)}[data-gp-theme="review-crossfire"] .demo-label{border:1px solid var(--line);padding:4px 8px;border-radius:3px;display:inline-block;font-size:.72rem;color:var(--muted)}[data-gp-theme="review-crossfire"] .demo-feedback{padding:16px;border:1px solid var(--brand);background:var(--surface);color:var(--ink)}[data-gp-theme="review-crossfire"] .mobile-menu{display:none}[data-gp-theme="review-crossfire"] .standalone-tools{background:var(--surface);border-bottom:1px solid var(--line);padding:8px 20px;display:flex;flex-wrap:wrap;align-items:center;gap:10px;font:12px/1.3 system-ui,sans-serif}[data-gp-theme="review-crossfire"] .standalone-tools select{width:auto;padding:5px;font-size:12px}[data-gp-theme="review-crossfire"] .standalone-tools a{margin-right:auto}[data-gp-theme="review-crossfire"] .embedded .standalone-tools{display:none}[data-gp-theme="review-crossfire"] .page-enter{animation:var(--fs-anim-rfEntrance,rf-crossfire-page-in .24s ease-out)}[data-gp-theme="review-crossfire"] [hidden]{display:none!important}[data-gp-theme="review-crossfire"].layout-full [data-gp-theme="review-crossfire"]>section{padding-left:5%;padding-right:5%}[data-gp-theme="review-crossfire"] .layout-boxed main{max-width:var(--site-width);margin:30px auto;border:1px solid var(--line);box-shadow:0 15px 80px color-mix(in srgb,var(--ink) 7%,transparent)}[data-gp-theme="review-crossfire"] .layout-boxed [data-gp-theme="review-crossfire"]>section{padding-left:5%;padding-right:5%}[data-gp-theme="review-crossfire"] .layout-centered [data-gp-theme="review-crossfire"]>section{max-width:1100px;margin:auto;text-align:center}[data-gp-theme="review-crossfire"] .layout-centered [data-gp-theme="review-crossfire"] p{margin-left:auto;margin-right:auto}[data-gp-theme="review-crossfire"] .layout-centered [data-gp-theme="review-crossfire"] table,[data-gp-theme="review-crossfire"] .layout-centered [data-gp-theme="review-crossfire"] form,[data-gp-theme="review-crossfire"] .layout-centered [data-gp-theme="review-crossfire"] details{text-align:left}[data-gp-theme="review-crossfire"] .layout-minimal [data-gp-theme="review-crossfire"]>section{padding-top:48px;padding-bottom:48px}[data-gp-theme="review-crossfire"] .layout-minimal main{max-width:1080px;margin:auto}[data-gp-theme="review-crossfire"] .layout-minimal [data-gp-theme="review-crossfire"]>section{box-shadow:none;border-radius:0}[data-gp-theme="review-crossfire"] .layout-edge [data-gp-theme="review-crossfire"]>section:first-child{max-width:none;margin:0;padding-left:5%;padding-right:5%;min-height:calc(100vh - 95px)}[data-gp-theme="review-crossfire"] .layout-edge [data-gp-theme="review-crossfire"]>section:first-child figure{border-radius:0}[data-gp-theme="review-crossfire"] .site-loader{min-height:65vh;padding:10vh 6%}[data-gp-theme="review-crossfire"] .site-loader h1{font-size:3rem}[data-gp-theme="review-crossfire"] .site-error{padding:50px}[data-gp-theme="review-crossfire"] .site-error a{color:var(--brand)}@keyframes rf-crossfire-menu-content{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes rf-crossfire-content-in{from{opacity:.4}to{opacity:1}}@keyframes rf-crossfire-page-in{from{opacity:.65}to{opacity:1}}@media(max-width:850px){[data-gp-theme="review-crossfire"] .header-inner{gap:15px;min-height:78px;padding:16px 22px}[data-gp-theme="review-crossfire"] .site-brand{font-size:1.4rem}[data-gp-theme="review-crossfire"] .primary-nav{gap:18px}[data-gp-theme="review-crossfire"] .primary-nav>a{display:none}[data-gp-theme="review-crossfire"] .mobile-menu{display:block}[data-gp-theme="review-crossfire"] .nav-disclosure>summary{font-size:0}[data-gp-theme="review-crossfire"] .nav-disclosure>summary:before{content:'Menu';font-size:.85rem}[data-gp-theme="review-crossfire"] .nav-disclosure>summary:after{font-size:1.1rem}[data-gp-theme="review-crossfire"] .mega-panel,[data-gp-theme="review-crossfire"] .menu-style-3 .mega-panel{position:fixed;inset:78px 0 0;width:100%;overflow:auto;min-height:0;padding:28px 24px}[data-gp-theme="review-crossfire"] .mega-content,[data-gp-theme="review-crossfire"] .menu-style-1 .mega-content,[data-gp-theme="review-crossfire"] .menu-style-2 .mega-content{grid-template-columns:1fr;gap:20px}[data-gp-theme="review-crossfire"] .mega-links,[data-gp-theme="review-crossfire"] .menu-style-1 .mega-links,[data-gp-theme="review-crossfire"] .menu-style-2 .mega-links,[data-gp-theme="review-crossfire"] .menu-style-3 .mega-links{grid-template-columns:1fr}[data-gp-theme="review-crossfire"] .mega-links a{font-size:1.15rem}[data-gp-theme="review-crossfire"] .header-cta{padding:10px 13px}[data-gp-theme="review-crossfire"] .footer-top{display:block}[data-gp-theme="review-crossfire"] .footer-links{margin-top:30px}[data-gp-theme="review-crossfire"] .footer-bottom{display:block}[data-gp-theme="review-crossfire"] .footer-bottom span{display:block;margin:10px 0}[data-gp-theme="review-crossfire"] .layout-boxed main{margin:16px}[data-gp-theme="review-crossfire"] .layout-centered [data-gp-theme="review-crossfire"]>section{max-width:100%}[data-gp-theme="review-crossfire"]>section{padding:48px 6%}[data-gp-theme="review-crossfire"] h1{font-size:clamp(2.5rem,10vw,4.5rem)}[data-gp-theme="review-crossfire"] h2{font-size:2.2rem}[data-gp-theme="review-crossfire"] .site-footer{padding:40px 6% 20px}[data-gp-theme="review-crossfire"] .layout-edge [data-gp-theme="review-crossfire"]>section:first-child{min-height:70vh}[data-gp-theme="review-crossfire"] th,[data-gp-theme="review-crossfire"] td{padding:10px 8px}}@container fs-editor-canvas (max-width: 850px){[data-gp-theme="review-crossfire"] .header-inner{gap:15px;min-height:78px;padding:16px 22px}[data-gp-theme="review-crossfire"] .site-brand{font-size:1.4rem}[data-gp-theme="review-crossfire"] .primary-nav{gap:18px}[data-gp-theme="review-crossfire"] .primary-nav>a{display:none}[data-gp-theme="review-crossfire"] .mobile-menu{display:block}[data-gp-theme="review-crossfire"] .nav-disclosure>summary{font-size:0}[data-gp-theme="review-crossfire"] .nav-disclosure>summary:before{content:'Menu';font-size:.85rem}[data-gp-theme="review-crossfire"] .nav-disclosure>summary:after{font-size:1.1rem}[data-gp-theme="review-crossfire"] .mega-panel,[data-gp-theme="review-crossfire"] .menu-style-3 .mega-panel{position:fixed;inset:78px 0 0;width:100%;overflow:auto;min-height:0;padding:28px 24px}[data-gp-theme="review-crossfire"] .mega-content,[data-gp-theme="review-crossfire"] .menu-style-1 .mega-content,[data-gp-theme="review-crossfire"] .menu-style-2 .mega-content{grid-template-columns:1fr;gap:20px}[data-gp-theme="review-crossfire"] .mega-links,[data-gp-theme="review-crossfire"] .menu-style-1 .mega-links,[data-gp-theme="review-crossfire"] .menu-style-2 .mega-links,[data-gp-theme="review-crossfire"] .menu-style-3 .mega-links{grid-template-columns:1fr}[data-gp-theme="review-crossfire"] .mega-links a{font-size:1.15rem}[data-gp-theme="review-crossfire"] .header-cta{padding:10px 13px}[data-gp-theme="review-crossfire"] .footer-top{display:block}[data-gp-theme="review-crossfire"] .footer-links{margin-top:30px}[data-gp-theme="review-crossfire"] .footer-bottom{display:block}[data-gp-theme="review-crossfire"] .footer-bottom span{display:block;margin:10px 0}[data-gp-theme="review-crossfire"] .layout-boxed main{margin:16px}[data-gp-theme="review-crossfire"] .layout-centered [data-gp-theme="review-crossfire"]>section{max-width:100%}[data-gp-theme="review-crossfire"]>section{padding:48px 6%}[data-gp-theme="review-crossfire"] h1{font-size:clamp(2.5rem,10cqw,4.5rem)}[data-gp-theme="review-crossfire"] h2{font-size:2.2rem}[data-gp-theme="review-crossfire"] .site-footer{padding:40px 6% 20px}[data-gp-theme="review-crossfire"] .layout-edge [data-gp-theme="review-crossfire"]>section:first-child{min-height:70vh}[data-gp-theme="review-crossfire"] th,[data-gp-theme="review-crossfire"] td{padding:10px 8px}}@media(max-width:450px){[data-gp-theme="review-crossfire"] .header-cta{font-size:.72rem}[data-gp-theme="review-crossfire"] .site-brand{max-width:160px;font-size:1.25rem}[data-gp-theme="review-crossfire"] .header-inner{gap:12px;padding:16px}[data-gp-theme="review-crossfire"] .brand-mark{width:22px;height:22px}[data-gp-theme="review-crossfire"] .site-brand img{max-width:150px}[data-gp-theme="review-crossfire"] .standalone-tools{padding:8px 12px}[data-gp-theme="review-crossfire"] .standalone-tools label{font-size:11px}[data-gp-theme="review-crossfire"] .mega-intro strong{font-size:1.7rem}}@container fs-editor-canvas (max-width: 450px){[data-gp-theme="review-crossfire"] .header-cta{font-size:.72rem}[data-gp-theme="review-crossfire"] .site-brand{max-width:160px;font-size:1.25rem}[data-gp-theme="review-crossfire"] .header-inner{gap:12px;padding:16px}[data-gp-theme="review-crossfire"] .brand-mark{width:22px;height:22px}[data-gp-theme="review-crossfire"] .site-brand img{max-width:150px}[data-gp-theme="review-crossfire"] .standalone-tools{padding:8px 12px}[data-gp-theme="review-crossfire"] .standalone-tools label{font-size:11px}[data-gp-theme="review-crossfire"] .mega-intro strong{font-size:1.7rem}}@media(prefers-reduced-motion:reduce){[data-gp-theme="review-crossfire"]{scroll-behavior:auto}[data-gp-theme="review-crossfire"] *,[data-gp-theme="review-crossfire"] *:before,[data-gp-theme="review-crossfire"] *:after{animation:none!important;transition:none!important}}

/* Readability pass: use the authored foreground rather than the browser grey. */
[data-gp-theme="review-crossfire"] input::placeholder,[data-gp-theme="review-crossfire"] textarea::placeholder{color:var(--ink);opacity:1}


@font-face{font-family:Display;src:url('/gpt-themes/review-crossfire/v1/fonts/big-shoulders-display-latin.woff2');font-display:swap}@font-face{font-family:Body;src:url('/gpt-themes/review-crossfire/v1/fonts/work-sans-latin.woff2');font-display:swap}
[data-gp-theme="review-crossfire"] .theme-crossfire{font-family:Body,sans-serif;line-height:1.65;background:var(--bg);color:var(--ink)}
[data-gp-theme="review-crossfire"] .theme-crossfire h1,[data-gp-theme="review-crossfire"] .theme-crossfire h2,[data-gp-theme="review-crossfire"] .theme-crossfire h3{font-family:Display,serif;line-height:1.08;font-weight:500;letter-spacing:-.025em;margin:0 0 20px}
[data-gp-theme="review-crossfire"] .theme-crossfire h1{font-size:clamp(42px,6vw,88px);max-width:14ch}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-crossfire"] .theme-crossfire h1{font-size:clamp(42px,6cqw,88px)}}[data-gp-theme="review-crossfire"] .theme-crossfire h2{font-size:clamp(28px,3.5vw,46px);max-width:24ch}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="review-crossfire"] .theme-crossfire h2{font-size:clamp(28px,3.5cqw,46px)}}[data-gp-theme="review-crossfire"] .theme-crossfire h3{font-size:24px}
[data-gp-theme="review-crossfire"] .theme-crossfire main{max-width:1440px;margin:auto}[data-gp-theme="review-crossfire"] .theme-crossfire [data-gp-theme="review-crossfire"]>section,[data-gp-theme="review-crossfire"] .theme-crossfire .page-intro{padding:70px clamp(24px,5vw,76px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="review-crossfire"] .theme-crossfire [data-gp-theme="review-crossfire"]>section,[data-gp-theme="review-crossfire"] .theme-crossfire .page-intro{padding:70px clamp(24px,5cqw,76px)}}
[data-gp-theme="review-crossfire"] .theme-crossfire [data-gp-theme="review-crossfire"]>section+section{border-top:1px solid var(--line)}[data-gp-theme="review-crossfire"] .theme-crossfire p{max-width:68ch;margin:0 0 20px}[data-gp-theme="review-crossfire"] .theme-crossfire .lede{font-size:clamp(18px,2vw,23px);line-height:1.55;max-width:44ch}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="review-crossfire"] .theme-crossfire .lede{font-size:clamp(18px,2cqw,23px)}}
[data-gp-theme="review-crossfire"] .theme-crossfire .place{color:var(--brand);font-size:14px}[data-gp-theme="review-crossfire"] .theme-crossfire .sample{display:block;color:var(--muted);font-size:12px;margin-top:18px;line-height:1.5}
[data-gp-theme="review-crossfire"] .theme-crossfire .hero{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center;min-height:680px}[data-gp-theme="review-crossfire"] .theme-crossfire .hero-copy{position:relative;z-index:1}
[data-gp-theme="review-crossfire"] .theme-crossfire img{display:block;width:100%;height:auto;object-fit:cover}[data-gp-theme="review-crossfire"] .theme-crossfire figure{margin:0}[data-gp-theme="review-crossfire"] .theme-crossfire figcaption{font-size:12px;color:var(--muted);padding:10px 0}[data-gp-theme="review-crossfire"] .theme-crossfire .hero figure img{height:520px}
[data-gp-theme="review-crossfire"] .theme-crossfire .actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}[data-gp-theme="review-crossfire"] .theme-crossfire .action,[data-gp-theme="review-crossfire"] .theme-crossfire button{font:inherit;display:inline-block;border:1px solid var(--brand);padding:12px 20px;background:var(--brand);color:var(--bg);text-decoration:none;cursor:pointer}
[data-gp-theme="review-crossfire"] .theme-crossfire .actions .action+ .action{background:transparent;color:var(--ink)}[data-gp-theme="review-crossfire"] .theme-crossfire a:focus-visible,[data-gp-theme="review-crossfire"] .theme-crossfire button:focus-visible,[data-gp-theme="review-crossfire"] .theme-crossfire input:focus-visible,[data-gp-theme="review-crossfire"] .theme-crossfire select:focus-visible,[data-gp-theme="review-crossfire"] .theme-crossfire summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
[data-gp-theme="review-crossfire"] .theme-crossfire button:hover,[data-gp-theme="review-crossfire"] .theme-crossfire .action:hover{filter:brightness(.92)}[data-gp-theme="review-crossfire"] .theme-crossfire .split{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}[data-gp-theme="review-crossfire"] .theme-crossfire .records{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}[data-gp-theme="review-crossfire"] .theme-crossfire .records article{padding:28px;background:var(--surface);border:1px solid var(--line)}
[data-gp-theme="review-crossfire"] .theme-crossfire details{border-bottom:1px solid var(--line);margin:12px 0}[data-gp-theme="review-crossfire"] .theme-crossfire summary{cursor:pointer;padding:16px 0;color:var(--brand)}[data-gp-theme="review-crossfire"] .theme-crossfire details>div{padding:0 0 22px;max-width:68ch}[data-gp-theme="review-crossfire"] .theme-crossfire table{width:100%;border-collapse:collapse;text-align:left;min-width:460px}[data-gp-theme="review-crossfire"] .theme-crossfire caption{text-align:left;font-size:13px;margin:0 0 16px;color:var(--muted)}[data-gp-theme="review-crossfire"] .theme-crossfire td,[data-gp-theme="review-crossfire"] .theme-crossfire th{padding:16px 20px;border-bottom:1px solid var(--line);font-weight:400;vertical-align:top}[data-gp-theme="review-crossfire"] .theme-crossfire thead{background:var(--surface)}[data-gp-theme="review-crossfire"] .theme-crossfire th:first-child{font-weight:600}[data-gp-theme="review-crossfire"] .theme-crossfire .table-wrap{overflow:auto}
[data-gp-theme="review-crossfire"] .theme-crossfire .tab-buttons{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}[data-gp-theme="review-crossfire"] .theme-crossfire .tab-buttons button{background:var(--surface);color:var(--ink);border-color:var(--line)}[data-gp-theme="review-crossfire"] .theme-crossfire .tab-buttons [aria-selected=true],[data-gp-theme="review-crossfire"] .theme-crossfire .tab-buttons [aria-pressed=true]{background:var(--brand);color:var(--bg)}[data-gp-theme="review-crossfire"] .theme-crossfire [data-tab-panel]{padding:28px;background:var(--surface)}
[data-gp-theme="review-crossfire"] .theme-crossfire form{padding:32px;background:var(--surface);border:1px solid var(--line)}[data-gp-theme="review-crossfire"] .theme-crossfire .form-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}[data-gp-theme="review-crossfire"] .theme-crossfire label{display:block;font-size:14px}[data-gp-theme="review-crossfire"] .theme-crossfire input:not([type=checkbox]),[data-gp-theme="review-crossfire"] .theme-crossfire select,[data-gp-theme="review-crossfire"] .theme-crossfire textarea{box-sizing:border-box;width:100%;padding:12px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;margin:8px 0}[data-gp-theme="review-crossfire"] .theme-crossfire textarea{resize:vertical}[data-gp-theme="review-crossfire"] .theme-crossfire .form-feedback{display:block;margin-top:18px}[data-gp-theme="review-crossfire"] .theme-crossfire .checklist{list-style:none;padding:0}[data-gp-theme="review-crossfire"] .theme-crossfire .checklist li{padding:14px 0;border-bottom:1px solid var(--line)}[data-gp-theme="review-crossfire"] .theme-crossfire .checklist label{display:flex;gap:12px}[data-gp-theme="review-crossfire"] .theme-crossfire input[type=checkbox]{accent-color:var(--brand);width:18px;height:18px}
[data-gp-theme="review-crossfire"] .theme-crossfire .process{display:flex;gap:28px;padding:0;list-style:none;counter-reset:step}[data-gp-theme="review-crossfire"] .theme-crossfire .process li{flex:1;border-top:3px solid var(--brand);padding-top:24px;counter-increment:step}[data-gp-theme="review-crossfire"] .theme-crossfire .process li:before{content:counter(step);display:block;font-size:14px;color:var(--muted);margin-bottom:18px}[data-gp-theme="review-crossfire"] .theme-crossfire .calculator{padding:28px;border:1px solid var(--line);background:var(--surface)}[data-gp-theme="review-crossfire"] .theme-crossfire .calculator strong{font-size:40px;font-family:Display}[data-gp-theme="review-crossfire"] .theme-crossfire .calculator input{max-width:140px;display:block}
[data-gp-theme="review-crossfire"] .theme-crossfire .page-intro{border-bottom:1px solid var(--line);background:var(--surface)}[data-gp-theme="review-crossfire"] .theme-crossfire .page-intro h1{max-width:18ch}[data-gp-theme="review-crossfire"] .theme-crossfire .visual{background:var(--surface);padding:30px}[data-gp-theme="review-crossfire"] .theme-crossfire .tag{display:inline-block;border:1px solid var(--line);padding:4px 9px;font-size:12px;margin:0 6px 10px 0}[data-gp-theme="review-crossfire"] .theme-crossfire .note{border-left:4px solid var(--accent);padding:18px 26px;background:var(--surface)}[data-gp-theme="review-crossfire"] .theme-crossfire .wide-photo img{max-height:480px}[data-gp-theme="review-crossfire"] .theme-crossfire .photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}[data-gp-theme="review-crossfire"] .theme-crossfire .photo-pair img{height:300px}
@media(max-width:760px){[data-gp-theme="review-crossfire"] .theme-crossfire .hero,[data-gp-theme="review-crossfire"] .theme-crossfire .split,[data-gp-theme="review-crossfire"] .theme-crossfire .records{grid-template-columns:1fr}[data-gp-theme="review-crossfire"] .theme-crossfire .hero{min-height:0;gap:28px}[data-gp-theme="review-crossfire"] .theme-crossfire .hero figure img{height:340px}[data-gp-theme="review-crossfire"] .theme-crossfire [data-gp-theme="review-crossfire"]>section,[data-gp-theme="review-crossfire"] .theme-crossfire .page-intro{padding:40px 22px}[data-gp-theme="review-crossfire"] .theme-crossfire .process{display:block}[data-gp-theme="review-crossfire"] .theme-crossfire .process li{margin-bottom:28px}[data-gp-theme="review-crossfire"] .theme-crossfire .form-fields{grid-template-columns:1fr}[data-gp-theme="review-crossfire"] .theme-crossfire .photo-pair{grid-template-columns:1fr}}
@container fs-editor-canvas (max-width: 760px){[data-gp-theme="review-crossfire"] .theme-crossfire .hero,[data-gp-theme="review-crossfire"] .theme-crossfire .split,[data-gp-theme="review-crossfire"] .theme-crossfire .records{grid-template-columns:1fr}[data-gp-theme="review-crossfire"] .theme-crossfire .hero{min-height:0;gap:28px}[data-gp-theme="review-crossfire"] .theme-crossfire .hero figure img{height:340px}[data-gp-theme="review-crossfire"] .theme-crossfire [data-gp-theme="review-crossfire"]>section,[data-gp-theme="review-crossfire"] .theme-crossfire .page-intro{padding:40px 22px}[data-gp-theme="review-crossfire"] .theme-crossfire .process{display:block}[data-gp-theme="review-crossfire"] .theme-crossfire .process li{margin-bottom:28px}[data-gp-theme="review-crossfire"] .theme-crossfire .form-fields{grid-template-columns:1fr}[data-gp-theme="review-crossfire"] .theme-crossfire .photo-pair{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="review-crossfire"] .theme-crossfire *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

[data-gp-theme="review-crossfire"] .theme-crossfire h1{font-size:clamp(54px,6.5vw,104px);letter-spacing:-.015em;max-width:11ch}

@container fs-editor-canvas (min-width: 0px){

[data-gp-theme="review-crossfire"] .theme-crossfire h1{font-size:clamp(54px,6.5cqw,104px)}}[data-gp-theme="review-crossfire"] .theme-crossfire .hero{grid-template-columns:.95fr 1.1fr;min-height:730px;overflow:hidden}[data-gp-theme="review-crossfire"] .theme-crossfire .hero figure{border-radius:100px 8px 100px 8px;overflow:hidden;transform:rotate(-3deg);border:8px solid var(--surface)}[data-gp-theme="review-crossfire"] .theme-crossfire .hero figure img{height:480px}[data-gp-theme="review-crossfire"] .theme-crossfire .hero figcaption{padding:12px 20px;background:var(--surface)}[data-gp-theme="review-crossfire"] .theme-crossfire .action,[data-gp-theme="review-crossfire"] .theme-crossfire button{border-radius:40px}[data-gp-theme="review-crossfire"] .theme-crossfire .tube-rack{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}[data-gp-theme="review-crossfire"] .theme-crossfire .tube-rack figure{border:1px solid var(--brand);border-radius:70px 70px 8px 8px;padding:15px;background:var(--surface)}[data-gp-theme="review-crossfire"] .theme-crossfire .tube-rack figure:nth-child(2){margin-top:50px}[data-gp-theme="review-crossfire"] .theme-crossfire .tube-rack img{height:260px;object-fit:contain;border-radius:60px}[data-gp-theme="review-crossfire"] .theme-crossfire .tube-preview{max-width:620px;margin:auto}[data-gp-theme="review-crossfire"] .theme-crossfire .day-reading img{filter:saturate(.2) brightness(1.3);opacity:.75}[data-gp-theme="review-crossfire"] .theme-crossfire .tube-sheet{border:1px solid var(--brand);padding:30px;background:var(--surface);color:var(--brand)}[data-gp-theme="review-crossfire"] .theme-crossfire .tube-sheet p{font-size:13px;color:var(--ink)}[data-gp-theme="review-crossfire"] .theme-crossfire .tube-samples{display:flex;gap:36px}[data-gp-theme="review-crossfire"] .theme-crossfire .tube-samples>div{flex:1}[data-gp-theme="review-crossfire"] .theme-crossfire .tube-line{display:block;height:60px;border:7px solid #568ed1;border-right:0;border-radius:60px 0 0 60px;margin-bottom:25px;box-shadow:0 0 10px #568ed155,inset 0 0 8px #568ed133}[data-gp-theme="review-crossfire"] .theme-crossfire .tube-line.pink{border-color:#bb6a9a;box-shadow:0 0 10px #bb6a9a55}[data-gp-theme="review-crossfire"] .theme-crossfire .tube-line.amber{border-color:#c49a49;box-shadow:0 0 10px #c49a4955}[data-gp-theme="review-crossfire"] .theme-crossfire .records article{border-radius:35px 35px 5px 5px}[data-gp-theme="review-crossfire"] .theme-crossfire section[data-block=drawing-sheet]{background:var(--surface)}[data-gp-theme="review-crossfire"] .theme-crossfire .page-intro{border-bottom:6px double var(--brand)}@media(max-width:760px){[data-gp-theme="review-crossfire"] .theme-crossfire .hero{grid-template-columns:1fr}[data-gp-theme="review-crossfire"] .theme-crossfire .hero figure{transform:none}[data-gp-theme="review-crossfire"] .theme-crossfire .tube-rack{grid-template-columns:1fr}[data-gp-theme="review-crossfire"] .theme-crossfire .tube-rack figure:nth-child(2){margin:0}[data-gp-theme="review-crossfire"] .theme-crossfire .tube-samples{display:block}[data-gp-theme="review-crossfire"] .theme-crossfire .tube-samples>div{margin-bottom:36px}}@container fs-editor-canvas (max-width: 760px){[data-gp-theme="review-crossfire"] .theme-crossfire .hero{grid-template-columns:1fr}[data-gp-theme="review-crossfire"] .theme-crossfire .hero figure{transform:none}[data-gp-theme="review-crossfire"] .theme-crossfire .tube-rack{grid-template-columns:1fr}[data-gp-theme="review-crossfire"] .theme-crossfire .tube-rack figure:nth-child(2){margin:0}[data-gp-theme="review-crossfire"] .theme-crossfire .tube-samples{display:block}[data-gp-theme="review-crossfire"] .theme-crossfire .tube-samples>div{margin-bottom:36px}}
[data-gp-theme="review-crossfire"] .theme-crossfire{--font-body:Body;--font-display:Display}[data-gp-theme="review-crossfire"] .theme-crossfire[data-mode="dark"] .site-brand img{content:url('/gpt-themes/review-crossfire/v1/logo/reversed.svg')}[data-gp-theme="review-crossfire"] .theme-crossfire .site-brand img{width:210px;max-height:54px;object-fit:contain;object-position:left center}

[data-gp-theme="review-crossfire"] .theme-crossfire .hero h1{font-size:clamp(52px,5.5vw,84px);max-width:14ch}

@container fs-editor-canvas (min-width: 0px){

[data-gp-theme="review-crossfire"] .theme-crossfire .hero h1{font-size:clamp(52px,5.5cqw,84px)}}

@font-face{font-family:Shoulders;src:url('/gpt-themes/review-crossfire/refined-assets/big-shoulders.woff2') format("woff2");font-display:swap}
@font-face{font-family:Work;src:url('/gpt-themes/review-crossfire/refined-assets/work-sans.woff2') format("woff2");font-display:swap}
[data-gp-theme="review-crossfire"] *{box-sizing:border-box}
[data-gp-theme="review-crossfire"] a{color:inherit;text-decoration:none}
[data-gp-theme="review-crossfire"] button{font:inherit}
[data-gp-theme="review-crossfire"] a:focus-visible,[data-gp-theme="review-crossfire"] summary:focus-visible{outline:3px solid #8fb9ff;outline-offset:5px}
[data-gp-theme="review-crossfire"] .site-header{position:absolute;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:27px clamp(22px,4vw,76px);gap:28px;border-bottom:1px solid #ffffff35;background:linear-gradient(#070711bc,#07071100)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-crossfire"] .site-header{padding:27px clamp(22px,4cqw,76px)}}
[data-gp-theme="review-crossfire"] .brand{font:700 31px Shoulders,Impact,sans-serif;letter-spacing:.06em;line-height:.8}
[data-gp-theme="review-crossfire"] .brand span{display:block;font:500 9px Work,Arial,sans-serif;letter-spacing:.25em;color:#b3afcb;margin-top:8px}
[data-gp-theme="review-crossfire"] .nav{display:flex;gap:clamp(15px,2vw,32px);align-items:center}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-crossfire"] .nav{gap:clamp(15px,2cqw,32px)}}
[data-gp-theme="review-crossfire"] .nav>a{font-size:13px;font-weight:650;text-transform:uppercase;letter-spacing:.1em}
[data-gp-theme="review-crossfire"] .nav>a:hover{color:#ff8cbd}
[data-gp-theme="review-crossfire"] .nav .brief{padding:13px 19px;border:1px solid #ff93cf;color:#ffb0d9;box-shadow:inset 0 0 14px #ff51b327,0 0 18px #ff51b326}
[data-gp-theme="review-crossfire"] .mobile-menu{display:none}
[data-gp-theme="review-crossfire"] .mobile-menu summary{cursor:pointer;list-style:none;font:700 18px Shoulders;letter-spacing:.08em}
[data-gp-theme="review-crossfire"] .hero{position:relative;min-height:min(900px,100svh);display:grid;align-items:end;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 67% 43%,#202140 0,#0b0c17 45%,#07070d 77%)}
[data-gp-theme="review-crossfire"] .hero:before{content:"";position:absolute;inset:0;background:url('/gpt-themes/review-crossfire/refined-assets/crossfire-installation.png') 62% center/cover no-repeat;z-index:-2;animation:var(--fs-anim-rfEntrance,rf-crossfire-revealRoom 1.4s ease both)}
[data-gp-theme="review-crossfire"] .hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#080810f5 0%,#080810c8 27%,#08081038 68%),linear-gradient(0deg,#080810ed 0%,transparent 43%);z-index:-1}
[data-gp-theme="review-crossfire"] .hero-inner{width:100%;padding:165px clamp(22px,4vw,76px) 34px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-crossfire"] .hero-inner{padding:165px clamp(22px,4cqw,76px) 34px}}
[data-gp-theme="review-crossfire"] .overline{display:flex;align-items:center;gap:13px;color:#ff9ccd;text-transform:uppercase;font-size:12px;letter-spacing:.25em;font-weight:700}
[data-gp-theme="review-crossfire"] .overline:before{content:"";width:35px;height:2px;background:#ff9ccd;box-shadow:0 0 12px #ff9ccd}
[data-gp-theme="review-crossfire"] h1,[data-gp-theme="review-crossfire"] h2,[data-gp-theme="review-crossfire"] h3,[data-gp-theme="review-crossfire"] p{margin-top:0}
[data-gp-theme="review-crossfire"] h1{font:750 clamp(6.2rem,14.5vw,17rem)/.76 Shoulders,Impact,sans-serif;letter-spacing:-.055em;text-transform:uppercase;max-width:6ch;margin:42px 0 52px;text-shadow:0 2px 22px #000}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-crossfire"] h1{font:750 clamp(6.2rem,14.5cqw,17rem)/.76 Shoulders,Impact,sans-serif}}
[data-gp-theme="review-crossfire"] h1 em{font-style:normal;color:#9fb7ff;text-shadow:0 0 12px #7d9fff,0 0 42px #6c7bff88}
[data-gp-theme="review-crossfire"] h1 .line{display:block;white-space:nowrap}
[data-gp-theme="review-crossfire"] .hero-bottom{border-top:1px solid #ffffff57;padding-top:23px;display:grid;grid-template-columns:minmax(250px,1fr) auto auto;align-items:end;gap:28px}
[data-gp-theme="review-crossfire"] .hero-copy{font-size:clamp(1.05rem,1.45vw,1.4rem);line-height:1.5;max-width:34ch;color:#d9d9e7;margin-bottom:0}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-crossfire"] .hero-copy{font-size:clamp(1.05rem,1.45cqw,1.4rem)}}
[data-gp-theme="review-crossfire"] .hero-copy strong{color:#fff}
[data-gp-theme="review-crossfire"] .primary-link{display:inline-flex;align-items:center;justify-content:space-between;gap:55px;padding:19px 23px;background:#f2a5d2;color:#1b0715;font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;min-width:235px;transition:var(--fs-anim-rfFeedback,transform .2s,box-shadow .2s)}
[data-gp-theme="review-crossfire"] .primary-link:hover{transform:translateY(-4px);box-shadow:0 0 36px #ff81c177}
[data-gp-theme="review-crossfire"] .primary-link span{font-size:26px;line-height:.5}
[data-gp-theme="review-crossfire"] .scroll-note{writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:.2em;font-size:10px;color:#b6b4cf;align-self:center}
[data-gp-theme="review-crossfire"] .crawl{display:flex;justify-content:space-between;gap:20px;padding:17px clamp(22px,4vw,76px);background:#ff96cc;color:#170b18;font:700 clamp(1rem,1.4vw,1.4rem) Shoulders,Impact,sans-serif;letter-spacing:.12em;text-transform:uppercase}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-crossfire"] .crawl{padding:17px clamp(22px,4cqw,76px);font:700 clamp(1rem,1.4cqw,1.4rem) Shoulders,Impact,sans-serif}}
[data-gp-theme="review-crossfire"] .crawl span{white-space:nowrap}
[data-gp-theme="review-crossfire"] .work-section{padding:clamp(70px,9vw,145px) clamp(22px,4vw,76px);background:#0d0e19}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-crossfire"] .work-section{padding:clamp(70px,9cqw,145px) clamp(22px,4cqw,76px)}}
[data-gp-theme="review-crossfire"] .section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:46px}
[data-gp-theme="review-crossfire"] .section-head .eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.22em;color:#a8a9c8}
[data-gp-theme="review-crossfire"] h2{font:700 clamp(4rem,10vw,11rem)/.82 Shoulders,Impact,sans-serif;text-transform:uppercase;letter-spacing:-.035em;margin:12px 0 0}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-crossfire"] h2{font:700 clamp(4rem,10cqw,11rem)/.82 Shoulders,Impact,sans-serif}}
[data-gp-theme="review-crossfire"] .section-head p{max-width:29ch;line-height:1.5;color:#aaaec5;margin:0}
[data-gp-theme="review-crossfire"] .work-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}
[data-gp-theme="review-crossfire"] .work-card{position:relative;min-height:440px;background:#171825;border:1px solid #494657;overflow:hidden;display:flex;flex-direction:column;justify-content:end;padding:24px}
[data-gp-theme="review-crossfire"] .work-card:before{content:"";position:absolute;inset:0;background:var(--art) center/65% auto no-repeat;opacity:.78;transition:var(--fs-anim-rfFeedback,transform .45s,opacity .45s)}
[data-gp-theme="review-crossfire"] .work-card:hover:before{transform:scale(1.08);opacity:1}
[data-gp-theme="review-crossfire"] .work-card:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#0a0a15)}
[data-gp-theme="review-crossfire"] .work-card>*{position:relative;z-index:1}
[data-gp-theme="review-crossfire"] .work-card:nth-child(2){background:#191222}
[data-gp-theme="review-crossfire"] .work-card small{color:#ff9ccd;letter-spacing:.2em;font-size:11px;text-transform:uppercase}
[data-gp-theme="review-crossfire"] .work-card h3{font:700 clamp(2.5rem,4vw,5rem)/.9 Shoulders;text-transform:uppercase;margin:10px 0 0}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-crossfire"] .work-card h3{font:700 clamp(2.5rem,4cqw,5rem)/.9 Shoulders}}
[data-gp-theme="review-crossfire"] .process{display:grid;grid-template-columns:1fr 1fr 1fr;background:#e5def0;color:#1b1728;padding:0 clamp(22px,4vw,76px)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-crossfire"] .process{padding:0 clamp(22px,4cqw,76px)}}
[data-gp-theme="review-crossfire"] .step{padding:58px clamp(16px,3vw,55px) 70px;border-left:1px solid #aea7b9}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-crossfire"] .step{padding:58px clamp(16px,3cqw,55px) 70px}}
[data-gp-theme="review-crossfire"] .step:last-child{border-right:1px solid #aea7b9}
[data-gp-theme="review-crossfire"] .step .num{font:700 5rem Shoulders;color:#5b4777}
[data-gp-theme="review-crossfire"] .step h3{font:700 3rem Shoulders;text-transform:uppercase;margin:20px 0 8px}
[data-gp-theme="review-crossfire"] .step p{line-height:1.5;max-width:27ch}
[data-gp-theme="review-crossfire"] footer strong{font:700 clamp(4rem,9vw,10rem)/.8 Shoulders}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-crossfire"] footer strong{font:700 clamp(4rem,9cqw,10rem)/.8 Shoulders}}
[data-gp-theme="review-crossfire"] footer p{color:#aaaec5;font-size:13px;max-width:30ch;line-height:1.6}
[data-gp-theme="review-crossfire"] footer a{text-decoration:underline;text-underline-offset:5px}
@keyframes rf-crossfire-revealRoom{from{opacity:.72;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}
@media(max-width:900px){[data-gp-theme="review-crossfire"] .nav{display:none}
[data-gp-theme="review-crossfire"] .mobile-menu{display:block;position:relative}
[data-gp-theme="review-crossfire"] .mobile-menu[open] nav{display:grid;position:absolute;top:40px;right:0;width:min(75vw,290px);padding:25px;background:#141222;border:1px solid #8f81b2;gap:18px}
[data-gp-theme="review-crossfire"] .mobile-menu nav a{display:block;text-transform:uppercase;font-size:14px}
[data-gp-theme="review-crossfire"] .hero{min-height:760px}
[data-gp-theme="review-crossfire"] .hero:before{background-position:63% center}
[data-gp-theme="review-crossfire"] .hero-inner{padding-top:140px}
[data-gp-theme="review-crossfire"] .hero-bottom{grid-template-columns:1fr auto}
[data-gp-theme="review-crossfire"] .scroll-note{display:none}
[data-gp-theme="review-crossfire"] .work-grid{grid-template-columns:1fr 1fr}
[data-gp-theme="review-crossfire"] .process{grid-template-columns:1fr}
[data-gp-theme="review-crossfire"] .step{border-right:1px solid #aea7b9}}
@container fs-editor-canvas (max-width: 900px){[data-gp-theme="review-crossfire"] .nav{display:none}
[data-gp-theme="review-crossfire"] .mobile-menu{display:block;position:relative}
[data-gp-theme="review-crossfire"] .mobile-menu[open] nav{display:grid;position:absolute;top:40px;right:0;width:min(75cqw,290px);padding:25px;background:#141222;border:1px solid #8f81b2;gap:18px}
[data-gp-theme="review-crossfire"] .mobile-menu nav a{display:block;text-transform:uppercase;font-size:14px}
[data-gp-theme="review-crossfire"] .hero{min-height:760px}
[data-gp-theme="review-crossfire"] .hero:before{background-position:63% center}
[data-gp-theme="review-crossfire"] .hero-inner{padding-top:140px}
[data-gp-theme="review-crossfire"] .hero-bottom{grid-template-columns:1fr auto}
[data-gp-theme="review-crossfire"] .scroll-note{display:none}
[data-gp-theme="review-crossfire"] .work-grid{grid-template-columns:1fr 1fr}
[data-gp-theme="review-crossfire"] .process{grid-template-columns:1fr}
[data-gp-theme="review-crossfire"] .step{border-right:1px solid #aea7b9}}
@media(max-width:630px){[data-gp-theme="review-crossfire"] .hero{min-height:740px}
[data-gp-theme="review-crossfire"] .hero:before{background-position:65% center}
[data-gp-theme="review-crossfire"] .hero:after{background:linear-gradient(0deg,#080810 0%,#080810c9 40%,#08081037 80%),linear-gradient(90deg,#080810a8,transparent 90%)}
[data-gp-theme="review-crossfire"] h1{font-size:clamp(6.2rem,22vw,10rem);margin:150px 0 30px}
[data-gp-theme="review-crossfire"] .hero-bottom{grid-template-columns:1fr;gap:18px}
[data-gp-theme="review-crossfire"] .hero-copy{max-width:32ch}
[data-gp-theme="review-crossfire"] .primary-link{width:100%}
[data-gp-theme="review-crossfire"] .crawl span:nth-child(n/**/+3){display:none}
[data-gp-theme="review-crossfire"] .section-head{display:block}
[data-gp-theme="review-crossfire"] .section-head p{margin-top:22px}
[data-gp-theme="review-crossfire"] .work-grid{grid-template-columns:1fr}
[data-gp-theme="review-crossfire"] .work-card{min-height:340px}
[data-gp-theme="review-crossfire"] footer p{margin-top:30px}}
@container fs-editor-canvas (max-width: 630px){[data-gp-theme="review-crossfire"] .hero{min-height:740px}
[data-gp-theme="review-crossfire"] .hero:before{background-position:65% center}
[data-gp-theme="review-crossfire"] .hero:after{background:linear-gradient(0deg,#080810 0%,#080810c9 40%,#08081037 80%),linear-gradient(90deg,#080810a8,transparent 90%)}
[data-gp-theme="review-crossfire"] h1{font-size:clamp(6.2rem,22cqw,10rem);margin:150px 0 30px}
[data-gp-theme="review-crossfire"] .hero-bottom{grid-template-columns:1fr;gap:18px}
[data-gp-theme="review-crossfire"] .hero-copy{max-width:32ch}
[data-gp-theme="review-crossfire"] .primary-link{width:100%}
[data-gp-theme="review-crossfire"] .crawl span:nth-child(n/**/+3){display:none}
[data-gp-theme="review-crossfire"] .section-head{display:block}
[data-gp-theme="review-crossfire"] .section-head p{margin-top:22px}
[data-gp-theme="review-crossfire"] .work-grid{grid-template-columns:1fr}
[data-gp-theme="review-crossfire"] .work-card{min-height:340px}
[data-gp-theme="review-crossfire"] footer p{margin-top:30px}}
[data-gp-theme="review-crossfire"] .photo-card:before{background-size:cover;background-position:66% center}
[data-gp-theme="review-crossfire"] .footer-nav{display:grid;gap:13px;min-width:200px;text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:700}
[data-gp-theme="review-crossfire"] .footer-nav a{text-decoration:none;border-bottom:1px solid #67667c;padding-bottom:9px}
[data-gp-theme="review-crossfire"] .footer-nav a:hover{color:#ff9ccd}
[data-gp-theme="review-crossfire"] .brief-panel{padding:clamp(65px,8vw,125px) clamp(22px,4vw,76px);background:#161421;color:#f5f4fc;display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,7vw,115px)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-crossfire"] .brief-panel{padding:clamp(65px,8cqw,125px) clamp(22px,4cqw,76px);gap:clamp(30px,7cqw,115px)}}
[data-gp-theme="review-crossfire"] .brief-panel h2{font-size:clamp(5rem,10vw,11rem);margin:30px 0}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-crossfire"] .brief-panel h2{font-size:clamp(5rem,10cqw,11rem)}}
[data-gp-theme="review-crossfire"] .brief-panel p{max-width:38ch;color:#c6c2d3;line-height:1.6}
[data-gp-theme="review-crossfire"] .brief-notes{border-top:2px solid #f39dcd}
[data-gp-theme="review-crossfire"] .brief-notes article{display:grid;grid-template-columns:60px 1fr;gap:5px 22px;border-bottom:1px solid #6e647a;padding:23px 0}
[data-gp-theme="review-crossfire"] .brief-notes b{grid-row:span 2;font:700 3rem Shoulders;color:#f39dcd}
[data-gp-theme="review-crossfire"] .brief-notes strong{font:700 2rem Shoulders;text-transform:uppercase}
[data-gp-theme="review-crossfire"] .brief-notes span{font-size:13px;color:#c6c2d3}
[data-gp-theme="review-crossfire"] .inside-hero{min-height:580px;display:grid;align-items:end;position:relative;isolation:isolate;background:#090911;padding:170px clamp(22px,4vw,76px) 62px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-crossfire"] .inside-hero{padding:170px clamp(22px,4cqw,76px) 62px}}
[data-gp-theme="review-crossfire"] .inside-hero:before{content:"";position:absolute;inset:0;background:url('/gpt-themes/review-crossfire/refined-assets/crossfire-installation.png') 60% center/cover no-repeat;z-index:-2}
[data-gp-theme="review-crossfire"] .inside-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#080810e8 0%,#08081085 47%,#08081015 100%),linear-gradient(0deg,#080810e5,transparent 60%);z-index:-1}
[data-gp-theme="review-crossfire"] .inside-hero h1{font-size:clamp(5rem,12vw,13rem);max-width:8ch;margin:35px 0 22px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-crossfire"] .inside-hero h1{font-size:clamp(5rem,12cqw,13rem)}}
[data-gp-theme="review-crossfire"] .inside-hero p:last-child{max-width:37ch;font-size:1.2rem;line-height:1.5;color:#efedf7}
[data-gp-theme="review-crossfire"] .study-strip{display:grid;grid-template-columns:1.3fr 1fr;gap:0;background:#171725;color:#e9e8f6}
[data-gp-theme="review-crossfire"] .study-strip img{width:100%;height:100%;min-height:450px;object-fit:cover}
[data-gp-theme="review-crossfire"] .study-note{padding:clamp(35px,5vw,85px);display:flex;flex-direction:column;justify-content:space-between}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-crossfire"] .study-note{padding:clamp(35px,5cqw,85px)}}
[data-gp-theme="review-crossfire"] .study-note small{color:#ffa3d6;letter-spacing:.2em;text-transform:uppercase;font-size:11px}
[data-gp-theme="review-crossfire"] .study-note h2{font-size:clamp(4rem,7vw,8rem);margin:25px 0}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-crossfire"] .study-note h2{font-size:clamp(4rem,7cqw,8rem)}}
[data-gp-theme="review-crossfire"] .study-note p{line-height:1.6;color:#c8c6d7;max-width:30ch}
[data-gp-theme="review-crossfire"] .study-note a{font-size:13px;text-transform:uppercase;color:#ffaad6;border-bottom:1px solid #ffaad6;align-self:flex-start;padding-bottom:7px}
[data-gp-theme="review-crossfire"] .study-types{padding:80px clamp(22px,4vw,76px);background:#e5def0;color:#1b1728}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-crossfire"] .study-types{padding:80px clamp(22px,4cqw,76px)}}
[data-gp-theme="review-crossfire"] .study-types h2{font-size:clamp(4rem,8vw,9rem);margin-bottom:35px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-crossfire"] .study-types h2{font-size:clamp(4rem,8cqw,9rem)}}
[data-gp-theme="review-crossfire"] .type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#9690a5;border:1px solid #9690a5}
[data-gp-theme="review-crossfire"] .type-grid article{background:#e5def0;padding:30px;min-height:260px}
[data-gp-theme="review-crossfire"] .type-grid b{font:700 5rem Shoulders;color:#5b4777}
[data-gp-theme="review-crossfire"] .type-grid h3{font:700 2.5rem Shoulders;text-transform:uppercase;margin:20px 0 10px}
[data-gp-theme="review-crossfire"] .type-grid p{line-height:1.5}
[data-gp-theme="review-crossfire"] .backlink{display:inline-block;margin-top:24px;text-transform:uppercase;letter-spacing:.14em;color:#ffa3d6;font-size:12px}
@media(max-width:700px){[data-gp-theme="review-crossfire"] .footer-nav{margin-top:32px}
[data-gp-theme="review-crossfire"] .brief-panel{grid-template-columns:1fr}
[data-gp-theme="review-crossfire"] .inside-hero{min-height:620px;padding-top:150px}
[data-gp-theme="review-crossfire"] .inside-hero h1{font-size:clamp(5.5rem,21vw,9rem)}
[data-gp-theme="review-crossfire"] .study-strip{grid-template-columns:1fr}
[data-gp-theme="review-crossfire"] .study-strip img{min-height:340px}
[data-gp-theme="review-crossfire"] .study-note{min-height:430px}
[data-gp-theme="review-crossfire"] .type-grid{grid-template-columns:1fr}
[data-gp-theme="review-crossfire"] .type-grid article{min-height:190px}}
@container fs-editor-canvas (max-width: 700px){[data-gp-theme="review-crossfire"] .footer-nav{margin-top:32px}
[data-gp-theme="review-crossfire"] .brief-panel{grid-template-columns:1fr}
[data-gp-theme="review-crossfire"] .inside-hero{min-height:620px;padding-top:150px}
[data-gp-theme="review-crossfire"] .inside-hero h1{font-size:clamp(5.5rem,21cqw,9rem)}
[data-gp-theme="review-crossfire"] .study-strip{grid-template-columns:1fr}
[data-gp-theme="review-crossfire"] .study-strip img{min-height:340px}
[data-gp-theme="review-crossfire"] .study-note{min-height:430px}
[data-gp-theme="review-crossfire"] .type-grid{grid-template-columns:1fr}
[data-gp-theme="review-crossfire"] .type-grid article{min-height:190px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="review-crossfire"] .hero:before{animation:none}
[data-gp-theme="review-crossfire"] .primary-link,[data-gp-theme="review-crossfire"] .work-card:before{transition:none}}

/* Crossfire: a lit workshop, including the pages from the earlier showroom. */
[data-gp-theme="review-crossfire"]{--font-body:Work,Arial,sans-serif;--font-display:Shoulders,Impact,sans-serif;--site-width:1380px;--button-radius:0;--card-radius:0;background:var(--bg);font-family:Work,Arial,sans-serif}
[data-gp-theme="review-crossfire"]{overflow:hidden;background:var(--bg)}
[data-gp-theme="review-crossfire"] .hero,[data-gp-theme="review-crossfire"] .inside-hero{color:#f5f4fc}
[data-gp-theme="review-crossfire"] .hero h1,[data-gp-theme="review-crossfire"] .inside-hero h1{color:#f5f4fc}
[data-gp-theme="review-crossfire"] .inside-hero h1{font-size:clamp(5rem,10vw,11rem);line-height:.92;max-width:8ch}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-crossfire"] .inside-hero h1{font-size:clamp(5rem,10cqw,11rem)}}
[data-gp-theme="review-crossfire"] .site-loader{background:#090911;color:#f5f4fc;font-family:Work,Arial,sans-serif}
[data-gp-theme="review-crossfire"] .site-loader h1{font:750 4rem Shoulders,Impact,sans-serif;text-transform:uppercase}
[data-gp-theme="review-crossfire"] .site-header{background:var(--bg);border-bottom:1px solid color-mix(in srgb,var(--ink) 26%,transparent)}
[data-gp-theme="review-crossfire"] .header-inner{max-width:none;min-height:82px;padding:14px clamp(22px,4vw,76px)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-crossfire"] .header-inner{padding:14px clamp(22px,4cqw,76px)}}
[data-gp-theme="review-crossfire"] .refined-brand{display:block;font:750 33px/.74 Shoulders,Impact,sans-serif;letter-spacing:.045em;color:var(--ink)}
[data-gp-theme="review-crossfire"] .refined-brand small{display:block;margin-top:9px;font:700 9px/1 Work,Arial,sans-serif;letter-spacing:.24em;color:var(--accent)}
[data-gp-theme="review-crossfire"] .primary-nav>a,[data-gp-theme="review-crossfire"] .nav-disclosure>summary{font-size:12px;font-weight:750;letter-spacing:.1em;text-transform:uppercase}
[data-gp-theme="review-crossfire"] .nav-disclosure.compact-nav{display:block}
[data-gp-theme="review-crossfire"] .header-cta{border:1px solid var(--accent);background:transparent;color:var(--ink);font-size:12px;text-transform:uppercase;letter-spacing:.06em}
[data-gp-theme="review-crossfire"] .header-cta:hover{background:var(--accent);color:var(--bg)}
[data-gp-theme="review-crossfire"] .nav-disclosure>.mega-panel{background:var(--bg);border:1px solid var(--accent);border-top:0;padding:30px clamp(22px,4vw,76px);box-shadow:0 28px 65px #0008}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-crossfire"] .nav-disclosure>.mega-panel{padding:30px clamp(22px,4cqw,76px)}}
[data-gp-theme="review-crossfire"] .mega-content{display:grid;grid-template-columns:minmax(200px,.85fr) minmax(170px,.75fr) minmax(300px,1.7fr);gap:clamp(20px,3vw,60px)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-crossfire"] .mega-content{gap:clamp(20px,3cqw,60px)}}
[data-gp-theme="review-crossfire"] .mega-intro small{display:block;color:var(--accent);text-transform:uppercase;letter-spacing:.2em;font-size:10px;margin-bottom:25px}
[data-gp-theme="review-crossfire"] .mega-intro strong{font:750 clamp(2.8rem,5vw,5.3rem)/.82 Shoulders,Impact,sans-serif;letter-spacing:-.025em;color:var(--ink)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-crossfire"] .mega-intro strong{font:750 clamp(2.8rem,5cqw,5.3rem)/.82 Shoulders,Impact,sans-serif}}
[data-gp-theme="review-crossfire"] .mega-intro p{font-size:14px;line-height:1.5;max-width:27ch;margin-top:20px}
[data-gp-theme="review-crossfire"] .mega-intro>a{display:inline-block;margin-top:15px;border-bottom:2px solid var(--accent);text-transform:uppercase;font-weight:750;font-size:12px;text-decoration:none;padding-bottom:7px}
[data-gp-theme="review-crossfire"] .mega-feature{min-height:250px;background:#090912;position:relative;overflow:hidden;display:flex;align-items:end;border:1px solid #ffffff2b}
[data-gp-theme="review-crossfire"] .mega-feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.75}
[data-gp-theme="review-crossfire"] .mega-feature p{position:relative;z-index:1;padding:15px;margin:0;color:#fff;background:#090912b0;font:700 11px/1.35 Work,Arial,sans-serif;text-transform:uppercase;letter-spacing:.09em}
[data-gp-theme="review-crossfire"] .mega-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:0 18px}
[data-gp-theme="review-crossfire"] .mega-links a{display:grid;grid-template-columns:28px 1fr auto;gap:9px;border-bottom:1px solid var(--line);min-width:0;text-transform:uppercase;font-size:12px;font-weight:700}
[data-gp-theme="review-crossfire"] .mega-links a:after{content:none}
[data-gp-theme="review-crossfire"] .mega-links a .link-number{color:var(--accent);font:700 12px Shoulders,Impact,sans-serif}
[data-gp-theme="review-crossfire"] .site-footer{background:var(--surface);padding:62px clamp(22px,4vw,76px) 25px;border-top:4px solid var(--accent)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-crossfire"] .site-footer{padding:62px clamp(22px,4cqw,76px) 25px}}
[data-gp-theme="review-crossfire"] .site-footer .site-brand{font:750 clamp(3.8rem,9vw,9rem)/.78 Shoulders,Impact,sans-serif;letter-spacing:-.045em;max-width:none}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-crossfire"] .site-footer .site-brand{font:750 clamp(3.8rem,9cqw,9rem)/.78 Shoulders,Impact,sans-serif}}
[data-gp-theme="review-crossfire"] .footer-links{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));max-width:550px;gap:0 25px}
[data-gp-theme="review-crossfire"] .footer-links a{padding:9px 0;border-bottom:1px solid var(--line);text-decoration:none;text-transform:uppercase;font-size:11px;letter-spacing:.07em}
[data-gp-theme="review-crossfire"] .page-intro{background:radial-gradient(circle at 76% 40%,color-mix(in srgb,var(--brand) 35%,#090911),#090911 60%);color:#f7f4ff;padding:clamp(80px,10vw,150px) clamp(24px,6vw,110px);border-bottom:2px solid var(--accent)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-crossfire"] .page-intro{padding:clamp(80px,10cqw,150px) clamp(24px,6cqw,110px)}}
[data-gp-theme="review-crossfire"] .page-intro h1{font:750 clamp(4.5rem,9vw,10rem)/.97 Shoulders,Impact,sans-serif;text-transform:uppercase;max-width:12ch;letter-spacing:-.035em;margin:20px 0}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-crossfire"] .page-intro h1{font:750 clamp(4.5rem,9cqw,10rem)/.97 Shoulders,Impact,sans-serif}}
[data-gp-theme="review-crossfire"] .page-intro .place{color:var(--accent);text-transform:uppercase;letter-spacing:.2em;font-size:12px}
[data-gp-theme="review-crossfire"] .page-intro .lede{font-size:clamp(1.15rem,1.65vw,1.55rem);max-width:45ch}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-crossfire"] .page-intro .lede{font-size:clamp(1.15rem,1.65cqw,1.55rem)}}
[data-gp-theme="review-crossfire"]>section[data-block]{border-top:1px solid var(--line);padding-block:clamp(60px,6vw,105px)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-crossfire"]>section[data-block]{padding-block:clamp(60px,6cqw,105px)}}
[data-gp-theme="review-crossfire"]>section[data-block] h2{font:750 clamp(3rem,6vw,6rem)/.87 Shoulders,Impact,sans-serif;text-transform:uppercase;letter-spacing:-.02em}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-crossfire"]>section[data-block] h2{font:750 clamp(3rem,6cqw,6rem)/.87 Shoulders,Impact,sans-serif}}
[data-gp-theme="review-crossfire"]>section[data-block]:nth-of-type(even){background:var(--surface)}
[data-gp-theme="review-crossfire"] .records article,[data-gp-theme="review-crossfire"] .split figure{border:1px solid var(--line);padding:18px}
[data-gp-theme="review-crossfire"] .action{border-radius:0;text-transform:uppercase;letter-spacing:.06em}
[data-gp-theme="review-crossfire"] .refined-preloader{background:#090911;color:#f7f4ff}
[data-gp-theme="review-crossfire"] .loader-trace{font:750 clamp(5rem,13vw,14rem)/.9 Shoulders,Impact,sans-serif;letter-spacing:.02em;color:transparent;-webkit-text-stroke:2px #f4a3d0;filter:drop-shadow(0 0 18px #f065bd);animation:var(--fs-anim-rfFeedback,rf-crossfire-tube-glow .62s ease both)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-crossfire"] .loader-trace{font:750 clamp(5rem,13cqw,14rem)/.9 Shoulders,Impact,sans-serif}}
[data-gp-theme="review-crossfire"] .loader-small{color:#f4a3d0}
@keyframes rf-crossfire-tube-glow{from{opacity:.1;filter:drop-shadow(0 0 0 transparent)}to{opacity:1;filter:drop-shadow(0 0 18px #f065bd)}}
[data-gp-theme="review-crossfire"].layout-full [data-gp-theme="review-crossfire"]{max-width:none;width:100%;margin:0}
[data-gp-theme="review-crossfire"].layout-full [data-gp-theme="review-crossfire"] .hero-inner,[data-gp-theme="review-crossfire"].layout-full [data-gp-theme="review-crossfire"] .inside-hero>div{padding-left:8vw;padding-right:8vw;max-width:none}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-crossfire"].layout-full [data-gp-theme="review-crossfire"] .hero-inner,[data-gp-theme="review-crossfire"].layout-full [data-gp-theme="review-crossfire"] .inside-hero>div{padding-left:8cqw;padding-right:8cqw}}
[data-gp-theme="review-crossfire"].layout-full [data-gp-theme="review-crossfire"] .hero:before,[data-gp-theme="review-crossfire"].layout-full [data-gp-theme="review-crossfire"] .inside-hero:before{left:43%;width:57%;background-position:center}
[data-gp-theme="review-crossfire"].layout-full [data-gp-theme="review-crossfire"] .hero:after,[data-gp-theme="review-crossfire"].layout-full [data-gp-theme="review-crossfire"] .inside-hero:after{background:linear-gradient(90deg,#080810 0%,#080810 43%,#080810c8 52%,#08081025 80%)}
[data-gp-theme="review-crossfire"].layout-full [data-gp-theme="review-crossfire"] .hero h1{font-size:clamp(6rem,12vw,13rem)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-crossfire"].layout-full [data-gp-theme="review-crossfire"] .hero h1{font-size:clamp(6rem,12cqw,13rem)}}
[data-gp-theme="review-crossfire"].layout-full [data-gp-theme="review-crossfire"] .work-grid{grid-template-columns:1.35fr .65fr}
[data-gp-theme="review-crossfire"].layout-boxed [data-gp-theme="review-crossfire"]{max-width:1120px;width:calc(100% - 64px);margin:32px auto;border:1px solid var(--line)}
[data-gp-theme="review-crossfire"].layout-boxed [data-gp-theme="review-crossfire"] .hero,[data-gp-theme="review-crossfire"].layout-boxed [data-gp-theme="review-crossfire"] .inside-hero{min-height:660px}
[data-gp-theme="review-crossfire"].layout-centered [data-gp-theme="review-crossfire"] .hero-inner,[data-gp-theme="review-crossfire"].layout-centered [data-gp-theme="review-crossfire"] .inside-hero>div{text-align:center;display:grid;justify-items:center}
[data-gp-theme="review-crossfire"].layout-centered [data-gp-theme="review-crossfire"] .hero-bottom{display:flex;flex-direction:column;align-items:center}
[data-gp-theme="review-crossfire"].layout-centered [data-gp-theme="review-crossfire"] .scroll-note{writing-mode:horizontal-tb}
[data-gp-theme="review-crossfire"].layout-centered [data-gp-theme="review-crossfire"] .work-grid{grid-template-columns:1fr;max-width:780px;margin:auto}
[data-gp-theme="review-crossfire"].layout-minimal [data-gp-theme="review-crossfire"] .hero,[data-gp-theme="review-crossfire"].layout-minimal [data-gp-theme="review-crossfire"] .inside-hero{min-height:490px}
[data-gp-theme="review-crossfire"].layout-minimal [data-gp-theme="review-crossfire"] .hero:before,[data-gp-theme="review-crossfire"].layout-minimal [data-gp-theme="review-crossfire"] .inside-hero:before{opacity:.28;filter:grayscale(1)}
[data-gp-theme="review-crossfire"].layout-minimal [data-gp-theme="review-crossfire"] .crawl,[data-gp-theme="review-crossfire"].layout-minimal [data-gp-theme="review-crossfire"] .scroll-note{display:none}
[data-gp-theme="review-crossfire"].layout-minimal [data-gp-theme="review-crossfire"] .hero h1,[data-gp-theme="review-crossfire"].layout-minimal [data-gp-theme="review-crossfire"] .inside-hero h1{font-size:clamp(4.2rem,7vw,8rem)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-crossfire"].layout-minimal [data-gp-theme="review-crossfire"] .hero h1,[data-gp-theme="review-crossfire"].layout-minimal [data-gp-theme="review-crossfire"] .inside-hero h1{font-size:clamp(4.2rem,7cqw,8rem)}}
[data-gp-theme="review-crossfire"].layout-edge [data-gp-theme="review-crossfire"]{max-width:none;margin:0;width:100%}
[data-gp-theme="review-crossfire"].layout-edge [data-gp-theme="review-crossfire"] .hero,[data-gp-theme="review-crossfire"].layout-edge [data-gp-theme="review-crossfire"] .inside-hero{min-height:calc(100svh - 82px)}
[data-gp-theme="review-crossfire"].layout-edge [data-gp-theme="review-crossfire"] .hero:before{background-position:center;transform:scale(1.08)}
[data-gp-theme="review-crossfire"].layout-edge [data-gp-theme="review-crossfire"] .hero-inner{padding-left:3vw;padding-right:3vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-crossfire"].layout-edge [data-gp-theme="review-crossfire"] .hero-inner{padding-left:3cqw;padding-right:3cqw}}
[data-gp-theme="review-crossfire"].layout-edge [data-gp-theme="review-crossfire"] .hero h1{font-size:clamp(7rem,18vw,20rem);line-height:.91;margin-block:30px 45px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-crossfire"].layout-edge [data-gp-theme="review-crossfire"] .hero h1{font-size:clamp(7rem,18cqw,20rem)}}
[data-gp-theme="review-crossfire"].layout-edge [data-gp-theme="review-crossfire"] .inside-hero h1{font-size:clamp(7rem,16vw,18rem)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-crossfire"].layout-edge [data-gp-theme="review-crossfire"] .inside-hero h1{font-size:clamp(7rem,16cqw,18rem)}}
[data-gp-theme="review-crossfire"] .refined-preloader,[data-gp-theme="review-crossfire"].theme-winnow .refined-preloader,[data-gp-theme="review-crossfire"].theme-kilo .refined-preloader{position:fixed;z-index:9999;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;pointer-events:none;transition:var(--fs-anim-rfFeedback,opacity .25s ease,visibility .25s ease)}
[data-gp-theme="review-crossfire"] .refined-preloader.is-leaving{opacity:0;visibility:hidden}
[data-gp-theme="review-crossfire"] .refined-preloader .loader-small{display:block;font:700 10px/1.3 system-ui,sans-serif;letter-spacing:.26em;text-transform:uppercase}
@media(max-width:900px){[data-gp-theme="review-crossfire"] .mega-content{grid-template-columns:1fr 1fr}[data-gp-theme="review-crossfire"] .mega-feature{display:none}}
@container fs-editor-canvas (max-width: 900px){[data-gp-theme="review-crossfire"] .mega-content{grid-template-columns:1fr 1fr}[data-gp-theme="review-crossfire"] .mega-feature{display:none}}
@media(max-width:850px){[data-gp-theme="review-crossfire"] .nav-disclosure>.mega-panel{position:fixed;inset:var(--menu-top,78px) 0 0;overflow:auto;padding:25px 20px}[data-gp-theme="review-crossfire"] .mega-content{display:block}[data-gp-theme="review-crossfire"] .mega-intro{margin-bottom:25px}[data-gp-theme="review-crossfire"] .mega-links{grid-template-columns:1fr 1fr}[data-gp-theme="review-crossfire"] .hero-inner{padding-top:90px}}
@container fs-editor-canvas (max-width: 850px){[data-gp-theme="review-crossfire"] .nav-disclosure>.mega-panel{position:fixed;inset:var(--menu-top,78px) 0 0;overflow:auto;padding:25px 20px}[data-gp-theme="review-crossfire"] .mega-content{display:block}[data-gp-theme="review-crossfire"] .mega-intro{margin-bottom:25px}[data-gp-theme="review-crossfire"] .mega-links{grid-template-columns:1fr 1fr}[data-gp-theme="review-crossfire"] .hero-inner{padding-top:90px}}
@media(max-width:620px){[data-gp-theme="review-crossfire"] .refined-brand{font-size:26px}[data-gp-theme="review-crossfire"] .header-cta{font-size:10px}[data-gp-theme="review-crossfire"] .mega-links{grid-template-columns:1fr}[data-gp-theme="review-crossfire"] .hero-inner{padding-top:60px}[data-gp-theme="review-crossfire"] .hero h1,[data-gp-theme="review-crossfire"].layout-edge [data-gp-theme="review-crossfire"] .hero h1{font-size:clamp(5.1rem,24vw,7.2rem);line-height:.9;margin:40px 0 32px}[data-gp-theme="review-crossfire"].layout-full [data-gp-theme="review-crossfire"] .hero:before,[data-gp-theme="review-crossfire"].layout-full [data-gp-theme="review-crossfire"] .inside-hero:before{left:0;width:100%}[data-gp-theme="review-crossfire"].layout-full [data-gp-theme="review-crossfire"] .hero:after,[data-gp-theme="review-crossfire"].layout-full [data-gp-theme="review-crossfire"] .inside-hero:after{background:linear-gradient(0deg,#080810eb 0%,#080810a6 52%,#08081033 100%)}[data-gp-theme="review-crossfire"].layout-boxed [data-gp-theme="review-crossfire"]{width:calc(100% - 24px);margin:12px auto}[data-gp-theme="review-crossfire"] .site-footer .footer-top{display:block}[data-gp-theme="review-crossfire"] .site-footer .footer-links{margin-top:30px}}
@container fs-editor-canvas (max-width: 620px){[data-gp-theme="review-crossfire"] .refined-brand{font-size:26px}[data-gp-theme="review-crossfire"] .header-cta{font-size:10px}[data-gp-theme="review-crossfire"] .mega-links{grid-template-columns:1fr}[data-gp-theme="review-crossfire"] .hero-inner{padding-top:60px}[data-gp-theme="review-crossfire"] .hero h1,[data-gp-theme="review-crossfire"].layout-edge [data-gp-theme="review-crossfire"] .hero h1{font-size:clamp(5.1rem,24cqw,7.2rem);line-height:.9;margin:40px 0 32px}[data-gp-theme="review-crossfire"].layout-full [data-gp-theme="review-crossfire"] .hero:before,[data-gp-theme="review-crossfire"].layout-full [data-gp-theme="review-crossfire"] .inside-hero:before{left:0;width:100%}[data-gp-theme="review-crossfire"].layout-full [data-gp-theme="review-crossfire"] .hero:after,[data-gp-theme="review-crossfire"].layout-full [data-gp-theme="review-crossfire"] .inside-hero:after{background:linear-gradient(0deg,#080810eb 0%,#080810a6 52%,#08081033 100%)}[data-gp-theme="review-crossfire"].layout-boxed [data-gp-theme="review-crossfire"]{width:calc(100% - 24px);margin:12px auto}[data-gp-theme="review-crossfire"] .site-footer .footer-top{display:block}[data-gp-theme="review-crossfire"] .site-footer .footer-links{margin-top:30px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="review-crossfire"] .refined-preloader,[data-gp-theme="review-crossfire"] .refined-preloader *{animation:none!important;transition:none!important}}
[data-gp-theme="review-crossfire"] .asset-credits{font-size:.75rem;color:var(--accent);white-space:nowrap}@media(max-width:850px){[data-gp-theme="review-crossfire"] .asset-credits{display:block;margin-top:10px}}@container fs-editor-canvas (max-width: 850px){[data-gp-theme="review-crossfire"] .asset-credits{display:block;margin-top:10px}}

/* Shared interaction feedback for every Version 2 page. */
[data-gp-theme="review-crossfire"]{--ease-out:cubic-bezier(.23,1,.32,1);--motion-press:140ms;--motion-feedback:180ms;--motion-enter:240ms}
[data-gp-theme="review-crossfire"] .site-header .nav-disclosure>summary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;line-height:1;padding:10px 0;list-style:none}
[data-gp-theme="review-crossfire"] .site-header .nav-disclosure>summary::before,[data-gp-theme="review-crossfire"] .site-header .nav-disclosure>summary::after{content:none;display:none}
[data-gp-theme="review-crossfire"] .site-header .nav-disclosure>summary .menu-label,[data-gp-theme="review-crossfire"] .site-header .nav-disclosure>summary .menu-mobile-label{font:600 .88rem/1.2 var(--font-body,var(--bodyfont,system-ui,sans-serif))}
[data-gp-theme="review-crossfire"] .site-header .nav-disclosure>summary .menu-mobile-label{display:none}
[data-gp-theme="review-crossfire"] .site-header .nav-disclosure>summary .menu-chevron{display:block;width:14px;height:14px;max-width:none;flex:0 0 14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transform-origin:center;transition:var(--fs-anim-rfFeedback,transform var(--motion-feedback) var(--ease-out))}
[data-gp-theme="review-crossfire"] .site-header .nav-disclosure[open]>summary .menu-chevron{transform:rotate(180deg)}
[data-gp-theme="review-crossfire"] select:not([multiple]){appearance:none;padding-right:2.5rem;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat}

/* The settings and timings use the editor's native motion vocabulary. */
[data-gp-theme="review-crossfire"]{--fs-anim-speed:1;--fs-motion-dist:1;--fs-anim-ease:cubic-bezier(.22,.61,.36,1);--motion-press:120ms;--motion-feedback:180ms}
[data-gp-theme="review-crossfire"] .page-enter,[data-gp-theme="review-crossfire"] .motion-arrive,[data-gp-theme="review-crossfire"] .site-header .mega-content,[data-gp-theme="review-crossfire"] [data-tab-panel]:not([hidden]),[data-gp-theme="review-crossfire"] .page-detail-dialog[open]{animation:none}
[data-gp-theme="review-crossfire"] :is(button,.button,.btn,.action){transition:var(--fs-anim-rfFeedback,transform min(220ms,calc(120ms * var(--fs-anim-speed))) var(--fs-anim-ease),background-color 180ms ease,color 180ms ease,border-color 180ms ease)}
[data-gp-theme="review-crossfire"] :is(button,.button,.btn,.action):active:not(:disabled){transform:var(--fs-anim-fs-press,scale(.985))}
[data-gp-theme="review-crossfire"] :is(.cards>article,.records>article,.credentials>article,.qd-patient-routes>a){transition-property:var(--fs-anim-rfFeedback,var(--fs-anim-fs-lift-prop,transform));transition-duration:min(240ms,calc(200ms * var(--fs-anim-speed)));transition-timing-function:var(--fs-anim-ease)}
@media(hover:hover) and (pointer:fine){[data-gp-theme="review-crossfire"] :is(.cards>article,.records>article,.credentials>article,.qd-patient-routes>a):hover{transform:var(--fs-anim-fs-lift-t,translateY(-2px))}}
[data-gp-theme="review-crossfire"] details[open]>:not(summary){animation:none}
@supports(interpolate-size:allow-keywords){[data-gp-theme="review-crossfire"] details{interpolate-size:allow-keywords}[data-gp-theme="review-crossfire"] details::details-content{height:0;opacity:0;overflow:clip;transition:var(--fs-anim-rfFeedback,height min(280ms,calc(180ms * var(--fs-anim-speed))) var(--fs-anim-ease),opacity 180ms ease,content-visibility 280ms allow-discrete)}[data-gp-theme="review-crossfire"] details[open]::details-content{height:auto;opacity:1}}
/* Same grid cell, stable tallest panel; inactive content is inert and invisible. */
[data-gp-theme="review-crossfire"] [data-motion-tabs="stacked"]{display:grid;grid-template-columns:minmax(0,1fr)}
[data-gp-theme="review-crossfire"] [data-motion-tabs="stacked"]>[data-tab-panel]{grid-column:1;grid-row:2;min-width:0}
[data-gp-theme="review-crossfire"] [data-motion-tabs="stacked"]>[data-tab-panel][hidden]{display:block!important;visibility:hidden;pointer-events:none}
@media(max-width:850px){[data-gp-theme="review-crossfire"] .site-header .nav-disclosure>summary .menu-label{display:none}[data-gp-theme="review-crossfire"] .site-header .nav-disclosure>summary .menu-mobile-label{display:inline}}
@container fs-editor-canvas (max-width: 850px){[data-gp-theme="review-crossfire"] .site-header .nav-disclosure>summary .menu-label{display:none}[data-gp-theme="review-crossfire"] .site-header .nav-disclosure>summary .menu-mobile-label{display:inline}}
[data-gp-theme="review-crossfire"][data-input="keyboard"] .site-header .menu-chevron{transition:none}
@media(prefers-reduced-motion:reduce){[data-gp-theme="review-crossfire"] :is(button,.button,.btn,.action,.cards>article,.records>article,.credentials>article,.qd-patient-routes>a),[data-gp-theme="review-crossfire"] .site-header .menu-chevron,[data-gp-theme="review-crossfire"] details::details-content{transition:none!important}[data-gp-theme="review-crossfire"] :is(button,.button,.btn,.action,.cards>article,.records>article,.credentials>article,.qd-patient-routes>a):is(:active,:hover){transform:none}}
[data-gp-theme="review-crossfire"][data-fs-motion="off"] [data-gp-theme="review-crossfire"] *,[data-gp-theme="review-crossfire"][data-fs-motion="off"] .site-header *,[data-gp-theme="review-crossfire"][data-input="keyboard"] [data-gp-theme="review-crossfire"] *,[data-gp-theme="review-crossfire"][data-input="keyboard"] .site-header *{animation:none!important;transition:none!important}

[data-gp-theme="review-crossfire"]{--ease-out:var(--fs-anim-ease,cubic-bezier(.22,.61,.36,1))}[data-gp-theme="review-crossfire"] .site-header .nav-disclosure>summary .menu-chevron{transition:var(--fs-anim-rfFeedback,transform min(240ms,calc(180ms * var(--fs-anim-speed))) var(--fs-anim-ease))}

[data-gp-theme="review-crossfire"]{--bg:rgb(var(--c-paper));--surface:rgb(var(--c-paper-soft));--ink:rgb(var(--c-ink-950));--brand:rgb(var(--c-brand-600));--accent:rgb(var(--c-accent));--line:rgb(var(--c-ink-950) / .22);}
[data-gp-theme="review-crossfire"][data-gp-kind="section"]:has(h1){animation:var(--fs-anim-rfEntrance,rf-crossfire-page-in .24s ease-out)}[data-gp-theme="review-crossfire"][data-gp-motion="off"],[data-fs-motion-level="off"] [data-gp-theme="review-crossfire"],[data-fs-motion="off"] [data-gp-theme="review-crossfire"]{animation:none!important;transition:none!important}@media(prefers-reduced-motion:reduce){[data-gp-theme="review-crossfire"]{animation:none!important;transition:none!important}}
[data-gp-theme="review-crossfire"] .rf-hero-art{position:absolute;inset:0;width:100%;height:100%;z-index:-2;overflow:hidden}[data-gp-theme="review-crossfire"] .rf-hero-art img{width:100%;height:100%;object-fit:cover}[data-gp-theme="review-crossfire"] .hero:before,[data-gp-theme="review-crossfire"] .inside-hero:before,[data-gp-theme="review-crossfire"] .start-hero:before{background:none!important}
[data-gp-theme="review-winnow"]{--brand:#225d54;--accent:#b96836;--bg:#fafbf8;--surface:#edf2ee;--ink:#172c26;--line:color-mix(in srgb,var(--ink) 19%,transparent);--muted:color-mix(in srgb,var(--ink) 78%,var(--bg));--site-width:1240px;font-family:system-ui,sans-serif;color-scheme:light}[data-gp-theme="review-winnow"] *{box-sizing:border-box}[data-gp-theme="review-winnow"]{scroll-behavior:smooth;scroll-padding-top:100px}[data-gp-theme="review-winnow"]{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 var(--font-body,system-ui,sans-serif);transition:var(--fs-anim-rfFeedback,background-color .2s,color .2s)}[data-gp-theme="review-winnow"] button,[data-gp-theme="review-winnow"] input,[data-gp-theme="review-winnow"] select,[data-gp-theme="review-winnow"] textarea{font:inherit}[data-gp-theme="review-winnow"] button,[data-gp-theme="review-winnow"] a,[data-gp-theme="review-winnow"] input,[data-gp-theme="review-winnow"] select,[data-gp-theme="review-winnow"] summary,[data-gp-theme="review-winnow"] textarea{-webkit-tap-highlight-color:transparent}[data-gp-theme="review-winnow"] button,[data-gp-theme="review-winnow"] a,[data-gp-theme="review-winnow"] summary{touch-action:manipulation}[data-gp-theme="review-winnow"] a{color:inherit;text-underline-offset:4px}[data-gp-theme="review-winnow"] button{cursor:pointer;color:inherit}[data-gp-theme="review-winnow"] button:disabled{cursor:default;opacity:.6}[data-gp-theme="review-winnow"] :focus-visible{outline:3px solid var(--accent);outline-offset:5px}[data-gp-theme="review-winnow"] img,[data-gp-theme="review-winnow"] svg,[data-gp-theme="review-winnow"] video{max-width:100%}[data-gp-theme="review-winnow"] img{height:auto;display:block}[data-gp-theme="review-winnow"] figure{margin:0}[data-gp-theme="review-winnow"] h1,[data-gp-theme="review-winnow"] h2,[data-gp-theme="review-winnow"] h3{font-family:var(--font-display,var(--font-body,system-ui,sans-serif));font-weight:500;line-height:1.08;text-wrap:balance}[data-gp-theme="review-winnow"] h1{font-size:clamp(2.8rem,6.8vw,6.2rem);letter-spacing:-.045em;margin:0 0 28px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="review-winnow"] h1{font-size:clamp(2.8rem,6.8cqw,6.2rem)}}[data-gp-theme="review-winnow"] h2{font-size:clamp(2rem,3.8vw,3.8rem);letter-spacing:-.025em;margin:0 0 25px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="review-winnow"] h2{font-size:clamp(2rem,3.8cqw,3.8rem)}}[data-gp-theme="review-winnow"] h3{font-size:clamp(1.2rem,2vw,1.7rem);margin:0 0 14px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="review-winnow"] h3{font-size:clamp(1.2rem,2cqw,1.7rem)}}[data-gp-theme="review-winnow"] p{max-width:68ch;margin:0 0 1.2em}[data-gp-theme="review-winnow"] small{font-size:.78rem}[data-gp-theme="review-winnow"] ul,[data-gp-theme="review-winnow"] ol{padding-left:1.3em}[data-gp-theme="review-winnow"] section{position:relative}[data-gp-theme="review-winnow"]>section{padding:70px max(5%,calc((100% - var(--site-width))/2))}[data-gp-theme="review-winnow"] table{border-collapse:collapse;width:100%;text-align:left}[data-gp-theme="review-winnow"] th,[data-gp-theme="review-winnow"] td{padding:15px 14px;border-bottom:1px solid var(--line);vertical-align:top}[data-gp-theme="review-winnow"] th{font-weight:600}[data-gp-theme="review-winnow"] details{border-bottom:1px solid var(--line);padding:20px 0}[data-gp-theme="review-winnow"] summary{cursor:pointer;font-weight:600}[data-gp-theme="review-winnow"] details[open]>:not(summary){animation:var(--fs-anim-rfFeedback,rf-winnow-content-in .2s ease-out)}[data-gp-theme="review-winnow"] label{display:block;font-size:.9rem}[data-gp-theme="review-winnow"] input,[data-gp-theme="review-winnow"] select,[data-gp-theme="review-winnow"] textarea{max-width:100%;background:var(--bg);color:var(--ink);border:1px solid var(--line);padding:12px 14px;border-radius:5px}[data-gp-theme="review-winnow"] input:not([type=checkbox],[type=radio],[type=range]),[data-gp-theme="review-winnow"] select,[data-gp-theme="review-winnow"] textarea{width:100%}[data-gp-theme="review-winnow"] input[type=checkbox],[data-gp-theme="review-winnow"] input[type=radio]{accent-color:var(--brand)}[data-gp-theme="review-winnow"] textarea{min-height:130px;resize:vertical}[data-gp-theme="review-winnow"] form{display:grid;gap:18px;max-width:700px}[data-gp-theme="review-winnow"] fieldset{border:1px solid var(--line);padding:20px}[data-gp-theme="review-winnow"] button,[data-gp-theme="review-winnow"] .button,[data-gp-theme="review-winnow"] .btn{transition:var(--fs-anim-rfFeedback,background .18s,color .18s,transform .18s)}[data-gp-theme="review-winnow"] button:active,[data-gp-theme="review-winnow"] .button:active,[data-gp-theme="review-winnow"] .btn:active{transform:translateY(1px)}[data-gp-theme="review-winnow"] .button,[data-gp-theme="review-winnow"] .btn,[data-gp-theme="review-winnow"] a[data-cta]{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;background:var(--brand);color:var(--brand-contrast,#fff);padding:13px 23px;border:1px solid transparent;border-radius:var(--button-radius,4px);font-weight:600}[data-gp-theme="review-winnow"] .button.secondary,[data-gp-theme="review-winnow"] .btn.secondary{background:transparent;color:var(--ink);border-color:var(--line)}[data-gp-theme="review-winnow"] .button:hover,[data-gp-theme="review-winnow"] .btn:hover{filter:brightness(.94)}[data-gp-theme="review-winnow"] .site-skip{position:fixed;left:16px;top:-90px;z-index:99;background:var(--ink);color:var(--bg);padding:12px}[data-gp-theme="review-winnow"] .site-skip:focus{top:12px}[data-gp-theme="review-winnow"] .site-header{position:relative;z-index:20;border-bottom:1px solid var(--line);background:var(--bg)}[data-gp-theme="review-winnow"] .header-inner{max-width:var(--site-width);margin:auto;min-height:92px;display:flex;align-items:center;gap:28px;padding:20px 28px}[data-gp-theme="review-winnow"] .site-brand{display:flex;align-items:center;gap:12px;text-decoration:none;line-height:1.15;font-size:1.55rem;font-family:var(--font-display,inherit);font-weight:650;letter-spacing:-.04em;max-width:360px;margin-right:auto}[data-gp-theme="review-winnow"] .brand-mark{width:28px;height:28px;flex:none;color:var(--brand)}[data-gp-theme="review-winnow"] .site-brand img{max-width:220px;max-height:45px}[data-gp-theme="review-winnow"] .primary-nav{display:flex;align-items:center;gap:25px}[data-gp-theme="review-winnow"] .primary-nav>a{font-size:.88rem;text-decoration:none;position:relative}[data-gp-theme="review-winnow"] .primary-nav>a[aria-current=page]:after{content:'';position:absolute;height:2px;background:var(--brand);left:0;right:0;bottom:-8px}[data-gp-theme="review-winnow"] .nav-disclosure{position:static;border:0;padding:0}[data-gp-theme="review-winnow"] .nav-disclosure>summary{font-size:.88rem;list-style:none;display:flex;gap:8px;align-items:center;padding:10px 0}[data-gp-theme="review-winnow"] .nav-disclosure>summary::-webkit-details-marker{display:none}[data-gp-theme="review-winnow"] .nav-disclosure>summary:after{content:'⌄';font-size:1rem;transition:var(--fs-anim-rfFeedback,transform .18s)}[data-gp-theme="review-winnow"] .nav-disclosure[open]>summary:after{transform:rotate(180deg)}[data-gp-theme="review-winnow"] .header-cta{font-size:.85rem;white-space:nowrap}[data-gp-theme="review-winnow"] .mega-panel{position:absolute;top:100%;left:0;right:0;background:var(--bg);box-shadow:0 22px 25px color-mix(in srgb,var(--ink) 10%,transparent);border-bottom:1px solid var(--line);padding:35px max(5%,calc((100% - var(--site-width))/2));min-height:255px;z-index:25}[data-gp-theme="review-winnow"] .mega-content{display:grid;grid-template-columns:1fr 3fr;gap:45px;animation:var(--fs-anim-rfFeedback,rf-winnow-menu-content .22s .06s both)}[data-gp-theme="review-winnow"] .mega-intro strong{display:block;font:500 2rem/1.1 var(--font-display,inherit);margin:0 0 14px}[data-gp-theme="review-winnow"] .mega-intro p{font-size:.85rem;color:var(--muted)}[data-gp-theme="review-winnow"] .mega-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 25px}[data-gp-theme="review-winnow"] .mega-links a{display:flex;align-items:center;justify-content:space-between;gap:10px;text-decoration:none;border-bottom:1px solid var(--line);padding:12px 0;font-size:.95rem}[data-gp-theme="review-winnow"] .mega-links a:hover{color:var(--brand)}[data-gp-theme="review-winnow"] .mega-links a:after{content:'↗';color:var(--brand)}[data-gp-theme="review-winnow"] .menu-style-1 .mega-content{grid-template-columns:1fr 2fr}[data-gp-theme="review-winnow"] .menu-style-1 .mega-links{grid-template-columns:1fr 1fr}[data-gp-theme="review-winnow"] .menu-style-1 .mega-links a{padding:16px 20px;border:1px solid var(--line);background:var(--surface);border-radius:var(--card-radius,8px)}[data-gp-theme="review-winnow"] .menu-style-2 .mega-content{grid-template-columns:2fr 3fr}[data-gp-theme="review-winnow"] .menu-style-2 .mega-intro{border-left:5px solid var(--accent);padding-left:25px}[data-gp-theme="review-winnow"] .menu-style-2 .mega-links{grid-template-columns:1fr 1fr}[data-gp-theme="review-winnow"] .menu-style-2 .mega-links a{font:500 1.3rem/1.15 var(--font-display,inherit)}[data-gp-theme="review-winnow"] .menu-style-3 .mega-panel{left:auto;right:4%;width:min(680px,92%);padding:28px;border:1px solid var(--line);min-height:0}[data-gp-theme="review-winnow"] .menu-style-3 .mega-content{grid-template-columns:1fr}[data-gp-theme="review-winnow"] .menu-style-3 .mega-intro p{display:none}[data-gp-theme="review-winnow"] .menu-style-3 .mega-intro strong{font-size:1.4rem}[data-gp-theme="review-winnow"] .menu-style-3 .mega-links{grid-template-columns:1fr 1fr}[data-gp-theme="review-winnow"] .menu-close{margin-top:20px;background:none;border:1px solid var(--line);padding:8px 15px;font-size:.8rem}[data-gp-theme="review-winnow"] .site-footer{padding:55px max(5%,calc((100% - var(--site-width))/2)) 25px;background:var(--surface);border-top:1px solid var(--line)}[data-gp-theme="review-winnow"] .footer-top{display:flex;justify-content:space-between;gap:45px}[data-gp-theme="review-winnow"] .footer-top p{max-width:48ch;font-size:.9rem;color:var(--muted);margin-top:18px}[data-gp-theme="review-winnow"] .footer-links{display:flex;flex-wrap:wrap;gap:12px 22px;align-content:start;max-width:500px;font-size:.85rem}[data-gp-theme="review-winnow"] .footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:24px;margin-top:40px;font-size:.74rem;color:var(--muted)}[data-gp-theme="review-winnow"] .demo-label{border:1px solid var(--line);padding:4px 8px;border-radius:3px;display:inline-block;font-size:.72rem;color:var(--muted)}[data-gp-theme="review-winnow"] .demo-feedback{padding:16px;border:1px solid var(--brand);background:var(--surface);color:var(--ink)}[data-gp-theme="review-winnow"] .mobile-menu{display:none}[data-gp-theme="review-winnow"] .standalone-tools{background:var(--surface);border-bottom:1px solid var(--line);padding:8px 20px;display:flex;flex-wrap:wrap;align-items:center;gap:10px;font:12px/1.3 system-ui,sans-serif}[data-gp-theme="review-winnow"] .standalone-tools select{width:auto;padding:5px;font-size:12px}[data-gp-theme="review-winnow"] .standalone-tools a{margin-right:auto}[data-gp-theme="review-winnow"] .embedded .standalone-tools{display:none}[data-gp-theme="review-winnow"] .page-enter{animation:var(--fs-anim-rfEntrance,rf-winnow-page-in .24s ease-out)}[data-gp-theme="review-winnow"] [hidden]{display:none!important}[data-gp-theme="review-winnow"].layout-full [data-gp-theme="review-winnow"]>section{padding-left:5%;padding-right:5%}[data-gp-theme="review-winnow"] .layout-boxed main{max-width:var(--site-width);margin:30px auto;border:1px solid var(--line);box-shadow:0 15px 80px color-mix(in srgb,var(--ink) 7%,transparent)}[data-gp-theme="review-winnow"] .layout-boxed [data-gp-theme="review-winnow"]>section{padding-left:5%;padding-right:5%}[data-gp-theme="review-winnow"] .layout-centered [data-gp-theme="review-winnow"]>section{max-width:1100px;margin:auto;text-align:center}[data-gp-theme="review-winnow"] .layout-centered [data-gp-theme="review-winnow"] p{margin-left:auto;margin-right:auto}[data-gp-theme="review-winnow"] .layout-centered [data-gp-theme="review-winnow"] table,[data-gp-theme="review-winnow"] .layout-centered [data-gp-theme="review-winnow"] form,[data-gp-theme="review-winnow"] .layout-centered [data-gp-theme="review-winnow"] details{text-align:left}[data-gp-theme="review-winnow"] .layout-minimal [data-gp-theme="review-winnow"]>section{padding-top:48px;padding-bottom:48px}[data-gp-theme="review-winnow"] .layout-minimal main{max-width:1080px;margin:auto}[data-gp-theme="review-winnow"] .layout-minimal [data-gp-theme="review-winnow"]>section{box-shadow:none;border-radius:0}[data-gp-theme="review-winnow"] .layout-edge [data-gp-theme="review-winnow"]>section:first-child{max-width:none;margin:0;padding-left:5%;padding-right:5%;min-height:calc(100vh - 95px)}[data-gp-theme="review-winnow"] .layout-edge [data-gp-theme="review-winnow"]>section:first-child figure{border-radius:0}[data-gp-theme="review-winnow"] .site-loader{min-height:65vh;padding:10vh 6%}[data-gp-theme="review-winnow"] .site-loader h1{font-size:3rem}[data-gp-theme="review-winnow"] .site-error{padding:50px}[data-gp-theme="review-winnow"] .site-error a{color:var(--brand)}@keyframes rf-winnow-menu-content{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes rf-winnow-content-in{from{opacity:.4}to{opacity:1}}@keyframes rf-winnow-page-in{from{opacity:.65}to{opacity:1}}@media(max-width:850px){[data-gp-theme="review-winnow"] .header-inner{gap:15px;min-height:78px;padding:16px 22px}[data-gp-theme="review-winnow"] .site-brand{font-size:1.4rem}[data-gp-theme="review-winnow"] .primary-nav{gap:18px}[data-gp-theme="review-winnow"] .primary-nav>a{display:none}[data-gp-theme="review-winnow"] .mobile-menu{display:block}[data-gp-theme="review-winnow"] .nav-disclosure>summary{font-size:0}[data-gp-theme="review-winnow"] .nav-disclosure>summary:before{content:'Menu';font-size:.85rem}[data-gp-theme="review-winnow"] .nav-disclosure>summary:after{font-size:1.1rem}[data-gp-theme="review-winnow"] .mega-panel,[data-gp-theme="review-winnow"] .menu-style-3 .mega-panel{position:fixed;inset:78px 0 0;width:100%;overflow:auto;min-height:0;padding:28px 24px}[data-gp-theme="review-winnow"] .mega-content,[data-gp-theme="review-winnow"] .menu-style-1 .mega-content,[data-gp-theme="review-winnow"] .menu-style-2 .mega-content{grid-template-columns:1fr;gap:20px}[data-gp-theme="review-winnow"] .mega-links,[data-gp-theme="review-winnow"] .menu-style-1 .mega-links,[data-gp-theme="review-winnow"] .menu-style-2 .mega-links,[data-gp-theme="review-winnow"] .menu-style-3 .mega-links{grid-template-columns:1fr}[data-gp-theme="review-winnow"] .mega-links a{font-size:1.15rem}[data-gp-theme="review-winnow"] .header-cta{padding:10px 13px}[data-gp-theme="review-winnow"] .footer-top{display:block}[data-gp-theme="review-winnow"] .footer-links{margin-top:30px}[data-gp-theme="review-winnow"] .footer-bottom{display:block}[data-gp-theme="review-winnow"] .footer-bottom span{display:block;margin:10px 0}[data-gp-theme="review-winnow"] .layout-boxed main{margin:16px}[data-gp-theme="review-winnow"] .layout-centered [data-gp-theme="review-winnow"]>section{max-width:100%}[data-gp-theme="review-winnow"]>section{padding:48px 6%}[data-gp-theme="review-winnow"] h1{font-size:clamp(2.5rem,10vw,4.5rem)}[data-gp-theme="review-winnow"] h2{font-size:2.2rem}[data-gp-theme="review-winnow"] .site-footer{padding:40px 6% 20px}[data-gp-theme="review-winnow"] .layout-edge [data-gp-theme="review-winnow"]>section:first-child{min-height:70vh}[data-gp-theme="review-winnow"] th,[data-gp-theme="review-winnow"] td{padding:10px 8px}}@container fs-editor-canvas (max-width: 850px){[data-gp-theme="review-winnow"] .header-inner{gap:15px;min-height:78px;padding:16px 22px}[data-gp-theme="review-winnow"] .site-brand{font-size:1.4rem}[data-gp-theme="review-winnow"] .primary-nav{gap:18px}[data-gp-theme="review-winnow"] .primary-nav>a{display:none}[data-gp-theme="review-winnow"] .mobile-menu{display:block}[data-gp-theme="review-winnow"] .nav-disclosure>summary{font-size:0}[data-gp-theme="review-winnow"] .nav-disclosure>summary:before{content:'Menu';font-size:.85rem}[data-gp-theme="review-winnow"] .nav-disclosure>summary:after{font-size:1.1rem}[data-gp-theme="review-winnow"] .mega-panel,[data-gp-theme="review-winnow"] .menu-style-3 .mega-panel{position:fixed;inset:78px 0 0;width:100%;overflow:auto;min-height:0;padding:28px 24px}[data-gp-theme="review-winnow"] .mega-content,[data-gp-theme="review-winnow"] .menu-style-1 .mega-content,[data-gp-theme="review-winnow"] .menu-style-2 .mega-content{grid-template-columns:1fr;gap:20px}[data-gp-theme="review-winnow"] .mega-links,[data-gp-theme="review-winnow"] .menu-style-1 .mega-links,[data-gp-theme="review-winnow"] .menu-style-2 .mega-links,[data-gp-theme="review-winnow"] .menu-style-3 .mega-links{grid-template-columns:1fr}[data-gp-theme="review-winnow"] .mega-links a{font-size:1.15rem}[data-gp-theme="review-winnow"] .header-cta{padding:10px 13px}[data-gp-theme="review-winnow"] .footer-top{display:block}[data-gp-theme="review-winnow"] .footer-links{margin-top:30px}[data-gp-theme="review-winnow"] .footer-bottom{display:block}[data-gp-theme="review-winnow"] .footer-bottom span{display:block;margin:10px 0}[data-gp-theme="review-winnow"] .layout-boxed main{margin:16px}[data-gp-theme="review-winnow"] .layout-centered [data-gp-theme="review-winnow"]>section{max-width:100%}[data-gp-theme="review-winnow"]>section{padding:48px 6%}[data-gp-theme="review-winnow"] h1{font-size:clamp(2.5rem,10cqw,4.5rem)}[data-gp-theme="review-winnow"] h2{font-size:2.2rem}[data-gp-theme="review-winnow"] .site-footer{padding:40px 6% 20px}[data-gp-theme="review-winnow"] .layout-edge [data-gp-theme="review-winnow"]>section:first-child{min-height:70vh}[data-gp-theme="review-winnow"] th,[data-gp-theme="review-winnow"] td{padding:10px 8px}}@media(max-width:450px){[data-gp-theme="review-winnow"] .header-cta{font-size:.72rem}[data-gp-theme="review-winnow"] .site-brand{max-width:160px;font-size:1.25rem}[data-gp-theme="review-winnow"] .header-inner{gap:12px;padding:16px}[data-gp-theme="review-winnow"] .brand-mark{width:22px;height:22px}[data-gp-theme="review-winnow"] .site-brand img{max-width:150px}[data-gp-theme="review-winnow"] .standalone-tools{padding:8px 12px}[data-gp-theme="review-winnow"] .standalone-tools label{font-size:11px}[data-gp-theme="review-winnow"] .mega-intro strong{font-size:1.7rem}}@container fs-editor-canvas (max-width: 450px){[data-gp-theme="review-winnow"] .header-cta{font-size:.72rem}[data-gp-theme="review-winnow"] .site-brand{max-width:160px;font-size:1.25rem}[data-gp-theme="review-winnow"] .header-inner{gap:12px;padding:16px}[data-gp-theme="review-winnow"] .brand-mark{width:22px;height:22px}[data-gp-theme="review-winnow"] .site-brand img{max-width:150px}[data-gp-theme="review-winnow"] .standalone-tools{padding:8px 12px}[data-gp-theme="review-winnow"] .standalone-tools label{font-size:11px}[data-gp-theme="review-winnow"] .mega-intro strong{font-size:1.7rem}}@media(prefers-reduced-motion:reduce){[data-gp-theme="review-winnow"]{scroll-behavior:auto}[data-gp-theme="review-winnow"] *,[data-gp-theme="review-winnow"] *:before,[data-gp-theme="review-winnow"] *:after{animation:none!important;transition:none!important}}

/* Readability pass: use the authored foreground rather than the browser grey. */
[data-gp-theme="review-winnow"] input::placeholder,[data-gp-theme="review-winnow"] textarea::placeholder{color:var(--ink);opacity:1}

[data-gp-theme="review-winnow"] .theme-winnow{font-family:"Arial",Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.6}
[data-gp-theme="review-winnow"] .theme-winnow h1,[data-gp-theme="review-winnow"] .theme-winnow h2,[data-gp-theme="review-winnow"] .theme-winnow h3{font-family:"Georgia",Georgia,serif;color:var(--ink);line-height:1.08;font-weight:600;letter-spacing:-.035em}
[data-gp-theme="review-winnow"] .theme-winnow h1{font-size:clamp(3rem,7.4vw,7.5rem);max-width:12ch;margin:.2em 0 .4em}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-winnow"] .theme-winnow h1{font-size:clamp(3rem,7.4cqw,7.5rem)}}
[data-gp-theme="review-winnow"] .theme-winnow h2{font-size:clamp(2rem,4vw,3.65rem);max-width:21ch;margin:0 0 .7em}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-winnow"] .theme-winnow h2{font-size:clamp(2rem,4cqw,3.65rem)}}
[data-gp-theme="review-winnow"] .theme-winnow h3{font-size:1.45rem;margin:.3em 0}
[data-gp-theme="review-winnow"] .theme-winnow p{max-width:68ch}[data-gp-theme="review-winnow"] .theme-winnow .lead{font-size:clamp(1.15rem,1.8vw,1.45rem);line-height:1.5;max-width:48ch}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="review-winnow"] .theme-winnow .lead{font-size:clamp(1.15rem,1.8cqw,1.45rem)}}
[data-gp-theme="review-winnow"] .theme-winnow main{max-width:1440px;margin:auto;padding:0 clamp(1.2rem,5vw,5rem)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-winnow"] .theme-winnow main{padding:0 clamp(1.2rem,5cqw,5rem)}}
[data-gp-theme="review-winnow"] .theme-winnow [data-gp-theme="review-winnow"]>section{padding:clamp(3rem,7vw,6.5rem) 0;border-bottom:1px solid var(--line)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-winnow"] .theme-winnow [data-gp-theme="review-winnow"]>section{padding:clamp(3rem,7cqw,6.5rem) 0}}
[data-gp-theme="review-winnow"] .theme-winnow .hero{display:grid;grid-template-columns:1.02fr 1fr;gap:clamp(2rem,4vw,5rem);align-items:center;min-height:74vh}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-winnow"] .theme-winnow .hero{gap:clamp(2rem,4cqw,5rem)}}
[data-gp-theme="review-winnow"] .theme-winnow figure{margin:0}[data-gp-theme="review-winnow"] .theme-winnow figure img{display:block;width:100%;object-fit:cover}[data-gp-theme="review-winnow"] .theme-winnow figcaption{font-size:.78rem;line-height:1.4;color:var(--muted);margin-top:1rem;max-width:65ch}
[data-gp-theme="review-winnow"] .theme-winnow .hero-art img{max-height:620px;min-height:340px;object-fit:cover}
[data-gp-theme="review-winnow"] .theme-winnow .location,[data-gp-theme="review-winnow"] .theme-winnow .page-context{color:var(--brand);font-weight:600;font-size:.9rem}
[data-gp-theme="review-winnow"] .theme-winnow .hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
[data-gp-theme="review-winnow"] .theme-winnow .action,[data-gp-theme="review-winnow"] .theme-winnow button{display:inline-flex;align-items:center;justify-content:center;padding:.85rem 1.25rem;border:1px solid var(--brand);background:var(--brand);color:var(--bg);text-decoration:none;cursor:pointer;transition:var(--fs-anim-rfFeedback,transform .18s,background .18s);font:inherit;font-weight:600}
[data-gp-theme="review-winnow"] .theme-winnow .hero-actions .action+ .action{background:transparent;color:var(--brand)}
[data-gp-theme="review-winnow"] .theme-winnow button:hover,[data-gp-theme="review-winnow"] .theme-winnow .action:hover{transform:translateY(-2px);filter:brightness(1.08)}
[data-gp-theme="review-winnow"] .theme-winnow a:focus-visible,[data-gp-theme="review-winnow"] .theme-winnow button:focus-visible,[data-gp-theme="review-winnow"] .theme-winnow input:focus-visible,[data-gp-theme="review-winnow"] .theme-winnow summary:focus-visible,[data-gp-theme="review-winnow"] .theme-winnow select:focus-visible,[data-gp-theme="review-winnow"] .theme-winnow textarea:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
[data-gp-theme="review-winnow"] .theme-winnow .duet{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}[data-gp-theme="review-winnow"] .theme-winnow .duet>div{min-width:0}
[data-gp-theme="review-winnow"] .theme-winnow .entries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 3rem}[data-gp-theme="review-winnow"] .theme-winnow .entries article{padding:1.5rem 0;border-top:1px solid var(--line)}
[data-gp-theme="review-winnow"] .theme-winnow .steps{list-style:none;counter-reset:stage;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}[data-gp-theme="review-winnow"] .theme-winnow .steps li{counter-increment:stage;border-top:3px solid var(--brand);padding-top:1rem}[data-gp-theme="review-winnow"] .theme-winnow .steps li:before{content:counter(stage);font-size:.9rem;color:var(--accent);font-weight:700}
[data-gp-theme="review-winnow"] .theme-winnow .table-wrap{overflow:auto;max-width:100%}[data-gp-theme="review-winnow"] .theme-winnow table{width:100%;border-collapse:collapse;min-width:480px}[data-gp-theme="review-winnow"] .theme-winnow th,[data-gp-theme="review-winnow"] .theme-winnow td{text-align:left;padding:1.1rem .8rem;border-bottom:1px solid var(--line);vertical-align:top}[data-gp-theme="review-winnow"] .theme-winnow th{background:var(--surface);color:var(--brand);font-weight:600}
[data-gp-theme="review-winnow"] .theme-winnow details{border-top:1px solid var(--line);padding:1.2rem 0}[data-gp-theme="review-winnow"] .theme-winnow summary{font-weight:600;cursor:pointer;font-size:1.1rem}[data-gp-theme="review-winnow"] .theme-winnow details[open]{padding-bottom:1.7rem}[data-gp-theme="review-winnow"] .theme-winnow details>div{padding-left:1.3rem}
[data-gp-theme="review-winnow"] .theme-winnow .brief-form{background:var(--surface);padding:clamp(1.3rem,4vw,3rem);border:1px solid var(--line)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-winnow"] .theme-winnow .brief-form{padding:clamp(1.3rem,4cqw,3rem)}}
[data-gp-theme="review-winnow"] .theme-winnow label{display:block;font-weight:600;margin-bottom:1.2rem}[data-gp-theme="review-winnow"] .theme-winnow input,[data-gp-theme="review-winnow"] .theme-winnow select,[data-gp-theme="review-winnow"] .theme-winnow textarea{display:block;width:100%;margin-top:.4rem;padding:.85rem;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;box-sizing:border-box}[data-gp-theme="review-winnow"] .theme-winnow output{display:block;margin:1rem 0;color:var(--brand);font-weight:600}
[data-gp-theme="review-winnow"] .theme-winnow .small{font-size:.85rem;color:var(--muted)}[data-gp-theme="review-winnow"] .theme-winnow .sample-note{padding:1rem 1.2rem;background:var(--surface);border-left:3px solid var(--accent);font-size:.85rem;margin:1.2rem 0}
[data-gp-theme="review-winnow"] .theme-winnow .tab-buttons{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}[data-gp-theme="review-winnow"] .theme-winnow .tab-buttons button{background:transparent;color:var(--brand)}[data-gp-theme="review-winnow"] .theme-winnow .tab-buttons button[aria-pressed="true"]{background:var(--brand);color:var(--bg)}
[data-gp-theme="review-winnow"] .theme-winnow [data-tab-panel]{background:var(--surface);padding:1.5rem}[data-gp-theme="review-winnow"] .theme-winnow [hidden]{display:none!important}
[data-gp-theme="review-winnow"] .theme-winnow .record-filter [data-record-list]{display:grid;gap:0}[data-gp-theme="review-winnow"] .theme-winnow [data-record]{padding:1.2rem 0;border-bottom:1px solid var(--line)}
[data-gp-theme="review-winnow"] .theme-winnow .record-filter input{max-width:480px}[data-gp-theme="review-winnow"] .theme-winnow .plate{padding:2rem;background:var(--surface);border:1px solid var(--line)}
[data-gp-theme="review-winnow"] .theme-winnow .captioned-pair{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}[data-gp-theme="review-winnow"] .theme-winnow .captioned-pair img{height:330px;object-fit:cover}
[data-gp-theme="review-winnow"] .theme-winnow .page-intro{max-width:100%;padding-bottom:3rem}[data-gp-theme="review-winnow"] .theme-winnow .page-intro h1{font-size:clamp(3rem,6.5vw,6.5rem);max-width:15ch}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="review-winnow"] .theme-winnow .page-intro h1{font-size:clamp(3rem,6.5cqw,6.5rem)}}[data-gp-theme="review-winnow"] .theme-winnow blockquote{font-size:1.7rem;line-height:1.4;border-left:3px solid var(--accent);padding:1rem 2rem;margin:1rem 0}
[data-gp-theme="review-winnow"] .theme-winnow .swatches{display:flex;gap:1rem;flex-wrap:wrap}[data-gp-theme="review-winnow"] .theme-winnow .swatch{width:140px;min-height:160px;border:1px solid var(--line);padding:1rem;background:var(--surface)}[data-gp-theme="review-winnow"] .theme-winnow .swatch i{display:block;height:80px;background:var(--swatch);margin-bottom:.7rem}
[data-gp-theme="review-winnow"] .theme-winnow .drawing-svg{width:100%;height:auto;color:var(--brand)}[data-gp-theme="review-winnow"] .theme-winnow .drawing-svg text{fill:currentColor;font:14px Arial,sans-serif}
[data-gp-theme="review-winnow"] .theme-winnow .stop-jamb{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}[data-gp-theme="review-winnow"] .theme-winnow .stop-jamb a{border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:1.2rem;text-align:center;border-radius:50%;text-decoration:none;font-weight:600;min-height:90px;display:grid;place-content:center}
@media(max-width:800px){[data-gp-theme="review-winnow"] .theme-winnow .hero,[data-gp-theme="review-winnow"] .theme-winnow .duet{grid-template-columns:1fr}[data-gp-theme="review-winnow"] .theme-winnow .hero{min-height:0}[data-gp-theme="review-winnow"] .theme-winnow .hero-art img{min-height:260px;max-height:480px}[data-gp-theme="review-winnow"] .theme-winnow h1{font-size:clamp(3rem,13vw,5.2rem)}[data-gp-theme="review-winnow"] .theme-winnow .steps{grid-template-columns:1fr 1fr}[data-gp-theme="review-winnow"] .theme-winnow .entries{grid-template-columns:1fr}[data-gp-theme="review-winnow"] .theme-winnow .captioned-pair{grid-template-columns:1fr}[data-gp-theme="review-winnow"] .theme-winnow .stop-jamb{grid-template-columns:1fr 1fr}}
@container fs-editor-canvas (max-width: 800px){[data-gp-theme="review-winnow"] .theme-winnow .hero,[data-gp-theme="review-winnow"] .theme-winnow .duet{grid-template-columns:1fr}[data-gp-theme="review-winnow"] .theme-winnow .hero{min-height:0}[data-gp-theme="review-winnow"] .theme-winnow .hero-art img{min-height:260px;max-height:480px}[data-gp-theme="review-winnow"] .theme-winnow h1{font-size:clamp(3rem,13cqw,5.2rem)}[data-gp-theme="review-winnow"] .theme-winnow .steps{grid-template-columns:1fr 1fr}[data-gp-theme="review-winnow"] .theme-winnow .entries{grid-template-columns:1fr}[data-gp-theme="review-winnow"] .theme-winnow .captioned-pair{grid-template-columns:1fr}[data-gp-theme="review-winnow"] .theme-winnow .stop-jamb{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="review-winnow"] .theme-winnow *{animation:none!important;transition:none!important;scroll-behavior:auto!important}} [data-gp-theme="review-winnow"] .theme-winnow{font-family:Trebuchet MS,Arial,sans-serif}[data-gp-theme="review-winnow"] .theme-winnow h1,[data-gp-theme="review-winnow"] .theme-winnow h2,[data-gp-theme="review-winnow"] .theme-winnow h3{font-family:Palatino Linotype,Book Antiqua,Georgia,serif;font-weight:400}[data-gp-theme="review-winnow"] .theme-winnow .hero{grid-template-columns:1fr .9fr}[data-gp-theme="review-winnow"] .theme-winnow .hero h1{font-size:clamp(3.5rem,6vw,6.5rem);max-width:11ch}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="review-winnow"] .theme-winnow .hero h1{font-size:clamp(3.5rem,6cqw,6.5rem)}}[data-gp-theme="review-winnow"] .theme-winnow .hero-art{position:relative;background:var(--surface);border:1px solid var(--line);padding:2rem;transform:rotate(2deg)}[data-gp-theme="review-winnow"] .theme-winnow .hero-art:before{content:"Sample accession";display:block;border-bottom:1px solid var(--line);font-size:.85rem;padding-bottom:.7rem;color:var(--brand)}[data-gp-theme="review-winnow"] .theme-winnow .hero-art img{height:370px;min-height:0;object-fit:contain}[data-gp-theme="review-winnow"] .theme-winnow .record-filter [data-record]{display:grid;grid-template-columns:1fr 1.5fr;gap:3rem}[data-gp-theme="review-winnow"] .theme-winnow .record-filter [data-record] h3{font-size:1.8rem}[data-gp-theme="review-winnow"] .theme-winnow .seed-envelope{border:1px solid var(--line);background:var(--surface);padding:2.5rem;transform:rotate(-1deg);max-width:700px}[data-gp-theme="review-winnow"] .theme-winnow .seed-envelope:before{content:"Winnow / sample library record";display:block;font-size:.8rem;border-bottom:1px solid var(--line);padding-bottom:1rem;color:var(--brand)}[data-gp-theme="review-winnow"] .theme-winnow .action{border-radius:3px}[data-gp-theme="review-winnow"] .theme-winnow .steps li{border-color:var(--accent)}@media(max-width:800px){[data-gp-theme="review-winnow"] .theme-winnow .hero{grid-template-columns:1fr}[data-gp-theme="review-winnow"] .theme-winnow .hero-art{transform:none}[data-gp-theme="review-winnow"] .theme-winnow .record-filter [data-record]{display:block}[data-gp-theme="review-winnow"] .theme-winnow .seed-envelope{padding:1.5rem}}@container fs-editor-canvas (max-width: 800px){[data-gp-theme="review-winnow"] .theme-winnow .hero{grid-template-columns:1fr}[data-gp-theme="review-winnow"] .theme-winnow .hero-art{transform:none}[data-gp-theme="review-winnow"] .theme-winnow .record-filter [data-record]{display:block}[data-gp-theme="review-winnow"] .theme-winnow .seed-envelope{padding:1.5rem}}
[data-gp-theme="review-winnow"] .theme-winnow .hero h1{font-size:clamp(3.2rem,6vw,6rem)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-winnow"] .theme-winnow .hero h1{font-size:clamp(3.2rem,6cqw,6rem)}}

[data-gp-theme="review-winnow"] .theme-winnow .site-brand img{max-height:52px;width:auto;max-width:240px}
[data-gp-theme="review-winnow"] .theme-winnow .nav-disclosure{padding:0;border:0}
[data-gp-theme="review-winnow"] .theme-winnow .nav-disclosure>summary{font-size:.88rem}
[data-gp-theme="review-winnow"] .theme-winnow[data-mode="dark"] .site-brand img{filter:brightness(0) invert(1)}
[data-gp-theme="review-winnow"] .theme-winnow .action,[data-gp-theme="review-winnow"] .theme-winnow button{color:var(--brand-contrast,var(--bg))}
[data-gp-theme="review-winnow"] .theme-winnow .tab-buttons button{color:var(--brand)}
[data-gp-theme="review-winnow"] .theme-winnow .tab-buttons button[aria-selected="true"]{background:var(--brand);color:var(--brand-contrast)}
[data-gp-theme="review-winnow"] .theme-winnow .tab-buttons button[aria-selected="false"]{background:transparent;color:var(--brand)}
@media(max-width:850px){[data-gp-theme="review-winnow"] .theme-winnow .nav-disclosure>summary{font-size:0}}
@container fs-editor-canvas (max-width: 850px){[data-gp-theme="review-winnow"] .theme-winnow .nav-disclosure>summary{font-size:0}}
@media(max-width:450px){[data-gp-theme="review-winnow"] .theme-winnow .site-brand img{max-width:145px}}
@container fs-editor-canvas (max-width: 450px){[data-gp-theme="review-winnow"] .theme-winnow .site-brand img{max-width:145px}}

[data-gp-theme="review-winnow"] *{box-sizing:border-box}
[data-gp-theme="review-winnow"] a{color:inherit;text-decoration:none}
[data-gp-theme="review-winnow"] button{font:inherit}
[data-gp-theme="review-winnow"] a:focus-visible,[data-gp-theme="review-winnow"] button:focus-visible{outline:3px solid #bd6e39;outline-offset:4px}
[data-gp-theme="review-winnow"] .page{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100svh}
[data-gp-theme="review-winnow"] .rail{background:#d9decd;border-right:1px solid #9da994;min-height:100%;display:flex;flex-direction:column;padding:29px 20px 24px;position:sticky;top:0;height:100svh}
[data-gp-theme="review-winnow"] .rail-brand{font:700 38px Georgia,serif;letter-spacing:-.07em;line-height:1}
[data-gp-theme="review-winnow"] .rail-brand span{display:block;font:700 10px Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;margin-top:9px;color:#587061}
[data-gp-theme="review-winnow"] .rail .archive{font:700 11px Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#6c7b6e;margin:70px 0 20px}
[data-gp-theme="review-winnow"] .rail nav{display:grid}
[data-gp-theme="review-winnow"] .rail nav a{display:flex;justify-content:space-between;gap:15px;padding:15px 0;border-top:1px solid #9da994;font:600 14px Arial,sans-serif}
[data-gp-theme="review-winnow"] .rail nav a:hover{color:#985a33}
[data-gp-theme="review-winnow"] .rail nav a:last-child{border-bottom:1px solid #9da994}
[data-gp-theme="review-winnow"] .rail nav small{font-size:10px;color:#7b8b77}
[data-gp-theme="review-winnow"] .rail-foot{margin-top:auto;font-size:12px;line-height:1.5;color:#627464}
[data-gp-theme="review-winnow"] .rail-foot strong{display:block;color:#314d3a;font-size:10px;letter-spacing:.15em;text-transform:uppercase;margin-bottom:8px}
[data-gp-theme="review-winnow"] .content{overflow:hidden}
[data-gp-theme="review-winnow"] .edition-bar{display:flex;justify-content:space-between;align-items:center;padding:19px clamp(20px,4.5vw,78px);border-bottom:1px solid #9da994;font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;gap:15px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-winnow"] .edition-bar{padding:19px clamp(20px,4.5cqw,78px)}}
[data-gp-theme="review-winnow"] .edition-bar span:last-child{color:#6c7b6e}
[data-gp-theme="review-winnow"] .hero{padding:clamp(35px,5vw,80px) clamp(20px,4.5vw,78px) 65px;min-height:780px;position:relative;background:radial-gradient(circle at 65% 50%,#f5f1e5 0,#e9e5d7 58%)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-winnow"] .hero{padding:clamp(35px,5cqw,80px) clamp(20px,4.5cqw,78px) 65px}}
[data-gp-theme="review-winnow"] .hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,.83fr);gap:clamp(25px,4vw,70px);align-items:start;position:relative;z-index:1}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-winnow"] .hero-grid{gap:clamp(25px,4cqw,70px)}}
[data-gp-theme="review-winnow"] .eyebrow{display:flex;align-items:center;gap:14px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#7a4d2f;font-weight:700}
[data-gp-theme="review-winnow"] .eyebrow:before{content:"";width:31px;height:1px;background:#a05d36}
[data-gp-theme="review-winnow"] .headline{margin:55px 0 27px;font:400 clamp(5.5rem,9.5vw,11rem)/.83 Georgia,serif;letter-spacing:-.085em;max-width:8ch}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-winnow"] .headline{font:400 clamp(5.5rem,9.5cqw,11rem)/.83 Georgia,serif}}
[data-gp-theme="review-winnow"] .headline em{font-style:italic;color:#64846d}
[data-gp-theme="review-winnow"] .intro{font:400 clamp(1.15rem,1.65vw,1.5rem)/1.55 Georgia,serif;max-width:35ch;margin:0 0 33px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-winnow"] .intro{font:400 clamp(1.15rem,1.65cqw,1.5rem)/1.55 Georgia,serif}}
[data-gp-theme="review-winnow"] .hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}
[data-gp-theme="review-winnow"] .hero-actions a:first-child{padding:15px 20px;background:#274b37;color:#fff;font:700 12px Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}
[data-gp-theme="review-winnow"] .hero-actions a:first-child:hover{background:#396949}
[data-gp-theme="review-winnow"] .hero-actions a:last-child{border-bottom:1px solid #21372d;padding-bottom:7px;font-size:13px;font-weight:700}
[data-gp-theme="review-winnow"] .specimen-wrap{position:relative;padding-top:15px}
[data-gp-theme="review-winnow"] .specimen-wrap:before{content:"No. 014";position:absolute;right:-22px;top:-20px;color:#9dad95;font:italic clamp(5rem,10vw,10rem) Georgia,serif;z-index:-1;white-space:nowrap}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-winnow"] .specimen-wrap:before{font:italic clamp(5rem,10cqw,10rem) Georgia,serif}}
[data-gp-theme="review-winnow"] .specimen{background:#f9f7ed;border:1px solid #b8b7a4;box-shadow:14px 19px 0 #a2ab8d70;transform:rotate(2deg);padding:17px 18px 23px;transition:var(--fs-anim-rfFeedback,transform .45s);max-width:555px}
[data-gp-theme="review-winnow"] .specimen:hover{transform:rotate(0)}
[data-gp-theme="review-winnow"] .specimen .plate-top{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.17em;text-transform:uppercase;border-bottom:1px solid #bcc4b3;padding:0 0 13px;font-weight:700}
[data-gp-theme="review-winnow"] .specimen-frame{height:clamp(360px,44vw,575px);display:grid;place-items:center;overflow:hidden;background:#f4f0df;margin:15px 0 13px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-winnow"] .specimen-frame{height:clamp(360px,44cqw,575px)}}
[data-gp-theme="review-winnow"] .specimen-frame img{width:100%;height:100%;object-fit:contain}
[data-gp-theme="review-winnow"] .specimen-frame img.photo{display:none;object-fit:cover}
[data-gp-theme="review-winnow"] .specimen[data-view="photo"] .specimen-frame img.photo{display:block}
[data-gp-theme="review-winnow"] .specimen[data-view="photo"] .specimen-frame img.illustration{display:none}
[data-gp-theme="review-winnow"] .plate-caption{display:flex;justify-content:space-between;gap:15px;font-size:11px;line-height:1.5}
[data-gp-theme="review-winnow"] .plate-caption strong{font:italic 21px Georgia,serif}
[data-gp-theme="review-winnow"] .plate-caption span{max-width:18ch;text-align:right;color:#677767}
[data-gp-theme="review-winnow"] .switch{display:flex;gap:5px;position:relative;z-index:2;margin-top:26px;align-items:center;justify-content:flex-end}
[data-gp-theme="review-winnow"] .switch span{font-size:10px;letter-spacing:.17em;text-transform:uppercase;font-weight:700;margin-right:9px;color:#7b896e}
[data-gp-theme="review-winnow"] .switch button{cursor:pointer;background:transparent;border:1px solid #748575;color:#314d3a;padding:10px 14px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
[data-gp-theme="review-winnow"] .switch button[aria-pressed="true"]{background:#274b37;color:#fff}
[data-gp-theme="review-winnow"] .hero-bottom{border-top:1px solid #9da994;margin-top:110px;padding-top:17px;display:flex;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:#647263}
[data-gp-theme="review-winnow"] .index{background:#273b2e;color:#f3f0e1;padding:clamp(58px,7vw,110px) clamp(20px,4.5vw,78px)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-winnow"] .index{padding:clamp(58px,7cqw,110px) clamp(20px,4.5cqw,78px)}}
[data-gp-theme="review-winnow"] .index-header{display:flex;justify-content:space-between;gap:25px;align-items:end;border-bottom:1px solid #a0ad9d;padding-bottom:33px}
[data-gp-theme="review-winnow"] .index h2{font:400 clamp(3.5rem,7vw,7.5rem)/.93 Georgia,serif;letter-spacing:-.07em;margin:0;max-width:10ch}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-winnow"] .index h2{font:400 clamp(3.5rem,7cqw,7.5rem)/.93 Georgia,serif}}
[data-gp-theme="review-winnow"] .index-header p{max-width:28ch;line-height:1.55;color:#d0d9c8;margin:0}
[data-gp-theme="review-winnow"] .record{display:grid;grid-template-columns:75px minmax(0,1fr) minmax(110px,180px) 26px;align-items:center;gap:22px;padding:24px 0;border-bottom:1px solid #799181}
[data-gp-theme="review-winnow"] .record[href]:hover{background:#3b5944;padding-inline:12px}
[data-gp-theme="review-winnow"] .record b{font:italic 30px Georgia,serif;color:#c5d6b4}
[data-gp-theme="review-winnow"] .record strong{font:400 clamp(1.6rem,3vw,3rem) Georgia,serif;letter-spacing:-.04em}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-winnow"] .record strong{font:400 clamp(1.6rem,3cqw,3rem) Georgia,serif}}
[data-gp-theme="review-winnow"] .record span{font-size:12px;color:#d0d9c8;line-height:1.4}
[data-gp-theme="review-winnow"] .record i{font-size:20px;font-style:normal;color:#d4c0a1}
[data-gp-theme="review-winnow"] .field{min-height:430px;background:linear-gradient(90deg,#152a1ede,#152a1e33),url('/gpt-themes/review-winnow/refined-assets/winnow-field.jpg') center/cover no-repeat;color:#fff;display:flex;align-items:end;padding:clamp(45px,7vw,110px) clamp(20px,4.5vw,78px)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-winnow"] .field{padding:clamp(45px,7cqw,110px) clamp(20px,4.5cqw,78px)}}
[data-gp-theme="review-winnow"] .field blockquote{font:italic clamp(2.5rem,5vw,5.5rem)/1.04 Georgia,serif;letter-spacing:-.06em;max-width:15ch;margin:0}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-winnow"] .field blockquote{font:italic clamp(2.5rem,5cqw,5.5rem)/1.04 Georgia,serif}}
[data-gp-theme="review-winnow"] .field cite{display:block;font:700 11px Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;margin-top:28px;color:#e4e7d3}
[data-gp-theme="review-winnow"] footer strong{font:700 48px Georgia,serif;letter-spacing:-.07em}
[data-gp-theme="review-winnow"] footer p{max-width:32ch;margin:12px 0 0}
[data-gp-theme="review-winnow"] footer a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:1020px){[data-gp-theme="review-winnow"] .page{grid-template-columns:1fr}
[data-gp-theme="review-winnow"] .rail{position:static;height:auto;min-height:0;display:flex;flex-direction:row;align-items:center;padding:16px 22px;gap:30px}
[data-gp-theme="review-winnow"] .rail-brand{font-size:26px}
[data-gp-theme="review-winnow"] .rail-brand span{font-size:7px}
[data-gp-theme="review-winnow"] .rail .archive,[data-gp-theme="review-winnow"] .rail-foot{display:none}
[data-gp-theme="review-winnow"] .rail nav{display:flex;gap:20px;margin-left:auto}
[data-gp-theme="review-winnow"] .rail nav a{border:0!important;padding:0;font-size:12px}
[data-gp-theme="review-winnow"] .rail nav small{display:none}
[data-gp-theme="review-winnow"] .hero-grid{grid-template-columns:1fr 1fr}
[data-gp-theme="review-winnow"] .headline{font-size:clamp(5rem,9vw,8rem)}}
@container fs-editor-canvas (max-width: 1020px){[data-gp-theme="review-winnow"] .page{grid-template-columns:1fr}
[data-gp-theme="review-winnow"] .rail{position:static;height:auto;min-height:0;display:flex;flex-direction:row;align-items:center;padding:16px 22px;gap:30px}
[data-gp-theme="review-winnow"] .rail-brand{font-size:26px}
[data-gp-theme="review-winnow"] .rail-brand span{font-size:7px}
[data-gp-theme="review-winnow"] .rail .archive,[data-gp-theme="review-winnow"] .rail-foot{display:none}
[data-gp-theme="review-winnow"] .rail nav{display:flex;gap:20px;margin-left:auto}
[data-gp-theme="review-winnow"] .rail nav a{border:0!important;padding:0;font-size:12px}
[data-gp-theme="review-winnow"] .rail nav small{display:none}
[data-gp-theme="review-winnow"] .hero-grid{grid-template-columns:1fr 1fr}
[data-gp-theme="review-winnow"] .headline{font-size:clamp(5rem,9cqw,8rem)}}
@media(max-width:700px){[data-gp-theme="review-winnow"] .rail{display:block}
[data-gp-theme="review-winnow"] .rail nav{display:flex;overflow:auto;margin:22px 0 0;gap:22px}
[data-gp-theme="review-winnow"] .rail nav a{white-space:nowrap}
[data-gp-theme="review-winnow"] .edition-bar{font-size:9px}
[data-gp-theme="review-winnow"] .edition-bar span:last-child{display:none}
[data-gp-theme="review-winnow"] .hero{min-height:auto}
[data-gp-theme="review-winnow"] .hero-grid{grid-template-columns:1fr}
[data-gp-theme="review-winnow"] .headline{font-size:clamp(5rem,18vw,8rem);margin:40px 0 25px}
[data-gp-theme="review-winnow"] .specimen-wrap{margin:45px auto 0;width:min(100%,500px)}
[data-gp-theme="review-winnow"] .specimen-frame{height:420px}
[data-gp-theme="review-winnow"] .hero-bottom{margin-top:75px}
[data-gp-theme="review-winnow"] .index-header{display:block}
[data-gp-theme="review-winnow"] .index-header p{margin-top:25px}
[data-gp-theme="review-winnow"] .record{grid-template-columns:45px 1fr 24px}
[data-gp-theme="review-winnow"] .record span{display:none}
[data-gp-theme="review-winnow"] .record b{font-size:24px}
[data-gp-theme="review-winnow"] .record strong{font-size:1.5rem}
[data-gp-theme="review-winnow"] .field{min-height:320px}
[data-gp-theme="review-winnow"] footer a{display:block;margin-top:30px}}
@container fs-editor-canvas (max-width: 700px){[data-gp-theme="review-winnow"] .rail{display:block}
[data-gp-theme="review-winnow"] .rail nav{display:flex;overflow:auto;margin:22px 0 0;gap:22px}
[data-gp-theme="review-winnow"] .rail nav a{white-space:nowrap}
[data-gp-theme="review-winnow"] .edition-bar{font-size:9px}
[data-gp-theme="review-winnow"] .edition-bar span:last-child{display:none}
[data-gp-theme="review-winnow"] .hero{min-height:auto}
[data-gp-theme="review-winnow"] .hero-grid{grid-template-columns:1fr}
[data-gp-theme="review-winnow"] .headline{font-size:clamp(5rem,18cqw,8rem);margin:40px 0 25px}
[data-gp-theme="review-winnow"] .specimen-wrap{margin:45px auto 0;width:min(100%,500px)}
[data-gp-theme="review-winnow"] .specimen-frame{height:420px}
[data-gp-theme="review-winnow"] .hero-bottom{margin-top:75px}
[data-gp-theme="review-winnow"] .index-header{display:block}
[data-gp-theme="review-winnow"] .index-header p{margin-top:25px}
[data-gp-theme="review-winnow"] .record{grid-template-columns:45px 1fr 24px}
[data-gp-theme="review-winnow"] .record span{display:none}
[data-gp-theme="review-winnow"] .record b{font-size:24px}
[data-gp-theme="review-winnow"] .record strong{font-size:1.5rem}
[data-gp-theme="review-winnow"] .field{min-height:320px}
[data-gp-theme="review-winnow"] footer a{display:block;margin-top:30px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="review-winnow"] .specimen{transition:none}}
[data-gp-theme="review-winnow"] .rail-menu{display:none}
[data-gp-theme="review-winnow"] .specimen-frame{position:relative}
[data-gp-theme="review-winnow"] .specimen-frame img.illustration{width:94%;height:94%;filter:drop-shadow(0 5px 12px #6c644934)}
[data-gp-theme="review-winnow"] .specimen-frame:after{content:"FIG. 01 / GRAIN & SEED";position:absolute;bottom:13px;left:13px;font-size:9px;letter-spacing:.16em;color:#586951}
[data-gp-theme="review-winnow"] .specimen-data{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid #bcc4b3;margin-bottom:17px}
[data-gp-theme="review-winnow"] .specimen-data div{padding:10px 5px 11px 0;border-right:1px solid #bcc4b3}
[data-gp-theme="review-winnow"] .specimen-data div:not(:first-child){padding-left:10px}
[data-gp-theme="review-winnow"] .specimen-data div:last-child{border:0}
[data-gp-theme="review-winnow"] .specimen-data small{display:block;color:#687a68;text-transform:uppercase;letter-spacing:.12em;font-size:8px}
[data-gp-theme="review-winnow"] .specimen-data strong{display:block;margin-top:5px;font-size:11px}
[data-gp-theme="review-winnow"] .record-link{display:block;text-align:right;text-decoration:underline;text-underline-offset:4px;font-size:12px;font-weight:700;margin-top:17px;color:#314d3a}
[data-gp-theme="review-winnow"] .footer-nav{display:grid;gap:10px;min-width:180px}
[data-gp-theme="review-winnow"] .footer-nav a{border-bottom:1px solid #9da994;text-decoration:none;padding-bottom:6px}
[data-gp-theme="review-winnow"] .footer-nav a:hover{color:#985a33}
[data-gp-theme="review-winnow"] .record-page{background:#f1eee2}
[data-gp-theme="review-winnow"] .record-mast{padding:55px clamp(20px,4.5vw,78px) 30px;border-bottom:1px solid #9da994;display:flex;justify-content:space-between;align-items:end;gap:20px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-winnow"] .record-mast{padding:55px clamp(20px,4.5cqw,78px) 30px}}
[data-gp-theme="review-winnow"] .record-mast small{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#76543c;font-weight:700}
[data-gp-theme="review-winnow"] .record-mast h1{font:400 clamp(5rem,10vw,11rem)/.83 Georgia,serif;letter-spacing:-.09em;margin:30px 0 0;max-width:9ch}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-winnow"] .record-mast h1{font:400 clamp(5rem,10cqw,11rem)/.83 Georgia,serif}}
[data-gp-theme="review-winnow"] .record-mast p{font:italic 23px Georgia,serif;max-width:20ch;line-height:1.35}
[data-gp-theme="review-winnow"] .record-main{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:clamp(25px,5vw,80px);padding:clamp(30px,5vw,70px) clamp(20px,4.5vw,78px)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-winnow"] .record-main{gap:clamp(25px,5cqw,80px);padding:clamp(30px,5cqw,70px) clamp(20px,4.5cqw,78px)}}
[data-gp-theme="review-winnow"] .record-plate{background:#fcfaf0;border:1px solid #b8b7a4;padding:18px;box-shadow:12px 15px 0 #a2ab8d70}
[data-gp-theme="review-winnow"] .record-plate .specimen-frame{height:630px;margin:0}
[data-gp-theme="review-winnow"] .record-plate .specimen-frame img{width:100%;height:100%;object-fit:contain}
[data-gp-theme="review-winnow"] .record-plate .specimen-frame img.photo{object-fit:cover}
[data-gp-theme="review-winnow"] .record-plate .specimen-frame img.photo{display:none}
[data-gp-theme="review-winnow"] .record-plate[data-view="photo"] img.photo{display:block}
[data-gp-theme="review-winnow"] .record-plate[data-view="photo"] img.illustration{display:none}
[data-gp-theme="review-winnow"] .record-details{padding-top:10px}
[data-gp-theme="review-winnow"] .record-details h2{font:400 clamp(3rem,5vw,5rem)/1 Georgia,serif;letter-spacing:-.06em;margin:20px 0 30px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-winnow"] .record-details h2{font:400 clamp(3rem,5cqw,5rem)/1 Georgia,serif}}
[data-gp-theme="review-winnow"] .record-details p{font:18px/1.6 Georgia,serif;max-width:38ch}
[data-gp-theme="review-winnow"] .field-row{display:grid;grid-template-columns:125px 1fr;gap:20px;padding:17px 0;border-top:1px solid #a8b09d}
[data-gp-theme="review-winnow"] .field-row:last-of-type{border-bottom:1px solid #a8b09d}
[data-gp-theme="review-winnow"] .field-row small{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#6b7a69}
[data-gp-theme="review-winnow"] .field-row strong{font:17px Georgia,serif}
[data-gp-theme="review-winnow"] .record-details .switch{justify-content:flex-start;margin-top:30px}
[data-gp-theme="review-winnow"] .record-note{padding:45px clamp(20px,4.5vw,78px);background:#d9decd;display:grid;grid-template-columns:1fr 1fr;gap:35px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-winnow"] .record-note{padding:45px clamp(20px,4.5cqw,78px)}}
[data-gp-theme="review-winnow"] .record-note h2{font:italic clamp(2rem,4vw,4rem)/1.1 Georgia,serif;max-width:15ch;margin:0}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-winnow"] .record-note h2{font:italic clamp(2rem,4cqw,4rem)/1.1 Georgia,serif}}
[data-gp-theme="review-winnow"] .record-note p{max-width:44ch;line-height:1.6;margin:0}
@media(max-width:700px){[data-gp-theme="review-winnow"] .rail{display:flex;align-items:center;justify-content:space-between;padding:16px 20px}
[data-gp-theme="review-winnow"] .rail nav{display:none}
[data-gp-theme="review-winnow"] .rail-menu{display:block;position:relative;margin:0}
[data-gp-theme="review-winnow"] .rail-menu summary{list-style:none;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;cursor:pointer}
[data-gp-theme="review-winnow"] .rail-menu summary span{margin-left:7px}
[data-gp-theme="review-winnow"] .rail-menu[open] div{position:absolute;right:0;top:29px;z-index:20;width:210px;background:#d9decd;border:1px solid #9da994;box-shadow:0 10px 20px #21372d33;padding:10px 16px}
[data-gp-theme="review-winnow"] .rail-menu a{display:block;padding:11px 2px;border-bottom:1px solid #9da994;font-size:13px;font-weight:700}
[data-gp-theme="review-winnow"] .rail-menu a:last-child{border-bottom:0}
[data-gp-theme="review-winnow"] .specimen-data strong{font-size:10px}
[data-gp-theme="review-winnow"] .specimen-frame{height:420px}
[data-gp-theme="review-winnow"] .record-link{text-align:center}
[data-gp-theme="review-winnow"] .footer-nav{margin-top:30px}
[data-gp-theme="review-winnow"] .record-mast{display:block}
[data-gp-theme="review-winnow"] .record-mast h1{font-size:clamp(4.5rem,16vw,7rem)}
[data-gp-theme="review-winnow"] .record-mast p{margin-top:25px}
[data-gp-theme="review-winnow"] .record-main{grid-template-columns:1fr}
[data-gp-theme="review-winnow"] .record-plate .specimen-frame{height:440px}
[data-gp-theme="review-winnow"] .record-note{grid-template-columns:1fr}}
@container fs-editor-canvas (max-width: 700px){[data-gp-theme="review-winnow"] .rail{display:flex;align-items:center;justify-content:space-between;padding:16px 20px}
[data-gp-theme="review-winnow"] .rail nav{display:none}
[data-gp-theme="review-winnow"] .rail-menu{display:block;position:relative;margin:0}
[data-gp-theme="review-winnow"] .rail-menu summary{list-style:none;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;cursor:pointer}
[data-gp-theme="review-winnow"] .rail-menu summary span{margin-left:7px}
[data-gp-theme="review-winnow"] .rail-menu[open] div{position:absolute;right:0;top:29px;z-index:20;width:210px;background:#d9decd;border:1px solid #9da994;box-shadow:0 10px 20px #21372d33;padding:10px 16px}
[data-gp-theme="review-winnow"] .rail-menu a{display:block;padding:11px 2px;border-bottom:1px solid #9da994;font-size:13px;font-weight:700}
[data-gp-theme="review-winnow"] .rail-menu a:last-child{border-bottom:0}
[data-gp-theme="review-winnow"] .specimen-data strong{font-size:10px}
[data-gp-theme="review-winnow"] .specimen-frame{height:420px}
[data-gp-theme="review-winnow"] .record-link{text-align:center}
[data-gp-theme="review-winnow"] .footer-nav{margin-top:30px}
[data-gp-theme="review-winnow"] .record-mast{display:block}
[data-gp-theme="review-winnow"] .record-mast h1{font-size:clamp(4.5rem,16cqw,7rem)}
[data-gp-theme="review-winnow"] .record-mast p{margin-top:25px}
[data-gp-theme="review-winnow"] .record-main{grid-template-columns:1fr}
[data-gp-theme="review-winnow"] .record-plate .specimen-frame{height:440px}
[data-gp-theme="review-winnow"] .record-note{grid-template-columns:1fr}}

/* Winnow: the field archive. The full catalogue keeps the same visual grammar. */
[data-gp-theme="review-winnow"]{--font-body:Arial,sans-serif;--font-display:Georgia,serif;--site-width:1320px;--button-radius:0;--card-radius:0;background:var(--bg);font-family:Arial,sans-serif}
[data-gp-theme="review-winnow"]{overflow:hidden;background:var(--bg)}
[data-gp-theme="review-winnow"] .hero{display:block;grid-template-columns:none}
[data-gp-theme="review-winnow"] .hero,[data-gp-theme="review-winnow"] .specimen,[data-gp-theme="review-winnow"] .record-page{color:#21372d}
[data-gp-theme="review-winnow"] .hero .headline,[data-gp-theme="review-winnow"] .record-page h1,[data-gp-theme="review-winnow"] .record-page h2{color:#21372d}
[data-gp-theme="review-winnow"] .index,[data-gp-theme="review-winnow"] .index h2{color:#f3f0e1}
[data-gp-theme="review-winnow"][data-mode="dark"].layout-minimal [data-gp-theme="review-winnow"] .hero,[data-gp-theme="review-winnow"][data-mode="dark"].layout-minimal [data-gp-theme="review-winnow"] .hero .headline{color:var(--ink)}
[data-gp-theme="review-winnow"] .site-loader{background:#e9e5d7;color:#21372d;font-family:Georgia,serif}
[data-gp-theme="review-winnow"] .site-loader h1{font:italic 4rem Georgia,serif}
[data-gp-theme="review-winnow"] .site-header{background:var(--bg);border-bottom:1px solid var(--line)}
[data-gp-theme="review-winnow"] .header-inner{max-width:none;min-height:85px;padding:16px clamp(20px,4.5vw,78px)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-winnow"] .header-inner{padding:16px clamp(20px,4.5cqw,78px)}}
[data-gp-theme="review-winnow"] .refined-brand{font:700 35px/.85 Georgia,serif;letter-spacing:-.07em;color:var(--ink)}
[data-gp-theme="review-winnow"] .refined-brand small{display:block;font:700 9px/1.2 Arial,sans-serif;letter-spacing:.19em;text-transform:uppercase;color:var(--accent);margin-top:9px}
[data-gp-theme="review-winnow"] .primary-nav>a,[data-gp-theme="review-winnow"] .nav-disclosure>summary{font-size:12px;font-weight:700;letter-spacing:.06em}
[data-gp-theme="review-winnow"] .nav-disclosure.compact-nav{display:block}
[data-gp-theme="review-winnow"] .header-cta{background:var(--brand);border-radius:0;text-transform:uppercase;letter-spacing:.07em;font-size:11px}
[data-gp-theme="review-winnow"] .nav-disclosure>.mega-panel{background:var(--surface);padding:35px clamp(20px,4.5vw,78px);border-top:1px solid var(--line);box-shadow:0 22px 45px #10251935}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-winnow"] .nav-disclosure>.mega-panel{padding:35px clamp(20px,4.5cqw,78px)}}
[data-gp-theme="review-winnow"] .mega-content{display:grid;grid-template-columns:minmax(210px,.8fr) minmax(185px,.8fr) minmax(330px,1.7fr);gap:clamp(20px,3.5vw,65px)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-winnow"] .mega-content{gap:clamp(20px,3.5cqw,65px)}}
[data-gp-theme="review-winnow"] .mega-intro small{display:block;font:700 10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.17em;color:var(--accent);margin-bottom:27px}
[data-gp-theme="review-winnow"] .mega-intro strong{font:italic 400 clamp(2.7rem,4.5vw,5rem)/.92 Georgia,serif;letter-spacing:-.07em}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-winnow"] .mega-intro strong{font:italic 400 clamp(2.7rem,4.5cqw,5rem)/.92 Georgia,serif}}
[data-gp-theme="review-winnow"] .mega-intro p{font:16px/1.5 Georgia,serif;max-width:30ch;margin-top:18px}
[data-gp-theme="review-winnow"] .mega-intro>a{font:700 11px Arial,sans-serif;text-transform:uppercase;letter-spacing:.1em;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:8px}
[data-gp-theme="review-winnow"] .mega-feature{position:relative;min-height:260px;border:1px solid var(--line);background:#f1efe3;display:grid;place-items:center;padding:18px}
[data-gp-theme="review-winnow"] .mega-feature img{height:195px;width:100%;object-fit:contain}
[data-gp-theme="review-winnow"] .mega-feature p{position:absolute;left:15px;bottom:13px;right:15px;text-align:center;margin:0;color:#435b43;background:#f1efe3d9;padding:5px;font:italic 13px Georgia,serif}
[data-gp-theme="review-winnow"] .mega-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;align-content:start}
[data-gp-theme="review-winnow"] .mega-links a{display:grid;grid-template-columns:28px 1fr auto;align-items:baseline;gap:7px;border-bottom:1px solid var(--line);padding:13px 0;font:400 17px/1.2 Georgia,serif;text-decoration:none}
[data-gp-theme="review-winnow"] .mega-links a:after{content:none}
[data-gp-theme="review-winnow"] .mega-links .link-number{font:italic 12px Georgia,serif;color:var(--accent)}
[data-gp-theme="review-winnow"] .site-footer{background:var(--surface);padding:62px clamp(20px,4.5vw,78px) 25px;border-top:1px solid var(--line)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-winnow"] .site-footer{padding:62px clamp(20px,4.5cqw,78px) 25px}}
[data-gp-theme="review-winnow"] .site-footer .site-brand{font:400 clamp(3.5rem,7vw,7.5rem)/.85 Georgia,serif;letter-spacing:-.075em;max-width:800px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-winnow"] .site-footer .site-brand{font:400 clamp(3.5rem,7cqw,7.5rem)/.85 Georgia,serif}}
[data-gp-theme="review-winnow"] .footer-links{display:grid;grid-template-columns:repeat(2,minmax(130px,1fr));gap:0 25px}
[data-gp-theme="review-winnow"] .footer-links a{padding:8px 0;border-bottom:1px solid var(--line);text-decoration:none;font-size:12px}
[data-gp-theme="review-winnow"] .page-intro{position:relative;background:var(--surface);padding:clamp(65px,8vw,130px) clamp(24px,6vw,110px);border-bottom:1px solid var(--line)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-winnow"] .page-intro{padding:clamp(65px,8cqw,130px) clamp(24px,6cqw,110px)}}
[data-gp-theme="review-winnow"] .page-intro:after{content:'FIELD / ARCHIVE';position:absolute;top:35px;right:6vw;font:700 10px Arial,sans-serif;letter-spacing:.2em;color:var(--accent)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-winnow"] .page-intro:after{right:6cqw}}
[data-gp-theme="review-winnow"] .page-intro h1{font:400 clamp(3.8rem,8vw,8rem)/.95 Georgia,serif;letter-spacing:-.075em;max-width:13ch}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-winnow"] .page-intro h1{font:400 clamp(3.8rem,8cqw,8rem)/.95 Georgia,serif}}
[data-gp-theme="review-winnow"] .page-intro .place{color:var(--accent);font-size:11px;text-transform:uppercase;letter-spacing:.18em}
[data-gp-theme="review-winnow"] .page-intro .lede{font:clamp(1.1rem,1.6vw,1.45rem)/1.45 Georgia,serif;max-width:40ch}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-winnow"] .page-intro .lede{font:clamp(1.1rem,1.6cqw,1.45rem)/1.45 Georgia,serif}}
[data-gp-theme="review-winnow"]>section[data-block]{padding-block:clamp(55px,6vw,100px);border-bottom:1px solid var(--line)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-winnow"]>section[data-block]{padding-block:clamp(55px,6cqw,100px)}}
[data-gp-theme="review-winnow"]>section[data-block]:nth-of-type(even){background:var(--surface)}
[data-gp-theme="review-winnow"]>section[data-block] h2{font:400 clamp(2.8rem,5vw,5rem)/1 Georgia,serif;letter-spacing:-.055em}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-winnow"]>section[data-block] h2{font:400 clamp(2.8rem,5cqw,5rem)/1 Georgia,serif}}
[data-gp-theme="review-winnow"] .records article{background:var(--surface);border:1px solid var(--line);padding:23px}
[data-gp-theme="review-winnow"] .action{border-radius:0;text-transform:uppercase;letter-spacing:.08em;font-size:11px}
[data-gp-theme="review-winnow"] .refined-preloader{background:#e9e5d7;color:#21372d}
[data-gp-theme="review-winnow"] .loader-seed{font:400 85px Georgia,serif;color:#647d58;animation:var(--fs-anim-rfFeedback,rf-winnow-seed-turn .65s ease both)}
[data-gp-theme="review-winnow"] .loader-name{font:italic 400 clamp(4rem,10vw,9rem)/.9 Georgia,serif;letter-spacing:-.08em}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-winnow"] .loader-name{font:italic 400 clamp(4rem,10cqw,9rem)/.9 Georgia,serif}}
[data-gp-theme="review-winnow"] .loader-small{color:#576a55}
@keyframes rf-winnow-seed-turn{from{opacity:.4;transform:rotate(-38deg) scale(.75)}to{opacity:1;transform:rotate(0) scale(1)}}
[data-gp-theme="review-winnow"].layout-full [data-gp-theme="review-winnow"]{width:100%;max-width:none;margin:0}
[data-gp-theme="review-winnow"].layout-full [data-gp-theme="review-winnow"] .hero{background:linear-gradient(105deg,#e9e5d7 0%,#d4dbc9 100%)}
[data-gp-theme="review-winnow"].layout-full [data-gp-theme="review-winnow"] .hero-grid{grid-template-columns:1fr 1.2fr;align-items:center}
[data-gp-theme="review-winnow"].layout-full [data-gp-theme="review-winnow"] .specimen-wrap{width:100%;max-width:none;transform:rotate(0)}
[data-gp-theme="review-winnow"].layout-full [data-gp-theme="review-winnow"] .specimen-frame{height:590px}
[data-gp-theme="review-winnow"].layout-full [data-gp-theme="review-winnow"] .headline{font-size:clamp(5.5rem,8vw,10rem)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-winnow"].layout-full [data-gp-theme="review-winnow"] .headline{font-size:clamp(5.5rem,8cqw,10rem)}}
[data-gp-theme="review-winnow"].layout-full [data-gp-theme="review-winnow"] .hero,[data-gp-theme="review-winnow"].layout-full [data-gp-theme="review-winnow"] .record-main{padding-inline:8vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-winnow"].layout-full [data-gp-theme="review-winnow"] .hero,[data-gp-theme="review-winnow"].layout-full [data-gp-theme="review-winnow"] .record-main{padding-inline:8cqw}}
[data-gp-theme="review-winnow"].layout-boxed [data-gp-theme="review-winnow"]{max-width:1120px;width:calc(100% - 64px);margin:32px auto;border:1px solid var(--line)}
[data-gp-theme="review-winnow"].layout-boxed [data-gp-theme="review-winnow"] .hero{min-height:650px}
[data-gp-theme="review-winnow"].layout-centered [data-gp-theme="review-winnow"] .hero-grid,[data-gp-theme="review-winnow"].layout-centered [data-gp-theme="review-winnow"] .record-main{grid-template-columns:1fr;justify-items:center;text-align:center}
[data-gp-theme="review-winnow"].layout-centered [data-gp-theme="review-winnow"] .hero-grid>div:first-child{max-width:750px}
[data-gp-theme="review-winnow"].layout-centered [data-gp-theme="review-winnow"] .specimen-wrap{width:min(100%,570px)}
[data-gp-theme="review-winnow"].layout-centered [data-gp-theme="review-winnow"] .hero-actions,[data-gp-theme="review-winnow"].layout-centered [data-gp-theme="review-winnow"] .switch{justify-content:center}
[data-gp-theme="review-winnow"].layout-centered [data-gp-theme="review-winnow"] .record-details{text-align:left;max-width:650px}
[data-gp-theme="review-winnow"].layout-minimal [data-gp-theme="review-winnow"] .hero{min-height:0;background:var(--bg)}
[data-gp-theme="review-winnow"].layout-minimal [data-gp-theme="review-winnow"] .hero-grid{grid-template-columns:1fr 330px;align-items:center}
[data-gp-theme="review-winnow"].layout-minimal [data-gp-theme="review-winnow"] .headline{font-size:clamp(3.4rem,6vw,6rem)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-winnow"].layout-minimal [data-gp-theme="review-winnow"] .headline{font-size:clamp(3.4rem,6cqw,6rem)}}
[data-gp-theme="review-winnow"].layout-minimal [data-gp-theme="review-winnow"] .specimen-frame{height:280px}
[data-gp-theme="review-winnow"].layout-minimal [data-gp-theme="review-winnow"] .record-plate .specimen-frame{height:380px}
[data-gp-theme="review-winnow"].layout-minimal [data-gp-theme="review-winnow"] .field{min-height:250px}
[data-gp-theme="review-winnow"].layout-edge [data-gp-theme="review-winnow"]{max-width:none;margin:0;width:100%;padding:0}
[data-gp-theme="review-winnow"].layout-edge [data-gp-theme="review-winnow"] .hero{min-height:calc(100svh - 85px);background:linear-gradient(90deg,#e9e5d7 0%,#e9e5d7b5 45%,#e9e5d744 100%),url('/gpt-themes/review-winnow/refined-assets/winnow-field.jpg') center/cover}
[data-gp-theme="review-winnow"].layout-edge [data-gp-theme="review-winnow"] .hero-grid{grid-template-columns:1fr minmax(390px,.7fr)}
[data-gp-theme="review-winnow"].layout-edge [data-gp-theme="review-winnow"] .record-mast{min-height:50vh;background:linear-gradient(90deg,#e9e5d7e9,#e9e5d789),url('/gpt-themes/review-winnow/refined-assets/winnow-field.jpg') center/cover}
[data-gp-theme="review-winnow"] .refined-preloader{position:fixed;z-index:9999;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;pointer-events:none;transition:var(--fs-anim-rfFeedback,opacity .25s ease,visibility .25s ease)}
[data-gp-theme="review-winnow"] .refined-preloader.is-leaving{opacity:0;visibility:hidden}[data-gp-theme="review-winnow"] .refined-preloader .loader-small{display:block;font:700 10px/1.3 system-ui,sans-serif;letter-spacing:.26em;text-transform:uppercase}
@media(max-width:900px){[data-gp-theme="review-winnow"] .mega-content{grid-template-columns:1fr 1fr}[data-gp-theme="review-winnow"] .mega-feature{display:none}}
@container fs-editor-canvas (max-width: 900px){[data-gp-theme="review-winnow"] .mega-content{grid-template-columns:1fr 1fr}[data-gp-theme="review-winnow"] .mega-feature{display:none}}
@media(max-width:850px){[data-gp-theme="review-winnow"] .nav-disclosure>.mega-panel{position:fixed;inset:var(--menu-top,78px) 0 0;overflow:auto;padding:26px 20px}[data-gp-theme="review-winnow"] .mega-content{display:block}[data-gp-theme="review-winnow"] .mega-intro{margin-bottom:22px}[data-gp-theme="review-winnow"] .mega-links{grid-template-columns:1fr 1fr}}
@container fs-editor-canvas (max-width: 850px){[data-gp-theme="review-winnow"] .nav-disclosure>.mega-panel{position:fixed;inset:var(--menu-top,78px) 0 0;overflow:auto;padding:26px 20px}[data-gp-theme="review-winnow"] .mega-content{display:block}[data-gp-theme="review-winnow"] .mega-intro{margin-bottom:22px}[data-gp-theme="review-winnow"] .mega-links{grid-template-columns:1fr 1fr}}
@media(max-width:700px){[data-gp-theme="review-winnow"] .hero-grid,[data-gp-theme="review-winnow"].layout-full [data-gp-theme="review-winnow"] .hero-grid,[data-gp-theme="review-winnow"].layout-edge [data-gp-theme="review-winnow"] .hero-grid,[data-gp-theme="review-winnow"].layout-minimal [data-gp-theme="review-winnow"] .hero-grid{grid-template-columns:1fr}[data-gp-theme="review-winnow"].layout-full [data-gp-theme="review-winnow"] .specimen-frame{height:420px}[data-gp-theme="review-winnow"] .record-main{grid-template-columns:1fr}[data-gp-theme="review-winnow"].layout-boxed [data-gp-theme="review-winnow"]{width:calc(100% - 24px);margin:12px auto}[data-gp-theme="review-winnow"] .mega-links{grid-template-columns:1fr}[data-gp-theme="review-winnow"] .site-footer .footer-top{display:block}[data-gp-theme="review-winnow"] .site-footer .footer-links{margin-top:30px}}
@container fs-editor-canvas (max-width: 700px){[data-gp-theme="review-winnow"] .hero-grid,[data-gp-theme="review-winnow"].layout-full [data-gp-theme="review-winnow"] .hero-grid,[data-gp-theme="review-winnow"].layout-edge [data-gp-theme="review-winnow"] .hero-grid,[data-gp-theme="review-winnow"].layout-minimal [data-gp-theme="review-winnow"] .hero-grid{grid-template-columns:1fr}[data-gp-theme="review-winnow"].layout-full [data-gp-theme="review-winnow"] .specimen-frame{height:420px}[data-gp-theme="review-winnow"] .record-main{grid-template-columns:1fr}[data-gp-theme="review-winnow"].layout-boxed [data-gp-theme="review-winnow"]{width:calc(100% - 24px);margin:12px auto}[data-gp-theme="review-winnow"] .mega-links{grid-template-columns:1fr}[data-gp-theme="review-winnow"] .site-footer .footer-top{display:block}[data-gp-theme="review-winnow"] .site-footer .footer-links{margin-top:30px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="review-winnow"] .refined-preloader,[data-gp-theme="review-winnow"] .refined-preloader *{animation:none!important;transition:none!important}}
[data-gp-theme="review-winnow"] .asset-credits{font-size:.75rem;color:var(--accent);white-space:nowrap}@media(max-width:850px){[data-gp-theme="review-winnow"] .asset-credits{display:block;margin-top:10px}}@container fs-editor-canvas (max-width: 850px){[data-gp-theme="review-winnow"] .asset-credits{display:block;margin-top:10px}}

/* Shared interaction feedback for every Version 2 page. */
[data-gp-theme="review-winnow"]{--ease-out:cubic-bezier(.23,1,.32,1);--motion-press:140ms;--motion-feedback:180ms;--motion-enter:240ms}
[data-gp-theme="review-winnow"] .site-header .nav-disclosure>summary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;line-height:1;padding:10px 0;list-style:none}
[data-gp-theme="review-winnow"] .site-header .nav-disclosure>summary::before,[data-gp-theme="review-winnow"] .site-header .nav-disclosure>summary::after{content:none;display:none}
[data-gp-theme="review-winnow"] .site-header .nav-disclosure>summary .menu-label,[data-gp-theme="review-winnow"] .site-header .nav-disclosure>summary .menu-mobile-label{font:600 .88rem/1.2 var(--font-body,var(--bodyfont,system-ui,sans-serif))}
[data-gp-theme="review-winnow"] .site-header .nav-disclosure>summary .menu-mobile-label{display:none}
[data-gp-theme="review-winnow"] .site-header .nav-disclosure>summary .menu-chevron{display:block;width:14px;height:14px;max-width:none;flex:0 0 14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transform-origin:center;transition:var(--fs-anim-rfFeedback,transform var(--motion-feedback) var(--ease-out))}
[data-gp-theme="review-winnow"] .site-header .nav-disclosure[open]>summary .menu-chevron{transform:rotate(180deg)}
[data-gp-theme="review-winnow"] select:not([multiple]){appearance:none;padding-right:2.5rem;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat}

/* The settings and timings use the editor's native motion vocabulary. */
[data-gp-theme="review-winnow"]{--fs-anim-speed:1;--fs-motion-dist:1;--fs-anim-ease:cubic-bezier(.22,.61,.36,1);--motion-press:120ms;--motion-feedback:180ms}
[data-gp-theme="review-winnow"] .page-enter,[data-gp-theme="review-winnow"] .motion-arrive,[data-gp-theme="review-winnow"] .site-header .mega-content,[data-gp-theme="review-winnow"] [data-tab-panel]:not([hidden]),[data-gp-theme="review-winnow"] .page-detail-dialog[open]{animation:none}
[data-gp-theme="review-winnow"] :is(button,.button,.btn,.action){transition:var(--fs-anim-rfFeedback,transform min(220ms,calc(120ms * var(--fs-anim-speed))) var(--fs-anim-ease),background-color 180ms ease,color 180ms ease,border-color 180ms ease)}
[data-gp-theme="review-winnow"] :is(button,.button,.btn,.action):active:not(:disabled){transform:var(--fs-anim-fs-press,scale(.985))}
[data-gp-theme="review-winnow"] :is(.cards>article,.records>article,.credentials>article,.qd-patient-routes>a){transition-property:var(--fs-anim-rfFeedback,var(--fs-anim-fs-lift-prop,transform));transition-duration:min(240ms,calc(200ms * var(--fs-anim-speed)));transition-timing-function:var(--fs-anim-ease)}
@media(hover:hover) and (pointer:fine){[data-gp-theme="review-winnow"] :is(.cards>article,.records>article,.credentials>article,.qd-patient-routes>a):hover{transform:var(--fs-anim-fs-lift-t,translateY(-2px))}}
[data-gp-theme="review-winnow"] details[open]>:not(summary){animation:none}
@supports(interpolate-size:allow-keywords){[data-gp-theme="review-winnow"] details{interpolate-size:allow-keywords}[data-gp-theme="review-winnow"] details::details-content{height:0;opacity:0;overflow:clip;transition:var(--fs-anim-rfFeedback,height min(280ms,calc(180ms * var(--fs-anim-speed))) var(--fs-anim-ease),opacity 180ms ease,content-visibility 280ms allow-discrete)}[data-gp-theme="review-winnow"] details[open]::details-content{height:auto;opacity:1}}
/* Same grid cell, stable tallest panel; inactive content is inert and invisible. */
[data-gp-theme="review-winnow"] [data-motion-tabs="stacked"]{display:grid;grid-template-columns:minmax(0,1fr)}
[data-gp-theme="review-winnow"] [data-motion-tabs="stacked"]>[data-tab-panel]{grid-column:1;grid-row:2;min-width:0}
[data-gp-theme="review-winnow"] [data-motion-tabs="stacked"]>[data-tab-panel][hidden]{display:block!important;visibility:hidden;pointer-events:none}
@media(max-width:850px){[data-gp-theme="review-winnow"] .site-header .nav-disclosure>summary .menu-label{display:none}[data-gp-theme="review-winnow"] .site-header .nav-disclosure>summary .menu-mobile-label{display:inline}}
@container fs-editor-canvas (max-width: 850px){[data-gp-theme="review-winnow"] .site-header .nav-disclosure>summary .menu-label{display:none}[data-gp-theme="review-winnow"] .site-header .nav-disclosure>summary .menu-mobile-label{display:inline}}
[data-gp-theme="review-winnow"][data-input="keyboard"] .site-header .menu-chevron{transition:none}
@media(prefers-reduced-motion:reduce){[data-gp-theme="review-winnow"] :is(button,.button,.btn,.action,.cards>article,.records>article,.credentials>article,.qd-patient-routes>a),[data-gp-theme="review-winnow"] .site-header .menu-chevron,[data-gp-theme="review-winnow"] details::details-content{transition:none!important}[data-gp-theme="review-winnow"] :is(button,.button,.btn,.action,.cards>article,.records>article,.credentials>article,.qd-patient-routes>a):is(:active,:hover){transform:none}}
[data-gp-theme="review-winnow"][data-fs-motion="off"] [data-gp-theme="review-winnow"] *,[data-gp-theme="review-winnow"][data-fs-motion="off"] .site-header *,[data-gp-theme="review-winnow"][data-input="keyboard"] [data-gp-theme="review-winnow"] *,[data-gp-theme="review-winnow"][data-input="keyboard"] .site-header *{animation:none!important;transition:none!important}

[data-gp-theme="review-winnow"]{--ease-out:var(--fs-anim-ease,cubic-bezier(.22,.61,.36,1))}[data-gp-theme="review-winnow"] .site-header .nav-disclosure>summary .menu-chevron{transition:var(--fs-anim-rfFeedback,transform min(240ms,calc(180ms * var(--fs-anim-speed))) var(--fs-anim-ease))}

[data-gp-theme="review-winnow"]{--bg:rgb(var(--c-paper));--surface:rgb(var(--c-paper-soft));--ink:rgb(var(--c-ink-950));--brand:rgb(var(--c-brand-600));--accent:rgb(var(--c-accent));--line:rgb(var(--c-ink-950) / .22);}
[data-gp-theme="review-winnow"][data-gp-kind="section"]:has(h1){animation:var(--fs-anim-rfEntrance,rf-winnow-page-in .24s ease-out)}[data-gp-theme="review-winnow"][data-gp-motion="off"],[data-fs-motion-level="off"] [data-gp-theme="review-winnow"],[data-fs-motion="off"] [data-gp-theme="review-winnow"]{animation:none!important;transition:none!important}@media(prefers-reduced-motion:reduce){[data-gp-theme="review-winnow"]{animation:none!important;transition:none!important}}
[data-gp-theme="review-winnow"] .rf-hero-art{position:absolute;inset:0;width:100%;height:100%;z-index:-2;overflow:hidden}[data-gp-theme="review-winnow"] .rf-hero-art img{width:100%;height:100%;object-fit:cover}[data-gp-theme="review-winnow"] .hero:before,[data-gp-theme="review-winnow"] .inside-hero:before,[data-gp-theme="review-winnow"] .start-hero:before{background:none!important}
[data-gp-theme="review-kilo"]{--brand:#225d54;--accent:#b96836;--bg:#fafbf8;--surface:#edf2ee;--ink:#172c26;--line:color-mix(in srgb,var(--ink) 19%,transparent);--muted:color-mix(in srgb,var(--ink) 78%,var(--bg));--site-width:1240px;font-family:system-ui,sans-serif;color-scheme:light}[data-gp-theme="review-kilo"] *{box-sizing:border-box}[data-gp-theme="review-kilo"]{scroll-behavior:smooth;scroll-padding-top:100px}[data-gp-theme="review-kilo"]{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 var(--font-body,system-ui,sans-serif);transition:var(--fs-anim-rfFeedback,background-color .2s,color .2s)}[data-gp-theme="review-kilo"] button,[data-gp-theme="review-kilo"] input,[data-gp-theme="review-kilo"] select,[data-gp-theme="review-kilo"] textarea{font:inherit}[data-gp-theme="review-kilo"] button,[data-gp-theme="review-kilo"] a,[data-gp-theme="review-kilo"] input,[data-gp-theme="review-kilo"] select,[data-gp-theme="review-kilo"] summary,[data-gp-theme="review-kilo"] textarea{-webkit-tap-highlight-color:transparent}[data-gp-theme="review-kilo"] button,[data-gp-theme="review-kilo"] a,[data-gp-theme="review-kilo"] summary{touch-action:manipulation}[data-gp-theme="review-kilo"] a{color:inherit;text-underline-offset:4px}[data-gp-theme="review-kilo"] button{cursor:pointer;color:inherit}[data-gp-theme="review-kilo"] button:disabled{cursor:default;opacity:.6}[data-gp-theme="review-kilo"] :focus-visible{outline:3px solid var(--accent);outline-offset:5px}[data-gp-theme="review-kilo"] img,[data-gp-theme="review-kilo"] svg,[data-gp-theme="review-kilo"] video{max-width:100%}[data-gp-theme="review-kilo"] img{height:auto;display:block}[data-gp-theme="review-kilo"] figure{margin:0}[data-gp-theme="review-kilo"] h1,[data-gp-theme="review-kilo"] h2,[data-gp-theme="review-kilo"] h3{font-family:var(--font-display,var(--font-body,system-ui,sans-serif));font-weight:500;line-height:1.08;text-wrap:balance}[data-gp-theme="review-kilo"] h1{font-size:clamp(2.8rem,6.8vw,6.2rem);letter-spacing:-.045em;margin:0 0 28px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="review-kilo"] h1{font-size:clamp(2.8rem,6.8cqw,6.2rem)}}[data-gp-theme="review-kilo"] h2{font-size:clamp(2rem,3.8vw,3.8rem);letter-spacing:-.025em;margin:0 0 25px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="review-kilo"] h2{font-size:clamp(2rem,3.8cqw,3.8rem)}}[data-gp-theme="review-kilo"] h3{font-size:clamp(1.2rem,2vw,1.7rem);margin:0 0 14px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="review-kilo"] h3{font-size:clamp(1.2rem,2cqw,1.7rem)}}[data-gp-theme="review-kilo"] p{max-width:68ch;margin:0 0 1.2em}[data-gp-theme="review-kilo"] small{font-size:.78rem}[data-gp-theme="review-kilo"] ul,[data-gp-theme="review-kilo"] ol{padding-left:1.3em}[data-gp-theme="review-kilo"] section{position:relative}[data-gp-theme="review-kilo"]>section{padding:70px max(5%,calc((100% - var(--site-width))/2))}[data-gp-theme="review-kilo"] table{border-collapse:collapse;width:100%;text-align:left}[data-gp-theme="review-kilo"] th,[data-gp-theme="review-kilo"] td{padding:15px 14px;border-bottom:1px solid var(--line);vertical-align:top}[data-gp-theme="review-kilo"] th{font-weight:600}[data-gp-theme="review-kilo"] details{border-bottom:1px solid var(--line);padding:20px 0}[data-gp-theme="review-kilo"] summary{cursor:pointer;font-weight:600}[data-gp-theme="review-kilo"] details[open]>:not(summary){animation:var(--fs-anim-rfFeedback,rf-kilo-content-in .2s ease-out)}[data-gp-theme="review-kilo"] label{display:block;font-size:.9rem}[data-gp-theme="review-kilo"] input,[data-gp-theme="review-kilo"] select,[data-gp-theme="review-kilo"] textarea{max-width:100%;background:var(--bg);color:var(--ink);border:1px solid var(--line);padding:12px 14px;border-radius:5px}[data-gp-theme="review-kilo"] input:not([type=checkbox],[type=radio],[type=range]),[data-gp-theme="review-kilo"] select,[data-gp-theme="review-kilo"] textarea{width:100%}[data-gp-theme="review-kilo"] input[type=checkbox],[data-gp-theme="review-kilo"] input[type=radio]{accent-color:var(--brand)}[data-gp-theme="review-kilo"] textarea{min-height:130px;resize:vertical}[data-gp-theme="review-kilo"] form{display:grid;gap:18px;max-width:700px}[data-gp-theme="review-kilo"] fieldset{border:1px solid var(--line);padding:20px}[data-gp-theme="review-kilo"] button,[data-gp-theme="review-kilo"] .button,[data-gp-theme="review-kilo"] .btn{transition:var(--fs-anim-rfFeedback,background .18s,color .18s,transform .18s)}[data-gp-theme="review-kilo"] button:active,[data-gp-theme="review-kilo"] .button:active,[data-gp-theme="review-kilo"] .btn:active{transform:translateY(1px)}[data-gp-theme="review-kilo"] .button,[data-gp-theme="review-kilo"] .btn,[data-gp-theme="review-kilo"] a[data-cta]{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;background:var(--brand);color:var(--brand-contrast,#fff);padding:13px 23px;border:1px solid transparent;border-radius:var(--button-radius,4px);font-weight:600}[data-gp-theme="review-kilo"] .button.secondary,[data-gp-theme="review-kilo"] .btn.secondary{background:transparent;color:var(--ink);border-color:var(--line)}[data-gp-theme="review-kilo"] .button:hover,[data-gp-theme="review-kilo"] .btn:hover{filter:brightness(.94)}[data-gp-theme="review-kilo"] .site-skip{position:fixed;left:16px;top:-90px;z-index:99;background:var(--ink);color:var(--bg);padding:12px}[data-gp-theme="review-kilo"] .site-skip:focus{top:12px}[data-gp-theme="review-kilo"] .site-header{position:relative;z-index:20;border-bottom:1px solid var(--line);background:var(--bg)}[data-gp-theme="review-kilo"] .header-inner{max-width:var(--site-width);margin:auto;min-height:92px;display:flex;align-items:center;gap:28px;padding:20px 28px}[data-gp-theme="review-kilo"] .site-brand{display:flex;align-items:center;gap:12px;text-decoration:none;line-height:1.15;font-size:1.55rem;font-family:var(--font-display,inherit);font-weight:650;letter-spacing:-.04em;max-width:360px;margin-right:auto}[data-gp-theme="review-kilo"] .brand-mark{width:28px;height:28px;flex:none;color:var(--brand)}[data-gp-theme="review-kilo"] .site-brand img{max-width:220px;max-height:45px}[data-gp-theme="review-kilo"] .primary-nav{display:flex;align-items:center;gap:25px}[data-gp-theme="review-kilo"] .primary-nav>a{font-size:.88rem;text-decoration:none;position:relative}[data-gp-theme="review-kilo"] .primary-nav>a[aria-current=page]:after{content:'';position:absolute;height:2px;background:var(--brand);left:0;right:0;bottom:-8px}[data-gp-theme="review-kilo"] .nav-disclosure{position:static;border:0;padding:0}[data-gp-theme="review-kilo"] .nav-disclosure>summary{font-size:.88rem;list-style:none;display:flex;gap:8px;align-items:center;padding:10px 0}[data-gp-theme="review-kilo"] .nav-disclosure>summary::-webkit-details-marker{display:none}[data-gp-theme="review-kilo"] .nav-disclosure>summary:after{content:'⌄';font-size:1rem;transition:var(--fs-anim-rfFeedback,transform .18s)}[data-gp-theme="review-kilo"] .nav-disclosure[open]>summary:after{transform:rotate(180deg)}[data-gp-theme="review-kilo"] .header-cta{font-size:.85rem;white-space:nowrap}[data-gp-theme="review-kilo"] .mega-panel{position:absolute;top:100%;left:0;right:0;background:var(--bg);box-shadow:0 22px 25px color-mix(in srgb,var(--ink) 10%,transparent);border-bottom:1px solid var(--line);padding:35px max(5%,calc((100% - var(--site-width))/2));min-height:255px;z-index:25}[data-gp-theme="review-kilo"] .mega-content{display:grid;grid-template-columns:1fr 3fr;gap:45px;animation:var(--fs-anim-rfFeedback,rf-kilo-menu-content .22s .06s both)}[data-gp-theme="review-kilo"] .mega-intro strong{display:block;font:500 2rem/1.1 var(--font-display,inherit);margin:0 0 14px}[data-gp-theme="review-kilo"] .mega-intro p{font-size:.85rem;color:var(--muted)}[data-gp-theme="review-kilo"] .mega-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 25px}[data-gp-theme="review-kilo"] .mega-links a{display:flex;align-items:center;justify-content:space-between;gap:10px;text-decoration:none;border-bottom:1px solid var(--line);padding:12px 0;font-size:.95rem}[data-gp-theme="review-kilo"] .mega-links a:hover{color:var(--brand)}[data-gp-theme="review-kilo"] .mega-links a:after{content:'↗';color:var(--brand)}[data-gp-theme="review-kilo"] .menu-style-1 .mega-content{grid-template-columns:1fr 2fr}[data-gp-theme="review-kilo"] .menu-style-1 .mega-links{grid-template-columns:1fr 1fr}[data-gp-theme="review-kilo"] .menu-style-1 .mega-links a{padding:16px 20px;border:1px solid var(--line);background:var(--surface);border-radius:var(--card-radius,8px)}[data-gp-theme="review-kilo"] .menu-style-2 .mega-content{grid-template-columns:2fr 3fr}[data-gp-theme="review-kilo"] .menu-style-2 .mega-intro{border-left:5px solid var(--accent);padding-left:25px}[data-gp-theme="review-kilo"] .menu-style-2 .mega-links{grid-template-columns:1fr 1fr}[data-gp-theme="review-kilo"] .menu-style-2 .mega-links a{font:500 1.3rem/1.15 var(--font-display,inherit)}[data-gp-theme="review-kilo"] .menu-style-3 .mega-panel{left:auto;right:4%;width:min(680px,92%);padding:28px;border:1px solid var(--line);min-height:0}[data-gp-theme="review-kilo"] .menu-style-3 .mega-content{grid-template-columns:1fr}[data-gp-theme="review-kilo"] .menu-style-3 .mega-intro p{display:none}[data-gp-theme="review-kilo"] .menu-style-3 .mega-intro strong{font-size:1.4rem}[data-gp-theme="review-kilo"] .menu-style-3 .mega-links{grid-template-columns:1fr 1fr}[data-gp-theme="review-kilo"] .menu-close{margin-top:20px;background:none;border:1px solid var(--line);padding:8px 15px;font-size:.8rem}[data-gp-theme="review-kilo"] .site-footer{padding:55px max(5%,calc((100% - var(--site-width))/2)) 25px;background:var(--surface);border-top:1px solid var(--line)}[data-gp-theme="review-kilo"] .footer-top{display:flex;justify-content:space-between;gap:45px}[data-gp-theme="review-kilo"] .footer-top p{max-width:48ch;font-size:.9rem;color:var(--muted);margin-top:18px}[data-gp-theme="review-kilo"] .footer-links{display:flex;flex-wrap:wrap;gap:12px 22px;align-content:start;max-width:500px;font-size:.85rem}[data-gp-theme="review-kilo"] .footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:24px;margin-top:40px;font-size:.74rem;color:var(--muted)}[data-gp-theme="review-kilo"] .demo-label{border:1px solid var(--line);padding:4px 8px;border-radius:3px;display:inline-block;font-size:.72rem;color:var(--muted)}[data-gp-theme="review-kilo"] .demo-feedback{padding:16px;border:1px solid var(--brand);background:var(--surface);color:var(--ink)}[data-gp-theme="review-kilo"] .mobile-menu{display:none}[data-gp-theme="review-kilo"] .standalone-tools{background:var(--surface);border-bottom:1px solid var(--line);padding:8px 20px;display:flex;flex-wrap:wrap;align-items:center;gap:10px;font:12px/1.3 system-ui,sans-serif}[data-gp-theme="review-kilo"] .standalone-tools select{width:auto;padding:5px;font-size:12px}[data-gp-theme="review-kilo"] .standalone-tools a{margin-right:auto}[data-gp-theme="review-kilo"] .embedded .standalone-tools{display:none}[data-gp-theme="review-kilo"] .page-enter{animation:var(--fs-anim-rfEntrance,rf-kilo-page-in .24s ease-out)}[data-gp-theme="review-kilo"] [hidden]{display:none!important}[data-gp-theme="review-kilo"].layout-full [data-gp-theme="review-kilo"]>section{padding-left:5%;padding-right:5%}[data-gp-theme="review-kilo"] .layout-boxed main{max-width:var(--site-width);margin:30px auto;border:1px solid var(--line);box-shadow:0 15px 80px color-mix(in srgb,var(--ink) 7%,transparent)}[data-gp-theme="review-kilo"] .layout-boxed [data-gp-theme="review-kilo"]>section{padding-left:5%;padding-right:5%}[data-gp-theme="review-kilo"] .layout-centered [data-gp-theme="review-kilo"]>section{max-width:1100px;margin:auto;text-align:center}[data-gp-theme="review-kilo"] .layout-centered [data-gp-theme="review-kilo"] p{margin-left:auto;margin-right:auto}[data-gp-theme="review-kilo"] .layout-centered [data-gp-theme="review-kilo"] table,[data-gp-theme="review-kilo"] .layout-centered [data-gp-theme="review-kilo"] form,[data-gp-theme="review-kilo"] .layout-centered [data-gp-theme="review-kilo"] details{text-align:left}[data-gp-theme="review-kilo"] .layout-minimal [data-gp-theme="review-kilo"]>section{padding-top:48px;padding-bottom:48px}[data-gp-theme="review-kilo"] .layout-minimal main{max-width:1080px;margin:auto}[data-gp-theme="review-kilo"] .layout-minimal [data-gp-theme="review-kilo"]>section{box-shadow:none;border-radius:0}[data-gp-theme="review-kilo"] .layout-edge [data-gp-theme="review-kilo"]>section:first-child{max-width:none;margin:0;padding-left:5%;padding-right:5%;min-height:calc(100vh - 95px)}[data-gp-theme="review-kilo"] .layout-edge [data-gp-theme="review-kilo"]>section:first-child figure{border-radius:0}[data-gp-theme="review-kilo"] .site-loader{min-height:65vh;padding:10vh 6%}[data-gp-theme="review-kilo"] .site-loader h1{font-size:3rem}[data-gp-theme="review-kilo"] .site-error{padding:50px}[data-gp-theme="review-kilo"] .site-error a{color:var(--brand)}@keyframes rf-kilo-menu-content{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes rf-kilo-content-in{from{opacity:.4}to{opacity:1}}@keyframes rf-kilo-page-in{from{opacity:.65}to{opacity:1}}@media(max-width:850px){[data-gp-theme="review-kilo"] .header-inner{gap:15px;min-height:78px;padding:16px 22px}[data-gp-theme="review-kilo"] .site-brand{font-size:1.4rem}[data-gp-theme="review-kilo"] .primary-nav{gap:18px}[data-gp-theme="review-kilo"] .primary-nav>a{display:none}[data-gp-theme="review-kilo"] .mobile-menu{display:block}[data-gp-theme="review-kilo"] .nav-disclosure>summary{font-size:0}[data-gp-theme="review-kilo"] .nav-disclosure>summary:before{content:'Menu';font-size:.85rem}[data-gp-theme="review-kilo"] .nav-disclosure>summary:after{font-size:1.1rem}[data-gp-theme="review-kilo"] .mega-panel,[data-gp-theme="review-kilo"] .menu-style-3 .mega-panel{position:fixed;inset:78px 0 0;width:100%;overflow:auto;min-height:0;padding:28px 24px}[data-gp-theme="review-kilo"] .mega-content,[data-gp-theme="review-kilo"] .menu-style-1 .mega-content,[data-gp-theme="review-kilo"] .menu-style-2 .mega-content{grid-template-columns:1fr;gap:20px}[data-gp-theme="review-kilo"] .mega-links,[data-gp-theme="review-kilo"] .menu-style-1 .mega-links,[data-gp-theme="review-kilo"] .menu-style-2 .mega-links,[data-gp-theme="review-kilo"] .menu-style-3 .mega-links{grid-template-columns:1fr}[data-gp-theme="review-kilo"] .mega-links a{font-size:1.15rem}[data-gp-theme="review-kilo"] .header-cta{padding:10px 13px}[data-gp-theme="review-kilo"] .footer-top{display:block}[data-gp-theme="review-kilo"] .footer-links{margin-top:30px}[data-gp-theme="review-kilo"] .footer-bottom{display:block}[data-gp-theme="review-kilo"] .footer-bottom span{display:block;margin:10px 0}[data-gp-theme="review-kilo"] .layout-boxed main{margin:16px}[data-gp-theme="review-kilo"] .layout-centered [data-gp-theme="review-kilo"]>section{max-width:100%}[data-gp-theme="review-kilo"]>section{padding:48px 6%}[data-gp-theme="review-kilo"] h1{font-size:clamp(2.5rem,10vw,4.5rem)}[data-gp-theme="review-kilo"] h2{font-size:2.2rem}[data-gp-theme="review-kilo"] .site-footer{padding:40px 6% 20px}[data-gp-theme="review-kilo"] .layout-edge [data-gp-theme="review-kilo"]>section:first-child{min-height:70vh}[data-gp-theme="review-kilo"] th,[data-gp-theme="review-kilo"] td{padding:10px 8px}}@container fs-editor-canvas (max-width: 850px){[data-gp-theme="review-kilo"] .header-inner{gap:15px;min-height:78px;padding:16px 22px}[data-gp-theme="review-kilo"] .site-brand{font-size:1.4rem}[data-gp-theme="review-kilo"] .primary-nav{gap:18px}[data-gp-theme="review-kilo"] .primary-nav>a{display:none}[data-gp-theme="review-kilo"] .mobile-menu{display:block}[data-gp-theme="review-kilo"] .nav-disclosure>summary{font-size:0}[data-gp-theme="review-kilo"] .nav-disclosure>summary:before{content:'Menu';font-size:.85rem}[data-gp-theme="review-kilo"] .nav-disclosure>summary:after{font-size:1.1rem}[data-gp-theme="review-kilo"] .mega-panel,[data-gp-theme="review-kilo"] .menu-style-3 .mega-panel{position:fixed;inset:78px 0 0;width:100%;overflow:auto;min-height:0;padding:28px 24px}[data-gp-theme="review-kilo"] .mega-content,[data-gp-theme="review-kilo"] .menu-style-1 .mega-content,[data-gp-theme="review-kilo"] .menu-style-2 .mega-content{grid-template-columns:1fr;gap:20px}[data-gp-theme="review-kilo"] .mega-links,[data-gp-theme="review-kilo"] .menu-style-1 .mega-links,[data-gp-theme="review-kilo"] .menu-style-2 .mega-links,[data-gp-theme="review-kilo"] .menu-style-3 .mega-links{grid-template-columns:1fr}[data-gp-theme="review-kilo"] .mega-links a{font-size:1.15rem}[data-gp-theme="review-kilo"] .header-cta{padding:10px 13px}[data-gp-theme="review-kilo"] .footer-top{display:block}[data-gp-theme="review-kilo"] .footer-links{margin-top:30px}[data-gp-theme="review-kilo"] .footer-bottom{display:block}[data-gp-theme="review-kilo"] .footer-bottom span{display:block;margin:10px 0}[data-gp-theme="review-kilo"] .layout-boxed main{margin:16px}[data-gp-theme="review-kilo"] .layout-centered [data-gp-theme="review-kilo"]>section{max-width:100%}[data-gp-theme="review-kilo"]>section{padding:48px 6%}[data-gp-theme="review-kilo"] h1{font-size:clamp(2.5rem,10cqw,4.5rem)}[data-gp-theme="review-kilo"] h2{font-size:2.2rem}[data-gp-theme="review-kilo"] .site-footer{padding:40px 6% 20px}[data-gp-theme="review-kilo"] .layout-edge [data-gp-theme="review-kilo"]>section:first-child{min-height:70vh}[data-gp-theme="review-kilo"] th,[data-gp-theme="review-kilo"] td{padding:10px 8px}}@media(max-width:450px){[data-gp-theme="review-kilo"] .header-cta{font-size:.72rem}[data-gp-theme="review-kilo"] .site-brand{max-width:160px;font-size:1.25rem}[data-gp-theme="review-kilo"] .header-inner{gap:12px;padding:16px}[data-gp-theme="review-kilo"] .brand-mark{width:22px;height:22px}[data-gp-theme="review-kilo"] .site-brand img{max-width:150px}[data-gp-theme="review-kilo"] .standalone-tools{padding:8px 12px}[data-gp-theme="review-kilo"] .standalone-tools label{font-size:11px}[data-gp-theme="review-kilo"] .mega-intro strong{font-size:1.7rem}}@container fs-editor-canvas (max-width: 450px){[data-gp-theme="review-kilo"] .header-cta{font-size:.72rem}[data-gp-theme="review-kilo"] .site-brand{max-width:160px;font-size:1.25rem}[data-gp-theme="review-kilo"] .header-inner{gap:12px;padding:16px}[data-gp-theme="review-kilo"] .brand-mark{width:22px;height:22px}[data-gp-theme="review-kilo"] .site-brand img{max-width:150px}[data-gp-theme="review-kilo"] .standalone-tools{padding:8px 12px}[data-gp-theme="review-kilo"] .standalone-tools label{font-size:11px}[data-gp-theme="review-kilo"] .mega-intro strong{font-size:1.7rem}}@media(prefers-reduced-motion:reduce){[data-gp-theme="review-kilo"]{scroll-behavior:auto}[data-gp-theme="review-kilo"] *,[data-gp-theme="review-kilo"] *:before,[data-gp-theme="review-kilo"] *:after{animation:none!important;transition:none!important}}

/* Readability pass: use the authored foreground rather than the browser grey. */
[data-gp-theme="review-kilo"] input::placeholder,[data-gp-theme="review-kilo"] textarea::placeholder{color:var(--ink);opacity:1}


@font-face{font-family:"Anton";src:url('/gpt-themes/review-kilo/v1/fonts/anton-400.woff2') format("woff2");font-display:swap;font-weight:100 900}
@font-face{font-family:"Barlow";src:url('/gpt-themes/review-kilo/v1/fonts/barlow-400.woff2') format("woff2");font-display:swap;font-weight:100 900}
[data-gp-theme="review-kilo"] .theme-kilo{font-family:"Barlow",Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.6}
[data-gp-theme="review-kilo"] .theme-kilo h1,[data-gp-theme="review-kilo"] .theme-kilo h2,[data-gp-theme="review-kilo"] .theme-kilo h3{font-family:"Anton",Georgia,serif;color:var(--ink);line-height:1.08;font-weight:600;letter-spacing:-.035em}
[data-gp-theme="review-kilo"] .theme-kilo h1{font-size:clamp(3rem,7.4vw,7.5rem);max-width:12ch;margin:.2em 0 .4em}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"] .theme-kilo h1{font-size:clamp(3rem,7.4cqw,7.5rem)}}
[data-gp-theme="review-kilo"] .theme-kilo h2{font-size:clamp(2rem,4vw,3.65rem);max-width:21ch;margin:0 0 .7em}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"] .theme-kilo h2{font-size:clamp(2rem,4cqw,3.65rem)}}
[data-gp-theme="review-kilo"] .theme-kilo h3{font-size:1.45rem;margin:.3em 0}
[data-gp-theme="review-kilo"] .theme-kilo p{max-width:68ch}[data-gp-theme="review-kilo"] .theme-kilo .lead{font-size:clamp(1.15rem,1.8vw,1.45rem);line-height:1.5;max-width:48ch}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="review-kilo"] .theme-kilo .lead{font-size:clamp(1.15rem,1.8cqw,1.45rem)}}
[data-gp-theme="review-kilo"] .theme-kilo main{max-width:1440px;margin:auto;padding:0 clamp(1.2rem,5vw,5rem)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"] .theme-kilo main{padding:0 clamp(1.2rem,5cqw,5rem)}}
[data-gp-theme="review-kilo"] .theme-kilo [data-gp-theme="review-kilo"]>section{padding:clamp(3rem,7vw,6.5rem) 0;border-bottom:1px solid var(--line)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"] .theme-kilo [data-gp-theme="review-kilo"]>section{padding:clamp(3rem,7cqw,6.5rem) 0}}
[data-gp-theme="review-kilo"] .theme-kilo .hero{display:grid;grid-template-columns:1.02fr 1fr;gap:clamp(2rem,4vw,5rem);align-items:center;min-height:74vh}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"] .theme-kilo .hero{gap:clamp(2rem,4cqw,5rem)}}
[data-gp-theme="review-kilo"] .theme-kilo figure{margin:0}[data-gp-theme="review-kilo"] .theme-kilo figure img{display:block;width:100%;object-fit:cover}[data-gp-theme="review-kilo"] .theme-kilo figcaption{font-size:.78rem;line-height:1.4;color:var(--muted);margin-top:1rem;max-width:65ch}
[data-gp-theme="review-kilo"] .theme-kilo .hero-art img{max-height:620px;min-height:340px;object-fit:cover}
[data-gp-theme="review-kilo"] .theme-kilo .location,[data-gp-theme="review-kilo"] .theme-kilo .page-context{color:var(--brand);font-weight:600;font-size:.9rem}
[data-gp-theme="review-kilo"] .theme-kilo .hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
[data-gp-theme="review-kilo"] .theme-kilo .action,[data-gp-theme="review-kilo"] .theme-kilo button{display:inline-flex;align-items:center;justify-content:center;padding:.85rem 1.25rem;border:1px solid var(--brand);background:var(--brand);color:var(--bg);text-decoration:none;cursor:pointer;transition:var(--fs-anim-rfFeedback,transform .18s,background .18s);font:inherit;font-weight:600}
[data-gp-theme="review-kilo"] .theme-kilo .hero-actions .action+ .action{background:transparent;color:var(--brand)}
[data-gp-theme="review-kilo"] .theme-kilo button:hover,[data-gp-theme="review-kilo"] .theme-kilo .action:hover{transform:translateY(-2px);filter:brightness(1.08)}
[data-gp-theme="review-kilo"] .theme-kilo a:focus-visible,[data-gp-theme="review-kilo"] .theme-kilo button:focus-visible,[data-gp-theme="review-kilo"] .theme-kilo input:focus-visible,[data-gp-theme="review-kilo"] .theme-kilo summary:focus-visible,[data-gp-theme="review-kilo"] .theme-kilo select:focus-visible,[data-gp-theme="review-kilo"] .theme-kilo textarea:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
[data-gp-theme="review-kilo"] .theme-kilo .duet{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}[data-gp-theme="review-kilo"] .theme-kilo .duet>div{min-width:0}
[data-gp-theme="review-kilo"] .theme-kilo .entries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 3rem}[data-gp-theme="review-kilo"] .theme-kilo .entries article{padding:1.5rem 0;border-top:1px solid var(--line)}
[data-gp-theme="review-kilo"] .theme-kilo .steps{list-style:none;counter-reset:stage;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}[data-gp-theme="review-kilo"] .theme-kilo .steps li{counter-increment:stage;border-top:3px solid var(--brand);padding-top:1rem}[data-gp-theme="review-kilo"] .theme-kilo .steps li:before{content:counter(stage);font-size:.9rem;color:var(--accent);font-weight:700}
[data-gp-theme="review-kilo"] .theme-kilo .table-wrap{overflow:auto;max-width:100%}[data-gp-theme="review-kilo"] .theme-kilo table{width:100%;border-collapse:collapse;min-width:480px}[data-gp-theme="review-kilo"] .theme-kilo th,[data-gp-theme="review-kilo"] .theme-kilo td{text-align:left;padding:1.1rem .8rem;border-bottom:1px solid var(--line);vertical-align:top}[data-gp-theme="review-kilo"] .theme-kilo th{background:var(--surface);color:var(--brand);font-weight:600}
[data-gp-theme="review-kilo"] .theme-kilo details{border-top:1px solid var(--line);padding:1.2rem 0}[data-gp-theme="review-kilo"] .theme-kilo summary{font-weight:600;cursor:pointer;font-size:1.1rem}[data-gp-theme="review-kilo"] .theme-kilo details[open]{padding-bottom:1.7rem}[data-gp-theme="review-kilo"] .theme-kilo details>div{padding-left:1.3rem}
[data-gp-theme="review-kilo"] .theme-kilo .brief-form{background:var(--surface);padding:clamp(1.3rem,4vw,3rem);border:1px solid var(--line)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"] .theme-kilo .brief-form{padding:clamp(1.3rem,4cqw,3rem)}}
[data-gp-theme="review-kilo"] .theme-kilo label{display:block;font-weight:600;margin-bottom:1.2rem}[data-gp-theme="review-kilo"] .theme-kilo input,[data-gp-theme="review-kilo"] .theme-kilo select,[data-gp-theme="review-kilo"] .theme-kilo textarea{display:block;width:100%;margin-top:.4rem;padding:.85rem;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;box-sizing:border-box}[data-gp-theme="review-kilo"] .theme-kilo output{display:block;margin:1rem 0;color:var(--brand);font-weight:600}
[data-gp-theme="review-kilo"] .theme-kilo .small{font-size:.85rem;color:var(--muted)}[data-gp-theme="review-kilo"] .theme-kilo .sample-note{padding:1rem 1.2rem;background:var(--surface);border-left:3px solid var(--accent);font-size:.85rem;margin:1.2rem 0}
[data-gp-theme="review-kilo"] .theme-kilo .tab-buttons{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}[data-gp-theme="review-kilo"] .theme-kilo .tab-buttons button{background:transparent;color:var(--brand)}[data-gp-theme="review-kilo"] .theme-kilo .tab-buttons button[aria-pressed="true"]{background:var(--brand);color:var(--bg)}
[data-gp-theme="review-kilo"] .theme-kilo [data-tab-panel]{background:var(--surface);padding:1.5rem}[data-gp-theme="review-kilo"] .theme-kilo [hidden]{display:none!important}
[data-gp-theme="review-kilo"] .theme-kilo .record-filter [data-record-list]{display:grid;gap:0}[data-gp-theme="review-kilo"] .theme-kilo [data-record]{padding:1.2rem 0;border-bottom:1px solid var(--line)}
[data-gp-theme="review-kilo"] .theme-kilo .record-filter input{max-width:480px}[data-gp-theme="review-kilo"] .theme-kilo .plate{padding:2rem;background:var(--surface);border:1px solid var(--line)}
[data-gp-theme="review-kilo"] .theme-kilo .captioned-pair{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}[data-gp-theme="review-kilo"] .theme-kilo .captioned-pair img{height:330px;object-fit:cover}
[data-gp-theme="review-kilo"] .theme-kilo .page-intro{max-width:100%;padding-bottom:3rem}[data-gp-theme="review-kilo"] .theme-kilo .page-intro h1{font-size:clamp(3rem,6.5vw,6.5rem);max-width:15ch}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="review-kilo"] .theme-kilo .page-intro h1{font-size:clamp(3rem,6.5cqw,6.5rem)}}[data-gp-theme="review-kilo"] .theme-kilo blockquote{font-size:1.7rem;line-height:1.4;border-left:3px solid var(--accent);padding:1rem 2rem;margin:1rem 0}
[data-gp-theme="review-kilo"] .theme-kilo .swatches{display:flex;gap:1rem;flex-wrap:wrap}[data-gp-theme="review-kilo"] .theme-kilo .swatch{width:140px;min-height:160px;border:1px solid var(--line);padding:1rem;background:var(--surface)}[data-gp-theme="review-kilo"] .theme-kilo .swatch i{display:block;height:80px;background:var(--swatch);margin-bottom:.7rem}
[data-gp-theme="review-kilo"] .theme-kilo .drawing-svg{width:100%;height:auto;color:var(--brand)}[data-gp-theme="review-kilo"] .theme-kilo .drawing-svg text{fill:currentColor;font:14px Arial,sans-serif}
[data-gp-theme="review-kilo"] .theme-kilo .stop-jamb{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}[data-gp-theme="review-kilo"] .theme-kilo .stop-jamb a{border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:1.2rem;text-align:center;border-radius:50%;text-decoration:none;font-weight:600;min-height:90px;display:grid;place-content:center}
@media(max-width:800px){[data-gp-theme="review-kilo"] .theme-kilo .hero,[data-gp-theme="review-kilo"] .theme-kilo .duet{grid-template-columns:1fr}[data-gp-theme="review-kilo"] .theme-kilo .hero{min-height:0}[data-gp-theme="review-kilo"] .theme-kilo .hero-art img{min-height:260px;max-height:480px}[data-gp-theme="review-kilo"] .theme-kilo h1{font-size:clamp(3rem,13vw,5.2rem)}[data-gp-theme="review-kilo"] .theme-kilo .steps{grid-template-columns:1fr 1fr}[data-gp-theme="review-kilo"] .theme-kilo .entries{grid-template-columns:1fr}[data-gp-theme="review-kilo"] .theme-kilo .captioned-pair{grid-template-columns:1fr}[data-gp-theme="review-kilo"] .theme-kilo .stop-jamb{grid-template-columns:1fr 1fr}}
@container fs-editor-canvas (max-width: 800px){[data-gp-theme="review-kilo"] .theme-kilo .hero,[data-gp-theme="review-kilo"] .theme-kilo .duet{grid-template-columns:1fr}[data-gp-theme="review-kilo"] .theme-kilo .hero{min-height:0}[data-gp-theme="review-kilo"] .theme-kilo .hero-art img{min-height:260px;max-height:480px}[data-gp-theme="review-kilo"] .theme-kilo h1{font-size:clamp(3rem,13cqw,5.2rem)}[data-gp-theme="review-kilo"] .theme-kilo .steps{grid-template-columns:1fr 1fr}[data-gp-theme="review-kilo"] .theme-kilo .entries{grid-template-columns:1fr}[data-gp-theme="review-kilo"] .theme-kilo .captioned-pair{grid-template-columns:1fr}[data-gp-theme="review-kilo"] .theme-kilo .stop-jamb{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="review-kilo"] .theme-kilo *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
 [data-gp-theme="review-kilo"] .theme-kilo h1,[data-gp-theme="review-kilo"] .theme-kilo h2{font-weight:400;letter-spacing:0;text-transform:uppercase}[data-gp-theme="review-kilo"] .theme-kilo .hero{gap:0;grid-template-columns:1fr 1fr;position:relative}[data-gp-theme="review-kilo"] .theme-kilo .hero-copy{padding:3rem 2rem 3rem 0;z-index:1}[data-gp-theme="review-kilo"] .theme-kilo .hero h1{font-size:clamp(4rem,8vw,9rem);max-width:9ch}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="review-kilo"] .theme-kilo .hero h1{font-size:clamp(4rem,8cqw,9rem)}}[data-gp-theme="review-kilo"] .theme-kilo .hero-art{align-self:stretch;margin-right:-4rem;position:relative}[data-gp-theme="review-kilo"] .theme-kilo .hero-art img{height:100%;max-height:720px;min-height:640px;filter:grayscale(1)}[data-gp-theme="review-kilo"] .theme-kilo .hero-art figcaption{position:absolute;bottom:1rem;left:1rem;background:var(--surface);padding:.7rem;max-width:75%}[data-gp-theme="review-kilo"] .theme-kilo [data-gp-theme="review-kilo"]>section:nth-child(2n){border-top:6px solid var(--brand)}[data-gp-theme="review-kilo"] .theme-kilo .action,[data-gp-theme="review-kilo"] .theme-kilo button{border-radius:100px}[data-gp-theme="review-kilo"] .theme-kilo .entries article{border-top:5px solid var(--brand)}[data-gp-theme="review-kilo"] .theme-kilo table td:first-child{font-weight:700;color:var(--brand)}[data-gp-theme="review-kilo"] .theme-kilo .sample-note{border-radius:6px}[data-gp-theme="review-kilo"] .theme-kilo .steps li:before{font-size:2.5rem;font-family:Anton,sans-serif}@media(max-width:800px){[data-gp-theme="review-kilo"] .theme-kilo .hero{grid-template-columns:1fr}[data-gp-theme="review-kilo"] .theme-kilo .hero-art{margin-right:0}[data-gp-theme="review-kilo"] .theme-kilo .hero-art img{min-height:340px;height:380px}[data-gp-theme="review-kilo"] .theme-kilo .hero h1{font-size:clamp(4rem,17vw,6rem)}}@container fs-editor-canvas (max-width: 800px){[data-gp-theme="review-kilo"] .theme-kilo .hero{grid-template-columns:1fr}[data-gp-theme="review-kilo"] .theme-kilo .hero-art{margin-right:0}[data-gp-theme="review-kilo"] .theme-kilo .hero-art img{min-height:340px;height:380px}[data-gp-theme="review-kilo"] .theme-kilo .hero h1{font-size:clamp(4rem,17cqw,6rem)}}
[data-gp-theme="review-kilo"] .theme-kilo .hero h1{font-size:clamp(3.2rem,6vw,6rem)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"] .theme-kilo .hero h1{font-size:clamp(3.2rem,6cqw,6rem)}}

[data-gp-theme="review-kilo"] .theme-kilo .hero h1{font-size:clamp(4rem,7vw,7.2rem);max-width:10ch}

@container fs-editor-canvas (min-width: 0px){

[data-gp-theme="review-kilo"] .theme-kilo .hero h1{font-size:clamp(4rem,7cqw,7.2rem)}}

[data-gp-theme="review-kilo"] .theme-kilo .site-brand img{max-height:52px;width:auto;max-width:240px}
[data-gp-theme="review-kilo"] .theme-kilo .nav-disclosure{padding:0;border:0}
[data-gp-theme="review-kilo"] .theme-kilo .nav-disclosure>summary{font-size:.88rem}
[data-gp-theme="review-kilo"] .theme-kilo[data-mode="dark"] .site-brand img{filter:brightness(0) invert(1)}
[data-gp-theme="review-kilo"] .theme-kilo .action,[data-gp-theme="review-kilo"] .theme-kilo button{color:var(--brand-contrast,var(--bg))}
[data-gp-theme="review-kilo"] .theme-kilo .tab-buttons button{color:var(--brand)}
[data-gp-theme="review-kilo"] .theme-kilo .tab-buttons button[aria-selected="true"]{background:var(--brand);color:var(--brand-contrast)}
[data-gp-theme="review-kilo"] .theme-kilo .tab-buttons button[aria-selected="false"]{background:transparent;color:var(--brand)}
@media(max-width:850px){[data-gp-theme="review-kilo"] .theme-kilo .nav-disclosure>summary{font-size:0}}
@container fs-editor-canvas (max-width: 850px){[data-gp-theme="review-kilo"] .theme-kilo .nav-disclosure>summary{font-size:0}}
@media(max-width:450px){[data-gp-theme="review-kilo"] .theme-kilo .site-brand img{max-width:145px}}
@container fs-editor-canvas (max-width: 450px){[data-gp-theme="review-kilo"] .theme-kilo .site-brand img{max-width:145px}}

@font-face{font-family:Anton;src:url('/gpt-themes/review-kilo/refined-assets/anton.woff2') format("woff2");font-display:swap}
@font-face{font-family:Barlow;src:url('/gpt-themes/review-kilo/refined-assets/barlow.woff2') format("woff2");font-display:swap}
[data-gp-theme="review-kilo"] *{box-sizing:border-box}
[data-gp-theme="review-kilo"] a{color:inherit;text-decoration:none}
[data-gp-theme="review-kilo"] a:focus-visible,[data-gp-theme="review-kilo"] summary:focus-visible{outline:3px solid #d7ff20;outline-offset:5px}
[data-gp-theme="review-kilo"] .site-header{position:relative;z-index:20;background:#0b0d0c;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:12px clamp(18px,3vw,55px);border-bottom:1px solid #464a43;gap:25px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"] .site-header{padding:12px clamp(18px,3cqw,55px)}}
[data-gp-theme="review-kilo"] .brand{font:400 42px/.8 Anton,Impact,sans-serif;letter-spacing:-.03em}
[data-gp-theme="review-kilo"] .brand i{display:inline-block;width:8px;height:33px;background:#d7ff20;margin:0 3px 0 0;transform:skew(-12deg)}
[data-gp-theme="review-kilo"] .nav{display:flex;gap:clamp(16px,2vw,32px);align-items:center}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"] .nav{gap:clamp(16px,2cqw,32px)}}
[data-gp-theme="review-kilo"] .nav a,[data-gp-theme="review-kilo"] .site-header .visit{font:700 12px Barlow,Arial,sans-serif;text-transform:uppercase;letter-spacing:.12em}
[data-gp-theme="review-kilo"] .nav a:hover{color:#d7ff20}
[data-gp-theme="review-kilo"] .site-header .visit{justify-self:end;padding:16px 20px;background:#d7ff20;color:#10130d}
[data-gp-theme="review-kilo"] .site-header .visit:hover{background:#f5ff91}
[data-gp-theme="review-kilo"] .mobile-menu{display:none}
[data-gp-theme="review-kilo"] .mobile-menu summary{cursor:pointer;list-style:none;font:400 22px Anton}
[data-gp-theme="review-kilo"] .status{display:flex;justify-content:space-between;padding:10px clamp(18px,3vw,55px);font:700 10px Barlow,Arial,sans-serif;text-transform:uppercase;letter-spacing:.21em;background:#d7ff20;color:#11170d;gap:18px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"] .status{padding:10px clamp(18px,3cqw,55px)}}
[data-gp-theme="review-kilo"] .hero{min-height:790px;position:relative;display:flex;align-items:stretch;isolation:isolate;background:#151916;overflow:hidden}
[data-gp-theme="review-kilo"] .hero:before{content:"";position:absolute;inset:0;background:url('/gpt-themes/review-kilo/refined-assets/kilo-coaching.png') 70% center/cover no-repeat;filter:grayscale(.4) contrast(1.1);z-index:-2;transform:scale(1.04);animation:var(--fs-anim-rfEntrance,rf-kilo-revealImage 1.5s ease both)}
[data-gp-theme="review-kilo"] .hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#080b08f2 0%,#080b08a6 42%,#080b0840 78%),linear-gradient(0deg,#080b08d1 0%,transparent 40%);z-index:-1}
[data-gp-theme="review-kilo"] .hero-inner{width:100%;padding:80px clamp(18px,3vw,55px) 28px;display:flex;flex-direction:column;justify-content:space-between}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"] .hero-inner{padding:80px clamp(18px,3cqw,55px) 28px}}
[data-gp-theme="review-kilo"] .hero-top{display:flex;gap:25px;align-items:center;font-size:12px;text-transform:uppercase;letter-spacing:.21em;font-weight:700;color:#d7ff20}
[data-gp-theme="review-kilo"] .hero-top:before{content:"";width:80px;height:7px;background:#d7ff20}
[data-gp-theme="review-kilo"] h1,[data-gp-theme="review-kilo"] h2,[data-gp-theme="review-kilo"] h3,[data-gp-theme="review-kilo"] p{margin-top:0}
[data-gp-theme="review-kilo"] h1{font:400 clamp(8rem,21vw,25rem)/.78 Anton,Impact,sans-serif;text-transform:uppercase;letter-spacing:-.06em;margin:75px 0 70px;max-width:8ch;animation:var(--fs-anim-rfEntrance,rf-kilo-raise .8s .15s both)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"] h1{font:400 clamp(8rem,21cqw,25rem)/.78 Anton,Impact,sans-serif}}
[data-gp-theme="review-kilo"] h1 span{display:block}
[data-gp-theme="review-kilo"] h1 .outline{color:transparent;-webkit-text-stroke:2px #eff3e8;text-shadow:none;position:relative;left:5vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"] h1 .outline{left:5cqw}}
[data-gp-theme="review-kilo"] .hero-bottom{display:grid;grid-template-columns:minmax(250px,1fr) auto;gap:35px;align-items:end;border-top:1px solid #b6bdb19c;padding-top:25px}
[data-gp-theme="review-kilo"] .hero-bottom p{max-width:43ch;font-size:clamp(1.12rem,1.45vw,1.5rem);line-height:1.42;margin:0}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"] .hero-bottom p{font-size:clamp(1.12rem,1.45cqw,1.5rem)}}
[data-gp-theme="review-kilo"] .hero-bottom p strong{color:#d7ff20}
[data-gp-theme="review-kilo"] .hero-bottom a{display:flex;align-items:center;justify-content:space-between;gap:35px;min-width:270px;padding:20px 21px;background:#d7ff20;color:#10130d;font:700 14px Barlow,Arial,sans-serif;text-transform:uppercase;letter-spacing:.1em;transition:var(--fs-anim-rfFeedback,transform .2s,background .2s)}
[data-gp-theme="review-kilo"] .hero-bottom a:hover{transform:translateY(-4px);background:#efff82}
[data-gp-theme="review-kilo"] .hero-bottom a b{font-size:26px;line-height:0}
[data-gp-theme="review-kilo"] .ledger{display:grid;grid-template-columns:repeat(4,1fr);background:#d7ff20;color:#121710;border-block:1px solid #b1cc37;padding:0 clamp(18px,3vw,55px)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"] .ledger{padding:0 clamp(18px,3cqw,55px)}}
[data-gp-theme="review-kilo"] .ledger div{padding:25px 20px 25px 0;border-right:1px solid #718b20}
[data-gp-theme="review-kilo"] .ledger div:not(:first-child){padding-left:20px}
[data-gp-theme="review-kilo"] .ledger div:last-child{border:0}
[data-gp-theme="review-kilo"] .ledger small{display:block;font:700 10px Barlow;letter-spacing:.18em;text-transform:uppercase;margin-bottom:5px}
[data-gp-theme="review-kilo"] .ledger strong{font:400 clamp(1.4rem,2.3vw,2.5rem) Anton;text-transform:uppercase}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"] .ledger strong{font:400 clamp(1.4rem,2.3cqw,2.5rem) Anton}}
[data-gp-theme="review-kilo"] .first-step{padding:clamp(65px,8vw,130px) clamp(18px,3vw,55px) 110px;background:#eff0e9;color:#151916;display:grid;grid-template-columns:minmax(250px,.9fr) minmax(0,1.5fr);gap:clamp(40px,7vw,120px)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"] .first-step{padding:clamp(65px,8cqw,130px) clamp(18px,3cqw,55px) 110px;gap:clamp(40px,7cqw,120px)}}
[data-gp-theme="review-kilo"] .section-label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.2em;margin-bottom:26px}
[data-gp-theme="review-kilo"] .first-step h2{font:400 clamp(4.8rem,8vw,9rem)/.87 Anton,Impact,sans-serif;letter-spacing:-.04em;text-transform:uppercase;max-width:7ch;margin:0 0 30px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"] .first-step h2{font:400 clamp(4.8rem,8cqw,9rem)/.87 Anton,Impact,sans-serif}}
[data-gp-theme="review-kilo"] .first-step .intro{font-size:1.12rem;line-height:1.5;max-width:40ch}
[data-gp-theme="review-kilo"] .training-list{border-top:5px solid #151916}
[data-gp-theme="review-kilo"] .training-list a{display:grid;grid-template-columns:55px 1fr 35px;gap:16px;align-items:center;padding:26px 0;border-bottom:2px solid #151916;transition:var(--fs-anim-rfFeedback,padding .2s,background .2s)}
[data-gp-theme="review-kilo"] .training-list a:hover{padding-left:15px;background:#d7ff20}
[data-gp-theme="review-kilo"] .training-list small{font:400 28px Anton;color:#747e71}
[data-gp-theme="review-kilo"] .training-list strong{display:block;font:400 clamp(2rem,3.4vw,4rem)/1 Anton;text-transform:uppercase}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"] .training-list strong{font:400 clamp(2rem,3.4cqw,4rem)/1 Anton}}
[data-gp-theme="review-kilo"] .training-list p{font-size:14px;line-height:1.4;margin:9px 0 0;max-width:38ch}
[data-gp-theme="review-kilo"] .training-list i{font-style:normal;font-size:25px}
[data-gp-theme="review-kilo"] .space{min-height:420px;position:relative;background:linear-gradient(90deg,#0b0d0c 0%,#0b0d0c50 65%),url('/gpt-themes/review-kilo/refined-assets/kilo-premises.webp') center/cover no-repeat;display:flex;align-items:end;padding:50px clamp(18px,3vw,55px)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"] .space{padding:50px clamp(18px,3cqw,55px)}}
[data-gp-theme="review-kilo"] .space p{font:400 clamp(2.5rem,6vw,6rem)/.93 Anton;text-transform:uppercase;max-width:13ch;margin:0}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"] .space p{font:400 clamp(2.5rem,6cqw,6rem)/.93 Anton}}
[data-gp-theme="review-kilo"] .space p em{font-style:normal;color:#d7ff20}
[data-gp-theme="review-kilo"] footer strong{font:400 clamp(4rem,10vw,10rem)/.8 Anton}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"] footer strong{font:400 clamp(4rem,10cqw,10rem)/.8 Anton}}
[data-gp-theme="review-kilo"] footer p{color:#bdc4b8;font-size:13px;line-height:1.5;max-width:32ch}
[data-gp-theme="review-kilo"] footer a{text-decoration:underline;text-underline-offset:5px;font-size:13px}
@keyframes rf-kilo-raise{from{opacity:.72;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes rf-kilo-revealImage{from{opacity:.65;transform:scale(1.08)}to{opacity:1;transform:scale(1.04)}}
@media(max-width:900px){[data-gp-theme="review-kilo"] .site-header{grid-template-columns:1fr auto auto}
[data-gp-theme="review-kilo"] .nav{display:none}
[data-gp-theme="review-kilo"] .mobile-menu{display:block;position:relative}
[data-gp-theme="review-kilo"] .mobile-menu nav{display:none}
[data-gp-theme="review-kilo"] .mobile-menu[open] nav{display:grid;position:absolute;right:0;top:35px;width:250px;background:#10130e;padding:22px;gap:16px;border:1px solid #d7ff20}
[data-gp-theme="review-kilo"] .mobile-menu nav a{font-size:13px;text-transform:uppercase}
[data-gp-theme="review-kilo"] .site-header .visit{padding:13px}
[data-gp-theme="review-kilo"] .hero{min-height:700px}
[data-gp-theme="review-kilo"] h1{font-size:clamp(7.2rem,21vw,14rem)}
[data-gp-theme="review-kilo"] .first-step{grid-template-columns:1fr}
[data-gp-theme="review-kilo"] .first-step h2{max-width:none}
[data-gp-theme="review-kilo"] .ledger{grid-template-columns:1fr 1fr}
[data-gp-theme="review-kilo"] .ledger div:nth-child(2){border-right:0}
[data-gp-theme="review-kilo"] .ledger div{border-bottom:1px solid #718b20}}
@container fs-editor-canvas (max-width: 900px){[data-gp-theme="review-kilo"] .site-header{grid-template-columns:1fr auto auto}
[data-gp-theme="review-kilo"] .nav{display:none}
[data-gp-theme="review-kilo"] .mobile-menu{display:block;position:relative}
[data-gp-theme="review-kilo"] .mobile-menu nav{display:none}
[data-gp-theme="review-kilo"] .mobile-menu[open] nav{display:grid;position:absolute;right:0;top:35px;width:250px;background:#10130e;padding:22px;gap:16px;border:1px solid #d7ff20}
[data-gp-theme="review-kilo"] .mobile-menu nav a{font-size:13px;text-transform:uppercase}
[data-gp-theme="review-kilo"] .site-header .visit{padding:13px}
[data-gp-theme="review-kilo"] .hero{min-height:700px}
[data-gp-theme="review-kilo"] h1{font-size:clamp(7.2rem,21cqw,14rem)}
[data-gp-theme="review-kilo"] .first-step{grid-template-columns:1fr}
[data-gp-theme="review-kilo"] .first-step h2{max-width:none}
[data-gp-theme="review-kilo"] .ledger{grid-template-columns:1fr 1fr}
[data-gp-theme="review-kilo"] .ledger div:nth-child(2){border-right:0}
[data-gp-theme="review-kilo"] .ledger div{border-bottom:1px solid #718b20}}
@media(max-width:580px){[data-gp-theme="review-kilo"] .site-header{gap:12px}
[data-gp-theme="review-kilo"] .brand{font-size:35px}
[data-gp-theme="review-kilo"] .site-header .visit{font-size:10px;padding:12px}
[data-gp-theme="review-kilo"] .status span:last-child{display:none}
[data-gp-theme="review-kilo"] .hero{min-height:690px}
[data-gp-theme="review-kilo"] .hero:before{background-position:63% center;filter:grayscale(1) contrast(1.1) brightness(1.45)}
[data-gp-theme="review-kilo"] .hero:after{background:linear-gradient(90deg,#080b08dc 0%,#080b0866 80%),linear-gradient(0deg,#080b08cf 0%,transparent 55%)}
[data-gp-theme="review-kilo"] .hero-inner{padding-top:38px}
[data-gp-theme="review-kilo"] .hero-top{font-size:10px}
[data-gp-theme="review-kilo"] .hero-top:before{width:35px}
[data-gp-theme="review-kilo"] h1{font-size:clamp(6.5rem,24vw,9rem);margin:55px 0 40px}
[data-gp-theme="review-kilo"] .hero-bottom{grid-template-columns:1fr;gap:25px}
[data-gp-theme="review-kilo"] .hero-bottom a{width:100%}
[data-gp-theme="review-kilo"] .ledger{grid-template-columns:1fr 1fr}
[data-gp-theme="review-kilo"] .ledger div{padding:20px 8px 20px 0!important}
[data-gp-theme="review-kilo"] .ledger div:nth-child(odd){border-right:1px solid #718b20}
[data-gp-theme="review-kilo"] .ledger div:nth-child(even){padding-left:12px!important}
[data-gp-theme="review-kilo"] .ledger strong{font-size:1.35rem}
[data-gp-theme="review-kilo"] .training-list a{grid-template-columns:35px 1fr 25px}
[data-gp-theme="review-kilo"] .training-list strong{font-size:2rem}
[data-gp-theme="review-kilo"] .space{min-height:340px}
[data-gp-theme="review-kilo"] footer p{margin:23px 0}
[data-gp-theme="review-kilo"] footer a{display:block}}
@container fs-editor-canvas (max-width: 580px){[data-gp-theme="review-kilo"] .site-header{gap:12px}
[data-gp-theme="review-kilo"] .brand{font-size:35px}
[data-gp-theme="review-kilo"] .site-header .visit{font-size:10px;padding:12px}
[data-gp-theme="review-kilo"] .status span:last-child{display:none}
[data-gp-theme="review-kilo"] .hero{min-height:690px}
[data-gp-theme="review-kilo"] .hero:before{background-position:63% center;filter:grayscale(1) contrast(1.1) brightness(1.45)}
[data-gp-theme="review-kilo"] .hero:after{background:linear-gradient(90deg,#080b08dc 0%,#080b0866 80%),linear-gradient(0deg,#080b08cf 0%,transparent 55%)}
[data-gp-theme="review-kilo"] .hero-inner{padding-top:38px}
[data-gp-theme="review-kilo"] .hero-top{font-size:10px}
[data-gp-theme="review-kilo"] .hero-top:before{width:35px}
[data-gp-theme="review-kilo"] h1{font-size:clamp(6.5rem,24cqw,9rem);margin:55px 0 40px}
[data-gp-theme="review-kilo"] .hero-bottom{grid-template-columns:1fr;gap:25px}
[data-gp-theme="review-kilo"] .hero-bottom a{width:100%}
[data-gp-theme="review-kilo"] .ledger{grid-template-columns:1fr 1fr}
[data-gp-theme="review-kilo"] .ledger div{padding:20px 8px 20px 0!important}
[data-gp-theme="review-kilo"] .ledger div:nth-child(odd){border-right:1px solid #718b20}
[data-gp-theme="review-kilo"] .ledger div:nth-child(even){padding-left:12px!important}
[data-gp-theme="review-kilo"] .ledger strong{font-size:1.35rem}
[data-gp-theme="review-kilo"] .training-list a{grid-template-columns:35px 1fr 25px}
[data-gp-theme="review-kilo"] .training-list strong{font-size:2rem}
[data-gp-theme="review-kilo"] .space{min-height:340px}
[data-gp-theme="review-kilo"] footer p{margin:23px 0}
[data-gp-theme="review-kilo"] footer a{display:block}}
@media(max-width:580px){[data-gp-theme="review-kilo"] .hero-inner{justify-content:flex-start}
[data-gp-theme="review-kilo"] h1{margin:48px 0 28px}
[data-gp-theme="review-kilo"] .hero-bottom{margin-top:auto}}
@container fs-editor-canvas (max-width: 580px){[data-gp-theme="review-kilo"] .hero-inner{justify-content:flex-start}
[data-gp-theme="review-kilo"] h1{margin:48px 0 28px}
[data-gp-theme="review-kilo"] .hero-bottom{margin-top:auto}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="review-kilo"] .hero:before,[data-gp-theme="review-kilo"] h1{animation:none}
[data-gp-theme="review-kilo"] .hero-bottom a,[data-gp-theme="review-kilo"] .training-list a{transition:none}}
[data-gp-theme="review-kilo"] .text-link{display:inline-block;border-bottom:2px solid #151916;padding-bottom:5px;margin-top:15px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}
[data-gp-theme="review-kilo"] .footer-nav{display:grid;gap:12px;min-width:210px}
[data-gp-theme="review-kilo"] .footer-nav a{display:block;border-bottom:1px solid #636b5e;padding-bottom:8px;text-decoration:none;text-transform:uppercase;font-weight:700;letter-spacing:.1em}
[data-gp-theme="review-kilo"] .footer-nav a:hover{color:#d7ff20}
[data-gp-theme="review-kilo"] .start-hero{min-height:610px;display:flex;align-items:end;position:relative;isolation:isolate;background:#111411;padding:80px clamp(18px,3vw,55px) 52px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"] .start-hero{padding:80px clamp(18px,3cqw,55px) 52px}}
[data-gp-theme="review-kilo"] .start-hero:before{content:"";position:absolute;inset:0;background:url('/gpt-themes/review-kilo/refined-assets/kilo-coaching.png') 64% center/cover no-repeat;z-index:-2;filter:grayscale(.25)}
[data-gp-theme="review-kilo"] .start-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0b0d0cf2 0%,#0b0d0cbb 37%,#0b0d0c2e 82%),linear-gradient(0deg,#0b0d0caa,transparent 60%);z-index:-1}
[data-gp-theme="review-kilo"] .start-hero h1{font-size:clamp(7rem,15vw,17rem);max-width:8ch;margin:15px 0 23px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"] .start-hero h1{font-size:clamp(7rem,15cqw,17rem)}}
[data-gp-theme="review-kilo"] .start-hero p{font-size:clamp(1.2rem,1.7vw,1.6rem);max-width:37ch;line-height:1.45}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"] .start-hero p{font-size:clamp(1.2rem,1.7cqw,1.6rem)}}
[data-gp-theme="review-kilo"] .start-guide{display:grid;grid-template-columns:minmax(250px,.75fr) minmax(0,1.4fr);gap:clamp(30px,6vw,100px);padding:clamp(65px,8vw,130px) clamp(18px,3vw,55px);background:#eff0e9;color:#151916}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"] .start-guide{gap:clamp(30px,6cqw,100px);padding:clamp(65px,8cqw,130px) clamp(18px,3cqw,55px)}}
[data-gp-theme="review-kilo"] .start-guide h2{font:400 clamp(5rem,8vw,9rem)/.86 Anton;text-transform:uppercase;margin:0 0 25px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"] .start-guide h2{font:400 clamp(5rem,8cqw,9rem)/.86 Anton}}
[data-gp-theme="review-kilo"] .start-guide>div:first-child p{max-width:28ch;line-height:1.5;font-size:1.1rem}
[data-gp-theme="review-kilo"] .guide-list{border-top:5px solid #151916}
[data-gp-theme="review-kilo"] .guide-list article{display:grid;grid-template-columns:65px 1fr;gap:20px;border-bottom:2px solid #151916;padding:26px 0}
[data-gp-theme="review-kilo"] .guide-list article>span{font:400 2.5rem Anton;color:#788374}
[data-gp-theme="review-kilo"] .guide-list h3{font:400 clamp(2rem,3vw,3.5rem)/1 Anton;text-transform:uppercase;margin:0 0 9px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"] .guide-list h3{font:400 clamp(2rem,3cqw,3.5rem)/1 Anton}}
[data-gp-theme="review-kilo"] .guide-list p{margin:0;max-width:45ch;line-height:1.5}
[data-gp-theme="review-kilo"] .fees{background:#d7ff20;color:#141a0c;padding:70px clamp(18px,3vw,55px)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"] .fees{padding:70px clamp(18px,3cqw,55px)}}
[data-gp-theme="review-kilo"] .fees-top{display:flex;justify-content:space-between;align-items:end;gap:30px}
[data-gp-theme="review-kilo"] .fees h2{font:400 clamp(5rem,10vw,11rem)/.8 Anton;margin:0;text-transform:uppercase}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"] .fees h2{font:400 clamp(5rem,10cqw,11rem)/.8 Anton}}
[data-gp-theme="review-kilo"] .fees-top p{max-width:33ch;line-height:1.5}
[data-gp-theme="review-kilo"] .fee-grid{display:grid;grid-template-columns:repeat(4,1fr);border:2px solid #16200c;margin-top:37px}
[data-gp-theme="review-kilo"] .fee-grid div{padding:24px;border-right:2px solid #16200c}
[data-gp-theme="review-kilo"] .fee-grid div:last-child{border:0}
[data-gp-theme="review-kilo"] .fee-grid small{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:700}
[data-gp-theme="review-kilo"] .fee-grid strong{display:block;font:400 clamp(2.3rem,4vw,5rem) Anton;margin-top:16px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"] .fee-grid strong{font:400 clamp(2.3rem,4cqw,5rem) Anton}}
[data-gp-theme="review-kilo"] .fee-grid span{display:block;font-size:12px;margin-top:8px}
[data-gp-theme="review-kilo"] .fee-note{font-size:12px;margin:17px 0 0}
[data-gp-theme="review-kilo"] .start-back{display:inline-block;margin-top:25px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#d7ff20}
@media(max-width:900px){[data-gp-theme="review-kilo"] .fee-grid{grid-template-columns:1fr 1fr}
[data-gp-theme="review-kilo"] .fee-grid div:nth-child(2){border-right:0}
[data-gp-theme="review-kilo"] .fee-grid div:nth-child(-n/**/+2){border-bottom:2px solid #16200c}
[data-gp-theme="review-kilo"] .start-guide{grid-template-columns:1fr}}
@container fs-editor-canvas (max-width: 900px){[data-gp-theme="review-kilo"] .fee-grid{grid-template-columns:1fr 1fr}
[data-gp-theme="review-kilo"] .fee-grid div:nth-child(2){border-right:0}
[data-gp-theme="review-kilo"] .fee-grid div:nth-child(-n/**/+2){border-bottom:2px solid #16200c}
[data-gp-theme="review-kilo"] .start-guide{grid-template-columns:1fr}}
@media(max-width:580px){[data-gp-theme="review-kilo"] .hero{min-height:850px}
[data-gp-theme="review-kilo"] .hero:before{height:390px;bottom:auto;background-position:72% 38%;filter:grayscale(.25) contrast(1.1) brightness(.9)}
[data-gp-theme="review-kilo"] .hero:after{background:linear-gradient(0deg,#080b08 0%,#080b08 30%,#080b083d 68%,transparent 90%)}
[data-gp-theme="review-kilo"] .hero-inner{padding-top:355px}
[data-gp-theme="review-kilo"] .hero-top{position:absolute;top:26px;left:18px;right:18px;text-shadow:0 1px 10px #000}
[data-gp-theme="review-kilo"] h1{margin:0 0 30px}
[data-gp-theme="review-kilo"] .footer-nav{margin-top:30px}
[data-gp-theme="review-kilo"] .start-hero{min-height:660px}
[data-gp-theme="review-kilo"] .start-hero:before{background-position:58% center}
[data-gp-theme="review-kilo"] .start-hero:after{background:linear-gradient(0deg,#0b0d0cf5 0%,#0b0d0caa 58%,#0b0d0c50 100%)}
[data-gp-theme="review-kilo"] .start-hero h1{font-size:clamp(6.5rem,22vw,10rem)}
[data-gp-theme="review-kilo"] .fees-top{display:block}
[data-gp-theme="review-kilo"] .fees h2{line-height:.98;margin-bottom:22px}
[data-gp-theme="review-kilo"] .fees-top p{margin:0}
[data-gp-theme="review-kilo"] .fee-grid{grid-template-columns:1fr 1fr}
[data-gp-theme="review-kilo"] .fee-grid div{padding:17px}
[data-gp-theme="review-kilo"] .fee-grid strong{font-size:clamp(2rem,8vw,3rem)}}
@container fs-editor-canvas (max-width: 580px){[data-gp-theme="review-kilo"] .hero{min-height:850px}
[data-gp-theme="review-kilo"] .hero:before{height:390px;bottom:auto;background-position:72% 38%;filter:grayscale(.25) contrast(1.1) brightness(.9)}
[data-gp-theme="review-kilo"] .hero:after{background:linear-gradient(0deg,#080b08 0%,#080b08 30%,#080b083d 68%,transparent 90%)}
[data-gp-theme="review-kilo"] .hero-inner{padding-top:355px}
[data-gp-theme="review-kilo"] .hero-top{position:absolute;top:26px;left:18px;right:18px;text-shadow:0 1px 10px #000}
[data-gp-theme="review-kilo"] h1{margin:0 0 30px}
[data-gp-theme="review-kilo"] .footer-nav{margin-top:30px}
[data-gp-theme="review-kilo"] .start-hero{min-height:660px}
[data-gp-theme="review-kilo"] .start-hero:before{background-position:58% center}
[data-gp-theme="review-kilo"] .start-hero:after{background:linear-gradient(0deg,#0b0d0cf5 0%,#0b0d0caa 58%,#0b0d0c50 100%)}
[data-gp-theme="review-kilo"] .start-hero h1{font-size:clamp(6.5rem,22cqw,10rem)}
[data-gp-theme="review-kilo"] .fees-top{display:block}
[data-gp-theme="review-kilo"] .fees h2{line-height:.98;margin-bottom:22px}
[data-gp-theme="review-kilo"] .fees-top p{margin:0}
[data-gp-theme="review-kilo"] .fee-grid{grid-template-columns:1fr 1fr}
[data-gp-theme="review-kilo"] .fee-grid div{padding:17px}
[data-gp-theme="review-kilo"] .fee-grid strong{font-size:clamp(2rem,8cqw,3rem)}}

/* Kilo: a training board with clear entry routes and fees. */
[data-gp-theme="review-kilo"]{--font-body:Barlow,Arial,sans-serif;--font-display:Anton,Impact,sans-serif;--site-width:1380px;--button-radius:0;--card-radius:0;background:var(--bg);font-family:Barlow,Arial,sans-serif}
[data-gp-theme="review-kilo"]{overflow:hidden;background:var(--bg)}
[data-gp-theme="review-kilo"] .hero,[data-gp-theme="review-kilo"] .start-hero{color:#f4f4eb}
[data-gp-theme="review-kilo"] .hero h1,[data-gp-theme="review-kilo"] .start-hero h1,[data-gp-theme="review-kilo"] .page-intro h1{color:#f4f4eb}
[data-gp-theme="review-kilo"] .start-hero h1{font-size:clamp(5rem,11vw,10rem);line-height:.97;max-width:9ch;margin:17px 0 25px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"] .start-hero h1{font-size:clamp(5rem,11cqw,10rem)}}
[data-gp-theme="review-kilo"] .site-loader{background:#0b0d0c;color:#f6f5ef;font-family:Barlow,Arial,sans-serif}
[data-gp-theme="review-kilo"] .site-loader h1{font:400 5rem Anton,Impact,sans-serif;text-transform:uppercase}
[data-gp-theme="review-kilo"] .site-header{background:var(--bg);border-bottom:1px solid var(--line)}
[data-gp-theme="review-kilo"] .header-inner{max-width:none;min-height:78px;padding:12px clamp(18px,3vw,55px)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"] .header-inner{padding:12px clamp(18px,3cqw,55px)}}
[data-gp-theme="review-kilo"] .refined-brand{font:400 43px/.8 Anton,Impact,sans-serif;letter-spacing:-.02em;color:var(--ink);white-space:nowrap}
[data-gp-theme="review-kilo"] .refined-brand i{display:inline-block;width:8px;height:34px;background:var(--accent);margin-right:4px;transform:skew(-12deg)}
[data-gp-theme="review-kilo"] .primary-nav>a,[data-gp-theme="review-kilo"] .nav-disclosure>summary{font:700 12px Barlow,Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}
[data-gp-theme="review-kilo"] .nav-disclosure.compact-nav{display:block}
[data-gp-theme="review-kilo"] .header-cta{background:var(--accent);color:#10130d;font:700 12px Barlow,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}
[data-gp-theme="review-kilo"] .nav-disclosure>.mega-panel{background:var(--bg);border-top:5px solid var(--accent);padding:29px clamp(18px,3vw,55px);box-shadow:0 22px 50px #0009}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"] .nav-disclosure>.mega-panel{padding:29px clamp(18px,3cqw,55px)}}
[data-gp-theme="review-kilo"] .mega-content{display:grid;grid-template-columns:minmax(210px,.85fr) minmax(190px,.8fr) minmax(330px,1.65fr);gap:clamp(20px,3vw,55px)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"] .mega-content{gap:clamp(20px,3cqw,55px)}}
[data-gp-theme="review-kilo"] .mega-intro small{display:block;color:var(--accent);font:700 10px Barlow,Arial,sans-serif;text-transform:uppercase;letter-spacing:.19em;margin-bottom:19px}
[data-gp-theme="review-kilo"] .mega-intro strong{font:400 clamp(3rem,5.4vw,6rem)/.86 Anton,Impact,sans-serif;letter-spacing:-.03em;color:var(--ink)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"] .mega-intro strong{font:400 clamp(3rem,5.4cqw,6rem)/.86 Anton,Impact,sans-serif}}
[data-gp-theme="review-kilo"] .mega-intro p{font:500 15px/1.45 Barlow,Arial,sans-serif;max-width:30ch;margin-top:17px}
[data-gp-theme="review-kilo"] .mega-intro>a{display:inline-block;margin-top:10px;padding:12px 15px;background:var(--accent);color:#10130d;font:700 11px Barlow,Arial,sans-serif;text-transform:uppercase;letter-spacing:.09em;text-decoration:none}
[data-gp-theme="review-kilo"] .mega-feature{position:relative;min-height:250px;background:#111911;overflow:hidden;display:flex;align-items:end}
[data-gp-theme="review-kilo"] .mega-feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.8) contrast(1.25)}
[data-gp-theme="review-kilo"] .mega-feature p{position:relative;z-index:1;margin:0;padding:14px;width:100%;background:#111911cf;color:var(--accent);font:400 30px/.98 Anton,Impact,sans-serif}
[data-gp-theme="review-kilo"] .mega-links{display:grid;grid-template-columns:1fr 1fr;gap:0 19px;align-content:start}
[data-gp-theme="review-kilo"] .mega-links a{display:grid;grid-template-columns:28px 1fr auto;gap:7px;align-items:baseline;border-bottom:2px solid var(--line);font:400 20px/1.1 Anton,Impact,sans-serif;text-transform:uppercase;padding:11px 0;text-decoration:none}
[data-gp-theme="review-kilo"] .mega-links a:after{content:none}
[data-gp-theme="review-kilo"] .mega-links .link-number{font:700 10px Barlow,Arial,sans-serif;color:var(--accent)}
[data-gp-theme="review-kilo"] .site-footer{background:var(--surface);padding:52px clamp(18px,3vw,55px) 25px;border-top:8px solid var(--accent)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"] .site-footer{padding:52px clamp(18px,3cqw,55px) 25px}}
[data-gp-theme="review-kilo"] .site-footer .site-brand{font:400 clamp(5rem,11vw,12rem)/.8 Anton,Impact,sans-serif;max-width:none}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"] .site-footer .site-brand{font:400 clamp(5rem,11cqw,12rem)/.8 Anton,Impact,sans-serif}}
[data-gp-theme="review-kilo"] .footer-links{display:grid;grid-template-columns:repeat(2,minmax(115px,1fr));gap:0 20px}
[data-gp-theme="review-kilo"] .footer-links a{padding:9px 0;border-bottom:2px solid var(--line);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;text-decoration:none}
[data-gp-theme="review-kilo"] .page-intro{position:relative;background:#101510;color:#f4f4eb;padding:clamp(70px,8vw,125px) clamp(20px,5vw,90px);border-bottom:8px solid var(--accent)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"] .page-intro{padding:clamp(70px,8cqw,125px) clamp(20px,5cqw,90px)}}
[data-gp-theme="review-kilo"] .page-intro:before{content:'KILO / TRAINING BOARD';position:absolute;top:30px;right:5vw;font:700 10px Barlow,Arial,sans-serif;letter-spacing:.18em;color:var(--accent)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"] .page-intro:before{right:5cqw}}
[data-gp-theme="review-kilo"] .page-intro h1{font:400 clamp(4.5rem,9vw,10rem)/.97 Anton,Impact,sans-serif;text-transform:uppercase;max-width:14ch;margin:20px 0}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"] .page-intro h1{font:400 clamp(4.5rem,9cqw,10rem)/.97 Anton,Impact,sans-serif}}
[data-gp-theme="review-kilo"] .page-intro .place{color:var(--accent);font:700 11px Barlow,Arial,sans-serif;text-transform:uppercase;letter-spacing:.19em}
[data-gp-theme="review-kilo"] .page-intro .lede{font-size:clamp(1.15rem,1.6vw,1.55rem);max-width:43ch;line-height:1.45}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"] .page-intro .lede{font-size:clamp(1.15rem,1.6cqw,1.55rem)}}
[data-gp-theme="review-kilo"]>section[data-block]{padding-block:clamp(60px,6vw,110px);border-top:5px solid var(--line)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"]>section[data-block]{padding-block:clamp(60px,6cqw,110px)}}
[data-gp-theme="review-kilo"]>section[data-block]:nth-of-type(even){background:var(--surface)}
[data-gp-theme="review-kilo"]>section[data-block] h2{font:400 clamp(3.3rem,6vw,6.2rem)/.94 Anton,Impact,sans-serif;text-transform:uppercase}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"]>section[data-block] h2{font:400 clamp(3.3rem,6cqw,6.2rem)/.94 Anton,Impact,sans-serif}}
[data-gp-theme="review-kilo"] .records article{border:2px solid var(--line);padding:22px}
[data-gp-theme="review-kilo"] .action{border-radius:0;text-transform:uppercase;letter-spacing:.07em}
[data-gp-theme="review-kilo"] .refined-preloader{background:#0b0d0c;color:#f4f4eb}
[data-gp-theme="review-kilo"] .loader-bars{display:flex;align-items:end;gap:8px;height:80px}
[data-gp-theme="review-kilo"] .loader-bars i{display:block;background:#d7ff20;width:20px;height:36px;transform:skew(-9deg);animation:var(--fs-anim-rfFeedback,rf-kilo-load-lift .55s ease both)}
[data-gp-theme="review-kilo"] .loader-bars i:nth-child(2){height:65px;animation-delay:.08s}[data-gp-theme="review-kilo"] .loader-bars i:nth-child(3){height:50px;animation-delay:.16s}
[data-gp-theme="review-kilo"] .loader-name{font:400 clamp(6rem,13vw,13rem)/.8 Anton,Impact,sans-serif}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"] .loader-name{font:400 clamp(6rem,13cqw,13rem)/.8 Anton,Impact,sans-serif}}
[data-gp-theme="review-kilo"] .loader-small{color:#d7ff20}
@keyframes rf-kilo-load-lift{from{opacity:.3;transform:translateY(25px) skew(-9deg)}to{opacity:1;transform:translateY(0) skew(-9deg)}}
[data-gp-theme="review-kilo"].layout-full [data-gp-theme="review-kilo"]{max-width:none;width:100%;margin:0}
[data-gp-theme="review-kilo"].layout-full [data-gp-theme="review-kilo"] .hero-inner,[data-gp-theme="review-kilo"].layout-full [data-gp-theme="review-kilo"] .start-hero,[data-gp-theme="review-kilo"].layout-full [data-gp-theme="review-kilo"] .start-guide{padding-left:8vw;padding-right:8vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"].layout-full [data-gp-theme="review-kilo"] .hero-inner,[data-gp-theme="review-kilo"].layout-full [data-gp-theme="review-kilo"] .start-hero,[data-gp-theme="review-kilo"].layout-full [data-gp-theme="review-kilo"] .start-guide{padding-left:8cqw;padding-right:8cqw}}
[data-gp-theme="review-kilo"].layout-full [data-gp-theme="review-kilo"] .hero:before,[data-gp-theme="review-kilo"].layout-full [data-gp-theme="review-kilo"] .start-hero:before{left:45%;width:55%;background-position:center}
[data-gp-theme="review-kilo"].layout-full [data-gp-theme="review-kilo"] .hero:after,[data-gp-theme="review-kilo"].layout-full [data-gp-theme="review-kilo"] .start-hero:after{background:linear-gradient(90deg,#080b08 0%,#080b08 43%,#080b08c7 52%,#080b0828 85%)}
[data-gp-theme="review-kilo"].layout-full [data-gp-theme="review-kilo"] .hero h1{font-size:clamp(7rem,17vw,18rem)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"].layout-full [data-gp-theme="review-kilo"] .hero h1{font-size:clamp(7rem,17cqw,18rem)}}
[data-gp-theme="review-kilo"].layout-full [data-gp-theme="review-kilo"] .ledger{grid-template-columns:repeat(4,1fr)}
[data-gp-theme="review-kilo"].layout-boxed [data-gp-theme="review-kilo"]{max-width:1120px;width:calc(100% - 64px);margin:32px auto;border:2px solid var(--line)}
[data-gp-theme="review-kilo"].layout-boxed [data-gp-theme="review-kilo"] .hero{min-height:670px}
[data-gp-theme="review-kilo"].layout-centered [data-gp-theme="review-kilo"] .hero-inner,[data-gp-theme="review-kilo"].layout-centered [data-gp-theme="review-kilo"] .start-hero{display:grid;justify-items:center;text-align:center}
[data-gp-theme="review-kilo"].layout-centered [data-gp-theme="review-kilo"] .hero-bottom{display:flex;flex-direction:column;align-items:center}
[data-gp-theme="review-kilo"].layout-centered [data-gp-theme="review-kilo"] .first-step,[data-gp-theme="review-kilo"].layout-centered [data-gp-theme="review-kilo"] .start-guide{grid-template-columns:1fr;justify-items:center;text-align:center}
[data-gp-theme="review-kilo"].layout-centered [data-gp-theme="review-kilo"] .training-list,[data-gp-theme="review-kilo"].layout-centered [data-gp-theme="review-kilo"] .guide-list{width:min(100%,800px);text-align:left}
[data-gp-theme="review-kilo"].layout-minimal [data-gp-theme="review-kilo"] .hero,[data-gp-theme="review-kilo"].layout-minimal [data-gp-theme="review-kilo"] .start-hero{min-height:520px}
[data-gp-theme="review-kilo"].layout-minimal [data-gp-theme="review-kilo"] .hero:before,[data-gp-theme="review-kilo"].layout-minimal [data-gp-theme="review-kilo"] .start-hero:before{opacity:.25;filter:grayscale(1)}
[data-gp-theme="review-kilo"].layout-minimal [data-gp-theme="review-kilo"] .hero h1,[data-gp-theme="review-kilo"].layout-minimal [data-gp-theme="review-kilo"] .start-hero h1{font-size:clamp(5rem,11vw,11rem)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"].layout-minimal [data-gp-theme="review-kilo"] .hero h1,[data-gp-theme="review-kilo"].layout-minimal [data-gp-theme="review-kilo"] .start-hero h1{font-size:clamp(5rem,11cqw,11rem)}}
[data-gp-theme="review-kilo"].layout-minimal [data-gp-theme="review-kilo"] .status,[data-gp-theme="review-kilo"].layout-minimal [data-gp-theme="review-kilo"] .ledger{display:none}
[data-gp-theme="review-kilo"].layout-edge [data-gp-theme="review-kilo"]{max-width:none;width:100%;margin:0;padding:0}
[data-gp-theme="review-kilo"].layout-edge [data-gp-theme="review-kilo"] .hero,[data-gp-theme="review-kilo"].layout-edge [data-gp-theme="review-kilo"] .start-hero{min-height:calc(100svh - 78px)}
[data-gp-theme="review-kilo"].layout-edge [data-gp-theme="review-kilo"] .hero:before{background-position:center;transform:scale(1.08)}
[data-gp-theme="review-kilo"].layout-edge [data-gp-theme="review-kilo"] .hero-inner{padding-left:3vw;padding-right:3vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"].layout-edge [data-gp-theme="review-kilo"] .hero-inner{padding-left:3cqw;padding-right:3cqw}}
[data-gp-theme="review-kilo"].layout-edge [data-gp-theme="review-kilo"] .hero h1{font-size:clamp(9rem,20vw,23rem);line-height:.88;margin-block:35px 45px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"].layout-edge [data-gp-theme="review-kilo"] .hero h1{font-size:clamp(9rem,20cqw,23rem)}}
[data-gp-theme="review-kilo"].layout-edge [data-gp-theme="review-kilo"] .start-hero h1{font-size:clamp(7rem,17vw,18rem)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="review-kilo"].layout-edge [data-gp-theme="review-kilo"] .start-hero h1{font-size:clamp(7rem,17cqw,18rem)}}
[data-gp-theme="review-kilo"] .refined-preloader{position:fixed;z-index:9999;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;pointer-events:none;transition:var(--fs-anim-rfFeedback,opacity .25s ease,visibility .25s ease)}
[data-gp-theme="review-kilo"] .refined-preloader.is-leaving{opacity:0;visibility:hidden}[data-gp-theme="review-kilo"] .refined-preloader .loader-small{display:block;font:700 10px/1.3 system-ui,sans-serif;letter-spacing:.26em;text-transform:uppercase}
@media(max-width:900px){[data-gp-theme="review-kilo"] .mega-content{grid-template-columns:1fr 1fr}[data-gp-theme="review-kilo"] .mega-feature{display:none}}
@container fs-editor-canvas (max-width: 900px){[data-gp-theme="review-kilo"] .mega-content{grid-template-columns:1fr 1fr}[data-gp-theme="review-kilo"] .mega-feature{display:none}}
@media(max-width:850px){[data-gp-theme="review-kilo"] .nav-disclosure>.mega-panel{position:fixed;inset:var(--menu-top,78px) 0 0;overflow:auto;padding:25px 20px}[data-gp-theme="review-kilo"] .mega-content{display:block}[data-gp-theme="review-kilo"] .mega-intro{margin-bottom:20px}[data-gp-theme="review-kilo"] .mega-links{grid-template-columns:1fr 1fr}}
@container fs-editor-canvas (max-width: 850px){[data-gp-theme="review-kilo"] .nav-disclosure>.mega-panel{position:fixed;inset:var(--menu-top,78px) 0 0;overflow:auto;padding:25px 20px}[data-gp-theme="review-kilo"] .mega-content{display:block}[data-gp-theme="review-kilo"] .mega-intro{margin-bottom:20px}[data-gp-theme="review-kilo"] .mega-links{grid-template-columns:1fr 1fr}}
@media(max-width:620px){[data-gp-theme="review-kilo"] .hero{min-height:830px}[data-gp-theme="review-kilo"] .hero-inner{padding-top:340px}[data-gp-theme="review-kilo"].layout-full [data-gp-theme="review-kilo"] .hero:before,[data-gp-theme="review-kilo"].layout-full [data-gp-theme="review-kilo"] .start-hero:before{left:0;width:100%}[data-gp-theme="review-kilo"].layout-full [data-gp-theme="review-kilo"] .hero:after,[data-gp-theme="review-kilo"].layout-full [data-gp-theme="review-kilo"] .start-hero:after{background:linear-gradient(0deg,#080b08 0%,#080b08 30%,#080b083d 68%,transparent 90%)}[data-gp-theme="review-kilo"].layout-full [data-gp-theme="review-kilo"] .hero h1,[data-gp-theme="review-kilo"].layout-edge [data-gp-theme="review-kilo"] .hero h1{font-size:clamp(6.5rem,24vw,9rem);margin:0 0 30px}[data-gp-theme="review-kilo"] .mega-links{grid-template-columns:1fr}[data-gp-theme="review-kilo"].layout-boxed [data-gp-theme="review-kilo"]{width:calc(100% - 24px);margin:12px auto}[data-gp-theme="review-kilo"] .site-footer .footer-top{display:block}[data-gp-theme="review-kilo"] .site-footer .footer-links{margin-top:30px}}
@container fs-editor-canvas (max-width: 620px){[data-gp-theme="review-kilo"] .hero{min-height:830px}[data-gp-theme="review-kilo"] .hero-inner{padding-top:340px}[data-gp-theme="review-kilo"].layout-full [data-gp-theme="review-kilo"] .hero:before,[data-gp-theme="review-kilo"].layout-full [data-gp-theme="review-kilo"] .start-hero:before{left:0;width:100%}[data-gp-theme="review-kilo"].layout-full [data-gp-theme="review-kilo"] .hero:after,[data-gp-theme="review-kilo"].layout-full [data-gp-theme="review-kilo"] .start-hero:after{background:linear-gradient(0deg,#080b08 0%,#080b08 30%,#080b083d 68%,transparent 90%)}[data-gp-theme="review-kilo"].layout-full [data-gp-theme="review-kilo"] .hero h1,[data-gp-theme="review-kilo"].layout-edge [data-gp-theme="review-kilo"] .hero h1{font-size:clamp(6.5rem,24cqw,9rem);margin:0 0 30px}[data-gp-theme="review-kilo"] .mega-links{grid-template-columns:1fr}[data-gp-theme="review-kilo"].layout-boxed [data-gp-theme="review-kilo"]{width:calc(100% - 24px);margin:12px auto}[data-gp-theme="review-kilo"] .site-footer .footer-top{display:block}[data-gp-theme="review-kilo"] .site-footer .footer-links{margin-top:30px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="review-kilo"] .refined-preloader,[data-gp-theme="review-kilo"] .refined-preloader *{animation:none!important;transition:none!important}}
[data-gp-theme="review-kilo"] .asset-credits{font-size:.75rem;color:var(--accent);white-space:nowrap}@media(max-width:850px){[data-gp-theme="review-kilo"] .asset-credits{display:block;margin-top:10px}}@container fs-editor-canvas (max-width: 850px){[data-gp-theme="review-kilo"] .asset-credits{display:block;margin-top:10px}}

/* Shared interaction feedback for every Version 2 page. */
[data-gp-theme="review-kilo"]{--ease-out:cubic-bezier(.23,1,.32,1);--motion-press:140ms;--motion-feedback:180ms;--motion-enter:240ms}
[data-gp-theme="review-kilo"] .site-header .nav-disclosure>summary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;line-height:1;padding:10px 0;list-style:none}
[data-gp-theme="review-kilo"] .site-header .nav-disclosure>summary::before,[data-gp-theme="review-kilo"] .site-header .nav-disclosure>summary::after{content:none;display:none}
[data-gp-theme="review-kilo"] .site-header .nav-disclosure>summary .menu-label,[data-gp-theme="review-kilo"] .site-header .nav-disclosure>summary .menu-mobile-label{font:600 .88rem/1.2 var(--font-body,var(--bodyfont,system-ui,sans-serif))}
[data-gp-theme="review-kilo"] .site-header .nav-disclosure>summary .menu-mobile-label{display:none}
[data-gp-theme="review-kilo"] .site-header .nav-disclosure>summary .menu-chevron{display:block;width:14px;height:14px;max-width:none;flex:0 0 14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transform-origin:center;transition:var(--fs-anim-rfFeedback,transform var(--motion-feedback) var(--ease-out))}
[data-gp-theme="review-kilo"] .site-header .nav-disclosure[open]>summary .menu-chevron{transform:rotate(180deg)}
[data-gp-theme="review-kilo"] select:not([multiple]){appearance:none;padding-right:2.5rem;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat}

/* The settings and timings use the editor's native motion vocabulary. */
[data-gp-theme="review-kilo"]{--fs-anim-speed:1;--fs-motion-dist:1;--fs-anim-ease:cubic-bezier(.22,.61,.36,1);--motion-press:120ms;--motion-feedback:180ms}
[data-gp-theme="review-kilo"] .page-enter,[data-gp-theme="review-kilo"] .motion-arrive,[data-gp-theme="review-kilo"] .site-header .mega-content,[data-gp-theme="review-kilo"] [data-tab-panel]:not([hidden]),[data-gp-theme="review-kilo"] .page-detail-dialog[open]{animation:none}
[data-gp-theme="review-kilo"] :is(button,.button,.btn,.action){transition:var(--fs-anim-rfFeedback,transform min(220ms,calc(120ms * var(--fs-anim-speed))) var(--fs-anim-ease),background-color 180ms ease,color 180ms ease,border-color 180ms ease)}
[data-gp-theme="review-kilo"] :is(button,.button,.btn,.action):active:not(:disabled){transform:var(--fs-anim-fs-press,scale(.985))}
[data-gp-theme="review-kilo"] :is(.cards>article,.records>article,.credentials>article,.qd-patient-routes>a){transition-property:var(--fs-anim-rfFeedback,var(--fs-anim-fs-lift-prop,transform));transition-duration:min(240ms,calc(200ms * var(--fs-anim-speed)));transition-timing-function:var(--fs-anim-ease)}
@media(hover:hover) and (pointer:fine){[data-gp-theme="review-kilo"] :is(.cards>article,.records>article,.credentials>article,.qd-patient-routes>a):hover{transform:var(--fs-anim-fs-lift-t,translateY(-2px))}}
[data-gp-theme="review-kilo"] details[open]>:not(summary){animation:none}
@supports(interpolate-size:allow-keywords){[data-gp-theme="review-kilo"] details{interpolate-size:allow-keywords}[data-gp-theme="review-kilo"] details::details-content{height:0;opacity:0;overflow:clip;transition:var(--fs-anim-rfFeedback,height min(280ms,calc(180ms * var(--fs-anim-speed))) var(--fs-anim-ease),opacity 180ms ease,content-visibility 280ms allow-discrete)}[data-gp-theme="review-kilo"] details[open]::details-content{height:auto;opacity:1}}
/* Same grid cell, stable tallest panel; inactive content is inert and invisible. */
[data-gp-theme="review-kilo"] [data-motion-tabs="stacked"]{display:grid;grid-template-columns:minmax(0,1fr)}
[data-gp-theme="review-kilo"] [data-motion-tabs="stacked"]>[data-tab-panel]{grid-column:1;grid-row:2;min-width:0}
[data-gp-theme="review-kilo"] [data-motion-tabs="stacked"]>[data-tab-panel][hidden]{display:block!important;visibility:hidden;pointer-events:none}
@media(max-width:850px){[data-gp-theme="review-kilo"] .site-header .nav-disclosure>summary .menu-label{display:none}[data-gp-theme="review-kilo"] .site-header .nav-disclosure>summary .menu-mobile-label{display:inline}}
@container fs-editor-canvas (max-width: 850px){[data-gp-theme="review-kilo"] .site-header .nav-disclosure>summary .menu-label{display:none}[data-gp-theme="review-kilo"] .site-header .nav-disclosure>summary .menu-mobile-label{display:inline}}
[data-gp-theme="review-kilo"][data-input="keyboard"] .site-header .menu-chevron{transition:none}
@media(prefers-reduced-motion:reduce){[data-gp-theme="review-kilo"] :is(button,.button,.btn,.action,.cards>article,.records>article,.credentials>article,.qd-patient-routes>a),[data-gp-theme="review-kilo"] .site-header .menu-chevron,[data-gp-theme="review-kilo"] details::details-content{transition:none!important}[data-gp-theme="review-kilo"] :is(button,.button,.btn,.action,.cards>article,.records>article,.credentials>article,.qd-patient-routes>a):is(:active,:hover){transform:none}}
[data-gp-theme="review-kilo"][data-fs-motion="off"] [data-gp-theme="review-kilo"] *,[data-gp-theme="review-kilo"][data-fs-motion="off"] .site-header *,[data-gp-theme="review-kilo"][data-input="keyboard"] [data-gp-theme="review-kilo"] *,[data-gp-theme="review-kilo"][data-input="keyboard"] .site-header *{animation:none!important;transition:none!important}

[data-gp-theme="review-kilo"]{--ease-out:var(--fs-anim-ease,cubic-bezier(.22,.61,.36,1))}[data-gp-theme="review-kilo"] .site-header .nav-disclosure>summary .menu-chevron{transition:var(--fs-anim-rfFeedback,transform min(240ms,calc(180ms * var(--fs-anim-speed))) var(--fs-anim-ease))}

[data-gp-theme="review-kilo"]{--bg:rgb(var(--c-paper));--surface:rgb(var(--c-paper-soft));--ink:rgb(var(--c-ink-950));--brand:rgb(var(--c-brand-600));--accent:rgb(var(--c-accent));--line:rgb(var(--c-ink-950) / .22);}
[data-gp-theme="review-kilo"][data-gp-kind="section"]:has(h1){animation:var(--fs-anim-rfEntrance,rf-kilo-page-in .24s ease-out)}[data-gp-theme="review-kilo"][data-gp-motion="off"],[data-fs-motion-level="off"] [data-gp-theme="review-kilo"],[data-fs-motion="off"] [data-gp-theme="review-kilo"]{animation:none!important;transition:none!important}@media(prefers-reduced-motion:reduce){[data-gp-theme="review-kilo"]{animation:none!important;transition:none!important}}
[data-gp-theme="review-kilo"] .rf-hero-art{position:absolute;inset:0;width:100%;height:100%;z-index:-2;overflow:hidden}[data-gp-theme="review-kilo"] .rf-hero-art img{width:100%;height:100%;object-fit:cover}[data-gp-theme="review-kilo"] .hero:before,[data-gp-theme="review-kilo"] .inside-hero:before,[data-gp-theme="review-kilo"] .start-hero:before{background:none!important}[data-gp-theme^="direction-"]{max-width:1200px;margin-inline:auto;min-width:0;position:relative;display:flow-root;--scene-scale:1}[data-gp-theme="direction-aperture"]{--site-paper:#ece5d5;--site-ink:#19534a;--site-accent:#b15b3b;--site-display:Vollkorn;--site-body:Familjen}[data-gp-theme="direction-bole-muller"]{--site-paper:#dfd3b7;--site-ink:#542b23;--site-accent:#ae5036;--site-display:Faustina;--site-body:Archivo}[data-gp-theme="direction-carrock"]{--site-paper:#16312d;--site-ink:#f4f1dd;--site-accent:#d7a65f;--site-display:Schibsted;--site-body:Schibsted}[data-gp-theme="direction-dioptre"]{--site-paper:#dfe8e8;--site-ink:#173943;--site-accent:#237388;--site-display:Hanken;--site-body:Hanken}[data-gp-theme="direction-fathom"]{--site-paper:#ebdfc5;--site-ink:#283a37;--site-accent:#987a4c;--site-display:Literata;--site-body:Literata}[data-gp-theme="direction-fathom-rule"]{--site-paper:#f4f0e4;--site-ink:#243c42;--site-accent:#bd674b;--site-display:PlexCondensed;--site-body:PlexCondensed}[data-gp-theme="direction-featheredge"]{--site-paper:#eeebe0;--site-ink:#344139;--site-accent:#75816f;--site-display:Petrona;--site-body:Petrona}[data-gp-theme="direction-linework"]{--site-paper:#e7e1d7;--site-ink:#151817;--site-accent:#b44836;--site-display:ArchivoBlack;--site-body:Manrope}[data-gp-theme="direction-lintel"]{--site-paper:#a0afa1;--site-ink:#213d35;--site-accent:#476859;--site-display:Vollkorn;--site-body:Vollkorn}[data-gp-theme="direction-loadstar"]{--site-paper:#dbe1df;--site-ink:#1c3441;--site-accent:#c75c31;--site-display:Archivo;--site-body:Archivo}[data-gp-theme="direction-marchmont"]{--site-paper:#e9e4d4;--site-ink:#203143;--site-accent:#a07039;--site-display:Spectral;--site-body:Spectral}[data-gp-theme="direction-newel"]{--site-paper:#ecece4;--site-ink:#2d4238;--site-accent:#a7b8a5;--site-display:Commissioner;--site-body:Commissioner}[data-gp-theme="direction-plinth"]{--site-paper:#f2ecdb;--site-ink:#243d41;--site-accent:#25686a;--site-display:RedHat;--site-body:RedHat}[data-gp-theme="direction-plumbline"]{--site-paper:#f6f5eb;--site-ink:#283a42;--site-accent:#c66e5a;--site-display:Lexend;--site-body:Lexend}[data-gp-theme="direction-quadrant"]{--site-paper:#8bc6c4;--site-ink:#163c42;--site-accent:#e6afa0;--site-display:DMSans;--site-body:DMSans}[data-gp-theme="direction-quoin"]{--site-paper:#ece6db;--site-ink:#242826;--site-accent:#9e694a;--site-display:Bodoni;--site-body:Bodoni}[data-gp-theme="direction-scalebar"]{--site-paper:#203b43;--site-ink:#e5f2ec;--site-accent:#e6a267;--site-display:Chakra;--site-body:Fira}[data-gp-theme="direction-setpoint"]{--site-paper:#142828;--site-ink:#cce2d5;--site-accent:#8edd98;--site-display:Chakra;--site-body:Fira}[data-gp-theme="direction-tenor"]{--site-paper:#f1ebda;--site-ink:#403d30;--site-accent:#816b49;--site-display:Cinzel;--site-body:Spectral}[data-gp-theme="direction-transom"]{--site-paper:#e7e1e8;--site-ink:#3d3445;--site-accent:#756d80;--site-display:Petrona;--site-body:Petrona}[data-gp-theme="direction-windchest"]{--site-paper:#213c36;--site-ink:#e9dfc7;--site-accent:#b9c999;--site-display:Vollkorn;--site-body:Vollkorn}[data-gp-theme="direction-wrenfield"]{--site-paper:#e8dcc6;--site-ink:#422e26;--site-accent:#996649;--site-display:Literata;--site-body:Literata}/* Descriptors verified against the local font binary tables. */
@font-face{font-family:Manrope;src:url(/gpt-themes/direction-collection/round-2/assets/manrope.woff2) format("woff2");font-style:normal;font-weight:200 800;font-display:swap}
@font-face{font-family:Familjen;src:url(/gpt-themes/direction-collection/round-2/assets/familjen.woff2) format("woff2");font-style:normal;font-weight:400 700;font-display:swap}
@font-face{font-family:Bricolage;src:url(/gpt-themes/direction-collection/round-2/assets/bricolage.woff2) format("woff2");font-style:normal;font-weight:200 800;font-display:swap}
@font-face{font-family:Vollkorn;src:url(/gpt-themes/direction-collection/round-2/assets/vollkorn.woff2) format("woff2");font-style:normal;font-weight:400 900;font-display:swap}
@font-face{font-family:Hanken;src:url(/gpt-themes/direction-collection/round-2/assets/hanken.woff2) format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:Bodoni;src:url(/gpt-themes/direction-collection/round-2/assets/bodoni.woff2) format("woff2");font-style:normal;font-weight:400 900;font-display:swap}
@font-face{font-family:Archivo;src:url(/gpt-themes/direction-collection/round-2/assets/archivo.woff2) format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:Chakra;src:url(/gpt-themes/direction-collection/round-2/assets/chakra-700.woff2) format("woff2");font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:Fira;src:url(/gpt-themes/direction-collection/round-2/assets/fira-400.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:PlexCondensed;src:url(/gpt-themes/direction-collection/round-2/assets/plex-condensed-400.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:PlexCondensed;src:url(/gpt-themes/direction-collection/round-2/assets/plex-condensed-700.woff2) format("woff2");font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:PlexMono;src:url(/gpt-themes/direction-collection/round-2/assets/plex-mono-500.woff2) format("woff2");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Literata;src:url(/gpt-themes/direction-collection/round-2/assets/literata.woff2) format("woff2");font-style:normal;font-weight:400 900;font-display:swap}
@font-face{font-family:DMSans;src:url(/gpt-themes/direction-collection/round-2/assets/dm-sans.woff2) format("woff2");font-style:normal;font-weight:100 1000;font-display:swap}
@font-face{font-family:Lexend;src:url(/gpt-themes/direction-collection/round-2/assets/lexend.woff2) format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:Faustina;src:url(/gpt-themes/direction-collection/round-2/assets/faustina.woff2) format("woff2");font-style:normal;font-weight:300 800;font-display:swap}
@font-face{font-family:Spectral;src:url(/gpt-themes/direction-collection/round-2/assets/spectral.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Petrona;src:url(/gpt-themes/direction-collection/round-2/assets/petrona.woff2) format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:RedHat;src:url(/gpt-themes/direction-collection/round-2/assets/redhat.woff2) format("woff2");font-style:normal;font-weight:300 700;font-display:swap}
@font-face{font-family:Commissioner;src:url(/gpt-themes/direction-collection/round-2/assets/commissioner.woff2) format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:Epilogue;src:url(/gpt-themes/direction-collection/round-2/assets/epilogue.woff2) format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:ArchivoBlack;src:url(/gpt-themes/direction-collection/round-2/assets/archivo-black.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Cinzel;src:url(/gpt-themes/direction-collection/round-2/assets/cinzel.woff2) format("woff2");font-style:normal;font-weight:400 900;font-display:swap}
@font-face{font-family:Schibsted;src:url(/gpt-themes/direction-collection/round-2/assets/schibsted.woff2) format("woff2");font-style:normal;font-weight:400 900;font-display:swap}

[data-gp-theme^="direction-"] *{box-sizing:border-box}[data-gp-theme^="direction-"]{scroll-behavior:smooth}[data-gp-theme^="direction-"]{margin:0}[data-gp-theme^="direction-"] a{color:inherit}[data-gp-theme^="direction-"] button,[data-gp-theme^="direction-"] a{-webkit-tap-highlight-color:transparent}[data-gp-theme^="direction-"] .board-page,[data-gp-theme^="direction-"] .preview-page{background:#e7e5df;color:#191c1c;font-family:Manrope,Arial,sans-serif}[data-gp-theme^="direction-"] .board-intro{max-width:1460px;margin:auto;padding:72px 38px 46px}[data-gp-theme^="direction-"] .board-kicker,[data-gp-theme^="direction-"] .board-count,[data-gp-theme^="direction-"] .board-footer{font:700 12px/1.5 PlexMono,monospace;letter-spacing:.08em;text-transform:uppercase}[data-gp-theme^="direction-"] .board-intro h1{font:700 clamp(42px,5.6vw,88px)/.99 Bricolage,sans-serif;letter-spacing:-.065em;margin:18px 0 22px}[data-gp-theme^="direction-"] .board-intro h1 em{font-family:Vollkorn,serif;font-weight:400}[data-gp-theme^="direction-"] .board-intro p{max-width:620px;font:400 17px/1.6 Manrope,sans-serif;margin:0 0 26px}[data-gp-theme^="direction-"] .board-count{border-top:1px solid #b9b8b1;padding-top:20px}[data-gp-theme^="direction-"] .direction-board{max-width:1460px;margin:auto;padding:0 38px 90px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}[data-gp-theme^="direction-"] .direction-card{min-width:0;background:#f8f7f3;border:1px solid #d2d0c9;box-shadow:0 12px 36px #1b21120c}[data-gp-theme^="direction-"] .direction-label{padding:22px 26px 18px;display:grid;grid-template-columns:75px 1fr;align-items:baseline;gap:3px 16px}[data-gp-theme^="direction-"] .direction-label>span{font:700 11px PlexMono,monospace;color:#8b3228}[data-gp-theme^="direction-"] .direction-label h2{margin:0;font:700 28px/1.1 Bricolage,sans-serif;letter-spacing:-.035em}[data-gp-theme^="direction-"] .direction-label p{grid-column:2;margin:0;font:500 13px/1.4 Manrope,sans-serif;color:#64655f}[data-gp-theme^="direction-"] .direction-window{position:relative;width:100%;aspect-ratio:12/7;overflow:hidden;background:#fff}[data-gp-theme^="direction-"] .direction-scale{width:1200px;height:700px;transform:scale(var(--scale,1));transform-origin:top left;pointer-events:none}[data-gp-theme^="direction-"] .direction-open{display:block;padding:15px 26px 17px;text-decoration:none;font:700 12px PlexMono,monospace;text-transform:uppercase;letter-spacing:.06em;border-top:1px solid #d8d6d0}[data-gp-theme^="direction-"] .direction-open:hover,[data-gp-theme^="direction-"] .direction-open:focus-visible{background:#202722;color:white}[data-gp-theme^="direction-"] .board-footer{border-top:1px solid #c4c1b9;padding:24px 38px;max-width:1384px;margin:auto;color:#555}[data-gp-theme^="direction-"] .preview-frame{width:min(1200px,100%);margin:auto;overflow-x:auto;background:white;box-shadow:0 20px 60px #1320192e}[data-gp-theme^="direction-"] .preview-frame #direction-preview{width:1200px;height:700px}
[data-gp-theme^="direction-"] .scene{position:relative;width:1200px;height:700px;overflow:hidden;isolation:isolate}[data-gp-theme^="direction-"] .scene h1,[data-gp-theme^="direction-"] .scene p{margin:0}[data-gp-theme^="direction-"] .scene img{width:100%;height:100%;object-fit:cover;display:block}[data-gp-theme^="direction-"] .scene strong{display:inline-block}[data-gp-theme^="direction-"] .scene small{display:block}[data-gp-theme^="direction-"] .scene em{font-weight:inherit}[data-gp-theme^="direction-"] .scene span,[data-gp-theme^="direction-"] .scene small,[data-gp-theme^="direction-"] .scene strong{font-style:normal}
/* 01 — aperture: eye-test view, editorial lens and vertical sign. */
[data-gp-theme^="direction-"] .aperture{background:#ece5d5;color:#192d2a;font-family:Familjen,sans-serif}[data-gp-theme^="direction-"] .ap-spine{position:absolute;inset:0 auto 0 0;width:92px;background:#19534a;color:#e6ebda;display:flex;flex-direction:column;align-items:center;padding:25px 8px;gap:75px}[data-gp-theme^="direction-"] .ap-spine b{font:700 44px/1 Vollkorn,serif}[data-gp-theme^="direction-"] .ap-spine span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:11px;letter-spacing:.15em}[data-gp-theme^="direction-"] .ap-spine i{margin-top:auto;font:11px PlexMono}[data-gp-theme^="direction-"] .ap-body{margin-left:92px;height:100%;position:relative}[data-gp-theme^="direction-"] .ap-top{height:70px;display:flex;justify-content:space-between;align-items:center;padding:0 34px;border-bottom:1px solid #9aa89f;font:11px PlexMono;letter-spacing:.06em}[data-gp-theme^="direction-"] .ap-copy{position:absolute;top:150px;left:55px;width:565px;z-index:2}[data-gp-theme^="direction-"] .ap-copy small{font:700 14px Vollkorn,serif;margin-bottom:18px}[data-gp-theme^="direction-"] .ap-copy h1{font:600 79px/.98 Vollkorn,serif;letter-spacing:-.06em}[data-gp-theme^="direction-"] .ap-copy h1 em{color:#b15b3b}[data-gp-theme^="direction-"] .ap-copy p{font:16px/1.5 Familjen;max-width:335px;margin:24px 0}[data-gp-theme^="direction-"] .ap-copy strong{padding:15px 20px;background:#19534a;color:white;font:700 12px PlexMono}[data-gp-theme^="direction-"] .ap-copy strong span{margin-left:45px}[data-gp-theme^="direction-"] .ap-lens{position:absolute;right:-79px;top:125px;width:530px;height:530px;border:15px solid #19534a;border-radius:50%;overflow:hidden;box-shadow:0 0 0 20px #ece5d5,0 0 0 21px #19534a}[data-gp-theme^="direction-"] .ap-lens img{filter:saturate(.78)}[data-gp-theme^="direction-"] .ap-focus{position:absolute;bottom:28px;left:58px;background:#ece5d5;padding:7px;font:10px PlexMono}[data-gp-theme^="direction-"] .ap-steps{position:absolute;bottom:23px;left:50px;display:flex;gap:45px;font:11px PlexMono}
/* 02 — bole & muller: pigment bench, physical samples. */
[data-gp-theme^="direction-"] .bole-muller{background:#dfd3b7;color:#39281e;font-family:Faustina,serif}[data-gp-theme^="direction-"] .bm-label{height:106px;background:#542b23;color:#f4e8cc;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;padding:0 52px;border-bottom:10px solid #c86537}[data-gp-theme^="direction-"] .bm-label b{font:700 28px/1 Faustina,serif}[data-gp-theme^="direction-"] .bm-label span{font:11px PlexMono;letter-spacing:.08em}[data-gp-theme^="direction-"] .bm-label span:last-child{text-align:right}[data-gp-theme^="direction-"] .bm-main{height:519px;display:grid;grid-template-columns:46% 54%}[data-gp-theme^="direction-"] .bm-copy{padding:66px 50px}[data-gp-theme^="direction-"] .bm-copy small{font:700 11px PlexMono;color:#9e4630}[data-gp-theme^="direction-"] .bm-copy h1{font:700 88px/.9 Faustina,serif;letter-spacing:-.065em;margin:30px 0 20px}[data-gp-theme^="direction-"] .bm-copy h1 em{color:#ae5036}[data-gp-theme^="direction-"] .bm-copy p{font:18px/1.5 Faustina;max-width:400px}[data-gp-theme^="direction-"] .bm-copy strong{margin-top:28px;border-bottom:2px solid #542b23;padding-bottom:7px;font:700 12px PlexMono}[data-gp-theme^="direction-"] .bm-table{position:relative;border-left:2px solid #a8906b;background:#b9a47e;padding:30px 35px;box-shadow:inset 0 12px 30px #67452738}[data-gp-theme^="direction-"] .bm-image{width:350px;height:335px;margin:0 auto;border:12px solid #dfd3b7;transform:rotate(-4deg);box-shadow:14px 18px 20px #3c261f42}[data-gp-theme^="direction-"] .bm-image img{filter:sepia(.16)}[data-gp-theme^="direction-"] .bm-swatches{display:flex;gap:8px;position:absolute;bottom:57px;left:65px}[data-gp-theme^="direction-"] .bm-swatches i{width:75px;height:75px;border-radius:50%;border:7px solid #dbcfb4;box-shadow:3px 4px 0 #755744}[data-gp-theme^="direction-"] .bm-swatches i:nth-child(1){background:#9c382c}[data-gp-theme^="direction-"] .bm-swatches i:nth-child(2){background:#cc9448}[data-gp-theme^="direction-"] .bm-swatches i:nth-child(3){background:#d2b58b}[data-gp-theme^="direction-"] .bm-swatches i:nth-child(4){background:#543e32}[data-gp-theme^="direction-"] .bm-table>span{position:absolute;bottom:19px;right:40px;font:10px PlexMono}[data-gp-theme^="direction-"] .bm-bottom{height:75px;border-top:2px solid #9d835e;display:flex;justify-content:space-around;align-items:center;font:11px PlexMono}
/* 03 — carrock: route along a landscape. */
[data-gp-theme^="direction-"] .carrock{background:#16312d;color:#f4f1dd;font-family:Schibsted,sans-serif}[data-gp-theme^="direction-"] .ca-route{position:absolute;width:150px;height:100%;padding:28px 23px;display:flex;flex-direction:column;gap:24px;background:#102a26;z-index:2}[data-gp-theme^="direction-"] .ca-route b{font:800 22px Schibsted}[data-gp-theme^="direction-"] .ca-route>span,[data-gp-theme^="direction-"] .ca-route small{font:10px PlexMono}[data-gp-theme^="direction-"] .ca-route i{border:1px solid #8ea498;border-radius:50%;width:46px;height:46px;text-align:center;padding-top:14px;font:13px PlexMono}[data-gp-theme^="direction-"] .ca-route small{margin-top:auto;writing-mode:vertical-rl;transform:rotate(180deg);height:130px}[data-gp-theme^="direction-"] .ca-landscape{position:absolute;left:150px;top:0;width:1050px;height:470px}[data-gp-theme^="direction-"] .ca-landscape img{filter:brightness(.7) saturate(.8)}[data-gp-theme^="direction-"] .ca-landscape::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#17372a44,transparent 68%),linear-gradient(0deg,#16312d,#16312d00 60%)}[data-gp-theme^="direction-"] .ca-landscape>span{position:absolute;right:32px;top:25px;z-index:1;font:11px PlexMono}[data-gp-theme^="direction-"] .ca-contour{position:absolute;left:12%;top:12%;height:310px;width:680px;border:2px dashed #e8e2be;transform:rotate(-12deg);border-radius:48% 52% 39% 61%;z-index:1;opacity:.75}[data-gp-theme^="direction-"] .ca-copy{position:absolute;left:210px;top:190px;z-index:2}[data-gp-theme^="direction-"] .ca-copy small{font:14px Vollkorn,serif;font-style:italic}[data-gp-theme^="direction-"] .ca-copy h1{font:800 67px/1 Schibsted,sans-serif;letter-spacing:-.065em;margin:14px 0}[data-gp-theme^="direction-"] .ca-copy h1 em{color:#d7a65f}[data-gp-theme^="direction-"] .ca-copy p{font:16px/1.5 Schibsted;max-width:420px}[data-gp-theme^="direction-"] .ca-copy strong{margin-top:18px;color:#d7a65f;font:700 12px PlexMono}[data-gp-theme^="direction-"] .ca-foot{position:absolute;bottom:0;left:150px;right:0;height:135px;display:flex;align-items:center;justify-content:space-around;border-top:1px solid #8aa394;font:12px PlexMono}
/* 04 — dioptre: optical instrument, calibrated blue. */
[data-gp-theme^="direction-"] .dioptre{background:#dfe8e8;color:#173943;font-family:Hanken,sans-serif}[data-gp-theme^="direction-"] .di-head{height:82px;border-bottom:1px solid #86a1aa;padding:0 42px;display:flex;align-items:center;justify-content:space-between;font:11px PlexMono}[data-gp-theme^="direction-"] .di-head>span:first-child{font:800 32px Hanken;letter-spacing:.08em}[data-gp-theme^="direction-"] .di-menu{border:1px solid;padding:12px}[data-gp-theme^="direction-"] .di-bench{height:618px;display:grid;grid-template-columns:51% 49%}[data-gp-theme^="direction-"] .di-dial{position:relative;border-right:1px solid #86a1aa;display:grid;place-items:center;background:repeating-radial-gradient(circle at 50% 50%,transparent 0 51px,#a2b5b8 52px 53px)}[data-gp-theme^="direction-"] .di-rings{width:400px;height:400px;border:20px solid #194758;border-radius:50%;overflow:hidden;box-shadow:0 0 0 10px #dfe8e8,0 0 0 12px #194758}[data-gp-theme^="direction-"] .di-rings img{filter:grayscale(.15)}[data-gp-theme^="direction-"] .di-dial>span{position:absolute;bottom:20px;left:36px;font:12px PlexMono}[data-gp-theme^="direction-"] .di-copy{padding:90px 55px}[data-gp-theme^="direction-"] .di-copy small{font:700 11px PlexMono;color:#237388}[data-gp-theme^="direction-"] .di-copy h1{font:800 72px/.96 Hanken;letter-spacing:-.07em;margin:31px 0 23px}[data-gp-theme^="direction-"] .di-copy p{font:18px/1.4 Hanken;max-width:350px}[data-gp-theme^="direction-"] .di-copy strong{margin-top:25px;padding:15px 17px;background:#173943;color:#fff;font:12px PlexMono}[data-gp-theme^="direction-"] .di-measures{display:flex;gap:28px;border-top:1px solid #86a1aa;padding-top:23px;margin-top:50px;font:10px PlexMono}
/* 05 — fathom: fold-out chart and edition index. */
[data-gp-theme^="direction-"] .fathom{background:#ebdfc5;color:#283a37;font-family:Literata,serif}[data-gp-theme^="direction-"] .fa-index{position:absolute;left:0;top:0;bottom:0;width:150px;background:#273c38;color:#e6d6b6;padding:28px;display:flex;flex-direction:column;gap:38px}[data-gp-theme^="direction-"] .fa-index b{font:700 29px Literata;writing-mode:vertical-rl;transform:rotate(180deg);margin:auto}[data-gp-theme^="direction-"] .fa-index span,[data-gp-theme^="direction-"] .fa-index i{font:11px PlexMono}[data-gp-theme^="direction-"] .fa-sheet{position:absolute;left:150px;top:0;right:0;bottom:54px;display:grid;grid-template-columns:56% 44%}[data-gp-theme^="direction-"] .fa-map{position:relative;margin:32px 0 25px 32px;border:14px solid #f4ead6;box-shadow:9px 9px 0 #b9aa8b;overflow:hidden}[data-gp-theme^="direction-"] .fa-map img{filter:sepia(.4) contrast(.92)}[data-gp-theme^="direction-"] .fa-map span{position:absolute;bottom:18px;left:18px;background:#f4ead6;padding:10px;font:10px PlexMono}[data-gp-theme^="direction-"] .fa-story{padding:110px 47px 35px}[data-gp-theme^="direction-"] .fa-story small{font:10px PlexMono}[data-gp-theme^="direction-"] .fa-story h1{font:600 62px/1.08 Literata;letter-spacing:-.06em;margin:24px 0}[data-gp-theme^="direction-"] .fa-story h1 em{color:#987a4c}[data-gp-theme^="direction-"] .fa-story p{font:16px/1.55 Literata}[data-gp-theme^="direction-"] .fa-story strong{margin-top:28px;font:11px PlexMono;border-bottom:1px solid;padding-bottom:8px}[data-gp-theme^="direction-"] .fa-bottom{position:absolute;bottom:0;left:150px;right:0;height:54px;border-top:1px solid #ad9e83;padding:16px 38px;font:11px PlexMono;letter-spacing:.15em}[data-gp-theme^="direction-"] .fa-bottom span{color:#a8824a;padding:0 18px}
/* 06 — fathom rule: measured commission docket. */
[data-gp-theme^="direction-"] .fathom-rule{background:#f4f0e4;color:#243c42;font-family:PlexCondensed,sans-serif;background-image:linear-gradient(#b6c7c744 1px,transparent 1px),linear-gradient(90deg,#b6c7c744 1px,transparent 1px);background-size:34px 34px}[data-gp-theme^="direction-"] .fr-rule{height:31px;display:flex;justify-content:space-around;border-bottom:2px solid #2e5260;background:#d9e3df;font:10px PlexMono;padding:8px}[data-gp-theme^="direction-"] .fr-head{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 54px;border-bottom:2px solid #2e5260;background:#f4f0e4}[data-gp-theme^="direction-"] .fr-head b{font:700 38px PlexCondensed}[data-gp-theme^="direction-"] .fr-head span{font:11px PlexMono}[data-gp-theme^="direction-"] .fr-paper{position:relative;margin:52px 54px 0;min-height:465px;border:2px solid #2e5260;background:#f7f3e9;display:grid;grid-template-columns:170px 1fr}[data-gp-theme^="direction-"] .fr-number{border-right:2px solid;padding:30px;font:700 100px/1 PlexCondensed}[data-gp-theme^="direction-"] .fr-number small{font:12px PlexMono}[data-gp-theme^="direction-"] .fr-copy{padding:45px 55px}[data-gp-theme^="direction-"] .fr-copy small{font:11px PlexMono}[data-gp-theme^="direction-"] .fr-copy h1{font:700 70px/.95 PlexCondensed;letter-spacing:-.035em;margin:28px 0 22px}[data-gp-theme^="direction-"] .fr-copy p{font:17px/1.5 PlexCondensed}[data-gp-theme^="direction-"] .fr-copy strong{font:700 12px PlexMono;margin-top:25px;border:1px solid;padding:13px}[data-gp-theme^="direction-"] .fr-stamp{position:absolute;right:24px;bottom:26px;transform:rotate(-12deg);border:3px double #bd674b;color:#bd674b;padding:18px;text-align:center;font:700 14px PlexMono}[data-gp-theme^="direction-"] .fr-footer{display:flex;justify-content:space-between;margin:15px 55px;font:11px PlexMono}
/* 07 — featheredge: split room and material board. */
[data-gp-theme^="direction-"] .featheredge{background:#eeebe0;color:#344139;font-family:Petrona,serif}[data-gp-theme^="direction-"] .fe-room{position:absolute;inset:0 auto 0 0;width:49%;overflow:hidden}[data-gp-theme^="direction-"] .fe-room img{filter:saturate(.7)}[data-gp-theme^="direction-"] .fe-room>span{position:absolute;top:31px;left:38px;color:#fff;font:700 23px Petrona;text-shadow:0 1px 8px #0008}[data-gp-theme^="direction-"] .fe-board{position:absolute;left:49%;right:0;top:0;bottom:0;padding:28px 43px}[data-gp-theme^="direction-"] .fe-nav{display:flex;justify-content:space-between;font:9px PlexMono;border-bottom:1px solid #919a8c;padding-bottom:24px}[data-gp-theme^="direction-"] .fe-copy{margin-top:88px}[data-gp-theme^="direction-"] .fe-copy small{font:11px PlexMono;color:#75816f}[data-gp-theme^="direction-"] .fe-copy h1{font:600 61px/1.05 Petrona;letter-spacing:-.045em;margin:18px 0}[data-gp-theme^="direction-"] .fe-copy p{font:17px/1.5 Petrona;max-width:440px}[data-gp-theme^="direction-"] .fe-copy strong{margin-top:26px;border-bottom:1px solid;font:700 12px PlexMono;padding-bottom:10px}[data-gp-theme^="direction-"] .fe-chips{display:flex;align-items:end;gap:8px;position:absolute;bottom:34px}[data-gp-theme^="direction-"] .fe-chips i{width:87px;height:78px;background:#d3bbaa}[data-gp-theme^="direction-"] .fe-chips i:nth-child(2){background:#769080}[data-gp-theme^="direction-"] .fe-chips i:nth-child(3){background:#536557}[data-gp-theme^="direction-"] .fe-chips span{font:10px PlexMono;margin-left:25px}
/* 08 — linework: studio poster, ink and sharp framing. */
[data-gp-theme^="direction-"] .linework{background:#e7e1d7;color:#151817;font-family:ArchivoBlack,sans-serif}[data-gp-theme^="direction-"] .li-left{position:absolute;inset:0 auto 0 0;width:39%;background:#101412;color:#f0e9d9;padding:34px}[data-gp-theme^="direction-"] .li-left>b{font:400 93px/.75 ArchivoBlack;letter-spacing:-.09em}[data-gp-theme^="direction-"] .li-left>b span{font:25px ArchivoBlack;vertical-align:top}[data-gp-theme^="direction-"] .li-mark{font:310px/.8 Arial,sans-serif;color:#d85f45;transform:rotate(-16deg);margin:62px 0 0 -25px}[data-gp-theme^="direction-"] .li-left small{position:absolute;bottom:26px;left:34px;font:11px PlexMono}[data-gp-theme^="direction-"] .li-right{position:absolute;inset:0 0 0 39%;display:grid;grid-template-rows:50% 50%}[data-gp-theme^="direction-"] .li-photo{margin:25px 30px 0;overflow:hidden}[data-gp-theme^="direction-"] .li-photo img{filter:grayscale(1) contrast(1.3)}[data-gp-theme^="direction-"] .li-copy{padding:25px 36px}[data-gp-theme^="direction-"] .li-copy small{font:11px PlexMono;color:#b44836}[data-gp-theme^="direction-"] .li-copy h1{font:400 51px/.96 ArchivoBlack;letter-spacing:-.055em;margin:12px 0}[data-gp-theme^="direction-"] .li-copy h1 em{color:#b44836}[data-gp-theme^="direction-"] .li-copy p{font:15px/1.4 Manrope;max-width:520px}[data-gp-theme^="direction-"] .li-copy strong{font:11px PlexMono;margin-top:13px;border-bottom:2px solid;padding-bottom:5px}
/* 09 — lintel: a single calm doorway. */
[data-gp-theme^="direction-"] .lintel{background:#a0afa1;color:#213d35;font-family:Vollkorn,serif}[data-gp-theme^="direction-"] .ln-top{height:75px;display:flex;justify-content:space-between;align-items:center;padding:0 42px;font:11px PlexMono;border-bottom:1px solid #60796e}[data-gp-theme^="direction-"] .ln-top b{font:700 31px Vollkorn}[data-gp-theme^="direction-"] .ln-ground{position:relative;height:625px}[data-gp-theme^="direction-"] .ln-door{position:absolute;left:208px;top:42px;width:610px;height:675px;border-radius:305px 305px 0 0;background:#dfddc9;border:18px solid #476859;box-shadow:0 0 0 18px #c0cbb9;display:grid;place-items:start center}[data-gp-theme^="direction-"] .ln-inner{text-align:center;padding-top:165px;width:470px}[data-gp-theme^="direction-"] .ln-inner small{font:11px PlexMono}[data-gp-theme^="direction-"] .ln-inner h1{font:600 63px/1.08 Vollkorn;letter-spacing:-.05em;margin:26px 0 16px}[data-gp-theme^="direction-"] .ln-inner p{font:17px/1.4 Vollkorn}[data-gp-theme^="direction-"] .ln-inner strong{font:11px PlexMono;margin-top:26px;padding:13px 15px;background:#476859;color:white}[data-gp-theme^="direction-"] .ln-choices{position:absolute;right:22px;top:160px;width:270px;display:flex;flex-direction:column;gap:40px;font:11px PlexMono}[data-gp-theme^="direction-"] .ln-choices span{border-bottom:1px solid #60796e;padding-bottom:14px}
/* 10 — loadstar: dispatch surface, route and handover. */
[data-gp-theme^="direction-"] .loadstar{background:#dbe1df;color:#1c3441;font-family:Archivo,sans-serif}[data-gp-theme^="direction-"] .lo-head{height:84px;background:#213746;color:#f5f1e6;padding:0 40px;display:flex;align-items:center;justify-content:space-between;font:11px PlexMono}[data-gp-theme^="direction-"] .lo-head b{font:900 31px Archivo;letter-spacing:.04em}[data-gp-theme^="direction-"] .lo-grid{height:616px;display:grid;grid-template-columns:48% 52%;grid-template-rows:1fr 81px}[data-gp-theme^="direction-"] .lo-message{padding:80px 55px 25px}[data-gp-theme^="direction-"] .lo-message small{font:11px PlexMono;color:#c15c35}[data-gp-theme^="direction-"] .lo-message h1{font:900 65px/.94 Archivo;letter-spacing:-.055em;margin:25px 0}[data-gp-theme^="direction-"] .lo-message h1 em{color:#be5e35}[data-gp-theme^="direction-"] .lo-message p{font:17px/1.45 Archivo;max-width:400px}[data-gp-theme^="direction-"] .lo-message strong{background:#c75c31;color:white;font:700 12px PlexMono;padding:16px;margin-top:26px}[data-gp-theme^="direction-"] .lo-map{position:relative;margin:30px 33px 0 0;overflow:hidden;border:7px solid #213746}[data-gp-theme^="direction-"] .lo-map img{filter:saturate(.55) brightness(.74)}[data-gp-theme^="direction-"] .lo-map::after{content:'';position:absolute;left:18%;top:24%;width:67%;height:55%;border:5px dashed #ffb568;border-radius:55% 40% 49% 38%;transform:rotate(-15deg)}[data-gp-theme^="direction-"] .lo-map b{position:absolute;bottom:20px;left:22px;background:#f2e9d4;padding:9px;font:11px PlexMono}[data-gp-theme^="direction-"] .lo-stages{grid-column:1/3;border-top:2px solid #213746;display:flex;justify-content:space-around;align-items:center;font:12px PlexMono}
/* 11 — marchmont: management ledger. */
[data-gp-theme^="direction-"] .marchmont{background:#e9e4d4;color:#203143;font-family:Spectral,serif}[data-gp-theme^="direction-"] .ma-head{height:100px;background:#203143;color:#f7f1e2;display:flex;align-items:center;justify-content:space-between;padding:0 43px;font:11px PlexMono}[data-gp-theme^="direction-"] .ma-head b{font:400 34px Spectral;letter-spacing:.1em}[data-gp-theme^="direction-"] .ma-ledger{margin:42px 46px 0;border-top:3px double #203143;border-bottom:3px double #203143;height:515px;display:grid;grid-template-columns:54% 46%}[data-gp-theme^="direction-"] .ma-title{padding:48px 55px;border-right:1px solid #76808a}[data-gp-theme^="direction-"] .ma-title small{font:11px PlexMono}[data-gp-theme^="direction-"] .ma-title h1{font:400 76px/1.01 Spectral;letter-spacing:-.055em;margin:29px 0}[data-gp-theme^="direction-"] .ma-title h1 em{color:#ac7435}[data-gp-theme^="direction-"] .ma-title p{font:17px/1.4 Spectral;max-width:450px}[data-gp-theme^="direction-"] .ma-rows{display:flex;flex-direction:column}[data-gp-theme^="direction-"] .ma-rows>div{height:115px;border-bottom:1px solid #76808a;display:flex;align-items:center;padding:0 25px;gap:23px;font:20px Spectral}[data-gp-theme^="direction-"] .ma-rows>div span{font:12px PlexMono;color:#a07039}[data-gp-theme^="direction-"] .ma-rows>div b{margin-left:auto;font:12px PlexMono}[data-gp-theme^="direction-"] .ma-rows strong{margin:auto 25px;font:12px PlexMono;border-bottom:2px solid;padding-bottom:7px}
/* 12 — newel: floor-by-floor building directory. */
[data-gp-theme^="direction-"] .newel{background:#ecece4;color:#2d4238;font-family:Commissioner,sans-serif}[data-gp-theme^="direction-"] .ne-side{position:absolute;inset:0 auto 0 0;width:190px;background:#a7b8a5;padding:28px;display:flex;flex-direction:column;gap:30px}[data-gp-theme^="direction-"] .ne-side b{font:800 37px Commissioner}[data-gp-theme^="direction-"] .ne-side span,[data-gp-theme^="direction-"] .ne-side small{font:11px PlexMono}[data-gp-theme^="direction-"] .ne-side i{font:180px/1 Commissioner;align-self:center;margin:auto 0}[data-gp-theme^="direction-"] .ne-building{position:absolute;left:190px;top:0;bottom:0;width:445px}[data-gp-theme^="direction-"] .ne-image{height:100%;filter:grayscale(.28)}[data-gp-theme^="direction-"] .ne-floors{position:absolute;inset:50px 0 40px;display:flex;flex-direction:column;justify-content:space-around;background:#142c223b}[data-gp-theme^="direction-"] .ne-floors span{background:#eae9daf2;width:180px;margin-left:auto;padding:11px;font:11px PlexMono;border-top:2px solid #2d4238}[data-gp-theme^="direction-"] .ne-copy{margin-left:635px;padding:143px 42px}[data-gp-theme^="direction-"] .ne-copy small{font:11px PlexMono}[data-gp-theme^="direction-"] .ne-copy h1{font:700 63px/.98 Commissioner;letter-spacing:-.06em;margin:24px 0}[data-gp-theme^="direction-"] .ne-copy p{font:17px/1.5 Commissioner}[data-gp-theme^="direction-"] .ne-copy strong{font:11px PlexMono;border-bottom:2px solid;margin-top:26px;padding-bottom:8px}
/* 13 — plinth: stacked care blocks. */
[data-gp-theme^="direction-"] .plinth{background:#f2ecdb;color:#243d41;font-family:RedHat,sans-serif}[data-gp-theme^="direction-"] .pl-top{height:90px;border-bottom:1px solid #a3aa9e;padding:0 42px;display:flex;align-items:center;justify-content:space-between;font:11px PlexMono}[data-gp-theme^="direction-"] .pl-top b{font:700 41px RedHat;letter-spacing:-.055em}[data-gp-theme^="direction-"] .pl-copy{position:absolute;left:65px;top:185px;width:510px}[data-gp-theme^="direction-"] .pl-copy small{font:11px PlexMono;color:#4d898b}[data-gp-theme^="direction-"] .pl-copy h1{font:700 66px/1.04 RedHat;letter-spacing:-.06em;margin:24px 0}[data-gp-theme^="direction-"] .pl-copy p{font:18px/1.45 RedHat;max-width:385px}[data-gp-theme^="direction-"] .pl-copy strong{background:#25686a;color:white;font:12px PlexMono;margin-top:25px;padding:14px}[data-gp-theme^="direction-"] .pl-slabs{position:absolute;right:55px;top:145px;width:500px;height:425px}[data-gp-theme^="direction-"] .pl-slabs div{position:absolute;height:110px;width:290px;background:#8dc6be;display:flex;justify-content:space-between;padding:22px;box-shadow:8px 8px 0 #316368;color:#193e41;font:13px PlexMono}[data-gp-theme^="direction-"] .pl-slabs div:nth-child(1){left:85px;top:0}[data-gp-theme^="direction-"] .pl-slabs div:nth-child(2){left:170px;top:126px;background:#60a9a8}[data-gp-theme^="direction-"] .pl-slabs div:nth-child(3){left:0;top:252px;background:#367d80;color:white}[data-gp-theme^="direction-"] .pl-slabs div b{font:700 23px RedHat}[data-gp-theme^="direction-"] .pl-slabs span{position:absolute;left:0;bottom:-20px;width:100%;border-top:8px solid #316368;padding-top:12px;font:11px PlexMono}
/* 14 — plumbline: one vertical decision line. */
[data-gp-theme^="direction-"] .plumbline{background:#f6f5eb;color:#283a42;font-family:Lexend,sans-serif}[data-gp-theme^="direction-"] .pu-top{height:74px;padding:0 43px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #bec8c1;font:11px PlexMono}[data-gp-theme^="direction-"] .pu-top b{font:600 28px Lexend}[data-gp-theme^="direction-"] .pu-line{position:absolute;left:630px;top:75px;bottom:0;border-left:5px solid #c66e5a}[data-gp-theme^="direction-"] .pu-point{position:absolute;left:-22px;width:40px;height:40px;border:4px solid #c66e5a;background:#f6f5eb;border-radius:50%;display:grid;place-items:center;font:12px PlexMono}[data-gp-theme^="direction-"] .pu-point.p1{top:115px}[data-gp-theme^="direction-"] .pu-point.p2{top:310px}[data-gp-theme^="direction-"] .pu-point.p3{top:510px}[data-gp-theme^="direction-"] .pu-copy{position:absolute;top:180px;left:55px;width:505px}[data-gp-theme^="direction-"] .pu-copy small{font:11px PlexMono;color:#ad5d4d}[data-gp-theme^="direction-"] .pu-copy h1{font:500 71px/1 Lexend;letter-spacing:-.075em;margin:25px 0}[data-gp-theme^="direction-"] .pu-copy p{font:17px/1.5 Lexend;max-width:400px}[data-gp-theme^="direction-"] .pu-copy strong{font:12px PlexMono;margin-top:24px;border-bottom:2px solid;padding-bottom:8px}[data-gp-theme^="direction-"] .pu-notes{position:absolute;top:180px;left:695px;right:55px;display:flex;flex-direction:column;gap:160px;font:13px PlexMono}[data-gp-theme^="direction-"] .pu-notes span{padding-bottom:10px;border-bottom:1px solid #bec8c1}
/* 15 — quadrant: four part care map. */
[data-gp-theme^="direction-"] .quadrant{background:#8bc6c4;color:#163c42;font-family:DMSans,sans-serif}[data-gp-theme^="direction-"] .qu-top{height:82px;padding:0 45px;display:flex;justify-content:space-between;align-items:center;font:11px PlexMono;border-bottom:1px solid #216974}[data-gp-theme^="direction-"] .qu-top b{font:900 33px DMSans}[data-gp-theme^="direction-"] .qu-copy{position:absolute;top:196px;left:60px;width:550px}[data-gp-theme^="direction-"] .qu-copy small{font:700 11px PlexMono}[data-gp-theme^="direction-"] .qu-copy h1{font:900 67px/1.02 DMSans;letter-spacing:-.07em;margin:27px 0}[data-gp-theme^="direction-"] .qu-copy p{font:18px/1.4 DMSans;max-width:430px}[data-gp-theme^="direction-"] .qu-copy strong{background:#163c42;color:white;padding:15px;font:11px PlexMono;margin-top:28px}[data-gp-theme^="direction-"] .qu-wheel{position:absolute;right:30px;top:121px;width:510px;height:510px;border-radius:50%;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;transform:rotate(-9deg);border:9px solid #163c42}[data-gp-theme^="direction-"] .qu-wheel div{display:grid;place-items:center;background:#bde2d5;border:2px solid #163c42;font:700 17px PlexMono}[data-gp-theme^="direction-"] .qu-wheel div:nth-child(2){background:#f0d39c}[data-gp-theme^="direction-"] .qu-wheel div:nth-child(3){background:#77b4ad}[data-gp-theme^="direction-"] .qu-wheel div:nth-child(4){background:#e6afa0}[data-gp-theme^="direction-"] .qu-wheel span{position:absolute;left:42%;top:42%;width:16%;height:16%;border-radius:50%;background:#163c42;color:white;display:grid;place-items:center;font:11px PlexMono}
/* 16 — quoin: property broadsheet. */
[data-gp-theme^="direction-"] .quoin{background:#ece6db;color:#242826;font-family:Bodoni,serif}[data-gp-theme^="direction-"] .qo-mast{height:105px;border-bottom:4px double #242826;margin:0 38px;display:flex;align-items:center;justify-content:space-between;font:11px PlexMono}[data-gp-theme^="direction-"] .qo-mast b{font:700 53px Bodoni;letter-spacing:.11em}[data-gp-theme^="direction-"] .qo-headline{position:absolute;left:47px;top:146px;z-index:2;width:750px}[data-gp-theme^="direction-"] .qo-headline small{font:11px PlexMono}[data-gp-theme^="direction-"] .qo-headline h1{font:700 89px/.88 Bodoni;letter-spacing:-.055em;margin-top:30px}[data-gp-theme^="direction-"] .qo-headline h1 em{color:#9e694a}[data-gp-theme^="direction-"] .qo-headline>span{display:block;margin-top:30px;font:12px PlexMono}[data-gp-theme^="direction-"] .qo-photo{position:absolute;right:45px;top:155px;width:520px;height:450px;overflow:hidden;border:10px solid #ece6db;box-shadow:-14px 15px 0 #b39d81}[data-gp-theme^="direction-"] .qo-photo img{filter:saturate(.6)}[data-gp-theme^="direction-"] .qo-photo>div{position:absolute;bottom:0;right:0;background:#ece6db;padding:17px 22px;font:11px PlexMono}[data-gp-theme^="direction-"] .qo-photo strong{margin-top:7px;border-top:1px solid;padding-top:7px}
/* 17 — scalebar: architectural drawing sheet. */
[data-gp-theme^="direction-"] .scalebar{background:#203b43;color:#e5f2ec;font-family:Chakra,sans-serif;background-image:linear-gradient(#8ab5b422 1px,transparent 1px),linear-gradient(90deg,#8ab5b422 1px,transparent 1px);background-size:27px 27px}[data-gp-theme^="direction-"] .sc-border{height:60px;border-bottom:2px solid #95bbb9;display:flex;justify-content:space-between;padding:20px 34px;font:11px PlexMono}[data-gp-theme^="direction-"] .sc-drawing{position:relative;height:572px;border:2px solid #95bbb9;margin:18px 28px}[data-gp-theme^="direction-"] .sc-lines{position:absolute;inset:35px;transform:rotate(-8deg);border:2px solid #8ab5b499}[data-gp-theme^="direction-"] .sc-lines i{position:absolute;display:block;border:1px solid #8ab5b499}[data-gp-theme^="direction-"] .sc-lines i:nth-child(1){left:12%;top:10%;width:400px;height:250px}[data-gp-theme^="direction-"] .sc-lines i:nth-child(2){left:22%;top:20%;width:200px;height:120px}[data-gp-theme^="direction-"] .sc-lines i:nth-child(3){left:60%;top:45%;width:280px;height:150px}[data-gp-theme^="direction-"] .sc-photo{position:absolute;left:44px;bottom:42px;width:365px;height:288px;border:5px solid #e5f2ec;filter:grayscale(1)}[data-gp-theme^="direction-"] .sc-copy{position:absolute;right:60px;top:80px;width:515px}[data-gp-theme^="direction-"] .sc-copy small{font:11px PlexMono;color:#e6a267}[data-gp-theme^="direction-"] .sc-copy h1{font:700 59px/.95 Chakra;letter-spacing:-.04em;margin:27px 0}[data-gp-theme^="direction-"] .sc-copy p{font:16px/1.5 Fira;max-width:340px}[data-gp-theme^="direction-"] .sc-copy strong{font:11px PlexMono;color:#e6a267;margin-top:22px}[data-gp-theme^="direction-"] .sc-scale{position:absolute;bottom:9px;left:40px;width:390px;border-top:7px alternating #fff;display:flex;justify-content:space-between;font:11px PlexMono}
/* 18 — setpoint: plant control console. */
[data-gp-theme^="direction-"] .setpoint{background:#142828;color:#cce2d5;font-family:Chakra,sans-serif}[data-gp-theme^="direction-"] .se-head{height:83px;border-bottom:2px solid #4c8785;padding:0 43px;display:flex;align-items:center;justify-content:space-between;font:11px PlexMono}[data-gp-theme^="direction-"] .se-head b{font:700 34px Chakra;color:#b4e2cd}[data-gp-theme^="direction-"] .se-head span:nth-child(2){color:#8edd98}[data-gp-theme^="direction-"] .se-console{position:absolute;inset:112px 35px 35px;border:2px solid #4c8785;background:repeating-linear-gradient(0deg,#1c3736 0 1px,#16302f 1px 6px)}[data-gp-theme^="direction-"] .se-title{position:absolute;left:37px;top:53px;width:610px}[data-gp-theme^="direction-"] .se-title small{font:11px PlexMono;color:#8edd98}[data-gp-theme^="direction-"] .se-title h1{font:700 67px/.94 Chakra;letter-spacing:-.055em;margin:28px 0}[data-gp-theme^="direction-"] .se-title p{font:16px/1.5 Fira;max-width:460px}[data-gp-theme^="direction-"] .se-title strong{font:11px PlexMono;background:#a6dfbd;color:#15302b;padding:13px;margin-top:25px}[data-gp-theme^="direction-"] .se-gauge{position:absolute;right:48px;top:40px;width:330px;height:330px;border:27px solid #376d67;border-top-color:#a4dda7;border-right-color:#a4dda7;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}[data-gp-theme^="direction-"] .se-gauge span{font:700 128px/.8 Chakra}[data-gp-theme^="direction-"] .se-gauge small{font:11px PlexMono;margin-top:18px}[data-gp-theme^="direction-"] .se-readouts{position:absolute;bottom:0;width:100%;height:84px;border-top:2px solid #4c8785;display:flex}[data-gp-theme^="direction-"] .se-readouts div{width:33.33%;border-right:1px solid #4c8785;padding:22px;font:11px PlexMono}[data-gp-theme^="direction-"] .se-readouts b{font:700 17px Chakra;margin-left:20px}
/* 19 — tenor: committee meeting paper with marked margin. */
[data-gp-theme^="direction-"] .tenor{background:#f1ebda;color:#403d30;font-family:Cinzel,serif}[data-gp-theme^="direction-"] .te-margin{position:absolute;inset:0 auto 0 0;width:120px;background:#5b5140;color:#f0e7d4;display:flex;flex-direction:column;align-items:center;padding:30px 15px}[data-gp-theme^="direction-"] .te-margin b{font:43px Cinzel}[data-gp-theme^="direction-"] .te-margin span{font:10px PlexMono;writing-mode:vertical-rl;transform:rotate(180deg);margin:auto}[data-gp-theme^="direction-"] .te-margin i{font:20px/2 Cinzel}[data-gp-theme^="direction-"] .te-paper{margin-left:120px;padding:0 48px;background:repeating-linear-gradient(#f1ebda 0 49px,#c8bd9f 50px 51px)}[data-gp-theme^="direction-"] .te-paper header{height:115px;display:flex;align-items:center;justify-content:space-between;border-bottom:4px double #403d30;background:#f1ebda}[data-gp-theme^="direction-"] .te-paper header b{font:700 49px Cinzel}[data-gp-theme^="direction-"] .te-paper header span{font:11px PlexMono}[data-gp-theme^="direction-"] .te-story{margin:74px 30px 0}[data-gp-theme^="direction-"] .te-story small{font:11px PlexMono;color:#816b49}[data-gp-theme^="direction-"] .te-story h1{font:500 64px/1.13 Cinzel;letter-spacing:-.065em;margin:27px 0}[data-gp-theme^="direction-"] .te-story p{font:19px/1.4 Spectral;max-width:600px}[data-gp-theme^="direction-"] .te-agenda{margin:55px 30px 0;display:flex;justify-content:space-between;gap:20px;font:10px PlexMono}[data-gp-theme^="direction-"] .te-agenda span{border-top:2px solid;padding-top:10px}
/* 20 — transom: private letter placed across a window. */
[data-gp-theme^="direction-"] .transom{background:#e7e1e8;color:#3d3445;font-family:Petrona,serif}[data-gp-theme^="direction-"] .tr-window{position:absolute;left:0;top:0;width:58%;height:100%;overflow:hidden}[data-gp-theme^="direction-"] .tr-window img{filter:grayscale(.22) brightness(.85)}[data-gp-theme^="direction-"] .tr-glass{position:absolute;inset:0;border:25px solid #756d80;box-shadow:inset 0 0 0 9px #e7e1e8}[data-gp-theme^="direction-"] .tr-glass::after{content:'';position:absolute;left:50%;top:0;bottom:0;border-left:15px solid #756d80}[data-gp-theme^="direction-"] .tr-letter{position:absolute;right:35px;top:52px;width:560px;height:600px;background:#f7f2ed;box-shadow:12px 18px 36px #23192c40;padding:35px 55px;display:flex;flex-direction:column;align-items:start}[data-gp-theme^="direction-"] .tr-letter>span{font:700 30px Petrona;letter-spacing:.08em;border-bottom:1px solid #a499a1;width:100%;padding-bottom:19px}[data-gp-theme^="direction-"] .tr-letter small{font:11px PlexMono;margin-top:55px}[data-gp-theme^="direction-"] .tr-letter h1{font:500 60px/1.07 Petrona;letter-spacing:-.05em;margin:18px 0}[data-gp-theme^="direction-"] .tr-letter p{font:19px/1.5 Petrona}[data-gp-theme^="direction-"] .tr-letter strong{font:11px PlexMono;border-bottom:2px solid;margin-top:20px;padding-bottom:7px}[data-gp-theme^="direction-"] .tr-letter i{font:10px PlexMono;margin-top:auto}
/* 21 — windchest: pipe elevation and instrument index. */
[data-gp-theme^="direction-"] .windchest{background:#213c36;color:#e9dfc7;font-family:Vollkorn,serif}[data-gp-theme^="direction-"] .wi-rail{height:74px;border-bottom:1px solid #7b9a8a;display:flex;justify-content:space-between;align-items:center;padding:0 39px;font:11px PlexMono}[data-gp-theme^="direction-"] .wi-rail b{font:700 30px Vollkorn}[data-gp-theme^="direction-"] .wi-pipes{position:absolute;left:40px;top:113px;width:500px;height:520px;display:flex;align-items:end;gap:6px}[data-gp-theme^="direction-"] .wi-pipes i{flex:1;border:4px solid #a5b99c;border-radius:30px 30px 0 0;background:linear-gradient(90deg,#758f81,#cad0b3 47%,#6e8776)}[data-gp-theme^="direction-"] .wi-pipes i:nth-child(1){height:41%}[data-gp-theme^="direction-"] .wi-pipes i:nth-child(2){height:62%}[data-gp-theme^="direction-"] .wi-pipes i:nth-child(3){height:92%}[data-gp-theme^="direction-"] .wi-pipes i:nth-child(4){height:76%}[data-gp-theme^="direction-"] .wi-pipes i:nth-child(5){height:52%}[data-gp-theme^="direction-"] .wi-pipes i:nth-child(6){height:32%}[data-gp-theme^="direction-"] .wi-pipes span{position:absolute;bottom:-27px;left:0;font:11px PlexMono}[data-gp-theme^="direction-"] .wi-copy{position:absolute;left:615px;top:181px;width:510px}[data-gp-theme^="direction-"] .wi-copy small{font:11px PlexMono;color:#b9c999}[data-gp-theme^="direction-"] .wi-copy h1{font:500 65px/1.05 Vollkorn;letter-spacing:-.05em;margin:27px 0}[data-gp-theme^="direction-"] .wi-copy p{font:19px/1.4 Vollkorn;max-width:430px}[data-gp-theme^="direction-"] .wi-copy strong{font:11px PlexMono;margin-top:24px;border-bottom:2px solid #b9c999;padding-bottom:9px}
/* 22 — wrenfield: archival record and sound rings. */
[data-gp-theme^="direction-"] .wrenfield{background:#e8dcc6;color:#422e26;font-family:Literata,serif}[data-gp-theme^="direction-"] .wr-edge{position:absolute;top:0;left:0;right:0;height:86px;background:#432f29;color:#ecddc1;display:flex;align-items:center;justify-content:space-between;padding:0 42px;font:11px PlexMono}[data-gp-theme^="direction-"] .wr-edge b{font:700 31px Literata}[data-gp-theme^="direction-"] .wr-record{position:absolute;left:55px;top:185px;width:515px}[data-gp-theme^="direction-"] .wr-record small{font:11px PlexMono;color:#996649}[data-gp-theme^="direction-"] .wr-record h1{font:700 70px/1.05 Literata;letter-spacing:-.055em;margin:20px 0}[data-gp-theme^="direction-"] .wr-record p{font:17px/1.5 Literata;max-width:390px}[data-gp-theme^="direction-"] .wr-record strong{font:11px PlexMono;margin-top:27px;border-bottom:2px solid;padding-bottom:8px}[data-gp-theme^="direction-"] .wr-record>span{display:block;font:10px PlexMono;margin-top:72px}[data-gp-theme^="direction-"] .wr-ring{position:absolute;right:58px;top:115px;width:510px;height:510px;border:1px solid #a38766;border-radius:50%;display:grid;place-items:center;box-shadow:0 0 0 32px #e8dcc6,0 0 0 33px #a38766,0 0 0 75px #e8dcc6,0 0 0 76px #a38766}[data-gp-theme^="direction-"] .wr-bell{width:310px;height:380px;display:grid;place-items:center}[data-gp-theme^="direction-"] .wr-bell img{object-fit:contain;filter:sepia(.6)}
[data-gp-theme^="direction-"] .fa-story{padding-left:30px;padding-right:30px}[data-gp-theme^="direction-"] .fa-story h1{font-size:53px}[data-gp-theme^="direction-"] .sc-scale{border-top:7px solid #bdd2cb}
[data-gp-theme^="direction-"] .preview-frame{height:calc(700px * var(--scale,1));overflow:hidden}[data-gp-theme^="direction-"] .preview-frame #direction-preview{transform:scale(var(--scale,1));transform-origin:top left}
@media(max-width:1050px){[data-gp-theme^="direction-"] .direction-board{grid-template-columns:1fr}}@media(max-width:600px){[data-gp-theme^="direction-"] .board-intro{padding:45px 20px 34px}[data-gp-theme^="direction-"] .direction-board{padding:0 15px 60px;gap:19px}[data-gp-theme^="direction-"] .direction-label{padding:15px;grid-template-columns:54px 1fr}[data-gp-theme^="direction-"] .direction-label h2{font-size:22px}[data-gp-theme^="direction-"] .direction-open{padding:13px 15px}[data-gp-theme^="direction-"] .board-footer{padding:22px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme^="direction-"]{scroll-behavior:auto}}

[data-gp-theme^="direction-"] *{box-sizing:border-box}[data-gp-theme^="direction-"]{scroll-behavior:smooth}[data-gp-theme^="direction-"]{margin:0;background:#d9d9d3;color:#17201d;font-family:Manrope,Arial,sans-serif}[data-gp-theme^="direction-"] button,[data-gp-theme^="direction-"] select{font:inherit}[data-gp-theme^="direction-"] a{color:inherit}[data-gp-theme^="direction-"] a:focus-visible,[data-gp-theme^="direction-"] button:focus-visible,[data-gp-theme^="direction-"] select:focus-visible{outline:3px solid #e37b4b;outline-offset:4px}
[data-gp-theme^="direction-"] .site-shell{max-width:1200px;margin:0 auto;background:var(--site-paper);color:var(--site-ink);font-family:var(--site-body),Arial,sans-serif;box-shadow:0 20px 65px #1a272322}[data-gp-theme^="direction-"] .site-shell h1,[data-gp-theme^="direction-"] .site-shell h2,[data-gp-theme^="direction-"] .site-shell h3{font-family:var(--site-display),serif}[data-gp-theme^="direction-"] .site-shell a{text-decoration:none}[data-gp-theme^="direction-"] .site-shell a:hover{text-decoration:underline}[data-gp-theme^="direction-"] .full-home-hero{position:relative}[data-gp-theme^="direction-"] .full-scene{width:100%;height:calc(700px * var(--scene-scale,1));overflow:hidden}[data-gp-theme^="direction-"] .full-scene>.scene{transform:scale(var(--scene-scale,1));transform-origin:top left}[data-gp-theme^="direction-"] .mobile-hero{display:none}[data-gp-theme^="direction-"] .scene-cta-link{display:inline-block;text-decoration:none!important}[data-gp-theme^="direction-"] .scene-cta-link:focus-visible{outline:4px solid #ff7950;outline-offset:5px}[data-gp-theme^="direction-"] .menu-button{position:absolute;z-index:8;right:17px;top:93px;border:2px solid currentColor;background:var(--site-paper);color:var(--site-ink);min-height:43px;padding:8px 13px;display:flex;align-items:center;gap:14px;cursor:pointer;font:700 12px PlexMono,monospace;text-transform:uppercase;box-shadow:3px 3px 0 var(--site-accent)}[data-gp-theme^="direction-"] .menu-button span{font-size:18px}[data-gp-theme^="direction-"] .menu-button:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--site-accent)}
[data-gp-theme^="direction-"] .site-section{padding:80px clamp(25px,5vw,72px)}[data-gp-theme^="direction-"] .section-intro,[data-gp-theme^="direction-"] .process-heading{max-width:700px}[data-gp-theme^="direction-"] .site-section small,[data-gp-theme^="direction-"] .inner-page small,[data-gp-theme^="direction-"] .site-footer small{font:700 11px PlexMono,monospace;text-transform:uppercase;letter-spacing:.09em}[data-gp-theme^="direction-"] .site-section h2{font:700 clamp(36px,4.5vw,65px)/1.03 var(--site-display),serif;letter-spacing:-.055em;margin:17px 0}[data-gp-theme^="direction-"] .site-section p{font-size:17px;line-height:1.55;max-width:600px}[data-gp-theme^="direction-"] .section-primary{background:var(--site-paper)}[data-gp-theme^="direction-"] .section-process{background:var(--site-ink);color:var(--site-paper)}[data-gp-theme^="direction-"] .section-index{background:var(--site-paper)}[data-gp-theme^="direction-"] .topic-list{margin-top:44px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}[data-gp-theme^="direction-"] .topic-card{min-width:0;min-height:260px;display:flex;flex-direction:column;align-items:start;padding:26px;background:color-mix(in srgb,var(--site-paper) 86%,var(--site-ink));border:1px solid color-mix(in srgb,var(--site-ink) 35%,transparent);transition:transform .2s ease,box-shadow .2s ease}[data-gp-theme^="direction-"] .topic-card:hover{transform:translateY(-3px);box-shadow:6px 6px 0 var(--site-accent);text-decoration:none!important}[data-gp-theme^="direction-"] .topic-card span,[data-gp-theme^="direction-"] .proof-bit span{font:12px PlexMono,monospace;color:var(--site-accent)}[data-gp-theme^="direction-"] .topic-card h3{font-size:28px;line-height:1.1;margin:35px 0 12px}[data-gp-theme^="direction-"] .topic-card p{font-size:14px;line-height:1.5;margin:0 0 22px}[data-gp-theme^="direction-"] .topic-card b{margin-top:auto;font:700 11px PlexMono,monospace;text-transform:uppercase}[data-gp-theme^="direction-"] .proof-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:50px}[data-gp-theme^="direction-"] .proof-bit{min-height:190px;border-top:2px solid currentColor;padding:20px 6px}[data-gp-theme^="direction-"] .proof-bit b{display:block;font:700 25px var(--site-display),serif;margin:25px 0 8px}[data-gp-theme^="direction-"] .proof-bit p{font-size:14px;margin:0;opacity:.85}[data-gp-theme^="direction-"] .section-index{display:grid;grid-template-columns:36% 1fr;gap:35px}[data-gp-theme^="direction-"] .section-index nav{display:grid;align-content:start}[data-gp-theme^="direction-"] .section-index nav a{display:grid;grid-template-columns:40px 1fr 25px;padding:19px 0;border-bottom:1px solid currentColor;align-items:center;gap:10px}[data-gp-theme^="direction-"] .section-index nav span,[data-gp-theme^="direction-"] .section-index nav i{font:12px PlexMono,monospace}[data-gp-theme^="direction-"] .section-index nav b{font:700 19px var(--site-display),serif}
[data-gp-theme^="direction-"] .inner-hero{position:relative;min-height:560px;display:grid;grid-template-columns:54% 46%;grid-template-rows:70px 1fr;background:var(--site-paper);overflow:hidden}[data-gp-theme^="direction-"] .inner-index{grid-column:1/3;border-bottom:1px solid currentColor;display:flex;justify-content:space-between;align-items:center;padding:0 55px;font:11px PlexMono,monospace;text-transform:uppercase}[data-gp-theme^="direction-"] .inner-title{padding:95px 55px;z-index:1}[data-gp-theme^="direction-"] .inner-title h1{font:700 clamp(56px,6vw,88px)/1 var(--site-display),serif;letter-spacing:-.06em;margin:20px 0}[data-gp-theme^="direction-"] .inner-title p{font-size:20px;line-height:1.5;max-width:460px}[data-gp-theme^="direction-"] .inner-image{height:490px;overflow:hidden}[data-gp-theme^="direction-"] .inner-image img{width:100%;height:100%;object-fit:cover}[data-gp-theme^="direction-"] .inner-hero .menu-button{top:83px}[data-gp-theme^="direction-"] .inner-body{position:relative;padding:95px 55px;display:grid;grid-template-columns:26% 1fr;min-height:550px;background:var(--site-ink);color:var(--site-paper)}[data-gp-theme^="direction-"] .inner-motif{border:1px solid currentColor;margin-right:40px;min-height:280px;opacity:.65}[data-gp-theme^="direction-"] .inner-content h2{font:600 clamp(33px,3.5vw,52px)/1.1 var(--site-display),serif;margin:22px 0 50px;max-width:740px}[data-gp-theme^="direction-"] .inner-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}[data-gp-theme^="direction-"] .inner-items article{border-top:1px solid currentColor;padding-top:16px}[data-gp-theme^="direction-"] .inner-items span{font:11px PlexMono,monospace;color:var(--site-accent)}[data-gp-theme^="direction-"] .inner-items h3{font-size:24px;line-height:1.15;margin:20px 0 12px}[data-gp-theme^="direction-"] .inner-items p{font-size:14px;line-height:1.5;opacity:.8}[data-gp-theme^="direction-"] .next-page{padding:35px 55px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid currentColor}[data-gp-theme^="direction-"] .next-page span{font:11px PlexMono,monospace;text-transform:uppercase}[data-gp-theme^="direction-"] .next-page a{font:700 28px var(--site-display),serif}
[data-gp-theme^="direction-"] .site-footer{padding:75px 55px 20px;background:var(--site-ink);color:var(--site-paper);display:grid;grid-template-columns:1fr 1fr;gap:70px}[data-gp-theme^="direction-"] .footer-main h2{font:700 clamp(55px,7vw,100px)/.9 var(--site-display),serif;letter-spacing:-.075em;margin:25px 0}[data-gp-theme^="direction-"] .footer-main p{font-size:16px;line-height:1.5;max-width:380px}[data-gp-theme^="direction-"] .footer-main>a{display:inline-block;border:1px solid currentColor;padding:15px;margin-top:20px;font:12px PlexMono,monospace}[data-gp-theme^="direction-"] .site-footer nav{display:grid;align-content:start}[data-gp-theme^="direction-"] .site-footer nav a{border-bottom:1px solid color-mix(in srgb,var(--site-paper) 50%,transparent);padding:12px 0;display:grid;grid-template-columns:30px 1fr 20px;gap:12px;font:14px var(--site-body),Arial,sans-serif}[data-gp-theme^="direction-"] .site-footer nav span,[data-gp-theme^="direction-"] .site-footer nav i{font:10px PlexMono,monospace}[data-gp-theme^="direction-"] .footer-end{grid-column:1/3;padding-top:28px;border-top:1px solid currentColor;display:flex;justify-content:space-between;gap:20px;font:10px PlexMono,monospace;text-transform:uppercase}
[data-gp-theme^="direction-"] .site-menu{position:fixed;max-width:min(1040px,calc(100vw - 28px));width:100%;max-height:min(92vh,1000px);padding:0;margin:auto;border:2px solid var(--site-ink);background:var(--site-paper);color:var(--site-ink);box-shadow:24px 25px 0 #111a17aa}[data-gp-theme^="direction-"] .site-menu::backdrop{background:#101c18b9}[data-gp-theme^="direction-"] .menu-heading{padding:26px 34px;background:var(--site-ink);color:var(--site-paper);display:grid;grid-template-columns:1fr auto;gap:7px}[data-gp-theme^="direction-"] .menu-heading small{grid-column:1;font:11px PlexMono,monospace;text-transform:uppercase}[data-gp-theme^="direction-"] .menu-heading h2{grid-column:1;font:700 48px/1 var(--site-display),serif;letter-spacing:-.05em;margin:0}[data-gp-theme^="direction-"] .menu-heading button{grid-column:2;grid-row:1/3;background:transparent;border:1px solid currentColor;color:inherit;align-self:center;padding:12px;cursor:pointer}[data-gp-theme^="direction-"] .site-menu nav{display:grid;grid-template-columns:repeat(2,1fr);padding:20px 34px;gap:0 30px}[data-gp-theme^="direction-"] .site-menu nav a{display:grid;grid-template-columns:36px 1fr 20px;padding:15px 0;border-bottom:1px solid #89918a;align-items:center;gap:12px}[data-gp-theme^="direction-"] .site-menu nav span,[data-gp-theme^="direction-"] .site-menu nav i{font:11px PlexMono,monospace}[data-gp-theme^="direction-"] .site-menu nav b{font:700 20px var(--site-display),serif}[data-gp-theme^="direction-"] .site-menu nav a[aria-current]{color:var(--site-accent)}[data-gp-theme^="direction-"] .site-menu>p{font:15px/1.5 var(--site-body),Arial,sans-serif;padding:0 34px 22px;max-width:650px}
[data-gp-theme^="direction-"] [data-layout=wide] .site-shell{max-width:1400px}[data-gp-theme^="direction-"] [data-layout=wide] .site-section{padding-left:9%;padding-right:9%}[data-gp-theme^="direction-"] [data-layout=boxed] .site-shell{max-width:1040px;margin:30px auto;border:18px solid #f2f2ec}[data-gp-theme^="direction-"] [data-layout=centered] .site-section{text-align:center}[data-gp-theme^="direction-"] [data-layout=centered] .section-intro,[data-gp-theme^="direction-"] [data-layout=centered] .process-heading{margin:auto}[data-gp-theme^="direction-"] [data-layout=centered] .section-index{display:block}[data-gp-theme^="direction-"] [data-layout=centered] .section-index nav{max-width:650px;margin:auto}[data-gp-theme^="direction-"] [data-layout=minimal] .site-shell{box-shadow:none}[data-gp-theme^="direction-"] [data-layout=minimal] .topic-card{background:transparent;border:0;border-top:2px solid}[data-gp-theme^="direction-"] [data-layout=minimal] .section-process{background:var(--site-paper);color:var(--site-ink);border-top:1px solid}[data-gp-theme^="direction-"] [data-layout=edge] .site-shell{max-width:none}[data-gp-theme^="direction-"] [data-layout=edge] .full-scene{max-width:1200px;margin:auto}[data-gp-theme^="direction-"] [data-layout=edge] .site-section{padding-left:max(5vw,calc((100vw - 1080px)/2));padding-right:max(5vw,calc((100vw - 1080px)/2))}
/* Individual supporting-page forms; motifs continue below the approved first screen. */
[data-gp-theme="direction-aperture"] .topic-list{grid-template-columns:1.3fr .9fr .8fr}[data-gp-theme^="direction-"] .site-shell[data-unused]{color:inherit}[data-gp-theme="direction-aperture"] .topic-card{border-radius:50% 50% 4px 4px;min-height:320px;padding-top:70px}[data-gp-theme="direction-aperture"] .inner-motif{border-radius:50%;box-shadow:0 0 0 18px #ffffff22,0 0 0 19px currentColor}[data-gp-theme="direction-aperture"] .site-footer{border-left:80px solid #196052}
[data-gp-theme="direction-bole-muller"] .section-process{background:#b9a47e;color:#3b2920}[data-gp-theme="direction-bole-muller"] .proof-list{grid-template-columns:repeat(3,1fr);gap:0}[data-gp-theme="direction-bole-muller"] .proof-bit{border:8px solid #dfd3b7;border-right:0;padding:24px;box-shadow:8px 8px 0 #75574444}[data-gp-theme="direction-bole-muller"] .topic-card{transform:rotate(-1.5deg)}[data-gp-theme="direction-bole-muller"] .topic-card:nth-child(2){transform:rotate(2deg)}[data-gp-theme="direction-bole-muller"] .inner-motif{border-radius:50%;background:#ad6b43}[data-gp-theme="direction-bole-muller"] .site-footer{border-top:20px solid #c86537}
[data-gp-theme="direction-carrock"] .site-section{padding-left:140px}[data-gp-theme="direction-carrock"] .section-process{background:#1b3c34}[data-gp-theme="direction-carrock"] .proof-list{display:block;border-left:2px dashed #d7a65f;margin-left:30px}[data-gp-theme="direction-carrock"] .proof-bit{position:relative;border:0;padding:12px 0 45px 50px;min-height:0}[data-gp-theme="direction-carrock"] .proof-bit:before{content:'';position:absolute;left:-12px;top:15px;width:22px;height:22px;border-radius:50%;background:#d7a65f}[data-gp-theme="direction-carrock"] .inner-motif{border-radius:47% 53% 68% 32%;transform:rotate(-16deg)}[data-gp-theme="direction-carrock"] .site-footer{border-left:120px solid #d7a65f}
[data-gp-theme="direction-dioptre"] .topic-list{grid-template-columns:repeat(3,1fr)}[data-gp-theme="direction-dioptre"] .topic-card{border-radius:50%;aspect-ratio:1;padding:45px 28px;text-align:center;align-items:center;min-height:0}[data-gp-theme="direction-dioptre"] .topic-card h3{margin:20px 0 10px}[data-gp-theme="direction-dioptre"] .proof-bit{text-align:center;border:2px solid;border-radius:50%;padding:30px;aspect-ratio:1}[data-gp-theme="direction-dioptre"] .inner-motif{border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 18px,currentColor 19px 20px)}[data-gp-theme="direction-dioptre"] .site-footer{border-top:1px solid #86a1aa}
[data-gp-theme="direction-fathom"] .section-index{grid-template-columns:27% 1fr}[data-gp-theme="direction-fathom"] .section-index>div{writing-mode:vertical-rl;transform:rotate(180deg);max-height:400px}[data-gp-theme="direction-fathom"] .topic-list{gap:0}[data-gp-theme="direction-fathom"] .topic-card{border:8px solid #f4ead6;box-shadow:8px 8px 0 #b9aa8b}[data-gp-theme="direction-fathom"] .inner-motif{transform:rotate(-7deg);background:linear-gradient(30deg,#9f866f,#d9caaf)}[data-gp-theme="direction-fathom"] .site-footer{border-left:140px solid #987a4c}
[data-gp-theme="direction-fathom-rule"] .site-section{background-image:linear-gradient(#b6c7c733 1px,transparent 1px),linear-gradient(90deg,#b6c7c733 1px,transparent 1px);background-size:32px 32px}[data-gp-theme="direction-fathom-rule"] .section-process{background-color:#243c42}[data-gp-theme="direction-fathom-rule"] .topic-card,[data-gp-theme^="direction-"] .fathom-rule .topic-card{border:2px solid;border-radius:0;box-shadow:5px 5px 0 #2e5260}[data-gp-theme="direction-fathom-rule"] .proof-list{gap:0}[data-gp-theme="direction-fathom-rule"] .proof-bit{border:2px solid;padding:23px;min-height:225px}[data-gp-theme="direction-fathom-rule"] .site-footer{border-top:12px double #bd674b}
[data-gp-theme="direction-featheredge"] .topic-list{grid-template-columns:1.6fr .8fr .8fr}[data-gp-theme="direction-featheredge"] .topic-card:first-child{min-height:340px;background:linear-gradient(90deg,#d2bbaa 0 20px,#eeebe0 20px)}[data-gp-theme="direction-featheredge"] .proof-bit{border-top:28px solid #d2bbaa}[data-gp-theme="direction-featheredge"] .proof-bit:nth-child(2){border-color:#769080}[data-gp-theme="direction-featheredge"] .proof-bit:nth-child(3){border-color:#536557}[data-gp-theme="direction-featheredge"] .inner-motif{background:linear-gradient(90deg,#d2bbaa 33%,#769080 33% 66%,#536557 66%)}[data-gp-theme="direction-featheredge"] .site-footer{border-right:95px solid #769080}
[data-gp-theme="direction-linework"] .section-index{background:#121514;color:#e7e1d7}[data-gp-theme="direction-linework"] .topic-card{background:#171a18;color:#e7e1d7;text-transform:uppercase;border:0}[data-gp-theme="direction-linework"] .topic-card:nth-child(2){background:#d35e45;color:#121514}[data-gp-theme="direction-linework"] .proof-bit{border-top:8px solid #d35e45}[data-gp-theme="direction-linework"] .inner-motif{background:#d35e45;clip-path:polygon(45% 0,55% 0,60% 40%,100% 20%,100% 30%,66% 50%,100% 75%,100% 85%,60% 60%,55% 100%,45% 100%,40% 60%,0 85%,0 75%,34% 50%,0 30%,0 20%,40% 40%)}[data-gp-theme="direction-linework"] .site-footer{border-top:30px solid #d35e45;text-transform:uppercase}
[data-gp-theme="direction-lintel"] .section-primary{text-align:center}[data-gp-theme="direction-lintel"] .section-intro{margin:auto}[data-gp-theme="direction-lintel"] .topic-list{gap:25px}[data-gp-theme="direction-lintel"] .topic-card{border-radius:190px 190px 0 0;padding-top:70px;background:#dfddc9;min-height:330px}[data-gp-theme="direction-lintel"] .inner-hero{border-radius:300px 300px 0 0;margin:30px 70px 0}[data-gp-theme="direction-lintel"] .inner-motif{border-radius:50% 50% 0 0}[data-gp-theme="direction-lintel"] .site-footer{border-radius:240px 240px 0 0;padding-top:140px}
[data-gp-theme="direction-loadstar"] .section-process{background:#243a46}[data-gp-theme="direction-loadstar"] .proof-list{gap:0;border:3px solid #ee9b5d}[data-gp-theme="direction-loadstar"] .proof-bit{padding:22px;border:0;border-right:1px solid #ee9b5d}[data-gp-theme="direction-loadstar"] .topic-card{border-left:9px solid #c75c31}[data-gp-theme="direction-loadstar"] .inner-motif{background:repeating-linear-gradient(45deg,transparent 0 18px,#e29d5922 19px 21px)}[data-gp-theme="direction-loadstar"] .site-footer{border-top:13px dashed #c75c31}
[data-gp-theme="direction-marchmont"] .topic-list{display:block;border-top:3px double;border-bottom:3px double}[data-gp-theme="direction-marchmont"] .topic-card{min-height:0;display:grid;grid-template-columns:60px 1fr 1.5fr 100px;align-items:center;gap:22px;border:0;border-bottom:1px solid;background:transparent;padding:20px 4px}[data-gp-theme="direction-marchmont"] .topic-card h3,[data-gp-theme="direction-marchmont"] .topic-card p{margin:0}[data-gp-theme="direction-marchmont"] .proof-bit{border-top:3px double}[data-gp-theme="direction-marchmont"] .inner-motif{background:repeating-linear-gradient(#a9a797 0 1px,transparent 1px 38px)}[data-gp-theme="direction-marchmont"] .site-footer{border-top:5px double #c8a56d}
[data-gp-theme="direction-newel"] .section-index{grid-template-columns:22% 1fr}[data-gp-theme="direction-newel"] .topic-list{display:flex;flex-direction:column;gap:0}[data-gp-theme="direction-newel"] .topic-card{min-height:0;display:grid;grid-template-columns:60px 1fr 1.4fr 70px;gap:25px;align-items:center;border:0;border-bottom:5px solid #a7b8a5;background:transparent}[data-gp-theme="direction-newel"] .topic-card h3,[data-gp-theme="direction-newel"] .topic-card p{margin:0}[data-gp-theme="direction-newel"] .inner-motif{background:repeating-linear-gradient(0deg,#a7b8a5 0 38px,transparent 39px 76px)}[data-gp-theme="direction-newel"] .site-footer{border-left:100px solid #a7b8a5}
[data-gp-theme="direction-plinth"] .topic-card{border:0;background:#8dc6be;box-shadow:8px 8px 0 #316368}[data-gp-theme="direction-plinth"] .topic-card:nth-child(2){background:#60a9a8;margin-top:35px}[data-gp-theme="direction-plinth"] .topic-card:nth-child(3){background:#367d80;color:white;margin-top:70px}[data-gp-theme="direction-plinth"] .proof-bit{background:#367d80;border:0;padding:30px}[data-gp-theme="direction-plinth"] .inner-motif{background:linear-gradient(30deg,#8dc6be 0 33%,#60a9a8 33% 66%,#367d80 66%)}[data-gp-theme="direction-plinth"] .site-footer{border-bottom:18px solid #367d80}
[data-gp-theme="direction-plumbline"] .site-section{padding-left:100px}[data-gp-theme="direction-plumbline"] .topic-list{display:block;border-left:5px solid #c66e5a;margin-left:20px}[data-gp-theme="direction-plumbline"] .topic-card{min-height:0;position:relative;border:0;border-bottom:1px solid;background:transparent;padding:20px 35px}[data-gp-theme="direction-plumbline"] .topic-card:before{content:'';position:absolute;left:-15px;top:28px;width:25px;height:25px;background:var(--site-paper);border:4px solid #c66e5a;border-radius:50%}[data-gp-theme="direction-plumbline"] .topic-card h3{margin:5px 0}[data-gp-theme="direction-plumbline"] .inner-motif{border:0;border-left:5px solid #c66e5a;margin-left:50%}[data-gp-theme="direction-plumbline"] .site-footer{border-left:5px solid #c66e5a}
[data-gp-theme="direction-quadrant"] .topic-list{display:grid;grid-template-columns:1fr 1fr;gap:0;transform:rotate(-5deg);max-width:780px;margin:70px auto}[data-gp-theme="direction-quadrant"] .topic-card{border:3px solid #163c42;background:#bde2d5;min-height:220px}[data-gp-theme="direction-quadrant"] .topic-card:nth-child(2){background:#f0d39c}[data-gp-theme="direction-quadrant"] .topic-card:nth-child(3){background:#e6afa0;grid-column:1/3;min-height:150px}[data-gp-theme="direction-quadrant"] .inner-motif{border-radius:50%;background:conic-gradient(#bde2d5 0 90deg,#f0d39c 90deg 180deg,#77b4ad 180deg 270deg,#e6afa0 270deg)}[data-gp-theme="direction-quadrant"] .site-footer{border-top:35px solid #f0d39c}
[data-gp-theme="direction-quoin"] .section-index{border-top:8px double #242826}[data-gp-theme="direction-quoin"] .topic-list{grid-template-columns:1.5fr 1fr 1fr}[data-gp-theme="direction-quoin"] .topic-card{background:transparent;border:0;border-top:4px double;padding-left:0}[data-gp-theme="direction-quoin"] .topic-card h3{font-size:36px}[data-gp-theme="direction-quoin"] .inner-motif{transform:rotate(-5deg);background:#b39d81;box-shadow:13px 13px 0 #775d49}[data-gp-theme="direction-quoin"] .site-footer{border-top:12px double #b39d81}
[data-gp-theme="direction-scalebar"] .site-section{background-image:linear-gradient(#8ab5b422 1px,transparent 1px),linear-gradient(90deg,#8ab5b422 1px,transparent 1px);background-size:25px 25px}[data-gp-theme="direction-scalebar"] .topic-card{background:#203b43;color:#e5f2ec;border:2px solid #8ab5b4}[data-gp-theme="direction-scalebar"] .topic-card:before{content:'1 : 100';font:10px PlexMono}[data-gp-theme="direction-scalebar"] .proof-bit{border:2px solid #8ab5b4;padding:24px}[data-gp-theme="direction-scalebar"] .inner-motif{transform:rotate(-8deg);border:3px solid #8ab5b4}[data-gp-theme="direction-scalebar"] .site-footer{border:15px solid #8ab5b4}
[data-gp-theme="direction-setpoint"] .site-section{background-image:repeating-linear-gradient(0deg,#4c878511 0 1px,transparent 1px 6px)}[data-gp-theme="direction-setpoint"] .topic-card{background:#183531;color:#cce2d5;border:2px solid #4c8785}[data-gp-theme="direction-setpoint"] .topic-card span{color:#8edd98}[data-gp-theme="direction-setpoint"] .proof-bit{border:2px solid #4c8785;background:#183531;padding:22px}[data-gp-theme="direction-setpoint"] .inner-motif{border-radius:50%;border:22px solid #8edd98}[data-gp-theme="direction-setpoint"] .site-footer{border-top:10px solid #8edd98}
[data-gp-theme="direction-tenor"] .site-section{border-left:80px solid #5b5140}[data-gp-theme="direction-tenor"] .section-index nav a{border-top:3px double #5b5140;padding:27px 0}[data-gp-theme="direction-tenor"] .topic-card{background:#f1ebda;border:0;border-top:4px double #5b5140}[data-gp-theme="direction-tenor"] .proof-bit{border-top:4px double #f1ebda}[data-gp-theme="direction-tenor"] .inner-motif{background:repeating-linear-gradient(#c8bd9f 0 1px,transparent 1px 48px)}[data-gp-theme="direction-tenor"] .site-footer{border-left:80px solid #5b5140}
[data-gp-theme="direction-transom"] .section-primary{background:#e7e1e8}[data-gp-theme="direction-transom"] .topic-list{grid-template-columns:1fr 1fr 1fr;gap:25px}[data-gp-theme="direction-transom"] .topic-card{background:#f7f2ed;border:0;box-shadow:8px 12px 25px #23192c22;transform:rotate(-2deg)}[data-gp-theme="direction-transom"] .topic-card:nth-child(2){transform:rotate(1deg);margin-top:32px}[data-gp-theme="direction-transom"] .topic-card:nth-child(3){transform:rotate(-1deg);margin-top:64px}[data-gp-theme="direction-transom"] .inner-motif{background:#f7f2ed;box-shadow:12px 18px 25px #0003}[data-gp-theme="direction-transom"] .site-footer{border-top:28px solid #756d80}
[data-gp-theme="direction-windchest"] .topic-list{align-items:end}[data-gp-theme="direction-windchest"] .topic-card{background:#b7c5aa;color:#213c36;border-radius:45px 45px 0 0;min-height:330px}[data-gp-theme="direction-windchest"] .topic-card:nth-child(2){min-height:390px}[data-gp-theme="direction-windchest"] .topic-card:nth-child(3){min-height:290px}[data-gp-theme="direction-windchest"] .proof-bit{border-left:9px solid #b7c5aa;border-top:0;padding-left:24px}[data-gp-theme="direction-windchest"] .inner-motif{border-radius:70px 70px 0 0;background:linear-gradient(90deg,#758f81,#cad0b3,#6e8776)}[data-gp-theme="direction-windchest"] .site-footer{border-top:35px solid #b7c5aa}
[data-gp-theme="direction-wrenfield"] .section-index nav a{border-bottom:2px solid #9a7855}[data-gp-theme="direction-wrenfield"] .topic-card{background:transparent;border:2px solid #9a7855;border-radius:50%;min-height:320px;text-align:center;align-items:center;padding-top:62px}[data-gp-theme="direction-wrenfield"] .topic-card h3{margin:18px 0}[data-gp-theme="direction-wrenfield"] .proof-bit{border:2px solid #9a7855;border-radius:50%;padding:30px;text-align:center;min-height:280px}[data-gp-theme="direction-wrenfield"] .inner-motif{border-radius:50%;box-shadow:0 0 0 22px #e8dcc622,0 0 0 24px currentColor}[data-gp-theme="direction-wrenfield"] .site-footer{border-top:20px double #9a7855}
@media(max-width:800px){[data-gp-theme^="direction-"] .full-scene{display:none}[data-gp-theme^="direction-"] .mobile-hero{display:block;position:relative;min-height:660px;overflow:hidden;background:var(--site-paper);color:var(--site-ink)}[data-gp-theme^="direction-"] .mobile-mark{position:relative;z-index:3;padding:20px 24px;font:700 24px var(--site-display),serif;border-bottom:1px solid currentColor}[data-gp-theme^="direction-"] .mobile-object{position:absolute;inset:90px 0 auto;height:280px;overflow:hidden}[data-gp-theme^="direction-"] .mobile-object img{width:100%;height:100%;object-fit:cover}[data-gp-theme^="direction-"] .mobile-copy{position:relative;z-index:2;padding:315px 26px 50px}[data-gp-theme^="direction-"] .mobile-copy small{font:700 11px PlexMono,monospace;text-transform:uppercase}[data-gp-theme^="direction-"] .mobile-copy h1{font:700 clamp(45px,10vw,72px)/.98 var(--site-display),serif;letter-spacing:-.06em;margin:20px 0}[data-gp-theme^="direction-"] .mobile-copy p{font-size:17px;line-height:1.5}[data-gp-theme^="direction-"] .mobile-copy a{display:inline-block;margin-top:21px;padding:14px;background:var(--site-ink);color:var(--site-paper);font:700 12px PlexMono,monospace}[data-gp-theme^="direction-"] .full-home-hero>.menu-button{top:15px;right:14px}[data-gp-theme^="direction-"] .site-section{padding:55px 26px!important;border-left:0!important;border-right:0!important}[data-gp-theme^="direction-"] .topic-list,[data-gp-theme^="direction-"] .proof-list{display:grid!important;grid-template-columns:1fr!important;gap:13px!important;transform:none!important;margin:30px 0!important}[data-gp-theme^="direction-"] .topic-card,[data-gp-theme^="direction-"] .proof-bit{min-height:0!important;aspect-ratio:auto!important;border-radius:0!important;transform:none!important;margin:0!important;padding:22px!important}[data-gp-theme^="direction-"] .topic-card h3{margin:15px 0 10px}[data-gp-theme^="direction-"] .proof-bit b{margin:15px 0 7px}[data-gp-theme^="direction-"] .section-index{display:block}[data-gp-theme^="direction-"] .section-index nav{margin-top:25px}[data-gp-theme^="direction-"] .inner-hero{display:block;min-height:0}[data-gp-theme^="direction-"] .inner-index{height:60px;padding:0 25px}[data-gp-theme^="direction-"] .inner-title{padding:50px 25px}[data-gp-theme^="direction-"] .inner-title h1{font-size:clamp(45px,11vw,74px);overflow-wrap:anywhere}[data-gp-theme^="direction-"] .inner-title p{font-size:17px}[data-gp-theme^="direction-"] .inner-image{height:250px}[data-gp-theme^="direction-"] .inner-hero .menu-button{top:73px}[data-gp-theme^="direction-"] .inner-body{padding:55px 25px;display:block}[data-gp-theme^="direction-"] .inner-motif{display:none}[data-gp-theme^="direction-"] .inner-items{display:block}[data-gp-theme^="direction-"] .inner-items article{padding:18px 0}[data-gp-theme^="direction-"] .next-page{padding:27px 25px}[data-gp-theme^="direction-"] .next-page a{font-size:23px}[data-gp-theme^="direction-"] .site-footer{padding:55px 25px 20px!important;display:block!important;border:0!important;border-top:12px solid var(--site-accent)!important;border-radius:0!important}[data-gp-theme^="direction-"] .site-footer nav{margin-top:36px}[data-gp-theme^="direction-"] .footer-end{margin-top:28px;display:block}[data-gp-theme^="direction-"] .footer-end span{display:block;margin:9px 0}[data-gp-theme^="direction-"] .menu-heading h2{font-size:30px}[data-gp-theme^="direction-"] .site-menu nav{display:block;padding:15px 24px}[data-gp-theme^="direction-"] .site-menu nav b{font-size:18px}}

@media (max-width:800px){
  [data-gp-theme="direction-linework"] .footer-main h2{font-size:clamp(40px,9vw,55px);overflow-wrap:anywhere}
  [data-gp-theme^="direction-"] .mobile-sign{position:absolute;z-index:1;pointer-events:none;font:700 11px PlexMono,monospace;text-transform:uppercase;letter-spacing:.09em}
  [data-gp-theme^="direction-"] .mobile-hero .mobile-copy h1{overflow-wrap:normal}
  [data-gp-theme^="direction-"] .mobile-hero .mobile-copy a{position:relative;z-index:3}

  /* A view through a lens, with its own side spine. */
  [data-gp-theme="direction-aperture"] .mobile-hero{min-height:730px;border-left:36px solid #19534a}
  [data-gp-theme="direction-aperture"] .mobile-mark{font-size:22px;border:0}
  [data-gp-theme="direction-aperture"] .mobile-object{inset:105px 16px auto auto;width:68%;height:285px;border:12px solid #19534a;border-radius:50%;box-shadow:0 0 0 6px #ece5d5,0 0 0 8px #19534a}
  [data-gp-theme="direction-aperture"] .mobile-sign{top:245px;left:20px;width:80px;writing-mode:vertical-rl;transform:rotate(180deg)}
  [data-gp-theme="direction-aperture"] .mobile-copy{padding:390px 26px 45px 16px}
  [data-gp-theme="direction-aperture"] .mobile-copy h1{font-style:italic;font-size:clamp(42px,10vw,60px)}
  [data-gp-theme="direction-aperture"] .topic-card{border-radius:80% 80% 3px 3px!important;padding-top:55px!important}

  /* A pigment sample on a maker's worktable. */
  [data-gp-theme="direction-bole-muller"] .mobile-hero{background:#bbaa8a;min-height:690px}
  [data-gp-theme="direction-bole-muller"] .mobile-mark{background:#542b23;color:#dfd3b7;border:0;letter-spacing:.1em}
  [data-gp-theme="direction-bole-muller"] .mobile-object{inset:125px 12% auto 12%;height:230px;width:76%;transform:rotate(-6deg);border:13px solid #e8ddc7;box-shadow:12px 15px 0 #715237}
  [data-gp-theme="direction-bole-muller"] .mobile-hero:before{content:'';position:absolute;top:350px;left:9%;width:82%;height:32px;background:linear-gradient(90deg,#9b492d 0 22%,#b88543 22% 43%,#5f5940 43% 66%,#d6b17c 66% 82%,#514f4d 82%)}
  [data-gp-theme="direction-bole-muller"] .mobile-sign{top:400px;right:24px}
  [data-gp-theme="direction-bole-muller"] .mobile-copy{padding:420px 28px 45px}
  [data-gp-theme="direction-bole-muller"] .mobile-copy h1{font-size:clamp(49px,12vw,67px);max-width:330px}
  [data-gp-theme="direction-bole-muller"] .topic-card{background:#e7dac0!important;box-shadow:8px 8px 0 #b9a47e}

  /* Route markers over a landscape. */
  [data-gp-theme="direction-carrock"] .mobile-hero{min-height:740px;color:#f4f1dd;background:#16312d}
  [data-gp-theme="direction-carrock"] .mobile-object{inset:0;height:100%;opacity:.67}
  [data-gp-theme="direction-carrock"] .mobile-object:after{content:'';position:absolute;inset:0;background:linear-gradient(#16312d99,#16312d13 37%,#16312ddd 76%)}
  [data-gp-theme="direction-carrock"] .mobile-mark{border:0;font-size:29px;color:#fff}
  [data-gp-theme="direction-carrock"] .mobile-sign{top:162px;left:25px;border-left:2px dashed #e4b569;padding-left:15px;color:#fff}
  [data-gp-theme="direction-carrock"] .mobile-copy{padding:425px 28px 45px;color:#fff}
  [data-gp-theme="direction-carrock"] .mobile-copy h1{font-size:clamp(49px,11vw,65px)}
  [data-gp-theme="direction-carrock"] .mobile-copy a{background:#d7a65f;color:#16312d}
  [data-gp-theme="direction-carrock"] .proof-list{border-left:2px dashed #d7a65f;padding-left:18px}

  /* The optical dial is the object, centred like an instrument. */
  [data-gp-theme="direction-dioptre"] .mobile-hero{min-height:720px;background:#dce7e7}
  [data-gp-theme="direction-dioptre"] .mobile-mark{text-align:center;letter-spacing:.3em;border:0;font-size:20px}
  [data-gp-theme="direction-dioptre"] .mobile-object{inset:105px 17% auto;width:66%;height:auto;aspect-ratio:1;border-radius:50%;border:12px solid #173943;box-shadow:0 0 0 5px #dce7e7,0 0 0 7px #478298,0 0 0 24px #dce7e7,0 0 0 25px #478298}
  [data-gp-theme="direction-dioptre"] .mobile-object img{border-radius:50%}
  [data-gp-theme="direction-dioptre"] .mobile-sign{top:392px;left:0;right:0;text-align:center;letter-spacing:.18em}
  [data-gp-theme="direction-dioptre"] .mobile-copy{text-align:center;padding:425px 25px 45px}
  [data-gp-theme="direction-dioptre"] .mobile-copy h1{font-size:clamp(45px,10vw,59px)}
  [data-gp-theme="direction-dioptre"] .topic-card,.site-shell [data-gp-theme="direction-dioptre"] .topic-card{border-radius:50%!important}

  /* A tilted printed chart with a marginal index. */
  [data-gp-theme="direction-fathom"] .mobile-hero{min-height:740px;background:#dfd2b5}
  [data-gp-theme="direction-fathom"] .mobile-mark{writing-mode:vertical-rl;position:absolute;left:0;top:20px;height:245px;border:0;transform:rotate(180deg)}
  [data-gp-theme="direction-fathom"] .mobile-object{inset:105px 5% auto 15%;width:80%;height:290px;transform:rotate(5deg);border:15px solid #f6eedb;box-shadow:10px 13px 0 #8b765c}
  [data-gp-theme="direction-fathom"] .mobile-sign{top:407px;right:28px}
  [data-gp-theme="direction-fathom"] .mobile-copy{padding:443px 28px 40px}
  [data-gp-theme="direction-fathom"] .mobile-copy h1{font-size:clamp(45px,10.5vw,63px);font-style:italic}
  [data-gp-theme="direction-fathom"] .topic-card{border:8px solid #f4ead6!important;box-shadow:7px 8px 0 #b9aa8b}

  /* Ruled commission sheet. */
  [data-gp-theme="direction-fathom-rule"] .mobile-hero{min-height:655px;background-color:#f4f0e4;background-image:linear-gradient(#becbc744 1px,transparent 1px),linear-gradient(90deg,#becbc744 1px,transparent 1px);background-size:28px 28px;border-top:15px solid #243c42}
  [data-gp-theme="direction-fathom-rule"] .mobile-mark{border-bottom:2px solid #243c42;font:700 22px PlexCondensed,Arial,sans-serif;text-transform:uppercase}
  [data-gp-theme="direction-fathom-rule"] .mobile-object{display:none}
  [data-gp-theme="direction-fathom-rule"] .mobile-sign{top:102px;left:25px;transform:rotate(-5deg);padding:15px;border:3px solid #bd674b;color:#bd674b}
  [data-gp-theme="direction-fathom-rule"] .mobile-copy{padding:235px 27px 50px}
  [data-gp-theme="direction-fathom-rule"] .mobile-copy h1{font-size:clamp(45px,10.5vw,62px);text-transform:uppercase}
  [data-gp-theme="direction-fathom-rule"] .topic-card{border:2px solid!important;box-shadow:5px 5px 0 #2e5260}

  /* Finish board and room edge. */
  [data-gp-theme="direction-featheredge"] .mobile-hero{min-height:710px;background:#eeebe0}
  [data-gp-theme="direction-featheredge"] .mobile-mark{border:0}
  [data-gp-theme="direction-featheredge"] .mobile-object{inset:90px 0 auto;width:100%;height:295px;clip-path:polygon(0 0,81% 0,77% 100%,0 100%)}
  [data-gp-theme="direction-featheredge"] .mobile-hero:before{content:'';position:absolute;z-index:1;top:365px;left:25px;right:25px;height:25px;background:linear-gradient(90deg,#d2bbaa 0 34%,#769080 34% 67%,#536557 67%)}
  [data-gp-theme="direction-featheredge"] .mobile-sign{top:240px;right:15px;writing-mode:vertical-rl;background:#eeebe0;padding:8px}
  [data-gp-theme="direction-featheredge"] .mobile-copy{padding:420px 27px 45px}
  [data-gp-theme="direction-featheredge"] .topic-card{border-left:20px solid #d2bbaa!important}

  /* Ink poster, with an offset photo panel. */
  [data-gp-theme="direction-linework"] .mobile-hero{min-height:760px;background:#141716;color:#e7e1d7;border-left:13px solid #c3523d}
  [data-gp-theme="direction-linework"] .mobile-mark{font:700 35px ArchivoBlack,Arial,sans-serif;letter-spacing:-.07em;border:0;text-transform:uppercase}
  [data-gp-theme="direction-linework"] .mobile-object{inset:112px 0 auto 29%;width:71%;height:300px;filter:grayscale(1)}
  [data-gp-theme="direction-linework"] .mobile-sign{top:340px;left:18px;color:#c3523d;writing-mode:vertical-rl;transform:rotate(180deg);font-size:13px}
  [data-gp-theme="direction-linework"] .mobile-copy{padding:435px 22px 45px}
  [data-gp-theme="direction-linework"] .mobile-copy h1{font:700 clamp(47px,12vw,68px)/.91 ArchivoBlack,Arial,sans-serif;text-transform:uppercase}
  [data-gp-theme="direction-linework"] .mobile-copy a{background:#c3523d;color:#141716}
  [data-gp-theme="direction-linework"] .topic-card{background:#171a18!important;color:#e7e1d7;border-top:8px solid #c3523d!important}

  /* The arch itself holds the message. */
  [data-gp-theme="direction-lintel"] .mobile-hero{min-height:735px;background:#9baa9f}
  [data-gp-theme="direction-lintel"] .mobile-mark{text-align:center;border:0;font-size:24px}
  [data-gp-theme="direction-lintel"] .mobile-object{display:none}
  [data-gp-theme="direction-lintel"] .mobile-hero:before{content:'';position:absolute;inset:110px 28px 20px;border:18px solid #25483b;border-radius:210px 210px 0 0;background:#e6e4d2}
  [data-gp-theme="direction-lintel"] .mobile-sign{top:154px;left:0;right:0;text-align:center}
  [data-gp-theme="direction-lintel"] .mobile-copy{padding:260px 63px 65px;text-align:center}
  [data-gp-theme="direction-lintel"] .mobile-copy h1{font-size:clamp(41px,9.2vw,55px)}
  [data-gp-theme="direction-lintel"] .topic-card{border-radius:150px 150px 0 0!important;padding-top:60px!important}

  /* Dispatch grid with route and handover. */
  [data-gp-theme="direction-loadstar"] .mobile-hero{min-height:0;display:flex;flex-direction:column;background:#dbe1df;background-image:linear-gradient(#879ea755 1px,transparent 1px),linear-gradient(90deg,#879ea755 1px,transparent 1px);background-size:42px 42px}
  [data-gp-theme="direction-loadstar"] .mobile-mark{background:#1c3441;color:#dbe1df;border:0;font:700 27px Archivo,Arial,sans-serif;text-transform:uppercase}
  [data-gp-theme="direction-loadstar"] .mobile-object{position:relative;order:2;inset:auto;width:calc(100% - 30px);height:210px;margin:0 15px 15px;border:6px solid #1c3441}
  [data-gp-theme="direction-loadstar"] .mobile-sign{position:relative;order:3;top:auto;left:auto;align-self:flex-start;margin:0 0 45px 20px;padding:7px;background:#c75c31;color:#fff}
  [data-gp-theme="direction-loadstar"] .mobile-copy{order:1;padding:80px 27px 28px}
  [data-gp-theme="direction-loadstar"] .mobile-copy h1{font:800 clamp(45px,11vw,62px)/.94 Archivo,Arial,sans-serif;text-transform:uppercase}
  [data-gp-theme="direction-loadstar"] .mobile-copy p{max-width:330px}
  [data-gp-theme="direction-loadstar"] .topic-card{border-left:10px solid #c75c31!important}

  /* Property ledger, ruled from top to bottom. */
  [data-gp-theme="direction-marchmont"] .mobile-hero{min-height:630px;background:#e9e4d4;background-image:repeating-linear-gradient(#2031432b 0 1px,transparent 1px 52px)}
  [data-gp-theme="direction-marchmont"] .mobile-mark{text-align:center;border-top:5px double #203143;border-bottom:5px double #203143;font-size:28px}
  [data-gp-theme="direction-marchmont"] .mobile-object{display:none}
  [data-gp-theme="direction-marchmont"] .mobile-sign{top:140px;left:26px;border-bottom:2px solid;padding-bottom:8px}
  [data-gp-theme="direction-marchmont"] .mobile-copy{padding:200px 29px 48px}
  [data-gp-theme="direction-marchmont"] .mobile-copy h1{font-size:clamp(48px,11vw,63px)}
  [data-gp-theme="direction-marchmont"] .topic-card{display:grid!important;grid-template-columns:38px 1fr;gap:12px;border:0!important;border-bottom:2px solid!important;background:transparent!important}
  [data-gp-theme="direction-marchmont"] .topic-card h3{margin:0}
  [data-gp-theme="direction-marchmont"] .topic-card p,[data-gp-theme="direction-marchmont"] .topic-card b{grid-column:2}

  /* Tall building directory and numbered floors. */
  [data-gp-theme="direction-newel"] .mobile-hero{min-height:720px;background:#ecece4}
  [data-gp-theme="direction-newel"] .mobile-mark{background:#2d4238;color:#fff;border:0;text-transform:uppercase}
  [data-gp-theme="direction-newel"] .mobile-object{inset:105px 0 auto 49%;width:51%;height:295px}
  [data-gp-theme="direction-newel"] .mobile-hero:before{content:'04  DIRECTORS\a 03  DECISIONS\a 02  REPAIRS\a 01  NOTICES\a 00  ENTRANCE';white-space:pre;position:absolute;top:160px;left:12px;font:700 12px/3 PlexMono,monospace;color:#2d4238}
  [data-gp-theme="direction-newel"] .mobile-sign{top:409px;left:26px}
  [data-gp-theme="direction-newel"] .mobile-copy{padding:440px 26px 40px}
  [data-gp-theme="direction-newel"] .mobile-copy h1{font-size:clamp(46px,10vw,60px)}
  [data-gp-theme="direction-newel"] .topic-card{display:grid!important;grid-template-columns:38px minmax(0,1fr);gap:12px;border:0!important;border-bottom:5px solid #a7b8a5!important;background:transparent!important}
  [data-gp-theme="direction-newel"] .topic-card h3{margin:0}
  [data-gp-theme="direction-newel"] .topic-card p,[data-gp-theme="direction-newel"] .topic-card b{grid-column:2}

  /* Interlocking care blocks. */
  [data-gp-theme="direction-plinth"] .mobile-hero{min-height:685px;background:#f2ecdb}
  [data-gp-theme="direction-plinth"] .mobile-mark{border:0;font:700 28px RedHat,Arial,sans-serif;text-transform:uppercase}
  [data-gp-theme="direction-plinth"] .mobile-object{display:none}
  [data-gp-theme="direction-plinth"] .mobile-hero:before{content:'01  ASSESS\a 02  COORDINATE\a 03  HAND OVER';white-space:pre;display:block;position:absolute;top:120px;left:8%;width:84%;height:220px;padding:25px 18px;background:linear-gradient(120deg,#8dc6be 0 37%,#60a9a8 37% 68%,#367d80 68%);box-shadow:14px 15px 0 #243d41;color:#133c3e;font:800 18px/3 RedHat,Arial,sans-serif}
  [data-gp-theme="direction-plinth"] .mobile-sign{top:385px;right:25px}
  [data-gp-theme="direction-plinth"] .mobile-copy{padding:420px 27px 45px}
  [data-gp-theme="direction-plinth"] .topic-card{background:#8dc6be!important;box-shadow:7px 7px 0 #316368}

  /* One continuous care line. */
  [data-gp-theme="direction-plumbline"] .mobile-hero{min-height:670px;background:#f6f5eb;border-left:9px solid #c66e5a}
  [data-gp-theme="direction-plumbline"] .mobile-mark{border:0;font-size:27px}
  [data-gp-theme="direction-plumbline"] .mobile-object{display:none}
  [data-gp-theme="direction-plumbline"] .mobile-hero:before{content:'01\a\a02\a\a03';white-space:pre;position:absolute;top:125px;left:30px;height:200px;width:29px;border-left:5px solid #c66e5a;padding-left:13px;font:700 15px/1.9 PlexMono,monospace;color:#c66e5a}
  [data-gp-theme="direction-plumbline"] .mobile-sign{top:170px;left:110px}
  [data-gp-theme="direction-plumbline"] .mobile-copy{padding:315px 26px 50px 78px}
  [data-gp-theme="direction-plumbline"] .mobile-copy h1{font-size:clamp(42px,9.7vw,60px)}
  [data-gp-theme="direction-plumbline"] .topic-list{border-left:5px solid #c66e5a;padding-left:16px}
  [data-gp-theme="direction-plumbline"] .topic-card{border:0!important;border-bottom:1px solid #c66e5a!important;background:transparent!important}

  /* Four equal needs around a central point. */
  [data-gp-theme="direction-quadrant"] .mobile-hero{min-height:730px;background:#8bc6c4}
  [data-gp-theme="direction-quadrant"] .mobile-mark{text-align:center;border:0;text-transform:uppercase;letter-spacing:.1em}
  [data-gp-theme="direction-quadrant"] .mobile-object{display:none}
  [data-gp-theme="direction-quadrant"] .mobile-hero:before{content:'CARE        COMFORT\a\a\a\a TIME          COST';white-space:pre;position:absolute;top:100px;left:15%;width:70%;aspect-ratio:1;background:conic-gradient(#bde2d5 0 90deg,#f0d39c 90deg 180deg,#77b4ad 180deg 270deg,#e6afa0 270deg);border:3px solid #163c42;border-radius:50%;display:grid;place-items:center;text-align:center;color:#163c42;font:700 10px/2 PlexMono,monospace;transform:rotate(-9deg)}
  [data-gp-theme="direction-quadrant"] .mobile-sign{top:385px;right:25px}
  [data-gp-theme="direction-quadrant"] .mobile-copy{padding:425px 26px 40px;text-align:center}
  [data-gp-theme="direction-quadrant"] .mobile-copy h1{font-size:clamp(42px,9.5vw,60px)}
  [data-gp-theme="direction-quadrant"] .topic-card:nth-child(1){background:#bde2d5!important}[data-gp-theme="direction-quadrant"] .topic-card:nth-child(2){background:#f0d39c!important}[data-gp-theme="direction-quadrant"] .topic-card:nth-child(3){background:#e6afa0!important}

  /* Broadsheet cover: headline first, property image below. */
  [data-gp-theme="direction-quoin"] .mobile-hero{min-height:730px;background:#ece6db;border-top:8px double #242826}
  [data-gp-theme="direction-quoin"] .mobile-mark{font:700 39px Bodoni,Georgia,serif;text-align:center;border-bottom:3px double #242826}
  [data-gp-theme="direction-quoin"] .mobile-object{inset:450px 0 auto;height:245px}
  [data-gp-theme="direction-quoin"] .mobile-sign{top:708px;left:25px}
  [data-gp-theme="direction-quoin"] .mobile-copy{padding:100px 27px 340px}
  [data-gp-theme="direction-quoin"] .mobile-copy h1{font-size:clamp(47px,11vw,67px)}
  [data-gp-theme="direction-quoin"] .mobile-copy p{max-width:335px}
  [data-gp-theme="direction-quoin"] .topic-card{border:0!important;border-top:4px double #242826!important;background:transparent!important}

  /* A dark drawing sheet. */
  [data-gp-theme="direction-scalebar"] .mobile-hero{min-height:720px;background-color:#203b43;background-image:linear-gradient(#8ab5b433 1px,transparent 1px),linear-gradient(90deg,#8ab5b433 1px,transparent 1px);background-size:23px 23px;color:#e5f2ec;border:12px solid #8ab5b4}
  [data-gp-theme="direction-scalebar"] .mobile-mark{border:0;font:700 28px Chakra,Arial,sans-serif;text-transform:uppercase}
  [data-gp-theme="direction-scalebar"] .mobile-object{inset:113px 11% auto 18%;width:70%;height:210px;border:4px solid #8ab5b4;transform:rotate(-6deg)}
  [data-gp-theme="direction-scalebar"] .mobile-sign{top:348px;right:27px;color:#e6a267}
  [data-gp-theme="direction-scalebar"] .mobile-copy{padding:383px 22px 40px;color:#e5f2ec}
  [data-gp-theme="direction-scalebar"] .mobile-copy h1{font:700 clamp(43px,10vw,60px)/.98 Chakra,Arial,sans-serif;text-transform:uppercase}
  [data-gp-theme="direction-scalebar"] .mobile-copy a{background:#e6a267;color:#203b43}
  [data-gp-theme="direction-scalebar"] .topic-card{background:#203b43!important;color:#e5f2ec;border:2px solid #8ab5b4!important}

  /* A status console with an instrument readout. */
  [data-gp-theme="direction-setpoint"] .mobile-hero{min-height:720px;background:#142828;color:#cce2d5;border:12px solid #47746c}
  [data-gp-theme="direction-setpoint"] .mobile-mark{border-bottom:1px solid #47746c;font:700 30px Chakra,Arial,sans-serif;text-transform:uppercase}
  [data-gp-theme="direction-setpoint"] .mobile-object{display:none}
  [data-gp-theme="direction-setpoint"] .mobile-hero:before{content:'SERVICE\a LEVEL';white-space:pre;position:absolute;top:125px;right:25px;width:190px;height:190px;border:19px solid #8edd98;border-radius:50%;display:grid;place-items:center;color:#8edd98;text-align:center;font:700 19px/1.2 Chakra,Arial,sans-serif;box-shadow:0 0 0 5px #25473e}
  [data-gp-theme="direction-setpoint"] .mobile-sign{top:344px;left:25px;color:#8edd98}
  [data-gp-theme="direction-setpoint"] .mobile-copy{padding:395px 24px 45px;color:#cce2d5}
  [data-gp-theme="direction-setpoint"] .mobile-copy h1{font:700 clamp(43px,10vw,62px)/.95 Chakra,Arial,sans-serif;text-transform:uppercase}
  [data-gp-theme="direction-setpoint"] .mobile-copy a{background:#8edd98;color:#142828}
  [data-gp-theme="direction-setpoint"] .topic-card{background:#183531!important;color:#cce2d5;border:2px solid #4c8785!important}

  /* A committee paper with agenda in the margin. */
  [data-gp-theme="direction-tenor"] .mobile-hero{min-height:690px;background:#f1ebda;border-left:42px solid #5b5140}
  [data-gp-theme="direction-tenor"] .mobile-mark{text-align:center;border-bottom:3px double #5b5140;letter-spacing:.2em;text-transform:uppercase}
  [data-gp-theme="direction-tenor"] .mobile-object{display:none}
  [data-gp-theme="direction-tenor"] .mobile-hero:before{content:'I\a II\a III';white-space:pre;position:absolute;top:195px;left:-32px;color:#f1ebda;font:700 18px/4 Cinzel,serif}
  [data-gp-theme="direction-tenor"] .mobile-sign{top:145px;left:24px;border-bottom:2px solid;padding-bottom:10px}
  [data-gp-theme="direction-tenor"] .mobile-copy{padding:215px 26px 42px}
  [data-gp-theme="direction-tenor"] .mobile-copy h1{font-size:clamp(45px,10.3vw,60px)}
  [data-gp-theme="direction-tenor"] .topic-card{border:0!important;border-top:4px double #5b5140!important;background:transparent!important}

  /* A private letter set against a window. */
  [data-gp-theme="direction-transom"] .mobile-hero{min-height:760px;background:#e7e1e8}
  [data-gp-theme="direction-transom"] .mobile-mark{border:0;font-size:24px}
  [data-gp-theme="direction-transom"] .mobile-object{inset:75px 0 auto;height:350px;opacity:.75}
  [data-gp-theme="direction-transom"] .mobile-sign{top:360px;right:24px;background:#eee7e9;padding:8px}
  [data-gp-theme="direction-transom"] .mobile-copy{margin:330px 20px 40px;padding:40px 28px;background:#f7f2ed;box-shadow:10px 13px 25px #23192c33;transform:rotate(-2deg)}
  [data-gp-theme="direction-transom"] .mobile-copy h1{font-size:clamp(44px,10vw,59px)}
  [data-gp-theme="direction-transom"] .topic-card{background:#f7f2ed!important;box-shadow:8px 12px 25px #23192c22}

  /* Organ-pipe elevation rather than a photograph. */
  [data-gp-theme="direction-windchest"] .mobile-hero{min-height:760px;background:#213c36;color:#e9dfc7}
  [data-gp-theme="direction-windchest"] .mobile-mark{border:0;font-size:26px}
  [data-gp-theme="direction-windchest"] .mobile-object{display:none}
  [data-gp-theme="direction-windchest"] .mobile-hero:before{content:'';position:absolute;top:110px;left:9%;width:82%;height:295px;background:linear-gradient(90deg,transparent 0 3%,#839887 3% 17%,transparent 17% 21%,#b6c5a6 21% 35%,transparent 35% 39%,#839887 39% 53%,transparent 53% 57%,#b6c5a6 57% 71%,transparent 71% 75%,#839887 75% 89%,transparent 89%);clip-path:polygon(0 27%,20% 27%,20% 19%,38% 19%,38% 9%,56% 9%,56% 0,74% 0,74% 19%,100% 19%,100% 100%,0 100%)}
  [data-gp-theme="direction-windchest"] .mobile-sign{top:416px;right:28px;color:#b9c999}
  [data-gp-theme="direction-windchest"] .mobile-copy{padding:450px 28px 40px;color:#e9dfc7}
  [data-gp-theme="direction-windchest"] .mobile-copy h1{font-size:clamp(46px,10.4vw,60px)}
  [data-gp-theme="direction-windchest"] .mobile-copy a{background:#b9c999;color:#213c36}
  [data-gp-theme="direction-windchest"] .topic-card{background:#b7c5aa!important;color:#213c36;border-radius:35px 35px 0 0!important}

  /* Bell profile and sound rings. */
  [data-gp-theme="direction-wrenfield"] .mobile-hero{min-height:720px;background:#e8dcc6}
  [data-gp-theme="direction-wrenfield"] .mobile-mark{text-align:center;border:0;font-size:27px}
  [data-gp-theme="direction-wrenfield"] .mobile-object{inset:100px 17% auto;width:66%;height:auto;aspect-ratio:1;border-radius:50%;border:12px solid #422e26;box-shadow:0 0 0 12px #e8dcc6,0 0 0 14px #422e26,0 0 0 28px #e8dcc6,0 0 0 30px #422e26}
  [data-gp-theme="direction-wrenfield"] .mobile-object img{border-radius:50%}
  [data-gp-theme="direction-wrenfield"] .mobile-sign{top:390px;left:0;right:0;text-align:center}
  [data-gp-theme="direction-wrenfield"] .mobile-copy{padding:428px 27px 40px;text-align:center}
  [data-gp-theme="direction-wrenfield"] .mobile-copy h1{font-size:clamp(45px,10vw,61px)}
  [data-gp-theme="direction-wrenfield"] .topic-card{border-radius:50%!important;border:2px solid #9a7855!important;text-align:center;align-items:center;padding:50px 25px!important}

  @media(max-width:380px){
    [data-gp-theme="direction-lintel"] .mobile-hero:before{inset:105px 15px 15px;border-width:12px}
    [data-gp-theme="direction-lintel"] .mobile-copy{padding-left:40px;padding-right:40px}
    [data-gp-theme="direction-plumbline"] .mobile-copy{padding-left:68px}
    [data-gp-theme="direction-transom"] .mobile-copy{margin-left:12px;margin-right:12px}
    [data-gp-theme="direction-quoin"] .mobile-object{top:485px}
  }
}

/* The inside-page opening carries the form of the approved front screen. */
[data-gp-theme="direction-aperture"] .inner-hero{border-left:60px solid #19534a;grid-template-columns:57% 43%}
[data-gp-theme="direction-aperture"] .inner-image{border-radius:50%;width:85%;height:auto;aspect-ratio:1;align-self:center;box-shadow:0 0 0 10px #ece5d5,0 0 0 12px #19534a}
[data-gp-theme="direction-bole-muller"] .inner-hero{background:#bbaa8a}
[data-gp-theme="direction-bole-muller"] .inner-image{transform:rotate(4deg) scale(.83);border:20px solid #e8ddc7;box-shadow:18px 18px 0 #755744}
[data-gp-theme="direction-bole-muller"] .inner-title h1{font-style:italic}
[data-gp-theme="direction-carrock"] .inner-hero{display:block;background:#16312d;color:#f4f1dd;min-height:600px}
[data-gp-theme="direction-carrock"] .inner-image{position:absolute;inset:0;width:100%;height:100%;opacity:.52}
[data-gp-theme="direction-carrock"] .inner-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#16312df2,#16312d88)}
[data-gp-theme="direction-carrock"] .inner-index{position:relative;z-index:2;height:70px}
[data-gp-theme="direction-carrock"] .inner-title{position:relative;z-index:2;max-width:780px;padding-top:155px}
[data-gp-theme="direction-carrock"] .inner-title h1{font-style:italic}
[data-gp-theme="direction-dioptre"] .inner-hero{grid-template-columns:48% 52%;background:#dfe8e8}
[data-gp-theme="direction-dioptre"] .inner-image{width:82%;height:auto;aspect-ratio:1;border-radius:50%;border:12px solid #173943;align-self:center;justify-self:center;box-shadow:0 0 0 6px #dfe8e8,0 0 0 8px #478298,0 0 0 27px #dfe8e8,0 0 0 28px #478298}
[data-gp-theme="direction-dioptre"] .inner-image img{border-radius:50%}
[data-gp-theme="direction-fathom"] .inner-hero{background:#dfd2b5;grid-template-columns:49% 51%}
[data-gp-theme="direction-fathom"] .inner-image{width:85%;height:390px;align-self:center;justify-self:center;transform:rotate(4deg);border:20px solid #f6eedb;box-shadow:12px 15px 0 #8b765c}
[data-gp-theme="direction-fathom"] .inner-title h1{font-style:italic}
[data-gp-theme="direction-fathom-rule"] .inner-hero{background-color:#f4f0e4;background-image:linear-gradient(#becbc744 1px,transparent 1px),linear-gradient(90deg,#becbc744 1px,transparent 1px);background-size:30px 30px;border:18px solid #243c42}
[data-gp-theme="direction-fathom-rule"] .inner-image{width:85%;height:330px;align-self:center;justify-self:center;border:2px solid #243c42;transform:rotate(-4deg)}
[data-gp-theme="direction-fathom-rule"] .inner-title h1{text-transform:uppercase}
[data-gp-theme="direction-featheredge"] .inner-hero{grid-template-columns:43% 57%}
[data-gp-theme="direction-featheredge"] .inner-image{grid-column:1;grid-row:2;height:100%}
[data-gp-theme="direction-featheredge"] .inner-title{grid-column:2;grid-row:2;border-left:25px solid #d2bbaa}
[data-gp-theme="direction-linework"] .inner-hero{background:#141716;color:#e7e1d7;border-left:28px solid #c3523d}
[data-gp-theme="direction-linework"] .inner-image{filter:grayscale(1);height:100%;border-left:12px solid #c3523d}
[data-gp-theme="direction-linework"] .inner-title h1{font-family:ArchivoBlack,Arial,sans-serif;text-transform:uppercase;line-height:.92}
[data-gp-theme="direction-linework"] .inner-body{background:#c3523d;color:#141716}
[data-gp-theme="direction-lintel"] .inner-hero{display:block;margin:35px 75px 0!important;min-height:620px;background:#e6e4d2;border:25px solid #25483b;border-radius:360px 360px 0 0!important;text-align:center}
[data-gp-theme="direction-lintel"] .inner-index{height:70px}
[data-gp-theme="direction-lintel"] .inner-title{max-width:680px;margin:auto;padding:125px 40px 65px}
[data-gp-theme="direction-lintel"] .inner-title p{margin:auto}
[data-gp-theme="direction-lintel"] .inner-image{display:none}
[data-gp-theme="direction-loadstar"] .inner-hero{background-color:#dbe1df;background-image:linear-gradient(#879ea755 1px,transparent 1px),linear-gradient(90deg,#879ea755 1px,transparent 1px);background-size:42px 42px}
[data-gp-theme="direction-loadstar"] .inner-title h1{font-family:Archivo,Arial,sans-serif;font-weight:800;text-transform:uppercase}
[data-gp-theme="direction-loadstar"] .inner-image{border:12px solid #1c3441;align-self:center;height:400px}
[data-gp-theme="direction-marchmont"] .inner-hero{display:block;min-height:590px;background-color:#e9e4d4;background-image:repeating-linear-gradient(#20314326 0 1px,transparent 1px 54px)}
[data-gp-theme="direction-marchmont"] .inner-index{height:85px;border-top:5px double;border-bottom:5px double}
[data-gp-theme="direction-marchmont"] .inner-title{padding:100px 75px}
[data-gp-theme="direction-marchmont"] .inner-image{display:none}
[data-gp-theme="direction-newel"] .inner-hero{grid-template-columns:67% 33%;background:#ecece4}
[data-gp-theme="direction-newel"] .inner-index{background:#2d4238;color:#ecece4}
[data-gp-theme="direction-newel"] .inner-image{height:100%;border-left:18px solid #a7b8a5}
[data-gp-theme="direction-newel"] .inner-title{border-left:40px solid #a7b8a5}
[data-gp-theme="direction-plinth"] .inner-hero{display:block;background:#f2ecdb;min-height:610px;border-bottom:70px solid #367d80}
[data-gp-theme="direction-plinth"] .inner-index{height:70px}
[data-gp-theme="direction-plinth"] .inner-title{padding:110px 70px;max-width:820px}
[data-gp-theme="direction-plinth"] .inner-image{position:absolute;right:0;bottom:0;width:30%;height:68%;clip-path:polygon(25% 0,100% 0,100% 100%,0 100%);opacity:.42}
[data-gp-theme="direction-plumbline"] .inner-hero{border-left:12px solid #c66e5a;grid-template-columns:64% 36%}
[data-gp-theme="direction-plumbline"] .inner-title{border-left:5px solid #c66e5a;margin:50px 0 50px 75px;padding:50px 40px}
[data-gp-theme="direction-plumbline"] .inner-image{height:100%}
[data-gp-theme="direction-quadrant"] .inner-hero{background:#8bc6c4}
[data-gp-theme="direction-quadrant"] .inner-image{width:85%;height:auto;aspect-ratio:1;align-self:center;justify-self:center;border-radius:50%;border:18px solid #163c42;box-shadow:0 0 0 10px #e6afa0}
[data-gp-theme="direction-quadrant"] .inner-image img{border-radius:50%}
[data-gp-theme="direction-quoin"] .inner-hero{display:block;background:#ece6db;border-top:10px double #242826;border-bottom:10px double #242826}
[data-gp-theme="direction-quoin"] .inner-index{height:75px;border-bottom:3px double #242826}
[data-gp-theme="direction-quoin"] .inner-title{padding:65px 75px 25px}
[data-gp-theme="direction-quoin"] .inner-image{height:330px}
[data-gp-theme="direction-quoin"] .inner-title h1{font-family:Bodoni,Georgia,serif}
[data-gp-theme="direction-scalebar"] .inner-hero{background-color:#203b43;background-image:linear-gradient(#8ab5b433 1px,transparent 1px),linear-gradient(90deg,#8ab5b433 1px,transparent 1px);background-size:26px 26px;color:#e5f2ec;border:18px solid #8ab5b4}
[data-gp-theme="direction-scalebar"] .inner-image{height:350px;align-self:center;border:4px solid #8ab5b4;transform:rotate(-4deg)}
[data-gp-theme="direction-scalebar"] .inner-title h1{text-transform:uppercase;font-family:Chakra,Arial,sans-serif}
[data-gp-theme="direction-setpoint"] .inner-hero{background:#142828;color:#cce2d5;border:18px solid #47746c}
[data-gp-theme="direction-setpoint"] .inner-title h1{text-transform:uppercase;font-family:Chakra,Arial,sans-serif}
[data-gp-theme="direction-setpoint"] .inner-image{width:78%;height:auto;aspect-ratio:1;border-radius:50%;border:24px solid #8edd98;align-self:center;justify-self:center}
[data-gp-theme="direction-setpoint"] .inner-image img{border-radius:50%;filter:grayscale(1)}
[data-gp-theme="direction-tenor"] .inner-hero{display:block;min-height:600px;background:#f1ebda;border-left:80px solid #5b5140;border-right:4px double #5b5140}
[data-gp-theme="direction-tenor"] .inner-index{height:78px;border-bottom:4px double}
[data-gp-theme="direction-tenor"] .inner-title{padding:115px 70px;max-width:800px}
[data-gp-theme="direction-tenor"] .inner-image{display:none}
[data-gp-theme="direction-transom"] .inner-hero{display:block;background:#e7e1e8;min-height:680px}
[data-gp-theme="direction-transom"] .inner-image{position:absolute;inset:0;width:100%;height:100%;opacity:.58}
[data-gp-theme="direction-transom"] .inner-index{position:relative;z-index:2;height:70px;background:#e7e1e8cc}
[data-gp-theme="direction-transom"] .inner-title{position:relative;z-index:2;background:#f7f2ed;max-width:630px;margin:60px 0 70px 8%;padding:70px;transform:rotate(-2deg);box-shadow:12px 17px 30px #23192c33}
[data-gp-theme="direction-windchest"] .inner-hero{display:block;background:#213c36;color:#e9dfc7;min-height:650px}
[data-gp-theme="direction-windchest"] .inner-index{height:70px}
[data-gp-theme="direction-windchest"] .inner-title{max-width:720px;padding:145px 70px}
[data-gp-theme="direction-windchest"] .inner-image{position:absolute;right:0;top:70px;width:28%;height:calc(100% - 70px);clip-path:polygon(0 30%,25% 30%,25% 15%,50% 15%,50% 0,75% 0,75% 22%,100% 22%,100% 100%,0 100%);opacity:.5}
[data-gp-theme="direction-wrenfield"] .inner-hero{background:#e8dcc6}
[data-gp-theme="direction-wrenfield"] .inner-image{width:80%;height:auto;aspect-ratio:1;border-radius:50%;border:15px solid #422e26;align-self:center;justify-self:center;box-shadow:0 0 0 12px #e8dcc6,0 0 0 14px #422e26,0 0 0 28px #e8dcc6,0 0 0 30px #422e26}
[data-gp-theme="direction-wrenfield"] .inner-image img{border-radius:50%}

@media(max-width:800px){
  [data-gp-theme="direction-aperture"] .inner-hero{border-left:30px solid #19534a}
  [data-gp-theme="direction-aperture"] .inner-image{width:66%;height:auto;aspect-ratio:1;margin:20px auto 45px}
  [data-gp-theme="direction-bole-muller"] .inner-image{width:72%;height:220px;margin:0 auto 55px;transform:rotate(4deg);border-width:12px}
  [data-gp-theme="direction-carrock"] .inner-hero{min-height:660px}
  [data-gp-theme="direction-carrock"] .inner-index{height:65px}
  [data-gp-theme="direction-carrock"] .inner-title{padding:235px 26px 55px}
  [data-gp-theme="direction-carrock"] .inner-image{height:100%}
  [data-gp-theme="direction-dioptre"] .inner-image{width:65%;height:auto;aspect-ratio:1;margin:25px auto 60px}
  [data-gp-theme="direction-fathom"] .inner-index{padding-left:55px}
  [data-gp-theme="direction-fathom"] .inner-image{width:72%;height:230px;margin:0 auto 60px;border-width:12px}
  [data-gp-theme="direction-fathom-rule"] .inner-hero{border-width:9px}
  [data-gp-theme="direction-fathom-rule"] .inner-image{width:68%;height:170px;margin:10px auto 50px}
  [data-gp-theme="direction-featheredge"] .inner-image{height:330px;clip-path:polygon(0 0,78% 0,75% 100%,0 100%)}
  [data-gp-theme="direction-featheredge"] .inner-title{border-left:18px solid #d2bbaa;padding:55px 25px}
  [data-gp-theme="direction-linework"] .inner-hero{border-left-width:13px}
  [data-gp-theme="direction-linework"] .inner-title{padding:65px 25px}
  [data-gp-theme="direction-linework"] .inner-image{height:320px;margin-left:19%;width:81%;border-left-width:8px}
  [data-gp-theme="direction-lintel"] .inner-hero{margin:18px 18px 0!important;min-height:600px;border-width:14px;border-radius:220px 220px 0 0!important}
  [data-gp-theme="direction-lintel"] .inner-index{height:85px;display:block;padding:45px 12px 0;font-size:9px}
  [data-gp-theme="direction-lintel"] .inner-index span+span{display:none}
  [data-gp-theme="direction-lintel"] .inner-title{padding:165px 20px 65px}
  [data-gp-theme="direction-loadstar"] .inner-title{padding:70px 25px 45px}
  [data-gp-theme="direction-loadstar"] .inner-image{height:260px;border-width:7px}
  [data-gp-theme="direction-marchmont"] .inner-hero{min-height:560px}
  [data-gp-theme="direction-marchmont"] .inner-index{height:70px}
  [data-gp-theme="direction-marchmont"] .inner-title{padding:130px 26px 60px}
  [data-gp-theme="direction-newel"] .inner-hero{min-height:680px}
  [data-gp-theme="direction-newel"] .inner-title{border-left:25px solid #a7b8a5;margin-right:28%;padding:90px 22px 60px}
  [data-gp-theme="direction-newel"] .inner-title h1{font-size:clamp(40px,9vw,64px)}
  [data-gp-theme="direction-newel"] .inner-image{position:absolute;right:0;top:60px;width:28%;height:calc(100% - 60px);border-left:8px solid #a7b8a5}
  [data-gp-theme="direction-plinth"] .inner-hero{min-height:600px;border-bottom-width:45px}
  [data-gp-theme="direction-plinth"] .inner-title{padding:155px 25px 65px}
  [data-gp-theme="direction-plinth"] .inner-image{width:50%;height:30%;opacity:.3}
  [data-gp-theme="direction-plumbline"] .inner-hero{border-left-width:8px}
  [data-gp-theme="direction-plumbline"] .inner-title{margin:50px 0 30px 25px;padding:35px 25px}
  [data-gp-theme="direction-plumbline"] .inner-image{width:55%;height:220px;margin-left:auto}
  [data-gp-theme="direction-quadrant"] .inner-image{width:67%;height:auto;aspect-ratio:1;margin:25px auto 55px;border-width:12px}
  [data-gp-theme="direction-quoin"] .inner-index{height:70px}
  [data-gp-theme="direction-quoin"] .inner-title{padding:70px 25px 30px}
  [data-gp-theme="direction-quoin"] .inner-image{height:250px}
  [data-gp-theme="direction-scalebar"] .inner-hero{border-width:9px}
  [data-gp-theme="direction-scalebar"] .inner-image{width:77%;height:220px;margin:5px auto 55px}
  [data-gp-theme="direction-setpoint"] .inner-hero{border-width:9px}
  [data-gp-theme="direction-setpoint"] .inner-image{width:66%;height:auto;aspect-ratio:1;margin:25px auto 60px;border-width:15px}
  [data-gp-theme="direction-tenor"] .inner-hero{min-height:600px;border-left-width:32px}
  [data-gp-theme="direction-tenor"] .inner-title{padding:160px 25px 65px}
  [data-gp-theme="direction-transom"] .inner-hero{min-height:640px}
  [data-gp-theme="direction-transom"] .inner-image{height:100%}
  [data-gp-theme="direction-transom"] .inner-title{max-width:none;margin:130px 20px 60px;padding:45px 26px}
  [data-gp-theme="direction-windchest"] .inner-hero{min-height:620px}
  [data-gp-theme="direction-windchest"] .inner-title{padding:155px 25px 55px;margin-right:18%}
  [data-gp-theme="direction-windchest"] .inner-title h1{font-size:clamp(40px,9vw,65px)}
  [data-gp-theme="direction-windchest"] .inner-image{top:60px;width:22%;height:calc(100% - 60px)}
  [data-gp-theme="direction-wrenfield"] .inner-image{width:65%;height:auto;aspect-ratio:1;margin:25px auto 60px;border-width:11px}
  [data-gp-theme="direction-quoin"] .inner-body{background:#ece6db;color:#242826;border-top:8px double #242826}
  [data-gp-theme="direction-transom"] .inner-body{background:#e7e1e8;color:#3d3445}
  [data-gp-theme="direction-fathom-rule"] .inner-body,[data-gp-theme="direction-scalebar"] .inner-body{background-image:linear-gradient(#8ab5b422 1px,transparent 1px),linear-gradient(90deg,#8ab5b422 1px,transparent 1px);background-size:25px 25px}
  [data-gp-theme="direction-marchmont"] .inner-items article,[data-gp-theme="direction-tenor"] .inner-items article{border-top:4px double}
  [data-gp-theme="direction-plumbline"] .inner-items{border-left:5px solid #c66e5a;padding-left:25px}
  [data-gp-theme="direction-windchest"] .inner-items article{border-left:10px solid #b7c5aa;border-top:0;padding-left:18px}
  [data-gp-theme="direction-wrenfield"] .inner-items article{border:2px solid #9a7855;border-radius:50%;padding:45px;text-align:center;margin:12px 0}
}

/* Six signature navigation compositions, plus a traditional vertical option.
   The source page and native editor share this CSS. */
[data-gp-theme^="direction-"] .menu-button[data-menu-family]{box-shadow:none;border:0;border-radius:0;min-width:44px;min-height:44px;padding:10px 14px;display:inline-flex;justify-content:center;align-items:center;gap:12px;line-height:1.15;letter-spacing:.06em;transition:transform .18s ease,background-color .18s ease,color .18s ease,letter-spacing .18s ease}
[data-gp-theme^="direction-"] .menu-button[data-menu-family]:hover{letter-spacing:.11em;text-decoration:none}
[data-gp-theme^="direction-"] .menu-button[data-menu-family]:active{transform:scale(.96);box-shadow:none}
[data-gp-theme^="direction-"] .menu-button[data-menu-family]:focus-visible{outline:3px solid var(--site-accent);outline-offset:4px}
[data-gp-theme^="direction-"] .menu-button-label{font:700 11px/1.2 PlexMono,monospace;text-transform:uppercase;white-space:nowrap}
[data-gp-theme^="direction-"] .menu-button-glyph{font:25px/1 var(--site-display),serif;min-width:23px;text-align:center}
[data-gp-theme^="direction-"] .menu-button[data-menu-family=editorial]{right:22px;top:86px;background:transparent;color:var(--site-ink);border-bottom:2px solid currentColor;padding-inline:0;align-items:baseline}
[data-gp-theme^="direction-"] .menu-button[data-menu-family=editorial] .menu-button-glyph{font-size:22px}
[data-gp-theme^="direction-"] .menu-button[data-menu-family=lens]{right:25px;top:75px;width:92px;height:92px;border:2px solid var(--site-ink);border-radius:50%;background:var(--site-paper);color:var(--site-ink);flex-direction:column;gap:0;transform:rotate(-9deg)}
[data-gp-theme^="direction-"] .menu-button[data-menu-family=lens]:hover{transform:rotate(0)}
[data-gp-theme^="direction-"] .menu-button[data-menu-family=lens]:active{transform:scale(.93)}
[data-gp-theme^="direction-"] .menu-button[data-menu-family=lens]:before{content:'';position:absolute;inset:6px;border:1px solid currentColor;border-radius:50%;pointer-events:none}
[data-gp-theme^="direction-"] .menu-button[data-menu-family=lens] .menu-button-label{font-size:9px;max-width:70px;white-space:normal}
[data-gp-theme^="direction-"] .menu-button[data-menu-family=lens] .menu-button-glyph{font-size:30px}
[data-gp-theme^="direction-"] .menu-button[data-menu-family=rail]{right:0;top:65px;width:56px;min-height:190px;box-sizing:border-box;padding:12px 8px;background:var(--site-ink);color:var(--site-paper);flex-direction:column;gap:10px;writing-mode:horizontal-tb;border-left:3px solid var(--site-accent)}
[data-gp-theme^="direction-"] .menu-button[data-menu-family=rail] .menu-button-label{display:block;max-width:100%;font-size:11px;line-height:1.2;writing-mode:vertical-rl;text-orientation:mixed}
[data-gp-theme^="direction-"] .menu-button[data-menu-family=rail] .menu-button-glyph{font-size:20px}
[data-gp-theme^="direction-"] .menu-button[data-menu-family=folio]{right:28px;top:75px;min-height:56px;background:var(--site-paper);color:var(--site-ink);border-top:2px solid var(--site-ink);border-bottom:2px solid var(--site-ink);clip-path:polygon(0 0,100% 0,100% 80%,88% 100%,0 100%);padding-right:25px}
[data-gp-theme^="direction-"] .menu-button[data-menu-family=folio]:before{content:'';width:8px;height:8px;background:var(--site-accent);border-radius:50%}
[data-gp-theme^="direction-"] .menu-button[data-menu-family=utility]{right:18px;top:83px;min-height:46px;background:var(--site-ink);color:var(--site-paper);font-family:PlexMono,monospace;letter-spacing:.02em;border-left:5px solid var(--site-accent)}
[data-gp-theme^="direction-"] .menu-button[data-menu-family=utility]:before{content:'●';font-size:10px;color:var(--site-accent)}
[data-gp-theme^="direction-"] .menu-button[data-menu-family=material]{right:25px;top:78px;min-height:56px;background:var(--site-accent);color:var(--site-paper);transform:rotate(5deg);border-radius:2px 18px 2px 2px;outline:1px solid color-mix(in srgb,var(--site-ink) 65%,transparent);outline-offset:3px}
[data-gp-theme^="direction-"] .menu-button[data-menu-family=material]:hover{transform:rotate(0)}
[data-gp-theme^="direction-"] .menu-button[data-menu-family=material]:active{transform:rotate(0) scale(.95)}
[data-gp-theme^="direction-"] .menu-button[data-menu-family=vertical]{right:24px;top:82px;background:var(--site-paper);color:var(--site-ink);border:1px solid var(--site-ink);gap:12px;padding:10px 14px}
[data-gp-theme^="direction-"] .menu-button[data-menu-family=vertical] .menu-button-label{font-size:11px}
[data-gp-theme^="direction-"] .menu-button[data-menu-family=vertical] .menu-button-glyph{font:20px/1 PlexMono,monospace}

[data-gp-theme^="direction-"] dialog.site-menu[open]{display:block;position:fixed;inset:0;margin:auto;overflow:auto;overscroll-behavior:contain;max-height:calc(100dvh - 24px);max-width:calc(100vw - 24px);border:0;border-radius:0;box-shadow:none;background:var(--site-paper);color:var(--site-ink)}
[data-gp-theme^="direction-"] .site-menu::backdrop{background:color-mix(in srgb,var(--site-ink) 78%,transparent);backdrop-filter:blur(4px)}
[data-gp-theme^="direction-"] .site-menu .menu-heading{background:transparent;color:inherit;padding:36px 48px 22px;position:relative;z-index:2;grid-template-columns:1fr auto;align-items:start}
[data-gp-theme^="direction-"] .site-menu .menu-heading small{font:700 11px PlexMono,monospace;letter-spacing:.15em;line-height:1.5}
[data-gp-theme^="direction-"] .site-menu .menu-heading h2{font:500 clamp(35px,5vw,68px)/.98 var(--site-display),serif;letter-spacing:-.06em;max-width:680px;margin:12px 0 0}
[data-gp-theme^="direction-"] .site-menu .menu-heading button{grid-column:2;grid-row:1/3;border:0;border-bottom:1px solid currentColor;background:transparent;color:inherit;min-width:44px;min-height:44px;padding:9px 0;cursor:pointer;font:700 12px PlexMono,monospace;text-transform:uppercase}
[data-gp-theme^="direction-"] .site-menu .menu-heading button:hover{text-decoration:underline}
[data-gp-theme^="direction-"] .site-menu nav{counter-reset:direction-menu;position:relative;z-index:2;padding:0 48px 28px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 34px}
[data-gp-theme^="direction-"] .site-menu nav .gp-dialog-page-links{display:contents}
[data-gp-theme^="direction-"] .site-menu nav a{counter-increment:direction-menu;display:flex!important;align-items:center;gap:18px;min-width:0;min-height:57px;padding:12px 0;border:0;border-bottom:1px solid color-mix(in srgb,var(--site-ink) 45%,transparent);font:500 clamp(17px,2vw,26px)/1.12 var(--site-display),serif;color:inherit;text-decoration:none}
[data-gp-theme^="direction-"] .site-menu nav a:before{content:counter(direction-menu,decimal-leading-zero);flex:none;font:11px PlexMono,monospace;color:var(--site-accent)}
[data-gp-theme^="direction-"] .site-menu nav a:after{content:'↗';margin-left:auto;flex:none;font:13px PlexMono,monospace}
[data-gp-theme^="direction-"] .site-menu nav a>span,[data-gp-theme^="direction-"] .site-menu nav a>i{display:none}
[data-gp-theme^="direction-"] .site-menu nav a>b{font:inherit;min-width:0}
[data-gp-theme^="direction-"] .site-menu nav a:hover,[data-gp-theme^="direction-"] .site-menu nav a[aria-current=page]{color:var(--site-accent);text-decoration:none;padding-left:8px}
[data-gp-theme^="direction-"] .site-menu nav a:focus-visible{outline:3px solid var(--site-accent);outline-offset:2px}
[data-gp-theme^="direction-"] .site-menu>p{position:relative;z-index:2;margin:0;padding:0 48px 38px;max-width:750px;font:15px/1.5 var(--site-body),Arial,sans-serif}

/* An oversized newspaper index, with the pages as editorial entries. */
[data-gp-theme^="direction-"] .site-menu[data-menu-family=editorial]{width:min(1120px,calc(100vw - 24px));min-height:min(760px,calc(100dvh - 24px));background:var(--site-paper);border-top:11px solid var(--site-ink)}
[data-gp-theme^="direction-"] .site-menu[data-menu-family=editorial]:before{content:attr(data-menu-mark);position:absolute;right:24px;top:40px;font:700 clamp(100px,20vw,260px)/1 var(--site-display),serif;letter-spacing:-.1em;opacity:.06;pointer-events:none}
[data-gp-theme^="direction-"] .site-menu[data-menu-family=editorial] .menu-heading{border-bottom:3px double var(--site-ink);margin:0 48px 18px;padding-inline:0}
[data-gp-theme^="direction-"] .site-menu[data-menu-family=editorial] nav{grid-template-columns:repeat(2,minmax(0,1fr))}
[data-gp-theme^="direction-"] .site-menu[data-menu-family=editorial] nav a{font-style:italic;border-bottom:1px solid currentColor}
[data-gp-theme^="direction-"] .site-menu[data-menu-family=editorial]>p{font-style:italic}

/* An optical instrument: a disc beside the route through the pages. */
[data-gp-theme^="direction-"] dialog.site-menu[data-menu-family=lens][open]{width:min(1020px,calc(100vw - 24px));border-radius:clamp(22px,5vw,60px);background:var(--site-ink);color:var(--site-paper);padding-left:min(27%,250px)}
[data-gp-theme^="direction-"] .site-menu[data-menu-family=lens]:before{content:attr(data-menu-mark);position:absolute;top:50%;left:-125px;transform:translateY(-50%);width:340px;height:340px;border:2px solid var(--site-accent);border-radius:50%;box-shadow:0 0 0 14px var(--site-ink),0 0 0 16px var(--site-accent),0 0 0 50px var(--site-ink),0 0 0 51px var(--site-accent);display:grid;place-items:center;font:700 100px var(--site-display),serif;color:var(--site-accent);text-align:center}
[data-gp-theme^="direction-"] .site-menu[data-menu-family=lens] nav{grid-template-columns:1fr;gap:0}
[data-gp-theme^="direction-"] .site-menu[data-menu-family=lens] nav a{border-bottom:1px solid color-mix(in srgb,var(--site-paper) 45%,transparent)}

/* A vertical building directory that enters from the side. */
[data-gp-theme^="direction-"] dialog.site-menu[data-menu-family=rail][open]{inset:0 0 0 auto;width:min(510px,100%);max-height:100dvh;height:100dvh;max-width:100%;margin:0;border-left:16px solid var(--site-accent)}
[data-gp-theme^="direction-"] .site-menu[data-menu-family=rail] .menu-heading{padding-top:58px}
[data-gp-theme^="direction-"] .site-menu[data-menu-family=rail] nav{grid-template-columns:1fr}
[data-gp-theme^="direction-"] .site-menu[data-menu-family=rail] nav a{font-size:clamp(22px,3vw,34px);border-bottom:1px solid var(--site-ink)}
[data-gp-theme^="direction-"] .site-menu[data-menu-family=rail] nav a:after{content:'→'}
[data-gp-theme^="direction-"] .site-menu[data-menu-family=rail]:before{content:attr(data-menu-mark);position:absolute;right:25px;bottom:20px;font:700 120px var(--site-display),serif;opacity:.08}

/* A paper leaf, exposed with a clipped tab and generous reading margin. */
[data-gp-theme^="direction-"] .site-menu[data-menu-family=folio]{width:min(940px,calc(100vw - 24px));border:1px solid var(--site-ink);border-top:16px solid var(--site-accent);background:var(--site-paper)}
[data-gp-theme^="direction-"] .site-menu[data-menu-family=folio]:before{content:attr(data-menu-mark);position:absolute;right:0;top:0;width:105px;height:105px;background:var(--site-ink);color:var(--site-paper);clip-path:polygon(0 0,100% 0,100% 100%);text-align:right;padding:12px;font:700 18px PlexMono,monospace}
[data-gp-theme^="direction-"] .site-menu[data-menu-family=folio] .menu-heading{margin-left:40px;border-left:1px solid var(--site-accent)}
[data-gp-theme^="direction-"] .site-menu[data-menu-family=folio] nav{margin-left:40px;border-left:1px solid var(--site-accent);grid-template-columns:1fr}
[data-gp-theme^="direction-"] .site-menu[data-menu-family=folio] nav a{font-style:italic;min-height:53px}
[data-gp-theme^="direction-"] .site-menu[data-menu-family=folio]>p{margin-left:40px}

/* A control board: compact labels and tabular page rows. */
[data-gp-theme^="direction-"] dialog.site-menu[data-menu-family=utility][open]{inset:0 0 auto;width:min(1100px,100vw);max-width:100vw;max-height:min(88dvh,760px);border-top:8px solid var(--site-accent);background:var(--site-ink);color:var(--site-paper)}
[data-gp-theme^="direction-"] .site-menu[data-menu-family=utility] .menu-heading{border-bottom:1px solid var(--site-accent)}
[data-gp-theme^="direction-"] .site-menu[data-menu-family=utility] .menu-heading h2{font-family:PlexMono,monospace;font-size:clamp(28px,4vw,48px);letter-spacing:-.05em;text-transform:uppercase}
[data-gp-theme^="direction-"] .site-menu[data-menu-family=utility] nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
[data-gp-theme^="direction-"] .site-menu[data-menu-family=utility] nav a{font:700 15px/1.3 PlexMono,monospace;text-transform:uppercase;min-height:48px;border-bottom:1px solid color-mix(in srgb,var(--site-paper) 38%,transparent)}
[data-gp-theme^="direction-"] .site-menu[data-menu-family=utility] nav a:after{content:'→'}
[data-gp-theme^="direction-"] .site-menu[data-menu-family=utility]>p{font-family:PlexMono,monospace;font-size:12px}

/* A tactile sample tray. The pigment/material is the navigation cue. */
[data-gp-theme^="direction-"] dialog.site-menu[data-menu-family=material][open]{inset:auto 0 0;width:min(1080px,100vw);max-width:100vw;max-height:92dvh;min-height:min(650px,92dvh);border-top:24px solid var(--site-accent);background:var(--site-paper)}
[data-gp-theme^="direction-"] .site-menu[data-menu-family=material]:before{content:'';position:absolute;right:35px;top:40px;width:clamp(80px,18vw,200px);aspect-ratio:1;border-radius:50%;background:var(--site-accent);opacity:.5;filter:contrast(1.2);transform:rotate(-10deg)}
[data-gp-theme^="direction-"] .site-menu[data-menu-family=material] .menu-heading{width:72%;padding-bottom:10px}
[data-gp-theme^="direction-"] .site-menu[data-menu-family=material] nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:18px}
[data-gp-theme^="direction-"] .site-menu[data-menu-family=material] nav a{background:color-mix(in srgb,var(--site-paper) 86%,var(--site-accent));border:0;padding:14px 18px;min-height:66px}
[data-gp-theme^="direction-"] .site-menu[data-menu-family=material] nav a:hover,[data-gp-theme^="direction-"] .site-menu[data-menu-family=material] nav a[aria-current=page]{background:var(--site-accent);color:var(--site-paper);padding-left:25px}

/* A familiar hamburger and one readable column of page links. */
[data-gp-theme^="direction-"] dialog.site-menu[data-menu-family=vertical][open]{inset:0 0 0 auto;width:min(430px,100vw);height:100dvh;max-height:100dvh;max-width:100vw;margin:0;border-left:1px solid var(--site-ink)}
[data-gp-theme^="direction-"] .site-menu[data-menu-family=vertical] .menu-heading{padding:28px 28px 20px;border-bottom:1px solid color-mix(in srgb,var(--site-ink) 25%,transparent)}
[data-gp-theme^="direction-"] .site-menu[data-menu-family=vertical] .menu-heading h2{font-size:clamp(23px,3vw,30px);line-height:1.15;letter-spacing:-.02em;max-width:290px}
[data-gp-theme^="direction-"] .site-menu[data-menu-family=vertical] nav{display:block;padding:14px 28px 28px}
[data-gp-theme^="direction-"] .site-menu[data-menu-family=vertical] nav a{font:500 17px/1.25 var(--site-body),Arial,sans-serif;min-height:52px;gap:0;border-bottom:1px solid color-mix(in srgb,var(--site-ink) 25%,transparent)}
[data-gp-theme^="direction-"] .site-menu[data-menu-family=vertical] nav a:before{display:none}
[data-gp-theme^="direction-"] .site-menu[data-menu-family=vertical] nav a:after{content:'›';font:24px/1 var(--site-body),Arial,sans-serif}
[data-gp-theme^="direction-"] .site-menu[data-menu-family=vertical] nav a:hover,[data-gp-theme^="direction-"] .site-menu[data-menu-family=vertical] nav a[aria-current=page]{color:var(--site-ink);background:color-mix(in srgb,var(--site-accent) 20%,var(--site-paper));font-weight:700}
[data-gp-theme^="direction-"] .site-menu[data-menu-family=vertical] nav a[aria-current=page]{box-shadow:inset 3px 0 var(--site-ink)}
[data-gp-theme^="direction-"] .site-menu[data-menu-family=vertical] nav a:focus-visible{outline-color:var(--site-ink)}
[data-gp-theme^="direction-"] .site-menu[data-menu-family=vertical]>p{border-top:1px solid color-mix(in srgb,var(--site-ink) 25%,transparent);padding:22px 28px 30px;font-size:13px}

/* Theme-specific marks keep sites in the same navigation family distinct. */
[data-gp-theme="direction-aperture"] .menu-button[data-menu-family=lens]{top:74px;right:23px}
[data-gp-theme="direction-dioptre"] .menu-button[data-menu-family=lens]{border-style:double;border-width:5px;transform:none;background:#dfe8e8}
[data-gp-theme="direction-dioptre"] .site-menu[data-menu-family=lens]:before{border-style:double;border-width:8px}
[data-gp-theme="direction-quadrant"] .menu-button[data-menu-family=lens]{background:conic-gradient(var(--site-accent) 0 25%,var(--site-paper) 25% 50%,var(--site-accent) 50% 75%,var(--site-paper) 75%);border-color:var(--site-ink)}
[data-gp-theme="direction-quadrant"] .site-menu[data-menu-family=lens]:before{box-shadow:0 0 0 14px var(--site-ink),0 0 0 16px var(--site-accent),0 0 0 34px var(--site-ink),0 0 0 35px var(--site-accent)}
[data-gp-theme="direction-linework"] .menu-button[data-menu-family=editorial]{background:#e7e1d7;color:#151817;padding-inline:15px;border-left:9px solid #b44836;border-bottom:0;right:23px}
[data-gp-theme="direction-linework"] .site-menu[data-menu-family=editorial]{border-top-color:#b44836}
[data-gp-theme="direction-quoin"] .menu-button[data-menu-family=editorial]{font-style:italic;right:35px}
[data-gp-theme="direction-quoin"] .site-menu[data-menu-family=editorial] nav a{font-family:Bodoni,serif;font-weight:400}
[data-gp-theme="direction-marchmont"] .menu-button[data-menu-family=editorial]{border-top:2px solid currentColor;border-bottom:2px solid currentColor;padding:9px 2px;right:30px}
[data-gp-theme="direction-marchmont"] .site-menu[data-menu-family=editorial] nav a{font-style:normal;font-variant-numeric:tabular-nums}
[data-gp-theme="direction-lintel"] .menu-button[data-menu-family=rail]{left:0;right:auto;border-left:0;border-right:3px solid var(--site-accent)}
[data-gp-theme="direction-lintel"] dialog.site-menu[data-menu-family=rail][open]{inset:0 auto 0 0;border-left:0;border-right:16px solid var(--site-accent)}
[data-gp-theme="direction-newel"] .menu-button[data-menu-family=rail]{background:#a7b8a5;color:#2d4238;border-color:#2d4238}
[data-gp-theme="direction-plinth"] .menu-button[data-menu-family=rail]{width:58px;border-left-width:12px}
[data-gp-theme="direction-plumbline"] .menu-button[data-menu-family=rail]{background:var(--site-paper);color:var(--site-ink);border-left:2px solid var(--site-accent);border-right:2px solid var(--site-accent)}
[data-gp-theme="direction-fathom"] .menu-button[data-menu-family=folio]{transform:rotate(3deg);border-top-color:var(--site-accent)}
[data-gp-theme="direction-tenor"] .menu-button[data-menu-family=folio]{clip-path:polygon(0 0,100% 0,100% 100%,10% 100%,0 80%);border-bottom:4px double var(--site-ink)}
[data-gp-theme="direction-windchest"] .menu-button[data-menu-family=folio]{background:#b9c999;color:#213c36;border-top-width:5px}
[data-gp-theme="direction-wrenfield"] .menu-button[data-menu-family=folio]:before{width:15px;height:15px;border:2px solid currentColor;background:transparent}
[data-gp-theme="direction-loadstar"] .menu-button[data-menu-family=utility]{border-left-color:#c75c31}
[data-gp-theme="direction-setpoint"] .menu-button[data-menu-family=utility]{border-left-color:#8edd98;border-right:5px solid #8edd98}
[data-gp-theme="direction-scalebar"] .menu-button[data-menu-family=utility]{background:#e5f2ec;color:#203b43;border-bottom:4px solid #e6a267}
[data-gp-theme="direction-fathom-rule"] .menu-button[data-menu-family=utility]{background:repeating-linear-gradient(90deg,#243c42 0 18px,#bd674b 18px 20px);border-left:0}
[data-gp-theme="direction-bole-muller"] .menu-button[data-menu-family=material]{background:#ae5036;color:#fff}
[data-gp-theme="direction-carrock"] .menu-button[data-menu-family=material]{border-radius:50% 4px 4px 4px;transform:rotate(-5deg)}
[data-gp-theme="direction-featheredge"] .menu-button[data-menu-family=material]{border-radius:0 0 24px 0;background:#59685d;color:#fff}
[data-gp-theme="direction-transom"] .menu-button[data-menu-family=material]{border-radius:0;background:#756d80;color:#fff;transform:rotate(0);border-bottom:3px solid #3d3445}

/* Keep the same family on small screens while giving every control a tap target. */
@media(max-width:800px){
 [data-gp-theme^="direction-"] .full-home-hero>.menu-button[data-menu-family],[data-gp-theme^="direction-"] .inner-hero .menu-button[data-menu-family]{top:12px;right:14px;min-width:44px;min-height:44px;max-width:150px;max-height:54px;writing-mode:horizontal-tb;transform:none;padding:8px 10px;border-radius:0;clip-path:none}
 [data-gp-theme^="direction-"] .full-home-hero>.menu-button[data-menu-family]:active,[data-gp-theme^="direction-"] .inner-hero .menu-button[data-menu-family]:active{transform:scale(.96)}
 [data-gp-theme^="direction-"] .menu-button[data-menu-family] .menu-button-label{font-size:9px;white-space:normal;text-align:left}
 [data-gp-theme^="direction-"] .menu-button[data-menu-family] .menu-button-glyph{font-size:21px}
 [data-gp-theme^="direction-"] .menu-button[data-menu-family=lens]{border-radius:50%!important;width:52px;max-width:52px;max-height:52px;min-height:52px;flex-direction:column;gap:0}
 [data-gp-theme^="direction-"] .menu-button[data-menu-family=lens] .menu-button-label{font-size:6px;text-align:center}
 [data-gp-theme^="direction-"] .menu-button[data-menu-family=lens] .menu-button-glyph{font-size:17px}
 [data-gp-theme^="direction-"] .menu-button[data-menu-family=lens]:before{inset:3px}
 [data-gp-theme^="direction-"] .full-home-hero>.menu-button[data-menu-family=rail],[data-gp-theme^="direction-"] .inner-hero .menu-button[data-menu-family=rail]{width:auto;max-width:150px;flex-direction:row;gap:6px;border-left:0;border-bottom:4px solid var(--site-accent)}
 [data-gp-theme^="direction-"] .menu-button[data-menu-family=rail] .menu-button-label{writing-mode:horizontal-tb;font-size:9px}
 [data-gp-theme="direction-lintel"] .menu-button[data-menu-family=rail]{left:auto;right:14px}
 [data-gp-theme^="direction-"] .menu-button[data-menu-family=folio]{border-top:2px solid currentColor;border-bottom:2px solid currentColor;clip-path:polygon(0 0,100% 0,100% 80%,88% 100%,0 100%)}
 [data-gp-theme^="direction-"] .menu-button[data-menu-family=editorial]{background:var(--site-paper);border-bottom:2px solid var(--site-ink)}
 [data-gp-theme^="direction-"] .site-menu .menu-heading{padding:25px 24px 17px}
 [data-gp-theme^="direction-"] .site-menu .menu-heading h2{font-size:clamp(29px,8vw,42px)}
 [data-gp-theme^="direction-"] .site-menu nav{display:block;padding:0 24px 20px}
 [data-gp-theme^="direction-"] .site-menu nav a{min-height:49px;font-size:clamp(17px,5vw,23px)}
 [data-gp-theme^="direction-"] .site-menu>p{padding:0 24px 26px}
 [data-gp-theme^="direction-"] .site-menu[data-menu-family=editorial] .menu-heading{margin:0 24px 15px;padding-inline:0}
 [data-gp-theme^="direction-"] dialog.site-menu[data-menu-family=lens][open]{padding-left:0;border-radius:20px}
 [data-gp-theme^="direction-"] .site-menu[data-menu-family=lens]:before{position:relative;left:auto;top:auto;transform:none;display:block;margin:25px 0 0 35px;width:92px;height:92px;font-size:35px;line-height:92px;box-shadow:0 0 0 6px var(--site-ink),0 0 0 7px var(--site-accent)}
 [data-gp-theme^="direction-"] .site-menu[data-menu-family=rail] .menu-heading{padding-top:26px}
 [data-gp-theme^="direction-"] .site-menu[data-menu-family=folio] .menu-heading,[data-gp-theme^="direction-"] .site-menu[data-menu-family=folio] nav,[data-gp-theme^="direction-"] .site-menu[data-menu-family=folio]>p{margin-left:12px}
 [data-gp-theme^="direction-"] .site-menu[data-menu-family=material] .menu-heading{width:100%}
 [data-gp-theme^="direction-"] .site-menu[data-menu-family=material]:before{width:70px;right:20px;top:100px}
 [data-gp-theme^="direction-"] .site-menu[data-menu-family=material] nav{display:block}
 [data-gp-theme^="direction-"] .site-menu[data-menu-family=material] nav a{margin-bottom:7px;min-height:50px}
 [data-gp-theme^="direction-"] .site-menu[data-menu-family=utility] nav a{font-size:12px}
}
@media(prefers-reduced-motion:reduce){[data-gp-theme^="direction-"] .menu-button[data-menu-family],[data-gp-theme^="direction-"] .site-menu nav a{transition:none!important}}
[data-gp-theme^="direction-"]{margin-inline:auto!important}[data-gp-theme^="direction-"] .site-shell{box-shadow:none}[data-gp-theme^="direction-"] .gp-native-media{display:contents}[data-gp-theme^="direction-"] .section-index:has(nav:empty){display:none}[data-gp-theme^="direction-"] dialog.site-menu:not([open]){display:none!important}@media(prefers-reduced-motion:reduce){[data-gp-theme^="direction-"] *,[data-gp-theme^="direction-"] *:before,[data-gp-theme^="direction-"] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
[data-gp-theme^="review-"] dialog.mega-panel:not([open]){display:none!important}
[data-gp-theme^="review-"] dialog.mega-panel[open]{position:fixed;inset:min(12vh,96px) 3vw auto;width:min(1320px,94vw);max-width:none;max-height:78vh;overflow:auto;margin:auto;padding:clamp(18px,3vw,44px);background:var(--bg);color:var(--ink);border:1px solid var(--accent);box-shadow:0 30px 100px #0009;z-index:100}
[data-gp-theme^="review-"] dialog.mega-panel::backdrop{background:#080a0bcc;backdrop-filter:blur(5px)}
[data-gp-theme^="review-"] .nav-disclosure[data-menu-open]{border:0;background:transparent;padding:8px 12px;cursor:pointer;text-transform:uppercase;letter-spacing:.08em}
[data-gp-theme^="review-"] .primary-nav .gp-horizontal-nav{display:flex;flex-flow:row nowrap;align-items:center;width:max-content;max-width:none;gap:clamp(15px,2vw,30px)}
[data-gp-theme^="review-"] .primary-nav .gp-horizontal-nav>a{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap;text-decoration:none;font-size:clamp(13px,1.1vw,16px)}
@media(max-width:850px){[data-gp-theme^="review-"] .primary-nav .gp-horizontal-nav{display:none}}
[data-gp-theme^="review-"] .gp-menu-page-link{display:block;padding:11px 0;border-bottom:1px solid var(--line);text-decoration:none}
[data-gp-theme^="review-"] .mega-links{counter-reset:rf-menu}
[data-gp-theme^="review-"] .mega-links .gp-dialog-page-links{display:contents}
[data-gp-theme^="review-"] .mega-links .gp-menu-page-link{display:flex;align-items:center;gap:16px;min-height:48px;font-size:clamp(14px,1.2vw,17px);line-height:1.2;counter-increment:rf-menu}
[data-gp-theme^="review-"] .mega-links .gp-menu-page-link:before{content:counter(rf-menu,decimal-leading-zero);font-size:11px;color:var(--accent)}
[data-gp-theme^="review-"] .mega-feature .gp-native-media{display:block;width:100%;min-height:220px}
[data-gp-theme^="review-"] .mega-feature .gp-native-media img{display:block;width:100%;height:220px;object-fit:cover}
[data-gp-theme="review-crossfire"] .mega-feature .gp-native-media,[data-gp-theme="review-kilo"] .mega-feature .gp-native-media{position:absolute;inset:0;height:100%;min-height:0}
[data-gp-theme="review-crossfire"] .mega-feature .gp-native-media>div,[data-gp-theme="review-kilo"] .mega-feature .gp-native-media>div{height:100%}
[data-gp-theme="review-crossfire"] .mega-feature .gp-native-media img,[data-gp-theme="review-kilo"] .mega-feature .gp-native-media img{position:relative;inset:auto;width:100%;height:100%;object-fit:cover}
[data-gp-theme="review-winnow"] .mega-content{grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr) minmax(0,1.8fr);gap:30px}
[data-gp-theme="review-winnow"] .mega-intro strong{font-size:clamp(28px,2.8vw,38px);line-height:1;letter-spacing:-.06em}
[data-gp-theme^="review-"] .menu-close{margin-top:25px;padding:10px 18px;background:transparent;color:var(--ink);border:1px solid var(--line)}
[data-fs-layout="full"] [data-gp-theme^="review-"] .work-grid{gap:clamp(24px,4vw,80px)}
[data-fs-layout="boxed"] [data-gp-theme^="review-"]>section{border-inline:1px solid var(--line)}
[data-fs-layout="centered"] [data-gp-theme^="review-"] :is(.hero-inner,.inside-hero>div,.page-intro){margin-inline:auto;text-align:center}
[data-fs-layout="centered"] [data-gp-theme^="review-"] :is(.hero-bottom,.work-grid,.record,.start-hero){grid-template-columns:1fr;justify-items:center}
[data-fs-layout="minimal"] [data-gp-theme^="review-"] .rf-hero-art{opacity:.2}
[data-fs-layout="minimal"] [data-gp-theme^="review-"] :is(.work-grid,.cards,.record){grid-template-columns:1fr}
[data-fs-layout="minimal"] [data-gp-theme^="review-"] :is(.work-card,.card,.specimen){box-shadow:none;border-radius:0}
[data-fs-layout="heroEdge"] [data-gp-theme^="review-"] :is(.hero,.inside-hero,.start-hero){min-height:95svh;width:100%;max-width:none;margin:0}
@media(max-width:850px){[data-gp-theme^="review-"] dialog.mega-panel[open]{inset:10vh 3vw auto;max-height:82vh}[data-gp-theme^="review-"] dialog.mega-panel .mega-content{display:grid;grid-template-columns:1fr}}
@container fs-editor-canvas (max-width:850px){[data-gp-theme^="review-"] .primary-nav .gp-horizontal-nav{display:none}[data-gp-theme^="review-"] dialog.mega-panel[open]{inset:10vh 3vw auto;max-height:82vh}[data-gp-theme^="review-"] dialog.mega-panel .mega-content{display:grid;grid-template-columns:1fr}}
@media(max-width:450px){[data-gp-theme^="review-"] .site-header .header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:12px 14px}[data-gp-theme^="review-"] .site-brand{min-width:0;max-width:none;overflow-wrap:anywhere}[data-gp-theme^="review-"] .primary-nav{justify-self:end;min-width:0;gap:0}[data-gp-theme^="review-"] .header-cta{grid-column:1/-1;justify-self:stretch;text-align:center;padding:10px 12px;white-space:normal}}
@container fs-editor-canvas (max-width:450px){[data-gp-theme^="review-"] .site-header .header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:12px 14px}[data-gp-theme^="review-"] .site-brand{min-width:0;max-width:none;overflow-wrap:anywhere}[data-gp-theme^="review-"] .primary-nav{justify-self:end;min-width:0;gap:0}[data-gp-theme^="review-"] .header-cta{grid-column:1/-1;justify-self:stretch;text-align:center;padding:10px 12px;white-space:normal}}
@media(max-width:450px){[data-gp-theme="review-crossfire"] .hero .primary-link .fs-richtext{font-size:18px;white-space:nowrap}[data-gp-theme="review-crossfire"] .hero::after{opacity:.62}}
@container fs-editor-canvas (max-width:450px){[data-gp-theme="review-crossfire"] .hero .primary-link .fs-richtext{font-size:18px;white-space:nowrap}[data-gp-theme="review-crossfire"] .hero::after{opacity:.62}}
@font-face{font-family:"Space Grotesk";src:url('/theme-art/gpt-premium/fonts/acad6de1fc-SpaceGrotesk[wght].ttf') format("truetype");font-weight:100 900;font-style:normal;font-display:swap;}
@font-face{font-family:"Source Sans 3";src:url('/theme-art/gpt-premium/fonts/042fe2cc0b-SourceSans3[wght].ttf') format("truetype");font-weight:100 900;font-style:normal;font-display:swap;}
@font-face{font-family:"Fraunces";src:url('/theme-art/gpt-premium/fonts/177ff6c0f1-Fraunces[SOFT,WONK,opsz,wght].ttf') format("truetype");font-weight:100 900;font-style:normal;font-display:swap;}
@font-face{font-family:"Figtree";src:url('/theme-art/gpt-premium/fonts/26ad3db9b3-Figtree[wght].ttf') format("truetype");font-weight:100 900;font-style:normal;font-display:swap;}
@font-face{font-family:"Barlow Condensed";src:url('/theme-art/gpt-premium/fonts/583cec5da3-BarlowCondensed-Regular.ttf') format("truetype");font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"Barlow Condensed";src:url('/theme-art/gpt-premium/fonts/7b619d14bc-BarlowCondensed-SemiBold.ttf') format("truetype");font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:"Barlow Condensed";src:url('/theme-art/gpt-premium/fonts/e476562ec9-BarlowCondensed-Bold.ttf') format("truetype");font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:"IBM Plex Sans";src:url('/theme-art/gpt-premium/fonts/3b031aa421-IBMPlexSans[wdth,wght].ttf') format("truetype");font-weight:100 900;font-style:normal;font-display:swap;}
@font-face{font-family:"Newsreader";src:url('/theme-art/gpt-premium/fonts/8a08d13f8a-Newsreader[opsz,wght].ttf') format("truetype");font-weight:100 900;font-style:normal;font-display:swap;}
@font-face{font-family:"DM Sans";src:url('/theme-art/gpt-premium/fonts/8cd08d97e8-DMSans[opsz,wght].ttf') format("truetype");font-weight:100 900;font-style:normal;font-display:swap;}
@font-face{font-family:"Bricolage Grotesque";src:url('/theme-art/gpt-premium/fonts/413e735780-BricolageGrotesque[opsz,wdth,wght].ttf') format("truetype");font-weight:100 900;font-style:normal;font-display:swap;}
@font-face{font-family:"Cormorant Garamond";src:url('/theme-art/gpt-premium/fonts/b20b7d9626-CormorantGaramond[wght].ttf') format("truetype");font-weight:100 900;font-style:normal;font-display:swap;}
@font-face{font-family:"Literata";src:url('/theme-art/gpt-premium/fonts/b41138c937-Literata[opsz,wght].ttf') format("truetype");font-weight:100 900;font-style:normal;font-display:swap;}
@font-face{font-family:"Atkinson Hyperlegible Next";src:url('/theme-art/gpt-premium/fonts/5a455d1cfa-AtkinsonHyperlegibleNext[wght].ttf') format("truetype");font-weight:100 900;font-style:normal;font-display:swap;}
@font-face{font-family:"Instrument Sans";src:url('/theme-art/gpt-premium/fonts/b24f181258-InstrumentSans[wdth,wght].ttf') format("truetype");font-weight:100 900;font-style:normal;font-display:swap;}
@font-face{font-family:"Bitter";src:url('/theme-art/gpt-premium/fonts/ef2b9a711f-Bitter[wght].ttf') format("truetype");font-weight:100 900;font-style:normal;font-display:swap;}
@font-face{font-family:"Archivo";src:url('/theme-art/gpt-premium/fonts/0e094a7d3c-Archivo[wdth,wght].ttf') format("truetype");font-weight:100 900;font-style:normal;font-display:swap;}
@font-face{font-family:"Public Sans";src:url('/theme-art/gpt-premium/fonts/d75a7dc1a2-PublicSans[wght].ttf') format("truetype");font-weight:100 900;font-style:normal;font-display:swap;}
@font-face{font-family:"Bodoni Moda";src:url('/theme-art/gpt-premium/fonts/550f5e34ee-BodoniModa[opsz,wght].ttf') format("truetype");font-weight:100 900;font-style:normal;font-display:swap;}
@font-face{font-family:"Manrope";src:url('/theme-art/gpt-premium/fonts/3ae11c49db-Manrope[wght].ttf') format("truetype");font-weight:100 900;font-style:normal;font-display:swap;}
@font-face{font-family:"Alegreya";src:url('/theme-art/gpt-premium/fonts/ba5564634b-Alegreya[wght].ttf') format("truetype");font-weight:100 900;font-style:normal;font-display:swap;}
@font-face{font-family:"Anton";src:url('/theme-art/gpt-premium/fonts/a4ba3a9235-Anton-Regular.ttf') format("truetype");font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"Barlow";src:url('/theme-art/gpt-premium/fonts/95aa02c7c4-Barlow-Regular.ttf') format("truetype");font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"Barlow";src:url('/theme-art/gpt-premium/fonts/86577cb32f-Barlow-SemiBold.ttf') format("truetype");font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:"Alegreya Sans";src:url('/theme-art/gpt-premium/fonts/4b89fe7804-AlegreyaSans-Medium.ttf') format("truetype");font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:"Alegreya Sans";src:url('/theme-art/gpt-premium/fonts/a3055a1893-AlegreyaSans-Bold.ttf') format("truetype");font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:"Libre Baskerville";src:url('/theme-art/gpt-premium/fonts/05a9542196-LibreBaskerville[wght].ttf') format("truetype");font-weight:400 700;font-style:normal;font-display:swap;}
@font-face{font-family:"Newsreader";src:url('/theme-art/gpt-premium/fonts/796668611f-Newsreader-Italic[opsz,wght].ttf') format("truetype");font-weight:200 800;font-style:italic;font-display:swap;}
@font-face{font-family:"Literata";src:url('/theme-art/gpt-premium/fonts/d483dfaeba-Literata-Italic[opsz,wght].ttf') format("truetype");font-weight:200 900;font-style:italic;font-display:swap;}
@font-face{font-family:"Libre Baskerville";src:url('/theme-art/gpt-premium/fonts/223959683d-LibreBaskerville-Italic[wght].ttf') format("truetype");font-weight:400 700;font-style:italic;font-display:swap;}
@font-face{font-family:"Fraunces";src:url('/theme-art/gpt-premium/fonts/b24448c437-Fraunces-Italic[SOFT,WONK,opsz,wght].ttf') format("truetype");font-weight:100 900;font-style:italic;font-display:swap;}
[data-gp-theme="set-and-span"]{--ease-out:cubic-bezier(.23,1,.32,1);--ease-drawer:cubic-bezier(.32,.72,0,1)}
[data-gp-theme="set-and-span"] *{box-sizing:border-box}[data-gp-theme="set-and-span"]{scroll-behavior:smooth;scroll-padding-top:100px}[data-gp-theme="set-and-span"]{margin:0}[data-gp-theme="set-and-span"] img{max-width:100%;display:block}[data-gp-theme="set-and-span"] :is(button,[role="button"]),[data-gp-theme="set-and-span"] input,[data-gp-theme="set-and-span"] select,[data-gp-theme="set-and-span"] textarea{font:inherit}[data-gp-theme="set-and-span"] :is(button,[role="button"]),[data-gp-theme="set-and-span"] a,[data-gp-theme="set-and-span"] input,[data-gp-theme="set-and-span"] select,[data-gp-theme="set-and-span"] textarea{touch-action:manipulation}[data-gp-theme="set-and-span"] :is(button,[role="button"]),[data-gp-theme="set-and-span"] a{ -webkit-tap-highlight-color:transparent}[data-gp-theme="set-and-span"] :is(button,[role="button"]){cursor:pointer}[data-gp-theme="set-and-span"] :is(button,[role="button"]):active{transform:translateY(1px)}[data-gp-theme="set-and-span"] a{color:inherit;text-underline-offset:.22em}[data-gp-theme="set-and-span"] :is(button,[role="button"]):focus-visible,[data-gp-theme="set-and-span"] a:focus-visible,[data-gp-theme="set-and-span"] summary:focus-visible,[data-gp-theme="set-and-span"] input:focus-visible,[data-gp-theme="set-and-span"] select:focus-visible,[data-gp-theme="set-and-span"] textarea:focus-visible{outline:3px solid var(--focus,#346ddb);outline-offset:5px}[data-gp-theme="set-and-span"] textarea{resize:vertical}[data-gp-theme="set-and-span"] input,[data-gp-theme="set-and-span"] textarea{caret-color:var(--focus,currentColor)}[data-gp-theme="set-and-span"] :is(button,[role="button"]),[data-gp-theme="set-and-span"] select,[data-gp-theme="set-and-span"] input{min-height:44px}[data-gp-theme="set-and-span"] summary{cursor:pointer}[data-gp-theme="set-and-span"] section[id],[data-gp-theme="set-and-span"] footer[id]{scroll-margin-top:110px}[data-gp-theme="set-and-span"] [hidden]{display:none!important}[data-gp-theme="set-and-span"] .skip-link{position:fixed;z-index:200;top:8px;left:8px;background:#fff;color:#111;padding:12px 18px;transform:translateY(-150%)}[data-gp-theme="set-and-span"] .skip-link:focus{transform:none}
[data-gp-theme="set-and-span"] .preview-bar{min-height:42px;background:#f6f6f2;color:#252a2a;border-bottom:1px solid #d5d8d4;font:13px/1.3 "Figtree",sans-serif;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 3vw;position:relative;z-index:30}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="set-and-span"] .preview-bar{padding:5px 3cqw}}[data-gp-theme="set-and-span"] .preview-bar a{white-space:nowrap}[data-gp-theme="set-and-span"] .preview-bar [role=group]{display:flex;gap:2px;align-items:center}[data-gp-theme="set-and-span"] .preview-bar :is(button,[role="button"]){min-height:32px;background:transparent;color:inherit;border:0;padding:6px 10px;border-radius:3px;font-size:13px;transition:background-color 150ms var(--ease-out)}[data-gp-theme="set-and-span"] .preview-bar [aria-pressed=true]{background:#252a2a;color:#fff}[data-gp-theme="set-and-span"] .preview-bar :is(button,[role="button"])[data-replay-intro]{border:1px solid #b6beb8}[data-gp-theme="set-and-span"] .preview-label{color:#515953}[data-gp-theme="set-and-span"] .preview-bar::selection{background:#252a2a;color:#fff}
[data-gp-theme="set-and-span"] dialog.mega-menu{max-width:none;max-height:calc(100dvh - 32px);overflow:auto;border:0;padding:0;color:inherit;overscroll-behavior:contain}[data-gp-theme="set-and-span"] dialog.mega-menu::backdrop{background:rgb(8 16 18 / .52)}[data-gp-theme="set-and-span"] .mega-menu[open]{animation:gp-setspan-menu-arrive 220ms var(--ease-drawer)}[data-gp-theme="set-and-span"] .mega-menu[data-closing]{animation:gp-setspan-menu-leave 160ms var(--ease-out) forwards}[data-gp-theme="set-and-span"] .mega-menu[data-keyboard]{animation:none}[data-gp-theme="set-and-span"] .menu-lock{overflow:hidden}@keyframes gp-setspan-menu-arrive{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}@keyframes gp-setspan-menu-leave{to{opacity:0;transform:translateY(-10px)}}
[data-gp-theme="set-and-span"] .preloader{display:none;position:fixed;inset:0;z-index:190;place-content:center;pointer-events:none;text-align:center}[data-gp-theme="set-and-span"] .preloader.is-active{display:grid;animation:gp-setspan-intro-failsafe 1.3s step-end forwards}[data-gp-theme="set-and-span"] .preloader.is-leaving{opacity:0;transition:opacity 180ms var(--ease-out)}@keyframes gp-setspan-intro-failsafe{0%,99%{visibility:visible}100%{visibility:hidden}}
@media(max-width:650px){[data-gp-theme="set-and-span"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="set-and-span"] .preview-bar .preview-label{display:none}[data-gp-theme="set-and-span"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="set-and-span"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="set-and-span"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="set-and-span"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="set-and-span"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="set-and-span"] .preview-bar .preview-label{display:none}[data-gp-theme="set-and-span"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="set-and-span"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="set-and-span"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="set-and-span"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="set-and-span"]{scroll-behavior:auto}[data-gp-theme="set-and-span"] *,[data-gp-theme="set-and-span"] *::before,[data-gp-theme="set-and-span"] *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-gp-theme="set-and-span"] .preloader.is-active{display:none!important}}
@media(max-width:650px){[data-gp-theme="set-and-span"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="set-and-span"] .preview-bar a{font-size:12px}[data-gp-theme="set-and-span"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="set-and-span"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="set-and-span"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="set-and-span"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="set-and-span"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="set-and-span"] .preview-bar a{font-size:12px}[data-gp-theme="set-and-span"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="set-and-span"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="set-and-span"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="set-and-span"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}

[data-gp-theme="set-and-span"]{--paper:#e9e6dd;--ink:#222d2a;--accent:#98482f;--wash:#dedacf;--line:#a5aaa0;--on-accent:#fffaf2;--muted:#4e5b54;--display:"Space Grotesk",sans-serif;--body:"Source Sans 3",sans-serif;background:var(--paper);color:var(--ink);font:18px/1.6 var(--body)}
[data-gp-theme="set-and-span"][data-palette="1"]{--paper:#edeee3;--ink:#273020;--accent:#49602d;--wash:#e0e3d3;--line:#a3aa94;--muted:#505e44}
[data-gp-theme="set-and-span"][data-palette="2"]{--paper:#e6e9e8;--ink:#202f38;--accent:#315d80;--wash:#d6dedf;--line:#99a9ae;--muted:#485d68}
[data-gp-theme="set-and-span"][data-mode="dark"]{--paper:#202823;--ink:#eeeae0;--wash:#2a342d;--line:#68766b;--accent:#efab8b;--on-accent:#261a13;--muted:#c5cfc5}
[data-gp-theme="set-and-span"][data-mode="dark"][data-palette="1"]{--paper:#22291e;--wash:#2e3927;--ink:#edf0dc;--accent:#c4d49b;--on-accent:#202817;--muted:#c7d0b7;--line:#69795b}
[data-gp-theme="set-and-span"][data-mode="dark"][data-palette="2"]{--paper:#1d2931;--wash:#2a3943;--ink:#e6edf0;--accent:#a1c8e6;--on-accent:#162938;--muted:#c2d4df;--line:#607d8d}
[data-gp-theme="set-and-span"] h1,[data-gp-theme="set-and-span"] h2,[data-gp-theme="set-and-span"] h3,[data-gp-theme="set-and-span"] p,[data-gp-theme="set-and-span"] figure,[data-gp-theme="set-and-span"] dl,[data-gp-theme="set-and-span"] dd{margin:0}[data-gp-theme="set-and-span"] h1,[data-gp-theme="set-and-span"] h2,[data-gp-theme="set-and-span"] h3{font-family:var(--display);font-weight:500;letter-spacing:-.035em}[data-gp-theme="set-and-span"] h1{font-size:clamp(45px,4.4vw,68px);line-height:1.03}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="set-and-span"] h1{font-size:clamp(45px,4.4cqw,68px)}}[data-gp-theme="set-and-span"] h2{font-size:clamp(34px,3.3vw,50px);line-height:1.08}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="set-and-span"] h2{font-size:clamp(34px,3.3cqw,50px)}}[data-gp-theme="set-and-span"] h3{font-size:24px;line-height:1.2}[data-gp-theme="set-and-span"] svg{fill:none;stroke:currentColor;stroke-width:1.5;width:24px;height:24px}[data-gp-theme="set-and-span"] a{text-decoration:none}[data-gp-theme="set-and-span"] .wrap{max-width:1500px;margin:auto;padding-inline:4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="set-and-span"] .wrap{padding-inline:4cqw}}[data-gp-theme="set-and-span"] .site-header{display:flex;align-items:center;justify-content:space-between;gap:32px;max-width:1600px;margin:auto;padding:24px 4vw;border-bottom:1px solid var(--line)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="set-and-span"] .site-header{padding:24px 4cqw}}[data-gp-theme="set-and-span"] .brand{display:flex;align-items:center;gap:14px;font:500 28px/1 var(--display);letter-spacing:-.035em}[data-gp-theme="set-and-span"] .brand svg{width:38px;height:38px;stroke-width:1.6;flex-shrink:0}[data-gp-theme="set-and-span"] .brand small{display:block;font:14px/1.4 var(--body);letter-spacing:0;margin-top:8px;color:var(--muted)}[data-gp-theme="set-and-span"] .site-header nav{display:flex;gap:28px;font-size:16px}[data-gp-theme="set-and-span"] .site-header nav a{padding:10px 0;border-bottom:1px solid transparent;transition:border-color 150ms var(--ease-out)}[data-gp-theme="set-and-span"] .menu-button{display:flex;gap:24px;align-items:center;background:transparent;border:1px solid var(--line);color:var(--ink);padding:10px 16px;font-size:16px}[data-gp-theme="set-and-span"] .menu-button svg{width:18px;height:18px}[data-gp-theme="set-and-span"] .opening{display:grid;grid-template-columns:.78fr 1.35fr;gap:4vw;padding-top:38px;padding-bottom:65px;align-items:stretch}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="set-and-span"] .opening{gap:4cqw}}[data-gp-theme="set-and-span"] .opening-copy{display:flex;flex-direction:column;align-items:flex-start}[data-gp-theme="set-and-span"] .project-id{display:flex;justify-content:space-between;gap:20px;width:100%;font-size:14px;color:var(--muted);padding-bottom:35px}[data-gp-theme="set-and-span"] .opening h1{margin-bottom:25px}[data-gp-theme="set-and-span"] .opening-copy>p{max-width:34ch;color:var(--muted);font-size:19px;line-height:1.55}[data-gp-theme="set-and-span"] .text-link{display:inline-flex;gap:30px;align-items:center;border-bottom:1px solid var(--ink);padding:12px 0;margin:22px 0 30px;font-weight:600}[data-gp-theme="set-and-span"] .room-register{width:100%;margin-top:auto;border-top:1px solid var(--line);font-size:14px}[data-gp-theme="set-and-span"] .room-register div{display:grid;grid-template-columns:90px 1fr;gap:15px;border-bottom:1px solid var(--line);padding:12px 0}[data-gp-theme="set-and-span"] .room-register dt{color:var(--muted)}[data-gp-theme="set-and-span"] .project-sheet{border:1px solid var(--line);background:var(--wash);min-width:0;display:flex;flex-direction:column}[data-gp-theme="set-and-span"] .sheet-top,[data-gp-theme="set-and-span"] .sheet-bottom{display:flex;justify-content:space-between;gap:16px;padding:12px 16px;font-size:13px}[data-gp-theme="set-and-span"] .sheet-top{border-bottom:1px solid var(--line)}[data-gp-theme="set-and-span"] .sheet-bottom{border-top:1px solid var(--line);margin-top:auto}[data-gp-theme="set-and-span"] .room-art{position:relative;aspect-ratio:1.38;overflow:hidden;background:#eeeae1}[data-gp-theme="set-and-span"] .room-art>img{width:100%;height:100%;object-fit:contain}[data-gp-theme="set-and-span"][data-media="photo"] .room-art>img{width:200%;height:200%;max-width:none;object-fit:fill;position:absolute;left:0;top:0}[data-gp-theme="set-and-span"] .pin{position:absolute;background:var(--paper);color:var(--ink);border:1px solid var(--ink);border-radius:50%;width:44px;height:44px;font-size:14px;box-shadow:0 3px 12px #121e1920;transition:background-color 150ms var(--ease-out),color 150ms var(--ease-out),transform 150ms var(--ease-out)}[data-gp-theme="set-and-span"] .pin[aria-pressed=true]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}[data-gp-theme="set-and-span"] .niche{top:30%;left:32%}[data-gp-theme="set-and-span"] .screen{top:53%;left:64%}[data-gp-theme="set-and-span"] .floor{top:71%;left:43%}[data-gp-theme="set-and-span"][data-media=photo] .niche{top:38%;left:40%}[data-gp-theme="set-and-span"][data-media=photo] .screen{top:70%;left:85%}[data-gp-theme="set-and-span"][data-media=photo] .floor{top:87%;left:29%}[data-gp-theme="set-and-span"] .details-section{padding-block:65px;border-top:1px solid var(--line)}[data-gp-theme="set-and-span"] .section-opening{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin-bottom:38px;align-items:end}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="set-and-span"] .section-opening{gap:8cqw}}[data-gp-theme="set-and-span"] .section-opening p{max-width:46ch;color:var(--muted)}[data-gp-theme="set-and-span"] .detail-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:6vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="set-and-span"] .detail-layout{gap:6cqw}}[data-gp-theme="set-and-span"] .detail-list>:is(button,[role="button"]){display:flex;align-items:center;gap:18px;width:100%;background:transparent;color:var(--ink);border:0;border-top:1px solid var(--line);padding:19px 0;text-align:left;transition:color 150ms var(--ease-out)}[data-gp-theme="set-and-span"] .detail-list>:is(button,[role="button"]):last-of-type{border-bottom:1px solid var(--line)}[data-gp-theme="set-and-span"] .detail-list>:is(button,[role="button"])>span:not(.fs-richtext){font-size:14px;color:var(--muted)}[data-gp-theme="set-and-span"] .detail-list>:is(button,[role="button"])>svg{margin-left:auto;width:20px}[data-gp-theme="set-and-span"] .detail-list :is(button,[role="button"])[aria-pressed=true]{color:var(--accent);font-weight:600}[data-gp-theme="set-and-span"] .detail-copy{padding-top:32px;min-height:210px}[data-gp-theme="set-and-span"] .detail-copy h3{margin-bottom:16px}[data-gp-theme="set-and-span"] .detail-copy p{color:var(--muted);max-width:43ch}[data-gp-theme="set-and-span"] .junction img{width:100%;aspect-ratio:1.5;object-fit:cover;background:#eeeae1}[data-gp-theme="set-and-span"] .junction figcaption{font-size:14px;padding-top:12px;color:var(--muted)}[data-gp-theme="set-and-span"] .materials-section{background:var(--wash);padding-block:65px}[data-gp-theme="set-and-span"] .material-ledger{border-top:1px solid var(--line)}[data-gp-theme="set-and-span"] .material-row{display:grid;grid-template-columns:120px 1fr auto 24px;gap:30px;align-items:center;width:100%;border:0;border-bottom:1px solid var(--line);color:var(--ink);background:transparent;text-align:left;padding:20px 0}[data-gp-theme="set-and-span"] .material-row strong{font:500 29px/1.1 var(--display)}[data-gp-theme="set-and-span"] .material-row small{display:block;font-size:16px;margin-top:9px;color:var(--muted)}[data-gp-theme="set-and-span"] .sample{display:block;width:120px;height:85px;border:1px solid #6b6c5e}[data-gp-theme="set-and-span"] .stone{background:repeating-linear-gradient(22deg,#c2b59f 0,#d7cebc 25px,#b7ab97 27px,#c4bba9 28px,#dbd1bf 63px)}[data-gp-theme="set-and-span"] .ceramic{background:repeating-linear-gradient(0deg,transparent 0 39px,#f0eadc 40px 43px),repeating-linear-gradient(90deg,#86947b 0 39px,#f0eadc 40px 43px)}[data-gp-theme="set-and-span"] .porcelain{background:#b2ada4}[data-gp-theme="set-and-span"] .selected-label{visibility:hidden;font-size:14px;color:var(--accent)}[data-gp-theme="set-and-span"] .material-row[aria-pressed=true] .selected-label{visibility:visible}[data-gp-theme="set-and-span"] .material-row[aria-pressed=true]>svg{transform:rotate(45deg);color:var(--accent)}[data-gp-theme="set-and-span"] .material-row>svg{transition:transform 180ms var(--ease-out)}[data-gp-theme="set-and-span"] .sequence{padding-block:65px}[data-gp-theme="set-and-span"] .sequence ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:35px}[data-gp-theme="set-and-span"] .sequence li{display:flex;align-items:flex-start;gap:22px;border-top:1px solid var(--ink);padding-top:22px}[data-gp-theme="set-and-span"] .sequence li>span:not(.fs-richtext){font-size:14px;color:var(--muted);padding-top:4px}[data-gp-theme="set-and-span"] .sequence h3{font-size:22px;margin-bottom:15px}[data-gp-theme="set-and-span"] .sequence p{color:var(--muted)}[data-gp-theme="set-and-span"] .questions{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.5fr;gap:6vw;padding-block:55px 75px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="set-and-span"] .questions{gap:6cqw}}[data-gp-theme="set-and-span"] .questions details{border-bottom:1px solid var(--line);padding:16px 0}[data-gp-theme="set-and-span"] .questions details:first-child{border-top:1px solid var(--line)}[data-gp-theme="set-and-span"] .questions summary{font-size:19px;padding-block:8px}[data-gp-theme="set-and-span"] .questions details p{color:var(--muted);padding:15px 0 10px;max-width:65ch}[data-gp-theme="set-and-span"] .brief-section{background:var(--wash);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:70px}[data-gp-theme="set-and-span"] .brief-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="set-and-span"] .brief-layout{gap:8cqw}}[data-gp-theme="set-and-span"] .brief-layout h2{margin-bottom:25px}[data-gp-theme="set-and-span"] .brief-layout p{max-width:42ch}[data-gp-theme="set-and-span"] .selection-note{margin-top:30px;font-weight:600;color:var(--accent)}[data-gp-theme="set-and-span"] .small-note{font-size:14px;color:var(--muted);margin-top:25px}[data-gp-theme="set-and-span"] label{display:block;font-size:15px;font-weight:600;margin-bottom:7px}[data-gp-theme="set-and-span"] input,[data-gp-theme="set-and-span"] select,[data-gp-theme="set-and-span"] textarea{display:block;width:100%;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:0;padding:12px 14px;margin-bottom:20px}[data-gp-theme="set-and-span"] input::placeholder,[data-gp-theme="set-and-span"] textarea::placeholder{color:var(--muted);opacity:1}[data-gp-theme="set-and-span"] .form-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}[data-gp-theme="set-and-span"] .brief-section output{display:block;white-space:pre-line;background:var(--paper);border:1px solid var(--line);margin-top:24px;padding:22px;font-size:16px;line-height:1.6}[data-gp-theme="set-and-span"] .site-footer{padding:45px 4vw 25px;max-width:1600px;margin:auto}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="set-and-span"] .site-footer{padding:45px 4cqw 25px}}[data-gp-theme="set-and-span"] .footer-title{display:flex;justify-content:space-between;gap:20px;align-items:baseline;padding-bottom:30px}[data-gp-theme="set-and-span"] .footer-title>a{font:500 clamp(36px,5vw,70px)/1 var(--display);letter-spacing:-.04em}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="set-and-span"] .footer-title>a{font:500 clamp(36px,5cqw,70px)/1 var(--display)}}[data-gp-theme="set-and-span"] .footer-title>span:not(.fs-richtext){font-size:15px;color:var(--muted)}[data-gp-theme="set-and-span"] .footer-register{display:grid;grid-template-columns:1fr 1fr 1.2fr;border:1px solid var(--line)}[data-gp-theme="set-and-span"] .footer-register>div{padding:25px 28px;display:flex;flex-direction:column;align-items:flex-start}[data-gp-theme="set-and-span"] .footer-register>div+div{border-left:1px solid var(--line)}[data-gp-theme="set-and-span"] .footer-register span:not(.fs-richtext){font-size:13px;color:var(--muted);margin-bottom:14px}[data-gp-theme="set-and-span"] .footer-register a{font-size:16px;padding:6px 0}[data-gp-theme="set-and-span"] .footer-register p{font-size:16px}[data-gp-theme="set-and-span"] .footer-bottom{display:flex;justify-content:space-between;gap:24px;padding-top:25px;font-size:13px;color:var(--muted)}[data-gp-theme="set-and-span"] .mega-menu{width:min(1120px,calc(100% - 36px));background:var(--paper);color:var(--ink);margin:auto}[data-gp-theme="set-and-span"] .menu-head,[data-gp-theme="set-and-span"] .menu-foot{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:25px 30px;border-bottom:1px solid var(--line)}[data-gp-theme="set-and-span"] .menu-head h2{font-size:34px}[data-gp-theme="set-and-span"] .menu-head :is(button,[role="button"]){display:flex;align-items:center;gap:15px;background:transparent;color:var(--ink);border:1px solid var(--line);padding:8px 14px}[data-gp-theme="set-and-span"] .menu-body{display:grid;grid-template-columns:1fr 1.5fr}[data-gp-theme="set-and-span"] .menu-drawing{padding:25px;border-right:1px solid var(--line);background:var(--wash)}[data-gp-theme="set-and-span"] .menu-drawing img{width:100%;background:#eeeae1}[data-gp-theme="set-and-span"] .menu-drawing p{font:500 25px/1.2 var(--display);margin-top:20px}[data-gp-theme="set-and-span"] .menu-index{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:35px}[data-gp-theme="set-and-span"] .menu-index section{display:flex;flex-direction:column;align-items:flex-start}[data-gp-theme="set-and-span"] .menu-index h3{font-size:24px;margin-bottom:22px}[data-gp-theme="set-and-span"] .menu-index a{padding:10px 0;font-size:17px}[data-gp-theme="set-and-span"] .menu-index>p{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;color:var(--muted);font-size:14px}[data-gp-theme="set-and-span"] .menu-foot{border:0;border-top:1px solid var(--line);font-size:13px}[data-gp-theme="set-and-span"] .preloader{background:var(--paper);color:var(--ink)}[data-gp-theme="set-and-span"] .preloader svg{width:110px;height:110px;margin:auto auto 25px;stroke-width:2;stroke-dasharray:380;stroke-dashoffset:0}[data-gp-theme="set-and-span"] .preloader.is-active svg{animation:gp-setspan-register-draw 600ms var(--ease-out)}[data-gp-theme="set-and-span"] .preloader>span:not(.fs-richtext){font:500 32px var(--display)}@keyframes gp-setspan-register-draw{from{stroke-dashoffset:380}to{stroke-dashoffset:0}}
@media(hover:hover) and (pointer:fine){[data-gp-theme="set-and-span"] .site-header nav a:hover{border-bottom-color:var(--ink)}[data-gp-theme="set-and-span"] .text-link:hover svg{transform:translateX(4px)}[data-gp-theme="set-and-span"] .text-link svg{transition:transform 180ms var(--ease-out)}[data-gp-theme="set-and-span"] .material-row:hover{color:var(--accent)}[data-gp-theme="set-and-span"] .pin:hover{transform:translateY(-2px)}[data-gp-theme="set-and-span"] .footer-register a:hover,[data-gp-theme="set-and-span"] .menu-index a:hover{text-decoration:underline}}
@media(max-width:1000px){[data-gp-theme="set-and-span"] .site-header nav{display:none}[data-gp-theme="set-and-span"] .opening{grid-template-columns:.9fr 1.1fr}[data-gp-theme="set-and-span"] .opening h1{font-size:48px}[data-gp-theme="set-and-span"] .project-id{padding-bottom:22px;font-size:12px}[data-gp-theme="set-and-span"] .room-register{margin-top:22px}[data-gp-theme="set-and-span"] .project-sheet{align-self:center}[data-gp-theme="set-and-span"] .sheet-bottom{flex-wrap:wrap;gap:4px}[data-gp-theme="set-and-span"] .opening-copy>p{font-size:17px}}
@containerfs-editor-canvas (max-width: 1000px){[data-gp-theme="set-and-span"] .site-header nav{display:none}[data-gp-theme="set-and-span"] .opening{grid-template-columns:.9fr 1.1fr}[data-gp-theme="set-and-span"] .opening h1{font-size:48px}[data-gp-theme="set-and-span"] .project-id{padding-bottom:22px;font-size:12px}[data-gp-theme="set-and-span"] .room-register{margin-top:22px}[data-gp-theme="set-and-span"] .project-sheet{align-self:center}[data-gp-theme="set-and-span"] .sheet-bottom{flex-wrap:wrap;gap:4px}[data-gp-theme="set-and-span"] .opening-copy>p{font-size:17px}}
@media(max-width:650px){[data-gp-theme="set-and-span"] .wrap{padding-inline:20px}[data-gp-theme="set-and-span"] .site-header{padding:18px 20px;gap:12px}[data-gp-theme="set-and-span"] .brand{font-size:23px;gap:9px}[data-gp-theme="set-and-span"] .brand svg{width:30px;height:30px}[data-gp-theme="set-and-span"] .brand small{font-size:12px;margin-top:5px}[data-gp-theme="set-and-span"] .menu-button{font-size:0;gap:0;padding:10px;min-width:44px}[data-gp-theme="set-and-span"] .menu-button svg{width:22px;height:22px}[data-gp-theme="set-and-span"] .menu-button::before{content:'Menu';font-size:14px;margin-right:12px}[data-gp-theme="set-and-span"] .opening{grid-template-columns:1fr;gap:25px;padding-top:22px;padding-bottom:40px}[data-gp-theme="set-and-span"] .opening h1{font-size:46px}[data-gp-theme="set-and-span"] .opening h1 br{display:none}[data-gp-theme="set-and-span"] .project-id{padding-bottom:20px}[data-gp-theme="set-and-span"] .opening-copy>p{max-width:40ch}[data-gp-theme="set-and-span"] .text-link{margin:10px 0 0}[data-gp-theme="set-and-span"] .room-register{display:none}[data-gp-theme="set-and-span"] .room-art{aspect-ratio:1.17}[data-gp-theme="set-and-span"] .room-art>img{object-fit:cover}[data-gp-theme="set-and-span"] .sheet-top,[data-gp-theme="set-and-span"] .sheet-bottom{font-size:12px;padding:10px}[data-gp-theme="set-and-span"] .pin{width:40px;height:40px;min-height:40px;font-size:13px}[data-gp-theme="set-and-span"] .section-opening{grid-template-columns:1fr;gap:20px;margin-bottom:30px}[data-gp-theme="set-and-span"] .section-opening h2{font-size:36px}[data-gp-theme="set-and-span"] .detail-layout{grid-template-columns:1fr;gap:20px}[data-gp-theme="set-and-span"] .details-section{padding-block:40px}[data-gp-theme="set-and-span"] .detail-list>:is(button,[role="button"]){padding:15px 0;font-size:17px}[data-gp-theme="set-and-span"] .detail-copy{min-height:180px;padding-top:25px}[data-gp-theme="set-and-span"] .junction figcaption{font-size:13px}[data-gp-theme="set-and-span"] .materials-section,[data-gp-theme="set-and-span"] .sequence{padding-block:45px}[data-gp-theme="set-and-span"] .material-row{grid-template-columns:72px 1fr 22px;gap:16px;padding:18px 0}[data-gp-theme="set-and-span"] .sample{width:72px;height:68px}[data-gp-theme="set-and-span"] .material-row strong{font-size:25px}[data-gp-theme="set-and-span"] .material-row small{font-size:14px;line-height:1.4}[data-gp-theme="set-and-span"] .selected-label{display:none}[data-gp-theme="set-and-span"] .sequence ol{grid-template-columns:1fr;gap:24px}[data-gp-theme="set-and-span"] .sequence li{gap:20px}[data-gp-theme="set-and-span"] .questions{grid-template-columns:1fr;gap:24px;padding-block:35px 45px}[data-gp-theme="set-and-span"] .questions summary{font-size:17px}[data-gp-theme="set-and-span"] .questions details p{font-size:16px}[data-gp-theme="set-and-span"] .brief-section{padding-block:45px}[data-gp-theme="set-and-span"] .brief-layout{grid-template-columns:1fr;gap:30px}[data-gp-theme="set-and-span"] .form-pair{grid-template-columns:1fr;gap:0}[data-gp-theme="set-and-span"] .selection-note{margin-top:20px}[data-gp-theme="set-and-span"] .small-note{margin-top:16px}[data-gp-theme="set-and-span"] .site-footer{padding:30px 20px}[data-gp-theme="set-and-span"] .footer-title{display:block;padding-bottom:24px}[data-gp-theme="set-and-span"] .footer-title>a{font-size:44px}[data-gp-theme="set-and-span"] .footer-title>span:not(.fs-richtext){display:block;margin-top:10px;font-size:13px}[data-gp-theme="set-and-span"] .footer-register{grid-template-columns:1fr}[data-gp-theme="set-and-span"] .footer-register>div{padding:20px}[data-gp-theme="set-and-span"] .footer-register>div+div{border:0;border-top:1px solid var(--line)}[data-gp-theme="set-and-span"] .footer-bottom{flex-direction:column;gap:12px;font-size:13px}[data-gp-theme="set-and-span"] .mega-menu{width:calc(100% - 20px)}[data-gp-theme="set-and-span"] .menu-head{padding:18px;gap:12px}[data-gp-theme="set-and-span"] .menu-head h2{font-size:25px}[data-gp-theme="set-and-span"] .menu-head :is(button,[role="button"]){font-size:0;padding:8px}[data-gp-theme="set-and-span"] .menu-head :is(button,[role="button"]) svg{width:22px}[data-gp-theme="set-and-span"] .menu-body{grid-template-columns:1fr}[data-gp-theme="set-and-span"] .menu-drawing{display:none}[data-gp-theme="set-and-span"] .menu-index{grid-template-columns:1fr;padding:20px;gap:25px}[data-gp-theme="set-and-span"] .menu-index h3{font-size:23px;margin-bottom:12px}[data-gp-theme="set-and-span"] .menu-index a{font-size:17px;min-height:44px}[data-gp-theme="set-and-span"] .menu-index>p{grid-column:auto}[data-gp-theme="set-and-span"] .menu-foot{padding:18px;font-size:12px;align-items:flex-start;gap:15px}[data-gp-theme="set-and-span"] .menu-foot>a{max-width:120px}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="set-and-span"] .wrap{padding-inline:20px}[data-gp-theme="set-and-span"] .site-header{padding:18px 20px;gap:12px}[data-gp-theme="set-and-span"] .brand{font-size:23px;gap:9px}[data-gp-theme="set-and-span"] .brand svg{width:30px;height:30px}[data-gp-theme="set-and-span"] .brand small{font-size:12px;margin-top:5px}[data-gp-theme="set-and-span"] .menu-button{font-size:0;gap:0;padding:10px;min-width:44px}[data-gp-theme="set-and-span"] .menu-button svg{width:22px;height:22px}[data-gp-theme="set-and-span"] .menu-button::before{content:'Menu';font-size:14px;margin-right:12px}[data-gp-theme="set-and-span"] .opening{grid-template-columns:1fr;gap:25px;padding-top:22px;padding-bottom:40px}[data-gp-theme="set-and-span"] .opening h1{font-size:46px}[data-gp-theme="set-and-span"] .opening h1 br{display:none}[data-gp-theme="set-and-span"] .project-id{padding-bottom:20px}[data-gp-theme="set-and-span"] .opening-copy>p{max-width:40ch}[data-gp-theme="set-and-span"] .text-link{margin:10px 0 0}[data-gp-theme="set-and-span"] .room-register{display:none}[data-gp-theme="set-and-span"] .room-art{aspect-ratio:1.17}[data-gp-theme="set-and-span"] .room-art>img{object-fit:cover}[data-gp-theme="set-and-span"] .sheet-top,[data-gp-theme="set-and-span"] .sheet-bottom{font-size:12px;padding:10px}[data-gp-theme="set-and-span"] .pin{width:40px;height:40px;min-height:40px;font-size:13px}[data-gp-theme="set-and-span"] .section-opening{grid-template-columns:1fr;gap:20px;margin-bottom:30px}[data-gp-theme="set-and-span"] .section-opening h2{font-size:36px}[data-gp-theme="set-and-span"] .detail-layout{grid-template-columns:1fr;gap:20px}[data-gp-theme="set-and-span"] .details-section{padding-block:40px}[data-gp-theme="set-and-span"] .detail-list>:is(button,[role="button"]){padding:15px 0;font-size:17px}[data-gp-theme="set-and-span"] .detail-copy{min-height:180px;padding-top:25px}[data-gp-theme="set-and-span"] .junction figcaption{font-size:13px}[data-gp-theme="set-and-span"] .materials-section,[data-gp-theme="set-and-span"] .sequence{padding-block:45px}[data-gp-theme="set-and-span"] .material-row{grid-template-columns:72px 1fr 22px;gap:16px;padding:18px 0}[data-gp-theme="set-and-span"] .sample{width:72px;height:68px}[data-gp-theme="set-and-span"] .material-row strong{font-size:25px}[data-gp-theme="set-and-span"] .material-row small{font-size:14px;line-height:1.4}[data-gp-theme="set-and-span"] .selected-label{display:none}[data-gp-theme="set-and-span"] .sequence ol{grid-template-columns:1fr;gap:24px}[data-gp-theme="set-and-span"] .sequence li{gap:20px}[data-gp-theme="set-and-span"] .questions{grid-template-columns:1fr;gap:24px;padding-block:35px 45px}[data-gp-theme="set-and-span"] .questions summary{font-size:17px}[data-gp-theme="set-and-span"] .questions details p{font-size:16px}[data-gp-theme="set-and-span"] .brief-section{padding-block:45px}[data-gp-theme="set-and-span"] .brief-layout{grid-template-columns:1fr;gap:30px}[data-gp-theme="set-and-span"] .form-pair{grid-template-columns:1fr;gap:0}[data-gp-theme="set-and-span"] .selection-note{margin-top:20px}[data-gp-theme="set-and-span"] .small-note{margin-top:16px}[data-gp-theme="set-and-span"] .site-footer{padding:30px 20px}[data-gp-theme="set-and-span"] .footer-title{display:block;padding-bottom:24px}[data-gp-theme="set-and-span"] .footer-title>a{font-size:44px}[data-gp-theme="set-and-span"] .footer-title>span:not(.fs-richtext){display:block;margin-top:10px;font-size:13px}[data-gp-theme="set-and-span"] .footer-register{grid-template-columns:1fr}[data-gp-theme="set-and-span"] .footer-register>div{padding:20px}[data-gp-theme="set-and-span"] .footer-register>div+div{border:0;border-top:1px solid var(--line)}[data-gp-theme="set-and-span"] .footer-bottom{flex-direction:column;gap:12px;font-size:13px}[data-gp-theme="set-and-span"] .mega-menu{width:calc(100% - 20px)}[data-gp-theme="set-and-span"] .menu-head{padding:18px;gap:12px}[data-gp-theme="set-and-span"] .menu-head h2{font-size:25px}[data-gp-theme="set-and-span"] .menu-head :is(button,[role="button"]){font-size:0;padding:8px}[data-gp-theme="set-and-span"] .menu-head :is(button,[role="button"]) svg{width:22px}[data-gp-theme="set-and-span"] .menu-body{grid-template-columns:1fr}[data-gp-theme="set-and-span"] .menu-drawing{display:none}[data-gp-theme="set-and-span"] .menu-index{grid-template-columns:1fr;padding:20px;gap:25px}[data-gp-theme="set-and-span"] .menu-index h3{font-size:23px;margin-bottom:12px}[data-gp-theme="set-and-span"] .menu-index a{font-size:17px;min-height:44px}[data-gp-theme="set-and-span"] .menu-index>p{grid-column:auto}[data-gp-theme="set-and-span"] .menu-foot{padding:18px;font-size:12px;align-items:flex-start;gap:15px}[data-gp-theme="set-and-span"] .menu-foot>a{max-width:120px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="set-and-span"] .preloader.is-active svg{animation:none}[data-gp-theme="set-and-span"] .pin,[data-gp-theme="set-and-span"] .material-row>svg,[data-gp-theme="set-and-span"] .text-link svg{transition:none!important;transform:none!important}}
[data-gp-theme="set-and-span"][data-input=keyboard] .pin,[data-gp-theme="set-and-span"][data-input=keyboard] .material-row>svg{transition:none}

/* Preview chrome and accessibility only. Theme authors own the visual worlds. */
[data-gp-theme="set-and-span"][data-premium]{color-scheme:light;background:var(--paper);color:var(--ink);accent-color:var(--accent);scrollbar-color:var(--accent) var(--wash)}
[data-gp-theme="set-and-span"][data-premium][data-mode=dark]{color-scheme:dark}
[data-gp-theme="set-and-span"][data-premium] ::selection{background:var(--accent);color:var(--on-accent)}
[data-gp-theme="set-and-span"][data-premium] :is(input,textarea){caret-color:var(--accent)}
[data-gp-theme="set-and-span"][data-premium] :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--accent);outline-offset:4px}
[data-gp-theme="set-and-span"][data-premium] :is(input,select,textarea){max-width:100%}
[data-gp-theme="set-and-span"][data-premium] :is(input,textarea)::placeholder{color:var(--muted);opacity:1}
[data-gp-theme="set-and-span"][data-premium] .preview-bar{display:flex;flex-wrap:wrap;justify-content:flex-start;background:#f5f5f0;color:#242d2c;border-color:#cbd0c8;gap:8px 14px;position:relative;font:13px/1.3 "Figtree",sans-serif;min-height:52px;padding:6px 3vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="set-and-span"][data-premium] .preview-bar{padding:6px 3cqw}}
[data-gp-theme="set-and-span"][data-premium] .preview-bar>a{font-weight:600;min-height:40px;display:flex;align-items:center}
[data-gp-theme="set-and-span"][data-premium] .preview-bar [role=group]{margin-left:auto;display:flex;gap:2px}
[data-gp-theme="set-and-span"][data-premium] .preview-bar :is(button,select){font:13px/1.3 "Figtree",sans-serif;min-height:40px;max-width:100%;border-radius:3px}
[data-gp-theme="set-and-span"][data-premium] .preview-bar select{background:#fff;color:#242d2c;border:1px solid #a2ada4;padding:7px 24px 7px 9px}
[data-gp-theme="set-and-span"][data-premium] .preview-bar [aria-pressed=true]{background:#242d2c;color:#fff}
[data-gp-theme="set-and-span"][data-premium] .preview-bar .preview-label{font:12px/1.3 "Figtree",sans-serif;color:#48554f}
[data-gp-theme="set-and-span"][data-premium] .preview-bar :focus-visible{outline-color:#254fbb}
[data-gp-theme="set-and-span"][data-premium] .preview-bar [data-replay-intro]{font-size:12px;margin:0}
[data-gp-theme="set-and-span"][data-premium] .preview-bar [data-replay-intro]::after{content:none}
[data-gp-theme="set-and-span"][data-premium] .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
[data-gp-theme="set-and-span"][data-premium] .premium-action{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 22px;background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);text-decoration:none;font-weight:600;transition:transform 150ms var(--ease-out),background-color 150ms var(--ease-out)}
[data-gp-theme="set-and-span"][data-premium] .premium-action:active{transform:translateY(1px)}
[data-gp-theme="set-and-span"][data-premium] .premium-action:disabled{opacity:.6;cursor:not-allowed}
[data-gp-theme="set-and-span"][data-premium] :is(h1,h2,h3){text-wrap:balance}
[data-gp-theme="set-and-span"][data-premium] p{text-wrap:pretty}
/* Put down the opaque menu surface immediately, then introduce its content. */
[data-gp-theme="set-and-span"][data-premium] .mega-menu[open]:not([data-closing]){animation:none}
[data-gp-theme="set-and-span"][data-premium] .mega-menu[open]:not([data-closing])>:not(:first-child){animation:gp-setspan-premium-menu-content 160ms var(--ease-out)}
[data-gp-theme="set-and-span"][data-premium] .mega-menu[data-keyboard]>:not(:first-child){animation:none!important}
[data-gp-theme="set-and-span"][data-premium][data-input=keyboard] :is(button,[role="button"]):active{transform:none}
@keyframes gp-setspan-premium-menu-content{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:650px){
 [data-gp-theme="set-and-span"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="set-and-span"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="set-and-span"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="set-and-span"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="set-and-span"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="set-and-span"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="set-and-span"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="set-and-span"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@containerfs-editor-canvas (max-width: 650px){
 [data-gp-theme="set-and-span"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="set-and-span"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="set-and-span"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="set-and-span"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="set-and-span"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="set-and-span"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="set-and-span"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="set-and-span"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@media(prefers-reduced-motion:reduce){[data-gp-theme="set-and-span"][data-premium] .premium-action{transition:none;transform:none}}

/* Website page primitives and actual layout modes. Authored theme CSS owns identity. */
[data-gp-theme="set-and-span"][data-framed=true] .preview-bar,[data-gp-theme="set-and-span"][data-framed=true] .site-open-preview{display:none!important}
[data-gp-theme="set-and-span"][data-site]{--ip-paper:var(--paper,#f4f2eb);--ip-ink:var(--ink,#192f2c);--ip-wash:var(--wash,var(--paper,#e6e9df));--ip-accent:var(--accent,var(--rust,#315b50));--ip-on:var(--on-accent,var(--paper,#fff));--ip-muted:var(--muted,var(--ink,#45534d));--ip-line:var(--line,var(--rule,#a1aca5))}
[data-gp-theme="set-and-span"][data-inside]{background:var(--ip-paper);color:var(--ip-ink);font:18px/1.65 var(--body,"Figtree",sans-serif)}
[data-gp-theme="set-and-span"] .inside-page :is(h1,h2,h3){font-family:var(--display,inherit);color:inherit;letter-spacing:-.035em;line-height:1.1;font-weight:500;max-width:22ch}
[data-gp-theme="set-and-span"] .inside-page h1{font-size:clamp(42px,5.3vw,80px);margin:0 0 26px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="set-and-span"] .inside-page h1{font-size:clamp(42px,5.3cqw,80px)}}[data-gp-theme="set-and-span"] .inside-page h2{font-size:clamp(30px,3vw,49px);margin:0 0 24px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="set-and-span"] .inside-page h2{font-size:clamp(30px,3cqw,49px)}}[data-gp-theme="set-and-span"] .inside-page h3{font-size:25px;margin:0 0 15px}
[data-gp-theme="set-and-span"] .inside-page :is(p,li){max-width:72ch}[data-gp-theme="set-and-span"] .inside-page p{margin:0 0 20px}[data-gp-theme="set-and-span"] .inside-page a{color:inherit}[data-gp-theme="set-and-span"] .inside-page img{max-width:100%;width:100%;height:100%;object-fit:cover}[data-gp-theme="set-and-span"] .inside-page figure{margin:0}[data-gp-theme="set-and-span"] .inside-page :is(button,[role="button"]){color:inherit}
[data-gp-theme="set-and-span"] .ip-hero,[data-gp-theme="set-and-span"] .ip-section{width:min(1320px,calc(100% - 96px));margin-inline:auto;padding-block:70px}[data-gp-theme="set-and-span"] .ip-hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:65px}[data-gp-theme="set-and-span"] .ip-opening{min-width:0}[data-gp-theme="set-and-span"] .ip-hero:has(>.ip-opening:only-child){grid-template-columns:1fr}[data-gp-theme="set-and-span"] .ip-art{height:430px;position:relative}[data-gp-theme="set-and-span"] .ip-art img{object-fit:cover}[data-gp-theme="set-and-span"] .ip-art figcaption,[data-gp-theme="set-and-span"] .ip-caption{font-size:14px;line-height:1.5;color:var(--ip-muted);padding-top:10px}[data-gp-theme="set-and-span"] .ip-section>.ip-caption{margin-bottom:20px}[data-gp-theme="set-and-span"] .ip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}[data-gp-theme="set-and-span"] .ip-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px}[data-gp-theme="set-and-span"] .ip-card{min-width:0;border-top:1px solid var(--ip-line);padding:25px 0}[data-gp-theme="set-and-span"] .ip-card figure{height:230px;margin-bottom:25px}[data-gp-theme="set-and-span"] .ip-reading{width:min(76ch,calc(100% - 48px));margin-inline:auto;padding-block:55px}[data-gp-theme="set-and-span"] .ip-reading h2{margin-top:40px}[data-gp-theme="set-and-span"] .ip-ledger{margin:24px 0}[data-gp-theme="set-and-span"] .ip-ledger>div{display:grid;grid-template-columns:1fr 1.4fr;gap:20px;border-top:1px solid var(--ip-line);padding:15px 0}[data-gp-theme="set-and-span"] .ip-ledger dt{font-weight:600}[data-gp-theme="set-and-span"] .ip-ledger dd{margin:0}[data-gp-theme="set-and-span"] .ip-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border:1px solid var(--ip-accent);background:var(--ip-accent);color:var(--ip-on)!important;text-decoration:none;font-size:16px;transition:transform 150ms var(--ease-out)}[data-gp-theme="set-and-span"] .ip-action.secondary{background:transparent;color:var(--ip-ink)!important;border-color:var(--ip-line)}[data-gp-theme="set-and-span"] .ip-band{padding:55px max(24px,calc((100% - 1320px)/2));background:var(--ip-wash);color:var(--ip-ink)}[data-gp-theme="set-and-span"] .ip-band p{max-width:65ch}[data-gp-theme="set-and-span"] .ip-note{font-size:15px;border-left:3px solid var(--ip-accent);padding:12px 18px;background:var(--ip-wash);color:var(--ip-ink);margin-block:20px}[data-gp-theme="set-and-span"] .ip-form{display:grid;gap:22px}[data-gp-theme="set-and-span"] .ip-form label{display:grid;gap:8px;font-size:16px}[data-gp-theme="set-and-span"] .ip-form :is(input,textarea,select){width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid var(--ip-line);background:var(--ip-paper);color:var(--ip-ink);font:inherit;border-radius:0}[data-gp-theme="set-and-span"] .ip-form :is(input,textarea)::placeholder{color:var(--ip-muted);opacity:1}[data-gp-theme="set-and-span"] .ip-field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}[data-gp-theme="set-and-span"] .ip-form :is(button,[role="button"]){justify-self:start}[data-gp-theme="set-and-span"] .ip-form textarea{min-height:135px}[data-gp-theme="set-and-span"] .inside-page output[data-draft-output]{display:block;white-space:pre-wrap;padding:25px;background:var(--ip-wash);color:var(--ip-ink);border:1px solid var(--ip-line);overflow-wrap:anywhere}[data-gp-theme="set-and-span"] .ip-checks{display:grid;gap:12px}[data-gp-theme="set-and-span"] .ip-checks label{display:flex;align-items:start;gap:14px;border-top:1px solid var(--ip-line);padding:16px 0;min-height:52px}[data-gp-theme="set-and-span"] .ip-checks input{width:22px;height:22px;min-height:22px;flex-shrink:0;margin-top:4px;accent-color:var(--ip-accent)}[data-gp-theme="set-and-span"] .inside-page details{border-top:1px solid var(--ip-line);padding:18px 0}[data-gp-theme="set-and-span"] .inside-page summary{min-height:44px;font-size:21px;cursor:pointer}[data-gp-theme="set-and-span"] .inside-page details p{padding:16px 0 0}[data-gp-theme="set-and-span"] .inside-page [data-filter-group]>[role=group]{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}[data-gp-theme="set-and-span"] .inside-page [data-filter]{padding:10px 18px;min-height:44px;background:transparent;color:var(--ip-ink);border:1px solid var(--ip-line)}[data-gp-theme="set-and-span"] .inside-page [data-filter][aria-pressed=true]{background:var(--ip-accent);color:var(--ip-on)}[data-gp-theme="set-and-span"] .site-directory{padding:30px!important;background:var(--ip-paper)!important;color:var(--ip-ink)!important;border-top:1px solid var(--ip-line)}[data-gp-theme="set-and-span"] .site-directory h3{font:600 17px/1.4 var(--body,"Figtree",sans-serif);margin:0 0 16px}[data-gp-theme="set-and-span"] .site-directory>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 25px}[data-gp-theme="set-and-span"] .site-directory a{display:block;font:16px/1.5 var(--body,"Figtree",sans-serif)!important;min-height:44px;padding:10px 0!important;color:inherit!important;text-decoration:none}[data-gp-theme="set-and-span"] .site-directory a[aria-current=page]{text-decoration:underline;font-weight:600!important}[data-gp-theme="set-and-span"] .site-open-preview{display:block;padding:10px 20px;background:#eef0eb;color:#20322d;font:14px/1.4 "Figtree",sans-serif;text-align:center}
[data-gp-theme="set-and-span"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){width:100%;padding-inline:max(24px,4vw)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="set-and-span"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){padding-inline:max(24px,4cqw)}}
[data-gp-theme="set-and-span"]:has([data-gp-theme="set-and-span"][data-layout=boxed]){background:#a6afa9}[data-gp-theme="set-and-span"][data-layout=boxed]{width:min(1200px,calc(100% - 64px));margin-inline:auto;box-shadow:0 0 0 1px #0002,0 20px 70px #0002;min-height:100dvh;background:var(--ip-paper)}
[data-gp-theme="set-and-span"][data-layout=centered] :is(.ip-hero,.opening,.cake-opening,.gp-title,.book-opening,.poster-opening,.portal-opening,.destination-opening,.route-opening){text-align:center}
[data-gp-theme="set-and-span"][data-layout=centered] .ip-hero{grid-template-columns:1fr;max-width:1000px;justify-items:center}[data-gp-theme="set-and-span"][data-layout=centered] .ip-opening{display:grid;justify-items:center}[data-gp-theme="set-and-span"][data-layout=centered] .ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="set-and-span"][data-layout=centered] .ip-art{width:min(760px,100%)}
[data-gp-theme="set-and-span"][data-layout=minimalist] :is(.ip-section,.ip-hero){padding-block:42px}[data-gp-theme="set-and-span"][data-layout=minimalist] :is(.ip-card,.ip-art,.ip-note){border-radius:0;box-shadow:none;background-image:none}[data-gp-theme="set-and-span"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5vw,64px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="set-and-span"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5cqw,64px)}}[data-gp-theme="set-and-span"][data-layout=minimalist] :is(.mullions,.glaze-rim,.cake-sticker,.paper-corner){opacity:0}[data-gp-theme="set-and-span"][data-layout=minimalist] :is(.ip-art img,.opening img){border-radius:0}
[data-gp-theme="set-and-span"][data-layout=edge-hero] .ip-hero{width:100%;padding-inline:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="set-and-span"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4vw)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="set-and-span"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4cqw)}}[data-gp-theme="set-and-span"][data-layout=edge-hero] .ip-art{height:600px}[data-gp-theme="set-and-span"][data-layout=edge-hero] .ip-art img{border-radius:0}[data-gp-theme="set-and-span"][data-layout=edge-hero] .ip-art figcaption{padding:8px 20px}
[data-gp-theme="set-and-span"][data-layout=full-width] .inside-page>.ip-opening{width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="set-and-span"][data-layout=full-width] .inside-page>.ip-opening{padding-inline:4cqw}}
[data-gp-theme="set-and-span"][data-layout=centered] .inside-page>.ip-opening{display:flex;flex-direction:column;align-items:center;text-align:center;width:min(1000px,calc(100% - 48px));gap:30px}[data-gp-theme="set-and-span"][data-layout=centered] .inside-page>.ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="set-and-span"][data-layout=centered] .inside-page>.ip-opening>figure{width:min(780px,100%)}
[data-gp-theme="set-and-span"][data-layout=minimalist] .inside-page>.ip-opening{padding-block:38px}[data-gp-theme="set-and-span"][data-layout=minimalist] .inside-page>.ip-opening :is(h1,figure){box-shadow:none;border-radius:0}
[data-gp-theme="set-and-span"][data-layout=edge-hero] .inside-page>.ip-opening{width:100%;max-width:none;padding:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="set-and-span"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="set-and-span"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4cqw}}[data-gp-theme="set-and-span"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:600px;max-width:none;align-self:stretch}[data-gp-theme="set-and-span"][data-layout=edge-hero] .inside-page>.ip-opening>figure img{height:100%;object-fit:cover;border-radius:0}
/* Existing home compositions gain real width/spacing modes without replacing their content. */
[data-gp-theme="set-and-span"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="set-and-span"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){padding-inline:4cqw}}
[data-gp-theme="set-and-span"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child{text-align:center}
[data-gp-theme="set-and-span"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(h1,p){margin-inline:auto}[data-gp-theme="set-and-span"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(.opening-copy,.elevation-copy,.cake-copy,.hero-copy){text-align:center}
[data-gp-theme="set-and-span"][data-layout=minimalist]:not([data-inside]) .gp-source-main>section{padding-block:44px}[data-gp-theme="set-and-span"][data-layout=minimalist]:not([data-inside]) :is(.hero-sleeve,.calendar,.hello-note,.open-book){box-shadow:none}
[data-gp-theme="set-and-span"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child{width:100%;max-width:none;margin-inline:0;padding-inline:0;background:var(--ip-wash)}[data-gp-theme="set-and-span"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="set-and-span"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4cqw}}[data-gp-theme="set-and-span"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:600px}
@media(hover:hover) and (pointer:fine){[data-gp-theme="set-and-span"] .ip-action:hover{transform:translateY(-2px)}[data-gp-theme="set-and-span"] .site-directory a:hover{text-decoration:underline}}
@media(max-width:850px){[data-gp-theme="set-and-span"] .ip-hero,[data-gp-theme="set-and-span"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="set-and-span"] .ip-hero{gap:30px}[data-gp-theme="set-and-span"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="set-and-span"] .ip-two{gap:30px}[data-gp-theme="set-and-span"] .ip-art{height:340px}}
@containerfs-editor-canvas (max-width: 850px){[data-gp-theme="set-and-span"] .ip-hero,[data-gp-theme="set-and-span"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="set-and-span"] .ip-hero{gap:30px}[data-gp-theme="set-and-span"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="set-and-span"] .ip-two{gap:30px}[data-gp-theme="set-and-span"] .ip-art{height:340px}}
@media(max-width:600px){[data-gp-theme="set-and-span"] .ip-hero,[data-gp-theme="set-and-span"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="set-and-span"] .ip-hero,[data-gp-theme="set-and-span"] .ip-two,[data-gp-theme="set-and-span"] .ip-grid,[data-gp-theme="set-and-span"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="set-and-span"] .ip-art{height:300px}[data-gp-theme="set-and-span"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="set-and-span"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="set-and-span"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="set-and-span"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="set-and-span"] .site-directory{padding:22px!important}[data-gp-theme="set-and-span"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="set-and-span"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="set-and-span"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="set-and-span"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="set-and-span"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="set-and-span"] .ip-hero,[data-gp-theme="set-and-span"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="set-and-span"] .ip-hero,[data-gp-theme="set-and-span"] .ip-two,[data-gp-theme="set-and-span"] .ip-grid,[data-gp-theme="set-and-span"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="set-and-span"] .ip-art{height:300px}[data-gp-theme="set-and-span"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="set-and-span"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="set-and-span"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="set-and-span"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="set-and-span"] .site-directory{padding:22px!important}[data-gp-theme="set-and-span"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="set-and-span"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="set-and-span"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="set-and-span"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="set-and-span"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@media(max-width:600px){[data-gp-theme="set-and-span"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="set-and-span"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="set-and-span"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="set-and-span"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="set-and-span"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="set-and-span"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
[data-gp-theme="set-and-span"] .inside-page a[aria-disabled=true]{cursor:default;text-decoration:none}
[data-gp-theme="set-and-span"][data-layout=edge-hero] .inside-page .ip-hero .ip-art{transform:none}
@media(prefers-reduced-motion:reduce){[data-gp-theme="set-and-span"] .ip-action{transition:none;transform:none!important}}
/* Task actions always use an explicit contrasting pair, including themed form overrides. */
[data-gp-theme="set-and-span"][data-site] .inside-page :is(.ip-form :is(button,[role="button"]):is([type="submit"],[data-gp-button-type="submit"]),[data-save-draft],.ip-action:not(.secondary)){
 background:var(--ip-ink)!important;color:var(--ip-paper)!important;border:1px solid var(--ip-ink)!important;
 min-height:48px;padding:12px 22px;font-size:16px;line-height:1.4;
}
[data-gp-theme="set-and-span"][data-site] .inside-page .ip-action.secondary{background:transparent!important;color:var(--ip-ink)!important;border-color:var(--ip-line)!important}
[data-gp-theme="set-and-span"][data-site] .inside-page .ip-form :is(select,select option){background-color:var(--ip-paper);color:var(--ip-ink)}
[data-gp-theme="set-and-span"] .site-plan-label{display:block;font:400 14px/1.45 var(--body,sans-serif);margin-top:6px;text-decoration:none;opacity:1}
[data-gp-theme="set-and-span"] a[data-preview-plan]{cursor:pointer}[data-gp-theme="set-and-span"] .inside-page a[data-preview-plan]{text-decoration:none}
[data-gp-theme="set-and-span"][data-site] .site-directory a[data-preview-plan]{display:flex;flex-direction:column;align-items:flex-start;gap:2px}[data-gp-theme="set-and-span"] .site-directory .site-plan-label{font-size:13px;margin:0}

[data-gp-theme="set-and-span"][data-inside]{--display:"Space Grotesk",sans-serif;--body:"Source Sans 3",sans-serif}[data-gp-theme="set-and-span"] .inside-page .ip-hero{border-bottom:1px solid var(--ip-line);align-items:start}[data-gp-theme="set-and-span"] .inside-page .ip-hero .ip-art{background:var(--ip-wash);padding:22px;height:480px}[data-gp-theme="set-and-span"] .inside-page .ip-hero .ip-art img{object-fit:contain}[data-gp-theme="set-and-span"] .inside-page .ip-section{border-bottom:1px solid var(--ip-line)}[data-gp-theme="set-and-span"] .inside-page .ip-card{border:1px solid var(--ip-line);padding:28px}[data-gp-theme="set-and-span"] .inside-page .ip-action{background:transparent;color:var(--ip-ink)!important;border-color:var(--ip-line);justify-content:flex-start}[data-gp-theme="set-and-span"] .inside-page .ip-action::after{content:"↗"}[data-gp-theme="set-and-span"] .inside-page .ip-choice-row{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:25px}[data-gp-theme="set-and-span"] .inside-page [data-note-choice][aria-pressed=true]{background:var(--ip-accent);color:var(--ip-on)!important}[data-gp-theme="set-and-span"] .inside-page .ip-reading{border-left:1px solid var(--ip-line);padding-inline:35px}[data-gp-theme="set-and-span"] .inside-page .ip-form{padding:30px;background:var(--ip-wash)}@media(max-width:600px){[data-gp-theme="set-and-span"] .inside-page .ip-hero .ip-art{height:310px;padding:15px}[data-gp-theme="set-and-span"] .inside-page .ip-reading{padding-inline:18px}[data-gp-theme="set-and-span"] .inside-page .ip-form{padding:20px}}@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="set-and-span"] .inside-page .ip-hero .ip-art{height:310px;padding:15px}[data-gp-theme="set-and-span"] .inside-page .ip-reading{padding-inline:18px}[data-gp-theme="set-and-span"] .inside-page .ip-form{padding:20px}}

/* Owner selected recommended on 18 October 2026. Main heading roles only. */
[data-gp-theme="set-and-span"][data-gp-kind="section"] h1{font-family:"Space Grotesk", sans-serif!important;font-weight:500!important;letter-spacing:-0.025em!important;line-height:1.08!important;font-variation-settings:normal!important;font-optical-sizing:auto!important}
[data-gp-theme="set-and-span"][data-gp-kind="section"] h2{font-family:"Space Grotesk", sans-serif!important;font-weight:550!important;letter-spacing:-.01em!important;line-height:1.17!important;font-variation-settings:normal!important;font-optical-sizing:auto!important}
[data-gp-theme="set-and-span"][data-gp-kind="section"] h3{font-family:"Source Sans 3", sans-serif!important;font-weight:600!important;letter-spacing:0!important;line-height:1.25!important;font-variation-settings:normal!important}
[data-gp-theme="set-and-span"][data-inside][data-gp-kind="section"] h1{font-family:"Space Grotesk", sans-serif!important;line-height:1.14!important;letter-spacing:-.012em!important;font-weight:500!important;text-transform:none!important}
@media(max-width:650px){[data-gp-theme="set-and-span"][data-gp-kind="section"] h1{line-height:1.08!important;letter-spacing:-0.018em!important}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="set-and-span"][data-gp-kind="section"] h1{line-height:1.08!important;letter-spacing:-0.018em!important}}

/* Local authored experience. Inherits selected type and all six palette/mode combinations. */
[data-gp-theme="set-and-span"] .ux-lab{max-width:1340px;margin:64px auto;padding:36px clamp(20px,4vw,56px);color:var(--ink);background:var(--paper);border-block:1px solid var(--line);font-family:var(--body);overflow-wrap:anywhere;box-sizing:border-box}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="set-and-span"] .ux-lab{padding:36px clamp(20px,4cqw,56px)}}
[data-gp-theme="set-and-span"] .ux-lab *{box-sizing:border-box}[data-gp-theme="set-and-span"] .ux-lab h2{font-size:clamp(30px,3.2vw,48px);line-height:1.12;margin:0 0 14px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="set-and-span"] .ux-lab h2{font-size:clamp(30px,3.2cqw,48px)}}[data-gp-theme="set-and-span"] .ux-lab h3{font-size:24px;line-height:1.25;margin:0 0 10px}[data-gp-theme="set-and-span"] .ux-lab p{font-size:17px;line-height:1.6;max-width:64ch;margin:0 0 14px}[data-gp-theme="set-and-span"] .ux-lab .ux-intro{max-width:760px;margin-bottom:28px}[data-gp-theme="set-and-span"] .ux-lab .ux-sample{font-size:14px;color:var(--muted);margin-block:16px}[data-gp-theme="set-and-span"] .ux-lab .ux-spread{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(240px,.85fr);gap:28px;align-items:start}[data-gp-theme="set-and-span"] .ux-lab .ux-art{margin:0;background:var(--wash);position:relative;overflow:hidden;min-width:0}[data-gp-theme="set-and-span"] .ux-lab .ux-art svg{display:block;width:100%;height:auto;aspect-ratio:700/520;fill:none;stroke:none;stroke-width:1;color:var(--ink)}[data-gp-theme="set-and-span"] .ux-lab figcaption{display:block;padding:12px 16px;font-size:14px;color:var(--muted);background:var(--paper);border-bottom:1px solid var(--line)}[data-gp-theme="set-and-span"] .ux-lab fieldset{border:0;padding:0;margin:0 0 22px;min-width:0}[data-gp-theme="set-and-span"] .ux-lab legend{font-size:16px;font-weight:600;margin-bottom:8px}[data-gp-theme="set-and-span"] .ux-lab .ux-choices{display:flex;flex-wrap:wrap;gap:8px}[data-gp-theme="set-and-span"] .ux-lab :is(button,[role="button"]),[data-gp-theme="set-and-span"] .ux-lab .ux-link{font:500 15px/1.35 var(--body);border:1px solid var(--line);padding:11px 15px;min-height:44px;min-width:44px;color:var(--ink);background:var(--paper);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px}[data-gp-theme="set-and-span"] .ux-lab :is(button,[role="button"])[aria-pressed=true]{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}[data-gp-theme="set-and-span"] .ux-lab :is(button,[role="button"]):focus-visible,[data-gp-theme="set-and-span"] .ux-lab a:focus-visible,[data-gp-theme="set-and-span"] .ux-lab textarea:focus-visible,[data-gp-theme="set-and-span"] .ux-lab input:focus-visible{outline:3px solid var(--accent);outline-offset:4px}[data-gp-theme="set-and-span"] .ux-lab .ux-link{color:var(--on-accent);background:var(--accent);border-color:var(--accent);margin-top:16px}[data-gp-theme="set-and-span"] .ux-lab .ux-summary{display:block;font-size:17px;line-height:1.55;min-height:3.2em;margin:18px 0;padding:16px 0;border-block:1px solid var(--line)}[data-gp-theme="set-and-span"] .ux-lab .ux-detail{margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}[data-gp-theme="set-and-span"] .ux-lab .ux-detail svg{width:100%;height:auto;aspect-ratio:260/120;display:block;stroke:none;fill:none}[data-gp-theme="set-and-span"] .ux-lab label{font-size:16px;display:block}[data-gp-theme="set-and-span"] .ux-lab textarea{display:block;width:100%;font:17px/1.6 var(--body);padding:14px;background:var(--paper);color:var(--ink);border:1px solid var(--line);margin:8px 0 14px;resize:vertical}[data-gp-theme="set-and-span"] .ux-lab .ux-note-result{display:block;white-space:pre-wrap;margin:16px 0;font-size:16px}[data-gp-theme="set-and-span"] .ux-lab [hidden]{display:none!important}[data-gp-theme="set-and-span"] .ux-lab .ux-carry{border-left:4px solid var(--accent);padding-left:22px}[data-gp-theme="set-and-span"] .ux-lab .ux-carry ul{padding-left:20px}[data-gp-theme="set-and-span"] .ux-lab .ux-carry li{margin:6px 0}[data-gp-theme="set-and-span"] .ux-lab .ux-clear{font-size:14px;min-height:44px}
[data-gp-theme="set-and-span"] .ux-lab .ux-visual{position:relative;isolation:isolate}[data-gp-theme="set-and-span"] .ux-lab .ux-visual [data-scene-snapshot]{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
@media(hover:hover) and (pointer:fine){[data-gp-theme="set-and-span"] .ux-lab :is(button,[role="button"]):hover{border-color:var(--accent)}[data-gp-theme="set-and-span"] .ux-lab .ux-link:hover{opacity:.88}}
@media(max-width:700px){[data-gp-theme="set-and-span"] .ux-lab{margin:32px 16px;padding:24px 0}[data-gp-theme="set-and-span"] .ux-lab .ux-spread{grid-template-columns:minmax(0,1fr);gap:24px}[data-gp-theme="set-and-span"] .ux-lab .ux-intro{margin-bottom:20px}[data-gp-theme="set-and-span"] .ux-lab .ux-art svg{min-height:240px}[data-gp-theme="set-and-span"] .ux-lab h2{font-size:32px}[data-gp-theme="set-and-span"] .ux-lab p{font-size:16px}[data-gp-theme="set-and-span"] .ux-lab .ux-choices{gap:7px}[data-gp-theme="set-and-span"] .ux-lab :is(button,[role="button"]){padding:10px 12px}}
@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="set-and-span"] .ux-lab{margin:32px 16px;padding:24px 0}[data-gp-theme="set-and-span"] .ux-lab .ux-spread{grid-template-columns:minmax(0,1fr);gap:24px}[data-gp-theme="set-and-span"] .ux-lab .ux-intro{margin-bottom:20px}[data-gp-theme="set-and-span"] .ux-lab .ux-art svg{min-height:240px}[data-gp-theme="set-and-span"] .ux-lab h2{font-size:32px}[data-gp-theme="set-and-span"] .ux-lab p{font-size:16px}[data-gp-theme="set-and-span"] .ux-lab .ux-choices{gap:7px}[data-gp-theme="set-and-span"] .ux-lab :is(button,[role="button"]){padding:10px 12px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="set-and-span"] .ux-lab *{scroll-behavior:auto!important;transition-duration:0ms!important;animation:none!important}}
[data-gp-theme="set-and-span"] .ux-room .ux-art{border:1px solid var(--line)}[data-gp-theme="set-and-span"] .ux-room [data-tile-plane]{fill:url(#ux-tile-h);stroke:var(--ink);stroke-width:1.5}[data-gp-theme="set-and-span"] .ux-room[data-direction=vertical] [data-tile-plane]{fill:url(#ux-tile-v)}[data-gp-theme="set-and-span"] .ux-room [data-grout-line]{stroke:var(--paper);stroke-width:3}[data-gp-theme="set-and-span"] .ux-room[data-grout=graphite] [data-grout-line]{stroke:var(--ink);stroke-width:2}[data-gp-theme="set-and-span"] .ux-room [data-stone]{opacity:0}[data-gp-theme="set-and-span"] .ux-room[data-finish=veined] [data-stone]{opacity:.65}[data-gp-theme="set-and-span"] .ux-room[data-view=before] [data-tile-plane]{fill:url(#ux-tile-h)}[data-gp-theme="set-and-span"] .ux-room[data-view=before] [data-grout-line]{stroke:var(--paper);stroke-width:3}[data-gp-theme="set-and-span"] .ux-room[data-view=before] [data-stone]{opacity:0}[data-gp-theme="set-and-span"] .ux-room .ux-annotation{font:16px var(--body);fill:var(--ink);stroke:none}[data-gp-theme="set-and-span"] .ux-room .ux-edge{stroke:var(--accent);stroke-width:5}[data-gp-theme="set-and-span"] .ux-room[data-junction=niche] .ux-threshold,[data-gp-theme="set-and-span"] .ux-room[data-junction=threshold] .ux-niche{opacity:.25}[data-gp-theme="set-and-span"] .ux-room .ux-detail-copy{min-height:5em}[data-gp-theme="set-and-span"] .ux-room .ux-junction-art{background:var(--wash);padding:10px}[data-gp-theme="set-and-span"] .ux-room .ux-plan-note{display:flex;justify-content:space-between;gap:12px;font-size:13px;padding:10px 16px;border-bottom:1px solid var(--line)}[data-gp-theme="set-and-span"] .ux-room .ux-detail-copy{min-height:8em}
/* Approved readability refinements, 18 October 2026.
   Only meaningful helpers, local groups and selected reading paragraphs.
   Owner-selected type families, display sizes and frozen comparisons stay authoritative. */

/* Kiln House: the brief promise and sample guidance are part of the task. */
[data-gp-theme="set-and-span"][data-site="kiln-house"] :is(.field-note,.form-note,.pairing-hint,.material-note,.light-note,.letter-note,.combination-copy small,.material-row small){font-size:14px;line-height:1.5}
[data-gp-theme="set-and-span"][data-site="kiln-house"] .form-note{margin-top:16px}
[data-gp-theme="set-and-span"][data-site="kiln-house"] :is(.quiet-button,.combination-action){font-size:15px;line-height:1.5}
[data-gp-theme="set-and-span"][data-site="kiln-house"] .quiet-button{min-height:44px}
[data-gp-theme="set-and-span"][data-site="kiln-house"] .directory-links a small{font-size:14px;line-height:1.5}

/* Small study labels explain a choice, rather than acting as an imprint. */
[data-gp-theme="set-and-span"][data-site="true-joint"] .ux-stage-bar :is(button,[role="button"]) small{font-size:14px;line-height:1.5}
[data-gp-theme="set-and-span"][data-site="neighbourhood-edit"] .ux-plan-header{font-size:14px;line-height:1.5;gap:12px;flex-wrap:wrap}
[data-gp-theme="set-and-span"][data-site="neighbourhood-edit"] .ux-room-title{margin-bottom:16px}
[data-gp-theme="set-and-span"][data-site="neighbourhood-edit"] .ux-room-title h3{margin-bottom:0}
[data-gp-theme="set-and-span"][data-site="neighbourhood-edit"] :is(.home-finder label,.home-finder output,.area-index small){font-size:14px;line-height:1.5}
[data-gp-theme="set-and-span"][data-site="neighbourhood-edit"] .home-finder select{font-size:16px;min-height:44px}
[data-gp-theme="set-and-span"][data-site="harbour"] .ux-folio .ux-document-row label{font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="set-and-span"][data-site="daymark-window-care"] .dm-sheet-head{font-size:14px;line-height:1.5;flex-wrap:wrap}
[data-gp-theme="set-and-span"][data-site="velum-window-care"] .ux-v-nav :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}

/* Existing small controls retain or gain the comfortable target height. */
[data-gp-theme="set-and-span"][data-site="stem-and-still"] .stem-slip :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:48px;gap:8px}
[data-gp-theme="set-and-span"][data-site="cake-box"] .flavour-pick :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="set-and-span"][data-site="cake-box"] .message-label small{font-size:14px;line-height:1.5}
[data-gp-theme="set-and-span"][data-site="crm-recruitment-people"] .question-buttons{gap:10px}
[data-gp-theme="set-and-span"][data-site="crm-recruitment-people"] .question-buttons :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:10px 12px}
[data-gp-theme="set-and-span"][data-site="the-second-set-programme"] .pr-order-actions :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:8px 10px}

/* The format facts belong with the large ensemble names. */
[data-gp-theme="set-and-span"][data-site="the-second-set-afterglow"] .ag-format-ribbon span:not(.fs-richtext){font-size:14px;line-height:1.5;margin-top:8px}
[data-gp-theme="set-and-span"][data-site="the-second-set-programme"] .opening-note{font-size:14px;line-height:1.5}
[data-gp-theme="set-and-span"][data-site="the-second-set-signal"] .form-note{font-size:14px;line-height:1.5}

/* Slipstream: useful record, filter and brief text; preserve the scrollable comparison. */
[data-gp-theme="set-and-span"][data-site="slipstream"] :is(.featured-price small,.rail-note,.stock-finder label,.stock-caption,.inspection-note,.inspection-instruction,.form-note,[data-gp-id="stock-count"],[data-gp-id="form-question-count"]){font-size:14px;line-height:1.5}
[data-gp-theme="set-and-span"][data-site="slipstream"] :is(.visit-form label,.form-pair label){font-size:15px;line-height:1.5}
[data-gp-theme="set-and-span"][data-site="slipstream"] :is(.car-record summary,[data-gp-id="reset-stock"],[data-gp-id="clear-compare"],.quick-compare button){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="set-and-span"][data-site="slipstream"] .stock-finder select{min-height:44px}

/* Narrow only sustained paragraphs, preserving plans, records, lists and tables. */
[data-gp-theme="set-and-span"]:is([data-site="stem-and-still"],[data-site="kiln-house"],[data-site="true-joint"])[data-inside] .ip-reading>p{max-width:64ch}

@media(max-width:700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="set-and-span"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="set-and-span"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="set-and-span"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="set-and-span"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="set-and-span"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="set-and-span"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="set-and-span"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="set-and-span"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="set-and-span"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

@containerfs-editor-canvas (max-width: 700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="set-and-span"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="set-and-span"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="set-and-span"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="set-and-span"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="set-and-span"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="set-and-span"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="set-and-span"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="set-and-span"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="set-and-span"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

/* No generic heading, body, section-spacing or panel-height reset.
   Goodpane's unused calendar CSS, Expedition's real stage envelope,
   Starlight's passage leading and Velum's display introduction need no blanket fix. */

/* Architectural drawing: linked room zones and a useful title block. */
[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map{inset:0;width:min(1240px,calc(100vw - 72px));max-width:none;max-height:92dvh;height:fit-content;min-height:0;margin:auto;padding:0;border:1px solid var(--ink);border-radius:0;background:var(--paper);color:var(--ink);overflow:auto;box-shadow:14px 14px 0 color-mix(in srgb,var(--ink) 14%,transparent)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map{width:min(1240px,calc(100cqw - 72px))}}
[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map *{box-sizing:border-box;min-width:0}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .menu-head{padding:22px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:3px solid var(--ink);background:var(--paper);color:var(--ink)}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .menu-head span:not(.fs-richtext){font:400 15px/1.4 var(--body)}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map h2{font:500 clamp(24px,2.7vw,36px)/1.15 var(--display);margin:5px 0 0;letter-spacing:-.03em}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map h2{font:500 clamp(24px,2.7cqw,36px)/1.15 var(--display)}}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map [data-menu-close]{display:flex;align-items:center;gap:20px;min-height:44px;padding:8px 14px;border:1px solid var(--line);background:transparent;color:inherit;font:400 15px/1.4 var(--body);white-space:nowrap}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map [data-menu-close] span:not(.fs-richtext){font-size:25px}
[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map a{color:inherit;text-decoration:none;min-height:44px;display:flex;align-items:center;gap:12px;font:400 16px/1.4 var(--body)}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map a strong{font:500 clamp(23px,2.5vw,34px)/1.13 var(--display);letter-spacing:-.025em}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map a strong{font:500 clamp(23px,2.5cqw,34px)/1.13 var(--display)}}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map a:has(strong){display:flex;align-items:start;flex-direction:column;gap:9px}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map a>span:not(.fs-richtext){font-size:15px;line-height:1.5;max-width:28ch}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .sp-plan{display:grid;grid-template-columns:1fr 1fr .95fr;grid-template-rows:minmax(230px,auto) minmax(155px,auto);margin:26px;border:3px solid var(--ink)}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .sp-plan section{padding:24px;position:relative}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .sp-caption{display:block;font:400 13px/1.4 var(--body);color:var(--muted);margin-bottom:13px}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .sp-room{grid-column:1/3;display:grid;grid-template-columns:1.05fr 1fr;gap:15px;border-bottom:3px solid var(--ink)}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .sp-room img{width:100%;height:190px;object-fit:contain;align-self:center}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .sp-room-copy>a:last-child{margin-top:10px;text-decoration:underline;text-underline-offset:5px}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .sp-materials{border-left:3px solid var(--ink);border-bottom:3px solid var(--ink);background:var(--wash)}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .sp-material-strip{display:flex;gap:5px;margin:17px 0 9px}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .sp-material-strip i{width:31px;height:31px;border:1px solid var(--ink)}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .sp-material-strip i:nth-child(2){background:var(--ink)}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .sp-material-strip i:last-child{background:repeating-linear-gradient(45deg,transparent 0 5px,var(--line) 5px 6px)}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .sp-junction{grid-column:1/3;padding-right:95px}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .sp-corner{position:absolute;right:30px;bottom:30px;width:40px;height:40px;border:9px solid var(--accent);border-top:0;border-right:0}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .sp-order{border-left:3px solid var(--ink)}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .sp-order>a:last-child{margin-top:10px;text-decoration:underline;text-underline-offset:5px}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .sp-title-block{border-top:1px solid var(--ink);display:grid;grid-template-columns:1fr 1fr 1.3fr}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .sp-title-block>*{padding:18px 26px;margin:0}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .sp-title-block nav{display:flex;flex-wrap:wrap;gap:0 18px}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .sp-title-block p{border-inline:1px solid var(--line);font:400 14px/1.5 var(--body);display:flex;align-items:center}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .sp-title-block .sp-brief{background:var(--ink);color:var(--paper);font-weight:500;justify-content:space-between;font-size:19px}
@media(hover:hover){[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map a:hover strong,[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map nav a:hover{text-decoration:underline;text-underline-offset:5px}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .sp-brief:hover{opacity:.88}}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map :is(a,button):focus-visible{outline:3px solid currentColor;outline-offset:4px}
[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map[open]{animation:none} @media(min-width:901px) and (prefers-reduced-motion:no-preference){[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map[open]>.sp-plan{animation:gp-setspan-sp-plan-open 200ms ease-out}@keyframes gp-setspan-sp-plan-open{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}}
@media(max-width:900px){[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .sp-plan{margin:18px;grid-template-columns:1fr;grid-template-rows:auto}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .sp-plan section{grid-column:auto;padding:22px;border-left:0;border-bottom:2px solid var(--ink)}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .sp-plan section:last-child{border-bottom:0}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .sp-room{grid-template-columns:1fr 110px;gap:10px}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .sp-room img{height:145px}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map a strong{font-size:26px}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .sp-junction{padding-right:70px!important}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .sp-title-block{grid-template-columns:1fr}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .sp-title-block>*{padding:16px 22px}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .sp-title-block p{border:0;border-top:1px solid var(--line)}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .menu-head h2{font-size:22px}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .menu-head [data-menu-close]{padding:8px;gap:6px;font-size:14px}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .menu-head>div>span:not(.fs-richtext){font-size:12px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .sp-plan{margin:18px;grid-template-columns:1fr;grid-template-rows:auto}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .sp-plan section{grid-column:auto;padding:22px;border-left:0;border-bottom:2px solid var(--ink)}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .sp-plan section:last-child{border-bottom:0}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .sp-room{grid-template-columns:1fr 110px;gap:10px}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .sp-room img{height:145px}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map a strong{font-size:26px}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .sp-junction{padding-right:70px!important}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .sp-title-block{grid-template-columns:1fr}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .sp-title-block>*{padding:16px 22px}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .sp-title-block p{border:0;border-top:1px solid var(--line)}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .menu-head h2{font-size:22px}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .menu-head [data-menu-close]{padding:8px;gap:6px;font-size:14px}[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map .menu-head>div>span:not(.fs-richtext){font-size:12px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map,[data-gp-theme="set-and-span"] [data-gp-id="mega-menu"].sp-project-map *{animation:none!important;transition:none!important}}

[data-gp-theme="set-and-span"]{--paper:rgb(var(--c-paper));--ink:rgb(var(--c-ink-950));--accent:rgb(var(--c-brand-600));--wash:rgb(var(--c-paper-soft));--line:rgb(var(--c-line));--muted:rgb(var(--c-ink-400));--on-accent:var(--fs-on-brand);--focus:rgb(var(--c-accent));--work:var(--fs-surface-inverted,var(--wash));--work-ink:var(--fs-on-surface-inverted,var(--paper));--body:var(--font-sans);}
[data-gp-theme="true-joint"]{--ease-out:cubic-bezier(.23,1,.32,1);--ease-drawer:cubic-bezier(.32,.72,0,1)}
[data-gp-theme="true-joint"] *{box-sizing:border-box}[data-gp-theme="true-joint"]{scroll-behavior:smooth;scroll-padding-top:100px}[data-gp-theme="true-joint"]{margin:0}[data-gp-theme="true-joint"] img{max-width:100%;display:block}[data-gp-theme="true-joint"] :is(button,[role="button"]),[data-gp-theme="true-joint"] input,[data-gp-theme="true-joint"] select,[data-gp-theme="true-joint"] textarea{font:inherit}[data-gp-theme="true-joint"] :is(button,[role="button"]),[data-gp-theme="true-joint"] a,[data-gp-theme="true-joint"] input,[data-gp-theme="true-joint"] select,[data-gp-theme="true-joint"] textarea{touch-action:manipulation}[data-gp-theme="true-joint"] :is(button,[role="button"]),[data-gp-theme="true-joint"] a{ -webkit-tap-highlight-color:transparent}[data-gp-theme="true-joint"] :is(button,[role="button"]){cursor:pointer}[data-gp-theme="true-joint"] :is(button,[role="button"]):active{transform:translateY(1px)}[data-gp-theme="true-joint"] a{color:inherit;text-underline-offset:.22em}[data-gp-theme="true-joint"] :is(button,[role="button"]):focus-visible,[data-gp-theme="true-joint"] a:focus-visible,[data-gp-theme="true-joint"] summary:focus-visible,[data-gp-theme="true-joint"] input:focus-visible,[data-gp-theme="true-joint"] select:focus-visible,[data-gp-theme="true-joint"] textarea:focus-visible{outline:3px solid var(--focus,#346ddb);outline-offset:5px}[data-gp-theme="true-joint"] textarea{resize:vertical}[data-gp-theme="true-joint"] input,[data-gp-theme="true-joint"] textarea{caret-color:var(--focus,currentColor)}[data-gp-theme="true-joint"] :is(button,[role="button"]),[data-gp-theme="true-joint"] select,[data-gp-theme="true-joint"] input{min-height:44px}[data-gp-theme="true-joint"] summary{cursor:pointer}[data-gp-theme="true-joint"] section[id],[data-gp-theme="true-joint"] footer[id]{scroll-margin-top:110px}[data-gp-theme="true-joint"] [hidden]{display:none!important}[data-gp-theme="true-joint"] .skip-link{position:fixed;z-index:200;top:8px;left:8px;background:#fff;color:#111;padding:12px 18px;transform:translateY(-150%)}[data-gp-theme="true-joint"] .skip-link:focus{transform:none}
[data-gp-theme="true-joint"] .preview-bar{min-height:42px;background:#f6f6f2;color:#252a2a;border-bottom:1px solid #d5d8d4;font:13px/1.3 "Figtree",sans-serif;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 3vw;position:relative;z-index:30}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="true-joint"] .preview-bar{padding:5px 3cqw}}[data-gp-theme="true-joint"] .preview-bar a{white-space:nowrap}[data-gp-theme="true-joint"] .preview-bar [role=group]{display:flex;gap:2px;align-items:center}[data-gp-theme="true-joint"] .preview-bar :is(button,[role="button"]){min-height:32px;background:transparent;color:inherit;border:0;padding:6px 10px;border-radius:3px;font-size:13px;transition:background-color 150ms var(--ease-out)}[data-gp-theme="true-joint"] .preview-bar [aria-pressed=true]{background:#252a2a;color:#fff}[data-gp-theme="true-joint"] .preview-bar :is(button,[role="button"])[data-replay-intro]{border:1px solid #b6beb8}[data-gp-theme="true-joint"] .preview-label{color:#515953}[data-gp-theme="true-joint"] .preview-bar::selection{background:#252a2a;color:#fff}
[data-gp-theme="true-joint"] dialog.mega-menu{max-width:none;max-height:calc(100dvh - 32px);overflow:auto;border:0;padding:0;color:inherit;overscroll-behavior:contain}[data-gp-theme="true-joint"] dialog.mega-menu::backdrop{background:rgb(8 16 18 / .52)}[data-gp-theme="true-joint"] .mega-menu[open]{animation:gp-truejoint-menu-arrive 220ms var(--ease-drawer)}[data-gp-theme="true-joint"] .mega-menu[data-closing]{animation:gp-truejoint-menu-leave 160ms var(--ease-out) forwards}[data-gp-theme="true-joint"] .mega-menu[data-keyboard]{animation:none}[data-gp-theme="true-joint"] .menu-lock{overflow:hidden}@keyframes gp-truejoint-menu-arrive{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}@keyframes gp-truejoint-menu-leave{to{opacity:0;transform:translateY(-10px)}}
[data-gp-theme="true-joint"] .preloader{display:none;position:fixed;inset:0;z-index:190;place-content:center;pointer-events:none;text-align:center}[data-gp-theme="true-joint"] .preloader.is-active{display:grid;animation:gp-truejoint-intro-failsafe 1.3s step-end forwards}[data-gp-theme="true-joint"] .preloader.is-leaving{opacity:0;transition:opacity 180ms var(--ease-out)}@keyframes gp-truejoint-intro-failsafe{0%,99%{visibility:visible}100%{visibility:hidden}}
@media(max-width:650px){[data-gp-theme="true-joint"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="true-joint"] .preview-bar .preview-label{display:none}[data-gp-theme="true-joint"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="true-joint"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="true-joint"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="true-joint"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="true-joint"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="true-joint"] .preview-bar .preview-label{display:none}[data-gp-theme="true-joint"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="true-joint"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="true-joint"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="true-joint"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="true-joint"]{scroll-behavior:auto}[data-gp-theme="true-joint"] *,[data-gp-theme="true-joint"] *::before,[data-gp-theme="true-joint"] *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-gp-theme="true-joint"] .preloader.is-active{display:none!important}}
@media(max-width:650px){[data-gp-theme="true-joint"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="true-joint"] .preview-bar a{font-size:12px}[data-gp-theme="true-joint"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="true-joint"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="true-joint"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="true-joint"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="true-joint"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="true-joint"] .preview-bar a{font-size:12px}[data-gp-theme="true-joint"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="true-joint"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="true-joint"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="true-joint"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}

[data-gp-theme="true-joint"]{--paper:#e8e1cf;--ink:#202620;--accent:#d5d03b;--wash:#d9d3bf;--line:#b0ad99;--on-accent:#202620;--muted:#4d5447;--display:"Barlow Condensed",sans-serif;--body:"IBM Plex Sans",sans-serif;--work:#202620;--work-ink:#fcfbf3;--focus:#968700;background:var(--paper);color:var(--ink);font:18px/1.55 var(--body)}[data-gp-theme="true-joint"][data-palette="1"]{--paper:#efe0d0;--wash:#e1cbb7;--accent:#f2ad71;--work:#2e2522;--focus:#90431b}[data-gp-theme="true-joint"][data-palette="2"]{--paper:#e5edf0;--wash:#cddde2;--accent:#a0d8ef;--work:#172d3a;--focus:#236681}[data-gp-theme="true-joint"][data-mode="dark"]{--paper:#141c17;--ink:#f0eedf;--wash:#25332a;--line:#657165;--muted:#c2caba;--focus:#d5d03b}[data-gp-theme="true-joint"][data-mode="dark"][data-palette="1"]{--paper:#251d19;--wash:#392c24;--line:#866c59;--focus:#f2ad71}[data-gp-theme="true-joint"][data-mode="dark"][data-palette="2"]{--paper:#10202b;--wash:#1e3543;--line:#607986;--focus:#a0d8ef}[data-gp-theme="true-joint"] h1,[data-gp-theme="true-joint"] h2,[data-gp-theme="true-joint"] h3,[data-gp-theme="true-joint"] p,[data-gp-theme="true-joint"] figure{margin:0}[data-gp-theme="true-joint"] h1,[data-gp-theme="true-joint"] h2,[data-gp-theme="true-joint"] h3{font-family:var(--display);line-height:.98;font-weight:600}[data-gp-theme="true-joint"] h1{font-size:clamp(68px,7.8vw,132px);letter-spacing:-.02em}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="true-joint"] h1{font-size:clamp(68px,7.8cqw,132px)}}[data-gp-theme="true-joint"] h2{font-size:clamp(43px,4.7vw,76px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="true-joint"] h2{font-size:clamp(43px,4.7cqw,76px)}}[data-gp-theme="true-joint"] h3{font-size:33px;line-height:1.1}[data-gp-theme="true-joint"] p{max-width:60ch}[data-gp-theme="true-joint"] a{color:inherit}[data-gp-theme="true-joint"] :is(button,[role="button"]){color:inherit}[data-gp-theme="true-joint"] :is(button,[role="button"]),[data-gp-theme="true-joint"] a{transition:transform 140ms var(--ease-out),opacity 160ms var(--ease-out)}[data-gp-theme="true-joint"] :is(button,[role="button"]):active{transform:translateY(1px)}[data-gp-theme="true-joint"] .wrap{width:min(1340px,calc(100% - 96px));margin-inline:auto}[data-gp-theme="true-joint"] .section{padding-block:100px}[data-gp-theme="true-joint"] .small,[data-gp-theme="true-joint"] figcaption{font-size:15px;line-height:1.5}[data-gp-theme="true-joint"] .sheet-label,[data-gp-theme="true-joint"] .kicker{display:block;font-size:15px;margin-bottom:20px}[data-gp-theme="true-joint"] .site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:27px 48px;border-bottom:1px solid var(--line)}[data-gp-theme="true-joint"] .brand{font:600 30px/.95 var(--display);text-decoration:none;display:flex;align-items:center;gap:12px}[data-gp-theme="true-joint"] .brand small{font:13px/1.4 var(--body);display:block;margin-top:7px}[data-gp-theme="true-joint"] .joint-mark{font-size:34px;padding:5px;background:var(--accent);color:var(--on-accent)}[data-gp-theme="true-joint"] .site-header nav{display:flex;gap:28px;font-size:16px}[data-gp-theme="true-joint"] .site-header nav a{display:flex;align-items:center;min-height:44px;text-decoration:none}[data-gp-theme="true-joint"] .menu-trigger,[data-gp-theme="true-joint"] .menu-top :is(button,[role="button"]){border:1px solid var(--line);background:none;padding:10px 16px;font-size:16px;display:flex;gap:20px;align-items:center}[data-gp-theme="true-joint"] .opening{padding:48px;display:grid;grid-template-columns:4fr 6fr;gap:44px;max-width:1536px;margin:auto}[data-gp-theme="true-joint"] .opening-copy{padding:15px 0 20px}[data-gp-theme="true-joint"] .opening-copy p:not(.kicker){margin:28px 0}[data-gp-theme="true-joint"] .button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 22px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);text-decoration:none;font-weight:600}[data-gp-theme="true-joint"] .button.marker{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}[data-gp-theme="true-joint"] .study{background:var(--work);color:var(--work-ink);padding:22px;display:flex;flex-direction:column;justify-content:space-between}[data-gp-theme="true-joint"] .study-head,[data-gp-theme="true-joint"] .study-foot{display:flex;justify-content:space-between;gap:16px;font-size:14px}[data-gp-theme="true-joint"] .study-head{padding-bottom:18px;border-bottom:1px solid #fcfbf34d}[data-gp-theme="true-joint"] .study figure{margin-block:20px}[data-gp-theme="true-joint"] .study img{width:100%;height:460px;object-fit:cover}[data-gp-theme="true-joint"] .study figcaption{font-size:13px;margin-top:12px}[data-gp-theme="true-joint"] .study-foot{border-top:1px solid #fcfbf34d;padding-top:18px}[data-gp-theme="true-joint"] .conditions{display:grid;grid-template-columns:1fr 1fr;gap:80px;border-top:2px solid var(--ink)}[data-gp-theme="true-joint"] .conditions p{margin-top:24px}[data-gp-theme="true-joint"] .condition-list{border:0;padding:0;margin:0;min-width:0}[data-gp-theme="true-joint"] .condition-list legend{font-size:16px;padding:0 0 10px}[data-gp-theme="true-joint"] .condition-list label{display:flex;gap:18px;align-items:center;border-top:1px solid var(--line);padding:17px 0;cursor:pointer}[data-gp-theme="true-joint"] .condition-list input{width:22px;min-height:22px;height:22px;accent-color:var(--ink);flex:none}[data-gp-theme="true-joint"] .condition-list small{display:block;color:var(--muted);font-size:15px}[data-gp-theme="true-joint"] .condition-list output{font-size:15px;display:block;border-top:2px solid var(--ink);padding-top:18px}[data-gp-theme="true-joint"] .layer-section{background:var(--work);color:var(--work-ink)}[data-gp-theme="true-joint"] .section-heading{display:flex;gap:70px;justify-content:space-between;align-items:end;margin-bottom:50px}[data-gp-theme="true-joint"] .section-heading>p{max-width:430px}[data-gp-theme="true-joint"] .layer-workbench{display:grid;grid-template-columns:1.4fr 1fr;gap:70px;align-items:center}[data-gp-theme="true-joint"] .layer-graphic{height:420px;position:relative;padding:30px;isolation:isolate}[data-gp-theme="true-joint"] .layer-piece{position:absolute;left:13%;width:72%;height:105px;transform:skewY(-11deg);border:1px solid #fcfbf396;box-shadow:14px 18px 0 #0003;transition:opacity 180ms var(--ease-out),transform 180ms var(--ease-out);opacity:.5}[data-gp-theme="true-joint"] .layer-piece span:not(.fs-richtext){position:absolute;left:15px;bottom:12px;background:var(--work);color:var(--work-ink);padding:3px 8px;font-size:14px;transform:skewY(11deg)}[data-gp-theme="true-joint"] .layer-piece.finish{top:35px;background:repeating-linear-gradient(90deg,#ece9d7 0 32%,#343a30 32% 33%);z-index:3}[data-gp-theme="true-joint"] .layer-piece.setting{top:160px;background:repeating-linear-gradient(0deg,#9f9e8b 0 5px,#bcbcaa 5px 7px);z-index:2}[data-gp-theme="true-joint"] .layer-piece.surface{top:285px;background:repeating-linear-gradient(45deg,#4f5948 0 7px,#77816e 7px 8px);z-index:1}[data-gp-theme="true-joint"] .layer-piece.is-selected,[data-gp-theme="true-joint"] .layer-piece.finish:not([data-ready]){opacity:1}[data-gp-theme="true-joint"] .layer-piece.is-selected{outline:3px solid var(--accent);outline-offset:5px;transform:skewY(-11deg) translateX(6px)}[data-gp-theme="true-joint"] .datum{position:absolute;width:2px;height:90%;background:var(--accent);left:82%;top:5%;z-index:4}[data-gp-theme="true-joint"] .layer-notes [role=group]{display:grid;margin-bottom:28px}[data-gp-theme="true-joint"] .layer-notes :is(button,[role="button"]){background:none;color:inherit;text-align:left;border:0;border-bottom:1px solid #fcfbf359;padding:15px 12px;min-height:54px}[data-gp-theme="true-joint"] .layer-notes :is(button,[role="button"])[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}[data-gp-theme="true-joint"] .layer-notes h3{margin-bottom:16px}[data-gp-theme="true-joint"] .layer-notes>p{min-height:85px}[data-gp-theme="true-joint"] .layer-notes .small{margin-top:24px;min-height:0}[data-gp-theme="true-joint"] .junctions{display:grid;grid-template-columns:1fr 1fr;gap:40px}[data-gp-theme="true-joint"] .contact-sheet{height:360px;overflow:hidden;position:relative;margin-bottom:24px}[data-gp-theme="true-joint"] .contact-sheet img{position:absolute;max-width:none;width:200%;height:200%;object-fit:fill}[data-gp-theme="true-joint"] .crop-one img{left:-100%;top:0}[data-gp-theme="true-joint"] .crop-two img{left:-100%;top:-100%}[data-gp-theme="true-joint"] .junctions h3{margin:10px 0 17px}[data-gp-theme="true-joint"] .junctions .sheet-label{margin:0;font-size:14px}[data-gp-theme="true-joint"] .brief-section{background:var(--wash);border-top:2px solid var(--ink)}[data-gp-theme="true-joint"] .brief-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}[data-gp-theme="true-joint"] .brief-grid h2{margin-bottom:25px}[data-gp-theme="true-joint"] .brief-grid ul{padding-left:20px;margin-top:28px;display:grid;gap:10px}[data-gp-theme="true-joint"] .brief-grid :is(form,[data-gp-form]){background:var(--paper);padding:36px;border-top:8px solid var(--accent);display:grid;gap:20px}[data-gp-theme="true-joint"] label{display:grid;gap:8px;font-size:16px}[data-gp-theme="true-joint"] input,[data-gp-theme="true-joint"] select,[data-gp-theme="true-joint"] textarea{min-width:0;width:100%;padding:12px;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:0}[data-gp-theme="true-joint"] output.draft{white-space:pre-line;overflow-wrap:anywhere;padding:20px;border-left:3px solid var(--ink);background:var(--wash);font-size:16px}[data-gp-theme="true-joint"] output.draft:empty{display:none}[data-gp-theme="true-joint"] .site-footer{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:50px;padding-block:60px 25px;font-size:16px}[data-gp-theme="true-joint"] .site-footer h3{font-size:26px;margin-bottom:20px}[data-gp-theme="true-joint"] .site-footer a:not(.brand){display:block;min-height:44px}[data-gp-theme="true-joint"] .footer-scope p{margin:18px 0}[data-gp-theme="true-joint"] .footer-scope span:not(.fs-richtext){font-size:14px;color:var(--muted)}[data-gp-theme="true-joint"] .footer-bottom{grid-column:1/-1;display:flex;gap:24px;justify-content:space-between;padding-top:22px;border-top:1px solid var(--line);font-size:14px}[data-gp-theme="true-joint"] .preloader{background:var(--work);color:var(--work-ink)}[data-gp-theme="true-joint"] .intro-joint{font:600 120px var(--display);display:block}[data-gp-theme="true-joint"] .intro-joint span:not(.fs-richtext){color:var(--accent);border-left:3px solid var(--accent);margin-left:5px;padding-left:5px}[data-gp-theme="true-joint"] .mega-menu{width:min(1160px,calc(100% - 48px));background:var(--work);color:var(--work-ink)!important;margin:auto}[data-gp-theme="true-joint"] .menu-top{display:flex;justify-content:space-between;align-items:center;padding:24px 34px;border-bottom:1px solid #fcfbf34d}[data-gp-theme="true-joint"] .menu-top :is(button,[role="button"]){border-color:#fcfbf359}[data-gp-theme="true-joint"] .menu-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:70px;padding:45px}[data-gp-theme="true-joint"] .menu-grid h2{font-size:72px;margin-bottom:25px}[data-gp-theme="true-joint"] .menu-section{display:block;color:var(--accent);font-size:40px;margin-top:35px;overflow:hidden;white-space:nowrap}[data-gp-theme="true-joint"] .menu-grid nav a{display:block;border-bottom:1px solid #fcfbf34d;padding:18px 0;text-decoration:none}[data-gp-theme="true-joint"] .menu-grid nav b{font-size:24px;display:block;font-weight:500}[data-gp-theme="true-joint"] .menu-grid nav span:not(.fs-richtext){display:block;font-size:15px;margin-top:3px}[data-gp-theme="true-joint"] .menu-note{padding:0 45px 30px;font-size:14px}@media(hover:hover) and (pointer:fine){[data-gp-theme="true-joint"] .button:hover,[data-gp-theme="true-joint"] .menu-trigger:hover{transform:translateY(-2px)}[data-gp-theme="true-joint"] .menu-grid a:hover{color:var(--accent)}}@media(max-width:1000px){[data-gp-theme="true-joint"] .site-header nav{display:none}[data-gp-theme="true-joint"] .opening{gap:25px;padding:32px}[data-gp-theme="true-joint"] .wrap{width:calc(100% - 64px)}[data-gp-theme="true-joint"] .opening h1{font-size:90px}[data-gp-theme="true-joint"] .study img{height:400px}[data-gp-theme="true-joint"] .section{padding-block:75px}[data-gp-theme="true-joint"] .conditions,[data-gp-theme="true-joint"] .brief-grid{gap:40px}[data-gp-theme="true-joint"] .layer-workbench{gap:25px}}@containerfs-editor-canvas (max-width: 1000px){[data-gp-theme="true-joint"] .site-header nav{display:none}[data-gp-theme="true-joint"] .opening{gap:25px;padding:32px}[data-gp-theme="true-joint"] .wrap{width:calc(100% - 64px)}[data-gp-theme="true-joint"] .opening h1{font-size:90px}[data-gp-theme="true-joint"] .study img{height:400px}[data-gp-theme="true-joint"] .section{padding-block:75px}[data-gp-theme="true-joint"] .conditions,[data-gp-theme="true-joint"] .brief-grid{gap:40px}[data-gp-theme="true-joint"] .layer-workbench{gap:25px}}@media(max-width:650px){[data-gp-theme="true-joint"]{font-size:17px}[data-gp-theme="true-joint"] .site-header{padding:20px;gap:10px}[data-gp-theme="true-joint"] .brand{font-size:26px}[data-gp-theme="true-joint"] .brand small{font-size:11px}[data-gp-theme="true-joint"] .joint-mark{display:none}[data-gp-theme="true-joint"] .menu-trigger{font-size:14px;padding:10px;gap:5px}[data-gp-theme="true-joint"] .opening{display:flex;flex-direction:column;padding:25px 18px;gap:24px}[data-gp-theme="true-joint"] .opening h1{font-size:76px;line-height:.9}[data-gp-theme="true-joint"] .opening-copy p:not(.kicker){margin:22px 0}[data-gp-theme="true-joint"] .study{padding:17px}[data-gp-theme="true-joint"] .study img{height:320px}[data-gp-theme="true-joint"] .study-head,[data-gp-theme="true-joint"] .study-foot{font-size:12px}[data-gp-theme="true-joint"] .wrap{width:calc(100% - 36px)}[data-gp-theme="true-joint"] .section{padding-block:55px}[data-gp-theme="true-joint"] .conditions,[data-gp-theme="true-joint"] .brief-grid,[data-gp-theme="true-joint"] .layer-workbench,[data-gp-theme="true-joint"] .junctions{grid-template-columns:1fr;gap:30px}[data-gp-theme="true-joint"] .conditions h2{font-size:48px}[data-gp-theme="true-joint"] .section-heading{display:block;margin-bottom:30px}[data-gp-theme="true-joint"] .section-heading>p{margin-top:22px}[data-gp-theme="true-joint"] .layer-graphic{height:335px;padding:0}[data-gp-theme="true-joint"] .layer-piece{height:80px;left:7%;width:80%}[data-gp-theme="true-joint"] .layer-piece.finish{top:25px}[data-gp-theme="true-joint"] .layer-piece.setting{top:135px}[data-gp-theme="true-joint"] .layer-piece.surface{top:245px}[data-gp-theme="true-joint"] .layer-notes>p{min-height:0}[data-gp-theme="true-joint"] .contact-sheet{height:290px}[data-gp-theme="true-joint"] .brief-grid :is(form,[data-gp-form]){padding:24px 18px}[data-gp-theme="true-joint"] .site-footer{grid-template-columns:1fr;gap:32px}[data-gp-theme="true-joint"] .footer-bottom{display:grid;gap:10px}[data-gp-theme="true-joint"] .mega-menu{width:calc(100% - 20px)}[data-gp-theme="true-joint"] .menu-top{padding:15px;font-size:14px}[data-gp-theme="true-joint"] .menu-grid{grid-template-columns:1fr;gap:20px;padding:25px}[data-gp-theme="true-joint"] .menu-grid h2{font-size:55px}[data-gp-theme="true-joint"] .menu-section{display:none}[data-gp-theme="true-joint"] .menu-grid nav b{font-size:22px}[data-gp-theme="true-joint"] .menu-note{padding:0 25px 25px}}@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="true-joint"]{font-size:17px}[data-gp-theme="true-joint"] .site-header{padding:20px;gap:10px}[data-gp-theme="true-joint"] .brand{font-size:26px}[data-gp-theme="true-joint"] .brand small{font-size:11px}[data-gp-theme="true-joint"] .joint-mark{display:none}[data-gp-theme="true-joint"] .menu-trigger{font-size:14px;padding:10px;gap:5px}[data-gp-theme="true-joint"] .opening{display:flex;flex-direction:column;padding:25px 18px;gap:24px}[data-gp-theme="true-joint"] .opening h1{font-size:76px;line-height:.9}[data-gp-theme="true-joint"] .opening-copy p:not(.kicker){margin:22px 0}[data-gp-theme="true-joint"] .study{padding:17px}[data-gp-theme="true-joint"] .study img{height:320px}[data-gp-theme="true-joint"] .study-head,[data-gp-theme="true-joint"] .study-foot{font-size:12px}[data-gp-theme="true-joint"] .wrap{width:calc(100% - 36px)}[data-gp-theme="true-joint"] .section{padding-block:55px}[data-gp-theme="true-joint"] .conditions,[data-gp-theme="true-joint"] .brief-grid,[data-gp-theme="true-joint"] .layer-workbench,[data-gp-theme="true-joint"] .junctions{grid-template-columns:1fr;gap:30px}[data-gp-theme="true-joint"] .conditions h2{font-size:48px}[data-gp-theme="true-joint"] .section-heading{display:block;margin-bottom:30px}[data-gp-theme="true-joint"] .section-heading>p{margin-top:22px}[data-gp-theme="true-joint"] .layer-graphic{height:335px;padding:0}[data-gp-theme="true-joint"] .layer-piece{height:80px;left:7%;width:80%}[data-gp-theme="true-joint"] .layer-piece.finish{top:25px}[data-gp-theme="true-joint"] .layer-piece.setting{top:135px}[data-gp-theme="true-joint"] .layer-piece.surface{top:245px}[data-gp-theme="true-joint"] .layer-notes>p{min-height:0}[data-gp-theme="true-joint"] .contact-sheet{height:290px}[data-gp-theme="true-joint"] .brief-grid :is(form,[data-gp-form]){padding:24px 18px}[data-gp-theme="true-joint"] .site-footer{grid-template-columns:1fr;gap:32px}[data-gp-theme="true-joint"] .footer-bottom{display:grid;gap:10px}[data-gp-theme="true-joint"] .mega-menu{width:calc(100% - 20px)}[data-gp-theme="true-joint"] .menu-top{padding:15px;font-size:14px}[data-gp-theme="true-joint"] .menu-grid{grid-template-columns:1fr;gap:20px;padding:25px}[data-gp-theme="true-joint"] .menu-grid h2{font-size:55px}[data-gp-theme="true-joint"] .menu-section{display:none}[data-gp-theme="true-joint"] .menu-grid nav b{font-size:22px}[data-gp-theme="true-joint"] .menu-note{padding:0 25px 25px}}@media(prefers-reduced-motion:reduce){[data-gp-theme="true-joint"] .layer-piece.is-selected{transform:skewY(-11deg)}[data-gp-theme="true-joint"] :is(button,[role="button"]):active{transform:none}}
[data-gp-theme="true-joint"][data-input=keyboard] .layer-piece{transition:none}[data-gp-theme="true-joint"][data-pilot=true-joint][data-gp-kind="section"] :is(button,a,input,select,textarea):focus-visible,[data-gp-theme="true-joint"][data-pilot=true-joint] .site-header :is(button,a):focus-visible,[data-gp-theme="true-joint"][data-pilot=true-joint] .site-footer a:focus-visible{outline-color:var(--ink)}[data-gp-theme="true-joint"][data-pilot=true-joint] .layer-section :is(button,a):focus-visible,[data-gp-theme="true-joint"][data-pilot=true-joint] .mega-menu :focus-visible{outline-color:var(--accent)}
@media(max-width:380px){[data-gp-theme="true-joint"] .site-header{padding-inline:18px;gap:8px}[data-gp-theme="true-joint"] .brand small{font-size:10px;max-width:145px}[data-gp-theme="true-joint"] .menu-trigger{font-size:12px;padding:9px 8px;gap:4px}}
@containerfs-editor-canvas (max-width: 380px){[data-gp-theme="true-joint"] .site-header{padding-inline:18px;gap:8px}[data-gp-theme="true-joint"] .brand small{font-size:10px;max-width:145px}[data-gp-theme="true-joint"] .menu-trigger{font-size:12px;padding:9px 8px;gap:4px}}

@media(max-width:650px){[data-gp-theme="true-joint"] .brand small{font-size:12px;max-width:180px}}

@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="true-joint"] .brand small{font-size:12px;max-width:180px}}@media(max-width:380px){[data-gp-theme="true-joint"] .brand small{display:none}}@containerfs-editor-canvas (max-width: 380px){[data-gp-theme="true-joint"] .brand small{display:none}}

/* Preview chrome and accessibility only. Theme authors own the visual worlds. */
[data-gp-theme="true-joint"][data-premium]{color-scheme:light;background:var(--paper);color:var(--ink);accent-color:var(--accent);scrollbar-color:var(--accent) var(--wash)}
[data-gp-theme="true-joint"][data-premium][data-mode=dark]{color-scheme:dark}
[data-gp-theme="true-joint"][data-premium] ::selection{background:var(--accent);color:var(--on-accent)}
[data-gp-theme="true-joint"][data-premium] :is(input,textarea){caret-color:var(--accent)}
[data-gp-theme="true-joint"][data-premium] :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--accent);outline-offset:4px}
[data-gp-theme="true-joint"][data-premium] :is(input,select,textarea){max-width:100%}
[data-gp-theme="true-joint"][data-premium] :is(input,textarea)::placeholder{color:var(--muted);opacity:1}
[data-gp-theme="true-joint"][data-premium] .preview-bar{display:flex;flex-wrap:wrap;justify-content:flex-start;background:#f5f5f0;color:#242d2c;border-color:#cbd0c8;gap:8px 14px;position:relative;font:13px/1.3 "Figtree",sans-serif;min-height:52px;padding:6px 3vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="true-joint"][data-premium] .preview-bar{padding:6px 3cqw}}
[data-gp-theme="true-joint"][data-premium] .preview-bar>a{font-weight:600;min-height:40px;display:flex;align-items:center}
[data-gp-theme="true-joint"][data-premium] .preview-bar [role=group]{margin-left:auto;display:flex;gap:2px}
[data-gp-theme="true-joint"][data-premium] .preview-bar :is(button,select){font:13px/1.3 "Figtree",sans-serif;min-height:40px;max-width:100%;border-radius:3px}
[data-gp-theme="true-joint"][data-premium] .preview-bar select{background:#fff;color:#242d2c;border:1px solid #a2ada4;padding:7px 24px 7px 9px}
[data-gp-theme="true-joint"][data-premium] .preview-bar [aria-pressed=true]{background:#242d2c;color:#fff}
[data-gp-theme="true-joint"][data-premium] .preview-bar .preview-label{font:12px/1.3 "Figtree",sans-serif;color:#48554f}
[data-gp-theme="true-joint"][data-premium] .preview-bar :focus-visible{outline-color:#254fbb}
[data-gp-theme="true-joint"][data-premium] .preview-bar [data-replay-intro]{font-size:12px;margin:0}
[data-gp-theme="true-joint"][data-premium] .preview-bar [data-replay-intro]::after{content:none}
[data-gp-theme="true-joint"][data-premium] .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
[data-gp-theme="true-joint"][data-premium] .premium-action{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 22px;background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);text-decoration:none;font-weight:600;transition:transform 150ms var(--ease-out),background-color 150ms var(--ease-out)}
[data-gp-theme="true-joint"][data-premium] .premium-action:active{transform:translateY(1px)}
[data-gp-theme="true-joint"][data-premium] .premium-action:disabled{opacity:.6;cursor:not-allowed}
[data-gp-theme="true-joint"][data-premium] :is(h1,h2,h3){text-wrap:balance}
[data-gp-theme="true-joint"][data-premium] p{text-wrap:pretty}
/* Put down the opaque menu surface immediately, then introduce its content. */
[data-gp-theme="true-joint"][data-premium] .mega-menu[open]:not([data-closing]){animation:none}
[data-gp-theme="true-joint"][data-premium] .mega-menu[open]:not([data-closing])>:not(:first-child){animation:gp-truejoint-premium-menu-content 160ms var(--ease-out)}
[data-gp-theme="true-joint"][data-premium] .mega-menu[data-keyboard]>:not(:first-child){animation:none!important}
[data-gp-theme="true-joint"][data-premium][data-input=keyboard] :is(button,[role="button"]):active{transform:none}
@keyframes gp-truejoint-premium-menu-content{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:650px){
 [data-gp-theme="true-joint"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="true-joint"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="true-joint"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="true-joint"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="true-joint"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="true-joint"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="true-joint"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="true-joint"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@containerfs-editor-canvas (max-width: 650px){
 [data-gp-theme="true-joint"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="true-joint"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="true-joint"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="true-joint"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="true-joint"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="true-joint"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="true-joint"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="true-joint"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@media(prefers-reduced-motion:reduce){[data-gp-theme="true-joint"][data-premium] .premium-action{transition:none;transform:none}}

/* Website page primitives and actual layout modes. Authored theme CSS owns identity. */
[data-gp-theme="true-joint"][data-framed=true] .preview-bar,[data-gp-theme="true-joint"][data-framed=true] .site-open-preview{display:none!important}
[data-gp-theme="true-joint"][data-site]{--ip-paper:var(--paper,#f4f2eb);--ip-ink:var(--ink,#192f2c);--ip-wash:var(--wash,var(--paper,#e6e9df));--ip-accent:var(--accent,var(--rust,#315b50));--ip-on:var(--on-accent,var(--paper,#fff));--ip-muted:var(--muted,var(--ink,#45534d));--ip-line:var(--line,var(--rule,#a1aca5))}
[data-gp-theme="true-joint"][data-inside]{background:var(--ip-paper);color:var(--ip-ink);font:18px/1.65 var(--body,"Figtree",sans-serif)}
[data-gp-theme="true-joint"] .inside-page :is(h1,h2,h3){font-family:var(--display,inherit);color:inherit;letter-spacing:-.035em;line-height:1.1;font-weight:500;max-width:22ch}
[data-gp-theme="true-joint"] .inside-page h1{font-size:clamp(42px,5.3vw,80px);margin:0 0 26px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="true-joint"] .inside-page h1{font-size:clamp(42px,5.3cqw,80px)}}[data-gp-theme="true-joint"] .inside-page h2{font-size:clamp(30px,3vw,49px);margin:0 0 24px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="true-joint"] .inside-page h2{font-size:clamp(30px,3cqw,49px)}}[data-gp-theme="true-joint"] .inside-page h3{font-size:25px;margin:0 0 15px}
[data-gp-theme="true-joint"] .inside-page :is(p,li){max-width:72ch}[data-gp-theme="true-joint"] .inside-page p{margin:0 0 20px}[data-gp-theme="true-joint"] .inside-page a{color:inherit}[data-gp-theme="true-joint"] .inside-page img{max-width:100%;width:100%;height:100%;object-fit:cover}[data-gp-theme="true-joint"] .inside-page figure{margin:0}[data-gp-theme="true-joint"] .inside-page :is(button,[role="button"]){color:inherit}
[data-gp-theme="true-joint"] .ip-hero,[data-gp-theme="true-joint"] .ip-section{width:min(1320px,calc(100% - 96px));margin-inline:auto;padding-block:70px}[data-gp-theme="true-joint"] .ip-hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:65px}[data-gp-theme="true-joint"] .ip-opening{min-width:0}[data-gp-theme="true-joint"] .ip-hero:has(>.ip-opening:only-child){grid-template-columns:1fr}[data-gp-theme="true-joint"] .ip-art{height:430px;position:relative}[data-gp-theme="true-joint"] .ip-art img{object-fit:cover}[data-gp-theme="true-joint"] .ip-art figcaption,[data-gp-theme="true-joint"] .ip-caption{font-size:14px;line-height:1.5;color:var(--ip-muted);padding-top:10px}[data-gp-theme="true-joint"] .ip-section>.ip-caption{margin-bottom:20px}[data-gp-theme="true-joint"] .ip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}[data-gp-theme="true-joint"] .ip-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px}[data-gp-theme="true-joint"] .ip-card{min-width:0;border-top:1px solid var(--ip-line);padding:25px 0}[data-gp-theme="true-joint"] .ip-card figure{height:230px;margin-bottom:25px}[data-gp-theme="true-joint"] .ip-reading{width:min(76ch,calc(100% - 48px));margin-inline:auto;padding-block:55px}[data-gp-theme="true-joint"] .ip-reading h2{margin-top:40px}[data-gp-theme="true-joint"] .ip-ledger{margin:24px 0}[data-gp-theme="true-joint"] .ip-ledger>div{display:grid;grid-template-columns:1fr 1.4fr;gap:20px;border-top:1px solid var(--ip-line);padding:15px 0}[data-gp-theme="true-joint"] .ip-ledger dt{font-weight:600}[data-gp-theme="true-joint"] .ip-ledger dd{margin:0}[data-gp-theme="true-joint"] .ip-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border:1px solid var(--ip-accent);background:var(--ip-accent);color:var(--ip-on)!important;text-decoration:none;font-size:16px;transition:transform 150ms var(--ease-out)}[data-gp-theme="true-joint"] .ip-action.secondary{background:transparent;color:var(--ip-ink)!important;border-color:var(--ip-line)}[data-gp-theme="true-joint"] .ip-band{padding:55px max(24px,calc((100% - 1320px)/2));background:var(--ip-wash);color:var(--ip-ink)}[data-gp-theme="true-joint"] .ip-band p{max-width:65ch}[data-gp-theme="true-joint"] .ip-note{font-size:15px;border-left:3px solid var(--ip-accent);padding:12px 18px;background:var(--ip-wash);color:var(--ip-ink);margin-block:20px}[data-gp-theme="true-joint"] .ip-form{display:grid;gap:22px}[data-gp-theme="true-joint"] .ip-form label{display:grid;gap:8px;font-size:16px}[data-gp-theme="true-joint"] .ip-form :is(input,textarea,select){width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid var(--ip-line);background:var(--ip-paper);color:var(--ip-ink);font:inherit;border-radius:0}[data-gp-theme="true-joint"] .ip-form :is(input,textarea)::placeholder{color:var(--ip-muted);opacity:1}[data-gp-theme="true-joint"] .ip-field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}[data-gp-theme="true-joint"] .ip-form :is(button,[role="button"]){justify-self:start}[data-gp-theme="true-joint"] .ip-form textarea{min-height:135px}[data-gp-theme="true-joint"] .inside-page output[data-draft-output]{display:block;white-space:pre-wrap;padding:25px;background:var(--ip-wash);color:var(--ip-ink);border:1px solid var(--ip-line);overflow-wrap:anywhere}[data-gp-theme="true-joint"] .ip-checks{display:grid;gap:12px}[data-gp-theme="true-joint"] .ip-checks label{display:flex;align-items:start;gap:14px;border-top:1px solid var(--ip-line);padding:16px 0;min-height:52px}[data-gp-theme="true-joint"] .ip-checks input{width:22px;height:22px;min-height:22px;flex-shrink:0;margin-top:4px;accent-color:var(--ip-accent)}[data-gp-theme="true-joint"] .inside-page details{border-top:1px solid var(--ip-line);padding:18px 0}[data-gp-theme="true-joint"] .inside-page summary{min-height:44px;font-size:21px;cursor:pointer}[data-gp-theme="true-joint"] .inside-page details p{padding:16px 0 0}[data-gp-theme="true-joint"] .inside-page [data-filter-group]>[role=group]{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}[data-gp-theme="true-joint"] .inside-page [data-filter]{padding:10px 18px;min-height:44px;background:transparent;color:var(--ip-ink);border:1px solid var(--ip-line)}[data-gp-theme="true-joint"] .inside-page [data-filter][aria-pressed=true]{background:var(--ip-accent);color:var(--ip-on)}[data-gp-theme="true-joint"] .site-directory{padding:30px!important;background:var(--ip-paper)!important;color:var(--ip-ink)!important;border-top:1px solid var(--ip-line)}[data-gp-theme="true-joint"] .site-directory h3{font:600 17px/1.4 var(--body,"Figtree",sans-serif);margin:0 0 16px}[data-gp-theme="true-joint"] .site-directory>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 25px}[data-gp-theme="true-joint"] .site-directory a{display:block;font:16px/1.5 var(--body,"Figtree",sans-serif)!important;min-height:44px;padding:10px 0!important;color:inherit!important;text-decoration:none}[data-gp-theme="true-joint"] .site-directory a[aria-current=page]{text-decoration:underline;font-weight:600!important}[data-gp-theme="true-joint"] .site-open-preview{display:block;padding:10px 20px;background:#eef0eb;color:#20322d;font:14px/1.4 "Figtree",sans-serif;text-align:center}
[data-gp-theme="true-joint"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){width:100%;padding-inline:max(24px,4vw)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="true-joint"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){padding-inline:max(24px,4cqw)}}
[data-gp-theme="true-joint"]:has([data-gp-theme="true-joint"][data-layout=boxed]){background:#a6afa9}[data-gp-theme="true-joint"][data-layout=boxed]{width:min(1200px,calc(100% - 64px));margin-inline:auto;box-shadow:0 0 0 1px #0002,0 20px 70px #0002;min-height:100dvh;background:var(--ip-paper)}
[data-gp-theme="true-joint"][data-layout=centered] :is(.ip-hero,.opening,.cake-opening,.gp-title,.book-opening,.poster-opening,.portal-opening,.destination-opening,.route-opening){text-align:center}
[data-gp-theme="true-joint"][data-layout=centered] .ip-hero{grid-template-columns:1fr;max-width:1000px;justify-items:center}[data-gp-theme="true-joint"][data-layout=centered] .ip-opening{display:grid;justify-items:center}[data-gp-theme="true-joint"][data-layout=centered] .ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="true-joint"][data-layout=centered] .ip-art{width:min(760px,100%)}
[data-gp-theme="true-joint"][data-layout=minimalist] :is(.ip-section,.ip-hero){padding-block:42px}[data-gp-theme="true-joint"][data-layout=minimalist] :is(.ip-card,.ip-art,.ip-note){border-radius:0;box-shadow:none;background-image:none}[data-gp-theme="true-joint"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5vw,64px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="true-joint"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5cqw,64px)}}[data-gp-theme="true-joint"][data-layout=minimalist] :is(.mullions,.glaze-rim,.cake-sticker,.paper-corner){opacity:0}[data-gp-theme="true-joint"][data-layout=minimalist] :is(.ip-art img,.opening img){border-radius:0}
[data-gp-theme="true-joint"][data-layout=edge-hero] .ip-hero{width:100%;padding-inline:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="true-joint"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4vw)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="true-joint"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4cqw)}}[data-gp-theme="true-joint"][data-layout=edge-hero] .ip-art{height:600px}[data-gp-theme="true-joint"][data-layout=edge-hero] .ip-art img{border-radius:0}[data-gp-theme="true-joint"][data-layout=edge-hero] .ip-art figcaption{padding:8px 20px}
[data-gp-theme="true-joint"][data-layout=full-width] .inside-page>.ip-opening{width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="true-joint"][data-layout=full-width] .inside-page>.ip-opening{padding-inline:4cqw}}
[data-gp-theme="true-joint"][data-layout=centered] .inside-page>.ip-opening{display:flex;flex-direction:column;align-items:center;text-align:center;width:min(1000px,calc(100% - 48px));gap:30px}[data-gp-theme="true-joint"][data-layout=centered] .inside-page>.ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="true-joint"][data-layout=centered] .inside-page>.ip-opening>figure{width:min(780px,100%)}
[data-gp-theme="true-joint"][data-layout=minimalist] .inside-page>.ip-opening{padding-block:38px}[data-gp-theme="true-joint"][data-layout=minimalist] .inside-page>.ip-opening :is(h1,figure){box-shadow:none;border-radius:0}
[data-gp-theme="true-joint"][data-layout=edge-hero] .inside-page>.ip-opening{width:100%;max-width:none;padding:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="true-joint"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="true-joint"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4cqw}}[data-gp-theme="true-joint"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:600px;max-width:none;align-self:stretch}[data-gp-theme="true-joint"][data-layout=edge-hero] .inside-page>.ip-opening>figure img{height:100%;object-fit:cover;border-radius:0}
/* Existing home compositions gain real width/spacing modes without replacing their content. */
[data-gp-theme="true-joint"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="true-joint"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){padding-inline:4cqw}}
[data-gp-theme="true-joint"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child{text-align:center}
[data-gp-theme="true-joint"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(h1,p){margin-inline:auto}[data-gp-theme="true-joint"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(.opening-copy,.elevation-copy,.cake-copy,.hero-copy){text-align:center}
[data-gp-theme="true-joint"][data-layout=minimalist]:not([data-inside]) .gp-source-main>section{padding-block:44px}[data-gp-theme="true-joint"][data-layout=minimalist]:not([data-inside]) :is(.hero-sleeve,.calendar,.hello-note,.open-book){box-shadow:none}
[data-gp-theme="true-joint"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child{width:100%;max-width:none;margin-inline:0;padding-inline:0;background:var(--ip-wash)}[data-gp-theme="true-joint"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="true-joint"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4cqw}}[data-gp-theme="true-joint"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:600px}
@media(hover:hover) and (pointer:fine){[data-gp-theme="true-joint"] .ip-action:hover{transform:translateY(-2px)}[data-gp-theme="true-joint"] .site-directory a:hover{text-decoration:underline}}
@media(max-width:850px){[data-gp-theme="true-joint"] .ip-hero,[data-gp-theme="true-joint"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="true-joint"] .ip-hero{gap:30px}[data-gp-theme="true-joint"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="true-joint"] .ip-two{gap:30px}[data-gp-theme="true-joint"] .ip-art{height:340px}}
@containerfs-editor-canvas (max-width: 850px){[data-gp-theme="true-joint"] .ip-hero,[data-gp-theme="true-joint"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="true-joint"] .ip-hero{gap:30px}[data-gp-theme="true-joint"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="true-joint"] .ip-two{gap:30px}[data-gp-theme="true-joint"] .ip-art{height:340px}}
@media(max-width:600px){[data-gp-theme="true-joint"] .ip-hero,[data-gp-theme="true-joint"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="true-joint"] .ip-hero,[data-gp-theme="true-joint"] .ip-two,[data-gp-theme="true-joint"] .ip-grid,[data-gp-theme="true-joint"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="true-joint"] .ip-art{height:300px}[data-gp-theme="true-joint"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="true-joint"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="true-joint"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="true-joint"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="true-joint"] .site-directory{padding:22px!important}[data-gp-theme="true-joint"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="true-joint"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="true-joint"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="true-joint"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="true-joint"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="true-joint"] .ip-hero,[data-gp-theme="true-joint"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="true-joint"] .ip-hero,[data-gp-theme="true-joint"] .ip-two,[data-gp-theme="true-joint"] .ip-grid,[data-gp-theme="true-joint"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="true-joint"] .ip-art{height:300px}[data-gp-theme="true-joint"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="true-joint"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="true-joint"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="true-joint"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="true-joint"] .site-directory{padding:22px!important}[data-gp-theme="true-joint"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="true-joint"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="true-joint"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="true-joint"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="true-joint"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@media(max-width:600px){[data-gp-theme="true-joint"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="true-joint"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="true-joint"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="true-joint"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="true-joint"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="true-joint"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
[data-gp-theme="true-joint"] .inside-page a[aria-disabled=true]{cursor:default;text-decoration:none}
[data-gp-theme="true-joint"][data-layout=edge-hero] .inside-page .ip-hero .ip-art{transform:none}
@media(prefers-reduced-motion:reduce){[data-gp-theme="true-joint"] .ip-action{transition:none;transform:none!important}}
/* Task actions always use an explicit contrasting pair, including themed form overrides. */
[data-gp-theme="true-joint"][data-site] .inside-page :is(.ip-form :is(button,[role="button"]):is([type="submit"],[data-gp-button-type="submit"]),[data-save-draft],.ip-action:not(.secondary)){
 background:var(--ip-ink)!important;color:var(--ip-paper)!important;border:1px solid var(--ip-ink)!important;
 min-height:48px;padding:12px 22px;font-size:16px;line-height:1.4;
}
[data-gp-theme="true-joint"][data-site] .inside-page .ip-action.secondary{background:transparent!important;color:var(--ip-ink)!important;border-color:var(--ip-line)!important}
[data-gp-theme="true-joint"][data-site] .inside-page .ip-form :is(select,select option){background-color:var(--ip-paper);color:var(--ip-ink)}
[data-gp-theme="true-joint"] .site-plan-label{display:block;font:400 14px/1.45 var(--body,sans-serif);margin-top:6px;text-decoration:none;opacity:1}
[data-gp-theme="true-joint"] a[data-preview-plan]{cursor:pointer}[data-gp-theme="true-joint"] .inside-page a[data-preview-plan]{text-decoration:none}
[data-gp-theme="true-joint"][data-site] .site-directory a[data-preview-plan]{display:flex;flex-direction:column;align-items:flex-start;gap:2px}[data-gp-theme="true-joint"] .site-directory .site-plan-label{font-size:13px;margin:0}


[data-gp-theme="true-joint"][data-inside] .ip-opening{padding-block:clamp(48px,7vw,112px)}


@container fs-editor-canvas (min-width: 0px){


[data-gp-theme="true-joint"][data-inside] .ip-opening{padding-block:clamp(48px,7cqw,112px)}}
[data-gp-theme="true-joint"][data-inside] .ip-opening h1{max-width:15ch}
[data-gp-theme="true-joint"][data-inside] .ip-reading p{margin-top:22px}
[data-gp-theme="true-joint"][data-inside] .ip-section>h2{margin-bottom:28px;max-width:24ch}
[data-gp-theme="true-joint"][data-inside] .ip-section p+p{margin-top:18px}
[data-gp-theme="true-joint"][data-inside] .ip-steps{list-style:none;padding:0;counter-reset:ip-step}
[data-gp-theme="true-joint"][data-inside] .ip-steps li{counter-increment:ip-step;position:relative;padding:28px 0 28px 76px;border-top:1px solid var(--line,var(--rule,currentColor));max-width:85ch}
[data-gp-theme="true-joint"][data-inside] .ip-steps li:before{content:counter(ip-step,decimal-leading-zero);position:absolute;left:0;top:30px;font:inherit;color:var(--accent,var(--rust,currentColor))}
[data-gp-theme="true-joint"][data-inside] .ip-steps p{margin-top:12px}
[data-gp-theme="true-joint"][data-inside] .ip-collection{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px;margin-top:30px}
[data-gp-theme="true-joint"][data-inside] .ip-collection h2{font-size:clamp(30px,3vw,46px);margin-top:20px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="true-joint"][data-inside] .ip-collection h2{font-size:clamp(30px,3cqw,46px)}}
[data-gp-theme="true-joint"][data-inside] .ip-collection p,[data-gp-theme="true-joint"][data-inside] .ip-card p{margin-block:16px}
[data-gp-theme="true-joint"][data-inside] .ip-art{overflow:hidden}
[data-gp-theme="true-joint"][data-inside] .ip-art img{width:100%;height:100%;object-fit:cover;display:block}
[data-gp-theme="true-joint"][data-inside] .ip-art figcaption{font:14px/1.5 var(--body,Figtree,sans-serif);padding:12px 0}
[data-gp-theme="true-joint"][data-inside] .ip-collection .ip-art{height:260px}
[data-gp-theme="true-joint"][data-inside] .ip-band p{margin-block:20px}
[data-gp-theme="true-joint"][data-inside] .ip-questions details{padding:24px 0;border-top:1px solid var(--line,var(--rule,currentColor));max-width:80ch}
[data-gp-theme="true-joint"][data-inside] .ip-questions summary{cursor:pointer;font-size:1.18em;font-weight:600}
[data-gp-theme="true-joint"][data-inside] .ip-questions p{margin-top:18px}
[data-gp-theme="true-joint"][data-inside] .ip-choices{display:flex;flex-wrap:wrap;gap:10px;margin-block:22px}
[data-gp-theme="true-joint"][data-inside] .ip-choices :is(button,[role="button"]){border:1px solid var(--line,var(--rule,currentColor));background:var(--wash,var(--paper));color:var(--ink);padding:12px 18px;min-height:44px;font:inherit;cursor:pointer}
[data-gp-theme="true-joint"][data-inside] .ip-choices :is(button,[role="button"])[aria-pressed=true]{background:var(--ink);color:var(--paper)}
[data-gp-theme="true-joint"][data-inside] .ip-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:30px;max-width:960px}
[data-gp-theme="true-joint"][data-inside] .ip-form label{display:grid;gap:9px;align-content:start}
[data-gp-theme="true-joint"][data-inside] .ip-form label:has(textarea),[data-gp-theme="true-joint"][data-inside] .ip-form>.ip-note{grid-column:1/-1}
[data-gp-theme="true-joint"][data-inside] .ip-form input,[data-gp-theme="true-joint"][data-inside] .ip-form select,[data-gp-theme="true-joint"][data-inside] .ip-form textarea{width:100%;max-width:100%;border:1px solid var(--line,var(--rule,currentColor));background:var(--paper);color:var(--ink);padding:12px;font:inherit;border-radius:0}
[data-gp-theme="true-joint"][data-inside] [data-draft-output]{display:block;white-space:pre-wrap;padding:24px;border:1px solid var(--line,var(--rule,currentColor));margin-block:24px;max-width:960px;overflow-wrap:anywhere}
[data-gp-theme="true-joint"][data-inside] [hidden]{display:none!important}
[data-gp-theme="true-joint"][data-inside] .ip-checks{display:grid;gap:14px;max-width:850px;margin-block:22px}
[data-gp-theme="true-joint"][data-inside] .ip-checks label{display:flex;align-items:flex-start;gap:15px;padding:14px;border-bottom:1px solid var(--line,var(--rule,currentColor));cursor:pointer}
[data-gp-theme="true-joint"][data-inside] .ip-checks input{flex:none;margin-top:6px;accent-color:var(--accent,var(--rust));width:20px;height:20px}
[data-gp-theme="true-joint"][data-inside] .ip-ledger>div{padding:19px 0;border-bottom:1px solid var(--line,var(--rule,currentColor));display:grid;grid-template-columns:180px 1fr;gap:24px}
[data-gp-theme="true-joint"][data-inside] .ip-ledger dt{font-weight:600}
[data-gp-theme="true-joint"][data-inside] .ip-ledger dd{margin:0;max-width:66ch}
[data-gp-theme="true-joint"][data-inside] .ip-caption{font-size:14px;color:var(--muted,var(--ink))}
[data-gp-theme="true-joint"][data-inside] .ip-note{font-size:15px}
[data-gp-theme="true-joint"][data-inside] :is(button,a,summary,input,textarea,select):focus-visible{outline:3px solid var(--accent,var(--rust,currentColor));outline-offset:4px}
@media(max-width:700px){[data-gp-theme="true-joint"][data-inside] .ip-collection,[data-gp-theme="true-joint"][data-inside] .ip-form{grid-template-columns:1fr}[data-gp-theme="true-joint"][data-inside] .ip-ledger>div{grid-template-columns:1fr;gap:7px}[data-gp-theme="true-joint"][data-inside] .ip-steps li{padding-left:48px}[data-gp-theme="true-joint"][data-inside] .ip-collection .ip-art{height:250px}}
@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="true-joint"][data-inside] .ip-collection,[data-gp-theme="true-joint"][data-inside] .ip-form{grid-template-columns:1fr}[data-gp-theme="true-joint"][data-inside] .ip-ledger>div{grid-template-columns:1fr;gap:7px}[data-gp-theme="true-joint"][data-inside] .ip-steps li{padding-left:48px}[data-gp-theme="true-joint"][data-inside] .ip-collection .ip-art{height:250px}}
@media(prefers-reduced-motion:no-preference){[data-gp-theme="true-joint"][data-inside] .ip-choices :is(button,[role="button"]),[data-gp-theme="true-joint"][data-inside] .ip-action{transition:transform 150ms ease,opacity 150ms ease}[data-gp-theme="true-joint"][data-inside] .ip-choices :is(button,[role="button"]):active,[data-gp-theme="true-joint"][data-inside] .ip-action:active{transform:translateY(2px)}}


[data-gp-theme="true-joint"][data-inside] .ip-workshop-hero{border-bottom:8px solid var(--accent);align-items:stretch}
[data-gp-theme="true-joint"][data-inside] .ip-workshop-hero .ip-reading{align-self:center}
[data-gp-theme="true-joint"][data-inside] .ip-opening h1,[data-gp-theme="true-joint"][data-inside] .ip-hero h1{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:clamp(52px,7vw,100px);line-height:.95}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="true-joint"][data-inside] .ip-opening h1,[data-gp-theme="true-joint"][data-inside] .ip-hero h1{font-size:clamp(52px,7cqw,100px)}}
[data-gp-theme="true-joint"][data-inside] .ip-cutaway{display:grid;gap:18px;padding:30px 5%;background:var(--wash);border:1px solid var(--line);max-width:900px}
[data-gp-theme="true-joint"][data-inside] .ip-cutaway div{padding:22px;border:2px solid var(--ink);box-shadow:10px 10px 0 var(--line);font-family:"Barlow Condensed",sans-serif;font-size:30px;transform:skewY(-3deg)}
[data-gp-theme="true-joint"][data-inside] .ip-cutaway div:first-child{background:var(--accent);color:var(--on-accent,var(--paper))}
[data-gp-theme="true-joint"][data-inside] .ip-detail-sheet{border-top:3px solid var(--ink);padding-top:36px}
[data-gp-theme="true-joint"][data-inside] .ip-detail-sheet .ip-art{height:360px;max-width:850px}
[data-gp-theme="true-joint"][data-inside] .ip-workbook{border:2px solid var(--ink);padding:clamp(24px,4vw,55px);background:var(--wash)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="true-joint"][data-inside] .ip-workbook{padding:clamp(24px,4cqw,55px)}}
[data-gp-theme="true-joint"][data-inside] .ip-steps li:before{font:600 34px "Barlow Condensed",sans-serif}
[data-gp-theme="true-joint"][data-inside] .ip-ledger dt{font-family:"Barlow Condensed",sans-serif;font-size:25px}


[data-gp-theme="true-joint"][data-inside] .ip-art{display:grid;grid-template-rows:minmax(0,1fr) auto}
[data-gp-theme="true-joint"][data-inside] .ip-art img{min-height:0}

/* Owner selected recommended on 18 October 2026. Main heading roles only. */
[data-gp-theme="true-joint"][data-gp-kind="section"] h1{font-family:"Barlow Condensed", sans-serif!important;font-weight:600!important;letter-spacing:-0.005em!important;line-height:1.03!important;font-variation-settings:normal!important;font-optical-sizing:auto!important}
[data-gp-theme="true-joint"][data-gp-kind="section"] h2{font-family:"IBM Plex Sans", sans-serif!important;font-weight:600!important;letter-spacing:-.01em!important;line-height:1.17!important;font-variation-settings:normal!important;font-optical-sizing:auto!important}
[data-gp-theme="true-joint"][data-gp-kind="section"] h3{font-family:"IBM Plex Sans", sans-serif!important;font-weight:600!important;letter-spacing:0!important;line-height:1.25!important;font-variation-settings:normal!important}
[data-gp-theme="true-joint"][data-inside][data-gp-kind="section"] h1{font-family:"IBM Plex Sans", sans-serif!important;line-height:1.14!important;letter-spacing:-.012em!important;font-weight:600!important;text-transform:none!important}
@media(max-width:650px){[data-gp-theme="true-joint"][data-gp-kind="section"] h1{line-height:1.08!important;letter-spacing:-0.005em!important}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="true-joint"][data-gp-kind="section"] h1{line-height:1.08!important;letter-spacing:-0.005em!important}}


[data-gp-theme="true-joint"] .ux-study{padding:75px 0;background:var(--paper);color:var(--ink);border-block:1px solid var(--line);isolation:isolate}[data-gp-theme="true-joint"] .ux-shell{width:min(1280px,calc(100% - 80px));margin:auto}[data-gp-theme="true-joint"] .ux-title{display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:35px}[data-gp-theme="true-joint"] .ux-title h2{font-size:clamp(32px,4vw,52px);line-height:1.12;max-width:18ch;margin:0}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="true-joint"] .ux-title h2{font-size:clamp(32px,4cqw,52px)}}[data-gp-theme="true-joint"] .ux-title p{max-width:43ch;font-size:17px;margin:0}[data-gp-theme="true-joint"] .ux-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:35px;align-items:start}[data-gp-theme="true-joint"] .ux-study :is(h3,p,figure){margin:0}[data-gp-theme="true-joint"] .ux-study h3{font-size:25px;line-height:1.22;margin-bottom:14px}[data-gp-theme="true-joint"] .ux-study p{max-width:66ch}[data-gp-theme="true-joint"] .ux-art{background:var(--wash);overflow:hidden;position:relative;margin:0;min-width:0}[data-gp-theme="true-joint"] .ux-art svg{display:block;width:100%;height:auto;aspect-ratio:1.35;max-height:580px}[data-gp-theme="true-joint"] .ux-art img{width:100%;height:100%;display:block;object-fit:cover}[data-gp-theme="true-joint"] .ux-art figcaption{padding:12px 18px;font-size:14px;color:var(--ink);background:var(--wash)}[data-gp-theme="true-joint"] .ux-study fieldset{border:0;padding:0;margin:0 0 24px;min-width:0}[data-gp-theme="true-joint"] .ux-study legend{font-size:15px;margin-bottom:10px;font-weight:600;padding:0}[data-gp-theme="true-joint"] .ux-choices{display:flex;flex-wrap:wrap;gap:8px}[data-gp-theme="true-joint"] .ux-study :is(button,[role="button"]){font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);padding:11px 15px;min-height:46px;cursor:pointer;line-height:1.3;min-width:0;text-align:left}[data-gp-theme="true-joint"] .ux-study :is(button,[role="button"])[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}[data-gp-theme="true-joint"] .ux-study :is(button,a,input):focus-visible{outline:3px solid var(--ink);outline-offset:4px}[data-gp-theme="true-joint"] .ux-study :is(button,[role="button"]):active{transform:translateY(1px)}[data-gp-theme="true-joint"] .ux-text{min-height:105px;padding-top:20px;border-top:1px solid var(--line)}[data-gp-theme="true-joint"] .ux-text p{font-size:17px;line-height:1.6}[data-gp-theme="true-joint"] .ux-foot{display:flex;gap:25px;justify-content:space-between;align-items:start;margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}[data-gp-theme="true-joint"] .ux-foot p{font-size:14px;max-width:60ch}[data-gp-theme="true-joint"] .ux-link{display:inline-flex;align-items:center;min-height:46px;border-bottom:1px solid currentColor;font-size:17px;text-decoration:none;flex-shrink:0}[data-gp-theme="true-joint"] .ux-selection{padding:14px 0;margin-top:22px;font-size:16px;min-height:53px;border-block:1px solid var(--line)}[data-gp-theme="true-joint"] .ux-summary{background:var(--wash);padding:30px;margin:30px auto;max-width:1280px;color:var(--ink);border-block:1px solid var(--line)}[data-gp-theme="true-joint"] .ux-summary h2{font-size:30px;margin:0 0 12px}[data-gp-theme="true-joint"] .ux-summary p{margin:0 0 12px}[data-gp-theme="true-joint"] .ux-summary .ux-link{margin-top:10px}[data-gp-theme="true-joint"] .ux-stage-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:20px}[data-gp-theme="true-joint"] .ux-stage-bar :is(button,[role="button"]){display:grid;gap:8px}[data-gp-theme="true-joint"] .ux-stage-bar :is(button,[role="button"]) small{font-size:13px}[data-gp-theme="true-joint"] .ux-joint-diagram{background:#29322c;color:#f3f0dc}[data-gp-theme="true-joint"] .ux-joint-diagram svg{aspect-ratio:1.35}[data-gp-theme="true-joint"] .ux-joint-diagram figcaption{background:#29322c;color:#f3f0dc}[data-gp-theme="true-joint"] .ux-joint-diagram .ux-prep,[data-gp-theme="true-joint"] .ux-joint-diagram .ux-setting,[data-gp-theme="true-joint"] .ux-joint-diagram .ux-finish{opacity:.14;transition:opacity 180ms cubic-bezier(.23,1,.32,1)}[data-gp-theme="true-joint"] .ux-joint-diagram[data-stage="prepare"] .ux-prep,[data-gp-theme="true-joint"] .ux-joint-diagram[data-stage="install"] :is(.ux-prep,.ux-setting),[data-gp-theme="true-joint"] .ux-joint-diagram[data-stage="finish"] :is(.ux-prep,.ux-setting,.ux-finish){opacity:1}[data-gp-theme="true-joint"] .ux-joint-note{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding:25px 0;margin-top:20px;border-top:1px solid var(--line)}[data-gp-theme="true-joint"] .ux-joint-note p{font-size:16px}[data-gp-theme="true-joint"] .ux-home-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}[data-gp-theme="true-joint"] .ux-plan{aspect-ratio:.95;position:relative;background:#e7e9dd;color:#193b77;padding:25px}[data-gp-theme="true-joint"] .ux-plan-header{display:flex;justify-content:space-between;font-size:13px;margin-bottom:20px}[data-gp-theme="true-joint"] .ux-plan-rooms{height:77%;display:grid;grid-template-columns:1.1fr 1fr;grid-template-rows:1fr 1.1fr .65fr;gap:6px;border:5px double #193b77;padding:7px;position:relative}[data-gp-theme="true-joint"] .ux-plan-rooms:after{content:"";position:absolute;bottom:-8px;left:30%;width:45px;height:12px;background:#e7e9dd;border:1px solid #193b77;pointer-events:none}[data-gp-theme="true-joint"] .ux-plan-rooms :is(button,[role="button"]){background:#f5f3ea;border:1px solid #193b77;color:#193b77;display:flex;align-items:center;justify-content:center;text-align:center;padding:10px}[data-gp-theme="true-joint"] .ux-plan-rooms :is(button,[role="button"])[data-room=garden]{grid-column:1/-1;background:repeating-linear-gradient(45deg,#d1dbc9 0 10px,#dce4d5 10px 11px)}[data-gp-theme="true-joint"] .ux-plan-rooms :is(button,[role="button"])[aria-pressed=true]{background:#193b77;color:#f5f3ea}[data-gp-theme="true-joint"] .ux-room-view{display:flex;flex-direction:column;gap:18px}[data-gp-theme="true-joint"] .ux-room-view figure{aspect-ratio:1.55;background:#efe5d1;overflow:hidden}[data-gp-theme="true-joint"] .ux-room-view img{object-fit:cover}[data-gp-theme="true-joint"] .ux-room-view .ux-text{min-height:116px}[data-gp-theme="true-joint"] .ux-room-title{display:flex;justify-content:space-between;gap:15px;align-items:center}[data-gp-theme="true-joint"] .ux-room-title span:not(.fs-richtext){font-size:14px}[data-gp-theme="true-joint"] .ux-study .ux-toggle{margin-top:16px}[data-gp-theme="true-joint"] .ux-cake-display{--sponge:#e5b66d;--filling:#ad435b;--icing:#fff4db;background:#fff4db;color:#602b3e}[data-gp-theme="true-joint"] .ux-cake-display[data-flavour=chocolate]{--sponge:#79503a;--filling:#422f28;--icing:#b88c65}[data-gp-theme="true-joint"] .ux-cake-display[data-flavour=lemon]{--sponge:#dfbf68;--filling:#d4a93c;--icing:#fff4cb}[data-gp-theme="true-joint"] .ux-cake-display .ux-sponge{fill:var(--sponge)}[data-gp-theme="true-joint"] .ux-cake-display .ux-filling{fill:var(--filling)}[data-gp-theme="true-joint"] .ux-cake-display .ux-icing{fill:var(--icing)}[data-gp-theme="true-joint"] .ux-cake-display .ux-piping,[data-gp-theme="true-joint"] .ux-cake-display .ux-ribbon{display:none}[data-gp-theme="true-joint"] .ux-cake-display[data-finish=piped] .ux-piping,[data-gp-theme="true-joint"] .ux-cake-display[data-finish=ribbon] .ux-ribbon{display:block}[data-gp-theme="true-joint"] .ux-cake-display svg{aspect-ratio:1.333}[data-gp-theme="true-joint"] .ux-cake-controls label{display:grid;gap:9px;font-size:15px;margin:10px 0 24px}[data-gp-theme="true-joint"] .ux-cake-controls input{width:100%;min-height:46px;font:inherit;background:var(--paper);color:var(--ink);border:1px solid var(--line);padding:12px;box-sizing:border-box}[data-gp-theme="true-joint"] .ux-serving{display:grid;grid-template-columns:.8fr 1.2fr;gap:25px;margin-top:32px;border-top:1px solid var(--line);padding-top:25px}[data-gp-theme="true-joint"] .ux-serving-plates{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;align-content:center;min-height:105px}[data-gp-theme="true-joint"] .ux-serving-plates span:not(.fs-richtext){border:1px solid var(--ink);aspect-ratio:1;border-radius:50%;position:relative;background:var(--wash)}[data-gp-theme="true-joint"] .ux-serving-plates span:not(.fs-richtext):after{content:"";position:absolute;left:28%;top:24%;width:42%;height:42%;background:#e4bd77;border-bottom:4px solid #ad435b;transform:rotate(-10deg)}[data-gp-theme="true-joint"] .ux-serving-plates[data-serving=dessert]{grid-template-columns:repeat(4,1fr)}[data-gp-theme="true-joint"] .ux-serving-plates[data-serving=dessert] span:not(.fs-richtext):nth-child(n+9){display:none}[data-gp-theme="true-joint"] .ux-v-grid{grid-template-columns:minmax(0,1.7fr) minmax(0,.8fr);gap:35px}[data-gp-theme="true-joint"] .ux-v-wide{aspect-ratio:1.65;position:relative;overflow:hidden;background:#223139}[data-gp-theme="true-joint"] .ux-v-wide>img{height:100%;object-fit:cover}[data-gp-theme="true-joint"] .ux-v-marker{position:absolute;background:#f5f0e2;color:#26363b;border:1px solid #26363b;padding:5px 12px;font-size:13px;left:6%;bottom:9%}[data-gp-theme="true-joint"] .ux-v-detail{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:25px;align-items:center}[data-gp-theme="true-joint"] .ux-v-detail figure{height:180px;overflow:hidden;background:#223139}[data-gp-theme="true-joint"] .ux-v-nav{display:grid;gap:0;border-top:1px solid var(--line)}[data-gp-theme="true-joint"] .ux-v-nav :is(button,[role="button"]){border:0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 12px}[data-gp-theme="true-joint"] .ux-v-nav :is(button,[role="button"]) span:not(.fs-richtext){font-size:13px}[data-gp-theme="true-joint"] .ux-v-nav :is(button,[role="button"])[aria-pressed=true]{background:var(--wash);color:var(--ink);box-shadow:inset 0 -2px currentColor}[data-gp-theme="true-joint"] .ux-v-nav :is(button,[role="button"]):after{content:"";width:7px;height:7px;border-right:1px solid currentColor;border-top:1px solid currentColor;transform:rotate(45deg)}[data-gp-theme="true-joint"] .ux-v-controls .ux-text{margin-top:28px;min-height:150px}[data-gp-theme="true-joint"] .ux-v-light{position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 40%,#fff5 50%,transparent 60%);opacity:0}[data-gp-theme="true-joint"] .ux-study [hidden]{display:none!important}@media(max-width:800px){[data-gp-theme="true-joint"] .ux-shell{width:calc(100% - 40px)}[data-gp-theme="true-joint"] .ux-grid,[data-gp-theme="true-joint"] .ux-home-grid,[data-gp-theme="true-joint"] .ux-v-grid{grid-template-columns:minmax(0,1fr);gap:25px}[data-gp-theme="true-joint"] .ux-grid>*{min-width:0}[data-gp-theme="true-joint"] .ux-room-title{flex-wrap:wrap}[data-gp-theme="true-joint"] .ux-title{display:block}[data-gp-theme="true-joint"] .ux-title p{margin-top:18px;max-width:60ch}[data-gp-theme="true-joint"] .ux-plan{aspect-ratio:auto;height:360px;min-height:0}[data-gp-theme="true-joint"] .ux-plan-rooms{height:78%}[data-gp-theme="true-joint"] .ux-cake-display svg{max-height:490px}[data-gp-theme="true-joint"] .ux-stage-bar{grid-template-columns:1fr 1fr}[data-gp-theme="true-joint"] .ux-foot{flex-direction:column;gap:15px}[data-gp-theme="true-joint"] .ux-study{padding:50px 0}[data-gp-theme="true-joint"] .ux-summary{margin-inline:20px;padding:22px}[data-gp-theme="true-joint"] .ux-v-controls .ux-text{min-height:105px}[data-gp-theme="true-joint"] .ux-v-nav{grid-template-columns:repeat(3,minmax(0,1fr))}[data-gp-theme="true-joint"] .ux-v-nav :is(button,[role="button"]){padding:12px 8px;display:grid;font-size:15px}[data-gp-theme="true-joint"] .ux-v-nav :is(button,[role="button"]):after{display:none}[data-gp-theme="true-joint"] .ux-v-detail{gap:18px}[data-gp-theme="true-joint"] .ux-v-detail figure{height:150px}[data-gp-theme="true-joint"] .ux-serving{grid-template-columns:1fr}[data-gp-theme="true-joint"] .ux-joint-note{grid-template-columns:1fr;gap:15px}}@containerfs-editor-canvas (max-width: 800px){[data-gp-theme="true-joint"] .ux-shell{width:calc(100% - 40px)}[data-gp-theme="true-joint"] .ux-grid,[data-gp-theme="true-joint"] .ux-home-grid,[data-gp-theme="true-joint"] .ux-v-grid{grid-template-columns:minmax(0,1fr);gap:25px}[data-gp-theme="true-joint"] .ux-grid>*{min-width:0}[data-gp-theme="true-joint"] .ux-room-title{flex-wrap:wrap}[data-gp-theme="true-joint"] .ux-title{display:block}[data-gp-theme="true-joint"] .ux-title p{margin-top:18px;max-width:60ch}[data-gp-theme="true-joint"] .ux-plan{aspect-ratio:auto;height:360px;min-height:0}[data-gp-theme="true-joint"] .ux-plan-rooms{height:78%}[data-gp-theme="true-joint"] .ux-cake-display svg{max-height:490px}[data-gp-theme="true-joint"] .ux-stage-bar{grid-template-columns:1fr 1fr}[data-gp-theme="true-joint"] .ux-foot{flex-direction:column;gap:15px}[data-gp-theme="true-joint"] .ux-study{padding:50px 0}[data-gp-theme="true-joint"] .ux-summary{margin-inline:20px;padding:22px}[data-gp-theme="true-joint"] .ux-v-controls .ux-text{min-height:105px}[data-gp-theme="true-joint"] .ux-v-nav{grid-template-columns:repeat(3,minmax(0,1fr))}[data-gp-theme="true-joint"] .ux-v-nav :is(button,[role="button"]){padding:12px 8px;display:grid;font-size:15px}[data-gp-theme="true-joint"] .ux-v-nav :is(button,[role="button"]):after{display:none}[data-gp-theme="true-joint"] .ux-v-detail{gap:18px}[data-gp-theme="true-joint"] .ux-v-detail figure{height:150px}[data-gp-theme="true-joint"] .ux-serving{grid-template-columns:1fr}[data-gp-theme="true-joint"] .ux-joint-note{grid-template-columns:1fr;gap:15px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="true-joint"] .ux-study *{transition:none!important}[data-gp-theme="true-joint"] .ux-study :is(button,[role="button"]):active{transform:none}}

/* Approved readability refinements, 18 October 2026.
   Only meaningful helpers, local groups and selected reading paragraphs.
   Owner-selected type families, display sizes and frozen comparisons stay authoritative. */

/* Kiln House: the brief promise and sample guidance are part of the task. */
[data-gp-theme="true-joint"][data-site="kiln-house"] :is(.field-note,.form-note,.pairing-hint,.material-note,.light-note,.letter-note,.combination-copy small,.material-row small){font-size:14px;line-height:1.5}
[data-gp-theme="true-joint"][data-site="kiln-house"] .form-note{margin-top:16px}
[data-gp-theme="true-joint"][data-site="kiln-house"] :is(.quiet-button,.combination-action){font-size:15px;line-height:1.5}
[data-gp-theme="true-joint"][data-site="kiln-house"] .quiet-button{min-height:44px}
[data-gp-theme="true-joint"][data-site="kiln-house"] .directory-links a small{font-size:14px;line-height:1.5}

/* Small study labels explain a choice, rather than acting as an imprint. */
[data-gp-theme="true-joint"][data-site="true-joint"] .ux-stage-bar :is(button,[role="button"]) small{font-size:14px;line-height:1.5}
[data-gp-theme="true-joint"][data-site="neighbourhood-edit"] .ux-plan-header{font-size:14px;line-height:1.5;gap:12px;flex-wrap:wrap}
[data-gp-theme="true-joint"][data-site="neighbourhood-edit"] .ux-room-title{margin-bottom:16px}
[data-gp-theme="true-joint"][data-site="neighbourhood-edit"] .ux-room-title h3{margin-bottom:0}
[data-gp-theme="true-joint"][data-site="neighbourhood-edit"] :is(.home-finder label,.home-finder output,.area-index small){font-size:14px;line-height:1.5}
[data-gp-theme="true-joint"][data-site="neighbourhood-edit"] .home-finder select{font-size:16px;min-height:44px}
[data-gp-theme="true-joint"][data-site="harbour"] .ux-folio .ux-document-row label{font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="true-joint"][data-site="daymark-window-care"] .dm-sheet-head{font-size:14px;line-height:1.5;flex-wrap:wrap}
[data-gp-theme="true-joint"][data-site="velum-window-care"] .ux-v-nav :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}

/* Existing small controls retain or gain the comfortable target height. */
[data-gp-theme="true-joint"][data-site="stem-and-still"] .stem-slip :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:48px;gap:8px}
[data-gp-theme="true-joint"][data-site="cake-box"] .flavour-pick :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="true-joint"][data-site="cake-box"] .message-label small{font-size:14px;line-height:1.5}
[data-gp-theme="true-joint"][data-site="crm-recruitment-people"] .question-buttons{gap:10px}
[data-gp-theme="true-joint"][data-site="crm-recruitment-people"] .question-buttons :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:10px 12px}
[data-gp-theme="true-joint"][data-site="the-second-set-programme"] .pr-order-actions :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:8px 10px}

/* The format facts belong with the large ensemble names. */
[data-gp-theme="true-joint"][data-site="the-second-set-afterglow"] .ag-format-ribbon span:not(.fs-richtext){font-size:14px;line-height:1.5;margin-top:8px}
[data-gp-theme="true-joint"][data-site="the-second-set-programme"] .opening-note{font-size:14px;line-height:1.5}
[data-gp-theme="true-joint"][data-site="the-second-set-signal"] .form-note{font-size:14px;line-height:1.5}

/* Slipstream: useful record, filter and brief text; preserve the scrollable comparison. */
[data-gp-theme="true-joint"][data-site="slipstream"] :is(.featured-price small,.rail-note,.stock-finder label,.stock-caption,.inspection-note,.inspection-instruction,.form-note,[data-gp-id="stock-count"],[data-gp-id="form-question-count"]){font-size:14px;line-height:1.5}
[data-gp-theme="true-joint"][data-site="slipstream"] :is(.visit-form label,.form-pair label){font-size:15px;line-height:1.5}
[data-gp-theme="true-joint"][data-site="slipstream"] :is(.car-record summary,[data-gp-id="reset-stock"],[data-gp-id="clear-compare"],.quick-compare button){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="true-joint"][data-site="slipstream"] .stock-finder select{min-height:44px}

/* Narrow only sustained paragraphs, preserving plans, records, lists and tables. */
[data-gp-theme="true-joint"]:is([data-site="stem-and-still"],[data-site="kiln-house"],[data-site="true-joint"])[data-inside] .ip-reading>p{max-width:64ch}

@media(max-width:700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="true-joint"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="true-joint"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="true-joint"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="true-joint"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="true-joint"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="true-joint"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="true-joint"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="true-joint"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="true-joint"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

@containerfs-editor-canvas (max-width: 700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="true-joint"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="true-joint"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="true-joint"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="true-joint"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="true-joint"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="true-joint"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="true-joint"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="true-joint"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="true-joint"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

/* No generic heading, body, section-spacing or panel-height reset.
   Goodpane's unused calendar CSS, Expedition's real stage envelope,
   Starlight's passage leading and Velum's display introduction need no blanket fix. */

/* A construction section: offset strata rather than a column directory. */
[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu{inset:0 auto 0 0;width:min(820px,76vw);max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-right:5px solid var(--accent);border-radius:0;background:var(--work);color:var(--work-ink);overflow:auto;box-shadow:20px 0 80px #0004}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu{width:min(820px,76cqw)}}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu *{box-sizing:border-box;min-width:0}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .menu-top{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 32px;border-bottom:1px solid color-mix(in srgb,var(--work-ink) 35%,transparent);background:var(--work);color:var(--work-ink)}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .menu-top a{font:400 14px/1.4 var(--body);min-height:32px;text-decoration:none;color:inherit;display:inline-flex;align-items:center}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu h2{font:600 clamp(31px,3.3vw,47px)/1 var(--display);margin:6px 0 0;letter-spacing:-.015em}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu h2{font:600 clamp(31px,3.3cqw,47px)/1 var(--display)}}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu [data-menu-close]{display:flex;gap:15px;align-items:center;min-height:44px;padding:8px 12px;border:1px solid currentColor;background:transparent;color:inherit;font:400 14px/1.4 var(--body);white-space:nowrap}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu [data-menu-close] span:not(.fs-richtext){font-size:23px}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-cutaway{position:relative;padding:28px 30px 30px 65px;display:grid;gap:13px}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-section-line{position:absolute;left:28px;top:28px;bottom:30px;width:1px;background:var(--accent)}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-section-line:before,[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-section-line:after{content:'';position:absolute;left:-7px;width:15px;height:2px;background:var(--accent)}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-section-line:after{bottom:0}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-layer{position:relative;padding:19px 23px 15px;border-left:7px solid var(--line);background:var(--paper);color:var(--ink)}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-layer:before{content:'';position:absolute;height:1px;width:26px;left:-37px;top:30px;background:var(--accent)}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-layer-label{display:block;font:400 13px/1.4 var(--body);color:var(--muted);margin-bottom:6px}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-layer a{display:flex;align-items:center;min-height:37px;color:inherit;text-decoration:none;font:400 15px/1.4 var(--body);width:fit-content;max-width:100%}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-layer a strong{font:600 clamp(27px,3vw,39px)/1.05 var(--display);font-weight:600;letter-spacing:.005em}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-layer a strong{font:600 clamp(27px,3cqw,39px)/1.05 var(--display)}}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-layer a+a{margin-top:3px;text-decoration:underline;text-underline-offset:5px}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-existing{margin-right:55px;border-left-width:16px}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-preparation{margin-left:20px;margin-right:20px;background:var(--wash)}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-setting{margin-left:45px;border-left:7px double var(--accent)}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-finish{margin-right:5px;margin-left:9px;border-top:7px solid var(--accent)}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-section-end{padding:0 30px 30px 65px;display:flex;align-items:center;justify-content:space-between;gap:22px}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-section-end p{font:400 13px/1.5 var(--body);max-width:31ch;margin:0}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-section-end>a{display:flex;align-items:center;justify-content:space-between;gap:15px;text-decoration:none;font:500 18px/1.3 var(--body);padding:18px 20px;background:var(--accent);color:var(--on-accent);min-height:54px;max-width:240px}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu :is(a,button):focus-visible{outline:3px solid currentColor;outline-offset:4px}
@media(hover:hover){[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-layer a:hover strong{text-decoration:underline;text-underline-offset:5px}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-section-end>a:hover{filter:brightness(.94)}}
[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu[open]{animation:none} @media(min-width:901px) and (prefers-reduced-motion:no-preference){[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu[open]>.tj-cutaway{animation:gp-truejoint-tj-section-slide 220ms cubic-bezier(.2,.8,.2,1)}@keyframes gp-truejoint-tj-section-slide{from{transform:translateX(-8px);opacity:0}to{transform:none;opacity:1}}}
@media(max-width:900px){[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .menu-top h2{font-size:31px}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .menu-top a{font-size:12px;min-height:44px}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu [data-menu-close]{padding:8px;gap:6px;font-size:13px}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-cutaway{padding:20px 18px 22px 38px;gap:12px}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-section-line{left:17px;top:22px;bottom:22px}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-layer{padding:17px 17px 13px}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-layer:before{width:14px;left:-24px}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-existing{margin-right:16px;border-left-width:8px}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-preparation{margin-left:7px;margin-right:5px}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-setting{margin-left:16px}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-finish{margin-left:3px;margin-right:0}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-layer a{min-height:44px;font-size:15px}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-layer a strong{font-size:30px}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-section-end{display:block;padding:0 22px 28px 38px}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-section-end>a{margin-top:18px;max-width:none;width:100%}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-section-end p{max-width:none}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .menu-top h2{font-size:31px}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .menu-top a{font-size:12px;min-height:44px}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu [data-menu-close]{padding:8px;gap:6px;font-size:13px}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-cutaway{padding:20px 18px 22px 38px;gap:12px}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-section-line{left:17px;top:22px;bottom:22px}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-layer{padding:17px 17px 13px}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-layer:before{width:14px;left:-24px}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-existing{margin-right:16px;border-left-width:8px}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-preparation{margin-left:7px;margin-right:5px}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-setting{margin-left:16px}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-finish{margin-left:3px;margin-right:0}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-layer a{min-height:44px;font-size:15px}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-layer a strong{font-size:30px}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-section-end{display:block;padding:0 22px 28px 38px}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-section-end>a{margin-top:18px;max-width:none;width:100%}[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu .tj-section-end p{max-width:none}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu,[data-gp-theme="true-joint"] [data-gp-id="mega-menu"].tj-section-menu *{animation:none!important;transition:none!important}}

[data-gp-theme="true-joint"]{--paper:rgb(var(--c-paper));--ink:rgb(var(--c-ink-950));--accent:rgb(var(--c-brand-600));--wash:rgb(var(--c-paper-soft));--line:rgb(var(--c-line));--muted:rgb(var(--c-ink-400));--on-accent:var(--fs-on-brand);--focus:rgb(var(--c-accent));--work:var(--fs-surface-inverted,var(--wash));--work-ink:var(--fs-on-surface-inverted,var(--paper));--body:var(--font-sans);}
[data-gp-theme="stem-and-still"]{--ease-out:cubic-bezier(.23,1,.32,1);--ease-drawer:cubic-bezier(.32,.72,0,1)}
[data-gp-theme="stem-and-still"] *{box-sizing:border-box}[data-gp-theme="stem-and-still"]{scroll-behavior:smooth;scroll-padding-top:100px}[data-gp-theme="stem-and-still"]{margin:0}[data-gp-theme="stem-and-still"] img{max-width:100%;display:block}[data-gp-theme="stem-and-still"] :is(button,[role="button"]),[data-gp-theme="stem-and-still"] input,[data-gp-theme="stem-and-still"] select,[data-gp-theme="stem-and-still"] textarea{font:inherit}[data-gp-theme="stem-and-still"] :is(button,[role="button"]),[data-gp-theme="stem-and-still"] a,[data-gp-theme="stem-and-still"] input,[data-gp-theme="stem-and-still"] select,[data-gp-theme="stem-and-still"] textarea{touch-action:manipulation}[data-gp-theme="stem-and-still"] :is(button,[role="button"]),[data-gp-theme="stem-and-still"] a{ -webkit-tap-highlight-color:transparent}[data-gp-theme="stem-and-still"] :is(button,[role="button"]){cursor:pointer}[data-gp-theme="stem-and-still"] :is(button,[role="button"]):active{transform:translateY(1px)}[data-gp-theme="stem-and-still"] a{color:inherit;text-underline-offset:.22em}[data-gp-theme="stem-and-still"] :is(button,[role="button"]):focus-visible,[data-gp-theme="stem-and-still"] a:focus-visible,[data-gp-theme="stem-and-still"] summary:focus-visible,[data-gp-theme="stem-and-still"] input:focus-visible,[data-gp-theme="stem-and-still"] select:focus-visible,[data-gp-theme="stem-and-still"] textarea:focus-visible{outline:3px solid var(--focus,#346ddb);outline-offset:5px}[data-gp-theme="stem-and-still"] textarea{resize:vertical}[data-gp-theme="stem-and-still"] input,[data-gp-theme="stem-and-still"] textarea{caret-color:var(--focus,currentColor)}[data-gp-theme="stem-and-still"] :is(button,[role="button"]),[data-gp-theme="stem-and-still"] select,[data-gp-theme="stem-and-still"] input{min-height:44px}[data-gp-theme="stem-and-still"] summary{cursor:pointer}[data-gp-theme="stem-and-still"] section[id],[data-gp-theme="stem-and-still"] footer[id]{scroll-margin-top:110px}[data-gp-theme="stem-and-still"] [hidden]{display:none!important}[data-gp-theme="stem-and-still"] .skip-link{position:fixed;z-index:200;top:8px;left:8px;background:#fff;color:#111;padding:12px 18px;transform:translateY(-150%)}[data-gp-theme="stem-and-still"] .skip-link:focus{transform:none}
[data-gp-theme="stem-and-still"] .preview-bar{min-height:42px;background:#f6f6f2;color:#252a2a;border-bottom:1px solid #d5d8d4;font:13px/1.3 "Figtree",sans-serif;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 3vw;position:relative;z-index:30}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="stem-and-still"] .preview-bar{padding:5px 3cqw}}[data-gp-theme="stem-and-still"] .preview-bar a{white-space:nowrap}[data-gp-theme="stem-and-still"] .preview-bar [role=group]{display:flex;gap:2px;align-items:center}[data-gp-theme="stem-and-still"] .preview-bar :is(button,[role="button"]){min-height:32px;background:transparent;color:inherit;border:0;padding:6px 10px;border-radius:3px;font-size:13px;transition:background-color 150ms var(--ease-out)}[data-gp-theme="stem-and-still"] .preview-bar [aria-pressed=true]{background:#252a2a;color:#fff}[data-gp-theme="stem-and-still"] .preview-bar :is(button,[role="button"])[data-replay-intro]{border:1px solid #b6beb8}[data-gp-theme="stem-and-still"] .preview-label{color:#515953}[data-gp-theme="stem-and-still"] .preview-bar::selection{background:#252a2a;color:#fff}
[data-gp-theme="stem-and-still"] dialog.mega-menu{max-width:none;max-height:calc(100dvh - 32px);overflow:auto;border:0;padding:0;color:inherit;overscroll-behavior:contain}[data-gp-theme="stem-and-still"] dialog.mega-menu::backdrop{background:rgb(8 16 18 / .52)}[data-gp-theme="stem-and-still"] .mega-menu[open]{animation:gp-stem-menu-arrive 220ms var(--ease-drawer)}[data-gp-theme="stem-and-still"] .mega-menu[data-closing]{animation:gp-stem-menu-leave 160ms var(--ease-out) forwards}[data-gp-theme="stem-and-still"] .mega-menu[data-keyboard]{animation:none}[data-gp-theme="stem-and-still"] .menu-lock{overflow:hidden}@keyframes gp-stem-menu-arrive{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}@keyframes gp-stem-menu-leave{to{opacity:0;transform:translateY(-10px)}}
[data-gp-theme="stem-and-still"] .preloader{display:none;position:fixed;inset:0;z-index:190;place-content:center;pointer-events:none;text-align:center}[data-gp-theme="stem-and-still"] .preloader.is-active{display:grid;animation:gp-stem-intro-failsafe 1.3s step-end forwards}[data-gp-theme="stem-and-still"] .preloader.is-leaving{opacity:0;transition:opacity 180ms var(--ease-out)}@keyframes gp-stem-intro-failsafe{0%,99%{visibility:visible}100%{visibility:hidden}}
@media(max-width:650px){[data-gp-theme="stem-and-still"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="stem-and-still"] .preview-bar .preview-label{display:none}[data-gp-theme="stem-and-still"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="stem-and-still"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="stem-and-still"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="stem-and-still"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="stem-and-still"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="stem-and-still"] .preview-bar .preview-label{display:none}[data-gp-theme="stem-and-still"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="stem-and-still"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="stem-and-still"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="stem-and-still"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="stem-and-still"]{scroll-behavior:auto}[data-gp-theme="stem-and-still"] *,[data-gp-theme="stem-and-still"] *::before,[data-gp-theme="stem-and-still"] *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-gp-theme="stem-and-still"] .preloader.is-active{display:none!important}}
@media(max-width:650px){[data-gp-theme="stem-and-still"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="stem-and-still"] .preview-bar a{font-size:12px}[data-gp-theme="stem-and-still"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="stem-and-still"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="stem-and-still"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="stem-and-still"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="stem-and-still"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="stem-and-still"] .preview-bar a{font-size:12px}[data-gp-theme="stem-and-still"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="stem-and-still"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="stem-and-still"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="stem-and-still"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}

[data-gp-theme="stem-and-still"]{--paper:#faf5e9;--ink:#542b40;--accent:#542b40;--wash:#edd8cf;--line:#c0aab0;--on-accent:#fff8ef;--muted:#6d4b59;--display:"Newsreader",serif;--body:"DM Sans",sans-serif;--leaf:#4c5b3d;--focus:#4c5b3d;background:var(--paper);color:var(--ink);font:18px/1.6 var(--body)}[data-gp-theme="stem-and-still"][data-palette="1"]{--paper:#fff4e4;--ink:#653a25;--accent:#804429;--wash:#f2d1ad;--line:#c4a08b;--muted:#745342;--leaf:#6b673a;--focus:#804429}[data-gp-theme="stem-and-still"][data-palette="2"]{--paper:#eef2f6;--ink:#293e5a;--accent:#324e73;--wash:#d9e2ed;--line:#a6b6c9;--muted:#4b5e77;--leaf:#4d655d;--focus:#324e73}[data-gp-theme="stem-and-still"][data-mode="dark"]{--paper:#251920;--ink:#f7e7eb;--accent:#e6adb9;--on-accent:#3e2030;--wash:#3b2732;--line:#8d687a;--muted:#d6bbc8;--leaf:#b5c39a;--focus:#edbbc8}[data-gp-theme="stem-and-still"][data-mode="dark"][data-palette="1"]{--paper:#2a1d18;--ink:#ffecd9;--accent:#f2b583;--on-accent:#3f271c;--wash:#432e24;--line:#8c6b54;--muted:#dfc1aa;--leaf:#c9c791}[data-gp-theme="stem-and-still"][data-mode="dark"][data-palette="2"]{--paper:#182331;--ink:#e6effb;--accent:#aac4e9;--on-accent:#172e4e;--wash:#283a50;--line:#647b99;--muted:#bfcee0;--leaf:#b3cabc}[data-gp-theme="stem-and-still"] h1,[data-gp-theme="stem-and-still"] h2,[data-gp-theme="stem-and-still"] h3,[data-gp-theme="stem-and-still"] p,[data-gp-theme="stem-and-still"] figure{margin:0}[data-gp-theme="stem-and-still"] h1,[data-gp-theme="stem-and-still"] h2,[data-gp-theme="stem-and-still"] h3{font-family:var(--display);font-weight:450;line-height:1.03;letter-spacing:-.035em}[data-gp-theme="stem-and-still"] h1{font-size:clamp(62px,6.6vw,104px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="stem-and-still"] h1{font-size:clamp(62px,6.6cqw,104px)}}[data-gp-theme="stem-and-still"] h2{font-size:clamp(42px,4.6vw,70px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="stem-and-still"] h2{font-size:clamp(42px,4.6cqw,70px)}}[data-gp-theme="stem-and-still"] h3{font-size:31px}[data-gp-theme="stem-and-still"] p{max-width:58ch}[data-gp-theme="stem-and-still"] .wrap{width:min(1336px,calc(100% - 96px));margin:auto}[data-gp-theme="stem-and-still"] .section{padding-block:100px}[data-gp-theme="stem-and-still"] .chapter{font-size:15px;margin-bottom:23px}[data-gp-theme="stem-and-still"] .site-header{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:24px 48px;border-bottom:1px solid var(--line)}[data-gp-theme="stem-and-still"] .wordmark{display:flex;align-items:center;gap:12px;text-decoration:none;font:500 32px/1.1 var(--display)}[data-gp-theme="stem-and-still"] .wordmark svg{width:46px;height:46px;flex:none}[data-gp-theme="stem-and-still"] .wordmark small{display:block;font:12px/1.4 var(--body);margin-top:4px}[data-gp-theme="stem-and-still"] .site-header nav{display:flex;gap:25px;font-size:15px}[data-gp-theme="stem-and-still"] .site-header nav a{display:flex;align-items:center;min-height:44px;text-decoration:none}[data-gp-theme="stem-and-still"] .site-header :is(button,[role="button"]){border:1px solid var(--line);background:none;color:var(--ink);padding:10px 16px;display:flex;gap:25px;font-size:15px;align-items:center}[data-gp-theme="stem-and-still"] .flower-opening{display:grid;grid-template-columns:1fr 1.35fr .68fr;align-items:center;gap:20px;padding-block:45px 65px;min-height:700px}[data-gp-theme="stem-and-still"] .opening-title{position:relative;z-index:1;padding-bottom:20px}[data-gp-theme="stem-and-still"] .opening-title h1{max-width:7ch}[data-gp-theme="stem-and-still"] .opening-title>p:not(.chapter){margin-top:24px;font-size:18px}[data-gp-theme="stem-and-still"] .soft-link{display:inline-flex;min-height:44px;align-items:center;border-bottom:1px solid currentColor;text-decoration:none;margin-top:20px}[data-gp-theme="stem-and-still"] .press-date{font-size:13px;display:block;margin-top:48px;color:var(--muted)}[data-gp-theme="stem-and-still"] .hero-flower{position:relative;align-self:stretch;display:flex;flex-direction:column;justify-content:center}[data-gp-theme="stem-and-still"] .hero-flower img{height:570px;width:100%;object-fit:cover;border-radius:48% 48% 2px 2px}[data-gp-theme="stem-and-still"] .hero-flower figcaption{font-size:13px;text-align:center;margin-top:14px}[data-gp-theme="stem-and-still"] .stem-slip{align-self:center;margin-left:5px;border-left:1px solid var(--line);padding:28px 0 15px 23px}[data-gp-theme="stem-and-still"] .specimen-title{font:italic 23px/1.1 var(--display);display:block;margin-bottom:28px}[data-gp-theme="stem-and-still"] .stem-slip :is(button,[role="button"]){background:none;border:0;border-bottom:1px solid var(--line);padding:13px 0;color:var(--ink);text-align:left;display:flex;justify-content:space-between;gap:10px;width:100%;font-size:14px;min-height:48px}[data-gp-theme="stem-and-still"] .stem-slip :is(button,[role="button"])[aria-pressed=true]{font-weight:700;color:var(--leaf)}[data-gp-theme="stem-and-still"] .stem-slip :is(button,[role="button"]) span:not(.fs-richtext){transition:transform 180ms var(--ease-out)}[data-gp-theme="stem-and-still"] .stem-slip :is(button,[role="button"])[aria-pressed=true] span:not(.fs-richtext){transform:rotate(45deg)}[data-gp-theme="stem-and-still"] .stem-slip p{font-size:15px;min-height:160px;margin-top:22px;line-height:1.6}[data-gp-theme="stem-and-still"] .slip-stem{height:135px;width:90px;color:var(--leaf);margin:18px auto 0;display:block}[data-gp-theme="stem-and-still"] .counter{background:var(--wash)}[data-gp-theme="stem-and-still"] .counter-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start}[data-gp-theme="stem-and-still"] .counter-layout>div:first-child{padding-top:30px}[data-gp-theme="stem-and-still"] .counter h2{margin-bottom:25px}[data-gp-theme="stem-and-still"] .sample-note{margin-top:45px;font-size:15px;max-width:36ch}[data-gp-theme="stem-and-still"] .bouquet-ticket{background:var(--paper);border:1px solid var(--line);padding:35px;position:relative}[data-gp-theme="stem-and-still"] .ticket-title{font:32px var(--display);text-align:center;padding-bottom:22px;border-bottom:1px dashed var(--line);margin-bottom:28px}[data-gp-theme="stem-and-still"] .bouquet-ticket :is(form,[data-gp-form]){display:grid;gap:22px}[data-gp-theme="stem-and-still"] label{display:grid;gap:9px;font-size:16px}[data-gp-theme="stem-and-still"] input,[data-gp-theme="stem-and-still"] select,[data-gp-theme="stem-and-still"] textarea{width:100%;min-width:0;border:1px solid var(--line);padding:12px;color:var(--ink);background:var(--paper);border-radius:0}[data-gp-theme="stem-and-still"] .scale-choices{display:grid;gap:0}[data-gp-theme="stem-and-still"] .scale-choices label{display:flex;gap:13px;padding:13px 0;border-bottom:1px solid var(--line);cursor:pointer;align-items:center}[data-gp-theme="stem-and-still"] .scale-choices small{display:block;font-weight:400;font-size:14px;color:var(--muted)}[data-gp-theme="stem-and-still"] .scale-choices input{width:20px;min-height:20px;height:20px;accent-color:var(--accent)}[data-gp-theme="stem-and-still"] fieldset{border:0;padding:0;margin:0;min-width:0}[data-gp-theme="stem-and-still"] legend{font-size:16px;margin-bottom:5px}[data-gp-theme="stem-and-still"] .button{padding:14px 24px;min-height:50px;background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);text-decoration:none;display:inline-flex;justify-content:center;align-items:center;transition:transform 150ms var(--ease-out)}[data-gp-theme="stem-and-still"] .small{font-size:14px;line-height:1.55}[data-gp-theme="stem-and-still"] output{white-space:pre-line;overflow-wrap:anywhere;display:block;font-size:16px;background:var(--wash);padding:20px;border-left:2px solid var(--ink)}[data-gp-theme="stem-and-still"] output:empty{display:none}[data-gp-theme="stem-and-still"] .stem-chapter{display:grid;grid-template-columns:1fr 1.5fr;gap:90px}[data-gp-theme="stem-and-still"] .stem-introduction p:last-child{margin-top:25px}[data-gp-theme="stem-and-still"] .botanical-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}[data-gp-theme="stem-and-still"] .botanical-notes article{border-bottom:1px solid var(--line);padding-bottom:30px}[data-gp-theme="stem-and-still"] .botanical-notes article>span:not(.fs-richtext){display:block;font:70px/1 var(--display);color:var(--leaf);height:105px}[data-gp-theme="stem-and-still"] .botanical-notes svg{height:90px;width:90px;color:var(--leaf);margin-bottom:15px}[data-gp-theme="stem-and-still"] .botanical-notes h3{font-size:29px;margin-bottom:20px}[data-gp-theme="stem-and-still"] .botanical-notes p{font-size:16px;line-height:1.65}[data-gp-theme="stem-and-still"] .gathered{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:center;padding-block:20px 60px}[data-gp-theme="stem-and-still"] .gathered figure img{width:100%;height:410px;object-fit:cover}[data-gp-theme="stem-and-still"] .gathered h2{margin-bottom:25px}[data-gp-theme="stem-and-still"] .care{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:center}[data-gp-theme="stem-and-still"] .care h2{margin-bottom:25px}[data-gp-theme="stem-and-still"] .care-tag{padding:50px 35px 30px;background:var(--wash);clip-path:polygon(0 35px,35px 0,100% 0,100% 100%,0 100%);position:relative}[data-gp-theme="stem-and-still"] .tag-hole{position:absolute;width:13px;height:13px;border:1px solid var(--ink);border-radius:50%;top:20px;left:25px}[data-gp-theme="stem-and-still"] .tag-heading{font:italic 30px var(--display);margin-bottom:20px}[data-gp-theme="stem-and-still"] .care details{border-top:1px solid var(--line);padding:12px 0}[data-gp-theme="stem-and-still"] .care summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-size:17px}[data-gp-theme="stem-and-still"] .care details p{font-size:16px;margin:8px 0 15px}[data-gp-theme="stem-and-still"] .closing{text-align:center;padding:30px 0 95px;border-bottom:1px solid var(--line)}[data-gp-theme="stem-and-still"] .closing p{margin:0 auto 20px;font-size:16px}[data-gp-theme="stem-and-still"] .closing .button{margin-top:30px}[data-gp-theme="stem-and-still"] .site-footer{padding:60px 0 24px}[data-gp-theme="stem-and-still"] .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:60px}[data-gp-theme="stem-and-still"] .footer-name{font:43px var(--display);text-decoration:none;display:block;margin-bottom:18px}[data-gp-theme="stem-and-still"] .site-footer h3{font:600 16px var(--body);margin-bottom:18px}[data-gp-theme="stem-and-still"] .site-footer a:not(.footer-name){display:flex;align-items:center;min-height:44px;font-size:16px}[data-gp-theme="stem-and-still"] .site-footer p{font-size:15px}[data-gp-theme="stem-and-still"] .footer-bottom{grid-column:1/-1;display:flex;gap:20px;justify-content:space-between;border-top:1px solid var(--line);padding-top:22px;font-size:13px}[data-gp-theme="stem-and-still"] .preloader{background:var(--paper);color:var(--ink);font:44px var(--display)}[data-gp-theme="stem-and-still"] .intro-flower{font-size:100px;line-height:1.4;color:var(--leaf)}[data-gp-theme="stem-and-still"] .mega-menu{width:min(1150px,calc(100% - 50px));margin:auto;background:var(--paper)}[data-gp-theme="stem-and-still"] .press-menu{display:grid;grid-template-columns:.9fr 1.3fr;gap:0 55px;padding:30px 42px}[data-gp-theme="stem-and-still"] .menu-heading{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:20px;font:30px var(--display);margin-bottom:30px}[data-gp-theme="stem-and-still"] .menu-heading :is(button,[role="button"]){font:15px var(--body);padding:10px 17px;border:1px solid var(--line);background:none;color:var(--ink)}[data-gp-theme="stem-and-still"] .menu-flower img{height:420px;width:100%;object-fit:cover;border-radius:48% 48% 0 0}[data-gp-theme="stem-and-still"] .menu-flower p{font:italic 26px var(--display);margin-top:18px}[data-gp-theme="stem-and-still"] .menu-directory h2{font-size:58px;margin-bottom:20px}[data-gp-theme="stem-and-still"] .menu-directory nav a{display:block;text-decoration:none;border-bottom:1px solid var(--line);padding:13px 0;font:28px/1.2 var(--display)}[data-gp-theme="stem-and-still"] .menu-directory small{display:block;font:14px/1.5 var(--body);margin-top:5px;color:var(--muted)}[data-gp-theme="stem-and-still"] .menu-tail{grid-column:1/-1;padding-top:25px;font-size:14px}@media(hover:hover) and (pointer:fine){[data-gp-theme="stem-and-still"] .button:hover{transform:translateY(-2px)}[data-gp-theme="stem-and-still"] .soft-link:hover{opacity:.7}[data-gp-theme="stem-and-still"] .menu-directory a:hover{color:var(--leaf)}}@media(max-width:1100px){[data-gp-theme="stem-and-still"] .site-header nav{display:none}[data-gp-theme="stem-and-still"] .flower-opening{grid-template-columns:1fr 1.2fr}[data-gp-theme="stem-and-still"] .stem-slip{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:5px 25px;padding:20px 0 0;border-left:0;border-top:1px solid var(--line)}[data-gp-theme="stem-and-still"] .specimen-title,[data-gp-theme="stem-and-still"] .stem-slip p{grid-column:1/-1;margin:0;min-height:0}[data-gp-theme="stem-and-still"] .specimen-title{margin-bottom:10px}[data-gp-theme="stem-and-still"] .stem-slip p{margin-top:10px}[data-gp-theme="stem-and-still"] .slip-stem{display:none}[data-gp-theme="stem-and-still"] .counter-layout,[data-gp-theme="stem-and-still"] .care{gap:50px}[data-gp-theme="stem-and-still"] .stem-chapter{grid-template-columns:1fr;gap:40px}[data-gp-theme="stem-and-still"] .stem-introduction{max-width:650px}[data-gp-theme="stem-and-still"] .hero-flower img{height:530px}}@containerfs-editor-canvas (max-width: 1100px){[data-gp-theme="stem-and-still"] .site-header nav{display:none}[data-gp-theme="stem-and-still"] .flower-opening{grid-template-columns:1fr 1.2fr}[data-gp-theme="stem-and-still"] .stem-slip{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:5px 25px;padding:20px 0 0;border-left:0;border-top:1px solid var(--line)}[data-gp-theme="stem-and-still"] .specimen-title,[data-gp-theme="stem-and-still"] .stem-slip p{grid-column:1/-1;margin:0;min-height:0}[data-gp-theme="stem-and-still"] .specimen-title{margin-bottom:10px}[data-gp-theme="stem-and-still"] .stem-slip p{margin-top:10px}[data-gp-theme="stem-and-still"] .slip-stem{display:none}[data-gp-theme="stem-and-still"] .counter-layout,[data-gp-theme="stem-and-still"] .care{gap:50px}[data-gp-theme="stem-and-still"] .stem-chapter{grid-template-columns:1fr;gap:40px}[data-gp-theme="stem-and-still"] .stem-introduction{max-width:650px}[data-gp-theme="stem-and-still"] .hero-flower img{height:530px}}@media(max-width:650px){[data-gp-theme="stem-and-still"]{font-size:17px}[data-gp-theme="stem-and-still"] .wrap{width:calc(100% - 36px)}[data-gp-theme="stem-and-still"] .site-header{padding:19px 18px;gap:10px}[data-gp-theme="stem-and-still"] .wordmark{font-size:26px;gap:6px}[data-gp-theme="stem-and-still"] .wordmark svg{width:30px;height:38px}[data-gp-theme="stem-and-still"] .wordmark small{font-size:10px}[data-gp-theme="stem-and-still"] .site-header :is(button,[role="button"]){font-size:13px;padding:8px;gap:5px}[data-gp-theme="stem-and-still"] .flower-opening{grid-template-columns:1fr;padding-block:30px 45px;gap:24px}[data-gp-theme="stem-and-still"] .opening-title{padding:0}[data-gp-theme="stem-and-still"] .opening-title h1{font-size:67px;max-width:8ch;line-height:.96}[data-gp-theme="stem-and-still"] .opening-title>p:not(.chapter){max-width:30ch;margin-top:18px}[data-gp-theme="stem-and-still"] .press-date{margin-top:20px;font-size:12px;display:none}[data-gp-theme="stem-and-still"] .hero-flower img{height:385px;object-position:center 42%;border-radius:46% 46% 0 0}[data-gp-theme="stem-and-still"] .stem-slip{margin:0;gap:0 10px}[data-gp-theme="stem-and-still"] .stem-slip :is(button,[role="button"]){font-size:12px;gap:3px}[data-gp-theme="stem-and-still"] .stem-slip p{font-size:15px}[data-gp-theme="stem-and-still"] .section{padding-block:55px}[data-gp-theme="stem-and-still"] .counter-layout,[data-gp-theme="stem-and-still"] .care,[data-gp-theme="stem-and-still"] .gathered{grid-template-columns:1fr;gap:30px}[data-gp-theme="stem-and-still"] .counter-layout>div:first-child{padding-top:0}[data-gp-theme="stem-and-still"] .counter h2{font-size:46px}[data-gp-theme="stem-and-still"] .sample-note{margin-top:20px}[data-gp-theme="stem-and-still"] .bouquet-ticket{padding:25px 20px}[data-gp-theme="stem-and-still"] .botanical-notes{grid-template-columns:1fr;gap:25px}[data-gp-theme="stem-and-still"] .botanical-notes article{display:grid;grid-template-columns:70px 1fr;gap:0 18px}[data-gp-theme="stem-and-still"] .botanical-notes article>span:not(.fs-richtext),[data-gp-theme="stem-and-still"] .botanical-notes svg{grid-row:span 2;width:65px;height:75px}[data-gp-theme="stem-and-still"] .botanical-notes h3{font-size:30px;margin-bottom:14px}[data-gp-theme="stem-and-still"] .botanical-notes p{grid-column:2}[data-gp-theme="stem-and-still"] .gathered{padding-top:10px;padding-bottom:20px}[data-gp-theme="stem-and-still"] .gathered img{height:300px!important}[data-gp-theme="stem-and-still"] .care-tag{padding:50px 25px 25px}[data-gp-theme="stem-and-still"] .closing{padding-bottom:60px}[data-gp-theme="stem-and-still"] .closing h2{font-size:44px}[data-gp-theme="stem-and-still"] .footer-grid{grid-template-columns:1fr 1fr;gap:32px 20px}[data-gp-theme="stem-and-still"] .footer-grid>div:first-child{grid-column:1/-1}[data-gp-theme="stem-and-still"] .footer-bottom{display:grid;gap:10px}[data-gp-theme="stem-and-still"] .press-menu{grid-template-columns:1fr;padding:20px;gap:20px}[data-gp-theme="stem-and-still"] .menu-flower{display:none}[data-gp-theme="stem-and-still"] .menu-heading{margin:0}[data-gp-theme="stem-and-still"] .menu-directory h2{font-size:50px}[data-gp-theme="stem-and-still"] .menu-directory nav a{font-size:27px}[data-gp-theme="stem-and-still"] .mega-menu{width:calc(100% - 20px)}[data-gp-theme="stem-and-still"] .menu-tail{padding-top:0}}@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="stem-and-still"]{font-size:17px}[data-gp-theme="stem-and-still"] .wrap{width:calc(100% - 36px)}[data-gp-theme="stem-and-still"] .site-header{padding:19px 18px;gap:10px}[data-gp-theme="stem-and-still"] .wordmark{font-size:26px;gap:6px}[data-gp-theme="stem-and-still"] .wordmark svg{width:30px;height:38px}[data-gp-theme="stem-and-still"] .wordmark small{font-size:10px}[data-gp-theme="stem-and-still"] .site-header :is(button,[role="button"]){font-size:13px;padding:8px;gap:5px}[data-gp-theme="stem-and-still"] .flower-opening{grid-template-columns:1fr;padding-block:30px 45px;gap:24px}[data-gp-theme="stem-and-still"] .opening-title{padding:0}[data-gp-theme="stem-and-still"] .opening-title h1{font-size:67px;max-width:8ch;line-height:.96}[data-gp-theme="stem-and-still"] .opening-title>p:not(.chapter){max-width:30ch;margin-top:18px}[data-gp-theme="stem-and-still"] .press-date{margin-top:20px;font-size:12px;display:none}[data-gp-theme="stem-and-still"] .hero-flower img{height:385px;object-position:center 42%;border-radius:46% 46% 0 0}[data-gp-theme="stem-and-still"] .stem-slip{margin:0;gap:0 10px}[data-gp-theme="stem-and-still"] .stem-slip :is(button,[role="button"]){font-size:12px;gap:3px}[data-gp-theme="stem-and-still"] .stem-slip p{font-size:15px}[data-gp-theme="stem-and-still"] .section{padding-block:55px}[data-gp-theme="stem-and-still"] .counter-layout,[data-gp-theme="stem-and-still"] .care,[data-gp-theme="stem-and-still"] .gathered{grid-template-columns:1fr;gap:30px}[data-gp-theme="stem-and-still"] .counter-layout>div:first-child{padding-top:0}[data-gp-theme="stem-and-still"] .counter h2{font-size:46px}[data-gp-theme="stem-and-still"] .sample-note{margin-top:20px}[data-gp-theme="stem-and-still"] .bouquet-ticket{padding:25px 20px}[data-gp-theme="stem-and-still"] .botanical-notes{grid-template-columns:1fr;gap:25px}[data-gp-theme="stem-and-still"] .botanical-notes article{display:grid;grid-template-columns:70px 1fr;gap:0 18px}[data-gp-theme="stem-and-still"] .botanical-notes article>span:not(.fs-richtext),[data-gp-theme="stem-and-still"] .botanical-notes svg{grid-row:span 2;width:65px;height:75px}[data-gp-theme="stem-and-still"] .botanical-notes h3{font-size:30px;margin-bottom:14px}[data-gp-theme="stem-and-still"] .botanical-notes p{grid-column:2}[data-gp-theme="stem-and-still"] .gathered{padding-top:10px;padding-bottom:20px}[data-gp-theme="stem-and-still"] .gathered img{height:300px!important}[data-gp-theme="stem-and-still"] .care-tag{padding:50px 25px 25px}[data-gp-theme="stem-and-still"] .closing{padding-bottom:60px}[data-gp-theme="stem-and-still"] .closing h2{font-size:44px}[data-gp-theme="stem-and-still"] .footer-grid{grid-template-columns:1fr 1fr;gap:32px 20px}[data-gp-theme="stem-and-still"] .footer-grid>div:first-child{grid-column:1/-1}[data-gp-theme="stem-and-still"] .footer-bottom{display:grid;gap:10px}[data-gp-theme="stem-and-still"] .press-menu{grid-template-columns:1fr;padding:20px;gap:20px}[data-gp-theme="stem-and-still"] .menu-flower{display:none}[data-gp-theme="stem-and-still"] .menu-heading{margin:0}[data-gp-theme="stem-and-still"] .menu-directory h2{font-size:50px}[data-gp-theme="stem-and-still"] .menu-directory nav a{font-size:27px}[data-gp-theme="stem-and-still"] .mega-menu{width:calc(100% - 20px)}[data-gp-theme="stem-and-still"] .menu-tail{padding-top:0}}@media(prefers-reduced-motion:reduce){[data-gp-theme="stem-and-still"] .stem-slip :is(button,[role="button"]) span:not(.fs-richtext){transition:none}[data-gp-theme="stem-and-still"] .button:active{transform:none}}
[data-gp-theme="stem-and-still"][data-input=keyboard] .stem-slip :is(button,[role="button"]) span:not(.fs-richtext){transition:none}
@media(max-width:380px){[data-gp-theme="stem-and-still"] .wordmark{font-size:24px}[data-gp-theme="stem-and-still"] .wordmark svg{width:25px}[data-gp-theme="stem-and-still"] .site-header{gap:8px}[data-gp-theme="stem-and-still"] .site-header>:is(button,[role="button"]){font-size:12px;padding:8px 6px;gap:3px}}
@containerfs-editor-canvas (max-width: 380px){[data-gp-theme="stem-and-still"] .wordmark{font-size:24px}[data-gp-theme="stem-and-still"] .wordmark svg{width:25px}[data-gp-theme="stem-and-still"] .site-header{gap:8px}[data-gp-theme="stem-and-still"] .site-header>:is(button,[role="button"]){font-size:12px;padding:8px 6px;gap:3px}}

@media(max-width:650px){[data-gp-theme="stem-and-still"] .wordmark small{font-size:12px}}

@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="stem-and-still"] .wordmark small{font-size:12px}}@media(max-width:380px){[data-gp-theme="stem-and-still"] .wordmark small{display:none}}@containerfs-editor-canvas (max-width: 380px){[data-gp-theme="stem-and-still"] .wordmark small{display:none}}

/* Preview chrome and accessibility only. Theme authors own the visual worlds. */
[data-gp-theme="stem-and-still"][data-premium]{color-scheme:light;background:var(--paper);color:var(--ink);accent-color:var(--accent);scrollbar-color:var(--accent) var(--wash)}
[data-gp-theme="stem-and-still"][data-premium][data-mode=dark]{color-scheme:dark}
[data-gp-theme="stem-and-still"][data-premium] ::selection{background:var(--accent);color:var(--on-accent)}
[data-gp-theme="stem-and-still"][data-premium] :is(input,textarea){caret-color:var(--accent)}
[data-gp-theme="stem-and-still"][data-premium] :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--accent);outline-offset:4px}
[data-gp-theme="stem-and-still"][data-premium] :is(input,select,textarea){max-width:100%}
[data-gp-theme="stem-and-still"][data-premium] :is(input,textarea)::placeholder{color:var(--muted);opacity:1}
[data-gp-theme="stem-and-still"][data-premium] .preview-bar{display:flex;flex-wrap:wrap;justify-content:flex-start;background:#f5f5f0;color:#242d2c;border-color:#cbd0c8;gap:8px 14px;position:relative;font:13px/1.3 "Figtree",sans-serif;min-height:52px;padding:6px 3vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="stem-and-still"][data-premium] .preview-bar{padding:6px 3cqw}}
[data-gp-theme="stem-and-still"][data-premium] .preview-bar>a{font-weight:600;min-height:40px;display:flex;align-items:center}
[data-gp-theme="stem-and-still"][data-premium] .preview-bar [role=group]{margin-left:auto;display:flex;gap:2px}
[data-gp-theme="stem-and-still"][data-premium] .preview-bar :is(button,select){font:13px/1.3 "Figtree",sans-serif;min-height:40px;max-width:100%;border-radius:3px}
[data-gp-theme="stem-and-still"][data-premium] .preview-bar select{background:#fff;color:#242d2c;border:1px solid #a2ada4;padding:7px 24px 7px 9px}
[data-gp-theme="stem-and-still"][data-premium] .preview-bar [aria-pressed=true]{background:#242d2c;color:#fff}
[data-gp-theme="stem-and-still"][data-premium] .preview-bar .preview-label{font:12px/1.3 "Figtree",sans-serif;color:#48554f}
[data-gp-theme="stem-and-still"][data-premium] .preview-bar :focus-visible{outline-color:#254fbb}
[data-gp-theme="stem-and-still"][data-premium] .preview-bar [data-replay-intro]{font-size:12px;margin:0}
[data-gp-theme="stem-and-still"][data-premium] .preview-bar [data-replay-intro]::after{content:none}
[data-gp-theme="stem-and-still"][data-premium] .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
[data-gp-theme="stem-and-still"][data-premium] .premium-action{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 22px;background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);text-decoration:none;font-weight:600;transition:transform 150ms var(--ease-out),background-color 150ms var(--ease-out)}
[data-gp-theme="stem-and-still"][data-premium] .premium-action:active{transform:translateY(1px)}
[data-gp-theme="stem-and-still"][data-premium] .premium-action:disabled{opacity:.6;cursor:not-allowed}
[data-gp-theme="stem-and-still"][data-premium] :is(h1,h2,h3){text-wrap:balance}
[data-gp-theme="stem-and-still"][data-premium] p{text-wrap:pretty}
/* Put down the opaque menu surface immediately, then introduce its content. */
[data-gp-theme="stem-and-still"][data-premium] .mega-menu[open]:not([data-closing]){animation:none}
[data-gp-theme="stem-and-still"][data-premium] .mega-menu[open]:not([data-closing])>:not(:first-child){animation:gp-stem-premium-menu-content 160ms var(--ease-out)}
[data-gp-theme="stem-and-still"][data-premium] .mega-menu[data-keyboard]>:not(:first-child){animation:none!important}
[data-gp-theme="stem-and-still"][data-premium][data-input=keyboard] :is(button,[role="button"]):active{transform:none}
@keyframes gp-stem-premium-menu-content{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:650px){
 [data-gp-theme="stem-and-still"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="stem-and-still"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="stem-and-still"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="stem-and-still"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="stem-and-still"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="stem-and-still"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="stem-and-still"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="stem-and-still"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@containerfs-editor-canvas (max-width: 650px){
 [data-gp-theme="stem-and-still"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="stem-and-still"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="stem-and-still"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="stem-and-still"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="stem-and-still"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="stem-and-still"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="stem-and-still"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="stem-and-still"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@media(prefers-reduced-motion:reduce){[data-gp-theme="stem-and-still"][data-premium] .premium-action{transition:none;transform:none}}

/* Website page primitives and actual layout modes. Authored theme CSS owns identity. */
[data-gp-theme="stem-and-still"][data-framed=true] .preview-bar,[data-gp-theme="stem-and-still"][data-framed=true] .site-open-preview{display:none!important}
[data-gp-theme="stem-and-still"][data-site]{--ip-paper:var(--paper,#f4f2eb);--ip-ink:var(--ink,#192f2c);--ip-wash:var(--wash,var(--paper,#e6e9df));--ip-accent:var(--accent,var(--rust,#315b50));--ip-on:var(--on-accent,var(--paper,#fff));--ip-muted:var(--muted,var(--ink,#45534d));--ip-line:var(--line,var(--rule,#a1aca5))}
[data-gp-theme="stem-and-still"][data-inside]{background:var(--ip-paper);color:var(--ip-ink);font:18px/1.65 var(--body,"Figtree",sans-serif)}
[data-gp-theme="stem-and-still"] .inside-page :is(h1,h2,h3){font-family:var(--display,inherit);color:inherit;letter-spacing:-.035em;line-height:1.1;font-weight:500;max-width:22ch}
[data-gp-theme="stem-and-still"] .inside-page h1{font-size:clamp(42px,5.3vw,80px);margin:0 0 26px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="stem-and-still"] .inside-page h1{font-size:clamp(42px,5.3cqw,80px)}}[data-gp-theme="stem-and-still"] .inside-page h2{font-size:clamp(30px,3vw,49px);margin:0 0 24px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="stem-and-still"] .inside-page h2{font-size:clamp(30px,3cqw,49px)}}[data-gp-theme="stem-and-still"] .inside-page h3{font-size:25px;margin:0 0 15px}
[data-gp-theme="stem-and-still"] .inside-page :is(p,li){max-width:72ch}[data-gp-theme="stem-and-still"] .inside-page p{margin:0 0 20px}[data-gp-theme="stem-and-still"] .inside-page a{color:inherit}[data-gp-theme="stem-and-still"] .inside-page img{max-width:100%;width:100%;height:100%;object-fit:cover}[data-gp-theme="stem-and-still"] .inside-page figure{margin:0}[data-gp-theme="stem-and-still"] .inside-page :is(button,[role="button"]){color:inherit}
[data-gp-theme="stem-and-still"] .ip-hero,[data-gp-theme="stem-and-still"] .ip-section{width:min(1320px,calc(100% - 96px));margin-inline:auto;padding-block:70px}[data-gp-theme="stem-and-still"] .ip-hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:65px}[data-gp-theme="stem-and-still"] .ip-opening{min-width:0}[data-gp-theme="stem-and-still"] .ip-hero:has(>.ip-opening:only-child){grid-template-columns:1fr}[data-gp-theme="stem-and-still"] .ip-art{height:430px;position:relative}[data-gp-theme="stem-and-still"] .ip-art img{object-fit:cover}[data-gp-theme="stem-and-still"] .ip-art figcaption,[data-gp-theme="stem-and-still"] .ip-caption{font-size:14px;line-height:1.5;color:var(--ip-muted);padding-top:10px}[data-gp-theme="stem-and-still"] .ip-section>.ip-caption{margin-bottom:20px}[data-gp-theme="stem-and-still"] .ip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}[data-gp-theme="stem-and-still"] .ip-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px}[data-gp-theme="stem-and-still"] .ip-card{min-width:0;border-top:1px solid var(--ip-line);padding:25px 0}[data-gp-theme="stem-and-still"] .ip-card figure{height:230px;margin-bottom:25px}[data-gp-theme="stem-and-still"] .ip-reading{width:min(76ch,calc(100% - 48px));margin-inline:auto;padding-block:55px}[data-gp-theme="stem-and-still"] .ip-reading h2{margin-top:40px}[data-gp-theme="stem-and-still"] .ip-ledger{margin:24px 0}[data-gp-theme="stem-and-still"] .ip-ledger>div{display:grid;grid-template-columns:1fr 1.4fr;gap:20px;border-top:1px solid var(--ip-line);padding:15px 0}[data-gp-theme="stem-and-still"] .ip-ledger dt{font-weight:600}[data-gp-theme="stem-and-still"] .ip-ledger dd{margin:0}[data-gp-theme="stem-and-still"] .ip-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border:1px solid var(--ip-accent);background:var(--ip-accent);color:var(--ip-on)!important;text-decoration:none;font-size:16px;transition:transform 150ms var(--ease-out)}[data-gp-theme="stem-and-still"] .ip-action.secondary{background:transparent;color:var(--ip-ink)!important;border-color:var(--ip-line)}[data-gp-theme="stem-and-still"] .ip-band{padding:55px max(24px,calc((100% - 1320px)/2));background:var(--ip-wash);color:var(--ip-ink)}[data-gp-theme="stem-and-still"] .ip-band p{max-width:65ch}[data-gp-theme="stem-and-still"] .ip-note{font-size:15px;border-left:3px solid var(--ip-accent);padding:12px 18px;background:var(--ip-wash);color:var(--ip-ink);margin-block:20px}[data-gp-theme="stem-and-still"] .ip-form{display:grid;gap:22px}[data-gp-theme="stem-and-still"] .ip-form label{display:grid;gap:8px;font-size:16px}[data-gp-theme="stem-and-still"] .ip-form :is(input,textarea,select){width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid var(--ip-line);background:var(--ip-paper);color:var(--ip-ink);font:inherit;border-radius:0}[data-gp-theme="stem-and-still"] .ip-form :is(input,textarea)::placeholder{color:var(--ip-muted);opacity:1}[data-gp-theme="stem-and-still"] .ip-field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}[data-gp-theme="stem-and-still"] .ip-form :is(button,[role="button"]){justify-self:start}[data-gp-theme="stem-and-still"] .ip-form textarea{min-height:135px}[data-gp-theme="stem-and-still"] .inside-page output[data-draft-output]{display:block;white-space:pre-wrap;padding:25px;background:var(--ip-wash);color:var(--ip-ink);border:1px solid var(--ip-line);overflow-wrap:anywhere}[data-gp-theme="stem-and-still"] .ip-checks{display:grid;gap:12px}[data-gp-theme="stem-and-still"] .ip-checks label{display:flex;align-items:start;gap:14px;border-top:1px solid var(--ip-line);padding:16px 0;min-height:52px}[data-gp-theme="stem-and-still"] .ip-checks input{width:22px;height:22px;min-height:22px;flex-shrink:0;margin-top:4px;accent-color:var(--ip-accent)}[data-gp-theme="stem-and-still"] .inside-page details{border-top:1px solid var(--ip-line);padding:18px 0}[data-gp-theme="stem-and-still"] .inside-page summary{min-height:44px;font-size:21px;cursor:pointer}[data-gp-theme="stem-and-still"] .inside-page details p{padding:16px 0 0}[data-gp-theme="stem-and-still"] .inside-page [data-filter-group]>[role=group]{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}[data-gp-theme="stem-and-still"] .inside-page [data-filter]{padding:10px 18px;min-height:44px;background:transparent;color:var(--ip-ink);border:1px solid var(--ip-line)}[data-gp-theme="stem-and-still"] .inside-page [data-filter][aria-pressed=true]{background:var(--ip-accent);color:var(--ip-on)}[data-gp-theme="stem-and-still"] .site-directory{padding:30px!important;background:var(--ip-paper)!important;color:var(--ip-ink)!important;border-top:1px solid var(--ip-line)}[data-gp-theme="stem-and-still"] .site-directory h3{font:600 17px/1.4 var(--body,"Figtree",sans-serif);margin:0 0 16px}[data-gp-theme="stem-and-still"] .site-directory>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 25px}[data-gp-theme="stem-and-still"] .site-directory a{display:block;font:16px/1.5 var(--body,"Figtree",sans-serif)!important;min-height:44px;padding:10px 0!important;color:inherit!important;text-decoration:none}[data-gp-theme="stem-and-still"] .site-directory a[aria-current=page]{text-decoration:underline;font-weight:600!important}[data-gp-theme="stem-and-still"] .site-open-preview{display:block;padding:10px 20px;background:#eef0eb;color:#20322d;font:14px/1.4 "Figtree",sans-serif;text-align:center}
[data-gp-theme="stem-and-still"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){width:100%;padding-inline:max(24px,4vw)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="stem-and-still"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){padding-inline:max(24px,4cqw)}}
[data-gp-theme="stem-and-still"]:has([data-gp-theme="stem-and-still"][data-layout=boxed]){background:#a6afa9}[data-gp-theme="stem-and-still"][data-layout=boxed]{width:min(1200px,calc(100% - 64px));margin-inline:auto;box-shadow:0 0 0 1px #0002,0 20px 70px #0002;min-height:100dvh;background:var(--ip-paper)}
[data-gp-theme="stem-and-still"][data-layout=centered] :is(.ip-hero,.opening,.cake-opening,.gp-title,.book-opening,.poster-opening,.portal-opening,.destination-opening,.route-opening){text-align:center}
[data-gp-theme="stem-and-still"][data-layout=centered] .ip-hero{grid-template-columns:1fr;max-width:1000px;justify-items:center}[data-gp-theme="stem-and-still"][data-layout=centered] .ip-opening{display:grid;justify-items:center}[data-gp-theme="stem-and-still"][data-layout=centered] .ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="stem-and-still"][data-layout=centered] .ip-art{width:min(760px,100%)}
[data-gp-theme="stem-and-still"][data-layout=minimalist] :is(.ip-section,.ip-hero){padding-block:42px}[data-gp-theme="stem-and-still"][data-layout=minimalist] :is(.ip-card,.ip-art,.ip-note){border-radius:0;box-shadow:none;background-image:none}[data-gp-theme="stem-and-still"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5vw,64px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="stem-and-still"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5cqw,64px)}}[data-gp-theme="stem-and-still"][data-layout=minimalist] :is(.mullions,.glaze-rim,.cake-sticker,.paper-corner){opacity:0}[data-gp-theme="stem-and-still"][data-layout=minimalist] :is(.ip-art img,.opening img){border-radius:0}
[data-gp-theme="stem-and-still"][data-layout=edge-hero] .ip-hero{width:100%;padding-inline:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="stem-and-still"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4vw)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="stem-and-still"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4cqw)}}[data-gp-theme="stem-and-still"][data-layout=edge-hero] .ip-art{height:600px}[data-gp-theme="stem-and-still"][data-layout=edge-hero] .ip-art img{border-radius:0}[data-gp-theme="stem-and-still"][data-layout=edge-hero] .ip-art figcaption{padding:8px 20px}
[data-gp-theme="stem-and-still"][data-layout=full-width] .inside-page>.ip-opening{width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="stem-and-still"][data-layout=full-width] .inside-page>.ip-opening{padding-inline:4cqw}}
[data-gp-theme="stem-and-still"][data-layout=centered] .inside-page>.ip-opening{display:flex;flex-direction:column;align-items:center;text-align:center;width:min(1000px,calc(100% - 48px));gap:30px}[data-gp-theme="stem-and-still"][data-layout=centered] .inside-page>.ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="stem-and-still"][data-layout=centered] .inside-page>.ip-opening>figure{width:min(780px,100%)}
[data-gp-theme="stem-and-still"][data-layout=minimalist] .inside-page>.ip-opening{padding-block:38px}[data-gp-theme="stem-and-still"][data-layout=minimalist] .inside-page>.ip-opening :is(h1,figure){box-shadow:none;border-radius:0}
[data-gp-theme="stem-and-still"][data-layout=edge-hero] .inside-page>.ip-opening{width:100%;max-width:none;padding:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="stem-and-still"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="stem-and-still"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4cqw}}[data-gp-theme="stem-and-still"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:600px;max-width:none;align-self:stretch}[data-gp-theme="stem-and-still"][data-layout=edge-hero] .inside-page>.ip-opening>figure img{height:100%;object-fit:cover;border-radius:0}
/* Existing home compositions gain real width/spacing modes without replacing their content. */
[data-gp-theme="stem-and-still"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="stem-and-still"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){padding-inline:4cqw}}
[data-gp-theme="stem-and-still"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child{text-align:center}
[data-gp-theme="stem-and-still"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(h1,p){margin-inline:auto}[data-gp-theme="stem-and-still"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(.opening-copy,.elevation-copy,.cake-copy,.hero-copy){text-align:center}
[data-gp-theme="stem-and-still"][data-layout=minimalist]:not([data-inside]) .gp-source-main>section{padding-block:44px}[data-gp-theme="stem-and-still"][data-layout=minimalist]:not([data-inside]) :is(.hero-sleeve,.calendar,.hello-note,.open-book){box-shadow:none}
[data-gp-theme="stem-and-still"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child{width:100%;max-width:none;margin-inline:0;padding-inline:0;background:var(--ip-wash)}[data-gp-theme="stem-and-still"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="stem-and-still"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4cqw}}[data-gp-theme="stem-and-still"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:600px}
@media(hover:hover) and (pointer:fine){[data-gp-theme="stem-and-still"] .ip-action:hover{transform:translateY(-2px)}[data-gp-theme="stem-and-still"] .site-directory a:hover{text-decoration:underline}}
@media(max-width:850px){[data-gp-theme="stem-and-still"] .ip-hero,[data-gp-theme="stem-and-still"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="stem-and-still"] .ip-hero{gap:30px}[data-gp-theme="stem-and-still"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="stem-and-still"] .ip-two{gap:30px}[data-gp-theme="stem-and-still"] .ip-art{height:340px}}
@containerfs-editor-canvas (max-width: 850px){[data-gp-theme="stem-and-still"] .ip-hero,[data-gp-theme="stem-and-still"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="stem-and-still"] .ip-hero{gap:30px}[data-gp-theme="stem-and-still"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="stem-and-still"] .ip-two{gap:30px}[data-gp-theme="stem-and-still"] .ip-art{height:340px}}
@media(max-width:600px){[data-gp-theme="stem-and-still"] .ip-hero,[data-gp-theme="stem-and-still"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="stem-and-still"] .ip-hero,[data-gp-theme="stem-and-still"] .ip-two,[data-gp-theme="stem-and-still"] .ip-grid,[data-gp-theme="stem-and-still"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="stem-and-still"] .ip-art{height:300px}[data-gp-theme="stem-and-still"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="stem-and-still"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="stem-and-still"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="stem-and-still"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="stem-and-still"] .site-directory{padding:22px!important}[data-gp-theme="stem-and-still"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="stem-and-still"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="stem-and-still"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="stem-and-still"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="stem-and-still"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="stem-and-still"] .ip-hero,[data-gp-theme="stem-and-still"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="stem-and-still"] .ip-hero,[data-gp-theme="stem-and-still"] .ip-two,[data-gp-theme="stem-and-still"] .ip-grid,[data-gp-theme="stem-and-still"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="stem-and-still"] .ip-art{height:300px}[data-gp-theme="stem-and-still"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="stem-and-still"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="stem-and-still"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="stem-and-still"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="stem-and-still"] .site-directory{padding:22px!important}[data-gp-theme="stem-and-still"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="stem-and-still"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="stem-and-still"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="stem-and-still"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="stem-and-still"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@media(max-width:600px){[data-gp-theme="stem-and-still"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="stem-and-still"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="stem-and-still"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="stem-and-still"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="stem-and-still"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="stem-and-still"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
[data-gp-theme="stem-and-still"] .inside-page a[aria-disabled=true]{cursor:default;text-decoration:none}
[data-gp-theme="stem-and-still"][data-layout=edge-hero] .inside-page .ip-hero .ip-art{transform:none}
@media(prefers-reduced-motion:reduce){[data-gp-theme="stem-and-still"] .ip-action{transition:none;transform:none!important}}
/* Task actions always use an explicit contrasting pair, including themed form overrides. */
[data-gp-theme="stem-and-still"][data-site] .inside-page :is(.ip-form :is(button,[role="button"]):is([type="submit"],[data-gp-button-type="submit"]),[data-save-draft],.ip-action:not(.secondary)){
 background:var(--ip-ink)!important;color:var(--ip-paper)!important;border:1px solid var(--ip-ink)!important;
 min-height:48px;padding:12px 22px;font-size:16px;line-height:1.4;
}
[data-gp-theme="stem-and-still"][data-site] .inside-page .ip-action.secondary{background:transparent!important;color:var(--ip-ink)!important;border-color:var(--ip-line)!important}
[data-gp-theme="stem-and-still"][data-site] .inside-page .ip-form :is(select,select option){background-color:var(--ip-paper);color:var(--ip-ink)}
[data-gp-theme="stem-and-still"] .site-plan-label{display:block;font:400 14px/1.45 var(--body,sans-serif);margin-top:6px;text-decoration:none;opacity:1}
[data-gp-theme="stem-and-still"] a[data-preview-plan]{cursor:pointer}[data-gp-theme="stem-and-still"] .inside-page a[data-preview-plan]{text-decoration:none}
[data-gp-theme="stem-and-still"][data-site] .site-directory a[data-preview-plan]{display:flex;flex-direction:column;align-items:flex-start;gap:2px}[data-gp-theme="stem-and-still"] .site-directory .site-plan-label{font-size:13px;margin:0}


[data-gp-theme="stem-and-still"][data-inside] .ip-opening{padding-block:clamp(48px,7vw,112px)}


@container fs-editor-canvas (min-width: 0px){


[data-gp-theme="stem-and-still"][data-inside] .ip-opening{padding-block:clamp(48px,7cqw,112px)}}
[data-gp-theme="stem-and-still"][data-inside] .ip-opening h1{max-width:15ch}
[data-gp-theme="stem-and-still"][data-inside] .ip-reading p{margin-top:22px}
[data-gp-theme="stem-and-still"][data-inside] .ip-section>h2{margin-bottom:28px;max-width:24ch}
[data-gp-theme="stem-and-still"][data-inside] .ip-section p+p{margin-top:18px}
[data-gp-theme="stem-and-still"][data-inside] .ip-steps{list-style:none;padding:0;counter-reset:ip-step}
[data-gp-theme="stem-and-still"][data-inside] .ip-steps li{counter-increment:ip-step;position:relative;padding:28px 0 28px 76px;border-top:1px solid var(--line,var(--rule,currentColor));max-width:85ch}
[data-gp-theme="stem-and-still"][data-inside] .ip-steps li:before{content:counter(ip-step,decimal-leading-zero);position:absolute;left:0;top:30px;font:inherit;color:var(--accent,var(--rust,currentColor))}
[data-gp-theme="stem-and-still"][data-inside] .ip-steps p{margin-top:12px}
[data-gp-theme="stem-and-still"][data-inside] .ip-collection{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px;margin-top:30px}
[data-gp-theme="stem-and-still"][data-inside] .ip-collection h2{font-size:clamp(30px,3vw,46px);margin-top:20px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="stem-and-still"][data-inside] .ip-collection h2{font-size:clamp(30px,3cqw,46px)}}
[data-gp-theme="stem-and-still"][data-inside] .ip-collection p,[data-gp-theme="stem-and-still"][data-inside] .ip-card p{margin-block:16px}
[data-gp-theme="stem-and-still"][data-inside] .ip-art{overflow:hidden}
[data-gp-theme="stem-and-still"][data-inside] .ip-art img{width:100%;height:100%;object-fit:cover;display:block}
[data-gp-theme="stem-and-still"][data-inside] .ip-art figcaption{font:14px/1.5 var(--body,Figtree,sans-serif);padding:12px 0}
[data-gp-theme="stem-and-still"][data-inside] .ip-collection .ip-art{height:260px}
[data-gp-theme="stem-and-still"][data-inside] .ip-band p{margin-block:20px}
[data-gp-theme="stem-and-still"][data-inside] .ip-questions details{padding:24px 0;border-top:1px solid var(--line,var(--rule,currentColor));max-width:80ch}
[data-gp-theme="stem-and-still"][data-inside] .ip-questions summary{cursor:pointer;font-size:1.18em;font-weight:600}
[data-gp-theme="stem-and-still"][data-inside] .ip-questions p{margin-top:18px}
[data-gp-theme="stem-and-still"][data-inside] .ip-choices{display:flex;flex-wrap:wrap;gap:10px;margin-block:22px}
[data-gp-theme="stem-and-still"][data-inside] .ip-choices :is(button,[role="button"]){border:1px solid var(--line,var(--rule,currentColor));background:var(--wash,var(--paper));color:var(--ink);padding:12px 18px;min-height:44px;font:inherit;cursor:pointer}
[data-gp-theme="stem-and-still"][data-inside] .ip-choices :is(button,[role="button"])[aria-pressed=true]{background:var(--ink);color:var(--paper)}
[data-gp-theme="stem-and-still"][data-inside] .ip-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:30px;max-width:960px}
[data-gp-theme="stem-and-still"][data-inside] .ip-form label{display:grid;gap:9px;align-content:start}
[data-gp-theme="stem-and-still"][data-inside] .ip-form label:has(textarea),[data-gp-theme="stem-and-still"][data-inside] .ip-form>.ip-note{grid-column:1/-1}
[data-gp-theme="stem-and-still"][data-inside] .ip-form input,[data-gp-theme="stem-and-still"][data-inside] .ip-form select,[data-gp-theme="stem-and-still"][data-inside] .ip-form textarea{width:100%;max-width:100%;border:1px solid var(--line,var(--rule,currentColor));background:var(--paper);color:var(--ink);padding:12px;font:inherit;border-radius:0}
[data-gp-theme="stem-and-still"][data-inside] [data-draft-output]{display:block;white-space:pre-wrap;padding:24px;border:1px solid var(--line,var(--rule,currentColor));margin-block:24px;max-width:960px;overflow-wrap:anywhere}
[data-gp-theme="stem-and-still"][data-inside] [hidden]{display:none!important}
[data-gp-theme="stem-and-still"][data-inside] .ip-checks{display:grid;gap:14px;max-width:850px;margin-block:22px}
[data-gp-theme="stem-and-still"][data-inside] .ip-checks label{display:flex;align-items:flex-start;gap:15px;padding:14px;border-bottom:1px solid var(--line,var(--rule,currentColor));cursor:pointer}
[data-gp-theme="stem-and-still"][data-inside] .ip-checks input{flex:none;margin-top:6px;accent-color:var(--accent,var(--rust));width:20px;height:20px}
[data-gp-theme="stem-and-still"][data-inside] .ip-ledger>div{padding:19px 0;border-bottom:1px solid var(--line,var(--rule,currentColor));display:grid;grid-template-columns:180px 1fr;gap:24px}
[data-gp-theme="stem-and-still"][data-inside] .ip-ledger dt{font-weight:600}
[data-gp-theme="stem-and-still"][data-inside] .ip-ledger dd{margin:0;max-width:66ch}
[data-gp-theme="stem-and-still"][data-inside] .ip-caption{font-size:14px;color:var(--muted,var(--ink))}
[data-gp-theme="stem-and-still"][data-inside] .ip-note{font-size:15px}
[data-gp-theme="stem-and-still"][data-inside] :is(button,a,summary,input,textarea,select):focus-visible{outline:3px solid var(--accent,var(--rust,currentColor));outline-offset:4px}
@media(max-width:700px){[data-gp-theme="stem-and-still"][data-inside] .ip-collection,[data-gp-theme="stem-and-still"][data-inside] .ip-form{grid-template-columns:1fr}[data-gp-theme="stem-and-still"][data-inside] .ip-ledger>div{grid-template-columns:1fr;gap:7px}[data-gp-theme="stem-and-still"][data-inside] .ip-steps li{padding-left:48px}[data-gp-theme="stem-and-still"][data-inside] .ip-collection .ip-art{height:250px}}
@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="stem-and-still"][data-inside] .ip-collection,[data-gp-theme="stem-and-still"][data-inside] .ip-form{grid-template-columns:1fr}[data-gp-theme="stem-and-still"][data-inside] .ip-ledger>div{grid-template-columns:1fr;gap:7px}[data-gp-theme="stem-and-still"][data-inside] .ip-steps li{padding-left:48px}[data-gp-theme="stem-and-still"][data-inside] .ip-collection .ip-art{height:250px}}
@media(prefers-reduced-motion:no-preference){[data-gp-theme="stem-and-still"][data-inside] .ip-choices :is(button,[role="button"]),[data-gp-theme="stem-and-still"][data-inside] .ip-action{transition:transform 150ms ease,opacity 150ms ease}[data-gp-theme="stem-and-still"][data-inside] .ip-choices :is(button,[role="button"]):active,[data-gp-theme="stem-and-still"][data-inside] .ip-action:active{transform:translateY(2px)}}


[data-gp-theme="stem-and-still"][data-inside] .ip-hero .ip-art{height:560px;border:1px solid var(--line);padding:14px;transform:rotate(1deg)}
[data-gp-theme="stem-and-still"][data-inside] .ip-hero .ip-art img{object-fit:contain}
[data-gp-theme="stem-and-still"][data-inside] .ip-stem-spread{display:grid;grid-template-columns:1fr 1.1fr;gap:50px;align-items:start}
[data-gp-theme="stem-and-still"][data-inside] .ip-stem-spread .ip-art{height:640px;padding:18px;border:1px solid var(--line)}
[data-gp-theme="stem-and-still"][data-inside] .ip-stem-spread .ip-art img{object-fit:contain}
[data-gp-theme="stem-and-still"][data-inside] .ip-stem-list .ip-card{padding:24px 0;border-bottom:1px solid var(--line);background:transparent}
[data-gp-theme="stem-and-still"][data-inside] .ip-pressed-record{border-top:1px solid var(--line);position:relative;padding-top:45px}
[data-gp-theme="stem-and-still"][data-inside] .ip-pressed-record .ip-art{height:460px;border:1px solid var(--line);padding:12px;transform:rotate(-1deg)}
[data-gp-theme="stem-and-still"][data-inside] .ip-pressed-record .ip-art img{object-fit:contain}
[data-gp-theme="stem-and-still"][data-inside] .ip-workbook{border:1px solid var(--line);border-top:10px solid var(--accent);padding:clamp(24px,4vw,52px)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="stem-and-still"][data-inside] .ip-workbook{padding:clamp(24px,4cqw,52px)}}
[data-gp-theme="stem-and-still"][data-inside] .ip-workbook h2{font-family:Newsreader,serif}
[data-gp-theme="stem-and-still"][data-inside] .ip-collection{column-gap:70px}
[data-gp-theme="stem-and-still"][data-inside] .ip-collection .ip-card:nth-child(even){margin-top:60px}
@media(max-width:700px){[data-gp-theme="stem-and-still"][data-inside] .ip-stem-spread{grid-template-columns:1fr}[data-gp-theme="stem-and-still"][data-inside] .ip-stem-spread .ip-art{height:400px}[data-gp-theme="stem-and-still"][data-inside] .ip-collection .ip-card:nth-child(even){margin-top:0}[data-gp-theme="stem-and-still"][data-inside] .ip-hero .ip-art{height:400px}}
@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="stem-and-still"][data-inside] .ip-stem-spread{grid-template-columns:1fr}[data-gp-theme="stem-and-still"][data-inside] .ip-stem-spread .ip-art{height:400px}[data-gp-theme="stem-and-still"][data-inside] .ip-collection .ip-card:nth-child(even){margin-top:0}[data-gp-theme="stem-and-still"][data-inside] .ip-hero .ip-art{height:400px}}


[data-gp-theme="stem-and-still"][data-inside] .ip-art{display:grid;grid-template-rows:minmax(0,1fr) auto}
[data-gp-theme="stem-and-still"][data-inside] .ip-art img{min-height:0}

/* Owner selected recommended on 18 October 2026. Main heading roles only. */
[data-gp-theme="stem-and-still"][data-gp-kind="section"] h1{font-family:"Newsreader", serif!important;font-weight:500!important;letter-spacing:-0.012em!important;line-height:1.1!important;font-variation-settings:normal!important;font-optical-sizing:auto!important}
[data-gp-theme="stem-and-still"][data-gp-kind="section"] h2{font-family:"Newsreader", serif!important;font-weight:550!important;letter-spacing:-.01em!important;line-height:1.17!important;font-variation-settings:normal!important;font-optical-sizing:auto!important}
[data-gp-theme="stem-and-still"][data-gp-kind="section"] h3{font-family:"DM Sans", sans-serif!important;font-weight:600!important;letter-spacing:0!important;line-height:1.25!important;font-variation-settings:normal!important}
[data-gp-theme="stem-and-still"][data-inside][data-gp-kind="section"] h1{font-family:"Newsreader", serif!important;line-height:1.14!important;letter-spacing:-.012em!important;font-weight:500!important;text-transform:none!important}
@media(max-width:650px){[data-gp-theme="stem-and-still"][data-gp-kind="section"] h1{line-height:1.1!important;letter-spacing:-0.012em!important}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="stem-and-still"][data-gp-kind="section"] h1{line-height:1.1!important;letter-spacing:-0.012em!important}}

/* Local authored experience. Inherits selected type and all six palette/mode combinations. */
[data-gp-theme="stem-and-still"] .ux-lab{max-width:1340px;margin:64px auto;padding:36px clamp(20px,4vw,56px);color:var(--ink);background:var(--paper);border-block:1px solid var(--line);font-family:var(--body);overflow-wrap:anywhere;box-sizing:border-box}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="stem-and-still"] .ux-lab{padding:36px clamp(20px,4cqw,56px)}}
[data-gp-theme="stem-and-still"] .ux-lab *{box-sizing:border-box}[data-gp-theme="stem-and-still"] .ux-lab h2{font-size:clamp(30px,3.2vw,48px);line-height:1.12;margin:0 0 14px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="stem-and-still"] .ux-lab h2{font-size:clamp(30px,3.2cqw,48px)}}[data-gp-theme="stem-and-still"] .ux-lab h3{font-size:24px;line-height:1.25;margin:0 0 10px}[data-gp-theme="stem-and-still"] .ux-lab p{font-size:17px;line-height:1.6;max-width:64ch;margin:0 0 14px}[data-gp-theme="stem-and-still"] .ux-lab .ux-intro{max-width:760px;margin-bottom:28px}[data-gp-theme="stem-and-still"] .ux-lab .ux-sample{font-size:14px;color:var(--muted);margin-block:16px}[data-gp-theme="stem-and-still"] .ux-lab .ux-spread{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(240px,.85fr);gap:28px;align-items:start}[data-gp-theme="stem-and-still"] .ux-lab .ux-art{margin:0;background:var(--wash);position:relative;overflow:hidden;min-width:0}[data-gp-theme="stem-and-still"] .ux-lab .ux-art svg{display:block;width:100%;height:auto;aspect-ratio:700/520;fill:none;stroke:none;stroke-width:1;color:var(--ink)}[data-gp-theme="stem-and-still"] .ux-lab figcaption{display:block;padding:12px 16px;font-size:14px;color:var(--muted);background:var(--paper);border-bottom:1px solid var(--line)}[data-gp-theme="stem-and-still"] .ux-lab fieldset{border:0;padding:0;margin:0 0 22px;min-width:0}[data-gp-theme="stem-and-still"] .ux-lab legend{font-size:16px;font-weight:600;margin-bottom:8px}[data-gp-theme="stem-and-still"] .ux-lab .ux-choices{display:flex;flex-wrap:wrap;gap:8px}[data-gp-theme="stem-and-still"] .ux-lab :is(button,[role="button"]),[data-gp-theme="stem-and-still"] .ux-lab .ux-link{font:500 15px/1.35 var(--body);border:1px solid var(--line);padding:11px 15px;min-height:44px;min-width:44px;color:var(--ink);background:var(--paper);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px}[data-gp-theme="stem-and-still"] .ux-lab :is(button,[role="button"])[aria-pressed=true]{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}[data-gp-theme="stem-and-still"] .ux-lab :is(button,[role="button"]):focus-visible,[data-gp-theme="stem-and-still"] .ux-lab a:focus-visible,[data-gp-theme="stem-and-still"] .ux-lab textarea:focus-visible,[data-gp-theme="stem-and-still"] .ux-lab input:focus-visible{outline:3px solid var(--accent);outline-offset:4px}[data-gp-theme="stem-and-still"] .ux-lab .ux-link{color:var(--on-accent);background:var(--accent);border-color:var(--accent);margin-top:16px}[data-gp-theme="stem-and-still"] .ux-lab .ux-summary{display:block;font-size:17px;line-height:1.55;min-height:3.2em;margin:18px 0;padding:16px 0;border-block:1px solid var(--line)}[data-gp-theme="stem-and-still"] .ux-lab .ux-detail{margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}[data-gp-theme="stem-and-still"] .ux-lab .ux-detail svg{width:100%;height:auto;aspect-ratio:260/120;display:block;stroke:none;fill:none}[data-gp-theme="stem-and-still"] .ux-lab label{font-size:16px;display:block}[data-gp-theme="stem-and-still"] .ux-lab textarea{display:block;width:100%;font:17px/1.6 var(--body);padding:14px;background:var(--paper);color:var(--ink);border:1px solid var(--line);margin:8px 0 14px;resize:vertical}[data-gp-theme="stem-and-still"] .ux-lab .ux-note-result{display:block;white-space:pre-wrap;margin:16px 0;font-size:16px}[data-gp-theme="stem-and-still"] .ux-lab [hidden]{display:none!important}[data-gp-theme="stem-and-still"] .ux-lab .ux-carry{border-left:4px solid var(--accent);padding-left:22px}[data-gp-theme="stem-and-still"] .ux-lab .ux-carry ul{padding-left:20px}[data-gp-theme="stem-and-still"] .ux-lab .ux-carry li{margin:6px 0}[data-gp-theme="stem-and-still"] .ux-lab .ux-clear{font-size:14px;min-height:44px}
[data-gp-theme="stem-and-still"] .ux-lab .ux-visual{position:relative;isolation:isolate}[data-gp-theme="stem-and-still"] .ux-lab .ux-visual [data-scene-snapshot]{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
@media(hover:hover) and (pointer:fine){[data-gp-theme="stem-and-still"] .ux-lab :is(button,[role="button"]):hover{border-color:var(--accent)}[data-gp-theme="stem-and-still"] .ux-lab .ux-link:hover{opacity:.88}}
@media(max-width:700px){[data-gp-theme="stem-and-still"] .ux-lab{margin:32px 16px;padding:24px 0}[data-gp-theme="stem-and-still"] .ux-lab .ux-spread{grid-template-columns:minmax(0,1fr);gap:24px}[data-gp-theme="stem-and-still"] .ux-lab .ux-intro{margin-bottom:20px}[data-gp-theme="stem-and-still"] .ux-lab .ux-art svg{min-height:240px}[data-gp-theme="stem-and-still"] .ux-lab h2{font-size:32px}[data-gp-theme="stem-and-still"] .ux-lab p{font-size:16px}[data-gp-theme="stem-and-still"] .ux-lab .ux-choices{gap:7px}[data-gp-theme="stem-and-still"] .ux-lab :is(button,[role="button"]){padding:10px 12px}}
@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="stem-and-still"] .ux-lab{margin:32px 16px;padding:24px 0}[data-gp-theme="stem-and-still"] .ux-lab .ux-spread{grid-template-columns:minmax(0,1fr);gap:24px}[data-gp-theme="stem-and-still"] .ux-lab .ux-intro{margin-bottom:20px}[data-gp-theme="stem-and-still"] .ux-lab .ux-art svg{min-height:240px}[data-gp-theme="stem-and-still"] .ux-lab h2{font-size:32px}[data-gp-theme="stem-and-still"] .ux-lab p{font-size:16px}[data-gp-theme="stem-and-still"] .ux-lab .ux-choices{gap:7px}[data-gp-theme="stem-and-still"] .ux-lab :is(button,[role="button"]){padding:10px 12px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="stem-and-still"] .ux-lab *{scroll-behavior:auto!important;transition-duration:0ms!important;animation:none!important}}
[data-gp-theme="stem-and-still"] .ux-bouquet .ux-art{border-radius:48% 48% 0 0}[data-gp-theme="stem-and-still"] .ux-bouquet .ux-plant{--petal:#b56b79;--heart:#84522c;--foliage:#5b6746}[data-gp-theme="stem-and-still"] .ux-bouquet[data-palette-choice=orchard] .ux-plant{--petal:#c48b41;--heart:#795543;--foliage:#687342}[data-gp-theme="stem-and-still"] .ux-bouquet[data-palette-choice=ink] .ux-plant{--petal:#9a7094;--heart:#58314c;--foliage:#53695c}[data-gp-theme="stem-and-still"] .ux-bouquet .ux-petals{fill:var(--petal);stroke:var(--paper);stroke-width:2}[data-gp-theme="stem-and-still"] .ux-bouquet .ux-heart{fill:var(--heart)}[data-gp-theme="stem-and-still"] .ux-bouquet .ux-leaves{fill:var(--foliage);stroke:var(--foliage);stroke-width:2}[data-gp-theme="stem-and-still"] .ux-bouquet .ux-stems{stroke:var(--foliage);stroke-width:4;fill:none}[data-gp-theme="stem-and-still"] .ux-bouquet .ux-arrangement{transform-origin:350px 350px;transform:scale(.82)}[data-gp-theme="stem-and-still"] .ux-bouquet[data-scale=generous] .ux-arrangement{transform:scale(1)}[data-gp-theme="stem-and-still"] .ux-bouquet[data-scale=statement] .ux-arrangement{transform:scale(1.14)}[data-gp-theme="stem-and-still"] .ux-bouquet [data-in-hand]{opacity:1}[data-gp-theme="stem-and-still"] .ux-bouquet [data-on-table]{opacity:0}[data-gp-theme="stem-and-still"] .ux-bouquet[data-context=table] [data-in-hand]{opacity:0}[data-gp-theme="stem-and-still"] .ux-bouquet[data-context=table] [data-on-table]{opacity:1}[data-gp-theme="stem-and-still"] .ux-bouquet .ux-specimens{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:24px}[data-gp-theme="stem-and-still"] .ux-bouquet .ux-specimens :is(button,[role="button"]){flex-direction:column;background:var(--wash);color:var(--ink);border:0;border-bottom:3px solid transparent}[data-gp-theme="stem-and-still"] .ux-bouquet .ux-specimens :is(button,[role="button"])[aria-pressed=true]{border-color:var(--accent)}[data-gp-theme="stem-and-still"] .ux-bouquet .ux-specimens svg{height:70px;width:70px;fill:none;stroke:var(--ink);stroke-width:1.7}[data-gp-theme="stem-and-still"] .ux-bouquet .ux-stem-note{min-height:5em;margin-top:16px}[data-gp-theme="stem-and-still"] .ux-bouquet .ux-art-label{fill:var(--ink);font:16px var(--body)}[data-gp-theme="stem-and-still"][data-mode="dark"] .ux-bouquet .ux-plant{--foliage:#afbc91}[data-gp-theme="stem-and-still"][data-mode="dark"] .ux-bouquet[data-palette-choice="orchard"] .ux-plant{--foliage:#c6ca95}[data-gp-theme="stem-and-still"][data-mode="dark"] .ux-bouquet[data-palette-choice="ink"] .ux-plant{--foliage:#b0c6b8}
/* Approved readability refinements, 18 October 2026.
   Only meaningful helpers, local groups and selected reading paragraphs.
   Owner-selected type families, display sizes and frozen comparisons stay authoritative. */

/* Kiln House: the brief promise and sample guidance are part of the task. */
[data-gp-theme="stem-and-still"][data-site="kiln-house"] :is(.field-note,.form-note,.pairing-hint,.material-note,.light-note,.letter-note,.combination-copy small,.material-row small){font-size:14px;line-height:1.5}
[data-gp-theme="stem-and-still"][data-site="kiln-house"] .form-note{margin-top:16px}
[data-gp-theme="stem-and-still"][data-site="kiln-house"] :is(.quiet-button,.combination-action){font-size:15px;line-height:1.5}
[data-gp-theme="stem-and-still"][data-site="kiln-house"] .quiet-button{min-height:44px}
[data-gp-theme="stem-and-still"][data-site="kiln-house"] .directory-links a small{font-size:14px;line-height:1.5}

/* Small study labels explain a choice, rather than acting as an imprint. */
[data-gp-theme="stem-and-still"][data-site="true-joint"] .ux-stage-bar :is(button,[role="button"]) small{font-size:14px;line-height:1.5}
[data-gp-theme="stem-and-still"][data-site="neighbourhood-edit"] .ux-plan-header{font-size:14px;line-height:1.5;gap:12px;flex-wrap:wrap}
[data-gp-theme="stem-and-still"][data-site="neighbourhood-edit"] .ux-room-title{margin-bottom:16px}
[data-gp-theme="stem-and-still"][data-site="neighbourhood-edit"] .ux-room-title h3{margin-bottom:0}
[data-gp-theme="stem-and-still"][data-site="neighbourhood-edit"] :is(.home-finder label,.home-finder output,.area-index small){font-size:14px;line-height:1.5}
[data-gp-theme="stem-and-still"][data-site="neighbourhood-edit"] .home-finder select{font-size:16px;min-height:44px}
[data-gp-theme="stem-and-still"][data-site="harbour"] .ux-folio .ux-document-row label{font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="stem-and-still"][data-site="daymark-window-care"] .dm-sheet-head{font-size:14px;line-height:1.5;flex-wrap:wrap}
[data-gp-theme="stem-and-still"][data-site="velum-window-care"] .ux-v-nav :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}

/* Existing small controls retain or gain the comfortable target height. */
[data-gp-theme="stem-and-still"][data-site="stem-and-still"] .stem-slip :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:48px;gap:8px}
[data-gp-theme="stem-and-still"][data-site="cake-box"] .flavour-pick :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="stem-and-still"][data-site="cake-box"] .message-label small{font-size:14px;line-height:1.5}
[data-gp-theme="stem-and-still"][data-site="crm-recruitment-people"] .question-buttons{gap:10px}
[data-gp-theme="stem-and-still"][data-site="crm-recruitment-people"] .question-buttons :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:10px 12px}
[data-gp-theme="stem-and-still"][data-site="the-second-set-programme"] .pr-order-actions :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:8px 10px}

/* The format facts belong with the large ensemble names. */
[data-gp-theme="stem-and-still"][data-site="the-second-set-afterglow"] .ag-format-ribbon span:not(.fs-richtext){font-size:14px;line-height:1.5;margin-top:8px}
[data-gp-theme="stem-and-still"][data-site="the-second-set-programme"] .opening-note{font-size:14px;line-height:1.5}
[data-gp-theme="stem-and-still"][data-site="the-second-set-signal"] .form-note{font-size:14px;line-height:1.5}

/* Slipstream: useful record, filter and brief text; preserve the scrollable comparison. */
[data-gp-theme="stem-and-still"][data-site="slipstream"] :is(.featured-price small,.rail-note,.stock-finder label,.stock-caption,.inspection-note,.inspection-instruction,.form-note,[data-gp-id="stock-count"],[data-gp-id="form-question-count"]){font-size:14px;line-height:1.5}
[data-gp-theme="stem-and-still"][data-site="slipstream"] :is(.visit-form label,.form-pair label){font-size:15px;line-height:1.5}
[data-gp-theme="stem-and-still"][data-site="slipstream"] :is(.car-record summary,[data-gp-id="reset-stock"],[data-gp-id="clear-compare"],.quick-compare button){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="stem-and-still"][data-site="slipstream"] .stock-finder select{min-height:44px}

/* Narrow only sustained paragraphs, preserving plans, records, lists and tables. */
[data-gp-theme="stem-and-still"]:is([data-site="stem-and-still"],[data-site="kiln-house"],[data-site="true-joint"])[data-inside] .ip-reading>p{max-width:64ch}

@media(max-width:700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="stem-and-still"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="stem-and-still"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="stem-and-still"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="stem-and-still"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="stem-and-still"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="stem-and-still"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="stem-and-still"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="stem-and-still"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="stem-and-still"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

@containerfs-editor-canvas (max-width: 700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="stem-and-still"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="stem-and-still"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="stem-and-still"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="stem-and-still"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="stem-and-still"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="stem-and-still"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="stem-and-still"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="stem-and-still"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="stem-and-still"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

/* No generic heading, body, section-spacing or panel-height reset.
   Goodpane's unused calendar CSS, Expedition's real stage envelope,
   Starlight's passage leading and Velum's display introduction need no blanket fix. */

/* Menu-only reset. Shapes and composition are authored separately below. */
[data-gp-theme="stem-and-still"] dialog[data-gp-id="mega-menu"].mega-menu{--mi-paper:var(--paper);--mi-ink:var(--ink);--mi-wash:var(--wash,var(--paper));--mi-line:var(--line);--mi-accent:var(--accent,var(--ink));position:fixed;inset:auto;margin:0;padding:0;min-width:0;min-height:0;max-width:none;max-height:none;border:0;border-radius:0;background:var(--mi-paper);color:var(--mi-ink);box-shadow:0 22px 90px #0004;font:16px/1.5 var(--body,sans-serif);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:auto;transform:none}
[data-gp-theme="stem-and-still"] [data-gp-id="mega-menu"][open]{display:block;animation:none}
[data-gp-theme="stem-and-still"] [data-gp-id="mega-menu"][open]:not([data-closing])>:not(.mi-bar){animation:gp-stem-mi-arrive 180ms ease-out both}
[data-gp-theme="stem-and-still"] [data-gp-id="mega-menu"][data-closing]{animation:gp-stem-mi-leave 160ms ease-in both}
[data-gp-theme="stem-and-still"] [data-gp-id="mega-menu"]::backdrop{background:#0007;backdrop-filter:blur(3px)}
[data-gp-theme="stem-and-still"] [data-gp-id="mega-menu"] *,[data-gp-theme="stem-and-still"] [data-gp-id="mega-menu"] *::before,[data-gp-theme="stem-and-still"] [data-gp-id="mega-menu"] *::after{box-sizing:border-box}
[data-gp-theme="stem-and-still"] [data-gp-id="mega-menu"] :is(h2,h3,p,figure){margin:0;max-width:none}
[data-gp-theme="stem-and-still"] [data-gp-id="mega-menu"] h2{font-family:var(--mi-display,var(--display,serif));font-weight:500;line-height:1.1;letter-spacing:-.025em;text-transform:none}
[data-gp-theme="stem-and-still"] [data-gp-id="mega-menu"] h3{font:600 19px/1.25 var(--body,sans-serif);letter-spacing:0;text-transform:none}
[data-gp-theme="stem-and-still"] [data-gp-id="mega-menu"] a{color:inherit;text-decoration:none;min-height:44px;transition:background-color 160ms,color 160ms;text-transform:none;letter-spacing:0}
[data-gp-theme="stem-and-still"] [data-gp-id="mega-menu"] a:hover{text-decoration:underline;text-underline-offset:5px}
[data-gp-theme="stem-and-still"] [data-gp-id="mega-menu"] a:focus-visible,[data-gp-theme="stem-and-still"] [data-gp-id="mega-menu"] :is(button,[role="button"]):focus-visible{outline:2px solid currentColor;outline-offset:4px}
[data-gp-theme="stem-and-still"] [data-gp-id="mega-menu"] small{font:400 13px/1.5 var(--body,sans-serif);letter-spacing:0;text-transform:none}
[data-gp-theme="stem-and-still"] [data-gp-id="mega-menu"] .mi-bar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:0;padding:16px 28px;border-bottom:1px solid var(--mi-line);background:var(--mi-paper);color:var(--mi-ink);font:500 15px/1.3 var(--body,sans-serif)}
[data-gp-theme="stem-and-still"] [data-gp-id="mega-menu"] .mi-bar a{display:flex;align-items:center;font:inherit;max-width:70%}
[data-gp-theme="stem-and-still"] [data-gp-id="mega-menu"] [data-menu-close]{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:64px;margin:0;padding:9px 12px;border:1px solid var(--mi-line);border-radius:0;background:var(--mi-paper);color:var(--mi-ink);font:500 14px/1.3 var(--body,sans-serif);cursor:pointer;flex:none}
[data-gp-theme="stem-and-still"] [data-gp-id="mega-menu"] .mi-note{font:400 12px/1.5 var(--body,sans-serif);color:var(--mi-ink)}
@keyframes gp-stem-mi-arrive{from{opacity:0}to{opacity:1}}@keyframes gp-stem-mi-leave{to{opacity:0}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="stem-and-still"] [data-gp-id="mega-menu"][open],[data-gp-theme="stem-and-still"] [data-gp-id="mega-menu"][data-closing],[data-gp-theme="stem-and-still"] [data-gp-id="mega-menu"][open]>:not(.mi-bar){animation:none}[data-gp-theme="stem-and-still"] [data-gp-id="mega-menu"] a{transition:none}}

[data-gp-theme="stem-and-still"] dialog[data-gp-id="mega-menu"].mega-menu{--mi-display:"Newsreader",serif;inset:0 auto 0 0;width:min(560px,100%);height:100dvh;border-right:8px solid var(--mi-wash)}
[data-gp-theme="stem-and-still"] [data-gp-id="mega-menu"] .mi-press{padding:32px 34px 28px}[data-gp-theme="stem-and-still"] [data-gp-id="mega-menu"] h2{font-size:48px;margin-bottom:28px}
[data-gp-theme="stem-and-still"] [data-gp-id="mega-menu"] .mi-press-sheet{display:grid;grid-template-columns:72px minmax(0,1fr);gap:20px;padding:12px 0 20px;border-top:1px solid var(--mi-line)}
[data-gp-theme="stem-and-still"] [data-gp-id="mega-menu"] .mi-pressed-stem{align-self:center;color:var(--leaf,var(--mi-ink))}[data-gp-theme="stem-and-still"] [data-gp-id="mega-menu"] .mi-pressed-stem svg{width:100%;height:330px;fill:none;stroke:currentColor;stroke-width:1.6}
[data-gp-theme="stem-and-still"] [data-gp-id="mega-menu"] .mi-press-sheet h3{font-size:13px;margin-top:18px;margin-bottom:3px;color:var(--mi-ink)}[data-gp-theme="stem-and-still"] [data-gp-id="mega-menu"] .mi-press-sheet nav a{display:flex;align-items:center;padding:9px 0;border-bottom:1px solid color-mix(in srgb,var(--mi-line) 50%,transparent);font:500 21px/1.25 "Newsreader",serif}
[data-gp-theme="stem-and-still"] [data-gp-id="mega-menu"] .mi-florist-note{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;background:var(--mi-wash);font-size:17px}[data-gp-theme="stem-and-still"] [data-gp-id="mega-menu"] .mi-note{margin-top:18px;max-width:44ch}
@media(max-width:900px){[data-gp-theme="stem-and-still"] [data-gp-id="mega-menu"] .mi-press{padding:26px 22px}[data-gp-theme="stem-and-still"] [data-gp-id="mega-menu"] h2{font-size:40px}[data-gp-theme="stem-and-still"] [data-gp-id="mega-menu"] .mi-press-sheet{grid-template-columns:44px minmax(0,1fr);gap:15px}[data-gp-theme="stem-and-still"] [data-gp-id="mega-menu"] .mi-press-sheet nav a{font-size:20px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="stem-and-still"] [data-gp-id="mega-menu"] .mi-press{padding:26px 22px}[data-gp-theme="stem-and-still"] [data-gp-id="mega-menu"] h2{font-size:40px}[data-gp-theme="stem-and-still"] [data-gp-id="mega-menu"] .mi-press-sheet{grid-template-columns:44px minmax(0,1fr);gap:15px}[data-gp-theme="stem-and-still"] [data-gp-id="mega-menu"] .mi-press-sheet nav a{font-size:20px}}

[data-gp-theme="stem-and-still"]{--paper:rgb(var(--c-paper));--ink:rgb(var(--c-ink-950));--accent:rgb(var(--c-brand-600));--wash:rgb(var(--c-paper-soft));--line:rgb(var(--c-line));--muted:rgb(var(--c-ink-400));--on-accent:var(--fs-on-brand);--focus:rgb(var(--c-accent));--work:var(--fs-surface-inverted,var(--wash));--work-ink:var(--fs-on-surface-inverted,var(--paper));--body:var(--font-sans);}
[data-gp-theme="neighbourhood-edit"]{--ease-out:cubic-bezier(.23,1,.32,1);--ease-drawer:cubic-bezier(.32,.72,0,1)}
[data-gp-theme="neighbourhood-edit"] *{box-sizing:border-box}[data-gp-theme="neighbourhood-edit"]{scroll-behavior:smooth;scroll-padding-top:100px}[data-gp-theme="neighbourhood-edit"]{margin:0}[data-gp-theme="neighbourhood-edit"] img{max-width:100%;display:block}[data-gp-theme="neighbourhood-edit"] :is(button,[role="button"]),[data-gp-theme="neighbourhood-edit"] input,[data-gp-theme="neighbourhood-edit"] select,[data-gp-theme="neighbourhood-edit"] textarea{font:inherit}[data-gp-theme="neighbourhood-edit"] :is(button,[role="button"]),[data-gp-theme="neighbourhood-edit"] a,[data-gp-theme="neighbourhood-edit"] input,[data-gp-theme="neighbourhood-edit"] select,[data-gp-theme="neighbourhood-edit"] textarea{touch-action:manipulation}[data-gp-theme="neighbourhood-edit"] :is(button,[role="button"]),[data-gp-theme="neighbourhood-edit"] a{ -webkit-tap-highlight-color:transparent}[data-gp-theme="neighbourhood-edit"] :is(button,[role="button"]){cursor:pointer}[data-gp-theme="neighbourhood-edit"] :is(button,[role="button"]):active{transform:translateY(1px)}[data-gp-theme="neighbourhood-edit"] a{color:inherit;text-underline-offset:.22em}[data-gp-theme="neighbourhood-edit"] :is(button,[role="button"]):focus-visible,[data-gp-theme="neighbourhood-edit"] a:focus-visible,[data-gp-theme="neighbourhood-edit"] summary:focus-visible,[data-gp-theme="neighbourhood-edit"] input:focus-visible,[data-gp-theme="neighbourhood-edit"] select:focus-visible,[data-gp-theme="neighbourhood-edit"] textarea:focus-visible{outline:3px solid var(--focus,#346ddb);outline-offset:5px}[data-gp-theme="neighbourhood-edit"] textarea{resize:vertical}[data-gp-theme="neighbourhood-edit"] input,[data-gp-theme="neighbourhood-edit"] textarea{caret-color:var(--focus,currentColor)}[data-gp-theme="neighbourhood-edit"] :is(button,[role="button"]),[data-gp-theme="neighbourhood-edit"] select,[data-gp-theme="neighbourhood-edit"] input{min-height:44px}[data-gp-theme="neighbourhood-edit"] summary{cursor:pointer}[data-gp-theme="neighbourhood-edit"] section[id],[data-gp-theme="neighbourhood-edit"] footer[id]{scroll-margin-top:110px}[data-gp-theme="neighbourhood-edit"] [hidden]{display:none!important}[data-gp-theme="neighbourhood-edit"] .skip-link{position:fixed;z-index:200;top:8px;left:8px;background:#fff;color:#111;padding:12px 18px;transform:translateY(-150%)}[data-gp-theme="neighbourhood-edit"] .skip-link:focus{transform:none}
[data-gp-theme="neighbourhood-edit"] .preview-bar{min-height:42px;background:#f6f6f2;color:#252a2a;border-bottom:1px solid #d5d8d4;font:13px/1.3 "Figtree",sans-serif;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 3vw;position:relative;z-index:30}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="neighbourhood-edit"] .preview-bar{padding:5px 3cqw}}[data-gp-theme="neighbourhood-edit"] .preview-bar a{white-space:nowrap}[data-gp-theme="neighbourhood-edit"] .preview-bar [role=group]{display:flex;gap:2px;align-items:center}[data-gp-theme="neighbourhood-edit"] .preview-bar :is(button,[role="button"]){min-height:32px;background:transparent;color:inherit;border:0;padding:6px 10px;border-radius:3px;font-size:13px;transition:background-color 150ms var(--ease-out)}[data-gp-theme="neighbourhood-edit"] .preview-bar [aria-pressed=true]{background:#252a2a;color:#fff}[data-gp-theme="neighbourhood-edit"] .preview-bar :is(button,[role="button"])[data-replay-intro]{border:1px solid #b6beb8}[data-gp-theme="neighbourhood-edit"] .preview-label{color:#515953}[data-gp-theme="neighbourhood-edit"] .preview-bar::selection{background:#252a2a;color:#fff}
[data-gp-theme="neighbourhood-edit"] dialog.mega-menu{max-width:none;max-height:calc(100dvh - 32px);overflow:auto;border:0;padding:0;color:inherit;overscroll-behavior:contain}[data-gp-theme="neighbourhood-edit"] dialog.mega-menu::backdrop{background:rgb(8 16 18 / .52)}[data-gp-theme="neighbourhood-edit"] .mega-menu[open]{animation:gp-neighbourhood-menu-arrive 220ms var(--ease-drawer)}[data-gp-theme="neighbourhood-edit"] .mega-menu[data-closing]{animation:gp-neighbourhood-menu-leave 160ms var(--ease-out) forwards}[data-gp-theme="neighbourhood-edit"] .mega-menu[data-keyboard]{animation:none}[data-gp-theme="neighbourhood-edit"] .menu-lock{overflow:hidden}@keyframes gp-neighbourhood-menu-arrive{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}@keyframes gp-neighbourhood-menu-leave{to{opacity:0;transform:translateY(-10px)}}
[data-gp-theme="neighbourhood-edit"] .preloader{display:none;position:fixed;inset:0;z-index:190;place-content:center;pointer-events:none;text-align:center}[data-gp-theme="neighbourhood-edit"] .preloader.is-active{display:grid;animation:gp-neighbourhood-intro-failsafe 1.3s step-end forwards}[data-gp-theme="neighbourhood-edit"] .preloader.is-leaving{opacity:0;transition:opacity 180ms var(--ease-out)}@keyframes gp-neighbourhood-intro-failsafe{0%,99%{visibility:visible}100%{visibility:hidden}}
@media(max-width:650px){[data-gp-theme="neighbourhood-edit"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="neighbourhood-edit"] .preview-bar .preview-label{display:none}[data-gp-theme="neighbourhood-edit"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="neighbourhood-edit"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="neighbourhood-edit"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="neighbourhood-edit"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="neighbourhood-edit"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="neighbourhood-edit"] .preview-bar .preview-label{display:none}[data-gp-theme="neighbourhood-edit"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="neighbourhood-edit"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="neighbourhood-edit"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="neighbourhood-edit"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="neighbourhood-edit"]{scroll-behavior:auto}[data-gp-theme="neighbourhood-edit"] *,[data-gp-theme="neighbourhood-edit"] *::before,[data-gp-theme="neighbourhood-edit"] *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-gp-theme="neighbourhood-edit"] .preloader.is-active{display:none!important}}
@media(max-width:650px){[data-gp-theme="neighbourhood-edit"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="neighbourhood-edit"] .preview-bar a{font-size:12px}[data-gp-theme="neighbourhood-edit"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="neighbourhood-edit"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="neighbourhood-edit"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="neighbourhood-edit"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="neighbourhood-edit"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="neighbourhood-edit"] .preview-bar a{font-size:12px}[data-gp-theme="neighbourhood-edit"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="neighbourhood-edit"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="neighbourhood-edit"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="neighbourhood-edit"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}

[data-gp-theme="neighbourhood-edit"]{--paper:#f5f3ea;--ink:#193b77;--accent:#df9c36;--wash:#e7e9dd;--line:#9faebe;--on-accent:#1d2d43;--muted:#4e6175;--display:"Bitter",serif;--body:"Public Sans",sans-serif;--focus:#193b77;background:var(--paper);color:var(--ink);font:18px/1.6 var(--body)}[data-gp-theme="neighbourhood-edit"][data-palette="1"]{--ink:#294e3b;--accent:#cda94f;--wash:#e2e9df;--line:#9cac9a;--muted:#506555;--focus:#294e3b}[data-gp-theme="neighbourhood-edit"][data-palette="2"]{--paper:#f7ede6;--ink:#583b3a;--accent:#d49c68;--wash:#eaddd2;--line:#bca29a;--muted:#705957;--focus:#583b3a}[data-gp-theme="neighbourhood-edit"][data-mode="dark"]{--paper:#142132;--ink:#e9eff8;--accent:#e9b656;--wash:#21364c;--line:#62798e;--on-accent:#172a3b;--muted:#b9c9d9;--focus:#e9b656}[data-gp-theme="neighbourhood-edit"][data-mode="dark"][data-palette="1"]{--paper:#17271d;--ink:#e8f0df;--wash:#2a3e2c;--line:#6a816c;--muted:#c0cfb9;--accent:#dfbf74}[data-gp-theme="neighbourhood-edit"][data-mode="dark"][data-palette="2"]{--paper:#291e20;--ink:#f7e9e3;--wash:#422e2f;--line:#8f7172;--muted:#d8bec0;--accent:#e8b27d}[data-gp-theme="neighbourhood-edit"] h1,[data-gp-theme="neighbourhood-edit"] h2,[data-gp-theme="neighbourhood-edit"] h3,[data-gp-theme="neighbourhood-edit"] p,[data-gp-theme="neighbourhood-edit"] figure{margin:0}[data-gp-theme="neighbourhood-edit"] h1,[data-gp-theme="neighbourhood-edit"] h2,[data-gp-theme="neighbourhood-edit"] h3{font-family:var(--display);font-weight:500;line-height:1.13;letter-spacing:-.04em}[data-gp-theme="neighbourhood-edit"] h1{font-size:clamp(52px,5.3vw,80px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="neighbourhood-edit"] h1{font-size:clamp(52px,5.3cqw,80px)}}[data-gp-theme="neighbourhood-edit"] h2{font-size:clamp(38px,3.9vw,58px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="neighbourhood-edit"] h2{font-size:clamp(38px,3.9cqw,58px)}}[data-gp-theme="neighbourhood-edit"] h3{font-size:31px}[data-gp-theme="neighbourhood-edit"] .wrap{width:min(1340px,calc(100% - 96px));margin:auto}[data-gp-theme="neighbourhood-edit"] .section{padding-block:90px}[data-gp-theme="neighbourhood-edit"] p{max-width:60ch}[data-gp-theme="neighbourhood-edit"] .site-header{padding:25px 48px;display:flex;gap:30px;align-items:center;justify-content:space-between;border-bottom:2px solid var(--ink)}[data-gp-theme="neighbourhood-edit"] .brand{font:500 31px/1.1 var(--display);text-decoration:none;white-space:nowrap}[data-gp-theme="neighbourhood-edit"] .brand small{font:13px/1.6 var(--body);display:block;margin-top:5px;letter-spacing:.04em}[data-gp-theme="neighbourhood-edit"] .site-header nav{display:flex;gap:30px;font-size:16px}[data-gp-theme="neighbourhood-edit"] .site-header nav a{min-height:44px;display:flex;align-items:center;text-decoration:none}[data-gp-theme="neighbourhood-edit"] .site-header :is(button,[role="button"]){background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:10px 15px;font-size:15px;display:flex;align-items:center;gap:16px}[data-gp-theme="neighbourhood-edit"] .site-header :is(button,[role="button"]) svg{width:20px;height:20px}[data-gp-theme="neighbourhood-edit"] .atlas-opening{padding-top:42px}[data-gp-theme="neighbourhood-edit"] .opening-heading{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:35px}[data-gp-theme="neighbourhood-edit"] .opening-heading>div>p{font-size:15px;margin-bottom:20px}[data-gp-theme="neighbourhood-edit"] .opening-heading>p{font-size:16px;max-width:30ch;padding-bottom:7px}[data-gp-theme="neighbourhood-edit"] .panorama{position:relative;padding-right:225px}[data-gp-theme="neighbourhood-edit"] .panorama figure{margin:0}[data-gp-theme="neighbourhood-edit"] .panorama img{height:385px;width:100%;object-fit:cover}[data-gp-theme="neighbourhood-edit"] .panorama figcaption{display:flex;justify-content:space-between;gap:20px;font-size:12px;padding:12px 0}[data-gp-theme="neighbourhood-edit"] .area-index{position:absolute;right:0;top:0;width:225px;background:var(--ink);color:var(--paper);height:385px;display:flex;flex-direction:column;padding:25px}[data-gp-theme="neighbourhood-edit"] .area-index>span:not(.fs-richtext){font-size:13px;display:block;padding-bottom:30px}[data-gp-theme="neighbourhood-edit"] .area-index :is(button,[role="button"]){border:0;border-top:1px solid currentColor;color:inherit;background:none;text-align:left;padding:18px 0;display:block;min-height:90px}[data-gp-theme="neighbourhood-edit"] .area-index b{font:27px var(--display)}[data-gp-theme="neighbourhood-edit"] .area-index small{font-size:12px;display:block;margin-top:8px}[data-gp-theme="neighbourhood-edit"] .area-index :is(button,[role="button"])[aria-pressed=true]{color:var(--accent)}[data-gp-theme="neighbourhood-edit"] .area-index>a{font-size:14px;margin-top:auto}[data-gp-theme="neighbourhood-edit"] .section-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:30px}[data-gp-theme="neighbourhood-edit"] .section-heading p{font-size:15px}[data-gp-theme="neighbourhood-edit"] .home-finder{display:grid;grid-template-columns:1fr 1fr auto auto;gap:25px;align-items:end;padding:22px 0;border-block:1px solid var(--ink);margin-bottom:40px}[data-gp-theme="neighbourhood-edit"] .home-finder label{font-size:14px;display:grid;gap:8px}[data-gp-theme="neighbourhood-edit"] .home-finder select{padding:10px;background:var(--paper);color:var(--ink);border:1px solid var(--line);min-width:0;width:100%}[data-gp-theme="neighbourhood-edit"] .home-finder output{font-size:14px;padding-bottom:12px}[data-gp-theme="neighbourhood-edit"] .home-finder :is(button,[role="button"]){font-size:14px;color:var(--ink);background:none;border:0;text-decoration:underline;padding:10px 0;min-height:44px}[data-gp-theme="neighbourhood-edit"] .property-list{display:grid;gap:45px}[data-gp-theme="neighbourhood-edit"] .property{display:grid;grid-template-columns:1.3fr 1fr;gap:45px;border-bottom:1px solid var(--line);padding-bottom:35px}[data-gp-theme="neighbourhood-edit"] .property figure img{height:345px;object-fit:cover;width:100%}[data-gp-theme="neighbourhood-edit"] .property figcaption{font-size:12px;margin-top:9px}[data-gp-theme="neighbourhood-edit"] .location{font-size:14px;margin-bottom:14px}[data-gp-theme="neighbourhood-edit"] .property h3{font-size:36px;line-height:1.15;margin-bottom:15px}[data-gp-theme="neighbourhood-edit"] .price{font-size:23px;font-weight:500;margin-bottom:10px}[data-gp-theme="neighbourhood-edit"] .property-copy>p:not(.price):not(.location){font-size:16px}[data-gp-theme="neighbourhood-edit"] .property details{font-size:15px;border-block:1px solid var(--line);margin-top:20px;padding:10px 0}[data-gp-theme="neighbourhood-edit"] .property summary{min-height:44px;cursor:pointer;display:flex;align-items:center}[data-gp-theme="neighbourhood-edit"] .property dl{margin:10px 0 20px;display:grid;grid-template-columns:repeat(3,1fr);gap:15px}[data-gp-theme="neighbourhood-edit"] .property dt{font-size:13px;color:var(--muted)}[data-gp-theme="neighbourhood-edit"] .property dd{margin:0;font-weight:600}[data-gp-theme="neighbourhood-edit"] .property :is(button,[role="button"]){background:none;border:0;padding:10px 0;min-height:44px;font-size:16px;border-bottom:1px solid var(--ink);color:var(--ink);margin-top:12px}[data-gp-theme="neighbourhood-edit"] .area-atlas{background:var(--wash)}[data-gp-theme="neighbourhood-edit"] .area-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}[data-gp-theme="neighbourhood-edit"] .area-layout>div>p:first-child{font-size:15px;margin-bottom:25px}[data-gp-theme="neighbourhood-edit"] .area-tabs{display:flex;gap:12px;margin:30px 0 20px}[data-gp-theme="neighbourhood-edit"] .area-tabs :is(button,[role="button"]){padding:10px 24px;border:1px solid var(--ink);background:none;color:var(--ink)}[data-gp-theme="neighbourhood-edit"] .area-tabs :is(button,[role="button"])[aria-pressed=true]{background:var(--ink);color:var(--paper)}[data-gp-theme="neighbourhood-edit"] [data-gp-id="area-note"]{min-height:100px;max-width:45ch;font-size:17px}[data-gp-theme="neighbourhood-edit"] .area-link{display:inline-flex;min-height:44px;align-items:center;margin-top:20px}[data-gp-theme="neighbourhood-edit"] .area-layout img{height:420px;width:100%;object-fit:cover}[data-gp-theme="neighbourhood-edit"] .area-layout figcaption{font-size:13px;margin-top:10px}[data-gp-theme="neighbourhood-edit"] .fact-sheet{display:grid;grid-template-columns:1fr 1fr;gap:90px}[data-gp-theme="neighbourhood-edit"] .fact-sheet>div>p{font-size:15px;margin-bottom:25px}[data-gp-theme="neighbourhood-edit"] .fact-notes article{border-top:1px solid var(--line);padding:24px 0}[data-gp-theme="neighbourhood-edit"] .fact-notes h3{font-size:27px;margin-bottom:15px}[data-gp-theme="neighbourhood-edit"] .fact-notes p{font-size:17px}[data-gp-theme="neighbourhood-edit"] .selling{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding-bottom:90px}[data-gp-theme="neighbourhood-edit"] .selling>div>p:first-child{font-size:15px;margin-bottom:25px}[data-gp-theme="neighbourhood-edit"] .selling h2{margin-bottom:25px}[data-gp-theme="neighbourhood-edit"] .selling a{display:inline-flex;min-height:44px;align-items:center;margin-top:20px}[data-gp-theme="neighbourhood-edit"] .selling details{border-top:1px solid var(--line);padding:15px 0}[data-gp-theme="neighbourhood-edit"] .selling summary{min-height:44px;font-size:18px;display:flex;align-items:center;cursor:pointer}[data-gp-theme="neighbourhood-edit"] .selling details p{font-size:17px;margin:10px 0 15px}[data-gp-theme="neighbourhood-edit"] .enquiry-section{background:var(--ink);color:var(--paper)}[data-gp-theme="neighbourhood-edit"] .enquiry-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}[data-gp-theme="neighbourhood-edit"] .enquiry-grid>div>p:first-child{font-size:15px;margin-bottom:25px}[data-gp-theme="neighbourhood-edit"] .enquiry-grid h2{margin-bottom:25px}[data-gp-theme="neighbourhood-edit"] .address-note{display:grid;margin-top:40px;font-size:15px;border-top:1px solid currentColor;padding-top:20px}[data-gp-theme="neighbourhood-edit"] .enquiry-grid :is(form,[data-gp-form]){display:grid;gap:20px;padding:30px;background:var(--paper);color:var(--ink)}[data-gp-theme="neighbourhood-edit"] label{display:grid;gap:10px;font-size:16px}[data-gp-theme="neighbourhood-edit"] input,[data-gp-theme="neighbourhood-edit"] select,[data-gp-theme="neighbourhood-edit"] textarea{background:var(--paper);color:var(--ink);border:1px solid var(--line);padding:12px;min-width:0;width:100%;border-radius:0}[data-gp-theme="neighbourhood-edit"] .button{background:var(--ink);color:var(--paper);padding:14px 18px;border:1px solid var(--ink);min-height:50px}[data-gp-theme="neighbourhood-edit"] .small{font-size:14px}[data-gp-theme="neighbourhood-edit"] [data-gp-id="home-result"]{white-space:pre-line;overflow-wrap:anywhere;display:block;font-size:16px;border-left:3px solid var(--ink);background:var(--wash);padding:20px}[data-gp-theme="neighbourhood-edit"] [data-gp-id="home-result"]:empty{display:none}[data-gp-theme="neighbourhood-edit"] .site-footer{padding-block:60px 25px;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:60px}[data-gp-theme="neighbourhood-edit"] .site-footer>div:first-child p{margin-top:25px;font:29px/1.35 var(--display)}[data-gp-theme="neighbourhood-edit"] .site-footer h3{font:600 16px var(--body);margin-bottom:18px}[data-gp-theme="neighbourhood-edit"] .site-footer nav a{display:flex;align-items:center;min-height:44px;font-size:16px}[data-gp-theme="neighbourhood-edit"] .site-footer nav p{font-size:14px;margin-top:20px}[data-gp-theme="neighbourhood-edit"] .footer-bottom{display:flex;justify-content:space-between;gap:24px;padding-top:20px;border-top:1px solid var(--line);grid-column:1/-1;font-size:13px}[data-gp-theme="neighbourhood-edit"] .preloader{background:var(--paper);color:var(--ink);font:26px var(--display)}[data-gp-theme="neighbourhood-edit"] .preloader svg{width:100px;height:100px;display:block;margin:auto auto 20px}[data-gp-theme="neighbourhood-edit"] .mega-menu{width:min(1160px,calc(100% - 48px));background:var(--paper);margin:auto}[data-gp-theme="neighbourhood-edit"] .menu-top{display:flex;align-items:center;justify-content:space-between;padding:22px 35px;border-bottom:2px solid var(--ink);font-size:16px}[data-gp-theme="neighbourhood-edit"] .menu-top :is(button,[role="button"]){background:var(--ink);color:var(--paper);padding:10px 18px;border:0;font-size:15px}[data-gp-theme="neighbourhood-edit"] .atlas-menu{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;padding:35px}[data-gp-theme="neighbourhood-edit"] .menu-map{position:relative;background:var(--wash);padding:35px;isolation:isolate;overflow:hidden}[data-gp-theme="neighbourhood-edit"] .menu-map svg{position:absolute;inset:0;width:100%;height:100%;opacity:.18;z-index:-1}[data-gp-theme="neighbourhood-edit"] .menu-map h2{font-size:52px;margin-bottom:20px}[data-gp-theme="neighbourhood-edit"] .menu-map p{font-size:17px;max-width:30ch}[data-gp-theme="neighbourhood-edit"] .atlas-menu nav a{display:block;padding:17px 0;text-decoration:none;border-bottom:1px solid var(--line)}[data-gp-theme="neighbourhood-edit"] .atlas-menu nav b{font:25px var(--display);display:block}[data-gp-theme="neighbourhood-edit"] .atlas-menu nav span:not(.fs-richtext){font-size:14px;display:block;margin-top:5px}[data-gp-theme="neighbourhood-edit"] .menu-bottom{padding:0 35px 25px;font-size:13px}[data-gp-theme="neighbourhood-edit"] :is(button,[role="button"]){transition:transform 150ms var(--ease-out),opacity 150ms var(--ease-out)}@media(hover:hover) and (pointer:fine){[data-gp-theme="neighbourhood-edit"] .property :is(button,[role="button"]):hover{transform:translateX(3px)}[data-gp-theme="neighbourhood-edit"] .atlas-menu a:hover{text-decoration:underline}}@media(max-width:1000px){[data-gp-theme="neighbourhood-edit"] .site-header nav{display:none}[data-gp-theme="neighbourhood-edit"] .wrap{width:calc(100% - 64px)}[data-gp-theme="neighbourhood-edit"] .opening-heading{gap:25px}[data-gp-theme="neighbourhood-edit"] .opening-heading>p{max-width:24ch}[data-gp-theme="neighbourhood-edit"] .panorama{padding-right:195px}[data-gp-theme="neighbourhood-edit"] .area-index{width:195px;padding:20px}[data-gp-theme="neighbourhood-edit"] .home-finder{gap:15px}[data-gp-theme="neighbourhood-edit"] .property{gap:30px}[data-gp-theme="neighbourhood-edit"] .area-layout,[data-gp-theme="neighbourhood-edit"] .fact-sheet,[data-gp-theme="neighbourhood-edit"] .selling,[data-gp-theme="neighbourhood-edit"] .enquiry-grid{gap:40px}}@containerfs-editor-canvas (max-width: 1000px){[data-gp-theme="neighbourhood-edit"] .site-header nav{display:none}[data-gp-theme="neighbourhood-edit"] .wrap{width:calc(100% - 64px)}[data-gp-theme="neighbourhood-edit"] .opening-heading{gap:25px}[data-gp-theme="neighbourhood-edit"] .opening-heading>p{max-width:24ch}[data-gp-theme="neighbourhood-edit"] .panorama{padding-right:195px}[data-gp-theme="neighbourhood-edit"] .area-index{width:195px;padding:20px}[data-gp-theme="neighbourhood-edit"] .home-finder{gap:15px}[data-gp-theme="neighbourhood-edit"] .property{gap:30px}[data-gp-theme="neighbourhood-edit"] .area-layout,[data-gp-theme="neighbourhood-edit"] .fact-sheet,[data-gp-theme="neighbourhood-edit"] .selling,[data-gp-theme="neighbourhood-edit"] .enquiry-grid{gap:40px}}@media(max-width:650px){[data-gp-theme="neighbourhood-edit"]{font-size:17px}[data-gp-theme="neighbourhood-edit"] .site-header{padding:18px;gap:10px}[data-gp-theme="neighbourhood-edit"] .brand{font-size:25px}[data-gp-theme="neighbourhood-edit"] .brand small{font-size:11px}[data-gp-theme="neighbourhood-edit"] .site-header :is(button,[role="button"]){font-size:12px;padding:9px;gap:6px}[data-gp-theme="neighbourhood-edit"] .site-header :is(button,[role="button"]) svg{width:16px}[data-gp-theme="neighbourhood-edit"] .wrap{width:calc(100% - 36px)}[data-gp-theme="neighbourhood-edit"] .atlas-opening{padding-top:28px}[data-gp-theme="neighbourhood-edit"] .opening-heading{display:block;margin-bottom:25px}[data-gp-theme="neighbourhood-edit"] .opening-heading h1{font-size:47px}[data-gp-theme="neighbourhood-edit"] .opening-heading>p{font-size:16px;margin-top:20px;max-width:none}[data-gp-theme="neighbourhood-edit"] .opening-heading>div>p{font-size:13px;margin-bottom:15px}[data-gp-theme="neighbourhood-edit"] .panorama{padding:0}[data-gp-theme="neighbourhood-edit"] .panorama img{height:260px}[data-gp-theme="neighbourhood-edit"] .panorama figcaption{font-size:11px;gap:10px}[data-gp-theme="neighbourhood-edit"] .panorama figcaption span:not(.fs-richtext):last-child{max-width:12ch;text-align:right}[data-gp-theme="neighbourhood-edit"] .area-index{position:static;width:100%;height:auto;display:grid;grid-template-columns:1fr 1fr;padding:15px 20px;gap:10px 20px}[data-gp-theme="neighbourhood-edit"] .area-index>span:not(.fs-richtext){grid-column:1/-1;padding:0;font-size:12px}[data-gp-theme="neighbourhood-edit"] .area-index :is(button,[role="button"]){min-height:75px;padding:10px 0}[data-gp-theme="neighbourhood-edit"] .area-index b{font-size:24px}[data-gp-theme="neighbourhood-edit"] .area-index small{font-size:11px}[data-gp-theme="neighbourhood-edit"] .area-index>a{grid-column:1/-1;padding-block:5px;font-size:13px}[data-gp-theme="neighbourhood-edit"] .section{padding-block:55px}[data-gp-theme="neighbourhood-edit"] .section-heading{display:block}[data-gp-theme="neighbourhood-edit"] .section-heading h2{font-size:39px}[data-gp-theme="neighbourhood-edit"] .section-heading p{margin-top:20px}[data-gp-theme="neighbourhood-edit"] .home-finder{grid-template-columns:1fr 1fr;gap:15px 10px}[data-gp-theme="neighbourhood-edit"] .home-finder label{font-size:12px}[data-gp-theme="neighbourhood-edit"] .home-finder select{font-size:13px;padding:10px 5px}[data-gp-theme="neighbourhood-edit"] .home-finder output{padding:0;font-size:13px;align-self:center}[data-gp-theme="neighbourhood-edit"] .home-finder :is(button,[role="button"]){justify-self:end}[data-gp-theme="neighbourhood-edit"] .property{grid-template-columns:1fr;gap:20px;padding-bottom:30px}[data-gp-theme="neighbourhood-edit"] .property figure img{height:275px}[data-gp-theme="neighbourhood-edit"] .property h3{font-size:32px}[data-gp-theme="neighbourhood-edit"] .property details{margin-top:15px}[data-gp-theme="neighbourhood-edit"] .area-layout,[data-gp-theme="neighbourhood-edit"] .fact-sheet,[data-gp-theme="neighbourhood-edit"] .selling,[data-gp-theme="neighbourhood-edit"] .enquiry-grid{grid-template-columns:1fr;gap:30px}[data-gp-theme="neighbourhood-edit"] .area-layout img{height:310px}[data-gp-theme="neighbourhood-edit"] [data-gp-id="area-note"]{min-height:110px}[data-gp-theme="neighbourhood-edit"] .area-link{margin-top:5px}[data-gp-theme="neighbourhood-edit"] .fact-notes article:first-child{padding-top:20px}[data-gp-theme="neighbourhood-edit"] .selling{padding-bottom:55px}[data-gp-theme="neighbourhood-edit"] .enquiry-grid :is(form,[data-gp-form]){padding:25px 20px}[data-gp-theme="neighbourhood-edit"] .site-footer{grid-template-columns:1fr 1fr;gap:35px 20px}[data-gp-theme="neighbourhood-edit"] .site-footer>div:first-child{grid-column:1/-1}[data-gp-theme="neighbourhood-edit"] .site-footer nav a{font-size:14px}[data-gp-theme="neighbourhood-edit"] .footer-bottom{display:grid;gap:10px}[data-gp-theme="neighbourhood-edit"] .mega-menu{width:calc(100% - 20px)}[data-gp-theme="neighbourhood-edit"] .menu-top{padding:15px;font-size:13px}[data-gp-theme="neighbourhood-edit"] .atlas-menu{grid-template-columns:1fr;gap:20px;padding:20px}[data-gp-theme="neighbourhood-edit"] .menu-map{padding:25px}[data-gp-theme="neighbourhood-edit"] .menu-map h2{font-size:39px}[data-gp-theme="neighbourhood-edit"] .menu-map p{font-size:15px}[data-gp-theme="neighbourhood-edit"] .atlas-menu nav b{font-size:24px}[data-gp-theme="neighbourhood-edit"] .menu-bottom{padding:0 20px 20px}}@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="neighbourhood-edit"]{font-size:17px}[data-gp-theme="neighbourhood-edit"] .site-header{padding:18px;gap:10px}[data-gp-theme="neighbourhood-edit"] .brand{font-size:25px}[data-gp-theme="neighbourhood-edit"] .brand small{font-size:11px}[data-gp-theme="neighbourhood-edit"] .site-header :is(button,[role="button"]){font-size:12px;padding:9px;gap:6px}[data-gp-theme="neighbourhood-edit"] .site-header :is(button,[role="button"]) svg{width:16px}[data-gp-theme="neighbourhood-edit"] .wrap{width:calc(100% - 36px)}[data-gp-theme="neighbourhood-edit"] .atlas-opening{padding-top:28px}[data-gp-theme="neighbourhood-edit"] .opening-heading{display:block;margin-bottom:25px}[data-gp-theme="neighbourhood-edit"] .opening-heading h1{font-size:47px}[data-gp-theme="neighbourhood-edit"] .opening-heading>p{font-size:16px;margin-top:20px;max-width:none}[data-gp-theme="neighbourhood-edit"] .opening-heading>div>p{font-size:13px;margin-bottom:15px}[data-gp-theme="neighbourhood-edit"] .panorama{padding:0}[data-gp-theme="neighbourhood-edit"] .panorama img{height:260px}[data-gp-theme="neighbourhood-edit"] .panorama figcaption{font-size:11px;gap:10px}[data-gp-theme="neighbourhood-edit"] .panorama figcaption span:not(.fs-richtext):last-child{max-width:12ch;text-align:right}[data-gp-theme="neighbourhood-edit"] .area-index{position:static;width:100%;height:auto;display:grid;grid-template-columns:1fr 1fr;padding:15px 20px;gap:10px 20px}[data-gp-theme="neighbourhood-edit"] .area-index>span:not(.fs-richtext){grid-column:1/-1;padding:0;font-size:12px}[data-gp-theme="neighbourhood-edit"] .area-index :is(button,[role="button"]){min-height:75px;padding:10px 0}[data-gp-theme="neighbourhood-edit"] .area-index b{font-size:24px}[data-gp-theme="neighbourhood-edit"] .area-index small{font-size:11px}[data-gp-theme="neighbourhood-edit"] .area-index>a{grid-column:1/-1;padding-block:5px;font-size:13px}[data-gp-theme="neighbourhood-edit"] .section{padding-block:55px}[data-gp-theme="neighbourhood-edit"] .section-heading{display:block}[data-gp-theme="neighbourhood-edit"] .section-heading h2{font-size:39px}[data-gp-theme="neighbourhood-edit"] .section-heading p{margin-top:20px}[data-gp-theme="neighbourhood-edit"] .home-finder{grid-template-columns:1fr 1fr;gap:15px 10px}[data-gp-theme="neighbourhood-edit"] .home-finder label{font-size:12px}[data-gp-theme="neighbourhood-edit"] .home-finder select{font-size:13px;padding:10px 5px}[data-gp-theme="neighbourhood-edit"] .home-finder output{padding:0;font-size:13px;align-self:center}[data-gp-theme="neighbourhood-edit"] .home-finder :is(button,[role="button"]){justify-self:end}[data-gp-theme="neighbourhood-edit"] .property{grid-template-columns:1fr;gap:20px;padding-bottom:30px}[data-gp-theme="neighbourhood-edit"] .property figure img{height:275px}[data-gp-theme="neighbourhood-edit"] .property h3{font-size:32px}[data-gp-theme="neighbourhood-edit"] .property details{margin-top:15px}[data-gp-theme="neighbourhood-edit"] .area-layout,[data-gp-theme="neighbourhood-edit"] .fact-sheet,[data-gp-theme="neighbourhood-edit"] .selling,[data-gp-theme="neighbourhood-edit"] .enquiry-grid{grid-template-columns:1fr;gap:30px}[data-gp-theme="neighbourhood-edit"] .area-layout img{height:310px}[data-gp-theme="neighbourhood-edit"] [data-gp-id="area-note"]{min-height:110px}[data-gp-theme="neighbourhood-edit"] .area-link{margin-top:5px}[data-gp-theme="neighbourhood-edit"] .fact-notes article:first-child{padding-top:20px}[data-gp-theme="neighbourhood-edit"] .selling{padding-bottom:55px}[data-gp-theme="neighbourhood-edit"] .enquiry-grid :is(form,[data-gp-form]){padding:25px 20px}[data-gp-theme="neighbourhood-edit"] .site-footer{grid-template-columns:1fr 1fr;gap:35px 20px}[data-gp-theme="neighbourhood-edit"] .site-footer>div:first-child{grid-column:1/-1}[data-gp-theme="neighbourhood-edit"] .site-footer nav a{font-size:14px}[data-gp-theme="neighbourhood-edit"] .footer-bottom{display:grid;gap:10px}[data-gp-theme="neighbourhood-edit"] .mega-menu{width:calc(100% - 20px)}[data-gp-theme="neighbourhood-edit"] .menu-top{padding:15px;font-size:13px}[data-gp-theme="neighbourhood-edit"] .atlas-menu{grid-template-columns:1fr;gap:20px;padding:20px}[data-gp-theme="neighbourhood-edit"] .menu-map{padding:25px}[data-gp-theme="neighbourhood-edit"] .menu-map h2{font-size:39px}[data-gp-theme="neighbourhood-edit"] .menu-map p{font-size:15px}[data-gp-theme="neighbourhood-edit"] .atlas-menu nav b{font-size:24px}[data-gp-theme="neighbourhood-edit"] .menu-bottom{padding:0 20px 20px}}

/* Preview chrome and accessibility only. Theme authors own the visual worlds. */
[data-gp-theme="neighbourhood-edit"][data-premium]{color-scheme:light;background:var(--paper);color:var(--ink);accent-color:var(--accent);scrollbar-color:var(--accent) var(--wash)}
[data-gp-theme="neighbourhood-edit"][data-premium][data-mode=dark]{color-scheme:dark}
[data-gp-theme="neighbourhood-edit"][data-premium] ::selection{background:var(--accent);color:var(--on-accent)}
[data-gp-theme="neighbourhood-edit"][data-premium] :is(input,textarea){caret-color:var(--accent)}
[data-gp-theme="neighbourhood-edit"][data-premium] :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--accent);outline-offset:4px}
[data-gp-theme="neighbourhood-edit"][data-premium] :is(input,select,textarea){max-width:100%}
[data-gp-theme="neighbourhood-edit"][data-premium] :is(input,textarea)::placeholder{color:var(--muted);opacity:1}
[data-gp-theme="neighbourhood-edit"][data-premium] .preview-bar{display:flex;flex-wrap:wrap;justify-content:flex-start;background:#f5f5f0;color:#242d2c;border-color:#cbd0c8;gap:8px 14px;position:relative;font:13px/1.3 "Figtree",sans-serif;min-height:52px;padding:6px 3vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="neighbourhood-edit"][data-premium] .preview-bar{padding:6px 3cqw}}
[data-gp-theme="neighbourhood-edit"][data-premium] .preview-bar>a{font-weight:600;min-height:40px;display:flex;align-items:center}
[data-gp-theme="neighbourhood-edit"][data-premium] .preview-bar [role=group]{margin-left:auto;display:flex;gap:2px}
[data-gp-theme="neighbourhood-edit"][data-premium] .preview-bar :is(button,select){font:13px/1.3 "Figtree",sans-serif;min-height:40px;max-width:100%;border-radius:3px}
[data-gp-theme="neighbourhood-edit"][data-premium] .preview-bar select{background:#fff;color:#242d2c;border:1px solid #a2ada4;padding:7px 24px 7px 9px}
[data-gp-theme="neighbourhood-edit"][data-premium] .preview-bar [aria-pressed=true]{background:#242d2c;color:#fff}
[data-gp-theme="neighbourhood-edit"][data-premium] .preview-bar .preview-label{font:12px/1.3 "Figtree",sans-serif;color:#48554f}
[data-gp-theme="neighbourhood-edit"][data-premium] .preview-bar :focus-visible{outline-color:#254fbb}
[data-gp-theme="neighbourhood-edit"][data-premium] .preview-bar [data-replay-intro]{font-size:12px;margin:0}
[data-gp-theme="neighbourhood-edit"][data-premium] .preview-bar [data-replay-intro]::after{content:none}
[data-gp-theme="neighbourhood-edit"][data-premium] .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
[data-gp-theme="neighbourhood-edit"][data-premium] .premium-action{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 22px;background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);text-decoration:none;font-weight:600;transition:transform 150ms var(--ease-out),background-color 150ms var(--ease-out)}
[data-gp-theme="neighbourhood-edit"][data-premium] .premium-action:active{transform:translateY(1px)}
[data-gp-theme="neighbourhood-edit"][data-premium] .premium-action:disabled{opacity:.6;cursor:not-allowed}
[data-gp-theme="neighbourhood-edit"][data-premium] :is(h1,h2,h3){text-wrap:balance}
[data-gp-theme="neighbourhood-edit"][data-premium] p{text-wrap:pretty}
/* Put down the opaque menu surface immediately, then introduce its content. */
[data-gp-theme="neighbourhood-edit"][data-premium] .mega-menu[open]:not([data-closing]){animation:none}
[data-gp-theme="neighbourhood-edit"][data-premium] .mega-menu[open]:not([data-closing])>:not(:first-child){animation:gp-neighbourhood-premium-menu-content 160ms var(--ease-out)}
[data-gp-theme="neighbourhood-edit"][data-premium] .mega-menu[data-keyboard]>:not(:first-child){animation:none!important}
[data-gp-theme="neighbourhood-edit"][data-premium][data-input=keyboard] :is(button,[role="button"]):active{transform:none}
@keyframes gp-neighbourhood-premium-menu-content{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:650px){
 [data-gp-theme="neighbourhood-edit"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="neighbourhood-edit"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="neighbourhood-edit"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="neighbourhood-edit"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="neighbourhood-edit"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="neighbourhood-edit"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="neighbourhood-edit"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="neighbourhood-edit"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@containerfs-editor-canvas (max-width: 650px){
 [data-gp-theme="neighbourhood-edit"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="neighbourhood-edit"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="neighbourhood-edit"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="neighbourhood-edit"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="neighbourhood-edit"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="neighbourhood-edit"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="neighbourhood-edit"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="neighbourhood-edit"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@media(prefers-reduced-motion:reduce){[data-gp-theme="neighbourhood-edit"][data-premium] .premium-action{transition:none;transform:none}}

/* Website page primitives and actual layout modes. Authored theme CSS owns identity. */
[data-gp-theme="neighbourhood-edit"][data-framed=true] .preview-bar,[data-gp-theme="neighbourhood-edit"][data-framed=true] .site-open-preview{display:none!important}
[data-gp-theme="neighbourhood-edit"][data-site]{--ip-paper:var(--paper,#f4f2eb);--ip-ink:var(--ink,#192f2c);--ip-wash:var(--wash,var(--paper,#e6e9df));--ip-accent:var(--accent,var(--rust,#315b50));--ip-on:var(--on-accent,var(--paper,#fff));--ip-muted:var(--muted,var(--ink,#45534d));--ip-line:var(--line,var(--rule,#a1aca5))}
[data-gp-theme="neighbourhood-edit"][data-inside]{background:var(--ip-paper);color:var(--ip-ink);font:18px/1.65 var(--body,"Figtree",sans-serif)}
[data-gp-theme="neighbourhood-edit"] .inside-page :is(h1,h2,h3){font-family:var(--display,inherit);color:inherit;letter-spacing:-.035em;line-height:1.1;font-weight:500;max-width:22ch}
[data-gp-theme="neighbourhood-edit"] .inside-page h1{font-size:clamp(42px,5.3vw,80px);margin:0 0 26px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="neighbourhood-edit"] .inside-page h1{font-size:clamp(42px,5.3cqw,80px)}}[data-gp-theme="neighbourhood-edit"] .inside-page h2{font-size:clamp(30px,3vw,49px);margin:0 0 24px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="neighbourhood-edit"] .inside-page h2{font-size:clamp(30px,3cqw,49px)}}[data-gp-theme="neighbourhood-edit"] .inside-page h3{font-size:25px;margin:0 0 15px}
[data-gp-theme="neighbourhood-edit"] .inside-page :is(p,li){max-width:72ch}[data-gp-theme="neighbourhood-edit"] .inside-page p{margin:0 0 20px}[data-gp-theme="neighbourhood-edit"] .inside-page a{color:inherit}[data-gp-theme="neighbourhood-edit"] .inside-page img{max-width:100%;width:100%;height:100%;object-fit:cover}[data-gp-theme="neighbourhood-edit"] .inside-page figure{margin:0}[data-gp-theme="neighbourhood-edit"] .inside-page :is(button,[role="button"]){color:inherit}
[data-gp-theme="neighbourhood-edit"] .ip-hero,[data-gp-theme="neighbourhood-edit"] .ip-section{width:min(1320px,calc(100% - 96px));margin-inline:auto;padding-block:70px}[data-gp-theme="neighbourhood-edit"] .ip-hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:65px}[data-gp-theme="neighbourhood-edit"] .ip-opening{min-width:0}[data-gp-theme="neighbourhood-edit"] .ip-hero:has(>.ip-opening:only-child){grid-template-columns:1fr}[data-gp-theme="neighbourhood-edit"] .ip-art{height:430px;position:relative}[data-gp-theme="neighbourhood-edit"] .ip-art img{object-fit:cover}[data-gp-theme="neighbourhood-edit"] .ip-art figcaption,[data-gp-theme="neighbourhood-edit"] .ip-caption{font-size:14px;line-height:1.5;color:var(--ip-muted);padding-top:10px}[data-gp-theme="neighbourhood-edit"] .ip-section>.ip-caption{margin-bottom:20px}[data-gp-theme="neighbourhood-edit"] .ip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}[data-gp-theme="neighbourhood-edit"] .ip-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px}[data-gp-theme="neighbourhood-edit"] .ip-card{min-width:0;border-top:1px solid var(--ip-line);padding:25px 0}[data-gp-theme="neighbourhood-edit"] .ip-card figure{height:230px;margin-bottom:25px}[data-gp-theme="neighbourhood-edit"] .ip-reading{width:min(76ch,calc(100% - 48px));margin-inline:auto;padding-block:55px}[data-gp-theme="neighbourhood-edit"] .ip-reading h2{margin-top:40px}[data-gp-theme="neighbourhood-edit"] .ip-ledger{margin:24px 0}[data-gp-theme="neighbourhood-edit"] .ip-ledger>div{display:grid;grid-template-columns:1fr 1.4fr;gap:20px;border-top:1px solid var(--ip-line);padding:15px 0}[data-gp-theme="neighbourhood-edit"] .ip-ledger dt{font-weight:600}[data-gp-theme="neighbourhood-edit"] .ip-ledger dd{margin:0}[data-gp-theme="neighbourhood-edit"] .ip-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border:1px solid var(--ip-accent);background:var(--ip-accent);color:var(--ip-on)!important;text-decoration:none;font-size:16px;transition:transform 150ms var(--ease-out)}[data-gp-theme="neighbourhood-edit"] .ip-action.secondary{background:transparent;color:var(--ip-ink)!important;border-color:var(--ip-line)}[data-gp-theme="neighbourhood-edit"] .ip-band{padding:55px max(24px,calc((100% - 1320px)/2));background:var(--ip-wash);color:var(--ip-ink)}[data-gp-theme="neighbourhood-edit"] .ip-band p{max-width:65ch}[data-gp-theme="neighbourhood-edit"] .ip-note{font-size:15px;border-left:3px solid var(--ip-accent);padding:12px 18px;background:var(--ip-wash);color:var(--ip-ink);margin-block:20px}[data-gp-theme="neighbourhood-edit"] .ip-form{display:grid;gap:22px}[data-gp-theme="neighbourhood-edit"] .ip-form label{display:grid;gap:8px;font-size:16px}[data-gp-theme="neighbourhood-edit"] .ip-form :is(input,textarea,select){width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid var(--ip-line);background:var(--ip-paper);color:var(--ip-ink);font:inherit;border-radius:0}[data-gp-theme="neighbourhood-edit"] .ip-form :is(input,textarea)::placeholder{color:var(--ip-muted);opacity:1}[data-gp-theme="neighbourhood-edit"] .ip-field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}[data-gp-theme="neighbourhood-edit"] .ip-form :is(button,[role="button"]){justify-self:start}[data-gp-theme="neighbourhood-edit"] .ip-form textarea{min-height:135px}[data-gp-theme="neighbourhood-edit"] .inside-page output[data-draft-output]{display:block;white-space:pre-wrap;padding:25px;background:var(--ip-wash);color:var(--ip-ink);border:1px solid var(--ip-line);overflow-wrap:anywhere}[data-gp-theme="neighbourhood-edit"] .ip-checks{display:grid;gap:12px}[data-gp-theme="neighbourhood-edit"] .ip-checks label{display:flex;align-items:start;gap:14px;border-top:1px solid var(--ip-line);padding:16px 0;min-height:52px}[data-gp-theme="neighbourhood-edit"] .ip-checks input{width:22px;height:22px;min-height:22px;flex-shrink:0;margin-top:4px;accent-color:var(--ip-accent)}[data-gp-theme="neighbourhood-edit"] .inside-page details{border-top:1px solid var(--ip-line);padding:18px 0}[data-gp-theme="neighbourhood-edit"] .inside-page summary{min-height:44px;font-size:21px;cursor:pointer}[data-gp-theme="neighbourhood-edit"] .inside-page details p{padding:16px 0 0}[data-gp-theme="neighbourhood-edit"] .inside-page [data-filter-group]>[role=group]{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}[data-gp-theme="neighbourhood-edit"] .inside-page [data-filter]{padding:10px 18px;min-height:44px;background:transparent;color:var(--ip-ink);border:1px solid var(--ip-line)}[data-gp-theme="neighbourhood-edit"] .inside-page [data-filter][aria-pressed=true]{background:var(--ip-accent);color:var(--ip-on)}[data-gp-theme="neighbourhood-edit"] .site-directory{padding:30px!important;background:var(--ip-paper)!important;color:var(--ip-ink)!important;border-top:1px solid var(--ip-line)}[data-gp-theme="neighbourhood-edit"] .site-directory h3{font:600 17px/1.4 var(--body,"Figtree",sans-serif);margin:0 0 16px}[data-gp-theme="neighbourhood-edit"] .site-directory>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 25px}[data-gp-theme="neighbourhood-edit"] .site-directory a{display:block;font:16px/1.5 var(--body,"Figtree",sans-serif)!important;min-height:44px;padding:10px 0!important;color:inherit!important;text-decoration:none}[data-gp-theme="neighbourhood-edit"] .site-directory a[aria-current=page]{text-decoration:underline;font-weight:600!important}[data-gp-theme="neighbourhood-edit"] .site-open-preview{display:block;padding:10px 20px;background:#eef0eb;color:#20322d;font:14px/1.4 "Figtree",sans-serif;text-align:center}
[data-gp-theme="neighbourhood-edit"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){width:100%;padding-inline:max(24px,4vw)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="neighbourhood-edit"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){padding-inline:max(24px,4cqw)}}
[data-gp-theme="neighbourhood-edit"]:has([data-gp-theme="neighbourhood-edit"][data-layout=boxed]){background:#a6afa9}[data-gp-theme="neighbourhood-edit"][data-layout=boxed]{width:min(1200px,calc(100% - 64px));margin-inline:auto;box-shadow:0 0 0 1px #0002,0 20px 70px #0002;min-height:100dvh;background:var(--ip-paper)}
[data-gp-theme="neighbourhood-edit"][data-layout=centered] :is(.ip-hero,.opening,.cake-opening,.gp-title,.book-opening,.poster-opening,.portal-opening,.destination-opening,.route-opening){text-align:center}
[data-gp-theme="neighbourhood-edit"][data-layout=centered] .ip-hero{grid-template-columns:1fr;max-width:1000px;justify-items:center}[data-gp-theme="neighbourhood-edit"][data-layout=centered] .ip-opening{display:grid;justify-items:center}[data-gp-theme="neighbourhood-edit"][data-layout=centered] .ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="neighbourhood-edit"][data-layout=centered] .ip-art{width:min(760px,100%)}
[data-gp-theme="neighbourhood-edit"][data-layout=minimalist] :is(.ip-section,.ip-hero){padding-block:42px}[data-gp-theme="neighbourhood-edit"][data-layout=minimalist] :is(.ip-card,.ip-art,.ip-note){border-radius:0;box-shadow:none;background-image:none}[data-gp-theme="neighbourhood-edit"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5vw,64px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="neighbourhood-edit"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5cqw,64px)}}[data-gp-theme="neighbourhood-edit"][data-layout=minimalist] :is(.mullions,.glaze-rim,.cake-sticker,.paper-corner){opacity:0}[data-gp-theme="neighbourhood-edit"][data-layout=minimalist] :is(.ip-art img,.opening img){border-radius:0}
[data-gp-theme="neighbourhood-edit"][data-layout=edge-hero] .ip-hero{width:100%;padding-inline:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="neighbourhood-edit"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4vw)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="neighbourhood-edit"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4cqw)}}[data-gp-theme="neighbourhood-edit"][data-layout=edge-hero] .ip-art{height:600px}[data-gp-theme="neighbourhood-edit"][data-layout=edge-hero] .ip-art img{border-radius:0}[data-gp-theme="neighbourhood-edit"][data-layout=edge-hero] .ip-art figcaption{padding:8px 20px}
[data-gp-theme="neighbourhood-edit"][data-layout=full-width] .inside-page>.ip-opening{width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="neighbourhood-edit"][data-layout=full-width] .inside-page>.ip-opening{padding-inline:4cqw}}
[data-gp-theme="neighbourhood-edit"][data-layout=centered] .inside-page>.ip-opening{display:flex;flex-direction:column;align-items:center;text-align:center;width:min(1000px,calc(100% - 48px));gap:30px}[data-gp-theme="neighbourhood-edit"][data-layout=centered] .inside-page>.ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="neighbourhood-edit"][data-layout=centered] .inside-page>.ip-opening>figure{width:min(780px,100%)}
[data-gp-theme="neighbourhood-edit"][data-layout=minimalist] .inside-page>.ip-opening{padding-block:38px}[data-gp-theme="neighbourhood-edit"][data-layout=minimalist] .inside-page>.ip-opening :is(h1,figure){box-shadow:none;border-radius:0}
[data-gp-theme="neighbourhood-edit"][data-layout=edge-hero] .inside-page>.ip-opening{width:100%;max-width:none;padding:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="neighbourhood-edit"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="neighbourhood-edit"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4cqw}}[data-gp-theme="neighbourhood-edit"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:600px;max-width:none;align-self:stretch}[data-gp-theme="neighbourhood-edit"][data-layout=edge-hero] .inside-page>.ip-opening>figure img{height:100%;object-fit:cover;border-radius:0}
/* Existing home compositions gain real width/spacing modes without replacing their content. */
[data-gp-theme="neighbourhood-edit"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="neighbourhood-edit"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){padding-inline:4cqw}}
[data-gp-theme="neighbourhood-edit"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child{text-align:center}
[data-gp-theme="neighbourhood-edit"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(h1,p){margin-inline:auto}[data-gp-theme="neighbourhood-edit"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(.opening-copy,.elevation-copy,.cake-copy,.hero-copy){text-align:center}
[data-gp-theme="neighbourhood-edit"][data-layout=minimalist]:not([data-inside]) .gp-source-main>section{padding-block:44px}[data-gp-theme="neighbourhood-edit"][data-layout=minimalist]:not([data-inside]) :is(.hero-sleeve,.calendar,.hello-note,.open-book){box-shadow:none}
[data-gp-theme="neighbourhood-edit"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child{width:100%;max-width:none;margin-inline:0;padding-inline:0;background:var(--ip-wash)}[data-gp-theme="neighbourhood-edit"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="neighbourhood-edit"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4cqw}}[data-gp-theme="neighbourhood-edit"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:600px}
@media(hover:hover) and (pointer:fine){[data-gp-theme="neighbourhood-edit"] .ip-action:hover{transform:translateY(-2px)}[data-gp-theme="neighbourhood-edit"] .site-directory a:hover{text-decoration:underline}}
@media(max-width:850px){[data-gp-theme="neighbourhood-edit"] .ip-hero,[data-gp-theme="neighbourhood-edit"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="neighbourhood-edit"] .ip-hero{gap:30px}[data-gp-theme="neighbourhood-edit"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="neighbourhood-edit"] .ip-two{gap:30px}[data-gp-theme="neighbourhood-edit"] .ip-art{height:340px}}
@containerfs-editor-canvas (max-width: 850px){[data-gp-theme="neighbourhood-edit"] .ip-hero,[data-gp-theme="neighbourhood-edit"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="neighbourhood-edit"] .ip-hero{gap:30px}[data-gp-theme="neighbourhood-edit"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="neighbourhood-edit"] .ip-two{gap:30px}[data-gp-theme="neighbourhood-edit"] .ip-art{height:340px}}
@media(max-width:600px){[data-gp-theme="neighbourhood-edit"] .ip-hero,[data-gp-theme="neighbourhood-edit"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="neighbourhood-edit"] .ip-hero,[data-gp-theme="neighbourhood-edit"] .ip-two,[data-gp-theme="neighbourhood-edit"] .ip-grid,[data-gp-theme="neighbourhood-edit"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="neighbourhood-edit"] .ip-art{height:300px}[data-gp-theme="neighbourhood-edit"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="neighbourhood-edit"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="neighbourhood-edit"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="neighbourhood-edit"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="neighbourhood-edit"] .site-directory{padding:22px!important}[data-gp-theme="neighbourhood-edit"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="neighbourhood-edit"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="neighbourhood-edit"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="neighbourhood-edit"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="neighbourhood-edit"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="neighbourhood-edit"] .ip-hero,[data-gp-theme="neighbourhood-edit"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="neighbourhood-edit"] .ip-hero,[data-gp-theme="neighbourhood-edit"] .ip-two,[data-gp-theme="neighbourhood-edit"] .ip-grid,[data-gp-theme="neighbourhood-edit"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="neighbourhood-edit"] .ip-art{height:300px}[data-gp-theme="neighbourhood-edit"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="neighbourhood-edit"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="neighbourhood-edit"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="neighbourhood-edit"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="neighbourhood-edit"] .site-directory{padding:22px!important}[data-gp-theme="neighbourhood-edit"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="neighbourhood-edit"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="neighbourhood-edit"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="neighbourhood-edit"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="neighbourhood-edit"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@media(max-width:600px){[data-gp-theme="neighbourhood-edit"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="neighbourhood-edit"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="neighbourhood-edit"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="neighbourhood-edit"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="neighbourhood-edit"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="neighbourhood-edit"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
[data-gp-theme="neighbourhood-edit"] .inside-page a[aria-disabled=true]{cursor:default;text-decoration:none}
[data-gp-theme="neighbourhood-edit"][data-layout=edge-hero] .inside-page .ip-hero .ip-art{transform:none}
@media(prefers-reduced-motion:reduce){[data-gp-theme="neighbourhood-edit"] .ip-action{transition:none;transform:none!important}}
/* Task actions always use an explicit contrasting pair, including themed form overrides. */
[data-gp-theme="neighbourhood-edit"][data-site] .inside-page :is(.ip-form :is(button,[role="button"]):is([type="submit"],[data-gp-button-type="submit"]),[data-save-draft],.ip-action:not(.secondary)){
 background:var(--ip-ink)!important;color:var(--ip-paper)!important;border:1px solid var(--ip-ink)!important;
 min-height:48px;padding:12px 22px;font-size:16px;line-height:1.4;
}
[data-gp-theme="neighbourhood-edit"][data-site] .inside-page .ip-action.secondary{background:transparent!important;color:var(--ip-ink)!important;border-color:var(--ip-line)!important}
[data-gp-theme="neighbourhood-edit"][data-site] .inside-page .ip-form :is(select,select option){background-color:var(--ip-paper);color:var(--ip-ink)}
[data-gp-theme="neighbourhood-edit"] .site-plan-label{display:block;font:400 14px/1.45 var(--body,sans-serif);margin-top:6px;text-decoration:none;opacity:1}
[data-gp-theme="neighbourhood-edit"] a[data-preview-plan]{cursor:pointer}[data-gp-theme="neighbourhood-edit"] .inside-page a[data-preview-plan]{text-decoration:none}
[data-gp-theme="neighbourhood-edit"][data-site] .site-directory a[data-preview-plan]{display:flex;flex-direction:column;align-items:flex-start;gap:2px}[data-gp-theme="neighbourhood-edit"] .site-directory .site-plan-label{font-size:13px;margin:0}

[data-gp-theme="neighbourhood-edit"][data-inside] .ip-opening{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:center;margin:0 auto;padding:64px 0 48px;width:min(1280px,calc(100% - 64px));border-bottom:1px solid var(--line,#9a9a91)}

@container fs-editor-canvas (min-width: 0px){

[data-gp-theme="neighbourhood-edit"][data-inside] .ip-opening{gap:clamp(24px,5cqw,80px)}}
[data-gp-theme="neighbourhood-edit"][data-inside] .ip-opening:not(:has(figure)){grid-template-columns:1fr;max-width:1280px}[data-gp-theme="neighbourhood-edit"][data-inside] .ip-opening h1{max-width:16ch;font-size:clamp(42px,6vw,86px);line-height:1.03}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="neighbourhood-edit"][data-inside] .ip-opening h1{font-size:clamp(42px,6cqw,86px)}}
[data-gp-theme="neighbourhood-edit"][data-inside] .ip-folio{font-size:14px;margin-bottom:20px;color:var(--muted,currentColor)}[data-gp-theme="neighbourhood-edit"][data-inside] .ip-deck{max-width:58ch;margin-top:26px;font-size:21px;line-height:1.55}
[data-gp-theme="neighbourhood-edit"][data-inside] .ip-art{margin:0;min-width:0}[data-gp-theme="neighbourhood-edit"][data-inside] .ip-art img{width:100%;height:360px;object-fit:cover}[data-gp-theme="neighbourhood-edit"][data-inside] .ip-art figcaption{font-size:13px;line-height:1.5;padding-top:12px}
[data-gp-theme="neighbourhood-edit"][data-inside] .ip-section{padding:50px 0;margin:auto;width:min(1280px,calc(100% - 64px))}[data-gp-theme="neighbourhood-edit"][data-inside] .ip-section>h2{font-size:clamp(30px,3.6vw,52px);max-width:25ch;margin-bottom:26px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="neighbourhood-edit"][data-inside] .ip-section>h2{font-size:clamp(30px,3.6cqw,52px)}}
[data-gp-theme="neighbourhood-edit"][data-inside] .ip-section>p{max-width:70ch;line-height:1.65;margin:20px 0}[data-gp-theme="neighbourhood-edit"] .ip-essays{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}[data-gp-theme="neighbourhood-edit"] .ip-essays article{border-top:2px solid var(--accent,currentColor);padding-top:22px}[data-gp-theme="neighbourhood-edit"] .ip-essays h3,[data-gp-theme="neighbourhood-edit"] .ip-sequence h3{font-size:26px;margin-bottom:14px}[data-gp-theme="neighbourhood-edit"] .ip-essays p,[data-gp-theme="neighbourhood-edit"] .ip-sequence p{font-size:17px;line-height:1.65}
[data-gp-theme="neighbourhood-edit"] .ip-sequence{list-style:decimal;padding:0 0 0 28px;margin:0;display:grid;gap:26px}[data-gp-theme="neighbourhood-edit"] .ip-sequence li{padding-left:15px;max-width:74ch}[data-gp-theme="neighbourhood-edit"] .ip-sequence li::marker{color:var(--accent,currentColor);font-weight:700}
[data-gp-theme="neighbourhood-edit"] .ip-ledger{margin:22px 0}[data-gp-theme="neighbourhood-edit"] .ip-ledger>div{display:grid;grid-template-columns:1fr 1.6fr;gap:20px;border-top:1px solid var(--line,#999);padding:16px 0}[data-gp-theme="neighbourhood-edit"] .ip-ledger dt{font-weight:600}[data-gp-theme="neighbourhood-edit"] .ip-ledger dd{margin:0;line-height:1.6}[data-gp-theme="neighbourhood-edit"] .ip-action{display:inline-flex;gap:12px;padding:12px 18px;min-height:48px;align-items:center;text-decoration:none;border:1px solid currentColor;background:transparent;color:inherit;font:600 16px/1.4 var(--body,inherit)}
[data-gp-theme="neighbourhood-edit"] .ip-band{width:min(1280px,calc(100% - 64px));margin:30px auto 64px;padding:32px;display:flex;align-items:center;justify-content:space-between;gap:32px;border:1px solid var(--line,#999);background:var(--wash,transparent)}[data-gp-theme="neighbourhood-edit"] .ip-band h2{font-size:34px;margin-bottom:16px}[data-gp-theme="neighbourhood-edit"] .ip-band p{max-width:58ch;font-size:17px}[data-gp-theme="neighbourhood-edit"] .ip-band>.ip-action{flex-shrink:0}
[data-gp-theme="neighbourhood-edit"] .ip-draft{max-width:850px}[data-gp-theme="neighbourhood-edit"] .ip-form{display:grid;grid-template-columns:1fr 1fr;gap:22px}[data-gp-theme="neighbourhood-edit"] .ip-form label{display:grid;gap:9px;font-size:16px;min-width:0}[data-gp-theme="neighbourhood-edit"] .ip-form input,[data-gp-theme="neighbourhood-edit"] .ip-form select,[data-gp-theme="neighbourhood-edit"] .ip-form textarea{width:100%;min-width:0;background:var(--paper,#fff);color:var(--ink,#222);border:1px solid var(--line,#888);padding:12px;font:inherit;border-radius:0}[data-gp-theme="neighbourhood-edit"] .ip-form label:has(textarea),[data-gp-theme="neighbourhood-edit"] .ip-form>.ip-note{grid-column:1/-1}[data-gp-theme="neighbourhood-edit"] .ip-form textarea{min-height:130px}[data-gp-theme="neighbourhood-edit"] .ip-note{font-size:14px;line-height:1.6;max-width:68ch}[data-gp-theme="neighbourhood-edit"] .ip-draft output{display:block;white-space:pre-wrap;padding:24px;margin-top:24px;border:1px solid var(--line,#888);background:var(--wash,transparent)}
[data-gp-theme="neighbourhood-edit"] .ip-checks{max-width:800px}[data-gp-theme="neighbourhood-edit"] .ip-checks label{display:flex;gap:16px;align-items:start;border-bottom:1px solid var(--line,#999);padding:18px 0;line-height:1.55}[data-gp-theme="neighbourhood-edit"] .ip-checks input{width:21px;height:21px;flex-shrink:0;accent-color:var(--accent,currentColor);margin-top:3px}[data-gp-theme="neighbourhood-edit"] .ip-checks output{display:block;margin-top:22px;font-weight:600}
[data-gp-theme="neighbourhood-edit"] .ip-faq{max-width:850px}[data-gp-theme="neighbourhood-edit"] .ip-faq details{border-top:1px solid var(--line,#999);padding:18px 0}[data-gp-theme="neighbourhood-edit"] .ip-faq summary{min-height:44px;cursor:pointer;font-weight:600}[data-gp-theme="neighbourhood-edit"] .ip-faq p{padding:12px 0;line-height:1.7;max-width:72ch}[data-gp-theme="neighbourhood-edit"] .ip-choices{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}[data-gp-theme="neighbourhood-edit"] .ip-choices :is(button,[role="button"]),[data-gp-theme="neighbourhood-edit"] [data-filter]{background:var(--paper,#fff);color:var(--ink,#222);border:1px solid var(--line,#999);padding:12px 18px;font:inherit;min-height:44px;cursor:pointer}[data-gp-theme="neighbourhood-edit"] .ip-choices [aria-pressed=true],[data-gp-theme="neighbourhood-edit"] [data-filter][aria-pressed=true]{outline:2px solid var(--accent,currentColor);outline-offset:3px}[data-gp-theme="neighbourhood-edit"] .ip-notes output{display:block;padding:20px;background:var(--wash,transparent);max-width:72ch;line-height:1.6}
[data-gp-theme="neighbourhood-edit"] .ip-records{display:grid;gap:28px;margin:28px 0}[data-gp-theme="neighbourhood-edit"] .ip-records article{border-top:1px solid var(--line,#999);padding:28px 0;display:grid;grid-template-columns:1fr 1.2fr;gap:32px}[data-gp-theme="neighbourhood-edit"] .ip-records article>img{width:100%;height:290px;object-fit:cover}[data-gp-theme="neighbourhood-edit"] .ip-records h3{font-size:34px;margin-bottom:20px}[data-gp-theme="neighbourhood-edit"] .ip-records p{line-height:1.65;margin:16px 0}[data-gp-theme="neighbourhood-edit"] .ip-records .ip-action{margin-top:16px}[data-gp-theme="neighbourhood-edit"] .ip-detail-record{padding:36px 0;border-top:2px solid var(--accent,currentColor);scroll-margin-top:30px}[data-gp-theme="neighbourhood-edit"] .ip-detail-record>h3{font-size:36px;margin-bottom:22px}[data-gp-theme="neighbourhood-edit"] .ip-detail-record>p{max-width:72ch;line-height:1.7}
[data-gp-theme="neighbourhood-edit"] .ip-reading{max-width:76ch!important;margin-left:auto!important;margin-right:auto!important}[data-gp-theme="neighbourhood-edit"] .ip-reading h3{margin-top:28px}[data-gp-theme="neighbourhood-edit"] .ip-table-scroll{overflow-x:auto}[data-gp-theme="neighbourhood-edit"] .ip-data-table{border-collapse:collapse;width:100%;min-width:650px;font-size:16px}[data-gp-theme="neighbourhood-edit"] .ip-data-table th,[data-gp-theme="neighbourhood-edit"] .ip-data-table td{border:1px solid var(--line,#999);padding:18px;text-align:left;vertical-align:top;line-height:1.6}[data-gp-theme="neighbourhood-edit"] .ip-data-table th{background:var(--wash,transparent)}[data-gp-theme="neighbourhood-edit"] .ip-filter-bar{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}[data-gp-theme="neighbourhood-edit"] .ip-filter-bar output{width:100%;margin:8px 0}
[data-gp-theme="neighbourhood-edit"][data-inside] :is(.ip-action,summary,[data-filter],[data-note-choice],input,select,textarea):focus-visible{outline:3px solid var(--accent,currentColor);outline-offset:4px}[data-gp-theme="neighbourhood-edit"][data-inside] .ip-action:hover{opacity:.85}[data-gp-theme="neighbourhood-edit"][data-inside] .ip-action:active{transform:translateY(1px)}
@media(max-width:700px){[data-gp-theme="neighbourhood-edit"][data-inside] .ip-opening,[data-gp-theme="neighbourhood-edit"][data-inside] .ip-section,[data-gp-theme="neighbourhood-edit"] .ip-band{width:calc(100% - 32px)}[data-gp-theme="neighbourhood-edit"][data-inside] .ip-opening{grid-template-columns:1fr;padding:35px 0;gap:28px}[data-gp-theme="neighbourhood-edit"][data-inside] .ip-opening h1{font-size:45px;max-width:18ch}[data-gp-theme="neighbourhood-edit"][data-inside] .ip-deck{font-size:18px}[data-gp-theme="neighbourhood-edit"][data-inside] .ip-art img{height:300px}[data-gp-theme="neighbourhood-edit"] .ip-essays,[data-gp-theme="neighbourhood-edit"] .ip-form,[data-gp-theme="neighbourhood-edit"] .ip-records article{grid-template-columns:1fr}[data-gp-theme="neighbourhood-edit"] .ip-ledger>div{grid-template-columns:1fr;gap:8px}[data-gp-theme="neighbourhood-edit"] .ip-band{display:block;padding:24px}[data-gp-theme="neighbourhood-edit"] .ip-band>.ip-action{margin-top:22px}[data-gp-theme="neighbourhood-edit"] .ip-section{padding-block:34px}[data-gp-theme="neighbourhood-edit"] .ip-form label:has(textarea),[data-gp-theme="neighbourhood-edit"] .ip-form>.ip-note{grid-column:auto}[data-gp-theme="neighbourhood-edit"] .ip-records article>img{height:250px}}
@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="neighbourhood-edit"][data-inside] .ip-opening,[data-gp-theme="neighbourhood-edit"][data-inside] .ip-section,[data-gp-theme="neighbourhood-edit"] .ip-band{width:calc(100% - 32px)}[data-gp-theme="neighbourhood-edit"][data-inside] .ip-opening{grid-template-columns:1fr;padding:35px 0;gap:28px}[data-gp-theme="neighbourhood-edit"][data-inside] .ip-opening h1{font-size:45px;max-width:18ch}[data-gp-theme="neighbourhood-edit"][data-inside] .ip-deck{font-size:18px}[data-gp-theme="neighbourhood-edit"][data-inside] .ip-art img{height:300px}[data-gp-theme="neighbourhood-edit"] .ip-essays,[data-gp-theme="neighbourhood-edit"] .ip-form,[data-gp-theme="neighbourhood-edit"] .ip-records article{grid-template-columns:1fr}[data-gp-theme="neighbourhood-edit"] .ip-ledger>div{grid-template-columns:1fr;gap:8px}[data-gp-theme="neighbourhood-edit"] .ip-band{display:block;padding:24px}[data-gp-theme="neighbourhood-edit"] .ip-band>.ip-action{margin-top:22px}[data-gp-theme="neighbourhood-edit"] .ip-section{padding-block:34px}[data-gp-theme="neighbourhood-edit"] .ip-form label:has(textarea),[data-gp-theme="neighbourhood-edit"] .ip-form>.ip-note{grid-column:auto}[data-gp-theme="neighbourhood-edit"] .ip-records article>img{height:250px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="neighbourhood-edit"][data-inside] .ip-action:active{transform:none}}
[data-gp-theme="neighbourhood-edit"][data-inside] .ip-atlas-opening{border-top:1px solid var(--accent);position:relative}[data-gp-theme="neighbourhood-edit"][data-inside] .ip-atlas-opening .ip-art img{height:400px}[data-gp-theme="neighbourhood-edit"][data-inside] .ip-file-index{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:35px}[data-gp-theme="neighbourhood-edit"][data-inside] .ip-detail-record .ip-two{display:grid;grid-template-columns:1fr 1fr;gap:40px}[data-gp-theme="neighbourhood-edit"][data-inside] .ip-detail-record .ip-ledger{font-size:16px}[data-gp-theme="neighbourhood-edit"][data-inside] .ip-reading{border-left:3px solid var(--accent);padding-left:28px}[data-gp-theme="neighbourhood-edit"][data-inside] .ip-essays article{border-top:1px solid var(--accent);position:relative}[data-gp-theme="neighbourhood-edit"][data-inside] .ip-records article{border-top:3px solid var(--accent)}@media(max-width:700px){[data-gp-theme="neighbourhood-edit"][data-inside] .ip-detail-record .ip-two{grid-template-columns:1fr;gap:20px}[data-gp-theme="neighbourhood-edit"][data-inside] .ip-atlas-opening .ip-art img{height:300px}}@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="neighbourhood-edit"][data-inside] .ip-detail-record .ip-two{grid-template-columns:1fr;gap:20px}[data-gp-theme="neighbourhood-edit"][data-inside] .ip-atlas-opening .ip-art img{height:300px}}


/* Owner selected alternative on 18 October 2026. Main heading roles only. */
[data-gp-theme="neighbourhood-edit"][data-gp-kind="section"] h1{font-family:"Newsreader", serif!important;font-weight:550!important;letter-spacing:-0.015em!important;line-height:1.12!important;font-variation-settings:normal!important;font-optical-sizing:auto!important}
[data-gp-theme="neighbourhood-edit"][data-gp-kind="section"] h2{font-family:"Public Sans", sans-serif!important;font-weight:600!important;letter-spacing:-.01em!important;line-height:1.17!important;font-variation-settings:normal!important;font-optical-sizing:auto!important}
[data-gp-theme="neighbourhood-edit"][data-gp-kind="section"] h3{font-family:"Public Sans", sans-serif!important;font-weight:600!important;letter-spacing:0!important;line-height:1.25!important;font-variation-settings:normal!important}
[data-gp-theme="neighbourhood-edit"][data-inside][data-gp-kind="section"] h1{font-family:"Newsreader", serif!important;line-height:1.14!important;letter-spacing:-.012em!important;font-weight:550!important;text-transform:none!important}
@media(max-width:650px){[data-gp-theme="neighbourhood-edit"][data-gp-kind="section"] h1{line-height:1.12!important;letter-spacing:-0.015em!important}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="neighbourhood-edit"][data-gp-kind="section"] h1{line-height:1.12!important;letter-spacing:-0.015em!important}}


[data-gp-theme="neighbourhood-edit"] .ux-study{padding:75px 0;background:var(--paper);color:var(--ink);border-block:1px solid var(--line);isolation:isolate}[data-gp-theme="neighbourhood-edit"] .ux-shell{width:min(1280px,calc(100% - 80px));margin:auto}[data-gp-theme="neighbourhood-edit"] .ux-title{display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:35px}[data-gp-theme="neighbourhood-edit"] .ux-title h2{font-size:clamp(32px,4vw,52px);line-height:1.12;max-width:18ch;margin:0}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="neighbourhood-edit"] .ux-title h2{font-size:clamp(32px,4cqw,52px)}}[data-gp-theme="neighbourhood-edit"] .ux-title p{max-width:43ch;font-size:17px;margin:0}[data-gp-theme="neighbourhood-edit"] .ux-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:35px;align-items:start}[data-gp-theme="neighbourhood-edit"] .ux-study :is(h3,p,figure){margin:0}[data-gp-theme="neighbourhood-edit"] .ux-study h3{font-size:25px;line-height:1.22;margin-bottom:14px}[data-gp-theme="neighbourhood-edit"] .ux-study p{max-width:66ch}[data-gp-theme="neighbourhood-edit"] .ux-art{background:var(--wash);overflow:hidden;position:relative;margin:0;min-width:0}[data-gp-theme="neighbourhood-edit"] .ux-art svg{display:block;width:100%;height:auto;aspect-ratio:1.35;max-height:580px}[data-gp-theme="neighbourhood-edit"] .ux-art img{width:100%;height:100%;display:block;object-fit:cover}[data-gp-theme="neighbourhood-edit"] .ux-art figcaption{padding:12px 18px;font-size:14px;color:var(--ink);background:var(--wash)}[data-gp-theme="neighbourhood-edit"] .ux-study fieldset{border:0;padding:0;margin:0 0 24px;min-width:0}[data-gp-theme="neighbourhood-edit"] .ux-study legend{font-size:15px;margin-bottom:10px;font-weight:600;padding:0}[data-gp-theme="neighbourhood-edit"] .ux-choices{display:flex;flex-wrap:wrap;gap:8px}[data-gp-theme="neighbourhood-edit"] .ux-study :is(button,[role="button"]){font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);padding:11px 15px;min-height:46px;cursor:pointer;line-height:1.3;min-width:0;text-align:left}[data-gp-theme="neighbourhood-edit"] .ux-study :is(button,[role="button"])[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}[data-gp-theme="neighbourhood-edit"] .ux-study :is(button,a,input):focus-visible{outline:3px solid var(--ink);outline-offset:4px}[data-gp-theme="neighbourhood-edit"] .ux-study :is(button,[role="button"]):active{transform:translateY(1px)}[data-gp-theme="neighbourhood-edit"] .ux-text{min-height:105px;padding-top:20px;border-top:1px solid var(--line)}[data-gp-theme="neighbourhood-edit"] .ux-text p{font-size:17px;line-height:1.6}[data-gp-theme="neighbourhood-edit"] .ux-foot{display:flex;gap:25px;justify-content:space-between;align-items:start;margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}[data-gp-theme="neighbourhood-edit"] .ux-foot p{font-size:14px;max-width:60ch}[data-gp-theme="neighbourhood-edit"] .ux-link{display:inline-flex;align-items:center;min-height:46px;border-bottom:1px solid currentColor;font-size:17px;text-decoration:none;flex-shrink:0}[data-gp-theme="neighbourhood-edit"] .ux-selection{padding:14px 0;margin-top:22px;font-size:16px;min-height:53px;border-block:1px solid var(--line)}[data-gp-theme="neighbourhood-edit"] .ux-summary{background:var(--wash);padding:30px;margin:30px auto;max-width:1280px;color:var(--ink);border-block:1px solid var(--line)}[data-gp-theme="neighbourhood-edit"] .ux-summary h2{font-size:30px;margin:0 0 12px}[data-gp-theme="neighbourhood-edit"] .ux-summary p{margin:0 0 12px}[data-gp-theme="neighbourhood-edit"] .ux-summary .ux-link{margin-top:10px}[data-gp-theme="neighbourhood-edit"] .ux-stage-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:20px}[data-gp-theme="neighbourhood-edit"] .ux-stage-bar :is(button,[role="button"]){display:grid;gap:8px}[data-gp-theme="neighbourhood-edit"] .ux-stage-bar :is(button,[role="button"]) small{font-size:13px}[data-gp-theme="neighbourhood-edit"] .ux-joint-diagram{background:#29322c;color:#f3f0dc}[data-gp-theme="neighbourhood-edit"] .ux-joint-diagram svg{aspect-ratio:1.35}[data-gp-theme="neighbourhood-edit"] .ux-joint-diagram figcaption{background:#29322c;color:#f3f0dc}[data-gp-theme="neighbourhood-edit"] .ux-joint-diagram .ux-prep,[data-gp-theme="neighbourhood-edit"] .ux-joint-diagram .ux-setting,[data-gp-theme="neighbourhood-edit"] .ux-joint-diagram .ux-finish{opacity:.14;transition:opacity 180ms cubic-bezier(.23,1,.32,1)}[data-gp-theme="neighbourhood-edit"] .ux-joint-diagram[data-stage="prepare"] .ux-prep,[data-gp-theme="neighbourhood-edit"] .ux-joint-diagram[data-stage="install"] :is(.ux-prep,.ux-setting),[data-gp-theme="neighbourhood-edit"] .ux-joint-diagram[data-stage="finish"] :is(.ux-prep,.ux-setting,.ux-finish){opacity:1}[data-gp-theme="neighbourhood-edit"] .ux-joint-note{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding:25px 0;margin-top:20px;border-top:1px solid var(--line)}[data-gp-theme="neighbourhood-edit"] .ux-joint-note p{font-size:16px}[data-gp-theme="neighbourhood-edit"] .ux-home-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}[data-gp-theme="neighbourhood-edit"] .ux-plan{aspect-ratio:.95;position:relative;background:#e7e9dd;color:#193b77;padding:25px}[data-gp-theme="neighbourhood-edit"] .ux-plan-header{display:flex;justify-content:space-between;font-size:13px;margin-bottom:20px}[data-gp-theme="neighbourhood-edit"] .ux-plan-rooms{height:77%;display:grid;grid-template-columns:1.1fr 1fr;grid-template-rows:1fr 1.1fr .65fr;gap:6px;border:5px double #193b77;padding:7px;position:relative}[data-gp-theme="neighbourhood-edit"] .ux-plan-rooms:after{content:"";position:absolute;bottom:-8px;left:30%;width:45px;height:12px;background:#e7e9dd;border:1px solid #193b77;pointer-events:none}[data-gp-theme="neighbourhood-edit"] .ux-plan-rooms :is(button,[role="button"]){background:#f5f3ea;border:1px solid #193b77;color:#193b77;display:flex;align-items:center;justify-content:center;text-align:center;padding:10px}[data-gp-theme="neighbourhood-edit"] .ux-plan-rooms :is(button,[role="button"])[data-room=garden]{grid-column:1/-1;background:repeating-linear-gradient(45deg,#d1dbc9 0 10px,#dce4d5 10px 11px)}[data-gp-theme="neighbourhood-edit"] .ux-plan-rooms :is(button,[role="button"])[aria-pressed=true]{background:#193b77;color:#f5f3ea}[data-gp-theme="neighbourhood-edit"] .ux-room-view{display:flex;flex-direction:column;gap:18px}[data-gp-theme="neighbourhood-edit"] .ux-room-view figure{aspect-ratio:1.55;background:#efe5d1;overflow:hidden}[data-gp-theme="neighbourhood-edit"] .ux-room-view img{object-fit:cover}[data-gp-theme="neighbourhood-edit"] .ux-room-view .ux-text{min-height:116px}[data-gp-theme="neighbourhood-edit"] .ux-room-title{display:flex;justify-content:space-between;gap:15px;align-items:center}[data-gp-theme="neighbourhood-edit"] .ux-room-title span:not(.fs-richtext){font-size:14px}[data-gp-theme="neighbourhood-edit"] .ux-study .ux-toggle{margin-top:16px}[data-gp-theme="neighbourhood-edit"] .ux-cake-display{--sponge:#e5b66d;--filling:#ad435b;--icing:#fff4db;background:#fff4db;color:#602b3e}[data-gp-theme="neighbourhood-edit"] .ux-cake-display[data-flavour=chocolate]{--sponge:#79503a;--filling:#422f28;--icing:#b88c65}[data-gp-theme="neighbourhood-edit"] .ux-cake-display[data-flavour=lemon]{--sponge:#dfbf68;--filling:#d4a93c;--icing:#fff4cb}[data-gp-theme="neighbourhood-edit"] .ux-cake-display .ux-sponge{fill:var(--sponge)}[data-gp-theme="neighbourhood-edit"] .ux-cake-display .ux-filling{fill:var(--filling)}[data-gp-theme="neighbourhood-edit"] .ux-cake-display .ux-icing{fill:var(--icing)}[data-gp-theme="neighbourhood-edit"] .ux-cake-display .ux-piping,[data-gp-theme="neighbourhood-edit"] .ux-cake-display .ux-ribbon{display:none}[data-gp-theme="neighbourhood-edit"] .ux-cake-display[data-finish=piped] .ux-piping,[data-gp-theme="neighbourhood-edit"] .ux-cake-display[data-finish=ribbon] .ux-ribbon{display:block}[data-gp-theme="neighbourhood-edit"] .ux-cake-display svg{aspect-ratio:1.333}[data-gp-theme="neighbourhood-edit"] .ux-cake-controls label{display:grid;gap:9px;font-size:15px;margin:10px 0 24px}[data-gp-theme="neighbourhood-edit"] .ux-cake-controls input{width:100%;min-height:46px;font:inherit;background:var(--paper);color:var(--ink);border:1px solid var(--line);padding:12px;box-sizing:border-box}[data-gp-theme="neighbourhood-edit"] .ux-serving{display:grid;grid-template-columns:.8fr 1.2fr;gap:25px;margin-top:32px;border-top:1px solid var(--line);padding-top:25px}[data-gp-theme="neighbourhood-edit"] .ux-serving-plates{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;align-content:center;min-height:105px}[data-gp-theme="neighbourhood-edit"] .ux-serving-plates span:not(.fs-richtext){border:1px solid var(--ink);aspect-ratio:1;border-radius:50%;position:relative;background:var(--wash)}[data-gp-theme="neighbourhood-edit"] .ux-serving-plates span:not(.fs-richtext):after{content:"";position:absolute;left:28%;top:24%;width:42%;height:42%;background:#e4bd77;border-bottom:4px solid #ad435b;transform:rotate(-10deg)}[data-gp-theme="neighbourhood-edit"] .ux-serving-plates[data-serving=dessert]{grid-template-columns:repeat(4,1fr)}[data-gp-theme="neighbourhood-edit"] .ux-serving-plates[data-serving=dessert] span:not(.fs-richtext):nth-child(n+9){display:none}[data-gp-theme="neighbourhood-edit"] .ux-v-grid{grid-template-columns:minmax(0,1.7fr) minmax(0,.8fr);gap:35px}[data-gp-theme="neighbourhood-edit"] .ux-v-wide{aspect-ratio:1.65;position:relative;overflow:hidden;background:#223139}[data-gp-theme="neighbourhood-edit"] .ux-v-wide>img{height:100%;object-fit:cover}[data-gp-theme="neighbourhood-edit"] .ux-v-marker{position:absolute;background:#f5f0e2;color:#26363b;border:1px solid #26363b;padding:5px 12px;font-size:13px;left:6%;bottom:9%}[data-gp-theme="neighbourhood-edit"] .ux-v-detail{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:25px;align-items:center}[data-gp-theme="neighbourhood-edit"] .ux-v-detail figure{height:180px;overflow:hidden;background:#223139}[data-gp-theme="neighbourhood-edit"] .ux-v-nav{display:grid;gap:0;border-top:1px solid var(--line)}[data-gp-theme="neighbourhood-edit"] .ux-v-nav :is(button,[role="button"]){border:0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 12px}[data-gp-theme="neighbourhood-edit"] .ux-v-nav :is(button,[role="button"]) span:not(.fs-richtext){font-size:13px}[data-gp-theme="neighbourhood-edit"] .ux-v-nav :is(button,[role="button"])[aria-pressed=true]{background:var(--wash);color:var(--ink);box-shadow:inset 0 -2px currentColor}[data-gp-theme="neighbourhood-edit"] .ux-v-nav :is(button,[role="button"]):after{content:"";width:7px;height:7px;border-right:1px solid currentColor;border-top:1px solid currentColor;transform:rotate(45deg)}[data-gp-theme="neighbourhood-edit"] .ux-v-controls .ux-text{margin-top:28px;min-height:150px}[data-gp-theme="neighbourhood-edit"] .ux-v-light{position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 40%,#fff5 50%,transparent 60%);opacity:0}[data-gp-theme="neighbourhood-edit"] .ux-study [hidden]{display:none!important}@media(max-width:800px){[data-gp-theme="neighbourhood-edit"] .ux-shell{width:calc(100% - 40px)}[data-gp-theme="neighbourhood-edit"] .ux-grid,[data-gp-theme="neighbourhood-edit"] .ux-home-grid,[data-gp-theme="neighbourhood-edit"] .ux-v-grid{grid-template-columns:minmax(0,1fr);gap:25px}[data-gp-theme="neighbourhood-edit"] .ux-grid>*{min-width:0}[data-gp-theme="neighbourhood-edit"] .ux-room-title{flex-wrap:wrap}[data-gp-theme="neighbourhood-edit"] .ux-title{display:block}[data-gp-theme="neighbourhood-edit"] .ux-title p{margin-top:18px;max-width:60ch}[data-gp-theme="neighbourhood-edit"] .ux-plan{aspect-ratio:auto;height:360px;min-height:0}[data-gp-theme="neighbourhood-edit"] .ux-plan-rooms{height:78%}[data-gp-theme="neighbourhood-edit"] .ux-cake-display svg{max-height:490px}[data-gp-theme="neighbourhood-edit"] .ux-stage-bar{grid-template-columns:1fr 1fr}[data-gp-theme="neighbourhood-edit"] .ux-foot{flex-direction:column;gap:15px}[data-gp-theme="neighbourhood-edit"] .ux-study{padding:50px 0}[data-gp-theme="neighbourhood-edit"] .ux-summary{margin-inline:20px;padding:22px}[data-gp-theme="neighbourhood-edit"] .ux-v-controls .ux-text{min-height:105px}[data-gp-theme="neighbourhood-edit"] .ux-v-nav{grid-template-columns:repeat(3,minmax(0,1fr))}[data-gp-theme="neighbourhood-edit"] .ux-v-nav :is(button,[role="button"]){padding:12px 8px;display:grid;font-size:15px}[data-gp-theme="neighbourhood-edit"] .ux-v-nav :is(button,[role="button"]):after{display:none}[data-gp-theme="neighbourhood-edit"] .ux-v-detail{gap:18px}[data-gp-theme="neighbourhood-edit"] .ux-v-detail figure{height:150px}[data-gp-theme="neighbourhood-edit"] .ux-serving{grid-template-columns:1fr}[data-gp-theme="neighbourhood-edit"] .ux-joint-note{grid-template-columns:1fr;gap:15px}}@containerfs-editor-canvas (max-width: 800px){[data-gp-theme="neighbourhood-edit"] .ux-shell{width:calc(100% - 40px)}[data-gp-theme="neighbourhood-edit"] .ux-grid,[data-gp-theme="neighbourhood-edit"] .ux-home-grid,[data-gp-theme="neighbourhood-edit"] .ux-v-grid{grid-template-columns:minmax(0,1fr);gap:25px}[data-gp-theme="neighbourhood-edit"] .ux-grid>*{min-width:0}[data-gp-theme="neighbourhood-edit"] .ux-room-title{flex-wrap:wrap}[data-gp-theme="neighbourhood-edit"] .ux-title{display:block}[data-gp-theme="neighbourhood-edit"] .ux-title p{margin-top:18px;max-width:60ch}[data-gp-theme="neighbourhood-edit"] .ux-plan{aspect-ratio:auto;height:360px;min-height:0}[data-gp-theme="neighbourhood-edit"] .ux-plan-rooms{height:78%}[data-gp-theme="neighbourhood-edit"] .ux-cake-display svg{max-height:490px}[data-gp-theme="neighbourhood-edit"] .ux-stage-bar{grid-template-columns:1fr 1fr}[data-gp-theme="neighbourhood-edit"] .ux-foot{flex-direction:column;gap:15px}[data-gp-theme="neighbourhood-edit"] .ux-study{padding:50px 0}[data-gp-theme="neighbourhood-edit"] .ux-summary{margin-inline:20px;padding:22px}[data-gp-theme="neighbourhood-edit"] .ux-v-controls .ux-text{min-height:105px}[data-gp-theme="neighbourhood-edit"] .ux-v-nav{grid-template-columns:repeat(3,minmax(0,1fr))}[data-gp-theme="neighbourhood-edit"] .ux-v-nav :is(button,[role="button"]){padding:12px 8px;display:grid;font-size:15px}[data-gp-theme="neighbourhood-edit"] .ux-v-nav :is(button,[role="button"]):after{display:none}[data-gp-theme="neighbourhood-edit"] .ux-v-detail{gap:18px}[data-gp-theme="neighbourhood-edit"] .ux-v-detail figure{height:150px}[data-gp-theme="neighbourhood-edit"] .ux-serving{grid-template-columns:1fr}[data-gp-theme="neighbourhood-edit"] .ux-joint-note{grid-template-columns:1fr;gap:15px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="neighbourhood-edit"] .ux-study *{transition:none!important}[data-gp-theme="neighbourhood-edit"] .ux-study :is(button,[role="button"]):active{transform:none}}

/* Approved readability refinements, 18 October 2026.
   Only meaningful helpers, local groups and selected reading paragraphs.
   Owner-selected type families, display sizes and frozen comparisons stay authoritative. */

/* Kiln House: the brief promise and sample guidance are part of the task. */
[data-gp-theme="neighbourhood-edit"][data-site="kiln-house"] :is(.field-note,.form-note,.pairing-hint,.material-note,.light-note,.letter-note,.combination-copy small,.material-row small){font-size:14px;line-height:1.5}
[data-gp-theme="neighbourhood-edit"][data-site="kiln-house"] .form-note{margin-top:16px}
[data-gp-theme="neighbourhood-edit"][data-site="kiln-house"] :is(.quiet-button,.combination-action){font-size:15px;line-height:1.5}
[data-gp-theme="neighbourhood-edit"][data-site="kiln-house"] .quiet-button{min-height:44px}
[data-gp-theme="neighbourhood-edit"][data-site="kiln-house"] .directory-links a small{font-size:14px;line-height:1.5}

/* Small study labels explain a choice, rather than acting as an imprint. */
[data-gp-theme="neighbourhood-edit"][data-site="true-joint"] .ux-stage-bar :is(button,[role="button"]) small{font-size:14px;line-height:1.5}
[data-gp-theme="neighbourhood-edit"][data-site="neighbourhood-edit"] .ux-plan-header{font-size:14px;line-height:1.5;gap:12px;flex-wrap:wrap}
[data-gp-theme="neighbourhood-edit"][data-site="neighbourhood-edit"] .ux-room-title{margin-bottom:16px}
[data-gp-theme="neighbourhood-edit"][data-site="neighbourhood-edit"] .ux-room-title h3{margin-bottom:0}
[data-gp-theme="neighbourhood-edit"][data-site="neighbourhood-edit"] :is(.home-finder label,.home-finder output,.area-index small){font-size:14px;line-height:1.5}
[data-gp-theme="neighbourhood-edit"][data-site="neighbourhood-edit"] .home-finder select{font-size:16px;min-height:44px}
[data-gp-theme="neighbourhood-edit"][data-site="harbour"] .ux-folio .ux-document-row label{font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="neighbourhood-edit"][data-site="daymark-window-care"] .dm-sheet-head{font-size:14px;line-height:1.5;flex-wrap:wrap}
[data-gp-theme="neighbourhood-edit"][data-site="velum-window-care"] .ux-v-nav :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}

/* Existing small controls retain or gain the comfortable target height. */
[data-gp-theme="neighbourhood-edit"][data-site="stem-and-still"] .stem-slip :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:48px;gap:8px}
[data-gp-theme="neighbourhood-edit"][data-site="cake-box"] .flavour-pick :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="neighbourhood-edit"][data-site="cake-box"] .message-label small{font-size:14px;line-height:1.5}
[data-gp-theme="neighbourhood-edit"][data-site="crm-recruitment-people"] .question-buttons{gap:10px}
[data-gp-theme="neighbourhood-edit"][data-site="crm-recruitment-people"] .question-buttons :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:10px 12px}
[data-gp-theme="neighbourhood-edit"][data-site="the-second-set-programme"] .pr-order-actions :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:8px 10px}

/* The format facts belong with the large ensemble names. */
[data-gp-theme="neighbourhood-edit"][data-site="the-second-set-afterglow"] .ag-format-ribbon span:not(.fs-richtext){font-size:14px;line-height:1.5;margin-top:8px}
[data-gp-theme="neighbourhood-edit"][data-site="the-second-set-programme"] .opening-note{font-size:14px;line-height:1.5}
[data-gp-theme="neighbourhood-edit"][data-site="the-second-set-signal"] .form-note{font-size:14px;line-height:1.5}

/* Slipstream: useful record, filter and brief text; preserve the scrollable comparison. */
[data-gp-theme="neighbourhood-edit"][data-site="slipstream"] :is(.featured-price small,.rail-note,.stock-finder label,.stock-caption,.inspection-note,.inspection-instruction,.form-note,[data-gp-id="stock-count"],[data-gp-id="form-question-count"]){font-size:14px;line-height:1.5}
[data-gp-theme="neighbourhood-edit"][data-site="slipstream"] :is(.visit-form label,.form-pair label){font-size:15px;line-height:1.5}
[data-gp-theme="neighbourhood-edit"][data-site="slipstream"] :is(.car-record summary,[data-gp-id="reset-stock"],[data-gp-id="clear-compare"],.quick-compare button){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="neighbourhood-edit"][data-site="slipstream"] .stock-finder select{min-height:44px}

/* Narrow only sustained paragraphs, preserving plans, records, lists and tables. */
[data-gp-theme="neighbourhood-edit"]:is([data-site="stem-and-still"],[data-site="kiln-house"],[data-site="true-joint"])[data-inside] .ip-reading>p{max-width:64ch}

@media(max-width:700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="neighbourhood-edit"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="neighbourhood-edit"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="neighbourhood-edit"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="neighbourhood-edit"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="neighbourhood-edit"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="neighbourhood-edit"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="neighbourhood-edit"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="neighbourhood-edit"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="neighbourhood-edit"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

@containerfs-editor-canvas (max-width: 700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="neighbourhood-edit"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="neighbourhood-edit"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="neighbourhood-edit"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="neighbourhood-edit"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="neighbourhood-edit"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="neighbourhood-edit"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="neighbourhood-edit"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="neighbourhood-edit"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="neighbourhood-edit"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

/* No generic heading, body, section-spacing or panel-height reset.
   Goodpane's unused calendar CSS, Expedition's real stage envelope,
   Starlight's passage leading and Velum's display introduction need no blanket fix. */

/* Menu-only reset. Shapes and composition are authored separately below. */
[data-gp-theme="neighbourhood-edit"] dialog[data-gp-id="mega-menu"].mega-menu{--mi-paper:var(--paper);--mi-ink:var(--ink);--mi-wash:var(--wash,var(--paper));--mi-line:var(--line);--mi-accent:var(--accent,var(--ink));position:fixed;inset:auto;margin:0;padding:0;min-width:0;min-height:0;max-width:none;max-height:none;border:0;border-radius:0;background:var(--mi-paper);color:var(--mi-ink);box-shadow:0 22px 90px #0004;font:16px/1.5 var(--body,sans-serif);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:auto;transform:none}
[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"][open]{display:block;animation:none}
[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"][open]:not([data-closing])>:not(.mi-bar){animation:gp-neighbourhood-mi-arrive 180ms ease-out both}
[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"][data-closing]{animation:gp-neighbourhood-mi-leave 160ms ease-in both}
[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"]::backdrop{background:#0007;backdrop-filter:blur(3px)}
[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] *,[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] *::before,[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] *::after{box-sizing:border-box}
[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] :is(h2,h3,p,figure){margin:0;max-width:none}
[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] h2{font-family:var(--mi-display,var(--display,serif));font-weight:500;line-height:1.1;letter-spacing:-.025em;text-transform:none}
[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] h3{font:600 19px/1.25 var(--body,sans-serif);letter-spacing:0;text-transform:none}
[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] a{color:inherit;text-decoration:none;min-height:44px;transition:background-color 160ms,color 160ms;text-transform:none;letter-spacing:0}
[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] a:hover{text-decoration:underline;text-underline-offset:5px}
[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] a:focus-visible,[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] :is(button,[role="button"]):focus-visible{outline:2px solid currentColor;outline-offset:4px}
[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] small{font:400 13px/1.5 var(--body,sans-serif);letter-spacing:0;text-transform:none}
[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] .mi-bar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:0;padding:16px 28px;border-bottom:1px solid var(--mi-line);background:var(--mi-paper);color:var(--mi-ink);font:500 15px/1.3 var(--body,sans-serif)}
[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] .mi-bar a{display:flex;align-items:center;font:inherit;max-width:70%}
[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] [data-menu-close]{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:64px;margin:0;padding:9px 12px;border:1px solid var(--mi-line);border-radius:0;background:var(--mi-paper);color:var(--mi-ink);font:500 14px/1.3 var(--body,sans-serif);cursor:pointer;flex:none}
[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] .mi-note{font:400 12px/1.5 var(--body,sans-serif);color:var(--mi-ink)}
@keyframes gp-neighbourhood-mi-arrive{from{opacity:0}to{opacity:1}}@keyframes gp-neighbourhood-mi-leave{to{opacity:0}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"][open],[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"][data-closing],[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"][open]>:not(.mi-bar){animation:none}[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] a{transition:none}}

[data-gp-theme="neighbourhood-edit"] dialog[data-gp-id="mega-menu"].mega-menu{--mi-display:"Newsreader",serif;inset:5vh 4vw auto;width:92vw;max-height:90dvh;border:2px solid var(--mi-ink)}

@container fs-editor-canvas (min-width: 0px){

[data-gp-theme="neighbourhood-edit"] dialog[data-gp-id="mega-menu"].mega-menu{inset:5vh 4cqw auto;width:92cqw}}
[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] .mi-street-title{display:flex;align-items:end;justify-content:space-between;gap:32px;padding:28px 40px 24px}[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] h2{font-size:48px}[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] .mi-street-title p{font-size:16px;line-height:1.5}
[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] .mi-street{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:10px;padding:0 40px;border-bottom:8px solid var(--mi-ink);align-items:end}
[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] .mi-house{background:var(--mi-wash);border:1px solid var(--mi-line);padding:22px 20px 18px}[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] .mi-bay{border-radius:70px 70px 0 0;padding-top:32px}[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] .mi-door{padding-top:38px;background:var(--mi-paper);border:2px solid var(--mi-ink)}[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] .mi-sale{border-top:10px solid var(--mi-accent)}
[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] .mi-house-sign{font-size:14px;font-weight:600;text-align:center;padding-bottom:16px}[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] .mi-home-window{display:flex;flex-direction:column;justify-content:space-between;gap:16px;min-height:144px;padding:20px;border:2px solid var(--mi-ink);background:var(--mi-paper)}[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] .mi-home-window span:not(.fs-richtext){font:500 31px/1.1 "Newsreader",serif}[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] .mi-home-window small{font-size:13px}
[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] .mi-house nav{display:flex;flex-direction:column;margin-top:12px}[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] .mi-house nav a{display:flex;align-items:center;border-bottom:1px solid var(--mi-line);font-size:15px;padding:8px 0}[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] .mi-pavement{display:flex;justify-content:space-between;gap:24px;padding:16px 40px;font-size:12px;background:var(--mi-wash)}
@media(max-width:900px){[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] .mi-street-title{padding:24px 22px;display:block}[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] h2{font-size:39px}[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] .mi-street-title p{margin-top:15px;font-size:15px}[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] .mi-street{display:block;padding:0 22px}[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] .mi-house{margin-bottom:20px;padding:20px}[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] .mi-home-window{min-height:110px}[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] .mi-pavement{padding:20px 22px}[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] .mi-pavement>span:not(.fs-richtext):last-child{display:none}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] .mi-street-title{padding:24px 22px;display:block}[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] h2{font-size:39px}[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] .mi-street-title p{margin-top:15px;font-size:15px}[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] .mi-street{display:block;padding:0 22px}[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] .mi-house{margin-bottom:20px;padding:20px}[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] .mi-home-window{min-height:110px}[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] .mi-pavement{padding:20px 22px}[data-gp-theme="neighbourhood-edit"] [data-gp-id="mega-menu"] .mi-pavement>span:not(.fs-richtext):last-child{display:none}}

[data-gp-theme="neighbourhood-edit"]{--paper:rgb(var(--c-paper));--ink:rgb(var(--c-ink-950));--accent:rgb(var(--c-brand-600));--wash:rgb(var(--c-paper-soft));--line:rgb(var(--c-line));--muted:rgb(var(--c-ink-400));--on-accent:var(--fs-on-brand);--focus:rgb(var(--c-accent));--work:var(--fs-surface-inverted,var(--wash));--work-ink:var(--fs-on-surface-inverted,var(--paper));--body:var(--font-sans);}
[data-gp-theme="starlight-moonlit-premium"]{--ease-out:cubic-bezier(.23,1,.32,1);--ease-drawer:cubic-bezier(.32,.72,0,1)}
[data-gp-theme="starlight-moonlit-premium"] *{box-sizing:border-box}[data-gp-theme="starlight-moonlit-premium"]{scroll-behavior:smooth;scroll-padding-top:100px}[data-gp-theme="starlight-moonlit-premium"]{margin:0}[data-gp-theme="starlight-moonlit-premium"] img{max-width:100%;display:block}[data-gp-theme="starlight-moonlit-premium"] :is(button,[role="button"]),[data-gp-theme="starlight-moonlit-premium"] input,[data-gp-theme="starlight-moonlit-premium"] select,[data-gp-theme="starlight-moonlit-premium"] textarea{font:inherit}[data-gp-theme="starlight-moonlit-premium"] :is(button,[role="button"]),[data-gp-theme="starlight-moonlit-premium"] a,[data-gp-theme="starlight-moonlit-premium"] input,[data-gp-theme="starlight-moonlit-premium"] select,[data-gp-theme="starlight-moonlit-premium"] textarea{touch-action:manipulation}[data-gp-theme="starlight-moonlit-premium"] :is(button,[role="button"]),[data-gp-theme="starlight-moonlit-premium"] a{ -webkit-tap-highlight-color:transparent}[data-gp-theme="starlight-moonlit-premium"] :is(button,[role="button"]){cursor:pointer}[data-gp-theme="starlight-moonlit-premium"] :is(button,[role="button"]):active{transform:translateY(1px)}[data-gp-theme="starlight-moonlit-premium"] a{color:inherit;text-underline-offset:.22em}[data-gp-theme="starlight-moonlit-premium"] :is(button,[role="button"]):focus-visible,[data-gp-theme="starlight-moonlit-premium"] a:focus-visible,[data-gp-theme="starlight-moonlit-premium"] summary:focus-visible,[data-gp-theme="starlight-moonlit-premium"] input:focus-visible,[data-gp-theme="starlight-moonlit-premium"] select:focus-visible,[data-gp-theme="starlight-moonlit-premium"] textarea:focus-visible{outline:3px solid var(--focus,#346ddb);outline-offset:5px}[data-gp-theme="starlight-moonlit-premium"] textarea{resize:vertical}[data-gp-theme="starlight-moonlit-premium"] input,[data-gp-theme="starlight-moonlit-premium"] textarea{caret-color:var(--focus,currentColor)}[data-gp-theme="starlight-moonlit-premium"] :is(button,[role="button"]),[data-gp-theme="starlight-moonlit-premium"] select,[data-gp-theme="starlight-moonlit-premium"] input{min-height:44px}[data-gp-theme="starlight-moonlit-premium"] summary{cursor:pointer}[data-gp-theme="starlight-moonlit-premium"] section[id],[data-gp-theme="starlight-moonlit-premium"] footer[id]{scroll-margin-top:110px}[data-gp-theme="starlight-moonlit-premium"] [hidden]{display:none!important}[data-gp-theme="starlight-moonlit-premium"] .skip-link{position:fixed;z-index:200;top:8px;left:8px;background:#fff;color:#111;padding:12px 18px;transform:translateY(-150%)}[data-gp-theme="starlight-moonlit-premium"] .skip-link:focus{transform:none}
[data-gp-theme="starlight-moonlit-premium"] .preview-bar{min-height:42px;background:#f6f6f2;color:#252a2a;border-bottom:1px solid #d5d8d4;font:13px/1.3 "Figtree",sans-serif;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 3vw;position:relative;z-index:30}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="starlight-moonlit-premium"] .preview-bar{padding:5px 3cqw}}[data-gp-theme="starlight-moonlit-premium"] .preview-bar a{white-space:nowrap}[data-gp-theme="starlight-moonlit-premium"] .preview-bar [role=group]{display:flex;gap:2px;align-items:center}[data-gp-theme="starlight-moonlit-premium"] .preview-bar :is(button,[role="button"]){min-height:32px;background:transparent;color:inherit;border:0;padding:6px 10px;border-radius:3px;font-size:13px;transition:background-color 150ms var(--ease-out)}[data-gp-theme="starlight-moonlit-premium"] .preview-bar [aria-pressed=true]{background:#252a2a;color:#fff}[data-gp-theme="starlight-moonlit-premium"] .preview-bar :is(button,[role="button"])[data-replay-intro]{border:1px solid #b6beb8}[data-gp-theme="starlight-moonlit-premium"] .preview-label{color:#515953}[data-gp-theme="starlight-moonlit-premium"] .preview-bar::selection{background:#252a2a;color:#fff}
[data-gp-theme="starlight-moonlit-premium"] dialog.mega-menu{max-width:none;max-height:calc(100dvh - 32px);overflow:auto;border:0;padding:0;color:inherit;overscroll-behavior:contain}[data-gp-theme="starlight-moonlit-premium"] dialog.mega-menu::backdrop{background:rgb(8 16 18 / .52)}[data-gp-theme="starlight-moonlit-premium"] .mega-menu[open]{animation:gp-starlight-menu-arrive 220ms var(--ease-drawer)}[data-gp-theme="starlight-moonlit-premium"] .mega-menu[data-closing]{animation:gp-starlight-menu-leave 160ms var(--ease-out) forwards}[data-gp-theme="starlight-moonlit-premium"] .mega-menu[data-keyboard]{animation:none}[data-gp-theme="starlight-moonlit-premium"] .menu-lock{overflow:hidden}@keyframes gp-starlight-menu-arrive{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}@keyframes gp-starlight-menu-leave{to{opacity:0;transform:translateY(-10px)}}
[data-gp-theme="starlight-moonlit-premium"] .preloader{display:none;position:fixed;inset:0;z-index:190;place-content:center;pointer-events:none;text-align:center}[data-gp-theme="starlight-moonlit-premium"] .preloader.is-active{display:grid;animation:gp-starlight-intro-failsafe 1.3s step-end forwards}[data-gp-theme="starlight-moonlit-premium"] .preloader.is-leaving{opacity:0;transition:opacity 180ms var(--ease-out)}@keyframes gp-starlight-intro-failsafe{0%,99%{visibility:visible}100%{visibility:hidden}}
@media(max-width:650px){[data-gp-theme="starlight-moonlit-premium"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="starlight-moonlit-premium"] .preview-bar .preview-label{display:none}[data-gp-theme="starlight-moonlit-premium"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="starlight-moonlit-premium"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="starlight-moonlit-premium"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="starlight-moonlit-premium"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="starlight-moonlit-premium"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="starlight-moonlit-premium"] .preview-bar .preview-label{display:none}[data-gp-theme="starlight-moonlit-premium"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="starlight-moonlit-premium"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="starlight-moonlit-premium"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="starlight-moonlit-premium"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="starlight-moonlit-premium"]{scroll-behavior:auto}[data-gp-theme="starlight-moonlit-premium"] *,[data-gp-theme="starlight-moonlit-premium"] *::before,[data-gp-theme="starlight-moonlit-premium"] *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-gp-theme="starlight-moonlit-premium"] .preloader.is-active{display:none!important}}
@media(max-width:650px){[data-gp-theme="starlight-moonlit-premium"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="starlight-moonlit-premium"] .preview-bar a{font-size:12px}[data-gp-theme="starlight-moonlit-premium"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="starlight-moonlit-premium"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="starlight-moonlit-premium"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="starlight-moonlit-premium"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="starlight-moonlit-premium"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="starlight-moonlit-premium"] .preview-bar a{font-size:12px}[data-gp-theme="starlight-moonlit-premium"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="starlight-moonlit-premium"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="starlight-moonlit-premium"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="starlight-moonlit-premium"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}

[data-gp-theme="starlight-moonlit-premium"] *{box-sizing:border-box}[data-gp-theme="starlight-moonlit-premium"]{background:var(--paper);color:var(--ink);font:18px/1.55 var(--body);--focus:var(--accent)}[data-gp-theme="starlight-moonlit-premium"] h1,[data-gp-theme="starlight-moonlit-premium"] h2,[data-gp-theme="starlight-moonlit-premium"] h3,[data-gp-theme="starlight-moonlit-premium"] p,[data-gp-theme="starlight-moonlit-premium"] figure{margin:0}[data-gp-theme="starlight-moonlit-premium"] h1,[data-gp-theme="starlight-moonlit-premium"] h2,[data-gp-theme="starlight-moonlit-premium"] h3{font-family:var(--display);font-weight:500;line-height:1.05}[data-gp-theme="starlight-moonlit-premium"] h1{font-size:clamp(48px,6.4vw,96px);letter-spacing:-.035em}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="starlight-moonlit-premium"] h1{font-size:clamp(48px,6.4cqw,96px)}}[data-gp-theme="starlight-moonlit-premium"] h2{font-size:clamp(36px,4vw,62px);letter-spacing:-.025em}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="starlight-moonlit-premium"] h2{font-size:clamp(36px,4cqw,62px)}}[data-gp-theme="starlight-moonlit-premium"] h3{font-size:28px}[data-gp-theme="starlight-moonlit-premium"] p{max-width:62ch}[data-gp-theme="starlight-moonlit-premium"] p+p{margin-top:1em}[data-gp-theme="starlight-moonlit-premium"] .wrap{width:min(1280px,calc(100% - 80px));margin:auto}[data-gp-theme="starlight-moonlit-premium"] .section{padding:100px 0}[data-gp-theme="starlight-moonlit-premium"] .section-head{display:flex;justify-content:space-between;gap:40px;margin-bottom:42px;align-items:end}[data-gp-theme="starlight-moonlit-premium"] .section-head>p{max-width:36ch}[data-gp-theme="starlight-moonlit-premium"] .kicker{font-size:15px;margin-bottom:18px;color:var(--muted)}[data-gp-theme="starlight-moonlit-premium"] .small,[data-gp-theme="starlight-moonlit-premium"] figcaption{font-size:14px;line-height:1.5;color:var(--muted)}[data-gp-theme="starlight-moonlit-premium"] figcaption{padding:12px 0}[data-gp-theme="starlight-moonlit-premium"] .site-header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0}[data-gp-theme="starlight-moonlit-premium"] .brand{font:600 26px/1.15 var(--display);text-decoration:none;display:flex;align-items:center;gap:12px}[data-gp-theme="starlight-moonlit-premium"] .brand svg{width:40px;height:40px;fill:none;stroke:currentColor;stroke-width:1.8}[data-gp-theme="starlight-moonlit-premium"] .brand small{display:block;font:13px/1.5 var(--body);margin-top:5px}[data-gp-theme="starlight-moonlit-premium"] .site-header nav{display:flex;gap:26px;font-size:16px}[data-gp-theme="starlight-moonlit-premium"] .site-header nav a{text-decoration:none}[data-gp-theme="starlight-moonlit-premium"] .menu-button,[data-gp-theme="starlight-moonlit-premium"] .button,[data-gp-theme="starlight-moonlit-premium"] :is(button,[role="button"]):is([type="submit"],[data-gp-button-type="submit"]){display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:12px 22px;min-height:48px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);text-decoration:none;font:600 16px/1.4 var(--body)}[data-gp-theme="starlight-moonlit-premium"] .menu-button{background:transparent;color:var(--ink)}[data-gp-theme="starlight-moonlit-premium"] .menu-button svg{width:20px;fill:none;stroke:currentColor;stroke-width:2}[data-gp-theme="starlight-moonlit-premium"] .button.accent,[data-gp-theme="starlight-moonlit-premium"] :is(button,[role="button"]):is([type="submit"],[data-gp-button-type="submit"]){background:var(--accent);border-color:var(--accent);color:var(--on-accent)}[data-gp-theme="starlight-moonlit-premium"] .text-link{display:inline-block;margin-top:20px;font-weight:600}[data-gp-theme="starlight-moonlit-premium"] .duo{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}[data-gp-theme="starlight-moonlit-premium"] .duo img{width:100%;object-fit:cover}[data-gp-theme="starlight-moonlit-premium"] .choice-row{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}[data-gp-theme="starlight-moonlit-premium"] .choice-row :is(button,[role="button"]){padding:11px 18px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:16px}[data-gp-theme="starlight-moonlit-premium"] .choice-row :is(button,[role="button"])[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}[data-gp-theme="starlight-moonlit-premium"] .task-panel{background:var(--wash);padding:32px;border:1px solid var(--line)}[data-gp-theme="starlight-moonlit-premium"] .task-panel h3{margin-bottom:16px}[data-gp-theme="starlight-moonlit-premium"] .task-panel p{margin:12px 0}[data-gp-theme="starlight-moonlit-premium"] .form{display:grid;grid-template-columns:1fr 1fr;gap:20px}[data-gp-theme="starlight-moonlit-premium"] .form label{display:grid;gap:8px;font-size:16px;font-weight:600;min-width:0}[data-gp-theme="starlight-moonlit-premium"] .form input,[data-gp-theme="starlight-moonlit-premium"] .form select,[data-gp-theme="starlight-moonlit-premium"] .form textarea{width:100%;min-width:0;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:12px;font-size:17px;font-weight:400;border-radius:0}[data-gp-theme="starlight-moonlit-premium"] .form textarea{min-height:130px}[data-gp-theme="starlight-moonlit-premium"] .full{grid-column:1/-1}[data-gp-theme="starlight-moonlit-premium"] .result{display:block;margin-top:20px;padding:18px;border-left:3px solid var(--accent);background:var(--wash);min-height:0;font-size:17px}[data-gp-theme="starlight-moonlit-premium"] .result:empty{display:none}[data-gp-theme="starlight-moonlit-premium"] .band{background:var(--wash)}[data-gp-theme="starlight-moonlit-premium"] details{border-top:1px solid var(--line);padding:20px 0}[data-gp-theme="starlight-moonlit-premium"] summary{font-weight:600;min-height:44px}[data-gp-theme="starlight-moonlit-premium"] details p{padding:12px 0}[data-gp-theme="starlight-moonlit-premium"] .rule-list{list-style:none;padding:0}[data-gp-theme="starlight-moonlit-premium"] .rule-list li{border-top:1px solid var(--line);padding:18px 0}[data-gp-theme="starlight-moonlit-premium"] .site-footer{padding:76px 0 25px;border-top:1px solid var(--line);background:var(--wash)}[data-gp-theme="starlight-moonlit-premium"] .footer-layout{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px}[data-gp-theme="starlight-moonlit-premium"] .footer-layout h2{font-size:clamp(38px,4.5vw,64px);margin-bottom:24px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="starlight-moonlit-premium"] .footer-layout h2{font-size:clamp(38px,4.5cqw,64px)}}[data-gp-theme="starlight-moonlit-premium"] .footer-layout h3{font:600 17px var(--body);margin-bottom:18px}[data-gp-theme="starlight-moonlit-premium"] .footer-layout a{display:block;margin:12px 0;font-size:16px}[data-gp-theme="starlight-moonlit-premium"] .footer-bottom{display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);margin-top:50px;padding-top:22px;font-size:13px;color:var(--muted)}[data-gp-theme="starlight-moonlit-premium"] dialog.mega-menu{width:min(1180px,calc(100% - 40px));background:var(--paper);color:var(--ink);margin:24px auto}[data-gp-theme="starlight-moonlit-premium"] .menu-top{display:flex;justify-content:space-between;align-items:center;padding:28px 38px;border-bottom:1px solid var(--line)}[data-gp-theme="starlight-moonlit-premium"] .menu-top :is(button,[role="button"]){background:transparent;color:var(--ink);border:1px solid var(--line);padding:10px 18px}[data-gp-theme="starlight-moonlit-premium"] .menu-layout{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:48px}[data-gp-theme="starlight-moonlit-premium"] .menu-layout h2{margin-bottom:25px}[data-gp-theme="starlight-moonlit-premium"] .menu-layout nav{display:grid}[data-gp-theme="starlight-moonlit-premium"] .menu-layout nav a{display:flex;justify-content:space-between;text-decoration:none;padding:16px 0;border-bottom:1px solid var(--line);font-size:23px}[data-gp-theme="starlight-moonlit-premium"] .menu-layout aside{padding:30px;background:var(--wash)}[data-gp-theme="starlight-moonlit-premium"] .menu-layout aside p{margin-top:22px}[data-gp-theme="starlight-moonlit-premium"] .preloader{background:var(--paper);color:var(--ink)}[data-gp-theme="starlight-moonlit-premium"] .intro-mark{font:44px var(--display)}[data-gp-theme="starlight-moonlit-premium"] .preloader .intro-mark svg{width:70px;height:70px;display:block;margin:auto auto 20px;fill:none;stroke:currentColor;stroke-width:1.4}[data-gp-theme="starlight-moonlit-premium"][data-keyboard] :is(button,[role="button"]):active{transform:none}@media(hover:hover) and (pointer:fine){[data-gp-theme="starlight-moonlit-premium"] .menu-button:hover{background:var(--wash)}[data-gp-theme="starlight-moonlit-premium"] .button,[data-gp-theme="starlight-moonlit-premium"] .menu-button,[data-gp-theme="starlight-moonlit-premium"] .choice-row :is(button,[role="button"]){transition:transform 150ms var(--ease-out),background-color 180ms var(--ease-out)}[data-gp-theme="starlight-moonlit-premium"] .button:hover{transform:translateY(-2px)}[data-gp-theme="starlight-moonlit-premium"] .choice-row :is(button,[role="button"]):hover{transform:translateY(-1px)}}@media(max-width:850px){[data-gp-theme="starlight-moonlit-premium"] .wrap{width:calc(100% - 40px)}[data-gp-theme="starlight-moonlit-premium"] .section{padding:65px 0}[data-gp-theme="starlight-moonlit-premium"] .site-header nav{display:none}[data-gp-theme="starlight-moonlit-premium"] .site-header{padding:20px 0}[data-gp-theme="starlight-moonlit-premium"] .duo{gap:35px}[data-gp-theme="starlight-moonlit-premium"] .section-head{align-items:start}[data-gp-theme="starlight-moonlit-premium"] .footer-layout{gap:28px;grid-template-columns:1.5fr 1fr}}@containerfs-editor-canvas (max-width: 850px){[data-gp-theme="starlight-moonlit-premium"] .wrap{width:calc(100% - 40px)}[data-gp-theme="starlight-moonlit-premium"] .section{padding:65px 0}[data-gp-theme="starlight-moonlit-premium"] .site-header nav{display:none}[data-gp-theme="starlight-moonlit-premium"] .site-header{padding:20px 0}[data-gp-theme="starlight-moonlit-premium"] .duo{gap:35px}[data-gp-theme="starlight-moonlit-premium"] .section-head{align-items:start}[data-gp-theme="starlight-moonlit-premium"] .footer-layout{gap:28px;grid-template-columns:1.5fr 1fr}}@media(max-width:600px){[data-gp-theme="starlight-moonlit-premium"] .wrap{width:calc(100% - 32px)}[data-gp-theme="starlight-moonlit-premium"]{font-size:17px}[data-gp-theme="starlight-moonlit-premium"] .brand{font-size:22px}[data-gp-theme="starlight-moonlit-premium"] .brand svg{width:32px;height:32px}[data-gp-theme="starlight-moonlit-premium"] .menu-button{padding:10px 14px;font-size:14px}[data-gp-theme="starlight-moonlit-premium"] .duo,[data-gp-theme="starlight-moonlit-premium"] .footer-layout,[data-gp-theme="starlight-moonlit-premium"] .menu-layout{grid-template-columns:1fr}[data-gp-theme="starlight-moonlit-premium"] .section-head{display:block}[data-gp-theme="starlight-moonlit-premium"] .section-head>p{margin-top:20px}[data-gp-theme="starlight-moonlit-premium"] .form{grid-template-columns:1fr}[data-gp-theme="starlight-moonlit-premium"] .full{grid-column:auto}[data-gp-theme="starlight-moonlit-premium"] .task-panel{padding:23px}[data-gp-theme="starlight-moonlit-premium"] .footer-bottom{display:block}[data-gp-theme="starlight-moonlit-premium"] .footer-bottom span:not(.fs-richtext){display:block;margin:10px 0}[data-gp-theme="starlight-moonlit-premium"] .menu-top{padding:20px}[data-gp-theme="starlight-moonlit-premium"] .menu-layout{padding:26px;gap:25px}[data-gp-theme="starlight-moonlit-premium"] .menu-layout nav a{font-size:21px}[data-gp-theme="starlight-moonlit-premium"] .menu-layout aside{padding:22px}[data-gp-theme="starlight-moonlit-premium"] .section{padding:55px 0}}@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="starlight-moonlit-premium"] .wrap{width:calc(100% - 32px)}[data-gp-theme="starlight-moonlit-premium"]{font-size:17px}[data-gp-theme="starlight-moonlit-premium"] .brand{font-size:22px}[data-gp-theme="starlight-moonlit-premium"] .brand svg{width:32px;height:32px}[data-gp-theme="starlight-moonlit-premium"] .menu-button{padding:10px 14px;font-size:14px}[data-gp-theme="starlight-moonlit-premium"] .duo,[data-gp-theme="starlight-moonlit-premium"] .footer-layout,[data-gp-theme="starlight-moonlit-premium"] .menu-layout{grid-template-columns:1fr}[data-gp-theme="starlight-moonlit-premium"] .section-head{display:block}[data-gp-theme="starlight-moonlit-premium"] .section-head>p{margin-top:20px}[data-gp-theme="starlight-moonlit-premium"] .form{grid-template-columns:1fr}[data-gp-theme="starlight-moonlit-premium"] .full{grid-column:auto}[data-gp-theme="starlight-moonlit-premium"] .task-panel{padding:23px}[data-gp-theme="starlight-moonlit-premium"] .footer-bottom{display:block}[data-gp-theme="starlight-moonlit-premium"] .footer-bottom span:not(.fs-richtext){display:block;margin:10px 0}[data-gp-theme="starlight-moonlit-premium"] .menu-top{padding:20px}[data-gp-theme="starlight-moonlit-premium"] .menu-layout{padding:26px;gap:25px}[data-gp-theme="starlight-moonlit-premium"] .menu-layout nav a{font-size:21px}[data-gp-theme="starlight-moonlit-premium"] .menu-layout aside{padding:22px}[data-gp-theme="starlight-moonlit-premium"] .section{padding:55px 0}}@media(prefers-reduced-motion:reduce){[data-gp-theme="starlight-moonlit-premium"] :is(button,[role="button"]),[data-gp-theme="starlight-moonlit-premium"] .button{transform:none!important}}

[data-gp-theme="starlight-moonlit-premium"]{--paper:#f2eddf;--ink:#17203a;--accent:#4b547e;--wash:#e4e0d6;--line:#b6b7bb;--on-accent:#fff;--muted:#545a6d;--display:"Alegreya",serif;--body:"Source Sans 3",sans-serif}[data-gp-theme="starlight-moonlit-premium"][data-palette="1"]{--ink:#253a37;--accent:#38635b;--wash:#e1e7df;--line:#a9bcb1}[data-gp-theme="starlight-moonlit-premium"][data-palette="2"]{--ink:#3c273d;--accent:#6a456d;--wash:#e8dfe5;--line:#c2aabf}[data-gp-theme="starlight-moonlit-premium"][data-mode="dark"]{--paper:#10182d;--ink:#eee5ca;--accent:#c0c5e6;--on-accent:#18203b;--wash:#1b2640;--line:#626d8a;--muted:#c4c7d2}[data-gp-theme="starlight-moonlit-premium"][data-mode="dark"][data-palette="1"]{--paper:#132722;--wash:#203b32;--ink:#f0edda;--accent:#b9d7c4;--line:#638878}[data-gp-theme="starlight-moonlit-premium"][data-mode="dark"][data-palette="2"]{--paper:#291b2e;--wash:#3c2942;--ink:#f3e6e7;--accent:#dec0df;--line:#987e9c}[data-gp-theme="starlight-moonlit-premium"] .brand{font-size:24px}[data-gp-theme="starlight-moonlit-premium"] .brand small{letter-spacing:.04em}[data-gp-theme="starlight-moonlit-premium"] .portal{margin:0 24px}[data-gp-theme="starlight-moonlit-premium"] .portal-landscape{height:710px;position:relative;isolation:isolate;overflow:hidden}[data-gp-theme="starlight-moonlit-premium"] .portal-art{width:100%;height:100%;object-fit:cover;object-position:center 52%}[data-gp-theme="starlight-moonlit-premium"] .portal-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,15,31,.55),transparent 60%,rgba(8,15,31,.8))}[data-gp-theme="starlight-moonlit-premium"] .portal-heading{position:absolute;inset:48px 30px auto;text-align:center;color:#fff3d4;text-shadow:0 2px 22px #10182d}[data-gp-theme="starlight-moonlit-premium"] .portal-heading h1{font-size:clamp(65px,8vw,118px);line-height:.92;margin:20px 0}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="starlight-moonlit-premium"] .portal-heading h1{font-size:clamp(65px,8cqw,118px)}}[data-gp-theme="starlight-moonlit-premium"] .portal-heading p{margin:auto;font-size:18px}[data-gp-theme="starlight-moonlit-premium"] .door-pair{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);width:min(850px,90%);display:grid;grid-template-columns:1fr 1fr;gap:22px}[data-gp-theme="starlight-moonlit-premium"] .door-pair a{background:var(--paper);color:var(--ink);text-decoration:none;padding:24px 28px;border-top:2px solid var(--accent);display:grid;gap:10px}[data-gp-theme="starlight-moonlit-premium"] .door-pair strong{font:32px var(--display)}[data-gp-theme="starlight-moonlit-premium"] .door-pair span:not(.fs-richtext){font-size:15px}[data-gp-theme="starlight-moonlit-premium"] .portal-caption{font-size:13px;color:var(--muted);padding:12px 0;text-align:center;max-width:none}[data-gp-theme="starlight-moonlit-premium"] .reading-spread{display:grid;grid-template-columns:360px 1fr;gap:100px;align-items:center}[data-gp-theme="starlight-moonlit-premium"] .book-jacket{background:#18253e;color:#efe4be;min-height:510px;padding:38px;display:flex;flex-direction:column;align-items:center;text-align:center;border:8px double #a9a37e;box-shadow:18px 18px 0 var(--wash)}[data-gp-theme="starlight-moonlit-premium"] .book-jacket>p{font:46px/.99 var(--display);margin-top:35px}[data-gp-theme="starlight-moonlit-premium"] .book-jacket>span:not(.fs-richtext){font-size:15px}[data-gp-theme="starlight-moonlit-premium"] .jacket-moon{font-size:100px;line-height:1.2}[data-gp-theme="starlight-moonlit-premium"] .book-jacket small{margin-top:auto;font-size:13px}[data-gp-theme="starlight-moonlit-premium"] .reader-page h2{margin-bottom:22px}[data-gp-theme="starlight-moonlit-premium"] .reader-toolbar{display:flex;gap:8px;margin:22px 0}[data-gp-theme="starlight-moonlit-premium"] .reader-toolbar :is(button,[role="button"]){border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:8px 14px}[data-gp-theme="starlight-moonlit-premium"] .reader-page [data-gp-id="reading-room"]{font:21px/1.7 var(--display);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0;margin-bottom:15px}[data-gp-theme="starlight-moonlit-premium"] .play-band{background:var(--wash)}[data-gp-theme="starlight-moonlit-premium"] .play-band h2{margin-bottom:25px}[data-gp-theme="starlight-moonlit-premium"] .play-band :is(button,[role="button"]){margin-top:24px}[data-gp-theme="starlight-moonlit-premium"] .concept-window{border:1px solid var(--line);padding:16px}[data-gp-theme="starlight-moonlit-premium"] .concept-window img{aspect-ratio:1.3;object-fit:cover}[data-gp-theme="starlight-moonlit-premium"] .concept-window p{margin-top:12px}[data-gp-theme="starlight-moonlit-premium"] .world-pages{display:grid;grid-template-columns:1fr 1.2fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}[data-gp-theme="starlight-moonlit-premium"] .world-pages nav{padding:20px 40px 20px 0;border-right:1px solid var(--line)}[data-gp-theme="starlight-moonlit-premium"] .world-pages nav :is(button,[role="button"]){width:100%;text-align:left;background:none;color:var(--ink);border:0;border-bottom:1px solid var(--line);padding:23px 8px;font:25px var(--display);display:flex;justify-content:space-between;gap:20px}[data-gp-theme="starlight-moonlit-premium"] .world-pages nav :is(button,[role="button"])[aria-pressed=true]{color:var(--accent);border-bottom:2px solid var(--accent)}[data-gp-theme="starlight-moonlit-premium"] .world-pages article{padding:35px 45px}[data-gp-theme="starlight-moonlit-premium"] .world-pages article h3{font-size:36px;margin-bottom:20px}[data-gp-theme="starlight-moonlit-premium"] .chapter-symbol{font-size:60px;color:var(--accent)}[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="follow-form"]{display:grid;gap:18px}[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="follow-form"] select{background:var(--paper);color:var(--ink);border:1px solid var(--line);padding:12px}[data-gp-theme="starlight-moonlit-premium"] .mega-menu .menu-layout{grid-template-columns:.9fr 1.1fr}[data-gp-theme="starlight-moonlit-premium"] .mega-menu aside{border:1px solid var(--line);background:var(--wash)}@media(max-width:850px){[data-gp-theme="starlight-moonlit-premium"] .reading-spread{grid-template-columns:280px 1fr;gap:45px}[data-gp-theme="starlight-moonlit-premium"] .book-jacket{min-height:440px;padding:25px}[data-gp-theme="starlight-moonlit-premium"] .book-jacket>p{font-size:38px}[data-gp-theme="starlight-moonlit-premium"] .portal-landscape{height:680px}}@containerfs-editor-canvas (max-width: 850px){[data-gp-theme="starlight-moonlit-premium"] .reading-spread{grid-template-columns:280px 1fr;gap:45px}[data-gp-theme="starlight-moonlit-premium"] .book-jacket{min-height:440px;padding:25px}[data-gp-theme="starlight-moonlit-premium"] .book-jacket>p{font-size:38px}[data-gp-theme="starlight-moonlit-premium"] .portal-landscape{height:680px}}@media(max-width:600px){[data-gp-theme="starlight-moonlit-premium"] .portal{margin:0 10px}[data-gp-theme="starlight-moonlit-premium"] .portal-landscape{height:720px}[data-gp-theme="starlight-moonlit-premium"] .portal-art{object-position:47% center}[data-gp-theme="starlight-moonlit-premium"] .portal-heading{top:38px;left:18px;right:18px}[data-gp-theme="starlight-moonlit-premium"] .portal-heading h1{font-size:65px}[data-gp-theme="starlight-moonlit-premium"] .portal-heading>p{font-size:16px}[data-gp-theme="starlight-moonlit-premium"] .portal-line{max-width:24ch}[data-gp-theme="starlight-moonlit-premium"] .door-pair{grid-template-columns:1fr;gap:12px;bottom:20px;width:calc(100% - 36px)}[data-gp-theme="starlight-moonlit-premium"] .door-pair a{padding:18px 20px;gap:4px}[data-gp-theme="starlight-moonlit-premium"] .door-pair strong{font-size:28px}[data-gp-theme="starlight-moonlit-premium"] .reading-spread{grid-template-columns:1fr;gap:45px}[data-gp-theme="starlight-moonlit-premium"] .book-jacket{max-width:280px;min-height:410px;margin:auto;width:100%}[data-gp-theme="starlight-moonlit-premium"] .world-pages{grid-template-columns:1fr}[data-gp-theme="starlight-moonlit-premium"] .world-pages nav{border-right:0;padding:5px 0}[data-gp-theme="starlight-moonlit-premium"] .world-pages article{padding:25px 5px}[data-gp-theme="starlight-moonlit-premium"] .world-pages nav :is(button,[role="button"]){font-size:23px}[data-gp-theme="starlight-moonlit-premium"] .mega-menu .menu-layout{grid-template-columns:1fr}}@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="starlight-moonlit-premium"] .portal{margin:0 10px}[data-gp-theme="starlight-moonlit-premium"] .portal-landscape{height:720px}[data-gp-theme="starlight-moonlit-premium"] .portal-art{object-position:47% center}[data-gp-theme="starlight-moonlit-premium"] .portal-heading{top:38px;left:18px;right:18px}[data-gp-theme="starlight-moonlit-premium"] .portal-heading h1{font-size:65px}[data-gp-theme="starlight-moonlit-premium"] .portal-heading>p{font-size:16px}[data-gp-theme="starlight-moonlit-premium"] .portal-line{max-width:24ch}[data-gp-theme="starlight-moonlit-premium"] .door-pair{grid-template-columns:1fr;gap:12px;bottom:20px;width:calc(100% - 36px)}[data-gp-theme="starlight-moonlit-premium"] .door-pair a{padding:18px 20px;gap:4px}[data-gp-theme="starlight-moonlit-premium"] .door-pair strong{font-size:28px}[data-gp-theme="starlight-moonlit-premium"] .reading-spread{grid-template-columns:1fr;gap:45px}[data-gp-theme="starlight-moonlit-premium"] .book-jacket{max-width:280px;min-height:410px;margin:auto;width:100%}[data-gp-theme="starlight-moonlit-premium"] .world-pages{grid-template-columns:1fr}[data-gp-theme="starlight-moonlit-premium"] .world-pages nav{border-right:0;padding:5px 0}[data-gp-theme="starlight-moonlit-premium"] .world-pages article{padding:25px 5px}[data-gp-theme="starlight-moonlit-premium"] .world-pages nav :is(button,[role="button"]){font-size:23px}[data-gp-theme="starlight-moonlit-premium"] .mega-menu .menu-layout{grid-template-columns:1fr}}

@media(min-width:851px) and (max-width:1200px){[data-gp-theme="starlight-moonlit-premium"] .site-header nav{display:none}}

[data-gp-theme="starlight-moonlit-premium"][data-input=keyboard] :is(.button,.menu-button,.choice-row button){transition:none;transform:none}

[data-gp-theme="starlight-moonlit-premium"] .world-pages article{min-height:330px}

/* Preview chrome and accessibility only. Theme authors own the visual worlds. */
[data-gp-theme="starlight-moonlit-premium"][data-premium]{color-scheme:light;background:var(--paper);color:var(--ink);accent-color:var(--accent);scrollbar-color:var(--accent) var(--wash)}
[data-gp-theme="starlight-moonlit-premium"][data-premium][data-mode=dark]{color-scheme:dark}
[data-gp-theme="starlight-moonlit-premium"][data-premium] ::selection{background:var(--accent);color:var(--on-accent)}
[data-gp-theme="starlight-moonlit-premium"][data-premium] :is(input,textarea){caret-color:var(--accent)}
[data-gp-theme="starlight-moonlit-premium"][data-premium] :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--accent);outline-offset:4px}
[data-gp-theme="starlight-moonlit-premium"][data-premium] :is(input,select,textarea){max-width:100%}
[data-gp-theme="starlight-moonlit-premium"][data-premium] :is(input,textarea)::placeholder{color:var(--muted);opacity:1}
[data-gp-theme="starlight-moonlit-premium"][data-premium] .preview-bar{display:flex;flex-wrap:wrap;justify-content:flex-start;background:#f5f5f0;color:#242d2c;border-color:#cbd0c8;gap:8px 14px;position:relative;font:13px/1.3 "Figtree",sans-serif;min-height:52px;padding:6px 3vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="starlight-moonlit-premium"][data-premium] .preview-bar{padding:6px 3cqw}}
[data-gp-theme="starlight-moonlit-premium"][data-premium] .preview-bar>a{font-weight:600;min-height:40px;display:flex;align-items:center}
[data-gp-theme="starlight-moonlit-premium"][data-premium] .preview-bar [role=group]{margin-left:auto;display:flex;gap:2px}
[data-gp-theme="starlight-moonlit-premium"][data-premium] .preview-bar :is(button,select){font:13px/1.3 "Figtree",sans-serif;min-height:40px;max-width:100%;border-radius:3px}
[data-gp-theme="starlight-moonlit-premium"][data-premium] .preview-bar select{background:#fff;color:#242d2c;border:1px solid #a2ada4;padding:7px 24px 7px 9px}
[data-gp-theme="starlight-moonlit-premium"][data-premium] .preview-bar [aria-pressed=true]{background:#242d2c;color:#fff}
[data-gp-theme="starlight-moonlit-premium"][data-premium] .preview-bar .preview-label{font:12px/1.3 "Figtree",sans-serif;color:#48554f}
[data-gp-theme="starlight-moonlit-premium"][data-premium] .preview-bar :focus-visible{outline-color:#254fbb}
[data-gp-theme="starlight-moonlit-premium"][data-premium] .preview-bar [data-replay-intro]{font-size:12px;margin:0}
[data-gp-theme="starlight-moonlit-premium"][data-premium] .preview-bar [data-replay-intro]::after{content:none}
[data-gp-theme="starlight-moonlit-premium"][data-premium] .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
[data-gp-theme="starlight-moonlit-premium"][data-premium] .premium-action{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 22px;background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);text-decoration:none;font-weight:600;transition:transform 150ms var(--ease-out),background-color 150ms var(--ease-out)}
[data-gp-theme="starlight-moonlit-premium"][data-premium] .premium-action:active{transform:translateY(1px)}
[data-gp-theme="starlight-moonlit-premium"][data-premium] .premium-action:disabled{opacity:.6;cursor:not-allowed}
[data-gp-theme="starlight-moonlit-premium"][data-premium] :is(h1,h2,h3){text-wrap:balance}
[data-gp-theme="starlight-moonlit-premium"][data-premium] p{text-wrap:pretty}
/* Put down the opaque menu surface immediately, then introduce its content. */
[data-gp-theme="starlight-moonlit-premium"][data-premium] .mega-menu[open]:not([data-closing]){animation:none}
[data-gp-theme="starlight-moonlit-premium"][data-premium] .mega-menu[open]:not([data-closing])>:not(:first-child){animation:gp-starlight-premium-menu-content 160ms var(--ease-out)}
[data-gp-theme="starlight-moonlit-premium"][data-premium] .mega-menu[data-keyboard]>:not(:first-child){animation:none!important}
[data-gp-theme="starlight-moonlit-premium"][data-premium][data-input=keyboard] :is(button,[role="button"]):active{transform:none}
@keyframes gp-starlight-premium-menu-content{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:650px){
 [data-gp-theme="starlight-moonlit-premium"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="starlight-moonlit-premium"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="starlight-moonlit-premium"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="starlight-moonlit-premium"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="starlight-moonlit-premium"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="starlight-moonlit-premium"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="starlight-moonlit-premium"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="starlight-moonlit-premium"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@containerfs-editor-canvas (max-width: 650px){
 [data-gp-theme="starlight-moonlit-premium"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="starlight-moonlit-premium"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="starlight-moonlit-premium"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="starlight-moonlit-premium"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="starlight-moonlit-premium"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="starlight-moonlit-premium"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="starlight-moonlit-premium"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="starlight-moonlit-premium"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@media(prefers-reduced-motion:reduce){[data-gp-theme="starlight-moonlit-premium"][data-premium] .premium-action{transition:none;transform:none}}

/* Website page primitives and actual layout modes. Authored theme CSS owns identity. */
[data-gp-theme="starlight-moonlit-premium"][data-framed=true] .preview-bar,[data-gp-theme="starlight-moonlit-premium"][data-framed=true] .site-open-preview{display:none!important}
[data-gp-theme="starlight-moonlit-premium"][data-site]{--ip-paper:var(--paper,#f4f2eb);--ip-ink:var(--ink,#192f2c);--ip-wash:var(--wash,var(--paper,#e6e9df));--ip-accent:var(--accent,var(--rust,#315b50));--ip-on:var(--on-accent,var(--paper,#fff));--ip-muted:var(--muted,var(--ink,#45534d));--ip-line:var(--line,var(--rule,#a1aca5))}
[data-gp-theme="starlight-moonlit-premium"][data-inside]{background:var(--ip-paper);color:var(--ip-ink);font:18px/1.65 var(--body,"Figtree",sans-serif)}
[data-gp-theme="starlight-moonlit-premium"] .inside-page :is(h1,h2,h3){font-family:var(--display,inherit);color:inherit;letter-spacing:-.035em;line-height:1.1;font-weight:500;max-width:22ch}
[data-gp-theme="starlight-moonlit-premium"] .inside-page h1{font-size:clamp(42px,5.3vw,80px);margin:0 0 26px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="starlight-moonlit-premium"] .inside-page h1{font-size:clamp(42px,5.3cqw,80px)}}[data-gp-theme="starlight-moonlit-premium"] .inside-page h2{font-size:clamp(30px,3vw,49px);margin:0 0 24px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="starlight-moonlit-premium"] .inside-page h2{font-size:clamp(30px,3cqw,49px)}}[data-gp-theme="starlight-moonlit-premium"] .inside-page h3{font-size:25px;margin:0 0 15px}
[data-gp-theme="starlight-moonlit-premium"] .inside-page :is(p,li){max-width:72ch}[data-gp-theme="starlight-moonlit-premium"] .inside-page p{margin:0 0 20px}[data-gp-theme="starlight-moonlit-premium"] .inside-page a{color:inherit}[data-gp-theme="starlight-moonlit-premium"] .inside-page img{max-width:100%;width:100%;height:100%;object-fit:cover}[data-gp-theme="starlight-moonlit-premium"] .inside-page figure{margin:0}[data-gp-theme="starlight-moonlit-premium"] .inside-page :is(button,[role="button"]){color:inherit}
[data-gp-theme="starlight-moonlit-premium"] .ip-hero,[data-gp-theme="starlight-moonlit-premium"] .ip-section{width:min(1320px,calc(100% - 96px));margin-inline:auto;padding-block:70px}[data-gp-theme="starlight-moonlit-premium"] .ip-hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:65px}[data-gp-theme="starlight-moonlit-premium"] .ip-opening{min-width:0}[data-gp-theme="starlight-moonlit-premium"] .ip-hero:has(>.ip-opening:only-child){grid-template-columns:1fr}[data-gp-theme="starlight-moonlit-premium"] .ip-art{height:430px;position:relative}[data-gp-theme="starlight-moonlit-premium"] .ip-art img{object-fit:cover}[data-gp-theme="starlight-moonlit-premium"] .ip-art figcaption,[data-gp-theme="starlight-moonlit-premium"] .ip-caption{font-size:14px;line-height:1.5;color:var(--ip-muted);padding-top:10px}[data-gp-theme="starlight-moonlit-premium"] .ip-section>.ip-caption{margin-bottom:20px}[data-gp-theme="starlight-moonlit-premium"] .ip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}[data-gp-theme="starlight-moonlit-premium"] .ip-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px}[data-gp-theme="starlight-moonlit-premium"] .ip-card{min-width:0;border-top:1px solid var(--ip-line);padding:25px 0}[data-gp-theme="starlight-moonlit-premium"] .ip-card figure{height:230px;margin-bottom:25px}[data-gp-theme="starlight-moonlit-premium"] .ip-reading{width:min(76ch,calc(100% - 48px));margin-inline:auto;padding-block:55px}[data-gp-theme="starlight-moonlit-premium"] .ip-reading h2{margin-top:40px}[data-gp-theme="starlight-moonlit-premium"] .ip-ledger{margin:24px 0}[data-gp-theme="starlight-moonlit-premium"] .ip-ledger>div{display:grid;grid-template-columns:1fr 1.4fr;gap:20px;border-top:1px solid var(--ip-line);padding:15px 0}[data-gp-theme="starlight-moonlit-premium"] .ip-ledger dt{font-weight:600}[data-gp-theme="starlight-moonlit-premium"] .ip-ledger dd{margin:0}[data-gp-theme="starlight-moonlit-premium"] .ip-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border:1px solid var(--ip-accent);background:var(--ip-accent);color:var(--ip-on)!important;text-decoration:none;font-size:16px;transition:transform 150ms var(--ease-out)}[data-gp-theme="starlight-moonlit-premium"] .ip-action.secondary{background:transparent;color:var(--ip-ink)!important;border-color:var(--ip-line)}[data-gp-theme="starlight-moonlit-premium"] .ip-band{padding:55px max(24px,calc((100% - 1320px)/2));background:var(--ip-wash);color:var(--ip-ink)}[data-gp-theme="starlight-moonlit-premium"] .ip-band p{max-width:65ch}[data-gp-theme="starlight-moonlit-premium"] .ip-note{font-size:15px;border-left:3px solid var(--ip-accent);padding:12px 18px;background:var(--ip-wash);color:var(--ip-ink);margin-block:20px}[data-gp-theme="starlight-moonlit-premium"] .ip-form{display:grid;gap:22px}[data-gp-theme="starlight-moonlit-premium"] .ip-form label{display:grid;gap:8px;font-size:16px}[data-gp-theme="starlight-moonlit-premium"] .ip-form :is(input,textarea,select){width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid var(--ip-line);background:var(--ip-paper);color:var(--ip-ink);font:inherit;border-radius:0}[data-gp-theme="starlight-moonlit-premium"] .ip-form :is(input,textarea)::placeholder{color:var(--ip-muted);opacity:1}[data-gp-theme="starlight-moonlit-premium"] .ip-field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}[data-gp-theme="starlight-moonlit-premium"] .ip-form :is(button,[role="button"]){justify-self:start}[data-gp-theme="starlight-moonlit-premium"] .ip-form textarea{min-height:135px}[data-gp-theme="starlight-moonlit-premium"] .inside-page output[data-draft-output]{display:block;white-space:pre-wrap;padding:25px;background:var(--ip-wash);color:var(--ip-ink);border:1px solid var(--ip-line);overflow-wrap:anywhere}[data-gp-theme="starlight-moonlit-premium"] .ip-checks{display:grid;gap:12px}[data-gp-theme="starlight-moonlit-premium"] .ip-checks label{display:flex;align-items:start;gap:14px;border-top:1px solid var(--ip-line);padding:16px 0;min-height:52px}[data-gp-theme="starlight-moonlit-premium"] .ip-checks input{width:22px;height:22px;min-height:22px;flex-shrink:0;margin-top:4px;accent-color:var(--ip-accent)}[data-gp-theme="starlight-moonlit-premium"] .inside-page details{border-top:1px solid var(--ip-line);padding:18px 0}[data-gp-theme="starlight-moonlit-premium"] .inside-page summary{min-height:44px;font-size:21px;cursor:pointer}[data-gp-theme="starlight-moonlit-premium"] .inside-page details p{padding:16px 0 0}[data-gp-theme="starlight-moonlit-premium"] .inside-page [data-filter-group]>[role=group]{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}[data-gp-theme="starlight-moonlit-premium"] .inside-page [data-filter]{padding:10px 18px;min-height:44px;background:transparent;color:var(--ip-ink);border:1px solid var(--ip-line)}[data-gp-theme="starlight-moonlit-premium"] .inside-page [data-filter][aria-pressed=true]{background:var(--ip-accent);color:var(--ip-on)}[data-gp-theme="starlight-moonlit-premium"] .site-directory{padding:30px!important;background:var(--ip-paper)!important;color:var(--ip-ink)!important;border-top:1px solid var(--ip-line)}[data-gp-theme="starlight-moonlit-premium"] .site-directory h3{font:600 17px/1.4 var(--body,"Figtree",sans-serif);margin:0 0 16px}[data-gp-theme="starlight-moonlit-premium"] .site-directory>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 25px}[data-gp-theme="starlight-moonlit-premium"] .site-directory a{display:block;font:16px/1.5 var(--body,"Figtree",sans-serif)!important;min-height:44px;padding:10px 0!important;color:inherit!important;text-decoration:none}[data-gp-theme="starlight-moonlit-premium"] .site-directory a[aria-current=page]{text-decoration:underline;font-weight:600!important}[data-gp-theme="starlight-moonlit-premium"] .site-open-preview{display:block;padding:10px 20px;background:#eef0eb;color:#20322d;font:14px/1.4 "Figtree",sans-serif;text-align:center}
[data-gp-theme="starlight-moonlit-premium"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){width:100%;padding-inline:max(24px,4vw)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="starlight-moonlit-premium"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){padding-inline:max(24px,4cqw)}}
[data-gp-theme="starlight-moonlit-premium"]:has([data-gp-theme="starlight-moonlit-premium"][data-layout=boxed]){background:#a6afa9}[data-gp-theme="starlight-moonlit-premium"][data-layout=boxed]{width:min(1200px,calc(100% - 64px));margin-inline:auto;box-shadow:0 0 0 1px #0002,0 20px 70px #0002;min-height:100dvh;background:var(--ip-paper)}
[data-gp-theme="starlight-moonlit-premium"][data-layout=centered] :is(.ip-hero,.opening,.cake-opening,.gp-title,.book-opening,.poster-opening,.portal-opening,.destination-opening,.route-opening){text-align:center}
[data-gp-theme="starlight-moonlit-premium"][data-layout=centered] .ip-hero{grid-template-columns:1fr;max-width:1000px;justify-items:center}[data-gp-theme="starlight-moonlit-premium"][data-layout=centered] .ip-opening{display:grid;justify-items:center}[data-gp-theme="starlight-moonlit-premium"][data-layout=centered] .ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="starlight-moonlit-premium"][data-layout=centered] .ip-art{width:min(760px,100%)}
[data-gp-theme="starlight-moonlit-premium"][data-layout=minimalist] :is(.ip-section,.ip-hero){padding-block:42px}[data-gp-theme="starlight-moonlit-premium"][data-layout=minimalist] :is(.ip-card,.ip-art,.ip-note){border-radius:0;box-shadow:none;background-image:none}[data-gp-theme="starlight-moonlit-premium"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5vw,64px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="starlight-moonlit-premium"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5cqw,64px)}}[data-gp-theme="starlight-moonlit-premium"][data-layout=minimalist] :is(.mullions,.glaze-rim,.cake-sticker,.paper-corner){opacity:0}[data-gp-theme="starlight-moonlit-premium"][data-layout=minimalist] :is(.ip-art img,.opening img){border-radius:0}
[data-gp-theme="starlight-moonlit-premium"][data-layout=edge-hero] .ip-hero{width:100%;padding-inline:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="starlight-moonlit-premium"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4vw)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="starlight-moonlit-premium"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4cqw)}}[data-gp-theme="starlight-moonlit-premium"][data-layout=edge-hero] .ip-art{height:600px}[data-gp-theme="starlight-moonlit-premium"][data-layout=edge-hero] .ip-art img{border-radius:0}[data-gp-theme="starlight-moonlit-premium"][data-layout=edge-hero] .ip-art figcaption{padding:8px 20px}
[data-gp-theme="starlight-moonlit-premium"][data-layout=full-width] .inside-page>.ip-opening{width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="starlight-moonlit-premium"][data-layout=full-width] .inside-page>.ip-opening{padding-inline:4cqw}}
[data-gp-theme="starlight-moonlit-premium"][data-layout=centered] .inside-page>.ip-opening{display:flex;flex-direction:column;align-items:center;text-align:center;width:min(1000px,calc(100% - 48px));gap:30px}[data-gp-theme="starlight-moonlit-premium"][data-layout=centered] .inside-page>.ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="starlight-moonlit-premium"][data-layout=centered] .inside-page>.ip-opening>figure{width:min(780px,100%)}
[data-gp-theme="starlight-moonlit-premium"][data-layout=minimalist] .inside-page>.ip-opening{padding-block:38px}[data-gp-theme="starlight-moonlit-premium"][data-layout=minimalist] .inside-page>.ip-opening :is(h1,figure){box-shadow:none;border-radius:0}
[data-gp-theme="starlight-moonlit-premium"][data-layout=edge-hero] .inside-page>.ip-opening{width:100%;max-width:none;padding:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="starlight-moonlit-premium"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="starlight-moonlit-premium"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4cqw}}[data-gp-theme="starlight-moonlit-premium"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:600px;max-width:none;align-self:stretch}[data-gp-theme="starlight-moonlit-premium"][data-layout=edge-hero] .inside-page>.ip-opening>figure img{height:100%;object-fit:cover;border-radius:0}
/* Existing home compositions gain real width/spacing modes without replacing their content. */
[data-gp-theme="starlight-moonlit-premium"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="starlight-moonlit-premium"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){padding-inline:4cqw}}
[data-gp-theme="starlight-moonlit-premium"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child{text-align:center}
[data-gp-theme="starlight-moonlit-premium"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(h1,p){margin-inline:auto}[data-gp-theme="starlight-moonlit-premium"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(.opening-copy,.elevation-copy,.cake-copy,.hero-copy){text-align:center}
[data-gp-theme="starlight-moonlit-premium"][data-layout=minimalist]:not([data-inside]) .gp-source-main>section{padding-block:44px}[data-gp-theme="starlight-moonlit-premium"][data-layout=minimalist]:not([data-inside]) :is(.hero-sleeve,.calendar,.hello-note,.open-book){box-shadow:none}
[data-gp-theme="starlight-moonlit-premium"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child{width:100%;max-width:none;margin-inline:0;padding-inline:0;background:var(--ip-wash)}[data-gp-theme="starlight-moonlit-premium"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="starlight-moonlit-premium"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4cqw}}[data-gp-theme="starlight-moonlit-premium"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:600px}
@media(hover:hover) and (pointer:fine){[data-gp-theme="starlight-moonlit-premium"] .ip-action:hover{transform:translateY(-2px)}[data-gp-theme="starlight-moonlit-premium"] .site-directory a:hover{text-decoration:underline}}
@media(max-width:850px){[data-gp-theme="starlight-moonlit-premium"] .ip-hero,[data-gp-theme="starlight-moonlit-premium"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="starlight-moonlit-premium"] .ip-hero{gap:30px}[data-gp-theme="starlight-moonlit-premium"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="starlight-moonlit-premium"] .ip-two{gap:30px}[data-gp-theme="starlight-moonlit-premium"] .ip-art{height:340px}}
@containerfs-editor-canvas (max-width: 850px){[data-gp-theme="starlight-moonlit-premium"] .ip-hero,[data-gp-theme="starlight-moonlit-premium"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="starlight-moonlit-premium"] .ip-hero{gap:30px}[data-gp-theme="starlight-moonlit-premium"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="starlight-moonlit-premium"] .ip-two{gap:30px}[data-gp-theme="starlight-moonlit-premium"] .ip-art{height:340px}}
@media(max-width:600px){[data-gp-theme="starlight-moonlit-premium"] .ip-hero,[data-gp-theme="starlight-moonlit-premium"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="starlight-moonlit-premium"] .ip-hero,[data-gp-theme="starlight-moonlit-premium"] .ip-two,[data-gp-theme="starlight-moonlit-premium"] .ip-grid,[data-gp-theme="starlight-moonlit-premium"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="starlight-moonlit-premium"] .ip-art{height:300px}[data-gp-theme="starlight-moonlit-premium"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="starlight-moonlit-premium"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="starlight-moonlit-premium"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="starlight-moonlit-premium"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="starlight-moonlit-premium"] .site-directory{padding:22px!important}[data-gp-theme="starlight-moonlit-premium"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="starlight-moonlit-premium"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="starlight-moonlit-premium"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="starlight-moonlit-premium"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="starlight-moonlit-premium"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="starlight-moonlit-premium"] .ip-hero,[data-gp-theme="starlight-moonlit-premium"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="starlight-moonlit-premium"] .ip-hero,[data-gp-theme="starlight-moonlit-premium"] .ip-two,[data-gp-theme="starlight-moonlit-premium"] .ip-grid,[data-gp-theme="starlight-moonlit-premium"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="starlight-moonlit-premium"] .ip-art{height:300px}[data-gp-theme="starlight-moonlit-premium"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="starlight-moonlit-premium"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="starlight-moonlit-premium"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="starlight-moonlit-premium"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="starlight-moonlit-premium"] .site-directory{padding:22px!important}[data-gp-theme="starlight-moonlit-premium"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="starlight-moonlit-premium"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="starlight-moonlit-premium"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="starlight-moonlit-premium"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="starlight-moonlit-premium"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@media(max-width:600px){[data-gp-theme="starlight-moonlit-premium"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="starlight-moonlit-premium"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="starlight-moonlit-premium"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="starlight-moonlit-premium"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="starlight-moonlit-premium"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="starlight-moonlit-premium"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
[data-gp-theme="starlight-moonlit-premium"] .inside-page a[aria-disabled=true]{cursor:default;text-decoration:none}
[data-gp-theme="starlight-moonlit-premium"][data-layout=edge-hero] .inside-page .ip-hero .ip-art{transform:none}
@media(prefers-reduced-motion:reduce){[data-gp-theme="starlight-moonlit-premium"] .ip-action{transition:none;transform:none!important}}
/* Task actions always use an explicit contrasting pair, including themed form overrides. */
[data-gp-theme="starlight-moonlit-premium"][data-site] .inside-page :is(.ip-form :is(button,[role="button"]):is([type="submit"],[data-gp-button-type="submit"]),[data-save-draft],.ip-action:not(.secondary)){
 background:var(--ip-ink)!important;color:var(--ip-paper)!important;border:1px solid var(--ip-ink)!important;
 min-height:48px;padding:12px 22px;font-size:16px;line-height:1.4;
}
[data-gp-theme="starlight-moonlit-premium"][data-site] .inside-page .ip-action.secondary{background:transparent!important;color:var(--ip-ink)!important;border-color:var(--ip-line)!important}
[data-gp-theme="starlight-moonlit-premium"][data-site] .inside-page .ip-form :is(select,select option){background-color:var(--ip-paper);color:var(--ip-ink)}
[data-gp-theme="starlight-moonlit-premium"] .site-plan-label{display:block;font:400 14px/1.45 var(--body,sans-serif);margin-top:6px;text-decoration:none;opacity:1}
[data-gp-theme="starlight-moonlit-premium"] a[data-preview-plan]{cursor:pointer}[data-gp-theme="starlight-moonlit-premium"] .inside-page a[data-preview-plan]{text-decoration:none}
[data-gp-theme="starlight-moonlit-premium"][data-site] .site-directory a[data-preview-plan]{display:flex;flex-direction:column;align-items:flex-start;gap:2px}[data-gp-theme="starlight-moonlit-premium"] .site-directory .site-plan-label{font-size:13px;margin:0}

[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-opening{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:center;margin:0 auto;padding:64px 0 48px;width:min(1280px,calc(100% - 64px));border-bottom:1px solid var(--line,#9a9a91)}

@container fs-editor-canvas (min-width: 0px){

[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-opening{gap:clamp(24px,5cqw,80px)}}
[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-opening:not(:has(figure)){grid-template-columns:1fr;max-width:1280px}[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-opening h1{max-width:16ch;font-size:clamp(42px,6vw,86px);line-height:1.03}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-opening h1{font-size:clamp(42px,6cqw,86px)}}
[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-folio{font-size:14px;margin-bottom:20px;color:var(--muted,currentColor)}[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-deck{max-width:58ch;margin-top:26px;font-size:21px;line-height:1.55}
[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-art{margin:0;min-width:0}[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-art img{width:100%;height:360px;object-fit:cover}[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-art figcaption{font-size:13px;line-height:1.5;padding-top:12px}
[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-section{padding:50px 0;margin:auto;width:min(1280px,calc(100% - 64px))}[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-section>h2{font-size:clamp(30px,3.6vw,52px);max-width:25ch;margin-bottom:26px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-section>h2{font-size:clamp(30px,3.6cqw,52px)}}
[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-section>p{max-width:70ch;line-height:1.65;margin:20px 0}[data-gp-theme="starlight-moonlit-premium"] .ip-essays{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}[data-gp-theme="starlight-moonlit-premium"] .ip-essays article{border-top:2px solid var(--accent,currentColor);padding-top:22px}[data-gp-theme="starlight-moonlit-premium"] .ip-essays h3,[data-gp-theme="starlight-moonlit-premium"] .ip-sequence h3{font-size:26px;margin-bottom:14px}[data-gp-theme="starlight-moonlit-premium"] .ip-essays p,[data-gp-theme="starlight-moonlit-premium"] .ip-sequence p{font-size:17px;line-height:1.65}
[data-gp-theme="starlight-moonlit-premium"] .ip-sequence{list-style:decimal;padding:0 0 0 28px;margin:0;display:grid;gap:26px}[data-gp-theme="starlight-moonlit-premium"] .ip-sequence li{padding-left:15px;max-width:74ch}[data-gp-theme="starlight-moonlit-premium"] .ip-sequence li::marker{color:var(--accent,currentColor);font-weight:700}
[data-gp-theme="starlight-moonlit-premium"] .ip-ledger{margin:22px 0}[data-gp-theme="starlight-moonlit-premium"] .ip-ledger>div{display:grid;grid-template-columns:1fr 1.6fr;gap:20px;border-top:1px solid var(--line,#999);padding:16px 0}[data-gp-theme="starlight-moonlit-premium"] .ip-ledger dt{font-weight:600}[data-gp-theme="starlight-moonlit-premium"] .ip-ledger dd{margin:0;line-height:1.6}[data-gp-theme="starlight-moonlit-premium"] .ip-action{display:inline-flex;gap:12px;padding:12px 18px;min-height:48px;align-items:center;text-decoration:none;border:1px solid currentColor;background:transparent;color:inherit;font:600 16px/1.4 var(--body,inherit)}
[data-gp-theme="starlight-moonlit-premium"] .ip-band{width:min(1280px,calc(100% - 64px));margin:30px auto 64px;padding:32px;display:flex;align-items:center;justify-content:space-between;gap:32px;border:1px solid var(--line,#999);background:var(--wash,transparent)}[data-gp-theme="starlight-moonlit-premium"] .ip-band h2{font-size:34px;margin-bottom:16px}[data-gp-theme="starlight-moonlit-premium"] .ip-band p{max-width:58ch;font-size:17px}[data-gp-theme="starlight-moonlit-premium"] .ip-band>.ip-action{flex-shrink:0}
[data-gp-theme="starlight-moonlit-premium"] .ip-draft{max-width:850px}[data-gp-theme="starlight-moonlit-premium"] .ip-form{display:grid;grid-template-columns:1fr 1fr;gap:22px}[data-gp-theme="starlight-moonlit-premium"] .ip-form label{display:grid;gap:9px;font-size:16px;min-width:0}[data-gp-theme="starlight-moonlit-premium"] .ip-form input,[data-gp-theme="starlight-moonlit-premium"] .ip-form select,[data-gp-theme="starlight-moonlit-premium"] .ip-form textarea{width:100%;min-width:0;background:var(--paper,#fff);color:var(--ink,#222);border:1px solid var(--line,#888);padding:12px;font:inherit;border-radius:0}[data-gp-theme="starlight-moonlit-premium"] .ip-form label:has(textarea),[data-gp-theme="starlight-moonlit-premium"] .ip-form>.ip-note{grid-column:1/-1}[data-gp-theme="starlight-moonlit-premium"] .ip-form textarea{min-height:130px}[data-gp-theme="starlight-moonlit-premium"] .ip-note{font-size:14px;line-height:1.6;max-width:68ch}[data-gp-theme="starlight-moonlit-premium"] .ip-draft output{display:block;white-space:pre-wrap;padding:24px;margin-top:24px;border:1px solid var(--line,#888);background:var(--wash,transparent)}
[data-gp-theme="starlight-moonlit-premium"] .ip-checks{max-width:800px}[data-gp-theme="starlight-moonlit-premium"] .ip-checks label{display:flex;gap:16px;align-items:start;border-bottom:1px solid var(--line,#999);padding:18px 0;line-height:1.55}[data-gp-theme="starlight-moonlit-premium"] .ip-checks input{width:21px;height:21px;flex-shrink:0;accent-color:var(--accent,currentColor);margin-top:3px}[data-gp-theme="starlight-moonlit-premium"] .ip-checks output{display:block;margin-top:22px;font-weight:600}
[data-gp-theme="starlight-moonlit-premium"] .ip-faq{max-width:850px}[data-gp-theme="starlight-moonlit-premium"] .ip-faq details{border-top:1px solid var(--line,#999);padding:18px 0}[data-gp-theme="starlight-moonlit-premium"] .ip-faq summary{min-height:44px;cursor:pointer;font-weight:600}[data-gp-theme="starlight-moonlit-premium"] .ip-faq p{padding:12px 0;line-height:1.7;max-width:72ch}[data-gp-theme="starlight-moonlit-premium"] .ip-choices{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}[data-gp-theme="starlight-moonlit-premium"] .ip-choices :is(button,[role="button"]),[data-gp-theme="starlight-moonlit-premium"] [data-filter]{background:var(--paper,#fff);color:var(--ink,#222);border:1px solid var(--line,#999);padding:12px 18px;font:inherit;min-height:44px;cursor:pointer}[data-gp-theme="starlight-moonlit-premium"] .ip-choices [aria-pressed=true],[data-gp-theme="starlight-moonlit-premium"] [data-filter][aria-pressed=true]{outline:2px solid var(--accent,currentColor);outline-offset:3px}[data-gp-theme="starlight-moonlit-premium"] .ip-notes output{display:block;padding:20px;background:var(--wash,transparent);max-width:72ch;line-height:1.6}
[data-gp-theme="starlight-moonlit-premium"] .ip-records{display:grid;gap:28px;margin:28px 0}[data-gp-theme="starlight-moonlit-premium"] .ip-records article{border-top:1px solid var(--line,#999);padding:28px 0;display:grid;grid-template-columns:1fr 1.2fr;gap:32px}[data-gp-theme="starlight-moonlit-premium"] .ip-records article>img{width:100%;height:290px;object-fit:cover}[data-gp-theme="starlight-moonlit-premium"] .ip-records h3{font-size:34px;margin-bottom:20px}[data-gp-theme="starlight-moonlit-premium"] .ip-records p{line-height:1.65;margin:16px 0}[data-gp-theme="starlight-moonlit-premium"] .ip-records .ip-action{margin-top:16px}[data-gp-theme="starlight-moonlit-premium"] .ip-detail-record{padding:36px 0;border-top:2px solid var(--accent,currentColor);scroll-margin-top:30px}[data-gp-theme="starlight-moonlit-premium"] .ip-detail-record>h3{font-size:36px;margin-bottom:22px}[data-gp-theme="starlight-moonlit-premium"] .ip-detail-record>p{max-width:72ch;line-height:1.7}
[data-gp-theme="starlight-moonlit-premium"] .ip-reading{max-width:76ch!important;margin-left:auto!important;margin-right:auto!important}[data-gp-theme="starlight-moonlit-premium"] .ip-reading h3{margin-top:28px}[data-gp-theme="starlight-moonlit-premium"] .ip-table-scroll{overflow-x:auto}[data-gp-theme="starlight-moonlit-premium"] .ip-data-table{border-collapse:collapse;width:100%;min-width:650px;font-size:16px}[data-gp-theme="starlight-moonlit-premium"] .ip-data-table th,[data-gp-theme="starlight-moonlit-premium"] .ip-data-table td{border:1px solid var(--line,#999);padding:18px;text-align:left;vertical-align:top;line-height:1.6}[data-gp-theme="starlight-moonlit-premium"] .ip-data-table th{background:var(--wash,transparent)}[data-gp-theme="starlight-moonlit-premium"] .ip-filter-bar{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}[data-gp-theme="starlight-moonlit-premium"] .ip-filter-bar output{width:100%;margin:8px 0}
[data-gp-theme="starlight-moonlit-premium"][data-inside] :is(.ip-action,summary,[data-filter],[data-note-choice],input,select,textarea):focus-visible{outline:3px solid var(--accent,currentColor);outline-offset:4px}[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-action:hover{opacity:.85}[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-action:active{transform:translateY(1px)}
@media(max-width:700px){[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-opening,[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-section,[data-gp-theme="starlight-moonlit-premium"] .ip-band{width:calc(100% - 32px)}[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-opening{grid-template-columns:1fr;padding:35px 0;gap:28px}[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-opening h1{font-size:45px;max-width:18ch}[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-deck{font-size:18px}[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-art img{height:300px}[data-gp-theme="starlight-moonlit-premium"] .ip-essays,[data-gp-theme="starlight-moonlit-premium"] .ip-form,[data-gp-theme="starlight-moonlit-premium"] .ip-records article{grid-template-columns:1fr}[data-gp-theme="starlight-moonlit-premium"] .ip-ledger>div{grid-template-columns:1fr;gap:8px}[data-gp-theme="starlight-moonlit-premium"] .ip-band{display:block;padding:24px}[data-gp-theme="starlight-moonlit-premium"] .ip-band>.ip-action{margin-top:22px}[data-gp-theme="starlight-moonlit-premium"] .ip-section{padding-block:34px}[data-gp-theme="starlight-moonlit-premium"] .ip-form label:has(textarea),[data-gp-theme="starlight-moonlit-premium"] .ip-form>.ip-note{grid-column:auto}[data-gp-theme="starlight-moonlit-premium"] .ip-records article>img{height:250px}}
@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-opening,[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-section,[data-gp-theme="starlight-moonlit-premium"] .ip-band{width:calc(100% - 32px)}[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-opening{grid-template-columns:1fr;padding:35px 0;gap:28px}[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-opening h1{font-size:45px;max-width:18ch}[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-deck{font-size:18px}[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-art img{height:300px}[data-gp-theme="starlight-moonlit-premium"] .ip-essays,[data-gp-theme="starlight-moonlit-premium"] .ip-form,[data-gp-theme="starlight-moonlit-premium"] .ip-records article{grid-template-columns:1fr}[data-gp-theme="starlight-moonlit-premium"] .ip-ledger>div{grid-template-columns:1fr;gap:8px}[data-gp-theme="starlight-moonlit-premium"] .ip-band{display:block;padding:24px}[data-gp-theme="starlight-moonlit-premium"] .ip-band>.ip-action{margin-top:22px}[data-gp-theme="starlight-moonlit-premium"] .ip-section{padding-block:34px}[data-gp-theme="starlight-moonlit-premium"] .ip-form label:has(textarea),[data-gp-theme="starlight-moonlit-premium"] .ip-form>.ip-note{grid-column:auto}[data-gp-theme="starlight-moonlit-premium"] .ip-records article>img{height:250px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-action:active{transform:none}}
[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-chapter-opening{gap:70px}[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-chapter-opening h1{font-weight:400}[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-book-cover{padding:40px 30px;background:var(--ink);color:var(--paper);border:8px double var(--accent);min-height:400px;max-width:360px;width:100%;margin:auto;text-align:center;display:flex;flex-direction:column;justify-content:space-between;gap:28px}[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-book-cover strong{font:42px/1.1 var(--display)}[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-book-cover>span:not(.fs-richtext):nth-of-type(2){font-size:55px}[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-book-cover figcaption{font-size:13px;color:inherit}[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-book-entry{display:grid;grid-template-columns:1fr 1fr;gap:55px}[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-world-index article{display:grid;grid-template-columns:60px 1fr;border-top:1px solid var(--line);padding:30px 0;gap:25px}[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-world-index article>span:not(.fs-richtext){font:50px var(--display);color:var(--accent)}[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-world-index h3{font-size:35px;margin-bottom:18px}[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-world-index p{max-width:65ch;line-height:1.7;margin-bottom:20px}[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-reading-controls{display:flex;flex-wrap:wrap;gap:12px}[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-reading-controls output{width:100%;font-size:14px}[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-reading-sample{font-size:var(--reading-size,20px);line-height:1.85}[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-reading-sample p+p{margin-top:1.5em}[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-release-ledger{list-style:none;padding:0;max-width:75ch}[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-release-ledger li{border-top:1px solid var(--line);padding:28px 0}[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-release-ledger h3{font-size:31px;margin-bottom:18px}@media(max-width:700px){[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-book-entry{grid-template-columns:1fr;gap:28px}[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-world-index article{grid-template-columns:35px 1fr;gap:15px}[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-book-cover{min-height:360px}}@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-book-entry{grid-template-columns:1fr;gap:28px}[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-world-index article{grid-template-columns:35px 1fr;gap:15px}[data-gp-theme="starlight-moonlit-premium"][data-inside] .ip-book-cover{min-height:360px}}


/* Owner selected alternative on 18 October 2026. Main heading roles only. */
[data-gp-theme="starlight-moonlit-premium"][data-gp-kind="section"] h1{font-family:"Literata", serif!important;font-weight:550!important;letter-spacing:-0.01em!important;line-height:1.12!important;font-variation-settings:normal!important;font-optical-sizing:auto!important}
[data-gp-theme="starlight-moonlit-premium"][data-gp-kind="section"] h2{font-family:"Literata", serif!important;font-weight:550!important;letter-spacing:-.01em!important;line-height:1.17!important;font-variation-settings:normal!important;font-optical-sizing:auto!important}
[data-gp-theme="starlight-moonlit-premium"][data-gp-kind="section"] h3{font-family:"Source Sans 3", sans-serif!important;font-weight:600!important;letter-spacing:0!important;line-height:1.25!important;font-variation-settings:normal!important}
[data-gp-theme="starlight-moonlit-premium"][data-inside][data-gp-kind="section"] h1{font-family:"Literata", serif!important;line-height:1.14!important;letter-spacing:-.012em!important;font-weight:550!important;text-transform:none!important}
@media(max-width:650px){[data-gp-theme="starlight-moonlit-premium"][data-gp-kind="section"] h1{line-height:1.12!important;letter-spacing:-0.01em!important}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="starlight-moonlit-premium"][data-gp-kind="section"] h1{line-height:1.12!important;letter-spacing:-0.01em!important}}


[data-gp-theme="starlight-moonlit-premium"] .u-experience{margin:72px auto;padding:48px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink);width:min(1280px,calc(100% - 80px));scroll-margin-top:30px}
[data-gp-theme="starlight-moonlit-premium"] .inside-page .u-experience{width:min(1280px,calc(100% - 80px));margin:48px auto}[data-gp-theme="starlight-moonlit-premium"] .u-experience *{box-sizing:border-box}[data-gp-theme="starlight-moonlit-premium"] .u-experience [hidden]{display:none!important}
[data-gp-theme="starlight-moonlit-premium"] .u-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:end;margin-bottom:32px}[data-gp-theme="starlight-moonlit-premium"] .u-heading h2{font-size:clamp(32px,4vw,58px);max-width:20ch}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="starlight-moonlit-premium"] .u-heading h2{font-size:clamp(32px,4cqw,58px)}}[data-gp-theme="starlight-moonlit-premium"] .u-heading p{max-width:50ch}[data-gp-theme="starlight-moonlit-premium"] .u-caption{font-size:14px;line-height:1.5;color:var(--muted)}
[data-gp-theme="starlight-moonlit-premium"] .u-choices{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}[data-gp-theme="starlight-moonlit-premium"] .u-experience :is(button,[role="button"]),[data-gp-theme="starlight-moonlit-premium"] .u-link{min-height:44px;padding:10px 16px;background:var(--paper);border:1px solid var(--line);color:var(--ink);font:600 16px/1.4 var(--body);cursor:pointer;text-decoration:none}[data-gp-theme="starlight-moonlit-premium"] .u-experience :is(button,[role="button"])[aria-pressed=true]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}[data-gp-theme="starlight-moonlit-premium"] .u-experience :is(button,[role="button"]):focus-visible,[data-gp-theme="starlight-moonlit-premium"] .u-experience a:focus-visible,[data-gp-theme="starlight-moonlit-premium"] .u-experience summary:focus-visible,[data-gp-theme="starlight-moonlit-premium"] .u-experience input:focus-visible{outline:3px solid var(--accent);outline-offset:4px}[data-gp-theme="starlight-moonlit-premium"] .u-experience :is(button,[role="button"]):active{transform:scale(.98)}
[data-gp-theme="starlight-moonlit-premium"] .u-experience svg{display:block;width:100%;height:auto;color:var(--ink)}[data-gp-theme="starlight-moonlit-premium"] .u-art-paper{fill:var(--paper)}[data-gp-theme="starlight-moonlit-premium"] .u-art-wash{fill:var(--wash)}[data-gp-theme="starlight-moonlit-premium"] .u-art-accent{fill:var(--accent)}[data-gp-theme="starlight-moonlit-premium"] .u-art-line{fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}[data-gp-theme="starlight-moonlit-premium"] .u-art-fine{fill:none;stroke:var(--ink);stroke-width:1;opacity:.65}[data-gp-theme="starlight-moonlit-premium"] .u-art-note{font:16px var(--body);fill:var(--ink)}
[data-gp-theme="starlight-moonlit-premium"] .u-check{display:flex;align-items:flex-start;gap:12px;min-height:48px;padding:14px 0;border-top:1px solid var(--line);cursor:pointer;line-height:1.45}[data-gp-theme="starlight-moonlit-premium"] .u-check input{accent-color:var(--accent);width:21px;height:21px;flex:0 0 21px;margin:2px 0 0}[data-gp-theme="starlight-moonlit-premium"] .u-check span:not(.fs-richtext){min-width:0}[data-gp-theme="starlight-moonlit-premium"] .u-summary{padding:28px;background:var(--wash);border-left:4px solid var(--accent);margin:28px 0}[data-gp-theme="starlight-moonlit-premium"] .u-summary h2,[data-gp-theme="starlight-moonlit-premium"] .u-summary h3{font-size:28px;margin-bottom:14px}[data-gp-theme="starlight-moonlit-premium"] .u-summary ul{margin:12px 0;padding-left:22px}[data-gp-theme="starlight-moonlit-premium"] .u-summary p{font-size:16px}[data-gp-theme="starlight-moonlit-premium"] .u-summary li{padding:5px 0}[data-gp-theme="starlight-moonlit-premium"] .u-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px}[data-gp-theme="starlight-moonlit-premium"] .u-bottom output{font-size:16px}[data-gp-theme="starlight-moonlit-premium"] .u-link{display:inline-flex;align-items:center;background:var(--ink);color:var(--paper);border-color:var(--ink)}[data-gp-theme="starlight-moonlit-premium"] .u-note{font-size:15px;margin-top:20px;max-width:75ch}
@media(max-width:700px){[data-gp-theme="starlight-moonlit-premium"] .u-experience,[data-gp-theme="starlight-moonlit-premium"] .inside-page .u-experience{width:calc(100% - 32px);margin:40px auto;padding:30px 0}[data-gp-theme="starlight-moonlit-premium"] .u-heading{grid-template-columns:1fr;gap:18px;margin-bottom:24px}[data-gp-theme="starlight-moonlit-premium"] .u-heading h2{font-size:36px}[data-gp-theme="starlight-moonlit-premium"] .u-bottom{align-items:stretch;flex-direction:column;gap:16px}[data-gp-theme="starlight-moonlit-premium"] .u-link{justify-content:center}[data-gp-theme="starlight-moonlit-premium"] .u-summary{padding:22px}[data-gp-theme="starlight-moonlit-premium"] .u-experience :is(button,[role="button"]){max-width:100%;overflow-wrap:anywhere}}
@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="starlight-moonlit-premium"] .u-experience,[data-gp-theme="starlight-moonlit-premium"] .inside-page .u-experience{width:calc(100% - 32px);margin:40px auto;padding:30px 0}[data-gp-theme="starlight-moonlit-premium"] .u-heading{grid-template-columns:1fr;gap:18px;margin-bottom:24px}[data-gp-theme="starlight-moonlit-premium"] .u-heading h2{font-size:36px}[data-gp-theme="starlight-moonlit-premium"] .u-bottom{align-items:stretch;flex-direction:column;gap:16px}[data-gp-theme="starlight-moonlit-premium"] .u-link{justify-content:center}[data-gp-theme="starlight-moonlit-premium"] .u-summary{padding:22px}[data-gp-theme="starlight-moonlit-premium"] .u-experience :is(button,[role="button"]){max-width:100%;overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="starlight-moonlit-premium"] .u-experience :is(button,[role="button"]):active{transform:none}[data-gp-theme="starlight-moonlit-premium"] .u-experience *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
[data-gp-theme="starlight-moonlit-premium"][data-input=keyboard] .u-experience :is(button,[role="button"]):active{transform:none}
[data-gp-theme="starlight-moonlit-premium"] .u-experience{--display:"Literata";--body:"Source Sans 3";}

[data-gp-theme="starlight-moonlit-premium"] .u-reader-landscape{max-width:720px;margin:0 0 24px}[data-gp-theme="starlight-moonlit-premium"] .u-reader-landscape svg{max-height:320px}[data-gp-theme="starlight-moonlit-premium"] .u-reading{display:grid;grid-template-columns:1.35fr 1fr;gap:64px;align-items:start}[data-gp-theme="starlight-moonlit-premium"] .u-passage{font:21px/1.9 var(--display);min-height:480px}[data-gp-theme="starlight-moonlit-premium"] .u-passage h3{font-size:32px;margin:20px 0 28px}[data-gp-theme="starlight-moonlit-premium"] .u-passage p+p{margin-top:1.3em}[data-gp-theme="starlight-moonlit-premium"] .u-margins{border-left:1px solid var(--line);padding-left:32px;min-height:480px}[data-gp-theme="starlight-moonlit-premium"] .u-margin{padding:12px 0}[data-gp-theme="starlight-moonlit-premium"] .u-margin h3{font-size:28px;margin-bottom:20px}[data-gp-theme="starlight-moonlit-premium"] .u-margin svg{max-height:200px;margin:18px 0}[data-gp-theme="starlight-moonlit-premium"] .u-margin p{font:17px/1.6 var(--body)}[data-gp-theme="starlight-moonlit-premium"] .u-margin :is(button,[role="button"]){margin-top:18px}[data-gp-theme="starlight-moonlit-premium"] .u-margin-empty{font:22px/1.6 var(--display);padding:35px 0;max-width:20ch}
@media(max-width:700px){[data-gp-theme="starlight-moonlit-premium"] .u-reading{grid-template-columns:1fr;gap:25px}[data-gp-theme="starlight-moonlit-premium"] .u-passage{min-height:0;font-size:20px}[data-gp-theme="starlight-moonlit-premium"] .u-margins{border-left:0;border-top:1px solid var(--line);padding:18px 0;min-height:200px}[data-gp-theme="starlight-moonlit-premium"] .u-reader-landscape svg{max-height:none}[data-gp-theme="starlight-moonlit-premium"] .u-margin-empty{padding:0}[data-gp-theme="starlight-moonlit-premium"] .u-passage .u-choices{font-family:var(--body)}}
@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="starlight-moonlit-premium"] .u-reading{grid-template-columns:1fr;gap:25px}[data-gp-theme="starlight-moonlit-premium"] .u-passage{min-height:0;font-size:20px}[data-gp-theme="starlight-moonlit-premium"] .u-margins{border-left:0;border-top:1px solid var(--line);padding:18px 0;min-height:200px}[data-gp-theme="starlight-moonlit-premium"] .u-reader-landscape svg{max-height:none}[data-gp-theme="starlight-moonlit-premium"] .u-margin-empty{padding:0}[data-gp-theme="starlight-moonlit-premium"] .u-passage .u-choices{font-family:var(--body)}}

/* Approved readability refinements, 18 October 2026.
   Only meaningful helpers, local groups and selected reading paragraphs.
   Owner-selected type families, display sizes and frozen comparisons stay authoritative. */

/* Kiln House: the brief promise and sample guidance are part of the task. */
[data-gp-theme="starlight-moonlit-premium"][data-site="kiln-house"] :is(.field-note,.form-note,.pairing-hint,.material-note,.light-note,.letter-note,.combination-copy small,.material-row small){font-size:14px;line-height:1.5}
[data-gp-theme="starlight-moonlit-premium"][data-site="kiln-house"] .form-note{margin-top:16px}
[data-gp-theme="starlight-moonlit-premium"][data-site="kiln-house"] :is(.quiet-button,.combination-action){font-size:15px;line-height:1.5}
[data-gp-theme="starlight-moonlit-premium"][data-site="kiln-house"] .quiet-button{min-height:44px}
[data-gp-theme="starlight-moonlit-premium"][data-site="kiln-house"] .directory-links a small{font-size:14px;line-height:1.5}

/* Small study labels explain a choice, rather than acting as an imprint. */
[data-gp-theme="starlight-moonlit-premium"][data-site="true-joint"] .ux-stage-bar :is(button,[role="button"]) small{font-size:14px;line-height:1.5}
[data-gp-theme="starlight-moonlit-premium"][data-site="neighbourhood-edit"] .ux-plan-header{font-size:14px;line-height:1.5;gap:12px;flex-wrap:wrap}
[data-gp-theme="starlight-moonlit-premium"][data-site="neighbourhood-edit"] .ux-room-title{margin-bottom:16px}
[data-gp-theme="starlight-moonlit-premium"][data-site="neighbourhood-edit"] .ux-room-title h3{margin-bottom:0}
[data-gp-theme="starlight-moonlit-premium"][data-site="neighbourhood-edit"] :is(.home-finder label,.home-finder output,.area-index small){font-size:14px;line-height:1.5}
[data-gp-theme="starlight-moonlit-premium"][data-site="neighbourhood-edit"] .home-finder select{font-size:16px;min-height:44px}
[data-gp-theme="starlight-moonlit-premium"][data-site="harbour"] .ux-folio .ux-document-row label{font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="starlight-moonlit-premium"][data-site="daymark-window-care"] .dm-sheet-head{font-size:14px;line-height:1.5;flex-wrap:wrap}
[data-gp-theme="starlight-moonlit-premium"][data-site="velum-window-care"] .ux-v-nav :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}

/* Existing small controls retain or gain the comfortable target height. */
[data-gp-theme="starlight-moonlit-premium"][data-site="stem-and-still"] .stem-slip :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:48px;gap:8px}
[data-gp-theme="starlight-moonlit-premium"][data-site="cake-box"] .flavour-pick :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="starlight-moonlit-premium"][data-site="cake-box"] .message-label small{font-size:14px;line-height:1.5}
[data-gp-theme="starlight-moonlit-premium"][data-site="crm-recruitment-people"] .question-buttons{gap:10px}
[data-gp-theme="starlight-moonlit-premium"][data-site="crm-recruitment-people"] .question-buttons :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:10px 12px}
[data-gp-theme="starlight-moonlit-premium"][data-site="the-second-set-programme"] .pr-order-actions :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:8px 10px}

/* The format facts belong with the large ensemble names. */
[data-gp-theme="starlight-moonlit-premium"][data-site="the-second-set-afterglow"] .ag-format-ribbon span:not(.fs-richtext){font-size:14px;line-height:1.5;margin-top:8px}
[data-gp-theme="starlight-moonlit-premium"][data-site="the-second-set-programme"] .opening-note{font-size:14px;line-height:1.5}
[data-gp-theme="starlight-moonlit-premium"][data-site="the-second-set-signal"] .form-note{font-size:14px;line-height:1.5}

/* Slipstream: useful record, filter and brief text; preserve the scrollable comparison. */
[data-gp-theme="starlight-moonlit-premium"][data-site="slipstream"] :is(.featured-price small,.rail-note,.stock-finder label,.stock-caption,.inspection-note,.inspection-instruction,.form-note,[data-gp-id="stock-count"],[data-gp-id="form-question-count"]){font-size:14px;line-height:1.5}
[data-gp-theme="starlight-moonlit-premium"][data-site="slipstream"] :is(.visit-form label,.form-pair label){font-size:15px;line-height:1.5}
[data-gp-theme="starlight-moonlit-premium"][data-site="slipstream"] :is(.car-record summary,[data-gp-id="reset-stock"],[data-gp-id="clear-compare"],.quick-compare button){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="starlight-moonlit-premium"][data-site="slipstream"] .stock-finder select{min-height:44px}

/* Narrow only sustained paragraphs, preserving plans, records, lists and tables. */
[data-gp-theme="starlight-moonlit-premium"]:is([data-site="stem-and-still"],[data-site="kiln-house"],[data-site="true-joint"])[data-inside] .ip-reading>p{max-width:64ch}

@media(max-width:700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="starlight-moonlit-premium"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="starlight-moonlit-premium"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="starlight-moonlit-premium"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="starlight-moonlit-premium"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="starlight-moonlit-premium"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="starlight-moonlit-premium"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="starlight-moonlit-premium"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="starlight-moonlit-premium"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="starlight-moonlit-premium"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

@containerfs-editor-canvas (max-width: 700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="starlight-moonlit-premium"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="starlight-moonlit-premium"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="starlight-moonlit-premium"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="starlight-moonlit-premium"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="starlight-moonlit-premium"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="starlight-moonlit-premium"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="starlight-moonlit-premium"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="starlight-moonlit-premium"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="starlight-moonlit-premium"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

/* No generic heading, body, section-spacing or panel-height reset.
   Goodpane's unused calendar CSS, Expedition's real stage envelope,
   Starlight's passage leading and Velum's display introduction need no blanket fix. */

/* Authored header/menu/footer only. Approved body, fonts and palette files stay intact. */
[data-gp-theme="starlight-moonlit-premium"] .ca-chrome,[data-gp-theme="starlight-moonlit-premium"] .ca-chrome *{box-sizing:border-box;min-width:0}
[data-gp-theme="starlight-moonlit-premium"] header.site-header.ca-header{width:min(1340px,calc(100% - 96px));max-width:none;margin-inline:auto;padding:26px 0;gap:22px;border:0;color:var(--ink);background:var(--paper)}
[data-gp-theme="starlight-moonlit-premium"] .ca-header .brand{max-width:100%;text-decoration:none;flex-shrink:1}
[data-gp-theme="starlight-moonlit-premium"] .ca-header .brand>span:not(.fs-richtext){min-width:0;overflow-wrap:anywhere}
[data-gp-theme="starlight-moonlit-premium"] .ca-header .brand small{line-height:1.45;font-size:13px}
[data-gp-theme="starlight-moonlit-premium"] .ca-header .brand svg{flex-shrink:0;width:38px;height:38px}
[data-gp-theme="starlight-moonlit-premium"] .ca-header a,[data-gp-theme="starlight-moonlit-premium"] .ca-header :is(button,[role="button"]){min-height:44px}
[data-gp-theme="starlight-moonlit-premium"] .ca-header nav{display:flex;align-items:center;gap:22px}
[data-gp-theme="starlight-moonlit-premium"] .ca-header nav a{display:flex;align-items:center;text-decoration:none;font:500 16px/1.35 var(--body);padding:9px 0}
[data-gp-theme="starlight-moonlit-premium"] .ca-trigger,[data-gp-theme="starlight-moonlit-premium"] .ca-menu [data-menu-close]{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:46px;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:11px 17px;font:500 15px/1.35 var(--body);cursor:pointer;white-space:normal;text-align:left}
[data-gp-theme="starlight-moonlit-premium"] .ca-trigger span:not(.fs-richtext){font-size:22px;line-height:1;flex:none}
[data-gp-theme="starlight-moonlit-premium"] .ca-label{display:block;font:500 13px/1.5 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
[data-gp-theme="starlight-moonlit-premium"] .ca-menu.mega-menu{width:min(1160px,calc(100% - 64px));max-height:90vh;overflow:auto;margin:auto;padding:0;background:var(--paper);color:var(--ink);border:1px solid var(--line)}
[data-gp-theme="starlight-moonlit-premium"] .ca-menu .menu-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 32px;border-bottom:1px solid var(--line);background:var(--paper);color:var(--ink)}
[data-gp-theme="starlight-moonlit-premium"] .ca-menu .menu-top>span:not(.fs-richtext){font:500 16px/1.4 var(--body)}
[data-gp-theme="starlight-moonlit-premium"] .ca-menu .menu-top :is(button,[role="button"]){color:var(--ink);border-color:var(--line)}
[data-gp-theme="starlight-moonlit-premium"] .ca-menu-body{padding:34px}
[data-gp-theme="starlight-moonlit-premium"] .ca-chrome h2,[data-gp-theme="starlight-moonlit-premium"] .ca-chrome h3,[data-gp-theme="starlight-moonlit-premium"] .ca-chrome p{margin:0}
[data-gp-theme="starlight-moonlit-premium"] .ca-chrome h2,[data-gp-theme="starlight-moonlit-premium"] .ca-chrome h3{font-family:var(--chrome-face,var(--display));font-weight:550;letter-spacing:-.015em;line-height:1.15;overflow-wrap:anywhere}
[data-gp-theme="starlight-moonlit-premium"] .ca-chrome h2{font-size:clamp(32px,4vw,52px)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="starlight-moonlit-premium"] .ca-chrome h2{font-size:clamp(32px,4cqw,52px)}}
[data-gp-theme="starlight-moonlit-premium"] .ca-chrome h3{font-size:clamp(24px,2.5vw,34px)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="starlight-moonlit-premium"] .ca-chrome h3{font-size:clamp(24px,2.5cqw,34px)}}
[data-gp-theme="starlight-moonlit-premium"] .ca-menu-title{margin:0 0 30px!important;max-width:24ch}
[data-gp-theme="starlight-moonlit-premium"] .ca-links{display:flex;flex-direction:column;gap:0}
[data-gp-theme="starlight-moonlit-premium"] .ca-links a{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:46px;padding:11px 0;text-decoration:none;font:400 17px/1.45 var(--body);border-bottom:1px solid var(--line);overflow-wrap:anywhere}
[data-gp-theme="starlight-moonlit-premium"] .ca-links a::after{content:'↗';flex:none;font-size:18px}
[data-gp-theme="starlight-moonlit-premium"] .ca-links a:last-child{border-bottom:0}
[data-gp-theme="starlight-moonlit-premium"] .ca-links a[aria-current=page]{font-weight:650;text-decoration:underline;text-underline-offset:5px}
[data-gp-theme="starlight-moonlit-premium"] .ca-chrome .site-plan-label{font:400 12px/1.35 var(--body);letter-spacing:0;text-transform:none;color:inherit;flex-basis:100%}
[data-gp-theme="starlight-moonlit-premium"] .ca-chrome a[data-preview-plan]{flex-wrap:wrap}
[data-gp-theme="starlight-moonlit-premium"] .ca-menu-utility{display:flex;flex-wrap:wrap;gap:8px 25px;padding:22px 34px;border-top:1px solid var(--line);background:var(--wash)}
[data-gp-theme="starlight-moonlit-premium"] .ca-menu-utility a{display:flex;align-items:center;min-height:44px;padding:5px 0;font:400 15px/1.4 var(--body);text-decoration:none}
[data-gp-theme="starlight-moonlit-premium"] .ca-menu-note{padding:0 34px 25px;font:400 14px/1.5 var(--body);color:var(--muted)}
[data-gp-theme="starlight-moonlit-premium"] footer.site-footer.ca-footer{padding:58px max(24px,calc((100vw - 1340px)/2)) 22px;background:var(--wash);color:var(--ink);border-top:1px solid var(--line)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="starlight-moonlit-premium"] footer.site-footer.ca-footer{padding:58px max(24px,calc((100cqw - 1340px)/2)) 22px}}
[data-gp-theme="starlight-moonlit-premium"] .ca-footer-inner{width:100%;max-width:1340px;margin:auto}
[data-gp-theme="starlight-moonlit-premium"] .ca-footer a{color:inherit}
[data-gp-theme="starlight-moonlit-premium"] .ca-footer-action{display:inline-flex;align-items:center;gap:20px;min-height:48px;padding:12px 0;font:500 20px/1.35 var(--body);text-decoration:none;border-bottom:1px solid currentColor}
[data-gp-theme="starlight-moonlit-premium"] .ca-footer-action::after{content:'↗';margin-left:auto}
[data-gp-theme="starlight-moonlit-premium"] .ca-footnote{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 28px;padding-top:22px;margin-top:35px;border-top:1px solid var(--line);font:400 13px/1.55 var(--body);color:var(--muted)}
[data-gp-theme="starlight-moonlit-premium"] .ca-footnote p{max-width:70ch}
[data-gp-theme="starlight-moonlit-premium"] .ca-footnote a{display:inline-flex;align-items:center;min-height:44px;white-space:normal}
[data-gp-theme="starlight-moonlit-premium"] .ca-footer-nav{display:flex;flex-wrap:wrap;gap:8px 25px}
[data-gp-theme="starlight-moonlit-premium"] .ca-footer-nav a{display:inline-flex;align-items:center;min-height:44px;padding:7px 0;font:400 16px/1.4 var(--body);text-decoration:none}
[data-gp-theme="starlight-moonlit-premium"] .ca-chrome :is(a,button):focus-visible{outline:3px solid var(--ink);outline-offset:5px}
@media(hover:hover) and (pointer:fine){[data-gp-theme="starlight-moonlit-premium"] .ca-chrome a:hover{text-decoration:underline;text-underline-offset:5px}[data-gp-theme="starlight-moonlit-premium"] .ca-trigger:hover{background:var(--wash)}}
@media(max-width:900px){[data-gp-theme="starlight-moonlit-premium"] header.site-header.ca-header{width:calc(100% - 40px);padding:20px 0;gap:16px}[data-gp-theme="starlight-moonlit-premium"] .ca-header .ca-primary{display:none}[data-gp-theme="starlight-moonlit-premium"] .ca-header .brand{font-size:24px}[data-gp-theme="starlight-moonlit-premium"] .ca-menu-body{padding:26px 22px}[data-gp-theme="starlight-moonlit-premium"] .ca-menu .menu-top{padding:16px 22px}[data-gp-theme="starlight-moonlit-premium"] .ca-menu-utility{padding:18px 22px;gap:6px 20px}[data-gp-theme="starlight-moonlit-premium"] .ca-menu-note{padding:0 22px 22px}[data-gp-theme="starlight-moonlit-premium"] .ca-chrome h2{font-size:clamp(30px,7vw,46px)}[data-gp-theme="starlight-moonlit-premium"] .ca-chrome h3{font-size:26px}[data-gp-theme="starlight-moonlit-premium"] .ca-menu-title{margin-bottom:24px!important}[data-gp-theme="starlight-moonlit-premium"] .ca-links a{font-size:17px;min-height:48px}[data-gp-theme="starlight-moonlit-premium"] .ca-footer-action{font-size:19px}[data-gp-theme="starlight-moonlit-premium"] .ca-footer-nav{gap:4px 22px}[data-gp-theme="starlight-moonlit-premium"] footer.site-footer.ca-footer{padding:40px 22px 20px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="starlight-moonlit-premium"] header.site-header.ca-header{width:calc(100% - 40px);padding:20px 0;gap:16px}[data-gp-theme="starlight-moonlit-premium"] .ca-header .ca-primary{display:none}[data-gp-theme="starlight-moonlit-premium"] .ca-header .brand{font-size:24px}[data-gp-theme="starlight-moonlit-premium"] .ca-menu-body{padding:26px 22px}[data-gp-theme="starlight-moonlit-premium"] .ca-menu .menu-top{padding:16px 22px}[data-gp-theme="starlight-moonlit-premium"] .ca-menu-utility{padding:18px 22px;gap:6px 20px}[data-gp-theme="starlight-moonlit-premium"] .ca-menu-note{padding:0 22px 22px}[data-gp-theme="starlight-moonlit-premium"] .ca-chrome h2{font-size:clamp(30px,7cqw,46px)}[data-gp-theme="starlight-moonlit-premium"] .ca-chrome h3{font-size:26px}[data-gp-theme="starlight-moonlit-premium"] .ca-menu-title{margin-bottom:24px!important}[data-gp-theme="starlight-moonlit-premium"] .ca-links a{font-size:17px;min-height:48px}[data-gp-theme="starlight-moonlit-premium"] .ca-footer-action{font-size:19px}[data-gp-theme="starlight-moonlit-premium"] .ca-footer-nav{gap:4px 22px}[data-gp-theme="starlight-moonlit-premium"] footer.site-footer.ca-footer{padding:40px 22px 20px}}
@media(max-width:480px){[data-gp-theme="starlight-moonlit-premium"] .ca-header .brand{font-size:22px}[data-gp-theme="starlight-moonlit-premium"] .ca-header .brand small{font-size:12px}[data-gp-theme="starlight-moonlit-premium"] .ca-header .brand svg{width:29px;height:29px}[data-gp-theme="starlight-moonlit-premium"] .ca-trigger{font-size:14px;padding:10px 12px;gap:10px}[data-gp-theme="starlight-moonlit-premium"] .ca-footnote{display:block}[data-gp-theme="starlight-moonlit-premium"] .ca-footnote a{margin-top:8px}}
@containerfs-editor-canvas (max-width: 480px){[data-gp-theme="starlight-moonlit-premium"] .ca-header .brand{font-size:22px}[data-gp-theme="starlight-moonlit-premium"] .ca-header .brand small{font-size:12px}[data-gp-theme="starlight-moonlit-premium"] .ca-header .brand svg{width:29px;height:29px}[data-gp-theme="starlight-moonlit-premium"] .ca-trigger{font-size:14px;padding:10px 12px;gap:10px}[data-gp-theme="starlight-moonlit-premium"] .ca-footnote{display:block}[data-gp-theme="starlight-moonlit-premium"] .ca-footnote a{margin-top:8px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="starlight-moonlit-premium"] .ca-chrome a,[data-gp-theme="starlight-moonlit-premium"] .ca-chrome :is(button,[role="button"]){transition:none!important;transform:none!important;animation:none!important}}

[data-gp-theme="starlight-moonlit-premium"] .ca-starlight{--chrome-face:"Literata",serif}
[data-gp-theme="starlight-moonlit-premium"] header.ca-starlight.ca-header{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;text-align:center;padding-bottom:18px}
[data-gp-theme="starlight-moonlit-premium"] .ca-starlight .brand{justify-content:center;text-align:left;font-size:25px}
[data-gp-theme="starlight-moonlit-premium"] .ca-starlight .ca-door-link{font:500 18px/1.4 "Literata",serif;text-decoration:none;border-bottom:1px solid var(--line);padding:14px 5px;display:block;align-self:center}
[data-gp-theme="starlight-moonlit-premium"] .ca-starlight .ca-door-link span:not(.fs-richtext){display:block;font:400 12px/1.5 var(--body);letter-spacing:.1em;text-transform:uppercase;margin-bottom:5px;color:var(--muted)}
[data-gp-theme="starlight-moonlit-premium"] .ca-starlight .ca-world-bar{grid-column:1/-1;display:flex;justify-content:center;align-items:center;gap:30px}
[data-gp-theme="starlight-moonlit-premium"] .ca-starlight .ca-world-bar nav a{font-size:14px}
[data-gp-theme="starlight-moonlit-premium"] .ca-starlight .ca-trigger{border:0;background:none;padding:8px 0}
[data-gp-theme="starlight-moonlit-premium"] .ca-starlight .ca-portals{display:grid;grid-template-columns:1fr 1fr;gap:28px}
[data-gp-theme="starlight-moonlit-premium"] .ca-starlight .ca-portal{border:1px solid var(--line);border-radius:180px 180px 0 0;padding:55px 34px 30px;background:var(--wash);text-align:center}
[data-gp-theme="starlight-moonlit-premium"] .ca-starlight .ca-portal h3{margin:14px 0 24px;font-size:34px}
[data-gp-theme="starlight-moonlit-premium"] .ca-starlight .ca-portal-mark{font-size:36px;color:var(--accent);line-height:1}
[data-gp-theme="starlight-moonlit-premium"] .ca-starlight .ca-portal .ca-links{text-align:left}
[data-gp-theme="starlight-moonlit-premium"] .ca-starlight .ca-world-close{display:grid;grid-template-columns:1fr 1fr;gap:60px;position:relative;padding-top:10px}
[data-gp-theme="starlight-moonlit-premium"] .ca-starlight .ca-world-close>div{padding:5px 0 24px}
[data-gp-theme="starlight-moonlit-premium"] .ca-starlight .ca-world-close>div+div{border-left:1px solid var(--line);padding-left:50px}
[data-gp-theme="starlight-moonlit-premium"] .ca-starlight .ca-world-close h2{font-size:clamp(32px,3.5vw,47px);max-width:15ch;margin:16px 0 22px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="starlight-moonlit-premium"] .ca-starlight .ca-world-close h2{font-size:clamp(32px,3.5cqw,47px)}}
[data-gp-theme="starlight-moonlit-premium"] .ca-starlight .ca-story-seal{display:flex;justify-content:center;align-items:center;gap:22px;border-block:1px solid var(--line);padding:20px 0;margin-top:15px}
[data-gp-theme="starlight-moonlit-premium"] .ca-starlight .ca-story-seal>span:not(.fs-richtext){font-size:28px;color:var(--accent)}
@media(max-width:900px){[data-gp-theme="starlight-moonlit-premium"] header.ca-starlight.ca-header{grid-template-columns:1fr;gap:12px}[data-gp-theme="starlight-moonlit-premium"] .ca-starlight .brand{justify-self:center;font-size:23px}[data-gp-theme="starlight-moonlit-premium"] .ca-starlight .ca-door-link{display:none}[data-gp-theme="starlight-moonlit-premium"] .ca-starlight .ca-world-bar{grid-column:1;justify-content:center}[data-gp-theme="starlight-moonlit-premium"] .ca-starlight .ca-portals{grid-template-columns:1fr;gap:22px}[data-gp-theme="starlight-moonlit-premium"] .ca-starlight .ca-portal{border-radius:130px 130px 0 0;padding:40px 24px 22px}[data-gp-theme="starlight-moonlit-premium"] .ca-starlight .ca-portal h3{font-size:30px}[data-gp-theme="starlight-moonlit-premium"] .ca-starlight .ca-world-close{grid-template-columns:1fr;gap:8px}[data-gp-theme="starlight-moonlit-premium"] .ca-starlight .ca-world-close>div+div{border-left:0;border-top:1px solid var(--line);padding:24px 0}[data-gp-theme="starlight-moonlit-premium"] .ca-starlight .ca-story-seal{gap:14px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="starlight-moonlit-premium"] header.ca-starlight.ca-header{grid-template-columns:1fr;gap:12px}[data-gp-theme="starlight-moonlit-premium"] .ca-starlight .brand{justify-self:center;font-size:23px}[data-gp-theme="starlight-moonlit-premium"] .ca-starlight .ca-door-link{display:none}[data-gp-theme="starlight-moonlit-premium"] .ca-starlight .ca-world-bar{grid-column:1;justify-content:center}[data-gp-theme="starlight-moonlit-premium"] .ca-starlight .ca-portals{grid-template-columns:1fr;gap:22px}[data-gp-theme="starlight-moonlit-premium"] .ca-starlight .ca-portal{border-radius:130px 130px 0 0;padding:40px 24px 22px}[data-gp-theme="starlight-moonlit-premium"] .ca-starlight .ca-portal h3{font-size:30px}[data-gp-theme="starlight-moonlit-premium"] .ca-starlight .ca-world-close{grid-template-columns:1fr;gap:8px}[data-gp-theme="starlight-moonlit-premium"] .ca-starlight .ca-world-close>div+div{border-left:0;border-top:1px solid var(--line);padding:24px 0}[data-gp-theme="starlight-moonlit-premium"] .ca-starlight .ca-story-seal{gap:14px}}

/* Menu-only reset. Shapes and composition are authored separately below. */
[data-gp-theme="starlight-moonlit-premium"] dialog[data-gp-id="mega-menu"].mega-menu{--mi-paper:var(--paper);--mi-ink:var(--ink);--mi-wash:var(--wash,var(--paper));--mi-line:var(--line);--mi-accent:var(--accent,var(--ink));position:fixed;inset:auto;margin:0;padding:0;min-width:0;min-height:0;max-width:none;max-height:none;border:0;border-radius:0;background:var(--mi-paper);color:var(--mi-ink);box-shadow:0 22px 90px #0004;font:16px/1.5 var(--body,sans-serif);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:auto;transform:none}
[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"][open]{display:block;animation:none}
[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"][open]:not([data-closing])>:not(.mi-bar){animation:gp-starlight-mi-arrive 180ms ease-out both}
[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"][data-closing]{animation:gp-starlight-mi-leave 160ms ease-in both}
[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"]::backdrop{background:#0007;backdrop-filter:blur(3px)}
[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] *,[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] *::before,[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] *::after{box-sizing:border-box}
[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] :is(h2,h3,p,figure){margin:0;max-width:none}
[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] h2{font-family:var(--mi-display,var(--display,serif));font-weight:500;line-height:1.1;letter-spacing:-.025em;text-transform:none}
[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] h3{font:600 19px/1.25 var(--body,sans-serif);letter-spacing:0;text-transform:none}
[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] a{color:inherit;text-decoration:none;min-height:44px;transition:background-color 160ms,color 160ms;text-transform:none;letter-spacing:0}
[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] a:hover{text-decoration:underline;text-underline-offset:5px}
[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] a:focus-visible,[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] :is(button,[role="button"]):focus-visible{outline:2px solid currentColor;outline-offset:4px}
[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] small{font:400 13px/1.5 var(--body,sans-serif);letter-spacing:0;text-transform:none}
[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] .mi-bar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:0;padding:16px 28px;border-bottom:1px solid var(--mi-line);background:var(--mi-paper);color:var(--mi-ink);font:500 15px/1.3 var(--body,sans-serif)}
[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] .mi-bar a{display:flex;align-items:center;font:inherit;max-width:70%}
[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] [data-menu-close]{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:64px;margin:0;padding:9px 12px;border:1px solid var(--mi-line);border-radius:0;background:var(--mi-paper);color:var(--mi-ink);font:500 14px/1.3 var(--body,sans-serif);cursor:pointer;flex:none}
[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] .mi-note{font:400 12px/1.5 var(--body,sans-serif);color:var(--mi-ink)}
@keyframes gp-starlight-mi-arrive{from{opacity:0}to{opacity:1}}@keyframes gp-starlight-mi-leave{to{opacity:0}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"][open],[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"][data-closing],[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"][open]>:not(.mi-bar){animation:none}[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] a{transition:none}}

[data-gp-theme="starlight-moonlit-premium"] dialog[data-gp-id="mega-menu"].mega-menu{--mi-display:"Literata",serif;inset:0;width:100%;height:100dvh;background:var(--mi-paper)}
[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] .mi-bar{border-bottom:0;padding:18px 4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] .mi-bar{padding:18px 4cqw}}[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] .mi-threshold{display:grid;grid-template-columns:.85fr 1fr 1fr;gap:36px;align-items:center;padding:22px 7vw 24px;min-height:calc(100dvh - 200px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] .mi-threshold{padding:22px 7cqw 24px}}[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] .mi-world-heading>span:not(.fs-richtext){font-size:55px;display:block;margin-bottom:24px;color:var(--mi-accent)}[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] h2{font-size:clamp(38px,4vw,64px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] h2{font-size:clamp(38px,4cqw,64px)}}[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] .mi-world-heading p{margin-top:24px;font-size:17px;line-height:1.6}
[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] .mi-story-door{align-self:stretch;display:flex;flex-direction:column;justify-content:center;min-height:390px;padding:40px 30px 32px;border:1px solid var(--mi-line);border-radius:48% 48% 0 0;background:var(--mi-wash);text-align:center;box-shadow:inset 0 0 0 8px var(--mi-paper),inset 0 0 0 9px var(--mi-line)}[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] .mi-player-door{margin-top:48px;min-height:342px;background:var(--mi-paper);border-radius:48% 48% 20% 20%}[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] .mi-door-glyph{font:400 70px/1 serif;margin-bottom:25px;color:var(--mi-ink)}[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] .mi-story-door h3{font:500 25px/1.3 "Literata",serif;margin-bottom:15px}[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] .mi-story-door nav{display:flex;flex-direction:column}[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] .mi-story-door a{display:flex;align-items:center;justify-content:center;padding:10px 0;font-size:16px}[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] .mi-constellation{display:flex;justify-content:center;gap:42px;flex-wrap:wrap;padding:12px 25px;border-top:1px solid var(--mi-line)}[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] .mi-constellation a{display:flex;align-items:center;font-size:15px}[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] .mi-starlight-note{text-align:center;padding:0 22px 22px}
@media(max-width:900px){[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] .mi-threshold{grid-template-columns:1fr;gap:22px;padding:22px;min-height:0}[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] .mi-world-heading{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] .mi-world-heading>span:not(.fs-richtext){grid-column:2;grid-row:1;margin:0;font-size:45px}[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] h2{font-size:37px;grid-row:1}[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] .mi-world-heading p{grid-column:1/-1;margin:0;font-size:15px}[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] .mi-story-door{min-height:0;padding:34px 24px 24px;border-radius:80px 80px 0 0}[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] .mi-player-door{margin:0;border-radius:80px 80px 28px 28px}[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] .mi-door-glyph{font-size:42px;margin-bottom:15px}[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] .mi-story-door h3{font-size:24px}[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] .mi-constellation{gap:0;display:block;padding:12px 22px}[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] .mi-constellation a{justify-content:center}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] .mi-threshold{grid-template-columns:1fr;gap:22px;padding:22px;min-height:0}[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] .mi-world-heading{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] .mi-world-heading>span:not(.fs-richtext){grid-column:2;grid-row:1;margin:0;font-size:45px}[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] h2{font-size:37px;grid-row:1}[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] .mi-world-heading p{grid-column:1/-1;margin:0;font-size:15px}[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] .mi-story-door{min-height:0;padding:34px 24px 24px;border-radius:80px 80px 0 0}[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] .mi-player-door{margin:0;border-radius:80px 80px 28px 28px}[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] .mi-door-glyph{font-size:42px;margin-bottom:15px}[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] .mi-story-door h3{font-size:24px}[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] .mi-constellation{gap:0;display:block;padding:12px 22px}[data-gp-theme="starlight-moonlit-premium"] [data-gp-id="mega-menu"] .mi-constellation a{justify-content:center}}

[data-gp-theme="starlight-moonlit-premium"]{--paper:rgb(var(--c-paper));--ink:rgb(var(--c-ink-950));--accent:rgb(var(--c-brand-600));--wash:rgb(var(--c-paper-soft));--line:rgb(var(--c-line));--muted:rgb(var(--c-ink-400));--on-accent:var(--fs-on-brand);--focus:rgb(var(--c-accent));--work:var(--fs-surface-inverted,var(--wash));--work-ink:var(--fs-on-surface-inverted,var(--paper));--body:var(--font-sans);}
[data-gp-theme="cake-box"]{--ease-out:cubic-bezier(.23,1,.32,1);--ease-drawer:cubic-bezier(.32,.72,0,1)}
[data-gp-theme="cake-box"] *{box-sizing:border-box}[data-gp-theme="cake-box"]{scroll-behavior:smooth;scroll-padding-top:100px}[data-gp-theme="cake-box"]{margin:0}[data-gp-theme="cake-box"] img{max-width:100%;display:block}[data-gp-theme="cake-box"] :is(button,[role="button"]),[data-gp-theme="cake-box"] input,[data-gp-theme="cake-box"] select,[data-gp-theme="cake-box"] textarea{font:inherit}[data-gp-theme="cake-box"] :is(button,[role="button"]),[data-gp-theme="cake-box"] a,[data-gp-theme="cake-box"] input,[data-gp-theme="cake-box"] select,[data-gp-theme="cake-box"] textarea{touch-action:manipulation}[data-gp-theme="cake-box"] :is(button,[role="button"]),[data-gp-theme="cake-box"] a{ -webkit-tap-highlight-color:transparent}[data-gp-theme="cake-box"] :is(button,[role="button"]){cursor:pointer}[data-gp-theme="cake-box"] :is(button,[role="button"]):active{transform:translateY(1px)}[data-gp-theme="cake-box"] a{color:inherit;text-underline-offset:.22em}[data-gp-theme="cake-box"] :is(button,[role="button"]):focus-visible,[data-gp-theme="cake-box"] a:focus-visible,[data-gp-theme="cake-box"] summary:focus-visible,[data-gp-theme="cake-box"] input:focus-visible,[data-gp-theme="cake-box"] select:focus-visible,[data-gp-theme="cake-box"] textarea:focus-visible{outline:3px solid var(--focus,#346ddb);outline-offset:5px}[data-gp-theme="cake-box"] textarea{resize:vertical}[data-gp-theme="cake-box"] input,[data-gp-theme="cake-box"] textarea{caret-color:var(--focus,currentColor)}[data-gp-theme="cake-box"] :is(button,[role="button"]),[data-gp-theme="cake-box"] select,[data-gp-theme="cake-box"] input{min-height:44px}[data-gp-theme="cake-box"] summary{cursor:pointer}[data-gp-theme="cake-box"] section[id],[data-gp-theme="cake-box"] footer[id]{scroll-margin-top:110px}[data-gp-theme="cake-box"] [hidden]{display:none!important}[data-gp-theme="cake-box"] .skip-link{position:fixed;z-index:200;top:8px;left:8px;background:#fff;color:#111;padding:12px 18px;transform:translateY(-150%)}[data-gp-theme="cake-box"] .skip-link:focus{transform:none}
[data-gp-theme="cake-box"] .preview-bar{min-height:42px;background:#f6f6f2;color:#252a2a;border-bottom:1px solid #d5d8d4;font:13px/1.3 "Figtree",sans-serif;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 3vw;position:relative;z-index:30}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="cake-box"] .preview-bar{padding:5px 3cqw}}[data-gp-theme="cake-box"] .preview-bar a{white-space:nowrap}[data-gp-theme="cake-box"] .preview-bar [role=group]{display:flex;gap:2px;align-items:center}[data-gp-theme="cake-box"] .preview-bar :is(button,[role="button"]){min-height:32px;background:transparent;color:inherit;border:0;padding:6px 10px;border-radius:3px;font-size:13px;transition:background-color 150ms var(--ease-out)}[data-gp-theme="cake-box"] .preview-bar [aria-pressed=true]{background:#252a2a;color:#fff}[data-gp-theme="cake-box"] .preview-bar :is(button,[role="button"])[data-replay-intro]{border:1px solid #b6beb8}[data-gp-theme="cake-box"] .preview-label{color:#515953}[data-gp-theme="cake-box"] .preview-bar::selection{background:#252a2a;color:#fff}
[data-gp-theme="cake-box"] dialog.mega-menu{max-width:none;max-height:calc(100dvh - 32px);overflow:auto;border:0;padding:0;color:inherit;overscroll-behavior:contain}[data-gp-theme="cake-box"] dialog.mega-menu::backdrop{background:rgb(8 16 18 / .52)}[data-gp-theme="cake-box"] .mega-menu[open]{animation:gp-cakebox-menu-arrive 220ms var(--ease-drawer)}[data-gp-theme="cake-box"] .mega-menu[data-closing]{animation:gp-cakebox-menu-leave 160ms var(--ease-out) forwards}[data-gp-theme="cake-box"] .mega-menu[data-keyboard]{animation:none}[data-gp-theme="cake-box"] .menu-lock{overflow:hidden}@keyframes gp-cakebox-menu-arrive{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}@keyframes gp-cakebox-menu-leave{to{opacity:0;transform:translateY(-10px)}}
[data-gp-theme="cake-box"] .preloader{display:none;position:fixed;inset:0;z-index:190;place-content:center;pointer-events:none;text-align:center}[data-gp-theme="cake-box"] .preloader.is-active{display:grid;animation:gp-cakebox-intro-failsafe 1.3s step-end forwards}[data-gp-theme="cake-box"] .preloader.is-leaving{opacity:0;transition:opacity 180ms var(--ease-out)}@keyframes gp-cakebox-intro-failsafe{0%,99%{visibility:visible}100%{visibility:hidden}}
@media(max-width:650px){[data-gp-theme="cake-box"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="cake-box"] .preview-bar .preview-label{display:none}[data-gp-theme="cake-box"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="cake-box"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="cake-box"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="cake-box"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="cake-box"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="cake-box"] .preview-bar .preview-label{display:none}[data-gp-theme="cake-box"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="cake-box"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="cake-box"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="cake-box"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="cake-box"]{scroll-behavior:auto}[data-gp-theme="cake-box"] *,[data-gp-theme="cake-box"] *::before,[data-gp-theme="cake-box"] *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-gp-theme="cake-box"] .preloader.is-active{display:none!important}}
@media(max-width:650px){[data-gp-theme="cake-box"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="cake-box"] .preview-bar a{font-size:12px}[data-gp-theme="cake-box"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="cake-box"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="cake-box"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="cake-box"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="cake-box"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="cake-box"] .preview-bar a{font-size:12px}[data-gp-theme="cake-box"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="cake-box"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="cake-box"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="cake-box"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}

[data-gp-theme="cake-box"]{--paper:#f8dc76;--ink:#602b3e;--accent:#602b3e;--wash:#fff7e8;--line:#b79565;--on-accent:#fff7e8;--muted:#72503d;--display:"Bricolage Grotesque",sans-serif;--body:"DM Sans",sans-serif;--berry:#d36572;--focus:#602b3e;background:var(--paper);color:var(--ink);font:18px/1.6 var(--body)}[data-gp-theme="cake-box"][data-palette="1"]{--paper:#e1e5ac;--ink:#3a4a31;--accent:#3a4a31;--wash:#f8f5df;--line:#a5ab78;--muted:#566046;--berry:#af7181;--focus:#3a4a31}[data-gp-theme="cake-box"][data-palette="2"]{--paper:#e0dcf2;--ink:#3b315d;--accent:#3b315d;--wash:#f6f1fc;--line:#aaa2c7;--muted:#635779;--berry:#a880be;--focus:#3b315d}[data-gp-theme="cake-box"][data-mode="dark"]{--paper:#351c27;--ink:#ffedbb;--accent:#f8dc76;--wash:#4a2b38;--line:#a87a89;--on-accent:#351c27;--muted:#e5c2c3;--berry:#e58e9e;--focus:#f8dc76}[data-gp-theme="cake-box"][data-mode="dark"][data-palette="1"]{--paper:#263321;--ink:#f0f2cc;--accent:#d5e29c;--wash:#3b4b31;--line:#82946b;--on-accent:#263321;--muted:#c4d0b6}[data-gp-theme="cake-box"][data-mode="dark"][data-palette="2"]{--paper:#292039;--ink:#f0e6ff;--accent:#d2b6ec;--wash:#3c2e51;--line:#9981b1;--on-accent:#292039;--muted:#d4c1e2}[data-gp-theme="cake-box"] h1,[data-gp-theme="cake-box"] h2,[data-gp-theme="cake-box"] h3,[data-gp-theme="cake-box"] p,[data-gp-theme="cake-box"] figure{margin:0}[data-gp-theme="cake-box"] h1,[data-gp-theme="cake-box"] h2,[data-gp-theme="cake-box"] h3{font-family:var(--display);line-height:1.03;letter-spacing:-.05em;font-weight:700}[data-gp-theme="cake-box"] h1{font-size:clamp(72px,7.8vw,122px);line-height:.91}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="cake-box"] h1{font-size:clamp(72px,7.8cqw,122px)}}[data-gp-theme="cake-box"] h2{font-size:clamp(45px,4.5vw,72px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="cake-box"] h2{font-size:clamp(45px,4.5cqw,72px)}}[data-gp-theme="cake-box"] h3{font-size:30px}[data-gp-theme="cake-box"] .wrap{width:min(1320px,calc(100% - 96px));margin:auto}[data-gp-theme="cake-box"] .section{padding-block:95px}[data-gp-theme="cake-box"] p{max-width:58ch}[data-gp-theme="cake-box"] .site-header{display:flex;gap:25px;align-items:center;justify-content:space-between;padding:24px 48px;border-bottom:2px solid var(--ink)}[data-gp-theme="cake-box"] .wordmark{font:700 31px/1 var(--display);display:flex;gap:12px;align-items:center;text-decoration:none;letter-spacing:-.06em}[data-gp-theme="cake-box"] .wordmark svg{width:42px;height:42px}[data-gp-theme="cake-box"] .site-header nav{display:flex;gap:30px;font-size:16px}[data-gp-theme="cake-box"] .site-header nav a{min-height:44px;display:flex;align-items:center;text-decoration:none}[data-gp-theme="cake-box"] .site-header :is(button,[role="button"]){background:var(--accent);color:var(--on-accent);border:0;border-radius:28px;padding:12px 20px;font-weight:600;font-size:15px;display:flex;align-items:center;gap:20px}[data-gp-theme="cake-box"] .cake-opening{display:grid;grid-template-columns:1fr 1.05fr;max-width:1536px;padding:45px 48px 60px;gap:45px;margin:auto}[data-gp-theme="cake-box"] .cake-copy>p:first-child{font-size:15px;margin-bottom:25px}[data-gp-theme="cake-box"] .cake-copy>p:nth-of-type(2){font-size:18px;max-width:32ch;margin:25px 0}[data-gp-theme="cake-box"] .flavour-pick{padding-top:24px;border-top:1px solid var(--line);margin-top:30px}[data-gp-theme="cake-box"] .flavour-pick>span:not(.fs-richtext){font-size:15px;display:block;margin-bottom:12px}[data-gp-theme="cake-box"] .flavour-pick [role=group]{display:flex;gap:8px;flex-wrap:wrap}[data-gp-theme="cake-box"] .flavour-pick :is(button,[role="button"]){background:none;border:1px solid var(--ink);border-radius:30px;min-height:44px;padding:10px 15px;color:var(--ink);font-size:14px;transition:transform 140ms var(--ease-out)}[data-gp-theme="cake-box"] .flavour-pick :is(button,[role="button"])[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}[data-gp-theme="cake-box"] .flavour-pick p{font-size:15px;line-height:1.6;margin-top:18px;min-height:72px;max-width:48ch}[data-gp-theme="cake-box"] .button{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);border-radius:4px;padding:15px 24px;min-height:52px;text-decoration:none;font-weight:600;transition:transform 140ms var(--ease-out)}[data-gp-theme="cake-box"] .cake-copy>.button{margin-top:22px}[data-gp-theme="cake-box"] .cake-picture{position:relative;align-self:start;padding-top:10px}[data-gp-theme="cake-box"] .cake-picture figure img{width:100%;height:650px;object-fit:cover;border-radius:45% 45% 6px 6px}[data-gp-theme="cake-box"] .cake-picture figcaption{font-size:12px;margin-top:15px;text-align:center}[data-gp-theme="cake-box"] .cake-sticker{position:absolute;bottom:75px;left:-30px;background:var(--accent);color:var(--on-accent);width:190px;height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;border:5px solid var(--paper);transform:rotate(-9deg)}[data-gp-theme="cake-box"] .cake-sticker span:not(.fs-richtext){font:700 29px/1.02 var(--display);text-align:center;letter-spacing:-.04em}[data-gp-theme="cake-box"] .cake-sticker svg{width:27px;height:27px;margin-top:8px}[data-gp-theme="cake-box"] .layers-section{background:var(--wash);border-block:2px solid var(--ink)}[data-gp-theme="cake-box"] .layers-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:100px;align-items:center}[data-gp-theme="cake-box"] .layers-layout>div>p:first-child{font-size:15px;margin-bottom:24px}[data-gp-theme="cake-box"] .layers-layout h2{margin-bottom:30px}[data-gp-theme="cake-box"] .layers-layout h3{font-size:27px;margin-bottom:15px}[data-gp-theme="cake-box"] .layers-layout .small{margin-top:25px}[data-gp-theme="cake-box"] .layers-layout a{display:inline-flex;align-items:center;min-height:44px;margin-top:20px;font-size:16px}[data-gp-theme="cake-box"] .layer-illustration{padding:50px 25px;max-width:530px}[data-gp-theme="cake-box"] .cake-tier{position:relative;height:75px;border:2px solid #602b3e;border-bottom:0;border-radius:50% 50% 12% 12% / 27% 27% 12% 12%;margin-top:-8px;transition:transform 200ms var(--ease-out);display:flex;align-items:center;justify-content:center;color:#602b3e}[data-gp-theme="cake-box"] .cake-tier span:not(.fs-richtext){font-size:15px;background:#fff7e8;padding:4px 10px;border-radius:15px}[data-gp-theme="cake-box"] .cake-tier.icing{height:70px;background:#f6b8bc;z-index:4}[data-gp-theme="cake-box"] .cake-tier.sponge-top{background:#f4ce8b;z-index:3}[data-gp-theme="cake-box"] .cake-tier.filling{height:55px;background:#a53657;z-index:2}[data-gp-theme="cake-box"] .cake-tier.sponge-bottom{background:#f4ce8b;z-index:1;border-bottom:2px solid #602b3e}[data-gp-theme="cake-box"] .cake-board{height:18px;border-radius:50%;background:#cda782;margin-top:2px}[data-gp-theme="cake-box"] .layer-illustration[data-flavour="Chocolate"] .cake-tier.icing{background:#8d5c41}[data-gp-theme="cake-box"] .layer-illustration[data-flavour="Chocolate"] .cake-tier[class*=sponge]{background:#986344}[data-gp-theme="cake-box"] .layer-illustration[data-flavour="Chocolate"] .cake-tier.filling{background:#653923}[data-gp-theme="cake-box"] .layer-illustration[data-flavour="Lemon"] .cake-tier.icing{background:#fff3c7}[data-gp-theme="cake-box"] .layer-illustration[data-flavour="Lemon"] .cake-tier.filling{background:#e7bf42}[data-gp-theme="cake-box"] .occasion{display:grid;grid-template-columns:1fr 1.5fr;gap:90px}[data-gp-theme="cake-box"] .occasion-title>p{font-size:15px;margin-bottom:25px}[data-gp-theme="cake-box"] .occasion-notes{display:grid;grid-template-columns:1fr 1fr;gap:35px}[data-gp-theme="cake-box"] .occasion-notes article{border-top:2px solid var(--ink);padding-top:24px}[data-gp-theme="cake-box"] .occasion-notes svg{width:90px;height:75px;margin-bottom:20px}[data-gp-theme="cake-box"] .occasion-notes h3{font-size:28px;margin-bottom:20px}[data-gp-theme="cake-box"] .occasion-notes p{font-size:17px}[data-gp-theme="cake-box"] .message-section{background:var(--wash)}[data-gp-theme="cake-box"] .message-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px}[data-gp-theme="cake-box"] .message-layout>div>p:first-child{font-size:15px;margin-bottom:25px}[data-gp-theme="cake-box"] .message-layout h2{margin-bottom:40px}[data-gp-theme="cake-box"] .message-label{background:var(--paper);color:var(--ink);padding:35px 25px;text-align:center;position:relative;border:2px solid var(--ink);border-radius:48% / 12%;min-height:220px;display:flex;flex-direction:column;justify-content:center}[data-gp-theme="cake-box"] .message-label>span:not(.fs-richtext){font-size:14px;display:block}[data-gp-theme="cake-box"] .message-label>p{font:700 36px/1.2 var(--display);margin:18px auto;max-width:15ch;overflow-wrap:anywhere;letter-spacing:-.04em}[data-gp-theme="cake-box"] .message-label small{font-size:12px;display:block}[data-gp-theme="cake-box"] .message-note{font-size:14px;max-width:37ch;margin-top:25px}[data-gp-theme="cake-box"] .message-layout :is(form,[data-gp-form]){display:grid;gap:20px}[data-gp-theme="cake-box"] .form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}[data-gp-theme="cake-box"] label{display:grid;gap:8px;font-size:16px}[data-gp-theme="cake-box"] input,[data-gp-theme="cake-box"] select,[data-gp-theme="cake-box"] textarea{padding:12px;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:3px;width:100%;min-width:0}[data-gp-theme="cake-box"] .small{font-size:14px;line-height:1.5}[data-gp-theme="cake-box"] [data-gp-id="cake-result"]{padding:20px;background:var(--paper);border-left:4px solid var(--ink);font-size:16px;white-space:pre-line;overflow-wrap:anywhere}[data-gp-theme="cake-box"] [data-gp-id="cake-result"]:empty{display:none}[data-gp-theme="cake-box"] .care-section{display:grid;grid-template-columns:1fr 1fr;gap:90px}[data-gp-theme="cake-box"] .care-section>div>p:first-child{font-size:15px;margin-bottom:25px}[data-gp-theme="cake-box"] .care-section h2{margin-bottom:25px}[data-gp-theme="cake-box"] .care-list details{padding:15px 0;border-top:1px solid var(--ink)}[data-gp-theme="cake-box"] .care-list summary{min-height:44px;display:flex;align-items:center;font-size:19px;cursor:pointer}[data-gp-theme="cake-box"] .care-list details p{font-size:17px;margin:12px 0 15px}[data-gp-theme="cake-box"] .site-footer{background:var(--accent);color:var(--on-accent);padding:55px 0 25px;border-top:12px solid var(--berry)}[data-gp-theme="cake-box"] .footer-box{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:60px}[data-gp-theme="cake-box"] .footer-title a{font:700 42px var(--display);text-decoration:none;letter-spacing:-.04em}[data-gp-theme="cake-box"] .footer-title p{font:600 33px/1.2 var(--display);margin-top:25px;letter-spacing:-.04em}[data-gp-theme="cake-box"] .site-footer h3{font:600 16px var(--body);margin-bottom:20px;letter-spacing:0}[data-gp-theme="cake-box"] .site-footer nav a{display:flex;min-height:44px;align-items:center;font-size:16px}[data-gp-theme="cake-box"] .site-footer nav p{font-size:14px;margin-top:20px}[data-gp-theme="cake-box"] .footer-bottom{grid-column:1/-1;padding-top:22px;border-top:1px solid currentColor;display:flex;justify-content:space-between;gap:20px;font-size:13px}[data-gp-theme="cake-box"] .preloader{background:var(--paper);color:var(--ink);font:600 32px var(--display)}[data-gp-theme="cake-box"] .preloader svg{width:120px;height:120px;display:block;margin:auto auto 20px}[data-gp-theme="cake-box"] .mega-menu{background:var(--paper);width:min(1100px,calc(100% - 48px));margin:auto;border-radius:8px}[data-gp-theme="cake-box"] .box-menu{display:grid;grid-template-columns:1fr 1.1fr;gap:0 50px;padding:28px 35px}[data-gp-theme="cake-box"] .menu-top{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding-bottom:22px;border-bottom:2px solid var(--ink);font:700 28px var(--display);margin-bottom:30px}[data-gp-theme="cake-box"] .menu-top :is(button,[role="button"]){font:15px var(--body);padding:10px 15px;border:1px solid var(--ink);background:none;color:var(--ink);border-radius:25px}[data-gp-theme="cake-box"] .menu-lid{background:var(--accent);color:var(--on-accent);padding:35px;border-radius:5px}[data-gp-theme="cake-box"] .menu-lid h2{font-size:57px;line-height:.98;margin-bottom:25px}[data-gp-theme="cake-box"] .menu-lid p{font-size:17px}[data-gp-theme="cake-box"] .menu-lid svg{width:180px;height:130px;margin-top:30px}[data-gp-theme="cake-box"] .box-menu nav a{display:block;text-decoration:none;font:600 27px var(--display);padding:17px 0;border-bottom:1px solid var(--line);letter-spacing:-.03em}[data-gp-theme="cake-box"] .box-menu nav small{display:block;font:14px/1.5 var(--body);margin-top:5px}[data-gp-theme="cake-box"] .menu-footer{grid-column:1/-1;padding-top:25px;font-size:13px}@media(hover:hover) and (pointer:fine){[data-gp-theme="cake-box"] .button:hover,[data-gp-theme="cake-box"] .flavour-pick :is(button,[role="button"]):hover{transform:translateY(-2px)}[data-gp-theme="cake-box"] .box-menu nav a:hover{text-decoration:underline}}@media(max-width:1000px){[data-gp-theme="cake-box"] .site-header nav{display:none}[data-gp-theme="cake-box"] .cake-opening{gap:30px;padding-inline:32px}[data-gp-theme="cake-box"] .wrap{width:calc(100% - 64px)}[data-gp-theme="cake-box"] .cake-picture img{height:600px!important}[data-gp-theme="cake-box"] .cake-copy h1{font-size:90px}[data-gp-theme="cake-box"] .cake-sticker{width:150px;height:150px;left:-20px}[data-gp-theme="cake-box"] .cake-sticker span:not(.fs-richtext){font-size:24px}[data-gp-theme="cake-box"] .layers-layout,[data-gp-theme="cake-box"] .message-layout,[data-gp-theme="cake-box"] .care-section,[data-gp-theme="cake-box"] .occasion{gap:45px}[data-gp-theme="cake-box"] .occasion{grid-template-columns:1fr}[data-gp-theme="cake-box"] .occasion-title h2 br{display:none}}@containerfs-editor-canvas (max-width: 1000px){[data-gp-theme="cake-box"] .site-header nav{display:none}[data-gp-theme="cake-box"] .cake-opening{gap:30px;padding-inline:32px}[data-gp-theme="cake-box"] .wrap{width:calc(100% - 64px)}[data-gp-theme="cake-box"] .cake-picture img{height:600px!important}[data-gp-theme="cake-box"] .cake-copy h1{font-size:90px}[data-gp-theme="cake-box"] .cake-sticker{width:150px;height:150px;left:-20px}[data-gp-theme="cake-box"] .cake-sticker span:not(.fs-richtext){font-size:24px}[data-gp-theme="cake-box"] .layers-layout,[data-gp-theme="cake-box"] .message-layout,[data-gp-theme="cake-box"] .care-section,[data-gp-theme="cake-box"] .occasion{gap:45px}[data-gp-theme="cake-box"] .occasion{grid-template-columns:1fr}[data-gp-theme="cake-box"] .occasion-title h2 br{display:none}}@media(max-width:650px){[data-gp-theme="cake-box"]{font-size:17px}[data-gp-theme="cake-box"] .site-header{padding:18px;gap:10px}[data-gp-theme="cake-box"] .wordmark{font-size:26px;gap:7px}[data-gp-theme="cake-box"] .wordmark svg{width:28px;height:32px}[data-gp-theme="cake-box"] .site-header :is(button,[role="button"]){font-size:12px;gap:5px;padding:10px 13px}[data-gp-theme="cake-box"] .cake-opening{display:flex;flex-direction:column;padding:30px 18px 40px;gap:30px}[data-gp-theme="cake-box"] .cake-copy h1{font-size:72px}[data-gp-theme="cake-box"] .cake-copy>p:first-child{margin-bottom:20px;font-size:14px}[data-gp-theme="cake-box"] .cake-copy>p:nth-of-type(2){font-size:17px;margin-top:22px}[data-gp-theme="cake-box"] .cake-picture{width:100%}[data-gp-theme="cake-box"] .cake-picture img{height:410px!important;border-radius:45% 45% 5px 5px!important}[data-gp-theme="cake-box"] .cake-sticker{left:10px;bottom:45px;width:140px;height:140px}[data-gp-theme="cake-box"] .flavour-pick{margin-top:25px;padding-top:20px}[data-gp-theme="cake-box"] .flavour-pick :is(button,[role="button"]){font-size:12px;padding:10px 12px}[data-gp-theme="cake-box"] .flavour-pick p{min-height:90px}[data-gp-theme="cake-box"] .wrap{width:calc(100% - 36px)}[data-gp-theme="cake-box"] .section{padding-block:55px}[data-gp-theme="cake-box"] .layers-layout,[data-gp-theme="cake-box"] .message-layout,[data-gp-theme="cake-box"] .care-section{grid-template-columns:1fr;gap:35px}[data-gp-theme="cake-box"] .layer-illustration{padding:15px 20px;order:2}[data-gp-theme="cake-box"] .cake-tier{height:60px}[data-gp-theme="cake-box"] .cake-tier.icing{height:55px}[data-gp-theme="cake-box"] .cake-tier.filling{height:45px}[data-gp-theme="cake-box"] .cake-tier span:not(.fs-richtext){font-size:12px}[data-gp-theme="cake-box"] .layers-layout h2{font-size:46px}[data-gp-theme="cake-box"] .occasion{gap:30px}[data-gp-theme="cake-box"] .occasion-notes{grid-template-columns:1fr;gap:30px}[data-gp-theme="cake-box"] .occasion-notes article{display:grid;grid-template-columns:75px 1fr;gap:10px 18px}[data-gp-theme="cake-box"] .occasion-notes svg{width:70px;grid-row:span 2;margin-bottom:0}[data-gp-theme="cake-box"] .occasion-notes h3{font-size:27px;margin:0}[data-gp-theme="cake-box"] .occasion-notes p{grid-column:2;font-size:16px}[data-gp-theme="cake-box"] .message-layout h2{font-size:45px;margin-bottom:30px}[data-gp-theme="cake-box"] .message-label>p{font-size:32px}[data-gp-theme="cake-box"] .form-row{grid-template-columns:1fr}[data-gp-theme="cake-box"] .footer-box{grid-template-columns:1fr 1fr;gap:35px 20px}[data-gp-theme="cake-box"] .footer-title{grid-column:1/-1}[data-gp-theme="cake-box"] .footer-title a{font-size:38px}[data-gp-theme="cake-box"] .site-footer nav a{font-size:14px}[data-gp-theme="cake-box"] .footer-bottom{display:grid;gap:10px}[data-gp-theme="cake-box"] .mega-menu{width:calc(100% - 20px)}[data-gp-theme="cake-box"] .box-menu{grid-template-columns:1fr;padding:20px;gap:20px}[data-gp-theme="cake-box"] .menu-top{margin-bottom:0;font-size:23px;gap:15px}[data-gp-theme="cake-box"] .menu-top :is(button,[role="button"]){font-size:12px;padding:9px}[data-gp-theme="cake-box"] .menu-lid{padding:25px;display:grid;grid-template-columns:1fr auto;gap:15px}[data-gp-theme="cake-box"] .menu-lid h2{font-size:41px;margin:0;grid-column:1/-1}[data-gp-theme="cake-box"] .menu-lid svg{width:90px;height:65px;margin:0}[data-gp-theme="cake-box"] .menu-lid p{font-size:15px}[data-gp-theme="cake-box"] .box-menu nav a{font-size:25px}[data-gp-theme="cake-box"] .menu-footer{padding-top:0}}@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="cake-box"]{font-size:17px}[data-gp-theme="cake-box"] .site-header{padding:18px;gap:10px}[data-gp-theme="cake-box"] .wordmark{font-size:26px;gap:7px}[data-gp-theme="cake-box"] .wordmark svg{width:28px;height:32px}[data-gp-theme="cake-box"] .site-header :is(button,[role="button"]){font-size:12px;gap:5px;padding:10px 13px}[data-gp-theme="cake-box"] .cake-opening{display:flex;flex-direction:column;padding:30px 18px 40px;gap:30px}[data-gp-theme="cake-box"] .cake-copy h1{font-size:72px}[data-gp-theme="cake-box"] .cake-copy>p:first-child{margin-bottom:20px;font-size:14px}[data-gp-theme="cake-box"] .cake-copy>p:nth-of-type(2){font-size:17px;margin-top:22px}[data-gp-theme="cake-box"] .cake-picture{width:100%}[data-gp-theme="cake-box"] .cake-picture img{height:410px!important;border-radius:45% 45% 5px 5px!important}[data-gp-theme="cake-box"] .cake-sticker{left:10px;bottom:45px;width:140px;height:140px}[data-gp-theme="cake-box"] .flavour-pick{margin-top:25px;padding-top:20px}[data-gp-theme="cake-box"] .flavour-pick :is(button,[role="button"]){font-size:12px;padding:10px 12px}[data-gp-theme="cake-box"] .flavour-pick p{min-height:90px}[data-gp-theme="cake-box"] .wrap{width:calc(100% - 36px)}[data-gp-theme="cake-box"] .section{padding-block:55px}[data-gp-theme="cake-box"] .layers-layout,[data-gp-theme="cake-box"] .message-layout,[data-gp-theme="cake-box"] .care-section{grid-template-columns:1fr;gap:35px}[data-gp-theme="cake-box"] .layer-illustration{padding:15px 20px;order:2}[data-gp-theme="cake-box"] .cake-tier{height:60px}[data-gp-theme="cake-box"] .cake-tier.icing{height:55px}[data-gp-theme="cake-box"] .cake-tier.filling{height:45px}[data-gp-theme="cake-box"] .cake-tier span:not(.fs-richtext){font-size:12px}[data-gp-theme="cake-box"] .layers-layout h2{font-size:46px}[data-gp-theme="cake-box"] .occasion{gap:30px}[data-gp-theme="cake-box"] .occasion-notes{grid-template-columns:1fr;gap:30px}[data-gp-theme="cake-box"] .occasion-notes article{display:grid;grid-template-columns:75px 1fr;gap:10px 18px}[data-gp-theme="cake-box"] .occasion-notes svg{width:70px;grid-row:span 2;margin-bottom:0}[data-gp-theme="cake-box"] .occasion-notes h3{font-size:27px;margin:0}[data-gp-theme="cake-box"] .occasion-notes p{grid-column:2;font-size:16px}[data-gp-theme="cake-box"] .message-layout h2{font-size:45px;margin-bottom:30px}[data-gp-theme="cake-box"] .message-label>p{font-size:32px}[data-gp-theme="cake-box"] .form-row{grid-template-columns:1fr}[data-gp-theme="cake-box"] .footer-box{grid-template-columns:1fr 1fr;gap:35px 20px}[data-gp-theme="cake-box"] .footer-title{grid-column:1/-1}[data-gp-theme="cake-box"] .footer-title a{font-size:38px}[data-gp-theme="cake-box"] .site-footer nav a{font-size:14px}[data-gp-theme="cake-box"] .footer-bottom{display:grid;gap:10px}[data-gp-theme="cake-box"] .mega-menu{width:calc(100% - 20px)}[data-gp-theme="cake-box"] .box-menu{grid-template-columns:1fr;padding:20px;gap:20px}[data-gp-theme="cake-box"] .menu-top{margin-bottom:0;font-size:23px;gap:15px}[data-gp-theme="cake-box"] .menu-top :is(button,[role="button"]){font-size:12px;padding:9px}[data-gp-theme="cake-box"] .menu-lid{padding:25px;display:grid;grid-template-columns:1fr auto;gap:15px}[data-gp-theme="cake-box"] .menu-lid h2{font-size:41px;margin:0;grid-column:1/-1}[data-gp-theme="cake-box"] .menu-lid svg{width:90px;height:65px;margin:0}[data-gp-theme="cake-box"] .menu-lid p{font-size:15px}[data-gp-theme="cake-box"] .box-menu nav a{font-size:25px}[data-gp-theme="cake-box"] .menu-footer{padding-top:0}}

/* Preview chrome and accessibility only. Theme authors own the visual worlds. */
[data-gp-theme="cake-box"][data-premium]{color-scheme:light;background:var(--paper);color:var(--ink);accent-color:var(--accent);scrollbar-color:var(--accent) var(--wash)}
[data-gp-theme="cake-box"][data-premium][data-mode=dark]{color-scheme:dark}
[data-gp-theme="cake-box"][data-premium] ::selection{background:var(--accent);color:var(--on-accent)}
[data-gp-theme="cake-box"][data-premium] :is(input,textarea){caret-color:var(--accent)}
[data-gp-theme="cake-box"][data-premium] :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--accent);outline-offset:4px}
[data-gp-theme="cake-box"][data-premium] :is(input,select,textarea){max-width:100%}
[data-gp-theme="cake-box"][data-premium] :is(input,textarea)::placeholder{color:var(--muted);opacity:1}
[data-gp-theme="cake-box"][data-premium] .preview-bar{display:flex;flex-wrap:wrap;justify-content:flex-start;background:#f5f5f0;color:#242d2c;border-color:#cbd0c8;gap:8px 14px;position:relative;font:13px/1.3 "Figtree",sans-serif;min-height:52px;padding:6px 3vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="cake-box"][data-premium] .preview-bar{padding:6px 3cqw}}
[data-gp-theme="cake-box"][data-premium] .preview-bar>a{font-weight:600;min-height:40px;display:flex;align-items:center}
[data-gp-theme="cake-box"][data-premium] .preview-bar [role=group]{margin-left:auto;display:flex;gap:2px}
[data-gp-theme="cake-box"][data-premium] .preview-bar :is(button,select){font:13px/1.3 "Figtree",sans-serif;min-height:40px;max-width:100%;border-radius:3px}
[data-gp-theme="cake-box"][data-premium] .preview-bar select{background:#fff;color:#242d2c;border:1px solid #a2ada4;padding:7px 24px 7px 9px}
[data-gp-theme="cake-box"][data-premium] .preview-bar [aria-pressed=true]{background:#242d2c;color:#fff}
[data-gp-theme="cake-box"][data-premium] .preview-bar .preview-label{font:12px/1.3 "Figtree",sans-serif;color:#48554f}
[data-gp-theme="cake-box"][data-premium] .preview-bar :focus-visible{outline-color:#254fbb}
[data-gp-theme="cake-box"][data-premium] .preview-bar [data-replay-intro]{font-size:12px;margin:0}
[data-gp-theme="cake-box"][data-premium] .preview-bar [data-replay-intro]::after{content:none}
[data-gp-theme="cake-box"][data-premium] .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
[data-gp-theme="cake-box"][data-premium] .premium-action{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 22px;background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);text-decoration:none;font-weight:600;transition:transform 150ms var(--ease-out),background-color 150ms var(--ease-out)}
[data-gp-theme="cake-box"][data-premium] .premium-action:active{transform:translateY(1px)}
[data-gp-theme="cake-box"][data-premium] .premium-action:disabled{opacity:.6;cursor:not-allowed}
[data-gp-theme="cake-box"][data-premium] :is(h1,h2,h3){text-wrap:balance}
[data-gp-theme="cake-box"][data-premium] p{text-wrap:pretty}
/* Put down the opaque menu surface immediately, then introduce its content. */
[data-gp-theme="cake-box"][data-premium] .mega-menu[open]:not([data-closing]){animation:none}
[data-gp-theme="cake-box"][data-premium] .mega-menu[open]:not([data-closing])>:not(:first-child){animation:gp-cakebox-premium-menu-content 160ms var(--ease-out)}
[data-gp-theme="cake-box"][data-premium] .mega-menu[data-keyboard]>:not(:first-child){animation:none!important}
[data-gp-theme="cake-box"][data-premium][data-input=keyboard] :is(button,[role="button"]):active{transform:none}
@keyframes gp-cakebox-premium-menu-content{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:650px){
 [data-gp-theme="cake-box"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="cake-box"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="cake-box"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="cake-box"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="cake-box"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="cake-box"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="cake-box"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="cake-box"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@containerfs-editor-canvas (max-width: 650px){
 [data-gp-theme="cake-box"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="cake-box"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="cake-box"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="cake-box"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="cake-box"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="cake-box"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="cake-box"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="cake-box"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@media(prefers-reduced-motion:reduce){[data-gp-theme="cake-box"][data-premium] .premium-action{transition:none;transform:none}}

/* Website page primitives and actual layout modes. Authored theme CSS owns identity. */
[data-gp-theme="cake-box"][data-framed=true] .preview-bar,[data-gp-theme="cake-box"][data-framed=true] .site-open-preview{display:none!important}
[data-gp-theme="cake-box"][data-site]{--ip-paper:var(--paper,#f4f2eb);--ip-ink:var(--ink,#192f2c);--ip-wash:var(--wash,var(--paper,#e6e9df));--ip-accent:var(--accent,var(--rust,#315b50));--ip-on:var(--on-accent,var(--paper,#fff));--ip-muted:var(--muted,var(--ink,#45534d));--ip-line:var(--line,var(--rule,#a1aca5))}
[data-gp-theme="cake-box"][data-inside]{background:var(--ip-paper);color:var(--ip-ink);font:18px/1.65 var(--body,"Figtree",sans-serif)}
[data-gp-theme="cake-box"] .inside-page :is(h1,h2,h3){font-family:var(--display,inherit);color:inherit;letter-spacing:-.035em;line-height:1.1;font-weight:500;max-width:22ch}
[data-gp-theme="cake-box"] .inside-page h1{font-size:clamp(42px,5.3vw,80px);margin:0 0 26px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="cake-box"] .inside-page h1{font-size:clamp(42px,5.3cqw,80px)}}[data-gp-theme="cake-box"] .inside-page h2{font-size:clamp(30px,3vw,49px);margin:0 0 24px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="cake-box"] .inside-page h2{font-size:clamp(30px,3cqw,49px)}}[data-gp-theme="cake-box"] .inside-page h3{font-size:25px;margin:0 0 15px}
[data-gp-theme="cake-box"] .inside-page :is(p,li){max-width:72ch}[data-gp-theme="cake-box"] .inside-page p{margin:0 0 20px}[data-gp-theme="cake-box"] .inside-page a{color:inherit}[data-gp-theme="cake-box"] .inside-page img{max-width:100%;width:100%;height:100%;object-fit:cover}[data-gp-theme="cake-box"] .inside-page figure{margin:0}[data-gp-theme="cake-box"] .inside-page :is(button,[role="button"]){color:inherit}
[data-gp-theme="cake-box"] .ip-hero,[data-gp-theme="cake-box"] .ip-section{width:min(1320px,calc(100% - 96px));margin-inline:auto;padding-block:70px}[data-gp-theme="cake-box"] .ip-hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:65px}[data-gp-theme="cake-box"] .ip-opening{min-width:0}[data-gp-theme="cake-box"] .ip-hero:has(>.ip-opening:only-child){grid-template-columns:1fr}[data-gp-theme="cake-box"] .ip-art{height:430px;position:relative}[data-gp-theme="cake-box"] .ip-art img{object-fit:cover}[data-gp-theme="cake-box"] .ip-art figcaption,[data-gp-theme="cake-box"] .ip-caption{font-size:14px;line-height:1.5;color:var(--ip-muted);padding-top:10px}[data-gp-theme="cake-box"] .ip-section>.ip-caption{margin-bottom:20px}[data-gp-theme="cake-box"] .ip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}[data-gp-theme="cake-box"] .ip-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px}[data-gp-theme="cake-box"] .ip-card{min-width:0;border-top:1px solid var(--ip-line);padding:25px 0}[data-gp-theme="cake-box"] .ip-card figure{height:230px;margin-bottom:25px}[data-gp-theme="cake-box"] .ip-reading{width:min(76ch,calc(100% - 48px));margin-inline:auto;padding-block:55px}[data-gp-theme="cake-box"] .ip-reading h2{margin-top:40px}[data-gp-theme="cake-box"] .ip-ledger{margin:24px 0}[data-gp-theme="cake-box"] .ip-ledger>div{display:grid;grid-template-columns:1fr 1.4fr;gap:20px;border-top:1px solid var(--ip-line);padding:15px 0}[data-gp-theme="cake-box"] .ip-ledger dt{font-weight:600}[data-gp-theme="cake-box"] .ip-ledger dd{margin:0}[data-gp-theme="cake-box"] .ip-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border:1px solid var(--ip-accent);background:var(--ip-accent);color:var(--ip-on)!important;text-decoration:none;font-size:16px;transition:transform 150ms var(--ease-out)}[data-gp-theme="cake-box"] .ip-action.secondary{background:transparent;color:var(--ip-ink)!important;border-color:var(--ip-line)}[data-gp-theme="cake-box"] .ip-band{padding:55px max(24px,calc((100% - 1320px)/2));background:var(--ip-wash);color:var(--ip-ink)}[data-gp-theme="cake-box"] .ip-band p{max-width:65ch}[data-gp-theme="cake-box"] .ip-note{font-size:15px;border-left:3px solid var(--ip-accent);padding:12px 18px;background:var(--ip-wash);color:var(--ip-ink);margin-block:20px}[data-gp-theme="cake-box"] .ip-form{display:grid;gap:22px}[data-gp-theme="cake-box"] .ip-form label{display:grid;gap:8px;font-size:16px}[data-gp-theme="cake-box"] .ip-form :is(input,textarea,select){width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid var(--ip-line);background:var(--ip-paper);color:var(--ip-ink);font:inherit;border-radius:0}[data-gp-theme="cake-box"] .ip-form :is(input,textarea)::placeholder{color:var(--ip-muted);opacity:1}[data-gp-theme="cake-box"] .ip-field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}[data-gp-theme="cake-box"] .ip-form :is(button,[role="button"]){justify-self:start}[data-gp-theme="cake-box"] .ip-form textarea{min-height:135px}[data-gp-theme="cake-box"] .inside-page output[data-draft-output]{display:block;white-space:pre-wrap;padding:25px;background:var(--ip-wash);color:var(--ip-ink);border:1px solid var(--ip-line);overflow-wrap:anywhere}[data-gp-theme="cake-box"] .ip-checks{display:grid;gap:12px}[data-gp-theme="cake-box"] .ip-checks label{display:flex;align-items:start;gap:14px;border-top:1px solid var(--ip-line);padding:16px 0;min-height:52px}[data-gp-theme="cake-box"] .ip-checks input{width:22px;height:22px;min-height:22px;flex-shrink:0;margin-top:4px;accent-color:var(--ip-accent)}[data-gp-theme="cake-box"] .inside-page details{border-top:1px solid var(--ip-line);padding:18px 0}[data-gp-theme="cake-box"] .inside-page summary{min-height:44px;font-size:21px;cursor:pointer}[data-gp-theme="cake-box"] .inside-page details p{padding:16px 0 0}[data-gp-theme="cake-box"] .inside-page [data-filter-group]>[role=group]{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}[data-gp-theme="cake-box"] .inside-page [data-filter]{padding:10px 18px;min-height:44px;background:transparent;color:var(--ip-ink);border:1px solid var(--ip-line)}[data-gp-theme="cake-box"] .inside-page [data-filter][aria-pressed=true]{background:var(--ip-accent);color:var(--ip-on)}[data-gp-theme="cake-box"] .site-directory{padding:30px!important;background:var(--ip-paper)!important;color:var(--ip-ink)!important;border-top:1px solid var(--ip-line)}[data-gp-theme="cake-box"] .site-directory h3{font:600 17px/1.4 var(--body,"Figtree",sans-serif);margin:0 0 16px}[data-gp-theme="cake-box"] .site-directory>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 25px}[data-gp-theme="cake-box"] .site-directory a{display:block;font:16px/1.5 var(--body,"Figtree",sans-serif)!important;min-height:44px;padding:10px 0!important;color:inherit!important;text-decoration:none}[data-gp-theme="cake-box"] .site-directory a[aria-current=page]{text-decoration:underline;font-weight:600!important}[data-gp-theme="cake-box"] .site-open-preview{display:block;padding:10px 20px;background:#eef0eb;color:#20322d;font:14px/1.4 "Figtree",sans-serif;text-align:center}
[data-gp-theme="cake-box"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){width:100%;padding-inline:max(24px,4vw)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="cake-box"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){padding-inline:max(24px,4cqw)}}
[data-gp-theme="cake-box"]:has([data-gp-theme="cake-box"][data-layout=boxed]){background:#a6afa9}[data-gp-theme="cake-box"][data-layout=boxed]{width:min(1200px,calc(100% - 64px));margin-inline:auto;box-shadow:0 0 0 1px #0002,0 20px 70px #0002;min-height:100dvh;background:var(--ip-paper)}
[data-gp-theme="cake-box"][data-layout=centered] :is(.ip-hero,.opening,.cake-opening,.gp-title,.book-opening,.poster-opening,.portal-opening,.destination-opening,.route-opening){text-align:center}
[data-gp-theme="cake-box"][data-layout=centered] .ip-hero{grid-template-columns:1fr;max-width:1000px;justify-items:center}[data-gp-theme="cake-box"][data-layout=centered] .ip-opening{display:grid;justify-items:center}[data-gp-theme="cake-box"][data-layout=centered] .ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="cake-box"][data-layout=centered] .ip-art{width:min(760px,100%)}
[data-gp-theme="cake-box"][data-layout=minimalist] :is(.ip-section,.ip-hero){padding-block:42px}[data-gp-theme="cake-box"][data-layout=minimalist] :is(.ip-card,.ip-art,.ip-note){border-radius:0;box-shadow:none;background-image:none}[data-gp-theme="cake-box"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5vw,64px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="cake-box"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5cqw,64px)}}[data-gp-theme="cake-box"][data-layout=minimalist] :is(.mullions,.glaze-rim,.cake-sticker,.paper-corner){opacity:0}[data-gp-theme="cake-box"][data-layout=minimalist] :is(.ip-art img,.opening img){border-radius:0}
[data-gp-theme="cake-box"][data-layout=edge-hero] .ip-hero{width:100%;padding-inline:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="cake-box"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4vw)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="cake-box"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4cqw)}}[data-gp-theme="cake-box"][data-layout=edge-hero] .ip-art{height:600px}[data-gp-theme="cake-box"][data-layout=edge-hero] .ip-art img{border-radius:0}[data-gp-theme="cake-box"][data-layout=edge-hero] .ip-art figcaption{padding:8px 20px}
[data-gp-theme="cake-box"][data-layout=full-width] .inside-page>.ip-opening{width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="cake-box"][data-layout=full-width] .inside-page>.ip-opening{padding-inline:4cqw}}
[data-gp-theme="cake-box"][data-layout=centered] .inside-page>.ip-opening{display:flex;flex-direction:column;align-items:center;text-align:center;width:min(1000px,calc(100% - 48px));gap:30px}[data-gp-theme="cake-box"][data-layout=centered] .inside-page>.ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="cake-box"][data-layout=centered] .inside-page>.ip-opening>figure{width:min(780px,100%)}
[data-gp-theme="cake-box"][data-layout=minimalist] .inside-page>.ip-opening{padding-block:38px}[data-gp-theme="cake-box"][data-layout=minimalist] .inside-page>.ip-opening :is(h1,figure){box-shadow:none;border-radius:0}
[data-gp-theme="cake-box"][data-layout=edge-hero] .inside-page>.ip-opening{width:100%;max-width:none;padding:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="cake-box"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="cake-box"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4cqw}}[data-gp-theme="cake-box"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:600px;max-width:none;align-self:stretch}[data-gp-theme="cake-box"][data-layout=edge-hero] .inside-page>.ip-opening>figure img{height:100%;object-fit:cover;border-radius:0}
/* Existing home compositions gain real width/spacing modes without replacing their content. */
[data-gp-theme="cake-box"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="cake-box"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){padding-inline:4cqw}}
[data-gp-theme="cake-box"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child{text-align:center}
[data-gp-theme="cake-box"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(h1,p){margin-inline:auto}[data-gp-theme="cake-box"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(.opening-copy,.elevation-copy,.cake-copy,.hero-copy){text-align:center}
[data-gp-theme="cake-box"][data-layout=minimalist]:not([data-inside]) .gp-source-main>section{padding-block:44px}[data-gp-theme="cake-box"][data-layout=minimalist]:not([data-inside]) :is(.hero-sleeve,.calendar,.hello-note,.open-book){box-shadow:none}
[data-gp-theme="cake-box"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child{width:100%;max-width:none;margin-inline:0;padding-inline:0;background:var(--ip-wash)}[data-gp-theme="cake-box"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="cake-box"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4cqw}}[data-gp-theme="cake-box"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:600px}
@media(hover:hover) and (pointer:fine){[data-gp-theme="cake-box"] .ip-action:hover{transform:translateY(-2px)}[data-gp-theme="cake-box"] .site-directory a:hover{text-decoration:underline}}
@media(max-width:850px){[data-gp-theme="cake-box"] .ip-hero,[data-gp-theme="cake-box"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="cake-box"] .ip-hero{gap:30px}[data-gp-theme="cake-box"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="cake-box"] .ip-two{gap:30px}[data-gp-theme="cake-box"] .ip-art{height:340px}}
@containerfs-editor-canvas (max-width: 850px){[data-gp-theme="cake-box"] .ip-hero,[data-gp-theme="cake-box"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="cake-box"] .ip-hero{gap:30px}[data-gp-theme="cake-box"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="cake-box"] .ip-two{gap:30px}[data-gp-theme="cake-box"] .ip-art{height:340px}}
@media(max-width:600px){[data-gp-theme="cake-box"] .ip-hero,[data-gp-theme="cake-box"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="cake-box"] .ip-hero,[data-gp-theme="cake-box"] .ip-two,[data-gp-theme="cake-box"] .ip-grid,[data-gp-theme="cake-box"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="cake-box"] .ip-art{height:300px}[data-gp-theme="cake-box"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="cake-box"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="cake-box"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="cake-box"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="cake-box"] .site-directory{padding:22px!important}[data-gp-theme="cake-box"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="cake-box"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="cake-box"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="cake-box"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="cake-box"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="cake-box"] .ip-hero,[data-gp-theme="cake-box"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="cake-box"] .ip-hero,[data-gp-theme="cake-box"] .ip-two,[data-gp-theme="cake-box"] .ip-grid,[data-gp-theme="cake-box"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="cake-box"] .ip-art{height:300px}[data-gp-theme="cake-box"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="cake-box"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="cake-box"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="cake-box"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="cake-box"] .site-directory{padding:22px!important}[data-gp-theme="cake-box"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="cake-box"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="cake-box"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="cake-box"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="cake-box"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@media(max-width:600px){[data-gp-theme="cake-box"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="cake-box"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="cake-box"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="cake-box"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="cake-box"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="cake-box"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
[data-gp-theme="cake-box"] .inside-page a[aria-disabled=true]{cursor:default;text-decoration:none}
[data-gp-theme="cake-box"][data-layout=edge-hero] .inside-page .ip-hero .ip-art{transform:none}
@media(prefers-reduced-motion:reduce){[data-gp-theme="cake-box"] .ip-action{transition:none;transform:none!important}}
/* Task actions always use an explicit contrasting pair, including themed form overrides. */
[data-gp-theme="cake-box"][data-site] .inside-page :is(.ip-form :is(button,[role="button"]):is([type="submit"],[data-gp-button-type="submit"]),[data-save-draft],.ip-action:not(.secondary)){
 background:var(--ip-ink)!important;color:var(--ip-paper)!important;border:1px solid var(--ip-ink)!important;
 min-height:48px;padding:12px 22px;font-size:16px;line-height:1.4;
}
[data-gp-theme="cake-box"][data-site] .inside-page .ip-action.secondary{background:transparent!important;color:var(--ip-ink)!important;border-color:var(--ip-line)!important}
[data-gp-theme="cake-box"][data-site] .inside-page .ip-form :is(select,select option){background-color:var(--ip-paper);color:var(--ip-ink)}
[data-gp-theme="cake-box"] .site-plan-label{display:block;font:400 14px/1.45 var(--body,sans-serif);margin-top:6px;text-decoration:none;opacity:1}
[data-gp-theme="cake-box"] a[data-preview-plan]{cursor:pointer}[data-gp-theme="cake-box"] .inside-page a[data-preview-plan]{text-decoration:none}
[data-gp-theme="cake-box"][data-site] .site-directory a[data-preview-plan]{display:flex;flex-direction:column;align-items:flex-start;gap:2px}[data-gp-theme="cake-box"] .site-directory .site-plan-label{font-size:13px;margin:0}


[data-gp-theme="cake-box"][data-inside] .ip-opening{padding-block:clamp(48px,7vw,112px)}


@container fs-editor-canvas (min-width: 0px){


[data-gp-theme="cake-box"][data-inside] .ip-opening{padding-block:clamp(48px,7cqw,112px)}}
[data-gp-theme="cake-box"][data-inside] .ip-opening h1{max-width:15ch}
[data-gp-theme="cake-box"][data-inside] .ip-reading p{margin-top:22px}
[data-gp-theme="cake-box"][data-inside] .ip-section>h2{margin-bottom:28px;max-width:24ch}
[data-gp-theme="cake-box"][data-inside] .ip-section p+p{margin-top:18px}
[data-gp-theme="cake-box"][data-inside] .ip-steps{list-style:none;padding:0;counter-reset:ip-step}
[data-gp-theme="cake-box"][data-inside] .ip-steps li{counter-increment:ip-step;position:relative;padding:28px 0 28px 76px;border-top:1px solid var(--line,var(--rule,currentColor));max-width:85ch}
[data-gp-theme="cake-box"][data-inside] .ip-steps li:before{content:counter(ip-step,decimal-leading-zero);position:absolute;left:0;top:30px;font:inherit;color:var(--accent,var(--rust,currentColor))}
[data-gp-theme="cake-box"][data-inside] .ip-steps p{margin-top:12px}
[data-gp-theme="cake-box"][data-inside] .ip-collection{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px;margin-top:30px}
[data-gp-theme="cake-box"][data-inside] .ip-collection h2{font-size:clamp(30px,3vw,46px);margin-top:20px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="cake-box"][data-inside] .ip-collection h2{font-size:clamp(30px,3cqw,46px)}}
[data-gp-theme="cake-box"][data-inside] .ip-collection p,[data-gp-theme="cake-box"][data-inside] .ip-card p{margin-block:16px}
[data-gp-theme="cake-box"][data-inside] .ip-art{overflow:hidden}
[data-gp-theme="cake-box"][data-inside] .ip-art img{width:100%;height:100%;object-fit:cover;display:block}
[data-gp-theme="cake-box"][data-inside] .ip-art figcaption{font:14px/1.5 var(--body,Figtree,sans-serif);padding:12px 0}
[data-gp-theme="cake-box"][data-inside] .ip-collection .ip-art{height:260px}
[data-gp-theme="cake-box"][data-inside] .ip-band p{margin-block:20px}
[data-gp-theme="cake-box"][data-inside] .ip-questions details{padding:24px 0;border-top:1px solid var(--line,var(--rule,currentColor));max-width:80ch}
[data-gp-theme="cake-box"][data-inside] .ip-questions summary{cursor:pointer;font-size:1.18em;font-weight:600}
[data-gp-theme="cake-box"][data-inside] .ip-questions p{margin-top:18px}
[data-gp-theme="cake-box"][data-inside] .ip-choices{display:flex;flex-wrap:wrap;gap:10px;margin-block:22px}
[data-gp-theme="cake-box"][data-inside] .ip-choices :is(button,[role="button"]){border:1px solid var(--line,var(--rule,currentColor));background:var(--wash,var(--paper));color:var(--ink);padding:12px 18px;min-height:44px;font:inherit;cursor:pointer}
[data-gp-theme="cake-box"][data-inside] .ip-choices :is(button,[role="button"])[aria-pressed=true]{background:var(--ink);color:var(--paper)}
[data-gp-theme="cake-box"][data-inside] .ip-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:30px;max-width:960px}
[data-gp-theme="cake-box"][data-inside] .ip-form label{display:grid;gap:9px;align-content:start}
[data-gp-theme="cake-box"][data-inside] .ip-form label:has(textarea),[data-gp-theme="cake-box"][data-inside] .ip-form>.ip-note{grid-column:1/-1}
[data-gp-theme="cake-box"][data-inside] .ip-form input,[data-gp-theme="cake-box"][data-inside] .ip-form select,[data-gp-theme="cake-box"][data-inside] .ip-form textarea{width:100%;max-width:100%;border:1px solid var(--line,var(--rule,currentColor));background:var(--paper);color:var(--ink);padding:12px;font:inherit;border-radius:0}
[data-gp-theme="cake-box"][data-inside] [data-draft-output]{display:block;white-space:pre-wrap;padding:24px;border:1px solid var(--line,var(--rule,currentColor));margin-block:24px;max-width:960px;overflow-wrap:anywhere}
[data-gp-theme="cake-box"][data-inside] [hidden]{display:none!important}
[data-gp-theme="cake-box"][data-inside] .ip-checks{display:grid;gap:14px;max-width:850px;margin-block:22px}
[data-gp-theme="cake-box"][data-inside] .ip-checks label{display:flex;align-items:flex-start;gap:15px;padding:14px;border-bottom:1px solid var(--line,var(--rule,currentColor));cursor:pointer}
[data-gp-theme="cake-box"][data-inside] .ip-checks input{flex:none;margin-top:6px;accent-color:var(--accent,var(--rust));width:20px;height:20px}
[data-gp-theme="cake-box"][data-inside] .ip-ledger>div{padding:19px 0;border-bottom:1px solid var(--line,var(--rule,currentColor));display:grid;grid-template-columns:180px 1fr;gap:24px}
[data-gp-theme="cake-box"][data-inside] .ip-ledger dt{font-weight:600}
[data-gp-theme="cake-box"][data-inside] .ip-ledger dd{margin:0;max-width:66ch}
[data-gp-theme="cake-box"][data-inside] .ip-caption{font-size:14px;color:var(--muted,var(--ink))}
[data-gp-theme="cake-box"][data-inside] .ip-note{font-size:15px}
[data-gp-theme="cake-box"][data-inside] :is(button,a,summary,input,textarea,select):focus-visible{outline:3px solid var(--accent,var(--rust,currentColor));outline-offset:4px}
@media(max-width:700px){[data-gp-theme="cake-box"][data-inside] .ip-collection,[data-gp-theme="cake-box"][data-inside] .ip-form{grid-template-columns:1fr}[data-gp-theme="cake-box"][data-inside] .ip-ledger>div{grid-template-columns:1fr;gap:7px}[data-gp-theme="cake-box"][data-inside] .ip-steps li{padding-left:48px}[data-gp-theme="cake-box"][data-inside] .ip-collection .ip-art{height:250px}}
@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="cake-box"][data-inside] .ip-collection,[data-gp-theme="cake-box"][data-inside] .ip-form{grid-template-columns:1fr}[data-gp-theme="cake-box"][data-inside] .ip-ledger>div{grid-template-columns:1fr;gap:7px}[data-gp-theme="cake-box"][data-inside] .ip-steps li{padding-left:48px}[data-gp-theme="cake-box"][data-inside] .ip-collection .ip-art{height:250px}}
@media(prefers-reduced-motion:no-preference){[data-gp-theme="cake-box"][data-inside] .ip-choices :is(button,[role="button"]),[data-gp-theme="cake-box"][data-inside] .ip-action{transition:transform 150ms ease,opacity 150ms ease}[data-gp-theme="cake-box"][data-inside] .ip-choices :is(button,[role="button"]):active,[data-gp-theme="cake-box"][data-inside] .ip-action:active{transform:translateY(2px)}}


[data-gp-theme="cake-box"][data-inside] .ip-bakery-hero .ip-reading{position:relative;border:3px solid var(--ink);padding:clamp(24px,4vw,50px);background:var(--wash);transform:rotate(-1deg)}


@container fs-editor-canvas (min-width: 0px){


[data-gp-theme="cake-box"][data-inside] .ip-bakery-hero .ip-reading{padding:clamp(24px,4cqw,50px)}}
[data-gp-theme="cake-box"][data-inside] .ip-cake-slice{min-height:240px;padding:30px 10%;display:flex;flex-direction:column;justify-content:center;transform:rotate(-3deg)}
[data-gp-theme="cake-box"][data-inside] .ip-cake-slice i{display:block;height:46px;background:#e8b969;border-top:14px solid var(--filling);border-inline:8px solid #fff3d3}
[data-gp-theme="cake-box"][data-inside] .ip-cake-slice i:first-child{border-top:20px solid #fff3d3;border-radius:22px 22px 0 0}
[data-gp-theme="cake-box"][data-inside] .ip-collection .ip-card{border:2px solid var(--ink);padding:24px;background:var(--wash)}
[data-gp-theme="cake-box"][data-inside] .ip-collection .ip-card:nth-child(even){transform:rotate(1deg)}
[data-gp-theme="cake-box"][data-inside] .ip-workbook{border:3px solid var(--ink);padding:clamp(24px,4vw,55px);background:var(--wash);position:relative}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="cake-box"][data-inside] .ip-workbook{padding:clamp(24px,4cqw,55px)}}
[data-gp-theme="cake-box"][data-inside] .ip-workbook:before{content:"Your celebration label";display:block;padding-bottom:22px;border-bottom:2px dashed var(--line);font-weight:700;margin-bottom:28px}
[data-gp-theme="cake-box"][data-inside] .ip-cake-gallery{display:grid;grid-template-columns:1.2fr 1fr;gap:38px}
[data-gp-theme="cake-box"][data-inside] .ip-cake-gallery .ip-art{height:600px;border:3px solid var(--ink)}
[data-gp-theme="cake-box"][data-inside] .ip-gallery-notes .ip-card{border-bottom:2px solid var(--ink);padding:24px 0}
[data-gp-theme="cake-box"][data-inside] .ip-box-record{padding-top:40px;border-top:3px solid var(--ink)}
[data-gp-theme="cake-box"][data-inside] [data-portions]{grid-column:1/-1;padding:24px;border:2px dashed var(--ink)}
@media(max-width:700px){[data-gp-theme="cake-box"][data-inside] .ip-cake-gallery{grid-template-columns:1fr}[data-gp-theme="cake-box"][data-inside] .ip-cake-gallery .ip-art{height:380px}}
@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="cake-box"][data-inside] .ip-cake-gallery{grid-template-columns:1fr}[data-gp-theme="cake-box"][data-inside] .ip-cake-gallery .ip-art{height:380px}}


[data-gp-theme="cake-box"][data-inside] .ip-art{display:grid;grid-template-rows:minmax(0,1fr) auto}
[data-gp-theme="cake-box"][data-inside] .ip-art img{min-height:0}

/* Owner selected alternative on 18 October 2026. Main heading roles only. */
[data-gp-theme="cake-box"][data-gp-kind="section"] h1{font-family:"Bricolage Grotesque", sans-serif!important;font-weight:600!important;letter-spacing:-0.012em!important;line-height:1.09!important;font-variation-settings:normal!important;font-optical-sizing:auto!important}
[data-gp-theme="cake-box"][data-gp-kind="section"] h2{font-family:"DM Sans", sans-serif!important;font-weight:650!important;letter-spacing:-.01em!important;line-height:1.17!important;font-variation-settings:normal!important;font-optical-sizing:auto!important}
[data-gp-theme="cake-box"][data-gp-kind="section"] h3{font-family:"DM Sans", sans-serif!important;font-weight:600!important;letter-spacing:0!important;line-height:1.25!important;font-variation-settings:normal!important}
[data-gp-theme="cake-box"][data-inside][data-gp-kind="section"] h1{font-family:"Bricolage Grotesque", sans-serif!important;line-height:1.14!important;letter-spacing:-.012em!important;font-weight:600!important;text-transform:none!important}
@media(max-width:650px){[data-gp-theme="cake-box"][data-gp-kind="section"] h1{line-height:1.09!important;letter-spacing:-0.012em!important}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="cake-box"][data-gp-kind="section"] h1{line-height:1.09!important;letter-spacing:-0.012em!important}}


[data-gp-theme="cake-box"] .ux-study{padding:75px 0;background:var(--paper);color:var(--ink);border-block:1px solid var(--line);isolation:isolate}[data-gp-theme="cake-box"] .ux-shell{width:min(1280px,calc(100% - 80px));margin:auto}[data-gp-theme="cake-box"] .ux-title{display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:35px}[data-gp-theme="cake-box"] .ux-title h2{font-size:clamp(32px,4vw,52px);line-height:1.12;max-width:18ch;margin:0}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="cake-box"] .ux-title h2{font-size:clamp(32px,4cqw,52px)}}[data-gp-theme="cake-box"] .ux-title p{max-width:43ch;font-size:17px;margin:0}[data-gp-theme="cake-box"] .ux-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:35px;align-items:start}[data-gp-theme="cake-box"] .ux-study :is(h3,p,figure){margin:0}[data-gp-theme="cake-box"] .ux-study h3{font-size:25px;line-height:1.22;margin-bottom:14px}[data-gp-theme="cake-box"] .ux-study p{max-width:66ch}[data-gp-theme="cake-box"] .ux-art{background:var(--wash);overflow:hidden;position:relative;margin:0;min-width:0}[data-gp-theme="cake-box"] .ux-art svg{display:block;width:100%;height:auto;aspect-ratio:1.35;max-height:580px}[data-gp-theme="cake-box"] .ux-art img{width:100%;height:100%;display:block;object-fit:cover}[data-gp-theme="cake-box"] .ux-art figcaption{padding:12px 18px;font-size:14px;color:var(--ink);background:var(--wash)}[data-gp-theme="cake-box"] .ux-study fieldset{border:0;padding:0;margin:0 0 24px;min-width:0}[data-gp-theme="cake-box"] .ux-study legend{font-size:15px;margin-bottom:10px;font-weight:600;padding:0}[data-gp-theme="cake-box"] .ux-choices{display:flex;flex-wrap:wrap;gap:8px}[data-gp-theme="cake-box"] .ux-study :is(button,[role="button"]){font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);padding:11px 15px;min-height:46px;cursor:pointer;line-height:1.3;min-width:0;text-align:left}[data-gp-theme="cake-box"] .ux-study :is(button,[role="button"])[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}[data-gp-theme="cake-box"] .ux-study :is(button,a,input):focus-visible{outline:3px solid var(--ink);outline-offset:4px}[data-gp-theme="cake-box"] .ux-study :is(button,[role="button"]):active{transform:translateY(1px)}[data-gp-theme="cake-box"] .ux-text{min-height:105px;padding-top:20px;border-top:1px solid var(--line)}[data-gp-theme="cake-box"] .ux-text p{font-size:17px;line-height:1.6}[data-gp-theme="cake-box"] .ux-foot{display:flex;gap:25px;justify-content:space-between;align-items:start;margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}[data-gp-theme="cake-box"] .ux-foot p{font-size:14px;max-width:60ch}[data-gp-theme="cake-box"] .ux-link{display:inline-flex;align-items:center;min-height:46px;border-bottom:1px solid currentColor;font-size:17px;text-decoration:none;flex-shrink:0}[data-gp-theme="cake-box"] .ux-selection{padding:14px 0;margin-top:22px;font-size:16px;min-height:53px;border-block:1px solid var(--line)}[data-gp-theme="cake-box"] .ux-summary{background:var(--wash);padding:30px;margin:30px auto;max-width:1280px;color:var(--ink);border-block:1px solid var(--line)}[data-gp-theme="cake-box"] .ux-summary h2{font-size:30px;margin:0 0 12px}[data-gp-theme="cake-box"] .ux-summary p{margin:0 0 12px}[data-gp-theme="cake-box"] .ux-summary .ux-link{margin-top:10px}[data-gp-theme="cake-box"] .ux-stage-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:20px}[data-gp-theme="cake-box"] .ux-stage-bar :is(button,[role="button"]){display:grid;gap:8px}[data-gp-theme="cake-box"] .ux-stage-bar :is(button,[role="button"]) small{font-size:13px}[data-gp-theme="cake-box"] .ux-joint-diagram{background:#29322c;color:#f3f0dc}[data-gp-theme="cake-box"] .ux-joint-diagram svg{aspect-ratio:1.35}[data-gp-theme="cake-box"] .ux-joint-diagram figcaption{background:#29322c;color:#f3f0dc}[data-gp-theme="cake-box"] .ux-joint-diagram .ux-prep,[data-gp-theme="cake-box"] .ux-joint-diagram .ux-setting,[data-gp-theme="cake-box"] .ux-joint-diagram .ux-finish{opacity:.14;transition:opacity 180ms cubic-bezier(.23,1,.32,1)}[data-gp-theme="cake-box"] .ux-joint-diagram[data-stage="prepare"] .ux-prep,[data-gp-theme="cake-box"] .ux-joint-diagram[data-stage="install"] :is(.ux-prep,.ux-setting),[data-gp-theme="cake-box"] .ux-joint-diagram[data-stage="finish"] :is(.ux-prep,.ux-setting,.ux-finish){opacity:1}[data-gp-theme="cake-box"] .ux-joint-note{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding:25px 0;margin-top:20px;border-top:1px solid var(--line)}[data-gp-theme="cake-box"] .ux-joint-note p{font-size:16px}[data-gp-theme="cake-box"] .ux-home-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}[data-gp-theme="cake-box"] .ux-plan{aspect-ratio:.95;position:relative;background:#e7e9dd;color:#193b77;padding:25px}[data-gp-theme="cake-box"] .ux-plan-header{display:flex;justify-content:space-between;font-size:13px;margin-bottom:20px}[data-gp-theme="cake-box"] .ux-plan-rooms{height:77%;display:grid;grid-template-columns:1.1fr 1fr;grid-template-rows:1fr 1.1fr .65fr;gap:6px;border:5px double #193b77;padding:7px;position:relative}[data-gp-theme="cake-box"] .ux-plan-rooms:after{content:"";position:absolute;bottom:-8px;left:30%;width:45px;height:12px;background:#e7e9dd;border:1px solid #193b77;pointer-events:none}[data-gp-theme="cake-box"] .ux-plan-rooms :is(button,[role="button"]){background:#f5f3ea;border:1px solid #193b77;color:#193b77;display:flex;align-items:center;justify-content:center;text-align:center;padding:10px}[data-gp-theme="cake-box"] .ux-plan-rooms :is(button,[role="button"])[data-room=garden]{grid-column:1/-1;background:repeating-linear-gradient(45deg,#d1dbc9 0 10px,#dce4d5 10px 11px)}[data-gp-theme="cake-box"] .ux-plan-rooms :is(button,[role="button"])[aria-pressed=true]{background:#193b77;color:#f5f3ea}[data-gp-theme="cake-box"] .ux-room-view{display:flex;flex-direction:column;gap:18px}[data-gp-theme="cake-box"] .ux-room-view figure{aspect-ratio:1.55;background:#efe5d1;overflow:hidden}[data-gp-theme="cake-box"] .ux-room-view img{object-fit:cover}[data-gp-theme="cake-box"] .ux-room-view .ux-text{min-height:116px}[data-gp-theme="cake-box"] .ux-room-title{display:flex;justify-content:space-between;gap:15px;align-items:center}[data-gp-theme="cake-box"] .ux-room-title span:not(.fs-richtext){font-size:14px}[data-gp-theme="cake-box"] .ux-study .ux-toggle{margin-top:16px}[data-gp-theme="cake-box"] .ux-cake-display{--sponge:#e5b66d;--filling:#ad435b;--icing:#fff4db;background:#fff4db;color:#602b3e}[data-gp-theme="cake-box"] .ux-cake-display[data-flavour=chocolate]{--sponge:#79503a;--filling:#422f28;--icing:#b88c65}[data-gp-theme="cake-box"] .ux-cake-display[data-flavour=lemon]{--sponge:#dfbf68;--filling:#d4a93c;--icing:#fff4cb}[data-gp-theme="cake-box"] .ux-cake-display .ux-sponge{fill:var(--sponge)}[data-gp-theme="cake-box"] .ux-cake-display .ux-filling{fill:var(--filling)}[data-gp-theme="cake-box"] .ux-cake-display .ux-icing{fill:var(--icing)}[data-gp-theme="cake-box"] .ux-cake-display .ux-piping,[data-gp-theme="cake-box"] .ux-cake-display .ux-ribbon{display:none}[data-gp-theme="cake-box"] .ux-cake-display[data-finish=piped] .ux-piping,[data-gp-theme="cake-box"] .ux-cake-display[data-finish=ribbon] .ux-ribbon{display:block}[data-gp-theme="cake-box"] .ux-cake-display svg{aspect-ratio:1.333}[data-gp-theme="cake-box"] .ux-cake-controls label{display:grid;gap:9px;font-size:15px;margin:10px 0 24px}[data-gp-theme="cake-box"] .ux-cake-controls input{width:100%;min-height:46px;font:inherit;background:var(--paper);color:var(--ink);border:1px solid var(--line);padding:12px;box-sizing:border-box}[data-gp-theme="cake-box"] .ux-serving{display:grid;grid-template-columns:.8fr 1.2fr;gap:25px;margin-top:32px;border-top:1px solid var(--line);padding-top:25px}[data-gp-theme="cake-box"] .ux-serving-plates{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;align-content:center;min-height:105px}[data-gp-theme="cake-box"] .ux-serving-plates span:not(.fs-richtext){border:1px solid var(--ink);aspect-ratio:1;border-radius:50%;position:relative;background:var(--wash)}[data-gp-theme="cake-box"] .ux-serving-plates span:not(.fs-richtext):after{content:"";position:absolute;left:28%;top:24%;width:42%;height:42%;background:#e4bd77;border-bottom:4px solid #ad435b;transform:rotate(-10deg)}[data-gp-theme="cake-box"] .ux-serving-plates[data-serving=dessert]{grid-template-columns:repeat(4,1fr)}[data-gp-theme="cake-box"] .ux-serving-plates[data-serving=dessert] span:not(.fs-richtext):nth-child(n+9){display:none}[data-gp-theme="cake-box"] .ux-v-grid{grid-template-columns:minmax(0,1.7fr) minmax(0,.8fr);gap:35px}[data-gp-theme="cake-box"] .ux-v-wide{aspect-ratio:1.65;position:relative;overflow:hidden;background:#223139}[data-gp-theme="cake-box"] .ux-v-wide>img{height:100%;object-fit:cover}[data-gp-theme="cake-box"] .ux-v-marker{position:absolute;background:#f5f0e2;color:#26363b;border:1px solid #26363b;padding:5px 12px;font-size:13px;left:6%;bottom:9%}[data-gp-theme="cake-box"] .ux-v-detail{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:25px;align-items:center}[data-gp-theme="cake-box"] .ux-v-detail figure{height:180px;overflow:hidden;background:#223139}[data-gp-theme="cake-box"] .ux-v-nav{display:grid;gap:0;border-top:1px solid var(--line)}[data-gp-theme="cake-box"] .ux-v-nav :is(button,[role="button"]){border:0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 12px}[data-gp-theme="cake-box"] .ux-v-nav :is(button,[role="button"]) span:not(.fs-richtext){font-size:13px}[data-gp-theme="cake-box"] .ux-v-nav :is(button,[role="button"])[aria-pressed=true]{background:var(--wash);color:var(--ink);box-shadow:inset 0 -2px currentColor}[data-gp-theme="cake-box"] .ux-v-nav :is(button,[role="button"]):after{content:"";width:7px;height:7px;border-right:1px solid currentColor;border-top:1px solid currentColor;transform:rotate(45deg)}[data-gp-theme="cake-box"] .ux-v-controls .ux-text{margin-top:28px;min-height:150px}[data-gp-theme="cake-box"] .ux-v-light{position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 40%,#fff5 50%,transparent 60%);opacity:0}[data-gp-theme="cake-box"] .ux-study [hidden]{display:none!important}@media(max-width:800px){[data-gp-theme="cake-box"] .ux-shell{width:calc(100% - 40px)}[data-gp-theme="cake-box"] .ux-grid,[data-gp-theme="cake-box"] .ux-home-grid,[data-gp-theme="cake-box"] .ux-v-grid{grid-template-columns:minmax(0,1fr);gap:25px}[data-gp-theme="cake-box"] .ux-grid>*{min-width:0}[data-gp-theme="cake-box"] .ux-room-title{flex-wrap:wrap}[data-gp-theme="cake-box"] .ux-title{display:block}[data-gp-theme="cake-box"] .ux-title p{margin-top:18px;max-width:60ch}[data-gp-theme="cake-box"] .ux-plan{aspect-ratio:auto;height:360px;min-height:0}[data-gp-theme="cake-box"] .ux-plan-rooms{height:78%}[data-gp-theme="cake-box"] .ux-cake-display svg{max-height:490px}[data-gp-theme="cake-box"] .ux-stage-bar{grid-template-columns:1fr 1fr}[data-gp-theme="cake-box"] .ux-foot{flex-direction:column;gap:15px}[data-gp-theme="cake-box"] .ux-study{padding:50px 0}[data-gp-theme="cake-box"] .ux-summary{margin-inline:20px;padding:22px}[data-gp-theme="cake-box"] .ux-v-controls .ux-text{min-height:105px}[data-gp-theme="cake-box"] .ux-v-nav{grid-template-columns:repeat(3,minmax(0,1fr))}[data-gp-theme="cake-box"] .ux-v-nav :is(button,[role="button"]){padding:12px 8px;display:grid;font-size:15px}[data-gp-theme="cake-box"] .ux-v-nav :is(button,[role="button"]):after{display:none}[data-gp-theme="cake-box"] .ux-v-detail{gap:18px}[data-gp-theme="cake-box"] .ux-v-detail figure{height:150px}[data-gp-theme="cake-box"] .ux-serving{grid-template-columns:1fr}[data-gp-theme="cake-box"] .ux-joint-note{grid-template-columns:1fr;gap:15px}}@containerfs-editor-canvas (max-width: 800px){[data-gp-theme="cake-box"] .ux-shell{width:calc(100% - 40px)}[data-gp-theme="cake-box"] .ux-grid,[data-gp-theme="cake-box"] .ux-home-grid,[data-gp-theme="cake-box"] .ux-v-grid{grid-template-columns:minmax(0,1fr);gap:25px}[data-gp-theme="cake-box"] .ux-grid>*{min-width:0}[data-gp-theme="cake-box"] .ux-room-title{flex-wrap:wrap}[data-gp-theme="cake-box"] .ux-title{display:block}[data-gp-theme="cake-box"] .ux-title p{margin-top:18px;max-width:60ch}[data-gp-theme="cake-box"] .ux-plan{aspect-ratio:auto;height:360px;min-height:0}[data-gp-theme="cake-box"] .ux-plan-rooms{height:78%}[data-gp-theme="cake-box"] .ux-cake-display svg{max-height:490px}[data-gp-theme="cake-box"] .ux-stage-bar{grid-template-columns:1fr 1fr}[data-gp-theme="cake-box"] .ux-foot{flex-direction:column;gap:15px}[data-gp-theme="cake-box"] .ux-study{padding:50px 0}[data-gp-theme="cake-box"] .ux-summary{margin-inline:20px;padding:22px}[data-gp-theme="cake-box"] .ux-v-controls .ux-text{min-height:105px}[data-gp-theme="cake-box"] .ux-v-nav{grid-template-columns:repeat(3,minmax(0,1fr))}[data-gp-theme="cake-box"] .ux-v-nav :is(button,[role="button"]){padding:12px 8px;display:grid;font-size:15px}[data-gp-theme="cake-box"] .ux-v-nav :is(button,[role="button"]):after{display:none}[data-gp-theme="cake-box"] .ux-v-detail{gap:18px}[data-gp-theme="cake-box"] .ux-v-detail figure{height:150px}[data-gp-theme="cake-box"] .ux-serving{grid-template-columns:1fr}[data-gp-theme="cake-box"] .ux-joint-note{grid-template-columns:1fr;gap:15px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="cake-box"] .ux-study *{transition:none!important}[data-gp-theme="cake-box"] .ux-study :is(button,[role="button"]):active{transform:none}}

/* Approved readability refinements, 18 October 2026.
   Only meaningful helpers, local groups and selected reading paragraphs.
   Owner-selected type families, display sizes and frozen comparisons stay authoritative. */

/* Kiln House: the brief promise and sample guidance are part of the task. */
[data-gp-theme="cake-box"][data-site="kiln-house"] :is(.field-note,.form-note,.pairing-hint,.material-note,.light-note,.letter-note,.combination-copy small,.material-row small){font-size:14px;line-height:1.5}
[data-gp-theme="cake-box"][data-site="kiln-house"] .form-note{margin-top:16px}
[data-gp-theme="cake-box"][data-site="kiln-house"] :is(.quiet-button,.combination-action){font-size:15px;line-height:1.5}
[data-gp-theme="cake-box"][data-site="kiln-house"] .quiet-button{min-height:44px}
[data-gp-theme="cake-box"][data-site="kiln-house"] .directory-links a small{font-size:14px;line-height:1.5}

/* Small study labels explain a choice, rather than acting as an imprint. */
[data-gp-theme="cake-box"][data-site="true-joint"] .ux-stage-bar :is(button,[role="button"]) small{font-size:14px;line-height:1.5}
[data-gp-theme="cake-box"][data-site="neighbourhood-edit"] .ux-plan-header{font-size:14px;line-height:1.5;gap:12px;flex-wrap:wrap}
[data-gp-theme="cake-box"][data-site="neighbourhood-edit"] .ux-room-title{margin-bottom:16px}
[data-gp-theme="cake-box"][data-site="neighbourhood-edit"] .ux-room-title h3{margin-bottom:0}
[data-gp-theme="cake-box"][data-site="neighbourhood-edit"] :is(.home-finder label,.home-finder output,.area-index small){font-size:14px;line-height:1.5}
[data-gp-theme="cake-box"][data-site="neighbourhood-edit"] .home-finder select{font-size:16px;min-height:44px}
[data-gp-theme="cake-box"][data-site="harbour"] .ux-folio .ux-document-row label{font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="cake-box"][data-site="daymark-window-care"] .dm-sheet-head{font-size:14px;line-height:1.5;flex-wrap:wrap}
[data-gp-theme="cake-box"][data-site="velum-window-care"] .ux-v-nav :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}

/* Existing small controls retain or gain the comfortable target height. */
[data-gp-theme="cake-box"][data-site="stem-and-still"] .stem-slip :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:48px;gap:8px}
[data-gp-theme="cake-box"][data-site="cake-box"] .flavour-pick :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="cake-box"][data-site="cake-box"] .message-label small{font-size:14px;line-height:1.5}
[data-gp-theme="cake-box"][data-site="crm-recruitment-people"] .question-buttons{gap:10px}
[data-gp-theme="cake-box"][data-site="crm-recruitment-people"] .question-buttons :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:10px 12px}
[data-gp-theme="cake-box"][data-site="the-second-set-programme"] .pr-order-actions :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:8px 10px}

/* The format facts belong with the large ensemble names. */
[data-gp-theme="cake-box"][data-site="the-second-set-afterglow"] .ag-format-ribbon span:not(.fs-richtext){font-size:14px;line-height:1.5;margin-top:8px}
[data-gp-theme="cake-box"][data-site="the-second-set-programme"] .opening-note{font-size:14px;line-height:1.5}
[data-gp-theme="cake-box"][data-site="the-second-set-signal"] .form-note{font-size:14px;line-height:1.5}

/* Slipstream: useful record, filter and brief text; preserve the scrollable comparison. */
[data-gp-theme="cake-box"][data-site="slipstream"] :is(.featured-price small,.rail-note,.stock-finder label,.stock-caption,.inspection-note,.inspection-instruction,.form-note,[data-gp-id="stock-count"],[data-gp-id="form-question-count"]){font-size:14px;line-height:1.5}
[data-gp-theme="cake-box"][data-site="slipstream"] :is(.visit-form label,.form-pair label){font-size:15px;line-height:1.5}
[data-gp-theme="cake-box"][data-site="slipstream"] :is(.car-record summary,[data-gp-id="reset-stock"],[data-gp-id="clear-compare"],.quick-compare button){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="cake-box"][data-site="slipstream"] .stock-finder select{min-height:44px}

/* Narrow only sustained paragraphs, preserving plans, records, lists and tables. */
[data-gp-theme="cake-box"]:is([data-site="stem-and-still"],[data-site="kiln-house"],[data-site="true-joint"])[data-inside] .ip-reading>p{max-width:64ch}

@media(max-width:700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="cake-box"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="cake-box"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="cake-box"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="cake-box"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="cake-box"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="cake-box"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="cake-box"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="cake-box"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="cake-box"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

@containerfs-editor-canvas (max-width: 700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="cake-box"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="cake-box"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="cake-box"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="cake-box"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="cake-box"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="cake-box"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="cake-box"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="cake-box"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="cake-box"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

/* No generic heading, body, section-spacing or panel-height reset.
   Goodpane's unused calendar CSS, Expedition's real stage envelope,
   Starlight's passage leading and Velum's display introduction need no blanket fix. */

/* Menu-only reset. Shapes and composition are authored separately below. */
[data-gp-theme="cake-box"] dialog[data-gp-id="mega-menu"].mega-menu{--mi-paper:var(--paper);--mi-ink:var(--ink);--mi-wash:var(--wash,var(--paper));--mi-line:var(--line);--mi-accent:var(--accent,var(--ink));position:fixed;inset:auto;margin:0;padding:0;min-width:0;min-height:0;max-width:none;max-height:none;border:0;border-radius:0;background:var(--mi-paper);color:var(--mi-ink);box-shadow:0 22px 90px #0004;font:16px/1.5 var(--body,sans-serif);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:auto;transform:none}
[data-gp-theme="cake-box"] [data-gp-id="mega-menu"][open]{display:block;animation:none}
[data-gp-theme="cake-box"] [data-gp-id="mega-menu"][open]:not([data-closing])>:not(.mi-bar){animation:gp-cakebox-mi-arrive 180ms ease-out both}
[data-gp-theme="cake-box"] [data-gp-id="mega-menu"][data-closing]{animation:gp-cakebox-mi-leave 160ms ease-in both}
[data-gp-theme="cake-box"] [data-gp-id="mega-menu"]::backdrop{background:#0007;backdrop-filter:blur(3px)}
[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] *,[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] *::before,[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] *::after{box-sizing:border-box}
[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] :is(h2,h3,p,figure){margin:0;max-width:none}
[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] h2{font-family:var(--mi-display,var(--display,serif));font-weight:500;line-height:1.1;letter-spacing:-.025em;text-transform:none}
[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] h3{font:600 19px/1.25 var(--body,sans-serif);letter-spacing:0;text-transform:none}
[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] a{color:inherit;text-decoration:none;min-height:44px;transition:background-color 160ms,color 160ms;text-transform:none;letter-spacing:0}
[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] a:hover{text-decoration:underline;text-underline-offset:5px}
[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] a:focus-visible,[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] :is(button,[role="button"]):focus-visible{outline:2px solid currentColor;outline-offset:4px}
[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] small{font:400 13px/1.5 var(--body,sans-serif);letter-spacing:0;text-transform:none}
[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] .mi-bar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:0;padding:16px 28px;border-bottom:1px solid var(--mi-line);background:var(--mi-paper);color:var(--mi-ink);font:500 15px/1.3 var(--body,sans-serif)}
[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] .mi-bar a{display:flex;align-items:center;font:inherit;max-width:70%}
[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] [data-menu-close]{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:64px;margin:0;padding:9px 12px;border:1px solid var(--mi-line);border-radius:0;background:var(--mi-paper);color:var(--mi-ink);font:500 14px/1.3 var(--body,sans-serif);cursor:pointer;flex:none}
[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] .mi-note{font:400 12px/1.5 var(--body,sans-serif);color:var(--mi-ink)}
@keyframes gp-cakebox-mi-arrive{from{opacity:0}to{opacity:1}}@keyframes gp-cakebox-mi-leave{to{opacity:0}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="cake-box"] [data-gp-id="mega-menu"][open],[data-gp-theme="cake-box"] [data-gp-id="mega-menu"][data-closing],[data-gp-theme="cake-box"] [data-gp-id="mega-menu"][open]>:not(.mi-bar){animation:none}[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] a{transition:none}}

[data-gp-theme="cake-box"] dialog[data-gp-id="mega-menu"].mega-menu{--mi-display:"Bricolage Grotesque",sans-serif;inset:0 0 auto;width:100%;max-height:94dvh;border-bottom:10px solid var(--mi-ink)}
[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] .mi-bar{padding:12px 4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] .mi-bar{padding:12px 4cqw}}[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] .mi-counter-title{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:26px 4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] .mi-counter-title{padding:26px 4cqw}}[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] h2{font-size:44px;font-weight:600}[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] .mi-order-slip{display:flex;align-items:center;border:1px dashed var(--mi-ink);padding:15px 22px;transform:rotate(2deg);background:var(--mi-wash);font-weight:600;font-size:15px}
[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] .mi-cake-counter{display:grid;grid-template-columns:1fr 1fr 1.05fr;gap:4vw;padding:12px 4vw 30px;background:repeating-linear-gradient(90deg,transparent 0,transparent 45px,color-mix(in srgb,var(--mi-ink) 5%,transparent) 45px,color-mix(in srgb,var(--mi-ink) 5%,transparent) 46px)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] .mi-cake-counter{gap:4cqw;padding:12px 4cqw 30px}}[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] .mi-cake-display{display:flex;flex-direction:column;justify-content:end}[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] .mi-cake-shape{height:120px;display:flex;flex-direction:column;justify-content:end;align-items:center;border-bottom:8px solid var(--mi-ink);margin:0 12px 18px}[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] .mi-layer-cake i{display:block;width:70%;height:27px;border:2px solid var(--mi-ink);border-bottom:0;background:var(--mi-wash)}[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] .mi-layer-cake i:first-child{border-radius:60% 60% 0 0;height:32px;background:var(--mi-ink)}[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] .mi-wedding-cake i{display:block;height:30px;border:2px solid var(--mi-ink);border-bottom:0;background:var(--mi-wash);border-radius:6px 6px 0 0}[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] .mi-wedding-cake i:nth-child(1){width:26%}[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] .mi-wedding-cake i:nth-child(2){width:45%}[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] .mi-wedding-cake i:nth-child(3){width:70%}[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] .mi-cake-display nav a{display:flex;align-items:center;justify-content:center;text-align:center;font:600 18px/1.3 "DM Sans",sans-serif;padding:10px;border-bottom:1px solid var(--mi-line)}[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] .mi-kitchen-pad{padding:24px;background:var(--mi-wash);border:1px solid var(--mi-line);box-shadow:4px 5px 0 var(--mi-paper),5px 6px 0 var(--mi-line)}[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] .mi-kitchen-pad h3{font:600 26px/1.1 "Bricolage Grotesque",sans-serif;margin-bottom:12px}[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] .mi-kitchen-pad a{display:flex;align-items:center;padding:8px 0;border-bottom:1px solid var(--mi-line);font-size:15px}[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] .mi-kitchen-pad small{display:block;margin-top:15px;font-size:12px}
@media(max-width:900px){[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] .mi-counter-title{display:block;padding:24px 22px}[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] h2{font-size:35px}[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] .mi-order-slip{margin-top:22px;transform:none;justify-content:center}[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] .mi-cake-counter{grid-template-columns:1fr;padding:0 22px 32px;gap:25px}[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] .mi-cake-shape{height:100px;max-width:260px;width:100%;align-self:center}[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] .mi-kitchen-pad{padding:22px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] .mi-counter-title{display:block;padding:24px 22px}[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] h2{font-size:35px}[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] .mi-order-slip{margin-top:22px;transform:none;justify-content:center}[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] .mi-cake-counter{grid-template-columns:1fr;padding:0 22px 32px;gap:25px}[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] .mi-cake-shape{height:100px;max-width:260px;width:100%;align-self:center}[data-gp-theme="cake-box"] [data-gp-id="mega-menu"] .mi-kitchen-pad{padding:22px}}

[data-gp-theme="cake-box"]{--paper:rgb(var(--c-paper));--ink:rgb(var(--c-ink-950));--accent:rgb(var(--c-brand-600));--wash:rgb(var(--c-paper-soft));--line:rgb(var(--c-line));--muted:rgb(var(--c-ink-400));--on-accent:var(--fs-on-brand);--focus:rgb(var(--c-accent));--work:var(--fs-surface-inverted,var(--wash));--work-ink:var(--fs-on-surface-inverted,var(--paper));--body:var(--font-sans);}
[data-gp-theme="harbour-premium"]{--ease-out:cubic-bezier(.23,1,.32,1);--ease-drawer:cubic-bezier(.32,.72,0,1)}
[data-gp-theme="harbour-premium"] *{box-sizing:border-box}[data-gp-theme="harbour-premium"]{scroll-behavior:smooth;scroll-padding-top:100px}[data-gp-theme="harbour-premium"]{margin:0}[data-gp-theme="harbour-premium"] img{max-width:100%;display:block}[data-gp-theme="harbour-premium"] :is(button,[role="button"]),[data-gp-theme="harbour-premium"] input,[data-gp-theme="harbour-premium"] select,[data-gp-theme="harbour-premium"] textarea{font:inherit}[data-gp-theme="harbour-premium"] :is(button,[role="button"]),[data-gp-theme="harbour-premium"] a,[data-gp-theme="harbour-premium"] input,[data-gp-theme="harbour-premium"] select,[data-gp-theme="harbour-premium"] textarea{touch-action:manipulation}[data-gp-theme="harbour-premium"] :is(button,[role="button"]),[data-gp-theme="harbour-premium"] a{ -webkit-tap-highlight-color:transparent}[data-gp-theme="harbour-premium"] :is(button,[role="button"]){cursor:pointer}[data-gp-theme="harbour-premium"] :is(button,[role="button"]):active{transform:translateY(1px)}[data-gp-theme="harbour-premium"] a{color:inherit;text-underline-offset:.22em}[data-gp-theme="harbour-premium"] :is(button,[role="button"]):focus-visible,[data-gp-theme="harbour-premium"] a:focus-visible,[data-gp-theme="harbour-premium"] summary:focus-visible,[data-gp-theme="harbour-premium"] input:focus-visible,[data-gp-theme="harbour-premium"] select:focus-visible,[data-gp-theme="harbour-premium"] textarea:focus-visible{outline:3px solid var(--focus,#346ddb);outline-offset:5px}[data-gp-theme="harbour-premium"] textarea{resize:vertical}[data-gp-theme="harbour-premium"] input,[data-gp-theme="harbour-premium"] textarea{caret-color:var(--focus,currentColor)}[data-gp-theme="harbour-premium"] :is(button,[role="button"]),[data-gp-theme="harbour-premium"] select,[data-gp-theme="harbour-premium"] input{min-height:44px}[data-gp-theme="harbour-premium"] summary{cursor:pointer}[data-gp-theme="harbour-premium"] section[id],[data-gp-theme="harbour-premium"] footer[id]{scroll-margin-top:110px}[data-gp-theme="harbour-premium"] [hidden]{display:none!important}[data-gp-theme="harbour-premium"] .skip-link{position:fixed;z-index:200;top:8px;left:8px;background:#fff;color:#111;padding:12px 18px;transform:translateY(-150%)}[data-gp-theme="harbour-premium"] .skip-link:focus{transform:none}
[data-gp-theme="harbour-premium"] .preview-bar{min-height:42px;background:#f6f6f2;color:#252a2a;border-bottom:1px solid #d5d8d4;font:13px/1.3 "Figtree",sans-serif;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 3vw;position:relative;z-index:30}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="harbour-premium"] .preview-bar{padding:5px 3cqw}}[data-gp-theme="harbour-premium"] .preview-bar a{white-space:nowrap}[data-gp-theme="harbour-premium"] .preview-bar [role=group]{display:flex;gap:2px;align-items:center}[data-gp-theme="harbour-premium"] .preview-bar :is(button,[role="button"]){min-height:32px;background:transparent;color:inherit;border:0;padding:6px 10px;border-radius:3px;font-size:13px;transition:background-color 150ms var(--ease-out)}[data-gp-theme="harbour-premium"] .preview-bar [aria-pressed=true]{background:#252a2a;color:#fff}[data-gp-theme="harbour-premium"] .preview-bar :is(button,[role="button"])[data-replay-intro]{border:1px solid #b6beb8}[data-gp-theme="harbour-premium"] .preview-label{color:#515953}[data-gp-theme="harbour-premium"] .preview-bar::selection{background:#252a2a;color:#fff}
[data-gp-theme="harbour-premium"] dialog.mega-menu{max-width:none;max-height:calc(100dvh - 32px);overflow:auto;border:0;padding:0;color:inherit;overscroll-behavior:contain}[data-gp-theme="harbour-premium"] dialog.mega-menu::backdrop{background:rgb(8 16 18 / .52)}[data-gp-theme="harbour-premium"] .mega-menu[open]{animation:gp-harbourpremium-menu-arrive 220ms var(--ease-drawer)}[data-gp-theme="harbour-premium"] .mega-menu[data-closing]{animation:gp-harbourpremium-menu-leave 160ms var(--ease-out) forwards}[data-gp-theme="harbour-premium"] .mega-menu[data-keyboard]{animation:none}[data-gp-theme="harbour-premium"] .menu-lock{overflow:hidden}@keyframes gp-harbourpremium-menu-arrive{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}@keyframes gp-harbourpremium-menu-leave{to{opacity:0;transform:translateY(-10px)}}
[data-gp-theme="harbour-premium"] .preloader{display:none;position:fixed;inset:0;z-index:190;place-content:center;pointer-events:none;text-align:center}[data-gp-theme="harbour-premium"] .preloader.is-active{display:grid;animation:gp-harbourpremium-intro-failsafe 1.3s step-end forwards}[data-gp-theme="harbour-premium"] .preloader.is-leaving{opacity:0;transition:opacity 180ms var(--ease-out)}@keyframes gp-harbourpremium-intro-failsafe{0%,99%{visibility:visible}100%{visibility:hidden}}
@media(max-width:650px){[data-gp-theme="harbour-premium"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="harbour-premium"] .preview-bar .preview-label{display:none}[data-gp-theme="harbour-premium"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="harbour-premium"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="harbour-premium"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="harbour-premium"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="harbour-premium"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="harbour-premium"] .preview-bar .preview-label{display:none}[data-gp-theme="harbour-premium"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="harbour-premium"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="harbour-premium"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="harbour-premium"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="harbour-premium"]{scroll-behavior:auto}[data-gp-theme="harbour-premium"] *,[data-gp-theme="harbour-premium"] *::before,[data-gp-theme="harbour-premium"] *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-gp-theme="harbour-premium"] .preloader.is-active{display:none!important}}
@media(max-width:650px){[data-gp-theme="harbour-premium"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="harbour-premium"] .preview-bar a{font-size:12px}[data-gp-theme="harbour-premium"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="harbour-premium"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="harbour-premium"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="harbour-premium"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="harbour-premium"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="harbour-premium"] .preview-bar a{font-size:12px}[data-gp-theme="harbour-premium"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="harbour-premium"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="harbour-premium"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="harbour-premium"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}

[data-gp-theme="harbour-premium"]{--paper:#fff;--ink:#142d4a;--accent:#856032;--wash:#e5edf2;--line:#a9b7c3;--on-accent:#fff;--muted:#516477;--display:"Libre Baskerville",serif;--body:"Public Sans",sans-serif;--focus:#856032;background:var(--paper);color:var(--ink);font:18px/1.65 var(--body)}[data-gp-theme="harbour-premium"][data-palette="1"]{--ink:#233f35;--accent:#6f5d36;--wash:#e6ece5;--line:#a7b6a8;--muted:#51695a;--focus:#6f5d36}[data-gp-theme="harbour-premium"][data-palette="2"]{--ink:#4c2635;--accent:#87564b;--wash:#f0e7e6;--line:#bca7b0;--muted:#765d67;--focus:#87564b}[data-gp-theme="harbour-premium"][data-mode="dark"]{--paper:#111e2d;--ink:#e9f1f8;--accent:#dab581;--wash:#21374e;--line:#60778b;--on-accent:#16283d;--muted:#bfccda;--focus:#dab581}[data-gp-theme="harbour-premium"][data-mode="dark"][data-palette="1"]{--paper:#15271f;--ink:#e9f2e9;--accent:#d3bb86;--wash:#293f32;--line:#66806d;--on-accent:#1c3023;--muted:#bdcec0}[data-gp-theme="harbour-premium"][data-mode="dark"][data-palette="2"]{--paper:#291a21;--ink:#f9eaf0;--accent:#e0afa4;--wash:#432b37;--line:#906d7d;--on-accent:#39212b;--muted:#dbc0cc}[data-gp-theme="harbour-premium"] h1,[data-gp-theme="harbour-premium"] h2,[data-gp-theme="harbour-premium"] h3,[data-gp-theme="harbour-premium"] p,[data-gp-theme="harbour-premium"] figure{margin:0}[data-gp-theme="harbour-premium"] h1,[data-gp-theme="harbour-premium"] h2,[data-gp-theme="harbour-premium"] h3{font-family:var(--display);font-weight:400;line-height:1.25;letter-spacing:-.04em}[data-gp-theme="harbour-premium"] h1{font-size:clamp(46px,4.7vw,70px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="harbour-premium"] h1{font-size:clamp(46px,4.7cqw,70px)}}[data-gp-theme="harbour-premium"] h2{font-size:clamp(35px,3.5vw,53px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="harbour-premium"] h2{font-size:clamp(35px,3.5cqw,53px)}}[data-gp-theme="harbour-premium"] h3{font-size:25px}[data-gp-theme="harbour-premium"] p{max-width:58ch}[data-gp-theme="harbour-premium"] .wrap{width:min(1340px,calc(100% - 96px));margin:auto}[data-gp-theme="harbour-premium"] .section{padding-block:95px}[data-gp-theme="harbour-premium"] .site-header{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:24px 48px;border-bottom:1px solid var(--line)}[data-gp-theme="harbour-premium"] .brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:600 23px/1.15 var(--body);letter-spacing:-.04em}[data-gp-theme="harbour-premium"] .brand svg{width:40px;height:40px;flex:none}[data-gp-theme="harbour-premium"] .brand small{display:block;font:12px var(--body);letter-spacing:.02em;margin-top:7px}[data-gp-theme="harbour-premium"] .site-header nav{display:flex;gap:25px;font-size:15px}[data-gp-theme="harbour-premium"] .site-header nav a{min-height:44px;display:flex;align-items:center;text-decoration:none}[data-gp-theme="harbour-premium"] .site-header :is(button,[role="button"]){background:none;color:var(--ink);border:1px solid var(--line);padding:11px 16px;font-size:14px;display:flex;gap:20px;align-items:center}[data-gp-theme="harbour-premium"] .founder-opening{display:grid;grid-template-columns:160px 1fr;padding-top:35px;gap:40px}[data-gp-theme="harbour-premium"] .contents-rail{display:flex;flex-direction:column;background:var(--ink);color:var(--paper);padding:25px 20px;align-self:stretch}[data-gp-theme="harbour-premium"] .contents-rail>span:not(.fs-richtext){font:28px var(--display);margin-bottom:35px}[data-gp-theme="harbour-premium"] .contents-rail a{font-size:13px;min-height:60px;display:flex;align-items:center;text-decoration:none;border-top:1px solid currentColor}[data-gp-theme="harbour-premium"] .folio-opening{display:grid;grid-template-columns:1fr 1.05fr;gap:25px;background:var(--paper);padding-top:25px}[data-gp-theme="harbour-premium"] .folio-heading>p:first-child{font-size:14px;margin-bottom:25px}[data-gp-theme="harbour-premium"] .folio-heading>p:nth-of-type(2){font-size:18px;margin-top:27px;max-width:32ch}[data-gp-theme="harbour-premium"] .folio-heading .button{margin-top:28px}[data-gp-theme="harbour-premium"] .folio-opening img{width:100%;height:420px;object-fit:cover}[data-gp-theme="harbour-premium"] .folio-opening figcaption{font-size:12px;margin-top:12px}[data-gp-theme="harbour-premium"] .folio-note{grid-column:1/-1;padding-block:23px;border-block:1px solid var(--line);display:flex;justify-content:space-between;gap:25px;font-size:14px}[data-gp-theme="harbour-premium"] .button{background:var(--ink);color:var(--paper);display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-height:50px;padding:13px 22px;border:1px solid var(--ink);font-weight:500;font-size:16px;transition:transform 150ms var(--ease-out)}[data-gp-theme="harbour-premium"] .section-heading{display:flex;justify-content:space-between;gap:70px;align-items:end;margin-bottom:40px}[data-gp-theme="harbour-premium"] .section-heading>div>p{font-size:14px;margin-bottom:25px}[data-gp-theme="harbour-premium"] .section-heading>p{max-width:43ch;font-size:17px}[data-gp-theme="harbour-premium"] .situation-options{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}[data-gp-theme="harbour-premium"] .situation-options :is(button,[role="button"]){color:var(--ink);background:var(--wash);border:1px solid var(--line);text-align:left;padding:30px 25px;display:flex;flex-direction:column;min-height:280px;position:relative;transition:transform 180ms var(--ease-out)}[data-gp-theme="harbour-premium"] .situation-options :is(button,[role="button"])[aria-pressed=true]{border-color:var(--ink);outline:2px solid var(--ink);outline-offset:-3px}[data-gp-theme="harbour-premium"] .situation-tab{font-size:13px;color:var(--muted);display:block;margin-bottom:27px}[data-gp-theme="harbour-premium"] .situation-options b{font:400 29px/1.28 var(--display);letter-spacing:-.04em;display:block;margin-bottom:23px}[data-gp-theme="harbour-premium"] .situation-options :is(button,[role="button"])>span:not(.fs-richtext):last-of-type{font-size:15px;padding-right:20px}[data-gp-theme="harbour-premium"] .situation-options i{position:absolute;bottom:15px;right:20px;font:30px var(--body);font-style:normal;transition:transform 180ms var(--ease-out)}[data-gp-theme="harbour-premium"] .situation-options [aria-pressed=true] i{transform:rotate(45deg)}[data-gp-theme="harbour-premium"] [data-gp-id="situation-note"]{font-size:15px;min-height:60px;margin-top:25px;padding-left:20px;border-left:3px solid var(--accent)}[data-gp-theme="harbour-premium"] .process-section{background:var(--wash)}[data-gp-theme="harbour-premium"] .process-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px}[data-gp-theme="harbour-premium"] .process-layout>div>p:first-child{font-size:14px;margin-bottom:25px}[data-gp-theme="harbour-premium"] .process-layout h2{margin-bottom:25px}[data-gp-theme="harbour-premium"] .process-list{list-style:none;display:grid;gap:30px;margin:0;padding:0}[data-gp-theme="harbour-premium"] .process-list li{display:grid;grid-template-columns:45px 1fr;gap:20px;border-top:1px solid var(--line);padding-top:25px}[data-gp-theme="harbour-premium"] .process-list li>span:not(.fs-richtext){font:35px var(--display);color:var(--accent)}[data-gp-theme="harbour-premium"] .process-list h3{font-size:25px;margin-bottom:15px}[data-gp-theme="harbour-premium"] .process-list p{font-size:17px}[data-gp-theme="harbour-premium"] .preparation{display:grid;grid-template-columns:1fr 1.2fr;gap:90px}[data-gp-theme="harbour-premium"] .preparation>div>p:first-child{font-size:14px;margin-bottom:25px}[data-gp-theme="harbour-premium"] .preparation h2{margin-bottom:25px}[data-gp-theme="harbour-premium"] .preparation output{display:block;font-size:16px;font-weight:600;margin-top:35px;border-block:1px solid var(--line);padding-block:18px}[data-gp-theme="harbour-premium"] .preparation .small{margin-top:25px}[data-gp-theme="harbour-premium"] .document-checklist{border:0;margin:0;padding:0;min-width:0}[data-gp-theme="harbour-premium"] .document-checklist legend{font-size:16px;padding:0 0 20px}[data-gp-theme="harbour-premium"] .document-checklist label{display:flex;align-items:center;gap:18px;padding:25px 15px;border-top:1px solid var(--line);cursor:pointer}[data-gp-theme="harbour-premium"] .document-checklist label.is-relevant{background:var(--wash);border-left:3px solid var(--accent);padding-left:12px}[data-gp-theme="harbour-premium"] .document-checklist input{width:20px;height:20px;min-height:20px;flex:none;accent-color:var(--ink)}[data-gp-theme="harbour-premium"] .document-checklist b{font-size:17px;font-weight:500}[data-gp-theme="harbour-premium"] .document-checklist small{display:block;font-size:14px;color:var(--muted);margin-top:4px}[data-gp-theme="harbour-premium"] .document-checklist em{font-size:11px;font-style:normal;margin-left:auto;color:var(--accent);visibility:hidden}[data-gp-theme="harbour-premium"] .document-checklist label.is-relevant em{visibility:visible}[data-gp-theme="harbour-premium"] .scope-section{background:var(--ink);color:var(--paper)}[data-gp-theme="harbour-premium"] .scope-table{display:grid;grid-template-columns:repeat(2,1fr);gap:35px 70px}[data-gp-theme="harbour-premium"] .scope-table article{border-top:1px solid currentColor;padding-top:25px}[data-gp-theme="harbour-premium"] .scope-table h3{font-size:27px;margin-bottom:20px}[data-gp-theme="harbour-premium"] .scope-table p{font-size:17px}[data-gp-theme="harbour-premium"] .enquiry{display:grid;grid-template-columns:1fr 1fr;gap:100px}[data-gp-theme="harbour-premium"] .enquiry>div>p:first-child{font-size:14px;margin-bottom:25px}[data-gp-theme="harbour-premium"] .enquiry h2{margin-bottom:25px}[data-gp-theme="harbour-premium"] .folio-stamp{display:inline-block;border-top:2px solid var(--accent);font:36px var(--display);margin-top:45px;padding-top:15px}[data-gp-theme="harbour-premium"] .folio-stamp small{font:13px var(--body);display:block;margin-top:5px}[data-gp-theme="harbour-premium"] .enquiry :is(form,[data-gp-form]){display:grid;gap:20px;background:var(--wash);padding:35px;border-top:6px solid var(--accent)}[data-gp-theme="harbour-premium"] label{display:grid;gap:9px;font-size:16px}[data-gp-theme="harbour-premium"] input,[data-gp-theme="harbour-premium"] select,[data-gp-theme="harbour-premium"] textarea{min-width:0;width:100%;padding:12px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:0}[data-gp-theme="harbour-premium"] .small{font-size:14px;line-height:1.6}[data-gp-theme="harbour-premium"] [data-gp-id="founder-result"]{white-space:pre-line;overflow-wrap:anywhere;padding:20px;border-left:3px solid var(--ink);background:var(--paper);font-size:16px}[data-gp-theme="harbour-premium"] [data-gp-id="founder-result"]:empty{display:none}[data-gp-theme="harbour-premium"] .site-footer{border-top:1px solid var(--line);padding:60px 0 25px}[data-gp-theme="harbour-premium"] .footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:60px}[data-gp-theme="harbour-premium"] .footer-brand{font:600 26px var(--body);text-decoration:none}[data-gp-theme="harbour-premium"] .footer-grid>div:first-child p{margin-top:18px}[data-gp-theme="harbour-premium"] .site-footer h3{font:600 16px var(--body);margin-bottom:20px;letter-spacing:0}[data-gp-theme="harbour-premium"] .site-footer a:not(.footer-brand){display:flex;align-items:center;min-height:44px;font-size:16px}[data-gp-theme="harbour-premium"] .site-footer p{font-size:15px}[data-gp-theme="harbour-premium"] .footer-bottom{grid-column:1/-1;border-top:1px solid var(--line);padding-top:22px;font-size:13px;display:flex;justify-content:space-between;gap:20px}[data-gp-theme="harbour-premium"] .preloader{background:var(--paper);color:var(--ink);font:42px var(--display)}[data-gp-theme="harbour-premium"] .preloader svg{height:100px;width:100px;display:block;margin:0 auto 20px}[data-gp-theme="harbour-premium"] .preloader small{font:15px var(--body);display:block;margin-top:10px}[data-gp-theme="harbour-premium"] .mega-menu{width:min(1120px,calc(100% - 48px));margin:auto;background:var(--paper)}[data-gp-theme="harbour-premium"] .folio-menu{display:grid;grid-template-columns:1fr 1.3fr;min-height:570px}[data-gp-theme="harbour-premium"] .menu-cover{background:var(--ink);color:var(--paper);padding:45px;display:flex;flex-direction:column}[data-gp-theme="harbour-premium"] .menu-cover>span:not(.fs-richtext):first-child{font-size:18px}[data-gp-theme="harbour-premium"] .menu-cover h2{font-size:61px;margin-block:65px 25px}[data-gp-theme="harbour-premium"] .menu-cover p{font-size:17px;max-width:25ch}[data-gp-theme="harbour-premium"] .folio-rule{height:2px;width:70px;background:var(--accent);display:block;margin-top:auto;margin-bottom:20px}[data-gp-theme="harbour-premium"] .menu-cover small{font-size:12px}[data-gp-theme="harbour-premium"] .menu-contents{padding:30px 40px}[data-gp-theme="harbour-premium"] .menu-contents>:is(button,[role="button"]){display:block;margin:0 0 25px auto;padding:10px 15px;background:none;border:1px solid var(--line);color:var(--ink);font-size:14px}[data-gp-theme="harbour-premium"] .menu-contents nav a{display:flex;gap:20px;padding:19px 0;text-decoration:none;border-bottom:1px solid var(--line)}[data-gp-theme="harbour-premium"] .menu-contents nav a>span:not(.fs-richtext){font:24px var(--display);color:var(--accent);width:18px;flex:none}[data-gp-theme="harbour-premium"] .menu-contents b{font:400 22px var(--display);letter-spacing:-.035em}[data-gp-theme="harbour-premium"] .menu-contents small{display:block;font:13px/1.5 var(--body);letter-spacing:0;margin-top:7px}[data-gp-theme="harbour-premium"] .menu-contents>p{font-size:13px;margin-top:25px}@media(hover:hover) and (pointer:fine){[data-gp-theme="harbour-premium"] .button:hover{transform:translateY(-2px)}[data-gp-theme="harbour-premium"] .situation-options :is(button,[role="button"]):hover{transform:translateY(-3px)}[data-gp-theme="harbour-premium"] .menu-contents nav a:hover{text-decoration:underline}}@media(max-width:1100px){[data-gp-theme="harbour-premium"] .site-header nav{display:none}[data-gp-theme="harbour-premium"] .contents-rail{display:none}[data-gp-theme="harbour-premium"] .founder-opening{grid-template-columns:1fr;gap:0}[data-gp-theme="harbour-premium"] .folio-opening{padding-top:10px}[data-gp-theme="harbour-premium"] .folio-heading h1{font-size:58px}[data-gp-theme="harbour-premium"] .section-heading{gap:35px}[data-gp-theme="harbour-premium"] .process-layout,[data-gp-theme="harbour-premium"] .preparation,[data-gp-theme="harbour-premium"] .enquiry{gap:45px}[data-gp-theme="harbour-premium"] .situation-options{gap:15px}[data-gp-theme="harbour-premium"] .situation-options b{font-size:25px}[data-gp-theme="harbour-premium"] .situation-options :is(button,[role="button"]){padding:25px 20px}}@containerfs-editor-canvas (max-width: 1100px){[data-gp-theme="harbour-premium"] .site-header nav{display:none}[data-gp-theme="harbour-premium"] .contents-rail{display:none}[data-gp-theme="harbour-premium"] .founder-opening{grid-template-columns:1fr;gap:0}[data-gp-theme="harbour-premium"] .folio-opening{padding-top:10px}[data-gp-theme="harbour-premium"] .folio-heading h1{font-size:58px}[data-gp-theme="harbour-premium"] .section-heading{gap:35px}[data-gp-theme="harbour-premium"] .process-layout,[data-gp-theme="harbour-premium"] .preparation,[data-gp-theme="harbour-premium"] .enquiry{gap:45px}[data-gp-theme="harbour-premium"] .situation-options{gap:15px}[data-gp-theme="harbour-premium"] .situation-options b{font-size:25px}[data-gp-theme="harbour-premium"] .situation-options :is(button,[role="button"]){padding:25px 20px}}@media(max-width:650px){[data-gp-theme="harbour-premium"]{font-size:17px}[data-gp-theme="harbour-premium"] .wrap{width:calc(100% - 36px)}[data-gp-theme="harbour-premium"] .site-header{padding:18px;gap:10px}[data-gp-theme="harbour-premium"] .brand{font-size:20px;gap:7px}[data-gp-theme="harbour-premium"] .brand svg{width:26px;height:32px}[data-gp-theme="harbour-premium"] .brand small{font-size:10px}[data-gp-theme="harbour-premium"] .site-header :is(button,[role="button"]){font-size:12px;padding:9px;gap:5px}[data-gp-theme="harbour-premium"] .founder-opening{padding-top:23px}[data-gp-theme="harbour-premium"] .folio-opening{grid-template-columns:1fr;gap:25px}[data-gp-theme="harbour-premium"] .folio-heading h1{font-size:46px}[data-gp-theme="harbour-premium"] .folio-heading>p:nth-of-type(2){font-size:17px;margin-top:22px}[data-gp-theme="harbour-premium"] .folio-heading>p:first-child{font-size:13px;margin-bottom:18px}[data-gp-theme="harbour-premium"] .folio-opening img{height:295px}[data-gp-theme="harbour-premium"] .folio-note{display:grid;gap:10px;font-size:13px;padding-block:18px}[data-gp-theme="harbour-premium"] .section{padding-block:55px}[data-gp-theme="harbour-premium"] .section-heading{display:block;margin-bottom:30px}[data-gp-theme="harbour-premium"] .section-heading>p{font-size:16px;margin-top:23px}[data-gp-theme="harbour-premium"] .section-heading h2{font-size:38px}[data-gp-theme="harbour-premium"] .situation-options{grid-template-columns:1fr;gap:14px}[data-gp-theme="harbour-premium"] .situation-options :is(button,[role="button"]){min-height:0;padding:22px}[data-gp-theme="harbour-premium"] .situation-tab{margin-bottom:12px}[data-gp-theme="harbour-premium"] .situation-options b{font-size:26px;margin-bottom:15px}[data-gp-theme="harbour-premium"] .situation-options b br{display:none}[data-gp-theme="harbour-premium"] .situation-options :is(button,[role="button"])>span:not(.fs-richtext):last-of-type{max-width:32ch}[data-gp-theme="harbour-premium"] .situation-options i{bottom:20px}[data-gp-theme="harbour-premium"] .process-layout,[data-gp-theme="harbour-premium"] .preparation,[data-gp-theme="harbour-premium"] .enquiry{grid-template-columns:1fr;gap:30px}[data-gp-theme="harbour-premium"] .process-list li{grid-template-columns:30px 1fr;gap:15px}[data-gp-theme="harbour-premium"] .process-list h3{font-size:23px}[data-gp-theme="harbour-premium"] .document-checklist label{gap:12px;padding-block:22px}[data-gp-theme="harbour-premium"] .document-checklist b{font-size:16px}[data-gp-theme="harbour-premium"] .document-checklist small{font-size:13px}[data-gp-theme="harbour-premium"] .document-checklist em{font-size:10px}[data-gp-theme="harbour-premium"] .scope-table{grid-template-columns:1fr;gap:27px}[data-gp-theme="harbour-premium"] .scope-table h3{font-size:25px}[data-gp-theme="harbour-premium"] .enquiry h2{font-size:37px}[data-gp-theme="harbour-premium"] .folio-stamp{margin-top:25px;font-size:30px}[data-gp-theme="harbour-premium"] .enquiry :is(form,[data-gp-form]){padding:25px 18px}[data-gp-theme="harbour-premium"] .footer-grid{grid-template-columns:1fr;gap:30px}[data-gp-theme="harbour-premium"] .footer-brand{font-size:24px}[data-gp-theme="harbour-premium"] .footer-bottom{display:grid;gap:10px}[data-gp-theme="harbour-premium"] .mega-menu{width:calc(100% - 20px)}[data-gp-theme="harbour-premium"] .folio-menu{grid-template-columns:1fr;min-height:0}[data-gp-theme="harbour-premium"] .menu-cover{padding:25px}[data-gp-theme="harbour-premium"] .menu-cover h2{font-size:42px;margin-block:25px 15px}[data-gp-theme="harbour-premium"] .menu-cover h2 br{display:none}[data-gp-theme="harbour-premium"] .menu-cover p{font-size:15px;max-width:none}[data-gp-theme="harbour-premium"] .folio-rule{display:none}[data-gp-theme="harbour-premium"] .menu-cover small{margin-top:15px}[data-gp-theme="harbour-premium"] .menu-contents{padding:20px}[data-gp-theme="harbour-premium"] .menu-contents>:is(button,[role="button"]){margin-bottom:5px}[data-gp-theme="harbour-premium"] .menu-contents nav a{padding:17px 0;gap:14px}[data-gp-theme="harbour-premium"] .menu-contents b{font-size:21px}}@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="harbour-premium"]{font-size:17px}[data-gp-theme="harbour-premium"] .wrap{width:calc(100% - 36px)}[data-gp-theme="harbour-premium"] .site-header{padding:18px;gap:10px}[data-gp-theme="harbour-premium"] .brand{font-size:20px;gap:7px}[data-gp-theme="harbour-premium"] .brand svg{width:26px;height:32px}[data-gp-theme="harbour-premium"] .brand small{font-size:10px}[data-gp-theme="harbour-premium"] .site-header :is(button,[role="button"]){font-size:12px;padding:9px;gap:5px}[data-gp-theme="harbour-premium"] .founder-opening{padding-top:23px}[data-gp-theme="harbour-premium"] .folio-opening{grid-template-columns:1fr;gap:25px}[data-gp-theme="harbour-premium"] .folio-heading h1{font-size:46px}[data-gp-theme="harbour-premium"] .folio-heading>p:nth-of-type(2){font-size:17px;margin-top:22px}[data-gp-theme="harbour-premium"] .folio-heading>p:first-child{font-size:13px;margin-bottom:18px}[data-gp-theme="harbour-premium"] .folio-opening img{height:295px}[data-gp-theme="harbour-premium"] .folio-note{display:grid;gap:10px;font-size:13px;padding-block:18px}[data-gp-theme="harbour-premium"] .section{padding-block:55px}[data-gp-theme="harbour-premium"] .section-heading{display:block;margin-bottom:30px}[data-gp-theme="harbour-premium"] .section-heading>p{font-size:16px;margin-top:23px}[data-gp-theme="harbour-premium"] .section-heading h2{font-size:38px}[data-gp-theme="harbour-premium"] .situation-options{grid-template-columns:1fr;gap:14px}[data-gp-theme="harbour-premium"] .situation-options :is(button,[role="button"]){min-height:0;padding:22px}[data-gp-theme="harbour-premium"] .situation-tab{margin-bottom:12px}[data-gp-theme="harbour-premium"] .situation-options b{font-size:26px;margin-bottom:15px}[data-gp-theme="harbour-premium"] .situation-options b br{display:none}[data-gp-theme="harbour-premium"] .situation-options :is(button,[role="button"])>span:not(.fs-richtext):last-of-type{max-width:32ch}[data-gp-theme="harbour-premium"] .situation-options i{bottom:20px}[data-gp-theme="harbour-premium"] .process-layout,[data-gp-theme="harbour-premium"] .preparation,[data-gp-theme="harbour-premium"] .enquiry{grid-template-columns:1fr;gap:30px}[data-gp-theme="harbour-premium"] .process-list li{grid-template-columns:30px 1fr;gap:15px}[data-gp-theme="harbour-premium"] .process-list h3{font-size:23px}[data-gp-theme="harbour-premium"] .document-checklist label{gap:12px;padding-block:22px}[data-gp-theme="harbour-premium"] .document-checklist b{font-size:16px}[data-gp-theme="harbour-premium"] .document-checklist small{font-size:13px}[data-gp-theme="harbour-premium"] .document-checklist em{font-size:10px}[data-gp-theme="harbour-premium"] .scope-table{grid-template-columns:1fr;gap:27px}[data-gp-theme="harbour-premium"] .scope-table h3{font-size:25px}[data-gp-theme="harbour-premium"] .enquiry h2{font-size:37px}[data-gp-theme="harbour-premium"] .folio-stamp{margin-top:25px;font-size:30px}[data-gp-theme="harbour-premium"] .enquiry :is(form,[data-gp-form]){padding:25px 18px}[data-gp-theme="harbour-premium"] .footer-grid{grid-template-columns:1fr;gap:30px}[data-gp-theme="harbour-premium"] .footer-brand{font-size:24px}[data-gp-theme="harbour-premium"] .footer-bottom{display:grid;gap:10px}[data-gp-theme="harbour-premium"] .mega-menu{width:calc(100% - 20px)}[data-gp-theme="harbour-premium"] .folio-menu{grid-template-columns:1fr;min-height:0}[data-gp-theme="harbour-premium"] .menu-cover{padding:25px}[data-gp-theme="harbour-premium"] .menu-cover h2{font-size:42px;margin-block:25px 15px}[data-gp-theme="harbour-premium"] .menu-cover h2 br{display:none}[data-gp-theme="harbour-premium"] .menu-cover p{font-size:15px;max-width:none}[data-gp-theme="harbour-premium"] .folio-rule{display:none}[data-gp-theme="harbour-premium"] .menu-cover small{margin-top:15px}[data-gp-theme="harbour-premium"] .menu-contents{padding:20px}[data-gp-theme="harbour-premium"] .menu-contents>:is(button,[role="button"]){margin-bottom:5px}[data-gp-theme="harbour-premium"] .menu-contents nav a{padding:17px 0;gap:14px}[data-gp-theme="harbour-premium"] .menu-contents b{font-size:21px}}@media(prefers-reduced-motion:reduce){[data-gp-theme="harbour-premium"] .situation-options i{transition:none}}
[data-gp-theme="harbour-premium"][data-input=keyboard] .situation-options i{transition:none}
@media(max-width:380px){[data-gp-theme="harbour-premium"] .site-header{gap:8px}[data-gp-theme="harbour-premium"] .brand{font-size:18px}[data-gp-theme="harbour-premium"] .brand svg{display:none}[data-gp-theme="harbour-premium"] .brand small{font-size:10px}[data-gp-theme="harbour-premium"] .site-header>:is(button,[role="button"]){font-size:0;min-width:78px;justify-content:center;padding:9px}[data-gp-theme="harbour-premium"] .site-header>:is(button,[role="button"]) span:not(.fs-richtext){display:none}[data-gp-theme="harbour-premium"] .site-header>:is(button,[role="button"])::after{content:"Contents";font-size:12px}}
@containerfs-editor-canvas (max-width: 380px){[data-gp-theme="harbour-premium"] .site-header{gap:8px}[data-gp-theme="harbour-premium"] .brand{font-size:18px}[data-gp-theme="harbour-premium"] .brand svg{display:none}[data-gp-theme="harbour-premium"] .brand small{font-size:10px}[data-gp-theme="harbour-premium"] .site-header>:is(button,[role="button"]){font-size:0;min-width:78px;justify-content:center;padding:9px}[data-gp-theme="harbour-premium"] .site-header>:is(button,[role="button"]) span:not(.fs-richtext){display:none}[data-gp-theme="harbour-premium"] .site-header>:is(button,[role="button"])::after{content:"Contents";font-size:12px}}

@media(max-width:650px){[data-gp-theme="harbour-premium"] .brand small{font-size:12px}}

@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="harbour-premium"] .brand small{font-size:12px}}@media(max-width:380px){[data-gp-theme="harbour-premium"] .brand small{display:none}}@containerfs-editor-canvas (max-width: 380px){[data-gp-theme="harbour-premium"] .brand small{display:none}}

/* Preview chrome and accessibility only. Theme authors own the visual worlds. */
[data-gp-theme="harbour-premium"][data-premium]{color-scheme:light;background:var(--paper);color:var(--ink);accent-color:var(--accent);scrollbar-color:var(--accent) var(--wash)}
[data-gp-theme="harbour-premium"][data-premium][data-mode=dark]{color-scheme:dark}
[data-gp-theme="harbour-premium"][data-premium] ::selection{background:var(--accent);color:var(--on-accent)}
[data-gp-theme="harbour-premium"][data-premium] :is(input,textarea){caret-color:var(--accent)}
[data-gp-theme="harbour-premium"][data-premium] :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--accent);outline-offset:4px}
[data-gp-theme="harbour-premium"][data-premium] :is(input,select,textarea){max-width:100%}
[data-gp-theme="harbour-premium"][data-premium] :is(input,textarea)::placeholder{color:var(--muted);opacity:1}
[data-gp-theme="harbour-premium"][data-premium] .preview-bar{display:flex;flex-wrap:wrap;justify-content:flex-start;background:#f5f5f0;color:#242d2c;border-color:#cbd0c8;gap:8px 14px;position:relative;font:13px/1.3 "Figtree",sans-serif;min-height:52px;padding:6px 3vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="harbour-premium"][data-premium] .preview-bar{padding:6px 3cqw}}
[data-gp-theme="harbour-premium"][data-premium] .preview-bar>a{font-weight:600;min-height:40px;display:flex;align-items:center}
[data-gp-theme="harbour-premium"][data-premium] .preview-bar [role=group]{margin-left:auto;display:flex;gap:2px}
[data-gp-theme="harbour-premium"][data-premium] .preview-bar :is(button,select){font:13px/1.3 "Figtree",sans-serif;min-height:40px;max-width:100%;border-radius:3px}
[data-gp-theme="harbour-premium"][data-premium] .preview-bar select{background:#fff;color:#242d2c;border:1px solid #a2ada4;padding:7px 24px 7px 9px}
[data-gp-theme="harbour-premium"][data-premium] .preview-bar [aria-pressed=true]{background:#242d2c;color:#fff}
[data-gp-theme="harbour-premium"][data-premium] .preview-bar .preview-label{font:12px/1.3 "Figtree",sans-serif;color:#48554f}
[data-gp-theme="harbour-premium"][data-premium] .preview-bar :focus-visible{outline-color:#254fbb}
[data-gp-theme="harbour-premium"][data-premium] .preview-bar [data-replay-intro]{font-size:12px;margin:0}
[data-gp-theme="harbour-premium"][data-premium] .preview-bar [data-replay-intro]::after{content:none}
[data-gp-theme="harbour-premium"][data-premium] .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
[data-gp-theme="harbour-premium"][data-premium] .premium-action{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 22px;background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);text-decoration:none;font-weight:600;transition:transform 150ms var(--ease-out),background-color 150ms var(--ease-out)}
[data-gp-theme="harbour-premium"][data-premium] .premium-action:active{transform:translateY(1px)}
[data-gp-theme="harbour-premium"][data-premium] .premium-action:disabled{opacity:.6;cursor:not-allowed}
[data-gp-theme="harbour-premium"][data-premium] :is(h1,h2,h3){text-wrap:balance}
[data-gp-theme="harbour-premium"][data-premium] p{text-wrap:pretty}
/* Put down the opaque menu surface immediately, then introduce its content. */
[data-gp-theme="harbour-premium"][data-premium] .mega-menu[open]:not([data-closing]){animation:none}
[data-gp-theme="harbour-premium"][data-premium] .mega-menu[open]:not([data-closing])>:not(:first-child){animation:gp-harbourpremium-premium-menu-content 160ms var(--ease-out)}
[data-gp-theme="harbour-premium"][data-premium] .mega-menu[data-keyboard]>:not(:first-child){animation:none!important}
[data-gp-theme="harbour-premium"][data-premium][data-input=keyboard] :is(button,[role="button"]):active{transform:none}
@keyframes gp-harbourpremium-premium-menu-content{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:650px){
 [data-gp-theme="harbour-premium"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="harbour-premium"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="harbour-premium"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="harbour-premium"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="harbour-premium"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="harbour-premium"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="harbour-premium"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="harbour-premium"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@containerfs-editor-canvas (max-width: 650px){
 [data-gp-theme="harbour-premium"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="harbour-premium"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="harbour-premium"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="harbour-premium"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="harbour-premium"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="harbour-premium"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="harbour-premium"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="harbour-premium"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@media(prefers-reduced-motion:reduce){[data-gp-theme="harbour-premium"][data-premium] .premium-action{transition:none;transform:none}}

/* Website page primitives and actual layout modes. Authored theme CSS owns identity. */
[data-gp-theme="harbour-premium"][data-framed=true] .preview-bar,[data-gp-theme="harbour-premium"][data-framed=true] .site-open-preview{display:none!important}
[data-gp-theme="harbour-premium"][data-site]{--ip-paper:var(--paper,#f4f2eb);--ip-ink:var(--ink,#192f2c);--ip-wash:var(--wash,var(--paper,#e6e9df));--ip-accent:var(--accent,var(--rust,#315b50));--ip-on:var(--on-accent,var(--paper,#fff));--ip-muted:var(--muted,var(--ink,#45534d));--ip-line:var(--line,var(--rule,#a1aca5))}
[data-gp-theme="harbour-premium"][data-inside]{background:var(--ip-paper);color:var(--ip-ink);font:18px/1.65 var(--body,"Figtree",sans-serif)}
[data-gp-theme="harbour-premium"] .inside-page :is(h1,h2,h3){font-family:var(--display,inherit);color:inherit;letter-spacing:-.035em;line-height:1.1;font-weight:500;max-width:22ch}
[data-gp-theme="harbour-premium"] .inside-page h1{font-size:clamp(42px,5.3vw,80px);margin:0 0 26px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="harbour-premium"] .inside-page h1{font-size:clamp(42px,5.3cqw,80px)}}[data-gp-theme="harbour-premium"] .inside-page h2{font-size:clamp(30px,3vw,49px);margin:0 0 24px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="harbour-premium"] .inside-page h2{font-size:clamp(30px,3cqw,49px)}}[data-gp-theme="harbour-premium"] .inside-page h3{font-size:25px;margin:0 0 15px}
[data-gp-theme="harbour-premium"] .inside-page :is(p,li){max-width:72ch}[data-gp-theme="harbour-premium"] .inside-page p{margin:0 0 20px}[data-gp-theme="harbour-premium"] .inside-page a{color:inherit}[data-gp-theme="harbour-premium"] .inside-page img{max-width:100%;width:100%;height:100%;object-fit:cover}[data-gp-theme="harbour-premium"] .inside-page figure{margin:0}[data-gp-theme="harbour-premium"] .inside-page :is(button,[role="button"]){color:inherit}
[data-gp-theme="harbour-premium"] .ip-hero,[data-gp-theme="harbour-premium"] .ip-section{width:min(1320px,calc(100% - 96px));margin-inline:auto;padding-block:70px}[data-gp-theme="harbour-premium"] .ip-hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:65px}[data-gp-theme="harbour-premium"] .ip-opening{min-width:0}[data-gp-theme="harbour-premium"] .ip-hero:has(>.ip-opening:only-child){grid-template-columns:1fr}[data-gp-theme="harbour-premium"] .ip-art{height:430px;position:relative}[data-gp-theme="harbour-premium"] .ip-art img{object-fit:cover}[data-gp-theme="harbour-premium"] .ip-art figcaption,[data-gp-theme="harbour-premium"] .ip-caption{font-size:14px;line-height:1.5;color:var(--ip-muted);padding-top:10px}[data-gp-theme="harbour-premium"] .ip-section>.ip-caption{margin-bottom:20px}[data-gp-theme="harbour-premium"] .ip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}[data-gp-theme="harbour-premium"] .ip-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px}[data-gp-theme="harbour-premium"] .ip-card{min-width:0;border-top:1px solid var(--ip-line);padding:25px 0}[data-gp-theme="harbour-premium"] .ip-card figure{height:230px;margin-bottom:25px}[data-gp-theme="harbour-premium"] .ip-reading{width:min(76ch,calc(100% - 48px));margin-inline:auto;padding-block:55px}[data-gp-theme="harbour-premium"] .ip-reading h2{margin-top:40px}[data-gp-theme="harbour-premium"] .ip-ledger{margin:24px 0}[data-gp-theme="harbour-premium"] .ip-ledger>div{display:grid;grid-template-columns:1fr 1.4fr;gap:20px;border-top:1px solid var(--ip-line);padding:15px 0}[data-gp-theme="harbour-premium"] .ip-ledger dt{font-weight:600}[data-gp-theme="harbour-premium"] .ip-ledger dd{margin:0}[data-gp-theme="harbour-premium"] .ip-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border:1px solid var(--ip-accent);background:var(--ip-accent);color:var(--ip-on)!important;text-decoration:none;font-size:16px;transition:transform 150ms var(--ease-out)}[data-gp-theme="harbour-premium"] .ip-action.secondary{background:transparent;color:var(--ip-ink)!important;border-color:var(--ip-line)}[data-gp-theme="harbour-premium"] .ip-band{padding:55px max(24px,calc((100% - 1320px)/2));background:var(--ip-wash);color:var(--ip-ink)}[data-gp-theme="harbour-premium"] .ip-band p{max-width:65ch}[data-gp-theme="harbour-premium"] .ip-note{font-size:15px;border-left:3px solid var(--ip-accent);padding:12px 18px;background:var(--ip-wash);color:var(--ip-ink);margin-block:20px}[data-gp-theme="harbour-premium"] .ip-form{display:grid;gap:22px}[data-gp-theme="harbour-premium"] .ip-form label{display:grid;gap:8px;font-size:16px}[data-gp-theme="harbour-premium"] .ip-form :is(input,textarea,select){width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid var(--ip-line);background:var(--ip-paper);color:var(--ip-ink);font:inherit;border-radius:0}[data-gp-theme="harbour-premium"] .ip-form :is(input,textarea)::placeholder{color:var(--ip-muted);opacity:1}[data-gp-theme="harbour-premium"] .ip-field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}[data-gp-theme="harbour-premium"] .ip-form :is(button,[role="button"]){justify-self:start}[data-gp-theme="harbour-premium"] .ip-form textarea{min-height:135px}[data-gp-theme="harbour-premium"] .inside-page output[data-draft-output]{display:block;white-space:pre-wrap;padding:25px;background:var(--ip-wash);color:var(--ip-ink);border:1px solid var(--ip-line);overflow-wrap:anywhere}[data-gp-theme="harbour-premium"] .ip-checks{display:grid;gap:12px}[data-gp-theme="harbour-premium"] .ip-checks label{display:flex;align-items:start;gap:14px;border-top:1px solid var(--ip-line);padding:16px 0;min-height:52px}[data-gp-theme="harbour-premium"] .ip-checks input{width:22px;height:22px;min-height:22px;flex-shrink:0;margin-top:4px;accent-color:var(--ip-accent)}[data-gp-theme="harbour-premium"] .inside-page details{border-top:1px solid var(--ip-line);padding:18px 0}[data-gp-theme="harbour-premium"] .inside-page summary{min-height:44px;font-size:21px;cursor:pointer}[data-gp-theme="harbour-premium"] .inside-page details p{padding:16px 0 0}[data-gp-theme="harbour-premium"] .inside-page [data-filter-group]>[role=group]{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}[data-gp-theme="harbour-premium"] .inside-page [data-filter]{padding:10px 18px;min-height:44px;background:transparent;color:var(--ip-ink);border:1px solid var(--ip-line)}[data-gp-theme="harbour-premium"] .inside-page [data-filter][aria-pressed=true]{background:var(--ip-accent);color:var(--ip-on)}[data-gp-theme="harbour-premium"] .site-directory{padding:30px!important;background:var(--ip-paper)!important;color:var(--ip-ink)!important;border-top:1px solid var(--ip-line)}[data-gp-theme="harbour-premium"] .site-directory h3{font:600 17px/1.4 var(--body,"Figtree",sans-serif);margin:0 0 16px}[data-gp-theme="harbour-premium"] .site-directory>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 25px}[data-gp-theme="harbour-premium"] .site-directory a{display:block;font:16px/1.5 var(--body,"Figtree",sans-serif)!important;min-height:44px;padding:10px 0!important;color:inherit!important;text-decoration:none}[data-gp-theme="harbour-premium"] .site-directory a[aria-current=page]{text-decoration:underline;font-weight:600!important}[data-gp-theme="harbour-premium"] .site-open-preview{display:block;padding:10px 20px;background:#eef0eb;color:#20322d;font:14px/1.4 "Figtree",sans-serif;text-align:center}
[data-gp-theme="harbour-premium"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){width:100%;padding-inline:max(24px,4vw)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="harbour-premium"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){padding-inline:max(24px,4cqw)}}
[data-gp-theme="harbour-premium"]:has([data-gp-theme="harbour-premium"][data-layout=boxed]){background:#a6afa9}[data-gp-theme="harbour-premium"][data-layout=boxed]{width:min(1200px,calc(100% - 64px));margin-inline:auto;box-shadow:0 0 0 1px #0002,0 20px 70px #0002;min-height:100dvh;background:var(--ip-paper)}
[data-gp-theme="harbour-premium"][data-layout=centered] :is(.ip-hero,.opening,.cake-opening,.gp-title,.book-opening,.poster-opening,.portal-opening,.destination-opening,.route-opening){text-align:center}
[data-gp-theme="harbour-premium"][data-layout=centered] .ip-hero{grid-template-columns:1fr;max-width:1000px;justify-items:center}[data-gp-theme="harbour-premium"][data-layout=centered] .ip-opening{display:grid;justify-items:center}[data-gp-theme="harbour-premium"][data-layout=centered] .ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="harbour-premium"][data-layout=centered] .ip-art{width:min(760px,100%)}
[data-gp-theme="harbour-premium"][data-layout=minimalist] :is(.ip-section,.ip-hero){padding-block:42px}[data-gp-theme="harbour-premium"][data-layout=minimalist] :is(.ip-card,.ip-art,.ip-note){border-radius:0;box-shadow:none;background-image:none}[data-gp-theme="harbour-premium"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5vw,64px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="harbour-premium"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5cqw,64px)}}[data-gp-theme="harbour-premium"][data-layout=minimalist] :is(.mullions,.glaze-rim,.cake-sticker,.paper-corner){opacity:0}[data-gp-theme="harbour-premium"][data-layout=minimalist] :is(.ip-art img,.opening img){border-radius:0}
[data-gp-theme="harbour-premium"][data-layout=edge-hero] .ip-hero{width:100%;padding-inline:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="harbour-premium"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4vw)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="harbour-premium"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4cqw)}}[data-gp-theme="harbour-premium"][data-layout=edge-hero] .ip-art{height:600px}[data-gp-theme="harbour-premium"][data-layout=edge-hero] .ip-art img{border-radius:0}[data-gp-theme="harbour-premium"][data-layout=edge-hero] .ip-art figcaption{padding:8px 20px}
[data-gp-theme="harbour-premium"][data-layout=full-width] .inside-page>.ip-opening{width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="harbour-premium"][data-layout=full-width] .inside-page>.ip-opening{padding-inline:4cqw}}
[data-gp-theme="harbour-premium"][data-layout=centered] .inside-page>.ip-opening{display:flex;flex-direction:column;align-items:center;text-align:center;width:min(1000px,calc(100% - 48px));gap:30px}[data-gp-theme="harbour-premium"][data-layout=centered] .inside-page>.ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="harbour-premium"][data-layout=centered] .inside-page>.ip-opening>figure{width:min(780px,100%)}
[data-gp-theme="harbour-premium"][data-layout=minimalist] .inside-page>.ip-opening{padding-block:38px}[data-gp-theme="harbour-premium"][data-layout=minimalist] .inside-page>.ip-opening :is(h1,figure){box-shadow:none;border-radius:0}
[data-gp-theme="harbour-premium"][data-layout=edge-hero] .inside-page>.ip-opening{width:100%;max-width:none;padding:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="harbour-premium"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="harbour-premium"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4cqw}}[data-gp-theme="harbour-premium"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:600px;max-width:none;align-self:stretch}[data-gp-theme="harbour-premium"][data-layout=edge-hero] .inside-page>.ip-opening>figure img{height:100%;object-fit:cover;border-radius:0}
/* Existing home compositions gain real width/spacing modes without replacing their content. */
[data-gp-theme="harbour-premium"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="harbour-premium"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){padding-inline:4cqw}}
[data-gp-theme="harbour-premium"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child{text-align:center}
[data-gp-theme="harbour-premium"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(h1,p){margin-inline:auto}[data-gp-theme="harbour-premium"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(.opening-copy,.elevation-copy,.cake-copy,.hero-copy){text-align:center}
[data-gp-theme="harbour-premium"][data-layout=minimalist]:not([data-inside]) .gp-source-main>section{padding-block:44px}[data-gp-theme="harbour-premium"][data-layout=minimalist]:not([data-inside]) :is(.hero-sleeve,.calendar,.hello-note,.open-book){box-shadow:none}
[data-gp-theme="harbour-premium"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child{width:100%;max-width:none;margin-inline:0;padding-inline:0;background:var(--ip-wash)}[data-gp-theme="harbour-premium"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="harbour-premium"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4cqw}}[data-gp-theme="harbour-premium"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:600px}
@media(hover:hover) and (pointer:fine){[data-gp-theme="harbour-premium"] .ip-action:hover{transform:translateY(-2px)}[data-gp-theme="harbour-premium"] .site-directory a:hover{text-decoration:underline}}
@media(max-width:850px){[data-gp-theme="harbour-premium"] .ip-hero,[data-gp-theme="harbour-premium"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="harbour-premium"] .ip-hero{gap:30px}[data-gp-theme="harbour-premium"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="harbour-premium"] .ip-two{gap:30px}[data-gp-theme="harbour-premium"] .ip-art{height:340px}}
@containerfs-editor-canvas (max-width: 850px){[data-gp-theme="harbour-premium"] .ip-hero,[data-gp-theme="harbour-premium"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="harbour-premium"] .ip-hero{gap:30px}[data-gp-theme="harbour-premium"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="harbour-premium"] .ip-two{gap:30px}[data-gp-theme="harbour-premium"] .ip-art{height:340px}}
@media(max-width:600px){[data-gp-theme="harbour-premium"] .ip-hero,[data-gp-theme="harbour-premium"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="harbour-premium"] .ip-hero,[data-gp-theme="harbour-premium"] .ip-two,[data-gp-theme="harbour-premium"] .ip-grid,[data-gp-theme="harbour-premium"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="harbour-premium"] .ip-art{height:300px}[data-gp-theme="harbour-premium"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="harbour-premium"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="harbour-premium"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="harbour-premium"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="harbour-premium"] .site-directory{padding:22px!important}[data-gp-theme="harbour-premium"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="harbour-premium"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="harbour-premium"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="harbour-premium"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="harbour-premium"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="harbour-premium"] .ip-hero,[data-gp-theme="harbour-premium"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="harbour-premium"] .ip-hero,[data-gp-theme="harbour-premium"] .ip-two,[data-gp-theme="harbour-premium"] .ip-grid,[data-gp-theme="harbour-premium"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="harbour-premium"] .ip-art{height:300px}[data-gp-theme="harbour-premium"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="harbour-premium"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="harbour-premium"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="harbour-premium"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="harbour-premium"] .site-directory{padding:22px!important}[data-gp-theme="harbour-premium"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="harbour-premium"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="harbour-premium"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="harbour-premium"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="harbour-premium"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@media(max-width:600px){[data-gp-theme="harbour-premium"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="harbour-premium"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="harbour-premium"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="harbour-premium"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="harbour-premium"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="harbour-premium"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
[data-gp-theme="harbour-premium"] .inside-page a[aria-disabled=true]{cursor:default;text-decoration:none}
[data-gp-theme="harbour-premium"][data-layout=edge-hero] .inside-page .ip-hero .ip-art{transform:none}
@media(prefers-reduced-motion:reduce){[data-gp-theme="harbour-premium"] .ip-action{transition:none;transform:none!important}}
/* Task actions always use an explicit contrasting pair, including themed form overrides. */
[data-gp-theme="harbour-premium"][data-site] .inside-page :is(.ip-form :is(button,[role="button"]):is([type="submit"],[data-gp-button-type="submit"]),[data-save-draft],.ip-action:not(.secondary)){
 background:var(--ip-ink)!important;color:var(--ip-paper)!important;border:1px solid var(--ip-ink)!important;
 min-height:48px;padding:12px 22px;font-size:16px;line-height:1.4;
}
[data-gp-theme="harbour-premium"][data-site] .inside-page .ip-action.secondary{background:transparent!important;color:var(--ip-ink)!important;border-color:var(--ip-line)!important}
[data-gp-theme="harbour-premium"][data-site] .inside-page .ip-form :is(select,select option){background-color:var(--ip-paper);color:var(--ip-ink)}
[data-gp-theme="harbour-premium"] .site-plan-label{display:block;font:400 14px/1.45 var(--body,sans-serif);margin-top:6px;text-decoration:none;opacity:1}
[data-gp-theme="harbour-premium"] a[data-preview-plan]{cursor:pointer}[data-gp-theme="harbour-premium"] .inside-page a[data-preview-plan]{text-decoration:none}
[data-gp-theme="harbour-premium"][data-site] .site-directory a[data-preview-plan]{display:flex;flex-direction:column;align-items:flex-start;gap:2px}[data-gp-theme="harbour-premium"] .site-directory .site-plan-label{font-size:13px;margin:0}


[data-gp-theme="harbour-premium"][data-inside] .ip-opening{padding-block:clamp(48px,7vw,112px)}


@container fs-editor-canvas (min-width: 0px){


[data-gp-theme="harbour-premium"][data-inside] .ip-opening{padding-block:clamp(48px,7cqw,112px)}}
[data-gp-theme="harbour-premium"][data-inside] .ip-opening h1{max-width:15ch}
[data-gp-theme="harbour-premium"][data-inside] .ip-reading p{margin-top:22px}
[data-gp-theme="harbour-premium"][data-inside] .ip-section>h2{margin-bottom:28px;max-width:24ch}
[data-gp-theme="harbour-premium"][data-inside] .ip-section p+p{margin-top:18px}
[data-gp-theme="harbour-premium"][data-inside] .ip-steps{list-style:none;padding:0;counter-reset:ip-step}
[data-gp-theme="harbour-premium"][data-inside] .ip-steps li{counter-increment:ip-step;position:relative;padding:28px 0 28px 76px;border-top:1px solid var(--line,var(--rule,currentColor));max-width:85ch}
[data-gp-theme="harbour-premium"][data-inside] .ip-steps li:before{content:counter(ip-step,decimal-leading-zero);position:absolute;left:0;top:30px;font:inherit;color:var(--accent,var(--rust,currentColor))}
[data-gp-theme="harbour-premium"][data-inside] .ip-steps p{margin-top:12px}
[data-gp-theme="harbour-premium"][data-inside] .ip-collection{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px;margin-top:30px}
[data-gp-theme="harbour-premium"][data-inside] .ip-collection h2{font-size:clamp(30px,3vw,46px);margin-top:20px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="harbour-premium"][data-inside] .ip-collection h2{font-size:clamp(30px,3cqw,46px)}}
[data-gp-theme="harbour-premium"][data-inside] .ip-collection p,[data-gp-theme="harbour-premium"][data-inside] .ip-card p{margin-block:16px}
[data-gp-theme="harbour-premium"][data-inside] .ip-art{overflow:hidden}
[data-gp-theme="harbour-premium"][data-inside] .ip-art img{width:100%;height:100%;object-fit:cover;display:block}
[data-gp-theme="harbour-premium"][data-inside] .ip-art figcaption{font:14px/1.5 var(--body,Figtree,sans-serif);padding:12px 0}
[data-gp-theme="harbour-premium"][data-inside] .ip-collection .ip-art{height:260px}
[data-gp-theme="harbour-premium"][data-inside] .ip-band p{margin-block:20px}
[data-gp-theme="harbour-premium"][data-inside] .ip-questions details{padding:24px 0;border-top:1px solid var(--line,var(--rule,currentColor));max-width:80ch}
[data-gp-theme="harbour-premium"][data-inside] .ip-questions summary{cursor:pointer;font-size:1.18em;font-weight:600}
[data-gp-theme="harbour-premium"][data-inside] .ip-questions p{margin-top:18px}
[data-gp-theme="harbour-premium"][data-inside] .ip-choices{display:flex;flex-wrap:wrap;gap:10px;margin-block:22px}
[data-gp-theme="harbour-premium"][data-inside] .ip-choices :is(button,[role="button"]){border:1px solid var(--line,var(--rule,currentColor));background:var(--wash,var(--paper));color:var(--ink);padding:12px 18px;min-height:44px;font:inherit;cursor:pointer}
[data-gp-theme="harbour-premium"][data-inside] .ip-choices :is(button,[role="button"])[aria-pressed=true]{background:var(--ink);color:var(--paper)}
[data-gp-theme="harbour-premium"][data-inside] .ip-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:30px;max-width:960px}
[data-gp-theme="harbour-premium"][data-inside] .ip-form label{display:grid;gap:9px;align-content:start}
[data-gp-theme="harbour-premium"][data-inside] .ip-form label:has(textarea),[data-gp-theme="harbour-premium"][data-inside] .ip-form>.ip-note{grid-column:1/-1}
[data-gp-theme="harbour-premium"][data-inside] .ip-form input,[data-gp-theme="harbour-premium"][data-inside] .ip-form select,[data-gp-theme="harbour-premium"][data-inside] .ip-form textarea{width:100%;max-width:100%;border:1px solid var(--line,var(--rule,currentColor));background:var(--paper);color:var(--ink);padding:12px;font:inherit;border-radius:0}
[data-gp-theme="harbour-premium"][data-inside] [data-draft-output]{display:block;white-space:pre-wrap;padding:24px;border:1px solid var(--line,var(--rule,currentColor));margin-block:24px;max-width:960px;overflow-wrap:anywhere}
[data-gp-theme="harbour-premium"][data-inside] [hidden]{display:none!important}
[data-gp-theme="harbour-premium"][data-inside] .ip-checks{display:grid;gap:14px;max-width:850px;margin-block:22px}
[data-gp-theme="harbour-premium"][data-inside] .ip-checks label{display:flex;align-items:flex-start;gap:15px;padding:14px;border-bottom:1px solid var(--line,var(--rule,currentColor));cursor:pointer}
[data-gp-theme="harbour-premium"][data-inside] .ip-checks input{flex:none;margin-top:6px;accent-color:var(--accent,var(--rust));width:20px;height:20px}
[data-gp-theme="harbour-premium"][data-inside] .ip-ledger>div{padding:19px 0;border-bottom:1px solid var(--line,var(--rule,currentColor));display:grid;grid-template-columns:180px 1fr;gap:24px}
[data-gp-theme="harbour-premium"][data-inside] .ip-ledger dt{font-weight:600}
[data-gp-theme="harbour-premium"][data-inside] .ip-ledger dd{margin:0;max-width:66ch}
[data-gp-theme="harbour-premium"][data-inside] .ip-caption{font-size:14px;color:var(--muted,var(--ink))}
[data-gp-theme="harbour-premium"][data-inside] .ip-note{font-size:15px}
[data-gp-theme="harbour-premium"][data-inside] :is(button,a,summary,input,textarea,select):focus-visible{outline:3px solid var(--accent,var(--rust,currentColor));outline-offset:4px}
@media(max-width:700px){[data-gp-theme="harbour-premium"][data-inside] .ip-collection,[data-gp-theme="harbour-premium"][data-inside] .ip-form{grid-template-columns:1fr}[data-gp-theme="harbour-premium"][data-inside] .ip-ledger>div{grid-template-columns:1fr;gap:7px}[data-gp-theme="harbour-premium"][data-inside] .ip-steps li{padding-left:48px}[data-gp-theme="harbour-premium"][data-inside] .ip-collection .ip-art{height:250px}}
@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="harbour-premium"][data-inside] .ip-collection,[data-gp-theme="harbour-premium"][data-inside] .ip-form{grid-template-columns:1fr}[data-gp-theme="harbour-premium"][data-inside] .ip-ledger>div{grid-template-columns:1fr;gap:7px}[data-gp-theme="harbour-premium"][data-inside] .ip-steps li{padding-left:48px}[data-gp-theme="harbour-premium"][data-inside] .ip-collection .ip-art{height:250px}}
@media(prefers-reduced-motion:no-preference){[data-gp-theme="harbour-premium"][data-inside] .ip-choices :is(button,[role="button"]),[data-gp-theme="harbour-premium"][data-inside] .ip-action{transition:transform 150ms ease,opacity 150ms ease}[data-gp-theme="harbour-premium"][data-inside] .ip-choices :is(button,[role="button"]):active,[data-gp-theme="harbour-premium"][data-inside] .ip-action:active{transform:translateY(2px)}}


[data-gp-theme="harbour-premium"][data-inside] .ip-folio-opening{border-left:16px solid var(--ink);background:var(--wash);padding:clamp(28px,5vw,70px)}


@container fs-editor-canvas (min-width: 0px){


[data-gp-theme="harbour-premium"][data-inside] .ip-folio-opening{padding:clamp(28px,5cqw,70px)}}
[data-gp-theme="harbour-premium"][data-inside] .ip-folio-opening .ip-art{height:460px;background:var(--paper);padding:20px;border:1px solid var(--line)}
[data-gp-theme="harbour-premium"][data-inside] .ip-folio-opening .ip-art img{object-fit:contain}
[data-gp-theme="harbour-premium"][data-inside] .ip-opening .ip-reading{border-left:3px solid var(--accent);padding-left:30px}
[data-gp-theme="harbour-premium"][data-inside] .ip-workbook{border:1px solid var(--line);padding:clamp(24px,4vw,55px);box-shadow:12px 12px 0 var(--wash)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="harbour-premium"][data-inside] .ip-workbook{padding:clamp(24px,4cqw,55px)}}
[data-gp-theme="harbour-premium"][data-inside] .ip-scenario{border-left:3px solid var(--accent);padding-left:32px;margin-block:45px}
[data-gp-theme="harbour-premium"][data-inside] .ip-steps{border-left:1px solid var(--line);margin-left:20px}
[data-gp-theme="harbour-premium"][data-inside] .ip-steps li{margin-left:20px}
[data-gp-theme="harbour-premium"][data-inside] .ip-questions summary{font-family:"Libre Baskerville",serif;font-weight:400;font-size:22px}
[data-gp-theme="harbour-premium"][data-inside] .ip-card{border-top:3px solid var(--accent)}
@media(max-width:700px){[data-gp-theme="harbour-premium"][data-inside] .ip-folio-opening{border-left-width:7px}[data-gp-theme="harbour-premium"][data-inside] .ip-folio-opening .ip-art{height:340px}[data-gp-theme="harbour-premium"][data-inside] .ip-opening .ip-reading{padding-left:20px}[data-gp-theme="harbour-premium"][data-inside] .ip-scenario{padding-left:20px}}
@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="harbour-premium"][data-inside] .ip-folio-opening{border-left-width:7px}[data-gp-theme="harbour-premium"][data-inside] .ip-folio-opening .ip-art{height:340px}[data-gp-theme="harbour-premium"][data-inside] .ip-opening .ip-reading{padding-left:20px}[data-gp-theme="harbour-premium"][data-inside] .ip-scenario{padding-left:20px}}


[data-gp-theme="harbour-premium"][data-inside] .ip-art{display:grid;grid-template-rows:minmax(0,1fr) auto}
[data-gp-theme="harbour-premium"][data-inside] .ip-art img{min-height:0}

/* Owner selected recommended on 18 October 2026. Main heading roles only. */
[data-gp-theme="harbour-premium"][data-gp-kind="section"] h1{font-family:"Libre Baskerville", serif!important;font-weight:400!important;letter-spacing:-0.012em!important;line-height:1.2!important;font-variation-settings:normal!important;font-optical-sizing:auto!important}
[data-gp-theme="harbour-premium"][data-gp-kind="section"] h2{font-family:"Public Sans", sans-serif!important;font-weight:600!important;letter-spacing:-.01em!important;line-height:1.17!important;font-variation-settings:normal!important;font-optical-sizing:auto!important}
[data-gp-theme="harbour-premium"][data-gp-kind="section"] h3{font-family:"Public Sans", sans-serif!important;font-weight:600!important;letter-spacing:0!important;line-height:1.25!important;font-variation-settings:normal!important}
[data-gp-theme="harbour-premium"][data-inside][data-gp-kind="section"] h1{font-family:"Public Sans", sans-serif!important;line-height:1.14!important;letter-spacing:-.012em!important;font-weight:600!important;text-transform:none!important}
@media(max-width:650px){[data-gp-theme="harbour-premium"][data-gp-kind="section"] h1{line-height:1.2!important;letter-spacing:-0.012em!important}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="harbour-premium"][data-gp-kind="section"] h1{line-height:1.2!important;letter-spacing:-0.012em!important}}

/* Local authored experience. Inherits selected type and all six palette/mode combinations. */
[data-gp-theme="harbour-premium"] .ux-lab{max-width:1340px;margin:64px auto;padding:36px clamp(20px,4vw,56px);color:var(--ink);background:var(--paper);border-block:1px solid var(--line);font-family:var(--body);overflow-wrap:anywhere;box-sizing:border-box}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="harbour-premium"] .ux-lab{padding:36px clamp(20px,4cqw,56px)}}
[data-gp-theme="harbour-premium"] .ux-lab *{box-sizing:border-box}[data-gp-theme="harbour-premium"] .ux-lab h2{font-size:clamp(30px,3.2vw,48px);line-height:1.12;margin:0 0 14px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="harbour-premium"] .ux-lab h2{font-size:clamp(30px,3.2cqw,48px)}}[data-gp-theme="harbour-premium"] .ux-lab h3{font-size:24px;line-height:1.25;margin:0 0 10px}[data-gp-theme="harbour-premium"] .ux-lab p{font-size:17px;line-height:1.6;max-width:64ch;margin:0 0 14px}[data-gp-theme="harbour-premium"] .ux-lab .ux-intro{max-width:760px;margin-bottom:28px}[data-gp-theme="harbour-premium"] .ux-lab .ux-sample{font-size:14px;color:var(--muted);margin-block:16px}[data-gp-theme="harbour-premium"] .ux-lab .ux-spread{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(240px,.85fr);gap:28px;align-items:start}[data-gp-theme="harbour-premium"] .ux-lab .ux-art{margin:0;background:var(--wash);position:relative;overflow:hidden;min-width:0}[data-gp-theme="harbour-premium"] .ux-lab .ux-art svg{display:block;width:100%;height:auto;aspect-ratio:700/520;fill:none;stroke:none;stroke-width:1;color:var(--ink)}[data-gp-theme="harbour-premium"] .ux-lab figcaption{display:block;padding:12px 16px;font-size:14px;color:var(--muted);background:var(--paper);border-bottom:1px solid var(--line)}[data-gp-theme="harbour-premium"] .ux-lab fieldset{border:0;padding:0;margin:0 0 22px;min-width:0}[data-gp-theme="harbour-premium"] .ux-lab legend{font-size:16px;font-weight:600;margin-bottom:8px}[data-gp-theme="harbour-premium"] .ux-lab .ux-choices{display:flex;flex-wrap:wrap;gap:8px}[data-gp-theme="harbour-premium"] .ux-lab :is(button,[role="button"]),[data-gp-theme="harbour-premium"] .ux-lab .ux-link{font:500 15px/1.35 var(--body);border:1px solid var(--line);padding:11px 15px;min-height:44px;min-width:44px;color:var(--ink);background:var(--paper);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px}[data-gp-theme="harbour-premium"] .ux-lab :is(button,[role="button"])[aria-pressed=true]{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}[data-gp-theme="harbour-premium"] .ux-lab :is(button,[role="button"]):focus-visible,[data-gp-theme="harbour-premium"] .ux-lab a:focus-visible,[data-gp-theme="harbour-premium"] .ux-lab textarea:focus-visible,[data-gp-theme="harbour-premium"] .ux-lab input:focus-visible{outline:3px solid var(--accent);outline-offset:4px}[data-gp-theme="harbour-premium"] .ux-lab .ux-link{color:var(--on-accent);background:var(--accent);border-color:var(--accent);margin-top:16px}[data-gp-theme="harbour-premium"] .ux-lab .ux-summary{display:block;font-size:17px;line-height:1.55;min-height:3.2em;margin:18px 0;padding:16px 0;border-block:1px solid var(--line)}[data-gp-theme="harbour-premium"] .ux-lab .ux-detail{margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}[data-gp-theme="harbour-premium"] .ux-lab .ux-detail svg{width:100%;height:auto;aspect-ratio:260/120;display:block;stroke:none;fill:none}[data-gp-theme="harbour-premium"] .ux-lab label{font-size:16px;display:block}[data-gp-theme="harbour-premium"] .ux-lab textarea{display:block;width:100%;font:17px/1.6 var(--body);padding:14px;background:var(--paper);color:var(--ink);border:1px solid var(--line);margin:8px 0 14px;resize:vertical}[data-gp-theme="harbour-premium"] .ux-lab .ux-note-result{display:block;white-space:pre-wrap;margin:16px 0;font-size:16px}[data-gp-theme="harbour-premium"] .ux-lab [hidden]{display:none!important}[data-gp-theme="harbour-premium"] .ux-lab .ux-carry{border-left:4px solid var(--accent);padding-left:22px}[data-gp-theme="harbour-premium"] .ux-lab .ux-carry ul{padding-left:20px}[data-gp-theme="harbour-premium"] .ux-lab .ux-carry li{margin:6px 0}[data-gp-theme="harbour-premium"] .ux-lab .ux-clear{font-size:14px;min-height:44px}
[data-gp-theme="harbour-premium"] .ux-lab .ux-visual{position:relative;isolation:isolate}[data-gp-theme="harbour-premium"] .ux-lab .ux-visual [data-scene-snapshot]{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
@media(hover:hover) and (pointer:fine){[data-gp-theme="harbour-premium"] .ux-lab :is(button,[role="button"]):hover{border-color:var(--accent)}[data-gp-theme="harbour-premium"] .ux-lab .ux-link:hover{opacity:.88}}
@media(max-width:700px){[data-gp-theme="harbour-premium"] .ux-lab{margin:32px 16px;padding:24px 0}[data-gp-theme="harbour-premium"] .ux-lab .ux-spread{grid-template-columns:minmax(0,1fr);gap:24px}[data-gp-theme="harbour-premium"] .ux-lab .ux-intro{margin-bottom:20px}[data-gp-theme="harbour-premium"] .ux-lab .ux-art svg{min-height:240px}[data-gp-theme="harbour-premium"] .ux-lab h2{font-size:32px}[data-gp-theme="harbour-premium"] .ux-lab p{font-size:16px}[data-gp-theme="harbour-premium"] .ux-lab .ux-choices{gap:7px}[data-gp-theme="harbour-premium"] .ux-lab :is(button,[role="button"]){padding:10px 12px}}
@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="harbour-premium"] .ux-lab{margin:32px 16px;padding:24px 0}[data-gp-theme="harbour-premium"] .ux-lab .ux-spread{grid-template-columns:minmax(0,1fr);gap:24px}[data-gp-theme="harbour-premium"] .ux-lab .ux-intro{margin-bottom:20px}[data-gp-theme="harbour-premium"] .ux-lab .ux-art svg{min-height:240px}[data-gp-theme="harbour-premium"] .ux-lab h2{font-size:32px}[data-gp-theme="harbour-premium"] .ux-lab p{font-size:16px}[data-gp-theme="harbour-premium"] .ux-lab .ux-choices{gap:7px}[data-gp-theme="harbour-premium"] .ux-lab :is(button,[role="button"]){padding:10px 12px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="harbour-premium"] .ux-lab *{scroll-behavior:auto!important;transition-duration:0ms!important;animation:none!important}}
[data-gp-theme="harbour-premium"] .ux-folio .ux-folder{background:var(--wash);padding:22px;position:relative;border:1px solid var(--line);border-top:8px solid var(--accent)}[data-gp-theme="harbour-premium"] .ux-folio .ux-folder-index{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:22px}[data-gp-theme="harbour-premium"] .ux-folio .ux-folder-index svg{width:72px;height:72px;fill:none;stroke:var(--ink);stroke-width:1.4}[data-gp-theme="harbour-premium"] .ux-folio .ux-folder-index span:not(.fs-richtext){font-size:14px;color:var(--muted)}[data-gp-theme="harbour-premium"] .ux-folio .ux-folder h3{font-family:var(--body);font-size:24px}[data-gp-theme="harbour-premium"] .ux-folio .ux-document-row{display:grid;grid-template-columns:1fr auto;gap:14px;border-bottom:1px solid var(--line);padding:18px 0;align-items:center}[data-gp-theme="harbour-premium"] .ux-folio .ux-document-row p{font-size:15px;margin:6px 0}[data-gp-theme="harbour-premium"] .ux-folio .ux-document-row label{display:flex;align-items:center;gap:8px;font-size:14px;min-height:44px}[data-gp-theme="harbour-premium"] .ux-folio input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent);flex-shrink:0}[data-gp-theme="harbour-premium"] .ux-folio .ux-question-strip{padding:18px 0;border-bottom:1px solid var(--line)}[data-gp-theme="harbour-premium"] .ux-folio .ux-question-strip p{min-height:5em}[data-gp-theme="harbour-premium"] .ux-folio .ux-next{padding:20px;background:var(--paper);border-left:3px solid var(--accent);margin-top:24px}[data-gp-theme="harbour-premium"] .ux-folio .ux-folder-label{font:600 14px var(--body)}@media(max-width:700px){[data-gp-theme="harbour-premium"] .ux-folio .ux-folder{padding:18px}[data-gp-theme="harbour-premium"] .ux-folio .ux-document-row{grid-template-columns:1fr;gap:4px}}@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="harbour-premium"] .ux-folio .ux-folder{padding:18px}[data-gp-theme="harbour-premium"] .ux-folio .ux-document-row{grid-template-columns:1fr;gap:4px}}[data-gp-theme="harbour-premium"] .ux-folio [data-folio-story]{min-height:5em}[data-gp-theme="harbour-premium"] .ux-folio .ux-document-row p{min-height:4.8em}[data-gp-theme="harbour-premium"] .ux-folio .ux-question-strip>p{min-height:8em}
/* Approved readability refinements, 18 October 2026.
   Only meaningful helpers, local groups and selected reading paragraphs.
   Owner-selected type families, display sizes and frozen comparisons stay authoritative. */

/* Kiln House: the brief promise and sample guidance are part of the task. */
[data-gp-theme="harbour-premium"][data-site="kiln-house"] :is(.field-note,.form-note,.pairing-hint,.material-note,.light-note,.letter-note,.combination-copy small,.material-row small){font-size:14px;line-height:1.5}
[data-gp-theme="harbour-premium"][data-site="kiln-house"] .form-note{margin-top:16px}
[data-gp-theme="harbour-premium"][data-site="kiln-house"] :is(.quiet-button,.combination-action){font-size:15px;line-height:1.5}
[data-gp-theme="harbour-premium"][data-site="kiln-house"] .quiet-button{min-height:44px}
[data-gp-theme="harbour-premium"][data-site="kiln-house"] .directory-links a small{font-size:14px;line-height:1.5}

/* Small study labels explain a choice, rather than acting as an imprint. */
[data-gp-theme="harbour-premium"][data-site="true-joint"] .ux-stage-bar :is(button,[role="button"]) small{font-size:14px;line-height:1.5}
[data-gp-theme="harbour-premium"][data-site="neighbourhood-edit"] .ux-plan-header{font-size:14px;line-height:1.5;gap:12px;flex-wrap:wrap}
[data-gp-theme="harbour-premium"][data-site="neighbourhood-edit"] .ux-room-title{margin-bottom:16px}
[data-gp-theme="harbour-premium"][data-site="neighbourhood-edit"] .ux-room-title h3{margin-bottom:0}
[data-gp-theme="harbour-premium"][data-site="neighbourhood-edit"] :is(.home-finder label,.home-finder output,.area-index small){font-size:14px;line-height:1.5}
[data-gp-theme="harbour-premium"][data-site="neighbourhood-edit"] .home-finder select{font-size:16px;min-height:44px}
[data-gp-theme="harbour-premium"][data-site="harbour-premium"] .ux-folio .ux-document-row label{font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="harbour-premium"][data-site="daymark-window-care"] .dm-sheet-head{font-size:14px;line-height:1.5;flex-wrap:wrap}
[data-gp-theme="harbour-premium"][data-site="velum-window-care"] .ux-v-nav :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}

/* Existing small controls retain or gain the comfortable target height. */
[data-gp-theme="harbour-premium"][data-site="stem-and-still"] .stem-slip :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:48px;gap:8px}
[data-gp-theme="harbour-premium"][data-site="cake-box"] .flavour-pick :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="harbour-premium"][data-site="cake-box"] .message-label small{font-size:14px;line-height:1.5}
[data-gp-theme="harbour-premium"][data-site="crm-recruitment-people"] .question-buttons{gap:10px}
[data-gp-theme="harbour-premium"][data-site="crm-recruitment-people"] .question-buttons :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:10px 12px}
[data-gp-theme="harbour-premium"][data-site="the-second-set-programme"] .pr-order-actions :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:8px 10px}

/* The format facts belong with the large ensemble names. */
[data-gp-theme="harbour-premium"][data-site="the-second-set-afterglow"] .ag-format-ribbon span:not(.fs-richtext){font-size:14px;line-height:1.5;margin-top:8px}
[data-gp-theme="harbour-premium"][data-site="the-second-set-programme"] .opening-note{font-size:14px;line-height:1.5}
[data-gp-theme="harbour-premium"][data-site="the-second-set-signal"] .form-note{font-size:14px;line-height:1.5}

/* Slipstream: useful record, filter and brief text; preserve the scrollable comparison. */
[data-gp-theme="harbour-premium"][data-site="slipstream"] :is(.featured-price small,.rail-note,.stock-finder label,.stock-caption,.inspection-note,.inspection-instruction,.form-note,[data-gp-id="stock-count"],[data-gp-id="form-question-count"]){font-size:14px;line-height:1.5}
[data-gp-theme="harbour-premium"][data-site="slipstream"] :is(.visit-form label,.form-pair label){font-size:15px;line-height:1.5}
[data-gp-theme="harbour-premium"][data-site="slipstream"] :is(.car-record summary,[data-gp-id="reset-stock"],[data-gp-id="clear-compare"],.quick-compare button){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="harbour-premium"][data-site="slipstream"] .stock-finder select{min-height:44px}

/* Narrow only sustained paragraphs, preserving plans, records, lists and tables. */
[data-gp-theme="harbour-premium"]:is([data-site="stem-and-still"],[data-site="kiln-house"],[data-site="true-joint"])[data-inside] .ip-reading>p{max-width:64ch}

@media(max-width:700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="harbour-premium"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="harbour-premium"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="harbour-premium"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="harbour-premium"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="harbour-premium"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="harbour-premium"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="harbour-premium"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="harbour-premium"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="harbour-premium"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

@containerfs-editor-canvas (max-width: 700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="harbour-premium"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="harbour-premium"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="harbour-premium"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="harbour-premium"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="harbour-premium"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="harbour-premium"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="harbour-premium"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="harbour-premium"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="harbour-premium"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

/* No generic heading, body, section-spacing or panel-height reset.
   Goodpane's unused calendar CSS, Expedition's real stage envelope,
   Starlight's passage leading and Velum's display introduction need no blanket fix. */

/* Menu-only reset. Shapes and composition are authored separately below. */
[data-gp-theme="harbour-premium"] dialog[data-gp-id="mega-menu"].mega-menu{--mi-paper:var(--paper);--mi-ink:var(--ink);--mi-wash:var(--wash,var(--paper));--mi-line:var(--line);--mi-accent:var(--accent,var(--ink));position:fixed;inset:auto;margin:0;padding:0;min-width:0;min-height:0;max-width:none;max-height:none;border:0;border-radius:0;background:var(--mi-paper);color:var(--mi-ink);box-shadow:0 22px 90px #0004;font:16px/1.5 var(--body,sans-serif);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:auto;transform:none}
[data-gp-theme="harbour-premium"] [data-gp-id="mega-menu"][open]{display:block;animation:none}
[data-gp-theme="harbour-premium"] [data-gp-id="mega-menu"][open]:not([data-closing])>:not(.mi-bar){animation:gp-harbourpremium-mi-arrive 180ms ease-out both}
[data-gp-theme="harbour-premium"] [data-gp-id="mega-menu"][data-closing]{animation:gp-harbourpremium-mi-leave 160ms ease-in both}
[data-gp-theme="harbour-premium"] [data-gp-id="mega-menu"]::backdrop{background:#0007;backdrop-filter:blur(3px)}
[data-gp-theme="harbour-premium"] [data-gp-id="mega-menu"] *,[data-gp-theme="harbour-premium"] [data-gp-id="mega-menu"] *::before,[data-gp-theme="harbour-premium"] [data-gp-id="mega-menu"] *::after{box-sizing:border-box}
[data-gp-theme="harbour-premium"] [data-gp-id="mega-menu"] :is(h2,h3,p,figure){margin:0;max-width:none}
[data-gp-theme="harbour-premium"] [data-gp-id="mega-menu"] h2{font-family:var(--mi-display,var(--display,serif));font-weight:500;line-height:1.1;letter-spacing:-.025em;text-transform:none}
[data-gp-theme="harbour-premium"] [data-gp-id="mega-menu"] h3{font:600 19px/1.25 var(--body,sans-serif);letter-spacing:0;text-transform:none}
[data-gp-theme="harbour-premium"] [data-gp-id="mega-menu"] a{color:inherit;text-decoration:none;min-height:44px;transition:background-color 160ms,color 160ms;text-transform:none;letter-spacing:0}
[data-gp-theme="harbour-premium"] [data-gp-id="mega-menu"] a:hover{text-decoration:underline;text-underline-offset:5px}
[data-gp-theme="harbour-premium"] [data-gp-id="mega-menu"] a:focus-visible,[data-gp-theme="harbour-premium"] [data-gp-id="mega-menu"] :is(button,[role="button"]):focus-visible{outline:2px solid currentColor;outline-offset:4px}
[data-gp-theme="harbour-premium"] [data-gp-id="mega-menu"] small{font:400 13px/1.5 var(--body,sans-serif);letter-spacing:0;text-transform:none}
[data-gp-theme="harbour-premium"] [data-gp-id="mega-menu"] .mi-bar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:0;padding:16px 28px;border-bottom:1px solid var(--mi-line);background:var(--mi-paper);color:var(--mi-ink);font:500 15px/1.3 var(--body,sans-serif)}
[data-gp-theme="harbour-premium"] [data-gp-id="mega-menu"] .mi-bar a{display:flex;align-items:center;font:inherit;max-width:70%}
[data-gp-theme="harbour-premium"] [data-gp-id="mega-menu"] [data-menu-close]{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:64px;margin:0;padding:9px 12px;border:1px solid var(--mi-line);border-radius:0;background:var(--mi-paper);color:var(--mi-ink);font:500 14px/1.3 var(--body,sans-serif);cursor:pointer;flex:none}
[data-gp-theme="harbour-premium"] [data-gp-id="mega-menu"] .mi-note{font:400 12px/1.5 var(--body,sans-serif);color:var(--mi-ink)}
@keyframes gp-harbourpremium-mi-arrive{from{opacity:0}to{opacity:1}}@keyframes gp-harbourpremium-mi-leave{to{opacity:0}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="harbour-premium"] [data-gp-id="mega-menu"][open],[data-gp-theme="harbour-premium"] [data-gp-id="mega-menu"][data-closing],[data-gp-theme="harbour-premium"] [data-gp-id="mega-menu"][open]>:not(.mi-bar){animation:none}[data-gp-theme="harbour-premium"] [data-gp-id="mega-menu"] a{transition:none}}

[data-gp-theme="harbour-premium"] dialog[data-gp-id="mega-menu"].mega-menu{--mi-display:"Libre Baskerville",serif;inset:0 0 0 auto;width:min(620px,100%);height:100dvh;border-left:12px solid var(--mi-ink)}
[data-gp-theme="harbour-premium"] [data-gp-id="mega-menu"] .mi-bar{font-size:13px;padding:14px 25px}[data-gp-theme="harbour-premium"] [data-gp-id="mega-menu"] .mi-dossier{padding:30px 34px 28px}[data-gp-theme="harbour-premium"] [data-gp-id="mega-menu"] .mi-file-cover{border-bottom:3px solid var(--mi-ink);padding-bottom:24px;margin-bottom:25px}[data-gp-theme="harbour-premium"] [data-gp-id="mega-menu"] h2{font-size:39px;line-height:1.2}[data-gp-theme="harbour-premium"] [data-gp-id="mega-menu"] .mi-file-cover p{margin-top:15px;font-size:15px;line-height:1.55}[data-gp-theme="harbour-premium"] [data-gp-id="mega-menu"] .mi-file-tab{position:relative;padding:17px 18px 16px;margin-bottom:20px;border:1px solid var(--mi-line);background:var(--mi-wash)}[data-gp-theme="harbour-premium"] [data-gp-id="mega-menu"] .mi-file-tab h3{display:inline-block;background:var(--mi-paper);padding:7px 11px;border:1px solid var(--mi-line);margin:-31px 0 7px -19px;font-size:13px;position:relative;top:-1px}[data-gp-theme="harbour-premium"] [data-gp-id="mega-menu"] .mi-file-tab a{display:flex;align-items:center;padding:8px 0;border-bottom:1px solid color-mix(in srgb,var(--mi-line) 65%,transparent);font-size:16px}[data-gp-theme="harbour-premium"] [data-gp-id="mega-menu"] .mi-file-tab a:last-child{border:0}[data-gp-theme="harbour-premium"] [data-gp-id="mega-menu"] .mi-brief-action{display:flex;justify-content:space-between;align-items:center;padding:17px 18px;background:var(--mi-ink);color:var(--mi-paper);font-weight:600}[data-gp-theme="harbour-premium"] [data-gp-id="mega-menu"] .mi-note{margin-top:17px;max-width:53ch}
@media(max-width:900px){[data-gp-theme="harbour-premium"] [data-gp-id="mega-menu"] .mi-dossier{padding:26px 22px}[data-gp-theme="harbour-premium"] [data-gp-id="mega-menu"] h2{font-size:34px}[data-gp-theme="harbour-premium"] [data-gp-id="mega-menu"] .mi-file-tab{margin-top:30px}[data-gp-theme="harbour-premium"] [data-gp-id="mega-menu"] .mi-bar>a{font-size:13px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="harbour-premium"] [data-gp-id="mega-menu"] .mi-dossier{padding:26px 22px}[data-gp-theme="harbour-premium"] [data-gp-id="mega-menu"] h2{font-size:34px}[data-gp-theme="harbour-premium"] [data-gp-id="mega-menu"] .mi-file-tab{margin-top:30px}[data-gp-theme="harbour-premium"] [data-gp-id="mega-menu"] .mi-bar>a{font-size:13px}}

[data-gp-theme="harbour-premium"]{--paper:rgb(var(--c-paper));--ink:rgb(var(--c-ink-950));--accent:rgb(var(--c-brand-600));--wash:rgb(var(--c-paper-soft));--line:rgb(var(--c-line));--muted:rgb(var(--c-ink-400));--on-accent:var(--fs-on-brand);--focus:rgb(var(--c-accent));--work:var(--fs-surface-inverted,var(--wash));--work-ink:var(--fs-on-surface-inverted,var(--paper));--body:var(--font-sans);}
[data-gp-theme="vow-and-vellum"]{--ease-out:cubic-bezier(.23,1,.32,1);--ease-drawer:cubic-bezier(.32,.72,0,1)}
[data-gp-theme="vow-and-vellum"] *{box-sizing:border-box}[data-gp-theme="vow-and-vellum"]{scroll-behavior:smooth;scroll-padding-top:100px}[data-gp-theme="vow-and-vellum"]{margin:0}[data-gp-theme="vow-and-vellum"] img{max-width:100%;display:block}[data-gp-theme="vow-and-vellum"] :is(button,[role="button"]),[data-gp-theme="vow-and-vellum"] input,[data-gp-theme="vow-and-vellum"] select,[data-gp-theme="vow-and-vellum"] textarea{font:inherit}[data-gp-theme="vow-and-vellum"] :is(button,[role="button"]),[data-gp-theme="vow-and-vellum"] a,[data-gp-theme="vow-and-vellum"] input,[data-gp-theme="vow-and-vellum"] select,[data-gp-theme="vow-and-vellum"] textarea{touch-action:manipulation}[data-gp-theme="vow-and-vellum"] :is(button,[role="button"]),[data-gp-theme="vow-and-vellum"] a{ -webkit-tap-highlight-color:transparent}[data-gp-theme="vow-and-vellum"] :is(button,[role="button"]){cursor:pointer}[data-gp-theme="vow-and-vellum"] :is(button,[role="button"]):active{transform:translateY(1px)}[data-gp-theme="vow-and-vellum"] a{color:inherit;text-underline-offset:.22em}[data-gp-theme="vow-and-vellum"] :is(button,[role="button"]):focus-visible,[data-gp-theme="vow-and-vellum"] a:focus-visible,[data-gp-theme="vow-and-vellum"] summary:focus-visible,[data-gp-theme="vow-and-vellum"] input:focus-visible,[data-gp-theme="vow-and-vellum"] select:focus-visible,[data-gp-theme="vow-and-vellum"] textarea:focus-visible{outline:3px solid var(--focus,#346ddb);outline-offset:5px}[data-gp-theme="vow-and-vellum"] textarea{resize:vertical}[data-gp-theme="vow-and-vellum"] input,[data-gp-theme="vow-and-vellum"] textarea{caret-color:var(--focus,currentColor)}[data-gp-theme="vow-and-vellum"] :is(button,[role="button"]),[data-gp-theme="vow-and-vellum"] select,[data-gp-theme="vow-and-vellum"] input{min-height:44px}[data-gp-theme="vow-and-vellum"] summary{cursor:pointer}[data-gp-theme="vow-and-vellum"] section[id],[data-gp-theme="vow-and-vellum"] footer[id]{scroll-margin-top:110px}[data-gp-theme="vow-and-vellum"] [hidden]{display:none!important}[data-gp-theme="vow-and-vellum"] .skip-link{position:fixed;z-index:200;top:8px;left:8px;background:#fff;color:#111;padding:12px 18px;transform:translateY(-150%)}[data-gp-theme="vow-and-vellum"] .skip-link:focus{transform:none}
[data-gp-theme="vow-and-vellum"] .preview-bar{min-height:42px;background:#f6f6f2;color:#252a2a;border-bottom:1px solid #d5d8d4;font:13px/1.3 "Figtree",sans-serif;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 3vw;position:relative;z-index:30}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="vow-and-vellum"] .preview-bar{padding:5px 3cqw}}[data-gp-theme="vow-and-vellum"] .preview-bar a{white-space:nowrap}[data-gp-theme="vow-and-vellum"] .preview-bar [role=group]{display:flex;gap:2px;align-items:center}[data-gp-theme="vow-and-vellum"] .preview-bar :is(button,[role="button"]){min-height:32px;background:transparent;color:inherit;border:0;padding:6px 10px;border-radius:3px;font-size:13px;transition:background-color 150ms var(--ease-out)}[data-gp-theme="vow-and-vellum"] .preview-bar [aria-pressed=true]{background:#252a2a;color:#fff}[data-gp-theme="vow-and-vellum"] .preview-bar :is(button,[role="button"])[data-replay-intro]{border:1px solid #b6beb8}[data-gp-theme="vow-and-vellum"] .preview-label{color:#515953}[data-gp-theme="vow-and-vellum"] .preview-bar::selection{background:#252a2a;color:#fff}
[data-gp-theme="vow-and-vellum"] dialog.mega-menu{max-width:none;max-height:calc(100dvh - 32px);overflow:auto;border:0;padding:0;color:inherit;overscroll-behavior:contain}[data-gp-theme="vow-and-vellum"] dialog.mega-menu::backdrop{background:rgb(8 16 18 / .52)}[data-gp-theme="vow-and-vellum"] .mega-menu[open]{animation:gp-vowvellum-menu-arrive 220ms var(--ease-drawer)}[data-gp-theme="vow-and-vellum"] .mega-menu[data-closing]{animation:gp-vowvellum-menu-leave 160ms var(--ease-out) forwards}[data-gp-theme="vow-and-vellum"] .mega-menu[data-keyboard]{animation:none}[data-gp-theme="vow-and-vellum"] .menu-lock{overflow:hidden}@keyframes gp-vowvellum-menu-arrive{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}@keyframes gp-vowvellum-menu-leave{to{opacity:0;transform:translateY(-10px)}}
[data-gp-theme="vow-and-vellum"] .preloader{display:none;position:fixed;inset:0;z-index:190;place-content:center;pointer-events:none;text-align:center}[data-gp-theme="vow-and-vellum"] .preloader.is-active{display:grid;animation:gp-vowvellum-intro-failsafe 1.3s step-end forwards}[data-gp-theme="vow-and-vellum"] .preloader.is-leaving{opacity:0;transition:opacity 180ms var(--ease-out)}@keyframes gp-vowvellum-intro-failsafe{0%,99%{visibility:visible}100%{visibility:hidden}}
@media(max-width:650px){[data-gp-theme="vow-and-vellum"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="vow-and-vellum"] .preview-bar .preview-label{display:none}[data-gp-theme="vow-and-vellum"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="vow-and-vellum"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="vow-and-vellum"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="vow-and-vellum"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="vow-and-vellum"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="vow-and-vellum"] .preview-bar .preview-label{display:none}[data-gp-theme="vow-and-vellum"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="vow-and-vellum"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="vow-and-vellum"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="vow-and-vellum"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="vow-and-vellum"]{scroll-behavior:auto}[data-gp-theme="vow-and-vellum"] *,[data-gp-theme="vow-and-vellum"] *::before,[data-gp-theme="vow-and-vellum"] *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-gp-theme="vow-and-vellum"] .preloader.is-active{display:none!important}}
@media(max-width:650px){[data-gp-theme="vow-and-vellum"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="vow-and-vellum"] .preview-bar a{font-size:12px}[data-gp-theme="vow-and-vellum"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="vow-and-vellum"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="vow-and-vellum"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="vow-and-vellum"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="vow-and-vellum"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="vow-and-vellum"] .preview-bar a{font-size:12px}[data-gp-theme="vow-and-vellum"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="vow-and-vellum"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="vow-and-vellum"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="vow-and-vellum"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}

[data-gp-theme="vow-and-vellum"]{--paper:#fbf6ed;--ink:#4a293e;--accent:#4a293e;--wash:#eee0d9;--line:#baa4af;--on-accent:#fff8ed;--muted:#755c6b;--display:"Cormorant Garamond",serif;--body:"DM Sans",sans-serif;--leaf:#68705a;--focus:#4a293e;background:var(--paper);color:var(--ink);font:18px/1.65 var(--body)}[data-gp-theme="vow-and-vellum"][data-palette="1"]{--paper:#f7f5e9;--ink:#414a35;--accent:#414a35;--wash:#e4e7d7;--line:#aeb49a;--muted:#656e56;--leaf:#6a7553;--focus:#414a35}[data-gp-theme="vow-and-vellum"][data-palette="2"]{--paper:#f7eff0;--ink:#344357;--accent:#344357;--wash:#e8dbe1;--line:#b0a8b4;--muted:#5f6777;--leaf:#7d626f;--focus:#344357}[data-gp-theme="vow-and-vellum"][data-mode="dark"]{--paper:#261b24;--ink:#f5e6ed;--accent:#e7bccd;--wash:#3a2935;--line:#8d6e81;--on-accent:#321c2b;--muted:#d7bdcb;--leaf:#bbc2a3;--focus:#e7bccd}[data-gp-theme="vow-and-vellum"][data-mode="dark"][data-palette="1"]{--paper:#22291c;--ink:#eff1e1;--accent:#c7d1ae;--wash:#353e2b;--line:#818d6d;--on-accent:#28321d;--muted:#c5ceb7;--leaf:#c1cba9}[data-gp-theme="vow-and-vellum"][data-mode="dark"][data-palette="2"]{--paper:#202431;--ink:#efebf5;--accent:#c9c2e2;--wash:#34394c;--line:#7c829c;--on-accent:#26253a;--muted:#c8c5d8;--leaf:#d4b4c1}[data-gp-theme="vow-and-vellum"] h1,[data-gp-theme="vow-and-vellum"] h2,[data-gp-theme="vow-and-vellum"] h3,[data-gp-theme="vow-and-vellum"] p,[data-gp-theme="vow-and-vellum"] figure{margin:0}[data-gp-theme="vow-and-vellum"] h1,[data-gp-theme="vow-and-vellum"] h2,[data-gp-theme="vow-and-vellum"] h3{font-family:var(--display);font-weight:450;letter-spacing:-.045em;line-height:1.02}[data-gp-theme="vow-and-vellum"] h1{font-size:clamp(76px,7.7vw,119px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="vow-and-vellum"] h1{font-size:clamp(76px,7.7cqw,119px)}}[data-gp-theme="vow-and-vellum"] h2{font-size:clamp(48px,4.8vw,74px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="vow-and-vellum"] h2{font-size:clamp(48px,4.8cqw,74px)}}[data-gp-theme="vow-and-vellum"] h3{font-size:35px}[data-gp-theme="vow-and-vellum"] p{max-width:56ch}[data-gp-theme="vow-and-vellum"] .wrap{width:min(1340px,calc(100% - 96px));margin:auto}[data-gp-theme="vow-and-vellum"] .section{padding-block:100px}[data-gp-theme="vow-and-vellum"] .site-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;padding:24px 48px;border-bottom:1px solid var(--line)}[data-gp-theme="vow-and-vellum"] .monogram img{width:50px;height:50px}[data-gp-theme="vow-and-vellum"] .masthead{font:500 42px/1 var(--display);text-align:center;text-decoration:none;letter-spacing:-.04em}[data-gp-theme="vow-and-vellum"] .masthead small{font:11px/1.5 var(--body);letter-spacing:.08em;display:block;margin-top:8px}[data-gp-theme="vow-and-vellum"] .site-header>:is(button,[role="button"]){justify-self:end;border:0;border-bottom:1px solid var(--ink);background:none;color:var(--ink);padding:10px 0;font-size:14px;display:flex;gap:20px;align-items:center}[data-gp-theme="vow-and-vellum"] .chapter-nav{display:flex;justify-content:center;gap:45px;padding:10px 30px;border-bottom:1px solid var(--line);font-size:14px}[data-gp-theme="vow-and-vellum"] .chapter-nav a{min-height:44px;display:flex;align-items:center;text-decoration:none}[data-gp-theme="vow-and-vellum"] .celebration-opening{display:grid;grid-template-columns:.73fr 1.55fr;gap:65px;padding-top:45px;padding-bottom:60px;align-items:start}[data-gp-theme="vow-and-vellum"] .slender-title{padding-top:10px}[data-gp-theme="vow-and-vellum"] .slender-title>p:first-child{font-size:13px;max-width:23ch;margin-bottom:28px}[data-gp-theme="vow-and-vellum"] .slender-title h1{max-width:7ch}[data-gp-theme="vow-and-vellum"] .slender-title>p:nth-of-type(2){font-size:17px;max-width:25ch;margin-top:30px}[data-gp-theme="vow-and-vellum"] .text-link{display:inline-flex;align-items:center;min-height:44px;margin-top:22px;text-decoration:none;border-bottom:1px solid var(--ink);font-size:15px}[data-gp-theme="vow-and-vellum"] .wide-celebration img{height:500px;width:100%;object-fit:cover;object-position:center 55%}[data-gp-theme="vow-and-vellum"] .wide-celebration figcaption{font-size:12px;margin-top:12px;line-height:1.7}[data-gp-theme="vow-and-vellum"] .stationery-note{position:relative;margin:30px 50px 0 0;display:grid;grid-template-columns:110px 1fr;gap:30px;align-items:center;padding:20px 30px;border-block:1px solid var(--line);background:var(--paper)}[data-gp-theme="vow-and-vellum"] .stationery-note>span:not(.fs-richtext){font:32px/.9 var(--display);text-align:center;border-right:1px solid var(--line);padding-right:25px}[data-gp-theme="vow-and-vellum"] .stationery-note p{font:29px/1.1 var(--display);margin-bottom:10px}[data-gp-theme="vow-and-vellum"] .stationery-note a{font-size:13px;min-height:44px;display:inline-flex;align-items:center}[data-gp-theme="vow-and-vellum"] .experience-section{background:var(--wash)}[data-gp-theme="vow-and-vellum"] .experience-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}[data-gp-theme="vow-and-vellum"] .experience-layout img{width:100%;height:640px;object-fit:cover}[data-gp-theme="vow-and-vellum"] .experience-layout figcaption{font-size:13px;margin-top:12px}[data-gp-theme="vow-and-vellum"] .experience-layout>div>p:first-child{font-size:14px;margin-bottom:25px}[data-gp-theme="vow-and-vellum"] .experience-layout h2{margin-bottom:25px}[data-gp-theme="vow-and-vellum"] .experience-layout>div>p:nth-of-type(2){font-size:18px;margin-bottom:30px}[data-gp-theme="vow-and-vellum"] .experience-notes article{display:grid;grid-template-columns:120px 1fr;gap:25px;border-top:1px solid var(--line);padding-block:20px}[data-gp-theme="vow-and-vellum"] .experience-notes h3{font-size:29px}[data-gp-theme="vow-and-vellum"] .experience-notes p{font-size:16px}[data-gp-theme="vow-and-vellum"] .section-heading{display:flex;justify-content:space-between;gap:70px;align-items:end;margin-bottom:45px}[data-gp-theme="vow-and-vellum"] .section-heading>div>p{font-size:14px;margin-bottom:25px}[data-gp-theme="vow-and-vellum"] .section-heading>p{max-width:40ch;font-size:17px}[data-gp-theme="vow-and-vellum"] .support-worktable{display:grid;grid-template-columns:1.5fr .7fr;gap:70px;align-items:center}[data-gp-theme="vow-and-vellum"] .support-stack{display:grid;gap:20px;padding-right:20px}[data-gp-theme="vow-and-vellum"] .support-stack article{background:var(--paper);border:1px solid var(--line);padding:30px;position:relative;display:grid;grid-template-columns:1fr auto;gap:25px;align-items:center;transition:transform 200ms var(--ease-out)}[data-gp-theme="vow-and-vellum"] .support-stack article:nth-child(2){margin-left:15px;margin-right:-15px}[data-gp-theme="vow-and-vellum"] .support-stack article:nth-child(3){margin-left:30px;margin-right:-30px}[data-gp-theme="vow-and-vellum"] .support-stack article.is-selected{border-color:var(--ink);box-shadow:inset 4px 0 var(--accent);transform:translateX(5px)}[data-gp-theme="vow-and-vellum"] .support-stack article span:not(.fs-richtext){font-size:13px;display:block;margin-bottom:15px;color:var(--muted)}[data-gp-theme="vow-and-vellum"] .support-stack h3{font-size:36px;margin-bottom:15px}[data-gp-theme="vow-and-vellum"] .support-stack article p{font-size:16px;max-width:40ch}[data-gp-theme="vow-and-vellum"] .support-stack :is(button,[role="button"]){background:none;color:var(--ink);border:1px solid var(--line);padding:10px 14px;max-width:130px;font-size:13px;line-height:1.5;min-height:50px}[data-gp-theme="vow-and-vellum"] .support-stack :is(button,[role="button"])[aria-pressed=true]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}[data-gp-theme="vow-and-vellum"] .support-letter{background:var(--wash);padding:35px 27px;text-align:center;border:1px solid var(--line)}[data-gp-theme="vow-and-vellum"] .support-letter>span:not(.fs-richtext){font-size:13px;display:block;padding-bottom:25px;border-bottom:1px solid var(--line);margin-bottom:30px}[data-gp-theme="vow-and-vellum"] .support-letter h3{font-size:38px;margin-bottom:25px;min-height:78px}[data-gp-theme="vow-and-vellum"] .support-letter p{font-size:16px;min-height:175px}[data-gp-theme="vow-and-vellum"] .support-letter a{font-size:14px;min-height:44px;display:flex;justify-content:center;align-items:center;margin-top:20px}[data-gp-theme="vow-and-vellum"] .support-letter img{width:55px;height:55px;margin:25px auto 0}[data-gp-theme="vow-and-vellum"] .craft-section{border-block:1px solid var(--line)}[data-gp-theme="vow-and-vellum"] .craft-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}[data-gp-theme="vow-and-vellum"] .craft-layout>div>p:first-child{font-size:14px;margin-bottom:25px}[data-gp-theme="vow-and-vellum"] .craft-layout h2{margin-bottom:25px}[data-gp-theme="vow-and-vellum"] .craft-layout>div>p:nth-of-type(2){margin-bottom:35px}[data-gp-theme="vow-and-vellum"] .craft-layout figure img{height:565px;width:100%;object-fit:cover}[data-gp-theme="vow-and-vellum"] .craft-layout figcaption{font-size:13px;margin-top:12px}[data-gp-theme="vow-and-vellum"] .craft-layout details{border-top:1px solid var(--line);padding:14px 0}[data-gp-theme="vow-and-vellum"] .craft-layout summary{font-size:17px;min-height:44px;display:flex;align-items:center;cursor:pointer}[data-gp-theme="vow-and-vellum"] .craft-layout details p{font-size:16px;margin:12px 0 15px}[data-gp-theme="vow-and-vellum"] .conversation{display:grid;grid-template-columns:1fr 1fr;gap:110px}[data-gp-theme="vow-and-vellum"] .conversation>div>p:first-child{font-size:14px;margin-bottom:25px}[data-gp-theme="vow-and-vellum"] .conversation h2{margin-bottom:25px}[data-gp-theme="vow-and-vellum"] .conversation-seal{display:flex;align-items:center;gap:25px;margin-top:45px;padding-top:25px;border-top:1px solid var(--line)}[data-gp-theme="vow-and-vellum"] .conversation-seal img{width:65px;height:65px}[data-gp-theme="vow-and-vellum"] .conversation-seal span:not(.fs-richtext){font:29px/1.1 var(--display)}[data-gp-theme="vow-and-vellum"] .conversation :is(form,[data-gp-form]){display:grid;gap:21px;padding:35px;background:var(--wash)}[data-gp-theme="vow-and-vellum"] label{display:grid;gap:8px;font-size:15px}[data-gp-theme="vow-and-vellum"] input,[data-gp-theme="vow-and-vellum"] select,[data-gp-theme="vow-and-vellum"] textarea{background:var(--paper);color:var(--ink);padding:12px;border:1px solid var(--line);border-radius:0;min-width:0;width:100%}[data-gp-theme="vow-and-vellum"] .form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}[data-gp-theme="vow-and-vellum"] .button{background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);padding:15px 20px;min-height:50px;font-size:16px;transition:transform 150ms var(--ease-out)}[data-gp-theme="vow-and-vellum"] .small{font-size:14px;line-height:1.5}[data-gp-theme="vow-and-vellum"] [data-gp-id="wedding-result"]{white-space:pre-line;overflow-wrap:anywhere;padding:20px;border-left:2px solid var(--ink);background:var(--paper);font-size:16px}[data-gp-theme="vow-and-vellum"] [data-gp-id="wedding-result"]:empty{display:none}[data-gp-theme="vow-and-vellum"] .site-footer{background:var(--accent);color:var(--on-accent);padding:65px 0 25px}[data-gp-theme="vow-and-vellum"] .closing-invitation{text-align:center;padding-bottom:60px;border-bottom:1px solid currentColor}[data-gp-theme="vow-and-vellum"] .closing-invitation p{font-size:14px;margin:auto auto 25px}[data-gp-theme="vow-and-vellum"] .closing-invitation h2{font-size:100px;line-height:.9}[data-gp-theme="vow-and-vellum"] .closing-invitation a{display:inline-flex;align-items:center;min-height:44px;margin-top:30px;font-size:16px}[data-gp-theme="vow-and-vellum"] .footer-details{display:grid;grid-template-columns:1fr 1fr 1fr;gap:50px;padding-block:40px}[data-gp-theme="vow-and-vellum"] .footer-brand{font:34px var(--display);text-decoration:none}[data-gp-theme="vow-and-vellum"] .footer-details nav{display:grid;gap:0}[data-gp-theme="vow-and-vellum"] .footer-details nav a{display:flex;min-height:44px;align-items:center;font-size:15px}[data-gp-theme="vow-and-vellum"] .footer-details p{font-size:14px}[data-gp-theme="vow-and-vellum"] .footer-bottom{border-top:1px solid currentColor;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:12px}[data-gp-theme="vow-and-vellum"] .preloader{background:var(--paper);color:var(--ink);font:44px var(--display)}[data-gp-theme="vow-and-vellum"] .preloader img{width:80px;height:80px;display:block;margin:0 auto 25px}[data-gp-theme="vow-and-vellum"] .preloader small{font:14px var(--body);display:block;margin-top:15px}[data-gp-theme="vow-and-vellum"] .mega-menu{background:var(--paper);width:min(1120px,calc(100% - 48px));margin:auto}[data-gp-theme="vow-and-vellum"] .invitation-menu{display:grid;grid-template-columns:.9fr 1.3fr;gap:30px 60px;padding:28px 40px}[data-gp-theme="vow-and-vellum"] .menu-top{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:20px;font:32px var(--display)}[data-gp-theme="vow-and-vellum"] .menu-top :is(button,[role="button"]){font:14px var(--body);border:1px solid var(--line);background:none;color:var(--ink);padding:10px 15px}[data-gp-theme="vow-and-vellum"] .menu-invitation{padding:50px 25px;border:1px solid var(--line);box-shadow:inset 0 0 0 10px var(--paper),inset 0 0 0 11px var(--line);text-align:center;display:flex;flex-direction:column;justify-content:center;min-height:430px;background:var(--wash)}[data-gp-theme="vow-and-vellum"] .menu-invitation img{width:65px;height:65px;margin:0 auto 35px}[data-gp-theme="vow-and-vellum"] .menu-invitation p{font:44px/1.03 var(--display);margin:auto}[data-gp-theme="vow-and-vellum"] .menu-invitation span:not(.fs-richtext){font-size:13px;margin-top:35px}[data-gp-theme="vow-and-vellum"] .menu-directory h2{font-size:58px;margin-bottom:25px}[data-gp-theme="vow-and-vellum"] .menu-directory nav a{display:block;text-decoration:none;font:29px/1.1 var(--display);border-bottom:1px solid var(--line);padding:15px 0}[data-gp-theme="vow-and-vellum"] .menu-directory small{display:block;font:13px/1.5 var(--body);margin-top:8px}[data-gp-theme="vow-and-vellum"] .menu-bottom{grid-column:1/-1;font-size:13px}@media(hover:hover) and (pointer:fine){[data-gp-theme="vow-and-vellum"] .button:hover{transform:translateY(-2px)}[data-gp-theme="vow-and-vellum"] .text-link:hover{opacity:.7}[data-gp-theme="vow-and-vellum"] .menu-directory a:hover{text-decoration:underline}}@media(max-width:1050px){[data-gp-theme="vow-and-vellum"] .celebration-opening{gap:35px;grid-template-columns:.8fr 1.2fr}[data-gp-theme="vow-and-vellum"] .slender-title h1{font-size:92px}[data-gp-theme="vow-and-vellum"] .wide-celebration img{height:470px}[data-gp-theme="vow-and-vellum"] .stationery-note{margin-right:0;padding:20px;gap:20px;grid-template-columns:80px 1fr}[data-gp-theme="vow-and-vellum"] .stationery-note p{font-size:25px}[data-gp-theme="vow-and-vellum"] .experience-layout,[data-gp-theme="vow-and-vellum"] .craft-layout,[data-gp-theme="vow-and-vellum"] .conversation{gap:45px}[data-gp-theme="vow-and-vellum"] .support-worktable{gap:40px}[data-gp-theme="vow-and-vellum"] .support-stack article{grid-template-columns:1fr;padding:25px;gap:20px}[data-gp-theme="vow-and-vellum"] .support-stack :is(button,[role="button"]){max-width:none;justify-self:start}[data-gp-theme="vow-and-vellum"] .support-letter p{min-height:210px}[data-gp-theme="vow-and-vellum"] .chapter-nav{gap:30px}}@containerfs-editor-canvas (max-width: 1050px){[data-gp-theme="vow-and-vellum"] .celebration-opening{gap:35px;grid-template-columns:.8fr 1.2fr}[data-gp-theme="vow-and-vellum"] .slender-title h1{font-size:92px}[data-gp-theme="vow-and-vellum"] .wide-celebration img{height:470px}[data-gp-theme="vow-and-vellum"] .stationery-note{margin-right:0;padding:20px;gap:20px;grid-template-columns:80px 1fr}[data-gp-theme="vow-and-vellum"] .stationery-note p{font-size:25px}[data-gp-theme="vow-and-vellum"] .experience-layout,[data-gp-theme="vow-and-vellum"] .craft-layout,[data-gp-theme="vow-and-vellum"] .conversation{gap:45px}[data-gp-theme="vow-and-vellum"] .support-worktable{gap:40px}[data-gp-theme="vow-and-vellum"] .support-stack article{grid-template-columns:1fr;padding:25px;gap:20px}[data-gp-theme="vow-and-vellum"] .support-stack :is(button,[role="button"]){max-width:none;justify-self:start}[data-gp-theme="vow-and-vellum"] .support-letter p{min-height:210px}[data-gp-theme="vow-and-vellum"] .chapter-nav{gap:30px}}@media(max-width:650px){[data-gp-theme="vow-and-vellum"]{font-size:17px}[data-gp-theme="vow-and-vellum"] .wrap{width:calc(100% - 36px)}[data-gp-theme="vow-and-vellum"] .site-header{padding:18px;gap:12px;grid-template-columns:32px 1fr auto}[data-gp-theme="vow-and-vellum"] .monogram img{width:32px;height:32px}[data-gp-theme="vow-and-vellum"] .masthead{font-size:29px;text-align:left;white-space:nowrap}[data-gp-theme="vow-and-vellum"] .masthead small{font-size:9px;letter-spacing:.02em}[data-gp-theme="vow-and-vellum"] .site-header>:is(button,[role="button"]){font-size:0;gap:0;width:36px;height:44px;justify-content:center;border:1px solid var(--line)}[data-gp-theme="vow-and-vellum"] .site-header>:is(button,[role="button"]) span:not(.fs-richtext){font-size:25px}[data-gp-theme="vow-and-vellum"] .site-header>:is(button,[role="button"])::after{content:"Menu";position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;font-size:14px}[data-gp-theme="vow-and-vellum"] .chapter-nav{display:none}[data-gp-theme="vow-and-vellum"] .celebration-opening{grid-template-columns:1fr;padding-top:30px;padding-bottom:45px;gap:28px}[data-gp-theme="vow-and-vellum"] .slender-title{padding:0}[data-gp-theme="vow-and-vellum"] .slender-title>p:first-child{max-width:none;font-size:12px;margin-bottom:20px}[data-gp-theme="vow-and-vellum"] .slender-title h1{font-size:77px;line-height:.91;max-width:9ch}[data-gp-theme="vow-and-vellum"] .slender-title h1 br:first-child{display:none}[data-gp-theme="vow-and-vellum"] .slender-title>p:nth-of-type(2){font-size:16px;max-width:31ch;margin-top:23px}[data-gp-theme="vow-and-vellum"] .text-link{margin-top:17px}[data-gp-theme="vow-and-vellum"] .wide-celebration img{height:330px;object-position:center 60%}[data-gp-theme="vow-and-vellum"] .stationery-note{margin:22px 0 0;grid-template-columns:65px 1fr;gap:18px;padding:18px}[data-gp-theme="vow-and-vellum"] .stationery-note>span:not(.fs-richtext){font-size:27px;padding-right:18px}[data-gp-theme="vow-and-vellum"] .stationery-note p{font-size:25px}[data-gp-theme="vow-and-vellum"] .stationery-note a{font-size:12px}[data-gp-theme="vow-and-vellum"] .section{padding-block:55px}[data-gp-theme="vow-and-vellum"] .experience-layout,[data-gp-theme="vow-and-vellum"] .craft-layout,[data-gp-theme="vow-and-vellum"] .conversation,[data-gp-theme="vow-and-vellum"] .support-worktable{grid-template-columns:1fr;gap:32px}[data-gp-theme="vow-and-vellum"] .experience-layout img{height:350px}[data-gp-theme="vow-and-vellum"] .experience-layout h2{font-size:47px}[data-gp-theme="vow-and-vellum"] .experience-layout>div>p:nth-of-type(2){font-size:17px}[data-gp-theme="vow-and-vellum"] .experience-notes article{grid-template-columns:90px 1fr;gap:18px}[data-gp-theme="vow-and-vellum"] .experience-notes h3{font-size:27px}[data-gp-theme="vow-and-vellum"] .experience-notes p{font-size:15px}[data-gp-theme="vow-and-vellum"] .section-heading{display:block;margin-bottom:30px}[data-gp-theme="vow-and-vellum"] .section-heading>p{font-size:16px;margin-top:22px}[data-gp-theme="vow-and-vellum"] .support-stack{padding-right:9px;gap:16px}[data-gp-theme="vow-and-vellum"] .support-stack article{padding:25px 20px}[data-gp-theme="vow-and-vellum"] .support-stack article:nth-child(2){margin-left:4px;margin-right:-4px}[data-gp-theme="vow-and-vellum"] .support-stack article:nth-child(3){margin-left:8px;margin-right:-8px}[data-gp-theme="vow-and-vellum"] .support-stack h3{font-size:33px}[data-gp-theme="vow-and-vellum"] .support-stack article p{font-size:16px}[data-gp-theme="vow-and-vellum"] .support-stack article.is-selected{transform:translateX(1px)}[data-gp-theme="vow-and-vellum"] .support-letter{padding:25px}[data-gp-theme="vow-and-vellum"] .support-letter>span:not(.fs-richtext){margin-bottom:20px;padding-bottom:15px}[data-gp-theme="vow-and-vellum"] .support-letter h3{min-height:0;margin-bottom:20px}[data-gp-theme="vow-and-vellum"] .support-letter p{min-height:110px}[data-gp-theme="vow-and-vellum"] .support-letter img{width:42px;height:42px;margin-top:20px}[data-gp-theme="vow-and-vellum"] .craft-layout h2{font-size:46px}[data-gp-theme="vow-and-vellum"] .craft-layout figure img{height:365px}[data-gp-theme="vow-and-vellum"] .conversation h2{font-size:49px}[data-gp-theme="vow-and-vellum"] .conversation-seal{margin-top:30px}[data-gp-theme="vow-and-vellum"] .conversation :is(form,[data-gp-form]){padding:25px 18px}[data-gp-theme="vow-and-vellum"] .form-row{grid-template-columns:1fr}[data-gp-theme="vow-and-vellum"] .closing-invitation h2{font-size:78px}[data-gp-theme="vow-and-vellum"] .closing-invitation{padding-bottom:45px}[data-gp-theme="vow-and-vellum"] .footer-details{grid-template-columns:1fr 1fr;gap:25px 20px}[data-gp-theme="vow-and-vellum"] .footer-brand{grid-column:1/-1;font-size:34px}[data-gp-theme="vow-and-vellum"] .footer-details nav a{font-size:13px}[data-gp-theme="vow-and-vellum"] .footer-details p{font-size:13px}[data-gp-theme="vow-and-vellum"] .footer-bottom{display:grid;gap:10px}[data-gp-theme="vow-and-vellum"] .mega-menu{width:calc(100% - 20px)}[data-gp-theme="vow-and-vellum"] .invitation-menu{grid-template-columns:1fr;padding:20px;gap:25px}[data-gp-theme="vow-and-vellum"] .menu-top{font-size:27px;gap:20px}[data-gp-theme="vow-and-vellum"] .menu-top :is(button,[role="button"]){font-size:12px;padding:9px}[data-gp-theme="vow-and-vellum"] .menu-invitation{display:none}[data-gp-theme="vow-and-vellum"] .menu-directory h2{font-size:46px;margin-bottom:20px}[data-gp-theme="vow-and-vellum"] .menu-directory h2 br:nth-child(2){display:none}[data-gp-theme="vow-and-vellum"] .menu-directory nav a{font-size:28px}[data-gp-theme="vow-and-vellum"] .menu-directory small{font-size:12px}}@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="vow-and-vellum"]{font-size:17px}[data-gp-theme="vow-and-vellum"] .wrap{width:calc(100% - 36px)}[data-gp-theme="vow-and-vellum"] .site-header{padding:18px;gap:12px;grid-template-columns:32px 1fr auto}[data-gp-theme="vow-and-vellum"] .monogram img{width:32px;height:32px}[data-gp-theme="vow-and-vellum"] .masthead{font-size:29px;text-align:left;white-space:nowrap}[data-gp-theme="vow-and-vellum"] .masthead small{font-size:9px;letter-spacing:.02em}[data-gp-theme="vow-and-vellum"] .site-header>:is(button,[role="button"]){font-size:0;gap:0;width:36px;height:44px;justify-content:center;border:1px solid var(--line)}[data-gp-theme="vow-and-vellum"] .site-header>:is(button,[role="button"]) span:not(.fs-richtext){font-size:25px}[data-gp-theme="vow-and-vellum"] .site-header>:is(button,[role="button"])::after{content:"Menu";position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;font-size:14px}[data-gp-theme="vow-and-vellum"] .chapter-nav{display:none}[data-gp-theme="vow-and-vellum"] .celebration-opening{grid-template-columns:1fr;padding-top:30px;padding-bottom:45px;gap:28px}[data-gp-theme="vow-and-vellum"] .slender-title{padding:0}[data-gp-theme="vow-and-vellum"] .slender-title>p:first-child{max-width:none;font-size:12px;margin-bottom:20px}[data-gp-theme="vow-and-vellum"] .slender-title h1{font-size:77px;line-height:.91;max-width:9ch}[data-gp-theme="vow-and-vellum"] .slender-title h1 br:first-child{display:none}[data-gp-theme="vow-and-vellum"] .slender-title>p:nth-of-type(2){font-size:16px;max-width:31ch;margin-top:23px}[data-gp-theme="vow-and-vellum"] .text-link{margin-top:17px}[data-gp-theme="vow-and-vellum"] .wide-celebration img{height:330px;object-position:center 60%}[data-gp-theme="vow-and-vellum"] .stationery-note{margin:22px 0 0;grid-template-columns:65px 1fr;gap:18px;padding:18px}[data-gp-theme="vow-and-vellum"] .stationery-note>span:not(.fs-richtext){font-size:27px;padding-right:18px}[data-gp-theme="vow-and-vellum"] .stationery-note p{font-size:25px}[data-gp-theme="vow-and-vellum"] .stationery-note a{font-size:12px}[data-gp-theme="vow-and-vellum"] .section{padding-block:55px}[data-gp-theme="vow-and-vellum"] .experience-layout,[data-gp-theme="vow-and-vellum"] .craft-layout,[data-gp-theme="vow-and-vellum"] .conversation,[data-gp-theme="vow-and-vellum"] .support-worktable{grid-template-columns:1fr;gap:32px}[data-gp-theme="vow-and-vellum"] .experience-layout img{height:350px}[data-gp-theme="vow-and-vellum"] .experience-layout h2{font-size:47px}[data-gp-theme="vow-and-vellum"] .experience-layout>div>p:nth-of-type(2){font-size:17px}[data-gp-theme="vow-and-vellum"] .experience-notes article{grid-template-columns:90px 1fr;gap:18px}[data-gp-theme="vow-and-vellum"] .experience-notes h3{font-size:27px}[data-gp-theme="vow-and-vellum"] .experience-notes p{font-size:15px}[data-gp-theme="vow-and-vellum"] .section-heading{display:block;margin-bottom:30px}[data-gp-theme="vow-and-vellum"] .section-heading>p{font-size:16px;margin-top:22px}[data-gp-theme="vow-and-vellum"] .support-stack{padding-right:9px;gap:16px}[data-gp-theme="vow-and-vellum"] .support-stack article{padding:25px 20px}[data-gp-theme="vow-and-vellum"] .support-stack article:nth-child(2){margin-left:4px;margin-right:-4px}[data-gp-theme="vow-and-vellum"] .support-stack article:nth-child(3){margin-left:8px;margin-right:-8px}[data-gp-theme="vow-and-vellum"] .support-stack h3{font-size:33px}[data-gp-theme="vow-and-vellum"] .support-stack article p{font-size:16px}[data-gp-theme="vow-and-vellum"] .support-stack article.is-selected{transform:translateX(1px)}[data-gp-theme="vow-and-vellum"] .support-letter{padding:25px}[data-gp-theme="vow-and-vellum"] .support-letter>span:not(.fs-richtext){margin-bottom:20px;padding-bottom:15px}[data-gp-theme="vow-and-vellum"] .support-letter h3{min-height:0;margin-bottom:20px}[data-gp-theme="vow-and-vellum"] .support-letter p{min-height:110px}[data-gp-theme="vow-and-vellum"] .support-letter img{width:42px;height:42px;margin-top:20px}[data-gp-theme="vow-and-vellum"] .craft-layout h2{font-size:46px}[data-gp-theme="vow-and-vellum"] .craft-layout figure img{height:365px}[data-gp-theme="vow-and-vellum"] .conversation h2{font-size:49px}[data-gp-theme="vow-and-vellum"] .conversation-seal{margin-top:30px}[data-gp-theme="vow-and-vellum"] .conversation :is(form,[data-gp-form]){padding:25px 18px}[data-gp-theme="vow-and-vellum"] .form-row{grid-template-columns:1fr}[data-gp-theme="vow-and-vellum"] .closing-invitation h2{font-size:78px}[data-gp-theme="vow-and-vellum"] .closing-invitation{padding-bottom:45px}[data-gp-theme="vow-and-vellum"] .footer-details{grid-template-columns:1fr 1fr;gap:25px 20px}[data-gp-theme="vow-and-vellum"] .footer-brand{grid-column:1/-1;font-size:34px}[data-gp-theme="vow-and-vellum"] .footer-details nav a{font-size:13px}[data-gp-theme="vow-and-vellum"] .footer-details p{font-size:13px}[data-gp-theme="vow-and-vellum"] .footer-bottom{display:grid;gap:10px}[data-gp-theme="vow-and-vellum"] .mega-menu{width:calc(100% - 20px)}[data-gp-theme="vow-and-vellum"] .invitation-menu{grid-template-columns:1fr;padding:20px;gap:25px}[data-gp-theme="vow-and-vellum"] .menu-top{font-size:27px;gap:20px}[data-gp-theme="vow-and-vellum"] .menu-top :is(button,[role="button"]){font-size:12px;padding:9px}[data-gp-theme="vow-and-vellum"] .menu-invitation{display:none}[data-gp-theme="vow-and-vellum"] .menu-directory h2{font-size:46px;margin-bottom:20px}[data-gp-theme="vow-and-vellum"] .menu-directory h2 br:nth-child(2){display:none}[data-gp-theme="vow-and-vellum"] .menu-directory nav a{font-size:28px}[data-gp-theme="vow-and-vellum"] .menu-directory small{font-size:12px}}@media(prefers-reduced-motion:reduce){[data-gp-theme="vow-and-vellum"] .support-stack article.is-selected{transform:none}}
[data-gp-theme="vow-and-vellum"][data-input=keyboard] .support-stack article{transition:none;transform:none}
@media(max-width:650px){[data-gp-theme="vow-and-vellum"] .masthead small{font-size:12px}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="vow-and-vellum"] .masthead small{font-size:12px}}@media(max-width:380px){[data-gp-theme="vow-and-vellum"] .masthead small{display:none}}@containerfs-editor-canvas (max-width: 380px){[data-gp-theme="vow-and-vellum"] .masthead small{display:none}}

/* Keep small stationery notes readable on tinted paper. */
[data-gp-theme="vow-and-vellum"][data-mode="light"][data-palette="1"]{--muted:#566047}
[data-gp-theme="vow-and-vellum"][data-mode="light"][data-palette="2"]{--muted:#535c6b}

/* Preview chrome and accessibility only. Theme authors own the visual worlds. */
[data-gp-theme="vow-and-vellum"][data-premium]{color-scheme:light;background:var(--paper);color:var(--ink);accent-color:var(--accent);scrollbar-color:var(--accent) var(--wash)}
[data-gp-theme="vow-and-vellum"][data-premium][data-mode=dark]{color-scheme:dark}
[data-gp-theme="vow-and-vellum"][data-premium] ::selection{background:var(--accent);color:var(--on-accent)}
[data-gp-theme="vow-and-vellum"][data-premium] :is(input,textarea){caret-color:var(--accent)}
[data-gp-theme="vow-and-vellum"][data-premium] :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--accent);outline-offset:4px}
[data-gp-theme="vow-and-vellum"][data-premium] :is(input,select,textarea){max-width:100%}
[data-gp-theme="vow-and-vellum"][data-premium] :is(input,textarea)::placeholder{color:var(--muted);opacity:1}
[data-gp-theme="vow-and-vellum"][data-premium] .preview-bar{display:flex;flex-wrap:wrap;justify-content:flex-start;background:#f5f5f0;color:#242d2c;border-color:#cbd0c8;gap:8px 14px;position:relative;font:13px/1.3 "Figtree",sans-serif;min-height:52px;padding:6px 3vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="vow-and-vellum"][data-premium] .preview-bar{padding:6px 3cqw}}
[data-gp-theme="vow-and-vellum"][data-premium] .preview-bar>a{font-weight:600;min-height:40px;display:flex;align-items:center}
[data-gp-theme="vow-and-vellum"][data-premium] .preview-bar [role=group]{margin-left:auto;display:flex;gap:2px}
[data-gp-theme="vow-and-vellum"][data-premium] .preview-bar :is(button,select){font:13px/1.3 "Figtree",sans-serif;min-height:40px;max-width:100%;border-radius:3px}
[data-gp-theme="vow-and-vellum"][data-premium] .preview-bar select{background:#fff;color:#242d2c;border:1px solid #a2ada4;padding:7px 24px 7px 9px}
[data-gp-theme="vow-and-vellum"][data-premium] .preview-bar [aria-pressed=true]{background:#242d2c;color:#fff}
[data-gp-theme="vow-and-vellum"][data-premium] .preview-bar .preview-label{font:12px/1.3 "Figtree",sans-serif;color:#48554f}
[data-gp-theme="vow-and-vellum"][data-premium] .preview-bar :focus-visible{outline-color:#254fbb}
[data-gp-theme="vow-and-vellum"][data-premium] .preview-bar [data-replay-intro]{font-size:12px;margin:0}
[data-gp-theme="vow-and-vellum"][data-premium] .preview-bar [data-replay-intro]::after{content:none}
[data-gp-theme="vow-and-vellum"][data-premium] .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
[data-gp-theme="vow-and-vellum"][data-premium] .premium-action{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 22px;background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);text-decoration:none;font-weight:600;transition:transform 150ms var(--ease-out),background-color 150ms var(--ease-out)}
[data-gp-theme="vow-and-vellum"][data-premium] .premium-action:active{transform:translateY(1px)}
[data-gp-theme="vow-and-vellum"][data-premium] .premium-action:disabled{opacity:.6;cursor:not-allowed}
[data-gp-theme="vow-and-vellum"][data-premium] :is(h1,h2,h3){text-wrap:balance}
[data-gp-theme="vow-and-vellum"][data-premium] p{text-wrap:pretty}
/* Put down the opaque menu surface immediately, then introduce its content. */
[data-gp-theme="vow-and-vellum"][data-premium] .mega-menu[open]:not([data-closing]){animation:none}
[data-gp-theme="vow-and-vellum"][data-premium] .mega-menu[open]:not([data-closing])>:not(:first-child){animation:gp-vowvellum-premium-menu-content 160ms var(--ease-out)}
[data-gp-theme="vow-and-vellum"][data-premium] .mega-menu[data-keyboard]>:not(:first-child){animation:none!important}
[data-gp-theme="vow-and-vellum"][data-premium][data-input=keyboard] :is(button,[role="button"]):active{transform:none}
@keyframes gp-vowvellum-premium-menu-content{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:650px){
 [data-gp-theme="vow-and-vellum"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="vow-and-vellum"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="vow-and-vellum"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="vow-and-vellum"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="vow-and-vellum"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="vow-and-vellum"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="vow-and-vellum"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="vow-and-vellum"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@containerfs-editor-canvas (max-width: 650px){
 [data-gp-theme="vow-and-vellum"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="vow-and-vellum"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="vow-and-vellum"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="vow-and-vellum"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="vow-and-vellum"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="vow-and-vellum"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="vow-and-vellum"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="vow-and-vellum"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@media(prefers-reduced-motion:reduce){[data-gp-theme="vow-and-vellum"][data-premium] .premium-action{transition:none;transform:none}}

/* Website page primitives and actual layout modes. Authored theme CSS owns identity. */
[data-gp-theme="vow-and-vellum"][data-framed=true] .preview-bar,[data-gp-theme="vow-and-vellum"][data-framed=true] .site-open-preview{display:none!important}
[data-gp-theme="vow-and-vellum"][data-site]{--ip-paper:var(--paper,#f4f2eb);--ip-ink:var(--ink,#192f2c);--ip-wash:var(--wash,var(--paper,#e6e9df));--ip-accent:var(--accent,var(--rust,#315b50));--ip-on:var(--on-accent,var(--paper,#fff));--ip-muted:var(--muted,var(--ink,#45534d));--ip-line:var(--line,var(--rule,#a1aca5))}
[data-gp-theme="vow-and-vellum"][data-inside]{background:var(--ip-paper);color:var(--ip-ink);font:18px/1.65 var(--body,"Figtree",sans-serif)}
[data-gp-theme="vow-and-vellum"] .inside-page :is(h1,h2,h3){font-family:var(--display,inherit);color:inherit;letter-spacing:-.035em;line-height:1.1;font-weight:500;max-width:22ch}
[data-gp-theme="vow-and-vellum"] .inside-page h1{font-size:clamp(42px,5.3vw,80px);margin:0 0 26px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="vow-and-vellum"] .inside-page h1{font-size:clamp(42px,5.3cqw,80px)}}[data-gp-theme="vow-and-vellum"] .inside-page h2{font-size:clamp(30px,3vw,49px);margin:0 0 24px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="vow-and-vellum"] .inside-page h2{font-size:clamp(30px,3cqw,49px)}}[data-gp-theme="vow-and-vellum"] .inside-page h3{font-size:25px;margin:0 0 15px}
[data-gp-theme="vow-and-vellum"] .inside-page :is(p,li){max-width:72ch}[data-gp-theme="vow-and-vellum"] .inside-page p{margin:0 0 20px}[data-gp-theme="vow-and-vellum"] .inside-page a{color:inherit}[data-gp-theme="vow-and-vellum"] .inside-page img{max-width:100%;width:100%;height:100%;object-fit:cover}[data-gp-theme="vow-and-vellum"] .inside-page figure{margin:0}[data-gp-theme="vow-and-vellum"] .inside-page :is(button,[role="button"]){color:inherit}
[data-gp-theme="vow-and-vellum"] .ip-hero,[data-gp-theme="vow-and-vellum"] .ip-section{width:min(1320px,calc(100% - 96px));margin-inline:auto;padding-block:70px}[data-gp-theme="vow-and-vellum"] .ip-hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:65px}[data-gp-theme="vow-and-vellum"] .ip-opening{min-width:0}[data-gp-theme="vow-and-vellum"] .ip-hero:has(>.ip-opening:only-child){grid-template-columns:1fr}[data-gp-theme="vow-and-vellum"] .ip-art{height:430px;position:relative}[data-gp-theme="vow-and-vellum"] .ip-art img{object-fit:cover}[data-gp-theme="vow-and-vellum"] .ip-art figcaption,[data-gp-theme="vow-and-vellum"] .ip-caption{font-size:14px;line-height:1.5;color:var(--ip-muted);padding-top:10px}[data-gp-theme="vow-and-vellum"] .ip-section>.ip-caption{margin-bottom:20px}[data-gp-theme="vow-and-vellum"] .ip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}[data-gp-theme="vow-and-vellum"] .ip-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px}[data-gp-theme="vow-and-vellum"] .ip-card{min-width:0;border-top:1px solid var(--ip-line);padding:25px 0}[data-gp-theme="vow-and-vellum"] .ip-card figure{height:230px;margin-bottom:25px}[data-gp-theme="vow-and-vellum"] .ip-reading{width:min(76ch,calc(100% - 48px));margin-inline:auto;padding-block:55px}[data-gp-theme="vow-and-vellum"] .ip-reading h2{margin-top:40px}[data-gp-theme="vow-and-vellum"] .ip-ledger{margin:24px 0}[data-gp-theme="vow-and-vellum"] .ip-ledger>div{display:grid;grid-template-columns:1fr 1.4fr;gap:20px;border-top:1px solid var(--ip-line);padding:15px 0}[data-gp-theme="vow-and-vellum"] .ip-ledger dt{font-weight:600}[data-gp-theme="vow-and-vellum"] .ip-ledger dd{margin:0}[data-gp-theme="vow-and-vellum"] .ip-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border:1px solid var(--ip-accent);background:var(--ip-accent);color:var(--ip-on)!important;text-decoration:none;font-size:16px;transition:transform 150ms var(--ease-out)}[data-gp-theme="vow-and-vellum"] .ip-action.secondary{background:transparent;color:var(--ip-ink)!important;border-color:var(--ip-line)}[data-gp-theme="vow-and-vellum"] .ip-band{padding:55px max(24px,calc((100% - 1320px)/2));background:var(--ip-wash);color:var(--ip-ink)}[data-gp-theme="vow-and-vellum"] .ip-band p{max-width:65ch}[data-gp-theme="vow-and-vellum"] .ip-note{font-size:15px;border-left:3px solid var(--ip-accent);padding:12px 18px;background:var(--ip-wash);color:var(--ip-ink);margin-block:20px}[data-gp-theme="vow-and-vellum"] .ip-form{display:grid;gap:22px}[data-gp-theme="vow-and-vellum"] .ip-form label{display:grid;gap:8px;font-size:16px}[data-gp-theme="vow-and-vellum"] .ip-form :is(input,textarea,select){width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid var(--ip-line);background:var(--ip-paper);color:var(--ip-ink);font:inherit;border-radius:0}[data-gp-theme="vow-and-vellum"] .ip-form :is(input,textarea)::placeholder{color:var(--ip-muted);opacity:1}[data-gp-theme="vow-and-vellum"] .ip-field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}[data-gp-theme="vow-and-vellum"] .ip-form :is(button,[role="button"]){justify-self:start}[data-gp-theme="vow-and-vellum"] .ip-form textarea{min-height:135px}[data-gp-theme="vow-and-vellum"] .inside-page output[data-draft-output]{display:block;white-space:pre-wrap;padding:25px;background:var(--ip-wash);color:var(--ip-ink);border:1px solid var(--ip-line);overflow-wrap:anywhere}[data-gp-theme="vow-and-vellum"] .ip-checks{display:grid;gap:12px}[data-gp-theme="vow-and-vellum"] .ip-checks label{display:flex;align-items:start;gap:14px;border-top:1px solid var(--ip-line);padding:16px 0;min-height:52px}[data-gp-theme="vow-and-vellum"] .ip-checks input{width:22px;height:22px;min-height:22px;flex-shrink:0;margin-top:4px;accent-color:var(--ip-accent)}[data-gp-theme="vow-and-vellum"] .inside-page details{border-top:1px solid var(--ip-line);padding:18px 0}[data-gp-theme="vow-and-vellum"] .inside-page summary{min-height:44px;font-size:21px;cursor:pointer}[data-gp-theme="vow-and-vellum"] .inside-page details p{padding:16px 0 0}[data-gp-theme="vow-and-vellum"] .inside-page [data-filter-group]>[role=group]{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}[data-gp-theme="vow-and-vellum"] .inside-page [data-filter]{padding:10px 18px;min-height:44px;background:transparent;color:var(--ip-ink);border:1px solid var(--ip-line)}[data-gp-theme="vow-and-vellum"] .inside-page [data-filter][aria-pressed=true]{background:var(--ip-accent);color:var(--ip-on)}[data-gp-theme="vow-and-vellum"] .site-directory{padding:30px!important;background:var(--ip-paper)!important;color:var(--ip-ink)!important;border-top:1px solid var(--ip-line)}[data-gp-theme="vow-and-vellum"] .site-directory h3{font:600 17px/1.4 var(--body,"Figtree",sans-serif);margin:0 0 16px}[data-gp-theme="vow-and-vellum"] .site-directory>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 25px}[data-gp-theme="vow-and-vellum"] .site-directory a{display:block;font:16px/1.5 var(--body,"Figtree",sans-serif)!important;min-height:44px;padding:10px 0!important;color:inherit!important;text-decoration:none}[data-gp-theme="vow-and-vellum"] .site-directory a[aria-current=page]{text-decoration:underline;font-weight:600!important}[data-gp-theme="vow-and-vellum"] .site-open-preview{display:block;padding:10px 20px;background:#eef0eb;color:#20322d;font:14px/1.4 "Figtree",sans-serif;text-align:center}
[data-gp-theme="vow-and-vellum"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){width:100%;padding-inline:max(24px,4vw)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="vow-and-vellum"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){padding-inline:max(24px,4cqw)}}
[data-gp-theme="vow-and-vellum"]:has([data-gp-theme="vow-and-vellum"][data-layout=boxed]){background:#a6afa9}[data-gp-theme="vow-and-vellum"][data-layout=boxed]{width:min(1200px,calc(100% - 64px));margin-inline:auto;box-shadow:0 0 0 1px #0002,0 20px 70px #0002;min-height:100dvh;background:var(--ip-paper)}
[data-gp-theme="vow-and-vellum"][data-layout=centered] :is(.ip-hero,.opening,.cake-opening,.gp-title,.book-opening,.poster-opening,.portal-opening,.destination-opening,.route-opening){text-align:center}
[data-gp-theme="vow-and-vellum"][data-layout=centered] .ip-hero{grid-template-columns:1fr;max-width:1000px;justify-items:center}[data-gp-theme="vow-and-vellum"][data-layout=centered] .ip-opening{display:grid;justify-items:center}[data-gp-theme="vow-and-vellum"][data-layout=centered] .ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="vow-and-vellum"][data-layout=centered] .ip-art{width:min(760px,100%)}
[data-gp-theme="vow-and-vellum"][data-layout=minimalist] :is(.ip-section,.ip-hero){padding-block:42px}[data-gp-theme="vow-and-vellum"][data-layout=minimalist] :is(.ip-card,.ip-art,.ip-note){border-radius:0;box-shadow:none;background-image:none}[data-gp-theme="vow-and-vellum"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5vw,64px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="vow-and-vellum"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5cqw,64px)}}[data-gp-theme="vow-and-vellum"][data-layout=minimalist] :is(.mullions,.glaze-rim,.cake-sticker,.paper-corner){opacity:0}[data-gp-theme="vow-and-vellum"][data-layout=minimalist] :is(.ip-art img,.opening img){border-radius:0}
[data-gp-theme="vow-and-vellum"][data-layout=edge-hero] .ip-hero{width:100%;padding-inline:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="vow-and-vellum"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4vw)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="vow-and-vellum"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4cqw)}}[data-gp-theme="vow-and-vellum"][data-layout=edge-hero] .ip-art{height:600px}[data-gp-theme="vow-and-vellum"][data-layout=edge-hero] .ip-art img{border-radius:0}[data-gp-theme="vow-and-vellum"][data-layout=edge-hero] .ip-art figcaption{padding:8px 20px}
[data-gp-theme="vow-and-vellum"][data-layout=full-width] .inside-page>.ip-opening{width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="vow-and-vellum"][data-layout=full-width] .inside-page>.ip-opening{padding-inline:4cqw}}
[data-gp-theme="vow-and-vellum"][data-layout=centered] .inside-page>.ip-opening{display:flex;flex-direction:column;align-items:center;text-align:center;width:min(1000px,calc(100% - 48px));gap:30px}[data-gp-theme="vow-and-vellum"][data-layout=centered] .inside-page>.ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="vow-and-vellum"][data-layout=centered] .inside-page>.ip-opening>figure{width:min(780px,100%)}
[data-gp-theme="vow-and-vellum"][data-layout=minimalist] .inside-page>.ip-opening{padding-block:38px}[data-gp-theme="vow-and-vellum"][data-layout=minimalist] .inside-page>.ip-opening :is(h1,figure){box-shadow:none;border-radius:0}
[data-gp-theme="vow-and-vellum"][data-layout=edge-hero] .inside-page>.ip-opening{width:100%;max-width:none;padding:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="vow-and-vellum"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="vow-and-vellum"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4cqw}}[data-gp-theme="vow-and-vellum"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:600px;max-width:none;align-self:stretch}[data-gp-theme="vow-and-vellum"][data-layout=edge-hero] .inside-page>.ip-opening>figure img{height:100%;object-fit:cover;border-radius:0}
/* Existing home compositions gain real width/spacing modes without replacing their content. */
[data-gp-theme="vow-and-vellum"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="vow-and-vellum"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){padding-inline:4cqw}}
[data-gp-theme="vow-and-vellum"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child{text-align:center}
[data-gp-theme="vow-and-vellum"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(h1,p){margin-inline:auto}[data-gp-theme="vow-and-vellum"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(.opening-copy,.elevation-copy,.cake-copy,.hero-copy){text-align:center}
[data-gp-theme="vow-and-vellum"][data-layout=minimalist]:not([data-inside]) .gp-source-main>section{padding-block:44px}[data-gp-theme="vow-and-vellum"][data-layout=minimalist]:not([data-inside]) :is(.hero-sleeve,.calendar,.hello-note,.open-book){box-shadow:none}
[data-gp-theme="vow-and-vellum"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child{width:100%;max-width:none;margin-inline:0;padding-inline:0;background:var(--ip-wash)}[data-gp-theme="vow-and-vellum"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="vow-and-vellum"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4cqw}}[data-gp-theme="vow-and-vellum"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:600px}
@media(hover:hover) and (pointer:fine){[data-gp-theme="vow-and-vellum"] .ip-action:hover{transform:translateY(-2px)}[data-gp-theme="vow-and-vellum"] .site-directory a:hover{text-decoration:underline}}
@media(max-width:850px){[data-gp-theme="vow-and-vellum"] .ip-hero,[data-gp-theme="vow-and-vellum"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="vow-and-vellum"] .ip-hero{gap:30px}[data-gp-theme="vow-and-vellum"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="vow-and-vellum"] .ip-two{gap:30px}[data-gp-theme="vow-and-vellum"] .ip-art{height:340px}}
@containerfs-editor-canvas (max-width: 850px){[data-gp-theme="vow-and-vellum"] .ip-hero,[data-gp-theme="vow-and-vellum"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="vow-and-vellum"] .ip-hero{gap:30px}[data-gp-theme="vow-and-vellum"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="vow-and-vellum"] .ip-two{gap:30px}[data-gp-theme="vow-and-vellum"] .ip-art{height:340px}}
@media(max-width:600px){[data-gp-theme="vow-and-vellum"] .ip-hero,[data-gp-theme="vow-and-vellum"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="vow-and-vellum"] .ip-hero,[data-gp-theme="vow-and-vellum"] .ip-two,[data-gp-theme="vow-and-vellum"] .ip-grid,[data-gp-theme="vow-and-vellum"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="vow-and-vellum"] .ip-art{height:300px}[data-gp-theme="vow-and-vellum"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="vow-and-vellum"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="vow-and-vellum"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="vow-and-vellum"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="vow-and-vellum"] .site-directory{padding:22px!important}[data-gp-theme="vow-and-vellum"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="vow-and-vellum"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="vow-and-vellum"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="vow-and-vellum"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="vow-and-vellum"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="vow-and-vellum"] .ip-hero,[data-gp-theme="vow-and-vellum"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="vow-and-vellum"] .ip-hero,[data-gp-theme="vow-and-vellum"] .ip-two,[data-gp-theme="vow-and-vellum"] .ip-grid,[data-gp-theme="vow-and-vellum"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="vow-and-vellum"] .ip-art{height:300px}[data-gp-theme="vow-and-vellum"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="vow-and-vellum"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="vow-and-vellum"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="vow-and-vellum"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="vow-and-vellum"] .site-directory{padding:22px!important}[data-gp-theme="vow-and-vellum"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="vow-and-vellum"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="vow-and-vellum"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="vow-and-vellum"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="vow-and-vellum"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@media(max-width:600px){[data-gp-theme="vow-and-vellum"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="vow-and-vellum"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="vow-and-vellum"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="vow-and-vellum"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="vow-and-vellum"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="vow-and-vellum"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
[data-gp-theme="vow-and-vellum"] .inside-page a[aria-disabled=true]{cursor:default;text-decoration:none}
[data-gp-theme="vow-and-vellum"][data-layout=edge-hero] .inside-page .ip-hero .ip-art{transform:none}
@media(prefers-reduced-motion:reduce){[data-gp-theme="vow-and-vellum"] .ip-action{transition:none;transform:none!important}}
/* Task actions always use an explicit contrasting pair, including themed form overrides. */
[data-gp-theme="vow-and-vellum"][data-site] .inside-page :is(.ip-form :is(button,[role="button"]):is([type="submit"],[data-gp-button-type="submit"]),[data-save-draft],.ip-action:not(.secondary)){
 background:var(--ip-ink)!important;color:var(--ip-paper)!important;border:1px solid var(--ip-ink)!important;
 min-height:48px;padding:12px 22px;font-size:16px;line-height:1.4;
}
[data-gp-theme="vow-and-vellum"][data-site] .inside-page .ip-action.secondary{background:transparent!important;color:var(--ip-ink)!important;border-color:var(--ip-line)!important}
[data-gp-theme="vow-and-vellum"][data-site] .inside-page .ip-form :is(select,select option){background-color:var(--ip-paper);color:var(--ip-ink)}
[data-gp-theme="vow-and-vellum"] .site-plan-label{display:block;font:400 14px/1.45 var(--body,sans-serif);margin-top:6px;text-decoration:none;opacity:1}
[data-gp-theme="vow-and-vellum"] a[data-preview-plan]{cursor:pointer}[data-gp-theme="vow-and-vellum"] .inside-page a[data-preview-plan]{text-decoration:none}
[data-gp-theme="vow-and-vellum"][data-site] .site-directory a[data-preview-plan]{display:flex;flex-direction:column;align-items:flex-start;gap:2px}[data-gp-theme="vow-and-vellum"] .site-directory .site-plan-label{font-size:13px;margin:0}


[data-gp-theme="vow-and-vellum"][data-inside] .ip-opening{padding-block:clamp(48px,7vw,112px)}


@container fs-editor-canvas (min-width: 0px){


[data-gp-theme="vow-and-vellum"][data-inside] .ip-opening{padding-block:clamp(48px,7cqw,112px)}}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-opening h1{max-width:15ch}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-reading p{margin-top:22px}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-section>h2{margin-bottom:28px;max-width:24ch}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-section p+p{margin-top:18px}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-steps{list-style:none;padding:0;counter-reset:ip-step}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-steps li{counter-increment:ip-step;position:relative;padding:28px 0 28px 76px;border-top:1px solid var(--line,var(--rule,currentColor));max-width:85ch}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-steps li:before{content:counter(ip-step,decimal-leading-zero);position:absolute;left:0;top:30px;font:inherit;color:var(--accent,var(--rust,currentColor))}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-steps p{margin-top:12px}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-collection{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px;margin-top:30px}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-collection h2{font-size:clamp(30px,3vw,46px);margin-top:20px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="vow-and-vellum"][data-inside] .ip-collection h2{font-size:clamp(30px,3cqw,46px)}}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-collection p,[data-gp-theme="vow-and-vellum"][data-inside] .ip-card p{margin-block:16px}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-art{overflow:hidden}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-art img{width:100%;height:100%;object-fit:cover;display:block}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-art figcaption{font:14px/1.5 var(--body,Figtree,sans-serif);padding:12px 0}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-collection .ip-art{height:260px}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-band p{margin-block:20px}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-questions details{padding:24px 0;border-top:1px solid var(--line,var(--rule,currentColor));max-width:80ch}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-questions summary{cursor:pointer;font-size:1.18em;font-weight:600}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-questions p{margin-top:18px}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-choices{display:flex;flex-wrap:wrap;gap:10px;margin-block:22px}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-choices :is(button,[role="button"]){border:1px solid var(--line,var(--rule,currentColor));background:var(--wash,var(--paper));color:var(--ink);padding:12px 18px;min-height:44px;font:inherit;cursor:pointer}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-choices :is(button,[role="button"])[aria-pressed=true]{background:var(--ink);color:var(--paper)}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:30px;max-width:960px}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-form label{display:grid;gap:9px;align-content:start}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-form label:has(textarea),[data-gp-theme="vow-and-vellum"][data-inside] .ip-form>.ip-note{grid-column:1/-1}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-form input,[data-gp-theme="vow-and-vellum"][data-inside] .ip-form select,[data-gp-theme="vow-and-vellum"][data-inside] .ip-form textarea{width:100%;max-width:100%;border:1px solid var(--line,var(--rule,currentColor));background:var(--paper);color:var(--ink);padding:12px;font:inherit;border-radius:0}
[data-gp-theme="vow-and-vellum"][data-inside] [data-draft-output]{display:block;white-space:pre-wrap;padding:24px;border:1px solid var(--line,var(--rule,currentColor));margin-block:24px;max-width:960px;overflow-wrap:anywhere}
[data-gp-theme="vow-and-vellum"][data-inside] [hidden]{display:none!important}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-checks{display:grid;gap:14px;max-width:850px;margin-block:22px}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-checks label{display:flex;align-items:flex-start;gap:15px;padding:14px;border-bottom:1px solid var(--line,var(--rule,currentColor));cursor:pointer}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-checks input{flex:none;margin-top:6px;accent-color:var(--accent,var(--rust));width:20px;height:20px}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-ledger>div{padding:19px 0;border-bottom:1px solid var(--line,var(--rule,currentColor));display:grid;grid-template-columns:180px 1fr;gap:24px}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-ledger dt{font-weight:600}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-ledger dd{margin:0;max-width:66ch}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-caption{font-size:14px;color:var(--muted,var(--ink))}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-note{font-size:15px}
[data-gp-theme="vow-and-vellum"][data-inside] :is(button,a,summary,input,textarea,select):focus-visible{outline:3px solid var(--accent,var(--rust,currentColor));outline-offset:4px}
@media(max-width:700px){[data-gp-theme="vow-and-vellum"][data-inside] .ip-collection,[data-gp-theme="vow-and-vellum"][data-inside] .ip-form{grid-template-columns:1fr}[data-gp-theme="vow-and-vellum"][data-inside] .ip-ledger>div{grid-template-columns:1fr;gap:7px}[data-gp-theme="vow-and-vellum"][data-inside] .ip-steps li{padding-left:48px}[data-gp-theme="vow-and-vellum"][data-inside] .ip-collection .ip-art{height:250px}}
@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="vow-and-vellum"][data-inside] .ip-collection,[data-gp-theme="vow-and-vellum"][data-inside] .ip-form{grid-template-columns:1fr}[data-gp-theme="vow-and-vellum"][data-inside] .ip-ledger>div{grid-template-columns:1fr;gap:7px}[data-gp-theme="vow-and-vellum"][data-inside] .ip-steps li{padding-left:48px}[data-gp-theme="vow-and-vellum"][data-inside] .ip-collection .ip-art{height:250px}}
@media(prefers-reduced-motion:no-preference){[data-gp-theme="vow-and-vellum"][data-inside] .ip-choices :is(button,[role="button"]),[data-gp-theme="vow-and-vellum"][data-inside] .ip-action{transition:transform 150ms ease,opacity 150ms ease}[data-gp-theme="vow-and-vellum"][data-inside] .ip-choices :is(button,[role="button"]):active,[data-gp-theme="vow-and-vellum"][data-inside] .ip-action:active{transform:translateY(2px)}}


[data-gp-theme="vow-and-vellum"][data-inside] .ip-celebration-opening{grid-template-columns:.85fr 1.15fr;align-items:center}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-celebration-opening h1{font-size:clamp(56px,6vw,94px);max-width:11ch}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="vow-and-vellum"][data-inside] .ip-celebration-opening h1{font-size:clamp(56px,6cqw,94px)}}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-celebration-opening .ip-art{height:590px}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-story-index{display:flex;flex-wrap:wrap;gap:24px;border-block:1px solid var(--line);padding-block:25px}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-vow-story{display:grid;grid-template-columns:1fr .8fr;gap:55px;align-items:center}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-vow-story .ip-art{height:500px}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-vow-story p{margin-bottom:24px}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-section:has(.ip-vow-story):nth-of-type(even) .ip-vow-story{grid-template-columns:.8fr 1fr}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-section:has(.ip-vow-story):nth-of-type(even) .ip-vow-story .ip-art{order:2}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-workbook{background:var(--wash);padding:clamp(24px,4vw,60px);border:1px solid var(--line);position:relative}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="vow-and-vellum"][data-inside] .ip-workbook{padding:clamp(24px,4cqw,60px)}}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-workbook:before{content:"V & V";display:block;font:450 46px "Cormorant Garamond",serif;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:30px}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-questions summary{font-family:"Cormorant Garamond",serif;font-size:30px;font-weight:500}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-collection .ip-card{border-top:1px solid var(--line);padding-top:24px}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-ledger dt{font-family:"Cormorant Garamond",serif;font-size:27px}
@media(max-width:700px){[data-gp-theme="vow-and-vellum"][data-inside] .ip-celebration-opening,[data-gp-theme="vow-and-vellum"][data-inside] .ip-vow-story,[data-gp-theme="vow-and-vellum"][data-inside] .ip-section:has(.ip-vow-story):nth-of-type(even) .ip-vow-story{grid-template-columns:1fr}[data-gp-theme="vow-and-vellum"][data-inside] .ip-section:has(.ip-vow-story):nth-of-type(even) .ip-vow-story .ip-art{order:0}[data-gp-theme="vow-and-vellum"][data-inside] .ip-celebration-opening .ip-art,[data-gp-theme="vow-and-vellum"][data-inside] .ip-vow-story .ip-art{height:380px}}
@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="vow-and-vellum"][data-inside] .ip-celebration-opening,[data-gp-theme="vow-and-vellum"][data-inside] .ip-vow-story,[data-gp-theme="vow-and-vellum"][data-inside] .ip-section:has(.ip-vow-story):nth-of-type(even) .ip-vow-story{grid-template-columns:1fr}[data-gp-theme="vow-and-vellum"][data-inside] .ip-section:has(.ip-vow-story):nth-of-type(even) .ip-vow-story .ip-art{order:0}[data-gp-theme="vow-and-vellum"][data-inside] .ip-celebration-opening .ip-art,[data-gp-theme="vow-and-vellum"][data-inside] .ip-vow-story .ip-art{height:380px}}


[data-gp-theme="vow-and-vellum"][data-inside] .ip-art{display:grid;grid-template-rows:minmax(0,1fr) auto}
[data-gp-theme="vow-and-vellum"][data-inside] .ip-art img{min-height:0}

/* Owner selected alternative on 18 October 2026. Main heading roles only. */
[data-gp-theme="vow-and-vellum"][data-gp-kind="section"] h1{font-family:"Newsreader", serif!important;font-weight:500!important;letter-spacing:-0.01em!important;line-height:1.12!important;font-variation-settings:normal!important;font-optical-sizing:auto!important}
[data-gp-theme="vow-and-vellum"][data-gp-kind="section"] h2{font-family:"DM Sans", sans-serif!important;font-weight:600!important;letter-spacing:-.01em!important;line-height:1.17!important;font-variation-settings:normal!important;font-optical-sizing:auto!important}
[data-gp-theme="vow-and-vellum"][data-gp-kind="section"] h3{font-family:"DM Sans", sans-serif!important;font-weight:600!important;letter-spacing:0!important;line-height:1.25!important;font-variation-settings:normal!important}
[data-gp-theme="vow-and-vellum"][data-inside][data-gp-kind="section"] h1{font-family:"DM Sans", sans-serif!important;line-height:1.14!important;letter-spacing:-.012em!important;font-weight:600!important;text-transform:none!important}
@media(max-width:650px){[data-gp-theme="vow-and-vellum"][data-gp-kind="section"] h1{line-height:1.12!important;letter-spacing:-0.01em!important}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="vow-and-vellum"][data-gp-kind="section"] h1{line-height:1.12!important;letter-spacing:-0.01em!important}}

/* Local authored experience. Inherits selected type and all six palette/mode combinations. */
[data-gp-theme="vow-and-vellum"] .ux-lab{max-width:1340px;margin:64px auto;padding:36px clamp(20px,4vw,56px);color:var(--ink);background:var(--paper);border-block:1px solid var(--line);font-family:var(--body);overflow-wrap:anywhere;box-sizing:border-box}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="vow-and-vellum"] .ux-lab{padding:36px clamp(20px,4cqw,56px)}}
[data-gp-theme="vow-and-vellum"] .ux-lab *{box-sizing:border-box}[data-gp-theme="vow-and-vellum"] .ux-lab h2{font-size:clamp(30px,3.2vw,48px);line-height:1.12;margin:0 0 14px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="vow-and-vellum"] .ux-lab h2{font-size:clamp(30px,3.2cqw,48px)}}[data-gp-theme="vow-and-vellum"] .ux-lab h3{font-size:24px;line-height:1.25;margin:0 0 10px}[data-gp-theme="vow-and-vellum"] .ux-lab p{font-size:17px;line-height:1.6;max-width:64ch;margin:0 0 14px}[data-gp-theme="vow-and-vellum"] .ux-lab .ux-intro{max-width:760px;margin-bottom:28px}[data-gp-theme="vow-and-vellum"] .ux-lab .ux-sample{font-size:14px;color:var(--muted);margin-block:16px}[data-gp-theme="vow-and-vellum"] .ux-lab .ux-spread{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(240px,.85fr);gap:28px;align-items:start}[data-gp-theme="vow-and-vellum"] .ux-lab .ux-art{margin:0;background:var(--wash);position:relative;overflow:hidden;min-width:0}[data-gp-theme="vow-and-vellum"] .ux-lab .ux-art svg{display:block;width:100%;height:auto;aspect-ratio:700/520;fill:none;stroke:none;stroke-width:1;color:var(--ink)}[data-gp-theme="vow-and-vellum"] .ux-lab figcaption{display:block;padding:12px 16px;font-size:14px;color:var(--muted);background:var(--paper);border-bottom:1px solid var(--line)}[data-gp-theme="vow-and-vellum"] .ux-lab fieldset{border:0;padding:0;margin:0 0 22px;min-width:0}[data-gp-theme="vow-and-vellum"] .ux-lab legend{font-size:16px;font-weight:600;margin-bottom:8px}[data-gp-theme="vow-and-vellum"] .ux-lab .ux-choices{display:flex;flex-wrap:wrap;gap:8px}[data-gp-theme="vow-and-vellum"] .ux-lab :is(button,[role="button"]),[data-gp-theme="vow-and-vellum"] .ux-lab .ux-link{font:500 15px/1.35 var(--body);border:1px solid var(--line);padding:11px 15px;min-height:44px;min-width:44px;color:var(--ink);background:var(--paper);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px}[data-gp-theme="vow-and-vellum"] .ux-lab :is(button,[role="button"])[aria-pressed=true]{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}[data-gp-theme="vow-and-vellum"] .ux-lab :is(button,[role="button"]):focus-visible,[data-gp-theme="vow-and-vellum"] .ux-lab a:focus-visible,[data-gp-theme="vow-and-vellum"] .ux-lab textarea:focus-visible,[data-gp-theme="vow-and-vellum"] .ux-lab input:focus-visible{outline:3px solid var(--accent);outline-offset:4px}[data-gp-theme="vow-and-vellum"] .ux-lab .ux-link{color:var(--on-accent);background:var(--accent);border-color:var(--accent);margin-top:16px}[data-gp-theme="vow-and-vellum"] .ux-lab .ux-summary{display:block;font-size:17px;line-height:1.55;min-height:3.2em;margin:18px 0;padding:16px 0;border-block:1px solid var(--line)}[data-gp-theme="vow-and-vellum"] .ux-lab .ux-detail{margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}[data-gp-theme="vow-and-vellum"] .ux-lab .ux-detail svg{width:100%;height:auto;aspect-ratio:260/120;display:block;stroke:none;fill:none}[data-gp-theme="vow-and-vellum"] .ux-lab label{font-size:16px;display:block}[data-gp-theme="vow-and-vellum"] .ux-lab textarea{display:block;width:100%;font:17px/1.6 var(--body);padding:14px;background:var(--paper);color:var(--ink);border:1px solid var(--line);margin:8px 0 14px;resize:vertical}[data-gp-theme="vow-and-vellum"] .ux-lab .ux-note-result{display:block;white-space:pre-wrap;margin:16px 0;font-size:16px}[data-gp-theme="vow-and-vellum"] .ux-lab [hidden]{display:none!important}[data-gp-theme="vow-and-vellum"] .ux-lab .ux-carry{border-left:4px solid var(--accent);padding-left:22px}[data-gp-theme="vow-and-vellum"] .ux-lab .ux-carry ul{padding-left:20px}[data-gp-theme="vow-and-vellum"] .ux-lab .ux-carry li{margin:6px 0}[data-gp-theme="vow-and-vellum"] .ux-lab .ux-clear{font-size:14px;min-height:44px}
[data-gp-theme="vow-and-vellum"] .ux-lab .ux-visual{position:relative;isolation:isolate}[data-gp-theme="vow-and-vellum"] .ux-lab .ux-visual [data-scene-snapshot]{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
@media(hover:hover) and (pointer:fine){[data-gp-theme="vow-and-vellum"] .ux-lab :is(button,[role="button"]):hover{border-color:var(--accent)}[data-gp-theme="vow-and-vellum"] .ux-lab .ux-link:hover{opacity:.88}}
@media(max-width:700px){[data-gp-theme="vow-and-vellum"] .ux-lab{margin:32px 16px;padding:24px 0}[data-gp-theme="vow-and-vellum"] .ux-lab .ux-spread{grid-template-columns:minmax(0,1fr);gap:24px}[data-gp-theme="vow-and-vellum"] .ux-lab .ux-intro{margin-bottom:20px}[data-gp-theme="vow-and-vellum"] .ux-lab .ux-art svg{min-height:240px}[data-gp-theme="vow-and-vellum"] .ux-lab h2{font-size:32px}[data-gp-theme="vow-and-vellum"] .ux-lab p{font-size:16px}[data-gp-theme="vow-and-vellum"] .ux-lab .ux-choices{gap:7px}[data-gp-theme="vow-and-vellum"] .ux-lab :is(button,[role="button"]){padding:10px 12px}}
@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="vow-and-vellum"] .ux-lab{margin:32px 16px;padding:24px 0}[data-gp-theme="vow-and-vellum"] .ux-lab .ux-spread{grid-template-columns:minmax(0,1fr);gap:24px}[data-gp-theme="vow-and-vellum"] .ux-lab .ux-intro{margin-bottom:20px}[data-gp-theme="vow-and-vellum"] .ux-lab .ux-art svg{min-height:240px}[data-gp-theme="vow-and-vellum"] .ux-lab h2{font-size:32px}[data-gp-theme="vow-and-vellum"] .ux-lab p{font-size:16px}[data-gp-theme="vow-and-vellum"] .ux-lab .ux-choices{gap:7px}[data-gp-theme="vow-and-vellum"] .ux-lab :is(button,[role="button"]){padding:10px 12px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="vow-and-vellum"] .ux-lab *{scroll-behavior:auto!important;transition-duration:0ms!important;animation:none!important}}
[data-gp-theme="vow-and-vellum"] .ux-celebration .ux-story-plate{background:var(--wash);padding:0 0 20px}[data-gp-theme="vow-and-vellum"] .ux-celebration .ux-story-plate svg{width:100%;height:auto;aspect-ratio:700/330;fill:none;stroke:none}[data-gp-theme="vow-and-vellum"] .ux-celebration .ux-story-plate figcaption{background:var(--wash)}[data-gp-theme="vow-and-vellum"] .ux-celebration .ux-moments{list-style:none;padding:0;margin:0;border-left:1px solid var(--line)}[data-gp-theme="vow-and-vellum"] .ux-celebration .ux-moments li{position:relative;padding:0 0 24px 24px;margin:0}[data-gp-theme="vow-and-vellum"] .ux-celebration .ux-moments li:before{content:'';position:absolute;left:-5px;top:8px;width:9px;height:9px;border-radius:50%;background:var(--accent)}[data-gp-theme="vow-and-vellum"] .ux-celebration .ux-moments h3{font-family:var(--body);font-size:19px;margin-bottom:7px}[data-gp-theme="vow-and-vellum"] .ux-celebration .ux-moments p{font-size:16px;margin-bottom:8px;min-height:3.2em}[data-gp-theme="vow-and-vellum"] .ux-celebration .ux-owner{font-size:14px;color:var(--accent);font-weight:600}[data-gp-theme="vow-and-vellum"] .ux-celebration .ux-priorities{display:flex;flex-direction:column;gap:8px}[data-gp-theme="vow-and-vellum"] .ux-celebration .ux-priorities :is(button,[role="button"]){justify-content:flex-start}[data-gp-theme="vow-and-vellum"] .ux-celebration .ux-comparison{margin:20px 0;border-block:1px solid var(--line);padding:16px 0}[data-gp-theme="vow-and-vellum"] .ux-celebration .ux-comparison p{font-size:15px}[data-gp-theme="vow-and-vellum"] .ux-celebration .ux-spread{grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr)}@media(max-width:700px){[data-gp-theme="vow-and-vellum"] .ux-celebration .ux-spread{grid-template-columns:1fr}[data-gp-theme="vow-and-vellum"] .ux-celebration .ux-moments p{min-height:0}}@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="vow-and-vellum"] .ux-celebration .ux-spread{grid-template-columns:1fr}[data-gp-theme="vow-and-vellum"] .ux-celebration .ux-moments p{min-height:0}}[data-gp-theme="vow-and-vellum"] .ux-celebration .ux-moments h3{min-height:2.5em}[data-gp-theme="vow-and-vellum"] .ux-celebration .ux-owner{display:block;min-height:3em}[data-gp-theme="vow-and-vellum"] .ux-celebration .ux-moments p{min-height:8em}
/* Approved readability refinements, 18 October 2026.
   Only meaningful helpers, local groups and selected reading paragraphs.
   Owner-selected type families, display sizes and frozen comparisons stay authoritative. */

/* Kiln House: the brief promise and sample guidance are part of the task. */
[data-gp-theme="vow-and-vellum"][data-site="kiln-house"] :is(.field-note,.form-note,.pairing-hint,.material-note,.light-note,.letter-note,.combination-copy small,.material-row small){font-size:14px;line-height:1.5}
[data-gp-theme="vow-and-vellum"][data-site="kiln-house"] .form-note{margin-top:16px}
[data-gp-theme="vow-and-vellum"][data-site="kiln-house"] :is(.quiet-button,.combination-action){font-size:15px;line-height:1.5}
[data-gp-theme="vow-and-vellum"][data-site="kiln-house"] .quiet-button{min-height:44px}
[data-gp-theme="vow-and-vellum"][data-site="kiln-house"] .directory-links a small{font-size:14px;line-height:1.5}

/* Small study labels explain a choice, rather than acting as an imprint. */
[data-gp-theme="vow-and-vellum"][data-site="true-joint"] .ux-stage-bar :is(button,[role="button"]) small{font-size:14px;line-height:1.5}
[data-gp-theme="vow-and-vellum"][data-site="neighbourhood-edit"] .ux-plan-header{font-size:14px;line-height:1.5;gap:12px;flex-wrap:wrap}
[data-gp-theme="vow-and-vellum"][data-site="neighbourhood-edit"] .ux-room-title{margin-bottom:16px}
[data-gp-theme="vow-and-vellum"][data-site="neighbourhood-edit"] .ux-room-title h3{margin-bottom:0}
[data-gp-theme="vow-and-vellum"][data-site="neighbourhood-edit"] :is(.home-finder label,.home-finder output,.area-index small){font-size:14px;line-height:1.5}
[data-gp-theme="vow-and-vellum"][data-site="neighbourhood-edit"] .home-finder select{font-size:16px;min-height:44px}
[data-gp-theme="vow-and-vellum"][data-site="harbour"] .ux-folio .ux-document-row label{font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="vow-and-vellum"][data-site="daymark-window-care"] .dm-sheet-head{font-size:14px;line-height:1.5;flex-wrap:wrap}
[data-gp-theme="vow-and-vellum"][data-site="velum-window-care"] .ux-v-nav :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}

/* Existing small controls retain or gain the comfortable target height. */
[data-gp-theme="vow-and-vellum"][data-site="stem-and-still"] .stem-slip :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:48px;gap:8px}
[data-gp-theme="vow-and-vellum"][data-site="cake-box"] .flavour-pick :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="vow-and-vellum"][data-site="cake-box"] .message-label small{font-size:14px;line-height:1.5}
[data-gp-theme="vow-and-vellum"][data-site="crm-recruitment-people"] .question-buttons{gap:10px}
[data-gp-theme="vow-and-vellum"][data-site="crm-recruitment-people"] .question-buttons :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:10px 12px}
[data-gp-theme="vow-and-vellum"][data-site="the-second-set-programme"] .pr-order-actions :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:8px 10px}

/* The format facts belong with the large ensemble names. */
[data-gp-theme="vow-and-vellum"][data-site="the-second-set-afterglow"] .ag-format-ribbon span:not(.fs-richtext){font-size:14px;line-height:1.5;margin-top:8px}
[data-gp-theme="vow-and-vellum"][data-site="the-second-set-programme"] .opening-note{font-size:14px;line-height:1.5}
[data-gp-theme="vow-and-vellum"][data-site="the-second-set-signal"] .form-note{font-size:14px;line-height:1.5}

/* Slipstream: useful record, filter and brief text; preserve the scrollable comparison. */
[data-gp-theme="vow-and-vellum"][data-site="slipstream"] :is(.featured-price small,.rail-note,.stock-finder label,.stock-caption,.inspection-note,.inspection-instruction,.form-note,[data-gp-id="stock-count"],[data-gp-id="form-question-count"]){font-size:14px;line-height:1.5}
[data-gp-theme="vow-and-vellum"][data-site="slipstream"] :is(.visit-form label,.form-pair label){font-size:15px;line-height:1.5}
[data-gp-theme="vow-and-vellum"][data-site="slipstream"] :is(.car-record summary,[data-gp-id="reset-stock"],[data-gp-id="clear-compare"],.quick-compare button){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="vow-and-vellum"][data-site="slipstream"] .stock-finder select{min-height:44px}

/* Narrow only sustained paragraphs, preserving plans, records, lists and tables. */
[data-gp-theme="vow-and-vellum"]:is([data-site="stem-and-still"],[data-site="kiln-house"],[data-site="true-joint"])[data-inside] .ip-reading>p{max-width:64ch}

@media(max-width:700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="vow-and-vellum"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="vow-and-vellum"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="vow-and-vellum"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="vow-and-vellum"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="vow-and-vellum"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="vow-and-vellum"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="vow-and-vellum"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="vow-and-vellum"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="vow-and-vellum"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

@containerfs-editor-canvas (max-width: 700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="vow-and-vellum"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="vow-and-vellum"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="vow-and-vellum"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="vow-and-vellum"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="vow-and-vellum"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="vow-and-vellum"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="vow-and-vellum"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="vow-and-vellum"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="vow-and-vellum"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

/* No generic heading, body, section-spacing or panel-height reset.
   Goodpane's unused calendar CSS, Expedition's real stage envelope,
   Starlight's passage leading and Velum's display introduction need no blanket fix. */

/* Menu-only reset. Shapes and composition are authored separately below. */
[data-gp-theme="vow-and-vellum"] dialog[data-gp-id="mega-menu"].mega-menu{--mi-paper:var(--paper);--mi-ink:var(--ink);--mi-wash:var(--wash,var(--paper));--mi-line:var(--line);--mi-accent:var(--accent,var(--ink));position:fixed;inset:auto;margin:0;padding:0;min-width:0;min-height:0;max-width:none;max-height:none;border:0;border-radius:0;background:var(--mi-paper);color:var(--mi-ink);box-shadow:0 22px 90px #0004;font:16px/1.5 var(--body,sans-serif);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:auto;transform:none}
[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"][open]{display:block;animation:none}
[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"][open]:not([data-closing])>:not(.mi-bar){animation:gp-vowvellum-mi-arrive 180ms ease-out both}
[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"][data-closing]{animation:gp-vowvellum-mi-leave 160ms ease-in both}
[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"]::backdrop{background:#0007;backdrop-filter:blur(3px)}
[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] *,[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] *::before,[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] *::after{box-sizing:border-box}
[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] :is(h2,h3,p,figure){margin:0;max-width:none}
[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] h2{font-family:var(--mi-display,var(--display,serif));font-weight:500;line-height:1.1;letter-spacing:-.025em;text-transform:none}
[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] h3{font:600 19px/1.25 var(--body,sans-serif);letter-spacing:0;text-transform:none}
[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] a{color:inherit;text-decoration:none;min-height:44px;transition:background-color 160ms,color 160ms;text-transform:none;letter-spacing:0}
[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] a:hover{text-decoration:underline;text-underline-offset:5px}
[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] a:focus-visible,[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] :is(button,[role="button"]):focus-visible{outline:2px solid currentColor;outline-offset:4px}
[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] small{font:400 13px/1.5 var(--body,sans-serif);letter-spacing:0;text-transform:none}
[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] .mi-bar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:0;padding:16px 28px;border-bottom:1px solid var(--mi-line);background:var(--mi-paper);color:var(--mi-ink);font:500 15px/1.3 var(--body,sans-serif)}
[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] .mi-bar a{display:flex;align-items:center;font:inherit;max-width:70%}
[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] [data-menu-close]{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:64px;margin:0;padding:9px 12px;border:1px solid var(--mi-line);border-radius:0;background:var(--mi-paper);color:var(--mi-ink);font:500 14px/1.3 var(--body,sans-serif);cursor:pointer;flex:none}
[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] .mi-note{font:400 12px/1.5 var(--body,sans-serif);color:var(--mi-ink)}
@keyframes gp-vowvellum-mi-arrive{from{opacity:0}to{opacity:1}}@keyframes gp-vowvellum-mi-leave{to{opacity:0}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"][open],[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"][data-closing],[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"][open]>:not(.mi-bar){animation:none}[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] a{transition:none}}

[data-gp-theme="vow-and-vellum"] dialog[data-gp-id="mega-menu"].mega-menu{--mi-display:"Newsreader",serif;inset:3vh 0 auto;margin-inline:auto;width:min(740px,94vw);max-height:94dvh;border:1px solid var(--mi-line);box-shadow:0 22px 90px #0005,0 0 0 12px var(--mi-wash)}

@container fs-editor-canvas (min-width: 0px){

[data-gp-theme="vow-and-vellum"] dialog[data-gp-id="mega-menu"].mega-menu{width:min(740px,94cqw)}}
[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] .mi-bar{border:0;padding:14px 22px;font-size:14px}[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] .mi-invitation{padding:5px 62px 27px;text-align:center;background:linear-gradient(135deg,transparent 49.6%,var(--mi-line) 49.9%,transparent 50.2%) bottom left/50% 50px no-repeat,linear-gradient(225deg,transparent 49.6%,var(--mi-line) 49.9%,transparent 50.2%) bottom right/50% 50px no-repeat}[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] .mi-envelope-stamp{font:400 35px/1 "Newsreader",serif;display:flex;gap:3px;align-items:center;justify-content:center;width:64px;height:64px;border:1px solid var(--mi-line);border-radius:50%;margin:0 auto 17px}[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] .mi-envelope-stamp span:not(.fs-richtext){font-size:19px;font-style:italic}[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] h2{font-size:45px;line-height:1.08}[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] .mi-invitation-first{display:flex;justify-content:center;gap:26px;margin:15px 0 18px}[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] .mi-invitation-first a{display:flex;align-items:center;font-size:15px}[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] .mi-enclosure{padding:21px 25px 14px;border:1px solid var(--mi-line);background:var(--mi-wash);transform:rotate(-1deg)}[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] .mi-enclosure h3{font:500 25px/1.2 "Newsreader",serif;margin-bottom:5px}[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] .mi-enclosure nav{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] .mi-enclosure a{display:flex;align-items:center;justify-content:center;padding:9px 3px;font-size:14px}[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] .mi-enclosure .mi-enclosure-intro{grid-column:1/-1;border-bottom:1px solid var(--mi-line);font-weight:600}[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] .mi-enclosure a:last-child{grid-column:1/-1;border-top:1px solid var(--mi-line)}[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] .mi-invitation-notes{display:flex;justify-content:center;gap:24px;margin:13px 0 5px}[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] .mi-invitation-notes a{display:flex;align-items:center;font-size:14px}[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] .mi-rsvp{display:inline-flex;align-items:center;justify-content:center;min-width:235px;padding:11px 25px;background:var(--mi-ink);color:var(--mi-paper);font-size:15px}[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] .mi-note{margin:14px auto 0;max-width:40ch}
@media(max-width:900px){[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] .mi-invitation{padding:20px 24px 38px}[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] h2{font-size:38px}[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] .mi-envelope-stamp{width:55px;height:55px;font-size:30px}[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] .mi-invitation-first{gap:18px;margin-block:12px}[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] .mi-enclosure{padding:20px 15px;transform:none}[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] .mi-enclosure h3{font-size:24px}[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] .mi-enclosure nav{display:block}[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] .mi-enclosure a{font-size:15px;border-bottom:1px solid var(--mi-line)}[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] .mi-enclosure a:last-child{border-top:0;border-bottom:0}[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] .mi-invitation-notes{gap:18px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] .mi-invitation{padding:20px 24px 38px}[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] h2{font-size:38px}[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] .mi-envelope-stamp{width:55px;height:55px;font-size:30px}[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] .mi-invitation-first{gap:18px;margin-block:12px}[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] .mi-enclosure{padding:20px 15px;transform:none}[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] .mi-enclosure h3{font-size:24px}[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] .mi-enclosure nav{display:block}[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] .mi-enclosure a{font-size:15px;border-bottom:1px solid var(--mi-line)}[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] .mi-enclosure a:last-child{border-top:0;border-bottom:0}[data-gp-theme="vow-and-vellum"] [data-gp-id="mega-menu"] .mi-invitation-notes{gap:18px}}

[data-gp-theme="vow-and-vellum"]{--paper:rgb(var(--c-paper));--ink:rgb(var(--c-ink-950));--accent:rgb(var(--c-brand-600));--wash:rgb(var(--c-paper-soft));--line:rgb(var(--c-line));--muted:rgb(var(--c-ink-400));--on-accent:var(--fs-on-brand);--focus:rgb(var(--c-accent));--work:var(--fs-surface-inverted,var(--wash));--work-ink:var(--fs-on-surface-inverted,var(--paper));--body:var(--font-sans);}
[data-gp-theme="nourish-practice"]{--ease-out:cubic-bezier(.23,1,.32,1);--ease-drawer:cubic-bezier(.32,.72,0,1)}
[data-gp-theme="nourish-practice"] *{box-sizing:border-box}[data-gp-theme="nourish-practice"]{scroll-behavior:smooth;scroll-padding-top:100px}[data-gp-theme="nourish-practice"]{margin:0}[data-gp-theme="nourish-practice"] img{max-width:100%;display:block}[data-gp-theme="nourish-practice"] :is(button,[role="button"]),[data-gp-theme="nourish-practice"] input,[data-gp-theme="nourish-practice"] select,[data-gp-theme="nourish-practice"] textarea{font:inherit}[data-gp-theme="nourish-practice"] :is(button,[role="button"]),[data-gp-theme="nourish-practice"] a,[data-gp-theme="nourish-practice"] input,[data-gp-theme="nourish-practice"] select,[data-gp-theme="nourish-practice"] textarea{touch-action:manipulation}[data-gp-theme="nourish-practice"] :is(button,[role="button"]),[data-gp-theme="nourish-practice"] a{ -webkit-tap-highlight-color:transparent}[data-gp-theme="nourish-practice"] :is(button,[role="button"]){cursor:pointer}[data-gp-theme="nourish-practice"] :is(button,[role="button"]):active{transform:translateY(1px)}[data-gp-theme="nourish-practice"] a{color:inherit;text-underline-offset:.22em}[data-gp-theme="nourish-practice"] :is(button,[role="button"]):focus-visible,[data-gp-theme="nourish-practice"] a:focus-visible,[data-gp-theme="nourish-practice"] summary:focus-visible,[data-gp-theme="nourish-practice"] input:focus-visible,[data-gp-theme="nourish-practice"] select:focus-visible,[data-gp-theme="nourish-practice"] textarea:focus-visible{outline:3px solid var(--focus,#346ddb);outline-offset:5px}[data-gp-theme="nourish-practice"] textarea{resize:vertical}[data-gp-theme="nourish-practice"] input,[data-gp-theme="nourish-practice"] textarea{caret-color:var(--focus,currentColor)}[data-gp-theme="nourish-practice"] :is(button,[role="button"]),[data-gp-theme="nourish-practice"] select,[data-gp-theme="nourish-practice"] input{min-height:44px}[data-gp-theme="nourish-practice"] summary{cursor:pointer}[data-gp-theme="nourish-practice"] section[id],[data-gp-theme="nourish-practice"] footer[id]{scroll-margin-top:110px}[data-gp-theme="nourish-practice"] [hidden]{display:none!important}[data-gp-theme="nourish-practice"] .skip-link{position:fixed;z-index:200;top:8px;left:8px;background:#fff;color:#111;padding:12px 18px;transform:translateY(-150%)}[data-gp-theme="nourish-practice"] .skip-link:focus{transform:none}
[data-gp-theme="nourish-practice"] .preview-bar{min-height:42px;background:#f6f6f2;color:#252a2a;border-bottom:1px solid #d5d8d4;font:13px/1.3 "Figtree",sans-serif;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 3vw;position:relative;z-index:30}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="nourish-practice"] .preview-bar{padding:5px 3cqw}}[data-gp-theme="nourish-practice"] .preview-bar a{white-space:nowrap}[data-gp-theme="nourish-practice"] .preview-bar [role=group]{display:flex;gap:2px;align-items:center}[data-gp-theme="nourish-practice"] .preview-bar :is(button,[role="button"]){min-height:32px;background:transparent;color:inherit;border:0;padding:6px 10px;border-radius:3px;font-size:13px;transition:background-color 150ms var(--ease-out)}[data-gp-theme="nourish-practice"] .preview-bar [aria-pressed=true]{background:#252a2a;color:#fff}[data-gp-theme="nourish-practice"] .preview-bar :is(button,[role="button"])[data-replay-intro]{border:1px solid #b6beb8}[data-gp-theme="nourish-practice"] .preview-label{color:#515953}[data-gp-theme="nourish-practice"] .preview-bar::selection{background:#252a2a;color:#fff}
[data-gp-theme="nourish-practice"] dialog.mega-menu{max-width:none;max-height:calc(100dvh - 32px);overflow:auto;border:0;padding:0;color:inherit;overscroll-behavior:contain}[data-gp-theme="nourish-practice"] dialog.mega-menu::backdrop{background:rgb(8 16 18 / .52)}[data-gp-theme="nourish-practice"] .mega-menu[open]{animation:gp-nourish-menu-arrive 220ms var(--ease-drawer)}[data-gp-theme="nourish-practice"] .mega-menu[data-closing]{animation:gp-nourish-menu-leave 160ms var(--ease-out) forwards}[data-gp-theme="nourish-practice"] .mega-menu[data-keyboard]{animation:none}[data-gp-theme="nourish-practice"] .menu-lock{overflow:hidden}@keyframes gp-nourish-menu-arrive{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}@keyframes gp-nourish-menu-leave{to{opacity:0;transform:translateY(-10px)}}
[data-gp-theme="nourish-practice"] .preloader{display:none;position:fixed;inset:0;z-index:190;place-content:center;pointer-events:none;text-align:center}[data-gp-theme="nourish-practice"] .preloader.is-active{display:grid;animation:gp-nourish-intro-failsafe 1.3s step-end forwards}[data-gp-theme="nourish-practice"] .preloader.is-leaving{opacity:0;transition:opacity 180ms var(--ease-out)}@keyframes gp-nourish-intro-failsafe{0%,99%{visibility:visible}100%{visibility:hidden}}
@media(max-width:650px){[data-gp-theme="nourish-practice"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="nourish-practice"] .preview-bar .preview-label{display:none}[data-gp-theme="nourish-practice"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="nourish-practice"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="nourish-practice"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="nourish-practice"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="nourish-practice"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="nourish-practice"] .preview-bar .preview-label{display:none}[data-gp-theme="nourish-practice"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="nourish-practice"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="nourish-practice"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="nourish-practice"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="nourish-practice"]{scroll-behavior:auto}[data-gp-theme="nourish-practice"] *,[data-gp-theme="nourish-practice"] *::before,[data-gp-theme="nourish-practice"] *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-gp-theme="nourish-practice"] .preloader.is-active{display:none!important}}
@media(max-width:650px){[data-gp-theme="nourish-practice"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="nourish-practice"] .preview-bar a{font-size:12px}[data-gp-theme="nourish-practice"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="nourish-practice"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="nourish-practice"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="nourish-practice"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="nourish-practice"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="nourish-practice"] .preview-bar a{font-size:12px}[data-gp-theme="nourish-practice"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="nourish-practice"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="nourish-practice"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="nourish-practice"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}

[data-gp-theme="nourish-practice"] *{box-sizing:border-box}[data-gp-theme="nourish-practice"]{background:var(--paper);color:var(--ink);font:18px/1.55 var(--body);--focus:var(--accent)}[data-gp-theme="nourish-practice"] h1,[data-gp-theme="nourish-practice"] h2,[data-gp-theme="nourish-practice"] h3,[data-gp-theme="nourish-practice"] p,[data-gp-theme="nourish-practice"] figure{margin:0}[data-gp-theme="nourish-practice"] h1,[data-gp-theme="nourish-practice"] h2,[data-gp-theme="nourish-practice"] h3{font-family:var(--display);font-weight:500;line-height:1.05}[data-gp-theme="nourish-practice"] h1{font-size:clamp(48px,6.4vw,96px);letter-spacing:-.035em}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="nourish-practice"] h1{font-size:clamp(48px,6.4cqw,96px)}}[data-gp-theme="nourish-practice"] h2{font-size:clamp(36px,4vw,62px);letter-spacing:-.025em}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="nourish-practice"] h2{font-size:clamp(36px,4cqw,62px)}}[data-gp-theme="nourish-practice"] h3{font-size:28px}[data-gp-theme="nourish-practice"] p{max-width:62ch}[data-gp-theme="nourish-practice"] p+p{margin-top:1em}[data-gp-theme="nourish-practice"] .wrap{width:min(1280px,calc(100% - 80px));margin:auto}[data-gp-theme="nourish-practice"] .section{padding:100px 0}[data-gp-theme="nourish-practice"] .section-head{display:flex;justify-content:space-between;gap:40px;margin-bottom:42px;align-items:end}[data-gp-theme="nourish-practice"] .section-head>p{max-width:36ch}[data-gp-theme="nourish-practice"] .kicker{font-size:15px;margin-bottom:18px;color:var(--muted)}[data-gp-theme="nourish-practice"] .small,[data-gp-theme="nourish-practice"] figcaption{font-size:14px;line-height:1.5;color:var(--muted)}[data-gp-theme="nourish-practice"] figcaption{padding:12px 0}[data-gp-theme="nourish-practice"] .site-header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0}[data-gp-theme="nourish-practice"] .brand{font:600 26px/1.15 var(--display);text-decoration:none;display:flex;align-items:center;gap:12px}[data-gp-theme="nourish-practice"] .brand svg{width:40px;height:40px;fill:none;stroke:currentColor;stroke-width:1.8}[data-gp-theme="nourish-practice"] .brand small{display:block;font:13px/1.5 var(--body);margin-top:5px}[data-gp-theme="nourish-practice"] .site-header nav{display:flex;gap:26px;font-size:16px}[data-gp-theme="nourish-practice"] .site-header nav a{text-decoration:none}[data-gp-theme="nourish-practice"] .menu-button,[data-gp-theme="nourish-practice"] .button,[data-gp-theme="nourish-practice"] :is(button,[role="button"]):is([type="submit"],[data-gp-button-type="submit"]){display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:12px 22px;min-height:48px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);text-decoration:none;font:600 16px/1.4 var(--body)}[data-gp-theme="nourish-practice"] .menu-button{background:transparent;color:var(--ink)}[data-gp-theme="nourish-practice"] .menu-button svg{width:20px;fill:none;stroke:currentColor;stroke-width:2}[data-gp-theme="nourish-practice"] .button.accent,[data-gp-theme="nourish-practice"] :is(button,[role="button"]):is([type="submit"],[data-gp-button-type="submit"]){background:var(--accent);border-color:var(--accent);color:var(--on-accent)}[data-gp-theme="nourish-practice"] .text-link{display:inline-block;margin-top:20px;font-weight:600}[data-gp-theme="nourish-practice"] .duo{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}[data-gp-theme="nourish-practice"] .duo img{width:100%;object-fit:cover}[data-gp-theme="nourish-practice"] .choice-row{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}[data-gp-theme="nourish-practice"] .choice-row :is(button,[role="button"]){padding:11px 18px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:16px}[data-gp-theme="nourish-practice"] .choice-row :is(button,[role="button"])[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}[data-gp-theme="nourish-practice"] .task-panel{background:var(--wash);padding:32px;border:1px solid var(--line)}[data-gp-theme="nourish-practice"] .task-panel h3{margin-bottom:16px}[data-gp-theme="nourish-practice"] .task-panel p{margin:12px 0}[data-gp-theme="nourish-practice"] .form{display:grid;grid-template-columns:1fr 1fr;gap:20px}[data-gp-theme="nourish-practice"] .form label{display:grid;gap:8px;font-size:16px;font-weight:600;min-width:0}[data-gp-theme="nourish-practice"] .form input,[data-gp-theme="nourish-practice"] .form select,[data-gp-theme="nourish-practice"] .form textarea{width:100%;min-width:0;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:12px;font-size:17px;font-weight:400;border-radius:0}[data-gp-theme="nourish-practice"] .form textarea{min-height:130px}[data-gp-theme="nourish-practice"] .full{grid-column:1/-1}[data-gp-theme="nourish-practice"] .result{display:block;margin-top:20px;padding:18px;border-left:3px solid var(--accent);background:var(--wash);min-height:0;font-size:17px}[data-gp-theme="nourish-practice"] .result:empty{display:none}[data-gp-theme="nourish-practice"] .band{background:var(--wash)}[data-gp-theme="nourish-practice"] details{border-top:1px solid var(--line);padding:20px 0}[data-gp-theme="nourish-practice"] summary{font-weight:600;min-height:44px}[data-gp-theme="nourish-practice"] details p{padding:12px 0}[data-gp-theme="nourish-practice"] .rule-list{list-style:none;padding:0}[data-gp-theme="nourish-practice"] .rule-list li{border-top:1px solid var(--line);padding:18px 0}[data-gp-theme="nourish-practice"] .site-footer{padding:76px 0 25px;border-top:1px solid var(--line);background:var(--wash)}[data-gp-theme="nourish-practice"] .footer-layout{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px}[data-gp-theme="nourish-practice"] .footer-layout h2{font-size:clamp(38px,4.5vw,64px);margin-bottom:24px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="nourish-practice"] .footer-layout h2{font-size:clamp(38px,4.5cqw,64px)}}[data-gp-theme="nourish-practice"] .footer-layout h3{font:600 17px var(--body);margin-bottom:18px}[data-gp-theme="nourish-practice"] .footer-layout a{display:block;margin:12px 0;font-size:16px}[data-gp-theme="nourish-practice"] .footer-bottom{display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);margin-top:50px;padding-top:22px;font-size:13px;color:var(--muted)}[data-gp-theme="nourish-practice"] dialog.mega-menu{width:min(1180px,calc(100% - 40px));background:var(--paper);color:var(--ink);margin:24px auto}[data-gp-theme="nourish-practice"] .menu-top{display:flex;justify-content:space-between;align-items:center;padding:28px 38px;border-bottom:1px solid var(--line)}[data-gp-theme="nourish-practice"] .menu-top :is(button,[role="button"]){background:transparent;color:var(--ink);border:1px solid var(--line);padding:10px 18px}[data-gp-theme="nourish-practice"] .menu-layout{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:48px}[data-gp-theme="nourish-practice"] .menu-layout h2{margin-bottom:25px}[data-gp-theme="nourish-practice"] .menu-layout nav{display:grid}[data-gp-theme="nourish-practice"] .menu-layout nav a{display:flex;justify-content:space-between;text-decoration:none;padding:16px 0;border-bottom:1px solid var(--line);font-size:23px}[data-gp-theme="nourish-practice"] .menu-layout aside{padding:30px;background:var(--wash)}[data-gp-theme="nourish-practice"] .menu-layout aside p{margin-top:22px}[data-gp-theme="nourish-practice"] .preloader{background:var(--paper);color:var(--ink)}[data-gp-theme="nourish-practice"] .intro-mark{font:44px var(--display)}[data-gp-theme="nourish-practice"] .preloader .intro-mark svg{width:70px;height:70px;display:block;margin:auto auto 20px;fill:none;stroke:currentColor;stroke-width:1.4}[data-gp-theme="nourish-practice"][data-keyboard] :is(button,[role="button"]):active{transform:none}@media(hover:hover) and (pointer:fine){[data-gp-theme="nourish-practice"] .menu-button:hover{background:var(--wash)}[data-gp-theme="nourish-practice"] .button,[data-gp-theme="nourish-practice"] .menu-button,[data-gp-theme="nourish-practice"] .choice-row :is(button,[role="button"]){transition:transform 150ms var(--ease-out),background-color 180ms var(--ease-out)}[data-gp-theme="nourish-practice"] .button:hover{transform:translateY(-2px)}[data-gp-theme="nourish-practice"] .choice-row :is(button,[role="button"]):hover{transform:translateY(-1px)}}@media(max-width:850px){[data-gp-theme="nourish-practice"] .wrap{width:calc(100% - 40px)}[data-gp-theme="nourish-practice"] .section{padding:65px 0}[data-gp-theme="nourish-practice"] .site-header nav{display:none}[data-gp-theme="nourish-practice"] .site-header{padding:20px 0}[data-gp-theme="nourish-practice"] .duo{gap:35px}[data-gp-theme="nourish-practice"] .section-head{align-items:start}[data-gp-theme="nourish-practice"] .footer-layout{gap:28px;grid-template-columns:1.5fr 1fr}}@containerfs-editor-canvas (max-width: 850px){[data-gp-theme="nourish-practice"] .wrap{width:calc(100% - 40px)}[data-gp-theme="nourish-practice"] .section{padding:65px 0}[data-gp-theme="nourish-practice"] .site-header nav{display:none}[data-gp-theme="nourish-practice"] .site-header{padding:20px 0}[data-gp-theme="nourish-practice"] .duo{gap:35px}[data-gp-theme="nourish-practice"] .section-head{align-items:start}[data-gp-theme="nourish-practice"] .footer-layout{gap:28px;grid-template-columns:1.5fr 1fr}}@media(max-width:600px){[data-gp-theme="nourish-practice"] .wrap{width:calc(100% - 32px)}[data-gp-theme="nourish-practice"]{font-size:17px}[data-gp-theme="nourish-practice"] .brand{font-size:22px}[data-gp-theme="nourish-practice"] .brand svg{width:32px;height:32px}[data-gp-theme="nourish-practice"] .menu-button{padding:10px 14px;font-size:14px}[data-gp-theme="nourish-practice"] .duo,[data-gp-theme="nourish-practice"] .footer-layout,[data-gp-theme="nourish-practice"] .menu-layout{grid-template-columns:1fr}[data-gp-theme="nourish-practice"] .section-head{display:block}[data-gp-theme="nourish-practice"] .section-head>p{margin-top:20px}[data-gp-theme="nourish-practice"] .form{grid-template-columns:1fr}[data-gp-theme="nourish-practice"] .full{grid-column:auto}[data-gp-theme="nourish-practice"] .task-panel{padding:23px}[data-gp-theme="nourish-practice"] .footer-bottom{display:block}[data-gp-theme="nourish-practice"] .footer-bottom span:not(.fs-richtext){display:block;margin:10px 0}[data-gp-theme="nourish-practice"] .menu-top{padding:20px}[data-gp-theme="nourish-practice"] .menu-layout{padding:26px;gap:25px}[data-gp-theme="nourish-practice"] .menu-layout nav a{font-size:21px}[data-gp-theme="nourish-practice"] .menu-layout aside{padding:22px}[data-gp-theme="nourish-practice"] .section{padding:55px 0}}@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="nourish-practice"] .wrap{width:calc(100% - 32px)}[data-gp-theme="nourish-practice"]{font-size:17px}[data-gp-theme="nourish-practice"] .brand{font-size:22px}[data-gp-theme="nourish-practice"] .brand svg{width:32px;height:32px}[data-gp-theme="nourish-practice"] .menu-button{padding:10px 14px;font-size:14px}[data-gp-theme="nourish-practice"] .duo,[data-gp-theme="nourish-practice"] .footer-layout,[data-gp-theme="nourish-practice"] .menu-layout{grid-template-columns:1fr}[data-gp-theme="nourish-practice"] .section-head{display:block}[data-gp-theme="nourish-practice"] .section-head>p{margin-top:20px}[data-gp-theme="nourish-practice"] .form{grid-template-columns:1fr}[data-gp-theme="nourish-practice"] .full{grid-column:auto}[data-gp-theme="nourish-practice"] .task-panel{padding:23px}[data-gp-theme="nourish-practice"] .footer-bottom{display:block}[data-gp-theme="nourish-practice"] .footer-bottom span:not(.fs-richtext){display:block;margin:10px 0}[data-gp-theme="nourish-practice"] .menu-top{padding:20px}[data-gp-theme="nourish-practice"] .menu-layout{padding:26px;gap:25px}[data-gp-theme="nourish-practice"] .menu-layout nav a{font-size:21px}[data-gp-theme="nourish-practice"] .menu-layout aside{padding:22px}[data-gp-theme="nourish-practice"] .section{padding:55px 0}}@media(prefers-reduced-motion:reduce){[data-gp-theme="nourish-practice"] :is(button,[role="button"]),[data-gp-theme="nourish-practice"] .button{transform:none!important}}


[data-gp-theme="nourish-practice"]{--paper:#fff8e8;--ink:#234b6e;--accent:#a34a2d;--wash:#f0e5ca;--line:#b8a78a;--on-accent:#fff8e8;--muted:#5b665f;--display:"Alegreya Sans",sans-serif;--body:"Source Sans 3",sans-serif}[data-gp-theme="nourish-practice"][data-palette="1"]{--paper:#f5eee2;--ink:#4e3859;--accent:#6f4b72;--wash:#e7dbe3;--line:#b5a5b7;--muted:#665c6d}[data-gp-theme="nourish-practice"][data-palette="2"]{--paper:#f6f4df;--ink:#3f523e;--accent:#5b6230;--wash:#e6e5c9;--line:#a5ad87;--muted:#5a6452}[data-gp-theme="nourish-practice"][data-mode="dark"]{--paper:#182b3a;--ink:#f8edda;--accent:#e5a47d;--on-accent:#322316;--wash:#233e50;--line:#6d8390;--muted:#ccd3d0}[data-gp-theme="nourish-practice"][data-mode="dark"][data-palette="1"]{--paper:#2f2535;--wash:#45364b;--ink:#f4e9e7;--accent:#dcacd7;--line:#9b829f}[data-gp-theme="nourish-practice"][data-mode="dark"][data-palette="2"]{--paper:#252f22;--wash:#35422e;--ink:#f4efd9;--accent:#d0cf91;--line:#8b987a}[data-gp-theme="nourish-practice"] .brand{font-family:var(--display);font-size:29px}[data-gp-theme="nourish-practice"] .brand small{font-size:12px}[data-gp-theme="nourish-practice"] .kitchen-opening{display:grid;grid-template-columns:1.05fr 1.2fr .9fr;gap:25px;padding:32px 0 55px;align-items:start}[data-gp-theme="nourish-practice"] .kitchen-head{padding-top:45px;position:relative;z-index:2}[data-gp-theme="nourish-practice"] .kitchen-head h1{font-size:clamp(64px,7vw,108px);line-height:.88;margin-bottom:35px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="nourish-practice"] .kitchen-head h1{font-size:clamp(64px,7cqw,108px)}}[data-gp-theme="nourish-practice"] .kitchen-head>p:last-child{max-width:24ch;font-size:21px}[data-gp-theme="nourish-practice"] .meal-figure{align-self:end;margin-left:-95px;margin-right:-10px;padding-top:80px}[data-gp-theme="nourish-practice"] .meal-art{width:100%;aspect-ratio:.92;object-fit:cover;border-radius:48% 48% 8% 8%}[data-gp-theme="nourish-practice"] .meal-figure figcaption{padding-left:28px}[data-gp-theme="nourish-practice"] .starting-slip{background:var(--wash);padding:28px 25px;transform:rotate(1.1deg);box-shadow:4px 7px 0 color-mix(in srgb,var(--ink) 10%,transparent);margin-top:25px}[data-gp-theme="nourish-practice"] .slip-label{font-size:14px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:24px}[data-gp-theme="nourish-practice"] .starting-slip h2{font-size:42px}[data-gp-theme="nourish-practice"] .concerns{margin:23px 0}[data-gp-theme="nourish-practice"] .concerns :is(button,[role="button"]){display:flex;justify-content:space-between;gap:16px;width:100%;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;padding:13px 0;font-size:16px}[data-gp-theme="nourish-practice"] .concerns :is(button,[role="button"])[aria-pressed=true]{font-weight:700;color:var(--accent)}[data-gp-theme="nourish-practice"] [data-gp-id="concern-copy"]{min-height:185px;border-top:1px solid var(--line);padding-top:20px}[data-gp-theme="nourish-practice"] [data-gp-id="concern-copy"] h3{font-size:24px}[data-gp-theme="nourish-practice"] [data-gp-id="concern-copy"] p{font-size:17px;margin-top:12px}[data-gp-theme="nourish-practice"] .starting-slip .text-link{font-size:15px}[data-gp-theme="nourish-practice"] .routine-heading{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}[data-gp-theme="nourish-practice"] .table-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:60px}[data-gp-theme="nourish-practice"] .table-notes article{border-top:1px solid var(--line);padding-top:24px}[data-gp-theme="nourish-practice"] .table-icon{display:block;font:52px var(--display);color:var(--accent);margin-bottom:20px}[data-gp-theme="nourish-practice"] .table-notes h3{margin-bottom:18px}[data-gp-theme="nourish-practice"] .first-band{background:var(--ink);color:var(--paper)}[data-gp-theme="nourish-practice"] .first-band .kicker{color:var(--paper)}[data-gp-theme="nourish-practice"] .first-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:100px}[data-gp-theme="nourish-practice"] .first-layout h2{margin-bottom:25px}[data-gp-theme="nourish-practice"] .first-layout .button{margin-top:30px;background:var(--paper);color:var(--ink);border-color:var(--paper)}[data-gp-theme="nourish-practice"] .conversation-sequence{list-style:none;padding:0;margin:0}[data-gp-theme="nourish-practice"] .conversation-sequence li{display:flex;align-items:start;gap:25px;padding:25px 0;border-top:1px solid color-mix(in srgb,var(--paper) 50%,transparent)}[data-gp-theme="nourish-practice"] .conversation-sequence li>span:not(.fs-richtext){border:1px solid currentColor;border-radius:50%;width:40px;height:40px;flex-shrink:0;display:grid;place-content:center}[data-gp-theme="nourish-practice"] .conversation-sequence p{margin-top:12px}[data-gp-theme="nourish-practice"] .pantry-picture img{aspect-ratio:1;object-fit:cover;border-radius:50%}[data-gp-theme="nourish-practice"] .enquiry-band{background:var(--wash)}[data-gp-theme="nourish-practice"] .scope-note{font-size:15px;border-top:1px solid var(--line);margin-top:30px;padding-top:20px}[data-gp-theme="nourish-practice"] .enquiry-band h2{margin-bottom:25px}[data-gp-theme="nourish-practice"] .enquiry-band .form textarea{background:var(--paper)}[data-gp-theme="nourish-practice"] .mega-menu .menu-layout{grid-template-columns:1fr 1.1fr}[data-gp-theme="nourish-practice"] .mega-menu aside{border-radius:50% 50% 0 0;padding:65px 40px 40px}@media(max-width:1000px){[data-gp-theme="nourish-practice"] .kitchen-opening{grid-template-columns:1fr 1fr}[data-gp-theme="nourish-practice"] .kitchen-head{padding-top:15px}[data-gp-theme="nourish-practice"] .meal-figure{margin-left:0;padding-top:0}[data-gp-theme="nourish-practice"] .starting-slip{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 30px;transform:none}[data-gp-theme="nourish-practice"] .starting-slip>h2{grid-column:1;grid-row:2}[data-gp-theme="nourish-practice"] .starting-slip .concerns{grid-column:1;grid-row:3;margin:20px 0 0}[data-gp-theme="nourish-practice"] .starting-slip [data-gp-id="concern-copy"]{grid-column:2;grid-row:2/4}[data-gp-theme="nourish-practice"] .starting-slip .text-link{grid-column:2}[data-gp-theme="nourish-practice"] .table-notes{gap:25px}[data-gp-theme="nourish-practice"] .first-layout{gap:45px}}@containerfs-editor-canvas (max-width: 1000px){[data-gp-theme="nourish-practice"] .kitchen-opening{grid-template-columns:1fr 1fr}[data-gp-theme="nourish-practice"] .kitchen-head{padding-top:15px}[data-gp-theme="nourish-practice"] .meal-figure{margin-left:0;padding-top:0}[data-gp-theme="nourish-practice"] .starting-slip{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 30px;transform:none}[data-gp-theme="nourish-practice"] .starting-slip>h2{grid-column:1;grid-row:2}[data-gp-theme="nourish-practice"] .starting-slip .concerns{grid-column:1;grid-row:3;margin:20px 0 0}[data-gp-theme="nourish-practice"] .starting-slip [data-gp-id="concern-copy"]{grid-column:2;grid-row:2/4}[data-gp-theme="nourish-practice"] .starting-slip .text-link{grid-column:2}[data-gp-theme="nourish-practice"] .table-notes{gap:25px}[data-gp-theme="nourish-practice"] .first-layout{gap:45px}}@media(max-width:600px){[data-gp-theme="nourish-practice"] .kitchen-opening{grid-template-columns:1fr;gap:15px;padding-top:12px}[data-gp-theme="nourish-practice"] .kitchen-head{display:grid;grid-template-columns:1fr 1fr;gap:10px}[data-gp-theme="nourish-practice"] .kitchen-head .kicker{grid-column:1/-1;margin-bottom:5px}[data-gp-theme="nourish-practice"] .kitchen-head h1{font-size:65px;margin-bottom:10px}[data-gp-theme="nourish-practice"] .kitchen-head>p:last-child{font-size:17px;align-self:center}[data-gp-theme="nourish-practice"] .meal-figure{margin:5px 20px}[data-gp-theme="nourish-practice"] .meal-art{aspect-ratio:1.2;border-radius:45% 45% 6% 6%}[data-gp-theme="nourish-practice"] .starting-slip{display:block;margin-top:0;padding:24px}[data-gp-theme="nourish-practice"] .starting-slip h2{font-size:37px}[data-gp-theme="nourish-practice"] .starting-slip [data-gp-id="concern-copy"]{min-height:150px}[data-gp-theme="nourish-practice"] .routine-heading,[data-gp-theme="nourish-practice"] .first-layout{grid-template-columns:1fr;gap:25px}[data-gp-theme="nourish-practice"] .table-notes{grid-template-columns:1fr;gap:25px;margin-top:35px}[data-gp-theme="nourish-practice"] .table-notes article{display:grid;grid-template-columns:45px 1fr;gap:6px 15px}[data-gp-theme="nourish-practice"] .table-notes article>p{grid-column:2}[data-gp-theme="nourish-practice"] .table-notes h3{margin:0}[data-gp-theme="nourish-practice"] .table-icon{grid-row:1/3;font-size:40px}[data-gp-theme="nourish-practice"] .mega-menu .menu-layout{grid-template-columns:1fr}[data-gp-theme="nourish-practice"] .mega-menu aside{border-radius:0;padding:25px}[data-gp-theme="nourish-practice"] .pantry-picture{max-width:350px;margin:auto}}@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="nourish-practice"] .kitchen-opening{grid-template-columns:1fr;gap:15px;padding-top:12px}[data-gp-theme="nourish-practice"] .kitchen-head{display:grid;grid-template-columns:1fr 1fr;gap:10px}[data-gp-theme="nourish-practice"] .kitchen-head .kicker{grid-column:1/-1;margin-bottom:5px}[data-gp-theme="nourish-practice"] .kitchen-head h1{font-size:65px;margin-bottom:10px}[data-gp-theme="nourish-practice"] .kitchen-head>p:last-child{font-size:17px;align-self:center}[data-gp-theme="nourish-practice"] .meal-figure{margin:5px 20px}[data-gp-theme="nourish-practice"] .meal-art{aspect-ratio:1.2;border-radius:45% 45% 6% 6%}[data-gp-theme="nourish-practice"] .starting-slip{display:block;margin-top:0;padding:24px}[data-gp-theme="nourish-practice"] .starting-slip h2{font-size:37px}[data-gp-theme="nourish-practice"] .starting-slip [data-gp-id="concern-copy"]{min-height:150px}[data-gp-theme="nourish-practice"] .routine-heading,[data-gp-theme="nourish-practice"] .first-layout{grid-template-columns:1fr;gap:25px}[data-gp-theme="nourish-practice"] .table-notes{grid-template-columns:1fr;gap:25px;margin-top:35px}[data-gp-theme="nourish-practice"] .table-notes article{display:grid;grid-template-columns:45px 1fr;gap:6px 15px}[data-gp-theme="nourish-practice"] .table-notes article>p{grid-column:2}[data-gp-theme="nourish-practice"] .table-notes h3{margin:0}[data-gp-theme="nourish-practice"] .table-icon{grid-row:1/3;font-size:40px}[data-gp-theme="nourish-practice"] .mega-menu .menu-layout{grid-template-columns:1fr}[data-gp-theme="nourish-practice"] .mega-menu aside{border-radius:0;padding:25px}[data-gp-theme="nourish-practice"] .pantry-picture{max-width:350px;margin:auto}}

@media(min-width:851px) and (max-width:1200px){[data-gp-theme="nourish-practice"] .site-header nav{display:none}}

[data-gp-theme="nourish-practice"][data-input=keyboard] :is(.button,.menu-button,.choice-row button){transition:none;transform:none}

[data-gp-theme="nourish-practice"] [data-gp-id="concern-copy"]{min-height:205px}@media(max-width:600px){[data-gp-theme="nourish-practice"] [data-gp-id="concern-copy"]{min-height:185px}}@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="nourish-practice"] [data-gp-id="concern-copy"]{min-height:185px}}

/* Preview chrome and accessibility only. Theme authors own the visual worlds. */
[data-gp-theme="nourish-practice"][data-premium]{color-scheme:light;background:var(--paper);color:var(--ink);accent-color:var(--accent);scrollbar-color:var(--accent) var(--wash)}
[data-gp-theme="nourish-practice"][data-premium][data-mode=dark]{color-scheme:dark}
[data-gp-theme="nourish-practice"][data-premium] ::selection{background:var(--accent);color:var(--on-accent)}
[data-gp-theme="nourish-practice"][data-premium] :is(input,textarea){caret-color:var(--accent)}
[data-gp-theme="nourish-practice"][data-premium] :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--accent);outline-offset:4px}
[data-gp-theme="nourish-practice"][data-premium] :is(input,select,textarea){max-width:100%}
[data-gp-theme="nourish-practice"][data-premium] :is(input,textarea)::placeholder{color:var(--muted);opacity:1}
[data-gp-theme="nourish-practice"][data-premium] .preview-bar{display:flex;flex-wrap:wrap;justify-content:flex-start;background:#f5f5f0;color:#242d2c;border-color:#cbd0c8;gap:8px 14px;position:relative;font:13px/1.3 "Figtree",sans-serif;min-height:52px;padding:6px 3vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="nourish-practice"][data-premium] .preview-bar{padding:6px 3cqw}}
[data-gp-theme="nourish-practice"][data-premium] .preview-bar>a{font-weight:600;min-height:40px;display:flex;align-items:center}
[data-gp-theme="nourish-practice"][data-premium] .preview-bar [role=group]{margin-left:auto;display:flex;gap:2px}
[data-gp-theme="nourish-practice"][data-premium] .preview-bar :is(button,select){font:13px/1.3 "Figtree",sans-serif;min-height:40px;max-width:100%;border-radius:3px}
[data-gp-theme="nourish-practice"][data-premium] .preview-bar select{background:#fff;color:#242d2c;border:1px solid #a2ada4;padding:7px 24px 7px 9px}
[data-gp-theme="nourish-practice"][data-premium] .preview-bar [aria-pressed=true]{background:#242d2c;color:#fff}
[data-gp-theme="nourish-practice"][data-premium] .preview-bar .preview-label{font:12px/1.3 "Figtree",sans-serif;color:#48554f}
[data-gp-theme="nourish-practice"][data-premium] .preview-bar :focus-visible{outline-color:#254fbb}
[data-gp-theme="nourish-practice"][data-premium] .preview-bar [data-replay-intro]{font-size:12px;margin:0}
[data-gp-theme="nourish-practice"][data-premium] .preview-bar [data-replay-intro]::after{content:none}
[data-gp-theme="nourish-practice"][data-premium] .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
[data-gp-theme="nourish-practice"][data-premium] .premium-action{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 22px;background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);text-decoration:none;font-weight:600;transition:transform 150ms var(--ease-out),background-color 150ms var(--ease-out)}
[data-gp-theme="nourish-practice"][data-premium] .premium-action:active{transform:translateY(1px)}
[data-gp-theme="nourish-practice"][data-premium] .premium-action:disabled{opacity:.6;cursor:not-allowed}
[data-gp-theme="nourish-practice"][data-premium] :is(h1,h2,h3){text-wrap:balance}
[data-gp-theme="nourish-practice"][data-premium] p{text-wrap:pretty}
/* Put down the opaque menu surface immediately, then introduce its content. */
[data-gp-theme="nourish-practice"][data-premium] .mega-menu[open]:not([data-closing]){animation:none}
[data-gp-theme="nourish-practice"][data-premium] .mega-menu[open]:not([data-closing])>:not(:first-child){animation:gp-nourish-premium-menu-content 160ms var(--ease-out)}
[data-gp-theme="nourish-practice"][data-premium] .mega-menu[data-keyboard]>:not(:first-child){animation:none!important}
[data-gp-theme="nourish-practice"][data-premium][data-input=keyboard] :is(button,[role="button"]):active{transform:none}
@keyframes gp-nourish-premium-menu-content{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:650px){
 [data-gp-theme="nourish-practice"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="nourish-practice"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="nourish-practice"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="nourish-practice"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="nourish-practice"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="nourish-practice"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="nourish-practice"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="nourish-practice"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@containerfs-editor-canvas (max-width: 650px){
 [data-gp-theme="nourish-practice"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="nourish-practice"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="nourish-practice"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="nourish-practice"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="nourish-practice"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="nourish-practice"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="nourish-practice"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="nourish-practice"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@media(prefers-reduced-motion:reduce){[data-gp-theme="nourish-practice"][data-premium] .premium-action{transition:none;transform:none}}

/* Website page primitives and actual layout modes. Authored theme CSS owns identity. */
[data-gp-theme="nourish-practice"][data-framed=true] .preview-bar,[data-gp-theme="nourish-practice"][data-framed=true] .site-open-preview{display:none!important}
[data-gp-theme="nourish-practice"][data-site]{--ip-paper:var(--paper,#f4f2eb);--ip-ink:var(--ink,#192f2c);--ip-wash:var(--wash,var(--paper,#e6e9df));--ip-accent:var(--accent,var(--rust,#315b50));--ip-on:var(--on-accent,var(--paper,#fff));--ip-muted:var(--muted,var(--ink,#45534d));--ip-line:var(--line,var(--rule,#a1aca5))}
[data-gp-theme="nourish-practice"][data-inside]{background:var(--ip-paper);color:var(--ip-ink);font:18px/1.65 var(--body,"Figtree",sans-serif)}
[data-gp-theme="nourish-practice"] .inside-page :is(h1,h2,h3){font-family:var(--display,inherit);color:inherit;letter-spacing:-.035em;line-height:1.1;font-weight:500;max-width:22ch}
[data-gp-theme="nourish-practice"] .inside-page h1{font-size:clamp(42px,5.3vw,80px);margin:0 0 26px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="nourish-practice"] .inside-page h1{font-size:clamp(42px,5.3cqw,80px)}}[data-gp-theme="nourish-practice"] .inside-page h2{font-size:clamp(30px,3vw,49px);margin:0 0 24px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="nourish-practice"] .inside-page h2{font-size:clamp(30px,3cqw,49px)}}[data-gp-theme="nourish-practice"] .inside-page h3{font-size:25px;margin:0 0 15px}
[data-gp-theme="nourish-practice"] .inside-page :is(p,li){max-width:72ch}[data-gp-theme="nourish-practice"] .inside-page p{margin:0 0 20px}[data-gp-theme="nourish-practice"] .inside-page a{color:inherit}[data-gp-theme="nourish-practice"] .inside-page img{max-width:100%;width:100%;height:100%;object-fit:cover}[data-gp-theme="nourish-practice"] .inside-page figure{margin:0}[data-gp-theme="nourish-practice"] .inside-page :is(button,[role="button"]){color:inherit}
[data-gp-theme="nourish-practice"] .ip-hero,[data-gp-theme="nourish-practice"] .ip-section{width:min(1320px,calc(100% - 96px));margin-inline:auto;padding-block:70px}[data-gp-theme="nourish-practice"] .ip-hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:65px}[data-gp-theme="nourish-practice"] .ip-opening{min-width:0}[data-gp-theme="nourish-practice"] .ip-hero:has(>.ip-opening:only-child){grid-template-columns:1fr}[data-gp-theme="nourish-practice"] .ip-art{height:430px;position:relative}[data-gp-theme="nourish-practice"] .ip-art img{object-fit:cover}[data-gp-theme="nourish-practice"] .ip-art figcaption,[data-gp-theme="nourish-practice"] .ip-caption{font-size:14px;line-height:1.5;color:var(--ip-muted);padding-top:10px}[data-gp-theme="nourish-practice"] .ip-section>.ip-caption{margin-bottom:20px}[data-gp-theme="nourish-practice"] .ip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}[data-gp-theme="nourish-practice"] .ip-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px}[data-gp-theme="nourish-practice"] .ip-card{min-width:0;border-top:1px solid var(--ip-line);padding:25px 0}[data-gp-theme="nourish-practice"] .ip-card figure{height:230px;margin-bottom:25px}[data-gp-theme="nourish-practice"] .ip-reading{width:min(76ch,calc(100% - 48px));margin-inline:auto;padding-block:55px}[data-gp-theme="nourish-practice"] .ip-reading h2{margin-top:40px}[data-gp-theme="nourish-practice"] .ip-ledger{margin:24px 0}[data-gp-theme="nourish-practice"] .ip-ledger>div{display:grid;grid-template-columns:1fr 1.4fr;gap:20px;border-top:1px solid var(--ip-line);padding:15px 0}[data-gp-theme="nourish-practice"] .ip-ledger dt{font-weight:600}[data-gp-theme="nourish-practice"] .ip-ledger dd{margin:0}[data-gp-theme="nourish-practice"] .ip-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border:1px solid var(--ip-accent);background:var(--ip-accent);color:var(--ip-on)!important;text-decoration:none;font-size:16px;transition:transform 150ms var(--ease-out)}[data-gp-theme="nourish-practice"] .ip-action.secondary{background:transparent;color:var(--ip-ink)!important;border-color:var(--ip-line)}[data-gp-theme="nourish-practice"] .ip-band{padding:55px max(24px,calc((100% - 1320px)/2));background:var(--ip-wash);color:var(--ip-ink)}[data-gp-theme="nourish-practice"] .ip-band p{max-width:65ch}[data-gp-theme="nourish-practice"] .ip-note{font-size:15px;border-left:3px solid var(--ip-accent);padding:12px 18px;background:var(--ip-wash);color:var(--ip-ink);margin-block:20px}[data-gp-theme="nourish-practice"] .ip-form{display:grid;gap:22px}[data-gp-theme="nourish-practice"] .ip-form label{display:grid;gap:8px;font-size:16px}[data-gp-theme="nourish-practice"] .ip-form :is(input,textarea,select){width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid var(--ip-line);background:var(--ip-paper);color:var(--ip-ink);font:inherit;border-radius:0}[data-gp-theme="nourish-practice"] .ip-form :is(input,textarea)::placeholder{color:var(--ip-muted);opacity:1}[data-gp-theme="nourish-practice"] .ip-field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}[data-gp-theme="nourish-practice"] .ip-form :is(button,[role="button"]){justify-self:start}[data-gp-theme="nourish-practice"] .ip-form textarea{min-height:135px}[data-gp-theme="nourish-practice"] .inside-page output[data-draft-output]{display:block;white-space:pre-wrap;padding:25px;background:var(--ip-wash);color:var(--ip-ink);border:1px solid var(--ip-line);overflow-wrap:anywhere}[data-gp-theme="nourish-practice"] .ip-checks{display:grid;gap:12px}[data-gp-theme="nourish-practice"] .ip-checks label{display:flex;align-items:start;gap:14px;border-top:1px solid var(--ip-line);padding:16px 0;min-height:52px}[data-gp-theme="nourish-practice"] .ip-checks input{width:22px;height:22px;min-height:22px;flex-shrink:0;margin-top:4px;accent-color:var(--ip-accent)}[data-gp-theme="nourish-practice"] .inside-page details{border-top:1px solid var(--ip-line);padding:18px 0}[data-gp-theme="nourish-practice"] .inside-page summary{min-height:44px;font-size:21px;cursor:pointer}[data-gp-theme="nourish-practice"] .inside-page details p{padding:16px 0 0}[data-gp-theme="nourish-practice"] .inside-page [data-filter-group]>[role=group]{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}[data-gp-theme="nourish-practice"] .inside-page [data-filter]{padding:10px 18px;min-height:44px;background:transparent;color:var(--ip-ink);border:1px solid var(--ip-line)}[data-gp-theme="nourish-practice"] .inside-page [data-filter][aria-pressed=true]{background:var(--ip-accent);color:var(--ip-on)}[data-gp-theme="nourish-practice"] .site-directory{padding:30px!important;background:var(--ip-paper)!important;color:var(--ip-ink)!important;border-top:1px solid var(--ip-line)}[data-gp-theme="nourish-practice"] .site-directory h3{font:600 17px/1.4 var(--body,"Figtree",sans-serif);margin:0 0 16px}[data-gp-theme="nourish-practice"] .site-directory>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 25px}[data-gp-theme="nourish-practice"] .site-directory a{display:block;font:16px/1.5 var(--body,"Figtree",sans-serif)!important;min-height:44px;padding:10px 0!important;color:inherit!important;text-decoration:none}[data-gp-theme="nourish-practice"] .site-directory a[aria-current=page]{text-decoration:underline;font-weight:600!important}[data-gp-theme="nourish-practice"] .site-open-preview{display:block;padding:10px 20px;background:#eef0eb;color:#20322d;font:14px/1.4 "Figtree",sans-serif;text-align:center}
[data-gp-theme="nourish-practice"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){width:100%;padding-inline:max(24px,4vw)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="nourish-practice"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){padding-inline:max(24px,4cqw)}}
[data-gp-theme="nourish-practice"]:has([data-gp-theme="nourish-practice"][data-layout=boxed]){background:#a6afa9}[data-gp-theme="nourish-practice"][data-layout=boxed]{width:min(1200px,calc(100% - 64px));margin-inline:auto;box-shadow:0 0 0 1px #0002,0 20px 70px #0002;min-height:100dvh;background:var(--ip-paper)}
[data-gp-theme="nourish-practice"][data-layout=centered] :is(.ip-hero,.opening,.cake-opening,.gp-title,.book-opening,.poster-opening,.portal-opening,.destination-opening,.route-opening){text-align:center}
[data-gp-theme="nourish-practice"][data-layout=centered] .ip-hero{grid-template-columns:1fr;max-width:1000px;justify-items:center}[data-gp-theme="nourish-practice"][data-layout=centered] .ip-opening{display:grid;justify-items:center}[data-gp-theme="nourish-practice"][data-layout=centered] .ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="nourish-practice"][data-layout=centered] .ip-art{width:min(760px,100%)}
[data-gp-theme="nourish-practice"][data-layout=minimalist] :is(.ip-section,.ip-hero){padding-block:42px}[data-gp-theme="nourish-practice"][data-layout=minimalist] :is(.ip-card,.ip-art,.ip-note){border-radius:0;box-shadow:none;background-image:none}[data-gp-theme="nourish-practice"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5vw,64px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="nourish-practice"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5cqw,64px)}}[data-gp-theme="nourish-practice"][data-layout=minimalist] :is(.mullions,.glaze-rim,.cake-sticker,.paper-corner){opacity:0}[data-gp-theme="nourish-practice"][data-layout=minimalist] :is(.ip-art img,.opening img){border-radius:0}
[data-gp-theme="nourish-practice"][data-layout=edge-hero] .ip-hero{width:100%;padding-inline:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="nourish-practice"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4vw)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="nourish-practice"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4cqw)}}[data-gp-theme="nourish-practice"][data-layout=edge-hero] .ip-art{height:600px}[data-gp-theme="nourish-practice"][data-layout=edge-hero] .ip-art img{border-radius:0}[data-gp-theme="nourish-practice"][data-layout=edge-hero] .ip-art figcaption{padding:8px 20px}
[data-gp-theme="nourish-practice"][data-layout=full-width] .inside-page>.ip-opening{width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="nourish-practice"][data-layout=full-width] .inside-page>.ip-opening{padding-inline:4cqw}}
[data-gp-theme="nourish-practice"][data-layout=centered] .inside-page>.ip-opening{display:flex;flex-direction:column;align-items:center;text-align:center;width:min(1000px,calc(100% - 48px));gap:30px}[data-gp-theme="nourish-practice"][data-layout=centered] .inside-page>.ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="nourish-practice"][data-layout=centered] .inside-page>.ip-opening>figure{width:min(780px,100%)}
[data-gp-theme="nourish-practice"][data-layout=minimalist] .inside-page>.ip-opening{padding-block:38px}[data-gp-theme="nourish-practice"][data-layout=minimalist] .inside-page>.ip-opening :is(h1,figure){box-shadow:none;border-radius:0}
[data-gp-theme="nourish-practice"][data-layout=edge-hero] .inside-page>.ip-opening{width:100%;max-width:none;padding:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="nourish-practice"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="nourish-practice"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4cqw}}[data-gp-theme="nourish-practice"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:600px;max-width:none;align-self:stretch}[data-gp-theme="nourish-practice"][data-layout=edge-hero] .inside-page>.ip-opening>figure img{height:100%;object-fit:cover;border-radius:0}
/* Existing home compositions gain real width/spacing modes without replacing their content. */
[data-gp-theme="nourish-practice"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="nourish-practice"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){padding-inline:4cqw}}
[data-gp-theme="nourish-practice"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child{text-align:center}
[data-gp-theme="nourish-practice"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(h1,p){margin-inline:auto}[data-gp-theme="nourish-practice"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(.opening-copy,.elevation-copy,.cake-copy,.hero-copy){text-align:center}
[data-gp-theme="nourish-practice"][data-layout=minimalist]:not([data-inside]) .gp-source-main>section{padding-block:44px}[data-gp-theme="nourish-practice"][data-layout=minimalist]:not([data-inside]) :is(.hero-sleeve,.calendar,.hello-note,.open-book){box-shadow:none}
[data-gp-theme="nourish-practice"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child{width:100%;max-width:none;margin-inline:0;padding-inline:0;background:var(--ip-wash)}[data-gp-theme="nourish-practice"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="nourish-practice"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4cqw}}[data-gp-theme="nourish-practice"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:600px}
@media(hover:hover) and (pointer:fine){[data-gp-theme="nourish-practice"] .ip-action:hover{transform:translateY(-2px)}[data-gp-theme="nourish-practice"] .site-directory a:hover{text-decoration:underline}}
@media(max-width:850px){[data-gp-theme="nourish-practice"] .ip-hero,[data-gp-theme="nourish-practice"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="nourish-practice"] .ip-hero{gap:30px}[data-gp-theme="nourish-practice"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="nourish-practice"] .ip-two{gap:30px}[data-gp-theme="nourish-practice"] .ip-art{height:340px}}
@containerfs-editor-canvas (max-width: 850px){[data-gp-theme="nourish-practice"] .ip-hero,[data-gp-theme="nourish-practice"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="nourish-practice"] .ip-hero{gap:30px}[data-gp-theme="nourish-practice"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="nourish-practice"] .ip-two{gap:30px}[data-gp-theme="nourish-practice"] .ip-art{height:340px}}
@media(max-width:600px){[data-gp-theme="nourish-practice"] .ip-hero,[data-gp-theme="nourish-practice"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="nourish-practice"] .ip-hero,[data-gp-theme="nourish-practice"] .ip-two,[data-gp-theme="nourish-practice"] .ip-grid,[data-gp-theme="nourish-practice"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="nourish-practice"] .ip-art{height:300px}[data-gp-theme="nourish-practice"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="nourish-practice"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="nourish-practice"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="nourish-practice"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="nourish-practice"] .site-directory{padding:22px!important}[data-gp-theme="nourish-practice"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="nourish-practice"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="nourish-practice"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="nourish-practice"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="nourish-practice"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="nourish-practice"] .ip-hero,[data-gp-theme="nourish-practice"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="nourish-practice"] .ip-hero,[data-gp-theme="nourish-practice"] .ip-two,[data-gp-theme="nourish-practice"] .ip-grid,[data-gp-theme="nourish-practice"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="nourish-practice"] .ip-art{height:300px}[data-gp-theme="nourish-practice"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="nourish-practice"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="nourish-practice"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="nourish-practice"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="nourish-practice"] .site-directory{padding:22px!important}[data-gp-theme="nourish-practice"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="nourish-practice"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="nourish-practice"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="nourish-practice"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="nourish-practice"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@media(max-width:600px){[data-gp-theme="nourish-practice"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="nourish-practice"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="nourish-practice"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="nourish-practice"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="nourish-practice"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="nourish-practice"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
[data-gp-theme="nourish-practice"] .inside-page a[aria-disabled=true]{cursor:default;text-decoration:none}
[data-gp-theme="nourish-practice"][data-layout=edge-hero] .inside-page .ip-hero .ip-art{transform:none}
@media(prefers-reduced-motion:reduce){[data-gp-theme="nourish-practice"] .ip-action{transition:none;transform:none!important}}
/* Task actions always use an explicit contrasting pair, including themed form overrides. */
[data-gp-theme="nourish-practice"][data-site] .inside-page :is(.ip-form :is(button,[role="button"]):is([type="submit"],[data-gp-button-type="submit"]),[data-save-draft],.ip-action:not(.secondary)){
 background:var(--ip-ink)!important;color:var(--ip-paper)!important;border:1px solid var(--ip-ink)!important;
 min-height:48px;padding:12px 22px;font-size:16px;line-height:1.4;
}
[data-gp-theme="nourish-practice"][data-site] .inside-page .ip-action.secondary{background:transparent!important;color:var(--ip-ink)!important;border-color:var(--ip-line)!important}
[data-gp-theme="nourish-practice"][data-site] .inside-page .ip-form :is(select,select option){background-color:var(--ip-paper);color:var(--ip-ink)}
[data-gp-theme="nourish-practice"] .site-plan-label{display:block;font:400 14px/1.45 var(--body,sans-serif);margin-top:6px;text-decoration:none;opacity:1}
[data-gp-theme="nourish-practice"] a[data-preview-plan]{cursor:pointer}[data-gp-theme="nourish-practice"] .inside-page a[data-preview-plan]{text-decoration:none}
[data-gp-theme="nourish-practice"][data-site] .site-directory a[data-preview-plan]{display:flex;flex-direction:column;align-items:flex-start;gap:2px}[data-gp-theme="nourish-practice"] .site-directory .site-plan-label{font-size:13px;margin:0}

[data-gp-theme="nourish-practice"][data-inside] .ip-opening{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:center;margin:0 auto;padding:64px 0 48px;width:min(1280px,calc(100% - 64px));border-bottom:1px solid var(--line,#9a9a91)}

@container fs-editor-canvas (min-width: 0px){

[data-gp-theme="nourish-practice"][data-inside] .ip-opening{gap:clamp(24px,5cqw,80px)}}
[data-gp-theme="nourish-practice"][data-inside] .ip-opening:not(:has(figure)){grid-template-columns:1fr;max-width:1280px}[data-gp-theme="nourish-practice"][data-inside] .ip-opening h1{max-width:16ch;font-size:clamp(42px,6vw,86px);line-height:1.03}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="nourish-practice"][data-inside] .ip-opening h1{font-size:clamp(42px,6cqw,86px)}}
[data-gp-theme="nourish-practice"][data-inside] .ip-folio{font-size:14px;margin-bottom:20px;color:var(--muted,currentColor)}[data-gp-theme="nourish-practice"][data-inside] .ip-deck{max-width:58ch;margin-top:26px;font-size:21px;line-height:1.55}
[data-gp-theme="nourish-practice"][data-inside] .ip-art{margin:0;min-width:0}[data-gp-theme="nourish-practice"][data-inside] .ip-art img{width:100%;height:360px;object-fit:cover}[data-gp-theme="nourish-practice"][data-inside] .ip-art figcaption{font-size:13px;line-height:1.5;padding-top:12px}
[data-gp-theme="nourish-practice"][data-inside] .ip-section{padding:50px 0;margin:auto;width:min(1280px,calc(100% - 64px))}[data-gp-theme="nourish-practice"][data-inside] .ip-section>h2{font-size:clamp(30px,3.6vw,52px);max-width:25ch;margin-bottom:26px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="nourish-practice"][data-inside] .ip-section>h2{font-size:clamp(30px,3.6cqw,52px)}}
[data-gp-theme="nourish-practice"][data-inside] .ip-section>p{max-width:70ch;line-height:1.65;margin:20px 0}[data-gp-theme="nourish-practice"] .ip-essays{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}[data-gp-theme="nourish-practice"] .ip-essays article{border-top:2px solid var(--accent,currentColor);padding-top:22px}[data-gp-theme="nourish-practice"] .ip-essays h3,[data-gp-theme="nourish-practice"] .ip-sequence h3{font-size:26px;margin-bottom:14px}[data-gp-theme="nourish-practice"] .ip-essays p,[data-gp-theme="nourish-practice"] .ip-sequence p{font-size:17px;line-height:1.65}
[data-gp-theme="nourish-practice"] .ip-sequence{list-style:decimal;padding:0 0 0 28px;margin:0;display:grid;gap:26px}[data-gp-theme="nourish-practice"] .ip-sequence li{padding-left:15px;max-width:74ch}[data-gp-theme="nourish-practice"] .ip-sequence li::marker{color:var(--accent,currentColor);font-weight:700}
[data-gp-theme="nourish-practice"] .ip-ledger{margin:22px 0}[data-gp-theme="nourish-practice"] .ip-ledger>div{display:grid;grid-template-columns:1fr 1.6fr;gap:20px;border-top:1px solid var(--line,#999);padding:16px 0}[data-gp-theme="nourish-practice"] .ip-ledger dt{font-weight:600}[data-gp-theme="nourish-practice"] .ip-ledger dd{margin:0;line-height:1.6}[data-gp-theme="nourish-practice"] .ip-action{display:inline-flex;gap:12px;padding:12px 18px;min-height:48px;align-items:center;text-decoration:none;border:1px solid currentColor;background:transparent;color:inherit;font:600 16px/1.4 var(--body,inherit)}
[data-gp-theme="nourish-practice"] .ip-band{width:min(1280px,calc(100% - 64px));margin:30px auto 64px;padding:32px;display:flex;align-items:center;justify-content:space-between;gap:32px;border:1px solid var(--line,#999);background:var(--wash,transparent)}[data-gp-theme="nourish-practice"] .ip-band h2{font-size:34px;margin-bottom:16px}[data-gp-theme="nourish-practice"] .ip-band p{max-width:58ch;font-size:17px}[data-gp-theme="nourish-practice"] .ip-band>.ip-action{flex-shrink:0}
[data-gp-theme="nourish-practice"] .ip-draft{max-width:850px}[data-gp-theme="nourish-practice"] .ip-form{display:grid;grid-template-columns:1fr 1fr;gap:22px}[data-gp-theme="nourish-practice"] .ip-form label{display:grid;gap:9px;font-size:16px;min-width:0}[data-gp-theme="nourish-practice"] .ip-form input,[data-gp-theme="nourish-practice"] .ip-form select,[data-gp-theme="nourish-practice"] .ip-form textarea{width:100%;min-width:0;background:var(--paper,#fff);color:var(--ink,#222);border:1px solid var(--line,#888);padding:12px;font:inherit;border-radius:0}[data-gp-theme="nourish-practice"] .ip-form label:has(textarea),[data-gp-theme="nourish-practice"] .ip-form>.ip-note{grid-column:1/-1}[data-gp-theme="nourish-practice"] .ip-form textarea{min-height:130px}[data-gp-theme="nourish-practice"] .ip-note{font-size:14px;line-height:1.6;max-width:68ch}[data-gp-theme="nourish-practice"] .ip-draft output{display:block;white-space:pre-wrap;padding:24px;margin-top:24px;border:1px solid var(--line,#888);background:var(--wash,transparent)}
[data-gp-theme="nourish-practice"] .ip-checks{max-width:800px}[data-gp-theme="nourish-practice"] .ip-checks label{display:flex;gap:16px;align-items:start;border-bottom:1px solid var(--line,#999);padding:18px 0;line-height:1.55}[data-gp-theme="nourish-practice"] .ip-checks input{width:21px;height:21px;flex-shrink:0;accent-color:var(--accent,currentColor);margin-top:3px}[data-gp-theme="nourish-practice"] .ip-checks output{display:block;margin-top:22px;font-weight:600}
[data-gp-theme="nourish-practice"] .ip-faq{max-width:850px}[data-gp-theme="nourish-practice"] .ip-faq details{border-top:1px solid var(--line,#999);padding:18px 0}[data-gp-theme="nourish-practice"] .ip-faq summary{min-height:44px;cursor:pointer;font-weight:600}[data-gp-theme="nourish-practice"] .ip-faq p{padding:12px 0;line-height:1.7;max-width:72ch}[data-gp-theme="nourish-practice"] .ip-choices{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}[data-gp-theme="nourish-practice"] .ip-choices :is(button,[role="button"]),[data-gp-theme="nourish-practice"] [data-filter]{background:var(--paper,#fff);color:var(--ink,#222);border:1px solid var(--line,#999);padding:12px 18px;font:inherit;min-height:44px;cursor:pointer}[data-gp-theme="nourish-practice"] .ip-choices [aria-pressed=true],[data-gp-theme="nourish-practice"] [data-filter][aria-pressed=true]{outline:2px solid var(--accent,currentColor);outline-offset:3px}[data-gp-theme="nourish-practice"] .ip-notes output{display:block;padding:20px;background:var(--wash,transparent);max-width:72ch;line-height:1.6}
[data-gp-theme="nourish-practice"] .ip-records{display:grid;gap:28px;margin:28px 0}[data-gp-theme="nourish-practice"] .ip-records article{border-top:1px solid var(--line,#999);padding:28px 0;display:grid;grid-template-columns:1fr 1.2fr;gap:32px}[data-gp-theme="nourish-practice"] .ip-records article>img{width:100%;height:290px;object-fit:cover}[data-gp-theme="nourish-practice"] .ip-records h3{font-size:34px;margin-bottom:20px}[data-gp-theme="nourish-practice"] .ip-records p{line-height:1.65;margin:16px 0}[data-gp-theme="nourish-practice"] .ip-records .ip-action{margin-top:16px}[data-gp-theme="nourish-practice"] .ip-detail-record{padding:36px 0;border-top:2px solid var(--accent,currentColor);scroll-margin-top:30px}[data-gp-theme="nourish-practice"] .ip-detail-record>h3{font-size:36px;margin-bottom:22px}[data-gp-theme="nourish-practice"] .ip-detail-record>p{max-width:72ch;line-height:1.7}
[data-gp-theme="nourish-practice"] .ip-reading{max-width:76ch!important;margin-left:auto!important;margin-right:auto!important}[data-gp-theme="nourish-practice"] .ip-reading h3{margin-top:28px}[data-gp-theme="nourish-practice"] .ip-table-scroll{overflow-x:auto}[data-gp-theme="nourish-practice"] .ip-data-table{border-collapse:collapse;width:100%;min-width:650px;font-size:16px}[data-gp-theme="nourish-practice"] .ip-data-table th,[data-gp-theme="nourish-practice"] .ip-data-table td{border:1px solid var(--line,#999);padding:18px;text-align:left;vertical-align:top;line-height:1.6}[data-gp-theme="nourish-practice"] .ip-data-table th{background:var(--wash,transparent)}[data-gp-theme="nourish-practice"] .ip-filter-bar{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}[data-gp-theme="nourish-practice"] .ip-filter-bar output{width:100%;margin:8px 0}
[data-gp-theme="nourish-practice"][data-inside] :is(.ip-action,summary,[data-filter],[data-note-choice],input,select,textarea):focus-visible{outline:3px solid var(--accent,currentColor);outline-offset:4px}[data-gp-theme="nourish-practice"][data-inside] .ip-action:hover{opacity:.85}[data-gp-theme="nourish-practice"][data-inside] .ip-action:active{transform:translateY(1px)}
@media(max-width:700px){[data-gp-theme="nourish-practice"][data-inside] .ip-opening,[data-gp-theme="nourish-practice"][data-inside] .ip-section,[data-gp-theme="nourish-practice"] .ip-band{width:calc(100% - 32px)}[data-gp-theme="nourish-practice"][data-inside] .ip-opening{grid-template-columns:1fr;padding:35px 0;gap:28px}[data-gp-theme="nourish-practice"][data-inside] .ip-opening h1{font-size:45px;max-width:18ch}[data-gp-theme="nourish-practice"][data-inside] .ip-deck{font-size:18px}[data-gp-theme="nourish-practice"][data-inside] .ip-art img{height:300px}[data-gp-theme="nourish-practice"] .ip-essays,[data-gp-theme="nourish-practice"] .ip-form,[data-gp-theme="nourish-practice"] .ip-records article{grid-template-columns:1fr}[data-gp-theme="nourish-practice"] .ip-ledger>div{grid-template-columns:1fr;gap:8px}[data-gp-theme="nourish-practice"] .ip-band{display:block;padding:24px}[data-gp-theme="nourish-practice"] .ip-band>.ip-action{margin-top:22px}[data-gp-theme="nourish-practice"] .ip-section{padding-block:34px}[data-gp-theme="nourish-practice"] .ip-form label:has(textarea),[data-gp-theme="nourish-practice"] .ip-form>.ip-note{grid-column:auto}[data-gp-theme="nourish-practice"] .ip-records article>img{height:250px}}
@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="nourish-practice"][data-inside] .ip-opening,[data-gp-theme="nourish-practice"][data-inside] .ip-section,[data-gp-theme="nourish-practice"] .ip-band{width:calc(100% - 32px)}[data-gp-theme="nourish-practice"][data-inside] .ip-opening{grid-template-columns:1fr;padding:35px 0;gap:28px}[data-gp-theme="nourish-practice"][data-inside] .ip-opening h1{font-size:45px;max-width:18ch}[data-gp-theme="nourish-practice"][data-inside] .ip-deck{font-size:18px}[data-gp-theme="nourish-practice"][data-inside] .ip-art img{height:300px}[data-gp-theme="nourish-practice"] .ip-essays,[data-gp-theme="nourish-practice"] .ip-form,[data-gp-theme="nourish-practice"] .ip-records article{grid-template-columns:1fr}[data-gp-theme="nourish-practice"] .ip-ledger>div{grid-template-columns:1fr;gap:8px}[data-gp-theme="nourish-practice"] .ip-band{display:block;padding:24px}[data-gp-theme="nourish-practice"] .ip-band>.ip-action{margin-top:22px}[data-gp-theme="nourish-practice"] .ip-section{padding-block:34px}[data-gp-theme="nourish-practice"] .ip-form label:has(textarea),[data-gp-theme="nourish-practice"] .ip-form>.ip-note{grid-column:auto}[data-gp-theme="nourish-practice"] .ip-records article>img{height:250px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="nourish-practice"][data-inside] .ip-action:active{transform:none}}
[data-gp-theme="nourish-practice"][data-inside] .ip-table-opening .ip-art img{border-radius:48% 48% 3% 3%;height:390px}[data-gp-theme="nourish-practice"][data-inside] .ip-table-notes{background:var(--wash);padding:30px;border-top:4px solid var(--accent)}[data-gp-theme="nourish-practice"][data-inside] .ip-table-notes .ip-essays article{border:0}[data-gp-theme="nourish-practice"][data-inside] .ip-resource-shelf{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}[data-gp-theme="nourish-practice"][data-inside] .ip-resource-shelf article{padding:28px;background:var(--wash);border-radius:20px 20px 4px 4px;border-bottom:4px solid var(--accent)}[data-gp-theme="nourish-practice"][data-inside] .ip-resource-shelf h3{font-size:31px;margin-bottom:20px}[data-gp-theme="nourish-practice"][data-inside] .ip-resource-shelf p{margin-bottom:24px;line-height:1.65}[data-gp-theme="nourish-practice"][data-inside] .ip-kitchen-note{font:32px/1.35 var(--display);margin:0 0 25px;border-left:5px solid var(--accent);padding:20px 28px;background:var(--wash)}[data-gp-theme="nourish-practice"][data-inside] .ip-form{background:var(--wash);padding:28px;border-radius:20px 20px 4px 4px}[data-gp-theme="nourish-practice"][data-inside] .ip-checks label{border-bottom-style:dashed}@media(max-width:700px){[data-gp-theme="nourish-practice"][data-inside] .ip-resource-shelf{grid-template-columns:1fr}[data-gp-theme="nourish-practice"][data-inside] .ip-table-opening .ip-art img{height:300px}[data-gp-theme="nourish-practice"][data-inside] .ip-form{padding:22px}[data-gp-theme="nourish-practice"][data-inside] .ip-kitchen-note{font-size:27px;padding:20px}}@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="nourish-practice"][data-inside] .ip-resource-shelf{grid-template-columns:1fr}[data-gp-theme="nourish-practice"][data-inside] .ip-table-opening .ip-art img{height:300px}[data-gp-theme="nourish-practice"][data-inside] .ip-form{padding:22px}[data-gp-theme="nourish-practice"][data-inside] .ip-kitchen-note{font-size:27px;padding:20px}}


/* Owner selected alternative on 18 October 2026. Main heading roles only. */
[data-gp-theme="nourish-practice"][data-gp-kind="section"] h1{font-family:"Alegreya Sans", sans-serif!important;font-weight:500!important;letter-spacing:-0.008em!important;line-height:1.13!important;font-variation-settings:normal!important;font-optical-sizing:auto!important}
[data-gp-theme="nourish-practice"][data-gp-kind="section"] h2{font-family:"Source Sans 3", sans-serif!important;font-weight:600!important;letter-spacing:-.01em!important;line-height:1.17!important;font-variation-settings:normal!important;font-optical-sizing:auto!important}
[data-gp-theme="nourish-practice"][data-gp-kind="section"] h3{font-family:"Source Sans 3", sans-serif!important;font-weight:600!important;letter-spacing:0!important;line-height:1.25!important;font-variation-settings:normal!important}
[data-gp-theme="nourish-practice"][data-inside][data-gp-kind="section"] h1{font-family:"Alegreya Sans", sans-serif!important;line-height:1.14!important;letter-spacing:-.012em!important;font-weight:500!important;text-transform:none!important}
@media(max-width:650px){[data-gp-theme="nourish-practice"][data-gp-kind="section"] h1{line-height:1.13!important;letter-spacing:-0.008em!important}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="nourish-practice"][data-gp-kind="section"] h1{line-height:1.13!important;letter-spacing:-0.008em!important}}

/* Local authored experience. Inherits selected type and all six palette/mode combinations. */
[data-gp-theme="nourish-practice"] .ux-lab{max-width:1340px;margin:64px auto;padding:36px clamp(20px,4vw,56px);color:var(--ink);background:var(--paper);border-block:1px solid var(--line);font-family:var(--body);overflow-wrap:anywhere;box-sizing:border-box}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="nourish-practice"] .ux-lab{padding:36px clamp(20px,4cqw,56px)}}
[data-gp-theme="nourish-practice"] .ux-lab *{box-sizing:border-box}[data-gp-theme="nourish-practice"] .ux-lab h2{font-size:clamp(30px,3.2vw,48px);line-height:1.12;margin:0 0 14px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="nourish-practice"] .ux-lab h2{font-size:clamp(30px,3.2cqw,48px)}}[data-gp-theme="nourish-practice"] .ux-lab h3{font-size:24px;line-height:1.25;margin:0 0 10px}[data-gp-theme="nourish-practice"] .ux-lab p{font-size:17px;line-height:1.6;max-width:64ch;margin:0 0 14px}[data-gp-theme="nourish-practice"] .ux-lab .ux-intro{max-width:760px;margin-bottom:28px}[data-gp-theme="nourish-practice"] .ux-lab .ux-sample{font-size:14px;color:var(--muted);margin-block:16px}[data-gp-theme="nourish-practice"] .ux-lab .ux-spread{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(240px,.85fr);gap:28px;align-items:start}[data-gp-theme="nourish-practice"] .ux-lab .ux-art{margin:0;background:var(--wash);position:relative;overflow:hidden;min-width:0}[data-gp-theme="nourish-practice"] .ux-lab .ux-art svg{display:block;width:100%;height:auto;aspect-ratio:700/520;fill:none;stroke:none;stroke-width:1;color:var(--ink)}[data-gp-theme="nourish-practice"] .ux-lab figcaption{display:block;padding:12px 16px;font-size:14px;color:var(--muted);background:var(--paper);border-bottom:1px solid var(--line)}[data-gp-theme="nourish-practice"] .ux-lab fieldset{border:0;padding:0;margin:0 0 22px;min-width:0}[data-gp-theme="nourish-practice"] .ux-lab legend{font-size:16px;font-weight:600;margin-bottom:8px}[data-gp-theme="nourish-practice"] .ux-lab .ux-choices{display:flex;flex-wrap:wrap;gap:8px}[data-gp-theme="nourish-practice"] .ux-lab :is(button,[role="button"]),[data-gp-theme="nourish-practice"] .ux-lab .ux-link{font:500 15px/1.35 var(--body);border:1px solid var(--line);padding:11px 15px;min-height:44px;min-width:44px;color:var(--ink);background:var(--paper);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px}[data-gp-theme="nourish-practice"] .ux-lab :is(button,[role="button"])[aria-pressed=true]{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}[data-gp-theme="nourish-practice"] .ux-lab :is(button,[role="button"]):focus-visible,[data-gp-theme="nourish-practice"] .ux-lab a:focus-visible,[data-gp-theme="nourish-practice"] .ux-lab textarea:focus-visible,[data-gp-theme="nourish-practice"] .ux-lab input:focus-visible{outline:3px solid var(--accent);outline-offset:4px}[data-gp-theme="nourish-practice"] .ux-lab .ux-link{color:var(--on-accent);background:var(--accent);border-color:var(--accent);margin-top:16px}[data-gp-theme="nourish-practice"] .ux-lab .ux-summary{display:block;font-size:17px;line-height:1.55;min-height:3.2em;margin:18px 0;padding:16px 0;border-block:1px solid var(--line)}[data-gp-theme="nourish-practice"] .ux-lab .ux-detail{margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}[data-gp-theme="nourish-practice"] .ux-lab .ux-detail svg{width:100%;height:auto;aspect-ratio:260/120;display:block;stroke:none;fill:none}[data-gp-theme="nourish-practice"] .ux-lab label{font-size:16px;display:block}[data-gp-theme="nourish-practice"] .ux-lab textarea{display:block;width:100%;font:17px/1.6 var(--body);padding:14px;background:var(--paper);color:var(--ink);border:1px solid var(--line);margin:8px 0 14px;resize:vertical}[data-gp-theme="nourish-practice"] .ux-lab .ux-note-result{display:block;white-space:pre-wrap;margin:16px 0;font-size:16px}[data-gp-theme="nourish-practice"] .ux-lab [hidden]{display:none!important}[data-gp-theme="nourish-practice"] .ux-lab .ux-carry{border-left:4px solid var(--accent);padding-left:22px}[data-gp-theme="nourish-practice"] .ux-lab .ux-carry ul{padding-left:20px}[data-gp-theme="nourish-practice"] .ux-lab .ux-carry li{margin:6px 0}[data-gp-theme="nourish-practice"] .ux-lab .ux-clear{font-size:14px;min-height:44px}
[data-gp-theme="nourish-practice"] .ux-lab .ux-visual{position:relative;isolation:isolate}[data-gp-theme="nourish-practice"] .ux-lab .ux-visual [data-scene-snapshot]{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
@media(hover:hover) and (pointer:fine){[data-gp-theme="nourish-practice"] .ux-lab :is(button,[role="button"]):hover{border-color:var(--accent)}[data-gp-theme="nourish-practice"] .ux-lab .ux-link:hover{opacity:.88}}
@media(max-width:700px){[data-gp-theme="nourish-practice"] .ux-lab{margin:32px 16px;padding:24px 0}[data-gp-theme="nourish-practice"] .ux-lab .ux-spread{grid-template-columns:minmax(0,1fr);gap:24px}[data-gp-theme="nourish-practice"] .ux-lab .ux-intro{margin-bottom:20px}[data-gp-theme="nourish-practice"] .ux-lab .ux-art svg{min-height:240px}[data-gp-theme="nourish-practice"] .ux-lab h2{font-size:32px}[data-gp-theme="nourish-practice"] .ux-lab p{font-size:16px}[data-gp-theme="nourish-practice"] .ux-lab .ux-choices{gap:7px}[data-gp-theme="nourish-practice"] .ux-lab :is(button,[role="button"]){padding:10px 12px}}
@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="nourish-practice"] .ux-lab{margin:32px 16px;padding:24px 0}[data-gp-theme="nourish-practice"] .ux-lab .ux-spread{grid-template-columns:minmax(0,1fr);gap:24px}[data-gp-theme="nourish-practice"] .ux-lab .ux-intro{margin-bottom:20px}[data-gp-theme="nourish-practice"] .ux-lab .ux-art svg{min-height:240px}[data-gp-theme="nourish-practice"] .ux-lab h2{font-size:32px}[data-gp-theme="nourish-practice"] .ux-lab p{font-size:16px}[data-gp-theme="nourish-practice"] .ux-lab .ux-choices{gap:7px}[data-gp-theme="nourish-practice"] .ux-lab :is(button,[role="button"]){padding:10px 12px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="nourish-practice"] .ux-lab *{scroll-behavior:auto!important;transition-duration:0ms!important;animation:none!important}}
[data-gp-theme="nourish-practice"] .ux-day .ux-kitchen svg{aspect-ratio:700/400}[data-gp-theme="nourish-practice"] .ux-day .ux-day-list{display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none}[data-gp-theme="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){width:100%;border:0;border-bottom:3px solid var(--line);background:var(--wash);padding:15px;flex-direction:column;align-items:flex-start;text-align:left}[data-gp-theme="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:13px}[data-gp-theme="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"])[aria-pressed=true]{background:var(--paper);color:var(--ink);border-bottom-color:var(--accent)}[data-gp-theme="nourish-practice"] .ux-day .ux-moment-icon{opacity:.2}[data-gp-theme="nourish-practice"] .ux-day[data-moment=morning] [data-morning],[data-gp-theme="nourish-practice"] .ux-day[data-moment=day] [data-day],[data-gp-theme="nourish-practice"] .ux-day[data-moment=evening] [data-evening]{opacity:1}[data-gp-theme="nourish-practice"] .ux-day .ux-prompt{min-height:150px;padding:22px 0}[data-gp-theme="nourish-practice"] .ux-day .ux-prompt h3{font-family:var(--body);font-size:23px}[data-gp-theme="nourish-practice"] .ux-day .ux-topic{font-weight:600;color:var(--accent)}[data-gp-theme="nourish-practice"] .ux-day .ux-notebook{border-left:1px solid var(--line);padding-left:28px}[data-gp-theme="nourish-practice"] .ux-day .ux-notebook textarea{background:repeating-linear-gradient(transparent 0 30px,var(--wash) 30px 31px);line-height:31px;min-height:200px}[data-gp-theme="nourish-practice"] .ux-day .ux-skip{background:none;border:0;text-decoration:underline;padding:8px 0;justify-content:flex-start}[data-gp-theme="nourish-practice"] .ux-day .ux-art figcaption{background:var(--wash)}@media(max-width:700px){[data-gp-theme="nourish-practice"] .ux-day .ux-notebook{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}[data-gp-theme="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:1fr}[data-gp-theme="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){flex-direction:row;align-items:center;justify-content:space-between}[data-gp-theme="nourish-practice"] .ux-day .ux-prompt{min-height:0}}@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="nourish-practice"] .ux-day .ux-notebook{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}[data-gp-theme="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:1fr}[data-gp-theme="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){flex-direction:row;align-items:center;justify-content:space-between}[data-gp-theme="nourish-practice"] .ux-day .ux-prompt{min-height:0}}
/* Approved readability refinements, 18 October 2026.
   Only meaningful helpers, local groups and selected reading paragraphs.
   Owner-selected type families, display sizes and frozen comparisons stay authoritative. */

/* Kiln House: the brief promise and sample guidance are part of the task. */
[data-gp-theme="nourish-practice"][data-site="kiln-house"] :is(.field-note,.form-note,.pairing-hint,.material-note,.light-note,.letter-note,.combination-copy small,.material-row small){font-size:14px;line-height:1.5}
[data-gp-theme="nourish-practice"][data-site="kiln-house"] .form-note{margin-top:16px}
[data-gp-theme="nourish-practice"][data-site="kiln-house"] :is(.quiet-button,.combination-action){font-size:15px;line-height:1.5}
[data-gp-theme="nourish-practice"][data-site="kiln-house"] .quiet-button{min-height:44px}
[data-gp-theme="nourish-practice"][data-site="kiln-house"] .directory-links a small{font-size:14px;line-height:1.5}

/* Small study labels explain a choice, rather than acting as an imprint. */
[data-gp-theme="nourish-practice"][data-site="true-joint"] .ux-stage-bar :is(button,[role="button"]) small{font-size:14px;line-height:1.5}
[data-gp-theme="nourish-practice"][data-site="neighbourhood-edit"] .ux-plan-header{font-size:14px;line-height:1.5;gap:12px;flex-wrap:wrap}
[data-gp-theme="nourish-practice"][data-site="neighbourhood-edit"] .ux-room-title{margin-bottom:16px}
[data-gp-theme="nourish-practice"][data-site="neighbourhood-edit"] .ux-room-title h3{margin-bottom:0}
[data-gp-theme="nourish-practice"][data-site="neighbourhood-edit"] :is(.home-finder label,.home-finder output,.area-index small){font-size:14px;line-height:1.5}
[data-gp-theme="nourish-practice"][data-site="neighbourhood-edit"] .home-finder select{font-size:16px;min-height:44px}
[data-gp-theme="nourish-practice"][data-site="harbour"] .ux-folio .ux-document-row label{font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="nourish-practice"][data-site="daymark-window-care"] .dm-sheet-head{font-size:14px;line-height:1.5;flex-wrap:wrap}
[data-gp-theme="nourish-practice"][data-site="velum-window-care"] .ux-v-nav :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}

/* Existing small controls retain or gain the comfortable target height. */
[data-gp-theme="nourish-practice"][data-site="stem-and-still"] .stem-slip :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:48px;gap:8px}
[data-gp-theme="nourish-practice"][data-site="cake-box"] .flavour-pick :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="nourish-practice"][data-site="cake-box"] .message-label small{font-size:14px;line-height:1.5}
[data-gp-theme="nourish-practice"][data-site="crm-recruitment-people"] .question-buttons{gap:10px}
[data-gp-theme="nourish-practice"][data-site="crm-recruitment-people"] .question-buttons :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:10px 12px}
[data-gp-theme="nourish-practice"][data-site="the-second-set-programme"] .pr-order-actions :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:8px 10px}

/* The format facts belong with the large ensemble names. */
[data-gp-theme="nourish-practice"][data-site="the-second-set-afterglow"] .ag-format-ribbon span:not(.fs-richtext){font-size:14px;line-height:1.5;margin-top:8px}
[data-gp-theme="nourish-practice"][data-site="the-second-set-programme"] .opening-note{font-size:14px;line-height:1.5}
[data-gp-theme="nourish-practice"][data-site="the-second-set-signal"] .form-note{font-size:14px;line-height:1.5}

/* Slipstream: useful record, filter and brief text; preserve the scrollable comparison. */
[data-gp-theme="nourish-practice"][data-site="slipstream"] :is(.featured-price small,.rail-note,.stock-finder label,.stock-caption,.inspection-note,.inspection-instruction,.form-note,[data-gp-id="stock-count"],[data-gp-id="form-question-count"]){font-size:14px;line-height:1.5}
[data-gp-theme="nourish-practice"][data-site="slipstream"] :is(.visit-form label,.form-pair label){font-size:15px;line-height:1.5}
[data-gp-theme="nourish-practice"][data-site="slipstream"] :is(.car-record summary,[data-gp-id="reset-stock"],[data-gp-id="clear-compare"],.quick-compare button){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="nourish-practice"][data-site="slipstream"] .stock-finder select{min-height:44px}

/* Narrow only sustained paragraphs, preserving plans, records, lists and tables. */
[data-gp-theme="nourish-practice"]:is([data-site="stem-and-still"],[data-site="kiln-house"],[data-site="true-joint"])[data-inside] .ip-reading>p{max-width:64ch}

@media(max-width:700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="nourish-practice"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="nourish-practice"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="nourish-practice"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="nourish-practice"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="nourish-practice"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="nourish-practice"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="nourish-practice"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="nourish-practice"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="nourish-practice"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

@containerfs-editor-canvas (max-width: 700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="nourish-practice"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="nourish-practice"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="nourish-practice"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="nourish-practice"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="nourish-practice"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="nourish-practice"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="nourish-practice"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="nourish-practice"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="nourish-practice"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

/* No generic heading, body, section-spacing or panel-height reset.
   Goodpane's unused calendar CSS, Expedition's real stage envelope,
   Starlight's passage leading and Velum's display introduction need no blanket fix. */

/* Authored header/menu/footer only. Approved body, fonts and palette files stay intact. */
[data-gp-theme="nourish-practice"] .ca-chrome,[data-gp-theme="nourish-practice"] .ca-chrome *{box-sizing:border-box;min-width:0}
[data-gp-theme="nourish-practice"] header.site-header.ca-header{width:min(1340px,calc(100% - 96px));max-width:none;margin-inline:auto;padding:26px 0;gap:22px;border:0;color:var(--ink);background:var(--paper)}
[data-gp-theme="nourish-practice"] .ca-header .brand{max-width:100%;text-decoration:none;flex-shrink:1}
[data-gp-theme="nourish-practice"] .ca-header .brand>span:not(.fs-richtext){min-width:0;overflow-wrap:anywhere}
[data-gp-theme="nourish-practice"] .ca-header .brand small{line-height:1.45;font-size:13px}
[data-gp-theme="nourish-practice"] .ca-header .brand svg{flex-shrink:0;width:38px;height:38px}
[data-gp-theme="nourish-practice"] .ca-header a,[data-gp-theme="nourish-practice"] .ca-header :is(button,[role="button"]){min-height:44px}
[data-gp-theme="nourish-practice"] .ca-header nav{display:flex;align-items:center;gap:22px}
[data-gp-theme="nourish-practice"] .ca-header nav a{display:flex;align-items:center;text-decoration:none;font:500 16px/1.35 var(--body);padding:9px 0}
[data-gp-theme="nourish-practice"] .ca-trigger,[data-gp-theme="nourish-practice"] .ca-menu [data-menu-close]{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:46px;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:11px 17px;font:500 15px/1.35 var(--body);cursor:pointer;white-space:normal;text-align:left}
[data-gp-theme="nourish-practice"] .ca-trigger span:not(.fs-richtext){font-size:22px;line-height:1;flex:none}
[data-gp-theme="nourish-practice"] .ca-label{display:block;font:500 13px/1.5 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
[data-gp-theme="nourish-practice"] .ca-menu.mega-menu{width:min(1160px,calc(100% - 64px));max-height:90vh;overflow:auto;margin:auto;padding:0;background:var(--paper);color:var(--ink);border:1px solid var(--line)}
[data-gp-theme="nourish-practice"] .ca-menu .menu-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 32px;border-bottom:1px solid var(--line);background:var(--paper);color:var(--ink)}
[data-gp-theme="nourish-practice"] .ca-menu .menu-top>span:not(.fs-richtext){font:500 16px/1.4 var(--body)}
[data-gp-theme="nourish-practice"] .ca-menu .menu-top :is(button,[role="button"]){color:var(--ink);border-color:var(--line)}
[data-gp-theme="nourish-practice"] .ca-menu-body{padding:34px}
[data-gp-theme="nourish-practice"] .ca-chrome h2,[data-gp-theme="nourish-practice"] .ca-chrome h3,[data-gp-theme="nourish-practice"] .ca-chrome p{margin:0}
[data-gp-theme="nourish-practice"] .ca-chrome h2,[data-gp-theme="nourish-practice"] .ca-chrome h3{font-family:var(--chrome-face,var(--display));font-weight:550;letter-spacing:-.015em;line-height:1.15;overflow-wrap:anywhere}
[data-gp-theme="nourish-practice"] .ca-chrome h2{font-size:clamp(32px,4vw,52px)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="nourish-practice"] .ca-chrome h2{font-size:clamp(32px,4cqw,52px)}}
[data-gp-theme="nourish-practice"] .ca-chrome h3{font-size:clamp(24px,2.5vw,34px)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="nourish-practice"] .ca-chrome h3{font-size:clamp(24px,2.5cqw,34px)}}
[data-gp-theme="nourish-practice"] .ca-menu-title{margin:0 0 30px!important;max-width:24ch}
[data-gp-theme="nourish-practice"] .ca-links{display:flex;flex-direction:column;gap:0}
[data-gp-theme="nourish-practice"] .ca-links a{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:46px;padding:11px 0;text-decoration:none;font:400 17px/1.45 var(--body);border-bottom:1px solid var(--line);overflow-wrap:anywhere}
[data-gp-theme="nourish-practice"] .ca-links a::after{content:'↗';flex:none;font-size:18px}
[data-gp-theme="nourish-practice"] .ca-links a:last-child{border-bottom:0}
[data-gp-theme="nourish-practice"] .ca-links a[aria-current=page]{font-weight:650;text-decoration:underline;text-underline-offset:5px}
[data-gp-theme="nourish-practice"] .ca-chrome .site-plan-label{font:400 12px/1.35 var(--body);letter-spacing:0;text-transform:none;color:inherit;flex-basis:100%}
[data-gp-theme="nourish-practice"] .ca-chrome a[data-preview-plan]{flex-wrap:wrap}
[data-gp-theme="nourish-practice"] .ca-menu-utility{display:flex;flex-wrap:wrap;gap:8px 25px;padding:22px 34px;border-top:1px solid var(--line);background:var(--wash)}
[data-gp-theme="nourish-practice"] .ca-menu-utility a{display:flex;align-items:center;min-height:44px;padding:5px 0;font:400 15px/1.4 var(--body);text-decoration:none}
[data-gp-theme="nourish-practice"] .ca-menu-note{padding:0 34px 25px;font:400 14px/1.5 var(--body);color:var(--muted)}
[data-gp-theme="nourish-practice"] footer.site-footer.ca-footer{padding:58px max(24px,calc((100vw - 1340px)/2)) 22px;background:var(--wash);color:var(--ink);border-top:1px solid var(--line)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="nourish-practice"] footer.site-footer.ca-footer{padding:58px max(24px,calc((100cqw - 1340px)/2)) 22px}}
[data-gp-theme="nourish-practice"] .ca-footer-inner{width:100%;max-width:1340px;margin:auto}
[data-gp-theme="nourish-practice"] .ca-footer a{color:inherit}
[data-gp-theme="nourish-practice"] .ca-footer-action{display:inline-flex;align-items:center;gap:20px;min-height:48px;padding:12px 0;font:500 20px/1.35 var(--body);text-decoration:none;border-bottom:1px solid currentColor}
[data-gp-theme="nourish-practice"] .ca-footer-action::after{content:'↗';margin-left:auto}
[data-gp-theme="nourish-practice"] .ca-footnote{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 28px;padding-top:22px;margin-top:35px;border-top:1px solid var(--line);font:400 13px/1.55 var(--body);color:var(--muted)}
[data-gp-theme="nourish-practice"] .ca-footnote p{max-width:70ch}
[data-gp-theme="nourish-practice"] .ca-footnote a{display:inline-flex;align-items:center;min-height:44px;white-space:normal}
[data-gp-theme="nourish-practice"] .ca-footer-nav{display:flex;flex-wrap:wrap;gap:8px 25px}
[data-gp-theme="nourish-practice"] .ca-footer-nav a{display:inline-flex;align-items:center;min-height:44px;padding:7px 0;font:400 16px/1.4 var(--body);text-decoration:none}
[data-gp-theme="nourish-practice"] .ca-chrome :is(a,button):focus-visible{outline:3px solid var(--ink);outline-offset:5px}
@media(hover:hover) and (pointer:fine){[data-gp-theme="nourish-practice"] .ca-chrome a:hover{text-decoration:underline;text-underline-offset:5px}[data-gp-theme="nourish-practice"] .ca-trigger:hover{background:var(--wash)}}
@media(max-width:900px){[data-gp-theme="nourish-practice"] header.site-header.ca-header{width:calc(100% - 40px);padding:20px 0;gap:16px}[data-gp-theme="nourish-practice"] .ca-header .ca-primary{display:none}[data-gp-theme="nourish-practice"] .ca-header .brand{font-size:24px}[data-gp-theme="nourish-practice"] .ca-menu-body{padding:26px 22px}[data-gp-theme="nourish-practice"] .ca-menu .menu-top{padding:16px 22px}[data-gp-theme="nourish-practice"] .ca-menu-utility{padding:18px 22px;gap:6px 20px}[data-gp-theme="nourish-practice"] .ca-menu-note{padding:0 22px 22px}[data-gp-theme="nourish-practice"] .ca-chrome h2{font-size:clamp(30px,7vw,46px)}[data-gp-theme="nourish-practice"] .ca-chrome h3{font-size:26px}[data-gp-theme="nourish-practice"] .ca-menu-title{margin-bottom:24px!important}[data-gp-theme="nourish-practice"] .ca-links a{font-size:17px;min-height:48px}[data-gp-theme="nourish-practice"] .ca-footer-action{font-size:19px}[data-gp-theme="nourish-practice"] .ca-footer-nav{gap:4px 22px}[data-gp-theme="nourish-practice"] footer.site-footer.ca-footer{padding:40px 22px 20px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="nourish-practice"] header.site-header.ca-header{width:calc(100% - 40px);padding:20px 0;gap:16px}[data-gp-theme="nourish-practice"] .ca-header .ca-primary{display:none}[data-gp-theme="nourish-practice"] .ca-header .brand{font-size:24px}[data-gp-theme="nourish-practice"] .ca-menu-body{padding:26px 22px}[data-gp-theme="nourish-practice"] .ca-menu .menu-top{padding:16px 22px}[data-gp-theme="nourish-practice"] .ca-menu-utility{padding:18px 22px;gap:6px 20px}[data-gp-theme="nourish-practice"] .ca-menu-note{padding:0 22px 22px}[data-gp-theme="nourish-practice"] .ca-chrome h2{font-size:clamp(30px,7cqw,46px)}[data-gp-theme="nourish-practice"] .ca-chrome h3{font-size:26px}[data-gp-theme="nourish-practice"] .ca-menu-title{margin-bottom:24px!important}[data-gp-theme="nourish-practice"] .ca-links a{font-size:17px;min-height:48px}[data-gp-theme="nourish-practice"] .ca-footer-action{font-size:19px}[data-gp-theme="nourish-practice"] .ca-footer-nav{gap:4px 22px}[data-gp-theme="nourish-practice"] footer.site-footer.ca-footer{padding:40px 22px 20px}}
@media(max-width:480px){[data-gp-theme="nourish-practice"] .ca-header .brand{font-size:22px}[data-gp-theme="nourish-practice"] .ca-header .brand small{font-size:12px}[data-gp-theme="nourish-practice"] .ca-header .brand svg{width:29px;height:29px}[data-gp-theme="nourish-practice"] .ca-trigger{font-size:14px;padding:10px 12px;gap:10px}[data-gp-theme="nourish-practice"] .ca-footnote{display:block}[data-gp-theme="nourish-practice"] .ca-footnote a{margin-top:8px}}
@containerfs-editor-canvas (max-width: 480px){[data-gp-theme="nourish-practice"] .ca-header .brand{font-size:22px}[data-gp-theme="nourish-practice"] .ca-header .brand small{font-size:12px}[data-gp-theme="nourish-practice"] .ca-header .brand svg{width:29px;height:29px}[data-gp-theme="nourish-practice"] .ca-trigger{font-size:14px;padding:10px 12px;gap:10px}[data-gp-theme="nourish-practice"] .ca-footnote{display:block}[data-gp-theme="nourish-practice"] .ca-footnote a{margin-top:8px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="nourish-practice"] .ca-chrome a,[data-gp-theme="nourish-practice"] .ca-chrome :is(button,[role="button"]){transition:none!important;transform:none!important;animation:none!important}}

[data-gp-theme="nourish-practice"] .ca-nourish{--chrome-face:"Alegreya Sans",sans-serif}
[data-gp-theme="nourish-practice"] header.ca-nourish.ca-header{display:flex;flex-direction:column;gap:22px;padding-bottom:0}
[data-gp-theme="nourish-practice"] .ca-nourish .brand{margin:auto}
[data-gp-theme="nourish-practice"] .ca-nourish .ca-kitchen-tabs{display:flex;justify-content:center;align-items:stretch;width:100%;gap:6px;border-bottom:1px solid var(--line)}
[data-gp-theme="nourish-practice"] .ca-nourish .ca-kitchen-tabs nav{gap:6px}
[data-gp-theme="nourish-practice"] .ca-nourish .ca-kitchen-tabs nav a,[data-gp-theme="nourish-practice"] .ca-nourish .ca-trigger{padding:13px 22px;border:1px solid var(--line);border-bottom:0;border-radius:16px 16px 0 0;background:var(--wash);text-align:center}
[data-gp-theme="nourish-practice"] .ca-nourish .ca-trigger{background:var(--paper)}
[data-gp-theme="nourish-practice"] .ca-nourish .ca-recipe-index{display:grid;grid-template-columns:1.15fr 1fr;gap:22px;align-items:start}
[data-gp-theme="nourish-practice"] .ca-nourish .ca-recipe-card{padding:28px;border:1px solid var(--line);border-radius:20px 20px 2px 2px;background:var(--wash)}
[data-gp-theme="nourish-practice"] .ca-nourish .ca-recipe-card:first-child{grid-row:span 2;padding-top:40px}
[data-gp-theme="nourish-practice"] .ca-nourish .ca-recipe-card h3{margin:8px 0 20px}
[data-gp-theme="nourish-practice"] .ca-nourish .ca-recipe-card .ca-label{border-bottom:1px solid var(--line);padding-bottom:15px}
[data-gp-theme="nourish-practice"] .ca-nourish .ca-recipe-card:first-child h3{font-size:42px;max-width:11ch;margin:22px 0}
[data-gp-theme="nourish-practice"] .ca-nourish .ca-table-note{text-align:center;max-width:780px;margin:auto;padding:10px 0 35px}
[data-gp-theme="nourish-practice"] .ca-nourish .ca-table-note h2{font-size:clamp(36px,5vw,68px);max-width:19ch;margin:12px auto 20px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="nourish-practice"] .ca-nourish .ca-table-note h2{font-size:clamp(36px,5cqw,68px)}}
[data-gp-theme="nourish-practice"] .ca-nourish .ca-table-rows{border-top:2px solid var(--ink)}
[data-gp-theme="nourish-practice"] .ca-nourish .ca-table-rows>div{display:grid;grid-template-columns:190px 1fr;gap:30px;align-items:start;padding:21px 0;border-bottom:1px solid var(--line)}
[data-gp-theme="nourish-practice"] .ca-nourish .ca-table-rows .ca-label{padding-top:13px}
@media(max-width:900px){[data-gp-theme="nourish-practice"] header.ca-nourish.ca-header{gap:16px;padding-bottom:0}[data-gp-theme="nourish-practice"] .ca-nourish .brand{margin:0;align-self:flex-start}[data-gp-theme="nourish-practice"] .ca-nourish .ca-kitchen-tabs{justify-content:flex-end}[data-gp-theme="nourish-practice"] .ca-nourish .ca-trigger{padding:12px 18px}[data-gp-theme="nourish-practice"] .ca-nourish .ca-recipe-index{grid-template-columns:1fr;gap:18px}[data-gp-theme="nourish-practice"] .ca-nourish .ca-recipe-card,[data-gp-theme="nourish-practice"] .ca-nourish .ca-recipe-card:first-child{grid-row:auto;padding:24px}[data-gp-theme="nourish-practice"] .ca-nourish .ca-recipe-card:first-child h3{font-size:34px;max-width:none}[data-gp-theme="nourish-practice"] .ca-nourish .ca-table-rows>div{grid-template-columns:1fr;gap:4px;padding:15px 0}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="nourish-practice"] header.ca-nourish.ca-header{gap:16px;padding-bottom:0}[data-gp-theme="nourish-practice"] .ca-nourish .brand{margin:0;align-self:flex-start}[data-gp-theme="nourish-practice"] .ca-nourish .ca-kitchen-tabs{justify-content:flex-end}[data-gp-theme="nourish-practice"] .ca-nourish .ca-trigger{padding:12px 18px}[data-gp-theme="nourish-practice"] .ca-nourish .ca-recipe-index{grid-template-columns:1fr;gap:18px}[data-gp-theme="nourish-practice"] .ca-nourish .ca-recipe-card,[data-gp-theme="nourish-practice"] .ca-nourish .ca-recipe-card:first-child{grid-row:auto;padding:24px}[data-gp-theme="nourish-practice"] .ca-nourish .ca-recipe-card:first-child h3{font-size:34px;max-width:none}[data-gp-theme="nourish-practice"] .ca-nourish .ca-table-rows>div{grid-template-columns:1fr;gap:4px;padding:15px 0}}

/* Menu-only reset. Shapes and composition are authored separately below. */
[data-gp-theme="nourish-practice"] dialog[data-gp-id="mega-menu"].mega-menu{--mi-paper:var(--paper);--mi-ink:var(--ink);--mi-wash:var(--wash,var(--paper));--mi-line:var(--line);--mi-accent:var(--accent,var(--ink));position:fixed;inset:auto;margin:0;padding:0;min-width:0;min-height:0;max-width:none;max-height:none;border:0;border-radius:0;background:var(--mi-paper);color:var(--mi-ink);box-shadow:0 22px 90px #0004;font:16px/1.5 var(--body,sans-serif);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:auto;transform:none}
[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"][open]{display:block;animation:none}
[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"][open]:not([data-closing])>:not(.mi-bar){animation:gp-nourish-mi-arrive 180ms ease-out both}
[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"][data-closing]{animation:gp-nourish-mi-leave 160ms ease-in both}
[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"]::backdrop{background:#0007;backdrop-filter:blur(3px)}
[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] *,[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] *::before,[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] *::after{box-sizing:border-box}
[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] :is(h2,h3,p,figure){margin:0;max-width:none}
[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] h2{font-family:var(--mi-display,var(--display,serif));font-weight:500;line-height:1.1;letter-spacing:-.025em;text-transform:none}
[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] h3{font:600 19px/1.25 var(--body,sans-serif);letter-spacing:0;text-transform:none}
[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] a{color:inherit;text-decoration:none;min-height:44px;transition:background-color 160ms,color 160ms;text-transform:none;letter-spacing:0}
[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] a:hover{text-decoration:underline;text-underline-offset:5px}
[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] a:focus-visible,[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] :is(button,[role="button"]):focus-visible{outline:2px solid currentColor;outline-offset:4px}
[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] small{font:400 13px/1.5 var(--body,sans-serif);letter-spacing:0;text-transform:none}
[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-bar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:0;padding:16px 28px;border-bottom:1px solid var(--mi-line);background:var(--mi-paper);color:var(--mi-ink);font:500 15px/1.3 var(--body,sans-serif)}
[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-bar a{display:flex;align-items:center;font:inherit;max-width:70%}
[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] [data-menu-close]{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:64px;margin:0;padding:9px 12px;border:1px solid var(--mi-line);border-radius:0;background:var(--mi-paper);color:var(--mi-ink);font:500 14px/1.3 var(--body,sans-serif);cursor:pointer;flex:none}
[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-note{font:400 12px/1.5 var(--body,sans-serif);color:var(--mi-ink)}
@keyframes gp-nourish-mi-arrive{from{opacity:0}to{opacity:1}}@keyframes gp-nourish-mi-leave{to{opacity:0}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"][open],[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"][data-closing],[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"][open]>:not(.mi-bar){animation:none}[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] a{transition:none}}

[data-gp-theme="nourish-practice"] dialog[data-gp-id="mega-menu"].mega-menu{--mi-display:"Alegreya Sans",sans-serif;inset:5vh 3vw auto;width:94vw;max-height:90dvh;border-radius:22px 22px 8px 8px;border:1px solid var(--mi-line);background:var(--mi-wash)}

@container fs-editor-canvas (min-width: 0px){

[data-gp-theme="nourish-practice"] dialog[data-gp-id="mega-menu"].mega-menu{inset:5vh 3cqw auto;width:94cqw}}
[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-bar{background:var(--mi-wash);padding:14px 32px;border-bottom:0}[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-kitchen-index{padding:5px 4vw 24px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-kitchen-index{padding:5px 4cqw 24px}}[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-kitchen-title{display:flex;align-items:end;justify-content:space-between;gap:30px;padding:0 0 32px}[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] h2{font-size:43px}[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-kitchen-title p{font-size:17px}[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-recipe-fan{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start;padding:12px 0 8px;gap:0}
[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-recipe{position:relative;background:var(--mi-paper);border:1px solid var(--mi-line);padding:24px 27px;box-shadow:0 8px 18px #0001;min-height:310px}[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-recipe-food{transform:rotate(-3deg);z-index:1}[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-recipe-practice{transform:rotate(1deg);margin-top:17px;z-index:2}[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-recipe-talk{transform:rotate(4deg);margin-top:35px;z-index:3}[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-recipe-tab{position:absolute;left:20px;top:-25px;padding:5px 16px;background:var(--mi-paper);border:1px solid var(--mi-line);border-bottom:0;border-radius:8px 8px 0 0;font-size:13px;font-weight:600}[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-recipe-doodle{height:60px;margin-bottom:12px}[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-recipe-doodle svg{width:90px;height:60px;fill:none;stroke:var(--mi-ink);stroke-width:1.5}[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-recipe-rule{height:60px;margin-bottom:12px;background:repeating-linear-gradient(0deg,transparent 0,transparent 17px,var(--mi-line) 17px,var(--mi-line) 18px);width:65%}[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-recipe h3{font:500 29px/1.1 "Alegreya Sans",sans-serif;min-height:64px;margin-bottom:12px}[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-recipe nav a{display:flex;align-items:center;padding:9px 0;font-size:16px;border-top:1px solid var(--mi-line)}[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-kitchen-action{display:flex;align-items:center;justify-content:center;padding:12px 8px;margin-top:15px;background:var(--mi-ink);color:var(--mi-paper);font-size:15px}[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-note{margin-top:29px;font-size:12px}
@media(max-width:900px){[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-kitchen-index{padding:24px 25px 28px}[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-kitchen-title{display:block;padding-bottom:33px}[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] h2{font-size:36px}[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-kitchen-title p{margin-top:13px;font-size:15px}[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-recipe-fan{display:block;padding:0}[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-recipe,[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-recipe-practice,[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-recipe-talk{transform:none;margin:0 0 42px;min-height:0;padding:21px}[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-recipe-food{border-radius:0 0 12px 0}[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-recipe-practice{margin-left:7px}[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-recipe-talk{margin-left:14px;margin-bottom:0}[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-recipe-rule{display:none}[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-recipe-doodle{float:right;height:52px;width:65px;margin-left:12px}[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-recipe-doodle svg{width:65px;height:50px}[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-recipe h3{min-height:0;font-size:27px;margin-bottom:18px}[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-note{margin-top:24px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-kitchen-index{padding:24px 25px 28px}[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-kitchen-title{display:block;padding-bottom:33px}[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] h2{font-size:36px}[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-kitchen-title p{margin-top:13px;font-size:15px}[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-recipe-fan{display:block;padding:0}[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-recipe,[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-recipe-practice,[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-recipe-talk{transform:none;margin:0 0 42px;min-height:0;padding:21px}[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-recipe-food{border-radius:0 0 12px 0}[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-recipe-practice{margin-left:7px}[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-recipe-talk{margin-left:14px;margin-bottom:0}[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-recipe-rule{display:none}[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-recipe-doodle{float:right;height:52px;width:65px;margin-left:12px}[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-recipe-doodle svg{width:65px;height:50px}[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-recipe h3{min-height:0;font-size:27px;margin-bottom:18px}[data-gp-theme="nourish-practice"] [data-gp-id="mega-menu"] .mi-note{margin-top:24px}}

[data-gp-theme="nourish-practice"]{--paper:rgb(var(--c-paper));--ink:rgb(var(--c-ink-950));--accent:rgb(var(--c-brand-600));--wash:rgb(var(--c-paper-soft));--line:rgb(var(--c-line));--muted:rgb(var(--c-ink-400));--on-accent:var(--fs-on-brand);--focus:rgb(var(--c-accent));--work:var(--fs-surface-inverted,var(--wash));--work-ink:var(--fs-on-surface-inverted,var(--paper));--body:var(--font-sans);}
[data-gp-theme="travel-editorial"]{--ease-out:cubic-bezier(.23,1,.32,1);--ease-drawer:cubic-bezier(.32,.72,0,1)}
[data-gp-theme="travel-editorial"] *{box-sizing:border-box}[data-gp-theme="travel-editorial"]{scroll-behavior:smooth;scroll-padding-top:100px}[data-gp-theme="travel-editorial"]{margin:0}[data-gp-theme="travel-editorial"] img{max-width:100%;display:block}[data-gp-theme="travel-editorial"] :is(button,[role="button"]),[data-gp-theme="travel-editorial"] input,[data-gp-theme="travel-editorial"] select,[data-gp-theme="travel-editorial"] textarea{font:inherit}[data-gp-theme="travel-editorial"] :is(button,[role="button"]),[data-gp-theme="travel-editorial"] a,[data-gp-theme="travel-editorial"] input,[data-gp-theme="travel-editorial"] select,[data-gp-theme="travel-editorial"] textarea{touch-action:manipulation}[data-gp-theme="travel-editorial"] :is(button,[role="button"]),[data-gp-theme="travel-editorial"] a{ -webkit-tap-highlight-color:transparent}[data-gp-theme="travel-editorial"] :is(button,[role="button"]){cursor:pointer}[data-gp-theme="travel-editorial"] :is(button,[role="button"]):active{transform:translateY(1px)}[data-gp-theme="travel-editorial"] a{color:inherit;text-underline-offset:.22em}[data-gp-theme="travel-editorial"] :is(button,[role="button"]):focus-visible,[data-gp-theme="travel-editorial"] a:focus-visible,[data-gp-theme="travel-editorial"] summary:focus-visible,[data-gp-theme="travel-editorial"] input:focus-visible,[data-gp-theme="travel-editorial"] select:focus-visible,[data-gp-theme="travel-editorial"] textarea:focus-visible{outline:3px solid var(--focus,#346ddb);outline-offset:5px}[data-gp-theme="travel-editorial"] textarea{resize:vertical}[data-gp-theme="travel-editorial"] input,[data-gp-theme="travel-editorial"] textarea{caret-color:var(--focus,currentColor)}[data-gp-theme="travel-editorial"] :is(button,[role="button"]),[data-gp-theme="travel-editorial"] select,[data-gp-theme="travel-editorial"] input{min-height:44px}[data-gp-theme="travel-editorial"] summary{cursor:pointer}[data-gp-theme="travel-editorial"] section[id],[data-gp-theme="travel-editorial"] footer[id]{scroll-margin-top:110px}[data-gp-theme="travel-editorial"] [hidden]{display:none!important}[data-gp-theme="travel-editorial"] .skip-link{position:fixed;z-index:200;top:8px;left:8px;background:#fff;color:#111;padding:12px 18px;transform:translateY(-150%)}[data-gp-theme="travel-editorial"] .skip-link:focus{transform:none}
[data-gp-theme="travel-editorial"] .preview-bar{min-height:42px;background:#f6f6f2;color:#252a2a;border-bottom:1px solid #d5d8d4;font:13px/1.3 "Figtree",sans-serif;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 3vw;position:relative;z-index:30}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="travel-editorial"] .preview-bar{padding:5px 3cqw}}[data-gp-theme="travel-editorial"] .preview-bar a{white-space:nowrap}[data-gp-theme="travel-editorial"] .preview-bar [role=group]{display:flex;gap:2px;align-items:center}[data-gp-theme="travel-editorial"] .preview-bar :is(button,[role="button"]){min-height:32px;background:transparent;color:inherit;border:0;padding:6px 10px;border-radius:3px;font-size:13px;transition:background-color 150ms var(--ease-out)}[data-gp-theme="travel-editorial"] .preview-bar [aria-pressed=true]{background:#252a2a;color:#fff}[data-gp-theme="travel-editorial"] .preview-bar :is(button,[role="button"])[data-replay-intro]{border:1px solid #b6beb8}[data-gp-theme="travel-editorial"] .preview-label{color:#515953}[data-gp-theme="travel-editorial"] .preview-bar::selection{background:#252a2a;color:#fff}
[data-gp-theme="travel-editorial"] dialog.mega-menu{max-width:none;max-height:calc(100dvh - 32px);overflow:auto;border:0;padding:0;color:inherit;overscroll-behavior:contain}[data-gp-theme="travel-editorial"] dialog.mega-menu::backdrop{background:rgb(8 16 18 / .52)}[data-gp-theme="travel-editorial"] .mega-menu[open]{animation:gp-velaeditorial-menu-arrive 220ms var(--ease-drawer)}[data-gp-theme="travel-editorial"] .mega-menu[data-closing]{animation:gp-velaeditorial-menu-leave 160ms var(--ease-out) forwards}[data-gp-theme="travel-editorial"] .mega-menu[data-keyboard]{animation:none}[data-gp-theme="travel-editorial"] .menu-lock{overflow:hidden}@keyframes gp-velaeditorial-menu-arrive{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}@keyframes gp-velaeditorial-menu-leave{to{opacity:0;transform:translateY(-10px)}}
[data-gp-theme="travel-editorial"] .preloader{display:none;position:fixed;inset:0;z-index:190;place-content:center;pointer-events:none;text-align:center}[data-gp-theme="travel-editorial"] .preloader.is-active{display:grid;animation:gp-velaeditorial-intro-failsafe 1.3s step-end forwards}[data-gp-theme="travel-editorial"] .preloader.is-leaving{opacity:0;transition:opacity 180ms var(--ease-out)}@keyframes gp-velaeditorial-intro-failsafe{0%,99%{visibility:visible}100%{visibility:hidden}}
@media(max-width:650px){[data-gp-theme="travel-editorial"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="travel-editorial"] .preview-bar .preview-label{display:none}[data-gp-theme="travel-editorial"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="travel-editorial"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="travel-editorial"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="travel-editorial"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="travel-editorial"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="travel-editorial"] .preview-bar .preview-label{display:none}[data-gp-theme="travel-editorial"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="travel-editorial"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="travel-editorial"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="travel-editorial"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="travel-editorial"]{scroll-behavior:auto}[data-gp-theme="travel-editorial"] *,[data-gp-theme="travel-editorial"] *::before,[data-gp-theme="travel-editorial"] *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-gp-theme="travel-editorial"] .preloader.is-active{display:none!important}}
@media(max-width:650px){[data-gp-theme="travel-editorial"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="travel-editorial"] .preview-bar a{font-size:12px}[data-gp-theme="travel-editorial"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="travel-editorial"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="travel-editorial"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="travel-editorial"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="travel-editorial"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="travel-editorial"] .preview-bar a{font-size:12px}[data-gp-theme="travel-editorial"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="travel-editorial"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="travel-editorial"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="travel-editorial"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}

[data-gp-theme="travel-editorial"] *{box-sizing:border-box}[data-gp-theme="travel-editorial"]{background:var(--paper);color:var(--ink);font:18px/1.55 var(--body);--focus:var(--accent)}[data-gp-theme="travel-editorial"] h1,[data-gp-theme="travel-editorial"] h2,[data-gp-theme="travel-editorial"] h3,[data-gp-theme="travel-editorial"] p,[data-gp-theme="travel-editorial"] figure{margin:0}[data-gp-theme="travel-editorial"] h1,[data-gp-theme="travel-editorial"] h2,[data-gp-theme="travel-editorial"] h3{font-family:var(--display);font-weight:500;line-height:1.05}[data-gp-theme="travel-editorial"] h1{font-size:clamp(48px,6.4vw,96px);letter-spacing:-.035em}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="travel-editorial"] h1{font-size:clamp(48px,6.4cqw,96px)}}[data-gp-theme="travel-editorial"] h2{font-size:clamp(36px,4vw,62px);letter-spacing:-.025em}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="travel-editorial"] h2{font-size:clamp(36px,4cqw,62px)}}[data-gp-theme="travel-editorial"] h3{font-size:28px}[data-gp-theme="travel-editorial"] p{max-width:62ch}[data-gp-theme="travel-editorial"] p+p{margin-top:1em}[data-gp-theme="travel-editorial"] .wrap{width:min(1280px,calc(100% - 80px));margin:auto}[data-gp-theme="travel-editorial"] .section{padding:100px 0}[data-gp-theme="travel-editorial"] .section-head{display:flex;justify-content:space-between;gap:40px;margin-bottom:42px;align-items:end}[data-gp-theme="travel-editorial"] .section-head>p{max-width:36ch}[data-gp-theme="travel-editorial"] .kicker{font-size:15px;margin-bottom:18px;color:var(--muted)}[data-gp-theme="travel-editorial"] .small,[data-gp-theme="travel-editorial"] figcaption{font-size:14px;line-height:1.5;color:var(--muted)}[data-gp-theme="travel-editorial"] figcaption{padding:12px 0}[data-gp-theme="travel-editorial"] .site-header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0}[data-gp-theme="travel-editorial"] .brand{font:600 26px/1.15 var(--display);text-decoration:none;display:flex;align-items:center;gap:12px}[data-gp-theme="travel-editorial"] .brand svg{width:40px;height:40px;fill:none;stroke:currentColor;stroke-width:1.8}[data-gp-theme="travel-editorial"] .brand small{display:block;font:13px/1.5 var(--body);margin-top:5px}[data-gp-theme="travel-editorial"] .site-header nav{display:flex;gap:26px;font-size:16px}[data-gp-theme="travel-editorial"] .site-header nav a{text-decoration:none}[data-gp-theme="travel-editorial"] .menu-button,[data-gp-theme="travel-editorial"] .button,[data-gp-theme="travel-editorial"] :is(button,[role="button"]):is([type="submit"],[data-gp-button-type="submit"]){display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:12px 22px;min-height:48px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);text-decoration:none;font:600 16px/1.4 var(--body)}[data-gp-theme="travel-editorial"] .menu-button{background:transparent;color:var(--ink)}[data-gp-theme="travel-editorial"] .menu-button svg{width:20px;fill:none;stroke:currentColor;stroke-width:2}[data-gp-theme="travel-editorial"] .button.accent,[data-gp-theme="travel-editorial"] :is(button,[role="button"]):is([type="submit"],[data-gp-button-type="submit"]){background:var(--accent);border-color:var(--accent);color:var(--on-accent)}[data-gp-theme="travel-editorial"] .text-link{display:inline-block;margin-top:20px;font-weight:600}[data-gp-theme="travel-editorial"] .duo{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}[data-gp-theme="travel-editorial"] .duo img{width:100%;object-fit:cover}[data-gp-theme="travel-editorial"] .choice-row{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}[data-gp-theme="travel-editorial"] .choice-row :is(button,[role="button"]){padding:11px 18px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:16px}[data-gp-theme="travel-editorial"] .choice-row :is(button,[role="button"])[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}[data-gp-theme="travel-editorial"] .task-panel{background:var(--wash);padding:32px;border:1px solid var(--line)}[data-gp-theme="travel-editorial"] .task-panel h3{margin-bottom:16px}[data-gp-theme="travel-editorial"] .task-panel p{margin:12px 0}[data-gp-theme="travel-editorial"] .form{display:grid;grid-template-columns:1fr 1fr;gap:20px}[data-gp-theme="travel-editorial"] .form label{display:grid;gap:8px;font-size:16px;font-weight:600;min-width:0}[data-gp-theme="travel-editorial"] .form input,[data-gp-theme="travel-editorial"] .form select,[data-gp-theme="travel-editorial"] .form textarea{width:100%;min-width:0;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:12px;font-size:17px;font-weight:400;border-radius:0}[data-gp-theme="travel-editorial"] .form textarea{min-height:130px}[data-gp-theme="travel-editorial"] .full{grid-column:1/-1}[data-gp-theme="travel-editorial"] .result{display:block;margin-top:20px;padding:18px;border-left:3px solid var(--accent);background:var(--wash);min-height:0;font-size:17px}[data-gp-theme="travel-editorial"] .result:empty{display:none}[data-gp-theme="travel-editorial"] .band{background:var(--wash)}[data-gp-theme="travel-editorial"] details{border-top:1px solid var(--line);padding:20px 0}[data-gp-theme="travel-editorial"] summary{font-weight:600;min-height:44px}[data-gp-theme="travel-editorial"] details p{padding:12px 0}[data-gp-theme="travel-editorial"] .rule-list{list-style:none;padding:0}[data-gp-theme="travel-editorial"] .rule-list li{border-top:1px solid var(--line);padding:18px 0}[data-gp-theme="travel-editorial"] .site-footer{padding:76px 0 25px;border-top:1px solid var(--line);background:var(--wash)}[data-gp-theme="travel-editorial"] .footer-layout{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px}[data-gp-theme="travel-editorial"] .footer-layout h2{font-size:clamp(38px,4.5vw,64px);margin-bottom:24px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="travel-editorial"] .footer-layout h2{font-size:clamp(38px,4.5cqw,64px)}}[data-gp-theme="travel-editorial"] .footer-layout h3{font:600 17px var(--body);margin-bottom:18px}[data-gp-theme="travel-editorial"] .footer-layout a{display:block;margin:12px 0;font-size:16px}[data-gp-theme="travel-editorial"] .footer-bottom{display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);margin-top:50px;padding-top:22px;font-size:13px;color:var(--muted)}[data-gp-theme="travel-editorial"] dialog.mega-menu{width:min(1180px,calc(100% - 40px));background:var(--paper);color:var(--ink);margin:24px auto}[data-gp-theme="travel-editorial"] .menu-top{display:flex;justify-content:space-between;align-items:center;padding:28px 38px;border-bottom:1px solid var(--line)}[data-gp-theme="travel-editorial"] .menu-top :is(button,[role="button"]){background:transparent;color:var(--ink);border:1px solid var(--line);padding:10px 18px}[data-gp-theme="travel-editorial"] .menu-layout{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:48px}[data-gp-theme="travel-editorial"] .menu-layout h2{margin-bottom:25px}[data-gp-theme="travel-editorial"] .menu-layout nav{display:grid}[data-gp-theme="travel-editorial"] .menu-layout nav a{display:flex;justify-content:space-between;text-decoration:none;padding:16px 0;border-bottom:1px solid var(--line);font-size:23px}[data-gp-theme="travel-editorial"] .menu-layout aside{padding:30px;background:var(--wash)}[data-gp-theme="travel-editorial"] .menu-layout aside p{margin-top:22px}[data-gp-theme="travel-editorial"] .preloader{background:var(--paper);color:var(--ink)}[data-gp-theme="travel-editorial"] .intro-mark{font:44px var(--display)}[data-gp-theme="travel-editorial"] .preloader .intro-mark svg{width:70px;height:70px;display:block;margin:auto auto 20px;fill:none;stroke:currentColor;stroke-width:1.4}[data-gp-theme="travel-editorial"][data-keyboard] :is(button,[role="button"]):active{transform:none}@media(hover:hover) and (pointer:fine){[data-gp-theme="travel-editorial"] .menu-button:hover{background:var(--wash)}[data-gp-theme="travel-editorial"] .button,[data-gp-theme="travel-editorial"] .menu-button,[data-gp-theme="travel-editorial"] .choice-row :is(button,[role="button"]){transition:transform 150ms var(--ease-out),background-color 180ms var(--ease-out)}[data-gp-theme="travel-editorial"] .button:hover{transform:translateY(-2px)}[data-gp-theme="travel-editorial"] .choice-row :is(button,[role="button"]):hover{transform:translateY(-1px)}}@media(max-width:850px){[data-gp-theme="travel-editorial"] .wrap{width:calc(100% - 40px)}[data-gp-theme="travel-editorial"] .section{padding:65px 0}[data-gp-theme="travel-editorial"] .site-header nav{display:none}[data-gp-theme="travel-editorial"] .site-header{padding:20px 0}[data-gp-theme="travel-editorial"] .duo{gap:35px}[data-gp-theme="travel-editorial"] .section-head{align-items:start}[data-gp-theme="travel-editorial"] .footer-layout{gap:28px;grid-template-columns:1.5fr 1fr}}@containerfs-editor-canvas (max-width: 850px){[data-gp-theme="travel-editorial"] .wrap{width:calc(100% - 40px)}[data-gp-theme="travel-editorial"] .section{padding:65px 0}[data-gp-theme="travel-editorial"] .site-header nav{display:none}[data-gp-theme="travel-editorial"] .site-header{padding:20px 0}[data-gp-theme="travel-editorial"] .duo{gap:35px}[data-gp-theme="travel-editorial"] .section-head{align-items:start}[data-gp-theme="travel-editorial"] .footer-layout{gap:28px;grid-template-columns:1.5fr 1fr}}@media(max-width:600px){[data-gp-theme="travel-editorial"] .wrap{width:calc(100% - 32px)}[data-gp-theme="travel-editorial"]{font-size:17px}[data-gp-theme="travel-editorial"] .brand{font-size:22px}[data-gp-theme="travel-editorial"] .brand svg{width:32px;height:32px}[data-gp-theme="travel-editorial"] .menu-button{padding:10px 14px;font-size:14px}[data-gp-theme="travel-editorial"] .duo,[data-gp-theme="travel-editorial"] .footer-layout,[data-gp-theme="travel-editorial"] .menu-layout{grid-template-columns:1fr}[data-gp-theme="travel-editorial"] .section-head{display:block}[data-gp-theme="travel-editorial"] .section-head>p{margin-top:20px}[data-gp-theme="travel-editorial"] .form{grid-template-columns:1fr}[data-gp-theme="travel-editorial"] .full{grid-column:auto}[data-gp-theme="travel-editorial"] .task-panel{padding:23px}[data-gp-theme="travel-editorial"] .footer-bottom{display:block}[data-gp-theme="travel-editorial"] .footer-bottom span:not(.fs-richtext){display:block;margin:10px 0}[data-gp-theme="travel-editorial"] .menu-top{padding:20px}[data-gp-theme="travel-editorial"] .menu-layout{padding:26px;gap:25px}[data-gp-theme="travel-editorial"] .menu-layout nav a{font-size:21px}[data-gp-theme="travel-editorial"] .menu-layout aside{padding:22px}[data-gp-theme="travel-editorial"] .section{padding:55px 0}}@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="travel-editorial"] .wrap{width:calc(100% - 32px)}[data-gp-theme="travel-editorial"]{font-size:17px}[data-gp-theme="travel-editorial"] .brand{font-size:22px}[data-gp-theme="travel-editorial"] .brand svg{width:32px;height:32px}[data-gp-theme="travel-editorial"] .menu-button{padding:10px 14px;font-size:14px}[data-gp-theme="travel-editorial"] .duo,[data-gp-theme="travel-editorial"] .footer-layout,[data-gp-theme="travel-editorial"] .menu-layout{grid-template-columns:1fr}[data-gp-theme="travel-editorial"] .section-head{display:block}[data-gp-theme="travel-editorial"] .section-head>p{margin-top:20px}[data-gp-theme="travel-editorial"] .form{grid-template-columns:1fr}[data-gp-theme="travel-editorial"] .full{grid-column:auto}[data-gp-theme="travel-editorial"] .task-panel{padding:23px}[data-gp-theme="travel-editorial"] .footer-bottom{display:block}[data-gp-theme="travel-editorial"] .footer-bottom span:not(.fs-richtext){display:block;margin:10px 0}[data-gp-theme="travel-editorial"] .menu-top{padding:20px}[data-gp-theme="travel-editorial"] .menu-layout{padding:26px;gap:25px}[data-gp-theme="travel-editorial"] .menu-layout nav a{font-size:21px}[data-gp-theme="travel-editorial"] .menu-layout aside{padding:22px}[data-gp-theme="travel-editorial"] .section{padding:55px 0}}@media(prefers-reduced-motion:reduce){[data-gp-theme="travel-editorial"] :is(button,[role="button"]),[data-gp-theme="travel-editorial"] .button{transform:none!important}}


[data-gp-theme="travel-editorial"]{--paper:#f2e9d8;--ink:#342b26;--accent:#a84431;--wash:#e8dcc7;--line:#b9aa95;--on-accent:#fff8e9;--muted:#635c54;--display:"Newsreader",serif;--body:"Figtree",sans-serif}[data-gp-theme="travel-editorial"][data-palette="1"]{--paper:#eaf0ef;--ink:#243d4b;--accent:#335b71;--wash:#d7e5e7;--line:#99b1ba;--muted:#475f6a}[data-gp-theme="travel-editorial"][data-palette="2"]{--paper:#f5e9e5;--ink:#4b2d3b;--accent:#86475b;--wash:#e7d4d9;--line:#ba9da7;--muted:#684c5a}[data-gp-theme="travel-editorial"][data-mode="dark"]{--paper:#29241f;--ink:#f5ead7;--accent:#e9ad8f;--on-accent:#39251c;--wash:#3b332a;--line:#9a8b78;--muted:#d4c8b7}[data-gp-theme="travel-editorial"][data-mode="dark"][data-palette="1"]{--paper:#172c35;--ink:#eff3ec;--accent:#a6d0de;--wash:#25404b;--line:#7f9ba7}[data-gp-theme="travel-editorial"][data-mode="dark"][data-palette="2"]{--paper:#35232d;--ink:#f7e8e5;--accent:#e9b3c2;--wash:#4b3240;--line:#a48190}[data-gp-theme="travel-editorial"] .brand{font-size:32px}[data-gp-theme="travel-editorial"] .brand small{font-size:13px}[data-gp-theme="travel-editorial"] .journal-strip{display:flex;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;font-size:14px}[data-gp-theme="travel-editorial"] .issue-cover{position:relative;display:grid;grid-template-columns:1fr 250px;padding-top:24px;gap:32px}[data-gp-theme="travel-editorial"] .issue-cover figure{grid-column:1}[data-gp-theme="travel-editorial"] .issue-photo{width:100%;height:590px;object-fit:cover}[data-gp-theme="travel-editorial"] .issue-index{grid-column:2;grid-row:1;padding-top:10px}[data-gp-theme="travel-editorial"] .issue-index :is(button,[role="button"]){display:flex;align-items:center;gap:15px;width:100%;border:0;border-top:1px solid var(--line);padding:17px 0;text-align:left;background:transparent;color:var(--ink);font:32px var(--display)}[data-gp-theme="travel-editorial"] .issue-index :is(button,[role="button"])>small{font:13px var(--body);color:var(--muted)}[data-gp-theme="travel-editorial"] .issue-index :is(button,[role="button"])>span:not(.fs-richtext){margin-left:auto;font:22px var(--body)}[data-gp-theme="travel-editorial"] .issue-index :is(button,[role="button"])[aria-pressed=true]{color:var(--accent);border-top:2px solid var(--accent)}[data-gp-theme="travel-editorial"] .issue-note{font:42px/1.12 var(--display);margin-top:40px}[data-gp-theme="travel-editorial"] .issue-index .small{margin-top:35px}[data-gp-theme="travel-editorial"] .issue-headline{background:var(--paper);position:relative;margin-top:-135px;margin-left:35px;padding:28px 35px 0;grid-column:1;max-width:85%;z-index:2}[data-gp-theme="travel-editorial"] .issue-headline h1{font-size:clamp(58px,5.7vw,88px);line-height:.98}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="travel-editorial"] .issue-headline h1{font-size:clamp(58px,5.7cqw,88px)}}[data-gp-theme="travel-editorial"] .issue-headline>p{max-width:40ch;margin-top:20px}[data-gp-theme="travel-editorial"] .moment-layout{display:grid;grid-template-columns:.85fr 1.3fr 60px;gap:50px;align-items:center}[data-gp-theme="travel-editorial"] .moment-essay h2{margin-bottom:28px}[data-gp-theme="travel-editorial"] .moment-essay .button{margin-top:28px}[data-gp-theme="travel-editorial"] .moment-image{width:100%;height:540px;object-fit:cover}[data-gp-theme="travel-editorial"] .margin-word{writing-mode:vertical-rl;font:54px var(--display);color:var(--accent)}[data-gp-theme="travel-editorial"] .daybook-band{background:var(--wash)}[data-gp-theme="travel-editorial"] .daybook-pages{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:30px 0}[data-gp-theme="travel-editorial"] .daybook-pages article{padding:35px;border-left:1px solid var(--line)}[data-gp-theme="travel-editorial"] .daybook-pages article:first-child{border-left:0}[data-gp-theme="travel-editorial"] .daybook-pages article>span:not(.fs-richtext){font-size:14px;color:var(--muted)}[data-gp-theme="travel-editorial"] .daybook-pages h3{font-size:34px;min-height:80px;margin:25px 0 18px}[data-gp-theme="travel-editorial"] .daybook-pages p{font-size:17px}[data-gp-theme="travel-editorial"] .notes-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:100px}[data-gp-theme="travel-editorial"] .trip-band{border-top:1px solid var(--line)}[data-gp-theme="travel-editorial"] .trip-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:80px}[data-gp-theme="travel-editorial"] .postcard{align-self:start;border:1px solid var(--line);padding:35px;position:relative;min-height:370px;background:var(--wash);transform:rotate(-1deg)}[data-gp-theme="travel-editorial"] .postcard-label{font-size:14px;padding-bottom:25px;border-bottom:1px solid var(--line);margin-bottom:30px}[data-gp-theme="travel-editorial"] .postcard h2{font-size:51px}[data-gp-theme="travel-editorial"] .postcard>p:last-of-type{margin-top:30px;font-size:16px}[data-gp-theme="travel-editorial"] .stamp{position:absolute;right:25px;top:20px;width:65px;height:75px;border:4px double var(--accent);display:grid;place-content:center;text-align:center;font:17px var(--display);transform:rotate(9deg)}[data-gp-theme="travel-editorial"] .mega-menu .menu-layout{grid-template-columns:280px 1fr}[data-gp-theme="travel-editorial"] .mega-menu aside{border:1px solid var(--line);position:relative}[data-gp-theme="travel-editorial"] .mega-menu aside:after{content:"V & Co";font:42px var(--display);display:block;padding-top:25px;border-top:1px solid var(--line);margin-top:35px}@media(max-width:1000px){[data-gp-theme="travel-editorial"] .issue-cover{grid-template-columns:1fr 200px;gap:20px}[data-gp-theme="travel-editorial"] .issue-photo{height:530px}[data-gp-theme="travel-editorial"] .issue-headline{margin-top:-110px;margin-left:20px;padding:25px 25px 0}[data-gp-theme="travel-editorial"] .moment-layout{gap:30px;grid-template-columns:1fr 1fr}[data-gp-theme="travel-editorial"] .margin-word{display:none}[data-gp-theme="travel-editorial"] .notes-layout,[data-gp-theme="travel-editorial"] .trip-layout{gap:40px}}@containerfs-editor-canvas (max-width: 1000px){[data-gp-theme="travel-editorial"] .issue-cover{grid-template-columns:1fr 200px;gap:20px}[data-gp-theme="travel-editorial"] .issue-photo{height:530px}[data-gp-theme="travel-editorial"] .issue-headline{margin-top:-110px;margin-left:20px;padding:25px 25px 0}[data-gp-theme="travel-editorial"] .moment-layout{gap:30px;grid-template-columns:1fr 1fr}[data-gp-theme="travel-editorial"] .margin-word{display:none}[data-gp-theme="travel-editorial"] .notes-layout,[data-gp-theme="travel-editorial"] .trip-layout{gap:40px}}@media(max-width:600px){[data-gp-theme="travel-editorial"] .journal-strip{font-size:12px}[data-gp-theme="travel-editorial"] .issue-cover{display:flex;flex-direction:column;gap:0;padding-top:16px}[data-gp-theme="travel-editorial"] .issue-cover figure{order:1}[data-gp-theme="travel-editorial"] .issue-photo{height:400px}[data-gp-theme="travel-editorial"] .issue-index{order:3;padding-top:25px;display:flex;flex-wrap:wrap;gap:12px}[data-gp-theme="travel-editorial"] .issue-index .kicker{width:100%;margin:0}[data-gp-theme="travel-editorial"] .issue-index>div{display:flex;width:100%;gap:15px}[data-gp-theme="travel-editorial"] .issue-index :is(button,[role="button"]){font-size:25px;gap:7px}[data-gp-theme="travel-editorial"] .issue-index :is(button,[role="button"])>small,[data-gp-theme="travel-editorial"] .issue-index :is(button,[role="button"])>span:not(.fs-richtext){display:none}[data-gp-theme="travel-editorial"] .issue-note{display:none}[data-gp-theme="travel-editorial"] .issue-index .small{margin:8px 0 0}[data-gp-theme="travel-editorial"] .issue-headline{order:2;margin:-70px 12px 0;padding:22px 18px 0;max-width:none}[data-gp-theme="travel-editorial"] .issue-headline h1{font-size:53px}[data-gp-theme="travel-editorial"] .issue-headline>p{font-size:17px}[data-gp-theme="travel-editorial"] .moment-layout,[data-gp-theme="travel-editorial"] .notes-layout,[data-gp-theme="travel-editorial"] .trip-layout{grid-template-columns:1fr;gap:30px}[data-gp-theme="travel-editorial"] .moment-layout figure{order:-1}[data-gp-theme="travel-editorial"] .moment-image{height:370px}[data-gp-theme="travel-editorial"] .daybook-pages{grid-template-columns:1fr}[data-gp-theme="travel-editorial"] .daybook-pages article{border-left:0;border-top:1px solid var(--line);padding:25px 0}[data-gp-theme="travel-editorial"] .daybook-pages h3{min-height:0;margin:15px 0;font-size:30px}[data-gp-theme="travel-editorial"] .postcard{min-height:320px;padding:25px;transform:none}[data-gp-theme="travel-editorial"] .postcard h2{font-size:45px}[data-gp-theme="travel-editorial"] .mega-menu .menu-layout{grid-template-columns:1fr}}@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="travel-editorial"] .journal-strip{font-size:12px}[data-gp-theme="travel-editorial"] .issue-cover{display:flex;flex-direction:column;gap:0;padding-top:16px}[data-gp-theme="travel-editorial"] .issue-cover figure{order:1}[data-gp-theme="travel-editorial"] .issue-photo{height:400px}[data-gp-theme="travel-editorial"] .issue-index{order:3;padding-top:25px;display:flex;flex-wrap:wrap;gap:12px}[data-gp-theme="travel-editorial"] .issue-index .kicker{width:100%;margin:0}[data-gp-theme="travel-editorial"] .issue-index>div{display:flex;width:100%;gap:15px}[data-gp-theme="travel-editorial"] .issue-index :is(button,[role="button"]){font-size:25px;gap:7px}[data-gp-theme="travel-editorial"] .issue-index :is(button,[role="button"])>small,[data-gp-theme="travel-editorial"] .issue-index :is(button,[role="button"])>span:not(.fs-richtext){display:none}[data-gp-theme="travel-editorial"] .issue-note{display:none}[data-gp-theme="travel-editorial"] .issue-index .small{margin:8px 0 0}[data-gp-theme="travel-editorial"] .issue-headline{order:2;margin:-70px 12px 0;padding:22px 18px 0;max-width:none}[data-gp-theme="travel-editorial"] .issue-headline h1{font-size:53px}[data-gp-theme="travel-editorial"] .issue-headline>p{font-size:17px}[data-gp-theme="travel-editorial"] .moment-layout,[data-gp-theme="travel-editorial"] .notes-layout,[data-gp-theme="travel-editorial"] .trip-layout{grid-template-columns:1fr;gap:30px}[data-gp-theme="travel-editorial"] .moment-layout figure{order:-1}[data-gp-theme="travel-editorial"] .moment-image{height:370px}[data-gp-theme="travel-editorial"] .daybook-pages{grid-template-columns:1fr}[data-gp-theme="travel-editorial"] .daybook-pages article{border-left:0;border-top:1px solid var(--line);padding:25px 0}[data-gp-theme="travel-editorial"] .daybook-pages h3{min-height:0;margin:15px 0;font-size:30px}[data-gp-theme="travel-editorial"] .postcard{min-height:320px;padding:25px;transform:none}[data-gp-theme="travel-editorial"] .postcard h2{font-size:45px}[data-gp-theme="travel-editorial"] .mega-menu .menu-layout{grid-template-columns:1fr}}

@media(min-width:851px) and (max-width:1200px){[data-gp-theme="travel-editorial"] .site-header nav{display:none}}

[data-gp-theme="travel-editorial"][data-input=keyboard] :is(.button,.menu-button,.choice-row button){transition:none;transform:none}

[data-gp-theme="travel-editorial"] .daybook-pages article{min-height:260px}@media(max-width:600px){[data-gp-theme="travel-editorial"] .daybook-pages article{min-height:215px}}@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="travel-editorial"] .daybook-pages article{min-height:215px}}

/* Preview chrome and accessibility only. Theme authors own the visual worlds. */
[data-gp-theme="travel-editorial"][data-premium]{color-scheme:light;background:var(--paper);color:var(--ink);accent-color:var(--accent);scrollbar-color:var(--accent) var(--wash)}
[data-gp-theme="travel-editorial"][data-premium][data-mode=dark]{color-scheme:dark}
[data-gp-theme="travel-editorial"][data-premium] ::selection{background:var(--accent);color:var(--on-accent)}
[data-gp-theme="travel-editorial"][data-premium] :is(input,textarea){caret-color:var(--accent)}
[data-gp-theme="travel-editorial"][data-premium] :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--accent);outline-offset:4px}
[data-gp-theme="travel-editorial"][data-premium] :is(input,select,textarea){max-width:100%}
[data-gp-theme="travel-editorial"][data-premium] :is(input,textarea)::placeholder{color:var(--muted);opacity:1}
[data-gp-theme="travel-editorial"][data-premium] .preview-bar{display:flex;flex-wrap:wrap;justify-content:flex-start;background:#f5f5f0;color:#242d2c;border-color:#cbd0c8;gap:8px 14px;position:relative;font:13px/1.3 "Figtree",sans-serif;min-height:52px;padding:6px 3vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="travel-editorial"][data-premium] .preview-bar{padding:6px 3cqw}}
[data-gp-theme="travel-editorial"][data-premium] .preview-bar>a{font-weight:600;min-height:40px;display:flex;align-items:center}
[data-gp-theme="travel-editorial"][data-premium] .preview-bar [role=group]{margin-left:auto;display:flex;gap:2px}
[data-gp-theme="travel-editorial"][data-premium] .preview-bar :is(button,select){font:13px/1.3 "Figtree",sans-serif;min-height:40px;max-width:100%;border-radius:3px}
[data-gp-theme="travel-editorial"][data-premium] .preview-bar select{background:#fff;color:#242d2c;border:1px solid #a2ada4;padding:7px 24px 7px 9px}
[data-gp-theme="travel-editorial"][data-premium] .preview-bar [aria-pressed=true]{background:#242d2c;color:#fff}
[data-gp-theme="travel-editorial"][data-premium] .preview-bar .preview-label{font:12px/1.3 "Figtree",sans-serif;color:#48554f}
[data-gp-theme="travel-editorial"][data-premium] .preview-bar :focus-visible{outline-color:#254fbb}
[data-gp-theme="travel-editorial"][data-premium] .preview-bar [data-replay-intro]{font-size:12px;margin:0}
[data-gp-theme="travel-editorial"][data-premium] .preview-bar [data-replay-intro]::after{content:none}
[data-gp-theme="travel-editorial"][data-premium] .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
[data-gp-theme="travel-editorial"][data-premium] .premium-action{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 22px;background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);text-decoration:none;font-weight:600;transition:transform 150ms var(--ease-out),background-color 150ms var(--ease-out)}
[data-gp-theme="travel-editorial"][data-premium] .premium-action:active{transform:translateY(1px)}
[data-gp-theme="travel-editorial"][data-premium] .premium-action:disabled{opacity:.6;cursor:not-allowed}
[data-gp-theme="travel-editorial"][data-premium] :is(h1,h2,h3){text-wrap:balance}
[data-gp-theme="travel-editorial"][data-premium] p{text-wrap:pretty}
/* Put down the opaque menu surface immediately, then introduce its content. */
[data-gp-theme="travel-editorial"][data-premium] .mega-menu[open]:not([data-closing]){animation:none}
[data-gp-theme="travel-editorial"][data-premium] .mega-menu[open]:not([data-closing])>:not(:first-child){animation:gp-velaeditorial-premium-menu-content 160ms var(--ease-out)}
[data-gp-theme="travel-editorial"][data-premium] .mega-menu[data-keyboard]>:not(:first-child){animation:none!important}
[data-gp-theme="travel-editorial"][data-premium][data-input=keyboard] :is(button,[role="button"]):active{transform:none}
@keyframes gp-velaeditorial-premium-menu-content{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:650px){
 [data-gp-theme="travel-editorial"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="travel-editorial"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="travel-editorial"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="travel-editorial"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="travel-editorial"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="travel-editorial"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="travel-editorial"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="travel-editorial"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@containerfs-editor-canvas (max-width: 650px){
 [data-gp-theme="travel-editorial"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="travel-editorial"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="travel-editorial"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="travel-editorial"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="travel-editorial"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="travel-editorial"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="travel-editorial"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="travel-editorial"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@media(prefers-reduced-motion:reduce){[data-gp-theme="travel-editorial"][data-premium] .premium-action{transition:none;transform:none}}

/* Website page primitives and actual layout modes. Authored theme CSS owns identity. */
[data-gp-theme="travel-editorial"][data-framed=true] .preview-bar,[data-gp-theme="travel-editorial"][data-framed=true] .site-open-preview{display:none!important}
[data-gp-theme="travel-editorial"][data-site]{--ip-paper:var(--paper,#f4f2eb);--ip-ink:var(--ink,#192f2c);--ip-wash:var(--wash,var(--paper,#e6e9df));--ip-accent:var(--accent,var(--rust,#315b50));--ip-on:var(--on-accent,var(--paper,#fff));--ip-muted:var(--muted,var(--ink,#45534d));--ip-line:var(--line,var(--rule,#a1aca5))}
[data-gp-theme="travel-editorial"][data-inside]{background:var(--ip-paper);color:var(--ip-ink);font:18px/1.65 var(--body,"Figtree",sans-serif)}
[data-gp-theme="travel-editorial"] .inside-page :is(h1,h2,h3){font-family:var(--display,inherit);color:inherit;letter-spacing:-.035em;line-height:1.1;font-weight:500;max-width:22ch}
[data-gp-theme="travel-editorial"] .inside-page h1{font-size:clamp(42px,5.3vw,80px);margin:0 0 26px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="travel-editorial"] .inside-page h1{font-size:clamp(42px,5.3cqw,80px)}}[data-gp-theme="travel-editorial"] .inside-page h2{font-size:clamp(30px,3vw,49px);margin:0 0 24px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="travel-editorial"] .inside-page h2{font-size:clamp(30px,3cqw,49px)}}[data-gp-theme="travel-editorial"] .inside-page h3{font-size:25px;margin:0 0 15px}
[data-gp-theme="travel-editorial"] .inside-page :is(p,li){max-width:72ch}[data-gp-theme="travel-editorial"] .inside-page p{margin:0 0 20px}[data-gp-theme="travel-editorial"] .inside-page a{color:inherit}[data-gp-theme="travel-editorial"] .inside-page img{max-width:100%;width:100%;height:100%;object-fit:cover}[data-gp-theme="travel-editorial"] .inside-page figure{margin:0}[data-gp-theme="travel-editorial"] .inside-page :is(button,[role="button"]){color:inherit}
[data-gp-theme="travel-editorial"] .ip-hero,[data-gp-theme="travel-editorial"] .ip-section{width:min(1320px,calc(100% - 96px));margin-inline:auto;padding-block:70px}[data-gp-theme="travel-editorial"] .ip-hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:65px}[data-gp-theme="travel-editorial"] .ip-opening{min-width:0}[data-gp-theme="travel-editorial"] .ip-hero:has(>.ip-opening:only-child){grid-template-columns:1fr}[data-gp-theme="travel-editorial"] .ip-art{height:430px;position:relative}[data-gp-theme="travel-editorial"] .ip-art img{object-fit:cover}[data-gp-theme="travel-editorial"] .ip-art figcaption,[data-gp-theme="travel-editorial"] .ip-caption{font-size:14px;line-height:1.5;color:var(--ip-muted);padding-top:10px}[data-gp-theme="travel-editorial"] .ip-section>.ip-caption{margin-bottom:20px}[data-gp-theme="travel-editorial"] .ip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}[data-gp-theme="travel-editorial"] .ip-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px}[data-gp-theme="travel-editorial"] .ip-card{min-width:0;border-top:1px solid var(--ip-line);padding:25px 0}[data-gp-theme="travel-editorial"] .ip-card figure{height:230px;margin-bottom:25px}[data-gp-theme="travel-editorial"] .ip-reading{width:min(76ch,calc(100% - 48px));margin-inline:auto;padding-block:55px}[data-gp-theme="travel-editorial"] .ip-reading h2{margin-top:40px}[data-gp-theme="travel-editorial"] .ip-ledger{margin:24px 0}[data-gp-theme="travel-editorial"] .ip-ledger>div{display:grid;grid-template-columns:1fr 1.4fr;gap:20px;border-top:1px solid var(--ip-line);padding:15px 0}[data-gp-theme="travel-editorial"] .ip-ledger dt{font-weight:600}[data-gp-theme="travel-editorial"] .ip-ledger dd{margin:0}[data-gp-theme="travel-editorial"] .ip-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border:1px solid var(--ip-accent);background:var(--ip-accent);color:var(--ip-on)!important;text-decoration:none;font-size:16px;transition:transform 150ms var(--ease-out)}[data-gp-theme="travel-editorial"] .ip-action.secondary{background:transparent;color:var(--ip-ink)!important;border-color:var(--ip-line)}[data-gp-theme="travel-editorial"] .ip-band{padding:55px max(24px,calc((100% - 1320px)/2));background:var(--ip-wash);color:var(--ip-ink)}[data-gp-theme="travel-editorial"] .ip-band p{max-width:65ch}[data-gp-theme="travel-editorial"] .ip-note{font-size:15px;border-left:3px solid var(--ip-accent);padding:12px 18px;background:var(--ip-wash);color:var(--ip-ink);margin-block:20px}[data-gp-theme="travel-editorial"] .ip-form{display:grid;gap:22px}[data-gp-theme="travel-editorial"] .ip-form label{display:grid;gap:8px;font-size:16px}[data-gp-theme="travel-editorial"] .ip-form :is(input,textarea,select){width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid var(--ip-line);background:var(--ip-paper);color:var(--ip-ink);font:inherit;border-radius:0}[data-gp-theme="travel-editorial"] .ip-form :is(input,textarea)::placeholder{color:var(--ip-muted);opacity:1}[data-gp-theme="travel-editorial"] .ip-field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}[data-gp-theme="travel-editorial"] .ip-form :is(button,[role="button"]){justify-self:start}[data-gp-theme="travel-editorial"] .ip-form textarea{min-height:135px}[data-gp-theme="travel-editorial"] .inside-page output[data-draft-output]{display:block;white-space:pre-wrap;padding:25px;background:var(--ip-wash);color:var(--ip-ink);border:1px solid var(--ip-line);overflow-wrap:anywhere}[data-gp-theme="travel-editorial"] .ip-checks{display:grid;gap:12px}[data-gp-theme="travel-editorial"] .ip-checks label{display:flex;align-items:start;gap:14px;border-top:1px solid var(--ip-line);padding:16px 0;min-height:52px}[data-gp-theme="travel-editorial"] .ip-checks input{width:22px;height:22px;min-height:22px;flex-shrink:0;margin-top:4px;accent-color:var(--ip-accent)}[data-gp-theme="travel-editorial"] .inside-page details{border-top:1px solid var(--ip-line);padding:18px 0}[data-gp-theme="travel-editorial"] .inside-page summary{min-height:44px;font-size:21px;cursor:pointer}[data-gp-theme="travel-editorial"] .inside-page details p{padding:16px 0 0}[data-gp-theme="travel-editorial"] .inside-page [data-filter-group]>[role=group]{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}[data-gp-theme="travel-editorial"] .inside-page [data-filter]{padding:10px 18px;min-height:44px;background:transparent;color:var(--ip-ink);border:1px solid var(--ip-line)}[data-gp-theme="travel-editorial"] .inside-page [data-filter][aria-pressed=true]{background:var(--ip-accent);color:var(--ip-on)}[data-gp-theme="travel-editorial"] .site-directory{padding:30px!important;background:var(--ip-paper)!important;color:var(--ip-ink)!important;border-top:1px solid var(--ip-line)}[data-gp-theme="travel-editorial"] .site-directory h3{font:600 17px/1.4 var(--body,"Figtree",sans-serif);margin:0 0 16px}[data-gp-theme="travel-editorial"] .site-directory>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 25px}[data-gp-theme="travel-editorial"] .site-directory a{display:block;font:16px/1.5 var(--body,"Figtree",sans-serif)!important;min-height:44px;padding:10px 0!important;color:inherit!important;text-decoration:none}[data-gp-theme="travel-editorial"] .site-directory a[aria-current=page]{text-decoration:underline;font-weight:600!important}[data-gp-theme="travel-editorial"] .site-open-preview{display:block;padding:10px 20px;background:#eef0eb;color:#20322d;font:14px/1.4 "Figtree",sans-serif;text-align:center}
[data-gp-theme="travel-editorial"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){width:100%;padding-inline:max(24px,4vw)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="travel-editorial"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){padding-inline:max(24px,4cqw)}}
[data-gp-theme="travel-editorial"]:has([data-gp-theme="travel-editorial"][data-layout=boxed]){background:#a6afa9}[data-gp-theme="travel-editorial"][data-layout=boxed]{width:min(1200px,calc(100% - 64px));margin-inline:auto;box-shadow:0 0 0 1px #0002,0 20px 70px #0002;min-height:100dvh;background:var(--ip-paper)}
[data-gp-theme="travel-editorial"][data-layout=centered] :is(.ip-hero,.opening,.cake-opening,.gp-title,.book-opening,.poster-opening,.portal-opening,.destination-opening,.route-opening){text-align:center}
[data-gp-theme="travel-editorial"][data-layout=centered] .ip-hero{grid-template-columns:1fr;max-width:1000px;justify-items:center}[data-gp-theme="travel-editorial"][data-layout=centered] .ip-opening{display:grid;justify-items:center}[data-gp-theme="travel-editorial"][data-layout=centered] .ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="travel-editorial"][data-layout=centered] .ip-art{width:min(760px,100%)}
[data-gp-theme="travel-editorial"][data-layout=minimalist] :is(.ip-section,.ip-hero){padding-block:42px}[data-gp-theme="travel-editorial"][data-layout=minimalist] :is(.ip-card,.ip-art,.ip-note){border-radius:0;box-shadow:none;background-image:none}[data-gp-theme="travel-editorial"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5vw,64px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="travel-editorial"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5cqw,64px)}}[data-gp-theme="travel-editorial"][data-layout=minimalist] :is(.mullions,.glaze-rim,.cake-sticker,.paper-corner){opacity:0}[data-gp-theme="travel-editorial"][data-layout=minimalist] :is(.ip-art img,.opening img){border-radius:0}
[data-gp-theme="travel-editorial"][data-layout=edge-hero] .ip-hero{width:100%;padding-inline:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="travel-editorial"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4vw)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="travel-editorial"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4cqw)}}[data-gp-theme="travel-editorial"][data-layout=edge-hero] .ip-art{height:600px}[data-gp-theme="travel-editorial"][data-layout=edge-hero] .ip-art img{border-radius:0}[data-gp-theme="travel-editorial"][data-layout=edge-hero] .ip-art figcaption{padding:8px 20px}
[data-gp-theme="travel-editorial"][data-layout=full-width] .inside-page>.ip-opening{width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="travel-editorial"][data-layout=full-width] .inside-page>.ip-opening{padding-inline:4cqw}}
[data-gp-theme="travel-editorial"][data-layout=centered] .inside-page>.ip-opening{display:flex;flex-direction:column;align-items:center;text-align:center;width:min(1000px,calc(100% - 48px));gap:30px}[data-gp-theme="travel-editorial"][data-layout=centered] .inside-page>.ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="travel-editorial"][data-layout=centered] .inside-page>.ip-opening>figure{width:min(780px,100%)}
[data-gp-theme="travel-editorial"][data-layout=minimalist] .inside-page>.ip-opening{padding-block:38px}[data-gp-theme="travel-editorial"][data-layout=minimalist] .inside-page>.ip-opening :is(h1,figure){box-shadow:none;border-radius:0}
[data-gp-theme="travel-editorial"][data-layout=edge-hero] .inside-page>.ip-opening{width:100%;max-width:none;padding:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="travel-editorial"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="travel-editorial"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4cqw}}[data-gp-theme="travel-editorial"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:600px;max-width:none;align-self:stretch}[data-gp-theme="travel-editorial"][data-layout=edge-hero] .inside-page>.ip-opening>figure img{height:100%;object-fit:cover;border-radius:0}
/* Existing home compositions gain real width/spacing modes without replacing their content. */
[data-gp-theme="travel-editorial"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="travel-editorial"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){padding-inline:4cqw}}
[data-gp-theme="travel-editorial"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child{text-align:center}
[data-gp-theme="travel-editorial"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(h1,p){margin-inline:auto}[data-gp-theme="travel-editorial"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(.opening-copy,.elevation-copy,.cake-copy,.hero-copy){text-align:center}
[data-gp-theme="travel-editorial"][data-layout=minimalist]:not([data-inside]) .gp-source-main>section{padding-block:44px}[data-gp-theme="travel-editorial"][data-layout=minimalist]:not([data-inside]) :is(.hero-sleeve,.calendar,.hello-note,.open-book){box-shadow:none}
[data-gp-theme="travel-editorial"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child{width:100%;max-width:none;margin-inline:0;padding-inline:0;background:var(--ip-wash)}[data-gp-theme="travel-editorial"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="travel-editorial"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4cqw}}[data-gp-theme="travel-editorial"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:600px}
@media(hover:hover) and (pointer:fine){[data-gp-theme="travel-editorial"] .ip-action:hover{transform:translateY(-2px)}[data-gp-theme="travel-editorial"] .site-directory a:hover{text-decoration:underline}}
@media(max-width:850px){[data-gp-theme="travel-editorial"] .ip-hero,[data-gp-theme="travel-editorial"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="travel-editorial"] .ip-hero{gap:30px}[data-gp-theme="travel-editorial"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="travel-editorial"] .ip-two{gap:30px}[data-gp-theme="travel-editorial"] .ip-art{height:340px}}
@containerfs-editor-canvas (max-width: 850px){[data-gp-theme="travel-editorial"] .ip-hero,[data-gp-theme="travel-editorial"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="travel-editorial"] .ip-hero{gap:30px}[data-gp-theme="travel-editorial"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="travel-editorial"] .ip-two{gap:30px}[data-gp-theme="travel-editorial"] .ip-art{height:340px}}
@media(max-width:600px){[data-gp-theme="travel-editorial"] .ip-hero,[data-gp-theme="travel-editorial"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="travel-editorial"] .ip-hero,[data-gp-theme="travel-editorial"] .ip-two,[data-gp-theme="travel-editorial"] .ip-grid,[data-gp-theme="travel-editorial"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="travel-editorial"] .ip-art{height:300px}[data-gp-theme="travel-editorial"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="travel-editorial"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="travel-editorial"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="travel-editorial"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="travel-editorial"] .site-directory{padding:22px!important}[data-gp-theme="travel-editorial"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="travel-editorial"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="travel-editorial"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="travel-editorial"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="travel-editorial"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="travel-editorial"] .ip-hero,[data-gp-theme="travel-editorial"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="travel-editorial"] .ip-hero,[data-gp-theme="travel-editorial"] .ip-two,[data-gp-theme="travel-editorial"] .ip-grid,[data-gp-theme="travel-editorial"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="travel-editorial"] .ip-art{height:300px}[data-gp-theme="travel-editorial"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="travel-editorial"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="travel-editorial"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="travel-editorial"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="travel-editorial"] .site-directory{padding:22px!important}[data-gp-theme="travel-editorial"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="travel-editorial"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="travel-editorial"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="travel-editorial"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="travel-editorial"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@media(max-width:600px){[data-gp-theme="travel-editorial"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="travel-editorial"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="travel-editorial"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="travel-editorial"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="travel-editorial"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="travel-editorial"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
[data-gp-theme="travel-editorial"] .inside-page a[aria-disabled=true]{cursor:default;text-decoration:none}
[data-gp-theme="travel-editorial"][data-layout=edge-hero] .inside-page .ip-hero .ip-art{transform:none}
@media(prefers-reduced-motion:reduce){[data-gp-theme="travel-editorial"] .ip-action{transition:none;transform:none!important}}
/* Task actions always use an explicit contrasting pair, including themed form overrides. */
[data-gp-theme="travel-editorial"][data-site] .inside-page :is(.ip-form :is(button,[role="button"]):is([type="submit"],[data-gp-button-type="submit"]),[data-save-draft],.ip-action:not(.secondary)){
 background:var(--ip-ink)!important;color:var(--ip-paper)!important;border:1px solid var(--ip-ink)!important;
 min-height:48px;padding:12px 22px;font-size:16px;line-height:1.4;
}
[data-gp-theme="travel-editorial"][data-site] .inside-page .ip-action.secondary{background:transparent!important;color:var(--ip-ink)!important;border-color:var(--ip-line)!important}
[data-gp-theme="travel-editorial"][data-site] .inside-page .ip-form :is(select,select option){background-color:var(--ip-paper);color:var(--ip-ink)}
[data-gp-theme="travel-editorial"] .site-plan-label{display:block;font:400 14px/1.45 var(--body,sans-serif);margin-top:6px;text-decoration:none;opacity:1}
[data-gp-theme="travel-editorial"] a[data-preview-plan]{cursor:pointer}[data-gp-theme="travel-editorial"] .inside-page a[data-preview-plan]{text-decoration:none}
[data-gp-theme="travel-editorial"][data-site] .site-directory a[data-preview-plan]{display:flex;flex-direction:column;align-items:flex-start;gap:2px}[data-gp-theme="travel-editorial"] .site-directory .site-plan-label{font-size:13px;margin:0}

[data-gp-theme="travel-editorial"][data-inside] .ip-opening{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:center;margin:0 auto;padding:64px 0 48px;width:min(1280px,calc(100% - 64px));border-bottom:1px solid var(--line,#9a9a91)}

@container fs-editor-canvas (min-width: 0px){

[data-gp-theme="travel-editorial"][data-inside] .ip-opening{gap:clamp(24px,5cqw,80px)}}
[data-gp-theme="travel-editorial"][data-inside] .ip-opening:not(:has(figure)){grid-template-columns:1fr;max-width:1280px}[data-gp-theme="travel-editorial"][data-inside] .ip-opening h1{max-width:16ch;font-size:clamp(42px,6vw,86px);line-height:1.03}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="travel-editorial"][data-inside] .ip-opening h1{font-size:clamp(42px,6cqw,86px)}}
[data-gp-theme="travel-editorial"][data-inside] .ip-folio{font-size:14px;margin-bottom:20px;color:var(--muted,currentColor)}[data-gp-theme="travel-editorial"][data-inside] .ip-deck{max-width:58ch;margin-top:26px;font-size:21px;line-height:1.55}
[data-gp-theme="travel-editorial"][data-inside] .ip-art{margin:0;min-width:0}[data-gp-theme="travel-editorial"][data-inside] .ip-art img{width:100%;height:360px;object-fit:cover}[data-gp-theme="travel-editorial"][data-inside] .ip-art figcaption{font-size:13px;line-height:1.5;padding-top:12px}
[data-gp-theme="travel-editorial"][data-inside] .ip-section{padding:50px 0;margin:auto;width:min(1280px,calc(100% - 64px))}[data-gp-theme="travel-editorial"][data-inside] .ip-section>h2{font-size:clamp(30px,3.6vw,52px);max-width:25ch;margin-bottom:26px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="travel-editorial"][data-inside] .ip-section>h2{font-size:clamp(30px,3.6cqw,52px)}}
[data-gp-theme="travel-editorial"][data-inside] .ip-section>p{max-width:70ch;line-height:1.65;margin:20px 0}[data-gp-theme="travel-editorial"] .ip-essays{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}[data-gp-theme="travel-editorial"] .ip-essays article{border-top:2px solid var(--accent,currentColor);padding-top:22px}[data-gp-theme="travel-editorial"] .ip-essays h3,[data-gp-theme="travel-editorial"] .ip-sequence h3{font-size:26px;margin-bottom:14px}[data-gp-theme="travel-editorial"] .ip-essays p,[data-gp-theme="travel-editorial"] .ip-sequence p{font-size:17px;line-height:1.65}
[data-gp-theme="travel-editorial"] .ip-sequence{list-style:decimal;padding:0 0 0 28px;margin:0;display:grid;gap:26px}[data-gp-theme="travel-editorial"] .ip-sequence li{padding-left:15px;max-width:74ch}[data-gp-theme="travel-editorial"] .ip-sequence li::marker{color:var(--accent,currentColor);font-weight:700}
[data-gp-theme="travel-editorial"] .ip-ledger{margin:22px 0}[data-gp-theme="travel-editorial"] .ip-ledger>div{display:grid;grid-template-columns:1fr 1.6fr;gap:20px;border-top:1px solid var(--line,#999);padding:16px 0}[data-gp-theme="travel-editorial"] .ip-ledger dt{font-weight:600}[data-gp-theme="travel-editorial"] .ip-ledger dd{margin:0;line-height:1.6}[data-gp-theme="travel-editorial"] .ip-action{display:inline-flex;gap:12px;padding:12px 18px;min-height:48px;align-items:center;text-decoration:none;border:1px solid currentColor;background:transparent;color:inherit;font:600 16px/1.4 var(--body,inherit)}
[data-gp-theme="travel-editorial"] .ip-band{width:min(1280px,calc(100% - 64px));margin:30px auto 64px;padding:32px;display:flex;align-items:center;justify-content:space-between;gap:32px;border:1px solid var(--line,#999);background:var(--wash,transparent)}[data-gp-theme="travel-editorial"] .ip-band h2{font-size:34px;margin-bottom:16px}[data-gp-theme="travel-editorial"] .ip-band p{max-width:58ch;font-size:17px}[data-gp-theme="travel-editorial"] .ip-band>.ip-action{flex-shrink:0}
[data-gp-theme="travel-editorial"] .ip-draft{max-width:850px}[data-gp-theme="travel-editorial"] .ip-form{display:grid;grid-template-columns:1fr 1fr;gap:22px}[data-gp-theme="travel-editorial"] .ip-form label{display:grid;gap:9px;font-size:16px;min-width:0}[data-gp-theme="travel-editorial"] .ip-form input,[data-gp-theme="travel-editorial"] .ip-form select,[data-gp-theme="travel-editorial"] .ip-form textarea{width:100%;min-width:0;background:var(--paper,#fff);color:var(--ink,#222);border:1px solid var(--line,#888);padding:12px;font:inherit;border-radius:0}[data-gp-theme="travel-editorial"] .ip-form label:has(textarea),[data-gp-theme="travel-editorial"] .ip-form>.ip-note{grid-column:1/-1}[data-gp-theme="travel-editorial"] .ip-form textarea{min-height:130px}[data-gp-theme="travel-editorial"] .ip-note{font-size:14px;line-height:1.6;max-width:68ch}[data-gp-theme="travel-editorial"] .ip-draft output{display:block;white-space:pre-wrap;padding:24px;margin-top:24px;border:1px solid var(--line,#888);background:var(--wash,transparent)}
[data-gp-theme="travel-editorial"] .ip-checks{max-width:800px}[data-gp-theme="travel-editorial"] .ip-checks label{display:flex;gap:16px;align-items:start;border-bottom:1px solid var(--line,#999);padding:18px 0;line-height:1.55}[data-gp-theme="travel-editorial"] .ip-checks input{width:21px;height:21px;flex-shrink:0;accent-color:var(--accent,currentColor);margin-top:3px}[data-gp-theme="travel-editorial"] .ip-checks output{display:block;margin-top:22px;font-weight:600}
[data-gp-theme="travel-editorial"] .ip-faq{max-width:850px}[data-gp-theme="travel-editorial"] .ip-faq details{border-top:1px solid var(--line,#999);padding:18px 0}[data-gp-theme="travel-editorial"] .ip-faq summary{min-height:44px;cursor:pointer;font-weight:600}[data-gp-theme="travel-editorial"] .ip-faq p{padding:12px 0;line-height:1.7;max-width:72ch}[data-gp-theme="travel-editorial"] .ip-choices{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}[data-gp-theme="travel-editorial"] .ip-choices :is(button,[role="button"]),[data-gp-theme="travel-editorial"] [data-filter]{background:var(--paper,#fff);color:var(--ink,#222);border:1px solid var(--line,#999);padding:12px 18px;font:inherit;min-height:44px;cursor:pointer}[data-gp-theme="travel-editorial"] .ip-choices [aria-pressed=true],[data-gp-theme="travel-editorial"] [data-filter][aria-pressed=true]{outline:2px solid var(--accent,currentColor);outline-offset:3px}[data-gp-theme="travel-editorial"] .ip-notes output{display:block;padding:20px;background:var(--wash,transparent);max-width:72ch;line-height:1.6}
[data-gp-theme="travel-editorial"] .ip-records{display:grid;gap:28px;margin:28px 0}[data-gp-theme="travel-editorial"] .ip-records article{border-top:1px solid var(--line,#999);padding:28px 0;display:grid;grid-template-columns:1fr 1.2fr;gap:32px}[data-gp-theme="travel-editorial"] .ip-records article>img{width:100%;height:290px;object-fit:cover}[data-gp-theme="travel-editorial"] .ip-records h3{font-size:34px;margin-bottom:20px}[data-gp-theme="travel-editorial"] .ip-records p{line-height:1.65;margin:16px 0}[data-gp-theme="travel-editorial"] .ip-records .ip-action{margin-top:16px}[data-gp-theme="travel-editorial"] .ip-detail-record{padding:36px 0;border-top:2px solid var(--accent,currentColor);scroll-margin-top:30px}[data-gp-theme="travel-editorial"] .ip-detail-record>h3{font-size:36px;margin-bottom:22px}[data-gp-theme="travel-editorial"] .ip-detail-record>p{max-width:72ch;line-height:1.7}
[data-gp-theme="travel-editorial"] .ip-reading{max-width:76ch!important;margin-left:auto!important;margin-right:auto!important}[data-gp-theme="travel-editorial"] .ip-reading h3{margin-top:28px}[data-gp-theme="travel-editorial"] .ip-table-scroll{overflow-x:auto}[data-gp-theme="travel-editorial"] .ip-data-table{border-collapse:collapse;width:100%;min-width:650px;font-size:16px}[data-gp-theme="travel-editorial"] .ip-data-table th,[data-gp-theme="travel-editorial"] .ip-data-table td{border:1px solid var(--line,#999);padding:18px;text-align:left;vertical-align:top;line-height:1.6}[data-gp-theme="travel-editorial"] .ip-data-table th{background:var(--wash,transparent)}[data-gp-theme="travel-editorial"] .ip-filter-bar{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}[data-gp-theme="travel-editorial"] .ip-filter-bar output{width:100%;margin:8px 0}
[data-gp-theme="travel-editorial"][data-inside] :is(.ip-action,summary,[data-filter],[data-note-choice],input,select,textarea):focus-visible{outline:3px solid var(--accent,currentColor);outline-offset:4px}[data-gp-theme="travel-editorial"][data-inside] .ip-action:hover{opacity:.85}[data-gp-theme="travel-editorial"][data-inside] .ip-action:active{transform:translateY(1px)}
@media(max-width:700px){[data-gp-theme="travel-editorial"][data-inside] .ip-opening,[data-gp-theme="travel-editorial"][data-inside] .ip-section,[data-gp-theme="travel-editorial"] .ip-band{width:calc(100% - 32px)}[data-gp-theme="travel-editorial"][data-inside] .ip-opening{grid-template-columns:1fr;padding:35px 0;gap:28px}[data-gp-theme="travel-editorial"][data-inside] .ip-opening h1{font-size:45px;max-width:18ch}[data-gp-theme="travel-editorial"][data-inside] .ip-deck{font-size:18px}[data-gp-theme="travel-editorial"][data-inside] .ip-art img{height:300px}[data-gp-theme="travel-editorial"] .ip-essays,[data-gp-theme="travel-editorial"] .ip-form,[data-gp-theme="travel-editorial"] .ip-records article{grid-template-columns:1fr}[data-gp-theme="travel-editorial"] .ip-ledger>div{grid-template-columns:1fr;gap:8px}[data-gp-theme="travel-editorial"] .ip-band{display:block;padding:24px}[data-gp-theme="travel-editorial"] .ip-band>.ip-action{margin-top:22px}[data-gp-theme="travel-editorial"] .ip-section{padding-block:34px}[data-gp-theme="travel-editorial"] .ip-form label:has(textarea),[data-gp-theme="travel-editorial"] .ip-form>.ip-note{grid-column:auto}[data-gp-theme="travel-editorial"] .ip-records article>img{height:250px}}
@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="travel-editorial"][data-inside] .ip-opening,[data-gp-theme="travel-editorial"][data-inside] .ip-section,[data-gp-theme="travel-editorial"] .ip-band{width:calc(100% - 32px)}[data-gp-theme="travel-editorial"][data-inside] .ip-opening{grid-template-columns:1fr;padding:35px 0;gap:28px}[data-gp-theme="travel-editorial"][data-inside] .ip-opening h1{font-size:45px;max-width:18ch}[data-gp-theme="travel-editorial"][data-inside] .ip-deck{font-size:18px}[data-gp-theme="travel-editorial"][data-inside] .ip-art img{height:300px}[data-gp-theme="travel-editorial"] .ip-essays,[data-gp-theme="travel-editorial"] .ip-form,[data-gp-theme="travel-editorial"] .ip-records article{grid-template-columns:1fr}[data-gp-theme="travel-editorial"] .ip-ledger>div{grid-template-columns:1fr;gap:8px}[data-gp-theme="travel-editorial"] .ip-band{display:block;padding:24px}[data-gp-theme="travel-editorial"] .ip-band>.ip-action{margin-top:22px}[data-gp-theme="travel-editorial"] .ip-section{padding-block:34px}[data-gp-theme="travel-editorial"] .ip-form label:has(textarea),[data-gp-theme="travel-editorial"] .ip-form>.ip-note{grid-column:auto}[data-gp-theme="travel-editorial"] .ip-records article>img{height:250px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="travel-editorial"][data-inside] .ip-action:active{transform:none}}
[data-gp-theme="travel-editorial"][data-inside] .ip-journal-opening{grid-template-columns:1fr 1.2fr}[data-gp-theme="travel-editorial"][data-inside] .ip-journal-opening .ip-art img{height:450px}[data-gp-theme="travel-editorial"][data-inside] .ip-journal-opening h1{font-weight:400}[data-gp-theme="travel-editorial"][data-inside] .ip-destination-spreads>article{display:grid;grid-template-columns:1.2fr 1fr;gap:55px;align-items:center;padding:35px 0;border-top:1px solid var(--line)}[data-gp-theme="travel-editorial"][data-inside] .ip-destination-spreads>article:nth-child(even)>figure{order:2}[data-gp-theme="travel-editorial"][data-inside] .ip-destination-spreads h3{font-size:45px;margin:15px 0 22px}[data-gp-theme="travel-editorial"][data-inside] .ip-destination-spreads p{line-height:1.7;margin-bottom:24px}[data-gp-theme="travel-editorial"][data-inside] .ip-destination-detail{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}[data-gp-theme="travel-editorial"][data-inside] .ip-destination-detail h3{font-size:43px;margin:15px 0 25px}[data-gp-theme="travel-editorial"][data-inside] .ip-destination-detail p{line-height:1.7}[data-gp-theme="travel-editorial"][data-inside] .ip-postcard-note{border:1px solid var(--line);padding:35px;max-width:75ch;background:var(--wash);border-right:12px double var(--accent)}[data-gp-theme="travel-editorial"][data-inside] .ip-postcard-note h2{font-size:40px;margin-bottom:22px}[data-gp-theme="travel-editorial"][data-inside] .ip-postcard-note p+p{margin-top:18px}[data-gp-theme="travel-editorial"][data-inside] .ip-daybook{display:grid;grid-template-columns:repeat(3,1fr)}[data-gp-theme="travel-editorial"][data-inside] .ip-daybook>article{padding:30px;border-left:1px solid var(--line);background:var(--wash)}[data-gp-theme="travel-editorial"][data-inside] .ip-daybook>article:first-child{border-left:0}[data-gp-theme="travel-editorial"][data-inside] .ip-daybook h3{font-size:34px;margin:25px 0 20px}[data-gp-theme="travel-editorial"][data-inside] .ip-daybook p{font-size:17px;line-height:1.65}[data-gp-theme="travel-editorial"][data-inside] .ip-daybook aside{border-top:1px solid var(--line);padding-top:22px;margin-top:25px}[data-gp-theme="travel-editorial"][data-inside] .ip-daybook aside strong{font-size:14px}@media(max-width:700px){[data-gp-theme="travel-editorial"][data-inside] .ip-journal-opening,[data-gp-theme="travel-editorial"][data-inside] .ip-destination-spreads>article,[data-gp-theme="travel-editorial"][data-inside] .ip-destination-detail,[data-gp-theme="travel-editorial"][data-inside] .ip-daybook{grid-template-columns:1fr}[data-gp-theme="travel-editorial"][data-inside] .ip-destination-spreads>article:nth-child(even)>figure{order:0}[data-gp-theme="travel-editorial"][data-inside] .ip-journal-opening .ip-art img{height:320px}[data-gp-theme="travel-editorial"][data-inside] .ip-daybook>article{border-left:0;border-top:1px solid var(--line)}[data-gp-theme="travel-editorial"][data-inside] .ip-destination-spreads h3{font-size:36px}}@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="travel-editorial"][data-inside] .ip-journal-opening,[data-gp-theme="travel-editorial"][data-inside] .ip-destination-spreads>article,[data-gp-theme="travel-editorial"][data-inside] .ip-destination-detail,[data-gp-theme="travel-editorial"][data-inside] .ip-daybook{grid-template-columns:1fr}[data-gp-theme="travel-editorial"][data-inside] .ip-destination-spreads>article:nth-child(even)>figure{order:0}[data-gp-theme="travel-editorial"][data-inside] .ip-journal-opening .ip-art img{height:320px}[data-gp-theme="travel-editorial"][data-inside] .ip-daybook>article{border-left:0;border-top:1px solid var(--line)}[data-gp-theme="travel-editorial"][data-inside] .ip-destination-spreads h3{font-size:36px}}


/* Owner selected alternative on 18 October 2026. Main heading roles only. */
[data-gp-theme="travel-editorial"][data-gp-kind="section"] h1{font-family:"Literata", serif!important;font-weight:500!important;letter-spacing:-0.008em!important;line-height:1.14!important;font-variation-settings:normal!important;font-optical-sizing:auto!important}
[data-gp-theme="travel-editorial"][data-gp-kind="section"] h2{font-family:"Figtree", sans-serif!important;font-weight:600!important;letter-spacing:-.01em!important;line-height:1.17!important;font-variation-settings:normal!important;font-optical-sizing:auto!important}
[data-gp-theme="travel-editorial"][data-gp-kind="section"] h3{font-family:"Figtree", sans-serif!important;font-weight:600!important;letter-spacing:0!important;line-height:1.25!important;font-variation-settings:normal!important}
[data-gp-theme="travel-editorial"][data-inside][data-gp-kind="section"] h1{font-family:"Literata", serif!important;line-height:1.14!important;letter-spacing:-.012em!important;font-weight:500!important;text-transform:none!important}
@media(max-width:650px){[data-gp-theme="travel-editorial"][data-gp-kind="section"] h1{line-height:1.14!important;letter-spacing:-0.008em!important}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="travel-editorial"][data-gp-kind="section"] h1{line-height:1.14!important;letter-spacing:-0.008em!important}}


[data-gp-theme="travel-editorial"] .u-experience{margin:72px auto;padding:48px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink);width:min(1280px,calc(100% - 80px));scroll-margin-top:30px}
[data-gp-theme="travel-editorial"] .inside-page .u-experience{width:min(1280px,calc(100% - 80px));margin:48px auto}[data-gp-theme="travel-editorial"] .u-experience *{box-sizing:border-box}[data-gp-theme="travel-editorial"] .u-experience [hidden]{display:none!important}
[data-gp-theme="travel-editorial"] .u-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:end;margin-bottom:32px}[data-gp-theme="travel-editorial"] .u-heading h2{font-size:clamp(32px,4vw,58px);max-width:20ch}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="travel-editorial"] .u-heading h2{font-size:clamp(32px,4cqw,58px)}}[data-gp-theme="travel-editorial"] .u-heading p{max-width:50ch}[data-gp-theme="travel-editorial"] .u-caption{font-size:14px;line-height:1.5;color:var(--muted)}
[data-gp-theme="travel-editorial"] .u-choices{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}[data-gp-theme="travel-editorial"] .u-experience :is(button,[role="button"]),[data-gp-theme="travel-editorial"] .u-link{min-height:44px;padding:10px 16px;background:var(--paper);border:1px solid var(--line);color:var(--ink);font:600 16px/1.4 var(--body);cursor:pointer;text-decoration:none}[data-gp-theme="travel-editorial"] .u-experience :is(button,[role="button"])[aria-pressed=true]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}[data-gp-theme="travel-editorial"] .u-experience :is(button,[role="button"]):focus-visible,[data-gp-theme="travel-editorial"] .u-experience a:focus-visible,[data-gp-theme="travel-editorial"] .u-experience summary:focus-visible,[data-gp-theme="travel-editorial"] .u-experience input:focus-visible{outline:3px solid var(--accent);outline-offset:4px}[data-gp-theme="travel-editorial"] .u-experience :is(button,[role="button"]):active{transform:scale(.98)}
[data-gp-theme="travel-editorial"] .u-experience svg{display:block;width:100%;height:auto;color:var(--ink)}[data-gp-theme="travel-editorial"] .u-art-paper{fill:var(--paper)}[data-gp-theme="travel-editorial"] .u-art-wash{fill:var(--wash)}[data-gp-theme="travel-editorial"] .u-art-accent{fill:var(--accent)}[data-gp-theme="travel-editorial"] .u-art-line{fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}[data-gp-theme="travel-editorial"] .u-art-fine{fill:none;stroke:var(--ink);stroke-width:1;opacity:.65}[data-gp-theme="travel-editorial"] .u-art-note{font:16px var(--body);fill:var(--ink)}
[data-gp-theme="travel-editorial"] .u-check{display:flex;align-items:flex-start;gap:12px;min-height:48px;padding:14px 0;border-top:1px solid var(--line);cursor:pointer;line-height:1.45}[data-gp-theme="travel-editorial"] .u-check input{accent-color:var(--accent);width:21px;height:21px;flex:0 0 21px;margin:2px 0 0}[data-gp-theme="travel-editorial"] .u-check span:not(.fs-richtext){min-width:0}[data-gp-theme="travel-editorial"] .u-summary{padding:28px;background:var(--wash);border-left:4px solid var(--accent);margin:28px 0}[data-gp-theme="travel-editorial"] .u-summary h2,[data-gp-theme="travel-editorial"] .u-summary h3{font-size:28px;margin-bottom:14px}[data-gp-theme="travel-editorial"] .u-summary ul{margin:12px 0;padding-left:22px}[data-gp-theme="travel-editorial"] .u-summary p{font-size:16px}[data-gp-theme="travel-editorial"] .u-summary li{padding:5px 0}[data-gp-theme="travel-editorial"] .u-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px}[data-gp-theme="travel-editorial"] .u-bottom output{font-size:16px}[data-gp-theme="travel-editorial"] .u-link{display:inline-flex;align-items:center;background:var(--ink);color:var(--paper);border-color:var(--ink)}[data-gp-theme="travel-editorial"] .u-note{font-size:15px;margin-top:20px;max-width:75ch}
@media(max-width:700px){[data-gp-theme="travel-editorial"] .u-experience,[data-gp-theme="travel-editorial"] .inside-page .u-experience{width:calc(100% - 32px);margin:40px auto;padding:30px 0}[data-gp-theme="travel-editorial"] .u-heading{grid-template-columns:1fr;gap:18px;margin-bottom:24px}[data-gp-theme="travel-editorial"] .u-heading h2{font-size:36px}[data-gp-theme="travel-editorial"] .u-bottom{align-items:stretch;flex-direction:column;gap:16px}[data-gp-theme="travel-editorial"] .u-link{justify-content:center}[data-gp-theme="travel-editorial"] .u-summary{padding:22px}[data-gp-theme="travel-editorial"] .u-experience :is(button,[role="button"]){max-width:100%;overflow-wrap:anywhere}}
@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="travel-editorial"] .u-experience,[data-gp-theme="travel-editorial"] .inside-page .u-experience{width:calc(100% - 32px);margin:40px auto;padding:30px 0}[data-gp-theme="travel-editorial"] .u-heading{grid-template-columns:1fr;gap:18px;margin-bottom:24px}[data-gp-theme="travel-editorial"] .u-heading h2{font-size:36px}[data-gp-theme="travel-editorial"] .u-bottom{align-items:stretch;flex-direction:column;gap:16px}[data-gp-theme="travel-editorial"] .u-link{justify-content:center}[data-gp-theme="travel-editorial"] .u-summary{padding:22px}[data-gp-theme="travel-editorial"] .u-experience :is(button,[role="button"]){max-width:100%;overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="travel-editorial"] .u-experience :is(button,[role="button"]):active{transform:none}[data-gp-theme="travel-editorial"] .u-experience *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
[data-gp-theme="travel-editorial"][data-input=keyboard] .u-experience :is(button,[role="button"]):active{transform:none}
[data-gp-theme="travel-editorial"] .u-experience{--display:"Literata";--body:"Figtree";}

[data-gp-theme="travel-editorial"] .u-journal-title{display:flex;align-items:baseline;justify-content:space-between;gap:20px;border-top:2px solid var(--accent);padding:22px 0}[data-gp-theme="travel-editorial"] .u-journal-title h3{font:40px var(--display)}[data-gp-theme="travel-editorial"] .u-scene-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}[data-gp-theme="travel-editorial"] .u-scene{border-bottom:1px solid var(--line)}[data-gp-theme="travel-editorial"] .u-scene figure{margin-bottom:22px}[data-gp-theme="travel-editorial"] .u-scene figcaption{font-size:13px}[data-gp-theme="travel-editorial"] .u-scene h3{font-size:27px;line-height:1.16;min-height:65px}[data-gp-theme="travel-editorial"] .u-scene>p{font-size:17px;min-height:110px;margin:16px 0}[data-gp-theme="travel-editorial"] .u-scene:nth-child(2){padding-top:45px}[data-gp-theme="travel-editorial"] .u-scene:nth-child(3){padding-top:90px}[data-gp-theme="travel-editorial"] .u-scene .u-check{font-size:16px}
@media(max-width:700px){[data-gp-theme="travel-editorial"] .u-journal-title{display:block}[data-gp-theme="travel-editorial"] .u-journal-title p{margin-top:12px}[data-gp-theme="travel-editorial"] .u-scene-strip{grid-template-columns:1fr;gap:30px}[data-gp-theme="travel-editorial"] .u-scene:nth-child(n){padding-top:0}[data-gp-theme="travel-editorial"] .u-scene h3,[data-gp-theme="travel-editorial"] .u-scene>p{min-height:0}[data-gp-theme="travel-editorial"] .u-scene figure{margin-bottom:14px}[data-gp-theme="travel-editorial"] .u-scene figure svg{max-height:310px}[data-gp-theme="travel-editorial"] .u-scene>p{margin:12px 0}}
@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="travel-editorial"] .u-journal-title{display:block}[data-gp-theme="travel-editorial"] .u-journal-title p{margin-top:12px}[data-gp-theme="travel-editorial"] .u-scene-strip{grid-template-columns:1fr;gap:30px}[data-gp-theme="travel-editorial"] .u-scene:nth-child(n){padding-top:0}[data-gp-theme="travel-editorial"] .u-scene h3,[data-gp-theme="travel-editorial"] .u-scene>p{min-height:0}[data-gp-theme="travel-editorial"] .u-scene figure{margin-bottom:14px}[data-gp-theme="travel-editorial"] .u-scene figure svg{max-height:310px}[data-gp-theme="travel-editorial"] .u-scene>p{margin:12px 0}}

/* Approved readability refinements, 18 October 2026.
   Only meaningful helpers, local groups and selected reading paragraphs.
   Owner-selected type families, display sizes and frozen comparisons stay authoritative. */

/* Kiln House: the brief promise and sample guidance are part of the task. */
[data-gp-theme="travel-editorial"][data-site="kiln-house"] :is(.field-note,.form-note,.pairing-hint,.material-note,.light-note,.letter-note,.combination-copy small,.material-row small){font-size:14px;line-height:1.5}
[data-gp-theme="travel-editorial"][data-site="kiln-house"] .form-note{margin-top:16px}
[data-gp-theme="travel-editorial"][data-site="kiln-house"] :is(.quiet-button,.combination-action){font-size:15px;line-height:1.5}
[data-gp-theme="travel-editorial"][data-site="kiln-house"] .quiet-button{min-height:44px}
[data-gp-theme="travel-editorial"][data-site="kiln-house"] .directory-links a small{font-size:14px;line-height:1.5}

/* Small study labels explain a choice, rather than acting as an imprint. */
[data-gp-theme="travel-editorial"][data-site="true-joint"] .ux-stage-bar :is(button,[role="button"]) small{font-size:14px;line-height:1.5}
[data-gp-theme="travel-editorial"][data-site="neighbourhood-edit"] .ux-plan-header{font-size:14px;line-height:1.5;gap:12px;flex-wrap:wrap}
[data-gp-theme="travel-editorial"][data-site="neighbourhood-edit"] .ux-room-title{margin-bottom:16px}
[data-gp-theme="travel-editorial"][data-site="neighbourhood-edit"] .ux-room-title h3{margin-bottom:0}
[data-gp-theme="travel-editorial"][data-site="neighbourhood-edit"] :is(.home-finder label,.home-finder output,.area-index small){font-size:14px;line-height:1.5}
[data-gp-theme="travel-editorial"][data-site="neighbourhood-edit"] .home-finder select{font-size:16px;min-height:44px}
[data-gp-theme="travel-editorial"][data-site="harbour"] .ux-folio .ux-document-row label{font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="travel-editorial"][data-site="daymark-window-care"] .dm-sheet-head{font-size:14px;line-height:1.5;flex-wrap:wrap}
[data-gp-theme="travel-editorial"][data-site="velum-window-care"] .ux-v-nav :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}

/* Existing small controls retain or gain the comfortable target height. */
[data-gp-theme="travel-editorial"][data-site="stem-and-still"] .stem-slip :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:48px;gap:8px}
[data-gp-theme="travel-editorial"][data-site="cake-box"] .flavour-pick :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="travel-editorial"][data-site="cake-box"] .message-label small{font-size:14px;line-height:1.5}
[data-gp-theme="travel-editorial"][data-site="crm-recruitment-people"] .question-buttons{gap:10px}
[data-gp-theme="travel-editorial"][data-site="crm-recruitment-people"] .question-buttons :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:10px 12px}
[data-gp-theme="travel-editorial"][data-site="the-second-set-programme"] .pr-order-actions :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:8px 10px}

/* The format facts belong with the large ensemble names. */
[data-gp-theme="travel-editorial"][data-site="the-second-set-afterglow"] .ag-format-ribbon span:not(.fs-richtext){font-size:14px;line-height:1.5;margin-top:8px}
[data-gp-theme="travel-editorial"][data-site="the-second-set-programme"] .opening-note{font-size:14px;line-height:1.5}
[data-gp-theme="travel-editorial"][data-site="the-second-set-signal"] .form-note{font-size:14px;line-height:1.5}

/* Slipstream: useful record, filter and brief text; preserve the scrollable comparison. */
[data-gp-theme="travel-editorial"][data-site="slipstream"] :is(.featured-price small,.rail-note,.stock-finder label,.stock-caption,.inspection-note,.inspection-instruction,.form-note,[data-gp-id="stock-count"],[data-gp-id="form-question-count"]){font-size:14px;line-height:1.5}
[data-gp-theme="travel-editorial"][data-site="slipstream"] :is(.visit-form label,.form-pair label){font-size:15px;line-height:1.5}
[data-gp-theme="travel-editorial"][data-site="slipstream"] :is(.car-record summary,[data-gp-id="reset-stock"],[data-gp-id="clear-compare"],.quick-compare button){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="travel-editorial"][data-site="slipstream"] .stock-finder select{min-height:44px}

/* Narrow only sustained paragraphs, preserving plans, records, lists and tables. */
[data-gp-theme="travel-editorial"]:is([data-site="stem-and-still"],[data-site="kiln-house"],[data-site="true-joint"])[data-inside] .ip-reading>p{max-width:64ch}

@media(max-width:700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="travel-editorial"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="travel-editorial"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="travel-editorial"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="travel-editorial"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="travel-editorial"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="travel-editorial"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="travel-editorial"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="travel-editorial"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="travel-editorial"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

@containerfs-editor-canvas (max-width: 700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="travel-editorial"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="travel-editorial"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="travel-editorial"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="travel-editorial"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="travel-editorial"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="travel-editorial"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="travel-editorial"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="travel-editorial"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="travel-editorial"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

/* No generic heading, body, section-spacing or panel-height reset.
   Goodpane's unused calendar CSS, Expedition's real stage envelope,
   Starlight's passage leading and Velum's display introduction need no blanket fix. */

/* Authored header/menu/footer only. Approved body, fonts and palette files stay intact. */
[data-gp-theme="travel-editorial"] .ca-chrome,[data-gp-theme="travel-editorial"] .ca-chrome *{box-sizing:border-box;min-width:0}
[data-gp-theme="travel-editorial"] header.site-header.ca-header{width:min(1340px,calc(100% - 96px));max-width:none;margin-inline:auto;padding:26px 0;gap:22px;border:0;color:var(--ink);background:var(--paper)}
[data-gp-theme="travel-editorial"] .ca-header .brand{max-width:100%;text-decoration:none;flex-shrink:1}
[data-gp-theme="travel-editorial"] .ca-header .brand>span:not(.fs-richtext){min-width:0;overflow-wrap:anywhere}
[data-gp-theme="travel-editorial"] .ca-header .brand small{line-height:1.45;font-size:13px}
[data-gp-theme="travel-editorial"] .ca-header .brand svg{flex-shrink:0;width:38px;height:38px}
[data-gp-theme="travel-editorial"] .ca-header a,[data-gp-theme="travel-editorial"] .ca-header :is(button,[role="button"]){min-height:44px}
[data-gp-theme="travel-editorial"] .ca-header nav{display:flex;align-items:center;gap:22px}
[data-gp-theme="travel-editorial"] .ca-header nav a{display:flex;align-items:center;text-decoration:none;font:500 16px/1.35 var(--body);padding:9px 0}
[data-gp-theme="travel-editorial"] .ca-trigger,[data-gp-theme="travel-editorial"] .ca-menu [data-menu-close]{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:46px;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:11px 17px;font:500 15px/1.35 var(--body);cursor:pointer;white-space:normal;text-align:left}
[data-gp-theme="travel-editorial"] .ca-trigger span:not(.fs-richtext){font-size:22px;line-height:1;flex:none}
[data-gp-theme="travel-editorial"] .ca-label{display:block;font:500 13px/1.5 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
[data-gp-theme="travel-editorial"] .ca-menu.mega-menu{width:min(1160px,calc(100% - 64px));max-height:90vh;overflow:auto;margin:auto;padding:0;background:var(--paper);color:var(--ink);border:1px solid var(--line)}
[data-gp-theme="travel-editorial"] .ca-menu .menu-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 32px;border-bottom:1px solid var(--line);background:var(--paper);color:var(--ink)}
[data-gp-theme="travel-editorial"] .ca-menu .menu-top>span:not(.fs-richtext){font:500 16px/1.4 var(--body)}
[data-gp-theme="travel-editorial"] .ca-menu .menu-top :is(button,[role="button"]){color:var(--ink);border-color:var(--line)}
[data-gp-theme="travel-editorial"] .ca-menu-body{padding:34px}
[data-gp-theme="travel-editorial"] .ca-chrome h2,[data-gp-theme="travel-editorial"] .ca-chrome h3,[data-gp-theme="travel-editorial"] .ca-chrome p{margin:0}
[data-gp-theme="travel-editorial"] .ca-chrome h2,[data-gp-theme="travel-editorial"] .ca-chrome h3{font-family:var(--chrome-face,var(--display));font-weight:550;letter-spacing:-.015em;line-height:1.15;overflow-wrap:anywhere}
[data-gp-theme="travel-editorial"] .ca-chrome h2{font-size:clamp(32px,4vw,52px)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="travel-editorial"] .ca-chrome h2{font-size:clamp(32px,4cqw,52px)}}
[data-gp-theme="travel-editorial"] .ca-chrome h3{font-size:clamp(24px,2.5vw,34px)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="travel-editorial"] .ca-chrome h3{font-size:clamp(24px,2.5cqw,34px)}}
[data-gp-theme="travel-editorial"] .ca-menu-title{margin:0 0 30px!important;max-width:24ch}
[data-gp-theme="travel-editorial"] .ca-links{display:flex;flex-direction:column;gap:0}
[data-gp-theme="travel-editorial"] .ca-links a{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:46px;padding:11px 0;text-decoration:none;font:400 17px/1.45 var(--body);border-bottom:1px solid var(--line);overflow-wrap:anywhere}
[data-gp-theme="travel-editorial"] .ca-links a::after{content:'↗';flex:none;font-size:18px}
[data-gp-theme="travel-editorial"] .ca-links a:last-child{border-bottom:0}
[data-gp-theme="travel-editorial"] .ca-links a[aria-current=page]{font-weight:650;text-decoration:underline;text-underline-offset:5px}
[data-gp-theme="travel-editorial"] .ca-chrome .site-plan-label{font:400 12px/1.35 var(--body);letter-spacing:0;text-transform:none;color:inherit;flex-basis:100%}
[data-gp-theme="travel-editorial"] .ca-chrome a[data-preview-plan]{flex-wrap:wrap}
[data-gp-theme="travel-editorial"] .ca-menu-utility{display:flex;flex-wrap:wrap;gap:8px 25px;padding:22px 34px;border-top:1px solid var(--line);background:var(--wash)}
[data-gp-theme="travel-editorial"] .ca-menu-utility a{display:flex;align-items:center;min-height:44px;padding:5px 0;font:400 15px/1.4 var(--body);text-decoration:none}
[data-gp-theme="travel-editorial"] .ca-menu-note{padding:0 34px 25px;font:400 14px/1.5 var(--body);color:var(--muted)}
[data-gp-theme="travel-editorial"] footer.site-footer.ca-footer{padding:58px max(24px,calc((100vw - 1340px)/2)) 22px;background:var(--wash);color:var(--ink);border-top:1px solid var(--line)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="travel-editorial"] footer.site-footer.ca-footer{padding:58px max(24px,calc((100cqw - 1340px)/2)) 22px}}
[data-gp-theme="travel-editorial"] .ca-footer-inner{width:100%;max-width:1340px;margin:auto}
[data-gp-theme="travel-editorial"] .ca-footer a{color:inherit}
[data-gp-theme="travel-editorial"] .ca-footer-action{display:inline-flex;align-items:center;gap:20px;min-height:48px;padding:12px 0;font:500 20px/1.35 var(--body);text-decoration:none;border-bottom:1px solid currentColor}
[data-gp-theme="travel-editorial"] .ca-footer-action::after{content:'↗';margin-left:auto}
[data-gp-theme="travel-editorial"] .ca-footnote{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 28px;padding-top:22px;margin-top:35px;border-top:1px solid var(--line);font:400 13px/1.55 var(--body);color:var(--muted)}
[data-gp-theme="travel-editorial"] .ca-footnote p{max-width:70ch}
[data-gp-theme="travel-editorial"] .ca-footnote a{display:inline-flex;align-items:center;min-height:44px;white-space:normal}
[data-gp-theme="travel-editorial"] .ca-footer-nav{display:flex;flex-wrap:wrap;gap:8px 25px}
[data-gp-theme="travel-editorial"] .ca-footer-nav a{display:inline-flex;align-items:center;min-height:44px;padding:7px 0;font:400 16px/1.4 var(--body);text-decoration:none}
[data-gp-theme="travel-editorial"] .ca-chrome :is(a,button):focus-visible{outline:3px solid var(--ink);outline-offset:5px}
@media(hover:hover) and (pointer:fine){[data-gp-theme="travel-editorial"] .ca-chrome a:hover{text-decoration:underline;text-underline-offset:5px}[data-gp-theme="travel-editorial"] .ca-trigger:hover{background:var(--wash)}}
@media(max-width:900px){[data-gp-theme="travel-editorial"] header.site-header.ca-header{width:calc(100% - 40px);padding:20px 0;gap:16px}[data-gp-theme="travel-editorial"] .ca-header .ca-primary{display:none}[data-gp-theme="travel-editorial"] .ca-header .brand{font-size:24px}[data-gp-theme="travel-editorial"] .ca-menu-body{padding:26px 22px}[data-gp-theme="travel-editorial"] .ca-menu .menu-top{padding:16px 22px}[data-gp-theme="travel-editorial"] .ca-menu-utility{padding:18px 22px;gap:6px 20px}[data-gp-theme="travel-editorial"] .ca-menu-note{padding:0 22px 22px}[data-gp-theme="travel-editorial"] .ca-chrome h2{font-size:clamp(30px,7vw,46px)}[data-gp-theme="travel-editorial"] .ca-chrome h3{font-size:26px}[data-gp-theme="travel-editorial"] .ca-menu-title{margin-bottom:24px!important}[data-gp-theme="travel-editorial"] .ca-links a{font-size:17px;min-height:48px}[data-gp-theme="travel-editorial"] .ca-footer-action{font-size:19px}[data-gp-theme="travel-editorial"] .ca-footer-nav{gap:4px 22px}[data-gp-theme="travel-editorial"] footer.site-footer.ca-footer{padding:40px 22px 20px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="travel-editorial"] header.site-header.ca-header{width:calc(100% - 40px);padding:20px 0;gap:16px}[data-gp-theme="travel-editorial"] .ca-header .ca-primary{display:none}[data-gp-theme="travel-editorial"] .ca-header .brand{font-size:24px}[data-gp-theme="travel-editorial"] .ca-menu-body{padding:26px 22px}[data-gp-theme="travel-editorial"] .ca-menu .menu-top{padding:16px 22px}[data-gp-theme="travel-editorial"] .ca-menu-utility{padding:18px 22px;gap:6px 20px}[data-gp-theme="travel-editorial"] .ca-menu-note{padding:0 22px 22px}[data-gp-theme="travel-editorial"] .ca-chrome h2{font-size:clamp(30px,7cqw,46px)}[data-gp-theme="travel-editorial"] .ca-chrome h3{font-size:26px}[data-gp-theme="travel-editorial"] .ca-menu-title{margin-bottom:24px!important}[data-gp-theme="travel-editorial"] .ca-links a{font-size:17px;min-height:48px}[data-gp-theme="travel-editorial"] .ca-footer-action{font-size:19px}[data-gp-theme="travel-editorial"] .ca-footer-nav{gap:4px 22px}[data-gp-theme="travel-editorial"] footer.site-footer.ca-footer{padding:40px 22px 20px}}
@media(max-width:480px){[data-gp-theme="travel-editorial"] .ca-header .brand{font-size:22px}[data-gp-theme="travel-editorial"] .ca-header .brand small{font-size:12px}[data-gp-theme="travel-editorial"] .ca-header .brand svg{width:29px;height:29px}[data-gp-theme="travel-editorial"] .ca-trigger{font-size:14px;padding:10px 12px;gap:10px}[data-gp-theme="travel-editorial"] .ca-footnote{display:block}[data-gp-theme="travel-editorial"] .ca-footnote a{margin-top:8px}}
@containerfs-editor-canvas (max-width: 480px){[data-gp-theme="travel-editorial"] .ca-header .brand{font-size:22px}[data-gp-theme="travel-editorial"] .ca-header .brand small{font-size:12px}[data-gp-theme="travel-editorial"] .ca-header .brand svg{width:29px;height:29px}[data-gp-theme="travel-editorial"] .ca-trigger{font-size:14px;padding:10px 12px;gap:10px}[data-gp-theme="travel-editorial"] .ca-footnote{display:block}[data-gp-theme="travel-editorial"] .ca-footnote a{margin-top:8px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="travel-editorial"] .ca-chrome a,[data-gp-theme="travel-editorial"] .ca-chrome :is(button,[role="button"]){transition:none!important;transform:none!important;animation:none!important}}

[data-gp-theme="travel-editorial"] .ca-editorial{--chrome-face:"Literata",serif}
[data-gp-theme="travel-editorial"] header.ca-editorial.ca-header{display:flex;flex-direction:column;gap:0;padding-top:15px;padding-bottom:0}
[data-gp-theme="travel-editorial"] .ca-editorial .ca-journal-top{display:flex;justify-content:space-between;align-items:center;width:100%;border-bottom:1px solid var(--line);padding-bottom:10px;gap:20px}
[data-gp-theme="travel-editorial"] .ca-editorial .ca-trigger{border:0;background:none;padding-inline:0}
[data-gp-theme="travel-editorial"] .ca-editorial .brand{font-family:"Literata",serif;font-size:44px;padding:23px 0;justify-content:center;text-align:center}
[data-gp-theme="travel-editorial"] .ca-editorial .brand svg{display:none}
[data-gp-theme="travel-editorial"] .ca-editorial .brand small{font-family:var(--body);font-size:13px;font-weight:400;letter-spacing:.06em;margin-top:9px}
[data-gp-theme="travel-editorial"] .ca-editorial .ca-journal-links{display:flex;justify-content:center;gap:40px;width:100%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:6px 0}
[data-gp-theme="travel-editorial"] .ca-editorial .ca-journal-links a{font-size:15px}
[data-gp-theme="travel-editorial"] .ca-editorial .ca-contents{border-top:2px solid var(--ink)}
[data-gp-theme="travel-editorial"] .ca-editorial .ca-contents section{display:grid;grid-template-columns:90px 1fr 1.3fr;gap:24px;padding:27px 0;border-bottom:1px solid var(--line)}
[data-gp-theme="travel-editorial"] .ca-editorial .ca-folio{font:400 42px/1.1 "Literata",serif;color:var(--muted)}
[data-gp-theme="travel-editorial"] .ca-editorial .ca-contents .ca-links a{font-size:18px;padding:7px 0;border:0}
[data-gp-theme="travel-editorial"] .ca-editorial .ca-contents h3{font-size:32px;padding-top:4px}
[data-gp-theme="travel-editorial"] .ca-editorial .ca-last-page{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:end;padding:0 0 35px;border-bottom:2px solid var(--ink)}
[data-gp-theme="travel-editorial"] .ca-editorial .ca-last-page h2{font-size:clamp(38px,5vw,70px);max-width:15ch;margin-top:20px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="travel-editorial"] .ca-editorial .ca-last-page h2{font-size:clamp(38px,5cqw,70px)}}
[data-gp-theme="travel-editorial"] .ca-editorial .ca-last-page p{font-size:18px;line-height:1.6;margin-bottom:20px;max-width:30ch}
[data-gp-theme="travel-editorial"] .ca-editorial .ca-colophon{display:flex;justify-content:space-between;align-items:start;gap:30px;padding-top:26px}
[data-gp-theme="travel-editorial"] .ca-editorial .ca-colophon>span:not(.fs-richtext){font:500 26px/1.2 "Literata",serif;padding:10px 0}
@media(max-width:900px){[data-gp-theme="travel-editorial"] header.ca-editorial.ca-header{padding-bottom:0;gap:0}[data-gp-theme="travel-editorial"] .ca-editorial .brand{font-size:38px;padding:20px 0}[data-gp-theme="travel-editorial"] .ca-editorial .ca-journal-top>.ca-label{max-width:19ch;font-size:11px}[data-gp-theme="travel-editorial"] .ca-editorial .ca-journal-links.ca-primary{display:none}[data-gp-theme="travel-editorial"] .ca-editorial .ca-contents section{grid-template-columns:40px 1fr;gap:14px;padding:22px 0}[data-gp-theme="travel-editorial"] .ca-editorial .ca-contents .ca-links{grid-column:2}[data-gp-theme="travel-editorial"] .ca-editorial .ca-folio{font-size:28px}[data-gp-theme="travel-editorial"] .ca-editorial .ca-contents h3{font-size:28px}[data-gp-theme="travel-editorial"] .ca-editorial .ca-last-page{grid-template-columns:1fr;gap:28px}[data-gp-theme="travel-editorial"] .ca-editorial .ca-colophon{display:block}[data-gp-theme="travel-editorial"] .ca-editorial .ca-colophon>span:not(.fs-richtext){display:block;margin-bottom:12px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="travel-editorial"] header.ca-editorial.ca-header{padding-bottom:0;gap:0}[data-gp-theme="travel-editorial"] .ca-editorial .brand{font-size:38px;padding:20px 0}[data-gp-theme="travel-editorial"] .ca-editorial .ca-journal-top>.ca-label{max-width:19ch;font-size:11px}[data-gp-theme="travel-editorial"] .ca-editorial .ca-journal-links.ca-primary{display:none}[data-gp-theme="travel-editorial"] .ca-editorial .ca-contents section{grid-template-columns:40px 1fr;gap:14px;padding:22px 0}[data-gp-theme="travel-editorial"] .ca-editorial .ca-contents .ca-links{grid-column:2}[data-gp-theme="travel-editorial"] .ca-editorial .ca-folio{font-size:28px}[data-gp-theme="travel-editorial"] .ca-editorial .ca-contents h3{font-size:28px}[data-gp-theme="travel-editorial"] .ca-editorial .ca-last-page{grid-template-columns:1fr;gap:28px}[data-gp-theme="travel-editorial"] .ca-editorial .ca-colophon{display:block}[data-gp-theme="travel-editorial"] .ca-editorial .ca-colophon>span:not(.fs-richtext){display:block;margin-bottom:12px}}

/* Menu-only reset. Shapes and composition are authored separately below. */
[data-gp-theme="travel-editorial"] dialog[data-gp-id="mega-menu"].mega-menu{--mi-paper:var(--paper);--mi-ink:var(--ink);--mi-wash:var(--wash,var(--paper));--mi-line:var(--line);--mi-accent:var(--accent,var(--ink));position:fixed;inset:auto;margin:0;padding:0;min-width:0;min-height:0;max-width:none;max-height:none;border:0;border-radius:0;background:var(--mi-paper);color:var(--mi-ink);box-shadow:0 22px 90px #0004;font:16px/1.5 var(--body,sans-serif);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:auto;transform:none}
[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"][open]{display:block;animation:none}
[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"][open]:not([data-closing])>:not(.mi-bar){animation:gp-velaeditorial-mi-arrive 180ms ease-out both}
[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"][data-closing]{animation:gp-velaeditorial-mi-leave 160ms ease-in both}
[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"]::backdrop{background:#0007;backdrop-filter:blur(3px)}
[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] *,[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] *::before,[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] *::after{box-sizing:border-box}
[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] :is(h2,h3,p,figure){margin:0;max-width:none}
[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] h2{font-family:var(--mi-display,var(--display,serif));font-weight:500;line-height:1.1;letter-spacing:-.025em;text-transform:none}
[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] h3{font:600 19px/1.25 var(--body,sans-serif);letter-spacing:0;text-transform:none}
[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] a{color:inherit;text-decoration:none;min-height:44px;transition:background-color 160ms,color 160ms;text-transform:none;letter-spacing:0}
[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] a:hover{text-decoration:underline;text-underline-offset:5px}
[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] a:focus-visible,[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] :is(button,[role="button"]):focus-visible{outline:2px solid currentColor;outline-offset:4px}
[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] small{font:400 13px/1.5 var(--body,sans-serif);letter-spacing:0;text-transform:none}
[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] .mi-bar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:0;padding:16px 28px;border-bottom:1px solid var(--mi-line);background:var(--mi-paper);color:var(--mi-ink);font:500 15px/1.3 var(--body,sans-serif)}
[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] .mi-bar a{display:flex;align-items:center;font:inherit;max-width:70%}
[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] [data-menu-close]{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:64px;margin:0;padding:9px 12px;border:1px solid var(--mi-line);border-radius:0;background:var(--mi-paper);color:var(--mi-ink);font:500 14px/1.3 var(--body,sans-serif);cursor:pointer;flex:none}
[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] .mi-note{font:400 12px/1.5 var(--body,sans-serif);color:var(--mi-ink)}
@keyframes gp-velaeditorial-mi-arrive{from{opacity:0}to{opacity:1}}@keyframes gp-velaeditorial-mi-leave{to{opacity:0}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"][open],[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"][data-closing],[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"][open]>:not(.mi-bar){animation:none}[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] a{transition:none}}

[data-gp-theme="travel-editorial"] dialog[data-gp-id="mega-menu"].mega-menu{--mi-display:"Literata",serif;inset:3vh 3vw auto;width:94vw;max-height:94dvh;border:1px solid var(--mi-line)}

@container fs-editor-canvas (min-width: 0px){

[data-gp-theme="travel-editorial"] dialog[data-gp-id="mega-menu"].mega-menu{inset:3vh 3cqw auto;width:94cqw}}
[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] .mi-bar{padding:12px 30px}[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] .mi-magazine{display:grid;grid-template-columns:1fr 1fr}[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] .mi-contents-page{position:relative;padding:30px 40px 44px;background:linear-gradient(90deg,transparent 95%,#00000008)}[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] h2{font-size:39px;line-height:1.13;margin-bottom:22px}[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] .mi-contents-group{display:grid;grid-template-columns:110px 1fr;border-top:1px solid var(--mi-line);padding:8px 0;column-gap:20px}[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] .mi-contents-group h3{grid-column:1;grid-row:1/5;font:500 18px/1.3 "Literata",serif;padding-top:11px}[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] .mi-contents-group a{display:flex;align-items:center;grid-column:2;font-size:15px;min-height:39px;padding:7px 0}[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] .mi-feature-page{position:relative;border-left:1px solid var(--mi-line);padding:24px 24px 44px;display:flex;flex-direction:column;gap:0}[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] .mi-feature-page>img{width:100%;height:250px;min-height:170px;flex:1;object-fit:cover;background:var(--mi-wash)}[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] .mi-feature-caption{display:flex;justify-content:space-between;align-items:end;gap:24px;padding:22px 0 0}[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] .mi-feature-caption p{font:500 28px/1.15 "Literata",serif}[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] .mi-feature-caption a{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:14px;max-width:160px;border-bottom:1px solid var(--mi-ink);padding-bottom:8px}[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] .mi-folio{position:absolute;bottom:16px;left:40px;font-size:11px}[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] .mi-feature-page .mi-folio{left:24px}
@media(max-width:900px){[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] .mi-magazine{grid-template-columns:1fr}[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] .mi-contents-page{padding:24px 22px 42px;background:none}[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] h2{font-size:34px;margin-bottom:20px}[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] .mi-contents-group{grid-template-columns:90px 1fr;gap:0 14px}[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] .mi-contents-group h3{font-size:17px}[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] .mi-contents-group a{min-height:44px;font-size:15px}[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] .mi-folio{left:22px}[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] .mi-feature-page{border-left:0;border-top:1px solid var(--mi-line);padding:22px 22px 45px}[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] .mi-feature-page>img{height:180px;flex:none}[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] .mi-feature-caption{align-items:start}[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] .mi-feature-caption p{font-size:25px}[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] .mi-feature-caption a{max-width:135px}[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] .mi-feature-page .mi-folio{left:22px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] .mi-magazine{grid-template-columns:1fr}[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] .mi-contents-page{padding:24px 22px 42px;background:none}[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] h2{font-size:34px;margin-bottom:20px}[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] .mi-contents-group{grid-template-columns:90px 1fr;gap:0 14px}[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] .mi-contents-group h3{font-size:17px}[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] .mi-contents-group a{min-height:44px;font-size:15px}[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] .mi-folio{left:22px}[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] .mi-feature-page{border-left:0;border-top:1px solid var(--mi-line);padding:22px 22px 45px}[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] .mi-feature-page>img{height:180px;flex:none}[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] .mi-feature-caption{align-items:start}[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] .mi-feature-caption p{font-size:25px}[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] .mi-feature-caption a{max-width:135px}[data-gp-theme="travel-editorial"] [data-gp-id="mega-menu"] .mi-feature-page .mi-folio{left:22px}}

[data-gp-theme="travel-editorial"]{--paper:rgb(var(--c-paper));--ink:rgb(var(--c-ink-950));--accent:rgb(var(--c-brand-600));--wash:rgb(var(--c-paper-soft));--line:rgb(var(--c-line));--muted:rgb(var(--c-ink-400));--on-accent:var(--fs-on-brand);--focus:rgb(var(--c-accent));--work:var(--fs-surface-inverted,var(--wash));--work-ink:var(--fs-on-surface-inverted,var(--paper));--body:var(--font-sans);}
[data-gp-theme="travel-expedition"]{--ease-out:cubic-bezier(.23,1,.32,1);--ease-drawer:cubic-bezier(.32,.72,0,1)}
[data-gp-theme="travel-expedition"] *{box-sizing:border-box}[data-gp-theme="travel-expedition"]{scroll-behavior:smooth;scroll-padding-top:100px}[data-gp-theme="travel-expedition"]{margin:0}[data-gp-theme="travel-expedition"] img{max-width:100%;display:block}[data-gp-theme="travel-expedition"] :is(button,[role="button"]),[data-gp-theme="travel-expedition"] input,[data-gp-theme="travel-expedition"] select,[data-gp-theme="travel-expedition"] textarea{font:inherit}[data-gp-theme="travel-expedition"] :is(button,[role="button"]),[data-gp-theme="travel-expedition"] a,[data-gp-theme="travel-expedition"] input,[data-gp-theme="travel-expedition"] select,[data-gp-theme="travel-expedition"] textarea{touch-action:manipulation}[data-gp-theme="travel-expedition"] :is(button,[role="button"]),[data-gp-theme="travel-expedition"] a{ -webkit-tap-highlight-color:transparent}[data-gp-theme="travel-expedition"] :is(button,[role="button"]){cursor:pointer}[data-gp-theme="travel-expedition"] :is(button,[role="button"]):active{transform:translateY(1px)}[data-gp-theme="travel-expedition"] a{color:inherit;text-underline-offset:.22em}[data-gp-theme="travel-expedition"] :is(button,[role="button"]):focus-visible,[data-gp-theme="travel-expedition"] a:focus-visible,[data-gp-theme="travel-expedition"] summary:focus-visible,[data-gp-theme="travel-expedition"] input:focus-visible,[data-gp-theme="travel-expedition"] select:focus-visible,[data-gp-theme="travel-expedition"] textarea:focus-visible{outline:3px solid var(--focus,#346ddb);outline-offset:5px}[data-gp-theme="travel-expedition"] textarea{resize:vertical}[data-gp-theme="travel-expedition"] input,[data-gp-theme="travel-expedition"] textarea{caret-color:var(--focus,currentColor)}[data-gp-theme="travel-expedition"] :is(button,[role="button"]),[data-gp-theme="travel-expedition"] select,[data-gp-theme="travel-expedition"] input{min-height:44px}[data-gp-theme="travel-expedition"] summary{cursor:pointer}[data-gp-theme="travel-expedition"] section[id],[data-gp-theme="travel-expedition"] footer[id]{scroll-margin-top:110px}[data-gp-theme="travel-expedition"] [hidden]{display:none!important}[data-gp-theme="travel-expedition"] .skip-link{position:fixed;z-index:200;top:8px;left:8px;background:#fff;color:#111;padding:12px 18px;transform:translateY(-150%)}[data-gp-theme="travel-expedition"] .skip-link:focus{transform:none}
[data-gp-theme="travel-expedition"] .preview-bar{min-height:42px;background:#f6f6f2;color:#252a2a;border-bottom:1px solid #d5d8d4;font:13px/1.3 "Figtree",sans-serif;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 3vw;position:relative;z-index:30}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="travel-expedition"] .preview-bar{padding:5px 3cqw}}[data-gp-theme="travel-expedition"] .preview-bar a{white-space:nowrap}[data-gp-theme="travel-expedition"] .preview-bar [role=group]{display:flex;gap:2px;align-items:center}[data-gp-theme="travel-expedition"] .preview-bar :is(button,[role="button"]){min-height:32px;background:transparent;color:inherit;border:0;padding:6px 10px;border-radius:3px;font-size:13px;transition:background-color 150ms var(--ease-out)}[data-gp-theme="travel-expedition"] .preview-bar [aria-pressed=true]{background:#252a2a;color:#fff}[data-gp-theme="travel-expedition"] .preview-bar :is(button,[role="button"])[data-replay-intro]{border:1px solid #b6beb8}[data-gp-theme="travel-expedition"] .preview-label{color:#515953}[data-gp-theme="travel-expedition"] .preview-bar::selection{background:#252a2a;color:#fff}
[data-gp-theme="travel-expedition"] dialog.mega-menu{max-width:none;max-height:calc(100dvh - 32px);overflow:auto;border:0;padding:0;color:inherit;overscroll-behavior:contain}[data-gp-theme="travel-expedition"] dialog.mega-menu::backdrop{background:rgb(8 16 18 / .52)}[data-gp-theme="travel-expedition"] .mega-menu[open]{animation:gp-expedition-menu-arrive 220ms var(--ease-drawer)}[data-gp-theme="travel-expedition"] .mega-menu[data-closing]{animation:gp-expedition-menu-leave 160ms var(--ease-out) forwards}[data-gp-theme="travel-expedition"] .mega-menu[data-keyboard]{animation:none}[data-gp-theme="travel-expedition"] .menu-lock{overflow:hidden}@keyframes gp-expedition-menu-arrive{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}@keyframes gp-expedition-menu-leave{to{opacity:0;transform:translateY(-10px)}}
[data-gp-theme="travel-expedition"] .preloader{display:none;position:fixed;inset:0;z-index:190;place-content:center;pointer-events:none;text-align:center}[data-gp-theme="travel-expedition"] .preloader.is-active{display:grid;animation:gp-expedition-intro-failsafe 1.3s step-end forwards}[data-gp-theme="travel-expedition"] .preloader.is-leaving{opacity:0;transition:opacity 180ms var(--ease-out)}@keyframes gp-expedition-intro-failsafe{0%,99%{visibility:visible}100%{visibility:hidden}}
@media(max-width:650px){[data-gp-theme="travel-expedition"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="travel-expedition"] .preview-bar .preview-label{display:none}[data-gp-theme="travel-expedition"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="travel-expedition"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="travel-expedition"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="travel-expedition"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="travel-expedition"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="travel-expedition"] .preview-bar .preview-label{display:none}[data-gp-theme="travel-expedition"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="travel-expedition"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="travel-expedition"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="travel-expedition"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="travel-expedition"]{scroll-behavior:auto}[data-gp-theme="travel-expedition"] *,[data-gp-theme="travel-expedition"] *::before,[data-gp-theme="travel-expedition"] *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-gp-theme="travel-expedition"] .preloader.is-active{display:none!important}}
@media(max-width:650px){[data-gp-theme="travel-expedition"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="travel-expedition"] .preview-bar a{font-size:12px}[data-gp-theme="travel-expedition"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="travel-expedition"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="travel-expedition"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="travel-expedition"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="travel-expedition"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="travel-expedition"] .preview-bar a{font-size:12px}[data-gp-theme="travel-expedition"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="travel-expedition"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="travel-expedition"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="travel-expedition"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}

[data-gp-theme="travel-expedition"] *{box-sizing:border-box}[data-gp-theme="travel-expedition"]{background:var(--paper);color:var(--ink);font:18px/1.55 var(--body);--focus:var(--accent)}[data-gp-theme="travel-expedition"] h1,[data-gp-theme="travel-expedition"] h2,[data-gp-theme="travel-expedition"] h3,[data-gp-theme="travel-expedition"] p,[data-gp-theme="travel-expedition"] figure{margin:0}[data-gp-theme="travel-expedition"] h1,[data-gp-theme="travel-expedition"] h2,[data-gp-theme="travel-expedition"] h3{font-family:var(--display);font-weight:500;line-height:1.05}[data-gp-theme="travel-expedition"] h1{font-size:clamp(48px,6.4vw,96px);letter-spacing:-.035em}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="travel-expedition"] h1{font-size:clamp(48px,6.4cqw,96px)}}[data-gp-theme="travel-expedition"] h2{font-size:clamp(36px,4vw,62px);letter-spacing:-.025em}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="travel-expedition"] h2{font-size:clamp(36px,4cqw,62px)}}[data-gp-theme="travel-expedition"] h3{font-size:28px}[data-gp-theme="travel-expedition"] p{max-width:62ch}[data-gp-theme="travel-expedition"] p+p{margin-top:1em}[data-gp-theme="travel-expedition"] .wrap{width:min(1280px,calc(100% - 80px));margin:auto}[data-gp-theme="travel-expedition"] .section{padding:100px 0}[data-gp-theme="travel-expedition"] .section-head{display:flex;justify-content:space-between;gap:40px;margin-bottom:42px;align-items:end}[data-gp-theme="travel-expedition"] .section-head>p{max-width:36ch}[data-gp-theme="travel-expedition"] .kicker{font-size:15px;margin-bottom:18px;color:var(--muted)}[data-gp-theme="travel-expedition"] .small,[data-gp-theme="travel-expedition"] figcaption{font-size:14px;line-height:1.5;color:var(--muted)}[data-gp-theme="travel-expedition"] figcaption{padding:12px 0}[data-gp-theme="travel-expedition"] .site-header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0}[data-gp-theme="travel-expedition"] .brand{font:600 26px/1.15 var(--display);text-decoration:none;display:flex;align-items:center;gap:12px}[data-gp-theme="travel-expedition"] .brand svg{width:40px;height:40px;fill:none;stroke:currentColor;stroke-width:1.8}[data-gp-theme="travel-expedition"] .brand small{display:block;font:13px/1.5 var(--body);margin-top:5px}[data-gp-theme="travel-expedition"] .site-header nav{display:flex;gap:26px;font-size:16px}[data-gp-theme="travel-expedition"] .site-header nav a{text-decoration:none}[data-gp-theme="travel-expedition"] .menu-button,[data-gp-theme="travel-expedition"] .button,[data-gp-theme="travel-expedition"] :is(button,[role="button"]):is([type="submit"],[data-gp-button-type="submit"]){display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:12px 22px;min-height:48px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);text-decoration:none;font:600 16px/1.4 var(--body)}[data-gp-theme="travel-expedition"] .menu-button{background:transparent;color:var(--ink)}[data-gp-theme="travel-expedition"] .menu-button svg{width:20px;fill:none;stroke:currentColor;stroke-width:2}[data-gp-theme="travel-expedition"] .button.accent,[data-gp-theme="travel-expedition"] :is(button,[role="button"]):is([type="submit"],[data-gp-button-type="submit"]){background:var(--accent);border-color:var(--accent);color:var(--on-accent)}[data-gp-theme="travel-expedition"] .text-link{display:inline-block;margin-top:20px;font-weight:600}[data-gp-theme="travel-expedition"] .duo{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}[data-gp-theme="travel-expedition"] .duo img{width:100%;object-fit:cover}[data-gp-theme="travel-expedition"] .choice-row{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}[data-gp-theme="travel-expedition"] .choice-row :is(button,[role="button"]){padding:11px 18px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:16px}[data-gp-theme="travel-expedition"] .choice-row :is(button,[role="button"])[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}[data-gp-theme="travel-expedition"] .task-panel{background:var(--wash);padding:32px;border:1px solid var(--line)}[data-gp-theme="travel-expedition"] .task-panel h3{margin-bottom:16px}[data-gp-theme="travel-expedition"] .task-panel p{margin:12px 0}[data-gp-theme="travel-expedition"] .form{display:grid;grid-template-columns:1fr 1fr;gap:20px}[data-gp-theme="travel-expedition"] .form label{display:grid;gap:8px;font-size:16px;font-weight:600;min-width:0}[data-gp-theme="travel-expedition"] .form input,[data-gp-theme="travel-expedition"] .form select,[data-gp-theme="travel-expedition"] .form textarea{width:100%;min-width:0;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:12px;font-size:17px;font-weight:400;border-radius:0}[data-gp-theme="travel-expedition"] .form textarea{min-height:130px}[data-gp-theme="travel-expedition"] .full{grid-column:1/-1}[data-gp-theme="travel-expedition"] .result{display:block;margin-top:20px;padding:18px;border-left:3px solid var(--accent);background:var(--wash);min-height:0;font-size:17px}[data-gp-theme="travel-expedition"] .result:empty{display:none}[data-gp-theme="travel-expedition"] .band{background:var(--wash)}[data-gp-theme="travel-expedition"] details{border-top:1px solid var(--line);padding:20px 0}[data-gp-theme="travel-expedition"] summary{font-weight:600;min-height:44px}[data-gp-theme="travel-expedition"] details p{padding:12px 0}[data-gp-theme="travel-expedition"] .rule-list{list-style:none;padding:0}[data-gp-theme="travel-expedition"] .rule-list li{border-top:1px solid var(--line);padding:18px 0}[data-gp-theme="travel-expedition"] .site-footer{padding:76px 0 25px;border-top:1px solid var(--line);background:var(--wash)}[data-gp-theme="travel-expedition"] .footer-layout{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px}[data-gp-theme="travel-expedition"] .footer-layout h2{font-size:clamp(38px,4.5vw,64px);margin-bottom:24px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="travel-expedition"] .footer-layout h2{font-size:clamp(38px,4.5cqw,64px)}}[data-gp-theme="travel-expedition"] .footer-layout h3{font:600 17px var(--body);margin-bottom:18px}[data-gp-theme="travel-expedition"] .footer-layout a{display:block;margin:12px 0;font-size:16px}[data-gp-theme="travel-expedition"] .footer-bottom{display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);margin-top:50px;padding-top:22px;font-size:13px;color:var(--muted)}[data-gp-theme="travel-expedition"] dialog.mega-menu{width:min(1180px,calc(100% - 40px));background:var(--paper);color:var(--ink);margin:24px auto}[data-gp-theme="travel-expedition"] .menu-top{display:flex;justify-content:space-between;align-items:center;padding:28px 38px;border-bottom:1px solid var(--line)}[data-gp-theme="travel-expedition"] .menu-top :is(button,[role="button"]){background:transparent;color:var(--ink);border:1px solid var(--line);padding:10px 18px}[data-gp-theme="travel-expedition"] .menu-layout{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:48px}[data-gp-theme="travel-expedition"] .menu-layout h2{margin-bottom:25px}[data-gp-theme="travel-expedition"] .menu-layout nav{display:grid}[data-gp-theme="travel-expedition"] .menu-layout nav a{display:flex;justify-content:space-between;text-decoration:none;padding:16px 0;border-bottom:1px solid var(--line);font-size:23px}[data-gp-theme="travel-expedition"] .menu-layout aside{padding:30px;background:var(--wash)}[data-gp-theme="travel-expedition"] .menu-layout aside p{margin-top:22px}[data-gp-theme="travel-expedition"] .preloader{background:var(--paper);color:var(--ink)}[data-gp-theme="travel-expedition"] .intro-mark{font:44px var(--display)}[data-gp-theme="travel-expedition"] .preloader .intro-mark svg{width:70px;height:70px;display:block;margin:auto auto 20px;fill:none;stroke:currentColor;stroke-width:1.4}[data-gp-theme="travel-expedition"][data-keyboard] :is(button,[role="button"]):active{transform:none}@media(hover:hover) and (pointer:fine){[data-gp-theme="travel-expedition"] .menu-button:hover{background:var(--wash)}[data-gp-theme="travel-expedition"] .button,[data-gp-theme="travel-expedition"] .menu-button,[data-gp-theme="travel-expedition"] .choice-row :is(button,[role="button"]){transition:transform 150ms var(--ease-out),background-color 180ms var(--ease-out)}[data-gp-theme="travel-expedition"] .button:hover{transform:translateY(-2px)}[data-gp-theme="travel-expedition"] .choice-row :is(button,[role="button"]):hover{transform:translateY(-1px)}}@media(max-width:850px){[data-gp-theme="travel-expedition"] .wrap{width:calc(100% - 40px)}[data-gp-theme="travel-expedition"] .section{padding:65px 0}[data-gp-theme="travel-expedition"] .site-header nav{display:none}[data-gp-theme="travel-expedition"] .site-header{padding:20px 0}[data-gp-theme="travel-expedition"] .duo{gap:35px}[data-gp-theme="travel-expedition"] .section-head{align-items:start}[data-gp-theme="travel-expedition"] .footer-layout{gap:28px;grid-template-columns:1.5fr 1fr}}@containerfs-editor-canvas (max-width: 850px){[data-gp-theme="travel-expedition"] .wrap{width:calc(100% - 40px)}[data-gp-theme="travel-expedition"] .section{padding:65px 0}[data-gp-theme="travel-expedition"] .site-header nav{display:none}[data-gp-theme="travel-expedition"] .site-header{padding:20px 0}[data-gp-theme="travel-expedition"] .duo{gap:35px}[data-gp-theme="travel-expedition"] .section-head{align-items:start}[data-gp-theme="travel-expedition"] .footer-layout{gap:28px;grid-template-columns:1.5fr 1fr}}@media(max-width:600px){[data-gp-theme="travel-expedition"] .wrap{width:calc(100% - 32px)}[data-gp-theme="travel-expedition"]{font-size:17px}[data-gp-theme="travel-expedition"] .brand{font-size:22px}[data-gp-theme="travel-expedition"] .brand svg{width:32px;height:32px}[data-gp-theme="travel-expedition"] .menu-button{padding:10px 14px;font-size:14px}[data-gp-theme="travel-expedition"] .duo,[data-gp-theme="travel-expedition"] .footer-layout,[data-gp-theme="travel-expedition"] .menu-layout{grid-template-columns:1fr}[data-gp-theme="travel-expedition"] .section-head{display:block}[data-gp-theme="travel-expedition"] .section-head>p{margin-top:20px}[data-gp-theme="travel-expedition"] .form{grid-template-columns:1fr}[data-gp-theme="travel-expedition"] .full{grid-column:auto}[data-gp-theme="travel-expedition"] .task-panel{padding:23px}[data-gp-theme="travel-expedition"] .footer-bottom{display:block}[data-gp-theme="travel-expedition"] .footer-bottom span:not(.fs-richtext){display:block;margin:10px 0}[data-gp-theme="travel-expedition"] .menu-top{padding:20px}[data-gp-theme="travel-expedition"] .menu-layout{padding:26px;gap:25px}[data-gp-theme="travel-expedition"] .menu-layout nav a{font-size:21px}[data-gp-theme="travel-expedition"] .menu-layout aside{padding:22px}[data-gp-theme="travel-expedition"] .section{padding:55px 0}}@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="travel-expedition"] .wrap{width:calc(100% - 32px)}[data-gp-theme="travel-expedition"]{font-size:17px}[data-gp-theme="travel-expedition"] .brand{font-size:22px}[data-gp-theme="travel-expedition"] .brand svg{width:32px;height:32px}[data-gp-theme="travel-expedition"] .menu-button{padding:10px 14px;font-size:14px}[data-gp-theme="travel-expedition"] .duo,[data-gp-theme="travel-expedition"] .footer-layout,[data-gp-theme="travel-expedition"] .menu-layout{grid-template-columns:1fr}[data-gp-theme="travel-expedition"] .section-head{display:block}[data-gp-theme="travel-expedition"] .section-head>p{margin-top:20px}[data-gp-theme="travel-expedition"] .form{grid-template-columns:1fr}[data-gp-theme="travel-expedition"] .full{grid-column:auto}[data-gp-theme="travel-expedition"] .task-panel{padding:23px}[data-gp-theme="travel-expedition"] .footer-bottom{display:block}[data-gp-theme="travel-expedition"] .footer-bottom span:not(.fs-richtext){display:block;margin:10px 0}[data-gp-theme="travel-expedition"] .menu-top{padding:20px}[data-gp-theme="travel-expedition"] .menu-layout{padding:26px;gap:25px}[data-gp-theme="travel-expedition"] .menu-layout nav a{font-size:21px}[data-gp-theme="travel-expedition"] .menu-layout aside{padding:22px}[data-gp-theme="travel-expedition"] .section{padding:55px 0}}@media(prefers-reduced-motion:reduce){[data-gp-theme="travel-expedition"] :is(button,[role="button"]),[data-gp-theme="travel-expedition"] .button{transform:none!important}}


[data-gp-theme="travel-expedition"]{--paper:#e9e8d8;--ink:#213e37;--accent:#96451f;--wash:#d8dfd5;--line:#94a69b;--on-accent:#fff7df;--muted:#526559;--display:"Archivo",sans-serif;--body:"IBM Plex Sans",sans-serif}[data-gp-theme="travel-expedition"][data-palette="1"]{--paper:#ece8df;--ink:#283e54;--accent:#395d7b;--wash:#d7dfe4;--line:#9badbd;--muted:#47596d}[data-gp-theme="travel-expedition"][data-palette="2"]{--paper:#eeead7;--ink:#4b392a;--accent:#8d5725;--wash:#e1d6bf;--line:#b6a080;--muted:#655642}[data-gp-theme="travel-expedition"][data-mode="dark"]{--paper:#162b26;--ink:#f0eed9;--accent:#f2a678;--on-accent:#382617;--wash:#254138;--line:#79988a;--muted:#c1d0c4}[data-gp-theme="travel-expedition"][data-mode="dark"][data-palette="1"]{--paper:#1d2d3c;--wash:#2d4355;--accent:#b3d1e5;--line:#7d9bb2;--ink:#f1f0e4}[data-gp-theme="travel-expedition"][data-mode="dark"][data-palette="2"]{--paper:#30271e;--wash:#463a2b;--accent:#ebbd87;--line:#9c8668;--ink:#f5efdb}[data-gp-theme="travel-expedition"] h1,[data-gp-theme="travel-expedition"] h2,[data-gp-theme="travel-expedition"] h3{font-weight:650}[data-gp-theme="travel-expedition"] .brand{font-size:24px}[data-gp-theme="travel-expedition"] .brand small{font-weight:400;font-size:13px}[data-gp-theme="travel-expedition"] .route-banner{display:flex;justify-content:space-between;font-size:14px;border-top:1px solid var(--line);padding:15px 0}[data-gp-theme="travel-expedition"] .terrain-frame{position:relative;height:650px;isolation:isolate}[data-gp-theme="travel-expedition"] .terrain-image{width:100%;height:100%;object-fit:cover}[data-gp-theme="travel-expedition"] .terrain-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,30,25,.7),transparent 85%)}[data-gp-theme="travel-expedition"] .route-title{position:absolute;left:0;right:0;top:60px;color:#fff8df}[data-gp-theme="travel-expedition"] .route-title>p{font-size:20px;margin-bottom:20px}[data-gp-theme="travel-expedition"] .route-title h1{font-size:clamp(50px,5.3vw,82px);max-width:11ch;line-height:.99}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="travel-expedition"] .route-title h1{font-size:clamp(50px,5.3cqw,82px)}}[data-gp-theme="travel-expedition"] .route-legend{position:absolute;right:5vw;bottom:35px;background:var(--paper);color:var(--ink);width:310px;padding:25px;display:grid;gap:12px;border-top:5px solid var(--accent)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="travel-expedition"] .route-legend{right:5cqw}}[data-gp-theme="travel-expedition"] .route-legend strong{font-size:24px}[data-gp-theme="travel-expedition"] .route-legend>span:not(.fs-richtext){font-size:15px}[data-gp-theme="travel-expedition"] .route-legend a{border-top:1px solid var(--line);padding-top:15px;margin-top:8px;font-size:16px;font-weight:600}[data-gp-theme="travel-expedition"] .route-bottom{display:flex;justify-content:space-between;gap:20px;font-size:13px;padding:15px 0;color:var(--muted)}[data-gp-theme="travel-expedition"] .route-ledger{display:grid;grid-template-columns:1fr 1.25fr;border-top:2px solid var(--ink);border-bottom:1px solid var(--line)}[data-gp-theme="travel-expedition"] .route-ledger nav{grid-column:1;grid-row:1;padding-right:35px}[data-gp-theme="travel-expedition"] .route-ledger nav :is(button,[role="button"]){display:flex;align-items:center;gap:25px;width:100%;padding:24px 10px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left}[data-gp-theme="travel-expedition"] .route-ledger nav strong{font-size:37px;font-weight:400;color:var(--muted)}[data-gp-theme="travel-expedition"] .route-ledger nav :is(button,[role="button"])[aria-pressed=true]{border-left:4px solid var(--accent);background:var(--wash)}[data-gp-theme="travel-expedition"] .route-ledger nav :is(button,[role="button"])[aria-pressed=true] strong{color:var(--accent)}[data-gp-theme="travel-expedition"] .route-ledger nav span:not(.fs-richtext){font-size:18px}[data-gp-theme="travel-expedition"] .route-study{grid-row:2;grid-column:1;padding:20px 35px 20px 0}[data-gp-theme="travel-expedition"] .route-study svg{width:100%;display:block;fill:none}[data-gp-theme="travel-expedition"] .contour{stroke:var(--line);stroke-width:1}[data-gp-theme="travel-expedition"] .lake{fill:var(--wash);stroke:var(--line)}[data-gp-theme="travel-expedition"] .route-segment{stroke:var(--line);stroke-width:4;stroke-dasharray:7 5;transition:stroke 180ms var(--ease-out)}[data-gp-theme="travel-expedition"] .route-segment.selected{stroke:var(--accent);stroke-width:6;stroke-dasharray:none}[data-gp-theme="travel-expedition"] .route-points{fill:var(--paper);stroke:var(--accent);stroke-width:3}[data-gp-theme="travel-expedition"] .route-study .small{font-size:13px}[data-gp-theme="travel-expedition"] .day-page{grid-column:2;grid-row:1/3;border-left:1px solid var(--line);padding:45px 50px;background:var(--wash)}[data-gp-theme="travel-expedition"] .day-page>span:not(.fs-richtext){font-size:15px;color:var(--muted)}[data-gp-theme="travel-expedition"] .day-page h3{font-size:45px;max-width:12ch;margin:28px 0}[data-gp-theme="travel-expedition"] .day-question{border-top:1px solid var(--line);padding-top:25px;margin-top:40px}[data-gp-theme="travel-expedition"] .day-question strong{font-size:15px}[data-gp-theme="travel-expedition"] .day-question p{margin-top:12px}[data-gp-theme="travel-expedition"] .pace-section{background:var(--ink);color:var(--paper)}[data-gp-theme="travel-expedition"] .pace-section .kicker,[data-gp-theme="travel-expedition"] .pace-section .small{color:var(--paper)}[data-gp-theme="travel-expedition"] .pace-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}[data-gp-theme="travel-expedition"] .pace-layout h2{margin-bottom:25px}[data-gp-theme="travel-expedition"] .pace-choice .choice-row{margin-top:0}[data-gp-theme="travel-expedition"] .pace-choice .choice-row :is(button,[role="button"]){background:transparent;color:var(--paper);border-color:var(--paper)}[data-gp-theme="travel-expedition"] .pace-choice .choice-row :is(button,[role="button"])[aria-pressed=true]{background:var(--paper);color:var(--ink)}[data-gp-theme="travel-expedition"] .pace-choice h3{margin:25px 0;font-size:34px}[data-gp-theme="travel-expedition"] .pace-choice .small{margin-top:25px}[data-gp-theme="travel-expedition"] .practical-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}[data-gp-theme="travel-expedition"] .practical-columns article{border-top:4px solid var(--accent);padding-top:25px}[data-gp-theme="travel-expedition"] .practical-columns h3{margin-bottom:20px}[data-gp-theme="travel-expedition"] .preparation-band{background:var(--wash)}[data-gp-theme="travel-expedition"] .prep-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:80px}[data-gp-theme="travel-expedition"] .prep-layout h2{margin-bottom:25px}[data-gp-theme="travel-expedition"] .prep-progress{font-size:23px;color:var(--accent);margin-top:25px}[data-gp-theme="travel-expedition"] .prep-checks label{display:flex;align-items:center;gap:18px;min-height:68px;border-top:1px solid var(--line);padding:10px 0;font-size:18px}[data-gp-theme="travel-expedition"] .prep-checks input{width:22px;height:22px;min-height:22px;accent-color:var(--accent);flex-shrink:0}[data-gp-theme="travel-expedition"] .prep-checks .small{margin-top:20px}[data-gp-theme="travel-expedition"] [data-gp-id="enquiry"] h2{margin-bottom:25px}[data-gp-theme="travel-expedition"] [data-gp-id="enquiry"] .small{margin-top:25px}[data-gp-theme="travel-expedition"] .mega-menu .menu-layout{grid-template-columns:1.2fr 1fr}[data-gp-theme="travel-expedition"] .mega-menu aside{border-left:5px solid var(--accent)}[data-gp-theme="travel-expedition"] .mega-menu nav a:before{content:"↗";color:var(--accent);margin-right:22px}[data-gp-theme="travel-expedition"] .mega-menu nav a span:not(.fs-richtext){display:none}@media(max-width:850px){[data-gp-theme="travel-expedition"] .route-ledger{grid-template-columns:1fr 1fr}[data-gp-theme="travel-expedition"] .day-page{padding:35px}[data-gp-theme="travel-expedition"] .pace-layout,[data-gp-theme="travel-expedition"] .prep-layout{gap:40px}[data-gp-theme="travel-expedition"] .terrain-frame{height:620px}}@containerfs-editor-canvas (max-width: 850px){[data-gp-theme="travel-expedition"] .route-ledger{grid-template-columns:1fr 1fr}[data-gp-theme="travel-expedition"] .day-page{padding:35px}[data-gp-theme="travel-expedition"] .pace-layout,[data-gp-theme="travel-expedition"] .prep-layout{gap:40px}[data-gp-theme="travel-expedition"] .terrain-frame{height:620px}}@media(max-width:600px){[data-gp-theme="travel-expedition"] .route-banner{display:block;padding:12px 0}[data-gp-theme="travel-expedition"] .route-banner>p{font-size:13px}[data-gp-theme="travel-expedition"] .route-banner>p+p{margin-top:4px}[data-gp-theme="travel-expedition"] .terrain-frame{height:690px}[data-gp-theme="travel-expedition"] .terrain-image{object-position:center}[data-gp-theme="travel-expedition"] .terrain-overlay{background:linear-gradient(180deg,rgba(9,30,25,.7),transparent 65%)}[data-gp-theme="travel-expedition"] .route-title{top:32px}[data-gp-theme="travel-expedition"] .route-title h1{font-size:52px}[data-gp-theme="travel-expedition"] .route-title>p{font-size:17px}[data-gp-theme="travel-expedition"] .route-legend{left:16px;right:16px;bottom:18px;width:auto;padding:20px;gap:8px}[data-gp-theme="travel-expedition"] .route-legend strong{font-size:22px}[data-gp-theme="travel-expedition"] .route-bottom{display:block;font-size:12px}[data-gp-theme="travel-expedition"] .route-bottom>span:not(.fs-richtext){display:block;padding:3px 0}[data-gp-theme="travel-expedition"] .route-ledger{grid-template-columns:1fr}[data-gp-theme="travel-expedition"] .route-ledger nav{grid-row:1;grid-column:1;padding:0}[data-gp-theme="travel-expedition"] .route-ledger nav :is(button,[role="button"]){padding:18px 12px;gap:20px}[data-gp-theme="travel-expedition"] .route-study{grid-column:1;grid-row:3;padding:20px 0}[data-gp-theme="travel-expedition"] .day-page{grid-column:1;grid-row:2;border-left:0;padding:30px 22px;min-height:380px}[data-gp-theme="travel-expedition"] .day-page h3{font-size:37px}[data-gp-theme="travel-expedition"] .pace-layout,[data-gp-theme="travel-expedition"] .practical-columns,[data-gp-theme="travel-expedition"] .prep-layout{grid-template-columns:1fr;gap:35px}[data-gp-theme="travel-expedition"] .practical-columns{gap:30px}[data-gp-theme="travel-expedition"] .practical-columns article{padding-top:20px}[data-gp-theme="travel-expedition"] .practical-columns h3{margin-bottom:12px}[data-gp-theme="travel-expedition"] .mega-menu .menu-layout{grid-template-columns:1fr}}@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="travel-expedition"] .route-banner{display:block;padding:12px 0}[data-gp-theme="travel-expedition"] .route-banner>p{font-size:13px}[data-gp-theme="travel-expedition"] .route-banner>p+p{margin-top:4px}[data-gp-theme="travel-expedition"] .terrain-frame{height:690px}[data-gp-theme="travel-expedition"] .terrain-image{object-position:center}[data-gp-theme="travel-expedition"] .terrain-overlay{background:linear-gradient(180deg,rgba(9,30,25,.7),transparent 65%)}[data-gp-theme="travel-expedition"] .route-title{top:32px}[data-gp-theme="travel-expedition"] .route-title h1{font-size:52px}[data-gp-theme="travel-expedition"] .route-title>p{font-size:17px}[data-gp-theme="travel-expedition"] .route-legend{left:16px;right:16px;bottom:18px;width:auto;padding:20px;gap:8px}[data-gp-theme="travel-expedition"] .route-legend strong{font-size:22px}[data-gp-theme="travel-expedition"] .route-bottom{display:block;font-size:12px}[data-gp-theme="travel-expedition"] .route-bottom>span:not(.fs-richtext){display:block;padding:3px 0}[data-gp-theme="travel-expedition"] .route-ledger{grid-template-columns:1fr}[data-gp-theme="travel-expedition"] .route-ledger nav{grid-row:1;grid-column:1;padding:0}[data-gp-theme="travel-expedition"] .route-ledger nav :is(button,[role="button"]){padding:18px 12px;gap:20px}[data-gp-theme="travel-expedition"] .route-study{grid-column:1;grid-row:3;padding:20px 0}[data-gp-theme="travel-expedition"] .day-page{grid-column:1;grid-row:2;border-left:0;padding:30px 22px;min-height:380px}[data-gp-theme="travel-expedition"] .day-page h3{font-size:37px}[data-gp-theme="travel-expedition"] .pace-layout,[data-gp-theme="travel-expedition"] .practical-columns,[data-gp-theme="travel-expedition"] .prep-layout{grid-template-columns:1fr;gap:35px}[data-gp-theme="travel-expedition"] .practical-columns{gap:30px}[data-gp-theme="travel-expedition"] .practical-columns article{padding-top:20px}[data-gp-theme="travel-expedition"] .practical-columns h3{margin-bottom:12px}[data-gp-theme="travel-expedition"] .mega-menu .menu-layout{grid-template-columns:1fr}}

@media(min-width:851px) and (max-width:1200px){[data-gp-theme="travel-expedition"] .site-header nav{display:none}}

[data-gp-theme="travel-expedition"][data-input=keyboard] :is(.button,.menu-button,.choice-row button){transition:none;transform:none}

[data-gp-theme="travel-expedition"] .day-page{min-height:500px}[data-gp-theme="travel-expedition"] .pace-choice>p:not(.small){min-height:100px}@media(max-width:600px){[data-gp-theme="travel-expedition"] .day-page{min-height:420px}}@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="travel-expedition"] .day-page{min-height:420px}}

[data-gp-theme="travel-expedition"] [data-gp-id="prep-progress"]{color:var(--ink)}

/* Preview chrome and accessibility only. Theme authors own the visual worlds. */
[data-gp-theme="travel-expedition"][data-premium]{color-scheme:light;background:var(--paper);color:var(--ink);accent-color:var(--accent);scrollbar-color:var(--accent) var(--wash)}
[data-gp-theme="travel-expedition"][data-premium][data-mode=dark]{color-scheme:dark}
[data-gp-theme="travel-expedition"][data-premium] ::selection{background:var(--accent);color:var(--on-accent)}
[data-gp-theme="travel-expedition"][data-premium] :is(input,textarea){caret-color:var(--accent)}
[data-gp-theme="travel-expedition"][data-premium] :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--accent);outline-offset:4px}
[data-gp-theme="travel-expedition"][data-premium] :is(input,select,textarea){max-width:100%}
[data-gp-theme="travel-expedition"][data-premium] :is(input,textarea)::placeholder{color:var(--muted);opacity:1}
[data-gp-theme="travel-expedition"][data-premium] .preview-bar{display:flex;flex-wrap:wrap;justify-content:flex-start;background:#f5f5f0;color:#242d2c;border-color:#cbd0c8;gap:8px 14px;position:relative;font:13px/1.3 "Figtree",sans-serif;min-height:52px;padding:6px 3vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="travel-expedition"][data-premium] .preview-bar{padding:6px 3cqw}}
[data-gp-theme="travel-expedition"][data-premium] .preview-bar>a{font-weight:600;min-height:40px;display:flex;align-items:center}
[data-gp-theme="travel-expedition"][data-premium] .preview-bar [role=group]{margin-left:auto;display:flex;gap:2px}
[data-gp-theme="travel-expedition"][data-premium] .preview-bar :is(button,select){font:13px/1.3 "Figtree",sans-serif;min-height:40px;max-width:100%;border-radius:3px}
[data-gp-theme="travel-expedition"][data-premium] .preview-bar select{background:#fff;color:#242d2c;border:1px solid #a2ada4;padding:7px 24px 7px 9px}
[data-gp-theme="travel-expedition"][data-premium] .preview-bar [aria-pressed=true]{background:#242d2c;color:#fff}
[data-gp-theme="travel-expedition"][data-premium] .preview-bar .preview-label{font:12px/1.3 "Figtree",sans-serif;color:#48554f}
[data-gp-theme="travel-expedition"][data-premium] .preview-bar :focus-visible{outline-color:#254fbb}
[data-gp-theme="travel-expedition"][data-premium] .preview-bar [data-replay-intro]{font-size:12px;margin:0}
[data-gp-theme="travel-expedition"][data-premium] .preview-bar [data-replay-intro]::after{content:none}
[data-gp-theme="travel-expedition"][data-premium] .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
[data-gp-theme="travel-expedition"][data-premium] .premium-action{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 22px;background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);text-decoration:none;font-weight:600;transition:transform 150ms var(--ease-out),background-color 150ms var(--ease-out)}
[data-gp-theme="travel-expedition"][data-premium] .premium-action:active{transform:translateY(1px)}
[data-gp-theme="travel-expedition"][data-premium] .premium-action:disabled{opacity:.6;cursor:not-allowed}
[data-gp-theme="travel-expedition"][data-premium] :is(h1,h2,h3){text-wrap:balance}
[data-gp-theme="travel-expedition"][data-premium] p{text-wrap:pretty}
/* Put down the opaque menu surface immediately, then introduce its content. */
[data-gp-theme="travel-expedition"][data-premium] .mega-menu[open]:not([data-closing]){animation:none}
[data-gp-theme="travel-expedition"][data-premium] .mega-menu[open]:not([data-closing])>:not(:first-child){animation:gp-expedition-premium-menu-content 160ms var(--ease-out)}
[data-gp-theme="travel-expedition"][data-premium] .mega-menu[data-keyboard]>:not(:first-child){animation:none!important}
[data-gp-theme="travel-expedition"][data-premium][data-input=keyboard] :is(button,[role="button"]):active{transform:none}
@keyframes gp-expedition-premium-menu-content{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:650px){
 [data-gp-theme="travel-expedition"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="travel-expedition"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="travel-expedition"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="travel-expedition"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="travel-expedition"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="travel-expedition"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="travel-expedition"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="travel-expedition"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@containerfs-editor-canvas (max-width: 650px){
 [data-gp-theme="travel-expedition"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="travel-expedition"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="travel-expedition"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="travel-expedition"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="travel-expedition"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="travel-expedition"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="travel-expedition"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="travel-expedition"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@media(prefers-reduced-motion:reduce){[data-gp-theme="travel-expedition"][data-premium] .premium-action{transition:none;transform:none}}

/* Website page primitives and actual layout modes. Authored theme CSS owns identity. */
[data-gp-theme="travel-expedition"][data-framed=true] .preview-bar,[data-gp-theme="travel-expedition"][data-framed=true] .site-open-preview{display:none!important}
[data-gp-theme="travel-expedition"][data-site]{--ip-paper:var(--paper,#f4f2eb);--ip-ink:var(--ink,#192f2c);--ip-wash:var(--wash,var(--paper,#e6e9df));--ip-accent:var(--accent,var(--rust,#315b50));--ip-on:var(--on-accent,var(--paper,#fff));--ip-muted:var(--muted,var(--ink,#45534d));--ip-line:var(--line,var(--rule,#a1aca5))}
[data-gp-theme="travel-expedition"][data-inside]{background:var(--ip-paper);color:var(--ip-ink);font:18px/1.65 var(--body,"Figtree",sans-serif)}
[data-gp-theme="travel-expedition"] .inside-page :is(h1,h2,h3){font-family:var(--display,inherit);color:inherit;letter-spacing:-.035em;line-height:1.1;font-weight:500;max-width:22ch}
[data-gp-theme="travel-expedition"] .inside-page h1{font-size:clamp(42px,5.3vw,80px);margin:0 0 26px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="travel-expedition"] .inside-page h1{font-size:clamp(42px,5.3cqw,80px)}}[data-gp-theme="travel-expedition"] .inside-page h2{font-size:clamp(30px,3vw,49px);margin:0 0 24px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="travel-expedition"] .inside-page h2{font-size:clamp(30px,3cqw,49px)}}[data-gp-theme="travel-expedition"] .inside-page h3{font-size:25px;margin:0 0 15px}
[data-gp-theme="travel-expedition"] .inside-page :is(p,li){max-width:72ch}[data-gp-theme="travel-expedition"] .inside-page p{margin:0 0 20px}[data-gp-theme="travel-expedition"] .inside-page a{color:inherit}[data-gp-theme="travel-expedition"] .inside-page img{max-width:100%;width:100%;height:100%;object-fit:cover}[data-gp-theme="travel-expedition"] .inside-page figure{margin:0}[data-gp-theme="travel-expedition"] .inside-page :is(button,[role="button"]){color:inherit}
[data-gp-theme="travel-expedition"] .ip-hero,[data-gp-theme="travel-expedition"] .ip-section{width:min(1320px,calc(100% - 96px));margin-inline:auto;padding-block:70px}[data-gp-theme="travel-expedition"] .ip-hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:65px}[data-gp-theme="travel-expedition"] .ip-opening{min-width:0}[data-gp-theme="travel-expedition"] .ip-hero:has(>.ip-opening:only-child){grid-template-columns:1fr}[data-gp-theme="travel-expedition"] .ip-art{height:430px;position:relative}[data-gp-theme="travel-expedition"] .ip-art img{object-fit:cover}[data-gp-theme="travel-expedition"] .ip-art figcaption,[data-gp-theme="travel-expedition"] .ip-caption{font-size:14px;line-height:1.5;color:var(--ip-muted);padding-top:10px}[data-gp-theme="travel-expedition"] .ip-section>.ip-caption{margin-bottom:20px}[data-gp-theme="travel-expedition"] .ip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}[data-gp-theme="travel-expedition"] .ip-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px}[data-gp-theme="travel-expedition"] .ip-card{min-width:0;border-top:1px solid var(--ip-line);padding:25px 0}[data-gp-theme="travel-expedition"] .ip-card figure{height:230px;margin-bottom:25px}[data-gp-theme="travel-expedition"] .ip-reading{width:min(76ch,calc(100% - 48px));margin-inline:auto;padding-block:55px}[data-gp-theme="travel-expedition"] .ip-reading h2{margin-top:40px}[data-gp-theme="travel-expedition"] .ip-ledger{margin:24px 0}[data-gp-theme="travel-expedition"] .ip-ledger>div{display:grid;grid-template-columns:1fr 1.4fr;gap:20px;border-top:1px solid var(--ip-line);padding:15px 0}[data-gp-theme="travel-expedition"] .ip-ledger dt{font-weight:600}[data-gp-theme="travel-expedition"] .ip-ledger dd{margin:0}[data-gp-theme="travel-expedition"] .ip-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border:1px solid var(--ip-accent);background:var(--ip-accent);color:var(--ip-on)!important;text-decoration:none;font-size:16px;transition:transform 150ms var(--ease-out)}[data-gp-theme="travel-expedition"] .ip-action.secondary{background:transparent;color:var(--ip-ink)!important;border-color:var(--ip-line)}[data-gp-theme="travel-expedition"] .ip-band{padding:55px max(24px,calc((100% - 1320px)/2));background:var(--ip-wash);color:var(--ip-ink)}[data-gp-theme="travel-expedition"] .ip-band p{max-width:65ch}[data-gp-theme="travel-expedition"] .ip-note{font-size:15px;border-left:3px solid var(--ip-accent);padding:12px 18px;background:var(--ip-wash);color:var(--ip-ink);margin-block:20px}[data-gp-theme="travel-expedition"] .ip-form{display:grid;gap:22px}[data-gp-theme="travel-expedition"] .ip-form label{display:grid;gap:8px;font-size:16px}[data-gp-theme="travel-expedition"] .ip-form :is(input,textarea,select){width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid var(--ip-line);background:var(--ip-paper);color:var(--ip-ink);font:inherit;border-radius:0}[data-gp-theme="travel-expedition"] .ip-form :is(input,textarea)::placeholder{color:var(--ip-muted);opacity:1}[data-gp-theme="travel-expedition"] .ip-field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}[data-gp-theme="travel-expedition"] .ip-form :is(button,[role="button"]){justify-self:start}[data-gp-theme="travel-expedition"] .ip-form textarea{min-height:135px}[data-gp-theme="travel-expedition"] .inside-page output[data-draft-output]{display:block;white-space:pre-wrap;padding:25px;background:var(--ip-wash);color:var(--ip-ink);border:1px solid var(--ip-line);overflow-wrap:anywhere}[data-gp-theme="travel-expedition"] .ip-checks{display:grid;gap:12px}[data-gp-theme="travel-expedition"] .ip-checks label{display:flex;align-items:start;gap:14px;border-top:1px solid var(--ip-line);padding:16px 0;min-height:52px}[data-gp-theme="travel-expedition"] .ip-checks input{width:22px;height:22px;min-height:22px;flex-shrink:0;margin-top:4px;accent-color:var(--ip-accent)}[data-gp-theme="travel-expedition"] .inside-page details{border-top:1px solid var(--ip-line);padding:18px 0}[data-gp-theme="travel-expedition"] .inside-page summary{min-height:44px;font-size:21px;cursor:pointer}[data-gp-theme="travel-expedition"] .inside-page details p{padding:16px 0 0}[data-gp-theme="travel-expedition"] .inside-page [data-filter-group]>[role=group]{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}[data-gp-theme="travel-expedition"] .inside-page [data-filter]{padding:10px 18px;min-height:44px;background:transparent;color:var(--ip-ink);border:1px solid var(--ip-line)}[data-gp-theme="travel-expedition"] .inside-page [data-filter][aria-pressed=true]{background:var(--ip-accent);color:var(--ip-on)}[data-gp-theme="travel-expedition"] .site-directory{padding:30px!important;background:var(--ip-paper)!important;color:var(--ip-ink)!important;border-top:1px solid var(--ip-line)}[data-gp-theme="travel-expedition"] .site-directory h3{font:600 17px/1.4 var(--body,"Figtree",sans-serif);margin:0 0 16px}[data-gp-theme="travel-expedition"] .site-directory>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 25px}[data-gp-theme="travel-expedition"] .site-directory a{display:block;font:16px/1.5 var(--body,"Figtree",sans-serif)!important;min-height:44px;padding:10px 0!important;color:inherit!important;text-decoration:none}[data-gp-theme="travel-expedition"] .site-directory a[aria-current=page]{text-decoration:underline;font-weight:600!important}[data-gp-theme="travel-expedition"] .site-open-preview{display:block;padding:10px 20px;background:#eef0eb;color:#20322d;font:14px/1.4 "Figtree",sans-serif;text-align:center}
[data-gp-theme="travel-expedition"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){width:100%;padding-inline:max(24px,4vw)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="travel-expedition"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){padding-inline:max(24px,4cqw)}}
[data-gp-theme="travel-expedition"]:has([data-gp-theme="travel-expedition"][data-layout=boxed]){background:#a6afa9}[data-gp-theme="travel-expedition"][data-layout=boxed]{width:min(1200px,calc(100% - 64px));margin-inline:auto;box-shadow:0 0 0 1px #0002,0 20px 70px #0002;min-height:100dvh;background:var(--ip-paper)}
[data-gp-theme="travel-expedition"][data-layout=centered] :is(.ip-hero,.opening,.cake-opening,.gp-title,.book-opening,.poster-opening,.portal-opening,.destination-opening,.route-opening){text-align:center}
[data-gp-theme="travel-expedition"][data-layout=centered] .ip-hero{grid-template-columns:1fr;max-width:1000px;justify-items:center}[data-gp-theme="travel-expedition"][data-layout=centered] .ip-opening{display:grid;justify-items:center}[data-gp-theme="travel-expedition"][data-layout=centered] .ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="travel-expedition"][data-layout=centered] .ip-art{width:min(760px,100%)}
[data-gp-theme="travel-expedition"][data-layout=minimalist] :is(.ip-section,.ip-hero){padding-block:42px}[data-gp-theme="travel-expedition"][data-layout=minimalist] :is(.ip-card,.ip-art,.ip-note){border-radius:0;box-shadow:none;background-image:none}[data-gp-theme="travel-expedition"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5vw,64px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="travel-expedition"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5cqw,64px)}}[data-gp-theme="travel-expedition"][data-layout=minimalist] :is(.mullions,.glaze-rim,.cake-sticker,.paper-corner){opacity:0}[data-gp-theme="travel-expedition"][data-layout=minimalist] :is(.ip-art img,.opening img){border-radius:0}
[data-gp-theme="travel-expedition"][data-layout=edge-hero] .ip-hero{width:100%;padding-inline:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="travel-expedition"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4vw)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="travel-expedition"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4cqw)}}[data-gp-theme="travel-expedition"][data-layout=edge-hero] .ip-art{height:600px}[data-gp-theme="travel-expedition"][data-layout=edge-hero] .ip-art img{border-radius:0}[data-gp-theme="travel-expedition"][data-layout=edge-hero] .ip-art figcaption{padding:8px 20px}
[data-gp-theme="travel-expedition"][data-layout=full-width] .inside-page>.ip-opening{width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="travel-expedition"][data-layout=full-width] .inside-page>.ip-opening{padding-inline:4cqw}}
[data-gp-theme="travel-expedition"][data-layout=centered] .inside-page>.ip-opening{display:flex;flex-direction:column;align-items:center;text-align:center;width:min(1000px,calc(100% - 48px));gap:30px}[data-gp-theme="travel-expedition"][data-layout=centered] .inside-page>.ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="travel-expedition"][data-layout=centered] .inside-page>.ip-opening>figure{width:min(780px,100%)}
[data-gp-theme="travel-expedition"][data-layout=minimalist] .inside-page>.ip-opening{padding-block:38px}[data-gp-theme="travel-expedition"][data-layout=minimalist] .inside-page>.ip-opening :is(h1,figure){box-shadow:none;border-radius:0}
[data-gp-theme="travel-expedition"][data-layout=edge-hero] .inside-page>.ip-opening{width:100%;max-width:none;padding:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="travel-expedition"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="travel-expedition"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4cqw}}[data-gp-theme="travel-expedition"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:600px;max-width:none;align-self:stretch}[data-gp-theme="travel-expedition"][data-layout=edge-hero] .inside-page>.ip-opening>figure img{height:100%;object-fit:cover;border-radius:0}
/* Existing home compositions gain real width/spacing modes without replacing their content. */
[data-gp-theme="travel-expedition"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="travel-expedition"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){padding-inline:4cqw}}
[data-gp-theme="travel-expedition"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child{text-align:center}
[data-gp-theme="travel-expedition"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(h1,p){margin-inline:auto}[data-gp-theme="travel-expedition"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(.opening-copy,.elevation-copy,.cake-copy,.hero-copy){text-align:center}
[data-gp-theme="travel-expedition"][data-layout=minimalist]:not([data-inside]) .gp-source-main>section{padding-block:44px}[data-gp-theme="travel-expedition"][data-layout=minimalist]:not([data-inside]) :is(.hero-sleeve,.calendar,.hello-note,.open-book){box-shadow:none}
[data-gp-theme="travel-expedition"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child{width:100%;max-width:none;margin-inline:0;padding-inline:0;background:var(--ip-wash)}[data-gp-theme="travel-expedition"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="travel-expedition"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4cqw}}[data-gp-theme="travel-expedition"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:600px}
@media(hover:hover) and (pointer:fine){[data-gp-theme="travel-expedition"] .ip-action:hover{transform:translateY(-2px)}[data-gp-theme="travel-expedition"] .site-directory a:hover{text-decoration:underline}}
@media(max-width:850px){[data-gp-theme="travel-expedition"] .ip-hero,[data-gp-theme="travel-expedition"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="travel-expedition"] .ip-hero{gap:30px}[data-gp-theme="travel-expedition"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="travel-expedition"] .ip-two{gap:30px}[data-gp-theme="travel-expedition"] .ip-art{height:340px}}
@containerfs-editor-canvas (max-width: 850px){[data-gp-theme="travel-expedition"] .ip-hero,[data-gp-theme="travel-expedition"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="travel-expedition"] .ip-hero{gap:30px}[data-gp-theme="travel-expedition"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="travel-expedition"] .ip-two{gap:30px}[data-gp-theme="travel-expedition"] .ip-art{height:340px}}
@media(max-width:600px){[data-gp-theme="travel-expedition"] .ip-hero,[data-gp-theme="travel-expedition"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="travel-expedition"] .ip-hero,[data-gp-theme="travel-expedition"] .ip-two,[data-gp-theme="travel-expedition"] .ip-grid,[data-gp-theme="travel-expedition"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="travel-expedition"] .ip-art{height:300px}[data-gp-theme="travel-expedition"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="travel-expedition"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="travel-expedition"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="travel-expedition"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="travel-expedition"] .site-directory{padding:22px!important}[data-gp-theme="travel-expedition"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="travel-expedition"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="travel-expedition"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="travel-expedition"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="travel-expedition"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="travel-expedition"] .ip-hero,[data-gp-theme="travel-expedition"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="travel-expedition"] .ip-hero,[data-gp-theme="travel-expedition"] .ip-two,[data-gp-theme="travel-expedition"] .ip-grid,[data-gp-theme="travel-expedition"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="travel-expedition"] .ip-art{height:300px}[data-gp-theme="travel-expedition"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="travel-expedition"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="travel-expedition"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="travel-expedition"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="travel-expedition"] .site-directory{padding:22px!important}[data-gp-theme="travel-expedition"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="travel-expedition"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="travel-expedition"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="travel-expedition"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="travel-expedition"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@media(max-width:600px){[data-gp-theme="travel-expedition"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="travel-expedition"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="travel-expedition"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="travel-expedition"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="travel-expedition"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="travel-expedition"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
[data-gp-theme="travel-expedition"] .inside-page a[aria-disabled=true]{cursor:default;text-decoration:none}
[data-gp-theme="travel-expedition"][data-layout=edge-hero] .inside-page .ip-hero .ip-art{transform:none}
@media(prefers-reduced-motion:reduce){[data-gp-theme="travel-expedition"] .ip-action{transition:none;transform:none!important}}
/* Task actions always use an explicit contrasting pair, including themed form overrides. */
[data-gp-theme="travel-expedition"][data-site] .inside-page :is(.ip-form :is(button,[role="button"]):is([type="submit"],[data-gp-button-type="submit"]),[data-save-draft],.ip-action:not(.secondary)){
 background:var(--ip-ink)!important;color:var(--ip-paper)!important;border:1px solid var(--ip-ink)!important;
 min-height:48px;padding:12px 22px;font-size:16px;line-height:1.4;
}
[data-gp-theme="travel-expedition"][data-site] .inside-page .ip-action.secondary{background:transparent!important;color:var(--ip-ink)!important;border-color:var(--ip-line)!important}
[data-gp-theme="travel-expedition"][data-site] .inside-page .ip-form :is(select,select option){background-color:var(--ip-paper);color:var(--ip-ink)}
[data-gp-theme="travel-expedition"] .site-plan-label{display:block;font:400 14px/1.45 var(--body,sans-serif);margin-top:6px;text-decoration:none;opacity:1}
[data-gp-theme="travel-expedition"] a[data-preview-plan]{cursor:pointer}[data-gp-theme="travel-expedition"] .inside-page a[data-preview-plan]{text-decoration:none}
[data-gp-theme="travel-expedition"][data-site] .site-directory a[data-preview-plan]{display:flex;flex-direction:column;align-items:flex-start;gap:2px}[data-gp-theme="travel-expedition"] .site-directory .site-plan-label{font-size:13px;margin:0}

[data-gp-theme="travel-expedition"][data-inside] .ip-opening{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:center;margin:0 auto;padding:64px 0 48px;width:min(1280px,calc(100% - 64px));border-bottom:1px solid var(--line,#9a9a91)}

@container fs-editor-canvas (min-width: 0px){

[data-gp-theme="travel-expedition"][data-inside] .ip-opening{gap:clamp(24px,5cqw,80px)}}
[data-gp-theme="travel-expedition"][data-inside] .ip-opening:not(:has(figure)){grid-template-columns:1fr;max-width:1280px}[data-gp-theme="travel-expedition"][data-inside] .ip-opening h1{max-width:16ch;font-size:clamp(42px,6vw,86px);line-height:1.03}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="travel-expedition"][data-inside] .ip-opening h1{font-size:clamp(42px,6cqw,86px)}}
[data-gp-theme="travel-expedition"][data-inside] .ip-folio{font-size:14px;margin-bottom:20px;color:var(--muted,currentColor)}[data-gp-theme="travel-expedition"][data-inside] .ip-deck{max-width:58ch;margin-top:26px;font-size:21px;line-height:1.55}
[data-gp-theme="travel-expedition"][data-inside] .ip-art{margin:0;min-width:0}[data-gp-theme="travel-expedition"][data-inside] .ip-art img{width:100%;height:360px;object-fit:cover}[data-gp-theme="travel-expedition"][data-inside] .ip-art figcaption{font-size:13px;line-height:1.5;padding-top:12px}
[data-gp-theme="travel-expedition"][data-inside] .ip-section{padding:50px 0;margin:auto;width:min(1280px,calc(100% - 64px))}[data-gp-theme="travel-expedition"][data-inside] .ip-section>h2{font-size:clamp(30px,3.6vw,52px);max-width:25ch;margin-bottom:26px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="travel-expedition"][data-inside] .ip-section>h2{font-size:clamp(30px,3.6cqw,52px)}}
[data-gp-theme="travel-expedition"][data-inside] .ip-section>p{max-width:70ch;line-height:1.65;margin:20px 0}[data-gp-theme="travel-expedition"] .ip-essays{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}[data-gp-theme="travel-expedition"] .ip-essays article{border-top:2px solid var(--accent,currentColor);padding-top:22px}[data-gp-theme="travel-expedition"] .ip-essays h3,[data-gp-theme="travel-expedition"] .ip-sequence h3{font-size:26px;margin-bottom:14px}[data-gp-theme="travel-expedition"] .ip-essays p,[data-gp-theme="travel-expedition"] .ip-sequence p{font-size:17px;line-height:1.65}
[data-gp-theme="travel-expedition"] .ip-sequence{list-style:decimal;padding:0 0 0 28px;margin:0;display:grid;gap:26px}[data-gp-theme="travel-expedition"] .ip-sequence li{padding-left:15px;max-width:74ch}[data-gp-theme="travel-expedition"] .ip-sequence li::marker{color:var(--accent,currentColor);font-weight:700}
[data-gp-theme="travel-expedition"] .ip-ledger{margin:22px 0}[data-gp-theme="travel-expedition"] .ip-ledger>div{display:grid;grid-template-columns:1fr 1.6fr;gap:20px;border-top:1px solid var(--line,#999);padding:16px 0}[data-gp-theme="travel-expedition"] .ip-ledger dt{font-weight:600}[data-gp-theme="travel-expedition"] .ip-ledger dd{margin:0;line-height:1.6}[data-gp-theme="travel-expedition"] .ip-action{display:inline-flex;gap:12px;padding:12px 18px;min-height:48px;align-items:center;text-decoration:none;border:1px solid currentColor;background:transparent;color:inherit;font:600 16px/1.4 var(--body,inherit)}
[data-gp-theme="travel-expedition"] .ip-band{width:min(1280px,calc(100% - 64px));margin:30px auto 64px;padding:32px;display:flex;align-items:center;justify-content:space-between;gap:32px;border:1px solid var(--line,#999);background:var(--wash,transparent)}[data-gp-theme="travel-expedition"] .ip-band h2{font-size:34px;margin-bottom:16px}[data-gp-theme="travel-expedition"] .ip-band p{max-width:58ch;font-size:17px}[data-gp-theme="travel-expedition"] .ip-band>.ip-action{flex-shrink:0}
[data-gp-theme="travel-expedition"] .ip-draft{max-width:850px}[data-gp-theme="travel-expedition"] .ip-form{display:grid;grid-template-columns:1fr 1fr;gap:22px}[data-gp-theme="travel-expedition"] .ip-form label{display:grid;gap:9px;font-size:16px;min-width:0}[data-gp-theme="travel-expedition"] .ip-form input,[data-gp-theme="travel-expedition"] .ip-form select,[data-gp-theme="travel-expedition"] .ip-form textarea{width:100%;min-width:0;background:var(--paper,#fff);color:var(--ink,#222);border:1px solid var(--line,#888);padding:12px;font:inherit;border-radius:0}[data-gp-theme="travel-expedition"] .ip-form label:has(textarea),[data-gp-theme="travel-expedition"] .ip-form>.ip-note{grid-column:1/-1}[data-gp-theme="travel-expedition"] .ip-form textarea{min-height:130px}[data-gp-theme="travel-expedition"] .ip-note{font-size:14px;line-height:1.6;max-width:68ch}[data-gp-theme="travel-expedition"] .ip-draft output{display:block;white-space:pre-wrap;padding:24px;margin-top:24px;border:1px solid var(--line,#888);background:var(--wash,transparent)}
[data-gp-theme="travel-expedition"] .ip-checks{max-width:800px}[data-gp-theme="travel-expedition"] .ip-checks label{display:flex;gap:16px;align-items:start;border-bottom:1px solid var(--line,#999);padding:18px 0;line-height:1.55}[data-gp-theme="travel-expedition"] .ip-checks input{width:21px;height:21px;flex-shrink:0;accent-color:var(--accent,currentColor);margin-top:3px}[data-gp-theme="travel-expedition"] .ip-checks output{display:block;margin-top:22px;font-weight:600}
[data-gp-theme="travel-expedition"] .ip-faq{max-width:850px}[data-gp-theme="travel-expedition"] .ip-faq details{border-top:1px solid var(--line,#999);padding:18px 0}[data-gp-theme="travel-expedition"] .ip-faq summary{min-height:44px;cursor:pointer;font-weight:600}[data-gp-theme="travel-expedition"] .ip-faq p{padding:12px 0;line-height:1.7;max-width:72ch}[data-gp-theme="travel-expedition"] .ip-choices{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}[data-gp-theme="travel-expedition"] .ip-choices :is(button,[role="button"]),[data-gp-theme="travel-expedition"] [data-filter]{background:var(--paper,#fff);color:var(--ink,#222);border:1px solid var(--line,#999);padding:12px 18px;font:inherit;min-height:44px;cursor:pointer}[data-gp-theme="travel-expedition"] .ip-choices [aria-pressed=true],[data-gp-theme="travel-expedition"] [data-filter][aria-pressed=true]{outline:2px solid var(--accent,currentColor);outline-offset:3px}[data-gp-theme="travel-expedition"] .ip-notes output{display:block;padding:20px;background:var(--wash,transparent);max-width:72ch;line-height:1.6}
[data-gp-theme="travel-expedition"] .ip-records{display:grid;gap:28px;margin:28px 0}[data-gp-theme="travel-expedition"] .ip-records article{border-top:1px solid var(--line,#999);padding:28px 0;display:grid;grid-template-columns:1fr 1.2fr;gap:32px}[data-gp-theme="travel-expedition"] .ip-records article>img{width:100%;height:290px;object-fit:cover}[data-gp-theme="travel-expedition"] .ip-records h3{font-size:34px;margin-bottom:20px}[data-gp-theme="travel-expedition"] .ip-records p{line-height:1.65;margin:16px 0}[data-gp-theme="travel-expedition"] .ip-records .ip-action{margin-top:16px}[data-gp-theme="travel-expedition"] .ip-detail-record{padding:36px 0;border-top:2px solid var(--accent,currentColor);scroll-margin-top:30px}[data-gp-theme="travel-expedition"] .ip-detail-record>h3{font-size:36px;margin-bottom:22px}[data-gp-theme="travel-expedition"] .ip-detail-record>p{max-width:72ch;line-height:1.7}
[data-gp-theme="travel-expedition"] .ip-reading{max-width:76ch!important;margin-left:auto!important;margin-right:auto!important}[data-gp-theme="travel-expedition"] .ip-reading h3{margin-top:28px}[data-gp-theme="travel-expedition"] .ip-table-scroll{overflow-x:auto}[data-gp-theme="travel-expedition"] .ip-data-table{border-collapse:collapse;width:100%;min-width:650px;font-size:16px}[data-gp-theme="travel-expedition"] .ip-data-table th,[data-gp-theme="travel-expedition"] .ip-data-table td{border:1px solid var(--line,#999);padding:18px;text-align:left;vertical-align:top;line-height:1.6}[data-gp-theme="travel-expedition"] .ip-data-table th{background:var(--wash,transparent)}[data-gp-theme="travel-expedition"] .ip-filter-bar{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}[data-gp-theme="travel-expedition"] .ip-filter-bar output{width:100%;margin:8px 0}
[data-gp-theme="travel-expedition"][data-inside] :is(.ip-action,summary,[data-filter],[data-note-choice],input,select,textarea):focus-visible{outline:3px solid var(--accent,currentColor);outline-offset:4px}[data-gp-theme="travel-expedition"][data-inside] .ip-action:hover{opacity:.85}[data-gp-theme="travel-expedition"][data-inside] .ip-action:active{transform:translateY(1px)}
@media(max-width:700px){[data-gp-theme="travel-expedition"][data-inside] .ip-opening,[data-gp-theme="travel-expedition"][data-inside] .ip-section,[data-gp-theme="travel-expedition"] .ip-band{width:calc(100% - 32px)}[data-gp-theme="travel-expedition"][data-inside] .ip-opening{grid-template-columns:1fr;padding:35px 0;gap:28px}[data-gp-theme="travel-expedition"][data-inside] .ip-opening h1{font-size:45px;max-width:18ch}[data-gp-theme="travel-expedition"][data-inside] .ip-deck{font-size:18px}[data-gp-theme="travel-expedition"][data-inside] .ip-art img{height:300px}[data-gp-theme="travel-expedition"] .ip-essays,[data-gp-theme="travel-expedition"] .ip-form,[data-gp-theme="travel-expedition"] .ip-records article{grid-template-columns:1fr}[data-gp-theme="travel-expedition"] .ip-ledger>div{grid-template-columns:1fr;gap:8px}[data-gp-theme="travel-expedition"] .ip-band{display:block;padding:24px}[data-gp-theme="travel-expedition"] .ip-band>.ip-action{margin-top:22px}[data-gp-theme="travel-expedition"] .ip-section{padding-block:34px}[data-gp-theme="travel-expedition"] .ip-form label:has(textarea),[data-gp-theme="travel-expedition"] .ip-form>.ip-note{grid-column:auto}[data-gp-theme="travel-expedition"] .ip-records article>img{height:250px}}
@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="travel-expedition"][data-inside] .ip-opening,[data-gp-theme="travel-expedition"][data-inside] .ip-section,[data-gp-theme="travel-expedition"] .ip-band{width:calc(100% - 32px)}[data-gp-theme="travel-expedition"][data-inside] .ip-opening{grid-template-columns:1fr;padding:35px 0;gap:28px}[data-gp-theme="travel-expedition"][data-inside] .ip-opening h1{font-size:45px;max-width:18ch}[data-gp-theme="travel-expedition"][data-inside] .ip-deck{font-size:18px}[data-gp-theme="travel-expedition"][data-inside] .ip-art img{height:300px}[data-gp-theme="travel-expedition"] .ip-essays,[data-gp-theme="travel-expedition"] .ip-form,[data-gp-theme="travel-expedition"] .ip-records article{grid-template-columns:1fr}[data-gp-theme="travel-expedition"] .ip-ledger>div{grid-template-columns:1fr;gap:8px}[data-gp-theme="travel-expedition"] .ip-band{display:block;padding:24px}[data-gp-theme="travel-expedition"] .ip-band>.ip-action{margin-top:22px}[data-gp-theme="travel-expedition"] .ip-section{padding-block:34px}[data-gp-theme="travel-expedition"] .ip-form label:has(textarea),[data-gp-theme="travel-expedition"] .ip-form>.ip-note{grid-column:auto}[data-gp-theme="travel-expedition"] .ip-records article>img{height:250px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="travel-expedition"][data-inside] .ip-action:active{transform:none}}
[data-gp-theme="travel-expedition"][data-inside] .ip-manual-opening{border-top:5px solid var(--accent)}[data-gp-theme="travel-expedition"][data-inside] .ip-manual-opening .ip-art img{height:420px}[data-gp-theme="travel-expedition"][data-inside] .ip-route-file{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;background:var(--wash);padding:32px;border-left:5px solid var(--accent)}[data-gp-theme="travel-expedition"][data-inside] .ip-route-file h2{font-size:42px;margin-bottom:24px}[data-gp-theme="travel-expedition"][data-inside] .ip-route-file p{line-height:1.7;margin-bottom:24px}[data-gp-theme="travel-expedition"][data-inside] .ip-route-diagram{padding:28px 0;margin:20px 0;color:var(--accent)}[data-gp-theme="travel-expedition"][data-inside] .ip-route-diagram svg{width:100%;height:auto;display:block}[data-gp-theme="travel-expedition"][data-inside] .ip-route-diagram figcaption{font-size:13px;color:var(--ink)}[data-gp-theme="travel-expedition"][data-inside] .ip-stage-index{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}[data-gp-theme="travel-expedition"][data-inside] .ip-stage-index article{border-top:4px solid var(--accent);padding-top:24px}[data-gp-theme="travel-expedition"][data-inside] .ip-stage-index h3{margin:20px 0;font-size:32px}[data-gp-theme="travel-expedition"][data-inside] .ip-stage-index p{line-height:1.65;margin-bottom:20px}[data-gp-theme="travel-expedition"][data-inside] .ip-manual-ledger{padding:0;list-style:none}[data-gp-theme="travel-expedition"][data-inside] .ip-manual-ledger li{display:grid;grid-template-columns:75px 1fr;gap:30px;border-top:1px solid var(--line);padding:30px 0}[data-gp-theme="travel-expedition"][data-inside] .ip-stage-number{font:64px/1 var(--display);color:var(--accent)}[data-gp-theme="travel-expedition"][data-inside] .ip-manual-ledger h3{font-size:38px;margin:20px 0}[data-gp-theme="travel-expedition"][data-inside] .ip-manual-ledger p{max-width:75ch;line-height:1.7}[data-gp-theme="travel-expedition"][data-inside] .ip-detail-record{border-left:4px solid var(--accent);padding-left:28px}[data-gp-theme="travel-expedition"][data-inside] .ip-detail-record>p:first-child{font-size:14px;color:var(--muted)}@media(max-width:700px){[data-gp-theme="travel-expedition"][data-inside] .ip-route-file,[data-gp-theme="travel-expedition"][data-inside] .ip-stage-index{grid-template-columns:1fr;gap:24px}[data-gp-theme="travel-expedition"][data-inside] .ip-manual-opening .ip-art img{height:320px}[data-gp-theme="travel-expedition"][data-inside] .ip-manual-ledger li{grid-template-columns:38px 1fr;gap:15px}[data-gp-theme="travel-expedition"][data-inside] .ip-stage-number{font-size:42px}[data-gp-theme="travel-expedition"][data-inside] .ip-route-file{padding:24px}}@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="travel-expedition"][data-inside] .ip-route-file,[data-gp-theme="travel-expedition"][data-inside] .ip-stage-index{grid-template-columns:1fr;gap:24px}[data-gp-theme="travel-expedition"][data-inside] .ip-manual-opening .ip-art img{height:320px}[data-gp-theme="travel-expedition"][data-inside] .ip-manual-ledger li{grid-template-columns:38px 1fr;gap:15px}[data-gp-theme="travel-expedition"][data-inside] .ip-stage-number{font-size:42px}[data-gp-theme="travel-expedition"][data-inside] .ip-route-file{padding:24px}}


/* Owner selected recommended on 18 October 2026. Main heading roles only. */
[data-gp-theme="travel-expedition"][data-gp-kind="section"] h1{font-family:"Archivo", sans-serif!important;font-weight:650!important;letter-spacing:-0.018em!important;line-height:1.08!important;font-variation-settings:normal!important;font-optical-sizing:auto!important}
[data-gp-theme="travel-expedition"][data-gp-kind="section"] h2{font-family:"Archivo", sans-serif!important;font-weight:550!important;letter-spacing:-.01em!important;line-height:1.17!important;font-variation-settings:normal!important;font-optical-sizing:auto!important}
[data-gp-theme="travel-expedition"][data-gp-kind="section"] h3{font-family:"IBM Plex Sans", sans-serif!important;font-weight:600!important;letter-spacing:0!important;line-height:1.25!important;font-variation-settings:normal!important}
[data-gp-theme="travel-expedition"][data-inside][data-gp-kind="section"] h1{font-family:"Archivo", sans-serif!important;line-height:1.14!important;letter-spacing:-.012em!important;font-weight:650!important;text-transform:none!important}
@media(max-width:650px){[data-gp-theme="travel-expedition"][data-gp-kind="section"] h1{line-height:1.08!important;letter-spacing:-0.018em!important}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="travel-expedition"][data-gp-kind="section"] h1{line-height:1.08!important;letter-spacing:-0.018em!important}}


[data-gp-theme="travel-expedition"] .u-experience{margin:72px auto;padding:48px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink);width:min(1280px,calc(100% - 80px));scroll-margin-top:30px}
[data-gp-theme="travel-expedition"] .inside-page .u-experience{width:min(1280px,calc(100% - 80px));margin:48px auto}[data-gp-theme="travel-expedition"] .u-experience *{box-sizing:border-box}[data-gp-theme="travel-expedition"] .u-experience [hidden]{display:none!important}
[data-gp-theme="travel-expedition"] .u-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:end;margin-bottom:32px}[data-gp-theme="travel-expedition"] .u-heading h2{font-size:clamp(32px,4vw,58px);max-width:20ch}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="travel-expedition"] .u-heading h2{font-size:clamp(32px,4cqw,58px)}}[data-gp-theme="travel-expedition"] .u-heading p{max-width:50ch}[data-gp-theme="travel-expedition"] .u-caption{font-size:14px;line-height:1.5;color:var(--muted)}
[data-gp-theme="travel-expedition"] .u-choices{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}[data-gp-theme="travel-expedition"] .u-experience :is(button,[role="button"]),[data-gp-theme="travel-expedition"] .u-link{min-height:44px;padding:10px 16px;background:var(--paper);border:1px solid var(--line);color:var(--ink);font:600 16px/1.4 var(--body);cursor:pointer;text-decoration:none}[data-gp-theme="travel-expedition"] .u-experience :is(button,[role="button"])[aria-pressed=true]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}[data-gp-theme="travel-expedition"] .u-experience :is(button,[role="button"]):focus-visible,[data-gp-theme="travel-expedition"] .u-experience a:focus-visible,[data-gp-theme="travel-expedition"] .u-experience summary:focus-visible,[data-gp-theme="travel-expedition"] .u-experience input:focus-visible{outline:3px solid var(--accent);outline-offset:4px}[data-gp-theme="travel-expedition"] .u-experience :is(button,[role="button"]):active{transform:scale(.98)}
[data-gp-theme="travel-expedition"] .u-experience svg{display:block;width:100%;height:auto;color:var(--ink)}[data-gp-theme="travel-expedition"] .u-art-paper{fill:var(--paper)}[data-gp-theme="travel-expedition"] .u-art-wash{fill:var(--wash)}[data-gp-theme="travel-expedition"] .u-art-accent{fill:var(--accent)}[data-gp-theme="travel-expedition"] .u-art-line{fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}[data-gp-theme="travel-expedition"] .u-art-fine{fill:none;stroke:var(--ink);stroke-width:1;opacity:.65}[data-gp-theme="travel-expedition"] .u-art-note{font:16px var(--body);fill:var(--ink)}
[data-gp-theme="travel-expedition"] .u-check{display:flex;align-items:flex-start;gap:12px;min-height:48px;padding:14px 0;border-top:1px solid var(--line);cursor:pointer;line-height:1.45}[data-gp-theme="travel-expedition"] .u-check input{accent-color:var(--accent);width:21px;height:21px;flex:0 0 21px;margin:2px 0 0}[data-gp-theme="travel-expedition"] .u-check span:not(.fs-richtext){min-width:0}[data-gp-theme="travel-expedition"] .u-summary{padding:28px;background:var(--wash);border-left:4px solid var(--accent);margin:28px 0}[data-gp-theme="travel-expedition"] .u-summary h2,[data-gp-theme="travel-expedition"] .u-summary h3{font-size:28px;margin-bottom:14px}[data-gp-theme="travel-expedition"] .u-summary ul{margin:12px 0;padding-left:22px}[data-gp-theme="travel-expedition"] .u-summary p{font-size:16px}[data-gp-theme="travel-expedition"] .u-summary li{padding:5px 0}[data-gp-theme="travel-expedition"] .u-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px}[data-gp-theme="travel-expedition"] .u-bottom output{font-size:16px}[data-gp-theme="travel-expedition"] .u-link{display:inline-flex;align-items:center;background:var(--ink);color:var(--paper);border-color:var(--ink)}[data-gp-theme="travel-expedition"] .u-note{font-size:15px;margin-top:20px;max-width:75ch}
@media(max-width:700px){[data-gp-theme="travel-expedition"] .u-experience,[data-gp-theme="travel-expedition"] .inside-page .u-experience{width:calc(100% - 32px);margin:40px auto;padding:30px 0}[data-gp-theme="travel-expedition"] .u-heading{grid-template-columns:1fr;gap:18px;margin-bottom:24px}[data-gp-theme="travel-expedition"] .u-heading h2{font-size:36px}[data-gp-theme="travel-expedition"] .u-bottom{align-items:stretch;flex-direction:column;gap:16px}[data-gp-theme="travel-expedition"] .u-link{justify-content:center}[data-gp-theme="travel-expedition"] .u-summary{padding:22px}[data-gp-theme="travel-expedition"] .u-experience :is(button,[role="button"]){max-width:100%;overflow-wrap:anywhere}}
@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="travel-expedition"] .u-experience,[data-gp-theme="travel-expedition"] .inside-page .u-experience{width:calc(100% - 32px);margin:40px auto;padding:30px 0}[data-gp-theme="travel-expedition"] .u-heading{grid-template-columns:1fr;gap:18px;margin-bottom:24px}[data-gp-theme="travel-expedition"] .u-heading h2{font-size:36px}[data-gp-theme="travel-expedition"] .u-bottom{align-items:stretch;flex-direction:column;gap:16px}[data-gp-theme="travel-expedition"] .u-link{justify-content:center}[data-gp-theme="travel-expedition"] .u-summary{padding:22px}[data-gp-theme="travel-expedition"] .u-experience :is(button,[role="button"]){max-width:100%;overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="travel-expedition"] .u-experience :is(button,[role="button"]):active{transform:none}[data-gp-theme="travel-expedition"] .u-experience *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
[data-gp-theme="travel-expedition"][data-input=keyboard] .u-experience :is(button,[role="button"]):active{transform:none}
[data-gp-theme="travel-expedition"] .u-experience{--display:"Archivo";--body:"IBM Plex Sans";}

[data-gp-theme="travel-expedition"] .u-field-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:45px;align-items:start}[data-gp-theme="travel-expedition"] .u-route-overview{padding-top:15px}[data-gp-theme="travel-expedition"] .u-stage-buttons{margin-top:28px}[data-gp-theme="travel-expedition"] .u-stage-buttons :is(button,[role="button"]){width:100%;display:flex;gap:18px;align-items:center;text-align:left;border-width:0 0 1px;padding:18px 16px}[data-gp-theme="travel-expedition"] .u-stage-buttons :is(button,[role="button"]) span:not(.fs-richtext){font:30px var(--display)}[data-gp-theme="travel-expedition"] .u-route-points{fill:var(--paper)}[data-gp-theme="travel-expedition"] .u-route-selected{stroke:var(--accent);stroke-width:7}[data-gp-theme="travel-expedition"] .u-ground-panels{min-height:910px;border-left:1px solid var(--line);padding-left:40px}[data-gp-theme="travel-expedition"] .u-ground>svg{margin-bottom:25px}[data-gp-theme="travel-expedition"] .u-ground h3{font-size:32px;margin:24px 0 16px}[data-gp-theme="travel-expedition"] .u-ground>p{min-height:90px;font-size:17px}[data-gp-theme="travel-expedition"] .u-ground dl{margin:25px 0}[data-gp-theme="travel-expedition"] .u-ground dl div{border-top:1px solid var(--line);padding:18px 0}[data-gp-theme="travel-expedition"] .u-ground dt{font-weight:700;margin-bottom:10px}[data-gp-theme="travel-expedition"] .u-ground dd{margin:0;font-size:17px}[data-gp-theme="travel-expedition"] .u-ground h4{font:600 18px var(--body);margin:20px 0}[data-gp-theme="travel-expedition"] .u-ground .u-check{font-size:16px}
@media(max-width:700px){[data-gp-theme="travel-expedition"] .u-field-grid{grid-template-columns:1fr;gap:30px}[data-gp-theme="travel-expedition"] .u-ground-panels{border-left:0;border-top:1px solid var(--line);padding:25px 0 0;min-height:940px}[data-gp-theme="travel-expedition"] .u-ground>p{min-height:0}[data-gp-theme="travel-expedition"] .u-ground h3{font-size:29px}[data-gp-theme="travel-expedition"] .u-route-overview>svg{max-height:280px}}
@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="travel-expedition"] .u-field-grid{grid-template-columns:1fr;gap:30px}[data-gp-theme="travel-expedition"] .u-ground-panels{border-left:0;border-top:1px solid var(--line);padding:25px 0 0;min-height:940px}[data-gp-theme="travel-expedition"] .u-ground>p{min-height:0}[data-gp-theme="travel-expedition"] .u-ground h3{font-size:29px}[data-gp-theme="travel-expedition"] .u-route-overview>svg{max-height:280px}}

/* Approved readability refinements, 18 October 2026.
   Only meaningful helpers, local groups and selected reading paragraphs.
   Owner-selected type families, display sizes and frozen comparisons stay authoritative. */

/* Kiln House: the brief promise and sample guidance are part of the task. */
[data-gp-theme="travel-expedition"][data-site="kiln-house"] :is(.field-note,.form-note,.pairing-hint,.material-note,.light-note,.letter-note,.combination-copy small,.material-row small){font-size:14px;line-height:1.5}
[data-gp-theme="travel-expedition"][data-site="kiln-house"] .form-note{margin-top:16px}
[data-gp-theme="travel-expedition"][data-site="kiln-house"] :is(.quiet-button,.combination-action){font-size:15px;line-height:1.5}
[data-gp-theme="travel-expedition"][data-site="kiln-house"] .quiet-button{min-height:44px}
[data-gp-theme="travel-expedition"][data-site="kiln-house"] .directory-links a small{font-size:14px;line-height:1.5}

/* Small study labels explain a choice, rather than acting as an imprint. */
[data-gp-theme="travel-expedition"][data-site="true-joint"] .ux-stage-bar :is(button,[role="button"]) small{font-size:14px;line-height:1.5}
[data-gp-theme="travel-expedition"][data-site="neighbourhood-edit"] .ux-plan-header{font-size:14px;line-height:1.5;gap:12px;flex-wrap:wrap}
[data-gp-theme="travel-expedition"][data-site="neighbourhood-edit"] .ux-room-title{margin-bottom:16px}
[data-gp-theme="travel-expedition"][data-site="neighbourhood-edit"] .ux-room-title h3{margin-bottom:0}
[data-gp-theme="travel-expedition"][data-site="neighbourhood-edit"] :is(.home-finder label,.home-finder output,.area-index small){font-size:14px;line-height:1.5}
[data-gp-theme="travel-expedition"][data-site="neighbourhood-edit"] .home-finder select{font-size:16px;min-height:44px}
[data-gp-theme="travel-expedition"][data-site="harbour"] .ux-folio .ux-document-row label{font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="travel-expedition"][data-site="daymark-window-care"] .dm-sheet-head{font-size:14px;line-height:1.5;flex-wrap:wrap}
[data-gp-theme="travel-expedition"][data-site="velum-window-care"] .ux-v-nav :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}

/* Existing small controls retain or gain the comfortable target height. */
[data-gp-theme="travel-expedition"][data-site="stem-and-still"] .stem-slip :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:48px;gap:8px}
[data-gp-theme="travel-expedition"][data-site="cake-box"] .flavour-pick :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="travel-expedition"][data-site="cake-box"] .message-label small{font-size:14px;line-height:1.5}
[data-gp-theme="travel-expedition"][data-site="crm-recruitment-people"] .question-buttons{gap:10px}
[data-gp-theme="travel-expedition"][data-site="crm-recruitment-people"] .question-buttons :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:10px 12px}
[data-gp-theme="travel-expedition"][data-site="the-second-set-programme"] .pr-order-actions :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:8px 10px}

/* The format facts belong with the large ensemble names. */
[data-gp-theme="travel-expedition"][data-site="the-second-set-afterglow"] .ag-format-ribbon span:not(.fs-richtext){font-size:14px;line-height:1.5;margin-top:8px}
[data-gp-theme="travel-expedition"][data-site="the-second-set-programme"] .opening-note{font-size:14px;line-height:1.5}
[data-gp-theme="travel-expedition"][data-site="the-second-set-signal"] .form-note{font-size:14px;line-height:1.5}

/* Slipstream: useful record, filter and brief text; preserve the scrollable comparison. */
[data-gp-theme="travel-expedition"][data-site="slipstream"] :is(.featured-price small,.rail-note,.stock-finder label,.stock-caption,.inspection-note,.inspection-instruction,.form-note,[data-gp-id="stock-count"],[data-gp-id="form-question-count"]){font-size:14px;line-height:1.5}
[data-gp-theme="travel-expedition"][data-site="slipstream"] :is(.visit-form label,.form-pair label){font-size:15px;line-height:1.5}
[data-gp-theme="travel-expedition"][data-site="slipstream"] :is(.car-record summary,[data-gp-id="reset-stock"],[data-gp-id="clear-compare"],.quick-compare button){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="travel-expedition"][data-site="slipstream"] .stock-finder select{min-height:44px}

/* Narrow only sustained paragraphs, preserving plans, records, lists and tables. */
[data-gp-theme="travel-expedition"]:is([data-site="stem-and-still"],[data-site="kiln-house"],[data-site="true-joint"])[data-inside] .ip-reading>p{max-width:64ch}

@media(max-width:700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="travel-expedition"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="travel-expedition"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="travel-expedition"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="travel-expedition"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="travel-expedition"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="travel-expedition"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="travel-expedition"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="travel-expedition"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="travel-expedition"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

@containerfs-editor-canvas (max-width: 700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="travel-expedition"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="travel-expedition"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="travel-expedition"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="travel-expedition"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="travel-expedition"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="travel-expedition"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="travel-expedition"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="travel-expedition"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="travel-expedition"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

/* No generic heading, body, section-spacing or panel-height reset.
   Goodpane's unused calendar CSS, Expedition's real stage envelope,
   Starlight's passage leading and Velum's display introduction need no blanket fix. */

/* Authored header/menu/footer only. Approved body, fonts and palette files stay intact. */
[data-gp-theme="travel-expedition"] .ca-chrome,[data-gp-theme="travel-expedition"] .ca-chrome *{box-sizing:border-box;min-width:0}
[data-gp-theme="travel-expedition"] header.site-header.ca-header{width:min(1340px,calc(100% - 96px));max-width:none;margin-inline:auto;padding:26px 0;gap:22px;border:0;color:var(--ink);background:var(--paper)}
[data-gp-theme="travel-expedition"] .ca-header .brand{max-width:100%;text-decoration:none;flex-shrink:1}
[data-gp-theme="travel-expedition"] .ca-header .brand>span:not(.fs-richtext){min-width:0;overflow-wrap:anywhere}
[data-gp-theme="travel-expedition"] .ca-header .brand small{line-height:1.45;font-size:13px}
[data-gp-theme="travel-expedition"] .ca-header .brand svg{flex-shrink:0;width:38px;height:38px}
[data-gp-theme="travel-expedition"] .ca-header a,[data-gp-theme="travel-expedition"] .ca-header :is(button,[role="button"]){min-height:44px}
[data-gp-theme="travel-expedition"] .ca-header nav{display:flex;align-items:center;gap:22px}
[data-gp-theme="travel-expedition"] .ca-header nav a{display:flex;align-items:center;text-decoration:none;font:500 16px/1.35 var(--body);padding:9px 0}
[data-gp-theme="travel-expedition"] .ca-trigger,[data-gp-theme="travel-expedition"] .ca-menu [data-menu-close]{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:46px;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:11px 17px;font:500 15px/1.35 var(--body);cursor:pointer;white-space:normal;text-align:left}
[data-gp-theme="travel-expedition"] .ca-trigger span:not(.fs-richtext){font-size:22px;line-height:1;flex:none}
[data-gp-theme="travel-expedition"] .ca-label{display:block;font:500 13px/1.5 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
[data-gp-theme="travel-expedition"] .ca-menu.mega-menu{width:min(1160px,calc(100% - 64px));max-height:90vh;overflow:auto;margin:auto;padding:0;background:var(--paper);color:var(--ink);border:1px solid var(--line)}
[data-gp-theme="travel-expedition"] .ca-menu .menu-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 32px;border-bottom:1px solid var(--line);background:var(--paper);color:var(--ink)}
[data-gp-theme="travel-expedition"] .ca-menu .menu-top>span:not(.fs-richtext){font:500 16px/1.4 var(--body)}
[data-gp-theme="travel-expedition"] .ca-menu .menu-top :is(button,[role="button"]){color:var(--ink);border-color:var(--line)}
[data-gp-theme="travel-expedition"] .ca-menu-body{padding:34px}
[data-gp-theme="travel-expedition"] .ca-chrome h2,[data-gp-theme="travel-expedition"] .ca-chrome h3,[data-gp-theme="travel-expedition"] .ca-chrome p{margin:0}
[data-gp-theme="travel-expedition"] .ca-chrome h2,[data-gp-theme="travel-expedition"] .ca-chrome h3{font-family:var(--chrome-face,var(--display));font-weight:550;letter-spacing:-.015em;line-height:1.15;overflow-wrap:anywhere}
[data-gp-theme="travel-expedition"] .ca-chrome h2{font-size:clamp(32px,4vw,52px)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="travel-expedition"] .ca-chrome h2{font-size:clamp(32px,4cqw,52px)}}
[data-gp-theme="travel-expedition"] .ca-chrome h3{font-size:clamp(24px,2.5vw,34px)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="travel-expedition"] .ca-chrome h3{font-size:clamp(24px,2.5cqw,34px)}}
[data-gp-theme="travel-expedition"] .ca-menu-title{margin:0 0 30px!important;max-width:24ch}
[data-gp-theme="travel-expedition"] .ca-links{display:flex;flex-direction:column;gap:0}
[data-gp-theme="travel-expedition"] .ca-links a{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:46px;padding:11px 0;text-decoration:none;font:400 17px/1.45 var(--body);border-bottom:1px solid var(--line);overflow-wrap:anywhere}
[data-gp-theme="travel-expedition"] .ca-links a::after{content:'↗';flex:none;font-size:18px}
[data-gp-theme="travel-expedition"] .ca-links a:last-child{border-bottom:0}
[data-gp-theme="travel-expedition"] .ca-links a[aria-current=page]{font-weight:650;text-decoration:underline;text-underline-offset:5px}
[data-gp-theme="travel-expedition"] .ca-chrome .site-plan-label{font:400 12px/1.35 var(--body);letter-spacing:0;text-transform:none;color:inherit;flex-basis:100%}
[data-gp-theme="travel-expedition"] .ca-chrome a[data-preview-plan]{flex-wrap:wrap}
[data-gp-theme="travel-expedition"] .ca-menu-utility{display:flex;flex-wrap:wrap;gap:8px 25px;padding:22px 34px;border-top:1px solid var(--line);background:var(--wash)}
[data-gp-theme="travel-expedition"] .ca-menu-utility a{display:flex;align-items:center;min-height:44px;padding:5px 0;font:400 15px/1.4 var(--body);text-decoration:none}
[data-gp-theme="travel-expedition"] .ca-menu-note{padding:0 34px 25px;font:400 14px/1.5 var(--body);color:var(--muted)}
[data-gp-theme="travel-expedition"] footer.site-footer.ca-footer{padding:58px max(24px,calc((100vw - 1340px)/2)) 22px;background:var(--wash);color:var(--ink);border-top:1px solid var(--line)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="travel-expedition"] footer.site-footer.ca-footer{padding:58px max(24px,calc((100cqw - 1340px)/2)) 22px}}
[data-gp-theme="travel-expedition"] .ca-footer-inner{width:100%;max-width:1340px;margin:auto}
[data-gp-theme="travel-expedition"] .ca-footer a{color:inherit}
[data-gp-theme="travel-expedition"] .ca-footer-action{display:inline-flex;align-items:center;gap:20px;min-height:48px;padding:12px 0;font:500 20px/1.35 var(--body);text-decoration:none;border-bottom:1px solid currentColor}
[data-gp-theme="travel-expedition"] .ca-footer-action::after{content:'↗';margin-left:auto}
[data-gp-theme="travel-expedition"] .ca-footnote{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 28px;padding-top:22px;margin-top:35px;border-top:1px solid var(--line);font:400 13px/1.55 var(--body);color:var(--muted)}
[data-gp-theme="travel-expedition"] .ca-footnote p{max-width:70ch}
[data-gp-theme="travel-expedition"] .ca-footnote a{display:inline-flex;align-items:center;min-height:44px;white-space:normal}
[data-gp-theme="travel-expedition"] .ca-footer-nav{display:flex;flex-wrap:wrap;gap:8px 25px}
[data-gp-theme="travel-expedition"] .ca-footer-nav a{display:inline-flex;align-items:center;min-height:44px;padding:7px 0;font:400 16px/1.4 var(--body);text-decoration:none}
[data-gp-theme="travel-expedition"] .ca-chrome :is(a,button):focus-visible{outline:3px solid var(--ink);outline-offset:5px}
@media(hover:hover) and (pointer:fine){[data-gp-theme="travel-expedition"] .ca-chrome a:hover{text-decoration:underline;text-underline-offset:5px}[data-gp-theme="travel-expedition"] .ca-trigger:hover{background:var(--wash)}}
@media(max-width:900px){[data-gp-theme="travel-expedition"] header.site-header.ca-header{width:calc(100% - 40px);padding:20px 0;gap:16px}[data-gp-theme="travel-expedition"] .ca-header .ca-primary{display:none}[data-gp-theme="travel-expedition"] .ca-header .brand{font-size:24px}[data-gp-theme="travel-expedition"] .ca-menu-body{padding:26px 22px}[data-gp-theme="travel-expedition"] .ca-menu .menu-top{padding:16px 22px}[data-gp-theme="travel-expedition"] .ca-menu-utility{padding:18px 22px;gap:6px 20px}[data-gp-theme="travel-expedition"] .ca-menu-note{padding:0 22px 22px}[data-gp-theme="travel-expedition"] .ca-chrome h2{font-size:clamp(30px,7vw,46px)}[data-gp-theme="travel-expedition"] .ca-chrome h3{font-size:26px}[data-gp-theme="travel-expedition"] .ca-menu-title{margin-bottom:24px!important}[data-gp-theme="travel-expedition"] .ca-links a{font-size:17px;min-height:48px}[data-gp-theme="travel-expedition"] .ca-footer-action{font-size:19px}[data-gp-theme="travel-expedition"] .ca-footer-nav{gap:4px 22px}[data-gp-theme="travel-expedition"] footer.site-footer.ca-footer{padding:40px 22px 20px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="travel-expedition"] header.site-header.ca-header{width:calc(100% - 40px);padding:20px 0;gap:16px}[data-gp-theme="travel-expedition"] .ca-header .ca-primary{display:none}[data-gp-theme="travel-expedition"] .ca-header .brand{font-size:24px}[data-gp-theme="travel-expedition"] .ca-menu-body{padding:26px 22px}[data-gp-theme="travel-expedition"] .ca-menu .menu-top{padding:16px 22px}[data-gp-theme="travel-expedition"] .ca-menu-utility{padding:18px 22px;gap:6px 20px}[data-gp-theme="travel-expedition"] .ca-menu-note{padding:0 22px 22px}[data-gp-theme="travel-expedition"] .ca-chrome h2{font-size:clamp(30px,7cqw,46px)}[data-gp-theme="travel-expedition"] .ca-chrome h3{font-size:26px}[data-gp-theme="travel-expedition"] .ca-menu-title{margin-bottom:24px!important}[data-gp-theme="travel-expedition"] .ca-links a{font-size:17px;min-height:48px}[data-gp-theme="travel-expedition"] .ca-footer-action{font-size:19px}[data-gp-theme="travel-expedition"] .ca-footer-nav{gap:4px 22px}[data-gp-theme="travel-expedition"] footer.site-footer.ca-footer{padding:40px 22px 20px}}
@media(max-width:480px){[data-gp-theme="travel-expedition"] .ca-header .brand{font-size:22px}[data-gp-theme="travel-expedition"] .ca-header .brand small{font-size:12px}[data-gp-theme="travel-expedition"] .ca-header .brand svg{width:29px;height:29px}[data-gp-theme="travel-expedition"] .ca-trigger{font-size:14px;padding:10px 12px;gap:10px}[data-gp-theme="travel-expedition"] .ca-footnote{display:block}[data-gp-theme="travel-expedition"] .ca-footnote a{margin-top:8px}}
@containerfs-editor-canvas (max-width: 480px){[data-gp-theme="travel-expedition"] .ca-header .brand{font-size:22px}[data-gp-theme="travel-expedition"] .ca-header .brand small{font-size:12px}[data-gp-theme="travel-expedition"] .ca-header .brand svg{width:29px;height:29px}[data-gp-theme="travel-expedition"] .ca-trigger{font-size:14px;padding:10px 12px;gap:10px}[data-gp-theme="travel-expedition"] .ca-footnote{display:block}[data-gp-theme="travel-expedition"] .ca-footnote a{margin-top:8px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="travel-expedition"] .ca-chrome a,[data-gp-theme="travel-expedition"] .ca-chrome :is(button,[role="button"]){transition:none!important;transform:none!important;animation:none!important}}

[data-gp-theme="travel-expedition"] .ca-expedition{--chrome-face:"Archivo",sans-serif}
[data-gp-theme="travel-expedition"] header.ca-expedition.ca-header{display:grid;grid-template-columns:1fr auto;gap:24px}
[data-gp-theme="travel-expedition"] .ca-expedition .ca-trigger{border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:15px 20px}
[data-gp-theme="travel-expedition"] .ca-expedition .ca-route-stations{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:2px solid var(--ink);border-bottom:1px solid var(--line)}
[data-gp-theme="travel-expedition"] .ca-expedition .ca-route-stations a{position:relative;padding:16px 18px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;border-right:1px solid var(--line)}
[data-gp-theme="travel-expedition"] .ca-expedition .ca-route-stations a:first-child{padding-left:0}[data-gp-theme="travel-expedition"] .ca-expedition .ca-route-stations a:last-child{border:0}
[data-gp-theme="travel-expedition"] .ca-expedition .ca-route-stations a span:not(.fs-richtext){font:500 12px/1.3 var(--body);color:var(--muted)}
[data-gp-theme="travel-expedition"] .ca-expedition .ca-route-map{padding-left:18px}
[data-gp-theme="travel-expedition"] .ca-expedition .ca-route-stop{position:relative;border-left:2px solid var(--ink);display:grid;grid-template-columns:65px 1fr 1.15fr;gap:24px;padding:0 0 28px 30px}
[data-gp-theme="travel-expedition"] .ca-expedition .ca-route-stop:last-child{padding-bottom:0;border-color:transparent}
[data-gp-theme="travel-expedition"] .ca-expedition .ca-route-stop::before{content:'';position:absolute;left:-8px;top:5px;width:14px;height:14px;border:2px solid var(--ink);border-radius:50%;background:var(--paper)}
[data-gp-theme="travel-expedition"] .ca-expedition .ca-stop-number{font:550 27px/1.3 "Archivo",sans-serif;color:var(--muted)}
[data-gp-theme="travel-expedition"] .ca-expedition .ca-route-stop h3{font-size:28px;line-height:1.2}
[data-gp-theme="travel-expedition"] .ca-expedition .ca-route-stop .ca-links a{border:0;padding:6px 0}
[data-gp-theme="travel-expedition"] .ca-expedition .ca-log-title{display:flex;justify-content:space-between;align-items:baseline;gap:30px;margin-bottom:30px}
[data-gp-theme="travel-expedition"] .ca-expedition .ca-field-log{border-top:2px solid var(--ink)}
[data-gp-theme="travel-expedition"] .ca-expedition .ca-field-log>div{display:grid;grid-template-columns:180px 1fr;gap:25px;align-items:start;padding:20px 0;border-bottom:1px solid var(--line)}
[data-gp-theme="travel-expedition"] .ca-expedition .ca-field-log .ca-label{padding-top:12px}
[data-gp-theme="travel-expedition"] .ca-expedition .ca-brief-band{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:24px 28px;margin-top:26px;background:var(--ink);color:var(--paper)}
[data-gp-theme="travel-expedition"] .ca-expedition .ca-brief-band .ca-footer-action{border:0;min-width:210px}
[data-gp-theme="travel-expedition"] .ca-expedition .ca-brief-band .ca-label{color:inherit}
[data-gp-theme="travel-expedition"] .ca-expedition .ca-brief-band :focus-visible{outline-color:var(--paper)}
@media(max-width:900px){[data-gp-theme="travel-expedition"] .ca-expedition .ca-route-stations.ca-primary{display:none}[data-gp-theme="travel-expedition"] .ca-expedition .ca-trigger{padding:12px 14px;max-width:145px}[data-gp-theme="travel-expedition"] .ca-expedition .ca-route-map{padding-left:6px}[data-gp-theme="travel-expedition"] .ca-expedition .ca-route-stop{grid-template-columns:35px 1fr;gap:10px;padding-left:20px;padding-bottom:30px}[data-gp-theme="travel-expedition"] .ca-expedition .ca-route-stop .ca-links{grid-column:2}[data-gp-theme="travel-expedition"] .ca-expedition .ca-stop-number{font-size:21px}[data-gp-theme="travel-expedition"] .ca-expedition .ca-route-stop h3{font-size:25px}[data-gp-theme="travel-expedition"] .ca-expedition .ca-log-title{display:block}[data-gp-theme="travel-expedition"] .ca-expedition .ca-log-title .ca-label{margin-bottom:15px}[data-gp-theme="travel-expedition"] .ca-expedition .ca-field-log>div{grid-template-columns:1fr;gap:4px;padding:14px 0}[data-gp-theme="travel-expedition"] .ca-expedition .ca-brief-band{display:block;padding:22px}[data-gp-theme="travel-expedition"] .ca-expedition .ca-brief-band .ca-footer-action{width:100%;min-width:0;margin-top:8px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="travel-expedition"] .ca-expedition .ca-route-stations.ca-primary{display:none}[data-gp-theme="travel-expedition"] .ca-expedition .ca-trigger{padding:12px 14px;max-width:145px}[data-gp-theme="travel-expedition"] .ca-expedition .ca-route-map{padding-left:6px}[data-gp-theme="travel-expedition"] .ca-expedition .ca-route-stop{grid-template-columns:35px 1fr;gap:10px;padding-left:20px;padding-bottom:30px}[data-gp-theme="travel-expedition"] .ca-expedition .ca-route-stop .ca-links{grid-column:2}[data-gp-theme="travel-expedition"] .ca-expedition .ca-stop-number{font-size:21px}[data-gp-theme="travel-expedition"] .ca-expedition .ca-route-stop h3{font-size:25px}[data-gp-theme="travel-expedition"] .ca-expedition .ca-log-title{display:block}[data-gp-theme="travel-expedition"] .ca-expedition .ca-log-title .ca-label{margin-bottom:15px}[data-gp-theme="travel-expedition"] .ca-expedition .ca-field-log>div{grid-template-columns:1fr;gap:4px;padding:14px 0}[data-gp-theme="travel-expedition"] .ca-expedition .ca-brief-band{display:block;padding:22px}[data-gp-theme="travel-expedition"] .ca-expedition .ca-brief-band .ca-footer-action{width:100%;min-width:0;margin-top:8px}}

/* Menu only: approved fonts, colour tokens and all non-menu markup are preserved. */
[data-gp-theme="travel-expedition"] dialog[data-gp-id="mega-menu"].mega-menu{box-sizing:border-box;position:fixed;inset:0;min-width:0;min-height:0;height:fit-content;max-height:calc(100dvh - 48px);margin:auto;padding:0!important;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:var(--mi-paper,var(--paper));color:var(--mi-ink,var(--ink));border:0!important;border-radius:0;box-shadow:0 30px 100px #0005;--mi-paper:var(--paper);--mi-ink:var(--ink);--mi-wash:var(--wash);--mi-line:var(--line);--mi-accent:var(--accent);--mi-on:var(--on-accent)}
[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] *,[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] *:before,[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] *:after{box-sizing:border-box;min-width:0}
[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] .menu-top{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0;padding:20px 28px;border:0;background:transparent;color:inherit}
[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] .menu-top h2,[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] .menu-top p{margin:0;font:500 18px/1.35 var(--body);letter-spacing:0;max-width:none}
[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] [data-menu-close]{display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:none;min-height:44px;min-width:70px;padding:9px 14px;border:1px solid currentColor;border-radius:0;background:transparent;color:inherit;font:500 14px/1.3 var(--body);cursor:pointer}
[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] a{color:inherit;text-decoration:none;line-height:1.35;min-height:44px;overflow-wrap:anywhere}
[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] nav a:before{content:none}
[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] a:focus-visible,[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] :is(button,[role="button"]):focus-visible{outline:3px solid currentColor;outline-offset:4px}
[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] h3{font-family:var(--display);font-weight:500;line-height:1.15;letter-spacing:-.025em;margin:0}
[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] p{max-width:60ch;margin:0;font:400 15px/1.5 var(--body)}
[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] nav{min-width:0}
[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] .mi-small{font:400 13px/1.5 var(--body)}
[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] a{transition:background-color 150ms ease,color 150ms ease,text-decoration-color 150ms ease}
/* Reveal every authored surface on the first frame. Only text fades; never a
   pane, note, speech ribbon, worksheet or record sleeve. Also covers Signal,
   which does not load premium.css and otherwise inherits menu-arrive. */
[data-gp-theme="travel-expedition"] dialog[data-gp-id="mega-menu"].mega-menu[open]:not([data-closing]){animation:none!important;opacity:1;transform:none}
[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"][open]:not([data-closing])>*{animation:none!important}
[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"][open]:not([data-closing]):not([data-keyboard]) :is(h3,p,figcaption,.command-task>span:not(.fs-richtext),.command-task>small,.crate-sleeve>strong,.crate-sleeve>small),[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"][open]:not([data-closing]):not([data-keyboard]) a:not(.crate-sleeve):not(.command-task):not(.route-brief):not(.worksheet-action){animation:gp-expedition-mi-menu-text 160ms ease-out both}
@keyframes gp-expedition-mi-menu-text{from{opacity:.25}to{opacity:1}}
@media(hover:hover){[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] a:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}}
@media(max-width:900px){[data-gp-theme="travel-expedition"] dialog[data-gp-id="mega-menu"].mega-menu{width:100%;height:100dvh;max-height:none;margin:0;inset:0;border-radius:0;transform:none}[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] .menu-top{padding:16px 20px}[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] .menu-top h2{font-size:16px}[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] a{min-height:48px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="travel-expedition"] dialog[data-gp-id="mega-menu"].mega-menu{width:100%;height:100dvh;max-height:none;margin:0;inset:0;border-radius:0;transform:none}[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] .menu-top{padding:16px 20px}[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] .menu-top h2{font-size:16px}[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] a{min-height:48px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] *,[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] *:before,[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] *:after{animation:none!important;transition:none!important}}

[data-gp-theme="travel-expedition"] dialog[data-gp-id="mega-menu"].mega-menu{width:min(1360px,calc(100% - 48px));max-height:calc(100dvh - 48px)}
[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] .menu-top{border-bottom:1px solid var(--line);padding:20px 34px}
[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] .route-panorama{position:relative;isolation:isolate;background:var(--wash);padding:32px 40px 40px;overflow:hidden}
[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] .route-contours{position:absolute;inset:0;width:100%;height:100%;z-index:-1;fill:none;stroke:var(--line);stroke-width:1;opacity:.55}
[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] .route-contours .route-trail{stroke:var(--accent);stroke-width:2;stroke-dasharray:7 8}
[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] .route-stops{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;min-height:270px;align-items:start}
[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] .route-stop{padding-top:30px}[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] .route-stop:nth-child(even){margin-top:58px}
[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] .route-pin{display:block;width:18px;height:18px;border:4px solid var(--accent);border-radius:50%;background:var(--paper);box-shadow:0 0 0 8px var(--wash);margin-bottom:18px}
[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] .route-stop h3{font-size:25px;max-width:9ch;margin-bottom:16px}
[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] .route-stop nav{display:grid;justify-items:start}[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] .route-stop a{display:flex;align-items:center;font-size:16px;background:var(--wash);padding:4px 2px}
[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] .route-departure{display:flex;align-items:center;gap:24px;padding:22px 34px}[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] .route-departure>a{display:flex;align-items:center;font-size:15px}[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] .route-departure p{margin-right:auto;font-size:14px}[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] .route-departure .route-brief{padding:12px 18px;background:var(--accent);color:var(--on-accent)}
@media(max-width:900px){[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] .route-panorama{padding:12px 24px 28px}[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] .route-stops{grid-template-columns:1fr;gap:4px;min-height:0}[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] .route-stop{margin:0;padding:24px 0 12px 32px;border-left:1px dashed var(--accent);position:relative}[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] .route-pin{position:absolute;left:-9px;top:29px;margin:0}[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] .route-stop h3{font-size:25px;max-width:none;margin-bottom:8px}[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] .route-stop nav{grid-template-columns:1fr;gap:0}[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] .route-contours{opacity:.28}[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] .route-departure{display:grid;gap:12px;padding:22px 24px}[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] .route-departure p{order:3}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] .route-panorama{padding:12px 24px 28px}[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] .route-stops{grid-template-columns:1fr;gap:4px;min-height:0}[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] .route-stop{margin:0;padding:24px 0 12px 32px;border-left:1px dashed var(--accent);position:relative}[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] .route-pin{position:absolute;left:-9px;top:29px;margin:0}[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] .route-stop h3{font-size:25px;max-width:none;margin-bottom:8px}[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] .route-stop nav{grid-template-columns:1fr;gap:0}[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] .route-contours{opacity:.28}[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] .route-departure{display:grid;gap:12px;padding:22px 24px}[data-gp-theme="travel-expedition"] [data-gp-id="mega-menu"] .route-departure p{order:3}}

[data-gp-theme="travel-expedition"]{--paper:rgb(var(--c-paper));--ink:rgb(var(--c-ink-950));--accent:rgb(var(--c-brand-600));--wash:rgb(var(--c-paper-soft));--line:rgb(var(--c-line));--muted:rgb(var(--c-ink-400));--on-accent:var(--fs-on-brand);--focus:rgb(var(--c-accent));--work:var(--fs-surface-inverted,var(--wash));--work-ink:var(--fs-on-surface-inverted,var(--paper));--body:var(--font-sans);}
[data-gp-theme="crm-recruitment-clear"]{--ease-out:cubic-bezier(.23,1,.32,1);--ease-drawer:cubic-bezier(.32,.72,0,1)}
[data-gp-theme="crm-recruitment-clear"] *{box-sizing:border-box}[data-gp-theme="crm-recruitment-clear"]{scroll-behavior:smooth;scroll-padding-top:100px}[data-gp-theme="crm-recruitment-clear"]{margin:0}[data-gp-theme="crm-recruitment-clear"] img{max-width:100%;display:block}[data-gp-theme="crm-recruitment-clear"] :is(button,[role="button"]),[data-gp-theme="crm-recruitment-clear"] input,[data-gp-theme="crm-recruitment-clear"] select,[data-gp-theme="crm-recruitment-clear"] textarea{font:inherit}[data-gp-theme="crm-recruitment-clear"] :is(button,[role="button"]),[data-gp-theme="crm-recruitment-clear"] a,[data-gp-theme="crm-recruitment-clear"] input,[data-gp-theme="crm-recruitment-clear"] select,[data-gp-theme="crm-recruitment-clear"] textarea{touch-action:manipulation}[data-gp-theme="crm-recruitment-clear"] :is(button,[role="button"]),[data-gp-theme="crm-recruitment-clear"] a{ -webkit-tap-highlight-color:transparent}[data-gp-theme="crm-recruitment-clear"] :is(button,[role="button"]){cursor:pointer}[data-gp-theme="crm-recruitment-clear"] :is(button,[role="button"]):active{transform:translateY(1px)}[data-gp-theme="crm-recruitment-clear"] a{color:inherit;text-underline-offset:.22em}[data-gp-theme="crm-recruitment-clear"] :is(button,[role="button"]):focus-visible,[data-gp-theme="crm-recruitment-clear"] a:focus-visible,[data-gp-theme="crm-recruitment-clear"] summary:focus-visible,[data-gp-theme="crm-recruitment-clear"] input:focus-visible,[data-gp-theme="crm-recruitment-clear"] select:focus-visible,[data-gp-theme="crm-recruitment-clear"] textarea:focus-visible{outline:3px solid var(--focus,#346ddb);outline-offset:5px}[data-gp-theme="crm-recruitment-clear"] textarea{resize:vertical}[data-gp-theme="crm-recruitment-clear"] input,[data-gp-theme="crm-recruitment-clear"] textarea{caret-color:var(--focus,currentColor)}[data-gp-theme="crm-recruitment-clear"] :is(button,[role="button"]),[data-gp-theme="crm-recruitment-clear"] select,[data-gp-theme="crm-recruitment-clear"] input{min-height:44px}[data-gp-theme="crm-recruitment-clear"] summary{cursor:pointer}[data-gp-theme="crm-recruitment-clear"] section[id],[data-gp-theme="crm-recruitment-clear"] footer[id]{scroll-margin-top:110px}[data-gp-theme="crm-recruitment-clear"] [hidden]{display:none!important}[data-gp-theme="crm-recruitment-clear"] .skip-link{position:fixed;z-index:200;top:8px;left:8px;background:#fff;color:#111;padding:12px 18px;transform:translateY(-150%)}[data-gp-theme="crm-recruitment-clear"] .skip-link:focus{transform:none}
[data-gp-theme="crm-recruitment-clear"] .preview-bar{min-height:42px;background:#f6f6f2;color:#252a2a;border-bottom:1px solid #d5d8d4;font:13px/1.3 "Figtree",sans-serif;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 3vw;position:relative;z-index:30}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="crm-recruitment-clear"] .preview-bar{padding:5px 3cqw}}[data-gp-theme="crm-recruitment-clear"] .preview-bar a{white-space:nowrap}[data-gp-theme="crm-recruitment-clear"] .preview-bar [role=group]{display:flex;gap:2px;align-items:center}[data-gp-theme="crm-recruitment-clear"] .preview-bar :is(button,[role="button"]){min-height:32px;background:transparent;color:inherit;border:0;padding:6px 10px;border-radius:3px;font-size:13px;transition:background-color 150ms var(--ease-out)}[data-gp-theme="crm-recruitment-clear"] .preview-bar [aria-pressed=true]{background:#252a2a;color:#fff}[data-gp-theme="crm-recruitment-clear"] .preview-bar :is(button,[role="button"])[data-replay-intro]{border:1px solid #b6beb8}[data-gp-theme="crm-recruitment-clear"] .preview-label{color:#515953}[data-gp-theme="crm-recruitment-clear"] .preview-bar::selection{background:#252a2a;color:#fff}
[data-gp-theme="crm-recruitment-clear"] dialog.mega-menu{max-width:none;max-height:calc(100dvh - 32px);overflow:auto;border:0;padding:0;color:inherit;overscroll-behavior:contain}[data-gp-theme="crm-recruitment-clear"] dialog.mega-menu::backdrop{background:rgb(8 16 18 / .52)}[data-gp-theme="crm-recruitment-clear"] .mega-menu[open]{animation:gp-crmclear-menu-arrive 220ms var(--ease-drawer)}[data-gp-theme="crm-recruitment-clear"] .mega-menu[data-closing]{animation:gp-crmclear-menu-leave 160ms var(--ease-out) forwards}[data-gp-theme="crm-recruitment-clear"] .mega-menu[data-keyboard]{animation:none}[data-gp-theme="crm-recruitment-clear"] .menu-lock{overflow:hidden}@keyframes gp-crmclear-menu-arrive{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}@keyframes gp-crmclear-menu-leave{to{opacity:0;transform:translateY(-10px)}}
[data-gp-theme="crm-recruitment-clear"] .preloader{display:none;position:fixed;inset:0;z-index:190;place-content:center;pointer-events:none;text-align:center}[data-gp-theme="crm-recruitment-clear"] .preloader.is-active{display:grid;animation:gp-crmclear-intro-failsafe 1.3s step-end forwards}[data-gp-theme="crm-recruitment-clear"] .preloader.is-leaving{opacity:0;transition:opacity 180ms var(--ease-out)}@keyframes gp-crmclear-intro-failsafe{0%,99%{visibility:visible}100%{visibility:hidden}}
@media(max-width:650px){[data-gp-theme="crm-recruitment-clear"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="crm-recruitment-clear"] .preview-bar .preview-label{display:none}[data-gp-theme="crm-recruitment-clear"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="crm-recruitment-clear"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="crm-recruitment-clear"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="crm-recruitment-clear"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="crm-recruitment-clear"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="crm-recruitment-clear"] .preview-bar .preview-label{display:none}[data-gp-theme="crm-recruitment-clear"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="crm-recruitment-clear"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="crm-recruitment-clear"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="crm-recruitment-clear"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="crm-recruitment-clear"]{scroll-behavior:auto}[data-gp-theme="crm-recruitment-clear"] *,[data-gp-theme="crm-recruitment-clear"] *::before,[data-gp-theme="crm-recruitment-clear"] *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-gp-theme="crm-recruitment-clear"] .preloader.is-active{display:none!important}}
@media(max-width:650px){[data-gp-theme="crm-recruitment-clear"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="crm-recruitment-clear"] .preview-bar a{font-size:12px}[data-gp-theme="crm-recruitment-clear"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="crm-recruitment-clear"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="crm-recruitment-clear"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="crm-recruitment-clear"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="crm-recruitment-clear"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="crm-recruitment-clear"] .preview-bar a{font-size:12px}[data-gp-theme="crm-recruitment-clear"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="crm-recruitment-clear"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="crm-recruitment-clear"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="crm-recruitment-clear"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}

[data-gp-theme="crm-recruitment-clear"] *{box-sizing:border-box}[data-gp-theme="crm-recruitment-clear"]{background:var(--paper);color:var(--ink);font:18px/1.55 var(--body);--focus:var(--accent)}[data-gp-theme="crm-recruitment-clear"] h1,[data-gp-theme="crm-recruitment-clear"] h2,[data-gp-theme="crm-recruitment-clear"] h3,[data-gp-theme="crm-recruitment-clear"] p,[data-gp-theme="crm-recruitment-clear"] figure{margin:0}[data-gp-theme="crm-recruitment-clear"] h1,[data-gp-theme="crm-recruitment-clear"] h2,[data-gp-theme="crm-recruitment-clear"] h3{font-family:var(--display);font-weight:500;line-height:1.05}[data-gp-theme="crm-recruitment-clear"] h1{font-size:clamp(48px,6.4vw,96px);letter-spacing:-.035em}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="crm-recruitment-clear"] h1{font-size:clamp(48px,6.4cqw,96px)}}[data-gp-theme="crm-recruitment-clear"] h2{font-size:clamp(36px,4vw,62px);letter-spacing:-.025em}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="crm-recruitment-clear"] h2{font-size:clamp(36px,4cqw,62px)}}[data-gp-theme="crm-recruitment-clear"] h3{font-size:28px}[data-gp-theme="crm-recruitment-clear"] p{max-width:62ch}[data-gp-theme="crm-recruitment-clear"] p+p{margin-top:1em}[data-gp-theme="crm-recruitment-clear"] .wrap{width:min(1280px,calc(100% - 80px));margin:auto}[data-gp-theme="crm-recruitment-clear"] .section{padding:100px 0}[data-gp-theme="crm-recruitment-clear"] .section-head{display:flex;justify-content:space-between;gap:40px;margin-bottom:42px;align-items:end}[data-gp-theme="crm-recruitment-clear"] .section-head>p{max-width:36ch}[data-gp-theme="crm-recruitment-clear"] .kicker{font-size:15px;margin-bottom:18px;color:var(--muted)}[data-gp-theme="crm-recruitment-clear"] .small,[data-gp-theme="crm-recruitment-clear"] figcaption{font-size:14px;line-height:1.5;color:var(--muted)}[data-gp-theme="crm-recruitment-clear"] figcaption{padding:12px 0}[data-gp-theme="crm-recruitment-clear"] .site-header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0}[data-gp-theme="crm-recruitment-clear"] .brand{font:600 26px/1.15 var(--display);text-decoration:none;display:flex;align-items:center;gap:12px}[data-gp-theme="crm-recruitment-clear"] .brand svg{width:40px;height:40px;fill:none;stroke:currentColor;stroke-width:1.8}[data-gp-theme="crm-recruitment-clear"] .brand small{display:block;font:13px/1.5 var(--body);margin-top:5px}[data-gp-theme="crm-recruitment-clear"] .site-header nav{display:flex;gap:26px;font-size:16px}[data-gp-theme="crm-recruitment-clear"] .site-header nav a{text-decoration:none}[data-gp-theme="crm-recruitment-clear"] .menu-button,[data-gp-theme="crm-recruitment-clear"] .button,[data-gp-theme="crm-recruitment-clear"] :is(button,[role="button"]):is([type="submit"],[data-gp-button-type="submit"]){display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:12px 22px;min-height:48px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);text-decoration:none;font:600 16px/1.4 var(--body)}[data-gp-theme="crm-recruitment-clear"] .menu-button{background:transparent;color:var(--ink)}[data-gp-theme="crm-recruitment-clear"] .menu-button svg{width:20px;fill:none;stroke:currentColor;stroke-width:2}[data-gp-theme="crm-recruitment-clear"] .button.accent,[data-gp-theme="crm-recruitment-clear"] :is(button,[role="button"]):is([type="submit"],[data-gp-button-type="submit"]){background:var(--accent);border-color:var(--accent);color:var(--on-accent)}[data-gp-theme="crm-recruitment-clear"] .text-link{display:inline-block;margin-top:20px;font-weight:600}[data-gp-theme="crm-recruitment-clear"] .duo{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}[data-gp-theme="crm-recruitment-clear"] .duo img{width:100%;object-fit:cover}[data-gp-theme="crm-recruitment-clear"] .choice-row{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}[data-gp-theme="crm-recruitment-clear"] .choice-row :is(button,[role="button"]){padding:11px 18px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:16px}[data-gp-theme="crm-recruitment-clear"] .choice-row :is(button,[role="button"])[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}[data-gp-theme="crm-recruitment-clear"] .task-panel{background:var(--wash);padding:32px;border:1px solid var(--line)}[data-gp-theme="crm-recruitment-clear"] .task-panel h3{margin-bottom:16px}[data-gp-theme="crm-recruitment-clear"] .task-panel p{margin:12px 0}[data-gp-theme="crm-recruitment-clear"] .form{display:grid;grid-template-columns:1fr 1fr;gap:20px}[data-gp-theme="crm-recruitment-clear"] .form label{display:grid;gap:8px;font-size:16px;font-weight:600;min-width:0}[data-gp-theme="crm-recruitment-clear"] .form input,[data-gp-theme="crm-recruitment-clear"] .form select,[data-gp-theme="crm-recruitment-clear"] .form textarea{width:100%;min-width:0;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:12px;font-size:17px;font-weight:400;border-radius:0}[data-gp-theme="crm-recruitment-clear"] .form textarea{min-height:130px}[data-gp-theme="crm-recruitment-clear"] .full{grid-column:1/-1}[data-gp-theme="crm-recruitment-clear"] .result{display:block;margin-top:20px;padding:18px;border-left:3px solid var(--accent);background:var(--wash);min-height:0;font-size:17px}[data-gp-theme="crm-recruitment-clear"] .result:empty{display:none}[data-gp-theme="crm-recruitment-clear"] .band{background:var(--wash)}[data-gp-theme="crm-recruitment-clear"] details{border-top:1px solid var(--line);padding:20px 0}[data-gp-theme="crm-recruitment-clear"] summary{font-weight:600;min-height:44px}[data-gp-theme="crm-recruitment-clear"] details p{padding:12px 0}[data-gp-theme="crm-recruitment-clear"] .rule-list{list-style:none;padding:0}[data-gp-theme="crm-recruitment-clear"] .rule-list li{border-top:1px solid var(--line);padding:18px 0}[data-gp-theme="crm-recruitment-clear"] .site-footer{padding:76px 0 25px;border-top:1px solid var(--line);background:var(--wash)}[data-gp-theme="crm-recruitment-clear"] .footer-layout{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px}[data-gp-theme="crm-recruitment-clear"] .footer-layout h2{font-size:clamp(38px,4.5vw,64px);margin-bottom:24px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="crm-recruitment-clear"] .footer-layout h2{font-size:clamp(38px,4.5cqw,64px)}}[data-gp-theme="crm-recruitment-clear"] .footer-layout h3{font:600 17px var(--body);margin-bottom:18px}[data-gp-theme="crm-recruitment-clear"] .footer-layout a{display:block;margin:12px 0;font-size:16px}[data-gp-theme="crm-recruitment-clear"] .footer-bottom{display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);margin-top:50px;padding-top:22px;font-size:13px;color:var(--muted)}[data-gp-theme="crm-recruitment-clear"] dialog.mega-menu{width:min(1180px,calc(100% - 40px));background:var(--paper);color:var(--ink);margin:24px auto}[data-gp-theme="crm-recruitment-clear"] .menu-top{display:flex;justify-content:space-between;align-items:center;padding:28px 38px;border-bottom:1px solid var(--line)}[data-gp-theme="crm-recruitment-clear"] .menu-top :is(button,[role="button"]){background:transparent;color:var(--ink);border:1px solid var(--line);padding:10px 18px}[data-gp-theme="crm-recruitment-clear"] .menu-layout{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:48px}[data-gp-theme="crm-recruitment-clear"] .menu-layout h2{margin-bottom:25px}[data-gp-theme="crm-recruitment-clear"] .menu-layout nav{display:grid}[data-gp-theme="crm-recruitment-clear"] .menu-layout nav a{display:flex;justify-content:space-between;text-decoration:none;padding:16px 0;border-bottom:1px solid var(--line);font-size:23px}[data-gp-theme="crm-recruitment-clear"] .menu-layout aside{padding:30px;background:var(--wash)}[data-gp-theme="crm-recruitment-clear"] .menu-layout aside p{margin-top:22px}[data-gp-theme="crm-recruitment-clear"] .preloader{background:var(--paper);color:var(--ink)}[data-gp-theme="crm-recruitment-clear"] .intro-mark{font:44px var(--display)}[data-gp-theme="crm-recruitment-clear"] .preloader .intro-mark svg{width:70px;height:70px;display:block;margin:auto auto 20px;fill:none;stroke:currentColor;stroke-width:1.4}[data-gp-theme="crm-recruitment-clear"][data-keyboard] :is(button,[role="button"]):active{transform:none}@media(hover:hover) and (pointer:fine){[data-gp-theme="crm-recruitment-clear"] .menu-button:hover{background:var(--wash)}[data-gp-theme="crm-recruitment-clear"] .button,[data-gp-theme="crm-recruitment-clear"] .menu-button,[data-gp-theme="crm-recruitment-clear"] .choice-row :is(button,[role="button"]){transition:transform 150ms var(--ease-out),background-color 180ms var(--ease-out)}[data-gp-theme="crm-recruitment-clear"] .button:hover{transform:translateY(-2px)}[data-gp-theme="crm-recruitment-clear"] .choice-row :is(button,[role="button"]):hover{transform:translateY(-1px)}}@media(max-width:850px){[data-gp-theme="crm-recruitment-clear"] .wrap{width:calc(100% - 40px)}[data-gp-theme="crm-recruitment-clear"] .section{padding:65px 0}[data-gp-theme="crm-recruitment-clear"] .site-header nav{display:none}[data-gp-theme="crm-recruitment-clear"] .site-header{padding:20px 0}[data-gp-theme="crm-recruitment-clear"] .duo{gap:35px}[data-gp-theme="crm-recruitment-clear"] .section-head{align-items:start}[data-gp-theme="crm-recruitment-clear"] .footer-layout{gap:28px;grid-template-columns:1.5fr 1fr}}@containerfs-editor-canvas (max-width: 850px){[data-gp-theme="crm-recruitment-clear"] .wrap{width:calc(100% - 40px)}[data-gp-theme="crm-recruitment-clear"] .section{padding:65px 0}[data-gp-theme="crm-recruitment-clear"] .site-header nav{display:none}[data-gp-theme="crm-recruitment-clear"] .site-header{padding:20px 0}[data-gp-theme="crm-recruitment-clear"] .duo{gap:35px}[data-gp-theme="crm-recruitment-clear"] .section-head{align-items:start}[data-gp-theme="crm-recruitment-clear"] .footer-layout{gap:28px;grid-template-columns:1.5fr 1fr}}@media(max-width:600px){[data-gp-theme="crm-recruitment-clear"] .wrap{width:calc(100% - 32px)}[data-gp-theme="crm-recruitment-clear"]{font-size:17px}[data-gp-theme="crm-recruitment-clear"] .brand{font-size:22px}[data-gp-theme="crm-recruitment-clear"] .brand svg{width:32px;height:32px}[data-gp-theme="crm-recruitment-clear"] .menu-button{padding:10px 14px;font-size:14px}[data-gp-theme="crm-recruitment-clear"] .duo,[data-gp-theme="crm-recruitment-clear"] .footer-layout,[data-gp-theme="crm-recruitment-clear"] .menu-layout{grid-template-columns:1fr}[data-gp-theme="crm-recruitment-clear"] .section-head{display:block}[data-gp-theme="crm-recruitment-clear"] .section-head>p{margin-top:20px}[data-gp-theme="crm-recruitment-clear"] .form{grid-template-columns:1fr}[data-gp-theme="crm-recruitment-clear"] .full{grid-column:auto}[data-gp-theme="crm-recruitment-clear"] .task-panel{padding:23px}[data-gp-theme="crm-recruitment-clear"] .footer-bottom{display:block}[data-gp-theme="crm-recruitment-clear"] .footer-bottom span:not(.fs-richtext){display:block;margin:10px 0}[data-gp-theme="crm-recruitment-clear"] .menu-top{padding:20px}[data-gp-theme="crm-recruitment-clear"] .menu-layout{padding:26px;gap:25px}[data-gp-theme="crm-recruitment-clear"] .menu-layout nav a{font-size:21px}[data-gp-theme="crm-recruitment-clear"] .menu-layout aside{padding:22px}[data-gp-theme="crm-recruitment-clear"] .section{padding:55px 0}}@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="crm-recruitment-clear"] .wrap{width:calc(100% - 32px)}[data-gp-theme="crm-recruitment-clear"]{font-size:17px}[data-gp-theme="crm-recruitment-clear"] .brand{font-size:22px}[data-gp-theme="crm-recruitment-clear"] .brand svg{width:32px;height:32px}[data-gp-theme="crm-recruitment-clear"] .menu-button{padding:10px 14px;font-size:14px}[data-gp-theme="crm-recruitment-clear"] .duo,[data-gp-theme="crm-recruitment-clear"] .footer-layout,[data-gp-theme="crm-recruitment-clear"] .menu-layout{grid-template-columns:1fr}[data-gp-theme="crm-recruitment-clear"] .section-head{display:block}[data-gp-theme="crm-recruitment-clear"] .section-head>p{margin-top:20px}[data-gp-theme="crm-recruitment-clear"] .form{grid-template-columns:1fr}[data-gp-theme="crm-recruitment-clear"] .full{grid-column:auto}[data-gp-theme="crm-recruitment-clear"] .task-panel{padding:23px}[data-gp-theme="crm-recruitment-clear"] .footer-bottom{display:block}[data-gp-theme="crm-recruitment-clear"] .footer-bottom span:not(.fs-richtext){display:block;margin:10px 0}[data-gp-theme="crm-recruitment-clear"] .menu-top{padding:20px}[data-gp-theme="crm-recruitment-clear"] .menu-layout{padding:26px;gap:25px}[data-gp-theme="crm-recruitment-clear"] .menu-layout nav a{font-size:21px}[data-gp-theme="crm-recruitment-clear"] .menu-layout aside{padding:22px}[data-gp-theme="crm-recruitment-clear"] .section{padding:55px 0}}@media(prefers-reduced-motion:reduce){[data-gp-theme="crm-recruitment-clear"] :is(button,[role="button"]),[data-gp-theme="crm-recruitment-clear"] .button{transform:none!important}}


[data-gp-theme="crm-recruitment-clear"]{--paper:#fff;--ink:#1f2936;--accent:#194b9a;--wash:#e9f0fb;--line:#aebfd8;--on-accent:#fff;--muted:#536279;--display:"Instrument Sans",sans-serif;--body:"Public Sans",sans-serif}[data-gp-theme="crm-recruitment-clear"][data-palette="1"]{--accent:#17616a;--wash:#e5f2f1;--line:#a3c6c6;--ink:#1e363a;--muted:#4b686c}[data-gp-theme="crm-recruitment-clear"][data-palette="2"]{--accent:#5f3d8d;--wash:#f0eafa;--line:#c5b3db;--ink:#32263e;--muted:#695876}[data-gp-theme="crm-recruitment-clear"][data-mode="dark"]{--paper:#16243a;--ink:#f3f6fc;--accent:#a6c5ff;--on-accent:#152c52;--wash:#203653;--line:#6b8ab4;--muted:#c2d0e5}[data-gp-theme="crm-recruitment-clear"][data-mode="dark"][data-palette="1"]{--paper:#153134;--wash:#20484c;--accent:#a7e1e2;--on-accent:#12363a;--line:#719da0;--ink:#f0f6ef}[data-gp-theme="crm-recruitment-clear"][data-mode="dark"][data-palette="2"]{--paper:#2c223a;--wash:#403150;--accent:#d1b8f4;--on-accent:#322047;--line:#9b81b8;--ink:#f5f0fa}[data-gp-theme="crm-recruitment-clear"] h1,[data-gp-theme="crm-recruitment-clear"] h2,[data-gp-theme="crm-recruitment-clear"] h3{font-weight:600}[data-gp-theme="crm-recruitment-clear"] .brand{font-size:25px}[data-gp-theme="crm-recruitment-clear"] .brand small{font:13px var(--body);font-weight:400}[data-gp-theme="crm-recruitment-clear"] .desk-opening{background:var(--accent);color:var(--on-accent);padding:55px 0 22px}[data-gp-theme="crm-recruitment-clear"] .desk-mast{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:end;margin-bottom:45px}[data-gp-theme="crm-recruitment-clear"] .desk-mast h1{font-size:clamp(58px,6.6vw,98px);line-height:.97}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="crm-recruitment-clear"] .desk-mast h1{font-size:clamp(58px,6.6cqw,98px)}}[data-gp-theme="crm-recruitment-clear"] .desk-mast p{font-size:22px;line-height:1.5;margin-bottom:8px;max-width:27ch}[data-gp-theme="crm-recruitment-clear"] .audience-desk{display:grid;grid-template-columns:1fr 1fr;gap:18px}[data-gp-theme="crm-recruitment-clear"] .audience-desk>:is(button,[role="button"]){text-align:left;padding:28px 32px;background:transparent;color:var(--on-accent);border:1px solid currentColor;display:flex;flex-direction:column;min-height:270px;gap:22px;position:relative}[data-gp-theme="crm-recruitment-clear"] .audience-desk>:is(button,[role="button"])[aria-pressed=true]{background:var(--paper);color:var(--ink);border-color:var(--paper)}[data-gp-theme="crm-recruitment-clear"] .audience-desk>:is(button,[role="button"])[aria-pressed=true]:after{content:"Selected";position:absolute;right:24px;top:25px;font-size:13px;color:var(--accent);font-weight:600}[data-gp-theme="crm-recruitment-clear"] .audience-desk>:is(button,[role="button"])>span:not(.fs-richtext):first-child{font-size:15px}[data-gp-theme="crm-recruitment-clear"] .audience-desk strong{font:600 clamp(29px,3vw,43px)/1.08 var(--display);letter-spacing:-.025em}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="crm-recruitment-clear"] .audience-desk strong{font:600 clamp(29px,3cqw,43px)/1.08 var(--display)}}[data-gp-theme="crm-recruitment-clear"] .desk-action{display:flex;justify-content:space-between;align-items:center;width:100%;font-size:15px;margin-top:auto}[data-gp-theme="crm-recruitment-clear"] .desk-action b{font-size:28px;font-weight:400}[data-gp-theme="crm-recruitment-clear"] .desk-status{display:flex;align-items:center;gap:12px;font-size:14px;padding-top:22px}[data-gp-theme="crm-recruitment-clear"] .desk-status a{margin-left:auto}[data-gp-theme="crm-recruitment-clear"] .status-dot{width:7px;height:7px;display:block;border-radius:50%;background:currentColor}[data-gp-theme="crm-recruitment-clear"] .next-layout{display:grid;grid-template-columns:1fr 1fr;gap:95px}[data-gp-theme="crm-recruitment-clear"] .next-layout h2{margin-bottom:25px}[data-gp-theme="crm-recruitment-clear"] .next-tasks article{display:grid;grid-template-columns:120px 1fr;gap:14px 20px;border-top:1px solid var(--line);padding:25px 0}[data-gp-theme="crm-recruitment-clear"] .next-tasks article>span:not(.fs-richtext){font-size:14px;color:var(--muted)}[data-gp-theme="crm-recruitment-clear"] .next-tasks h3{font-size:27px}[data-gp-theme="crm-recruitment-clear"] .next-tasks article>p{grid-column:2;font-size:17px}[data-gp-theme="crm-recruitment-clear"] .process-band{background:var(--wash)}[data-gp-theme="crm-recruitment-clear"] .process-ledger{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;list-style:none;margin:45px 0 0;padding:0}[data-gp-theme="crm-recruitment-clear"] .process-ledger li>span:not(.fs-richtext){display:grid;place-content:center;width:44px;height:44px;border:1px solid var(--accent);color:var(--accent);font-size:20px;margin-bottom:35px}[data-gp-theme="crm-recruitment-clear"] .process-ledger h3{font-size:30px;margin-bottom:22px}[data-gp-theme="crm-recruitment-clear"] .process-ledger p{font-size:17px}[data-gp-theme="crm-recruitment-clear"] .handoff-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;align-items:center}[data-gp-theme="crm-recruitment-clear"] .handoff-picture{width:100%;height:580px;object-fit:cover}[data-gp-theme="crm-recruitment-clear"] .handoff-layout h2{font-size:48px;margin-bottom:25px}[data-gp-theme="crm-recruitment-clear"] .handoff-layout details{margin-top:20px}[data-gp-theme="crm-recruitment-clear"] .brief-band{border-top:1px solid var(--line)}[data-gp-theme="crm-recruitment-clear"] .brief-layout{display:grid;grid-template-columns:.85fr 1.2fr;gap:100px}[data-gp-theme="crm-recruitment-clear"] .brief-layout h2{margin-bottom:28px}[data-gp-theme="crm-recruitment-clear"] .desk-receipt{margin-top:35px;background:var(--wash);padding:24px;border-left:4px solid var(--accent)}[data-gp-theme="crm-recruitment-clear"] .desk-receipt strong{font-size:16px}[data-gp-theme="crm-recruitment-clear"] .desk-receipt p{margin-top:12px;font-size:16px}[data-gp-theme="crm-recruitment-clear"] .mega-menu .menu-layout{grid-template-columns:1fr 1.15fr}[data-gp-theme="crm-recruitment-clear"] .mega-menu aside{background:var(--accent);color:var(--on-accent)}[data-gp-theme="crm-recruitment-clear"] .mega-menu aside .small{color:var(--on-accent)}[data-gp-theme="crm-recruitment-clear"] .mega-menu nav a{font-size:24px}[data-gp-theme="crm-recruitment-clear"] .mega-menu .menu-top{border-top:7px solid var(--accent)}@media(max-width:1000px){[data-gp-theme="crm-recruitment-clear"] .site-header nav{display:none}[data-gp-theme="crm-recruitment-clear"] .desk-mast{gap:40px}[data-gp-theme="crm-recruitment-clear"] .next-layout,[data-gp-theme="crm-recruitment-clear"] .brief-layout{gap:45px}[data-gp-theme="crm-recruitment-clear"] .handoff-layout{gap:40px}[data-gp-theme="crm-recruitment-clear"] .handoff-picture{height:520px}[data-gp-theme="crm-recruitment-clear"] .next-tasks article{grid-template-columns:1fr}[data-gp-theme="crm-recruitment-clear"] .next-tasks article>p{grid-column:1}[data-gp-theme="crm-recruitment-clear"] .process-ledger{gap:30px}}@containerfs-editor-canvas (max-width: 1000px){[data-gp-theme="crm-recruitment-clear"] .site-header nav{display:none}[data-gp-theme="crm-recruitment-clear"] .desk-mast{gap:40px}[data-gp-theme="crm-recruitment-clear"] .next-layout,[data-gp-theme="crm-recruitment-clear"] .brief-layout{gap:45px}[data-gp-theme="crm-recruitment-clear"] .handoff-layout{gap:40px}[data-gp-theme="crm-recruitment-clear"] .handoff-picture{height:520px}[data-gp-theme="crm-recruitment-clear"] .next-tasks article{grid-template-columns:1fr}[data-gp-theme="crm-recruitment-clear"] .next-tasks article>p{grid-column:1}[data-gp-theme="crm-recruitment-clear"] .process-ledger{gap:30px}}@media(max-width:600px){[data-gp-theme="crm-recruitment-clear"] .desk-opening{padding-top:35px}[data-gp-theme="crm-recruitment-clear"] .desk-mast{grid-template-columns:1fr;gap:25px;margin-bottom:30px}[data-gp-theme="crm-recruitment-clear"] .desk-mast h1{font-size:58px}[data-gp-theme="crm-recruitment-clear"] .desk-mast p{font-size:18px}[data-gp-theme="crm-recruitment-clear"] .audience-desk{grid-template-columns:1fr;gap:12px}[data-gp-theme="crm-recruitment-clear"] .audience-desk>:is(button,[role="button"]){min-height:220px;padding:23px;gap:18px}[data-gp-theme="crm-recruitment-clear"] .audience-desk strong{font-size:32px}[data-gp-theme="crm-recruitment-clear"] .audience-desk>:is(button,[role="button"])[aria-pressed=true]:after{right:20px;top:22px;font-size:12px}[data-gp-theme="crm-recruitment-clear"] .desk-status{flex-wrap:wrap;font-size:13px;gap:8px}[data-gp-theme="crm-recruitment-clear"] .desk-status a{width:100%;margin:5px 0 0 15px}[data-gp-theme="crm-recruitment-clear"] .next-layout,[data-gp-theme="crm-recruitment-clear"] .handoff-layout,[data-gp-theme="crm-recruitment-clear"] .brief-layout{grid-template-columns:1fr;gap:35px}[data-gp-theme="crm-recruitment-clear"] .next-tasks h3{font-size:25px}[data-gp-theme="crm-recruitment-clear"] .process-ledger{grid-template-columns:1fr;gap:30px;margin-top:30px}[data-gp-theme="crm-recruitment-clear"] .process-ledger li{display:grid;grid-template-columns:44px 1fr;gap:15px 20px;border-top:1px solid var(--line);padding-top:25px}[data-gp-theme="crm-recruitment-clear"] .process-ledger li>span:not(.fs-richtext){grid-row:1/3;margin:0}[data-gp-theme="crm-recruitment-clear"] .process-ledger h3{font-size:27px;margin:0}[data-gp-theme="crm-recruitment-clear"] .process-ledger p{grid-column:2}[data-gp-theme="crm-recruitment-clear"] .handoff-picture{height:370px}[data-gp-theme="crm-recruitment-clear"] .handoff-layout h2{font-size:40px}[data-gp-theme="crm-recruitment-clear"] .mega-menu .menu-layout{grid-template-columns:1fr}[data-gp-theme="crm-recruitment-clear"] .mega-menu nav a{font-size:21px}}@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="crm-recruitment-clear"] .desk-opening{padding-top:35px}[data-gp-theme="crm-recruitment-clear"] .desk-mast{grid-template-columns:1fr;gap:25px;margin-bottom:30px}[data-gp-theme="crm-recruitment-clear"] .desk-mast h1{font-size:58px}[data-gp-theme="crm-recruitment-clear"] .desk-mast p{font-size:18px}[data-gp-theme="crm-recruitment-clear"] .audience-desk{grid-template-columns:1fr;gap:12px}[data-gp-theme="crm-recruitment-clear"] .audience-desk>:is(button,[role="button"]){min-height:220px;padding:23px;gap:18px}[data-gp-theme="crm-recruitment-clear"] .audience-desk strong{font-size:32px}[data-gp-theme="crm-recruitment-clear"] .audience-desk>:is(button,[role="button"])[aria-pressed=true]:after{right:20px;top:22px;font-size:12px}[data-gp-theme="crm-recruitment-clear"] .desk-status{flex-wrap:wrap;font-size:13px;gap:8px}[data-gp-theme="crm-recruitment-clear"] .desk-status a{width:100%;margin:5px 0 0 15px}[data-gp-theme="crm-recruitment-clear"] .next-layout,[data-gp-theme="crm-recruitment-clear"] .handoff-layout,[data-gp-theme="crm-recruitment-clear"] .brief-layout{grid-template-columns:1fr;gap:35px}[data-gp-theme="crm-recruitment-clear"] .next-tasks h3{font-size:25px}[data-gp-theme="crm-recruitment-clear"] .process-ledger{grid-template-columns:1fr;gap:30px;margin-top:30px}[data-gp-theme="crm-recruitment-clear"] .process-ledger li{display:grid;grid-template-columns:44px 1fr;gap:15px 20px;border-top:1px solid var(--line);padding-top:25px}[data-gp-theme="crm-recruitment-clear"] .process-ledger li>span:not(.fs-richtext){grid-row:1/3;margin:0}[data-gp-theme="crm-recruitment-clear"] .process-ledger h3{font-size:27px;margin:0}[data-gp-theme="crm-recruitment-clear"] .process-ledger p{grid-column:2}[data-gp-theme="crm-recruitment-clear"] .handoff-picture{height:370px}[data-gp-theme="crm-recruitment-clear"] .handoff-layout h2{font-size:40px}[data-gp-theme="crm-recruitment-clear"] .mega-menu .menu-layout{grid-template-columns:1fr}[data-gp-theme="crm-recruitment-clear"] .mega-menu nav a{font-size:21px}}

@media(min-width:851px) and (max-width:1200px){[data-gp-theme="crm-recruitment-clear"] .site-header nav{display:none}}

[data-gp-theme="crm-recruitment-clear"][data-input=keyboard] :is(.button,.menu-button,.choice-row button){transition:none;transform:none}

[data-gp-theme="crm-recruitment-clear"] [data-gp-id="next-title"]{min-height:2.1em}[data-gp-theme="crm-recruitment-clear"] .next-tasks article{min-height:185px}[data-gp-theme="crm-recruitment-clear"] .next-tasks h3{min-height:2.1em}@media(max-width:600px){[data-gp-theme="crm-recruitment-clear"] .next-tasks article{min-height:200px}}@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="crm-recruitment-clear"] .next-tasks article{min-height:200px}}

@media(max-width:380px){[data-gp-theme="crm-recruitment-clear"] .site-header .menu-button{font-size:0;padding:10px;width:44px;min-width:44px;gap:0}[data-gp-theme="crm-recruitment-clear"] .site-header .menu-button svg{width:22px;height:22px;flex-shrink:0}[data-gp-theme="crm-recruitment-clear"] .site-header{gap:12px}[data-gp-theme="crm-recruitment-clear"] .site-header .brand{min-width:0}}

@containerfs-editor-canvas (max-width: 380px){[data-gp-theme="crm-recruitment-clear"] .site-header .menu-button{font-size:0;padding:10px;width:44px;min-width:44px;gap:0}[data-gp-theme="crm-recruitment-clear"] .site-header .menu-button svg{width:22px;height:22px;flex-shrink:0}[data-gp-theme="crm-recruitment-clear"] .site-header{gap:12px}[data-gp-theme="crm-recruitment-clear"] .site-header .brand{min-width:0}}

/* Preview chrome and accessibility only. Theme authors own the visual worlds. */
[data-gp-theme="crm-recruitment-clear"][data-premium]{color-scheme:light;background:var(--paper);color:var(--ink);accent-color:var(--accent);scrollbar-color:var(--accent) var(--wash)}
[data-gp-theme="crm-recruitment-clear"][data-premium][data-mode=dark]{color-scheme:dark}
[data-gp-theme="crm-recruitment-clear"][data-premium] ::selection{background:var(--accent);color:var(--on-accent)}
[data-gp-theme="crm-recruitment-clear"][data-premium] :is(input,textarea){caret-color:var(--accent)}
[data-gp-theme="crm-recruitment-clear"][data-premium] :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--accent);outline-offset:4px}
[data-gp-theme="crm-recruitment-clear"][data-premium] :is(input,select,textarea){max-width:100%}
[data-gp-theme="crm-recruitment-clear"][data-premium] :is(input,textarea)::placeholder{color:var(--muted);opacity:1}
[data-gp-theme="crm-recruitment-clear"][data-premium] .preview-bar{display:flex;flex-wrap:wrap;justify-content:flex-start;background:#f5f5f0;color:#242d2c;border-color:#cbd0c8;gap:8px 14px;position:relative;font:13px/1.3 "Figtree",sans-serif;min-height:52px;padding:6px 3vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="crm-recruitment-clear"][data-premium] .preview-bar{padding:6px 3cqw}}
[data-gp-theme="crm-recruitment-clear"][data-premium] .preview-bar>a{font-weight:600;min-height:40px;display:flex;align-items:center}
[data-gp-theme="crm-recruitment-clear"][data-premium] .preview-bar [role=group]{margin-left:auto;display:flex;gap:2px}
[data-gp-theme="crm-recruitment-clear"][data-premium] .preview-bar :is(button,select){font:13px/1.3 "Figtree",sans-serif;min-height:40px;max-width:100%;border-radius:3px}
[data-gp-theme="crm-recruitment-clear"][data-premium] .preview-bar select{background:#fff;color:#242d2c;border:1px solid #a2ada4;padding:7px 24px 7px 9px}
[data-gp-theme="crm-recruitment-clear"][data-premium] .preview-bar [aria-pressed=true]{background:#242d2c;color:#fff}
[data-gp-theme="crm-recruitment-clear"][data-premium] .preview-bar .preview-label{font:12px/1.3 "Figtree",sans-serif;color:#48554f}
[data-gp-theme="crm-recruitment-clear"][data-premium] .preview-bar :focus-visible{outline-color:#254fbb}
[data-gp-theme="crm-recruitment-clear"][data-premium] .preview-bar [data-replay-intro]{font-size:12px;margin:0}
[data-gp-theme="crm-recruitment-clear"][data-premium] .preview-bar [data-replay-intro]::after{content:none}
[data-gp-theme="crm-recruitment-clear"][data-premium] .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
[data-gp-theme="crm-recruitment-clear"][data-premium] .premium-action{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 22px;background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);text-decoration:none;font-weight:600;transition:transform 150ms var(--ease-out),background-color 150ms var(--ease-out)}
[data-gp-theme="crm-recruitment-clear"][data-premium] .premium-action:active{transform:translateY(1px)}
[data-gp-theme="crm-recruitment-clear"][data-premium] .premium-action:disabled{opacity:.6;cursor:not-allowed}
[data-gp-theme="crm-recruitment-clear"][data-premium] :is(h1,h2,h3){text-wrap:balance}
[data-gp-theme="crm-recruitment-clear"][data-premium] p{text-wrap:pretty}
/* Put down the opaque menu surface immediately, then introduce its content. */
[data-gp-theme="crm-recruitment-clear"][data-premium] .mega-menu[open]:not([data-closing]){animation:none}
[data-gp-theme="crm-recruitment-clear"][data-premium] .mega-menu[open]:not([data-closing])>:not(:first-child){animation:gp-crmclear-premium-menu-content 160ms var(--ease-out)}
[data-gp-theme="crm-recruitment-clear"][data-premium] .mega-menu[data-keyboard]>:not(:first-child){animation:none!important}
[data-gp-theme="crm-recruitment-clear"][data-premium][data-input=keyboard] :is(button,[role="button"]):active{transform:none}
@keyframes gp-crmclear-premium-menu-content{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:650px){
 [data-gp-theme="crm-recruitment-clear"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="crm-recruitment-clear"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="crm-recruitment-clear"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="crm-recruitment-clear"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="crm-recruitment-clear"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="crm-recruitment-clear"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="crm-recruitment-clear"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="crm-recruitment-clear"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@containerfs-editor-canvas (max-width: 650px){
 [data-gp-theme="crm-recruitment-clear"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="crm-recruitment-clear"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="crm-recruitment-clear"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="crm-recruitment-clear"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="crm-recruitment-clear"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="crm-recruitment-clear"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="crm-recruitment-clear"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="crm-recruitment-clear"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@media(prefers-reduced-motion:reduce){[data-gp-theme="crm-recruitment-clear"][data-premium] .premium-action{transition:none;transform:none}}

/* Website page primitives and actual layout modes. Authored theme CSS owns identity. */
[data-gp-theme="crm-recruitment-clear"][data-framed=true] .preview-bar,[data-gp-theme="crm-recruitment-clear"][data-framed=true] .site-open-preview{display:none!important}
[data-gp-theme="crm-recruitment-clear"][data-site]{--ip-paper:var(--paper,#f4f2eb);--ip-ink:var(--ink,#192f2c);--ip-wash:var(--wash,var(--paper,#e6e9df));--ip-accent:var(--accent,var(--rust,#315b50));--ip-on:var(--on-accent,var(--paper,#fff));--ip-muted:var(--muted,var(--ink,#45534d));--ip-line:var(--line,var(--rule,#a1aca5))}
[data-gp-theme="crm-recruitment-clear"][data-inside]{background:var(--ip-paper);color:var(--ip-ink);font:18px/1.65 var(--body,"Figtree",sans-serif)}
[data-gp-theme="crm-recruitment-clear"] .inside-page :is(h1,h2,h3){font-family:var(--display,inherit);color:inherit;letter-spacing:-.035em;line-height:1.1;font-weight:500;max-width:22ch}
[data-gp-theme="crm-recruitment-clear"] .inside-page h1{font-size:clamp(42px,5.3vw,80px);margin:0 0 26px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="crm-recruitment-clear"] .inside-page h1{font-size:clamp(42px,5.3cqw,80px)}}[data-gp-theme="crm-recruitment-clear"] .inside-page h2{font-size:clamp(30px,3vw,49px);margin:0 0 24px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="crm-recruitment-clear"] .inside-page h2{font-size:clamp(30px,3cqw,49px)}}[data-gp-theme="crm-recruitment-clear"] .inside-page h3{font-size:25px;margin:0 0 15px}
[data-gp-theme="crm-recruitment-clear"] .inside-page :is(p,li){max-width:72ch}[data-gp-theme="crm-recruitment-clear"] .inside-page p{margin:0 0 20px}[data-gp-theme="crm-recruitment-clear"] .inside-page a{color:inherit}[data-gp-theme="crm-recruitment-clear"] .inside-page img{max-width:100%;width:100%;height:100%;object-fit:cover}[data-gp-theme="crm-recruitment-clear"] .inside-page figure{margin:0}[data-gp-theme="crm-recruitment-clear"] .inside-page :is(button,[role="button"]){color:inherit}
[data-gp-theme="crm-recruitment-clear"] .ip-hero,[data-gp-theme="crm-recruitment-clear"] .ip-section{width:min(1320px,calc(100% - 96px));margin-inline:auto;padding-block:70px}[data-gp-theme="crm-recruitment-clear"] .ip-hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:65px}[data-gp-theme="crm-recruitment-clear"] .ip-opening{min-width:0}[data-gp-theme="crm-recruitment-clear"] .ip-hero:has(>.ip-opening:only-child){grid-template-columns:1fr}[data-gp-theme="crm-recruitment-clear"] .ip-art{height:430px;position:relative}[data-gp-theme="crm-recruitment-clear"] .ip-art img{object-fit:cover}[data-gp-theme="crm-recruitment-clear"] .ip-art figcaption,[data-gp-theme="crm-recruitment-clear"] .ip-caption{font-size:14px;line-height:1.5;color:var(--ip-muted);padding-top:10px}[data-gp-theme="crm-recruitment-clear"] .ip-section>.ip-caption{margin-bottom:20px}[data-gp-theme="crm-recruitment-clear"] .ip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}[data-gp-theme="crm-recruitment-clear"] .ip-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px}[data-gp-theme="crm-recruitment-clear"] .ip-card{min-width:0;border-top:1px solid var(--ip-line);padding:25px 0}[data-gp-theme="crm-recruitment-clear"] .ip-card figure{height:230px;margin-bottom:25px}[data-gp-theme="crm-recruitment-clear"] .ip-reading{width:min(76ch,calc(100% - 48px));margin-inline:auto;padding-block:55px}[data-gp-theme="crm-recruitment-clear"] .ip-reading h2{margin-top:40px}[data-gp-theme="crm-recruitment-clear"] .ip-ledger{margin:24px 0}[data-gp-theme="crm-recruitment-clear"] .ip-ledger>div{display:grid;grid-template-columns:1fr 1.4fr;gap:20px;border-top:1px solid var(--ip-line);padding:15px 0}[data-gp-theme="crm-recruitment-clear"] .ip-ledger dt{font-weight:600}[data-gp-theme="crm-recruitment-clear"] .ip-ledger dd{margin:0}[data-gp-theme="crm-recruitment-clear"] .ip-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border:1px solid var(--ip-accent);background:var(--ip-accent);color:var(--ip-on)!important;text-decoration:none;font-size:16px;transition:transform 150ms var(--ease-out)}[data-gp-theme="crm-recruitment-clear"] .ip-action.secondary{background:transparent;color:var(--ip-ink)!important;border-color:var(--ip-line)}[data-gp-theme="crm-recruitment-clear"] .ip-band{padding:55px max(24px,calc((100% - 1320px)/2));background:var(--ip-wash);color:var(--ip-ink)}[data-gp-theme="crm-recruitment-clear"] .ip-band p{max-width:65ch}[data-gp-theme="crm-recruitment-clear"] .ip-note{font-size:15px;border-left:3px solid var(--ip-accent);padding:12px 18px;background:var(--ip-wash);color:var(--ip-ink);margin-block:20px}[data-gp-theme="crm-recruitment-clear"] .ip-form{display:grid;gap:22px}[data-gp-theme="crm-recruitment-clear"] .ip-form label{display:grid;gap:8px;font-size:16px}[data-gp-theme="crm-recruitment-clear"] .ip-form :is(input,textarea,select){width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid var(--ip-line);background:var(--ip-paper);color:var(--ip-ink);font:inherit;border-radius:0}[data-gp-theme="crm-recruitment-clear"] .ip-form :is(input,textarea)::placeholder{color:var(--ip-muted);opacity:1}[data-gp-theme="crm-recruitment-clear"] .ip-field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}[data-gp-theme="crm-recruitment-clear"] .ip-form :is(button,[role="button"]){justify-self:start}[data-gp-theme="crm-recruitment-clear"] .ip-form textarea{min-height:135px}[data-gp-theme="crm-recruitment-clear"] .inside-page output[data-draft-output]{display:block;white-space:pre-wrap;padding:25px;background:var(--ip-wash);color:var(--ip-ink);border:1px solid var(--ip-line);overflow-wrap:anywhere}[data-gp-theme="crm-recruitment-clear"] .ip-checks{display:grid;gap:12px}[data-gp-theme="crm-recruitment-clear"] .ip-checks label{display:flex;align-items:start;gap:14px;border-top:1px solid var(--ip-line);padding:16px 0;min-height:52px}[data-gp-theme="crm-recruitment-clear"] .ip-checks input{width:22px;height:22px;min-height:22px;flex-shrink:0;margin-top:4px;accent-color:var(--ip-accent)}[data-gp-theme="crm-recruitment-clear"] .inside-page details{border-top:1px solid var(--ip-line);padding:18px 0}[data-gp-theme="crm-recruitment-clear"] .inside-page summary{min-height:44px;font-size:21px;cursor:pointer}[data-gp-theme="crm-recruitment-clear"] .inside-page details p{padding:16px 0 0}[data-gp-theme="crm-recruitment-clear"] .inside-page [data-filter-group]>[role=group]{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}[data-gp-theme="crm-recruitment-clear"] .inside-page [data-filter]{padding:10px 18px;min-height:44px;background:transparent;color:var(--ip-ink);border:1px solid var(--ip-line)}[data-gp-theme="crm-recruitment-clear"] .inside-page [data-filter][aria-pressed=true]{background:var(--ip-accent);color:var(--ip-on)}[data-gp-theme="crm-recruitment-clear"] .site-directory{padding:30px!important;background:var(--ip-paper)!important;color:var(--ip-ink)!important;border-top:1px solid var(--ip-line)}[data-gp-theme="crm-recruitment-clear"] .site-directory h3{font:600 17px/1.4 var(--body,"Figtree",sans-serif);margin:0 0 16px}[data-gp-theme="crm-recruitment-clear"] .site-directory>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 25px}[data-gp-theme="crm-recruitment-clear"] .site-directory a{display:block;font:16px/1.5 var(--body,"Figtree",sans-serif)!important;min-height:44px;padding:10px 0!important;color:inherit!important;text-decoration:none}[data-gp-theme="crm-recruitment-clear"] .site-directory a[aria-current=page]{text-decoration:underline;font-weight:600!important}[data-gp-theme="crm-recruitment-clear"] .site-open-preview{display:block;padding:10px 20px;background:#eef0eb;color:#20322d;font:14px/1.4 "Figtree",sans-serif;text-align:center}
[data-gp-theme="crm-recruitment-clear"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){width:100%;padding-inline:max(24px,4vw)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="crm-recruitment-clear"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){padding-inline:max(24px,4cqw)}}
[data-gp-theme="crm-recruitment-clear"]:has([data-gp-theme="crm-recruitment-clear"][data-layout=boxed]){background:#a6afa9}[data-gp-theme="crm-recruitment-clear"][data-layout=boxed]{width:min(1200px,calc(100% - 64px));margin-inline:auto;box-shadow:0 0 0 1px #0002,0 20px 70px #0002;min-height:100dvh;background:var(--ip-paper)}
[data-gp-theme="crm-recruitment-clear"][data-layout=centered] :is(.ip-hero,.opening,.cake-opening,.gp-title,.book-opening,.poster-opening,.portal-opening,.destination-opening,.route-opening){text-align:center}
[data-gp-theme="crm-recruitment-clear"][data-layout=centered] .ip-hero{grid-template-columns:1fr;max-width:1000px;justify-items:center}[data-gp-theme="crm-recruitment-clear"][data-layout=centered] .ip-opening{display:grid;justify-items:center}[data-gp-theme="crm-recruitment-clear"][data-layout=centered] .ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="crm-recruitment-clear"][data-layout=centered] .ip-art{width:min(760px,100%)}
[data-gp-theme="crm-recruitment-clear"][data-layout=minimalist] :is(.ip-section,.ip-hero){padding-block:42px}[data-gp-theme="crm-recruitment-clear"][data-layout=minimalist] :is(.ip-card,.ip-art,.ip-note){border-radius:0;box-shadow:none;background-image:none}[data-gp-theme="crm-recruitment-clear"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5vw,64px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="crm-recruitment-clear"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5cqw,64px)}}[data-gp-theme="crm-recruitment-clear"][data-layout=minimalist] :is(.mullions,.glaze-rim,.cake-sticker,.paper-corner){opacity:0}[data-gp-theme="crm-recruitment-clear"][data-layout=minimalist] :is(.ip-art img,.opening img){border-radius:0}
[data-gp-theme="crm-recruitment-clear"][data-layout=edge-hero] .ip-hero{width:100%;padding-inline:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="crm-recruitment-clear"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4vw)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="crm-recruitment-clear"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4cqw)}}[data-gp-theme="crm-recruitment-clear"][data-layout=edge-hero] .ip-art{height:600px}[data-gp-theme="crm-recruitment-clear"][data-layout=edge-hero] .ip-art img{border-radius:0}[data-gp-theme="crm-recruitment-clear"][data-layout=edge-hero] .ip-art figcaption{padding:8px 20px}
[data-gp-theme="crm-recruitment-clear"][data-layout=full-width] .inside-page>.ip-opening{width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="crm-recruitment-clear"][data-layout=full-width] .inside-page>.ip-opening{padding-inline:4cqw}}
[data-gp-theme="crm-recruitment-clear"][data-layout=centered] .inside-page>.ip-opening{display:flex;flex-direction:column;align-items:center;text-align:center;width:min(1000px,calc(100% - 48px));gap:30px}[data-gp-theme="crm-recruitment-clear"][data-layout=centered] .inside-page>.ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="crm-recruitment-clear"][data-layout=centered] .inside-page>.ip-opening>figure{width:min(780px,100%)}
[data-gp-theme="crm-recruitment-clear"][data-layout=minimalist] .inside-page>.ip-opening{padding-block:38px}[data-gp-theme="crm-recruitment-clear"][data-layout=minimalist] .inside-page>.ip-opening :is(h1,figure){box-shadow:none;border-radius:0}
[data-gp-theme="crm-recruitment-clear"][data-layout=edge-hero] .inside-page>.ip-opening{width:100%;max-width:none;padding:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="crm-recruitment-clear"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="crm-recruitment-clear"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4cqw}}[data-gp-theme="crm-recruitment-clear"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:600px;max-width:none;align-self:stretch}[data-gp-theme="crm-recruitment-clear"][data-layout=edge-hero] .inside-page>.ip-opening>figure img{height:100%;object-fit:cover;border-radius:0}
/* Existing home compositions gain real width/spacing modes without replacing their content. */
[data-gp-theme="crm-recruitment-clear"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="crm-recruitment-clear"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){padding-inline:4cqw}}
[data-gp-theme="crm-recruitment-clear"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child{text-align:center}
[data-gp-theme="crm-recruitment-clear"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(h1,p){margin-inline:auto}[data-gp-theme="crm-recruitment-clear"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(.opening-copy,.elevation-copy,.cake-copy,.hero-copy){text-align:center}
[data-gp-theme="crm-recruitment-clear"][data-layout=minimalist]:not([data-inside]) .gp-source-main>section{padding-block:44px}[data-gp-theme="crm-recruitment-clear"][data-layout=minimalist]:not([data-inside]) :is(.hero-sleeve,.calendar,.hello-note,.open-book){box-shadow:none}
[data-gp-theme="crm-recruitment-clear"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child{width:100%;max-width:none;margin-inline:0;padding-inline:0;background:var(--ip-wash)}[data-gp-theme="crm-recruitment-clear"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="crm-recruitment-clear"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4cqw}}[data-gp-theme="crm-recruitment-clear"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:600px}
@media(hover:hover) and (pointer:fine){[data-gp-theme="crm-recruitment-clear"] .ip-action:hover{transform:translateY(-2px)}[data-gp-theme="crm-recruitment-clear"] .site-directory a:hover{text-decoration:underline}}
@media(max-width:850px){[data-gp-theme="crm-recruitment-clear"] .ip-hero,[data-gp-theme="crm-recruitment-clear"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="crm-recruitment-clear"] .ip-hero{gap:30px}[data-gp-theme="crm-recruitment-clear"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="crm-recruitment-clear"] .ip-two{gap:30px}[data-gp-theme="crm-recruitment-clear"] .ip-art{height:340px}}
@containerfs-editor-canvas (max-width: 850px){[data-gp-theme="crm-recruitment-clear"] .ip-hero,[data-gp-theme="crm-recruitment-clear"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="crm-recruitment-clear"] .ip-hero{gap:30px}[data-gp-theme="crm-recruitment-clear"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="crm-recruitment-clear"] .ip-two{gap:30px}[data-gp-theme="crm-recruitment-clear"] .ip-art{height:340px}}
@media(max-width:600px){[data-gp-theme="crm-recruitment-clear"] .ip-hero,[data-gp-theme="crm-recruitment-clear"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="crm-recruitment-clear"] .ip-hero,[data-gp-theme="crm-recruitment-clear"] .ip-two,[data-gp-theme="crm-recruitment-clear"] .ip-grid,[data-gp-theme="crm-recruitment-clear"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="crm-recruitment-clear"] .ip-art{height:300px}[data-gp-theme="crm-recruitment-clear"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="crm-recruitment-clear"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="crm-recruitment-clear"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="crm-recruitment-clear"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="crm-recruitment-clear"] .site-directory{padding:22px!important}[data-gp-theme="crm-recruitment-clear"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="crm-recruitment-clear"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="crm-recruitment-clear"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="crm-recruitment-clear"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="crm-recruitment-clear"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="crm-recruitment-clear"] .ip-hero,[data-gp-theme="crm-recruitment-clear"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="crm-recruitment-clear"] .ip-hero,[data-gp-theme="crm-recruitment-clear"] .ip-two,[data-gp-theme="crm-recruitment-clear"] .ip-grid,[data-gp-theme="crm-recruitment-clear"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="crm-recruitment-clear"] .ip-art{height:300px}[data-gp-theme="crm-recruitment-clear"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="crm-recruitment-clear"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="crm-recruitment-clear"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="crm-recruitment-clear"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="crm-recruitment-clear"] .site-directory{padding:22px!important}[data-gp-theme="crm-recruitment-clear"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="crm-recruitment-clear"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="crm-recruitment-clear"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="crm-recruitment-clear"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="crm-recruitment-clear"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@media(max-width:600px){[data-gp-theme="crm-recruitment-clear"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="crm-recruitment-clear"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="crm-recruitment-clear"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="crm-recruitment-clear"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="crm-recruitment-clear"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="crm-recruitment-clear"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
[data-gp-theme="crm-recruitment-clear"] .inside-page a[aria-disabled=true]{cursor:default;text-decoration:none}
[data-gp-theme="crm-recruitment-clear"][data-layout=edge-hero] .inside-page .ip-hero .ip-art{transform:none}
@media(prefers-reduced-motion:reduce){[data-gp-theme="crm-recruitment-clear"] .ip-action{transition:none;transform:none!important}}
/* Task actions always use an explicit contrasting pair, including themed form overrides. */
[data-gp-theme="crm-recruitment-clear"][data-site] .inside-page :is(.ip-form :is(button,[role="button"]):is([type="submit"],[data-gp-button-type="submit"]),[data-save-draft],.ip-action:not(.secondary)){
 background:var(--ip-ink)!important;color:var(--ip-paper)!important;border:1px solid var(--ip-ink)!important;
 min-height:48px;padding:12px 22px;font-size:16px;line-height:1.4;
}
[data-gp-theme="crm-recruitment-clear"][data-site] .inside-page .ip-action.secondary{background:transparent!important;color:var(--ip-ink)!important;border-color:var(--ip-line)!important}
[data-gp-theme="crm-recruitment-clear"][data-site] .inside-page .ip-form :is(select,select option){background-color:var(--ip-paper);color:var(--ip-ink)}
[data-gp-theme="crm-recruitment-clear"] .site-plan-label{display:block;font:400 14px/1.45 var(--body,sans-serif);margin-top:6px;text-decoration:none;opacity:1}
[data-gp-theme="crm-recruitment-clear"] a[data-preview-plan]{cursor:pointer}[data-gp-theme="crm-recruitment-clear"] .inside-page a[data-preview-plan]{text-decoration:none}
[data-gp-theme="crm-recruitment-clear"][data-site] .site-directory a[data-preview-plan]{display:flex;flex-direction:column;align-items:flex-start;gap:2px}[data-gp-theme="crm-recruitment-clear"] .site-directory .site-plan-label{font-size:13px;margin:0}

[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-opening{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:center;margin:0 auto;padding:64px 0 48px;width:min(1280px,calc(100% - 64px));border-bottom:1px solid var(--line,#9a9a91)}

@container fs-editor-canvas (min-width: 0px){

[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-opening{gap:clamp(24px,5cqw,80px)}}
[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-opening:not(:has(figure)){grid-template-columns:1fr;max-width:1280px}[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-opening h1{max-width:16ch;font-size:clamp(42px,6vw,86px);line-height:1.03}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-opening h1{font-size:clamp(42px,6cqw,86px)}}
[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-folio{font-size:14px;margin-bottom:20px;color:var(--muted,currentColor)}[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-deck{max-width:58ch;margin-top:26px;font-size:21px;line-height:1.55}
[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-art{margin:0;min-width:0}[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-art img{width:100%;height:360px;object-fit:cover}[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-art figcaption{font-size:13px;line-height:1.5;padding-top:12px}
[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-section{padding:50px 0;margin:auto;width:min(1280px,calc(100% - 64px))}[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-section>h2{font-size:clamp(30px,3.6vw,52px);max-width:25ch;margin-bottom:26px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-section>h2{font-size:clamp(30px,3.6cqw,52px)}}
[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-section>p{max-width:70ch;line-height:1.65;margin:20px 0}[data-gp-theme="crm-recruitment-clear"] .ip-essays{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}[data-gp-theme="crm-recruitment-clear"] .ip-essays article{border-top:2px solid var(--accent,currentColor);padding-top:22px}[data-gp-theme="crm-recruitment-clear"] .ip-essays h3,[data-gp-theme="crm-recruitment-clear"] .ip-sequence h3{font-size:26px;margin-bottom:14px}[data-gp-theme="crm-recruitment-clear"] .ip-essays p,[data-gp-theme="crm-recruitment-clear"] .ip-sequence p{font-size:17px;line-height:1.65}
[data-gp-theme="crm-recruitment-clear"] .ip-sequence{list-style:decimal;padding:0 0 0 28px;margin:0;display:grid;gap:26px}[data-gp-theme="crm-recruitment-clear"] .ip-sequence li{padding-left:15px;max-width:74ch}[data-gp-theme="crm-recruitment-clear"] .ip-sequence li::marker{color:var(--accent,currentColor);font-weight:700}
[data-gp-theme="crm-recruitment-clear"] .ip-ledger{margin:22px 0}[data-gp-theme="crm-recruitment-clear"] .ip-ledger>div{display:grid;grid-template-columns:1fr 1.6fr;gap:20px;border-top:1px solid var(--line,#999);padding:16px 0}[data-gp-theme="crm-recruitment-clear"] .ip-ledger dt{font-weight:600}[data-gp-theme="crm-recruitment-clear"] .ip-ledger dd{margin:0;line-height:1.6}[data-gp-theme="crm-recruitment-clear"] .ip-action{display:inline-flex;gap:12px;padding:12px 18px;min-height:48px;align-items:center;text-decoration:none;border:1px solid currentColor;background:transparent;color:inherit;font:600 16px/1.4 var(--body,inherit)}
[data-gp-theme="crm-recruitment-clear"] .ip-band{width:min(1280px,calc(100% - 64px));margin:30px auto 64px;padding:32px;display:flex;align-items:center;justify-content:space-between;gap:32px;border:1px solid var(--line,#999);background:var(--wash,transparent)}[data-gp-theme="crm-recruitment-clear"] .ip-band h2{font-size:34px;margin-bottom:16px}[data-gp-theme="crm-recruitment-clear"] .ip-band p{max-width:58ch;font-size:17px}[data-gp-theme="crm-recruitment-clear"] .ip-band>.ip-action{flex-shrink:0}
[data-gp-theme="crm-recruitment-clear"] .ip-draft{max-width:850px}[data-gp-theme="crm-recruitment-clear"] .ip-form{display:grid;grid-template-columns:1fr 1fr;gap:22px}[data-gp-theme="crm-recruitment-clear"] .ip-form label{display:grid;gap:9px;font-size:16px;min-width:0}[data-gp-theme="crm-recruitment-clear"] .ip-form input,[data-gp-theme="crm-recruitment-clear"] .ip-form select,[data-gp-theme="crm-recruitment-clear"] .ip-form textarea{width:100%;min-width:0;background:var(--paper,#fff);color:var(--ink,#222);border:1px solid var(--line,#888);padding:12px;font:inherit;border-radius:0}[data-gp-theme="crm-recruitment-clear"] .ip-form label:has(textarea),[data-gp-theme="crm-recruitment-clear"] .ip-form>.ip-note{grid-column:1/-1}[data-gp-theme="crm-recruitment-clear"] .ip-form textarea{min-height:130px}[data-gp-theme="crm-recruitment-clear"] .ip-note{font-size:14px;line-height:1.6;max-width:68ch}[data-gp-theme="crm-recruitment-clear"] .ip-draft output{display:block;white-space:pre-wrap;padding:24px;margin-top:24px;border:1px solid var(--line,#888);background:var(--wash,transparent)}
[data-gp-theme="crm-recruitment-clear"] .ip-checks{max-width:800px}[data-gp-theme="crm-recruitment-clear"] .ip-checks label{display:flex;gap:16px;align-items:start;border-bottom:1px solid var(--line,#999);padding:18px 0;line-height:1.55}[data-gp-theme="crm-recruitment-clear"] .ip-checks input{width:21px;height:21px;flex-shrink:0;accent-color:var(--accent,currentColor);margin-top:3px}[data-gp-theme="crm-recruitment-clear"] .ip-checks output{display:block;margin-top:22px;font-weight:600}
[data-gp-theme="crm-recruitment-clear"] .ip-faq{max-width:850px}[data-gp-theme="crm-recruitment-clear"] .ip-faq details{border-top:1px solid var(--line,#999);padding:18px 0}[data-gp-theme="crm-recruitment-clear"] .ip-faq summary{min-height:44px;cursor:pointer;font-weight:600}[data-gp-theme="crm-recruitment-clear"] .ip-faq p{padding:12px 0;line-height:1.7;max-width:72ch}[data-gp-theme="crm-recruitment-clear"] .ip-choices{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}[data-gp-theme="crm-recruitment-clear"] .ip-choices :is(button,[role="button"]),[data-gp-theme="crm-recruitment-clear"] [data-filter]{background:var(--paper,#fff);color:var(--ink,#222);border:1px solid var(--line,#999);padding:12px 18px;font:inherit;min-height:44px;cursor:pointer}[data-gp-theme="crm-recruitment-clear"] .ip-choices [aria-pressed=true],[data-gp-theme="crm-recruitment-clear"] [data-filter][aria-pressed=true]{outline:2px solid var(--accent,currentColor);outline-offset:3px}[data-gp-theme="crm-recruitment-clear"] .ip-notes output{display:block;padding:20px;background:var(--wash,transparent);max-width:72ch;line-height:1.6}
[data-gp-theme="crm-recruitment-clear"] .ip-records{display:grid;gap:28px;margin:28px 0}[data-gp-theme="crm-recruitment-clear"] .ip-records article{border-top:1px solid var(--line,#999);padding:28px 0;display:grid;grid-template-columns:1fr 1.2fr;gap:32px}[data-gp-theme="crm-recruitment-clear"] .ip-records article>img{width:100%;height:290px;object-fit:cover}[data-gp-theme="crm-recruitment-clear"] .ip-records h3{font-size:34px;margin-bottom:20px}[data-gp-theme="crm-recruitment-clear"] .ip-records p{line-height:1.65;margin:16px 0}[data-gp-theme="crm-recruitment-clear"] .ip-records .ip-action{margin-top:16px}[data-gp-theme="crm-recruitment-clear"] .ip-detail-record{padding:36px 0;border-top:2px solid var(--accent,currentColor);scroll-margin-top:30px}[data-gp-theme="crm-recruitment-clear"] .ip-detail-record>h3{font-size:36px;margin-bottom:22px}[data-gp-theme="crm-recruitment-clear"] .ip-detail-record>p{max-width:72ch;line-height:1.7}
[data-gp-theme="crm-recruitment-clear"] .ip-reading{max-width:76ch!important;margin-left:auto!important;margin-right:auto!important}[data-gp-theme="crm-recruitment-clear"] .ip-reading h3{margin-top:28px}[data-gp-theme="crm-recruitment-clear"] .ip-table-scroll{overflow-x:auto}[data-gp-theme="crm-recruitment-clear"] .ip-data-table{border-collapse:collapse;width:100%;min-width:650px;font-size:16px}[data-gp-theme="crm-recruitment-clear"] .ip-data-table th,[data-gp-theme="crm-recruitment-clear"] .ip-data-table td{border:1px solid var(--line,#999);padding:18px;text-align:left;vertical-align:top;line-height:1.6}[data-gp-theme="crm-recruitment-clear"] .ip-data-table th{background:var(--wash,transparent)}[data-gp-theme="crm-recruitment-clear"] .ip-filter-bar{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}[data-gp-theme="crm-recruitment-clear"] .ip-filter-bar output{width:100%;margin:8px 0}
[data-gp-theme="crm-recruitment-clear"][data-inside] :is(.ip-action,summary,[data-filter],[data-note-choice],input,select,textarea):focus-visible{outline:3px solid var(--accent,currentColor);outline-offset:4px}[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-action:hover{opacity:.85}[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-action:active{transform:translateY(1px)}
@media(max-width:700px){[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-opening,[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-section,[data-gp-theme="crm-recruitment-clear"] .ip-band{width:calc(100% - 32px)}[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-opening{grid-template-columns:1fr;padding:35px 0;gap:28px}[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-opening h1{font-size:45px;max-width:18ch}[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-deck{font-size:18px}[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-art img{height:300px}[data-gp-theme="crm-recruitment-clear"] .ip-essays,[data-gp-theme="crm-recruitment-clear"] .ip-form,[data-gp-theme="crm-recruitment-clear"] .ip-records article{grid-template-columns:1fr}[data-gp-theme="crm-recruitment-clear"] .ip-ledger>div{grid-template-columns:1fr;gap:8px}[data-gp-theme="crm-recruitment-clear"] .ip-band{display:block;padding:24px}[data-gp-theme="crm-recruitment-clear"] .ip-band>.ip-action{margin-top:22px}[data-gp-theme="crm-recruitment-clear"] .ip-section{padding-block:34px}[data-gp-theme="crm-recruitment-clear"] .ip-form label:has(textarea),[data-gp-theme="crm-recruitment-clear"] .ip-form>.ip-note{grid-column:auto}[data-gp-theme="crm-recruitment-clear"] .ip-records article>img{height:250px}}
@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-opening,[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-section,[data-gp-theme="crm-recruitment-clear"] .ip-band{width:calc(100% - 32px)}[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-opening{grid-template-columns:1fr;padding:35px 0;gap:28px}[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-opening h1{font-size:45px;max-width:18ch}[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-deck{font-size:18px}[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-art img{height:300px}[data-gp-theme="crm-recruitment-clear"] .ip-essays,[data-gp-theme="crm-recruitment-clear"] .ip-form,[data-gp-theme="crm-recruitment-clear"] .ip-records article{grid-template-columns:1fr}[data-gp-theme="crm-recruitment-clear"] .ip-ledger>div{grid-template-columns:1fr;gap:8px}[data-gp-theme="crm-recruitment-clear"] .ip-band{display:block;padding:24px}[data-gp-theme="crm-recruitment-clear"] .ip-band>.ip-action{margin-top:22px}[data-gp-theme="crm-recruitment-clear"] .ip-section{padding-block:34px}[data-gp-theme="crm-recruitment-clear"] .ip-form label:has(textarea),[data-gp-theme="crm-recruitment-clear"] .ip-form>.ip-note{grid-column:auto}[data-gp-theme="crm-recruitment-clear"] .ip-records article>img{height:250px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-action:active{transform:none}}
[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-desk-opening{border-top:8px solid var(--accent)}[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-desk-opening h1{font-weight:650}[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-desk-opening .ip-art img{height:370px}[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-job-ledger article{display:grid;grid-template-columns:1.2fr 1fr;gap:45px;background:var(--wash);padding:30px;margin-bottom:18px;border-left:5px solid var(--accent)}[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-job-ledger h3{font-size:35px;margin:18px 0}[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-job-ledger p{line-height:1.65}[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-job-ledger .ip-ledger{font-size:15px}[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-desk-routes{display:grid;grid-template-columns:1fr 1fr;gap:24px}[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-desk-routes article{padding:32px;border:2px solid var(--accent)}[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-desk-routes h2{font-size:38px;margin-bottom:22px}[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-desk-routes p{line-height:1.65;margin-bottom:24px}[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-role-content{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin-top:28px}[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-detail-record h4{font-size:20px;margin-bottom:18px}[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-detail-record ul{padding-left:20px;line-height:1.8}[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-detail-record .ip-two{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin:28px 0}[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-detail-record .ip-two p{line-height:1.7}[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-sector-ledger article{display:grid;grid-template-columns:1.2fr 1fr;gap:45px;border-top:1px solid var(--line);padding:30px 0}[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-sector-ledger h3{font-size:35px;margin-bottom:20px}[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-sector-ledger h4{font-size:18px;margin-bottom:16px}[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-sector-ledger p{line-height:1.7;margin-bottom:22px}[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-form{padding:30px;background:var(--wash);border-top:5px solid var(--accent)}@media(max-width:700px){[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-job-ledger article,[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-desk-routes,[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-role-content,[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-detail-record .ip-two,[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-sector-ledger article{grid-template-columns:1fr;gap:24px}[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-job-ledger article{padding:24px}[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-desk-opening .ip-art img{height:300px}}@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-job-ledger article,[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-desk-routes,[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-role-content,[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-detail-record .ip-two,[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-sector-ledger article{grid-template-columns:1fr;gap:24px}[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-job-ledger article{padding:24px}[data-gp-theme="crm-recruitment-clear"][data-inside] .ip-desk-opening .ip-art img{height:300px}}


/* Owner selected alternative on 18 October 2026. Main heading roles only. */
[data-gp-theme="crm-recruitment-clear"][data-gp-kind="section"] h1{font-family:"Public Sans", sans-serif!important;font-weight:650!important;letter-spacing:-0.015em!important;line-height:1.1!important;font-variation-settings:normal!important;font-optical-sizing:auto!important}
[data-gp-theme="crm-recruitment-clear"][data-gp-kind="section"] h2{font-family:"Public Sans", sans-serif!important;font-weight:550!important;letter-spacing:-.01em!important;line-height:1.17!important;font-variation-settings:normal!important;font-optical-sizing:auto!important}
[data-gp-theme="crm-recruitment-clear"][data-gp-kind="section"] h3{font-family:"Public Sans", sans-serif!important;font-weight:600!important;letter-spacing:0!important;line-height:1.25!important;font-variation-settings:normal!important}
[data-gp-theme="crm-recruitment-clear"][data-inside][data-gp-kind="section"] h1{font-family:"Public Sans", sans-serif!important;line-height:1.14!important;letter-spacing:-.012em!important;font-weight:650!important;text-transform:none!important}
@media(max-width:650px){[data-gp-theme="crm-recruitment-clear"][data-gp-kind="section"] h1{line-height:1.1!important;letter-spacing:-0.015em!important}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="crm-recruitment-clear"][data-gp-kind="section"] h1{line-height:1.1!important;letter-spacing:-0.015em!important}}


[data-gp-theme="crm-recruitment-clear"] .u-experience{margin:72px auto;padding:48px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink);width:min(1280px,calc(100% - 80px));scroll-margin-top:30px}
[data-gp-theme="crm-recruitment-clear"] .inside-page .u-experience{width:min(1280px,calc(100% - 80px));margin:48px auto}[data-gp-theme="crm-recruitment-clear"] .u-experience *{box-sizing:border-box}[data-gp-theme="crm-recruitment-clear"] .u-experience [hidden]{display:none!important}
[data-gp-theme="crm-recruitment-clear"] .u-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:end;margin-bottom:32px}[data-gp-theme="crm-recruitment-clear"] .u-heading h2{font-size:clamp(32px,4vw,58px);max-width:20ch}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="crm-recruitment-clear"] .u-heading h2{font-size:clamp(32px,4cqw,58px)}}[data-gp-theme="crm-recruitment-clear"] .u-heading p{max-width:50ch}[data-gp-theme="crm-recruitment-clear"] .u-caption{font-size:14px;line-height:1.5;color:var(--muted)}
[data-gp-theme="crm-recruitment-clear"] .u-choices{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}[data-gp-theme="crm-recruitment-clear"] .u-experience :is(button,[role="button"]),[data-gp-theme="crm-recruitment-clear"] .u-link{min-height:44px;padding:10px 16px;background:var(--paper);border:1px solid var(--line);color:var(--ink);font:600 16px/1.4 var(--body);cursor:pointer;text-decoration:none}[data-gp-theme="crm-recruitment-clear"] .u-experience :is(button,[role="button"])[aria-pressed=true]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}[data-gp-theme="crm-recruitment-clear"] .u-experience :is(button,[role="button"]):focus-visible,[data-gp-theme="crm-recruitment-clear"] .u-experience a:focus-visible,[data-gp-theme="crm-recruitment-clear"] .u-experience summary:focus-visible,[data-gp-theme="crm-recruitment-clear"] .u-experience input:focus-visible{outline:3px solid var(--accent);outline-offset:4px}[data-gp-theme="crm-recruitment-clear"] .u-experience :is(button,[role="button"]):active{transform:scale(.98)}
[data-gp-theme="crm-recruitment-clear"] .u-experience svg{display:block;width:100%;height:auto;color:var(--ink)}[data-gp-theme="crm-recruitment-clear"] .u-art-paper{fill:var(--paper)}[data-gp-theme="crm-recruitment-clear"] .u-art-wash{fill:var(--wash)}[data-gp-theme="crm-recruitment-clear"] .u-art-accent{fill:var(--accent)}[data-gp-theme="crm-recruitment-clear"] .u-art-line{fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}[data-gp-theme="crm-recruitment-clear"] .u-art-fine{fill:none;stroke:var(--ink);stroke-width:1;opacity:.65}[data-gp-theme="crm-recruitment-clear"] .u-art-note{font:16px var(--body);fill:var(--ink)}
[data-gp-theme="crm-recruitment-clear"] .u-check{display:flex;align-items:flex-start;gap:12px;min-height:48px;padding:14px 0;border-top:1px solid var(--line);cursor:pointer;line-height:1.45}[data-gp-theme="crm-recruitment-clear"] .u-check input{accent-color:var(--accent);width:21px;height:21px;flex:0 0 21px;margin:2px 0 0}[data-gp-theme="crm-recruitment-clear"] .u-check span:not(.fs-richtext){min-width:0}[data-gp-theme="crm-recruitment-clear"] .u-summary{padding:28px;background:var(--wash);border-left:4px solid var(--accent);margin:28px 0}[data-gp-theme="crm-recruitment-clear"] .u-summary h2,[data-gp-theme="crm-recruitment-clear"] .u-summary h3{font-size:28px;margin-bottom:14px}[data-gp-theme="crm-recruitment-clear"] .u-summary ul{margin:12px 0;padding-left:22px}[data-gp-theme="crm-recruitment-clear"] .u-summary p{font-size:16px}[data-gp-theme="crm-recruitment-clear"] .u-summary li{padding:5px 0}[data-gp-theme="crm-recruitment-clear"] .u-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px}[data-gp-theme="crm-recruitment-clear"] .u-bottom output{font-size:16px}[data-gp-theme="crm-recruitment-clear"] .u-link{display:inline-flex;align-items:center;background:var(--ink);color:var(--paper);border-color:var(--ink)}[data-gp-theme="crm-recruitment-clear"] .u-note{font-size:15px;margin-top:20px;max-width:75ch}
@media(max-width:700px){[data-gp-theme="crm-recruitment-clear"] .u-experience,[data-gp-theme="crm-recruitment-clear"] .inside-page .u-experience{width:calc(100% - 32px);margin:40px auto;padding:30px 0}[data-gp-theme="crm-recruitment-clear"] .u-heading{grid-template-columns:1fr;gap:18px;margin-bottom:24px}[data-gp-theme="crm-recruitment-clear"] .u-heading h2{font-size:36px}[data-gp-theme="crm-recruitment-clear"] .u-bottom{align-items:stretch;flex-direction:column;gap:16px}[data-gp-theme="crm-recruitment-clear"] .u-link{justify-content:center}[data-gp-theme="crm-recruitment-clear"] .u-summary{padding:22px}[data-gp-theme="crm-recruitment-clear"] .u-experience :is(button,[role="button"]){max-width:100%;overflow-wrap:anywhere}}
@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="crm-recruitment-clear"] .u-experience,[data-gp-theme="crm-recruitment-clear"] .inside-page .u-experience{width:calc(100% - 32px);margin:40px auto;padding:30px 0}[data-gp-theme="crm-recruitment-clear"] .u-heading{grid-template-columns:1fr;gap:18px;margin-bottom:24px}[data-gp-theme="crm-recruitment-clear"] .u-heading h2{font-size:36px}[data-gp-theme="crm-recruitment-clear"] .u-bottom{align-items:stretch;flex-direction:column;gap:16px}[data-gp-theme="crm-recruitment-clear"] .u-link{justify-content:center}[data-gp-theme="crm-recruitment-clear"] .u-summary{padding:22px}[data-gp-theme="crm-recruitment-clear"] .u-experience :is(button,[role="button"]){max-width:100%;overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="crm-recruitment-clear"] .u-experience :is(button,[role="button"]):active{transform:none}[data-gp-theme="crm-recruitment-clear"] .u-experience *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
[data-gp-theme="crm-recruitment-clear"][data-input=keyboard] .u-experience :is(button,[role="button"]):active{transform:none}
[data-gp-theme="crm-recruitment-clear"] .u-experience{--display:"Public Sans";--body:"Public Sans";}

[data-gp-theme="crm-recruitment-clear"] .u-role-comparison>svg{max-height:170px;margin:20px 0}[data-gp-theme="crm-recruitment-clear"] .u-role-list{border-top:3px solid var(--accent)}[data-gp-theme="crm-recruitment-clear"] .u-role{display:grid;grid-template-columns:1.5fr 1fr;gap:40px;padding:28px 0;border-bottom:1px solid var(--line)}[data-gp-theme="crm-recruitment-clear"] .u-role h3{font-size:27px;margin:8px 0 14px}[data-gp-theme="crm-recruitment-clear"] .u-role p{font-size:17px}[data-gp-theme="crm-recruitment-clear"] .u-role-actions{display:flex;flex-direction:column;align-items:start;justify-content:center;gap:16px}[data-gp-theme="crm-recruitment-clear"] .u-role-actions a{font-size:16px}[data-gp-theme="crm-recruitment-clear"] .u-role-comparison output{display:block;font-size:15px;padding-top:18px}[data-gp-theme="crm-recruitment-clear"] .u-comparison{margin-top:45px}[data-gp-theme="crm-recruitment-clear"] .u-comparison>h3{font-size:32px;margin-bottom:14px}[data-gp-theme="crm-recruitment-clear"] .u-comparison-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:25px 0;border:1px solid var(--line);min-height:760px}[data-gp-theme="crm-recruitment-clear"] .u-compare-column{min-width:0;background:var(--wash);padding:25px;display:grid;grid-template-rows:subgrid;grid-row:span 7}[data-gp-theme="crm-recruitment-clear"] .u-compare-column+.u-compare-column{border-left:1px solid var(--line)}[data-gp-theme="crm-recruitment-clear"] .u-compare-column h4{font:600 24px/1.2 var(--display);min-height:60px;margin:0 0 14px}[data-gp-theme="crm-recruitment-clear"] .u-compare-column>:is(button,[role="button"]){font-size:14px;min-height:44px;margin-bottom:22px}[data-gp-theme="crm-recruitment-clear"] .u-compare-cell{padding:18px 0;border-top:1px solid var(--line);min-height:155px}[data-gp-theme="crm-recruitment-clear"] .u-compare-cell:nth-last-child(-n+3){min-height:190px}[data-gp-theme="crm-recruitment-clear"] .u-compare-cell p{font-size:16px;line-height:1.55;margin-top:10px}[data-gp-theme="crm-recruitment-clear"] .u-compare-cell strong{font-size:15px}[data-gp-theme="crm-recruitment-clear"] .u-role-read{margin:40px 0}[data-gp-theme="crm-recruitment-clear"] .u-role-read h3{font-size:32px}[data-gp-theme="crm-recruitment-clear"] .u-role-read dl>div{display:grid;grid-template-columns:180px 1fr;gap:25px;padding:20px 0;border-bottom:1px solid var(--line)}[data-gp-theme="crm-recruitment-clear"] .u-role-read dt{font-weight:700}[data-gp-theme="crm-recruitment-clear"] .u-role-read dd{margin:0}[data-gp-theme="crm-recruitment-clear"] .u-comparison>p:last-child{min-height:50px;font-size:16px}
@media(max-width:700px){[data-gp-theme="crm-recruitment-clear"] .u-role{grid-template-columns:1fr;gap:20px}[data-gp-theme="crm-recruitment-clear"] .u-comparison-grid{grid-template-columns:1fr;min-height:0}[data-gp-theme="crm-recruitment-clear"] .u-compare-column+.u-compare-column{border-left:0;border-top:3px solid var(--accent)}[data-gp-theme="crm-recruitment-clear"] .u-compare-column h4,[data-gp-theme="crm-recruitment-clear"] .u-compare-cell,[data-gp-theme="crm-recruitment-clear"] .u-compare-cell:nth-last-child(-n+3){min-height:0}[data-gp-theme="crm-recruitment-clear"] .u-role-read dl>div{grid-template-columns:1fr;gap:10px}[data-gp-theme="crm-recruitment-clear"] .u-compare-column{padding:22px;display:block;grid-row:auto}}
@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="crm-recruitment-clear"] .u-role{grid-template-columns:1fr;gap:20px}[data-gp-theme="crm-recruitment-clear"] .u-comparison-grid{grid-template-columns:1fr;min-height:0}[data-gp-theme="crm-recruitment-clear"] .u-compare-column+.u-compare-column{border-left:0;border-top:3px solid var(--accent)}[data-gp-theme="crm-recruitment-clear"] .u-compare-column h4,[data-gp-theme="crm-recruitment-clear"] .u-compare-cell,[data-gp-theme="crm-recruitment-clear"] .u-compare-cell:nth-last-child(-n+3){min-height:0}[data-gp-theme="crm-recruitment-clear"] .u-role-read dl>div{grid-template-columns:1fr;gap:10px}[data-gp-theme="crm-recruitment-clear"] .u-compare-column{padding:22px;display:block;grid-row:auto}}

/* Approved readability refinements, 18 October 2026.
   Only meaningful helpers, local groups and selected reading paragraphs.
   Owner-selected type families, display sizes and frozen comparisons stay authoritative. */

/* Kiln House: the brief promise and sample guidance are part of the task. */
[data-gp-theme="crm-recruitment-clear"][data-site="kiln-house"] :is(.field-note,.form-note,.pairing-hint,.material-note,.light-note,.letter-note,.combination-copy small,.material-row small){font-size:14px;line-height:1.5}
[data-gp-theme="crm-recruitment-clear"][data-site="kiln-house"] .form-note{margin-top:16px}
[data-gp-theme="crm-recruitment-clear"][data-site="kiln-house"] :is(.quiet-button,.combination-action){font-size:15px;line-height:1.5}
[data-gp-theme="crm-recruitment-clear"][data-site="kiln-house"] .quiet-button{min-height:44px}
[data-gp-theme="crm-recruitment-clear"][data-site="kiln-house"] .directory-links a small{font-size:14px;line-height:1.5}

/* Small study labels explain a choice, rather than acting as an imprint. */
[data-gp-theme="crm-recruitment-clear"][data-site="true-joint"] .ux-stage-bar :is(button,[role="button"]) small{font-size:14px;line-height:1.5}
[data-gp-theme="crm-recruitment-clear"][data-site="neighbourhood-edit"] .ux-plan-header{font-size:14px;line-height:1.5;gap:12px;flex-wrap:wrap}
[data-gp-theme="crm-recruitment-clear"][data-site="neighbourhood-edit"] .ux-room-title{margin-bottom:16px}
[data-gp-theme="crm-recruitment-clear"][data-site="neighbourhood-edit"] .ux-room-title h3{margin-bottom:0}
[data-gp-theme="crm-recruitment-clear"][data-site="neighbourhood-edit"] :is(.home-finder label,.home-finder output,.area-index small){font-size:14px;line-height:1.5}
[data-gp-theme="crm-recruitment-clear"][data-site="neighbourhood-edit"] .home-finder select{font-size:16px;min-height:44px}
[data-gp-theme="crm-recruitment-clear"][data-site="harbour"] .ux-folio .ux-document-row label{font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="crm-recruitment-clear"][data-site="daymark-window-care"] .dm-sheet-head{font-size:14px;line-height:1.5;flex-wrap:wrap}
[data-gp-theme="crm-recruitment-clear"][data-site="velum-window-care"] .ux-v-nav :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}

/* Existing small controls retain or gain the comfortable target height. */
[data-gp-theme="crm-recruitment-clear"][data-site="stem-and-still"] .stem-slip :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:48px;gap:8px}
[data-gp-theme="crm-recruitment-clear"][data-site="cake-box"] .flavour-pick :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="crm-recruitment-clear"][data-site="cake-box"] .message-label small{font-size:14px;line-height:1.5}
[data-gp-theme="crm-recruitment-clear"][data-site="crm-recruitment-people"] .question-buttons{gap:10px}
[data-gp-theme="crm-recruitment-clear"][data-site="crm-recruitment-people"] .question-buttons :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:10px 12px}
[data-gp-theme="crm-recruitment-clear"][data-site="the-second-set-programme"] .pr-order-actions :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:8px 10px}

/* The format facts belong with the large ensemble names. */
[data-gp-theme="crm-recruitment-clear"][data-site="the-second-set-afterglow"] .ag-format-ribbon span:not(.fs-richtext){font-size:14px;line-height:1.5;margin-top:8px}
[data-gp-theme="crm-recruitment-clear"][data-site="the-second-set-programme"] .opening-note{font-size:14px;line-height:1.5}
[data-gp-theme="crm-recruitment-clear"][data-site="the-second-set-signal"] .form-note{font-size:14px;line-height:1.5}

/* Slipstream: useful record, filter and brief text; preserve the scrollable comparison. */
[data-gp-theme="crm-recruitment-clear"][data-site="slipstream"] :is(.featured-price small,.rail-note,.stock-finder label,.stock-caption,.inspection-note,.inspection-instruction,.form-note,[data-gp-id="stock-count"],[data-gp-id="form-question-count"]){font-size:14px;line-height:1.5}
[data-gp-theme="crm-recruitment-clear"][data-site="slipstream"] :is(.visit-form label,.form-pair label){font-size:15px;line-height:1.5}
[data-gp-theme="crm-recruitment-clear"][data-site="slipstream"] :is(.car-record summary,[data-gp-id="reset-stock"],[data-gp-id="clear-compare"],.quick-compare button){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="crm-recruitment-clear"][data-site="slipstream"] .stock-finder select{min-height:44px}

/* Narrow only sustained paragraphs, preserving plans, records, lists and tables. */
[data-gp-theme="crm-recruitment-clear"]:is([data-site="stem-and-still"],[data-site="kiln-house"],[data-site="true-joint"])[data-inside] .ip-reading>p{max-width:64ch}

@media(max-width:700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="crm-recruitment-clear"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="crm-recruitment-clear"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="crm-recruitment-clear"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="crm-recruitment-clear"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="crm-recruitment-clear"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="crm-recruitment-clear"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="crm-recruitment-clear"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="crm-recruitment-clear"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="crm-recruitment-clear"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

@containerfs-editor-canvas (max-width: 700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="crm-recruitment-clear"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="crm-recruitment-clear"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="crm-recruitment-clear"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="crm-recruitment-clear"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="crm-recruitment-clear"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="crm-recruitment-clear"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="crm-recruitment-clear"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="crm-recruitment-clear"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="crm-recruitment-clear"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

/* No generic heading, body, section-spacing or panel-height reset.
   Goodpane's unused calendar CSS, Expedition's real stage envelope,
   Starlight's passage leading and Velum's display introduction need no blanket fix. */

/* Authored header/menu/footer only. Approved body, fonts and palette files stay intact. */
[data-gp-theme="crm-recruitment-clear"] .ca-chrome,[data-gp-theme="crm-recruitment-clear"] .ca-chrome *{box-sizing:border-box;min-width:0}
[data-gp-theme="crm-recruitment-clear"] header.site-header.ca-header{width:min(1340px,calc(100% - 96px));max-width:none;margin-inline:auto;padding:26px 0;gap:22px;border:0;color:var(--ink);background:var(--paper)}
[data-gp-theme="crm-recruitment-clear"] .ca-header .brand{max-width:100%;text-decoration:none;flex-shrink:1}
[data-gp-theme="crm-recruitment-clear"] .ca-header .brand>span:not(.fs-richtext){min-width:0;overflow-wrap:anywhere}
[data-gp-theme="crm-recruitment-clear"] .ca-header .brand small{line-height:1.45;font-size:13px}
[data-gp-theme="crm-recruitment-clear"] .ca-header .brand svg{flex-shrink:0;width:38px;height:38px}
[data-gp-theme="crm-recruitment-clear"] .ca-header a,[data-gp-theme="crm-recruitment-clear"] .ca-header :is(button,[role="button"]){min-height:44px}
[data-gp-theme="crm-recruitment-clear"] .ca-header nav{display:flex;align-items:center;gap:22px}
[data-gp-theme="crm-recruitment-clear"] .ca-header nav a{display:flex;align-items:center;text-decoration:none;font:500 16px/1.35 var(--body);padding:9px 0}
[data-gp-theme="crm-recruitment-clear"] .ca-trigger,[data-gp-theme="crm-recruitment-clear"] .ca-menu [data-menu-close]{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:46px;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:11px 17px;font:500 15px/1.35 var(--body);cursor:pointer;white-space:normal;text-align:left}
[data-gp-theme="crm-recruitment-clear"] .ca-trigger span:not(.fs-richtext){font-size:22px;line-height:1;flex:none}
[data-gp-theme="crm-recruitment-clear"] .ca-label{display:block;font:500 13px/1.5 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
[data-gp-theme="crm-recruitment-clear"] .ca-menu.mega-menu{width:min(1160px,calc(100% - 64px));max-height:90vh;overflow:auto;margin:auto;padding:0;background:var(--paper);color:var(--ink);border:1px solid var(--line)}
[data-gp-theme="crm-recruitment-clear"] .ca-menu .menu-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 32px;border-bottom:1px solid var(--line);background:var(--paper);color:var(--ink)}
[data-gp-theme="crm-recruitment-clear"] .ca-menu .menu-top>span:not(.fs-richtext){font:500 16px/1.4 var(--body)}
[data-gp-theme="crm-recruitment-clear"] .ca-menu .menu-top :is(button,[role="button"]){color:var(--ink);border-color:var(--line)}
[data-gp-theme="crm-recruitment-clear"] .ca-menu-body{padding:34px}
[data-gp-theme="crm-recruitment-clear"] .ca-chrome h2,[data-gp-theme="crm-recruitment-clear"] .ca-chrome h3,[data-gp-theme="crm-recruitment-clear"] .ca-chrome p{margin:0}
[data-gp-theme="crm-recruitment-clear"] .ca-chrome h2,[data-gp-theme="crm-recruitment-clear"] .ca-chrome h3{font-family:var(--chrome-face,var(--display));font-weight:550;letter-spacing:-.015em;line-height:1.15;overflow-wrap:anywhere}
[data-gp-theme="crm-recruitment-clear"] .ca-chrome h2{font-size:clamp(32px,4vw,52px)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="crm-recruitment-clear"] .ca-chrome h2{font-size:clamp(32px,4cqw,52px)}}
[data-gp-theme="crm-recruitment-clear"] .ca-chrome h3{font-size:clamp(24px,2.5vw,34px)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="crm-recruitment-clear"] .ca-chrome h3{font-size:clamp(24px,2.5cqw,34px)}}
[data-gp-theme="crm-recruitment-clear"] .ca-menu-title{margin:0 0 30px!important;max-width:24ch}
[data-gp-theme="crm-recruitment-clear"] .ca-links{display:flex;flex-direction:column;gap:0}
[data-gp-theme="crm-recruitment-clear"] .ca-links a{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:46px;padding:11px 0;text-decoration:none;font:400 17px/1.45 var(--body);border-bottom:1px solid var(--line);overflow-wrap:anywhere}
[data-gp-theme="crm-recruitment-clear"] .ca-links a::after{content:'↗';flex:none;font-size:18px}
[data-gp-theme="crm-recruitment-clear"] .ca-links a:last-child{border-bottom:0}
[data-gp-theme="crm-recruitment-clear"] .ca-links a[aria-current=page]{font-weight:650;text-decoration:underline;text-underline-offset:5px}
[data-gp-theme="crm-recruitment-clear"] .ca-chrome .site-plan-label{font:400 12px/1.35 var(--body);letter-spacing:0;text-transform:none;color:inherit;flex-basis:100%}
[data-gp-theme="crm-recruitment-clear"] .ca-chrome a[data-preview-plan]{flex-wrap:wrap}
[data-gp-theme="crm-recruitment-clear"] .ca-menu-utility{display:flex;flex-wrap:wrap;gap:8px 25px;padding:22px 34px;border-top:1px solid var(--line);background:var(--wash)}
[data-gp-theme="crm-recruitment-clear"] .ca-menu-utility a{display:flex;align-items:center;min-height:44px;padding:5px 0;font:400 15px/1.4 var(--body);text-decoration:none}
[data-gp-theme="crm-recruitment-clear"] .ca-menu-note{padding:0 34px 25px;font:400 14px/1.5 var(--body);color:var(--muted)}
[data-gp-theme="crm-recruitment-clear"] footer.site-footer.ca-footer{padding:58px max(24px,calc((100vw - 1340px)/2)) 22px;background:var(--wash);color:var(--ink);border-top:1px solid var(--line)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="crm-recruitment-clear"] footer.site-footer.ca-footer{padding:58px max(24px,calc((100cqw - 1340px)/2)) 22px}}
[data-gp-theme="crm-recruitment-clear"] .ca-footer-inner{width:100%;max-width:1340px;margin:auto}
[data-gp-theme="crm-recruitment-clear"] .ca-footer a{color:inherit}
[data-gp-theme="crm-recruitment-clear"] .ca-footer-action{display:inline-flex;align-items:center;gap:20px;min-height:48px;padding:12px 0;font:500 20px/1.35 var(--body);text-decoration:none;border-bottom:1px solid currentColor}
[data-gp-theme="crm-recruitment-clear"] .ca-footer-action::after{content:'↗';margin-left:auto}
[data-gp-theme="crm-recruitment-clear"] .ca-footnote{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 28px;padding-top:22px;margin-top:35px;border-top:1px solid var(--line);font:400 13px/1.55 var(--body);color:var(--muted)}
[data-gp-theme="crm-recruitment-clear"] .ca-footnote p{max-width:70ch}
[data-gp-theme="crm-recruitment-clear"] .ca-footnote a{display:inline-flex;align-items:center;min-height:44px;white-space:normal}
[data-gp-theme="crm-recruitment-clear"] .ca-footer-nav{display:flex;flex-wrap:wrap;gap:8px 25px}
[data-gp-theme="crm-recruitment-clear"] .ca-footer-nav a{display:inline-flex;align-items:center;min-height:44px;padding:7px 0;font:400 16px/1.4 var(--body);text-decoration:none}
[data-gp-theme="crm-recruitment-clear"] .ca-chrome :is(a,button):focus-visible{outline:3px solid var(--ink);outline-offset:5px}
@media(hover:hover) and (pointer:fine){[data-gp-theme="crm-recruitment-clear"] .ca-chrome a:hover{text-decoration:underline;text-underline-offset:5px}[data-gp-theme="crm-recruitment-clear"] .ca-trigger:hover{background:var(--wash)}}
@media(max-width:900px){[data-gp-theme="crm-recruitment-clear"] header.site-header.ca-header{width:calc(100% - 40px);padding:20px 0;gap:16px}[data-gp-theme="crm-recruitment-clear"] .ca-header .ca-primary{display:none}[data-gp-theme="crm-recruitment-clear"] .ca-header .brand{font-size:24px}[data-gp-theme="crm-recruitment-clear"] .ca-menu-body{padding:26px 22px}[data-gp-theme="crm-recruitment-clear"] .ca-menu .menu-top{padding:16px 22px}[data-gp-theme="crm-recruitment-clear"] .ca-menu-utility{padding:18px 22px;gap:6px 20px}[data-gp-theme="crm-recruitment-clear"] .ca-menu-note{padding:0 22px 22px}[data-gp-theme="crm-recruitment-clear"] .ca-chrome h2{font-size:clamp(30px,7vw,46px)}[data-gp-theme="crm-recruitment-clear"] .ca-chrome h3{font-size:26px}[data-gp-theme="crm-recruitment-clear"] .ca-menu-title{margin-bottom:24px!important}[data-gp-theme="crm-recruitment-clear"] .ca-links a{font-size:17px;min-height:48px}[data-gp-theme="crm-recruitment-clear"] .ca-footer-action{font-size:19px}[data-gp-theme="crm-recruitment-clear"] .ca-footer-nav{gap:4px 22px}[data-gp-theme="crm-recruitment-clear"] footer.site-footer.ca-footer{padding:40px 22px 20px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="crm-recruitment-clear"] header.site-header.ca-header{width:calc(100% - 40px);padding:20px 0;gap:16px}[data-gp-theme="crm-recruitment-clear"] .ca-header .ca-primary{display:none}[data-gp-theme="crm-recruitment-clear"] .ca-header .brand{font-size:24px}[data-gp-theme="crm-recruitment-clear"] .ca-menu-body{padding:26px 22px}[data-gp-theme="crm-recruitment-clear"] .ca-menu .menu-top{padding:16px 22px}[data-gp-theme="crm-recruitment-clear"] .ca-menu-utility{padding:18px 22px;gap:6px 20px}[data-gp-theme="crm-recruitment-clear"] .ca-menu-note{padding:0 22px 22px}[data-gp-theme="crm-recruitment-clear"] .ca-chrome h2{font-size:clamp(30px,7cqw,46px)}[data-gp-theme="crm-recruitment-clear"] .ca-chrome h3{font-size:26px}[data-gp-theme="crm-recruitment-clear"] .ca-menu-title{margin-bottom:24px!important}[data-gp-theme="crm-recruitment-clear"] .ca-links a{font-size:17px;min-height:48px}[data-gp-theme="crm-recruitment-clear"] .ca-footer-action{font-size:19px}[data-gp-theme="crm-recruitment-clear"] .ca-footer-nav{gap:4px 22px}[data-gp-theme="crm-recruitment-clear"] footer.site-footer.ca-footer{padding:40px 22px 20px}}
@media(max-width:480px){[data-gp-theme="crm-recruitment-clear"] .ca-header .brand{font-size:22px}[data-gp-theme="crm-recruitment-clear"] .ca-header .brand small{font-size:12px}[data-gp-theme="crm-recruitment-clear"] .ca-header .brand svg{width:29px;height:29px}[data-gp-theme="crm-recruitment-clear"] .ca-trigger{font-size:14px;padding:10px 12px;gap:10px}[data-gp-theme="crm-recruitment-clear"] .ca-footnote{display:block}[data-gp-theme="crm-recruitment-clear"] .ca-footnote a{margin-top:8px}}
@containerfs-editor-canvas (max-width: 480px){[data-gp-theme="crm-recruitment-clear"] .ca-header .brand{font-size:22px}[data-gp-theme="crm-recruitment-clear"] .ca-header .brand small{font-size:12px}[data-gp-theme="crm-recruitment-clear"] .ca-header .brand svg{width:29px;height:29px}[data-gp-theme="crm-recruitment-clear"] .ca-trigger{font-size:14px;padding:10px 12px;gap:10px}[data-gp-theme="crm-recruitment-clear"] .ca-footnote{display:block}[data-gp-theme="crm-recruitment-clear"] .ca-footnote a{margin-top:8px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="crm-recruitment-clear"] .ca-chrome a,[data-gp-theme="crm-recruitment-clear"] .ca-chrome :is(button,[role="button"]){transition:none!important;transform:none!important;animation:none!important}}

[data-gp-theme="crm-recruitment-clear"] .ca-clear{--chrome-face:"Public Sans",sans-serif}
[data-gp-theme="crm-recruitment-clear"] header.ca-clear.ca-header{display:grid;grid-template-columns:1fr auto}
[data-gp-theme="crm-recruitment-clear"] .ca-clear .ca-header-tools{display:flex;align-items:center;gap:24px}
[data-gp-theme="crm-recruitment-clear"] .ca-clear .ca-route-tabs{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line)}
[data-gp-theme="crm-recruitment-clear"] .ca-clear .ca-route-tabs a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 22px;font-size:21px}
[data-gp-theme="crm-recruitment-clear"] .ca-clear .ca-route-tabs a+a{border-left:1px solid var(--line)}
[data-gp-theme="crm-recruitment-clear"] .ca-clear .ca-route-tabs a:first-child{background:var(--wash)}
[data-gp-theme="crm-recruitment-clear"] .ca-clear .ca-route-tabs small{font:400 13px/1.4 var(--body);text-transform:uppercase;letter-spacing:.07em}
[data-gp-theme="crm-recruitment-clear"] .ca-clear .ca-desk-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}
[data-gp-theme="crm-recruitment-clear"] .ca-clear .ca-desk-grid section{padding:28px}
[data-gp-theme="crm-recruitment-clear"] .ca-clear .ca-desk-grid section+section{border-left:1px solid var(--line);background:var(--wash)}
[data-gp-theme="crm-recruitment-clear"] .ca-clear .ca-desk-grid h3{margin:8px 0 20px}
[data-gp-theme="crm-recruitment-clear"] .ca-clear .ca-footer-desk{display:grid;grid-template-columns:1fr 1fr;border-top:2px solid var(--ink);border-bottom:1px solid var(--line)}
[data-gp-theme="crm-recruitment-clear"] .ca-clear .ca-footer-desk>div{padding:28px 32px 30px 0}
[data-gp-theme="crm-recruitment-clear"] .ca-clear .ca-footer-desk>div+div{border-left:1px solid var(--line);padding-left:32px}
[data-gp-theme="crm-recruitment-clear"] .ca-clear .ca-footer-desk h2{font-size:clamp(30px,3.3vw,46px);max-width:17ch;margin:10px 0 20px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="crm-recruitment-clear"] .ca-clear .ca-footer-desk h2{font-size:clamp(30px,3.3cqw,46px)}}
[data-gp-theme="crm-recruitment-clear"] .ca-clear .ca-agency-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:25px}
@media(max-width:900px){[data-gp-theme="crm-recruitment-clear"] .ca-clear .ca-header-tools>nav{display:none}[data-gp-theme="crm-recruitment-clear"] .ca-clear .ca-route-tabs.ca-primary{display:none}[data-gp-theme="crm-recruitment-clear"] .ca-clear .ca-desk-grid{grid-template-columns:1fr}[data-gp-theme="crm-recruitment-clear"] .ca-clear .ca-desk-grid section{padding:24px}[data-gp-theme="crm-recruitment-clear"] .ca-clear .ca-desk-grid section+section{border-left:0;border-top:1px solid var(--line)}[data-gp-theme="crm-recruitment-clear"] .ca-clear .ca-footer-desk{grid-template-columns:1fr}[data-gp-theme="crm-recruitment-clear"] .ca-clear .ca-footer-desk>div{padding:25px 0}[data-gp-theme="crm-recruitment-clear"] .ca-clear .ca-footer-desk>div+div{border-left:0;border-top:1px solid var(--line);padding-left:0}[data-gp-theme="crm-recruitment-clear"] .ca-clear .ca-agency-strip{display:block}[data-gp-theme="crm-recruitment-clear"] .ca-clear .ca-agency-strip .ca-label{margin-bottom:10px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="crm-recruitment-clear"] .ca-clear .ca-header-tools>nav{display:none}[data-gp-theme="crm-recruitment-clear"] .ca-clear .ca-route-tabs.ca-primary{display:none}[data-gp-theme="crm-recruitment-clear"] .ca-clear .ca-desk-grid{grid-template-columns:1fr}[data-gp-theme="crm-recruitment-clear"] .ca-clear .ca-desk-grid section{padding:24px}[data-gp-theme="crm-recruitment-clear"] .ca-clear .ca-desk-grid section+section{border-left:0;border-top:1px solid var(--line)}[data-gp-theme="crm-recruitment-clear"] .ca-clear .ca-footer-desk{grid-template-columns:1fr}[data-gp-theme="crm-recruitment-clear"] .ca-clear .ca-footer-desk>div{padding:25px 0}[data-gp-theme="crm-recruitment-clear"] .ca-clear .ca-footer-desk>div+div{border-left:0;border-top:1px solid var(--line);padding-left:0}[data-gp-theme="crm-recruitment-clear"] .ca-clear .ca-agency-strip{display:block}[data-gp-theme="crm-recruitment-clear"] .ca-clear .ca-agency-strip .ca-label{margin-bottom:10px}}
@media(max-width:480px){[data-gp-theme="crm-recruitment-clear"] header.ca-clear.ca-header{grid-template-columns:1fr;gap:12px}[data-gp-theme="crm-recruitment-clear"] .ca-clear .ca-header-tools{justify-self:end}[data-gp-theme="crm-recruitment-clear"] .ca-clear .brand>span:not(.fs-richtext){overflow-wrap:normal}}
@containerfs-editor-canvas (max-width: 480px){[data-gp-theme="crm-recruitment-clear"] header.ca-clear.ca-header{grid-template-columns:1fr;gap:12px}[data-gp-theme="crm-recruitment-clear"] .ca-clear .ca-header-tools{justify-self:end}[data-gp-theme="crm-recruitment-clear"] .ca-clear .brand>span:not(.fs-richtext){overflow-wrap:normal}}

/* Menu only: approved fonts, colour tokens and all non-menu markup are preserved. */
[data-gp-theme="crm-recruitment-clear"] dialog[data-gp-id="mega-menu"].mega-menu{box-sizing:border-box;position:fixed;inset:0;min-width:0;min-height:0;height:fit-content;max-height:calc(100dvh - 48px);margin:auto;padding:0!important;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:var(--mi-paper,var(--paper));color:var(--mi-ink,var(--ink));border:0!important;border-radius:0;box-shadow:0 30px 100px #0005;--mi-paper:var(--paper);--mi-ink:var(--ink);--mi-wash:var(--wash);--mi-line:var(--line);--mi-accent:var(--accent);--mi-on:var(--on-accent)}
[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"] *,[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"] *:before,[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"] *:after{box-sizing:border-box;min-width:0}
[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"] .menu-top{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0;padding:20px 28px;border:0;background:transparent;color:inherit}
[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"] .menu-top h2,[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"] .menu-top p{margin:0;font:500 18px/1.35 var(--body);letter-spacing:0;max-width:none}
[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"] [data-menu-close]{display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:none;min-height:44px;min-width:70px;padding:9px 14px;border:1px solid currentColor;border-radius:0;background:transparent;color:inherit;font:500 14px/1.3 var(--body);cursor:pointer}
[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"] a{color:inherit;text-decoration:none;line-height:1.35;min-height:44px;overflow-wrap:anywhere}
[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"] nav a:before{content:none}
[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"] a:focus-visible,[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"] :is(button,[role="button"]):focus-visible{outline:3px solid currentColor;outline-offset:4px}
[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"] h3{font-family:var(--display);font-weight:500;line-height:1.15;letter-spacing:-.025em;margin:0}
[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"] p{max-width:60ch;margin:0;font:400 15px/1.5 var(--body)}
[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"] nav{min-width:0}
[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"] .mi-small{font:400 13px/1.5 var(--body)}
[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"] a{transition:background-color 150ms ease,color 150ms ease,text-decoration-color 150ms ease}
/* Reveal every authored surface on the first frame. Only text fades; never a
   pane, note, speech ribbon, worksheet or record sleeve. Also covers Signal,
   which does not load premium.css and otherwise inherits menu-arrive. */
[data-gp-theme="crm-recruitment-clear"] dialog[data-gp-id="mega-menu"].mega-menu[open]:not([data-closing]){animation:none!important;opacity:1;transform:none}
[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"][open]:not([data-closing])>*{animation:none!important}
[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"][open]:not([data-closing]):not([data-keyboard]) :is(h3,p,figcaption,.command-task>span:not(.fs-richtext),.command-task>small,.crate-sleeve>strong,.crate-sleeve>small),[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"][open]:not([data-closing]):not([data-keyboard]) a:not(.crate-sleeve):not(.command-task):not(.route-brief):not(.worksheet-action){animation:gp-crmclear-mi-menu-text 160ms ease-out both}
@keyframes gp-crmclear-mi-menu-text{from{opacity:.25}to{opacity:1}}
@media(hover:hover){[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"] a:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}}
@media(max-width:900px){[data-gp-theme="crm-recruitment-clear"] dialog[data-gp-id="mega-menu"].mega-menu{width:100%;height:100dvh;max-height:none;margin:0;inset:0;border-radius:0;transform:none}[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"] .menu-top{padding:16px 20px}[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"] .menu-top h2{font-size:16px}[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"] a{min-height:48px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="crm-recruitment-clear"] dialog[data-gp-id="mega-menu"].mega-menu{width:100%;height:100dvh;max-height:none;margin:0;inset:0;border-radius:0;transform:none}[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"] .menu-top{padding:16px 20px}[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"] .menu-top h2{font-size:16px}[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"] a{min-height:48px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"] *,[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"] *:before,[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"] *:after{animation:none!important;transition:none!important}}

[data-gp-theme="crm-recruitment-clear"] dialog[data-gp-id="mega-menu"].mega-menu{width:min(720px,calc(100% - 48px));border-radius:12px;border-top:6px solid var(--accent)!important}
[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"] .menu-top{padding:24px 26px 18px}[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"] .menu-top h2{font:600 25px/1.2 var(--display);letter-spacing:-.025em}
[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"] .command-tasks{padding:0 12px 12px;display:grid;gap:3px}
[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"] .command-task{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:15px 16px;border-radius:5px;font:500 19px/1.35 var(--body)}
[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"] .command-task:nth-child(5){border-top:1px solid var(--line);border-radius:0;margin-top:8px;padding-top:21px}
[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"] .command-task small{font:400 13px/1.4 var(--body);padding:4px 9px;border:1px solid var(--line);border-radius:30px;flex:none}
[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"] .command-task:hover,[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"] .command-task:focus-visible{background:var(--wash);text-decoration:none}
[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"] .command-task:last-child{background:var(--accent);color:var(--on-accent)}
[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"] .command-references{display:flex;flex-wrap:wrap;gap:4px 24px;padding:12px 28px;background:var(--wash);border-top:1px solid var(--line)}[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"] .command-references a{display:flex;align-items:center;font-size:14px}
@media(max-width:900px){[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"] .command-task{font-size:18px;padding:16px 12px;gap:12px}[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"] .command-task small{font-size:12px}[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"] .command-references{display:grid;gap:0}[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"] .menu-top h2{font-size:21px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"] .command-task{font-size:18px;padding:16px 12px;gap:12px}[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"] .command-task small{font-size:12px}[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"] .command-references{display:grid;gap:0}[data-gp-theme="crm-recruitment-clear"] [data-gp-id="mega-menu"] .menu-top h2{font-size:21px}}

[data-gp-theme="crm-recruitment-clear"]{--paper:rgb(var(--c-paper));--ink:rgb(var(--c-ink-950));--accent:rgb(var(--c-brand-600));--wash:rgb(var(--c-paper-soft));--line:rgb(var(--c-line));--muted:rgb(var(--c-ink-400));--on-accent:var(--fs-on-brand);--focus:rgb(var(--c-accent));--work:var(--fs-surface-inverted,var(--wash));--work-ink:var(--fs-on-surface-inverted,var(--paper));--body:var(--font-sans);}
[data-gp-theme="crm-recruitment-people"]{--ease-out:cubic-bezier(.23,1,.32,1);--ease-drawer:cubic-bezier(.32,.72,0,1)}
[data-gp-theme="crm-recruitment-people"] *{box-sizing:border-box}[data-gp-theme="crm-recruitment-people"]{scroll-behavior:smooth;scroll-padding-top:100px}[data-gp-theme="crm-recruitment-people"]{margin:0}[data-gp-theme="crm-recruitment-people"] img{max-width:100%;display:block}[data-gp-theme="crm-recruitment-people"] :is(button,[role="button"]),[data-gp-theme="crm-recruitment-people"] input,[data-gp-theme="crm-recruitment-people"] select,[data-gp-theme="crm-recruitment-people"] textarea{font:inherit}[data-gp-theme="crm-recruitment-people"] :is(button,[role="button"]),[data-gp-theme="crm-recruitment-people"] a,[data-gp-theme="crm-recruitment-people"] input,[data-gp-theme="crm-recruitment-people"] select,[data-gp-theme="crm-recruitment-people"] textarea{touch-action:manipulation}[data-gp-theme="crm-recruitment-people"] :is(button,[role="button"]),[data-gp-theme="crm-recruitment-people"] a{ -webkit-tap-highlight-color:transparent}[data-gp-theme="crm-recruitment-people"] :is(button,[role="button"]){cursor:pointer}[data-gp-theme="crm-recruitment-people"] :is(button,[role="button"]):active{transform:translateY(1px)}[data-gp-theme="crm-recruitment-people"] a{color:inherit;text-underline-offset:.22em}[data-gp-theme="crm-recruitment-people"] :is(button,[role="button"]):focus-visible,[data-gp-theme="crm-recruitment-people"] a:focus-visible,[data-gp-theme="crm-recruitment-people"] summary:focus-visible,[data-gp-theme="crm-recruitment-people"] input:focus-visible,[data-gp-theme="crm-recruitment-people"] select:focus-visible,[data-gp-theme="crm-recruitment-people"] textarea:focus-visible{outline:3px solid var(--focus,#346ddb);outline-offset:5px}[data-gp-theme="crm-recruitment-people"] textarea{resize:vertical}[data-gp-theme="crm-recruitment-people"] input,[data-gp-theme="crm-recruitment-people"] textarea{caret-color:var(--focus,currentColor)}[data-gp-theme="crm-recruitment-people"] :is(button,[role="button"]),[data-gp-theme="crm-recruitment-people"] select,[data-gp-theme="crm-recruitment-people"] input{min-height:44px}[data-gp-theme="crm-recruitment-people"] summary{cursor:pointer}[data-gp-theme="crm-recruitment-people"] section[id],[data-gp-theme="crm-recruitment-people"] footer[id]{scroll-margin-top:110px}[data-gp-theme="crm-recruitment-people"] [hidden]{display:none!important}[data-gp-theme="crm-recruitment-people"] .skip-link{position:fixed;z-index:200;top:8px;left:8px;background:#fff;color:#111;padding:12px 18px;transform:translateY(-150%)}[data-gp-theme="crm-recruitment-people"] .skip-link:focus{transform:none}
[data-gp-theme="crm-recruitment-people"] .preview-bar{min-height:42px;background:#f6f6f2;color:#252a2a;border-bottom:1px solid #d5d8d4;font:13px/1.3 "Figtree",sans-serif;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 3vw;position:relative;z-index:30}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="crm-recruitment-people"] .preview-bar{padding:5px 3cqw}}[data-gp-theme="crm-recruitment-people"] .preview-bar a{white-space:nowrap}[data-gp-theme="crm-recruitment-people"] .preview-bar [role=group]{display:flex;gap:2px;align-items:center}[data-gp-theme="crm-recruitment-people"] .preview-bar :is(button,[role="button"]){min-height:32px;background:transparent;color:inherit;border:0;padding:6px 10px;border-radius:3px;font-size:13px;transition:background-color 150ms var(--ease-out)}[data-gp-theme="crm-recruitment-people"] .preview-bar [aria-pressed=true]{background:#252a2a;color:#fff}[data-gp-theme="crm-recruitment-people"] .preview-bar :is(button,[role="button"])[data-replay-intro]{border:1px solid #b6beb8}[data-gp-theme="crm-recruitment-people"] .preview-label{color:#515953}[data-gp-theme="crm-recruitment-people"] .preview-bar::selection{background:#252a2a;color:#fff}
[data-gp-theme="crm-recruitment-people"] dialog.mega-menu{max-width:none;max-height:calc(100dvh - 32px);overflow:auto;border:0;padding:0;color:inherit;overscroll-behavior:contain}[data-gp-theme="crm-recruitment-people"] dialog.mega-menu::backdrop{background:rgb(8 16 18 / .52)}[data-gp-theme="crm-recruitment-people"] .mega-menu[open]{animation:gp-crmpeople-menu-arrive 220ms var(--ease-drawer)}[data-gp-theme="crm-recruitment-people"] .mega-menu[data-closing]{animation:gp-crmpeople-menu-leave 160ms var(--ease-out) forwards}[data-gp-theme="crm-recruitment-people"] .mega-menu[data-keyboard]{animation:none}[data-gp-theme="crm-recruitment-people"] .menu-lock{overflow:hidden}@keyframes gp-crmpeople-menu-arrive{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}@keyframes gp-crmpeople-menu-leave{to{opacity:0;transform:translateY(-10px)}}
[data-gp-theme="crm-recruitment-people"] .preloader{display:none;position:fixed;inset:0;z-index:190;place-content:center;pointer-events:none;text-align:center}[data-gp-theme="crm-recruitment-people"] .preloader.is-active{display:grid;animation:gp-crmpeople-intro-failsafe 1.3s step-end forwards}[data-gp-theme="crm-recruitment-people"] .preloader.is-leaving{opacity:0;transition:opacity 180ms var(--ease-out)}@keyframes gp-crmpeople-intro-failsafe{0%,99%{visibility:visible}100%{visibility:hidden}}
@media(max-width:650px){[data-gp-theme="crm-recruitment-people"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="crm-recruitment-people"] .preview-bar .preview-label{display:none}[data-gp-theme="crm-recruitment-people"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="crm-recruitment-people"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="crm-recruitment-people"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="crm-recruitment-people"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="crm-recruitment-people"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="crm-recruitment-people"] .preview-bar .preview-label{display:none}[data-gp-theme="crm-recruitment-people"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="crm-recruitment-people"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="crm-recruitment-people"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="crm-recruitment-people"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="crm-recruitment-people"]{scroll-behavior:auto}[data-gp-theme="crm-recruitment-people"] *,[data-gp-theme="crm-recruitment-people"] *::before,[data-gp-theme="crm-recruitment-people"] *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-gp-theme="crm-recruitment-people"] .preloader.is-active{display:none!important}}
@media(max-width:650px){[data-gp-theme="crm-recruitment-people"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="crm-recruitment-people"] .preview-bar a{font-size:12px}[data-gp-theme="crm-recruitment-people"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="crm-recruitment-people"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="crm-recruitment-people"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="crm-recruitment-people"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="crm-recruitment-people"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="crm-recruitment-people"] .preview-bar a{font-size:12px}[data-gp-theme="crm-recruitment-people"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="crm-recruitment-people"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="crm-recruitment-people"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="crm-recruitment-people"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}

[data-gp-theme="crm-recruitment-people"] *{box-sizing:border-box}[data-gp-theme="crm-recruitment-people"]{background:var(--paper);color:var(--ink);font:18px/1.55 var(--body);--focus:var(--accent)}[data-gp-theme="crm-recruitment-people"] h1,[data-gp-theme="crm-recruitment-people"] h2,[data-gp-theme="crm-recruitment-people"] h3,[data-gp-theme="crm-recruitment-people"] p,[data-gp-theme="crm-recruitment-people"] figure{margin:0}[data-gp-theme="crm-recruitment-people"] h1,[data-gp-theme="crm-recruitment-people"] h2,[data-gp-theme="crm-recruitment-people"] h3{font-family:var(--display);font-weight:500;line-height:1.05}[data-gp-theme="crm-recruitment-people"] h1{font-size:clamp(48px,6.4vw,96px);letter-spacing:-.035em}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="crm-recruitment-people"] h1{font-size:clamp(48px,6.4cqw,96px)}}[data-gp-theme="crm-recruitment-people"] h2{font-size:clamp(36px,4vw,62px);letter-spacing:-.025em}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="crm-recruitment-people"] h2{font-size:clamp(36px,4cqw,62px)}}[data-gp-theme="crm-recruitment-people"] h3{font-size:28px}[data-gp-theme="crm-recruitment-people"] p{max-width:62ch}[data-gp-theme="crm-recruitment-people"] p+p{margin-top:1em}[data-gp-theme="crm-recruitment-people"] .wrap{width:min(1280px,calc(100% - 80px));margin:auto}[data-gp-theme="crm-recruitment-people"] .section{padding:100px 0}[data-gp-theme="crm-recruitment-people"] .section-head{display:flex;justify-content:space-between;gap:40px;margin-bottom:42px;align-items:end}[data-gp-theme="crm-recruitment-people"] .section-head>p{max-width:36ch}[data-gp-theme="crm-recruitment-people"] .kicker{font-size:15px;margin-bottom:18px;color:var(--muted)}[data-gp-theme="crm-recruitment-people"] .small,[data-gp-theme="crm-recruitment-people"] figcaption{font-size:14px;line-height:1.5;color:var(--muted)}[data-gp-theme="crm-recruitment-people"] figcaption{padding:12px 0}[data-gp-theme="crm-recruitment-people"] .site-header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0}[data-gp-theme="crm-recruitment-people"] .brand{font:600 26px/1.15 var(--display);text-decoration:none;display:flex;align-items:center;gap:12px}[data-gp-theme="crm-recruitment-people"] .brand svg{width:40px;height:40px;fill:none;stroke:currentColor;stroke-width:1.8}[data-gp-theme="crm-recruitment-people"] .brand small{display:block;font:13px/1.5 var(--body);margin-top:5px}[data-gp-theme="crm-recruitment-people"] .site-header nav{display:flex;gap:26px;font-size:16px}[data-gp-theme="crm-recruitment-people"] .site-header nav a{text-decoration:none}[data-gp-theme="crm-recruitment-people"] .menu-button,[data-gp-theme="crm-recruitment-people"] .button,[data-gp-theme="crm-recruitment-people"] :is(button,[role="button"]):is([type="submit"],[data-gp-button-type="submit"]){display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:12px 22px;min-height:48px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);text-decoration:none;font:600 16px/1.4 var(--body)}[data-gp-theme="crm-recruitment-people"] .menu-button{background:transparent;color:var(--ink)}[data-gp-theme="crm-recruitment-people"] .menu-button svg{width:20px;fill:none;stroke:currentColor;stroke-width:2}[data-gp-theme="crm-recruitment-people"] .button.accent,[data-gp-theme="crm-recruitment-people"] :is(button,[role="button"]):is([type="submit"],[data-gp-button-type="submit"]){background:var(--accent);border-color:var(--accent);color:var(--on-accent)}[data-gp-theme="crm-recruitment-people"] .text-link{display:inline-block;margin-top:20px;font-weight:600}[data-gp-theme="crm-recruitment-people"] .duo{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}[data-gp-theme="crm-recruitment-people"] .duo img{width:100%;object-fit:cover}[data-gp-theme="crm-recruitment-people"] .choice-row{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}[data-gp-theme="crm-recruitment-people"] .choice-row :is(button,[role="button"]){padding:11px 18px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:16px}[data-gp-theme="crm-recruitment-people"] .choice-row :is(button,[role="button"])[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}[data-gp-theme="crm-recruitment-people"] .task-panel{background:var(--wash);padding:32px;border:1px solid var(--line)}[data-gp-theme="crm-recruitment-people"] .task-panel h3{margin-bottom:16px}[data-gp-theme="crm-recruitment-people"] .task-panel p{margin:12px 0}[data-gp-theme="crm-recruitment-people"] .form{display:grid;grid-template-columns:1fr 1fr;gap:20px}[data-gp-theme="crm-recruitment-people"] .form label{display:grid;gap:8px;font-size:16px;font-weight:600;min-width:0}[data-gp-theme="crm-recruitment-people"] .form input,[data-gp-theme="crm-recruitment-people"] .form select,[data-gp-theme="crm-recruitment-people"] .form textarea{width:100%;min-width:0;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:12px;font-size:17px;font-weight:400;border-radius:0}[data-gp-theme="crm-recruitment-people"] .form textarea{min-height:130px}[data-gp-theme="crm-recruitment-people"] .full{grid-column:1/-1}[data-gp-theme="crm-recruitment-people"] .result{display:block;margin-top:20px;padding:18px;border-left:3px solid var(--accent);background:var(--wash);min-height:0;font-size:17px}[data-gp-theme="crm-recruitment-people"] .result:empty{display:none}[data-gp-theme="crm-recruitment-people"] .band{background:var(--wash)}[data-gp-theme="crm-recruitment-people"] details{border-top:1px solid var(--line);padding:20px 0}[data-gp-theme="crm-recruitment-people"] summary{font-weight:600;min-height:44px}[data-gp-theme="crm-recruitment-people"] details p{padding:12px 0}[data-gp-theme="crm-recruitment-people"] .rule-list{list-style:none;padding:0}[data-gp-theme="crm-recruitment-people"] .rule-list li{border-top:1px solid var(--line);padding:18px 0}[data-gp-theme="crm-recruitment-people"] .site-footer{padding:76px 0 25px;border-top:1px solid var(--line);background:var(--wash)}[data-gp-theme="crm-recruitment-people"] .footer-layout{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px}[data-gp-theme="crm-recruitment-people"] .footer-layout h2{font-size:clamp(38px,4.5vw,64px);margin-bottom:24px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="crm-recruitment-people"] .footer-layout h2{font-size:clamp(38px,4.5cqw,64px)}}[data-gp-theme="crm-recruitment-people"] .footer-layout h3{font:600 17px var(--body);margin-bottom:18px}[data-gp-theme="crm-recruitment-people"] .footer-layout a{display:block;margin:12px 0;font-size:16px}[data-gp-theme="crm-recruitment-people"] .footer-bottom{display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);margin-top:50px;padding-top:22px;font-size:13px;color:var(--muted)}[data-gp-theme="crm-recruitment-people"] dialog.mega-menu{width:min(1180px,calc(100% - 40px));background:var(--paper);color:var(--ink);margin:24px auto}[data-gp-theme="crm-recruitment-people"] .menu-top{display:flex;justify-content:space-between;align-items:center;padding:28px 38px;border-bottom:1px solid var(--line)}[data-gp-theme="crm-recruitment-people"] .menu-top :is(button,[role="button"]){background:transparent;color:var(--ink);border:1px solid var(--line);padding:10px 18px}[data-gp-theme="crm-recruitment-people"] .menu-layout{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:48px}[data-gp-theme="crm-recruitment-people"] .menu-layout h2{margin-bottom:25px}[data-gp-theme="crm-recruitment-people"] .menu-layout nav{display:grid}[data-gp-theme="crm-recruitment-people"] .menu-layout nav a{display:flex;justify-content:space-between;text-decoration:none;padding:16px 0;border-bottom:1px solid var(--line);font-size:23px}[data-gp-theme="crm-recruitment-people"] .menu-layout aside{padding:30px;background:var(--wash)}[data-gp-theme="crm-recruitment-people"] .menu-layout aside p{margin-top:22px}[data-gp-theme="crm-recruitment-people"] .preloader{background:var(--paper);color:var(--ink)}[data-gp-theme="crm-recruitment-people"] .intro-mark{font:44px var(--display)}[data-gp-theme="crm-recruitment-people"] .preloader .intro-mark svg{width:70px;height:70px;display:block;margin:auto auto 20px;fill:none;stroke:currentColor;stroke-width:1.4}[data-gp-theme="crm-recruitment-people"][data-keyboard] :is(button,[role="button"]):active{transform:none}@media(hover:hover) and (pointer:fine){[data-gp-theme="crm-recruitment-people"] .menu-button:hover{background:var(--wash)}[data-gp-theme="crm-recruitment-people"] .button,[data-gp-theme="crm-recruitment-people"] .menu-button,[data-gp-theme="crm-recruitment-people"] .choice-row :is(button,[role="button"]){transition:transform 150ms var(--ease-out),background-color 180ms var(--ease-out)}[data-gp-theme="crm-recruitment-people"] .button:hover{transform:translateY(-2px)}[data-gp-theme="crm-recruitment-people"] .choice-row :is(button,[role="button"]):hover{transform:translateY(-1px)}}@media(max-width:850px){[data-gp-theme="crm-recruitment-people"] .wrap{width:calc(100% - 40px)}[data-gp-theme="crm-recruitment-people"] .section{padding:65px 0}[data-gp-theme="crm-recruitment-people"] .site-header nav{display:none}[data-gp-theme="crm-recruitment-people"] .site-header{padding:20px 0}[data-gp-theme="crm-recruitment-people"] .duo{gap:35px}[data-gp-theme="crm-recruitment-people"] .section-head{align-items:start}[data-gp-theme="crm-recruitment-people"] .footer-layout{gap:28px;grid-template-columns:1.5fr 1fr}}@containerfs-editor-canvas (max-width: 850px){[data-gp-theme="crm-recruitment-people"] .wrap{width:calc(100% - 40px)}[data-gp-theme="crm-recruitment-people"] .section{padding:65px 0}[data-gp-theme="crm-recruitment-people"] .site-header nav{display:none}[data-gp-theme="crm-recruitment-people"] .site-header{padding:20px 0}[data-gp-theme="crm-recruitment-people"] .duo{gap:35px}[data-gp-theme="crm-recruitment-people"] .section-head{align-items:start}[data-gp-theme="crm-recruitment-people"] .footer-layout{gap:28px;grid-template-columns:1.5fr 1fr}}@media(max-width:600px){[data-gp-theme="crm-recruitment-people"] .wrap{width:calc(100% - 32px)}[data-gp-theme="crm-recruitment-people"]{font-size:17px}[data-gp-theme="crm-recruitment-people"] .brand{font-size:22px}[data-gp-theme="crm-recruitment-people"] .brand svg{width:32px;height:32px}[data-gp-theme="crm-recruitment-people"] .menu-button{padding:10px 14px;font-size:14px}[data-gp-theme="crm-recruitment-people"] .duo,[data-gp-theme="crm-recruitment-people"] .footer-layout,[data-gp-theme="crm-recruitment-people"] .menu-layout{grid-template-columns:1fr}[data-gp-theme="crm-recruitment-people"] .section-head{display:block}[data-gp-theme="crm-recruitment-people"] .section-head>p{margin-top:20px}[data-gp-theme="crm-recruitment-people"] .form{grid-template-columns:1fr}[data-gp-theme="crm-recruitment-people"] .full{grid-column:auto}[data-gp-theme="crm-recruitment-people"] .task-panel{padding:23px}[data-gp-theme="crm-recruitment-people"] .footer-bottom{display:block}[data-gp-theme="crm-recruitment-people"] .footer-bottom span:not(.fs-richtext){display:block;margin:10px 0}[data-gp-theme="crm-recruitment-people"] .menu-top{padding:20px}[data-gp-theme="crm-recruitment-people"] .menu-layout{padding:26px;gap:25px}[data-gp-theme="crm-recruitment-people"] .menu-layout nav a{font-size:21px}[data-gp-theme="crm-recruitment-people"] .menu-layout aside{padding:22px}[data-gp-theme="crm-recruitment-people"] .section{padding:55px 0}}@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="crm-recruitment-people"] .wrap{width:calc(100% - 32px)}[data-gp-theme="crm-recruitment-people"]{font-size:17px}[data-gp-theme="crm-recruitment-people"] .brand{font-size:22px}[data-gp-theme="crm-recruitment-people"] .brand svg{width:32px;height:32px}[data-gp-theme="crm-recruitment-people"] .menu-button{padding:10px 14px;font-size:14px}[data-gp-theme="crm-recruitment-people"] .duo,[data-gp-theme="crm-recruitment-people"] .footer-layout,[data-gp-theme="crm-recruitment-people"] .menu-layout{grid-template-columns:1fr}[data-gp-theme="crm-recruitment-people"] .section-head{display:block}[data-gp-theme="crm-recruitment-people"] .section-head>p{margin-top:20px}[data-gp-theme="crm-recruitment-people"] .form{grid-template-columns:1fr}[data-gp-theme="crm-recruitment-people"] .full{grid-column:auto}[data-gp-theme="crm-recruitment-people"] .task-panel{padding:23px}[data-gp-theme="crm-recruitment-people"] .footer-bottom{display:block}[data-gp-theme="crm-recruitment-people"] .footer-bottom span:not(.fs-richtext){display:block;margin:10px 0}[data-gp-theme="crm-recruitment-people"] .menu-top{padding:20px}[data-gp-theme="crm-recruitment-people"] .menu-layout{padding:26px;gap:25px}[data-gp-theme="crm-recruitment-people"] .menu-layout nav a{font-size:21px}[data-gp-theme="crm-recruitment-people"] .menu-layout aside{padding:22px}[data-gp-theme="crm-recruitment-people"] .section{padding:55px 0}}@media(prefers-reduced-motion:reduce){[data-gp-theme="crm-recruitment-people"] :is(button,[role="button"]),[data-gp-theme="crm-recruitment-people"] .button{transform:none!important}}


[data-gp-theme="crm-recruitment-people"]{--paper:#f3e3d4;--ink:#713e32;--accent:#713e32;--wash:#e8c9ad;--line:#ba8d78;--on-accent:#fff2e2;--muted:#604236;--display:"Figtree",sans-serif;--body:"Figtree",sans-serif}[data-gp-theme="crm-recruitment-people"][data-palette="1"]{--paper:#ece6da;--ink:#37554a;--accent:#37554a;--wash:#d5ddcb;--line:#9baa96;--muted:#485a4b}[data-gp-theme="crm-recruitment-people"][data-palette="2"]{--paper:#f1e3e9;--ink:#65405c;--accent:#65405c;--wash:#e3c9d7;--line:#b58da5;--muted:#66475b}[data-gp-theme="crm-recruitment-people"][data-mode="dark"]{--paper:#33241f;--ink:#f6e6d5;--accent:#edb98f;--on-accent:#39261c;--wash:#4c342a;--line:#aa8974;--muted:#d9c6b6}[data-gp-theme="crm-recruitment-people"][data-mode="dark"][data-palette="1"]{--paper:#23342c;--ink:#f0eadb;--accent:#bdd6b7;--wash:#354b3d;--line:#879d82}[data-gp-theme="crm-recruitment-people"][data-mode="dark"][data-palette="2"]{--paper:#342331;--ink:#f7e7ef;--accent:#e1b2ce;--wash:#4c3447;--line:#ab869f}[data-gp-theme="crm-recruitment-people"] h1,[data-gp-theme="crm-recruitment-people"] h2,[data-gp-theme="crm-recruitment-people"] h3{font-weight:500}[data-gp-theme="crm-recruitment-people"] .brand{font-weight:700;font-size:26px}[data-gp-theme="crm-recruitment-people"] .brand small{font-size:14px;font-weight:400}[data-gp-theme="crm-recruitment-people"] .brand svg{stroke-width:1.5}[data-gp-theme="crm-recruitment-people"] .journal-line{display:flex;justify-content:space-between;font-size:14px;border-top:1px solid var(--line);padding:15px 0}[data-gp-theme="crm-recruitment-people"] .conversation-head{display:grid;grid-template-columns:1.7fr 1fr;gap:60px;padding:35px 0 45px;align-items:end}[data-gp-theme="crm-recruitment-people"] .conversation-head h1{font-size:clamp(54px,6.2vw,91px);line-height:.96;letter-spacing:-.045em}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="crm-recruitment-people"] .conversation-head h1{font-size:clamp(54px,6.2cqw,91px)}}[data-gp-theme="crm-recruitment-people"] .conversation-head>div{padding-bottom:5px}[data-gp-theme="crm-recruitment-people"] .conversation-head>div>p{font:21px/1.6 "Literata",serif}[data-gp-theme="crm-recruitment-people"] .portrait-spread{position:relative;display:grid;grid-template-columns:1fr 250px;gap:0}[data-gp-theme="crm-recruitment-people"] .portrait-spread figure{grid-column:1/3;grid-row:1}[data-gp-theme="crm-recruitment-people"] .conversation-art{width:100%;height:620px;object-fit:cover;object-position:center 48%}[data-gp-theme="crm-recruitment-people"] .portrait-spread figcaption{padding-right:300px}[data-gp-theme="crm-recruitment-people"] .hello-slip{grid-column:2;grid-row:1;align-self:end;margin-right:30px;margin-bottom:65px;background:var(--paper);padding:27px 22px;position:relative;transform:rotate(2deg);box-shadow:5px 7px 0 rgba(30,20,15,.15);border-top:3px solid var(--accent)}[data-gp-theme="crm-recruitment-people"] .hello-slip>span:not(.fs-richtext){font-size:13px}[data-gp-theme="crm-recruitment-people"] .hello-slip>p{font:27px/1.35 "Literata",serif;margin-top:25px}[data-gp-theme="crm-recruitment-people"] .hello-slip>a{display:block;margin-top:25px;font-size:14px}[data-gp-theme="crm-recruitment-people"] .people-introduction{background:var(--wash);margin-top:60px}[data-gp-theme="crm-recruitment-people"] .introduction-layout{display:grid;grid-template-columns:150px 1fr 1.1fr;gap:40px}[data-gp-theme="crm-recruitment-people"] .chapter-tab{font-size:15px;border-top:1px solid var(--line);padding-top:15px}[data-gp-theme="crm-recruitment-people"] .introduction-layout h2{font-size:clamp(38px,3.5vw,52px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="crm-recruitment-people"] .introduction-layout h2{font-size:clamp(38px,3.5cqw,52px)}}[data-gp-theme="crm-recruitment-people"] .journal-copy{font:22px/1.65 "Literata",serif}[data-gp-theme="crm-recruitment-people"] .introduction-copy>p:last-of-type{font-size:16px;margin-top:25px}[data-gp-theme="crm-recruitment-people"] .conversation-chapters{display:grid;grid-template-columns:1fr 1fr;gap:70px}[data-gp-theme="crm-recruitment-people"] .conversation-chapters article{border-top:3px solid var(--accent);padding-top:25px}[data-gp-theme="crm-recruitment-people"] .chapter-heading>span:not(.fs-richtext){font-size:15px}[data-gp-theme="crm-recruitment-people"] .chapter-heading h3{font-size:37px;margin:25px 0;letter-spacing:-.025em}[data-gp-theme="crm-recruitment-people"] .conversation-chapters article>p{font:18px/1.7 "Literata",serif;max-width:37ch}[data-gp-theme="crm-recruitment-people"] .conversation-chapters .rule-list{margin:30px 0 15px;font-size:16px}[data-gp-theme="crm-recruitment-people"] .conversation-chapters :is(button,[role="button"]){display:flex;justify-content:space-between;align-items:center;width:100%;background:transparent;color:var(--ink);border:1px solid var(--line);padding:14px 18px;text-align:left;font-size:16px}[data-gp-theme="crm-recruitment-people"] .conversation-chapters :is(button,[role="button"])[aria-pressed=true]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}[data-gp-theme="crm-recruitment-people"] .conversation-chapters :is(button,[role="button"])>span:not(.fs-richtext){font-size:24px}[data-gp-theme="crm-recruitment-people"] .call-band{background:var(--ink);color:var(--paper)}[data-gp-theme="crm-recruitment-people"] .call-band .kicker{color:var(--paper)}[data-gp-theme="crm-recruitment-people"] .call-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:80px}[data-gp-theme="crm-recruitment-people"] .call-layout h2{font-size:clamp(36px,3.5vw,54px);line-height:1.13}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="crm-recruitment-people"] .call-layout h2{font-size:clamp(36px,3.5cqw,54px)}}[data-gp-theme="crm-recruitment-people"] .call-notes>p{font:20px/1.65 "Literata",serif;margin-bottom:35px}[data-gp-theme="crm-recruitment-people"] .call-notes details{border-color:color-mix(in srgb,var(--paper) 50%,transparent)}[data-gp-theme="crm-recruitment-people"] .call-notes details p{font-size:17px}[data-gp-theme="crm-recruitment-people"] .question-section{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;align-items:center}[data-gp-theme="crm-recruitment-people"] .question-section h2{margin-bottom:25px}[data-gp-theme="crm-recruitment-people"] .question-paper{padding:35px;background:var(--wash);border:1px solid var(--line);border-bottom:5px solid var(--line)}[data-gp-theme="crm-recruitment-people"] .question-buttons{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--line);padding-bottom:20px}[data-gp-theme="crm-recruitment-people"] .question-buttons :is(button,[role="button"]){border:0;background:transparent;color:var(--ink);padding:6px 10px;font-size:14px}[data-gp-theme="crm-recruitment-people"] .question-buttons :is(button,[role="button"])[aria-pressed=true]{background:var(--paper)}[data-gp-theme="crm-recruitment-people"] [data-gp-id="question-prompt"]{font:31px/1.45 "Literata",serif;min-height:150px;margin:30px 0}[data-gp-theme="crm-recruitment-people"] .text-button{border:0;border-bottom:1px solid currentColor;background:none;color:var(--ink);padding:8px 0;font-size:16px}[data-gp-theme="crm-recruitment-people"] .question-paper output{display:block;margin-top:12px}[data-gp-theme="crm-recruitment-people"] .hello-band{border-top:1px solid var(--line)}[data-gp-theme="crm-recruitment-people"] .hello-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:90px}[data-gp-theme="crm-recruitment-people"] .hello-layout h2{margin-bottom:28px}[data-gp-theme="crm-recruitment-people"] .hello-layout .journal-copy{font-size:21px}[data-gp-theme="crm-recruitment-people"] .hello-layout .small{margin-top:25px}[data-gp-theme="crm-recruitment-people"] .notebook{border:1px solid var(--line);background:var(--wash);padding:32px}[data-gp-theme="crm-recruitment-people"] .notebook .small{margin-top:0}[data-gp-theme="crm-recruitment-people"] .site-footer{background:var(--ink);color:var(--paper)}[data-gp-theme="crm-recruitment-people"] .site-footer .small,[data-gp-theme="crm-recruitment-people"] .site-footer .footer-bottom{color:var(--paper)}[data-gp-theme="crm-recruitment-people"] .site-footer .footer-bottom{border-color:color-mix(in srgb,var(--paper) 40%,transparent)}[data-gp-theme="crm-recruitment-people"] .mega-menu aside{background:var(--wash);border-top:5px solid var(--accent);transform:rotate(-1deg)}[data-gp-theme="crm-recruitment-people"] .mega-menu aside h2{font-size:43px}[data-gp-theme="crm-recruitment-people"] .mega-menu nav a{font-family:"Literata",serif;font-size:22px}@media(max-width:1000px){[data-gp-theme="crm-recruitment-people"] .site-header nav{display:none}[data-gp-theme="crm-recruitment-people"] .conversation-head{gap:35px}[data-gp-theme="crm-recruitment-people"] .introduction-layout{grid-template-columns:1fr 1fr;gap:30px}[data-gp-theme="crm-recruitment-people"] .chapter-tab{grid-column:1/-1}[data-gp-theme="crm-recruitment-people"] .conversation-chapters{gap:40px}[data-gp-theme="crm-recruitment-people"] .chapter-heading h3{font-size:32px}[data-gp-theme="crm-recruitment-people"] .call-layout,[data-gp-theme="crm-recruitment-people"] .question-section,[data-gp-theme="crm-recruitment-people"] .hello-layout{gap:45px}}@containerfs-editor-canvas (max-width: 1000px){[data-gp-theme="crm-recruitment-people"] .site-header nav{display:none}[data-gp-theme="crm-recruitment-people"] .conversation-head{gap:35px}[data-gp-theme="crm-recruitment-people"] .introduction-layout{grid-template-columns:1fr 1fr;gap:30px}[data-gp-theme="crm-recruitment-people"] .chapter-tab{grid-column:1/-1}[data-gp-theme="crm-recruitment-people"] .conversation-chapters{gap:40px}[data-gp-theme="crm-recruitment-people"] .chapter-heading h3{font-size:32px}[data-gp-theme="crm-recruitment-people"] .call-layout,[data-gp-theme="crm-recruitment-people"] .question-section,[data-gp-theme="crm-recruitment-people"] .hello-layout{gap:45px}}@media(max-width:600px){[data-gp-theme="crm-recruitment-people"] .journal-line{font-size:12px}[data-gp-theme="crm-recruitment-people"] .conversation-head{grid-template-columns:1fr;gap:25px;padding:25px 0 30px}[data-gp-theme="crm-recruitment-people"] .conversation-head h1{font-size:55px}[data-gp-theme="crm-recruitment-people"] .conversation-head>div>p{font-size:17px;max-width:25ch}[data-gp-theme="crm-recruitment-people"] .conversation-head .text-link{font-size:16px;margin-top:15px}[data-gp-theme="crm-recruitment-people"] .portrait-spread{display:block}[data-gp-theme="crm-recruitment-people"] .conversation-art{height:390px;object-position:45% center}[data-gp-theme="crm-recruitment-people"] .portrait-spread figcaption{padding-right:0}[data-gp-theme="crm-recruitment-people"] .hello-slip{position:relative;margin:-55px 15px 0 45px;transform:none;padding:22px;box-shadow:3px 5px 0 var(--wash)}[data-gp-theme="crm-recruitment-people"] .hello-slip>p{font-size:24px;margin-top:15px}[data-gp-theme="crm-recruitment-people"] .hello-slip>p br{display:none}[data-gp-theme="crm-recruitment-people"] .hello-slip>a{margin-top:18px}[data-gp-theme="crm-recruitment-people"] .people-introduction{margin-top:35px}[data-gp-theme="crm-recruitment-people"] .introduction-layout{grid-template-columns:1fr;gap:25px}[data-gp-theme="crm-recruitment-people"] .introduction-layout h2{font-size:43px}[data-gp-theme="crm-recruitment-people"] .journal-copy{font-size:20px}[data-gp-theme="crm-recruitment-people"] .conversation-chapters,[data-gp-theme="crm-recruitment-people"] .call-layout,[data-gp-theme="crm-recruitment-people"] .question-section,[data-gp-theme="crm-recruitment-people"] .hello-layout{grid-template-columns:1fr;gap:35px}[data-gp-theme="crm-recruitment-people"] .chapter-heading h3{font-size:32px}[data-gp-theme="crm-recruitment-people"] .conversation-chapters article>p{font-size:17px}[data-gp-theme="crm-recruitment-people"] .conversation-chapters .rule-list{font-size:15px}[data-gp-theme="crm-recruitment-people"] .question-paper{padding:23px}[data-gp-theme="crm-recruitment-people"] .question-buttons{gap:4px}[data-gp-theme="crm-recruitment-people"] .question-buttons :is(button,[role="button"]){padding:6px;font-size:12px}[data-gp-theme="crm-recruitment-people"] [data-gp-id="question-prompt"]{font-size:27px;min-height:150px}[data-gp-theme="crm-recruitment-people"] .notebook{padding:23px}[data-gp-theme="crm-recruitment-people"] .site-footer .footer-layout h2{font-size:41px}}@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="crm-recruitment-people"] .journal-line{font-size:12px}[data-gp-theme="crm-recruitment-people"] .conversation-head{grid-template-columns:1fr;gap:25px;padding:25px 0 30px}[data-gp-theme="crm-recruitment-people"] .conversation-head h1{font-size:55px}[data-gp-theme="crm-recruitment-people"] .conversation-head>div>p{font-size:17px;max-width:25ch}[data-gp-theme="crm-recruitment-people"] .conversation-head .text-link{font-size:16px;margin-top:15px}[data-gp-theme="crm-recruitment-people"] .portrait-spread{display:block}[data-gp-theme="crm-recruitment-people"] .conversation-art{height:390px;object-position:45% center}[data-gp-theme="crm-recruitment-people"] .portrait-spread figcaption{padding-right:0}[data-gp-theme="crm-recruitment-people"] .hello-slip{position:relative;margin:-55px 15px 0 45px;transform:none;padding:22px;box-shadow:3px 5px 0 var(--wash)}[data-gp-theme="crm-recruitment-people"] .hello-slip>p{font-size:24px;margin-top:15px}[data-gp-theme="crm-recruitment-people"] .hello-slip>p br{display:none}[data-gp-theme="crm-recruitment-people"] .hello-slip>a{margin-top:18px}[data-gp-theme="crm-recruitment-people"] .people-introduction{margin-top:35px}[data-gp-theme="crm-recruitment-people"] .introduction-layout{grid-template-columns:1fr;gap:25px}[data-gp-theme="crm-recruitment-people"] .introduction-layout h2{font-size:43px}[data-gp-theme="crm-recruitment-people"] .journal-copy{font-size:20px}[data-gp-theme="crm-recruitment-people"] .conversation-chapters,[data-gp-theme="crm-recruitment-people"] .call-layout,[data-gp-theme="crm-recruitment-people"] .question-section,[data-gp-theme="crm-recruitment-people"] .hello-layout{grid-template-columns:1fr;gap:35px}[data-gp-theme="crm-recruitment-people"] .chapter-heading h3{font-size:32px}[data-gp-theme="crm-recruitment-people"] .conversation-chapters article>p{font-size:17px}[data-gp-theme="crm-recruitment-people"] .conversation-chapters .rule-list{font-size:15px}[data-gp-theme="crm-recruitment-people"] .question-paper{padding:23px}[data-gp-theme="crm-recruitment-people"] .question-buttons{gap:4px}[data-gp-theme="crm-recruitment-people"] .question-buttons :is(button,[role="button"]){padding:6px;font-size:12px}[data-gp-theme="crm-recruitment-people"] [data-gp-id="question-prompt"]{font-size:27px;min-height:150px}[data-gp-theme="crm-recruitment-people"] .notebook{padding:23px}[data-gp-theme="crm-recruitment-people"] .site-footer .footer-layout h2{font-size:41px}}

@media(min-width:851px) and (max-width:1200px){[data-gp-theme="crm-recruitment-people"] .site-header nav{display:none}}

[data-gp-theme="crm-recruitment-people"][data-input=keyboard] :is(.button,.menu-button,.choice-row button){transition:none;transform:none}

@media(max-width:380px){[data-gp-theme="crm-recruitment-people"] .site-header .menu-button{font-size:0;padding:10px;width:44px;min-width:44px;gap:0}[data-gp-theme="crm-recruitment-people"] .site-header .menu-button svg{width:22px;height:22px;flex-shrink:0}[data-gp-theme="crm-recruitment-people"] .site-header{gap:12px}[data-gp-theme="crm-recruitment-people"] .site-header .brand{min-width:0}}

@containerfs-editor-canvas (max-width: 380px){[data-gp-theme="crm-recruitment-people"] .site-header .menu-button{font-size:0;padding:10px;width:44px;min-width:44px;gap:0}[data-gp-theme="crm-recruitment-people"] .site-header .menu-button svg{width:22px;height:22px;flex-shrink:0}[data-gp-theme="crm-recruitment-people"] .site-header{gap:12px}[data-gp-theme="crm-recruitment-people"] .site-header .brand{min-width:0}}

/* Preview chrome and accessibility only. Theme authors own the visual worlds. */
[data-gp-theme="crm-recruitment-people"][data-premium]{color-scheme:light;background:var(--paper);color:var(--ink);accent-color:var(--accent);scrollbar-color:var(--accent) var(--wash)}
[data-gp-theme="crm-recruitment-people"][data-premium][data-mode=dark]{color-scheme:dark}
[data-gp-theme="crm-recruitment-people"][data-premium] ::selection{background:var(--accent);color:var(--on-accent)}
[data-gp-theme="crm-recruitment-people"][data-premium] :is(input,textarea){caret-color:var(--accent)}
[data-gp-theme="crm-recruitment-people"][data-premium] :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--accent);outline-offset:4px}
[data-gp-theme="crm-recruitment-people"][data-premium] :is(input,select,textarea){max-width:100%}
[data-gp-theme="crm-recruitment-people"][data-premium] :is(input,textarea)::placeholder{color:var(--muted);opacity:1}
[data-gp-theme="crm-recruitment-people"][data-premium] .preview-bar{display:flex;flex-wrap:wrap;justify-content:flex-start;background:#f5f5f0;color:#242d2c;border-color:#cbd0c8;gap:8px 14px;position:relative;font:13px/1.3 "Figtree",sans-serif;min-height:52px;padding:6px 3vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="crm-recruitment-people"][data-premium] .preview-bar{padding:6px 3cqw}}
[data-gp-theme="crm-recruitment-people"][data-premium] .preview-bar>a{font-weight:600;min-height:40px;display:flex;align-items:center}
[data-gp-theme="crm-recruitment-people"][data-premium] .preview-bar [role=group]{margin-left:auto;display:flex;gap:2px}
[data-gp-theme="crm-recruitment-people"][data-premium] .preview-bar :is(button,select){font:13px/1.3 "Figtree",sans-serif;min-height:40px;max-width:100%;border-radius:3px}
[data-gp-theme="crm-recruitment-people"][data-premium] .preview-bar select{background:#fff;color:#242d2c;border:1px solid #a2ada4;padding:7px 24px 7px 9px}
[data-gp-theme="crm-recruitment-people"][data-premium] .preview-bar [aria-pressed=true]{background:#242d2c;color:#fff}
[data-gp-theme="crm-recruitment-people"][data-premium] .preview-bar .preview-label{font:12px/1.3 "Figtree",sans-serif;color:#48554f}
[data-gp-theme="crm-recruitment-people"][data-premium] .preview-bar :focus-visible{outline-color:#254fbb}
[data-gp-theme="crm-recruitment-people"][data-premium] .preview-bar [data-replay-intro]{font-size:12px;margin:0}
[data-gp-theme="crm-recruitment-people"][data-premium] .preview-bar [data-replay-intro]::after{content:none}
[data-gp-theme="crm-recruitment-people"][data-premium] .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
[data-gp-theme="crm-recruitment-people"][data-premium] .premium-action{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 22px;background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);text-decoration:none;font-weight:600;transition:transform 150ms var(--ease-out),background-color 150ms var(--ease-out)}
[data-gp-theme="crm-recruitment-people"][data-premium] .premium-action:active{transform:translateY(1px)}
[data-gp-theme="crm-recruitment-people"][data-premium] .premium-action:disabled{opacity:.6;cursor:not-allowed}
[data-gp-theme="crm-recruitment-people"][data-premium] :is(h1,h2,h3){text-wrap:balance}
[data-gp-theme="crm-recruitment-people"][data-premium] p{text-wrap:pretty}
/* Put down the opaque menu surface immediately, then introduce its content. */
[data-gp-theme="crm-recruitment-people"][data-premium] .mega-menu[open]:not([data-closing]){animation:none}
[data-gp-theme="crm-recruitment-people"][data-premium] .mega-menu[open]:not([data-closing])>:not(:first-child){animation:gp-crmpeople-premium-menu-content 160ms var(--ease-out)}
[data-gp-theme="crm-recruitment-people"][data-premium] .mega-menu[data-keyboard]>:not(:first-child){animation:none!important}
[data-gp-theme="crm-recruitment-people"][data-premium][data-input=keyboard] :is(button,[role="button"]):active{transform:none}
@keyframes gp-crmpeople-premium-menu-content{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:650px){
 [data-gp-theme="crm-recruitment-people"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="crm-recruitment-people"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="crm-recruitment-people"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="crm-recruitment-people"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="crm-recruitment-people"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="crm-recruitment-people"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="crm-recruitment-people"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="crm-recruitment-people"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@containerfs-editor-canvas (max-width: 650px){
 [data-gp-theme="crm-recruitment-people"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="crm-recruitment-people"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="crm-recruitment-people"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="crm-recruitment-people"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="crm-recruitment-people"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="crm-recruitment-people"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="crm-recruitment-people"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="crm-recruitment-people"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@media(prefers-reduced-motion:reduce){[data-gp-theme="crm-recruitment-people"][data-premium] .premium-action{transition:none;transform:none}}

/* Website page primitives and actual layout modes. Authored theme CSS owns identity. */
[data-gp-theme="crm-recruitment-people"][data-framed=true] .preview-bar,[data-gp-theme="crm-recruitment-people"][data-framed=true] .site-open-preview{display:none!important}
[data-gp-theme="crm-recruitment-people"][data-site]{--ip-paper:var(--paper,#f4f2eb);--ip-ink:var(--ink,#192f2c);--ip-wash:var(--wash,var(--paper,#e6e9df));--ip-accent:var(--accent,var(--rust,#315b50));--ip-on:var(--on-accent,var(--paper,#fff));--ip-muted:var(--muted,var(--ink,#45534d));--ip-line:var(--line,var(--rule,#a1aca5))}
[data-gp-theme="crm-recruitment-people"][data-inside]{background:var(--ip-paper);color:var(--ip-ink);font:18px/1.65 var(--body,"Figtree",sans-serif)}
[data-gp-theme="crm-recruitment-people"] .inside-page :is(h1,h2,h3){font-family:var(--display,inherit);color:inherit;letter-spacing:-.035em;line-height:1.1;font-weight:500;max-width:22ch}
[data-gp-theme="crm-recruitment-people"] .inside-page h1{font-size:clamp(42px,5.3vw,80px);margin:0 0 26px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="crm-recruitment-people"] .inside-page h1{font-size:clamp(42px,5.3cqw,80px)}}[data-gp-theme="crm-recruitment-people"] .inside-page h2{font-size:clamp(30px,3vw,49px);margin:0 0 24px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="crm-recruitment-people"] .inside-page h2{font-size:clamp(30px,3cqw,49px)}}[data-gp-theme="crm-recruitment-people"] .inside-page h3{font-size:25px;margin:0 0 15px}
[data-gp-theme="crm-recruitment-people"] .inside-page :is(p,li){max-width:72ch}[data-gp-theme="crm-recruitment-people"] .inside-page p{margin:0 0 20px}[data-gp-theme="crm-recruitment-people"] .inside-page a{color:inherit}[data-gp-theme="crm-recruitment-people"] .inside-page img{max-width:100%;width:100%;height:100%;object-fit:cover}[data-gp-theme="crm-recruitment-people"] .inside-page figure{margin:0}[data-gp-theme="crm-recruitment-people"] .inside-page :is(button,[role="button"]){color:inherit}
[data-gp-theme="crm-recruitment-people"] .ip-hero,[data-gp-theme="crm-recruitment-people"] .ip-section{width:min(1320px,calc(100% - 96px));margin-inline:auto;padding-block:70px}[data-gp-theme="crm-recruitment-people"] .ip-hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:65px}[data-gp-theme="crm-recruitment-people"] .ip-opening{min-width:0}[data-gp-theme="crm-recruitment-people"] .ip-hero:has(>.ip-opening:only-child){grid-template-columns:1fr}[data-gp-theme="crm-recruitment-people"] .ip-art{height:430px;position:relative}[data-gp-theme="crm-recruitment-people"] .ip-art img{object-fit:cover}[data-gp-theme="crm-recruitment-people"] .ip-art figcaption,[data-gp-theme="crm-recruitment-people"] .ip-caption{font-size:14px;line-height:1.5;color:var(--ip-muted);padding-top:10px}[data-gp-theme="crm-recruitment-people"] .ip-section>.ip-caption{margin-bottom:20px}[data-gp-theme="crm-recruitment-people"] .ip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}[data-gp-theme="crm-recruitment-people"] .ip-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px}[data-gp-theme="crm-recruitment-people"] .ip-card{min-width:0;border-top:1px solid var(--ip-line);padding:25px 0}[data-gp-theme="crm-recruitment-people"] .ip-card figure{height:230px;margin-bottom:25px}[data-gp-theme="crm-recruitment-people"] .ip-reading{width:min(76ch,calc(100% - 48px));margin-inline:auto;padding-block:55px}[data-gp-theme="crm-recruitment-people"] .ip-reading h2{margin-top:40px}[data-gp-theme="crm-recruitment-people"] .ip-ledger{margin:24px 0}[data-gp-theme="crm-recruitment-people"] .ip-ledger>div{display:grid;grid-template-columns:1fr 1.4fr;gap:20px;border-top:1px solid var(--ip-line);padding:15px 0}[data-gp-theme="crm-recruitment-people"] .ip-ledger dt{font-weight:600}[data-gp-theme="crm-recruitment-people"] .ip-ledger dd{margin:0}[data-gp-theme="crm-recruitment-people"] .ip-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border:1px solid var(--ip-accent);background:var(--ip-accent);color:var(--ip-on)!important;text-decoration:none;font-size:16px;transition:transform 150ms var(--ease-out)}[data-gp-theme="crm-recruitment-people"] .ip-action.secondary{background:transparent;color:var(--ip-ink)!important;border-color:var(--ip-line)}[data-gp-theme="crm-recruitment-people"] .ip-band{padding:55px max(24px,calc((100% - 1320px)/2));background:var(--ip-wash);color:var(--ip-ink)}[data-gp-theme="crm-recruitment-people"] .ip-band p{max-width:65ch}[data-gp-theme="crm-recruitment-people"] .ip-note{font-size:15px;border-left:3px solid var(--ip-accent);padding:12px 18px;background:var(--ip-wash);color:var(--ip-ink);margin-block:20px}[data-gp-theme="crm-recruitment-people"] .ip-form{display:grid;gap:22px}[data-gp-theme="crm-recruitment-people"] .ip-form label{display:grid;gap:8px;font-size:16px}[data-gp-theme="crm-recruitment-people"] .ip-form :is(input,textarea,select){width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid var(--ip-line);background:var(--ip-paper);color:var(--ip-ink);font:inherit;border-radius:0}[data-gp-theme="crm-recruitment-people"] .ip-form :is(input,textarea)::placeholder{color:var(--ip-muted);opacity:1}[data-gp-theme="crm-recruitment-people"] .ip-field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}[data-gp-theme="crm-recruitment-people"] .ip-form :is(button,[role="button"]){justify-self:start}[data-gp-theme="crm-recruitment-people"] .ip-form textarea{min-height:135px}[data-gp-theme="crm-recruitment-people"] .inside-page output[data-draft-output]{display:block;white-space:pre-wrap;padding:25px;background:var(--ip-wash);color:var(--ip-ink);border:1px solid var(--ip-line);overflow-wrap:anywhere}[data-gp-theme="crm-recruitment-people"] .ip-checks{display:grid;gap:12px}[data-gp-theme="crm-recruitment-people"] .ip-checks label{display:flex;align-items:start;gap:14px;border-top:1px solid var(--ip-line);padding:16px 0;min-height:52px}[data-gp-theme="crm-recruitment-people"] .ip-checks input{width:22px;height:22px;min-height:22px;flex-shrink:0;margin-top:4px;accent-color:var(--ip-accent)}[data-gp-theme="crm-recruitment-people"] .inside-page details{border-top:1px solid var(--ip-line);padding:18px 0}[data-gp-theme="crm-recruitment-people"] .inside-page summary{min-height:44px;font-size:21px;cursor:pointer}[data-gp-theme="crm-recruitment-people"] .inside-page details p{padding:16px 0 0}[data-gp-theme="crm-recruitment-people"] .inside-page [data-filter-group]>[role=group]{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}[data-gp-theme="crm-recruitment-people"] .inside-page [data-filter]{padding:10px 18px;min-height:44px;background:transparent;color:var(--ip-ink);border:1px solid var(--ip-line)}[data-gp-theme="crm-recruitment-people"] .inside-page [data-filter][aria-pressed=true]{background:var(--ip-accent);color:var(--ip-on)}[data-gp-theme="crm-recruitment-people"] .site-directory{padding:30px!important;background:var(--ip-paper)!important;color:var(--ip-ink)!important;border-top:1px solid var(--ip-line)}[data-gp-theme="crm-recruitment-people"] .site-directory h3{font:600 17px/1.4 var(--body,"Figtree",sans-serif);margin:0 0 16px}[data-gp-theme="crm-recruitment-people"] .site-directory>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 25px}[data-gp-theme="crm-recruitment-people"] .site-directory a{display:block;font:16px/1.5 var(--body,"Figtree",sans-serif)!important;min-height:44px;padding:10px 0!important;color:inherit!important;text-decoration:none}[data-gp-theme="crm-recruitment-people"] .site-directory a[aria-current=page]{text-decoration:underline;font-weight:600!important}[data-gp-theme="crm-recruitment-people"] .site-open-preview{display:block;padding:10px 20px;background:#eef0eb;color:#20322d;font:14px/1.4 "Figtree",sans-serif;text-align:center}
[data-gp-theme="crm-recruitment-people"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){width:100%;padding-inline:max(24px,4vw)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="crm-recruitment-people"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){padding-inline:max(24px,4cqw)}}
[data-gp-theme="crm-recruitment-people"]:has([data-gp-theme="crm-recruitment-people"][data-layout=boxed]){background:#a6afa9}[data-gp-theme="crm-recruitment-people"][data-layout=boxed]{width:min(1200px,calc(100% - 64px));margin-inline:auto;box-shadow:0 0 0 1px #0002,0 20px 70px #0002;min-height:100dvh;background:var(--ip-paper)}
[data-gp-theme="crm-recruitment-people"][data-layout=centered] :is(.ip-hero,.opening,.cake-opening,.gp-title,.book-opening,.poster-opening,.portal-opening,.destination-opening,.route-opening){text-align:center}
[data-gp-theme="crm-recruitment-people"][data-layout=centered] .ip-hero{grid-template-columns:1fr;max-width:1000px;justify-items:center}[data-gp-theme="crm-recruitment-people"][data-layout=centered] .ip-opening{display:grid;justify-items:center}[data-gp-theme="crm-recruitment-people"][data-layout=centered] .ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="crm-recruitment-people"][data-layout=centered] .ip-art{width:min(760px,100%)}
[data-gp-theme="crm-recruitment-people"][data-layout=minimalist] :is(.ip-section,.ip-hero){padding-block:42px}[data-gp-theme="crm-recruitment-people"][data-layout=minimalist] :is(.ip-card,.ip-art,.ip-note){border-radius:0;box-shadow:none;background-image:none}[data-gp-theme="crm-recruitment-people"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5vw,64px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="crm-recruitment-people"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5cqw,64px)}}[data-gp-theme="crm-recruitment-people"][data-layout=minimalist] :is(.mullions,.glaze-rim,.cake-sticker,.paper-corner){opacity:0}[data-gp-theme="crm-recruitment-people"][data-layout=minimalist] :is(.ip-art img,.opening img){border-radius:0}
[data-gp-theme="crm-recruitment-people"][data-layout=edge-hero] .ip-hero{width:100%;padding-inline:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="crm-recruitment-people"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4vw)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="crm-recruitment-people"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4cqw)}}[data-gp-theme="crm-recruitment-people"][data-layout=edge-hero] .ip-art{height:600px}[data-gp-theme="crm-recruitment-people"][data-layout=edge-hero] .ip-art img{border-radius:0}[data-gp-theme="crm-recruitment-people"][data-layout=edge-hero] .ip-art figcaption{padding:8px 20px}
[data-gp-theme="crm-recruitment-people"][data-layout=full-width] .inside-page>.ip-opening{width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="crm-recruitment-people"][data-layout=full-width] .inside-page>.ip-opening{padding-inline:4cqw}}
[data-gp-theme="crm-recruitment-people"][data-layout=centered] .inside-page>.ip-opening{display:flex;flex-direction:column;align-items:center;text-align:center;width:min(1000px,calc(100% - 48px));gap:30px}[data-gp-theme="crm-recruitment-people"][data-layout=centered] .inside-page>.ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="crm-recruitment-people"][data-layout=centered] .inside-page>.ip-opening>figure{width:min(780px,100%)}
[data-gp-theme="crm-recruitment-people"][data-layout=minimalist] .inside-page>.ip-opening{padding-block:38px}[data-gp-theme="crm-recruitment-people"][data-layout=minimalist] .inside-page>.ip-opening :is(h1,figure){box-shadow:none;border-radius:0}
[data-gp-theme="crm-recruitment-people"][data-layout=edge-hero] .inside-page>.ip-opening{width:100%;max-width:none;padding:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="crm-recruitment-people"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="crm-recruitment-people"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4cqw}}[data-gp-theme="crm-recruitment-people"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:600px;max-width:none;align-self:stretch}[data-gp-theme="crm-recruitment-people"][data-layout=edge-hero] .inside-page>.ip-opening>figure img{height:100%;object-fit:cover;border-radius:0}
/* Existing home compositions gain real width/spacing modes without replacing their content. */
[data-gp-theme="crm-recruitment-people"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="crm-recruitment-people"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){padding-inline:4cqw}}
[data-gp-theme="crm-recruitment-people"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child{text-align:center}
[data-gp-theme="crm-recruitment-people"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(h1,p){margin-inline:auto}[data-gp-theme="crm-recruitment-people"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(.opening-copy,.elevation-copy,.cake-copy,.hero-copy){text-align:center}
[data-gp-theme="crm-recruitment-people"][data-layout=minimalist]:not([data-inside]) .gp-source-main>section{padding-block:44px}[data-gp-theme="crm-recruitment-people"][data-layout=minimalist]:not([data-inside]) :is(.hero-sleeve,.calendar,.hello-note,.open-book){box-shadow:none}
[data-gp-theme="crm-recruitment-people"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child{width:100%;max-width:none;margin-inline:0;padding-inline:0;background:var(--ip-wash)}[data-gp-theme="crm-recruitment-people"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="crm-recruitment-people"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4cqw}}[data-gp-theme="crm-recruitment-people"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:600px}
@media(hover:hover) and (pointer:fine){[data-gp-theme="crm-recruitment-people"] .ip-action:hover{transform:translateY(-2px)}[data-gp-theme="crm-recruitment-people"] .site-directory a:hover{text-decoration:underline}}
@media(max-width:850px){[data-gp-theme="crm-recruitment-people"] .ip-hero,[data-gp-theme="crm-recruitment-people"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="crm-recruitment-people"] .ip-hero{gap:30px}[data-gp-theme="crm-recruitment-people"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="crm-recruitment-people"] .ip-two{gap:30px}[data-gp-theme="crm-recruitment-people"] .ip-art{height:340px}}
@containerfs-editor-canvas (max-width: 850px){[data-gp-theme="crm-recruitment-people"] .ip-hero,[data-gp-theme="crm-recruitment-people"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="crm-recruitment-people"] .ip-hero{gap:30px}[data-gp-theme="crm-recruitment-people"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="crm-recruitment-people"] .ip-two{gap:30px}[data-gp-theme="crm-recruitment-people"] .ip-art{height:340px}}
@media(max-width:600px){[data-gp-theme="crm-recruitment-people"] .ip-hero,[data-gp-theme="crm-recruitment-people"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="crm-recruitment-people"] .ip-hero,[data-gp-theme="crm-recruitment-people"] .ip-two,[data-gp-theme="crm-recruitment-people"] .ip-grid,[data-gp-theme="crm-recruitment-people"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="crm-recruitment-people"] .ip-art{height:300px}[data-gp-theme="crm-recruitment-people"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="crm-recruitment-people"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="crm-recruitment-people"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="crm-recruitment-people"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="crm-recruitment-people"] .site-directory{padding:22px!important}[data-gp-theme="crm-recruitment-people"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="crm-recruitment-people"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="crm-recruitment-people"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="crm-recruitment-people"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="crm-recruitment-people"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="crm-recruitment-people"] .ip-hero,[data-gp-theme="crm-recruitment-people"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="crm-recruitment-people"] .ip-hero,[data-gp-theme="crm-recruitment-people"] .ip-two,[data-gp-theme="crm-recruitment-people"] .ip-grid,[data-gp-theme="crm-recruitment-people"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="crm-recruitment-people"] .ip-art{height:300px}[data-gp-theme="crm-recruitment-people"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="crm-recruitment-people"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="crm-recruitment-people"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="crm-recruitment-people"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="crm-recruitment-people"] .site-directory{padding:22px!important}[data-gp-theme="crm-recruitment-people"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="crm-recruitment-people"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="crm-recruitment-people"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="crm-recruitment-people"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="crm-recruitment-people"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@media(max-width:600px){[data-gp-theme="crm-recruitment-people"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="crm-recruitment-people"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="crm-recruitment-people"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="crm-recruitment-people"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="crm-recruitment-people"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="crm-recruitment-people"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
[data-gp-theme="crm-recruitment-people"] .inside-page a[aria-disabled=true]{cursor:default;text-decoration:none}
[data-gp-theme="crm-recruitment-people"][data-layout=edge-hero] .inside-page .ip-hero .ip-art{transform:none}
@media(prefers-reduced-motion:reduce){[data-gp-theme="crm-recruitment-people"] .ip-action{transition:none;transform:none!important}}
/* Task actions always use an explicit contrasting pair, including themed form overrides. */
[data-gp-theme="crm-recruitment-people"][data-site] .inside-page :is(.ip-form :is(button,[role="button"]):is([type="submit"],[data-gp-button-type="submit"]),[data-save-draft],.ip-action:not(.secondary)){
 background:var(--ip-ink)!important;color:var(--ip-paper)!important;border:1px solid var(--ip-ink)!important;
 min-height:48px;padding:12px 22px;font-size:16px;line-height:1.4;
}
[data-gp-theme="crm-recruitment-people"][data-site] .inside-page .ip-action.secondary{background:transparent!important;color:var(--ip-ink)!important;border-color:var(--ip-line)!important}
[data-gp-theme="crm-recruitment-people"][data-site] .inside-page .ip-form :is(select,select option){background-color:var(--ip-paper);color:var(--ip-ink)}
[data-gp-theme="crm-recruitment-people"] .site-plan-label{display:block;font:400 14px/1.45 var(--body,sans-serif);margin-top:6px;text-decoration:none;opacity:1}
[data-gp-theme="crm-recruitment-people"] a[data-preview-plan]{cursor:pointer}[data-gp-theme="crm-recruitment-people"] .inside-page a[data-preview-plan]{text-decoration:none}
[data-gp-theme="crm-recruitment-people"][data-site] .site-directory a[data-preview-plan]{display:flex;flex-direction:column;align-items:flex-start;gap:2px}[data-gp-theme="crm-recruitment-people"] .site-directory .site-plan-label{font-size:13px;margin:0}


[data-gp-theme="crm-recruitment-people"][data-inside] .ip-opening,[data-gp-theme="crm-recruitment-people"][data-inside] .ip-section{width:min(1240px,calc(100% - 72px));margin-inline:auto;padding:64px 0;border-bottom:1px solid var(--line,#a8b6bb)}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-opening{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:56px;align-items:center;padding-top:76px}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-opening>div:only-child{grid-column:1/-1;max-width:920px}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-opening h1{font-family:var(--display,serif);font-size:clamp(46px,6vw,88px);line-height:1.05;margin:0 0 28px;overflow-wrap:break-word}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-opening h1{font-size:clamp(46px,6cqw,88px)}}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-lead{font-size:clamp(20px,2vw,25px);max-width:52ch;line-height:1.5}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-lead{font-size:clamp(20px,2cqw,25px)}}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-section h2{font-size:clamp(30px,3.5vw,52px);margin:0 0 28px;max-width:24ch}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-section h2{font-size:clamp(30px,3.5cqw,52px)}}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-section h3{font-size:clamp(23px,2.4vw,32px);margin-bottom:15px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-section h3{font-size:clamp(23px,2.4cqw,32px)}}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-section p{max-width:68ch;line-height:1.65}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-section p+p{margin-top:18px}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-columns article{border-top:2px solid var(--accent,#345c68);padding-top:22px}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-reading{max-width:75ch}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-media{margin:0;min-width:0}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-media img{width:100%;height:auto;max-height:520px;min-height:240px;object-fit:cover;display:block}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-media figcaption{font-size:14px;margin-top:12px;line-height:1.5}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-ledger{margin:0;min-width:0}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-ledger>div{display:grid;grid-template-columns:minmax(140px,.6fr) minmax(0,1.6fr);gap:26px;border-top:1px solid var(--line,#aaa);padding:20px 0}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-ledger dt{font-weight:650}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-ledger dd{margin:0;max-width:65ch}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-detail{display:grid;grid-template-columns:1fr 1.35fr;gap:55px}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-action{display:inline-flex;align-items:center;min-height:48px;padding:13px 20px;border:1px solid currentColor;margin-top:24px;text-decoration:none;font-weight:650}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-form{max-width:780px;display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:28px}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-form label{display:grid;gap:9px;min-width:0;font-size:17px;font-weight:600}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-form label:has(textarea){grid-column:1/-1}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-form input,[data-gp-theme="crm-recruitment-people"][data-inside] .ip-form select,[data-gp-theme="crm-recruitment-people"][data-inside] .ip-form textarea{box-sizing:border-box;width:100%;min-width:0;min-height:48px;background:var(--paper,#fff);color:var(--ink,#123);border:1px solid var(--line,#aaa);font:inherit;padding:12px;border-radius:0}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-form :is(button,[role="button"]){justify-self:start;min-height:48px;padding:12px 24px}
[data-gp-theme="crm-recruitment-people"][data-inside] [data-draft-output]{max-width:780px;white-space:pre-wrap;overflow-wrap:anywhere;margin:24px 0;padding:24px;border:1px solid var(--line,#aaa)}
[data-gp-theme="crm-recruitment-people"][data-inside] [hidden]{display:none!important}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-checklist{max-width:800px}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-checklist label{display:flex;align-items:start;gap:14px;padding:18px 0;border-top:1px solid var(--line,#aaa);font:inherit}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-checklist input{width:22px;height:22px;min-height:22px;flex:none;accent-color:var(--accent,#456);margin:4px 0 0}
[data-gp-theme="crm-recruitment-people"][data-inside] [data-check-count],[data-gp-theme="crm-recruitment-people"][data-inside] [data-filter-count]{display:block;font-size:15px;padding:14px 0;background:transparent;border:0}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-filter-buttons,[data-gp-theme="crm-recruitment-people"][data-inside] .ip-choice [role=group]{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-filter-buttons :is(button,[role="button"]),[data-gp-theme="crm-recruitment-people"][data-inside] .ip-choice :is(button,[role="button"]){padding:12px 20px;min-height:48px;background:var(--paper,#fff);color:var(--ink,#123);border:1px solid currentColor}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-filter-buttons :is(button,[role="button"])[aria-pressed=true],[data-gp-theme="crm-recruitment-people"][data-inside] .ip-choice :is(button,[role="button"])[aria-pressed=true]{background:var(--ink,#123);color:var(--paper,#fff)}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-records{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-records article{padding:28px;border:1px solid var(--line,#aaa);min-width:0}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-record-label{display:block;margin-bottom:24px;font-size:14px}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-choice [data-note-result]{padding:24px;background:var(--wash,#eee);border-left:3px solid var(--accent,#456);min-height:100px}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-closing{background:var(--wash,#eee);padding:38px!important;margin-block:32px!important}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-section details{padding:21px 0;border-top:1px solid var(--line,#aaa)}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-section summary{min-height:44px;cursor:pointer;font-weight:650}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-section details p{margin-top:12px}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-sequence{list-style:none;margin:0;padding:0;counter-reset:sequence}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-sequence li{counter-increment:sequence;display:grid;grid-template-columns:64px 1fr;gap:24px;border-top:1px solid var(--line,#aaa);padding:28px 0}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-sequence li:before{content:counter(sequence,decimal-leading-zero);font:32px var(--display,serif);color:var(--accent,#456)}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-sequence h3{margin-bottom:12px}
[data-gp-theme="crm-recruitment-people"][data-inside] :is(a,:is(button,[role="button"]),input,select,textarea,summary):focus-visible{outline:3px solid var(--accent,#456);outline-offset:4px}
@media(hover:hover) and (pointer:fine){[data-gp-theme="crm-recruitment-people"][data-inside] :is(.ip-action,.ip-filter-buttons :is(button,[role="button"]),.ip-choice button){transition:transform 150ms ease,opacity 150ms ease}[data-gp-theme="crm-recruitment-people"][data-inside] :is(.ip-action,.ip-filter-buttons :is(button,[role="button"]),.ip-choice button):hover{transform:translateY(-2px)}}
@media(max-width:760px){[data-gp-theme="crm-recruitment-people"][data-inside] .ip-opening,[data-gp-theme="crm-recruitment-people"][data-inside] .ip-section{width:calc(100% - 36px);padding-block:42px}[data-gp-theme="crm-recruitment-people"][data-inside] .ip-opening,[data-gp-theme="crm-recruitment-people"][data-inside] .ip-detail{grid-template-columns:1fr;gap:28px}[data-gp-theme="crm-recruitment-people"][data-inside] .ip-columns,[data-gp-theme="crm-recruitment-people"][data-inside] .ip-records{grid-template-columns:1fr;gap:28px}[data-gp-theme="crm-recruitment-people"][data-inside] .ip-opening h1{font-size:clamp(41px,10vw,68px)}[data-gp-theme="crm-recruitment-people"][data-inside] .ip-form{grid-template-columns:1fr}[data-gp-theme="crm-recruitment-people"][data-inside] .ip-ledger>div{grid-template-columns:1fr;gap:8px}[data-gp-theme="crm-recruitment-people"][data-inside] .ip-closing{padding:26px!important}[data-gp-theme="crm-recruitment-people"][data-inside] .ip-sequence li{grid-template-columns:44px 1fr;gap:12px}}
@containerfs-editor-canvas (max-width: 760px){[data-gp-theme="crm-recruitment-people"][data-inside] .ip-opening,[data-gp-theme="crm-recruitment-people"][data-inside] .ip-section{width:calc(100% - 36px);padding-block:42px}[data-gp-theme="crm-recruitment-people"][data-inside] .ip-opening,[data-gp-theme="crm-recruitment-people"][data-inside] .ip-detail{grid-template-columns:1fr;gap:28px}[data-gp-theme="crm-recruitment-people"][data-inside] .ip-columns,[data-gp-theme="crm-recruitment-people"][data-inside] .ip-records{grid-template-columns:1fr;gap:28px}[data-gp-theme="crm-recruitment-people"][data-inside] .ip-opening h1{font-size:clamp(41px,10cqw,68px)}[data-gp-theme="crm-recruitment-people"][data-inside] .ip-form{grid-template-columns:1fr}[data-gp-theme="crm-recruitment-people"][data-inside] .ip-ledger>div{grid-template-columns:1fr;gap:8px}[data-gp-theme="crm-recruitment-people"][data-inside] .ip-closing{padding:26px!important}[data-gp-theme="crm-recruitment-people"][data-inside] .ip-sequence li{grid-template-columns:44px 1fr;gap:12px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="crm-recruitment-people"][data-inside] :is(button,.ip-action){transition:none!important;transform:none!important}}
[data-gp-theme="crm-recruitment-people"][data-inside][data-keyboard] :is(button,.ip-action){transform:none!important}

[data-gp-theme="crm-recruitment-people"][data-inside] .ip-opening{border-bottom:0;position:relative}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-opening:before{content:"";position:absolute;left:0;top:38px;width:48px;height:5px;background:var(--accent)}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-opening h1{max-width:14ch;letter-spacing:-.035em}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-media img{aspect-ratio:4/5;object-position:center}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-section{border-bottom:0;border-left:2px solid var(--accent);padding-left:38px;margin-block:20px}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-section h2{font-family:Literata,var(--display),serif;font-weight:400}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-records article{background:var(--wash);border-radius:0 34px 34px 34px;border:0}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-reading{font-size:20px}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-draft{background:var(--wash);padding:38px!important}
[data-gp-theme="crm-recruitment-people"][data-inside] .ip-sequence li:before{border:1px solid currentColor;border-radius:50%;width:52px;height:52px;display:grid;place-items:center;font-size:25px}
@media(max-width:760px){[data-gp-theme="crm-recruitment-people"][data-inside] .ip-section{padding-left:20px}[data-gp-theme="crm-recruitment-people"][data-inside] .ip-media img{aspect-ratio:4/3}[data-gp-theme="crm-recruitment-people"][data-inside] .ip-sequence li{grid-template-columns:45px 1fr}[data-gp-theme="crm-recruitment-people"][data-inside] .ip-sequence li:before{width:38px;height:38px;font-size:20px}}
@containerfs-editor-canvas (max-width: 760px){[data-gp-theme="crm-recruitment-people"][data-inside] .ip-section{padding-left:20px}[data-gp-theme="crm-recruitment-people"][data-inside] .ip-media img{aspect-ratio:4/3}[data-gp-theme="crm-recruitment-people"][data-inside] .ip-sequence li{grid-template-columns:45px 1fr}[data-gp-theme="crm-recruitment-people"][data-inside] .ip-sequence li:before{width:38px;height:38px;font-size:20px}}

/* Owner selected alternative on 18 October 2026. Main heading roles only. */
[data-gp-theme="crm-recruitment-people"][data-gp-kind="section"] h1{font-family:"Source Sans 3", sans-serif!important;font-weight:600!important;letter-spacing:-0.01em!important;line-height:1.12!important;font-variation-settings:normal!important;font-optical-sizing:auto!important}
[data-gp-theme="crm-recruitment-people"][data-gp-kind="section"] h2{font-family:"Figtree", sans-serif!important;font-weight:600!important;letter-spacing:-.01em!important;line-height:1.17!important;font-variation-settings:normal!important;font-optical-sizing:auto!important}
[data-gp-theme="crm-recruitment-people"][data-gp-kind="section"] h3{font-family:"Figtree", sans-serif!important;font-weight:600!important;letter-spacing:0!important;line-height:1.25!important;font-variation-settings:normal!important}
[data-gp-theme="crm-recruitment-people"][data-inside][data-gp-kind="section"] h1{font-family:"Source Sans 3", sans-serif!important;line-height:1.14!important;letter-spacing:-.012em!important;font-weight:600!important;text-transform:none!important}
@media(max-width:650px){[data-gp-theme="crm-recruitment-people"][data-gp-kind="section"] h1{line-height:1.12!important;letter-spacing:-0.01em!important}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="crm-recruitment-people"][data-gp-kind="section"] h1{line-height:1.12!important;letter-spacing:-0.01em!important}}


[data-gp-theme="crm-recruitment-people"] .u-experience{margin:72px auto;padding:48px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink);width:min(1280px,calc(100% - 80px));scroll-margin-top:30px}
[data-gp-theme="crm-recruitment-people"] .inside-page .u-experience{width:min(1280px,calc(100% - 80px));margin:48px auto}[data-gp-theme="crm-recruitment-people"] .u-experience *{box-sizing:border-box}[data-gp-theme="crm-recruitment-people"] .u-experience [hidden]{display:none!important}
[data-gp-theme="crm-recruitment-people"] .u-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:end;margin-bottom:32px}[data-gp-theme="crm-recruitment-people"] .u-heading h2{font-size:clamp(32px,4vw,58px);max-width:20ch}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="crm-recruitment-people"] .u-heading h2{font-size:clamp(32px,4cqw,58px)}}[data-gp-theme="crm-recruitment-people"] .u-heading p{max-width:50ch}[data-gp-theme="crm-recruitment-people"] .u-caption{font-size:14px;line-height:1.5;color:var(--muted)}
[data-gp-theme="crm-recruitment-people"] .u-choices{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}[data-gp-theme="crm-recruitment-people"] .u-experience :is(button,[role="button"]),[data-gp-theme="crm-recruitment-people"] .u-link{min-height:44px;padding:10px 16px;background:var(--paper);border:1px solid var(--line);color:var(--ink);font:600 16px/1.4 var(--body);cursor:pointer;text-decoration:none}[data-gp-theme="crm-recruitment-people"] .u-experience :is(button,[role="button"])[aria-pressed=true]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}[data-gp-theme="crm-recruitment-people"] .u-experience :is(button,[role="button"]):focus-visible,[data-gp-theme="crm-recruitment-people"] .u-experience a:focus-visible,[data-gp-theme="crm-recruitment-people"] .u-experience summary:focus-visible,[data-gp-theme="crm-recruitment-people"] .u-experience input:focus-visible{outline:3px solid var(--accent);outline-offset:4px}[data-gp-theme="crm-recruitment-people"] .u-experience :is(button,[role="button"]):active{transform:scale(.98)}
[data-gp-theme="crm-recruitment-people"] .u-experience svg{display:block;width:100%;height:auto;color:var(--ink)}[data-gp-theme="crm-recruitment-people"] .u-art-paper{fill:var(--paper)}[data-gp-theme="crm-recruitment-people"] .u-art-wash{fill:var(--wash)}[data-gp-theme="crm-recruitment-people"] .u-art-accent{fill:var(--accent)}[data-gp-theme="crm-recruitment-people"] .u-art-line{fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}[data-gp-theme="crm-recruitment-people"] .u-art-fine{fill:none;stroke:var(--ink);stroke-width:1;opacity:.65}[data-gp-theme="crm-recruitment-people"] .u-art-note{font:16px var(--body);fill:var(--ink)}
[data-gp-theme="crm-recruitment-people"] .u-check{display:flex;align-items:flex-start;gap:12px;min-height:48px;padding:14px 0;border-top:1px solid var(--line);cursor:pointer;line-height:1.45}[data-gp-theme="crm-recruitment-people"] .u-check input{accent-color:var(--accent);width:21px;height:21px;flex:0 0 21px;margin:2px 0 0}[data-gp-theme="crm-recruitment-people"] .u-check span:not(.fs-richtext){min-width:0}[data-gp-theme="crm-recruitment-people"] .u-summary{padding:28px;background:var(--wash);border-left:4px solid var(--accent);margin:28px 0}[data-gp-theme="crm-recruitment-people"] .u-summary h2,[data-gp-theme="crm-recruitment-people"] .u-summary h3{font-size:28px;margin-bottom:14px}[data-gp-theme="crm-recruitment-people"] .u-summary ul{margin:12px 0;padding-left:22px}[data-gp-theme="crm-recruitment-people"] .u-summary p{font-size:16px}[data-gp-theme="crm-recruitment-people"] .u-summary li{padding:5px 0}[data-gp-theme="crm-recruitment-people"] .u-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px}[data-gp-theme="crm-recruitment-people"] .u-bottom output{font-size:16px}[data-gp-theme="crm-recruitment-people"] .u-link{display:inline-flex;align-items:center;background:var(--ink);color:var(--paper);border-color:var(--ink)}[data-gp-theme="crm-recruitment-people"] .u-note{font-size:15px;margin-top:20px;max-width:75ch}
@media(max-width:700px){[data-gp-theme="crm-recruitment-people"] .u-experience,[data-gp-theme="crm-recruitment-people"] .inside-page .u-experience{width:calc(100% - 32px);margin:40px auto;padding:30px 0}[data-gp-theme="crm-recruitment-people"] .u-heading{grid-template-columns:1fr;gap:18px;margin-bottom:24px}[data-gp-theme="crm-recruitment-people"] .u-heading h2{font-size:36px}[data-gp-theme="crm-recruitment-people"] .u-bottom{align-items:stretch;flex-direction:column;gap:16px}[data-gp-theme="crm-recruitment-people"] .u-link{justify-content:center}[data-gp-theme="crm-recruitment-people"] .u-summary{padding:22px}[data-gp-theme="crm-recruitment-people"] .u-experience :is(button,[role="button"]){max-width:100%;overflow-wrap:anywhere}}
@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="crm-recruitment-people"] .u-experience,[data-gp-theme="crm-recruitment-people"] .inside-page .u-experience{width:calc(100% - 32px);margin:40px auto;padding:30px 0}[data-gp-theme="crm-recruitment-people"] .u-heading{grid-template-columns:1fr;gap:18px;margin-bottom:24px}[data-gp-theme="crm-recruitment-people"] .u-heading h2{font-size:36px}[data-gp-theme="crm-recruitment-people"] .u-bottom{align-items:stretch;flex-direction:column;gap:16px}[data-gp-theme="crm-recruitment-people"] .u-link{justify-content:center}[data-gp-theme="crm-recruitment-people"] .u-summary{padding:22px}[data-gp-theme="crm-recruitment-people"] .u-experience :is(button,[role="button"]){max-width:100%;overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="crm-recruitment-people"] .u-experience :is(button,[role="button"]):active{transform:none}[data-gp-theme="crm-recruitment-people"] .u-experience *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
[data-gp-theme="crm-recruitment-people"][data-input=keyboard] .u-experience :is(button,[role="button"]):active{transform:none}
[data-gp-theme="crm-recruitment-people"] .u-experience{--display:"Source Sans 3";--body:"Figtree";}

[data-gp-theme="crm-recruitment-people"] .u-story-title{border-top:2px solid var(--accent);padding:25px 0}[data-gp-theme="crm-recruitment-people"] .u-story-title h3{font-size:38px;margin-top:10px}[data-gp-theme="crm-recruitment-people"] .u-story-thread{padding-left:25px;border-left:2px solid var(--accent)}[data-gp-theme="crm-recruitment-people"] .u-day-chapter{display:grid;grid-template-columns:.9fr 1.15fr;gap:24px 45px;position:relative;padding:20px 0 38px}[data-gp-theme="crm-recruitment-people"] .u-chapter-mark{grid-column:1/-1;position:relative;font-size:16px;font-weight:600}[data-gp-theme="crm-recruitment-people"] .u-chapter-mark:before{content:'';position:absolute;left:-33px;top:6px;width:14px;height:14px;border-radius:50%;background:var(--paper);border:3px solid var(--accent)}[data-gp-theme="crm-recruitment-people"] .u-day-copy h3{font-size:30px;margin-bottom:18px;max-width:20ch}[data-gp-theme="crm-recruitment-people"] .u-day-copy>p{font-size:18px;line-height:1.7;min-height:165px}[data-gp-theme="crm-recruitment-people"] .u-day-copy details{margin-top:24px}[data-gp-theme="crm-recruitment-people"] .u-day-copy summary{font-size:16px}[data-gp-theme="crm-recruitment-people"] .u-day-copy details p{font-size:17px;line-height:1.6}[data-gp-theme="crm-recruitment-people"] .u-day-copy .u-check{font-size:16px}[data-gp-theme="crm-recruitment-people"] .u-day-chapter:nth-child(2) figure{transform:rotate(-1deg)}[data-gp-theme="crm-recruitment-people"] .u-day-chapter:nth-child(3) figure{transform:rotate(1deg)}[data-gp-theme="crm-recruitment-people"] .u-story-title+.u-story-thread{min-height:1330px}
@media(max-width:700px){[data-gp-theme="crm-recruitment-people"] .u-story-title h3{font-size:32px}[data-gp-theme="crm-recruitment-people"] .u-story-thread{padding-left:20px}[data-gp-theme="crm-recruitment-people"] .u-chapter-mark:before{left:-28px}[data-gp-theme="crm-recruitment-people"] .u-day-chapter{grid-template-columns:1fr;gap:20px;padding-bottom:35px}[data-gp-theme="crm-recruitment-people"] .u-day-chapter:nth-child(n) figure{transform:none}[data-gp-theme="crm-recruitment-people"] .u-day-copy>p{min-height:0;font-size:17px}[data-gp-theme="crm-recruitment-people"] .u-day-copy h3{font-size:28px}[data-gp-theme="crm-recruitment-people"] .u-story-title+.u-story-thread{min-height:0}[data-gp-theme="crm-recruitment-people"] .u-day-chapter figure svg{max-height:240px}}
@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="crm-recruitment-people"] .u-story-title h3{font-size:32px}[data-gp-theme="crm-recruitment-people"] .u-story-thread{padding-left:20px}[data-gp-theme="crm-recruitment-people"] .u-chapter-mark:before{left:-28px}[data-gp-theme="crm-recruitment-people"] .u-day-chapter{grid-template-columns:1fr;gap:20px;padding-bottom:35px}[data-gp-theme="crm-recruitment-people"] .u-day-chapter:nth-child(n) figure{transform:none}[data-gp-theme="crm-recruitment-people"] .u-day-copy>p{min-height:0;font-size:17px}[data-gp-theme="crm-recruitment-people"] .u-day-copy h3{font-size:28px}[data-gp-theme="crm-recruitment-people"] .u-story-title+.u-story-thread{min-height:0}[data-gp-theme="crm-recruitment-people"] .u-day-chapter figure svg{max-height:240px}}

/* Approved readability refinements, 18 October 2026.
   Only meaningful helpers, local groups and selected reading paragraphs.
   Owner-selected type families, display sizes and frozen comparisons stay authoritative. */

/* Kiln House: the brief promise and sample guidance are part of the task. */
[data-gp-theme="crm-recruitment-people"][data-site="kiln-house"] :is(.field-note,.form-note,.pairing-hint,.material-note,.light-note,.letter-note,.combination-copy small,.material-row small){font-size:14px;line-height:1.5}
[data-gp-theme="crm-recruitment-people"][data-site="kiln-house"] .form-note{margin-top:16px}
[data-gp-theme="crm-recruitment-people"][data-site="kiln-house"] :is(.quiet-button,.combination-action){font-size:15px;line-height:1.5}
[data-gp-theme="crm-recruitment-people"][data-site="kiln-house"] .quiet-button{min-height:44px}
[data-gp-theme="crm-recruitment-people"][data-site="kiln-house"] .directory-links a small{font-size:14px;line-height:1.5}

/* Small study labels explain a choice, rather than acting as an imprint. */
[data-gp-theme="crm-recruitment-people"][data-site="true-joint"] .ux-stage-bar :is(button,[role="button"]) small{font-size:14px;line-height:1.5}
[data-gp-theme="crm-recruitment-people"][data-site="neighbourhood-edit"] .ux-plan-header{font-size:14px;line-height:1.5;gap:12px;flex-wrap:wrap}
[data-gp-theme="crm-recruitment-people"][data-site="neighbourhood-edit"] .ux-room-title{margin-bottom:16px}
[data-gp-theme="crm-recruitment-people"][data-site="neighbourhood-edit"] .ux-room-title h3{margin-bottom:0}
[data-gp-theme="crm-recruitment-people"][data-site="neighbourhood-edit"] :is(.home-finder label,.home-finder output,.area-index small){font-size:14px;line-height:1.5}
[data-gp-theme="crm-recruitment-people"][data-site="neighbourhood-edit"] .home-finder select{font-size:16px;min-height:44px}
[data-gp-theme="crm-recruitment-people"][data-site="harbour"] .ux-folio .ux-document-row label{font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="crm-recruitment-people"][data-site="daymark-window-care"] .dm-sheet-head{font-size:14px;line-height:1.5;flex-wrap:wrap}
[data-gp-theme="crm-recruitment-people"][data-site="velum-window-care"] .ux-v-nav :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}

/* Existing small controls retain or gain the comfortable target height. */
[data-gp-theme="crm-recruitment-people"][data-site="stem-and-still"] .stem-slip :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:48px;gap:8px}
[data-gp-theme="crm-recruitment-people"][data-site="cake-box"] .flavour-pick :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="crm-recruitment-people"][data-site="cake-box"] .message-label small{font-size:14px;line-height:1.5}
[data-gp-theme="crm-recruitment-people"][data-site="crm-recruitment-people"] .question-buttons{gap:10px}
[data-gp-theme="crm-recruitment-people"][data-site="crm-recruitment-people"] .question-buttons :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:10px 12px}
[data-gp-theme="crm-recruitment-people"][data-site="the-second-set-programme"] .pr-order-actions :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:8px 10px}

/* The format facts belong with the large ensemble names. */
[data-gp-theme="crm-recruitment-people"][data-site="the-second-set-afterglow"] .ag-format-ribbon span:not(.fs-richtext){font-size:14px;line-height:1.5;margin-top:8px}
[data-gp-theme="crm-recruitment-people"][data-site="the-second-set-programme"] .opening-note{font-size:14px;line-height:1.5}
[data-gp-theme="crm-recruitment-people"][data-site="the-second-set-signal"] .form-note{font-size:14px;line-height:1.5}

/* Slipstream: useful record, filter and brief text; preserve the scrollable comparison. */
[data-gp-theme="crm-recruitment-people"][data-site="slipstream"] :is(.featured-price small,.rail-note,.stock-finder label,.stock-caption,.inspection-note,.inspection-instruction,.form-note,[data-gp-id="stock-count"],[data-gp-id="form-question-count"]){font-size:14px;line-height:1.5}
[data-gp-theme="crm-recruitment-people"][data-site="slipstream"] :is(.visit-form label,.form-pair label){font-size:15px;line-height:1.5}
[data-gp-theme="crm-recruitment-people"][data-site="slipstream"] :is(.car-record summary,[data-gp-id="reset-stock"],[data-gp-id="clear-compare"],.quick-compare button){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="crm-recruitment-people"][data-site="slipstream"] .stock-finder select{min-height:44px}

/* Narrow only sustained paragraphs, preserving plans, records, lists and tables. */
[data-gp-theme="crm-recruitment-people"]:is([data-site="stem-and-still"],[data-site="kiln-house"],[data-site="true-joint"])[data-inside] .ip-reading>p{max-width:64ch}

@media(max-width:700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="crm-recruitment-people"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="crm-recruitment-people"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="crm-recruitment-people"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="crm-recruitment-people"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="crm-recruitment-people"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="crm-recruitment-people"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="crm-recruitment-people"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="crm-recruitment-people"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="crm-recruitment-people"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

@containerfs-editor-canvas (max-width: 700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="crm-recruitment-people"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="crm-recruitment-people"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="crm-recruitment-people"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="crm-recruitment-people"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="crm-recruitment-people"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="crm-recruitment-people"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="crm-recruitment-people"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="crm-recruitment-people"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="crm-recruitment-people"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

/* No generic heading, body, section-spacing or panel-height reset.
   Goodpane's unused calendar CSS, Expedition's real stage envelope,
   Starlight's passage leading and Velum's display introduction need no blanket fix. */

/* Authored header/menu/footer only. Approved body, fonts and palette files stay intact. */
[data-gp-theme="crm-recruitment-people"] .ca-chrome,[data-gp-theme="crm-recruitment-people"] .ca-chrome *{box-sizing:border-box;min-width:0}
[data-gp-theme="crm-recruitment-people"] header.site-header.ca-header{width:min(1340px,calc(100% - 96px));max-width:none;margin-inline:auto;padding:26px 0;gap:22px;border:0;color:var(--ink);background:var(--paper)}
[data-gp-theme="crm-recruitment-people"] .ca-header .brand{max-width:100%;text-decoration:none;flex-shrink:1}
[data-gp-theme="crm-recruitment-people"] .ca-header .brand>span:not(.fs-richtext){min-width:0;overflow-wrap:anywhere}
[data-gp-theme="crm-recruitment-people"] .ca-header .brand small{line-height:1.45;font-size:13px}
[data-gp-theme="crm-recruitment-people"] .ca-header .brand svg{flex-shrink:0;width:38px;height:38px}
[data-gp-theme="crm-recruitment-people"] .ca-header a,[data-gp-theme="crm-recruitment-people"] .ca-header :is(button,[role="button"]){min-height:44px}
[data-gp-theme="crm-recruitment-people"] .ca-header nav{display:flex;align-items:center;gap:22px}
[data-gp-theme="crm-recruitment-people"] .ca-header nav a{display:flex;align-items:center;text-decoration:none;font:500 16px/1.35 var(--body);padding:9px 0}
[data-gp-theme="crm-recruitment-people"] .ca-trigger,[data-gp-theme="crm-recruitment-people"] .ca-menu [data-menu-close]{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:46px;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:11px 17px;font:500 15px/1.35 var(--body);cursor:pointer;white-space:normal;text-align:left}
[data-gp-theme="crm-recruitment-people"] .ca-trigger span:not(.fs-richtext){font-size:22px;line-height:1;flex:none}
[data-gp-theme="crm-recruitment-people"] .ca-label{display:block;font:500 13px/1.5 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
[data-gp-theme="crm-recruitment-people"] .ca-menu.mega-menu{width:min(1160px,calc(100% - 64px));max-height:90vh;overflow:auto;margin:auto;padding:0;background:var(--paper);color:var(--ink);border:1px solid var(--line)}
[data-gp-theme="crm-recruitment-people"] .ca-menu .menu-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 32px;border-bottom:1px solid var(--line);background:var(--paper);color:var(--ink)}
[data-gp-theme="crm-recruitment-people"] .ca-menu .menu-top>span:not(.fs-richtext){font:500 16px/1.4 var(--body)}
[data-gp-theme="crm-recruitment-people"] .ca-menu .menu-top :is(button,[role="button"]){color:var(--ink);border-color:var(--line)}
[data-gp-theme="crm-recruitment-people"] .ca-menu-body{padding:34px}
[data-gp-theme="crm-recruitment-people"] .ca-chrome h2,[data-gp-theme="crm-recruitment-people"] .ca-chrome h3,[data-gp-theme="crm-recruitment-people"] .ca-chrome p{margin:0}
[data-gp-theme="crm-recruitment-people"] .ca-chrome h2,[data-gp-theme="crm-recruitment-people"] .ca-chrome h3{font-family:var(--chrome-face,var(--display));font-weight:550;letter-spacing:-.015em;line-height:1.15;overflow-wrap:anywhere}
[data-gp-theme="crm-recruitment-people"] .ca-chrome h2{font-size:clamp(32px,4vw,52px)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="crm-recruitment-people"] .ca-chrome h2{font-size:clamp(32px,4cqw,52px)}}
[data-gp-theme="crm-recruitment-people"] .ca-chrome h3{font-size:clamp(24px,2.5vw,34px)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="crm-recruitment-people"] .ca-chrome h3{font-size:clamp(24px,2.5cqw,34px)}}
[data-gp-theme="crm-recruitment-people"] .ca-menu-title{margin:0 0 30px!important;max-width:24ch}
[data-gp-theme="crm-recruitment-people"] .ca-links{display:flex;flex-direction:column;gap:0}
[data-gp-theme="crm-recruitment-people"] .ca-links a{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:46px;padding:11px 0;text-decoration:none;font:400 17px/1.45 var(--body);border-bottom:1px solid var(--line);overflow-wrap:anywhere}
[data-gp-theme="crm-recruitment-people"] .ca-links a::after{content:'↗';flex:none;font-size:18px}
[data-gp-theme="crm-recruitment-people"] .ca-links a:last-child{border-bottom:0}
[data-gp-theme="crm-recruitment-people"] .ca-links a[aria-current=page]{font-weight:650;text-decoration:underline;text-underline-offset:5px}
[data-gp-theme="crm-recruitment-people"] .ca-chrome .site-plan-label{font:400 12px/1.35 var(--body);letter-spacing:0;text-transform:none;color:inherit;flex-basis:100%}
[data-gp-theme="crm-recruitment-people"] .ca-chrome a[data-preview-plan]{flex-wrap:wrap}
[data-gp-theme="crm-recruitment-people"] .ca-menu-utility{display:flex;flex-wrap:wrap;gap:8px 25px;padding:22px 34px;border-top:1px solid var(--line);background:var(--wash)}
[data-gp-theme="crm-recruitment-people"] .ca-menu-utility a{display:flex;align-items:center;min-height:44px;padding:5px 0;font:400 15px/1.4 var(--body);text-decoration:none}
[data-gp-theme="crm-recruitment-people"] .ca-menu-note{padding:0 34px 25px;font:400 14px/1.5 var(--body);color:var(--muted)}
[data-gp-theme="crm-recruitment-people"] footer.site-footer.ca-footer{padding:58px max(24px,calc((100vw - 1340px)/2)) 22px;background:var(--wash);color:var(--ink);border-top:1px solid var(--line)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="crm-recruitment-people"] footer.site-footer.ca-footer{padding:58px max(24px,calc((100cqw - 1340px)/2)) 22px}}
[data-gp-theme="crm-recruitment-people"] .ca-footer-inner{width:100%;max-width:1340px;margin:auto}
[data-gp-theme="crm-recruitment-people"] .ca-footer a{color:inherit}
[data-gp-theme="crm-recruitment-people"] .ca-footer-action{display:inline-flex;align-items:center;gap:20px;min-height:48px;padding:12px 0;font:500 20px/1.35 var(--body);text-decoration:none;border-bottom:1px solid currentColor}
[data-gp-theme="crm-recruitment-people"] .ca-footer-action::after{content:'↗';margin-left:auto}
[data-gp-theme="crm-recruitment-people"] .ca-footnote{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 28px;padding-top:22px;margin-top:35px;border-top:1px solid var(--line);font:400 13px/1.55 var(--body);color:var(--muted)}
[data-gp-theme="crm-recruitment-people"] .ca-footnote p{max-width:70ch}
[data-gp-theme="crm-recruitment-people"] .ca-footnote a{display:inline-flex;align-items:center;min-height:44px;white-space:normal}
[data-gp-theme="crm-recruitment-people"] .ca-footer-nav{display:flex;flex-wrap:wrap;gap:8px 25px}
[data-gp-theme="crm-recruitment-people"] .ca-footer-nav a{display:inline-flex;align-items:center;min-height:44px;padding:7px 0;font:400 16px/1.4 var(--body);text-decoration:none}
[data-gp-theme="crm-recruitment-people"] .ca-chrome :is(a,button):focus-visible{outline:3px solid var(--ink);outline-offset:5px}
@media(hover:hover) and (pointer:fine){[data-gp-theme="crm-recruitment-people"] .ca-chrome a:hover{text-decoration:underline;text-underline-offset:5px}[data-gp-theme="crm-recruitment-people"] .ca-trigger:hover{background:var(--wash)}}
@media(max-width:900px){[data-gp-theme="crm-recruitment-people"] header.site-header.ca-header{width:calc(100% - 40px);padding:20px 0;gap:16px}[data-gp-theme="crm-recruitment-people"] .ca-header .ca-primary{display:none}[data-gp-theme="crm-recruitment-people"] .ca-header .brand{font-size:24px}[data-gp-theme="crm-recruitment-people"] .ca-menu-body{padding:26px 22px}[data-gp-theme="crm-recruitment-people"] .ca-menu .menu-top{padding:16px 22px}[data-gp-theme="crm-recruitment-people"] .ca-menu-utility{padding:18px 22px;gap:6px 20px}[data-gp-theme="crm-recruitment-people"] .ca-menu-note{padding:0 22px 22px}[data-gp-theme="crm-recruitment-people"] .ca-chrome h2{font-size:clamp(30px,7vw,46px)}[data-gp-theme="crm-recruitment-people"] .ca-chrome h3{font-size:26px}[data-gp-theme="crm-recruitment-people"] .ca-menu-title{margin-bottom:24px!important}[data-gp-theme="crm-recruitment-people"] .ca-links a{font-size:17px;min-height:48px}[data-gp-theme="crm-recruitment-people"] .ca-footer-action{font-size:19px}[data-gp-theme="crm-recruitment-people"] .ca-footer-nav{gap:4px 22px}[data-gp-theme="crm-recruitment-people"] footer.site-footer.ca-footer{padding:40px 22px 20px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="crm-recruitment-people"] header.site-header.ca-header{width:calc(100% - 40px);padding:20px 0;gap:16px}[data-gp-theme="crm-recruitment-people"] .ca-header .ca-primary{display:none}[data-gp-theme="crm-recruitment-people"] .ca-header .brand{font-size:24px}[data-gp-theme="crm-recruitment-people"] .ca-menu-body{padding:26px 22px}[data-gp-theme="crm-recruitment-people"] .ca-menu .menu-top{padding:16px 22px}[data-gp-theme="crm-recruitment-people"] .ca-menu-utility{padding:18px 22px;gap:6px 20px}[data-gp-theme="crm-recruitment-people"] .ca-menu-note{padding:0 22px 22px}[data-gp-theme="crm-recruitment-people"] .ca-chrome h2{font-size:clamp(30px,7cqw,46px)}[data-gp-theme="crm-recruitment-people"] .ca-chrome h3{font-size:26px}[data-gp-theme="crm-recruitment-people"] .ca-menu-title{margin-bottom:24px!important}[data-gp-theme="crm-recruitment-people"] .ca-links a{font-size:17px;min-height:48px}[data-gp-theme="crm-recruitment-people"] .ca-footer-action{font-size:19px}[data-gp-theme="crm-recruitment-people"] .ca-footer-nav{gap:4px 22px}[data-gp-theme="crm-recruitment-people"] footer.site-footer.ca-footer{padding:40px 22px 20px}}
@media(max-width:480px){[data-gp-theme="crm-recruitment-people"] .ca-header .brand{font-size:22px}[data-gp-theme="crm-recruitment-people"] .ca-header .brand small{font-size:12px}[data-gp-theme="crm-recruitment-people"] .ca-header .brand svg{width:29px;height:29px}[data-gp-theme="crm-recruitment-people"] .ca-trigger{font-size:14px;padding:10px 12px;gap:10px}[data-gp-theme="crm-recruitment-people"] .ca-footnote{display:block}[data-gp-theme="crm-recruitment-people"] .ca-footnote a{margin-top:8px}}
@containerfs-editor-canvas (max-width: 480px){[data-gp-theme="crm-recruitment-people"] .ca-header .brand{font-size:22px}[data-gp-theme="crm-recruitment-people"] .ca-header .brand small{font-size:12px}[data-gp-theme="crm-recruitment-people"] .ca-header .brand svg{width:29px;height:29px}[data-gp-theme="crm-recruitment-people"] .ca-trigger{font-size:14px;padding:10px 12px;gap:10px}[data-gp-theme="crm-recruitment-people"] .ca-footnote{display:block}[data-gp-theme="crm-recruitment-people"] .ca-footnote a{margin-top:8px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="crm-recruitment-people"] .ca-chrome a,[data-gp-theme="crm-recruitment-people"] .ca-chrome :is(button,[role="button"]){transition:none!important;transform:none!important;animation:none!important}}

[data-gp-theme="crm-recruitment-people"] .ca-people{--chrome-face:"Figtree",sans-serif}
[data-gp-theme="crm-recruitment-people"] header.ca-people.ca-header{display:grid;grid-template-columns:1fr auto;row-gap:22px}
[data-gp-theme="crm-recruitment-people"] .ca-people .ca-header-invitation{font:500 19px/1.4 var(--body);text-decoration:none;padding:13px 18px;border:1px solid var(--line);border-radius:40px}
[data-gp-theme="crm-recruitment-people"] .ca-people .ca-journal-nav{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:17px;border-top:1px solid var(--line)}
[data-gp-theme="crm-recruitment-people"] .ca-people .ca-trigger{border:0;padding-inline:0;background:none}
[data-gp-theme="crm-recruitment-people"] .ca-people .ca-notebook{border-top:1px solid var(--ink)}
[data-gp-theme="crm-recruitment-people"] .ca-people .ca-notebook>section{display:grid;grid-template-columns:70px 1fr 1.25fr;gap:25px;padding:27px 0;border-bottom:1px solid var(--line)}
[data-gp-theme="crm-recruitment-people"] .ca-people .ca-chapter{font:400 34px/1.2 "Literata",serif;color:var(--muted)}
[data-gp-theme="crm-recruitment-people"] .ca-people .ca-notebook h3{padding-top:5px;font-weight:500}
[data-gp-theme="crm-recruitment-people"] .ca-people .ca-notebook .ca-links a{padding:7px 0;border:0}
[data-gp-theme="crm-recruitment-people"] .ca-people .ca-conversation-close{display:grid;grid-template-columns:1.2fr 1fr;gap:55px;align-items:end;padding-bottom:35px;border-bottom:1px solid var(--line)}
[data-gp-theme="crm-recruitment-people"] .ca-people .ca-conversation-close h2{max-width:15ch;font-size:clamp(36px,4.5vw,66px)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="crm-recruitment-people"] .ca-people .ca-conversation-close h2{font-size:clamp(36px,4.5cqw,66px)}}
[data-gp-theme="crm-recruitment-people"] .ca-people .ca-conversation-close p{margin:18px 0 12px;font-size:18px;max-width:35ch}
[data-gp-theme="crm-recruitment-people"] .ca-people .ca-footer-notebook{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding-top:28px}
[data-gp-theme="crm-recruitment-people"] .ca-people .ca-footer-notebook .ca-label{margin-bottom:10px}
@media(max-width:900px){[data-gp-theme="crm-recruitment-people"] header.ca-people.ca-header{row-gap:14px}[data-gp-theme="crm-recruitment-people"] .ca-people .ca-header-invitation{font-size:15px;padding:9px 13px;max-width:130px}[data-gp-theme="crm-recruitment-people"] .ca-people .ca-journal-nav{justify-content:flex-end;padding-top:10px}[data-gp-theme="crm-recruitment-people"] .ca-people .ca-notebook>section{grid-template-columns:35px 1fr;gap:12px;padding:23px 0}[data-gp-theme="crm-recruitment-people"] .ca-people .ca-notebook .ca-links{grid-column:2}[data-gp-theme="crm-recruitment-people"] .ca-people .ca-chapter{font-size:26px}[data-gp-theme="crm-recruitment-people"] .ca-people .ca-conversation-close{grid-template-columns:1fr;gap:20px}[data-gp-theme="crm-recruitment-people"] .ca-people .ca-footer-notebook{grid-template-columns:1fr;gap:22px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="crm-recruitment-people"] header.ca-people.ca-header{row-gap:14px}[data-gp-theme="crm-recruitment-people"] .ca-people .ca-header-invitation{font-size:15px;padding:9px 13px;max-width:130px}[data-gp-theme="crm-recruitment-people"] .ca-people .ca-journal-nav{justify-content:flex-end;padding-top:10px}[data-gp-theme="crm-recruitment-people"] .ca-people .ca-notebook>section{grid-template-columns:35px 1fr;gap:12px;padding:23px 0}[data-gp-theme="crm-recruitment-people"] .ca-people .ca-notebook .ca-links{grid-column:2}[data-gp-theme="crm-recruitment-people"] .ca-people .ca-chapter{font-size:26px}[data-gp-theme="crm-recruitment-people"] .ca-people .ca-conversation-close{grid-template-columns:1fr;gap:20px}[data-gp-theme="crm-recruitment-people"] .ca-people .ca-footer-notebook{grid-template-columns:1fr;gap:22px}}

/* Menu only: approved fonts, colour tokens and all non-menu markup are preserved. */
[data-gp-theme="crm-recruitment-people"] dialog[data-gp-id="mega-menu"].mega-menu{box-sizing:border-box;position:fixed;inset:0;min-width:0;min-height:0;height:fit-content;max-height:calc(100dvh - 48px);margin:auto;padding:0!important;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:var(--mi-paper,var(--paper));color:var(--mi-ink,var(--ink));border:0!important;border-radius:0;box-shadow:0 30px 100px #0005;--mi-paper:var(--paper);--mi-ink:var(--ink);--mi-wash:var(--wash);--mi-line:var(--line);--mi-accent:var(--accent);--mi-on:var(--on-accent)}
[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] *,[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] *:before,[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] *:after{box-sizing:border-box;min-width:0}
[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] .menu-top{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0;padding:20px 28px;border:0;background:transparent;color:inherit}
[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] .menu-top h2,[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] .menu-top p{margin:0;font:500 18px/1.35 var(--body);letter-spacing:0;max-width:none}
[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] [data-menu-close]{display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:none;min-height:44px;min-width:70px;padding:9px 14px;border:1px solid currentColor;border-radius:0;background:transparent;color:inherit;font:500 14px/1.3 var(--body);cursor:pointer}
[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] a{color:inherit;text-decoration:none;line-height:1.35;min-height:44px;overflow-wrap:anywhere}
[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] nav a:before{content:none}
[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] a:focus-visible,[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] :is(button,[role="button"]):focus-visible{outline:3px solid currentColor;outline-offset:4px}
[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] h3{font-family:var(--display);font-weight:500;line-height:1.15;letter-spacing:-.025em;margin:0}
[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] p{max-width:60ch;margin:0;font:400 15px/1.5 var(--body)}
[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] nav{min-width:0}
[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] .mi-small{font:400 13px/1.5 var(--body)}
[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] a{transition:background-color 150ms ease,color 150ms ease,text-decoration-color 150ms ease}
/* Reveal every authored surface on the first frame. Only text fades; never a
   pane, note, speech ribbon, worksheet or record sleeve. Also covers Signal,
   which does not load premium.css and otherwise inherits menu-arrive. */
[data-gp-theme="crm-recruitment-people"] dialog[data-gp-id="mega-menu"].mega-menu[open]:not([data-closing]){animation:none!important;opacity:1;transform:none}
[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"][open]:not([data-closing])>*{animation:none!important}
[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"][open]:not([data-closing]):not([data-keyboard]) :is(h3,p,figcaption,.command-task>span:not(.fs-richtext),.command-task>small,.crate-sleeve>strong,.crate-sleeve>small),[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"][open]:not([data-closing]):not([data-keyboard]) a:not(.crate-sleeve):not(.command-task):not(.route-brief):not(.worksheet-action){animation:gp-crmpeople-mi-menu-text 160ms ease-out both}
@keyframes gp-crmpeople-mi-menu-text{from{opacity:.25}to{opacity:1}}
@media(hover:hover){[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] a:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}}
@media(max-width:900px){[data-gp-theme="crm-recruitment-people"] dialog[data-gp-id="mega-menu"].mega-menu{width:100%;height:100dvh;max-height:none;margin:0;inset:0;border-radius:0;transform:none}[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] .menu-top{padding:16px 20px}[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] .menu-top h2{font-size:16px}[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] a{min-height:48px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="crm-recruitment-people"] dialog[data-gp-id="mega-menu"].mega-menu{width:100%;height:100dvh;max-height:none;margin:0;inset:0;border-radius:0;transform:none}[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] .menu-top{padding:16px 20px}[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] .menu-top h2{font-size:16px}[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] a{min-height:48px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] *,[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] *:before,[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] *:after{animation:none!important;transition:none!important}}

[data-gp-theme="crm-recruitment-people"] dialog[data-gp-id="mega-menu"].mega-menu{width:min(980px,calc(100% - 72px));background:transparent;box-shadow:none;overflow-x:hidden;overflow-y:auto}
[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"]::backdrop{background:color-mix(in srgb,var(--ink) 77%,transparent);backdrop-filter:blur(6px)}
[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] .menu-top{background:var(--paper);border-radius:26px 26px 0 0;width:75%;padding:18px 28px}
[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] .conversation-menu{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;align-items:start}
[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] .conversation-ribbon{padding:28px 32px;background:var(--paper);border-radius:0 0 28px 5px;position:relative}
[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] .conversation-ribbon h3{font:500 clamp(27px,3vw,39px)/1.16 var(--display);margin-bottom:22px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] .conversation-ribbon h3{font:500 clamp(27px,3cqw,39px)/1.16 var(--display)}}
[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] .conversation-ribbon nav{display:grid}[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] .conversation-ribbon a{display:flex;align-items:center;font-size:17px;padding:8px 0}
[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] .ribbon-team{margin-top:54px;background:var(--accent);color:var(--on-accent);border-radius:28px 5px 28px 28px}
[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] .conversation-reply{grid-column:1/-1;margin:26px 56px 0 95px;padding:22px 28px;background:var(--wash);border-radius:5px 28px 28px 28px}
[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] .conversation-reply p{font-size:21px;font-weight:500;margin-bottom:8px}[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] .conversation-reply nav{display:flex;flex-wrap:wrap;gap:0 24px}[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] .conversation-reply a{display:flex;align-items:center;font-size:15px}
@media(max-width:900px){[data-gp-theme="crm-recruitment-people"] dialog[data-gp-id="mega-menu"].mega-menu{background:var(--wash);overflow:auto}[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] .menu-top{width:100%;border-radius:0}[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] .conversation-menu{display:block;padding:20px}[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] .conversation-ribbon{padding:24px;border-radius:4px 24px 24px 24px;margin:0 18px 20px 0}[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] .conversation-ribbon h3{font-size:28px}[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] .ribbon-team{margin:0 0 20px 18px;border-radius:24px 4px 24px 24px}[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] .conversation-reply{margin:0;padding:18px 10px;background:transparent}[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] .conversation-reply nav{display:grid}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="crm-recruitment-people"] dialog[data-gp-id="mega-menu"].mega-menu{background:var(--wash);overflow:auto}[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] .menu-top{width:100%;border-radius:0}[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] .conversation-menu{display:block;padding:20px}[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] .conversation-ribbon{padding:24px;border-radius:4px 24px 24px 24px;margin:0 18px 20px 0}[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] .conversation-ribbon h3{font-size:28px}[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] .ribbon-team{margin:0 0 20px 18px;border-radius:24px 4px 24px 24px}[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] .conversation-reply{margin:0;padding:18px 10px;background:transparent}[data-gp-theme="crm-recruitment-people"] [data-gp-id="mega-menu"] .conversation-reply nav{display:grid}}

[data-gp-theme="crm-recruitment-people"]{--paper:rgb(var(--c-paper));--ink:rgb(var(--c-ink-950));--accent:rgb(var(--c-brand-600));--wash:rgb(var(--c-paper-soft));--line:rgb(var(--c-line));--muted:rgb(var(--c-ink-400));--on-accent:var(--fs-on-brand);--focus:rgb(var(--c-accent));--work:var(--fs-surface-inverted,var(--wash));--work-ink:var(--fs-on-surface-inverted,var(--paper));--body:var(--font-sans);}
[data-gp-theme="aperture-window-care"]{--ease-out:cubic-bezier(.23,1,.32,1);--ease-drawer:cubic-bezier(.32,.72,0,1)}
[data-gp-theme="aperture-window-care"] *{box-sizing:border-box}[data-gp-theme="aperture-window-care"]{scroll-behavior:smooth;scroll-padding-top:100px}[data-gp-theme="aperture-window-care"]{margin:0}[data-gp-theme="aperture-window-care"] img{max-width:100%;display:block}[data-gp-theme="aperture-window-care"] :is(button,[role="button"]),[data-gp-theme="aperture-window-care"] input,[data-gp-theme="aperture-window-care"] select,[data-gp-theme="aperture-window-care"] textarea{font:inherit}[data-gp-theme="aperture-window-care"] :is(button,[role="button"]),[data-gp-theme="aperture-window-care"] a,[data-gp-theme="aperture-window-care"] input,[data-gp-theme="aperture-window-care"] select,[data-gp-theme="aperture-window-care"] textarea{touch-action:manipulation}[data-gp-theme="aperture-window-care"] :is(button,[role="button"]),[data-gp-theme="aperture-window-care"] a{ -webkit-tap-highlight-color:transparent}[data-gp-theme="aperture-window-care"] :is(button,[role="button"]){cursor:pointer}[data-gp-theme="aperture-window-care"] :is(button,[role="button"]):active{transform:translateY(1px)}[data-gp-theme="aperture-window-care"] a{color:inherit;text-underline-offset:.22em}[data-gp-theme="aperture-window-care"] :is(button,[role="button"]):focus-visible,[data-gp-theme="aperture-window-care"] a:focus-visible,[data-gp-theme="aperture-window-care"] summary:focus-visible,[data-gp-theme="aperture-window-care"] input:focus-visible,[data-gp-theme="aperture-window-care"] select:focus-visible,[data-gp-theme="aperture-window-care"] textarea:focus-visible{outline:3px solid var(--focus,#346ddb);outline-offset:5px}[data-gp-theme="aperture-window-care"] textarea{resize:vertical}[data-gp-theme="aperture-window-care"] input,[data-gp-theme="aperture-window-care"] textarea{caret-color:var(--focus,currentColor)}[data-gp-theme="aperture-window-care"] :is(button,[role="button"]),[data-gp-theme="aperture-window-care"] select,[data-gp-theme="aperture-window-care"] input{min-height:44px}[data-gp-theme="aperture-window-care"] summary{cursor:pointer}[data-gp-theme="aperture-window-care"] section[id],[data-gp-theme="aperture-window-care"] footer[id]{scroll-margin-top:110px}[data-gp-theme="aperture-window-care"] [hidden]{display:none!important}[data-gp-theme="aperture-window-care"] .skip-link{position:fixed;z-index:200;top:8px;left:8px;background:#fff;color:#111;padding:12px 18px;transform:translateY(-150%)}[data-gp-theme="aperture-window-care"] .skip-link:focus{transform:none}
[data-gp-theme="aperture-window-care"] .preview-bar{min-height:42px;background:#f6f6f2;color:#252a2a;border-bottom:1px solid #d5d8d4;font:13px/1.3 "Figtree",sans-serif;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 3vw;position:relative;z-index:30}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="aperture-window-care"] .preview-bar{padding:5px 3cqw}}[data-gp-theme="aperture-window-care"] .preview-bar a{white-space:nowrap}[data-gp-theme="aperture-window-care"] .preview-bar [role=group]{display:flex;gap:2px;align-items:center}[data-gp-theme="aperture-window-care"] .preview-bar :is(button,[role="button"]){min-height:32px;background:transparent;color:inherit;border:0;padding:6px 10px;border-radius:3px;font-size:13px;transition:background-color 150ms var(--ease-out)}[data-gp-theme="aperture-window-care"] .preview-bar [aria-pressed=true]{background:#252a2a;color:#fff}[data-gp-theme="aperture-window-care"] .preview-bar :is(button,[role="button"])[data-replay-intro]{border:1px solid #b6beb8}[data-gp-theme="aperture-window-care"] .preview-label{color:#515953}[data-gp-theme="aperture-window-care"] .preview-bar::selection{background:#252a2a;color:#fff}
[data-gp-theme="aperture-window-care"] dialog.mega-menu{max-width:none;max-height:calc(100dvh - 32px);overflow:auto;border:0;padding:0;color:inherit;overscroll-behavior:contain}[data-gp-theme="aperture-window-care"] dialog.mega-menu::backdrop{background:rgb(8 16 18 / .52)}[data-gp-theme="aperture-window-care"] .mega-menu[open]{animation:gp-aperturewindow-menu-arrive 220ms var(--ease-drawer)}[data-gp-theme="aperture-window-care"] .mega-menu[data-closing]{animation:gp-aperturewindow-menu-leave 160ms var(--ease-out) forwards}[data-gp-theme="aperture-window-care"] .mega-menu[data-keyboard]{animation:none}[data-gp-theme="aperture-window-care"] .menu-lock{overflow:hidden}@keyframes gp-aperturewindow-menu-arrive{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}@keyframes gp-aperturewindow-menu-leave{to{opacity:0;transform:translateY(-10px)}}
[data-gp-theme="aperture-window-care"] .preloader{display:none;position:fixed;inset:0;z-index:190;place-content:center;pointer-events:none;text-align:center}[data-gp-theme="aperture-window-care"] .preloader.is-active{display:grid;animation:gp-aperturewindow-intro-failsafe 1.3s step-end forwards}[data-gp-theme="aperture-window-care"] .preloader.is-leaving{opacity:0;transition:opacity 180ms var(--ease-out)}@keyframes gp-aperturewindow-intro-failsafe{0%,99%{visibility:visible}100%{visibility:hidden}}
@media(max-width:650px){[data-gp-theme="aperture-window-care"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="aperture-window-care"] .preview-bar .preview-label{display:none}[data-gp-theme="aperture-window-care"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="aperture-window-care"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="aperture-window-care"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="aperture-window-care"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="aperture-window-care"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="aperture-window-care"] .preview-bar .preview-label{display:none}[data-gp-theme="aperture-window-care"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="aperture-window-care"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="aperture-window-care"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="aperture-window-care"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="aperture-window-care"]{scroll-behavior:auto}[data-gp-theme="aperture-window-care"] *,[data-gp-theme="aperture-window-care"] *::before,[data-gp-theme="aperture-window-care"] *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-gp-theme="aperture-window-care"] .preloader.is-active{display:none!important}}
@media(max-width:650px){[data-gp-theme="aperture-window-care"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="aperture-window-care"] .preview-bar a{font-size:12px}[data-gp-theme="aperture-window-care"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="aperture-window-care"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="aperture-window-care"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="aperture-window-care"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="aperture-window-care"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="aperture-window-care"] .preview-bar a{font-size:12px}[data-gp-theme="aperture-window-care"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="aperture-window-care"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="aperture-window-care"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="aperture-window-care"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}


[data-gp-theme="aperture-window-care"]{margin:0;background:var(--paper);color:var(--ink);font:18px/1.55 var(--body);text-rendering:optimizeLegibility}[data-gp-theme="aperture-window-care"] h1,[data-gp-theme="aperture-window-care"] h2,[data-gp-theme="aperture-window-care"] h3,[data-gp-theme="aperture-window-care"] p,[data-gp-theme="aperture-window-care"] figure{margin:0}[data-gp-theme="aperture-window-care"] h1,[data-gp-theme="aperture-window-care"] h2,[data-gp-theme="aperture-window-care"] h3{font-family:var(--display);font-weight:500;line-height:1.07;text-wrap:balance}[data-gp-theme="aperture-window-care"] h1{font-size:clamp(48px,6vw,90px);letter-spacing:-.055em}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="aperture-window-care"] h1{font-size:clamp(48px,6cqw,90px)}}[data-gp-theme="aperture-window-care"] h2{font-size:clamp(35px,4vw,60px);letter-spacing:-.04em}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="aperture-window-care"] h2{font-size:clamp(35px,4cqw,60px)}}[data-gp-theme="aperture-window-care"] h3{font-size:27px;letter-spacing:-.025em}[data-gp-theme="aperture-window-care"] p{max-width:65ch;text-wrap:pretty}[data-gp-theme="aperture-window-care"] a{color:inherit}[data-gp-theme="aperture-window-care"] img{width:100%;height:100%;object-fit:cover}[data-gp-theme="aperture-window-care"] :is(button,[role="button"]){color:inherit}[data-gp-theme="aperture-window-care"] :is(button,[role="button"]),[data-gp-theme="aperture-window-care"] .action{border:1px solid var(--line);background:transparent;padding:11px 19px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:46px;transition:background-color 150ms var(--ease-out),color 150ms var(--ease-out),transform 150ms var(--ease-out)}[data-gp-theme="aperture-window-care"] .action.primary,[data-gp-theme="aperture-window-care"] :is(button,[role="button"])[aria-pressed=true]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}[data-gp-theme="aperture-window-care"] .wrap{width:min(1360px,calc(100% - 96px));margin-inline:auto}[data-gp-theme="aperture-window-care"] .section{padding-block:100px}[data-gp-theme="aperture-window-care"] .stack>*+*{margin-top:24px}[data-gp-theme="aperture-window-care"] .meta,[data-gp-theme="aperture-window-care"] figcaption{font-size:14px;line-height:1.5;color:var(--muted)}[data-gp-theme="aperture-window-care"] .label{font-size:15px;font-weight:600}[data-gp-theme="aperture-window-care"] .section-head{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:40px}[data-gp-theme="aperture-window-care"] .section-head p{max-width:400px}[data-gp-theme="aperture-window-care"] .split{display:grid;grid-template-columns:1fr 1fr;gap:70px}[data-gp-theme="aperture-window-care"] .split>*{min-width:0}[data-gp-theme="aperture-window-care"] .choices{display:flex;gap:9px;flex-wrap:wrap}[data-gp-theme="aperture-window-care"] .choices :is(button,[role="button"]){font-size:16px}[data-gp-theme="aperture-window-care"] .masthead{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-block:27px;border-bottom:1px solid var(--line)}[data-gp-theme="aperture-window-care"] .wordmark{text-decoration:none;font:600 30px/1 var(--display);display:flex;align-items:center;gap:12px}[data-gp-theme="aperture-window-care"] .wordmark small{display:block;font:14px/1.4 var(--body);margin-top:8px}[data-gp-theme="aperture-window-care"] .masthead nav{display:flex;gap:28px;align-items:center;font-size:16px}[data-gp-theme="aperture-window-care"] .masthead nav a{min-height:44px;display:inline-flex;align-items:center;text-decoration:none}[data-gp-theme="aperture-window-care"] .menu-trigger svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5}[data-gp-theme="aperture-window-care"] .masthead .header-action{border-bottom:1px solid currentColor;text-decoration:none;padding-block:10px;font-size:16px}[data-gp-theme="aperture-window-care"] .mega-menu{background:var(--paper);width:min(1300px,calc(100% - 48px));margin:80px auto auto;box-shadow:0 25px 80px #0004}[data-gp-theme="aperture-window-care"] .menu-top{display:flex;align-items:start;justify-content:space-between;gap:30px;padding:36px;border-bottom:1px solid var(--line)}[data-gp-theme="aperture-window-care"] .menu-top h2{font-size:44px}[data-gp-theme="aperture-window-care"] .menu-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:45px;padding:40px}[data-gp-theme="aperture-window-care"] .menu-grid h3{font-size:22px;margin-bottom:18px}[data-gp-theme="aperture-window-care"] .menu-grid a{display:block;padding:10px 0;min-height:44px}[data-gp-theme="aperture-window-care"] .menu-grid p{font-size:16px}[data-gp-theme="aperture-window-care"] .menu-feature{background:var(--wash);padding:25px!important;text-decoration:none}[data-gp-theme="aperture-window-care"] .menu-feature strong{font:36px/1.15 var(--display);display:block;margin:18px 0}[data-gp-theme="aperture-window-care"] .menu-bottom{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding:18px 36px;font-size:14px}[data-gp-theme="aperture-window-care"] .preloader{background:var(--paper);color:var(--ink)}[data-gp-theme="aperture-window-care"] .preloader strong{font:56px var(--display)}[data-gp-theme="aperture-window-care"] label{display:grid;gap:8px;font-size:16px}[data-gp-theme="aperture-window-care"] input,[data-gp-theme="aperture-window-care"] select,[data-gp-theme="aperture-window-care"] textarea{width:100%;min-width:0;border:1px solid var(--line);padding:13px;background:var(--paper);color:var(--ink);border-radius:0;min-height:48px}[data-gp-theme="aperture-window-care"] input::placeholder,[data-gp-theme="aperture-window-care"] textarea::placeholder{color:var(--muted);opacity:1}[data-gp-theme="aperture-window-care"] :is(form,[data-gp-form]){display:grid;gap:20px}[data-gp-theme="aperture-window-care"] .form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}[data-gp-theme="aperture-window-care"] :is(form,[data-gp-form]) :is(button,[role="button"]){justify-self:start;background:var(--accent);color:var(--on-accent);border-color:var(--accent)}[data-gp-theme="aperture-window-care"] output{display:block;white-space:pre-line;overflow-wrap:anywhere;background:var(--wash);padding:22px;border:1px solid var(--line);font-size:16px}[data-gp-theme="aperture-window-care"] output:empty{display:none}[data-gp-theme="aperture-window-care"] .download{background:transparent;color:var(--ink);border-color:var(--line)}[data-gp-theme="aperture-window-care"] details{border-top:1px solid var(--line);padding:20px 0}[data-gp-theme="aperture-window-care"] summary{min-height:44px;font-weight:600}[data-gp-theme="aperture-window-care"] details p{margin-top:14px}[data-gp-theme="aperture-window-care"] .full-footer{padding-block:65px 25px;border-top:1px solid var(--line)}[data-gp-theme="aperture-window-care"] .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}[data-gp-theme="aperture-window-care"] .footer-grid h2{font-size:44px}[data-gp-theme="aperture-window-care"] .footer-grid h3{font:600 17px var(--body);margin-bottom:15px}[data-gp-theme="aperture-window-care"] .footer-grid a{display:block;min-height:44px;padding:8px 0}[data-gp-theme="aperture-window-care"] .footer-bottom{display:flex;justify-content:space-between;gap:25px;padding-top:24px;margin-top:45px;border-top:1px solid var(--line);font-size:14px}[data-gp-theme="aperture-window-care"] .tone{background:var(--wash)}[data-gp-theme="aperture-window-care"] .rule{border-top:1px solid var(--line)}[data-gp-theme="aperture-window-care"] .task-note{min-height:72px}[data-gp-theme="aperture-window-care"] .feedback{min-height:28px;font-size:15px}[data-gp-theme="aperture-window-care"] .inkbox{background:var(--ink);color:var(--paper)}[data-gp-theme="aperture-window-care"] .inkbox .meta{color:var(--paper)}[data-gp-theme="aperture-window-care"] fieldset{margin:0;padding:0;border:0;min-width:0}[data-gp-theme="aperture-window-care"] legend{margin-bottom:12px}[data-gp-theme="aperture-window-care"] input[type=checkbox]{width:21px;min-height:21px;height:21px;accent-color:var(--accent)}[data-gp-theme="aperture-window-care"] .check{display:flex;align-items:start;gap:12px;padding:13px 0}[data-gp-theme="aperture-window-care"] .check input{flex:none;margin-top:4px}[data-gp-theme="aperture-window-care"] .menu-mark{width:70px;height:70px;display:grid;place-content:center;border:1px solid var(--line);font:40px var(--display)}[data-gp-theme="aperture-window-care"] .visual-note{padding:12px 0}[data-gp-theme="aperture-window-care"] .thin-rule{width:100%;height:1px;background:var(--line)}
@media(hover:hover) and (pointer:fine){[data-gp-theme="aperture-window-care"] .action:hover,[data-gp-theme="aperture-window-care"] :is(button,[role="button"]):hover{transform:translateY(-2px)}[data-gp-theme="aperture-window-care"] .masthead a:hover,[data-gp-theme="aperture-window-care"] .footer-grid a:hover{color:var(--accent)}}
@media(max-width:850px){[data-gp-theme="aperture-window-care"] .wrap{width:calc(100% - 48px)}[data-gp-theme="aperture-window-care"] .masthead{gap:18px}[data-gp-theme="aperture-window-care"] .masthead nav>a{display:none}[data-gp-theme="aperture-window-care"] .masthead .header-action{display:none}[data-gp-theme="aperture-window-care"] .split{gap:35px}[data-gp-theme="aperture-window-care"] .section{padding-block:70px}[data-gp-theme="aperture-window-care"] .menu-grid{gap:25px}[data-gp-theme="aperture-window-care"] .footer-grid{gap:30px}}
@containerfs-editor-canvas (max-width: 850px){[data-gp-theme="aperture-window-care"] .wrap{width:calc(100% - 48px)}[data-gp-theme="aperture-window-care"] .masthead{gap:18px}[data-gp-theme="aperture-window-care"] .masthead nav>a{display:none}[data-gp-theme="aperture-window-care"] .masthead .header-action{display:none}[data-gp-theme="aperture-window-care"] .split{gap:35px}[data-gp-theme="aperture-window-care"] .section{padding-block:70px}[data-gp-theme="aperture-window-care"] .menu-grid{gap:25px}[data-gp-theme="aperture-window-care"] .footer-grid{gap:30px}}
@media(max-width:600px){[data-gp-theme="aperture-window-care"]{font-size:17px}[data-gp-theme="aperture-window-care"] .wrap{width:calc(100% - 36px)}[data-gp-theme="aperture-window-care"] .masthead{padding-block:20px}[data-gp-theme="aperture-window-care"] .wordmark{font-size:25px}[data-gp-theme="aperture-window-care"] .wordmark small{font-size:12px}[data-gp-theme="aperture-window-care"] .menu-trigger{padding:10px 12px}[data-gp-theme="aperture-window-care"] .section{padding-block:52px}[data-gp-theme="aperture-window-care"] .section-head,[data-gp-theme="aperture-window-care"] .split{display:grid;grid-template-columns:1fr;gap:25px}[data-gp-theme="aperture-window-care"] .section-head{margin-bottom:28px}[data-gp-theme="aperture-window-care"] .form-row{grid-template-columns:1fr}[data-gp-theme="aperture-window-care"] .mega-menu{width:calc(100% - 20px);margin:10px auto}[data-gp-theme="aperture-window-care"] .menu-top{padding:24px 20px;gap:14px}[data-gp-theme="aperture-window-care"] .menu-top h2{font-size:32px}[data-gp-theme="aperture-window-care"] .menu-grid{grid-template-columns:1fr;padding:20px;gap:28px}[data-gp-theme="aperture-window-care"] .menu-feature{padding:20px!important}[data-gp-theme="aperture-window-care"] .menu-bottom{padding:18px 20px;display:grid;gap:5px}[data-gp-theme="aperture-window-care"] .footer-grid{grid-template-columns:1fr 1fr;gap:28px}[data-gp-theme="aperture-window-care"] .footer-grid>div:first-child{grid-column:1/-1}[data-gp-theme="aperture-window-care"] .footer-bottom{display:grid;gap:8px}[data-gp-theme="aperture-window-care"] .footer-grid h2{font-size:36px}[data-gp-theme="aperture-window-care"] .choices :is(button,[role="button"]){flex:1;padding:10px 12px}[data-gp-theme="aperture-window-care"] h1{font-size:52px}[data-gp-theme="aperture-window-care"] h2{font-size:38px}[data-gp-theme="aperture-window-care"] .full-footer{padding-top:45px}[data-gp-theme="aperture-window-care"] .stack>*+*{margin-top:20px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="aperture-window-care"]{font-size:17px}[data-gp-theme="aperture-window-care"] .wrap{width:calc(100% - 36px)}[data-gp-theme="aperture-window-care"] .masthead{padding-block:20px}[data-gp-theme="aperture-window-care"] .wordmark{font-size:25px}[data-gp-theme="aperture-window-care"] .wordmark small{font-size:12px}[data-gp-theme="aperture-window-care"] .menu-trigger{padding:10px 12px}[data-gp-theme="aperture-window-care"] .section{padding-block:52px}[data-gp-theme="aperture-window-care"] .section-head,[data-gp-theme="aperture-window-care"] .split{display:grid;grid-template-columns:1fr;gap:25px}[data-gp-theme="aperture-window-care"] .section-head{margin-bottom:28px}[data-gp-theme="aperture-window-care"] .form-row{grid-template-columns:1fr}[data-gp-theme="aperture-window-care"] .mega-menu{width:calc(100% - 20px);margin:10px auto}[data-gp-theme="aperture-window-care"] .menu-top{padding:24px 20px;gap:14px}[data-gp-theme="aperture-window-care"] .menu-top h2{font-size:32px}[data-gp-theme="aperture-window-care"] .menu-grid{grid-template-columns:1fr;padding:20px;gap:28px}[data-gp-theme="aperture-window-care"] .menu-feature{padding:20px!important}[data-gp-theme="aperture-window-care"] .menu-bottom{padding:18px 20px;display:grid;gap:5px}[data-gp-theme="aperture-window-care"] .footer-grid{grid-template-columns:1fr 1fr;gap:28px}[data-gp-theme="aperture-window-care"] .footer-grid>div:first-child{grid-column:1/-1}[data-gp-theme="aperture-window-care"] .footer-bottom{display:grid;gap:8px}[data-gp-theme="aperture-window-care"] .footer-grid h2{font-size:36px}[data-gp-theme="aperture-window-care"] .choices :is(button,[role="button"]){flex:1;padding:10px 12px}[data-gp-theme="aperture-window-care"] h1{font-size:52px}[data-gp-theme="aperture-window-care"] h2{font-size:38px}[data-gp-theme="aperture-window-care"] .full-footer{padding-top:45px}[data-gp-theme="aperture-window-care"] .stack>*+*{margin-top:20px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="aperture-window-care"] :is(button,[role="button"]),[data-gp-theme="aperture-window-care"] .action{transform:none!important;transition:none!important}}

[data-gp-theme="aperture-window-care"]{--paper:#edf4f4;--ink:#244e60;--accent:#244e60;--on-accent:#fff;--wash:#dce9eb;--line:#afc5cb;--muted:#466573;--display:"Instrument Sans",sans-serif;--body:"Source Sans 3",sans-serif}[data-gp-theme="aperture-window-care"][data-palette="1"]{--paper:#eef4ed;--ink:#29544e;--accent:#29544e;--wash:#dce8db;--line:#abc4b5;--muted:#46685a}[data-gp-theme="aperture-window-care"][data-palette="2"]{--paper:#f0eeee;--ink:#4d4655;--accent:#51465c;--wash:#e2dfe6;--line:#c1b9c6;--muted:#625a6a}[data-gp-theme="aperture-window-care"][data-mode="dark"]{--paper:#152a32;--ink:#e3f0f1;--accent:#b1d5de;--on-accent:#152a32;--wash:#203b45;--line:#54717c;--muted:#bfd1d6}[data-gp-theme="aperture-window-care"][data-palette="1"][data-mode="dark"]{--paper:#172e29;--wash:#24443b;--accent:#badbcc;--line:#536f63;--muted:#bfd3c8}[data-gp-theme="aperture-window-care"][data-palette="2"][data-mode="dark"]{--paper:#292630;--wash:#393441;--accent:#d3c7e2;--line:#716879;--muted:#d0c6d5}[data-gp-theme="aperture-window-care"] .ap-mark{width:28px;height:34px;display:inline-block;border:2px solid currentColor;border-right-width:8px;position:relative}[data-gp-theme="aperture-window-care"] .ap-mark:after{content:"";position:absolute;left:0;right:0;top:45%;border-top:2px solid currentColor}[data-gp-theme="aperture-window-care"] .opening{display:grid;grid-template-columns:.8fr 1.2fr;gap:0;padding-top:36px}[data-gp-theme="aperture-window-care"] .elevation-copy{padding:45px 45px 0 0;display:flex;flex-direction:column;align-items:start;gap:30px}[data-gp-theme="aperture-window-care"] .elevation-copy h1{font-size:clamp(54px,5.7vw,86px);font-weight:500}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="aperture-window-care"] .elevation-copy h1{font-size:clamp(54px,5.7cqw,86px)}}[data-gp-theme="aperture-window-care"] .elevation-copy>p{max-width:350px}[data-gp-theme="aperture-window-care"] .elevation-register{margin-top:auto;border-top:1px solid var(--line);padding:26px 0;width:100%;display:flex;justify-content:space-between;font-size:14px}[data-gp-theme="aperture-window-care"] .elevation-photo{position:relative;height:680px;min-width:0}[data-gp-theme="aperture-window-care"] .elevation-photo img{object-position:65% center}[data-gp-theme="aperture-window-care"] .elevation-photo figcaption{position:absolute;bottom:0;left:0;right:0;background:var(--paper);padding:14px 18px}[data-gp-theme="aperture-window-care"] .mullions{position:absolute;inset:0 0 48px;display:grid;grid-template-columns:1fr 1fr 1fr;pointer-events:none}[data-gp-theme="aperture-window-care"] .mullions i{border-right:9px solid var(--paper)}[data-gp-theme="aperture-window-care"] .opening-base{grid-column:1/-1;display:flex;justify-content:space-between;padding:22px 0;border-block:1px solid var(--line);font-size:15px}[data-gp-theme="aperture-window-care"] .surface-workbench{display:grid;grid-template-columns:1.2fr 1fr;border-block:1px solid var(--line)}[data-gp-theme="aperture-window-care"] .pane-drawing{background:var(--wash);padding:35px;display:flex;flex-direction:column;justify-content:space-between;gap:30px}[data-gp-theme="aperture-window-care"] .drawing-label,[data-gp-theme="aperture-window-care"] .drawing-foot{font-size:14px}[data-gp-theme="aperture-window-care"] .drawing-panes{height:320px;display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:2fr 1fr;gap:8px;border:8px solid var(--ink);background:var(--ink)}[data-gp-theme="aperture-window-care"] .drawing-panes span:not(.fs-richtext){background:var(--paper);color:var(--ink);display:grid;place-content:center;font:24px var(--display);position:relative;transition:background-color 180ms var(--ease-out)}[data-gp-theme="aperture-window-care"] .drawing-panes span:not(.fs-richtext):after{content:"";position:absolute;inset:10%;background:linear-gradient(110deg,transparent 38%,var(--wash) 40% 48%,transparent 50%);pointer-events:none}[data-gp-theme="aperture-window-care"] .pane-drawing[data-active="0"] [data-pane="0"],[data-gp-theme="aperture-window-care"] .pane-drawing[data-active="1"] [data-pane="1"],[data-gp-theme="aperture-window-care"] .pane-drawing[data-active="2"] [data-pane="2"]{background:var(--accent);color:var(--on-accent)}[data-gp-theme="aperture-window-care"] .surface-notes{padding:35px 0 35px 45px;display:grid;gap:25px;align-content:start}[data-gp-theme="aperture-window-care"] .surface-buttons{display:grid}[data-gp-theme="aperture-window-care"] .surface-buttons :is(button,[role="button"]){border:0;border-bottom:1px solid var(--line);justify-content:start;text-align:left;padding:18px}[data-gp-theme="aperture-window-care"] .surface-buttons span:not(.fs-richtext){font-size:14px;width:28px}[data-gp-theme="aperture-window-care"] .surface-notes article{min-height:145px}[data-gp-theme="aperture-window-care"] .surface-notes h3{margin-bottom:15px}[data-gp-theme="aperture-window-care"] .access-section{background:var(--wash)}[data-gp-theme="aperture-window-care"] .access-drawing{height:auto;aspect-ratio:1.7;object-fit:cover}[data-gp-theme="aperture-window-care"] .access-list article{padding:26px 0;border-top:1px solid var(--line)}[data-gp-theme="aperture-window-care"] .access-list article>span:not(.fs-richtext){font-size:14px}[data-gp-theme="aperture-window-care"] .access-list h3{margin:10px 0 15px}[data-gp-theme="aperture-window-care"] .material-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}[data-gp-theme="aperture-window-care"] .material-strip h3{margin:25px 0 16px}[data-gp-theme="aperture-window-care"] .material-swatch{height:180px;display:block;border:1px solid var(--line)}[data-gp-theme="aperture-window-care"] .material-swatch.glass{background:linear-gradient(115deg,var(--wash) 25%,var(--paper) 26% 35%,var(--wash) 36% 70%,var(--paper) 71% 75%,var(--wash) 76%)}[data-gp-theme="aperture-window-care"] .material-swatch.frame{background:repeating-linear-gradient(90deg,var(--wash) 0 15px,var(--ink) 15px 18px)}[data-gp-theme="aperture-window-care"] .material-swatch.stone{background:radial-gradient(at 15% 30%,var(--line),transparent 45%),var(--wash)}[data-gp-theme="aperture-window-care"] .scope-register{border-block:1px solid var(--line);padding:22px 0;font-size:17px}[data-gp-theme="aperture-window-care"] .menu-elevation{display:flex;gap:5px;height:100px}[data-gp-theme="aperture-window-care"] .menu-elevation i{border:2px solid var(--ink);flex:1}[data-gp-theme="aperture-window-care"] .preloader .ap-mark{width:50px;height:65px;justify-self:center;margin-bottom:25px}
@media(max-width:900px){[data-gp-theme="aperture-window-care"] .elevation-copy{padding:30px 25px 0 0}[data-gp-theme="aperture-window-care"] .elevation-copy h1{font-size:58px}[data-gp-theme="aperture-window-care"] .elevation-photo{height:610px}[data-gp-theme="aperture-window-care"] .surface-notes{padding-left:28px}[data-gp-theme="aperture-window-care"] .pane-drawing{padding:25px}[data-gp-theme="aperture-window-care"] .material-strip{gap:25px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="aperture-window-care"] .elevation-copy{padding:30px 25px 0 0}[data-gp-theme="aperture-window-care"] .elevation-copy h1{font-size:58px}[data-gp-theme="aperture-window-care"] .elevation-photo{height:610px}[data-gp-theme="aperture-window-care"] .surface-notes{padding-left:28px}[data-gp-theme="aperture-window-care"] .pane-drawing{padding:25px}[data-gp-theme="aperture-window-care"] .material-strip{gap:25px}}
@media(max-width:600px){[data-gp-theme="aperture-window-care"] .opening{grid-template-columns:1fr;padding-top:22px}[data-gp-theme="aperture-window-care"] .elevation-copy{padding:0;gap:20px}[data-gp-theme="aperture-window-care"] .elevation-copy h1{font-size:52px}[data-gp-theme="aperture-window-care"] .elevation-copy h1 br:nth-child(2){display:none}[data-gp-theme="aperture-window-care"] .elevation-copy>p{max-width:100%}[data-gp-theme="aperture-window-care"] .elevation-register{display:none}[data-gp-theme="aperture-window-care"] .elevation-photo{height:340px;margin-top:28px}[data-gp-theme="aperture-window-care"] .elevation-photo figcaption{font-size:12px;padding:10px}[data-gp-theme="aperture-window-care"] .mullions{bottom:37px}[data-gp-theme="aperture-window-care"] .mullions i{border-right-width:5px}[data-gp-theme="aperture-window-care"] .opening-base{display:grid;gap:8px;font-size:14px}[data-gp-theme="aperture-window-care"] .surface-workbench{grid-template-columns:1fr}[data-gp-theme="aperture-window-care"] .pane-drawing{padding:22px}[data-gp-theme="aperture-window-care"] .drawing-panes{height:250px;border-width:6px;gap:6px}[data-gp-theme="aperture-window-care"] .surface-notes{padding:25px 0 0}[data-gp-theme="aperture-window-care"] .surface-notes article{min-height:145px}[data-gp-theme="aperture-window-care"] .material-strip{grid-template-columns:1fr;gap:35px}[data-gp-theme="aperture-window-care"] .material-swatch{height:120px}[data-gp-theme="aperture-window-care"] .material-strip h3{margin:18px 0 12px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="aperture-window-care"] .opening{grid-template-columns:1fr;padding-top:22px}[data-gp-theme="aperture-window-care"] .elevation-copy{padding:0;gap:20px}[data-gp-theme="aperture-window-care"] .elevation-copy h1{font-size:52px}[data-gp-theme="aperture-window-care"] .elevation-copy h1 br:nth-child(2){display:none}[data-gp-theme="aperture-window-care"] .elevation-copy>p{max-width:100%}[data-gp-theme="aperture-window-care"] .elevation-register{display:none}[data-gp-theme="aperture-window-care"] .elevation-photo{height:340px;margin-top:28px}[data-gp-theme="aperture-window-care"] .elevation-photo figcaption{font-size:12px;padding:10px}[data-gp-theme="aperture-window-care"] .mullions{bottom:37px}[data-gp-theme="aperture-window-care"] .mullions i{border-right-width:5px}[data-gp-theme="aperture-window-care"] .opening-base{display:grid;gap:8px;font-size:14px}[data-gp-theme="aperture-window-care"] .surface-workbench{grid-template-columns:1fr}[data-gp-theme="aperture-window-care"] .pane-drawing{padding:22px}[data-gp-theme="aperture-window-care"] .drawing-panes{height:250px;border-width:6px;gap:6px}[data-gp-theme="aperture-window-care"] .surface-notes{padding:25px 0 0}[data-gp-theme="aperture-window-care"] .surface-notes article{min-height:145px}[data-gp-theme="aperture-window-care"] .material-strip{grid-template-columns:1fr;gap:35px}[data-gp-theme="aperture-window-care"] .material-swatch{height:120px}[data-gp-theme="aperture-window-care"] .material-strip h3{margin:18px 0 12px}}

@media(max-width:600px){[data-gp-theme="aperture-window-care"] .surface-notes article{min-height:185px}}

@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="aperture-window-care"] .surface-notes article{min-height:185px}}

@media(max-width:650px){[data-gp-theme="aperture-window-care"] .opening{grid-template-columns:minmax(0,1fr)}[data-gp-theme="aperture-window-care"] .opening>*{min-width:0}[data-gp-theme="aperture-window-care"] .opening h1{font-size:clamp(36px,10.5vw,54px)}[data-gp-theme="aperture-window-care"] .opening .elevation-copy h1 br:nth-child(2){display:block}}

@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="aperture-window-care"] .opening{grid-template-columns:minmax(0,1fr)}[data-gp-theme="aperture-window-care"] .opening>*{min-width:0}[data-gp-theme="aperture-window-care"] .opening h1{font-size:clamp(36px,10.5cqw,54px)}[data-gp-theme="aperture-window-care"] .opening .elevation-copy h1 br:nth-child(2){display:block}}

/* Preview chrome and accessibility only. Theme authors own the visual worlds. */
[data-gp-theme="aperture-window-care"][data-premium]{color-scheme:light;background:var(--paper);color:var(--ink);accent-color:var(--accent);scrollbar-color:var(--accent) var(--wash)}
[data-gp-theme="aperture-window-care"][data-premium][data-mode=dark]{color-scheme:dark}
[data-gp-theme="aperture-window-care"][data-premium] ::selection{background:var(--accent);color:var(--on-accent)}
[data-gp-theme="aperture-window-care"][data-premium] :is(input,textarea){caret-color:var(--accent)}
[data-gp-theme="aperture-window-care"][data-premium] :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--accent);outline-offset:4px}
[data-gp-theme="aperture-window-care"][data-premium] :is(input,select,textarea){max-width:100%}
[data-gp-theme="aperture-window-care"][data-premium] :is(input,textarea)::placeholder{color:var(--muted);opacity:1}
[data-gp-theme="aperture-window-care"][data-premium] .preview-bar{display:flex;flex-wrap:wrap;justify-content:flex-start;background:#f5f5f0;color:#242d2c;border-color:#cbd0c8;gap:8px 14px;position:relative;font:13px/1.3 "Figtree",sans-serif;min-height:52px;padding:6px 3vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="aperture-window-care"][data-premium] .preview-bar{padding:6px 3cqw}}
[data-gp-theme="aperture-window-care"][data-premium] .preview-bar>a{font-weight:600;min-height:40px;display:flex;align-items:center}
[data-gp-theme="aperture-window-care"][data-premium] .preview-bar [role=group]{margin-left:auto;display:flex;gap:2px}
[data-gp-theme="aperture-window-care"][data-premium] .preview-bar :is(button,select){font:13px/1.3 "Figtree",sans-serif;min-height:40px;max-width:100%;border-radius:3px}
[data-gp-theme="aperture-window-care"][data-premium] .preview-bar select{background:#fff;color:#242d2c;border:1px solid #a2ada4;padding:7px 24px 7px 9px}
[data-gp-theme="aperture-window-care"][data-premium] .preview-bar [aria-pressed=true]{background:#242d2c;color:#fff}
[data-gp-theme="aperture-window-care"][data-premium] .preview-bar .preview-label{font:12px/1.3 "Figtree",sans-serif;color:#48554f}
[data-gp-theme="aperture-window-care"][data-premium] .preview-bar :focus-visible{outline-color:#254fbb}
[data-gp-theme="aperture-window-care"][data-premium] .preview-bar [data-replay-intro]{font-size:12px;margin:0}
[data-gp-theme="aperture-window-care"][data-premium] .preview-bar [data-replay-intro]::after{content:none}
[data-gp-theme="aperture-window-care"][data-premium] .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
[data-gp-theme="aperture-window-care"][data-premium] .premium-action{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 22px;background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);text-decoration:none;font-weight:600;transition:transform 150ms var(--ease-out),background-color 150ms var(--ease-out)}
[data-gp-theme="aperture-window-care"][data-premium] .premium-action:active{transform:translateY(1px)}
[data-gp-theme="aperture-window-care"][data-premium] .premium-action:disabled{opacity:.6;cursor:not-allowed}
[data-gp-theme="aperture-window-care"][data-premium] :is(h1,h2,h3){text-wrap:balance}
[data-gp-theme="aperture-window-care"][data-premium] p{text-wrap:pretty}
/* Put down the opaque menu surface immediately, then introduce its content. */
[data-gp-theme="aperture-window-care"][data-premium] .mega-menu[open]:not([data-closing]){animation:none}
[data-gp-theme="aperture-window-care"][data-premium] .mega-menu[open]:not([data-closing])>:not(:first-child){animation:gp-aperturewindow-premium-menu-content 160ms var(--ease-out)}
[data-gp-theme="aperture-window-care"][data-premium] .mega-menu[data-keyboard]>:not(:first-child){animation:none!important}
[data-gp-theme="aperture-window-care"][data-premium][data-input=keyboard] :is(button,[role="button"]):active{transform:none}
@keyframes gp-aperturewindow-premium-menu-content{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:650px){
 [data-gp-theme="aperture-window-care"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="aperture-window-care"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="aperture-window-care"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="aperture-window-care"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="aperture-window-care"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="aperture-window-care"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="aperture-window-care"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="aperture-window-care"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@containerfs-editor-canvas (max-width: 650px){
 [data-gp-theme="aperture-window-care"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="aperture-window-care"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="aperture-window-care"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="aperture-window-care"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="aperture-window-care"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="aperture-window-care"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="aperture-window-care"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="aperture-window-care"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@media(prefers-reduced-motion:reduce){[data-gp-theme="aperture-window-care"][data-premium] .premium-action{transition:none;transform:none}}

/* Website page primitives and actual layout modes. Authored theme CSS owns identity. */
[data-gp-theme="aperture-window-care"][data-framed=true] .preview-bar,[data-gp-theme="aperture-window-care"][data-framed=true] .site-open-preview{display:none!important}
[data-gp-theme="aperture-window-care"][data-site]{--ip-paper:var(--paper,#f4f2eb);--ip-ink:var(--ink,#192f2c);--ip-wash:var(--wash,var(--paper,#e6e9df));--ip-accent:var(--accent,var(--rust,#315b50));--ip-on:var(--on-accent,var(--paper,#fff));--ip-muted:var(--muted,var(--ink,#45534d));--ip-line:var(--line,var(--rule,#a1aca5))}
[data-gp-theme="aperture-window-care"][data-inside]{background:var(--ip-paper);color:var(--ip-ink);font:18px/1.65 var(--body,"Figtree",sans-serif)}
[data-gp-theme="aperture-window-care"] .inside-page :is(h1,h2,h3){font-family:var(--display,inherit);color:inherit;letter-spacing:-.035em;line-height:1.1;font-weight:500;max-width:22ch}
[data-gp-theme="aperture-window-care"] .inside-page h1{font-size:clamp(42px,5.3vw,80px);margin:0 0 26px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="aperture-window-care"] .inside-page h1{font-size:clamp(42px,5.3cqw,80px)}}[data-gp-theme="aperture-window-care"] .inside-page h2{font-size:clamp(30px,3vw,49px);margin:0 0 24px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="aperture-window-care"] .inside-page h2{font-size:clamp(30px,3cqw,49px)}}[data-gp-theme="aperture-window-care"] .inside-page h3{font-size:25px;margin:0 0 15px}
[data-gp-theme="aperture-window-care"] .inside-page :is(p,li){max-width:72ch}[data-gp-theme="aperture-window-care"] .inside-page p{margin:0 0 20px}[data-gp-theme="aperture-window-care"] .inside-page a{color:inherit}[data-gp-theme="aperture-window-care"] .inside-page img{max-width:100%;width:100%;height:100%;object-fit:cover}[data-gp-theme="aperture-window-care"] .inside-page figure{margin:0}[data-gp-theme="aperture-window-care"] .inside-page :is(button,[role="button"]){color:inherit}
[data-gp-theme="aperture-window-care"] .ip-hero,[data-gp-theme="aperture-window-care"] .ip-section{width:min(1320px,calc(100% - 96px));margin-inline:auto;padding-block:70px}[data-gp-theme="aperture-window-care"] .ip-hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:65px}[data-gp-theme="aperture-window-care"] .ip-opening{min-width:0}[data-gp-theme="aperture-window-care"] .ip-hero:has(>.ip-opening:only-child){grid-template-columns:1fr}[data-gp-theme="aperture-window-care"] .ip-art{height:430px;position:relative}[data-gp-theme="aperture-window-care"] .ip-art img{object-fit:cover}[data-gp-theme="aperture-window-care"] .ip-art figcaption,[data-gp-theme="aperture-window-care"] .ip-caption{font-size:14px;line-height:1.5;color:var(--ip-muted);padding-top:10px}[data-gp-theme="aperture-window-care"] .ip-section>.ip-caption{margin-bottom:20px}[data-gp-theme="aperture-window-care"] .ip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}[data-gp-theme="aperture-window-care"] .ip-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px}[data-gp-theme="aperture-window-care"] .ip-card{min-width:0;border-top:1px solid var(--ip-line);padding:25px 0}[data-gp-theme="aperture-window-care"] .ip-card figure{height:230px;margin-bottom:25px}[data-gp-theme="aperture-window-care"] .ip-reading{width:min(76ch,calc(100% - 48px));margin-inline:auto;padding-block:55px}[data-gp-theme="aperture-window-care"] .ip-reading h2{margin-top:40px}[data-gp-theme="aperture-window-care"] .ip-ledger{margin:24px 0}[data-gp-theme="aperture-window-care"] .ip-ledger>div{display:grid;grid-template-columns:1fr 1.4fr;gap:20px;border-top:1px solid var(--ip-line);padding:15px 0}[data-gp-theme="aperture-window-care"] .ip-ledger dt{font-weight:600}[data-gp-theme="aperture-window-care"] .ip-ledger dd{margin:0}[data-gp-theme="aperture-window-care"] .ip-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border:1px solid var(--ip-accent);background:var(--ip-accent);color:var(--ip-on)!important;text-decoration:none;font-size:16px;transition:transform 150ms var(--ease-out)}[data-gp-theme="aperture-window-care"] .ip-action.secondary{background:transparent;color:var(--ip-ink)!important;border-color:var(--ip-line)}[data-gp-theme="aperture-window-care"] .ip-band{padding:55px max(24px,calc((100% - 1320px)/2));background:var(--ip-wash);color:var(--ip-ink)}[data-gp-theme="aperture-window-care"] .ip-band p{max-width:65ch}[data-gp-theme="aperture-window-care"] .ip-note{font-size:15px;border-left:3px solid var(--ip-accent);padding:12px 18px;background:var(--ip-wash);color:var(--ip-ink);margin-block:20px}[data-gp-theme="aperture-window-care"] .ip-form{display:grid;gap:22px}[data-gp-theme="aperture-window-care"] .ip-form label{display:grid;gap:8px;font-size:16px}[data-gp-theme="aperture-window-care"] .ip-form :is(input,textarea,select){width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid var(--ip-line);background:var(--ip-paper);color:var(--ip-ink);font:inherit;border-radius:0}[data-gp-theme="aperture-window-care"] .ip-form :is(input,textarea)::placeholder{color:var(--ip-muted);opacity:1}[data-gp-theme="aperture-window-care"] .ip-field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}[data-gp-theme="aperture-window-care"] .ip-form :is(button,[role="button"]){justify-self:start}[data-gp-theme="aperture-window-care"] .ip-form textarea{min-height:135px}[data-gp-theme="aperture-window-care"] .inside-page output[data-draft-output]{display:block;white-space:pre-wrap;padding:25px;background:var(--ip-wash);color:var(--ip-ink);border:1px solid var(--ip-line);overflow-wrap:anywhere}[data-gp-theme="aperture-window-care"] .ip-checks{display:grid;gap:12px}[data-gp-theme="aperture-window-care"] .ip-checks label{display:flex;align-items:start;gap:14px;border-top:1px solid var(--ip-line);padding:16px 0;min-height:52px}[data-gp-theme="aperture-window-care"] .ip-checks input{width:22px;height:22px;min-height:22px;flex-shrink:0;margin-top:4px;accent-color:var(--ip-accent)}[data-gp-theme="aperture-window-care"] .inside-page details{border-top:1px solid var(--ip-line);padding:18px 0}[data-gp-theme="aperture-window-care"] .inside-page summary{min-height:44px;font-size:21px;cursor:pointer}[data-gp-theme="aperture-window-care"] .inside-page details p{padding:16px 0 0}[data-gp-theme="aperture-window-care"] .inside-page [data-filter-group]>[role=group]{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}[data-gp-theme="aperture-window-care"] .inside-page [data-filter]{padding:10px 18px;min-height:44px;background:transparent;color:var(--ip-ink);border:1px solid var(--ip-line)}[data-gp-theme="aperture-window-care"] .inside-page [data-filter][aria-pressed=true]{background:var(--ip-accent);color:var(--ip-on)}[data-gp-theme="aperture-window-care"] .site-directory{padding:30px!important;background:var(--ip-paper)!important;color:var(--ip-ink)!important;border-top:1px solid var(--ip-line)}[data-gp-theme="aperture-window-care"] .site-directory h3{font:600 17px/1.4 var(--body,"Figtree",sans-serif);margin:0 0 16px}[data-gp-theme="aperture-window-care"] .site-directory>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 25px}[data-gp-theme="aperture-window-care"] .site-directory a{display:block;font:16px/1.5 var(--body,"Figtree",sans-serif)!important;min-height:44px;padding:10px 0!important;color:inherit!important;text-decoration:none}[data-gp-theme="aperture-window-care"] .site-directory a[aria-current=page]{text-decoration:underline;font-weight:600!important}[data-gp-theme="aperture-window-care"] .site-open-preview{display:block;padding:10px 20px;background:#eef0eb;color:#20322d;font:14px/1.4 "Figtree",sans-serif;text-align:center}
[data-gp-theme="aperture-window-care"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){width:100%;padding-inline:max(24px,4vw)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="aperture-window-care"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){padding-inline:max(24px,4cqw)}}
[data-gp-theme="aperture-window-care"]:has([data-gp-theme="aperture-window-care"][data-layout=boxed]){background:#a6afa9}[data-gp-theme="aperture-window-care"][data-layout=boxed]{width:min(1200px,calc(100% - 64px));margin-inline:auto;box-shadow:0 0 0 1px #0002,0 20px 70px #0002;min-height:100dvh;background:var(--ip-paper)}
[data-gp-theme="aperture-window-care"][data-layout=centered] :is(.ip-hero,.opening,.cake-opening,.gp-title,.book-opening,.poster-opening,.portal-opening,.destination-opening,.route-opening){text-align:center}
[data-gp-theme="aperture-window-care"][data-layout=centered] .ip-hero{grid-template-columns:1fr;max-width:1000px;justify-items:center}[data-gp-theme="aperture-window-care"][data-layout=centered] .ip-opening{display:grid;justify-items:center}[data-gp-theme="aperture-window-care"][data-layout=centered] .ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="aperture-window-care"][data-layout=centered] .ip-art{width:min(760px,100%)}
[data-gp-theme="aperture-window-care"][data-layout=minimalist] :is(.ip-section,.ip-hero){padding-block:42px}[data-gp-theme="aperture-window-care"][data-layout=minimalist] :is(.ip-card,.ip-art,.ip-note){border-radius:0;box-shadow:none;background-image:none}[data-gp-theme="aperture-window-care"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5vw,64px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="aperture-window-care"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5cqw,64px)}}[data-gp-theme="aperture-window-care"][data-layout=minimalist] :is(.mullions,.glaze-rim,.cake-sticker,.paper-corner){opacity:0}[data-gp-theme="aperture-window-care"][data-layout=minimalist] :is(.ip-art img,.opening img){border-radius:0}
[data-gp-theme="aperture-window-care"][data-layout=edge-hero] .ip-hero{width:100%;padding-inline:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="aperture-window-care"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4vw)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="aperture-window-care"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4cqw)}}[data-gp-theme="aperture-window-care"][data-layout=edge-hero] .ip-art{height:600px}[data-gp-theme="aperture-window-care"][data-layout=edge-hero] .ip-art img{border-radius:0}[data-gp-theme="aperture-window-care"][data-layout=edge-hero] .ip-art figcaption{padding:8px 20px}
[data-gp-theme="aperture-window-care"][data-layout=full-width] .inside-page>.ip-opening{width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="aperture-window-care"][data-layout=full-width] .inside-page>.ip-opening{padding-inline:4cqw}}
[data-gp-theme="aperture-window-care"][data-layout=centered] .inside-page>.ip-opening{display:flex;flex-direction:column;align-items:center;text-align:center;width:min(1000px,calc(100% - 48px));gap:30px}[data-gp-theme="aperture-window-care"][data-layout=centered] .inside-page>.ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="aperture-window-care"][data-layout=centered] .inside-page>.ip-opening>figure{width:min(780px,100%)}
[data-gp-theme="aperture-window-care"][data-layout=minimalist] .inside-page>.ip-opening{padding-block:38px}[data-gp-theme="aperture-window-care"][data-layout=minimalist] .inside-page>.ip-opening :is(h1,figure){box-shadow:none;border-radius:0}
[data-gp-theme="aperture-window-care"][data-layout=edge-hero] .inside-page>.ip-opening{width:100%;max-width:none;padding:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="aperture-window-care"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="aperture-window-care"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4cqw}}[data-gp-theme="aperture-window-care"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:600px;max-width:none;align-self:stretch}[data-gp-theme="aperture-window-care"][data-layout=edge-hero] .inside-page>.ip-opening>figure img{height:100%;object-fit:cover;border-radius:0}
/* Existing home compositions gain real width/spacing modes without replacing their content. */
[data-gp-theme="aperture-window-care"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="aperture-window-care"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){padding-inline:4cqw}}
[data-gp-theme="aperture-window-care"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child{text-align:center}
[data-gp-theme="aperture-window-care"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(h1,p){margin-inline:auto}[data-gp-theme="aperture-window-care"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(.opening-copy,.elevation-copy,.cake-copy,.hero-copy){text-align:center}
[data-gp-theme="aperture-window-care"][data-layout=minimalist]:not([data-inside]) .gp-source-main>section{padding-block:44px}[data-gp-theme="aperture-window-care"][data-layout=minimalist]:not([data-inside]) :is(.hero-sleeve,.calendar,.hello-note,.open-book){box-shadow:none}
[data-gp-theme="aperture-window-care"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child{width:100%;max-width:none;margin-inline:0;padding-inline:0;background:var(--ip-wash)}[data-gp-theme="aperture-window-care"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="aperture-window-care"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4cqw}}[data-gp-theme="aperture-window-care"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:600px}
@media(hover:hover) and (pointer:fine){[data-gp-theme="aperture-window-care"] .ip-action:hover{transform:translateY(-2px)}[data-gp-theme="aperture-window-care"] .site-directory a:hover{text-decoration:underline}}
@media(max-width:850px){[data-gp-theme="aperture-window-care"] .ip-hero,[data-gp-theme="aperture-window-care"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="aperture-window-care"] .ip-hero{gap:30px}[data-gp-theme="aperture-window-care"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="aperture-window-care"] .ip-two{gap:30px}[data-gp-theme="aperture-window-care"] .ip-art{height:340px}}
@containerfs-editor-canvas (max-width: 850px){[data-gp-theme="aperture-window-care"] .ip-hero,[data-gp-theme="aperture-window-care"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="aperture-window-care"] .ip-hero{gap:30px}[data-gp-theme="aperture-window-care"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="aperture-window-care"] .ip-two{gap:30px}[data-gp-theme="aperture-window-care"] .ip-art{height:340px}}
@media(max-width:600px){[data-gp-theme="aperture-window-care"] .ip-hero,[data-gp-theme="aperture-window-care"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="aperture-window-care"] .ip-hero,[data-gp-theme="aperture-window-care"] .ip-two,[data-gp-theme="aperture-window-care"] .ip-grid,[data-gp-theme="aperture-window-care"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="aperture-window-care"] .ip-art{height:300px}[data-gp-theme="aperture-window-care"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="aperture-window-care"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="aperture-window-care"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="aperture-window-care"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="aperture-window-care"] .site-directory{padding:22px!important}[data-gp-theme="aperture-window-care"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="aperture-window-care"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="aperture-window-care"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="aperture-window-care"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="aperture-window-care"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="aperture-window-care"] .ip-hero,[data-gp-theme="aperture-window-care"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="aperture-window-care"] .ip-hero,[data-gp-theme="aperture-window-care"] .ip-two,[data-gp-theme="aperture-window-care"] .ip-grid,[data-gp-theme="aperture-window-care"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="aperture-window-care"] .ip-art{height:300px}[data-gp-theme="aperture-window-care"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="aperture-window-care"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="aperture-window-care"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="aperture-window-care"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="aperture-window-care"] .site-directory{padding:22px!important}[data-gp-theme="aperture-window-care"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="aperture-window-care"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="aperture-window-care"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="aperture-window-care"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="aperture-window-care"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@media(max-width:600px){[data-gp-theme="aperture-window-care"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="aperture-window-care"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="aperture-window-care"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="aperture-window-care"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="aperture-window-care"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="aperture-window-care"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
[data-gp-theme="aperture-window-care"] .inside-page a[aria-disabled=true]{cursor:default;text-decoration:none}
[data-gp-theme="aperture-window-care"][data-layout=edge-hero] .inside-page .ip-hero .ip-art{transform:none}
@media(prefers-reduced-motion:reduce){[data-gp-theme="aperture-window-care"] .ip-action{transition:none;transform:none!important}}
/* Task actions always use an explicit contrasting pair, including themed form overrides. */
[data-gp-theme="aperture-window-care"][data-site] .inside-page :is(.ip-form :is(button,[role="button"]):is([type="submit"],[data-gp-button-type="submit"]),[data-save-draft],.ip-action:not(.secondary)){
 background:var(--ip-ink)!important;color:var(--ip-paper)!important;border:1px solid var(--ip-ink)!important;
 min-height:48px;padding:12px 22px;font-size:16px;line-height:1.4;
}
[data-gp-theme="aperture-window-care"][data-site] .inside-page .ip-action.secondary{background:transparent!important;color:var(--ip-ink)!important;border-color:var(--ip-line)!important}
[data-gp-theme="aperture-window-care"][data-site] .inside-page .ip-form :is(select,select option){background-color:var(--ip-paper);color:var(--ip-ink)}
[data-gp-theme="aperture-window-care"] .site-plan-label{display:block;font:400 14px/1.45 var(--body,sans-serif);margin-top:6px;text-decoration:none;opacity:1}
[data-gp-theme="aperture-window-care"] a[data-preview-plan]{cursor:pointer}[data-gp-theme="aperture-window-care"] .inside-page a[data-preview-plan]{text-decoration:none}
[data-gp-theme="aperture-window-care"][data-site] .site-directory a[data-preview-plan]{display:flex;flex-direction:column;align-items:flex-start;gap:2px}[data-gp-theme="aperture-window-care"] .site-directory .site-plan-label{font-size:13px;margin:0}


[data-gp-theme="aperture-window-care"][data-inside] .ip-opening,[data-gp-theme="aperture-window-care"][data-inside] .ip-section{width:min(1240px,calc(100% - 72px));margin-inline:auto;padding:64px 0;border-bottom:1px solid var(--line,#a8b6bb)}
[data-gp-theme="aperture-window-care"][data-inside] .ip-opening{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:56px;align-items:center;padding-top:76px}
[data-gp-theme="aperture-window-care"][data-inside] .ip-opening>div:only-child{grid-column:1/-1;max-width:920px}
[data-gp-theme="aperture-window-care"][data-inside] .ip-opening h1{font-family:var(--display,serif);font-size:clamp(46px,6vw,88px);line-height:1.05;margin:0 0 28px;overflow-wrap:break-word}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="aperture-window-care"][data-inside] .ip-opening h1{font-size:clamp(46px,6cqw,88px)}}
[data-gp-theme="aperture-window-care"][data-inside] .ip-lead{font-size:clamp(20px,2vw,25px);max-width:52ch;line-height:1.5}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="aperture-window-care"][data-inside] .ip-lead{font-size:clamp(20px,2cqw,25px)}}
[data-gp-theme="aperture-window-care"][data-inside] .ip-section h2{font-size:clamp(30px,3.5vw,52px);margin:0 0 28px;max-width:24ch}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="aperture-window-care"][data-inside] .ip-section h2{font-size:clamp(30px,3.5cqw,52px)}}
[data-gp-theme="aperture-window-care"][data-inside] .ip-section h3{font-size:clamp(23px,2.4vw,32px);margin-bottom:15px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="aperture-window-care"][data-inside] .ip-section h3{font-size:clamp(23px,2.4cqw,32px)}}
[data-gp-theme="aperture-window-care"][data-inside] .ip-section p{max-width:68ch;line-height:1.65}
[data-gp-theme="aperture-window-care"][data-inside] .ip-section p+p{margin-top:18px}
[data-gp-theme="aperture-window-care"][data-inside] .ip-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
[data-gp-theme="aperture-window-care"][data-inside] .ip-columns article{border-top:2px solid var(--accent,#345c68);padding-top:22px}
[data-gp-theme="aperture-window-care"][data-inside] .ip-reading{max-width:75ch}
[data-gp-theme="aperture-window-care"][data-inside] .ip-media{margin:0;min-width:0}
[data-gp-theme="aperture-window-care"][data-inside] .ip-media img{width:100%;height:auto;max-height:520px;min-height:240px;object-fit:cover;display:block}
[data-gp-theme="aperture-window-care"][data-inside] .ip-media figcaption{font-size:14px;margin-top:12px;line-height:1.5}
[data-gp-theme="aperture-window-care"][data-inside] .ip-ledger{margin:0;min-width:0}
[data-gp-theme="aperture-window-care"][data-inside] .ip-ledger>div{display:grid;grid-template-columns:minmax(140px,.6fr) minmax(0,1.6fr);gap:26px;border-top:1px solid var(--line,#aaa);padding:20px 0}
[data-gp-theme="aperture-window-care"][data-inside] .ip-ledger dt{font-weight:650}
[data-gp-theme="aperture-window-care"][data-inside] .ip-ledger dd{margin:0;max-width:65ch}
[data-gp-theme="aperture-window-care"][data-inside] .ip-detail{display:grid;grid-template-columns:1fr 1.35fr;gap:55px}
[data-gp-theme="aperture-window-care"][data-inside] .ip-action{display:inline-flex;align-items:center;min-height:48px;padding:13px 20px;border:1px solid currentColor;margin-top:24px;text-decoration:none;font-weight:650}
[data-gp-theme="aperture-window-care"][data-inside] .ip-form{max-width:780px;display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:28px}
[data-gp-theme="aperture-window-care"][data-inside] .ip-form label{display:grid;gap:9px;min-width:0;font-size:17px;font-weight:600}
[data-gp-theme="aperture-window-care"][data-inside] .ip-form label:has(textarea){grid-column:1/-1}
[data-gp-theme="aperture-window-care"][data-inside] .ip-form input,[data-gp-theme="aperture-window-care"][data-inside] .ip-form select,[data-gp-theme="aperture-window-care"][data-inside] .ip-form textarea{box-sizing:border-box;width:100%;min-width:0;min-height:48px;background:var(--paper,#fff);color:var(--ink,#123);border:1px solid var(--line,#aaa);font:inherit;padding:12px;border-radius:0}
[data-gp-theme="aperture-window-care"][data-inside] .ip-form :is(button,[role="button"]){justify-self:start;min-height:48px;padding:12px 24px}
[data-gp-theme="aperture-window-care"][data-inside] [data-draft-output]{max-width:780px;white-space:pre-wrap;overflow-wrap:anywhere;margin:24px 0;padding:24px;border:1px solid var(--line,#aaa)}
[data-gp-theme="aperture-window-care"][data-inside] [hidden]{display:none!important}
[data-gp-theme="aperture-window-care"][data-inside] .ip-checklist{max-width:800px}
[data-gp-theme="aperture-window-care"][data-inside] .ip-checklist label{display:flex;align-items:start;gap:14px;padding:18px 0;border-top:1px solid var(--line,#aaa);font:inherit}
[data-gp-theme="aperture-window-care"][data-inside] .ip-checklist input{width:22px;height:22px;min-height:22px;flex:none;accent-color:var(--accent,#456);margin:4px 0 0}
[data-gp-theme="aperture-window-care"][data-inside] [data-check-count],[data-gp-theme="aperture-window-care"][data-inside] [data-filter-count]{display:block;font-size:15px;padding:14px 0;background:transparent;border:0}
[data-gp-theme="aperture-window-care"][data-inside] .ip-filter-buttons,[data-gp-theme="aperture-window-care"][data-inside] .ip-choice [role=group]{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}
[data-gp-theme="aperture-window-care"][data-inside] .ip-filter-buttons :is(button,[role="button"]),[data-gp-theme="aperture-window-care"][data-inside] .ip-choice :is(button,[role="button"]){padding:12px 20px;min-height:48px;background:var(--paper,#fff);color:var(--ink,#123);border:1px solid currentColor}
[data-gp-theme="aperture-window-care"][data-inside] .ip-filter-buttons :is(button,[role="button"])[aria-pressed=true],[data-gp-theme="aperture-window-care"][data-inside] .ip-choice :is(button,[role="button"])[aria-pressed=true]{background:var(--ink,#123);color:var(--paper,#fff)}
[data-gp-theme="aperture-window-care"][data-inside] .ip-records{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
[data-gp-theme="aperture-window-care"][data-inside] .ip-records article{padding:28px;border:1px solid var(--line,#aaa);min-width:0}
[data-gp-theme="aperture-window-care"][data-inside] .ip-record-label{display:block;margin-bottom:24px;font-size:14px}
[data-gp-theme="aperture-window-care"][data-inside] .ip-choice [data-note-result]{padding:24px;background:var(--wash,#eee);border-left:3px solid var(--accent,#456);min-height:100px}
[data-gp-theme="aperture-window-care"][data-inside] .ip-closing{background:var(--wash,#eee);padding:38px!important;margin-block:32px!important}
[data-gp-theme="aperture-window-care"][data-inside] .ip-section details{padding:21px 0;border-top:1px solid var(--line,#aaa)}
[data-gp-theme="aperture-window-care"][data-inside] .ip-section summary{min-height:44px;cursor:pointer;font-weight:650}
[data-gp-theme="aperture-window-care"][data-inside] .ip-section details p{margin-top:12px}
[data-gp-theme="aperture-window-care"][data-inside] .ip-sequence{list-style:none;margin:0;padding:0;counter-reset:sequence}
[data-gp-theme="aperture-window-care"][data-inside] .ip-sequence li{counter-increment:sequence;display:grid;grid-template-columns:64px 1fr;gap:24px;border-top:1px solid var(--line,#aaa);padding:28px 0}
[data-gp-theme="aperture-window-care"][data-inside] .ip-sequence li:before{content:counter(sequence,decimal-leading-zero);font:32px var(--display,serif);color:var(--accent,#456)}
[data-gp-theme="aperture-window-care"][data-inside] .ip-sequence h3{margin-bottom:12px}
[data-gp-theme="aperture-window-care"][data-inside] :is(a,:is(button,[role="button"]),input,select,textarea,summary):focus-visible{outline:3px solid var(--accent,#456);outline-offset:4px}
@media(hover:hover) and (pointer:fine){[data-gp-theme="aperture-window-care"][data-inside] :is(.ip-action,.ip-filter-buttons :is(button,[role="button"]),.ip-choice button){transition:transform 150ms ease,opacity 150ms ease}[data-gp-theme="aperture-window-care"][data-inside] :is(.ip-action,.ip-filter-buttons :is(button,[role="button"]),.ip-choice button):hover{transform:translateY(-2px)}}
@media(max-width:760px){[data-gp-theme="aperture-window-care"][data-inside] .ip-opening,[data-gp-theme="aperture-window-care"][data-inside] .ip-section{width:calc(100% - 36px);padding-block:42px}[data-gp-theme="aperture-window-care"][data-inside] .ip-opening,[data-gp-theme="aperture-window-care"][data-inside] .ip-detail{grid-template-columns:1fr;gap:28px}[data-gp-theme="aperture-window-care"][data-inside] .ip-columns,[data-gp-theme="aperture-window-care"][data-inside] .ip-records{grid-template-columns:1fr;gap:28px}[data-gp-theme="aperture-window-care"][data-inside] .ip-opening h1{font-size:clamp(41px,10vw,68px)}[data-gp-theme="aperture-window-care"][data-inside] .ip-form{grid-template-columns:1fr}[data-gp-theme="aperture-window-care"][data-inside] .ip-ledger>div{grid-template-columns:1fr;gap:8px}[data-gp-theme="aperture-window-care"][data-inside] .ip-closing{padding:26px!important}[data-gp-theme="aperture-window-care"][data-inside] .ip-sequence li{grid-template-columns:44px 1fr;gap:12px}}
@containerfs-editor-canvas (max-width: 760px){[data-gp-theme="aperture-window-care"][data-inside] .ip-opening,[data-gp-theme="aperture-window-care"][data-inside] .ip-section{width:calc(100% - 36px);padding-block:42px}[data-gp-theme="aperture-window-care"][data-inside] .ip-opening,[data-gp-theme="aperture-window-care"][data-inside] .ip-detail{grid-template-columns:1fr;gap:28px}[data-gp-theme="aperture-window-care"][data-inside] .ip-columns,[data-gp-theme="aperture-window-care"][data-inside] .ip-records{grid-template-columns:1fr;gap:28px}[data-gp-theme="aperture-window-care"][data-inside] .ip-opening h1{font-size:clamp(41px,10cqw,68px)}[data-gp-theme="aperture-window-care"][data-inside] .ip-form{grid-template-columns:1fr}[data-gp-theme="aperture-window-care"][data-inside] .ip-ledger>div{grid-template-columns:1fr;gap:8px}[data-gp-theme="aperture-window-care"][data-inside] .ip-closing{padding:26px!important}[data-gp-theme="aperture-window-care"][data-inside] .ip-sequence li{grid-template-columns:44px 1fr;gap:12px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="aperture-window-care"][data-inside] :is(button,.ip-action){transition:none!important;transform:none!important}}
[data-gp-theme="aperture-window-care"][data-inside][data-keyboard] :is(button,.ip-action){transform:none!important}

[data-gp-theme="aperture-window-care"][data-inside] .ip-opening{grid-template-columns:1fr .68fr;align-items:stretch}
[data-gp-theme="aperture-window-care"][data-inside] .ip-opening>.ip-media img{height:100%;min-height:480px;aspect-ratio:3/4}
[data-gp-theme="aperture-window-care"][data-inside] .ip-opening h1{max-width:12ch}
[data-gp-theme="aperture-window-care"][data-inside] .ip-section h2{letter-spacing:-.04em}
[data-gp-theme="aperture-window-care"][data-inside] .ip-elevation{display:grid;grid-template-columns:1fr 1fr .65fr;gap:7px;min-height:380px;border:8px solid var(--ink);padding:8px;background:var(--wash)}
[data-gp-theme="aperture-window-care"][data-inside] .ip-elevation>div{border:2px solid var(--ink);display:flex;flex-direction:column;justify-content:space-between;padding:15px;background:var(--paper)}
[data-gp-theme="aperture-window-care"][data-inside] .ip-elevation b{font:38px var(--display)}
[data-gp-theme="aperture-window-care"][data-inside] .ip-elevation span:not(.fs-richtext){font-size:14px;line-height:1.3}
[data-gp-theme="aperture-window-care"][data-inside] .ip-elevation>div:last-child{align-self:end;height:60%}
[data-gp-theme="aperture-window-care"][data-inside] .ip-records{gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
[data-gp-theme="aperture-window-care"][data-inside] .ip-records article{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:260px}
[data-gp-theme="aperture-window-care"][data-inside] .ip-detail-title{border-left:8px solid var(--accent);padding-left:25px}
@media(max-width:760px){[data-gp-theme="aperture-window-care"][data-inside] .ip-opening{grid-template-columns:1fr}[data-gp-theme="aperture-window-care"][data-inside] .ip-opening>.ip-media img{min-height:320px;max-height:480px}[data-gp-theme="aperture-window-care"][data-inside] .ip-elevation{min-height:290px}}
@containerfs-editor-canvas (max-width: 760px){[data-gp-theme="aperture-window-care"][data-inside] .ip-opening{grid-template-columns:1fr}[data-gp-theme="aperture-window-care"][data-inside] .ip-opening>.ip-media img{min-height:320px;max-height:480px}[data-gp-theme="aperture-window-care"][data-inside] .ip-elevation{min-height:290px}}

/* Owner selected alternative on 18 October 2026. Main heading roles only. */
[data-gp-theme="aperture-window-care"][data-gp-kind="section"] h1{font-family:"Manrope", sans-serif!important;font-weight:550!important;letter-spacing:-0.015em!important;line-height:1.1!important;font-variation-settings:normal!important;font-optical-sizing:auto!important}
[data-gp-theme="aperture-window-care"][data-gp-kind="section"] h2{font-family:"Source Sans 3", sans-serif!important;font-weight:600!important;letter-spacing:-.01em!important;line-height:1.17!important;font-variation-settings:normal!important;font-optical-sizing:auto!important}
[data-gp-theme="aperture-window-care"][data-gp-kind="section"] h3{font-family:"Source Sans 3", sans-serif!important;font-weight:600!important;letter-spacing:0!important;line-height:1.25!important;font-variation-settings:normal!important}
[data-gp-theme="aperture-window-care"][data-inside][data-gp-kind="section"] h1{font-family:"Manrope", sans-serif!important;line-height:1.14!important;letter-spacing:-.012em!important;font-weight:550!important;text-transform:none!important}
@media(max-width:650px){[data-gp-theme="aperture-window-care"][data-gp-kind="section"] h1{line-height:1.1!important;letter-spacing:-0.015em!important}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="aperture-window-care"][data-gp-kind="section"] h1{line-height:1.1!important;letter-spacing:-0.015em!important}}

[data-gp-theme="aperture-window-care"] .upgrade{margin-block:70px;padding-block:45px;border-block:1px solid var(--line);color:var(--ink);isolation:isolate}[data-gp-theme="aperture-window-care"] .upgrade *, [data-gp-theme="aperture-window-care"] .upgrade-summary *{box-sizing:border-box}[data-gp-theme="aperture-window-care"] .upgrade h2{font-size:clamp(32px,4vw,57px);margin:0 0 16px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="aperture-window-care"] .upgrade h2{font-size:clamp(32px,4cqw,57px)}}[data-gp-theme="aperture-window-care"] .upgrade h3{font-size:clamp(25px,2.8vw,36px);line-height:1.12}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="aperture-window-care"] .upgrade h3{font-size:clamp(25px,2.8cqw,36px)}}[data-gp-theme="aperture-window-care"] .upgrade p{font-size:17px;line-height:1.55}[data-gp-theme="aperture-window-care"] .up-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:32px}[data-gp-theme="aperture-window-care"] .up-heading>p{max-width:39ch}[data-gp-theme="aperture-window-care"] .up-work{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:36px}[data-gp-theme="aperture-window-care"] .up-work>*{min-width:0}[data-gp-theme="aperture-window-care"] .up-choice{display:flex;gap:8px;flex-wrap:wrap;margin-block:18px}[data-gp-theme="aperture-window-care"] .upgrade :is(button,[role="button"]),[data-gp-theme="aperture-window-care"] .upgrade-summary :is(button,[role="button"]){min-height:46px;padding:10px 16px;font-size:16px;line-height:1.3;gap:7px}[data-gp-theme="aperture-window-care"] .upgrade :is(button,[role="button"]):active{transform:scale(.98)}[data-gp-theme="aperture-window-care"] .upgrade :is(button,[role="button"]):disabled{opacity:.45;cursor:default}[data-gp-theme="aperture-window-care"] .upgrade :is(button,[role="button"])[aria-pressed=true]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}[data-gp-theme="aperture-window-care"] .up-caption{font-size:13px!important;padding-block:10px;border-top:1px solid var(--line)}[data-gp-theme="aperture-window-care"] .up-footer{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}[data-gp-theme="aperture-window-care"] .up-footer output{max-width:65ch;font-size:16px;line-height:1.55}[data-gp-theme="aperture-window-care"] .up-footer a,[data-gp-theme="aperture-window-care"] .upgrade-summary a{flex-shrink:0;min-height:46px;display:inline-flex;align-items:center}[data-gp-theme="aperture-window-care"] .up-note{font-size:14px!important;color:var(--muted);margin-top:18px}[data-gp-theme="aperture-window-care"] .up-stage svg,[data-gp-theme="aperture-window-care"] .up-detail svg,[data-gp-theme="aperture-window-care"] .up-ensemble svg{width:100%;height:auto;display:block;color:var(--ink)}[data-gp-theme="aperture-window-care"] .upgrade svg text{font-family:var(--body);fill:currentColor}[data-gp-theme="aperture-window-care"] .up-stage{background:var(--wash,var(--paper));overflow:hidden;min-width:0}[data-gp-theme="aperture-window-care"] .up-panel{min-height:460px}[data-gp-theme="aperture-window-care"] .up-panel h3{margin-block:18px}[data-gp-theme="aperture-window-care"] .up-questions{padding-left:20px;font-size:16px;line-height:1.6;margin-block:18px}[data-gp-theme="aperture-window-care"] .up-questions li+li{margin-top:7px}[data-gp-theme="aperture-window-care"] .up-label{display:block;font-size:14px;margin-bottom:10px}[data-gp-theme="aperture-window-care"] .up-footer a{max-width:100%}[data-gp-theme="aperture-window-care"] .upgrade-summary{margin-block:30px;border-block:2px solid var(--ink);padding:28px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 35px}[data-gp-theme="aperture-window-care"] .upgrade-summary h2{font-size:28px}[data-gp-theme="aperture-window-care"] .upgrade-summary output{display:block;max-width:65ch;font-size:18px;line-height:1.6}[data-gp-theme="aperture-window-care"] .upgrade-summary p{font-size:14px}[data-gp-theme="aperture-window-care"] .upgrade-summary a{grid-column:2;grid-row:1/4}[data-gp-theme="aperture-window-care"] .upgrade fieldset{border:0;padding:0;margin:20px 0;min-width:0}[data-gp-theme="aperture-window-care"] .upgrade legend{font-size:15px}[data-gp-theme="aperture-window-care"] .upgrade :focus-visible{outline:3px solid var(--focus,var(--accent));outline-offset:4px}[data-gp-theme="aperture-window-care"] .upgrade svg [role=button]{cursor:pointer;outline:none}[data-gp-theme="aperture-window-care"] .upgrade svg [role=button]:focus-visible rect{stroke:var(--focus,var(--accent));stroke-width:5px}[data-gp-theme="aperture-window-care"] .upgrade [data-up-surface],[data-gp-theme="aperture-window-care"] .upgrade [data-up-pane]{transition:fill 160ms var(--ease-out),background-color 160ms var(--ease-out),opacity 160ms var(--ease-out)}[data-gp-theme="aperture-window-care"] .upgrade[data-keyboard] *, [data-gp-theme="aperture-window-care"] .upgrade[data-keyboard] *::before{transition:none!important}
@media(max-width:900px){[data-gp-theme="aperture-window-care"] .up-work{gap:24px}[data-gp-theme="aperture-window-care"] .up-heading{display:block}[data-gp-theme="aperture-window-care"] .up-heading>p{max-width:65ch;margin-top:16px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="aperture-window-care"] .up-work{gap:24px}[data-gp-theme="aperture-window-care"] .up-heading{display:block}[data-gp-theme="aperture-window-care"] .up-heading>p{max-width:65ch;margin-top:16px}}@media(max-width:650px){[data-gp-theme="aperture-window-care"] .upgrade{margin-block:35px;padding-block:28px}[data-gp-theme="aperture-window-care"] .up-work{grid-template-columns:minmax(0,1fr)}[data-gp-theme="aperture-window-care"] .up-panel{min-height:0}[data-gp-theme="aperture-window-care"] .up-footer{display:grid;gap:14px}[data-gp-theme="aperture-window-care"] .up-footer a{justify-self:start}[data-gp-theme="aperture-window-care"] .up-heading{margin-bottom:20px}[data-gp-theme="aperture-window-care"] .upgrade-summary{grid-template-columns:1fr}[data-gp-theme="aperture-window-care"] .upgrade-summary a{grid-column:1;grid-row:auto;justify-self:start}[data-gp-theme="aperture-window-care"] .upgrade :is(button,[role="button"]){padding-inline:12px;font-size:15px}[data-gp-theme="aperture-window-care"] .up-questions{font-size:16px}}@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="aperture-window-care"] .upgrade{margin-block:35px;padding-block:28px}[data-gp-theme="aperture-window-care"] .up-work{grid-template-columns:minmax(0,1fr)}[data-gp-theme="aperture-window-care"] .up-panel{min-height:0}[data-gp-theme="aperture-window-care"] .up-footer{display:grid;gap:14px}[data-gp-theme="aperture-window-care"] .up-footer a{justify-self:start}[data-gp-theme="aperture-window-care"] .up-heading{margin-bottom:20px}[data-gp-theme="aperture-window-care"] .upgrade-summary{grid-template-columns:1fr}[data-gp-theme="aperture-window-care"] .upgrade-summary a{grid-column:1;grid-row:auto;justify-self:start}[data-gp-theme="aperture-window-care"] .upgrade :is(button,[role="button"]){padding-inline:12px;font-size:15px}[data-gp-theme="aperture-window-care"] .up-questions{font-size:16px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="aperture-window-care"] .upgrade *, [data-gp-theme="aperture-window-care"] .upgrade *::before{transition:none!important;animation:none!important}}
[data-gp-theme="aperture-window-care"] .up-aperture .up-stage{border:1px solid var(--line)}[data-gp-theme="aperture-window-care"] .up-aperture .up-work{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:46px}[data-gp-theme="aperture-window-care"] .up-aperture .up-detail{border-block:1px solid var(--line);background:var(--wash);padding-block:10px}[data-gp-theme="aperture-window-care"] .up-aperture .up-detail svg{height:165px}[data-gp-theme="aperture-window-care"] .up-aperture [data-up-crop]{transform-origin:center;transition:opacity 180ms var(--ease-out)}[data-gp-theme="aperture-window-care"] .up-aperture svg [aria-pressed=true] rect{fill-opacity:.35;stroke:var(--accent);stroke-width:5}[data-gp-theme="aperture-window-care"] .up-aperture svg [aria-pressed=false]{opacity:.65}[data-gp-theme="aperture-window-care"] .up-aperture .up-panel{min-height:550px}[data-gp-theme="aperture-window-care"] .up-aperture .up-questions{min-height:115px}@media(max-width:800px){[data-gp-theme="aperture-window-care"] .up-aperture .up-work{grid-template-columns:1fr;gap:20px}[data-gp-theme="aperture-window-care"] .up-aperture .up-panel{min-height:0}[data-gp-theme="aperture-window-care"] .up-aperture .up-questions{min-height:0}}@containerfs-editor-canvas (max-width: 800px){[data-gp-theme="aperture-window-care"] .up-aperture .up-work{grid-template-columns:1fr;gap:20px}[data-gp-theme="aperture-window-care"] .up-aperture .up-panel{min-height:0}[data-gp-theme="aperture-window-care"] .up-aperture .up-questions{min-height:0}}

[data-gp-theme="aperture-window-care"] .upgrade-summary{width:min(1360px,calc(100% - 96px));margin-inline:auto}[data-gp-theme="aperture-window-care"] .inside-page .upgrade h3{max-width:none}[data-gp-theme="aperture-window-care"] .inside-page .upgrade .pr-paper{margin:0}[data-gp-theme="aperture-window-care"] .inside-page .upgrade .up-stage{margin:0}[data-gp-theme="aperture-window-care"] .inside-page .upgrade p.up-note{margin-top:18px}[data-gp-theme="aperture-window-care"][data-layout=full-width] .inside-page>.upgrade{width:100%;max-width:none;padding-inline:4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="aperture-window-care"][data-layout=full-width] .inside-page>.upgrade{padding-inline:4cqw}}[data-gp-theme="aperture-window-care"][data-layout=centered] .upgrade>.up-heading{text-align:center;display:block}[data-gp-theme="aperture-window-care"][data-layout=centered] .upgrade>.up-heading>p{margin-inline:auto}[data-gp-theme="aperture-window-care"][data-layout=minimalist] .upgrade{margin-block:30px;padding-block:30px}[data-gp-theme="aperture-window-care"][data-layout=edge-hero] .inside-page>.upgrade{width:100%;padding-inline:4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="aperture-window-care"][data-layout=edge-hero] .inside-page>.upgrade{padding-inline:4cqw}}@media(max-width:650px){[data-gp-theme="aperture-window-care"] .upgrade-summary{width:calc(100% - 36px)}[data-gp-theme="aperture-window-care"] .upgrade.wrap{width:calc(100% - 36px)}}@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="aperture-window-care"] .upgrade-summary{width:calc(100% - 36px)}[data-gp-theme="aperture-window-care"] .upgrade.wrap{width:calc(100% - 36px)}}
[data-gp-theme="aperture-window-care"] .upgrade{--display:"Manrope",sans-serif}

/* Approved readability refinements, 18 October 2026.
   Only meaningful helpers, local groups and selected reading paragraphs.
   Owner-selected type families, display sizes and frozen comparisons stay authoritative. */

/* Kiln House: the brief promise and sample guidance are part of the task. */
[data-gp-theme="aperture-window-care"][data-site="kiln-house"] :is(.field-note,.form-note,.pairing-hint,.material-note,.light-note,.letter-note,.combination-copy small,.material-row small){font-size:14px;line-height:1.5}
[data-gp-theme="aperture-window-care"][data-site="kiln-house"] .form-note{margin-top:16px}
[data-gp-theme="aperture-window-care"][data-site="kiln-house"] :is(.quiet-button,.combination-action){font-size:15px;line-height:1.5}
[data-gp-theme="aperture-window-care"][data-site="kiln-house"] .quiet-button{min-height:44px}
[data-gp-theme="aperture-window-care"][data-site="kiln-house"] .directory-links a small{font-size:14px;line-height:1.5}

/* Small study labels explain a choice, rather than acting as an imprint. */
[data-gp-theme="aperture-window-care"][data-site="true-joint"] .ux-stage-bar :is(button,[role="button"]) small{font-size:14px;line-height:1.5}
[data-gp-theme="aperture-window-care"][data-site="neighbourhood-edit"] .ux-plan-header{font-size:14px;line-height:1.5;gap:12px;flex-wrap:wrap}
[data-gp-theme="aperture-window-care"][data-site="neighbourhood-edit"] .ux-room-title{margin-bottom:16px}
[data-gp-theme="aperture-window-care"][data-site="neighbourhood-edit"] .ux-room-title h3{margin-bottom:0}
[data-gp-theme="aperture-window-care"][data-site="neighbourhood-edit"] :is(.home-finder label,.home-finder output,.area-index small){font-size:14px;line-height:1.5}
[data-gp-theme="aperture-window-care"][data-site="neighbourhood-edit"] .home-finder select{font-size:16px;min-height:44px}
[data-gp-theme="aperture-window-care"][data-site="harbour"] .ux-folio .ux-document-row label{font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="aperture-window-care"][data-site="daymark-window-care"] .dm-sheet-head{font-size:14px;line-height:1.5;flex-wrap:wrap}
[data-gp-theme="aperture-window-care"][data-site="velum-window-care"] .ux-v-nav :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}

/* Existing small controls retain or gain the comfortable target height. */
[data-gp-theme="aperture-window-care"][data-site="stem-and-still"] .stem-slip :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:48px;gap:8px}
[data-gp-theme="aperture-window-care"][data-site="cake-box"] .flavour-pick :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="aperture-window-care"][data-site="cake-box"] .message-label small{font-size:14px;line-height:1.5}
[data-gp-theme="aperture-window-care"][data-site="crm-recruitment-people"] .question-buttons{gap:10px}
[data-gp-theme="aperture-window-care"][data-site="crm-recruitment-people"] .question-buttons :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:10px 12px}
[data-gp-theme="aperture-window-care"][data-site="the-second-set-programme"] .pr-order-actions :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:8px 10px}

/* The format facts belong with the large ensemble names. */
[data-gp-theme="aperture-window-care"][data-site="the-second-set-afterglow"] .ag-format-ribbon span:not(.fs-richtext){font-size:14px;line-height:1.5;margin-top:8px}
[data-gp-theme="aperture-window-care"][data-site="the-second-set-programme"] .opening-note{font-size:14px;line-height:1.5}
[data-gp-theme="aperture-window-care"][data-site="the-second-set-signal"] .form-note{font-size:14px;line-height:1.5}

/* Slipstream: useful record, filter and brief text; preserve the scrollable comparison. */
[data-gp-theme="aperture-window-care"][data-site="slipstream"] :is(.featured-price small,.rail-note,.stock-finder label,.stock-caption,.inspection-note,.inspection-instruction,.form-note,[data-gp-id="stock-count"],[data-gp-id="form-question-count"]){font-size:14px;line-height:1.5}
[data-gp-theme="aperture-window-care"][data-site="slipstream"] :is(.visit-form label,.form-pair label){font-size:15px;line-height:1.5}
[data-gp-theme="aperture-window-care"][data-site="slipstream"] :is(.car-record summary,[data-gp-id="reset-stock"],[data-gp-id="clear-compare"],.quick-compare button){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="aperture-window-care"][data-site="slipstream"] .stock-finder select{min-height:44px}

/* Narrow only sustained paragraphs, preserving plans, records, lists and tables. */
[data-gp-theme="aperture-window-care"]:is([data-site="stem-and-still"],[data-site="kiln-house"],[data-site="true-joint"])[data-inside] .ip-reading>p{max-width:64ch}

@media(max-width:700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="aperture-window-care"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="aperture-window-care"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="aperture-window-care"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="aperture-window-care"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="aperture-window-care"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="aperture-window-care"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="aperture-window-care"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="aperture-window-care"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="aperture-window-care"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

@containerfs-editor-canvas (max-width: 700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="aperture-window-care"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="aperture-window-care"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="aperture-window-care"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="aperture-window-care"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="aperture-window-care"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="aperture-window-care"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="aperture-window-care"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="aperture-window-care"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="aperture-window-care"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

/* No generic heading, body, section-spacing or panel-height reset.
   Goodpane's unused calendar CSS, Expedition's real stage envelope,
   Starlight's passage leading and Velum's display introduction need no blanket fix. */

/* Approved authored chrome. Palette and type tokens belong to this theme. */
[data-gp-theme="aperture-window-care"] .chrome-header>*{min-width:0}[data-gp-theme="aperture-window-care"] .chrome-header nav{min-width:0}[data-gp-theme="aperture-window-care"] .chrome-header a,[data-gp-theme="aperture-window-care"] .chrome-header :is(button,[role="button"]){min-height:44px}[data-gp-theme="aperture-window-care"] .chrome-header .menu-trigger{white-space:nowrap;font-size:15px}[data-gp-theme="aperture-window-care"] .chrome-header .menu-trigger svg{flex:none}
[data-gp-theme="aperture-window-care"] .chrome-menu{color:var(--ink);padding:0;max-height:calc(100dvh - 64px);margin-top:32px;overflow:auto}[data-gp-theme="aperture-window-care"] .chrome-menu>*{min-width:0}[data-gp-theme="aperture-window-care"] .chrome-menu h2{max-width:24ch}[data-gp-theme="aperture-window-care"] .chrome-menu-heading{padding:24px 32px;align-items:center}[data-gp-theme="aperture-window-care"] .chrome-menu-heading h2{font-size:clamp(28px,3vw,42px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="aperture-window-care"] .chrome-menu-heading h2{font-size:clamp(28px,3cqw,42px)}}[data-gp-theme="aperture-window-care"] .chrome-menu-heading :is(button,[role="button"]){flex:none}[data-gp-theme="aperture-window-care"] .chrome-menu h3{font-size:23px;line-height:1.2;margin-bottom:16px}[data-gp-theme="aperture-window-care"] .chrome-menu a{min-height:44px;display:flex;align-items:center;text-decoration:none;line-height:1.35}[data-gp-theme="aperture-window-care"] .chrome-menu a:hover{text-decoration:underline;text-underline-offset:5px}[data-gp-theme="aperture-window-care"] .chrome-menu p{font-size:15px;line-height:1.55}[data-gp-theme="aperture-window-care"] .chrome-menu small,[data-gp-theme="aperture-window-care"] .chrome-caption{font-size:14px;line-height:1.5}[data-gp-theme="aperture-window-care"] .chrome-menu nav{min-width:0}[data-gp-theme="aperture-window-care"] .chrome-menu a,[data-gp-theme="aperture-window-care"] .chrome-footer a{overflow-wrap:anywhere}[data-gp-theme="aperture-window-care"] .chrome-footer a{min-height:44px;display:inline-flex;align-items:center;text-underline-offset:5px}[data-gp-theme="aperture-window-care"] .chrome-footer p{font-size:16px;line-height:1.55}[data-gp-theme="aperture-window-care"] .chrome-imprint{border-top:1px solid var(--line);margin-top:34px;padding-top:18px;display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between;font-size:14px;line-height:1.5}[data-gp-theme="aperture-window-care"] .chrome-imprint>span:not(.fs-richtext){max-width:48ch}[data-gp-theme="aperture-window-care"] .chrome-inline-links{display:flex;flex-wrap:wrap;gap:8px 28px}[data-gp-theme="aperture-window-care"] .chrome-footer .chrome-details{font-size:14px;line-height:1.5;max-width:65ch}[data-gp-theme="aperture-window-care"] .chrome-footer .chrome-close-link{min-height:52px}[data-gp-theme="aperture-window-care"] .chrome-menu :is(a,button):focus-visible,[data-gp-theme="aperture-window-care"] .chrome-header :is(a,button):focus-visible,[data-gp-theme="aperture-window-care"] .chrome-footer a:focus-visible{outline:3px solid currentColor;outline-offset:4px}
@media(max-width:900px){[data-gp-theme="aperture-window-care"] .chrome-header{gap:16px}[data-gp-theme="aperture-window-care"] .chrome-menu .chrome-menu-heading h2{font-size:27px;line-height:1.12}[data-gp-theme="aperture-window-care"] .chrome-menu .chrome-menu-heading{gap:12px}[data-gp-theme="aperture-window-care"] .chrome-menu [data-menu-close]{padding:10px 14px}[data-gp-theme="aperture-window-care"] .chrome-menu a{min-height:48px}[data-gp-theme="aperture-window-care"] .chrome-imprint{display:grid;gap:10px}[data-gp-theme="aperture-window-care"] .chrome-footer{padding-block:42px 24px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="aperture-window-care"] .chrome-header{gap:16px}[data-gp-theme="aperture-window-care"] .chrome-menu .chrome-menu-heading h2{font-size:27px;line-height:1.12}[data-gp-theme="aperture-window-care"] .chrome-menu .chrome-menu-heading{gap:12px}[data-gp-theme="aperture-window-care"] .chrome-menu [data-menu-close]{padding:10px 14px}[data-gp-theme="aperture-window-care"] .chrome-menu a{min-height:48px}[data-gp-theme="aperture-window-care"] .chrome-imprint{display:grid;gap:10px}[data-gp-theme="aperture-window-care"] .chrome-footer{padding-block:42px 24px}}
@media(max-width:450px){[data-gp-theme="aperture-window-care"] .chrome-menu .chrome-menu-heading h2{font-size:23px}[data-gp-theme="aperture-window-care"] .chrome-header .menu-trigger{font-size:14px;gap:8px;padding-inline:12px;width:auto}[data-gp-theme="aperture-window-care"] .chrome-header .menu-trigger svg{width:18px;height:18px}}
@containerfs-editor-canvas (max-width: 450px){[data-gp-theme="aperture-window-care"] .chrome-menu .chrome-menu-heading h2{font-size:23px}[data-gp-theme="aperture-window-care"] .chrome-header .menu-trigger{font-size:14px;gap:8px;padding-inline:12px;width:auto}[data-gp-theme="aperture-window-care"] .chrome-header .menu-trigger svg{width:18px;height:18px}}
[data-gp-theme="aperture-window-care"] .ap-datum{display:grid;grid-template-columns:1fr 1.6fr 1fr;gap:0;padding-block:0;align-items:stretch}[data-gp-theme="aperture-window-care"] .ap-datum>.wordmark{padding:26px 24px 26px 0}[data-gp-theme="aperture-window-care"] .ap-datum nav{gap:0;border-inline:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr 1.1fr}[data-gp-theme="aperture-window-care"] .ap-datum nav>a,[data-gp-theme="aperture-window-care"] .ap-datum nav>:is(button,[role="button"]){justify-content:center;padding:24px 14px;border:0;border-right:1px solid var(--line);border-radius:0}[data-gp-theme="aperture-window-care"] .ap-datum nav>:is(button,[role="button"]){border:0}[data-gp-theme="aperture-window-care"] .ap-datum>.header-action{display:flex;align-items:center;justify-content:end;padding:20px 0 20px 24px;border-bottom:0}[data-gp-theme="aperture-window-care"] .ap-register-layout{display:grid;grid-template-columns:1fr 1.25fr .9fr;min-height:420px}[data-gp-theme="aperture-window-care"] .ap-menu-elevation{grid-column:1;grid-row:1;padding:32px;background:var(--wash);display:flex;flex-direction:column;gap:20px}[data-gp-theme="aperture-window-care"] .ap-menu-elevation .menu-elevation{height:250px;gap:8px;flex:none}[data-gp-theme="aperture-window-care"] .ap-menu-elevation .menu-elevation i{border-width:3px;position:relative}[data-gp-theme="aperture-window-care"] .ap-menu-elevation .menu-elevation i:nth-child(2):after{content:"";position:absolute;inset:58% 0 auto;border-top:3px solid var(--ink)}[data-gp-theme="aperture-window-care"] .ap-menu-elevation figcaption{color:var(--ink);font-size:14px}[data-gp-theme="aperture-window-care"] .ap-menu-elevation>a{font-size:16px}[data-gp-theme="aperture-window-care"] .ap-surface-register{grid-column:2;grid-row:1;padding:32px;border-right:1px solid var(--line)}[data-gp-theme="aperture-window-care"] .ap-surface-register a{border-top:1px solid var(--line);padding:13px 0;font-size:19px}[data-gp-theme="aperture-window-care"] .ap-surface-register a[data-menu-surface]{font-size:16px;padding-left:18px}[data-gp-theme="aperture-window-care"] .ap-annotation{grid-column:3;grid-row:1;padding:32px 24px}[data-gp-theme="aperture-window-care"] .ap-annotation a{font-size:16px;padding:10px 0}[data-gp-theme="aperture-window-care"] .ap-annotation .ap-note-link{border-top:2px solid var(--ink);margin-top:20px;padding-top:18px;font-weight:600}[data-gp-theme="aperture-window-care"] .ap-schedule-title{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:36px}[data-gp-theme="aperture-window-care"] .ap-schedule-title h2{font-size:60px}[data-gp-theme="aperture-window-care"] .ap-schedule-title p{font-size:21px}[data-gp-theme="aperture-window-care"] .ap-schedule-rows{border-top:2px solid var(--ink);margin-bottom:26px}[data-gp-theme="aperture-window-care"] .ap-schedule-rows>div{display:grid;grid-template-columns:.7fr 1.2fr 1fr 1fr;border-bottom:1px solid var(--line)}[data-gp-theme="aperture-window-care"] .ap-schedule-rows h3{font:600 16px var(--body);display:flex;align-items:center;padding:20px 16px 20px 0}[data-gp-theme="aperture-window-care"] .ap-schedule-rows a{padding:20px;border-left:1px solid var(--line);font-size:16px;text-decoration:none}[data-gp-theme="aperture-window-care"] .ap-schedule-rows .ap-note-cell{background:var(--ink);color:var(--paper)}
@media(max-width:1050px){[data-gp-theme="aperture-window-care"] .ap-datum{grid-template-columns:auto 1fr}[data-gp-theme="aperture-window-care"] .ap-datum>.header-action{display:none}[data-gp-theme="aperture-window-care"] .ap-datum nav{border-right:0}[data-gp-theme="aperture-window-care"] .ap-register-layout{grid-template-columns:.85fr 1.15fr}[data-gp-theme="aperture-window-care"] .ap-annotation{grid-column:1/-1;grid-row:2;border-top:1px solid var(--line)}[data-gp-theme="aperture-window-care"] .ap-annotation nav{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}[data-gp-theme="aperture-window-care"] .ap-surface-register{border:0}}
@containerfs-editor-canvas (max-width: 1050px){[data-gp-theme="aperture-window-care"] .ap-datum{grid-template-columns:auto 1fr}[data-gp-theme="aperture-window-care"] .ap-datum>.header-action{display:none}[data-gp-theme="aperture-window-care"] .ap-datum nav{border-right:0}[data-gp-theme="aperture-window-care"] .ap-register-layout{grid-template-columns:.85fr 1.15fr}[data-gp-theme="aperture-window-care"] .ap-annotation{grid-column:1/-1;grid-row:2;border-top:1px solid var(--line)}[data-gp-theme="aperture-window-care"] .ap-annotation nav{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}[data-gp-theme="aperture-window-care"] .ap-surface-register{border:0}}
@media(max-width:900px){[data-gp-theme="aperture-window-care"] .ap-datum{grid-template-columns:1fr auto}[data-gp-theme="aperture-window-care"] .ap-datum>.wordmark{padding:22px 18px 22px 0}[data-gp-theme="aperture-window-care"] .ap-datum nav{display:flex;border-left:1px solid var(--line)}[data-gp-theme="aperture-window-care"] .ap-datum nav>a{display:none}[data-gp-theme="aperture-window-care"] .ap-datum nav>:is(button,[role="button"]){padding:14px 0 14px 18px}[data-gp-theme="aperture-window-care"] .ap-register-layout{display:block}[data-gp-theme="aperture-window-care"] .ap-menu-elevation{padding:24px;gap:12px}[data-gp-theme="aperture-window-care"] .ap-menu-elevation .menu-elevation{height:130px;max-width:300px}[data-gp-theme="aperture-window-care"] .ap-menu-elevation p{max-width:52ch}[data-gp-theme="aperture-window-care"] .ap-surface-register,[data-gp-theme="aperture-window-care"] .ap-annotation{padding:24px}[data-gp-theme="aperture-window-care"] .ap-annotation nav{display:block}[data-gp-theme="aperture-window-care"] .ap-schedule-title{display:block}[data-gp-theme="aperture-window-care"] .ap-schedule-title h2{font-size:44px;margin-bottom:18px}[data-gp-theme="aperture-window-care"] .ap-schedule-rows>div{grid-template-columns:100px 1fr}[data-gp-theme="aperture-window-care"] .ap-schedule-rows h3{grid-row:span 3;align-items:start;padding-top:18px}[data-gp-theme="aperture-window-care"] .ap-schedule-rows a{grid-column:2;padding:14px 18px;border-bottom:1px solid var(--line)}[data-gp-theme="aperture-window-care"] .ap-schedule-rows a:last-child{border-bottom:0}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="aperture-window-care"] .ap-datum{grid-template-columns:1fr auto}[data-gp-theme="aperture-window-care"] .ap-datum>.wordmark{padding:22px 18px 22px 0}[data-gp-theme="aperture-window-care"] .ap-datum nav{display:flex;border-left:1px solid var(--line)}[data-gp-theme="aperture-window-care"] .ap-datum nav>a{display:none}[data-gp-theme="aperture-window-care"] .ap-datum nav>:is(button,[role="button"]){padding:14px 0 14px 18px}[data-gp-theme="aperture-window-care"] .ap-register-layout{display:block}[data-gp-theme="aperture-window-care"] .ap-menu-elevation{padding:24px;gap:12px}[data-gp-theme="aperture-window-care"] .ap-menu-elevation .menu-elevation{height:130px;max-width:300px}[data-gp-theme="aperture-window-care"] .ap-menu-elevation p{max-width:52ch}[data-gp-theme="aperture-window-care"] .ap-surface-register,[data-gp-theme="aperture-window-care"] .ap-annotation{padding:24px}[data-gp-theme="aperture-window-care"] .ap-annotation nav{display:block}[data-gp-theme="aperture-window-care"] .ap-schedule-title{display:block}[data-gp-theme="aperture-window-care"] .ap-schedule-title h2{font-size:44px;margin-bottom:18px}[data-gp-theme="aperture-window-care"] .ap-schedule-rows>div{grid-template-columns:100px 1fr}[data-gp-theme="aperture-window-care"] .ap-schedule-rows h3{grid-row:span 3;align-items:start;padding-top:18px}[data-gp-theme="aperture-window-care"] .ap-schedule-rows a{grid-column:2;padding:14px 18px;border-bottom:1px solid var(--line)}[data-gp-theme="aperture-window-care"] .ap-schedule-rows a:last-child{border-bottom:0}}

/* Menu only: approved fonts, colour tokens and all non-menu markup are preserved. */
[data-gp-theme="aperture-window-care"] dialog[data-gp-id="mega-menu"].mega-menu{box-sizing:border-box;position:fixed;inset:0;min-width:0;min-height:0;height:fit-content;max-height:calc(100dvh - 48px);margin:auto;padding:0!important;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:var(--mi-paper,var(--paper));color:var(--mi-ink,var(--ink));border:0!important;border-radius:0;box-shadow:0 30px 100px #0005;--mi-paper:var(--paper);--mi-ink:var(--ink);--mi-wash:var(--wash);--mi-line:var(--line);--mi-accent:var(--accent);--mi-on:var(--on-accent)}
[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] *,[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] *:before,[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] *:after{box-sizing:border-box;min-width:0}
[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] .menu-top{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0;padding:20px 28px;border:0;background:transparent;color:inherit}
[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] .menu-top h2,[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] .menu-top p{margin:0;font:500 18px/1.35 var(--body);letter-spacing:0;max-width:none}
[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] [data-menu-close]{display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:none;min-height:44px;min-width:70px;padding:9px 14px;border:1px solid currentColor;border-radius:0;background:transparent;color:inherit;font:500 14px/1.3 var(--body);cursor:pointer}
[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] a{color:inherit;text-decoration:none;line-height:1.35;min-height:44px;overflow-wrap:anywhere}
[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] nav a:before{content:none}
[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] a:focus-visible,[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] :is(button,[role="button"]):focus-visible{outline:3px solid currentColor;outline-offset:4px}
[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] h3{font-family:var(--display);font-weight:500;line-height:1.15;letter-spacing:-.025em;margin:0}
[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] p{max-width:60ch;margin:0;font:400 15px/1.5 var(--body)}
[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] nav{min-width:0}
[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] .mi-small{font:400 13px/1.5 var(--body)}
[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] a{transition:background-color 150ms ease,color 150ms ease,text-decoration-color 150ms ease}
/* Reveal every authored surface on the first frame. Only text fades; never a
   pane, note, speech ribbon, worksheet or record sleeve. Also covers Signal,
   which does not load premium.css and otherwise inherits menu-arrive. */
[data-gp-theme="aperture-window-care"] dialog[data-gp-id="mega-menu"].mega-menu[open]:not([data-closing]){animation:none!important;opacity:1;transform:none}
[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"][open]:not([data-closing])>*{animation:none!important}
[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"][open]:not([data-closing]):not([data-keyboard]) :is(h3,p,figcaption,.command-task>span:not(.fs-richtext),.command-task>small,.crate-sleeve>strong,.crate-sleeve>small),[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"][open]:not([data-closing]):not([data-keyboard]) a:not(.crate-sleeve):not(.command-task):not(.route-brief):not(.worksheet-action){animation:gp-aperturewindow-mi-menu-text 160ms ease-out both}
@keyframes gp-aperturewindow-mi-menu-text{from{opacity:.25}to{opacity:1}}
@media(hover:hover){[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] a:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}}
@media(max-width:900px){[data-gp-theme="aperture-window-care"] dialog[data-gp-id="mega-menu"].mega-menu{width:100%;height:100dvh;max-height:none;margin:0;inset:0;border-radius:0;transform:none}[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] .menu-top{padding:16px 20px}[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] .menu-top h2{font-size:16px}[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] a{min-height:48px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="aperture-window-care"] dialog[data-gp-id="mega-menu"].mega-menu{width:100%;height:100dvh;max-height:none;margin:0;inset:0;border-radius:0;transform:none}[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] .menu-top{padding:16px 20px}[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] .menu-top h2{font-size:16px}[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] a{min-height:48px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] *,[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] *:before,[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] *:after{animation:none!important;transition:none!important}}

[data-gp-theme="aperture-window-care"] dialog[data-gp-id="mega-menu"].mega-menu{width:min(1070px,calc(100% - 64px));border:8px solid var(--ink)!important;box-shadow:12px 12px 0 color-mix(in srgb,var(--ink) 25%,transparent)}
[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] .menu-top{padding:16px 24px;border-bottom:8px solid var(--ink)}
[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] .glazing-elevation{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:8px;padding:8px;background:var(--ink)}
[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] .glazing-pane{position:relative;isolation:isolate;min-height:365px;padding:25px 24px;background:var(--paper);overflow:hidden}
[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] .glazing-pane h3{font-size:38px;letter-spacing:-.05em;margin-bottom:22px}[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] .glazing-pane nav{display:grid;position:relative;z-index:1}[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] .glazing-pane a{display:flex;align-items:center;font-size:17px;padding:8px 0}
[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] .glazing-pane .surface-selector{font-size:14px;padding-left:13px;border-left:1px solid var(--line);margin-left:4px}
[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] .pane-open{background:var(--wash)}[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] .pane-opening{position:absolute;inset:52% 16px 16px;border:1px solid var(--line)}[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] .pane-opening:after{content:"";position:absolute;inset:0;border-left:1px solid var(--line);transform:skewY(-23deg);transform-origin:bottom left}
[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] .pane-context{display:flex;flex-direction:column}[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] .pane-context p{margin-top:auto;padding-top:20px;font-size:13px}
[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] .glazing-transom{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px 24px}[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] .glazing-transom nav{display:flex;flex-wrap:wrap;gap:0 22px}[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] .glazing-transom a{display:flex;align-items:center;font-size:14px}[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] .glazing-note{font-weight:600;border-bottom:2px solid var(--accent)}
@media(max-width:900px){[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] .glazing-elevation{display:block;padding:8px}[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] .glazing-pane{min-height:0;padding:24px;margin-bottom:8px}[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] .glazing-pane:last-child{margin:0}[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] .glazing-pane h3{font-size:32px;margin-bottom:12px}[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] .pane-opening{display:none}[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] .glazing-transom{display:grid;padding:18px 24px}[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] .pane-context p{padding-top:14px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] .glazing-elevation{display:block;padding:8px}[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] .glazing-pane{min-height:0;padding:24px;margin-bottom:8px}[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] .glazing-pane:last-child{margin:0}[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] .glazing-pane h3{font-size:32px;margin-bottom:12px}[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] .pane-opening{display:none}[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] .glazing-transom{display:grid;padding:18px 24px}[data-gp-theme="aperture-window-care"] [data-gp-id="mega-menu"] .pane-context p{padding-top:14px}}

[data-gp-theme="aperture-window-care"]{--paper:rgb(var(--c-paper));--ink:rgb(var(--c-ink-950));--accent:rgb(var(--c-brand-600));--wash:rgb(var(--c-paper-soft));--line:rgb(var(--c-line));--muted:rgb(var(--c-ink-400));--on-accent:var(--fs-on-brand);--focus:rgb(var(--c-accent));--work:var(--fs-surface-inverted,var(--wash));--work-ink:var(--fs-on-surface-inverted,var(--paper));--body:var(--font-sans);}
[data-gp-theme="goodpane-window-care"]{--ease-out:cubic-bezier(.23,1,.32,1);--ease-drawer:cubic-bezier(.32,.72,0,1)}
[data-gp-theme="goodpane-window-care"] *{box-sizing:border-box}[data-gp-theme="goodpane-window-care"]{scroll-behavior:smooth;scroll-padding-top:100px}[data-gp-theme="goodpane-window-care"]{margin:0}[data-gp-theme="goodpane-window-care"] img{max-width:100%;display:block}[data-gp-theme="goodpane-window-care"] :is(button,[role="button"]),[data-gp-theme="goodpane-window-care"] input,[data-gp-theme="goodpane-window-care"] select,[data-gp-theme="goodpane-window-care"] textarea{font:inherit}[data-gp-theme="goodpane-window-care"] :is(button,[role="button"]),[data-gp-theme="goodpane-window-care"] a,[data-gp-theme="goodpane-window-care"] input,[data-gp-theme="goodpane-window-care"] select,[data-gp-theme="goodpane-window-care"] textarea{touch-action:manipulation}[data-gp-theme="goodpane-window-care"] :is(button,[role="button"]),[data-gp-theme="goodpane-window-care"] a{ -webkit-tap-highlight-color:transparent}[data-gp-theme="goodpane-window-care"] :is(button,[role="button"]){cursor:pointer}[data-gp-theme="goodpane-window-care"] :is(button,[role="button"]):active{transform:translateY(1px)}[data-gp-theme="goodpane-window-care"] a{color:inherit;text-underline-offset:.22em}[data-gp-theme="goodpane-window-care"] :is(button,[role="button"]):focus-visible,[data-gp-theme="goodpane-window-care"] a:focus-visible,[data-gp-theme="goodpane-window-care"] summary:focus-visible,[data-gp-theme="goodpane-window-care"] input:focus-visible,[data-gp-theme="goodpane-window-care"] select:focus-visible,[data-gp-theme="goodpane-window-care"] textarea:focus-visible{outline:3px solid var(--focus,#346ddb);outline-offset:5px}[data-gp-theme="goodpane-window-care"] textarea{resize:vertical}[data-gp-theme="goodpane-window-care"] input,[data-gp-theme="goodpane-window-care"] textarea{caret-color:var(--focus,currentColor)}[data-gp-theme="goodpane-window-care"] :is(button,[role="button"]),[data-gp-theme="goodpane-window-care"] select,[data-gp-theme="goodpane-window-care"] input{min-height:44px}[data-gp-theme="goodpane-window-care"] summary{cursor:pointer}[data-gp-theme="goodpane-window-care"] section[id],[data-gp-theme="goodpane-window-care"] footer[id]{scroll-margin-top:110px}[data-gp-theme="goodpane-window-care"] [hidden]{display:none!important}[data-gp-theme="goodpane-window-care"] .skip-link{position:fixed;z-index:200;top:8px;left:8px;background:#fff;color:#111;padding:12px 18px;transform:translateY(-150%)}[data-gp-theme="goodpane-window-care"] .skip-link:focus{transform:none}
[data-gp-theme="goodpane-window-care"] .preview-bar{min-height:42px;background:#f6f6f2;color:#252a2a;border-bottom:1px solid #d5d8d4;font:13px/1.3 "Figtree",sans-serif;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 3vw;position:relative;z-index:30}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="goodpane-window-care"] .preview-bar{padding:5px 3cqw}}[data-gp-theme="goodpane-window-care"] .preview-bar a{white-space:nowrap}[data-gp-theme="goodpane-window-care"] .preview-bar [role=group]{display:flex;gap:2px;align-items:center}[data-gp-theme="goodpane-window-care"] .preview-bar :is(button,[role="button"]){min-height:32px;background:transparent;color:inherit;border:0;padding:6px 10px;border-radius:3px;font-size:13px;transition:background-color 150ms var(--ease-out)}[data-gp-theme="goodpane-window-care"] .preview-bar [aria-pressed=true]{background:#252a2a;color:#fff}[data-gp-theme="goodpane-window-care"] .preview-bar :is(button,[role="button"])[data-replay-intro]{border:1px solid #b6beb8}[data-gp-theme="goodpane-window-care"] .preview-label{color:#515953}[data-gp-theme="goodpane-window-care"] .preview-bar::selection{background:#252a2a;color:#fff}
[data-gp-theme="goodpane-window-care"] dialog.mega-menu{max-width:none;max-height:calc(100dvh - 32px);overflow:auto;border:0;padding:0;color:inherit;overscroll-behavior:contain}[data-gp-theme="goodpane-window-care"] dialog.mega-menu::backdrop{background:rgb(8 16 18 / .52)}[data-gp-theme="goodpane-window-care"] .mega-menu[open]{animation:gp-goodpane-menu-arrive 220ms var(--ease-drawer)}[data-gp-theme="goodpane-window-care"] .mega-menu[data-closing]{animation:gp-goodpane-menu-leave 160ms var(--ease-out) forwards}[data-gp-theme="goodpane-window-care"] .mega-menu[data-keyboard]{animation:none}[data-gp-theme="goodpane-window-care"] .menu-lock{overflow:hidden}@keyframes gp-goodpane-menu-arrive{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}@keyframes gp-goodpane-menu-leave{to{opacity:0;transform:translateY(-10px)}}
[data-gp-theme="goodpane-window-care"] .preloader{display:none;position:fixed;inset:0;z-index:190;place-content:center;pointer-events:none;text-align:center}[data-gp-theme="goodpane-window-care"] .preloader.is-active{display:grid;animation:gp-goodpane-intro-failsafe 1.3s step-end forwards}[data-gp-theme="goodpane-window-care"] .preloader.is-leaving{opacity:0;transition:opacity 180ms var(--ease-out)}@keyframes gp-goodpane-intro-failsafe{0%,99%{visibility:visible}100%{visibility:hidden}}
@media(max-width:650px){[data-gp-theme="goodpane-window-care"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="goodpane-window-care"] .preview-bar .preview-label{display:none}[data-gp-theme="goodpane-window-care"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="goodpane-window-care"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="goodpane-window-care"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="goodpane-window-care"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="goodpane-window-care"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="goodpane-window-care"] .preview-bar .preview-label{display:none}[data-gp-theme="goodpane-window-care"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="goodpane-window-care"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="goodpane-window-care"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="goodpane-window-care"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="goodpane-window-care"]{scroll-behavior:auto}[data-gp-theme="goodpane-window-care"] *,[data-gp-theme="goodpane-window-care"] *::before,[data-gp-theme="goodpane-window-care"] *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-gp-theme="goodpane-window-care"] .preloader.is-active{display:none!important}}
@media(max-width:650px){[data-gp-theme="goodpane-window-care"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="goodpane-window-care"] .preview-bar a{font-size:12px}[data-gp-theme="goodpane-window-care"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="goodpane-window-care"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="goodpane-window-care"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="goodpane-window-care"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="goodpane-window-care"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="goodpane-window-care"] .preview-bar a{font-size:12px}[data-gp-theme="goodpane-window-care"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="goodpane-window-care"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="goodpane-window-care"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="goodpane-window-care"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}


[data-gp-theme="goodpane-window-care"]{margin:0;background:var(--paper);color:var(--ink);font:18px/1.55 var(--body);text-rendering:optimizeLegibility}[data-gp-theme="goodpane-window-care"] h1,[data-gp-theme="goodpane-window-care"] h2,[data-gp-theme="goodpane-window-care"] h3,[data-gp-theme="goodpane-window-care"] p,[data-gp-theme="goodpane-window-care"] figure{margin:0}[data-gp-theme="goodpane-window-care"] h1,[data-gp-theme="goodpane-window-care"] h2,[data-gp-theme="goodpane-window-care"] h3{font-family:var(--display);font-weight:500;line-height:1.07;text-wrap:balance}[data-gp-theme="goodpane-window-care"] h1{font-size:clamp(48px,6vw,90px);letter-spacing:-.055em}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="goodpane-window-care"] h1{font-size:clamp(48px,6cqw,90px)}}[data-gp-theme="goodpane-window-care"] h2{font-size:clamp(35px,4vw,60px);letter-spacing:-.04em}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="goodpane-window-care"] h2{font-size:clamp(35px,4cqw,60px)}}[data-gp-theme="goodpane-window-care"] h3{font-size:27px;letter-spacing:-.025em}[data-gp-theme="goodpane-window-care"] p{max-width:65ch;text-wrap:pretty}[data-gp-theme="goodpane-window-care"] a{color:inherit}[data-gp-theme="goodpane-window-care"] img{width:100%;height:100%;object-fit:cover}[data-gp-theme="goodpane-window-care"] :is(button,[role="button"]){color:inherit}[data-gp-theme="goodpane-window-care"] :is(button,[role="button"]),[data-gp-theme="goodpane-window-care"] .action{border:1px solid var(--line);background:transparent;padding:11px 19px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:46px;transition:background-color 150ms var(--ease-out),color 150ms var(--ease-out),transform 150ms var(--ease-out)}[data-gp-theme="goodpane-window-care"] .action.primary,[data-gp-theme="goodpane-window-care"] :is(button,[role="button"])[aria-pressed=true]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}[data-gp-theme="goodpane-window-care"] .wrap{width:min(1360px,calc(100% - 96px));margin-inline:auto}[data-gp-theme="goodpane-window-care"] .section{padding-block:100px}[data-gp-theme="goodpane-window-care"] .stack>*+*{margin-top:24px}[data-gp-theme="goodpane-window-care"] .meta,[data-gp-theme="goodpane-window-care"] figcaption{font-size:14px;line-height:1.5;color:var(--muted)}[data-gp-theme="goodpane-window-care"] .label{font-size:15px;font-weight:600}[data-gp-theme="goodpane-window-care"] .section-head{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:40px}[data-gp-theme="goodpane-window-care"] .section-head p{max-width:400px}[data-gp-theme="goodpane-window-care"] .split{display:grid;grid-template-columns:1fr 1fr;gap:70px}[data-gp-theme="goodpane-window-care"] .split>*{min-width:0}[data-gp-theme="goodpane-window-care"] .choices{display:flex;gap:9px;flex-wrap:wrap}[data-gp-theme="goodpane-window-care"] .choices :is(button,[role="button"]){font-size:16px}[data-gp-theme="goodpane-window-care"] .masthead{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-block:27px;border-bottom:1px solid var(--line)}[data-gp-theme="goodpane-window-care"] .wordmark{text-decoration:none;font:600 30px/1 var(--display);display:flex;align-items:center;gap:12px}[data-gp-theme="goodpane-window-care"] .wordmark small{display:block;font:14px/1.4 var(--body);margin-top:8px}[data-gp-theme="goodpane-window-care"] .masthead nav{display:flex;gap:28px;align-items:center;font-size:16px}[data-gp-theme="goodpane-window-care"] .masthead nav a{min-height:44px;display:inline-flex;align-items:center;text-decoration:none}[data-gp-theme="goodpane-window-care"] .menu-trigger svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5}[data-gp-theme="goodpane-window-care"] .masthead .header-action{border-bottom:1px solid currentColor;text-decoration:none;padding-block:10px;font-size:16px}[data-gp-theme="goodpane-window-care"] .mega-menu{background:var(--paper);width:min(1300px,calc(100% - 48px));margin:80px auto auto;box-shadow:0 25px 80px #0004}[data-gp-theme="goodpane-window-care"] .menu-top{display:flex;align-items:start;justify-content:space-between;gap:30px;padding:36px;border-bottom:1px solid var(--line)}[data-gp-theme="goodpane-window-care"] .menu-top h2{font-size:44px}[data-gp-theme="goodpane-window-care"] .menu-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:45px;padding:40px}[data-gp-theme="goodpane-window-care"] .menu-grid h3{font-size:22px;margin-bottom:18px}[data-gp-theme="goodpane-window-care"] .menu-grid a{display:block;padding:10px 0;min-height:44px}[data-gp-theme="goodpane-window-care"] .menu-grid p{font-size:16px}[data-gp-theme="goodpane-window-care"] .menu-feature{background:var(--wash);padding:25px!important;text-decoration:none}[data-gp-theme="goodpane-window-care"] .menu-feature strong{font:36px/1.15 var(--display);display:block;margin:18px 0}[data-gp-theme="goodpane-window-care"] .menu-bottom{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding:18px 36px;font-size:14px}[data-gp-theme="goodpane-window-care"] .preloader{background:var(--paper);color:var(--ink)}[data-gp-theme="goodpane-window-care"] .preloader strong{font:56px var(--display)}[data-gp-theme="goodpane-window-care"] label{display:grid;gap:8px;font-size:16px}[data-gp-theme="goodpane-window-care"] input,[data-gp-theme="goodpane-window-care"] select,[data-gp-theme="goodpane-window-care"] textarea{width:100%;min-width:0;border:1px solid var(--line);padding:13px;background:var(--paper);color:var(--ink);border-radius:0;min-height:48px}[data-gp-theme="goodpane-window-care"] input::placeholder,[data-gp-theme="goodpane-window-care"] textarea::placeholder{color:var(--muted);opacity:1}[data-gp-theme="goodpane-window-care"] :is(form,[data-gp-form]){display:grid;gap:20px}[data-gp-theme="goodpane-window-care"] .form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}[data-gp-theme="goodpane-window-care"] :is(form,[data-gp-form]) :is(button,[role="button"]){justify-self:start;background:var(--accent);color:var(--on-accent);border-color:var(--accent)}[data-gp-theme="goodpane-window-care"] output{display:block;white-space:pre-line;overflow-wrap:anywhere;background:var(--wash);padding:22px;border:1px solid var(--line);font-size:16px}[data-gp-theme="goodpane-window-care"] output:empty{display:none}[data-gp-theme="goodpane-window-care"] .download{background:transparent;color:var(--ink);border-color:var(--line)}[data-gp-theme="goodpane-window-care"] details{border-top:1px solid var(--line);padding:20px 0}[data-gp-theme="goodpane-window-care"] summary{min-height:44px;font-weight:600}[data-gp-theme="goodpane-window-care"] details p{margin-top:14px}[data-gp-theme="goodpane-window-care"] .full-footer{padding-block:65px 25px;border-top:1px solid var(--line)}[data-gp-theme="goodpane-window-care"] .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}[data-gp-theme="goodpane-window-care"] .footer-grid h2{font-size:44px}[data-gp-theme="goodpane-window-care"] .footer-grid h3{font:600 17px var(--body);margin-bottom:15px}[data-gp-theme="goodpane-window-care"] .footer-grid a{display:block;min-height:44px;padding:8px 0}[data-gp-theme="goodpane-window-care"] .footer-bottom{display:flex;justify-content:space-between;gap:25px;padding-top:24px;margin-top:45px;border-top:1px solid var(--line);font-size:14px}[data-gp-theme="goodpane-window-care"] .tone{background:var(--wash)}[data-gp-theme="goodpane-window-care"] .rule{border-top:1px solid var(--line)}[data-gp-theme="goodpane-window-care"] .task-note{min-height:72px}[data-gp-theme="goodpane-window-care"] .feedback{min-height:28px;font-size:15px}[data-gp-theme="goodpane-window-care"] .inkbox{background:var(--ink);color:var(--paper)}[data-gp-theme="goodpane-window-care"] .inkbox .meta{color:var(--paper)}[data-gp-theme="goodpane-window-care"] fieldset{margin:0;padding:0;border:0;min-width:0}[data-gp-theme="goodpane-window-care"] legend{margin-bottom:12px}[data-gp-theme="goodpane-window-care"] input[type=checkbox]{width:21px;min-height:21px;height:21px;accent-color:var(--accent)}[data-gp-theme="goodpane-window-care"] .check{display:flex;align-items:start;gap:12px;padding:13px 0}[data-gp-theme="goodpane-window-care"] .check input{flex:none;margin-top:4px}[data-gp-theme="goodpane-window-care"] .menu-mark{width:70px;height:70px;display:grid;place-content:center;border:1px solid var(--line);font:40px var(--display)}[data-gp-theme="goodpane-window-care"] .visual-note{padding:12px 0}[data-gp-theme="goodpane-window-care"] .thin-rule{width:100%;height:1px;background:var(--line)}
@media(hover:hover) and (pointer:fine){[data-gp-theme="goodpane-window-care"] .action:hover,[data-gp-theme="goodpane-window-care"] :is(button,[role="button"]):hover{transform:translateY(-2px)}[data-gp-theme="goodpane-window-care"] .masthead a:hover,[data-gp-theme="goodpane-window-care"] .footer-grid a:hover{color:var(--accent)}}
@media(max-width:850px){[data-gp-theme="goodpane-window-care"] .wrap{width:calc(100% - 48px)}[data-gp-theme="goodpane-window-care"] .masthead{gap:18px}[data-gp-theme="goodpane-window-care"] .masthead nav>a{display:none}[data-gp-theme="goodpane-window-care"] .masthead .header-action{display:none}[data-gp-theme="goodpane-window-care"] .split{gap:35px}[data-gp-theme="goodpane-window-care"] .section{padding-block:70px}[data-gp-theme="goodpane-window-care"] .menu-grid{gap:25px}[data-gp-theme="goodpane-window-care"] .footer-grid{gap:30px}}
@containerfs-editor-canvas (max-width: 850px){[data-gp-theme="goodpane-window-care"] .wrap{width:calc(100% - 48px)}[data-gp-theme="goodpane-window-care"] .masthead{gap:18px}[data-gp-theme="goodpane-window-care"] .masthead nav>a{display:none}[data-gp-theme="goodpane-window-care"] .masthead .header-action{display:none}[data-gp-theme="goodpane-window-care"] .split{gap:35px}[data-gp-theme="goodpane-window-care"] .section{padding-block:70px}[data-gp-theme="goodpane-window-care"] .menu-grid{gap:25px}[data-gp-theme="goodpane-window-care"] .footer-grid{gap:30px}}
@media(max-width:600px){[data-gp-theme="goodpane-window-care"]{font-size:17px}[data-gp-theme="goodpane-window-care"] .wrap{width:calc(100% - 36px)}[data-gp-theme="goodpane-window-care"] .masthead{padding-block:20px}[data-gp-theme="goodpane-window-care"] .wordmark{font-size:25px}[data-gp-theme="goodpane-window-care"] .wordmark small{font-size:12px}[data-gp-theme="goodpane-window-care"] .menu-trigger{padding:10px 12px}[data-gp-theme="goodpane-window-care"] .section{padding-block:52px}[data-gp-theme="goodpane-window-care"] .section-head,[data-gp-theme="goodpane-window-care"] .split{display:grid;grid-template-columns:1fr;gap:25px}[data-gp-theme="goodpane-window-care"] .section-head{margin-bottom:28px}[data-gp-theme="goodpane-window-care"] .form-row{grid-template-columns:1fr}[data-gp-theme="goodpane-window-care"] .mega-menu{width:calc(100% - 20px);margin:10px auto}[data-gp-theme="goodpane-window-care"] .menu-top{padding:24px 20px;gap:14px}[data-gp-theme="goodpane-window-care"] .menu-top h2{font-size:32px}[data-gp-theme="goodpane-window-care"] .menu-grid{grid-template-columns:1fr;padding:20px;gap:28px}[data-gp-theme="goodpane-window-care"] .menu-feature{padding:20px!important}[data-gp-theme="goodpane-window-care"] .menu-bottom{padding:18px 20px;display:grid;gap:5px}[data-gp-theme="goodpane-window-care"] .footer-grid{grid-template-columns:1fr 1fr;gap:28px}[data-gp-theme="goodpane-window-care"] .footer-grid>div:first-child{grid-column:1/-1}[data-gp-theme="goodpane-window-care"] .footer-bottom{display:grid;gap:8px}[data-gp-theme="goodpane-window-care"] .footer-grid h2{font-size:36px}[data-gp-theme="goodpane-window-care"] .choices :is(button,[role="button"]){flex:1;padding:10px 12px}[data-gp-theme="goodpane-window-care"] h1{font-size:52px}[data-gp-theme="goodpane-window-care"] h2{font-size:38px}[data-gp-theme="goodpane-window-care"] .full-footer{padding-top:45px}[data-gp-theme="goodpane-window-care"] .stack>*+*{margin-top:20px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="goodpane-window-care"]{font-size:17px}[data-gp-theme="goodpane-window-care"] .wrap{width:calc(100% - 36px)}[data-gp-theme="goodpane-window-care"] .masthead{padding-block:20px}[data-gp-theme="goodpane-window-care"] .wordmark{font-size:25px}[data-gp-theme="goodpane-window-care"] .wordmark small{font-size:12px}[data-gp-theme="goodpane-window-care"] .menu-trigger{padding:10px 12px}[data-gp-theme="goodpane-window-care"] .section{padding-block:52px}[data-gp-theme="goodpane-window-care"] .section-head,[data-gp-theme="goodpane-window-care"] .split{display:grid;grid-template-columns:1fr;gap:25px}[data-gp-theme="goodpane-window-care"] .section-head{margin-bottom:28px}[data-gp-theme="goodpane-window-care"] .form-row{grid-template-columns:1fr}[data-gp-theme="goodpane-window-care"] .mega-menu{width:calc(100% - 20px);margin:10px auto}[data-gp-theme="goodpane-window-care"] .menu-top{padding:24px 20px;gap:14px}[data-gp-theme="goodpane-window-care"] .menu-top h2{font-size:32px}[data-gp-theme="goodpane-window-care"] .menu-grid{grid-template-columns:1fr;padding:20px;gap:28px}[data-gp-theme="goodpane-window-care"] .menu-feature{padding:20px!important}[data-gp-theme="goodpane-window-care"] .menu-bottom{padding:18px 20px;display:grid;gap:5px}[data-gp-theme="goodpane-window-care"] .footer-grid{grid-template-columns:1fr 1fr;gap:28px}[data-gp-theme="goodpane-window-care"] .footer-grid>div:first-child{grid-column:1/-1}[data-gp-theme="goodpane-window-care"] .footer-bottom{display:grid;gap:8px}[data-gp-theme="goodpane-window-care"] .footer-grid h2{font-size:36px}[data-gp-theme="goodpane-window-care"] .choices :is(button,[role="button"]){flex:1;padding:10px 12px}[data-gp-theme="goodpane-window-care"] h1{font-size:52px}[data-gp-theme="goodpane-window-care"] h2{font-size:38px}[data-gp-theme="goodpane-window-care"] .full-footer{padding-top:45px}[data-gp-theme="goodpane-window-care"] .stack>*+*{margin-top:20px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="goodpane-window-care"] :is(button,[role="button"]),[data-gp-theme="goodpane-window-care"] .action{transform:none!important;transition:none!important}}
[data-gp-theme="goodpane-window-care"]{--paper:#fff2df;--ink:#3e477d;--accent:#b84a25;--on-accent:#fff8ef;--wash:#f2e0bf;--line:#c2b38f;--muted:#5b5775;--display:"Bricolage Grotesque",sans-serif;--body:"DM Sans",sans-serif}[data-gp-theme="goodpane-window-care"][data-palette="1"]{--paper:#f8eae6;--ink:#693344;--accent:#8b344f;--wash:#ecd4ce;--line:#c5a7ab;--muted:#775965}[data-gp-theme="goodpane-window-care"][data-palette="2"]{--paper:#eaf1fa;--ink:#294e70;--accent:#315d8e;--wash:#d7e4f3;--line:#9eb6d0;--muted:#516781}[data-gp-theme="goodpane-window-care"][data-mode="dark"]{--paper:#242942;--ink:#fff1dc;--accent:#efb47c;--on-accent:#302737;--wash:#343a54;--line:#696d87;--muted:#ddd3c6}[data-gp-theme="goodpane-window-care"][data-palette="1"][data-mode="dark"]{--paper:#38232d;--wash:#4f3440;--accent:#efb9bc;--line:#8b6875;--muted:#e3ccd4}[data-gp-theme="goodpane-window-care"][data-palette="2"][data-mode="dark"]{--paper:#1d3144;--wash:#2b445d;--accent:#b2d1ef;--line:#647d96;--muted:#c7d6e7}[data-gp-theme="goodpane-window-care"] .wordmark{font-size:35px;letter-spacing:-.06em}[data-gp-theme="goodpane-window-care"] .gp-mark{display:grid;place-content:center;border:2px solid currentColor;border-radius:11px;width:39px;height:39px;font:600 35px/.8 var(--display);padding-bottom:6px}[data-gp-theme="goodpane-window-care"] .gp-title{text-align:center;padding-top:55px;display:grid;justify-items:center;gap:22px}[data-gp-theme="goodpane-window-care"] .gp-title h1{font-size:clamp(54px,6.8vw,96px);font-weight:650;letter-spacing:-.06em}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="goodpane-window-care"] .gp-title h1{font-size:clamp(54px,6.8cqw,96px)}}[data-gp-theme="goodpane-window-care"] .gp-title p{font-size:20px}[data-gp-theme="goodpane-window-care"] .gp-title .action{border-radius:50px;padding-inline:27px}[data-gp-theme="goodpane-window-care"] .street-wrap{position:relative;margin-top:25px}[data-gp-theme="goodpane-window-care"] .street{height:470px}[data-gp-theme="goodpane-window-care"] .street img{border-radius:140px 140px 0 0;object-position:center}[data-gp-theme="goodpane-window-care"] .street figcaption{background:var(--paper);padding:12px 0}[data-gp-theme="goodpane-window-care"] .hello-note{position:absolute;right:35px;bottom:55px;max-width:300px;background:var(--paper);padding:28px;border:1px solid var(--line);border-radius:6px;box-shadow:5px 5px 0 var(--accent)}[data-gp-theme="goodpane-window-care"] .hello-note>span:not(.fs-richtext){font:600 27px var(--display)}[data-gp-theme="goodpane-window-care"] .hello-note p{font-size:16px;margin:15px 0}[data-gp-theme="goodpane-window-care"] .hello-note a{font-size:16px}[data-gp-theme="goodpane-window-care"] .rhythm-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}[data-gp-theme="goodpane-window-care"] .rhythm-layout h2{font-weight:600}[data-gp-theme="goodpane-window-care"] .calendar{border:2px solid var(--ink);border-radius:22px;padding:35px;background:var(--wash);box-shadow:9px 9px 0 var(--ink)}[data-gp-theme="goodpane-window-care"] .calendar-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:25px}[data-gp-theme="goodpane-window-care"] .calendar-top h3{font-size:35px;font-weight:600}[data-gp-theme="goodpane-window-care"] .calendar-stamp{font:55px var(--display);border:2px solid currentColor;border-radius:50%;width:86px;height:86px;text-align:center;flex:none}[data-gp-theme="goodpane-window-care"] .calendar-weeks{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:28px 0}[data-gp-theme="goodpane-window-care"] .calendar-weeks span:not(.fs-richtext){aspect-ratio:1;display:flex;flex-direction:column;justify-content:center;align-items:center;border:1px solid var(--line);font-size:20px;border-radius:50%;background:var(--paper);transition:background-color 180ms var(--ease-out)}[data-gp-theme="goodpane-window-care"] .calendar-weeks small{font-size:10px}[data-gp-theme="goodpane-window-care"] .calendar-weeks .visit{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}[data-gp-theme="goodpane-window-care"] .calendar-bottom{font-size:14px}[data-gp-theme="goodpane-window-care"] .calendar-key{display:flex;align-items:center;gap:8px;margin-bottom:10px}[data-gp-theme="goodpane-window-care"] .calendar-key i{width:12px;height:12px;background:var(--accent);border-radius:50%}[data-gp-theme="goodpane-window-care"] .visit-section{background:var(--wash);border-radius:80px 80px 0 0}[data-gp-theme="goodpane-window-care"] .visit-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}[data-gp-theme="goodpane-window-care"] .visit-icon{display:grid;place-content:center;width:70px;height:70px;border:2px solid var(--ink);border-radius:20px;font-size:43px;margin-bottom:25px}[data-gp-theme="goodpane-window-care"] .visit-steps h3{font-size:30px;margin-bottom:17px;font-weight:600}[data-gp-theme="goodpane-window-care"] .area-postcard{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:55px;border:2px solid var(--ink);border-radius:10px}[data-gp-theme="goodpane-window-care"] .postcard-address{border-left:1px solid var(--line);padding:12px 0 0 50px;position:relative;display:flex;flex-direction:column;gap:20px;justify-content:center}[data-gp-theme="goodpane-window-care"] .postage{font:600 24px/.9 var(--display);align-self:end;border:2px dashed currentColor;padding:15px;transform:rotate(7deg)}[data-gp-theme="goodpane-window-care"] .postcard-address strong{font:35px var(--display);overflow-wrap:anywhere}[data-gp-theme="goodpane-window-care"] .postcard-lines{height:60px;background:repeating-linear-gradient(transparent 0 25px,var(--line) 25px 26px)}[data-gp-theme="goodpane-window-care"] .gp-footer{background:var(--ink);color:var(--paper);border-radius:70px 70px 0 0}[data-gp-theme="goodpane-window-care"] .gp-footer .meta{color:var(--paper)}[data-gp-theme="goodpane-window-care"] .gp-intro{font:100px var(--display)}
@media(max-width:950px){[data-gp-theme="goodpane-window-care"] .rhythm-layout{gap:40px}[data-gp-theme="goodpane-window-care"] .calendar{padding:25px}[data-gp-theme="goodpane-window-care"] .area-postcard{padding:35px;gap:35px}[data-gp-theme="goodpane-window-care"] .postcard-address{padding-left:30px}}
@containerfs-editor-canvas (max-width: 950px){[data-gp-theme="goodpane-window-care"] .rhythm-layout{gap:40px}[data-gp-theme="goodpane-window-care"] .calendar{padding:25px}[data-gp-theme="goodpane-window-care"] .area-postcard{padding:35px;gap:35px}[data-gp-theme="goodpane-window-care"] .postcard-address{padding-left:30px}}
@media(max-width:600px){[data-gp-theme="goodpane-window-care"] .wordmark{font-size:28px}[data-gp-theme="goodpane-window-care"] .gp-title{padding-top:30px;gap:20px}[data-gp-theme="goodpane-window-care"] .gp-title h1{font-size:52px}[data-gp-theme="goodpane-window-care"] .gp-title p{font-size:17px}[data-gp-theme="goodpane-window-care"] .street{height:290px}[data-gp-theme="goodpane-window-care"] .street img{border-radius:65px 65px 0 0}[data-gp-theme="goodpane-window-care"] .hello-note{position:relative;right:auto;bottom:auto;margin:35px 5px 0 0;max-width:none;padding:22px}[data-gp-theme="goodpane-window-care"] .hello-note p{margin:10px 0}[data-gp-theme="goodpane-window-care"] .rhythm-layout{grid-template-columns:1fr;gap:30px}[data-gp-theme="goodpane-window-care"] .rhythm-layout h2 br:nth-child(2){display:none}[data-gp-theme="goodpane-window-care"] .calendar{padding:22px;box-shadow:5px 5px 0 var(--ink);margin-right:5px}[data-gp-theme="goodpane-window-care"] .calendar-top h3{font-size:30px}[data-gp-theme="goodpane-window-care"] .calendar-stamp{width:65px;height:65px;font-size:43px}[data-gp-theme="goodpane-window-care"] .calendar-weeks{gap:5px}[data-gp-theme="goodpane-window-care"] .calendar-weeks span:not(.fs-richtext){font-size:17px}[data-gp-theme="goodpane-window-care"] .calendar-weeks small{font-size:8px}[data-gp-theme="goodpane-window-care"] .visit-section{border-radius:35px 35px 0 0}[data-gp-theme="goodpane-window-care"] .visit-steps{grid-template-columns:1fr;gap:30px}[data-gp-theme="goodpane-window-care"] .visit-icon{width:55px;height:55px;font-size:34px;margin-bottom:18px}[data-gp-theme="goodpane-window-care"] .area-postcard{grid-template-columns:1fr;padding:25px;gap:30px}[data-gp-theme="goodpane-window-care"] .postcard-address{border-left:0;border-top:1px solid var(--line);padding:28px 0 0}[data-gp-theme="goodpane-window-care"] .postage{position:absolute;right:0;top:28px;font-size:18px}[data-gp-theme="goodpane-window-care"] .postcard-address>span:not(.fs-richtext):first-of-type{max-width:150px}[data-gp-theme="goodpane-window-care"] .postcard-address strong{font-size:30px;max-width:180px}[data-gp-theme="goodpane-window-care"] .gp-footer{border-radius:35px 35px 0 0}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="goodpane-window-care"] .wordmark{font-size:28px}[data-gp-theme="goodpane-window-care"] .gp-title{padding-top:30px;gap:20px}[data-gp-theme="goodpane-window-care"] .gp-title h1{font-size:52px}[data-gp-theme="goodpane-window-care"] .gp-title p{font-size:17px}[data-gp-theme="goodpane-window-care"] .street{height:290px}[data-gp-theme="goodpane-window-care"] .street img{border-radius:65px 65px 0 0}[data-gp-theme="goodpane-window-care"] .hello-note{position:relative;right:auto;bottom:auto;margin:35px 5px 0 0;max-width:none;padding:22px}[data-gp-theme="goodpane-window-care"] .hello-note p{margin:10px 0}[data-gp-theme="goodpane-window-care"] .rhythm-layout{grid-template-columns:1fr;gap:30px}[data-gp-theme="goodpane-window-care"] .rhythm-layout h2 br:nth-child(2){display:none}[data-gp-theme="goodpane-window-care"] .calendar{padding:22px;box-shadow:5px 5px 0 var(--ink);margin-right:5px}[data-gp-theme="goodpane-window-care"] .calendar-top h3{font-size:30px}[data-gp-theme="goodpane-window-care"] .calendar-stamp{width:65px;height:65px;font-size:43px}[data-gp-theme="goodpane-window-care"] .calendar-weeks{gap:5px}[data-gp-theme="goodpane-window-care"] .calendar-weeks span:not(.fs-richtext){font-size:17px}[data-gp-theme="goodpane-window-care"] .calendar-weeks small{font-size:8px}[data-gp-theme="goodpane-window-care"] .visit-section{border-radius:35px 35px 0 0}[data-gp-theme="goodpane-window-care"] .visit-steps{grid-template-columns:1fr;gap:30px}[data-gp-theme="goodpane-window-care"] .visit-icon{width:55px;height:55px;font-size:34px;margin-bottom:18px}[data-gp-theme="goodpane-window-care"] .area-postcard{grid-template-columns:1fr;padding:25px;gap:30px}[data-gp-theme="goodpane-window-care"] .postcard-address{border-left:0;border-top:1px solid var(--line);padding:28px 0 0}[data-gp-theme="goodpane-window-care"] .postage{position:absolute;right:0;top:28px;font-size:18px}[data-gp-theme="goodpane-window-care"] .postcard-address>span:not(.fs-richtext):first-of-type{max-width:150px}[data-gp-theme="goodpane-window-care"] .postcard-address strong{font-size:30px;max-width:180px}[data-gp-theme="goodpane-window-care"] .gp-footer{border-radius:35px 35px 0 0}}

[data-gp-theme="goodpane-window-care"][data-palette="1"][data-mode="light"]{--muted:#694a57}

@media(max-width:650px){[data-gp-theme="goodpane-window-care"] .rhythm-layout{grid-template-columns:minmax(0,1fr)}[data-gp-theme="goodpane-window-care"] .rhythm-layout>*{min-width:0}[data-gp-theme="goodpane-window-care"] .choices{flex-wrap:wrap}[data-gp-theme="goodpane-window-care"] .calendar{min-width:0;padding-inline:16px}[data-gp-theme="goodpane-window-care"] .calendar-weeks{grid-template-columns:repeat(7,minmax(0,1fr))}[data-gp-theme="goodpane-window-care"] .calendar-weeks>span:not(.fs-richtext){min-width:0;padding-inline:0;font-size:18px}[data-gp-theme="goodpane-window-care"] .calendar-bottom{min-width:0}}

@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="goodpane-window-care"] .rhythm-layout{grid-template-columns:minmax(0,1fr)}[data-gp-theme="goodpane-window-care"] .rhythm-layout>*{min-width:0}[data-gp-theme="goodpane-window-care"] .choices{flex-wrap:wrap}[data-gp-theme="goodpane-window-care"] .calendar{min-width:0;padding-inline:16px}[data-gp-theme="goodpane-window-care"] .calendar-weeks{grid-template-columns:repeat(7,minmax(0,1fr))}[data-gp-theme="goodpane-window-care"] .calendar-weeks>span:not(.fs-richtext){min-width:0;padding-inline:0;font-size:18px}[data-gp-theme="goodpane-window-care"] .calendar-bottom{min-width:0}}
@media(max-width:380px){[data-gp-theme="goodpane-window-care"] .masthead{gap:12px}[data-gp-theme="goodpane-window-care"] .menu-trigger{font-size:0;width:44px;min-width:44px;padding:10px;gap:0}[data-gp-theme="goodpane-window-care"] .menu-trigger svg{width:22px;height:22px;flex-shrink:0}}
@containerfs-editor-canvas (max-width: 380px){[data-gp-theme="goodpane-window-care"] .masthead{gap:12px}[data-gp-theme="goodpane-window-care"] .menu-trigger{font-size:0;width:44px;min-width:44px;padding:10px;gap:0}[data-gp-theme="goodpane-window-care"] .menu-trigger svg{width:22px;height:22px;flex-shrink:0}}

/* Preview chrome and accessibility only. Theme authors own the visual worlds. */
[data-gp-theme="goodpane-window-care"][data-premium]{color-scheme:light;background:var(--paper);color:var(--ink);accent-color:var(--accent);scrollbar-color:var(--accent) var(--wash)}
[data-gp-theme="goodpane-window-care"][data-premium][data-mode=dark]{color-scheme:dark}
[data-gp-theme="goodpane-window-care"][data-premium] ::selection{background:var(--accent);color:var(--on-accent)}
[data-gp-theme="goodpane-window-care"][data-premium] :is(input,textarea){caret-color:var(--accent)}
[data-gp-theme="goodpane-window-care"][data-premium] :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--accent);outline-offset:4px}
[data-gp-theme="goodpane-window-care"][data-premium] :is(input,select,textarea){max-width:100%}
[data-gp-theme="goodpane-window-care"][data-premium] :is(input,textarea)::placeholder{color:var(--muted);opacity:1}
[data-gp-theme="goodpane-window-care"][data-premium] .preview-bar{display:flex;flex-wrap:wrap;justify-content:flex-start;background:#f5f5f0;color:#242d2c;border-color:#cbd0c8;gap:8px 14px;position:relative;font:13px/1.3 "Figtree",sans-serif;min-height:52px;padding:6px 3vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="goodpane-window-care"][data-premium] .preview-bar{padding:6px 3cqw}}
[data-gp-theme="goodpane-window-care"][data-premium] .preview-bar>a{font-weight:600;min-height:40px;display:flex;align-items:center}
[data-gp-theme="goodpane-window-care"][data-premium] .preview-bar [role=group]{margin-left:auto;display:flex;gap:2px}
[data-gp-theme="goodpane-window-care"][data-premium] .preview-bar :is(button,select){font:13px/1.3 "Figtree",sans-serif;min-height:40px;max-width:100%;border-radius:3px}
[data-gp-theme="goodpane-window-care"][data-premium] .preview-bar select{background:#fff;color:#242d2c;border:1px solid #a2ada4;padding:7px 24px 7px 9px}
[data-gp-theme="goodpane-window-care"][data-premium] .preview-bar [aria-pressed=true]{background:#242d2c;color:#fff}
[data-gp-theme="goodpane-window-care"][data-premium] .preview-bar .preview-label{font:12px/1.3 "Figtree",sans-serif;color:#48554f}
[data-gp-theme="goodpane-window-care"][data-premium] .preview-bar :focus-visible{outline-color:#254fbb}
[data-gp-theme="goodpane-window-care"][data-premium] .preview-bar [data-replay-intro]{font-size:12px;margin:0}
[data-gp-theme="goodpane-window-care"][data-premium] .preview-bar [data-replay-intro]::after{content:none}
[data-gp-theme="goodpane-window-care"][data-premium] .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
[data-gp-theme="goodpane-window-care"][data-premium] .premium-action{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 22px;background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);text-decoration:none;font-weight:600;transition:transform 150ms var(--ease-out),background-color 150ms var(--ease-out)}
[data-gp-theme="goodpane-window-care"][data-premium] .premium-action:active{transform:translateY(1px)}
[data-gp-theme="goodpane-window-care"][data-premium] .premium-action:disabled{opacity:.6;cursor:not-allowed}
[data-gp-theme="goodpane-window-care"][data-premium] :is(h1,h2,h3){text-wrap:balance}
[data-gp-theme="goodpane-window-care"][data-premium] p{text-wrap:pretty}
/* Put down the opaque menu surface immediately, then introduce its content. */
[data-gp-theme="goodpane-window-care"][data-premium] .mega-menu[open]:not([data-closing]){animation:none}
[data-gp-theme="goodpane-window-care"][data-premium] .mega-menu[open]:not([data-closing])>:not(:first-child){animation:gp-goodpane-premium-menu-content 160ms var(--ease-out)}
[data-gp-theme="goodpane-window-care"][data-premium] .mega-menu[data-keyboard]>:not(:first-child){animation:none!important}
[data-gp-theme="goodpane-window-care"][data-premium][data-input=keyboard] :is(button,[role="button"]):active{transform:none}
@keyframes gp-goodpane-premium-menu-content{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:650px){
 [data-gp-theme="goodpane-window-care"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="goodpane-window-care"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="goodpane-window-care"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="goodpane-window-care"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="goodpane-window-care"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="goodpane-window-care"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="goodpane-window-care"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="goodpane-window-care"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@containerfs-editor-canvas (max-width: 650px){
 [data-gp-theme="goodpane-window-care"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="goodpane-window-care"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="goodpane-window-care"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="goodpane-window-care"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="goodpane-window-care"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="goodpane-window-care"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="goodpane-window-care"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="goodpane-window-care"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@media(prefers-reduced-motion:reduce){[data-gp-theme="goodpane-window-care"][data-premium] .premium-action{transition:none;transform:none}}

/* Website page primitives and actual layout modes. Authored theme CSS owns identity. */
[data-gp-theme="goodpane-window-care"][data-framed=true] .preview-bar,[data-gp-theme="goodpane-window-care"][data-framed=true] .site-open-preview{display:none!important}
[data-gp-theme="goodpane-window-care"][data-site]{--ip-paper:var(--paper,#f4f2eb);--ip-ink:var(--ink,#192f2c);--ip-wash:var(--wash,var(--paper,#e6e9df));--ip-accent:var(--accent,var(--rust,#315b50));--ip-on:var(--on-accent,var(--paper,#fff));--ip-muted:var(--muted,var(--ink,#45534d));--ip-line:var(--line,var(--rule,#a1aca5))}
[data-gp-theme="goodpane-window-care"][data-inside]{background:var(--ip-paper);color:var(--ip-ink);font:18px/1.65 var(--body,"Figtree",sans-serif)}
[data-gp-theme="goodpane-window-care"] .inside-page :is(h1,h2,h3){font-family:var(--display,inherit);color:inherit;letter-spacing:-.035em;line-height:1.1;font-weight:500;max-width:22ch}
[data-gp-theme="goodpane-window-care"] .inside-page h1{font-size:clamp(42px,5.3vw,80px);margin:0 0 26px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="goodpane-window-care"] .inside-page h1{font-size:clamp(42px,5.3cqw,80px)}}[data-gp-theme="goodpane-window-care"] .inside-page h2{font-size:clamp(30px,3vw,49px);margin:0 0 24px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="goodpane-window-care"] .inside-page h2{font-size:clamp(30px,3cqw,49px)}}[data-gp-theme="goodpane-window-care"] .inside-page h3{font-size:25px;margin:0 0 15px}
[data-gp-theme="goodpane-window-care"] .inside-page :is(p,li){max-width:72ch}[data-gp-theme="goodpane-window-care"] .inside-page p{margin:0 0 20px}[data-gp-theme="goodpane-window-care"] .inside-page a{color:inherit}[data-gp-theme="goodpane-window-care"] .inside-page img{max-width:100%;width:100%;height:100%;object-fit:cover}[data-gp-theme="goodpane-window-care"] .inside-page figure{margin:0}[data-gp-theme="goodpane-window-care"] .inside-page :is(button,[role="button"]){color:inherit}
[data-gp-theme="goodpane-window-care"] .ip-hero,[data-gp-theme="goodpane-window-care"] .ip-section{width:min(1320px,calc(100% - 96px));margin-inline:auto;padding-block:70px}[data-gp-theme="goodpane-window-care"] .ip-hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:65px}[data-gp-theme="goodpane-window-care"] .ip-opening{min-width:0}[data-gp-theme="goodpane-window-care"] .ip-hero:has(>.ip-opening:only-child){grid-template-columns:1fr}[data-gp-theme="goodpane-window-care"] .ip-art{height:430px;position:relative}[data-gp-theme="goodpane-window-care"] .ip-art img{object-fit:cover}[data-gp-theme="goodpane-window-care"] .ip-art figcaption,[data-gp-theme="goodpane-window-care"] .ip-caption{font-size:14px;line-height:1.5;color:var(--ip-muted);padding-top:10px}[data-gp-theme="goodpane-window-care"] .ip-section>.ip-caption{margin-bottom:20px}[data-gp-theme="goodpane-window-care"] .ip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}[data-gp-theme="goodpane-window-care"] .ip-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px}[data-gp-theme="goodpane-window-care"] .ip-card{min-width:0;border-top:1px solid var(--ip-line);padding:25px 0}[data-gp-theme="goodpane-window-care"] .ip-card figure{height:230px;margin-bottom:25px}[data-gp-theme="goodpane-window-care"] .ip-reading{width:min(76ch,calc(100% - 48px));margin-inline:auto;padding-block:55px}[data-gp-theme="goodpane-window-care"] .ip-reading h2{margin-top:40px}[data-gp-theme="goodpane-window-care"] .ip-ledger{margin:24px 0}[data-gp-theme="goodpane-window-care"] .ip-ledger>div{display:grid;grid-template-columns:1fr 1.4fr;gap:20px;border-top:1px solid var(--ip-line);padding:15px 0}[data-gp-theme="goodpane-window-care"] .ip-ledger dt{font-weight:600}[data-gp-theme="goodpane-window-care"] .ip-ledger dd{margin:0}[data-gp-theme="goodpane-window-care"] .ip-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border:1px solid var(--ip-accent);background:var(--ip-accent);color:var(--ip-on)!important;text-decoration:none;font-size:16px;transition:transform 150ms var(--ease-out)}[data-gp-theme="goodpane-window-care"] .ip-action.secondary{background:transparent;color:var(--ip-ink)!important;border-color:var(--ip-line)}[data-gp-theme="goodpane-window-care"] .ip-band{padding:55px max(24px,calc((100% - 1320px)/2));background:var(--ip-wash);color:var(--ip-ink)}[data-gp-theme="goodpane-window-care"] .ip-band p{max-width:65ch}[data-gp-theme="goodpane-window-care"] .ip-note{font-size:15px;border-left:3px solid var(--ip-accent);padding:12px 18px;background:var(--ip-wash);color:var(--ip-ink);margin-block:20px}[data-gp-theme="goodpane-window-care"] .ip-form{display:grid;gap:22px}[data-gp-theme="goodpane-window-care"] .ip-form label{display:grid;gap:8px;font-size:16px}[data-gp-theme="goodpane-window-care"] .ip-form :is(input,textarea,select){width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid var(--ip-line);background:var(--ip-paper);color:var(--ip-ink);font:inherit;border-radius:0}[data-gp-theme="goodpane-window-care"] .ip-form :is(input,textarea)::placeholder{color:var(--ip-muted);opacity:1}[data-gp-theme="goodpane-window-care"] .ip-field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}[data-gp-theme="goodpane-window-care"] .ip-form :is(button,[role="button"]){justify-self:start}[data-gp-theme="goodpane-window-care"] .ip-form textarea{min-height:135px}[data-gp-theme="goodpane-window-care"] .inside-page output[data-draft-output]{display:block;white-space:pre-wrap;padding:25px;background:var(--ip-wash);color:var(--ip-ink);border:1px solid var(--ip-line);overflow-wrap:anywhere}[data-gp-theme="goodpane-window-care"] .ip-checks{display:grid;gap:12px}[data-gp-theme="goodpane-window-care"] .ip-checks label{display:flex;align-items:start;gap:14px;border-top:1px solid var(--ip-line);padding:16px 0;min-height:52px}[data-gp-theme="goodpane-window-care"] .ip-checks input{width:22px;height:22px;min-height:22px;flex-shrink:0;margin-top:4px;accent-color:var(--ip-accent)}[data-gp-theme="goodpane-window-care"] .inside-page details{border-top:1px solid var(--ip-line);padding:18px 0}[data-gp-theme="goodpane-window-care"] .inside-page summary{min-height:44px;font-size:21px;cursor:pointer}[data-gp-theme="goodpane-window-care"] .inside-page details p{padding:16px 0 0}[data-gp-theme="goodpane-window-care"] .inside-page [data-filter-group]>[role=group]{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}[data-gp-theme="goodpane-window-care"] .inside-page [data-filter]{padding:10px 18px;min-height:44px;background:transparent;color:var(--ip-ink);border:1px solid var(--ip-line)}[data-gp-theme="goodpane-window-care"] .inside-page [data-filter][aria-pressed=true]{background:var(--ip-accent);color:var(--ip-on)}[data-gp-theme="goodpane-window-care"] .site-directory{padding:30px!important;background:var(--ip-paper)!important;color:var(--ip-ink)!important;border-top:1px solid var(--ip-line)}[data-gp-theme="goodpane-window-care"] .site-directory h3{font:600 17px/1.4 var(--body,"Figtree",sans-serif);margin:0 0 16px}[data-gp-theme="goodpane-window-care"] .site-directory>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 25px}[data-gp-theme="goodpane-window-care"] .site-directory a{display:block;font:16px/1.5 var(--body,"Figtree",sans-serif)!important;min-height:44px;padding:10px 0!important;color:inherit!important;text-decoration:none}[data-gp-theme="goodpane-window-care"] .site-directory a[aria-current=page]{text-decoration:underline;font-weight:600!important}[data-gp-theme="goodpane-window-care"] .site-open-preview{display:block;padding:10px 20px;background:#eef0eb;color:#20322d;font:14px/1.4 "Figtree",sans-serif;text-align:center}
[data-gp-theme="goodpane-window-care"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){width:100%;padding-inline:max(24px,4vw)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="goodpane-window-care"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){padding-inline:max(24px,4cqw)}}
[data-gp-theme="goodpane-window-care"]:has([data-gp-theme="goodpane-window-care"][data-layout=boxed]){background:#a6afa9}[data-gp-theme="goodpane-window-care"][data-layout=boxed]{width:min(1200px,calc(100% - 64px));margin-inline:auto;box-shadow:0 0 0 1px #0002,0 20px 70px #0002;min-height:100dvh;background:var(--ip-paper)}
[data-gp-theme="goodpane-window-care"][data-layout=centered] :is(.ip-hero,.opening,.cake-opening,.gp-title,.book-opening,.poster-opening,.portal-opening,.destination-opening,.route-opening){text-align:center}
[data-gp-theme="goodpane-window-care"][data-layout=centered] .ip-hero{grid-template-columns:1fr;max-width:1000px;justify-items:center}[data-gp-theme="goodpane-window-care"][data-layout=centered] .ip-opening{display:grid;justify-items:center}[data-gp-theme="goodpane-window-care"][data-layout=centered] .ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="goodpane-window-care"][data-layout=centered] .ip-art{width:min(760px,100%)}
[data-gp-theme="goodpane-window-care"][data-layout=minimalist] :is(.ip-section,.ip-hero){padding-block:42px}[data-gp-theme="goodpane-window-care"][data-layout=minimalist] :is(.ip-card,.ip-art,.ip-note){border-radius:0;box-shadow:none;background-image:none}[data-gp-theme="goodpane-window-care"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5vw,64px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="goodpane-window-care"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5cqw,64px)}}[data-gp-theme="goodpane-window-care"][data-layout=minimalist] :is(.mullions,.glaze-rim,.cake-sticker,.paper-corner){opacity:0}[data-gp-theme="goodpane-window-care"][data-layout=minimalist] :is(.ip-art img,.opening img){border-radius:0}
[data-gp-theme="goodpane-window-care"][data-layout=edge-hero] .ip-hero{width:100%;padding-inline:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="goodpane-window-care"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4vw)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="goodpane-window-care"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4cqw)}}[data-gp-theme="goodpane-window-care"][data-layout=edge-hero] .ip-art{height:600px}[data-gp-theme="goodpane-window-care"][data-layout=edge-hero] .ip-art img{border-radius:0}[data-gp-theme="goodpane-window-care"][data-layout=edge-hero] .ip-art figcaption{padding:8px 20px}
[data-gp-theme="goodpane-window-care"][data-layout=full-width] .inside-page>.ip-opening{width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="goodpane-window-care"][data-layout=full-width] .inside-page>.ip-opening{padding-inline:4cqw}}
[data-gp-theme="goodpane-window-care"][data-layout=centered] .inside-page>.ip-opening{display:flex;flex-direction:column;align-items:center;text-align:center;width:min(1000px,calc(100% - 48px));gap:30px}[data-gp-theme="goodpane-window-care"][data-layout=centered] .inside-page>.ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="goodpane-window-care"][data-layout=centered] .inside-page>.ip-opening>figure{width:min(780px,100%)}
[data-gp-theme="goodpane-window-care"][data-layout=minimalist] .inside-page>.ip-opening{padding-block:38px}[data-gp-theme="goodpane-window-care"][data-layout=minimalist] .inside-page>.ip-opening :is(h1,figure){box-shadow:none;border-radius:0}
[data-gp-theme="goodpane-window-care"][data-layout=edge-hero] .inside-page>.ip-opening{width:100%;max-width:none;padding:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="goodpane-window-care"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="goodpane-window-care"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4cqw}}[data-gp-theme="goodpane-window-care"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:600px;max-width:none;align-self:stretch}[data-gp-theme="goodpane-window-care"][data-layout=edge-hero] .inside-page>.ip-opening>figure img{height:100%;object-fit:cover;border-radius:0}
/* Existing home compositions gain real width/spacing modes without replacing their content. */
[data-gp-theme="goodpane-window-care"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="goodpane-window-care"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){padding-inline:4cqw}}
[data-gp-theme="goodpane-window-care"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child{text-align:center}
[data-gp-theme="goodpane-window-care"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(h1,p){margin-inline:auto}[data-gp-theme="goodpane-window-care"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(.opening-copy,.elevation-copy,.cake-copy,.hero-copy){text-align:center}
[data-gp-theme="goodpane-window-care"][data-layout=minimalist]:not([data-inside]) .gp-source-main>section{padding-block:44px}[data-gp-theme="goodpane-window-care"][data-layout=minimalist]:not([data-inside]) :is(.hero-sleeve,.calendar,.hello-note,.open-book){box-shadow:none}
[data-gp-theme="goodpane-window-care"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child{width:100%;max-width:none;margin-inline:0;padding-inline:0;background:var(--ip-wash)}[data-gp-theme="goodpane-window-care"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="goodpane-window-care"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4cqw}}[data-gp-theme="goodpane-window-care"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:600px}
@media(hover:hover) and (pointer:fine){[data-gp-theme="goodpane-window-care"] .ip-action:hover{transform:translateY(-2px)}[data-gp-theme="goodpane-window-care"] .site-directory a:hover{text-decoration:underline}}
@media(max-width:850px){[data-gp-theme="goodpane-window-care"] .ip-hero,[data-gp-theme="goodpane-window-care"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="goodpane-window-care"] .ip-hero{gap:30px}[data-gp-theme="goodpane-window-care"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="goodpane-window-care"] .ip-two{gap:30px}[data-gp-theme="goodpane-window-care"] .ip-art{height:340px}}
@containerfs-editor-canvas (max-width: 850px){[data-gp-theme="goodpane-window-care"] .ip-hero,[data-gp-theme="goodpane-window-care"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="goodpane-window-care"] .ip-hero{gap:30px}[data-gp-theme="goodpane-window-care"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="goodpane-window-care"] .ip-two{gap:30px}[data-gp-theme="goodpane-window-care"] .ip-art{height:340px}}
@media(max-width:600px){[data-gp-theme="goodpane-window-care"] .ip-hero,[data-gp-theme="goodpane-window-care"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="goodpane-window-care"] .ip-hero,[data-gp-theme="goodpane-window-care"] .ip-two,[data-gp-theme="goodpane-window-care"] .ip-grid,[data-gp-theme="goodpane-window-care"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="goodpane-window-care"] .ip-art{height:300px}[data-gp-theme="goodpane-window-care"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="goodpane-window-care"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="goodpane-window-care"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="goodpane-window-care"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="goodpane-window-care"] .site-directory{padding:22px!important}[data-gp-theme="goodpane-window-care"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="goodpane-window-care"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="goodpane-window-care"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="goodpane-window-care"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="goodpane-window-care"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="goodpane-window-care"] .ip-hero,[data-gp-theme="goodpane-window-care"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="goodpane-window-care"] .ip-hero,[data-gp-theme="goodpane-window-care"] .ip-two,[data-gp-theme="goodpane-window-care"] .ip-grid,[data-gp-theme="goodpane-window-care"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="goodpane-window-care"] .ip-art{height:300px}[data-gp-theme="goodpane-window-care"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="goodpane-window-care"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="goodpane-window-care"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="goodpane-window-care"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="goodpane-window-care"] .site-directory{padding:22px!important}[data-gp-theme="goodpane-window-care"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="goodpane-window-care"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="goodpane-window-care"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="goodpane-window-care"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="goodpane-window-care"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@media(max-width:600px){[data-gp-theme="goodpane-window-care"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="goodpane-window-care"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="goodpane-window-care"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="goodpane-window-care"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="goodpane-window-care"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="goodpane-window-care"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
[data-gp-theme="goodpane-window-care"] .inside-page a[aria-disabled=true]{cursor:default;text-decoration:none}
[data-gp-theme="goodpane-window-care"][data-layout=edge-hero] .inside-page .ip-hero .ip-art{transform:none}
@media(prefers-reduced-motion:reduce){[data-gp-theme="goodpane-window-care"] .ip-action{transition:none;transform:none!important}}
/* Task actions always use an explicit contrasting pair, including themed form overrides. */
[data-gp-theme="goodpane-window-care"][data-site] .inside-page :is(.ip-form :is(button,[role="button"]):is([type="submit"],[data-gp-button-type="submit"]),[data-save-draft],.ip-action:not(.secondary)){
 background:var(--ip-ink)!important;color:var(--ip-paper)!important;border:1px solid var(--ip-ink)!important;
 min-height:48px;padding:12px 22px;font-size:16px;line-height:1.4;
}
[data-gp-theme="goodpane-window-care"][data-site] .inside-page .ip-action.secondary{background:transparent!important;color:var(--ip-ink)!important;border-color:var(--ip-line)!important}
[data-gp-theme="goodpane-window-care"][data-site] .inside-page .ip-form :is(select,select option){background-color:var(--ip-paper);color:var(--ip-ink)}
[data-gp-theme="goodpane-window-care"] .site-plan-label{display:block;font:400 14px/1.45 var(--body,sans-serif);margin-top:6px;text-decoration:none;opacity:1}
[data-gp-theme="goodpane-window-care"] a[data-preview-plan]{cursor:pointer}[data-gp-theme="goodpane-window-care"] .inside-page a[data-preview-plan]{text-decoration:none}
[data-gp-theme="goodpane-window-care"][data-site] .site-directory a[data-preview-plan]{display:flex;flex-direction:column;align-items:flex-start;gap:2px}[data-gp-theme="goodpane-window-care"] .site-directory .site-plan-label{font-size:13px;margin:0}


[data-gp-theme="goodpane-window-care"][data-inside] .ip-opening,[data-gp-theme="goodpane-window-care"][data-inside] .ip-section{width:min(1240px,calc(100% - 72px));margin-inline:auto;padding:64px 0;border-bottom:1px solid var(--line,#a8b6bb)}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-opening{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:56px;align-items:center;padding-top:76px}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-opening>div:only-child{grid-column:1/-1;max-width:920px}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-opening h1{font-family:var(--display,serif);font-size:clamp(46px,6vw,88px);line-height:1.05;margin:0 0 28px;overflow-wrap:break-word}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="goodpane-window-care"][data-inside] .ip-opening h1{font-size:clamp(46px,6cqw,88px)}}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-lead{font-size:clamp(20px,2vw,25px);max-width:52ch;line-height:1.5}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="goodpane-window-care"][data-inside] .ip-lead{font-size:clamp(20px,2cqw,25px)}}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-section h2{font-size:clamp(30px,3.5vw,52px);margin:0 0 28px;max-width:24ch}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="goodpane-window-care"][data-inside] .ip-section h2{font-size:clamp(30px,3.5cqw,52px)}}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-section h3{font-size:clamp(23px,2.4vw,32px);margin-bottom:15px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="goodpane-window-care"][data-inside] .ip-section h3{font-size:clamp(23px,2.4cqw,32px)}}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-section p{max-width:68ch;line-height:1.65}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-section p+p{margin-top:18px}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-columns article{border-top:2px solid var(--accent,#345c68);padding-top:22px}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-reading{max-width:75ch}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-media{margin:0;min-width:0}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-media img{width:100%;height:auto;max-height:520px;min-height:240px;object-fit:cover;display:block}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-media figcaption{font-size:14px;margin-top:12px;line-height:1.5}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-ledger{margin:0;min-width:0}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-ledger>div{display:grid;grid-template-columns:minmax(140px,.6fr) minmax(0,1.6fr);gap:26px;border-top:1px solid var(--line,#aaa);padding:20px 0}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-ledger dt{font-weight:650}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-ledger dd{margin:0;max-width:65ch}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-detail{display:grid;grid-template-columns:1fr 1.35fr;gap:55px}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-action{display:inline-flex;align-items:center;min-height:48px;padding:13px 20px;border:1px solid currentColor;margin-top:24px;text-decoration:none;font-weight:650}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-form{max-width:780px;display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:28px}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-form label{display:grid;gap:9px;min-width:0;font-size:17px;font-weight:600}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-form label:has(textarea){grid-column:1/-1}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-form input,[data-gp-theme="goodpane-window-care"][data-inside] .ip-form select,[data-gp-theme="goodpane-window-care"][data-inside] .ip-form textarea{box-sizing:border-box;width:100%;min-width:0;min-height:48px;background:var(--paper,#fff);color:var(--ink,#123);border:1px solid var(--line,#aaa);font:inherit;padding:12px;border-radius:0}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-form :is(button,[role="button"]){justify-self:start;min-height:48px;padding:12px 24px}
[data-gp-theme="goodpane-window-care"][data-inside] [data-draft-output]{max-width:780px;white-space:pre-wrap;overflow-wrap:anywhere;margin:24px 0;padding:24px;border:1px solid var(--line,#aaa)}
[data-gp-theme="goodpane-window-care"][data-inside] [hidden]{display:none!important}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-checklist{max-width:800px}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-checklist label{display:flex;align-items:start;gap:14px;padding:18px 0;border-top:1px solid var(--line,#aaa);font:inherit}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-checklist input{width:22px;height:22px;min-height:22px;flex:none;accent-color:var(--accent,#456);margin:4px 0 0}
[data-gp-theme="goodpane-window-care"][data-inside] [data-check-count],[data-gp-theme="goodpane-window-care"][data-inside] [data-filter-count]{display:block;font-size:15px;padding:14px 0;background:transparent;border:0}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-filter-buttons,[data-gp-theme="goodpane-window-care"][data-inside] .ip-choice [role=group]{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-filter-buttons :is(button,[role="button"]),[data-gp-theme="goodpane-window-care"][data-inside] .ip-choice :is(button,[role="button"]){padding:12px 20px;min-height:48px;background:var(--paper,#fff);color:var(--ink,#123);border:1px solid currentColor}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-filter-buttons :is(button,[role="button"])[aria-pressed=true],[data-gp-theme="goodpane-window-care"][data-inside] .ip-choice :is(button,[role="button"])[aria-pressed=true]{background:var(--ink,#123);color:var(--paper,#fff)}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-records{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-records article{padding:28px;border:1px solid var(--line,#aaa);min-width:0}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-record-label{display:block;margin-bottom:24px;font-size:14px}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-choice [data-note-result]{padding:24px;background:var(--wash,#eee);border-left:3px solid var(--accent,#456);min-height:100px}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-closing{background:var(--wash,#eee);padding:38px!important;margin-block:32px!important}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-section details{padding:21px 0;border-top:1px solid var(--line,#aaa)}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-section summary{min-height:44px;cursor:pointer;font-weight:650}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-section details p{margin-top:12px}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-sequence{list-style:none;margin:0;padding:0;counter-reset:sequence}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-sequence li{counter-increment:sequence;display:grid;grid-template-columns:64px 1fr;gap:24px;border-top:1px solid var(--line,#aaa);padding:28px 0}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-sequence li:before{content:counter(sequence,decimal-leading-zero);font:32px var(--display,serif);color:var(--accent,#456)}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-sequence h3{margin-bottom:12px}
[data-gp-theme="goodpane-window-care"][data-inside] :is(a,:is(button,[role="button"]),input,select,textarea,summary):focus-visible{outline:3px solid var(--accent,#456);outline-offset:4px}
@media(hover:hover) and (pointer:fine){[data-gp-theme="goodpane-window-care"][data-inside] :is(.ip-action,.ip-filter-buttons :is(button,[role="button"]),.ip-choice button){transition:transform 150ms ease,opacity 150ms ease}[data-gp-theme="goodpane-window-care"][data-inside] :is(.ip-action,.ip-filter-buttons :is(button,[role="button"]),.ip-choice button):hover{transform:translateY(-2px)}}
@media(max-width:760px){[data-gp-theme="goodpane-window-care"][data-inside] .ip-opening,[data-gp-theme="goodpane-window-care"][data-inside] .ip-section{width:calc(100% - 36px);padding-block:42px}[data-gp-theme="goodpane-window-care"][data-inside] .ip-opening,[data-gp-theme="goodpane-window-care"][data-inside] .ip-detail{grid-template-columns:1fr;gap:28px}[data-gp-theme="goodpane-window-care"][data-inside] .ip-columns,[data-gp-theme="goodpane-window-care"][data-inside] .ip-records{grid-template-columns:1fr;gap:28px}[data-gp-theme="goodpane-window-care"][data-inside] .ip-opening h1{font-size:clamp(41px,10vw,68px)}[data-gp-theme="goodpane-window-care"][data-inside] .ip-form{grid-template-columns:1fr}[data-gp-theme="goodpane-window-care"][data-inside] .ip-ledger>div{grid-template-columns:1fr;gap:8px}[data-gp-theme="goodpane-window-care"][data-inside] .ip-closing{padding:26px!important}[data-gp-theme="goodpane-window-care"][data-inside] .ip-sequence li{grid-template-columns:44px 1fr;gap:12px}}
@containerfs-editor-canvas (max-width: 760px){[data-gp-theme="goodpane-window-care"][data-inside] .ip-opening,[data-gp-theme="goodpane-window-care"][data-inside] .ip-section{width:calc(100% - 36px);padding-block:42px}[data-gp-theme="goodpane-window-care"][data-inside] .ip-opening,[data-gp-theme="goodpane-window-care"][data-inside] .ip-detail{grid-template-columns:1fr;gap:28px}[data-gp-theme="goodpane-window-care"][data-inside] .ip-columns,[data-gp-theme="goodpane-window-care"][data-inside] .ip-records{grid-template-columns:1fr;gap:28px}[data-gp-theme="goodpane-window-care"][data-inside] .ip-opening h1{font-size:clamp(41px,10cqw,68px)}[data-gp-theme="goodpane-window-care"][data-inside] .ip-form{grid-template-columns:1fr}[data-gp-theme="goodpane-window-care"][data-inside] .ip-ledger>div{grid-template-columns:1fr;gap:8px}[data-gp-theme="goodpane-window-care"][data-inside] .ip-closing{padding:26px!important}[data-gp-theme="goodpane-window-care"][data-inside] .ip-sequence li{grid-template-columns:44px 1fr;gap:12px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="goodpane-window-care"][data-inside] :is(button,.ip-action){transition:none!important;transform:none!important}}
[data-gp-theme="goodpane-window-care"][data-inside][data-keyboard] :is(button,.ip-action){transform:none!important}

[data-gp-theme="goodpane-window-care"][data-inside] .ip-opening h1{letter-spacing:-.05em;max-width:14ch}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-opening .ip-media{background:var(--wash);border-radius:48% 48% 18px 18px;overflow:hidden;padding:20px}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-opening .ip-media img{object-fit:contain;aspect-ratio:1}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-records article,[data-gp-theme="goodpane-window-care"][data-inside] .ip-columns article{border:2px solid var(--line);border-radius:28px;padding:28px;background:var(--wash)}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-round-calendar{border:3px solid var(--ink);border-radius:28px;padding:26px;background:var(--wash)}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-round-calendar>div{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-round-calendar :is(b,i){min-height:90px;border:1px solid var(--line);border-radius:14px;display:grid;place-items:center;padding:10px;text-align:center;font-style:normal}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-round-calendar b{background:var(--ink);color:var(--paper)}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-section h2{max-width:22ch}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-closing{border-radius:28px}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-choice [data-note-result]{border-radius:0 26px 26px 26px}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-sequence li:before{background:var(--ink);color:var(--paper);border-radius:50%;width:54px;height:54px;display:grid;place-items:center;font-size:25px}
[data-gp-theme="goodpane-window-care"][data-inside] .ip-checklist label{border-radius:18px;background:var(--wash);border:0;margin:12px 0;padding:20px}

/* Owner selected alternative on 18 October 2026. Main heading roles only. */
[data-gp-theme="goodpane-window-care"][data-gp-kind="section"] h1{font-family:"Bricolage Grotesque", sans-serif!important;font-weight:600!important;letter-spacing:-0.018em!important;line-height:1.1!important;font-variation-settings:normal!important;font-optical-sizing:auto!important}
[data-gp-theme="goodpane-window-care"][data-gp-kind="section"] h2{font-family:"DM Sans", sans-serif!important;font-weight:600!important;letter-spacing:-.01em!important;line-height:1.17!important;font-variation-settings:normal!important;font-optical-sizing:auto!important}
[data-gp-theme="goodpane-window-care"][data-gp-kind="section"] h3{font-family:"DM Sans", sans-serif!important;font-weight:600!important;letter-spacing:0!important;line-height:1.25!important;font-variation-settings:normal!important}
[data-gp-theme="goodpane-window-care"][data-inside][data-gp-kind="section"] h1{font-family:"Bricolage Grotesque", sans-serif!important;line-height:1.14!important;letter-spacing:-.012em!important;font-weight:600!important;text-transform:none!important}
@media(max-width:650px){[data-gp-theme="goodpane-window-care"][data-gp-kind="section"] h1{line-height:1.1!important;letter-spacing:-0.018em!important}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="goodpane-window-care"][data-gp-kind="section"] h1{line-height:1.1!important;letter-spacing:-0.018em!important}}

[data-gp-theme="goodpane-window-care"] .upgrade{margin-block:70px;padding-block:45px;border-block:1px solid var(--line);color:var(--ink);isolation:isolate}[data-gp-theme="goodpane-window-care"] .upgrade *, [data-gp-theme="goodpane-window-care"] .upgrade-summary *{box-sizing:border-box}[data-gp-theme="goodpane-window-care"] .upgrade h2{font-size:clamp(32px,4vw,57px);margin:0 0 16px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="goodpane-window-care"] .upgrade h2{font-size:clamp(32px,4cqw,57px)}}[data-gp-theme="goodpane-window-care"] .upgrade h3{font-size:clamp(25px,2.8vw,36px);line-height:1.12}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="goodpane-window-care"] .upgrade h3{font-size:clamp(25px,2.8cqw,36px)}}[data-gp-theme="goodpane-window-care"] .upgrade p{font-size:17px;line-height:1.55}[data-gp-theme="goodpane-window-care"] .up-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:32px}[data-gp-theme="goodpane-window-care"] .up-heading>p{max-width:39ch}[data-gp-theme="goodpane-window-care"] .up-work{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:36px}[data-gp-theme="goodpane-window-care"] .up-work>*{min-width:0}[data-gp-theme="goodpane-window-care"] .up-choice{display:flex;gap:8px;flex-wrap:wrap;margin-block:18px}[data-gp-theme="goodpane-window-care"] .upgrade :is(button,[role="button"]),[data-gp-theme="goodpane-window-care"] .upgrade-summary :is(button,[role="button"]){min-height:46px;padding:10px 16px;font-size:16px;line-height:1.3;gap:7px}[data-gp-theme="goodpane-window-care"] .upgrade :is(button,[role="button"]):active{transform:scale(.98)}[data-gp-theme="goodpane-window-care"] .upgrade :is(button,[role="button"]):disabled{opacity:.45;cursor:default}[data-gp-theme="goodpane-window-care"] .upgrade :is(button,[role="button"])[aria-pressed=true]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}[data-gp-theme="goodpane-window-care"] .up-caption{font-size:13px!important;padding-block:10px;border-top:1px solid var(--line)}[data-gp-theme="goodpane-window-care"] .up-footer{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}[data-gp-theme="goodpane-window-care"] .up-footer output{max-width:65ch;font-size:16px;line-height:1.55}[data-gp-theme="goodpane-window-care"] .up-footer a,[data-gp-theme="goodpane-window-care"] .upgrade-summary a{flex-shrink:0;min-height:46px;display:inline-flex;align-items:center}[data-gp-theme="goodpane-window-care"] .up-note{font-size:14px!important;color:var(--muted);margin-top:18px}[data-gp-theme="goodpane-window-care"] .up-stage svg,[data-gp-theme="goodpane-window-care"] .up-detail svg,[data-gp-theme="goodpane-window-care"] .up-ensemble svg{width:100%;height:auto;display:block;color:var(--ink)}[data-gp-theme="goodpane-window-care"] .upgrade svg text{font-family:var(--body);fill:currentColor}[data-gp-theme="goodpane-window-care"] .up-stage{background:var(--wash,var(--paper));overflow:hidden;min-width:0}[data-gp-theme="goodpane-window-care"] .up-panel{min-height:460px}[data-gp-theme="goodpane-window-care"] .up-panel h3{margin-block:18px}[data-gp-theme="goodpane-window-care"] .up-questions{padding-left:20px;font-size:16px;line-height:1.6;margin-block:18px}[data-gp-theme="goodpane-window-care"] .up-questions li+li{margin-top:7px}[data-gp-theme="goodpane-window-care"] .up-label{display:block;font-size:14px;margin-bottom:10px}[data-gp-theme="goodpane-window-care"] .up-footer a{max-width:100%}[data-gp-theme="goodpane-window-care"] .upgrade-summary{margin-block:30px;border-block:2px solid var(--ink);padding:28px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 35px}[data-gp-theme="goodpane-window-care"] .upgrade-summary h2{font-size:28px}[data-gp-theme="goodpane-window-care"] .upgrade-summary output{display:block;max-width:65ch;font-size:18px;line-height:1.6}[data-gp-theme="goodpane-window-care"] .upgrade-summary p{font-size:14px}[data-gp-theme="goodpane-window-care"] .upgrade-summary a{grid-column:2;grid-row:1/4}[data-gp-theme="goodpane-window-care"] .upgrade fieldset{border:0;padding:0;margin:20px 0;min-width:0}[data-gp-theme="goodpane-window-care"] .upgrade legend{font-size:15px}[data-gp-theme="goodpane-window-care"] .upgrade :focus-visible{outline:3px solid var(--focus,var(--accent));outline-offset:4px}[data-gp-theme="goodpane-window-care"] .upgrade svg [role=button]{cursor:pointer;outline:none}[data-gp-theme="goodpane-window-care"] .upgrade svg [role=button]:focus-visible rect{stroke:var(--focus,var(--accent));stroke-width:5px}[data-gp-theme="goodpane-window-care"] .upgrade [data-up-surface],[data-gp-theme="goodpane-window-care"] .upgrade [data-up-pane]{transition:fill 160ms var(--ease-out),background-color 160ms var(--ease-out),opacity 160ms var(--ease-out)}[data-gp-theme="goodpane-window-care"] .upgrade[data-keyboard] *, [data-gp-theme="goodpane-window-care"] .upgrade[data-keyboard] *::before{transition:none!important}
@media(max-width:900px){[data-gp-theme="goodpane-window-care"] .up-work{gap:24px}[data-gp-theme="goodpane-window-care"] .up-heading{display:block}[data-gp-theme="goodpane-window-care"] .up-heading>p{max-width:65ch;margin-top:16px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="goodpane-window-care"] .up-work{gap:24px}[data-gp-theme="goodpane-window-care"] .up-heading{display:block}[data-gp-theme="goodpane-window-care"] .up-heading>p{max-width:65ch;margin-top:16px}}@media(max-width:650px){[data-gp-theme="goodpane-window-care"] .upgrade{margin-block:35px;padding-block:28px}[data-gp-theme="goodpane-window-care"] .up-work{grid-template-columns:minmax(0,1fr)}[data-gp-theme="goodpane-window-care"] .up-panel{min-height:0}[data-gp-theme="goodpane-window-care"] .up-footer{display:grid;gap:14px}[data-gp-theme="goodpane-window-care"] .up-footer a{justify-self:start}[data-gp-theme="goodpane-window-care"] .up-heading{margin-bottom:20px}[data-gp-theme="goodpane-window-care"] .upgrade-summary{grid-template-columns:1fr}[data-gp-theme="goodpane-window-care"] .upgrade-summary a{grid-column:1;grid-row:auto;justify-self:start}[data-gp-theme="goodpane-window-care"] .upgrade :is(button,[role="button"]){padding-inline:12px;font-size:15px}[data-gp-theme="goodpane-window-care"] .up-questions{font-size:16px}}@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="goodpane-window-care"] .upgrade{margin-block:35px;padding-block:28px}[data-gp-theme="goodpane-window-care"] .up-work{grid-template-columns:minmax(0,1fr)}[data-gp-theme="goodpane-window-care"] .up-panel{min-height:0}[data-gp-theme="goodpane-window-care"] .up-footer{display:grid;gap:14px}[data-gp-theme="goodpane-window-care"] .up-footer a{justify-self:start}[data-gp-theme="goodpane-window-care"] .up-heading{margin-bottom:20px}[data-gp-theme="goodpane-window-care"] .upgrade-summary{grid-template-columns:1fr}[data-gp-theme="goodpane-window-care"] .upgrade-summary a{grid-column:1;grid-row:auto;justify-self:start}[data-gp-theme="goodpane-window-care"] .upgrade :is(button,[role="button"]){padding-inline:12px;font-size:15px}[data-gp-theme="goodpane-window-care"] .up-questions{font-size:16px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="goodpane-window-care"] .upgrade *, [data-gp-theme="goodpane-window-care"] .upgrade *::before{transition:none!important;animation:none!important}}
[data-gp-theme="goodpane-window-care"] .up-goodpane{border:0}[data-gp-theme="goodpane-window-care"] .up-goodpane h2{letter-spacing:-.04em}[data-gp-theme="goodpane-window-care"] .gp-rhythm-strip{display:flex;align-items:center;gap:20px;flex-wrap:wrap;border-block:2px solid var(--ink);padding-block:10px;margin-bottom:30px}[data-gp-theme="goodpane-window-care"] .gp-rhythm-strip>strong{font-family:var(--display);font-size:22px}[data-gp-theme="goodpane-window-care"] .gp-rhythm-strip .up-choice{margin:8px 0}[data-gp-theme="goodpane-window-care"] .gp-rhythm-strip>span:not(.fs-richtext){font-size:13px}[data-gp-theme="goodpane-window-care"] .gp-home{border-radius:48% 48% 25px 25px;padding:18px 15px 0;border-bottom:2px solid var(--ink)}[data-gp-theme="goodpane-window-care"] .gp-home .gp-visit-person{transform:translate(78px,325px);opacity:.25;transition:transform 220ms var(--ease-out),opacity 160ms var(--ease-out)}[data-gp-theme="goodpane-window-care"] .gp-home .gp-stage-marker{transform:translate(70px,275px);transition:transform 220ms var(--ease-out)}[data-gp-theme="goodpane-window-care"] .gp-home[data-visit-stage=arrive] .gp-stage-marker{transform:translate(320px,340px)}[data-gp-theme="goodpane-window-care"] .gp-home[data-visit-stage=work] .gp-stage-marker{transform:translate(435px,220px)}[data-gp-theme="goodpane-window-care"] .gp-home[data-visit-stage=leave] .gp-stage-marker{transform:translate(610px,330px)}[data-gp-theme="goodpane-window-care"] .gp-home[data-visit-stage=arrive] .gp-visit-person{transform:translate(365px,326px);opacity:1}[data-gp-theme="goodpane-window-care"] .gp-home[data-visit-stage=work] .gp-visit-person{transform:translate(435px,326px);opacity:1}[data-gp-theme="goodpane-window-care"] .gp-home[data-visit-stage=leave] .gp-visit-person{transform:translate(610px,326px);opacity:1}[data-gp-theme="goodpane-window-care"] .gp-stages{display:grid;grid-template-columns:1fr 1fr;gap:8px}[data-gp-theme="goodpane-window-care"] .gp-stages :is(button,[role="button"]){border-radius:15px;text-align:left;justify-content:start;padding:12px}[data-gp-theme="goodpane-window-care"] .gp-stages :is(button,[role="button"])>span:not(.fs-richtext){border:1px solid currentColor;border-radius:50%;width:28px;height:28px;display:grid;place-content:center;flex-shrink:0}[data-gp-theme="goodpane-window-care"] .gp-stage-copy{min-height:220px;padding-block:10px}[data-gp-theme="goodpane-window-care"] .up-goodpane details{border-top:1px solid var(--line);padding-top:15px}[data-gp-theme="goodpane-window-care"] .up-goodpane details label{display:flex;gap:9px;align-items:center;font-size:16px;margin-block:7px}[data-gp-theme="goodpane-window-care"] .up-goodpane details input{width:19px;min-height:19px;accent-color:var(--accent)}[data-gp-theme="goodpane-window-care"] .up-goodpane details p{margin:12px 0}[data-gp-theme="goodpane-window-care"] .gp-home .up-caption{padding-inline:16px}@media(max-width:650px){[data-gp-theme="goodpane-window-care"] .gp-rhythm-strip{gap:6px}[data-gp-theme="goodpane-window-care"] .gp-stages :is(button,[role="button"]){font-size:14px}[data-gp-theme="goodpane-window-care"] .gp-stage-copy{min-height:210px}[data-gp-theme="goodpane-window-care"] .gp-home{padding:8px 0 0}}@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="goodpane-window-care"] .gp-rhythm-strip{gap:6px}[data-gp-theme="goodpane-window-care"] .gp-stages :is(button,[role="button"]){font-size:14px}[data-gp-theme="goodpane-window-care"] .gp-stage-copy{min-height:210px}[data-gp-theme="goodpane-window-care"] .gp-home{padding:8px 0 0}}

[data-gp-theme="goodpane-window-care"] .upgrade-summary{width:min(1360px,calc(100% - 96px));margin-inline:auto}[data-gp-theme="goodpane-window-care"] .inside-page .upgrade h3{max-width:none}[data-gp-theme="goodpane-window-care"] .inside-page .upgrade .pr-paper{margin:0}[data-gp-theme="goodpane-window-care"] .inside-page .upgrade .up-stage{margin:0}[data-gp-theme="goodpane-window-care"] .inside-page .upgrade p.up-note{margin-top:18px}[data-gp-theme="goodpane-window-care"][data-layout=full-width] .inside-page>.upgrade{width:100%;max-width:none;padding-inline:4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="goodpane-window-care"][data-layout=full-width] .inside-page>.upgrade{padding-inline:4cqw}}[data-gp-theme="goodpane-window-care"][data-layout=centered] .upgrade>.up-heading{text-align:center;display:block}[data-gp-theme="goodpane-window-care"][data-layout=centered] .upgrade>.up-heading>p{margin-inline:auto}[data-gp-theme="goodpane-window-care"][data-layout=minimalist] .upgrade{margin-block:30px;padding-block:30px}[data-gp-theme="goodpane-window-care"][data-layout=edge-hero] .inside-page>.upgrade{width:100%;padding-inline:4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="goodpane-window-care"][data-layout=edge-hero] .inside-page>.upgrade{padding-inline:4cqw}}@media(max-width:650px){[data-gp-theme="goodpane-window-care"] .upgrade-summary{width:calc(100% - 36px)}[data-gp-theme="goodpane-window-care"] .upgrade.wrap{width:calc(100% - 36px)}}@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="goodpane-window-care"] .upgrade-summary{width:calc(100% - 36px)}[data-gp-theme="goodpane-window-care"] .upgrade.wrap{width:calc(100% - 36px)}}
[data-gp-theme="goodpane-window-care"] .upgrade{--display:"Bricolage Grotesque",sans-serif}

/* Approved readability refinements, 18 October 2026.
   Only meaningful helpers, local groups and selected reading paragraphs.
   Owner-selected type families, display sizes and frozen comparisons stay authoritative. */

/* Kiln House: the brief promise and sample guidance are part of the task. */
[data-gp-theme="goodpane-window-care"][data-site="kiln-house"] :is(.field-note,.form-note,.pairing-hint,.material-note,.light-note,.letter-note,.combination-copy small,.material-row small){font-size:14px;line-height:1.5}
[data-gp-theme="goodpane-window-care"][data-site="kiln-house"] .form-note{margin-top:16px}
[data-gp-theme="goodpane-window-care"][data-site="kiln-house"] :is(.quiet-button,.combination-action){font-size:15px;line-height:1.5}
[data-gp-theme="goodpane-window-care"][data-site="kiln-house"] .quiet-button{min-height:44px}
[data-gp-theme="goodpane-window-care"][data-site="kiln-house"] .directory-links a small{font-size:14px;line-height:1.5}

/* Small study labels explain a choice, rather than acting as an imprint. */
[data-gp-theme="goodpane-window-care"][data-site="true-joint"] .ux-stage-bar :is(button,[role="button"]) small{font-size:14px;line-height:1.5}
[data-gp-theme="goodpane-window-care"][data-site="neighbourhood-edit"] .ux-plan-header{font-size:14px;line-height:1.5;gap:12px;flex-wrap:wrap}
[data-gp-theme="goodpane-window-care"][data-site="neighbourhood-edit"] .ux-room-title{margin-bottom:16px}
[data-gp-theme="goodpane-window-care"][data-site="neighbourhood-edit"] .ux-room-title h3{margin-bottom:0}
[data-gp-theme="goodpane-window-care"][data-site="neighbourhood-edit"] :is(.home-finder label,.home-finder output,.area-index small){font-size:14px;line-height:1.5}
[data-gp-theme="goodpane-window-care"][data-site="neighbourhood-edit"] .home-finder select{font-size:16px;min-height:44px}
[data-gp-theme="goodpane-window-care"][data-site="harbour"] .ux-folio .ux-document-row label{font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="goodpane-window-care"][data-site="daymark-window-care"] .dm-sheet-head{font-size:14px;line-height:1.5;flex-wrap:wrap}
[data-gp-theme="goodpane-window-care"][data-site="velum-window-care"] .ux-v-nav :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}

/* Existing small controls retain or gain the comfortable target height. */
[data-gp-theme="goodpane-window-care"][data-site="stem-and-still"] .stem-slip :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:48px;gap:8px}
[data-gp-theme="goodpane-window-care"][data-site="cake-box"] .flavour-pick :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="goodpane-window-care"][data-site="cake-box"] .message-label small{font-size:14px;line-height:1.5}
[data-gp-theme="goodpane-window-care"][data-site="crm-recruitment-people"] .question-buttons{gap:10px}
[data-gp-theme="goodpane-window-care"][data-site="crm-recruitment-people"] .question-buttons :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:10px 12px}
[data-gp-theme="goodpane-window-care"][data-site="the-second-set-programme"] .pr-order-actions :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:8px 10px}

/* The format facts belong with the large ensemble names. */
[data-gp-theme="goodpane-window-care"][data-site="the-second-set-afterglow"] .ag-format-ribbon span:not(.fs-richtext){font-size:14px;line-height:1.5;margin-top:8px}
[data-gp-theme="goodpane-window-care"][data-site="the-second-set-programme"] .opening-note{font-size:14px;line-height:1.5}
[data-gp-theme="goodpane-window-care"][data-site="the-second-set-signal"] .form-note{font-size:14px;line-height:1.5}

/* Slipstream: useful record, filter and brief text; preserve the scrollable comparison. */
[data-gp-theme="goodpane-window-care"][data-site="slipstream"] :is(.featured-price small,.rail-note,.stock-finder label,.stock-caption,.inspection-note,.inspection-instruction,.form-note,[data-gp-id="stock-count"],[data-gp-id="form-question-count"]){font-size:14px;line-height:1.5}
[data-gp-theme="goodpane-window-care"][data-site="slipstream"] :is(.visit-form label,.form-pair label){font-size:15px;line-height:1.5}
[data-gp-theme="goodpane-window-care"][data-site="slipstream"] :is(.car-record summary,[data-gp-id="reset-stock"],[data-gp-id="clear-compare"],.quick-compare button){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="goodpane-window-care"][data-site="slipstream"] .stock-finder select{min-height:44px}

/* Narrow only sustained paragraphs, preserving plans, records, lists and tables. */
[data-gp-theme="goodpane-window-care"]:is([data-site="stem-and-still"],[data-site="kiln-house"],[data-site="true-joint"])[data-inside] .ip-reading>p{max-width:64ch}

@media(max-width:700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="goodpane-window-care"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="goodpane-window-care"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="goodpane-window-care"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="goodpane-window-care"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="goodpane-window-care"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="goodpane-window-care"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="goodpane-window-care"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="goodpane-window-care"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="goodpane-window-care"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

@containerfs-editor-canvas (max-width: 700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="goodpane-window-care"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="goodpane-window-care"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="goodpane-window-care"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="goodpane-window-care"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="goodpane-window-care"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="goodpane-window-care"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="goodpane-window-care"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="goodpane-window-care"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="goodpane-window-care"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

/* No generic heading, body, section-spacing or panel-height reset.
   Goodpane's unused calendar CSS, Expedition's real stage envelope,
   Starlight's passage leading and Velum's display introduction need no blanket fix. */

/* Approved authored chrome. Palette and type tokens belong to this theme. */
[data-gp-theme="goodpane-window-care"] .chrome-header>*{min-width:0}[data-gp-theme="goodpane-window-care"] .chrome-header nav{min-width:0}[data-gp-theme="goodpane-window-care"] .chrome-header a,[data-gp-theme="goodpane-window-care"] .chrome-header :is(button,[role="button"]){min-height:44px}[data-gp-theme="goodpane-window-care"] .chrome-header .menu-trigger{white-space:nowrap;font-size:15px}[data-gp-theme="goodpane-window-care"] .chrome-header .menu-trigger svg{flex:none}
[data-gp-theme="goodpane-window-care"] .chrome-menu{color:var(--ink);padding:0;max-height:calc(100dvh - 64px);margin-top:32px;overflow:auto}[data-gp-theme="goodpane-window-care"] .chrome-menu>*{min-width:0}[data-gp-theme="goodpane-window-care"] .chrome-menu h2{max-width:24ch}[data-gp-theme="goodpane-window-care"] .chrome-menu-heading{padding:24px 32px;align-items:center}[data-gp-theme="goodpane-window-care"] .chrome-menu-heading h2{font-size:clamp(28px,3vw,42px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="goodpane-window-care"] .chrome-menu-heading h2{font-size:clamp(28px,3cqw,42px)}}[data-gp-theme="goodpane-window-care"] .chrome-menu-heading :is(button,[role="button"]){flex:none}[data-gp-theme="goodpane-window-care"] .chrome-menu h3{font-size:23px;line-height:1.2;margin-bottom:16px}[data-gp-theme="goodpane-window-care"] .chrome-menu a{min-height:44px;display:flex;align-items:center;text-decoration:none;line-height:1.35}[data-gp-theme="goodpane-window-care"] .chrome-menu a:hover{text-decoration:underline;text-underline-offset:5px}[data-gp-theme="goodpane-window-care"] .chrome-menu p{font-size:15px;line-height:1.55}[data-gp-theme="goodpane-window-care"] .chrome-menu small,[data-gp-theme="goodpane-window-care"] .chrome-caption{font-size:14px;line-height:1.5}[data-gp-theme="goodpane-window-care"] .chrome-menu nav{min-width:0}[data-gp-theme="goodpane-window-care"] .chrome-menu a,[data-gp-theme="goodpane-window-care"] .chrome-footer a{overflow-wrap:anywhere}[data-gp-theme="goodpane-window-care"] .chrome-footer a{min-height:44px;display:inline-flex;align-items:center;text-underline-offset:5px}[data-gp-theme="goodpane-window-care"] .chrome-footer p{font-size:16px;line-height:1.55}[data-gp-theme="goodpane-window-care"] .chrome-imprint{border-top:1px solid var(--line);margin-top:34px;padding-top:18px;display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between;font-size:14px;line-height:1.5}[data-gp-theme="goodpane-window-care"] .chrome-imprint>span:not(.fs-richtext){max-width:48ch}[data-gp-theme="goodpane-window-care"] .chrome-inline-links{display:flex;flex-wrap:wrap;gap:8px 28px}[data-gp-theme="goodpane-window-care"] .chrome-footer .chrome-details{font-size:14px;line-height:1.5;max-width:65ch}[data-gp-theme="goodpane-window-care"] .chrome-footer .chrome-close-link{min-height:52px}[data-gp-theme="goodpane-window-care"] .chrome-menu :is(a,button):focus-visible,[data-gp-theme="goodpane-window-care"] .chrome-header :is(a,button):focus-visible,[data-gp-theme="goodpane-window-care"] .chrome-footer a:focus-visible{outline:3px solid currentColor;outline-offset:4px}
@media(max-width:900px){[data-gp-theme="goodpane-window-care"] .chrome-header{gap:16px}[data-gp-theme="goodpane-window-care"] .chrome-menu .chrome-menu-heading h2{font-size:27px;line-height:1.12}[data-gp-theme="goodpane-window-care"] .chrome-menu .chrome-menu-heading{gap:12px}[data-gp-theme="goodpane-window-care"] .chrome-menu [data-menu-close]{padding:10px 14px}[data-gp-theme="goodpane-window-care"] .chrome-menu a{min-height:48px}[data-gp-theme="goodpane-window-care"] .chrome-imprint{display:grid;gap:10px}[data-gp-theme="goodpane-window-care"] .chrome-footer{padding-block:42px 24px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="goodpane-window-care"] .chrome-header{gap:16px}[data-gp-theme="goodpane-window-care"] .chrome-menu .chrome-menu-heading h2{font-size:27px;line-height:1.12}[data-gp-theme="goodpane-window-care"] .chrome-menu .chrome-menu-heading{gap:12px}[data-gp-theme="goodpane-window-care"] .chrome-menu [data-menu-close]{padding:10px 14px}[data-gp-theme="goodpane-window-care"] .chrome-menu a{min-height:48px}[data-gp-theme="goodpane-window-care"] .chrome-imprint{display:grid;gap:10px}[data-gp-theme="goodpane-window-care"] .chrome-footer{padding-block:42px 24px}}
@media(max-width:450px){[data-gp-theme="goodpane-window-care"] .chrome-menu .chrome-menu-heading h2{font-size:23px}[data-gp-theme="goodpane-window-care"] .chrome-header .menu-trigger{font-size:14px;gap:8px;padding-inline:12px;width:auto}[data-gp-theme="goodpane-window-care"] .chrome-header .menu-trigger svg{width:18px;height:18px}}
@containerfs-editor-canvas (max-width: 450px){[data-gp-theme="goodpane-window-care"] .chrome-menu .chrome-menu-heading h2{font-size:23px}[data-gp-theme="goodpane-window-care"] .chrome-header .menu-trigger{font-size:14px;gap:8px;padding-inline:12px;width:auto}[data-gp-theme="goodpane-window-care"] .chrome-header .menu-trigger svg{width:18px;height:18px}}
[data-gp-theme="goodpane-window-care"] .gp-round-header{gap:24px;padding-block:22px;border:0}[data-gp-theme="goodpane-window-care"] .gp-round-header>.wordmark{padding:13px 22px 13px 14px;border:1px solid var(--ink);border-radius:80px;background:var(--wash);font-size:32px}[data-gp-theme="goodpane-window-care"] .gp-round-header nav{gap:24px}[data-gp-theme="goodpane-window-care"] .gp-visit-tabs{display:flex;gap:0;border-bottom:2px solid var(--ink)}[data-gp-theme="goodpane-window-care"] .gp-visit-tabs a{padding:10px 18px;border-radius:18px 18px 0 0}[data-gp-theme="goodpane-window-care"] .gp-visit-tabs a:first-child{background:var(--wash)}[data-gp-theme="goodpane-window-care"] .gp-round-header .menu-trigger{border:0;padding-inline:0}[data-gp-theme="goodpane-window-care"] .gp-round-header .header-action{border:1px solid var(--ink);border-radius:100px;padding:12px 20px;background:var(--ink);color:var(--paper)}[data-gp-theme="goodpane-window-care"] .gp-round-menu{border-radius:20px}[data-gp-theme="goodpane-window-care"] .gp-round-menu .chrome-menu-heading{border:0;padding-bottom:18px}[data-gp-theme="goodpane-window-care"] .gp-noticeboard{display:grid;grid-template-columns:1.05fr 1fr;gap:28px;padding:8px 32px 32px;align-items:start}[data-gp-theme="goodpane-window-care"] .gp-rhythm-card{padding:30px;background:var(--wash);border:2px solid var(--ink);border-radius:28px 28px 8px 8px;box-shadow:5px 5px 0 var(--ink);margin:0 5px 5px 0}[data-gp-theme="goodpane-window-care"] .gp-rhythm-card>.gp-mark{float:right}[data-gp-theme="goodpane-window-care"] .gp-rhythm-card h3{font-size:36px;max-width:11ch;padding-right:10px}[data-gp-theme="goodpane-window-care"] .gp-rhythm-title{font-weight:600;margin-top:22px}[data-gp-theme="goodpane-window-care"] .gp-rhythm-options{display:flex;gap:14px;margin:18px 0 24px}[data-gp-theme="goodpane-window-care"] .gp-rhythm-options a{flex:1;display:flex;flex-direction:column;justify-content:center;border:1px solid var(--ink);border-radius:100px;aspect-ratio:1;padding:12px;background:var(--paper)}[data-gp-theme="goodpane-window-care"] .gp-rhythm-options strong{font:500 42px/1 var(--display)}[data-gp-theme="goodpane-window-care"] .gp-rhythm-options span:not(.fs-richtext){font-size:15px;margin-top:4px}[data-gp-theme="goodpane-window-care"] .gp-card-bottom{display:flex;gap:22px;margin-top:20px;border-top:1px solid var(--line);padding-top:10px}[data-gp-theme="goodpane-window-care"] .gp-pinned-notes{display:grid;gap:20px;padding-top:12px}[data-gp-theme="goodpane-window-care"] .gp-pinned-notes section{border:1px solid var(--line);padding:24px 28px;border-radius:4px 20px 20px 20px;background:var(--paper)}[data-gp-theme="goodpane-window-care"] .gp-pinned-notes h3{font-size:25px}[data-gp-theme="goodpane-window-care"] .gp-pinned-notes a{font-size:17px;border-top:1px solid var(--line);padding:11px 0}[data-gp-theme="goodpane-window-care"] .gp-pinned-notes .gp-note-action{padding:18px 28px;border:1px solid var(--ink);border-radius:40px;font-weight:600;background:var(--wash)}[data-gp-theme="goodpane-window-care"] .gp-noteboard-footer{background:var(--wash);border-radius:70px 70px 0 0;border-top:0}[data-gp-theme="goodpane-window-care"] .gp-neighbour-note{border:2px solid var(--ink);border-radius:12px 48px 12px 12px;padding:40px;display:grid;grid-template-columns:1.3fr 1fr;gap:50px;background:var(--paper)}[data-gp-theme="goodpane-window-care"] .gp-neighbour-note h2{font-size:clamp(36px,4.5vw,64px);margin:22px 0}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="goodpane-window-care"] .gp-neighbour-note h2{font-size:clamp(36px,4.5cqw,64px)}}[data-gp-theme="goodpane-window-care"] .gp-address-note{align-self:stretch;display:flex;flex-direction:column;justify-content:center;gap:24px;border-left:1px solid var(--line);padding-left:40px}[data-gp-theme="goodpane-window-care"] .gp-address-note>a{font:500 28px/1.25 var(--display);max-width:15ch}[data-gp-theme="goodpane-window-care"] .gp-under-note{padding-top:25px}[data-gp-theme="goodpane-window-care"] .gp-under-note a{font-size:16px}
@media(max-width:1150px){[data-gp-theme="goodpane-window-care"] .gp-round-header{flex-wrap:wrap}[data-gp-theme="goodpane-window-care"] .gp-round-header>.header-action{display:none}[data-gp-theme="goodpane-window-care"] .gp-round-header nav{margin-left:auto}[data-gp-theme="goodpane-window-care"] .gp-visit-tabs a{font-size:15px;padding-inline:12px}}
@containerfs-editor-canvas (max-width: 1150px){[data-gp-theme="goodpane-window-care"] .gp-round-header{flex-wrap:wrap}[data-gp-theme="goodpane-window-care"] .gp-round-header>.header-action{display:none}[data-gp-theme="goodpane-window-care"] .gp-round-header nav{margin-left:auto}[data-gp-theme="goodpane-window-care"] .gp-visit-tabs a{font-size:15px;padding-inline:12px}}
@media(max-width:900px){[data-gp-theme="goodpane-window-care"] .gp-round-header{flex-wrap:nowrap;gap:10px;padding-block:18px}[data-gp-theme="goodpane-window-care"] .gp-round-header>.wordmark{font-size:27px;padding:10px 16px 10px 10px;gap:8px}[data-gp-theme="goodpane-window-care"] .gp-round-header .wordmark .gp-mark{width:34px;height:34px;font-size:30px}[data-gp-theme="goodpane-window-care"] .gp-round-header nav{gap:0}[data-gp-theme="goodpane-window-care"] .gp-visit-tabs{display:none}[data-gp-theme="goodpane-window-care"] .gp-round-header .menu-trigger{font-size:14px;max-width:110px;white-space:normal;line-height:1.2;text-align:left}[data-gp-theme="goodpane-window-care"] .gp-noticeboard{display:block;padding:8px 24px 28px}[data-gp-theme="goodpane-window-care"] .gp-rhythm-card{padding:24px}[data-gp-theme="goodpane-window-care"] .gp-rhythm-card h3{font-size:31px}[data-gp-theme="goodpane-window-care"] .gp-rhythm-card>.gp-mark{display:none}[data-gp-theme="goodpane-window-care"] .gp-rhythm-options{gap:10px}[data-gp-theme="goodpane-window-care"] .gp-rhythm-options a{max-width:110px}[data-gp-theme="goodpane-window-care"] .gp-rhythm-options strong{font-size:36px}[data-gp-theme="goodpane-window-care"] .gp-pinned-notes{margin-top:22px}[data-gp-theme="goodpane-window-care"] .gp-pinned-notes section{padding:22px}[data-gp-theme="goodpane-window-care"] .gp-card-bottom{font-size:16px;gap:18px}[data-gp-theme="goodpane-window-care"] .gp-noteboard-footer{border-radius:36px 36px 0 0}[data-gp-theme="goodpane-window-care"] .gp-neighbour-note{display:block;padding:25px;border-radius:10px 34px 10px 10px}[data-gp-theme="goodpane-window-care"] .gp-neighbour-note h2{font-size:39px}[data-gp-theme="goodpane-window-care"] .gp-address-note{border-left:0;border-top:1px solid var(--line);padding:25px 0 0;margin-top:25px;gap:20px}[data-gp-theme="goodpane-window-care"] .gp-address-note>a{font-size:27px;max-width:100%}[data-gp-theme="goodpane-window-care"] .gp-under-note{gap:0 22px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="goodpane-window-care"] .gp-round-header{flex-wrap:nowrap;gap:10px;padding-block:18px}[data-gp-theme="goodpane-window-care"] .gp-round-header>.wordmark{font-size:27px;padding:10px 16px 10px 10px;gap:8px}[data-gp-theme="goodpane-window-care"] .gp-round-header .wordmark .gp-mark{width:34px;height:34px;font-size:30px}[data-gp-theme="goodpane-window-care"] .gp-round-header nav{gap:0}[data-gp-theme="goodpane-window-care"] .gp-visit-tabs{display:none}[data-gp-theme="goodpane-window-care"] .gp-round-header .menu-trigger{font-size:14px;max-width:110px;white-space:normal;line-height:1.2;text-align:left}[data-gp-theme="goodpane-window-care"] .gp-noticeboard{display:block;padding:8px 24px 28px}[data-gp-theme="goodpane-window-care"] .gp-rhythm-card{padding:24px}[data-gp-theme="goodpane-window-care"] .gp-rhythm-card h3{font-size:31px}[data-gp-theme="goodpane-window-care"] .gp-rhythm-card>.gp-mark{display:none}[data-gp-theme="goodpane-window-care"] .gp-rhythm-options{gap:10px}[data-gp-theme="goodpane-window-care"] .gp-rhythm-options a{max-width:110px}[data-gp-theme="goodpane-window-care"] .gp-rhythm-options strong{font-size:36px}[data-gp-theme="goodpane-window-care"] .gp-pinned-notes{margin-top:22px}[data-gp-theme="goodpane-window-care"] .gp-pinned-notes section{padding:22px}[data-gp-theme="goodpane-window-care"] .gp-card-bottom{font-size:16px;gap:18px}[data-gp-theme="goodpane-window-care"] .gp-noteboard-footer{border-radius:36px 36px 0 0}[data-gp-theme="goodpane-window-care"] .gp-neighbour-note{display:block;padding:25px;border-radius:10px 34px 10px 10px}[data-gp-theme="goodpane-window-care"] .gp-neighbour-note h2{font-size:39px}[data-gp-theme="goodpane-window-care"] .gp-address-note{border-left:0;border-top:1px solid var(--line);padding:25px 0 0;margin-top:25px;gap:20px}[data-gp-theme="goodpane-window-care"] .gp-address-note>a{font-size:27px;max-width:100%}[data-gp-theme="goodpane-window-care"] .gp-under-note{gap:0 22px}}

/* Menu only: approved fonts, colour tokens and all non-menu markup are preserved. */
[data-gp-theme="goodpane-window-care"] dialog[data-gp-id="mega-menu"].mega-menu{box-sizing:border-box;position:fixed;inset:0;min-width:0;min-height:0;height:fit-content;max-height:calc(100dvh - 48px);margin:auto;padding:0!important;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:var(--mi-paper,var(--paper));color:var(--mi-ink,var(--ink));border:0!important;border-radius:0;box-shadow:0 30px 100px #0005;--mi-paper:var(--paper);--mi-ink:var(--ink);--mi-wash:var(--wash);--mi-line:var(--line);--mi-accent:var(--accent);--mi-on:var(--on-accent)}
[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] *,[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] *:before,[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] *:after{box-sizing:border-box;min-width:0}
[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] .menu-top{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0;padding:20px 28px;border:0;background:transparent;color:inherit}
[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] .menu-top h2,[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] .menu-top p{margin:0;font:500 18px/1.35 var(--body);letter-spacing:0;max-width:none}
[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] [data-menu-close]{display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:none;min-height:44px;min-width:70px;padding:9px 14px;border:1px solid currentColor;border-radius:0;background:transparent;color:inherit;font:500 14px/1.3 var(--body);cursor:pointer}
[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] a{color:inherit;text-decoration:none;line-height:1.35;min-height:44px;overflow-wrap:anywhere}
[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] nav a:before{content:none}
[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] a:focus-visible,[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] :is(button,[role="button"]):focus-visible{outline:3px solid currentColor;outline-offset:4px}
[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] h3{font-family:var(--display);font-weight:500;line-height:1.15;letter-spacing:-.025em;margin:0}
[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] p{max-width:60ch;margin:0;font:400 15px/1.5 var(--body)}
[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] nav{min-width:0}
[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] .mi-small{font:400 13px/1.5 var(--body)}
[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] a{transition:background-color 150ms ease,color 150ms ease,text-decoration-color 150ms ease}
/* Reveal every authored surface on the first frame. Only text fades; never a
   pane, note, speech ribbon, worksheet or record sleeve. Also covers Signal,
   which does not load premium.css and otherwise inherits menu-arrive. */
[data-gp-theme="goodpane-window-care"] dialog[data-gp-id="mega-menu"].mega-menu[open]:not([data-closing]){animation:none!important;opacity:1;transform:none}
[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"][open]:not([data-closing])>*{animation:none!important}
[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"][open]:not([data-closing]):not([data-keyboard]) :is(h3,p,figcaption,.command-task>span:not(.fs-richtext),.command-task>small,.crate-sleeve>strong,.crate-sleeve>small),[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"][open]:not([data-closing]):not([data-keyboard]) a:not(.crate-sleeve):not(.command-task):not(.route-brief):not(.worksheet-action){animation:gp-goodpane-mi-menu-text 160ms ease-out both}
@keyframes gp-goodpane-mi-menu-text{from{opacity:.25}to{opacity:1}}
@media(hover:hover){[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] a:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}}
@media(max-width:900px){[data-gp-theme="goodpane-window-care"] dialog[data-gp-id="mega-menu"].mega-menu{width:100%;height:100dvh;max-height:none;margin:0;inset:0;border-radius:0;transform:none}[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] .menu-top{padding:16px 20px}[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] .menu-top h2{font-size:16px}[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] a{min-height:48px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="goodpane-window-care"] dialog[data-gp-id="mega-menu"].mega-menu{width:100%;height:100dvh;max-height:none;margin:0;inset:0;border-radius:0;transform:none}[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] .menu-top{padding:16px 20px}[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] .menu-top h2{font-size:16px}[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] a{min-height:48px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] *,[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] *:before,[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] *:after{animation:none!important;transition:none!important}}

[data-gp-theme="goodpane-window-care"] dialog[data-gp-id="mega-menu"].mega-menu{width:min(1120px,calc(100% - 96px));background:transparent;box-shadow:none;overflow-x:hidden;overflow-y:auto}
[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"]::backdrop{background:color-mix(in srgb,var(--ink) 74%,transparent);backdrop-filter:blur(5px)}
[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] .menu-top{color:var(--ink);background:var(--paper);width:max-content;max-width:100%;gap:60px;border-radius:80px;padding:12px 16px 12px 28px;margin:0 auto 26px}[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] [data-menu-close]{border-radius:40px}
[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] .neighbourhood-notes{display:grid;grid-template-columns:1fr 1fr 1fr;gap:22px;align-items:start;padding:8px}
[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] .round-note{position:relative;padding:33px 26px 25px;min-height:318px;background:var(--paper);box-shadow:0 10px 20px #0002;transform:rotate(-2deg)}
[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] .note-home{background:var(--wash);transform:rotate(2deg);margin-top:30px}[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] .note-street{transform:rotate(-1deg);margin-top:10px}
[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] .note-pin{position:absolute;top:12px;left:50%;height:9px;width:9px;border:2px solid var(--ink);border-radius:50%;background:var(--paper)}
[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] .round-note h3{font-size:29px;letter-spacing:-.035em;margin-bottom:22px}[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] .round-note nav{display:grid}[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] .round-note a{display:flex;align-items:center;font-size:16px;padding:8px 0}
[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] .neighbourhood-envelope{display:flex;align-items:center;justify-content:space-between;gap:22px;background:var(--accent);color:var(--on-accent);width:55%;margin:22px 0 0 auto;padding:18px 26px;border-radius:0 0 24px 0}[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] .neighbourhood-envelope a{display:flex;align-items:center;font-size:19px;font-weight:500}[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] .neighbourhood-envelope>span:not(.fs-richtext){font:600 38px/1 var(--display)}
@media(max-width:900px){[data-gp-theme="goodpane-window-care"] dialog[data-gp-id="mega-menu"].mega-menu{background:var(--wash);overflow:auto}[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] .menu-top{width:100%;border-radius:0;margin:0;gap:16px}[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] .neighbourhood-notes{display:block;padding:24px}[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] .round-note{min-height:0;margin:0 8px 26px 0;padding:28px 24px 20px;transform:rotate(-1deg)}[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] .note-home{margin-left:9px;margin-right:0;transform:rotate(1deg);background:var(--paper)}[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] .round-note h3{font-size:29px;margin-bottom:14px}[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] .neighbourhood-envelope{width:auto;margin:0 24px 28px;padding:18px 20px}[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] .neighbourhood-envelope a{font-size:18px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="goodpane-window-care"] dialog[data-gp-id="mega-menu"].mega-menu{background:var(--wash);overflow:auto}[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] .menu-top{width:100%;border-radius:0;margin:0;gap:16px}[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] .neighbourhood-notes{display:block;padding:24px}[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] .round-note{min-height:0;margin:0 8px 26px 0;padding:28px 24px 20px;transform:rotate(-1deg)}[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] .note-home{margin-left:9px;margin-right:0;transform:rotate(1deg);background:var(--paper)}[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] .round-note h3{font-size:29px;margin-bottom:14px}[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] .neighbourhood-envelope{width:auto;margin:0 24px 28px;padding:18px 20px}[data-gp-theme="goodpane-window-care"] [data-gp-id="mega-menu"] .neighbourhood-envelope a{font-size:18px}}

[data-gp-theme="goodpane-window-care"]{--paper:rgb(var(--c-paper));--ink:rgb(var(--c-ink-950));--accent:rgb(var(--c-brand-600));--wash:rgb(var(--c-paper-soft));--line:rgb(var(--c-line));--muted:rgb(var(--c-ink-400));--on-accent:var(--fs-on-brand);--focus:rgb(var(--c-accent));--work:var(--fs-surface-inverted,var(--wash));--work-ink:var(--fs-on-surface-inverted,var(--paper));--body:var(--font-sans);}
[data-gp-theme="daymark-window-care"]{--ease-out:cubic-bezier(.23,1,.32,1);--ease-drawer:cubic-bezier(.32,.72,0,1)}
[data-gp-theme="daymark-window-care"] *{box-sizing:border-box}[data-gp-theme="daymark-window-care"]{scroll-behavior:smooth;scroll-padding-top:100px}[data-gp-theme="daymark-window-care"]{margin:0}[data-gp-theme="daymark-window-care"] img{max-width:100%;display:block}[data-gp-theme="daymark-window-care"] :is(button,[role="button"]),[data-gp-theme="daymark-window-care"] input,[data-gp-theme="daymark-window-care"] select,[data-gp-theme="daymark-window-care"] textarea{font:inherit}[data-gp-theme="daymark-window-care"] :is(button,[role="button"]),[data-gp-theme="daymark-window-care"] a,[data-gp-theme="daymark-window-care"] input,[data-gp-theme="daymark-window-care"] select,[data-gp-theme="daymark-window-care"] textarea{touch-action:manipulation}[data-gp-theme="daymark-window-care"] :is(button,[role="button"]),[data-gp-theme="daymark-window-care"] a{ -webkit-tap-highlight-color:transparent}[data-gp-theme="daymark-window-care"] :is(button,[role="button"]){cursor:pointer}[data-gp-theme="daymark-window-care"] :is(button,[role="button"]):active{transform:translateY(1px)}[data-gp-theme="daymark-window-care"] a{color:inherit;text-underline-offset:.22em}[data-gp-theme="daymark-window-care"] :is(button,[role="button"]):focus-visible,[data-gp-theme="daymark-window-care"] a:focus-visible,[data-gp-theme="daymark-window-care"] summary:focus-visible,[data-gp-theme="daymark-window-care"] input:focus-visible,[data-gp-theme="daymark-window-care"] select:focus-visible,[data-gp-theme="daymark-window-care"] textarea:focus-visible{outline:3px solid var(--focus,#346ddb);outline-offset:5px}[data-gp-theme="daymark-window-care"] textarea{resize:vertical}[data-gp-theme="daymark-window-care"] input,[data-gp-theme="daymark-window-care"] textarea{caret-color:var(--focus,currentColor)}[data-gp-theme="daymark-window-care"] :is(button,[role="button"]),[data-gp-theme="daymark-window-care"] select,[data-gp-theme="daymark-window-care"] input{min-height:44px}[data-gp-theme="daymark-window-care"] summary{cursor:pointer}[data-gp-theme="daymark-window-care"] section[id],[data-gp-theme="daymark-window-care"] footer[id]{scroll-margin-top:110px}[data-gp-theme="daymark-window-care"] [hidden]{display:none!important}[data-gp-theme="daymark-window-care"] .skip-link{position:fixed;z-index:200;top:8px;left:8px;background:#fff;color:#111;padding:12px 18px;transform:translateY(-150%)}[data-gp-theme="daymark-window-care"] .skip-link:focus{transform:none}
[data-gp-theme="daymark-window-care"] .preview-bar{min-height:42px;background:#f6f6f2;color:#252a2a;border-bottom:1px solid #d5d8d4;font:13px/1.3 "Figtree",sans-serif;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 3vw;position:relative;z-index:30}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="daymark-window-care"] .preview-bar{padding:5px 3cqw}}[data-gp-theme="daymark-window-care"] .preview-bar a{white-space:nowrap}[data-gp-theme="daymark-window-care"] .preview-bar [role=group]{display:flex;gap:2px;align-items:center}[data-gp-theme="daymark-window-care"] .preview-bar :is(button,[role="button"]){min-height:32px;background:transparent;color:inherit;border:0;padding:6px 10px;border-radius:3px;font-size:13px;transition:background-color 150ms var(--ease-out)}[data-gp-theme="daymark-window-care"] .preview-bar [aria-pressed=true]{background:#252a2a;color:#fff}[data-gp-theme="daymark-window-care"] .preview-bar :is(button,[role="button"])[data-replay-intro]{border:1px solid #b6beb8}[data-gp-theme="daymark-window-care"] .preview-label{color:#515953}[data-gp-theme="daymark-window-care"] .preview-bar::selection{background:#252a2a;color:#fff}
[data-gp-theme="daymark-window-care"] dialog.mega-menu{max-width:none;max-height:calc(100dvh - 32px);overflow:auto;border:0;padding:0;color:inherit;overscroll-behavior:contain}[data-gp-theme="daymark-window-care"] dialog.mega-menu::backdrop{background:rgb(8 16 18 / .52)}[data-gp-theme="daymark-window-care"] .mega-menu[open]{animation:gp-daymark-menu-arrive 220ms var(--ease-drawer)}[data-gp-theme="daymark-window-care"] .mega-menu[data-closing]{animation:gp-daymark-menu-leave 160ms var(--ease-out) forwards}[data-gp-theme="daymark-window-care"] .mega-menu[data-keyboard]{animation:none}[data-gp-theme="daymark-window-care"] .menu-lock{overflow:hidden}@keyframes gp-daymark-menu-arrive{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}@keyframes gp-daymark-menu-leave{to{opacity:0;transform:translateY(-10px)}}
[data-gp-theme="daymark-window-care"] .preloader{display:none;position:fixed;inset:0;z-index:190;place-content:center;pointer-events:none;text-align:center}[data-gp-theme="daymark-window-care"] .preloader.is-active{display:grid;animation:gp-daymark-intro-failsafe 1.3s step-end forwards}[data-gp-theme="daymark-window-care"] .preloader.is-leaving{opacity:0;transition:opacity 180ms var(--ease-out)}@keyframes gp-daymark-intro-failsafe{0%,99%{visibility:visible}100%{visibility:hidden}}
@media(max-width:650px){[data-gp-theme="daymark-window-care"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="daymark-window-care"] .preview-bar .preview-label{display:none}[data-gp-theme="daymark-window-care"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="daymark-window-care"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="daymark-window-care"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="daymark-window-care"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="daymark-window-care"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="daymark-window-care"] .preview-bar .preview-label{display:none}[data-gp-theme="daymark-window-care"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="daymark-window-care"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="daymark-window-care"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="daymark-window-care"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="daymark-window-care"]{scroll-behavior:auto}[data-gp-theme="daymark-window-care"] *,[data-gp-theme="daymark-window-care"] *::before,[data-gp-theme="daymark-window-care"] *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-gp-theme="daymark-window-care"] .preloader.is-active{display:none!important}}
@media(max-width:650px){[data-gp-theme="daymark-window-care"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="daymark-window-care"] .preview-bar a{font-size:12px}[data-gp-theme="daymark-window-care"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="daymark-window-care"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="daymark-window-care"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="daymark-window-care"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="daymark-window-care"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="daymark-window-care"] .preview-bar a{font-size:12px}[data-gp-theme="daymark-window-care"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="daymark-window-care"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="daymark-window-care"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="daymark-window-care"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}


[data-gp-theme="daymark-window-care"]{margin:0;background:var(--paper);color:var(--ink);font:18px/1.55 var(--body);text-rendering:optimizeLegibility}[data-gp-theme="daymark-window-care"] h1,[data-gp-theme="daymark-window-care"] h2,[data-gp-theme="daymark-window-care"] h3,[data-gp-theme="daymark-window-care"] p,[data-gp-theme="daymark-window-care"] figure{margin:0}[data-gp-theme="daymark-window-care"] h1,[data-gp-theme="daymark-window-care"] h2,[data-gp-theme="daymark-window-care"] h3{font-family:var(--display);font-weight:500;line-height:1.07;text-wrap:balance}[data-gp-theme="daymark-window-care"] h1{font-size:clamp(48px,6vw,90px);letter-spacing:-.055em}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="daymark-window-care"] h1{font-size:clamp(48px,6cqw,90px)}}[data-gp-theme="daymark-window-care"] h2{font-size:clamp(35px,4vw,60px);letter-spacing:-.04em}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="daymark-window-care"] h2{font-size:clamp(35px,4cqw,60px)}}[data-gp-theme="daymark-window-care"] h3{font-size:27px;letter-spacing:-.025em}[data-gp-theme="daymark-window-care"] p{max-width:65ch;text-wrap:pretty}[data-gp-theme="daymark-window-care"] a{color:inherit}[data-gp-theme="daymark-window-care"] img{width:100%;height:100%;object-fit:cover}[data-gp-theme="daymark-window-care"] :is(button,[role="button"]){color:inherit}[data-gp-theme="daymark-window-care"] :is(button,[role="button"]),[data-gp-theme="daymark-window-care"] .action{border:1px solid var(--line);background:transparent;padding:11px 19px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:46px;transition:background-color 150ms var(--ease-out),color 150ms var(--ease-out),transform 150ms var(--ease-out)}[data-gp-theme="daymark-window-care"] .action.primary,[data-gp-theme="daymark-window-care"] :is(button,[role="button"])[aria-pressed=true]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}[data-gp-theme="daymark-window-care"] .wrap{width:min(1360px,calc(100% - 96px));margin-inline:auto}[data-gp-theme="daymark-window-care"] .section{padding-block:100px}[data-gp-theme="daymark-window-care"] .stack>*+*{margin-top:24px}[data-gp-theme="daymark-window-care"] .meta,[data-gp-theme="daymark-window-care"] figcaption{font-size:14px;line-height:1.5;color:var(--muted)}[data-gp-theme="daymark-window-care"] .label{font-size:15px;font-weight:600}[data-gp-theme="daymark-window-care"] .section-head{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:40px}[data-gp-theme="daymark-window-care"] .section-head p{max-width:400px}[data-gp-theme="daymark-window-care"] .split{display:grid;grid-template-columns:1fr 1fr;gap:70px}[data-gp-theme="daymark-window-care"] .split>*{min-width:0}[data-gp-theme="daymark-window-care"] .choices{display:flex;gap:9px;flex-wrap:wrap}[data-gp-theme="daymark-window-care"] .choices :is(button,[role="button"]){font-size:16px}[data-gp-theme="daymark-window-care"] .masthead{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-block:27px;border-bottom:1px solid var(--line)}[data-gp-theme="daymark-window-care"] .wordmark{text-decoration:none;font:600 30px/1 var(--display);display:flex;align-items:center;gap:12px}[data-gp-theme="daymark-window-care"] .wordmark small{display:block;font:14px/1.4 var(--body);margin-top:8px}[data-gp-theme="daymark-window-care"] .masthead nav{display:flex;gap:28px;align-items:center;font-size:16px}[data-gp-theme="daymark-window-care"] .masthead nav a{min-height:44px;display:inline-flex;align-items:center;text-decoration:none}[data-gp-theme="daymark-window-care"] .menu-trigger svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5}[data-gp-theme="daymark-window-care"] .masthead .header-action{border-bottom:1px solid currentColor;text-decoration:none;padding-block:10px;font-size:16px}[data-gp-theme="daymark-window-care"] .mega-menu{background:var(--paper);width:min(1300px,calc(100% - 48px));margin:80px auto auto;box-shadow:0 25px 80px #0004}[data-gp-theme="daymark-window-care"] .menu-top{display:flex;align-items:start;justify-content:space-between;gap:30px;padding:36px;border-bottom:1px solid var(--line)}[data-gp-theme="daymark-window-care"] .menu-top h2{font-size:44px}[data-gp-theme="daymark-window-care"] .menu-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:45px;padding:40px}[data-gp-theme="daymark-window-care"] .menu-grid h3{font-size:22px;margin-bottom:18px}[data-gp-theme="daymark-window-care"] .menu-grid a{display:block;padding:10px 0;min-height:44px}[data-gp-theme="daymark-window-care"] .menu-grid p{font-size:16px}[data-gp-theme="daymark-window-care"] .menu-feature{background:var(--wash);padding:25px!important;text-decoration:none}[data-gp-theme="daymark-window-care"] .menu-feature strong{font:36px/1.15 var(--display);display:block;margin:18px 0}[data-gp-theme="daymark-window-care"] .menu-bottom{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding:18px 36px;font-size:14px}[data-gp-theme="daymark-window-care"] .preloader{background:var(--paper);color:var(--ink)}[data-gp-theme="daymark-window-care"] .preloader strong{font:56px var(--display)}[data-gp-theme="daymark-window-care"] label{display:grid;gap:8px;font-size:16px}[data-gp-theme="daymark-window-care"] input,[data-gp-theme="daymark-window-care"] select,[data-gp-theme="daymark-window-care"] textarea{width:100%;min-width:0;border:1px solid var(--line);padding:13px;background:var(--paper);color:var(--ink);border-radius:0;min-height:48px}[data-gp-theme="daymark-window-care"] input::placeholder,[data-gp-theme="daymark-window-care"] textarea::placeholder{color:var(--muted);opacity:1}[data-gp-theme="daymark-window-care"] :is(form,[data-gp-form]){display:grid;gap:20px}[data-gp-theme="daymark-window-care"] .form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}[data-gp-theme="daymark-window-care"] :is(form,[data-gp-form]) :is(button,[role="button"]){justify-self:start;background:var(--accent);color:var(--on-accent);border-color:var(--accent)}[data-gp-theme="daymark-window-care"] output{display:block;white-space:pre-line;overflow-wrap:anywhere;background:var(--wash);padding:22px;border:1px solid var(--line);font-size:16px}[data-gp-theme="daymark-window-care"] output:empty{display:none}[data-gp-theme="daymark-window-care"] .download{background:transparent;color:var(--ink);border-color:var(--line)}[data-gp-theme="daymark-window-care"] details{border-top:1px solid var(--line);padding:20px 0}[data-gp-theme="daymark-window-care"] summary{min-height:44px;font-weight:600}[data-gp-theme="daymark-window-care"] details p{margin-top:14px}[data-gp-theme="daymark-window-care"] .full-footer{padding-block:65px 25px;border-top:1px solid var(--line)}[data-gp-theme="daymark-window-care"] .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}[data-gp-theme="daymark-window-care"] .footer-grid h2{font-size:44px}[data-gp-theme="daymark-window-care"] .footer-grid h3{font:600 17px var(--body);margin-bottom:15px}[data-gp-theme="daymark-window-care"] .footer-grid a{display:block;min-height:44px;padding:8px 0}[data-gp-theme="daymark-window-care"] .footer-bottom{display:flex;justify-content:space-between;gap:25px;padding-top:24px;margin-top:45px;border-top:1px solid var(--line);font-size:14px}[data-gp-theme="daymark-window-care"] .tone{background:var(--wash)}[data-gp-theme="daymark-window-care"] .rule{border-top:1px solid var(--line)}[data-gp-theme="daymark-window-care"] .task-note{min-height:72px}[data-gp-theme="daymark-window-care"] .feedback{min-height:28px;font-size:15px}[data-gp-theme="daymark-window-care"] .inkbox{background:var(--ink);color:var(--paper)}[data-gp-theme="daymark-window-care"] .inkbox .meta{color:var(--paper)}[data-gp-theme="daymark-window-care"] fieldset{margin:0;padding:0;border:0;min-width:0}[data-gp-theme="daymark-window-care"] legend{margin-bottom:12px}[data-gp-theme="daymark-window-care"] input[type=checkbox]{width:21px;min-height:21px;height:21px;accent-color:var(--accent)}[data-gp-theme="daymark-window-care"] .check{display:flex;align-items:start;gap:12px;padding:13px 0}[data-gp-theme="daymark-window-care"] .check input{flex:none;margin-top:4px}[data-gp-theme="daymark-window-care"] .menu-mark{width:70px;height:70px;display:grid;place-content:center;border:1px solid var(--line);font:40px var(--display)}[data-gp-theme="daymark-window-care"] .visual-note{padding:12px 0}[data-gp-theme="daymark-window-care"] .thin-rule{width:100%;height:1px;background:var(--line)}
@media(hover:hover) and (pointer:fine){[data-gp-theme="daymark-window-care"] .action:hover,[data-gp-theme="daymark-window-care"] :is(button,[role="button"]):hover{transform:translateY(-2px)}[data-gp-theme="daymark-window-care"] .masthead a:hover,[data-gp-theme="daymark-window-care"] .footer-grid a:hover{color:var(--accent)}}
@media(max-width:850px){[data-gp-theme="daymark-window-care"] .wrap{width:calc(100% - 48px)}[data-gp-theme="daymark-window-care"] .masthead{gap:18px}[data-gp-theme="daymark-window-care"] .masthead nav>a{display:none}[data-gp-theme="daymark-window-care"] .masthead .header-action{display:none}[data-gp-theme="daymark-window-care"] .split{gap:35px}[data-gp-theme="daymark-window-care"] .section{padding-block:70px}[data-gp-theme="daymark-window-care"] .menu-grid{gap:25px}[data-gp-theme="daymark-window-care"] .footer-grid{gap:30px}}
@containerfs-editor-canvas (max-width: 850px){[data-gp-theme="daymark-window-care"] .wrap{width:calc(100% - 48px)}[data-gp-theme="daymark-window-care"] .masthead{gap:18px}[data-gp-theme="daymark-window-care"] .masthead nav>a{display:none}[data-gp-theme="daymark-window-care"] .masthead .header-action{display:none}[data-gp-theme="daymark-window-care"] .split{gap:35px}[data-gp-theme="daymark-window-care"] .section{padding-block:70px}[data-gp-theme="daymark-window-care"] .menu-grid{gap:25px}[data-gp-theme="daymark-window-care"] .footer-grid{gap:30px}}
@media(max-width:600px){[data-gp-theme="daymark-window-care"]{font-size:17px}[data-gp-theme="daymark-window-care"] .wrap{width:calc(100% - 36px)}[data-gp-theme="daymark-window-care"] .masthead{padding-block:20px}[data-gp-theme="daymark-window-care"] .wordmark{font-size:25px}[data-gp-theme="daymark-window-care"] .wordmark small{font-size:12px}[data-gp-theme="daymark-window-care"] .menu-trigger{padding:10px 12px}[data-gp-theme="daymark-window-care"] .section{padding-block:52px}[data-gp-theme="daymark-window-care"] .section-head,[data-gp-theme="daymark-window-care"] .split{display:grid;grid-template-columns:1fr;gap:25px}[data-gp-theme="daymark-window-care"] .section-head{margin-bottom:28px}[data-gp-theme="daymark-window-care"] .form-row{grid-template-columns:1fr}[data-gp-theme="daymark-window-care"] .mega-menu{width:calc(100% - 20px);margin:10px auto}[data-gp-theme="daymark-window-care"] .menu-top{padding:24px 20px;gap:14px}[data-gp-theme="daymark-window-care"] .menu-top h2{font-size:32px}[data-gp-theme="daymark-window-care"] .menu-grid{grid-template-columns:1fr;padding:20px;gap:28px}[data-gp-theme="daymark-window-care"] .menu-feature{padding:20px!important}[data-gp-theme="daymark-window-care"] .menu-bottom{padding:18px 20px;display:grid;gap:5px}[data-gp-theme="daymark-window-care"] .footer-grid{grid-template-columns:1fr 1fr;gap:28px}[data-gp-theme="daymark-window-care"] .footer-grid>div:first-child{grid-column:1/-1}[data-gp-theme="daymark-window-care"] .footer-bottom{display:grid;gap:8px}[data-gp-theme="daymark-window-care"] .footer-grid h2{font-size:36px}[data-gp-theme="daymark-window-care"] .choices :is(button,[role="button"]){flex:1;padding:10px 12px}[data-gp-theme="daymark-window-care"] h1{font-size:52px}[data-gp-theme="daymark-window-care"] h2{font-size:38px}[data-gp-theme="daymark-window-care"] .full-footer{padding-top:45px}[data-gp-theme="daymark-window-care"] .stack>*+*{margin-top:20px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="daymark-window-care"]{font-size:17px}[data-gp-theme="daymark-window-care"] .wrap{width:calc(100% - 36px)}[data-gp-theme="daymark-window-care"] .masthead{padding-block:20px}[data-gp-theme="daymark-window-care"] .wordmark{font-size:25px}[data-gp-theme="daymark-window-care"] .wordmark small{font-size:12px}[data-gp-theme="daymark-window-care"] .menu-trigger{padding:10px 12px}[data-gp-theme="daymark-window-care"] .section{padding-block:52px}[data-gp-theme="daymark-window-care"] .section-head,[data-gp-theme="daymark-window-care"] .split{display:grid;grid-template-columns:1fr;gap:25px}[data-gp-theme="daymark-window-care"] .section-head{margin-bottom:28px}[data-gp-theme="daymark-window-care"] .form-row{grid-template-columns:1fr}[data-gp-theme="daymark-window-care"] .mega-menu{width:calc(100% - 20px);margin:10px auto}[data-gp-theme="daymark-window-care"] .menu-top{padding:24px 20px;gap:14px}[data-gp-theme="daymark-window-care"] .menu-top h2{font-size:32px}[data-gp-theme="daymark-window-care"] .menu-grid{grid-template-columns:1fr;padding:20px;gap:28px}[data-gp-theme="daymark-window-care"] .menu-feature{padding:20px!important}[data-gp-theme="daymark-window-care"] .menu-bottom{padding:18px 20px;display:grid;gap:5px}[data-gp-theme="daymark-window-care"] .footer-grid{grid-template-columns:1fr 1fr;gap:28px}[data-gp-theme="daymark-window-care"] .footer-grid>div:first-child{grid-column:1/-1}[data-gp-theme="daymark-window-care"] .footer-bottom{display:grid;gap:8px}[data-gp-theme="daymark-window-care"] .footer-grid h2{font-size:36px}[data-gp-theme="daymark-window-care"] .choices :is(button,[role="button"]){flex:1;padding:10px 12px}[data-gp-theme="daymark-window-care"] h1{font-size:52px}[data-gp-theme="daymark-window-care"] h2{font-size:38px}[data-gp-theme="daymark-window-care"] .full-footer{padding-top:45px}[data-gp-theme="daymark-window-care"] .stack>*+*{margin-top:20px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="daymark-window-care"] :is(button,[role="button"]),[data-gp-theme="daymark-window-care"] .action{transform:none!important;transition:none!important}}
[data-gp-theme="daymark-window-care"]{--paper:#fbf8e8;--ink:#173c72;--accent:#173c72;--on-accent:#fff;--wash:#f4df3e;--line:#a7aeae;--muted:#4f607b;--display:"Bricolage Grotesque",sans-serif;--body:"IBM Plex Sans",sans-serif}[data-gp-theme="daymark-window-care"][data-palette="1"]{--paper:#fff4ec;--ink:#542f36;--accent:#69323a;--wash:#f6ad91;--line:#c3a4a3;--muted:#74525a}[data-gp-theme="daymark-window-care"][data-palette="2"]{--paper:#f0f5fd;--ink:#203b68;--accent:#24497e;--wash:#b6d1ee;--line:#9bafc8;--muted:#4f6585}[data-gp-theme="daymark-window-care"][data-mode="dark"]{--paper:#172a46;--ink:#fbf5d8;--accent:#f4df3e;--on-accent:#173c72;--wash:#253d5b;--line:#687e97;--muted:#ced8e4}[data-gp-theme="daymark-window-care"][data-palette="1"][data-mode="dark"]{--paper:#3c252e;--wash:#56383f;--accent:#f6ad91;--on-accent:#542f36;--line:#956e76;--muted:#e5d2d5}[data-gp-theme="daymark-window-care"][data-palette="2"][data-mode="dark"]{--paper:#182a43;--wash:#2b4565;--accent:#b6d1ee;--on-accent:#203b68;--line:#69829f;--muted:#cbd9eb}[data-gp-theme="daymark-window-care"] .wordmark{font-weight:800;letter-spacing:-.06em;font-size:32px}[data-gp-theme="daymark-window-care"] .dm-mark{width:25px;height:28px;background:var(--ink);display:inline-block;clip-path:polygon(0 0,100% 0,100% 100%,70% 100%,70% 30%,0 30%)}[data-gp-theme="daymark-window-care"] .dm-opening{padding-top:28px}[data-gp-theme="daymark-window-care"] .dm-topline{display:flex;justify-content:space-between;font-size:15px}[data-gp-theme="daymark-window-care"] .dm-opening h1{font-size:clamp(64px,7.8vw,115px);font-weight:700;line-height:.98;margin:35px 0}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="daymark-window-care"] .dm-opening h1{font-size:clamp(64px,7.8cqw,115px)}}[data-gp-theme="daymark-window-care"] .dm-opening h1 br{display:none}[data-gp-theme="daymark-window-care"] .worksheet{display:grid;grid-template-columns:1.15fr 1fr;border:2px solid var(--ink)}[data-gp-theme="daymark-window-care"] .worksheet-drawing{background:var(--wash);padding:30px;display:flex;flex-direction:column;gap:20px}[data-gp-theme="daymark-window-care"] .sheet-label{display:flex;justify-content:space-between;font-size:14px}[data-gp-theme="daymark-window-care"] .worksheet-drawing figure{flex:1;min-height:330px}[data-gp-theme="daymark-window-care"] .worksheet-drawing img{object-fit:contain}[data-gp-theme="daymark-window-care"] .worksheet-fields{padding:35px;display:grid;grid-template-columns:1fr 1fr;gap:20px 25px}[data-gp-theme="daymark-window-care"] .worksheet-fields>.label,[data-gp-theme="daymark-window-care"] .worksheet-fields>fieldset,[data-gp-theme="daymark-window-care"] .worksheet-fields>.scope-tally,[data-gp-theme="daymark-window-care"] .worksheet-fields>.meta{grid-column:1/-1}[data-gp-theme="daymark-window-care"] .worksheet-fields>label{align-self:start}[data-gp-theme="daymark-window-care"] .worksheet-fields input{font-size:25px;font-weight:600}[data-gp-theme="daymark-window-care"] .worksheet-fields>label:has(select){font-size:15px}[data-gp-theme="daymark-window-care"] .scope-tally{border-block:2px solid var(--ink);display:flex;align-items:center;gap:25px;padding:10px 0;margin-top:8px}[data-gp-theme="daymark-window-care"] .scope-tally>span:not(.fs-richtext){font:700 86px/.95 var(--display);letter-spacing:-.07em}[data-gp-theme="daymark-window-care"] .scope-tally p{font-size:16px}[data-gp-theme="daymark-window-care"] .sheet-bottom{display:flex;justify-content:space-between;gap:20px;padding:18px 0;font-size:15px;border-bottom:1px solid var(--line)}[data-gp-theme="daymark-window-care"] .guide-rows{border-top:1px solid var(--ink)}[data-gp-theme="daymark-window-care"] .guide-rows article{display:grid;grid-template-columns:80px 1fr 1fr;gap:30px;padding:35px 0;border-bottom:1px solid var(--line);align-items:start}[data-gp-theme="daymark-window-care"] .step{font:600 50px/1 var(--display);background:var(--wash);display:grid;place-content:center;width:70px;height:70px}[data-gp-theme="daymark-window-care"] .guide-rows h3{font-weight:600;font-size:30px}[data-gp-theme="daymark-window-care"] .scope-checks .check{border-top:1px solid var(--ink);padding-block:22px}[data-gp-theme="daymark-window-care"] .scope-checks strong{font-size:24px;font-family:var(--display);font-weight:600}[data-gp-theme="daymark-window-care"] .detail-photo{height:530px}[data-gp-theme="daymark-window-care"] .detail-photo figcaption{padding-top:12px}[data-gp-theme="daymark-window-care"] .detail-photo img{height:calc(100% - 34px)}[data-gp-theme="daymark-window-care"] .dm-enquiry{background:var(--wash)}[data-gp-theme="daymark-window-care"] .dm-large-tick{font:160px/.8 var(--display)}[data-gp-theme="daymark-window-care"] .worksheet-mini{font:40px/.8 var(--display)}[data-gp-theme="daymark-window-care"] .dm-enquiry output{background:var(--paper)}
@media(max-width:900px){[data-gp-theme="daymark-window-care"] .worksheet-fields{padding:25px;grid-template-columns:1fr}[data-gp-theme="daymark-window-care"] .worksheet-fields>label{grid-column:1/-1}[data-gp-theme="daymark-window-care"] .worksheet-drawing{padding:25px}[data-gp-theme="daymark-window-care"] .guide-rows article{grid-template-columns:65px 1fr 1fr;gap:20px}[data-gp-theme="daymark-window-care"] .step{width:55px;height:55px;font-size:40px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="daymark-window-care"] .worksheet-fields{padding:25px;grid-template-columns:1fr}[data-gp-theme="daymark-window-care"] .worksheet-fields>label{grid-column:1/-1}[data-gp-theme="daymark-window-care"] .worksheet-drawing{padding:25px}[data-gp-theme="daymark-window-care"] .guide-rows article{grid-template-columns:65px 1fr 1fr;gap:20px}[data-gp-theme="daymark-window-care"] .step{width:55px;height:55px;font-size:40px}}
@media(max-width:600px){[data-gp-theme="daymark-window-care"] .wordmark{font-size:26px}[data-gp-theme="daymark-window-care"] .dm-topline{font-size:13px;gap:20px}[data-gp-theme="daymark-window-care"] .dm-topline span:not(.fs-richtext):last-child{text-align:right}[data-gp-theme="daymark-window-care"] .dm-opening h1{font-size:59px;margin:28px 0}[data-gp-theme="daymark-window-care"] .dm-opening h1 br{display:block}[data-gp-theme="daymark-window-care"] .worksheet{grid-template-columns:1fr}[data-gp-theme="daymark-window-care"] .worksheet-drawing{padding:20px}[data-gp-theme="daymark-window-care"] .worksheet-drawing figure{min-height:190px}[data-gp-theme="daymark-window-care"] .worksheet-drawing .meta{font-size:12px}[data-gp-theme="daymark-window-care"] .worksheet-fields{padding:22px;gap:20px}[data-gp-theme="daymark-window-care"] .scope-tally>span:not(.fs-richtext){font-size:75px}[data-gp-theme="daymark-window-care"] .sheet-bottom{display:grid;font-size:14px}[data-gp-theme="daymark-window-care"] .guide-rows article{grid-template-columns:48px 1fr;gap:16px;padding-block:25px}[data-gp-theme="daymark-window-care"] .guide-rows h3{font-size:27px}[data-gp-theme="daymark-window-care"] .guide-rows p{grid-column:2}[data-gp-theme="daymark-window-care"] .step{width:44px;height:44px;font-size:30px}[data-gp-theme="daymark-window-care"] .detail-photo{height:320px}[data-gp-theme="daymark-window-care"] .dm-large-tick{display:none}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="daymark-window-care"] .wordmark{font-size:26px}[data-gp-theme="daymark-window-care"] .dm-topline{font-size:13px;gap:20px}[data-gp-theme="daymark-window-care"] .dm-topline span:not(.fs-richtext):last-child{text-align:right}[data-gp-theme="daymark-window-care"] .dm-opening h1{font-size:59px;margin:28px 0}[data-gp-theme="daymark-window-care"] .dm-opening h1 br{display:block}[data-gp-theme="daymark-window-care"] .worksheet{grid-template-columns:1fr}[data-gp-theme="daymark-window-care"] .worksheet-drawing{padding:20px}[data-gp-theme="daymark-window-care"] .worksheet-drawing figure{min-height:190px}[data-gp-theme="daymark-window-care"] .worksheet-drawing .meta{font-size:12px}[data-gp-theme="daymark-window-care"] .worksheet-fields{padding:22px;gap:20px}[data-gp-theme="daymark-window-care"] .scope-tally>span:not(.fs-richtext){font-size:75px}[data-gp-theme="daymark-window-care"] .sheet-bottom{display:grid;font-size:14px}[data-gp-theme="daymark-window-care"] .guide-rows article{grid-template-columns:48px 1fr;gap:16px;padding-block:25px}[data-gp-theme="daymark-window-care"] .guide-rows h3{font-size:27px}[data-gp-theme="daymark-window-care"] .guide-rows p{grid-column:2}[data-gp-theme="daymark-window-care"] .step{width:44px;height:44px;font-size:30px}[data-gp-theme="daymark-window-care"] .detail-photo{height:320px}[data-gp-theme="daymark-window-care"] .dm-large-tick{display:none}}

[data-gp-theme="daymark-window-care"][data-palette="1"][data-mode="light"]{--muted:#633f47}[data-gp-theme="daymark-window-care"][data-palette="2"][data-mode="light"]{--muted:#3c5372}

/* Preview chrome and accessibility only. Theme authors own the visual worlds. */
[data-gp-theme="daymark-window-care"][data-premium]{color-scheme:light;background:var(--paper);color:var(--ink);accent-color:var(--accent);scrollbar-color:var(--accent) var(--wash)}
[data-gp-theme="daymark-window-care"][data-premium][data-mode=dark]{color-scheme:dark}
[data-gp-theme="daymark-window-care"][data-premium] ::selection{background:var(--accent);color:var(--on-accent)}
[data-gp-theme="daymark-window-care"][data-premium] :is(input,textarea){caret-color:var(--accent)}
[data-gp-theme="daymark-window-care"][data-premium] :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--accent);outline-offset:4px}
[data-gp-theme="daymark-window-care"][data-premium] :is(input,select,textarea){max-width:100%}
[data-gp-theme="daymark-window-care"][data-premium] :is(input,textarea)::placeholder{color:var(--muted);opacity:1}
[data-gp-theme="daymark-window-care"][data-premium] .preview-bar{display:flex;flex-wrap:wrap;justify-content:flex-start;background:#f5f5f0;color:#242d2c;border-color:#cbd0c8;gap:8px 14px;position:relative;font:13px/1.3 "Figtree",sans-serif;min-height:52px;padding:6px 3vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="daymark-window-care"][data-premium] .preview-bar{padding:6px 3cqw}}
[data-gp-theme="daymark-window-care"][data-premium] .preview-bar>a{font-weight:600;min-height:40px;display:flex;align-items:center}
[data-gp-theme="daymark-window-care"][data-premium] .preview-bar [role=group]{margin-left:auto;display:flex;gap:2px}
[data-gp-theme="daymark-window-care"][data-premium] .preview-bar :is(button,select){font:13px/1.3 "Figtree",sans-serif;min-height:40px;max-width:100%;border-radius:3px}
[data-gp-theme="daymark-window-care"][data-premium] .preview-bar select{background:#fff;color:#242d2c;border:1px solid #a2ada4;padding:7px 24px 7px 9px}
[data-gp-theme="daymark-window-care"][data-premium] .preview-bar [aria-pressed=true]{background:#242d2c;color:#fff}
[data-gp-theme="daymark-window-care"][data-premium] .preview-bar .preview-label{font:12px/1.3 "Figtree",sans-serif;color:#48554f}
[data-gp-theme="daymark-window-care"][data-premium] .preview-bar :focus-visible{outline-color:#254fbb}
[data-gp-theme="daymark-window-care"][data-premium] .preview-bar [data-replay-intro]{font-size:12px;margin:0}
[data-gp-theme="daymark-window-care"][data-premium] .preview-bar [data-replay-intro]::after{content:none}
[data-gp-theme="daymark-window-care"][data-premium] .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
[data-gp-theme="daymark-window-care"][data-premium] .premium-action{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 22px;background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);text-decoration:none;font-weight:600;transition:transform 150ms var(--ease-out),background-color 150ms var(--ease-out)}
[data-gp-theme="daymark-window-care"][data-premium] .premium-action:active{transform:translateY(1px)}
[data-gp-theme="daymark-window-care"][data-premium] .premium-action:disabled{opacity:.6;cursor:not-allowed}
[data-gp-theme="daymark-window-care"][data-premium] :is(h1,h2,h3){text-wrap:balance}
[data-gp-theme="daymark-window-care"][data-premium] p{text-wrap:pretty}
/* Put down the opaque menu surface immediately, then introduce its content. */
[data-gp-theme="daymark-window-care"][data-premium] .mega-menu[open]:not([data-closing]){animation:none}
[data-gp-theme="daymark-window-care"][data-premium] .mega-menu[open]:not([data-closing])>:not(:first-child){animation:gp-daymark-premium-menu-content 160ms var(--ease-out)}
[data-gp-theme="daymark-window-care"][data-premium] .mega-menu[data-keyboard]>:not(:first-child){animation:none!important}
[data-gp-theme="daymark-window-care"][data-premium][data-input=keyboard] :is(button,[role="button"]):active{transform:none}
@keyframes gp-daymark-premium-menu-content{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:650px){
 [data-gp-theme="daymark-window-care"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="daymark-window-care"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="daymark-window-care"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="daymark-window-care"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="daymark-window-care"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="daymark-window-care"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="daymark-window-care"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="daymark-window-care"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@containerfs-editor-canvas (max-width: 650px){
 [data-gp-theme="daymark-window-care"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="daymark-window-care"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="daymark-window-care"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="daymark-window-care"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="daymark-window-care"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="daymark-window-care"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="daymark-window-care"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="daymark-window-care"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@media(prefers-reduced-motion:reduce){[data-gp-theme="daymark-window-care"][data-premium] .premium-action{transition:none;transform:none}}

/* Website page primitives and actual layout modes. Authored theme CSS owns identity. */
[data-gp-theme="daymark-window-care"][data-framed=true] .preview-bar,[data-gp-theme="daymark-window-care"][data-framed=true] .site-open-preview{display:none!important}
[data-gp-theme="daymark-window-care"][data-site]{--ip-paper:var(--paper,#f4f2eb);--ip-ink:var(--ink,#192f2c);--ip-wash:var(--wash,var(--paper,#e6e9df));--ip-accent:var(--accent,var(--rust,#315b50));--ip-on:var(--on-accent,var(--paper,#fff));--ip-muted:var(--muted,var(--ink,#45534d));--ip-line:var(--line,var(--rule,#a1aca5))}
[data-gp-theme="daymark-window-care"][data-inside]{background:var(--ip-paper);color:var(--ip-ink);font:18px/1.65 var(--body,"Figtree",sans-serif)}
[data-gp-theme="daymark-window-care"] .inside-page :is(h1,h2,h3){font-family:var(--display,inherit);color:inherit;letter-spacing:-.035em;line-height:1.1;font-weight:500;max-width:22ch}
[data-gp-theme="daymark-window-care"] .inside-page h1{font-size:clamp(42px,5.3vw,80px);margin:0 0 26px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="daymark-window-care"] .inside-page h1{font-size:clamp(42px,5.3cqw,80px)}}[data-gp-theme="daymark-window-care"] .inside-page h2{font-size:clamp(30px,3vw,49px);margin:0 0 24px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="daymark-window-care"] .inside-page h2{font-size:clamp(30px,3cqw,49px)}}[data-gp-theme="daymark-window-care"] .inside-page h3{font-size:25px;margin:0 0 15px}
[data-gp-theme="daymark-window-care"] .inside-page :is(p,li){max-width:72ch}[data-gp-theme="daymark-window-care"] .inside-page p{margin:0 0 20px}[data-gp-theme="daymark-window-care"] .inside-page a{color:inherit}[data-gp-theme="daymark-window-care"] .inside-page img{max-width:100%;width:100%;height:100%;object-fit:cover}[data-gp-theme="daymark-window-care"] .inside-page figure{margin:0}[data-gp-theme="daymark-window-care"] .inside-page :is(button,[role="button"]){color:inherit}
[data-gp-theme="daymark-window-care"] .ip-hero,[data-gp-theme="daymark-window-care"] .ip-section{width:min(1320px,calc(100% - 96px));margin-inline:auto;padding-block:70px}[data-gp-theme="daymark-window-care"] .ip-hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:65px}[data-gp-theme="daymark-window-care"] .ip-opening{min-width:0}[data-gp-theme="daymark-window-care"] .ip-hero:has(>.ip-opening:only-child){grid-template-columns:1fr}[data-gp-theme="daymark-window-care"] .ip-art{height:430px;position:relative}[data-gp-theme="daymark-window-care"] .ip-art img{object-fit:cover}[data-gp-theme="daymark-window-care"] .ip-art figcaption,[data-gp-theme="daymark-window-care"] .ip-caption{font-size:14px;line-height:1.5;color:var(--ip-muted);padding-top:10px}[data-gp-theme="daymark-window-care"] .ip-section>.ip-caption{margin-bottom:20px}[data-gp-theme="daymark-window-care"] .ip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}[data-gp-theme="daymark-window-care"] .ip-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px}[data-gp-theme="daymark-window-care"] .ip-card{min-width:0;border-top:1px solid var(--ip-line);padding:25px 0}[data-gp-theme="daymark-window-care"] .ip-card figure{height:230px;margin-bottom:25px}[data-gp-theme="daymark-window-care"] .ip-reading{width:min(76ch,calc(100% - 48px));margin-inline:auto;padding-block:55px}[data-gp-theme="daymark-window-care"] .ip-reading h2{margin-top:40px}[data-gp-theme="daymark-window-care"] .ip-ledger{margin:24px 0}[data-gp-theme="daymark-window-care"] .ip-ledger>div{display:grid;grid-template-columns:1fr 1.4fr;gap:20px;border-top:1px solid var(--ip-line);padding:15px 0}[data-gp-theme="daymark-window-care"] .ip-ledger dt{font-weight:600}[data-gp-theme="daymark-window-care"] .ip-ledger dd{margin:0}[data-gp-theme="daymark-window-care"] .ip-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border:1px solid var(--ip-accent);background:var(--ip-accent);color:var(--ip-on)!important;text-decoration:none;font-size:16px;transition:transform 150ms var(--ease-out)}[data-gp-theme="daymark-window-care"] .ip-action.secondary{background:transparent;color:var(--ip-ink)!important;border-color:var(--ip-line)}[data-gp-theme="daymark-window-care"] .ip-band{padding:55px max(24px,calc((100% - 1320px)/2));background:var(--ip-wash);color:var(--ip-ink)}[data-gp-theme="daymark-window-care"] .ip-band p{max-width:65ch}[data-gp-theme="daymark-window-care"] .ip-note{font-size:15px;border-left:3px solid var(--ip-accent);padding:12px 18px;background:var(--ip-wash);color:var(--ip-ink);margin-block:20px}[data-gp-theme="daymark-window-care"] .ip-form{display:grid;gap:22px}[data-gp-theme="daymark-window-care"] .ip-form label{display:grid;gap:8px;font-size:16px}[data-gp-theme="daymark-window-care"] .ip-form :is(input,textarea,select){width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid var(--ip-line);background:var(--ip-paper);color:var(--ip-ink);font:inherit;border-radius:0}[data-gp-theme="daymark-window-care"] .ip-form :is(input,textarea)::placeholder{color:var(--ip-muted);opacity:1}[data-gp-theme="daymark-window-care"] .ip-field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}[data-gp-theme="daymark-window-care"] .ip-form :is(button,[role="button"]){justify-self:start}[data-gp-theme="daymark-window-care"] .ip-form textarea{min-height:135px}[data-gp-theme="daymark-window-care"] .inside-page output[data-draft-output]{display:block;white-space:pre-wrap;padding:25px;background:var(--ip-wash);color:var(--ip-ink);border:1px solid var(--ip-line);overflow-wrap:anywhere}[data-gp-theme="daymark-window-care"] .ip-checks{display:grid;gap:12px}[data-gp-theme="daymark-window-care"] .ip-checks label{display:flex;align-items:start;gap:14px;border-top:1px solid var(--ip-line);padding:16px 0;min-height:52px}[data-gp-theme="daymark-window-care"] .ip-checks input{width:22px;height:22px;min-height:22px;flex-shrink:0;margin-top:4px;accent-color:var(--ip-accent)}[data-gp-theme="daymark-window-care"] .inside-page details{border-top:1px solid var(--ip-line);padding:18px 0}[data-gp-theme="daymark-window-care"] .inside-page summary{min-height:44px;font-size:21px;cursor:pointer}[data-gp-theme="daymark-window-care"] .inside-page details p{padding:16px 0 0}[data-gp-theme="daymark-window-care"] .inside-page [data-filter-group]>[role=group]{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}[data-gp-theme="daymark-window-care"] .inside-page [data-filter]{padding:10px 18px;min-height:44px;background:transparent;color:var(--ip-ink);border:1px solid var(--ip-line)}[data-gp-theme="daymark-window-care"] .inside-page [data-filter][aria-pressed=true]{background:var(--ip-accent);color:var(--ip-on)}[data-gp-theme="daymark-window-care"] .site-directory{padding:30px!important;background:var(--ip-paper)!important;color:var(--ip-ink)!important;border-top:1px solid var(--ip-line)}[data-gp-theme="daymark-window-care"] .site-directory h3{font:600 17px/1.4 var(--body,"Figtree",sans-serif);margin:0 0 16px}[data-gp-theme="daymark-window-care"] .site-directory>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 25px}[data-gp-theme="daymark-window-care"] .site-directory a{display:block;font:16px/1.5 var(--body,"Figtree",sans-serif)!important;min-height:44px;padding:10px 0!important;color:inherit!important;text-decoration:none}[data-gp-theme="daymark-window-care"] .site-directory a[aria-current=page]{text-decoration:underline;font-weight:600!important}[data-gp-theme="daymark-window-care"] .site-open-preview{display:block;padding:10px 20px;background:#eef0eb;color:#20322d;font:14px/1.4 "Figtree",sans-serif;text-align:center}
[data-gp-theme="daymark-window-care"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){width:100%;padding-inline:max(24px,4vw)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="daymark-window-care"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){padding-inline:max(24px,4cqw)}}
[data-gp-theme="daymark-window-care"]:has([data-gp-theme="daymark-window-care"][data-layout=boxed]){background:#a6afa9}[data-gp-theme="daymark-window-care"][data-layout=boxed]{width:min(1200px,calc(100% - 64px));margin-inline:auto;box-shadow:0 0 0 1px #0002,0 20px 70px #0002;min-height:100dvh;background:var(--ip-paper)}
[data-gp-theme="daymark-window-care"][data-layout=centered] :is(.ip-hero,.opening,.cake-opening,.gp-title,.book-opening,.poster-opening,.portal-opening,.destination-opening,.route-opening){text-align:center}
[data-gp-theme="daymark-window-care"][data-layout=centered] .ip-hero{grid-template-columns:1fr;max-width:1000px;justify-items:center}[data-gp-theme="daymark-window-care"][data-layout=centered] .ip-opening{display:grid;justify-items:center}[data-gp-theme="daymark-window-care"][data-layout=centered] .ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="daymark-window-care"][data-layout=centered] .ip-art{width:min(760px,100%)}
[data-gp-theme="daymark-window-care"][data-layout=minimalist] :is(.ip-section,.ip-hero){padding-block:42px}[data-gp-theme="daymark-window-care"][data-layout=minimalist] :is(.ip-card,.ip-art,.ip-note){border-radius:0;box-shadow:none;background-image:none}[data-gp-theme="daymark-window-care"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5vw,64px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="daymark-window-care"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5cqw,64px)}}[data-gp-theme="daymark-window-care"][data-layout=minimalist] :is(.mullions,.glaze-rim,.cake-sticker,.paper-corner){opacity:0}[data-gp-theme="daymark-window-care"][data-layout=minimalist] :is(.ip-art img,.opening img){border-radius:0}
[data-gp-theme="daymark-window-care"][data-layout=edge-hero] .ip-hero{width:100%;padding-inline:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="daymark-window-care"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4vw)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="daymark-window-care"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4cqw)}}[data-gp-theme="daymark-window-care"][data-layout=edge-hero] .ip-art{height:600px}[data-gp-theme="daymark-window-care"][data-layout=edge-hero] .ip-art img{border-radius:0}[data-gp-theme="daymark-window-care"][data-layout=edge-hero] .ip-art figcaption{padding:8px 20px}
[data-gp-theme="daymark-window-care"][data-layout=full-width] .inside-page>.ip-opening{width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="daymark-window-care"][data-layout=full-width] .inside-page>.ip-opening{padding-inline:4cqw}}
[data-gp-theme="daymark-window-care"][data-layout=centered] .inside-page>.ip-opening{display:flex;flex-direction:column;align-items:center;text-align:center;width:min(1000px,calc(100% - 48px));gap:30px}[data-gp-theme="daymark-window-care"][data-layout=centered] .inside-page>.ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="daymark-window-care"][data-layout=centered] .inside-page>.ip-opening>figure{width:min(780px,100%)}
[data-gp-theme="daymark-window-care"][data-layout=minimalist] .inside-page>.ip-opening{padding-block:38px}[data-gp-theme="daymark-window-care"][data-layout=minimalist] .inside-page>.ip-opening :is(h1,figure){box-shadow:none;border-radius:0}
[data-gp-theme="daymark-window-care"][data-layout=edge-hero] .inside-page>.ip-opening{width:100%;max-width:none;padding:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="daymark-window-care"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="daymark-window-care"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4cqw}}[data-gp-theme="daymark-window-care"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:600px;max-width:none;align-self:stretch}[data-gp-theme="daymark-window-care"][data-layout=edge-hero] .inside-page>.ip-opening>figure img{height:100%;object-fit:cover;border-radius:0}
/* Existing home compositions gain real width/spacing modes without replacing their content. */
[data-gp-theme="daymark-window-care"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="daymark-window-care"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){padding-inline:4cqw}}
[data-gp-theme="daymark-window-care"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child{text-align:center}
[data-gp-theme="daymark-window-care"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(h1,p){margin-inline:auto}[data-gp-theme="daymark-window-care"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(.opening-copy,.elevation-copy,.cake-copy,.hero-copy){text-align:center}
[data-gp-theme="daymark-window-care"][data-layout=minimalist]:not([data-inside]) .gp-source-main>section{padding-block:44px}[data-gp-theme="daymark-window-care"][data-layout=minimalist]:not([data-inside]) :is(.hero-sleeve,.calendar,.hello-note,.open-book){box-shadow:none}
[data-gp-theme="daymark-window-care"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child{width:100%;max-width:none;margin-inline:0;padding-inline:0;background:var(--ip-wash)}[data-gp-theme="daymark-window-care"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="daymark-window-care"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4cqw}}[data-gp-theme="daymark-window-care"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:600px}
@media(hover:hover) and (pointer:fine){[data-gp-theme="daymark-window-care"] .ip-action:hover{transform:translateY(-2px)}[data-gp-theme="daymark-window-care"] .site-directory a:hover{text-decoration:underline}}
@media(max-width:850px){[data-gp-theme="daymark-window-care"] .ip-hero,[data-gp-theme="daymark-window-care"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="daymark-window-care"] .ip-hero{gap:30px}[data-gp-theme="daymark-window-care"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="daymark-window-care"] .ip-two{gap:30px}[data-gp-theme="daymark-window-care"] .ip-art{height:340px}}
@containerfs-editor-canvas (max-width: 850px){[data-gp-theme="daymark-window-care"] .ip-hero,[data-gp-theme="daymark-window-care"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="daymark-window-care"] .ip-hero{gap:30px}[data-gp-theme="daymark-window-care"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="daymark-window-care"] .ip-two{gap:30px}[data-gp-theme="daymark-window-care"] .ip-art{height:340px}}
@media(max-width:600px){[data-gp-theme="daymark-window-care"] .ip-hero,[data-gp-theme="daymark-window-care"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="daymark-window-care"] .ip-hero,[data-gp-theme="daymark-window-care"] .ip-two,[data-gp-theme="daymark-window-care"] .ip-grid,[data-gp-theme="daymark-window-care"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="daymark-window-care"] .ip-art{height:300px}[data-gp-theme="daymark-window-care"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="daymark-window-care"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="daymark-window-care"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="daymark-window-care"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="daymark-window-care"] .site-directory{padding:22px!important}[data-gp-theme="daymark-window-care"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="daymark-window-care"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="daymark-window-care"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="daymark-window-care"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="daymark-window-care"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="daymark-window-care"] .ip-hero,[data-gp-theme="daymark-window-care"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="daymark-window-care"] .ip-hero,[data-gp-theme="daymark-window-care"] .ip-two,[data-gp-theme="daymark-window-care"] .ip-grid,[data-gp-theme="daymark-window-care"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="daymark-window-care"] .ip-art{height:300px}[data-gp-theme="daymark-window-care"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="daymark-window-care"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="daymark-window-care"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="daymark-window-care"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="daymark-window-care"] .site-directory{padding:22px!important}[data-gp-theme="daymark-window-care"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="daymark-window-care"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="daymark-window-care"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="daymark-window-care"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="daymark-window-care"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@media(max-width:600px){[data-gp-theme="daymark-window-care"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="daymark-window-care"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="daymark-window-care"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="daymark-window-care"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="daymark-window-care"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="daymark-window-care"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
[data-gp-theme="daymark-window-care"] .inside-page a[aria-disabled=true]{cursor:default;text-decoration:none}
[data-gp-theme="daymark-window-care"][data-layout=edge-hero] .inside-page .ip-hero .ip-art{transform:none}
@media(prefers-reduced-motion:reduce){[data-gp-theme="daymark-window-care"] .ip-action{transition:none;transform:none!important}}
/* Task actions always use an explicit contrasting pair, including themed form overrides. */
[data-gp-theme="daymark-window-care"][data-site] .inside-page :is(.ip-form :is(button,[role="button"]):is([type="submit"],[data-gp-button-type="submit"]),[data-save-draft],.ip-action:not(.secondary)){
 background:var(--ip-ink)!important;color:var(--ip-paper)!important;border:1px solid var(--ip-ink)!important;
 min-height:48px;padding:12px 22px;font-size:16px;line-height:1.4;
}
[data-gp-theme="daymark-window-care"][data-site] .inside-page .ip-action.secondary{background:transparent!important;color:var(--ip-ink)!important;border-color:var(--ip-line)!important}
[data-gp-theme="daymark-window-care"][data-site] .inside-page .ip-form :is(select,select option){background-color:var(--ip-paper);color:var(--ip-ink)}
[data-gp-theme="daymark-window-care"] .site-plan-label{display:block;font:400 14px/1.45 var(--body,sans-serif);margin-top:6px;text-decoration:none;opacity:1}
[data-gp-theme="daymark-window-care"] a[data-preview-plan]{cursor:pointer}[data-gp-theme="daymark-window-care"] .inside-page a[data-preview-plan]{text-decoration:none}
[data-gp-theme="daymark-window-care"][data-site] .site-directory a[data-preview-plan]{display:flex;flex-direction:column;align-items:flex-start;gap:2px}[data-gp-theme="daymark-window-care"] .site-directory .site-plan-label{font-size:13px;margin:0}


[data-gp-theme="daymark-window-care"][data-inside] .ip-opening,[data-gp-theme="daymark-window-care"][data-inside] .ip-section{width:min(1240px,calc(100% - 72px));margin-inline:auto;padding:64px 0;border-bottom:1px solid var(--line,#a8b6bb)}
[data-gp-theme="daymark-window-care"][data-inside] .ip-opening{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:56px;align-items:center;padding-top:76px}
[data-gp-theme="daymark-window-care"][data-inside] .ip-opening>div:only-child{grid-column:1/-1;max-width:920px}
[data-gp-theme="daymark-window-care"][data-inside] .ip-opening h1{font-family:var(--display,serif);font-size:clamp(46px,6vw,88px);line-height:1.05;margin:0 0 28px;overflow-wrap:break-word}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="daymark-window-care"][data-inside] .ip-opening h1{font-size:clamp(46px,6cqw,88px)}}
[data-gp-theme="daymark-window-care"][data-inside] .ip-lead{font-size:clamp(20px,2vw,25px);max-width:52ch;line-height:1.5}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="daymark-window-care"][data-inside] .ip-lead{font-size:clamp(20px,2cqw,25px)}}
[data-gp-theme="daymark-window-care"][data-inside] .ip-section h2{font-size:clamp(30px,3.5vw,52px);margin:0 0 28px;max-width:24ch}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="daymark-window-care"][data-inside] .ip-section h2{font-size:clamp(30px,3.5cqw,52px)}}
[data-gp-theme="daymark-window-care"][data-inside] .ip-section h3{font-size:clamp(23px,2.4vw,32px);margin-bottom:15px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="daymark-window-care"][data-inside] .ip-section h3{font-size:clamp(23px,2.4cqw,32px)}}
[data-gp-theme="daymark-window-care"][data-inside] .ip-section p{max-width:68ch;line-height:1.65}
[data-gp-theme="daymark-window-care"][data-inside] .ip-section p+p{margin-top:18px}
[data-gp-theme="daymark-window-care"][data-inside] .ip-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
[data-gp-theme="daymark-window-care"][data-inside] .ip-columns article{border-top:2px solid var(--accent,#345c68);padding-top:22px}
[data-gp-theme="daymark-window-care"][data-inside] .ip-reading{max-width:75ch}
[data-gp-theme="daymark-window-care"][data-inside] .ip-media{margin:0;min-width:0}
[data-gp-theme="daymark-window-care"][data-inside] .ip-media img{width:100%;height:auto;max-height:520px;min-height:240px;object-fit:cover;display:block}
[data-gp-theme="daymark-window-care"][data-inside] .ip-media figcaption{font-size:14px;margin-top:12px;line-height:1.5}
[data-gp-theme="daymark-window-care"][data-inside] .ip-ledger{margin:0;min-width:0}
[data-gp-theme="daymark-window-care"][data-inside] .ip-ledger>div{display:grid;grid-template-columns:minmax(140px,.6fr) minmax(0,1.6fr);gap:26px;border-top:1px solid var(--line,#aaa);padding:20px 0}
[data-gp-theme="daymark-window-care"][data-inside] .ip-ledger dt{font-weight:650}
[data-gp-theme="daymark-window-care"][data-inside] .ip-ledger dd{margin:0;max-width:65ch}
[data-gp-theme="daymark-window-care"][data-inside] .ip-detail{display:grid;grid-template-columns:1fr 1.35fr;gap:55px}
[data-gp-theme="daymark-window-care"][data-inside] .ip-action{display:inline-flex;align-items:center;min-height:48px;padding:13px 20px;border:1px solid currentColor;margin-top:24px;text-decoration:none;font-weight:650}
[data-gp-theme="daymark-window-care"][data-inside] .ip-form{max-width:780px;display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:28px}
[data-gp-theme="daymark-window-care"][data-inside] .ip-form label{display:grid;gap:9px;min-width:0;font-size:17px;font-weight:600}
[data-gp-theme="daymark-window-care"][data-inside] .ip-form label:has(textarea){grid-column:1/-1}
[data-gp-theme="daymark-window-care"][data-inside] .ip-form input,[data-gp-theme="daymark-window-care"][data-inside] .ip-form select,[data-gp-theme="daymark-window-care"][data-inside] .ip-form textarea{box-sizing:border-box;width:100%;min-width:0;min-height:48px;background:var(--paper,#fff);color:var(--ink,#123);border:1px solid var(--line,#aaa);font:inherit;padding:12px;border-radius:0}
[data-gp-theme="daymark-window-care"][data-inside] .ip-form :is(button,[role="button"]){justify-self:start;min-height:48px;padding:12px 24px}
[data-gp-theme="daymark-window-care"][data-inside] [data-draft-output]{max-width:780px;white-space:pre-wrap;overflow-wrap:anywhere;margin:24px 0;padding:24px;border:1px solid var(--line,#aaa)}
[data-gp-theme="daymark-window-care"][data-inside] [hidden]{display:none!important}
[data-gp-theme="daymark-window-care"][data-inside] .ip-checklist{max-width:800px}
[data-gp-theme="daymark-window-care"][data-inside] .ip-checklist label{display:flex;align-items:start;gap:14px;padding:18px 0;border-top:1px solid var(--line,#aaa);font:inherit}
[data-gp-theme="daymark-window-care"][data-inside] .ip-checklist input{width:22px;height:22px;min-height:22px;flex:none;accent-color:var(--accent,#456);margin:4px 0 0}
[data-gp-theme="daymark-window-care"][data-inside] [data-check-count],[data-gp-theme="daymark-window-care"][data-inside] [data-filter-count]{display:block;font-size:15px;padding:14px 0;background:transparent;border:0}
[data-gp-theme="daymark-window-care"][data-inside] .ip-filter-buttons,[data-gp-theme="daymark-window-care"][data-inside] .ip-choice [role=group]{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}
[data-gp-theme="daymark-window-care"][data-inside] .ip-filter-buttons :is(button,[role="button"]),[data-gp-theme="daymark-window-care"][data-inside] .ip-choice :is(button,[role="button"]){padding:12px 20px;min-height:48px;background:var(--paper,#fff);color:var(--ink,#123);border:1px solid currentColor}
[data-gp-theme="daymark-window-care"][data-inside] .ip-filter-buttons :is(button,[role="button"])[aria-pressed=true],[data-gp-theme="daymark-window-care"][data-inside] .ip-choice :is(button,[role="button"])[aria-pressed=true]{background:var(--ink,#123);color:var(--paper,#fff)}
[data-gp-theme="daymark-window-care"][data-inside] .ip-records{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
[data-gp-theme="daymark-window-care"][data-inside] .ip-records article{padding:28px;border:1px solid var(--line,#aaa);min-width:0}
[data-gp-theme="daymark-window-care"][data-inside] .ip-record-label{display:block;margin-bottom:24px;font-size:14px}
[data-gp-theme="daymark-window-care"][data-inside] .ip-choice [data-note-result]{padding:24px;background:var(--wash,#eee);border-left:3px solid var(--accent,#456);min-height:100px}
[data-gp-theme="daymark-window-care"][data-inside] .ip-closing{background:var(--wash,#eee);padding:38px!important;margin-block:32px!important}
[data-gp-theme="daymark-window-care"][data-inside] .ip-section details{padding:21px 0;border-top:1px solid var(--line,#aaa)}
[data-gp-theme="daymark-window-care"][data-inside] .ip-section summary{min-height:44px;cursor:pointer;font-weight:650}
[data-gp-theme="daymark-window-care"][data-inside] .ip-section details p{margin-top:12px}
[data-gp-theme="daymark-window-care"][data-inside] .ip-sequence{list-style:none;margin:0;padding:0;counter-reset:sequence}
[data-gp-theme="daymark-window-care"][data-inside] .ip-sequence li{counter-increment:sequence;display:grid;grid-template-columns:64px 1fr;gap:24px;border-top:1px solid var(--line,#aaa);padding:28px 0}
[data-gp-theme="daymark-window-care"][data-inside] .ip-sequence li:before{content:counter(sequence,decimal-leading-zero);font:32px var(--display,serif);color:var(--accent,#456)}
[data-gp-theme="daymark-window-care"][data-inside] .ip-sequence h3{margin-bottom:12px}
[data-gp-theme="daymark-window-care"][data-inside] :is(a,:is(button,[role="button"]),input,select,textarea,summary):focus-visible{outline:3px solid var(--accent,#456);outline-offset:4px}
@media(hover:hover) and (pointer:fine){[data-gp-theme="daymark-window-care"][data-inside] :is(.ip-action,.ip-filter-buttons :is(button,[role="button"]),.ip-choice button){transition:transform 150ms ease,opacity 150ms ease}[data-gp-theme="daymark-window-care"][data-inside] :is(.ip-action,.ip-filter-buttons :is(button,[role="button"]),.ip-choice button):hover{transform:translateY(-2px)}}
@media(max-width:760px){[data-gp-theme="daymark-window-care"][data-inside] .ip-opening,[data-gp-theme="daymark-window-care"][data-inside] .ip-section{width:calc(100% - 36px);padding-block:42px}[data-gp-theme="daymark-window-care"][data-inside] .ip-opening,[data-gp-theme="daymark-window-care"][data-inside] .ip-detail{grid-template-columns:1fr;gap:28px}[data-gp-theme="daymark-window-care"][data-inside] .ip-columns,[data-gp-theme="daymark-window-care"][data-inside] .ip-records{grid-template-columns:1fr;gap:28px}[data-gp-theme="daymark-window-care"][data-inside] .ip-opening h1{font-size:clamp(41px,10vw,68px)}[data-gp-theme="daymark-window-care"][data-inside] .ip-form{grid-template-columns:1fr}[data-gp-theme="daymark-window-care"][data-inside] .ip-ledger>div{grid-template-columns:1fr;gap:8px}[data-gp-theme="daymark-window-care"][data-inside] .ip-closing{padding:26px!important}[data-gp-theme="daymark-window-care"][data-inside] .ip-sequence li{grid-template-columns:44px 1fr;gap:12px}}
@containerfs-editor-canvas (max-width: 760px){[data-gp-theme="daymark-window-care"][data-inside] .ip-opening,[data-gp-theme="daymark-window-care"][data-inside] .ip-section{width:calc(100% - 36px);padding-block:42px}[data-gp-theme="daymark-window-care"][data-inside] .ip-opening,[data-gp-theme="daymark-window-care"][data-inside] .ip-detail{grid-template-columns:1fr;gap:28px}[data-gp-theme="daymark-window-care"][data-inside] .ip-columns,[data-gp-theme="daymark-window-care"][data-inside] .ip-records{grid-template-columns:1fr;gap:28px}[data-gp-theme="daymark-window-care"][data-inside] .ip-opening h1{font-size:clamp(41px,10cqw,68px)}[data-gp-theme="daymark-window-care"][data-inside] .ip-form{grid-template-columns:1fr}[data-gp-theme="daymark-window-care"][data-inside] .ip-ledger>div{grid-template-columns:1fr;gap:8px}[data-gp-theme="daymark-window-care"][data-inside] .ip-closing{padding:26px!important}[data-gp-theme="daymark-window-care"][data-inside] .ip-sequence li{grid-template-columns:44px 1fr;gap:12px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="daymark-window-care"][data-inside] :is(button,.ip-action){transition:none!important;transform:none!important}}
[data-gp-theme="daymark-window-care"][data-inside][data-keyboard] :is(button,.ip-action){transform:none!important}

[data-gp-theme="daymark-window-care"][data-inside] .ip-opening h1{font-weight:700;letter-spacing:-.045em;max-width:13ch}
[data-gp-theme="daymark-window-care"][data-inside] .ip-section{border-bottom:2px solid var(--ink)}
[data-gp-theme="daymark-window-care"][data-inside] .ip-section h2{border-left:12px solid var(--accent);padding-left:20px;font-weight:700}
[data-gp-theme="daymark-window-care"][data-inside] .ip-scope-slip{border:2px solid var(--ink);background:var(--wash);padding:24px}
[data-gp-theme="daymark-window-care"][data-inside] .ip-scope-slip>span:not(.fs-richtext){font:650 28px var(--display)}
[data-gp-theme="daymark-window-care"][data-inside] .ip-scope-slip dl{margin:24px 0 0}
[data-gp-theme="daymark-window-care"][data-inside] .ip-scope-slip dl>div{display:grid;grid-template-columns:1fr 1fr;gap:15px;border-top:1px solid var(--ink);padding:20px 0}
[data-gp-theme="daymark-window-care"][data-inside] .ip-scope-slip dt{font-weight:650}
[data-gp-theme="daymark-window-care"][data-inside] .ip-scope-slip dd{margin:0}
[data-gp-theme="daymark-window-care"][data-inside] .ip-ledger{border:2px solid var(--ink)}
[data-gp-theme="daymark-window-care"][data-inside] .ip-ledger>div{padding:22px;border-top:1px solid var(--ink)}
[data-gp-theme="daymark-window-care"][data-inside] .ip-ledger>div:first-child{border-top:0}
[data-gp-theme="daymark-window-care"][data-inside] .ip-ledger dt{background:var(--wash);padding:8px;align-self:start}
[data-gp-theme="daymark-window-care"][data-inside] .ip-checklist label{border:1px solid var(--ink);border-bottom:0;padding:20px}
[data-gp-theme="daymark-window-care"][data-inside] .ip-checklist label:last-of-type{border-bottom:1px solid var(--ink)}
[data-gp-theme="daymark-window-care"][data-inside] .ip-draft{background:var(--wash);padding:34px!important}
[data-gp-theme="daymark-window-care"][data-inside] .ip-tally [data-pane-result]{background:var(--ink);color:var(--paper);padding:26px;margin-top:24px}

/* Owner selected alternative on 18 October 2026. Main heading roles only. */
[data-gp-theme="daymark-window-care"][data-gp-kind="section"] h1{font-family:"Archivo", sans-serif!important;font-weight:650!important;letter-spacing:-0.018em!important;line-height:1.08!important;font-variation-settings:normal!important;font-optical-sizing:auto!important}
[data-gp-theme="daymark-window-care"][data-gp-kind="section"] h2{font-family:"IBM Plex Sans", sans-serif!important;font-weight:600!important;letter-spacing:-.01em!important;line-height:1.17!important;font-variation-settings:normal!important;font-optical-sizing:auto!important}
[data-gp-theme="daymark-window-care"][data-gp-kind="section"] h3{font-family:"IBM Plex Sans", sans-serif!important;font-weight:600!important;letter-spacing:0!important;line-height:1.25!important;font-variation-settings:normal!important}
[data-gp-theme="daymark-window-care"][data-inside][data-gp-kind="section"] h1{font-family:"Archivo", sans-serif!important;line-height:1.14!important;letter-spacing:-.012em!important;font-weight:650!important;text-transform:none!important}
@media(max-width:650px){[data-gp-theme="daymark-window-care"][data-gp-kind="section"] h1{line-height:1.08!important;letter-spacing:-0.018em!important}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="daymark-window-care"][data-gp-kind="section"] h1{line-height:1.08!important;letter-spacing:-0.018em!important}}

[data-gp-theme="daymark-window-care"] .upgrade{margin-block:70px;padding-block:45px;border-block:1px solid var(--line);color:var(--ink);isolation:isolate}[data-gp-theme="daymark-window-care"] .upgrade *, [data-gp-theme="daymark-window-care"] .upgrade-summary *{box-sizing:border-box}[data-gp-theme="daymark-window-care"] .upgrade h2{font-size:clamp(32px,4vw,57px);margin:0 0 16px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="daymark-window-care"] .upgrade h2{font-size:clamp(32px,4cqw,57px)}}[data-gp-theme="daymark-window-care"] .upgrade h3{font-size:clamp(25px,2.8vw,36px);line-height:1.12}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="daymark-window-care"] .upgrade h3{font-size:clamp(25px,2.8cqw,36px)}}[data-gp-theme="daymark-window-care"] .upgrade p{font-size:17px;line-height:1.55}[data-gp-theme="daymark-window-care"] .up-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:32px}[data-gp-theme="daymark-window-care"] .up-heading>p{max-width:39ch}[data-gp-theme="daymark-window-care"] .up-work{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:36px}[data-gp-theme="daymark-window-care"] .up-work>*{min-width:0}[data-gp-theme="daymark-window-care"] .up-choice{display:flex;gap:8px;flex-wrap:wrap;margin-block:18px}[data-gp-theme="daymark-window-care"] .upgrade :is(button,[role="button"]),[data-gp-theme="daymark-window-care"] .upgrade-summary :is(button,[role="button"]){min-height:46px;padding:10px 16px;font-size:16px;line-height:1.3;gap:7px}[data-gp-theme="daymark-window-care"] .upgrade :is(button,[role="button"]):active{transform:scale(.98)}[data-gp-theme="daymark-window-care"] .upgrade :is(button,[role="button"]):disabled{opacity:.45;cursor:default}[data-gp-theme="daymark-window-care"] .upgrade :is(button,[role="button"])[aria-pressed=true]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}[data-gp-theme="daymark-window-care"] .up-caption{font-size:13px!important;padding-block:10px;border-top:1px solid var(--line)}[data-gp-theme="daymark-window-care"] .up-footer{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}[data-gp-theme="daymark-window-care"] .up-footer output{max-width:65ch;font-size:16px;line-height:1.55}[data-gp-theme="daymark-window-care"] .up-footer a,[data-gp-theme="daymark-window-care"] .upgrade-summary a{flex-shrink:0;min-height:46px;display:inline-flex;align-items:center}[data-gp-theme="daymark-window-care"] .up-note{font-size:14px!important;color:var(--muted);margin-top:18px}[data-gp-theme="daymark-window-care"] .up-stage svg,[data-gp-theme="daymark-window-care"] .up-detail svg,[data-gp-theme="daymark-window-care"] .up-ensemble svg{width:100%;height:auto;display:block;color:var(--ink)}[data-gp-theme="daymark-window-care"] .upgrade svg text{font-family:var(--body);fill:currentColor}[data-gp-theme="daymark-window-care"] .up-stage{background:var(--wash,var(--paper));overflow:hidden;min-width:0}[data-gp-theme="daymark-window-care"] .up-panel{min-height:460px}[data-gp-theme="daymark-window-care"] .up-panel h3{margin-block:18px}[data-gp-theme="daymark-window-care"] .up-questions{padding-left:20px;font-size:16px;line-height:1.6;margin-block:18px}[data-gp-theme="daymark-window-care"] .up-questions li+li{margin-top:7px}[data-gp-theme="daymark-window-care"] .up-label{display:block;font-size:14px;margin-bottom:10px}[data-gp-theme="daymark-window-care"] .up-footer a{max-width:100%}[data-gp-theme="daymark-window-care"] .upgrade-summary{margin-block:30px;border-block:2px solid var(--ink);padding:28px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 35px}[data-gp-theme="daymark-window-care"] .upgrade-summary h2{font-size:28px}[data-gp-theme="daymark-window-care"] .upgrade-summary output{display:block;max-width:65ch;font-size:18px;line-height:1.6}[data-gp-theme="daymark-window-care"] .upgrade-summary p{font-size:14px}[data-gp-theme="daymark-window-care"] .upgrade-summary a{grid-column:2;grid-row:1/4}[data-gp-theme="daymark-window-care"] .upgrade fieldset{border:0;padding:0;margin:20px 0;min-width:0}[data-gp-theme="daymark-window-care"] .upgrade legend{font-size:15px}[data-gp-theme="daymark-window-care"] .upgrade :focus-visible{outline:3px solid var(--focus,var(--accent));outline-offset:4px}[data-gp-theme="daymark-window-care"] .upgrade svg [role=button]{cursor:pointer;outline:none}[data-gp-theme="daymark-window-care"] .upgrade svg [role=button]:focus-visible rect{stroke:var(--focus,var(--accent));stroke-width:5px}[data-gp-theme="daymark-window-care"] .upgrade [data-up-surface],[data-gp-theme="daymark-window-care"] .upgrade [data-up-pane]{transition:fill 160ms var(--ease-out),background-color 160ms var(--ease-out),opacity 160ms var(--ease-out)}[data-gp-theme="daymark-window-care"] .upgrade[data-keyboard] *, [data-gp-theme="daymark-window-care"] .upgrade[data-keyboard] *::before{transition:none!important}
@media(max-width:900px){[data-gp-theme="daymark-window-care"] .up-work{gap:24px}[data-gp-theme="daymark-window-care"] .up-heading{display:block}[data-gp-theme="daymark-window-care"] .up-heading>p{max-width:65ch;margin-top:16px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="daymark-window-care"] .up-work{gap:24px}[data-gp-theme="daymark-window-care"] .up-heading{display:block}[data-gp-theme="daymark-window-care"] .up-heading>p{max-width:65ch;margin-top:16px}}@media(max-width:650px){[data-gp-theme="daymark-window-care"] .upgrade{margin-block:35px;padding-block:28px}[data-gp-theme="daymark-window-care"] .up-work{grid-template-columns:minmax(0,1fr)}[data-gp-theme="daymark-window-care"] .up-panel{min-height:0}[data-gp-theme="daymark-window-care"] .up-footer{display:grid;gap:14px}[data-gp-theme="daymark-window-care"] .up-footer a{justify-self:start}[data-gp-theme="daymark-window-care"] .up-heading{margin-bottom:20px}[data-gp-theme="daymark-window-care"] .upgrade-summary{grid-template-columns:1fr}[data-gp-theme="daymark-window-care"] .upgrade-summary a{grid-column:1;grid-row:auto;justify-self:start}[data-gp-theme="daymark-window-care"] .upgrade :is(button,[role="button"]){padding-inline:12px;font-size:15px}[data-gp-theme="daymark-window-care"] .up-questions{font-size:16px}}@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="daymark-window-care"] .upgrade{margin-block:35px;padding-block:28px}[data-gp-theme="daymark-window-care"] .up-work{grid-template-columns:minmax(0,1fr)}[data-gp-theme="daymark-window-care"] .up-panel{min-height:0}[data-gp-theme="daymark-window-care"] .up-footer{display:grid;gap:14px}[data-gp-theme="daymark-window-care"] .up-footer a{justify-self:start}[data-gp-theme="daymark-window-care"] .up-heading{margin-bottom:20px}[data-gp-theme="daymark-window-care"] .upgrade-summary{grid-template-columns:1fr}[data-gp-theme="daymark-window-care"] .upgrade-summary a{grid-column:1;grid-row:auto;justify-self:start}[data-gp-theme="daymark-window-care"] .upgrade :is(button,[role="button"]){padding-inline:12px;font-size:15px}[data-gp-theme="daymark-window-care"] .up-questions{font-size:16px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="daymark-window-care"] .upgrade *, [data-gp-theme="daymark-window-care"] .upgrade *::before{transition:none!important;animation:none!important}}
[data-gp-theme="daymark-window-care"] .up-daymark{border-block:2px solid var(--ink)}[data-gp-theme="daymark-window-care"] .dm-study-toolbar{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;border-block:1px solid var(--line);margin-bottom:26px}[data-gp-theme="daymark-window-care"] .dm-study-toolbar .up-choice{margin:12px 0}[data-gp-theme="daymark-window-care"] .dm-property{border:1px solid var(--ink);padding:20px}[data-gp-theme="daymark-window-care"] .dm-sheet-head{display:flex;justify-content:space-between;gap:12px;font-size:13px}[data-gp-theme="daymark-window-care"] .dm-elevation{position:relative;margin-block:15px}[data-gp-theme="daymark-window-care"] .dm-elevation>svg{width:100%;height:auto}[data-gp-theme="daymark-window-care"] .dm-pane-grid{position:absolute;inset:34% 16% 20%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:1fr 1fr;gap:13% 10%}[data-gp-theme="daymark-window-care"] .upgrade .dm-pane-grid :is(button,[role="button"]){padding:0;min-height:44px;border:2px solid var(--ink);font-size:15px;background:var(--paper);position:relative;overflow:hidden;color:var(--ink)}[data-gp-theme="daymark-window-care"] .dm-pane-grid :is(button,[role="button"])::after{content:'';position:absolute;inset:8px;pointer-events:none;background:linear-gradient(130deg,transparent 35%,currentColor 36%,currentColor 37%,transparent 38%,transparent 55%,currentColor 56%,currentColor 57%,transparent 58%);opacity:.18}[data-gp-theme="daymark-window-care"] .upgrade .dm-pane-grid :is(button,[role="button"])[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}[data-gp-theme="daymark-window-care"] .dm-pane-grid :is(button,[role="button"]) span:not(.fs-richtext){position:relative;z-index:1;background:inherit;display:inline-block;padding:2px}[data-gp-theme="daymark-window-care"] .dm-property[data-property=frontage] .dm-pane-grid{inset:37% 16% 22%;grid-template-columns:repeat(3,minmax(0,1fr));gap:10%}[data-gp-theme="daymark-window-care"] .dm-property[data-property=frontage] .dm-house-roof,[data-gp-theme="daymark-window-care"] .dm-property[data-property=frontage] .dm-floor-line{visibility:hidden}[data-gp-theme="daymark-window-care"] .dm-total{border-block:1px solid var(--ink);display:grid;grid-template-columns:auto 1fr;gap:0 18px;align-items:center;padding:18px 0;margin-bottom:24px}[data-gp-theme="daymark-window-care"] .dm-total output{font-family:var(--display);font-size:84px;line-height:1;grid-row:1/3}[data-gp-theme="daymark-window-care"] .dm-total span:not(.fs-richtext){font-size:18px}[data-gp-theme="daymark-window-care"] .dm-total b{font-size:23px;font-weight:500}[data-gp-theme="daymark-window-care"] .dm-pane-list{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0}[data-gp-theme="daymark-window-care"] .dm-pane-list :is(button,[role="button"]){min-width:52px}[data-gp-theme="daymark-window-care"] .dm-open-title{font-size:24px!important;margin-bottom:12px!important}[data-gp-theme="daymark-window-care"] .up-daymark .up-panel{min-height:430px}[data-gp-theme="daymark-window-care"] .up-daymark .up-panel>a{font-size:16px;display:inline-block;margin-top:20px}[data-gp-theme="daymark-window-care"] .up-daymark .up-work{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr)}@media(max-width:750px){[data-gp-theme="daymark-window-care"] .up-daymark .up-work{grid-template-columns:1fr}[data-gp-theme="daymark-window-care"] .dm-property{padding:10px}[data-gp-theme="daymark-window-care"] .upgrade .dm-pane-grid :is(button,[role="button"]){font-size:13px}[data-gp-theme="daymark-window-care"] .dm-total output{font-size:66px}[data-gp-theme="daymark-window-care"] .up-daymark .up-panel{min-height:0}[data-gp-theme="daymark-window-care"] .dm-elevation{min-height:270px}[data-gp-theme="daymark-window-care"] .dm-elevation>svg{height:270px}[data-gp-theme="daymark-window-care"] .dm-pane-grid{inset:34% 16% 20%;gap:8%}[data-gp-theme="daymark-window-care"] .dm-property[data-property=frontage] .dm-pane-grid{inset:37% 16% 22%;gap:8%}}@containerfs-editor-canvas (max-width: 750px){[data-gp-theme="daymark-window-care"] .up-daymark .up-work{grid-template-columns:1fr}[data-gp-theme="daymark-window-care"] .dm-property{padding:10px}[data-gp-theme="daymark-window-care"] .upgrade .dm-pane-grid :is(button,[role="button"]){font-size:13px}[data-gp-theme="daymark-window-care"] .dm-total output{font-size:66px}[data-gp-theme="daymark-window-care"] .up-daymark .up-panel{min-height:0}[data-gp-theme="daymark-window-care"] .dm-elevation{min-height:270px}[data-gp-theme="daymark-window-care"] .dm-elevation>svg{height:270px}[data-gp-theme="daymark-window-care"] .dm-pane-grid{inset:34% 16% 20%;gap:8%}[data-gp-theme="daymark-window-care"] .dm-property[data-property=frontage] .dm-pane-grid{inset:37% 16% 22%;gap:8%}}

[data-gp-theme="daymark-window-care"] .upgrade-summary{width:min(1360px,calc(100% - 96px));margin-inline:auto}[data-gp-theme="daymark-window-care"] .inside-page .upgrade h3{max-width:none}[data-gp-theme="daymark-window-care"] .inside-page .upgrade .pr-paper{margin:0}[data-gp-theme="daymark-window-care"] .inside-page .upgrade .up-stage{margin:0}[data-gp-theme="daymark-window-care"] .inside-page .upgrade p.up-note{margin-top:18px}[data-gp-theme="daymark-window-care"][data-layout=full-width] .inside-page>.upgrade{width:100%;max-width:none;padding-inline:4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="daymark-window-care"][data-layout=full-width] .inside-page>.upgrade{padding-inline:4cqw}}[data-gp-theme="daymark-window-care"][data-layout=centered] .upgrade>.up-heading{text-align:center;display:block}[data-gp-theme="daymark-window-care"][data-layout=centered] .upgrade>.up-heading>p{margin-inline:auto}[data-gp-theme="daymark-window-care"][data-layout=minimalist] .upgrade{margin-block:30px;padding-block:30px}[data-gp-theme="daymark-window-care"][data-layout=edge-hero] .inside-page>.upgrade{width:100%;padding-inline:4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="daymark-window-care"][data-layout=edge-hero] .inside-page>.upgrade{padding-inline:4cqw}}@media(max-width:650px){[data-gp-theme="daymark-window-care"] .upgrade-summary{width:calc(100% - 36px)}[data-gp-theme="daymark-window-care"] .upgrade.wrap{width:calc(100% - 36px)}}@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="daymark-window-care"] .upgrade-summary{width:calc(100% - 36px)}[data-gp-theme="daymark-window-care"] .upgrade.wrap{width:calc(100% - 36px)}}
[data-gp-theme="daymark-window-care"] .upgrade{--display:"Archivo",sans-serif}

/* Approved readability refinements, 18 October 2026.
   Only meaningful helpers, local groups and selected reading paragraphs.
   Owner-selected type families, display sizes and frozen comparisons stay authoritative. */

/* Kiln House: the brief promise and sample guidance are part of the task. */
[data-gp-theme="daymark-window-care"][data-site="kiln-house"] :is(.field-note,.form-note,.pairing-hint,.material-note,.light-note,.letter-note,.combination-copy small,.material-row small){font-size:14px;line-height:1.5}
[data-gp-theme="daymark-window-care"][data-site="kiln-house"] .form-note{margin-top:16px}
[data-gp-theme="daymark-window-care"][data-site="kiln-house"] :is(.quiet-button,.combination-action){font-size:15px;line-height:1.5}
[data-gp-theme="daymark-window-care"][data-site="kiln-house"] .quiet-button{min-height:44px}
[data-gp-theme="daymark-window-care"][data-site="kiln-house"] .directory-links a small{font-size:14px;line-height:1.5}

/* Small study labels explain a choice, rather than acting as an imprint. */
[data-gp-theme="daymark-window-care"][data-site="true-joint"] .ux-stage-bar :is(button,[role="button"]) small{font-size:14px;line-height:1.5}
[data-gp-theme="daymark-window-care"][data-site="neighbourhood-edit"] .ux-plan-header{font-size:14px;line-height:1.5;gap:12px;flex-wrap:wrap}
[data-gp-theme="daymark-window-care"][data-site="neighbourhood-edit"] .ux-room-title{margin-bottom:16px}
[data-gp-theme="daymark-window-care"][data-site="neighbourhood-edit"] .ux-room-title h3{margin-bottom:0}
[data-gp-theme="daymark-window-care"][data-site="neighbourhood-edit"] :is(.home-finder label,.home-finder output,.area-index small){font-size:14px;line-height:1.5}
[data-gp-theme="daymark-window-care"][data-site="neighbourhood-edit"] .home-finder select{font-size:16px;min-height:44px}
[data-gp-theme="daymark-window-care"][data-site="harbour"] .ux-folio .ux-document-row label{font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="daymark-window-care"][data-site="daymark-window-care"] .dm-sheet-head{font-size:14px;line-height:1.5;flex-wrap:wrap}
[data-gp-theme="daymark-window-care"][data-site="velum-window-care"] .ux-v-nav :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}

/* Existing small controls retain or gain the comfortable target height. */
[data-gp-theme="daymark-window-care"][data-site="stem-and-still"] .stem-slip :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:48px;gap:8px}
[data-gp-theme="daymark-window-care"][data-site="cake-box"] .flavour-pick :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="daymark-window-care"][data-site="cake-box"] .message-label small{font-size:14px;line-height:1.5}
[data-gp-theme="daymark-window-care"][data-site="crm-recruitment-people"] .question-buttons{gap:10px}
[data-gp-theme="daymark-window-care"][data-site="crm-recruitment-people"] .question-buttons :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:10px 12px}
[data-gp-theme="daymark-window-care"][data-site="the-second-set-programme"] .pr-order-actions :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:8px 10px}

/* The format facts belong with the large ensemble names. */
[data-gp-theme="daymark-window-care"][data-site="the-second-set-afterglow"] .ag-format-ribbon span:not(.fs-richtext){font-size:14px;line-height:1.5;margin-top:8px}
[data-gp-theme="daymark-window-care"][data-site="the-second-set-programme"] .opening-note{font-size:14px;line-height:1.5}
[data-gp-theme="daymark-window-care"][data-site="the-second-set-signal"] .form-note{font-size:14px;line-height:1.5}

/* Slipstream: useful record, filter and brief text; preserve the scrollable comparison. */
[data-gp-theme="daymark-window-care"][data-site="slipstream"] :is(.featured-price small,.rail-note,.stock-finder label,.stock-caption,.inspection-note,.inspection-instruction,.form-note,[data-gp-id="stock-count"],[data-gp-id="form-question-count"]){font-size:14px;line-height:1.5}
[data-gp-theme="daymark-window-care"][data-site="slipstream"] :is(.visit-form label,.form-pair label){font-size:15px;line-height:1.5}
[data-gp-theme="daymark-window-care"][data-site="slipstream"] :is(.car-record summary,[data-gp-id="reset-stock"],[data-gp-id="clear-compare"],.quick-compare button){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="daymark-window-care"][data-site="slipstream"] .stock-finder select{min-height:44px}

/* Narrow only sustained paragraphs, preserving plans, records, lists and tables. */
[data-gp-theme="daymark-window-care"]:is([data-site="stem-and-still"],[data-site="kiln-house"],[data-site="true-joint"])[data-inside] .ip-reading>p{max-width:64ch}

@media(max-width:700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="daymark-window-care"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="daymark-window-care"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="daymark-window-care"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="daymark-window-care"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="daymark-window-care"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="daymark-window-care"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="daymark-window-care"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="daymark-window-care"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="daymark-window-care"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

@containerfs-editor-canvas (max-width: 700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="daymark-window-care"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="daymark-window-care"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="daymark-window-care"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="daymark-window-care"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="daymark-window-care"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="daymark-window-care"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="daymark-window-care"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="daymark-window-care"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="daymark-window-care"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

/* No generic heading, body, section-spacing or panel-height reset.
   Goodpane's unused calendar CSS, Expedition's real stage envelope,
   Starlight's passage leading and Velum's display introduction need no blanket fix. */

/* Approved authored chrome. Palette and type tokens belong to this theme. */
[data-gp-theme="daymark-window-care"] .chrome-header>*{min-width:0}[data-gp-theme="daymark-window-care"] .chrome-header nav{min-width:0}[data-gp-theme="daymark-window-care"] .chrome-header a,[data-gp-theme="daymark-window-care"] .chrome-header :is(button,[role="button"]){min-height:44px}[data-gp-theme="daymark-window-care"] .chrome-header .menu-trigger{white-space:nowrap;font-size:15px}[data-gp-theme="daymark-window-care"] .chrome-header .menu-trigger svg{flex:none}
[data-gp-theme="daymark-window-care"] .chrome-menu{color:var(--ink);padding:0;max-height:calc(100dvh - 64px);margin-top:32px;overflow:auto}[data-gp-theme="daymark-window-care"] .chrome-menu>*{min-width:0}[data-gp-theme="daymark-window-care"] .chrome-menu h2{max-width:24ch}[data-gp-theme="daymark-window-care"] .chrome-menu-heading{padding:24px 32px;align-items:center}[data-gp-theme="daymark-window-care"] .chrome-menu-heading h2{font-size:clamp(28px,3vw,42px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="daymark-window-care"] .chrome-menu-heading h2{font-size:clamp(28px,3cqw,42px)}}[data-gp-theme="daymark-window-care"] .chrome-menu-heading :is(button,[role="button"]){flex:none}[data-gp-theme="daymark-window-care"] .chrome-menu h3{font-size:23px;line-height:1.2;margin-bottom:16px}[data-gp-theme="daymark-window-care"] .chrome-menu a{min-height:44px;display:flex;align-items:center;text-decoration:none;line-height:1.35}[data-gp-theme="daymark-window-care"] .chrome-menu a:hover{text-decoration:underline;text-underline-offset:5px}[data-gp-theme="daymark-window-care"] .chrome-menu p{font-size:15px;line-height:1.55}[data-gp-theme="daymark-window-care"] .chrome-menu small,[data-gp-theme="daymark-window-care"] .chrome-caption{font-size:14px;line-height:1.5}[data-gp-theme="daymark-window-care"] .chrome-menu nav{min-width:0}[data-gp-theme="daymark-window-care"] .chrome-menu a,[data-gp-theme="daymark-window-care"] .chrome-footer a{overflow-wrap:anywhere}[data-gp-theme="daymark-window-care"] .chrome-footer a{min-height:44px;display:inline-flex;align-items:center;text-underline-offset:5px}[data-gp-theme="daymark-window-care"] .chrome-footer p{font-size:16px;line-height:1.55}[data-gp-theme="daymark-window-care"] .chrome-imprint{border-top:1px solid var(--line);margin-top:34px;padding-top:18px;display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between;font-size:14px;line-height:1.5}[data-gp-theme="daymark-window-care"] .chrome-imprint>span:not(.fs-richtext){max-width:48ch}[data-gp-theme="daymark-window-care"] .chrome-inline-links{display:flex;flex-wrap:wrap;gap:8px 28px}[data-gp-theme="daymark-window-care"] .chrome-footer .chrome-details{font-size:14px;line-height:1.5;max-width:65ch}[data-gp-theme="daymark-window-care"] .chrome-footer .chrome-close-link{min-height:52px}[data-gp-theme="daymark-window-care"] .chrome-menu :is(a,button):focus-visible,[data-gp-theme="daymark-window-care"] .chrome-header :is(a,button):focus-visible,[data-gp-theme="daymark-window-care"] .chrome-footer a:focus-visible{outline:3px solid currentColor;outline-offset:4px}
@media(max-width:900px){[data-gp-theme="daymark-window-care"] .chrome-header{gap:16px}[data-gp-theme="daymark-window-care"] .chrome-menu .chrome-menu-heading h2{font-size:27px;line-height:1.12}[data-gp-theme="daymark-window-care"] .chrome-menu .chrome-menu-heading{gap:12px}[data-gp-theme="daymark-window-care"] .chrome-menu [data-menu-close]{padding:10px 14px}[data-gp-theme="daymark-window-care"] .chrome-menu a{min-height:48px}[data-gp-theme="daymark-window-care"] .chrome-imprint{display:grid;gap:10px}[data-gp-theme="daymark-window-care"] .chrome-footer{padding-block:42px 24px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="daymark-window-care"] .chrome-header{gap:16px}[data-gp-theme="daymark-window-care"] .chrome-menu .chrome-menu-heading h2{font-size:27px;line-height:1.12}[data-gp-theme="daymark-window-care"] .chrome-menu .chrome-menu-heading{gap:12px}[data-gp-theme="daymark-window-care"] .chrome-menu [data-menu-close]{padding:10px 14px}[data-gp-theme="daymark-window-care"] .chrome-menu a{min-height:48px}[data-gp-theme="daymark-window-care"] .chrome-imprint{display:grid;gap:10px}[data-gp-theme="daymark-window-care"] .chrome-footer{padding-block:42px 24px}}
@media(max-width:450px){[data-gp-theme="daymark-window-care"] .chrome-menu .chrome-menu-heading h2{font-size:23px}[data-gp-theme="daymark-window-care"] .chrome-header .menu-trigger{font-size:14px;gap:8px;padding-inline:12px;width:auto}[data-gp-theme="daymark-window-care"] .chrome-header .menu-trigger svg{width:18px;height:18px}}
@containerfs-editor-canvas (max-width: 450px){[data-gp-theme="daymark-window-care"] .chrome-menu .chrome-menu-heading h2{font-size:23px}[data-gp-theme="daymark-window-care"] .chrome-header .menu-trigger{font-size:14px;gap:8px;padding-inline:12px;width:auto}[data-gp-theme="daymark-window-care"] .chrome-header .menu-trigger svg{width:18px;height:18px}}
[data-gp-theme="daymark-window-care"] .dm-toolbar{display:grid;grid-template-columns:auto 1fr auto;gap:24px;padding-block:18px;border-bottom:3px solid var(--ink)}[data-gp-theme="daymark-window-care"] .dm-toolbar nav{justify-content:end;gap:0}[data-gp-theme="daymark-window-care"] .dm-toolbar nav>a{padding:10px 18px;border-left:1px solid var(--line)}[data-gp-theme="daymark-window-care"] .dm-toolbar .menu-trigger{border:1px solid var(--ink);border-radius:0;margin-left:12px}[data-gp-theme="daymark-window-care"] .dm-toolbar>.header-action{border:0;background:var(--ink);color:var(--paper);padding:12px 20px;font-weight:600}[data-gp-theme="daymark-window-care"] .dm-sheet-menu{padding:0 32px 24px}[data-gp-theme="daymark-window-care"] .dm-sheet-intro{padding:20px 0}[data-gp-theme="daymark-window-care"] .dm-checklist-menu{list-style:none;margin:0;padding:0;border-top:3px solid var(--ink)}[data-gp-theme="daymark-window-care"] .dm-checklist-menu li{display:grid;grid-template-columns:64px 230px 1fr;border-bottom:1px solid var(--ink)}[data-gp-theme="daymark-window-care"] .dm-row-number{font:600 40px/1 var(--display);padding:24px 12px 24px 0}[data-gp-theme="daymark-window-care"] .dm-checklist-menu h3{font:600 22px/1.25 var(--display);padding:26px 24px 26px 0;margin:0}[data-gp-theme="daymark-window-care"] .dm-checklist-menu nav{border-left:1px solid var(--line);padding:16px 0 16px 28px;display:grid;grid-template-columns:1fr 1fr;column-gap:25px}[data-gp-theme="daymark-window-care"] .dm-checklist-menu a{font-size:17px;padding:10px 0}[data-gp-theme="daymark-window-care"] .dm-sheet-action{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:28px 0;align-items:center}[data-gp-theme="daymark-window-care"] .dm-sheet-action>a{background:var(--ink);color:var(--paper);padding:20px 24px;font-size:23px;font-weight:600}[data-gp-theme="daymark-window-care"] .dm-sheet-refs{display:flex;gap:28px;border-top:1px solid var(--line);padding-top:10px;font-size:15px}[data-gp-theme="daymark-window-care"] .dm-close-heading{display:flex;align-items:end;gap:40px;justify-content:space-between;padding-bottom:30px;border-bottom:3px solid var(--ink)}[data-gp-theme="daymark-window-care"] .dm-close-heading h2{font-size:60px;font-weight:800}[data-gp-theme="daymark-window-care"] .dm-close-heading p{font-size:22px;max-width:24ch}[data-gp-theme="daymark-window-care"] .dm-close-summary>section{display:grid;grid-template-columns:220px 1fr;border-bottom:1px solid var(--line);padding:20px 0;gap:24px}[data-gp-theme="daymark-window-care"] .dm-close-summary h3{font:600 19px/1.3 var(--body);padding-top:10px}[data-gp-theme="daymark-window-care"] .dm-close-summary a{font-size:16px}[data-gp-theme="daymark-window-care"] .dm-close-action{display:flex;gap:30px;justify-content:space-between;align-items:center;background:var(--wash);padding:22px 24px;margin-top:24px}[data-gp-theme="daymark-window-care"] .dm-close-action>a{font-size:21px;font-weight:600}[data-gp-theme="daymark-window-care"] .dm-close-action p{max-width:48ch}
@media(max-width:1100px){[data-gp-theme="daymark-window-care"] .dm-toolbar{grid-template-columns:auto 1fr}[data-gp-theme="daymark-window-care"] .dm-toolbar>.header-action{display:none}[data-gp-theme="daymark-window-care"] .dm-toolbar nav>a{padding-inline:12px}[data-gp-theme="daymark-window-care"] .dm-checklist-menu li{grid-template-columns:50px 190px 1fr}}
@containerfs-editor-canvas (max-width: 1100px){[data-gp-theme="daymark-window-care"] .dm-toolbar{grid-template-columns:auto 1fr}[data-gp-theme="daymark-window-care"] .dm-toolbar>.header-action{display:none}[data-gp-theme="daymark-window-care"] .dm-toolbar nav>a{padding-inline:12px}[data-gp-theme="daymark-window-care"] .dm-checklist-menu li{grid-template-columns:50px 190px 1fr}}
@media(max-width:900px){[data-gp-theme="daymark-window-care"] .dm-toolbar{gap:16px;padding-block:20px}[data-gp-theme="daymark-window-care"] .dm-toolbar nav>a{display:none}[data-gp-theme="daymark-window-care"] .dm-toolbar .menu-trigger{margin:0}[data-gp-theme="daymark-window-care"] .dm-toolbar .wordmark{font-size:25px}[data-gp-theme="daymark-window-care"] .dm-toolbar .dm-mark{width:24px;height:24px}[data-gp-theme="daymark-window-care"] .dm-sheet-menu{padding:0 24px 24px}[data-gp-theme="daymark-window-care"] .dm-checklist-menu li{grid-template-columns:42px 1fr;padding-bottom:15px}[data-gp-theme="daymark-window-care"] .dm-row-number{font-size:30px;padding-block:22px}[data-gp-theme="daymark-window-care"] .dm-checklist-menu h3{font-size:23px;padding:23px 0 10px}[data-gp-theme="daymark-window-care"] .dm-checklist-menu nav{grid-column:2;grid-template-columns:1fr;border:0;padding:0}[data-gp-theme="daymark-window-care"] .dm-sheet-action{display:block;padding:24px 0}[data-gp-theme="daymark-window-care"] .dm-sheet-action>a{font-size:22px;margin-top:20px;padding:18px}[data-gp-theme="daymark-window-care"] .dm-close-heading{display:block}[data-gp-theme="daymark-window-care"] .dm-close-heading h2{font-size:42px;margin-bottom:18px}[data-gp-theme="daymark-window-care"] .dm-close-heading p{font-size:21px}[data-gp-theme="daymark-window-care"] .dm-close-summary>section{display:block;padding:22px 0}[data-gp-theme="daymark-window-care"] .dm-close-summary h3{padding:0;margin-bottom:12px}[data-gp-theme="daymark-window-care"] .dm-close-summary nav{gap:0 18px}[data-gp-theme="daymark-window-care"] .dm-close-action{display:block;padding:22px}[data-gp-theme="daymark-window-care"] .dm-close-action>a{margin-top:18px;font-size:21px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="daymark-window-care"] .dm-toolbar{gap:16px;padding-block:20px}[data-gp-theme="daymark-window-care"] .dm-toolbar nav>a{display:none}[data-gp-theme="daymark-window-care"] .dm-toolbar .menu-trigger{margin:0}[data-gp-theme="daymark-window-care"] .dm-toolbar .wordmark{font-size:25px}[data-gp-theme="daymark-window-care"] .dm-toolbar .dm-mark{width:24px;height:24px}[data-gp-theme="daymark-window-care"] .dm-sheet-menu{padding:0 24px 24px}[data-gp-theme="daymark-window-care"] .dm-checklist-menu li{grid-template-columns:42px 1fr;padding-bottom:15px}[data-gp-theme="daymark-window-care"] .dm-row-number{font-size:30px;padding-block:22px}[data-gp-theme="daymark-window-care"] .dm-checklist-menu h3{font-size:23px;padding:23px 0 10px}[data-gp-theme="daymark-window-care"] .dm-checklist-menu nav{grid-column:2;grid-template-columns:1fr;border:0;padding:0}[data-gp-theme="daymark-window-care"] .dm-sheet-action{display:block;padding:24px 0}[data-gp-theme="daymark-window-care"] .dm-sheet-action>a{font-size:22px;margin-top:20px;padding:18px}[data-gp-theme="daymark-window-care"] .dm-close-heading{display:block}[data-gp-theme="daymark-window-care"] .dm-close-heading h2{font-size:42px;margin-bottom:18px}[data-gp-theme="daymark-window-care"] .dm-close-heading p{font-size:21px}[data-gp-theme="daymark-window-care"] .dm-close-summary>section{display:block;padding:22px 0}[data-gp-theme="daymark-window-care"] .dm-close-summary h3{padding:0;margin-bottom:12px}[data-gp-theme="daymark-window-care"] .dm-close-summary nav{gap:0 18px}[data-gp-theme="daymark-window-care"] .dm-close-action{display:block;padding:22px}[data-gp-theme="daymark-window-care"] .dm-close-action>a{margin-top:18px;font-size:21px}}

/* Menu only: approved fonts, colour tokens and all non-menu markup are preserved. */
[data-gp-theme="daymark-window-care"] dialog[data-gp-id="mega-menu"].mega-menu{box-sizing:border-box;position:fixed;inset:0;min-width:0;min-height:0;height:fit-content;max-height:calc(100dvh - 48px);margin:auto;padding:0!important;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:var(--mi-paper,var(--paper));color:var(--mi-ink,var(--ink));border:0!important;border-radius:0;box-shadow:0 30px 100px #0005;--mi-paper:var(--paper);--mi-ink:var(--ink);--mi-wash:var(--wash);--mi-line:var(--line);--mi-accent:var(--accent);--mi-on:var(--on-accent)}
[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] *,[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] *:before,[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] *:after{box-sizing:border-box;min-width:0}
[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] .menu-top{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0;padding:20px 28px;border:0;background:transparent;color:inherit}
[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] .menu-top h2,[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] .menu-top p{margin:0;font:500 18px/1.35 var(--body);letter-spacing:0;max-width:none}
[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] [data-menu-close]{display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:none;min-height:44px;min-width:70px;padding:9px 14px;border:1px solid currentColor;border-radius:0;background:transparent;color:inherit;font:500 14px/1.3 var(--body);cursor:pointer}
[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] a{color:inherit;text-decoration:none;line-height:1.35;min-height:44px;overflow-wrap:anywhere}
[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] nav a:before{content:none}
[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] a:focus-visible,[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] :is(button,[role="button"]):focus-visible{outline:3px solid currentColor;outline-offset:4px}
[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] h3{font-family:var(--display);font-weight:500;line-height:1.15;letter-spacing:-.025em;margin:0}
[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] p{max-width:60ch;margin:0;font:400 15px/1.5 var(--body)}
[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] nav{min-width:0}
[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] .mi-small{font:400 13px/1.5 var(--body)}
[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] a{transition:background-color 150ms ease,color 150ms ease,text-decoration-color 150ms ease}
/* Reveal every authored surface on the first frame. Only text fades; never a
   pane, note, speech ribbon, worksheet or record sleeve. Also covers Signal,
   which does not load premium.css and otherwise inherits menu-arrive. */
[data-gp-theme="daymark-window-care"] dialog[data-gp-id="mega-menu"].mega-menu[open]:not([data-closing]){animation:none!important;opacity:1;transform:none}
[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"][open]:not([data-closing])>*{animation:none!important}
[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"][open]:not([data-closing]):not([data-keyboard]) :is(h3,p,figcaption,.command-task>span:not(.fs-richtext),.command-task>small,.crate-sleeve>strong,.crate-sleeve>small),[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"][open]:not([data-closing]):not([data-keyboard]) a:not(.crate-sleeve):not(.command-task):not(.route-brief):not(.worksheet-action){animation:gp-daymark-mi-menu-text 160ms ease-out both}
@keyframes gp-daymark-mi-menu-text{from{opacity:.25}to{opacity:1}}
@media(hover:hover){[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] a:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}}
@media(max-width:900px){[data-gp-theme="daymark-window-care"] dialog[data-gp-id="mega-menu"].mega-menu{width:100%;height:100dvh;max-height:none;margin:0;inset:0;border-radius:0;transform:none}[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] .menu-top{padding:16px 20px}[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] .menu-top h2{font-size:16px}[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] a{min-height:48px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="daymark-window-care"] dialog[data-gp-id="mega-menu"].mega-menu{width:100%;height:100dvh;max-height:none;margin:0;inset:0;border-radius:0;transform:none}[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] .menu-top{padding:16px 20px}[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] .menu-top h2{font-size:16px}[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] a{min-height:48px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] *,[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] *:before,[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] *:after{animation:none!important;transition:none!important}}

[data-gp-theme="daymark-window-care"] dialog[data-gp-id="mega-menu"].mega-menu{width:100%;max-width:none;inset:auto 0 0;margin:0;max-height:90dvh;border-top:8px solid var(--accent)!important;box-shadow:0 -25px 80px #0004}
[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] .menu-top{padding:16px clamp(24px,4vw,64px);border-bottom:1px solid var(--line)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] .menu-top{padding:16px clamp(24px,4cqw,64px)}}[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] .menu-top h2{font-weight:600}
[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] .worksheet-menu{display:grid;grid-template-columns:110px 1.15fr 1.15fr 1fr;max-width:1450px;margin:auto;padding:30px clamp(24px,4vw,64px) 38px;gap:32px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] .worksheet-menu{padding:30px clamp(24px,4cqw,64px) 38px}}
[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] .worksheet-spine{font:600 27px/1.05 var(--display);writing-mode:vertical-rl;transform:rotate(180deg);border-left:2px solid var(--ink);padding-left:25px;letter-spacing:-.04em}
[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] .worksheet-column h3{font-size:25px;padding-bottom:15px;border-bottom:2px solid var(--ink);margin-bottom:8px}[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] .worksheet-column nav{display:grid}[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] .worksheet-column a{display:flex;align-items:center;gap:12px;padding:9px 0;font-size:16px;border-bottom:1px solid var(--line)}[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] .worksheet-column a:before{content:"";height:11px;width:11px;border:1px solid currentColor;flex:none}
[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] .worksheet-signoff{background:var(--wash);padding:22px}[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] .worksheet-signoff h3{font-size:30px;margin-bottom:20px}[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] .worksheet-action{display:flex;align-items:center;min-height:54px;padding:12px 16px;background:var(--accent);color:var(--on-accent);font-weight:600}[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] .worksheet-signoff nav{display:grid;margin-top:14px}[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] .worksheet-signoff nav a{display:flex;align-items:center;font-size:14px}
@media(max-width:900px){[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] .worksheet-menu{grid-template-columns:1fr;padding:20px;gap:26px}[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] .worksheet-spine{writing-mode:initial;transform:none;border:0;border-bottom:3px solid var(--ink);padding:0 0 14px;font-size:28px}[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] .worksheet-spine br{display:none}[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] .worksheet-spine br:after{content:" "}[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] .worksheet-column h3{font-size:26px}[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] .worksheet-signoff{padding:22px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] .worksheet-menu{grid-template-columns:1fr;padding:20px;gap:26px}[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] .worksheet-spine{writing-mode:initial;transform:none;border:0;border-bottom:3px solid var(--ink);padding:0 0 14px;font-size:28px}[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] .worksheet-spine br{display:none}[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] .worksheet-spine br:after{content:" "}[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] .worksheet-column h3{font-size:26px}[data-gp-theme="daymark-window-care"] [data-gp-id="mega-menu"] .worksheet-signoff{padding:22px}}

[data-gp-theme="daymark-window-care"]{--paper:rgb(var(--c-paper));--ink:rgb(var(--c-ink-950));--accent:rgb(var(--c-brand-600));--wash:rgb(var(--c-paper-soft));--line:rgb(var(--c-line));--muted:rgb(var(--c-ink-400));--on-accent:var(--fs-on-brand);--focus:rgb(var(--c-accent));--work:var(--fs-surface-inverted,var(--wash));--work-ink:var(--fs-on-surface-inverted,var(--paper));--body:var(--font-sans);}
[data-gp-theme="velum-window-care"]{--ease-out:cubic-bezier(.23,1,.32,1);--ease-drawer:cubic-bezier(.32,.72,0,1)}
[data-gp-theme="velum-window-care"] *{box-sizing:border-box}[data-gp-theme="velum-window-care"]{scroll-behavior:smooth;scroll-padding-top:100px}[data-gp-theme="velum-window-care"]{margin:0}[data-gp-theme="velum-window-care"] img{max-width:100%;display:block}[data-gp-theme="velum-window-care"] :is(button,[role="button"]),[data-gp-theme="velum-window-care"] input,[data-gp-theme="velum-window-care"] select,[data-gp-theme="velum-window-care"] textarea{font:inherit}[data-gp-theme="velum-window-care"] :is(button,[role="button"]),[data-gp-theme="velum-window-care"] a,[data-gp-theme="velum-window-care"] input,[data-gp-theme="velum-window-care"] select,[data-gp-theme="velum-window-care"] textarea{touch-action:manipulation}[data-gp-theme="velum-window-care"] :is(button,[role="button"]),[data-gp-theme="velum-window-care"] a{ -webkit-tap-highlight-color:transparent}[data-gp-theme="velum-window-care"] :is(button,[role="button"]){cursor:pointer}[data-gp-theme="velum-window-care"] :is(button,[role="button"]):active{transform:translateY(1px)}[data-gp-theme="velum-window-care"] a{color:inherit;text-underline-offset:.22em}[data-gp-theme="velum-window-care"] :is(button,[role="button"]):focus-visible,[data-gp-theme="velum-window-care"] a:focus-visible,[data-gp-theme="velum-window-care"] summary:focus-visible,[data-gp-theme="velum-window-care"] input:focus-visible,[data-gp-theme="velum-window-care"] select:focus-visible,[data-gp-theme="velum-window-care"] textarea:focus-visible{outline:3px solid var(--focus,#346ddb);outline-offset:5px}[data-gp-theme="velum-window-care"] textarea{resize:vertical}[data-gp-theme="velum-window-care"] input,[data-gp-theme="velum-window-care"] textarea{caret-color:var(--focus,currentColor)}[data-gp-theme="velum-window-care"] :is(button,[role="button"]),[data-gp-theme="velum-window-care"] select,[data-gp-theme="velum-window-care"] input{min-height:44px}[data-gp-theme="velum-window-care"] summary{cursor:pointer}[data-gp-theme="velum-window-care"] section[id],[data-gp-theme="velum-window-care"] footer[id]{scroll-margin-top:110px}[data-gp-theme="velum-window-care"] [hidden]{display:none!important}[data-gp-theme="velum-window-care"] .skip-link{position:fixed;z-index:200;top:8px;left:8px;background:#fff;color:#111;padding:12px 18px;transform:translateY(-150%)}[data-gp-theme="velum-window-care"] .skip-link:focus{transform:none}
[data-gp-theme="velum-window-care"] .preview-bar{min-height:42px;background:#f6f6f2;color:#252a2a;border-bottom:1px solid #d5d8d4;font:13px/1.3 "Figtree",sans-serif;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 3vw;position:relative;z-index:30}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="velum-window-care"] .preview-bar{padding:5px 3cqw}}[data-gp-theme="velum-window-care"] .preview-bar a{white-space:nowrap}[data-gp-theme="velum-window-care"] .preview-bar [role=group]{display:flex;gap:2px;align-items:center}[data-gp-theme="velum-window-care"] .preview-bar :is(button,[role="button"]){min-height:32px;background:transparent;color:inherit;border:0;padding:6px 10px;border-radius:3px;font-size:13px;transition:background-color 150ms var(--ease-out)}[data-gp-theme="velum-window-care"] .preview-bar [aria-pressed=true]{background:#252a2a;color:#fff}[data-gp-theme="velum-window-care"] .preview-bar :is(button,[role="button"])[data-replay-intro]{border:1px solid #b6beb8}[data-gp-theme="velum-window-care"] .preview-label{color:#515953}[data-gp-theme="velum-window-care"] .preview-bar::selection{background:#252a2a;color:#fff}
[data-gp-theme="velum-window-care"] dialog.mega-menu{max-width:none;max-height:calc(100dvh - 32px);overflow:auto;border:0;padding:0;color:inherit;overscroll-behavior:contain}[data-gp-theme="velum-window-care"] dialog.mega-menu::backdrop{background:rgb(8 16 18 / .52)}[data-gp-theme="velum-window-care"] .mega-menu[open]{animation:gp-velum-menu-arrive 220ms var(--ease-drawer)}[data-gp-theme="velum-window-care"] .mega-menu[data-closing]{animation:gp-velum-menu-leave 160ms var(--ease-out) forwards}[data-gp-theme="velum-window-care"] .mega-menu[data-keyboard]{animation:none}[data-gp-theme="velum-window-care"] .menu-lock{overflow:hidden}@keyframes gp-velum-menu-arrive{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}@keyframes gp-velum-menu-leave{to{opacity:0;transform:translateY(-10px)}}
[data-gp-theme="velum-window-care"] .preloader{display:none;position:fixed;inset:0;z-index:190;place-content:center;pointer-events:none;text-align:center}[data-gp-theme="velum-window-care"] .preloader.is-active{display:grid;animation:gp-velum-intro-failsafe 1.3s step-end forwards}[data-gp-theme="velum-window-care"] .preloader.is-leaving{opacity:0;transition:opacity 180ms var(--ease-out)}@keyframes gp-velum-intro-failsafe{0%,99%{visibility:visible}100%{visibility:hidden}}
@media(max-width:650px){[data-gp-theme="velum-window-care"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="velum-window-care"] .preview-bar .preview-label{display:none}[data-gp-theme="velum-window-care"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="velum-window-care"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="velum-window-care"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="velum-window-care"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="velum-window-care"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="velum-window-care"] .preview-bar .preview-label{display:none}[data-gp-theme="velum-window-care"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="velum-window-care"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="velum-window-care"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="velum-window-care"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="velum-window-care"]{scroll-behavior:auto}[data-gp-theme="velum-window-care"] *,[data-gp-theme="velum-window-care"] *::before,[data-gp-theme="velum-window-care"] *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-gp-theme="velum-window-care"] .preloader.is-active{display:none!important}}
@media(max-width:650px){[data-gp-theme="velum-window-care"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="velum-window-care"] .preview-bar a{font-size:12px}[data-gp-theme="velum-window-care"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="velum-window-care"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="velum-window-care"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="velum-window-care"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="velum-window-care"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="velum-window-care"] .preview-bar a{font-size:12px}[data-gp-theme="velum-window-care"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="velum-window-care"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="velum-window-care"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="velum-window-care"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}


[data-gp-theme="velum-window-care"]{margin:0;background:var(--paper);color:var(--ink);font:18px/1.55 var(--body);text-rendering:optimizeLegibility}[data-gp-theme="velum-window-care"] h1,[data-gp-theme="velum-window-care"] h2,[data-gp-theme="velum-window-care"] h3,[data-gp-theme="velum-window-care"] p,[data-gp-theme="velum-window-care"] figure{margin:0}[data-gp-theme="velum-window-care"] h1,[data-gp-theme="velum-window-care"] h2,[data-gp-theme="velum-window-care"] h3{font-family:var(--display);font-weight:500;line-height:1.07;text-wrap:balance}[data-gp-theme="velum-window-care"] h1{font-size:clamp(48px,6vw,90px);letter-spacing:-.055em}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="velum-window-care"] h1{font-size:clamp(48px,6cqw,90px)}}[data-gp-theme="velum-window-care"] h2{font-size:clamp(35px,4vw,60px);letter-spacing:-.04em}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="velum-window-care"] h2{font-size:clamp(35px,4cqw,60px)}}[data-gp-theme="velum-window-care"] h3{font-size:27px;letter-spacing:-.025em}[data-gp-theme="velum-window-care"] p{max-width:65ch;text-wrap:pretty}[data-gp-theme="velum-window-care"] a{color:inherit}[data-gp-theme="velum-window-care"] img{width:100%;height:100%;object-fit:cover}[data-gp-theme="velum-window-care"] :is(button,[role="button"]){color:inherit}[data-gp-theme="velum-window-care"] :is(button,[role="button"]),[data-gp-theme="velum-window-care"] .action{border:1px solid var(--line);background:transparent;padding:11px 19px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:46px;transition:background-color 150ms var(--ease-out),color 150ms var(--ease-out),transform 150ms var(--ease-out)}[data-gp-theme="velum-window-care"] .action.primary,[data-gp-theme="velum-window-care"] :is(button,[role="button"])[aria-pressed=true]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}[data-gp-theme="velum-window-care"] .wrap{width:min(1360px,calc(100% - 96px));margin-inline:auto}[data-gp-theme="velum-window-care"] .section{padding-block:100px}[data-gp-theme="velum-window-care"] .stack>*+*{margin-top:24px}[data-gp-theme="velum-window-care"] .meta,[data-gp-theme="velum-window-care"] figcaption{font-size:14px;line-height:1.5;color:var(--muted)}[data-gp-theme="velum-window-care"] .label{font-size:15px;font-weight:600}[data-gp-theme="velum-window-care"] .section-head{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:40px}[data-gp-theme="velum-window-care"] .section-head p{max-width:400px}[data-gp-theme="velum-window-care"] .split{display:grid;grid-template-columns:1fr 1fr;gap:70px}[data-gp-theme="velum-window-care"] .split>*{min-width:0}[data-gp-theme="velum-window-care"] .choices{display:flex;gap:9px;flex-wrap:wrap}[data-gp-theme="velum-window-care"] .choices :is(button,[role="button"]){font-size:16px}[data-gp-theme="velum-window-care"] .masthead{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-block:27px;border-bottom:1px solid var(--line)}[data-gp-theme="velum-window-care"] .wordmark{text-decoration:none;font:600 30px/1 var(--display);display:flex;align-items:center;gap:12px}[data-gp-theme="velum-window-care"] .wordmark small{display:block;font:14px/1.4 var(--body);margin-top:8px}[data-gp-theme="velum-window-care"] .masthead nav{display:flex;gap:28px;align-items:center;font-size:16px}[data-gp-theme="velum-window-care"] .masthead nav a{min-height:44px;display:inline-flex;align-items:center;text-decoration:none}[data-gp-theme="velum-window-care"] .menu-trigger svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5}[data-gp-theme="velum-window-care"] .masthead .header-action{border-bottom:1px solid currentColor;text-decoration:none;padding-block:10px;font-size:16px}[data-gp-theme="velum-window-care"] .mega-menu{background:var(--paper);width:min(1300px,calc(100% - 48px));margin:80px auto auto;box-shadow:0 25px 80px #0004}[data-gp-theme="velum-window-care"] .menu-top{display:flex;align-items:start;justify-content:space-between;gap:30px;padding:36px;border-bottom:1px solid var(--line)}[data-gp-theme="velum-window-care"] .menu-top h2{font-size:44px}[data-gp-theme="velum-window-care"] .menu-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:45px;padding:40px}[data-gp-theme="velum-window-care"] .menu-grid h3{font-size:22px;margin-bottom:18px}[data-gp-theme="velum-window-care"] .menu-grid a{display:block;padding:10px 0;min-height:44px}[data-gp-theme="velum-window-care"] .menu-grid p{font-size:16px}[data-gp-theme="velum-window-care"] .menu-feature{background:var(--wash);padding:25px!important;text-decoration:none}[data-gp-theme="velum-window-care"] .menu-feature strong{font:36px/1.15 var(--display);display:block;margin:18px 0}[data-gp-theme="velum-window-care"] .menu-bottom{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding:18px 36px;font-size:14px}[data-gp-theme="velum-window-care"] .preloader{background:var(--paper);color:var(--ink)}[data-gp-theme="velum-window-care"] .preloader strong{font:56px var(--display)}[data-gp-theme="velum-window-care"] label{display:grid;gap:8px;font-size:16px}[data-gp-theme="velum-window-care"] input,[data-gp-theme="velum-window-care"] select,[data-gp-theme="velum-window-care"] textarea{width:100%;min-width:0;border:1px solid var(--line);padding:13px;background:var(--paper);color:var(--ink);border-radius:0;min-height:48px}[data-gp-theme="velum-window-care"] input::placeholder,[data-gp-theme="velum-window-care"] textarea::placeholder{color:var(--muted);opacity:1}[data-gp-theme="velum-window-care"] :is(form,[data-gp-form]){display:grid;gap:20px}[data-gp-theme="velum-window-care"] .form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}[data-gp-theme="velum-window-care"] :is(form,[data-gp-form]) :is(button,[role="button"]){justify-self:start;background:var(--accent);color:var(--on-accent);border-color:var(--accent)}[data-gp-theme="velum-window-care"] output{display:block;white-space:pre-line;overflow-wrap:anywhere;background:var(--wash);padding:22px;border:1px solid var(--line);font-size:16px}[data-gp-theme="velum-window-care"] output:empty{display:none}[data-gp-theme="velum-window-care"] .download{background:transparent;color:var(--ink);border-color:var(--line)}[data-gp-theme="velum-window-care"] details{border-top:1px solid var(--line);padding:20px 0}[data-gp-theme="velum-window-care"] summary{min-height:44px;font-weight:600}[data-gp-theme="velum-window-care"] details p{margin-top:14px}[data-gp-theme="velum-window-care"] .full-footer{padding-block:65px 25px;border-top:1px solid var(--line)}[data-gp-theme="velum-window-care"] .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}[data-gp-theme="velum-window-care"] .footer-grid h2{font-size:44px}[data-gp-theme="velum-window-care"] .footer-grid h3{font:600 17px var(--body);margin-bottom:15px}[data-gp-theme="velum-window-care"] .footer-grid a{display:block;min-height:44px;padding:8px 0}[data-gp-theme="velum-window-care"] .footer-bottom{display:flex;justify-content:space-between;gap:25px;padding-top:24px;margin-top:45px;border-top:1px solid var(--line);font-size:14px}[data-gp-theme="velum-window-care"] .tone{background:var(--wash)}[data-gp-theme="velum-window-care"] .rule{border-top:1px solid var(--line)}[data-gp-theme="velum-window-care"] .task-note{min-height:72px}[data-gp-theme="velum-window-care"] .feedback{min-height:28px;font-size:15px}[data-gp-theme="velum-window-care"] .inkbox{background:var(--ink);color:var(--paper)}[data-gp-theme="velum-window-care"] .inkbox .meta{color:var(--paper)}[data-gp-theme="velum-window-care"] fieldset{margin:0;padding:0;border:0;min-width:0}[data-gp-theme="velum-window-care"] legend{margin-bottom:12px}[data-gp-theme="velum-window-care"] input[type=checkbox]{width:21px;min-height:21px;height:21px;accent-color:var(--accent)}[data-gp-theme="velum-window-care"] .check{display:flex;align-items:start;gap:12px;padding:13px 0}[data-gp-theme="velum-window-care"] .check input{flex:none;margin-top:4px}[data-gp-theme="velum-window-care"] .menu-mark{width:70px;height:70px;display:grid;place-content:center;border:1px solid var(--line);font:40px var(--display)}[data-gp-theme="velum-window-care"] .visual-note{padding:12px 0}[data-gp-theme="velum-window-care"] .thin-rule{width:100%;height:1px;background:var(--line)}
@media(hover:hover) and (pointer:fine){[data-gp-theme="velum-window-care"] .action:hover,[data-gp-theme="velum-window-care"] :is(button,[role="button"]):hover{transform:translateY(-2px)}[data-gp-theme="velum-window-care"] .masthead a:hover,[data-gp-theme="velum-window-care"] .footer-grid a:hover{color:var(--accent)}}
@media(max-width:850px){[data-gp-theme="velum-window-care"] .wrap{width:calc(100% - 48px)}[data-gp-theme="velum-window-care"] .masthead{gap:18px}[data-gp-theme="velum-window-care"] .masthead nav>a{display:none}[data-gp-theme="velum-window-care"] .masthead .header-action{display:none}[data-gp-theme="velum-window-care"] .split{gap:35px}[data-gp-theme="velum-window-care"] .section{padding-block:70px}[data-gp-theme="velum-window-care"] .menu-grid{gap:25px}[data-gp-theme="velum-window-care"] .footer-grid{gap:30px}}
@containerfs-editor-canvas (max-width: 850px){[data-gp-theme="velum-window-care"] .wrap{width:calc(100% - 48px)}[data-gp-theme="velum-window-care"] .masthead{gap:18px}[data-gp-theme="velum-window-care"] .masthead nav>a{display:none}[data-gp-theme="velum-window-care"] .masthead .header-action{display:none}[data-gp-theme="velum-window-care"] .split{gap:35px}[data-gp-theme="velum-window-care"] .section{padding-block:70px}[data-gp-theme="velum-window-care"] .menu-grid{gap:25px}[data-gp-theme="velum-window-care"] .footer-grid{gap:30px}}
@media(max-width:600px){[data-gp-theme="velum-window-care"]{font-size:17px}[data-gp-theme="velum-window-care"] .wrap{width:calc(100% - 36px)}[data-gp-theme="velum-window-care"] .masthead{padding-block:20px}[data-gp-theme="velum-window-care"] .wordmark{font-size:25px}[data-gp-theme="velum-window-care"] .wordmark small{font-size:12px}[data-gp-theme="velum-window-care"] .menu-trigger{padding:10px 12px}[data-gp-theme="velum-window-care"] .section{padding-block:52px}[data-gp-theme="velum-window-care"] .section-head,[data-gp-theme="velum-window-care"] .split{display:grid;grid-template-columns:1fr;gap:25px}[data-gp-theme="velum-window-care"] .section-head{margin-bottom:28px}[data-gp-theme="velum-window-care"] .form-row{grid-template-columns:1fr}[data-gp-theme="velum-window-care"] .mega-menu{width:calc(100% - 20px);margin:10px auto}[data-gp-theme="velum-window-care"] .menu-top{padding:24px 20px;gap:14px}[data-gp-theme="velum-window-care"] .menu-top h2{font-size:32px}[data-gp-theme="velum-window-care"] .menu-grid{grid-template-columns:1fr;padding:20px;gap:28px}[data-gp-theme="velum-window-care"] .menu-feature{padding:20px!important}[data-gp-theme="velum-window-care"] .menu-bottom{padding:18px 20px;display:grid;gap:5px}[data-gp-theme="velum-window-care"] .footer-grid{grid-template-columns:1fr 1fr;gap:28px}[data-gp-theme="velum-window-care"] .footer-grid>div:first-child{grid-column:1/-1}[data-gp-theme="velum-window-care"] .footer-bottom{display:grid;gap:8px}[data-gp-theme="velum-window-care"] .footer-grid h2{font-size:36px}[data-gp-theme="velum-window-care"] .choices :is(button,[role="button"]){flex:1;padding:10px 12px}[data-gp-theme="velum-window-care"] h1{font-size:52px}[data-gp-theme="velum-window-care"] h2{font-size:38px}[data-gp-theme="velum-window-care"] .full-footer{padding-top:45px}[data-gp-theme="velum-window-care"] .stack>*+*{margin-top:20px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="velum-window-care"]{font-size:17px}[data-gp-theme="velum-window-care"] .wrap{width:calc(100% - 36px)}[data-gp-theme="velum-window-care"] .masthead{padding-block:20px}[data-gp-theme="velum-window-care"] .wordmark{font-size:25px}[data-gp-theme="velum-window-care"] .wordmark small{font-size:12px}[data-gp-theme="velum-window-care"] .menu-trigger{padding:10px 12px}[data-gp-theme="velum-window-care"] .section{padding-block:52px}[data-gp-theme="velum-window-care"] .section-head,[data-gp-theme="velum-window-care"] .split{display:grid;grid-template-columns:1fr;gap:25px}[data-gp-theme="velum-window-care"] .section-head{margin-bottom:28px}[data-gp-theme="velum-window-care"] .form-row{grid-template-columns:1fr}[data-gp-theme="velum-window-care"] .mega-menu{width:calc(100% - 20px);margin:10px auto}[data-gp-theme="velum-window-care"] .menu-top{padding:24px 20px;gap:14px}[data-gp-theme="velum-window-care"] .menu-top h2{font-size:32px}[data-gp-theme="velum-window-care"] .menu-grid{grid-template-columns:1fr;padding:20px;gap:28px}[data-gp-theme="velum-window-care"] .menu-feature{padding:20px!important}[data-gp-theme="velum-window-care"] .menu-bottom{padding:18px 20px;display:grid;gap:5px}[data-gp-theme="velum-window-care"] .footer-grid{grid-template-columns:1fr 1fr;gap:28px}[data-gp-theme="velum-window-care"] .footer-grid>div:first-child{grid-column:1/-1}[data-gp-theme="velum-window-care"] .footer-bottom{display:grid;gap:8px}[data-gp-theme="velum-window-care"] .footer-grid h2{font-size:36px}[data-gp-theme="velum-window-care"] .choices :is(button,[role="button"]){flex:1;padding:10px 12px}[data-gp-theme="velum-window-care"] h1{font-size:52px}[data-gp-theme="velum-window-care"] h2{font-size:38px}[data-gp-theme="velum-window-care"] .full-footer{padding-top:45px}[data-gp-theme="velum-window-care"] .stack>*+*{margin-top:20px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="velum-window-care"] :is(button,[role="button"]),[data-gp-theme="velum-window-care"] .action{transform:none!important;transition:none!important}}
[data-gp-theme="velum-window-care"]{--paper:#eeede8;--ink:#263133;--accent:#4c6465;--on-accent:#fff;--wash:#dedfd9;--line:#b1bab6;--muted:#566260;--display:"Bodoni Moda",serif;--body:"Manrope",sans-serif}[data-gp-theme="velum-window-care"][data-palette="1"]{--paper:#eeeee4;--ink:#3b4438;--accent:#535e45;--wash:#dedfcf;--line:#b4b9a4;--muted:#616958}[data-gp-theme="velum-window-care"][data-palette="2"]{--paper:#f1ebe2;--ink:#4e3d31;--accent:#71503a;--wash:#e4d8ca;--line:#c1ac98;--muted:#75614f}[data-gp-theme="velum-window-care"][data-mode="dark"]{--paper:#202728;--ink:#f0ede5;--accent:#c8ccc4;--on-accent:#202728;--wash:#2c3737;--line:#626e6a;--muted:#c1c9c2}[data-gp-theme="velum-window-care"][data-palette="1"][data-mode="dark"]{--paper:#252b23;--wash:#343d2f;--accent:#cdd3b9;--line:#68715d;--muted:#c5cdbb}[data-gp-theme="velum-window-care"][data-palette="2"][data-mode="dark"]{--paper:#30271f;--wash:#43372c;--accent:#dec7ad;--line:#8a745e;--muted:#d2c2af}[data-gp-theme="velum-window-care"] .wordmark{font:500 30px var(--display);letter-spacing:.24em}[data-gp-theme="velum-window-care"] .masthead{border-bottom:0;padding-block:33px}[data-gp-theme="velum-window-care"] .masthead nav,[data-gp-theme="velum-window-care"] .masthead .header-action{font-size:14px}[data-gp-theme="velum-window-care"] .menu-trigger{font-size:14px;border:0;gap:35px}[data-gp-theme="velum-window-care"] .gallery-heading{display:flex;justify-content:space-between;align-items:end;padding-block:45px 35px}[data-gp-theme="velum-window-care"] .gallery-heading h1{font-size:clamp(70px,8vw,118px);font-weight:400;letter-spacing:-.055em}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="velum-window-care"] .gallery-heading h1{font-size:clamp(70px,8cqw,118px)}}[data-gp-theme="velum-window-care"] .gallery-heading p{font-size:16px}[data-gp-theme="velum-window-care"] .gallery-image{height:650px;position:relative;overflow:hidden;background:#202728}[data-gp-theme="velum-window-care"] .gallery-image img{object-position:center 60%;filter:saturate(.55)}[data-gp-theme="velum-window-care"] .reflected-light{position:absolute;top:0;bottom:0;left:0;width:15%;background:linear-gradient(90deg,transparent,#ffffff18,transparent);transform:translateX(-100%);pointer-events:none}[data-gp-theme="velum-window-care"] .gallery-image[data-reflect] .reflected-light{animation:gp-velum-reflect-once 850ms var(--ease-out) forwards}@keyframes gp-velum-reflect-once{to{transform:translateX(780%)}}[data-gp-theme="velum-window-care"] .gallery-caption{display:flex;justify-content:space-between;gap:24px;padding-block:20px;font-size:13px;border-bottom:1px solid var(--line)}[data-gp-theme="velum-window-care"] .gallery-caption a{text-decoration:none}[data-gp-theme="velum-window-care"] .gallery-intro{display:flex;justify-content:space-between;gap:70px;padding-block:60px 20px}[data-gp-theme="velum-window-care"] .gallery-intro>p{font:34px/1.35 var(--display);max-width:720px}[data-gp-theme="velum-window-care"] .gallery-intro>span:not(.fs-richtext){font:23px var(--display);letter-spacing:.18em;align-self:end;flex:none}[data-gp-theme="velum-window-care"] .gallery-intro small{font:12px var(--body);letter-spacing:0}[data-gp-theme="velum-window-care"] .material-chapters{background:var(--wash);margin-top:60px}[data-gp-theme="velum-window-care"] .material-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:center}[data-gp-theme="velum-window-care"] .material-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}[data-gp-theme="velum-window-care"] .material-choices :is(button,[role="button"]){padding:0;display:flex;flex-direction:column;border:0;background:none!important;color:var(--ink)!important;justify-content:start;align-items:stretch;gap:20px;text-align:left;font:25px var(--display)}[data-gp-theme="velum-window-care"] .material-choices :is(button,[role="button"])>span:not(.fs-richtext){border-bottom:1px solid var(--line);padding-bottom:15px}[data-gp-theme="velum-window-care"] .material-choices [aria-pressed=true]>span:not(.fs-richtext){border-color:var(--ink);border-bottom-width:3px}[data-gp-theme="velum-window-care"] .sample{display:block;width:100%;height:250px;position:relative}[data-gp-theme="velum-window-care"] .glass-sample{background:linear-gradient(115deg,#657b7b 20%,#cad6d4 21% 28%,#819695 29% 65%,#dce1d9 66% 72%,#a1b3b0 73%)}[data-gp-theme="velum-window-care"] .stone-sample{background:radial-gradient(ellipse at 20% 30%,#b3afa4,transparent 50%),repeating-linear-gradient(15deg,#d0cabe 0 12px,#c3bdb0 13px 15px,#c8c1b3 16px 24px)}[data-gp-theme="velum-window-care"] .timber-sample{background:repeating-linear-gradient(88deg,#725d45 0 5px,#a18b6e 6px 10px,#8b765c 11px 18px)}[data-gp-theme="velum-window-care"] .material-note{min-height:310px;display:flex;flex-direction:column;gap:24px}[data-gp-theme="velum-window-care"] .material-note h3{font-size:38px;font-weight:400}[data-gp-theme="velum-window-care"] .material-note p{font-size:17px}[data-gp-theme="velum-window-care"] .material-note>a{font-size:15px}[data-gp-theme="velum-window-care"] .interior{display:grid;grid-template-columns:1.2fr 1fr;gap:90px;align-items:center}[data-gp-theme="velum-window-care"] .interior figure{height:570px}[data-gp-theme="velum-window-care"] .interior img{height:calc(100% - 35px);object-position:65% center}[data-gp-theme="velum-window-care"] .interior figcaption{padding-top:15px}[data-gp-theme="velum-window-care"] .interior-copy{padding-right:25px}[data-gp-theme="velum-window-care"] .visit-chapter{background:var(--wash)}[data-gp-theme="velum-window-care"] .visit-sequence{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:60px;margin:50px 0}[data-gp-theme="velum-window-care"] .visit-sequence li{border-top:1px solid var(--line);padding-top:25px}[data-gp-theme="velum-window-care"] .visit-sequence span:not(.fs-richtext){font:22px var(--display)}[data-gp-theme="velum-window-care"] .visit-sequence h3{font-size:36px;margin:25px 0 18px}[data-gp-theme="velum-window-care"] .visit-sequence p{font-size:17px}[data-gp-theme="velum-window-care"] .private-conversation{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding:35px 0}[data-gp-theme="velum-window-care"] .private-conversation h2{font-size:65px}[data-gp-theme="velum-window-care"] .private-conversation :is(form,[data-gp-form]){padding-left:40px;border-left:1px solid var(--line)}[data-gp-theme="velum-window-care"] .velum-footer{background:var(--wash)}[data-gp-theme="velum-window-care"] .velum-footer h2{font:40px var(--display);letter-spacing:.2em}[data-gp-theme="velum-window-care"] .velum-emblem{font:90px/.8 var(--display)}[data-gp-theme="velum-window-care"] .mega-menu .menu-feature{background:var(--ink);color:var(--paper)}[data-gp-theme="velum-window-care"] .velum-intro{letter-spacing:.25em}
@media(max-width:950px){[data-gp-theme="velum-window-care"] .material-layout,[data-gp-theme="velum-window-care"] .interior,[data-gp-theme="velum-window-care"] .private-conversation{gap:40px}[data-gp-theme="velum-window-care"] .gallery-image{height:530px}[data-gp-theme="velum-window-care"] .gallery-intro{gap:35px}[data-gp-theme="velum-window-care"] .gallery-intro>p{font-size:29px}[data-gp-theme="velum-window-care"] .sample{height:190px}[data-gp-theme="velum-window-care"] .material-choices{gap:12px}[data-gp-theme="velum-window-care"] .private-conversation :is(form,[data-gp-form]){padding-left:25px}}
@containerfs-editor-canvas (max-width: 950px){[data-gp-theme="velum-window-care"] .material-layout,[data-gp-theme="velum-window-care"] .interior,[data-gp-theme="velum-window-care"] .private-conversation{gap:40px}[data-gp-theme="velum-window-care"] .gallery-image{height:530px}[data-gp-theme="velum-window-care"] .gallery-intro{gap:35px}[data-gp-theme="velum-window-care"] .gallery-intro>p{font-size:29px}[data-gp-theme="velum-window-care"] .sample{height:190px}[data-gp-theme="velum-window-care"] .material-choices{gap:12px}[data-gp-theme="velum-window-care"] .private-conversation :is(form,[data-gp-form]){padding-left:25px}}
@media(max-width:600px){[data-gp-theme="velum-window-care"] .wordmark{font-size:25px}[data-gp-theme="velum-window-care"] .masthead{padding-block:22px}[data-gp-theme="velum-window-care"] .gallery-heading{display:block;padding-block:25px}[data-gp-theme="velum-window-care"] .gallery-heading h1{font-size:64px}[data-gp-theme="velum-window-care"] .gallery-heading p{margin-top:16px}[data-gp-theme="velum-window-care"] .gallery-image{height:360px}[data-gp-theme="velum-window-care"] .gallery-caption{display:grid;gap:7px;font-size:12px}[data-gp-theme="velum-window-care"] .gallery-intro{display:block;padding-block:32px 0}[data-gp-theme="velum-window-care"] .gallery-intro>p{font-size:29px}[data-gp-theme="velum-window-care"] .gallery-intro>span:not(.fs-richtext){display:block;margin-top:28px;font-size:20px}[data-gp-theme="velum-window-care"] .material-chapters{margin-top:40px}[data-gp-theme="velum-window-care"] .material-layout,[data-gp-theme="velum-window-care"] .interior,[data-gp-theme="velum-window-care"] .private-conversation{grid-template-columns:1fr;gap:30px}[data-gp-theme="velum-window-care"] .sample{height:160px}[data-gp-theme="velum-window-care"] .material-choices :is(button,[role="button"]){font-size:23px;gap:15px}[data-gp-theme="velum-window-care"] .material-note{min-height:300px}[data-gp-theme="velum-window-care"] .material-note h3{font-size:35px}[data-gp-theme="velum-window-care"] .interior figure{height:360px}[data-gp-theme="velum-window-care"] .interior-copy{padding-right:0}[data-gp-theme="velum-window-care"] .visit-sequence{grid-template-columns:1fr;gap:30px;margin-block:30px}[data-gp-theme="velum-window-care"] .visit-sequence li{display:grid;grid-template-columns:45px 1fr;gap:10px}[data-gp-theme="velum-window-care"] .visit-sequence h3{margin:0 0 10px}[data-gp-theme="velum-window-care"] .visit-sequence p{grid-column:2}[data-gp-theme="velum-window-care"] .private-conversation{padding:0}[data-gp-theme="velum-window-care"] .private-conversation h2{font-size:51px}[data-gp-theme="velum-window-care"] .private-conversation :is(form,[data-gp-form]){padding-left:0;border-left:0}[data-gp-theme="velum-window-care"] .velum-footer h2{font-size:34px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="velum-window-care"] .wordmark{font-size:25px}[data-gp-theme="velum-window-care"] .masthead{padding-block:22px}[data-gp-theme="velum-window-care"] .gallery-heading{display:block;padding-block:25px}[data-gp-theme="velum-window-care"] .gallery-heading h1{font-size:64px}[data-gp-theme="velum-window-care"] .gallery-heading p{margin-top:16px}[data-gp-theme="velum-window-care"] .gallery-image{height:360px}[data-gp-theme="velum-window-care"] .gallery-caption{display:grid;gap:7px;font-size:12px}[data-gp-theme="velum-window-care"] .gallery-intro{display:block;padding-block:32px 0}[data-gp-theme="velum-window-care"] .gallery-intro>p{font-size:29px}[data-gp-theme="velum-window-care"] .gallery-intro>span:not(.fs-richtext){display:block;margin-top:28px;font-size:20px}[data-gp-theme="velum-window-care"] .material-chapters{margin-top:40px}[data-gp-theme="velum-window-care"] .material-layout,[data-gp-theme="velum-window-care"] .interior,[data-gp-theme="velum-window-care"] .private-conversation{grid-template-columns:1fr;gap:30px}[data-gp-theme="velum-window-care"] .sample{height:160px}[data-gp-theme="velum-window-care"] .material-choices :is(button,[role="button"]){font-size:23px;gap:15px}[data-gp-theme="velum-window-care"] .material-note{min-height:300px}[data-gp-theme="velum-window-care"] .material-note h3{font-size:35px}[data-gp-theme="velum-window-care"] .interior figure{height:360px}[data-gp-theme="velum-window-care"] .interior-copy{padding-right:0}[data-gp-theme="velum-window-care"] .visit-sequence{grid-template-columns:1fr;gap:30px;margin-block:30px}[data-gp-theme="velum-window-care"] .visit-sequence li{display:grid;grid-template-columns:45px 1fr;gap:10px}[data-gp-theme="velum-window-care"] .visit-sequence h3{margin:0 0 10px}[data-gp-theme="velum-window-care"] .visit-sequence p{grid-column:2}[data-gp-theme="velum-window-care"] .private-conversation{padding:0}[data-gp-theme="velum-window-care"] .private-conversation h2{font-size:51px}[data-gp-theme="velum-window-care"] .private-conversation :is(form,[data-gp-form]){padding-left:0;border-left:0}[data-gp-theme="velum-window-care"] .velum-footer h2{font-size:34px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="velum-window-care"] .reflected-light{display:none}}

[data-gp-theme="velum-window-care"][data-palette="1"][data-mode="light"]{--muted:#535c49}[data-gp-theme="velum-window-care"][data-palette="2"][data-mode="light"]{--muted:#685440}

@media(max-width:600px){[data-gp-theme="velum-window-care"] .material-note{min-height:430px}}

@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="velum-window-care"] .material-note{min-height:430px}}

/* Preview chrome and accessibility only. Theme authors own the visual worlds. */
[data-gp-theme="velum-window-care"][data-premium]{color-scheme:light;background:var(--paper);color:var(--ink);accent-color:var(--accent);scrollbar-color:var(--accent) var(--wash)}
[data-gp-theme="velum-window-care"][data-premium][data-mode=dark]{color-scheme:dark}
[data-gp-theme="velum-window-care"][data-premium] ::selection{background:var(--accent);color:var(--on-accent)}
[data-gp-theme="velum-window-care"][data-premium] :is(input,textarea){caret-color:var(--accent)}
[data-gp-theme="velum-window-care"][data-premium] :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--accent);outline-offset:4px}
[data-gp-theme="velum-window-care"][data-premium] :is(input,select,textarea){max-width:100%}
[data-gp-theme="velum-window-care"][data-premium] :is(input,textarea)::placeholder{color:var(--muted);opacity:1}
[data-gp-theme="velum-window-care"][data-premium] .preview-bar{display:flex;flex-wrap:wrap;justify-content:flex-start;background:#f5f5f0;color:#242d2c;border-color:#cbd0c8;gap:8px 14px;position:relative;font:13px/1.3 "Figtree",sans-serif;min-height:52px;padding:6px 3vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="velum-window-care"][data-premium] .preview-bar{padding:6px 3cqw}}
[data-gp-theme="velum-window-care"][data-premium] .preview-bar>a{font-weight:600;min-height:40px;display:flex;align-items:center}
[data-gp-theme="velum-window-care"][data-premium] .preview-bar [role=group]{margin-left:auto;display:flex;gap:2px}
[data-gp-theme="velum-window-care"][data-premium] .preview-bar :is(button,select){font:13px/1.3 "Figtree",sans-serif;min-height:40px;max-width:100%;border-radius:3px}
[data-gp-theme="velum-window-care"][data-premium] .preview-bar select{background:#fff;color:#242d2c;border:1px solid #a2ada4;padding:7px 24px 7px 9px}
[data-gp-theme="velum-window-care"][data-premium] .preview-bar [aria-pressed=true]{background:#242d2c;color:#fff}
[data-gp-theme="velum-window-care"][data-premium] .preview-bar .preview-label{font:12px/1.3 "Figtree",sans-serif;color:#48554f}
[data-gp-theme="velum-window-care"][data-premium] .preview-bar :focus-visible{outline-color:#254fbb}
[data-gp-theme="velum-window-care"][data-premium] .preview-bar [data-replay-intro]{font-size:12px;margin:0}
[data-gp-theme="velum-window-care"][data-premium] .preview-bar [data-replay-intro]::after{content:none}
[data-gp-theme="velum-window-care"][data-premium] .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
[data-gp-theme="velum-window-care"][data-premium] .premium-action{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 22px;background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);text-decoration:none;font-weight:600;transition:transform 150ms var(--ease-out),background-color 150ms var(--ease-out)}
[data-gp-theme="velum-window-care"][data-premium] .premium-action:active{transform:translateY(1px)}
[data-gp-theme="velum-window-care"][data-premium] .premium-action:disabled{opacity:.6;cursor:not-allowed}
[data-gp-theme="velum-window-care"][data-premium] :is(h1,h2,h3){text-wrap:balance}
[data-gp-theme="velum-window-care"][data-premium] p{text-wrap:pretty}
/* Put down the opaque menu surface immediately, then introduce its content. */
[data-gp-theme="velum-window-care"][data-premium] .mega-menu[open]:not([data-closing]){animation:none}
[data-gp-theme="velum-window-care"][data-premium] .mega-menu[open]:not([data-closing])>:not(:first-child){animation:gp-velum-premium-menu-content 160ms var(--ease-out)}
[data-gp-theme="velum-window-care"][data-premium] .mega-menu[data-keyboard]>:not(:first-child){animation:none!important}
[data-gp-theme="velum-window-care"][data-premium][data-input=keyboard] :is(button,[role="button"]):active{transform:none}
@keyframes gp-velum-premium-menu-content{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:650px){
 [data-gp-theme="velum-window-care"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="velum-window-care"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="velum-window-care"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="velum-window-care"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="velum-window-care"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="velum-window-care"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="velum-window-care"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="velum-window-care"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@containerfs-editor-canvas (max-width: 650px){
 [data-gp-theme="velum-window-care"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="velum-window-care"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="velum-window-care"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="velum-window-care"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="velum-window-care"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="velum-window-care"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="velum-window-care"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="velum-window-care"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@media(prefers-reduced-motion:reduce){[data-gp-theme="velum-window-care"][data-premium] .premium-action{transition:none;transform:none}}

/* Website page primitives and actual layout modes. Authored theme CSS owns identity. */
[data-gp-theme="velum-window-care"][data-framed=true] .preview-bar,[data-gp-theme="velum-window-care"][data-framed=true] .site-open-preview{display:none!important}
[data-gp-theme="velum-window-care"][data-site]{--ip-paper:var(--paper,#f4f2eb);--ip-ink:var(--ink,#192f2c);--ip-wash:var(--wash,var(--paper,#e6e9df));--ip-accent:var(--accent,var(--rust,#315b50));--ip-on:var(--on-accent,var(--paper,#fff));--ip-muted:var(--muted,var(--ink,#45534d));--ip-line:var(--line,var(--rule,#a1aca5))}
[data-gp-theme="velum-window-care"][data-inside]{background:var(--ip-paper);color:var(--ip-ink);font:18px/1.65 var(--body,"Figtree",sans-serif)}
[data-gp-theme="velum-window-care"] .inside-page :is(h1,h2,h3){font-family:var(--display,inherit);color:inherit;letter-spacing:-.035em;line-height:1.1;font-weight:500;max-width:22ch}
[data-gp-theme="velum-window-care"] .inside-page h1{font-size:clamp(42px,5.3vw,80px);margin:0 0 26px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="velum-window-care"] .inside-page h1{font-size:clamp(42px,5.3cqw,80px)}}[data-gp-theme="velum-window-care"] .inside-page h2{font-size:clamp(30px,3vw,49px);margin:0 0 24px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="velum-window-care"] .inside-page h2{font-size:clamp(30px,3cqw,49px)}}[data-gp-theme="velum-window-care"] .inside-page h3{font-size:25px;margin:0 0 15px}
[data-gp-theme="velum-window-care"] .inside-page :is(p,li){max-width:72ch}[data-gp-theme="velum-window-care"] .inside-page p{margin:0 0 20px}[data-gp-theme="velum-window-care"] .inside-page a{color:inherit}[data-gp-theme="velum-window-care"] .inside-page img{max-width:100%;width:100%;height:100%;object-fit:cover}[data-gp-theme="velum-window-care"] .inside-page figure{margin:0}[data-gp-theme="velum-window-care"] .inside-page :is(button,[role="button"]){color:inherit}
[data-gp-theme="velum-window-care"] .ip-hero,[data-gp-theme="velum-window-care"] .ip-section{width:min(1320px,calc(100% - 96px));margin-inline:auto;padding-block:70px}[data-gp-theme="velum-window-care"] .ip-hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:65px}[data-gp-theme="velum-window-care"] .ip-opening{min-width:0}[data-gp-theme="velum-window-care"] .ip-hero:has(>.ip-opening:only-child){grid-template-columns:1fr}[data-gp-theme="velum-window-care"] .ip-art{height:430px;position:relative}[data-gp-theme="velum-window-care"] .ip-art img{object-fit:cover}[data-gp-theme="velum-window-care"] .ip-art figcaption,[data-gp-theme="velum-window-care"] .ip-caption{font-size:14px;line-height:1.5;color:var(--ip-muted);padding-top:10px}[data-gp-theme="velum-window-care"] .ip-section>.ip-caption{margin-bottom:20px}[data-gp-theme="velum-window-care"] .ip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}[data-gp-theme="velum-window-care"] .ip-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px}[data-gp-theme="velum-window-care"] .ip-card{min-width:0;border-top:1px solid var(--ip-line);padding:25px 0}[data-gp-theme="velum-window-care"] .ip-card figure{height:230px;margin-bottom:25px}[data-gp-theme="velum-window-care"] .ip-reading{width:min(76ch,calc(100% - 48px));margin-inline:auto;padding-block:55px}[data-gp-theme="velum-window-care"] .ip-reading h2{margin-top:40px}[data-gp-theme="velum-window-care"] .ip-ledger{margin:24px 0}[data-gp-theme="velum-window-care"] .ip-ledger>div{display:grid;grid-template-columns:1fr 1.4fr;gap:20px;border-top:1px solid var(--ip-line);padding:15px 0}[data-gp-theme="velum-window-care"] .ip-ledger dt{font-weight:600}[data-gp-theme="velum-window-care"] .ip-ledger dd{margin:0}[data-gp-theme="velum-window-care"] .ip-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border:1px solid var(--ip-accent);background:var(--ip-accent);color:var(--ip-on)!important;text-decoration:none;font-size:16px;transition:transform 150ms var(--ease-out)}[data-gp-theme="velum-window-care"] .ip-action.secondary{background:transparent;color:var(--ip-ink)!important;border-color:var(--ip-line)}[data-gp-theme="velum-window-care"] .ip-band{padding:55px max(24px,calc((100% - 1320px)/2));background:var(--ip-wash);color:var(--ip-ink)}[data-gp-theme="velum-window-care"] .ip-band p{max-width:65ch}[data-gp-theme="velum-window-care"] .ip-note{font-size:15px;border-left:3px solid var(--ip-accent);padding:12px 18px;background:var(--ip-wash);color:var(--ip-ink);margin-block:20px}[data-gp-theme="velum-window-care"] .ip-form{display:grid;gap:22px}[data-gp-theme="velum-window-care"] .ip-form label{display:grid;gap:8px;font-size:16px}[data-gp-theme="velum-window-care"] .ip-form :is(input,textarea,select){width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid var(--ip-line);background:var(--ip-paper);color:var(--ip-ink);font:inherit;border-radius:0}[data-gp-theme="velum-window-care"] .ip-form :is(input,textarea)::placeholder{color:var(--ip-muted);opacity:1}[data-gp-theme="velum-window-care"] .ip-field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}[data-gp-theme="velum-window-care"] .ip-form :is(button,[role="button"]){justify-self:start}[data-gp-theme="velum-window-care"] .ip-form textarea{min-height:135px}[data-gp-theme="velum-window-care"] .inside-page output[data-draft-output]{display:block;white-space:pre-wrap;padding:25px;background:var(--ip-wash);color:var(--ip-ink);border:1px solid var(--ip-line);overflow-wrap:anywhere}[data-gp-theme="velum-window-care"] .ip-checks{display:grid;gap:12px}[data-gp-theme="velum-window-care"] .ip-checks label{display:flex;align-items:start;gap:14px;border-top:1px solid var(--ip-line);padding:16px 0;min-height:52px}[data-gp-theme="velum-window-care"] .ip-checks input{width:22px;height:22px;min-height:22px;flex-shrink:0;margin-top:4px;accent-color:var(--ip-accent)}[data-gp-theme="velum-window-care"] .inside-page details{border-top:1px solid var(--ip-line);padding:18px 0}[data-gp-theme="velum-window-care"] .inside-page summary{min-height:44px;font-size:21px;cursor:pointer}[data-gp-theme="velum-window-care"] .inside-page details p{padding:16px 0 0}[data-gp-theme="velum-window-care"] .inside-page [data-filter-group]>[role=group]{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}[data-gp-theme="velum-window-care"] .inside-page [data-filter]{padding:10px 18px;min-height:44px;background:transparent;color:var(--ip-ink);border:1px solid var(--ip-line)}[data-gp-theme="velum-window-care"] .inside-page [data-filter][aria-pressed=true]{background:var(--ip-accent);color:var(--ip-on)}[data-gp-theme="velum-window-care"] .site-directory{padding:30px!important;background:var(--ip-paper)!important;color:var(--ip-ink)!important;border-top:1px solid var(--ip-line)}[data-gp-theme="velum-window-care"] .site-directory h3{font:600 17px/1.4 var(--body,"Figtree",sans-serif);margin:0 0 16px}[data-gp-theme="velum-window-care"] .site-directory>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 25px}[data-gp-theme="velum-window-care"] .site-directory a{display:block;font:16px/1.5 var(--body,"Figtree",sans-serif)!important;min-height:44px;padding:10px 0!important;color:inherit!important;text-decoration:none}[data-gp-theme="velum-window-care"] .site-directory a[aria-current=page]{text-decoration:underline;font-weight:600!important}[data-gp-theme="velum-window-care"] .site-open-preview{display:block;padding:10px 20px;background:#eef0eb;color:#20322d;font:14px/1.4 "Figtree",sans-serif;text-align:center}
[data-gp-theme="velum-window-care"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){width:100%;padding-inline:max(24px,4vw)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="velum-window-care"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){padding-inline:max(24px,4cqw)}}
[data-gp-theme="velum-window-care"]:has([data-gp-theme="velum-window-care"][data-layout=boxed]){background:#a6afa9}[data-gp-theme="velum-window-care"][data-layout=boxed]{width:min(1200px,calc(100% - 64px));margin-inline:auto;box-shadow:0 0 0 1px #0002,0 20px 70px #0002;min-height:100dvh;background:var(--ip-paper)}
[data-gp-theme="velum-window-care"][data-layout=centered] :is(.ip-hero,.opening,.cake-opening,.gp-title,.book-opening,.poster-opening,.portal-opening,.destination-opening,.route-opening){text-align:center}
[data-gp-theme="velum-window-care"][data-layout=centered] .ip-hero{grid-template-columns:1fr;max-width:1000px;justify-items:center}[data-gp-theme="velum-window-care"][data-layout=centered] .ip-opening{display:grid;justify-items:center}[data-gp-theme="velum-window-care"][data-layout=centered] .ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="velum-window-care"][data-layout=centered] .ip-art{width:min(760px,100%)}
[data-gp-theme="velum-window-care"][data-layout=minimalist] :is(.ip-section,.ip-hero){padding-block:42px}[data-gp-theme="velum-window-care"][data-layout=minimalist] :is(.ip-card,.ip-art,.ip-note){border-radius:0;box-shadow:none;background-image:none}[data-gp-theme="velum-window-care"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5vw,64px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="velum-window-care"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5cqw,64px)}}[data-gp-theme="velum-window-care"][data-layout=minimalist] :is(.mullions,.glaze-rim,.cake-sticker,.paper-corner){opacity:0}[data-gp-theme="velum-window-care"][data-layout=minimalist] :is(.ip-art img,.opening img){border-radius:0}
[data-gp-theme="velum-window-care"][data-layout=edge-hero] .ip-hero{width:100%;padding-inline:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="velum-window-care"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4vw)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="velum-window-care"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4cqw)}}[data-gp-theme="velum-window-care"][data-layout=edge-hero] .ip-art{height:600px}[data-gp-theme="velum-window-care"][data-layout=edge-hero] .ip-art img{border-radius:0}[data-gp-theme="velum-window-care"][data-layout=edge-hero] .ip-art figcaption{padding:8px 20px}
[data-gp-theme="velum-window-care"][data-layout=full-width] .inside-page>.ip-opening{width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="velum-window-care"][data-layout=full-width] .inside-page>.ip-opening{padding-inline:4cqw}}
[data-gp-theme="velum-window-care"][data-layout=centered] .inside-page>.ip-opening{display:flex;flex-direction:column;align-items:center;text-align:center;width:min(1000px,calc(100% - 48px));gap:30px}[data-gp-theme="velum-window-care"][data-layout=centered] .inside-page>.ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="velum-window-care"][data-layout=centered] .inside-page>.ip-opening>figure{width:min(780px,100%)}
[data-gp-theme="velum-window-care"][data-layout=minimalist] .inside-page>.ip-opening{padding-block:38px}[data-gp-theme="velum-window-care"][data-layout=minimalist] .inside-page>.ip-opening :is(h1,figure){box-shadow:none;border-radius:0}
[data-gp-theme="velum-window-care"][data-layout=edge-hero] .inside-page>.ip-opening{width:100%;max-width:none;padding:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="velum-window-care"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="velum-window-care"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4cqw}}[data-gp-theme="velum-window-care"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:600px;max-width:none;align-self:stretch}[data-gp-theme="velum-window-care"][data-layout=edge-hero] .inside-page>.ip-opening>figure img{height:100%;object-fit:cover;border-radius:0}
/* Existing home compositions gain real width/spacing modes without replacing their content. */
[data-gp-theme="velum-window-care"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="velum-window-care"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){padding-inline:4cqw}}
[data-gp-theme="velum-window-care"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child{text-align:center}
[data-gp-theme="velum-window-care"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(h1,p){margin-inline:auto}[data-gp-theme="velum-window-care"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(.opening-copy,.elevation-copy,.cake-copy,.hero-copy){text-align:center}
[data-gp-theme="velum-window-care"][data-layout=minimalist]:not([data-inside]) .gp-source-main>section{padding-block:44px}[data-gp-theme="velum-window-care"][data-layout=minimalist]:not([data-inside]) :is(.hero-sleeve,.calendar,.hello-note,.open-book){box-shadow:none}
[data-gp-theme="velum-window-care"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child{width:100%;max-width:none;margin-inline:0;padding-inline:0;background:var(--ip-wash)}[data-gp-theme="velum-window-care"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="velum-window-care"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4cqw}}[data-gp-theme="velum-window-care"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:600px}
@media(hover:hover) and (pointer:fine){[data-gp-theme="velum-window-care"] .ip-action:hover{transform:translateY(-2px)}[data-gp-theme="velum-window-care"] .site-directory a:hover{text-decoration:underline}}
@media(max-width:850px){[data-gp-theme="velum-window-care"] .ip-hero,[data-gp-theme="velum-window-care"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="velum-window-care"] .ip-hero{gap:30px}[data-gp-theme="velum-window-care"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="velum-window-care"] .ip-two{gap:30px}[data-gp-theme="velum-window-care"] .ip-art{height:340px}}
@containerfs-editor-canvas (max-width: 850px){[data-gp-theme="velum-window-care"] .ip-hero,[data-gp-theme="velum-window-care"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="velum-window-care"] .ip-hero{gap:30px}[data-gp-theme="velum-window-care"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="velum-window-care"] .ip-two{gap:30px}[data-gp-theme="velum-window-care"] .ip-art{height:340px}}
@media(max-width:600px){[data-gp-theme="velum-window-care"] .ip-hero,[data-gp-theme="velum-window-care"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="velum-window-care"] .ip-hero,[data-gp-theme="velum-window-care"] .ip-two,[data-gp-theme="velum-window-care"] .ip-grid,[data-gp-theme="velum-window-care"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="velum-window-care"] .ip-art{height:300px}[data-gp-theme="velum-window-care"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="velum-window-care"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="velum-window-care"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="velum-window-care"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="velum-window-care"] .site-directory{padding:22px!important}[data-gp-theme="velum-window-care"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="velum-window-care"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="velum-window-care"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="velum-window-care"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="velum-window-care"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="velum-window-care"] .ip-hero,[data-gp-theme="velum-window-care"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="velum-window-care"] .ip-hero,[data-gp-theme="velum-window-care"] .ip-two,[data-gp-theme="velum-window-care"] .ip-grid,[data-gp-theme="velum-window-care"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="velum-window-care"] .ip-art{height:300px}[data-gp-theme="velum-window-care"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="velum-window-care"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="velum-window-care"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="velum-window-care"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="velum-window-care"] .site-directory{padding:22px!important}[data-gp-theme="velum-window-care"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="velum-window-care"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="velum-window-care"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="velum-window-care"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="velum-window-care"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@media(max-width:600px){[data-gp-theme="velum-window-care"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="velum-window-care"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="velum-window-care"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="velum-window-care"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="velum-window-care"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="velum-window-care"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
[data-gp-theme="velum-window-care"] .inside-page a[aria-disabled=true]{cursor:default;text-decoration:none}
[data-gp-theme="velum-window-care"][data-layout=edge-hero] .inside-page .ip-hero .ip-art{transform:none}
@media(prefers-reduced-motion:reduce){[data-gp-theme="velum-window-care"] .ip-action{transition:none;transform:none!important}}
/* Task actions always use an explicit contrasting pair, including themed form overrides. */
[data-gp-theme="velum-window-care"][data-site] .inside-page :is(.ip-form :is(button,[role="button"]):is([type="submit"],[data-gp-button-type="submit"]),[data-save-draft],.ip-action:not(.secondary)){
 background:var(--ip-ink)!important;color:var(--ip-paper)!important;border:1px solid var(--ip-ink)!important;
 min-height:48px;padding:12px 22px;font-size:16px;line-height:1.4;
}
[data-gp-theme="velum-window-care"][data-site] .inside-page .ip-action.secondary{background:transparent!important;color:var(--ip-ink)!important;border-color:var(--ip-line)!important}
[data-gp-theme="velum-window-care"][data-site] .inside-page .ip-form :is(select,select option){background-color:var(--ip-paper);color:var(--ip-ink)}
[data-gp-theme="velum-window-care"] .site-plan-label{display:block;font:400 14px/1.45 var(--body,sans-serif);margin-top:6px;text-decoration:none;opacity:1}
[data-gp-theme="velum-window-care"] a[data-preview-plan]{cursor:pointer}[data-gp-theme="velum-window-care"] .inside-page a[data-preview-plan]{text-decoration:none}
[data-gp-theme="velum-window-care"][data-site] .site-directory a[data-preview-plan]{display:flex;flex-direction:column;align-items:flex-start;gap:2px}[data-gp-theme="velum-window-care"] .site-directory .site-plan-label{font-size:13px;margin:0}


[data-gp-theme="velum-window-care"][data-inside] .ip-opening,[data-gp-theme="velum-window-care"][data-inside] .ip-section{width:min(1240px,calc(100% - 72px));margin-inline:auto;padding:64px 0;border-bottom:1px solid var(--line,#a8b6bb)}
[data-gp-theme="velum-window-care"][data-inside] .ip-opening{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:56px;align-items:center;padding-top:76px}
[data-gp-theme="velum-window-care"][data-inside] .ip-opening>div:only-child{grid-column:1/-1;max-width:920px}
[data-gp-theme="velum-window-care"][data-inside] .ip-opening h1{font-family:var(--display,serif);font-size:clamp(46px,6vw,88px);line-height:1.05;margin:0 0 28px;overflow-wrap:break-word}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="velum-window-care"][data-inside] .ip-opening h1{font-size:clamp(46px,6cqw,88px)}}
[data-gp-theme="velum-window-care"][data-inside] .ip-lead{font-size:clamp(20px,2vw,25px);max-width:52ch;line-height:1.5}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="velum-window-care"][data-inside] .ip-lead{font-size:clamp(20px,2cqw,25px)}}
[data-gp-theme="velum-window-care"][data-inside] .ip-section h2{font-size:clamp(30px,3.5vw,52px);margin:0 0 28px;max-width:24ch}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="velum-window-care"][data-inside] .ip-section h2{font-size:clamp(30px,3.5cqw,52px)}}
[data-gp-theme="velum-window-care"][data-inside] .ip-section h3{font-size:clamp(23px,2.4vw,32px);margin-bottom:15px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="velum-window-care"][data-inside] .ip-section h3{font-size:clamp(23px,2.4cqw,32px)}}
[data-gp-theme="velum-window-care"][data-inside] .ip-section p{max-width:68ch;line-height:1.65}
[data-gp-theme="velum-window-care"][data-inside] .ip-section p+p{margin-top:18px}
[data-gp-theme="velum-window-care"][data-inside] .ip-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
[data-gp-theme="velum-window-care"][data-inside] .ip-columns article{border-top:2px solid var(--accent,#345c68);padding-top:22px}
[data-gp-theme="velum-window-care"][data-inside] .ip-reading{max-width:75ch}
[data-gp-theme="velum-window-care"][data-inside] .ip-media{margin:0;min-width:0}
[data-gp-theme="velum-window-care"][data-inside] .ip-media img{width:100%;height:auto;max-height:520px;min-height:240px;object-fit:cover;display:block}
[data-gp-theme="velum-window-care"][data-inside] .ip-media figcaption{font-size:14px;margin-top:12px;line-height:1.5}
[data-gp-theme="velum-window-care"][data-inside] .ip-ledger{margin:0;min-width:0}
[data-gp-theme="velum-window-care"][data-inside] .ip-ledger>div{display:grid;grid-template-columns:minmax(140px,.6fr) minmax(0,1.6fr);gap:26px;border-top:1px solid var(--line,#aaa);padding:20px 0}
[data-gp-theme="velum-window-care"][data-inside] .ip-ledger dt{font-weight:650}
[data-gp-theme="velum-window-care"][data-inside] .ip-ledger dd{margin:0;max-width:65ch}
[data-gp-theme="velum-window-care"][data-inside] .ip-detail{display:grid;grid-template-columns:1fr 1.35fr;gap:55px}
[data-gp-theme="velum-window-care"][data-inside] .ip-action{display:inline-flex;align-items:center;min-height:48px;padding:13px 20px;border:1px solid currentColor;margin-top:24px;text-decoration:none;font-weight:650}
[data-gp-theme="velum-window-care"][data-inside] .ip-form{max-width:780px;display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:28px}
[data-gp-theme="velum-window-care"][data-inside] .ip-form label{display:grid;gap:9px;min-width:0;font-size:17px;font-weight:600}
[data-gp-theme="velum-window-care"][data-inside] .ip-form label:has(textarea){grid-column:1/-1}
[data-gp-theme="velum-window-care"][data-inside] .ip-form input,[data-gp-theme="velum-window-care"][data-inside] .ip-form select,[data-gp-theme="velum-window-care"][data-inside] .ip-form textarea{box-sizing:border-box;width:100%;min-width:0;min-height:48px;background:var(--paper,#fff);color:var(--ink,#123);border:1px solid var(--line,#aaa);font:inherit;padding:12px;border-radius:0}
[data-gp-theme="velum-window-care"][data-inside] .ip-form :is(button,[role="button"]){justify-self:start;min-height:48px;padding:12px 24px}
[data-gp-theme="velum-window-care"][data-inside] [data-draft-output]{max-width:780px;white-space:pre-wrap;overflow-wrap:anywhere;margin:24px 0;padding:24px;border:1px solid var(--line,#aaa)}
[data-gp-theme="velum-window-care"][data-inside] [hidden]{display:none!important}
[data-gp-theme="velum-window-care"][data-inside] .ip-checklist{max-width:800px}
[data-gp-theme="velum-window-care"][data-inside] .ip-checklist label{display:flex;align-items:start;gap:14px;padding:18px 0;border-top:1px solid var(--line,#aaa);font:inherit}
[data-gp-theme="velum-window-care"][data-inside] .ip-checklist input{width:22px;height:22px;min-height:22px;flex:none;accent-color:var(--accent,#456);margin:4px 0 0}
[data-gp-theme="velum-window-care"][data-inside] [data-check-count],[data-gp-theme="velum-window-care"][data-inside] [data-filter-count]{display:block;font-size:15px;padding:14px 0;background:transparent;border:0}
[data-gp-theme="velum-window-care"][data-inside] .ip-filter-buttons,[data-gp-theme="velum-window-care"][data-inside] .ip-choice [role=group]{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}
[data-gp-theme="velum-window-care"][data-inside] .ip-filter-buttons :is(button,[role="button"]),[data-gp-theme="velum-window-care"][data-inside] .ip-choice :is(button,[role="button"]){padding:12px 20px;min-height:48px;background:var(--paper,#fff);color:var(--ink,#123);border:1px solid currentColor}
[data-gp-theme="velum-window-care"][data-inside] .ip-filter-buttons :is(button,[role="button"])[aria-pressed=true],[data-gp-theme="velum-window-care"][data-inside] .ip-choice :is(button,[role="button"])[aria-pressed=true]{background:var(--ink,#123);color:var(--paper,#fff)}
[data-gp-theme="velum-window-care"][data-inside] .ip-records{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
[data-gp-theme="velum-window-care"][data-inside] .ip-records article{padding:28px;border:1px solid var(--line,#aaa);min-width:0}
[data-gp-theme="velum-window-care"][data-inside] .ip-record-label{display:block;margin-bottom:24px;font-size:14px}
[data-gp-theme="velum-window-care"][data-inside] .ip-choice [data-note-result]{padding:24px;background:var(--wash,#eee);border-left:3px solid var(--accent,#456);min-height:100px}
[data-gp-theme="velum-window-care"][data-inside] .ip-closing{background:var(--wash,#eee);padding:38px!important;margin-block:32px!important}
[data-gp-theme="velum-window-care"][data-inside] .ip-section details{padding:21px 0;border-top:1px solid var(--line,#aaa)}
[data-gp-theme="velum-window-care"][data-inside] .ip-section summary{min-height:44px;cursor:pointer;font-weight:650}
[data-gp-theme="velum-window-care"][data-inside] .ip-section details p{margin-top:12px}
[data-gp-theme="velum-window-care"][data-inside] .ip-sequence{list-style:none;margin:0;padding:0;counter-reset:sequence}
[data-gp-theme="velum-window-care"][data-inside] .ip-sequence li{counter-increment:sequence;display:grid;grid-template-columns:64px 1fr;gap:24px;border-top:1px solid var(--line,#aaa);padding:28px 0}
[data-gp-theme="velum-window-care"][data-inside] .ip-sequence li:before{content:counter(sequence,decimal-leading-zero);font:32px var(--display,serif);color:var(--accent,#456)}
[data-gp-theme="velum-window-care"][data-inside] .ip-sequence h3{margin-bottom:12px}
[data-gp-theme="velum-window-care"][data-inside] :is(a,:is(button,[role="button"]),input,select,textarea,summary):focus-visible{outline:3px solid var(--accent,#456);outline-offset:4px}
@media(hover:hover) and (pointer:fine){[data-gp-theme="velum-window-care"][data-inside] :is(.ip-action,.ip-filter-buttons :is(button,[role="button"]),.ip-choice button){transition:transform 150ms ease,opacity 150ms ease}[data-gp-theme="velum-window-care"][data-inside] :is(.ip-action,.ip-filter-buttons :is(button,[role="button"]),.ip-choice button):hover{transform:translateY(-2px)}}
@media(max-width:760px){[data-gp-theme="velum-window-care"][data-inside] .ip-opening,[data-gp-theme="velum-window-care"][data-inside] .ip-section{width:calc(100% - 36px);padding-block:42px}[data-gp-theme="velum-window-care"][data-inside] .ip-opening,[data-gp-theme="velum-window-care"][data-inside] .ip-detail{grid-template-columns:1fr;gap:28px}[data-gp-theme="velum-window-care"][data-inside] .ip-columns,[data-gp-theme="velum-window-care"][data-inside] .ip-records{grid-template-columns:1fr;gap:28px}[data-gp-theme="velum-window-care"][data-inside] .ip-opening h1{font-size:clamp(41px,10vw,68px)}[data-gp-theme="velum-window-care"][data-inside] .ip-form{grid-template-columns:1fr}[data-gp-theme="velum-window-care"][data-inside] .ip-ledger>div{grid-template-columns:1fr;gap:8px}[data-gp-theme="velum-window-care"][data-inside] .ip-closing{padding:26px!important}[data-gp-theme="velum-window-care"][data-inside] .ip-sequence li{grid-template-columns:44px 1fr;gap:12px}}
@containerfs-editor-canvas (max-width: 760px){[data-gp-theme="velum-window-care"][data-inside] .ip-opening,[data-gp-theme="velum-window-care"][data-inside] .ip-section{width:calc(100% - 36px);padding-block:42px}[data-gp-theme="velum-window-care"][data-inside] .ip-opening,[data-gp-theme="velum-window-care"][data-inside] .ip-detail{grid-template-columns:1fr;gap:28px}[data-gp-theme="velum-window-care"][data-inside] .ip-columns,[data-gp-theme="velum-window-care"][data-inside] .ip-records{grid-template-columns:1fr;gap:28px}[data-gp-theme="velum-window-care"][data-inside] .ip-opening h1{font-size:clamp(41px,10cqw,68px)}[data-gp-theme="velum-window-care"][data-inside] .ip-form{grid-template-columns:1fr}[data-gp-theme="velum-window-care"][data-inside] .ip-ledger>div{grid-template-columns:1fr;gap:8px}[data-gp-theme="velum-window-care"][data-inside] .ip-closing{padding:26px!important}[data-gp-theme="velum-window-care"][data-inside] .ip-sequence li{grid-template-columns:44px 1fr;gap:12px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="velum-window-care"][data-inside] :is(button,.ip-action){transition:none!important;transform:none!important}}
[data-gp-theme="velum-window-care"][data-inside][data-keyboard] :is(button,.ip-action){transform:none!important}

[data-gp-theme="velum-window-care"][data-inside] .ip-opening{display:block;max-width:1400px}
[data-gp-theme="velum-window-care"][data-inside] .ip-opening>div{max-width:850px;margin-bottom:46px}
[data-gp-theme="velum-window-care"][data-inside] .ip-opening h1{max-width:17ch;font-weight:400;letter-spacing:-.035em}
[data-gp-theme="velum-window-care"][data-inside] .ip-opening>.ip-media img{width:100%;height:clamp(300px,45vw,650px);max-height:none;object-fit:cover}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="velum-window-care"][data-inside] .ip-opening>.ip-media img{height:clamp(300px,45cqw,650px)}}
[data-gp-theme="velum-window-care"][data-inside] .ip-section{padding-block:80px}
[data-gp-theme="velum-window-care"][data-inside] .ip-records{grid-template-columns:1fr}
[data-gp-theme="velum-window-care"][data-inside] .ip-records article{display:grid;grid-template-columns:.55fr 1fr 1.3fr;gap:35px;align-items:start;padding:34px 0;border:0;border-top:1px solid var(--line)}
[data-gp-theme="velum-window-care"][data-inside] .ip-record-label{margin:0}
[data-gp-theme="velum-window-care"][data-inside] .ip-records h3{font-weight:400}
[data-gp-theme="velum-window-care"][data-inside] .ip-gallery-pair{display:grid;grid-template-columns:1.4fr 1fr;gap:36px;margin-bottom:36px}
[data-gp-theme="velum-window-care"][data-inside] .ip-gallery-pair .ip-media:nth-child(2){padding-top:100px}
[data-gp-theme="velum-window-care"][data-inside] .ip-gallery-pair img{height:400px;min-height:0;object-fit:cover}
[data-gp-theme="velum-window-care"][data-inside] .ip-detail{padding-block:80px}
[data-gp-theme="velum-window-care"][data-inside] .ip-columns{gap:55px}
[data-gp-theme="velum-window-care"][data-inside] .ip-closing{background:transparent;border-top:1px solid var(--line)}
@media(max-width:760px){[data-gp-theme="velum-window-care"][data-inside] .ip-opening>div{margin-bottom:28px}[data-gp-theme="velum-window-care"][data-inside] .ip-records article{grid-template-columns:1fr;gap:15px}[data-gp-theme="velum-window-care"][data-inside] .ip-gallery-pair{grid-template-columns:1fr}[data-gp-theme="velum-window-care"][data-inside] .ip-gallery-pair .ip-media:nth-child(2){padding-top:0}[data-gp-theme="velum-window-care"][data-inside] .ip-gallery-pair img{height:300px}}
@containerfs-editor-canvas (max-width: 760px){[data-gp-theme="velum-window-care"][data-inside] .ip-opening>div{margin-bottom:28px}[data-gp-theme="velum-window-care"][data-inside] .ip-records article{grid-template-columns:1fr;gap:15px}[data-gp-theme="velum-window-care"][data-inside] .ip-gallery-pair{grid-template-columns:1fr}[data-gp-theme="velum-window-care"][data-inside] .ip-gallery-pair .ip-media:nth-child(2){padding-top:0}[data-gp-theme="velum-window-care"][data-inside] .ip-gallery-pair img{height:300px}}

/* Owner selected alternative on 18 October 2026. Main heading roles only. */
[data-gp-theme="velum-window-care"][data-gp-kind="section"] h1{font-family:"Literata", serif!important;font-weight:500!important;letter-spacing:-0.005em!important;line-height:1.14!important;font-variation-settings:normal!important;font-optical-sizing:auto!important}
[data-gp-theme="velum-window-care"][data-gp-kind="section"] h2{font-family:"Manrope", sans-serif!important;font-weight:600!important;letter-spacing:-.01em!important;line-height:1.17!important;font-variation-settings:normal!important;font-optical-sizing:auto!important}
[data-gp-theme="velum-window-care"][data-gp-kind="section"] h3{font-family:"Manrope", sans-serif!important;font-weight:600!important;letter-spacing:0!important;line-height:1.25!important;font-variation-settings:normal!important}
[data-gp-theme="velum-window-care"][data-inside][data-gp-kind="section"] h1{font-family:"Manrope", sans-serif!important;line-height:1.14!important;letter-spacing:-.012em!important;font-weight:600!important;text-transform:none!important}
@media(max-width:650px){[data-gp-theme="velum-window-care"][data-gp-kind="section"] h1{line-height:1.14!important;letter-spacing:-0.005em!important}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="velum-window-care"][data-gp-kind="section"] h1{line-height:1.14!important;letter-spacing:-0.005em!important}}


[data-gp-theme="velum-window-care"] .ux-study{padding:75px 0;background:var(--paper);color:var(--ink);border-block:1px solid var(--line);isolation:isolate}[data-gp-theme="velum-window-care"] .ux-shell{width:min(1280px,calc(100% - 80px));margin:auto}[data-gp-theme="velum-window-care"] .ux-title{display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:35px}[data-gp-theme="velum-window-care"] .ux-title h2{font-size:clamp(32px,4vw,52px);line-height:1.12;max-width:18ch;margin:0}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="velum-window-care"] .ux-title h2{font-size:clamp(32px,4cqw,52px)}}[data-gp-theme="velum-window-care"] .ux-title p{max-width:43ch;font-size:17px;margin:0}[data-gp-theme="velum-window-care"] .ux-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:35px;align-items:start}[data-gp-theme="velum-window-care"] .ux-study :is(h3,p,figure){margin:0}[data-gp-theme="velum-window-care"] .ux-study h3{font-size:25px;line-height:1.22;margin-bottom:14px}[data-gp-theme="velum-window-care"] .ux-study p{max-width:66ch}[data-gp-theme="velum-window-care"] .ux-art{background:var(--wash);overflow:hidden;position:relative;margin:0;min-width:0}[data-gp-theme="velum-window-care"] .ux-art svg{display:block;width:100%;height:auto;aspect-ratio:1.35;max-height:580px}[data-gp-theme="velum-window-care"] .ux-art img{width:100%;height:100%;display:block;object-fit:cover}[data-gp-theme="velum-window-care"] .ux-art figcaption{padding:12px 18px;font-size:14px;color:var(--ink);background:var(--wash)}[data-gp-theme="velum-window-care"] .ux-study fieldset{border:0;padding:0;margin:0 0 24px;min-width:0}[data-gp-theme="velum-window-care"] .ux-study legend{font-size:15px;margin-bottom:10px;font-weight:600;padding:0}[data-gp-theme="velum-window-care"] .ux-choices{display:flex;flex-wrap:wrap;gap:8px}[data-gp-theme="velum-window-care"] .ux-study :is(button,[role="button"]){font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);padding:11px 15px;min-height:46px;cursor:pointer;line-height:1.3;min-width:0;text-align:left}[data-gp-theme="velum-window-care"] .ux-study :is(button,[role="button"])[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}[data-gp-theme="velum-window-care"] .ux-study :is(button,a,input):focus-visible{outline:3px solid var(--ink);outline-offset:4px}[data-gp-theme="velum-window-care"] .ux-study :is(button,[role="button"]):active{transform:translateY(1px)}[data-gp-theme="velum-window-care"] .ux-text{min-height:105px;padding-top:20px;border-top:1px solid var(--line)}[data-gp-theme="velum-window-care"] .ux-text p{font-size:17px;line-height:1.6}[data-gp-theme="velum-window-care"] .ux-foot{display:flex;gap:25px;justify-content:space-between;align-items:start;margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}[data-gp-theme="velum-window-care"] .ux-foot p{font-size:14px;max-width:60ch}[data-gp-theme="velum-window-care"] .ux-link{display:inline-flex;align-items:center;min-height:46px;border-bottom:1px solid currentColor;font-size:17px;text-decoration:none;flex-shrink:0}[data-gp-theme="velum-window-care"] .ux-selection{padding:14px 0;margin-top:22px;font-size:16px;min-height:53px;border-block:1px solid var(--line)}[data-gp-theme="velum-window-care"] .ux-summary{background:var(--wash);padding:30px;margin:30px auto;max-width:1280px;color:var(--ink);border-block:1px solid var(--line)}[data-gp-theme="velum-window-care"] .ux-summary h2{font-size:30px;margin:0 0 12px}[data-gp-theme="velum-window-care"] .ux-summary p{margin:0 0 12px}[data-gp-theme="velum-window-care"] .ux-summary .ux-link{margin-top:10px}[data-gp-theme="velum-window-care"] .ux-stage-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:20px}[data-gp-theme="velum-window-care"] .ux-stage-bar :is(button,[role="button"]){display:grid;gap:8px}[data-gp-theme="velum-window-care"] .ux-stage-bar :is(button,[role="button"]) small{font-size:13px}[data-gp-theme="velum-window-care"] .ux-joint-diagram{background:#29322c;color:#f3f0dc}[data-gp-theme="velum-window-care"] .ux-joint-diagram svg{aspect-ratio:1.35}[data-gp-theme="velum-window-care"] .ux-joint-diagram figcaption{background:#29322c;color:#f3f0dc}[data-gp-theme="velum-window-care"] .ux-joint-diagram .ux-prep,[data-gp-theme="velum-window-care"] .ux-joint-diagram .ux-setting,[data-gp-theme="velum-window-care"] .ux-joint-diagram .ux-finish{opacity:.14;transition:opacity 180ms cubic-bezier(.23,1,.32,1)}[data-gp-theme="velum-window-care"] .ux-joint-diagram[data-stage="prepare"] .ux-prep,[data-gp-theme="velum-window-care"] .ux-joint-diagram[data-stage="install"] :is(.ux-prep,.ux-setting),[data-gp-theme="velum-window-care"] .ux-joint-diagram[data-stage="finish"] :is(.ux-prep,.ux-setting,.ux-finish){opacity:1}[data-gp-theme="velum-window-care"] .ux-joint-note{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding:25px 0;margin-top:20px;border-top:1px solid var(--line)}[data-gp-theme="velum-window-care"] .ux-joint-note p{font-size:16px}[data-gp-theme="velum-window-care"] .ux-home-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}[data-gp-theme="velum-window-care"] .ux-plan{aspect-ratio:.95;position:relative;background:#e7e9dd;color:#193b77;padding:25px}[data-gp-theme="velum-window-care"] .ux-plan-header{display:flex;justify-content:space-between;font-size:13px;margin-bottom:20px}[data-gp-theme="velum-window-care"] .ux-plan-rooms{height:77%;display:grid;grid-template-columns:1.1fr 1fr;grid-template-rows:1fr 1.1fr .65fr;gap:6px;border:5px double #193b77;padding:7px;position:relative}[data-gp-theme="velum-window-care"] .ux-plan-rooms:after{content:"";position:absolute;bottom:-8px;left:30%;width:45px;height:12px;background:#e7e9dd;border:1px solid #193b77;pointer-events:none}[data-gp-theme="velum-window-care"] .ux-plan-rooms :is(button,[role="button"]){background:#f5f3ea;border:1px solid #193b77;color:#193b77;display:flex;align-items:center;justify-content:center;text-align:center;padding:10px}[data-gp-theme="velum-window-care"] .ux-plan-rooms :is(button,[role="button"])[data-room=garden]{grid-column:1/-1;background:repeating-linear-gradient(45deg,#d1dbc9 0 10px,#dce4d5 10px 11px)}[data-gp-theme="velum-window-care"] .ux-plan-rooms :is(button,[role="button"])[aria-pressed=true]{background:#193b77;color:#f5f3ea}[data-gp-theme="velum-window-care"] .ux-room-view{display:flex;flex-direction:column;gap:18px}[data-gp-theme="velum-window-care"] .ux-room-view figure{aspect-ratio:1.55;background:#efe5d1;overflow:hidden}[data-gp-theme="velum-window-care"] .ux-room-view img{object-fit:cover}[data-gp-theme="velum-window-care"] .ux-room-view .ux-text{min-height:116px}[data-gp-theme="velum-window-care"] .ux-room-title{display:flex;justify-content:space-between;gap:15px;align-items:center}[data-gp-theme="velum-window-care"] .ux-room-title span:not(.fs-richtext){font-size:14px}[data-gp-theme="velum-window-care"] .ux-study .ux-toggle{margin-top:16px}[data-gp-theme="velum-window-care"] .ux-cake-display{--sponge:#e5b66d;--filling:#ad435b;--icing:#fff4db;background:#fff4db;color:#602b3e}[data-gp-theme="velum-window-care"] .ux-cake-display[data-flavour=chocolate]{--sponge:#79503a;--filling:#422f28;--icing:#b88c65}[data-gp-theme="velum-window-care"] .ux-cake-display[data-flavour=lemon]{--sponge:#dfbf68;--filling:#d4a93c;--icing:#fff4cb}[data-gp-theme="velum-window-care"] .ux-cake-display .ux-sponge{fill:var(--sponge)}[data-gp-theme="velum-window-care"] .ux-cake-display .ux-filling{fill:var(--filling)}[data-gp-theme="velum-window-care"] .ux-cake-display .ux-icing{fill:var(--icing)}[data-gp-theme="velum-window-care"] .ux-cake-display .ux-piping,[data-gp-theme="velum-window-care"] .ux-cake-display .ux-ribbon{display:none}[data-gp-theme="velum-window-care"] .ux-cake-display[data-finish=piped] .ux-piping,[data-gp-theme="velum-window-care"] .ux-cake-display[data-finish=ribbon] .ux-ribbon{display:block}[data-gp-theme="velum-window-care"] .ux-cake-display svg{aspect-ratio:1.333}[data-gp-theme="velum-window-care"] .ux-cake-controls label{display:grid;gap:9px;font-size:15px;margin:10px 0 24px}[data-gp-theme="velum-window-care"] .ux-cake-controls input{width:100%;min-height:46px;font:inherit;background:var(--paper);color:var(--ink);border:1px solid var(--line);padding:12px;box-sizing:border-box}[data-gp-theme="velum-window-care"] .ux-serving{display:grid;grid-template-columns:.8fr 1.2fr;gap:25px;margin-top:32px;border-top:1px solid var(--line);padding-top:25px}[data-gp-theme="velum-window-care"] .ux-serving-plates{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;align-content:center;min-height:105px}[data-gp-theme="velum-window-care"] .ux-serving-plates span:not(.fs-richtext){border:1px solid var(--ink);aspect-ratio:1;border-radius:50%;position:relative;background:var(--wash)}[data-gp-theme="velum-window-care"] .ux-serving-plates span:not(.fs-richtext):after{content:"";position:absolute;left:28%;top:24%;width:42%;height:42%;background:#e4bd77;border-bottom:4px solid #ad435b;transform:rotate(-10deg)}[data-gp-theme="velum-window-care"] .ux-serving-plates[data-serving=dessert]{grid-template-columns:repeat(4,1fr)}[data-gp-theme="velum-window-care"] .ux-serving-plates[data-serving=dessert] span:not(.fs-richtext):nth-child(n+9){display:none}[data-gp-theme="velum-window-care"] .ux-v-grid{grid-template-columns:minmax(0,1.7fr) minmax(0,.8fr);gap:35px}[data-gp-theme="velum-window-care"] .ux-v-wide{aspect-ratio:1.65;position:relative;overflow:hidden;background:#223139}[data-gp-theme="velum-window-care"] .ux-v-wide>img{height:100%;object-fit:cover}[data-gp-theme="velum-window-care"] .ux-v-marker{position:absolute;background:#f5f0e2;color:#26363b;border:1px solid #26363b;padding:5px 12px;font-size:13px;left:6%;bottom:9%}[data-gp-theme="velum-window-care"] .ux-v-detail{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:25px;align-items:center}[data-gp-theme="velum-window-care"] .ux-v-detail figure{height:180px;overflow:hidden;background:#223139}[data-gp-theme="velum-window-care"] .ux-v-nav{display:grid;gap:0;border-top:1px solid var(--line)}[data-gp-theme="velum-window-care"] .ux-v-nav :is(button,[role="button"]){border:0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 12px}[data-gp-theme="velum-window-care"] .ux-v-nav :is(button,[role="button"]) span:not(.fs-richtext){font-size:13px}[data-gp-theme="velum-window-care"] .ux-v-nav :is(button,[role="button"])[aria-pressed=true]{background:var(--wash);color:var(--ink);box-shadow:inset 0 -2px currentColor}[data-gp-theme="velum-window-care"] .ux-v-nav :is(button,[role="button"]):after{content:"";width:7px;height:7px;border-right:1px solid currentColor;border-top:1px solid currentColor;transform:rotate(45deg)}[data-gp-theme="velum-window-care"] .ux-v-controls .ux-text{margin-top:28px;min-height:150px}[data-gp-theme="velum-window-care"] .ux-v-light{position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 40%,#fff5 50%,transparent 60%);opacity:0}[data-gp-theme="velum-window-care"] .ux-study [hidden]{display:none!important}@media(max-width:800px){[data-gp-theme="velum-window-care"] .ux-shell{width:calc(100% - 40px)}[data-gp-theme="velum-window-care"] .ux-grid,[data-gp-theme="velum-window-care"] .ux-home-grid,[data-gp-theme="velum-window-care"] .ux-v-grid{grid-template-columns:minmax(0,1fr);gap:25px}[data-gp-theme="velum-window-care"] .ux-grid>*{min-width:0}[data-gp-theme="velum-window-care"] .ux-room-title{flex-wrap:wrap}[data-gp-theme="velum-window-care"] .ux-title{display:block}[data-gp-theme="velum-window-care"] .ux-title p{margin-top:18px;max-width:60ch}[data-gp-theme="velum-window-care"] .ux-plan{aspect-ratio:auto;height:360px;min-height:0}[data-gp-theme="velum-window-care"] .ux-plan-rooms{height:78%}[data-gp-theme="velum-window-care"] .ux-cake-display svg{max-height:490px}[data-gp-theme="velum-window-care"] .ux-stage-bar{grid-template-columns:1fr 1fr}[data-gp-theme="velum-window-care"] .ux-foot{flex-direction:column;gap:15px}[data-gp-theme="velum-window-care"] .ux-study{padding:50px 0}[data-gp-theme="velum-window-care"] .ux-summary{margin-inline:20px;padding:22px}[data-gp-theme="velum-window-care"] .ux-v-controls .ux-text{min-height:105px}[data-gp-theme="velum-window-care"] .ux-v-nav{grid-template-columns:repeat(3,minmax(0,1fr))}[data-gp-theme="velum-window-care"] .ux-v-nav :is(button,[role="button"]){padding:12px 8px;display:grid;font-size:15px}[data-gp-theme="velum-window-care"] .ux-v-nav :is(button,[role="button"]):after{display:none}[data-gp-theme="velum-window-care"] .ux-v-detail{gap:18px}[data-gp-theme="velum-window-care"] .ux-v-detail figure{height:150px}[data-gp-theme="velum-window-care"] .ux-serving{grid-template-columns:1fr}[data-gp-theme="velum-window-care"] .ux-joint-note{grid-template-columns:1fr;gap:15px}}@containerfs-editor-canvas (max-width: 800px){[data-gp-theme="velum-window-care"] .ux-shell{width:calc(100% - 40px)}[data-gp-theme="velum-window-care"] .ux-grid,[data-gp-theme="velum-window-care"] .ux-home-grid,[data-gp-theme="velum-window-care"] .ux-v-grid{grid-template-columns:minmax(0,1fr);gap:25px}[data-gp-theme="velum-window-care"] .ux-grid>*{min-width:0}[data-gp-theme="velum-window-care"] .ux-room-title{flex-wrap:wrap}[data-gp-theme="velum-window-care"] .ux-title{display:block}[data-gp-theme="velum-window-care"] .ux-title p{margin-top:18px;max-width:60ch}[data-gp-theme="velum-window-care"] .ux-plan{aspect-ratio:auto;height:360px;min-height:0}[data-gp-theme="velum-window-care"] .ux-plan-rooms{height:78%}[data-gp-theme="velum-window-care"] .ux-cake-display svg{max-height:490px}[data-gp-theme="velum-window-care"] .ux-stage-bar{grid-template-columns:1fr 1fr}[data-gp-theme="velum-window-care"] .ux-foot{flex-direction:column;gap:15px}[data-gp-theme="velum-window-care"] .ux-study{padding:50px 0}[data-gp-theme="velum-window-care"] .ux-summary{margin-inline:20px;padding:22px}[data-gp-theme="velum-window-care"] .ux-v-controls .ux-text{min-height:105px}[data-gp-theme="velum-window-care"] .ux-v-nav{grid-template-columns:repeat(3,minmax(0,1fr))}[data-gp-theme="velum-window-care"] .ux-v-nav :is(button,[role="button"]){padding:12px 8px;display:grid;font-size:15px}[data-gp-theme="velum-window-care"] .ux-v-nav :is(button,[role="button"]):after{display:none}[data-gp-theme="velum-window-care"] .ux-v-detail{gap:18px}[data-gp-theme="velum-window-care"] .ux-v-detail figure{height:150px}[data-gp-theme="velum-window-care"] .ux-serving{grid-template-columns:1fr}[data-gp-theme="velum-window-care"] .ux-joint-note{grid-template-columns:1fr;gap:15px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="velum-window-care"] .ux-study *{transition:none!important}[data-gp-theme="velum-window-care"] .ux-study :is(button,[role="button"]):active{transform:none}}

/* Approved readability refinements, 18 October 2026.
   Only meaningful helpers, local groups and selected reading paragraphs.
   Owner-selected type families, display sizes and frozen comparisons stay authoritative. */

/* Kiln House: the brief promise and sample guidance are part of the task. */
[data-gp-theme="velum-window-care"][data-site="kiln-house"] :is(.field-note,.form-note,.pairing-hint,.material-note,.light-note,.letter-note,.combination-copy small,.material-row small){font-size:14px;line-height:1.5}
[data-gp-theme="velum-window-care"][data-site="kiln-house"] .form-note{margin-top:16px}
[data-gp-theme="velum-window-care"][data-site="kiln-house"] :is(.quiet-button,.combination-action){font-size:15px;line-height:1.5}
[data-gp-theme="velum-window-care"][data-site="kiln-house"] .quiet-button{min-height:44px}
[data-gp-theme="velum-window-care"][data-site="kiln-house"] .directory-links a small{font-size:14px;line-height:1.5}

/* Small study labels explain a choice, rather than acting as an imprint. */
[data-gp-theme="velum-window-care"][data-site="true-joint"] .ux-stage-bar :is(button,[role="button"]) small{font-size:14px;line-height:1.5}
[data-gp-theme="velum-window-care"][data-site="neighbourhood-edit"] .ux-plan-header{font-size:14px;line-height:1.5;gap:12px;flex-wrap:wrap}
[data-gp-theme="velum-window-care"][data-site="neighbourhood-edit"] .ux-room-title{margin-bottom:16px}
[data-gp-theme="velum-window-care"][data-site="neighbourhood-edit"] .ux-room-title h3{margin-bottom:0}
[data-gp-theme="velum-window-care"][data-site="neighbourhood-edit"] :is(.home-finder label,.home-finder output,.area-index small){font-size:14px;line-height:1.5}
[data-gp-theme="velum-window-care"][data-site="neighbourhood-edit"] .home-finder select{font-size:16px;min-height:44px}
[data-gp-theme="velum-window-care"][data-site="harbour"] .ux-folio .ux-document-row label{font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="velum-window-care"][data-site="daymark-window-care"] .dm-sheet-head{font-size:14px;line-height:1.5;flex-wrap:wrap}
[data-gp-theme="velum-window-care"][data-site="velum-window-care"] .ux-v-nav :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}

/* Existing small controls retain or gain the comfortable target height. */
[data-gp-theme="velum-window-care"][data-site="stem-and-still"] .stem-slip :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:48px;gap:8px}
[data-gp-theme="velum-window-care"][data-site="cake-box"] .flavour-pick :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="velum-window-care"][data-site="cake-box"] .message-label small{font-size:14px;line-height:1.5}
[data-gp-theme="velum-window-care"][data-site="crm-recruitment-people"] .question-buttons{gap:10px}
[data-gp-theme="velum-window-care"][data-site="crm-recruitment-people"] .question-buttons :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:10px 12px}
[data-gp-theme="velum-window-care"][data-site="the-second-set-programme"] .pr-order-actions :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:8px 10px}

/* The format facts belong with the large ensemble names. */
[data-gp-theme="velum-window-care"][data-site="the-second-set-afterglow"] .ag-format-ribbon span:not(.fs-richtext){font-size:14px;line-height:1.5;margin-top:8px}
[data-gp-theme="velum-window-care"][data-site="the-second-set-programme"] .opening-note{font-size:14px;line-height:1.5}
[data-gp-theme="velum-window-care"][data-site="the-second-set-signal"] .form-note{font-size:14px;line-height:1.5}

/* Slipstream: useful record, filter and brief text; preserve the scrollable comparison. */
[data-gp-theme="velum-window-care"][data-site="slipstream"] :is(.featured-price small,.rail-note,.stock-finder label,.stock-caption,.inspection-note,.inspection-instruction,.form-note,[data-gp-id="stock-count"],[data-gp-id="form-question-count"]){font-size:14px;line-height:1.5}
[data-gp-theme="velum-window-care"][data-site="slipstream"] :is(.visit-form label,.form-pair label){font-size:15px;line-height:1.5}
[data-gp-theme="velum-window-care"][data-site="slipstream"] :is(.car-record summary,[data-gp-id="reset-stock"],[data-gp-id="clear-compare"],.quick-compare button){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="velum-window-care"][data-site="slipstream"] .stock-finder select{min-height:44px}

/* Narrow only sustained paragraphs, preserving plans, records, lists and tables. */
[data-gp-theme="velum-window-care"]:is([data-site="stem-and-still"],[data-site="kiln-house"],[data-site="true-joint"])[data-inside] .ip-reading>p{max-width:64ch}

@media(max-width:700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="velum-window-care"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="velum-window-care"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="velum-window-care"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="velum-window-care"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="velum-window-care"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="velum-window-care"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="velum-window-care"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="velum-window-care"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="velum-window-care"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

@containerfs-editor-canvas (max-width: 700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="velum-window-care"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="velum-window-care"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="velum-window-care"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="velum-window-care"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="velum-window-care"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="velum-window-care"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="velum-window-care"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="velum-window-care"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="velum-window-care"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

/* No generic heading, body, section-spacing or panel-height reset.
   Goodpane's unused calendar CSS, Expedition's real stage envelope,
   Starlight's passage leading and Velum's display introduction need no blanket fix. */

/* Approved authored chrome. Palette and type tokens belong to this theme. */
[data-gp-theme="velum-window-care"] .chrome-header>*{min-width:0}[data-gp-theme="velum-window-care"] .chrome-header nav{min-width:0}[data-gp-theme="velum-window-care"] .chrome-header a,[data-gp-theme="velum-window-care"] .chrome-header :is(button,[role="button"]){min-height:44px}[data-gp-theme="velum-window-care"] .chrome-header .menu-trigger{white-space:nowrap;font-size:15px}[data-gp-theme="velum-window-care"] .chrome-header .menu-trigger svg{flex:none}
[data-gp-theme="velum-window-care"] .chrome-menu{color:var(--ink);padding:0;max-height:calc(100dvh - 64px);margin-top:32px;overflow:auto}[data-gp-theme="velum-window-care"] .chrome-menu>*{min-width:0}[data-gp-theme="velum-window-care"] .chrome-menu h2{max-width:24ch}[data-gp-theme="velum-window-care"] .chrome-menu-heading{padding:24px 32px;align-items:center}[data-gp-theme="velum-window-care"] .chrome-menu-heading h2{font-size:clamp(28px,3vw,42px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="velum-window-care"] .chrome-menu-heading h2{font-size:clamp(28px,3cqw,42px)}}[data-gp-theme="velum-window-care"] .chrome-menu-heading :is(button,[role="button"]){flex:none}[data-gp-theme="velum-window-care"] .chrome-menu h3{font-size:23px;line-height:1.2;margin-bottom:16px}[data-gp-theme="velum-window-care"] .chrome-menu a{min-height:44px;display:flex;align-items:center;text-decoration:none;line-height:1.35}[data-gp-theme="velum-window-care"] .chrome-menu a:hover{text-decoration:underline;text-underline-offset:5px}[data-gp-theme="velum-window-care"] .chrome-menu p{font-size:15px;line-height:1.55}[data-gp-theme="velum-window-care"] .chrome-menu small,[data-gp-theme="velum-window-care"] .chrome-caption{font-size:14px;line-height:1.5}[data-gp-theme="velum-window-care"] .chrome-menu nav{min-width:0}[data-gp-theme="velum-window-care"] .chrome-menu a,[data-gp-theme="velum-window-care"] .chrome-footer a{overflow-wrap:anywhere}[data-gp-theme="velum-window-care"] .chrome-footer a{min-height:44px;display:inline-flex;align-items:center;text-underline-offset:5px}[data-gp-theme="velum-window-care"] .chrome-footer p{font-size:16px;line-height:1.55}[data-gp-theme="velum-window-care"] .chrome-imprint{border-top:1px solid var(--line);margin-top:34px;padding-top:18px;display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between;font-size:14px;line-height:1.5}[data-gp-theme="velum-window-care"] .chrome-imprint>span:not(.fs-richtext){max-width:48ch}[data-gp-theme="velum-window-care"] .chrome-inline-links{display:flex;flex-wrap:wrap;gap:8px 28px}[data-gp-theme="velum-window-care"] .chrome-footer .chrome-details{font-size:14px;line-height:1.5;max-width:65ch}[data-gp-theme="velum-window-care"] .chrome-footer .chrome-close-link{min-height:52px}[data-gp-theme="velum-window-care"] .chrome-menu :is(a,button):focus-visible,[data-gp-theme="velum-window-care"] .chrome-header :is(a,button):focus-visible,[data-gp-theme="velum-window-care"] .chrome-footer a:focus-visible{outline:3px solid currentColor;outline-offset:4px}
@media(max-width:900px){[data-gp-theme="velum-window-care"] .chrome-header{gap:16px}[data-gp-theme="velum-window-care"] .chrome-menu .chrome-menu-heading h2{font-size:27px;line-height:1.12}[data-gp-theme="velum-window-care"] .chrome-menu .chrome-menu-heading{gap:12px}[data-gp-theme="velum-window-care"] .chrome-menu [data-menu-close]{padding:10px 14px}[data-gp-theme="velum-window-care"] .chrome-menu a{min-height:48px}[data-gp-theme="velum-window-care"] .chrome-imprint{display:grid;gap:10px}[data-gp-theme="velum-window-care"] .chrome-footer{padding-block:42px 24px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="velum-window-care"] .chrome-header{gap:16px}[data-gp-theme="velum-window-care"] .chrome-menu .chrome-menu-heading h2{font-size:27px;line-height:1.12}[data-gp-theme="velum-window-care"] .chrome-menu .chrome-menu-heading{gap:12px}[data-gp-theme="velum-window-care"] .chrome-menu [data-menu-close]{padding:10px 14px}[data-gp-theme="velum-window-care"] .chrome-menu a{min-height:48px}[data-gp-theme="velum-window-care"] .chrome-imprint{display:grid;gap:10px}[data-gp-theme="velum-window-care"] .chrome-footer{padding-block:42px 24px}}
@media(max-width:450px){[data-gp-theme="velum-window-care"] .chrome-menu .chrome-menu-heading h2{font-size:23px}[data-gp-theme="velum-window-care"] .chrome-header .menu-trigger{font-size:14px;gap:8px;padding-inline:12px;width:auto}[data-gp-theme="velum-window-care"] .chrome-header .menu-trigger svg{width:18px;height:18px}}
@containerfs-editor-canvas (max-width: 450px){[data-gp-theme="velum-window-care"] .chrome-menu .chrome-menu-heading h2{font-size:23px}[data-gp-theme="velum-window-care"] .chrome-header .menu-trigger{font-size:14px;gap:8px;padding-inline:12px;width:auto}[data-gp-theme="velum-window-care"] .chrome-header .menu-trigger svg{width:18px;height:18px}}
[data-gp-theme="velum-window-care"] .ve-gallery-header{display:grid;grid-template-columns:1fr auto 1fr;gap:32px;border-bottom:1px solid var(--line);padding-block:34px}[data-gp-theme="velum-window-care"] .ve-gallery-header nav{justify-self:start}[data-gp-theme="velum-window-care"] .ve-gallery-header .menu-trigger{border:0;padding:10px 0;gap:20px}[data-gp-theme="velum-window-care"] .ve-gallery-header .wordmark{justify-self:center;font-size:31px;letter-spacing:.28em;padding-left:.28em}[data-gp-theme="velum-window-care"] .ve-gallery-header>.header-action{justify-self:end;display:flex;align-items:center;font-size:15px}[data-gp-theme="velum-window-care"] .ve-menu .chrome-menu-heading{border:0;padding-block:28px}[data-gp-theme="velum-window-care"] .ve-menu .chrome-menu-heading h2{font-size:31px;font-weight:400}[data-gp-theme="velum-window-care"] .ve-index-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:48px;padding:0 32px 32px}[data-gp-theme="velum-window-care"] .ve-index-layout>nav{grid-column:2;grid-row:1}[data-gp-theme="velum-window-care"] .ve-index-study{grid-column:1;grid-row:1;min-width:0}[data-gp-theme="velum-window-care"] .ve-index-study img{display:block;width:100%;height:340px;object-fit:cover}[data-gp-theme="velum-window-care"] .ve-index-study figcaption{color:var(--ink);padding-top:16px;font-size:15px}[data-gp-theme="velum-window-care"] .ve-index-study p{font:25px/1.4 var(--display);padding-block:22px;max-width:24ch}[data-gp-theme="velum-window-care"] .ve-index-study small{display:block;max-width:48ch}[data-gp-theme="velum-window-care"] .ve-gallery-index{list-style:none;margin:0;padding:0;counter-reset:gallery}[data-gp-theme="velum-window-care"] .ve-gallery-index li{counter-increment:gallery;border-top:1px solid var(--line);display:flex;align-items:baseline;gap:20px}[data-gp-theme="velum-window-care"] .ve-gallery-index li:before{content:counter(gallery,decimal-leading-zero);font-size:13px;flex:0 0 20px;color:var(--muted)}[data-gp-theme="velum-window-care"] .ve-gallery-index a{padding:13px 0;font:20px/1.25 var(--display)}[data-gp-theme="velum-window-care"] .ve-gallery-index li:last-child{border-bottom:1px solid var(--line)}[data-gp-theme="velum-window-care"] .ve-gallery-close{background:var(--wash);padding-top:80px}[data-gp-theme="velum-window-care"] .ve-closing-card{text-align:center;display:flex;flex-direction:column;align-items:center;padding:20px 20px 80px}[data-gp-theme="velum-window-care"] .ve-close-mark{font:24px var(--display);letter-spacing:.3em;padding-left:.3em}[data-gp-theme="velum-window-care"] .ve-closing-card h2{font-size:clamp(38px,4.5vw,62px);line-height:1.22;font-weight:400;margin:44px 0 28px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="velum-window-care"] .ve-closing-card h2{font-size:clamp(38px,4.5cqw,62px)}}[data-gp-theme="velum-window-care"] .ve-closing-card .chrome-close-link{font-size:18px}[data-gp-theme="velum-window-care"] .ve-closing-index{display:flex;justify-content:center;gap:40px;border-block:1px solid var(--line);padding-block:16px;margin-bottom:28px}[data-gp-theme="velum-window-care"] .ve-closing-index a{font:20px var(--display)}[data-gp-theme="velum-window-care"] .ve-gallery-close>.wrap>.chrome-details{text-align:center;margin-inline:auto;max-width:60ch}
@media(max-width:1000px){[data-gp-theme="velum-window-care"] .ve-gallery-header{gap:20px}[data-gp-theme="velum-window-care"] .ve-gallery-header>.header-action{font-size:14px}[data-gp-theme="velum-window-care"] .ve-index-layout{gap:30px}[data-gp-theme="velum-window-care"] .ve-index-study img{height:310px}}
@containerfs-editor-canvas (max-width: 1000px){[data-gp-theme="velum-window-care"] .ve-gallery-header{gap:20px}[data-gp-theme="velum-window-care"] .ve-gallery-header>.header-action{font-size:14px}[data-gp-theme="velum-window-care"] .ve-index-layout{gap:30px}[data-gp-theme="velum-window-care"] .ve-index-study img{height:310px}}
@media(max-width:900px){[data-gp-theme="velum-window-care"] .ve-gallery-header{grid-template-columns:1fr auto 1fr;padding-block:24px;gap:12px}[data-gp-theme="velum-window-care"] .ve-gallery-header .wordmark{font-size:23px;grid-column:2;grid-row:1}[data-gp-theme="velum-window-care"] .ve-gallery-header nav{grid-column:1;grid-row:1}[data-gp-theme="velum-window-care"] .ve-gallery-header>.header-action{display:none}[data-gp-theme="velum-window-care"] .ve-gallery-header .menu-trigger{padding-inline:0;gap:8px}[data-gp-theme="velum-window-care"] .ve-index-layout{display:block;padding:0 24px 28px}[data-gp-theme="velum-window-care"] .ve-index-study img{height:230px}[data-gp-theme="velum-window-care"] .ve-index-study p{font-size:24px;margin:0;padding-block:16px}[data-gp-theme="velum-window-care"] .ve-index-study small{font-size:14px}[data-gp-theme="velum-window-care"] .ve-gallery-index{margin-top:0;margin-bottom:28px}[data-gp-theme="velum-window-care"] .ve-gallery-index a{font-size:20px;padding-block:13px}[data-gp-theme="velum-window-care"] .ve-menu .chrome-menu-heading h2{font-size:25px;max-width:14ch}[data-gp-theme="velum-window-care"] .ve-closing-card{padding:8px 0 45px}[data-gp-theme="velum-window-care"] .ve-closing-card h2{font-size:36px;margin-top:30px}[data-gp-theme="velum-window-care"] .ve-close-mark{font-size:21px}[data-gp-theme="velum-window-care"] .ve-closing-index{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;text-align:center}[data-gp-theme="velum-window-care"] .ve-closing-index a{justify-content:center;font-size:19px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="velum-window-care"] .ve-gallery-header{grid-template-columns:1fr auto 1fr;padding-block:24px;gap:12px}[data-gp-theme="velum-window-care"] .ve-gallery-header .wordmark{font-size:23px;grid-column:2;grid-row:1}[data-gp-theme="velum-window-care"] .ve-gallery-header nav{grid-column:1;grid-row:1}[data-gp-theme="velum-window-care"] .ve-gallery-header>.header-action{display:none}[data-gp-theme="velum-window-care"] .ve-gallery-header .menu-trigger{padding-inline:0;gap:8px}[data-gp-theme="velum-window-care"] .ve-index-layout{display:block;padding:0 24px 28px}[data-gp-theme="velum-window-care"] .ve-index-study img{height:230px}[data-gp-theme="velum-window-care"] .ve-index-study p{font-size:24px;margin:0;padding-block:16px}[data-gp-theme="velum-window-care"] .ve-index-study small{font-size:14px}[data-gp-theme="velum-window-care"] .ve-gallery-index{margin-top:0;margin-bottom:28px}[data-gp-theme="velum-window-care"] .ve-gallery-index a{font-size:20px;padding-block:13px}[data-gp-theme="velum-window-care"] .ve-menu .chrome-menu-heading h2{font-size:25px;max-width:14ch}[data-gp-theme="velum-window-care"] .ve-closing-card{padding:8px 0 45px}[data-gp-theme="velum-window-care"] .ve-closing-card h2{font-size:36px;margin-top:30px}[data-gp-theme="velum-window-care"] .ve-close-mark{font-size:21px}[data-gp-theme="velum-window-care"] .ve-closing-index{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;text-align:center}[data-gp-theme="velum-window-care"] .ve-closing-index a{justify-content:center;font-size:19px}}

/* Menu only: approved fonts, colour tokens and all non-menu markup are preserved. */
[data-gp-theme="velum-window-care"] dialog[data-gp-id="mega-menu"].mega-menu{box-sizing:border-box;position:fixed;inset:0;min-width:0;min-height:0;height:fit-content;max-height:calc(100dvh - 48px);margin:auto;padding:0!important;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:var(--mi-paper,var(--paper));color:var(--mi-ink,var(--ink));border:0!important;border-radius:0;box-shadow:0 30px 100px #0005;--mi-paper:var(--paper);--mi-ink:var(--ink);--mi-wash:var(--wash);--mi-line:var(--line);--mi-accent:var(--accent);--mi-on:var(--on-accent)}
[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] *,[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] *:before,[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] *:after{box-sizing:border-box;min-width:0}
[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] .menu-top{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0;padding:20px 28px;border:0;background:transparent;color:inherit}
[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] .menu-top h2,[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] .menu-top p{margin:0;font:500 18px/1.35 var(--body);letter-spacing:0;max-width:none}
[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] [data-menu-close]{display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:none;min-height:44px;min-width:70px;padding:9px 14px;border:1px solid currentColor;border-radius:0;background:transparent;color:inherit;font:500 14px/1.3 var(--body);cursor:pointer}
[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] a{color:inherit;text-decoration:none;line-height:1.35;min-height:44px;overflow-wrap:anywhere}
[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] nav a:before{content:none}
[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] a:focus-visible,[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] :is(button,[role="button"]):focus-visible{outline:3px solid currentColor;outline-offset:4px}
[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] h3{font-family:var(--display);font-weight:500;line-height:1.15;letter-spacing:-.025em;margin:0}
[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] p{max-width:60ch;margin:0;font:400 15px/1.5 var(--body)}
[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] nav{min-width:0}
[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] .mi-small{font:400 13px/1.5 var(--body)}
[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] a{transition:background-color 150ms ease,color 150ms ease,text-decoration-color 150ms ease}
/* Reveal every authored surface on the first frame. Only text fades; never a
   pane, note, speech ribbon, worksheet or record sleeve. Also covers Signal,
   which does not load premium.css and otherwise inherits menu-arrive. */
[data-gp-theme="velum-window-care"] dialog[data-gp-id="mega-menu"].mega-menu[open]:not([data-closing]){animation:none!important;opacity:1;transform:none}
[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"][open]:not([data-closing])>*{animation:none!important}
[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"][open]:not([data-closing]):not([data-keyboard]) :is(h3,p,figcaption,.command-task>span:not(.fs-richtext),.command-task>small,.crate-sleeve>strong,.crate-sleeve>small),[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"][open]:not([data-closing]):not([data-keyboard]) a:not(.crate-sleeve):not(.command-task):not(.route-brief):not(.worksheet-action){animation:gp-velum-mi-menu-text 160ms ease-out both}
@keyframes gp-velum-mi-menu-text{from{opacity:.25}to{opacity:1}}
@media(hover:hover){[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] a:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}}
@media(max-width:900px){[data-gp-theme="velum-window-care"] dialog[data-gp-id="mega-menu"].mega-menu{width:100%;height:100dvh;max-height:none;margin:0;inset:0;border-radius:0;transform:none}[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] .menu-top{padding:16px 20px}[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] .menu-top h2{font-size:16px}[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] a{min-height:48px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="velum-window-care"] dialog[data-gp-id="mega-menu"].mega-menu{width:100%;height:100dvh;max-height:none;margin:0;inset:0;border-radius:0;transform:none}[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] .menu-top{padding:16px 20px}[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] .menu-top h2{font-size:16px}[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] a{min-height:48px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] *,[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] *:before,[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] *:after{animation:none!important;transition:none!important}}

[data-gp-theme="velum-window-care"] dialog[data-gp-id="mega-menu"].mega-menu{width:100%;height:100dvh;max-height:none;margin:0;box-shadow:none}
[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] .menu-top{padding:26px 5vw;border:0}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] .menu-top{padding:26px 5cqw}}[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] .menu-top h2{font:400 18px/1.4 var(--body)}[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] [data-menu-close]{border-radius:50%;width:64px;height:64px;font-size:12px;padding:0}[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] [data-menu-close] span:not(.fs-richtext){display:none}
[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] .gallery-menu{display:grid;grid-template-columns:minmax(0,1fr) 22%;grid-template-rows:1fr auto;gap:35px 7vw;min-height:calc(100dvh - 130px);padding:10px 8vw 48px 9vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] .gallery-menu{gap:35px 7cqw;padding:10px 8cqw 48px 9cqw}}
[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] .gallery-titles{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:15px}[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] .gallery-titles a{font:400 clamp(34px,4.5vw,72px)/1.15 var(--display);letter-spacing:-.045em;padding:5px 0;max-width:16ch;position:relative}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] .gallery-titles a{font:400 clamp(34px,4.5cqw,72px)/1.15 var(--display)}}[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] .gallery-titles a:hover{text-decoration:none}[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] .gallery-titles a:after{content:"";position:absolute;height:1px;bottom:0;left:0;width:0;background:currentColor;transition:width 250ms ease}[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] .gallery-titles a:hover:after{width:100%}
[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] .gallery-filmstrip{grid-column:2;grid-row:1/3;align-self:stretch;display:flex;flex-direction:column;min-height:350px;margin:0}[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] .gallery-filmstrip img{display:block;min-height:0;max-height:65dvh;flex:1;object-fit:cover;object-position:60%;filter:saturate(.55)}[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] .gallery-filmstrip figcaption{font-size:12px;padding:14px 0}
[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] .gallery-details{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;align-content:end;padding-top:14px;border-top:1px solid var(--line)}[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] .gallery-details a{display:flex;align-items:center;font-size:15px;padding:8px 0}
@media(max-width:900px){[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] [data-menu-close]{height:44px;width:64px;border-radius:30px}[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] .gallery-menu{display:flex;flex-direction:column;min-height:0;padding:18px 24px 30px;gap:28px}[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] .gallery-titles{gap:13px}[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] .gallery-titles a{font-size:35px;line-height:1.17}[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] .gallery-details{grid-template-columns:1fr;order:2}[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] .gallery-filmstrip{order:3;min-height:0;height:170px;display:block}[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] .gallery-filmstrip img{height:130px;width:100%;object-position:center 55%}[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] .gallery-filmstrip figcaption{padding:9px 0}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] [data-menu-close]{height:44px;width:64px;border-radius:30px}[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] .gallery-menu{display:flex;flex-direction:column;min-height:0;padding:18px 24px 30px;gap:28px}[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] .gallery-titles{gap:13px}[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] .gallery-titles a{font-size:35px;line-height:1.17}[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] .gallery-details{grid-template-columns:1fr;order:2}[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] .gallery-filmstrip{order:3;min-height:0;height:170px;display:block}[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] .gallery-filmstrip img{height:130px;width:100%;object-position:center 55%}[data-gp-theme="velum-window-care"] [data-gp-id="mega-menu"] .gallery-filmstrip figcaption{padding:9px 0}}

[data-gp-theme="velum-window-care"]{--paper:rgb(var(--c-paper));--ink:rgb(var(--c-ink-950));--accent:rgb(var(--c-brand-600));--wash:rgb(var(--c-paper-soft));--line:rgb(var(--c-line));--muted:rgb(var(--c-ink-400));--on-accent:var(--fs-on-brand);--focus:rgb(var(--c-accent));--work:var(--fs-surface-inverted,var(--wash));--work-ink:var(--fs-on-surface-inverted,var(--paper));--body:var(--font-sans);}
[data-gp-theme="the-second-set-afterglow"]{--ease-out:cubic-bezier(.23,1,.32,1);--ease-drawer:cubic-bezier(.32,.72,0,1)}
[data-gp-theme="the-second-set-afterglow"] *{box-sizing:border-box}[data-gp-theme="the-second-set-afterglow"]{scroll-behavior:smooth;scroll-padding-top:100px}[data-gp-theme="the-second-set-afterglow"]{margin:0}[data-gp-theme="the-second-set-afterglow"] img{max-width:100%;display:block}[data-gp-theme="the-second-set-afterglow"] :is(button,[role="button"]),[data-gp-theme="the-second-set-afterglow"] input,[data-gp-theme="the-second-set-afterglow"] select,[data-gp-theme="the-second-set-afterglow"] textarea{font:inherit}[data-gp-theme="the-second-set-afterglow"] :is(button,[role="button"]),[data-gp-theme="the-second-set-afterglow"] a,[data-gp-theme="the-second-set-afterglow"] input,[data-gp-theme="the-second-set-afterglow"] select,[data-gp-theme="the-second-set-afterglow"] textarea{touch-action:manipulation}[data-gp-theme="the-second-set-afterglow"] :is(button,[role="button"]),[data-gp-theme="the-second-set-afterglow"] a{ -webkit-tap-highlight-color:transparent}[data-gp-theme="the-second-set-afterglow"] :is(button,[role="button"]){cursor:pointer}[data-gp-theme="the-second-set-afterglow"] :is(button,[role="button"]):active{transform:translateY(1px)}[data-gp-theme="the-second-set-afterglow"] a{color:inherit;text-underline-offset:.22em}[data-gp-theme="the-second-set-afterglow"] :is(button,[role="button"]):focus-visible,[data-gp-theme="the-second-set-afterglow"] a:focus-visible,[data-gp-theme="the-second-set-afterglow"] summary:focus-visible,[data-gp-theme="the-second-set-afterglow"] input:focus-visible,[data-gp-theme="the-second-set-afterglow"] select:focus-visible,[data-gp-theme="the-second-set-afterglow"] textarea:focus-visible{outline:3px solid var(--focus,#346ddb);outline-offset:5px}[data-gp-theme="the-second-set-afterglow"] textarea{resize:vertical}[data-gp-theme="the-second-set-afterglow"] input,[data-gp-theme="the-second-set-afterglow"] textarea{caret-color:var(--focus,currentColor)}[data-gp-theme="the-second-set-afterglow"] :is(button,[role="button"]),[data-gp-theme="the-second-set-afterglow"] select,[data-gp-theme="the-second-set-afterglow"] input{min-height:44px}[data-gp-theme="the-second-set-afterglow"] summary{cursor:pointer}[data-gp-theme="the-second-set-afterglow"] section[id],[data-gp-theme="the-second-set-afterglow"] footer[id]{scroll-margin-top:110px}[data-gp-theme="the-second-set-afterglow"] [hidden]{display:none!important}[data-gp-theme="the-second-set-afterglow"] .skip-link{position:fixed;z-index:200;top:8px;left:8px;background:#fff;color:#111;padding:12px 18px;transform:translateY(-150%)}[data-gp-theme="the-second-set-afterglow"] .skip-link:focus{transform:none}
[data-gp-theme="the-second-set-afterglow"] .preview-bar{min-height:42px;background:#f6f6f2;color:#252a2a;border-bottom:1px solid #d5d8d4;font:13px/1.3 "Figtree",sans-serif;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 3vw;position:relative;z-index:30}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="the-second-set-afterglow"] .preview-bar{padding:5px 3cqw}}[data-gp-theme="the-second-set-afterglow"] .preview-bar a{white-space:nowrap}[data-gp-theme="the-second-set-afterglow"] .preview-bar [role=group]{display:flex;gap:2px;align-items:center}[data-gp-theme="the-second-set-afterglow"] .preview-bar :is(button,[role="button"]){min-height:32px;background:transparent;color:inherit;border:0;padding:6px 10px;border-radius:3px;font-size:13px;transition:background-color 150ms var(--ease-out)}[data-gp-theme="the-second-set-afterglow"] .preview-bar [aria-pressed=true]{background:#252a2a;color:#fff}[data-gp-theme="the-second-set-afterglow"] .preview-bar :is(button,[role="button"])[data-replay-intro]{border:1px solid #b6beb8}[data-gp-theme="the-second-set-afterglow"] .preview-label{color:#515953}[data-gp-theme="the-second-set-afterglow"] .preview-bar::selection{background:#252a2a;color:#fff}
[data-gp-theme="the-second-set-afterglow"] dialog.mega-menu{max-width:none;max-height:calc(100dvh - 32px);overflow:auto;border:0;padding:0;color:inherit;overscroll-behavior:contain}[data-gp-theme="the-second-set-afterglow"] dialog.mega-menu::backdrop{background:rgb(8 16 18 / .52)}[data-gp-theme="the-second-set-afterglow"] .mega-menu[open]{animation:gp-afterglow-menu-arrive 220ms var(--ease-drawer)}[data-gp-theme="the-second-set-afterglow"] .mega-menu[data-closing]{animation:gp-afterglow-menu-leave 160ms var(--ease-out) forwards}[data-gp-theme="the-second-set-afterglow"] .mega-menu[data-keyboard]{animation:none}[data-gp-theme="the-second-set-afterglow"] .menu-lock{overflow:hidden}@keyframes gp-afterglow-menu-arrive{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}@keyframes gp-afterglow-menu-leave{to{opacity:0;transform:translateY(-10px)}}
[data-gp-theme="the-second-set-afterglow"] .preloader{display:none;position:fixed;inset:0;z-index:190;place-content:center;pointer-events:none;text-align:center}[data-gp-theme="the-second-set-afterglow"] .preloader.is-active{display:grid;animation:gp-afterglow-intro-failsafe 1.3s step-end forwards}[data-gp-theme="the-second-set-afterglow"] .preloader.is-leaving{opacity:0;transition:opacity 180ms var(--ease-out)}@keyframes gp-afterglow-intro-failsafe{0%,99%{visibility:visible}100%{visibility:hidden}}
@media(max-width:650px){[data-gp-theme="the-second-set-afterglow"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="the-second-set-afterglow"] .preview-bar .preview-label{display:none}[data-gp-theme="the-second-set-afterglow"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="the-second-set-afterglow"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="the-second-set-afterglow"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="the-second-set-afterglow"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="the-second-set-afterglow"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="the-second-set-afterglow"] .preview-bar .preview-label{display:none}[data-gp-theme="the-second-set-afterglow"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="the-second-set-afterglow"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="the-second-set-afterglow"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="the-second-set-afterglow"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="the-second-set-afterglow"]{scroll-behavior:auto}[data-gp-theme="the-second-set-afterglow"] *,[data-gp-theme="the-second-set-afterglow"] *::before,[data-gp-theme="the-second-set-afterglow"] *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-gp-theme="the-second-set-afterglow"] .preloader.is-active{display:none!important}}
@media(max-width:650px){[data-gp-theme="the-second-set-afterglow"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="the-second-set-afterglow"] .preview-bar a{font-size:12px}[data-gp-theme="the-second-set-afterglow"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="the-second-set-afterglow"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="the-second-set-afterglow"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="the-second-set-afterglow"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="the-second-set-afterglow"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="the-second-set-afterglow"] .preview-bar a{font-size:12px}[data-gp-theme="the-second-set-afterglow"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="the-second-set-afterglow"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="the-second-set-afterglow"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="the-second-set-afterglow"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}


[data-gp-theme="the-second-set-afterglow"]{margin:0;background:var(--paper);color:var(--ink);font:18px/1.55 var(--body);text-rendering:optimizeLegibility}[data-gp-theme="the-second-set-afterglow"] h1,[data-gp-theme="the-second-set-afterglow"] h2,[data-gp-theme="the-second-set-afterglow"] h3,[data-gp-theme="the-second-set-afterglow"] p,[data-gp-theme="the-second-set-afterglow"] figure{margin:0}[data-gp-theme="the-second-set-afterglow"] h1,[data-gp-theme="the-second-set-afterglow"] h2,[data-gp-theme="the-second-set-afterglow"] h3{font-family:var(--display);font-weight:500;line-height:1.07;text-wrap:balance}[data-gp-theme="the-second-set-afterglow"] h1{font-size:clamp(48px,6vw,90px);letter-spacing:-.055em}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-afterglow"] h1{font-size:clamp(48px,6cqw,90px)}}[data-gp-theme="the-second-set-afterglow"] h2{font-size:clamp(35px,4vw,60px);letter-spacing:-.04em}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-afterglow"] h2{font-size:clamp(35px,4cqw,60px)}}[data-gp-theme="the-second-set-afterglow"] h3{font-size:27px;letter-spacing:-.025em}[data-gp-theme="the-second-set-afterglow"] p{max-width:65ch;text-wrap:pretty}[data-gp-theme="the-second-set-afterglow"] a{color:inherit}[data-gp-theme="the-second-set-afterglow"] img{width:100%;height:100%;object-fit:cover}[data-gp-theme="the-second-set-afterglow"] :is(button,[role="button"]){color:inherit}[data-gp-theme="the-second-set-afterglow"] :is(button,[role="button"]),[data-gp-theme="the-second-set-afterglow"] .action{border:1px solid var(--line);background:transparent;padding:11px 19px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:46px;transition:background-color 150ms var(--ease-out),color 150ms var(--ease-out),transform 150ms var(--ease-out)}[data-gp-theme="the-second-set-afterglow"] .action.primary,[data-gp-theme="the-second-set-afterglow"] :is(button,[role="button"])[aria-pressed=true]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}[data-gp-theme="the-second-set-afterglow"] .wrap{width:min(1360px,calc(100% - 96px));margin-inline:auto}[data-gp-theme="the-second-set-afterglow"] .section{padding-block:100px}[data-gp-theme="the-second-set-afterglow"] .stack>*+*{margin-top:24px}[data-gp-theme="the-second-set-afterglow"] .meta,[data-gp-theme="the-second-set-afterglow"] figcaption{font-size:14px;line-height:1.5;color:var(--muted)}[data-gp-theme="the-second-set-afterglow"] .label{font-size:15px;font-weight:600}[data-gp-theme="the-second-set-afterglow"] .section-head{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:40px}[data-gp-theme="the-second-set-afterglow"] .section-head p{max-width:400px}[data-gp-theme="the-second-set-afterglow"] .split{display:grid;grid-template-columns:1fr 1fr;gap:70px}[data-gp-theme="the-second-set-afterglow"] .split>*{min-width:0}[data-gp-theme="the-second-set-afterglow"] .choices{display:flex;gap:9px;flex-wrap:wrap}[data-gp-theme="the-second-set-afterglow"] .choices :is(button,[role="button"]){font-size:16px}[data-gp-theme="the-second-set-afterglow"] .masthead{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-block:27px;border-bottom:1px solid var(--line)}[data-gp-theme="the-second-set-afterglow"] .wordmark{text-decoration:none;font:600 30px/1 var(--display);display:flex;align-items:center;gap:12px}[data-gp-theme="the-second-set-afterglow"] .wordmark small{display:block;font:14px/1.4 var(--body);margin-top:8px}[data-gp-theme="the-second-set-afterglow"] .masthead nav{display:flex;gap:28px;align-items:center;font-size:16px}[data-gp-theme="the-second-set-afterglow"] .masthead nav a{min-height:44px;display:inline-flex;align-items:center;text-decoration:none}[data-gp-theme="the-second-set-afterglow"] .menu-trigger svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5}[data-gp-theme="the-second-set-afterglow"] .masthead .header-action{border-bottom:1px solid currentColor;text-decoration:none;padding-block:10px;font-size:16px}[data-gp-theme="the-second-set-afterglow"] .mega-menu{background:var(--paper);width:min(1300px,calc(100% - 48px));margin:80px auto auto;box-shadow:0 25px 80px #0004}[data-gp-theme="the-second-set-afterglow"] .menu-top{display:flex;align-items:start;justify-content:space-between;gap:30px;padding:36px;border-bottom:1px solid var(--line)}[data-gp-theme="the-second-set-afterglow"] .menu-top h2{font-size:44px}[data-gp-theme="the-second-set-afterglow"] .menu-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:45px;padding:40px}[data-gp-theme="the-second-set-afterglow"] .menu-grid h3{font-size:22px;margin-bottom:18px}[data-gp-theme="the-second-set-afterglow"] .menu-grid a{display:block;padding:10px 0;min-height:44px}[data-gp-theme="the-second-set-afterglow"] .menu-grid p{font-size:16px}[data-gp-theme="the-second-set-afterglow"] .menu-feature{background:var(--wash);padding:25px!important;text-decoration:none}[data-gp-theme="the-second-set-afterglow"] .menu-feature strong{font:36px/1.15 var(--display);display:block;margin:18px 0}[data-gp-theme="the-second-set-afterglow"] .menu-bottom{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding:18px 36px;font-size:14px}[data-gp-theme="the-second-set-afterglow"] .preloader{background:var(--paper);color:var(--ink)}[data-gp-theme="the-second-set-afterglow"] .preloader strong{font:56px var(--display)}[data-gp-theme="the-second-set-afterglow"] label{display:grid;gap:8px;font-size:16px}[data-gp-theme="the-second-set-afterglow"] input,[data-gp-theme="the-second-set-afterglow"] select,[data-gp-theme="the-second-set-afterglow"] textarea{width:100%;min-width:0;border:1px solid var(--line);padding:13px;background:var(--paper);color:var(--ink);border-radius:0;min-height:48px}[data-gp-theme="the-second-set-afterglow"] input::placeholder,[data-gp-theme="the-second-set-afterglow"] textarea::placeholder{color:var(--muted);opacity:1}[data-gp-theme="the-second-set-afterglow"] :is(form,[data-gp-form]){display:grid;gap:20px}[data-gp-theme="the-second-set-afterglow"] .form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}[data-gp-theme="the-second-set-afterglow"] :is(form,[data-gp-form]) :is(button,[role="button"]){justify-self:start;background:var(--accent);color:var(--on-accent);border-color:var(--accent)}[data-gp-theme="the-second-set-afterglow"] output{display:block;white-space:pre-line;overflow-wrap:anywhere;background:var(--wash);padding:22px;border:1px solid var(--line);font-size:16px}[data-gp-theme="the-second-set-afterglow"] output:empty{display:none}[data-gp-theme="the-second-set-afterglow"] .download{background:transparent;color:var(--ink);border-color:var(--line)}[data-gp-theme="the-second-set-afterglow"] details{border-top:1px solid var(--line);padding:20px 0}[data-gp-theme="the-second-set-afterglow"] summary{min-height:44px;font-weight:600}[data-gp-theme="the-second-set-afterglow"] details p{margin-top:14px}[data-gp-theme="the-second-set-afterglow"] .full-footer{padding-block:65px 25px;border-top:1px solid var(--line)}[data-gp-theme="the-second-set-afterglow"] .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}[data-gp-theme="the-second-set-afterglow"] .footer-grid h2{font-size:44px}[data-gp-theme="the-second-set-afterglow"] .footer-grid h3{font:600 17px var(--body);margin-bottom:15px}[data-gp-theme="the-second-set-afterglow"] .footer-grid a{display:block;min-height:44px;padding:8px 0}[data-gp-theme="the-second-set-afterglow"] .footer-bottom{display:flex;justify-content:space-between;gap:25px;padding-top:24px;margin-top:45px;border-top:1px solid var(--line);font-size:14px}[data-gp-theme="the-second-set-afterglow"] .tone{background:var(--wash)}[data-gp-theme="the-second-set-afterglow"] .rule{border-top:1px solid var(--line)}[data-gp-theme="the-second-set-afterglow"] .task-note{min-height:72px}[data-gp-theme="the-second-set-afterglow"] .feedback{min-height:28px;font-size:15px}[data-gp-theme="the-second-set-afterglow"] .inkbox{background:var(--ink);color:var(--paper)}[data-gp-theme="the-second-set-afterglow"] .inkbox .meta{color:var(--paper)}[data-gp-theme="the-second-set-afterglow"] fieldset{margin:0;padding:0;border:0;min-width:0}[data-gp-theme="the-second-set-afterglow"] legend{margin-bottom:12px}[data-gp-theme="the-second-set-afterglow"] input[type=checkbox]{width:21px;min-height:21px;height:21px;accent-color:var(--accent)}[data-gp-theme="the-second-set-afterglow"] .check{display:flex;align-items:start;gap:12px;padding:13px 0}[data-gp-theme="the-second-set-afterglow"] .check input{flex:none;margin-top:4px}[data-gp-theme="the-second-set-afterglow"] .menu-mark{width:70px;height:70px;display:grid;place-content:center;border:1px solid var(--line);font:40px var(--display)}[data-gp-theme="the-second-set-afterglow"] .visual-note{padding:12px 0}[data-gp-theme="the-second-set-afterglow"] .thin-rule{width:100%;height:1px;background:var(--line)}
@media(hover:hover) and (pointer:fine){[data-gp-theme="the-second-set-afterglow"] .action:hover,[data-gp-theme="the-second-set-afterglow"] :is(button,[role="button"]):hover{transform:translateY(-2px)}[data-gp-theme="the-second-set-afterglow"] .masthead a:hover,[data-gp-theme="the-second-set-afterglow"] .footer-grid a:hover{color:var(--accent)}}
@media(max-width:850px){[data-gp-theme="the-second-set-afterglow"] .wrap{width:calc(100% - 48px)}[data-gp-theme="the-second-set-afterglow"] .masthead{gap:18px}[data-gp-theme="the-second-set-afterglow"] .masthead nav>a{display:none}[data-gp-theme="the-second-set-afterglow"] .masthead .header-action{display:none}[data-gp-theme="the-second-set-afterglow"] .split{gap:35px}[data-gp-theme="the-second-set-afterglow"] .section{padding-block:70px}[data-gp-theme="the-second-set-afterglow"] .menu-grid{gap:25px}[data-gp-theme="the-second-set-afterglow"] .footer-grid{gap:30px}}
@containerfs-editor-canvas (max-width: 850px){[data-gp-theme="the-second-set-afterglow"] .wrap{width:calc(100% - 48px)}[data-gp-theme="the-second-set-afterglow"] .masthead{gap:18px}[data-gp-theme="the-second-set-afterglow"] .masthead nav>a{display:none}[data-gp-theme="the-second-set-afterglow"] .masthead .header-action{display:none}[data-gp-theme="the-second-set-afterglow"] .split{gap:35px}[data-gp-theme="the-second-set-afterglow"] .section{padding-block:70px}[data-gp-theme="the-second-set-afterglow"] .menu-grid{gap:25px}[data-gp-theme="the-second-set-afterglow"] .footer-grid{gap:30px}}
@media(max-width:600px){[data-gp-theme="the-second-set-afterglow"]{font-size:17px}[data-gp-theme="the-second-set-afterglow"] .wrap{width:calc(100% - 36px)}[data-gp-theme="the-second-set-afterglow"] .masthead{padding-block:20px}[data-gp-theme="the-second-set-afterglow"] .wordmark{font-size:25px}[data-gp-theme="the-second-set-afterglow"] .wordmark small{font-size:12px}[data-gp-theme="the-second-set-afterglow"] .menu-trigger{padding:10px 12px}[data-gp-theme="the-second-set-afterglow"] .section{padding-block:52px}[data-gp-theme="the-second-set-afterglow"] .section-head,[data-gp-theme="the-second-set-afterglow"] .split{display:grid;grid-template-columns:1fr;gap:25px}[data-gp-theme="the-second-set-afterglow"] .section-head{margin-bottom:28px}[data-gp-theme="the-second-set-afterglow"] .form-row{grid-template-columns:1fr}[data-gp-theme="the-second-set-afterglow"] .mega-menu{width:calc(100% - 20px);margin:10px auto}[data-gp-theme="the-second-set-afterglow"] .menu-top{padding:24px 20px;gap:14px}[data-gp-theme="the-second-set-afterglow"] .menu-top h2{font-size:32px}[data-gp-theme="the-second-set-afterglow"] .menu-grid{grid-template-columns:1fr;padding:20px;gap:28px}[data-gp-theme="the-second-set-afterglow"] .menu-feature{padding:20px!important}[data-gp-theme="the-second-set-afterglow"] .menu-bottom{padding:18px 20px;display:grid;gap:5px}[data-gp-theme="the-second-set-afterglow"] .footer-grid{grid-template-columns:1fr 1fr;gap:28px}[data-gp-theme="the-second-set-afterglow"] .footer-grid>div:first-child{grid-column:1/-1}[data-gp-theme="the-second-set-afterglow"] .footer-bottom{display:grid;gap:8px}[data-gp-theme="the-second-set-afterglow"] .footer-grid h2{font-size:36px}[data-gp-theme="the-second-set-afterglow"] .choices :is(button,[role="button"]){flex:1;padding:10px 12px}[data-gp-theme="the-second-set-afterglow"] h1{font-size:52px}[data-gp-theme="the-second-set-afterglow"] h2{font-size:38px}[data-gp-theme="the-second-set-afterglow"] .full-footer{padding-top:45px}[data-gp-theme="the-second-set-afterglow"] .stack>*+*{margin-top:20px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="the-second-set-afterglow"]{font-size:17px}[data-gp-theme="the-second-set-afterglow"] .wrap{width:calc(100% - 36px)}[data-gp-theme="the-second-set-afterglow"] .masthead{padding-block:20px}[data-gp-theme="the-second-set-afterglow"] .wordmark{font-size:25px}[data-gp-theme="the-second-set-afterglow"] .wordmark small{font-size:12px}[data-gp-theme="the-second-set-afterglow"] .menu-trigger{padding:10px 12px}[data-gp-theme="the-second-set-afterglow"] .section{padding-block:52px}[data-gp-theme="the-second-set-afterglow"] .section-head,[data-gp-theme="the-second-set-afterglow"] .split{display:grid;grid-template-columns:1fr;gap:25px}[data-gp-theme="the-second-set-afterglow"] .section-head{margin-bottom:28px}[data-gp-theme="the-second-set-afterglow"] .form-row{grid-template-columns:1fr}[data-gp-theme="the-second-set-afterglow"] .mega-menu{width:calc(100% - 20px);margin:10px auto}[data-gp-theme="the-second-set-afterglow"] .menu-top{padding:24px 20px;gap:14px}[data-gp-theme="the-second-set-afterglow"] .menu-top h2{font-size:32px}[data-gp-theme="the-second-set-afterglow"] .menu-grid{grid-template-columns:1fr;padding:20px;gap:28px}[data-gp-theme="the-second-set-afterglow"] .menu-feature{padding:20px!important}[data-gp-theme="the-second-set-afterglow"] .menu-bottom{padding:18px 20px;display:grid;gap:5px}[data-gp-theme="the-second-set-afterglow"] .footer-grid{grid-template-columns:1fr 1fr;gap:28px}[data-gp-theme="the-second-set-afterglow"] .footer-grid>div:first-child{grid-column:1/-1}[data-gp-theme="the-second-set-afterglow"] .footer-bottom{display:grid;gap:8px}[data-gp-theme="the-second-set-afterglow"] .footer-grid h2{font-size:36px}[data-gp-theme="the-second-set-afterglow"] .choices :is(button,[role="button"]){flex:1;padding:10px 12px}[data-gp-theme="the-second-set-afterglow"] h1{font-size:52px}[data-gp-theme="the-second-set-afterglow"] h2{font-size:38px}[data-gp-theme="the-second-set-afterglow"] .full-footer{padding-top:45px}[data-gp-theme="the-second-set-afterglow"] .stack>*+*{margin-top:20px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="the-second-set-afterglow"] :is(button,[role="button"]),[data-gp-theme="the-second-set-afterglow"] .action{transform:none!important;transition:none!important}}
[data-gp-theme="the-second-set-afterglow"]{--paper:#f8e9d4;--ink:#2f202b;--accent:#ad3b32;--on-accent:#fff6e8;--wash:#ef663d;--line:#c49d91;--muted:#6b4b53;--display:"Anton",sans-serif;--body:"Barlow",sans-serif}[data-gp-theme="the-second-set-afterglow"][data-palette="1"]{--paper:#f7e3ee;--ink:#3b2649;--accent:#74295e;--wash:#c98baa;--line:#bf99ba;--muted:#73566e}[data-gp-theme="the-second-set-afterglow"][data-palette="2"]{--paper:#e9eef6;--ink:#172e4c;--accent:#294f7c;--wash:#92b2d3;--line:#a0b3cb;--muted:#50647d}[data-gp-theme="the-second-set-afterglow"][data-mode="dark"]{--paper:#2f202b;--ink:#f8e9d4;--accent:#ffac88;--on-accent:#2f202b;--wash:#573239;--line:#986c70;--muted:#e4c8c1}[data-gp-theme="the-second-set-afterglow"][data-palette="1"][data-mode="dark"]{--paper:#302039;--wash:#4a3054;--accent:#eab2d1;--on-accent:#302039;--line:#926f9a;--muted:#dfc9e4}[data-gp-theme="the-second-set-afterglow"][data-palette="2"][data-mode="dark"]{--paper:#17283f;--wash:#2e4563;--accent:#b3d5f5;--on-accent:#17283f;--line:#6c89a7;--muted:#cad9e9}[data-gp-theme="the-second-set-afterglow"] h1,[data-gp-theme="the-second-set-afterglow"] h2,[data-gp-theme="the-second-set-afterglow"] h3{font-weight:400;letter-spacing:-.02em}[data-gp-theme="the-second-set-afterglow"] .wordmark{font:27px/.95 var(--display);letter-spacing:-.015em;display:grid;gap:8px}[data-gp-theme="the-second-set-afterglow"] .wordmark>span:not(.fs-richtext){font:13px var(--body);letter-spacing:.12em}[data-gp-theme="the-second-set-afterglow"] .masthead{padding-block:24px;border-bottom:2px solid var(--ink)}[data-gp-theme="the-second-set-afterglow"] .poster{padding-top:20px}[data-gp-theme="the-second-set-afterglow"] .poster-imprint{display:flex;justify-content:space-between;font-size:13px;border-bottom:1px solid var(--ink);padding-bottom:14px}[data-gp-theme="the-second-set-afterglow"] .poster h1{font-size:clamp(80px,13.5vw,195px);line-height:.91;margin:30px 0;letter-spacing:-.035em}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-afterglow"] .poster h1{font-size:clamp(80px,13.5cqw,195px)}}[data-gp-theme="the-second-set-afterglow"] .poster h1 br{display:none}[data-gp-theme="the-second-set-afterglow"] .poster-photo{display:grid;grid-template-columns:1fr .34fr;background:var(--wash);border:2px solid var(--ink)}[data-gp-theme="the-second-set-afterglow"] .poster-photo figure{height:490px;overflow:hidden}[data-gp-theme="the-second-set-afterglow"] .poster-photo img{object-position:center;filter:saturate(.75)}[data-gp-theme="the-second-set-afterglow"] .ticket{display:flex;flex-direction:column;justify-content:space-between;padding:30px;border-left:2px dashed var(--ink);position:relative}[data-gp-theme="the-second-set-afterglow"] .ticket>span:not(.fs-richtext){font-size:12px;letter-spacing:.08em}[data-gp-theme="the-second-set-afterglow"] .ticket p{font:35px/1.1 var(--display)}[data-gp-theme="the-second-set-afterglow"] .ticket a{font-size:16px;line-height:1.4}[data-gp-theme="the-second-set-afterglow"] .poster-caption{display:flex;justify-content:space-between;gap:20px;padding-top:16px;font-size:13px}[data-gp-theme="the-second-set-afterglow"] .performance-file{display:grid;grid-template-columns:1fr 1fr;gap:90px}[data-gp-theme="the-second-set-afterglow"] .performance-file h2{font-size:65px}[data-gp-theme="the-second-set-afterglow"] .recording-panel{border:2px solid var(--ink);padding:35px;background:var(--wash);display:flex;flex-direction:column;gap:20px;min-height:390px}[data-gp-theme="the-second-set-afterglow"] .recording-stamp{font:40px/.9 var(--display);border:3px solid var(--ink);padding:12px;width:max-content;transform:rotate(-5deg);margin-bottom:12px}[data-gp-theme="the-second-set-afterglow"] .recording-panel h3{font-size:36px}[data-gp-theme="the-second-set-afterglow"] .recording-panel p{font-size:17px}[data-gp-theme="the-second-set-afterglow"] .recording-panel [data-gp-id="recording-detail"] p{margin-bottom:17px}[data-gp-theme="the-second-set-afterglow"] .recording-panel .feedback{min-height:0}[data-gp-theme="the-second-set-afterglow"] .contact-band{background:var(--ink);color:var(--paper)}[data-gp-theme="the-second-set-afterglow"] .contact-band .section-head p{font-size:17px}[data-gp-theme="the-second-set-afterglow"] .contact-sheet{display:grid;grid-template-columns:1.3fr 1fr .9fr;gap:30px;align-items:start}[data-gp-theme="the-second-set-afterglow"] .contact-sheet figure:nth-child(2){margin-top:65px}[data-gp-theme="the-second-set-afterglow"] .contact-sheet figure:nth-child(3){margin-top:125px}[data-gp-theme="the-second-set-afterglow"] .contact-sheet img{height:350px;filter:saturate(.55)}[data-gp-theme="the-second-set-afterglow"] .contact-sheet figure:nth-child(2) img{height:290px}[data-gp-theme="the-second-set-afterglow"] .contact-sheet figure:nth-child(3) img{height:240px}[data-gp-theme="the-second-set-afterglow"] .contact-sheet figcaption{color:var(--paper);padding-top:18px}[data-gp-theme="the-second-set-afterglow"] .contact-sheet figcaption>span:not(.fs-richtext){font-size:12px;display:block;margin-bottom:10px}[data-gp-theme="the-second-set-afterglow"] .contact-sheet strong{font:28px/1.1 var(--display)}[data-gp-theme="the-second-set-afterglow"] .running-desk{display:grid;grid-template-columns:.7fr 1.3fr;border-block:2px solid var(--ink)}[data-gp-theme="the-second-set-afterglow"] .moment-tabs{display:grid;border-right:2px solid var(--ink)}[data-gp-theme="the-second-set-afterglow"] .moment-tabs :is(button,[role="button"]){border:0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;align-items:start;justify-content:center;text-align:left;padding:30px}[data-gp-theme="the-second-set-afterglow"] .moment-tabs :is(button,[role="button"]):last-child{border-bottom:0}[data-gp-theme="the-second-set-afterglow"] .moment-tabs span:not(.fs-richtext){font:35px var(--display)}[data-gp-theme="the-second-set-afterglow"] .moment-tabs small{font-size:16px}[data-gp-theme="the-second-set-afterglow"] .moment-panel{padding:45px 55px;min-height:440px;position:relative;display:flex;flex-direction:column;gap:24px;align-items:start}[data-gp-theme="the-second-set-afterglow"] .moment-panel h3{font-size:59px;max-width:12ch}[data-gp-theme="the-second-set-afterglow"] .moment-panel p{max-width:460px}[data-gp-theme="the-second-set-afterglow"] .moment-panel>a{font-size:16px}[data-gp-theme="the-second-set-afterglow"] .moment-bracket{font:37px var(--display);position:absolute;right:25px;bottom:25px}[data-gp-theme="the-second-set-afterglow"] .soundcheck{background:var(--wash)}[data-gp-theme="the-second-set-afterglow"] .event-ticket{border:2px solid var(--ink);display:grid;grid-template-columns:1fr 1fr;gap:65px;padding:55px}[data-gp-theme="the-second-set-afterglow"] .event-ticket :is(form,[data-gp-form]){border-left:2px dashed var(--ink);padding-left:55px}[data-gp-theme="the-second-set-afterglow"] .event-ticket h2{font-size:58px}[data-gp-theme="the-second-set-afterglow"] .ag-footer{background:var(--ink);color:var(--paper)}[data-gp-theme="the-second-set-afterglow"] .ag-footer .meta{color:var(--paper)}[data-gp-theme="the-second-set-afterglow"] .ag-footer h2{font-size:60px}[data-gp-theme="the-second-set-afterglow"] .backstage-stamp{font:50px/.9 var(--display);display:inline-block;border:3px solid currentColor;padding:15px;transform:rotate(-5deg)}[data-gp-theme="the-second-set-afterglow"] .mega-menu .menu-feature{background:var(--wash)}[data-gp-theme="the-second-set-afterglow"] .mega-menu h2{font-size:48px}[data-gp-theme="the-second-set-afterglow"] .ag-intro{font-size:80px!important}
@media(max-width:950px){[data-gp-theme="the-second-set-afterglow"] .poster-photo{grid-template-columns:1fr .45fr}[data-gp-theme="the-second-set-afterglow"] .ticket{padding:25px}[data-gp-theme="the-second-set-afterglow"] .ticket p{font-size:29px}[data-gp-theme="the-second-set-afterglow"] .performance-file{gap:40px}[data-gp-theme="the-second-set-afterglow"] .contact-sheet{gap:20px}[data-gp-theme="the-second-set-afterglow"] .moment-panel{padding:35px}[data-gp-theme="the-second-set-afterglow"] .event-ticket{gap:35px;padding:35px}[data-gp-theme="the-second-set-afterglow"] .event-ticket :is(form,[data-gp-form]){padding-left:30px}}
@containerfs-editor-canvas (max-width: 950px){[data-gp-theme="the-second-set-afterglow"] .poster-photo{grid-template-columns:1fr .45fr}[data-gp-theme="the-second-set-afterglow"] .ticket{padding:25px}[data-gp-theme="the-second-set-afterglow"] .ticket p{font-size:29px}[data-gp-theme="the-second-set-afterglow"] .performance-file{gap:40px}[data-gp-theme="the-second-set-afterglow"] .contact-sheet{gap:20px}[data-gp-theme="the-second-set-afterglow"] .moment-panel{padding:35px}[data-gp-theme="the-second-set-afterglow"] .event-ticket{gap:35px;padding:35px}[data-gp-theme="the-second-set-afterglow"] .event-ticket :is(form,[data-gp-form]){padding-left:30px}}
@media(max-width:600px){[data-gp-theme="the-second-set-afterglow"] .wordmark{font-size:24px}[data-gp-theme="the-second-set-afterglow"] .wordmark>span:not(.fs-richtext){font-size:11px}[data-gp-theme="the-second-set-afterglow"] .poster-imprint{font-size:11px;gap:20px}[data-gp-theme="the-second-set-afterglow"] .poster-imprint>span:not(.fs-richtext):nth-child(2){display:none}[data-gp-theme="the-second-set-afterglow"] .poster h1{font-size:75px;line-height:.94;margin:25px 0}[data-gp-theme="the-second-set-afterglow"] .poster h1 br{display:block}[data-gp-theme="the-second-set-afterglow"] .poster-photo{grid-template-columns:1fr}[data-gp-theme="the-second-set-afterglow"] .poster-photo figure{height:280px}[data-gp-theme="the-second-set-afterglow"] .ticket{border-left:0;border-top:2px dashed var(--ink);padding:23px;gap:18px}[data-gp-theme="the-second-set-afterglow"] .ticket p{font-size:29px}[data-gp-theme="the-second-set-afterglow"] .ticket p br{display:none}[data-gp-theme="the-second-set-afterglow"] .poster-caption{display:grid;gap:8px;font-size:12px}[data-gp-theme="the-second-set-afterglow"] .performance-file{grid-template-columns:1fr;gap:30px}[data-gp-theme="the-second-set-afterglow"] .performance-file h2{font-size:53px}[data-gp-theme="the-second-set-afterglow"] .recording-panel{padding:25px;min-height:360px}[data-gp-theme="the-second-set-afterglow"] .contact-sheet{grid-template-columns:1fr;gap:35px}[data-gp-theme="the-second-set-afterglow"] .contact-sheet figure:nth-child(2),[data-gp-theme="the-second-set-afterglow"] .contact-sheet figure:nth-child(3){margin-top:0}[data-gp-theme="the-second-set-afterglow"] .contact-sheet img,[data-gp-theme="the-second-set-afterglow"] .contact-sheet figure:nth-child(2) img,[data-gp-theme="the-second-set-afterglow"] .contact-sheet figure:nth-child(3) img{height:280px}[data-gp-theme="the-second-set-afterglow"] .running-desk{grid-template-columns:1fr}[data-gp-theme="the-second-set-afterglow"] .moment-tabs{border-right:0;border-bottom:2px solid var(--ink)}[data-gp-theme="the-second-set-afterglow"] .moment-tabs :is(button,[role="button"]){padding:18px 22px}[data-gp-theme="the-second-set-afterglow"] .moment-tabs span:not(.fs-richtext){font-size:28px}[data-gp-theme="the-second-set-afterglow"] .moment-panel{min-height:390px;padding:28px 22px 65px}[data-gp-theme="the-second-set-afterglow"] .moment-panel h3{font-size:45px}[data-gp-theme="the-second-set-afterglow"] .event-ticket{grid-template-columns:1fr;padding:25px;gap:30px}[data-gp-theme="the-second-set-afterglow"] .event-ticket h2{font-size:46px}[data-gp-theme="the-second-set-afterglow"] .event-ticket :is(form,[data-gp-form]){border-left:0;border-top:2px dashed var(--ink);padding:30px 0 0}[data-gp-theme="the-second-set-afterglow"] .ag-footer h2{font-size:47px}[data-gp-theme="the-second-set-afterglow"] .mega-menu h2{font-size:34px}[data-gp-theme="the-second-set-afterglow"] .ag-intro{font-size:50px!important}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="the-second-set-afterglow"] .wordmark{font-size:24px}[data-gp-theme="the-second-set-afterglow"] .wordmark>span:not(.fs-richtext){font-size:11px}[data-gp-theme="the-second-set-afterglow"] .poster-imprint{font-size:11px;gap:20px}[data-gp-theme="the-second-set-afterglow"] .poster-imprint>span:not(.fs-richtext):nth-child(2){display:none}[data-gp-theme="the-second-set-afterglow"] .poster h1{font-size:75px;line-height:.94;margin:25px 0}[data-gp-theme="the-second-set-afterglow"] .poster h1 br{display:block}[data-gp-theme="the-second-set-afterglow"] .poster-photo{grid-template-columns:1fr}[data-gp-theme="the-second-set-afterglow"] .poster-photo figure{height:280px}[data-gp-theme="the-second-set-afterglow"] .ticket{border-left:0;border-top:2px dashed var(--ink);padding:23px;gap:18px}[data-gp-theme="the-second-set-afterglow"] .ticket p{font-size:29px}[data-gp-theme="the-second-set-afterglow"] .ticket p br{display:none}[data-gp-theme="the-second-set-afterglow"] .poster-caption{display:grid;gap:8px;font-size:12px}[data-gp-theme="the-second-set-afterglow"] .performance-file{grid-template-columns:1fr;gap:30px}[data-gp-theme="the-second-set-afterglow"] .performance-file h2{font-size:53px}[data-gp-theme="the-second-set-afterglow"] .recording-panel{padding:25px;min-height:360px}[data-gp-theme="the-second-set-afterglow"] .contact-sheet{grid-template-columns:1fr;gap:35px}[data-gp-theme="the-second-set-afterglow"] .contact-sheet figure:nth-child(2),[data-gp-theme="the-second-set-afterglow"] .contact-sheet figure:nth-child(3){margin-top:0}[data-gp-theme="the-second-set-afterglow"] .contact-sheet img,[data-gp-theme="the-second-set-afterglow"] .contact-sheet figure:nth-child(2) img,[data-gp-theme="the-second-set-afterglow"] .contact-sheet figure:nth-child(3) img{height:280px}[data-gp-theme="the-second-set-afterglow"] .running-desk{grid-template-columns:1fr}[data-gp-theme="the-second-set-afterglow"] .moment-tabs{border-right:0;border-bottom:2px solid var(--ink)}[data-gp-theme="the-second-set-afterglow"] .moment-tabs :is(button,[role="button"]){padding:18px 22px}[data-gp-theme="the-second-set-afterglow"] .moment-tabs span:not(.fs-richtext){font-size:28px}[data-gp-theme="the-second-set-afterglow"] .moment-panel{min-height:390px;padding:28px 22px 65px}[data-gp-theme="the-second-set-afterglow"] .moment-panel h3{font-size:45px}[data-gp-theme="the-second-set-afterglow"] .event-ticket{grid-template-columns:1fr;padding:25px;gap:30px}[data-gp-theme="the-second-set-afterglow"] .event-ticket h2{font-size:46px}[data-gp-theme="the-second-set-afterglow"] .event-ticket :is(form,[data-gp-form]){border-left:0;border-top:2px dashed var(--ink);padding:30px 0 0}[data-gp-theme="the-second-set-afterglow"] .ag-footer h2{font-size:47px}[data-gp-theme="the-second-set-afterglow"] .mega-menu h2{font-size:34px}[data-gp-theme="the-second-set-afterglow"] .ag-intro{font-size:50px!important}}

@media(max-width:600px){[data-gp-theme="the-second-set-afterglow"] .moment-panel{min-height:530px}}

@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="the-second-set-afterglow"] .moment-panel{min-height:530px}}

/* Readable metadata on the saturated poster stock. */
[data-gp-theme="the-second-set-afterglow"][data-mode="light"][data-palette="0"]{--muted:#2f202b}
[data-gp-theme="the-second-set-afterglow"][data-mode="light"][data-palette="1"]{--muted:#3b2649}
[data-gp-theme="the-second-set-afterglow"][data-mode="light"][data-palette="2"]{--muted:#172e4c}

/* Preview chrome and accessibility only. Theme authors own the visual worlds. */
[data-gp-theme="the-second-set-afterglow"][data-premium]{color-scheme:light;background:var(--paper);color:var(--ink);accent-color:var(--accent);scrollbar-color:var(--accent) var(--wash)}
[data-gp-theme="the-second-set-afterglow"][data-premium][data-mode=dark]{color-scheme:dark}
[data-gp-theme="the-second-set-afterglow"][data-premium] ::selection{background:var(--accent);color:var(--on-accent)}
[data-gp-theme="the-second-set-afterglow"][data-premium] :is(input,textarea){caret-color:var(--accent)}
[data-gp-theme="the-second-set-afterglow"][data-premium] :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--accent);outline-offset:4px}
[data-gp-theme="the-second-set-afterglow"][data-premium] :is(input,select,textarea){max-width:100%}
[data-gp-theme="the-second-set-afterglow"][data-premium] :is(input,textarea)::placeholder{color:var(--muted);opacity:1}
[data-gp-theme="the-second-set-afterglow"][data-premium] .preview-bar{display:flex;flex-wrap:wrap;justify-content:flex-start;background:#f5f5f0;color:#242d2c;border-color:#cbd0c8;gap:8px 14px;position:relative;font:13px/1.3 "Figtree",sans-serif;min-height:52px;padding:6px 3vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="the-second-set-afterglow"][data-premium] .preview-bar{padding:6px 3cqw}}
[data-gp-theme="the-second-set-afterglow"][data-premium] .preview-bar>a{font-weight:600;min-height:40px;display:flex;align-items:center}
[data-gp-theme="the-second-set-afterglow"][data-premium] .preview-bar [role=group]{margin-left:auto;display:flex;gap:2px}
[data-gp-theme="the-second-set-afterglow"][data-premium] .preview-bar :is(button,select){font:13px/1.3 "Figtree",sans-serif;min-height:40px;max-width:100%;border-radius:3px}
[data-gp-theme="the-second-set-afterglow"][data-premium] .preview-bar select{background:#fff;color:#242d2c;border:1px solid #a2ada4;padding:7px 24px 7px 9px}
[data-gp-theme="the-second-set-afterglow"][data-premium] .preview-bar [aria-pressed=true]{background:#242d2c;color:#fff}
[data-gp-theme="the-second-set-afterglow"][data-premium] .preview-bar .preview-label{font:12px/1.3 "Figtree",sans-serif;color:#48554f}
[data-gp-theme="the-second-set-afterglow"][data-premium] .preview-bar :focus-visible{outline-color:#254fbb}
[data-gp-theme="the-second-set-afterglow"][data-premium] .preview-bar [data-replay-intro]{font-size:12px;margin:0}
[data-gp-theme="the-second-set-afterglow"][data-premium] .preview-bar [data-replay-intro]::after{content:none}
[data-gp-theme="the-second-set-afterglow"][data-premium] .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
[data-gp-theme="the-second-set-afterglow"][data-premium] .premium-action{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 22px;background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);text-decoration:none;font-weight:600;transition:transform 150ms var(--ease-out),background-color 150ms var(--ease-out)}
[data-gp-theme="the-second-set-afterglow"][data-premium] .premium-action:active{transform:translateY(1px)}
[data-gp-theme="the-second-set-afterglow"][data-premium] .premium-action:disabled{opacity:.6;cursor:not-allowed}
[data-gp-theme="the-second-set-afterglow"][data-premium] :is(h1,h2,h3){text-wrap:balance}
[data-gp-theme="the-second-set-afterglow"][data-premium] p{text-wrap:pretty}
/* Put down the opaque menu surface immediately, then introduce its content. */
[data-gp-theme="the-second-set-afterglow"][data-premium] .mega-menu[open]:not([data-closing]){animation:none}
[data-gp-theme="the-second-set-afterglow"][data-premium] .mega-menu[open]:not([data-closing])>:not(:first-child){animation:gp-afterglow-premium-menu-content 160ms var(--ease-out)}
[data-gp-theme="the-second-set-afterglow"][data-premium] .mega-menu[data-keyboard]>:not(:first-child){animation:none!important}
[data-gp-theme="the-second-set-afterglow"][data-premium][data-input=keyboard] :is(button,[role="button"]):active{transform:none}
@keyframes gp-afterglow-premium-menu-content{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:650px){
 [data-gp-theme="the-second-set-afterglow"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="the-second-set-afterglow"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="the-second-set-afterglow"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="the-second-set-afterglow"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="the-second-set-afterglow"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="the-second-set-afterglow"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="the-second-set-afterglow"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="the-second-set-afterglow"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@containerfs-editor-canvas (max-width: 650px){
 [data-gp-theme="the-second-set-afterglow"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="the-second-set-afterglow"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="the-second-set-afterglow"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="the-second-set-afterglow"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="the-second-set-afterglow"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="the-second-set-afterglow"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="the-second-set-afterglow"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="the-second-set-afterglow"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@media(prefers-reduced-motion:reduce){[data-gp-theme="the-second-set-afterglow"][data-premium] .premium-action{transition:none;transform:none}}

/* Website page primitives and actual layout modes. Authored theme CSS owns identity. */
[data-gp-theme="the-second-set-afterglow"][data-framed=true] .preview-bar,[data-gp-theme="the-second-set-afterglow"][data-framed=true] .site-open-preview{display:none!important}
[data-gp-theme="the-second-set-afterglow"][data-site]{--ip-paper:var(--paper,#f4f2eb);--ip-ink:var(--ink,#192f2c);--ip-wash:var(--wash,var(--paper,#e6e9df));--ip-accent:var(--accent,var(--rust,#315b50));--ip-on:var(--on-accent,var(--paper,#fff));--ip-muted:var(--muted,var(--ink,#45534d));--ip-line:var(--line,var(--rule,#a1aca5))}
[data-gp-theme="the-second-set-afterglow"][data-inside]{background:var(--ip-paper);color:var(--ip-ink);font:18px/1.65 var(--body,"Figtree",sans-serif)}
[data-gp-theme="the-second-set-afterglow"] .inside-page :is(h1,h2,h3){font-family:var(--display,inherit);color:inherit;letter-spacing:-.035em;line-height:1.1;font-weight:500;max-width:22ch}
[data-gp-theme="the-second-set-afterglow"] .inside-page h1{font-size:clamp(42px,5.3vw,80px);margin:0 0 26px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="the-second-set-afterglow"] .inside-page h1{font-size:clamp(42px,5.3cqw,80px)}}[data-gp-theme="the-second-set-afterglow"] .inside-page h2{font-size:clamp(30px,3vw,49px);margin:0 0 24px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-afterglow"] .inside-page h2{font-size:clamp(30px,3cqw,49px)}}[data-gp-theme="the-second-set-afterglow"] .inside-page h3{font-size:25px;margin:0 0 15px}
[data-gp-theme="the-second-set-afterglow"] .inside-page :is(p,li){max-width:72ch}[data-gp-theme="the-second-set-afterglow"] .inside-page p{margin:0 0 20px}[data-gp-theme="the-second-set-afterglow"] .inside-page a{color:inherit}[data-gp-theme="the-second-set-afterglow"] .inside-page img{max-width:100%;width:100%;height:100%;object-fit:cover}[data-gp-theme="the-second-set-afterglow"] .inside-page figure{margin:0}[data-gp-theme="the-second-set-afterglow"] .inside-page :is(button,[role="button"]){color:inherit}
[data-gp-theme="the-second-set-afterglow"] .ip-hero,[data-gp-theme="the-second-set-afterglow"] .ip-section{width:min(1320px,calc(100% - 96px));margin-inline:auto;padding-block:70px}[data-gp-theme="the-second-set-afterglow"] .ip-hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:65px}[data-gp-theme="the-second-set-afterglow"] .ip-opening{min-width:0}[data-gp-theme="the-second-set-afterglow"] .ip-hero:has(>.ip-opening:only-child){grid-template-columns:1fr}[data-gp-theme="the-second-set-afterglow"] .ip-art{height:430px;position:relative}[data-gp-theme="the-second-set-afterglow"] .ip-art img{object-fit:cover}[data-gp-theme="the-second-set-afterglow"] .ip-art figcaption,[data-gp-theme="the-second-set-afterglow"] .ip-caption{font-size:14px;line-height:1.5;color:var(--ip-muted);padding-top:10px}[data-gp-theme="the-second-set-afterglow"] .ip-section>.ip-caption{margin-bottom:20px}[data-gp-theme="the-second-set-afterglow"] .ip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}[data-gp-theme="the-second-set-afterglow"] .ip-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px}[data-gp-theme="the-second-set-afterglow"] .ip-card{min-width:0;border-top:1px solid var(--ip-line);padding:25px 0}[data-gp-theme="the-second-set-afterglow"] .ip-card figure{height:230px;margin-bottom:25px}[data-gp-theme="the-second-set-afterglow"] .ip-reading{width:min(76ch,calc(100% - 48px));margin-inline:auto;padding-block:55px}[data-gp-theme="the-second-set-afterglow"] .ip-reading h2{margin-top:40px}[data-gp-theme="the-second-set-afterglow"] .ip-ledger{margin:24px 0}[data-gp-theme="the-second-set-afterglow"] .ip-ledger>div{display:grid;grid-template-columns:1fr 1.4fr;gap:20px;border-top:1px solid var(--ip-line);padding:15px 0}[data-gp-theme="the-second-set-afterglow"] .ip-ledger dt{font-weight:600}[data-gp-theme="the-second-set-afterglow"] .ip-ledger dd{margin:0}[data-gp-theme="the-second-set-afterglow"] .ip-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border:1px solid var(--ip-accent);background:var(--ip-accent);color:var(--ip-on)!important;text-decoration:none;font-size:16px;transition:transform 150ms var(--ease-out)}[data-gp-theme="the-second-set-afterglow"] .ip-action.secondary{background:transparent;color:var(--ip-ink)!important;border-color:var(--ip-line)}[data-gp-theme="the-second-set-afterglow"] .ip-band{padding:55px max(24px,calc((100% - 1320px)/2));background:var(--ip-wash);color:var(--ip-ink)}[data-gp-theme="the-second-set-afterglow"] .ip-band p{max-width:65ch}[data-gp-theme="the-second-set-afterglow"] .ip-note{font-size:15px;border-left:3px solid var(--ip-accent);padding:12px 18px;background:var(--ip-wash);color:var(--ip-ink);margin-block:20px}[data-gp-theme="the-second-set-afterglow"] .ip-form{display:grid;gap:22px}[data-gp-theme="the-second-set-afterglow"] .ip-form label{display:grid;gap:8px;font-size:16px}[data-gp-theme="the-second-set-afterglow"] .ip-form :is(input,textarea,select){width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid var(--ip-line);background:var(--ip-paper);color:var(--ip-ink);font:inherit;border-radius:0}[data-gp-theme="the-second-set-afterglow"] .ip-form :is(input,textarea)::placeholder{color:var(--ip-muted);opacity:1}[data-gp-theme="the-second-set-afterglow"] .ip-field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}[data-gp-theme="the-second-set-afterglow"] .ip-form :is(button,[role="button"]){justify-self:start}[data-gp-theme="the-second-set-afterglow"] .ip-form textarea{min-height:135px}[data-gp-theme="the-second-set-afterglow"] .inside-page output[data-draft-output]{display:block;white-space:pre-wrap;padding:25px;background:var(--ip-wash);color:var(--ip-ink);border:1px solid var(--ip-line);overflow-wrap:anywhere}[data-gp-theme="the-second-set-afterglow"] .ip-checks{display:grid;gap:12px}[data-gp-theme="the-second-set-afterglow"] .ip-checks label{display:flex;align-items:start;gap:14px;border-top:1px solid var(--ip-line);padding:16px 0;min-height:52px}[data-gp-theme="the-second-set-afterglow"] .ip-checks input{width:22px;height:22px;min-height:22px;flex-shrink:0;margin-top:4px;accent-color:var(--ip-accent)}[data-gp-theme="the-second-set-afterglow"] .inside-page details{border-top:1px solid var(--ip-line);padding:18px 0}[data-gp-theme="the-second-set-afterglow"] .inside-page summary{min-height:44px;font-size:21px;cursor:pointer}[data-gp-theme="the-second-set-afterglow"] .inside-page details p{padding:16px 0 0}[data-gp-theme="the-second-set-afterglow"] .inside-page [data-filter-group]>[role=group]{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}[data-gp-theme="the-second-set-afterglow"] .inside-page [data-filter]{padding:10px 18px;min-height:44px;background:transparent;color:var(--ip-ink);border:1px solid var(--ip-line)}[data-gp-theme="the-second-set-afterglow"] .inside-page [data-filter][aria-pressed=true]{background:var(--ip-accent);color:var(--ip-on)}[data-gp-theme="the-second-set-afterglow"] .site-directory{padding:30px!important;background:var(--ip-paper)!important;color:var(--ip-ink)!important;border-top:1px solid var(--ip-line)}[data-gp-theme="the-second-set-afterglow"] .site-directory h3{font:600 17px/1.4 var(--body,"Figtree",sans-serif);margin:0 0 16px}[data-gp-theme="the-second-set-afterglow"] .site-directory>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 25px}[data-gp-theme="the-second-set-afterglow"] .site-directory a{display:block;font:16px/1.5 var(--body,"Figtree",sans-serif)!important;min-height:44px;padding:10px 0!important;color:inherit!important;text-decoration:none}[data-gp-theme="the-second-set-afterglow"] .site-directory a[aria-current=page]{text-decoration:underline;font-weight:600!important}[data-gp-theme="the-second-set-afterglow"] .site-open-preview{display:block;padding:10px 20px;background:#eef0eb;color:#20322d;font:14px/1.4 "Figtree",sans-serif;text-align:center}
[data-gp-theme="the-second-set-afterglow"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){width:100%;padding-inline:max(24px,4vw)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="the-second-set-afterglow"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){padding-inline:max(24px,4cqw)}}
[data-gp-theme="the-second-set-afterglow"]:has([data-gp-theme="the-second-set-afterglow"][data-layout=boxed]){background:#a6afa9}[data-gp-theme="the-second-set-afterglow"][data-layout=boxed]{width:min(1200px,calc(100% - 64px));margin-inline:auto;box-shadow:0 0 0 1px #0002,0 20px 70px #0002;min-height:100dvh;background:var(--ip-paper)}
[data-gp-theme="the-second-set-afterglow"][data-layout=centered] :is(.ip-hero,.opening,.cake-opening,.gp-title,.book-opening,.poster-opening,.portal-opening,.destination-opening,.route-opening){text-align:center}
[data-gp-theme="the-second-set-afterglow"][data-layout=centered] .ip-hero{grid-template-columns:1fr;max-width:1000px;justify-items:center}[data-gp-theme="the-second-set-afterglow"][data-layout=centered] .ip-opening{display:grid;justify-items:center}[data-gp-theme="the-second-set-afterglow"][data-layout=centered] .ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="the-second-set-afterglow"][data-layout=centered] .ip-art{width:min(760px,100%)}
[data-gp-theme="the-second-set-afterglow"][data-layout=minimalist] :is(.ip-section,.ip-hero){padding-block:42px}[data-gp-theme="the-second-set-afterglow"][data-layout=minimalist] :is(.ip-card,.ip-art,.ip-note){border-radius:0;box-shadow:none;background-image:none}[data-gp-theme="the-second-set-afterglow"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5vw,64px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-afterglow"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5cqw,64px)}}[data-gp-theme="the-second-set-afterglow"][data-layout=minimalist] :is(.mullions,.glaze-rim,.cake-sticker,.paper-corner){opacity:0}[data-gp-theme="the-second-set-afterglow"][data-layout=minimalist] :is(.ip-art img,.opening img){border-radius:0}
[data-gp-theme="the-second-set-afterglow"][data-layout=edge-hero] .ip-hero{width:100%;padding-inline:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="the-second-set-afterglow"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4vw)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-afterglow"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4cqw)}}[data-gp-theme="the-second-set-afterglow"][data-layout=edge-hero] .ip-art{height:600px}[data-gp-theme="the-second-set-afterglow"][data-layout=edge-hero] .ip-art img{border-radius:0}[data-gp-theme="the-second-set-afterglow"][data-layout=edge-hero] .ip-art figcaption{padding:8px 20px}
[data-gp-theme="the-second-set-afterglow"][data-layout=full-width] .inside-page>.ip-opening{width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="the-second-set-afterglow"][data-layout=full-width] .inside-page>.ip-opening{padding-inline:4cqw}}
[data-gp-theme="the-second-set-afterglow"][data-layout=centered] .inside-page>.ip-opening{display:flex;flex-direction:column;align-items:center;text-align:center;width:min(1000px,calc(100% - 48px));gap:30px}[data-gp-theme="the-second-set-afterglow"][data-layout=centered] .inside-page>.ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="the-second-set-afterglow"][data-layout=centered] .inside-page>.ip-opening>figure{width:min(780px,100%)}
[data-gp-theme="the-second-set-afterglow"][data-layout=minimalist] .inside-page>.ip-opening{padding-block:38px}[data-gp-theme="the-second-set-afterglow"][data-layout=minimalist] .inside-page>.ip-opening :is(h1,figure){box-shadow:none;border-radius:0}
[data-gp-theme="the-second-set-afterglow"][data-layout=edge-hero] .inside-page>.ip-opening{width:100%;max-width:none;padding:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="the-second-set-afterglow"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-afterglow"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4cqw}}[data-gp-theme="the-second-set-afterglow"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:600px;max-width:none;align-self:stretch}[data-gp-theme="the-second-set-afterglow"][data-layout=edge-hero] .inside-page>.ip-opening>figure img{height:100%;object-fit:cover;border-radius:0}
/* Existing home compositions gain real width/spacing modes without replacing their content. */
[data-gp-theme="the-second-set-afterglow"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="the-second-set-afterglow"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){padding-inline:4cqw}}
[data-gp-theme="the-second-set-afterglow"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child{text-align:center}
[data-gp-theme="the-second-set-afterglow"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(h1,p){margin-inline:auto}[data-gp-theme="the-second-set-afterglow"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(.opening-copy,.elevation-copy,.cake-copy,.hero-copy){text-align:center}
[data-gp-theme="the-second-set-afterglow"][data-layout=minimalist]:not([data-inside]) .gp-source-main>section{padding-block:44px}[data-gp-theme="the-second-set-afterglow"][data-layout=minimalist]:not([data-inside]) :is(.hero-sleeve,.calendar,.hello-note,.open-book){box-shadow:none}
[data-gp-theme="the-second-set-afterglow"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child{width:100%;max-width:none;margin-inline:0;padding-inline:0;background:var(--ip-wash)}[data-gp-theme="the-second-set-afterglow"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-afterglow"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4cqw}}[data-gp-theme="the-second-set-afterglow"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:600px}
@media(hover:hover) and (pointer:fine){[data-gp-theme="the-second-set-afterglow"] .ip-action:hover{transform:translateY(-2px)}[data-gp-theme="the-second-set-afterglow"] .site-directory a:hover{text-decoration:underline}}
@media(max-width:850px){[data-gp-theme="the-second-set-afterglow"] .ip-hero,[data-gp-theme="the-second-set-afterglow"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="the-second-set-afterglow"] .ip-hero{gap:30px}[data-gp-theme="the-second-set-afterglow"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="the-second-set-afterglow"] .ip-two{gap:30px}[data-gp-theme="the-second-set-afterglow"] .ip-art{height:340px}}
@containerfs-editor-canvas (max-width: 850px){[data-gp-theme="the-second-set-afterglow"] .ip-hero,[data-gp-theme="the-second-set-afterglow"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="the-second-set-afterglow"] .ip-hero{gap:30px}[data-gp-theme="the-second-set-afterglow"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="the-second-set-afterglow"] .ip-two{gap:30px}[data-gp-theme="the-second-set-afterglow"] .ip-art{height:340px}}
@media(max-width:600px){[data-gp-theme="the-second-set-afterglow"] .ip-hero,[data-gp-theme="the-second-set-afterglow"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="the-second-set-afterglow"] .ip-hero,[data-gp-theme="the-second-set-afterglow"] .ip-two,[data-gp-theme="the-second-set-afterglow"] .ip-grid,[data-gp-theme="the-second-set-afterglow"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="the-second-set-afterglow"] .ip-art{height:300px}[data-gp-theme="the-second-set-afterglow"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="the-second-set-afterglow"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="the-second-set-afterglow"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="the-second-set-afterglow"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="the-second-set-afterglow"] .site-directory{padding:22px!important}[data-gp-theme="the-second-set-afterglow"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="the-second-set-afterglow"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="the-second-set-afterglow"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="the-second-set-afterglow"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="the-second-set-afterglow"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="the-second-set-afterglow"] .ip-hero,[data-gp-theme="the-second-set-afterglow"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="the-second-set-afterglow"] .ip-hero,[data-gp-theme="the-second-set-afterglow"] .ip-two,[data-gp-theme="the-second-set-afterglow"] .ip-grid,[data-gp-theme="the-second-set-afterglow"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="the-second-set-afterglow"] .ip-art{height:300px}[data-gp-theme="the-second-set-afterglow"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="the-second-set-afterglow"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="the-second-set-afterglow"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="the-second-set-afterglow"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="the-second-set-afterglow"] .site-directory{padding:22px!important}[data-gp-theme="the-second-set-afterglow"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="the-second-set-afterglow"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="the-second-set-afterglow"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="the-second-set-afterglow"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="the-second-set-afterglow"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@media(max-width:600px){[data-gp-theme="the-second-set-afterglow"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="the-second-set-afterglow"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="the-second-set-afterglow"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="the-second-set-afterglow"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="the-second-set-afterglow"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="the-second-set-afterglow"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
[data-gp-theme="the-second-set-afterglow"] .inside-page a[aria-disabled=true]{cursor:default;text-decoration:none}
[data-gp-theme="the-second-set-afterglow"][data-layout=edge-hero] .inside-page .ip-hero .ip-art{transform:none}
@media(prefers-reduced-motion:reduce){[data-gp-theme="the-second-set-afterglow"] .ip-action{transition:none;transform:none!important}}
/* Task actions always use an explicit contrasting pair, including themed form overrides. */
[data-gp-theme="the-second-set-afterglow"][data-site] .inside-page :is(.ip-form :is(button,[role="button"]):is([type="submit"],[data-gp-button-type="submit"]),[data-save-draft],.ip-action:not(.secondary)){
 background:var(--ip-ink)!important;color:var(--ip-paper)!important;border:1px solid var(--ip-ink)!important;
 min-height:48px;padding:12px 22px;font-size:16px;line-height:1.4;
}
[data-gp-theme="the-second-set-afterglow"][data-site] .inside-page .ip-action.secondary{background:transparent!important;color:var(--ip-ink)!important;border-color:var(--ip-line)!important}
[data-gp-theme="the-second-set-afterglow"][data-site] .inside-page .ip-form :is(select,select option){background-color:var(--ip-paper);color:var(--ip-ink)}
[data-gp-theme="the-second-set-afterglow"] .site-plan-label{display:block;font:400 14px/1.45 var(--body,sans-serif);margin-top:6px;text-decoration:none;opacity:1}
[data-gp-theme="the-second-set-afterglow"] a[data-preview-plan]{cursor:pointer}[data-gp-theme="the-second-set-afterglow"] .inside-page a[data-preview-plan]{text-decoration:none}
[data-gp-theme="the-second-set-afterglow"][data-site] .site-directory a[data-preview-plan]{display:flex;flex-direction:column;align-items:flex-start;gap:2px}[data-gp-theme="the-second-set-afterglow"] .site-directory .site-plan-label{font-size:13px;margin:0}


[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-opening,[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-section{width:min(1240px,calc(100% - 72px));margin-inline:auto;padding:64px 0;border-bottom:1px solid var(--line,#a8b6bb)}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-opening{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:56px;align-items:center;padding-top:76px}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-opening>div:only-child{grid-column:1/-1;max-width:920px}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-opening h1{font-family:var(--display,serif);font-size:clamp(46px,6vw,88px);line-height:1.05;margin:0 0 28px;overflow-wrap:break-word}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-opening h1{font-size:clamp(46px,6cqw,88px)}}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-lead{font-size:clamp(20px,2vw,25px);max-width:52ch;line-height:1.5}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-lead{font-size:clamp(20px,2cqw,25px)}}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-section h2{font-size:clamp(30px,3.5vw,52px);margin:0 0 28px;max-width:24ch}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-section h2{font-size:clamp(30px,3.5cqw,52px)}}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-section h3{font-size:clamp(23px,2.4vw,32px);margin-bottom:15px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-section h3{font-size:clamp(23px,2.4cqw,32px)}}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-section p{max-width:68ch;line-height:1.65}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-section p+p{margin-top:18px}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-columns article{border-top:2px solid var(--accent,#345c68);padding-top:22px}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-reading{max-width:75ch}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-media{margin:0;min-width:0}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-media img{width:100%;height:auto;max-height:520px;min-height:240px;object-fit:cover;display:block}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-media figcaption{font-size:14px;margin-top:12px;line-height:1.5}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-ledger{margin:0;min-width:0}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-ledger>div{display:grid;grid-template-columns:minmax(140px,.6fr) minmax(0,1.6fr);gap:26px;border-top:1px solid var(--line,#aaa);padding:20px 0}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-ledger dt{font-weight:650}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-ledger dd{margin:0;max-width:65ch}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-detail{display:grid;grid-template-columns:1fr 1.35fr;gap:55px}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-action{display:inline-flex;align-items:center;min-height:48px;padding:13px 20px;border:1px solid currentColor;margin-top:24px;text-decoration:none;font-weight:650}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-form{max-width:780px;display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:28px}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-form label{display:grid;gap:9px;min-width:0;font-size:17px;font-weight:600}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-form label:has(textarea){grid-column:1/-1}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-form input,[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-form select,[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-form textarea{box-sizing:border-box;width:100%;min-width:0;min-height:48px;background:var(--paper,#fff);color:var(--ink,#123);border:1px solid var(--line,#aaa);font:inherit;padding:12px;border-radius:0}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-form :is(button,[role="button"]){justify-self:start;min-height:48px;padding:12px 24px}
[data-gp-theme="the-second-set-afterglow"][data-inside] [data-draft-output]{max-width:780px;white-space:pre-wrap;overflow-wrap:anywhere;margin:24px 0;padding:24px;border:1px solid var(--line,#aaa)}
[data-gp-theme="the-second-set-afterglow"][data-inside] [hidden]{display:none!important}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-checklist{max-width:800px}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-checklist label{display:flex;align-items:start;gap:14px;padding:18px 0;border-top:1px solid var(--line,#aaa);font:inherit}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-checklist input{width:22px;height:22px;min-height:22px;flex:none;accent-color:var(--accent,#456);margin:4px 0 0}
[data-gp-theme="the-second-set-afterglow"][data-inside] [data-check-count],[data-gp-theme="the-second-set-afterglow"][data-inside] [data-filter-count]{display:block;font-size:15px;padding:14px 0;background:transparent;border:0}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-filter-buttons,[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-choice [role=group]{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-filter-buttons :is(button,[role="button"]),[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-choice :is(button,[role="button"]){padding:12px 20px;min-height:48px;background:var(--paper,#fff);color:var(--ink,#123);border:1px solid currentColor}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-filter-buttons :is(button,[role="button"])[aria-pressed=true],[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-choice :is(button,[role="button"])[aria-pressed=true]{background:var(--ink,#123);color:var(--paper,#fff)}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-records{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-records article{padding:28px;border:1px solid var(--line,#aaa);min-width:0}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-record-label{display:block;margin-bottom:24px;font-size:14px}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-choice [data-note-result]{padding:24px;background:var(--wash,#eee);border-left:3px solid var(--accent,#456);min-height:100px}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-closing{background:var(--wash,#eee);padding:38px!important;margin-block:32px!important}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-section details{padding:21px 0;border-top:1px solid var(--line,#aaa)}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-section summary{min-height:44px;cursor:pointer;font-weight:650}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-section details p{margin-top:12px}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-sequence{list-style:none;margin:0;padding:0;counter-reset:sequence}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-sequence li{counter-increment:sequence;display:grid;grid-template-columns:64px 1fr;gap:24px;border-top:1px solid var(--line,#aaa);padding:28px 0}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-sequence li:before{content:counter(sequence,decimal-leading-zero);font:32px var(--display,serif);color:var(--accent,#456)}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-sequence h3{margin-bottom:12px}
[data-gp-theme="the-second-set-afterglow"][data-inside] :is(a,:is(button,[role="button"]),input,select,textarea,summary):focus-visible{outline:3px solid var(--accent,#456);outline-offset:4px}
@media(hover:hover) and (pointer:fine){[data-gp-theme="the-second-set-afterglow"][data-inside] :is(.ip-action,.ip-filter-buttons :is(button,[role="button"]),.ip-choice button){transition:transform 150ms ease,opacity 150ms ease}[data-gp-theme="the-second-set-afterglow"][data-inside] :is(.ip-action,.ip-filter-buttons :is(button,[role="button"]),.ip-choice button):hover{transform:translateY(-2px)}}
@media(max-width:760px){[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-opening,[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-section{width:calc(100% - 36px);padding-block:42px}[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-opening,[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-detail{grid-template-columns:1fr;gap:28px}[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-columns,[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-records{grid-template-columns:1fr;gap:28px}[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-opening h1{font-size:clamp(41px,10vw,68px)}[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-form{grid-template-columns:1fr}[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-ledger>div{grid-template-columns:1fr;gap:8px}[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-closing{padding:26px!important}[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-sequence li{grid-template-columns:44px 1fr;gap:12px}}
@containerfs-editor-canvas (max-width: 760px){[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-opening,[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-section{width:calc(100% - 36px);padding-block:42px}[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-opening,[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-detail{grid-template-columns:1fr;gap:28px}[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-columns,[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-records{grid-template-columns:1fr;gap:28px}[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-opening h1{font-size:clamp(41px,10cqw,68px)}[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-form{grid-template-columns:1fr}[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-ledger>div{grid-template-columns:1fr;gap:8px}[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-closing{padding:26px!important}[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-sequence li{grid-template-columns:44px 1fr;gap:12px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="the-second-set-afterglow"][data-inside] :is(button,.ip-action){transition:none!important;transform:none!important}}
[data-gp-theme="the-second-set-afterglow"][data-inside][data-keyboard] :is(button,.ip-action){transform:none!important}

[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-opening{display:block;border-top:8px solid var(--ink);padding-top:35px}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-opening>div{max-width:1040px;margin-bottom:36px}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-opening h1{text-transform:uppercase;font-size:clamp(60px,9vw,142px);line-height:.92;letter-spacing:-.035em;font-weight:700;max-width:13ch}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-opening h1{font-size:clamp(60px,9cqw,142px)}}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-opening>.ip-media img{height:clamp(280px,42vw,580px);max-height:none}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-opening>.ip-media img{height:clamp(280px,42cqw,580px)}}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-section h2{text-transform:uppercase;font-weight:700;line-height:1;max-width:18ch}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-records article{border:3px solid var(--ink);padding:28px;position:relative;background:var(--wash)}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-record-label{border-bottom:1px dashed currentColor;padding-bottom:18px}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-records h3{text-transform:uppercase;font-size:36px;line-height:1.05}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-contact-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:18px}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-contact-grid img{height:340px;min-height:0}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-contact-grid .ip-media:nth-child(2){margin-top:48px}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-contact-grid .ip-media:nth-child(3){margin-top:96px}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-draft{border:3px solid var(--ink);padding:34px!important;position:relative}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-draft:before{content:"Your event / local draft";display:block;font-weight:700;border-bottom:1px dashed var(--ink);padding-bottom:18px;margin-bottom:25px}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-detail-title{border-top:8px solid var(--accent);padding-top:24px}
[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-closing{border:3px solid var(--ink);background:var(--wash)}
@media(max-width:760px){[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-opening h1{font-size:clamp(53px,13vw,100px)}[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-contact-grid{grid-template-columns:1fr}[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-contact-grid .ip-media:nth-child(n){margin-top:0}[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-contact-grid img{height:300px}}
@containerfs-editor-canvas (max-width: 760px){[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-opening h1{font-size:clamp(53px,13cqw,100px)}[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-contact-grid{grid-template-columns:1fr}[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-contact-grid .ip-media:nth-child(n){margin-top:0}[data-gp-theme="the-second-set-afterglow"][data-inside] .ip-contact-grid img{height:300px}}

/* Owner selected alternative on 18 October 2026. Main heading roles only. */
[data-gp-theme="the-second-set-afterglow"][data-gp-kind="section"] h1{font-family:"Barlow Condensed", sans-serif!important;font-weight:700!important;letter-spacing:-0.005em!important;line-height:1.03!important;font-variation-settings:normal!important;font-optical-sizing:auto!important}
[data-gp-theme="the-second-set-afterglow"][data-gp-kind="section"] h2{font-family:"Barlow", sans-serif!important;font-weight:600!important;letter-spacing:-.01em!important;line-height:1.17!important;font-variation-settings:normal!important;font-optical-sizing:auto!important}
[data-gp-theme="the-second-set-afterglow"][data-gp-kind="section"] h3{font-family:"Barlow", sans-serif!important;font-weight:600!important;letter-spacing:0!important;line-height:1.25!important;font-variation-settings:normal!important}
[data-gp-theme="the-second-set-afterglow"][data-inside][data-gp-kind="section"] h1{font-family:"Barlow", sans-serif!important;line-height:1.14!important;letter-spacing:-.012em!important;font-weight:600!important;text-transform:none!important}
@media(max-width:650px){[data-gp-theme="the-second-set-afterglow"][data-gp-kind="section"] h1{line-height:1.08!important;letter-spacing:-0.005em!important}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="the-second-set-afterglow"][data-gp-kind="section"] h1{line-height:1.08!important;letter-spacing:-0.005em!important}}

[data-gp-theme="the-second-set-afterglow"] .upgrade{margin-block:70px;padding-block:45px;border-block:1px solid var(--line);color:var(--ink);isolation:isolate}[data-gp-theme="the-second-set-afterglow"] .upgrade *, [data-gp-theme="the-second-set-afterglow"] .upgrade-summary *{box-sizing:border-box}[data-gp-theme="the-second-set-afterglow"] .upgrade h2{font-size:clamp(32px,4vw,57px);margin:0 0 16px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-afterglow"] .upgrade h2{font-size:clamp(32px,4cqw,57px)}}[data-gp-theme="the-second-set-afterglow"] .upgrade h3{font-size:clamp(25px,2.8vw,36px);line-height:1.12}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-afterglow"] .upgrade h3{font-size:clamp(25px,2.8cqw,36px)}}[data-gp-theme="the-second-set-afterglow"] .upgrade p{font-size:17px;line-height:1.55}[data-gp-theme="the-second-set-afterglow"] .up-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:32px}[data-gp-theme="the-second-set-afterglow"] .up-heading>p{max-width:39ch}[data-gp-theme="the-second-set-afterglow"] .up-work{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:36px}[data-gp-theme="the-second-set-afterglow"] .up-work>*{min-width:0}[data-gp-theme="the-second-set-afterglow"] .up-choice{display:flex;gap:8px;flex-wrap:wrap;margin-block:18px}[data-gp-theme="the-second-set-afterglow"] .upgrade :is(button,[role="button"]),[data-gp-theme="the-second-set-afterglow"] .upgrade-summary :is(button,[role="button"]){min-height:46px;padding:10px 16px;font-size:16px;line-height:1.3;gap:7px}[data-gp-theme="the-second-set-afterglow"] .upgrade :is(button,[role="button"]):active{transform:scale(.98)}[data-gp-theme="the-second-set-afterglow"] .upgrade :is(button,[role="button"]):disabled{opacity:.45;cursor:default}[data-gp-theme="the-second-set-afterglow"] .upgrade :is(button,[role="button"])[aria-pressed=true]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}[data-gp-theme="the-second-set-afterglow"] .up-caption{font-size:13px!important;padding-block:10px;border-top:1px solid var(--line)}[data-gp-theme="the-second-set-afterglow"] .up-footer{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}[data-gp-theme="the-second-set-afterglow"] .up-footer output{max-width:65ch;font-size:16px;line-height:1.55}[data-gp-theme="the-second-set-afterglow"] .up-footer a,[data-gp-theme="the-second-set-afterglow"] .upgrade-summary a{flex-shrink:0;min-height:46px;display:inline-flex;align-items:center}[data-gp-theme="the-second-set-afterglow"] .up-note{font-size:14px!important;color:var(--muted);margin-top:18px}[data-gp-theme="the-second-set-afterglow"] .up-stage svg,[data-gp-theme="the-second-set-afterglow"] .up-detail svg,[data-gp-theme="the-second-set-afterglow"] .up-ensemble svg{width:100%;height:auto;display:block;color:var(--ink)}[data-gp-theme="the-second-set-afterglow"] .upgrade svg text{font-family:var(--body);fill:currentColor}[data-gp-theme="the-second-set-afterglow"] .up-stage{background:var(--wash,var(--paper));overflow:hidden;min-width:0}[data-gp-theme="the-second-set-afterglow"] .up-panel{min-height:460px}[data-gp-theme="the-second-set-afterglow"] .up-panel h3{margin-block:18px}[data-gp-theme="the-second-set-afterglow"] .up-questions{padding-left:20px;font-size:16px;line-height:1.6;margin-block:18px}[data-gp-theme="the-second-set-afterglow"] .up-questions li+li{margin-top:7px}[data-gp-theme="the-second-set-afterglow"] .up-label{display:block;font-size:14px;margin-bottom:10px}[data-gp-theme="the-second-set-afterglow"] .up-footer a{max-width:100%}[data-gp-theme="the-second-set-afterglow"] .upgrade-summary{margin-block:30px;border-block:2px solid var(--ink);padding:28px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 35px}[data-gp-theme="the-second-set-afterglow"] .upgrade-summary h2{font-size:28px}[data-gp-theme="the-second-set-afterglow"] .upgrade-summary output{display:block;max-width:65ch;font-size:18px;line-height:1.6}[data-gp-theme="the-second-set-afterglow"] .upgrade-summary p{font-size:14px}[data-gp-theme="the-second-set-afterglow"] .upgrade-summary a{grid-column:2;grid-row:1/4}[data-gp-theme="the-second-set-afterglow"] .upgrade fieldset{border:0;padding:0;margin:20px 0;min-width:0}[data-gp-theme="the-second-set-afterglow"] .upgrade legend{font-size:15px}[data-gp-theme="the-second-set-afterglow"] .upgrade :focus-visible{outline:3px solid var(--focus,var(--accent));outline-offset:4px}[data-gp-theme="the-second-set-afterglow"] .upgrade svg [role=button]{cursor:pointer;outline:none}[data-gp-theme="the-second-set-afterglow"] .upgrade svg [role=button]:focus-visible rect{stroke:var(--focus,var(--accent));stroke-width:5px}[data-gp-theme="the-second-set-afterglow"] .upgrade [data-up-surface],[data-gp-theme="the-second-set-afterglow"] .upgrade [data-up-pane]{transition:fill 160ms var(--ease-out),background-color 160ms var(--ease-out),opacity 160ms var(--ease-out)}[data-gp-theme="the-second-set-afterglow"] .upgrade[data-keyboard] *, [data-gp-theme="the-second-set-afterglow"] .upgrade[data-keyboard] *::before{transition:none!important}
@media(max-width:900px){[data-gp-theme="the-second-set-afterglow"] .up-work{gap:24px}[data-gp-theme="the-second-set-afterglow"] .up-heading{display:block}[data-gp-theme="the-second-set-afterglow"] .up-heading>p{max-width:65ch;margin-top:16px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="the-second-set-afterglow"] .up-work{gap:24px}[data-gp-theme="the-second-set-afterglow"] .up-heading{display:block}[data-gp-theme="the-second-set-afterglow"] .up-heading>p{max-width:65ch;margin-top:16px}}@media(max-width:650px){[data-gp-theme="the-second-set-afterglow"] .upgrade{margin-block:35px;padding-block:28px}[data-gp-theme="the-second-set-afterglow"] .up-work{grid-template-columns:minmax(0,1fr)}[data-gp-theme="the-second-set-afterglow"] .up-panel{min-height:0}[data-gp-theme="the-second-set-afterglow"] .up-footer{display:grid;gap:14px}[data-gp-theme="the-second-set-afterglow"] .up-footer a{justify-self:start}[data-gp-theme="the-second-set-afterglow"] .up-heading{margin-bottom:20px}[data-gp-theme="the-second-set-afterglow"] .upgrade-summary{grid-template-columns:1fr}[data-gp-theme="the-second-set-afterglow"] .upgrade-summary a{grid-column:1;grid-row:auto;justify-self:start}[data-gp-theme="the-second-set-afterglow"] .upgrade :is(button,[role="button"]){padding-inline:12px;font-size:15px}[data-gp-theme="the-second-set-afterglow"] .up-questions{font-size:16px}}@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="the-second-set-afterglow"] .upgrade{margin-block:35px;padding-block:28px}[data-gp-theme="the-second-set-afterglow"] .up-work{grid-template-columns:minmax(0,1fr)}[data-gp-theme="the-second-set-afterglow"] .up-panel{min-height:0}[data-gp-theme="the-second-set-afterglow"] .up-footer{display:grid;gap:14px}[data-gp-theme="the-second-set-afterglow"] .up-footer a{justify-self:start}[data-gp-theme="the-second-set-afterglow"] .up-heading{margin-bottom:20px}[data-gp-theme="the-second-set-afterglow"] .upgrade-summary{grid-template-columns:1fr}[data-gp-theme="the-second-set-afterglow"] .upgrade-summary a{grid-column:1;grid-row:auto;justify-self:start}[data-gp-theme="the-second-set-afterglow"] .upgrade :is(button,[role="button"]){padding-inline:12px;font-size:15px}[data-gp-theme="the-second-set-afterglow"] .up-questions{font-size:16px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="the-second-set-afterglow"] .upgrade *, [data-gp-theme="the-second-set-afterglow"] .upgrade *::before{transition:none!important;animation:none!important}}
[data-gp-theme="the-second-set-afterglow"] .up-afterglow{border-block:3px solid var(--ink)}[data-gp-theme="the-second-set-afterglow"] .up-afterglow .up-heading h2{font-family:var(--display);font-size:clamp(48px,6vw,86px);line-height:.94;letter-spacing:-.025em}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-afterglow"] .up-afterglow .up-heading h2{font-size:clamp(48px,6cqw,86px)}}[data-gp-theme="the-second-set-afterglow"] .ag-format-ribbon{display:flex;border-block:2px solid var(--ink);margin:30px 0}[data-gp-theme="the-second-set-afterglow"] .ag-format-ribbon :is(button,[role="button"]){flex:1;display:block;text-align:left;border:0;border-right:1px solid var(--ink);font-family:var(--display);font-size:35px;padding:16px 22px}[data-gp-theme="the-second-set-afterglow"] .ag-format-ribbon :is(button,[role="button"]):last-child{border-right:0}[data-gp-theme="the-second-set-afterglow"] .ag-format-ribbon span:not(.fs-richtext){display:block;font-family:var(--body);font-size:13px;margin-top:6px;max-width:20ch}[data-gp-theme="the-second-set-afterglow"] .ag-room{border:1px solid var(--ink)}[data-gp-theme="the-second-set-afterglow"] .ag-room .up-caption{padding-inline:15px}[data-gp-theme="the-second-set-afterglow"] .ag-room .ag-player{opacity:1;transition:opacity 180ms var(--ease-out)}[data-gp-theme="the-second-set-afterglow"] .ag-room[data-format=duo] .ag-bass,[data-gp-theme="the-second-set-afterglow"] .ag-room[data-format=duo] .ag-drums,[data-gp-theme="the-second-set-afterglow"] .ag-room[data-format=trio] .ag-voice{opacity:.08}[data-gp-theme="the-second-set-afterglow"] .ag-room .ag-standing{opacity:0}[data-gp-theme="the-second-set-afterglow"] .ag-room[data-room=standing] .ag-standing{opacity:1}[data-gp-theme="the-second-set-afterglow"] .ag-room[data-room=standing] .ag-seats{opacity:0}[data-gp-theme="the-second-set-afterglow"] .ag-seats,[data-gp-theme="the-second-set-afterglow"] .ag-standing{transition:opacity 180ms var(--ease-out)}[data-gp-theme="the-second-set-afterglow"] .ag-room[data-chapter=arrival]>svg{background:color-mix(in srgb,var(--accent) 6%,var(--paper))}[data-gp-theme="the-second-set-afterglow"] .ag-room[data-chapter=later]>svg{background:color-mix(in srgb,var(--accent) 15%,var(--paper))}[data-gp-theme="the-second-set-afterglow"] .ag-chapters{display:flex;border-block:1px solid var(--ink);margin-block:20px}[data-gp-theme="the-second-set-afterglow"] .ag-chapters :is(button,[role="button"]){flex:1;padding:12px 8px;border:0;border-right:1px solid var(--line);font-family:var(--display);font-size:22px}[data-gp-theme="the-second-set-afterglow"] .ag-recording{margin-top:25px;padding:20px 0;border-block:2px dashed var(--ink);font-size:16px}[data-gp-theme="the-second-set-afterglow"] .ag-recording p{margin:15px 0}[data-gp-theme="the-second-set-afterglow"] .up-afterglow .up-panel>h3{font-family:var(--display);font-size:39px}[data-gp-theme="the-second-set-afterglow"] .up-afterglow .up-panel>p[data-up-copy]{min-height:110px}@media(max-width:650px){[data-gp-theme="the-second-set-afterglow"] .ag-format-ribbon :is(button,[role="button"]){font-size:29px;padding:13px 9px}[data-gp-theme="the-second-set-afterglow"] .ag-format-ribbon span:not(.fs-richtext){font-size:11px}[data-gp-theme="the-second-set-afterglow"] .ag-chapters :is(button,[role="button"]){font-size:18px;padding:10px 5px}[data-gp-theme="the-second-set-afterglow"] .up-afterglow .up-panel>p[data-up-copy]{min-height:0}}@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="the-second-set-afterglow"] .ag-format-ribbon :is(button,[role="button"]){font-size:29px;padding:13px 9px}[data-gp-theme="the-second-set-afterglow"] .ag-format-ribbon span:not(.fs-richtext){font-size:11px}[data-gp-theme="the-second-set-afterglow"] .ag-chapters :is(button,[role="button"]){font-size:18px;padding:10px 5px}[data-gp-theme="the-second-set-afterglow"] .up-afterglow .up-panel>p[data-up-copy]{min-height:0}}

[data-gp-theme="the-second-set-afterglow"] .upgrade-summary{width:min(1360px,calc(100% - 96px));margin-inline:auto}[data-gp-theme="the-second-set-afterglow"] .inside-page .upgrade h3{max-width:none}[data-gp-theme="the-second-set-afterglow"] .inside-page .upgrade .pr-paper{margin:0}[data-gp-theme="the-second-set-afterglow"] .inside-page .upgrade .up-stage{margin:0}[data-gp-theme="the-second-set-afterglow"] .inside-page .upgrade p.up-note{margin-top:18px}[data-gp-theme="the-second-set-afterglow"][data-layout=full-width] .inside-page>.upgrade{width:100%;max-width:none;padding-inline:4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-afterglow"][data-layout=full-width] .inside-page>.upgrade{padding-inline:4cqw}}[data-gp-theme="the-second-set-afterglow"][data-layout=centered] .upgrade>.up-heading{text-align:center;display:block}[data-gp-theme="the-second-set-afterglow"][data-layout=centered] .upgrade>.up-heading>p{margin-inline:auto}[data-gp-theme="the-second-set-afterglow"][data-layout=minimalist] .upgrade{margin-block:30px;padding-block:30px}[data-gp-theme="the-second-set-afterglow"][data-layout=edge-hero] .inside-page>.upgrade{width:100%;padding-inline:4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-afterglow"][data-layout=edge-hero] .inside-page>.upgrade{padding-inline:4cqw}}@media(max-width:650px){[data-gp-theme="the-second-set-afterglow"] .upgrade-summary{width:calc(100% - 36px)}[data-gp-theme="the-second-set-afterglow"] .upgrade.wrap{width:calc(100% - 36px)}}@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="the-second-set-afterglow"] .upgrade-summary{width:calc(100% - 36px)}[data-gp-theme="the-second-set-afterglow"] .upgrade.wrap{width:calc(100% - 36px)}}
[data-gp-theme="the-second-set-afterglow"] .upgrade{--display:"Barlow Condensed",sans-serif}

/* Approved readability refinements, 18 October 2026.
   Only meaningful helpers, local groups and selected reading paragraphs.
   Owner-selected type families, display sizes and frozen comparisons stay authoritative. */

/* Kiln House: the brief promise and sample guidance are part of the task. */
[data-gp-theme="the-second-set-afterglow"][data-site="kiln-house"] :is(.field-note,.form-note,.pairing-hint,.material-note,.light-note,.letter-note,.combination-copy small,.material-row small){font-size:14px;line-height:1.5}
[data-gp-theme="the-second-set-afterglow"][data-site="kiln-house"] .form-note{margin-top:16px}
[data-gp-theme="the-second-set-afterglow"][data-site="kiln-house"] :is(.quiet-button,.combination-action){font-size:15px;line-height:1.5}
[data-gp-theme="the-second-set-afterglow"][data-site="kiln-house"] .quiet-button{min-height:44px}
[data-gp-theme="the-second-set-afterglow"][data-site="kiln-house"] .directory-links a small{font-size:14px;line-height:1.5}

/* Small study labels explain a choice, rather than acting as an imprint. */
[data-gp-theme="the-second-set-afterglow"][data-site="true-joint"] .ux-stage-bar :is(button,[role="button"]) small{font-size:14px;line-height:1.5}
[data-gp-theme="the-second-set-afterglow"][data-site="neighbourhood-edit"] .ux-plan-header{font-size:14px;line-height:1.5;gap:12px;flex-wrap:wrap}
[data-gp-theme="the-second-set-afterglow"][data-site="neighbourhood-edit"] .ux-room-title{margin-bottom:16px}
[data-gp-theme="the-second-set-afterglow"][data-site="neighbourhood-edit"] .ux-room-title h3{margin-bottom:0}
[data-gp-theme="the-second-set-afterglow"][data-site="neighbourhood-edit"] :is(.home-finder label,.home-finder output,.area-index small){font-size:14px;line-height:1.5}
[data-gp-theme="the-second-set-afterglow"][data-site="neighbourhood-edit"] .home-finder select{font-size:16px;min-height:44px}
[data-gp-theme="the-second-set-afterglow"][data-site="harbour"] .ux-folio .ux-document-row label{font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="the-second-set-afterglow"][data-site="daymark-window-care"] .dm-sheet-head{font-size:14px;line-height:1.5;flex-wrap:wrap}
[data-gp-theme="the-second-set-afterglow"][data-site="velum-window-care"] .ux-v-nav :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}

/* Existing small controls retain or gain the comfortable target height. */
[data-gp-theme="the-second-set-afterglow"][data-site="stem-and-still"] .stem-slip :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:48px;gap:8px}
[data-gp-theme="the-second-set-afterglow"][data-site="cake-box"] .flavour-pick :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="the-second-set-afterglow"][data-site="cake-box"] .message-label small{font-size:14px;line-height:1.5}
[data-gp-theme="the-second-set-afterglow"][data-site="crm-recruitment-people"] .question-buttons{gap:10px}
[data-gp-theme="the-second-set-afterglow"][data-site="crm-recruitment-people"] .question-buttons :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:10px 12px}
[data-gp-theme="the-second-set-afterglow"][data-site="the-second-set-programme"] .pr-order-actions :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:8px 10px}

/* The format facts belong with the large ensemble names. */
[data-gp-theme="the-second-set-afterglow"][data-site="the-second-set-afterglow"] .ag-format-ribbon span:not(.fs-richtext){font-size:14px;line-height:1.5;margin-top:8px}
[data-gp-theme="the-second-set-afterglow"][data-site="the-second-set-programme"] .opening-note{font-size:14px;line-height:1.5}
[data-gp-theme="the-second-set-afterglow"][data-site="the-second-set-signal"] .form-note{font-size:14px;line-height:1.5}

/* Slipstream: useful record, filter and brief text; preserve the scrollable comparison. */
[data-gp-theme="the-second-set-afterglow"][data-site="slipstream"] :is(.featured-price small,.rail-note,.stock-finder label,.stock-caption,.inspection-note,.inspection-instruction,.form-note,[data-gp-id="stock-count"],[data-gp-id="form-question-count"]){font-size:14px;line-height:1.5}
[data-gp-theme="the-second-set-afterglow"][data-site="slipstream"] :is(.visit-form label,.form-pair label){font-size:15px;line-height:1.5}
[data-gp-theme="the-second-set-afterglow"][data-site="slipstream"] :is(.car-record summary,[data-gp-id="reset-stock"],[data-gp-id="clear-compare"],.quick-compare button){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="the-second-set-afterglow"][data-site="slipstream"] .stock-finder select{min-height:44px}

/* Narrow only sustained paragraphs, preserving plans, records, lists and tables. */
[data-gp-theme="the-second-set-afterglow"]:is([data-site="stem-and-still"],[data-site="kiln-house"],[data-site="true-joint"])[data-inside] .ip-reading>p{max-width:64ch}

@media(max-width:700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="the-second-set-afterglow"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="the-second-set-afterglow"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="the-second-set-afterglow"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="the-second-set-afterglow"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="the-second-set-afterglow"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="the-second-set-afterglow"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="the-second-set-afterglow"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="the-second-set-afterglow"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="the-second-set-afterglow"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

@containerfs-editor-canvas (max-width: 700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="the-second-set-afterglow"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="the-second-set-afterglow"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="the-second-set-afterglow"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="the-second-set-afterglow"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="the-second-set-afterglow"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="the-second-set-afterglow"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="the-second-set-afterglow"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="the-second-set-afterglow"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="the-second-set-afterglow"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

/* No generic heading, body, section-spacing or panel-height reset.
   Goodpane's unused calendar CSS, Expedition's real stage envelope,
   Starlight's passage leading and Velum's display introduction need no blanket fix. */

/* Approved authored chrome. Palette and type tokens belong to this theme. */
[data-gp-theme="the-second-set-afterglow"] .chrome-header>*{min-width:0}[data-gp-theme="the-second-set-afterglow"] .chrome-header nav{min-width:0}[data-gp-theme="the-second-set-afterglow"] .chrome-header a,[data-gp-theme="the-second-set-afterglow"] .chrome-header :is(button,[role="button"]){min-height:44px}[data-gp-theme="the-second-set-afterglow"] .chrome-header .menu-trigger{white-space:nowrap;font-size:15px}[data-gp-theme="the-second-set-afterglow"] .chrome-header .menu-trigger svg{flex:none}
[data-gp-theme="the-second-set-afterglow"] .chrome-menu{color:var(--ink);padding:0;max-height:calc(100dvh - 64px);margin-top:32px;overflow:auto}[data-gp-theme="the-second-set-afterglow"] .chrome-menu>*{min-width:0}[data-gp-theme="the-second-set-afterglow"] .chrome-menu h2{max-width:24ch}[data-gp-theme="the-second-set-afterglow"] .chrome-menu-heading{padding:24px 32px;align-items:center}[data-gp-theme="the-second-set-afterglow"] .chrome-menu-heading h2{font-size:clamp(28px,3vw,42px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-afterglow"] .chrome-menu-heading h2{font-size:clamp(28px,3cqw,42px)}}[data-gp-theme="the-second-set-afterglow"] .chrome-menu-heading :is(button,[role="button"]){flex:none}[data-gp-theme="the-second-set-afterglow"] .chrome-menu h3{font-size:23px;line-height:1.2;margin-bottom:16px}[data-gp-theme="the-second-set-afterglow"] .chrome-menu a{min-height:44px;display:flex;align-items:center;text-decoration:none;line-height:1.35}[data-gp-theme="the-second-set-afterglow"] .chrome-menu a:hover{text-decoration:underline;text-underline-offset:5px}[data-gp-theme="the-second-set-afterglow"] .chrome-menu p{font-size:15px;line-height:1.55}[data-gp-theme="the-second-set-afterglow"] .chrome-menu small,[data-gp-theme="the-second-set-afterglow"] .chrome-caption{font-size:14px;line-height:1.5}[data-gp-theme="the-second-set-afterglow"] .chrome-menu nav{min-width:0}[data-gp-theme="the-second-set-afterglow"] .chrome-menu a,[data-gp-theme="the-second-set-afterglow"] .chrome-footer a{overflow-wrap:anywhere}[data-gp-theme="the-second-set-afterglow"] .chrome-footer a{min-height:44px;display:inline-flex;align-items:center;text-underline-offset:5px}[data-gp-theme="the-second-set-afterglow"] .chrome-footer p{font-size:16px;line-height:1.55}[data-gp-theme="the-second-set-afterglow"] .chrome-imprint{border-top:1px solid var(--line);margin-top:34px;padding-top:18px;display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between;font-size:14px;line-height:1.5}[data-gp-theme="the-second-set-afterglow"] .chrome-imprint>span:not(.fs-richtext){max-width:48ch}[data-gp-theme="the-second-set-afterglow"] .chrome-inline-links{display:flex;flex-wrap:wrap;gap:8px 28px}[data-gp-theme="the-second-set-afterglow"] .chrome-footer .chrome-details{font-size:14px;line-height:1.5;max-width:65ch}[data-gp-theme="the-second-set-afterglow"] .chrome-footer .chrome-close-link{min-height:52px}[data-gp-theme="the-second-set-afterglow"] .chrome-menu :is(a,button):focus-visible,[data-gp-theme="the-second-set-afterglow"] .chrome-header :is(a,button):focus-visible,[data-gp-theme="the-second-set-afterglow"] .chrome-footer a:focus-visible{outline:3px solid currentColor;outline-offset:4px}
@media(max-width:900px){[data-gp-theme="the-second-set-afterglow"] .chrome-header{gap:16px}[data-gp-theme="the-second-set-afterglow"] .chrome-menu .chrome-menu-heading h2{font-size:27px;line-height:1.12}[data-gp-theme="the-second-set-afterglow"] .chrome-menu .chrome-menu-heading{gap:12px}[data-gp-theme="the-second-set-afterglow"] .chrome-menu [data-menu-close]{padding:10px 14px}[data-gp-theme="the-second-set-afterglow"] .chrome-menu a{min-height:48px}[data-gp-theme="the-second-set-afterglow"] .chrome-imprint{display:grid;gap:10px}[data-gp-theme="the-second-set-afterglow"] .chrome-footer{padding-block:42px 24px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="the-second-set-afterglow"] .chrome-header{gap:16px}[data-gp-theme="the-second-set-afterglow"] .chrome-menu .chrome-menu-heading h2{font-size:27px;line-height:1.12}[data-gp-theme="the-second-set-afterglow"] .chrome-menu .chrome-menu-heading{gap:12px}[data-gp-theme="the-second-set-afterglow"] .chrome-menu [data-menu-close]{padding:10px 14px}[data-gp-theme="the-second-set-afterglow"] .chrome-menu a{min-height:48px}[data-gp-theme="the-second-set-afterglow"] .chrome-imprint{display:grid;gap:10px}[data-gp-theme="the-second-set-afterglow"] .chrome-footer{padding-block:42px 24px}}
@media(max-width:450px){[data-gp-theme="the-second-set-afterglow"] .chrome-menu .chrome-menu-heading h2{font-size:23px}[data-gp-theme="the-second-set-afterglow"] .chrome-header .menu-trigger{font-size:14px;gap:8px;padding-inline:12px;width:auto}[data-gp-theme="the-second-set-afterglow"] .chrome-header .menu-trigger svg{width:18px;height:18px}}
@containerfs-editor-canvas (max-width: 450px){[data-gp-theme="the-second-set-afterglow"] .chrome-menu .chrome-menu-heading h2{font-size:23px}[data-gp-theme="the-second-set-afterglow"] .chrome-header .menu-trigger{font-size:14px;gap:8px;padding-inline:12px;width:auto}[data-gp-theme="the-second-set-afterglow"] .chrome-header .menu-trigger svg{width:18px;height:18px}}
[data-gp-theme="the-second-set-afterglow"] .ag-bill-header{display:block;padding:24px 0 0;border-bottom:2px solid var(--ink)}[data-gp-theme="the-second-set-afterglow"] .ag-bill-name{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:24px}[data-gp-theme="the-second-set-afterglow"] .ag-bill-header .wordmark{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:24px;font-size:clamp(32px,4.3vw,65px);line-height:1}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-afterglow"] .ag-bill-header .wordmark{font-size:clamp(32px,4.3cqw,65px)}}[data-gp-theme="the-second-set-afterglow"] .ag-bill-header .wordmark>span:not(.fs-richtext){font:inherit;letter-spacing:inherit;color:var(--accent)}[data-gp-theme="the-second-set-afterglow"] .ag-bill-name>.backstage-stamp{font-size:26px;padding:8px;transform:rotate(4deg);flex:none}[data-gp-theme="the-second-set-afterglow"] .ag-bill-strip{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--ink);padding:10px 0}[data-gp-theme="the-second-set-afterglow"] .ag-bill-strip nav{gap:30px}[data-gp-theme="the-second-set-afterglow"] .ag-bill-strip .menu-trigger{border:0;padding-inline:0}[data-gp-theme="the-second-set-afterglow"] .ag-bill-strip>.header-action{padding:10px 18px;border:1px solid var(--ink);font-weight:600}[data-gp-theme="the-second-set-afterglow"] .ag-menu .chrome-menu-heading{border-bottom:2px solid var(--ink)}[data-gp-theme="the-second-set-afterglow"] .ag-menu .chrome-menu-heading h2{font-size:45px;max-width:none}[data-gp-theme="the-second-set-afterglow"] .ag-backstage-menu{display:grid;grid-template-columns:1.7fr 1fr}[data-gp-theme="the-second-set-afterglow"] .ag-stacked-bill{padding:20px 32px 40px}[data-gp-theme="the-second-set-afterglow"] .ag-stacked-bill a{font:clamp(38px,4.4vw,65px)/.98 var(--display);padding:24px 0;letter-spacing:-.025em;border-bottom:2px solid var(--ink)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-afterglow"] .ag-stacked-bill a{font:clamp(38px,4.4cqw,65px)/.98 var(--display)}}[data-gp-theme="the-second-set-afterglow"] .ag-stacked-bill a:last-child{border-bottom:0}[data-gp-theme="the-second-set-afterglow"] .ag-backstage-rail{padding:32px;border-left:2px dashed var(--ink);background:var(--wash)}[data-gp-theme="the-second-set-afterglow"] .ag-backstage-rail>.backstage-stamp{font-size:31px;padding:10px;margin-bottom:28px}[data-gp-theme="the-second-set-afterglow"] .ag-backstage-rail h3{font:600 17px var(--body);margin-bottom:12px}[data-gp-theme="the-second-set-afterglow"] .ag-backstage-rail nav a{font-size:16px;padding:10px 0;border-top:1px solid var(--line)}[data-gp-theme="the-second-set-afterglow"] .ag-backstage-rail p{margin:20px 0;font-size:14px}[data-gp-theme="the-second-set-afterglow"] .ag-backstage-rail .ag-menu-ticket{border:2px solid var(--ink);padding:18px;font:27px/1 var(--display)}[data-gp-theme="the-second-set-afterglow"] .ag-encore-poster{background:var(--ink);color:var(--paper);padding-top:35px}[data-gp-theme="the-second-set-afterglow"] .ag-encore-line{display:flex;justify-content:space-between;gap:24px;border-bottom:1px solid currentColor;padding-bottom:20px;font-size:15px}[data-gp-theme="the-second-set-afterglow"] .ag-encore-poster h2{font-size:clamp(60px,9.5vw,140px);line-height:.95;letter-spacing:-.025em;margin-block:42px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-afterglow"] .ag-encore-poster h2{font-size:clamp(60px,9.5cqw,140px)}}[data-gp-theme="the-second-set-afterglow"] .ag-encore-ticket{display:grid;grid-template-columns:1fr 190px;border:2px solid currentColor;margin-bottom:30px}[data-gp-theme="the-second-set-afterglow"] .ag-encore-ticket>a{justify-content:space-between;gap:30px;padding:26px 30px;font:clamp(26px,3vw,44px)/1.1 var(--display);text-decoration:none}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-afterglow"] .ag-encore-ticket>a{font:clamp(26px,3cqw,44px)/1.1 var(--display)}}[data-gp-theme="the-second-set-afterglow"] .ag-encore-ticket>span:not(.fs-richtext){border-left:2px dashed currentColor;padding:24px;font-size:16px;display:flex;align-items:center}[data-gp-theme="the-second-set-afterglow"] .ag-encore-poster .chrome-details{margin-top:18px;max-width:85ch}[data-gp-theme="the-second-set-afterglow"] .ag-encore-poster .chrome-inline-links a{font-size:16px}[data-gp-theme="the-second-set-afterglow"] .ag-encore-poster .chrome-imprint{border-color:currentColor}
@media(max-width:1000px){[data-gp-theme="the-second-set-afterglow"] .ag-bill-header .wordmark{font-size:40px;gap:10px 20px}[data-gp-theme="the-second-set-afterglow"] .ag-bill-strip nav{gap:22px}[data-gp-theme="the-second-set-afterglow"] .ag-stacked-bill a{font-size:45px}[data-gp-theme="the-second-set-afterglow"] .ag-backstage-menu{grid-template-columns:1.25fr 1fr}}
@containerfs-editor-canvas (max-width: 1000px){[data-gp-theme="the-second-set-afterglow"] .ag-bill-header .wordmark{font-size:40px;gap:10px 20px}[data-gp-theme="the-second-set-afterglow"] .ag-bill-strip nav{gap:22px}[data-gp-theme="the-second-set-afterglow"] .ag-stacked-bill a{font-size:45px}[data-gp-theme="the-second-set-afterglow"] .ag-backstage-menu{grid-template-columns:1.25fr 1fr}}
@media(max-width:900px){[data-gp-theme="the-second-set-afterglow"] .ag-bill-header{padding-top:20px}[data-gp-theme="the-second-set-afterglow"] .ag-bill-name{padding-bottom:18px;gap:14px}[data-gp-theme="the-second-set-afterglow"] .ag-bill-header .wordmark{display:grid;font-size:31px;gap:5px}[data-gp-theme="the-second-set-afterglow"] .ag-bill-header .wordmark>span:not(.fs-richtext){font-size:22px}[data-gp-theme="the-second-set-afterglow"] .ag-bill-name>.backstage-stamp{font-size:20px;padding:7px;border-width:2px}[data-gp-theme="the-second-set-afterglow"] .ag-bill-strip{padding:4px 0;gap:12px}[data-gp-theme="the-second-set-afterglow"] .ag-bill-strip nav>a{display:none}[data-gp-theme="the-second-set-afterglow"] .ag-bill-strip .menu-trigger{font-size:15px;padding:10px 0}[data-gp-theme="the-second-set-afterglow"] .ag-bill-strip>.header-action{display:flex;border:0;font-size:15px;padding:10px 0}[data-gp-theme="the-second-set-afterglow"] .ag-menu .chrome-menu-heading h2{font-size:30px;max-width:12ch}[data-gp-theme="the-second-set-afterglow"] .ag-backstage-menu{display:block}[data-gp-theme="the-second-set-afterglow"] .ag-stacked-bill{padding:8px 24px 22px}[data-gp-theme="the-second-set-afterglow"] .ag-stacked-bill a{font-size:40px;padding:19px 0}[data-gp-theme="the-second-set-afterglow"] .ag-backstage-rail{border-left:0;border-top:2px dashed var(--ink);padding:24px}[data-gp-theme="the-second-set-afterglow"] .ag-backstage-rail>.backstage-stamp{display:none}[data-gp-theme="the-second-set-afterglow"] .ag-encore-line{display:block;font-size:14px}[data-gp-theme="the-second-set-afterglow"] .ag-encore-line>span:not(.fs-richtext){display:block;margin-top:6px}[data-gp-theme="the-second-set-afterglow"] .ag-encore-poster h2{font-size:clamp(45px,11vw,86px);margin-block:32px}[data-gp-theme="the-second-set-afterglow"] .ag-encore-ticket{grid-template-columns:1fr}[data-gp-theme="the-second-set-afterglow"] .ag-encore-ticket>a{font-size:28px;padding:22px;gap:15px}[data-gp-theme="the-second-set-afterglow"] .ag-encore-ticket>span:not(.fs-richtext){border-left:0;border-top:2px dashed currentColor;font-size:14px;padding:16px 22px}[data-gp-theme="the-second-set-afterglow"] .ag-encore-ticket>span:not(.fs-richtext) br{display:none}[data-gp-theme="the-second-set-afterglow"] .ag-encore-poster .chrome-inline-links{gap:0 20px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="the-second-set-afterglow"] .ag-bill-header{padding-top:20px}[data-gp-theme="the-second-set-afterglow"] .ag-bill-name{padding-bottom:18px;gap:14px}[data-gp-theme="the-second-set-afterglow"] .ag-bill-header .wordmark{display:grid;font-size:31px;gap:5px}[data-gp-theme="the-second-set-afterglow"] .ag-bill-header .wordmark>span:not(.fs-richtext){font-size:22px}[data-gp-theme="the-second-set-afterglow"] .ag-bill-name>.backstage-stamp{font-size:20px;padding:7px;border-width:2px}[data-gp-theme="the-second-set-afterglow"] .ag-bill-strip{padding:4px 0;gap:12px}[data-gp-theme="the-second-set-afterglow"] .ag-bill-strip nav>a{display:none}[data-gp-theme="the-second-set-afterglow"] .ag-bill-strip .menu-trigger{font-size:15px;padding:10px 0}[data-gp-theme="the-second-set-afterglow"] .ag-bill-strip>.header-action{display:flex;border:0;font-size:15px;padding:10px 0}[data-gp-theme="the-second-set-afterglow"] .ag-menu .chrome-menu-heading h2{font-size:30px;max-width:12ch}[data-gp-theme="the-second-set-afterglow"] .ag-backstage-menu{display:block}[data-gp-theme="the-second-set-afterglow"] .ag-stacked-bill{padding:8px 24px 22px}[data-gp-theme="the-second-set-afterglow"] .ag-stacked-bill a{font-size:40px;padding:19px 0}[data-gp-theme="the-second-set-afterglow"] .ag-backstage-rail{border-left:0;border-top:2px dashed var(--ink);padding:24px}[data-gp-theme="the-second-set-afterglow"] .ag-backstage-rail>.backstage-stamp{display:none}[data-gp-theme="the-second-set-afterglow"] .ag-encore-line{display:block;font-size:14px}[data-gp-theme="the-second-set-afterglow"] .ag-encore-line>span:not(.fs-richtext){display:block;margin-top:6px}[data-gp-theme="the-second-set-afterglow"] .ag-encore-poster h2{font-size:clamp(45px,11cqw,86px);margin-block:32px}[data-gp-theme="the-second-set-afterglow"] .ag-encore-ticket{grid-template-columns:1fr}[data-gp-theme="the-second-set-afterglow"] .ag-encore-ticket>a{font-size:28px;padding:22px;gap:15px}[data-gp-theme="the-second-set-afterglow"] .ag-encore-ticket>span:not(.fs-richtext){border-left:0;border-top:2px dashed currentColor;font-size:14px;padding:16px 22px}[data-gp-theme="the-second-set-afterglow"] .ag-encore-ticket>span:not(.fs-richtext) br{display:none}[data-gp-theme="the-second-set-afterglow"] .ag-encore-poster .chrome-inline-links{gap:0 20px}}

/* Menu only: approved fonts, colour tokens and all non-menu markup are preserved. */
[data-gp-theme="the-second-set-afterglow"] dialog[data-gp-id="mega-menu"].mega-menu{box-sizing:border-box;position:fixed;inset:0;min-width:0;min-height:0;height:fit-content;max-height:calc(100dvh - 48px);margin:auto;padding:0!important;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:var(--mi-paper,var(--paper));color:var(--mi-ink,var(--ink));border:0!important;border-radius:0;box-shadow:0 30px 100px #0005;--mi-paper:var(--paper);--mi-ink:var(--ink);--mi-wash:var(--wash);--mi-line:var(--line);--mi-accent:var(--accent);--mi-on:var(--on-accent)}
[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] *,[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] *:before,[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] *:after{box-sizing:border-box;min-width:0}
[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] .menu-top{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0;padding:20px 28px;border:0;background:transparent;color:inherit}
[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] .menu-top h2,[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] .menu-top p{margin:0;font:500 18px/1.35 var(--body);letter-spacing:0;max-width:none}
[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] [data-menu-close]{display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:none;min-height:44px;min-width:70px;padding:9px 14px;border:1px solid currentColor;border-radius:0;background:transparent;color:inherit;font:500 14px/1.3 var(--body);cursor:pointer}
[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] a{color:inherit;text-decoration:none;line-height:1.35;min-height:44px;overflow-wrap:anywhere}
[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] nav a:before{content:none}
[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] a:focus-visible,[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] :is(button,[role="button"]):focus-visible{outline:3px solid currentColor;outline-offset:4px}
[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] h3{font-family:var(--display);font-weight:500;line-height:1.15;letter-spacing:-.025em;margin:0}
[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] p{max-width:60ch;margin:0;font:400 15px/1.5 var(--body)}
[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] nav{min-width:0}
[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] .mi-small{font:400 13px/1.5 var(--body)}
[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] a{transition:background-color 150ms ease,color 150ms ease,text-decoration-color 150ms ease}
/* Reveal every authored surface on the first frame. Only text fades; never a
   pane, note, speech ribbon, worksheet or record sleeve. Also covers Signal,
   which does not load premium.css and otherwise inherits menu-arrive. */
[data-gp-theme="the-second-set-afterglow"] dialog[data-gp-id="mega-menu"].mega-menu[open]:not([data-closing]){animation:none!important;opacity:1;transform:none}
[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"][open]:not([data-closing])>*{animation:none!important}
[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"][open]:not([data-closing]):not([data-keyboard]) :is(h3,p,figcaption,.command-task>span:not(.fs-richtext),.command-task>small,.crate-sleeve>strong,.crate-sleeve>small),[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"][open]:not([data-closing]):not([data-keyboard]) a:not(.crate-sleeve):not(.command-task):not(.route-brief):not(.worksheet-action){animation:gp-afterglow-mi-menu-text 160ms ease-out both}
@keyframes gp-afterglow-mi-menu-text{from{opacity:.25}to{opacity:1}}
@media(hover:hover){[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] a:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}}
@media(max-width:900px){[data-gp-theme="the-second-set-afterglow"] dialog[data-gp-id="mega-menu"].mega-menu{width:100%;height:100dvh;max-height:none;margin:0;inset:0;border-radius:0;transform:none}[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] .menu-top{padding:16px 20px}[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] .menu-top h2{font-size:16px}[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] a{min-height:48px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="the-second-set-afterglow"] dialog[data-gp-id="mega-menu"].mega-menu{width:100%;height:100dvh;max-height:none;margin:0;inset:0;border-radius:0;transform:none}[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] .menu-top{padding:16px 20px}[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] .menu-top h2{font-size:16px}[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] a{min-height:48px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] *,[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] *:before,[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] *:after{animation:none!important;transition:none!important}}

[data-gp-theme="the-second-set-afterglow"] dialog[data-gp-id="mega-menu"].mega-menu{width:100%;height:100dvh;max-height:none;margin:0;background:var(--accent);color:var(--on-accent);box-shadow:none}
[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] .menu-top{padding:20px 4vw;border:0}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] .menu-top{padding:20px 4cqw}}[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] .menu-top h2{font-size:16px}[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] [data-menu-close]{border:2px solid currentColor;border-radius:0}
[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] .concert-menu{padding:0 5vw 36px;display:grid;grid-template-columns:1fr 24%;gap:26px 5vw;min-height:calc(100dvh - 92px)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] .concert-menu{padding:0 5cqw 36px;gap:26px 5cqw}}
[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] .concert-bill{display:flex;flex-direction:column;justify-content:center;gap:5px}[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] .concert-bill a{font:400 clamp(48px,6.6vw,106px)/1.08 var(--display);letter-spacing:-.025em;padding:3px 0;align-self:flex-start;text-wrap:balance}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] .concert-bill a{font:400 clamp(48px,6.6cqw,106px)/1.08 var(--display)}}[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] .concert-bill a:hover{text-decoration:none;-webkit-text-stroke:1px currentColor}
[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] .concert-stub{border-left:2px dashed currentColor;padding-left:32px;display:flex;flex-direction:column;justify-content:center}[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] .concert-ticket{display:block;font:400 clamp(40px,5vw,78px)/1.05 var(--display);padding:28px 0;letter-spacing:-.02em}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] .concert-ticket{font:400 clamp(40px,5cqw,78px)/1.05 var(--display)}}[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] .concert-stub p{font-size:15px;border-top:2px solid currentColor;padding-top:20px}
[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] .concert-credits{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;border-top:2px solid currentColor;padding-top:12px;align-self:end}[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] .concert-credits a{display:flex;align-items:center;font-size:15px}
@media(max-width:900px){[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] .concert-menu{display:block;min-height:0;padding:15px 24px 32px}[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] .concert-bill{gap:12px}[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] .concert-bill a{font-size:43px;line-height:1.08}[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] .concert-stub{margin-top:27px;padding:18px 0;border:0;border-top:2px dashed currentColor;display:block}[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] .concert-ticket{font-size:32px;padding:10px 0}[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] .concert-ticket br{display:none}[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] .concert-ticket br:after{content:" "}[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] .concert-stub p{border:0;padding:10px 0 0;font-size:14px}[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] .concert-credits{display:grid;margin-top:12px;padding-top:14px;gap:0}[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] .concert-credits a{font-size:16px}[data-gp-theme="the-second-set-afterglow"] dialog[data-gp-id="mega-menu"] [data-mobile-menu-head]{background:var(--accent)!important;color:var(--on-accent)!important}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] .concert-menu{display:block;min-height:0;padding:15px 24px 32px}[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] .concert-bill{gap:12px}[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] .concert-bill a{font-size:43px;line-height:1.08}[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] .concert-stub{margin-top:27px;padding:18px 0;border:0;border-top:2px dashed currentColor;display:block}[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] .concert-ticket{font-size:32px;padding:10px 0}[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] .concert-ticket br{display:none}[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] .concert-ticket br:after{content:" "}[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] .concert-stub p{border:0;padding:10px 0 0;font-size:14px}[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] .concert-credits{display:grid;margin-top:12px;padding-top:14px;gap:0}[data-gp-theme="the-second-set-afterglow"] [data-gp-id="mega-menu"] .concert-credits a{font-size:16px}[data-gp-theme="the-second-set-afterglow"] dialog[data-gp-id="mega-menu"] [data-mobile-menu-head]{background:var(--accent)!important;color:var(--on-accent)!important}}

[data-gp-theme="the-second-set-afterglow"]{--paper:rgb(var(--c-paper));--ink:rgb(var(--c-ink-950));--accent:rgb(var(--c-brand-600));--wash:rgb(var(--c-paper-soft));--line:rgb(var(--c-line));--muted:rgb(var(--c-ink-400));--on-accent:var(--fs-on-brand);--focus:rgb(var(--c-accent));--work:var(--fs-surface-inverted,var(--wash));--work-ink:var(--fs-on-surface-inverted,var(--paper));--body:var(--font-sans);}
[data-gp-theme="the-second-set-programme"]{--ease-out:cubic-bezier(.23,1,.32,1);--ease-drawer:cubic-bezier(.32,.72,0,1)}
[data-gp-theme="the-second-set-programme"] *{box-sizing:border-box}[data-gp-theme="the-second-set-programme"]{scroll-behavior:smooth;scroll-padding-top:100px}[data-gp-theme="the-second-set-programme"]{margin:0}[data-gp-theme="the-second-set-programme"] img{max-width:100%;display:block}[data-gp-theme="the-second-set-programme"] :is(button,[role="button"]),[data-gp-theme="the-second-set-programme"] input,[data-gp-theme="the-second-set-programme"] select,[data-gp-theme="the-second-set-programme"] textarea{font:inherit}[data-gp-theme="the-second-set-programme"] :is(button,[role="button"]),[data-gp-theme="the-second-set-programme"] a,[data-gp-theme="the-second-set-programme"] input,[data-gp-theme="the-second-set-programme"] select,[data-gp-theme="the-second-set-programme"] textarea{touch-action:manipulation}[data-gp-theme="the-second-set-programme"] :is(button,[role="button"]),[data-gp-theme="the-second-set-programme"] a{ -webkit-tap-highlight-color:transparent}[data-gp-theme="the-second-set-programme"] :is(button,[role="button"]){cursor:pointer}[data-gp-theme="the-second-set-programme"] :is(button,[role="button"]):active{transform:translateY(1px)}[data-gp-theme="the-second-set-programme"] a{color:inherit;text-underline-offset:.22em}[data-gp-theme="the-second-set-programme"] :is(button,[role="button"]):focus-visible,[data-gp-theme="the-second-set-programme"] a:focus-visible,[data-gp-theme="the-second-set-programme"] summary:focus-visible,[data-gp-theme="the-second-set-programme"] input:focus-visible,[data-gp-theme="the-second-set-programme"] select:focus-visible,[data-gp-theme="the-second-set-programme"] textarea:focus-visible{outline:3px solid var(--focus,#346ddb);outline-offset:5px}[data-gp-theme="the-second-set-programme"] textarea{resize:vertical}[data-gp-theme="the-second-set-programme"] input,[data-gp-theme="the-second-set-programme"] textarea{caret-color:var(--focus,currentColor)}[data-gp-theme="the-second-set-programme"] :is(button,[role="button"]),[data-gp-theme="the-second-set-programme"] select,[data-gp-theme="the-second-set-programme"] input{min-height:44px}[data-gp-theme="the-second-set-programme"] summary{cursor:pointer}[data-gp-theme="the-second-set-programme"] section[id],[data-gp-theme="the-second-set-programme"] footer[id]{scroll-margin-top:110px}[data-gp-theme="the-second-set-programme"] [hidden]{display:none!important}[data-gp-theme="the-second-set-programme"] .skip-link{position:fixed;z-index:200;top:8px;left:8px;background:#fff;color:#111;padding:12px 18px;transform:translateY(-150%)}[data-gp-theme="the-second-set-programme"] .skip-link:focus{transform:none}
[data-gp-theme="the-second-set-programme"] .preview-bar{min-height:42px;background:#f6f6f2;color:#252a2a;border-bottom:1px solid #d5d8d4;font:13px/1.3 "Figtree",sans-serif;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 3vw;position:relative;z-index:30}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="the-second-set-programme"] .preview-bar{padding:5px 3cqw}}[data-gp-theme="the-second-set-programme"] .preview-bar a{white-space:nowrap}[data-gp-theme="the-second-set-programme"] .preview-bar [role=group]{display:flex;gap:2px;align-items:center}[data-gp-theme="the-second-set-programme"] .preview-bar :is(button,[role="button"]){min-height:32px;background:transparent;color:inherit;border:0;padding:6px 10px;border-radius:3px;font-size:13px;transition:background-color 150ms var(--ease-out)}[data-gp-theme="the-second-set-programme"] .preview-bar [aria-pressed=true]{background:#252a2a;color:#fff}[data-gp-theme="the-second-set-programme"] .preview-bar :is(button,[role="button"])[data-replay-intro]{border:1px solid #b6beb8}[data-gp-theme="the-second-set-programme"] .preview-label{color:#515953}[data-gp-theme="the-second-set-programme"] .preview-bar::selection{background:#252a2a;color:#fff}
[data-gp-theme="the-second-set-programme"] dialog.mega-menu{max-width:none;max-height:calc(100dvh - 32px);overflow:auto;border:0;padding:0;color:inherit;overscroll-behavior:contain}[data-gp-theme="the-second-set-programme"] dialog.mega-menu::backdrop{background:rgb(8 16 18 / .52)}[data-gp-theme="the-second-set-programme"] .mega-menu[open]{animation:gp-programme-menu-arrive 220ms var(--ease-drawer)}[data-gp-theme="the-second-set-programme"] .mega-menu[data-closing]{animation:gp-programme-menu-leave 160ms var(--ease-out) forwards}[data-gp-theme="the-second-set-programme"] .mega-menu[data-keyboard]{animation:none}[data-gp-theme="the-second-set-programme"] .menu-lock{overflow:hidden}@keyframes gp-programme-menu-arrive{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}@keyframes gp-programme-menu-leave{to{opacity:0;transform:translateY(-10px)}}
[data-gp-theme="the-second-set-programme"] .preloader{display:none;position:fixed;inset:0;z-index:190;place-content:center;pointer-events:none;text-align:center}[data-gp-theme="the-second-set-programme"] .preloader.is-active{display:grid;animation:gp-programme-intro-failsafe 1.3s step-end forwards}[data-gp-theme="the-second-set-programme"] .preloader.is-leaving{opacity:0;transition:opacity 180ms var(--ease-out)}@keyframes gp-programme-intro-failsafe{0%,99%{visibility:visible}100%{visibility:hidden}}
@media(max-width:650px){[data-gp-theme="the-second-set-programme"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="the-second-set-programme"] .preview-bar .preview-label{display:none}[data-gp-theme="the-second-set-programme"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="the-second-set-programme"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="the-second-set-programme"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="the-second-set-programme"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="the-second-set-programme"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="the-second-set-programme"] .preview-bar .preview-label{display:none}[data-gp-theme="the-second-set-programme"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="the-second-set-programme"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="the-second-set-programme"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="the-second-set-programme"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="the-second-set-programme"]{scroll-behavior:auto}[data-gp-theme="the-second-set-programme"] *,[data-gp-theme="the-second-set-programme"] *::before,[data-gp-theme="the-second-set-programme"] *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-gp-theme="the-second-set-programme"] .preloader.is-active{display:none!important}}
@media(max-width:650px){[data-gp-theme="the-second-set-programme"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="the-second-set-programme"] .preview-bar a{font-size:12px}[data-gp-theme="the-second-set-programme"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="the-second-set-programme"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="the-second-set-programme"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="the-second-set-programme"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="the-second-set-programme"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="the-second-set-programme"] .preview-bar a{font-size:12px}[data-gp-theme="the-second-set-programme"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="the-second-set-programme"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="the-second-set-programme"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="the-second-set-programme"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}


[data-gp-theme="the-second-set-programme"]{margin:0;background:var(--paper);color:var(--ink);font:18px/1.55 var(--body);text-rendering:optimizeLegibility}[data-gp-theme="the-second-set-programme"] h1,[data-gp-theme="the-second-set-programme"] h2,[data-gp-theme="the-second-set-programme"] h3,[data-gp-theme="the-second-set-programme"] p,[data-gp-theme="the-second-set-programme"] figure{margin:0}[data-gp-theme="the-second-set-programme"] h1,[data-gp-theme="the-second-set-programme"] h2,[data-gp-theme="the-second-set-programme"] h3{font-family:var(--display);font-weight:500;line-height:1.07;text-wrap:balance}[data-gp-theme="the-second-set-programme"] h1{font-size:clamp(48px,6vw,90px);letter-spacing:-.055em}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-programme"] h1{font-size:clamp(48px,6cqw,90px)}}[data-gp-theme="the-second-set-programme"] h2{font-size:clamp(35px,4vw,60px);letter-spacing:-.04em}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-programme"] h2{font-size:clamp(35px,4cqw,60px)}}[data-gp-theme="the-second-set-programme"] h3{font-size:27px;letter-spacing:-.025em}[data-gp-theme="the-second-set-programme"] p{max-width:65ch;text-wrap:pretty}[data-gp-theme="the-second-set-programme"] a{color:inherit}[data-gp-theme="the-second-set-programme"] img{width:100%;height:100%;object-fit:cover}[data-gp-theme="the-second-set-programme"] :is(button,[role="button"]){color:inherit}[data-gp-theme="the-second-set-programme"] :is(button,[role="button"]),[data-gp-theme="the-second-set-programme"] .action{border:1px solid var(--line);background:transparent;padding:11px 19px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:46px;transition:background-color 150ms var(--ease-out),color 150ms var(--ease-out),transform 150ms var(--ease-out)}[data-gp-theme="the-second-set-programme"] .action.primary,[data-gp-theme="the-second-set-programme"] :is(button,[role="button"])[aria-pressed=true]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}[data-gp-theme="the-second-set-programme"] .wrap{width:min(1360px,calc(100% - 96px));margin-inline:auto}[data-gp-theme="the-second-set-programme"] .section{padding-block:100px}[data-gp-theme="the-second-set-programme"] .stack>*+*{margin-top:24px}[data-gp-theme="the-second-set-programme"] .meta,[data-gp-theme="the-second-set-programme"] figcaption{font-size:14px;line-height:1.5;color:var(--muted)}[data-gp-theme="the-second-set-programme"] .label{font-size:15px;font-weight:600}[data-gp-theme="the-second-set-programme"] .section-head{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:40px}[data-gp-theme="the-second-set-programme"] .section-head p{max-width:400px}[data-gp-theme="the-second-set-programme"] .split{display:grid;grid-template-columns:1fr 1fr;gap:70px}[data-gp-theme="the-second-set-programme"] .split>*{min-width:0}[data-gp-theme="the-second-set-programme"] .choices{display:flex;gap:9px;flex-wrap:wrap}[data-gp-theme="the-second-set-programme"] .choices :is(button,[role="button"]){font-size:16px}[data-gp-theme="the-second-set-programme"] .masthead{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-block:27px;border-bottom:1px solid var(--line)}[data-gp-theme="the-second-set-programme"] .wordmark{text-decoration:none;font:600 30px/1 var(--display);display:flex;align-items:center;gap:12px}[data-gp-theme="the-second-set-programme"] .wordmark small{display:block;font:14px/1.4 var(--body);margin-top:8px}[data-gp-theme="the-second-set-programme"] .masthead nav{display:flex;gap:28px;align-items:center;font-size:16px}[data-gp-theme="the-second-set-programme"] .masthead nav a{min-height:44px;display:inline-flex;align-items:center;text-decoration:none}[data-gp-theme="the-second-set-programme"] .menu-trigger svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5}[data-gp-theme="the-second-set-programme"] .masthead .header-action{border-bottom:1px solid currentColor;text-decoration:none;padding-block:10px;font-size:16px}[data-gp-theme="the-second-set-programme"] .mega-menu{background:var(--paper);width:min(1300px,calc(100% - 48px));margin:80px auto auto;box-shadow:0 25px 80px #0004}[data-gp-theme="the-second-set-programme"] .menu-top{display:flex;align-items:start;justify-content:space-between;gap:30px;padding:36px;border-bottom:1px solid var(--line)}[data-gp-theme="the-second-set-programme"] .menu-top h2{font-size:44px}[data-gp-theme="the-second-set-programme"] .menu-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:45px;padding:40px}[data-gp-theme="the-second-set-programme"] .menu-grid h3{font-size:22px;margin-bottom:18px}[data-gp-theme="the-second-set-programme"] .menu-grid a{display:block;padding:10px 0;min-height:44px}[data-gp-theme="the-second-set-programme"] .menu-grid p{font-size:16px}[data-gp-theme="the-second-set-programme"] .menu-feature{background:var(--wash);padding:25px!important;text-decoration:none}[data-gp-theme="the-second-set-programme"] .menu-feature strong{font:36px/1.15 var(--display);display:block;margin:18px 0}[data-gp-theme="the-second-set-programme"] .menu-bottom{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding:18px 36px;font-size:14px}[data-gp-theme="the-second-set-programme"] .preloader{background:var(--paper);color:var(--ink)}[data-gp-theme="the-second-set-programme"] .preloader strong{font:56px var(--display)}[data-gp-theme="the-second-set-programme"] label{display:grid;gap:8px;font-size:16px}[data-gp-theme="the-second-set-programme"] input,[data-gp-theme="the-second-set-programme"] select,[data-gp-theme="the-second-set-programme"] textarea{width:100%;min-width:0;border:1px solid var(--line);padding:13px;background:var(--paper);color:var(--ink);border-radius:0;min-height:48px}[data-gp-theme="the-second-set-programme"] input::placeholder,[data-gp-theme="the-second-set-programme"] textarea::placeholder{color:var(--muted);opacity:1}[data-gp-theme="the-second-set-programme"] :is(form,[data-gp-form]){display:grid;gap:20px}[data-gp-theme="the-second-set-programme"] .form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}[data-gp-theme="the-second-set-programme"] :is(form,[data-gp-form]) :is(button,[role="button"]){justify-self:start;background:var(--accent);color:var(--on-accent);border-color:var(--accent)}[data-gp-theme="the-second-set-programme"] output{display:block;white-space:pre-line;overflow-wrap:anywhere;background:var(--wash);padding:22px;border:1px solid var(--line);font-size:16px}[data-gp-theme="the-second-set-programme"] output:empty{display:none}[data-gp-theme="the-second-set-programme"] .download{background:transparent;color:var(--ink);border-color:var(--line)}[data-gp-theme="the-second-set-programme"] details{border-top:1px solid var(--line);padding:20px 0}[data-gp-theme="the-second-set-programme"] summary{min-height:44px;font-weight:600}[data-gp-theme="the-second-set-programme"] details p{margin-top:14px}[data-gp-theme="the-second-set-programme"] .full-footer{padding-block:65px 25px;border-top:1px solid var(--line)}[data-gp-theme="the-second-set-programme"] .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}[data-gp-theme="the-second-set-programme"] .footer-grid h2{font-size:44px}[data-gp-theme="the-second-set-programme"] .footer-grid h3{font:600 17px var(--body);margin-bottom:15px}[data-gp-theme="the-second-set-programme"] .footer-grid a{display:block;min-height:44px;padding:8px 0}[data-gp-theme="the-second-set-programme"] .footer-bottom{display:flex;justify-content:space-between;gap:25px;padding-top:24px;margin-top:45px;border-top:1px solid var(--line);font-size:14px}[data-gp-theme="the-second-set-programme"] .tone{background:var(--wash)}[data-gp-theme="the-second-set-programme"] .rule{border-top:1px solid var(--line)}[data-gp-theme="the-second-set-programme"] .task-note{min-height:72px}[data-gp-theme="the-second-set-programme"] .feedback{min-height:28px;font-size:15px}[data-gp-theme="the-second-set-programme"] .inkbox{background:var(--ink);color:var(--paper)}[data-gp-theme="the-second-set-programme"] .inkbox .meta{color:var(--paper)}[data-gp-theme="the-second-set-programme"] fieldset{margin:0;padding:0;border:0;min-width:0}[data-gp-theme="the-second-set-programme"] legend{margin-bottom:12px}[data-gp-theme="the-second-set-programme"] input[type=checkbox]{width:21px;min-height:21px;height:21px;accent-color:var(--accent)}[data-gp-theme="the-second-set-programme"] .check{display:flex;align-items:start;gap:12px;padding:13px 0}[data-gp-theme="the-second-set-programme"] .check input{flex:none;margin-top:4px}[data-gp-theme="the-second-set-programme"] .menu-mark{width:70px;height:70px;display:grid;place-content:center;border:1px solid var(--line);font:40px var(--display)}[data-gp-theme="the-second-set-programme"] .visual-note{padding:12px 0}[data-gp-theme="the-second-set-programme"] .thin-rule{width:100%;height:1px;background:var(--line)}
@media(hover:hover) and (pointer:fine){[data-gp-theme="the-second-set-programme"] .action:hover,[data-gp-theme="the-second-set-programme"] :is(button,[role="button"]):hover{transform:translateY(-2px)}[data-gp-theme="the-second-set-programme"] .masthead a:hover,[data-gp-theme="the-second-set-programme"] .footer-grid a:hover{color:var(--accent)}}
@media(max-width:850px){[data-gp-theme="the-second-set-programme"] .wrap{width:calc(100% - 48px)}[data-gp-theme="the-second-set-programme"] .masthead{gap:18px}[data-gp-theme="the-second-set-programme"] .masthead nav>a{display:none}[data-gp-theme="the-second-set-programme"] .masthead .header-action{display:none}[data-gp-theme="the-second-set-programme"] .split{gap:35px}[data-gp-theme="the-second-set-programme"] .section{padding-block:70px}[data-gp-theme="the-second-set-programme"] .menu-grid{gap:25px}[data-gp-theme="the-second-set-programme"] .footer-grid{gap:30px}}
@containerfs-editor-canvas (max-width: 850px){[data-gp-theme="the-second-set-programme"] .wrap{width:calc(100% - 48px)}[data-gp-theme="the-second-set-programme"] .masthead{gap:18px}[data-gp-theme="the-second-set-programme"] .masthead nav>a{display:none}[data-gp-theme="the-second-set-programme"] .masthead .header-action{display:none}[data-gp-theme="the-second-set-programme"] .split{gap:35px}[data-gp-theme="the-second-set-programme"] .section{padding-block:70px}[data-gp-theme="the-second-set-programme"] .menu-grid{gap:25px}[data-gp-theme="the-second-set-programme"] .footer-grid{gap:30px}}
@media(max-width:600px){[data-gp-theme="the-second-set-programme"]{font-size:17px}[data-gp-theme="the-second-set-programme"] .wrap{width:calc(100% - 36px)}[data-gp-theme="the-second-set-programme"] .masthead{padding-block:20px}[data-gp-theme="the-second-set-programme"] .wordmark{font-size:25px}[data-gp-theme="the-second-set-programme"] .wordmark small{font-size:12px}[data-gp-theme="the-second-set-programme"] .menu-trigger{padding:10px 12px}[data-gp-theme="the-second-set-programme"] .section{padding-block:52px}[data-gp-theme="the-second-set-programme"] .section-head,[data-gp-theme="the-second-set-programme"] .split{display:grid;grid-template-columns:1fr;gap:25px}[data-gp-theme="the-second-set-programme"] .section-head{margin-bottom:28px}[data-gp-theme="the-second-set-programme"] .form-row{grid-template-columns:1fr}[data-gp-theme="the-second-set-programme"] .mega-menu{width:calc(100% - 20px);margin:10px auto}[data-gp-theme="the-second-set-programme"] .menu-top{padding:24px 20px;gap:14px}[data-gp-theme="the-second-set-programme"] .menu-top h2{font-size:32px}[data-gp-theme="the-second-set-programme"] .menu-grid{grid-template-columns:1fr;padding:20px;gap:28px}[data-gp-theme="the-second-set-programme"] .menu-feature{padding:20px!important}[data-gp-theme="the-second-set-programme"] .menu-bottom{padding:18px 20px;display:grid;gap:5px}[data-gp-theme="the-second-set-programme"] .footer-grid{grid-template-columns:1fr 1fr;gap:28px}[data-gp-theme="the-second-set-programme"] .footer-grid>div:first-child{grid-column:1/-1}[data-gp-theme="the-second-set-programme"] .footer-bottom{display:grid;gap:8px}[data-gp-theme="the-second-set-programme"] .footer-grid h2{font-size:36px}[data-gp-theme="the-second-set-programme"] .choices :is(button,[role="button"]){flex:1;padding:10px 12px}[data-gp-theme="the-second-set-programme"] h1{font-size:52px}[data-gp-theme="the-second-set-programme"] h2{font-size:38px}[data-gp-theme="the-second-set-programme"] .full-footer{padding-top:45px}[data-gp-theme="the-second-set-programme"] .stack>*+*{margin-top:20px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="the-second-set-programme"]{font-size:17px}[data-gp-theme="the-second-set-programme"] .wrap{width:calc(100% - 36px)}[data-gp-theme="the-second-set-programme"] .masthead{padding-block:20px}[data-gp-theme="the-second-set-programme"] .wordmark{font-size:25px}[data-gp-theme="the-second-set-programme"] .wordmark small{font-size:12px}[data-gp-theme="the-second-set-programme"] .menu-trigger{padding:10px 12px}[data-gp-theme="the-second-set-programme"] .section{padding-block:52px}[data-gp-theme="the-second-set-programme"] .section-head,[data-gp-theme="the-second-set-programme"] .split{display:grid;grid-template-columns:1fr;gap:25px}[data-gp-theme="the-second-set-programme"] .section-head{margin-bottom:28px}[data-gp-theme="the-second-set-programme"] .form-row{grid-template-columns:1fr}[data-gp-theme="the-second-set-programme"] .mega-menu{width:calc(100% - 20px);margin:10px auto}[data-gp-theme="the-second-set-programme"] .menu-top{padding:24px 20px;gap:14px}[data-gp-theme="the-second-set-programme"] .menu-top h2{font-size:32px}[data-gp-theme="the-second-set-programme"] .menu-grid{grid-template-columns:1fr;padding:20px;gap:28px}[data-gp-theme="the-second-set-programme"] .menu-feature{padding:20px!important}[data-gp-theme="the-second-set-programme"] .menu-bottom{padding:18px 20px;display:grid;gap:5px}[data-gp-theme="the-second-set-programme"] .footer-grid{grid-template-columns:1fr 1fr;gap:28px}[data-gp-theme="the-second-set-programme"] .footer-grid>div:first-child{grid-column:1/-1}[data-gp-theme="the-second-set-programme"] .footer-bottom{display:grid;gap:8px}[data-gp-theme="the-second-set-programme"] .footer-grid h2{font-size:36px}[data-gp-theme="the-second-set-programme"] .choices :is(button,[role="button"]){flex:1;padding:10px 12px}[data-gp-theme="the-second-set-programme"] h1{font-size:52px}[data-gp-theme="the-second-set-programme"] h2{font-size:38px}[data-gp-theme="the-second-set-programme"] .full-footer{padding-top:45px}[data-gp-theme="the-second-set-programme"] .stack>*+*{margin-top:20px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="the-second-set-programme"] :is(button,[role="button"]),[data-gp-theme="the-second-set-programme"] .action{transform:none!important;transition:none!important}}
[data-gp-theme="the-second-set-programme"]{--paper:#f5eedf;--ink:#302c28;--accent:#705734;--on-accent:#fffaf0;--wash:#e8decc;--line:#b8aa91;--muted:#6c6053;--display:"Libre Baskerville",serif;--body:"Source Sans 3",sans-serif}[data-gp-theme="the-second-set-programme"][data-palette="1"]{--paper:#f5e9e4;--ink:#4a3033;--accent:#75494e;--wash:#e7d5cf;--line:#bca29f;--muted:#71565a}[data-gp-theme="the-second-set-programme"][data-palette="2"]{--paper:#eef0ee;--ink:#273b4c;--accent:#405c73;--wash:#dce2e4;--line:#a2afb7;--muted:#536575}[data-gp-theme="the-second-set-programme"][data-mode="dark"]{--paper:#292725;--ink:#f4ecdd;--accent:#d8bc90;--on-accent:#292725;--wash:#39342e;--line:#796c58;--muted:#d1c5b2}[data-gp-theme="the-second-set-programme"][data-palette="1"][data-mode="dark"]{--paper:#34272b;--wash:#47353b;--accent:#e1b8b9;--on-accent:#34272b;--line:#8d6b73;--muted:#ddc8ce}[data-gp-theme="the-second-set-programme"][data-palette="2"][data-mode="dark"]{--paper:#23303a;--wash:#33424d;--accent:#b9cddf;--on-accent:#23303a;--line:#677f91;--muted:#cad6df}[data-gp-theme="the-second-set-programme"] .wordmark{font:400 27px/1.1 var(--display);display:block;letter-spacing:-.035em}[data-gp-theme="the-second-set-programme"] .wordmark small{font-size:12px;letter-spacing:.03em}[data-gp-theme="the-second-set-programme"] .masthead nav{font-size:15px;gap:25px}[data-gp-theme="the-second-set-programme"] .masthead .header-action{font-size:15px}[data-gp-theme="the-second-set-programme"] .masthead{padding-block:28px}[data-gp-theme="the-second-set-programme"] .book-opening{padding-top:30px}[data-gp-theme="the-second-set-programme"] .book-imprint{display:flex;justify-content:space-between;gap:30px;font-size:13px;margin-bottom:25px}[data-gp-theme="the-second-set-programme"] .open-book{display:grid;grid-template-columns:1fr 1fr;box-shadow:0 10px 25px #0001;border:1px solid var(--line);background:var(--wash)}[data-gp-theme="the-second-set-programme"] .book-left,[data-gp-theme="the-second-set-programme"] .book-right{padding:35px 40px;min-width:0;display:flex;flex-direction:column;position:relative}[data-gp-theme="the-second-set-programme"] .book-left{background:linear-gradient(90deg,transparent 94%,#0000000b);border-right:1px solid var(--line)}[data-gp-theme="the-second-set-programme"] .book-right{background:linear-gradient(90deg,#00000008,transparent 6%);align-items:start;gap:25px}[data-gp-theme="the-second-set-programme"] .book-left figure{margin:auto 0;position:relative}[data-gp-theme="the-second-set-programme"] .book-left img{height:415px;object-position:center;filter:saturate(.55)}[data-gp-theme="the-second-set-programme"] .book-left figcaption{padding-top:13px}[data-gp-theme="the-second-set-programme"] .book-small-title{font:22px var(--display);letter-spacing:.02em}[data-gp-theme="the-second-set-programme"] .book-right h1{font-weight:400;font-size:clamp(52px,5.2vw,76px);line-height:1.11;margin-top:15px;letter-spacing:-.065em}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-programme"] .book-right h1{font-size:clamp(52px,5.2cqw,76px)}}[data-gp-theme="the-second-set-programme"] .book-right p{font-size:18px}[data-gp-theme="the-second-set-programme"] .book-right .action{font-size:16px;border-color:var(--ink);margin-top:5px}[data-gp-theme="the-second-set-programme"] .book-page-foot{display:flex;justify-content:space-between;font-size:13px;width:100%;border-top:1px solid var(--line);padding-top:16px;margin-top:35px}[data-gp-theme="the-second-set-programme"] .book-left .book-page-foot{margin-top:auto;padding-top:16px}[data-gp-theme="the-second-set-programme"] .opening-note{font-size:13px;text-align:center;max-width:none;color:var(--muted);margin-top:22px}[data-gp-theme="the-second-set-programme"] .repertoire,[data-gp-theme="the-second-set-programme"] .room{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}[data-gp-theme="the-second-set-programme"] .chapter-heading{display:flex;align-items:start;gap:25px}[data-gp-theme="the-second-set-programme"] .chapter-heading>span:not(.fs-richtext){font:23px/1.3 var(--display);color:var(--accent);padding-top:5px;flex:none}[data-gp-theme="the-second-set-programme"] .chapter-heading h2{font-size:44px;line-height:1.18;font-weight:400;letter-spacing:-.05em}[data-gp-theme="the-second-set-programme"] .chapter-heading p{font-size:18px}[data-gp-theme="the-second-set-programme"] .occasion-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);padding-bottom:20px;flex-wrap:wrap}[data-gp-theme="the-second-set-programme"] .occasion-tabs :is(button,[role="button"]){font-size:16px;padding:11px 17px}[data-gp-theme="the-second-set-programme"] .occasion-note{padding:28px 0;display:flex;flex-direction:column;gap:20px;min-height:270px}[data-gp-theme="the-second-set-programme"] .occasion-note h3{font-size:29px;line-height:1.25;font-weight:400}[data-gp-theme="the-second-set-programme"] .occasion-note p{font-size:18px}[data-gp-theme="the-second-set-programme"] .chapter-choices .check{border-top:1px solid var(--line);padding:20px 0}[data-gp-theme="the-second-set-programme"] .chapter-choices .check>span:not(.fs-richtext){flex:1}[data-gp-theme="the-second-set-programme"] .chapter-choices .check strong{font:21px var(--display);font-weight:400}[data-gp-theme="the-second-set-programme"] .chapter-choices .chapter-number{font:20px var(--display);flex:none!important}[data-gp-theme="the-second-set-programme"] .chapter-choices label{font-size:16px}[data-gp-theme="the-second-set-programme"] .format-band{background:var(--ink);color:var(--paper)}[data-gp-theme="the-second-set-programme"] .format-band .chapter-heading>span:not(.fs-richtext){color:var(--paper)}[data-gp-theme="the-second-set-programme"] .format-spread{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;margin-top:50px}[data-gp-theme="the-second-set-programme"] .format-spread article{border-top:1px solid currentColor;padding-top:25px;display:flex;flex-direction:column;gap:25px}[data-gp-theme="the-second-set-programme"] .format-notation{font:45px var(--display);height:65px;background:repeating-linear-gradient(transparent 0 11px,#ffffff25 11px 12px);width:80px}[data-gp-theme="the-second-set-programme"] .format-spread h3{font-size:27px;line-height:1.22;font-weight:400}[data-gp-theme="the-second-set-programme"] .format-spread p{font-size:18px}[data-gp-theme="the-second-set-programme"] .format-spread article>span:not(.fs-richtext){font-size:14px;margin-top:auto;border-top:1px solid currentColor;padding-top:15px}[data-gp-theme="the-second-set-programme"] .room-detail figure{margin-bottom:28px}[data-gp-theme="the-second-set-programme"] .room-detail img{height:310px;filter:saturate(.6)}[data-gp-theme="the-second-set-programme"] .room-detail figcaption{margin-top:12px}[data-gp-theme="the-second-set-programme"] .programme-note{background:var(--wash)}[data-gp-theme="the-second-set-programme"] .programme-note .split{gap:90px}[data-gp-theme="the-second-set-programme"] .programme-note :is(form,[data-gp-form]){padding-left:30px;border-left:1px solid var(--line)}[data-gp-theme="the-second-set-programme"] .pr-footer h2{font-size:34px;line-height:1.25;font-weight:400}[data-gp-theme="the-second-set-programme"] .pr-footer .footer-grid{grid-template-columns:1.5fr 1fr 1fr}[data-gp-theme="the-second-set-programme"] .staff-lines{height:80px;position:relative;background:repeating-linear-gradient(transparent 0 12px,var(--line) 12px 13px)}[data-gp-theme="the-second-set-programme"] .staff-lines>span:not(.fs-richtext){font:70px/.9 var(--display);position:absolute;left:30px;bottom:-5px}[data-gp-theme="the-second-set-programme"] .pr-intro{font-size:42px!important}[data-gp-theme="the-second-set-programme"] .preloader>span:not(.fs-richtext){margin-top:20px;font:20px var(--display)}
@media(max-width:950px){[data-gp-theme="the-second-set-programme"] .book-left,[data-gp-theme="the-second-set-programme"] .book-right{padding:25px}[data-gp-theme="the-second-set-programme"] .book-right h1{font-size:58px}[data-gp-theme="the-second-set-programme"] .book-left img{height:370px}[data-gp-theme="the-second-set-programme"] .repertoire,[data-gp-theme="the-second-set-programme"] .room{gap:40px}[data-gp-theme="the-second-set-programme"] .format-spread{gap:35px}[data-gp-theme="the-second-set-programme"] .programme-note .split{gap:40px}}
@containerfs-editor-canvas (max-width: 950px){[data-gp-theme="the-second-set-programme"] .book-left,[data-gp-theme="the-second-set-programme"] .book-right{padding:25px}[data-gp-theme="the-second-set-programme"] .book-right h1{font-size:58px}[data-gp-theme="the-second-set-programme"] .book-left img{height:370px}[data-gp-theme="the-second-set-programme"] .repertoire,[data-gp-theme="the-second-set-programme"] .room{gap:40px}[data-gp-theme="the-second-set-programme"] .format-spread{gap:35px}[data-gp-theme="the-second-set-programme"] .programme-note .split{gap:40px}}
@media(max-width:600px){[data-gp-theme="the-second-set-programme"] .wordmark{font-size:23px}[data-gp-theme="the-second-set-programme"] .wordmark small{font-size:11px;max-width:155px}[data-gp-theme="the-second-set-programme"] .masthead nav{gap:0}[data-gp-theme="the-second-set-programme"] .menu-trigger{font-size:14px;padding-inline:10px}[data-gp-theme="the-second-set-programme"] .book-imprint{font-size:11px;gap:20px}[data-gp-theme="the-second-set-programme"] .book-imprint>span:not(.fs-richtext):first-child{display:none}[data-gp-theme="the-second-set-programme"] .open-book{grid-template-columns:1fr}[data-gp-theme="the-second-set-programme"] .book-left{padding:20px 20px 0;border-right:0;background:none}[data-gp-theme="the-second-set-programme"] .book-left img{height:250px}[data-gp-theme="the-second-set-programme"] .book-left figcaption{font-size:12px}[data-gp-theme="the-second-set-programme"] .book-left .book-page-foot{display:none}[data-gp-theme="the-second-set-programme"] .book-right{padding:25px 20px;gap:20px;background:none}[data-gp-theme="the-second-set-programme"] .book-small-title{font-size:19px}[data-gp-theme="the-second-set-programme"] .book-right h1{font-size:49px;margin-top:0;line-height:1.12}[data-gp-theme="the-second-set-programme"] .book-right h1 br:nth-child(2){display:none}[data-gp-theme="the-second-set-programme"] .book-right p{font-size:17px}[data-gp-theme="the-second-set-programme"] .book-page-foot{margin-top:8px;font-size:12px}[data-gp-theme="the-second-set-programme"] .opening-note{text-align:left;font-size:12px}[data-gp-theme="the-second-set-programme"] .repertoire,[data-gp-theme="the-second-set-programme"] .room{grid-template-columns:1fr;gap:30px}[data-gp-theme="the-second-set-programme"] .chapter-heading{gap:17px}[data-gp-theme="the-second-set-programme"] .chapter-heading>span:not(.fs-richtext){font-size:20px}[data-gp-theme="the-second-set-programme"] .chapter-heading h2{font-size:36px}[data-gp-theme="the-second-set-programme"] .occasion-tabs{gap:5px}[data-gp-theme="the-second-set-programme"] .occasion-tabs :is(button,[role="button"]){padding-inline:10px;font-size:15px;flex:1}[data-gp-theme="the-second-set-programme"] .occasion-note{min-height:290px}[data-gp-theme="the-second-set-programme"] .occasion-note h3{font-size:27px}[data-gp-theme="the-second-set-programme"] .occasion-note p{font-size:17px}[data-gp-theme="the-second-set-programme"] .format-spread{grid-template-columns:1fr;gap:30px;margin-top:30px}[data-gp-theme="the-second-set-programme"] .format-spread article{gap:18px}[data-gp-theme="the-second-set-programme"] .format-notation{height:50px;font-size:40px}[data-gp-theme="the-second-set-programme"] .room-detail img{height:250px}[data-gp-theme="the-second-set-programme"] .programme-note .split{gap:30px}[data-gp-theme="the-second-set-programme"] .programme-note :is(form,[data-gp-form]){padding-left:0;border-left:0}[data-gp-theme="the-second-set-programme"] .pr-footer .footer-grid{grid-template-columns:1fr 1fr}[data-gp-theme="the-second-set-programme"] .pr-footer h2{font-size:30px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="the-second-set-programme"] .wordmark{font-size:23px}[data-gp-theme="the-second-set-programme"] .wordmark small{font-size:11px;max-width:155px}[data-gp-theme="the-second-set-programme"] .masthead nav{gap:0}[data-gp-theme="the-second-set-programme"] .menu-trigger{font-size:14px;padding-inline:10px}[data-gp-theme="the-second-set-programme"] .book-imprint{font-size:11px;gap:20px}[data-gp-theme="the-second-set-programme"] .book-imprint>span:not(.fs-richtext):first-child{display:none}[data-gp-theme="the-second-set-programme"] .open-book{grid-template-columns:1fr}[data-gp-theme="the-second-set-programme"] .book-left{padding:20px 20px 0;border-right:0;background:none}[data-gp-theme="the-second-set-programme"] .book-left img{height:250px}[data-gp-theme="the-second-set-programme"] .book-left figcaption{font-size:12px}[data-gp-theme="the-second-set-programme"] .book-left .book-page-foot{display:none}[data-gp-theme="the-second-set-programme"] .book-right{padding:25px 20px;gap:20px;background:none}[data-gp-theme="the-second-set-programme"] .book-small-title{font-size:19px}[data-gp-theme="the-second-set-programme"] .book-right h1{font-size:49px;margin-top:0;line-height:1.12}[data-gp-theme="the-second-set-programme"] .book-right h1 br:nth-child(2){display:none}[data-gp-theme="the-second-set-programme"] .book-right p{font-size:17px}[data-gp-theme="the-second-set-programme"] .book-page-foot{margin-top:8px;font-size:12px}[data-gp-theme="the-second-set-programme"] .opening-note{text-align:left;font-size:12px}[data-gp-theme="the-second-set-programme"] .repertoire,[data-gp-theme="the-second-set-programme"] .room{grid-template-columns:1fr;gap:30px}[data-gp-theme="the-second-set-programme"] .chapter-heading{gap:17px}[data-gp-theme="the-second-set-programme"] .chapter-heading>span:not(.fs-richtext){font-size:20px}[data-gp-theme="the-second-set-programme"] .chapter-heading h2{font-size:36px}[data-gp-theme="the-second-set-programme"] .occasion-tabs{gap:5px}[data-gp-theme="the-second-set-programme"] .occasion-tabs :is(button,[role="button"]){padding-inline:10px;font-size:15px;flex:1}[data-gp-theme="the-second-set-programme"] .occasion-note{min-height:290px}[data-gp-theme="the-second-set-programme"] .occasion-note h3{font-size:27px}[data-gp-theme="the-second-set-programme"] .occasion-note p{font-size:17px}[data-gp-theme="the-second-set-programme"] .format-spread{grid-template-columns:1fr;gap:30px;margin-top:30px}[data-gp-theme="the-second-set-programme"] .format-spread article{gap:18px}[data-gp-theme="the-second-set-programme"] .format-notation{height:50px;font-size:40px}[data-gp-theme="the-second-set-programme"] .room-detail img{height:250px}[data-gp-theme="the-second-set-programme"] .programme-note .split{gap:30px}[data-gp-theme="the-second-set-programme"] .programme-note :is(form,[data-gp-form]){padding-left:0;border-left:0}[data-gp-theme="the-second-set-programme"] .pr-footer .footer-grid{grid-template-columns:1fr 1fr}[data-gp-theme="the-second-set-programme"] .pr-footer h2{font-size:30px}}

@media(max-width:380px){[data-gp-theme="the-second-set-programme"] .occasion-note{min-height:320px}}

@containerfs-editor-canvas (max-width: 380px){[data-gp-theme="the-second-set-programme"] .occasion-note{min-height:320px}}

/* Preview chrome and accessibility only. Theme authors own the visual worlds. */
[data-gp-theme="the-second-set-programme"][data-premium]{color-scheme:light;background:var(--paper);color:var(--ink);accent-color:var(--accent);scrollbar-color:var(--accent) var(--wash)}
[data-gp-theme="the-second-set-programme"][data-premium][data-mode=dark]{color-scheme:dark}
[data-gp-theme="the-second-set-programme"][data-premium] ::selection{background:var(--accent);color:var(--on-accent)}
[data-gp-theme="the-second-set-programme"][data-premium] :is(input,textarea){caret-color:var(--accent)}
[data-gp-theme="the-second-set-programme"][data-premium] :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--accent);outline-offset:4px}
[data-gp-theme="the-second-set-programme"][data-premium] :is(input,select,textarea){max-width:100%}
[data-gp-theme="the-second-set-programme"][data-premium] :is(input,textarea)::placeholder{color:var(--muted);opacity:1}
[data-gp-theme="the-second-set-programme"][data-premium] .preview-bar{display:flex;flex-wrap:wrap;justify-content:flex-start;background:#f5f5f0;color:#242d2c;border-color:#cbd0c8;gap:8px 14px;position:relative;font:13px/1.3 "Figtree",sans-serif;min-height:52px;padding:6px 3vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="the-second-set-programme"][data-premium] .preview-bar{padding:6px 3cqw}}
[data-gp-theme="the-second-set-programme"][data-premium] .preview-bar>a{font-weight:600;min-height:40px;display:flex;align-items:center}
[data-gp-theme="the-second-set-programme"][data-premium] .preview-bar [role=group]{margin-left:auto;display:flex;gap:2px}
[data-gp-theme="the-second-set-programme"][data-premium] .preview-bar :is(button,select){font:13px/1.3 "Figtree",sans-serif;min-height:40px;max-width:100%;border-radius:3px}
[data-gp-theme="the-second-set-programme"][data-premium] .preview-bar select{background:#fff;color:#242d2c;border:1px solid #a2ada4;padding:7px 24px 7px 9px}
[data-gp-theme="the-second-set-programme"][data-premium] .preview-bar [aria-pressed=true]{background:#242d2c;color:#fff}
[data-gp-theme="the-second-set-programme"][data-premium] .preview-bar .preview-label{font:12px/1.3 "Figtree",sans-serif;color:#48554f}
[data-gp-theme="the-second-set-programme"][data-premium] .preview-bar :focus-visible{outline-color:#254fbb}
[data-gp-theme="the-second-set-programme"][data-premium] .preview-bar [data-replay-intro]{font-size:12px;margin:0}
[data-gp-theme="the-second-set-programme"][data-premium] .preview-bar [data-replay-intro]::after{content:none}
[data-gp-theme="the-second-set-programme"][data-premium] .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
[data-gp-theme="the-second-set-programme"][data-premium] .premium-action{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 22px;background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);text-decoration:none;font-weight:600;transition:transform 150ms var(--ease-out),background-color 150ms var(--ease-out)}
[data-gp-theme="the-second-set-programme"][data-premium] .premium-action:active{transform:translateY(1px)}
[data-gp-theme="the-second-set-programme"][data-premium] .premium-action:disabled{opacity:.6;cursor:not-allowed}
[data-gp-theme="the-second-set-programme"][data-premium] :is(h1,h2,h3){text-wrap:balance}
[data-gp-theme="the-second-set-programme"][data-premium] p{text-wrap:pretty}
/* Put down the opaque menu surface immediately, then introduce its content. */
[data-gp-theme="the-second-set-programme"][data-premium] .mega-menu[open]:not([data-closing]){animation:none}
[data-gp-theme="the-second-set-programme"][data-premium] .mega-menu[open]:not([data-closing])>:not(:first-child){animation:gp-programme-premium-menu-content 160ms var(--ease-out)}
[data-gp-theme="the-second-set-programme"][data-premium] .mega-menu[data-keyboard]>:not(:first-child){animation:none!important}
[data-gp-theme="the-second-set-programme"][data-premium][data-input=keyboard] :is(button,[role="button"]):active{transform:none}
@keyframes gp-programme-premium-menu-content{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:650px){
 [data-gp-theme="the-second-set-programme"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="the-second-set-programme"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="the-second-set-programme"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="the-second-set-programme"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="the-second-set-programme"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="the-second-set-programme"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="the-second-set-programme"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="the-second-set-programme"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@containerfs-editor-canvas (max-width: 650px){
 [data-gp-theme="the-second-set-programme"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="the-second-set-programme"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="the-second-set-programme"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="the-second-set-programme"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="the-second-set-programme"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="the-second-set-programme"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="the-second-set-programme"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="the-second-set-programme"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@media(prefers-reduced-motion:reduce){[data-gp-theme="the-second-set-programme"][data-premium] .premium-action{transition:none;transform:none}}

/* Website page primitives and actual layout modes. Authored theme CSS owns identity. */
[data-gp-theme="the-second-set-programme"][data-framed=true] .preview-bar,[data-gp-theme="the-second-set-programme"][data-framed=true] .site-open-preview{display:none!important}
[data-gp-theme="the-second-set-programme"][data-site]{--ip-paper:var(--paper,#f4f2eb);--ip-ink:var(--ink,#192f2c);--ip-wash:var(--wash,var(--paper,#e6e9df));--ip-accent:var(--accent,var(--rust,#315b50));--ip-on:var(--on-accent,var(--paper,#fff));--ip-muted:var(--muted,var(--ink,#45534d));--ip-line:var(--line,var(--rule,#a1aca5))}
[data-gp-theme="the-second-set-programme"][data-inside]{background:var(--ip-paper);color:var(--ip-ink);font:18px/1.65 var(--body,"Figtree",sans-serif)}
[data-gp-theme="the-second-set-programme"] .inside-page :is(h1,h2,h3){font-family:var(--display,inherit);color:inherit;letter-spacing:-.035em;line-height:1.1;font-weight:500;max-width:22ch}
[data-gp-theme="the-second-set-programme"] .inside-page h1{font-size:clamp(42px,5.3vw,80px);margin:0 0 26px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="the-second-set-programme"] .inside-page h1{font-size:clamp(42px,5.3cqw,80px)}}[data-gp-theme="the-second-set-programme"] .inside-page h2{font-size:clamp(30px,3vw,49px);margin:0 0 24px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-programme"] .inside-page h2{font-size:clamp(30px,3cqw,49px)}}[data-gp-theme="the-second-set-programme"] .inside-page h3{font-size:25px;margin:0 0 15px}
[data-gp-theme="the-second-set-programme"] .inside-page :is(p,li){max-width:72ch}[data-gp-theme="the-second-set-programme"] .inside-page p{margin:0 0 20px}[data-gp-theme="the-second-set-programme"] .inside-page a{color:inherit}[data-gp-theme="the-second-set-programme"] .inside-page img{max-width:100%;width:100%;height:100%;object-fit:cover}[data-gp-theme="the-second-set-programme"] .inside-page figure{margin:0}[data-gp-theme="the-second-set-programme"] .inside-page :is(button,[role="button"]){color:inherit}
[data-gp-theme="the-second-set-programme"] .ip-hero,[data-gp-theme="the-second-set-programme"] .ip-section{width:min(1320px,calc(100% - 96px));margin-inline:auto;padding-block:70px}[data-gp-theme="the-second-set-programme"] .ip-hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:65px}[data-gp-theme="the-second-set-programme"] .ip-opening{min-width:0}[data-gp-theme="the-second-set-programme"] .ip-hero:has(>.ip-opening:only-child){grid-template-columns:1fr}[data-gp-theme="the-second-set-programme"] .ip-art{height:430px;position:relative}[data-gp-theme="the-second-set-programme"] .ip-art img{object-fit:cover}[data-gp-theme="the-second-set-programme"] .ip-art figcaption,[data-gp-theme="the-second-set-programme"] .ip-caption{font-size:14px;line-height:1.5;color:var(--ip-muted);padding-top:10px}[data-gp-theme="the-second-set-programme"] .ip-section>.ip-caption{margin-bottom:20px}[data-gp-theme="the-second-set-programme"] .ip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}[data-gp-theme="the-second-set-programme"] .ip-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px}[data-gp-theme="the-second-set-programme"] .ip-card{min-width:0;border-top:1px solid var(--ip-line);padding:25px 0}[data-gp-theme="the-second-set-programme"] .ip-card figure{height:230px;margin-bottom:25px}[data-gp-theme="the-second-set-programme"] .ip-reading{width:min(76ch,calc(100% - 48px));margin-inline:auto;padding-block:55px}[data-gp-theme="the-second-set-programme"] .ip-reading h2{margin-top:40px}[data-gp-theme="the-second-set-programme"] .ip-ledger{margin:24px 0}[data-gp-theme="the-second-set-programme"] .ip-ledger>div{display:grid;grid-template-columns:1fr 1.4fr;gap:20px;border-top:1px solid var(--ip-line);padding:15px 0}[data-gp-theme="the-second-set-programme"] .ip-ledger dt{font-weight:600}[data-gp-theme="the-second-set-programme"] .ip-ledger dd{margin:0}[data-gp-theme="the-second-set-programme"] .ip-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border:1px solid var(--ip-accent);background:var(--ip-accent);color:var(--ip-on)!important;text-decoration:none;font-size:16px;transition:transform 150ms var(--ease-out)}[data-gp-theme="the-second-set-programme"] .ip-action.secondary{background:transparent;color:var(--ip-ink)!important;border-color:var(--ip-line)}[data-gp-theme="the-second-set-programme"] .ip-band{padding:55px max(24px,calc((100% - 1320px)/2));background:var(--ip-wash);color:var(--ip-ink)}[data-gp-theme="the-second-set-programme"] .ip-band p{max-width:65ch}[data-gp-theme="the-second-set-programme"] .ip-note{font-size:15px;border-left:3px solid var(--ip-accent);padding:12px 18px;background:var(--ip-wash);color:var(--ip-ink);margin-block:20px}[data-gp-theme="the-second-set-programme"] .ip-form{display:grid;gap:22px}[data-gp-theme="the-second-set-programme"] .ip-form label{display:grid;gap:8px;font-size:16px}[data-gp-theme="the-second-set-programme"] .ip-form :is(input,textarea,select){width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid var(--ip-line);background:var(--ip-paper);color:var(--ip-ink);font:inherit;border-radius:0}[data-gp-theme="the-second-set-programme"] .ip-form :is(input,textarea)::placeholder{color:var(--ip-muted);opacity:1}[data-gp-theme="the-second-set-programme"] .ip-field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}[data-gp-theme="the-second-set-programme"] .ip-form :is(button,[role="button"]){justify-self:start}[data-gp-theme="the-second-set-programme"] .ip-form textarea{min-height:135px}[data-gp-theme="the-second-set-programme"] .inside-page output[data-draft-output]{display:block;white-space:pre-wrap;padding:25px;background:var(--ip-wash);color:var(--ip-ink);border:1px solid var(--ip-line);overflow-wrap:anywhere}[data-gp-theme="the-second-set-programme"] .ip-checks{display:grid;gap:12px}[data-gp-theme="the-second-set-programme"] .ip-checks label{display:flex;align-items:start;gap:14px;border-top:1px solid var(--ip-line);padding:16px 0;min-height:52px}[data-gp-theme="the-second-set-programme"] .ip-checks input{width:22px;height:22px;min-height:22px;flex-shrink:0;margin-top:4px;accent-color:var(--ip-accent)}[data-gp-theme="the-second-set-programme"] .inside-page details{border-top:1px solid var(--ip-line);padding:18px 0}[data-gp-theme="the-second-set-programme"] .inside-page summary{min-height:44px;font-size:21px;cursor:pointer}[data-gp-theme="the-second-set-programme"] .inside-page details p{padding:16px 0 0}[data-gp-theme="the-second-set-programme"] .inside-page [data-filter-group]>[role=group]{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}[data-gp-theme="the-second-set-programme"] .inside-page [data-filter]{padding:10px 18px;min-height:44px;background:transparent;color:var(--ip-ink);border:1px solid var(--ip-line)}[data-gp-theme="the-second-set-programme"] .inside-page [data-filter][aria-pressed=true]{background:var(--ip-accent);color:var(--ip-on)}[data-gp-theme="the-second-set-programme"] .site-directory{padding:30px!important;background:var(--ip-paper)!important;color:var(--ip-ink)!important;border-top:1px solid var(--ip-line)}[data-gp-theme="the-second-set-programme"] .site-directory h3{font:600 17px/1.4 var(--body,"Figtree",sans-serif);margin:0 0 16px}[data-gp-theme="the-second-set-programme"] .site-directory>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 25px}[data-gp-theme="the-second-set-programme"] .site-directory a{display:block;font:16px/1.5 var(--body,"Figtree",sans-serif)!important;min-height:44px;padding:10px 0!important;color:inherit!important;text-decoration:none}[data-gp-theme="the-second-set-programme"] .site-directory a[aria-current=page]{text-decoration:underline;font-weight:600!important}[data-gp-theme="the-second-set-programme"] .site-open-preview{display:block;padding:10px 20px;background:#eef0eb;color:#20322d;font:14px/1.4 "Figtree",sans-serif;text-align:center}
[data-gp-theme="the-second-set-programme"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){width:100%;padding-inline:max(24px,4vw)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="the-second-set-programme"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){padding-inline:max(24px,4cqw)}}
[data-gp-theme="the-second-set-programme"]:has([data-gp-theme="the-second-set-programme"][data-layout=boxed]){background:#a6afa9}[data-gp-theme="the-second-set-programme"][data-layout=boxed]{width:min(1200px,calc(100% - 64px));margin-inline:auto;box-shadow:0 0 0 1px #0002,0 20px 70px #0002;min-height:100dvh;background:var(--ip-paper)}
[data-gp-theme="the-second-set-programme"][data-layout=centered] :is(.ip-hero,.opening,.cake-opening,.gp-title,.book-opening,.poster-opening,.portal-opening,.destination-opening,.route-opening){text-align:center}
[data-gp-theme="the-second-set-programme"][data-layout=centered] .ip-hero{grid-template-columns:1fr;max-width:1000px;justify-items:center}[data-gp-theme="the-second-set-programme"][data-layout=centered] .ip-opening{display:grid;justify-items:center}[data-gp-theme="the-second-set-programme"][data-layout=centered] .ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="the-second-set-programme"][data-layout=centered] .ip-art{width:min(760px,100%)}
[data-gp-theme="the-second-set-programme"][data-layout=minimalist] :is(.ip-section,.ip-hero){padding-block:42px}[data-gp-theme="the-second-set-programme"][data-layout=minimalist] :is(.ip-card,.ip-art,.ip-note){border-radius:0;box-shadow:none;background-image:none}[data-gp-theme="the-second-set-programme"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5vw,64px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-programme"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5cqw,64px)}}[data-gp-theme="the-second-set-programme"][data-layout=minimalist] :is(.mullions,.glaze-rim,.cake-sticker,.paper-corner){opacity:0}[data-gp-theme="the-second-set-programme"][data-layout=minimalist] :is(.ip-art img,.opening img){border-radius:0}
[data-gp-theme="the-second-set-programme"][data-layout=edge-hero] .ip-hero{width:100%;padding-inline:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="the-second-set-programme"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4vw)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-programme"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4cqw)}}[data-gp-theme="the-second-set-programme"][data-layout=edge-hero] .ip-art{height:600px}[data-gp-theme="the-second-set-programme"][data-layout=edge-hero] .ip-art img{border-radius:0}[data-gp-theme="the-second-set-programme"][data-layout=edge-hero] .ip-art figcaption{padding:8px 20px}
[data-gp-theme="the-second-set-programme"][data-layout=full-width] .inside-page>.ip-opening{width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="the-second-set-programme"][data-layout=full-width] .inside-page>.ip-opening{padding-inline:4cqw}}
[data-gp-theme="the-second-set-programme"][data-layout=centered] .inside-page>.ip-opening{display:flex;flex-direction:column;align-items:center;text-align:center;width:min(1000px,calc(100% - 48px));gap:30px}[data-gp-theme="the-second-set-programme"][data-layout=centered] .inside-page>.ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="the-second-set-programme"][data-layout=centered] .inside-page>.ip-opening>figure{width:min(780px,100%)}
[data-gp-theme="the-second-set-programme"][data-layout=minimalist] .inside-page>.ip-opening{padding-block:38px}[data-gp-theme="the-second-set-programme"][data-layout=minimalist] .inside-page>.ip-opening :is(h1,figure){box-shadow:none;border-radius:0}
[data-gp-theme="the-second-set-programme"][data-layout=edge-hero] .inside-page>.ip-opening{width:100%;max-width:none;padding:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="the-second-set-programme"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-programme"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4cqw}}[data-gp-theme="the-second-set-programme"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:600px;max-width:none;align-self:stretch}[data-gp-theme="the-second-set-programme"][data-layout=edge-hero] .inside-page>.ip-opening>figure img{height:100%;object-fit:cover;border-radius:0}
/* Existing home compositions gain real width/spacing modes without replacing their content. */
[data-gp-theme="the-second-set-programme"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="the-second-set-programme"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){padding-inline:4cqw}}
[data-gp-theme="the-second-set-programme"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child{text-align:center}
[data-gp-theme="the-second-set-programme"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(h1,p){margin-inline:auto}[data-gp-theme="the-second-set-programme"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(.opening-copy,.elevation-copy,.cake-copy,.hero-copy){text-align:center}
[data-gp-theme="the-second-set-programme"][data-layout=minimalist]:not([data-inside]) .gp-source-main>section{padding-block:44px}[data-gp-theme="the-second-set-programme"][data-layout=minimalist]:not([data-inside]) :is(.hero-sleeve,.calendar,.hello-note,.open-book){box-shadow:none}
[data-gp-theme="the-second-set-programme"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child{width:100%;max-width:none;margin-inline:0;padding-inline:0;background:var(--ip-wash)}[data-gp-theme="the-second-set-programme"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-programme"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4cqw}}[data-gp-theme="the-second-set-programme"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:600px}
@media(hover:hover) and (pointer:fine){[data-gp-theme="the-second-set-programme"] .ip-action:hover{transform:translateY(-2px)}[data-gp-theme="the-second-set-programme"] .site-directory a:hover{text-decoration:underline}}
@media(max-width:850px){[data-gp-theme="the-second-set-programme"] .ip-hero,[data-gp-theme="the-second-set-programme"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="the-second-set-programme"] .ip-hero{gap:30px}[data-gp-theme="the-second-set-programme"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="the-second-set-programme"] .ip-two{gap:30px}[data-gp-theme="the-second-set-programme"] .ip-art{height:340px}}
@containerfs-editor-canvas (max-width: 850px){[data-gp-theme="the-second-set-programme"] .ip-hero,[data-gp-theme="the-second-set-programme"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="the-second-set-programme"] .ip-hero{gap:30px}[data-gp-theme="the-second-set-programme"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="the-second-set-programme"] .ip-two{gap:30px}[data-gp-theme="the-second-set-programme"] .ip-art{height:340px}}
@media(max-width:600px){[data-gp-theme="the-second-set-programme"] .ip-hero,[data-gp-theme="the-second-set-programme"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="the-second-set-programme"] .ip-hero,[data-gp-theme="the-second-set-programme"] .ip-two,[data-gp-theme="the-second-set-programme"] .ip-grid,[data-gp-theme="the-second-set-programme"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="the-second-set-programme"] .ip-art{height:300px}[data-gp-theme="the-second-set-programme"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="the-second-set-programme"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="the-second-set-programme"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="the-second-set-programme"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="the-second-set-programme"] .site-directory{padding:22px!important}[data-gp-theme="the-second-set-programme"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="the-second-set-programme"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="the-second-set-programme"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="the-second-set-programme"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="the-second-set-programme"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="the-second-set-programme"] .ip-hero,[data-gp-theme="the-second-set-programme"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="the-second-set-programme"] .ip-hero,[data-gp-theme="the-second-set-programme"] .ip-two,[data-gp-theme="the-second-set-programme"] .ip-grid,[data-gp-theme="the-second-set-programme"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="the-second-set-programme"] .ip-art{height:300px}[data-gp-theme="the-second-set-programme"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="the-second-set-programme"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="the-second-set-programme"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="the-second-set-programme"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="the-second-set-programme"] .site-directory{padding:22px!important}[data-gp-theme="the-second-set-programme"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="the-second-set-programme"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="the-second-set-programme"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="the-second-set-programme"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="the-second-set-programme"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@media(max-width:600px){[data-gp-theme="the-second-set-programme"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="the-second-set-programme"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="the-second-set-programme"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="the-second-set-programme"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="the-second-set-programme"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="the-second-set-programme"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
[data-gp-theme="the-second-set-programme"] .inside-page a[aria-disabled=true]{cursor:default;text-decoration:none}
[data-gp-theme="the-second-set-programme"][data-layout=edge-hero] .inside-page .ip-hero .ip-art{transform:none}
@media(prefers-reduced-motion:reduce){[data-gp-theme="the-second-set-programme"] .ip-action{transition:none;transform:none!important}}
/* Task actions always use an explicit contrasting pair, including themed form overrides. */
[data-gp-theme="the-second-set-programme"][data-site] .inside-page :is(.ip-form :is(button,[role="button"]):is([type="submit"],[data-gp-button-type="submit"]),[data-save-draft],.ip-action:not(.secondary)){
 background:var(--ip-ink)!important;color:var(--ip-paper)!important;border:1px solid var(--ip-ink)!important;
 min-height:48px;padding:12px 22px;font-size:16px;line-height:1.4;
}
[data-gp-theme="the-second-set-programme"][data-site] .inside-page .ip-action.secondary{background:transparent!important;color:var(--ip-ink)!important;border-color:var(--ip-line)!important}
[data-gp-theme="the-second-set-programme"][data-site] .inside-page .ip-form :is(select,select option){background-color:var(--ip-paper);color:var(--ip-ink)}
[data-gp-theme="the-second-set-programme"] .site-plan-label{display:block;font:400 14px/1.45 var(--body,sans-serif);margin-top:6px;text-decoration:none;opacity:1}
[data-gp-theme="the-second-set-programme"] a[data-preview-plan]{cursor:pointer}[data-gp-theme="the-second-set-programme"] .inside-page a[data-preview-plan]{text-decoration:none}
[data-gp-theme="the-second-set-programme"][data-site] .site-directory a[data-preview-plan]{display:flex;flex-direction:column;align-items:flex-start;gap:2px}[data-gp-theme="the-second-set-programme"] .site-directory .site-plan-label{font-size:13px;margin:0}


[data-gp-theme="the-second-set-programme"][data-inside] .ip-opening,[data-gp-theme="the-second-set-programme"][data-inside] .ip-section{width:min(1240px,calc(100% - 72px));margin-inline:auto;padding:64px 0;border-bottom:1px solid var(--line,#a8b6bb)}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-opening{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:56px;align-items:center;padding-top:76px}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-opening>div:only-child{grid-column:1/-1;max-width:920px}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-opening h1{font-family:var(--display,serif);font-size:clamp(46px,6vw,88px);line-height:1.05;margin:0 0 28px;overflow-wrap:break-word}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="the-second-set-programme"][data-inside] .ip-opening h1{font-size:clamp(46px,6cqw,88px)}}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-lead{font-size:clamp(20px,2vw,25px);max-width:52ch;line-height:1.5}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="the-second-set-programme"][data-inside] .ip-lead{font-size:clamp(20px,2cqw,25px)}}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-section h2{font-size:clamp(30px,3.5vw,52px);margin:0 0 28px;max-width:24ch}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="the-second-set-programme"][data-inside] .ip-section h2{font-size:clamp(30px,3.5cqw,52px)}}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-section h3{font-size:clamp(23px,2.4vw,32px);margin-bottom:15px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="the-second-set-programme"][data-inside] .ip-section h3{font-size:clamp(23px,2.4cqw,32px)}}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-section p{max-width:68ch;line-height:1.65}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-section p+p{margin-top:18px}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-columns article{border-top:2px solid var(--accent,#345c68);padding-top:22px}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-reading{max-width:75ch}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-media{margin:0;min-width:0}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-media img{width:100%;height:auto;max-height:520px;min-height:240px;object-fit:cover;display:block}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-media figcaption{font-size:14px;margin-top:12px;line-height:1.5}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-ledger{margin:0;min-width:0}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-ledger>div{display:grid;grid-template-columns:minmax(140px,.6fr) minmax(0,1.6fr);gap:26px;border-top:1px solid var(--line,#aaa);padding:20px 0}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-ledger dt{font-weight:650}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-ledger dd{margin:0;max-width:65ch}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-detail{display:grid;grid-template-columns:1fr 1.35fr;gap:55px}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-action{display:inline-flex;align-items:center;min-height:48px;padding:13px 20px;border:1px solid currentColor;margin-top:24px;text-decoration:none;font-weight:650}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-form{max-width:780px;display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:28px}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-form label{display:grid;gap:9px;min-width:0;font-size:17px;font-weight:600}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-form label:has(textarea){grid-column:1/-1}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-form input,[data-gp-theme="the-second-set-programme"][data-inside] .ip-form select,[data-gp-theme="the-second-set-programme"][data-inside] .ip-form textarea{box-sizing:border-box;width:100%;min-width:0;min-height:48px;background:var(--paper,#fff);color:var(--ink,#123);border:1px solid var(--line,#aaa);font:inherit;padding:12px;border-radius:0}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-form :is(button,[role="button"]){justify-self:start;min-height:48px;padding:12px 24px}
[data-gp-theme="the-second-set-programme"][data-inside] [data-draft-output]{max-width:780px;white-space:pre-wrap;overflow-wrap:anywhere;margin:24px 0;padding:24px;border:1px solid var(--line,#aaa)}
[data-gp-theme="the-second-set-programme"][data-inside] [hidden]{display:none!important}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-checklist{max-width:800px}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-checklist label{display:flex;align-items:start;gap:14px;padding:18px 0;border-top:1px solid var(--line,#aaa);font:inherit}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-checklist input{width:22px;height:22px;min-height:22px;flex:none;accent-color:var(--accent,#456);margin:4px 0 0}
[data-gp-theme="the-second-set-programme"][data-inside] [data-check-count],[data-gp-theme="the-second-set-programme"][data-inside] [data-filter-count]{display:block;font-size:15px;padding:14px 0;background:transparent;border:0}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-filter-buttons,[data-gp-theme="the-second-set-programme"][data-inside] .ip-choice [role=group]{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-filter-buttons :is(button,[role="button"]),[data-gp-theme="the-second-set-programme"][data-inside] .ip-choice :is(button,[role="button"]){padding:12px 20px;min-height:48px;background:var(--paper,#fff);color:var(--ink,#123);border:1px solid currentColor}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-filter-buttons :is(button,[role="button"])[aria-pressed=true],[data-gp-theme="the-second-set-programme"][data-inside] .ip-choice :is(button,[role="button"])[aria-pressed=true]{background:var(--ink,#123);color:var(--paper,#fff)}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-records{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-records article{padding:28px;border:1px solid var(--line,#aaa);min-width:0}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-record-label{display:block;margin-bottom:24px;font-size:14px}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-choice [data-note-result]{padding:24px;background:var(--wash,#eee);border-left:3px solid var(--accent,#456);min-height:100px}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-closing{background:var(--wash,#eee);padding:38px!important;margin-block:32px!important}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-section details{padding:21px 0;border-top:1px solid var(--line,#aaa)}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-section summary{min-height:44px;cursor:pointer;font-weight:650}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-section details p{margin-top:12px}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-sequence{list-style:none;margin:0;padding:0;counter-reset:sequence}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-sequence li{counter-increment:sequence;display:grid;grid-template-columns:64px 1fr;gap:24px;border-top:1px solid var(--line,#aaa);padding:28px 0}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-sequence li:before{content:counter(sequence,decimal-leading-zero);font:32px var(--display,serif);color:var(--accent,#456)}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-sequence h3{margin-bottom:12px}
[data-gp-theme="the-second-set-programme"][data-inside] :is(a,:is(button,[role="button"]),input,select,textarea,summary):focus-visible{outline:3px solid var(--accent,#456);outline-offset:4px}
@media(hover:hover) and (pointer:fine){[data-gp-theme="the-second-set-programme"][data-inside] :is(.ip-action,.ip-filter-buttons :is(button,[role="button"]),.ip-choice button){transition:transform 150ms ease,opacity 150ms ease}[data-gp-theme="the-second-set-programme"][data-inside] :is(.ip-action,.ip-filter-buttons :is(button,[role="button"]),.ip-choice button):hover{transform:translateY(-2px)}}
@media(max-width:760px){[data-gp-theme="the-second-set-programme"][data-inside] .ip-opening,[data-gp-theme="the-second-set-programme"][data-inside] .ip-section{width:calc(100% - 36px);padding-block:42px}[data-gp-theme="the-second-set-programme"][data-inside] .ip-opening,[data-gp-theme="the-second-set-programme"][data-inside] .ip-detail{grid-template-columns:1fr;gap:28px}[data-gp-theme="the-second-set-programme"][data-inside] .ip-columns,[data-gp-theme="the-second-set-programme"][data-inside] .ip-records{grid-template-columns:1fr;gap:28px}[data-gp-theme="the-second-set-programme"][data-inside] .ip-opening h1{font-size:clamp(41px,10vw,68px)}[data-gp-theme="the-second-set-programme"][data-inside] .ip-form{grid-template-columns:1fr}[data-gp-theme="the-second-set-programme"][data-inside] .ip-ledger>div{grid-template-columns:1fr;gap:8px}[data-gp-theme="the-second-set-programme"][data-inside] .ip-closing{padding:26px!important}[data-gp-theme="the-second-set-programme"][data-inside] .ip-sequence li{grid-template-columns:44px 1fr;gap:12px}}
@containerfs-editor-canvas (max-width: 760px){[data-gp-theme="the-second-set-programme"][data-inside] .ip-opening,[data-gp-theme="the-second-set-programme"][data-inside] .ip-section{width:calc(100% - 36px);padding-block:42px}[data-gp-theme="the-second-set-programme"][data-inside] .ip-opening,[data-gp-theme="the-second-set-programme"][data-inside] .ip-detail{grid-template-columns:1fr;gap:28px}[data-gp-theme="the-second-set-programme"][data-inside] .ip-columns,[data-gp-theme="the-second-set-programme"][data-inside] .ip-records{grid-template-columns:1fr;gap:28px}[data-gp-theme="the-second-set-programme"][data-inside] .ip-opening h1{font-size:clamp(41px,10cqw,68px)}[data-gp-theme="the-second-set-programme"][data-inside] .ip-form{grid-template-columns:1fr}[data-gp-theme="the-second-set-programme"][data-inside] .ip-ledger>div{grid-template-columns:1fr;gap:8px}[data-gp-theme="the-second-set-programme"][data-inside] .ip-closing{padding:26px!important}[data-gp-theme="the-second-set-programme"][data-inside] .ip-sequence li{grid-template-columns:44px 1fr;gap:12px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="the-second-set-programme"][data-inside] :is(button,.ip-action){transition:none!important;transform:none!important}}
[data-gp-theme="the-second-set-programme"][data-inside][data-keyboard] :is(button,.ip-action){transform:none!important}

[data-gp-theme="the-second-set-programme"][data-inside] .ip-opening{gap:0;grid-template-columns:1fr 1fr;border:1px solid var(--line);padding:0;margin-top:50px;margin-bottom:30px;box-shadow:0 16px 30px #0000000b}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-opening>div{padding:56px;background:var(--wash)}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-opening>div:only-child{max-width:none}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-opening h1{font-size:clamp(42px,4.9vw,76px);font-weight:400;letter-spacing:-.035em;max-width:14ch}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="the-second-set-programme"][data-inside] .ip-opening h1{font-size:clamp(42px,4.9cqw,76px)}}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-opening .ip-lead{font-size:21px}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-opening>.ip-media{padding:38px;border-left:1px solid var(--line)}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-opening>.ip-media img{height:420px;min-height:0;object-fit:cover}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-book-note{border-left:1px solid var(--line);background:var(--paper)!important;display:flex;flex-direction:column;justify-content:space-between;min-height:410px;text-align:center}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-book-note>span:not(.fs-richtext){font:20px var(--display)}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-book-note>div{font:clamp(25px,3vw,39px)/1.7 var(--display);padding:30px 0;background:repeating-linear-gradient(transparent 0 37px,var(--line) 38px 39px,transparent 40px 47px)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="the-second-set-programme"][data-inside] .ip-book-note>div{font:clamp(25px,3cqw,39px)/1.7 var(--display)}}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-book-note small{font-size:14px}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-records{display:block}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-records article{display:grid;grid-template-columns:.65fr 1fr 1.3fr;gap:32px;border:0;border-top:1px solid var(--line);padding:28px 0}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-records h3{font-size:29px;font-weight:400}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-record-label{margin:0;font-style:italic}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-section h2{font-weight:400;font-size:clamp(30px,3vw,46px)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="the-second-set-programme"][data-inside] .ip-section h2{font-size:clamp(30px,3cqw,46px)}}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-detail-title{border-top:4px double var(--line);padding-top:25px}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-draft{border:1px solid var(--line);padding:44px!important;background:var(--wash)}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-closing{border-top:4px double var(--line);background:transparent;font-size:19px}
[data-gp-theme="the-second-set-programme"][data-inside] .ip-checklist label{border-top:1px solid var(--line);padding-block:22px}
@media(max-width:760px){[data-gp-theme="the-second-set-programme"][data-inside] .ip-opening{grid-template-columns:1fr;margin-top:26px}[data-gp-theme="the-second-set-programme"][data-inside] .ip-opening>div{padding:28px}[data-gp-theme="the-second-set-programme"][data-inside] .ip-opening>.ip-media{padding:24px;border-left:0;border-top:1px solid var(--line)}[data-gp-theme="the-second-set-programme"][data-inside] .ip-opening>.ip-media img{height:300px}[data-gp-theme="the-second-set-programme"][data-inside] .ip-book-note{border-left:0;border-top:1px solid var(--line);min-height:300px}[data-gp-theme="the-second-set-programme"][data-inside] .ip-records article{grid-template-columns:1fr;gap:14px}[data-gp-theme="the-second-set-programme"][data-inside] .ip-draft{padding:25px!important}}
@containerfs-editor-canvas (max-width: 760px){[data-gp-theme="the-second-set-programme"][data-inside] .ip-opening{grid-template-columns:1fr;margin-top:26px}[data-gp-theme="the-second-set-programme"][data-inside] .ip-opening>div{padding:28px}[data-gp-theme="the-second-set-programme"][data-inside] .ip-opening>.ip-media{padding:24px;border-left:0;border-top:1px solid var(--line)}[data-gp-theme="the-second-set-programme"][data-inside] .ip-opening>.ip-media img{height:300px}[data-gp-theme="the-second-set-programme"][data-inside] .ip-book-note{border-left:0;border-top:1px solid var(--line);min-height:300px}[data-gp-theme="the-second-set-programme"][data-inside] .ip-records article{grid-template-columns:1fr;gap:14px}[data-gp-theme="the-second-set-programme"][data-inside] .ip-draft{padding:25px!important}}

/* Owner selected alternative on 18 October 2026. Main heading roles only. */
[data-gp-theme="the-second-set-programme"][data-gp-kind="section"] h1{font-family:"Libre Baskerville", serif!important;font-weight:400!important;letter-spacing:-0.012em!important;line-height:1.16!important;font-variation-settings:normal!important;font-optical-sizing:auto!important}
[data-gp-theme="the-second-set-programme"][data-gp-kind="section"] h2{font-family:"Source Sans 3", sans-serif!important;font-weight:600!important;letter-spacing:-.01em!important;line-height:1.17!important;font-variation-settings:normal!important;font-optical-sizing:auto!important}
[data-gp-theme="the-second-set-programme"][data-gp-kind="section"] h3{font-family:"Source Sans 3", sans-serif!important;font-weight:600!important;letter-spacing:0!important;line-height:1.25!important;font-variation-settings:normal!important}
[data-gp-theme="the-second-set-programme"][data-inside][data-gp-kind="section"] h1{font-family:"Libre Baskerville", serif!important;line-height:1.14!important;letter-spacing:-.012em!important;font-weight:400!important;text-transform:none!important}
@media(max-width:650px){[data-gp-theme="the-second-set-programme"][data-gp-kind="section"] h1{line-height:1.16!important;letter-spacing:-0.012em!important}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="the-second-set-programme"][data-gp-kind="section"] h1{line-height:1.16!important;letter-spacing:-0.012em!important}}

[data-gp-theme="the-second-set-programme"] .upgrade{margin-block:70px;padding-block:45px;border-block:1px solid var(--line);color:var(--ink);isolation:isolate}[data-gp-theme="the-second-set-programme"] .upgrade *, [data-gp-theme="the-second-set-programme"] .upgrade-summary *{box-sizing:border-box}[data-gp-theme="the-second-set-programme"] .upgrade h2{font-size:clamp(32px,4vw,57px);margin:0 0 16px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-programme"] .upgrade h2{font-size:clamp(32px,4cqw,57px)}}[data-gp-theme="the-second-set-programme"] .upgrade h3{font-size:clamp(25px,2.8vw,36px);line-height:1.12}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-programme"] .upgrade h3{font-size:clamp(25px,2.8cqw,36px)}}[data-gp-theme="the-second-set-programme"] .upgrade p{font-size:17px;line-height:1.55}[data-gp-theme="the-second-set-programme"] .up-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:32px}[data-gp-theme="the-second-set-programme"] .up-heading>p{max-width:39ch}[data-gp-theme="the-second-set-programme"] .up-work{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:36px}[data-gp-theme="the-second-set-programme"] .up-work>*{min-width:0}[data-gp-theme="the-second-set-programme"] .up-choice{display:flex;gap:8px;flex-wrap:wrap;margin-block:18px}[data-gp-theme="the-second-set-programme"] .upgrade :is(button,[role="button"]),[data-gp-theme="the-second-set-programme"] .upgrade-summary :is(button,[role="button"]){min-height:46px;padding:10px 16px;font-size:16px;line-height:1.3;gap:7px}[data-gp-theme="the-second-set-programme"] .upgrade :is(button,[role="button"]):active{transform:scale(.98)}[data-gp-theme="the-second-set-programme"] .upgrade :is(button,[role="button"]):disabled{opacity:.45;cursor:default}[data-gp-theme="the-second-set-programme"] .upgrade :is(button,[role="button"])[aria-pressed=true]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}[data-gp-theme="the-second-set-programme"] .up-caption{font-size:13px!important;padding-block:10px;border-top:1px solid var(--line)}[data-gp-theme="the-second-set-programme"] .up-footer{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}[data-gp-theme="the-second-set-programme"] .up-footer output{max-width:65ch;font-size:16px;line-height:1.55}[data-gp-theme="the-second-set-programme"] .up-footer a,[data-gp-theme="the-second-set-programme"] .upgrade-summary a{flex-shrink:0;min-height:46px;display:inline-flex;align-items:center}[data-gp-theme="the-second-set-programme"] .up-note{font-size:14px!important;color:var(--muted);margin-top:18px}[data-gp-theme="the-second-set-programme"] .up-stage svg,[data-gp-theme="the-second-set-programme"] .up-detail svg,[data-gp-theme="the-second-set-programme"] .up-ensemble svg{width:100%;height:auto;display:block;color:var(--ink)}[data-gp-theme="the-second-set-programme"] .upgrade svg text{font-family:var(--body);fill:currentColor}[data-gp-theme="the-second-set-programme"] .up-stage{background:var(--wash,var(--paper));overflow:hidden;min-width:0}[data-gp-theme="the-second-set-programme"] .up-panel{min-height:460px}[data-gp-theme="the-second-set-programme"] .up-panel h3{margin-block:18px}[data-gp-theme="the-second-set-programme"] .up-questions{padding-left:20px;font-size:16px;line-height:1.6;margin-block:18px}[data-gp-theme="the-second-set-programme"] .up-questions li+li{margin-top:7px}[data-gp-theme="the-second-set-programme"] .up-label{display:block;font-size:14px;margin-bottom:10px}[data-gp-theme="the-second-set-programme"] .up-footer a{max-width:100%}[data-gp-theme="the-second-set-programme"] .upgrade-summary{margin-block:30px;border-block:2px solid var(--ink);padding:28px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 35px}[data-gp-theme="the-second-set-programme"] .upgrade-summary h2{font-size:28px}[data-gp-theme="the-second-set-programme"] .upgrade-summary output{display:block;max-width:65ch;font-size:18px;line-height:1.6}[data-gp-theme="the-second-set-programme"] .upgrade-summary p{font-size:14px}[data-gp-theme="the-second-set-programme"] .upgrade-summary a{grid-column:2;grid-row:1/4}[data-gp-theme="the-second-set-programme"] .upgrade fieldset{border:0;padding:0;margin:20px 0;min-width:0}[data-gp-theme="the-second-set-programme"] .upgrade legend{font-size:15px}[data-gp-theme="the-second-set-programme"] .upgrade :focus-visible{outline:3px solid var(--focus,var(--accent));outline-offset:4px}[data-gp-theme="the-second-set-programme"] .upgrade svg [role=button]{cursor:pointer;outline:none}[data-gp-theme="the-second-set-programme"] .upgrade svg [role=button]:focus-visible rect{stroke:var(--focus,var(--accent));stroke-width:5px}[data-gp-theme="the-second-set-programme"] .upgrade [data-up-surface],[data-gp-theme="the-second-set-programme"] .upgrade [data-up-pane]{transition:fill 160ms var(--ease-out),background-color 160ms var(--ease-out),opacity 160ms var(--ease-out)}[data-gp-theme="the-second-set-programme"] .upgrade[data-keyboard] *, [data-gp-theme="the-second-set-programme"] .upgrade[data-keyboard] *::before{transition:none!important}
@media(max-width:900px){[data-gp-theme="the-second-set-programme"] .up-work{gap:24px}[data-gp-theme="the-second-set-programme"] .up-heading{display:block}[data-gp-theme="the-second-set-programme"] .up-heading>p{max-width:65ch;margin-top:16px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="the-second-set-programme"] .up-work{gap:24px}[data-gp-theme="the-second-set-programme"] .up-heading{display:block}[data-gp-theme="the-second-set-programme"] .up-heading>p{max-width:65ch;margin-top:16px}}@media(max-width:650px){[data-gp-theme="the-second-set-programme"] .upgrade{margin-block:35px;padding-block:28px}[data-gp-theme="the-second-set-programme"] .up-work{grid-template-columns:minmax(0,1fr)}[data-gp-theme="the-second-set-programme"] .up-panel{min-height:0}[data-gp-theme="the-second-set-programme"] .up-footer{display:grid;gap:14px}[data-gp-theme="the-second-set-programme"] .up-footer a{justify-self:start}[data-gp-theme="the-second-set-programme"] .up-heading{margin-bottom:20px}[data-gp-theme="the-second-set-programme"] .upgrade-summary{grid-template-columns:1fr}[data-gp-theme="the-second-set-programme"] .upgrade-summary a{grid-column:1;grid-row:auto;justify-self:start}[data-gp-theme="the-second-set-programme"] .upgrade :is(button,[role="button"]){padding-inline:12px;font-size:15px}[data-gp-theme="the-second-set-programme"] .up-questions{font-size:16px}}@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="the-second-set-programme"] .upgrade{margin-block:35px;padding-block:28px}[data-gp-theme="the-second-set-programme"] .up-work{grid-template-columns:minmax(0,1fr)}[data-gp-theme="the-second-set-programme"] .up-panel{min-height:0}[data-gp-theme="the-second-set-programme"] .up-footer{display:grid;gap:14px}[data-gp-theme="the-second-set-programme"] .up-footer a{justify-self:start}[data-gp-theme="the-second-set-programme"] .up-heading{margin-bottom:20px}[data-gp-theme="the-second-set-programme"] .upgrade-summary{grid-template-columns:1fr}[data-gp-theme="the-second-set-programme"] .upgrade-summary a{grid-column:1;grid-row:auto;justify-self:start}[data-gp-theme="the-second-set-programme"] .upgrade :is(button,[role="button"]){padding-inline:12px;font-size:15px}[data-gp-theme="the-second-set-programme"] .up-questions{font-size:16px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="the-second-set-programme"] .upgrade *, [data-gp-theme="the-second-set-programme"] .upgrade *::before{transition:none!important;animation:none!important}}
[data-gp-theme="the-second-set-programme"] .up-programme{border-block:1px solid var(--ink)}[data-gp-theme="the-second-set-programme"] .pr-setting{display:flex;gap:40px;align-items:end;border-block:1px solid var(--line);padding:18px 0;margin-bottom:30px}[data-gp-theme="the-second-set-programme"] .pr-setting>label{font-size:15px;min-width:200px}[data-gp-theme="the-second-set-programme"] .pr-setting select,[data-gp-theme="the-second-set-programme"] .pr-add select{display:block;width:100%;background:var(--paper);color:var(--ink);border:1px solid var(--line);padding:12px;margin-top:9px}[data-gp-theme="the-second-set-programme"] .pr-setting fieldset{margin:0}[data-gp-theme="the-second-set-programme"] .pr-setting .up-choice{margin:9px 0 0}[data-gp-theme="the-second-set-programme"] .up-programme .up-work{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:45px;align-items:start}[data-gp-theme="the-second-set-programme"] .pr-editor{padding-top:20px}[data-gp-theme="the-second-set-programme"] .pr-moments{list-style:none;padding:0;margin:22px 0 0}[data-gp-theme="the-second-set-programme"] .pr-moments>li{display:grid;grid-template-columns:30px 1fr;gap:9px;border-top:1px solid var(--line);padding:18px 0;position:relative}[data-gp-theme="the-second-set-programme"] .pr-moments .pr-order-number{font-size:15px;padding-top:4px}[data-gp-theme="the-second-set-programme"] .pr-moments h4{font-family:var(--display);font-weight:400;font-size:20px;margin:0 0 7px;line-height:1.35}[data-gp-theme="the-second-set-programme"] .pr-moments p{font-size:14px;line-height:1.5}[data-gp-theme="the-second-set-programme"] .pr-order-actions{grid-column:2;display:flex;gap:7px;flex-wrap:wrap;margin-top:5px}[data-gp-theme="the-second-set-programme"] .pr-order-actions :is(button,[role="button"]){font-size:12px;min-height:44px;padding:7px 9px}[data-gp-theme="the-second-set-programme"] .pr-order-actions :is(button,[role="button"]):last-child{margin-left:auto;border-color:transparent}[data-gp-theme="the-second-set-programme"] .pr-add{border-top:1px solid var(--ink);padding-top:20px;display:flex;gap:8px;align-items:end}[data-gp-theme="the-second-set-programme"] .pr-add label{flex:1;font-size:14px}[data-gp-theme="the-second-set-programme"] .pr-add :is(button,[role="button"]){font-size:14px;min-height:50px}[data-gp-theme="the-second-set-programme"] .pr-paper{padding:30px 34px 24px;border:1px solid var(--ink);background:var(--paper);position:sticky;top:35px;box-shadow:7px 9px 0 var(--wash);min-height:650px}[data-gp-theme="the-second-set-programme"] .pr-paper-imprint{display:flex;justify-content:space-between;gap:16px;font-size:12px;border-bottom:1px solid var(--line);padding-bottom:16px}[data-gp-theme="the-second-set-programme"] .pr-paper>figcaption{font-family:var(--display);font-size:clamp(25px,3vw,40px);line-height:1.4;margin:26px 0 10px;color:var(--ink);text-align:center}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-programme"] .pr-paper>figcaption{font-size:clamp(25px,3cqw,40px)}}[data-gp-theme="the-second-set-programme"] .pr-paper-format{text-align:center;font-size:14px!important;font-style:italic;margin-bottom:20px}[data-gp-theme="the-second-set-programme"] .pr-paper ol{list-style:upper-roman;padding:0 0 0 29px;margin:25px 0;min-height:160px}[data-gp-theme="the-second-set-programme"] .pr-paper li{font-family:var(--display);font-size:18px;margin:18px 0;padding-left:10px;line-height:1.5}[data-gp-theme="the-second-set-programme"] .pr-paper-note{border-top:1px solid var(--line);padding-top:18px;font-size:13px!important;text-align:center}[data-gp-theme="the-second-set-programme"] .pr-folio{display:block;text-align:center;font-size:12px;margin-top:25px}[data-gp-theme="the-second-set-programme"] .up-ensemble .pr-player-three,[data-gp-theme="the-second-set-programme"] .up-ensemble .pr-player-four{opacity:0;transition:opacity 160ms var(--ease-out)}[data-gp-theme="the-second-set-programme"] .up-ensemble[data-format=trio] .pr-player-three,[data-gp-theme="the-second-set-programme"] .up-ensemble[data-format=quartet] .pr-player-three,[data-gp-theme="the-second-set-programme"] .up-ensemble[data-format=quartet] .pr-player-four{opacity:1}[data-gp-theme="the-second-set-programme"] .up-programme [data-up-message]{min-height:42px}[data-gp-theme="the-second-set-programme"] .up-programme .up-ensemble{max-width:330px;margin:auto}@media(max-width:850px){[data-gp-theme="the-second-set-programme"] .up-programme .up-work{grid-template-columns:1fr;gap:25px}[data-gp-theme="the-second-set-programme"] .pr-paper{position:relative;top:auto;min-height:600px}}@containerfs-editor-canvas (max-width: 850px){[data-gp-theme="the-second-set-programme"] .up-programme .up-work{grid-template-columns:1fr;gap:25px}[data-gp-theme="the-second-set-programme"] .pr-paper{position:relative;top:auto;min-height:600px}}@media(max-width:650px){[data-gp-theme="the-second-set-programme"] .pr-setting{gap:20px;display:block}[data-gp-theme="the-second-set-programme"] .pr-setting fieldset{margin-top:18px}[data-gp-theme="the-second-set-programme"] .pr-paper{padding:24px 20px;box-shadow:4px 5px 0 var(--wash);min-height:560px}[data-gp-theme="the-second-set-programme"] .pr-moments>li{grid-template-columns:23px 1fr}[data-gp-theme="the-second-set-programme"] .pr-order-actions :is(button,[role="button"]){font-size:12px}[data-gp-theme="the-second-set-programme"] .pr-add{flex-wrap:wrap}[data-gp-theme="the-second-set-programme"] .pr-add label{min-width:190px}[data-gp-theme="the-second-set-programme"] .pr-order-actions :is(button,[role="button"]):last-child{margin-left:0}}@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="the-second-set-programme"] .pr-setting{gap:20px;display:block}[data-gp-theme="the-second-set-programme"] .pr-setting fieldset{margin-top:18px}[data-gp-theme="the-second-set-programme"] .pr-paper{padding:24px 20px;box-shadow:4px 5px 0 var(--wash);min-height:560px}[data-gp-theme="the-second-set-programme"] .pr-moments>li{grid-template-columns:23px 1fr}[data-gp-theme="the-second-set-programme"] .pr-order-actions :is(button,[role="button"]){font-size:12px}[data-gp-theme="the-second-set-programme"] .pr-add{flex-wrap:wrap}[data-gp-theme="the-second-set-programme"] .pr-add label{min-width:190px}[data-gp-theme="the-second-set-programme"] .pr-order-actions :is(button,[role="button"]):last-child{margin-left:0}}

[data-gp-theme="the-second-set-programme"] .upgrade-summary{width:min(1360px,calc(100% - 96px));margin-inline:auto}[data-gp-theme="the-second-set-programme"] .inside-page .upgrade h3{max-width:none}[data-gp-theme="the-second-set-programme"] .inside-page .upgrade .pr-paper{margin:0}[data-gp-theme="the-second-set-programme"] .inside-page .upgrade .up-stage{margin:0}[data-gp-theme="the-second-set-programme"] .inside-page .upgrade p.up-note{margin-top:18px}[data-gp-theme="the-second-set-programme"][data-layout=full-width] .inside-page>.upgrade{width:100%;max-width:none;padding-inline:4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-programme"][data-layout=full-width] .inside-page>.upgrade{padding-inline:4cqw}}[data-gp-theme="the-second-set-programme"][data-layout=centered] .upgrade>.up-heading{text-align:center;display:block}[data-gp-theme="the-second-set-programme"][data-layout=centered] .upgrade>.up-heading>p{margin-inline:auto}[data-gp-theme="the-second-set-programme"][data-layout=minimalist] .upgrade{margin-block:30px;padding-block:30px}[data-gp-theme="the-second-set-programme"][data-layout=edge-hero] .inside-page>.upgrade{width:100%;padding-inline:4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-programme"][data-layout=edge-hero] .inside-page>.upgrade{padding-inline:4cqw}}@media(max-width:650px){[data-gp-theme="the-second-set-programme"] .upgrade-summary{width:calc(100% - 36px)}[data-gp-theme="the-second-set-programme"] .upgrade.wrap{width:calc(100% - 36px)}}@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="the-second-set-programme"] .upgrade-summary{width:calc(100% - 36px)}[data-gp-theme="the-second-set-programme"] .upgrade.wrap{width:calc(100% - 36px)}}
[data-gp-theme="the-second-set-programme"] .upgrade{--display:"Libre Baskerville",serif}

/* Approved readability refinements, 18 October 2026.
   Only meaningful helpers, local groups and selected reading paragraphs.
   Owner-selected type families, display sizes and frozen comparisons stay authoritative. */

/* Kiln House: the brief promise and sample guidance are part of the task. */
[data-gp-theme="the-second-set-programme"][data-site="kiln-house"] :is(.field-note,.form-note,.pairing-hint,.material-note,.light-note,.letter-note,.combination-copy small,.material-row small){font-size:14px;line-height:1.5}
[data-gp-theme="the-second-set-programme"][data-site="kiln-house"] .form-note{margin-top:16px}
[data-gp-theme="the-second-set-programme"][data-site="kiln-house"] :is(.quiet-button,.combination-action){font-size:15px;line-height:1.5}
[data-gp-theme="the-second-set-programme"][data-site="kiln-house"] .quiet-button{min-height:44px}
[data-gp-theme="the-second-set-programme"][data-site="kiln-house"] .directory-links a small{font-size:14px;line-height:1.5}

/* Small study labels explain a choice, rather than acting as an imprint. */
[data-gp-theme="the-second-set-programme"][data-site="true-joint"] .ux-stage-bar :is(button,[role="button"]) small{font-size:14px;line-height:1.5}
[data-gp-theme="the-second-set-programme"][data-site="neighbourhood-edit"] .ux-plan-header{font-size:14px;line-height:1.5;gap:12px;flex-wrap:wrap}
[data-gp-theme="the-second-set-programme"][data-site="neighbourhood-edit"] .ux-room-title{margin-bottom:16px}
[data-gp-theme="the-second-set-programme"][data-site="neighbourhood-edit"] .ux-room-title h3{margin-bottom:0}
[data-gp-theme="the-second-set-programme"][data-site="neighbourhood-edit"] :is(.home-finder label,.home-finder output,.area-index small){font-size:14px;line-height:1.5}
[data-gp-theme="the-second-set-programme"][data-site="neighbourhood-edit"] .home-finder select{font-size:16px;min-height:44px}
[data-gp-theme="the-second-set-programme"][data-site="harbour"] .ux-folio .ux-document-row label{font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="the-second-set-programme"][data-site="daymark-window-care"] .dm-sheet-head{font-size:14px;line-height:1.5;flex-wrap:wrap}
[data-gp-theme="the-second-set-programme"][data-site="velum-window-care"] .ux-v-nav :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}

/* Existing small controls retain or gain the comfortable target height. */
[data-gp-theme="the-second-set-programme"][data-site="stem-and-still"] .stem-slip :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:48px;gap:8px}
[data-gp-theme="the-second-set-programme"][data-site="cake-box"] .flavour-pick :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="the-second-set-programme"][data-site="cake-box"] .message-label small{font-size:14px;line-height:1.5}
[data-gp-theme="the-second-set-programme"][data-site="crm-recruitment-people"] .question-buttons{gap:10px}
[data-gp-theme="the-second-set-programme"][data-site="crm-recruitment-people"] .question-buttons :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:10px 12px}
[data-gp-theme="the-second-set-programme"][data-site="the-second-set-programme"] .pr-order-actions :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:8px 10px}

/* The format facts belong with the large ensemble names. */
[data-gp-theme="the-second-set-programme"][data-site="the-second-set-afterglow"] .ag-format-ribbon span:not(.fs-richtext){font-size:14px;line-height:1.5;margin-top:8px}
[data-gp-theme="the-second-set-programme"][data-site="the-second-set-programme"] .opening-note{font-size:14px;line-height:1.5}
[data-gp-theme="the-second-set-programme"][data-site="the-second-set-signal"] .form-note{font-size:14px;line-height:1.5}

/* Slipstream: useful record, filter and brief text; preserve the scrollable comparison. */
[data-gp-theme="the-second-set-programme"][data-site="slipstream"] :is(.featured-price small,.rail-note,.stock-finder label,.stock-caption,.inspection-note,.inspection-instruction,.form-note,[data-gp-id="stock-count"],[data-gp-id="form-question-count"]){font-size:14px;line-height:1.5}
[data-gp-theme="the-second-set-programme"][data-site="slipstream"] :is(.visit-form label,.form-pair label){font-size:15px;line-height:1.5}
[data-gp-theme="the-second-set-programme"][data-site="slipstream"] :is(.car-record summary,[data-gp-id="reset-stock"],[data-gp-id="clear-compare"],.quick-compare button){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="the-second-set-programme"][data-site="slipstream"] .stock-finder select{min-height:44px}

/* Narrow only sustained paragraphs, preserving plans, records, lists and tables. */
[data-gp-theme="the-second-set-programme"]:is([data-site="stem-and-still"],[data-site="kiln-house"],[data-site="true-joint"])[data-inside] .ip-reading>p{max-width:64ch}

@media(max-width:700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="the-second-set-programme"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="the-second-set-programme"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="the-second-set-programme"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="the-second-set-programme"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="the-second-set-programme"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="the-second-set-programme"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="the-second-set-programme"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="the-second-set-programme"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="the-second-set-programme"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

@containerfs-editor-canvas (max-width: 700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="the-second-set-programme"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="the-second-set-programme"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="the-second-set-programme"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="the-second-set-programme"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="the-second-set-programme"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="the-second-set-programme"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="the-second-set-programme"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="the-second-set-programme"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="the-second-set-programme"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

/* No generic heading, body, section-spacing or panel-height reset.
   Goodpane's unused calendar CSS, Expedition's real stage envelope,
   Starlight's passage leading and Velum's display introduction need no blanket fix. */

/* Approved authored chrome. Palette and type tokens belong to this theme. */
[data-gp-theme="the-second-set-programme"] .chrome-header>*{min-width:0}[data-gp-theme="the-second-set-programme"] .chrome-header nav{min-width:0}[data-gp-theme="the-second-set-programme"] .chrome-header a,[data-gp-theme="the-second-set-programme"] .chrome-header :is(button,[role="button"]){min-height:44px}[data-gp-theme="the-second-set-programme"] .chrome-header .menu-trigger{white-space:nowrap;font-size:15px}[data-gp-theme="the-second-set-programme"] .chrome-header .menu-trigger svg{flex:none}
[data-gp-theme="the-second-set-programme"] .chrome-menu{color:var(--ink);padding:0;max-height:calc(100dvh - 64px);margin-top:32px;overflow:auto}[data-gp-theme="the-second-set-programme"] .chrome-menu>*{min-width:0}[data-gp-theme="the-second-set-programme"] .chrome-menu h2{max-width:24ch}[data-gp-theme="the-second-set-programme"] .chrome-menu-heading{padding:24px 32px;align-items:center}[data-gp-theme="the-second-set-programme"] .chrome-menu-heading h2{font-size:clamp(28px,3vw,42px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-programme"] .chrome-menu-heading h2{font-size:clamp(28px,3cqw,42px)}}[data-gp-theme="the-second-set-programme"] .chrome-menu-heading :is(button,[role="button"]){flex:none}[data-gp-theme="the-second-set-programme"] .chrome-menu h3{font-size:23px;line-height:1.2;margin-bottom:16px}[data-gp-theme="the-second-set-programme"] .chrome-menu a{min-height:44px;display:flex;align-items:center;text-decoration:none;line-height:1.35}[data-gp-theme="the-second-set-programme"] .chrome-menu a:hover{text-decoration:underline;text-underline-offset:5px}[data-gp-theme="the-second-set-programme"] .chrome-menu p{font-size:15px;line-height:1.55}[data-gp-theme="the-second-set-programme"] .chrome-menu small,[data-gp-theme="the-second-set-programme"] .chrome-caption{font-size:14px;line-height:1.5}[data-gp-theme="the-second-set-programme"] .chrome-menu nav{min-width:0}[data-gp-theme="the-second-set-programme"] .chrome-menu a,[data-gp-theme="the-second-set-programme"] .chrome-footer a{overflow-wrap:anywhere}[data-gp-theme="the-second-set-programme"] .chrome-footer a{min-height:44px;display:inline-flex;align-items:center;text-underline-offset:5px}[data-gp-theme="the-second-set-programme"] .chrome-footer p{font-size:16px;line-height:1.55}[data-gp-theme="the-second-set-programme"] .chrome-imprint{border-top:1px solid var(--line);margin-top:34px;padding-top:18px;display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between;font-size:14px;line-height:1.5}[data-gp-theme="the-second-set-programme"] .chrome-imprint>span:not(.fs-richtext){max-width:48ch}[data-gp-theme="the-second-set-programme"] .chrome-inline-links{display:flex;flex-wrap:wrap;gap:8px 28px}[data-gp-theme="the-second-set-programme"] .chrome-footer .chrome-details{font-size:14px;line-height:1.5;max-width:65ch}[data-gp-theme="the-second-set-programme"] .chrome-footer .chrome-close-link{min-height:52px}[data-gp-theme="the-second-set-programme"] .chrome-menu :is(a,button):focus-visible,[data-gp-theme="the-second-set-programme"] .chrome-header :is(a,button):focus-visible,[data-gp-theme="the-second-set-programme"] .chrome-footer a:focus-visible{outline:3px solid currentColor;outline-offset:4px}
@media(max-width:900px){[data-gp-theme="the-second-set-programme"] .chrome-header{gap:16px}[data-gp-theme="the-second-set-programme"] .chrome-menu .chrome-menu-heading h2{font-size:27px;line-height:1.12}[data-gp-theme="the-second-set-programme"] .chrome-menu .chrome-menu-heading{gap:12px}[data-gp-theme="the-second-set-programme"] .chrome-menu [data-menu-close]{padding:10px 14px}[data-gp-theme="the-second-set-programme"] .chrome-menu a{min-height:48px}[data-gp-theme="the-second-set-programme"] .chrome-imprint{display:grid;gap:10px}[data-gp-theme="the-second-set-programme"] .chrome-footer{padding-block:42px 24px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="the-second-set-programme"] .chrome-header{gap:16px}[data-gp-theme="the-second-set-programme"] .chrome-menu .chrome-menu-heading h2{font-size:27px;line-height:1.12}[data-gp-theme="the-second-set-programme"] .chrome-menu .chrome-menu-heading{gap:12px}[data-gp-theme="the-second-set-programme"] .chrome-menu [data-menu-close]{padding:10px 14px}[data-gp-theme="the-second-set-programme"] .chrome-menu a{min-height:48px}[data-gp-theme="the-second-set-programme"] .chrome-imprint{display:grid;gap:10px}[data-gp-theme="the-second-set-programme"] .chrome-footer{padding-block:42px 24px}}
@media(max-width:450px){[data-gp-theme="the-second-set-programme"] .chrome-menu .chrome-menu-heading h2{font-size:23px}[data-gp-theme="the-second-set-programme"] .chrome-header .menu-trigger{font-size:14px;gap:8px;padding-inline:12px;width:auto}[data-gp-theme="the-second-set-programme"] .chrome-header .menu-trigger svg{width:18px;height:18px}}
@containerfs-editor-canvas (max-width: 450px){[data-gp-theme="the-second-set-programme"] .chrome-menu .chrome-menu-heading h2{font-size:23px}[data-gp-theme="the-second-set-programme"] .chrome-header .menu-trigger{font-size:14px;gap:8px;padding-inline:12px;width:auto}[data-gp-theme="the-second-set-programme"] .chrome-header .menu-trigger svg{width:18px;height:18px}}
[data-gp-theme="the-second-set-programme"] .pr-cover-header{display:block;text-align:center;padding:30px 0 0}[data-gp-theme="the-second-set-programme"] .pr-cover-header>.wordmark{display:block;width:fit-content;margin:0 auto 28px;font-size:35px;line-height:1.2}[data-gp-theme="the-second-set-programme"] .pr-cover-header .wordmark small{font-size:13px;letter-spacing:.04em;margin-top:10px}[data-gp-theme="the-second-set-programme"] .pr-cover-contents{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:24px;padding:9px 0}[data-gp-theme="the-second-set-programme"] .pr-cover-contents nav{gap:32px}[data-gp-theme="the-second-set-programme"] .pr-cover-contents .menu-trigger{border:0;padding-inline:0;gap:14px}[data-gp-theme="the-second-set-programme"] .pr-cover-contents>.header-action{border-bottom:0;display:flex;align-items:center}[data-gp-theme="the-second-set-programme"] .pr-menu .chrome-menu-heading{border-bottom:0;text-align:center}[data-gp-theme="the-second-set-programme"] .pr-menu .chrome-menu-heading h2{font-size:34px;font-weight:400}[data-gp-theme="the-second-set-programme"] .pr-facing-pages{display:grid;grid-template-columns:1fr 1fr;margin:0 28px 28px;border:1px solid var(--line)}[data-gp-theme="the-second-set-programme"] .pr-menu-page{padding:28px 32px;display:flex;flex-direction:column;min-width:0;background:var(--paper)}[data-gp-theme="the-second-set-programme"] .pr-menu-page+section{border-left:1px solid var(--line);background:var(--wash)}[data-gp-theme="the-second-set-programme"] .pr-menu-page .staff-lines{height:55px;width:150px;margin-bottom:28px}[data-gp-theme="the-second-set-programme"] .pr-menu-page .staff-lines>span:not(.fs-richtext){font-size:50px}[data-gp-theme="the-second-set-programme"] .pr-facing-label{font:22px var(--display);display:flex;align-items:center;height:55px;margin-bottom:28px}[data-gp-theme="the-second-set-programme"] .pr-menu-page h3{font-size:26px;font-weight:400;margin-bottom:18px}[data-gp-theme="the-second-set-programme"] .pr-chapter-index{list-style:none;padding:0;margin:0 0 24px}[data-gp-theme="the-second-set-programme"] .pr-chapter-index li{display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:baseline;border-top:1px solid var(--line)}[data-gp-theme="the-second-set-programme"] .pr-chapter-index li>span:not(.fs-richtext){font:17px var(--display)}[data-gp-theme="the-second-set-programme"] .pr-chapter-index a{font:21px/1.3 var(--display);padding:14px 0}[data-gp-theme="the-second-set-programme"] .pr-menu-page p{font-size:14px;margin-bottom:20px}[data-gp-theme="the-second-set-programme"] .pr-menu-page .pr-page-foot{margin-top:auto;border-top:1px solid var(--line);font-size:16px;padding-top:15px}[data-gp-theme="the-second-set-programme"] .pr-colophon-spread{display:grid;grid-template-columns:1.6fr 1fr;gap:60px}[data-gp-theme="the-second-set-programme"] .pr-colophon-spread>section+section{padding-left:40px;border-left:1px solid var(--line)}[data-gp-theme="the-second-set-programme"] .pr-colophon-label{font-size:14px}[data-gp-theme="the-second-set-programme"] .pr-colophon h2{font-size:34px;line-height:1.3;font-weight:400;margin:22px 0}[data-gp-theme="the-second-set-programme"] .pr-colophon h3{font-size:22px;font-weight:400;margin-bottom:20px}[data-gp-theme="the-second-set-programme"] .pr-colophon nav a{font-size:16px}[data-gp-theme="the-second-set-programme"] .pr-colophon .chrome-inline-links{gap:0 24px}[data-gp-theme="the-second-set-programme"] .pr-colophon-spread>section+section>a{font-size:15px;margin-top:16px}[data-gp-theme="the-second-set-programme"] .pr-occasion-close{display:flex;align-items:center;justify-content:space-between;gap:30px;border-block:1px solid var(--line);margin-top:35px;padding:18px 0}[data-gp-theme="the-second-set-programme"] .pr-occasion-close>span:not(.fs-richtext){font:26px/1.3 var(--display)}[data-gp-theme="the-second-set-programme"] .pr-occasion-close>a{font-size:18px}[data-gp-theme="the-second-set-programme"] .pr-colophon .chrome-imprint{border:0;margin-top:15px}
@media(max-width:1000px){[data-gp-theme="the-second-set-programme"] .pr-colophon-spread{gap:35px}[data-gp-theme="the-second-set-programme"] .pr-colophon-spread>section+section{padding-left:30px}[data-gp-theme="the-second-set-programme"] .pr-menu-page{padding:25px}[data-gp-theme="the-second-set-programme"] .pr-facing-pages{margin-inline:24px}}
@containerfs-editor-canvas (max-width: 1000px){[data-gp-theme="the-second-set-programme"] .pr-colophon-spread{gap:35px}[data-gp-theme="the-second-set-programme"] .pr-colophon-spread>section+section{padding-left:30px}[data-gp-theme="the-second-set-programme"] .pr-menu-page{padding:25px}[data-gp-theme="the-second-set-programme"] .pr-facing-pages{margin-inline:24px}}
@media(max-width:900px){[data-gp-theme="the-second-set-programme"] .pr-cover-header{padding:23px 0 0}[data-gp-theme="the-second-set-programme"] .pr-cover-header>.wordmark{font-size:30px;margin-bottom:19px}[data-gp-theme="the-second-set-programme"] .pr-cover-header .wordmark small{max-width:none;font-size:12px;margin-top:8px}[data-gp-theme="the-second-set-programme"] .pr-cover-contents{gap:15px;padding-block:5px}[data-gp-theme="the-second-set-programme"] .pr-cover-contents nav>a{display:none}[data-gp-theme="the-second-set-programme"] .pr-cover-contents>.header-action{display:flex;font-size:15px}[data-gp-theme="the-second-set-programme"] .pr-cover-contents .menu-trigger{font-size:15px;padding-inline:0}[data-gp-theme="the-second-set-programme"] .pr-facing-pages{display:block;margin:0 20px 24px}[data-gp-theme="the-second-set-programme"] .pr-menu-page{padding:24px}[data-gp-theme="the-second-set-programme"] .pr-menu-page+section{border-left:0;border-top:1px solid var(--line)}[data-gp-theme="the-second-set-programme"] .pr-menu-page .staff-lines{height:45px;margin-bottom:24px}[data-gp-theme="the-second-set-programme"] .pr-facing-label{height:auto;margin-bottom:24px;font-size:18px}[data-gp-theme="the-second-set-programme"] .pr-menu-page h3{font-size:25px}[data-gp-theme="the-second-set-programme"] .pr-chapter-index a{font-size:20px}[data-gp-theme="the-second-set-programme"] .pr-chapter-index li{grid-template-columns:32px 1fr;gap:10px}[data-gp-theme="the-second-set-programme"] .pr-menu-page p{font-size:14px}[data-gp-theme="the-second-set-programme"] .pr-colophon-spread{display:block}[data-gp-theme="the-second-set-programme"] .pr-colophon-spread>section+section{padding:26px 0 0;margin-top:22px;border-left:0;border-top:1px solid var(--line)}[data-gp-theme="the-second-set-programme"] .pr-colophon h2{font-size:29px}[data-gp-theme="the-second-set-programme"] .pr-occasion-close{display:block;margin-top:26px}[data-gp-theme="the-second-set-programme"] .pr-occasion-close>span:not(.fs-richtext){display:block;font-size:24px}[data-gp-theme="the-second-set-programme"] .pr-occasion-close>a{margin-top:10px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="the-second-set-programme"] .pr-cover-header{padding:23px 0 0}[data-gp-theme="the-second-set-programme"] .pr-cover-header>.wordmark{font-size:30px;margin-bottom:19px}[data-gp-theme="the-second-set-programme"] .pr-cover-header .wordmark small{max-width:none;font-size:12px;margin-top:8px}[data-gp-theme="the-second-set-programme"] .pr-cover-contents{gap:15px;padding-block:5px}[data-gp-theme="the-second-set-programme"] .pr-cover-contents nav>a{display:none}[data-gp-theme="the-second-set-programme"] .pr-cover-contents>.header-action{display:flex;font-size:15px}[data-gp-theme="the-second-set-programme"] .pr-cover-contents .menu-trigger{font-size:15px;padding-inline:0}[data-gp-theme="the-second-set-programme"] .pr-facing-pages{display:block;margin:0 20px 24px}[data-gp-theme="the-second-set-programme"] .pr-menu-page{padding:24px}[data-gp-theme="the-second-set-programme"] .pr-menu-page+section{border-left:0;border-top:1px solid var(--line)}[data-gp-theme="the-second-set-programme"] .pr-menu-page .staff-lines{height:45px;margin-bottom:24px}[data-gp-theme="the-second-set-programme"] .pr-facing-label{height:auto;margin-bottom:24px;font-size:18px}[data-gp-theme="the-second-set-programme"] .pr-menu-page h3{font-size:25px}[data-gp-theme="the-second-set-programme"] .pr-chapter-index a{font-size:20px}[data-gp-theme="the-second-set-programme"] .pr-chapter-index li{grid-template-columns:32px 1fr;gap:10px}[data-gp-theme="the-second-set-programme"] .pr-menu-page p{font-size:14px}[data-gp-theme="the-second-set-programme"] .pr-colophon-spread{display:block}[data-gp-theme="the-second-set-programme"] .pr-colophon-spread>section+section{padding:26px 0 0;margin-top:22px;border-left:0;border-top:1px solid var(--line)}[data-gp-theme="the-second-set-programme"] .pr-colophon h2{font-size:29px}[data-gp-theme="the-second-set-programme"] .pr-occasion-close{display:block;margin-top:26px}[data-gp-theme="the-second-set-programme"] .pr-occasion-close>span:not(.fs-richtext){display:block;font-size:24px}[data-gp-theme="the-second-set-programme"] .pr-occasion-close>a{margin-top:10px}}

/* Menu only: approved fonts, colour tokens and all non-menu markup are preserved. */
[data-gp-theme="the-second-set-programme"] dialog[data-gp-id="mega-menu"].mega-menu{box-sizing:border-box;position:fixed;inset:0;min-width:0;min-height:0;height:fit-content;max-height:calc(100dvh - 48px);margin:auto;padding:0!important;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:var(--mi-paper,var(--paper));color:var(--mi-ink,var(--ink));border:0!important;border-radius:0;box-shadow:0 30px 100px #0005;--mi-paper:var(--paper);--mi-ink:var(--ink);--mi-wash:var(--wash);--mi-line:var(--line);--mi-accent:var(--accent);--mi-on:var(--on-accent)}
[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] *,[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] *:before,[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] *:after{box-sizing:border-box;min-width:0}
[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] .menu-top{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0;padding:20px 28px;border:0;background:transparent;color:inherit}
[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] .menu-top h2,[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] .menu-top p{margin:0;font:500 18px/1.35 var(--body);letter-spacing:0;max-width:none}
[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] [data-menu-close]{display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:none;min-height:44px;min-width:70px;padding:9px 14px;border:1px solid currentColor;border-radius:0;background:transparent;color:inherit;font:500 14px/1.3 var(--body);cursor:pointer}
[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] a{color:inherit;text-decoration:none;line-height:1.35;min-height:44px;overflow-wrap:anywhere}
[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] nav a:before{content:none}
[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] a:focus-visible,[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] :is(button,[role="button"]):focus-visible{outline:3px solid currentColor;outline-offset:4px}
[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] h3{font-family:var(--display);font-weight:500;line-height:1.15;letter-spacing:-.025em;margin:0}
[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] p{max-width:60ch;margin:0;font:400 15px/1.5 var(--body)}
[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] nav{min-width:0}
[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] .mi-small{font:400 13px/1.5 var(--body)}
[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] a{transition:background-color 150ms ease,color 150ms ease,text-decoration-color 150ms ease}
/* Reveal every authored surface on the first frame. Only text fades; never a
   pane, note, speech ribbon, worksheet or record sleeve. Also covers Signal,
   which does not load premium.css and otherwise inherits menu-arrive. */
[data-gp-theme="the-second-set-programme"] dialog[data-gp-id="mega-menu"].mega-menu[open]:not([data-closing]){animation:none!important;opacity:1;transform:none}
[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"][open]:not([data-closing])>*{animation:none!important}
[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"][open]:not([data-closing]):not([data-keyboard]) :is(h3,p,figcaption,.command-task>span:not(.fs-richtext),.command-task>small,.crate-sleeve>strong,.crate-sleeve>small),[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"][open]:not([data-closing]):not([data-keyboard]) a:not(.crate-sleeve):not(.command-task):not(.route-brief):not(.worksheet-action){animation:gp-programme-mi-menu-text 160ms ease-out both}
@keyframes gp-programme-mi-menu-text{from{opacity:.25}to{opacity:1}}
@media(hover:hover){[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] a:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}}
@media(max-width:900px){[data-gp-theme="the-second-set-programme"] dialog[data-gp-id="mega-menu"].mega-menu{width:100%;height:100dvh;max-height:none;margin:0;inset:0;border-radius:0;transform:none}[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] .menu-top{padding:16px 20px}[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] .menu-top h2{font-size:16px}[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] a{min-height:48px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="the-second-set-programme"] dialog[data-gp-id="mega-menu"].mega-menu{width:100%;height:100dvh;max-height:none;margin:0;inset:0;border-radius:0;transform:none}[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] .menu-top{padding:16px 20px}[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] .menu-top h2{font-size:16px}[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] a{min-height:48px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] *,[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] *:before,[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] *:after{animation:none!important;transition:none!important}}

[data-gp-theme="the-second-set-programme"] dialog[data-gp-id="mega-menu"].mega-menu{width:min(640px,calc(100% - 72px));border:1px solid var(--line)!important;box-shadow:8px 8px 0 var(--wash),9px 9px 0 var(--line),18px 18px 70px #0004;max-height:calc(100dvh - 60px)}
[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] .menu-top{padding:15px 24px 15px 87px;border-bottom:1px solid var(--line)}[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] .menu-top h2{font-size:15px;letter-spacing:.02em}
[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] .programme-booklet{display:grid;grid-template-columns:63px 1fr}[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] .programme-binding{writing-mode:vertical-rl;transform:rotate(180deg);text-align:center;padding:28px 18px;border-left:1px solid var(--line);font:400 24px/1 var(--display);letter-spacing:.01em;background:var(--wash)}
[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] .programme-leaf{padding:28px 36px 22px}[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] .programme-leaf h3{font:400 39px/1.15 var(--display);text-align:center;margin-bottom:23px}
[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] .programme-contents{display:grid}[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] .programme-contents a{display:flex;align-items:center;gap:14px;font:400 19px/1.3 var(--display);padding:9px 0}[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] .programme-contents a:after{content:"";flex:1;min-width:10px;border-bottom:1px dotted var(--line)}
[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] .programme-notes{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;padding-top:17px;margin-top:15px;border-top:1px solid var(--line)}[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] .programme-notes a{display:flex;align-items:center;font:400 14px/1.4 var(--body);padding:8px 0}
[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] .programme-ribbon{margin:20px -36px 8px;padding:0 36px;background:var(--accent);color:var(--on-accent)}[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] .programme-ribbon a{display:flex;justify-content:center;align-items:center;padding:12px 0;font-size:17px}[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] .programme-return{display:flex;align-items:center;justify-content:center;font-size:13px}
@media(max-width:900px){[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] .programme-booklet{grid-template-columns:32px 1fr}[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] .programme-binding{padding:24px 8px;font-size:17px}[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] .programme-leaf{padding:24px 24px 20px}[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] .programme-leaf h3{font-size:32px;margin-bottom:20px}[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] .programme-notes{grid-template-columns:1fr}[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] .programme-notes a{font-size:15px}[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] .programme-ribbon{margin-inline:-24px;padding-inline:20px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] .programme-booklet{grid-template-columns:32px 1fr}[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] .programme-binding{padding:24px 8px;font-size:17px}[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] .programme-leaf{padding:24px 24px 20px}[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] .programme-leaf h3{font-size:32px;margin-bottom:20px}[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] .programme-notes{grid-template-columns:1fr}[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] .programme-notes a{font-size:15px}[data-gp-theme="the-second-set-programme"] [data-gp-id="mega-menu"] .programme-ribbon{margin-inline:-24px;padding-inline:20px}}

[data-gp-theme="the-second-set-programme"]{--paper:rgb(var(--c-paper));--ink:rgb(var(--c-ink-950));--accent:rgb(var(--c-brand-600));--wash:rgb(var(--c-paper-soft));--line:rgb(var(--c-line));--muted:rgb(var(--c-ink-400));--on-accent:var(--fs-on-brand);--focus:rgb(var(--c-accent));--work:var(--fs-surface-inverted,var(--wash));--work-ink:var(--fs-on-surface-inverted,var(--paper));--body:var(--font-sans);}
[data-gp-theme="kiln-house"][data-gp-premium="true"]{--ease-out:cubic-bezier(.23,1,.32,1);--ease-drawer:cubic-bezier(.32,.72,0,1)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] *{box-sizing:border-box}[data-gp-theme="kiln-house"][data-gp-premium="true"]{scroll-behavior:smooth;scroll-padding-top:100px}[data-gp-theme="kiln-house"][data-gp-premium="true"]{margin:0}[data-gp-theme="kiln-house"][data-gp-premium="true"] img{max-width:100%;display:block}[data-gp-theme="kiln-house"][data-gp-premium="true"] :is(button,[role="button"]),[data-gp-theme="kiln-house"][data-gp-premium="true"] input,[data-gp-theme="kiln-house"][data-gp-premium="true"] select,[data-gp-theme="kiln-house"][data-gp-premium="true"] textarea{font:inherit}[data-gp-theme="kiln-house"][data-gp-premium="true"] :is(button,[role="button"]),[data-gp-theme="kiln-house"][data-gp-premium="true"] a,[data-gp-theme="kiln-house"][data-gp-premium="true"] input,[data-gp-theme="kiln-house"][data-gp-premium="true"] select,[data-gp-theme="kiln-house"][data-gp-premium="true"] textarea{touch-action:manipulation}[data-gp-theme="kiln-house"][data-gp-premium="true"] :is(button,[role="button"]),[data-gp-theme="kiln-house"][data-gp-premium="true"] a{ -webkit-tap-highlight-color:transparent}[data-gp-theme="kiln-house"][data-gp-premium="true"] :is(button,[role="button"]){cursor:pointer}[data-gp-theme="kiln-house"][data-gp-premium="true"] :is(button,[role="button"]):active{transform:translateY(1px)}[data-gp-theme="kiln-house"][data-gp-premium="true"] a{color:inherit;text-underline-offset:.22em}[data-gp-theme="kiln-house"][data-gp-premium="true"] :is(button,[role="button"]):focus-visible,[data-gp-theme="kiln-house"][data-gp-premium="true"] a:focus-visible,[data-gp-theme="kiln-house"][data-gp-premium="true"] summary:focus-visible,[data-gp-theme="kiln-house"][data-gp-premium="true"] input:focus-visible,[data-gp-theme="kiln-house"][data-gp-premium="true"] select:focus-visible,[data-gp-theme="kiln-house"][data-gp-premium="true"] textarea:focus-visible{outline:3px solid var(--focus,#346ddb);outline-offset:5px}[data-gp-theme="kiln-house"][data-gp-premium="true"] textarea{resize:vertical}[data-gp-theme="kiln-house"][data-gp-premium="true"] input,[data-gp-theme="kiln-house"][data-gp-premium="true"] textarea{caret-color:var(--focus,currentColor)}[data-gp-theme="kiln-house"][data-gp-premium="true"] :is(button,[role="button"]),[data-gp-theme="kiln-house"][data-gp-premium="true"] select,[data-gp-theme="kiln-house"][data-gp-premium="true"] input{min-height:44px}[data-gp-theme="kiln-house"][data-gp-premium="true"] summary{cursor:pointer}[data-gp-theme="kiln-house"][data-gp-premium="true"] section[id],[data-gp-theme="kiln-house"][data-gp-premium="true"] footer[id]{scroll-margin-top:110px}[data-gp-theme="kiln-house"][data-gp-premium="true"] [hidden]{display:none!important}[data-gp-theme="kiln-house"][data-gp-premium="true"] .skip-link{position:fixed;z-index:200;top:8px;left:8px;background:#fff;color:#111;padding:12px 18px;transform:translateY(-150%)}[data-gp-theme="kiln-house"][data-gp-premium="true"] .skip-link:focus{transform:none}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar{min-height:42px;background:#f6f6f2;color:#252a2a;border-bottom:1px solid #d5d8d4;font:13px/1.3 "Figtree",sans-serif;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 3vw;position:relative;z-index:30}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar{padding:5px 3cqw}}[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar a{white-space:nowrap}[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar [role=group]{display:flex;gap:2px;align-items:center}[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar :is(button,[role="button"]){min-height:32px;background:transparent;color:inherit;border:0;padding:6px 10px;border-radius:3px;font-size:13px;transition:background-color 150ms var(--ease-out)}[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar [aria-pressed=true]{background:#252a2a;color:#fff}[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar :is(button,[role="button"])[data-replay-intro]{border:1px solid #b6beb8}[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-label{color:#515953}[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar::selection{background:#252a2a;color:#fff}
[data-gp-theme="kiln-house"][data-gp-premium="true"] dialog.mega-menu{max-width:none;max-height:calc(100dvh - 32px);overflow:auto;border:0;padding:0;color:inherit;overscroll-behavior:contain}[data-gp-theme="kiln-house"][data-gp-premium="true"] dialog.mega-menu::backdrop{background:rgb(8 16 18 / .52)}[data-gp-theme="kiln-house"][data-gp-premium="true"] .mega-menu[open]{animation:gp-kilnpremium-menu-arrive 220ms var(--ease-drawer)}[data-gp-theme="kiln-house"][data-gp-premium="true"] .mega-menu[data-closing]{animation:gp-kilnpremium-menu-leave 160ms var(--ease-out) forwards}[data-gp-theme="kiln-house"][data-gp-premium="true"] .mega-menu[data-keyboard]{animation:none}[data-gp-theme="kiln-house"][data-gp-premium="true"] .menu-lock{overflow:hidden}@keyframes gp-kilnpremium-menu-arrive{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}@keyframes gp-kilnpremium-menu-leave{to{opacity:0;transform:translateY(-10px)}}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .preloader{display:none;position:fixed;inset:0;z-index:190;place-content:center;pointer-events:none;text-align:center}[data-gp-theme="kiln-house"][data-gp-premium="true"] .preloader.is-active{display:grid;animation:gp-kilnpremium-intro-failsafe 1.3s step-end forwards}[data-gp-theme="kiln-house"][data-gp-premium="true"] .preloader.is-leaving{opacity:0;transition:opacity 180ms var(--ease-out)}@keyframes gp-kilnpremium-intro-failsafe{0%,99%{visibility:visible}100%{visibility:hidden}}
@media(max-width:650px){[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar .preview-label{display:none}[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="kiln-house"][data-gp-premium="true"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar .preview-label{display:none}[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="kiln-house"][data-gp-premium="true"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="kiln-house"][data-gp-premium="true"]{scroll-behavior:auto}[data-gp-theme="kiln-house"][data-gp-premium="true"] *,[data-gp-theme="kiln-house"][data-gp-premium="true"] *::before,[data-gp-theme="kiln-house"][data-gp-premium="true"] *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-gp-theme="kiln-house"][data-gp-premium="true"] .preloader.is-active{display:none!important}}
@media(max-width:650px){[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar a{font-size:12px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar a{font-size:12px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}

[data-gp-theme="kiln-house"][data-gp-premium="true"]{--clay:#f1dfc8;--paper:#f8ecd9;--ink:#663e2d;--rust:#aa4933;--blue:#244d59;--focus:#244d59;--rule:rgba(102,62,45,.28);--ease:cubic-bezier(.16,1,.3,1)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] *{box-sizing:border-box}
[data-gp-theme="kiln-house"][data-gp-premium="true"]{scroll-behavior:smooth;scroll-padding-top:24px;scrollbar-color:var(--rust) var(--clay)}
[data-gp-theme="kiln-house"][data-gp-premium="true"]{margin:0;background:var(--clay);color:var(--ink);font:18px/1.55 Figtree,sans-serif;overflow-x:clip}
[data-gp-theme="kiln-house"][data-gp-premium="true"] ::selection{background:var(--blue);color:var(--paper)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] :is(button,[role="button"]),[data-gp-theme="kiln-house"][data-gp-premium="true"] input,[data-gp-theme="kiln-house"][data-gp-premium="true"] select,[data-gp-theme="kiln-house"][data-gp-premium="true"] textarea{font:inherit;color:inherit;caret-color:var(--rust)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] :is(button,[role="button"]),[data-gp-theme="kiln-house"][data-gp-premium="true"] a,[data-gp-theme="kiln-house"][data-gp-premium="true"] input,[data-gp-theme="kiln-house"][data-gp-premium="true"] select,[data-gp-theme="kiln-house"][data-gp-premium="true"] textarea,[data-gp-theme="kiln-house"][data-gp-premium="true"] summary{-webkit-tap-highlight-color:transparent}
[data-gp-theme="kiln-house"][data-gp-premium="true"] :is(button,[role="button"]){cursor:pointer}
[data-gp-theme="kiln-house"][data-gp-premium="true"] :is(button,[role="button"]):disabled{opacity:.45;cursor:default}
[data-gp-theme="kiln-house"][data-gp-premium="true"] a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] :is(button,[role="button"]):focus-visible,[data-gp-theme="kiln-house"][data-gp-premium="true"] a:focus-visible,[data-gp-theme="kiln-house"][data-gp-premium="true"] summary:focus-visible{outline:3px solid var(--blue);outline-offset:6px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] input:focus,[data-gp-theme="kiln-house"][data-gp-premium="true"] select:focus,[data-gp-theme="kiln-house"][data-gp-premium="true"] textarea:focus{outline:2px solid var(--blue);outline-offset:3px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] img{display:block;max-width:100%;width:100%;height:100%;object-fit:cover}
[data-gp-theme="kiln-house"][data-gp-premium="true"] svg{display:block;width:24px;height:24px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] h1,[data-gp-theme="kiln-house"][data-gp-premium="true"] h2,[data-gp-theme="kiln-house"][data-gp-premium="true"] h3,[data-gp-theme="kiln-house"][data-gp-premium="true"] p,[data-gp-theme="kiln-house"][data-gp-premium="true"] figure{margin:0}
[data-gp-theme="kiln-house"][data-gp-premium="true"] h1,[data-gp-theme="kiln-house"][data-gp-premium="true"] h2,[data-gp-theme="kiln-house"][data-gp-premium="true"] h3{font-family:Fraunces,serif;font-weight:500;line-height:1.06;letter-spacing:-.04em;text-wrap:balance;font-variation-settings:"SOFT" 75,"WONK" 1}
[data-gp-theme="kiln-house"][data-gp-premium="true"] h1{font-size:clamp(60px,6.6vw,96px)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="kiln-house"][data-gp-premium="true"] h1{font-size:clamp(60px,6.6cqw,96px)}}
[data-gp-theme="kiln-house"][data-gp-premium="true"] h2{font-size:clamp(44px,4.8vw,70px)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="kiln-house"][data-gp-premium="true"] h2{font-size:clamp(44px,4.8cqw,70px)}}
[data-gp-theme="kiln-house"][data-gp-premium="true"] h3{font-size:36px;letter-spacing:-.025em}
[data-gp-theme="kiln-house"][data-gp-premium="true"] em{font-weight:400}
[data-gp-theme="kiln-house"][data-gp-premium="true"] p{max-width:65ch}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .page-width{width:min(1376px,calc(100% - 112px));margin-inline:auto}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .section-space{padding-block:120px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .svg-library{position:absolute;width:0;height:0;overflow:hidden}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .skip-link{position:fixed;top:12px;left:12px;z-index:100;background:var(--blue);color:var(--paper);padding:12px 20px;transform:translateY(-160%)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .skip-link:focus{transform:translateY(0)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar{position:relative;z-index:4;display:flex;align-items:center;gap:18px;min-height:42px;padding:5px 56px;background:#e7cfb2;border-bottom:1px solid var(--rule);font-size:13px;line-height:1.3}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar a{text-decoration:none;font-weight:600}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar [role=group]{display:flex;gap:3px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar :is(button,[role="button"]){border:0;background:transparent;padding:5px 9px;border-radius:0;font-size:13px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar :is(button,[role="button"])[aria-pressed=true]{background:var(--ink);color:var(--paper)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar>span:not(.fs-richtext){margin-left:auto;font-size:12px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .site-header{width:calc(100% - 112px);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:34px 0 28px;border-bottom:1px solid var(--rule)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .wordmark{text-decoration:none;display:inline-flex;flex-direction:column;font-family:Fraunces,serif;line-height:1;font-size:40px;letter-spacing:-.04em;flex-shrink:0}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .wordmark small{font:13px/1.3 Figtree,sans-serif;letter-spacing:.015em;margin-top:9px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .wordmark-dot{color:var(--rust)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .header-links{display:flex;gap:28px;font-size:15px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .header-links a{text-decoration:none;padding-block:12px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .header-actions{display:flex;gap:30px;align-items:center}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .saved-link{font-size:15px;text-decoration:none;display:flex;align-items:center;gap:9px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .saved-link>span:not(.fs-richtext){display:grid;place-items:center;width:27px;height:29px;background:var(--blue);color:var(--paper);border-radius:42% 48% 40% 45%;font-variant-numeric:tabular-nums}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .menu-button{display:flex;align-items:center;gap:13px;border:0;border-bottom:1px solid var(--ink);background:transparent;padding:10px 0;font-size:15px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .menu-button svg{width:19px;height:19px;transition:transform 180ms var(--ease)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .menu-button[aria-expanded=true] svg{transform:rotate(45deg)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter{padding-top:38px;padding-bottom:35px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-stage{position:relative;height:800px;isolation:isolate}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-copy{position:absolute;left:0;top:20px;z-index:2;width:59%;pointer-events:none}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-copy h1{max-width:740px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-copy h1 em{color:var(--rust)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-copy p{margin-top:25px;font-size:21px;line-height:1.5}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-invitation{display:inline-flex;align-items:center;gap:18px;margin-top:28px;font-size:15px;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:7px;pointer-events:auto}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-invitation svg{transform:rotate(90deg);width:22px;height:22px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample{position:absolute;padding:0;border:0;background:transparent;color:var(--ink);text-align:left;transform:rotate(var(--turn));transform-origin:center;transition:transform 200ms var(--ease);isolation:isolate}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample>svg{width:100%;height:calc(100% - 63px);overflow:visible;filter:drop-shadow(2px 10px 8px rgba(89,49,26,.16))}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample use{filter:url(#ceramic-texture)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .glaze-rim{fill:none;stroke:#fff8e9;stroke-opacity:.38;stroke-width:4;stroke-linecap:round}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-label{display:grid;grid-template-columns:1fr 26px;column-gap:4px;align-items:center;position:relative;margin-top:7px;padding:0 10px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-label strong{font-family:Fraunces,serif;font-size:26px;font-weight:500;letter-spacing:-.02em}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-label>span:not(.fs-richtext){grid-column:1;font-size:13px;line-height:1.3;margin-top:2px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-label i{grid-column:2;grid-row:1/3;border:1px solid var(--ink);border-radius:50%;width:27px;height:27px;display:grid;place-items:center;font-style:normal}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-label i svg{width:18px;height:18px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample[aria-pressed=true] .sample-label i{background:var(--blue);border-color:var(--blue);color:var(--paper)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample[aria-pressed=true]>svg{filter:drop-shadow(2px 14px 10px rgba(89,49,26,.24))}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-oxide{--turn:5deg;top:0;right:7.2%;width:31%;height:366px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-oxide>svg{fill:#aa4933}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-ink{--turn:-6deg;left:1.8%;bottom:43px;width:30%;height:330px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-ink>svg{fill:#244d59}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-chalk{--turn:4deg;left:37.8%;bottom:23px;width:25%;height:313px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-chalk>svg{fill:#e4cdb0}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-blush{--turn:-4deg;right:1.8%;bottom:0;width:21.5%;height:365px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-blush>svg{fill:#d49677}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-sage{--turn:-10deg;left:37%;top:360px;width:18.2%;height:230px;z-index:3}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-sage>svg{fill:#899281}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-honey{--turn:11deg;right:0;top:296px;width:18.6%;height:242px;z-index:3}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-honey>svg{fill:#c28e37}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-sage .sample-label strong,[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-honey .sample-label strong{font-size:23px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-sage .sample-label>span:not(.fs-richtext),[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-honey .sample-label>span:not(.fs-richtext){font-size:12px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-caption{position:absolute;bottom:0;left:0;font-size:13px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample.is-picked>svg{animation:gp-kilnpremium-glaze-sweep 600ms var(--ease)}
@keyframes gp-kilnpremium-glaze-sweep{0%{filter:drop-shadow(2px 14px 10px rgba(89,49,26,.24)) brightness(1)}35%{filter:drop-shadow(2px 14px 10px rgba(89,49,26,.24)) brightness(1.2)}100%{filter:drop-shadow(2px 14px 10px rgba(89,49,26,.24)) brightness(1)}}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .button{min-height:52px;display:inline-flex;justify-content:space-between;align-items:center;gap:26px;padding:13px 21px;text-decoration:none;border:1px solid currentColor;font-size:16px;font-weight:500;transition:background-color 180ms var(--ease),color 180ms var(--ease),transform 180ms var(--ease)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .button svg{width:23px;height:23px;flex-shrink:0;transition:transform 180ms var(--ease)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .button:active{transform:translateY(2px)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .button-cream{color:var(--blue);background:var(--paper);border-color:var(--paper)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .button-rust{background:var(--rust);color:var(--paper);border-color:var(--rust);width:100%}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .quiet-button{padding:10px 0;border:0;border-bottom:1px solid currentColor;background:transparent;color:inherit;font-size:15px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-section{position:relative;background:var(--blue);color:var(--paper);margin-top:28px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-section:before{content:"";position:absolute;top:-10px;width:100%;height:20px;background:var(--blue);clip-path:polygon(0 30%,9% 50%,18% 29%,26% 54%,35% 40%,44% 25%,54% 52%,64% 37%,73% 55%,83% 28%,92% 43%,100% 30%,100% 100%,0 100%)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-inner{display:grid;grid-template-columns:1fr 1fr;gap:7%;padding-block:90px 82px;align-items:center}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-copy h2{font-size:clamp(44px,4.5vw,66px);max-width:600px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-copy h2{font-size:clamp(44px,4.5cqw,66px)}}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-copy p{margin-top:24px;max-width:440px;color:#e5d6bf}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:30px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-display{position:relative;text-align:center;padding-top:5px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-objects{position:relative;height:300px;max-width:530px;margin:auto}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .pair-object{position:absolute;width:64%;height:100%;fill:currentColor;filter:drop-shadow(3px 12px 8px rgba(5,22,25,.3));transition:color 180ms ease,transform 220ms var(--ease)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .pair-object-first{left:0;top:-8px;transform:rotate(-10deg)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .pair-object-second{right:0;top:21px;transform:rotate(8deg)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-name{font-family:Fraunces,serif;font-size:37px;letter-spacing:-.02em;margin-top:36px;max-width:none;line-height:1.2}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-name span:not(.fs-richtext){font-style:italic;opacity:.8;margin:0 8px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-hint{font-size:13px;color:#e5d6bf;max-width:none;margin-top:12px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-section a:focus-visible,[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-section :is(button,[role="button"]):focus-visible{outline-color:var(--paper)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .section-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:8%;align-items:end;margin-bottom:58px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .section-heading>p{font-size:20px;max-width:450px;padding-bottom:7px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination-list{border-top:1px solid var(--rule)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination{display:grid;grid-template-columns:190px 1fr auto;gap:38px;align-items:center;width:100%;padding:30px 0;border:0;border-bottom:1px solid var(--rule);background:transparent;text-align:left;min-height:190px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination-art{position:relative;display:block;width:185px;height:132px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination-art svg{position:absolute;fill:currentColor;width:116px;height:120px;left:0;top:0;transform:rotate(-11deg);filter:drop-shadow(2px 5px 4px rgba(89,49,26,.15));transition:transform 220ms var(--ease)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination-art svg+svg{left:72px;top:11px;transform:rotate(10deg)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination-copy{display:flex;flex-direction:column;gap:12px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination-copy strong{font:500 clamp(29px,3.1vw,44px)/1.1 Fraunces,serif;letter-spacing:-.03em}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination-copy strong{font:500 clamp(29px,3.1cqw,44px)/1.1 Fraunces,serif}}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination-copy small{font-size:16px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination-action{display:flex;gap:28px;align-items:center;font-size:16px;border-bottom:1px solid var(--ink);padding:9px 0;white-space:nowrap}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .material-note{margin-top:28px;font-size:14px;max-width:none}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-section{padding-top:100px;padding-bottom:100px;background:#e5ceb0}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-heading{display:grid;grid-template-columns:1fr .7fr;gap:12%;align-items:end;margin-bottom:48px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-heading p{font-size:20px;max-width:450px;padding-bottom:9px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-spread{display:grid;grid-template-columns:1.35fr .65fr;gap:6%}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-art{height:620px;position:relative;overflow:hidden;background:#edddc9}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-art img[src*="kiln-projects"]{width:200%;height:200%;max-width:none;position:absolute;left:0;top:0}
[data-gp-theme="kiln-house"][data-gp-premium="true"] figcaption{font-size:13px;line-height:1.4;padding-top:13px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-materials{padding-top:20px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-materials h3{font-size:38px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-materials>p{margin-top:22px;font-size:17px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .material-stack{margin-top:24px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .material-row{display:flex;align-items:center;gap:19px;min-height:94px;border-bottom:1px solid var(--rule);padding:6px 0}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .material-row svg{width:80px;height:80px;fill:currentColor;flex-shrink:0;transform:rotate(-7deg);transition:color 180ms ease}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .material-row:nth-child(2) svg{transform:rotate(5deg)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .material-row>span:not(.fs-richtext):last-child{display:flex;flex-direction:column}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .material-row strong{font:500 24px/1.2 Fraunces,serif;letter-spacing:-.02em}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .material-row small{font-size:13px;line-height:1.4;margin-top:5px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .stone-chip{width:67px;height:56px;display:block;margin:12px 7px;background:repeating-linear-gradient(14deg,transparent 0 6px,#d0b797 7px,#d0b797 8px,transparent 9px 15px),#d7c3a4;transform:rotate(-6deg);box-shadow:2px 4px 5px rgba(89,49,26,.13);border-radius:2px 5px 3px 1px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .joint-line{margin-top:26px;padding-top:17px;border-top:4px double #b89776;display:flex;gap:15px;justify-content:space-between;font-size:12px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .text-link{display:inline-flex;gap:16px;align-items:center;padding:9px 0;border:0;border-bottom:1px solid currentColor;background:transparent;text-decoration:none;font-size:16px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .text-link svg{width:20px;height:20px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-materials>.text-link{margin-top:29px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .finish-section{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .finish-art-column{padding-top:10px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .finish-art{position:relative;overflow:hidden;height:560px;background:#e6d4bd;transition:filter 250ms ease}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .finish-art img[src*="kiln-projects"]{position:absolute;max-width:none;width:200%;height:200%;left:-100%;top:-100%}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .finish-art[data-light-study=lamplight]{filter:sepia(.22) saturate(.92) brightness(.88)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .light-control{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:24px;font-size:14px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .light-control [role=group]{display:flex;border:1px solid var(--rule)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .light-control :is(button,[role="button"]){border:0;background:transparent;padding:11px 17px;font-size:14px;min-height:44px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .light-control :is(button,[role="button"])[aria-pressed=true]{background:var(--ink);color:var(--paper)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .light-note{margin-top:14px;font-size:13px;max-width:470px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .finish-notes h2{font-size:clamp(43px,4.5vw,66px)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="kiln-house"][data-gp-premium="true"] .finish-notes h2{font-size:clamp(43px,4.5cqw,66px)}}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .finish-notes>p{margin-top:25px;max-width:490px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .notes-list{margin-top:35px;border-top:1px solid var(--rule)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] details{border-bottom:1px solid var(--rule)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-size:19px;font-weight:500;line-height:1.4}
[data-gp-theme="kiln-house"][data-gp-premium="true"] summary::-webkit-details-marker{display:none}
[data-gp-theme="kiln-house"][data-gp-premium="true"] summary>span:not(.fs-richtext){width:18px;height:18px;position:relative;flex-shrink:0}
[data-gp-theme="kiln-house"][data-gp-premium="true"] summary>span:not(.fs-richtext):before,[data-gp-theme="kiln-house"][data-gp-premium="true"] summary>span:not(.fs-richtext):after{content:"";position:absolute;width:16px;height:1px;left:1px;top:8px;background:var(--ink);transition:transform 180ms var(--ease)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] summary>span:not(.fs-richtext):after{transform:rotate(90deg)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] details[open] summary>span:not(.fs-richtext):after{transform:rotate(0)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] details>p{padding:0 30px 26px 0;font-size:16px;line-height:1.6;max-width:520px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-section{background:var(--rust);color:var(--paper);padding-top:100px;padding-bottom:110px;position:relative}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-intro{display:grid;grid-template-columns:1.35fr .65fr;gap:8%;align-items:end;margin-bottom:57px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-intro>p{font-size:20px;padding-bottom:9px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope{display:grid;grid-template-columns:.84fr 1.16fr;max-width:1220px;background:var(--paper);color:var(--ink);box-shadow:5px 16px 30px rgba(74,23,12,.17);position:relative}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-letter{position:relative;min-height:690px;background:#ecd5b7;padding:40px 42px 195px;overflow:hidden}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .letter-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:10px;line-height:1.3;border-bottom:1px solid var(--rule);padding-bottom:17px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .letter-brand{font-family:Fraunces,serif;font-size:25px;letter-spacing:-.04em;white-space:nowrap}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-pair{height:195px;position:relative;margin-top:35px;margin-bottom:22px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-pair svg{position:absolute;width:60%;height:185px;fill:currentColor;filter:drop-shadow(2px 7px 5px rgba(89,49,26,.15));transform:rotate(-9deg);left:0;transition:color 180ms ease}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-pair svg+svg{left:36%;top:13px;transform:rotate(7deg)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-letter h3{font-size:43px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-letter>p{font-size:17px;margin-top:19px;max-width:350px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-letter .letter-note{font-size:14px;margin-top:27px;position:relative;z-index:1}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-fold{position:absolute;left:0;bottom:0;width:100%;height:160px;pointer-events:none}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-fold svg{width:100%;height:100%}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .brief-form{padding:45px 48px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .brief-form label{display:flex;flex-direction:column;gap:10px;font-size:15px;font-weight:500;margin-bottom:26px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .brief-form input,[data-gp-theme="kiln-house"][data-gp-premium="true"] .brief-form select,[data-gp-theme="kiln-house"][data-gp-premium="true"] .brief-form textarea{border:0;border-bottom:1px solid #aa8665;background:transparent;border-radius:0;padding:10px 0;width:100%;min-height:46px;font-size:17px;font-weight:400;resize:vertical}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .brief-form textarea{min-height:142px;padding-top:7px;line-height:1.5}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .brief-form input[readonly]{color:var(--rust);font-family:Fraunces,serif;font-size:27px;font-weight:500}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .brief-form select{padding-right:22px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .brief-form textarea::placeholder{color:#805c46;opacity:1;font-size:16px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .field-note{font-size:12px;font-weight:400}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .form-note{font-size:12px;margin-top:14px;text-align:center;max-width:none}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .draft-result{margin-top:30px;padding-top:25px;border-top:1px solid var(--rule)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .draft-result[hidden]{display:none}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .draft-result h3{font-size:29px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .draft-result>p{margin-top:13px;font-size:15px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .draft-result pre{white-space:pre-wrap;overflow-wrap:anywhere;font:15px/1.6 Figtree,sans-serif;background:#ecd5b7;padding:18px;margin:17px 0 0}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .draft-actions{display:flex;flex-wrap:wrap;gap:22px;margin-top:15px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .draft-actions :is(button,[role="button"]){font-size:14px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .copy-status{min-height:23px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .site-footer{background:var(--rust);color:var(--paper);border-top:1px solid rgba(248,236,217,.4);padding-top:58px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .footer-upper{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:8%;padding-bottom:65px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .footer-thought>p{font:400 35px/1.15 Fraunces,serif;letter-spacing:-.025em}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .footer-thought>a{display:inline-flex;align-items:center;gap:20px;font-size:14px;margin-top:26px;text-decoration:none}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .footer-thought>a svg{width:21px;height:21px;transform:rotate(-90deg)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .footer-upper nav{display:flex;flex-direction:column;gap:10px;padding-top:3px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .footer-upper nav h3{font:600 14px/1.5 Figtree,sans-serif;letter-spacing:0;margin-bottom:6px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .footer-upper nav a{font-size:14px;text-decoration:none;padding-block:3px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .footer-wordmark{font:500 clamp(70px,9vw,96px)/1.03 Fraunces,serif;letter-spacing:-.04em;padding-bottom:24px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="kiln-house"][data-gp-premium="true"] .footer-wordmark{font:500 clamp(70px,9cqw,96px)/1.03 Fraunces,serif}}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .footer-wordmark span:not(.fs-richtext){color:#e3af82}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .footer-bottom{border-top:1px solid rgba(248,236,217,.4);display:flex;justify-content:space-between;gap:20px;padding-top:21px;padding-bottom:25px;font-size:12px;line-height:1.5}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .site-footer a:focus-visible,[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-intro a:focus-visible{outline-color:var(--paper)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] dialog.mega-menu{max-width:calc(100vw - 80px);width:1280px;max-height:calc(100dvh - 70px);border:0;padding:0;background:var(--paper);color:var(--ink);box-shadow:4px 20px 70px rgba(57,30,15,.3);margin:auto}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="kiln-house"][data-gp-premium="true"] dialog.mega-menu{max-width:calc(100cqw - 80px)}}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .mega-menu::backdrop{background:rgba(59,34,23,.6)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 42px;border-bottom:1px solid var(--rule)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-top>.wordmark{font-size:32px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-top :is(button,[role="button"]){display:flex;align-items:center;gap:15px;background:transparent;border:0;padding:10px 0;font-size:15px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-top :is(button,[role="button"]) svg{width:22px;height:22px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-body{display:grid;grid-template-columns:.9fr 1.1fr;gap:8%;padding:50px 55px 50px 42px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-invitation h2{font-size:65px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-invitation>p{margin-top:22px;max-width:350px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-samples{height:140px;display:flex;align-items:center;gap:0;margin:24px 0 12px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-samples svg{width:126px;height:130px;fill:currentColor;transform:rotate(-9deg);filter:drop-shadow(2px 5px 4px rgba(89,49,26,.13))}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-samples svg+svg{margin-left:-19px;transform:rotate(8deg)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-samples svg:last-child{transform:rotate(-5deg);margin-left:-12px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-links{display:grid;grid-template-columns:1fr 1fr;gap:34px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-links h3{font:500 16px/1.4 Figtree,sans-serif;letter-spacing:0;border-bottom:1px solid var(--ink);padding-bottom:16px;margin-bottom:6px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-links a{display:flex;flex-direction:column;gap:9px;text-decoration:none;padding:23px 0;border-bottom:1px solid var(--rule)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-links a span:not(.fs-richtext){font:500 25px/1.15 Fraunces,serif;letter-spacing:-.025em}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-links a small{font-size:12px;line-height:1.5}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-bottom{display:flex;justify-content:space-between;gap:24px;padding:20px 42px;background:#e7cfb2;font-size:12px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .preloader{background:var(--clay)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .kiln-intro{display:flex;flex-direction:column;align-items:center;color:var(--ink);gap:15px;padding:30px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .kiln-intro>svg{width:160px;height:150px;transform:rotate(-7deg);filter:drop-shadow(3px 8px 7px rgba(89,49,26,.18))}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .kiln-intro>span:not(.fs-richtext){font:500 43px/1 Fraunces,serif;letter-spacing:-.04em}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .kiln-intro>small{font-size:14px}
@media(hover:hover) and (pointer:fine){[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample:hover{transform:rotate(calc(var(--turn) - 2deg)) translateY(-7px)}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample:active{transform:rotate(var(--turn)) translateY(1px)}[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination:hover .combination-art svg:first-child{transform:rotate(-15deg) translateX(-4px)}[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination:hover .combination-art svg+svg{transform:rotate(14deg) translateX(4px)}[data-gp-theme="kiln-house"][data-gp-premium="true"] .button:hover svg,[data-gp-theme="kiln-house"][data-gp-premium="true"] .text-link:hover svg,[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination:hover .combination-action svg{transform:translateX(4px)}[data-gp-theme="kiln-house"][data-gp-premium="true"] .button-rust:hover{background:var(--ink);border-color:var(--ink)}[data-gp-theme="kiln-house"][data-gp-premium="true"] .button-cream:hover{background:#e4cdb0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .header-links a:hover,[data-gp-theme="kiln-house"][data-gp-premium="true"] .footer-upper nav a:hover{text-decoration:underline}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-links a:hover span:not(.fs-richtext){color:var(--rust)}}
@media(min-width:1600px){[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-stage{height:850px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-oxide{height:400px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-ink{height:350px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-chalk{height:330px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-blush{height:390px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-sage{top:390px}}
@media(max-width:1150px){[data-gp-theme="kiln-house"][data-gp-premium="true"] .page-width{width:calc(100% - 72px)}[data-gp-theme="kiln-house"][data-gp-premium="true"] .site-header{width:calc(100% - 72px);gap:20px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar{padding-inline:36px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .header-links{display:none}[data-gp-theme="kiln-house"][data-gp-premium="true"] .header-actions{gap:22px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-stage{height:750px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-copy{width:65%}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-copy h1{font-size:74px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-copy p{font-size:19px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-invitation{font-size:14px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-oxide{right:2%;width:32%;height:335px;top:25px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-ink{height:285px;width:31%;bottom:49px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-chalk{height:278px;width:27%;left:36%;bottom:19px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-blush{height:320px;width:23%;right:0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-sage{top:357px;left:35%;height:210px;width:21%}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-honey{top:322px;height:210px;width:21%}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-label{padding-inline:5px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-label strong{font-size:23px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-label>span:not(.fs-richtext){font-size:12px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-inner{gap:5%}[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-objects{height:260px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-actions{align-items:flex-start;flex-direction:column;gap:9px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-spread{gap:4%;grid-template-columns:1.2fr .8fr}[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-art{height:580px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-materials h3{font-size:34px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-materials>p{font-size:16px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-heading{gap:7%}[data-gp-theme="kiln-house"][data-gp-premium="true"] .finish-section{gap:5%}[data-gp-theme="kiln-house"][data-gp-premium="true"] .finish-art{height:500px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .light-control{align-items:flex-start;flex-direction:column;gap:12px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-letter{padding-inline:30px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .brief-form{padding:37px 34px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .form-row{gap:16px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-body{gap:6%;padding-right:42px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-invitation h2{font-size:55px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-links{gap:24px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-links a span:not(.fs-richtext){font-size:23px}}
@containerfs-editor-canvas (max-width: 1150px){[data-gp-theme="kiln-house"][data-gp-premium="true"] .page-width{width:calc(100% - 72px)}[data-gp-theme="kiln-house"][data-gp-premium="true"] .site-header{width:calc(100% - 72px);gap:20px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar{padding-inline:36px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .header-links{display:none}[data-gp-theme="kiln-house"][data-gp-premium="true"] .header-actions{gap:22px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-stage{height:750px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-copy{width:65%}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-copy h1{font-size:74px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-copy p{font-size:19px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-invitation{font-size:14px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-oxide{right:2%;width:32%;height:335px;top:25px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-ink{height:285px;width:31%;bottom:49px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-chalk{height:278px;width:27%;left:36%;bottom:19px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-blush{height:320px;width:23%;right:0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-sage{top:357px;left:35%;height:210px;width:21%}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-honey{top:322px;height:210px;width:21%}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-label{padding-inline:5px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-label strong{font-size:23px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-label>span:not(.fs-richtext){font-size:12px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-inner{gap:5%}[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-objects{height:260px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-actions{align-items:flex-start;flex-direction:column;gap:9px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-spread{gap:4%;grid-template-columns:1.2fr .8fr}[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-art{height:580px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-materials h3{font-size:34px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-materials>p{font-size:16px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-heading{gap:7%}[data-gp-theme="kiln-house"][data-gp-premium="true"] .finish-section{gap:5%}[data-gp-theme="kiln-house"][data-gp-premium="true"] .finish-art{height:500px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .light-control{align-items:flex-start;flex-direction:column;gap:12px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-letter{padding-inline:30px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .brief-form{padding:37px 34px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .form-row{gap:16px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-body{gap:6%;padding-right:42px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-invitation h2{font-size:55px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-links{gap:24px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-links a span:not(.fs-richtext){font-size:23px}}
@media(max-width:800px){[data-gp-theme="kiln-house"][data-gp-premium="true"] .page-width{width:calc(100% - 44px)}[data-gp-theme="kiln-house"][data-gp-premium="true"] .site-header{width:calc(100% - 44px);padding:24px 0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .wordmark{font-size:33px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .wordmark small{font-size:11px;margin-top:7px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .saved-link{font-size:0;gap:0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .saved-link>span:not(.fs-richtext){font-size:13px;width:27px;height:28px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .header-actions{gap:18px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .menu-button{font-size:14px;gap:9px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar{padding-inline:22px;gap:10px;font-size:11px;flex-wrap:wrap;min-height:39px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar :is(button,[role="button"]){font-size:11px;padding:6px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar>span:not(.fs-richtext){display:none}[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar a{font-size:11px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter{padding-top:30px;padding-bottom:20px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-stage{height:1080px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-copy{top:0;width:100%}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-copy h1{font-size:clamp(58px,8.8vw,74px);max-width:640px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-copy p{font-size:19px;margin-top:22px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-invitation{margin-top:18px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-oxide{top:310px;right:0;width:47%;height:300px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-ink{top:445px;bottom:auto;left:-1%;width:47%;height:260px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-chalk{bottom:22px;left:0;width:46%;height:280px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-blush{bottom:48px;right:1%;width:40%;height:340px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-sage{top:735px;left:1%;width:31%;height:200px;display:none}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-honey{top:644px;right:7%;width:32%;height:218px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-sage{display:block;left:42%;top:545px;width:29%;height:190px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-ink .sample-label strong,[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-oxide .sample-label strong{font-size:25px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-label>span:not(.fs-richtext){font-size:12px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-caption{font-size:12px;bottom:-7px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-inner{grid-template-columns:1fr;padding:65px 0 58px;gap:28px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-copy h2{font-size:51px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-copy p{max-width:530px;font-size:17px;margin-top:20px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-actions{flex-direction:row;align-items:center;gap:20px;margin-top:25px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-objects{height:260px;max-width:430px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-name{font-size:34px;margin-top:26px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-hint{font-size:12px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .section-space{padding-block:75px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .section-heading{grid-template-columns:1fr;gap:24px;margin-bottom:32px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .section-heading h2,[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-heading h2,[data-gp-theme="kiln-house"][data-gp-premium="true"] .finish-notes h2{font-size:53px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .section-heading>p{font-size:18px;max-width:520px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination{grid-template-columns:140px 1fr;gap:20px;min-height:176px;padding:24px 0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination-art{width:140px;height:118px;grid-row:1/3}[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination-art svg{width:92px;height:105px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination-art svg+svg{left:48px;top:8px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination-copy{gap:8px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination-copy strong{font-size:31px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination-copy small{font-size:14px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination-action{justify-self:start;font-size:13px;gap:14px;padding:4px 0;grid-column:2}[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination-action svg{width:19px;height:19px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .material-note{font-size:13px;margin-top:23px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-section{padding-block:75px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-heading{grid-template-columns:1fr;gap:25px;margin-bottom:32px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-heading p{font-size:18px;max-width:520px;padding:0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-spread{grid-template-columns:1fr;gap:38px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-art{height:auto;aspect-ratio:1.05}[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-materials{padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 24px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-materials h3{font-size:35px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-materials>p{grid-column:1;font-size:17px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .material-stack{grid-column:2;grid-row:1/4;margin:0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-materials>.text-link{grid-column:1;justify-self:start;font-size:14px;margin-top:25px;align-self:start}[data-gp-theme="kiln-house"][data-gp-premium="true"] .material-row{min-height:85px;gap:12px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .material-row svg{width:65px;height:65px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .material-row strong{font-size:22px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .stone-chip{width:54px;height:48px;margin:12px 5px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .joint-line{flex-direction:column;gap:3px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .finish-section{grid-template-columns:1fr;gap:48px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .finish-art-column{order:2;padding:0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .finish-art{height:auto;aspect-ratio:1.25}[data-gp-theme="kiln-house"][data-gp-premium="true"] .finish-notes>p{font-size:18px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .notes-list{margin-top:25px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .light-control{flex-direction:row;align-items:center}[data-gp-theme="kiln-house"][data-gp-premium="true"] .light-control>span:not(.fs-richtext){font-size:13px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-section{padding-top:75px;padding-bottom:75px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-intro{grid-template-columns:1fr;gap:24px;margin-bottom:35px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-intro h2{font-size:53px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-intro>p{font-size:18px;padding:0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope{grid-template-columns:1fr}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-letter{min-height:340px;padding:28px 30px 62px;display:grid;grid-template-columns:1fr 1fr;gap:0 20px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .letter-heading{grid-column:1/-1;padding-bottom:15px;margin-bottom:25px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-pair{grid-column:2;grid-row:2/5;height:165px;margin:0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-pair svg{width:67%;height:160px;left:-3%}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-pair svg+svg{left:36%;top:12px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-letter h3{font-size:37px;position:relative;z-index:2}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-letter>p{font-size:15px;margin-top:15px;max-width:230px;position:relative;z-index:2}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-letter .letter-note{font-size:12px;margin-top:15px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-fold{height:80px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .brief-form{padding:35px 30px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .footer-upper{grid-template-columns:1fr 1fr;gap:35px 28px;padding-bottom:45px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .footer-thought{grid-column:1/-1}[data-gp-theme="kiln-house"][data-gp-premium="true"] .footer-thought>p{font-size:34px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .footer-thought>a{margin-top:20px;font-size:14px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .footer-wordmark{font-size:80px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .footer-bottom{flex-wrap:wrap;gap:8px 22px;font-size:11px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .footer-bottom span:not(.fs-richtext):last-child{margin-left:auto}[data-gp-theme="kiln-house"][data-gp-premium="true"] .mega-menu{width:calc(100vw - 30px);max-width:none;max-height:calc(100dvh - 30px)}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-top{padding:22px 25px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-body{grid-template-columns:1fr;padding:30px 25px;gap:32px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-invitation h2{font-size:48px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-invitation>p{font-size:17px;margin-top:15px;max-width:400px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-samples{position:absolute;right:30px;top:110px;max-width:175px;opacity:.8}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-samples svg{width:75px;height:90px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-invitation>.text-link{margin-top:20px;font-size:14px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-links{gap:24px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-links a{padding:18px 0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-links a span:not(.fs-richtext){font-size:22px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-links a small{font-size:12px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-bottom{padding:17px 25px;flex-direction:column;gap:6px;font-size:11px}}
@containerfs-editor-canvas (max-width: 800px){[data-gp-theme="kiln-house"][data-gp-premium="true"] .page-width{width:calc(100% - 44px)}[data-gp-theme="kiln-house"][data-gp-premium="true"] .site-header{width:calc(100% - 44px);padding:24px 0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .wordmark{font-size:33px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .wordmark small{font-size:11px;margin-top:7px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .saved-link{font-size:0;gap:0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .saved-link>span:not(.fs-richtext){font-size:13px;width:27px;height:28px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .header-actions{gap:18px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .menu-button{font-size:14px;gap:9px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar{padding-inline:22px;gap:10px;font-size:11px;flex-wrap:wrap;min-height:39px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar :is(button,[role="button"]){font-size:11px;padding:6px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar>span:not(.fs-richtext){display:none}[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar a{font-size:11px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter{padding-top:30px;padding-bottom:20px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-stage{height:1080px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-copy{top:0;width:100%}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-copy h1{font-size:clamp(58px,8.8cqw,74px);max-width:640px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-copy p{font-size:19px;margin-top:22px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-invitation{margin-top:18px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-oxide{top:310px;right:0;width:47%;height:300px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-ink{top:445px;bottom:auto;left:-1%;width:47%;height:260px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-chalk{bottom:22px;left:0;width:46%;height:280px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-blush{bottom:48px;right:1%;width:40%;height:340px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-sage{top:735px;left:1%;width:31%;height:200px;display:none}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-honey{top:644px;right:7%;width:32%;height:218px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-sage{display:block;left:42%;top:545px;width:29%;height:190px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-ink .sample-label strong,[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-oxide .sample-label strong{font-size:25px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-label>span:not(.fs-richtext){font-size:12px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-caption{font-size:12px;bottom:-7px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-inner{grid-template-columns:1fr;padding:65px 0 58px;gap:28px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-copy h2{font-size:51px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-copy p{max-width:530px;font-size:17px;margin-top:20px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-actions{flex-direction:row;align-items:center;gap:20px;margin-top:25px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-objects{height:260px;max-width:430px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-name{font-size:34px;margin-top:26px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-hint{font-size:12px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .section-space{padding-block:75px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .section-heading{grid-template-columns:1fr;gap:24px;margin-bottom:32px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .section-heading h2,[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-heading h2,[data-gp-theme="kiln-house"][data-gp-premium="true"] .finish-notes h2{font-size:53px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .section-heading>p{font-size:18px;max-width:520px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination{grid-template-columns:140px 1fr;gap:20px;min-height:176px;padding:24px 0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination-art{width:140px;height:118px;grid-row:1/3}[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination-art svg{width:92px;height:105px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination-art svg+svg{left:48px;top:8px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination-copy{gap:8px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination-copy strong{font-size:31px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination-copy small{font-size:14px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination-action{justify-self:start;font-size:13px;gap:14px;padding:4px 0;grid-column:2}[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination-action svg{width:19px;height:19px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .material-note{font-size:13px;margin-top:23px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-section{padding-block:75px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-heading{grid-template-columns:1fr;gap:25px;margin-bottom:32px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-heading p{font-size:18px;max-width:520px;padding:0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-spread{grid-template-columns:1fr;gap:38px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-art{height:auto;aspect-ratio:1.05}[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-materials{padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 24px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-materials h3{font-size:35px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-materials>p{grid-column:1;font-size:17px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .material-stack{grid-column:2;grid-row:1/4;margin:0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-materials>.text-link{grid-column:1;justify-self:start;font-size:14px;margin-top:25px;align-self:start}[data-gp-theme="kiln-house"][data-gp-premium="true"] .material-row{min-height:85px;gap:12px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .material-row svg{width:65px;height:65px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .material-row strong{font-size:22px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .stone-chip{width:54px;height:48px;margin:12px 5px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .joint-line{flex-direction:column;gap:3px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .finish-section{grid-template-columns:1fr;gap:48px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .finish-art-column{order:2;padding:0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .finish-art{height:auto;aspect-ratio:1.25}[data-gp-theme="kiln-house"][data-gp-premium="true"] .finish-notes>p{font-size:18px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .notes-list{margin-top:25px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .light-control{flex-direction:row;align-items:center}[data-gp-theme="kiln-house"][data-gp-premium="true"] .light-control>span:not(.fs-richtext){font-size:13px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-section{padding-top:75px;padding-bottom:75px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-intro{grid-template-columns:1fr;gap:24px;margin-bottom:35px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-intro h2{font-size:53px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-intro>p{font-size:18px;padding:0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope{grid-template-columns:1fr}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-letter{min-height:340px;padding:28px 30px 62px;display:grid;grid-template-columns:1fr 1fr;gap:0 20px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .letter-heading{grid-column:1/-1;padding-bottom:15px;margin-bottom:25px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-pair{grid-column:2;grid-row:2/5;height:165px;margin:0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-pair svg{width:67%;height:160px;left:-3%}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-pair svg+svg{left:36%;top:12px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-letter h3{font-size:37px;position:relative;z-index:2}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-letter>p{font-size:15px;margin-top:15px;max-width:230px;position:relative;z-index:2}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-letter .letter-note{font-size:12px;margin-top:15px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-fold{height:80px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .brief-form{padding:35px 30px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .footer-upper{grid-template-columns:1fr 1fr;gap:35px 28px;padding-bottom:45px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .footer-thought{grid-column:1/-1}[data-gp-theme="kiln-house"][data-gp-premium="true"] .footer-thought>p{font-size:34px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .footer-thought>a{margin-top:20px;font-size:14px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .footer-wordmark{font-size:80px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .footer-bottom{flex-wrap:wrap;gap:8px 22px;font-size:11px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .footer-bottom span:not(.fs-richtext):last-child{margin-left:auto}[data-gp-theme="kiln-house"][data-gp-premium="true"] .mega-menu{width:calc(100cqw - 30px);max-width:none;max-height:calc(100dvh - 30px)}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-top{padding:22px 25px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-body{grid-template-columns:1fr;padding:30px 25px;gap:32px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-invitation h2{font-size:48px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-invitation>p{font-size:17px;margin-top:15px;max-width:400px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-samples{position:absolute;right:30px;top:110px;max-width:175px;opacity:.8}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-samples svg{width:75px;height:90px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-invitation>.text-link{margin-top:20px;font-size:14px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-links{gap:24px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-links a{padding:18px 0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-links a span:not(.fs-richtext){font-size:22px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-links a small{font-size:12px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-bottom{padding:17px 25px;flex-direction:column;gap:6px;font-size:11px}}
@media(max-width:480px){[data-gp-theme="kiln-house"][data-gp-premium="true"]{font-size:17px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .page-width{width:calc(100% - 36px)}[data-gp-theme="kiln-house"][data-gp-premium="true"] .site-header{width:calc(100% - 36px);gap:10px;padding:22px 0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .wordmark{font-size:30px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .header-actions{gap:12px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .menu-button{font-size:0;gap:0;width:32px;height:44px;justify-content:center;border-bottom:0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .menu-button svg{width:24px;height:24px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .saved-link>span:not(.fs-richtext){width:25px;height:27px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar{padding-inline:18px;gap:8px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar :is(button,[role="button"]){padding:6px 4px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter{padding-top:25px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-stage{height:1048px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-copy h1{font-size:54px;letter-spacing:-.04em;line-height:1.05}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-copy p{font-size:17px;line-height:1.55;margin-top:18px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-invitation{font-size:13px;gap:12px;margin-top:19px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-invitation svg{width:18px;height:18px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-label{padding-inline:4px;grid-template-columns:1fr 22px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-label strong{font-size:22px!important}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-label>span:not(.fs-richtext){font-size:11px!important;max-width:125px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-label i{width:23px;height:23px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-label i svg{width:16px;height:16px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample>svg{height:calc(100% - 59px)}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-oxide{top:287px;right:-1%;width:56%;height:257px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-ink{top:430px;left:-2%;width:54%;height:225px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-sage{top:600px;left:47%;width:44%;height:192px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-honey{top:709px;right:-1%;width:45%;height:205px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-chalk{bottom:43px;left:-1%;width:50%;height:237px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-blush{top:487px;right:-1%;bottom:auto;width:36%;height:238px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-sage{top:656px;left:-1%;width:38%;height:175px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-honey{top:826px;right:-1%;width:46%;height:194px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-chalk{bottom:51px;left:-2%;width:54%;height:235px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-blush{top:548px;right:0;width:44%;height:266px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-sage{top:665px;left:4%;width:39%;height:179px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-caption{font-size:11px;bottom:0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-section{margin-top:15px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-inner{padding-block:53px 48px;gap:35px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-copy h2{font-size:43px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-copy p{font-size:17px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-actions{gap:13px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .button{font-size:14px;padding:12px 16px;gap:16px;min-height:50px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .quiet-button{font-size:13px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-objects{height:223px;max-width:350px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-name{font-size:31px;margin-top:25px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-hint{font-size:11px;max-width:300px;margin-inline:auto}[data-gp-theme="kiln-house"][data-gp-premium="true"] .section-space{padding-block:60px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .section-heading h2,[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-heading h2,[data-gp-theme="kiln-house"][data-gp-premium="true"] .finish-notes h2{font-size:45px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .section-heading>p,[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-heading p{font-size:17px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination{grid-template-columns:104px 1fr;gap:6px 18px;min-height:155px;padding:24px 0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination-art{width:107px;height:100px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination-art svg{width:75px;height:90px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination-art svg+svg{left:33px;top:8px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination-copy strong{font-size:27px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination-copy small{font-size:12px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination-action{font-size:12px;padding:3px 0;gap:12px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination-action svg{width:17px;height:17px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .material-note{font-size:12px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-section{padding-block:60px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-art{aspect-ratio:.95}[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-spread{gap:32px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-materials{grid-template-columns:1fr;gap:0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-materials h3{font-size:35px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-materials>p{font-size:17px;max-width:330px;margin-top:19px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .material-stack{grid-row:auto;grid-column:1;margin-top:25px;display:grid;grid-template-columns:1fr 1fr;gap:0 20px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .material-row{gap:9px;min-height:90px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .material-row svg{width:54px;height:62px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .material-row strong{font-size:21px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .material-row small{font-size:11px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .material-row-support{grid-column:1}[data-gp-theme="kiln-house"][data-gp-premium="true"] .stone-chip{width:44px;height:45px;margin:14px 5px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .joint-line{grid-column:2;justify-content:center;align-self:center;margin-top:11px;padding-top:11px;font-size:10px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-materials>.text-link{margin-top:23px;font-size:14px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .finish-section{gap:34px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .finish-notes>p{font-size:17px;margin-top:21px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .notes-list{margin-top:27px}[data-gp-theme="kiln-house"][data-gp-premium="true"] summary{font-size:17px;padding:20px 0;gap:16px}[data-gp-theme="kiln-house"][data-gp-premium="true"] details>p{font-size:15px;padding-right:12px;padding-bottom:22px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .finish-art{aspect-ratio:1.05}[data-gp-theme="kiln-house"][data-gp-premium="true"] .light-control{align-items:flex-start;flex-direction:column;gap:12px;margin-top:20px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .light-control>span:not(.fs-richtext){font-size:14px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .light-control :is(button,[role="button"]){font-size:13px;padding:11px 21px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .light-note{font-size:12px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-section{padding-block:60px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-intro h2{font-size:45px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-intro>p{font-size:17px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-intro{gap:24px;margin-bottom:30px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-letter{padding:23px 24px 60px;min-height:340px;grid-template-columns:1.1fr .9fr;gap:0 8px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .letter-heading{font-size:9px;gap:10px;margin-bottom:25px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .letter-brand{font-size:24px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-letter h3{font-size:34px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-letter>p{font-size:14px;max-width:190px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-pair{height:155px;margin-top:11px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-pair svg{width:90%;height:130px;left:-9%}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-pair svg+svg{left:25%;top:52px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-letter .letter-note{font-size:11px;margin-top:16px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .brief-form{padding:29px 24px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .form-row{grid-template-columns:1fr;gap:0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .brief-form label{font-size:14px;gap:8px;margin-bottom:23px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .brief-form input,[data-gp-theme="kiln-house"][data-gp-premium="true"] .brief-form select,[data-gp-theme="kiln-house"][data-gp-premium="true"] .brief-form textarea{font-size:16px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .brief-form input[readonly]{font-size:25px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .brief-form textarea::placeholder{font-size:15px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .form-note{font-size:11px;line-height:1.5}[data-gp-theme="kiln-house"][data-gp-premium="true"] .site-footer{padding-top:42px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .footer-upper{gap:32px 20px;padding-bottom:40px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .footer-thought>p{font-size:31px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .footer-thought>a{font-size:13px;gap:13px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .footer-upper nav h3{font-size:13px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .footer-upper nav a{font-size:12px;line-height:1.5;min-height:28px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .footer-wordmark{font-size:65px;padding-bottom:20px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .footer-bottom{display:grid;grid-template-columns:1fr;gap:5px;font-size:10px;padding-block:18px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .footer-bottom span:not(.fs-richtext):last-child{margin-left:0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-top{padding:18px 20px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-top>.wordmark{font-size:28px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-body{padding:25px 20px 30px;gap:29px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-invitation h2{font-size:43px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-invitation>p{font-size:16px;max-width:220px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-samples{right:20px;top:119px;width:125px;max-width:125px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-samples svg{width:58px;height:65px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-links{grid-template-columns:1fr;gap:28px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-links h3{font-size:14px;padding-bottom:12px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-links a{padding:16px 0;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:16px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-links a span:not(.fs-richtext){font-size:23px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-links a small{font-size:11px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-invitation>.text-link{font-size:13px;gap:10px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-bottom{padding-inline:20px}}
@containerfs-editor-canvas (max-width: 480px){[data-gp-theme="kiln-house"][data-gp-premium="true"]{font-size:17px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .page-width{width:calc(100% - 36px)}[data-gp-theme="kiln-house"][data-gp-premium="true"] .site-header{width:calc(100% - 36px);gap:10px;padding:22px 0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .wordmark{font-size:30px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .header-actions{gap:12px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .menu-button{font-size:0;gap:0;width:32px;height:44px;justify-content:center;border-bottom:0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .menu-button svg{width:24px;height:24px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .saved-link>span:not(.fs-richtext){width:25px;height:27px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar{padding-inline:18px;gap:8px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .preview-bar :is(button,[role="button"]){padding:6px 4px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter{padding-top:25px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-stage{height:1048px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-copy h1{font-size:54px;letter-spacing:-.04em;line-height:1.05}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-copy p{font-size:17px;line-height:1.55;margin-top:18px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-invitation{font-size:13px;gap:12px;margin-top:19px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-invitation svg{width:18px;height:18px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-label{padding-inline:4px;grid-template-columns:1fr 22px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-label strong{font-size:22px!important}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-label>span:not(.fs-richtext){font-size:11px!important;max-width:125px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-label i{width:23px;height:23px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-label i svg{width:16px;height:16px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample>svg{height:calc(100% - 59px)}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-oxide{top:287px;right:-1%;width:56%;height:257px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-ink{top:430px;left:-2%;width:54%;height:225px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-sage{top:600px;left:47%;width:44%;height:192px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-honey{top:709px;right:-1%;width:45%;height:205px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-chalk{bottom:43px;left:-1%;width:50%;height:237px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-blush{top:487px;right:-1%;bottom:auto;width:36%;height:238px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-sage{top:656px;left:-1%;width:38%;height:175px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-honey{top:826px;right:-1%;width:46%;height:194px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-chalk{bottom:51px;left:-2%;width:54%;height:235px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-blush{top:548px;right:0;width:44%;height:266px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-sage{top:665px;left:4%;width:39%;height:179px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-caption{font-size:11px;bottom:0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-section{margin-top:15px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-inner{padding-block:53px 48px;gap:35px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-copy h2{font-size:43px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-copy p{font-size:17px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-actions{gap:13px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .button{font-size:14px;padding:12px 16px;gap:16px;min-height:50px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .quiet-button{font-size:13px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-objects{height:223px;max-width:350px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-name{font-size:31px;margin-top:25px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .pairing-hint{font-size:11px;max-width:300px;margin-inline:auto}[data-gp-theme="kiln-house"][data-gp-premium="true"] .section-space{padding-block:60px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .section-heading h2,[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-heading h2,[data-gp-theme="kiln-house"][data-gp-premium="true"] .finish-notes h2{font-size:45px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .section-heading>p,[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-heading p{font-size:17px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination{grid-template-columns:104px 1fr;gap:6px 18px;min-height:155px;padding:24px 0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination-art{width:107px;height:100px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination-art svg{width:75px;height:90px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination-art svg+svg{left:33px;top:8px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination-copy strong{font-size:27px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination-copy small{font-size:12px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination-action{font-size:12px;padding:3px 0;gap:12px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .combination-action svg{width:17px;height:17px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .material-note{font-size:12px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-section{padding-block:60px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-art{aspect-ratio:.95}[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-spread{gap:32px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-materials{grid-template-columns:1fr;gap:0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-materials h3{font-size:35px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-materials>p{font-size:17px;max-width:330px;margin-top:19px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .material-stack{grid-row:auto;grid-column:1;margin-top:25px;display:grid;grid-template-columns:1fr 1fr;gap:0 20px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .material-row{gap:9px;min-height:90px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .material-row svg{width:54px;height:62px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .material-row strong{font-size:21px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .material-row small{font-size:11px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .material-row-support{grid-column:1}[data-gp-theme="kiln-house"][data-gp-premium="true"] .stone-chip{width:44px;height:45px;margin:14px 5px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .joint-line{grid-column:2;justify-content:center;align-self:center;margin-top:11px;padding-top:11px;font-size:10px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .room-materials>.text-link{margin-top:23px;font-size:14px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .finish-section{gap:34px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .finish-notes>p{font-size:17px;margin-top:21px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .notes-list{margin-top:27px}[data-gp-theme="kiln-house"][data-gp-premium="true"] summary{font-size:17px;padding:20px 0;gap:16px}[data-gp-theme="kiln-house"][data-gp-premium="true"] details>p{font-size:15px;padding-right:12px;padding-bottom:22px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .finish-art{aspect-ratio:1.05}[data-gp-theme="kiln-house"][data-gp-premium="true"] .light-control{align-items:flex-start;flex-direction:column;gap:12px;margin-top:20px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .light-control>span:not(.fs-richtext){font-size:14px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .light-control :is(button,[role="button"]){font-size:13px;padding:11px 21px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .light-note{font-size:12px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-section{padding-block:60px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-intro h2{font-size:45px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-intro>p{font-size:17px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-intro{gap:24px;margin-bottom:30px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-letter{padding:23px 24px 60px;min-height:340px;grid-template-columns:1.1fr .9fr;gap:0 8px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .letter-heading{font-size:9px;gap:10px;margin-bottom:25px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .letter-brand{font-size:24px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-letter h3{font-size:34px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-letter>p{font-size:14px;max-width:190px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-pair{height:155px;margin-top:11px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-pair svg{width:90%;height:130px;left:-9%}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-pair svg+svg{left:25%;top:52px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .envelope-letter .letter-note{font-size:11px;margin-top:16px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .brief-form{padding:29px 24px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .form-row{grid-template-columns:1fr;gap:0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .brief-form label{font-size:14px;gap:8px;margin-bottom:23px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .brief-form input,[data-gp-theme="kiln-house"][data-gp-premium="true"] .brief-form select,[data-gp-theme="kiln-house"][data-gp-premium="true"] .brief-form textarea{font-size:16px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .brief-form input[readonly]{font-size:25px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .brief-form textarea::placeholder{font-size:15px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .form-note{font-size:11px;line-height:1.5}[data-gp-theme="kiln-house"][data-gp-premium="true"] .site-footer{padding-top:42px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .footer-upper{gap:32px 20px;padding-bottom:40px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .footer-thought>p{font-size:31px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .footer-thought>a{font-size:13px;gap:13px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .footer-upper nav h3{font-size:13px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .footer-upper nav a{font-size:12px;line-height:1.5;min-height:28px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .footer-wordmark{font-size:65px;padding-bottom:20px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .footer-bottom{display:grid;grid-template-columns:1fr;gap:5px;font-size:10px;padding-block:18px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .footer-bottom span:not(.fs-richtext):last-child{margin-left:0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-top{padding:18px 20px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-top>.wordmark{font-size:28px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-body{padding:25px 20px 30px;gap:29px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-invitation h2{font-size:43px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-invitation>p{font-size:16px;max-width:220px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-samples{right:20px;top:119px;width:125px;max-width:125px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-samples svg{width:58px;height:65px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-links{grid-template-columns:1fr;gap:28px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-links h3{font-size:14px;padding-bottom:12px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-links a{padding:16px 0;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:16px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-links a span:not(.fs-richtext){font-size:23px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-links a small{font-size:11px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-invitation>.text-link{font-size:13px;gap:10px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-bottom{padding-inline:20px}}
@media(min-width:801px){[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-stage{height:800px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-ink{left:0;top:430px;bottom:auto;width:26%;height:300px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-chalk{left:29%;top:505px;bottom:auto;width:22%;height:260px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-blush{left:55%;right:auto;top:480px;bottom:auto;width:18%;height:300px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-sage{top:290px;left:35%;width:17%;height:220px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-honey{top:430px;right:0;width:21%;height:240px}}
@media(max-width:800px){[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-stage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px 7%;height:auto;padding-bottom:38px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-copy{position:relative;left:auto;top:auto;grid-column:1/-1;margin-bottom:20px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:100%!important;max-width:310px;justify-self:center}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-oxide{height:320px;margin-top:0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-ink{height:285px;margin-top:55px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-chalk{height:280px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-blush{height:340px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-sage{height:245px;display:block}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-honey{height:270px;margin-top:20px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-label>span:not(.fs-richtext){font-size:12px!important}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-caption{bottom:0}[data-gp-theme="kiln-house"][data-gp-premium="true"] dialog.mega-menu{max-width:calc(100vw - 30px);max-height:calc(100dvh - 30px)}}
@containerfs-editor-canvas (max-width: 800px){[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-stage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px 7%;height:auto;padding-bottom:38px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-copy{position:relative;left:auto;top:auto;grid-column:1/-1;margin-bottom:20px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:100%!important;max-width:310px;justify-self:center}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-oxide{height:320px;margin-top:0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-ink{height:285px;margin-top:55px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-chalk{height:280px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-blush{height:340px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-sage{height:245px;display:block}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-honey{height:270px;margin-top:20px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-label>span:not(.fs-richtext){font-size:12px!important}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-caption{bottom:0}[data-gp-theme="kiln-house"][data-gp-premium="true"] dialog.mega-menu{max-width:calc(100cqw - 30px);max-height:calc(100dvh - 30px)}}
@media(max-width:480px){[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-stage{gap:23px 7%;padding-bottom:36px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-copy{margin-bottom:12px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-oxide{height:235px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-ink{height:215px;margin-top:38px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-chalk{height:215px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-blush{height:265px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-sage{height:195px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-honey{height:207px;margin-top:5px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-label>span:not(.fs-richtext){font-size:12px!important;line-height:1.3;max-width:125px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-label strong{font-size:22px!important}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-sage .sample-label>span:not(.fs-richtext),[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-honey .sample-label>span:not(.fs-richtext){font-size:12px!important}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-caption{font-size:11px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .menu-button{width:44px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-samples{display:none}}
@containerfs-editor-canvas (max-width: 480px){[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-stage{gap:23px 7%;padding-bottom:36px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-copy{margin-bottom:12px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-oxide{height:235px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-ink{height:215px;margin-top:38px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-chalk{height:215px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-blush{height:265px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-sage{height:195px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-honey{height:207px;margin-top:5px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-label>span:not(.fs-richtext){font-size:12px!important;line-height:1.3;max-width:125px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-label strong{font-size:22px!important}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-sage .sample-label>span:not(.fs-richtext),[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample-honey .sample-label>span:not(.fs-richtext){font-size:12px!important}[data-gp-theme="kiln-house"][data-gp-premium="true"] .counter-caption{font-size:11px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .menu-button{width:44px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .directory-samples{display:none}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="kiln-house"][data-gp-premium="true"]{scroll-behavior:auto}[data-gp-theme="kiln-house"][data-gp-premium="true"] *,[data-gp-theme="kiln-house"][data-gp-premium="true"] *:before,[data-gp-theme="kiln-house"][data-gp-premium="true"] *:after{animation:none!important;transition:none!important}[data-gp-theme="kiln-house"][data-gp-premium="true"] .sample:hover{transform:rotate(var(--turn))}[data-gp-theme="kiln-house"][data-gp-premium="true"] .preloader{display:none!important}}
@media(max-width:600px){[data-gp-theme="kiln-house"][data-gp-premium="true"] .menu-button{font-size:14px!important;gap:9px!important;min-width:78px!important;padding-inline:8px!important}[data-gp-theme="kiln-house"][data-gp-premium="true"] .menu-button .menu-label{display:none}[data-gp-theme="kiln-house"][data-gp-premium="true"] .menu-button::before{content:"Menu";font-size:14px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .menu-button svg{width:20px!important;height:20px!important}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="kiln-house"][data-gp-premium="true"] .menu-button{font-size:14px!important;gap:9px!important;min-width:78px!important;padding-inline:8px!important}[data-gp-theme="kiln-house"][data-gp-premium="true"] .menu-button .menu-label{display:none}[data-gp-theme="kiln-house"][data-gp-premium="true"] .menu-button::before{content:"Menu";font-size:14px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .menu-button svg{width:20px!important;height:20px!important}}

/* Explicit legacy adapters; keep artwork/product colours intact. */
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-pilot=kiln-house]{--display:"Fraunces",serif;--body:"Figtree",sans-serif;--ip-paper:var(--clay);--ip-ink:var(--ink);--ip-accent:var(--rust);--ip-on:#fff7ed;--ip-wash:#ead4bd;--ip-line:#aa8c76;--ip-muted:#654b3d}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-pilot=kiln-house][data-palette="1"]{--clay:#e1e8d9;--paper:#eef2e7;--ink:#344c38;--rust:#416447;--blue:#385968;--rule:#9eaf98;--ip-wash:#cedbc6;--ip-muted:#465d46}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-pilot=kiln-house][data-palette="2"]{--clay:#dce7ec;--paper:#eef3f5;--ink:#284653;--rust:#315c70;--blue:#4a5158;--rule:#9badb6;--ip-wash:#c8d9e0;--ip-muted:#425d69}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-pilot=kiln-house][data-mode=dark]{--clay:#28221e;--paper:#342d26;--ink:#f4e7d7;--rust:#eab08c;--blue:#b3d0d3;--rule:#827063;--ip-on:#2d2119;--ip-wash:#3b3028;--ip-line:#827063;--ip-muted:#d7c5b4}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-pilot=kiln-house][data-palette="1"][data-mode=dark]{--clay:#202a22;--paper:#2b382c;--ink:#ebf0dd;--rust:#b8d59f;--ip-wash:#304031;--ip-line:#71856c;--ip-muted:#cbd6c2}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-pilot=kiln-house][data-palette="2"][data-mode=dark]{--clay:#202a30;--paper:#2a3740;--ink:#e6eff3;--rust:#a9cedd;--ip-wash:#30404a;--ip-line:#708895;--ip-muted:#c7d7df}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-pilot=field-and-fold]{--ip-paper:var(--paper);--ip-ink:var(--ink);--ip-accent:#356448;--ip-on:#f7f4e9;--ip-wash:#dce5d4;--ip-line:#a8b8a2;--ip-muted:#46604d}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-pilot=field-and-fold][data-palette="1"]{--paper:#ede4eb;--ink:#583c56;--rust:#784567;--cloud:#c7b8cd;--warm:#f6f0f5;--line:#b7a2b6;--ip-accent:#784567;--ip-wash:#e0d0de;--ip-line:#b7a2b6;--ip-muted:#665064}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-pilot=field-and-fold][data-palette="2"]{--paper:#e0ecef;--ink:#2b4d5a;--rust:#386578;--cloud:#b3cdd4;--warm:#f1f5f5;--line:#9bb7be;--ip-accent:#386578;--ip-wash:#cddfe4;--ip-line:#9bb7be;--ip-muted:#405f69}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-pilot=field-and-fold][data-mode=dark]{--paper:#1d2b24;--ink:#e5efdf;--rust:#edb58c;--cloud:#66877e;--warm:#2c3c32;--line:#6b8671;--ip-accent:#bad5a8;--ip-on:#203021;--ip-wash:#2b3b30;--ip-line:#6b8671;--ip-muted:#c4d3bd}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-pilot=field-and-fold][data-palette="1"][data-mode=dark]{--paper:#2c2330;--ink:#f0e2ed;--warm:#3e3040;--line:#8f718e;--ip-wash:#3c2d40;--ip-accent:#ddb5d3;--ip-on:#332136;--ip-muted:#d9c7d8}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-pilot=field-and-fold][data-palette="2"][data-mode=dark]{--paper:#1e2c34;--ink:#e2eef3;--warm:#2a3b45;--line:#718995;--ip-wash:#2a3b45;--ip-accent:#b2d7e2;--ip-on:#1f3038;--ip-muted:#c5d9e0}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-pilot=slipstream]{--display:"Barlow Condensed",sans-serif;--body:"Barlow",sans-serif;--ip-paper:#f2f1e9;--ip-ink:#111b20;--ip-wash:#e2e5db;--ip-accent:#344c14;--ip-on:#f6f9e9;--ip-line:#a1aca1;--ip-muted:#47574b}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-pilot=slipstream][data-palette="1"]{--lime:#9cccd5;--blue:#497380;--ip-paper:#e5edf1;--ip-ink:#203b49;--ip-wash:#d3e0e6;--ip-accent:#2f6176;--ip-on:#fff;--ip-muted:#425d6a}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-pilot=slipstream][data-palette="2"]{--lime:#e1b18d;--blue:#8d6857;--ip-paper:#f2e7dc;--ip-ink:#4f3528;--ip-wash:#e7d5c3;--ip-accent:#7d472e;--ip-on:#fff8ef;--ip-muted:#6b5241}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-pilot=slipstream][data-mode=dark]{--ip-paper:#111b20;--ip-ink:#f2f1e9;--ip-wash:#233039;--ip-accent:var(--lime);--ip-on:#152016;--ip-line:#697b81;--ip-muted:#c4d1cd}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-pilot=the-second-set-signal]{--display:"Space Grotesk",sans-serif;--body:"IBM Plex Sans",sans-serif;--ip-paper:#f4efe1;--ip-ink:#111820;--ip-wash:#e5dfcf;--ip-accent:#234bcc;--ip-on:#fff;--ip-line:#a6a99f;--ip-muted:#475059}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-pilot=the-second-set-signal][data-palette="1"]{--blue:#684078;--orange:#eb9c98;--ip-paper:#f1e7ef;--ip-ink:#37203d;--ip-wash:#e5d6e4;--ip-accent:#684078;--ip-muted:#644f68}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-pilot=the-second-set-signal][data-palette="2"]{--blue:#246769;--orange:#e9bb69;--ip-paper:#e7efe8;--ip-ink:#173d3c;--ip-wash:#d4e1d7;--ip-accent:#246769;--ip-muted:#45605a}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-pilot=the-second-set-signal][data-mode=dark]{--ip-paper:#111820;--ip-ink:#f4efe1;--ip-wash:#242e38;--ip-accent:#c4d0ff;--ip-on:#172443;--ip-line:#74818a;--ip-muted:#c4cdd3}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-pilot=the-second-set-signal][data-palette="1"][data-mode=dark]{--ip-paper:#291c30;--ip-ink:#f5e8f2;--ip-wash:#3b2a44;--ip-accent:#ddbae7;--ip-on:#34223e;--ip-muted:#d9c6df}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-pilot=the-second-set-signal][data-palette="2"][data-mode=dark]{--ip-paper:#172e30;--ip-ink:#eaf2e7;--ip-wash:#294143;--ip-accent:#b8d8ca;--ip-on:#203c32;--ip-muted:#c6ded3}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-pilot=slipstream][data-site],[data-gp-theme="kiln-house"][data-gp-premium="true"][data-pilot=the-second-set-signal][data-site]{background:var(--ip-paper);color:var(--ip-ink)}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-pilot=slipstream] .mega-menu,[data-gp-theme="kiln-house"][data-gp-premium="true"][data-pilot=the-second-set-signal] .mega-menu{background:var(--ip-paper);color:var(--ip-ink);border-color:var(--ip-line)!important}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-pilot=the-second-set-signal] .menu-grid :is(h3,p){color:var(--ip-muted)}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-pilot=slipstream][data-mode=light] :is(.desk-button,.stock-finder select,.reset-button){background:var(--ip-paper);color:var(--ip-ink);border-color:var(--ip-line)}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-pilot=the-second-set-signal][data-mode=light] :is(.window-note,.listening){color:#f4efe1}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-pilot=the-second-set-signal][data-mode=light] .catalogue-tools :is(button,[role="button"]){color:var(--ip-ink);border-color:var(--ip-line)}

/* Preview chrome and accessibility only. Theme authors own the visual worlds. */
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-premium]{color-scheme:light;background:var(--paper);color:var(--ink);accent-color:var(--accent);scrollbar-color:var(--accent) var(--wash)}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-premium][data-mode=dark]{color-scheme:dark}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-premium] ::selection{background:var(--accent);color:var(--on-accent)}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-premium] :is(input,textarea){caret-color:var(--accent)}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-premium] :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--accent);outline-offset:4px}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-premium] :is(input,select,textarea){max-width:100%}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-premium] :is(input,textarea)::placeholder{color:var(--muted);opacity:1}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-premium] .preview-bar{display:flex;flex-wrap:wrap;justify-content:flex-start;background:#f5f5f0;color:#242d2c;border-color:#cbd0c8;gap:8px 14px;position:relative;font:13px/1.3 "Figtree",sans-serif;min-height:52px;padding:6px 3vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-premium] .preview-bar{padding:6px 3cqw}}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-premium] .preview-bar>a{font-weight:600;min-height:40px;display:flex;align-items:center}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-premium] .preview-bar [role=group]{margin-left:auto;display:flex;gap:2px}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-premium] .preview-bar :is(button,select){font:13px/1.3 "Figtree",sans-serif;min-height:40px;max-width:100%;border-radius:3px}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-premium] .preview-bar select{background:#fff;color:#242d2c;border:1px solid #a2ada4;padding:7px 24px 7px 9px}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-premium] .preview-bar [aria-pressed=true]{background:#242d2c;color:#fff}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-premium] .preview-bar .preview-label{font:12px/1.3 "Figtree",sans-serif;color:#48554f}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-premium] .preview-bar :focus-visible{outline-color:#254fbb}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-premium] .preview-bar [data-replay-intro]{font-size:12px;margin:0}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-premium] .preview-bar [data-replay-intro]::after{content:none}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-premium] .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-premium] .premium-action{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 22px;background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);text-decoration:none;font-weight:600;transition:transform 150ms var(--ease-out),background-color 150ms var(--ease-out)}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-premium] .premium-action:active{transform:translateY(1px)}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-premium] .premium-action:disabled{opacity:.6;cursor:not-allowed}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-premium] :is(h1,h2,h3){text-wrap:balance}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-premium] p{text-wrap:pretty}
/* Put down the opaque menu surface immediately, then introduce its content. */
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-premium] .mega-menu[open]:not([data-closing]){animation:none}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-premium] .mega-menu[open]:not([data-closing])>:not(:first-child){animation:gp-kilnpremium-premium-menu-content 160ms var(--ease-out)}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-premium] .mega-menu[data-keyboard]>:not(:first-child){animation:none!important}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-premium][data-input=keyboard] :is(button,[role="button"]):active{transform:none}
@keyframes gp-kilnpremium-premium-menu-content{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:650px){
 [data-gp-theme="kiln-house"][data-gp-premium="true"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="kiln-house"][data-gp-premium="true"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="kiln-house"][data-gp-premium="true"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="kiln-house"][data-gp-premium="true"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="kiln-house"][data-gp-premium="true"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="kiln-house"][data-gp-premium="true"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="kiln-house"][data-gp-premium="true"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="kiln-house"][data-gp-premium="true"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@containerfs-editor-canvas (max-width: 650px){
 [data-gp-theme="kiln-house"][data-gp-premium="true"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="kiln-house"][data-gp-premium="true"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="kiln-house"][data-gp-premium="true"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="kiln-house"][data-gp-premium="true"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="kiln-house"][data-gp-premium="true"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="kiln-house"][data-gp-premium="true"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="kiln-house"][data-gp-premium="true"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="kiln-house"][data-gp-premium="true"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@media(prefers-reduced-motion:reduce){[data-gp-theme="kiln-house"][data-gp-premium="true"][data-premium] .premium-action{transition:none;transform:none}}

/* Website page primitives and actual layout modes. Authored theme CSS owns identity. */
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-framed=true] .preview-bar,[data-gp-theme="kiln-house"][data-gp-premium="true"][data-framed=true] .site-open-preview{display:none!important}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-site]{--ip-paper:var(--paper,#f4f2eb);--ip-ink:var(--ink,#192f2c);--ip-wash:var(--wash,var(--paper,#e6e9df));--ip-accent:var(--accent,var(--rust,#315b50));--ip-on:var(--on-accent,var(--paper,#fff));--ip-muted:var(--muted,var(--ink,#45534d));--ip-line:var(--line,var(--rule,#a1aca5))}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside]{background:var(--ip-paper);color:var(--ip-ink);font:18px/1.65 var(--body,"Figtree",sans-serif)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .inside-page :is(h1,h2,h3){font-family:var(--display,inherit);color:inherit;letter-spacing:-.035em;line-height:1.1;font-weight:500;max-width:22ch}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .inside-page h1{font-size:clamp(42px,5.3vw,80px);margin:0 0 26px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="kiln-house"][data-gp-premium="true"] .inside-page h1{font-size:clamp(42px,5.3cqw,80px)}}[data-gp-theme="kiln-house"][data-gp-premium="true"] .inside-page h2{font-size:clamp(30px,3vw,49px);margin:0 0 24px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="kiln-house"][data-gp-premium="true"] .inside-page h2{font-size:clamp(30px,3cqw,49px)}}[data-gp-theme="kiln-house"][data-gp-premium="true"] .inside-page h3{font-size:25px;margin:0 0 15px}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .inside-page :is(p,li){max-width:72ch}[data-gp-theme="kiln-house"][data-gp-premium="true"] .inside-page p{margin:0 0 20px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .inside-page a{color:inherit}[data-gp-theme="kiln-house"][data-gp-premium="true"] .inside-page img{max-width:100%;width:100%;height:100%;object-fit:cover}[data-gp-theme="kiln-house"][data-gp-premium="true"] .inside-page figure{margin:0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .inside-page :is(button,[role="button"]){color:inherit}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-hero,[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-section{width:min(1320px,calc(100% - 96px));margin-inline:auto;padding-block:70px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:65px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-opening{min-width:0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-hero:has(>.ip-opening:only-child){grid-template-columns:1fr}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-art{height:430px;position:relative}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-art img{object-fit:cover}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-art figcaption,[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-caption{font-size:14px;line-height:1.5;color:var(--ip-muted);padding-top:10px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-section>.ip-caption{margin-bottom:20px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-card{min-width:0;border-top:1px solid var(--ip-line);padding:25px 0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-card figure{height:230px;margin-bottom:25px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-reading{width:min(76ch,calc(100% - 48px));margin-inline:auto;padding-block:55px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-reading h2{margin-top:40px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-ledger{margin:24px 0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-ledger>div{display:grid;grid-template-columns:1fr 1.4fr;gap:20px;border-top:1px solid var(--ip-line);padding:15px 0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-ledger dt{font-weight:600}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-ledger dd{margin:0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border:1px solid var(--ip-accent);background:var(--ip-accent);color:var(--ip-on)!important;text-decoration:none;font-size:16px;transition:transform 150ms var(--ease-out)}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-action.secondary{background:transparent;color:var(--ip-ink)!important;border-color:var(--ip-line)}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-band{padding:55px max(24px,calc((100% - 1320px)/2));background:var(--ip-wash);color:var(--ip-ink)}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-band p{max-width:65ch}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-note{font-size:15px;border-left:3px solid var(--ip-accent);padding:12px 18px;background:var(--ip-wash);color:var(--ip-ink);margin-block:20px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-form{display:grid;gap:22px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-form label{display:grid;gap:8px;font-size:16px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-form :is(input,textarea,select){width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid var(--ip-line);background:var(--ip-paper);color:var(--ip-ink);font:inherit;border-radius:0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-form :is(input,textarea)::placeholder{color:var(--ip-muted);opacity:1}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-form :is(button,[role="button"]){justify-self:start}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-form textarea{min-height:135px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .inside-page output[data-draft-output]{display:block;white-space:pre-wrap;padding:25px;background:var(--ip-wash);color:var(--ip-ink);border:1px solid var(--ip-line);overflow-wrap:anywhere}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-checks{display:grid;gap:12px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-checks label{display:flex;align-items:start;gap:14px;border-top:1px solid var(--ip-line);padding:16px 0;min-height:52px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-checks input{width:22px;height:22px;min-height:22px;flex-shrink:0;margin-top:4px;accent-color:var(--ip-accent)}[data-gp-theme="kiln-house"][data-gp-premium="true"] .inside-page details{border-top:1px solid var(--ip-line);padding:18px 0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .inside-page summary{min-height:44px;font-size:21px;cursor:pointer}[data-gp-theme="kiln-house"][data-gp-premium="true"] .inside-page details p{padding:16px 0 0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .inside-page [data-filter-group]>[role=group]{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}[data-gp-theme="kiln-house"][data-gp-premium="true"] .inside-page [data-filter]{padding:10px 18px;min-height:44px;background:transparent;color:var(--ip-ink);border:1px solid var(--ip-line)}[data-gp-theme="kiln-house"][data-gp-premium="true"] .inside-page [data-filter][aria-pressed=true]{background:var(--ip-accent);color:var(--ip-on)}[data-gp-theme="kiln-house"][data-gp-premium="true"] .site-directory{padding:30px!important;background:var(--ip-paper)!important;color:var(--ip-ink)!important;border-top:1px solid var(--ip-line)}[data-gp-theme="kiln-house"][data-gp-premium="true"] .site-directory h3{font:600 17px/1.4 var(--body,"Figtree",sans-serif);margin:0 0 16px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .site-directory>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 25px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .site-directory a{display:block;font:16px/1.5 var(--body,"Figtree",sans-serif)!important;min-height:44px;padding:10px 0!important;color:inherit!important;text-decoration:none}[data-gp-theme="kiln-house"][data-gp-premium="true"] .site-directory a[aria-current=page]{text-decoration:underline;font-weight:600!important}[data-gp-theme="kiln-house"][data-gp-premium="true"] .site-open-preview{display:block;padding:10px 20px;background:#eef0eb;color:#20322d;font:14px/1.4 "Figtree",sans-serif;text-align:center}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){width:100%;padding-inline:max(24px,4vw)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){padding-inline:max(24px,4cqw)}}
[data-gp-theme="kiln-house"][data-gp-premium="true"]:has([data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=boxed]){background:#a6afa9}[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=boxed]{width:min(1200px,calc(100% - 64px));margin-inline:auto;box-shadow:0 0 0 1px #0002,0 20px 70px #0002;min-height:100dvh;background:var(--ip-paper)}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=centered] :is(.ip-hero,.opening,.cake-opening,.gp-title,.book-opening,.poster-opening,.portal-opening,.destination-opening,.route-opening){text-align:center}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=centered] .ip-hero{grid-template-columns:1fr;max-width:1000px;justify-items:center}[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=centered] .ip-opening{display:grid;justify-items:center}[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=centered] .ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=centered] .ip-art{width:min(760px,100%)}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=minimalist] :is(.ip-section,.ip-hero){padding-block:42px}[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=minimalist] :is(.ip-card,.ip-art,.ip-note){border-radius:0;box-shadow:none;background-image:none}[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5vw,64px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5cqw,64px)}}[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=minimalist] :is(.mullions,.glaze-rim,.cake-sticker,.paper-corner){opacity:0}[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=minimalist] :is(.ip-art img,.opening img){border-radius:0}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=edge-hero] .ip-hero{width:100%;padding-inline:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4vw)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4cqw)}}[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=edge-hero] .ip-art{height:600px}[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=edge-hero] .ip-art img{border-radius:0}[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=edge-hero] .ip-art figcaption{padding:8px 20px}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=full-width] .inside-page>.ip-opening{width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=full-width] .inside-page>.ip-opening{padding-inline:4cqw}}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=centered] .inside-page>.ip-opening{display:flex;flex-direction:column;align-items:center;text-align:center;width:min(1000px,calc(100% - 48px));gap:30px}[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=centered] .inside-page>.ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=centered] .inside-page>.ip-opening>figure{width:min(780px,100%)}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=minimalist] .inside-page>.ip-opening{padding-block:38px}[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=minimalist] .inside-page>.ip-opening :is(h1,figure){box-shadow:none;border-radius:0}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=edge-hero] .inside-page>.ip-opening{width:100%;max-width:none;padding:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4cqw}}[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:600px;max-width:none;align-self:stretch}[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=edge-hero] .inside-page>.ip-opening>figure img{height:100%;object-fit:cover;border-radius:0}
/* Existing home compositions gain real width/spacing modes without replacing their content. */
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){padding-inline:4cqw}}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child{text-align:center}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(h1,p){margin-inline:auto}[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(.opening-copy,.elevation-copy,.cake-copy,.hero-copy){text-align:center}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=minimalist]:not([data-inside]) .gp-source-main>section{padding-block:44px}[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=minimalist]:not([data-inside]) :is(.hero-sleeve,.calendar,.hello-note,.open-book){box-shadow:none}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child{width:100%;max-width:none;margin-inline:0;padding-inline:0;background:var(--ip-wash)}[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4cqw}}[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:600px}
@media(hover:hover) and (pointer:fine){[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-action:hover{transform:translateY(-2px)}[data-gp-theme="kiln-house"][data-gp-premium="true"] .site-directory a:hover{text-decoration:underline}}
@media(max-width:850px){[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-hero,[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-hero{gap:30px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-two{gap:30px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-art{height:340px}}
@containerfs-editor-canvas (max-width: 850px){[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-hero,[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-hero{gap:30px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-two{gap:30px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-art{height:340px}}
@media(max-width:600px){[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-hero,[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-hero,[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-two,[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-grid,[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-art{height:300px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="kiln-house"][data-gp-premium="true"] .site-directory{padding:22px!important}[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-hero,[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-hero,[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-two,[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-grid,[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-art{height:300px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="kiln-house"][data-gp-premium="true"] .site-directory{padding:22px!important}[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@media(max-width:600px){[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .inside-page a[aria-disabled=true]{cursor:default;text-decoration:none}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-layout=edge-hero] .inside-page .ip-hero .ip-art{transform:none}
@media(prefers-reduced-motion:reduce){[data-gp-theme="kiln-house"][data-gp-premium="true"] .ip-action{transition:none;transform:none!important}}
/* Task actions always use an explicit contrasting pair, including themed form overrides. */
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-site] .inside-page :is(.ip-form :is(button,[role="button"]):is([type="submit"],[data-gp-button-type="submit"]),[data-save-draft],.ip-action:not(.secondary)){
 background:var(--ip-ink)!important;color:var(--ip-paper)!important;border:1px solid var(--ip-ink)!important;
 min-height:48px;padding:12px 22px;font-size:16px;line-height:1.4;
}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-site] .inside-page .ip-action.secondary{background:transparent!important;color:var(--ip-ink)!important;border-color:var(--ip-line)!important}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-site] .inside-page .ip-form :is(select,select option){background-color:var(--ip-paper);color:var(--ip-ink)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] .site-plan-label{display:block;font:400 14px/1.45 var(--body,sans-serif);margin-top:6px;text-decoration:none;opacity:1}
[data-gp-theme="kiln-house"][data-gp-premium="true"] a[data-preview-plan]{cursor:pointer}[data-gp-theme="kiln-house"][data-gp-premium="true"] .inside-page a[data-preview-plan]{text-decoration:none}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-site] .site-directory a[data-preview-plan]{display:flex;flex-direction:column;align-items:flex-start;gap:2px}[data-gp-theme="kiln-house"][data-gp-premium="true"] .site-directory .site-plan-label{font-size:13px;margin:0}


[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-opening{padding-block:clamp(48px,7vw,112px)}


@container fs-editor-canvas (min-width: 0px){


[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-opening{padding-block:clamp(48px,7cqw,112px)}}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-opening h1{max-width:15ch}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-reading p{margin-top:22px}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-section>h2{margin-bottom:28px;max-width:24ch}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-section p+p{margin-top:18px}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-steps{list-style:none;padding:0;counter-reset:ip-step}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-steps li{counter-increment:ip-step;position:relative;padding:28px 0 28px 76px;border-top:1px solid var(--line,var(--rule,currentColor));max-width:85ch}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-steps li:before{content:counter(ip-step,decimal-leading-zero);position:absolute;left:0;top:30px;font:inherit;color:var(--accent,var(--rust,currentColor))}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-steps p{margin-top:12px}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-collection{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px;margin-top:30px}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-collection h2{font-size:clamp(30px,3vw,46px);margin-top:20px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-collection h2{font-size:clamp(30px,3cqw,46px)}}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-collection p,[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-card p{margin-block:16px}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-art{overflow:hidden}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-art img{width:100%;height:100%;object-fit:cover;display:block}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-art figcaption{font:14px/1.5 var(--body,Figtree,sans-serif);padding:12px 0}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-collection .ip-art{height:260px}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-band p{margin-block:20px}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-questions details{padding:24px 0;border-top:1px solid var(--line,var(--rule,currentColor));max-width:80ch}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-questions summary{cursor:pointer;font-size:1.18em;font-weight:600}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-questions p{margin-top:18px}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-choices{display:flex;flex-wrap:wrap;gap:10px;margin-block:22px}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-choices :is(button,[role="button"]){border:1px solid var(--line,var(--rule,currentColor));background:var(--wash,var(--paper));color:var(--ink);padding:12px 18px;min-height:44px;font:inherit;cursor:pointer}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-choices :is(button,[role="button"])[aria-pressed=true]{background:var(--ink);color:var(--paper)}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:30px;max-width:960px}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-form label{display:grid;gap:9px;align-content:start}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-form label:has(textarea),[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-form>.ip-note{grid-column:1/-1}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-form input,[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-form select,[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-form textarea{width:100%;max-width:100%;border:1px solid var(--line,var(--rule,currentColor));background:var(--paper);color:var(--ink);padding:12px;font:inherit;border-radius:0}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] [data-draft-output]{display:block;white-space:pre-wrap;padding:24px;border:1px solid var(--line,var(--rule,currentColor));margin-block:24px;max-width:960px;overflow-wrap:anywhere}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] [hidden]{display:none!important}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-checks{display:grid;gap:14px;max-width:850px;margin-block:22px}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-checks label{display:flex;align-items:flex-start;gap:15px;padding:14px;border-bottom:1px solid var(--line,var(--rule,currentColor));cursor:pointer}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-checks input{flex:none;margin-top:6px;accent-color:var(--accent,var(--rust));width:20px;height:20px}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-ledger>div{padding:19px 0;border-bottom:1px solid var(--line,var(--rule,currentColor));display:grid;grid-template-columns:180px 1fr;gap:24px}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-ledger dt{font-weight:600}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-ledger dd{margin:0;max-width:66ch}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-caption{font-size:14px;color:var(--muted,var(--ink))}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-note{font-size:15px}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] :is(button,a,summary,input,textarea,select):focus-visible{outline:3px solid var(--accent,var(--rust,currentColor));outline-offset:4px}
@media(max-width:700px){[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-collection,[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-form{grid-template-columns:1fr}[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-ledger>div{grid-template-columns:1fr;gap:7px}[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-steps li{padding-left:48px}[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-collection .ip-art{height:250px}}
@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-collection,[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-form{grid-template-columns:1fr}[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-ledger>div{grid-template-columns:1fr;gap:7px}[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-steps li{padding-left:48px}[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-collection .ip-art{height:250px}}
@media(prefers-reduced-motion:no-preference){[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-choices :is(button,[role="button"]),[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-action{transition:transform 150ms ease,opacity 150ms ease}[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-choices :is(button,[role="button"]):active,[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-action:active{transform:translateY(2px)}}


[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside][data-pilot="kiln-house"]{--display:Fraunces,serif;--body:Figtree,sans-serif;--accent:var(--rust);--wash:var(--clay);--line:var(--rule)}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-glaze{position:relative;min-height:260px;padding:24px;display:flex;align-items:center;justify-content:center}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-glaze svg{width:75%;height:250px;color:var(--glaze);fill:currentColor;filter:drop-shadow(5px 9px 2px #0002)}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-glaze span:not(.fs-richtext){position:absolute;bottom:14px;left:22px;font:500 24px Fraunces,serif;background:var(--paper);padding:7px 13px;transform:rotate(-3deg)}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-collection .ip-card{border:0!important;background:transparent!important}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-collection .ip-card:nth-child(even) .ip-glaze{transform:rotate(3deg)}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-glaze-record{border-top:1px solid var(--rule)}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-glaze-record .ip-two{align-items:center}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-workbook{border-top:2px dashed var(--rule);padding-top:50px;background:var(--paper)}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-workbook>div{padding-bottom:20px}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-opening h1{font-size:clamp(48px,6vw,86px)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-opening h1{font-size:clamp(48px,6cqw,86px)}}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-section h2{font-size:clamp(36px,4vw,58px)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-section h2{font-size:clamp(36px,4cqw,58px)}}


[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-art{display:grid;grid-template-rows:minmax(0,1fr) auto}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside] .ip-art img{min-height:0}

/* Owner selected alternative on 18 October 2026. Main heading roles only. */
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-gp-kind="section"] h1{font-family:"Fraunces", serif!important;font-weight:600!important;letter-spacing:-0.01em!important;line-height:1.1!important;font-variation-settings:"SOFT" 25, "WONK" 0!important;font-optical-sizing:auto!important}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-gp-kind="section"] h2{font-family:"Figtree", sans-serif!important;font-weight:600!important;letter-spacing:-.01em!important;line-height:1.17!important;font-variation-settings:normal!important;font-optical-sizing:auto!important}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-gp-kind="section"] h3{font-family:"Figtree", sans-serif!important;font-weight:600!important;letter-spacing:0!important;line-height:1.25!important;font-variation-settings:normal!important}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-inside][data-gp-kind="section"] h1{font-family:"Fraunces", serif!important;line-height:1.14!important;letter-spacing:-.012em!important;font-weight:600!important;text-transform:none!important}
@media(max-width:650px){[data-gp-theme="kiln-house"][data-gp-premium="true"][data-gp-kind="section"] h1{line-height:1.1!important;letter-spacing:-0.01em!important}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="kiln-house"][data-gp-premium="true"][data-gp-kind="section"] h1{line-height:1.1!important;letter-spacing:-0.01em!important}}

/* Keep the rotated honey tile within fractional phone viewport bounds. */
@media(max-width:650px){[data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="kiln-house"] .counter-stage .sample-honey{translate:-1px 0}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="kiln-house"] .counter-stage .sample-honey{translate:-1px 0}}

/* Approved readability refinements, 18 October 2026.
   Only meaningful helpers, local groups and selected reading paragraphs.
   Owner-selected type families, display sizes and frozen comparisons stay authoritative. */

/* Kiln House: the brief promise and sample guidance are part of the task. */
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="kiln-house"] :is(.field-note,.form-note,.pairing-hint,.material-note,.light-note,.letter-note,.combination-copy small,.material-row small){font-size:14px;line-height:1.5}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="kiln-house"] .form-note{margin-top:16px}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="kiln-house"] :is(.quiet-button,.combination-action){font-size:15px;line-height:1.5}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="kiln-house"] .quiet-button{min-height:44px}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="kiln-house"] .directory-links a small{font-size:14px;line-height:1.5}

/* Small study labels explain a choice, rather than acting as an imprint. */
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="true-joint"] .ux-stage-bar :is(button,[role="button"]) small{font-size:14px;line-height:1.5}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="neighbourhood-edit"] .ux-plan-header{font-size:14px;line-height:1.5;gap:12px;flex-wrap:wrap}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="neighbourhood-edit"] .ux-room-title{margin-bottom:16px}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="neighbourhood-edit"] .ux-room-title h3{margin-bottom:0}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="neighbourhood-edit"] :is(.home-finder label,.home-finder output,.area-index small){font-size:14px;line-height:1.5}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="neighbourhood-edit"] .home-finder select{font-size:16px;min-height:44px}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="harbour"] .ux-folio .ux-document-row label{font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="daymark-window-care"] .dm-sheet-head{font-size:14px;line-height:1.5;flex-wrap:wrap}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="velum-window-care"] .ux-v-nav :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}

/* Existing small controls retain or gain the comfortable target height. */
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="stem-and-still"] .stem-slip :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:48px;gap:8px}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="cake-box"] .flavour-pick :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="cake-box"] .message-label small{font-size:14px;line-height:1.5}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="crm-recruitment-people"] .question-buttons{gap:10px}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="crm-recruitment-people"] .question-buttons :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:10px 12px}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="the-second-set-programme"] .pr-order-actions :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:8px 10px}

/* The format facts belong with the large ensemble names. */
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="the-second-set-afterglow"] .ag-format-ribbon span:not(.fs-richtext){font-size:14px;line-height:1.5;margin-top:8px}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="the-second-set-programme"] .opening-note{font-size:14px;line-height:1.5}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="the-second-set-signal"] .form-note{font-size:14px;line-height:1.5}

/* Slipstream: useful record, filter and brief text; preserve the scrollable comparison. */
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="slipstream"] :is(.featured-price small,.rail-note,.stock-finder label,.stock-caption,.inspection-note,.inspection-instruction,.form-note,[data-gp-id="stock-count"],[data-gp-id="form-question-count"]){font-size:14px;line-height:1.5}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="slipstream"] :is(.visit-form label,.form-pair label){font-size:15px;line-height:1.5}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="slipstream"] :is(.car-record summary,[data-gp-id="reset-stock"],[data-gp-id="clear-compare"],.quick-compare button){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="slipstream"] .stock-finder select{min-height:44px}

/* Narrow only sustained paragraphs, preserving plans, records, lists and tables. */
[data-gp-theme="kiln-house"][data-gp-premium="true"]:is([data-site="stem-and-still"],[data-site="kiln-house"],[data-site="true-joint"])[data-inside] .ip-reading>p{max-width:64ch}

@media(max-width:700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

@containerfs-editor-canvas (max-width: 700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="kiln-house"][data-gp-premium="true"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

/* No generic heading, body, section-spacing or panel-height reset.
   Goodpane's unused calendar CSS, Expedition's real stage envelope,
   Starlight's passage leading and Velum's display introduction need no blanket fix. */

/* A ceramic counter: three handled samples and an open envelope. */
[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu{inset:auto 0 0;width:min(1440px,100vw);max-width:none;max-height:94dvh;height:auto;margin:0 auto;padding:0;border:1px solid var(--rule);border-bottom:0;border-radius:48px 48px 0 0;background:var(--paper);color:var(--ink);overflow:auto;box-shadow:0 -15px 80px #0003}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu{width:min(1440px,100cqw)}}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu *{box-sizing:border-box;min-width:0}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .directory-top{padding:25px 42px 8px;display:flex;justify-content:space-between;align-items:start;gap:24px;border:0;background:var(--paper);color:var(--ink)}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-counter-brand{font:500 27px/1.2 Fraunces,serif;text-decoration:none;display:inline-flex;align-items:center;min-height:44px}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu h2{font:400 16px/1.4 Figtree,sans-serif;letter-spacing:0;margin:4px 0 0;text-align:left}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu [data-menu-close]{display:flex;gap:18px;align-items:center;min-height:44px;border:1px solid var(--rule);border-radius:30px;padding:8px 18px;color:inherit;background:transparent;font:400 15px/1.4 Figtree,sans-serif;white-space:nowrap}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu [data-menu-close] span:not(.fs-richtext){font-size:24px}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-counter{display:grid;grid-template-columns:3fr 1fr;gap:30px;padding:34px 42px 35px;background:linear-gradient(transparent 90%,color-mix(in srgb,var(--ink) 7%,transparent))}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-samples{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:end}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-tile{display:flex;flex-direction:column;justify-content:end;gap:9px;min-height:265px;text-decoration:none;padding:28px 22px;border:1px solid var(--rule);border-radius:14px 19px 12px 18px;box-shadow:4px 6px 0 color-mix(in srgb,var(--ink) 16%,transparent),inset 0 0 0 5px color-mix(in srgb,currentColor 9%,transparent);transition:transform 180ms ease-out;background:var(--clay);color:var(--ink)}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-tile>span:not(.fs-richtext):not([aria-hidden]){font:500 clamp(27px,3vw,44px)/1.1 Fraunces,serif;letter-spacing:-.04em}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-tile>span:not(.fs-richtext):not([aria-hidden]){font:500 clamp(27px,3cqw,44px)/1.1 Fraunces,serif}}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-tile small{font:400 14px/1.4 Figtree,sans-serif}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-oxide{background:var(--ink);color:var(--paper);transform:rotate(-2deg)}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-oxide svg{width:100%;height:120px;fill:none;stroke:currentColor;stroke-width:1.2;opacity:.6;margin-bottom:10px}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-pair{transform:rotate(1deg);min-height:290px}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-pair-mark{height:140px;display:flex;align-items:center;justify-content:center}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-pair-mark i{width:70px;height:90px;border:2px solid var(--ink);background:var(--paper);border-radius:3px;transform:rotate(-13deg)}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-pair-mark i+i{margin-left:-20px;transform:rotate(15deg);background:var(--ink)}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-room{transform:rotate(-1deg);background:var(--paper)}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-room-mark{display:block;width:100px;height:100px;border:2px solid var(--ink);border-radius:60px 60px 0 0;margin:0 auto 25px;background:repeating-linear-gradient(0deg,transparent 0 20px,var(--rule) 20px 21px)}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-envelope{align-self:end;border:1px solid var(--rule);background:var(--clay);padding:15px 20px 22px;border-radius:0 0 8px 8px}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-envelope>a{display:flex;flex-direction:column;gap:15px;text-decoration:none;font:400 15px/1.5 Figtree,sans-serif;color:inherit}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-envelope strong{font:500 28px/1.12 Fraunces,serif;letter-spacing:-.03em}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-envelope-fold{display:block;aspect-ratio:2.3;background:var(--paper);clip-path:polygon(0 0,100% 0,50% 100%);border-top:1px solid var(--rule);margin:-15px -20px 0}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-counter-edge{border-top:2px solid var(--ink);padding:23px 42px;display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:30px;background:var(--clay)}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-counter-edge h3{font:600 15px/1.4 Figtree,sans-serif;letter-spacing:0;margin:0 0 9px}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-counter-edge nav{display:flex;flex-wrap:wrap;gap:0 24px}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-counter-edge a{display:inline-flex;align-items:center;min-height:44px;font:400 16px/1.4 Figtree,sans-serif;color:inherit}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-studio-note>a{font-family:Fraunces,serif;font-size:23px}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-studio-note p{font:400 13px/1.5 Figtree,sans-serif;margin:5px 0 0}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu :is(a,button):focus-visible{outline:3px solid currentColor;outline-offset:6px}
@media(hover:hover){[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-tile:hover{transform:translateY(-5px)}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-envelope a:hover strong{text-decoration:underline;text-underline-offset:5px}}
[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu[open]{animation:none} @media(min-width:901px) and (prefers-reduced-motion:no-preference){[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu[open]>.kh-counter{animation:gp-kilnpremium-kh-counter-up 220ms cubic-bezier(.2,.8,.2,1)}@keyframes gp-kilnpremium-kh-counter-up{from{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}}
@media(max-width:900px){[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .directory-top h2{font-size:14px;max-width:20ch}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-counter-brand{font-size:25px}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu [data-menu-close]{font-size:13px;padding:8px 12px;gap:7px}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-counter{display:block;padding:25px 22px}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-samples{grid-template-columns:1fr;gap:22px}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-tile{min-height:130px;position:relative;padding:24px 125px 24px 22px;justify-content:center;transform:none!important}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-tile>span:not(.fs-richtext):not([aria-hidden]){font-size:32px}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-oxide svg,[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-pair-mark,[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-room-mark{position:absolute;right:20px;top:22px;width:78px;height:82px;margin:0}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-pair-mark i{width:40px;height:65px}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-envelope{margin-top:27px}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-envelope-fold{display:none}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-envelope>a{display:block;padding:6px 0}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-envelope strong{font-size:27px;display:block;margin-bottom:10px}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-envelope strong br{display:none}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-counter-edge{padding:22px;grid-template-columns:1fr;gap:18px}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-counter-edge section+section{border-top:1px solid var(--rule);padding-top:17px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .directory-top h2{font-size:14px;max-width:20ch}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-counter-brand{font-size:25px}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu [data-menu-close]{font-size:13px;padding:8px 12px;gap:7px}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-counter{display:block;padding:25px 22px}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-samples{grid-template-columns:1fr;gap:22px}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-tile{min-height:130px;position:relative;padding:24px 125px 24px 22px;justify-content:center;transform:none!important}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-tile>span:not(.fs-richtext):not([aria-hidden]){font-size:32px}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-oxide svg,[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-pair-mark,[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-room-mark{position:absolute;right:20px;top:22px;width:78px;height:82px;margin:0}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-pair-mark i{width:40px;height:65px}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-envelope{margin-top:27px}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-envelope-fold{display:none}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-envelope>a{display:block;padding:6px 0}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-envelope strong{font-size:27px;display:block;margin-bottom:10px}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-envelope strong br{display:none}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-counter-edge{padding:22px;grid-template-columns:1fr;gap:18px}[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu .kh-counter-edge section+section{border-top:1px solid var(--rule);padding-top:17px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu,[data-gp-theme="kiln-house"][data-gp-premium="true"] [data-gp-id="mega-menu"].kh-counter-menu *{animation:none!important;transition:none!important}}

[data-gp-theme="kiln-house"][data-gp-premium="true"]{--clay:rgb(var(--c-paper));--paper:rgb(var(--c-paper-soft));--rust:rgb(var(--c-brand-600));--blue:rgb(var(--c-accent));--rule:rgb(var(--c-line));--ip-wash:rgb(var(--c-paper-sunk));--ink:rgb(var(--c-ink-950));--accent:rgb(var(--c-brand-600));--wash:rgb(var(--c-paper-soft));--line:rgb(var(--c-line));--muted:rgb(var(--c-ink-400));--on-accent:var(--fs-on-brand);--focus:rgb(var(--c-accent));--work:var(--fs-surface-inverted,var(--wash));--work-ink:var(--fs-on-surface-inverted,var(--paper));--body:var(--font-sans);}
[data-gp-theme="field-and-fold"][data-gp-premium="true"]{--ease-out:cubic-bezier(.23,1,.32,1);--ease-drawer:cubic-bezier(.32,.72,0,1)}
[data-gp-theme="field-and-fold"][data-gp-premium="true"] *{box-sizing:border-box}[data-gp-theme="field-and-fold"][data-gp-premium="true"]{scroll-behavior:smooth;scroll-padding-top:100px}[data-gp-theme="field-and-fold"][data-gp-premium="true"]{margin:0}[data-gp-theme="field-and-fold"][data-gp-premium="true"] img{max-width:100%;display:block}[data-gp-theme="field-and-fold"][data-gp-premium="true"] :is(button,[role="button"]),[data-gp-theme="field-and-fold"][data-gp-premium="true"] input,[data-gp-theme="field-and-fold"][data-gp-premium="true"] select,[data-gp-theme="field-and-fold"][data-gp-premium="true"] textarea{font:inherit}[data-gp-theme="field-and-fold"][data-gp-premium="true"] :is(button,[role="button"]),[data-gp-theme="field-and-fold"][data-gp-premium="true"] a,[data-gp-theme="field-and-fold"][data-gp-premium="true"] input,[data-gp-theme="field-and-fold"][data-gp-premium="true"] select,[data-gp-theme="field-and-fold"][data-gp-premium="true"] textarea{touch-action:manipulation}[data-gp-theme="field-and-fold"][data-gp-premium="true"] :is(button,[role="button"]),[data-gp-theme="field-and-fold"][data-gp-premium="true"] a{ -webkit-tap-highlight-color:transparent}[data-gp-theme="field-and-fold"][data-gp-premium="true"] :is(button,[role="button"]){cursor:pointer}[data-gp-theme="field-and-fold"][data-gp-premium="true"] :is(button,[role="button"]):active{transform:translateY(1px)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] a{color:inherit;text-underline-offset:.22em}[data-gp-theme="field-and-fold"][data-gp-premium="true"] :is(button,[role="button"]):focus-visible,[data-gp-theme="field-and-fold"][data-gp-premium="true"] a:focus-visible,[data-gp-theme="field-and-fold"][data-gp-premium="true"] summary:focus-visible,[data-gp-theme="field-and-fold"][data-gp-premium="true"] input:focus-visible,[data-gp-theme="field-and-fold"][data-gp-premium="true"] select:focus-visible,[data-gp-theme="field-and-fold"][data-gp-premium="true"] textarea:focus-visible{outline:3px solid var(--focus,#346ddb);outline-offset:5px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] textarea{resize:vertical}[data-gp-theme="field-and-fold"][data-gp-premium="true"] input,[data-gp-theme="field-and-fold"][data-gp-premium="true"] textarea{caret-color:var(--focus,currentColor)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] :is(button,[role="button"]),[data-gp-theme="field-and-fold"][data-gp-premium="true"] select,[data-gp-theme="field-and-fold"][data-gp-premium="true"] input{min-height:44px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] summary{cursor:pointer}[data-gp-theme="field-and-fold"][data-gp-premium="true"] section[id],[data-gp-theme="field-and-fold"][data-gp-premium="true"] footer[id]{scroll-margin-top:110px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] [hidden]{display:none!important}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .skip-link{position:fixed;z-index:200;top:8px;left:8px;background:#fff;color:#111;padding:12px 18px;transform:translateY(-150%)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .skip-link:focus{transform:none}
[data-gp-theme="field-and-fold"][data-gp-premium="true"] .preview-bar{min-height:42px;background:#f6f6f2;color:#252a2a;border-bottom:1px solid #d5d8d4;font:13px/1.3 "Figtree",sans-serif;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 3vw;position:relative;z-index:30}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="field-and-fold"][data-gp-premium="true"] .preview-bar{padding:5px 3cqw}}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .preview-bar a{white-space:nowrap}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .preview-bar [role=group]{display:flex;gap:2px;align-items:center}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .preview-bar :is(button,[role="button"]){min-height:32px;background:transparent;color:inherit;border:0;padding:6px 10px;border-radius:3px;font-size:13px;transition:background-color 150ms var(--ease-out)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .preview-bar [aria-pressed=true]{background:#252a2a;color:#fff}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .preview-bar :is(button,[role="button"])[data-replay-intro]{border:1px solid #b6beb8}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .preview-label{color:#515953}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .preview-bar::selection{background:#252a2a;color:#fff}
[data-gp-theme="field-and-fold"][data-gp-premium="true"] dialog.mega-menu{max-width:none;max-height:calc(100dvh - 32px);overflow:auto;border:0;padding:0;color:inherit;overscroll-behavior:contain}[data-gp-theme="field-and-fold"][data-gp-premium="true"] dialog.mega-menu::backdrop{background:rgb(8 16 18 / .52)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .mega-menu[open]{animation:gp-fieldpremium-menu-arrive 220ms var(--ease-drawer)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .mega-menu[data-closing]{animation:gp-fieldpremium-menu-leave 160ms var(--ease-out) forwards}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .mega-menu[data-keyboard]{animation:none}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-lock{overflow:hidden}@keyframes gp-fieldpremium-menu-arrive{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}@keyframes gp-fieldpremium-menu-leave{to{opacity:0;transform:translateY(-10px)}}
[data-gp-theme="field-and-fold"][data-gp-premium="true"] .preloader{display:none;position:fixed;inset:0;z-index:190;place-content:center;pointer-events:none;text-align:center}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .preloader.is-active{display:grid;animation:gp-fieldpremium-intro-failsafe 1.3s step-end forwards}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .preloader.is-leaving{opacity:0;transition:opacity 180ms var(--ease-out)}@keyframes gp-fieldpremium-intro-failsafe{0%,99%{visibility:visible}100%{visibility:hidden}}
@media(max-width:650px){[data-gp-theme="field-and-fold"][data-gp-premium="true"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .preview-bar .preview-label{display:none}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="field-and-fold"][data-gp-premium="true"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .preview-bar .preview-label{display:none}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="field-and-fold"][data-gp-premium="true"]{scroll-behavior:auto}[data-gp-theme="field-and-fold"][data-gp-premium="true"] *,[data-gp-theme="field-and-fold"][data-gp-premium="true"] *::before,[data-gp-theme="field-and-fold"][data-gp-premium="true"] *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .preloader.is-active{display:none!important}}
@media(max-width:650px){[data-gp-theme="field-and-fold"][data-gp-premium="true"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .preview-bar a{font-size:12px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="field-and-fold"][data-gp-premium="true"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .preview-bar a{font-size:12px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}

[data-gp-theme="field-and-fold"][data-gp-premium="true"]{--paper:#e8eee3;--ink:#284d3a;--rust:#b15c38;--cloud:#adc4cf;--warm:#f7f4e9;--line:#a8b8a2;--body:"Atkinson Hyperlegible Next",sans-serif;--display:"Literata",serif;--ease:cubic-bezier(.16,1,.3,1)}
[data-gp-theme="field-and-fold"][data-gp-premium="true"] *{box-sizing:border-box}[data-gp-theme="field-and-fold"][data-gp-premium="true"]{scroll-behavior:smooth;scroll-padding-top:32px}[data-gp-theme="field-and-fold"][data-gp-premium="true"]{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:18px;line-height:1.5;caret-color:var(--rust)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] :is(button,[role="button"]),[data-gp-theme="field-and-fold"][data-gp-premium="true"] input,[data-gp-theme="field-and-fold"][data-gp-premium="true"] select,[data-gp-theme="field-and-fold"][data-gp-premium="true"] textarea{font:inherit}[data-gp-theme="field-and-fold"][data-gp-premium="true"] :is(button,[role="button"]),[data-gp-theme="field-and-fold"][data-gp-premium="true"] a,[data-gp-theme="field-and-fold"][data-gp-premium="true"] input,[data-gp-theme="field-and-fold"][data-gp-premium="true"] select,[data-gp-theme="field-and-fold"][data-gp-premium="true"] textarea{-webkit-tap-highlight-color:transparent}[data-gp-theme="field-and-fold"][data-gp-premium="true"] :is(button,[role="button"]),[data-gp-theme="field-and-fold"][data-gp-premium="true"] a{touch-action:manipulation}[data-gp-theme="field-and-fold"][data-gp-premium="true"] a{color:inherit;text-underline-offset:5px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] :is(button,[role="button"]){color:inherit;cursor:pointer}[data-gp-theme="field-and-fold"][data-gp-premium="true"] :is(button,[role="button"]):disabled{cursor:default;opacity:.55}[data-gp-theme="field-and-fold"][data-gp-premium="true"] :is(button,[role="button"]):active,[data-gp-theme="field-and-fold"][data-gp-premium="true"] .button:active{transform:translateY(2px)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] :focus-visible{outline:3px solid var(--rust);outline-offset:5px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] ::selection{background:var(--rust);color:var(--warm)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] ::-webkit-scrollbar{width:10px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] ::-webkit-scrollbar-track{background:var(--paper)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] ::-webkit-scrollbar-thumb{background:var(--ink);border:2px solid var(--paper)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] img,[data-gp-theme="field-and-fold"][data-gp-premium="true"] svg{display:block;max-width:100%}[data-gp-theme="field-and-fold"][data-gp-premium="true"] svg{stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}[data-gp-theme="field-and-fold"][data-gp-premium="true"] h1,[data-gp-theme="field-and-fold"][data-gp-premium="true"] h2,[data-gp-theme="field-and-fold"][data-gp-premium="true"] h3,[data-gp-theme="field-and-fold"][data-gp-premium="true"] p{margin:0}[data-gp-theme="field-and-fold"][data-gp-premium="true"] h1,[data-gp-theme="field-and-fold"][data-gp-premium="true"] h2,[data-gp-theme="field-and-fold"][data-gp-premium="true"] h3{font-family:var(--display);font-weight:450;line-height:1.13;letter-spacing:-.035em;text-wrap:balance}[data-gp-theme="field-and-fold"][data-gp-premium="true"] h2{font-size:clamp(38px,4.8vw,67px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="field-and-fold"][data-gp-premium="true"] h2{font-size:clamp(38px,4.8cqw,67px)}}[data-gp-theme="field-and-fold"][data-gp-premium="true"] h3{font-size:31px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] p{text-wrap:pretty}[data-gp-theme="field-and-fold"][data-gp-premium="true"] :is(button,[role="button"]){border-radius:0}[data-gp-theme="field-and-fold"][data-gp-premium="true"] :is(button,[role="button"]):focus-visible,[data-gp-theme="field-and-fold"][data-gp-premium="true"] input:focus-visible,[data-gp-theme="field-and-fold"][data-gp-premium="true"] textarea:focus-visible,[data-gp-theme="field-and-fold"][data-gp-premium="true"] select:focus-visible{outline-offset:3px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .skip-link{position:fixed;top:10px;left:10px;padding:12px 18px;background:var(--warm);z-index:100;transform:translateY(-150%)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .skip-link:focus{transform:translateY(0)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .site-header{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:21px 4.2%;min-height:100px;background:var(--paper);border-bottom:1px solid #284d3a30}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .brand{display:flex;align-items:center;gap:12px;flex-shrink:0;text-decoration:none;font:450 31px/1 var(--display);letter-spacing:-.045em}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .brand svg{width:41px;height:40px;stroke-width:1.4}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .brand i{font-weight:400}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .desktop-nav{display:flex;gap:27px;font-size:16px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .desktop-nav a{text-decoration:none;white-space:nowrap}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .header-actions{display:flex;align-items:center;gap:22px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .header-intro{font-size:16px;text-decoration:none}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .header-intro span:not(.fs-richtext){margin-left:12px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-button{display:flex;align-items:center;gap:17px;background:none;border:0;border-left:1px solid var(--line);padding:11px 0 11px 22px;font-size:16px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-button svg{width:25px;height:20px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .button{display:inline-flex;justify-content:space-between;align-items:center;gap:24px;min-height:52px;padding:14px 22px;text-decoration:none;font-weight:550;border:1px solid currentColor;transition:background .18s,color .18s,transform .18s}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .forest-button{background:var(--ink);color:var(--warm);border-color:var(--ink)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .button span:not(.fs-richtext){font-size:24px;line-height:1}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .text-link{display:inline-flex;align-items:center;gap:18px;min-height:44px;font-weight:550;text-decoration:underline;text-decoration-thickness:1px;background:none;border:0;padding:0;text-align:left}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .text-link span:not(.fs-richtext){font-size:22px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .outdoors{position:relative;height:760px;min-height:690px;max-height:920px;overflow:hidden;background:#cfd9c8}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 53%}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-sky{position:absolute;inset:0;background:linear-gradient(180deg,rgba(247,244,233,.12),transparent 68%),linear-gradient(90deg,transparent 43%,rgba(247,244,233,.65) 70%,rgba(247,244,233,.18));pointer-events:none}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-copy{position:relative;z-index:1;margin-left:54%;padding:62px 5% 0 0}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-copy h1{font-size:clamp(52px,6.5vw,91px);line-height:1.06;max-width:580px;font-weight:450}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-copy h1{font-size:clamp(52px,6.5cqw,91px)}}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-copy p{font-size:21px;margin:25px 0 27px;line-height:1.5;max-width:380px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-copy .button{font-size:17px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .scene-margin{position:absolute;left:4.3%;bottom:73px;display:flex;gap:18px;align-items:center;color:var(--warm);text-shadow:0 2px 12px #12211780}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .scene-margin span:not(.fs-richtext){font-size:15px;letter-spacing:.05em}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .scene-margin svg{height:45px;width:20px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-note{position:absolute;right:5.8%;bottom:62px;background:var(--warm);width:267px;padding:25px 26px 21px;transform:rotate(3deg);box-shadow:4px 12px 24px #1b332d2b;border:1px solid #284d3a22}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .note-pin{width:7px;height:7px;border-radius:50%;background:var(--rust);position:absolute;top:9px;left:calc(50% - 3px)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .note-label{font-size:13px;letter-spacing:.07em;text-transform:uppercase}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-note p{font:450 25px/1.35 var(--display);margin:11px 0 15px;letter-spacing:-.025em}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .note-rule{height:1px;background:#284d3a40;margin-bottom:12px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-note>span:not(.fs-richtext):last-child{font-size:14px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .scene-caption{position:absolute;bottom:16px;left:4.3%;font-size:12px;color:#fff9ec;text-shadow:0 1px 5px #172a20}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .guide-body{position:relative}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .section-wrap{width:min(1220px,88%);margin:auto}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .route-spine{position:absolute;left:max(2.7%,calc((100% - 1320px)/2));top:0;bottom:0;border-left:1px dashed var(--rust);opacity:.6}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .spine-start{position:absolute;left:-4px;top:0;width:7px;height:7px;background:var(--rust);border-radius:50%}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .route-stop{position:relative}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .route-stop::before{position:absolute;left:calc((100% - 100vw)/2 + max(2.7vw,calc((100vw - 1320px)/2)) - 4px);top:116px;content:"";width:9px;height:9px;border:2px solid var(--rust);background:var(--paper);border-radius:50%}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="field-and-fold"][data-gp-premium="true"] .route-stop::before{left:calc((100% - 100cqw)/2 + max(2.7cqw,calc((100cqw - 1320px)/2)) - 4px)}}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-section{padding:104px 0 113px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .section-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:60px;margin-bottom:55px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .section-heading p{max-width:440px;padding-bottom:4px;font-size:20px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-directory{display:grid;grid-template-columns:.95fr 1.05fr;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-options{display:grid;grid-template-columns:1fr 1fr;border-right:1px solid var(--ink)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-option{display:flex;flex-direction:column;align-items:flex-start;text-align:left;border:0;background:transparent;padding:37px 28px 24px;position:relative;min-height:353px;transition:background .2s,color .2s}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-option:first-child{border-right:1px solid var(--line)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-option svg{height:48px;width:46px;stroke-width:1.5;margin-bottom:36px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-option>span:not(.fs-richtext):not(.option-arrow){font:450 26px/1.25 var(--display);letter-spacing:-.03em}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-option small{font-size:16px;line-height:1.4;margin-top:19px;max-width:150px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-option .option-arrow{position:absolute;right:20px;bottom:20px;font-size:27px;transition:transform .2s}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-option.is-active{background:var(--ink);color:var(--warm)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-option.is-active .option-arrow{transform:rotate(45deg)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-detail{padding:31px 38px 36px;position:relative;background:#eff2e9;transition:opacity .15s}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-detail.is-changing{opacity:.3}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .detail-tab{display:inline-block;color:var(--warm);background:var(--rust);font-size:14px;padding:4px 10px;margin-bottom:20px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-detail h3{font-size:31px;margin-bottom:18px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-detail>p{font-size:17px;max-width:460px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-detail dl{margin:25px 0 20px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-detail dl>div{display:grid;grid-template-columns:134px 1fr;gap:15px;padding:12px 0;border-top:1px solid var(--line);font-size:16px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-detail dt{font-weight:600}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-detail dd{margin:0}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-detail .text-link{font-size:17px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-section{background:var(--cloud);padding:85px 0 70px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-section::before,[data-gp-theme="field-and-fold"][data-gp-premium="true"] .intro-section::before{left:calc(max(2.7vw,calc((100vw - 1320px)/2)) - 4px);background:var(--cloud)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-section::before,[data-gp-theme="field-and-fold"][data-gp-premium="true"] .intro-section::before{left:calc(max(2.7cqw,calc((100cqw - 1320px)/2)) - 4px)}}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-heading{display:flex;justify-content:space-between;align-items:end;gap:45px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-heading p{font-size:19px;max-width:440px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-field{position:relative;margin-top:50px;padding:36px 0 66px;min-height:390px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-route{position:absolute;inset:14px 0 0;width:100%;height:320px;stroke-width:1.5}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .route-under{stroke:#e8eee370;stroke-width:18}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .route-line{stroke:var(--ink);stroke-dasharray:6 9}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .route-dot circle:first-child{fill:var(--cloud);stroke:var(--ink);stroke-width:1.5}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .route-dot circle:last-child{fill:var(--ink);stroke:none}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .route-dot{transition:color .2s}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-field[data-active="pace"] .route-dot-one circle:first-child,[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-field:not([data-active]) .route-dot-one circle:first-child,[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-field[data-active="route"] .route-dot-two circle:first-child,[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-field[data-active="settle"] .route-dot-three circle:first-child{fill:var(--rust);stroke:var(--rust)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-field[data-active="pace"] .route-dot-one circle:last-child,[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-field:not([data-active]) .route-dot-one circle:last-child,[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-field[data-active="route"] .route-dot-two circle:last-child,[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-field[data-active="settle"] .route-dot-three circle:last-child{fill:var(--warm)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-stops{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:90px;padding:0 2.8%}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-stop{background:var(--cloud);border:0;text-align:left;padding:8px 15px 14px;position:relative;min-width:0;max-width:270px;align-self:start;transition:background .2s,transform .2s}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-stop:nth-child(1){margin-top:96px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-stop:nth-child(2){margin-top:0}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-stop:nth-child(3){margin-top:164px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .stop-time{display:block;font-size:14px;margin-bottom:12px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-stop strong{display:block;font:450 33px/1.15 var(--display);letter-spacing:-.035em}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-stop>span:not(.fs-richtext):not(.stop-time){display:block;font-size:17px;margin-top:15px;line-height:1.35}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-stop i{display:block;font-size:14px;font-style:normal;margin-top:19px;text-decoration:underline;text-underline-offset:4px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-stop.is-active{background:var(--warm);box-shadow:2px 7px 17px #284d3a16;transform:rotate(-2deg)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-stop.is-active i{color:#914422}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-note{display:flex;align-items:center;gap:23px;margin-top:15px;padding-top:28px;border-top:1px solid #284d3a60}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-note>svg{width:50px;height:50px;flex:none;stroke-width:1.3}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-note>div{max-width:690px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-note>div>span:not(.fs-richtext){font-size:14px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-note p{font-size:19px;margin-top:5px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-note .text-link{margin-left:auto;white-space:nowrap;font-size:16px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .meet-section{display:grid;grid-template-columns:1fr .95fr;gap:10%;padding:110px 0}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .meet-copy{padding-top:25px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .meet-copy h2{margin-bottom:28px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .meet-copy>p{max-width:420px;margin-bottom:17px;font-size:19px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .meet-copy .text-link{margin-top:17px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .meeting-sheet{background:var(--warm);padding:35px 42px 24px;box-shadow:4px 12px 30px #284d3a12;transform:rotate(1.5deg);position:relative;border-top:1px solid #d6dacb}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .meeting-sheet::before{content:"";position:absolute;width:105px;height:24px;background:#cbd5bd95;top:-11px;left:calc(50% - 52px);transform:rotate(-4deg)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .sheet-top{display:flex;align-items:center;justify-content:space-between;font-size:14px;margin-bottom:25px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .sheet-top svg{width:29px;height:29px;stroke-width:1.3}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .meeting-sheet h3{font-size:37px;margin-bottom:27px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .meeting-sheet ul{list-style:none;padding:0;margin:0}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .meeting-sheet li{padding:16px 0;border-top:1px solid var(--line)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .meeting-sheet li>span:not(.fs-richtext){font-size:17px;font-weight:600}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .meeting-sheet li p{font-size:17px;margin-top:5px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .sheet-foot{border-top:1px solid var(--line);padding-top:19px;font-size:14px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .intro-section{background:#dbe3d3;padding:92px 0}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .intro-section::before{background:#dbe3d3}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .intro-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:9%}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .intro-copy h2{font-size:clamp(40px,4.8vw,64px);margin-bottom:25px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="field-and-fold"][data-gp-premium="true"] .intro-copy h2{font-size:clamp(40px,4.8cqw,64px)}}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .intro-copy>p{font-size:19px;max-width:380px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .fold-note{display:flex;align-items:center;gap:20px;margin:50px 0 40px;transform:rotate(-3deg)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .fold-note svg{width:95px;height:70px;stroke-width:1.2}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .fold-note p{font:450 24px/1.3 var(--display);letter-spacing:-.03em}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .intro-copy .local-note{font-size:15px;max-width:320px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .intro-form-wrap{border-top:1px solid var(--ink);padding-top:27px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] label{display:block;font-size:17px;margin-bottom:25px;font-weight:550}[data-gp-theme="field-and-fold"][data-gp-premium="true"] input,[data-gp-theme="field-and-fold"][data-gp-premium="true"] select,[data-gp-theme="field-and-fold"][data-gp-premium="true"] textarea{display:block;width:100%;border:0;border-bottom:1px solid #607c63;background:#edf0e6;padding:13px 12px;color:var(--ink);min-height:50px;margin-top:10px;border-radius:0;font-size:17px;font-weight:400;box-shadow:none}[data-gp-theme="field-and-fold"][data-gp-premium="true"] input::placeholder,[data-gp-theme="field-and-fold"][data-gp-premium="true"] textarea::placeholder{color:#4c6652;opacity:1}[data-gp-theme="field-and-fold"][data-gp-premium="true"] textarea{resize:vertical;line-height:1.5;min-height:142px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] select{padding-right:30px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] input:user-invalid{border-bottom-color:var(--rust)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .selected-detail{display:grid;grid-template-columns:1fr auto;border-top:1px solid var(--line);padding-top:16px;margin-top:1px;margin-bottom:27px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .selected-detail>span:not(.fs-richtext){font-size:13px;grid-column:1/-1;margin-bottom:5px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .selected-detail p{font-size:17px;font-weight:550}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .selected-detail :is(button,[role="button"]){border:0;border-bottom:1px solid var(--ink);padding:0;background:none;font-size:14px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .selected-detail.is-empty p{font-weight:400}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .form-submit{width:100%;font-size:17px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .form-help{font-size:14px;margin-top:14px;max-width:490px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .notes-result{margin-top:30px;padding:28px;background:var(--warm);border:1px solid var(--ink);position:relative}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .notes-result[hidden]{display:none}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .result-head{display:flex;justify-content:space-between;gap:20px;align-items:start}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .result-head h3{font-size:28px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .result-head span:not(.fs-richtext){font-size:29px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .notes-result>p[data-gp-id="result-summary"]{font-size:20px;margin-top:18px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .notes-result dl{margin:21px 0}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .notes-result dl>div{display:grid;grid-template-columns:125px 1fr;gap:18px;border-top:1px solid var(--line);padding:10px 0;font-size:17px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .notes-result dd{margin:0}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .notes-result dt{font-weight:550}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .result-body{font-size:17px;margin-top:14px;white-space:pre-wrap}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .result-actions{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);margin-top:25px;padding-top:14px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .result-actions .text-link{font-size:16px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .copy-status{font-size:14px;min-height:21px;margin-top:8px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .questions-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:9%;padding:100px 0 111px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .questions-section>div>p{margin-top:24px;font-size:19px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .questions-list{border-top:1px solid var(--ink)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] details{border-bottom:1px solid var(--line)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] summary{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:81px;cursor:pointer;list-style:none;font-size:20px;font-weight:500}[data-gp-theme="field-and-fold"][data-gp-premium="true"] summary::-webkit-details-marker{display:none}[data-gp-theme="field-and-fold"][data-gp-premium="true"] summary svg{width:22px;height:22px;flex:none;transition:transform .2s}[data-gp-theme="field-and-fold"][data-gp-premium="true"] details[open] summary svg{transform:rotate(45deg)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] details p{font-size:18px;max-width:550px;padding:0 30px 25px 0}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .homecoming{background:var(--ink);color:var(--paper);padding:71px 6% 105px;position:relative}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .footer-top{position:relative;max-width:1220px;margin:auto;text-align:center;padding:0 0 66px;border-bottom:1px solid #e8eee350}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .home-mark{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:27px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .home-mark svg{width:138px;height:110px;stroke-width:1.3}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .home-mark span:not(.fs-richtext){font-size:16px;align-self:end;padding-bottom:26px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .footer-route{stroke:var(--cloud);stroke-dasharray:4 7}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .footer-top h2{font-size:clamp(39px,5.1vw,71px);margin-bottom:34px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="field-and-fold"][data-gp-premium="true"] .footer-top h2{font-size:clamp(39px,5.1cqw,71px)}}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .light-button{color:var(--ink);background:var(--paper);border-color:var(--paper)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .footer-directory{display:grid;grid-template-columns:1.4fr 1fr 1fr .7fr;gap:45px;max-width:1220px;margin:48px auto 45px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .footer-brand{font-size:33px;align-self:start}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .footer-directory h3{font:550 16px/1.5 var(--body);letter-spacing:0;margin-bottom:18px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .footer-directory>div>a{display:block;font-size:17px;text-decoration:none;margin:7px 0;min-height:30px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .footer-directory>p{font:450 26px/1.35 var(--display);letter-spacing:-.03em}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:35px;max-width:1220px;margin:auto;border-top:1px solid #e8eee350;padding-top:20px;font-size:13px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .footer-bottom span:not(.fs-richtext):last-child{text-align:right;max-width:510px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .preview-bar{font-family:var(--body);font-size:12px;background:var(--warm);color:var(--ink)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .preview-bar :is(button,[role="button"]){font-size:12px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .preloader{background:var(--paper);color:var(--ink)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .intro-mark{display:flex;flex-direction:column;align-items:center}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .intro-mark svg{width:100px;height:75px;stroke-width:1.7;margin-bottom:20px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .intro-mark svg circle{fill:var(--rust);stroke:none}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .intro-mark>span:not(.fs-richtext){font:450 34px var(--display);letter-spacing:-.04em}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .intro-mark small{margin-top:11px;font-size:15px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .intro-route{stroke-dasharray:150;stroke-dashoffset:150;animation:gp-fieldpremium-draw-route .75s var(--ease) forwards}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .mega-menu{padding:0;border:1px solid var(--ink);background:var(--warm);color:var(--ink);width:min(1160px,92vw);max-height:90vh;box-shadow:4px 18px 55px #142b2550}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="field-and-fold"][data-gp-premium="true"] .mega-menu{width:min(1160px,92cqw)}}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .mega-menu::backdrop{background:#183529b5;backdrop-filter:blur(3px)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-top{display:flex;align-items:center;justify-content:space-between;padding:25px 37px;border-bottom:1px solid var(--ink)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-close{border:0;background:none;display:flex;align-items:center;gap:22px;min-height:44px;font-size:16px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-close span:not(.fs-richtext){font-size:32px;font-weight:300}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-layout{display:grid;grid-template-columns:.88fr 1.12fr;min-height:510px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-cover{padding:45px 37px 31px;background:var(--cloud);border-right:1px solid var(--ink)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-cover h2{font-size:47px;line-height:1.13}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-cover>p{font-size:18px;margin-top:22px;max-width:290px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-map{width:300px;height:170px;margin:14px 0 0;stroke-width:1.6}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .map-route{stroke-dasharray:5 8;stroke:var(--rust)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .map-house,[data-gp-theme="field-and-fold"][data-gp-premium="true"] .map-tree{stroke-width:1.5}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-map circle{fill:var(--warm);stroke:var(--ink)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-cover-note{font-size:14px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-directory{display:grid;grid-template-columns:1fr 1fr;gap:38px 30px;padding:49px 37px 31px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-group h3{font:600 16px/1.5 var(--body);letter-spacing:0;margin-bottom:21px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-group>a{display:flex;align-items:center;justify-content:space-between;gap:10px;text-decoration:none;font-size:20px;line-height:1.3;padding:12px 0;border-bottom:1px solid var(--line);min-height:61px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-group>a span:not(.fs-richtext){font-size:22px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-end{grid-column:1/-1;display:flex;align-items:end;justify-content:space-between;gap:20px;border-top:1px solid var(--ink);padding-top:25px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-end p{font:450 23px/1.4 var(--display);letter-spacing:-.025em}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-end .text-link{font-size:15px;max-width:150px}
@keyframes gp-fieldpremium-draw-route{to{stroke-dashoffset:0}}
@media(hover:hover) and (pointer:fine){[data-gp-theme="field-and-fold"][data-gp-premium="true"] .desktop-nav a:hover,[data-gp-theme="field-and-fold"][data-gp-premium="true"] .header-intro:hover,[data-gp-theme="field-and-fold"][data-gp-premium="true"] .footer-directory a:hover{text-decoration:underline}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-button:hover svg{transform:translateX(3px)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .forest-button:hover{background:#3d624a}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .light-button:hover{background:var(--cloud)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-option:not(.is-active):hover{background:#dce5d4}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-stop:not(.is-active):hover{background:#c0d1d6;transform:translateY(-3px)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .text-link:hover{color:#914422}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .homecoming .text-link:hover{color:var(--cloud)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-group>a:hover{color:#914422}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-close:hover span:not(.fs-richtext){transform:rotate(90deg)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-close span:not(.fs-richtext),[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-button svg{transition:transform .2s var(--ease)}}
@media(min-width:1600px){[data-gp-theme="field-and-fold"][data-gp-premium="true"] .outdoors{height:850px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-copy{padding-top:85px;margin-left:55%}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-scene{object-position:center 56%}}
@media(max-width:1190px){[data-gp-theme="field-and-fold"][data-gp-premium="true"] .desktop-nav{display:none}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .site-header{padding:19px 4%}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .header-actions{gap:20px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .outdoors{height:740px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-copy{margin-left:51%;padding-top:70px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-copy h1{font-size:75px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-note{right:6%;bottom:59px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .section-wrap{width:87%}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-options{grid-template-columns:1fr}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-option{min-height:185px;padding:25px 24px 22px 90px;justify-content:center}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-option svg{position:absolute;left:25px;top:30px;width:38px;height:40px;margin:0}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-option:first-child{border-right:0;border-bottom:1px solid var(--line)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-option>span:not(.fs-richtext):not(.option-arrow){font-size:27px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-option>span:not(.fs-richtext) br{display:none}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-option small{max-width:none;margin-top:10px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-directory{grid-template-columns:.9fr 1.1fr}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-detail{padding:27px 29px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-detail dl>div{grid-template-columns:113px 1fr;font-size:15px;gap:12px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-stops{gap:45px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-stop strong{font-size:29px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .meet-section{gap:7%}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .meeting-sheet{padding:32px 30px 25px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .intro-layout,[data-gp-theme="field-and-fold"][data-gp-premium="true"] .questions-section{gap:6%}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .footer-directory{gap:28px;grid-template-columns:1.2fr 1fr 1fr}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .footer-directory>p{display:none}}
@containerfs-editor-canvas (max-width: 1190px){[data-gp-theme="field-and-fold"][data-gp-premium="true"] .desktop-nav{display:none}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .site-header{padding:19px 4%}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .header-actions{gap:20px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .outdoors{height:740px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-copy{margin-left:51%;padding-top:70px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-copy h1{font-size:75px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-note{right:6%;bottom:59px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .section-wrap{width:87%}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-options{grid-template-columns:1fr}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-option{min-height:185px;padding:25px 24px 22px 90px;justify-content:center}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-option svg{position:absolute;left:25px;top:30px;width:38px;height:40px;margin:0}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-option:first-child{border-right:0;border-bottom:1px solid var(--line)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-option>span:not(.fs-richtext):not(.option-arrow){font-size:27px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-option>span:not(.fs-richtext) br{display:none}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-option small{max-width:none;margin-top:10px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-directory{grid-template-columns:.9fr 1.1fr}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-detail{padding:27px 29px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-detail dl>div{grid-template-columns:113px 1fr;font-size:15px;gap:12px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-stops{gap:45px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-stop strong{font-size:29px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .meet-section{gap:7%}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .meeting-sheet{padding:32px 30px 25px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .intro-layout,[data-gp-theme="field-and-fold"][data-gp-premium="true"] .questions-section{gap:6%}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .footer-directory{gap:28px;grid-template-columns:1.2fr 1fr 1fr}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .footer-directory>p{display:none}}
@media(max-width:800px){[data-gp-theme="field-and-fold"][data-gp-premium="true"] .site-header{min-height:83px;padding:17px 5%;gap:15px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .brand{font-size:27px;gap:8px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .brand svg{width:33px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .header-intro{display:none}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-button{border-left:0;font-size:15px;padding-left:0;gap:13px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-button svg{width:23px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .outdoors{height:810px;min-height:0}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-scene{object-position:35% center}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-sky{background:linear-gradient(180deg,rgba(247,244,233,.96) 0%,rgba(247,244,233,.88) 25%,rgba(247,244,233,.15) 55%,transparent 75%)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-copy{margin:0;padding:38px 7% 0;max-width:560px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-copy h1{font-size:66px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-copy p{font-size:19px;margin:21px 0 23px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-copy .button{font-size:16px;padding:12px 18px;min-height:49px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-note{width:229px;right:6%;bottom:45px;padding:20px 21px 18px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-note p{font-size:23px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-note>span:not(.fs-richtext):last-child{font-size:13px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .note-label{font-size:12px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .scene-margin{display:none}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .scene-caption{font-size:10px;left:5%;bottom:10px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .section-wrap{width:85%}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .route-spine{left:3%}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .route-stop::before{left:calc((100% - 100vw)/2 + 3vw - 4px);top:85px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-section{padding:73px 0 78px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .section-heading{gap:25px;margin-bottom:34px;grid-template-columns:1fr}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .section-heading p{font-size:18px;max-width:440px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-directory{grid-template-columns:1fr}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-options{grid-template-columns:1fr 1fr;border-right:0;border-bottom:1px solid var(--ink)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-option{padding:24px 22px;min-height:244px;justify-content:start}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-option:first-child{border-bottom:0;border-right:1px solid var(--line)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-option svg{position:static;margin-bottom:25px;width:37px;height:40px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-option>span:not(.fs-richtext):not(.option-arrow){font-size:24px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-option>span:not(.fs-richtext) br{display:initial}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-option small{font-size:15px;max-width:140px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-detail{padding:29px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-detail h3{font-size:32px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-detail dl>div{grid-template-columns:130px 1fr;font-size:16px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-section{padding:65px 0 48px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-section::before,[data-gp-theme="field-and-fold"][data-gp-premium="true"] .intro-section::before{left:calc(3vw - 4px)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-heading{display:block}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-heading p{font-size:18px;margin-top:24px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-field{margin-top:28px;min-height:0;padding:4px 0 15px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-route{width:34px;height:calc(100% - 50px);top:25px;left:2px;overflow:visible}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-route .route-under{display:none}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-route .route-line{d:path("M15 0C40 55 -5 80 15 135S40 208 15 270 10 320 15 340");stroke-width:2;stroke-dasharray:6 9;transform:scaleY(1)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-route .route-dot{display:none}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-stops{display:block;padding:0 0 0 45px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-stop{max-width:100%;width:100%;padding:20px 22px;margin-top:12px!important;display:grid;grid-template-columns:1.1fr 1fr;column-gap:20px;row-gap:5px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .stop-time{grid-column:1/-1;margin:0 0 7px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-stop strong{font-size:29px;grid-row:2/4}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-stop>span:not(.fs-richtext):not(.stop-time){font-size:16px;margin-top:0;align-self:center}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-stop i{font-size:13px;margin-top:10px;grid-column:2}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-stop.is-active{transform:rotate(-1deg)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-note{gap:15px;flex-wrap:wrap;margin-top:15px;padding-top:23px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-note>svg{width:37px;height:40px;align-self:start}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-note>div{max-width:calc(100% - 52px)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-note p{font-size:17px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-note .text-link{margin-left:52px;font-size:15px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .meet-section{grid-template-columns:1fr;gap:49px;padding:73px 0 80px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .meet-copy{padding-top:0}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .meet-copy h2 br:nth-of-type(2){display:none}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .meet-copy>p{font-size:18px;max-width:560px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .meeting-sheet{max-width:550px;justify-self:center;width:100%;padding:30px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .meeting-sheet h3{font-size:36px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .intro-section{padding:67px 0}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .intro-layout{grid-template-columns:1fr;gap:36px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .intro-copy h2{font-size:43px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .intro-copy>p{font-size:18px;max-width:540px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .fold-note{margin:28px 0 22px;gap:17px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .fold-note svg{width:75px;height:58px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .fold-note p{font-size:22px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .intro-copy .local-note{max-width:500px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .intro-form-wrap{padding-top:26px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .questions-section{grid-template-columns:1fr;gap:31px;padding:72px 0 77px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .questions-section>div>p{font-size:18px;margin-top:17px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .questions-section>div>p br{display:none}[data-gp-theme="field-and-fold"][data-gp-premium="true"] summary{font-size:19px;min-height:77px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] details p{font-size:17px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .homecoming{padding:52px 7.5% 115px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .footer-top{padding-bottom:45px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .home-mark{margin-bottom:20px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .home-mark svg{width:113px;height:96px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .home-mark span:not(.fs-richtext){font-size:15px;padding-bottom:22px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .footer-top h2{font-size:41px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .footer-directory{grid-template-columns:1fr 1fr;gap:29px;margin:35px 0}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .footer-brand{grid-column:1/-1;font-size:31px;margin-bottom:5px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .footer-directory>div>a{font-size:16px;min-height:34px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .footer-directory h3{font-size:15px;margin-bottom:12px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .footer-bottom{display:block;font-size:12px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .footer-bottom>span:not(.fs-richtext){display:block}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .footer-bottom span:not(.fs-richtext):last-child{text-align:left;margin-top:10px;max-width:380px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .mega-menu{width:94vw;max-height:92vh}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-top{padding:15px 22px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-top .brand{font-size:26px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-close{font-size:14px;gap:14px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-layout{grid-template-columns:1fr}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-cover{padding:25px 24px 21px;border-right:0;border-bottom:1px solid var(--ink);position:relative;overflow:hidden}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-cover h2{font-size:36px;max-width:270px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-cover>p{font-size:17px;max-width:250px;margin-top:14px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-map{position:absolute;right:-11px;bottom:4px;width:200px;height:140px;opacity:.55}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-cover-note{display:none}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-directory{padding:27px 24px;gap:25px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-group h3{font-size:15px;margin-bottom:12px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-group>a{font-size:17px;min-height:57px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-end{padding-top:20px;gap:17px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-end p{font-size:21px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-end .text-link{font-size:14px}}
@containerfs-editor-canvas (max-width: 800px){[data-gp-theme="field-and-fold"][data-gp-premium="true"] .site-header{min-height:83px;padding:17px 5%;gap:15px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .brand{font-size:27px;gap:8px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .brand svg{width:33px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .header-intro{display:none}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-button{border-left:0;font-size:15px;padding-left:0;gap:13px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-button svg{width:23px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .outdoors{height:810px;min-height:0}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-scene{object-position:35% center}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-sky{background:linear-gradient(180deg,rgba(247,244,233,.96) 0%,rgba(247,244,233,.88) 25%,rgba(247,244,233,.15) 55%,transparent 75%)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-copy{margin:0;padding:38px 7% 0;max-width:560px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-copy h1{font-size:66px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-copy p{font-size:19px;margin:21px 0 23px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-copy .button{font-size:16px;padding:12px 18px;min-height:49px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-note{width:229px;right:6%;bottom:45px;padding:20px 21px 18px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-note p{font-size:23px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-note>span:not(.fs-richtext):last-child{font-size:13px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .note-label{font-size:12px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .scene-margin{display:none}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .scene-caption{font-size:10px;left:5%;bottom:10px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .section-wrap{width:85%}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .route-spine{left:3%}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .route-stop::before{left:calc((100% - 100cqw)/2 + 3cqw - 4px);top:85px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-section{padding:73px 0 78px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .section-heading{gap:25px;margin-bottom:34px;grid-template-columns:1fr}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .section-heading p{font-size:18px;max-width:440px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-directory{grid-template-columns:1fr}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-options{grid-template-columns:1fr 1fr;border-right:0;border-bottom:1px solid var(--ink)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-option{padding:24px 22px;min-height:244px;justify-content:start}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-option:first-child{border-bottom:0;border-right:1px solid var(--line)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-option svg{position:static;margin-bottom:25px;width:37px;height:40px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-option>span:not(.fs-richtext):not(.option-arrow){font-size:24px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-option>span:not(.fs-richtext) br{display:initial}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-option small{font-size:15px;max-width:140px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-detail{padding:29px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-detail h3{font-size:32px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-detail dl>div{grid-template-columns:130px 1fr;font-size:16px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-section{padding:65px 0 48px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-section::before,[data-gp-theme="field-and-fold"][data-gp-premium="true"] .intro-section::before{left:calc(3cqw - 4px)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-heading{display:block}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-heading p{font-size:18px;margin-top:24px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-field{margin-top:28px;min-height:0;padding:4px 0 15px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-route{width:34px;height:calc(100% - 50px);top:25px;left:2px;overflow:visible}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-route .route-under{display:none}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-route .route-line{d:path("M15 0C40 55 -5 80 15 135S40 208 15 270 10 320 15 340");stroke-width:2;stroke-dasharray:6 9;transform:scaleY(1)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-route .route-dot{display:none}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-stops{display:block;padding:0 0 0 45px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-stop{max-width:100%;width:100%;padding:20px 22px;margin-top:12px!important;display:grid;grid-template-columns:1.1fr 1fr;column-gap:20px;row-gap:5px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .stop-time{grid-column:1/-1;margin:0 0 7px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-stop strong{font-size:29px;grid-row:2/4}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-stop>span:not(.fs-richtext):not(.stop-time){font-size:16px;margin-top:0;align-self:center}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-stop i{font-size:13px;margin-top:10px;grid-column:2}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-stop.is-active{transform:rotate(-1deg)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-note{gap:15px;flex-wrap:wrap;margin-top:15px;padding-top:23px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-note>svg{width:37px;height:40px;align-self:start}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-note>div{max-width:calc(100% - 52px)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-note p{font-size:17px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-note .text-link{margin-left:52px;font-size:15px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .meet-section{grid-template-columns:1fr;gap:49px;padding:73px 0 80px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .meet-copy{padding-top:0}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .meet-copy h2 br:nth-of-type(2){display:none}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .meet-copy>p{font-size:18px;max-width:560px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .meeting-sheet{max-width:550px;justify-self:center;width:100%;padding:30px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .meeting-sheet h3{font-size:36px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .intro-section{padding:67px 0}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .intro-layout{grid-template-columns:1fr;gap:36px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .intro-copy h2{font-size:43px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .intro-copy>p{font-size:18px;max-width:540px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .fold-note{margin:28px 0 22px;gap:17px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .fold-note svg{width:75px;height:58px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .fold-note p{font-size:22px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .intro-copy .local-note{max-width:500px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .intro-form-wrap{padding-top:26px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .questions-section{grid-template-columns:1fr;gap:31px;padding:72px 0 77px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .questions-section>div>p{font-size:18px;margin-top:17px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .questions-section>div>p br{display:none}[data-gp-theme="field-and-fold"][data-gp-premium="true"] summary{font-size:19px;min-height:77px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] details p{font-size:17px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .homecoming{padding:52px 7.5% 115px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .footer-top{padding-bottom:45px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .home-mark{margin-bottom:20px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .home-mark svg{width:113px;height:96px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .home-mark span:not(.fs-richtext){font-size:15px;padding-bottom:22px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .footer-top h2{font-size:41px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .footer-directory{grid-template-columns:1fr 1fr;gap:29px;margin:35px 0}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .footer-brand{grid-column:1/-1;font-size:31px;margin-bottom:5px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .footer-directory>div>a{font-size:16px;min-height:34px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .footer-directory h3{font-size:15px;margin-bottom:12px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .footer-bottom{display:block;font-size:12px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .footer-bottom>span:not(.fs-richtext){display:block}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .footer-bottom span:not(.fs-richtext):last-child{text-align:left;margin-top:10px;max-width:380px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .mega-menu{width:94cqw;max-height:92vh}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-top{padding:15px 22px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-top .brand{font-size:26px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-close{font-size:14px;gap:14px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-layout{grid-template-columns:1fr}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-cover{padding:25px 24px 21px;border-right:0;border-bottom:1px solid var(--ink);position:relative;overflow:hidden}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-cover h2{font-size:36px;max-width:270px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-cover>p{font-size:17px;max-width:250px;margin-top:14px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-map{position:absolute;right:-11px;bottom:4px;width:200px;height:140px;opacity:.55}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-cover-note{display:none}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-directory{padding:27px 24px;gap:25px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-group h3{font-size:15px;margin-bottom:12px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-group>a{font-size:17px;min-height:57px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-end{padding-top:20px;gap:17px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-end p{font-size:21px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-end .text-link{font-size:14px}}
@media(max-width:480px){[data-gp-theme="field-and-fold"][data-gp-premium="true"]{font-size:17px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .site-header{padding:14px 5%;min-height:77px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .brand{font-size:24px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .brand svg{width:30px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-button{font-size:14px;gap:10px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-button svg{width:21px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .outdoors{height:803px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-copy{padding:34px 7.5% 0}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-copy h1{font-size:53px;line-height:1.11;letter-spacing:-.035em}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-copy p{font-size:18px;margin:19px 0 23px;line-height:1.5}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-scene{object-position:35% center}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-sky{background:linear-gradient(180deg,#f7f4e9e6 0%,#f7f4e9d9 28%,#f7f4e920 53%,transparent 72%)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-copy .button{font-size:16px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-note{right:7%;bottom:42px;width:212px;padding:21px 20px 17px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-note p{font-size:22px;margin:9px 0 12px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .note-rule{margin-bottom:10px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-note>span:not(.fs-richtext):last-child{font-size:12px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .note-label{font-size:11px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .scene-caption{max-width:230px;line-height:1.4;font-size:10px;bottom:8px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] h2{font-size:39px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .section-wrap{width:84%}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-section{padding:65px 0}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .section-heading{margin-bottom:29px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .section-heading p{font-size:18px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-option{padding:23px 17px;min-height:266px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-option svg{margin-bottom:23px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-option>span:not(.fs-richtext):not(.option-arrow){font-size:24px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-option small{font-size:15px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-option .option-arrow{font-size:23px;bottom:16px;right:16px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-detail{padding:27px 21px 29px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-detail h3{font-size:30px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-detail>p{font-size:17px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-detail dl>div{display:block;padding:12px 0;font-size:16px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-detail dd{margin-top:4px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-detail .text-link{font-size:16px;line-height:1.4}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .detail-tab{font-size:13px;margin-bottom:18px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-heading h2{font-size:38px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-heading p{font-size:17px;margin-top:20px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-heading p br{display:none}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-stops{padding-left:23px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-route{left:-10px;width:26px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-stop{padding:19px 17px;column-gap:14px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-stop strong{font-size:26px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-stop>span:not(.fs-richtext):not(.stop-time){font-size:15px;line-height:1.3}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-stop i{font-size:12px;margin-top:10px;line-height:1.4}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .stop-time{font-size:13px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-note>div>span:not(.fs-richtext){font-size:12px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-note p{font-size:17px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-note .text-link{font-size:15px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .meet-section{padding:65px 0 71px;gap:40px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .meet-copy h2{font-size:39px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .meet-copy h2 br:nth-of-type(2){display:initial}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .meet-copy .text-link{font-size:16px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .meeting-sheet{padding:27px 24px 23px;transform:rotate(1deg)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .sheet-top{font-size:13px;margin-bottom:21px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .meeting-sheet h3{font-size:32px;margin-bottom:23px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .meeting-sheet li p{font-size:17px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .sheet-foot{font-size:13px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .intro-copy h2{font-size:39px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .intro-copy>p{font-size:18px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .intro-layout{gap:28px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .fold-note{margin:24px 0}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .intro-copy .local-note{font-size:15px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .form-row{grid-template-columns:1fr;gap:0}[data-gp-theme="field-and-fold"][data-gp-premium="true"] label{font-size:17px;margin-bottom:22px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] input,[data-gp-theme="field-and-fold"][data-gp-premium="true"] select,[data-gp-theme="field-and-fold"][data-gp-premium="true"] textarea{font-size:17px;padding:13px 11px;margin-top:8px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .selected-detail{grid-template-columns:1fr;gap:6px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .selected-detail>span:not(.fs-richtext){font-size:13px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .selected-detail p{font-size:17px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .selected-detail :is(button,[role="button"]){justify-self:start;font-size:14px;min-height:33px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .form-submit{font-size:16px;padding:13px 16px;gap:10px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .form-help{font-size:14px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .notes-result{padding:23px 20px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .result-head h3{font-size:27px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .notes-result dl>div{grid-template-columns:105px 1fr;gap:10px;font-size:16px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .result-actions{flex-wrap:wrap;gap:0}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .result-actions .text-link{font-size:15px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .questions-section{padding:65px 0 72px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .questions-section h2{font-size:39px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] summary{font-size:18px;gap:15px;line-height:1.4;padding:18px 0;min-height:77px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] details p{font-size:17px;padding-right:0}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .footer-top h2{font-size:37px;line-height:1.15}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .home-mark{gap:10px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .home-mark svg{width:100px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .home-mark span:not(.fs-richtext){font-size:14px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .homecoming .button{font-size:16px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .footer-directory{gap:20px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .footer-directory h3{font-size:14px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .footer-directory>div>a{font-size:16px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-top{padding:12px 17px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-top .brand{font-size:24px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-close{font-size:13px;gap:11px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-close span:not(.fs-richtext){font-size:29px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-cover{padding:24px 21px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-cover h2{font-size:34px;max-width:260px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-cover>p{font-size:16px;max-width:240px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-map{width:140px;height:110px;right:-18px;bottom:3px;opacity:.3}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-directory{padding:23px 21px;gap:27px;grid-template-columns:1fr}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-group h3{font-size:14px;margin-bottom:8px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-group>a{font-size:20px;min-height:55px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-end{display:block;padding-top:22px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-end p{font-size:22px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-end .text-link{font-size:16px;max-width:none;margin-top:14px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .intro-mark>span:not(.fs-richtext){font-size:31px}}
@containerfs-editor-canvas (max-width: 480px){[data-gp-theme="field-and-fold"][data-gp-premium="true"]{font-size:17px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .site-header{padding:14px 5%;min-height:77px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .brand{font-size:24px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .brand svg{width:30px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-button{font-size:14px;gap:10px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-button svg{width:21px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .outdoors{height:803px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-copy{padding:34px 7.5% 0}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-copy h1{font-size:53px;line-height:1.11;letter-spacing:-.035em}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-copy p{font-size:18px;margin:19px 0 23px;line-height:1.5}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-scene{object-position:35% center}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-sky{background:linear-gradient(180deg,#f7f4e9e6 0%,#f7f4e9d9 28%,#f7f4e920 53%,transparent 72%)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-copy .button{font-size:16px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-note{right:7%;bottom:42px;width:212px;padding:21px 20px 17px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-note p{font-size:22px;margin:9px 0 12px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .note-rule{margin-bottom:10px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-note>span:not(.fs-richtext):last-child{font-size:12px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .note-label{font-size:11px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .scene-caption{max-width:230px;line-height:1.4;font-size:10px;bottom:8px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] h2{font-size:39px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .section-wrap{width:84%}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-section{padding:65px 0}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .section-heading{margin-bottom:29px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .section-heading p{font-size:18px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-option{padding:23px 17px;min-height:266px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-option svg{margin-bottom:23px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-option>span:not(.fs-richtext):not(.option-arrow){font-size:24px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-option small{font-size:15px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-option .option-arrow{font-size:23px;bottom:16px;right:16px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-detail{padding:27px 21px 29px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-detail h3{font-size:30px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-detail>p{font-size:17px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-detail dl>div{display:block;padding:12px 0;font-size:16px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-detail dd{margin-top:4px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-detail .text-link{font-size:16px;line-height:1.4}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .detail-tab{font-size:13px;margin-bottom:18px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-heading h2{font-size:38px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-heading p{font-size:17px;margin-top:20px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-heading p br{display:none}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-stops{padding-left:23px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-route{left:-10px;width:26px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-stop{padding:19px 17px;column-gap:14px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-stop strong{font-size:26px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-stop>span:not(.fs-richtext):not(.stop-time){font-size:15px;line-height:1.3}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-stop i{font-size:12px;margin-top:10px;line-height:1.4}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .stop-time{font-size:13px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-note>div>span:not(.fs-richtext){font-size:12px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-note p{font-size:17px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-note .text-link{font-size:15px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .meet-section{padding:65px 0 71px;gap:40px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .meet-copy h2{font-size:39px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .meet-copy h2 br:nth-of-type(2){display:initial}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .meet-copy .text-link{font-size:16px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .meeting-sheet{padding:27px 24px 23px;transform:rotate(1deg)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .sheet-top{font-size:13px;margin-bottom:21px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .meeting-sheet h3{font-size:32px;margin-bottom:23px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .meeting-sheet li p{font-size:17px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .sheet-foot{font-size:13px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .intro-copy h2{font-size:39px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .intro-copy>p{font-size:18px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .intro-layout{gap:28px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .fold-note{margin:24px 0}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .intro-copy .local-note{font-size:15px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .form-row{grid-template-columns:1fr;gap:0}[data-gp-theme="field-and-fold"][data-gp-premium="true"] label{font-size:17px;margin-bottom:22px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] input,[data-gp-theme="field-and-fold"][data-gp-premium="true"] select,[data-gp-theme="field-and-fold"][data-gp-premium="true"] textarea{font-size:17px;padding:13px 11px;margin-top:8px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .selected-detail{grid-template-columns:1fr;gap:6px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .selected-detail>span:not(.fs-richtext){font-size:13px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .selected-detail p{font-size:17px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .selected-detail :is(button,[role="button"]){justify-self:start;font-size:14px;min-height:33px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .form-submit{font-size:16px;padding:13px 16px;gap:10px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .form-help{font-size:14px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .notes-result{padding:23px 20px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .result-head h3{font-size:27px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .notes-result dl>div{grid-template-columns:105px 1fr;gap:10px;font-size:16px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .result-actions{flex-wrap:wrap;gap:0}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .result-actions .text-link{font-size:15px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .questions-section{padding:65px 0 72px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .questions-section h2{font-size:39px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] summary{font-size:18px;gap:15px;line-height:1.4;padding:18px 0;min-height:77px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] details p{font-size:17px;padding-right:0}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .footer-top h2{font-size:37px;line-height:1.15}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .home-mark{gap:10px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .home-mark svg{width:100px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .home-mark span:not(.fs-richtext){font-size:14px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .homecoming .button{font-size:16px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .footer-directory{gap:20px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .footer-directory h3{font-size:14px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .footer-directory>div>a{font-size:16px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-top{padding:12px 17px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-top .brand{font-size:24px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-close{font-size:13px;gap:11px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-close span:not(.fs-richtext){font-size:29px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-cover{padding:24px 21px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-cover h2{font-size:34px;max-width:260px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-cover>p{font-size:16px;max-width:240px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-map{width:140px;height:110px;right:-18px;bottom:3px;opacity:.3}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-directory{padding:23px 21px;gap:27px;grid-template-columns:1fr}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-group h3{font-size:14px;margin-bottom:8px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-group>a{font-size:20px;min-height:55px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-end{display:block;padding-top:22px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-end p{font-size:22px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .menu-end .text-link{font-size:16px;max-width:none;margin-top:14px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .intro-mark>span:not(.fs-richtext){font-size:31px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="field-and-fold"][data-gp-premium="true"]{scroll-behavior:auto}[data-gp-theme="field-and-fold"][data-gp-premium="true"] *,[data-gp-theme="field-and-fold"][data-gp-premium="true"] *::before,[data-gp-theme="field-and-fold"][data-gp-premium="true"] *::after{animation:none!important;transition:none!important}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .intro-route{stroke-dashoffset:0}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-option.is-active .option-arrow{transform:none}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-stop.is-active{transform:none}}
[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-copy{margin-left:6%;padding:64px 0 0;max-width:650px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-sky{background:linear-gradient(90deg,#f7f4e9a8 0%,#f7f4e954 36%,transparent 58%)}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-media="photo"] .hero-sky{background:linear-gradient(90deg,#f7f4e9f2 0%,#f7f4e9c9 31%,#f7f4e938 52%,transparent 72%)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-note{left:6%;right:auto;bottom:64px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .scene-margin{left:auto;right:5%;bottom:42px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-route-mobile{display:none}
@media(min-width:1600px){[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-copy{margin-left:6%;padding-top:78px;max-width:690px}}
@media(max-width:800px){[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-copy{margin-left:0;padding:38px 7% 0;max-width:560px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-scene{object-position:72% center}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-media="photo"] .hero-scene{object-position:38% center}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-sky,[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-media="photo"] .hero-sky{background:linear-gradient(180deg,#f7f4e9ef 0%,#f7f4e9db 29%,#f7f4e91a 53%,transparent 72%)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-note{left:6%;right:auto;bottom:45px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-route{display:none}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-route-mobile{display:block;position:absolute;left:0;top:21px;width:28px;height:calc(100% - 48px);stroke:var(--ink);stroke-width:1.5;stroke-dasharray:5 8}}
@containerfs-editor-canvas (max-width: 800px){[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-copy{margin-left:0;padding:38px 7% 0;max-width:560px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-scene{object-position:72% center}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-media="photo"] .hero-scene{object-position:38% center}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-sky,[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-media="photo"] .hero-sky{background:linear-gradient(180deg,#f7f4e9ef 0%,#f7f4e9db 29%,#f7f4e91a 53%,transparent 72%)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-note{left:6%;right:auto;bottom:45px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-route{display:none}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-route-mobile{display:block;position:absolute;left:0;top:21px;width:28px;height:calc(100% - 48px);stroke:var(--ink);stroke-width:1.5;stroke-dasharray:5 8}}
@media(max-width:480px){[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-copy{padding:34px 7.5% 0;max-width:none}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-note{left:7%;bottom:42px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-route-mobile{left:-11px;width:26px}}
@containerfs-editor-canvas (max-width: 480px){[data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-copy{padding:34px 7.5% 0;max-width:none}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .care-note{left:7%;bottom:42px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .routine-route-mobile{left:-11px;width:26px}}

/* Explicit legacy adapters; keep artwork/product colours intact. */
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-pilot=kiln-house]{--display:"Fraunces",serif;--body:"Figtree",sans-serif;--ip-paper:var(--clay);--ip-ink:var(--ink);--ip-accent:var(--rust);--ip-on:#fff7ed;--ip-wash:#ead4bd;--ip-line:#aa8c76;--ip-muted:#654b3d}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-pilot=kiln-house][data-palette="1"]{--clay:#e1e8d9;--paper:#eef2e7;--ink:#344c38;--rust:#416447;--blue:#385968;--rule:#9eaf98;--ip-wash:#cedbc6;--ip-muted:#465d46}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-pilot=kiln-house][data-palette="2"]{--clay:#dce7ec;--paper:#eef3f5;--ink:#284653;--rust:#315c70;--blue:#4a5158;--rule:#9badb6;--ip-wash:#c8d9e0;--ip-muted:#425d69}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-pilot=kiln-house][data-mode=dark]{--clay:#28221e;--paper:#342d26;--ink:#f4e7d7;--rust:#eab08c;--blue:#b3d0d3;--rule:#827063;--ip-on:#2d2119;--ip-wash:#3b3028;--ip-line:#827063;--ip-muted:#d7c5b4}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-pilot=kiln-house][data-palette="1"][data-mode=dark]{--clay:#202a22;--paper:#2b382c;--ink:#ebf0dd;--rust:#b8d59f;--ip-wash:#304031;--ip-line:#71856c;--ip-muted:#cbd6c2}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-pilot=kiln-house][data-palette="2"][data-mode=dark]{--clay:#202a30;--paper:#2a3740;--ink:#e6eff3;--rust:#a9cedd;--ip-wash:#30404a;--ip-line:#708895;--ip-muted:#c7d7df}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-pilot=field-and-fold]{--ip-paper:var(--paper);--ip-ink:var(--ink);--ip-accent:#356448;--ip-on:#f7f4e9;--ip-wash:#dce5d4;--ip-line:#a8b8a2;--ip-muted:#46604d}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-pilot=field-and-fold][data-palette="1"]{--paper:#ede4eb;--ink:#583c56;--rust:#784567;--cloud:#c7b8cd;--warm:#f6f0f5;--line:#b7a2b6;--ip-accent:#784567;--ip-wash:#e0d0de;--ip-line:#b7a2b6;--ip-muted:#665064}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-pilot=field-and-fold][data-palette="2"]{--paper:#e0ecef;--ink:#2b4d5a;--rust:#386578;--cloud:#b3cdd4;--warm:#f1f5f5;--line:#9bb7be;--ip-accent:#386578;--ip-wash:#cddfe4;--ip-line:#9bb7be;--ip-muted:#405f69}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-pilot=field-and-fold][data-mode=dark]{--paper:#1d2b24;--ink:#e5efdf;--rust:#edb58c;--cloud:#66877e;--warm:#2c3c32;--line:#6b8671;--ip-accent:#bad5a8;--ip-on:#203021;--ip-wash:#2b3b30;--ip-line:#6b8671;--ip-muted:#c4d3bd}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-pilot=field-and-fold][data-palette="1"][data-mode=dark]{--paper:#2c2330;--ink:#f0e2ed;--warm:#3e3040;--line:#8f718e;--ip-wash:#3c2d40;--ip-accent:#ddb5d3;--ip-on:#332136;--ip-muted:#d9c7d8}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-pilot=field-and-fold][data-palette="2"][data-mode=dark]{--paper:#1e2c34;--ink:#e2eef3;--warm:#2a3b45;--line:#718995;--ip-wash:#2a3b45;--ip-accent:#b2d7e2;--ip-on:#1f3038;--ip-muted:#c5d9e0}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-pilot=slipstream]{--display:"Barlow Condensed",sans-serif;--body:"Barlow",sans-serif;--ip-paper:#f2f1e9;--ip-ink:#111b20;--ip-wash:#e2e5db;--ip-accent:#344c14;--ip-on:#f6f9e9;--ip-line:#a1aca1;--ip-muted:#47574b}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-pilot=slipstream][data-palette="1"]{--lime:#9cccd5;--blue:#497380;--ip-paper:#e5edf1;--ip-ink:#203b49;--ip-wash:#d3e0e6;--ip-accent:#2f6176;--ip-on:#fff;--ip-muted:#425d6a}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-pilot=slipstream][data-palette="2"]{--lime:#e1b18d;--blue:#8d6857;--ip-paper:#f2e7dc;--ip-ink:#4f3528;--ip-wash:#e7d5c3;--ip-accent:#7d472e;--ip-on:#fff8ef;--ip-muted:#6b5241}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-pilot=slipstream][data-mode=dark]{--ip-paper:#111b20;--ip-ink:#f2f1e9;--ip-wash:#233039;--ip-accent:var(--lime);--ip-on:#152016;--ip-line:#697b81;--ip-muted:#c4d1cd}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-pilot=the-second-set-signal]{--display:"Space Grotesk",sans-serif;--body:"IBM Plex Sans",sans-serif;--ip-paper:#f4efe1;--ip-ink:#111820;--ip-wash:#e5dfcf;--ip-accent:#234bcc;--ip-on:#fff;--ip-line:#a6a99f;--ip-muted:#475059}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-pilot=the-second-set-signal][data-palette="1"]{--blue:#684078;--orange:#eb9c98;--ip-paper:#f1e7ef;--ip-ink:#37203d;--ip-wash:#e5d6e4;--ip-accent:#684078;--ip-muted:#644f68}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-pilot=the-second-set-signal][data-palette="2"]{--blue:#246769;--orange:#e9bb69;--ip-paper:#e7efe8;--ip-ink:#173d3c;--ip-wash:#d4e1d7;--ip-accent:#246769;--ip-muted:#45605a}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-pilot=the-second-set-signal][data-mode=dark]{--ip-paper:#111820;--ip-ink:#f4efe1;--ip-wash:#242e38;--ip-accent:#c4d0ff;--ip-on:#172443;--ip-line:#74818a;--ip-muted:#c4cdd3}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-pilot=the-second-set-signal][data-palette="1"][data-mode=dark]{--ip-paper:#291c30;--ip-ink:#f5e8f2;--ip-wash:#3b2a44;--ip-accent:#ddbae7;--ip-on:#34223e;--ip-muted:#d9c6df}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-pilot=the-second-set-signal][data-palette="2"][data-mode=dark]{--ip-paper:#172e30;--ip-ink:#eaf2e7;--ip-wash:#294143;--ip-accent:#b8d8ca;--ip-on:#203c32;--ip-muted:#c6ded3}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-pilot=slipstream][data-site],[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-pilot=the-second-set-signal][data-site]{background:var(--ip-paper);color:var(--ip-ink)}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-pilot=slipstream] .mega-menu,[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-pilot=the-second-set-signal] .mega-menu{background:var(--ip-paper);color:var(--ip-ink);border-color:var(--ip-line)!important}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-pilot=the-second-set-signal] .menu-grid :is(h3,p){color:var(--ip-muted)}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-pilot=slipstream][data-mode=light] :is(.desk-button,.stock-finder select,.reset-button){background:var(--ip-paper);color:var(--ip-ink);border-color:var(--ip-line)}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-pilot=the-second-set-signal][data-mode=light] :is(.window-note,.listening){color:#f4efe1}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-pilot=the-second-set-signal][data-mode=light] .catalogue-tools :is(button,[role="button"]){color:var(--ip-ink);border-color:var(--ip-line)}

/* Preview chrome and accessibility only. Theme authors own the visual worlds. */
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-premium]{color-scheme:light;background:var(--paper);color:var(--ink);accent-color:var(--accent);scrollbar-color:var(--accent) var(--wash)}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-premium][data-mode=dark]{color-scheme:dark}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-premium] ::selection{background:var(--accent);color:var(--on-accent)}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-premium] :is(input,textarea){caret-color:var(--accent)}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-premium] :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--accent);outline-offset:4px}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-premium] :is(input,select,textarea){max-width:100%}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-premium] :is(input,textarea)::placeholder{color:var(--muted);opacity:1}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-premium] .preview-bar{display:flex;flex-wrap:wrap;justify-content:flex-start;background:#f5f5f0;color:#242d2c;border-color:#cbd0c8;gap:8px 14px;position:relative;font:13px/1.3 "Figtree",sans-serif;min-height:52px;padding:6px 3vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-premium] .preview-bar{padding:6px 3cqw}}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-premium] .preview-bar>a{font-weight:600;min-height:40px;display:flex;align-items:center}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-premium] .preview-bar [role=group]{margin-left:auto;display:flex;gap:2px}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-premium] .preview-bar :is(button,select){font:13px/1.3 "Figtree",sans-serif;min-height:40px;max-width:100%;border-radius:3px}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-premium] .preview-bar select{background:#fff;color:#242d2c;border:1px solid #a2ada4;padding:7px 24px 7px 9px}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-premium] .preview-bar [aria-pressed=true]{background:#242d2c;color:#fff}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-premium] .preview-bar .preview-label{font:12px/1.3 "Figtree",sans-serif;color:#48554f}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-premium] .preview-bar :focus-visible{outline-color:#254fbb}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-premium] .preview-bar [data-replay-intro]{font-size:12px;margin:0}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-premium] .preview-bar [data-replay-intro]::after{content:none}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-premium] .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-premium] .premium-action{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 22px;background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);text-decoration:none;font-weight:600;transition:transform 150ms var(--ease-out),background-color 150ms var(--ease-out)}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-premium] .premium-action:active{transform:translateY(1px)}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-premium] .premium-action:disabled{opacity:.6;cursor:not-allowed}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-premium] :is(h1,h2,h3){text-wrap:balance}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-premium] p{text-wrap:pretty}
/* Put down the opaque menu surface immediately, then introduce its content. */
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-premium] .mega-menu[open]:not([data-closing]){animation:none}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-premium] .mega-menu[open]:not([data-closing])>:not(:first-child){animation:gp-fieldpremium-premium-menu-content 160ms var(--ease-out)}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-premium] .mega-menu[data-keyboard]>:not(:first-child){animation:none!important}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-premium][data-input=keyboard] :is(button,[role="button"]):active{transform:none}
@keyframes gp-fieldpremium-premium-menu-content{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:650px){
 [data-gp-theme="field-and-fold"][data-gp-premium="true"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="field-and-fold"][data-gp-premium="true"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="field-and-fold"][data-gp-premium="true"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="field-and-fold"][data-gp-premium="true"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="field-and-fold"][data-gp-premium="true"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="field-and-fold"][data-gp-premium="true"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="field-and-fold"][data-gp-premium="true"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="field-and-fold"][data-gp-premium="true"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@containerfs-editor-canvas (max-width: 650px){
 [data-gp-theme="field-and-fold"][data-gp-premium="true"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="field-and-fold"][data-gp-premium="true"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="field-and-fold"][data-gp-premium="true"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="field-and-fold"][data-gp-premium="true"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="field-and-fold"][data-gp-premium="true"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="field-and-fold"][data-gp-premium="true"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="field-and-fold"][data-gp-premium="true"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="field-and-fold"][data-gp-premium="true"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@media(prefers-reduced-motion:reduce){[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-premium] .premium-action{transition:none;transform:none}}

/* Website page primitives and actual layout modes. Authored theme CSS owns identity. */
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-framed=true] .preview-bar,[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-framed=true] .site-open-preview{display:none!important}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site]{--ip-paper:var(--paper,#f4f2eb);--ip-ink:var(--ink,#192f2c);--ip-wash:var(--wash,var(--paper,#e6e9df));--ip-accent:var(--accent,var(--rust,#315b50));--ip-on:var(--on-accent,var(--paper,#fff));--ip-muted:var(--muted,var(--ink,#45534d));--ip-line:var(--line,var(--rule,#a1aca5))}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside]{background:var(--ip-paper);color:var(--ip-ink);font:18px/1.65 var(--body,"Figtree",sans-serif)}
[data-gp-theme="field-and-fold"][data-gp-premium="true"] .inside-page :is(h1,h2,h3){font-family:var(--display,inherit);color:inherit;letter-spacing:-.035em;line-height:1.1;font-weight:500;max-width:22ch}
[data-gp-theme="field-and-fold"][data-gp-premium="true"] .inside-page h1{font-size:clamp(42px,5.3vw,80px);margin:0 0 26px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="field-and-fold"][data-gp-premium="true"] .inside-page h1{font-size:clamp(42px,5.3cqw,80px)}}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .inside-page h2{font-size:clamp(30px,3vw,49px);margin:0 0 24px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="field-and-fold"][data-gp-premium="true"] .inside-page h2{font-size:clamp(30px,3cqw,49px)}}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .inside-page h3{font-size:25px;margin:0 0 15px}
[data-gp-theme="field-and-fold"][data-gp-premium="true"] .inside-page :is(p,li){max-width:72ch}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .inside-page p{margin:0 0 20px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .inside-page a{color:inherit}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .inside-page img{max-width:100%;width:100%;height:100%;object-fit:cover}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .inside-page figure{margin:0}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .inside-page :is(button,[role="button"]){color:inherit}
[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-hero,[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-section{width:min(1320px,calc(100% - 96px));margin-inline:auto;padding-block:70px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:65px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-opening{min-width:0}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-hero:has(>.ip-opening:only-child){grid-template-columns:1fr}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-art{height:430px;position:relative}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-art img{object-fit:cover}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-art figcaption,[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-caption{font-size:14px;line-height:1.5;color:var(--ip-muted);padding-top:10px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-section>.ip-caption{margin-bottom:20px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-card{min-width:0;border-top:1px solid var(--ip-line);padding:25px 0}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-card figure{height:230px;margin-bottom:25px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-reading{width:min(76ch,calc(100% - 48px));margin-inline:auto;padding-block:55px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-reading h2{margin-top:40px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-ledger{margin:24px 0}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-ledger>div{display:grid;grid-template-columns:1fr 1.4fr;gap:20px;border-top:1px solid var(--ip-line);padding:15px 0}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-ledger dt{font-weight:600}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-ledger dd{margin:0}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border:1px solid var(--ip-accent);background:var(--ip-accent);color:var(--ip-on)!important;text-decoration:none;font-size:16px;transition:transform 150ms var(--ease-out)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-action.secondary{background:transparent;color:var(--ip-ink)!important;border-color:var(--ip-line)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-band{padding:55px max(24px,calc((100% - 1320px)/2));background:var(--ip-wash);color:var(--ip-ink)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-band p{max-width:65ch}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-note{font-size:15px;border-left:3px solid var(--ip-accent);padding:12px 18px;background:var(--ip-wash);color:var(--ip-ink);margin-block:20px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-form{display:grid;gap:22px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-form label{display:grid;gap:8px;font-size:16px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-form :is(input,textarea,select){width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid var(--ip-line);background:var(--ip-paper);color:var(--ip-ink);font:inherit;border-radius:0}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-form :is(input,textarea)::placeholder{color:var(--ip-muted);opacity:1}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-form :is(button,[role="button"]){justify-self:start}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-form textarea{min-height:135px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .inside-page output[data-draft-output]{display:block;white-space:pre-wrap;padding:25px;background:var(--ip-wash);color:var(--ip-ink);border:1px solid var(--ip-line);overflow-wrap:anywhere}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-checks{display:grid;gap:12px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-checks label{display:flex;align-items:start;gap:14px;border-top:1px solid var(--ip-line);padding:16px 0;min-height:52px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-checks input{width:22px;height:22px;min-height:22px;flex-shrink:0;margin-top:4px;accent-color:var(--ip-accent)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .inside-page details{border-top:1px solid var(--ip-line);padding:18px 0}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .inside-page summary{min-height:44px;font-size:21px;cursor:pointer}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .inside-page details p{padding:16px 0 0}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .inside-page [data-filter-group]>[role=group]{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .inside-page [data-filter]{padding:10px 18px;min-height:44px;background:transparent;color:var(--ip-ink);border:1px solid var(--ip-line)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .inside-page [data-filter][aria-pressed=true]{background:var(--ip-accent);color:var(--ip-on)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .site-directory{padding:30px!important;background:var(--ip-paper)!important;color:var(--ip-ink)!important;border-top:1px solid var(--ip-line)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .site-directory h3{font:600 17px/1.4 var(--body,"Figtree",sans-serif);margin:0 0 16px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .site-directory>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 25px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .site-directory a{display:block;font:16px/1.5 var(--body,"Figtree",sans-serif)!important;min-height:44px;padding:10px 0!important;color:inherit!important;text-decoration:none}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .site-directory a[aria-current=page]{text-decoration:underline;font-weight:600!important}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .site-open-preview{display:block;padding:10px 20px;background:#eef0eb;color:#20322d;font:14px/1.4 "Figtree",sans-serif;text-align:center}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){width:100%;padding-inline:max(24px,4vw)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){padding-inline:max(24px,4cqw)}}
[data-gp-theme="field-and-fold"][data-gp-premium="true"]:has([data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=boxed]){background:#a6afa9}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=boxed]{width:min(1200px,calc(100% - 64px));margin-inline:auto;box-shadow:0 0 0 1px #0002,0 20px 70px #0002;min-height:100dvh;background:var(--ip-paper)}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=centered] :is(.ip-hero,.opening,.cake-opening,.gp-title,.book-opening,.poster-opening,.portal-opening,.destination-opening,.route-opening){text-align:center}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=centered] .ip-hero{grid-template-columns:1fr;max-width:1000px;justify-items:center}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=centered] .ip-opening{display:grid;justify-items:center}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=centered] .ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=centered] .ip-art{width:min(760px,100%)}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=minimalist] :is(.ip-section,.ip-hero){padding-block:42px}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=minimalist] :is(.ip-card,.ip-art,.ip-note){border-radius:0;box-shadow:none;background-image:none}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5vw,64px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5cqw,64px)}}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=minimalist] :is(.mullions,.glaze-rim,.cake-sticker,.paper-corner){opacity:0}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=minimalist] :is(.ip-art img,.opening img){border-radius:0}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=edge-hero] .ip-hero{width:100%;padding-inline:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4vw)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4cqw)}}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=edge-hero] .ip-art{height:600px}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=edge-hero] .ip-art img{border-radius:0}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=edge-hero] .ip-art figcaption{padding:8px 20px}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=full-width] .inside-page>.ip-opening{width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=full-width] .inside-page>.ip-opening{padding-inline:4cqw}}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=centered] .inside-page>.ip-opening{display:flex;flex-direction:column;align-items:center;text-align:center;width:min(1000px,calc(100% - 48px));gap:30px}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=centered] .inside-page>.ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=centered] .inside-page>.ip-opening>figure{width:min(780px,100%)}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=minimalist] .inside-page>.ip-opening{padding-block:38px}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=minimalist] .inside-page>.ip-opening :is(h1,figure){box-shadow:none;border-radius:0}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=edge-hero] .inside-page>.ip-opening{width:100%;max-width:none;padding:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4cqw}}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:600px;max-width:none;align-self:stretch}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=edge-hero] .inside-page>.ip-opening>figure img{height:100%;object-fit:cover;border-radius:0}
/* Existing home compositions gain real width/spacing modes without replacing their content. */
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){padding-inline:4cqw}}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child{text-align:center}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(h1,p){margin-inline:auto}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(.opening-copy,.elevation-copy,.cake-copy,.hero-copy){text-align:center}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=minimalist]:not([data-inside]) .gp-source-main>section{padding-block:44px}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=minimalist]:not([data-inside]) :is(.hero-sleeve,.calendar,.hello-note,.open-book){box-shadow:none}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child{width:100%;max-width:none;margin-inline:0;padding-inline:0;background:var(--ip-wash)}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4cqw}}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:600px}
@media(hover:hover) and (pointer:fine){[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-action:hover{transform:translateY(-2px)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .site-directory a:hover{text-decoration:underline}}
@media(max-width:850px){[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-hero,[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-hero{gap:30px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-two{gap:30px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-art{height:340px}}
@containerfs-editor-canvas (max-width: 850px){[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-hero,[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-hero{gap:30px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-two{gap:30px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-art{height:340px}}
@media(max-width:600px){[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-hero,[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-hero,[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-two,[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-grid,[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-art{height:300px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .site-directory{padding:22px!important}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-hero,[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-hero,[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-two,[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-grid,[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-art{height:300px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .site-directory{padding:22px!important}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@media(max-width:600px){[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
[data-gp-theme="field-and-fold"][data-gp-premium="true"] .inside-page a[aria-disabled=true]{cursor:default;text-decoration:none}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-layout=edge-hero] .inside-page .ip-hero .ip-art{transform:none}
@media(prefers-reduced-motion:reduce){[data-gp-theme="field-and-fold"][data-gp-premium="true"] .ip-action{transition:none;transform:none!important}}
/* Task actions always use an explicit contrasting pair, including themed form overrides. */
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site] .inside-page :is(.ip-form :is(button,[role="button"]):is([type="submit"],[data-gp-button-type="submit"]),[data-save-draft],.ip-action:not(.secondary)){
 background:var(--ip-ink)!important;color:var(--ip-paper)!important;border:1px solid var(--ip-ink)!important;
 min-height:48px;padding:12px 22px;font-size:16px;line-height:1.4;
}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site] .inside-page .ip-action.secondary{background:transparent!important;color:var(--ip-ink)!important;border-color:var(--ip-line)!important}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site] .inside-page .ip-form :is(select,select option){background-color:var(--ip-paper);color:var(--ip-ink)}
[data-gp-theme="field-and-fold"][data-gp-premium="true"] .site-plan-label{display:block;font:400 14px/1.45 var(--body,sans-serif);margin-top:6px;text-decoration:none;opacity:1}
[data-gp-theme="field-and-fold"][data-gp-premium="true"] a[data-preview-plan]{cursor:pointer}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .inside-page a[data-preview-plan]{text-decoration:none}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site] .site-directory a[data-preview-plan]{display:flex;flex-direction:column;align-items:flex-start;gap:2px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] .site-directory .site-plan-label{font-size:13px;margin:0}


[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-opening{padding-block:clamp(48px,7vw,112px)}


@container fs-editor-canvas (min-width: 0px){


[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-opening{padding-block:clamp(48px,7cqw,112px)}}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-opening h1{max-width:15ch}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-reading p{margin-top:22px}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-section>h2{margin-bottom:28px;max-width:24ch}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-section p+p{margin-top:18px}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-steps{list-style:none;padding:0;counter-reset:ip-step}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-steps li{counter-increment:ip-step;position:relative;padding:28px 0 28px 76px;border-top:1px solid var(--line,var(--rule,currentColor));max-width:85ch}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-steps li:before{content:counter(ip-step,decimal-leading-zero);position:absolute;left:0;top:30px;font:inherit;color:var(--accent,var(--rust,currentColor))}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-steps p{margin-top:12px}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-collection{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px;margin-top:30px}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-collection h2{font-size:clamp(30px,3vw,46px);margin-top:20px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-collection h2{font-size:clamp(30px,3cqw,46px)}}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-collection p,[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-card p{margin-block:16px}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-art{overflow:hidden}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-art img{width:100%;height:100%;object-fit:cover;display:block}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-art figcaption{font:14px/1.5 var(--body,Figtree,sans-serif);padding:12px 0}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-collection .ip-art{height:260px}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-band p{margin-block:20px}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-questions details{padding:24px 0;border-top:1px solid var(--line,var(--rule,currentColor));max-width:80ch}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-questions summary{cursor:pointer;font-size:1.18em;font-weight:600}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-questions p{margin-top:18px}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-choices{display:flex;flex-wrap:wrap;gap:10px;margin-block:22px}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-choices :is(button,[role="button"]){border:1px solid var(--line,var(--rule,currentColor));background:var(--wash,var(--paper));color:var(--ink);padding:12px 18px;min-height:44px;font:inherit;cursor:pointer}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-choices :is(button,[role="button"])[aria-pressed=true]{background:var(--ink);color:var(--paper)}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:30px;max-width:960px}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-form label{display:grid;gap:9px;align-content:start}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-form label:has(textarea),[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-form>.ip-note{grid-column:1/-1}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-form input,[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-form select,[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-form textarea{width:100%;max-width:100%;border:1px solid var(--line,var(--rule,currentColor));background:var(--paper);color:var(--ink);padding:12px;font:inherit;border-radius:0}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] [data-draft-output]{display:block;white-space:pre-wrap;padding:24px;border:1px solid var(--line,var(--rule,currentColor));margin-block:24px;max-width:960px;overflow-wrap:anywhere}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] [hidden]{display:none!important}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-checks{display:grid;gap:14px;max-width:850px;margin-block:22px}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-checks label{display:flex;align-items:flex-start;gap:15px;padding:14px;border-bottom:1px solid var(--line,var(--rule,currentColor));cursor:pointer}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-checks input{flex:none;margin-top:6px;accent-color:var(--accent,var(--rust));width:20px;height:20px}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-ledger>div{padding:19px 0;border-bottom:1px solid var(--line,var(--rule,currentColor));display:grid;grid-template-columns:180px 1fr;gap:24px}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-ledger dt{font-weight:600}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-ledger dd{margin:0;max-width:66ch}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-caption{font-size:14px;color:var(--muted,var(--ink))}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-note{font-size:15px}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] :is(button,a,summary,input,textarea,select):focus-visible{outline:3px solid var(--accent,var(--rust,currentColor));outline-offset:4px}
@media(max-width:700px){[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-collection,[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-form{grid-template-columns:1fr}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-ledger>div{grid-template-columns:1fr;gap:7px}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-steps li{padding-left:48px}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-collection .ip-art{height:250px}}
@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-collection,[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-form{grid-template-columns:1fr}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-ledger>div{grid-template-columns:1fr;gap:7px}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-steps li{padding-left:48px}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-collection .ip-art{height:250px}}
@media(prefers-reduced-motion:no-preference){[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-choices :is(button,[role="button"]),[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-action{transition:transform 150ms ease,opacity 150ms ease}[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-choices :is(button,[role="button"]):active,[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-action:active{transform:translateY(2px)}}


[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside][data-pilot="field-and-fold"]{--accent:var(--rust);--wash:var(--warm)}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-field-opening .ip-art{height:500px;clip-path:polygon(0 3%,98% 0,100% 97%,3% 100%)}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-opening h1{font-family:Literata,serif;font-size:clamp(44px,5.3vw,76px)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-opening h1{font-size:clamp(44px,5.3cqw,76px)}}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-route .ip-steps{border-left:2px dashed var(--rust);padding-left:24px;margin-left:12px}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-route .ip-steps li{border-top:0;padding-left:40px;padding-block:22px}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-route .ip-steps li:before{content:"";width:15px;height:15px;background:var(--rust);border:4px solid var(--paper);border-radius:50%;left:-33px;top:30px;box-shadow:0 0 0 1px var(--rust)}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-walk-record{border-bottom:1px solid var(--line);padding-bottom:50px}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-walk-record .ip-art{height:420px;transform:rotate(-1deg)}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-workbook{background:var(--wash);border-top:3px solid var(--rust);padding:clamp(24px,4vw,54px)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-workbook{padding:clamp(24px,4cqw,54px)}}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-collection .ip-card{border-top:1px solid var(--line);padding-top:25px}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-collection h2{font-family:Literata,serif;font-weight:450}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-caption{font-family:"Atkinson Hyperlegible Next",sans-serif}
@media(max-width:700px){[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-field-opening .ip-art{height:350px}}
@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-field-opening .ip-art{height:350px}}


[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-art{display:grid;grid-template-rows:minmax(0,1fr) auto}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside] .ip-art img{min-height:0}

/* Owner selected alternative on 18 October 2026. Main heading roles only. */
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-gp-kind="section"] h1{font-family:"Newsreader", serif!important;font-weight:500!important;letter-spacing:-0.01em!important;line-height:1.12!important;font-variation-settings:normal!important;font-optical-sizing:auto!important}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-gp-kind="section"] h2{font-family:"Atkinson Hyperlegible Next", sans-serif!important;font-weight:600!important;letter-spacing:-.01em!important;line-height:1.17!important;font-variation-settings:normal!important;font-optical-sizing:auto!important}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-gp-kind="section"] h3{font-family:"Atkinson Hyperlegible Next", sans-serif!important;font-weight:600!important;letter-spacing:0!important;line-height:1.25!important;font-variation-settings:normal!important}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-inside][data-gp-kind="section"] h1{font-family:"Newsreader", serif!important;line-height:1.14!important;letter-spacing:-.012em!important;font-weight:500!important;text-transform:none!important}
@media(max-width:650px){[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-gp-kind="section"] h1{line-height:1.12!important;letter-spacing:-0.01em!important}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-gp-kind="section"] h1{line-height:1.12!important;letter-spacing:-0.01em!important}}

/* Approved readability refinements, 18 October 2026.
   Only meaningful helpers, local groups and selected reading paragraphs.
   Owner-selected type families, display sizes and frozen comparisons stay authoritative. */

/* Kiln House: the brief promise and sample guidance are part of the task. */
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site="kiln-house"] :is(.field-note,.form-note,.pairing-hint,.material-note,.light-note,.letter-note,.combination-copy small,.material-row small){font-size:14px;line-height:1.5}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site="kiln-house"] .form-note{margin-top:16px}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site="kiln-house"] :is(.quiet-button,.combination-action){font-size:15px;line-height:1.5}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site="kiln-house"] .quiet-button{min-height:44px}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site="kiln-house"] .directory-links a small{font-size:14px;line-height:1.5}

/* Small study labels explain a choice, rather than acting as an imprint. */
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site="true-joint"] .ux-stage-bar :is(button,[role="button"]) small{font-size:14px;line-height:1.5}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site="neighbourhood-edit"] .ux-plan-header{font-size:14px;line-height:1.5;gap:12px;flex-wrap:wrap}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site="neighbourhood-edit"] .ux-room-title{margin-bottom:16px}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site="neighbourhood-edit"] .ux-room-title h3{margin-bottom:0}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site="neighbourhood-edit"] :is(.home-finder label,.home-finder output,.area-index small){font-size:14px;line-height:1.5}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site="neighbourhood-edit"] .home-finder select{font-size:16px;min-height:44px}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site="harbour"] .ux-folio .ux-document-row label{font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site="daymark-window-care"] .dm-sheet-head{font-size:14px;line-height:1.5;flex-wrap:wrap}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site="velum-window-care"] .ux-v-nav :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}

/* Existing small controls retain or gain the comfortable target height. */
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site="stem-and-still"] .stem-slip :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:48px;gap:8px}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site="cake-box"] .flavour-pick :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site="cake-box"] .message-label small{font-size:14px;line-height:1.5}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site="crm-recruitment-people"] .question-buttons{gap:10px}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site="crm-recruitment-people"] .question-buttons :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:10px 12px}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site="the-second-set-programme"] .pr-order-actions :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:8px 10px}

/* The format facts belong with the large ensemble names. */
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site="the-second-set-afterglow"] .ag-format-ribbon span:not(.fs-richtext){font-size:14px;line-height:1.5;margin-top:8px}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site="the-second-set-programme"] .opening-note{font-size:14px;line-height:1.5}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site="the-second-set-signal"] .form-note{font-size:14px;line-height:1.5}

/* Slipstream: useful record, filter and brief text; preserve the scrollable comparison. */
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site="slipstream"] :is(.featured-price small,.rail-note,.stock-finder label,.stock-caption,.inspection-note,.inspection-instruction,.form-note,[data-gp-id="stock-count"],[data-gp-id="form-question-count"]){font-size:14px;line-height:1.5}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site="slipstream"] :is(.visit-form label,.form-pair label){font-size:15px;line-height:1.5}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site="slipstream"] :is(.car-record summary,[data-gp-id="reset-stock"],[data-gp-id="clear-compare"],.quick-compare button){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site="slipstream"] .stock-finder select{min-height:44px}

/* Narrow only sustained paragraphs, preserving plans, records, lists and tables. */
[data-gp-theme="field-and-fold"][data-gp-premium="true"]:is([data-site="stem-and-still"],[data-site="kiln-house"],[data-site="true-joint"])[data-inside] .ip-reading>p{max-width:64ch}

@media(max-width:700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

@containerfs-editor-canvas (max-width: 700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="field-and-fold"][data-gp-premium="true"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

/* No generic heading, body, section-spacing or panel-height reset.
   Goodpane's unused calendar CSS, Expedition's real stage envelope,
   Starlight's passage leading and Velum's display introduction need no blanket fix. */

/* Menu-only reset. Shapes and composition are authored separately below. */
[data-gp-theme="field-and-fold"][data-gp-premium="true"] dialog[data-gp-id="mega-menu"].mega-menu{--mi-paper:var(--paper);--mi-ink:var(--ink);--mi-wash:var(--wash,var(--paper));--mi-line:var(--line);--mi-accent:var(--accent,var(--ink));position:fixed;inset:auto;margin:0;padding:0;min-width:0;min-height:0;max-width:none;max-height:none;border:0;border-radius:0;background:var(--mi-paper);color:var(--mi-ink);box-shadow:0 22px 90px #0004;font:16px/1.5 var(--body,sans-serif);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:auto;transform:none}
[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"][open]{display:block;animation:none}
[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"][open]:not([data-closing])>:not(.mi-bar){animation:gp-fieldpremium-mi-arrive 180ms ease-out both}
[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"][data-closing]{animation:gp-fieldpremium-mi-leave 160ms ease-in both}
[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"]::backdrop{background:#0007;backdrop-filter:blur(3px)}
[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] *,[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] *::before,[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] *::after{box-sizing:border-box}
[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] :is(h2,h3,p,figure){margin:0;max-width:none}
[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] h2{font-family:var(--mi-display,var(--display,serif));font-weight:500;line-height:1.1;letter-spacing:-.025em;text-transform:none}
[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] h3{font:600 19px/1.25 var(--body,sans-serif);letter-spacing:0;text-transform:none}
[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] a{color:inherit;text-decoration:none;min-height:44px;transition:background-color 160ms,color 160ms;text-transform:none;letter-spacing:0}
[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] a:hover{text-decoration:underline;text-underline-offset:5px}
[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] a:focus-visible,[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] :is(button,[role="button"]):focus-visible{outline:2px solid currentColor;outline-offset:4px}
[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] small{font:400 13px/1.5 var(--body,sans-serif);letter-spacing:0;text-transform:none}
[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-bar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:0;padding:16px 28px;border-bottom:1px solid var(--mi-line);background:var(--mi-paper);color:var(--mi-ink);font:500 15px/1.3 var(--body,sans-serif)}
[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-bar a{display:flex;align-items:center;font:inherit;max-width:70%}
[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] [data-menu-close]{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:64px;margin:0;padding:9px 12px;border:1px solid var(--mi-line);border-radius:0;background:var(--mi-paper);color:var(--mi-ink);font:500 14px/1.3 var(--body,sans-serif);cursor:pointer;flex:none}
[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-note{font:400 12px/1.5 var(--body,sans-serif);color:var(--mi-ink)}
@keyframes gp-fieldpremium-mi-arrive{from{opacity:0}to{opacity:1}}@keyframes gp-fieldpremium-mi-leave{to{opacity:0}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"][open],[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"][data-closing],[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"][open]>:not(.mi-bar){animation:none}[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] a{transition:none}}

[data-gp-theme="field-and-fold"][data-gp-premium="true"] dialog[data-gp-id="mega-menu"].mega-menu{--mi-paper:var(--paper);--mi-ink:var(--ink);--mi-wash:var(--ip-wash);--mi-line:var(--line);--mi-accent:var(--ip-accent);--mi-display:"Newsreader",serif;inset:7vh 3vw auto;width:94vw;max-height:86dvh;border-radius:18px;border:1px solid var(--mi-line)}

@container fs-editor-canvas (min-width: 0px){

[data-gp-theme="field-and-fold"][data-gp-premium="true"] dialog[data-gp-id="mega-menu"].mega-menu{inset:7vh 3cqw auto;width:94cqw}}
[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-bar{background:var(--mi-wash);padding:15px 32px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-route-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;padding:25px 42px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] h2{font-size:43px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-route-heading p{font-size:16px}
[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-route-map{position:relative;display:grid;grid-template-columns:1fr 1fr 1fr;gap:35px;padding:22px 42px 28px;isolation:isolate}[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-route-line{position:absolute;width:90%;height:180px;inset:15px 5% auto;z-index:-1;fill:none;stroke:var(--mi-line);stroke-width:3;stroke-dasharray:7 8}[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-route-stop{padding:20px 22px 18px;background:var(--mi-paper);border:1px solid var(--mi-line);border-radius:45% 45% 8px 8px;text-align:center;align-self:start}[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-route-stop:nth-of-type(2){margin-top:35px;border-radius:8px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-route-stop:nth-of-type(3){margin-top:10px;border-radius:8px 8px 45% 45%;padding-bottom:28px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-stop-symbol{font:400 43px/1 serif;display:block;margin-bottom:12px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-route-stop h3{font:600 21px/1.2 "Atkinson Hyperlegible Next",sans-serif;margin-bottom:10px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-route-stop nav a{display:flex;align-items:center;justify-content:center;padding:9px 0;font-size:16px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-route-pouch{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:15px 30px;padding:14px 30px;background:var(--mi-wash);border-top:1px dashed var(--mi-line)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-route-pouch>span:not(.fs-richtext){font-weight:600;font-size:14px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-route-pouch a{display:flex;align-items:center;font-size:15px}
@media(max-width:900px){[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-route-heading{display:block;padding:24px 22px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] h2{font-size:37px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-route-heading p{margin-top:16px;font-size:15px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-route-map{display:block;padding:0 22px 22px 49px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-route-line{display:none}[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-route-map::before{content:"";position:absolute;inset:16px auto 35px 32px;border-left:2px dashed var(--mi-line)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-route-stop,[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-route-stop:nth-of-type(2),[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-route-stop:nth-of-type(3){margin:0 0 20px;border-radius:12px;padding:20px;text-align:left;position:relative}[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-route-stop::before{content:"";position:absolute;top:30px;left:-24px;width:12px;height:12px;border:2px solid var(--mi-ink);background:var(--mi-paper);border-radius:50%}[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-stop-symbol{font-size:30px;float:right;margin:0 0 12px 15px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-route-stop nav a{justify-content:start}[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-route-pouch{display:block;padding:22px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-route-pouch>span:not(.fs-richtext){display:block;margin-bottom:7px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-route-heading{display:block;padding:24px 22px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] h2{font-size:37px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-route-heading p{margin-top:16px;font-size:15px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-route-map{display:block;padding:0 22px 22px 49px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-route-line{display:none}[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-route-map::before{content:"";position:absolute;inset:16px auto 35px 32px;border-left:2px dashed var(--mi-line)}[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-route-stop,[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-route-stop:nth-of-type(2),[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-route-stop:nth-of-type(3){margin:0 0 20px;border-radius:12px;padding:20px;text-align:left;position:relative}[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-route-stop::before{content:"";position:absolute;top:30px;left:-24px;width:12px;height:12px;border:2px solid var(--mi-ink);background:var(--mi-paper);border-radius:50%}[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-stop-symbol{font-size:30px;float:right;margin:0 0 12px 15px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-route-stop nav a{justify-content:start}[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-route-pouch{display:block;padding:22px}[data-gp-theme="field-and-fold"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-route-pouch>span:not(.fs-richtext){display:block;margin-bottom:7px}}

[data-gp-theme="field-and-fold"][data-gp-premium="true"]{--paper:rgb(var(--c-paper));--ink:rgb(var(--c-ink-950));--accent:rgb(var(--c-brand-600));--wash:rgb(var(--c-paper-soft));--line:rgb(var(--c-line));--muted:rgb(var(--c-ink-400));--on-accent:var(--fs-on-brand);--focus:rgb(var(--c-accent));--work:var(--fs-surface-inverted,var(--wash));--work-ink:var(--fs-on-surface-inverted,var(--paper));--body:var(--font-sans);}
[data-gp-theme="slipstream"][data-gp-premium="true"]{--ease-out:cubic-bezier(.23,1,.32,1);--ease-drawer:cubic-bezier(.32,.72,0,1)}
[data-gp-theme="slipstream"][data-gp-premium="true"] *{box-sizing:border-box}[data-gp-theme="slipstream"][data-gp-premium="true"]{scroll-behavior:smooth;scroll-padding-top:100px}[data-gp-theme="slipstream"][data-gp-premium="true"]{margin:0}[data-gp-theme="slipstream"][data-gp-premium="true"] img{max-width:100%;display:block}[data-gp-theme="slipstream"][data-gp-premium="true"] :is(button,[role="button"]),[data-gp-theme="slipstream"][data-gp-premium="true"] input,[data-gp-theme="slipstream"][data-gp-premium="true"] select,[data-gp-theme="slipstream"][data-gp-premium="true"] textarea{font:inherit}[data-gp-theme="slipstream"][data-gp-premium="true"] :is(button,[role="button"]),[data-gp-theme="slipstream"][data-gp-premium="true"] a,[data-gp-theme="slipstream"][data-gp-premium="true"] input,[data-gp-theme="slipstream"][data-gp-premium="true"] select,[data-gp-theme="slipstream"][data-gp-premium="true"] textarea{touch-action:manipulation}[data-gp-theme="slipstream"][data-gp-premium="true"] :is(button,[role="button"]),[data-gp-theme="slipstream"][data-gp-premium="true"] a{ -webkit-tap-highlight-color:transparent}[data-gp-theme="slipstream"][data-gp-premium="true"] :is(button,[role="button"]){cursor:pointer}[data-gp-theme="slipstream"][data-gp-premium="true"] :is(button,[role="button"]):active{transform:translateY(1px)}[data-gp-theme="slipstream"][data-gp-premium="true"] a{color:inherit;text-underline-offset:.22em}[data-gp-theme="slipstream"][data-gp-premium="true"] :is(button,[role="button"]):focus-visible,[data-gp-theme="slipstream"][data-gp-premium="true"] a:focus-visible,[data-gp-theme="slipstream"][data-gp-premium="true"] summary:focus-visible,[data-gp-theme="slipstream"][data-gp-premium="true"] input:focus-visible,[data-gp-theme="slipstream"][data-gp-premium="true"] select:focus-visible,[data-gp-theme="slipstream"][data-gp-premium="true"] textarea:focus-visible{outline:3px solid var(--focus,#346ddb);outline-offset:5px}[data-gp-theme="slipstream"][data-gp-premium="true"] textarea{resize:vertical}[data-gp-theme="slipstream"][data-gp-premium="true"] input,[data-gp-theme="slipstream"][data-gp-premium="true"] textarea{caret-color:var(--focus,currentColor)}[data-gp-theme="slipstream"][data-gp-premium="true"] :is(button,[role="button"]),[data-gp-theme="slipstream"][data-gp-premium="true"] select,[data-gp-theme="slipstream"][data-gp-premium="true"] input{min-height:44px}[data-gp-theme="slipstream"][data-gp-premium="true"] summary{cursor:pointer}[data-gp-theme="slipstream"][data-gp-premium="true"] section[id],[data-gp-theme="slipstream"][data-gp-premium="true"] footer[id]{scroll-margin-top:110px}[data-gp-theme="slipstream"][data-gp-premium="true"] [hidden]{display:none!important}[data-gp-theme="slipstream"][data-gp-premium="true"] .skip-link{position:fixed;z-index:200;top:8px;left:8px;background:#fff;color:#111;padding:12px 18px;transform:translateY(-150%)}[data-gp-theme="slipstream"][data-gp-premium="true"] .skip-link:focus{transform:none}
[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar{min-height:42px;background:#f6f6f2;color:#252a2a;border-bottom:1px solid #d5d8d4;font:13px/1.3 "Figtree",sans-serif;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 3vw;position:relative;z-index:30}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar{padding:5px 3cqw}}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar a{white-space:nowrap}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar [role=group]{display:flex;gap:2px;align-items:center}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar :is(button,[role="button"]){min-height:32px;background:transparent;color:inherit;border:0;padding:6px 10px;border-radius:3px;font-size:13px;transition:background-color 150ms var(--ease-out)}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar [aria-pressed=true]{background:#252a2a;color:#fff}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar :is(button,[role="button"])[data-replay-intro]{border:1px solid #b6beb8}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-label{color:#515953}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar::selection{background:#252a2a;color:#fff}
[data-gp-theme="slipstream"][data-gp-premium="true"] dialog.mega-menu{max-width:none;max-height:calc(100dvh - 32px);overflow:auto;border:0;padding:0;color:inherit;overscroll-behavior:contain}[data-gp-theme="slipstream"][data-gp-premium="true"] dialog.mega-menu::backdrop{background:rgb(8 16 18 / .52)}[data-gp-theme="slipstream"][data-gp-premium="true"] .mega-menu[open]{animation:gp-slippremium-menu-arrive 220ms var(--ease-drawer)}[data-gp-theme="slipstream"][data-gp-premium="true"] .mega-menu[data-closing]{animation:gp-slippremium-menu-leave 160ms var(--ease-out) forwards}[data-gp-theme="slipstream"][data-gp-premium="true"] .mega-menu[data-keyboard]{animation:none}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-lock{overflow:hidden}@keyframes gp-slippremium-menu-arrive{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}@keyframes gp-slippremium-menu-leave{to{opacity:0;transform:translateY(-10px)}}
[data-gp-theme="slipstream"][data-gp-premium="true"] .preloader{display:none;position:fixed;inset:0;z-index:190;place-content:center;pointer-events:none;text-align:center}[data-gp-theme="slipstream"][data-gp-premium="true"] .preloader.is-active{display:grid;animation:gp-slippremium-intro-failsafe 1.3s step-end forwards}[data-gp-theme="slipstream"][data-gp-premium="true"] .preloader.is-leaving{opacity:0;transition:opacity 180ms var(--ease-out)}@keyframes gp-slippremium-intro-failsafe{0%,99%{visibility:visible}100%{visibility:hidden}}
@media(max-width:650px){[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar .preview-label{display:none}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="slipstream"][data-gp-premium="true"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar .preview-label{display:none}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="slipstream"][data-gp-premium="true"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="slipstream"][data-gp-premium="true"]{scroll-behavior:auto}[data-gp-theme="slipstream"][data-gp-premium="true"] *,[data-gp-theme="slipstream"][data-gp-premium="true"] *::before,[data-gp-theme="slipstream"][data-gp-premium="true"] *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-gp-theme="slipstream"][data-gp-premium="true"] .preloader.is-active{display:none!important}}
@media(max-width:650px){[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar a{font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar a{font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}

[data-gp-theme="slipstream"][data-gp-premium="true"]{--ink:#111b20;--paper:#f2f1e9;--lime:#c5e050;--blue:#738b93;--muted:#b3c0bd;--line:#415056;--paper-line:#c8cdc3;--ease:cubic-bezier(.2,.8,.2,1)}
[data-gp-theme="slipstream"][data-gp-premium="true"] *{box-sizing:border-box}[data-gp-theme="slipstream"][data-gp-premium="true"]{scroll-behavior:smooth;scroll-padding-top:30px}[data-gp-theme="slipstream"][data-gp-premium="true"]{margin:0;background:var(--ink);color:var(--paper);font:400 18px/1.5 "Barlow",sans-serif;-webkit-font-smoothing:antialiased}[data-gp-theme="slipstream"][data-gp-premium="true"] ::selection{background:var(--lime);color:var(--ink)}[data-gp-theme="slipstream"][data-gp-premium="true"] a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}[data-gp-theme="slipstream"][data-gp-premium="true"] :is(button,[role="button"]),[data-gp-theme="slipstream"][data-gp-premium="true"] input,[data-gp-theme="slipstream"][data-gp-premium="true"] select,[data-gp-theme="slipstream"][data-gp-premium="true"] textarea{font:inherit}[data-gp-theme="slipstream"][data-gp-premium="true"] :is(button,[role="button"]),[data-gp-theme="slipstream"][data-gp-premium="true"] a,[data-gp-theme="slipstream"][data-gp-premium="true"] label,[data-gp-theme="slipstream"][data-gp-premium="true"] summary{-webkit-tap-highlight-color:transparent}[data-gp-theme="slipstream"][data-gp-premium="true"] :is(button,[role="button"]){cursor:pointer}[data-gp-theme="slipstream"][data-gp-premium="true"] :is(button,[role="button"]):disabled{cursor:default;opacity:.45}[data-gp-theme="slipstream"][data-gp-premium="true"] :is(button,[role="button"]):active{transform:translateY(1px)}[data-gp-theme="slipstream"][data-gp-premium="true"] :is(button,[role="button"]),[data-gp-theme="slipstream"][data-gp-premium="true"] a,[data-gp-theme="slipstream"][data-gp-premium="true"] input,[data-gp-theme="slipstream"][data-gp-premium="true"] select,[data-gp-theme="slipstream"][data-gp-premium="true"] textarea,[data-gp-theme="slipstream"][data-gp-premium="true"] summary{outline-offset:5px}[data-gp-theme="slipstream"][data-gp-premium="true"] :is(button,[role="button"]):focus-visible,[data-gp-theme="slipstream"][data-gp-premium="true"] a:focus-visible,[data-gp-theme="slipstream"][data-gp-premium="true"] input:focus-visible,[data-gp-theme="slipstream"][data-gp-premium="true"] select:focus-visible,[data-gp-theme="slipstream"][data-gp-premium="true"] textarea:focus-visible,[data-gp-theme="slipstream"][data-gp-premium="true"] summary:focus-visible{outline:2px solid var(--blue)}[data-gp-theme="slipstream"][data-gp-premium="true"] input,[data-gp-theme="slipstream"][data-gp-premium="true"] select,[data-gp-theme="slipstream"][data-gp-premium="true"] textarea{accent-color:var(--lime);caret-color:var(--ink)}[data-gp-theme="slipstream"][data-gp-premium="true"] img{display:block;max-width:100%}[data-gp-theme="slipstream"][data-gp-premium="true"] svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}[data-gp-theme="slipstream"][data-gp-premium="true"] p,[data-gp-theme="slipstream"][data-gp-premium="true"] h1,[data-gp-theme="slipstream"][data-gp-premium="true"] h2,[data-gp-theme="slipstream"][data-gp-premium="true"] h3,[data-gp-theme="slipstream"][data-gp-premium="true"] h4,[data-gp-theme="slipstream"][data-gp-premium="true"] figure,[data-gp-theme="slipstream"][data-gp-premium="true"] dl{margin:0}[data-gp-theme="slipstream"][data-gp-premium="true"] h1,[data-gp-theme="slipstream"][data-gp-premium="true"] h2,[data-gp-theme="slipstream"][data-gp-premium="true"] h3,[data-gp-theme="slipstream"][data-gp-premium="true"] h4{font-family:"Barlow Condensed",sans-serif;font-weight:600;line-height:1.02;text-wrap:balance}[data-gp-theme="slipstream"][data-gp-premium="true"] h1{font-size:clamp(50px,4.6vw,76px);letter-spacing:-.025em}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="slipstream"][data-gp-premium="true"] h1{font-size:clamp(50px,4.6cqw,76px)}}[data-gp-theme="slipstream"][data-gp-premium="true"] h2{font-size:clamp(42px,4vw,66px);letter-spacing:-.02em}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="slipstream"][data-gp-premium="true"] h2{font-size:clamp(42px,4cqw,66px)}}[data-gp-theme="slipstream"][data-gp-premium="true"] h3{font-size:30px}[data-gp-theme="slipstream"][data-gp-premium="true"] h4{font-size:23px}[data-gp-theme="slipstream"][data-gp-premium="true"] small{font-size:15px}[data-gp-theme="slipstream"][data-gp-premium="true"] a{text-decoration:none}[data-gp-theme="slipstream"][data-gp-premium="true"] :is(button,[role="button"]){border:0;border-radius:0}[data-gp-theme="slipstream"][data-gp-premium="true"] input[type=checkbox]{border-radius:0}[data-gp-theme="slipstream"][data-gp-premium="true"] :is(button,[role="button"]),[data-gp-theme="slipstream"][data-gp-premium="true"] summary,[data-gp-theme="slipstream"][data-gp-premium="true"] a{touch-action:manipulation}[data-gp-theme="slipstream"][data-gp-premium="true"] [hidden]{display:none!important}[data-gp-theme="slipstream"][data-gp-premium="true"] .page-width{width:calc(100% - 88px);max-width:1512px;margin-inline:auto}[data-gp-theme="slipstream"][data-gp-premium="true"] .section-space{padding-block:102px}[data-gp-theme="slipstream"][data-gp-premium="true"] .skip-link{position:fixed;top:-80px;left:20px;z-index:100;padding:14px 20px;background:var(--lime);color:var(--ink)}[data-gp-theme="slipstream"][data-gp-premium="true"] .skip-link:focus{top:16px}[data-gp-theme="slipstream"][data-gp-premium="true"] .button{min-height:52px;padding:14px 19px;display:inline-flex;align-items:center;justify-content:space-between;gap:20px;font-weight:600;line-height:1.3;text-align:left;transition:background .18s var(--ease),transform .18s var(--ease)}[data-gp-theme="slipstream"][data-gp-premium="true"] .lime{background:var(--lime);color:var(--ink)}[data-gp-theme="slipstream"][data-gp-premium="true"] .dark{background:var(--ink);color:var(--paper)}[data-gp-theme="slipstream"][data-gp-premium="true"] .text-button{display:inline-flex;gap:15px;align-items:center;justify-content:space-between;background:transparent;color:inherit;min-height:44px;padding:8px 0;text-align:left}[data-gp-theme="slipstream"][data-gp-premium="true"] .text-button svg{width:20px;height:20px}[data-gp-theme="slipstream"][data-gp-premium="true"] .text-button:disabled{color:inherit}[data-gp-theme="slipstream"][data-gp-premium="true"] .section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:40px}[data-gp-theme="slipstream"][data-gp-premium="true"] .section-heading>p,[data-gp-theme="slipstream"][data-gp-premium="true"] .section-heading>div{max-width:34ch}[data-gp-theme="slipstream"][data-gp-premium="true"] .section-heading p{color:var(--muted)}
[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar{min-height:48px;display:flex;align-items:center;gap:22px;padding:5px 28px;color:var(--paper);background:#263238;border-bottom:1px solid var(--line);font-size:14px;line-height:1.2}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar>a{display:flex;align-items:center;gap:9px}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar>a svg{width:18px;height:18px;order:-1}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-name{margin-right:auto;color:#d2d9d3}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar [role=group]{display:flex;gap:2px}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar :is(button,[role="button"]){min-height:34px;padding:7px 10px;background:transparent;color:var(--paper);font-size:14px}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar :is(button,[role="button"])[aria-pressed=true]{background:var(--paper);color:var(--ink)}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar>:is(button,[role="button"]){border:1px solid #69787b}[data-gp-theme="slipstream"][data-gp-premium="true"] .site-header{display:flex;align-items:center;justify-content:space-between;gap:30px;height:104px}[data-gp-theme="slipstream"][data-gp-premium="true"] .brand{display:inline-flex;align-items:center;gap:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .brand>svg{width:45px;height:38px;stroke-width:1.9;color:var(--lime)}[data-gp-theme="slipstream"][data-gp-premium="true"] .brand>span:not(.fs-richtext){font:600 40px/.8 "Barlow Condensed",sans-serif;letter-spacing:.04em}[data-gp-theme="slipstream"][data-gp-premium="true"] .brand small{display:block;font:400 12px/1 "Barlow",sans-serif;letter-spacing:.28em;margin-top:10px}[data-gp-theme="slipstream"][data-gp-premium="true"] .header-links{display:flex;gap:42px;align-items:center;margin-left:auto;margin-right:32px}[data-gp-theme="slipstream"][data-gp-premium="true"] .header-links>a{display:flex;align-items:center;gap:10px;min-height:44px}[data-gp-theme="slipstream"][data-gp-premium="true"] .nav-count{font-variant-numeric:tabular-nums;color:var(--lime);font-size:14px}[data-gp-theme="slipstream"][data-gp-premium="true"] .desk-button{display:flex;align-items:center;gap:32px;background:transparent;color:var(--paper);border:1px solid #66767a;min-height:48px;padding:9px 16px}[data-gp-theme="slipstream"][data-gp-premium="true"] .desk-button svg{color:var(--lime)}
[data-gp-theme="slipstream"][data-gp-premium="true"] .vehicle-file{display:grid;grid-template-columns:minmax(0,2.15fr) minmax(300px,1fr);align-items:stretch;border:1px solid var(--line)}[data-gp-theme="slipstream"][data-gp-premium="true"] .vehicle-study{min-width:0;display:flex;flex-direction:column;background:#dfe4d9;color:var(--ink)}[data-gp-theme="slipstream"][data-gp-premium="true"] .study-heading{display:flex;gap:32px;align-items:flex-start;padding:32px 34px 0;position:relative;z-index:1}[data-gp-theme="slipstream"][data-gp-premium="true"] .study-heading h1{flex:1}[data-gp-theme="slipstream"][data-gp-premium="true"] .study-heading p{font-size:17px;line-height:1.45;max-width:20ch;padding-top:5px}[data-gp-theme="slipstream"][data-gp-premium="true"] .study-heading .file-mark{width:37px;height:37px;color:#506262;margin-top:2px}[data-gp-theme="slipstream"][data-gp-premium="true"] .hero-art{position:relative;flex:1;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;min-height:345px}[data-gp-theme="slipstream"][data-gp-premium="true"] .hero-art img{width:100%;height:100%;min-height:345px;max-height:480px;object-fit:cover;object-position:center 58%;mix-blend-mode:multiply}[data-gp-theme="slipstream"][data-gp-premium="true"] .hero-art figcaption{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 34px 17px;background:#dfe4d9;font-size:13px;line-height:1.4}[data-gp-theme="slipstream"][data-gp-premium="true"] .hero-art figcaption>span:not(.fs-richtext):first-child{font-size:12px;letter-spacing:.13em}[data-gp-theme="slipstream"][data-gp-premium="true"] .study-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:20px 34px;border-top:1px solid #b8c3b7;font-size:15px}[data-gp-theme="slipstream"][data-gp-premium="true"] .study-footer>span:not(.fs-richtext){letter-spacing:.1em;font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .study-footer a{display:flex;align-items:center;gap:20px}[data-gp-theme="slipstream"][data-gp-premium="true"] .spec-rail{background:var(--paper);color:var(--ink);display:flex;flex-direction:column;min-width:0}[data-gp-theme="slipstream"][data-gp-premium="true"] .file-tab{display:flex;justify-content:space-between;gap:12px;padding:16px 27px;background:var(--lime);font-size:12px;letter-spacing:.08em;line-height:1.3}[data-gp-theme="slipstream"][data-gp-premium="true"] .rail-main{padding:26px 28px 16px;flex:1}[data-gp-theme="slipstream"][data-gp-premium="true"] .rail-main h2{font-size:clamp(40px,3.6vw,58px);letter-spacing:-.015em}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="slipstream"][data-gp-premium="true"] .rail-main h2{font-size:clamp(40px,3.6cqw,58px)}}[data-gp-theme="slipstream"][data-gp-premium="true"] .vehicle-trim{color:#44595e;font-size:18px;margin-top:7px}[data-gp-theme="slipstream"][data-gp-premium="true"] .featured-price{font:600 46px/1.05 "Barlow Condensed",sans-serif;margin-top:24px}[data-gp-theme="slipstream"][data-gp-premium="true"] .featured-price small{display:block;font:400 13px/1.4 "Barlow",sans-serif;margin-top:4px;color:#4c5f63}[data-gp-theme="slipstream"][data-gp-premium="true"] .spec-list{margin-top:24px;border-top:1px solid var(--paper-line);font-variant-numeric:tabular-nums}[data-gp-theme="slipstream"][data-gp-premium="true"] .spec-list>div{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid var(--paper-line);font-size:16px}[data-gp-theme="slipstream"][data-gp-premium="true"] .spec-list dt{color:#43565b}[data-gp-theme="slipstream"][data-gp-premium="true"] .spec-list dd{margin:0;font-weight:600;text-align:right}[data-gp-theme="slipstream"][data-gp-premium="true"] .spec-list small{font-size:13px;font-weight:400}[data-gp-theme="slipstream"][data-gp-premium="true"] .rail-history{display:flex;gap:12px;align-items:flex-start;margin:19px 0 21px}[data-gp-theme="slipstream"][data-gp-premium="true"] .rail-history svg{margin-top:1px;color:#4c6268}[data-gp-theme="slipstream"][data-gp-premium="true"] .rail-history p{font-size:15px;line-height:1.35}[data-gp-theme="slipstream"][data-gp-premium="true"] .rail-history small{display:block;color:#506369;font-size:12px;margin-top:3px}[data-gp-theme="slipstream"][data-gp-premium="true"] .rail-compare{width:100%}[data-gp-theme="slipstream"][data-gp-premium="true"] .rail-compare[aria-pressed=true]{background:var(--ink);color:var(--lime)}[data-gp-theme="slipstream"][data-gp-premium="true"] .rail-compare[aria-pressed=true] svg{transform:rotate(45deg)}[data-gp-theme="slipstream"][data-gp-premium="true"] .rail-compare svg{transition:transform .18s var(--ease)}[data-gp-theme="slipstream"][data-gp-premium="true"] .rail-main>.text-button{width:100%;font-size:15px;margin-top:9px}[data-gp-theme="slipstream"][data-gp-premium="true"] .rail-note{font-size:12px;line-height:1.45;color:#506369;padding:16px 28px;border-top:1px solid var(--paper-line)}
[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-finder{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-finder label{padding:21px 24px 22px 0;margin-right:24px;border-right:1px solid var(--line);font-size:14px;color:var(--muted)}[data-gp-theme="slipstream"][data-gp-premium="true"] select{appearance:none;border:0;border-bottom:1px solid currentColor;display:block;width:100%;color:inherit;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='12' viewBox='0 0 16 12'%3E%3Cpath d='m3 4 5 5 5-5' stroke='%23738b93' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") no-repeat right 4px center;padding:10px 25px 11px 0;border-radius:0;min-height:44px;font-size:18px;cursor:pointer}[data-gp-theme="slipstream"][data-gp-premium="true"] select option{background:var(--paper);color:var(--ink)}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-finder select{color:var(--paper);border-color:transparent;margin-top:2px;padding-bottom:0}[data-gp-theme="slipstream"][data-gp-premium="true"] .reset-button{background:transparent;color:var(--paper);font-size:15px;display:flex;gap:18px;align-items:center;justify-content:center;padding:12px 0 12px 6px;min-width:146px}[data-gp-theme="slipstream"][data-gp-premium="true"] .reset-button svg{width:19px;height:19px}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-caption{display:flex;justify-content:space-between;gap:20px;margin-block:21px;font-size:13px;color:var(--muted)}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-caption>p:first-child{color:var(--lime)}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-row{display:grid;grid-template-columns:1.3fr 1.4fr .64fr auto;align-items:center;gap:24px;padding:27px 24px 0;background:var(--paper);color:var(--ink);border-bottom:1px solid #b8c3b7;transition:background .18s var(--ease)}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-row.is-selected{background:#e4e9d3}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-heading{display:flex;align-items:flex-start;gap:20px}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-code{font-size:12px;letter-spacing:.08em;color:#56676b;padding-top:7px;white-space:nowrap}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-heading h3{font-size:31px}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-heading h3 small{font:400 16px/1.4 "Barlow",sans-serif;display:block;color:#42595f;margin-top:6px}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-facts{display:flex;gap:22px;font-variant-numeric:tabular-nums}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-facts dt{font-size:12px;color:#526368;margin-bottom:3px}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-facts dd{font-size:16px;margin:0;white-space:nowrap}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-price{font:600 34px/1.1 "Barlow Condensed",sans-serif;white-space:nowrap}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-price small{display:block;font:400 12px/1.4 "Barlow",sans-serif;color:#4d6268;margin-top:5px}[data-gp-theme="slipstream"][data-gp-premium="true"] .compare-check,[data-gp-theme="slipstream"][data-gp-premium="true"] .question-check{display:flex;align-items:center;gap:11px;position:relative;min-height:44px;cursor:pointer;font-size:15px}[data-gp-theme="slipstream"][data-gp-premium="true"] .compare-check input,[data-gp-theme="slipstream"][data-gp-premium="true"] .question-check input{position:absolute;width:22px;height:22px;left:0;margin:0;opacity:0;cursor:pointer}[data-gp-theme="slipstream"][data-gp-premium="true"] .check-drawing{border:1px solid #677b7d;width:22px;height:22px;display:grid;place-items:center;flex:none;transition:background .16s var(--ease),border-color .16s var(--ease)}[data-gp-theme="slipstream"][data-gp-premium="true"] .check-drawing svg{width:18px;height:18px;stroke-width:2;opacity:0;transform:scale(.7);transition:transform .16s var(--ease),opacity .16s var(--ease)}[data-gp-theme="slipstream"][data-gp-premium="true"] input:checked+.check-drawing{background:var(--ink);border-color:var(--ink);color:var(--lime)}[data-gp-theme="slipstream"][data-gp-premium="true"] input:checked+.check-drawing svg{opacity:1;transform:scale(1)}[data-gp-theme="slipstream"][data-gp-premium="true"] input:focus-visible+.check-drawing{outline:2px solid var(--blue);outline-offset:4px}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-record{grid-column:1/-1;border-top:1px solid var(--paper-line);margin-top:0}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-record summary{display:flex;align-items:center;justify-content:space-between;min-height:52px;font-size:14px;cursor:pointer;list-style:none;color:#3b535a}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-record summary::-webkit-details-marker,[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-list summary::-webkit-details-marker{display:none}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-record summary svg{width:17px;height:17px;transition:transform .2s var(--ease)}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-record[open] summary svg{transform:rotate(45deg)}[data-gp-theme="slipstream"][data-gp-premium="true"] .record-content{display:grid;grid-template-columns:1fr 1fr auto;align-items:start;gap:32px;padding:10px 0 27px}[data-gp-theme="slipstream"][data-gp-premium="true"] .record-content h4{font-size:22px;margin-bottom:9px}[data-gp-theme="slipstream"][data-gp-premium="true"] .record-content p{font-size:15px;max-width:35ch;color:#4b6166}[data-gp-theme="slipstream"][data-gp-premium="true"] .record-content .text-button{font-size:15px;align-self:end}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-empty{padding:45px;background:var(--paper);color:var(--ink);text-align:center}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-empty h3{font-size:40px}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-empty p{margin-top:12px;color:#496067}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-empty .button{margin-top:25px}
[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-section{background:#233238;border-top:1px solid #415056;border-bottom:1px solid #415056}[data-gp-theme="slipstream"][data-gp-premium="true"] .compare-status{margin-top:18px;font-size:14px!important;color:var(--lime)!important;font-variant-numeric:tabular-nums}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison{background:var(--paper);color:var(--ink);min-width:0}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-empty{display:flex;align-items:center;gap:45px;padding:48px 50px;min-height:250px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-empty>svg{width:116px;height:90px;stroke:#607779;stroke-width:1.15}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-empty h3{font-size:36px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-empty p{color:#4d6167;max-width:58ch;margin-top:12px;font-size:17px}[data-gp-theme="slipstream"][data-gp-premium="true"] .quick-compare{display:flex;flex-wrap:wrap;gap:12px;margin-top:27px}[data-gp-theme="slipstream"][data-gp-premium="true"] .quick-compare :is(button,[role="button"]){display:flex;gap:30px;justify-content:space-between;align-items:center;min-height:44px;padding:8px 14px;background:transparent;color:var(--ink);border:1px solid #8a9b97;font-size:15px}[data-gp-theme="slipstream"][data-gp-premium="true"] .quick-compare span:not(.fs-richtext){font-size:21px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:17px;font-variant-numeric:tabular-nums}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table caption{text-align:left;background:#dbe1d3;color:#40565c;padding:14px 24px;font-size:13px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table th,[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table td{text-align:left;padding:17px 24px;border-bottom:1px solid #c9d0c5;border-right:1px solid #c9d0c5;vertical-align:top}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table th:last-child,[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table td:last-child{border-right:0}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table thead th{padding-block:25px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table thead th:first-child{font:400 14px/1.4 "Barlow",sans-serif;color:#4a6065;vertical-align:bottom;width:19%}[data-gp-theme="slipstream"][data-gp-premium="true"] .compare-car-head{display:flex;gap:12px;justify-content:space-between;align-items:flex-start}[data-gp-theme="slipstream"][data-gp-premium="true"] .compare-car-head strong{font:600 31px/1.05 "Barlow Condensed",sans-serif}[data-gp-theme="slipstream"][data-gp-premium="true"] .compare-car-head small{display:block;font:400 14px/1.5 "Barlow",sans-serif;color:#50666a;margin-top:8px}[data-gp-theme="slipstream"][data-gp-premium="true"] .compare-remove{min-height:36px;min-width:36px;display:grid;place-items:center;background:transparent;color:#4f6265;padding:0;margin-top:-6px;margin-right:-11px}[data-gp-theme="slipstream"][data-gp-premium="true"] .compare-remove svg{width:17px;height:17px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table tbody th{font-weight:400;color:#4a6065;font-size:14px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table tbody tr:first-child td{font:600 32px/1 "Barlow Condensed",sans-serif}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table tbody tr:last-child td{font-size:14px;line-height:1.5}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table .table-visit td{border-bottom:0;padding-block:14px}[data-gp-theme="slipstream"][data-gp-premium="true"] .table-visit .text-button{font-size:14px;width:100%}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:22px;font-size:14px;color:#c0cdca}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-bottom .text-button{font-size:14px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison.is-updated{animation:gp-slippremium-file-update .22s var(--ease)}@keyframes gp-slippremium-file-update{from{opacity:.72;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-section{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:100px}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-intro>p:first-of-type{color:var(--muted);max-width:37ch;margin-top:24px}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-graphic{display:flex;align-items:center;gap:18px;margin:35px 0 18px}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-graphic>svg{width:185px;height:150px;color:var(--blue);stroke-width:1.1}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-graphic span:not(.fs-richtext){font-size:12px;letter-spacing:.17em;writing-mode:vertical-rl;color:var(--blue)}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-note{font-size:13px;color:var(--muted);max-width:38ch}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-instruction{font-size:14px;color:var(--muted);padding-bottom:21px}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-list details{border-top:1px solid var(--line)}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-list summary{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:92px;list-style:none;cursor:pointer;font:600 32px/1.1 "Barlow Condensed",sans-serif}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-list summary>svg{width:20px;height:20px;color:var(--lime);transition:transform .18s var(--ease)}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-list details[open] summary>svg{transform:rotate(45deg)}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-detail{padding:0 40px 25px 0;color:#bccac7}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-detail>p{font-size:17px;max-width:54ch}[data-gp-theme="slipstream"][data-gp-premium="true"] .question-check{margin-top:21px;color:var(--paper);font-size:15px}[data-gp-theme="slipstream"][data-gp-premium="true"] .question-check .check-drawing{border-color:#738b93}[data-gp-theme="slipstream"][data-gp-premium="true"] .question-check input:checked+.check-drawing{background:var(--lime);border-color:var(--lime);color:var(--ink)}[data-gp-theme="slipstream"][data-gp-premium="true"] .questions-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:23px;font-size:14px}[data-gp-theme="slipstream"][data-gp-premium="true"] .questions-footer>span:not(.fs-richtext){color:var(--lime)}[data-gp-theme="slipstream"][data-gp-premium="true"] .questions-footer a{display:flex;align-items:center;gap:15px}[data-gp-theme="slipstream"][data-gp-premium="true"] .questions-footer svg{width:19px;height:19px}
[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-section{background:var(--paper);color:var(--ink);border-top:7px solid var(--lime)}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:45px 90px}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-intro h2{font-size:clamp(55px,5vw,82px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-intro h2{font-size:clamp(55px,5cqw,82px)}}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-intro>p{max-width:35ch;color:#496169;margin-top:25px;font-size:19px}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-address{display:flex;align-items:flex-start;gap:14px;margin-top:47px;padding-top:24px;border-top:1px solid var(--paper-line);max-width:380px}[data-gp-theme="slipstream"][data-gp-premium="true"] .address-mark svg{width:29px;height:29px;color:#506a71}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-address strong{font-weight:600;display:block}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-address span:not(.fs-richtext):not(.address-mark){display:block;font-size:15px;color:#496169;margin-top:4px}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-address small{display:block;font-size:13px;color:#496169;margin-top:15px;max-width:30ch}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-form{min-width:0}[data-gp-theme="slipstream"][data-gp-premium="true"] .form-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid #647b7b;padding-bottom:18px;margin-bottom:21px}[data-gp-theme="slipstream"][data-gp-premium="true"] .form-heading h3{font-size:31px}[data-gp-theme="slipstream"][data-gp-premium="true"] .form-heading>span:not(.fs-richtext){font-size:12px;letter-spacing:.1em;color:#4e646b}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-form>label,[data-gp-theme="slipstream"][data-gp-premium="true"] .form-pair>label{display:block;font-size:14px;color:#435c62;margin-bottom:23px}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-form select{color:var(--ink);border-color:#9fafa7;margin-top:3px}[data-gp-theme="slipstream"][data-gp-premium="true"] .form-pair{display:grid;grid-template-columns:1fr 1fr;gap:25px}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-form textarea{display:block;width:100%;padding:13px;margin-top:9px;background:#e9ece2;border:1px solid #a6b3a8;border-radius:0;resize:vertical;min-height:100px;color:var(--ink);font-size:17px;line-height:1.5}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-form textarea::placeholder{color:#52696d;opacity:1}[data-gp-theme="slipstream"][data-gp-premium="true"] .form-questions{font-size:13px;color:#4e6569;margin-top:-6px;margin-bottom:23px}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-form>.button{width:100%}[data-gp-theme="slipstream"][data-gp-premium="true"] .form-note{font-size:13px;color:#4e6569;line-height:1.4;margin-top:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-note{grid-column:1/-1;position:relative;background:#dfe5d8;padding:26px 32px 50px;border:1px solid #b9c5b6;min-height:165px;scroll-margin-top:25px}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-note:before{content:"";position:absolute;top:-8px;right:32px;width:76px;height:8px;background:var(--ink)}[data-gp-theme="slipstream"][data-gp-premium="true"] .note-heading{display:flex;align-items:center;justify-content:space-between;gap:25px}[data-gp-theme="slipstream"][data-gp-premium="true"] .note-heading h3{font-size:31px}[data-gp-theme="slipstream"][data-gp-premium="true"] .note-heading svg{width:29px;height:29px;color:#536b6f}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-note>p{font-size:16px;color:#4d6368;margin-top:13px}[data-gp-theme="slipstream"][data-gp-premium="true"] .note-bottom{position:absolute;bottom:15px;right:32px;font-size:12px;letter-spacing:.1em;color:#496168}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="visit-result"]{display:block;white-space:pre-line;font-size:17px;line-height:1.65;max-width:80ch;margin:22px 0 15px}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="copy-note"]{font-size:15px;border-top:1px solid #b3c0b0;min-width:200px;padding-top:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="copy-status"]{font-size:13px;color:#3d5c61;display:inline;margin-left:20px}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-note.has-note{background:#e8eddd}
[data-gp-theme="slipstream"][data-gp-premium="true"] .site-footer{padding:66px 0 24px}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-close{display:flex;justify-content:space-between;align-items:center;gap:35px;padding-bottom:48px;border-bottom:1px solid var(--line)}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-close h2{font-size:clamp(55px,6vw,94px);font-weight:400}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-close h2{font-size:clamp(55px,6cqw,94px)}}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-close>a{display:flex;align-items:center;gap:50px;color:var(--lime);font-size:17px}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-close svg{width:40px;height:40px}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-grid{display:grid;grid-template-columns:1fr .8fr 1.2fr;gap:80px;padding:45px 0 55px}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-brand{align-self:start}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-brand>span:not(.fs-richtext){font-size:50px}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-grid h3{font:600 16px/1.4 "Barlow",sans-serif;margin-bottom:16px}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-grid>div>a{display:block;margin-block:8px;font-size:15px;color:#c1cfca}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-about p{font-size:14px;color:#aebfbd;max-width:48ch}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-about p+p{margin-top:15px}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:22px;color:#aebfbd;font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-bottom>a{display:flex;align-items:center;gap:10px;color:var(--paper)}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-bottom svg{width:16px;height:16px}
[data-gp-theme="slipstream"][data-gp-premium="true"] .mega-menu{padding:0;border:1px solid #738b93;background:var(--paper);color:var(--ink);width:min(1120px,calc(100% - 48px));max-height:calc(100dvh - 48px);overflow:auto;margin:auto;box-shadow:0 22px 70px #03090e66}[data-gp-theme="slipstream"][data-gp-premium="true"] .mega-menu::backdrop{background:#081115c9}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 34px;border-bottom:1px solid #a9b7ac}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-header h2{font-size:45px}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-header :is(button,[role="button"]){display:grid;place-items:center;background:var(--ink);color:var(--paper);width:44px;height:44px}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-body{display:grid;grid-template-columns:.8fr 1.2fr}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-opening{padding:35px;background:var(--lime);border-right:1px solid #a9b7ac}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-wordmark{font:600 47px/.9 "Barlow Condensed",sans-serif}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-opening>p{font-size:19px;margin-top:34px}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-stock-link{display:flex;gap:20px;align-items:center;justify-content:space-between;font-size:15px;margin-top:32px;border-top:1px solid #7f963b;padding-top:17px}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-groups{display:grid;grid-template-columns:1fr 1fr;gap:36px 30px;padding:35px}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-groups h3{font-size:30px;margin-bottom:14px}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-groups a{display:flex;justify-content:space-between;gap:10px;min-height:39px;font-size:15px;color:#3c575c;padding:5px 0}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-groups .compare-counter{background:var(--ink);color:var(--lime);padding:0 6px;min-width:22px;text-align:center}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-footer{display:flex;justify-content:space-between;gap:24px;border-top:1px solid #a9b7ac;padding:16px 34px;font-size:12px;color:#4c6569}
[data-gp-theme="slipstream"][data-gp-premium="true"] .preloader{display:none;position:fixed;inset:0;background:var(--ink);color:var(--paper);z-index:100;align-items:center;justify-content:center;pointer-events:none}[data-gp-theme="slipstream"][data-gp-premium="true"] .intro-file{width:min(370px,70vw);border:1px solid #738b93;padding:36px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="slipstream"][data-gp-premium="true"] .intro-file{width:min(370px,70cqw)}}[data-gp-theme="slipstream"][data-gp-premium="true"] .intro-file>span:not(.fs-richtext):first-child{font:600 75px/.9 "Barlow Condensed",sans-serif;letter-spacing:.02em}[data-gp-theme="slipstream"][data-gp-premium="true"] .intro-rule{display:block;height:1px;background:var(--lime);margin:26px 0 15px;transform-origin:left;animation:gp-slippremium-open-file .65s var(--ease) both}[data-gp-theme="slipstream"][data-gp-premium="true"] .intro-file small{font-size:12px;letter-spacing:.14em;color:#b4c5c0}@keyframes gp-slippremium-open-file{from{transform:scaleX(.04)}to{transform:scaleX(1)}}
@media(hover:hover) and (pointer:fine){[data-gp-theme="slipstream"][data-gp-premium="true"] .header-links a:hover,[data-gp-theme="slipstream"][data-gp-premium="true"] .text-button:hover,[data-gp-theme="slipstream"][data-gp-premium="true"] .study-footer a:hover,[data-gp-theme="slipstream"][data-gp-premium="true"] .questions-footer a:hover,[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-grid a:hover,[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-bottom a:hover{color:var(--lime)}[data-gp-theme="slipstream"][data-gp-premium="true"] .rail-main .text-button:hover,[data-gp-theme="slipstream"][data-gp-premium="true"] .record-content .text-button:hover,[data-gp-theme="slipstream"][data-gp-premium="true"] .table-visit .text-button:hover,[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="copy-note"]:hover{color:#465f24}[data-gp-theme="slipstream"][data-gp-premium="true"] .button.lime:hover{background:#d4eb74}[data-gp-theme="slipstream"][data-gp-premium="true"] .button.dark:hover{background:#304449}[data-gp-theme="slipstream"][data-gp-premium="true"] .quick-compare :is(button,[role="button"]):hover{background:#dfe6d3}[data-gp-theme="slipstream"][data-gp-premium="true"] .desk-button:hover{border-color:var(--lime)}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-groups a:hover{text-decoration:underline}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-record summary:hover{color:var(--ink)}[data-gp-theme="slipstream"][data-gp-premium="true"] .question-check:hover .check-drawing{border-color:var(--lime)}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-close a:hover svg{transform:translate(3px,-3px)}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-close svg{transition:transform .2s var(--ease)}}
@media(min-width:1600px){[data-gp-theme="slipstream"][data-gp-premium="true"] .hero-art img{max-height:530px}[data-gp-theme="slipstream"][data-gp-premium="true"] .study-heading{padding-top:40px}[data-gp-theme="slipstream"][data-gp-premium="true"] .rail-main{padding:32px 35px 20px}[data-gp-theme="slipstream"][data-gp-premium="true"] .spec-list>div{padding-block:13px}[data-gp-theme="slipstream"][data-gp-premium="true"] .rail-note{padding-inline:35px}[data-gp-theme="slipstream"][data-gp-premium="true"] .file-tab{padding-inline:35px}}
@media(max-width:1180px){[data-gp-theme="slipstream"][data-gp-premium="true"] .page-width{width:calc(100% - 56px)}[data-gp-theme="slipstream"][data-gp-premium="true"] .vehicle-file{grid-template-columns:minmax(0,1.7fr) minmax(290px,1fr)}[data-gp-theme="slipstream"][data-gp-premium="true"] .study-heading{padding:28px 27px 0;gap:16px}[data-gp-theme="slipstream"][data-gp-premium="true"] .study-heading p{display:none}[data-gp-theme="slipstream"][data-gp-premium="true"] .study-heading .file-mark{margin-left:auto}[data-gp-theme="slipstream"][data-gp-premium="true"] .hero-art img{min-height:390px;object-fit:cover}[data-gp-theme="slipstream"][data-gp-premium="true"] .hero-art figcaption{padding-inline:26px;display:block}[data-gp-theme="slipstream"][data-gp-premium="true"] .hero-art figcaption>span:not(.fs-richtext){display:block}[data-gp-theme="slipstream"][data-gp-premium="true"] .hero-art figcaption>span:not(.fs-richtext)+span:not(.fs-richtext){margin-top:4px}[data-gp-theme="slipstream"][data-gp-premium="true"] .study-footer{padding-inline:26px}[data-gp-theme="slipstream"][data-gp-premium="true"] .rail-main{padding-inline:23px}[data-gp-theme="slipstream"][data-gp-premium="true"] .rail-main h2{font-size:46px}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-row{grid-template-columns:1.3fr 1.35fr .65fr;gap:22px;padding:25px 24px 0}[data-gp-theme="slipstream"][data-gp-premium="true"] .compare-check{grid-column:3;grid-row:2;align-self:start}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-record{grid-column:1/3;grid-row:2;margin-bottom:4px}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-facts{gap:17px}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-facts>div:last-child{max-width:110px}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-facts dd{white-space:normal}[data-gp-theme="slipstream"][data-gp-premium="true"] .record-content{grid-template-columns:1fr 1fr}[data-gp-theme="slipstream"][data-gp-premium="true"] .record-content .text-button{grid-column:1/-1;justify-content:flex-start;padding:0}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-section{gap:60px}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-layout{gap:45px 60px}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-grid{gap:50px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table th,[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table td{padding-inline:18px}[data-gp-theme="slipstream"][data-gp-premium="true"] .compare-car-head strong{font-size:27px}[data-gp-theme="slipstream"][data-gp-premium="true"] .compare-car-head small{font-size:12px}}
@containerfs-editor-canvas (max-width: 1180px){[data-gp-theme="slipstream"][data-gp-premium="true"] .page-width{width:calc(100% - 56px)}[data-gp-theme="slipstream"][data-gp-premium="true"] .vehicle-file{grid-template-columns:minmax(0,1.7fr) minmax(290px,1fr)}[data-gp-theme="slipstream"][data-gp-premium="true"] .study-heading{padding:28px 27px 0;gap:16px}[data-gp-theme="slipstream"][data-gp-premium="true"] .study-heading p{display:none}[data-gp-theme="slipstream"][data-gp-premium="true"] .study-heading .file-mark{margin-left:auto}[data-gp-theme="slipstream"][data-gp-premium="true"] .hero-art img{min-height:390px;object-fit:cover}[data-gp-theme="slipstream"][data-gp-premium="true"] .hero-art figcaption{padding-inline:26px;display:block}[data-gp-theme="slipstream"][data-gp-premium="true"] .hero-art figcaption>span:not(.fs-richtext){display:block}[data-gp-theme="slipstream"][data-gp-premium="true"] .hero-art figcaption>span:not(.fs-richtext)+span:not(.fs-richtext){margin-top:4px}[data-gp-theme="slipstream"][data-gp-premium="true"] .study-footer{padding-inline:26px}[data-gp-theme="slipstream"][data-gp-premium="true"] .rail-main{padding-inline:23px}[data-gp-theme="slipstream"][data-gp-premium="true"] .rail-main h2{font-size:46px}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-row{grid-template-columns:1.3fr 1.35fr .65fr;gap:22px;padding:25px 24px 0}[data-gp-theme="slipstream"][data-gp-premium="true"] .compare-check{grid-column:3;grid-row:2;align-self:start}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-record{grid-column:1/3;grid-row:2;margin-bottom:4px}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-facts{gap:17px}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-facts>div:last-child{max-width:110px}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-facts dd{white-space:normal}[data-gp-theme="slipstream"][data-gp-premium="true"] .record-content{grid-template-columns:1fr 1fr}[data-gp-theme="slipstream"][data-gp-premium="true"] .record-content .text-button{grid-column:1/-1;justify-content:flex-start;padding:0}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-section{gap:60px}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-layout{gap:45px 60px}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-grid{gap:50px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table th,[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table td{padding-inline:18px}[data-gp-theme="slipstream"][data-gp-premium="true"] .compare-car-head strong{font-size:27px}[data-gp-theme="slipstream"][data-gp-premium="true"] .compare-car-head small{font-size:12px}}
@media(max-width:850px){[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-name{display:none}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar{gap:15px;justify-content:space-between;padding-inline:20px}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar>a{font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .site-header{height:94px;gap:20px}[data-gp-theme="slipstream"][data-gp-premium="true"] .brand>span:not(.fs-richtext){font-size:34px}[data-gp-theme="slipstream"][data-gp-premium="true"] .brand>svg{width:35px}[data-gp-theme="slipstream"][data-gp-premium="true"] .header-links{gap:22px;margin-right:5px}[data-gp-theme="slipstream"][data-gp-premium="true"] .desk-button{gap:18px;padding-inline:12px;font-size:15px}[data-gp-theme="slipstream"][data-gp-premium="true"] .vehicle-file{grid-template-columns:minmax(0,1fr) 280px}[data-gp-theme="slipstream"][data-gp-premium="true"] .study-heading h1{font-size:52px}[data-gp-theme="slipstream"][data-gp-premium="true"] .study-heading{padding-inline:23px}[data-gp-theme="slipstream"][data-gp-premium="true"] .hero-art img{min-height:380px}[data-gp-theme="slipstream"][data-gp-premium="true"] .hero-art figcaption{padding-inline:22px}[data-gp-theme="slipstream"][data-gp-premium="true"] .study-footer{padding-inline:22px}[data-gp-theme="slipstream"][data-gp-premium="true"] .study-footer>span:not(.fs-richtext){display:none}[data-gp-theme="slipstream"][data-gp-premium="true"] .study-footer a{width:100%;justify-content:space-between}[data-gp-theme="slipstream"][data-gp-premium="true"] .file-tab{padding-inline:20px}[data-gp-theme="slipstream"][data-gp-premium="true"] .rail-main h2{font-size:42px}[data-gp-theme="slipstream"][data-gp-premium="true"] .featured-price{font-size:41px}[data-gp-theme="slipstream"][data-gp-premium="true"] .spec-list>div{font-size:14px}[data-gp-theme="slipstream"][data-gp-premium="true"] .rail-note{padding-inline:23px}[data-gp-theme="slipstream"][data-gp-premium="true"] .rail-main .button{font-size:15px;padding-inline:13px}[data-gp-theme="slipstream"][data-gp-premium="true"] .section-space{padding-block:74px}[data-gp-theme="slipstream"][data-gp-premium="true"] .section-heading{align-items:flex-start;gap:25px}[data-gp-theme="slipstream"][data-gp-premium="true"] .section-heading>p,[data-gp-theme="slipstream"][data-gp-premium="true"] .section-heading>div{font-size:16px;max-width:26ch}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-finder{grid-template-columns:1fr 1fr 1fr}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-finder label{margin-right:20px;padding-right:20px}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-finder label:nth-child(3){border:0;margin-right:0;padding-right:0}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-finder .reset-button{grid-column:1/-1;min-height:44px;min-width:0;justify-content:flex-start;border-top:1px solid var(--line);padding:10px 0}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-row{grid-template-columns:1fr .75fr;gap:20px}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-heading{gap:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-price{grid-column:2;grid-row:1;text-align:right;font-size:33px}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-facts{grid-column:1/-1;grid-row:2;border-top:1px solid var(--paper-line);padding-top:15px;justify-content:space-between;gap:24px}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-facts>div:last-child{max-width:none}[data-gp-theme="slipstream"][data-gp-premium="true"] .compare-check{grid-column:2;grid-row:3;justify-self:end}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-record{grid-column:1;grid-row:3;margin:0}[data-gp-theme="slipstream"][data-gp-premium="true"] .record-content{display:block;min-width:245px}[data-gp-theme="slipstream"][data-gp-premium="true"] .record-content>div+div{margin-top:18px}[data-gp-theme="slipstream"][data-gp-premium="true"] .record-content .text-button{margin-top:15px}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-record summary{font-size:13px;gap:20px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-empty{padding:35px 32px;gap:30px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-empty>svg{width:85px;height:72px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-empty h3{font-size:31px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table{font-size:15px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table th,[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table td{padding:14px 13px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table thead th{padding-block:20px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table thead th:first-child{width:19%;font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .compare-car-head strong{font-size:25px}[data-gp-theme="slipstream"][data-gp-premium="true"] .compare-car-head{display:block;position:relative;padding-top:22px}[data-gp-theme="slipstream"][data-gp-premium="true"] .compare-remove{position:absolute;top:-13px;right:-6px;margin:0;min-height:30px;min-width:30px}[data-gp-theme="slipstream"][data-gp-premium="true"] .compare-car-head small{font-size:12px;line-height:1.3}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table tbody th{font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table tbody tr:first-child td{font-size:29px}[data-gp-theme="slipstream"][data-gp-premium="true"] .table-visit .text-button{font-size:12px;gap:6px;min-height:42px}[data-gp-theme="slipstream"][data-gp-premium="true"] .table-visit .text-button svg{width:15px}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-section{grid-template-columns:.8fr 1.2fr;gap:40px}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-list summary{font-size:29px;min-height:85px}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-intro>p:first-of-type{font-size:17px}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-graphic>svg{width:160px}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-detail{padding-right:0}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-detail>p{font-size:16px}[data-gp-theme="slipstream"][data-gp-premium="true"] .question-check{font-size:14px}[data-gp-theme="slipstream"][data-gp-premium="true"] .questions-footer{font-size:13px}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-layout{grid-template-columns:.8fr 1.2fr;gap:40px}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-intro h2{font-size:57px}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-intro>p{font-size:17px}[data-gp-theme="slipstream"][data-gp-premium="true"] .form-pair{grid-template-columns:1fr;gap:0}[data-gp-theme="slipstream"][data-gp-premium="true"] .form-heading{gap:15px}[data-gp-theme="slipstream"][data-gp-premium="true"] .form-heading h3{font-size:28px}[data-gp-theme="slipstream"][data-gp-premium="true"] .form-heading>span:not(.fs-richtext){font-size:12px;max-width:8ch}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-close>a{gap:25px}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-close h2{font-size:60px}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-grid{grid-template-columns:.9fr 1fr;gap:35px}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-about{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px 35px}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-about h3{grid-column:1/-1}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-about p+p{margin:0}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-bottom{font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-opening{padding:27px}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-groups{padding:27px;gap:25px}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-header{padding:25px 27px}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-footer{padding:16px 27px}}
@containerfs-editor-canvas (max-width: 850px){[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-name{display:none}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar{gap:15px;justify-content:space-between;padding-inline:20px}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar>a{font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .site-header{height:94px;gap:20px}[data-gp-theme="slipstream"][data-gp-premium="true"] .brand>span:not(.fs-richtext){font-size:34px}[data-gp-theme="slipstream"][data-gp-premium="true"] .brand>svg{width:35px}[data-gp-theme="slipstream"][data-gp-premium="true"] .header-links{gap:22px;margin-right:5px}[data-gp-theme="slipstream"][data-gp-premium="true"] .desk-button{gap:18px;padding-inline:12px;font-size:15px}[data-gp-theme="slipstream"][data-gp-premium="true"] .vehicle-file{grid-template-columns:minmax(0,1fr) 280px}[data-gp-theme="slipstream"][data-gp-premium="true"] .study-heading h1{font-size:52px}[data-gp-theme="slipstream"][data-gp-premium="true"] .study-heading{padding-inline:23px}[data-gp-theme="slipstream"][data-gp-premium="true"] .hero-art img{min-height:380px}[data-gp-theme="slipstream"][data-gp-premium="true"] .hero-art figcaption{padding-inline:22px}[data-gp-theme="slipstream"][data-gp-premium="true"] .study-footer{padding-inline:22px}[data-gp-theme="slipstream"][data-gp-premium="true"] .study-footer>span:not(.fs-richtext){display:none}[data-gp-theme="slipstream"][data-gp-premium="true"] .study-footer a{width:100%;justify-content:space-between}[data-gp-theme="slipstream"][data-gp-premium="true"] .file-tab{padding-inline:20px}[data-gp-theme="slipstream"][data-gp-premium="true"] .rail-main h2{font-size:42px}[data-gp-theme="slipstream"][data-gp-premium="true"] .featured-price{font-size:41px}[data-gp-theme="slipstream"][data-gp-premium="true"] .spec-list>div{font-size:14px}[data-gp-theme="slipstream"][data-gp-premium="true"] .rail-note{padding-inline:23px}[data-gp-theme="slipstream"][data-gp-premium="true"] .rail-main .button{font-size:15px;padding-inline:13px}[data-gp-theme="slipstream"][data-gp-premium="true"] .section-space{padding-block:74px}[data-gp-theme="slipstream"][data-gp-premium="true"] .section-heading{align-items:flex-start;gap:25px}[data-gp-theme="slipstream"][data-gp-premium="true"] .section-heading>p,[data-gp-theme="slipstream"][data-gp-premium="true"] .section-heading>div{font-size:16px;max-width:26ch}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-finder{grid-template-columns:1fr 1fr 1fr}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-finder label{margin-right:20px;padding-right:20px}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-finder label:nth-child(3){border:0;margin-right:0;padding-right:0}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-finder .reset-button{grid-column:1/-1;min-height:44px;min-width:0;justify-content:flex-start;border-top:1px solid var(--line);padding:10px 0}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-row{grid-template-columns:1fr .75fr;gap:20px}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-heading{gap:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-price{grid-column:2;grid-row:1;text-align:right;font-size:33px}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-facts{grid-column:1/-1;grid-row:2;border-top:1px solid var(--paper-line);padding-top:15px;justify-content:space-between;gap:24px}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-facts>div:last-child{max-width:none}[data-gp-theme="slipstream"][data-gp-premium="true"] .compare-check{grid-column:2;grid-row:3;justify-self:end}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-record{grid-column:1;grid-row:3;margin:0}[data-gp-theme="slipstream"][data-gp-premium="true"] .record-content{display:block;min-width:245px}[data-gp-theme="slipstream"][data-gp-premium="true"] .record-content>div+div{margin-top:18px}[data-gp-theme="slipstream"][data-gp-premium="true"] .record-content .text-button{margin-top:15px}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-record summary{font-size:13px;gap:20px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-empty{padding:35px 32px;gap:30px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-empty>svg{width:85px;height:72px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-empty h3{font-size:31px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table{font-size:15px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table th,[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table td{padding:14px 13px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table thead th{padding-block:20px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table thead th:first-child{width:19%;font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .compare-car-head strong{font-size:25px}[data-gp-theme="slipstream"][data-gp-premium="true"] .compare-car-head{display:block;position:relative;padding-top:22px}[data-gp-theme="slipstream"][data-gp-premium="true"] .compare-remove{position:absolute;top:-13px;right:-6px;margin:0;min-height:30px;min-width:30px}[data-gp-theme="slipstream"][data-gp-premium="true"] .compare-car-head small{font-size:12px;line-height:1.3}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table tbody th{font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table tbody tr:first-child td{font-size:29px}[data-gp-theme="slipstream"][data-gp-premium="true"] .table-visit .text-button{font-size:12px;gap:6px;min-height:42px}[data-gp-theme="slipstream"][data-gp-premium="true"] .table-visit .text-button svg{width:15px}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-section{grid-template-columns:.8fr 1.2fr;gap:40px}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-list summary{font-size:29px;min-height:85px}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-intro>p:first-of-type{font-size:17px}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-graphic>svg{width:160px}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-detail{padding-right:0}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-detail>p{font-size:16px}[data-gp-theme="slipstream"][data-gp-premium="true"] .question-check{font-size:14px}[data-gp-theme="slipstream"][data-gp-premium="true"] .questions-footer{font-size:13px}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-layout{grid-template-columns:.8fr 1.2fr;gap:40px}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-intro h2{font-size:57px}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-intro>p{font-size:17px}[data-gp-theme="slipstream"][data-gp-premium="true"] .form-pair{grid-template-columns:1fr;gap:0}[data-gp-theme="slipstream"][data-gp-premium="true"] .form-heading{gap:15px}[data-gp-theme="slipstream"][data-gp-premium="true"] .form-heading h3{font-size:28px}[data-gp-theme="slipstream"][data-gp-premium="true"] .form-heading>span:not(.fs-richtext){font-size:12px;max-width:8ch}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-close>a{gap:25px}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-close h2{font-size:60px}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-grid{grid-template-columns:.9fr 1fr;gap:35px}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-about{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px 35px}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-about h3{grid-column:1/-1}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-about p+p{margin:0}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-bottom{font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-opening{padding:27px}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-groups{padding:27px;gap:25px}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-header{padding:25px 27px}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-footer{padding:16px 27px}}
@media(max-width:640px){[data-gp-theme="slipstream"][data-gp-premium="true"]{scroll-padding-top:18px}[data-gp-theme="slipstream"][data-gp-premium="true"] .page-width{width:calc(100% - 32px)}[data-gp-theme="slipstream"][data-gp-premium="true"]{font-size:17px}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar{padding:7px 16px;flex-wrap:wrap;gap:8px 12px;min-height:82px}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar>a{flex:1}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar [role=group]{order:2}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar :is(button,[role="button"]){min-height:32px;font-size:12px;padding:6px 9px}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar>:is(button,[role="button"]){order:3;margin-left:auto;min-height:32px;font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .site-header{height:90px;gap:15px;flex-wrap:wrap;align-content:center}[data-gp-theme="slipstream"][data-gp-premium="true"] .brand{gap:8px}[data-gp-theme="slipstream"][data-gp-premium="true"] .brand>svg{width:29px;height:28px}[data-gp-theme="slipstream"][data-gp-premium="true"] .brand>span:not(.fs-richtext){font-size:30px}[data-gp-theme="slipstream"][data-gp-premium="true"] .brand small{font-size:12px;letter-spacing:.22em;margin-top:8px}[data-gp-theme="slipstream"][data-gp-premium="true"] .header-links{order:3;width:100%;margin:0;justify-content:space-between;gap:20px;padding-top:8px;display:none}[data-gp-theme="slipstream"][data-gp-premium="true"] .desk-button{margin-left:auto;gap:18px;min-height:44px;font-size:14px;padding:9px 12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .desk-button svg{width:21px}[data-gp-theme="slipstream"][data-gp-premium="true"] .vehicle-file{grid-template-columns:1fr}[data-gp-theme="slipstream"][data-gp-premium="true"] .vehicle-study{min-height:0}[data-gp-theme="slipstream"][data-gp-premium="true"] .study-heading{padding:24px 22px 0;gap:15px}[data-gp-theme="slipstream"][data-gp-premium="true"] .study-heading h1{font-size:51px;line-height:.97}[data-gp-theme="slipstream"][data-gp-premium="true"] .study-heading .file-mark{width:32px;height:32px;margin-top:5px}[data-gp-theme="slipstream"][data-gp-premium="true"] .hero-art{min-height:0}[data-gp-theme="slipstream"][data-gp-premium="true"] .hero-art img{height:auto;aspect-ratio:1.28;min-height:0;max-height:none;object-fit:cover;object-position:50% 58%}[data-gp-theme="slipstream"][data-gp-premium="true"] .hero-art figcaption{padding:14px 22px;font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .hero-art figcaption>span:not(.fs-richtext):first-child{font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .study-footer{padding:15px 22px;font-size:14px}[data-gp-theme="slipstream"][data-gp-premium="true"] .study-footer svg{width:20px;height:20px}[data-gp-theme="slipstream"][data-gp-premium="true"] .spec-rail{display:grid;grid-template-columns:1fr}[data-gp-theme="slipstream"][data-gp-premium="true"] .file-tab{font-size:12px;padding:13px 22px}[data-gp-theme="slipstream"][data-gp-premium="true"] .rail-main{padding:23px 22px 14px;display:grid;grid-template-columns:1.2fr .8fr;gap:0 14px}[data-gp-theme="slipstream"][data-gp-premium="true"] .rail-main h2{font-size:39px;grid-column:1;grid-row:1}[data-gp-theme="slipstream"][data-gp-premium="true"] .vehicle-trim{grid-column:1;grid-row:2;font-size:16px;margin-top:6px}[data-gp-theme="slipstream"][data-gp-premium="true"] .featured-price{grid-column:2;grid-row:1/3;font-size:39px;text-align:right;align-self:start;margin:0;padding-top:2px}[data-gp-theme="slipstream"][data-gp-premium="true"] .featured-price small{font-size:12px;max-width:12ch;margin-left:auto}[data-gp-theme="slipstream"][data-gp-premium="true"] .spec-list{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;margin-top:22px;gap:0 20px}[data-gp-theme="slipstream"][data-gp-premium="true"] .spec-list>div{display:block;font-size:16px;padding:11px 0 12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .spec-list dt{font-size:12px;margin-bottom:4px}[data-gp-theme="slipstream"][data-gp-premium="true"] .spec-list dd{text-align:left;font-size:18px}[data-gp-theme="slipstream"][data-gp-premium="true"] .spec-list>div:last-child{display:none}[data-gp-theme="slipstream"][data-gp-premium="true"] .rail-history{grid-column:1/-1;margin:17px 0 19px}[data-gp-theme="slipstream"][data-gp-premium="true"] .rail-history p{font-size:14px}[data-gp-theme="slipstream"][data-gp-premium="true"] .rail-history small{font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .rail-main .button{grid-column:1/-1;min-height:50px;font-size:16px;padding-inline:16px}[data-gp-theme="slipstream"][data-gp-premium="true"] .rail-main>.text-button{grid-column:1/-1;font-size:14px;margin-top:5px}[data-gp-theme="slipstream"][data-gp-premium="true"] .rail-note{font-size:12px;padding:13px 22px}[data-gp-theme="slipstream"][data-gp-premium="true"] .section-space{padding-block:60px}[data-gp-theme="slipstream"][data-gp-premium="true"] .section-heading{display:block;margin-bottom:27px}[data-gp-theme="slipstream"][data-gp-premium="true"] .section-heading h2{font-size:43px;max-width:16ch}[data-gp-theme="slipstream"][data-gp-premium="true"] .section-heading>p,[data-gp-theme="slipstream"][data-gp-premium="true"] .section-heading>div{margin-top:17px;font-size:16px;max-width:34ch}[data-gp-theme="slipstream"][data-gp-premium="true"] .section-heading>p br{display:none}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-finder{grid-template-columns:1fr 1fr}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-finder label{padding:17px 17px 14px 0;margin:0;font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-finder label:nth-child(2){padding-left:17px;padding-right:0;border:0}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-finder label:nth-child(3){grid-column:1;border-top:1px solid var(--line);border-right:1px solid var(--line);padding-right:17px}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-finder select{font-size:16px;padding-top:7px;padding-right:21px;min-height:40px}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-finder .reset-button{grid-column:2;grid-row:2;justify-content:center;font-size:13px;gap:9px;padding:17px 0 14px 15px}[data-gp-theme="slipstream"][data-gp-premium="true"] .reset-button svg{width:16px}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-caption{display:block;font-size:12px;margin:18px 0}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-caption p+p{margin-top:4px}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-row{padding:22px 18px 0;gap:17px 12px;grid-template-columns:minmax(0,1fr) auto}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-heading{display:block}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-code{display:block;padding:0;font-size:12px;margin-bottom:9px}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-heading h3{font-size:30px;line-height:1.05}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-heading h3 small{font-size:14px;margin-top:5px}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-price{font-size:31px;align-self:center}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-price small{font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-facts{gap:15px;padding-top:13px}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-facts dt{font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-facts dd{font-size:13px}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-record{min-width:0}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-record summary{font-size:12px;gap:10px;min-height:54px}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-record summary svg{width:14px;height:14px}[data-gp-theme="slipstream"][data-gp-premium="true"] .compare-check{font-size:12px;gap:7px;min-height:50px}[data-gp-theme="slipstream"][data-gp-premium="true"] .check-drawing{width:21px;height:21px}[data-gp-theme="slipstream"][data-gp-premium="true"] .record-content{min-width:0;position:relative;width:calc(100% + 105px);padding:2px 0 23px}[data-gp-theme="slipstream"][data-gp-premium="true"] .record-content h4{font-size:23px}[data-gp-theme="slipstream"][data-gp-premium="true"] .record-content p{font-size:14px}[data-gp-theme="slipstream"][data-gp-premium="true"] .record-content .text-button{font-size:13px;min-height:44px}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-empty{padding:32px 20px}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-empty h3{font-size:34px}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-empty p{font-size:16px}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-empty .button{font-size:15px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-section .section-heading h2{font-size:47px}[data-gp-theme="slipstream"][data-gp-premium="true"] .compare-status{margin-top:10px!important;font-size:13px!important}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-empty{display:block;padding:28px 22px;min-height:0}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-empty>svg{width:79px;height:57px;margin-bottom:21px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-empty h3{font-size:32px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-empty p{font-size:16px}[data-gp-theme="slipstream"][data-gp-premium="true"] .quick-compare{gap:9px;margin-top:22px}[data-gp-theme="slipstream"][data-gp-premium="true"] .quick-compare :is(button,[role="button"]){padding:8px 11px;gap:20px;font-size:13px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-bottom{display:block;font-size:13px;margin-top:17px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-bottom .text-button{font-size:13px;margin-top:5px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table{font-size:13px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table caption{font-size:12px;padding:11px 12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table th,[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table td{padding:13px 9px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table thead th{padding-block:17px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table thead th:first-child{width:23%;font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .compare-car-head{padding-top:25px}[data-gp-theme="slipstream"][data-gp-premium="true"] .compare-car-head strong{font-size:23px;line-height:1.03;overflow-wrap:normal}[data-gp-theme="slipstream"][data-gp-premium="true"] .compare-car-head small{font-size:12px;margin-top:7px}[data-gp-theme="slipstream"][data-gp-premium="true"] .compare-remove{right:-4px;top:-13px;min-width:30px;min-height:30px}[data-gp-theme="slipstream"][data-gp-premium="true"] .compare-remove svg{width:15px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table tbody th{font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table tbody tr:first-child td{font-size:25px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table tbody tr:last-child td{font-size:12px;line-height:1.35}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table[data-count="3"]{font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table[data-count="3"] th,[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table[data-count="3"] td{padding-inline:7px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table[data-count="3"] thead th:first-child{width:22%}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table[data-count="3"] .compare-car-head strong{font-size:21px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table[data-count="3"] tbody tr:first-child td{font-size:23px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table[data-count="3"] .compare-car-head small{font-size:12px;overflow-wrap:anywhere}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table[data-count="3"] .table-visit .text-button{font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .table-visit .text-button{font-size:12px;line-height:1.2;display:block;padding:0}[data-gp-theme="slipstream"][data-gp-premium="true"] .table-visit .text-button svg{display:block;width:16px;height:16px;margin-top:6px}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-section{grid-template-columns:1fr;gap:28px}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-intro{position:relative}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-intro h2{font-size:46px}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-intro>p:first-of-type{font-size:17px;max-width:32ch;margin-top:20px}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-graphic{margin:23px 0 14px;gap:10px}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-graphic>svg{width:125px;height:100px}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-graphic span:not(.fs-richtext){font-size:12px;writing-mode:horizontal-tb;max-width:13ch}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-note{font-size:12px;max-width:35ch}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-instruction{font-size:13px;max-width:35ch;padding-bottom:18px}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-list summary{font-size:30px;min-height:80px;gap:15px}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-list summary>svg{width:18px;height:18px}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-detail>p{font-size:16px}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-detail{padding-bottom:23px}[data-gp-theme="slipstream"][data-gp-premium="true"] .question-check{font-size:14px;align-items:flex-start;line-height:1.5}[data-gp-theme="slipstream"][data-gp-premium="true"] .question-check .check-drawing{margin-top:1px}[data-gp-theme="slipstream"][data-gp-premium="true"] .questions-footer{font-size:12px;padding-top:20px;display:block}[data-gp-theme="slipstream"][data-gp-premium="true"] .questions-footer a{margin-top:10px;min-height:36px}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-layout{grid-template-columns:1fr;gap:36px}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-intro h2{font-size:59px}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-intro>p{font-size:18px;max-width:30ch;margin-top:20px}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-address{margin-top:28px;padding-top:21px;gap:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-address span:not(.fs-richtext):not(.address-mark){font-size:14px}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-address small{font-size:12px;margin-top:10px;max-width:31ch}[data-gp-theme="slipstream"][data-gp-premium="true"] .address-mark svg{width:26px}[data-gp-theme="slipstream"][data-gp-premium="true"] .form-heading h3{font-size:32px}[data-gp-theme="slipstream"][data-gp-premium="true"] .form-heading>span:not(.fs-richtext){font-size:12px;max-width:none}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-form>label,[data-gp-theme="slipstream"][data-gp-premium="true"] .form-pair>label{font-size:13px;margin-bottom:22px}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-form select{font-size:17px;min-height:49px}[data-gp-theme="slipstream"][data-gp-premium="true"] .form-pair{grid-template-columns:1fr}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-form textarea{font-size:16px;min-height:112px}[data-gp-theme="slipstream"][data-gp-premium="true"] .form-questions{font-size:12px;line-height:1.45}[data-gp-theme="slipstream"][data-gp-premium="true"] .form-note{font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-note{padding:23px 21px 47px;min-height:180px}[data-gp-theme="slipstream"][data-gp-premium="true"] .note-heading h3{font-size:29px;max-width:14ch}[data-gp-theme="slipstream"][data-gp-premium="true"] .note-heading svg{width:27px;height:27px}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-note>p{font-size:15px;max-width:28ch}[data-gp-theme="slipstream"][data-gp-premium="true"] .note-bottom{right:21px;font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-note:before{right:21px;width:60px}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="visit-result"]{font-size:15px;line-height:1.65;margin-top:21px;overflow-wrap:anywhere}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="copy-status"]{display:block;margin:7px 0 0;font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .site-footer{padding-top:43px}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-close{display:block;padding-bottom:30px}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-close h2{font-size:57px;max-width:9ch;line-height:.97}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-close>a{justify-content:space-between;font-size:16px;margin-top:25px;min-height:44px}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-close svg{width:30px;height:30px}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-grid{grid-template-columns:1fr 1fr;gap:35px 20px;padding:35px 0}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-brand{align-self:start;gap:8px}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-brand>span:not(.fs-richtext){font-size:31px}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-brand>svg{width:29px}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-brand small{font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-grid h3{font-size:14px;margin-bottom:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-grid>div>a{font-size:13px;min-height:29px;margin:3px 0}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-about{display:block}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-about p{font-size:13px;max-width:38ch}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-about p+p{margin-top:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-bottom{flex-wrap:wrap;font-size:12px;gap:18px 20px;padding-top:20px}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-bottom>a{margin-left:auto}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-bottom>span:not(.fs-richtext):last-child{width:100%}[data-gp-theme="slipstream"][data-gp-premium="true"] .mega-menu{width:calc(100% - 24px);max-height:calc(100dvh - 24px)}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-header{padding:20px}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-header h2{font-size:35px}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-header :is(button,[role="button"]){width:44px;height:44px}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-body{grid-template-columns:1fr}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-opening{padding:24px 20px;border-right:0;border-bottom:1px solid #a9b7ac;display:grid;grid-template-columns:.75fr 1.25fr;gap:22px}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-wordmark{font-size:35px}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-opening>p{font-size:16px;margin:0}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-stock-link{grid-column:1/-1;margin:0;padding-top:14px;font-size:14px}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-groups{padding:25px 20px;gap:25px 18px}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-groups h3{font-size:29px;margin-bottom:10px}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-groups a{font-size:13px;min-height:44px;line-height:1.35;align-items:center}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-footer{display:block;padding:16px 20px;font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-footer>span:not(.fs-richtext){display:block}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-footer>span:not(.fs-richtext)+span:not(.fs-richtext){margin-top:6px}}
@containerfs-editor-canvas (max-width: 640px){[data-gp-theme="slipstream"][data-gp-premium="true"]{scroll-padding-top:18px}[data-gp-theme="slipstream"][data-gp-premium="true"] .page-width{width:calc(100% - 32px)}[data-gp-theme="slipstream"][data-gp-premium="true"]{font-size:17px}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar{padding:7px 16px;flex-wrap:wrap;gap:8px 12px;min-height:82px}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar>a{flex:1}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar [role=group]{order:2}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar :is(button,[role="button"]){min-height:32px;font-size:12px;padding:6px 9px}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar>:is(button,[role="button"]){order:3;margin-left:auto;min-height:32px;font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .site-header{height:90px;gap:15px;flex-wrap:wrap;align-content:center}[data-gp-theme="slipstream"][data-gp-premium="true"] .brand{gap:8px}[data-gp-theme="slipstream"][data-gp-premium="true"] .brand>svg{width:29px;height:28px}[data-gp-theme="slipstream"][data-gp-premium="true"] .brand>span:not(.fs-richtext){font-size:30px}[data-gp-theme="slipstream"][data-gp-premium="true"] .brand small{font-size:12px;letter-spacing:.22em;margin-top:8px}[data-gp-theme="slipstream"][data-gp-premium="true"] .header-links{order:3;width:100%;margin:0;justify-content:space-between;gap:20px;padding-top:8px;display:none}[data-gp-theme="slipstream"][data-gp-premium="true"] .desk-button{margin-left:auto;gap:18px;min-height:44px;font-size:14px;padding:9px 12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .desk-button svg{width:21px}[data-gp-theme="slipstream"][data-gp-premium="true"] .vehicle-file{grid-template-columns:1fr}[data-gp-theme="slipstream"][data-gp-premium="true"] .vehicle-study{min-height:0}[data-gp-theme="slipstream"][data-gp-premium="true"] .study-heading{padding:24px 22px 0;gap:15px}[data-gp-theme="slipstream"][data-gp-premium="true"] .study-heading h1{font-size:51px;line-height:.97}[data-gp-theme="slipstream"][data-gp-premium="true"] .study-heading .file-mark{width:32px;height:32px;margin-top:5px}[data-gp-theme="slipstream"][data-gp-premium="true"] .hero-art{min-height:0}[data-gp-theme="slipstream"][data-gp-premium="true"] .hero-art img{height:auto;aspect-ratio:1.28;min-height:0;max-height:none;object-fit:cover;object-position:50% 58%}[data-gp-theme="slipstream"][data-gp-premium="true"] .hero-art figcaption{padding:14px 22px;font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .hero-art figcaption>span:not(.fs-richtext):first-child{font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .study-footer{padding:15px 22px;font-size:14px}[data-gp-theme="slipstream"][data-gp-premium="true"] .study-footer svg{width:20px;height:20px}[data-gp-theme="slipstream"][data-gp-premium="true"] .spec-rail{display:grid;grid-template-columns:1fr}[data-gp-theme="slipstream"][data-gp-premium="true"] .file-tab{font-size:12px;padding:13px 22px}[data-gp-theme="slipstream"][data-gp-premium="true"] .rail-main{padding:23px 22px 14px;display:grid;grid-template-columns:1.2fr .8fr;gap:0 14px}[data-gp-theme="slipstream"][data-gp-premium="true"] .rail-main h2{font-size:39px;grid-column:1;grid-row:1}[data-gp-theme="slipstream"][data-gp-premium="true"] .vehicle-trim{grid-column:1;grid-row:2;font-size:16px;margin-top:6px}[data-gp-theme="slipstream"][data-gp-premium="true"] .featured-price{grid-column:2;grid-row:1/3;font-size:39px;text-align:right;align-self:start;margin:0;padding-top:2px}[data-gp-theme="slipstream"][data-gp-premium="true"] .featured-price small{font-size:12px;max-width:12ch;margin-left:auto}[data-gp-theme="slipstream"][data-gp-premium="true"] .spec-list{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;margin-top:22px;gap:0 20px}[data-gp-theme="slipstream"][data-gp-premium="true"] .spec-list>div{display:block;font-size:16px;padding:11px 0 12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .spec-list dt{font-size:12px;margin-bottom:4px}[data-gp-theme="slipstream"][data-gp-premium="true"] .spec-list dd{text-align:left;font-size:18px}[data-gp-theme="slipstream"][data-gp-premium="true"] .spec-list>div:last-child{display:none}[data-gp-theme="slipstream"][data-gp-premium="true"] .rail-history{grid-column:1/-1;margin:17px 0 19px}[data-gp-theme="slipstream"][data-gp-premium="true"] .rail-history p{font-size:14px}[data-gp-theme="slipstream"][data-gp-premium="true"] .rail-history small{font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .rail-main .button{grid-column:1/-1;min-height:50px;font-size:16px;padding-inline:16px}[data-gp-theme="slipstream"][data-gp-premium="true"] .rail-main>.text-button{grid-column:1/-1;font-size:14px;margin-top:5px}[data-gp-theme="slipstream"][data-gp-premium="true"] .rail-note{font-size:12px;padding:13px 22px}[data-gp-theme="slipstream"][data-gp-premium="true"] .section-space{padding-block:60px}[data-gp-theme="slipstream"][data-gp-premium="true"] .section-heading{display:block;margin-bottom:27px}[data-gp-theme="slipstream"][data-gp-premium="true"] .section-heading h2{font-size:43px;max-width:16ch}[data-gp-theme="slipstream"][data-gp-premium="true"] .section-heading>p,[data-gp-theme="slipstream"][data-gp-premium="true"] .section-heading>div{margin-top:17px;font-size:16px;max-width:34ch}[data-gp-theme="slipstream"][data-gp-premium="true"] .section-heading>p br{display:none}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-finder{grid-template-columns:1fr 1fr}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-finder label{padding:17px 17px 14px 0;margin:0;font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-finder label:nth-child(2){padding-left:17px;padding-right:0;border:0}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-finder label:nth-child(3){grid-column:1;border-top:1px solid var(--line);border-right:1px solid var(--line);padding-right:17px}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-finder select{font-size:16px;padding-top:7px;padding-right:21px;min-height:40px}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-finder .reset-button{grid-column:2;grid-row:2;justify-content:center;font-size:13px;gap:9px;padding:17px 0 14px 15px}[data-gp-theme="slipstream"][data-gp-premium="true"] .reset-button svg{width:16px}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-caption{display:block;font-size:12px;margin:18px 0}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-caption p+p{margin-top:4px}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-row{padding:22px 18px 0;gap:17px 12px;grid-template-columns:minmax(0,1fr) auto}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-heading{display:block}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-code{display:block;padding:0;font-size:12px;margin-bottom:9px}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-heading h3{font-size:30px;line-height:1.05}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-heading h3 small{font-size:14px;margin-top:5px}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-price{font-size:31px;align-self:center}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-price small{font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-facts{gap:15px;padding-top:13px}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-facts dt{font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-facts dd{font-size:13px}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-record{min-width:0}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-record summary{font-size:12px;gap:10px;min-height:54px}[data-gp-theme="slipstream"][data-gp-premium="true"] .car-record summary svg{width:14px;height:14px}[data-gp-theme="slipstream"][data-gp-premium="true"] .compare-check{font-size:12px;gap:7px;min-height:50px}[data-gp-theme="slipstream"][data-gp-premium="true"] .check-drawing{width:21px;height:21px}[data-gp-theme="slipstream"][data-gp-premium="true"] .record-content{min-width:0;position:relative;width:calc(100% + 105px);padding:2px 0 23px}[data-gp-theme="slipstream"][data-gp-premium="true"] .record-content h4{font-size:23px}[data-gp-theme="slipstream"][data-gp-premium="true"] .record-content p{font-size:14px}[data-gp-theme="slipstream"][data-gp-premium="true"] .record-content .text-button{font-size:13px;min-height:44px}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-empty{padding:32px 20px}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-empty h3{font-size:34px}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-empty p{font-size:16px}[data-gp-theme="slipstream"][data-gp-premium="true"] .stock-empty .button{font-size:15px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-section .section-heading h2{font-size:47px}[data-gp-theme="slipstream"][data-gp-premium="true"] .compare-status{margin-top:10px!important;font-size:13px!important}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-empty{display:block;padding:28px 22px;min-height:0}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-empty>svg{width:79px;height:57px;margin-bottom:21px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-empty h3{font-size:32px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-empty p{font-size:16px}[data-gp-theme="slipstream"][data-gp-premium="true"] .quick-compare{gap:9px;margin-top:22px}[data-gp-theme="slipstream"][data-gp-premium="true"] .quick-compare :is(button,[role="button"]){padding:8px 11px;gap:20px;font-size:13px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-bottom{display:block;font-size:13px;margin-top:17px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-bottom .text-button{font-size:13px;margin-top:5px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table{font-size:13px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table caption{font-size:12px;padding:11px 12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table th,[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table td{padding:13px 9px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table thead th{padding-block:17px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table thead th:first-child{width:23%;font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .compare-car-head{padding-top:25px}[data-gp-theme="slipstream"][data-gp-premium="true"] .compare-car-head strong{font-size:23px;line-height:1.03;overflow-wrap:normal}[data-gp-theme="slipstream"][data-gp-premium="true"] .compare-car-head small{font-size:12px;margin-top:7px}[data-gp-theme="slipstream"][data-gp-premium="true"] .compare-remove{right:-4px;top:-13px;min-width:30px;min-height:30px}[data-gp-theme="slipstream"][data-gp-premium="true"] .compare-remove svg{width:15px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table tbody th{font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table tbody tr:first-child td{font-size:25px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table tbody tr:last-child td{font-size:12px;line-height:1.35}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table[data-count="3"]{font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table[data-count="3"] th,[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table[data-count="3"] td{padding-inline:7px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table[data-count="3"] thead th:first-child{width:22%}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table[data-count="3"] .compare-car-head strong{font-size:21px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table[data-count="3"] tbody tr:first-child td{font-size:23px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table[data-count="3"] .compare-car-head small{font-size:12px;overflow-wrap:anywhere}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table[data-count="3"] .table-visit .text-button{font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .table-visit .text-button{font-size:12px;line-height:1.2;display:block;padding:0}[data-gp-theme="slipstream"][data-gp-premium="true"] .table-visit .text-button svg{display:block;width:16px;height:16px;margin-top:6px}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-section{grid-template-columns:1fr;gap:28px}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-intro{position:relative}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-intro h2{font-size:46px}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-intro>p:first-of-type{font-size:17px;max-width:32ch;margin-top:20px}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-graphic{margin:23px 0 14px;gap:10px}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-graphic>svg{width:125px;height:100px}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-graphic span:not(.fs-richtext){font-size:12px;writing-mode:horizontal-tb;max-width:13ch}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-note{font-size:12px;max-width:35ch}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-instruction{font-size:13px;max-width:35ch;padding-bottom:18px}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-list summary{font-size:30px;min-height:80px;gap:15px}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-list summary>svg{width:18px;height:18px}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-detail>p{font-size:16px}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-detail{padding-bottom:23px}[data-gp-theme="slipstream"][data-gp-premium="true"] .question-check{font-size:14px;align-items:flex-start;line-height:1.5}[data-gp-theme="slipstream"][data-gp-premium="true"] .question-check .check-drawing{margin-top:1px}[data-gp-theme="slipstream"][data-gp-premium="true"] .questions-footer{font-size:12px;padding-top:20px;display:block}[data-gp-theme="slipstream"][data-gp-premium="true"] .questions-footer a{margin-top:10px;min-height:36px}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-layout{grid-template-columns:1fr;gap:36px}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-intro h2{font-size:59px}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-intro>p{font-size:18px;max-width:30ch;margin-top:20px}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-address{margin-top:28px;padding-top:21px;gap:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-address span:not(.fs-richtext):not(.address-mark){font-size:14px}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-address small{font-size:12px;margin-top:10px;max-width:31ch}[data-gp-theme="slipstream"][data-gp-premium="true"] .address-mark svg{width:26px}[data-gp-theme="slipstream"][data-gp-premium="true"] .form-heading h3{font-size:32px}[data-gp-theme="slipstream"][data-gp-premium="true"] .form-heading>span:not(.fs-richtext){font-size:12px;max-width:none}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-form>label,[data-gp-theme="slipstream"][data-gp-premium="true"] .form-pair>label{font-size:13px;margin-bottom:22px}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-form select{font-size:17px;min-height:49px}[data-gp-theme="slipstream"][data-gp-premium="true"] .form-pair{grid-template-columns:1fr}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-form textarea{font-size:16px;min-height:112px}[data-gp-theme="slipstream"][data-gp-premium="true"] .form-questions{font-size:12px;line-height:1.45}[data-gp-theme="slipstream"][data-gp-premium="true"] .form-note{font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-note{padding:23px 21px 47px;min-height:180px}[data-gp-theme="slipstream"][data-gp-premium="true"] .note-heading h3{font-size:29px;max-width:14ch}[data-gp-theme="slipstream"][data-gp-premium="true"] .note-heading svg{width:27px;height:27px}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-note>p{font-size:15px;max-width:28ch}[data-gp-theme="slipstream"][data-gp-premium="true"] .note-bottom{right:21px;font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .visit-note:before{right:21px;width:60px}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="visit-result"]{font-size:15px;line-height:1.65;margin-top:21px;overflow-wrap:anywhere}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="copy-status"]{display:block;margin:7px 0 0;font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .site-footer{padding-top:43px}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-close{display:block;padding-bottom:30px}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-close h2{font-size:57px;max-width:9ch;line-height:.97}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-close>a{justify-content:space-between;font-size:16px;margin-top:25px;min-height:44px}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-close svg{width:30px;height:30px}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-grid{grid-template-columns:1fr 1fr;gap:35px 20px;padding:35px 0}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-brand{align-self:start;gap:8px}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-brand>span:not(.fs-richtext){font-size:31px}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-brand>svg{width:29px}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-brand small{font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-grid h3{font-size:14px;margin-bottom:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-grid>div>a{font-size:13px;min-height:29px;margin:3px 0}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-about{display:block}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-about p{font-size:13px;max-width:38ch}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-about p+p{margin-top:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-bottom{flex-wrap:wrap;font-size:12px;gap:18px 20px;padding-top:20px}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-bottom>a{margin-left:auto}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-bottom>span:not(.fs-richtext):last-child{width:100%}[data-gp-theme="slipstream"][data-gp-premium="true"] .mega-menu{width:calc(100% - 24px);max-height:calc(100dvh - 24px)}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-header{padding:20px}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-header h2{font-size:35px}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-header :is(button,[role="button"]){width:44px;height:44px}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-body{grid-template-columns:1fr}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-opening{padding:24px 20px;border-right:0;border-bottom:1px solid #a9b7ac;display:grid;grid-template-columns:.75fr 1.25fr;gap:22px}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-wordmark{font-size:35px}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-opening>p{font-size:16px;margin:0}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-stock-link{grid-column:1/-1;margin:0;padding-top:14px;font-size:14px}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-groups{padding:25px 20px;gap:25px 18px}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-groups h3{font-size:29px;margin-bottom:10px}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-groups a{font-size:13px;min-height:44px;line-height:1.35;align-items:center}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-footer{display:block;padding:16px 20px;font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-footer>span:not(.fs-richtext){display:block}[data-gp-theme="slipstream"][data-gp-premium="true"] .menu-footer>span:not(.fs-richtext)+span:not(.fs-richtext){margin-top:6px}}
[data-gp-theme="slipstream"][data-gp-premium="true"] .vehicle-study{background:#0d171c;color:var(--paper)}[data-gp-theme="slipstream"][data-gp-premium="true"] .study-heading .file-mark{color:var(--blue)}[data-gp-theme="slipstream"][data-gp-premium="true"] .study-heading p{color:#c0ceca}[data-gp-theme="slipstream"][data-gp-premium="true"] .hero-art img{mix-blend-mode:normal;object-fit:contain;background:#0d171c}[data-gp-theme="slipstream"][data-gp-premium="true"] .hero-art figcaption{background:#0d171c;color:#b7c7c2}[data-gp-theme="slipstream"][data-gp-premium="true"] .study-footer{border-color:#37484d}[data-gp-theme="slipstream"][data-gp-premium="true"] .study-footer>span:not(.fs-richtext){color:var(--blue)}[data-gp-theme="slipstream"][data-gp-premium="true"] .preloader.is-active{display:flex}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar{font-family:"Barlow",sans-serif}[data-gp-theme="slipstream"][data-gp-premium="true"] .preview-bar :is(button,[role="button"]){border-radius:0}[data-gp-theme="slipstream"][data-gp-premium="true"] .record-content p{font-size:17px}[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-detail>p{font-size:17px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-empty p{font-size:17px}[data-gp-theme="slipstream"][data-gp-premium="true"] .site-footer .footer-about p{font-size:15px}[data-gp-theme="slipstream"][data-gp-premium="true"] dialog.mega-menu{color:var(--ink);border:1px solid var(--blue)}[data-gp-theme="slipstream"][data-gp-premium="true"] ::-webkit-scrollbar{width:10px;height:10px}[data-gp-theme="slipstream"][data-gp-premium="true"] ::-webkit-scrollbar-track{background:var(--ink)}[data-gp-theme="slipstream"][data-gp-premium="true"] ::-webkit-scrollbar-thumb{background:#657f85;border:2px solid var(--ink)}
@media(max-width:640px){[data-gp-theme="slipstream"][data-gp-premium="true"] .site-header{height:122px;padding-block:18px}[data-gp-theme="slipstream"][data-gp-premium="true"] .header-links{display:flex;padding-top:9px;font-size:14px;gap:24px;justify-content:flex-start}[data-gp-theme="slipstream"][data-gp-premium="true"] .header-links>a{min-height:30px;gap:7px}[data-gp-theme="slipstream"][data-gp-premium="true"] .nav-count{font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .hero-art img{aspect-ratio:1.5;object-fit:contain}[data-gp-theme="slipstream"][data-gp-premium="true"] .record-content p,[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-detail>p{font-size:17px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-empty p{font-size:17px}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-about p{font-size:14px}}
@containerfs-editor-canvas (max-width: 640px){[data-gp-theme="slipstream"][data-gp-premium="true"] .site-header{height:122px;padding-block:18px}[data-gp-theme="slipstream"][data-gp-premium="true"] .header-links{display:flex;padding-top:9px;font-size:14px;gap:24px;justify-content:flex-start}[data-gp-theme="slipstream"][data-gp-premium="true"] .header-links>a{min-height:30px;gap:7px}[data-gp-theme="slipstream"][data-gp-premium="true"] .nav-count{font-size:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .hero-art img{aspect-ratio:1.5;object-fit:contain}[data-gp-theme="slipstream"][data-gp-premium="true"] .record-content p,[data-gp-theme="slipstream"][data-gp-premium="true"] .inspection-detail>p{font-size:17px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-empty p{font-size:17px}[data-gp-theme="slipstream"][data-gp-premium="true"] .footer-about p{font-size:14px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="slipstream"][data-gp-premium="true"]{scroll-behavior:auto}[data-gp-theme="slipstream"][data-gp-premium="true"] *,[data-gp-theme="slipstream"][data-gp-premium="true"] *:before,[data-gp-theme="slipstream"][data-gp-premium="true"] *:after{animation:none!important;transition:none!important}[data-gp-theme="slipstream"][data-gp-premium="true"] .preloader{display:none!important}}
@media(max-width:700px){[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="comparison"]{overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-color:var(--lime,#c5e050) #26343a}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table[data-count="2"],[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table[data-count="3"]{min-width:670px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table td,[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table tbody th{font-size:16px!important;line-height:1.45}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table th small{font-size:14px!important}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table .compare-car-head strong{font-size:23px!important}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table .compare-remove{min-width:44px;min-height:44px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table[data-count="2"] caption::after,[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table[data-count="3"] caption::after{content:" · Swipe to compare";font-size:13px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table th:first-child{position:sticky;left:0;z-index:2;background:#e3e7d9;min-width:135px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table thead th:first-child{background:#e3e7d9}}
@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="comparison"]{overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-color:var(--lime,#c5e050) #26343a}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table[data-count="2"],[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table[data-count="3"]{min-width:670px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table td,[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table tbody th{font-size:16px!important;line-height:1.45}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table th small{font-size:14px!important}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table .compare-car-head strong{font-size:23px!important}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table .compare-remove{min-width:44px;min-height:44px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table[data-count="2"] caption::after,[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table[data-count="3"] caption::after{content:" · Swipe to compare";font-size:13px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table th:first-child{position:sticky;left:0;z-index:2;background:#e3e7d9;min-width:135px}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table thead th:first-child{background:#e3e7d9}}
@media(max-width:700px){[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table tbody tr:first-child td{font-size:26px!important}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table .table-visit .text-button{font-size:15px!important}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table th:first-child{width:140px!important}}
@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table tbody tr:first-child td{font-size:26px!important}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table .table-visit .text-button{font-size:15px!important}[data-gp-theme="slipstream"][data-gp-premium="true"] .comparison-table th:first-child{width:140px!important}}

/* Explicit legacy adapters; keep artwork/product colours intact. */
[data-gp-theme="slipstream"][data-gp-premium="true"][data-pilot=kiln-house]{--display:"Fraunces",serif;--body:"Figtree",sans-serif;--ip-paper:var(--clay);--ip-ink:var(--ink);--ip-accent:var(--rust);--ip-on:#fff7ed;--ip-wash:#ead4bd;--ip-line:#aa8c76;--ip-muted:#654b3d}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-pilot=kiln-house][data-palette="1"]{--clay:#e1e8d9;--paper:#eef2e7;--ink:#344c38;--rust:#416447;--blue:#385968;--rule:#9eaf98;--ip-wash:#cedbc6;--ip-muted:#465d46}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-pilot=kiln-house][data-palette="2"]{--clay:#dce7ec;--paper:#eef3f5;--ink:#284653;--rust:#315c70;--blue:#4a5158;--rule:#9badb6;--ip-wash:#c8d9e0;--ip-muted:#425d69}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-pilot=kiln-house][data-mode=dark]{--clay:#28221e;--paper:#342d26;--ink:#f4e7d7;--rust:#eab08c;--blue:#b3d0d3;--rule:#827063;--ip-on:#2d2119;--ip-wash:#3b3028;--ip-line:#827063;--ip-muted:#d7c5b4}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-pilot=kiln-house][data-palette="1"][data-mode=dark]{--clay:#202a22;--paper:#2b382c;--ink:#ebf0dd;--rust:#b8d59f;--ip-wash:#304031;--ip-line:#71856c;--ip-muted:#cbd6c2}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-pilot=kiln-house][data-palette="2"][data-mode=dark]{--clay:#202a30;--paper:#2a3740;--ink:#e6eff3;--rust:#a9cedd;--ip-wash:#30404a;--ip-line:#708895;--ip-muted:#c7d7df}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-pilot=field-and-fold]{--ip-paper:var(--paper);--ip-ink:var(--ink);--ip-accent:#356448;--ip-on:#f7f4e9;--ip-wash:#dce5d4;--ip-line:#a8b8a2;--ip-muted:#46604d}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-pilot=field-and-fold][data-palette="1"]{--paper:#ede4eb;--ink:#583c56;--rust:#784567;--cloud:#c7b8cd;--warm:#f6f0f5;--line:#b7a2b6;--ip-accent:#784567;--ip-wash:#e0d0de;--ip-line:#b7a2b6;--ip-muted:#665064}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-pilot=field-and-fold][data-palette="2"]{--paper:#e0ecef;--ink:#2b4d5a;--rust:#386578;--cloud:#b3cdd4;--warm:#f1f5f5;--line:#9bb7be;--ip-accent:#386578;--ip-wash:#cddfe4;--ip-line:#9bb7be;--ip-muted:#405f69}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-pilot=field-and-fold][data-mode=dark]{--paper:#1d2b24;--ink:#e5efdf;--rust:#edb58c;--cloud:#66877e;--warm:#2c3c32;--line:#6b8671;--ip-accent:#bad5a8;--ip-on:#203021;--ip-wash:#2b3b30;--ip-line:#6b8671;--ip-muted:#c4d3bd}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-pilot=field-and-fold][data-palette="1"][data-mode=dark]{--paper:#2c2330;--ink:#f0e2ed;--warm:#3e3040;--line:#8f718e;--ip-wash:#3c2d40;--ip-accent:#ddb5d3;--ip-on:#332136;--ip-muted:#d9c7d8}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-pilot=field-and-fold][data-palette="2"][data-mode=dark]{--paper:#1e2c34;--ink:#e2eef3;--warm:#2a3b45;--line:#718995;--ip-wash:#2a3b45;--ip-accent:#b2d7e2;--ip-on:#1f3038;--ip-muted:#c5d9e0}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-pilot=slipstream]{--display:"Barlow Condensed",sans-serif;--body:"Barlow",sans-serif;--ip-paper:#f2f1e9;--ip-ink:#111b20;--ip-wash:#e2e5db;--ip-accent:#344c14;--ip-on:#f6f9e9;--ip-line:#a1aca1;--ip-muted:#47574b}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-pilot=slipstream][data-palette="1"]{--lime:#9cccd5;--blue:#497380;--ip-paper:#e5edf1;--ip-ink:#203b49;--ip-wash:#d3e0e6;--ip-accent:#2f6176;--ip-on:#fff;--ip-muted:#425d6a}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-pilot=slipstream][data-palette="2"]{--lime:#e1b18d;--blue:#8d6857;--ip-paper:#f2e7dc;--ip-ink:#4f3528;--ip-wash:#e7d5c3;--ip-accent:#7d472e;--ip-on:#fff8ef;--ip-muted:#6b5241}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-pilot=slipstream][data-mode=dark]{--ip-paper:#111b20;--ip-ink:#f2f1e9;--ip-wash:#233039;--ip-accent:var(--lime);--ip-on:#152016;--ip-line:#697b81;--ip-muted:#c4d1cd}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-pilot=the-second-set-signal]{--display:"Space Grotesk",sans-serif;--body:"IBM Plex Sans",sans-serif;--ip-paper:#f4efe1;--ip-ink:#111820;--ip-wash:#e5dfcf;--ip-accent:#234bcc;--ip-on:#fff;--ip-line:#a6a99f;--ip-muted:#475059}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-pilot=the-second-set-signal][data-palette="1"]{--blue:#684078;--orange:#eb9c98;--ip-paper:#f1e7ef;--ip-ink:#37203d;--ip-wash:#e5d6e4;--ip-accent:#684078;--ip-muted:#644f68}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-pilot=the-second-set-signal][data-palette="2"]{--blue:#246769;--orange:#e9bb69;--ip-paper:#e7efe8;--ip-ink:#173d3c;--ip-wash:#d4e1d7;--ip-accent:#246769;--ip-muted:#45605a}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-pilot=the-second-set-signal][data-mode=dark]{--ip-paper:#111820;--ip-ink:#f4efe1;--ip-wash:#242e38;--ip-accent:#c4d0ff;--ip-on:#172443;--ip-line:#74818a;--ip-muted:#c4cdd3}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-pilot=the-second-set-signal][data-palette="1"][data-mode=dark]{--ip-paper:#291c30;--ip-ink:#f5e8f2;--ip-wash:#3b2a44;--ip-accent:#ddbae7;--ip-on:#34223e;--ip-muted:#d9c6df}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-pilot=the-second-set-signal][data-palette="2"][data-mode=dark]{--ip-paper:#172e30;--ip-ink:#eaf2e7;--ip-wash:#294143;--ip-accent:#b8d8ca;--ip-on:#203c32;--ip-muted:#c6ded3}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-pilot=slipstream][data-site],[data-gp-theme="slipstream"][data-gp-premium="true"][data-pilot=the-second-set-signal][data-site]{background:var(--ip-paper);color:var(--ip-ink)}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-pilot=slipstream] .mega-menu,[data-gp-theme="slipstream"][data-gp-premium="true"][data-pilot=the-second-set-signal] .mega-menu{background:var(--ip-paper);color:var(--ip-ink);border-color:var(--ip-line)!important}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-pilot=the-second-set-signal] .menu-grid :is(h3,p){color:var(--ip-muted)}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-pilot=slipstream][data-mode=light] :is(.desk-button,.stock-finder select,.reset-button){background:var(--ip-paper);color:var(--ip-ink);border-color:var(--ip-line)}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-pilot=the-second-set-signal][data-mode=light] :is(.window-note,.listening){color:#f4efe1}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-pilot=the-second-set-signal][data-mode=light] .catalogue-tools :is(button,[role="button"]){color:var(--ip-ink);border-color:var(--ip-line)}

/* Preview chrome and accessibility only. Theme authors own the visual worlds. */
[data-gp-theme="slipstream"][data-gp-premium="true"][data-premium]{color-scheme:light;background:var(--paper);color:var(--ink);accent-color:var(--accent);scrollbar-color:var(--accent) var(--wash)}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-premium][data-mode=dark]{color-scheme:dark}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-premium] ::selection{background:var(--accent);color:var(--on-accent)}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-premium] :is(input,textarea){caret-color:var(--accent)}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-premium] :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--accent);outline-offset:4px}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-premium] :is(input,select,textarea){max-width:100%}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-premium] :is(input,textarea)::placeholder{color:var(--muted);opacity:1}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-premium] .preview-bar{display:flex;flex-wrap:wrap;justify-content:flex-start;background:#f5f5f0;color:#242d2c;border-color:#cbd0c8;gap:8px 14px;position:relative;font:13px/1.3 "Figtree",sans-serif;min-height:52px;padding:6px 3vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="slipstream"][data-gp-premium="true"][data-premium] .preview-bar{padding:6px 3cqw}}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-premium] .preview-bar>a{font-weight:600;min-height:40px;display:flex;align-items:center}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-premium] .preview-bar [role=group]{margin-left:auto;display:flex;gap:2px}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-premium] .preview-bar :is(button,select){font:13px/1.3 "Figtree",sans-serif;min-height:40px;max-width:100%;border-radius:3px}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-premium] .preview-bar select{background:#fff;color:#242d2c;border:1px solid #a2ada4;padding:7px 24px 7px 9px}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-premium] .preview-bar [aria-pressed=true]{background:#242d2c;color:#fff}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-premium] .preview-bar .preview-label{font:12px/1.3 "Figtree",sans-serif;color:#48554f}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-premium] .preview-bar :focus-visible{outline-color:#254fbb}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-premium] .preview-bar [data-replay-intro]{font-size:12px;margin:0}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-premium] .preview-bar [data-replay-intro]::after{content:none}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-premium] .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-premium] .premium-action{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 22px;background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);text-decoration:none;font-weight:600;transition:transform 150ms var(--ease-out),background-color 150ms var(--ease-out)}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-premium] .premium-action:active{transform:translateY(1px)}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-premium] .premium-action:disabled{opacity:.6;cursor:not-allowed}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-premium] :is(h1,h2,h3){text-wrap:balance}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-premium] p{text-wrap:pretty}
/* Put down the opaque menu surface immediately, then introduce its content. */
[data-gp-theme="slipstream"][data-gp-premium="true"][data-premium] .mega-menu[open]:not([data-closing]){animation:none}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-premium] .mega-menu[open]:not([data-closing])>:not(:first-child){animation:gp-slippremium-premium-menu-content 160ms var(--ease-out)}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-premium] .mega-menu[data-keyboard]>:not(:first-child){animation:none!important}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-premium][data-input=keyboard] :is(button,[role="button"]):active{transform:none}
@keyframes gp-slippremium-premium-menu-content{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:650px){
 [data-gp-theme="slipstream"][data-gp-premium="true"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="slipstream"][data-gp-premium="true"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="slipstream"][data-gp-premium="true"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="slipstream"][data-gp-premium="true"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="slipstream"][data-gp-premium="true"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="slipstream"][data-gp-premium="true"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="slipstream"][data-gp-premium="true"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="slipstream"][data-gp-premium="true"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@containerfs-editor-canvas (max-width: 650px){
 [data-gp-theme="slipstream"][data-gp-premium="true"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="slipstream"][data-gp-premium="true"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="slipstream"][data-gp-premium="true"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="slipstream"][data-gp-premium="true"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="slipstream"][data-gp-premium="true"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="slipstream"][data-gp-premium="true"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="slipstream"][data-gp-premium="true"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="slipstream"][data-gp-premium="true"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@media(prefers-reduced-motion:reduce){[data-gp-theme="slipstream"][data-gp-premium="true"][data-premium] .premium-action{transition:none;transform:none}}

/* Website page primitives and actual layout modes. Authored theme CSS owns identity. */
[data-gp-theme="slipstream"][data-gp-premium="true"][data-framed=true] .preview-bar,[data-gp-theme="slipstream"][data-gp-premium="true"][data-framed=true] .site-open-preview{display:none!important}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-site]{--ip-paper:var(--paper,#f4f2eb);--ip-ink:var(--ink,#192f2c);--ip-wash:var(--wash,var(--paper,#e6e9df));--ip-accent:var(--accent,var(--rust,#315b50));--ip-on:var(--on-accent,var(--paper,#fff));--ip-muted:var(--muted,var(--ink,#45534d));--ip-line:var(--line,var(--rule,#a1aca5))}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside]{background:var(--ip-paper);color:var(--ip-ink);font:18px/1.65 var(--body,"Figtree",sans-serif)}
[data-gp-theme="slipstream"][data-gp-premium="true"] .inside-page :is(h1,h2,h3){font-family:var(--display,inherit);color:inherit;letter-spacing:-.035em;line-height:1.1;font-weight:500;max-width:22ch}
[data-gp-theme="slipstream"][data-gp-premium="true"] .inside-page h1{font-size:clamp(42px,5.3vw,80px);margin:0 0 26px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="slipstream"][data-gp-premium="true"] .inside-page h1{font-size:clamp(42px,5.3cqw,80px)}}[data-gp-theme="slipstream"][data-gp-premium="true"] .inside-page h2{font-size:clamp(30px,3vw,49px);margin:0 0 24px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="slipstream"][data-gp-premium="true"] .inside-page h2{font-size:clamp(30px,3cqw,49px)}}[data-gp-theme="slipstream"][data-gp-premium="true"] .inside-page h3{font-size:25px;margin:0 0 15px}
[data-gp-theme="slipstream"][data-gp-premium="true"] .inside-page :is(p,li){max-width:72ch}[data-gp-theme="slipstream"][data-gp-premium="true"] .inside-page p{margin:0 0 20px}[data-gp-theme="slipstream"][data-gp-premium="true"] .inside-page a{color:inherit}[data-gp-theme="slipstream"][data-gp-premium="true"] .inside-page img{max-width:100%;width:100%;height:100%;object-fit:cover}[data-gp-theme="slipstream"][data-gp-premium="true"] .inside-page figure{margin:0}[data-gp-theme="slipstream"][data-gp-premium="true"] .inside-page :is(button,[role="button"]){color:inherit}
[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-hero,[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-section{width:min(1320px,calc(100% - 96px));margin-inline:auto;padding-block:70px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:65px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-opening{min-width:0}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-hero:has(>.ip-opening:only-child){grid-template-columns:1fr}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-art{height:430px;position:relative}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-art img{object-fit:cover}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-art figcaption,[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-caption{font-size:14px;line-height:1.5;color:var(--ip-muted);padding-top:10px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-section>.ip-caption{margin-bottom:20px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-card{min-width:0;border-top:1px solid var(--ip-line);padding:25px 0}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-card figure{height:230px;margin-bottom:25px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-reading{width:min(76ch,calc(100% - 48px));margin-inline:auto;padding-block:55px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-reading h2{margin-top:40px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-ledger{margin:24px 0}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-ledger>div{display:grid;grid-template-columns:1fr 1.4fr;gap:20px;border-top:1px solid var(--ip-line);padding:15px 0}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-ledger dt{font-weight:600}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-ledger dd{margin:0}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border:1px solid var(--ip-accent);background:var(--ip-accent);color:var(--ip-on)!important;text-decoration:none;font-size:16px;transition:transform 150ms var(--ease-out)}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-action.secondary{background:transparent;color:var(--ip-ink)!important;border-color:var(--ip-line)}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-band{padding:55px max(24px,calc((100% - 1320px)/2));background:var(--ip-wash);color:var(--ip-ink)}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-band p{max-width:65ch}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-note{font-size:15px;border-left:3px solid var(--ip-accent);padding:12px 18px;background:var(--ip-wash);color:var(--ip-ink);margin-block:20px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-form{display:grid;gap:22px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-form label{display:grid;gap:8px;font-size:16px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-form :is(input,textarea,select){width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid var(--ip-line);background:var(--ip-paper);color:var(--ip-ink);font:inherit;border-radius:0}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-form :is(input,textarea)::placeholder{color:var(--ip-muted);opacity:1}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-form :is(button,[role="button"]){justify-self:start}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-form textarea{min-height:135px}[data-gp-theme="slipstream"][data-gp-premium="true"] .inside-page output[data-draft-output]{display:block;white-space:pre-wrap;padding:25px;background:var(--ip-wash);color:var(--ip-ink);border:1px solid var(--ip-line);overflow-wrap:anywhere}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-checks{display:grid;gap:12px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-checks label{display:flex;align-items:start;gap:14px;border-top:1px solid var(--ip-line);padding:16px 0;min-height:52px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-checks input{width:22px;height:22px;min-height:22px;flex-shrink:0;margin-top:4px;accent-color:var(--ip-accent)}[data-gp-theme="slipstream"][data-gp-premium="true"] .inside-page details{border-top:1px solid var(--ip-line);padding:18px 0}[data-gp-theme="slipstream"][data-gp-premium="true"] .inside-page summary{min-height:44px;font-size:21px;cursor:pointer}[data-gp-theme="slipstream"][data-gp-premium="true"] .inside-page details p{padding:16px 0 0}[data-gp-theme="slipstream"][data-gp-premium="true"] .inside-page [data-filter-group]>[role=group]{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}[data-gp-theme="slipstream"][data-gp-premium="true"] .inside-page [data-filter]{padding:10px 18px;min-height:44px;background:transparent;color:var(--ip-ink);border:1px solid var(--ip-line)}[data-gp-theme="slipstream"][data-gp-premium="true"] .inside-page [data-filter][aria-pressed=true]{background:var(--ip-accent);color:var(--ip-on)}[data-gp-theme="slipstream"][data-gp-premium="true"] .site-directory{padding:30px!important;background:var(--ip-paper)!important;color:var(--ip-ink)!important;border-top:1px solid var(--ip-line)}[data-gp-theme="slipstream"][data-gp-premium="true"] .site-directory h3{font:600 17px/1.4 var(--body,"Figtree",sans-serif);margin:0 0 16px}[data-gp-theme="slipstream"][data-gp-premium="true"] .site-directory>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 25px}[data-gp-theme="slipstream"][data-gp-premium="true"] .site-directory a{display:block;font:16px/1.5 var(--body,"Figtree",sans-serif)!important;min-height:44px;padding:10px 0!important;color:inherit!important;text-decoration:none}[data-gp-theme="slipstream"][data-gp-premium="true"] .site-directory a[aria-current=page]{text-decoration:underline;font-weight:600!important}[data-gp-theme="slipstream"][data-gp-premium="true"] .site-open-preview{display:block;padding:10px 20px;background:#eef0eb;color:#20322d;font:14px/1.4 "Figtree",sans-serif;text-align:center}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){width:100%;padding-inline:max(24px,4vw)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){padding-inline:max(24px,4cqw)}}
[data-gp-theme="slipstream"][data-gp-premium="true"]:has([data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=boxed]){background:#a6afa9}[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=boxed]{width:min(1200px,calc(100% - 64px));margin-inline:auto;box-shadow:0 0 0 1px #0002,0 20px 70px #0002;min-height:100dvh;background:var(--ip-paper)}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=centered] :is(.ip-hero,.opening,.cake-opening,.gp-title,.book-opening,.poster-opening,.portal-opening,.destination-opening,.route-opening){text-align:center}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=centered] .ip-hero{grid-template-columns:1fr;max-width:1000px;justify-items:center}[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=centered] .ip-opening{display:grid;justify-items:center}[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=centered] .ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=centered] .ip-art{width:min(760px,100%)}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=minimalist] :is(.ip-section,.ip-hero){padding-block:42px}[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=minimalist] :is(.ip-card,.ip-art,.ip-note){border-radius:0;box-shadow:none;background-image:none}[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5vw,64px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5cqw,64px)}}[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=minimalist] :is(.mullions,.glaze-rim,.cake-sticker,.paper-corner){opacity:0}[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=minimalist] :is(.ip-art img,.opening img){border-radius:0}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=edge-hero] .ip-hero{width:100%;padding-inline:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4vw)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4cqw)}}[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=edge-hero] .ip-art{height:600px}[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=edge-hero] .ip-art img{border-radius:0}[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=edge-hero] .ip-art figcaption{padding:8px 20px}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=full-width] .inside-page>.ip-opening{width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=full-width] .inside-page>.ip-opening{padding-inline:4cqw}}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=centered] .inside-page>.ip-opening{display:flex;flex-direction:column;align-items:center;text-align:center;width:min(1000px,calc(100% - 48px));gap:30px}[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=centered] .inside-page>.ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=centered] .inside-page>.ip-opening>figure{width:min(780px,100%)}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=minimalist] .inside-page>.ip-opening{padding-block:38px}[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=minimalist] .inside-page>.ip-opening :is(h1,figure){box-shadow:none;border-radius:0}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=edge-hero] .inside-page>.ip-opening{width:100%;max-width:none;padding:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4cqw}}[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:600px;max-width:none;align-self:stretch}[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=edge-hero] .inside-page>.ip-opening>figure img{height:100%;object-fit:cover;border-radius:0}
/* Existing home compositions gain real width/spacing modes without replacing their content. */
[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){padding-inline:4cqw}}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child{text-align:center}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(h1,p){margin-inline:auto}[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(.opening-copy,.elevation-copy,.cake-copy,.hero-copy){text-align:center}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=minimalist]:not([data-inside]) .gp-source-main>section{padding-block:44px}[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=minimalist]:not([data-inside]) :is(.hero-sleeve,.calendar,.hello-note,.open-book){box-shadow:none}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child{width:100%;max-width:none;margin-inline:0;padding-inline:0;background:var(--ip-wash)}[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4cqw}}[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:600px}
@media(hover:hover) and (pointer:fine){[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-action:hover{transform:translateY(-2px)}[data-gp-theme="slipstream"][data-gp-premium="true"] .site-directory a:hover{text-decoration:underline}}
@media(max-width:850px){[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-hero,[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-hero{gap:30px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-two{gap:30px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-art{height:340px}}
@containerfs-editor-canvas (max-width: 850px){[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-hero,[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-hero{gap:30px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-two{gap:30px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-art{height:340px}}
@media(max-width:600px){[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-hero,[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-hero,[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-two,[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-grid,[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-art{height:300px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="slipstream"][data-gp-premium="true"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="slipstream"][data-gp-premium="true"] .site-directory{padding:22px!important}[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-hero,[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-hero,[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-two,[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-grid,[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-art{height:300px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="slipstream"][data-gp-premium="true"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="slipstream"][data-gp-premium="true"] .site-directory{padding:22px!important}[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@media(max-width:600px){[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
[data-gp-theme="slipstream"][data-gp-premium="true"] .inside-page a[aria-disabled=true]{cursor:default;text-decoration:none}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-layout=edge-hero] .inside-page .ip-hero .ip-art{transform:none}
@media(prefers-reduced-motion:reduce){[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-action{transition:none;transform:none!important}}
/* Task actions always use an explicit contrasting pair, including themed form overrides. */
[data-gp-theme="slipstream"][data-gp-premium="true"][data-site] .inside-page :is(.ip-form :is(button,[role="button"]):is([type="submit"],[data-gp-button-type="submit"]),[data-save-draft],.ip-action:not(.secondary)){
 background:var(--ip-ink)!important;color:var(--ip-paper)!important;border:1px solid var(--ip-ink)!important;
 min-height:48px;padding:12px 22px;font-size:16px;line-height:1.4;
}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-site] .inside-page .ip-action.secondary{background:transparent!important;color:var(--ip-ink)!important;border-color:var(--ip-line)!important}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-site] .inside-page .ip-form :is(select,select option){background-color:var(--ip-paper);color:var(--ip-ink)}
[data-gp-theme="slipstream"][data-gp-premium="true"] .site-plan-label{display:block;font:400 14px/1.45 var(--body,sans-serif);margin-top:6px;text-decoration:none;opacity:1}
[data-gp-theme="slipstream"][data-gp-premium="true"] a[data-preview-plan]{cursor:pointer}[data-gp-theme="slipstream"][data-gp-premium="true"] .inside-page a[data-preview-plan]{text-decoration:none}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-site] .site-directory a[data-preview-plan]{display:flex;flex-direction:column;align-items:flex-start;gap:2px}[data-gp-theme="slipstream"][data-gp-premium="true"] .site-directory .site-plan-label{font-size:13px;margin:0}

[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-opening{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:center;margin:0 auto;padding:64px 0 48px;width:min(1280px,calc(100% - 64px));border-bottom:1px solid var(--line,#9a9a91)}

@container fs-editor-canvas (min-width: 0px){

[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-opening{gap:clamp(24px,5cqw,80px)}}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-opening:not(:has(figure)){grid-template-columns:1fr;max-width:1280px}[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-opening h1{max-width:16ch;font-size:clamp(42px,6vw,86px);line-height:1.03}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-opening h1{font-size:clamp(42px,6cqw,86px)}}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-folio{font-size:14px;margin-bottom:20px;color:var(--muted,currentColor)}[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-deck{max-width:58ch;margin-top:26px;font-size:21px;line-height:1.55}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-art{margin:0;min-width:0}[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-art img{width:100%;height:360px;object-fit:cover}[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-art figcaption{font-size:13px;line-height:1.5;padding-top:12px}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-section{padding:50px 0;margin:auto;width:min(1280px,calc(100% - 64px))}[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-section>h2{font-size:clamp(30px,3.6vw,52px);max-width:25ch;margin-bottom:26px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-section>h2{font-size:clamp(30px,3.6cqw,52px)}}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-section>p{max-width:70ch;line-height:1.65;margin:20px 0}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-essays{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-essays article{border-top:2px solid var(--accent,currentColor);padding-top:22px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-essays h3,[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-sequence h3{font-size:26px;margin-bottom:14px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-essays p,[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-sequence p{font-size:17px;line-height:1.65}
[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-sequence{list-style:decimal;padding:0 0 0 28px;margin:0;display:grid;gap:26px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-sequence li{padding-left:15px;max-width:74ch}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-sequence li::marker{color:var(--accent,currentColor);font-weight:700}
[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-ledger{margin:22px 0}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-ledger>div{display:grid;grid-template-columns:1fr 1.6fr;gap:20px;border-top:1px solid var(--line,#999);padding:16px 0}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-ledger dt{font-weight:600}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-ledger dd{margin:0;line-height:1.6}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-action{display:inline-flex;gap:12px;padding:12px 18px;min-height:48px;align-items:center;text-decoration:none;border:1px solid currentColor;background:transparent;color:inherit;font:600 16px/1.4 var(--body,inherit)}
[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-band{width:min(1280px,calc(100% - 64px));margin:30px auto 64px;padding:32px;display:flex;align-items:center;justify-content:space-between;gap:32px;border:1px solid var(--line,#999);background:var(--wash,transparent)}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-band h2{font-size:34px;margin-bottom:16px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-band p{max-width:58ch;font-size:17px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-band>.ip-action{flex-shrink:0}
[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-draft{max-width:850px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-form{display:grid;grid-template-columns:1fr 1fr;gap:22px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-form label{display:grid;gap:9px;font-size:16px;min-width:0}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-form input,[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-form select,[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-form textarea{width:100%;min-width:0;background:var(--paper,#fff);color:var(--ink,#222);border:1px solid var(--line,#888);padding:12px;font:inherit;border-radius:0}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-form label:has(textarea),[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-form>.ip-note{grid-column:1/-1}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-form textarea{min-height:130px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-note{font-size:14px;line-height:1.6;max-width:68ch}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-draft output{display:block;white-space:pre-wrap;padding:24px;margin-top:24px;border:1px solid var(--line,#888);background:var(--wash,transparent)}
[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-checks{max-width:800px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-checks label{display:flex;gap:16px;align-items:start;border-bottom:1px solid var(--line,#999);padding:18px 0;line-height:1.55}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-checks input{width:21px;height:21px;flex-shrink:0;accent-color:var(--accent,currentColor);margin-top:3px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-checks output{display:block;margin-top:22px;font-weight:600}
[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-faq{max-width:850px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-faq details{border-top:1px solid var(--line,#999);padding:18px 0}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-faq summary{min-height:44px;cursor:pointer;font-weight:600}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-faq p{padding:12px 0;line-height:1.7;max-width:72ch}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-choices{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-choices :is(button,[role="button"]),[data-gp-theme="slipstream"][data-gp-premium="true"] [data-filter]{background:var(--paper,#fff);color:var(--ink,#222);border:1px solid var(--line,#999);padding:12px 18px;font:inherit;min-height:44px;cursor:pointer}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-choices [aria-pressed=true],[data-gp-theme="slipstream"][data-gp-premium="true"] [data-filter][aria-pressed=true]{outline:2px solid var(--accent,currentColor);outline-offset:3px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-notes output{display:block;padding:20px;background:var(--wash,transparent);max-width:72ch;line-height:1.6}
[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-records{display:grid;gap:28px;margin:28px 0}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-records article{border-top:1px solid var(--line,#999);padding:28px 0;display:grid;grid-template-columns:1fr 1.2fr;gap:32px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-records article>img{width:100%;height:290px;object-fit:cover}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-records h3{font-size:34px;margin-bottom:20px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-records p{line-height:1.65;margin:16px 0}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-records .ip-action{margin-top:16px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-detail-record{padding:36px 0;border-top:2px solid var(--accent,currentColor);scroll-margin-top:30px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-detail-record>h3{font-size:36px;margin-bottom:22px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-detail-record>p{max-width:72ch;line-height:1.7}
[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-reading{max-width:76ch!important;margin-left:auto!important;margin-right:auto!important}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-reading h3{margin-top:28px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-table-scroll{overflow-x:auto}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-data-table{border-collapse:collapse;width:100%;min-width:650px;font-size:16px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-data-table th,[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-data-table td{border:1px solid var(--line,#999);padding:18px;text-align:left;vertical-align:top;line-height:1.6}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-data-table th{background:var(--wash,transparent)}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-filter-bar{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-filter-bar output{width:100%;margin:8px 0}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] :is(.ip-action,summary,[data-filter],[data-note-choice],input,select,textarea):focus-visible{outline:3px solid var(--accent,currentColor);outline-offset:4px}[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-action:hover{opacity:.85}[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-action:active{transform:translateY(1px)}
@media(max-width:700px){[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-opening,[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-section,[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-band{width:calc(100% - 32px)}[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-opening{grid-template-columns:1fr;padding:35px 0;gap:28px}[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-opening h1{font-size:45px;max-width:18ch}[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-deck{font-size:18px}[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-art img{height:300px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-essays,[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-form,[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-records article{grid-template-columns:1fr}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-ledger>div{grid-template-columns:1fr;gap:8px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-band{display:block;padding:24px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-band>.ip-action{margin-top:22px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-section{padding-block:34px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-form label:has(textarea),[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-form>.ip-note{grid-column:auto}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-records article>img{height:250px}}
@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-opening,[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-section,[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-band{width:calc(100% - 32px)}[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-opening{grid-template-columns:1fr;padding:35px 0;gap:28px}[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-opening h1{font-size:45px;max-width:18ch}[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-deck{font-size:18px}[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-art img{height:300px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-essays,[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-form,[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-records article{grid-template-columns:1fr}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-ledger>div{grid-template-columns:1fr;gap:8px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-band{display:block;padding:24px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-band>.ip-action{margin-top:22px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-section{padding-block:34px}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-form label:has(textarea),[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-form>.ip-note{grid-column:auto}[data-gp-theme="slipstream"][data-gp-premium="true"] .ip-records article>img{height:250px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-action:active{transform:none}}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-file-opening .ip-art{background:var(--paper);color:var(--ink);padding:18px}[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-file-opening .ip-art img{object-fit:contain}[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-stock-ledger article{display:grid;grid-template-columns:.9fr 1.2fr auto;gap:30px;align-items:center;padding:30px 24px;border-bottom:1px solid var(--line);background:var(--paper);color:var(--ink)}[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-stock-ledger h3{font-size:35px}[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-stock-ledger .ip-ledger{font-size:15px}[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-file-index{display:flex;gap:12px;flex-wrap:wrap}[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-evidence-box{padding:24px;border-left:4px solid var(--lime,var(--accent));background:var(--wash,transparent);margin:25px 0}[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-detail-record{border-color:var(--lime,var(--accent));display:grid;grid-template-columns:1fr 1.2fr;gap:24px 45px}[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-detail-record>p,[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-detail-record>.ip-evidence-box{grid-column:1/-1}[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-data-table{background:var(--paper);color:var(--ink)}[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-folio{color:inherit}[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-opening h1{text-transform:uppercase}[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-stock-ledger .ip-action{font-size:14px}@media(max-width:900px){[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-stock-ledger article{grid-template-columns:1fr;gap:12px}[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-detail-record{grid-template-columns:1fr}[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-detail-record>p,[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-detail-record>.ip-evidence-box{grid-column:auto}}@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-stock-ledger article{grid-template-columns:1fr;gap:12px}[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-detail-record{grid-template-columns:1fr}[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-detail-record>p,[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside] .ip-detail-record>.ip-evidence-box{grid-column:auto}}


/* Owner selected alternative on 18 October 2026. Main heading roles only. */
[data-gp-theme="slipstream"][data-gp-premium="true"][data-gp-kind="section"] h1{font-family:"Archivo", sans-serif!important;font-weight:650!important;letter-spacing:-0.02em!important;line-height:1.06!important;font-variation-settings:normal!important;font-optical-sizing:auto!important}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-gp-kind="section"] h2{font-family:"Barlow", sans-serif!important;font-weight:600!important;letter-spacing:-.01em!important;line-height:1.17!important;font-variation-settings:normal!important;font-optical-sizing:auto!important}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-gp-kind="section"] h3{font-family:"Barlow", sans-serif!important;font-weight:600!important;letter-spacing:0!important;line-height:1.25!important;font-variation-settings:normal!important}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-inside][data-gp-kind="section"] h1{font-family:"Barlow", sans-serif!important;line-height:1.14!important;letter-spacing:-.012em!important;font-weight:600!important;text-transform:none!important}
@media(max-width:650px){[data-gp-theme="slipstream"][data-gp-premium="true"][data-gp-kind="section"] h1{line-height:1.08!important;letter-spacing:-0.018em!important}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="slipstream"][data-gp-premium="true"][data-gp-kind="section"] h1{line-height:1.08!important;letter-spacing:-0.018em!important}}

/* The selected regular-width section font needs the full vehicle-title row on phones. */
@media(max-width:650px){[data-gp-theme="slipstream"][data-gp-premium="true"][data-site="slipstream"] .rail-main{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}[data-gp-theme="slipstream"][data-gp-premium="true"][data-site="slipstream"] .rail-main h2{grid-column:1/-1;grid-row:1}[data-gp-theme="slipstream"][data-gp-premium="true"][data-site="slipstream"] .rail-main .featured-price{grid-row:2;grid-column:2;justify-self:end}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="slipstream"][data-gp-premium="true"][data-site="slipstream"] .rail-main{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}[data-gp-theme="slipstream"][data-gp-premium="true"][data-site="slipstream"] .rail-main h2{grid-column:1/-1;grid-row:1}[data-gp-theme="slipstream"][data-gp-premium="true"][data-site="slipstream"] .rail-main .featured-price{grid-row:2;grid-column:2;justify-self:end}}

/* Approved readability refinements, 18 October 2026.
   Only meaningful helpers, local groups and selected reading paragraphs.
   Owner-selected type families, display sizes and frozen comparisons stay authoritative. */

/* Kiln House: the brief promise and sample guidance are part of the task. */
[data-gp-theme="slipstream"][data-gp-premium="true"][data-site="kiln-house"] :is(.field-note,.form-note,.pairing-hint,.material-note,.light-note,.letter-note,.combination-copy small,.material-row small){font-size:14px;line-height:1.5}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-site="kiln-house"] .form-note{margin-top:16px}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-site="kiln-house"] :is(.quiet-button,.combination-action){font-size:15px;line-height:1.5}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-site="kiln-house"] .quiet-button{min-height:44px}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-site="kiln-house"] .directory-links a small{font-size:14px;line-height:1.5}

/* Small study labels explain a choice, rather than acting as an imprint. */
[data-gp-theme="slipstream"][data-gp-premium="true"][data-site="true-joint"] .ux-stage-bar :is(button,[role="button"]) small{font-size:14px;line-height:1.5}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-site="neighbourhood-edit"] .ux-plan-header{font-size:14px;line-height:1.5;gap:12px;flex-wrap:wrap}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-site="neighbourhood-edit"] .ux-room-title{margin-bottom:16px}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-site="neighbourhood-edit"] .ux-room-title h3{margin-bottom:0}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-site="neighbourhood-edit"] :is(.home-finder label,.home-finder output,.area-index small){font-size:14px;line-height:1.5}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-site="neighbourhood-edit"] .home-finder select{font-size:16px;min-height:44px}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-site="harbour"] .ux-folio .ux-document-row label{font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-site="daymark-window-care"] .dm-sheet-head{font-size:14px;line-height:1.5;flex-wrap:wrap}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-site="velum-window-care"] .ux-v-nav :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}

/* Existing small controls retain or gain the comfortable target height. */
[data-gp-theme="slipstream"][data-gp-premium="true"][data-site="stem-and-still"] .stem-slip :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:48px;gap:8px}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-site="cake-box"] .flavour-pick :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-site="cake-box"] .message-label small{font-size:14px;line-height:1.5}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-site="crm-recruitment-people"] .question-buttons{gap:10px}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-site="crm-recruitment-people"] .question-buttons :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:10px 12px}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-site="the-second-set-programme"] .pr-order-actions :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:8px 10px}

/* The format facts belong with the large ensemble names. */
[data-gp-theme="slipstream"][data-gp-premium="true"][data-site="the-second-set-afterglow"] .ag-format-ribbon span:not(.fs-richtext){font-size:14px;line-height:1.5;margin-top:8px}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-site="the-second-set-programme"] .opening-note{font-size:14px;line-height:1.5}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-site="the-second-set-signal"] .form-note{font-size:14px;line-height:1.5}

/* Slipstream: useful record, filter and brief text; preserve the scrollable comparison. */
[data-gp-theme="slipstream"][data-gp-premium="true"][data-site="slipstream"] :is(.featured-price small,.rail-note,.stock-finder label,.stock-caption,.inspection-note,.inspection-instruction,.form-note,[data-gp-id="stock-count"],[data-gp-id="form-question-count"]){font-size:14px;line-height:1.5}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-site="slipstream"] :is(.visit-form label,.form-pair label){font-size:15px;line-height:1.5}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-site="slipstream"] :is(.car-record summary,[data-gp-id="reset-stock"],[data-gp-id="clear-compare"],.quick-compare button){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="slipstream"][data-gp-premium="true"][data-site="slipstream"] .stock-finder select{min-height:44px}

/* Narrow only sustained paragraphs, preserving plans, records, lists and tables. */
[data-gp-theme="slipstream"][data-gp-premium="true"]:is([data-site="stem-and-still"],[data-site="kiln-house"],[data-site="true-joint"])[data-inside] .ip-reading>p{max-width:64ch}

@media(max-width:700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="slipstream"][data-gp-premium="true"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="slipstream"][data-gp-premium="true"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="slipstream"][data-gp-premium="true"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="slipstream"][data-gp-premium="true"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="slipstream"][data-gp-premium="true"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="slipstream"][data-gp-premium="true"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="slipstream"][data-gp-premium="true"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="slipstream"][data-gp-premium="true"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="slipstream"][data-gp-premium="true"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

@containerfs-editor-canvas (max-width: 700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="slipstream"][data-gp-premium="true"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="slipstream"][data-gp-premium="true"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="slipstream"][data-gp-premium="true"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="slipstream"][data-gp-premium="true"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="slipstream"][data-gp-premium="true"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="slipstream"][data-gp-premium="true"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="slipstream"][data-gp-premium="true"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="slipstream"][data-gp-premium="true"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="slipstream"][data-gp-premium="true"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

/* No generic heading, body, section-spacing or panel-height reset.
   Goodpane's unused calendar CSS, Expedition's real stage envelope,
   Starlight's passage leading and Velum's display introduction need no blanket fix. */

/* Menu-only reset. Shapes and composition are authored separately below. */
[data-gp-theme="slipstream"][data-gp-premium="true"] dialog[data-gp-id="mega-menu"].mega-menu{--mi-paper:var(--paper);--mi-ink:var(--ink);--mi-wash:var(--wash,var(--paper));--mi-line:var(--line);--mi-accent:var(--accent,var(--ink));position:fixed;inset:auto;margin:0;padding:0;min-width:0;min-height:0;max-width:none;max-height:none;border:0;border-radius:0;background:var(--mi-paper);color:var(--mi-ink);box-shadow:0 22px 90px #0004;font:16px/1.5 var(--body,sans-serif);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:auto;transform:none}
[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"][open]{display:block;animation:none}
[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"][open]:not([data-closing])>:not(.mi-bar){animation:gp-slippremium-mi-arrive 180ms ease-out both}
[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"][data-closing]{animation:gp-slippremium-mi-leave 160ms ease-in both}
[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"]::backdrop{background:#0007;backdrop-filter:blur(3px)}
[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] *,[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] *::before,[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] *::after{box-sizing:border-box}
[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] :is(h2,h3,p,figure){margin:0;max-width:none}
[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] h2{font-family:var(--mi-display,var(--display,serif));font-weight:500;line-height:1.1;letter-spacing:-.025em;text-transform:none}
[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] h3{font:600 19px/1.25 var(--body,sans-serif);letter-spacing:0;text-transform:none}
[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] a{color:inherit;text-decoration:none;min-height:44px;transition:background-color 160ms,color 160ms;text-transform:none;letter-spacing:0}
[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] a:hover{text-decoration:underline;text-underline-offset:5px}
[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] a:focus-visible,[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] :is(button,[role="button"]):focus-visible{outline:2px solid currentColor;outline-offset:4px}
[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] small{font:400 13px/1.5 var(--body,sans-serif);letter-spacing:0;text-transform:none}
[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-bar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:0;padding:16px 28px;border-bottom:1px solid var(--mi-line);background:var(--mi-paper);color:var(--mi-ink);font:500 15px/1.3 var(--body,sans-serif)}
[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-bar a{display:flex;align-items:center;font:inherit;max-width:70%}
[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] [data-menu-close]{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:64px;margin:0;padding:9px 12px;border:1px solid var(--mi-line);border-radius:0;background:var(--mi-paper);color:var(--mi-ink);font:500 14px/1.3 var(--body,sans-serif);cursor:pointer;flex:none}
[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-note{font:400 12px/1.5 var(--body,sans-serif);color:var(--mi-ink)}
@keyframes gp-slippremium-mi-arrive{from{opacity:0}to{opacity:1}}@keyframes gp-slippremium-mi-leave{to{opacity:0}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"][open],[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"][data-closing],[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"][open]>:not(.mi-bar){animation:none}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] a{transition:none}}

[data-gp-theme="slipstream"][data-gp-premium="true"] dialog[data-gp-id="mega-menu"].mega-menu{--mi-paper:var(--ip-paper);--mi-ink:var(--ip-ink);--mi-wash:var(--ip-wash);--mi-line:var(--ip-line);--mi-accent:var(--ip-accent);--mi-display:"Archivo",sans-serif;inset:auto 0 0;width:100%;max-height:92dvh;border-top:7px solid var(--lime)}
[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-bar{padding:12px 4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-bar{padding:12px 4cqw}}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-cockpit{padding:24px 4vw 18px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-cockpit{padding:24px 4cqw 18px}}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-dashboard-title{display:flex;justify-content:space-between;gap:24px;margin-bottom:25px}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] h2{font-size:39px;font-weight:650}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-dashboard-title p{font-size:15px}
[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-instruments{display:grid;grid-template-columns:1.35fr 1fr .7fr;border:1px solid var(--mi-line)}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-instruments>a{display:flex;flex-direction:column;justify-content:space-between;min-height:150px;padding:20px 28px;border-right:1px solid var(--mi-line)}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-instruments>a:last-child{border-right:0}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-stock-dial{display:grid!important;grid-template-columns:90px 1fr;column-gap:20px;background:var(--mi-ink);color:var(--mi-paper)}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-speed-mark{grid-row:1/3;align-self:center;font-size:92px;line-height:1;transform:rotate(-20deg);font-family:sans-serif}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-stock-dial strong{align-self:end;font:650 30px/1.1 "Archivo",sans-serif}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-stock-dial small{align-self:start;margin-top:10px}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-file strong{font:600 33px/1.1 "Archivo",sans-serif}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-comparison{background:var(--mi-wash)}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-comparison .compare-counter{font:650 57px/1 "Archivo",sans-serif;background:none;color:inherit;width:auto;height:auto;border:0;display:block;padding:0}
[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-console{display:grid;grid-template-columns:1.3fr 1fr .65fr;gap:30px;margin-top:24px}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-console h3{font-size:14px;margin-bottom:6px}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-console>div a{display:inline-flex;align-items:center;margin-right:18px;padding-block:8px;font-size:16px}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-ignition{display:flex;align-items:center;justify-content:space-between;background:var(--mi-accent);color:var(--ip-on);padding:18px;font:600 22px/1.2 "Archivo",sans-serif}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-ignition span:not(.fs-richtext){font-size:32px}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-note{margin-top:17px}
@media(max-width:900px){[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-cockpit{padding:24px 22px}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-dashboard-title{display:block}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] h2{font-size:32px}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-dashboard-title p{margin-top:15px}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-instruments{grid-template-columns:1fr 1fr}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-instruments .mi-stock-dial{grid-column:1/-1;border-right:0;border-bottom:1px solid var(--mi-line);min-height:140px}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-instruments>a{padding:18px;min-height:145px}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-file strong{font-size:27px}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-console{grid-template-columns:1fr;gap:20px}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-console>div a{display:flex;border-bottom:1px solid var(--mi-line);margin:0}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-ignition{min-height:90px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-cockpit{padding:24px 22px}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-dashboard-title{display:block}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] h2{font-size:32px}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-dashboard-title p{margin-top:15px}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-instruments{grid-template-columns:1fr 1fr}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-instruments .mi-stock-dial{grid-column:1/-1;border-right:0;border-bottom:1px solid var(--mi-line);min-height:140px}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-instruments>a{padding:18px;min-height:145px}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-file strong{font-size:27px}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-console{grid-template-columns:1fr;gap:20px}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-console>div a{display:flex;border-bottom:1px solid var(--mi-line);margin:0}[data-gp-theme="slipstream"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-ignition{min-height:90px}}

[data-gp-theme="slipstream"][data-gp-premium="true"]{--paper:rgb(var(--c-paper));--ink:rgb(var(--c-ink-950));--accent:rgb(var(--c-brand-600));--wash:rgb(var(--c-paper-soft));--line:rgb(var(--c-line));--muted:rgb(var(--c-ink-400));--on-accent:var(--fs-on-brand);--focus:rgb(var(--c-accent));--work:var(--fs-surface-inverted,var(--wash));--work-ink:var(--fs-on-surface-inverted,var(--paper));--body:var(--font-sans);}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"]{--ease-out:cubic-bezier(.23,1,.32,1);--ease-drawer:cubic-bezier(.32,.72,0,1)}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] *{box-sizing:border-box}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"]{scroll-behavior:smooth;scroll-padding-top:100px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"]{margin:0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] img{max-width:100%;display:block}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] :is(button,[role="button"]),[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] input,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] select,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] textarea{font:inherit}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] :is(button,[role="button"]),[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] a,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] input,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] select,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] textarea{touch-action:manipulation}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] :is(button,[role="button"]),[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] a{ -webkit-tap-highlight-color:transparent}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] :is(button,[role="button"]){cursor:pointer}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] :is(button,[role="button"]):active{transform:translateY(1px)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] a{color:inherit;text-underline-offset:.22em}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] :is(button,[role="button"]):focus-visible,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] a:focus-visible,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] summary:focus-visible,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] input:focus-visible,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] select:focus-visible,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] textarea:focus-visible{outline:3px solid var(--focus,#346ddb);outline-offset:5px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] textarea{resize:vertical}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] input,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] textarea{caret-color:var(--focus,currentColor)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] :is(button,[role="button"]),[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] select,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] input{min-height:44px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] summary{cursor:pointer}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] section[id],[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] footer[id]{scroll-margin-top:110px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [hidden]{display:none!important}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .skip-link{position:fixed;z-index:200;top:8px;left:8px;background:#fff;color:#111;padding:12px 18px;transform:translateY(-150%)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .skip-link:focus{transform:none}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .preview-bar{min-height:42px;background:#f6f6f2;color:#252a2a;border-bottom:1px solid #d5d8d4;font:13px/1.3 "Figtree",sans-serif;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 3vw;position:relative;z-index:30}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .preview-bar{padding:5px 3cqw}}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .preview-bar a{white-space:nowrap}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .preview-bar [role=group]{display:flex;gap:2px;align-items:center}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .preview-bar :is(button,[role="button"]){min-height:32px;background:transparent;color:inherit;border:0;padding:6px 10px;border-radius:3px;font-size:13px;transition:background-color 150ms var(--ease-out)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .preview-bar [aria-pressed=true]{background:#252a2a;color:#fff}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .preview-bar :is(button,[role="button"])[data-replay-intro]{border:1px solid #b6beb8}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .preview-label{color:#515953}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .preview-bar::selection{background:#252a2a;color:#fff}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] dialog.mega-menu{max-width:none;max-height:calc(100dvh - 32px);overflow:auto;border:0;padding:0;color:inherit;overscroll-behavior:contain}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] dialog.mega-menu::backdrop{background:rgb(8 16 18 / .52)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .mega-menu[open]{animation:gp-signalpremium-menu-arrive 220ms var(--ease-drawer)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .mega-menu[data-closing]{animation:gp-signalpremium-menu-leave 160ms var(--ease-out) forwards}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .mega-menu[data-keyboard]{animation:none}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .menu-lock{overflow:hidden}@keyframes gp-signalpremium-menu-arrive{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}@keyframes gp-signalpremium-menu-leave{to{opacity:0;transform:translateY(-10px)}}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .preloader{display:none;position:fixed;inset:0;z-index:190;place-content:center;pointer-events:none;text-align:center}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .preloader.is-active{display:grid;animation:gp-signalpremium-intro-failsafe 1.3s step-end forwards}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .preloader.is-leaving{opacity:0;transition:opacity 180ms var(--ease-out)}@keyframes gp-signalpremium-intro-failsafe{0%,99%{visibility:visible}100%{visibility:hidden}}
@media(max-width:650px){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .preview-bar .preview-label{display:none}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .preview-bar{flex-wrap:wrap;justify-content:flex-start;gap:5px 10px;padding:6px 16px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .preview-bar .preview-label{display:none}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .preview-bar [data-replay-intro]{margin-left:auto}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .preview-bar :is(button,[role="button"]){min-height:36px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] dialog.mega-menu{max-height:calc(100dvh - 20px)}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"]{scroll-behavior:auto}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] *,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] *::before,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .preloader.is-active{display:none!important}}
@media(max-width:650px){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .preview-bar a{font-size:12px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .preview-bar{flex-wrap:nowrap;gap:4px;padding:5px 12px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .preview-bar a{font-size:12px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .preview-bar [role=group]{margin-left:auto}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .preview-bar :is(button,[role="button"]){padding:6px 7px;font-size:12px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .preview-bar :is(button,[role="button"])[data-replay-intro]{font-size:0;margin-left:4px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .preview-bar [data-replay-intro]::after{content:"Intro";font-size:12px}}

[data-gp-theme="the-second-set-signal"][data-gp-premium="true"]{--ink:#111820;--paper:#f4efe1;--blue:#2b59ec;--orange:#ed7136;--focus:#ef9064}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"]{background:var(--ink);color:var(--paper);font:18px/1.55 "IBM Plex Sans",sans-serif;scrollbar-color:var(--orange) var(--ink)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] ::selection{background:var(--orange);color:var(--ink)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] h1,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] h2,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] h3,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] p,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] figure{margin:0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] h1,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] h2,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] h3,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] :is(button,[role="button"]),[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .wordmark,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .small-wordmark{font-family:"Space Grotesk",sans-serif}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] h1,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] h2,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] h3{line-height:1.02;font-weight:500;letter-spacing:-.035em;text-wrap:balance}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] h2{font-size:clamp(36px,4vw,60px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] h2{font-size:clamp(36px,4cqw,60px)}}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] h3{font-size:28px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] p{max-width:65ch}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .masthead{padding:26px 4.5vw;display:flex;align-items:center;gap:4vw;border-bottom:1px solid #46505a}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .masthead{padding:26px 4.5cqw;gap:4cqw}}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .wordmark{font-weight:700;font-size:24px;line-height:1.1;letter-spacing:-.03em;text-decoration:none}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .wordmark span:not(.fs-richtext){display:block;font:13px/1.4 "IBM Plex Sans";letter-spacing:0;margin-top:5px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .masthead nav{display:flex;align-items:center;gap:28px;margin-left:auto;font-size:15px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .masthead nav a,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .brief-link{text-decoration:none}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .masthead :is(button,[role="button"]){display:flex;align-items:center;gap:16px;background:none;border:0;color:inherit;font-size:15px;padding:0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .brief-link{font-size:15px;border:1px solid #78838a;padding:10px 16px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .brief-link span:not(.fs-richtext){margin-left:14px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .opening{padding:44px 4.5vw 0}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .opening{padding:44px 4.5cqw 0}}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .opening-heading{display:flex;align-items:flex-end;gap:40px;margin-bottom:38px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .opening h1{font-size:clamp(58px,7.4vw,96px);flex:1}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .opening h1{font-size:clamp(58px,7.4cqw,96px)}}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .opening-heading p{font-size:17px;padding-bottom:5px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .round-link{display:grid;place-items:center;width:58px;height:58px;border:1px solid #7e878f;border-radius:50%;flex-shrink:0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .shop-window{display:grid;grid-template-columns:1.45fr 1fr;min-height:560px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .window-art{position:relative;isolation:isolate;background:var(--blue);padding:30px 35px;overflow:hidden;display:flex;align-items:center;justify-content:center}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .window-label{position:absolute;top:22px;left:28px;right:28px;display:flex;justify-content:space-between;font:11px "Space Grotesk";letter-spacing:.08em}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .hero-sleeve{aspect-ratio:1;width:70%;max-width:445px;background:var(--orange);color:var(--ink);position:relative;z-index:2;padding:28px;transform:rotate(-8deg);box-shadow:12px 18px 28px rgb(4 12 48/.25);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;transition:transform 250ms var(--ease-out)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .sleeve-imprint{font:16px "Space Grotesk";letter-spacing:.08em;z-index:2}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .hero-sleeve strong{font:500 clamp(36px,4.4vw,65px)/.94 "Space Grotesk";letter-spacing:-.035em;position:relative;z-index:2}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .hero-sleeve strong{font:500 clamp(36px,4.4cqw,65px)/.94 "Space Grotesk"}}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .sleeve-bottom{font-size:12px;line-height:1.5;position:relative;z-index:2}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .sleeve-lines{position:absolute;width:70%;height:100%;border:1px solid var(--ink);border-radius:50%;right:-35%;top:-6%;box-shadow:0 0 0 18px var(--orange),0 0 0 19px var(--ink),0 0 0 42px var(--orange),0 0 0 43px var(--ink),0 0 0 66px var(--orange),0 0 0 67px var(--ink)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .vinyl{position:absolute;width:54%;aspect-ratio:1;border-radius:50%;right:7%;background:repeating-radial-gradient(circle,#101820 0 2px,#2d3442 3px 4px);display:grid;place-items:center;transition:transform 300ms var(--ease-out);box-shadow:10px 15px 24px rgb(4 12 48/.24)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .vinyl span:not(.fs-richtext){display:grid;place-items:center;width:28%;aspect-ratio:1;border-radius:50%;background:var(--paper);color:var(--ink);font:46px "Space Grotesk"}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .window-select{position:absolute;bottom:20px;left:28px;right:28px;background:none;color:var(--paper);border:0;border-top:1px solid rgb(244 239 225/.5);padding:14px 0 0;display:flex;justify-content:space-between;font-size:15px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .window-note{background:#1a222d;display:flex;flex-direction:column}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .window-note figure{height:250px;position:relative;overflow:hidden}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .window-note img{width:100%;height:100%;object-fit:cover}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .window-note figcaption{position:absolute;bottom:0;left:0;right:0;padding:7px 20px;color:#fff;background:rgb(17 24 32/.85);font-size:12px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .note-copy{padding:28px 34px;display:grid;grid-template-columns:1fr 1fr;gap:20px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .small-wordmark{font-size:14px;grid-column:1/-1}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .note-copy h2{font-size:36px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .note-copy p{font-size:16px;line-height:1.55}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .note-copy a{grid-column:1/-1;justify-self:start;font-size:15px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .opening-foot{display:flex;justify-content:space-between;border-bottom:1px solid #46505a;font-size:13px;padding:17px 0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .section{padding:90px 4.5vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .section{padding:90px 4.5cqw}}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:36px;gap:30px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .section-heading p{font-size:17px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .catalogue-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #46505a;border-bottom:1px solid #46505a;padding:12px 0;margin-bottom:32px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .catalogue-tools [role=group]{display:flex;gap:4px;flex-wrap:wrap}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .catalogue-tools :is(button,[role="button"]){color:var(--paper);background:none;border:0;padding:8px 15px;font-size:15px;border-radius:2px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .catalogue-tools :is(button,[role="button"])[aria-pressed=true]{background:var(--paper);color:var(--ink)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="catalogue-count"]{font-size:13px;white-space:nowrap}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .record-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .record{min-width:0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .record-cover{width:100%;aspect-ratio:1;position:relative;border:0;text-align:left;padding:23px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;isolation:isolate;box-shadow:0 10px 28px rgb(0 0 0/.15);transition:transform 220ms var(--ease-out),box-shadow 220ms var(--ease-out)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .record-cover>strong{font-size:clamp(30px,3.8vw,55px);line-height:.95;font-weight:500;letter-spacing:-.035em;z-index:2}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .record-cover>strong{font-size:clamp(30px,3.8cqw,55px)}}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .cover-top{font-size:10px;letter-spacing:.07em;z-index:2}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .cover-foot{font:12px/1.4 "IBM Plex Sans";z-index:2}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .cover-arrow{position:absolute;bottom:20px;right:22px;font-size:28px;z-index:2}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .cover-opening{background:var(--orange);color:var(--ink)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .cover-orbit{position:absolute;width:85%;height:85%;right:-30%;top:-10%;border:2px solid var(--ink);border-radius:50%;box-shadow:0 0 0 18px var(--orange),0 0 0 20px var(--ink),0 0 0 38px var(--orange),0 0 0 40px var(--ink)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .cover-evening{background:var(--paper);color:var(--blue)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .cover-bars{position:absolute;top:0;right:-15%;width:65%;height:105%;transform:rotate(-20deg);background:repeating-linear-gradient(90deg,transparent 0 11px,var(--blue) 11px 38px)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .cover-evening strong{background:var(--paper);margin-left:-23px;padding:8px 10px 10px 23px;align-self:flex-start}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .cover-late{background:var(--blue);color:var(--paper)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .cover-grid{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 25px,#ed7136 25px 27px);transform:rotate(-30deg) scale(1.6);clip-path:polygon(55% 0,100% 0,100% 100%,55% 100%);opacity:.9}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .record-info{padding-top:22px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .record-info h3{font-size:26px;line-height:1.2}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .record-info p{font-size:16px;margin:10px 0 8px;color:#c6ccd0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .text-button{border:0;background:none;color:inherit;font-size:14px;padding:8px 0;text-decoration:underline;text-underline-offset:.3em}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .catalogue-note{font-size:13px;color:#b6c0c8;margin-top:35px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .listening{background:var(--blue);padding:34px 4.5vw 50px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .listening{padding:34px 4.5cqw 50px}}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .desk-label{display:flex;justify-content:space-between;align-items:center;gap:30px;border-bottom:1px solid rgb(244 239 225/.45);padding-bottom:24px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .desk-label h2{font-size:34px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .desk-label>span:not(.fs-richtext){font-size:14px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .desk-body{display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw;padding-top:45px;align-items:center;max-width:1100px;margin:auto}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .desk-body{gap:8cqw}}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .desk-sleeve{aspect-ratio:1;background:var(--orange);color:var(--ink);position:relative;overflow:hidden;padding:26px;box-shadow:8px 14px 25px rgb(10 15 73/.24);display:flex;flex-direction:column;justify-content:space-between;transform:rotate(-4deg)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .desk-sleeve>span:not(.fs-richtext):first-child{font:14px "Space Grotesk";z-index:1}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .desk-sleeve strong{font:500 52px/.96 "Space Grotesk";letter-spacing:-.03em;z-index:1}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .desk-circle{position:absolute;right:-80px;top:30px;width:85%;aspect-ratio:1;border:2px solid currentColor;border-radius:50%}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .desk-sleeve[data-selected-cover=evening]{background:var(--paper);color:var(--blue)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .desk-sleeve[data-selected-cover=late]{background:var(--ink);color:var(--orange)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .desk-copy>span:not(.fs-richtext){font-size:13px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .desk-copy h3{font-size:48px;margin:15px 0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .desk-copy>p{font-size:18px;max-width:43ch}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .audio-state{display:flex;gap:15px;padding:24px 0;margin:25px 0;border-top:1px solid rgb(244 239 225/.45);border-bottom:1px solid rgb(244 239 225/.45);font-size:14px;align-items:center}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .audio-state svg{width:32px;height:32px;flex-shrink:0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .audio-state strong{font-weight:500}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .light-button,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .dark-button{padding:15px 21px;border:0;display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:52px;font-size:16px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .light-button{background:var(--paper);color:var(--ink)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .desk-feedback{min-height:0;font-size:14px!important;margin-top:12px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .room{background:var(--paper);color:var(--ink)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .room-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:7vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .room-layout{gap:7cqw}}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .room-choices :is(button,[role="button"]){display:grid;grid-template-columns:1fr 28px;gap:10px;width:100%;text-align:left;border:0;border-top:1px solid #919693;background:none;color:var(--ink);padding:22px 18px 22px 0;transition:padding-left 180ms var(--ease-out),background-color 180ms var(--ease-out)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .room-choices :is(button,[role="button"]):last-child{border-bottom:1px solid #919693}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .room-choices :is(button,[role="button"])>span:not(.fs-richtext){font-size:24px;letter-spacing:-.025em}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .room-choices :is(button,[role="button"])>small{font:15px "IBM Plex Sans";grid-column:1;grid-row:2}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .room-choices svg{grid-column:2;grid-row:1/3;align-self:center}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .room-choices :is(button,[role="button"])[aria-pressed=true]{background:#e7e1d3;padding-left:18px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .room-note{position:relative;overflow:hidden;min-height:340px;padding:8px 50px 45px 0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .room-note>span:not(.fs-richtext){font-size:12px;letter-spacing:.07em}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .room-note h3{font-size:38px;margin:20px 0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .room-note p{font-size:17px;max-width:33ch}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .room-note a{display:inline-block;font-size:14px;margin-top:20px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .room-disc{position:absolute;right:-85px;bottom:-80px;border:1px solid #a8ada8;border-radius:50%;width:220px;height:220px;display:grid;place-items:center;box-shadow:0 0 0 10px var(--paper),0 0 0 11px #a8ada8,0 0 0 22px var(--paper),0 0 0 23px #a8ada8}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .room-disc span:not(.fs-richtext){font:36px "Space Grotesk"}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .event-brief{display:grid;grid-template-columns:1fr 1fr;background:var(--orange);color:var(--ink);padding:70px 4.5vw;gap:8vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .event-brief{padding:70px 4.5cqw;gap:8cqw}}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .brief-stamp{display:inline-grid;place-items:center;border:1px solid var(--ink);border-radius:50%;width:65px;height:65px;font:20px "Space Grotesk";transform:rotate(-12deg);margin-bottom:25px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .brief-copy h2{font-size:clamp(46px,5.2vw,76px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .brief-copy h2{font-size:clamp(46px,5.2cqw,76px)}}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .brief-copy>p{margin:24px 0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .brief-checklist{font-size:15px;margin-top:36px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .brief-checklist ul{padding-left:20px;line-height:1.9}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .event-brief :is(form,[data-gp-form]){padding-top:15px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .event-brief label{display:block;font:16px "Space Grotesk";margin-bottom:25px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .event-brief input,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .event-brief select,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .event-brief textarea{display:block;width:100%;background:transparent;color:var(--ink);border:0;border-bottom:1px solid #64371f;border-radius:0;padding:13px 0;font:18px/1.5 "IBM Plex Sans";margin-top:5px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .event-brief select option{background:var(--paper);color:var(--ink)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .event-brief input::placeholder,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .event-brief textarea::placeholder{color:#51301f;opacity:1}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .event-brief textarea{border:1px solid #64371f;padding:13px;margin-top:12px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .dark-button{background:var(--ink);color:var(--paper);width:100%}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .form-note{font-size:13px;margin-top:12px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="brief-result"]{display:block;white-space:pre-wrap;background:var(--paper);padding:22px;margin-top:25px;font-size:16px;border-top:1px solid var(--ink)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .download-brief{background:none;border:0;border-bottom:1px solid currentColor;color:inherit;font-size:14px;padding:12px 0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] footer{padding:45px 4.5vw 24px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] footer{padding:45px 4.5cqw 24px}}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;align-items:start;padding-bottom:45px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .footer-logo{text-decoration:none;font:500 clamp(50px,7vw,96px)/1 "Space Grotesk";letter-spacing:-.04em}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .footer-logo{font:500 clamp(50px,7cqw,96px)/1 "Space Grotesk"}}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .footer-logo span:not(.fs-richtext){display:block;font:12px/2 "IBM Plex Sans";letter-spacing:.12em}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .footer-top p{font-size:18px;padding-top:8px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .footer-top>div{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding-top:8px;font-size:15px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #46505a;padding-top:20px;font-size:12px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .mega-menu{width:calc(100% - 9vw);margin:100px auto auto;background:var(--ink);border:1px solid #46505a!important;padding:30px 35px!important}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .mega-menu{width:calc(100% - 9cqw)}}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .menu-top{display:flex;justify-content:space-between;gap:20px;padding-bottom:25px;border-bottom:1px solid #46505a}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .menu-top h2{font-size:34px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .menu-top :is(button,[role="button"]){border:1px solid #78838a;background:none;color:inherit;padding:8px 16px;font-size:14px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .menu-top :is(button,[role="button"]) span:not(.fs-richtext){padding-left:15px;font-size:20px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .menu-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:6vw;padding:30px 0}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .menu-grid{gap:6cqw}}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .menu-feature{text-decoration:none;display:grid;grid-template-columns:110px 1fr;gap:10px 20px;align-items:center}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .mini-sleeve{grid-row:1/3;background:var(--orange);color:var(--ink);aspect-ratio:1;padding:10px;font:55px/.9 "Space Grotesk";transform:rotate(-5deg)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .mini-sleeve span:not(.fs-richtext){display:block;font-size:6px;margin-top:9px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .menu-feature strong{font:26px/1.1 "Space Grotesk";align-self:end}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .menu-feature>span:not(.fs-richtext){font-size:13px;align-self:start}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .menu-grid h3{font-size:15px;letter-spacing:0;margin-bottom:12px;color:#bdc8d0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .menu-grid>div>a{display:block;text-decoration:none;font:22px/1.7 "Space Grotesk"}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .menu-grid>div>p{font-size:13px;margin-top:17px;color:#bdc8d0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .menu-bottom{border-top:1px solid #46505a;padding-top:18px;display:flex;justify-content:space-between;font-size:12px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .preloader{background:var(--ink);color:var(--paper);font:32px "Space Grotesk";letter-spacing:.06em}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .intro-disc{width:100px;aspect-ratio:1;border-radius:50%;background:repeating-radial-gradient(circle,#2e3740 0 2px,#111820 3px 5px);margin:0 auto 22px;border:1px solid #66717d;position:relative}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .intro-disc::after{content:"";position:absolute;inset:32px;border-radius:50%;background:var(--orange);border:14px solid var(--orange);border-top-color:var(--paper)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .preloader.is-active .intro-disc{animation:gp-signalpremium-record-intro 650ms var(--ease-out) both}@keyframes gp-signalpremium-record-intro{from{transform:rotate(-110deg)}to{transform:none}}
@media(hover:hover) and (pointer:fine){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .window-art:hover .hero-sleeve{transform:rotate(-5deg) translateX(-8px)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .window-art:hover .vinyl{transform:translateX(14px) rotate(12deg)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .record-cover:hover{transform:translateY(-8px) rotate(-1.5deg);box-shadow:0 20px 35px rgb(0 0 0/.25)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .masthead a:hover,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .text-button:hover,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .menu-grid a:hover{text-decoration:underline}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .room-choices :is(button,[role="button"]):hover{padding-left:18px;background:#e7e1d3}}
@media(max-width:1050px){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .masthead{gap:24px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .masthead nav{gap:18px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .masthead nav>a{display:none}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .shop-window{grid-template-columns:1.2fr 1fr;min-height:520px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .window-art{padding:40px 20px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .hero-sleeve{width:79%;padding:22px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .note-copy{padding:24px;display:block}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .small-wordmark{display:block;margin-bottom:14px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .note-copy h2{font-size:34px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .note-copy p{margin:15px 0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .note-copy a{font-size:14px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .opening-heading{gap:20px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .record-grid{gap:22px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .record-cover{padding:18px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .cover-evening strong{margin-left:-18px;padding-left:18px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .cover-top{font-size:9px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .desk-sleeve strong{font-size:42px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .event-brief{gap:6vw}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .menu-grid{gap:3vw}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .menu-feature{grid-template-columns:90px 1fr}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .menu-feature strong{font-size:23px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .menu-grid>div>a{font-size:19px}}
@containerfs-editor-canvas (max-width: 1050px){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .masthead{gap:24px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .masthead nav{gap:18px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .masthead nav>a{display:none}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .shop-window{grid-template-columns:1.2fr 1fr;min-height:520px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .window-art{padding:40px 20px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .hero-sleeve{width:79%;padding:22px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .note-copy{padding:24px;display:block}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .small-wordmark{display:block;margin-bottom:14px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .note-copy h2{font-size:34px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .note-copy p{margin:15px 0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .note-copy a{font-size:14px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .opening-heading{gap:20px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .record-grid{gap:22px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .record-cover{padding:18px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .cover-evening strong{margin-left:-18px;padding-left:18px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .cover-top{font-size:9px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .desk-sleeve strong{font-size:42px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .event-brief{gap:6cqw}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .menu-grid{gap:3cqw}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .menu-feature{grid-template-columns:90px 1fr}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .menu-feature strong{font-size:23px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .menu-grid>div>a{font-size:19px}}
@media(max-width:700px){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"]{font-size:17px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .masthead{padding:20px;flex-wrap:wrap;gap:17px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .wordmark{font-size:22px;flex:1}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .wordmark span:not(.fs-richtext){font-size:11px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .masthead nav{margin:0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .masthead :is(button,[role="button"]){font-size:14px;gap:10px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .brief-link{display:none}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .opening{padding:28px 20px 0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .opening-heading{flex-wrap:wrap;gap:18px;margin-bottom:25px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .opening h1{font-size:58px;flex-basis:100%}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .opening-heading p{font-size:15px;flex:1}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .round-link{width:46px;height:46px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .shop-window{grid-template-columns:1fr;min-height:0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .window-art{height:440px;padding:30px 20px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .hero-sleeve{max-width:300px;width:77%;padding:24px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .hero-sleeve strong{font-size:48px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .vinyl{width:63%;right:5%}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .window-label{font-size:9px;left:18px;right:18px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .window-select{left:18px;right:18px;font-size:14px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .window-note figure{height:240px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .note-copy{padding:26px;display:grid;grid-template-columns:1fr 1fr;gap:15px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .small-wordmark{grid-column:1/-1;margin:0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .note-copy h2{font-size:32px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .note-copy p{margin:0;font-size:15px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .note-copy a{grid-column:1/-1}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .opening-foot{font-size:11px;gap:15px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .opening-foot span:not(.fs-richtext):last-child{text-align:right}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .section{padding:58px 20px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .section-heading{display:block;margin-bottom:26px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .section-heading h2{font-size:42px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .section-heading p{font-size:16px;margin-top:20px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .catalogue-tools{align-items:flex-start;flex-direction:column;gap:8px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .catalogue-tools :is(button,[role="button"]){padding:8px 10px;font-size:14px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .catalogue-tools :is(button,[role="button"]):first-child{padding-left:8px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .record-grid{grid-template-columns:1fr;gap:36px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .record-cover{max-width:none;padding:26px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .record-cover>strong{font-size:55px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .cover-top{font-size:11px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .cover-foot{font-size:13px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .cover-evening strong{margin-left:-26px;padding-left:26px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .record-info{padding-top:20px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .record-info h3{font-size:28px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .record-info p{font-size:17px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .catalogue-note{font-size:13px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .listening{padding:28px 20px 35px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .desk-label{display:block;padding-bottom:22px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .desk-label h2{font-size:32px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .desk-label>span:not(.fs-richtext){display:block;margin-top:12px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .desk-body{grid-template-columns:1fr;gap:35px;padding-top:30px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .desk-sleeve{width:75%;max-width:280px;margin:10px auto}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .desk-sleeve strong{font-size:46px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .desk-copy h3{font-size:38px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .desk-copy>p{font-size:17px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .light-button{width:100%;font-size:15px;gap:15px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .room-layout{grid-template-columns:1fr;gap:30px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .room-choices :is(button,[role="button"])>span:not(.fs-richtext){font-size:22px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .room-choices :is(button,[role="button"])>small{font-size:14px;line-height:1.5}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .room-note{min-height:300px;padding:15px 20px 30px 0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .room-note h3{font-size:34px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .event-brief{grid-template-columns:1fr;padding:45px 20px;gap:25px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .brief-copy h2{font-size:60px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .brief-copy>p{font-size:18px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .brief-checklist{margin-top:22px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .event-brief label{font-size:15px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .event-brief input,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .event-brief select,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .event-brief textarea{font-size:17px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .footer-top{grid-template-columns:1fr 1fr;gap:30px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .footer-logo{grid-column:1/-1;font-size:80px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .footer-top p{font-size:16px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .footer-top>div{font-size:14px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] footer{padding:35px 20px 24px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .footer-bottom{flex-wrap:wrap;gap:14px;font-size:11px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .mega-menu{width:calc(100% - 24px);margin:12px auto!important;padding:22px!important}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .menu-top{align-items:flex-start;gap:12px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .menu-top h2{font-size:28px;max-width:180px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .menu-top :is(button,[role="button"]){font-size:12px;padding:8px 12px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .menu-top :is(button,[role="button"]) span:not(.fs-richtext){padding-left:6px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .menu-grid{grid-template-columns:1fr;gap:25px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .menu-feature{grid-template-columns:95px 1fr;gap:8px 20px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .menu-feature strong{font-size:25px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .menu-grid h3{font-size:14px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .menu-grid>div>a{font-size:21px;line-height:2;min-height:44px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .menu-grid>div>p{display:none}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .menu-bottom{font-size:11px;gap:20px}}
@containerfs-editor-canvas (max-width: 700px){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"]{font-size:17px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .masthead{padding:20px;flex-wrap:wrap;gap:17px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .wordmark{font-size:22px;flex:1}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .wordmark span:not(.fs-richtext){font-size:11px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .masthead nav{margin:0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .masthead :is(button,[role="button"]){font-size:14px;gap:10px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .brief-link{display:none}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .opening{padding:28px 20px 0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .opening-heading{flex-wrap:wrap;gap:18px;margin-bottom:25px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .opening h1{font-size:58px;flex-basis:100%}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .opening-heading p{font-size:15px;flex:1}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .round-link{width:46px;height:46px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .shop-window{grid-template-columns:1fr;min-height:0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .window-art{height:440px;padding:30px 20px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .hero-sleeve{max-width:300px;width:77%;padding:24px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .hero-sleeve strong{font-size:48px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .vinyl{width:63%;right:5%}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .window-label{font-size:9px;left:18px;right:18px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .window-select{left:18px;right:18px;font-size:14px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .window-note figure{height:240px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .note-copy{padding:26px;display:grid;grid-template-columns:1fr 1fr;gap:15px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .small-wordmark{grid-column:1/-1;margin:0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .note-copy h2{font-size:32px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .note-copy p{margin:0;font-size:15px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .note-copy a{grid-column:1/-1}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .opening-foot{font-size:11px;gap:15px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .opening-foot span:not(.fs-richtext):last-child{text-align:right}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .section{padding:58px 20px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .section-heading{display:block;margin-bottom:26px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .section-heading h2{font-size:42px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .section-heading p{font-size:16px;margin-top:20px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .catalogue-tools{align-items:flex-start;flex-direction:column;gap:8px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .catalogue-tools :is(button,[role="button"]){padding:8px 10px;font-size:14px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .catalogue-tools :is(button,[role="button"]):first-child{padding-left:8px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .record-grid{grid-template-columns:1fr;gap:36px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .record-cover{max-width:none;padding:26px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .record-cover>strong{font-size:55px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .cover-top{font-size:11px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .cover-foot{font-size:13px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .cover-evening strong{margin-left:-26px;padding-left:26px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .record-info{padding-top:20px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .record-info h3{font-size:28px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .record-info p{font-size:17px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .catalogue-note{font-size:13px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .listening{padding:28px 20px 35px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .desk-label{display:block;padding-bottom:22px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .desk-label h2{font-size:32px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .desk-label>span:not(.fs-richtext){display:block;margin-top:12px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .desk-body{grid-template-columns:1fr;gap:35px;padding-top:30px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .desk-sleeve{width:75%;max-width:280px;margin:10px auto}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .desk-sleeve strong{font-size:46px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .desk-copy h3{font-size:38px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .desk-copy>p{font-size:17px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .light-button{width:100%;font-size:15px;gap:15px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .room-layout{grid-template-columns:1fr;gap:30px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .room-choices :is(button,[role="button"])>span:not(.fs-richtext){font-size:22px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .room-choices :is(button,[role="button"])>small{font-size:14px;line-height:1.5}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .room-note{min-height:300px;padding:15px 20px 30px 0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .room-note h3{font-size:34px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .event-brief{grid-template-columns:1fr;padding:45px 20px;gap:25px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .brief-copy h2{font-size:60px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .brief-copy>p{font-size:18px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .brief-checklist{margin-top:22px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .event-brief label{font-size:15px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .event-brief input,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .event-brief select,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .event-brief textarea{font-size:17px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .footer-top{grid-template-columns:1fr 1fr;gap:30px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .footer-logo{grid-column:1/-1;font-size:80px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .footer-top p{font-size:16px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .footer-top>div{font-size:14px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] footer{padding:35px 20px 24px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .footer-bottom{flex-wrap:wrap;gap:14px;font-size:11px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .mega-menu{width:calc(100% - 24px);margin:12px auto!important;padding:22px!important}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .menu-top{align-items:flex-start;gap:12px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .menu-top h2{font-size:28px;max-width:180px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .menu-top :is(button,[role="button"]){font-size:12px;padding:8px 12px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .menu-top :is(button,[role="button"]) span:not(.fs-richtext){padding-left:6px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .menu-grid{grid-template-columns:1fr;gap:25px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .menu-feature{grid-template-columns:95px 1fr;gap:8px 20px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .menu-feature strong{font-size:25px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .menu-grid h3{font-size:14px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .menu-grid>div>a{font-size:21px;line-height:2;min-height:44px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .menu-grid>div>p{display:none}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .menu-bottom{font-size:11px;gap:20px}}

/* Explicit legacy adapters; keep artwork/product colours intact. */
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-pilot=kiln-house]{--display:"Fraunces",serif;--body:"Figtree",sans-serif;--ip-paper:var(--clay);--ip-ink:var(--ink);--ip-accent:var(--rust);--ip-on:#fff7ed;--ip-wash:#ead4bd;--ip-line:#aa8c76;--ip-muted:#654b3d}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-pilot=kiln-house][data-palette="1"]{--clay:#e1e8d9;--paper:#eef2e7;--ink:#344c38;--rust:#416447;--blue:#385968;--rule:#9eaf98;--ip-wash:#cedbc6;--ip-muted:#465d46}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-pilot=kiln-house][data-palette="2"]{--clay:#dce7ec;--paper:#eef3f5;--ink:#284653;--rust:#315c70;--blue:#4a5158;--rule:#9badb6;--ip-wash:#c8d9e0;--ip-muted:#425d69}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-pilot=kiln-house][data-mode=dark]{--clay:#28221e;--paper:#342d26;--ink:#f4e7d7;--rust:#eab08c;--blue:#b3d0d3;--rule:#827063;--ip-on:#2d2119;--ip-wash:#3b3028;--ip-line:#827063;--ip-muted:#d7c5b4}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-pilot=kiln-house][data-palette="1"][data-mode=dark]{--clay:#202a22;--paper:#2b382c;--ink:#ebf0dd;--rust:#b8d59f;--ip-wash:#304031;--ip-line:#71856c;--ip-muted:#cbd6c2}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-pilot=kiln-house][data-palette="2"][data-mode=dark]{--clay:#202a30;--paper:#2a3740;--ink:#e6eff3;--rust:#a9cedd;--ip-wash:#30404a;--ip-line:#708895;--ip-muted:#c7d7df}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-pilot=field-and-fold]{--ip-paper:var(--paper);--ip-ink:var(--ink);--ip-accent:#356448;--ip-on:#f7f4e9;--ip-wash:#dce5d4;--ip-line:#a8b8a2;--ip-muted:#46604d}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-pilot=field-and-fold][data-palette="1"]{--paper:#ede4eb;--ink:#583c56;--rust:#784567;--cloud:#c7b8cd;--warm:#f6f0f5;--line:#b7a2b6;--ip-accent:#784567;--ip-wash:#e0d0de;--ip-line:#b7a2b6;--ip-muted:#665064}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-pilot=field-and-fold][data-palette="2"]{--paper:#e0ecef;--ink:#2b4d5a;--rust:#386578;--cloud:#b3cdd4;--warm:#f1f5f5;--line:#9bb7be;--ip-accent:#386578;--ip-wash:#cddfe4;--ip-line:#9bb7be;--ip-muted:#405f69}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-pilot=field-and-fold][data-mode=dark]{--paper:#1d2b24;--ink:#e5efdf;--rust:#edb58c;--cloud:#66877e;--warm:#2c3c32;--line:#6b8671;--ip-accent:#bad5a8;--ip-on:#203021;--ip-wash:#2b3b30;--ip-line:#6b8671;--ip-muted:#c4d3bd}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-pilot=field-and-fold][data-palette="1"][data-mode=dark]{--paper:#2c2330;--ink:#f0e2ed;--warm:#3e3040;--line:#8f718e;--ip-wash:#3c2d40;--ip-accent:#ddb5d3;--ip-on:#332136;--ip-muted:#d9c7d8}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-pilot=field-and-fold][data-palette="2"][data-mode=dark]{--paper:#1e2c34;--ink:#e2eef3;--warm:#2a3b45;--line:#718995;--ip-wash:#2a3b45;--ip-accent:#b2d7e2;--ip-on:#1f3038;--ip-muted:#c5d9e0}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-pilot=slipstream]{--display:"Barlow Condensed",sans-serif;--body:"Barlow",sans-serif;--ip-paper:#f2f1e9;--ip-ink:#111b20;--ip-wash:#e2e5db;--ip-accent:#344c14;--ip-on:#f6f9e9;--ip-line:#a1aca1;--ip-muted:#47574b}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-pilot=slipstream][data-palette="1"]{--lime:#9cccd5;--blue:#497380;--ip-paper:#e5edf1;--ip-ink:#203b49;--ip-wash:#d3e0e6;--ip-accent:#2f6176;--ip-on:#fff;--ip-muted:#425d6a}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-pilot=slipstream][data-palette="2"]{--lime:#e1b18d;--blue:#8d6857;--ip-paper:#f2e7dc;--ip-ink:#4f3528;--ip-wash:#e7d5c3;--ip-accent:#7d472e;--ip-on:#fff8ef;--ip-muted:#6b5241}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-pilot=slipstream][data-mode=dark]{--ip-paper:#111b20;--ip-ink:#f2f1e9;--ip-wash:#233039;--ip-accent:var(--lime);--ip-on:#152016;--ip-line:#697b81;--ip-muted:#c4d1cd}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-pilot=the-second-set-signal]{--display:"Space Grotesk",sans-serif;--body:"IBM Plex Sans",sans-serif;--ip-paper:#f4efe1;--ip-ink:#111820;--ip-wash:#e5dfcf;--ip-accent:#234bcc;--ip-on:#fff;--ip-line:#a6a99f;--ip-muted:#475059}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-pilot=the-second-set-signal][data-palette="1"]{--blue:#684078;--orange:#eb9c98;--ip-paper:#f1e7ef;--ip-ink:#37203d;--ip-wash:#e5d6e4;--ip-accent:#684078;--ip-muted:#644f68}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-pilot=the-second-set-signal][data-palette="2"]{--blue:#246769;--orange:#e9bb69;--ip-paper:#e7efe8;--ip-ink:#173d3c;--ip-wash:#d4e1d7;--ip-accent:#246769;--ip-muted:#45605a}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-pilot=the-second-set-signal][data-mode=dark]{--ip-paper:#111820;--ip-ink:#f4efe1;--ip-wash:#242e38;--ip-accent:#c4d0ff;--ip-on:#172443;--ip-line:#74818a;--ip-muted:#c4cdd3}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-pilot=the-second-set-signal][data-palette="1"][data-mode=dark]{--ip-paper:#291c30;--ip-ink:#f5e8f2;--ip-wash:#3b2a44;--ip-accent:#ddbae7;--ip-on:#34223e;--ip-muted:#d9c6df}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-pilot=the-second-set-signal][data-palette="2"][data-mode=dark]{--ip-paper:#172e30;--ip-ink:#eaf2e7;--ip-wash:#294143;--ip-accent:#b8d8ca;--ip-on:#203c32;--ip-muted:#c6ded3}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-pilot=slipstream][data-site],[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-pilot=the-second-set-signal][data-site]{background:var(--ip-paper);color:var(--ip-ink)}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-pilot=slipstream] .mega-menu,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-pilot=the-second-set-signal] .mega-menu{background:var(--ip-paper);color:var(--ip-ink);border-color:var(--ip-line)!important}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-pilot=the-second-set-signal] .menu-grid :is(h3,p){color:var(--ip-muted)}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-pilot=slipstream][data-mode=light] :is(.desk-button,.stock-finder select,.reset-button){background:var(--ip-paper);color:var(--ip-ink);border-color:var(--ip-line)}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-pilot=the-second-set-signal][data-mode=light] :is(.window-note,.listening){color:#f4efe1}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-pilot=the-second-set-signal][data-mode=light] .catalogue-tools :is(button,[role="button"]){color:var(--ip-ink);border-color:var(--ip-line)}

/* Preview chrome and accessibility only. Theme authors own the visual worlds. */
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-premium]{color-scheme:light;background:var(--paper);color:var(--ink);accent-color:var(--accent);scrollbar-color:var(--accent) var(--wash)}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-premium][data-mode=dark]{color-scheme:dark}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-premium] ::selection{background:var(--accent);color:var(--on-accent)}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-premium] :is(input,textarea){caret-color:var(--accent)}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-premium] :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--accent);outline-offset:4px}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-premium] :is(input,select,textarea){max-width:100%}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-premium] :is(input,textarea)::placeholder{color:var(--muted);opacity:1}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-premium] .preview-bar{display:flex;flex-wrap:wrap;justify-content:flex-start;background:#f5f5f0;color:#242d2c;border-color:#cbd0c8;gap:8px 14px;position:relative;font:13px/1.3 "Figtree",sans-serif;min-height:52px;padding:6px 3vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-premium] .preview-bar{padding:6px 3cqw}}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-premium] .preview-bar>a{font-weight:600;min-height:40px;display:flex;align-items:center}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-premium] .preview-bar [role=group]{margin-left:auto;display:flex;gap:2px}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-premium] .preview-bar :is(button,select){font:13px/1.3 "Figtree",sans-serif;min-height:40px;max-width:100%;border-radius:3px}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-premium] .preview-bar select{background:#fff;color:#242d2c;border:1px solid #a2ada4;padding:7px 24px 7px 9px}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-premium] .preview-bar [aria-pressed=true]{background:#242d2c;color:#fff}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-premium] .preview-bar .preview-label{font:12px/1.3 "Figtree",sans-serif;color:#48554f}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-premium] .preview-bar :focus-visible{outline-color:#254fbb}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-premium] .preview-bar [data-replay-intro]{font-size:12px;margin:0}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-premium] .preview-bar [data-replay-intro]::after{content:none}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-premium] .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-premium] .premium-action{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 22px;background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);text-decoration:none;font-weight:600;transition:transform 150ms var(--ease-out),background-color 150ms var(--ease-out)}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-premium] .premium-action:active{transform:translateY(1px)}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-premium] .premium-action:disabled{opacity:.6;cursor:not-allowed}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-premium] :is(h1,h2,h3){text-wrap:balance}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-premium] p{text-wrap:pretty}
/* Put down the opaque menu surface immediately, then introduce its content. */
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-premium] .mega-menu[open]:not([data-closing]){animation:none}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-premium] .mega-menu[open]:not([data-closing])>:not(:first-child){animation:gp-signalpremium-premium-menu-content 160ms var(--ease-out)}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-premium] .mega-menu[data-keyboard]>:not(:first-child){animation:none!important}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-premium][data-input=keyboard] :is(button,[role="button"]):active{transform:none}
@keyframes gp-signalpremium-premium-menu-content{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:650px){
 [data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@containerfs-editor-canvas (max-width: 650px){
 [data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-premium] .preview-bar{gap:5px 7px;padding:6px 12px;flex-wrap:wrap}
 [data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-premium] .preview-bar>a{font-size:12px;margin-right:auto}
 [data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-premium] .preview-bar [role=group]{margin-left:0}
 [data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-premium] .preview-bar :is(button,select){font-size:12px;min-height:40px}
 [data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-premium] .preview-bar [data-palette-select]{flex:1;min-width:130px}
 [data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-premium] .preview-bar [data-mode-select]{flex:0 1 105px}
 [data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-premium] .preview-bar .preview-label{display:none}
 [data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-premium] .preview-bar [data-replay-intro]{font-size:12px}
}
@media(prefers-reduced-motion:reduce){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-premium] .premium-action{transition:none;transform:none}}

/* Website page primitives and actual layout modes. Authored theme CSS owns identity. */
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-framed=true] .preview-bar,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-framed=true] .site-open-preview{display:none!important}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site]{--ip-paper:var(--paper,#f4f2eb);--ip-ink:var(--ink,#192f2c);--ip-wash:var(--wash,var(--paper,#e6e9df));--ip-accent:var(--accent,var(--rust,#315b50));--ip-on:var(--on-accent,var(--paper,#fff));--ip-muted:var(--muted,var(--ink,#45534d));--ip-line:var(--line,var(--rule,#a1aca5))}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-inside]{background:var(--ip-paper);color:var(--ip-ink);font:18px/1.65 var(--body,"Figtree",sans-serif)}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .inside-page :is(h1,h2,h3){font-family:var(--display,inherit);color:inherit;letter-spacing:-.035em;line-height:1.1;font-weight:500;max-width:22ch}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .inside-page h1{font-size:clamp(42px,5.3vw,80px);margin:0 0 26px}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .inside-page h1{font-size:clamp(42px,5.3cqw,80px)}}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .inside-page h2{font-size:clamp(30px,3vw,49px);margin:0 0 24px}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .inside-page h2{font-size:clamp(30px,3cqw,49px)}}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .inside-page h3{font-size:25px;margin:0 0 15px}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .inside-page :is(p,li){max-width:72ch}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .inside-page p{margin:0 0 20px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .inside-page a{color:inherit}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .inside-page img{max-width:100%;width:100%;height:100%;object-fit:cover}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .inside-page figure{margin:0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .inside-page :is(button,[role="button"]){color:inherit}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-hero,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-section{width:min(1320px,calc(100% - 96px));margin-inline:auto;padding-block:70px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:65px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-opening{min-width:0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-hero:has(>.ip-opening:only-child){grid-template-columns:1fr}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-art{height:430px;position:relative}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-art img{object-fit:cover}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-art figcaption,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-caption{font-size:14px;line-height:1.5;color:var(--ip-muted);padding-top:10px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-section>.ip-caption{margin-bottom:20px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-card{min-width:0;border-top:1px solid var(--ip-line);padding:25px 0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-card figure{height:230px;margin-bottom:25px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-reading{width:min(76ch,calc(100% - 48px));margin-inline:auto;padding-block:55px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-reading h2{margin-top:40px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-ledger{margin:24px 0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-ledger>div{display:grid;grid-template-columns:1fr 1.4fr;gap:20px;border-top:1px solid var(--ip-line);padding:15px 0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-ledger dt{font-weight:600}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-ledger dd{margin:0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border:1px solid var(--ip-accent);background:var(--ip-accent);color:var(--ip-on)!important;text-decoration:none;font-size:16px;transition:transform 150ms var(--ease-out)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-action.secondary{background:transparent;color:var(--ip-ink)!important;border-color:var(--ip-line)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-band{padding:55px max(24px,calc((100% - 1320px)/2));background:var(--ip-wash);color:var(--ip-ink)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-band p{max-width:65ch}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-note{font-size:15px;border-left:3px solid var(--ip-accent);padding:12px 18px;background:var(--ip-wash);color:var(--ip-ink);margin-block:20px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-form{display:grid;gap:22px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-form label{display:grid;gap:8px;font-size:16px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-form :is(input,textarea,select){width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid var(--ip-line);background:var(--ip-paper);color:var(--ip-ink);font:inherit;border-radius:0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-form :is(input,textarea)::placeholder{color:var(--ip-muted);opacity:1}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-form :is(button,[role="button"]){justify-self:start}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-form textarea{min-height:135px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .inside-page output[data-draft-output]{display:block;white-space:pre-wrap;padding:25px;background:var(--ip-wash);color:var(--ip-ink);border:1px solid var(--ip-line);overflow-wrap:anywhere}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-checks{display:grid;gap:12px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-checks label{display:flex;align-items:start;gap:14px;border-top:1px solid var(--ip-line);padding:16px 0;min-height:52px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-checks input{width:22px;height:22px;min-height:22px;flex-shrink:0;margin-top:4px;accent-color:var(--ip-accent)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .inside-page details{border-top:1px solid var(--ip-line);padding:18px 0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .inside-page summary{min-height:44px;font-size:21px;cursor:pointer}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .inside-page details p{padding:16px 0 0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .inside-page [data-filter-group]>[role=group]{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .inside-page [data-filter]{padding:10px 18px;min-height:44px;background:transparent;color:var(--ip-ink);border:1px solid var(--ip-line)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .inside-page [data-filter][aria-pressed=true]{background:var(--ip-accent);color:var(--ip-on)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .site-directory{padding:30px!important;background:var(--ip-paper)!important;color:var(--ip-ink)!important;border-top:1px solid var(--ip-line)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .site-directory h3{font:600 17px/1.4 var(--body,"Figtree",sans-serif);margin:0 0 16px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .site-directory>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 25px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .site-directory a{display:block;font:16px/1.5 var(--body,"Figtree",sans-serif)!important;min-height:44px;padding:10px 0!important;color:inherit!important;text-decoration:none}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .site-directory a[aria-current=page]{text-decoration:underline;font-weight:600!important}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .site-open-preview{display:block;padding:10px 20px;background:#eef0eb;color:#20322d;font:14px/1.4 "Figtree",sans-serif;text-align:center}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){width:100%;padding-inline:max(24px,4vw)}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=full-width] :is(.inside-page>.ip-section,.inside-page>.ip-hero){padding-inline:max(24px,4cqw)}}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"]:has([data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=boxed]){background:#a6afa9}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=boxed]{width:min(1200px,calc(100% - 64px));margin-inline:auto;box-shadow:0 0 0 1px #0002,0 20px 70px #0002;min-height:100dvh;background:var(--ip-paper)}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=centered] :is(.ip-hero,.opening,.cake-opening,.gp-title,.book-opening,.poster-opening,.portal-opening,.destination-opening,.route-opening){text-align:center}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=centered] .ip-hero{grid-template-columns:1fr;max-width:1000px;justify-items:center}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=centered] .ip-opening{display:grid;justify-items:center}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=centered] .ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=centered] .ip-art{width:min(760px,100%)}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=minimalist] :is(.ip-section,.ip-hero){padding-block:42px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=minimalist] :is(.ip-card,.ip-art,.ip-note){border-radius:0;box-shadow:none;background-image:none}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5vw,64px)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=minimalist] :is(.ip-hero h1,.opening h1,.gp-title h1){font-size:clamp(38px,4.5cqw,64px)}}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=minimalist] :is(.mullions,.glaze-rim,.cake-sticker,.paper-corner){opacity:0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=minimalist] :is(.ip-art img,.opening img){border-radius:0}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=edge-hero] .ip-hero{width:100%;padding-inline:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4vw)}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=edge-hero] .ip-opening{padding:60px max(24px,4cqw)}}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=edge-hero] .ip-art{height:600px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=edge-hero] .ip-art img{border-radius:0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=edge-hero] .ip-art figcaption{padding:8px 20px}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=full-width] .inside-page>.ip-opening{width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=full-width] .inside-page>.ip-opening{padding-inline:4cqw}}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=centered] .inside-page>.ip-opening{display:flex;flex-direction:column;align-items:center;text-align:center;width:min(1000px,calc(100% - 48px));gap:30px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=centered] .inside-page>.ip-opening :is(h1,p){margin-inline:auto}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=centered] .inside-page>.ip-opening>figure{width:min(780px,100%)}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=minimalist] .inside-page>.ip-opening{padding-block:38px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=minimalist] .inside-page>.ip-opening :is(h1,figure){box-shadow:none;border-radius:0}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=edge-hero] .inside-page>.ip-opening{width:100%;max-width:none;padding:0;gap:0;grid-template-columns:1fr 1.2fr;background:var(--ip-wash)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:60px 4cqw}}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:600px;max-width:none;align-self:stretch}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=edge-hero] .inside-page>.ip-opening>figure img{height:100%;object-fit:cover;border-radius:0}
/* Existing home compositions gain real width/spacing modes without replacing their content. */
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){width:100%;max-width:none;padding-inline:4vw}
@container fs-editor-canvas (min-width: 0px){
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=full-width]:not([data-inside]) :is(.wrap,.section,.opening,.hero,.cake-opening,.book-opening,.street-wrap,.page-width,.section-wrap){padding-inline:4cqw}}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child{text-align:center}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(h1,p){margin-inline:auto}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=centered]:not([data-inside]) .gp-source-main>section:first-child :is(.opening-copy,.elevation-copy,.cake-copy,.hero-copy){text-align:center}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=minimalist]:not([data-inside]) .gp-source-main>section{padding-block:44px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=minimalist]:not([data-inside]) :is(.hero-sleeve,.calendar,.hello-note,.open-book){box-shadow:none}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child{width:100%;max-width:none;margin-inline:0;padding-inline:0;background:var(--ip-wash)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4vw}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child :is(.hero-copy,.elevation-copy,.cake-copy,.opening-heading){padding-inline:4cqw}}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:600px}
@media(hover:hover) and (pointer:fine){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-action:hover{transform:translateY(-2px)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .site-directory a:hover{text-decoration:underline}}
@media(max-width:850px){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-hero,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-hero{gap:30px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-two{gap:30px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-art{height:340px}}
@containerfs-editor-canvas (max-width: 850px){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-hero,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-section{width:calc(100% - 48px);padding-block:50px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-hero{gap:30px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-two{gap:30px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-art{height:340px}}
@media(max-width:600px){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-hero,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-hero,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-two,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-grid,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-art{height:300px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .site-directory{padding:22px!important}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-hero,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-section{width:calc(100% - 36px);padding-block:38px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-hero,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-two,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-grid,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-field-row{grid-template-columns:minmax(0,1fr)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-art{height:300px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-hero h1{font-size:42px;overflow-wrap:normal}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-reading{width:calc(100% - 36px);padding-block:35px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-ledger>div{grid-template-columns:1fr;gap:5px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .site-directory>div{grid-template-columns:1fr 1fr}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .site-directory{padding:22px!important}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=boxed]{width:calc(100% - 20px)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=edge-hero] .ip-hero{grid-template-columns:1fr}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=edge-hero] .ip-opening{padding:40px 20px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=edge-hero] .ip-art{height:360px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=edge-hero]:not([data-inside]) .gp-source-main>section:first-child>figure{height:360px}}
@media(max-width:600px){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
@containerfs-editor-canvas (max-width: 600px){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=edge-hero] .inside-page>.ip-opening{grid-template-columns:1fr}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=edge-hero] .inside-page>.ip-opening>div{padding:40px 20px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=edge-hero] .inside-page>.ip-opening>figure{height:360px}}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .inside-page a[aria-disabled=true]{cursor:default;text-decoration:none}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-layout=edge-hero] .inside-page .ip-hero .ip-art{transform:none}
@media(prefers-reduced-motion:reduce){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-action{transition:none;transform:none!important}}
/* Task actions always use an explicit contrasting pair, including themed form overrides. */
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site] .inside-page :is(.ip-form :is(button,[role="button"]):is([type="submit"],[data-gp-button-type="submit"]),[data-save-draft],.ip-action:not(.secondary)){
 background:var(--ip-ink)!important;color:var(--ip-paper)!important;border:1px solid var(--ip-ink)!important;
 min-height:48px;padding:12px 22px;font-size:16px;line-height:1.4;
}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site] .inside-page .ip-action.secondary{background:transparent!important;color:var(--ip-ink)!important;border-color:var(--ip-line)!important}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site] .inside-page .ip-form :is(select,select option){background-color:var(--ip-paper);color:var(--ip-ink)}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .site-plan-label{display:block;font:400 14px/1.45 var(--body,sans-serif);margin-top:6px;text-decoration:none;opacity:1}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] a[data-preview-plan]{cursor:pointer}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .inside-page a[data-preview-plan]{text-decoration:none}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site] .site-directory a[data-preview-plan]{display:flex;flex-direction:column;align-items:flex-start;gap:2px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .site-directory .site-plan-label{font-size:13px;margin:0}

[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-inside]{--display:"Space Grotesk",sans-serif;--body:"IBM Plex Sans",sans-serif}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .inside-page .ip-hero{padding-block:65px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .inside-page .ip-hero:has(.ip-opening:only-child){border-bottom:1px solid var(--ip-line)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .inside-page .ip-opening h1{font-size:clamp(46px,6vw,92px);font-weight:600;max-width:15ch}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .inside-page .ip-opening h1{font-size:clamp(46px,6cqw,92px)}}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .signal-shelf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .signal-shelf article{min-width:0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .signal-sleeve{aspect-ratio:1;background:var(--orange);color:#111820;display:flex;flex-direction:column;justify-content:space-between;padding:30px;position:relative;overflow:hidden;margin-bottom:30px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .signal-sleeve strong{font:600 clamp(35px,4vw,62px)/.98 "Space Grotesk",sans-serif;letter-spacing:-.04em;z-index:1}@container fs-editor-canvas (min-width: 0px){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .signal-sleeve strong{font:600 clamp(35px,4cqw,62px)/.98 "Space Grotesk",sans-serif}}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .signal-sleeve>span:not(.fs-richtext){font:13px "IBM Plex Sans",sans-serif;z-index:1}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .sleeve-evening{background:var(--blue);color:#fff}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .sleeve-evening::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 12%,#ffffff12 12% 17%)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .sleeve-late{background:#e7dcb7;color:#111820}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .sleeve-late::after{content:"";position:absolute;inset:15%;border:1px solid #111820;border-radius:50%}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .signal-mood-detail{display:grid;grid-template-columns:.7fr 1.3fr;align-items:center;gap:70px;border-top:1px solid var(--ip-line)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .signal-mood-detail .signal-sleeve{margin:0;max-width:430px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .inside-page .ip-action{background:transparent;color:var(--ip-ink)!important;border-color:var(--ip-line)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .inside-page .ip-action::after{content:"↗"}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .inside-page .ip-choice-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:25px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .inside-page [data-note-choice][aria-pressed=true]{background:var(--ip-accent);color:var(--ip-on)!important}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .inside-page .ip-form{padding:30px;background:var(--ip-wash)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .inside-page .ip-art{height:440px}@media(max-width:650px){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .signal-shelf,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .signal-mood-detail{grid-template-columns:1fr;gap:30px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .signal-sleeve{max-width:none}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .signal-sleeve strong{font-size:58px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .inside-page .ip-form{padding:20px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .inside-page .ip-art{height:300px}}@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .signal-shelf,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .signal-mood-detail{grid-template-columns:1fr;gap:30px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .signal-sleeve{max-width:none}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .signal-sleeve strong{font-size:58px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .inside-page .ip-form{padding:20px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .inside-page .ip-art{height:300px}}

/* Owner selected alternative on 18 October 2026. Main heading roles only. */
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-gp-kind="section"] h1{font-family:"Instrument Sans", sans-serif!important;font-weight:600!important;letter-spacing:-0.018em!important;line-height:1.08!important;font-variation-settings:normal!important;font-optical-sizing:auto!important}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-gp-kind="section"] h2{font-family:"IBM Plex Sans", sans-serif!important;font-weight:600!important;letter-spacing:-.01em!important;line-height:1.17!important;font-variation-settings:normal!important;font-optical-sizing:auto!important}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-gp-kind="section"] h3{font-family:"IBM Plex Sans", sans-serif!important;font-weight:600!important;letter-spacing:0!important;line-height:1.25!important;font-variation-settings:normal!important}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-inside][data-gp-kind="section"] h1{font-family:"IBM Plex Sans", sans-serif!important;line-height:1.14!important;letter-spacing:-.012em!important;font-weight:600!important;text-transform:none!important}
@media(max-width:650px){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-gp-kind="section"] h1{line-height:1.08!important;letter-spacing:-0.018em!important}}
@containerfs-editor-canvas (max-width: 650px){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-gp-kind="section"] h1{line-height:1.08!important;letter-spacing:-0.018em!important}}

/* Approved readability refinements, 18 October 2026.
   Only meaningful helpers, local groups and selected reading paragraphs.
   Owner-selected type families, display sizes and frozen comparisons stay authoritative. */

/* Kiln House: the brief promise and sample guidance are part of the task. */
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site="kiln-house"] :is(.field-note,.form-note,.pairing-hint,.material-note,.light-note,.letter-note,.combination-copy small,.material-row small){font-size:14px;line-height:1.5}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site="kiln-house"] .form-note{margin-top:16px}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site="kiln-house"] :is(.quiet-button,.combination-action){font-size:15px;line-height:1.5}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site="kiln-house"] .quiet-button{min-height:44px}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site="kiln-house"] .directory-links a small{font-size:14px;line-height:1.5}

/* Small study labels explain a choice, rather than acting as an imprint. */
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site="true-joint"] .ux-stage-bar :is(button,[role="button"]) small{font-size:14px;line-height:1.5}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site="neighbourhood-edit"] .ux-plan-header{font-size:14px;line-height:1.5;gap:12px;flex-wrap:wrap}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site="neighbourhood-edit"] .ux-room-title{margin-bottom:16px}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site="neighbourhood-edit"] .ux-room-title h3{margin-bottom:0}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site="neighbourhood-edit"] :is(.home-finder label,.home-finder output,.area-index small){font-size:14px;line-height:1.5}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site="neighbourhood-edit"] .home-finder select{font-size:16px;min-height:44px}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site="harbour"] .ux-folio .ux-document-row label{font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site="daymark-window-care"] .dm-sheet-head{font-size:14px;line-height:1.5;flex-wrap:wrap}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site="velum-window-care"] .ux-v-nav :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}

/* Existing small controls retain or gain the comfortable target height. */
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site="stem-and-still"] .stem-slip :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:48px;gap:8px}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site="cake-box"] .flavour-pick :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site="cake-box"] .message-label small{font-size:14px;line-height:1.5}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site="crm-recruitment-people"] .question-buttons{gap:10px}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site="crm-recruitment-people"] .question-buttons :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:10px 12px}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site="the-second-set-programme"] .pr-order-actions :is(button,[role="button"]){font-size:15px;line-height:1.5;min-height:44px;padding:8px 10px}

/* The format facts belong with the large ensemble names. */
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site="the-second-set-afterglow"] .ag-format-ribbon span:not(.fs-richtext){font-size:14px;line-height:1.5;margin-top:8px}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site="the-second-set-programme"] .opening-note{font-size:14px;line-height:1.5}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site="the-second-set-signal"] .form-note{font-size:14px;line-height:1.5}

/* Slipstream: useful record, filter and brief text; preserve the scrollable comparison. */
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site="slipstream"] :is(.featured-price small,.rail-note,.stock-finder label,.stock-caption,.inspection-note,.inspection-instruction,.form-note,[data-gp-id="stock-count"],[data-gp-id="form-question-count"]){font-size:14px;line-height:1.5}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site="slipstream"] :is(.visit-form label,.form-pair label){font-size:15px;line-height:1.5}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site="slipstream"] :is(.car-record summary,[data-gp-id="reset-stock"],[data-gp-id="clear-compare"],.quick-compare button){font-size:15px;line-height:1.5;min-height:44px}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site="slipstream"] .stock-finder select{min-height:44px}

/* Narrow only sustained paragraphs, preserving plans, records, lists and tables. */
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"]:is([data-site="stem-and-still"],[data-site="kiln-house"],[data-site="true-joint"])[data-inside] .ip-reading>p{max-width:64ch}

@media(max-width:700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

@containerfs-editor-canvas (max-width: 700px){
  /* Field & Fold keeps its practical Atkinson reading voice. */
  [data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site="field-and-fold"] .routine-stop>span:not(.fs-richtext):not(.stop-time){line-height:1.45}
  [data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site="field-and-fold"] .routine-stop i{font-size:14px;line-height:1.5}
  [data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site="field-and-fold"] .routine-note>div>span:not(.fs-richtext){font-size:14px;line-height:1.5}

  /* Nourish's topic cards use a grid gap, so a heading margin cannot fix the 6px gap. */
  [data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site="nourish-practice"] .table-notes article{row-gap:14px}
  [data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site="nourish-practice"] .table-notes h3{margin-bottom:0}
  [data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site="nourish-practice"] .ux-day .ux-day-list{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:15px 18px}
  [data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site="nourish-practice"] .ux-day .ux-day-list :is(button,[role="button"]) span:not(.fs-richtext){font-size:14px;line-height:1.5}
  [data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site="nourish-practice"] .ux-day .ux-prompt h3{margin-bottom:14px}
}

/* No generic heading, body, section-spacing or panel-height reset.
   Goodpane's unused calendar CSS, Expedition's real stage envelope,
   Starlight's passage leading and Velum's display introduction need no blanket fix. */

/* Menu only: approved fonts, colour tokens and all non-menu markup are preserved. */
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] dialog[data-gp-id="mega-menu"].mega-menu{box-sizing:border-box;position:fixed;inset:0;min-width:0;min-height:0;height:fit-content;max-height:calc(100dvh - 48px);margin:auto;padding:0!important;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:var(--mi-paper,var(--paper));color:var(--mi-ink,var(--ink));border:0!important;border-radius:0;box-shadow:0 30px 100px #0005;--mi-paper:var(--paper);--mi-ink:var(--ink);--mi-wash:var(--wash);--mi-line:var(--line);--mi-accent:var(--accent);--mi-on:var(--on-accent)}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] *,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] *:before,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] *:after{box-sizing:border-box;min-width:0}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .menu-top{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0;padding:20px 28px;border:0;background:transparent;color:inherit}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .menu-top h2,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .menu-top p{margin:0;font:500 18px/1.35 var(--body);letter-spacing:0;max-width:none}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] [data-menu-close]{display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:none;min-height:44px;min-width:70px;padding:9px 14px;border:1px solid currentColor;border-radius:0;background:transparent;color:inherit;font:500 14px/1.3 var(--body);cursor:pointer}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] a{color:inherit;text-decoration:none;line-height:1.35;min-height:44px;overflow-wrap:anywhere}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] nav a:before{content:none}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] a:focus-visible,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] :is(button,[role="button"]):focus-visible{outline:3px solid currentColor;outline-offset:4px}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] h3{font-family:var(--display);font-weight:500;line-height:1.15;letter-spacing:-.025em;margin:0}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] p{max-width:60ch;margin:0;font:400 15px/1.5 var(--body)}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] nav{min-width:0}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .mi-small{font:400 13px/1.5 var(--body)}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] a{transition:background-color 150ms ease,color 150ms ease,text-decoration-color 150ms ease}
/* Reveal every authored surface on the first frame. Only text fades; never a
   pane, note, speech ribbon, worksheet or record sleeve. Also covers Signal,
   which does not load premium.css and otherwise inherits menu-arrive. */
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] dialog[data-gp-id="mega-menu"].mega-menu[open]:not([data-closing]){animation:none!important;opacity:1;transform:none}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"][open]:not([data-closing])>*{animation:none!important}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"][open]:not([data-closing]):not([data-keyboard]) :is(h3,p,figcaption,.command-task>span:not(.fs-richtext),.command-task>small,.crate-sleeve>strong,.crate-sleeve>small),[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"][open]:not([data-closing]):not([data-keyboard]) a:not(.crate-sleeve):not(.command-task):not(.route-brief):not(.worksheet-action){animation:gp-signalpremium-mi-menu-text 160ms ease-out both}
@keyframes gp-signalpremium-mi-menu-text{from{opacity:.25}to{opacity:1}}
@media(hover:hover){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] a:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}}
@media(max-width:900px){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] dialog[data-gp-id="mega-menu"].mega-menu{width:100%;height:100dvh;max-height:none;margin:0;inset:0;border-radius:0;transform:none}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .menu-top{padding:16px 20px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .menu-top h2{font-size:16px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] a{min-height:48px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] dialog[data-gp-id="mega-menu"].mega-menu{width:100%;height:100dvh;max-height:none;margin:0;inset:0;border-radius:0;transform:none}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .menu-top{padding:16px 20px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .menu-top h2{font-size:16px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] a{min-height:48px}}
@media(prefers-reduced-motion:reduce){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] *,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] *:before,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] *:after{animation:none!important;transition:none!important}}

[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] dialog[data-gp-id="mega-menu"].mega-menu{--mi-paper:var(--ip-paper);--mi-ink:var(--ip-ink);--mi-wash:var(--ip-wash);--mi-line:var(--ip-line);--mi-accent:var(--ip-accent);--mi-on:var(--ip-on);width:min(1040px,calc(100% - 72px));border:1px solid var(--ip-line)!important;background:var(--ip-paper);color:var(--ip-ink);margin:auto!important}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .menu-top{padding:18px 30px;border:0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .menu-top h2{font-size:21px;color:inherit}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .menu-top :is(button,[role="button"]){border-color:currentColor;color:inherit}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .record-crate{padding:14px 45px 0;overflow:hidden}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .crate-sleeves{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;padding:8px 8px 0;align-items:end}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .crate-sleeve{display:flex;position:relative;isolation:isolate;overflow:hidden;flex-direction:column;justify-content:space-between;min-height:230px;padding:24px 22px 30px;background:var(--ip-accent);color:var(--ip-on);transform:rotate(-3deg);box-shadow:0 0 0 1px var(--ip-ink);text-decoration:none}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .sleeve-evening{background:var(--ip-ink);color:var(--ip-paper);transform:rotate(2deg);min-height:250px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .sleeve-late{background:var(--ip-wash);color:var(--ip-ink);transform:rotate(-1deg)}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .crate-sleeve strong{font:600 37px/1.05 var(--display);letter-spacing:-.04em;position:relative}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .crate-sleeve small{font:400 13px/1.4 var(--body);position:relative;padding-top:25px}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .sleeve-disc{position:absolute;right:-50px;top:40px;width:180px;height:180px;border:1px solid currentColor;border-radius:50%;opacity:.22;box-shadow:0 0 0 16px transparent,inset 0 0 0 16px currentColor}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .sleeve-disc:after{content:"";position:absolute;inset:60px;border:1px solid currentColor;border-radius:50%}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .crate-front{position:relative;z-index:1;margin:0 -12px;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--ip-wash);color:var(--ip-ink);border:1px solid var(--ip-ink);box-shadow:0 -6px 10px #0001;font-size:14px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .crate-front a{display:flex;align-items:center}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .listening-counter{display:grid;grid-template-columns:1.15fr 1fr auto;gap:30px;padding:27px 34px 30px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .listening-counter h3{font-size:25px;margin-bottom:12px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .listening-counter nav{display:grid}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .listening-counter nav a{display:flex;align-items:center;font-size:15px;padding:7px 0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .record-notes{padding-left:25px;border-left:1px solid var(--ip-line)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .counter-brief{display:flex;align-items:center;align-self:start;padding:18px 23px;border:1px solid currentColor;font:500 21px/1.25 var(--display);border-radius:50% 50% 3px 3px;min-height:120px;text-align:center}
@media(max-width:900px){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] dialog[data-gp-id="mega-menu"].mega-menu[data-mobile-menu-open]>:not([data-mobile-menu-head]){margin-inline:0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .record-crate{padding:18px 20px 0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .crate-sleeves{grid-template-columns:1fr;gap:0;padding:0 8px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .crate-sleeve,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .sleeve-evening{min-height:155px;padding:20px 24px;transform:rotate(-1deg);margin-top:-5px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .crate-sleeve strong{font-size:33px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .crate-sleeve strong br{display:none}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .sleeve-evening{transform:rotate(1deg)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .crate-sleeve small{padding-top:14px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .crate-front{margin:0;padding:10px 14px;gap:14px;font-size:13px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .listening-counter{grid-template-columns:1fr;padding:26px 24px;gap:18px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .record-notes{padding:16px 0 0;border:0;border-top:1px solid var(--ip-line)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .counter-brief{border-radius:0;min-height:64px;justify-content:center}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .counter-brief br{display:none}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .menu-top h2{font-size:18px}}
@containerfs-editor-canvas (max-width: 900px){[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] dialog[data-gp-id="mega-menu"].mega-menu[data-mobile-menu-open]>:not([data-mobile-menu-head]){margin-inline:0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .record-crate{padding:18px 20px 0}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .crate-sleeves{grid-template-columns:1fr;gap:0;padding:0 8px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .crate-sleeve,[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .sleeve-evening{min-height:155px;padding:20px 24px;transform:rotate(-1deg);margin-top:-5px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .crate-sleeve strong{font-size:33px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .crate-sleeve strong br{display:none}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .sleeve-evening{transform:rotate(1deg)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .crate-sleeve small{padding-top:14px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .crate-front{margin:0;padding:10px 14px;gap:14px;font-size:13px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .listening-counter{grid-template-columns:1fr;padding:26px 24px;gap:18px}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .record-notes{padding:16px 0 0;border:0;border-top:1px solid var(--ip-line)}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .counter-brief{border-radius:0;min-height:64px;justify-content:center}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .counter-brief br{display:none}[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] [data-gp-id="mega-menu"] .menu-top h2{font-size:18px}}

[data-gp-theme="the-second-set-signal"][data-gp-premium="true"][data-site]{--ip-paper:rgb(var(--c-paper));--ip-ink:rgb(var(--c-ink-950));--ip-wash:rgb(var(--c-paper-soft));--ip-accent:rgb(var(--c-brand-600));--ip-on:var(--fs-on-brand);--ip-line:rgb(var(--c-line));--ip-muted:rgb(var(--c-ink-400));--blue:var(--fs-surface-inverted);--orange:rgb(var(--c-accent));--accent:rgb(var(--c-brand-600));--wash:rgb(var(--c-paper-soft));--line:rgb(var(--c-line));--muted:rgb(var(--c-ink-400));--on-accent:var(--fs-on-brand);--focus:rgb(var(--c-accent));--work:var(--fs-surface-inverted,var(--wash));--work-ink:var(--fs-on-surface-inverted,var(--paper));--body:var(--font-sans);}
[data-gp-premium="true"]{--ip-paper:var(--paper);--ip-ink:var(--ink);--ip-wash:var(--wash);--ip-accent:var(--accent);--ip-on:var(--on-accent);--ip-muted:var(--muted);--ip-line:var(--line)}
[data-gp-premium="true"] .inside-page{font-family:var(--body);color:var(--ink)}
[data-gp-premium="true"] .ip-form button[type=submit]{background:var(--ink)!important;color:var(--paper)!important}
[data-gp-premium="true"] .gp-native-media{display:block}
/* EditableImage has its own selection layer; source annotation pins sit above it. */
[data-gp-theme="set-and-span"][data-gp-editing="true"] .pin{z-index:40;display:flex;align-items:center;justify-content:center;text-align:center}
[data-gp-premium="true"] .site-header .gp-horizontal-nav{gap:inherit}
/* Editing opens the same authored menu in the canvas rather than the top layer. */
[data-gp-premium="true"] [data-gp-id="mega-menu"].gp-editor-menu{position:relative!important;inset:auto!important;width:100%!important;max-width:none!important;height:auto!important;max-height:none!important;transform:none!important}
[data-gp-theme="set-and-span"] .sp-room>.gp-native-media{width:100%;height:190px;object-fit:contain;align-self:center}
/* Source frames follow the selected native site width, including the editor canvas. */
[data-fs-layout="full"] [data-gp-premium="true"] :is(.wrap,.section,.ip-section,.ip-hero){width:100%;max-width:none;padding-inline:4%}
[data-fs-layout="centered"] [data-gp-premium="true"] :is(.opening,.flower-opening,.atlas-opening,.portal,.cake-opening,.founder-opening,.folio-opening,.celebration-opening,.ip-opening,.ip-hero){text-align:center;grid-template-columns:minmax(0,1fr);justify-items:center}
[data-fs-layout="centered"] [data-gp-premium="true"] :is(.opening,.flower-opening,.atlas-opening,.portal,.cake-opening,.folio-opening,.celebration-opening,.ip-opening,.ip-hero) :is(h1,p){margin-inline:auto}
[data-fs-layout="centered"] [data-gp-theme="harbour-premium"] .contents-rail{display:none}
[data-fs-layout="minimal"] [data-gp-premium="true"] :is(.section,.ip-section,.ip-hero){padding-block:44px;box-shadow:none}
[data-fs-layout="minimal"] [data-gp-premium="true"] :is(.study,.ux-study){box-shadow:none}
[data-fs-layout="heroEdge"] [data-gp-premium="true"] :is(.opening,.flower-opening,.atlas-opening,.portal,.cake-opening,.founder-opening,.celebration-opening,.ip-opening,.ip-hero){width:100%;max-width:none;margin-inline:0}
/* These openings have their own nested grids and overlapping artwork. */
[data-fs-layout="centered"] [data-gp-theme="nourish-practice"] .kitchen-opening{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center}
[data-fs-layout="centered"] [data-gp-theme="nourish-practice"] .kitchen-head{display:block;padding-top:0}
[data-fs-layout="centered"] [data-gp-theme="nourish-practice"] .kitchen-head p{margin-inline:auto}
[data-fs-layout="centered"] [data-gp-theme="nourish-practice"] .meal-figure{width:min(100%,520px);margin:0;padding-top:0;align-self:center}
[data-fs-layout="centered"] [data-gp-theme="nourish-practice"] .meal-figure figcaption{padding-inline:0}
[data-fs-layout="centered"] [data-gp-theme="nourish-practice"] .starting-slip{display:block;grid-column:auto;width:min(100%,620px);text-align:left;transform:none}
[data-fs-layout="centered"] [data-gp-theme="travel-editorial"] .journal-opening{text-align:center}
[data-fs-layout="centered"] [data-gp-theme="travel-editorial"] .issue-cover{display:flex;flex-direction:column;align-items:center;gap:24px}
[data-fs-layout="centered"] [data-gp-theme="travel-editorial"] .issue-cover>figure{order:0;width:100%;max-width:900px}
[data-fs-layout="centered"] [data-gp-theme="travel-editorial"] .issue-headline{order:1;width:100%;max-width:none;margin:0;padding:0}
[data-fs-layout="centered"] [data-gp-theme="travel-editorial"] .issue-headline p{margin-inline:auto}
[data-fs-layout="centered"] [data-gp-theme="travel-editorial"] .issue-index{order:2;display:block;grid-column:auto;grid-row:auto;width:min(100%,480px);padding-top:0;text-align:left}
[data-fs-layout="minimal"] [data-gp-theme="nourish-practice"] .kitchen-opening,[data-fs-layout="minimal"] [data-gp-theme="travel-editorial"] .journal-opening{padding-block:36px}
[data-fs-layout="minimal"] [data-gp-theme="nourish-practice"] .starting-slip{transform:none;box-shadow:none}
[data-fs-layout="minimal"] [data-gp-theme="travel-editorial"] .issue-headline{margin:0;max-width:none;padding:24px 0 0}
[data-fs-layout="heroEdge"] [data-gp-theme="nourish-practice"] .kitchen-opening,[data-fs-layout="heroEdge"] [data-gp-theme="travel-editorial"] .journal-opening{width:100%;max-width:none;margin-inline:0}
/* Field manual and recruitment desk keep their distinct nested hero structures. */
[data-fs-layout="full"] [data-gp-theme="travel-expedition"] :is(.route-banner,.route-title,.route-bottom){width:100%;max-width:none;padding-inline:4%}
[data-fs-layout="centered"] [data-gp-theme="travel-expedition"] .route-title{text-align:center;left:0;right:0;transform:none;max-width:none;width:100%;padding-inline:5%}
[data-fs-layout="centered"] [data-gp-theme="travel-expedition"] .route-title :is(h1,p){margin-inline:auto}
[data-fs-layout="centered"] [data-gp-theme="travel-expedition"] .route-bottom{justify-content:center;text-align:center}
[data-fs-layout="minimal"] [data-gp-theme="travel-expedition"] :is(.route-banner,.route-bottom){padding-block:10px}
[data-fs-layout="minimal"] [data-gp-theme="travel-expedition"] .route-legend{box-shadow:none}
[data-fs-layout="heroEdge"] [data-gp-theme="travel-expedition"] .expedition-opening{width:100%;max-width:none;margin-inline:0}
[data-fs-layout="centered"] [data-gp-theme="crm-recruitment-clear"] .desk-mast{grid-template-columns:minmax(0,1fr);text-align:center;justify-items:center}
[data-fs-layout="centered"] [data-gp-theme="crm-recruitment-clear"] .desk-mast :is(h1,p){margin-inline:auto}
[data-fs-layout="centered"] [data-gp-theme="crm-recruitment-clear"] .audience-desk{max-width:850px;margin-inline:auto;text-align:center}
[data-fs-layout="minimal"] [data-gp-theme="crm-recruitment-clear"] .desk-opening{padding-block:36px}
[data-fs-layout="minimal"] [data-gp-theme="crm-recruitment-clear"] .audience-desk{box-shadow:none}
[data-fs-layout="heroEdge"] [data-gp-theme="crm-recruitment-clear"] .desk-opening{width:100%;max-width:none;margin-inline:0}
/* The conversation spread and glazing elevation retain their authored image/note layers. */
[data-fs-layout="centered"] [data-gp-theme="crm-recruitment-people"] .conversation-head{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center;gap:24px}
[data-fs-layout="centered"] [data-gp-theme="crm-recruitment-people"] .conversation-head :is(h1,p){margin-inline:auto}
[data-fs-layout="centered"] [data-gp-theme="crm-recruitment-people"] .portrait-spread{width:100%;max-width:1100px;margin-inline:auto}
[data-fs-layout="minimal"] [data-gp-theme="crm-recruitment-people"] .people-opening{padding-block:28px}
[data-fs-layout="minimal"] [data-gp-theme="crm-recruitment-people"] .hello-slip{box-shadow:none;transform:none}
[data-fs-layout="heroEdge"] [data-gp-theme="crm-recruitment-people"] .people-opening{width:100%;max-width:none;margin-inline:0}
[data-fs-layout="heroEdge"] [data-gp-theme="crm-recruitment-people"] :is(.journal-line,.conversation-head){padding-inline:4%}
[data-fs-layout="centered"] [data-gp-theme="aperture-window-care"] .elevation-copy{align-items:center;padding:28px 0;max-width:720px}
[data-fs-layout="centered"] [data-gp-theme="aperture-window-care"] .elevation-photo{width:100%;max-width:1100px}
[data-fs-layout="centered"] [data-gp-theme="aperture-window-care"] .opening-base{width:100%}
[data-fs-layout="minimal"] [data-gp-theme="aperture-window-care"] .opening{padding-top:24px}
[data-fs-layout="minimal"] [data-gp-theme="aperture-window-care"] .elevation-copy{padding-top:24px;gap:20px}
[data-fs-layout="heroEdge"] [data-gp-theme="aperture-window-care"] .elevation-copy{padding-left:4%}
[data-fs-layout="heroEdge"] [data-gp-theme="aperture-window-care"] .opening-base{padding-inline:4%}
/* The image wrapper carries the same authored street arch and crop as its image. */
[data-gp-theme="goodpane-window-care"] .gp-stages [data-up-stage]>span:last-child{border:0;border-radius:0;width:auto;height:auto;display:inline;flex-shrink:1}
[data-gp-theme="goodpane-window-care"] .street>.gp-native-media{width:100%;height:100%;border-radius:140px 140px 0 0;object-fit:cover;object-position:center}
[data-fs-layout="centered"] [data-gp-theme="goodpane-window-care"] .street-wrap{max-width:1100px}
[data-fs-layout="minimal"] [data-gp-theme="goodpane-window-care"] .gp-title{padding-top:30px;gap:18px}
[data-fs-layout="minimal"] [data-gp-theme="goodpane-window-care"] .hello-note{box-shadow:none}
[data-fs-layout="heroEdge"] [data-gp-theme="goodpane-window-care"] :is(.gp-title,.street-wrap){width:100%;max-width:none;margin-inline:0}
[data-fs-layout="heroEdge"] [data-gp-theme="goodpane-window-care"] .gp-title{padding-inline:4%}
/* Daymark's title and pane study remain separate native sections. */
[data-fs-layout="centered"] [data-gp-theme="daymark-window-care"] .dm-opening{text-align:center}
[data-fs-layout="centered"] [data-gp-theme="daymark-window-care"] .dm-topline{justify-content:center;gap:28px}
[data-fs-layout="minimal"] [data-gp-theme="daymark-window-care"] .dm-opening{padding-top:20px}
[data-fs-layout="minimal"] [data-gp-theme="daymark-window-care"] .dm-opening h1{margin-block:24px}
[data-fs-layout="heroEdge"] [data-gp-theme="daymark-window-care"] .dm-opening{width:100%;max-width:none;margin-inline:0;padding-inline:4%}
@media(max-width:600px){[data-gp-theme="goodpane-window-care"] .street>.gp-native-media{border-radius:65px 65px 0 0}}
@container fs-editor-canvas (max-width:600px){[data-gp-theme="goodpane-window-care"] .street>.gp-native-media{border-radius:65px 65px 0 0}}
/* Final care and vehicle designs retain their own image, route and ledger geometry. */
[data-gp-theme="field-and-fold"][data-gp-premium="true"]{--warm:rgb(var(--c-paper-soft));--cloud:var(--fs-surface-inverted);--rust:rgb(var(--c-accent))}
[data-gp-theme="slipstream"][data-gp-premium="true"]{--lime:rgb(var(--c-accent));--paper-line:rgb(var(--c-line));--ip-muted:rgb(var(--c-ink-400))}
/* Native mode lives on the preview/site scope, not the source body. */
[data-gp-theme="slipstream"][data-gp-premium="true"] .desk-button{background:var(--ip-paper);color:var(--ip-ink);border-color:var(--ip-line)}
[data-fs-layout="full"] [data-gp-theme="field-and-fold"][data-gp-premium="true"] .section-wrap,[data-fs-layout="full"] [data-gp-theme="slipstream"][data-gp-premium="true"] .page-width{width:100%;max-width:none;padding-inline:4%}
[data-fs-layout="centered"] [data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-copy{margin-inline:auto;padding-inline:5%;text-align:center;max-width:760px}
[data-fs-layout="centered"] [data-gp-theme="field-and-fold"][data-gp-premium="true"] .hero-copy :is(h1,p){margin-inline:auto}
[data-fs-layout="centered"] [data-gp-theme="slipstream"][data-gp-premium="true"] .vehicle-file{grid-template-columns:minmax(0,1fr)}
[data-fs-layout="centered"] [data-gp-theme="slipstream"][data-gp-premium="true"] .spec-rail{width:100%;border-left:0;border-top:1px solid var(--line)}
[data-fs-layout="minimal"] [data-gp-theme="field-and-fold"][data-gp-premium="true"] :is(.care-note,.meeting-sheet){transform:none;box-shadow:none}
[data-fs-layout="minimal"] [data-gp-theme="field-and-fold"][data-gp-premium="true"] .route-spine{display:none}
[data-fs-layout="minimal"] [data-gp-theme="slipstream"][data-gp-premium="true"] .section-space{padding-block:44px}
[data-fs-layout="heroEdge"] [data-gp-theme="field-and-fold"][data-gp-premium="true"] .outdoors,[data-fs-layout="heroEdge"] [data-gp-theme="slipstream"][data-gp-premium="true"] .vehicle-file{width:100%;max-width:none;margin-inline:0}
/* Full viewport mobile menu; safe inside a native phone preview iframe. */
/* Gallery and concert openings keep the actual source image/ticket structures. */
[data-gp-theme="velum-window-care"] .gallery-image>.gp-native-media{width:100%;height:100%;object-fit:cover;object-position:center 60%}
[data-gp-theme="the-second-set-afterglow"] .poster-photo>figure>.gp-native-media{width:100%;height:100%;object-fit:cover}
[data-fs-layout="centered"] [data-gp-theme="velum-window-care"] .gallery-heading{display:block;text-align:center}
[data-fs-layout="centered"] [data-gp-theme="velum-window-care"] .gallery-heading p{margin:20px auto 0}
[data-fs-layout="centered"] [data-gp-theme="velum-window-care"] .gallery-intro{flex-direction:column;align-items:center;text-align:center;gap:28px}
[data-fs-layout="centered"] [data-gp-theme="velum-window-care"] .gallery-intro>span{align-self:center}
[data-fs-layout="minimal"] [data-gp-theme="velum-window-care"] :is(.gallery-heading,.gallery-intro){padding-block:28px}
[data-fs-layout="heroEdge"] [data-gp-theme="velum-window-care"] .velum-opening{width:100%;max-width:none;margin-inline:0}
[data-fs-layout="heroEdge"] [data-gp-theme="velum-window-care"] :is(.gallery-heading,.gallery-caption,.gallery-intro){width:100%;max-width:none;padding-inline:4%}
[data-fs-layout="centered"] [data-gp-theme="the-second-set-afterglow"] .poster{text-align:center}
[data-fs-layout="centered"] [data-gp-theme="the-second-set-afterglow"] .poster-photo{max-width:1100px;margin-inline:auto;text-align:left}
[data-fs-layout="minimal"] [data-gp-theme="the-second-set-afterglow"] .poster h1{margin-block:20px}
[data-fs-layout="minimal"] [data-gp-theme="the-second-set-afterglow"] .ticket{padding:24px;box-shadow:none}
[data-fs-layout="heroEdge"] [data-gp-theme="the-second-set-afterglow"] .poster{width:100%;max-width:none;margin-inline:0}
[data-fs-layout="heroEdge"] [data-gp-theme="the-second-set-afterglow"] .poster>:is(h1,.poster-imprint,.poster-caption){padding-inline:4%}
/* The programme keeps its facing-page book; Kiln retains its ceramic counter. */
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .inside-page{color:var(--ip-ink)}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .ip-form button[type=submit]{background:transparent!important;color:var(--ip-ink)!important;border-color:var(--ip-line)}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] :is(.window-note,.listening){color:var(--paper)}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] :is(.record-info p,.catalogue-note){color:var(--ip-muted)}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .catalogue-tools button{color:var(--ip-ink);border-color:var(--ip-line)}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .catalogue-tools button[aria-pressed=true]{background:var(--ip-ink);color:var(--ip-paper)}
[data-gp-theme="the-second-set-signal"][data-gp-premium="true"] .window-note figure>.gp-native-media{width:100%;height:100%;object-fit:cover}
[data-gp-theme="kiln-house"][data-gp-premium="true"]{--ip-paper:var(--clay);--ip-accent:var(--rust);--ip-wash:rgb(var(--c-paper-sunk));--ip-on:var(--fs-on-brand)}
[data-gp-theme="kiln-house"][data-gp-premium="true"] :is(.room-art,.finish-art)>.gp-native-media{width:100%;height:100%;object-fit:cover}
[data-gp-theme="the-second-set-programme"] :is(.book-left,.room-detail)>figure>.gp-native-media{width:100%;height:100%;object-fit:cover}
[data-fs-layout="full"] [data-gp-theme="kiln-house"][data-gp-premium="true"] .page-width{width:100%;max-width:none;padding-inline:4%}
[data-fs-layout="centered"] [data-gp-theme="the-second-set-programme"] .book-opening{text-align:center}
[data-fs-layout="centered"] [data-gp-theme="the-second-set-programme"] .open-book{max-width:1100px;margin-inline:auto;text-align:left}
[data-fs-layout="minimal"] [data-gp-theme="the-second-set-programme"] .book-opening{padding-block:30px}
[data-fs-layout="minimal"] [data-gp-theme="the-second-set-programme"] .open-book{box-shadow:none}
[data-fs-layout="minimal"] [data-gp-theme="kiln-house"][data-gp-premium="true"] .section-space{padding-block:44px}
[data-fs-layout="heroEdge"] [data-gp-theme="the-second-set-programme"] .book-opening{width:100%;max-width:none;margin-inline:0;padding-inline:0}
@media(max-width:900px){
 [data-gp-theme="set-and-span"] .sp-room>.gp-native-media{height:145px}
 [data-gp-premium="true"] dialog.mega-menu[open]{position:fixed!important;inset:0!important;width:100%!important;max-width:none!important;height:100dvh!important;max-height:none!important;margin:0!important;border:0!important;border-radius:0!important;padding:0!important;overflow:auto!important;overscroll-behavior:contain;transform:none!important;animation:none!important}
 [data-gp-premium="true"] dialog :is(.menu-top,.directory-top){position:sticky;top:0;z-index:5;background:inherit;padding:max(16px,env(safe-area-inset-top)) 20px 16px}
 [data-gp-premium="true"] dialog [data-menu-close]{min-height:44px;font-size:15px;flex-shrink:0}
}
@container fs-editor-canvas (max-width:900px){
 [data-gp-premium="true"] .site-header nav{display:none}
}

@font-face{font-family:DM;src:url(/harbour-fonts/dm-sans.woff2);font-weight:100 1000;font-display:swap}@font-face{font-family:Lora;src:url(/harbour-fonts/lora.woff2);font-weight:400 700;font-display:swap}.fs-rc *{box-sizing:border-box}.fs-rc{margin:0;background:#e9edf0;color:#26313b;font:15px/1.5 DM,Arial,sans-serif}.fs-rc button,.fs-rc select{font:inherit}.fs-rc button,.fs-rc a,.fs-rc select{touch-action:manipulation}.fs-rc button,.fs-rc a{ -webkit-tap-highlight-color:transparent}.fs-rc button{cursor:pointer}.fs-rc a{color:inherit}.fs-rc button:focus-visible,.fs-rc a:focus-visible,.fs-rc select:focus-visible,.fs-rc summary:focus-visible{outline:3px solid #d16e00;outline-offset:5px}.fs-rc .skip{position:absolute;top:-100px;background:white;z-index:20;padding:12px}.fs-rc .skip:focus{top:0}.fs-rc .studio{padding:20px 32px 16px;background:#fff;border-bottom:1px solid #c4ccd3}.fs-rc .studio-top{display:flex;justify-content:space-between;gap:16px}.fs-rc .studio-top span{font-weight:400;color:#54626e}.fs-rc .studio-controls{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:20px}.fs-rc .directions,.fs-rc .view-controls{display:flex;gap:8px;flex-wrap:wrap}.fs-rc .studio button{border:1px solid #b6c0c7;background:white;min-height:44px;border-radius:6px;padding:9px 14px;color:#26313b}.fs-rc .studio button[aria-pressed=true]{background:#163c57;color:#fff;border-color:#163c57}.fs-rc .directions span{display:inline-block;margin-left:8px;font-size:12px;font-weight:500}.fs-rc .studio p{margin:14px 0 0;max-width:1050px;color:#52606b;font-size:14px}.fs-rc #canvas{max-width:1600px;margin:24px auto;container-type:inline-size;box-shadow:0 8px 36px #14293612}.fs-rc #canvas.phone{width:390px;max-width:100%}.fs-rc{--paper:#f7f9f8;--surface:#fff;--ink:#163b50;--brand:#0b4c68;--muted:#466271;--line:#b5c4ca;--soft:#e7eef0;--accent:#d8b679;--foot:#103d54;--foot-ink:#fff;--display:Lora;--sky:#e2edf0;--hill:#c9d7c9;--sea:#98bdc6;--building:#eee3cb;--window:#51767c;--sun:#dcbf7e;background:var(--paper);color:var(--ink);font:16px/1.6 DM,Arial,sans-serif;container-type:inline-size}.fs-rc[data-direction=registry]{--paper:#fff;--ink:#10264b;--brand:#1848b4;--muted:#4e5e77;--line:#a8bbda;--soft:#e8f0ff;--foot:#e8f0ff;--foot-ink:#10264b;--display:DM}.fs-rc[data-direction=court]{--paper:#f8f4f5;--ink:#452a40;--brand:#64324e;--muted:#6c5667;--line:#c8b7c1;--soft:#eee3e8;--accent:#b9805f;--foot:#43283c;--display:Bodoni;--sky:#eadce4;--hill:#c8b7c2;--sea:#b5a5b6;--building:#e8cfbc;--window:#77546b;--sun:#ca956d}.fs-rc[data-mode=dark]{--paper:#102d3c;--surface:#183c4e;--ink:#edf4f6;--brand:#a8d6e5;--muted:#c2d5dd;--line:#60808e;--soft:#21485a;--foot:#092431;--foot-ink:#edf4f6}.fs-rc[data-direction=registry][data-mode=dark]{--paper:#101f3e;--surface:#1b3056;--ink:#f1f5ff;--brand:#b4ccff;--muted:#c6d1e7;--line:#6f86ae;--soft:#253e67;--foot:#182e51;--foot-ink:#f1f5ff}.fs-rc[data-direction=court][data-mode=dark]{--paper:#30202e;--surface:#422e40;--ink:#faeef5;--brand:#e5b4ce;--muted:#d5bfce;--line:#967d8c;--soft:#50394b;--foot:#231520;--foot-ink:#faeef5}.fs-rc h1,.fs-rc h2,.fs-rc h3,.fs-rc p{margin:0}.fs-rc h1,.fs-rc h2{font-family:var(--display),Georgia,serif;font-weight:500;line-height:1.12;letter-spacing:-.035em}.fs-rc h1{font-size:clamp(40px,4.5cqi,68px)}.fs-rc h2{font-size:clamp(32px,3.4cqi,49px)}.fs-rc h3{font-size:20px;line-height:1.3;font-weight:600}.fs-rc .header{padding:24px 5%;display:flex;align-items:center;justify-content:space-between;gap:32px;position:relative;border-bottom:1px solid var(--line);z-index:2;background:var(--paper)}.fs-rc .logo{display:flex;gap:10px;align-items:center;text-decoration:none;font-weight:700;font-size:23px;letter-spacing:-.8px;white-space:nowrap}.fs-rc .logo svg{width:36px;height:36px;flex-shrink:0}.fs-rc .domain{font-weight:400}.fs-rc .header-tail{display:flex;align-items:center;gap:28px}.fs-rc .desktop-nav{display:flex;gap:26px;font-size:14px}.fs-rc .desktop-nav a,.fs-rc .footer-directory a{text-decoration:none;text-underline-offset:6px}.fs-rc .desktop-nav a:hover,.fs-rc .footer-directory a:hover{text-decoration:underline}.fs-rc .header-cta{border:1px solid var(--brand);padding:10px 17px;min-height:44px;text-decoration:none;font-size:14px;color:var(--brand)}.fs-rc .menu-button{display:none;min-height:44px;background:none;border:1px solid var(--line);color:var(--ink);padding:8px 12px}.fs-rc .mobile-menu{position:absolute;top:100%;left:0;right:0;background:var(--surface);padding:20px 6%;border-bottom:1px solid var(--line);box-shadow:0 12px 16px #0001}.fs-rc .mobile-menu a{display:block;padding:12px 0;text-decoration:none}.fs-rc .hero{padding:64px 5% 48px;display:grid;grid-template-columns:1fr 1fr;column-gap:5%;row-gap:40px}.fs-rc .hero-copy{align-self:center}.fs-rc .hero-kicker{color:var(--brand);margin-bottom:24px!important;font-size:15px}.fs-rc .intro{max-width:550px;margin-top:24px!important;color:var(--muted);font-size:18px;line-height:1.7}.fs-rc .button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:48px;padding:13px 20px;background:var(--brand);color:var(--paper);text-decoration:none;border:1px solid var(--brand);font-weight:600;font-size:15px;transition:transform 160ms ease,opacity 160ms ease}.fs-rc .button:hover{transform:translateY(-2px)}.fs-rc .button:active{transform:translateY(1px)}.fs-rc .main-cta{margin-top:28px}.fs-rc .quiet{font-size:14px;color:var(--muted);margin-top:16px!important}.fs-rc .art-panel{align-self:center;min-width:0}.fs-rc .harbour-art{display:block;width:100%;color:var(--window)}.fs-rc .art-sky{fill:var(--sky)}.fs-rc .art-sun{fill:var(--sun)}.fs-rc .art-hill{fill:var(--hill)}.fs-rc .art-sea{fill:var(--sea)}.fs-rc .art-building{fill:var(--building)}.fs-rc .art-window{fill:var(--window)}.fs-rc .art-quay{fill:var(--building)}.fs-rc .court-arch{display:none;fill:var(--soft)}.fs-rc .art-caption{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted);padding:12px 0;border-bottom:1px solid var(--line)}.fs-rc .planner{grid-column:1/-1;background:var(--surface);border:1px solid var(--line);padding:28px;display:grid;grid-template-columns:.85fr 1.2fr 1fr;gap:28px;scroll-margin-top:24px}.fs-rc .folio{font-size:13px;letter-spacing:.02em;margin-bottom:16px!important}.fs-rc .planner h2{font-size:28px}.fs-rc .planner-fields{display:grid;gap:12px}.fs-rc .planner-fields label{font-size:14px;display:block}.fs-rc .planner select{width:100%;display:block;min-height:48px;padding:10px 36px 10px 12px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:0;margin-top:6px}.fs-rc .route-result{padding-left:24px;border-left:1px solid var(--line)}.fs-rc .route-result strong{font-size:18px;line-height:1.4;display:block}.fs-rc .route-result p{font-size:14px;margin-top:8px;color:var(--muted)}.fs-rc .route-result .button{margin-top:16px;width:100%}.fs-rc .route-result small{font-size:12px;display:block;margin-top:10px;color:var(--muted)}.fs-rc #route-detail{grid-column:1/-1;border-top:1px solid var(--line);padding-top:24px}.fs-rc #route-detail p{margin-top:12px}.fs-rc .confidence{display:flex;justify-content:space-between;gap:24px;margin:0 5%;padding:24px 0;border-block:1px solid var(--line);color:var(--brand);font-size:18px}.fs-rc .process{padding:88px 5%;display:grid;grid-template-columns:1fr 1fr;gap:10%}.fs-rc .section-lead>p:last-child{max-width:410px;color:var(--muted);margin-top:24px}.fs-rc .process-list{padding:0;margin:0;list-style:none}.fs-rc .process-list li{display:flex;gap:24px;padding:24px 0;border-top:1px solid var(--line)}.fs-rc .process-list li>span{color:var(--brand);font-size:14px;padding-top:4px}.fs-rc .process-list li p{margin-top:12px;color:var(--muted)}.fs-rc .questions{padding:60px 5%;background:var(--soft);display:grid;grid-template-columns:1fr 1fr;gap:10%}.fs-rc .faq-list details{border-bottom:1px solid var(--line);padding:18px 0}.fs-rc .faq-list summary{cursor:pointer;min-height:28px;font-size:17px;font-weight:500}.fs-rc .faq-list p{margin-top:16px;color:var(--muted)}.fs-rc .footer{background:var(--foot);color:var(--foot-ink);padding:60px 5% 24px}.fs-rc .footer-opening{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;padding-bottom:48px;border-bottom:1px solid currentColor}.fs-rc .footer-opening .button{background:var(--accent);border-color:var(--accent);color:#18303e}.fs-rc .footer-directory{display:grid;grid-template-columns:2fr 1fr 1fr 1.3fr;gap:40px;padding:48px 0}.fs-rc .footer-directory h3{font-size:14px;font-weight:600;margin-bottom:18px}.fs-rc .footer-directory a:not(.logo){display:block;font-size:14px;padding:5px 0}.fs-rc .footer-directory p,.fs-rc .footer-directory span{font-size:14px}.fs-rc .footer-brand p{margin:20px 0 12px;max-width:250px}.fs-rc .footer-contact p{margin-top:16px}.fs-rc .footer-bottom{padding-top:20px;border-top:1px solid currentColor;display:flex;justify-content:space-between;gap:20px;font-size:12px}.fs-rc .footer-bottom button{background:none;color:inherit;border:0;text-decoration:underline;padding:0;min-height:44px;font-size:12px}.fs-rc .footer-bottom>span{align-self:center}.fs-rc #privacy-note{font-size:14px;max-width:850px;margin-top:20px}.fs-rc .checkpoint{max-width:1000px;margin:32px auto;padding:0 24px}.fs-rc .checkpoint p{margin:8px 0}.fs-rc .checkpoint span{font-size:13px;color:#52606b}

/* Harbour canvas extensions. Only showroom controls use viewport rules. */
.fs-rc{--on-brand:var(--paper);--radius:0px;--duration:160ms;--ease:cubic-bezier(.2,.7,.2,1);font-synthesis:none}.fs-rc :where(section,.fs-rc article,.fs-rc div,.fs-rc nav,.fs-rc figure,.fs-rc header,.fs-rc footer)>*{min-width:0}.fs-rc p{overflow-wrap:break-word}.fs-rc h1,.fs-rc h2{overflow-wrap:break-word}.fs-rc button,.fs-rc input,.fs-rc select{font-family:DM,Arial,sans-serif}.fs-rc a:focus-visible,.fs-rc button:focus-visible,.fs-rc input:focus-visible,.fs-rc summary:focus-visible{outline:3px solid var(--brand);outline-offset:5px}.fs-rc[tabindex]:focus{outline:none}.fs-rc .header>a,.fs-rc .footer-brand>a{text-decoration:none}.fs-rc .header .logo{white-space:normal;max-width:470px;line-height:1.15}.fs-rc .header .logo>span{overflow-wrap:anywhere}.fs-rc .header a.active{font-weight:700;text-decoration:underline;text-underline-offset:8px}.fs-rc .desktop-nav{align-items:center}.fs-rc .nav-link{position:relative}.fs-rc .nav-disclosure>button{background:none;border:0;padding:10px 0;color:var(--ink);min-height:44px;font-size:14px}.fs-rc .mega-menu{position:absolute;left:5%;right:5%;top:calc(100% - 1px);padding:32px;background:var(--surface);border:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:48px;box-shadow:0 16px 24px #0001}.fs-rc .mega-menu h2{font-size:30px}.fs-rc .mega-menu p{margin-top:16px;color:var(--muted)}.fs-rc .mega-links{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;align-content:start}.fs-rc .mega-links a{padding:10px 0;min-height:44px}.fs-rc .nav-disclosure [hidden]{display:none}.fs-rc .media{margin:0}.fs-rc .media figcaption{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.fs-rc .media figcaption button{font-size:12px;background:none;border:0;color:var(--brand);text-decoration:underline;text-underline-offset:3px;min-height:32px;padding:0}.fs-rc .hero{padding-top:56px}.fs-rc .hero h1{font-size:clamp(40px,4.5cqi,68px)}.fs-rc .button{background:var(--brand);color:var(--on-brand)}.fs-rc .button:hover{transform:translateY(-2px)}.fs-rc .button:active{transform:translateY(1px)}.fs-rc .text-link{display:inline-block;margin-top:16px;text-underline-offset:5px;font-weight:500;min-height:32px;color:var(--brand);padding-block:4px}.fs-rc .text-button{border:0;background:none;color:var(--brand);text-decoration:underline;text-underline-offset:5px;padding:8px 0;min-height:44px}.fs-rc .planner{scroll-margin-top:20px}.fs-rc .planner-fields input,.fs-rc label>input:not([type=checkbox]),.fs-rc label>select{display:block;width:100%;min-height:48px;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:10px 12px;margin-top:8px;border-radius:0;font-size:16px}.fs-rc input::placeholder{color:var(--muted);opacity:1}.fs-rc label{font-size:14px}.fs-rc input[type=checkbox]{accent-color:var(--brand);width:20px;height:20px;flex-shrink:0;margin:2px 0}.fs-rc .page-lead{padding:64px 5% 48px;max-width:1100px}.fs-rc .page-lead h1{font-size:clamp(40px,4.5cqi,66px)}.fs-rc .page-lead .intro{max-width:720px}.fs-rc .wide-section{padding:48px 5% 64px}.fs-rc .split-section{padding:64px 5%;display:grid;grid-template-columns:1fr 1fr;gap:10%}.fs-rc .tint{background:var(--soft)}.fs-rc .section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;margin-bottom:40px}.fs-rc .section-title p{max-width:360px;color:var(--muted)}.fs-rc .prose p+p{margin-top:20px}.fs-rc .prose{max-width:720px}.fs-rc .prose h2{margin-top:40px}.fs-rc .prose h2:first-child{margin-top:0}.fs-rc .process{grid-template-columns:.9fr 1.1fr;gap:7%;padding-block:72px}.fs-rc .process-tool{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px;align-items:start}.fs-rc .step-list{display:grid;gap:0;border-top:1px solid var(--line)}.fs-rc .step-list button{text-align:left;padding:16px 4px;border:0;border-bottom:1px solid var(--line);color:var(--ink);background:none;min-height:64px;font-size:15px;line-height:1.3;display:flex;align-items:center;gap:16px;transition:background-color var(--duration) var(--ease)}.fs-rc .step-list button>span{color:var(--muted);font-size:13px}.fs-rc .step-list button[aria-pressed=true]{background:var(--soft);font-weight:600;padding-inline:12px}.fs-rc .step-detail{padding:20px 0}.fs-rc .step-detail>p{margin-top:16px;color:var(--muted)}.fs-rc .step-detail h3{font-family:Lora,Georgia,serif;font-size:27px;font-weight:500;line-height:1.25}.fs-rc .note{padding:20px;background:var(--soft);margin-top:24px;font-size:14px;border-left:3px solid var(--brand)}.fs-rc .note ul{padding-left:20px}.fs-rc .service-editorial{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:64px 5%;align-items:center}.fs-rc .service-copy>p:not(.folio){color:var(--muted);margin-top:24px}.fs-rc .service-rows{margin-top:32px}.fs-rc .service-rows article{display:flex;gap:20px;padding:24px 0;border-top:1px solid var(--line)}.fs-rc .service-rows article>span{font-size:13px;color:var(--brand);padding-top:3px}.fs-rc .service-rows article p{color:var(--muted);margin-top:8px}.fs-rc .service-rows article .text-link{margin-top:8px}.fs-rc .questions .text-link{margin-top:24px}.fs-rc .questions .faq-list{margin:0}.fs-rc .faq-list summary{list-style:none;display:flex;justify-content:space-between;gap:24px;align-items:center;min-height:44px}.fs-rc .faq-list summary::-webkit-details-marker{display:none}.fs-rc .faq-list summary::after{content:'+';font-size:24px;color:var(--brand);flex-shrink:0;transition:transform var(--duration) var(--ease)}.fs-rc .faq-list details[open] summary::after{transform:rotate(45deg)}.fs-rc .faq-list p{max-width:65ch}.fs-rc .faq-controls{margin-bottom:32px}.fs-rc .faq-controls>label{max-width:560px;display:block}.fs-rc .chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.fs-rc .chips button{border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:10px 16px;min-height:44px;font-size:14px}.fs-rc .chips button[aria-pressed=true]{border-color:var(--brand);background:var(--brand);color:var(--on-brand)}.fs-rc .empty{padding:24px;background:var(--soft)}.fs-rc .field-notes{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:48px;padding:64px 5%}.fs-rc .field-notes article{border-top:1px solid var(--line);padding-top:24px}.fs-rc .field-notes article>span{font-size:13px;color:var(--muted)}.fs-rc .field-notes h3{margin-top:12px;font-family:Lora,Georgia,serif;font-size:25px;font-weight:500}.fs-rc .tool{padding:32px;border:1px solid var(--line);background:var(--surface)}.fs-rc .tool p{color:var(--muted)}.fs-rc .tool h2{font-size:34px}.fs-rc .tool h3{font-size:22px}.fs-rc .tool-heading{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:32px;align-items:start}.fs-rc .tool-heading label{grid-column:1/-1;max-width:320px}.fs-rc .name-tool,.fs-rc .scope-tool{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}.fs-rc .name-tool>div>p:not(.folio),.fs-rc .scope-tool>div>p:not(.folio){margin-top:20px}.fs-rc .name-result{background:var(--soft);padding:24px;margin-top:20px}.fs-rc .name-result p{margin-top:8px}.fs-rc .checklist{display:grid;grid-template-columns:1fr 1fr;gap:0 32px}.fs-rc .check-row{display:flex;align-items:flex-start;gap:16px;padding:20px 8px;border-top:1px solid var(--line);cursor:pointer;min-height:64px;transition:background-color var(--duration) var(--ease)}.fs-rc .check-row:has(input:checked){background:var(--soft)}.fs-rc .check-row strong{display:block;font-size:16px;line-height:1.4}.fs-rc .check-row>span>span{display:block;color:var(--muted);margin-top:8px;font-size:14px}.fs-rc .progress-summary{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:24px;padding-top:24px;border-top:1px solid var(--line);font-size:14px}.fs-rc .progress-summary progress{accent-color:var(--brand);width:160px;height:12px}.fs-rc .scope-options{margin-top:24px}.fs-rc .scope-recap{padding:32px;background:var(--soft)}.fs-rc .scope-recap ul{padding:0;list-style:none}.fs-rc .scope-recap li{padding:12px 0;border-bottom:1px solid var(--line)}.fs-rc .scope-recap .button{margin-top:24px;width:100%}.fs-rc .scope-recap small{display:block;font-size:12px;margin-top:12px}.fs-rc .care-months{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;list-style:none;padding:0;margin:0}.fs-rc .care-months li{padding-top:24px;border-top:3px solid var(--brand)}.fs-rc .care-months time{font-size:13px;color:var(--brand)}.fs-rc .care-months h3{margin-top:16px}.fs-rc .care-months p{margin-top:12px;font-size:15px}.fs-rc .finder-results{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:32px}.fs-rc .finder-results article{border-top:1px solid var(--line);padding-top:24px}.fs-rc .finder-results p{margin-top:12px;font-size:15px}.fs-rc .closing-band{padding:48px 5%;background:var(--soft);display:flex;align-items:center;justify-content:space-between;gap:40px}.fs-rc .closing-band h2{font-size:36px}.fs-rc .closing-band p{margin-top:12px;max-width:580px;color:var(--muted)}.fs-rc .closing-band .button{flex-shrink:0}.fs-rc .packages{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-top:16px}.fs-rc .package{border:1px solid var(--line);padding:32px 24px;display:flex;flex-direction:column;align-items:flex-start}.fs-rc .package.featured{background:var(--soft);border-top:5px solid var(--brand);padding-top:28px}.fs-rc .package h2{font-size:32px}.fs-rc .package .quote-price{font-size:22px;color:var(--brand);margin-top:24px}.fs-rc .package ul{padding-left:20px;margin:24px 0;font-size:15px}.fs-rc .package li{margin-bottom:12px}.fs-rc .package>p:not(.quote-price){font-size:14px;color:var(--muted);margin-bottom:24px}.fs-rc .package .button{margin-top:auto;width:100%;font-size:14px;gap:12px}.fs-rc .fee-table>div{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding:20px 0}.fs-rc .fee-table strong{font-size:25px;font-weight:500}.fs-rc .fee-table p{font-size:14px;color:var(--muted);margin:20px 0}.fs-rc .fee-table a{font-size:14px;color:var(--brand);display:inline-block;min-height:32px}.fs-rc .principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}.fs-rc .principle-grid article{border-top:1px solid var(--line);padding-top:24px}.fs-rc .principle-grid article>span{color:var(--brand);font-size:14px}.fs-rc .principle-grid h2{font-size:32px;margin:20px 0}.fs-rc .principle-grid p{color:var(--muted)}.fs-rc .plain-list{margin:0;padding-left:24px}.fs-rc .plain-list li{padding-bottom:20px}.fs-rc .article-index{display:grid;grid-template-columns:.85fr 1.4fr;gap:8%}.fs-rc .article-tabs{display:grid;align-content:start}.fs-rc .article-tabs button{background:none;border:0;border-top:1px solid var(--line);padding:24px 12px;text-align:left;color:var(--ink)}.fs-rc .article-tabs button[aria-pressed=true]{background:var(--soft)}.fs-rc .article-tabs span{display:block;font-size:13px;color:var(--muted);margin-bottom:12px}.fs-rc .article-tabs strong{font-size:18px;font-weight:500;line-height:1.4}.fs-rc .article-.fs-rc{max-width:680px}.fs-rc .article-.fs-rc>p:not(.folio){font-size:18px;line-height:1.8;margin-top:24px;color:var(--muted)}.fs-rc .article-.fs-rc a{display:inline-block;margin-top:24px;color:var(--brand)}.fs-rc .article-.fs-rc p.quiet{font-size:14px}.fs-rc .guide-image{padding:0 5% 64px;max-width:1100px;margin:auto}.fs-rc .contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-top:12px}.fs-rc .contact-context>p:not(.folio){margin-top:24px;color:var(--muted)}.fs-rc #brief-form{padding:32px;border:1px solid var(--line);background:var(--surface)}.fs-rc #brief-form h2{font-size:30px;margin-bottom:28px}.fs-rc #brief-form>label{display:block;margin-bottom:20px}.fs-rc #brief-form .consent{display:flex;gap:12px;padding-top:8px}.fs-rc #brief-form .button{width:100%;gap:12px}.fs-rc #brief-result{padding:24px;background:var(--soft);margin-top:24px}.fs-rc #brief-result h3{font-size:24px}.fs-rc #brief-result p{margin-top:12px}.fs-rc #brief-result dl{font-size:14px}.fs-rc #brief-result dt{font-weight:600;margin-top:16px}.fs-rc #brief-result dd{margin:4px 0 0}.fs-rc .legal-copy{display:grid;grid-template-columns:1fr 2fr;gap:10%;padding-top:0}.fs-rc .legal-copy aside{font-size:14px}.fs-rc .legal-copy article{max-width:65ch}.fs-rc .legal-copy article h2{font-size:30px;margin:32px 0 20px}.fs-rc .legal-copy article h2:first-child{margin-top:0}.fs-rc .legal-copy article p+p{margin-top:20px}.fs-rc .footer .logo span{font-size:inherit}.fs-rc .footer .logo{white-space:normal;line-height:1.2}.fs-rc .footer-directory .demo-foot{font-size:12px;max-width:240px}.fs-rc .footer-opening .button{color:#17313c;background:var(--accent)}.fs-rc .footer-bottom>div{display:flex;gap:20px;align-items:center}.fs-rc .footer-bottom a{font-size:12px;padding-block:14px}.fs-rc .footer a{color:inherit}.fs-rc .footer-directory a:not(.logo){min-height:32px}.fs-rc .footer .logo{padding:0!important}.fs-rc .footer #demo-info{font-size:14px;margin-top:20px;max-width:850px}.fs-rc .footer-opening .folio{opacity:1}.fs-rc .footer-directory .text-link{margin-top:0;font-weight:400}.fs-rc .footer-directory>a{margin:0}.fs-rc .chat-dock{position:sticky;bottom:20px;z-index:10;display:flex;justify-content:flex-end;height:0;pointer-events:none;margin:0 24px}.fs-rc .chat-launch{transform:translateY(-100%);border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:12px 16px;min-height:48px;display:flex;align-items:center;gap:10px;font-size:14px;pointer-events:auto;box-shadow:0 4px 24px #0002;align-self:flex-start}.fs-rc .chat-launch svg{width:24px;height:24px}.fs-rc .demo-chat{position:absolute;bottom:60px;right:0;width:360px;max-width:calc(100cqi - 32px);background:var(--surface);border:1px solid var(--line);padding:20px;pointer-events:auto;box-shadow:0 8px 32px #0003;animation:var(--fs-anim-chat,chat-in 180ms var(--ease))}.fs-rc .chat-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.fs-rc .chat-head button{font-size:28px;min-height:44px;min-width:44px;background:none;border:0;color:var(--ink)}.fs-rc .chat-notice{font-size:12px;color:var(--muted);padding-bottom:16px;border-bottom:1px solid var(--line)}.fs-rc #chat-messages{font-size:15px;margin:20px 0}.fs-rc .chat-suggestions{display:flex;gap:8px;flex-wrap:wrap}.fs-rc .chat-suggestions button{padding:8px 12px;min-height:44px;background:var(--soft);border:1px solid var(--line);color:var(--ink);font-size:13px}.fs-rc .chat-dock:has(.demo-chat:not([hidden])) .chat-launch{visibility:hidden}.fs-rc .page-content{animation:var(--fs-anim-page,page-in 180ms var(--ease))}.fs-rc .mobile-menu,.fs-rc .mega-menu{animation:var(--fs-anim-menu,menu-in 180ms var(--ease))}.fs-rc [hidden]{display:none!important}
/* Layout variants retain content and page order. */
.fs-rc[data-layout=full] :is(.hero,.fs-rc .wide-section,.fs-rc .split-section,.fs-rc .service-editorial,.fs-rc .process,.fs-rc .questions,.fs-rc .field-notes,.fs-rc .closing-band,.fs-rc .page-lead){padding-inline:3%}.fs-rc[data-layout=boxed]{max-width:1180px;margin-inline:auto;border-inline:1px solid var(--line)}.fs-rc[data-layout=centered] .hero-copy{text-align:center}.fs-rc[data-layout=centered] .hero{grid-template-columns:1fr}.fs-rc[data-layout=centered] .hero-copy{max-width:850px;margin:auto}.fs-rc[data-layout=centered] .hero-copy .intro{max-width:650px;margin-inline:auto}.fs-rc[data-layout=centered] .art-panel{max-width:850px;justify-self:center;width:100%}.fs-rc[data-layout=centered] .page-lead{margin-inline:auto;text-align:center}.fs-rc[data-layout=centered] .page-lead .intro{margin-inline:auto}.fs-rc[data-layout=minimal] .hero .art-panel{display:none}.fs-rc[data-layout=minimal] .hero{grid-template-columns:1fr}.fs-rc[data-layout=minimal] .hero-copy{max-width:850px}.fs-rc[data-layout=minimal] .tool,.fs-rc[data-layout=minimal] .package{border-inline:0;padding-inline:0}.fs-rc[data-layout=minimal] .tint{background:var(--paper)}.fs-rc[data-layout=minimal] .service-editorial{grid-template-columns:.8fr 1.2fr}.fs-rc[data-layout=edge] .hero{position:relative;padding-top:48px;isolation:isolate;background:var(--soft)}.fs-rc[data-layout=edge] .hero .art-panel{align-self:stretch;display:flex;align-items:center}.fs-rc[data-layout=edge] .hero .media{width:100%}.fs-rc[data-layout=edge] .hero .harbour-art{aspect-ratio:1;object-fit:cover}.fs-rc[data-layout=edge] .hero-copy{padding-block:24px}.fs-rc[data-layout=edge] .hero .art-caption{background:var(--surface)}
/* Studio and documentation */
.fs-rc .studio{padding:16px 28px}.fs-rc .studio-top{align-items:center}.fs-rc .studio-links{display:flex;align-items:center;gap:16px;font-size:13px}.fs-rc .studio-links button{border:0;min-height:44px;padding:4px 8px;text-decoration:underline}.fs-rc .studio-row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-top:12px}.fs-rc .studio-row>label{font-size:12px;color:#52606b;display:block}.fs-rc .studio-row select,.fs-rc .images-control select{display:block;min-height:44px;padding:8px 32px 8px 12px;border:1px solid #b6c0c7;background:white;color:#26313b;margin-top:4px;font-size:14px;border-radius:4px}.fs-rc .studio-buttons{display:flex;gap:8px;flex-wrap:wrap}.fs-rc .studio-buttons button{font-size:13px;padding:8px 12px}.fs-rc .studio-more{position:relative;margin-left:auto}.fs-rc .studio-more>summary{padding:10px 14px;min-height:44px;border:1px solid #b6c0c7;border-radius:4px;cursor:pointer;font-size:14px}.fs-rc .studio-more nav{position:absolute;right:0;top:calc(100% + 8px);padding:12px;background:white;border:1px solid #b6c0c7;min-width:250px;display:grid;z-index:50;box-shadow:0 8px 24px #0002}.fs-rc .studio-more nav button{border:0;text-align:left;border-radius:0}.fs-rc .studio-more nav a{padding:12px 14px;font-size:14px}.fs-rc .studio-meta{display:flex;align-items:center;gap:16px;margin-top:12px;font-size:12px;color:#52606b}.fs-rc .studio-meta>button{min-height:36px;font-size:12px;padding:5px 10px}.fs-rc .images-control{display:flex;align-items:center;gap:8px;margin-left:auto}.fs-rc .images-control select{margin:0;min-height:36px;font-size:12px}.fs-rc #canvas{max-width:1600px}.fs-rc .studio-end{max-width:1600px;margin:24px auto;padding:0 24px;display:flex;justify-content:space-between;gap:24px;font-size:13px}.fs-rc .toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#153c52;color:white;padding:14px 20px;z-index:100;box-shadow:0 4px 20px #0002;max-width:90%;font-size:14px}.fs-rc .documentation{padding:32px 5% 64px}.fs-rc .doc-top{display:flex;align-items:center;justify-content:space-between;gap:32px;font-size:13px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:20px}.fs-rc .doc-lead{padding:48px 0}.fs-rc .doc-lead h1{max-width:950px;font-size:clamp(40px,4.5cqi,64px)}.fs-rc .doc-section{padding-block:32px;border-top:1px solid var(--line)}.fs-rc .doc-section>p{max-width:750px;margin-top:20px}.fs-rc .doc-section>.button{margin-top:24px}.fs-rc .doc-section h2{font-size:36px}.fs-rc .doc-section p,.fs-rc .doc-section li{color:var(--muted)}.fs-rc .doc-section li{padding-block:8px}.fs-rc .doc-section a{color:var(--brand);display:inline-block;min-height:32px}.fs-rc .library-block{padding:48px 0;border-top:1px solid var(--line)}.fs-rc .library-note{max-width:720px;margin-bottom:32px}.fs-rc .library-note h2{font-size:34px}.fs-rc .library-note p{margin-top:16px;color:var(--muted)}.fs-rc .library-note details{margin-top:16px}.fs-rc .library-note summary{cursor:pointer;min-height:44px}.fs-rc .library-demo .planner{grid-template-columns:1fr 1fr 1fr}.fs-rc .library-demo .faq-list{max-width:950px}.fs-rc .media-brief{display:grid;grid-template-columns:1fr 1fr;gap:48px}.fs-rc .media-brief h2{font-family:DM,Arial,sans-serif;font-size:26px;overflow-wrap:anywhere}.fs-rc .media-brief p{margin-top:20px}.fs-rc .logo-gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:48px}.fs-rc .logo-example{border:1px solid var(--line);padding:32px;min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px}.fs-rc .logo-example>span{font-size:13px;color:var(--muted)}.fs-rc .logo-example .logo span{font-size:23px;color:var(--ink)}.fs-rc .stacked-logo{display:flex;flex-direction:column;align-items:center;font-size:24px}.fs-rc .stacked-logo svg{width:54px;height:54px}.fs-rc .mark-example svg{width:88px;height:88px}.fs-rc .favicon-example svg{width:40px;height:40px}.fs-rc .favicon-sizes{display:flex;align-items:center;gap:20px}.fs-rc .favicon-sizes svg{width:100%;height:100%;display:block}.fs-rc .motion-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.fs-rc .motion-example{border:1px solid var(--line);padding:24px}.fs-rc .motion-example h2{font-size:28px}.fs-rc .motion-example p{font-size:13px;color:var(--muted);margin-top:16px}.fs-rc .motion-stage{height:120px;margin-top:24px;background:var(--soft);display:grid;place-items:center}.fs-rc .motion-target{font-family:Lora,Georgia,serif;font-size:25px;display:block}.fs-rc .motion-target svg{height:48px;width:48px}.fs-rc .motion-example.playing .motion-target{animation:var(--fs-anim-reveal,folio-in 200ms var(--ease))}.fs-rc .motion-example[data-effect=press].playing .motion-target{animation:press-demo 120ms var(--ease)}.fs-rc .motion-example[data-effect=accordion].playing .motion-target{animation:rotate-demo 160ms var(--ease)}.fs-rc .motion-example[data-effect=harbour].playing .motion-target svg path{stroke-dasharray:20;animation:var(--fs-anim-harbour,line-demo 240ms var(--ease))}.fs-rc .spacing-ruler{display:flex;gap:24px;flex-wrap:wrap;margin:32px 0 48px}.fs-rc .spacing-ruler>div{display:flex;flex-direction:column;gap:12px;font-size:13px}.fs-rc .spacing-ruler i{height:24px;background:var(--brand)}.fs-rc .type-spec{margin:32px 0 48px;border-block:1px solid var(--line);padding:32px 0}.fs-rc .type-spec p{margin-top:20px}.fs-rc .sample-display{font-family:Lora,Georgia,serif;font-size:48px!important;line-height:1.2}.fs-rc .sample-.fs-rc{font-size:18px!important;max-width:50ch}.fs-rc .logo span{font-size:inherit}
@keyframes folio-in{from{opacity:.3;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes page-in{from{opacity:.75}to{opacity:1}}@keyframes menu-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@keyframes chat-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes press-demo{50%{transform:translateY(1px)}}@keyframes rotate-demo{50%{transform:rotate(8deg)}}@keyframes line-demo{from{stroke-dashoffset:20}to{stroke-dashoffset:0}}
@container(max-width:1100px){.fs-rc .header{gap:20px}.fs-rc .header .logo{font-size:20px;max-width:350px}.fs-rc .header-tail{gap:20px}.fs-rc .desktop-nav{gap:20px}.fs-rc .header-cta{font-size:13px}.fs-rc .hero{gap:32px 4%}.fs-rc .planner{grid-template-columns:.8fr 1fr 1.1fr;gap:20px;padding:24px}.fs-rc .route-result{padding-left:20px}.fs-rc .process{grid-template-columns:1fr;gap:40px}.fs-rc .process .section-lead{display:grid;grid-template-columns:1fr 1fr;gap:0 8%}.fs-rc .process .section-lead .folio{grid-column:1/-1}.fs-rc .process .section-lead>p:last-child{margin-top:0}.fs-rc .process-tool{grid-template-columns:1fr 1fr}.fs-rc .field-notes{gap:32px}.fs-rc .packages{gap:16px}.fs-rc .package{padding:28px 20px}.fs-rc .package h2{font-size:28px}.fs-rc .care-months{grid-template-columns:1fr 1fr}.fs-rc .footer-directory{grid-template-columns:1.5fr 1fr 1fr;gap:32px}.fs-rc .footer-contact{grid-column:1/-1}.fs-rc .motion-grid{grid-template-columns:1fr 1fr}}
@container(max-width:800px){.fs-rc .desktop-nav{display:none}.fs-rc .menu-button{display:block}.fs-rc .header-cta{display:none}.fs-rc .hero{grid-template-columns:1fr}.fs-rc .hero-copy{max-width:650px}.fs-rc .art-panel{max-width:700px}.fs-rc .hero .planner{grid-template-columns:1fr 1fr}.fs-rc .planner-heading{grid-column:1/-1}.fs-rc .service-editorial{gap:6%}.fs-rc .service-copy h2{font-size:36px}.fs-rc .service-rows article{padding-block:20px}.fs-rc .packages{grid-template-columns:1fr}.fs-rc .package{display:grid;grid-template-columns:1fr 1fr;gap:16px 32px;align-items:start}.fs-rc .package .folio{grid-column:1/-1}.fs-rc .package h2{grid-column:1}.fs-rc .package .quote-price{grid-column:1;margin-top:0}.fs-rc .package ul{grid-column:2;grid-row:2/5;margin:0}.fs-rc .package>p:not(.quote-price){grid-column:1;margin:0}.fs-rc .package .button{grid-column:2}.fs-rc .principle-grid{gap:24px}.fs-rc .principle-grid h2{font-size:28px}.fs-rc .contact-layout{gap:6%}.fs-rc .field-notes{grid-template-columns:1fr 1fr}.fs-rc .field-notes>div{grid-column:1/-1}.fs-rc .tool{padding:24px}.fs-rc .library-demo .planner{grid-template-columns:1fr 1fr}.fs-rc .library-demo .planner-heading{grid-column:1/-1}.fs-rc .finder-results{grid-template-columns:1fr 1fr}.fs-rc .logo-example .logo{font-size:18px}.fs-rc .media-brief{gap:28px}.fs-rc .closing-band{align-items:flex-start}.fs-rc .closing-band h2{font-size:32px}.fs-rc .footer-opening{align-items:flex-start}.fs-rc .footer-opening h2{font-size:38px}.fs-rc .footer-opening .button{font-size:13px;gap:12px}}
@container(max-width:600px){.fs-rc .header{padding:16px 6%;gap:12px}.fs-rc .header .logo{font-size:19px;max-width:245px;gap:6px}.fs-rc .header .logo svg{width:30px;height:30px}.fs-rc .header-tail{gap:0}.fs-rc .menu-button{font-size:13px;padding:8px 10px}.fs-rc .menu-button span{margin-left:6px}.fs-rc .hero{display:flex;flex-direction:column;padding:36px 6%;gap:28px}.fs-rc .hero-copy{order:0}.fs-rc .hero h1{font-size:41px}.fs-rc .hero-kicker{font-size:13px;margin-bottom:20px!important}.fs-rc .intro{font-size:16px;margin-top:20px!important}.fs-rc .main-cta{width:100%;margin-top:24px}.fs-rc .hero .planner{order:1;display:block;padding:24px 20px}.fs-rc .art-panel{order:2;width:100%}.fs-rc .planner h2{font-size:28px}.fs-rc .planner-fields{margin-top:20px}.fs-rc .route-result{padding:20px 0 0;margin-top:20px;border:0;border-top:1px solid var(--line)}.fs-rc .media figcaption{font-size:12px;gap:12px}.fs-rc .confidence{display:block;padding-block:20px;margin-inline:6%;font-size:16px}.fs-rc .confidence p+p{margin-top:10px}.fs-rc .page-lead{padding:40px 6% 32px}.fs-rc .page-lead h1{font-size:40px}.fs-rc .page-lead .intro{font-size:16px}.fs-rc h2{font-size:33px}.fs-rc .process{display:block;padding:48px 6%}.fs-rc .process .section-lead{display:block}.fs-rc .process .section-lead>p:last-child{margin-top:24px}.fs-rc .process-tool{display:block;margin-top:28px}.fs-rc .step-list{display:flex;overflow:auto;gap:8px;border:0;padding-bottom:8px;scrollbar-width:thin}.fs-rc .step-list button{border:1px solid var(--line);min-width:150px;flex:0 0 150px;padding:12px;min-height:76px;align-items:flex-start;gap:10px;flex-direction:column}.fs-rc .step-list button[aria-pressed=true]{border-color:var(--brand);padding:12px}.fs-rc .step-detail{padding-top:24px}.fs-rc .step-detail .note{margin-top:20px}.fs-rc .service-editorial{display:flex;flex-direction:column;padding:40px 6%;gap:32px}.fs-rc .service-copy{width:100%}.fs-rc .editorial-art{width:100%}.fs-rc .service-copy h2{font-size:33px}.fs-rc .service-copy p{font-size:16px}.fs-rc .service-rows{margin-top:24px}.fs-rc .questions{display:block;padding:40px 6%}.fs-rc .questions .faq-tool{margin-top:28px}.fs-rc .faq-list summary{font-size:16px;gap:20px}.fs-rc .faq-list p{font-size:15px}.fs-rc .faq-controls{margin-bottom:24px}.fs-rc .field-notes{grid-template-columns:1fr;padding:40px 6%;gap:28px}.fs-rc .field-notes h3{font-size:26px}.fs-rc .wide-section{padding:32px 6% 40px}.fs-rc .split-section{display:block;padding:40px 6%}.fs-rc .split-section>div:last-child,.fs-rc .split-section>.plain-list{margin-top:28px}.fs-rc .section-title{display:block;margin-bottom:28px}.fs-rc .section-title p{margin-top:20px}.fs-rc .tool{padding:24px 20px}.fs-rc .tool h2{font-size:29px}.fs-rc .tool-heading{display:block;margin-bottom:24px}.fs-rc .tool-heading>p{margin-top:20px}.fs-rc .tool-heading label{display:block;margin-top:24px}.fs-rc .name-tool,.fs-rc .scope-tool{display:block}.fs-rc .name-tool>div+div,.fs-rc .scope-tool>div+div{margin-top:28px}.fs-rc .checklist{display:block}.fs-rc .check-row{padding:20px 4px}.fs-rc .progress-summary{gap:12px}.fs-rc .progress-summary progress{width:100%}.fs-rc .scope-recap{padding:24px}.fs-rc .care-months{display:block}.fs-rc .care-months li{padding-top:20px;margin-top:28px}.fs-rc .care-months h3{margin-top:12px}.fs-rc .finder-results{display:block}.fs-rc .finder-results article{margin-top:28px}.fs-rc .closing-band{display:block;padding:36px 6%}.fs-rc .closing-band .button{margin-top:24px;width:100%}.fs-rc .closing-band h2{font-size:32px}.fs-rc .packages{display:block}.fs-rc .package{display:flex;padding:28px 24px;margin-bottom:20px;gap:0}.fs-rc .package.featured{padding-top:24px}.fs-rc .package h2{font-size:32px}.fs-rc .package .quote-price{margin-top:20px}.fs-rc .package ul{margin:24px 0}.fs-rc .package>p:not(.quote-price){margin-bottom:24px}.fs-rc .package .button{margin-top:0}.fs-rc .fee-table>div{font-size:15px}.fs-rc .fee-table strong{font-size:24px;flex-shrink:0}.fs-rc .principle-grid{display:block}.fs-rc .principle-grid article{margin-top:32px}.fs-rc .principle-grid article:first-child{margin-top:0}.fs-rc .principle-grid h2{font-size:30px}.fs-rc .article-index{display:block}.fs-rc .article-tabs button{padding:20px 12px}.fs-rc .article-.fs-rc{margin-top:36px}.fs-rc .article-.fs-rc>p:not(.folio){font-size:17px}.fs-rc .guide-image{padding:0 6% 40px}.fs-rc .contact-layout{display:block}.fs-rc .contact-context{margin-bottom:32px}.fs-rc #brief-form{padding:24px 20px}.fs-rc #brief-form h2{font-size:28px}.fs-rc #brief-result{padding:20px}.fs-rc .legal-copy{display:block}.fs-rc .legal-copy article{margin-top:32px}.fs-rc .footer{padding:40px 6% 24px}.fs-rc .footer-opening{display:block;padding-bottom:32px}.fs-rc .footer-opening h2{font-size:34px}.fs-rc .footer-opening .button{width:100%;margin-top:28px;font-size:14px;gap:12px}.fs-rc .footer-directory{grid-template-columns:1fr 1fr;gap:32px 20px;padding:32px 0}.fs-rc .footer-brand{grid-column:1/-1;padding-bottom:24px;border-bottom:1px solid currentColor}.fs-rc .footer-brand p{margin-top:16px;max-width:290px}.fs-rc .footer-directory .logo{font-size:23px;max-width:300px}.fs-rc .footer-directory .logo svg{width:32px;height:32px}.fs-rc .footer-contact{grid-column:1/-1;padding-top:24px;border-top:1px solid currentColor}.fs-rc .footer-directory a:not(.logo){padding-block:9px;min-height:44px;font-size:14px}.fs-rc .footer-directory .demo-foot{max-width:100%;font-size:12px}.fs-rc .footer-bottom{display:block}.fs-rc .footer-bottom>div{justify-content:space-between;gap:12px;margin-top:12px;flex-wrap:wrap}.fs-rc .footer-bottom a{min-height:44px}.fs-rc .chat-dock{bottom:12px;margin-inline:12px}.fs-rc .chat-launch{font-size:13px;padding:10px 12px;min-height:44px}.fs-rc .demo-chat{width:366px;max-width:calc(100cqi - 24px);padding:16px;max-height:420px;overflow:auto;bottom:52px}.fs-rc .documentation{padding:24px 6% 40px}.fs-rc .doc-top{display:block}.fs-rc .doc-top>span{display:block;margin-top:12px}.fs-rc .doc-lead{padding:32px 0}.fs-rc .doc-lead h1{font-size:39px}.fs-rc .doc-section{padding-block:28px}.fs-rc .doc-section h2{font-size:30px}.fs-rc .library-block{padding-block:32px}.fs-rc .library-note h2{font-size:30px}.fs-rc .library-demo .planner{display:block;padding:24px 20px}.fs-rc .library-demo .process-tool{margin-top:0}.fs-rc .library-demo .tool{padding:24px 16px}.fs-rc .media-brief{display:block}.fs-rc .media-brief>div+div{margin-top:28px}.fs-rc .media-brief h2{font-size:23px}.fs-rc .logo-gallery{display:block}.fs-rc .logo-example{padding:28px 16px;margin-bottom:20px;min-height:200px}.fs-rc .logo-example .logo{font-size:23px}.fs-rc .motion-grid{display:block}.fs-rc .motion-example{margin-top:20px;padding:24px}.fs-rc .motion-example:first-child{margin-top:0}.fs-rc .motion-example h2{font-size:28px}.fs-rc .sample-display{font-size:39px!important}.fs-rc[data-layout=centered] .hero-copy{width:100%}.fs-rc[data-layout=minimal] .service-editorial{display:flex}.fs-rc[data-layout=edge] .hero{padding-top:36px}.fs-rc[data-layout=edge] .hero-copy{padding-block:0}.fs-rc[data-layout=edge] .hero .harbour-art{aspect-ratio:auto}.fs-rc[data-layout=edge] .hero .art-panel{display:block}}
@media(max-width:800px){.fs-rc .studio{padding:12px 16px}.fs-rc .studio-top{display:block}.fs-rc .studio-top>strong{font-size:14px}.fs-rc .studio-top span{font-size:12px}.fs-rc .studio-links{margin-top:8px;flex-wrap:wrap;gap:12px;font-size:12px}.fs-rc .studio-links button{min-height:32px;font-size:12px;padding:4px 0}.fs-rc .studio-row{gap:10px;align-items:flex-end}.fs-rc .studio-row>label{flex:1;min-width:140px}.fs-rc .studio-row select{width:100%}.fs-rc .studio-buttons{width:100%;gap:8px}.fs-rc .studio-buttons button{flex:1;font-size:12px;padding:8px;min-height:44px}.fs-rc .studio-more{margin:0;width:100%}.fs-rc .studio-more nav{position:static;margin-top:8px;min-width:0;box-shadow:none;grid-template-columns:1fr 1fr}.fs-rc .studio-more nav button{font-size:13px;padding:8px;min-height:44px}.fs-rc .studio-meta{gap:8px;flex-wrap:wrap}.fs-rc .studio-meta>span{font-size:11px}.fs-rc .images-control{width:100%;justify-content:space-between}.fs-rc .images-control select{flex:1;max-width:240px}.fs-rc .studio-end{display:block;font-size:12px;padding-inline:16px}.fs-rc .studio-end>a{display:inline-block;margin-top:12px}.fs-rc #canvas{margin-block:16px}}
@media(prefers-reduced-motion:reduce){.fs-rc *,.fs-rc *::before,.fs-rc *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.fs-rc[data-motion=off] *,.fs-rc[data-motion=off] *::before,.fs-rc[data-motion=off] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media print{.fs-rc .studio,.fs-rc .studio-end,.fs-rc .chat-dock,.fs-rc .toast{display:none!important}.fs-rc *{animation:none!important;transition:none!important;opacity:1!important;transform:none!important}.fs-rc #canvas{margin:0;box-shadow:none}}

/* Final craft pass: distinct library demonstrations and edge composition. */
.fs-rc .desktop-nav .nav-link::after{content:'';position:absolute;left:0;right:0;bottom:-3px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform 160ms var(--ease)}
@media(hover:hover) and (pointer:fine){.fs-rc .desktop-nav .nav-link:hover::after{transform:scaleX(1)}.fs-rc .footer-directory a:hover{ text-decoration-color:currentColor}}
.fs-rc .desktop-nav .nav-link:focus-visible::after{transform:scaleX(1)}.fs-rc .footer-directory a{transition:text-decoration-color 160ms var(--ease)}
.fs-rc .motion-example[data-effect=underline] .motion-target,.fs-rc .motion-example[data-effect=footer] .motion-target{text-decoration:underline;text-underline-offset:8px;text-decoration-color:transparent}
.fs-rc .motion-example[data-effect=underline].playing .motion-target{animation:underline-demo 160ms var(--ease)}
.fs-rc .motion-example[data-effect=menu].playing .motion-target{animation:var(--fs-anim-menu,menu-in 180ms var(--ease))}
.fs-rc .motion-example[data-effect=page].playing .motion-target{animation:var(--fs-anim-page,page-in 180ms var(--ease))}
.fs-rc .motion-example[data-effect=step].playing .motion-target{animation:selection-demo 160ms var(--ease)}
.fs-rc .motion-example[data-effect=check].playing .motion-target{animation:check-demo 160ms var(--ease)}
.fs-rc .motion-example[data-effect=scope] .motion-target{border:2px solid transparent;padding:8px}
.fs-rc .motion-example[data-effect=scope].playing .motion-target{animation:scope-demo 160ms var(--ease)}
.fs-rc .motion-example[data-effect=chat].playing .motion-target{animation:var(--fs-anim-chat,chat-in 180ms var(--ease))}
.fs-rc .motion-example[data-effect=footer].playing .motion-target{animation:footer-demo 160ms var(--ease)}
.fs-rc[data-layout=edge] .hero{grid-template-columns:1fr 1fr;padding-inline:0;gap:0;background:var(--sky)}
.fs-rc[data-layout=edge] .hero-copy{margin:0 0 0 10%;padding:32px;background:var(--paper);z-index:1;align-self:center}
.fs-rc[data-layout=edge] .hero .art-panel{margin-left:-10%;width:110%;align-self:stretch}
.fs-rc[data-layout=edge] .hero .media{display:flex;flex-direction:column;justify-content:center}
.fs-rc[data-layout=edge] .hero .harbour-art{height:100%;min-height:520px;object-fit:cover;aspect-ratio:auto}
.fs-rc[data-layout=edge] .hero figcaption{padding-inline:24px;background:var(--surface)}
.fs-rc[data-layout=edge] .hero .planner{margin:40px 5% 0;grid-column:1/-1}
@keyframes underline-demo{from{text-decoration-color:transparent}to{text-decoration-color:var(--brand)}}
@keyframes selection-demo{from{background:transparent}to{background:var(--brand);color:var(--on-brand)}}
@keyframes check-demo{0%{background:transparent;transform:scale(.98)}100%{background:var(--soft);transform:scale(1)}}
@keyframes scope-demo{from{border-color:transparent}to{border-color:var(--brand)}}
@keyframes footer-demo{from{text-decoration-color:transparent}to{text-decoration-color:currentColor}}
@container(max-width:800px){.fs-rc[data-layout=edge] .hero{display:flex;flex-direction:column;padding-top:0}.fs-rc[data-layout=edge] .hero-copy{margin:24px 6%;padding:24px;max-width:100%;align-self:stretch}.fs-rc[data-layout=edge] .hero .art-panel{margin:0;width:100%;order:1}.fs-rc[data-layout=edge] .hero .harbour-art{min-height:0;height:auto}.fs-rc[data-layout=edge] .hero .planner{order:2;margin:28px 6% 0}.fs-rc[data-layout=edge] .hero .main-cta{width:100%}}
@container(max-width:600px){.fs-rc .chat-launch{width:48px;height:48px;padding:10px;justify-content:center}.fs-rc .chat-launch span{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}.fs-rc[data-layout=edge] .hero-copy{padding:24px 20px}.fs-rc[data-layout=edge] .hero h1{font-size:38px}.fs-rc[data-layout=edge] .hero .planner{padding:24px 20px}.fs-rc[data-layout=edge] .hero .route-result{padding-inline:0}}
@media(prefers-reduced-motion:reduce){.fs-rc *,.fs-rc *::after{animation:none!important;transition:none!important}}.fs-rc[data-motion=off] *,.fs-rc[data-motion=off] *::after{animation:none!important;transition:none!important}

.fs-rc .footer .logo{font-size:23px}
.fs-rc[data-layout=edge] .hero .art-panel{margin-left:0;width:100%}

/* Reserve closing space so the floating guide never covers footer legal actions. */
.fs-rc .footer{padding-bottom:96px}

.fs-rc{--paper:rgb(var(--c-paper));--surface:rgb(var(--c-paper-soft));--ink:rgb(var(--c-ink-950));--brand:rgb(var(--c-brand-600));--muted:rgb(var(--c-ink-400));--line:rgb(var(--c-line));--soft:rgb(var(--c-paper-sunk));--accent:rgb(var(--c-accent));--foot:rgb(var(--c-brand-600));--foot-ink:var(--fs-on-brand);--on-brand:var(--fs-on-brand);--display:var(--font-display,Lora);font-family:var(--fs-body-family,DM,Arial,sans-serif);background:transparent;min-width:0}
.fs-rc[data-render=wireframe]{filter:grayscale(1)}
[data-fs-motion=off] .fs-rc *,[data-fs-motion-level=off] .fs-rc *, .fs-rc[data-motion=off] *{animation:none!important;transition:none!important}
.fs-rc :is(.step-list button,.chips button){transition:var(--fs-anim-rcChoice,background-color 160ms ease,color 160ms ease,border-color 160ms ease)}
.fs-rc :is(.button,.text-button):active{transform:var(--fs-anim-rcPress,translateY(1px))}
:is([data-fs-motion=off],[data-fs-motion-level=off]) .fs-rc :is(.button,.text-button),.fs-rc[data-motion=off] :is(.button,.text-button){transform:none!important}


/* Fonts are served from this site (the same files the game uses), so nothing
   is loaded from Google or anywhere else. */
@font-face{
  font-family:'Playfair Display';
  font-style:italic;
  font-weight:700 900;
  font-display:swap;
  src:url(/theme-art/beneath-starlight-coming/fonts/playfair-italic-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Playfair Display';
  font-style:italic;
  font-weight:700 900;
  font-display:swap;
  src:url(/theme-art/beneath-starlight-coming/fonts/playfair-italic-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'Nunito';
  font-style:normal;
  font-weight:400 800;
  font-display:swap;
  src:url(/theme-art/beneath-starlight-coming/fonts/nunito-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Nunito';
  font-style:normal;
  font-weight:400 800;
  font-display:swap;
  src:url(/theme-art/beneath-starlight-coming/fonts/nunito-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
.fs-bts-root{
  margin:0;
  height:100%;
  background:#000;
}
.fs-bts-root{
  /* same sky as the game: near-black radial fade into pure black */
  background:radial-gradient(ellipse at 50% -10%, #050505, #000000 78%);
  color:#fff;
  font-family:'Nunito', sans-serif;
  min-height:100dvh;
  overflow-x:hidden;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.fs-bts-footer{
  position:relative;
  z-index:1;
  padding:16px 16px 20px;
  font-size:0.8rem;
  letter-spacing:0.03em;
}
.fs-bts-footer p{ margin:0; opacity:0.55; }
.fs-bts-social{
  display:inline-flex;
  padding:6px;
  margin-bottom:6px;
  color:#fff;
  opacity:0.7;
  border-radius:8px;
  transition:opacity .2s ease, transform .2s ease, filter .2s ease;
}
.fs-bts-social:hover,
.fs-bts-social:focus-visible{
  opacity:1;
  transform:translateY(-1px);
  filter:drop-shadow(0 0 6px rgba(255,255,255,0.6));
}
.fs-bts-social:focus-visible{ outline:1px solid rgba(255,255,255,0.6); outline-offset:2px; }

/* ---- starfield (copied from Beneath The Starlight) ---- */
.fs-bts-stars-layer{
  position:absolute;
  /* bigger than the screen so its edge never slides into view when it leans */
  inset:-70px;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
  will-change:transform;
}
.fs-bts-star{
  position:absolute;
  background:#fff;
  border-radius:50%;
  animation:var(--fs-anim-bts-twinkle, fs-bts-twinkle ease-in-out infinite);
}
.fs-bts-star-still{ animation:none !important; opacity:0.55; }
.fs-bts-sparkle.fs-bts-star-still{ opacity:0.42; }
.fs-bts-sparkle{
  position:absolute;
  background:#f9f8f4;
  clip-path:polygon(50% 0%, 61% 39%, 100% 50%, 61% 61%, 50% 100%, 39% 61%, 0% 50%, 39% 39%);
  animation:var(--fs-anim-bts-twinkle, fs-bts-twinkle ease-in-out infinite);
}
@keyframes fs-bts-twinkle{
  0%,100%{ opacity:0.15; }
  50%{ opacity:0.95; }
}

/* ---- content ---- */
.fs-bts-main{
  position:relative;
  z-index:1;
  padding:24px 16px;
  max-width:900px;
  margin:auto 0;   /* keeps the content centred with the .fs-bts-footer pinned below */
}
.fs-bts-h1{
  font-family:'Playfair Display', serif;
  font-style:italic;
  font-weight:700;
  font-size:clamp(2.4rem, 8vw, 5.5rem);
  line-height:1.1;
  margin:0;
  letter-spacing:0.01em;
  text-shadow:0 0 24px rgba(255,255,255,0.25);
}
.fs-bts-byline{
  font-size:clamp(1rem, 2.6vw, 1.35rem);
  font-weight:600;
  margin:14px 0 0;
  opacity:0.85;
  letter-spacing:0.04em;
}
.fs-bts-artwork{
  display:block;
  margin:clamp(24px, 4vh, 40px) auto 0;
  width:auto;
  max-width:100%;
  height:clamp(220px, 42vh, 460px);
  object-fit:contain;
  /* soften the edges so the picture melts into the night sky */
  -webkit-mask-image:radial-gradient(ellipse at center, #000 58%, transparent 74%);
          mask-image:radial-gradient(ellipse at center, #000 58%, transparent 74%);
}
.fs-bts-status{
  margin-top:clamp(20px, 4vh, 40px);
}
/* same font as the .fs-bts-main title */
.fs-bts-status h2,
.fs-bts-status p{
  font-family:'Playfair Display', serif;
  font-style:italic;
  font-weight:700;
  line-height:1.15;
  margin:0;
  text-shadow:0 0 24px rgba(255,255,255,0.25);
}
.fs-bts-status h2{
  font-size:clamp(1.8rem, 5.5vw, 3.6rem);
}
.fs-bts-status p{
  font-size:clamp(1.6rem, 4.5vw, 3rem);
  margin-top:10px;
}

@media (prefers-reduced-motion: reduce){
  .fs-bts-star, .fs-bts-sparkle{ animation:none !important; opacity:0.6; }
}

.fs-bts-root{position:relative;isolation:isolate;overflow:hidden;width:100%;height:auto;min-height:calc(100dvh - 100px);}
.fs-bts-artwork{width:min(100%,clamp(232px,44.338vh,485.608px));}
.fs-bts-artwork img{width:100%;height:100%;object-fit:contain;}
.fs-bts-root *{box-sizing:border-box;}
.fs-bts-main{width:100%;}
.fs-bts-root:not(.fs-bts-anim) .fs-bts-star,.fs-bts-root:not(.fs-bts-anim) .fs-bts-sparkle{animation:none!important;opacity:.6;}
[data-fs-theme="beneath-starlight-coming"] .fs-hdr-band{display:none;}
.fs-bts-footer{font-family:'Nunito',sans-serif;color:#fff;background:#000;text-align:center;}


.ml-shell,[data-fs-theme="starlight-moonlit"]{--ml-bg:rgb(var(--c-paper,8 15 25));--ml-panel:rgb(var(--c-paper-soft,12 27 36));--ml-text:rgb(var(--c-ink-950,242 238 227));--ml-muted:rgb(var(--c-ink-400,180 194 194));--ml-gold:rgb(var(--c-brand-600,233 211 162));--ml-on:var(--fs-on-brand,#12222a);--ml-line:rgb(var(--c-line,73 95 103));--ml-display:var(--font-display,Vollkorn,Georgia,serif);--ml-body:var(--font-sans,Karla,Arial,sans-serif);--ml-sky-tint:rgb(var(--c-accent,154 194 190));container:moonlit / inline-size;background:var(--ml-bg);color:var(--ml-text);position:relative}
.ml-hero-art{position:absolute;inset:0;z-index:-2;overflow:hidden}.ml-hero-art>*,.ml-hero-art img{width:100%;height:100%;object-fit:cover}.ml{box-sizing:border-box;color:var(--ml-text);font:18px/1.6 var(--ml-body);position:relative}.ml *,.ml *:before,.ml *:after{box-sizing:border-box}.ml h1,.ml h2,.ml h3,.ml p,.ml blockquote{margin:0}.ml a{color:inherit;text-decoration:none}.ml button,.ml summary{font:inherit;touch-action:manipulation}.ml button{cursor:pointer;color:inherit}.ml button:disabled{cursor:default;opacity:.55}.ml svg{display:block;max-width:100%}.ml a:focus-visible,.ml button:focus-visible,.ml summary:focus-visible{outline:3px solid var(--ml-gold);outline-offset:5px}.ml-h{font:400 clamp(34px,4.2cqi,58px)/1.1 var(--ml-display);letter-spacing:-.025em;white-space:pre-line;text-wrap:balance}.ml-copy{color:var(--ml-muted);white-space:pre-line}.ml-subtitle{font:400 28px/1.2 var(--ml-display);color:var(--ml-gold)}.ml-inner{max-width:1240px;margin:auto;padding-inline:48px}.ml-label{display:flex;align-items:center;gap:12px;color:var(--ml-gold);font-size:16px;margin-bottom:22px}.ml-label:before{content:'';height:1px;width:24px;background:currentColor}.ml-mark{display:block;width:38px;color:var(--ml-gold)}.ml-mark svg{width:100%;height:auto}.ml-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:28px}.ml-button{display:inline-flex!important;align-items:center;justify-content:center;gap:12px;min-height:50px;border:1px solid var(--ml-gold);padding:12px 24px;background:var(--ml-gold);color:var(--ml-on)!important;font:400 16px/1.3 var(--ml-body);list-style:none;cursor:pointer}.ml-button::-webkit-details-marker{display:none}.ml-secondary{color:var(--ml-text)!important;background:color-mix(in srgb,var(--ml-bg) 25%,transparent);border-color:var(--ml-line)}.ml-text-link{display:inline-flex;align-items:center;min-height:44px;background:none;border:0;color:var(--ml-gold)!important;text-decoration:underline!important;text-underline-offset:5px;font:400 16px/1.4 var(--ml-body);padding:10px 0;cursor:pointer}.ml-caption{color:var(--ml-muted);font-size:13px;line-height:1.6}.ml-art{position:absolute;inset:0;overflow:hidden;pointer-events:none}.ml-art>svg{position:absolute;inset:0;width:100%;height:100%;max-width:none}.ml-image-slot{width:100%;height:100%;position:relative}.ml-image-slot>div,.ml-image-slot>button{width:100%;height:100%}.ml-image-slot img{width:100%;height:100%;object-fit:cover}.ml-book-art>.ml-media-cover{width:267px;max-width:100%;height:400.5px;aspect-ratio:2/3;transform:rotate(-6deg);box-shadow:-12px 14px 0 color-mix(in srgb,var(--ml-bg) 90%,black),16px 22px 44px #0005}.ml-book-art>.ml-media-cover img{object-fit:contain}.ml-image{display:block;width:100%;height:100%;object-fit:cover}.ml .fs-richtext{font:inherit;color:inherit;letter-spacing:inherit;line-height:inherit}.ml .fs-richtext>p{margin:0}.ml [data-depth]{transform-box:fill-box;transform-origin:center;will-change:transform}.ml-pending-message{font-size:16px;line-height:1.5;margin-top:16px;color:var(--ml-muted);max-width:420px}.ml-excerpt-note{max-width:440px}.ml-excerpt-note .ml-copy{font-size:16px}.ml-glyph{display:inline-block}
.ml-hero{min-height:var(--ml-hero-height,820px);display:grid;place-items:start center;isolation:isolate;overflow:hidden}.ml-hero>.ml-art{z-index:-2}.ml-hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent,transparent 60%,var(--ml-bg))}.ml-hero>.ml-image{position:absolute;inset:0;z-index:-1}.ml-hero-content{text-align:center;max-width:920px;padding:179px 28px 110px;position:relative;z-index:1}.ml-prefix{display:flex;align-items:center;justify-content:center;gap:16px;font:400 18px/1.5 var(--ml-display);color:var(--ml-gold);margin-bottom:20px}.ml-prefix:before,.ml-prefix:after{content:'';height:1px;width:34px;background:currentColor;opacity:.45}.ml-title{font:400 clamp(52px,7.4cqi,var(--ml-title-size,104px))/.96 var(--ml-display);letter-spacing:-.045em;white-space:pre-line;text-wrap:balance;text-shadow:0 3px 35px #06101c66}.ml-tagline{font:400 25px/1.3 var(--ml-display);margin:26px 0 9px;color:var(--ml-gold)}.ml-description{font-size:18px;line-height:1.5;max-width:510px;margin:auto;color:var(--ml-muted);text-wrap:balance}.ml-hero .ml-actions{justify-content:center}.ml-scroll{position:absolute;bottom:27px;left:50%;transform:translateX(-50%);display:flex;gap:14px;align-items:center;min-height:44px;font-size:14px;white-space:nowrap}.ml-scroll:before{content:'';height:28px;width:1px;background:var(--ml-gold)}.ml-side-note{position:absolute;bottom:38px;left:48px;font-size:13px;color:var(--ml-muted);writing-mode:vertical-rl;transform:rotate(180deg)}.ml-intro{padding:78px 24px 72px;max-width:780px;margin:auto;text-align:center}.ml-intro .ml-mark{width:30px;margin:0 auto 24px}.ml-intro .ml-copy{margin-top:16px}
.ml-book{max-width:1240px;margin:auto;padding:36px 48px 110px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:100px;align-items:center}.ml-book-art{padding:36px 50px 24px;position:relative;display:grid;place-items:center}.ml-book-art:before{content:'';position:absolute;width:340px;max-width:100%;height:340px;border:1px solid var(--ml-line);border-radius:50%;opacity:.45;transform:rotate(-18deg) scaleY(.68)}.ml-cover{width:267px;max-width:100%;min-height:382px;background:radial-gradient(ellipse at 40% 65%,color-mix(in srgb,var(--ml-gold) 18%,var(--ml-panel)),var(--ml-bg) 70%);box-shadow:-12px 14px 0 color-mix(in srgb,var(--ml-bg) 90%,black),16px 22px 44px #0005,inset 8px 0 8px #ffffff0d;transform:rotate(-6deg);border:1px solid var(--ml-line);padding:17px;position:relative;display:flex}.ml-cover-border{border:1px solid var(--ml-line);display:flex;align-items:center;flex-direction:column;padding:23px 10px 17px;flex:1;color:var(--ml-gold);text-align:center;font-family:var(--ml-display)}.ml-cover-brand{font-size:12px;letter-spacing:.05em}.ml-cover-title{font:400 44px/1.05 var(--ml-display);margin:27px 0 10px;max-width:180px}.ml-cover-subtitle{font-size:14px}.ml-cover .ml-mark{width:59px;margin:20px auto}.ml-cover-author{font-size:13px;margin-top:auto}.ml-book-visual>.ml-caption{text-align:center;margin-top:30px}.ml-book-copy .ml-subtitle{font-size:25px;margin-top:10px}.ml-author{font-size:15px;color:var(--ml-muted);margin-top:13px}.ml-book-copy>.ml-copy{max-width:440px;margin-top:22px}.ml-book-art .ml-image{max-width:267px;height:auto;position:relative;transform:rotate(-6deg);box-shadow:12px 20px 35px #0004}.ml-game{background:var(--ml-panel);border-top:1px solid var(--ml-line);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);min-height:520px;align-items:center}.ml-game-copy{padding:65px 52px 65px max(48px,calc((100cqi - 1144px)/2))}.ml-game-copy>.ml-copy{margin-top:22px;max-width:400px}.ml-game-window{min-height:520px;position:relative;align-self:stretch;overflow:hidden}.ml-game-window .landscape{width:160%;left:-25%;}.ml-game-window:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--ml-panel),transparent 30%);pointer-events:none}.ml-scene-caption{position:absolute;bottom:28px;right:32px;z-index:1;font-size:13px;color:#f0e9d8;max-width:75%;text-align:right;text-shadow:0 1px 8px #000}.ml-scene-2{background:#252136}.ml-scene-3{background:#211627}.ml-scene-2 .ml-art{inset:30px}.ml-scene-copy{font-size:16px;color:var(--ml-muted);min-height:80px;margin-top:18px}.ml-tabs{display:flex;gap:16px;flex-wrap:wrap;margin-top:24px;border-bottom:1px solid var(--ml-line)}.ml-tab{font-size:15px!important;min-height:44px;padding:7px 0;background:none;border:0;border-bottom:2px solid transparent}.ml-tab[aria-pressed=true]{border-color:var(--ml-gold);color:var(--ml-gold)}
.ml-journey{max-width:1000px;padding:86px 48px 98px;margin:auto;text-align:center}.ml-journey>.ml-copy{margin-top:18px}.ml-paths{display:flex;justify-content:center;gap:12px;margin:30px 0 20px}.ml-choice{background:none;border:1px solid var(--ml-line);padding:14px 25px;min-height:50px;font-size:16px!important}.ml-choice[aria-pressed=true]{background:var(--ml-gold);color:var(--ml-on);border-color:var(--ml-gold)}.ml-path-result{min-height:100px;max-width:600px;margin:auto}.ml-path-result .ml-text-link{margin-top:8px}.ml-prose{max-width:980px;padding:95px 48px 65px;margin:auto}.ml-prose-title{font:400 clamp(44px,5.2cqi,76px)/1.05 var(--ml-display);letter-spacing:-.035em;white-space:pre-line;text-wrap:balance}.ml-prose-intro{font:400 26px/1.4 var(--ml-display);color:var(--ml-gold);margin-top:25px;max-width:700px}.ml-prose-body{white-space:pre-line;max-width:690px;color:var(--ml-muted);margin-top:30px}.ml-quote{font:400 32px/1.35 var(--ml-display);border-left:1px solid var(--ml-gold);padding:10px 0 10px 25px;margin-top:32px!important;max-width:650px;color:var(--ml-gold)}.ml-prose>.ml-text-link{margin-top:20px}.ml-section-heading{max-width:820px;margin:0 auto 38px;text-align:center}.ml-section-heading .ml-copy{margin-top:20px}.ml-atlas-block,.ml-characters,.ml-faq,.ml-journal{max-width:1240px;margin:auto;padding:60px 48px 85px}.ml-map-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:45px;align-items:center}.ml-map{height:465px;position:relative;overflow:hidden;border:1px solid var(--ml-line)}.ml-map .ml-art{inset:-30px}.ml-pin{position:absolute;background:none;border:0;color:#fff1c8!important;display:flex;flex-direction:column;align-items:center;font-size:14px!important;min-height:44px;max-width:160px;z-index:2;text-shadow:0 2px 8px #000}.ml-pin-star{font-size:28px;line-height:1.2;display:block;border:1px solid transparent;border-radius:50%;width:44px;height:44px;display:grid;place-items:center}.ml-pin[aria-pressed=true] .ml-pin-star{border-color:currentColor;background:#071823aa}.ml-pin-label{background:#071823dd;padding:3px 8px;border:1px solid #c1c7aa55}.ml-pin-1{left:36%;top:66%}.ml-pin-2{left:67%;top:48%}.ml-pin-3{left:5%;top:58%}.ml-map-note .ml-mark{width:34px;margin-bottom:24px}.ml-map-note .ml-subtitle{font-size:32px}.ml-map-note .ml-copy{margin-top:20px}.ml-map-note .ml-caption{margin-top:26px}.ml-character-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:70px;align-items:center}.ml-character-portrait{position:relative;height:490px;background:var(--ml-panel);overflow:hidden;border-radius:48% 48% 0 0}.ml-character-portrait .ml-caption{position:absolute;bottom:0;left:0;right:0;padding:12px;text-align:center;background:var(--ml-bg)}.ml-character-portrait .ml-art{inset:15px 0 35px}.ml-character-list{display:flex;flex-direction:column;gap:0}.ml-character-tab{background:none;border:0;border-bottom:1px solid var(--ml-line);padding:17px 0;text-align:left;font:400 28px/1.2 var(--ml-display)!important}.ml-character-tab[aria-pressed=true]{color:var(--ml-gold)}.ml-character-detail{margin-top:30px;min-height:220px}.ml-character-detail .ml-copy{margin-top:18px}.ml-character-detail .ml-label{margin-bottom:12px}
.ml-reader{max-width:880px;margin:40px auto 70px;padding:38px 48px 40px;background:var(--ml-panel);border-block:1px solid var(--ml-line)}.ml-reader-top{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px}.ml-reader-top .ml-label{margin:0}.ml-reader-tools{display:flex;align-items:center;gap:8px}.ml-size{min-width:44px;min-height:44px;padding:6px;background:none;border:1px solid var(--ml-line);font-family:var(--ml-display)!important}.ml-reading-copy{font-family:var(--ml-display);line-height:1.85;white-space:pre-line;max-width:680px;margin:32px auto;color:var(--ml-text)}.ml-reader .ml-h{font-size:39px}.ml-reader-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--ml-line);padding-top:22px}.ml-faq{max-width:960px}.ml-question{border-bottom:1px solid var(--ml-line)}.ml-question:first-child{border-top:1px solid var(--ml-line)}.ml-question-title{list-style:none;display:flex;justify-content:space-between;gap:24px;padding:24px 0;cursor:pointer;font:400 23px/1.35 var(--ml-display)!important}.ml-question-title::-webkit-details-marker{display:none}.ml-question-icon{flex-shrink:0;min-width:22px;color:var(--ml-gold)}.ml-question[open] .ml-question-icon{transform:rotate(45deg)}.ml-answer{color:var(--ml-muted);max-width:710px;padding:0 35px 24px 0}.ml-journal-list{border-top:1px solid var(--ml-line)}.ml-journal-entry{border-bottom:1px solid var(--ml-line)}.ml-journal-title{display:flex;gap:24px;align-items:center;padding:22px 0;list-style:none;cursor:pointer}.ml-journal-title::-webkit-details-marker{display:none}.ml-journal-title>.ml-glyph{color:var(--ml-gold);font-size:30px}.ml-journal-heading{font:400 28px/1.3 var(--ml-display);flex:1}.ml-journal-entry>.ml-copy{padding:0 50px 30px}.ml-journal>.ml-caption{margin-top:20px}.ml-contact{max-width:1240px;margin:auto;padding:110px 48px 95px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:85px;align-items:center}.ml-contact>.ml-copy,.ml-contact>div>.ml-copy{margin-top:25px}.ml-contact-detail{border-left:1px solid var(--ml-line);padding:35px 0 35px 48px}.ml-contact-detail .ml-mark{width:62px;margin-bottom:24px}.ml-contact-detail .ml-caption{margin-top:25px}.ml-contact-email{display:block;font:400 24px/1.4 var(--ml-display);overflow-wrap:anywhere}.ml-contact-detail .ml-text-link{display:flex}
.ml-footer{border-top:1px solid var(--ml-line);position:relative;padding:65px 0 0;background:var(--ml-bg);isolation:isolate}.ml-footer-stars{position:absolute;inset:0;overflow:hidden;z-index:-1;background-image:radial-gradient(circle at 25% 33%,var(--ml-gold) 1px,transparent 2px),radial-gradient(circle at 83% 52%,var(--ml-gold) 1px,transparent 2px),radial-gradient(circle at 54% 78%,var(--ml-gold) 1px,transparent 2px);background-size:277px 229px,339px 260px,381px 311px;opacity:.4}.ml-footer-top{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:70px;align-items:center;padding-bottom:60px}.ml-footer-top .ml-h{font-size:clamp(36px,4cqi,58px)}.ml-footer-top .ml-copy{margin-top:18px;max-width:400px}.ml-footer-paths{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;position:relative}.ml-footer-paths:before{content:'';position:absolute;top:27px;left:20px;right:20px;height:1px;background:var(--ml-line);transform:rotate(-7deg);z-index:-1}.ml-footer-path{min-height:136px;display:flex;align-items:start;justify-content:center;flex-direction:column}.ml-footer-star{font-size:35px;line-height:1.5;color:var(--ml-gold)}.ml-footer-path-title{font:400 24px/1.3 var(--ml-display);margin-top:12px}.ml-footer-path-label{color:var(--ml-muted);font-size:15px;margin-top:6px}.ml-footer-bottom{border-top:1px solid var(--ml-line);padding-block:26px;display:flex;align-items:center;gap:30px;justify-content:space-between}.ml-brand{display:flex;gap:13px;align-items:center;font:400 15px/1.25 var(--ml-display);flex-shrink:0}.ml-brand-text{white-space:pre-line;max-width:180px}.ml-footer-bottom .ml-mark{width:28px}.ml-footer-links{display:flex;gap:24px;font-size:15px;flex-wrap:wrap}.ml-footer-links a{min-height:44px;display:flex;align-items:center}.ml-copyright{font-size:13px;color:var(--ml-muted)}.ml-legal-links{font-size:13px;display:flex;flex-wrap:wrap;gap:20px;padding-bottom:25px}.ml-legal-links a{text-decoration:underline}.ml-wire .ml-art{opacity:.2;filter:grayscale(1)}.ml-wire .ml-button{pointer-events:none}.ml-wire [data-depth]{transform:none!important}
@keyframes ml-control-lift{to{transform:translateY(-2px)}}@keyframes ml-control-star{to{transform:rotate(30deg)}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){[data-fs-motion="on"] .ml-button:hover{animation:var(--fs-anim-moonlit-controls,ml-control-lift 180ms ease forwards)}[data-fs-motion="on"] .ml-footer-path:hover .ml-footer-star{animation:var(--fs-anim-moonlit-controls,ml-control-star 180ms ease forwards)}}
.ml-button:active{animation:none!important;transform:none!important}:is([data-fs-motion="off"],[data-fs-motion-level="off"]) .ml *,:is([data-fs-motion="off"],[data-fs-motion-level="off"]) .ml [data-depth]{transition:none!important;animation:none!important}:is([data-fs-motion="off"],[data-fs-motion-level="off"]) .ml [data-depth]{transform:none!important}.ml-shell[data-ml-controls="off"]{--fs-anim-moonlit-controls:none}
.ml-hero{--ml-text:#f2eee3;--ml-muted:#d2dcd7;--ml-gold:#e9d3a2;--ml-on:#12222a}.ml-shell[data-ml-mode="light"] .ml-hero:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,var(--ml-bg));z-index:-1}
@container moonlit (max-width:850px){.ml-inner{padding-inline:28px}.ml-book{padding:20px 28px 75px;gap:30px}.ml-book-art{padding:30px 20px}.ml-game-copy{padding:45px 28px}.ml-footer-top{gap:35px}.ml-footer-bottom{flex-wrap:wrap;gap:18px}.ml-copyright{flex-basis:100%}.ml-atlas-block,.ml-characters,.ml-faq,.ml-journal{padding-inline:28px}.ml-character-layout{gap:35px}.ml-character-portrait{height:440px}.ml-map-layout{grid-template-columns:1fr;gap:28px}.ml-map-note{max-width:650px}.ml-map-note .ml-mark{display:none}.ml-contact{gap:36px;padding:80px 28px}.ml-contact-detail{padding-left:30px}}
@container moonlit (max-width:600px){.ml-book-art>.ml-media-cover{width:226px;height:339px}.ml{font-size:17px}.ml-inner{padding-inline:22px}.ml-hero{min-height:745px}.ml-hero-content{padding:149px 22px 140px;max-width:100%}.ml-prefix{font-size:16px;margin-bottom:24px;gap:10px}.ml-prefix:before,.ml-prefix:after{width:20px}.ml-title{font-size:clamp(46px,12.2cqi,70px);line-height:1.01;letter-spacing:-.04em}.ml-tagline{font-size:22px;max-width:280px;margin:25px auto 12px}.ml-description{font-size:17px;line-height:1.45;max-width:315px}.ml-actions{gap:10px;margin-top:27px}.ml-hero .ml-actions{flex-direction:column;align-items:center}.ml-hero .ml-button{width:225px}.ml-hero .landscape{width:200%;left:-50%}.ml-hero .moon-position{transform-box:fill-box;transform-origin:center;transform:translate(-155px,-45px) scale(.48)}.ml-side-note{display:none}.ml-scroll{bottom:20px;font-size:13px}.ml-intro{padding:52px 26px}.ml-intro .ml-h{font-size:35px}.ml-book{grid-template-columns:1fr;gap:33px;padding:12px 24px 65px}.ml-book-art{padding:15px 30px 5px}.ml-cover{width:226px;min-height:326px;padding:14px}.ml-cover-border{padding:18px 8px 15px}.ml-cover-title{font-size:38px;margin-top:22px}.ml-cover .ml-mark{width:50px;margin:14px auto}.ml-cover-brand{font-size:12px}.ml-cover-subtitle,.ml-cover-author{font-size:12px}.ml-book-art:before{width:280px;height:280px}.ml-book-visual>.ml-caption{margin-top:30px;font-size:12px}.ml-book-copy{text-align:center}.ml-label{justify-content:center;margin-bottom:15px}.ml-book-copy>.ml-copy{margin-top:18px}.ml-book .ml-actions{justify-content:center;flex-direction:column}.ml-book .ml-h{font-size:40px}.ml-game{grid-template-columns:1fr}.ml-game-copy{padding:48px 26px 20px;text-align:center}.ml-game .ml-h{font-size:37px}.ml-game .ml-actions{justify-content:center}.ml-game-copy>.ml-copy{max-width:none;margin-top:16px}.ml-game-window{min-height:295px}.ml-game-window .landscape{width:130%;left:-15%}.ml-game-window:after{background:linear-gradient(180deg,var(--ml-panel),transparent 35%)}.ml-scene-caption{bottom:15px;right:20px;font-size:12px}.ml-tabs{justify-content:center;gap:15px}.ml-tab{font-size:14px!important}.ml-journey{padding:56px 24px}.ml-journey .ml-h{font-size:33px}.ml-paths{gap:8px;margin-top:25px}.ml-choice{padding:12px 15px;flex:1;max-width:175px}.ml-path-result{min-height:143px}.ml-prose{padding:55px 24px 35px;text-align:center}.ml-prose-title{font-size:44px}.ml-prose-intro{font-size:24px}.ml-prose-body{text-align:left;margin-top:25px}.ml-quote{text-align:left;font-size:27px;padding-left:20px}.ml-atlas-block,.ml-characters,.ml-faq,.ml-journal{padding:40px 24px 55px}.ml-section-heading .ml-h{font-size:34px}.ml-section-heading .ml-copy{margin-top:17px}.ml-map{height:360px}.ml-map .ml-art{inset:0 -160px}.ml-pin{font-size:12px!important;max-width:115px}.ml-pin-1{left:30%;top:68%}.ml-pin-2{left:64%;top:44%}.ml-pin-3{left:2%;top:48%}.ml-map-note .ml-subtitle{font-size:29px}.ml-map-note .ml-caption{margin-top:18px}.ml-character-layout{grid-template-columns:1fr;gap:26px}.ml-character-portrait{height:390px;max-width:320px;width:100%;margin:auto}.ml-character-list{display:flex;flex-direction:row;gap:12px;flex-wrap:wrap;justify-content:center}.ml-character-tab{font-size:19px!important;min-height:44px;padding:8px 0}.ml-character-detail{text-align:center;min-height:190px}.ml-reader{margin:20px 16px 40px;padding:25px 22px}.ml-reader-top{flex-direction:column;gap:18px;align-items:flex-start}.ml-reader .ml-h{font-size:33px}.ml-reading-copy{line-height:1.75}.ml-reader-bottom{flex-direction:column;gap:10px;align-items:flex-start}.ml-question-title{font-size:21px!important;padding:22px 0}.ml-answer{font-size:17px;padding-right:0}.ml-journal-title{gap:13px;flex-wrap:wrap;padding-block:18px}.ml-journal-heading{font-size:24px}.ml-journal-title>.ml-text-link{flex-basis:100%;padding-left:40px}.ml-journal-entry>.ml-copy{padding:0 0 24px 40px}.ml-contact{grid-template-columns:1fr;gap:35px;padding:60px 24px;text-align:center}.ml-contact-detail{border-left:0;border-top:1px solid var(--ml-line);padding:30px 0 0}.ml-contact-detail .ml-mark{margin:0 auto 25px}.ml-contact-detail .ml-text-link{justify-content:center}.ml-contact-email{font-size:23px}.ml-footer{padding-top:44px}.ml-footer-top{grid-template-columns:1fr;gap:32px;padding-bottom:36px;text-align:center}.ml-footer-top .ml-h{font-size:38px}.ml-footer-paths{gap:20px;text-align:left;border-top:1px solid var(--ml-line);padding-top:13px}.ml-footer-paths:before{top:40px}.ml-footer-path{min-height:144px;justify-content:flex-start}.ml-footer-star{min-height:52px}.ml-footer-path-title{font-size:22px}.ml-footer-path-label{font-size:14px}.ml-footer-bottom{display:grid;grid-template-columns:1fr;gap:18px;text-align:center;justify-items:center;padding-block:26px}.ml-footer-links{gap:20px;justify-content:center;font-size:14px}.ml-copyright{font-size:12px}.ml-legal-links{justify-content:center;font-size:12px}}
.ml-sky-toggle{position:absolute;right:48px;bottom:27px;min-height:44px;padding:8px 0;background:none;border:0;border-bottom:1px solid #c6dae644;color:#d2dcd7!important;font:13px/1.4 var(--ml-body)!important;z-index:2}.ml-hero[data-ml-motion-paused="true"] .ml-starfield *{animation-play-state:paused!important}
@container moonlit (max-width:600px){.ml-sky-toggle{right:24px;bottom:65px}}
/* Slow star motion stays separate from the pointer/scroll depth transforms. */
.ml-starfield .ml-star-drift{animation:var(--fs-anim-moonlit-stars,ml-stars-drift 44s ease-in-out infinite alternate)}
.ml-starfield .ml-star-twinkle{animation:var(--fs-anim-moonlit-stars,ml-stars-twinkle 7s ease-in-out infinite alternate)}
.ml-starfield .ml-star-twinkle-b{animation-duration:9s;animation-delay:-4s}.ml-starfield .ml-star-twinkle-c{animation-duration:5.5s;animation-delay:-2s}
.ml-starfield .ml-shooting-star{opacity:0;animation:var(--fs-anim-moonlit-stars,ml-stars-shoot 14s linear infinite);animation-delay:2s}.ml-starfield .ml-shooting-star-late{animation-duration:19s;animation-delay:8s}
@keyframes ml-stars-drift{from{transform:translate3d(-7px,-5px,0)}to{transform:translate3d(9px,8px,0)}}
@keyframes ml-stars-twinkle{from{opacity:.28}to{opacity:1}}
@keyframes ml-stars-shoot{0%,83%,100%{opacity:0;transform:translate3d(0,0,0)}84%{opacity:0;transform:translate3d(0,0,0)}86%{opacity:.85}91%{opacity:0;transform:translate3d(430px,0,0)}99%{opacity:0;transform:translate3d(430px,0,0)}}
.ml-wire .ml-starfield *{animation:none!important}.ml-wire .ml-starfield [data-depth]{transform:none!important}
@media(prefers-reduced-motion:reduce){.ml *,.ml *:before,.ml *:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}.ml [data-depth]{transform:none!important;will-change:auto}.ml-button:hover,.ml-footer-path:hover .ml-footer-star{transform:none!important}}


@font-face{font-family:Vollkorn;font-weight:400 900;font-style:normal;font-display:swap;src:url('/theme-art/starlight-moonlit/fonts/vollkorn.woff2') format('woff2')}
@font-face{font-family:Karla;font-weight:200 800;font-style:normal;font-display:swap;src:url('/theme-art/starlight-moonlit/fonts/karla.woff2') format('woff2')}
[data-fs-theme="starlight-moonlit"] .fs-hdr-band{background:rgb(var(--c-paper));color:rgb(var(--c-ink-950));border-bottom:1px solid rgb(var(--c-line))}
[data-fs-theme="starlight-moonlit"] .fs-hdr-row{max-width:1320px!important;padding:28px 54px;min-height:104px;gap:32px;font-family:var(--font-sans,Karla,Arial,sans-serif)}
[data-fs-theme="starlight-moonlit"] [data-fs-wordmark]{font-family:var(--font-display,Vollkorn,Georgia,serif);font-size:23px;font-weight:400;line-height:1.05;white-space:pre-line;max-width:190px;letter-spacing:-.4px;color:inherit}
[data-fs-theme="starlight-moonlit"] [data-fs-logo-mark]{width:34px;height:auto;color:rgb(var(--c-brand-600))}
[data-fs-theme="starlight-moonlit"] .fs-hdr-cta{font-family:var(--font-sans,Karla,Arial,sans-serif);font-size:14px;border-radius:0!important;background:transparent;color:inherit;border:1px solid rgb(var(--c-line));padding:12px 18px}
[data-fs-theme="starlight-moonlit"] .fs-hdr-row>nav{font-family:var(--font-sans,Karla,Arial,sans-serif);font-size:16px}
[data-fs-theme="starlight-moonlit"]:has(.ml-hero) .fs-hdr-band{position:absolute;inset:0 0 auto;background:transparent;color:#f2eee3;border:0;z-index:20}
[data-fs-theme="starlight-moonlit"]:has(.ml-hero) [data-fs-logo-mark]{color:#e9d3a2}
[data-fs-theme="starlight-moonlit"]:has(.ml-hero) .fs-hdr-row .fs-hdr-cta{color:#f2eee3;border-color:#71868c}
.ml-editor-settings{padding:14px 22px;background:rgb(var(--c-paper));color:rgb(var(--c-ink-950));border:1px dashed rgb(var(--c-line));font:14px/1.5 Karla,Arial,sans-serif}
.ml-editor-settings>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:15px}
.ml-editor-settings label{display:grid;gap:5px}.ml-editor-settings input,.ml-editor-settings textarea{width:100%;padding:8px;border:1px solid rgb(var(--c-line));background:rgb(var(--c-paper-soft));color:inherit;font:inherit}
[data-fs-theme="starlight-moonlit"] .ml-mega{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:35px;padding:35px;color:rgb(var(--c-ink-950));background:rgb(var(--c-paper-soft));font-family:var(--font-sans,Karla,Arial,sans-serif)}
.ml-mega h2{font:24px Vollkorn,Georgia,serif;margin:0 0 14px}.ml-mega a{display:block;text-decoration:none;font-size:16px;padding:12px 0}.ml-mega-feature{padding-left:30px;border-left:1px solid rgb(var(--c-line));font:25px Vollkorn,serif}.ml-mega-feature>span{color:rgb(var(--c-brand-600));font-size:45px}.ml-mega-feature p{margin:9px 0}
@container moonlit (max-width:850px){[data-fs-theme="starlight-moonlit"] .fs-hdr-row{padding:23px 23px;gap:15px;min-height:90px}[data-fs-theme="starlight-moonlit"] [data-fs-wordmark]{font-size:21px;max-width:155px}[data-fs-theme="starlight-moonlit"] [data-fs-logo-mark]{width:28px}[data-fs-theme="starlight-moonlit"] .fs-hdr-row .fs-hdr-cta,[data-fs-theme="starlight-moonlit"] [data-fs-preview-edit]{display:none}}


.fs-rly{container:relay / inline-size;position:relative;min-width:0;
--bg:rgb(var(--c-paper));--surface:rgb(var(--c-paper-soft));--ink:rgb(var(--c-ink-950));
--muted:rgb(var(--c-ink-400));--brand:rgb(var(--c-brand-600));--on:var(--fs-on-brand);
--wash:rgb(var(--c-paper-sunk));--line:rgb(var(--c-line));
--display:var(--font-display,Georgia,serif);--body:var(--fs-body-family,var(--font-sans,Arial,sans-serif));
--width:var(--fs-layout-max,var(--fs-shell-max,1200px));--radius:var(--fs-radius-card,18px);--section:var(--fs-space-section,80px);--gutter:32px;
--shadow:0 12px 32px color-mix(in srgb,var(--ink) 4%,transparent);
background:var(--bg);color:var(--ink);font:16px/1.5 var(--body)}
.fs-rly *{box-sizing:border-box}.fs-rly{margin:0;font:16px/1.6 var(--body);color:var(--ink);background:var(--bg)}.fs-rly button{font:inherit}.fs-rly input{font:inherit}.fs-rly select{font:inherit}.fs-rly textarea{font:inherit}.fs-rly button{touch-action:manipulation}.fs-rly a{touch-action:manipulation}.fs-rly input{touch-action:manipulation}.fs-rly select{touch-action:manipulation}.fs-rly textarea{touch-action:manipulation}.fs-rly button{cursor:pointer}.fs-rly a{color:inherit;text-decoration:none}.fs-rly a:hover{text-decoration:underline;text-underline-offset:5px}.fs-rly button:disabled{cursor:default;opacity:.55}.fs-rly :focus-visible{outline:3px solid var(--brand);outline-offset:4px}.fs-rly button{border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}.fs-rly input{border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}.fs-rly select{border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}.fs-rly textarea{border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}.fs-rly button{min-height:44px}.fs-rly select{min-height:44px}.fs-rly button{padding:9px 16px}.fs-rly button:hover{border-color:var(--brand)}.fs-rly input{padding:12px;max-width:100%;width:100%}.fs-rly textarea{padding:12px;max-width:100%;width:100%}.fs-rly label{font-size:14px;font-weight:600;display:block}.fs-rly label select{display:block;width:100%;margin-top:8px}.fs-rly select{padding:8px 32px 8px 12px}.fs-rly h1{margin:0}.fs-rly h2{margin:0}.fs-rly h3{margin:0}.fs-rly p{margin:0}.fs-rly h1{font-family:var(--fs-h1-family,var(--display));font-weight:var(--fs-h1-weight,400);line-height:1.04;letter-spacing:var(--fs-h1-spacing,-.045em);text-wrap:balance}.fs-rly h2{font-family:var(--fs-h2-family,var(--display));font-weight:var(--fs-h2-weight,400);line-height:1.04;letter-spacing:var(--fs-h2-spacing,-.045em);text-wrap:balance}.fs-rly h1{font-size:var(--fs-h1-size,clamp(42px,6.4cqi,84px))}.fs-rly h2{font-size:var(--fs-h2-size,clamp(34px,4.4cqi,58px))}.fs-rly h3{font-size:var(--fs-h3-size,22px);line-height:1.25;letter-spacing:var(--fs-h3-spacing,-.025em)}.fs-rly p{max-width:65ch}.fs-rly p+p{margin-top:16px}.fs-rly small{font-size:12px;line-height:1.5}.fs-rly .fs-rly-small{font-size:12px;line-height:1.5}.fs-rly .fs-rly-muted{color:var(--muted)}.fs-rly .fs-rly-eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:600;display:block;margin-bottom:20px}.fs-rly .fs-rly-accent{color:var(--brand)}.fs-rly .fs-rly-serif{font-family:var(--display);font-style:italic}.fs-rly .fs-rly-wrap{width:min(calc(100% - 2*var(--gutter)),var(--width));margin-inline:auto}.fs-rly .fs-rly-section{padding-block:var(--section);border-bottom:1px solid var(--line)}.fs-rly .fs-rly-intro{max-width:690px}.fs-rly .fs-rly-intro p{margin-top:24px;font-size:19px;color:var(--muted)}.fs-rly .fs-rly-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.fs-rly .fs-rly-between{justify-content:space-between}.fs-rly .fs-rly-stack{display:grid;gap:24px}.fs-rly .fs-rly-grid2{display:grid;grid-template-columns:1fr 1fr;gap:32px}.fs-rly .fs-rly-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.fs-rly .fs-rly-card{padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.fs-rly .fs-rly-card h3+p{margin-top:12px}.fs-rly .fs-rly-btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:48px;padding:12px 24px;background:var(--brand);color:var(--on);border:1px solid var(--brand);border-radius:7px;font-size:14px;font-weight:600}.fs-rly .fs-rly-btn:hover{text-decoration:none;filter:brightness(.94)}.fs-rly .fs-rly-btn.fs-rly-ghost{background:transparent;color:var(--ink);border-color:var(--line)}.fs-rly .fs-rly-textlink{font-size:14px;border-bottom:1px solid currentColor;padding:8px 0;display:inline-block}.fs-rly .fs-rly-pill{display:inline-flex;gap:8px;align-items:center;padding:6px 12px;border:1px solid var(--line);border-radius:100px;font-size:12px}.fs-rly .fs-rly-dot{width:7px;height:7px;border-radius:100%;background:var(--brand);display:inline-block}.fs-rly .fs-rly-divider{border-top:1px solid var(--line);margin-block:24px}.fs-rly .fs-rly-skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--surface);padding:12px}.fs-rly .fs-rly-skip:focus{top:8px}.fs-rly .fs-rly-studio{background:#252329;color:#f6f3ec;padding:10px 20px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:12px}.fs-rly .fs-rly-studio button{background:#34313b;color:#fff;border-color:#66616e;min-height:36px;font-size:12px;padding:5px 10px}.fs-rly .fs-rly-studio select{background:#34313b;color:#fff;border-color:#66616e;min-height:36px;font-size:12px;padding:5px 10px}.fs-rly .fs-rly-studio label{font-size:12px;display:flex;gap:6px;align-items:center}.fs-rly .fs-rly-studio select{margin:0;width:auto}.fs-rly .fs-rly-studio summary{cursor:pointer;padding:8px}.fs-rly .fs-rly-studio details{position:relative}.fs-rly .fs-rly-studio .fs-rly-docmenu{position:absolute;top:100%;right:0;background:#252329;padding:12px;z-index:40;min-width:190px;display:grid;gap:6px;border:1px solid #66616e}.fs-rly .fs-rly-studio .fs-rly-docmenu a{padding:8px}.fs-rly .fs-rly-studio .fs-rly-title{margin-right:auto;font-weight:700;letter-spacing:.06em}.fs-rly .fs-rly-swatches{display:flex;gap:5px}.fs-rly .fs-rly-swatch{width:28px;min-height:28px!important;padding:0!important;border-radius:50%;border:2px solid transparent!important}.fs-rly .fs-rly-swatch[aria-pressed=true]{outline:2px solid #fff;outline-offset:2px}.fs-rly{container-type:inline-size;container-name:site}.fs-rly .fs-rly-header{border-bottom:1px solid var(--line);background:var(--bg);position:relative;z-index:20}.fs-rly .fs-rly-header-inner{display:flex;align-items:center;gap:28px;min-height:100px;container-type:inline-size;container-name:navrow}.fs-rly .fs-rly-logo{display:inline-flex;align-items:center;gap:10px;font-size:29px;letter-spacing:-1.5px;font-weight:700}.fs-rly .fs-rly-logo svg{width:31px;height:35px;color:var(--brand);flex:none}.fs-rly .fs-rly-header nav{margin-left:auto;display:flex;align-items:center;gap:24px;font-size:14px}.fs-rly .fs-rly-header nav a[aria-current=page]{color:var(--brand)}.fs-rly .fs-rly-header .fs-rly-navcta{margin-left:8px;white-space:nowrap}.fs-rly .fs-rly-menu-toggle{display:none;margin-left:auto}.fs-rly .fs-rly-mega-toggle{background:transparent;border:0;padding:0;font-size:14px}.fs-rly .fs-rly-mega{position:absolute;left:50%;transform:translateX(-50%);top:100%;width:min(calc(100% - 2*var(--gutter)),var(--width));padding:28px;background:var(--surface);box-shadow:var(--shadow);border:1px solid var(--line);border-radius:0 0 18px 18px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px}.fs-rly .fs-rly-mega a{display:block;padding:12px}.fs-rly .fs-rly-mega small{display:block;color:var(--muted)}.fs-rly [hidden]{display:none!important}.fs-rly .fs-rly-mobile-nav{display:none}.fs-rly .fs-rly-hero{padding:64px 0 54px}.fs-rly .fs-rly-hero-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:64px;align-items:center}.fs-rly .fs-rly-hero h1 em{color:var(--brand)}.fs-rly .fs-rly-hero p{margin-top:24px;max-width:430px;color:var(--muted);font-size:18px}.fs-rly .fs-rly-hero .fs-rly-row{margin-top:28px}.fs-rly .fs-rly-hero-meta{margin-top:36px;display:flex;gap:32px;color:var(--muted);font-size:12px}.fs-rly .fs-rly-workbench{background:var(--wash);border:1px solid var(--line);border-radius:20px;position:relative;padding:20px;min-width:0}.fs-rly .fs-rly-benchbar{display:flex;justify-content:space-between;align-items:center;font:11px/1.4 monospace;padding-bottom:16px;border-bottom:1px solid color-mix(in srgb,var(--ink) 18%,transparent)}.fs-rly .fs-rly-bench-screen{display:grid;grid-template-columns:1fr 1.2fr;gap:20px;padding:28px 10px;align-items:center}.fs-rly .fs-rly-app-phone{width:100%;max-width:180px;margin:auto;background:var(--surface);padding:10px;border:5px solid var(--ink);border-radius:28px;box-shadow:16px 18px 0 color-mix(in srgb,var(--brand) 12%,transparent);aspect-ratio:9/17;display:flex;flex-direction:column;gap:12px;font-size:11px;overflow:hidden}.fs-rly .fs-rly-app-phone .fs-rly-island{width:45px;height:8px;background:var(--ink);border-radius:10px;align-self:center}.fs-rly .fs-rly-app-phone h3{font-size:var(--fs-h3-size,23px);font-family:var(--fs-h3-family,var(--display))}.fs-rly .fs-rly-app-phone .fs-rly-mini-card{border-radius:12px;background:var(--wash);padding:12px}.fs-rly .fs-rly-orbital{width:100%;aspect-ratio:1;border:16px solid var(--brand);border-radius:50%;position:relative;margin-block:8px}.fs-rly .fs-rly-orbital:before{content:'';position:absolute;inset:12%;border:1px solid var(--brand);border-radius:50%}.fs-rly .fs-rly-orbital:after{content:'';position:absolute;width:20%;aspect-ratio:1;background:var(--brand);border:4px solid var(--surface);border-radius:50%;right:-4px;top:4px}.fs-rly .fs-rly-bench-note{font-size:12px;color:var(--muted);margin-bottom:16px}.fs-rly .fs-rly-bench-note strong{display:block;color:var(--ink);font-size:16px}.fs-rly .fs-rly-mini-bars{display:flex;gap:6px;height:54px;align-items:flex-end}.fs-rly .fs-rly-mini-bars i{display:block;width:18px;height:var(--height);background:var(--brand);border-radius:4px}.fs-rly .fs-rly-estimator{background:var(--surface);padding:20px;border-radius:12px}.fs-rly .fs-rly-estimator .fs-rly-inputs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.fs-rly .fs-rly-estimator label{font-size:11px}.fs-rly .fs-rly-estimator select{font-size:12px;padding-left:8px}.fs-rly .fs-rly-estimate-result{display:flex;align-items:center;gap:12px;justify-content:space-between;border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.fs-rly .fs-rly-price{font-size:23px;letter-spacing:-.045em;font-weight:600;font-variant-numeric:tabular-nums}.fs-rly .fs-rly-estimate-result .fs-rly-btn{padding:10px 12px;min-height:44px;font-size:12px}.fs-rly .fs-rly-estimate-result small{display:block;color:var(--muted)}.fs-rly .fs-rly-trust{padding-block:22px;border-block:1px solid var(--line);font-size:12px}.fs-rly .fs-rly-trust .fs-rly-row{gap:32px}.fs-rly .fs-rly-trust .fs-rly-dot{margin-right:8px}.fs-rly .fs-rly-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:36px}.fs-rly .fs-rly-section-head p{max-width:330px;color:var(--muted);font-size:14px}.fs-rly .fs-rly-section-head h2{max-width:620px}.fs-rly .fs-rly-project-art{border-radius:16px;padding:28px;background:var(--wash);min-height:300px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;container-type:inline-size}.fs-rly .fs-rly-project-art .fs-rly-app-phone{max-width:140px;transform:rotate(-7deg);margin-right:0}.fs-rly .fs-rly-project-art .fs-rly-panel{width:54%;border:1px solid var(--line);padding:20px;background:var(--surface);border-radius:12px;z-index:2;margin-left:-10px;box-shadow:var(--shadow)}.fs-rly .fs-rly-project-art .fs-rly-panel h3{font-size:var(--fs-h3-size,24px)}.fs-rly .fs-rly-project-art.fs-rly-alt{background:color-mix(in srgb,var(--brand) 9%,var(--surface))}.fs-rly .fs-rly-project-art.fs-rly-alt .fs-rly-app-phone{transform:rotate(6deg)}.fs-rly .fs-rly-project-meta{display:flex;justify-content:space-between;gap:16px;margin-top:20px}.fs-rly .fs-rly-project-meta h3{font-size:var(--fs-h3-size,24px)}.fs-rly .fs-rly-project-meta p{font-size:13px;color:var(--muted);margin-top:4px}.fs-rly .fs-rly-slot-tag{position:absolute;right:12px;top:12px;z-index:3;font:12px monospace;min-height:32px;padding:4px 10px;background:var(--surface)}.fs-rly .fs-rly-services-list{border-top:1px solid var(--line)}.fs-rly .fs-rly-service-row{padding:24px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:40px 1fr 1fr 32px;gap:24px;align-items:start}.fs-rly .fs-rly-service-row h3{font-size:var(--fs-h3-size,28px);font-family:var(--fs-h3-family,var(--display));font-weight:var(--fs-h3-weight,400)}.fs-rly .fs-rly-service-row p{font-size:14px;color:var(--muted)}.fs-rly .fs-rly-service-row .fs-rly-num{font:12px monospace;color:var(--brand)}.fs-rly .fs-rly-service-row:hover h3{color:var(--fs-h3-color,var(--brand))}.fs-rly .fs-rly-method{background:var(--ink);color:var(--bg)}.fs-rly .fs-rly-method .fs-rly-muted{color:color-mix(in srgb,var(--bg) 75%,var(--ink))}.fs-rly .fs-rly-method .fs-rly-eyebrow{color:var(--bg)}.fs-rly .fs-rly-method .fs-rly-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.fs-rly .fs-rly-step{border-top:1px solid color-mix(in srgb,var(--bg) 30%,var(--ink));padding-top:20px}.fs-rly .fs-rly-step .fs-rly-stepnum{font:12px monospace}.fs-rly .fs-rly-step h3{font-family:var(--fs-h3-family,var(--display));font-weight:var(--fs-h3-weight,400);font-size:var(--fs-h3-size,28px);margin-top:32px}.fs-rly .fs-rly-step p{font-size:14px;margin-top:12px;color:color-mix(in srgb,var(--bg) 80%,var(--ink))}.fs-rly .fs-rly-method a{color:inherit}.fs-rly .fs-rly-cta-band{padding-block:64px}.fs-rly .fs-rly-cta-band h2{font-size:var(--fs-h2-size,clamp(36px,5cqi,72px));max-width:720px}.fs-rly .fs-rly-cta-band .fs-rly-row{margin-top:28px}.fs-rly .fs-rly-footer{padding-block:48px 24px;border-top:1px solid var(--line)}.fs-rly .fs-rly-footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:48px}.fs-rly .fs-rly-footer a:not(.fs-rly-logo){display:block;font-size:14px;padding-block:6px}.fs-rly .fs-rly-footer-bottom{margin-top:48px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}.fs-rly .fs-rly-footer-big{font-size:clamp(70px,20cqi,240px);line-height:.85;letter-spacing:-.08em;font-weight:700;margin-top:56px;color:color-mix(in srgb,var(--ink) 12%,var(--bg));overflow:hidden}.fs-rly .fs-rly-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-block:20px}.fs-rly .fs-rly-tabs button[aria-pressed=true]{background:var(--brand);color:var(--on);border-color:var(--brand)}.fs-rly .fs-rly-tab-result{padding:28px;background:var(--wash);border-radius:var(--radius)}.fs-rly .fs-rly-tab-result h3+p{margin-top:12px}.fs-rly .fs-rly-timeline{display:grid;gap:0}.fs-rly .fs-rly-timeline button{text-align:left;border-radius:0;border-inline:0;padding:20px;display:grid;grid-template-columns:40px 1fr auto;gap:16px;background:transparent}.fs-rly .fs-rly-timeline button[aria-pressed=true]{background:var(--wash)}.fs-rly .fs-rly-timeline-result{padding:28px;border:1px solid var(--line);border-radius:var(--radius);margin-top:20px}.fs-rly .fs-rly-table-wrap{overflow:auto}.fs-rly table{border-collapse:collapse;width:100%;font-size:14px}.fs-rly th{padding:16px;text-align:left;border-bottom:1px solid var(--line);min-width:100px}.fs-rly td{padding:16px;text-align:left;border-bottom:1px solid var(--line);min-width:100px}.fs-rly th{font-size:12px;color:var(--muted)}.fs-rly details.fs-rly-faq{border-top:1px solid var(--line);padding-block:20px}.fs-rly details.fs-rly-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:24px;font-size:18px;font-weight:600}.fs-rly details.fs-rly-faq summary:after{content:'+';color:var(--brand)}.fs-rly details.fs-rly-faq[open] summary:after{content:'−'}.fs-rly details.fs-rly-faq p{margin-top:16px;color:var(--muted);font-size:15px}.fs-rly .fs-rly-doc h1{font-size:var(--fs-h1-size,56px)}.fs-rly .fs-rly-doc h2{font-size:var(--fs-h2-size,34px);margin-bottom:20px}.fs-rly .fs-rly-doc section{margin-bottom:48px}.fs-rly .fs-rly-doc pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;background:var(--wash);padding:20px;border-radius:8px}.fs-rly .fs-rly-doc .fs-rly-card{min-width:0}.fs-rly .fs-rly-doc .fs-rly-guide-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.fs-rly .fs-rly-chat-launch{position:fixed;bottom:24px;right:24px;z-index:50;background:var(--ink);color:var(--bg);border:1px solid var(--bg);border-radius:50%;width:58px;height:58px;font-size:22px;box-shadow:var(--shadow)}.fs-rly .fs-rly-chat-panel{position:fixed;bottom:94px;right:24px;z-index:50;width:min(360px,calc(100% - 32px));border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow);padding:20px}.fs-rly .fs-rly-chat-panel h3{font-size:var(--fs-h3-size,18px)}.fs-rly .fs-rly-chat-panel .fs-rly-log{max-height:230px;overflow:auto;display:grid;gap:10px;margin-block:16px}.fs-rly .fs-rly-chat-panel .fs-rly-bubble{font-size:14px;padding:12px;background:var(--wash);border-radius:8px}.fs-rly .fs-rly-chat-panel .fs-rly-question{background:var(--bg);text-align:right}.fs-rly .fs-rly-chat-panel .fs-rly-chips{display:flex;flex-wrap:wrap;gap:6px}.fs-rly .fs-rly-chat-panel .fs-rly-chips button{font-size:12px;padding:6px 10px}.fs-rly .fs-rly-chat-panel form{display:flex;gap:8px;margin-top:12px}.fs-rly .fs-rly-chat-panel input{min-width:0}.fs-rly .fs-rly-mobile-book{display:none}.fs-rly .fs-rly-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:100;max-width:calc(100% - 32px);background:var(--ink);color:var(--bg);padding:12px 20px;border-radius:8px;font-size:14px}.fs-rly .fs-rly-overlay .fs-rly{background-image:linear-gradient(#5b36d115 1px,transparent 1px),linear-gradient(90deg,#5b36d115 1px,transparent 1px);background-size:4px 4px}.fs-rly .fs-rly-motion-sample{height:90px;display:flex;align-items:center;justify-content:center;background:var(--wash);margin-block:16px;border-radius:12px;overflow:hidden}.fs-rly .fs-rly-motion-shape{width:42px;height:42px;background:var(--brand);border-radius:10px}.fs-rly .fs-rly-motion-sample.fs-rly-play .fs-rly-motion-shape{animation:ry-demoMotion var(--demo-time,600ms) ease both}@keyframes ry-demoMotion{0%{transform:translateY(20px) rotate(-12deg);opacity:.3}60%{transform:translateY(-5px) rotate(4deg);opacity:1}100%{transform:none;opacity:1}}.fs-rly .fs-rly-preloader{position:fixed;inset:0;z-index:200;background:var(--bg);display:flex;align-items:center;justify-content:center;gap:16px;pointer-events:none;font-size:32px}.fs-rly .fs-rly-preloader svg{width:48px;height:48px;color:var(--brand)}.fs-rly .fs-rly-enter{animation:ry-enter 400ms ease both}@keyframes ry-enter{from{transform:translateY(8px)}to{transform:none}}.fs-rly[data-layout=boxed]{--width:960px}.fs-rly[data-layout=centered]{--width:840px}.fs-rly[data-layout=minimal]{--width:760px;--radius:4px}.fs-rly[data-layout=full]{--width:1600px}.fs-rly[data-layout=edge] .fs-rly-hero{background:var(--wash)}.fs-rly[data-layout=full] .fs-rly-hero-grid{grid-template-columns:1fr 1fr;gap:80px}.fs-rly[data-layout=minimal] .fs-rly-hero-grid{grid-template-columns:1fr;gap:40px}.fs-rly[data-layout=centered] .fs-rly-hero-grid{grid-template-columns:1fr;gap:40px}.fs-rly[data-layout=minimal] .fs-rly-hero p{max-width:580px}.fs-rly[data-layout=centered] .fs-rly-hero p{max-width:580px}.fs-rly[data-layout=minimal] .fs-rly-workbench{max-width:650px}.fs-rly[data-layout=centered] .fs-rly-workbench{max-width:650px}.fs-rly[data-layout=boxed] .fs-rly-hero-grid{gap:28px}.fs-rly[data-layout=minimal] .fs-rly-grid3{grid-template-columns:1fr 1fr}
@container navrow (max-width:950px){.fs-rly .fs-rly-header nav{gap:14px}.fs-rly .fs-rly-header .fs-rly-navcta{padding:12px;font-size:12px}.fs-rly .fs-rly-logo{font-size:26px}}
@container navrow (max-width:780px){.fs-rly .fs-rly-header nav{display:none}.fs-rly .fs-rly-menu-toggle{display:block}.fs-rly .fs-rly-header-inner{min-height:80px}.fs-rly .fs-rly-header .fs-rly-navcta{margin:0}.fs-rly .fs-rly-mega{position:static;transform:none;width:auto;margin:16px;grid-template-columns:1fr}.fs-rly .fs-rly-mobile-nav{display:grid;padding:12px 24px 24px;gap:6px}.fs-rly .fs-rly-mobile-nav a{padding:12px;border-bottom:1px solid var(--line)}}
@container relay (max-width:1050px){.fs-rly .fs-rly-hero-grid{gap:32px}.fs-rly .fs-rly-hero h1{font-size:var(--fs-h1-size,60px)}.fs-rly .fs-rly-estimator .fs-rly-inputs{grid-template-columns:1fr 1fr}.fs-rly .fs-rly-estimator .fs-rly-inputs label:last-child{grid-column:1/-1}.fs-rly .fs-rly-hero-meta{gap:20px}.fs-rly .fs-rly-method .fs-rly-steps{grid-template-columns:1fr 1fr}}
@container relay (max-width:760px){.fs-rly .fs-rly-wrap{width:calc(100% - 40px)}.fs-rly .fs-rly-section{padding-block:56px}.fs-rly .fs-rly-hero{padding-block:40px}.fs-rly .fs-rly-hero-grid{grid-template-columns:1fr;gap:32px}.fs-rly .fs-rly-grid2{grid-template-columns:1fr;gap:32px}.fs-rly .fs-rly-hero h1{font-size:var(--fs-h1-size,56px)}.fs-rly .fs-rly-hero-meta{margin-top:24px}.fs-rly .fs-rly-workbench{max-width:600px}.fs-rly .fs-rly-grid3{grid-template-columns:1fr}.fs-rly .fs-rly-doc .fs-rly-guide-grid{grid-template-columns:1fr}.fs-rly .fs-rly-section-head{align-items:start;flex-direction:column}.fs-rly .fs-rly-section-head p{max-width:540px}.fs-rly .fs-rly-service-row{grid-template-columns:24px 1fr 24px;gap:16px}.fs-rly .fs-rly-service-row p{grid-column:2}.fs-rly .fs-rly-service-row .fs-rly-arrow{grid-column:3;grid-row:1}.fs-rly .fs-rly-footer-grid{grid-template-columns:1fr 1fr;gap:32px}.fs-rly .fs-rly-footer-grid>div:first-child{grid-column:1/-1}.fs-rly .fs-rly-footer-bottom{flex-direction:column}.fs-rly[data-layout=minimal] .fs-rly-grid3{grid-template-columns:1fr}.fs-rly .fs-rly-doc h1{font-size:var(--fs-h1-size,44px)}.fs-rly .fs-rly-header .fs-rly-navcta{display:none}.fs-rly .fs-rly-trust .fs-rly-row{gap:12px 24px}.fs-rly .fs-rly-project-art{min-height:260px}.fs-rly .fs-rly-method .fs-rly-steps{gap:24px}.fs-rly .fs-rly-mobile-book{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:40;min-height:56px;align-items:center;justify-content:center;background:var(--brand);color:var(--on);font-size:14px;font-weight:600;border-top:1px solid var(--bg)}.fs-rly .fs-rly-footer{padding-bottom:88px}.fs-rly .fs-rly-chat-launch{bottom:72px;right:16px;width:50px;height:50px}.fs-rly .fs-rly-chat-panel{bottom:134px;right:16px}.fs-rly .fs-rly-toast{bottom:76px}.fs-rly .fs-rly-bench-screen{padding:24px 0}.fs-rly .fs-rly-estimate-result{align-items:start;flex-wrap:wrap}.fs-rly .fs-rly-estimate-result .fs-rly-btn{flex:1}.fs-rly .fs-rly-studio{padding:10px 12px;gap:8px}.fs-rly .fs-rly-studio .fs-rly-title{width:100%;font-size:11px}.fs-rly .fs-rly-studio label{font-size:11px}.fs-rly .fs-rly-studio select{max-width:120px}}
@container relay (max-width:420px){.fs-rly .fs-rly-hero h1{font-size:var(--fs-h1-size,46px)}.fs-rly .fs-rly-hero .fs-rly-row{gap:12px}.fs-rly .fs-rly-hero .fs-rly-btn{padding:12px 18px}.fs-rly .fs-rly-bench-screen{grid-template-columns:1fr 1fr;gap:16px}.fs-rly .fs-rly-bench-note strong{font-size:14px}.fs-rly .fs-rly-app-phone h3{font-size:var(--fs-h3-size,20px)}.fs-rly .fs-rly-estimator .fs-rly-inputs{grid-template-columns:1fr}.fs-rly .fs-rly-estimator .fs-rly-inputs label:last-child{grid-column:auto}.fs-rly .fs-rly-estimator{padding:16px}.fs-rly .fs-rly-method .fs-rly-steps{grid-template-columns:1fr}.fs-rly .fs-rly-footer-grid{grid-template-columns:1fr}.fs-rly .fs-rly-hero-meta{flex-wrap:wrap}.fs-rly .fs-rly-project-art{padding:20px}.fs-rly .fs-rly-project-art .fs-rly-panel{padding:12px}.fs-rly .fs-rly-project-art .fs-rly-panel h3{font-size:var(--fs-h3-size,18px)}.fs-rly .fs-rly-price{font-size:24px}}
.fs-rly .fs-rly-btn{transition:transform 200ms ease,box-shadow 200ms ease}
.fs-rly button{transition:transform 200ms ease,box-shadow 200ms ease}
.fs-rly .fs-rly-project-art{transition:transform 200ms ease,box-shadow 200ms ease}.fs-rly .fs-rly-btn:active{transform:translateY(1px)}.fs-rly button:active{transform:translateY(1px)}.fs-rly .fs-rly-project-art:hover{box-shadow:var(--shadow)}
.fs-rly .fs-rly-motion-1.fs-rly-play .fs-rly-motion-shape{animation-name:ry-lift}.fs-rly .fs-rly-motion-2.fs-rly-play .fs-rly-motion-shape{animation-name:ry-press}.fs-rly .fs-rly-motion-3.fs-rly-play .fs-rly-motion-shape{animation-name:ry-underline}.fs-rly .fs-rly-motion-4.fs-rly-play .fs-rly-motion-shape{animation-name:ry-expand}.fs-rly .fs-rly-motion-5.fs-rly-play .fs-rly-motion-shape{animation-name:ry-menu}.fs-rly .fs-rly-motion-6.fs-rly-play .fs-rly-motion-shape{animation-name:ry-select}.fs-rly .fs-rly-motion-7.fs-rly-play .fs-rly-motion-shape{animation-name:ry-timeline}.fs-rly .fs-rly-motion-8.fs-rly-play .fs-rly-motion-shape{animation-name:ry-result}.fs-rly .fs-rly-motion-9.fs-rly-play .fs-rly-motion-shape{animation-name:ry-screen}.fs-rly .fs-rly-motion-10.fs-rly-play .fs-rly-motion-shape{animation-name:ry-chat}.fs-rly .fs-rly-motion-11.fs-rly-play .fs-rly-motion-shape{animation-name:ry-loader}
@keyframes ry-lift{50%{transform:translateY(-12px);box-shadow:0 16px 24px #0002}}@keyframes ry-press{50%{transform:scale(.88)}}@keyframes ry-underline{from{transform:scaleX(.1)}to{transform:scaleX(1)}}@keyframes ry-expand{from{transform:scaleY(.2)}to{transform:scaleY(1)}}@keyframes ry-menu{from{transform:translateY(-30px)}to{transform:none}}@keyframes ry-select{50%{transform:scale(1.15);border-radius:50%}}@keyframes ry-timeline{from{transform:translateX(-50px)}to{transform:none}}@keyframes ry-result{from{transform:scale(.7);opacity:.4}to{transform:none;opacity:1}}@keyframes ry-screen{from{transform:perspective(300px) rotateY(-70deg)}to{transform:none}}@keyframes ry-chat{from{transform:translateY(40px);border-radius:50%}to{transform:none}}@keyframes ry-loader{from{transform:rotate(-180deg);border-radius:50%}to{transform:none}}
.fs-rly[data-motion=off] *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.fs-rly[data-motion=off] *:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.fs-rly[data-motion=off] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){.fs-rly *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.fs-rly *:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}.fs-rly *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.fs-rly{background:transparent;font-family:var(--body);line-height:var(--fs-body-line,1.6);color:var(--fs-body-color,var(--ink))}
.fs-rly .fs-rly-wrap{width:calc(100% - 2*var(--gutter));max-width:var(--width);}
@container relay (max-width:760px){.fs-rly{--gutter:20px}.fs-rly .fs-rly-section{padding-block:calc(var(--section)*.7)}}
.fs-rly h1,.fs-rly h2,.fs-rly h3{font-style:var(--fs-heading-style,normal);text-shadow:var(--fs-heading-shadow,none)}
.fs-rly.fs-rly-wire{filter:grayscale(1) contrast(.6)}
.fs-rly[data-motion=off] *{animation:none!important;transition:none!important}
.fs-rly[data-cols="2"] .fs-rly-grid3{grid-template-columns:repeat(2,minmax(0,1fr))}
.fs-rly[data-cols="1"] .fs-rly-grid2,.fs-rly[data-cols="1"] .fs-rly-grid3{grid-template-columns:1fr}
.fs-rly .fs-rly-media{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;border-radius:var(--radius)}
.fs-rly .fs-rly-form{margin-top:24px}
.fs-rly .fs-rly-form .fs-form{padding:0;max-width:none}
.fs-rly button,.fs-rly input,.fs-rly select,.fs-rly textarea,.fs-rly .fs-rly-btn{border-radius:var(--fs-radius-control,8px)}
.fs-rly .fs-rly-btn,.fs-rly button{transition:var(--fs-anim-rlFeedback,transform calc(140ms * var(--fs-anim-speed,1)) var(--fs-anim-ease,cubic-bezier(.23,1,.32,1)))}
.fs-rly .fs-rly-project-art,.fs-rly .fs-rly-card{transition:var(--fs-anim-rlFeedback,transform calc(220ms * var(--fs-anim-speed,1)) var(--fs-anim-ease,cubic-bezier(.23,1,.32,1)))}
@media (hover:hover) and (pointer:fine){
.fs-rly .fs-rly-project-art:hover,.fs-rly a.fs-rly-card:hover,.fs-rly .fs-rly-card:has(a:hover){transform:var(--fs-anim-rlLift,translateY(calc(-3px * var(--fs-motion-dist,1))))}
.fs-rly .fs-rly-btn:hover{transform:var(--fs-anim-rlLift,translateY(calc(-2px * var(--fs-motion-dist,1))))}
}
.fs-rly .fs-rly-btn:active,.fs-rly button:active{transform:var(--fs-anim-rlPress,scale(.985))}
.fs-rly[data-motion=off] :is(.fs-rly-btn,button,.fs-rly-project-art,.fs-rly-card){transform:none!important}
[data-fs-motion="off"] .fs-rly *,[data-fs-motion-level="off"] .fs-rly *{animation:none!important;transition:none!important}
:is([data-fs-motion="off"],[data-fs-motion-level="off"]) .fs-rly :is(.fs-rly-btn,button,.fs-rly-project-art,.fs-rly-card){transform:none!important}
@media (prefers-reduced-motion:reduce){.fs-rly *{animation:none!important;transition:none!important}.fs-rly :is(.fs-rly-btn,button,.fs-rly-project-art,.fs-rly-card){transform:none!important}}


.fs-hz{
--hz-k:1;
--hz-title-w:var(--fs-heading-weight, 700);
--hz-accent-fs:normal;
--hz-f-display:var(--font-display, inherit);
--hz-f-body:var(--font-sans, inherit);
--hz-panel-w:34rem;
--hz-panel-bg:rgb(var(--c-paper));
--hz-panel-fg:rgb(var(--c-ink-950));
--hz-panel-bd:1px solid rgb(var(--c-line));
--hz-panel-r:12px;
--hz-panel-sh:0 1px 2px color-mix(in srgb, rgb(var(--c-ink-950)) 8%, transparent), 0 18px 40px -18px color-mix(in srgb, rgb(var(--c-ink-950)) 28%, transparent);
--hz-frame-bd:none;
--hz-frame-r:12px;
--hz-frame-sh:none;
--hz-frame-tilt:0deg;
--hz-line:rgb(var(--c-ink-950) / .55);
--hz-cell-bg:rgb(var(--c-paper));
--hz-cell-bd:1px solid rgb(var(--c-line));
--hz-cell-r:10px;
--hz-cell-sh:none;
--hz-cell-sub:rgb(var(--c-ink-700));
--hz-fig-w:700;
--hz-fig-c:rgb(var(--c-brand-on-page, var(--c-brand-600)));
--hz-band-bg:rgb(var(--c-ink-950));
--hz-band-fg:rgb(var(--c-paper));
--hz-band-mark:rgb(var(--c-accent, var(--c-signal)));
--hz-pin-bg:rgb(var(--c-brand-on-page, var(--c-brand-600)));
--hz-pin-fg:rgb(var(--c-paper));
--hz-ini-bg:rgb(var(--c-brand-50));
--hz-ini-fg:rgb(var(--c-brand-on-page, var(--c-brand-600)));
--hz-star:rgb(var(--c-brand-600));
--hz-stamp-tilt:-4deg;
--hz-glow:color-mix(in srgb, rgb(var(--c-brand-600)) 35%, transparent);
--hz-ctl-bg:rgb(var(--c-paper));
--hz-ctl-fg:rgb(var(--c-ink-950));
--hz-ctl-r:999px;
--hz-ring:var(--ha-brand-text, rgb(var(--c-brand-600)));

--ha-brand:rgb(var(--c-brand-600));
--ha-accent:rgb(var(--c-accent, var(--c-signal)));
--ha-ink:rgb(var(--c-ink-950));
--ha-paper:rgb(var(--c-paper));
--ha-surface:rgb(var(--c-paper-soft));
--ha-sunk:rgb(var(--c-paper-sunk, var(--c-paper-soft)));
--ha-line:var(--hz-line);
--ha-brand-text:rgb(var(--c-brand-on-page, var(--c-brand-600)));
--ha-accent-ink:rgb(var(--c-accent-on-ink, var(--c-paper)));
--ha-brand-ink:rgb(var(--c-brand-on-ink, var(--c-paper)));
--ha-shade:rgb(var(--c-shade, var(--c-ink-950)));
--ha-light:rgb(var(--c-shade-on, var(--c-paper)));
--ha-brand-shade:rgb(var(--c-brand-on-shade, var(--c-brand-on-ink, var(--c-paper))));
--ha-accent-shade:rgb(var(--c-accent-on-shade, var(--c-accent-on-ink, var(--c-paper))));
position:relative;container:hz / inline-size;font-family:var(--hz-f-body);color:rgb(var(--c-ink-950));}
.fs-hz *{box-sizing:border-box;}
.fs-hz .hz-in{position:relative;margin:0 auto;width:100%;max-width:var(--fs-layout-max, var(--hz-theme-max));padding:var(--hz-pad-y,4rem) var(--hz-pad-x,3rem);}
.fs-hz .hz-title{font-family:var(--hz-f-display);font-weight:var(--hz-title-w);font-size:calc(clamp(2rem, 5.2cqi, 3.75rem) * var(--hz-k));line-height:1.05;margin:0;text-wrap:balance;}
.fs-hz .hz-eyebrow{display:inline-block;width:fit-content;max-width:100%;font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .75rem;}
.fs-hz .hz-intro{font-size:1.0625rem;line-height:1.6;max-width:60ch;margin:1rem 0 0;}
.fs-hz .hz-ctas{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;}
.fs-hz .hz-ctas a{min-height:44px;}

/* Tiers: wide, medium and narrow, measured on the hero itself. */
@container hz (min-width: 60rem){.fs-hz .hz-in{--hz-pad-y:5rem;--hz-pad-x:4rem;}}
@container hz (min-width: 44rem) and (max-width: 59.99rem){.fs-hz .hz-in{--hz-pad-y:4rem;--hz-pad-x:2rem;}}
@container hz (max-width: 43.99rem){.fs-hz .hz-in{--hz-pad-y:2.5rem;--hz-pad-x:1.25rem;}}
/* Phones show at most 4 slides (HERO_LIMITS.slides.phoneMax). !important: a layout display rule
   (flex, grid) of equal specificity comes later in the sheet and must never bring a capped slide back. */
@container hz (max-width: 39.99rem) { .fs-hz [data-hz-phone="hide"] { display: none !important } }

/* Words motion (Global Constraints, verbatim). */
.fs-hz [data-hz-words]{display:grid}
.fs-hz [data-hz-stack]{display:grid}
.fs-hz [data-hz-stack]>*{grid-area:1/1}
.fs-hz [data-hz-words][data-hz-state="out"]{opacity:0;transition:opacity 200ms cubic-bezier(.4,0,1,1);visibility:hidden;transition-property:opacity,visibility;transition-duration:200ms,0s;transition-delay:0s,200ms}
.fs-hz [data-hz-words][data-hz-state="in"]>*{animation:hz-in-fade 600ms cubic-bezier(.22,.61,.36,1) both,hz-in-rise 650ms cubic-bezier(.22,.61,.36,1) both;animation-delay:calc(200ms + var(--hz-i,0) * 90ms)}
@keyframes hz-in-fade{from{opacity:0}to{opacity:1}}
@keyframes hz-in-rise{from{transform:translateY(10px)}to{transform:none}}
.fs-hz [data-hz-bar]{transform:scale(var(--hz-bar,0),1);transform-origin:0 50%}
.fs-hz [data-hz-pp] .hz-ppt{display:grid}
.fs-hz [data-hz-pp] .hz-ppt>*{grid-area:1/1}
.fs-hz [data-hz-count]{font-variant-numeric:tabular-nums;min-width:1.4em}

/* Art colours (hero-art.tsx ART_CLASSES). */
.fs-hz .ha-brand{fill:var(--ha-brand)}
.fs-hz .ha-brand-s{stroke:var(--ha-brand)}
.fs-hz .ha-accent{fill:var(--ha-accent)}
.fs-hz .ha-accent-s{stroke:var(--ha-accent)}
.fs-hz .ha-ink{fill:var(--ha-ink)}
.fs-hz .ha-ink-s{stroke:var(--ha-ink)}
.fs-hz .ha-paper{fill:var(--ha-paper)}
.fs-hz .ha-paper-s{stroke:var(--ha-paper)}
.fs-hz .ha-surface{fill:var(--ha-surface)}
.fs-hz .ha-surface-s{stroke:var(--ha-surface)}
.fs-hz .ha-sunk{fill:var(--ha-sunk)}
.fs-hz .ha-sunk-s{stroke:var(--ha-sunk)}
.fs-hz .ha-line{fill:var(--ha-line)}
.fs-hz .ha-line-s{stroke:var(--ha-line)}
.fs-hz .ha-shade{fill:var(--ha-shade)}
.fs-hz .ha-shade-s{stroke:var(--ha-shade)}
.fs-hz .ha-light{fill:var(--ha-light)}
.fs-hz .ha-light-s{stroke:var(--ha-light)}
.fs-hz .ha-label{fill:var(--ha-line);stroke:var(--ha-surface);stroke-width:3px;paint-order:stroke;stroke-linejoin:round;vector-effect:non-scaling-stroke;font-family:var(--hz-f-body);font-weight:700;letter-spacing:.06em}
.fs-hz .ha-hatch{fill:var(--ha-brand);-webkit-mask-image:repeating-linear-gradient(135deg, var(--ha-ink) 0 1.5px, transparent 1.5px 5px);mask-image:repeating-linear-gradient(135deg, var(--ha-ink) 0 1.5px, transparent 1.5px 5px);}
.fs-hz .ha-hatch-d{fill:var(--ha-line);-webkit-mask-image:repeating-linear-gradient(135deg, var(--ha-ink) 0 1.05px, transparent 1.05px 5px);mask-image:repeating-linear-gradient(135deg, var(--ha-ink) 0 1.05px, transparent 1.05px 5px)}
.fs-hz .ha-hatch-dd{fill:var(--ha-line);-webkit-mask-image:repeating-linear-gradient(135deg, var(--ha-ink) 0 1.25px, transparent 1.25px 3.1px);mask-image:repeating-linear-gradient(135deg, var(--ha-ink) 0 1.25px, transparent 1.25px 3.1px)}
.fs-hz .ha-hatch-x{fill:var(--ha-line);-webkit-mask-image:repeating-linear-gradient(135deg, var(--ha-ink) 0 1px, transparent 1px 4.4px), repeating-linear-gradient(45deg, var(--ha-ink) 0 1px, transparent 1px 4.4px);mask-image:repeating-linear-gradient(135deg, var(--ha-ink) 0 1px, transparent 1px 4.4px), repeating-linear-gradient(45deg, var(--ha-ink) 0 1px, transparent 1px 4.4px)}
.fs-hz .ha-hatch-h{fill:var(--ha-line);-webkit-mask-image:repeating-linear-gradient(180deg, var(--ha-ink) 0 0.6px, transparent 0.6px 6px);mask-image:repeating-linear-gradient(180deg, var(--ha-ink) 0 0.6px, transparent 0.6px 6px)}
.fs-hz .ha-hatch-hd{fill:var(--ha-line);-webkit-mask-image:repeating-linear-gradient(180deg, var(--ha-ink) 0 1.05px, transparent 1.05px 3.2px);mask-image:repeating-linear-gradient(180deg, var(--ha-ink) 0 1.05px, transparent 1.05px 3.2px)}
.fs-hz .ha-hatch-v{fill:var(--ha-line);-webkit-mask-image:repeating-linear-gradient(90deg, var(--ha-ink) 0 0.85px, transparent 0.85px 4px);mask-image:repeating-linear-gradient(90deg, var(--ha-ink) 0 0.85px, transparent 0.85px 4px)}
.fs-hz .ha-hatch-s{fill:var(--ha-line);-webkit-mask-image:radial-gradient(circle at 1.5px 1.5px, var(--ha-ink) .9px, transparent 1px), radial-gradient(circle at 4.5px 4.2px, var(--ha-ink) .75px, transparent .85px);mask-image:radial-gradient(circle at 1.5px 1.5px, var(--ha-ink) .9px, transparent 1px), radial-gradient(circle at 4.5px 4.2px, var(--ha-ink) .75px, transparent .85px);-webkit-mask-size:6px 6px;mask-size:6px 6px}
.fs-hz .ha-hatch-r{fill:var(--ha-line);-webkit-mask-image:repeating-linear-gradient(180deg, var(--ha-ink) 0 0.7px, transparent 0.7px 5px), linear-gradient(90deg, transparent 4.65px, var(--ha-ink) 4.65px 5.35px, transparent 5.35px);mask-image:repeating-linear-gradient(180deg, var(--ha-ink) 0 0.7px, transparent 0.7px 5px), linear-gradient(90deg, transparent 4.65px, var(--ha-ink) 4.65px 5.35px, transparent 5.35px);-webkit-mask-size:auto, 18px 10px;mask-size:auto, 18px 10px}
.fs-hz .ha-fade-x{-webkit-mask-image:linear-gradient(90deg, transparent, var(--ha-ink) 20%, var(--ha-ink) 80%, transparent);mask-image:linear-gradient(90deg, transparent, var(--ha-ink) 20%, var(--ha-ink) 80%, transparent)}
.fs-hz .ha-fade-d{-webkit-mask-image:linear-gradient(135deg, transparent, var(--ha-ink));mask-image:linear-gradient(135deg, transparent, var(--ha-ink))}
@supports (hanging-punctuation: first) {
  .fs-hz .ha-hatch-d{-webkit-mask-image:none;mask-image:none;fill-opacity:0.21}
  .fs-hz .ha-hatch-dd{-webkit-mask-image:none;mask-image:none;fill-opacity:0.4}
  .fs-hz .ha-hatch-x{-webkit-mask-image:none;mask-image:none;fill-opacity:0.4}
  .fs-hz .ha-hatch-h{-webkit-mask-image:none;mask-image:none;fill-opacity:0.1}
  .fs-hz .ha-hatch-hd{-webkit-mask-image:none;mask-image:none;fill-opacity:0.33}
  .fs-hz .ha-hatch-v{-webkit-mask-image:none;mask-image:none;fill-opacity:0.21}
  .fs-hz .ha-hatch-s{-webkit-mask-image:none;mask-image:none;fill-opacity:0.12}
  .fs-hz .ha-hatch-r{-webkit-mask-image:none;mask-image:none;fill-opacity:0.18}
}
.fs-hz:is([data-hz="picture"],[data-hz="split"],[data-hz="statement"],[data-hz="pictureForm"],[data-hz="scene"],[data-hz="chooser"],[data-hz="finder"],[data-hz="booking"],[data-hz="mosaic"],[data-hz="video"],[data-hz="showcase"],[data-hz="offer"],[data-hz="ticker"],[data-hz="stats"],[data-hz="quote"],[data-hz="map"]) .ha-soft:not([class*="hz-a-"],[class*="hz-a-"] *,[data-hz-drift],[data-hz-drift] *){filter:blur(var(--ha-soft,12px))}
/* Composition grounds (HeroArt draws <rect class="ha-ground ha-<ground>">). */
.fs-hz .ha-ground.ha-page{fill:var(--ha-paper)}
.fs-hz .ha-ground.ha-surface{fill:var(--ha-surface)}
.fs-hz .ha-ground.ha-sunk{fill:var(--ha-sunk)}
.fs-hz .ha-ground.ha-ink{fill:var(--ha-ink)}
.fs-hz .ha-ground.ha-tint{fill:color-mix(in srgb, var(--ha-brand) 9%, var(--ha-paper))}
.fs-hz .ha-ground.ha-night{fill:color-mix(in srgb, var(--hz-glow) 30%, var(--ha-shade))}
/* Without color-mix() (Safari < 16.2) a fill behind var() is not dropped at parse time: it would inherit the SVG's
   black. The two mixed grounds fall back to their own base colour; the kit's tint ground likewise (kit.ts, later in the sheet: hence the doubled class). */
@supports not (color: color-mix(in srgb, currentColor, transparent)) { .fs-hz .ha-ground.ha-tint{fill:var(--ha-paper)} .fs-hz .ha-ground.ha-night{fill:var(--ha-shade)} .fs-hz.fs-hz[data-hz-ground="tint"]{--hz-ground:var(--ha-paper)} }

/* Focus: a ring on every focus stop (3:1 against page and surface). Not on the
   editor canvas's contenteditable words, which have their own selection chrome. */
.fs-hz :is(a, button, [tabindex], input, select, textarea, summary):not([contenteditable]):focus-visible{outline:3px solid var(--hz-ctx-ring, var(--hz-ring));outline-offset:3px;}
/* A control drawn ON a picture (set 6's Prev / Next, the Showcase call-outs, the Map pins, a picture's Pause): the
   ring could land on any colour of the picture, so the gap under the ring's offset is filled with the ground its
   colour was solved for (the context halo: page, ink or shade), a halo the ring always reads against (Task 24 matrix: 1.07-2.57:1 against the pictures alone). */
.fs-hz :is(.hz-sl-nb,.hz-cl-btn,.hz-pin,.hz-pic .hz-pp):is(a, button, [tabindex], input, select, textarea, summary):not([contenteditable]):focus-visible{box-shadow:0 0 0 3px var(--hz-ctx-halo, var(--ha-paper))}
/* Every other link and button too (not the fields, not the band): a control can sit on a surface of its own whose
   colour is not its context's ground — Aurora's light cards and its paper controls pill on the night, a Pause on the
   Offer's art (Task 24 matrix: 1.64-2.97:1) — and the halo keeps the ring readable on its inner side wherever it lands.
   On a control that sits on its own ground the halo is that ground's colour, so nothing shows. */
.fs-hz :is(a, button, [tabindex], input, select, textarea, summary):not([contenteditable]):not(input, select, textarea, .hz-band *, .hz-field *):focus-visible{box-shadow:0 0 0 3px var(--hz-ctx-halo, var(--ha-paper))}

/* Picture slot (HeroPicture): the aspect ratio is reserved inline, so nothing shifts. */
.fs-hz .hz-pic{position:relative;margin:0;overflow:hidden;display:block;background:rgb(var(--c-sunk, var(--c-paper)))}
.fs-hz .hz-pic .hz-pic-img,.fs-hz .hz-pic>svg,.fs-hz .hz-pic>.hz-pic-ground,.fs-hz .hz-pic .hz-pic-vid{position:absolute;inset:0;width:100%;height:100%;display:block}
.fs-hz .hz-pic .hz-pic-img,.fs-hz .hz-pic .hz-pic-vid{object-fit:cover}
/* A drawing cropped to its slot's shape (HeroArt slice "mid", and the Dissolve twin's blur) covers
   the slot like a photo and sits on the focus point like object-position: the owner's focus
   (--hz-fx/--hz-fy), else the drawing's own subject point (--hz-afx/--hz-afy), else the centre.
   The slot is a size container so the cover size can read its width and height (all its
   children are absolutely placed, so the containment changes no size). */
.fs-hz .hz-pic[data-hz-kind="illustration"],.fs-hz .hz-dv-twin{container-type:size}
.fs-hz .hz-pic>svg[data-hz-cover],.fs-hz .hz-dv-twin>.hz-dv-blur{position:absolute;inset:auto;left:var(--hz-fx,var(--hz-afx,50%));top:var(--hz-fy,var(--hz-afy,50%));width:max(100cqw,calc(100cqh * var(--hz-ar,1)));height:max(100cqh,calc(100cqw / var(--hz-ar,1)));translate:calc(-1 * var(--hz-fx,var(--hz-afx,50%))) calc(-1 * var(--hz-fy,var(--hz-afy,50%)))}
.fs-hz .hz-pic img,.fs-hz .hz-pic .hz-pic-vid,.fs-hz .hz-dv-img{object-position:var(--hz-fx,50%) var(--hz-fy,50%)}
.fs-hz .hz-pic[data-hz-align] :is(.hz-pic-img,.hz-pic-vid),.fs-hz .hz-pic-own[data-hz-align]>[data-editable] img{transform:translate(var(--hz-adx,0%),var(--hz-ady,0%)) scale(var(--hz-as,1));transform-origin:50% 50%}
.fs-hz .hz-pic .hz-pic-vid{opacity:0;transition:opacity 400ms ease}
.fs-hz .hz-pic .hz-pic-vid[data-hz-on]{opacity:1}
.fs-hz .hz-pic .hz-vpp{position:absolute;right:.5rem;bottom:.5rem;z-index:2;font:inherit;font-size:.75rem;min-height:2.75rem;min-width:2.75rem;padding:.35rem .6rem;border:1px solid rgb(var(--c-ink-950));background:rgb(var(--c-paper));color:rgb(var(--c-ink-950));cursor:pointer}
.fs-hz .hz-pic .hz-pic-prompt{border:0;font:inherit;position:absolute;left:.5rem;top:.5rem;z-index:2;font-size:.7rem;padding:.2rem .5rem;background:rgb(var(--c-ink-950));color:rgb(var(--c-paper));cursor:pointer}

.fs-hz-wire{filter:grayscale(1) contrast(.5)}

.fs-hz{--hz-theme-max:80rem}
.fs-hz .hz-wrap{container:hz / inline-size;position:relative;margin-inline:auto;width:100%;max-width:var(--fs-layout-max, var(--hz-theme-max));padding-inline:var(--hz-gut);--hz-gut:3rem;--hz-edge:max(var(--hz-gut), calc((100cqi - var(--hz-theme-max)) / 2 + var(--hz-gut)))}
@container hz (max-width: 59.99rem){.fs-hz .hz-wrap{--hz-gut:2rem}}
@container hz (max-width: 43.99rem){.fs-hz .hz-wrap{--hz-gut:1.25rem}}
.fs-hz .hz-wrap.hz-bleed{max-width:none;padding-inline:0}
/* Site layouts, on wide heroes only (the mockup's 761px): on a phone every stage runs edge to edge. */
@container hz (min-width: 47.5rem){
  .fs-hz:where([data-fs-layout="full"] *, [data-fs-layout="heroEdge"] *) .hz-wrap{--hz-gut:clamp(1.5rem, 3cqi, 3rem);--hz-edge:var(--hz-gut)}
  .fs-hz:where([data-fs-layout="boxed"] *, [data-fs-layout="centered"] *, [data-fs-layout="minimal"] *) .hz-wrap{--hz-edge:clamp(1.25rem, 3.4cqi, 2.25rem)}
  .fs-hz:where([data-fs-layout="boxed"] *, [data-fs-layout="centered"] *, [data-fs-layout="minimal"] *) .hz-wrap.hz-bleed{max-width:var(--fs-layout-max, var(--hz-theme-max));padding-inline:var(--hz-gut)}
}


/* Grounds (kit.grounds): the section's own paint. Text always sits on it.
   --hz-ground is its flat colour (night: the shade under the glow), for a
   copy box that must stay solid over art (Scene). The night is the SHADE,
   the darker of ink and page in either mode (pilot fix wave: on the ink a
   dark palette's night painted pale), its words the lighter (--ha-light). */
.fs-hz[data-hz-ground="page"]{--hz-ground:var(--ha-paper);background:var(--hz-ground);color:var(--ha-ink);}
.fs-hz[data-hz-ground="surface"]{--hz-ground:var(--ha-surface);background:var(--hz-ground);color:var(--ha-ink);}
.fs-hz[data-hz-ground="sunk"]{--hz-ground:var(--ha-sunk);background:var(--hz-ground);color:var(--ha-ink);}
.fs-hz[data-hz-ground="tint"]{--hz-ground:color-mix(in srgb, var(--ha-brand) 9%, var(--ha-paper));background:var(--hz-ground);color:var(--ha-ink);}
.fs-hz[data-hz-ground="ink"]{--hz-ground:var(--ha-ink);background:var(--hz-ground);color:var(--ha-paper);}
.fs-hz[data-hz-ground="night"]{--hz-ground:var(--ha-shade);background:radial-gradient(120% 80% at 80% 0%, var(--hz-glow), transparent 60%), var(--ha-shade);color:var(--ha-light);}

/* Eyebrow (kit.eyebrow). */
.fs-hz[data-hz-eyebrow="tag"] .hz-eyebrow{padding:.2rem .55rem;background:var(--ha-ink);color:var(--ha-paper);}
.fs-hz[data-hz-eyebrow="smallcaps"] .hz-eyebrow{text-transform:none;font-variant:small-caps;letter-spacing:.06em;color:var(--hz-ctx-brand);}
.fs-hz[data-hz-eyebrow="pill"] .hz-eyebrow{padding:.25rem .8rem;border-radius:999px;background:color-mix(in srgb, var(--ha-brand) 12%, transparent);color:var(--hz-ctx-brand);}
.fs-hz[data-hz-eyebrow="diamonds"] .hz-eyebrow::before{content:'';display:inline-block;width:.45em;height:.45em;margin-right:.6em;vertical-align:.1em;background:currentColor;transform:rotate(45deg);}
.fs-hz[data-hz-eyebrow="rule"] .hz-eyebrow::before{content:'';display:inline-block;width:2rem;height:2px;margin-right:.6em;vertical-align:.3em;background:currentColor;}

/* Title rule (kit.titleRule). */
.fs-hz[data-hz-title-rule="bar"] .hz-title::after{content:'';display:block;width:3rem;height:4px;margin-top:1rem;background:var(--ha-brand);}
.fs-hz[data-hz-title-rule="double"] .hz-title::after{content:'';display:block;width:4rem;height:6px;margin-top:1rem;border-top:2px solid var(--ha-brand);border-bottom:2px solid var(--ha-brand);}

/* Context colours. Words on a dark ground (ink, night) or a slab panel take
   the accent for the title clause and the brand for an eyebrow, both made
   readable ON the ink (--ha-accent-ink / --ha-brand-ink, solved per palette:
   the plain hues measured 1.64:1 and 2.25:1 there), and their own colour for
   figures and the second button; a panel or form card resets to the light
   set. Read by .hz-accent, the smallcaps / pill eyebrows, .hz-trust b and the
   unfilled .hz-btn (css/set1.ts). */
.fs-hz{--hz-ctx-acc:var(--ha-brand-text);--hz-ctx-brand:var(--ha-brand-text);--hz-ctx-fig:var(--hz-fig-c);--hz-ctx-btn2:var(--ha-brand-text);--hz-ctx-ring:var(--hz-ring);--hz-ctx-halo:var(--ha-paper);}
.fs-hz[data-hz-ground="ink"]{--hz-ctx-acc:var(--ha-accent-ink);--hz-ctx-brand:var(--ha-brand-ink);--hz-ctx-fig:currentColor;--hz-ctx-btn2:currentColor;--hz-ctx-ring:var(--ha-brand-ink);--hz-ctx-halo:var(--ha-ink);}
.fs-hz[data-hz-ground="night"]{--hz-ctx-acc:var(--ha-accent-shade);--hz-ctx-brand:var(--ha-brand-shade);--hz-ctx-fig:currentColor;--hz-ctx-btn2:currentColor;--hz-ctx-ring:var(--ha-brand-shade);--hz-ctx-halo:var(--ha-shade);}
.fs-hz .hz-panel{--hz-ctx-acc:var(--ha-brand-text);--hz-ctx-brand:var(--ha-brand-text);--hz-ctx-fig:var(--hz-fig-c);--hz-ctx-btn2:var(--ha-brand-text);--hz-ctx-ring:var(--hz-ring);--hz-ctx-halo:var(--ha-paper);}

/* Panel (kit.panel): the opaque card words sit on (Picture-led, the form card). */
.fs-hz .hz-panel{position:relative;background:var(--hz-panel-bg);color:var(--hz-panel-fg);border:var(--hz-panel-bd);border-radius:var(--hz-panel-r);box-shadow:var(--hz-panel-sh);}
.fs-hz[data-hz-panel="slab"] .hz-panel{background:var(--ha-ink);color:var(--ha-paper);border:0;border-radius:0;box-shadow:none;--hz-ctx-acc:var(--ha-accent-ink);--hz-ctx-brand:var(--ha-brand-ink);--hz-ctx-fig:currentColor;--hz-ctx-btn2:currentColor;--hz-ctx-ring:var(--ha-brand-ink);--hz-ctx-halo:var(--ha-ink);}
/* On the slab a pressed control (a day, a time, a chip) would be ink on ink: it keeps the ink and takes a paper ring. */
.fs-hz[data-hz-panel="slab"] .hz-panel :is(.hz-day,.hz-tbtn,.hz-chip):is([aria-pressed="true"],[data-hz-pressed]){border-color:var(--ha-paper);box-shadow:inset 0 0 0 2px var(--ha-paper);}
.fs-hz[data-hz-panel="plate"] .hz-panel{border-radius:0;box-shadow:var(--hz-panel-sh),inset 0 0 0 7px var(--hz-panel-bg),inset 0 0 0 8px var(--hz-line);}
.fs-hz[data-hz-panel="menu"] .hz-panel{border:1px solid var(--hz-line);border-block:4px double var(--hz-line);}
.fs-hz[data-hz-panel="menu"] .hz-panel::before{content:'';position:absolute;left:50%;top:-.5625rem;width:.625rem;height:.625rem;margin-left:-.3125rem;background:var(--ha-accent);transform:rotate(45deg);box-shadow:0 0 0 5px var(--hz-panel-bg);}
.fs-hz[data-hz-panel="board"] .hz-panel{border-radius:2px;background:radial-gradient(circle at .875rem .875rem, var(--hz-line) 0 2px, transparent 2.5px),radial-gradient(circle at calc(100% - .875rem) .875rem, var(--hz-line) 0 2px, transparent 2.5px),radial-gradient(circle at .875rem calc(100% - .875rem), var(--hz-line) 0 2px, transparent 2.5px),radial-gradient(circle at calc(100% - .875rem) calc(100% - .875rem), var(--hz-line) 0 2px, transparent 2.5px),var(--hz-panel-bg);}

/* Frame (kit.frame): around a framed picture (Split, Picture + form). The
   tilt is the static --hz-frame-tilt token, never motion. */
.fs-hz .hz-frame{position:relative;display:flex;flex-direction:column;overflow:hidden;border:var(--hz-frame-bd);border-radius:var(--hz-frame-r);box-shadow:var(--hz-frame-sh);rotate:var(--hz-frame-tilt);}
.fs-hz .hz-frame>.hz-pic{flex:1 1 auto;width:100%;}
.fs-hz[data-hz-frame="box"] .hz-frame{border:2px solid var(--ha-ink);border-radius:0;}
.fs-hz[data-hz-frame="mount"] .hz-frame{padding:.75rem;background:var(--ha-paper);border:1px solid var(--hz-line);border-radius:0;box-shadow:var(--hz-panel-sh);}
.fs-hz[data-hz-frame="card"] .hz-frame{box-shadow:var(--hz-panel-sh);}
.fs-hz[data-hz-frame="plate"] .hz-frame{padding:.75rem;background:var(--ha-surface);border-radius:calc(var(--hz-frame-r) + .75rem);box-shadow:var(--hz-panel-sh);}
.fs-hz[data-hz-frame="plate"] .hz-frame>.hz-pic{border-radius:var(--hz-frame-r);}
.fs-hz[data-hz-frame="arch"] .hz-frame{border-radius:999px 999px var(--hz-frame-r) var(--hz-frame-r);}
.fs-hz[data-hz-frame="tile"] .hz-frame{border:1px solid var(--hz-line);border-radius:0;}
.fs-hz[data-hz-frame="tile"] .hz-frame::before,.fs-hz[data-hz-frame="tile"] .hz-frame::after{content:'';position:absolute;z-index:2;top:.625rem;width:.5625rem;height:.5625rem;border-radius:50%;background:var(--hz-line);}
.fs-hz[data-hz-frame="tile"] .hz-frame::before{left:.625rem;}
.fs-hz[data-hz-frame="tile"] .hz-frame::after{right:.625rem;}

/* Cell (kit.cell): the small opaque cards set 2 onwards lay out (Chooser
   cards, the Finder answer). Words sit on it in ink; it resets the context
   colours like a panel. */
.fs-hz .hz-cell{position:relative;background:var(--hz-cell-bg);color:var(--ha-ink);border:var(--hz-cell-bd);border-radius:var(--hz-cell-r);box-shadow:var(--hz-cell-sh);--hz-ctx-acc:var(--ha-brand-text);--hz-ctx-brand:var(--ha-brand-text);--hz-ctx-fig:var(--hz-fig-c);--hz-ctx-btn2:var(--ha-brand-text);--hz-ctx-ring:var(--hz-ring);--hz-ctx-halo:var(--ha-paper);}
.fs-hz[data-hz-cell="box"] .hz-cell{border:2px solid var(--ha-ink);border-radius:0;}
.fs-hz[data-hz-cell="slip"] .hz-cell{border-radius:0;border-left:4px solid var(--ha-brand);}
.fs-hz[data-hz-cell="plate"] .hz-cell{box-shadow:inset 0 0 0 5px var(--hz-cell-bg),inset 0 0 0 6px var(--hz-line);}



/* The frame (.hz-wrap, --hz-gut, --hz-edge, .hz-bleed) is shared by every set: css/base.ts. */
.fs-hz .hz-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* The copy column: eyebrow, title, intro, actions, trust on the 8px grid. */
.fs-hz .hz-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.fs-hz .hz-copy>*{max-width:100%;margin:0}
.fs-hz .hz-copy>*+*{margin-top:1.5rem}
.fs-hz .hz-copy>.hz-acts{margin-top:2rem}
.fs-hz .hz-copy>.hz-trust{margin-top:2.5rem}
/* Our own alignment wins over the site's "Centered" heading rule. */
.fs-hz .hz-copy .hz-title{text-align:inherit}
.fs-hz .hz-copy .hz-eyebrow{margin:0}
.fs-hz .hz-copy .hz-intro{max-width:42ch;font-size:1.125rem;line-height:1.6;text-wrap:pretty}
.fs-hz .hz-accent{color:var(--hz-ctx-acc);font-style:var(--hz-accent-fs)}

/* Buttons: the site's button classes give the shape; colours are tokens. */
.fs-hz .hz-acts{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem}
.fs-hz .hz-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.75rem;font-weight:600;line-height:1.2;text-decoration:none;cursor:pointer}
.fs-hz .hz-btn[data-hz-own]{padding:.75rem 1.5rem;border:2px solid transparent;border-radius:var(--hz-cell-r);font:inherit;font-weight:600}
.fs-hz .hz-btn[data-hz-fill="1"]{background-color:rgb(var(--fs-btn-color, var(--c-brand-600)));color:var(--fs-on-brand, rgb(var(--c-paper)))}
.fs-hz .hz-btn[data-hz-fill="0"]{background-color:transparent;color:var(--hz-ctx-btn2);border-color:currentColor}
.fs-hz .hz-btn[data-hz-fill="1"]:hover{background-color:rgb(var(--fs-btn-color-dark, var(--c-brand-700)))}
.fs-hz .hz-btn[data-hz-fill="1"]:hover{filter:none!important;opacity:1!important}
/* Relative colour (with calc on its channels) only where it parses: behind var() an unknown function is not dropped at
   parse time but leaves the fill transparent (Task 24 Safari audit); without it the darker brand above is the hover. */
@supports (color: rgb(from currentColor calc(255 - r) g b)) {
.fs-hz .hz-btn[data-hz-fill="1"]:hover{background-color:color-mix(in srgb, rgb(var(--fs-btn-color, var(--c-brand-600))) 84%, rgb(from var(--fs-on-brand, rgb(var(--c-paper))) calc(255 - r) calc(255 - g) calc(255 - b)))!important}
}
.fs-hz .hz-btn[data-hz-fill="0"]:hover{background-color:color-mix(in srgb, currentColor 10%, transparent)}

/* Trust: up to three figures over small labels. */
.fs-hz .hz-trust{display:flex;flex-wrap:wrap;gap:1rem 2.5rem;padding:0;list-style:none}
.fs-hz .hz-trust li{display:grid;gap:.375rem;min-width:0}
.fs-hz .hz-trust b{font:600 1.75rem/1 var(--hz-f-display);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--hz-ctx-fig)}
.fs-hz .hz-trust span{font:700 .6875rem/1.35 var(--hz-f-body);letter-spacing:.14em;text-transform:uppercase}

/* A picture that fills its box (Picture-led, the form art, Scene): the box gives the size. */
/* Pictures that fill their box are drawn with HeroPicture's 'fill' (no reserved ratio): the box gives the size. */
.fs-hz .hz-pic-own>*{position:absolute;inset:0;height:100%}

/* ── 1 · Picture-led: the picture fills the hero; the copy sits on an opaque panel. ── */
.fs-hz .hz-pl-stage{position:relative;display:grid;min-height:clamp(32rem,44cqi,46rem);padding:clamp(2rem,4.4cqi,4.5rem) var(--hz-edge)}
.fs-hz .hz-pl-media{position:absolute;inset:0}
.fs-hz .hz-pl-media .hz-pic{position:absolute;inset:0;width:100%;height:100%}
.fs-hz[data-hz="picture"] .hz-panel{align-self:end;justify-self:start;width:min(100%,var(--hz-panel-w));padding:clamp(1.5rem,2.8cqi,2.5rem)}
.fs-hz [data-hz-panel-pos="center"] .hz-panel{justify-self:center;text-align:center}
.fs-hz [data-hz-panel-pos="right"] .hz-panel{justify-self:end}
.fs-hz [data-hz-panel-pos="center"] .hz-panel .hz-copy{align-items:center}
.fs-hz [data-hz-panel-pos="center"] .hz-panel :is(.hz-acts,.hz-trust){justify-content:center}
.fs-hz[data-hz="picture"] .hz-title{font-size:calc(clamp(2.25rem,3.9cqi,3.625rem) * var(--hz-k))}
.fs-hz[data-hz="picture"] .hz-copy .hz-intro{font-size:1.0625rem}
.fs-hz[data-hz="picture"] .hz-copy>.hz-trust{gap:.75rem 1.75rem;margin-top:2rem}

/* ── 2 · Split: copy one side, the framed picture the other (mirror flips). ── */
.fs-hz .hz-sp-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(2rem,5.4cqi,5.5rem);align-items:center;padding-block:clamp(3rem,6cqi,6rem)}
.fs-hz .hz-sp-grid[data-hz-mirror="1"] .hz-sp-art{order:-1}
.fs-hz .hz-sp-art{min-width:0}
.fs-hz[data-hz="split"] .hz-title{font-size:calc(clamp(2.5rem,5.4cqi,4.75rem) * var(--hz-k))}

/* ── 3 · Statement: type only, no picture slot. ── */
.fs-hz .hz-st-in{padding-block:clamp(4rem,8cqi,8rem)}
.fs-hz[data-hz="statement"] .hz-title{font-size:calc(clamp(3rem,8.4cqi,8rem) * var(--hz-k));max-width:15ch}
.fs-hz[data-hz="statement"] .hz-copy .hz-intro{font-size:clamp(1.125rem,1.6cqi,1.3125rem);max-width:46ch}

/* ── 4 · Picture + form: the picture one side; title, a line and a short form card the other. ── */
.fs-hz .hz-fm-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);gap:clamp(1.75rem,4.6cqi,4.5rem);align-items:stretch;padding-block:clamp(2.5rem,5cqi,5rem)}
.fs-hz .hz-fm-grid[data-hz-mirror="1"] .hz-fm-art{order:2}
.fs-hz .hz-fm-art{position:relative;min-height:30rem;min-width:0}
.fs-hz .hz-fm-art>.hz-frame{position:absolute;inset:0}
.fs-hz .hz-fm-side{display:flex;flex-direction:column;justify-content:center;min-width:0}
.fs-hz[data-hz="pictureForm"] .hz-title{font-size:calc(clamp(2.125rem,4cqi,3.5rem) * var(--hz-k))}
.fs-hz[data-hz="pictureForm"] .hz-copy .hz-intro{font-size:1.0625rem}
.fs-hz .hz-form{display:grid;gap:1rem;margin-top:2rem;padding:clamp(1.25rem,2.4cqi,2rem)}
.fs-hz .hz-form-t{margin:0;font:600 1.375rem/1.15 var(--hz-f-display)}
.fs-hz .hz-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:.875rem .75rem}
.fs-hz .hz-field{display:grid;gap:.375rem;align-content:start;min-width:0}
.fs-hz .hz-field :is(label,.hz-label){font:700 .71875rem/1.3 var(--hz-f-body);letter-spacing:.12em;text-transform:uppercase}
.fs-hz .hz-field :is(input,select,textarea){display:block;width:100%;min-height:3rem;padding:.75rem .875rem;background:var(--ha-paper);color:var(--ha-ink);border:1.5px solid var(--hz-line);border-radius:calc(var(--hz-cell-r) / 2);font:500 1rem/1.3 var(--hz-f-body);appearance:none}
.fs-hz .hz-field textarea{min-height:6rem;resize:vertical}
.fs-hz .hz-field select{padding-right:2.5rem;background-image:linear-gradient(45deg,transparent 50%,var(--ha-ink) 50%),linear-gradient(135deg,var(--ha-ink) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat}
.fs-hz .hz-field :is(input,select,textarea):hover{border-color:var(--ha-ink)}
.fs-hz .hz-field :is(input,select,textarea):focus{border-color:var(--ha-ink)}
/* Fields: a 2px ring from the ring token (the base ring is 3px). */
.fs-hz .hz-field :is(a, button, [tabindex], input, select, textarea, summary):not([contenteditable]):focus-visible{outline:2px solid var(--hz-ctx-ring, var(--hz-ring));outline-offset:2px}
.fs-hz .hz-field [aria-invalid="true"]{border-width:2px;border-color:var(--ha-ink)}
.fs-hz .hz-field .hz-input{display:block;min-height:3rem;background:var(--ha-paper);border:1.5px solid var(--hz-line);border-radius:calc(var(--hz-cell-r) / 2)}
.fs-hz .hz-field .hz-input-tall{min-height:6rem}
.fs-hz .hz-err{margin:0;font-size:.8125rem;font-weight:600;line-height:1.4}
.fs-hz .hz-err:empty{display:none}
.fs-hz .hz-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.fs-hz .hz-form-foot{display:flex;flex-wrap:wrap;align-items:center;gap:.625rem 1rem}
.fs-hz .hz-form-note{margin:0;font-size:.84375rem;line-height:1.45}
.fs-hz .hz-consent{margin:0;font-size:.78125rem;line-height:1.5}
.fs-hz .hz-done{margin:0;font-size:.875rem;line-height:1.45}
.fs-hz .hz-done:empty{display:none}
.fs-hz .hz-send-err{margin:0;padding:.625rem .75rem;border:1.5px solid var(--hz-line);font-size:.875rem;font-weight:600}
.fs-hz .hz-alt{margin:1rem 0 0;font-size:.90625rem}
.fs-hz .hz-alt :is(a,.hz-alt-a){display:inline-flex;align-items:center;min-height:2.75rem;font-weight:700;color:inherit;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1.5px}
.fs-hz .hz-alt a:hover{text-decoration-thickness:3px}

/* ── 5 · Scene: a living illustration, unframed, bleeding, fading in from the copy side. ── */
.fs-hz .hz-sc-stage{position:relative;display:grid;align-items:center;min-height:clamp(34rem,44cqi,46rem);padding:clamp(3rem,6cqi,6rem) var(--hz-edge)}
.fs-hz .hz-sc-art{position:absolute;top:0;right:0;bottom:0;width:57%;-webkit-mask-image:linear-gradient(90deg,transparent,currentColor 30%);mask-image:linear-gradient(90deg,transparent,currentColor 30%)}
.fs-hz .hz-sc-art .hz-pic{position:absolute;inset:0;width:100%;height:100%;background:transparent}
/* Scene sits on its FLAT ground (the mockup's is-flat night), so the solid copy box shows no seam. */
.fs-hz[data-hz="scene"][data-hz-ground]{background:var(--hz-ground)}
.fs-hz .hz-sc-copy{position:relative;width:min(100%,40rem,42%);background:var(--hz-ground)}
.fs-hz[data-hz="scene"] .hz-title{font-size:calc(clamp(2.5rem,4.9cqi,4.375rem) * var(--hz-k))}
.fs-hz .hz-sc-pp{position:absolute;right:var(--hz-edge);bottom:1rem}

@keyframes hz-k-bob{50%{transform:translateY(var(--dy,-8px))}}
@keyframes hz-k-sway{50%{transform:translateX(var(--dx,14px))}}
@keyframes hz-k-spin{to{transform:rotate(var(--rot,360deg))}}
@keyframes hz-k-tw{50%{opacity:var(--lo,.2)}}
@keyframes hz-k-draw{0%{stroke-dashoffset:1}45%,80%{stroke-dashoffset:0}100%{stroke-dashoffset:-1}}
@keyframes hz-k-flick{0%,100%{transform:scale(1)}30%{transform:scale(.93,1.07)}60%{transform:scale(1.05,.96)}}
@keyframes hz-k-rise{0%{opacity:0;transform:translateY(8px) scaleY(.85)}30%{opacity:.9}100%{opacity:0;transform:translateY(var(--dy,-34px)) scaleY(1.15)}}
@keyframes hz-k-slide{0%{transform:translateX(var(--x0,-40px));opacity:0}12%,80%{opacity:1}100%{transform:translateX(var(--x1,220px));opacity:0}}
@keyframes hz-k-lay{0%,6%{opacity:0;transform:translateY(-14px)}14%,86%{opacity:1;transform:none}96%,100%{opacity:0;transform:none}}
@keyframes hz-k-pulse{50%{transform:scale(var(--s,1.06))}}
.fs-hz :is(.hz-sc-art,.hz-vd-media,.hz-of-art) .hz-a-bob{animation:hz-k-bob var(--dur,4.6s) ease-in-out var(--del,0s) infinite}
.fs-hz :is(.hz-sc-art,.hz-vd-media,.hz-of-art) .hz-a-sway{animation:hz-k-sway var(--dur,9s) ease-in-out var(--del,0s) infinite}
.fs-hz :is(.hz-sc-art,.hz-vd-media,.hz-of-art) .hz-a-spin{transform-box:fill-box;transform-origin:center;animation:hz-k-spin var(--dur,14s) linear var(--del,0s) infinite}
.fs-hz :is(.hz-sc-art,.hz-vd-media,.hz-of-art) .hz-a-tw{animation:hz-k-tw var(--dur,3s) ease-in-out var(--del,0s) infinite}
.fs-hz :is(.hz-sc-art,.hz-vd-media,.hz-of-art) .hz-a-draw{stroke-dasharray:1;stroke-dashoffset:0;animation:hz-k-draw var(--dur,6s) cubic-bezier(.5,0,.3,1) var(--del,0s) infinite}
.fs-hz :is(.hz-sc-art,.hz-vd-media,.hz-of-art) .hz-a-flick{transform-box:fill-box;transform-origin:50% 100%;animation:hz-k-flick var(--dur,1.7s) ease-in-out var(--del,0s) infinite}
.fs-hz :is(.hz-sc-art,.hz-vd-media,.hz-of-art) .hz-a-rise{transform-box:fill-box;transform-origin:50% 100%;opacity:.7;animation:hz-k-rise var(--dur,4.4s) ease-out var(--del,0s) infinite}
.fs-hz :is(.hz-sc-art,.hz-vd-media,.hz-of-art) .hz-a-slide{animation:hz-k-slide var(--dur,7s) cubic-bezier(.45,0,.3,1) var(--del,0s) infinite}
.fs-hz :is(.hz-sc-art,.hz-vd-media,.hz-of-art) .hz-a-lay{animation:hz-k-lay var(--dur,9s) cubic-bezier(.2,.7,.3,1) var(--del,0s) infinite}
.fs-hz :is(.hz-sc-art,.hz-vd-media,.hz-of-art) .hz-a-pulse{transform-box:fill-box;transform-origin:center;animation:hz-k-pulse var(--dur,6s) ease-in-out var(--del,0s) infinite}
/* Pause (the visitor), off screen (the behaviour chunk): the loops hold where they are. */
.fs-hz :is([data-hz-paused],[data-hz-off]) [class*="hz-a-"]{animation-play-state:paused}
/* Pointer drift: depth layers follow a fine pointer (behaviour chunk writes --hz-px/--hz-py, -1..1).
   The translate property, so it composes with a loop's transform on the same layer. */
.fs-hz .hz-sc-art [data-hz-drift]{translate:calc(var(--hz-px,0) * var(--hz-d,4px)) calc(var(--hz-py,0) * var(--hz-d,4px));transition:translate .5s cubic-bezier(.2,.7,.2,1)}
.fs-hz .hz-sc-art [data-hz-drift="2"]{--hz-d:9px}
.fs-hz .hz-sc-art [data-hz-drift="3"]{--hz-d:15px}

/* The loop's Pause/Play (HeroPause, D12): a 44px corner toggle; the icon flips with aria-pressed. */
.fs-hz .hz-pp{display:inline-grid;place-items:center;min-height:2.75rem;min-width:2.75rem;padding:0;border:1px solid var(--hz-ctl-fg);border-radius:var(--hz-ctl-r);background:var(--hz-ctl-bg);color:var(--hz-ctl-fg);cursor:pointer}
.fs-hz .hz-pp .hz-pp-i{display:block;width:.75rem;height:.875rem;background:linear-gradient(90deg,currentColor 0 35%,transparent 35% 65%,currentColor 65%)}
.fs-hz .hz-pp[aria-pressed="true"] .hz-pp-i{width:.875rem;background:currentColor;clip-path:polygon(10% 0,100% 50%,10% 100%)}
.fs-hz .hz-pp:hover{background:color-mix(in srgb, var(--hz-ctl-fg) 10%, var(--hz-ctl-bg))}

/* ── Entrance: staged, once per arrival (the root is then data-hz-settled). ── */
@keyframes hz-enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes hz-enter-art{from{opacity:0;transform:translateY(22px) scale(.975)}to{opacity:1;transform:none}}
@keyframes hz-enter-fade{from{opacity:0}to{opacity:1}}
.fs-hz:not([data-hz-settled]) [data-hz-in]{animation:hz-enter .62s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--hz-i,0) * 90ms + 60ms)}
.fs-hz:not([data-hz-settled]) :is(.hz-sp-art,.hz-fm-art)>.hz-frame{animation:hz-enter-art .85s cubic-bezier(.2,.7,.2,1) .2s both}
.fs-hz:not([data-hz-settled]) :is(.hz-pl-media,.hz-sc-art){animation:hz-enter-fade .9s ease-out both}
.fs-hz:not([data-hz-settled])[data-hz="picture"] .hz-panel{animation:hz-enter .7s cubic-bezier(.2,.7,.2,1) .25s both}

/* ── Tiers ── */
@container hz (max-width: 59.99rem){
  .fs-hz .hz-sp-grid{grid-template-columns:minmax(0,1fr) minmax(0,.86fr);gap:2.5rem}
  .fs-hz .hz-fm-grid{grid-template-columns:minmax(0,.86fr) minmax(0,1fr);gap:2.25rem}
  .fs-hz .hz-sc-art{width:54%}
  .fs-hz .hz-sc-copy{width:min(100%,45%)}
  .fs-hz[data-hz="statement"] .hz-title{font-size:calc(clamp(2.75rem,9.4cqi,6rem) * var(--hz-k))}
}
@container hz (max-width: 43.99rem){
  .fs-hz :is(.hz-sp-grid,.hz-fm-grid){grid-template-columns:minmax(0,1fr)}
  .fs-hz .hz-sp-art{width:100%;max-width:34rem}
  .fs-hz .hz-sp-art .hz-pic{aspect-ratio:4 / 3!important}
  .fs-hz .hz-fm-art,.fs-hz .hz-fm-grid[data-hz-mirror="1"] .hz-fm-art{order:-1;min-height:0;aspect-ratio:16 / 9}
}
@container hz (max-width: 39.99rem){
  .fs-hz .hz-pl-stage{display:block;min-height:0;padding:0}
  .fs-hz .hz-pl-media{position:relative;inset:auto;aspect-ratio:4 / 3}
  .fs-hz[data-hz="picture"] .hz-panel{width:auto;margin:-48px var(--hz-gut) 0;padding:1.5rem 1.25rem 1.75rem}
  .fs-hz .hz-sc-stage{display:block;min-height:0;padding:0}
  .fs-hz .hz-sc-art{position:relative;width:100%;aspect-ratio:4 / 3;-webkit-mask-image:none;mask-image:none}
  .fs-hz .hz-sc-copy{width:auto;padding:1.75rem var(--hz-gut) 3rem}
  .fs-hz .hz-sc-pp{right:var(--hz-gut);bottom:auto;top:calc(75cqi - 3.75rem)}
  .fs-hz .hz-fm-art,.fs-hz .hz-fm-grid[data-hz-mirror="1"] .hz-fm-art{aspect-ratio:4 / 3;margin-inline:calc(var(--hz-gut) * -1)}
  .fs-hz .hz-fm-art>.hz-frame{border-radius:0;rotate:none}
  .fs-hz .hz-fm-grid{gap:1.75rem;padding-block:0 3rem}
  .fs-hz .hz-acts{width:100%;gap:.75rem}
  .fs-hz .hz-acts>*{flex:1 1 100%}
  .fs-hz .hz-trust{gap:.875rem 1.5rem}
  .fs-hz .hz-trust b{font-size:1.5rem}
  .fs-hz .hz-copy .hz-intro{font-size:1.0625rem}
  .fs-hz .hz-sp-grid{padding-block:2rem 3rem}
  .fs-hz .hz-st-in{padding-block:3rem 3.5rem}
  .fs-hz[data-hz="statement"] .hz-title{font-size:calc(clamp(2.625rem,13.4cqi,3.375rem) * var(--hz-k))}
  .fs-hz:is([data-hz="split"],[data-hz="scene"]) .hz-title{font-size:calc(clamp(2.25rem,11.2cqi,2.75rem) * var(--hz-k))}
  .fs-hz:is([data-hz="pictureForm"],[data-hz="picture"]) .hz-title{font-size:calc(clamp(2rem,9.8cqi,2.5rem) * var(--hz-k))}
  .fs-hz .hz-form{padding:1.25rem 1rem}
}

/* Site layouts (wide and middle tiers): Centered centres the Statement and
   the Picture-led panel; Minimalist adds air. */
@container hz (min-width: 44rem){
  .fs-hz:where([data-fs-layout="centered"] *) .hz-st-in{align-items:center;text-align:center;margin-inline:auto}
  .fs-hz:where([data-fs-layout="centered"] *) .hz-st-in :is(.hz-acts,.hz-trust){justify-content:center}
  .fs-hz:where([data-fs-layout="centered"] *) .hz-pl-stage .hz-panel{justify-self:center;text-align:center}
  .fs-hz:where([data-fs-layout="centered"] *) .hz-pl-stage .hz-panel .hz-copy{align-items:center}
  .fs-hz:where([data-fs-layout="centered"] *) .hz-pl-stage .hz-panel :is(.hz-acts,.hz-trust){justify-content:center}
  .fs-hz:where([data-fs-layout="minimal"] *) :is(.hz-sp-grid,.hz-fm-grid){padding-block:clamp(4.5rem,9cqi,7.5rem)}
  .fs-hz:where([data-fs-layout="minimal"] *) .hz-st-in{padding-block:clamp(5.5rem,11cqi,9.5rem)}
}

/* Reduced motion: the loops and the entrance are stopped by HZ_REDUCED_CSS;
   with nothing moving there is nothing to pause, so the loop's Pause goes. */
@media (prefers-reduced-motion: reduce){ .fs-hz .hz-sc-pp{display:none} .fs-hz .hz-sc-art [data-hz-drift]{translate:none;transition:none} }


@property --hz-sx{syntax:'<number>';inherits:true;initial-value:.5}
@property --hz-sy{syntax:'<number>';inherits:true;initial-value:.5}
@property --hz-rv-n{syntax:'<number>';inherits:true;initial-value:0}
@property --hz-rv-at{syntax:'<number>';inherits:true;initial-value:50}

.fs-hz .hz-tbtn,.fs-hz .hz-chip{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.75rem;min-width:2.75rem;padding:.625rem 1rem;border:1.5px solid var(--hz-line);border-radius:calc(var(--hz-cell-r) / 2);background:var(--hz-ctl-bg);color:var(--hz-ctl-fg);font:600 .90625rem/1.1 var(--hz-f-body);white-space:nowrap;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease}
.fs-hz :is(.hz-tbtn,.hz-chip):hover{border-color:var(--hz-ctl-fg);box-shadow:inset 0 0 0 1px var(--hz-ctl-fg)}
.fs-hz :is(.hz-tbtn,.hz-chip):is([aria-pressed="true"],[data-hz-pressed]){background:var(--hz-ctl-fg);border-color:var(--hz-ctl-fg);color:var(--hz-ctl-bg)}
.fs-hz :is(.hz-tbtn,.hz-chip):is([aria-pressed="true"],[data-hz-pressed]):hover{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}

.fs-hz .hz-stack{position:relative;overflow:hidden;isolation:isolate;container:hzs / inline-size;border:var(--hz-frame-bd);border-radius:var(--hz-frame-r);box-shadow:var(--hz-frame-sh);background:var(--ha-sunk)}
.fs-hz[data-hz-frame="box"] .hz-stack{border:2px solid var(--ha-ink);border-radius:0}
.fs-hz[data-hz-frame="mount"] .hz-stack{border:.75rem solid var(--ha-paper);border-radius:0;box-shadow:0 0 0 1px var(--hz-line),var(--hz-panel-sh)}
.fs-hz[data-hz-frame="card"] .hz-stack{box-shadow:var(--hz-panel-sh)}
.fs-hz[data-hz-frame="plate"] .hz-stack{border:.75rem solid var(--ha-surface);border-radius:calc(var(--hz-frame-r) + .75rem);box-shadow:var(--hz-panel-sh)}
.fs-hz[data-hz-frame="tile"] .hz-stack{border:1px solid var(--hz-line);border-radius:0}
.fs-hz .hz-layer{position:absolute;inset:0}
.fs-hz .hz-layer>.hz-pic{position:absolute;inset:0;width:100%;height:100%}
.fs-hz .hz-stack .hz-pic-own>*{position:absolute;inset:0;height:100%}

/* ── 6 · Chooser: the headline, then 3-4 cards, each a link to its page. ── */
.fs-hz .hz-ch{padding-block:clamp(3rem,6cqi,6rem)}
.fs-hz[data-hz="chooser"] .hz-title{font-size:calc(clamp(2.5rem,5.2cqi,4.625rem) * var(--hz-k));max-width:17ch}
.fs-hz .hz-ch-head{max-width:54rem}
.fs-hz .hz-ch-nav{margin-top:clamp(2rem,4.4cqi,3.5rem)}
.fs-hz .hz-ch-ask{margin:0 0 1rem;font:600 clamp(1.375rem,2.2cqi,1.75rem)/1.2 var(--hz-f-display)}
.fs-hz .hz-ch-list{--hz-n:3;display:grid;grid-template-columns:repeat(var(--hz-n),minmax(0,1fr));gap:1.25rem;margin:0;padding:0;list-style:none}
.fs-hz .hz-ch-list[data-n="4"]{--hz-n:4}
.fs-hz .hz-ch-list>li{display:flex;min-width:0}
.fs-hz .hz-ch-card{display:flex;flex-direction:column;width:100%;min-width:0;overflow:hidden;text-decoration:none;transition:border-color .18s ease,box-shadow .18s ease}
.fs-hz .hz-ch-fig{position:relative;flex:none;aspect-ratio:4 / 3}
.fs-hz .hz-ch-fig>.hz-pic{position:absolute;inset:0;width:100%;height:100%}
.fs-hz .hz-ch-body{display:flex;flex-direction:column;align-items:flex-start;gap:.375rem;flex:1;min-width:0;padding:1rem 1.125rem 1.125rem}
.fs-hz .hz-ch-t{font:600 clamp(1.25rem,1.9cqi,1.5625rem)/1.15 var(--hz-f-display);text-wrap:balance}
.fs-hz .hz-ch-pre{font-weight:400;color:var(--hz-cell-sub)}
.fs-hz .hz-ch-d{font-size:.9375rem;line-height:1.5;color:var(--hz-cell-sub);text-wrap:pretty}
.fs-hz .hz-ch-go{margin-top:auto;padding-top:.75rem;font-size:1.25rem;line-height:1}
.fs-hz .hz-ch-go::after{content:"\2192";display:inline-block;transition:translate .2s cubic-bezier(.2,.7,.2,1)}
.fs-hz a.hz-ch-card:hover{border-color:var(--ha-ink);box-shadow:0 0 0 1px var(--ha-ink),var(--hz-cell-sh)}
.fs-hz a.hz-ch-card:hover .hz-ch-t{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.fs-hz a.hz-ch-card:hover .hz-ch-go::after{translate:4px 0}
.fs-hz .hz-ch .hz-alt{margin-top:1.25rem}

/* A part of the drawing an answer can light (Placement.hit -> data-hit; lit = data-hz-lit). */
.fs-hz[data-hz="finder"] .hz-art [data-hit]{opacity:0;transition:opacity .35s ease}
.fs-hz[data-hz="finder"] .hz-art [data-hit][data-hz-lit]{opacity:1}

/* ── 7 · Finder: one field, three quick picks, a role=status answer card. ── */
.fs-hz .hz-fd-grid{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(0,.84fr);gap:clamp(2rem,5cqi,5.5rem);align-items:center;padding-block:clamp(3rem,6cqi,6rem)}
.fs-hz[data-hz="finder"] .hz-title{font-size:calc(clamp(2.375rem,4.6cqi,4.125rem) * var(--hz-k))}
.fs-hz .hz-fd-art{min-width:0}
.fs-hz :is(.hz-fd-art,.hz-bk-art)>.hz-frame{aspect-ratio:4 / 5}
.fs-hz .hz-copy>.hz-find{margin-top:2rem}
.fs-hz .hz-find{display:grid;gap:.75rem;width:100%;max-width:40rem;padding:clamp(1rem,2cqi,1.5rem)}
.fs-hz .hz-find-l{margin:0;font:700 .75rem/1.3 var(--hz-f-body);letter-spacing:.14em;text-transform:uppercase}
.fs-hz .hz-find-row{display:flex;gap:.625rem}
.fs-hz .hz-find-in{flex:1;min-width:0;min-height:3.75rem;padding:.875rem 1.125rem;background:var(--ha-paper);color:var(--ha-ink);border:1.5px solid var(--hz-line);border-radius:calc(var(--hz-cell-r) / 2);font:500 1.125rem/1.3 var(--hz-f-body);appearance:none}
.fs-hz .hz-find-in::placeholder{color:var(--hz-cell-sub);opacity:1}
.fs-hz .hz-find-in::-webkit-search-cancel-button{display:none}
.fs-hz .hz-find-in:hover{border-color:var(--ha-ink)}
.fs-hz .hz-find-fake{display:flex;align-items:center;color:var(--hz-cell-sub)}
.fs-hz .hz-find-row>.hz-btn{flex:none;min-height:3.75rem}
.fs-hz .hz-find-hint{margin:0;font-size:.84375rem;line-height:1.45}
.fs-hz .hz-chips{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.fs-hz .hz-chips-l{margin-right:.25rem;font:700 .6875rem/1.3 var(--hz-f-body);letter-spacing:.14em;text-transform:uppercase}
.fs-hz .hz-result{margin-top:.25rem}
.fs-hz .hz-result:empty{display:none}
.fs-hz .hz-res{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.125rem 1rem;align-items:start;padding:1rem 1.125rem}
.fs-hz .hz-res>p{margin:0}
.fs-hz .hz-res-m{grid-row:1 / span 4;display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:calc(var(--hz-cell-r) / 2);background:var(--ha-ink);color:var(--ha-paper);font:700 1.25rem/1 var(--hz-f-body)}
.fs-hz .hz-res[data-state="yes"] .hz-res-m::before{content:"\2713"}
.fs-hz .hz-res[data-state="edge"] .hz-res-m::before{content:"\00BD"}
.fs-hz .hz-res[data-state="no"] .hz-res-m::before{content:"\00D7"}
.fs-hz .hz-res[data-state="info"] .hz-res-m::before{content:"\2192"}
.fs-hz .hz-res-k{font:700 .6875rem/1.4 var(--hz-f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--hz-cell-sub)}
.fs-hz .hz-res-t{font:600 1.125rem/1.3 var(--hz-f-display)}
.fs-hz .hz-res-d{font-size:.90625rem;line-height:1.5;color:var(--hz-cell-sub)}
.fs-hz .hz-res-a{display:inline-flex;align-items:center;gap:.5rem;justify-self:start;min-height:2.75rem;font:700 .875rem/1.2 var(--hz-f-body);color:inherit;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px}
.fs-hz .hz-res-a::after{content:"\2192";text-decoration:none}
.fs-hz .hz-res-a:hover{text-decoration-thickness:3px}
/* The canvas: the answer table as static rows. */
.fs-hz .hz-fd-table{display:grid;gap:.375rem;margin:.25rem 0 0;padding:0;list-style:none;font-size:.875rem;line-height:1.4}
.fs-hz .hz-fd-row{display:flex;flex-wrap:wrap;gap:.25rem .75rem;padding:.5rem .75rem;border:1px dashed var(--hz-line);border-radius:calc(var(--hz-cell-r) / 2)}

/* ── 8 · Booking strip: seven days, the picked day's times, one button. ── */
.fs-hz .hz-bk-in{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);grid-template-areas:"copy art" "card card";gap:0 clamp(2rem,5cqi,5rem);align-items:center;padding-block:clamp(2.5rem,5cqi,5rem)}
.fs-hz .hz-bk-copy{grid-area:copy}
.fs-hz .hz-bk-art{grid-area:art;min-width:0}
.fs-hz .hz-bk-art>.hz-frame{aspect-ratio:4 / 3}
.fs-hz[data-hz="booking"] .hz-title{font-size:calc(clamp(2.375rem,4.6cqi,4.125rem) * var(--hz-k))}
.fs-hz .hz-bk-card{grid-area:card;margin-top:clamp(2rem,4cqi,3rem);padding:clamp(1.125rem,2.2cqi,1.75rem);min-width:0}
.fs-hz .hz-bk-sample{margin:0 0 1rem;padding:.375rem .625rem;border:1px dashed var(--hz-line);font-size:.75rem;line-height:1.4}
.fs-hz .hz-bk-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.375rem 1.5rem;margin-bottom:1rem}
.fs-hz .hz-bk-t{margin:0;font:600 1.3125rem/1.2 var(--hz-f-display)}
.fs-hz .hz-bk-kind{display:inline-block;margin-left:.5rem;padding:0 .45em;border:1px solid currentColor;font:700 .625rem/1.7 var(--hz-f-body);letter-spacing:.1em;text-transform:uppercase;vertical-align:.2em;white-space:nowrap}
.fs-hz .hz-bk-note{margin:0;max-width:62ch;font-size:.875rem;line-height:1.5}
.fs-hz .hz-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem}
.fs-hz .hz-day{display:grid;justify-items:center;align-content:center;gap:.25rem;min-width:0;min-height:5.5rem;padding:.625rem .25rem;border:1.5px solid var(--hz-line);border-radius:calc(var(--hz-cell-r) / 2);background:var(--hz-ctl-bg);color:var(--hz-ctl-fg);font:inherit;text-align:center;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease}
.fs-hz .hz-day .w{font:700 .71875rem/1 var(--hz-f-body);letter-spacing:.14em;text-transform:uppercase}
.fs-hz .hz-day .n{font:600 1.75rem/1 var(--hz-f-display);font-variant-numeric:tabular-nums}
.fs-hz .hz-day .c{font-size:.78125rem;line-height:1.2}
.fs-hz .hz-day.is-off{border-style:dashed}
.fs-hz .hz-day.is-off .c{font-style:italic}
.fs-hz button.hz-day:not([aria-pressed="true"]):hover{border-color:var(--hz-ctl-fg);box-shadow:inset 0 0 0 1px var(--hz-ctl-fg)}
.fs-hz button.hz-day[aria-pressed="true"]:hover :is(.w,.n){text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.fs-hz .hz-day:is([aria-pressed="true"],[data-hz-pressed]){background:var(--hz-ctl-fg);border-color:var(--hz-ctl-fg);color:var(--hz-ctl-bg)}
.fs-hz .hz-times{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1rem;min-height:2.75rem}
.fs-hz .hz-times-l{margin-right:.375rem;font:700 .6875rem/1.3 var(--hz-f-body);letter-spacing:.14em;text-transform:uppercase}
.fs-hz .hz-times-none{font-size:.875rem}
.fs-hz .hz-bk-foot{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--hz-line)}
.fs-hz .hz-bk-pick{margin:0;font-size:.90625rem;line-height:1.4}
/* The bookings module: real dates, no time buttons; the usual times as one plain line. */
.fs-hz .hz-bk-usual{margin:1rem 0 0;font-size:.875rem;line-height:1.5}
.fs-hz span.hz-day{cursor:default}
.fs-hz .hz-day.is-pending{border-style:dotted}
/* Canvas notes (a pair with one half, too few Chooser cards). */
.fs-hz .hz-pair-hint{margin:0 0 .75rem;padding:.375rem .625rem;border:1px dashed var(--hz-line);font-size:.75rem;line-height:1.4}

/* ── 9 · Reveal: before / after. A real range lies over the frame; its value is the divider. ── */
.fs-hz .hz-rv-grid{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(2rem,5cqi,5rem);align-items:center;padding-block:clamp(3rem,6cqi,6rem)}
.fs-hz[data-hz="reveal"] .hz-title{font-size:calc(clamp(2.375rem,4.4cqi,4rem) * var(--hz-k))}
.fs-hz .hz-rv-side{min-width:0}
.fs-hz .hz-rv-stage{aspect-ratio:5 / 4;touch-action:pan-y;--hz-rv-at:var(--hz-rv,50)}
.fs-hz .hz-rv-a{clip-path:inset(0 0 0 calc((var(--hz-rv-at, 50) + var(--hz-rv-n, 0)) * 1%))}
.fs-hz .hz-rv-line{position:absolute;top:0;bottom:0;left:0;z-index:3;width:0;pointer-events:none;transform:translateX(calc((var(--hz-rv-at, 50) + var(--hz-rv-n, 0)) * 1cqi))}
.fs-hz .hz-rv-line::before{content:"";position:absolute;top:0;bottom:0;left:-2px;width:4px;background:var(--ha-paper);box-shadow:0 0 0 1px var(--ha-ink)}
.fs-hz .hz-rv-knob{position:absolute;top:50%;left:0;display:grid;place-items:center;width:3.25rem;height:3.25rem;margin:-1.625rem 0 0 -1.625rem;background:var(--hz-ctl-bg);color:var(--hz-ctl-fg);border:2px solid var(--hz-ctl-fg);border-radius:var(--hz-ctl-r);font:700 1.125rem/1 var(--hz-f-body);transition:scale .18s ease}
.fs-hz .hz-rv-knob::before{content:"\2039\00A0\203A"}
.fs-hz .hz-rv-tag{position:absolute;top:.875rem;z-index:2;padding:.4375rem .6875rem .375rem;background:var(--ha-paper);color:var(--ha-ink);font:700 .6875rem/1.2 var(--hz-f-body);letter-spacing:.14em;text-transform:uppercase;pointer-events:none}
.fs-hz .hz-rv-tag.is-b{left:.875rem}
.fs-hz .hz-rv-tag.is-a{right:.875rem}
.fs-hz .hz-rv-range{position:absolute;inset:0;z-index:4;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;-webkit-appearance:none;appearance:none;background:transparent}
.fs-hz .hz-rv-range::-webkit-slider-runnable-track{height:100%}
.fs-hz .hz-rv-range::-webkit-slider-thumb{-webkit-appearance:none;width:2px;height:100%}
.fs-hz .hz-rv-range::-moz-range-thumb{width:2px;height:100%;border:0}
.fs-hz .hz-rv-stage:hover .hz-rv-knob{scale:1.08}
/* The range is invisible, so its focus shows on the frame (the ring token, 3:1). */
.fs-hz .hz-rv-stage:has(.hz-rv-range:is(a, button, [tabindex], input, select, textarea, summary):not([contenteditable]):focus-visible){outline:3px solid var(--hz-ctx-ring, var(--hz-ring));outline-offset:4px}
.fs-hz .hz-rv-sw{display:none;gap:.5rem;margin-top:.75rem}
.fs-hz .hz-rv-sw .hz-tbtn{flex:1 1 0}
.fs-hz .hz-rv-cap{margin:.875rem 0 0;font-size:.875rem;line-height:1.5}
@keyframes hz-rv-nudge{0%{--hz-rv-n:0}35%{--hz-rv-n:16}70%{--hz-rv-n:-9}100%{--hz-rv-n:0}}

/* ── 10 · Spotlight: a lens over two layers. ── */
.fs-hz .hz-sl{padding-block:clamp(2.5rem,5cqi,5rem)}
.fs-hz .hz-sl-head{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:0 clamp(2rem,5cqi,5rem);align-items:end}
.fs-hz[data-hz="spotlight"] .hz-title{font-size:calc(clamp(2.375rem,4.6cqi,4.125rem) * var(--hz-k))}
.fs-hz .hz-sl-side>.hz-intro{margin-top:0}
.fs-hz .hz-sl-box{margin-top:clamp(1.75rem,3.6cqi,3rem)}
.fs-hz .hz-sl-stage{container:hzs / size;aspect-ratio:21 / 9;--hz-sl-r:clamp(3.25rem,9cqi,8rem);cursor:crosshair;touch-action:pan-y}
.fs-hz .hz-sl-under{-webkit-mask-image:radial-gradient(circle var(--hz-sl-r) at calc(var(--hz-sx) * 100%) calc(var(--hz-sy) * 100%),currentColor calc(var(--hz-sl-r) - 2px),transparent var(--hz-sl-r));mask-image:radial-gradient(circle var(--hz-sl-r) at calc(var(--hz-sx) * 100%) calc(var(--hz-sy) * 100%),currentColor calc(var(--hz-sl-r) - 2px),transparent var(--hz-sl-r))}
.fs-hz .hz-sl-lens{position:absolute;left:0;top:0;z-index:3;width:calc(var(--hz-sl-r) * 2);height:calc(var(--hz-sl-r) * 2);border-radius:50%;pointer-events:none;transform:translate(calc(var(--hz-sx) * 100cqw - 50%),calc(var(--hz-sy) * 100cqh - 50%))}

.fs-hz[data-hz-lens="ring"] .hz-sl-lens{box-shadow:0 0 0 2px var(--ha-accent),0 0 0 6px color-mix(in srgb, var(--ha-accent) 22%, transparent),0 0 3.75rem .875rem var(--hz-glow)}
.fs-hz[data-hz-lens="lamp"] .hz-sl-lens{box-shadow:0 0 0 3px var(--ha-accent),0 0 0 6px var(--ha-paper),0 0 0 7px var(--ha-accent),0 0 3rem .75rem var(--hz-glow)}
.fs-hz[data-hz-lens="candle"] .hz-sl-lens{box-shadow:0 0 0 2px var(--ha-paper),0 0 0 4px var(--ha-accent),0 0 0 10px color-mix(in srgb, var(--ha-accent) 22%, transparent),0 0 3.5rem .75rem var(--hz-glow)}
.fs-hz[data-hz-lens="candle"] .hz-sl-lens::before{content:"";position:absolute;left:50%;top:-.5rem;width:.625rem;height:.625rem;margin-left:-.3125rem;background:var(--ha-accent);rotate:45deg;box-shadow:0 0 0 3px var(--ha-paper)}
.fs-hz[data-hz-lens="magnifier"] .hz-sl-lens{border:3px solid var(--ha-ink);box-shadow:0 0 0 3px var(--ha-paper),var(--hz-panel-sh);background:linear-gradient(var(--ha-ink),var(--ha-ink)) 50% 0/1.5px .875rem no-repeat,linear-gradient(var(--ha-ink),var(--ha-ink)) 50% 100%/1.5px .875rem no-repeat,linear-gradient(var(--ha-ink),var(--ha-ink)) 0 50%/.875rem 1.5px no-repeat,linear-gradient(var(--ha-ink),var(--ha-ink)) 100% 50%/.875rem 1.5px no-repeat}
.fs-hz[data-hz-lens="magnifier"] .hz-sl-lens::after{content:"";position:absolute;right:4%;bottom:4%;width:.875rem;height:34%;background:var(--ha-ink);border:2px solid var(--ha-paper);transform-origin:50% 0;rotate:-45deg;translate:50% 85%}
.fs-hz[data-hz-lens="marquee"] .hz-sl-lens{border-radius:0;border:3px solid var(--ha-ink);box-shadow:0 0 0 2px var(--ha-paper);background:linear-gradient(var(--ha-brand),var(--ha-brand)) -1px -1px/.75rem .75rem no-repeat,linear-gradient(var(--ha-brand),var(--ha-brand)) calc(100% + 1px) -1px/.75rem .75rem no-repeat,linear-gradient(var(--ha-brand),var(--ha-brand)) -1px calc(100% + 1px)/.75rem .75rem no-repeat,linear-gradient(var(--ha-brand),var(--ha-brand)) calc(100% + 1px) calc(100% + 1px)/.75rem .75rem no-repeat}
.fs-hz[data-hz-lens="marquee"] .hz-sl-under{-webkit-mask-image:linear-gradient(90deg,transparent calc(var(--hz-sx) * 100% - var(--hz-sl-r)),currentColor 0,currentColor calc(var(--hz-sx) * 100% + var(--hz-sl-r)),transparent 0),linear-gradient(transparent calc(var(--hz-sy) * 100% - var(--hz-sl-r)),currentColor 0,currentColor calc(var(--hz-sy) * 100% + var(--hz-sl-r)),transparent 0);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent calc(var(--hz-sx) * 100% - var(--hz-sl-r)),currentColor 0,currentColor calc(var(--hz-sx) * 100% + var(--hz-sl-r)),transparent 0),linear-gradient(transparent calc(var(--hz-sy) * 100% - var(--hz-sl-r)),currentColor 0,currentColor calc(var(--hz-sy) * 100% + var(--hz-sl-r)),transparent 0);mask-composite:intersect}

.fs-hz .hz-sl-stage[data-hz-all] .hz-sl-under{-webkit-mask-image:none;mask-image:none}
.fs-hz .hz-sl-stage[data-hz-all] .hz-sl-lens{opacity:0}
.fs-hz .hz-sl-ctl{display:flex;flex-wrap:wrap;align-items:center;gap:.625rem .875rem;margin-top:.875rem}
.fs-hz .hz-sl-help{flex:1 1 18rem;margin:0;font-size:.875rem;line-height:1.5}
.fs-hz .hz-sl-pause{display:none}
@keyframes hz-sl-glide{from{--hz-sx:.14;--hz-sy:.32}}
@keyframes hz-sl-sweep{0%,100%{--hz-sx:.2;--hz-sy:.36}25%{--hz-sx:.78;--hz-sy:.3}50%{--hz-sx:.8;--hz-sy:.7}75%{--hz-sx:.3;--hz-sy:.72}}
.fs-hz:not([data-hz-settled]) .hz-sl-stage[data-hz-sweep]:not([data-hz-user]){animation:hz-sl-glide 1.2s cubic-bezier(.2,.7,.2,1) .4s backwards}

/* ── Entrance (set 1's keyframes; once per arrival) ── */
.fs-hz:not([data-hz-settled]) :is(.hz-fd-art,.hz-bk-art)>.hz-frame{animation:hz-enter-art .85s cubic-bezier(.2,.7,.2,1) .2s both}

/* ── Tiers ── */
/* Wide: the Chooser head puts its line beside the title. Reveal's arrival nudge (not on phones, which switch). */
@container hz (min-width: 60rem){
  .fs-hz .hz-ch-head{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);column-gap:clamp(2rem,5cqi,5rem);align-items:end;max-width:none}
  .fs-hz .hz-ch-head>*{grid-column:1}
  .fs-hz .hz-ch-head>.hz-intro{grid-column:2;grid-row:1 / span 9;align-self:end;margin-top:0;padding-bottom:.35em}
}
@container hz (min-width: 40rem){
  .fs-hz .hz-rv-stage[data-hz-nudge]:not([data-hz-user]){animation:hz-rv-nudge 1.9s cubic-bezier(.45,0,.3,1) 1s both}
}
@container hz (max-width: 59.99rem){
  .fs-hz .hz-ch-list[data-n="4"]{--hz-n:2}
  .fs-hz .hz-fd-grid{grid-template-columns:minmax(0,1fr) minmax(0,.72fr);gap:2.5rem}
  .fs-hz .hz-bk-in{grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:0 2.5rem}
  .fs-hz .hz-rv-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:2.5rem}
  .fs-hz .hz-sl-head{grid-template-columns:minmax(0,1fr)}
  .fs-hz .hz-sl-side>.hz-intro{margin-top:1.5rem}
}
@container hz (max-width: 49.99rem){
  .fs-hz .hz-ch-list,.fs-hz .hz-ch-list[data-n="4"]{--hz-n:1;gap:.75rem}
  .fs-hz .hz-ch-card{flex-direction:row;align-items:stretch}
  .fs-hz .hz-ch-fig{width:8.25rem;aspect-ratio:1 / 1;align-self:flex-start}
  .fs-hz .hz-ch-body{padding:.75rem 1rem}
  .fs-hz .hz-fd-grid{grid-template-columns:minmax(0,1fr)}
  .fs-hz .hz-fd-art{width:100%;max-width:34rem}
  .fs-hz .hz-fd-art>.hz-frame{aspect-ratio:16 / 9}
  .fs-hz .hz-rv-grid{grid-template-columns:minmax(0,1fr)}
  .fs-hz .hz-rv-side{width:100%;max-width:40rem}
}
@container hz (max-width: 39.99rem){
  .fs-hz .hz-sl-stage{aspect-ratio:4 / 3;--hz-sl-r:clamp(3rem,17cqi,4.875rem)}
  .fs-hz .hz-sl-stage[data-hz-sweep]:not([data-hz-user]):not([data-hz-all]){animation:hz-sl-sweep 14s ease-in-out infinite}
  .fs-hz .hz-sl-stage[data-hz-sweep][data-hz-paused]:not([data-hz-user]){animation-play-state:paused}
  .fs-hz .hz-sl-pause{display:inline-flex}
  .fs-hz .hz-sl-ctl .hz-tbtn{flex:1 1 auto}
  .fs-hz :is(.hz-ch,.hz-fd-grid,.hz-rv-grid){padding-block:2rem 3rem}
  .fs-hz :is(.hz-bk-in,.hz-sl){padding-block:1.75rem 3rem}
  .fs-hz:is([data-hz="chooser"],[data-hz="finder"],[data-hz="booking"],[data-hz="reveal"],[data-hz="spotlight"]) .hz-title{font-size:calc(clamp(2.125rem,10.4cqi,2.625rem) * var(--hz-k))}
  .fs-hz .hz-ch-ask{font-size:1.3125rem;margin-bottom:.75rem}
  .fs-hz .hz-ch-fig{width:6rem}
  .fs-hz .hz-ch-body{padding:.625rem .875rem;gap:.25rem}
  .fs-hz .hz-ch-t{font-size:1.1875rem}
  .fs-hz .hz-ch-d{font-size:.875rem}
  .fs-hz .hz-ch-go{padding-top:.5rem}
  .fs-hz .hz-find-row{flex-direction:column}
  .fs-hz .hz-find-row>.hz-btn{width:100%}
  .fs-hz .hz-fd-art>.hz-frame{aspect-ratio:4 / 3}
  .fs-hz .hz-res{padding:.875rem;gap:.125rem .75rem}
  .fs-hz .hz-bk-in{grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "card" "art"}
  .fs-hz .hz-bk-art{margin-top:1.5rem}
  .fs-hz .hz-bk-art>.hz-frame{aspect-ratio:16 / 9}
  .fs-hz .hz-bk-card{margin-top:1.75rem;padding:1rem .5rem}
  .fs-hz .hz-bk-head,.fs-hz .hz-times,.fs-hz .hz-bk-foot,.fs-hz .hz-bk-sample{margin-inline:.25rem}
  .fs-hz .hz-days{gap:.125rem}
  .fs-hz .hz-day{min-height:4.125rem;padding:.5rem 0 .625rem;gap:.1875rem}
  .fs-hz .hz-day .w{font-size:.625rem;letter-spacing:.06em}
  .fs-hz .hz-day .n{font-size:1.3125rem}
  .fs-hz .hz-day .c{display:none}
  .fs-hz .hz-day:not(.is-off)::after{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
  .fs-hz .hz-bk-foot>.hz-btn{width:100%}
  .fs-hz .hz-rv-stage{aspect-ratio:4 / 3;cursor:pointer;transition:--hz-rv-at .45s cubic-bezier(.2,.7,.2,1)}
  .fs-hz .hz-rv-stage[data-hz-show="a"]{--hz-rv-at:0}
  .fs-hz .hz-rv-stage[data-hz-show="b"]{--hz-rv-at:100}
  .fs-hz :is(.hz-rv-range,.hz-rv-line){display:none}
  .fs-hz .hz-rv-sw{display:flex}
  .fs-hz .hz-rv-stage[data-hz-show="a"] .hz-rv-tag.is-b,.fs-hz .hz-rv-stage[data-hz-show="b"] .hz-rv-tag.is-a{display:none}
}

/* Reduced motion: nothing moves on its own, so the sweep's Pause goes (the
   lens rests at home; HZ_REDUCED_CSS stops every animation). */
@media (prefers-reduced-motion: reduce){.fs-hz .hz-sl-pause{display:none}}


.fs-hz .hz-sl{position:relative;min-width:0}
.fs-hz .hz-sl-ctl{display:flex;flex-wrap:wrap;align-items:center;gap:.625rem .75rem;min-width:0}
.fs-hz :is(.hz-sl-pp,.hz-sl-nb){display:inline-flex;align-items:center;justify-content:center;gap:.5625rem;flex:none;min-width:3rem;min-height:3rem;margin:0;padding:0 1rem;border:1.5px solid var(--hz-ctl-fg);border-radius:var(--hz-ctl-r);background:var(--hz-ctl-bg);color:var(--hz-ctl-fg);font:700 .8125rem/1 var(--hz-f-body);letter-spacing:.06em;cursor:pointer;transition:background-color .2s ease,color .2s ease}
.fs-hz :is(.hz-sl-pp,.hz-sl-nb):hover{background:color-mix(in srgb, var(--hz-ctl-fg) 12%, var(--hz-ctl-bg))}
.fs-hz .hz-sl-nb{width:3rem;padding:0}
.fs-hz .hz-sl-nav{display:flex;gap:.5rem;flex:none}
.fs-hz .hz-arr{display:block}
.fs-hz .hz-arr[data-hz-turn="180"]{rotate:180deg}
.fs-hz .hz-arr[data-hz-turn="90"]{rotate:90deg}
.fs-hz .hz-arr[data-hz-turn="-90"]{rotate:-90deg}
.fs-hz .hz-ico{position:relative;display:inline-block;flex:none;width:12px;height:12px}
.fs-hz .hz-ico.is-pause::before,.fs-hz .hz-ico.is-pause::after{content:'';position:absolute;top:0;bottom:0;width:4px;background:currentColor}
.fs-hz .hz-ico.is-pause::before{left:1px}
.fs-hz .hz-ico.is-pause::after{right:1px}
.fs-hz .hz-ico.is-play::before{content:'';position:absolute;left:2px;top:0;border-style:solid;border-width:6px 0 6px 10px;border-color:transparent transparent transparent currentColor}
.fs-hz .hz-sl-pp .hz-ppt{display:grid}
.fs-hz .hz-sl-pp .hz-ppt>*{grid-area:1/1}
.fs-hz .hz-sl-pp:not([data-hz-boot])[data-hz-on="pause"] :is(.is-play,.hz-ppn-y),.fs-hz .hz-sl-pp:not([data-hz-boot])[data-hz-on="play"] :is(.is-pause,.hz-ppn-p){display:none}
.fs-hz .hz-sl-pp:not([data-hz-boot])[data-hz-on="pause"] .hz-ppt-y,.fs-hz .hz-sl-pp:not([data-hz-boot])[data-hz-on="play"] .hz-ppt-p{visibility:hidden}
@media (prefers-reduced-motion: no-preference){ .fs-hz:where(:not([data-fs-motion-level="off"] *)) .hz-sl-pp[data-hz-boot] :is(.is-play,.hz-ppn-y){display:none} .fs-hz:where(:not([data-fs-motion-level="off"] *)) .hz-sl-pp[data-hz-boot] .hz-ppt-y{visibility:hidden} }
@media (prefers-reduced-motion: reduce){ .fs-hz .hz-sl-pp[data-hz-boot] :is(.is-pause,.hz-ppn-p){display:none} .fs-hz .hz-sl-pp[data-hz-boot] .hz-ppt-p{visibility:hidden} }
.fs-hz .hz-sl-dots{display:flex;flex:1 1 18rem;gap:.5rem;min-width:0}
.fs-hz .hz-sl-dot{position:relative;flex:1 1 0;display:flex;align-items:center;gap:.625rem;min-width:2.75rem;min-height:3rem;margin:0;padding:.875rem .25rem .625rem;border:0;background:transparent;color:inherit;font:600 .875rem/1.2 var(--hz-f-body);text-align:left;cursor:pointer}
.fs-hz .hz-sl-n{flex:none;font-weight:700;font-variant-numeric:tabular-nums}
.fs-hz .hz-sl-dot{container:hzpk / inline-size}
.fs-hz .hz-sl-l{min-width:0;overflow:hidden;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
@container hzpk (max-width: 6.99rem){ .fs-hz .hz-sl-l{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0} }
.fs-hz .hz-sl-dot:hover .hz-sl-l{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1.5px}
.fs-hz .hz-sl-prog{position:absolute;left:0;right:0;top:0;height:3px;overflow:hidden;background:color-mix(in srgb, currentColor 20%, transparent)}
.fs-hz .hz-sl-prog>[data-hz-bar]{position:absolute;inset:0;display:block;background:var(--ha-brand)}
.fs-hz .hz-sl-dot[data-hz-cur] [data-hz-bar]{--hz-bar:1}
.fs-hz .hz-sl-count{display:inline-flex;align-items:baseline;gap:.375rem;margin:0;font:600 .8125rem/1 var(--hz-f-body);letter-spacing:.08em;white-space:nowrap}
.fs-hz .hz-sl-count b{display:inline-block;min-width:1.6em;text-align:right;font:700 1.375rem/1 var(--hz-f-display);font-variant-numeric:tabular-nums}
.fs-hz .hz-sl-words{min-width:0}
.fs-hz .hz-sl-words>.hz-slide{min-width:0}
.fs-hz .hz-sl [data-hz-words]:not([data-hz-words="0"]):not([data-hz-state]){visibility:hidden}
.fs-hz .hz-sl [data-hz-words][data-hz-state="in"]:not([data-hz-layer]){transition:opacity 200ms linear,visibility 0s}
.fs-hz .hz-sl [data-hz-words]:not([data-hz-layer])>*{animation:none;opacity:0;translate:0 10px;transition:opacity 0s linear .22s,translate 0s linear .22s}
.fs-hz .hz-sl :is([data-hz-words][data-hz-state="in"],[data-hz-words="0"]:not([data-hz-state])):not([data-hz-layer])>*{opacity:1;translate:none;transition:opacity 600ms cubic-bezier(.22,.61,.36,1) calc(var(--hz-i,0) * 90ms),translate 650ms cubic-bezier(.22,.61,.36,1) calc(var(--hz-i,0) * 90ms)}
.fs-hz:not([data-hz-settled]) .hz-sl [data-hz-words="0"]>[data-hz-in]{animation:hz-enter .62s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--hz-i,0) * 90ms + 60ms)}
.fs-hz .hz-sl [data-hz-layer]:not([data-hz-layer="card"]):not([data-hz-k="0"]){visibility:hidden}
.fs-hz .hz-sl [data-hz-stage]{touch-action:pan-y;-webkit-user-select:none;user-select:none}
.fs-hz:not([data-hz-settled]) .hz-sl-ctl{animation:hz-enter .6s cubic-bezier(.2,.7,.2,1) .5s both}

.fs-hz .hz-mo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.45fr) minmax(0,1fr);grid-template-areas:"l copy r" "l under r";column-gap:clamp(1.5rem,3.4cqi,3.5rem);align-items:center;padding-block:clamp(3rem,6cqi,6rem)}
.fs-hz .hz-mo-copy{grid-area:copy;align-items:center;text-align:center}
.fs-hz .hz-mo-copy :is(.hz-acts,.hz-trust){justify-content:center}
.fs-hz .hz-mo-copy .hz-intro{max-width:36ch}
.fs-hz[data-hz="mosaic"] .hz-title{font-size:calc(clamp(2.375rem,4.5cqi,4rem) * var(--hz-k))}
.fs-hz .hz-mo-col{display:flex;flex-direction:column;gap:clamp(1rem,2.2cqi,2rem);min-width:0}
.fs-hz .hz-mo-col.is-l{grid-area:l;padding-bottom:clamp(1.5rem,4cqi,4rem)}
.fs-hz .hz-mo-col.is-r{grid-area:r;padding-top:clamp(4.5rem,6.6cqi,6rem)}
.fs-hz .hz-mo[data-tiles="3"] .hz-mo-col.is-r{padding-top:0}
.fs-hz .hz-mo-under{grid-area:under;margin-top:2rem;min-width:0}
.fs-hz .hz-mo-s{position:relative;min-width:0;--hz-d:6px;translate:calc(var(--hz-px,0) * var(--hz-d)) calc(var(--hz-py,0) * var(--hz-d));transition:translate .5s cubic-bezier(.2,.7,.2,1)}
.fs-hz .hz-mo-s[data-hz-depth="1"]{--hz-d:5px}
.fs-hz .hz-mo-s[data-hz-depth="3"]{--hz-d:12px}
.fs-hz .hz-mo-s[data-hz-depth="4"]{--hz-d:16px}
.fs-hz .hz-mo-s.k1{width:100%;--hz-ar:4 / 5}
.fs-hz .hz-mo-s.k2{width:86%;--hz-ar:4 / 5}
.fs-hz .hz-mo-s.k3{width:78%;align-self:flex-end;--hz-ar:4 / 3}
.fs-hz .hz-mo-s.k4{width:80%;align-self:center;--hz-ar:1 / 1}
.fs-hz .hz-mo-s.k5{width:100%;--hz-ar:21 / 9}
.fs-hz .hz-mo-a{display:block;color:inherit;transition:translate .3s cubic-bezier(.2,.7,.2,1)}
.fs-hz .hz-mo-a>.hz-frame{aspect-ratio:var(--hz-ar)}
.fs-hz a.hz-mo-a:hover{translate:0 -4px}
.fs-hz:not([data-hz-settled]) .hz-mo-a{animation:hz-enter-art .85s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--hz-t,0) * 110ms + 160ms)}

.fs-hz .hz-ca{display:flex;flex-direction:column;padding-block:clamp(2.5rem,5cqi,5rem) clamp(1.5rem,3cqi,2.5rem)}
.fs-hz .hz-ca>.hz-sl-ctl{order:2;flex-wrap:wrap;align-items:stretch;margin-top:clamp(1.75rem,3.2cqi,3rem)}
.fs-hz .hz-ca-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:clamp(2rem,5cqi,5rem);align-items:center}
.fs-hz[data-hz="carousel"] .hz-title{font-size:calc(clamp(2.375rem,4.7cqi,4.125rem) * var(--hz-k))}
.fs-hz .hz-ca-stage{position:relative;aspect-ratio:4 / 3;overflow:hidden;isolation:isolate;border:var(--hz-frame-bd);border-radius:var(--hz-frame-r);box-shadow:var(--hz-frame-sh);background:var(--ha-sunk)}
.fs-hz .hz-ca-pic{position:absolute;inset:0}
.fs-hz .hz-ca-pic>.hz-pic{position:absolute;inset:0;width:100%;height:100%}
.fs-hz .hz-ca .hz-sl-count{display:none}
.fs-hz:not([data-hz-settled]) .hz-ca-stage{animation:hz-enter-fade .9s ease-out both}

.fs-hz .hz-vd-stage{position:relative;display:grid;align-items:center;min-height:clamp(34rem,46cqi,48rem);padding:clamp(2rem,4.4cqi,4.5rem) var(--hz-edge) clamp(5.5rem,8cqi,7rem)}
.fs-hz .hz-vd-media{position:absolute;inset:0;z-index:0}
.fs-hz .hz-vd-media>.hz-pic{position:absolute;inset:0;width:100%;height:100%}
.fs-hz .hz-vd-stage>.hz-panel{z-index:1;justify-self:start;width:min(100%,var(--hz-panel-w));padding:clamp(1.5rem,2.8cqi,2.5rem)}
.fs-hz .hz-vd-stage[data-hz-panel-pos="center"]>.hz-panel{justify-self:center;text-align:center}
.fs-hz .hz-vd-stage[data-hz-panel-pos="center"]>.hz-panel .hz-copy{align-items:center}
.fs-hz .hz-vd-stage[data-hz-panel-pos="center"]>.hz-panel :is(.hz-acts,.hz-trust){justify-content:center}
.fs-hz[data-hz="video"] .hz-title{font-size:calc(clamp(2.25rem,3.9cqi,3.625rem) * var(--hz-k))}
.fs-hz .hz-vd-ctl{position:absolute;right:var(--hz-edge);bottom:clamp(1.25rem,2.6cqi,2.25rem);z-index:2;display:flex}
.fs-hz .hz-vd-ctl[hidden]{display:none}
.fs-hz:not([data-hz-settled]) .hz-vd-media{animation:hz-enter-fade .9s ease-out both}
.fs-hz:not([data-hz-settled]) .hz-vd-stage>.hz-panel{animation:hz-enter .7s cubic-bezier(.2,.7,.2,1) .25s both}

.fs-hz .hz-sh{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr);gap:clamp(2rem,4.4cqi,4.5rem);align-items:center;padding-block:clamp(3rem,6cqi,6rem)}
.fs-hz[data-hz="showcase"] .hz-title{font-size:calc(clamp(2.25rem,4.1cqi,3.625rem) * var(--hz-k))}
.fs-hz .hz-copy>.hz-sh-hint{margin-top:1.25rem;font-size:.84375rem;line-height:1.45}
.fs-hz .hz-sh-stage{min-width:0}
.fs-hz .hz-sh-obj{position:relative}
.fs-hz .hz-sh-pins{position:absolute;inset:0;z-index:3;pointer-events:none}
.fs-hz .hz-sh-pins :is(.hz-cl-btn,.hz-cl-card){pointer-events:auto}
.fs-hz .hz-cl-btn{position:absolute;left:var(--hz-x);top:var(--hz-y);display:grid;place-items:center;width:2.75rem;height:2.75rem;margin:-1.375rem 0 0 -1.375rem;padding:0;border:2px solid var(--hz-pin-fg);border-radius:50%;background:var(--hz-pin-bg);color:var(--hz-pin-fg);font:700 .8125rem/1 var(--hz-f-body);cursor:pointer;transition:scale .2s cubic-bezier(.2,.7,.2,1)}
.fs-hz[data-hz-pins="square"] :is(.hz-cl-btn,.hz-sh-list .hz-cl-n){border-radius:0}
.fs-hz[data-hz-pins="plate"] .hz-cl-btn{border-radius:4px}
.fs-hz[data-hz-pins="orb"] .hz-cl-btn{border-color:transparent;box-shadow:0 0 0 4px color-mix(in srgb, var(--hz-pin-bg) 30%, transparent),0 6px 18px -6px var(--hz-glow)}
.fs-hz[data-hz-pins="ring"] .hz-cl-btn{background:var(--hz-ctl-bg);color:var(--hz-ctl-fg);border:3px solid var(--hz-pin-bg)}
.fs-hz .hz-cl-btn::after{content:'';position:absolute;inset:-5px;border:2px solid var(--hz-pin-bg);border-radius:inherit;opacity:0;animation:hz-sh-ping 2.8s ease-out infinite;animation-delay:calc(var(--hz-t,0) * .5s)}
@keyframes hz-sh-ping{0%{opacity:.7;transform:scale(.9)}70%,100%{opacity:0;transform:scale(1.35)}}
.fs-hz :is(.hz-sh[data-hz-callouts="always"],.hz-cl[data-hz-open]) .hz-cl-btn::after{animation:none}
.fs-hz .hz-cl-btn:is(a, button, [tabindex], input, select, textarea, summary):not([contenteditable]):focus-visible::after{animation:none}
.fs-hz :is(button.hz-cl-btn:hover,.hz-cl-btn[aria-expanded="true"]){scale:1.08}
.fs-hz .hz-cl-ln{position:absolute;left:var(--hz-x);width:2px;height:1.625rem;margin-left:-1px;background:currentColor;opacity:0;transition:opacity .2s ease;pointer-events:none}
.fs-hz .hz-cl[data-side="t"] .hz-cl-ln{top:calc(var(--hz-y) - 3rem)}
.fs-hz .hz-cl[data-side="b"] .hz-cl-ln{top:calc(var(--hz-y) + 1.375rem)}
.fs-hz .hz-cl:is([data-side="l"],[data-side="r"]) .hz-cl-ln{top:var(--hz-y);height:2px;margin:-1px 0 0}
.fs-hz .hz-cl[data-side="l"] .hz-cl-ln{left:min(12rem,27%);width:max(0px, calc(var(--hz-x) - min(12rem,27%) - 1.375rem))}
.fs-hz .hz-cl[data-side="r"] .hz-cl-ln{left:calc(var(--hz-x) + 1.375rem);width:max(0px, calc(100% - var(--hz-x) - 1.375rem - min(12rem,27%)))}
.fs-hz .hz-cl-card{position:absolute;z-index:1;display:grid;gap:.25rem;margin:0;width:min(14rem,44%);left:clamp(0px, calc(var(--hz-x) - 7rem), calc(100% - min(14rem,44%)));padding:.75rem .875rem .8125rem;background:var(--hz-cell-bg);color:var(--ha-ink);border:var(--hz-cell-bd);border-radius:var(--hz-cell-r);box-shadow:var(--hz-panel-sh);opacity:0;visibility:hidden;translate:0 calc(var(--hz-cl-from,6px) + var(--hz-cl-dy,0px));transition:opacity .2s ease,translate .25s cubic-bezier(.2,.7,.2,1),visibility 0s linear .25s}
.fs-hz .hz-cl[data-side="t"] .hz-cl-card{bottom:calc(100% - var(--hz-y) + 3rem)}
.fs-hz .hz-cl[data-side="b"] .hz-cl-card{top:calc(var(--hz-y) + 3rem);--hz-cl-from:-6px}
.fs-hz .hz-cl:is([data-side="l"],[data-side="r"]) .hz-cl-card{top:clamp(0px, calc(var(--hz-y) - 2rem), calc(100% - 6rem));width:min(12rem,27%);--hz-cl-from:0px}
.fs-hz .hz-cl[data-side="l"] .hz-cl-card{left:0}
.fs-hz .hz-cl[data-side="r"] .hz-cl-card{left:auto;right:0}
.fs-hz .hz-cl-card b{font:700 .9375rem/1.25 var(--hz-f-display)}
.fs-hz .hz-cl-card span{font-size:.84375rem;line-height:1.45}
.fs-hz .hz-sh-stage:not([data-hz-shut]) .hz-cl:hover :is(.hz-cl-card,.hz-cl-ln),.fs-hz .hz-sh-stage:not([data-hz-shut]) .hz-cl :is(a, button, [tabindex], input, select, textarea, summary):not([contenteditable]):focus-visible~:is(.hz-cl-card,.hz-cl-ln),.fs-hz .hz-cl[data-hz-open] :is(.hz-cl-card,.hz-cl-ln),.fs-hz .hz-sh[data-hz-callouts="always"] :is(.hz-cl-card,.hz-cl-ln){opacity:1;visibility:visible;translate:0 var(--hz-cl-dy,0px);transition:opacity .2s ease,translate .25s cubic-bezier(.2,.7,.2,1),visibility 0s}
/* One callout at a time: while the pointer is over a pin, every other pin's card steps aside (a focused or click-open one too). */
.fs-hz .hz-sh[data-hz-callouts="hover"] .hz-sh-pins:has(.hz-cl:hover) .hz-cl:not(:hover) :is(.hz-cl-card,.hz-cl-ln){opacity:0;visibility:hidden}
.fs-hz .hz-sh-stage:not([data-hz-shut]) .hz-cl:hover .hz-cl-card,.fs-hz .hz-cl[data-hz-open] .hz-cl-card{z-index:2}
.fs-hz .hz-sh-list{display:none;margin:1rem 0 0;padding:0;list-style:none;gap:.5rem}
.fs-hz .hz-sh-list li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.75rem;align-items:start;padding:.625rem .75rem;font-size:.90625rem;line-height:1.45;border-radius:var(--hz-cell-r);transition:background-color .2s ease}
.fs-hz .hz-sh-list li[data-hz-on]{background:color-mix(in srgb, var(--ha-brand) 12%, transparent)}
.fs-hz .hz-sh-list b{display:block;font:700 .9375rem/1.3 var(--hz-f-display)}
.fs-hz .hz-sh-list .hz-cl-n{display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--hz-pin-bg);color:var(--hz-pin-fg);font-size:.8125rem;font-weight:700}
.fs-hz:not([data-hz-settled]) .hz-sh-obj>.hz-frame{animation:hz-enter-art .85s cubic-bezier(.2,.7,.2,1) .2s both}

.fs-hz .hz-ps{container:hzps / inline-size;--hz-vh:1vh;--hz-ps-top:0px;--hz-ps-h:max(36rem, calc(100 * var(--hz-vh) - var(--hz-ps-top)))}
@supports (height: 1svh){ .fs-hz .hz-ps{--hz-vh:1svh} }
.fs-hz .hz-ps-pin{position:relative;padding-block:clamp(3rem,6cqi,6rem)}
.fs-hz .hz-ps-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:2.5rem;align-items:center}
.fs-hz[data-hz="pinned"] .hz-title{font-size:calc(clamp(2.25rem,4.3cqi,3.75rem) * var(--hz-k))}
.fs-hz .hz-ps-steps{display:none;gap:.5rem;width:100%;max-width:30rem;margin:2rem 0 0;padding:0;list-style:none}
.fs-hz .hz-copy>.hz-ps-steps{margin-top:2rem}
.fs-hz .hz-ps-step{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.875rem;align-items:center;width:100%;min-height:3.25rem;margin:0;padding:.5rem .875rem;border:1.5px solid var(--hz-line);border-radius:var(--hz-cell-r);background:var(--hz-ctl-bg);color:var(--hz-ctl-fg);font:inherit;text-align:left;cursor:pointer;transition:background-color .25s ease,color .25s ease}
.fs-hz .hz-ps-step:hover{border-color:var(--hz-ctl-fg);box-shadow:inset 0 0 0 1px var(--hz-ctl-fg)}
.fs-hz .hz-ps-step[aria-current="step"]:hover b{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}
.fs-hz .hz-ps-step[aria-current="step"]{background:var(--hz-ctl-fg);border-color:var(--hz-ctl-fg);color:var(--hz-ctl-bg)}
.fs-hz .hz-ps-step b{display:block;font:700 .9375rem/1.25 var(--hz-f-display)}
.fs-hz .hz-ps-step span span{display:block;font-size:.84375rem;line-height:1.35}
.fs-hz .hz-num{font-weight:700;font-variant-numeric:tabular-nums}
.fs-hz .hz-ps-stage{position:relative;width:100%;margin-inline:auto}
.fs-hz .hz-ps-frames{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2.4cqi,2rem)}
.fs-hz .hz-ps-f{min-width:0}
.fs-hz .hz-ps-pic{aspect-ratio:4 / 5}
.fs-hz .hz-ps-pic>.hz-frame{height:100%}
.fs-hz .hz-ps-cap{margin:.75rem 0 0;font-size:.875rem;line-height:1.45}
.fs-hz .hz-ps-rail{display:none}
.fs-hz:not([data-hz-settled]) .hz-ps-frames{animation:hz-enter-art .85s cubic-bezier(.2,.7,.2,1) .2s both}
@media (prefers-reduced-motion: no-preference){
@container hzps (min-width: 47.5rem){
  .fs-hz:where(:not([data-fs-motion-level="off"] *)) .hz-ps:not([data-hz-stacked]) .hz-ps-track{position:relative;height:calc(max(36rem, calc(100 * var(--hz-vh))) + 150 * var(--hz-vh))}
  .fs-hz:where(:not([data-fs-motion-level="off"] *)) .hz-ps:not([data-hz-stacked]) .hz-ps-pin{position:sticky;top:var(--hz-ps-top);display:flex;align-items:center;height:var(--hz-ps-h);max-height:62rem;padding-block:1.5rem}
  .fs-hz:where(:not([data-fs-motion-level="off"] *)) .hz-ps:not([data-hz-stacked]) .hz-ps-pin>.hz-wrap{width:100%}
  .fs-hz:where(:not([data-fs-motion-level="off"] *)) .hz-ps:not([data-hz-stacked]) .hz-ps-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5cqi,5.5rem)}
  .fs-hz:where(:not([data-fs-motion-level="off"] *)) .hz-ps:not([data-hz-stacked]) .hz-ps-steps{display:grid}
  .fs-hz:where(:not([data-fs-motion-level="off"] *)) .hz-ps:not([data-hz-stacked]) .hz-ps-stage{width:min(100%, calc((min(var(--hz-ps-h), 62rem) - 4rem) * .8))}
  .fs-hz:where(:not([data-fs-motion-level="off"] *)) .hz-ps:not([data-hz-stacked]) .hz-ps-frames{grid-template-columns:minmax(0,1fr);gap:0}
  .fs-hz:where(:not([data-fs-motion-level="off"] *)) .hz-ps:not([data-hz-stacked]) .hz-ps-f{grid-area:1/1;opacity:0;visibility:hidden;translate:0 18px;scale:.985;transition:opacity .5s ease,translate .7s cubic-bezier(.2,.7,.2,1),scale .7s cubic-bezier(.2,.7,.2,1),visibility 0s linear .7s}
  .fs-hz:where(:not([data-fs-motion-level="off"] *)) .hz-ps:not([data-hz-stacked]):is([data-hz-beat="0"]) .hz-ps-f[data-b="0"],.fs-hz:where(:not([data-fs-motion-level="off"] *)) .hz-ps:not([data-hz-stacked]):is([data-hz-beat="1"]) .hz-ps-f[data-b="1"],.fs-hz:where(:not([data-fs-motion-level="off"] *)) .hz-ps:not([data-hz-stacked]):is([data-hz-beat="2"]) .hz-ps-f[data-b="2"]{opacity:1;visibility:visible;translate:none;scale:none;transition:opacity .5s ease,translate .7s cubic-bezier(.2,.7,.2,1),scale .7s cubic-bezier(.2,.7,.2,1),visibility 0s}
  .fs-hz:where(:not([data-fs-motion-level="off"] *)) .hz-ps:not([data-hz-stacked]) .hz-ps-cap{display:none}
  .fs-hz:where(:not([data-fs-motion-level="off"] *)) .hz-ps:not([data-hz-stacked]) .hz-ps-rail{display:block;position:absolute;top:0;bottom:0;right:calc(-1 * clamp(1rem,2cqi,1.75rem));width:3px;background:color-mix(in srgb, currentColor 15%, transparent)}
  .fs-hz:where(:not([data-fs-motion-level="off"] *)) .hz-ps:not([data-hz-stacked]) .hz-ps-rail i{position:absolute;inset:0;background:var(--ha-brand);transform:scaleY(var(--hz-ps-p,0));transform-origin:50% 0;transition:transform .15s linear}
}
}

@container hz (max-width: 59.99rem){
  .fs-hz .hz-mo{grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr) minmax(0,.9fr);column-gap:1.75rem}
  .fs-hz .hz-ca-main{grid-template-columns:minmax(0,1fr) minmax(0,.94fr);gap:2.25rem}
  .fs-hz .hz-sh{grid-template-columns:minmax(0,1fr);gap:2rem}
  .fs-hz .hz-sh-copy{max-width:40rem}
  .fs-hz .hz-ps-step span span{display:none}
}
@container hz (max-width: 43.99rem){
  .fs-hz .hz-mo{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"copy copy" "l r" "under under";gap:1.5rem 1rem;align-items:start}
  .fs-hz .hz-mo-col.is-l{padding-bottom:0}
  .fs-hz .hz-mo-col.is-r{padding-top:3rem}
  .fs-hz .hz-mo-under{margin-top:0}
}
@container hz (max-width: 39.99rem){
  .fs-hz .hz-mo{padding-block:2rem 3rem}
  .fs-hz .hz-mo-col{gap:.75rem}
  .fs-hz .hz-mo-col.is-r{padding-top:2.5rem}
  .fs-hz[data-hz="mosaic"] .hz-title{font-size:calc(clamp(2.125rem,10.6cqi,2.625rem) * var(--hz-k))}
  .fs-hz .hz-ca{padding-block:0 2rem}
  .fs-hz .hz-ca-main{grid-template-columns:minmax(0,1fr);gap:1.5rem;align-items:start}
  .fs-hz .hz-ca-stage{order:-1;margin-inline:calc(var(--hz-gut) * -1);border-radius:0;box-shadow:none}
  .fs-hz[data-hz="carousel"] .hz-title{font-size:calc(clamp(2rem,9.8cqi,2.5rem) * var(--hz-k))}
  .fs-hz .hz-ca>.hz-sl-ctl{flex-wrap:wrap;margin-top:1.5rem}
  .fs-hz .hz-ca .hz-sl-nav{margin-left:auto}
  .fs-hz .hz-ca .hz-sl-dots{order:3;flex-basis:100%;gap:.375rem}
  .fs-hz .hz-ca .hz-sl-dot{justify-content:center;padding-inline:0}
  .fs-hz .hz-ca .hz-sl-l{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .fs-hz .hz-vd-stage{display:block;min-height:0;padding:0}
  .fs-hz .hz-vd-media{position:relative;inset:auto;aspect-ratio:4 / 3}
  .fs-hz .hz-vd-stage>.hz-panel{width:auto;margin:-48px var(--hz-gut) 0;padding:1.5rem 1.25rem 1.75rem}
  .fs-hz[data-hz="video"] .hz-title{font-size:calc(clamp(2rem,9.8cqi,2.5rem) * var(--hz-k))}
  .fs-hz .hz-vd-ctl{top:.75rem;right:.75rem;bottom:auto}
  .fs-hz .hz-sh{padding-block:2rem 3rem}
  .fs-hz[data-hz="showcase"] .hz-title{font-size:calc(clamp(2rem,9.8cqi,2.5rem) * var(--hz-k))}
  .fs-hz .hz-sh-hint{display:none}
  .fs-hz :is(.hz-cl-card,.hz-cl-ln){display:none!important}
  .fs-hz .hz-cl-btn::after{display:none}
  .fs-hz .hz-sh-list{display:grid}
  .fs-hz .hz-sh-obj{margin-inline:calc(var(--hz-gut) * -1)}
  .fs-hz .hz-sh-obj>.hz-frame{border-radius:0;rotate:none}
  .fs-hz[data-hz="pinned"] .hz-title{font-size:calc(clamp(2rem,9.8cqi,2.5rem) * var(--hz-k))}
  .fs-hz .hz-ps-pin{padding-block:2rem 3rem}
  .fs-hz .hz-ps-frames{grid-template-columns:minmax(0,1fr);gap:1.75rem}
  .fs-hz .hz-ps-pic{aspect-ratio:1 / 1}
}
/* Site layouts (wide and middle tiers): Centered centres the words; Minimalist adds air. */
@container hz (min-width: 44rem){
  .fs-hz:where([data-fs-layout="centered"] *) :is(.hz-ca .hz-slide,.hz-sh-copy,.hz-ps-copy){align-items:center;text-align:center}
  .fs-hz:where([data-fs-layout="centered"] *) :is(.hz-ca .hz-slide,.hz-sh-copy,.hz-ps-copy) :is(.hz-acts,.hz-trust){justify-content:center}
  .fs-hz:where([data-fs-layout="centered"] *) .hz-sh-copy{margin-inline:auto}
  .fs-hz:where([data-fs-layout="centered"] *) .hz-vd-stage>.hz-panel{justify-self:center;text-align:center}
  .fs-hz:where([data-fs-layout="centered"] *) .hz-vd-stage>.hz-panel .hz-copy{align-items:center}
  .fs-hz:where([data-fs-layout="centered"] *) .hz-vd-stage>.hz-panel :is(.hz-acts,.hz-trust){justify-content:center}
  .fs-hz:where([data-fs-layout="minimal"] *) :is(.hz-mo,.hz-sh){padding-block:clamp(4.5rem,9cqi,7.5rem)}
}
/* Reduced motion: no drift, no ping (the animations are off in HZ_REDUCED_CSS);
   with nothing moving, Video's Pause steps aside. Sliders keep Play. */
@media (prefers-reduced-motion: reduce){ .fs-hz .hz-mo-s{translate:none;transition:none} .fs-hz .hz-vd-ctl{display:none} }


.fs-hz .hz-ctl{display:inline-flex;align-items:center;justify-content:center;gap:.5625rem;flex:none;min-height:2.75rem;min-width:2.75rem;margin:0;padding:0 1rem;background:var(--hz-ctl-bg);color:var(--hz-ctl-fg);border:1.5px solid var(--hz-line);border-radius:var(--hz-cell-r);font:600 .875rem/1 var(--hz-f-body);white-space:nowrap;cursor:pointer;transition:background-color .16s ease,border-color .16s ease}
.fs-hz .hz-ctl:hover{border-color:currentColor;background:color-mix(in srgb, var(--hz-ctl-fg) 8%, var(--hz-ctl-bg))}
.fs-hz .hz-ctl-i{display:block;flex:none;width:.625rem;height:.75rem;background:linear-gradient(90deg,currentColor 0 35%,transparent 35% 65%,currentColor 65%)}
.fs-hz [aria-pressed="true"]>.hz-ctl-i{width:.75rem;background:currentColor;clip-path:polygon(10% 0,100% 50%,10% 100%)}
.fs-hz .hz-sample{display:inline-block;margin-left:.375rem;padding:0 .45em;border:1px solid var(--hz-line);font:700 .625rem/1.7 var(--hz-f-body);letter-spacing:.1em;text-transform:uppercase;vertical-align:.2em;white-space:nowrap;font-style:normal}
.fs-hz .hz-bd-l>.hz-sample:first-child{margin:0 .375rem 0 0}
.fs-hz .hz-ed-note{margin:1rem 0 0;padding:.5rem .75rem;border:1px dashed var(--hz-line);border-radius:6px;font-size:.8125rem;line-height:1.4}
.fs-hz>.hz-of-note{width:calc(100% - 2.5rem);max-width:var(--fs-layout-max, var(--hz-theme-max));margin:1rem auto 0}
.fs-hz .hz-bd-l{margin:0;font-size:.90625rem;line-height:1.45}
.fs-hz .hz-bd-l b{font-weight:700}
.fs-hz .hz-stars{display:inline-flex;flex:none;gap:.25rem}
.fs-hz .hz-stars i{display:block;width:1.0625rem;height:1.0625rem;background:var(--hz-line);clip-path:polygon(50% 0,61.8% 35%,98% 35%,68.5% 57%,79.5% 91%,50% 70%,20.5% 91%,31.5% 57%,2% 35%,38.2% 35%)}
.fs-hz .hz-stars i.on{background:var(--hz-star)}
.fs-hz[data-hz-stars="square"] .hz-stars i{clip-path:none}
.fs-hz[data-hz-stars="spark"] .hz-stars i{clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%)}
.fs-hz[data-hz-stars="diamond"] .hz-stars i{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.fs-hz .hz-ini{display:inline-grid;place-items:center;flex:none;width:2.875rem;height:2.875rem;background:var(--hz-ini-bg);color:var(--hz-ini-fg);border-radius:50%;font:700 .875rem/1 var(--hz-f-display);letter-spacing:.04em}
.fs-hz[data-hz-initials="square"] .hz-ini{border-radius:0}
.fs-hz[data-hz-initials="roundel"] .hz-ini{box-shadow:inset 0 0 0 2px var(--hz-ini-fg),inset 0 0 0 4px var(--hz-ini-bg)}
.fs-hz[data-hz-initials="orb"] .hz-ini{box-shadow:0 0 0 4px color-mix(in srgb, var(--hz-ini-bg) 30%, transparent),0 6px 18px -6px var(--hz-glow)}

.fs-hz .hz-of-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(2rem,5.6cqi,6rem);align-items:center;padding-block:clamp(2.5rem,5.4cqi,5.5rem)}
.fs-hz .hz-of-grid[data-hz-mirror="1"] .hz-of-art{order:-1}
.fs-hz[data-hz="offer"] .hz-title{font-size:calc(clamp(1.125rem,1.6cqi,1.375rem) * var(--hz-k));line-height:1.25;text-wrap:pretty}
.fs-hz[data-hz="offer"] .hz-title::after{display:none}
.fs-hz .hz-copy>.hz-of-kick{margin-top:1rem}
.fs-hz .hz-of-h{margin:0;font-family:var(--hz-f-display);font-weight:var(--hz-title-w);font-size:calc(clamp(2.375rem,4.5cqi,4rem) * var(--hz-k));line-height:1.02;max-width:17ch;text-wrap:balance}
.fs-hz .hz-copy>.hz-of-h{margin-top:.75rem}
.fs-hz .hz-of-val{display:flex;flex-wrap:wrap;align-items:baseline;gap:.375rem 1.125rem}
.fs-hz .hz-of-val b{font-family:var(--hz-f-display);font-weight:var(--hz-fig-w);font-size:clamp(3.5rem,6.6cqi,6.25rem);line-height:.92;letter-spacing:-.035em;font-variant-numeric:tabular-nums;color:var(--hz-ctx-fig);white-space:nowrap}
.fs-hz .hz-of-was{font-size:1.25rem;font-weight:600;text-decoration-thickness:2px}
.fs-hz .hz-of-val>span{max-width:26ch;font-size:.96875rem;line-height:1.4}
.fs-hz .hz-copy>.hz-of-terms{margin-top:1rem;max-width:52ch;font-size:.9375rem;line-height:1.6}
.fs-hz :is(.hz-cd,.hz-spots){display:grid;justify-items:start;gap:.75rem;width:100%}
.fs-hz .hz-cd-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem}
.fs-hz .hz-cd-cells{display:flex;gap:.5rem;margin:0}
.fs-hz .hz-cd-cells .hz-cell{display:grid;justify-items:center;gap:.375rem;min-width:4.25rem;padding:.6875rem .5rem .625rem}
.fs-hz .hz-cd-cells b{font:var(--hz-fig-w) 1.875rem/1 var(--hz-f-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.fs-hz .hz-cd-cells small{font:700 .65625rem/1 var(--hz-f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--hz-cell-sub)}
.fs-hz .hz-pips{display:flex;flex-wrap:wrap;gap:.375rem}
.fs-hz .hz-pips i{display:block;width:1rem;height:1rem;border:2px solid var(--hz-line);border-radius:50%}
.fs-hz .hz-pips i.on{background:var(--ha-brand);border-color:var(--ha-brand)}
.fs-hz .hz-of-art{position:relative;min-width:0}
.fs-hz .hz-of-art>.hz-frame{aspect-ratio:4 / 5}
.fs-hz .hz-stamp{position:absolute;z-index:3;top:2rem;left:-2.25rem;display:grid;place-items:center;width:8.25rem;height:8.25rem;margin:0;padding:.875rem;text-align:center;font:700 1rem/1.15 var(--hz-f-display);pointer-events:none;rotate:var(--hz-stamp-tilt);background:var(--ha-paper);color:var(--ha-ink);border:3px solid var(--ha-brand);border-radius:50%}
.fs-hz .hz-of-grid[data-hz-mirror="1"] .hz-stamp{left:auto;right:-2.25rem}
.fs-hz[data-hz-stamp="block"] .hz-stamp{width:auto;height:auto;min-width:8.25rem;padding:.875rem 1.125rem;border-radius:0;border:2px solid var(--ha-ink);background:var(--ha-brand);color:var(--fs-on-brand, var(--ha-paper))}
.fs-hz[data-hz-stamp="disc"] .hz-stamp{border:0;background:var(--ha-surface);box-shadow:var(--hz-panel-sh)}
.fs-hz[data-hz-stamp="plate"] .hz-stamp{border-radius:4px;border:1px solid var(--hz-line);background:var(--ha-surface);box-shadow:inset 0 0 0 4px var(--ha-surface),inset 0 0 0 5px var(--hz-line),var(--hz-panel-sh)}
.fs-hz .hz-of-pp{position:absolute;z-index:3;right:.875rem;bottom:.875rem;display:flex}
.fs-hz .hz-of-pp[hidden]{display:none}

.fs-hz .hz-tk-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,clamp(15rem,27cqi,24rem));gap:clamp(2rem,5.4cqi,5.5rem);align-items:end;padding-block:clamp(2.5rem,5.4cqi,5.5rem) clamp(2.25rem,4.6cqi,4rem)}
.fs-hz[data-hz="ticker"] .hz-title{font-size:calc(clamp(2.75rem,6cqi,5.625rem) * var(--hz-k))}
.fs-hz .hz-tk-art{min-width:0}
.fs-hz .hz-tk-art>.hz-frame{aspect-ratio:1 / 1}
.fs-hz .hz-band{--hz-band-ctl-bg:var(--hz-band-fg);--hz-band-ctl-fg:var(--hz-band-bg);display:flex;align-items:stretch;min-height:4.25rem;background:var(--hz-band-bg);color:var(--hz-band-fg)}
.fs-hz .hz-band-btn{align-self:center;display:inline-flex;align-items:center;justify-content:center;gap:.5625rem;flex:none;min-height:2.75rem;min-width:2.75rem;margin:.625rem .25rem .625rem var(--hz-edge);padding:0 1rem;background:var(--hz-band-ctl-bg);color:var(--hz-band-ctl-fg);border:1.5px solid var(--hz-band-ctl-bg);border-radius:var(--hz-cell-r);font:600 .875rem/1 var(--hz-f-body);cursor:pointer}
.fs-hz .hz-band-btn:hover{text-decoration:underline;text-underline-offset:3px}
.fs-hz .hz-band-btn[aria-pressed="false"] .hz-ppt-y,.fs-hz .hz-band-btn[aria-pressed="true"] .hz-ppt-p{visibility:hidden}
.fs-hz .hz-band :is(a, button, [tabindex], input, select, textarea, summary):not([contenteditable]):focus-visible{outline-color:var(--hz-band-fg)}
.fs-hz .hz-band-vp{position:relative;display:flex;align-items:center;flex:1 1 auto;min-width:0;overflow:hidden;container-type:inline-size}
.fs-hz .hz-track{display:flex;flex:none;width:max-content;animation:hz-tk-marq calc(var(--hz-tk-n,8) * 4.4s) linear infinite}
.fs-hz .hz-band[data-hz-speed="slower"] .hz-track{animation-duration:calc(var(--hz-tk-n,8) * 6.6s)}
.fs-hz .hz-tl{display:flex;flex:none;align-items:center;min-width:100cqi;margin:0;padding:0;list-style:none}
.fs-hz .hz-ti{display:inline-flex;align-items:center;gap:.75rem;padding:.875rem 1.125rem .875rem 1.5rem;white-space:nowrap;font:600 1.0625rem/1.2 var(--hz-f-display)}
.fs-hz .hz-ti::before{content:'';flex:none;width:.5rem;height:.5rem;background:var(--hz-band-mark)}
.fs-hz .hz-ti:is([data-kind="rating"],[data-kind="badge"]){font-weight:500}
@keyframes hz-tk-marq{to{transform:translateX(-50%)}}
/* It holds while the pointer is over the moving list (not its Pause/Play, so a click on
   Play is seen to play) and while keyboard focus is on something else in the band (never a
   click's focus: :focus-visible); its own button pauses it for good. */
.fs-hz .hz-band-vp:hover .hz-track,.fs-hz .hz-band:has(:is(a, button, [tabindex], input, select, textarea, summary):not([contenteditable]):not([data-hz-pp]):focus-visible) .hz-track,.fs-hz .hz-band[data-hz-paused] .hz-track{animation-play-state:paused}
.fs-hz .hz-band[data-hz-still] .hz-track{animation:none;flex-wrap:wrap;width:auto;flex:1 1 auto;min-width:0}
.fs-hz .hz-band[data-hz-still] .hz-tl{flex:1 1 100%;flex-wrap:wrap;min-width:0;padding-inline:var(--hz-edge)}
.fs-hz .hz-band[data-hz-still] .hz-tl+.hz-tl{display:none}
.fs-hz .hz-band[data-hz-still] .hz-ti{white-space:normal}
.fs-hz[data-hz-band="slab"] .hz-band{border-top:4px solid var(--ha-brand)}
.fs-hz[data-hz-band="rules"] .hz-band{--hz-band-bg:var(--ha-surface);--hz-band-fg:var(--ha-ink);--hz-band-mark:var(--ha-brand);border-block:4px double var(--ha-brand)}
.fs-hz[data-hz-band="pills"] .hz-ti{margin:.5rem .375rem;padding:.5rem 1rem;border-radius:999px;background:color-mix(in srgb, var(--hz-band-fg) 12%, transparent)}
.fs-hz[data-hz-band="pills"] .hz-ti::before{border-radius:50%}
.fs-hz[data-hz-band="foot"] .hz-ti{font-style:italic;font-weight:500}
.fs-hz[data-hz-band="foot"] .hz-ti::before{rotate:45deg}

.fs-hz .hz-stx-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,4.6cqi,4.5rem);align-items:center;padding-block:clamp(2.5rem,5.4cqi,5.5rem)}
.fs-hz[data-hz="stats"] .hz-title{font-size:calc(clamp(2.25rem,4.2cqi,3.75rem) * var(--hz-k))}
.fs-hz .hz-bento-w{min-width:0}
.fs-hz .hz-bento{display:grid;grid-template-columns:minmax(0,.84fr) repeat(2,minmax(0,1fr));gap:.75rem}
.fs-hz .hz-bento-art{position:relative;grid-row:1 / span 2;min-height:17rem;min-width:0}
.fs-hz .hz-bento-art>.hz-frame{position:absolute;inset:0}
.fs-hz .hz-bento[data-n="3"] .hz-stat:last-child{grid-column:span 2}
.fs-hz .hz-stat{display:flex;flex-direction:column;gap:.5rem;min-width:0;padding:1.25rem 1.25rem 1.375rem;container-type:inline-size}
.fs-hz .hz-stat-v{display:flex;align-items:baseline;gap:.1875rem;margin:0;font-family:var(--hz-f-display);font-weight:var(--hz-fig-w);line-height:.9;letter-spacing:-.035em;white-space:nowrap;color:var(--hz-ctx-fig)}
.fs-hz .hz-stat-v b{font-size:clamp(2rem,26cqi,4.875rem);font-weight:inherit;font-variant-numeric:tabular-nums}
.fs-hz .hz-stat[data-hz-long] .hz-stat-v b{font-size:clamp(1.75rem,18cqi,3.75rem)}
.fs-hz .hz-stat-v small{font-size:clamp(1.25rem,11cqi,2.125rem);font-weight:inherit;letter-spacing:-.02em}
.fs-hz .hz-stat-l{margin:auto 0 0;padding-top:.625rem;font:700 .75rem/1.35 var(--hz-f-body);letter-spacing:.12em;text-transform:uppercase}
.fs-hz .hz-stat-n{margin:0;font-size:.84375rem;line-height:1.45;color:var(--hz-cell-sub)}
.fs-hz .hz-stx-note{margin:.75rem 0 0;font-size:.84375rem;line-height:1.5}

.fs-hz .hz-qt{padding-block:clamp(2.5rem,5.4cqi,5.5rem)}
.fs-hz .hz-qt-grid{display:grid;grid-template-columns:minmax(0,1.32fr) minmax(0,.68fr);gap:clamp(2rem,5cqi,5rem);align-items:center}
.fs-hz .hz-qt-grid[data-hz-mirror="1"] .hz-qt-art{order:-1}
.fs-hz[data-hz="quote"] .hz-title{font-size:calc(clamp(1.5rem,2.3cqi,2rem) * var(--hz-k))}
.fs-hz .hz-q{position:relative;width:100%;margin:0;quotes:"\201C" "\201D"}
.fs-hz .hz-q blockquote{margin:0}
.fs-hz .hz-q blockquote p{margin:0;font-family:var(--hz-f-display);font-size:clamp(1.75rem,3cqi,2.875rem);line-height:1.15;letter-spacing:-.015em;text-wrap:balance}
.fs-hz .hz-q blockquote p::before{content:open-quote}
.fs-hz .hz-q blockquote p::after{content:close-quote}
.fs-hz .hz-cite{display:flex;flex-wrap:wrap;align-items:center;gap:.625rem .875rem;margin-top:1.375rem}
.fs-hz .hz-who{display:grid;gap:.125rem;min-width:0}
.fs-hz .hz-who b{font:700 .9375rem/1.3 var(--hz-f-body)}
.fs-hz .hz-who span{font-size:.84375rem;line-height:1.4}
.fs-hz .hz-qt-sum{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .875rem}
.fs-hz .hz-qt-sum p{margin:0;font-size:.90625rem;line-height:1.45}
.fs-hz .hz-qt-all{display:inline-flex;align-items:center;min-height:2.75rem;font-weight:700;color:inherit;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1.5px}
.fs-hz a.hz-qt-all:hover{text-decoration-thickness:3px}
.fs-hz .hz-qt-art{min-width:0}
.fs-hz .hz-qt-art>.hz-frame{aspect-ratio:4 / 5}
.fs-hz .hz-qt-more-h{margin:clamp(2.25rem,4.4cqi,4rem) 0 0;font:700 .75rem/1.3 var(--hz-f-body);letter-spacing:.14em;text-transform:uppercase}
.fs-hz .hz-qt-more{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:.875rem 0 0;padding:0;list-style:none}
.fs-hz .hz-qm{display:flex;flex-direction:column;gap:.875rem;padding:1.25rem 1.25rem 1.125rem}
.fs-hz .hz-qm figure{display:flex;flex-direction:column;flex:1 1 auto;margin:0}
.fs-hz .hz-qm blockquote{margin:0}
.fs-hz .hz-qm blockquote p{margin:0;font-size:1rem;line-height:1.5}
.fs-hz .hz-qm .hz-cite{margin-top:auto;padding-top:1rem}
.fs-hz .hz-qm .hz-ini{width:2.375rem;height:2.375rem;font-size:.78125rem}
.fs-hz .hz-qm .hz-who span{color:var(--hz-cell-sub)}

.fs-hz .hz-mp-grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);grid-template-areas:"copy map" "pic map";gap:clamp(1.5rem,3cqi,2.5rem) clamp(1.75rem,4.6cqi,4.5rem);align-items:start;padding-block:clamp(2.5rem,5.4cqi,5.5rem)}
.fs-hz .hz-mp-grid[data-hz-mirror="1"]{grid-template-columns:minmax(0,1.22fr) minmax(0,.78fr);grid-template-areas:"map copy" "map pic"}
.fs-hz .hz-mp-copy{grid-area:copy}
.fs-hz .hz-mp-pic{grid-area:pic;min-width:0}
.fs-hz .hz-mp-pic>.hz-frame{aspect-ratio:16 / 10}
.fs-hz .hz-mapw{grid-area:map;min-width:0}
.fs-hz[data-hz="map"] .hz-title{font-size:calc(clamp(2.125rem,3.8cqi,3.5rem) * var(--hz-k))}
.fs-hz .hz-addr{display:grid;gap:.125rem;padding-left:1rem;border-left:3px solid var(--ha-brand);font-style:normal;font-size:.96875rem;line-height:1.5}
.fs-hz .hz-addr>:first-child{font-weight:700}
.fs-hz .hz-mapbox{position:relative}
.fs-hz .hz-map{position:relative;aspect-ratio:var(--hz-map-ar, 4 / 3);overflow:hidden;border:var(--hz-frame-bd);border-radius:var(--hz-frame-r);box-shadow:var(--hz-frame-sh);background:var(--ha-sunk)}
.fs-hz .hz-map>svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.fs-hz .hz-pins{position:absolute;inset:0;z-index:2}
.fs-hz .hz-pin{position:absolute;left:var(--hz-x);top:var(--hz-y);display:grid;place-items:center;width:2.75rem;height:2.75rem;margin:-1.375rem 0 0 -1.375rem;padding:0;border:0;border-radius:50%;background:transparent;color:inherit;font:inherit;cursor:pointer}
.fs-hz :is(.hz-pin,.hz-mpc-h,.hz-mp-key li)>i{display:grid;place-items:center;flex:none;font:700 .875rem/1 var(--hz-f-body);font-style:normal;font-variant-numeric:tabular-nums;background:var(--hz-pin-bg);color:var(--hz-pin-fg);border:2px solid var(--hz-pin-fg);border-radius:50%}
.fs-hz .hz-pin>i{width:2.125rem;height:2.125rem;box-shadow:0 5px 12px -5px color-mix(in srgb, var(--ha-ink) 50%, transparent);transition:scale .2s cubic-bezier(.2,.7,.2,1),background-color .2s ease,color .2s ease}
.fs-hz :is(button.hz-pin:hover,.hz-pin[aria-expanded="true"])>i{scale:1.14}
.fs-hz button.hz-pin[aria-expanded="true"]:hover>i{scale:1.26}
.fs-hz .hz-pin[aria-expanded="true"]>i{background:var(--hz-pin-fg);color:var(--hz-pin-bg);border-color:var(--hz-pin-bg)}
.fs-hz[data-hz-pins="square"] :is(.hz-pin,.hz-mpc-h,.hz-mp-key li)>i{border-radius:0}
.fs-hz[data-hz-pins="plate"] :is(.hz-pin,.hz-mpc-h,.hz-mp-key li)>i{border-radius:4px}
.fs-hz[data-hz-pins="orb"] .hz-pin>i{border-color:transparent;box-shadow:0 0 0 4px color-mix(in srgb, var(--hz-pin-bg) 30%, transparent),0 6px 18px -6px var(--hz-glow)}
.fs-hz[data-hz-pins="ring"] :is(.hz-pin,.hz-mpc-h,.hz-mp-key li)>i{background:var(--hz-ctl-bg);color:var(--hz-ctl-fg);border:3px solid var(--hz-pin-bg)}
.fs-hz .hz-mpc{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:0 1.25rem;margin-top:.875rem;padding:.875rem 1.125rem .625rem}
.fs-hz .hz-mpc::before{content:'';position:absolute;top:-.5rem;left:clamp(.875rem, calc(var(--hz-nx,50) * 1% - .4375rem), calc(100% - 1.75rem));width:.875rem;height:.875rem;background:var(--hz-cell-bg);border-left:inherit;border-top:inherit;rotate:45deg}
.fs-hz .hz-mpc[hidden]{display:none}
.fs-hz .hz-mpc>:not(.hz-mpc-acts){grid-column:1}
.fs-hz .hz-mpc-acts{grid-column:2;grid-row:1 / span 3;align-self:center;display:flex;flex-direction:column;align-items:stretch;gap:.25rem .75rem}
.fs-hz .hz-mpc-h{display:flex;align-items:center;gap:.625rem;margin:0;font:700 1.0625rem/1.25 var(--hz-f-display)}
.fs-hz .hz-mpc-h>i{width:1.75rem;height:1.75rem;font-size:.78125rem;background:var(--hz-pin-fg);color:var(--hz-pin-bg)}
.fs-hz .hz-mpc-t{margin:.625rem 0 0;font-size:.90625rem;line-height:1.5}
.fs-hz .hz-mpc-m{margin:.25rem 0 0;font-size:.84375rem;line-height:1.45;color:var(--hz-cell-sub)}
.fs-hz .hz-mpc-go{display:inline-flex;align-items:center;gap:.375rem;min-height:2.75rem;font-weight:700;color:inherit;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px}
.fs-hz a.hz-mpc-go:hover{text-decoration-thickness:3px}
.fs-hz .hz-mp-key{display:flex;flex-wrap:wrap;gap:.625rem 1.375rem;margin:1rem 0 0;padding:0;list-style:none;font-size:.875rem;line-height:1.3}
.fs-hz .hz-mp-key li{display:inline-flex;align-items:center;gap:.5625rem}
.fs-hz .hz-mp-key li>i{width:1.5rem;height:1.5rem;font-size:.71875rem}

@keyframes hz-stamp-in{from{opacity:0;transform:scale(1.4)}to{opacity:1;transform:none}}
.fs-hz:not([data-hz-settled]) :is(.hz-of-art,.hz-tk-art,.hz-qt-art,.hz-bento-art,.hz-mp-pic)>.hz-frame{animation:hz-enter-art .85s cubic-bezier(.2,.7,.2,1) .2s both}
.fs-hz:not([data-hz-settled]) .hz-stamp{animation:hz-stamp-in .5s cubic-bezier(.3,1.4,.5,1) .85s both}
.fs-hz:not([data-hz-settled]) .hz-pins{animation:hz-enter-fade .6s ease-out .7s both}

@container hz (max-width: 59.99rem){
  .fs-hz .hz-of-grid{grid-template-columns:minmax(0,1fr) minmax(0,.78fr);gap:2.5rem}
  .fs-hz .hz-stamp{left:-1.125rem;width:7.25rem;height:7.25rem;font-size:.90625rem}
  .fs-hz .hz-of-grid[data-hz-mirror="1"] .hz-stamp{right:-1.125rem}
  .fs-hz .hz-stx-grid{grid-template-columns:minmax(0,1fr);gap:2.25rem}
  .fs-hz .hz-stx-grid>.hz-copy{max-width:40rem}
  .fs-hz .hz-qt-grid{grid-template-columns:minmax(0,1fr) minmax(0,.6fr);gap:2.5rem}
  .fs-hz .hz-qt-more{gap:.75rem}
  .fs-hz .hz-qm{padding:1rem}
  .fs-hz .hz-mp-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:1.5rem 2.25rem}
  .fs-hz .hz-mp-grid[data-hz-mirror="1"]{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
  .fs-hz .hz-tk-top{grid-template-columns:minmax(0,1fr) minmax(0,16rem);gap:2.5rem}
}
@container hz (max-width: 43.99rem){
  .fs-hz :is(.hz-of-grid,.hz-qt-grid,.hz-tk-top){grid-template-columns:minmax(0,1fr)}
  .fs-hz :is(.hz-mp-grid,.hz-mp-grid[data-hz-mirror="1"]){grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "map" "pic"}
  .fs-hz :is(.hz-of-art,.hz-of-grid[data-hz-mirror="1"] .hz-of-art){order:-1;width:100%;max-width:34rem}
  .fs-hz .hz-of-art>.hz-frame{aspect-ratio:4 / 3}
  .fs-hz .hz-tk-art{order:-1;width:100%;max-width:34rem}
  .fs-hz .hz-tk-art>.hz-frame{aspect-ratio:16 / 9}
  .fs-hz :is(.hz-qt-art,.hz-qt-grid[data-hz-mirror="1"] .hz-qt-art){order:0;width:100%;max-width:34rem}
  .fs-hz .hz-qt-art>.hz-frame{aspect-ratio:4 / 3}
  .fs-hz .hz-qt-more{grid-template-columns:minmax(0,1fr)}
  .fs-hz .hz-mp-pic{max-width:34rem}
}
@container hz (max-width: 39.99rem){
  .fs-hz .hz-of-grid{gap:1.75rem;padding-block:0 3rem}
  .fs-hz :is(.hz-of-art,.hz-of-grid[data-hz-mirror="1"] .hz-of-art){width:auto;max-width:none;margin-inline:calc(var(--hz-gut) * -1)}
  .fs-hz .hz-of-art>.hz-frame{border-radius:0;rotate:none}
  .fs-hz .hz-of-h{font-size:calc(clamp(2rem,10cqi,2.5rem) * var(--hz-k))}
  .fs-hz .hz-of-val b{font-size:clamp(3.25rem,16cqi,4rem)}
  .fs-hz :is(.hz-stamp,.hz-of-grid[data-hz-mirror="1"] .hz-stamp){top:auto;bottom:1rem;left:1rem;right:auto;width:6.25rem;height:6.25rem;padding:.625rem;font-size:.8125rem}
  .fs-hz[data-hz-stamp="block"] .hz-stamp{width:auto;height:auto;min-width:6.25rem}
  .fs-hz .hz-cd-row,.fs-hz .hz-cd-cells{width:100%}
  .fs-hz .hz-cd-cells .hz-cell{flex:1 1 0;min-width:0;padding-inline:.25rem}
  .fs-hz .hz-cd-cells b{font-size:1.625rem}
  .fs-hz .hz-cd-btn{flex:1 1 100%}
  .fs-hz .hz-tk-top{gap:1.75rem;padding-block:0 2.25rem}
  .fs-hz .hz-tk-art{width:auto;max-width:none;margin-inline:calc(var(--hz-gut) * -1)}
  .fs-hz .hz-tk-art>.hz-frame{border-radius:0;rotate:none}
  .fs-hz[data-hz="ticker"] .hz-title{font-size:calc(clamp(2.375rem,11.4cqi,2.875rem) * var(--hz-k))}
  .fs-hz .hz-band{min-height:3.75rem}
  .fs-hz .hz-band-btn{padding-inline:.75rem}
  .fs-hz .hz-ti{padding:.75rem .875rem .75rem 1.125rem;font-size:.96875rem}
  .fs-hz .hz-stx-grid{padding-block:2rem 3rem}
  .fs-hz[data-hz="stats"] .hz-title{font-size:calc(clamp(2.125rem,10.4cqi,2.625rem) * var(--hz-k))}
  .fs-hz .hz-bento{grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem}
  .fs-hz .hz-bento-art{grid-column:1/-1;grid-row:auto;min-height:0;aspect-ratio:16 / 9}
  .fs-hz .hz-stat{padding:1rem .875rem}
  .fs-hz .hz-stat-l{font-size:.6875rem;letter-spacing:.08em}
  .fs-hz .hz-qt{padding-block:2rem 3rem}
  .fs-hz .hz-q blockquote p{font-size:clamp(1.5rem,7.4cqi,1.8125rem)}
  .fs-hz .hz-mp-grid{padding-block:2rem 3rem}
  .fs-hz[data-hz="map"] .hz-title{font-size:calc(clamp(2rem,9.8cqi,2.5rem) * var(--hz-k))}
  .fs-hz .hz-mpc{grid-template-columns:minmax(0,1fr)}
  .fs-hz .hz-mpc-acts{grid-column:1;grid-row:auto;flex-direction:row;align-items:center;justify-content:space-between;margin-top:.375rem}
  .fs-hz .hz-mp-key{gap:.5rem 1rem}
}
/* Site layouts (wide and middle tiers): Centered centres the Ticker and Stats copy; Minimalist adds air. */
@container hz (min-width: 44rem){
  .fs-hz:where([data-fs-layout="centered"] *) :is(.hz-tk-top,.hz-stx-grid)>.hz-copy{align-items:center;text-align:center;margin-inline:auto}
  .fs-hz:where([data-fs-layout="centered"] *) :is(.hz-tk-top,.hz-stx-grid)>.hz-copy :is(.hz-acts,.hz-trust){justify-content:center}
  .fs-hz:where([data-fs-layout="centered"] *) :is(.hz-stx-note,.hz-qt-more-h){text-align:center}
  .fs-hz:where([data-fs-layout="minimal"] *) :is(.hz-of-grid,.hz-stx-grid,.hz-qt,.hz-mp-grid){padding-block:clamp(4rem,8cqi,7rem)}
}
/* Reduced motion: nothing moves (HZ_REDUCED_CSS stops every animation). The
   band stands still and wraps into rows, its copy and Pause go; the timer
   drops its seconds cell and moves on once a minute (it keeps "Pause timer":
   it still updates by itself, WCAG 2.2.2); the loop's Pause goes. */
@media (prefers-reduced-motion: reduce){
  .fs-hz .hz-band .hz-track{animation:none;flex-wrap:wrap;width:auto;flex:1 1 auto;min-width:0}
  .fs-hz .hz-band .hz-tl{flex:1 1 100%;flex-wrap:wrap;min-width:0;padding-inline:var(--hz-edge)}
  .fs-hz .hz-band .hz-tl+.hz-tl{display:none}
  .fs-hz .hz-band .hz-ti{white-space:normal}
  .fs-hz .hz-band-btn{display:none}
  .fs-hz .hz-of-pp{display:none}
  .fs-hz .hz-cd-cells [data-hz-unit="sec"]{display:none}
  .fs-hz .hz-pin>i{transition:none}
}


.fs-hz .hz-sl-picks{display:flex;flex-wrap:wrap;gap:.375rem;min-width:0}
.fs-hz .hz-sl-pick{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.375rem;flex:none;min-width:3rem;min-height:3rem;margin:0;padding:.5rem .375rem .375rem;border:0;border-radius:var(--hz-cell-r);background:transparent;color:inherit;font:700 .8125rem/1 var(--hz-f-body);cursor:pointer;transition:background-color .2s ease}
.fs-hz .hz-sl-pick:hover,.fs-hz .hz-sl-pick:is([aria-current="true"],[data-hz-cur]){background:color-mix(in srgb, currentColor 10%, transparent)}
.fs-hz .hz-sl-pick:hover{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}
.fs-hz .hz-sl-pick .hz-sl-prog{position:relative;left:auto;right:auto;top:auto;display:block;width:1.625rem}
.fs-hz .hz-sl-pick[data-hz-cur] [data-hz-bar]{--hz-bar:1}

@property --sl-bleed{syntax:'<length>';inherits:true;initial-value:0px}
.fs-hz .hz-fs-wrap{--sl-bleed:max(var(--hz-gut), calc((100cqi - var(--hz-theme-max)) / 2 + var(--hz-gut)))}
@container hz (min-width: 47.5rem){
  .fs-hz:where([data-fs-layout="full"] *, [data-fs-layout="heroEdge"] *, [data-fs-layout="boxed"] *, [data-fs-layout="centered"] *, [data-fs-layout="minimal"] *) .hz-fs-wrap{--sl-bleed:var(--hz-gut)}
}
.fs-hz .hz-fs{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);grid-template-areas:"copy view" "ctl view";grid-template-rows:auto 1fr;column-gap:clamp(2rem,4.4cqi,4rem);align-items:start;padding-block:clamp(3rem,6cqi,5.5rem)}
.fs-hz .hz-fs-copy{grid-area:copy;align-self:end;min-width:0}
.fs-hz .hz-fs>.hz-sl-ctl{grid-area:ctl;align-self:start;margin-top:1.75rem}
.fs-hz[data-hz="filmstrip"] .hz-title{font-size:calc(clamp(2.375rem,4.4cqi,3.875rem) * var(--hz-k))}
.fs-hz .hz-fs .hz-intro{max-width:38ch}
.fs-hz .hz-fs-view{grid-area:view;position:relative;min-width:0;margin-right:calc(-1 * var(--sl-bleed));padding-block:.625rem .75rem;overflow:hidden;container:hzfv / inline-size}
.fs-hz .hz-fs-view[data-hz-stage]{cursor:grab}
.fs-hz .hz-sl[data-hz-drag] .hz-fs-view{cursor:grabbing}
.fs-hz .hz-fs-track{--hz-fs-cw:min(29rem,62cqi);--hz-fs-gap:clamp(1rem,2.4cqi,1.75rem);display:flex;gap:var(--hz-fs-gap);padding-left:.625rem}
.fs-hz .hz-fs-card{position:relative;flex:none;width:var(--hz-fs-cw);min-width:0;transform-origin:0 100%;scale:.94;transition:scale .85s cubic-bezier(.4,0,.2,1)}
.fs-hz .hz-fs-card[data-hz-front]{scale:1}
.fs-hz .hz-sl:not([data-hz-i]) .hz-fs-card:first-child{scale:1}
.fs-hz .hz-sl[data-hz-i] .hz-fs-card:not([data-hz-front]){cursor:pointer}
.fs-hz .hz-fs-pic{aspect-ratio:4 / 5}
.fs-hz .hz-fs-pic>.hz-frame{height:100%}
.fs-hz .hz-fs-cap{display:flex;align-items:baseline;gap:.625rem;margin:.875rem 0 0;font:600 .875rem/1.25 var(--hz-f-body)}
.fs-hz .hz-fs-cap .hz-num{font-weight:700}
.fs-hz:not([data-hz-settled]) .hz-fs-view{animation:hz-enter-fade .9s ease-out .2s both}

.fs-hz .hz-vi{padding-block:clamp(3rem,6cqi,6rem)}
.fs-hz .hz-vi-grid{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"rail main" "ctl main";grid-template-rows:1fr auto;column-gap:clamp(1.75rem,4.4cqi,4.5rem);align-items:stretch}
.fs-hz .hz-sl:is([data-hz-n="1"],[data-hz-n="2"]) .hz-vi-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"main" "ctl";grid-template-rows:none}
.fs-hz .hz-vi-grid>.hz-sl-ctl{grid-area:ctl;align-self:end;flex-direction:column;align-items:flex-start;margin-top:1.5rem}
.fs-hz .hz-vi-grid>.hz-sl-ctl .hz-sl-nav{flex-direction:column}
.fs-hz .hz-sl:is([data-hz-n="1"],[data-hz-n="2"]) .hz-vi-grid>.hz-sl-ctl{flex-direction:row;align-items:center}
.fs-hz .hz-sl:is([data-hz-n="1"],[data-hz-n="2"]) .hz-vi-grid>.hz-sl-ctl .hz-sl-nav{flex-direction:row}
.fs-hz .hz-vi-rail{grid-area:rail;display:flex;flex-direction:column;gap:clamp(.25rem,1.2cqi,.875rem);min-width:0;--hz-vi-fs:clamp(3.5rem,6.8cqi,6rem)}
.fs-hz .hz-sl[data-hz-n="3"] .hz-vi-rail{--hz-vi-fs:clamp(4rem,8cqi,7rem)}
.fs-hz .hz-sl[data-hz-n="5"] .hz-vi-rail{--hz-vi-fs:clamp(2.75rem,5.2cqi,4.5rem)}
.fs-hz .hz-sl:is([data-hz-n="6"],[data-hz-n="7"]) .hz-vi-rail{--hz-vi-fs:clamp(2.125rem,3.6cqi,3.125rem);gap:2px}
.fs-hz .hz-vi-n{position:relative;display:grid;justify-items:start;align-content:center;min-width:3rem;min-height:3rem;margin:0;padding:.375rem .875rem .375rem 1.25rem;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.fs-hz .hz-vi-big{display:block;font:400 var(--hz-vi-fs)/.86 var(--hz-f-display);letter-spacing:-.04em;font-variant-numeric:tabular-nums;transition:color .25s ease}
.fs-hz .hz-vi-n:not([aria-current="true"]):not([data-hz-cur]) .hz-vi-big{color:color-mix(in srgb, currentColor 55%, transparent)}
.fs-hz .hz-vi-n:hover .hz-vi-big{color:inherit}
.fs-hz .hz-vi-n:hover{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}
.fs-hz .hz-vi-lab{display:block;margin-top:.375rem;font:700 .6875rem/1.2 var(--hz-f-body);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.fs-hz .hz-sl:is([data-hz-n="6"],[data-hz-n="7"]) .hz-vi-lab{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.fs-hz .hz-vi-bar{position:absolute;left:0;top:.375rem;bottom:.375rem;width:3px;overflow:hidden;background:color-mix(in srgb, currentColor 20%, transparent)}
.fs-hz .hz-vi-bar>[data-hz-bar]{position:absolute;inset:0;display:block;background:var(--ha-brand);--hz-bar-axis:y;transform:scale(1,var(--hz-bar,0));transform-origin:50% 0}
.fs-hz .hz-vi-n[data-hz-cur] [data-hz-bar]{--hz-bar:1}
.fs-hz .hz-vi-main{grid-area:main;display:grid;grid-template-columns:minmax(0,1.42fr) minmax(0,.58fr);gap:clamp(1.5rem,3.6cqi,3.5rem);align-items:center;min-width:0}
.fs-hz[data-hz="vertical"] .hz-title{font-size:calc(clamp(2.625rem,5.4cqi,5rem) * var(--hz-k))}
.fs-hz .hz-vi-win{position:relative;min-width:0;aspect-ratio:4 / 3;overflow:hidden;isolation:isolate;border:var(--hz-frame-bd);border-radius:var(--hz-frame-r);box-shadow:var(--hz-frame-sh);background:var(--ha-sunk)}
.fs-hz .hz-vi-pic{position:absolute;inset:0}
.fs-hz .hz-vi-pic>.hz-pic{position:absolute;inset:0;width:100%;height:100%}
.fs-hz:not([data-hz-settled]) :is(.hz-vi-win,.hz-vi-rail){animation:hz-enter-fade .9s ease-out both}

.fs-hz .hz-cu-stage{position:relative;display:grid;align-items:center;min-height:clamp(36rem,46cqi,46rem);padding:clamp(2rem,4.4cqi,4.5rem) var(--hz-edge) clamp(6.75rem,9cqi,8.25rem);isolation:isolate}
.fs-hz .hz-cu-media{position:absolute;inset:0;z-index:0;overflow:hidden;background:var(--ha-sunk)}
.fs-hz .hz-cu-media[data-hz-stage]{cursor:grab}
.fs-hz .hz-cu-m{position:absolute;inset:0;overflow:hidden}
.fs-hz :is(.hz-cu-w,.hz-cu-z){position:absolute;inset:0}
.fs-hz .hz-cu-z>.hz-pic{position:absolute;inset:0;width:100%;height:100%}
.fs-hz .hz-cu-edge{position:absolute;top:0;bottom:0;left:0;z-index:3;width:100%;pointer-events:none;opacity:0;transform:translateX(100%)}
.fs-hz .hz-cu-edge::before{content:'';position:absolute;top:0;bottom:0;left:-.4375rem;width:.875rem;background:var(--ha-brand)}
.fs-hz .hz-cu-panel{z-index:1;justify-self:start;align-self:center;width:min(100%,var(--hz-panel-w));padding:clamp(1.5rem,2.8cqi,2.5rem)}
.fs-hz[data-hz="curtain"] .hz-title{font-size:calc(clamp(2.25rem,3.8cqi,3.5rem) * var(--hz-k))}
.fs-hz .hz-cu .hz-sl-ctl{position:absolute;right:var(--hz-edge);bottom:clamp(1.25rem,2.6cqi,2.25rem);z-index:3;justify-content:flex-end;max-width:calc(100% - 2 * var(--hz-edge));padding:.5rem;background:var(--hz-panel-bg);color:var(--hz-panel-fg);border-radius:var(--hz-panel-r);box-shadow:var(--hz-panel-sh)}
.fs-hz:not([data-hz-settled]) .hz-cu-media{animation:hz-enter-fade .9s ease-out both}
.fs-hz:not([data-hz-settled]) .hz-cu-panel{animation:hz-enter .7s cubic-bezier(.2,.7,.2,1) .25s both}

.fs-hz .hz-th{padding-block:clamp(2.5rem,5cqi,5rem)}
.fs-hz .hz-th-grid{--hz-th-cols:minmax(0,.86fr) minmax(0,1.14fr);--hz-th-g:clamp(2rem,4.4cqi,4rem);display:grid;grid-template-columns:var(--hz-th-cols);grid-template-areas:"main main" "ctl tabs";column-gap:var(--hz-th-g);row-gap:1rem;align-items:start}
.fs-hz .hz-sl:is([data-hz-n="1"],[data-hz-n="2"]) .hz-th-grid{grid-template-areas:"main main" "ctl ctl"}
.fs-hz .hz-th-main{grid-area:main;display:grid;grid-template-columns:var(--hz-th-cols);column-gap:var(--hz-th-g);align-items:center;min-width:0}
.fs-hz .hz-th-grid>.hz-sl-ctl{grid-area:ctl;align-self:start}
.fs-hz[data-hz="thumbs"] .hz-title{font-size:calc(clamp(2.25rem,4cqi,3.625rem) * var(--hz-k))}
.fs-hz .hz-th-stage{position:relative;min-width:0;aspect-ratio:16 / 10;overflow:hidden;isolation:isolate;border:var(--hz-frame-bd);border-radius:var(--hz-frame-r);box-shadow:var(--hz-frame-sh);background:var(--ha-sunk)}
.fs-hz .hz-th-big{position:absolute;inset:0}
.fs-hz .hz-th-big>.hz-pic{position:absolute;inset:0;width:100%;height:100%}
.fs-hz .hz-th-tabs{grid-area:tabs;display:grid;grid-template-columns:repeat(var(--hz-n,4),minmax(0,1fr));gap:.625rem;min-width:0}
.fs-hz .hz-th-t{position:relative;display:flex;flex-direction:column;gap:.4375rem;min-width:2.75rem;min-height:3rem;margin:0;padding:0 0 .375rem;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.fs-hz .hz-th-pic{position:relative;display:block;aspect-ratio:4 / 3;overflow:hidden;border-radius:calc(var(--hz-frame-r) / 2);outline:2px solid transparent;outline-offset:2px;transition:outline-color .25s ease}
.fs-hz .hz-th-t:is([aria-selected="true"],[data-hz-cur]) .hz-th-pic{outline-color:var(--ha-brand)}
.fs-hz .hz-th-t:hover .hz-th-pic{outline-color:color-mix(in srgb, var(--ha-brand) 55%, transparent)}
.fs-hz .hz-th-pic>.hz-pic{position:absolute;inset:0;width:100%;height:100%}
.fs-hz .hz-th-meta{display:flex;align-items:baseline;gap:.5rem;min-width:0;font:700 .75rem/1.2 var(--hz-f-body);letter-spacing:.06em}
.fs-hz .hz-th-t{container:hzpk / inline-size}
.fs-hz .hz-th-lab{min-width:0;overflow:hidden;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
@container hzpk (max-width: 6.99rem){ .fs-hz .hz-th-lab{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0} }
.fs-hz .hz-th-t .hz-sl-prog{position:relative;left:auto;right:auto;top:auto;display:block;width:100%}
.fs-hz .hz-th-t[data-hz-cur] [data-hz-bar]{--hz-bar:1}
.fs-hz:not([data-hz-settled]) :is(.hz-th-stage,.hz-th-tabs){animation:hz-enter-fade .9s ease-out .2s both}

@container hz (max-width: 59.99rem){
  .fs-hz .hz-fs{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .fs-hz[data-hz="filmstrip"] .hz-title{font-size:calc(clamp(2.125rem,5.4cqi,3rem) * var(--hz-k))}
  .fs-hz .hz-fs-track{--hz-fs-cw:min(24rem,70cqi)}
  .fs-hz .hz-vi-main{grid-template-columns:minmax(0,1fr) minmax(0,.62fr)}
  .fs-hz[data-hz="vertical"] .hz-title{font-size:calc(clamp(2.25rem,6cqi,3.5rem) * var(--hz-k))}
  .fs-hz .hz-cu-stage{min-height:34rem}
  .fs-hz .hz-cu-panel{--hz-panel-w:30rem}
  .fs-hz[data-hz="curtain"] .hz-title{font-size:calc(clamp(2rem,5cqi,2.75rem) * var(--hz-k))}
  .fs-hz[data-hz="thumbs"] .hz-title{font-size:calc(clamp(2rem,5.2cqi,2.875rem) * var(--hz-k))}
}
@container hz (max-width: 49.99rem){
  .fs-hz .hz-th-grid,.fs-hz .hz-sl[data-hz-n] .hz-th-grid{--hz-th-cols:minmax(0,1fr);grid-template-areas:"main" "tabs" "ctl";row-gap:1.25rem}
  .fs-hz .hz-sl:is([data-hz-n="1"],[data-hz-n="2"]) .hz-th-grid{grid-template-areas:"main" "ctl"}
  .fs-hz .hz-th-main{row-gap:1.5rem;align-items:start}
  .fs-hz .hz-vi-main{grid-template-columns:minmax(0,1fr);row-gap:1.5rem;align-items:start}
  .fs-hz .hz-vi-win{width:min(100%,24rem);justify-self:end}
}
@container hz (max-width: 43.99rem){
  .fs-hz .hz-fs{grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "view" "ctl";grid-template-rows:none;row-gap:1.75rem}
  .fs-hz .hz-fs>.hz-sl-ctl{margin-top:0}
  .fs-hz .hz-fs-view{margin-left:calc(-1 * var(--hz-gut));padding-left:var(--hz-gut)}
  .fs-hz .hz-fs-track{--hz-fs-cw:min(22rem,74cqi);padding-left:0}
}
@container hz (max-width: 39.99rem){
  .fs-hz .hz-fs{padding-block:2rem 2.5rem}
  .fs-hz .hz-fs-track{--hz-fs-cw:76cqi;--hz-fs-gap:.875rem}
  .fs-hz .hz-fs-cap{margin-top:.625rem}
  .fs-hz :is([data-hz="filmstrip"],[data-hz="vertical"],[data-hz="curtain"],[data-hz="thumbs"]) .hz-title{font-size:calc(clamp(2rem,9.8cqi,2.5rem) * var(--hz-k))}
  .fs-hz .hz-vi{padding-block:2rem 2.5rem}
  .fs-hz .hz-vi-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"rail" "main" "ctl";grid-template-rows:none;row-gap:1.25rem}
  .fs-hz .hz-sl[data-hz-n] .hz-vi-rail{flex-direction:row;flex-wrap:wrap;gap:.25rem;--hz-vi-fs:1.75rem}
  .fs-hz .hz-vi-n{justify-items:center;padding:.5rem .5rem .75rem}
  .fs-hz .hz-sl[data-hz-n] .hz-vi-lab{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
  .fs-hz .hz-vi-bar{top:auto;bottom:0;left:.5rem;right:.5rem;width:auto;height:3px}
  .fs-hz .hz-vi-bar>[data-hz-bar]{--hz-bar-axis:x;transform:scale(var(--hz-bar,0),1);transform-origin:0 50%}
  .fs-hz .hz-vi-grid>.hz-sl-ctl{flex-direction:row;align-items:center;margin-top:0}
  .fs-hz .hz-vi-grid>.hz-sl-ctl .hz-sl-nav{flex-direction:row}
  .fs-hz .hz-vi-win{width:78%}
  .fs-hz .hz-cu-stage{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:0 0 1.75rem}
  .fs-hz .hz-cu-media{position:relative;inset:auto;aspect-ratio:4 / 3}
  .fs-hz .hz-cu-stage>.hz-cu-media{order:1}
  .fs-hz .hz-cu-panel{order:2;width:auto;margin:-2.75rem var(--hz-gut) 0;padding:1.5rem 1.25rem 1.75rem}
  .fs-hz .hz-cu .hz-sl-ctl{order:3;position:static;justify-content:flex-start;max-width:none;margin:1rem var(--hz-gut) 0;padding:0;background:none;box-shadow:none;border-radius:0;color:inherit}
  .fs-hz .hz-th{padding-block:1.5rem 2.5rem}
  .fs-hz .hz-th-stage{margin-inline:calc(var(--hz-gut) * -1);aspect-ratio:4 / 3;border-radius:0;box-shadow:none}
  .fs-hz .hz-th-tabs{grid-template-columns:repeat(min(var(--hz-n,4),4),minmax(0,1fr))}
  .fs-hz .hz-th-lab{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
}
/* Site layouts (wide and middle tiers): Centered centres the words; Minimalist adds air. */
@container hz (min-width: 44rem){
  .fs-hz:where([data-fs-layout="centered"] *) :is(.hz-fs-copy,.hz-vi-main,.hz-th-main) .hz-slide{align-items:center;text-align:center}
  .fs-hz:where([data-fs-layout="centered"] *) :is(.hz-fs-copy,.hz-vi-main,.hz-th-main) .hz-slide :is(.hz-acts,.hz-trust){justify-content:center}
  .fs-hz:where([data-fs-layout="centered"] *) .hz-cu-panel{justify-self:center;text-align:center}
  .fs-hz:where([data-fs-layout="centered"] *) .hz-cu-panel .hz-slide{align-items:center}
  .fs-hz:where([data-fs-layout="centered"] *) .hz-cu-panel .hz-slide :is(.hz-acts,.hz-trust){justify-content:center}
  .fs-hz:where([data-fs-layout="minimal"] *) :is(.hz-fs,.hz-vi,.hz-th){padding-block:clamp(4.5rem,9cqi,7.5rem)}
}


.fs-hz .hz-tr{padding-block:clamp(2rem,4.4cqi,4rem)}
.fs-hz .hz-tr-box{--hz-tr-x:clamp(1.25rem,3.4cqi,3rem);--hz-tr-clear:8.75rem;--hz-tr-fade:6rem;position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:minmax(var(--hz-tr-clear),1fr) auto auto;isolation:isolate;overflow:clip;border:var(--hz-frame-bd);border-radius:var(--hz-frame-r);box-shadow:var(--hz-frame-sh);touch-action:pan-y;-webkit-user-select:none;user-select:none}
.fs-hz .hz-tr-box[data-hz-caption="bar"]{grid-template-rows:auto auto auto;--hz-tr-band:var(--hz-ground, var(--ha-paper))}
.fs-hz .hz-tr-box[data-hz-caption="on"]{--hz-tr-band:var(--hz-panel-bg);color:var(--hz-panel-fg);--hz-ctx-acc:var(--ha-brand-text);--hz-ctx-brand:var(--ha-brand-text);--hz-ctx-fig:var(--hz-fig-c);--hz-ctx-btn2:var(--ha-brand-text);--hz-ctx-ring:var(--hz-ring);--hz-ctx-halo:var(--ha-paper);}
.fs-hz[data-hz-panel="slab"] .hz-tr-box[data-hz-caption="on"]{--hz-tr-band:var(--ha-ink);--hz-tr-fade:0px;color:var(--ha-paper)}
/* An ink band (the slab, or Bar below on an ink / night ground) takes the kit's ONE ink rule (css/kit.ts):
   the accent and the brand made readable on the ink, solved per palette (--ha-accent-ink, --ha-brand-ink). */
.fs-hz[data-hz-panel="slab"] .hz-tr-box[data-hz-caption="on"],.fs-hz[data-hz-ground="ink"] .hz-tr-box[data-hz-caption="bar"]{--hz-ctx-acc:var(--ha-accent-ink);--hz-ctx-brand:var(--ha-brand-ink);--hz-ctx-fig:currentColor;--hz-ctx-btn2:currentColor;--hz-ctx-ring:var(--ha-brand-ink);--hz-ctx-halo:var(--ha-ink);}
.fs-hz[data-hz-ground="night"] .hz-tr-box[data-hz-caption="bar"]{--hz-ctx-acc:var(--ha-accent-shade);--hz-ctx-brand:var(--ha-brand-shade);--hz-ctx-fig:currentColor;--hz-ctx-btn2:currentColor;--hz-ctx-ring:var(--ha-brand-shade);--hz-ctx-halo:var(--ha-shade);}
.fs-hz:is([data-hz-panel="plate"],[data-hz-panel="board"]) .hz-tr-box[data-hz-caption="on"]{--hz-tr-fade:0px}
.fs-hz .hz-tr-stage{grid-area:1/1/4/4;position:relative;z-index:0;min-width:0;min-height:min(calc(100cqi * 9 / 16), 42.5rem);overflow:hidden;background:var(--ha-sunk)}
.fs-hz .hz-tr-box[data-hz-caption="bar"] .hz-tr-stage{grid-area:1/1/2/4;min-height:0;height:min(calc(100cqi * 9 / 16), 42.5rem)}
.fs-hz .hz-tr-m{position:absolute;inset:0;overflow:hidden}
.fs-hz .hz-tr-m .hz-pic{position:absolute;inset:0;width:100%;height:100%}
.fs-hz .hz-tr-band{grid-area:2/1/4/4;position:relative;z-index:1;background:var(--hz-tr-band)}
.fs-hz .hz-tr-box[data-hz-caption="on"] .hz-tr-band::before{content:'';position:absolute;left:0;right:0;bottom:100%;height:var(--hz-tr-fade);background:linear-gradient(to bottom, transparent, var(--hz-tr-band));pointer-events:none}
.fs-hz[data-hz-panel="slab"] .hz-tr-box[data-hz-caption="on"] .hz-tr-band{border-top:4px solid var(--ha-brand)}
.fs-hz:is([data-hz-panel="plate"],[data-hz-panel="board"]) .hz-tr-box[data-hz-caption="on"] .hz-tr-band{border-top:1px solid var(--hz-line)}
.fs-hz .hz-tr-box[data-hz-caption="bar"] .hz-tr-band{border-top:1px solid var(--hz-line)}
.fs-hz .hz-tr-cap{grid-area:2/1/3/4;position:relative;z-index:2;min-width:0;padding:clamp(1.25rem,2.4cqi,2rem) var(--hz-tr-x) clamp(.75rem,1.4cqi,1.125rem)}
.fs-hz .hz-tr-cap .hz-copy>*+*{margin-top:.875rem}
.fs-hz .hz-tr-cap .hz-copy>.hz-acts{margin-top:1.25rem}
.fs-hz:is([data-hz="zoom"],[data-hz="parallax"],[data-hz="dissolve"]) .hz-title{font-size:calc(clamp(1.875rem,3.7cqi,3.125rem) * var(--hz-k))}
.fs-hz .hz-tr-cap .hz-intro{max-width:46ch;font-size:1.0625rem;line-height:1.5}
.fs-hz .hz-tr-box>.hz-sl-ctl{display:contents}
.fs-hz .hz-tr .hz-sl-pp{grid-area:3/1/4/2;position:relative;z-index:2;align-self:center;margin:.5rem 0 1rem var(--hz-tr-x)}
.fs-hz .hz-tr-dots{grid-area:3/2/4/3;position:relative;z-index:2;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;align-self:center;min-width:0;margin:.5rem .5rem 1rem}
.fs-hz .hz-tr .hz-sl-count{grid-area:3/3/4/4;position:relative;z-index:2;align-self:center;margin:.5rem var(--hz-tr-x) 1rem 0}
.fs-hz .hz-tr .hz-sl-nav{grid-area:1/1/2/4;position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;padding-inline:clamp(.75rem,1.8cqi,1.5rem);pointer-events:none}
.fs-hz .hz-tr .hz-sl-nb{pointer-events:auto}
.fs-hz .hz-sl[data-hz-i] .hz-tr-stage{cursor:grab}
.fs-hz .hz-sl[data-hz-drag] .hz-tr-stage{cursor:grabbing}
.fs-hz:not([data-hz-settled]) .hz-tr-stage{animation:hz-enter-fade .9s ease-out both}
.fs-hz:not([data-hz-settled]) .hz-tr :is(.hz-sl-pp,.hz-tr-dots,.hz-sl-count,.hz-sl-nav){animation:hz-enter .6s cubic-bezier(.2,.7,.2,1) .5s both}

.fs-hz .hz-tr-dot{position:relative;display:grid;place-items:center;flex:none;width:2.75rem;height:2.75rem;margin:0;padding:0;border:0;background:transparent;color:inherit;cursor:pointer}
.fs-hz .hz-tr-dot>i{grid-area:1/1}
.fs-hz .hz-tr-dot-o{display:block;width:.625rem;height:.625rem;border-radius:50%;background:currentColor;transition:opacity .42s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)}
.fs-hz .hz-tr-bar{position:relative;display:block;width:1.875rem;height:.375rem;overflow:hidden;border-radius:999px;background:color-mix(in srgb, currentColor 28%, transparent);opacity:0;transform:scaleX(.34);transition:opacity .42s cubic-bezier(.4,0,.2,1),transform .42s cubic-bezier(.4,0,.2,1)}
.fs-hz .hz-tr-bar>[data-hz-bar]{position:absolute;inset:0;display:block;background:currentColor}
.fs-hz .hz-tr-dot:hover .hz-tr-dot-o{transform:scale(1.4)}
.fs-hz .hz-tr-dot:active .hz-tr-dot-o{transform:scale(.8)}
.fs-hz .hz-tr-dot:is([aria-current="true"],[data-hz-cur]) .hz-tr-dot-o{opacity:0;transform:scale(.6)}
.fs-hz .hz-tr-dot:is([aria-current="true"],[data-hz-cur]) .hz-tr-bar{opacity:1;transform:none}
.fs-hz .hz-tr-dot:is([aria-current="true"],[data-hz-cur]):hover .hz-tr-bar{transform:scaleY(1.34)}
.fs-hz .hz-tr-dot[data-hz-cur] [data-hz-bar]{--hz-bar:1}
.fs-hz[data-hz-pins="square"] .hz-tr-dot-o,.fs-hz[data-hz-pins="square"] .hz-tr-bar{border-radius:0}

.fs-hz .hz-tr-z{position:absolute;inset:0;transform-origin:50% 50%}
.fs-hz .hz-px .hz-tr-m{right:-1px}
.fs-hz .hz-px-mo{position:absolute;inset:0;z-index:2;pointer-events:none}
.fs-hz .hz-px-mo>svg{display:block;width:100%;height:100%}
.fs-hz .hz-px .hz-tr-cap{overflow:hidden;overflow:clip;overflow-clip-margin:.875rem}
.fs-hz .hz-dv-sharp{position:absolute;inset:0;z-index:1}
.fs-hz .hz-dv-twin{position:absolute;left:-2%;top:-2%;z-index:0;width:26%;height:26%;overflow:hidden;transform-origin:0 0;transform:scale(4);visibility:hidden;opacity:0;pointer-events:none}
.fs-hz .hz-dv-twin,.fs-hz .hz-dv-twin *{animation:none!important;transition:none!important}
.fs-hz .hz-dv-blur{display:block;width:100%;height:100%;overflow:visible}
/* Inside the blurred twin an engraver's hatch is drawn as the flat tone it blurs to anyway: a mask under a blur
   is costly to paint at every slide change (Task 22: Almanac's Dissolve crossfaded its captions late). */
.fs-hz .hz-dv-twin [class*="ha-hatch-"]{-webkit-mask-image:none;mask-image:none;fill-opacity:.4}
.fs-hz .hz-dv-img{display:block;width:100%;height:100%;object-fit:cover}
@media (prefers-reduced-motion: reduce){ .fs-hz .hz-dv-twin{display:none!important} }

@container hz (min-width: 52rem){
  .fs-hz .hz-tr-cap .hz-slide{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);grid-template-areas:"e e" "h sub" "h acts";column-gap:clamp(1.75rem,4cqi,4rem);align-content:start;align-items:start}
  .fs-hz .hz-tr-cap .hz-slide>.hz-eyebrow{grid-area:e;margin-bottom:.875rem}
  .fs-hz .hz-tr-cap .hz-slide>.hz-title{grid-area:h}
  .fs-hz .hz-tr-cap .hz-slide>.hz-intro{grid-area:sub;margin-top:.2em}
  .fs-hz .hz-tr-cap .hz-slide>.hz-acts{grid-area:acts}
  .fs-hz .hz-tr-cap .hz-slide>.hz-eyebrow+*{margin-top:0}
}
@container hz (max-width: 59.99rem){
  .fs-hz .hz-tr-box{--hz-tr-fade:2.5rem}
}
@container hz (max-width: 39.99rem){
  .fs-hz .hz-tr{padding-block:1.5rem 2rem}
  .fs-hz .hz-tr-box{--hz-tr-clear:min(15rem,62cqi);--hz-tr-x:1.125rem}
  .fs-hz .hz-tr-stage{min-height:calc(100cqi * 1.25)}
  .fs-hz .hz-tr-box[data-hz-caption="bar"] .hz-tr-stage{height:100cqi}
  .fs-hz:is([data-hz="zoom"],[data-hz="parallax"],[data-hz="dissolve"]) .hz-title{font-size:calc(clamp(1.75rem,8.8cqi,2.25rem) * var(--hz-k))}
  .fs-hz .hz-tr-cap .hz-intro{font-size:1rem}
  .fs-hz .hz-tr .hz-sl-count{display:none}
  .fs-hz .hz-tr .hz-sl-nav{padding-inline:.625rem}
  .fs-hz .hz-tr .hz-sl-pp{margin-block:.375rem .75rem}
  .fs-hz .hz-tr-dots{grid-area:3/2/4/4;margin:.375rem var(--hz-tr-x) .75rem .25rem;justify-content:flex-end}
  /* On picture, a phone caption is compact (owner ruling, Task 23): the intro and the second button go, so the caption
     no longer covers most of the picture. Eyebrow, title and the first button stay. Bar below keeps everything.
     The intro is only VISUALLY hidden (a clip): it stays in the accessibility tree, so a screen reader still reads
     it (pilot fix wave; display:none removed it). The second button is display:none: an invisible focusable button
     would be worse. The editor sheet shows both again. */
  .fs-hz .hz-tr-box[data-hz-caption="on"] .hz-tr-cap .hz-intro{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .fs-hz .hz-tr-box[data-hz-caption="on"] .hz-tr-cap .hz-btn-1~.hz-btn-2{display:none}
  /* … and the clear picture above it grows into the room the caption gave back (Brutal at 390: the band 433 → 288px,
     the clear picture 221 → 312px; the band covers under half the slider instead of two thirds). */
  .fs-hz .hz-tr-box[data-hz-caption="on"]{--hz-tr-clear:min(20rem,80cqi)}
}
/* Site layouts (wide and middle tiers): Centered centres the words; Minimalist adds air; Edge-to-Edge bleeds the slider to the screen edges. */
@container hz (min-width: 44rem){
  .fs-hz:where([data-fs-layout="centered"] *) .hz-tr-cap .hz-slide{display:flex;flex-direction:column;align-items:center;text-align:center}
  .fs-hz:where([data-fs-layout="centered"] *) .hz-tr-cap .hz-slide>.hz-intro{margin-inline:auto}
  .fs-hz:where([data-fs-layout="centered"] *) .hz-tr-cap .hz-slide :is(.hz-acts,.hz-trust){justify-content:center}
  .fs-hz:where([data-fs-layout="minimal"] *) .hz-tr{padding-block:clamp(3.5rem,7cqi,6.5rem)}
}
@container hz (min-width: 47.5rem){
  .fs-hz:where([data-fs-layout="heroEdge"] *) .hz-tr-wrap{padding-inline:0}
  .fs-hz:where([data-fs-layout="heroEdge"] *) .hz-tr{padding-block:0}
  .fs-hz:where([data-fs-layout="heroEdge"] *) .hz-tr-box{border-radius:0;box-shadow:none;--hz-tr-x:max(clamp(1.25rem,3.4cqi,3rem), calc((100cqi - var(--hz-theme-max)) / 2 + 3rem))}
}


@media (prefers-reduced-motion: reduce){ .fs-hz *, .fs-hz *::before, .fs-hz *::after { animation: none !important; transition: none !important; } }
@media (prefers-reduced-motion: reduce){
.fs-hz [data-hz-words][data-hz-state="in"]{opacity:1;transform:none;}
}

/* Site Settings → Motion "Off": the reduced-motion rules again (motionOffMirror). */
.fs-hz:where([data-fs-motion-level="off"] *) .hz-sc-pp{display:none}
.fs-hz:where([data-fs-motion-level="off"] *) .hz-sc-art [data-hz-drift]{translate:none;transition:none}
.fs-hz:where([data-fs-motion-level="off"] *) .hz-sl-pause{display:none}
.fs-hz:where([data-fs-motion-level="off"] *) .hz-sl-pp[data-hz-boot] :is(.is-pause,.hz-ppn-p){display:none}
.fs-hz:where([data-fs-motion-level="off"] *) .hz-sl-pp[data-hz-boot] .hz-ppt-p{visibility:hidden}
.fs-hz:where([data-fs-motion-level="off"] *) .hz-mo-s{translate:none;transition:none}
.fs-hz:where([data-fs-motion-level="off"] *) .hz-vd-ctl{display:none}
.fs-hz:where([data-fs-motion-level="off"] *) .hz-band .hz-track{animation:none;flex-wrap:wrap;width:auto;flex:1 1 auto;min-width:0}
.fs-hz:where([data-fs-motion-level="off"] *) .hz-band .hz-tl{flex:1 1 100%;flex-wrap:wrap;min-width:0;padding-inline:var(--hz-edge)}
.fs-hz:where([data-fs-motion-level="off"] *) .hz-band .hz-tl+.hz-tl{display:none}
.fs-hz:where([data-fs-motion-level="off"] *) .hz-band .hz-ti{white-space:normal}
.fs-hz:where([data-fs-motion-level="off"] *) .hz-band-btn{display:none}
.fs-hz:where([data-fs-motion-level="off"] *) .hz-of-pp{display:none}
.fs-hz:where([data-fs-motion-level="off"] *) .hz-cd-cells [data-hz-unit="sec"]{display:none}
.fs-hz:where([data-fs-motion-level="off"] *) .hz-pin>i{transition:none}
.fs-hz:where([data-fs-motion-level="off"] *) .hz-dv-twin{display:none!important}
.fs-hz:where([data-fs-motion-level="off"] *) *,.fs-hz:where([data-fs-motion-level="off"] *) *::before,.fs-hz:where([data-fs-motion-level="off"] *) *::after{animation: none !important; transition: none !important;}
.fs-hz:where([data-fs-motion-level="off"] *) [data-hz-words][data-hz-state="in"]{opacity:1;transform:none;}


.fs-vo{
  --vo-bg:rgb(var(--c-paper));--vo-bg2:rgb(var(--c-paper-sunk));--vo-card:rgb(var(--c-paper-soft));
  --vo-ink:rgb(var(--c-ink-950));--vo-ink2:rgb(var(--c-ink-700));--vo-ink3:rgb(var(--c-ink-400));
  --vo-line:rgb(var(--c-line));--vo-accent:rgb(var(--c-brand-600));--vo-accent-text:rgb(var(--c-brand-text, var(--c-brand-600)));
  --vo-on:var(--fs-on-brand);--vo-teal:rgb(var(--c-accent));
  --vo-tint:color-mix(in oklab, var(--vo-accent) 7%, var(--vo-bg));
  --vo-glow:color-mix(in oklab, var(--vo-accent) 38%, transparent);
  --vo-hair:color-mix(in oklab, var(--vo-accent) 28%, var(--vo-line));
  --vo-bg3:color-mix(in oklab, var(--vo-ink) 7%, var(--vo-bg2));
  --vo-shadow:0 1px 2px rgb(var(--c-ink-950) / .05),0 18px 40px -22px rgb(var(--c-ink-950) / .2);
  --vo-shadow-lift:0 2px 6px rgb(var(--c-ink-950) / .07),0 40px 70px -28px rgb(var(--c-ink-950) / .32);
  --vo-radius:var(--fs-radius-card,14px);--vo-pill:var(--fs-radius-pill,999px);
  /* --vo-pad / --vo-sec and the hero's height step at the export's 900px
     breakpoint. The root cannot query its own size, so these read the
     width the section sits in (cqi resolves to the nearest container
     above: the editor canvas, or the page): above 900px the clamp picks
     the wide value, at or below it the narrow one. */
  --vo-pad:clamp(20px, (100cqi - 900px) * 999, 32px);--vo-sec:clamp(64px, (100cqi - 900px) * 999, 96px);
  container-type:inline-size;container-name:fs-vo;
  position:relative;background:var(--vo-bg);color:var(--vo-ink);
  font-family:var(--font-body,sans-serif);font-weight:300;font-size:16.5px;line-height:1.62;
  -webkit-font-smoothing:antialiased;text-wrap:pretty;
}
.fs-vo *{box-sizing:border-box;}
.fs-vo :where(h1,h2,h3){font-family:var(--font-display,sans-serif);margin:0;font-weight:500;letter-spacing:-.02em;line-height:1.1;text-wrap:balance;}
.fs-vo :where(p){margin:0;}
.fs-vo :where(ul){margin:0;padding:0;list-style:none;}
.fs-vo :where(a){color:var(--vo-accent-text);text-decoration:none;transition:color .25s ease;}
.fs-vo :where(button){font:inherit;color:inherit;cursor:pointer;border:0;background:none;}
.fs-vo-wire{filter:grayscale(1) contrast(.5);}
/* ── Shell ── */
.fs-vo-wrap{max-width:var(--fs-layout-max, var(--fs-shell-max,1240px));margin:0 auto;padding:0 var(--vo-pad);position:relative;}
.fs-vo-sec{padding:var(--vo-sec) 0;}
.fs-vo-sec-s{padding:calc(var(--vo-sec) * .6) 0;}
.fs-vo-sec-flushtop{padding-top:0;}
.fs-vo-sunk{background:var(--vo-bg2);border-top:1px solid var(--vo-line);border-bottom:1px solid var(--vo-line);}
.fs-vo-rule-b{border-bottom:1px solid var(--vo-line);}
.fs-vo-mid{max-width:calc(960px + var(--vo-pad) * 2);}
.fs-vo-grid{display:grid;gap:18px;}
.fs-vo-grid-180{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));}
.fs-vo-grid-200{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));}
.fs-vo-grid-250{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));}
.fs-vo-grid-260{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));}
.fs-vo-grid-280{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));}
.fs-vo-grid-270{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));}
.fs-vo-gap14{gap:14px;} 
.fs-vo-start{align-items:start;}
.fs-vo-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:52px;align-items:center;}
.fs-vo-split-top{align-items:start;gap:48px;}
.fs-vo-stack{display:grid;gap:22px;justify-items:start;text-align:left;align-content:start;}
.fs-vo-center{justify-items:center;text-align:center;}
.fs-vo-stack-10{display:grid;gap:10px;}
.fs-vo-stack-12{display:grid;gap:12px;} .fs-vo-stack-14{gap:14px;}
.fs-vo-stack-16{display:grid;gap:16px;align-content:start;} .fs-vo-stack-18{display:grid;gap:18px;align-content:start;}
.fs-vo-stack-20{gap:20px;} .fs-vo-stack-20.fs-vo-stack{gap:20px;} div.fs-vo-stack-20:not(.fs-vo-stack){display:grid;gap:20px;align-content:start;}
.fs-vo-stack-22{gap:22px;} form.fs-vo-stack-22{display:grid;gap:22px;}
.fs-vo-stack-26{display:grid;gap:26px;} .fs-vo-stack-30{display:grid;gap:30px;} .fs-vo-stack-36{display:grid;gap:36px;}
.fs-vo-stack-42{display:grid;gap:42px;} .fs-vo-stack-54{display:grid;gap:54px;}
.fs-vo-max440{max-width:440px;width:100%;} .fs-vo-max460{max-width:460px;}
.fs-vo-max520{max-width:520px;} .fs-vo-max560{max-width:560px;}
.fs-vo-max600{max-width:600px;} .fs-vo-max620{max-width:620px;}
.fs-vo-mt4{margin-top:4px;} .fs-vo-mt6{margin-top:6px;} .fs-vo-mt34{margin-top:34px;} .fs-vo-mb6{margin-bottom:6px;}
/* ── Type ── */
.fs-vo-eyebrow{font-size:12px;letter-spacing:.24em;color:var(--vo-accent-text);text-transform:uppercase;}
.fs-vo-eyebrow-t{letter-spacing:.2em;}
.fs-vo-eyebrow-m{color:var(--vo-ink3);}
.fs-vo-head{display:grid;gap:14px;margin-bottom:44px;justify-items:start;}
.fs-vo-headrow .fs-vo-head,.fs-vo-stack-42 > .fs-vo-head,.fs-vo-stack-36 .fs-vo-head{margin-bottom:0;}
.fs-vo-h1{font-size:clamp(40px,5.4vw,74px);font-weight:300;color:var(--vo-ink);}
.fs-vo-h1 b{font-weight:600;}
.fs-vo-h1-page{font-size:clamp(34px,4.6vw,62px);max-width:840px;}
.fs-vo-center .fs-vo-h1-page{max-width:760px;}
.fs-vo-h1-detail{font-size:clamp(32px,4.2vw,56px);}
.fs-vo-h1-book{font-size:clamp(32px,4.2vw,54px);}
.fs-vo-h2{font-weight:300;color:var(--vo-ink);}
.fs-vo-h2-xl{font-size:clamp(28px,3.8vw,50px);}
.fs-vo-h2-l{font-size:clamp(28px,3.6vw,46px);}
.fs-vo-h2-m{font-size:clamp(26px,3.3vw,42px);}
.fs-vo-h2-s{font-size:clamp(24px,3vw,38px);}
.fs-vo-quals{font-size:.52em;letter-spacing:.16em;color:var(--vo-ink3);font-weight:400;}
.fs-vo-lede{font-size:1.06em;color:var(--vo-ink2);}
.fs-vo-lede-l{font-size:1.12em;}
.fs-vo-card-t{font-family:var(--font-display,sans-serif);font-size:19px;font-weight:500;color:var(--vo-ink);line-height:1.25;}
.fs-vo-t18{font-size:18px;} .fs-vo-t19{font-size:19px;} .fs-vo-t22{font-size:22px;}
.fs-vo-card-b{font-size:14.5px;color:var(--vo-ink2);}
.fs-vo-b13{font-size:13px;color:var(--vo-ink2);} 
.fs-vo-b14{font-size:14px;color:var(--vo-ink2);} .fs-vo-b15{font-size:15px;}
.fs-vo-price-meta{display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.16em;color:var(--vo-accent-text);margin-top:4px;text-transform:uppercase;}
.fs-vo-price-meta{letter-spacing:.12em;}
.fs-vo-small-meta{font-size:12px;letter-spacing:.1em;color:var(--vo-ink3);}
.fs-vo-teal{color:var(--vo-teal);flex-shrink:0;}
.fs-vo-textlink{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-display,sans-serif);font-size:12.5px;letter-spacing:.12em;border-bottom:1px solid var(--vo-accent);padding-bottom:5px;white-space:nowrap;text-transform:uppercase;}
/* ── Buttons ── */
.fs-vo-btns{display:flex;flex-wrap:wrap;gap:12px;padding-top:6px;}
.fs-vo-btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--vo-accent);color:var(--vo-on) !important;padding:16px 28px;border-radius:var(--vo-pill);font-family:var(--font-display,sans-serif);font-size:13px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;border:1px solid transparent;transition:border-color .3s ease,color .3s ease,background-color .3s ease;}
.fs-vo-btn-s{padding:15px 26px;font-size:12.5px;}
.fs-vo-btn-xs{padding:15px;font-size:12px;letter-spacing:.12em;}
.fs-vo-btn-block{display:flex;width:100%;}
.fs-vo-btn-glow{box-shadow:0 18px 34px -18px var(--vo-glow);}
.fs-vo-btn-ghost{background:transparent;border-color:var(--vo-line);color:var(--vo-ink) !important;}
.fs-vo-btn-ghost:hover{border-color:var(--vo-accent);color:var(--vo-accent-text) !important;}
.fs-vo-shimmer{position:absolute;top:0;bottom:0;left:0;width:40%;background:linear-gradient(90deg,transparent,color-mix(in srgb, var(--vo-on) 42%, transparent),transparent);transform:translateX(-120%);pointer-events:none;}
.fs-vo-chipbtn{font-size:12px;letter-spacing:.14em;border:1px solid var(--vo-line);padding:12px 20px;border-radius:var(--vo-pill);color:var(--vo-ink) !important;white-space:nowrap;text-transform:uppercase;transition:border-color .3s ease,color .3s ease;}
.fs-vo-chipbtn:hover{border-color:var(--vo-accent);color:var(--vo-accent-text) !important;}
.fs-vo-round{width:44px;height:44px;border-radius:50%;border:1px solid var(--vo-line) !important;color:var(--vo-ink);display:inline-grid;place-items:center;transition:border-color .3s ease,color .3s ease;}
.fs-vo-round:hover{border-color:var(--vo-accent) !important;color:var(--vo-accent-text);}
/* ── Cards ── */
.fs-vo-card{display:grid;background:var(--vo-card);border:1px solid var(--vo-line);border-radius:var(--vo-radius);box-shadow:var(--vo-shadow);color:var(--vo-ink);transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s ease,border-color .4s ease;}
a.fs-vo-card,span.fs-vo-card{color:var(--vo-ink);}
.fs-vo-card-pad{gap:16px;align-content:start;padding:30px 26px 28px;}
.fs-vo-noshadow{box-shadow:none;}
.fs-vo-minicard{gap:9px;padding:26px 24px;}
.fs-vo-marked{display:flex;align-items:center;gap:10px;}
.fs-vo-step-n{font-family:var(--font-display,sans-serif);font-size:12px;letter-spacing:.16em;color:var(--vo-accent-text);}
.fs-vo-anim .fs-vo-lift:hover{transform:var(--fs-anim-voLift,translateY(-8px));box-shadow:var(--vo-shadow-lift);}
.fs-vo-anim .fs-vo-glow:hover{transform:var(--fs-anim-voLift,translateY(-8px));box-shadow:0 30px 60px -30px var(--vo-glow);border-color:var(--vo-hair);}
.fs-vo-glasstag{position:absolute;top:14px;left:14px;pointer-events:none;background:color-mix(in oklab, var(--vo-bg) 84%, transparent);backdrop-filter:blur(8px);padding:6px 12px;border-radius:var(--vo-pill);font-size:12px;letter-spacing:.16em;color:var(--vo-ink);text-transform:uppercase;}
.fs-vo-glasstag-s{top:13px;left:13px;padding:5px 11px;}
.fs-vo-zoom{transition:transform .6s cubic-bezier(.2,.8,.2,1);}
.fs-vo-anim .fs-vo-lift:hover .fs-vo-zoom{transform:scale(1.06);}
/* ── Media ── */
.fs-vo-media{position:absolute;inset:0;background:var(--vo-bg3);overflow:hidden;}
.fs-vo-media img{width:100%;height:100%;object-fit:cover;display:block;}
/* ══ HOME — the 2026-10-27 redesign (owner-approved Superdesign draft).
   Varied grounds section to section (sunk → accent band → paper → sunk
   → paper → inverse panel → ruled → sunk → paper → sunk), heavier
   display headings, framed photography with labelled placeholders on
   the template preview. Every colour is a palette token, so the five
   accents and both modes repaint; the inverse panel flips with the
   mode (ink ground, paper type). ══ */
.fs-vo-strong{font-weight:600;letter-spacing:-.025em;}
.fs-vo-head-c{justify-items:center;text-align:center;max-width:720px;margin-left:auto;margin-right:auto;}
.fs-vo-gap34{gap:34px;}
.fs-vo-clip{overflow:hidden;}
.fs-vo-arrowlink{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display,sans-serif);font-size:13px;font-weight:500;letter-spacing:.12em;color:var(--vo-accent-text) !important;text-transform:uppercase;white-space:nowrap;}
.fs-vo-arrowlink > span{transition:transform .3s ease;}
.fs-vo-anim .fs-vo-arrowlink:hover > span{transform:translateX(4px);}
.fs-vo-btn-ink{background:var(--vo-ink);color:var(--vo-bg) !important;}
.fs-vo-ph{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:14px;padding:24px;text-align:center;color:var(--vo-ink3);background:linear-gradient(160deg,var(--vo-bg3),color-mix(in oklab, var(--vo-accent) 9%, var(--vo-bg3)));}
.fs-vo-map .fs-vo-ph{padding-top:120px;}
.fs-vo-map .fs-vo-ph svg{display:none;}
.fs-vo-ph-t{font-size:12px;letter-spacing:.14em;text-transform:uppercase;max-width:260px;line-height:1.5;color:var(--vo-ink2);}
/* ── 01 Hero ── */
.fs-vo-hero{position:relative;background:var(--vo-bg2);overflow:hidden;min-height:min(clamp(560px, (100cqi - 900px) * 999, 88vh), 920px);display:grid;align-items:center;padding:calc(var(--vo-sec) * .7) 0;}
.fs-vo-hero-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:clamp(40px,6vw,72px);align-items:center;width:100%;}
.fs-vo-hero-copy{max-width:640px;display:grid;gap:26px;justify-items:start;position:relative;z-index:1;}
.fs-vo-pill{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:500;letter-spacing:.16em;color:var(--vo-ink2);border:1px solid var(--vo-line);background:var(--vo-card);padding:8px 16px;border-radius:var(--vo-pill);text-transform:uppercase;box-shadow:var(--vo-shadow);}
.fs-vo-pill-dot{width:8px;height:8px;border-radius:50%;background:var(--vo-teal);box-shadow:0 0 0 4px color-mix(in oklab, var(--vo-teal) 28%, transparent);}
.fs-vo-anim .fs-vo-pill-dot{animation:var(--fs-anim-voRipple,fs-vo-pulse 2s ease-in-out infinite);}
.fs-vo-hero .fs-vo-h1{font-size:clamp(40px,5vw,68px);line-height:1.06;}
.fs-vo-hero .fs-vo-h1 b{font-weight:600;font-style:italic;color:var(--vo-accent-text);}
.fs-vo-hero-lede{font-size:1.2em;color:var(--vo-ink2);max-width:520px;}
.fs-vo-hero-meta{display:flex;flex-wrap:wrap;gap:14px 0;width:100%;padding-top:24px;border-top:1px solid var(--vo-line);font-size:12px;font-weight:500;letter-spacing:.12em;color:var(--vo-ink2);text-transform:uppercase;}
.fs-vo-hero-meta > span{padding:2px 22px;border-left:1px solid var(--vo-line);}
.fs-vo-hero-meta > span:first-child{padding-left:0;border-left:0;font-family:var(--font-display,sans-serif);font-size:14px;letter-spacing:.04em;color:var(--vo-ink);}
.fs-vo-hero-art{position:relative;justify-self:center;width:100%;max-width:520px;padding:0 0 40px 40px;}
.fs-vo-hero-rings{position:absolute;inset:-12% -14% -4% -4%;pointer-events:none;}
.fs-vo-hero-frame{position:relative;aspect-ratio:4 / 5;border-radius:calc(var(--vo-radius) * 2.6);overflow:hidden;border:8px solid var(--vo-card);box-shadow:var(--vo-shadow-lift);background:var(--vo-bg3);}
.fs-vo-hero-inset{position:absolute;left:0;bottom:0;width:clamp(130px,34%,190px);aspect-ratio:1;padding:12px;border-radius:calc(var(--vo-radius) * 1.7);background:var(--vo-card);box-shadow:var(--vo-shadow-lift);}
.fs-vo-hero-inset > .fs-vo-media{position:absolute;inset:12px;border-radius:var(--vo-radius);}
.fs-vo-hero-inset .fs-vo-ph{gap:8px;padding:10px;}
.fs-vo-hero-inset .fs-vo-ph svg{width:36px;height:27px;}
/* ── Stats: the accent band ── */
.fs-vo-stats{padding:calc(var(--vo-sec) * .45) 0;background:var(--vo-accent);color:var(--vo-on);}
.fs-vo-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:26px;}
.fs-vo-stat{display:grid;gap:6px;}
.fs-vo-stat-n{font-family:var(--font-display,sans-serif);font-size:clamp(28px,3vw,38px);font-weight:600;letter-spacing:-.02em;color:var(--vo-on);}
.fs-vo-stat-l{font-size:12px;font-weight:500;letter-spacing:.16em;color:color-mix(in srgb, var(--vo-on) 86%, transparent);text-transform:uppercase;}
/* ── 02 Services: sunk cards that flood with the accent on hover ── */
.fs-vo-headrow{display:flex;flex-wrap:wrap;gap:18px 40px;align-items:flex-end;justify-content:space-between;margin-bottom:52px;}
.fs-vo-headrow .fs-vo-head{gap:13px;max-width:640px;}
.fs-vo-svc{display:grid;gap:14px;align-content:start;text-align:left;padding:34px 30px 32px;background:var(--vo-bg2);border:1px solid var(--vo-line);border-radius:var(--vo-radius);color:var(--vo-ink) !important;transition:background-color .35s ease,color .35s ease,border-color .35s ease,transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s ease;}
.fs-vo-svc-icon{width:52px;height:52px;display:grid;place-items:center;margin-bottom:14px;border-radius:12px;background:var(--vo-card);color:var(--vo-accent);box-shadow:var(--vo-shadow);transition:background-color .35s ease,color .35s ease;}
.fs-vo-svc .fs-vo-card-t{font-size:20px;font-weight:600;}
.fs-vo-svc .fs-vo-card-b{transition:color .35s ease;}
.fs-vo-svc-price{margin-top:auto;padding-top:12px;font-family:var(--font-display,sans-serif);font-size:22px;font-weight:600;letter-spacing:.01em;color:var(--vo-ink);transition:color .35s ease;}
.fs-vo-anim .fs-vo-svc:hover{background:var(--vo-accent);border-color:var(--vo-accent);transform:var(--fs-anim-voLift,translateY(-6px));box-shadow:0 30px 60px -30px var(--vo-glow);}
.fs-vo-anim .fs-vo-svc:hover .fs-vo-card-t,.fs-vo-anim .fs-vo-svc:hover .fs-vo-svc-price{color:var(--vo-on);}
.fs-vo-anim .fs-vo-svc:hover .fs-vo-card-b{color:color-mix(in srgb, var(--vo-on) 86%, transparent);}
.fs-vo-anim .fs-vo-svc:hover .fs-vo-svc-icon{background:color-mix(in srgb, var(--vo-on) 18%, transparent);color:var(--vo-on);box-shadow:none;}
/* ── 03 Spotlight ── */
.fs-vo-spot{gap:clamp(44px,7vw,88px);}
.fs-vo-spot-media{position:relative;justify-self:center;width:100%;max-width:480px;}
.fs-vo-spot-frame{position:relative;aspect-ratio:3 / 4;border-radius:calc(var(--vo-radius) * 1.8);overflow:hidden;box-shadow:var(--vo-shadow-lift);background:var(--vo-bg3);z-index:1;}
.fs-vo-glowblob{position:absolute;width:62%;aspect-ratio:1;border-radius:50%;filter:blur(60px);opacity:.22;pointer-events:none;}
.fs-vo-glowblob-a{top:-10%;right:-18%;background:var(--vo-accent);}
.fs-vo-glowblob-b{bottom:-10%;left:-18%;background:var(--vo-teal);}
.fs-vo-emblem{position:absolute;right:-14px;bottom:-14px;width:130px;height:130px;border-radius:50%;background:var(--vo-card);border:1px solid var(--vo-line);box-shadow:var(--vo-shadow);display:grid;place-items:center;z-index:2;}
.fs-vo-quals{font-size:16px;font-weight:500;letter-spacing:.12em;color:var(--vo-ink2);margin-top:-8px;}
.fs-vo-creds{display:grid;gap:14px;width:100%;max-width:500px;padding:6px 0 10px !important;}
.fs-vo-creds li{display:flex;gap:14px;align-items:center;font-size:15px;color:var(--vo-ink);}
.fs-vo-tick{flex-shrink:0;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--vo-tint);border:1px solid var(--vo-hair);color:var(--vo-accent-text);font-size:12px;font-weight:600;}
/* ── 04 Collections: open cards ── */
.fs-vo-head-c.fs-vo-head{margin-bottom:56px;}
.fs-vo-stack-36 > .fs-vo-head-c.fs-vo-head{margin-bottom:0;}
.fs-vo-head-c .fs-vo-chipbtn{margin-top:8px;}
.fs-vo-col{display:grid;gap:22px;align-content:start;color:var(--vo-ink) !important;}
.fs-vo-col-media{position:relative;display:block;aspect-ratio:1;border-radius:calc(var(--vo-radius) * 1.7);overflow:hidden;border:1px solid var(--vo-line);background:var(--vo-bg3);}
.fs-vo-col-body{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;}
.fs-vo-col-main{display:grid;gap:8px;min-width:0;}
.fs-vo-col-tag{font-size:12px;font-weight:600;letter-spacing:.14em;color:var(--vo-accent-text);text-transform:uppercase;}
.fs-vo-col .fs-vo-card-t{font-weight:600;}
.fs-vo-col-price{flex-shrink:0;padding-top:24px;font-family:var(--font-display,sans-serif);font-size:16px;font-weight:600;color:var(--vo-ink);white-space:nowrap;text-align:right;}
.fs-vo-anim .fs-vo-col:hover .fs-vo-zoom{transform:scale(1.05);}
/* ── 05 Appointment: the inverse panel ── */
.fs-vo-appt{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);overflow:hidden;border-radius:calc(var(--vo-radius) * 2.8);background:var(--vo-ink);box-shadow:var(--vo-shadow-lift);}
.fs-vo-appt-main{display:grid;gap:26px;align-content:center;justify-items:start;padding:clamp(40px,6vw,88px) clamp(28px,5vw,72px);}
.fs-vo-eyebrow-inv{color:color-mix(in srgb, var(--vo-bg) 72%, transparent);}
.fs-vo-inv{color:var(--vo-bg);}
.fs-vo-btn-invghost{background:transparent;border-color:color-mix(in srgb, var(--vo-bg) 30%, transparent);color:var(--vo-bg) !important;}
.fs-vo-btn-invghost:hover{border-color:var(--vo-bg);}
.fs-vo-appt-side{position:relative;overflow:hidden;display:grid;gap:22px;align-content:center;justify-items:start;padding:clamp(34px,4vw,56px);background:linear-gradient(150deg,var(--vo-accent),color-mix(in oklab, var(--vo-accent) 62%, var(--vo-teal)));color:var(--vo-on);}
.fs-vo-appt-mark{position:relative;display:grid;place-items:center;width:84px;height:84px;border-radius:50%;background:var(--vo-card);box-shadow:var(--vo-shadow);}
.fs-vo-appt-ring{position:absolute;border-radius:50%;border:1px solid color-mix(in srgb, var(--vo-on) 28%, transparent);pointer-events:none;}
.fs-vo-appt-ring1{right:-120px;top:-120px;width:320px;height:320px;}
.fs-vo-appt-ring2{right:-60px;bottom:-150px;width:280px;height:280px;border-color:color-mix(in srgb, var(--vo-on) 18%, transparent);}
.fs-vo-appt-body{position:relative;color:color-mix(in srgb, var(--vo-on) 92%, transparent);font-size:1.06em;line-height:1.6;}
/* ── Insurers ── */
.fs-vo-ruled{border-top:1px solid var(--vo-line);border-bottom:1px solid var(--vo-line);}
.fs-vo-insurers{display:grid;gap:28px;justify-items:center;}
.fs-vo-insurer-row{display:flex;flex-wrap:wrap;gap:16px 56px;justify-content:center;align-items:center;}
.fs-vo-insurer{font-family:var(--font-display,sans-serif);font-size:21px;font-weight:600;font-style:italic;letter-spacing:-.01em;color:var(--vo-ink3);transition:color .3s ease;}
.fs-vo-insurer:hover{color:var(--vo-ink);}
/* ── 06 Timeline ── */
.fs-vo-timeline{display:grid;gap:0;position:relative;}
.fs-vo-timeline li{display:grid;grid-template-columns:78px 1fr;gap:22px;padding:0 0 30px;}
.fs-vo-timeline-big li{grid-template-columns:88px 1fr;padding-bottom:34px;}
.fs-vo-tl-year{font-family:var(--font-display,sans-serif);font-size:14px;letter-spacing:.06em;color:var(--vo-accent-text);padding-top:2px;}
.fs-vo-timeline-big .fs-vo-tl-year{font-size:15px;padding-top:0;}
.fs-vo-tl-body{display:grid;gap:7px;border-left:1px solid var(--vo-line);padding-left:26px;position:relative;}
.fs-vo-timeline-big .fs-vo-tl-body{gap:8px;padding-left:28px;}
.fs-vo-tl-node{position:absolute;left:-5.5px;top:5px;width:10px;height:10px;border-radius:50%;background:var(--vo-bg);border:2px solid var(--vo-accent);}
.fs-vo-tl-t{font-family:var(--font-display,sans-serif);font-size:16.5px;font-weight:500;color:var(--vo-ink);}
.fs-vo-timeline-big .fs-vo-tl-t{font-size:19px;}
.fs-vo-tl-b{font-size:14px;color:var(--vo-ink2);}
.fs-vo-timeline-big .fs-vo-tl-b{font-size:14.5px;}
/* The home page's centred rail: entries alternate either side. */
.fs-vo-story-top{gap:clamp(40px,6vw,80px);}
.fs-vo-story-media{position:relative;aspect-ratio:16 / 10;border-radius:calc(var(--vo-radius) * 2.2);overflow:hidden;border:4px solid var(--vo-card);box-shadow:var(--vo-shadow-lift);background:var(--vo-bg3);}
.fs-vo-alt{position:relative;display:grid;gap:44px;padding:18px 0;}
.fs-vo-alt::before{content:'';position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--vo-line);}
.fs-vo-alt li{position:relative;display:grid;grid-template-columns:1fr 1fr;column-gap:96px;}
.fs-vo-alt-node{position:absolute;left:50%;top:6px;width:16px;height:16px;margin-left:-8px;border-radius:50%;background:var(--vo-accent);border:4px solid var(--vo-card);box-shadow:var(--vo-shadow);}
.fs-vo-alt-body{display:grid;gap:7px;align-content:start;}
.fs-vo-alt li:nth-child(odd) .fs-vo-alt-body{grid-column:1;text-align:right;justify-items:end;}
.fs-vo-alt li:nth-child(even) .fs-vo-alt-body{grid-column:2;}
.fs-vo-alt .fs-vo-tl-year{font-weight:600;padding-top:0;}
.fs-vo-alt .fs-vo-tl-t{font-weight:600;}
.fs-vo-alt .fs-vo-tl-b{max-width:380px;}
/* ── 07 Location ── */
.fs-vo-loc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:clamp(34px,5vw,64px);align-items:stretch;}
.fs-vo-loc-info{gap:20px;}
.fs-vo-loc-map{min-height:480px;border-radius:calc(var(--vo-radius) * 2.2);}
.fs-vo-map{position:relative;border-radius:var(--vo-radius);overflow:hidden;border:1px solid var(--vo-line);box-shadow:var(--vo-shadow);}
.fs-vo-pin{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;display:grid;place-items:center;}
.fs-vo-pin-ripple{position:absolute;width:70px;height:70px;border-radius:50%;background:var(--vo-glow);}
.fs-vo-pin-dot{width:16px;height:16px;border-radius:50%;background:var(--vo-accent);border:3px solid var(--vo-bg);box-shadow:var(--vo-shadow);}
.fs-vo-hours{display:grid;gap:0;width:100%;}
.fs-vo-hours li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--vo-line);font-size:14.5px;color:var(--vo-ink2);}
.fs-vo-hours-t{color:var(--vo-ink);font-family:var(--font-display,sans-serif);font-size:13.5px;}
.fs-vo-notes{display:flex;flex-wrap:wrap;gap:22px;font-size:13.5px;color:var(--vo-ink2);}
.fs-vo-notes > span{display:flex;gap:9px;align-items:center;}
.fs-vo-notes .fs-vo-a-float{display:inline-block;}
/* ── 08 Testimonials ── */
.fs-vo-track-clip{overflow:hidden;}
.fs-vo-track{display:flex;transition:transform .6s cubic-bezier(.2,.8,.2,1);}
.fs-vo-track-page{flex:0 0 100%;}
.fs-vo-quote{margin:0;gap:24px;align-content:space-between;padding:38px 34px;}
.fs-vo-stars{color:var(--vo-accent);letter-spacing:.2em;font-size:13px;}
.fs-vo-stars-l{font-size:22px;letter-spacing:.14em;}
.fs-vo-quote-t{font-size:17px;font-style:italic;color:var(--vo-ink);line-height:1.6;}
.fs-vo-quote-foot{display:flex;gap:14px;align-items:center;}
.fs-vo-quote-av{flex-shrink:0;width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:var(--vo-tint);border:1px solid var(--vo-hair);font-family:var(--font-display,sans-serif);font-size:30px;font-weight:600;line-height:1;padding-top:12px;color:var(--vo-accent-text);}
.fs-vo-quote-by{display:grid;gap:2px;}
.fs-vo-quote-n{font-family:var(--font-display,sans-serif);font-size:15px;font-weight:600;color:var(--vo-ink);}
.fs-vo-quote-m{font-size:12px;letter-spacing:.1em;color:var(--vo-ink3);text-transform:uppercase;}
.fs-vo-pager{display:flex;gap:18px;align-items:center;justify-content:center;}
.fs-vo-dots{display:flex;gap:7px;justify-content:center;}
.fs-vo-dot{width:9px;height:9px;border-radius:999px;background:var(--vo-line) !important;transition:all .4s ease;padding:0;}
.fs-vo-dot[data-on='true']{width:26px;background:var(--vo-accent) !important;}
/* ══ INNER PAGES — the 2026-10-27 redesign (approved mockup "Visionary
   Optics Inner Pages"): the home page's language on every inner page.
   Shaded page-head bands with heavy headings and the lens rings, rows and
   cards on sunk grounds, inverse panels for the decisive parts, framed
   photography with labelled placeholders on the template preview. ══ */
/* Inverse panels re-point the family tokens (ink ground, paper type —
   they flip with the mode), so the inputs, ticks and labels inside them
   repaint without rules of their own. */
.fs-vo-detail-box,.fs-vo-summary,.fs-vo-form-inv,.fs-vo-feature{--vo-bg:rgb(var(--c-ink-950));--vo-ink:rgb(var(--c-paper));
  --vo-card:color-mix(in oklab, var(--vo-ink) 7%, var(--vo-bg));--vo-bg2:var(--vo-card);
  --vo-bg3:color-mix(in oklab, var(--vo-ink) 10%, var(--vo-bg));
  --vo-ink2:color-mix(in oklab, var(--vo-ink) 76%, var(--vo-bg));--vo-ink3:color-mix(in oklab, var(--vo-ink) 62%, var(--vo-bg));
  --vo-line:color-mix(in oklab, var(--vo-ink) 16%, var(--vo-bg));
  --vo-accent-text:color-mix(in oklab, rgb(var(--c-brand-600)) 62%, var(--vo-ink));
  background:var(--vo-bg);color:var(--vo-ink);}
:is(.fs-vo-detail-box,.fs-vo-summary,.fs-vo-form-inv,.fs-vo-feature) .fs-vo-eyebrow-inv{color:var(--vo-ink3);}
:is(.fs-vo-detail-box,.fs-vo-summary,.fs-vo-form-inv,.fs-vo-feature) .fs-vo-inv{color:var(--vo-ink);}
:is(.fs-vo-detail-box,.fs-vo-summary,.fs-vo-form-inv,.fs-vo-feature) .fs-vo-tick{background:color-mix(in oklab, var(--vo-ink) 14%, transparent);border-color:transparent;color:var(--vo-ink);}
.fs-vo-gap22{gap:22px;} .fs-vo-gap28{gap:28px;}
.fs-vo-h1-page,.fs-vo-h1-detail,.fs-vo-h1-book{font-weight:600;letter-spacing:-.03em;}
/* ── Page head: a shaded band, the heading heavy, the lens rings beside it ── */
.fs-vo-pagehead{overflow:hidden;background:var(--vo-bg2);border-bottom:1px solid var(--vo-line);padding:calc(var(--vo-sec) * .9) 0 calc(var(--vo-sec) * .8);}
.fs-vo-pagehead-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:48px;align-items:center;}
.fs-vo-pagehead-c .fs-vo-pagehead-grid{grid-template-columns:1fr;}
.fs-vo-pagehead-rings{position:relative;justify-self:end;width:min(100%,340px);aspect-ratio:1;}
.fs-vo-pagehead-rings > span{position:absolute;inset:0;border-radius:50%;border:1px solid var(--vo-accent);opacity:.32;}
.fs-vo-pagehead-rings > span:nth-child(2){inset:16%;border-color:var(--vo-teal);opacity:.55;}
.fs-vo-pagehead-rings > span:nth-child(3){inset:36%;display:grid;place-items:center;background:var(--vo-card);border:1px solid var(--vo-line);opacity:1;box-shadow:var(--vo-shadow);}
/* ── Service rows: sunk rows that flood with the accent ── */
.fs-vo-stack-18 > .fs-vo-row{margin:0;}
.fs-vo-row{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:28px;align-items:center;padding:28px 32px;border-radius:calc(var(--vo-radius) * 1.4);background:var(--vo-bg2);border:1px solid var(--vo-line);color:var(--vo-ink) !important;transition:background-color .35s ease,color .35s ease,border-color .35s ease,transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s ease;}
.fs-vo-row-ic{margin-bottom:0;}
.fs-vo-row .fs-vo-card-t{font-weight:600;transition:color .35s ease;}
.fs-vo-row .fs-vo-card-b{transition:color .35s ease;}
.fs-vo-row-main{display:grid;gap:8px;}
.fs-vo-row-side{display:grid;gap:8px;justify-items:end;text-align:right;}
.fs-vo-row-price{font-family:var(--font-display,sans-serif);font-size:20px;font-weight:600;letter-spacing:.02em;color:var(--vo-ink);white-space:nowrap;transition:color .35s ease;}
.fs-vo-row-cue{font-family:var(--font-display,sans-serif);font-size:12px;font-weight:600;letter-spacing:.12em;color:var(--vo-accent-text);white-space:nowrap;text-transform:uppercase;transition:color .35s ease;}
.fs-vo-anim .fs-vo-row:hover{background:var(--vo-accent);border-color:var(--vo-accent);transform:var(--fs-anim-voLift,translateY(-4px));box-shadow:0 30px 60px -30px var(--vo-glow);}
.fs-vo-anim .fs-vo-row:hover :is(.fs-vo-card-t,.fs-vo-row-price,.fs-vo-row-cue){color:var(--vo-on);}
.fs-vo-anim .fs-vo-row:hover .fs-vo-card-b{color:color-mix(in srgb, var(--vo-on) 86%, transparent);}
.fs-vo-anim .fs-vo-row:hover .fs-vo-svc-icon{background:color-mix(in srgb, var(--vo-on) 18%, transparent);color:var(--vo-on);box-shadow:none;}
/* ── Card grid: ticked, numbered or plain cards ── */
.fs-vo-minicard{gap:12px;padding:28px 26px;border-radius:calc(var(--vo-radius) * 1.4);}
.fs-vo-minicard .fs-vo-card-t{font-weight:600;}
.fs-vo-marked{display:flex;align-items:center;gap:14px;}
.fs-vo-step-n{font-family:var(--font-display,sans-serif);font-size:40px;font-weight:600;line-height:1;letter-spacing:-.03em;color:var(--vo-accent-text);}
.fs-vo-minicard .fs-vo-price-meta{font-family:var(--font-display,sans-serif);font-size:15px;font-weight:600;letter-spacing:.06em;margin-top:6px;}
/* ── Callout: the home page's inverse panel ── */
.fs-vo-appt-lede{position:relative;max-width:520px;font-size:1.1em;color:color-mix(in srgb, var(--vo-bg) 78%, transparent);}
.fs-vo-appt-label{position:relative;color:color-mix(in srgb, var(--vo-on) 85%, transparent);}
.fs-vo-appt-phone{position:relative;font-family:var(--font-display,sans-serif);font-size:28px;font-weight:600;letter-spacing:-.01em;color:var(--vo-on) !important;}
/* ── Service detail: a shaded band, facts as cards, the dark booking box ── */
.fs-vo-detail{padding:0 0 var(--vo-sec);background:var(--vo-bg2);border-bottom:1px solid var(--vo-line);}
.fs-vo-crumbs{padding-top:calc(var(--vo-sec) * .55);display:flex;flex-wrap:wrap;gap:10px;font-size:12px;font-weight:500;letter-spacing:.14em;color:var(--vo-ink3);text-transform:uppercase;}
.fs-vo-crumb{color:var(--vo-ink3) !important;}
.fs-vo-crumb:hover{color:var(--vo-accent-text) !important;}
.fs-vo-crumb-cur{color:var(--vo-ink);}
.fs-vo-detail-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:48px;align-items:start;padding-top:36px;}
.fs-vo-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;width:100%;}
.fs-vo-facts > span{display:grid;gap:6px;padding:18px 20px;border-radius:16px;background:var(--vo-card);border:1px solid var(--vo-line);}
.fs-vo-fact-k{font-size:12px;font-weight:500;letter-spacing:.16em;color:var(--vo-ink3);text-transform:uppercase;}
.fs-vo-fact-v{font-family:var(--font-display,sans-serif);font-size:20px;font-weight:600;color:var(--vo-ink);}
.fs-vo-detail-media{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:calc(var(--vo-radius) * 2);overflow:hidden;border:6px solid var(--vo-card);box-shadow:var(--vo-shadow-lift);background:var(--vo-bg3);}
.fs-vo-sticky{position:sticky;top:calc(var(--fs-header-h,74px) + 20px);}
.fs-vo-detail-box{display:grid;gap:18px;padding:32px;border-radius:calc(var(--vo-radius) * 2);box-shadow:var(--vo-shadow-lift);}
.fs-vo-bigprice{display:flex;align-items:baseline;gap:8px;font-family:var(--font-display,sans-serif);font-size:52px;font-weight:600;line-height:1;letter-spacing:-.03em;color:var(--vo-ink);}
.fs-vo-bigprice-unit{font-family:var(--font-body,sans-serif);font-size:12px;font-weight:500;letter-spacing:.12em;color:var(--vo-ink3);text-transform:uppercase;}
.fs-vo-checks{display:grid;gap:12px;}
.fs-vo-checks li{display:flex;gap:12px;align-items:center;font-size:15px;color:var(--vo-ink);}
.fs-vo-detail-equip{display:grid;gap:12px;padding-top:18px;border-top:1px solid var(--vo-line);}
.fs-vo-pills{display:flex;flex-wrap:wrap;gap:6px;}
.fs-vo-equip{padding:6px 12px;border-radius:var(--vo-pill);border:1px solid var(--vo-line);font-size:12.5px;color:var(--vo-ink2);}
/* ── FAQ: heading and a call to the left, the accordion to the right ── */
.fs-vo-faq-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:56px;align-items:start;}
.fs-vo-faq{display:grid;gap:10px;}
.fs-vo-faq-item{border:1px solid var(--vo-line);border-radius:calc(var(--vo-radius) * 1.3);background:var(--vo-card);overflow:hidden;transition:border-color .3s ease,box-shadow .3s ease;}
.fs-vo-faq-item:has(> .fs-vo-faq-q[aria-expanded='true']){border-color:var(--vo-hair);box-shadow:var(--vo-shadow);}
.fs-vo-faq-q{width:100%;min-height:64px;display:flex;gap:18px;align-items:center;justify-content:space-between;padding:18px 24px !important;text-align:left;font-family:var(--font-display,sans-serif) !important;font-size:16px !important;font-weight:600;color:var(--vo-ink) !important;}
.fs-vo-faq-sign{width:32px;height:32px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:var(--vo-tint);border:1px solid var(--vo-hair);color:var(--vo-accent-text);font-size:18px;line-height:1;transition:background-color .3s ease,color .3s ease,border-color .3s ease;}
.fs-vo-faq-q[aria-expanded='true'] .fs-vo-faq-sign{background:var(--vo-accent);border-color:var(--vo-accent);color:var(--vo-on);}
.fs-vo-faq-a{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .42s cubic-bezier(.2,.8,.2,1),opacity .3s ease;}
.fs-vo-faq-a[data-open='true']{grid-template-rows:1fr;opacity:1;}
.fs-vo-faq-a > div{overflow:hidden;}
.fs-vo-faq-a p{padding:0 24px 22px;font-size:15px;line-height:1.6;color:var(--vo-ink2);max-width:680px;}
/* ── Frames: chips over open square cards (the home collections' card) ── */
.fs-vo-headrow-mid{align-items:center;margin-bottom:0;}
.fs-vo-chips{display:flex;flex-wrap:wrap;gap:8px;}
.fs-vo-chip{display:inline-flex;align-items:center;min-height:42px;padding:0 18px;border:1px solid var(--vo-line) !important;border-radius:var(--vo-pill);background:var(--vo-card);font-size:14px;font-weight:500;color:var(--vo-ink2);transition:all .3s ease;}
.fs-vo-chip:hover{border-color:var(--vo-accent) !important;color:var(--vo-accent-text);}
.fs-vo-chips > .fs-vo-chip:first-child:not(.fs-vo-chip-btn){background:var(--vo-ink);border-color:var(--vo-ink) !important;color:var(--vo-bg);}
.fs-vo-chip-btn{min-height:44px;padding:0 16px;font-size:14px;}
/* ── Doctors: tall portraits, the role in the accent ── */
.fs-vo-doc{display:grid;gap:12px;align-content:start;justify-items:start;}
.fs-vo-doc-media{position:relative;display:block;width:100%;aspect-ratio:3 / 4;margin-bottom:8px;border-radius:calc(var(--vo-radius) * 1.7);overflow:hidden;box-shadow:var(--vo-shadow-lift);background:var(--vo-bg3);}
.fs-vo-doc .fs-vo-card-t{font-weight:600;}
.fs-vo-role{font-size:12px;font-weight:600;letter-spacing:.14em;color:var(--vo-accent-text);text-transform:uppercase;}
.fs-vo-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px;}
.fs-vo-tag{padding:6px 12px;border:1px solid var(--vo-line);border-radius:var(--vo-pill);background:var(--vo-bg2);font-size:12px;font-weight:500;letter-spacing:.06em;color:var(--vo-ink2);}
/* ── Story page: the wide framed photo, the centred timeline, the promises ── */
.fs-vo-sec-storypage{padding-top:calc(var(--vo-sec) * .8);}
.fs-vo-sec-flushbottom{padding-bottom:0;}
.fs-vo-story-wide{position:relative;aspect-ratio:21 / 9;border-radius:calc(var(--vo-radius) * 2.6);overflow:hidden;border:6px solid var(--vo-card);box-shadow:var(--vo-shadow-lift);background:var(--vo-bg3);}
.fs-vo-story-tl{padding-top:calc(var(--vo-sec) * .9);padding-bottom:var(--vo-sec);}
.fs-vo-story-values{padding:var(--vo-sec) 0;}
/* ── Booking: a shaded page, the form card, the dark summary ── */
.fs-vo-sec-book{padding-top:calc(var(--vo-sec) * .8);}
.fs-vo-book-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:28px;align-items:start;}
.fs-vo-form{padding:36px 36px 32px;}
.fs-vo-book-grid .fs-vo-form{border-radius:calc(var(--vo-radius) * 2);}
.fs-vo-book-grid .fs-vo-form > .fs-vo-stack-12{padding-bottom:24px;border-bottom:1px solid var(--vo-line);}
.fs-vo-book-grid .fs-vo-eyebrow-t{font-family:var(--font-display,sans-serif);font-size:12.5px;font-weight:600;letter-spacing:.12em;color:var(--vo-ink);}
.fs-vo-datebtn{display:grid;gap:4px;justify-items:center;width:68px;min-height:64px;padding:11px 0 !important;border:1px solid var(--vo-line) !important;border-radius:var(--vo-radius);background:var(--vo-card);color:var(--vo-ink2);transition:all .3s ease;}
.fs-vo-date-d{font-size:12px;letter-spacing:.12em;}
.fs-vo-date-n{font-family:var(--font-display,sans-serif);font-size:20px;font-weight:600;}
.fs-vo-times{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:8px;}
.fs-vo-timebtn{min-height:48px;padding:12px 0 !important;border:1px solid var(--vo-line) !important;border-radius:var(--vo-radius);background:var(--vo-card);font-family:var(--font-display,sans-serif) !important;font-size:15px !important;color:var(--vo-ink2);transition:all .3s ease;}
.fs-vo-datebtn:hover,.fs-vo-timebtn:hover{border-color:var(--vo-accent) !important;color:var(--vo-accent-text);}
.fs-vo [data-on='true'].fs-vo-chip,.fs-vo [data-on='true'].fs-vo-datebtn,.fs-vo [data-on='true'].fs-vo-timebtn{background:var(--vo-accent) !important;color:var(--vo-on) !important;border-color:var(--vo-accent) !important;}
.fs-vo-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;}
.fs-vo-input{background:var(--vo-bg);border:1px solid var(--vo-line);border-radius:var(--vo-radius);padding:14px 16px;color:var(--vo-ink);font-family:var(--font-body,sans-serif);font-size:15px;outline:none;width:100%;}
.fs-vo-input:focus{border-color:var(--vo-accent);}
.fs-vo-input::placeholder{color:var(--vo-ink3);}
.fs-vo-textarea{resize:vertical;}
.fs-vo-input-pill{border-radius:var(--vo-pill);padding:14px 18px;flex:1;min-width:170px;width:auto;}
.fs-vo-summary{display:grid;padding:32px;border-radius:calc(var(--vo-radius) * 2);box-shadow:var(--vo-shadow-lift);}
.fs-vo-sum-row{display:grid;gap:4px;padding-bottom:14px;border-bottom:1px solid var(--vo-line);}
.fs-vo-sum-k{font-size:12px;font-weight:500;letter-spacing:.16em;color:var(--vo-ink3);text-transform:uppercase;}
.fs-vo-sum-v{font-family:var(--font-display,sans-serif);font-size:16px;font-weight:600;color:var(--vo-ink);}
.fs-vo-urgent{padding:26px 28px;box-shadow:none;border-radius:calc(var(--vo-radius) * 1.4);}
.fs-vo-phone-l{font-family:var(--font-display,sans-serif);font-size:22px;font-weight:600;color:var(--vo-accent-text) !important;}
/* ── Plans: sunk plans, the featured one flooded with the accent and lifted ── */
.fs-vo-sec-plans{padding-top:calc(var(--vo-sec) * .9);}
.fs-vo-plan{display:grid;gap:20px;align-content:start;padding:36px 32px;border-radius:calc(var(--vo-radius) * 2);background:var(--vo-bg2);box-shadow:none;}
.fs-vo-plan-top{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:28px;}
.fs-vo-plan-n{font-family:var(--font-display,sans-serif);font-size:22px;font-weight:600;}
.fs-vo-plan-chip{padding:6px 12px;border-radius:var(--vo-pill);background:var(--vo-on);color:var(--vo-accent);font-size:12px;font-weight:600;letter-spacing:.14em;white-space:nowrap;text-transform:uppercase;}
.fs-vo-plan-price{display:flex;align-items:baseline;gap:6px;font-family:var(--font-display,sans-serif);font-size:52px;font-weight:600;letter-spacing:-.03em;line-height:1;}
.fs-vo-plan-per{font-family:var(--font-body,sans-serif);font-size:14px;font-weight:500;letter-spacing:0;opacity:.75;}
.fs-vo-plan-b{font-size:15px;opacity:.82;}
.fs-vo-plan-feats{display:grid;gap:12px;padding-top:18px !important;border-top:1px solid var(--vo-line);}
.fs-vo-plan-feats li{display:flex;gap:12px;align-items:center;font-size:15px;}
.fs-vo-plan-btn{background:var(--vo-ink);color:var(--vo-bg) !important;box-shadow:none;}
.fs-vo-plan-feat{background:var(--vo-accent);border-color:var(--vo-accent);color:var(--vo-on);box-shadow:0 40px 70px -30px var(--vo-glow);transform:translateY(-12px);}
.fs-vo-plan-feat .fs-vo-plan-feats{border-top-color:color-mix(in srgb, var(--vo-on) 26%, transparent);}
.fs-vo-plan-feat .fs-vo-tick{background:color-mix(in srgb, var(--vo-on) 18%, transparent);border-color:transparent;color:var(--vo-on);}
.fs-vo-plan-feat .fs-vo-plan-btn{background:var(--vo-on);color:var(--vo-accent) !important;}
/* ── Compare: an ink header row, "Included" in the accent ── */
.fs-vo-table{overflow-x:auto;background:var(--vo-card);border:1px solid var(--vo-line);border-radius:calc(var(--vo-radius) * 1.7);box-shadow:var(--vo-shadow);}
.fs-vo-tr{display:grid;grid-template-columns:minmax(180px,1.6fr) repeat(3,minmax(110px,1fr));gap:12px;align-items:center;padding:18px 28px;border-bottom:1px solid var(--vo-line);font-size:15px;color:var(--vo-ink2);}
.fs-vo-tr:last-child{border-bottom:0;}
.fs-vo-th{background:var(--vo-ink);color:var(--vo-bg);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;}
.fs-vo-td-ink{color:var(--vo-ink);font-weight:500;}
.fs-vo-td-acc{color:var(--vo-accent-text);font-weight:600;}
.fs-vo-note{max-width:760px;font-size:13.5px;color:var(--vo-ink3);}
/* ── Journal: the dark featured split, open post cards ── */
.fs-vo-feature{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);overflow:hidden;border-radius:calc(var(--vo-radius) * 2.6);box-shadow:var(--vo-shadow-lift);}
.fs-vo-feature-media{position:relative;display:block;min-height:400px;background:var(--vo-bg3);}
.fs-vo-feature-body{display:grid;gap:16px;align-content:center;justify-items:start;padding:56px 52px;}
.fs-vo-feature-t{font-family:var(--font-display,sans-serif);font-size:clamp(24px,2.6vw,34px);font-weight:600;line-height:1.2;letter-spacing:-.02em;color:var(--vo-ink);}
.fs-vo-feature-b{font-size:17px;line-height:1.6;color:var(--vo-ink2);}
.fs-vo-gap-post{gap:44px 26px;}
.fs-vo-post{display:grid;gap:12px;align-content:start;}
.fs-vo-post-media{position:relative;display:block;aspect-ratio:16 / 10;margin-bottom:6px;border-radius:calc(var(--vo-radius) * 1.7);overflow:hidden;border:1px solid var(--vo-line);background:var(--vo-bg3);}
.fs-vo-post .fs-vo-card-t{font-weight:600;line-height:1.3;}
.fs-vo-post-tag{font-size:12px;font-weight:600;letter-spacing:.14em;color:var(--vo-accent-text);text-transform:uppercase;}
/* ── Contact: the map, info cards and hours; the dark form ── */
.fs-vo-contact-map{min-height:360px;border-radius:calc(var(--vo-radius) * 2);}
.fs-vo-infocard{gap:8px;padding:24px 22px;box-shadow:none;align-content:start;border-radius:calc(var(--vo-radius) * 1.4);}
.fs-vo-info-k{font-size:12px;font-weight:500;letter-spacing:.2em;color:var(--vo-accent-text);text-transform:uppercase;}
.fs-vo-info-v{font-family:var(--font-display,sans-serif);font-size:16px;font-weight:500;line-height:1.6;color:var(--vo-ink);}
.fs-vo-info-a{font-family:var(--font-display,sans-serif);font-size:17px;font-weight:600;color:var(--vo-accent-text) !important;}
.fs-vo-hours-card .fs-vo-hours li{padding:12px 0;font-size:15px;}
.fs-vo-form-inv{padding:34px 32px;border-radius:calc(var(--vo-radius) * 2);box-shadow:var(--vo-shadow-lift);}
.fs-vo-form-inv .fs-vo-input{background:var(--vo-card);}
/* ── Footer: always dark (2026-10-27 redesign). The footer re-points the
   family tokens on its own root, so every part inside (inputs, buttons,
   round links) repaints without a rule of its own: light mode inverts the
   page (ink ground, paper type); dark mode keeps the dark ground, a step
   deeper than the page. ── */
.fs-vo-footer{--vo-bg:rgb(var(--c-ink-950));--vo-ink:rgb(var(--c-paper));
  --vo-bg2:color-mix(in oklab, var(--vo-ink) 5%, var(--vo-bg));--vo-card:var(--vo-bg2);
  --vo-ink2:color-mix(in oklab, var(--vo-ink) 74%, var(--vo-bg));--vo-ink3:color-mix(in oklab, var(--vo-ink) 60%, var(--vo-bg));
  --vo-line:color-mix(in oklab, var(--vo-ink) 14%, var(--vo-bg));
  --vo-accent:color-mix(in oklab, rgb(var(--c-brand-600)) 62%, var(--vo-ink));--vo-accent-text:var(--vo-accent);--vo-on:var(--vo-bg);
  overflow:hidden;background:var(--vo-bg);color:var(--vo-ink);}
:where([data-fs-theme].dark) .fs-vo-footer{--vo-bg:color-mix(in oklab, rgb(var(--c-paper)) 64%, black);--vo-ink:rgb(var(--c-ink-950));}
.fs-vo-foot-mark{position:absolute;right:-240px;bottom:-260px;width:760px;max-width:none;height:auto;opacity:.045;color:var(--vo-ink);pointer-events:none;}
.fs-vo-footer > .fs-vo-wrap{position:relative;}
.fs-vo-news{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:28px 64px;align-items:end;padding:calc(var(--vo-sec) * .8) 0 56px;border-bottom:1px solid var(--vo-line);}
.fs-vo-news-h{font-size:clamp(30px,3.4vw,42px);font-weight:600;letter-spacing:-.025em;color:var(--vo-ink);}
.fs-vo-news-b{font-size:17px;color:var(--vo-ink2);max-width:460px;}
.fs-vo-news-form{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-start;}
.fs-vo-news-label{flex-basis:100%;font-size:12px;font-weight:500;letter-spacing:.16em;color:var(--vo-ink3);text-transform:uppercase;}
.fs-vo-news-form .fs-vo-input-pill{height:52px;background:var(--vo-bg2);border-color:var(--vo-line);color:var(--vo-ink);}
.fs-vo-news-form .fs-vo-btn{height:52px;padding:0 26px;}
.fs-vo-foot-cols{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:40px 48px;padding:56px 0 64px;}
.fs-vo-foot-blurb{font-size:15px;line-height:1.65;color:var(--vo-ink2);max-width:300px;}
.fs-vo-lockup{display:flex;align-items:center;gap:12px;}
.fs-vo-lockup-t{display:grid;gap:4px;}
.fs-vo-lockup-n{font-family:var(--font-display,sans-serif);font-weight:600;font-size:15px;letter-spacing:.2em;color:var(--vo-ink);text-transform:uppercase;}
.fs-vo-lockup-s{font-size:12px;letter-spacing:.3em;color:var(--vo-ink3);text-transform:uppercase;}
.fs-vo-socials{display:flex;gap:10px;}
.fs-vo-social{width:44px;height:44px;font-family:var(--font-display,sans-serif);font-size:12px;font-weight:600;color:var(--vo-ink2) !important;}
.fs-vo-social:hover{background:color-mix(in oklab, var(--vo-accent) 16%, transparent);color:var(--vo-ink) !important;}
.fs-vo-foot-col{display:grid;gap:14px;align-content:start;}
.fs-vo-foot-h{font-size:12px;font-weight:500;letter-spacing:.2em;color:var(--vo-accent-text);text-transform:uppercase;padding-bottom:2px;}
.fs-vo-foot-a{font-size:15px;font-weight:500;color:var(--vo-ink2) !important;transition:color .2s ease;}
a.fs-vo-foot-a:hover{color:var(--vo-ink) !important;}
.fs-vo-foot-addr{font-size:15px;line-height:1.6;color:var(--vo-ink);}
.fs-vo-foot-link{font-size:15px;font-weight:500;color:var(--vo-accent-text) !important;}
.fs-vo-legal{display:flex;flex-wrap:wrap;gap:14px 28px;justify-content:space-between;align-items:center;padding:22px 0 28px;border-top:1px solid var(--vo-line);font-size:13px;color:var(--vo-ink3);}
.fs-vo-legal-links{display:flex;flex-wrap:wrap;gap:12px 28px;}
.fs-vo-legal-links a{color:var(--vo-ink3) !important;font-size:13px;font-weight:500;text-decoration:none;}
.fs-vo-legal-links a:hover{color:var(--vo-ink) !important;}
.fs-vo-totop{flex-shrink:0;font-size:16px;}
/* ── Motion — the export's keyframes, renamed into this prefix ── */
@keyframes fs-vo-dash{from{stroke-dashoffset:var(--len,400)}to{stroke-dashoffset:0}}
@keyframes fs-vo-up{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes fs-vo-shimmer{0%{transform:translateX(-120%)}60%,100%{transform:translateX(220%)}}
@keyframes fs-vo-iris{0%,100%{transform:scale(1)}50%{transform:scale(.82)}}
@keyframes fs-vo-ripple{0%{transform:scale(.5);opacity:.6}100%{transform:scale(2.2);opacity:0}}
@keyframes fs-vo-pulse{0%,100%{box-shadow:0 0 0 3px color-mix(in oklab, var(--vo-teal) 34%, transparent)}50%{box-shadow:0 0 0 7px color-mix(in oklab, var(--vo-teal) 0%, transparent)}}
@keyframes fs-vo-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.fs-vo-anim .fs-vo-a-reveal{stroke-dasharray:var(--len,400);animation:var(--fs-anim-voReveal,fs-vo-dash 3s ease-out both);}
.fs-vo-anim .fs-vo-a-draw{stroke-dasharray:var(--len,130);animation:var(--fs-anim-voDraw,fs-vo-dash 2.6s ease-out both);}
.fs-vo-anim .fs-vo-a-scan{stroke-dasharray:var(--len,30);animation:var(--fs-anim-voDraw,fs-vo-dash 2.2s ease-out infinite alternate);}
.fs-vo-anim .fs-vo-a-loop{stroke-dasharray:var(--len,220);animation:var(--fs-anim-voDraw,fs-vo-dash 3s ease-out infinite alternate);}
.fs-vo-anim .fs-vo-a-iris{transform-box:fill-box;transform-origin:center;animation:var(--fs-anim-voIris,fs-vo-iris 3s ease-in-out infinite);}
.fs-vo-anim .fs-vo-a-float{animation:var(--fs-anim-voFloat,fs-vo-float 6s ease-in-out infinite);}
.fs-vo-anim .fs-vo-shimmer{animation:var(--fs-anim-voShimmer,fs-vo-shimmer 3.2s ease-in-out infinite);}
.fs-vo-anim .fs-vo-pin-ripple{animation:var(--fs-anim-voRipple,fs-vo-ripple 2.6s ease-out infinite);}
.fs-vo-anim .fs-vo-rise{animation:var(--fs-anim-voRise,fs-vo-up .8s .15s cubic-bezier(.2,.8,.2,1) both);}
.fs-vo-anim .fs-vo-quote{animation:var(--fs-anim-voRise,fs-vo-up .6s both);}
/* ── Responsive — the export's 900px breakpoint, as a container query
   on the family root (the root's own --vo-pad / --vo-sec / hero height
   step through the clamps at the top). ── */
@container fs-vo (max-width:900px){
  .fs-vo-row{grid-template-columns:52px minmax(0,1fr);gap:18px;padding:24px 20px;}
  .fs-vo-row-side{grid-column:2;justify-items:start;text-align:left;}
  .fs-vo-emblem{right:8px;bottom:-14px;width:104px;height:104px;}
  .fs-vo-hero-art{padding:0 0 28px 24px;}
  .fs-vo-hero-meta > span{padding:2px 14px;}
  .fs-vo-appt{grid-template-columns:1fr;}
  .fs-vo-loc{grid-template-columns:1fr;}
  .fs-vo-loc-map{min-height:320px;}
  .fs-vo-alt::before{left:7px;}
  .fs-vo-alt li{grid-template-columns:1fr;padding-left:40px;}
  .fs-vo-alt-node{left:0;margin-left:0;}
  .fs-vo-alt li:nth-child(odd) .fs-vo-alt-body,.fs-vo-alt li:nth-child(even) .fs-vo-alt-body{grid-column:1;text-align:left;justify-items:start;}
  .fs-vo-col-body{flex-direction:column;gap:8px;}
  .fs-vo-col-price{padding-top:0;text-align:left;}
  .fs-vo-foot-cols{grid-template-columns:repeat(2,minmax(0,1fr));}
  .fs-vo-pagehead-grid,.fs-vo-detail-grid,.fs-vo-faq-grid,.fs-vo-book-grid,.fs-vo-feature{grid-template-columns:1fr;}
  .fs-vo-pagehead-rings{display:none;}
  .fs-vo-plan-feat{transform:none;}
  .fs-vo-feature-media{min-height:240px;}
  .fs-vo-faq-grid{gap:32px;}
  .fs-vo-foot-brand,.fs-vo-foot-visit{grid-column:1 / -1;}
  .fs-vo-foot-mark{width:420px;right:-170px;bottom:-110px;}
  .fs-vo-sticky{position:static;}
  .fs-vo-tr{padding:14px 16px;gap:8px;font-size:13px;}
  .fs-vo-feature-body{padding:30px 24px;}
}
@media (prefers-reduced-motion: reduce){
  .fs-vo *,.fs-vo *::before,.fs-vo *::after{animation:none !important;transition:none !important;}
  .fs-vo .fs-vo-shimmer{display:none;}
}
/* ── Real-site rules (owner rulings): editor-only markers and gaps, the
   editor strip, and the form's honeypot, errors, consent and status. ── */
.fs-vo-mark,.fs-vo-missing::before{display:inline-block;margin:4px 6px;padding:2px 9px;border:1px dashed var(--vo-ink3);border-radius:var(--vo-pill);background:var(--vo-bg);color:var(--vo-ink2);font-family:var(--font-body,sans-serif);font-size:11px;font-weight:500;letter-spacing:.04em;line-height:1.5;text-transform:none;vertical-align:middle;white-space:normal;}
.fs-vo-missing::before{content:attr(data-missing);}
.fs-vo-ed{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:6px 16px;margin:20px 0 0;padding:12px;border:1px dashed var(--vo-ink3);border-radius:6px;font-size:13px;line-height:1.4;color:var(--vo-ink);background:var(--vo-bg);}
.fs-vo-ed>div::before{content:attr(data-ed);display:block;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--vo-ink3);}
.fs-vo-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none;}
.fs-vo-field{display:grid;gap:5px;min-width:0;}
.fs-vo-field-err{font-size:13px;color:rgb(var(--fs-status-bad));}
.fs-vo-input[aria-invalid="true"]{border-color:rgb(var(--fs-status-bad));}
.fs-vo-input-ph{display:block;color:var(--vo-ink3);}
.fs-vo-consent{font-size:12.5px;color:var(--vo-ink2);}
.fs-vo-status{font-size:14px;color:var(--vo-ink);outline:none;}
.fs-vo-status-fail{color:rgb(var(--fs-status-bad));}
.fs-vo-news-form .fs-vo-field{flex:1;min-width:170px;}
.fs-vo-news-form .fs-vo-field .fs-vo-input-pill{width:100%;}
.fs-vo-news-form .fs-vo-consent,.fs-vo-news-form .fs-vo-status{flex-basis:100%;}
.fs-vo-btn[disabled]{opacity:.7;cursor:progress;}
/* ── Mega menus (2026-10-27 redesign). The platform draws the full-bleed
   band (dropdownStyle cardgrid); it gets rounded lower corners and a long
   shadow only when it holds a Visionary panel. Inside: intro | content |
   a dark promo card (it inverts with the mode), and a quick-links row. ── */
.fsdrop-mega.fsdrop-mega:has(.fs-vo-mega){border-bottom:0 !important;border-radius:0 0 28px 28px !important;box-shadow:0 50px 90px -40px rgb(var(--c-ink-950) / .45) !important;}
/* megaWidth full centres a 100vw panel on its positioned ancestor, which
   only lands on the screen edge when the header row starts at x=0. This
   theme centres its row in the page width, so pull the band back by the
   row's own offset: (row width - viewport width) / 2. */
.fsdrop-w-full.fsdrop-w-full:has(.fs-vo-mega){left:calc((100% - 100vw) / 2) !important;margin-left:0 !important;transform:none !important;}
.fs-vo-mega{--m-acc:rgb(var(--c-brand-600));--m-acc-text:rgb(var(--c-brand-text, var(--c-brand-600)));--m-tint:color-mix(in oklab, var(--m-acc) 9%, rgb(var(--c-paper-soft)));--m-hair:color-mix(in oklab, var(--m-acc) 26%, rgb(var(--c-line)));container-type:inline-size;color:rgb(var(--c-ink-950));font-family:var(--font-body,sans-serif);font-weight:400;}
.fs-vo-mega-in{max-width:var(--fs-layout-max,var(--fs-shell-max,1240px));margin:0 auto;padding:10px 0 4px;}
.fs-vo-mega-grid{display:grid;grid-template-columns:minmax(200px,250px) minmax(0,1fr) minmax(240px,300px);gap:40px;align-items:start;}
.fs-vo-mega-intro{display:grid;gap:14px;justify-items:start;align-content:start;}
.fs-vo-mega-eyebrow{font-size:12px;font-weight:500;letter-spacing:.24em;color:var(--m-acc-text);}
.fs-vo-mega-title{margin:0;font-family:var(--font-display,sans-serif);font-size:28px;font-weight:600;line-height:1.15;letter-spacing:-.02em;}
.fs-vo-mega-lede{margin:0;font-size:15px;line-height:1.6;color:rgb(var(--c-ink-700));}
.fs-vo-mega-all{display:inline-flex;align-items:center;gap:8px;margin-top:6px;font-family:var(--font-display,sans-serif);font-size:13px;font-weight:600;letter-spacing:.1em;color:var(--m-acc-text);text-decoration:none;}
.fs-vo-mega-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;align-content:start;}
.fs-vo-mega-tile{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;align-items:start;padding:18px;border-radius:18px;color:rgb(var(--c-ink-950));text-decoration:none;transition:background-color .2s ease;}
.fs-vo-mega-ic{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:var(--m-tint);border:1px solid var(--m-hair);color:var(--m-acc-text);}
.fs-vo-mega-tt{display:grid;gap:6px;}
.fs-vo-mega-tt strong{display:flex;align-items:center;gap:8px;font-family:var(--font-display,sans-serif);font-size:16px;font-weight:600;line-height:1.25;}
.fs-vo-mega-tt > span{font-size:14px;line-height:1.5;color:rgb(var(--c-ink-700));}
.fs-vo-mega-arrow{color:var(--m-acc-text);opacity:0;transform:translateX(-4px);transition:opacity .2s ease,transform .2s ease;}
.fs-vo-mega-promo{position:relative;overflow:hidden;display:grid;gap:16px;justify-items:start;align-content:start;padding:28px;border-radius:22px;background:rgb(var(--c-ink-950));color:rgb(var(--c-paper));}
.fs-vo-mega-ring{position:absolute;right:-70px;top:-70px;width:220px;height:220px;border-radius:50%;border:1px solid rgb(var(--c-paper) / .16);pointer-events:none;}
.fs-vo-mega-mark{position:relative;width:56px;height:56px;display:grid;place-items:center;border-radius:50%;background:rgb(var(--c-paper-soft));color:var(--m-acc);}
.fs-vo-mega-promo-h{position:relative;margin:0;font-family:var(--font-display,sans-serif);font-size:22px;font-weight:600;line-height:1.2;letter-spacing:-.01em;}
.fs-vo-mega-promo-b{position:relative;margin:0;font-size:15px;line-height:1.6;color:rgb(var(--c-paper) / .78);}
.fs-vo-mega-cta{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:46px;margin-top:6px;padding:0 24px;border-radius:var(--fs-radius-pill,999px);background:var(--m-acc);color:var(--fs-on-brand) !important;font-family:var(--font-display,sans-serif);font-size:13px;font-weight:600;letter-spacing:.1em;text-decoration:none;}
.fs-vo-mega-pop{display:flex;flex-wrap:wrap;align-items:center;gap:4px 28px;margin-top:24px;padding-top:12px;border-top:1px solid rgb(var(--c-line));}
.fs-vo-mega-pop > span:not(.fs-vo-mega-popa){font-size:12px;font-weight:500;letter-spacing:.2em;color:rgb(var(--c-ink-400));}
.fs-vo-mega-popa{display:inline-flex;align-items:center;min-height:40px;font-size:14px;font-weight:500;color:rgb(var(--c-ink-700));text-decoration:none;}
.fs-vo-mega-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;}
.fs-vo-mega-columns > div{display:grid;gap:10px;align-content:start;}
.fs-vo-mega-colh{font-size:12px;font-weight:500;letter-spacing:.2em;color:var(--m-acc-text);padding-bottom:10px;border-bottom:1px solid rgb(var(--c-line));margin-bottom:2px;}
.fs-vo-mega-columns a,.fs-vo-mega-columns > div > span:not(.fs-vo-mega-colh){font-size:15px;font-weight:500;color:rgb(var(--c-ink-700));text-decoration:none;padding:3px 0;}
.fs-vo-mega-image{grid-template-columns:minmax(0,1.2fr) repeat(2,minmax(0,1fr));}
.fs-vo-mega-columns > .fs-vo-mega-feature{position:relative;display:grid;align-content:center;min-height:220px;padding:20px;border-radius:18px;overflow:hidden;border:1px solid rgb(var(--c-line));background:rgb(var(--c-paper-sunk));color:var(--m-acc);}
.fs-vo-mega-feature svg{width:100%;}
.fs-vo-mega-columns .fs-vo-mega-feature > span{position:absolute;left:16px;bottom:14px;padding:9px 14px;border-radius:999px;font-size:12px;letter-spacing:.14em;background:rgb(var(--c-paper) / .9);color:rgb(var(--c-ink-950));}
.fs-vo-mega-flat{display:grid;gap:18px;justify-items:center;padding:6px 0 10px;}
.fs-vo-mega-flat-row{display:flex;flex-wrap:wrap;gap:10px 40px;justify-content:center;}
.fs-vo-mega-flat-row > a,.fs-vo-mega-flat-row > span{font-family:var(--font-display,sans-serif);font-size:22px;font-weight:500;letter-spacing:-.01em;color:inherit;text-decoration:none;}
.fs-vo-mega a:focus-visible{outline:2px solid var(--m-acc);outline-offset:4px;border-radius:6px;}
@media (hover:hover){
  .fs-vo-mega-tile:hover{background:rgb(var(--c-paper-sunk));}
  .fs-vo-mega-tile:hover .fs-vo-mega-arrow{opacity:1;transform:none;}
  .fs-vo-mega-all:hover{text-decoration:underline;text-underline-offset:4px;}
  .fs-vo-mega-popa:hover,.fs-vo-mega-columns a:hover,.fs-vo-mega-flat-row > a:hover{color:var(--m-acc-text);}
  .fs-vo-mega-cta:hover{filter:brightness(1.06);}
}
@media (prefers-reduced-motion:reduce){.fs-vo-mega *{transition:none !important;}}
@container (max-width:1100px){
  .fs-vo-mega-grid{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:28px;}
  .fs-vo-mega-promo{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:20px 24px;}
  .fs-vo-mega-promo-b{flex:1 1 220px;}
  .fs-vo-mega-promo-h{flex:0 1 auto;}
  .fs-vo-mega-cta{margin-top:0;}
}
@container (max-width:650px){
  .fs-vo-mega-grid,.fs-vo-mega-tiles{grid-template-columns:1fr;}
  .fs-vo-mega-columns,.fs-vo-mega-image{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;}
  .fs-vo-mega-tile{padding:12px;}
  .fs-vo-mega-title{font-size:22px;}
}


.fs-ltr{--ltr-ink:rgb(var(--c-ink-950));--ltr-ink2:rgb(var(--c-ink-700));--ltr-ink3:rgb(var(--c-ink-400));--ltr-bg:rgb(var(--c-paper));--ltr-sunk:rgb(var(--c-paper-sunk));--ltr-card:rgb(var(--c-paper-soft));--ltr-line:rgb(var(--c-line));--ltr-brand:rgb(var(--c-brand-600));--ltr-brand-d:rgb(var(--c-brand-700));--ltr-on-brand:var(--fs-on-brand, rgb(var(--c-paper)));--ltr-brand-text:rgb(var(--c-brand-text, var(--c-brand-600)));--ltr-slate:rgb(var(--c-ink-950));--ltr-on-slate:rgb(var(--c-paper));--ltr-night:color-mix(in oklab, rgb(var(--c-ink-950)), black 30%);--ltr-light:color-mix(in oklab, rgb(var(--c-brand-600)), white 42%);--ltr-hi:color-mix(in oklab, rgb(var(--c-brand-600)), rgb(var(--c-accent, var(--c-brand-600))) 35%);--ltr-star:rgb(var(--c-accent, var(--c-brand-600)));position:relative;container-type:inline-size;container-name:fs-ltr;background:var(--ltr-bg);color:var(--ltr-ink);font-family:var(--font-body, system-ui, sans-serif);font-size:17px;line-height:1.55}
:where([data-fs-theme].dark) .fs-ltr{--ltr-slate:color-mix(in oklab, rgb(var(--c-paper)), black 45%);--ltr-on-slate:rgb(var(--c-ink-950));--ltr-night:color-mix(in oklab, rgb(var(--c-paper)), black 40%);--ltr-brand-text:color-mix(in oklab, rgb(var(--c-brand-600)), white 45%)}
.fs-ltr *{box-sizing:border-box}
.fs-ltr p{margin:0}
.fs-ltr-wire{filter:grayscale(1) contrast(.6)}
.fs-ltr-sunk{background:var(--ltr-sunk)}
.fs-ltr-wrap{max-width:1240px;margin:0 auto;padding-inline:40px}
.fs-ltr-sec{padding-block:clamp(64px, 8cqi, 112px)}
.fs-ltr-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:center}
.fs-ltr-h1,.fs-ltr-h2,.fs-ltr-h3,.fs-ltr-hero-card-h{margin:0;font-family:var(--font-display, system-ui, sans-serif);font-weight:800;letter-spacing:-.005em;line-height:.98}
.fs-ltr-h2{font-size:clamp(38px, 4.4cqi, 62px);color:var(--ltr-ink)}
.fs-ltr-h3{font-size:28px;line-height:1.02;color:var(--ltr-ink)}
.fs-ltr-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px 32px;flex-wrap:wrap;margin-bottom:48px}
.fs-ltr-head-t{max-width:640px;display:flex;flex-direction:column;gap:16px}
.fs-ltr-lede{font-size:18px;line-height:1.6;color:var(--ltr-ink2)}
.fs-ltr-eyebrow{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:13px;line-height:1;letter-spacing:.14em;text-transform:uppercase;color:var(--ltr-brand-text)}
.fs-ltr-ridge{width:22px;height:12px;flex:none}
.fs-ltr-i{width:18px;height:18px;flex:none}
.fs-ltr-rule{display:block;height:1px;background:var(--ltr-line)}
.fs-ltr-photo{position:relative;overflow:hidden;background:var(--ltr-sunk)}
.fs-ltr-photo > *{width:100%;height:100%}
.fs-ltr-photo img{display:block;width:100%;height:100%;object-fit:cover}
.fs-ltr-fill{position:absolute;inset:0}
.fs-ltr-mark,.fs-ltr-missing{display:inline-block;margin-left:8px;padding:3px 8px;border-radius:999px;background:rgb(var(--c-brand-600) / .12);color:var(--ltr-brand-text);font-family:var(--font-body, system-ui, sans-serif);font-weight:700;font-size:12px;line-height:1.3;letter-spacing:0;text-transform:none;vertical-align:middle}

/* Buttons and links */
.fs-ltr-ctas{display:flex;gap:14px;flex-wrap:wrap}
.fs-ltr-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border:2px solid transparent;border-radius:6px;font-family:var(--font-body, system-ui, sans-serif);font-weight:700;font-size:16px;line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .18s ease,border-color .18s ease}
.fs-ltr-btn-brand{background:var(--ltr-brand);color:var(--ltr-on-brand)}
.fs-ltr-btn-brand:hover{background:var(--ltr-brand-d)}
.fs-ltr-btn-light{border-color:color-mix(in srgb, white 60%, transparent);color:white}
.fs-ltr-btn-light:hover{background:color-mix(in srgb, white 12%, transparent)}
.fs-ltr-btn-line{border-color:var(--ltr-line);color:var(--ltr-ink)}
.fs-ltr-btn-line:hover{border-color:var(--ltr-ink3)}
.fs-ltr-textlink{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--ltr-brand-text);text-decoration:none}
.fs-ltr-textlink:hover{text-decoration:underline}
.fs-ltr-textlink .fs-ltr-i{width:16px;height:16px}

/* 01 · Hero */
.fs-ltr-hero{isolation:isolate;overflow:hidden;background:var(--ltr-night);color:white}
.fs-ltr-hero-photo{position:absolute;inset:0;z-index:-2}
.fs-ltr-hero-photo img{object-position:62% 40%}
.fs-ltr-hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg, color-mix(in srgb, var(--ltr-night) 92%, transparent) 0%, color-mix(in srgb, var(--ltr-night) 74%, transparent) 42%, color-mix(in srgb, var(--ltr-night) 12%, transparent) 80%)}
.fs-ltr-hero-in{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;flex-wrap:wrap;min-height:min(720px, max(560px, 50cqi));padding-block:96px 84px}
.fs-ltr-hero-copy{max-width:660px;display:flex;flex-direction:column;gap:24px}
.fs-ltr-hero .fs-ltr-eyebrow{color:var(--ltr-light)}
.fs-ltr-h1{font-size:clamp(48px, 6.4cqi, 94px);color:inherit}
.fs-ltr-h1-accent{color:var(--ltr-light)}
.fs-ltr-hero-intro{max-width:560px;font-size:19px;line-height:1.6;color:color-mix(in srgb, white 86%, transparent)}
.fs-ltr-trust{display:flex;flex-wrap:wrap;gap:10px 22px;margin:4px 0 0;padding:0;list-style:none;font-weight:600;font-size:15px;color:color-mix(in srgb, white 90%, transparent)}
.fs-ltr-trust li{display:inline-flex;align-items:center;gap:8px}
.fs-ltr-trust .fs-ltr-i{color:var(--ltr-light)}
.fs-ltr-hero-card{width:340px;max-width:100%;display:flex;flex-direction:column;gap:14px;padding:26px;border-radius:10px;background:var(--ltr-card);color:var(--ltr-ink);box-shadow:0 30px 60px -30px color-mix(in srgb, black 60%, transparent)}
.fs-ltr-hero-rate{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:14px;color:var(--ltr-ink2)}
.fs-ltr-stars{display:inline-flex;gap:2px;color:var(--ltr-star)}
.fs-ltr-star{width:16px;height:16px}
.fs-ltr-hero-card-h{font-size:30px}
.fs-ltr-hero-card-b{font-size:15.5px;line-height:1.5;color:var(--ltr-ink2)}
.fs-ltr-hero-tel{display:inline-flex;align-items:center;gap:12px;color:var(--ltr-brand-text);text-decoration:none}
.fs-ltr-hero-tel-disc{position:relative;flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--ltr-brand);color:var(--ltr-on-brand)}
.fs-ltr-hero-tel-disc .fs-ltr-i{width:20px;height:20px}
.fs-ltr-hero-tel-n{font-family:var(--font-display, system-ui, sans-serif);font-weight:800;font-size:30px;line-height:1}

/* 02 · Proof band */
.fs-ltr-proof{background:var(--ltr-slate);color:var(--ltr-on-slate)}
.fs-ltr-proof-in{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding-block:40px}
.fs-ltr-proof-i{padding:6px 28px}
.fs-ltr-proof-i:first-child{padding-left:0}
.fs-ltr-proof-i + .fs-ltr-proof-i{border-left:1px solid color-mix(in srgb, var(--ltr-on-slate) 14%, transparent)}
.fs-ltr-proof-n{font-family:var(--font-display, system-ui, sans-serif);font-weight:800;font-size:clamp(44px, 4.4cqi, 60px);line-height:1;color:var(--ltr-hi)}
.fs-ltr-proof-l{margin-top:8px;font-size:15.5px;line-height:1.4;color:color-mix(in srgb, var(--ltr-on-slate) 72%, var(--ltr-slate))}

/* 03 · Services */
.fs-ltr-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.fs-ltr-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--ltr-line);border-radius:8px;background:var(--ltr-card);transition:transform .2s ease,box-shadow .2s ease}
.fs-ltr-card:hover{transform:translateY(-3px);box-shadow:0 18px 34px -20px rgb(var(--c-ink-950) / .5)}
.fs-ltr-card-media{position:relative;aspect-ratio:4 / 3}
.fs-ltr-card-photo{position:absolute;inset:0}
.fs-ltr-price{position:absolute;left:14px;bottom:14px;padding:7px 11px;border-radius:4px;background:var(--ltr-card);color:var(--ltr-ink);font-weight:700;font-size:14px;line-height:1}
.fs-ltr-card-body{flex:1;display:flex;flex-direction:column;gap:10px;padding:22px 24px 24px}
.fs-ltr-card-text{flex:1;font-size:16px;line-height:1.55;color:var(--ltr-ink2)}
.fs-ltr-go{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:15px;color:var(--ltr-brand-text);text-decoration:none;transition:gap .2s ease}
.fs-ltr-card:hover .fs-ltr-go{gap:12px}
.fs-ltr-go .fs-ltr-i{width:16px;height:16px}
.fs-ltr-extra{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px 32px;margin-top:28px;padding:18px 24px;border-radius:8px;background:var(--ltr-sunk);font-size:16px;color:var(--ltr-ink2)}
.fs-ltr-extra-l{display:flex;flex-wrap:wrap;gap:12px 32px}
.fs-ltr-extra b{color:var(--ltr-ink)}

/* 04 · How we quote */
.fs-ltr-steps-fig{position:relative;margin:0;aspect-ratio:5 / 6;overflow:hidden;border-radius:10px}
.fs-ltr-chipcap{position:absolute;left:20px;right:20px;bottom:20px;display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:8px;background:var(--ltr-card);color:var(--ltr-ink);font-weight:600;font-size:15.5px;line-height:1.4}
.fs-ltr-chipcap-ic{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:8px;background:var(--ltr-brand);color:var(--ltr-on-brand)}
.fs-ltr-steps-copy{display:flex;flex-direction:column;gap:22px}
.fs-ltr-steps-list{display:flex;flex-direction:column;margin:8px 0 0;padding:0;list-style:none}
.fs-ltr-step{display:flex;gap:20px;padding:18px 0;border-top:1px solid var(--ltr-line)}
.fs-ltr-step:last-child{border-bottom:1px solid var(--ltr-line)}
.fs-ltr-step-n{flex:none;width:44px;font-family:var(--font-display, system-ui, sans-serif);font-weight:800;font-size:30px;line-height:1;color:var(--ltr-brand-text)}
.fs-ltr-step-t{font-weight:700;font-size:18px;line-height:1.35}
.fs-ltr-step-b{font-size:16px;line-height:1.5;color:var(--ltr-ink2)}

/* 05 · Recent work */
.fs-ltr-work-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);grid-template-rows:290px 290px;gap:20px}
.fs-ltr-work-fig{position:relative;margin:0;overflow:hidden;border-radius:10px;background:var(--ltr-sunk)}
.fs-ltr-work-fig:first-child{grid-row:span 2}
.fs-ltr-work-cap{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:6px;padding:56px 24px 22px;background:linear-gradient(0deg, color-mix(in srgb, var(--ltr-night) 90%, transparent), transparent);color:white}
.fs-ltr-work-p{font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--ltr-light)}
.fs-ltr-work-t{font-family:var(--font-display, system-ui, sans-serif);font-weight:800;font-size:26px;line-height:1.02}
.fs-ltr-work-fig:first-child .fs-ltr-work-t{font-size:32px}

/* 06 · Reviews */
.fs-ltr-score{display:flex;align-items:center;gap:18px}
.fs-ltr-score-n{font-family:var(--font-display, system-ui, sans-serif);font-weight:800;font-size:64px;line-height:1}
.fs-ltr-score-t{display:flex;flex-direction:column;gap:4px;font-size:15px;color:var(--ltr-ink2)}
.fs-ltr-score .fs-ltr-star{width:18px;height:18px}
.fs-ltr-quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:24px}
.fs-ltr-quote{display:flex;flex-direction:column;gap:22px;margin:0;padding:34px 34px 30px;border:1px solid var(--ltr-line);border-radius:10px;background:var(--ltr-card)}
.fs-ltr-qmark{width:40px;height:30px;color:var(--ltr-brand-text)}
.fs-ltr-quote-t{font-size:21px;line-height:1.5;color:var(--ltr-ink)}
.fs-ltr-quote-by{font-size:15px;color:var(--ltr-ink2)}
.fs-ltr-quote-by b{color:var(--ltr-ink)}

/* 07 · Where we work */
.fs-ltr-area-copy{display:flex;flex-direction:column;gap:22px}
.fs-ltr-chips{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.fs-ltr-chip{padding:9px 14px;border:1px solid var(--ltr-line);border-radius:999px;background:var(--ltr-card);font-weight:600;font-size:15px;line-height:1.2}
.fs-ltr-area-note{font-size:16px;color:var(--ltr-ink2)}
.fs-ltr-area-fig{position:relative;margin:0;aspect-ratio:4 / 3;overflow:hidden;border-radius:10px}
.fs-ltr-pincard{position:absolute;left:20px;bottom:20px;max-width:min(320px, calc(100% - 40px));display:flex;align-items:flex-start;gap:14px;padding:16px 18px;border-radius:8px;background:var(--ltr-card);color:var(--ltr-ink);box-shadow:0 16px 30px -18px color-mix(in srgb, black 50%, transparent)}
.fs-ltr-pincard-pin{flex:none;width:24px;height:33px}
.fs-ltr-pin-b{fill:var(--ltr-brand)}
.fs-ltr-pin-h{stroke:var(--ltr-on-brand)}
.fs-ltr-pincard-t{display:flex;flex-direction:column;gap:4px;font-size:15px;line-height:1.4}
.fs-ltr-pincard-t > span:not(.fs-ltr-textlink){color:var(--ltr-ink2)}

/* 08 · Questions */
.fs-ltr-faq-in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:start}
.fs-ltr-faq-l{display:flex;flex-direction:column;gap:24px;align-items:flex-start}
.fs-ltr-faq-list{border-top:1px solid var(--ltr-line)}
.fs-ltr-faq-item{border-bottom:1px solid var(--ltr-line)}
.fs-ltr-faq-q{all:unset;box-sizing:border-box;width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;cursor:pointer;font-weight:700;font-size:19px;line-height:1.35;color:var(--ltr-ink)}
.fs-ltr-faq-q:focus-visible{outline:3px solid var(--ltr-brand);outline-offset:4px;border-radius:4px}
.fs-ltr-faq-ic{flex:none;display:grid;place-items:center;width:34px;height:34px;border:1.5px solid var(--ltr-line);border-radius:50%;color:var(--ltr-brand-text);transition:transform .2s ease,background-color .2s ease}
.fs-ltr-faq-ic .fs-ltr-i{width:16px;height:16px}
.fs-ltr-faq-ic.is-open{transform:rotate(45deg);border-color:var(--ltr-brand);background:var(--ltr-brand);color:var(--ltr-on-brand)}
.fs-ltr-faq-a{padding:0 54px 24px 0;font-size:17px;line-height:1.6;color:var(--ltr-ink2)}

/* 09 · Closing band */
.fs-ltr-cta{isolation:isolate;overflow:hidden;background:var(--ltr-night);color:white}
.fs-ltr-cta-photo{position:absolute;inset:0;z-index:-2}
.fs-ltr-cta-shade{position:absolute;inset:0;z-index:-1;background:color-mix(in srgb, var(--ltr-night) 84%, transparent)}
.fs-ltr-cta-in{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:40px;padding-block:clamp(72px, 8cqi, 108px) clamp(96px, 10cqi, 150px)}
.fs-ltr-cta-copy{max-width:620px;display:flex;flex-direction:column;gap:18px}
.fs-ltr-cta .fs-ltr-h2{font-size:clamp(40px, 5cqi, 70px);color:inherit}
.fs-ltr-cta-body{font-size:19px;line-height:1.6;color:color-mix(in srgb, white 86%, transparent)}

/* Narrower blocks */
@container fs-ltr (max-width: 1000px){
  .fs-ltr-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-ltr-proof-in{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:24px}
  .fs-ltr-proof-i:nth-child(3){padding-left:0;border-left:0}
  .fs-ltr-split,.fs-ltr-faq-in{grid-template-columns:minmax(0,1fr);gap:40px}
}
@container fs-ltr (max-width: 700px){
  .fs-ltr-wrap{padding-inline:20px}
  .fs-ltr-cards{grid-template-columns:minmax(0,1fr)}
  .fs-ltr-hero-in{padding-block:72px 32px;min-height:0}
  .fs-ltr-hero-card{width:100%}
  .fs-ltr-ctas .fs-ltr-btn{flex:1 1 100%}
  .fs-ltr-work-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-auto-rows:240px}
  .fs-ltr-work-fig:first-child{grid-row:auto}
  .fs-ltr-proof-i{padding-inline:16px}
  .fs-ltr-quote{padding:26px 24px}
  .fs-ltr-quote-t{font-size:18px}
  .fs-ltr-faq-a{padding-right:0}
  /* The copy runs the full width on a phone, so the shade covers it all. */
  .fs-ltr-hero-shade{background:linear-gradient(180deg, color-mix(in srgb, var(--ltr-night) 72%, transparent) 0%, color-mix(in srgb, var(--ltr-night) 88%, transparent) 55%, color-mix(in srgb, var(--ltr-night) 94%, transparent) 100%)}
}

/* Motion (themes/seo.ts microAnimations) */
.fs-ltr-anim .fs-ltr-hero-photo img{animation:var(--fs-anim-ltrSettle, fs-ltr-settle 2.4s cubic-bezier(.2,.7,.2,1) backwards)}
.fs-ltr-anim .fs-ltr-hero-copy > *,.fs-ltr-anim .fs-ltr-hero-card{animation:var(--fs-anim-ltrRise, fs-ltr-rise .8s cubic-bezier(.2,.7,.2,1) backwards)}
.fs-ltr-anim .fs-ltr-hero-copy > :nth-child(2){animation-delay:.08s}
.fs-ltr-anim .fs-ltr-hero-copy > :nth-child(3){animation-delay:.16s}
.fs-ltr-anim .fs-ltr-hero-copy > :nth-child(4){animation-delay:.24s}
.fs-ltr-anim .fs-ltr-hero-copy > :nth-child(5){animation-delay:.32s}
.fs-ltr-anim .fs-ltr-hero-card{animation-delay:.4s}
.fs-ltr-anim .fs-ltr-hero-tel-disc::after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 0 rgb(var(--c-brand-600) / .45);animation:var(--fs-anim-ltrPulse, fs-ltr-pulse 2.4s ease-out 1.2s infinite)}
.fs-ltr-anim .fs-ltr-ridge path{stroke-dasharray:30;animation:var(--fs-anim-ltrRidge, fs-ltr-ridge 1.1s ease-out .2s backwards)}
@keyframes fs-ltr-settle{from{transform:scale(1.08)}to{transform:scale(1)}}
@keyframes fs-ltr-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes fs-ltr-pulse{0%{box-shadow:0 0 0 0 rgb(var(--c-brand-600) / .45)}70%,100%{box-shadow:0 0 0 14px rgb(var(--c-brand-600) / 0)}}
@keyframes fs-ltr-ridge{from{stroke-dashoffset:30}to{stroke-dashoffset:0}}
@media (prefers-reduced-motion: reduce){
  .fs-ltr *,.fs-ltr *::before,.fs-ltr *::after{animation:none !important;transition:none !important}
}


.fs-sun{--sun-ink:rgb(var(--c-ink-950));--sun-muted:rgb(var(--c-ink-700));--sun-faint:rgb(var(--c-ink-400));--sun-bg:rgb(var(--c-paper));--sun-surface:rgb(var(--c-paper-soft));--sun-wash:rgb(var(--c-paper-sunk));--sun-line:rgb(var(--c-line));--sun-sun:rgb(var(--c-brand-600));--sun-onsun:var(--fs-on-brand, rgb(var(--c-ink-950)));--sun-deep:rgb(var(--c-accent, var(--c-brand-600)));--sun-cell:rgb(var(--c-ink-950));--sun-paper:rgb(var(--c-paper));--sun-cell2:color-mix(in oklab, var(--sun-cell), var(--sun-paper) 10%);--sun-invmuted:color-mix(in srgb, var(--sun-paper) 72%, var(--sun-cell));--sun-invline:color-mix(in srgb, var(--sun-paper) 14%, transparent);--sun-shadow:color-mix(in srgb, var(--sun-cell) 55%, transparent);position:relative;container-type:inline-size;container-name:fs-sun;background:var(--sun-bg);color:var(--sun-ink);font-family:var(--font-sans, system-ui, sans-serif);font-size:17px;line-height:1.55;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}
:where([data-fs-theme].dark) .fs-sun{--sun-cell:color-mix(in oklab, rgb(var(--c-paper)), black 40%);--sun-paper:rgb(var(--c-ink-950));--sun-cell2:rgb(var(--c-paper-soft))}
.fs-sun *{box-sizing:border-box}
.fs-sun p{margin:0}
.fs-sun-wire{filter:grayscale(1) contrast(.6)}
.fs-sun-wrap{max-width:1240px;margin:0 auto;padding-inline:40px}
.fs-sun-h1,.fs-sun-h2,.fs-sun-h3{margin:0;font-family:var(--font-display, system-ui, sans-serif);letter-spacing:-.01em}
.fs-sun-h2{font-size:clamp(34px, 4.2cqi, 54px);line-height:1.02;font-weight:700;font-stretch:84%;color:var(--sun-ink)}
.fs-sun-head-t{display:flex;flex-direction:column;gap:14px;max-width:760px}
.fs-sun-lede{max-width:56ch;font-size:19px;color:var(--sun-muted)}
.fs-sun-eyebrow{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--sun-deep)}
.fs-sun-arc{width:24px;height:14px;flex:none}
.fs-sun-i{width:18px;height:18px;flex:none}
.fs-sun-star{width:18px;height:18px}
.fs-sun-stars{display:inline-flex;gap:3px;color:var(--sun-sun)}
.fs-sun-photo{position:relative;z-index:0;overflow:hidden;background:var(--sun-wash)}
.fs-sun-photo > *{width:100%;height:100%}
.fs-sun-photo img{display:block;object-fit:cover}
.fs-sun-fill{position:absolute;inset:0}
.fs-sun-mark,.fs-sun-missing{display:inline-block;margin-left:8px;padding:3px 8px;border-radius:999px;background:rgb(var(--c-brand-600) / .14);color:var(--sun-deep);font-family:var(--font-sans, system-ui, sans-serif);font-weight:700;font-size:12px;line-height:1.3;letter-spacing:0;text-transform:none;vertical-align:middle}
.fs-sun-ed{display:grid;gap:6px 16px;padding:12px;border:1px dashed color-mix(in srgb, currentColor 45%, transparent);border-radius:8px;font-size:15px}
.fs-sun-ed > div::before{content:attr(data-ed);display:block;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.7}

/* Buttons */
.fs-sun-ctas{display:flex;gap:12px;flex-wrap:wrap}
.fs-sun-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border:2px solid transparent;border-radius:999px;font-family:inherit;font-weight:600;font-size:16px;line-height:1.2;text-decoration:none;cursor:pointer}
.fs-sun-btn:focus-visible{outline:3px solid var(--sun-sun);outline-offset:3px}
.fs-sun-btn-sun{background:var(--sun-sun);color:var(--sun-onsun)}
.fs-sun-btn-line{border-color:currentColor;background:transparent;color:inherit}

/* 01 · Hero */
.fs-sun-hero{background:var(--sun-cell);color:var(--sun-paper);overflow:hidden}
.fs-sun-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:640px}
.fs-sun-hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;gap:26px;padding:88px 56px 128px max(40px, calc((100cqi - 1240px) / 2 + 40px))}
.fs-sun-hero .fs-sun-eyebrow{color:var(--sun-sun)}
.fs-sun-h1{font-size:clamp(46px, 6.2cqi, 88px);line-height:.94;font-weight:800;font-stretch:78%;letter-spacing:-.02em;color:inherit}
.fs-sun-h1-accent{color:var(--sun-sun)}
.fs-sun-hero-intro{max-width:34ch;font-size:20px;color:var(--sun-invmuted)}
.fs-sun-ticks{display:flex;flex-wrap:wrap;gap:8px 22px;margin:6px 0 0;padding:0;list-style:none;font-size:15px;color:var(--sun-invmuted)}
.fs-sun-ticks li{display:flex;align-items:center;gap:8px}
.fs-sun-ticks .fs-sun-i{color:var(--sun-sun)}
.fs-sun-hero-photo{position:relative;min-height:420px}
.fs-sun-hero-photo img{object-position:22% 50%}
.fs-sun-hero-photo::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg, var(--sun-cell) 0, transparent 22%)}
.fs-sun-hero .fs-sun-mark,.fs-sun-hero .fs-sun-missing{background:color-mix(in srgb, var(--sun-sun) 20%, transparent);color:var(--sun-sun)}

/* 01b · The live card. It straddles the copy column and the photo like the
   mockup's, but starts 16px past the copy column's content edge (the copy column
   is 51.2% wide with a 56px right padding), so the buttons, the ticks and the
   headline can never run under it, in any font, at any width of two columns. The
   mockup's own left edge (51.2% - 150px) ran 40px over the phone button once
   real fonts set the buttons wider than the mockup's. */
.fs-sun-card{position:absolute;z-index:3;left:calc(51.2% - 40px);bottom:40px;width:420px;max-width:calc(100% - 32px);display:flex;flex-direction:column;gap:14px;padding:22px 24px 20px;border-radius:20px;background:var(--sun-surface);color:var(--sun-ink);box-shadow:0 30px 60px -20px var(--sun-shadow),0 2px 6px color-mix(in srgb, var(--sun-cell) 18%, transparent)}
.fs-sun-hero .fs-sun-card .fs-sun-mark,.fs-sun-hero .fs-sun-card .fs-sun-missing{background:rgb(var(--c-brand-600) / .14);color:var(--sun-deep)}
.fs-sun-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;color:var(--sun-muted)}
.fs-sun-pill{display:inline-flex;align-items:center;gap:7px;padding:5px 10px;border-radius:999px;background:var(--sun-wash);color:var(--sun-ink);font-weight:700;font-size:12px;letter-spacing:.12em}
.fs-sun-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--sun-sun)}
.fs-sun-card-big{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px}
.fs-sun-card-n{font-family:var(--font-display, system-ui, sans-serif);font-weight:700;font-stretch:84%;font-size:46px;line-height:1}
.fs-sun-card-u{font-size:15px;color:var(--sun-muted)}
.fs-sun-chart-box{position:relative}
.fs-sun-chart{display:block;width:100%;height:auto}
.fs-sun-chart-fore{fill:none;stroke:var(--sun-line);stroke-width:2;stroke-dasharray:4 5}
.fs-sun-chart-area{fill:var(--sun-sun);opacity:.28}
.fs-sun-chart-line{fill:none;stroke:var(--sun-sun);stroke-width:3;stroke-linecap:round}
.fs-sun-chart-now{stroke:var(--sun-ink);stroke-width:1;stroke-dasharray:2 3}
.fs-sun-chart-dot{fill:var(--sun-sun);stroke:var(--sun-surface);stroke-width:3}
.fs-sun-chart-time{position:absolute;top:0;margin-left:8px;font-weight:700;font-size:12px;line-height:14px;color:var(--sun-ink);white-space:nowrap}
.fs-sun-chart-time.is-flip{margin-left:-8px;transform:translateX(-100%)}
.fs-sun-axis{position:relative;height:16px;margin-top:2px;font-size:12px;line-height:16px;color:var(--sun-muted)}
.fs-sun-axis span{position:absolute;top:0;transform:translateX(-50%);white-space:nowrap}
.fs-sun-axis span:first-child{transform:none}
.fs-sun-stats{display:grid;grid-template-columns:repeat(var(--fs-sun-cols, 3), minmax(0, 1fr));gap:10px;padding-top:14px;border-top:1px solid var(--sun-line)}
.fs-sun-stat{display:flex;flex-direction:column;gap:2px;font-size:13px;line-height:1.35;color:var(--sun-muted)}
.fs-sun-stat b{font-weight:600;font-size:19px;color:var(--sun-ink)}
.fs-sun-batt{height:6px;margin-top:4px;border-radius:3px;background:var(--sun-wash);overflow:hidden}
.fs-sun-batt span{display:block;height:100%;border-radius:3px;background:var(--sun-sun)}
.fs-sun-foot{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--sun-muted)}
.fs-sun-foot b{color:var(--sun-ink)}

/* 02 · Figures */
.fs-sun-proof{border-bottom:1px solid var(--sun-line)}
.fs-sun-proof-in{display:grid;grid-template-columns:repeat(var(--fs-sun-cols, 4), minmax(0, 1fr));padding-block:64px}
.fs-sun-fig{display:flex;flex-direction:column;gap:6px;padding:0 28px;border-left:1px solid var(--sun-line)}
.fs-sun-fig:first-child{padding-left:0;border-left:0}
.fs-sun-fig-n{font-family:var(--font-display, system-ui, sans-serif);font-weight:700;font-stretch:80%;font-size:58px;line-height:1;letter-spacing:-.02em;color:var(--sun-ink)}
.fs-sun-fig-n small{margin-left:4px;font-size:.5em;color:var(--sun-deep)}
.fs-sun-fig-l{max-width:22ch;font-size:15px;color:var(--sun-muted)}

/* 03 · The content blocks' rhythm: a section, its head (words left, a lede or link right) */
.fs-sun-sec{padding-block:112px}
.fs-sun-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:32px;margin-bottom:48px}
.fs-sun-head-lede{max-width:40ch}
.fs-sun-tlink{display:inline-flex;align-items:center;gap:8px;padding-bottom:2px;border-bottom:2px solid currentColor;font-weight:600;color:var(--sun-deep);text-decoration:none}
a.fs-sun-tlink:focus-visible{outline:3px solid var(--sun-sun);outline-offset:4px}

/* 03a · The estimator */
.fs-sun-est-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px;align-items:stretch}
.fs-sun-panel{padding:34px;border:1px solid var(--sun-line);border-radius:22px;background:var(--sun-surface)}
.fs-sun-inputs{display:flex;flex-direction:column;gap:30px}
.fs-sun-fld{display:flex;flex-direction:column;gap:12px}
.fs-sun-fld-l{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-weight:600}
.fs-sun-fld-v{font-family:var(--font-display, system-ui, sans-serif);font-size:30px;font-weight:700;font-stretch:84%}
.fs-sun-fld-v small{font-family:var(--font-sans, system-ui, sans-serif);font-size:14px;font-weight:500;color:var(--sun-muted)}
.fs-sun-range{width:100%;height:28px;margin:0;accent-color:var(--sun-deep);cursor:pointer}
.fs-sun-range:focus-visible{outline:3px solid var(--sun-sun);outline-offset:4px}
.fs-sun-scale{display:flex;justify-content:space-between;font-size:13px;color:var(--sun-muted)}
.fs-sun-seg{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.fs-sun-seg button,.fs-sun-seg .fs-sun-box,.fs-sun-tog{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 14px;border:1.5px solid var(--sun-line);border-radius:14px;background:var(--sun-bg);color:var(--sun-ink);font:600 15px/1.2 var(--font-sans, system-ui, sans-serif);cursor:pointer}
.fs-sun-seg button.is-on,.fs-sun-seg .fs-sun-box.is-on,.fs-sun-tog.is-on{border-color:var(--sun-ink);background:var(--sun-ink);color:var(--sun-bg)}
.fs-sun-seg button:focus-visible,.fs-sun-tog:focus-visible{outline:3px solid var(--sun-sun);outline-offset:3px}
.fs-sun-tog{justify-content:space-between;width:100%}
/* While editing the two roof choices and the toggle are plain boxes (no state to flip, a caret in the words). */
.fs-sun .fs-sun-box{cursor:text}
.fs-sun-sw{position:relative;flex:none;width:42px;height:24px;border-radius:12px;background:var(--sun-line);transition:background-color .2s}
.fs-sun-sw::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--sun-surface);transition:transform .2s}
.fs-sun-tog.is-on .fs-sun-sw{background:var(--sun-sun)}
.fs-sun-tog.is-on .fs-sun-sw::after{transform:translateX(18px)}
.fs-sun-note{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--sun-muted)}
.fs-sun-note svg{flex:none;width:18px;height:18px;margin-top:2px;color:var(--sun-deep)}
.fs-sun-res{display:flex;flex-direction:column;gap:24px;padding:34px;border-radius:22px;background:var(--sun-cell);color:var(--sun-paper)}
.fs-sun-res-live{display:flex;flex-direction:column;gap:24px}
.fs-sun-res-top{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px}
.fs-sun-res-k{font-size:14px;color:var(--sun-invmuted)}
.fs-sun-res-r{text-align:right}
.fs-sun-res-n{font-family:var(--font-display, system-ui, sans-serif);font-size:64px;font-weight:800;font-stretch:78%;line-height:.95;color:var(--sun-sun)}
.fs-sun-res-n small{margin-left:6px;font-size:.42em;font-weight:600;color:var(--sun-paper)}
.fs-sun-res-figs{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:12px}
.fs-sun-rf{display:flex;flex-direction:column;gap:4px;padding:16px 16px 14px;border-radius:14px;background:var(--sun-cell2)}
.fs-sun-rf b{font-family:var(--font-display, system-ui, sans-serif);font-size:30px;font-weight:700;font-stretch:84%;line-height:1.05}
.fs-sun-rf-l{font-size:13px;color:var(--sun-invmuted)}
.fs-sun-mchart{display:block;width:100%;height:auto}
.fs-sun-m-bars{fill:var(--sun-sun)}
.fs-sun-m-use{fill:none;stroke:var(--sun-paper);stroke-width:2;stroke-dasharray:3 4;opacity:.8}
.fs-sun-m-lab{font-family:var(--font-sans, system-ui, sans-serif);font-size:12px;fill:var(--sun-invmuted);text-anchor:middle}
.fs-sun-legend{display:flex;flex-wrap:wrap;gap:18px;font-size:13px;color:var(--sun-invmuted)}
.fs-sun-legend i{display:inline-block;width:12px;height:12px;margin-right:7px;border-radius:3px;background:var(--sun-sun);vertical-align:-1px}
.fs-sun-legend i.fs-sun-lg-use{height:0;border-top:2px dashed var(--sun-paper);border-radius:0;background:none;vertical-align:3px}
.fs-sun-res-cta{align-self:flex-start}
.fs-sun-est .fs-sun-ed{margin-top:24px}

/* 03b · The six systems (a card is a link when it has a page) */
.fs-sun-systems .fs-sun-sec{padding-top:0}
.fs-sun-sys-grid{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:20px}
.fs-sun-sys{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--sun-line);border-radius:20px;background:var(--sun-surface);color:var(--sun-ink);text-decoration:none}
a.fs-sun-sys:focus-visible{outline:3px solid var(--sun-sun);outline-offset:3px}
.fs-sun-sys-photo{aspect-ratio:16 / 10}
.fs-sun-sys-b{display:flex;flex-direction:column;flex:1;gap:8px;padding:22px 24px 24px}
.fs-sun-sys-t{font-size:24px;font-weight:700;font-stretch:88%}
.fs-sun-sys-p{flex:1;font-size:15.5px;color:var(--sun-muted)}
.fs-sun-sys-f{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding-top:14px;border-top:1px solid var(--sun-line);font-size:15px}
.fs-sun-sys-pr{font-weight:600}
.fs-sun-sys-f .fs-sun-i{width:20px;height:20px;margin-left:auto;color:var(--sun-deep)}

/* 03c · How it works */
.fs-sun-how{background:var(--sun-wash)}
.fs-sun-how-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:72px;align-items:center}
.fs-sun-how-fig{position:relative;margin:0;overflow:hidden;border-radius:24px;aspect-ratio:4 / 5}
.fs-sun-chip{position:absolute;z-index:1;left:20px;right:20px;bottom:20px;display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:16px;background:var(--sun-surface);color:var(--sun-ink);font-size:15px}
.fs-sun-chip b{flex:none;font-family:var(--font-display, system-ui, sans-serif);font-size:34px;font-weight:800;font-stretch:80%;line-height:1;color:var(--sun-deep)}
.fs-sun-chip span{min-width:0}
.fs-sun-steps-list{position:relative;display:flex;flex-direction:column;margin:36px 0 0;padding:0;list-style:none}
.fs-sun-steps-list::before{content:"";position:absolute;left:15px;top:14px;bottom:14px;width:2px;background:repeating-linear-gradient(var(--sun-line) 0 6px, transparent 6px 11px)}
.fs-sun-step{display:grid;grid-template-columns:32px minmax(0, 1fr);gap:20px;padding:14px 0}
.fs-sun-step-d{position:relative;z-index:1;display:grid;place-items:center;width:32px;height:32px;border:2px solid var(--sun-deep);border-radius:50%;background:var(--sun-surface);font-weight:700;font-size:14px;color:var(--sun-deep)}
.fs-sun-step-d.is-last{border-color:var(--sun-sun);background:var(--sun-sun);color:var(--sun-onsun)}
.fs-sun-step-w{font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--sun-muted)}
.fs-sun-step-t{margin:2px 0 4px;font-size:23px;font-weight:700;font-stretch:88%}
.fs-sun-step-b{max-width:52ch;font-size:15.5px;color:var(--sun-muted)}

/* 03d · Recent installs (a job is a link when it has a page) */
.fs-sun-head-r{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.fs-sun-jobs{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:20px}
.fs-sun-job{display:flex;flex-direction:column;min-width:0;color:var(--sun-ink);text-decoration:none}
a.fs-sun-job:focus-visible{outline:3px solid var(--sun-sun);outline-offset:4px;border-radius:20px}
.fs-sun-job-ph{position:relative;overflow:hidden;aspect-ratio:4 / 3;border-radius:20px;background:var(--sun-wash)}
.fs-sun-job-tag{position:absolute;z-index:2;top:14px;left:14px;display:inline-flex;align-items:center;gap:6px;max-width:calc(100% - 28px);padding:6px 12px;border-radius:999px;background:var(--sun-surface);color:var(--sun-ink);font-size:13px;font-weight:600;line-height:1.3}
.fs-sun-job-tag svg{flex:none;width:14px;height:14px;color:var(--sun-deep)}
.fs-sun-job-t{flex:1;margin:18px 0 12px;font-size:22px;font-weight:700;font-stretch:88%}
.fs-sun-strip{display:grid;grid-template-columns:repeat(var(--fs-sun-cols, 3), minmax(0, 1fr));overflow:hidden;border:1px solid var(--sun-line);border-radius:14px;background:var(--sun-surface)}
.fs-sun-strip > div{display:flex;flex-direction:column;gap:1px;min-width:0;padding:12px 14px;border-left:1px solid var(--sun-line)}
.fs-sun-strip > div:first-child{border-left:0}
.fs-sun-strip b{font-family:var(--font-display, system-ui, sans-serif);font-size:22px;font-weight:700;font-stretch:84%;line-height:1.2}
.fs-sun-strip span{font-size:12.5px;line-height:1.35;color:var(--sun-muted)}
.fs-sun-save{margin-top:12px;font-size:14.5px;color:var(--sun-muted)}
.fs-sun-save b{font-weight:700;color:var(--sun-deep)}

/* 03e · Reviews (the dark band) */
.fs-sun-reviews{background:var(--sun-cell);color:var(--sun-paper)}
.fs-sun-reviews .fs-sun-eyebrow,.fs-sun-cta .fs-sun-eyebrow{color:var(--sun-sun)}
.fs-sun-reviews .fs-sun-h2{color:inherit}
.fs-sun-reviews .fs-sun-tlink{color:var(--sun-sun)}
.fs-sun-reviews .fs-sun-mark,.fs-sun-cta .fs-sun-mark{background:color-mix(in srgb, var(--sun-sun) 20%, transparent);color:var(--sun-sun)}
.fs-sun-rev-grid{display:grid;grid-template-columns:repeat(var(--fs-sun-n, 3), minmax(0, 1fr));gap:20px;align-items:stretch}
.fs-sun-rev-grid.has-score{grid-template-columns:minmax(0, .7fr) repeat(var(--fs-sun-n, 3), minmax(0, 1fr))}
.fs-sun-score{display:flex;flex-direction:column;justify-content:center;gap:10px}
.fs-sun-score-n{font-family:var(--font-display, system-ui, sans-serif);font-size:104px;font-weight:800;font-stretch:76%;line-height:.85;color:var(--sun-sun)}
.fs-sun-score-t{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.fs-sun-score-c{font-size:15px;color:var(--sun-invmuted)}
.fs-sun-rv{display:flex;flex-direction:column;gap:16px;margin:0;padding:26px;border-radius:20px;background:var(--sun-cell2)}
.fs-sun-rv > .fs-sun-mark{align-self:flex-start;margin-left:0}
.fs-sun-rv-q{flex:1;quotes:none;font-size:17px;line-height:1.5}
.fs-sun-rv-by{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--sun-invmuted)}
.fs-sun-rv-by b{display:block;font-size:15px;color:var(--sun-paper)}
.fs-sun-mono{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--sun-sun);color:var(--sun-onsun);font-family:var(--font-display, system-ui, sans-serif);font-weight:700;font-size:18px}

/* 03f · The questions */
.fs-sun-faq-grid{display:grid;grid-template-columns:minmax(0, .8fr) minmax(0, 1.2fr);gap:72px}
.fs-sun-faq-grid.is-solo{grid-template-columns:minmax(0, 1fr)}
.fs-sun-faq-col{min-width:0}
.fs-sun-faq-list{border-top:1px solid var(--sun-line)}
.fs-sun-faq-item{border-bottom:1px solid var(--sun-line)}
.fs-sun-faq-q{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;list-style:none;cursor:pointer;font-family:var(--font-display, system-ui, sans-serif);font-size:22px;font-weight:600;font-stretch:90%;line-height:1.25}
.fs-sun-faq-q::-webkit-details-marker{display:none}
.fs-sun-faq-q:focus-visible{outline:3px solid var(--sun-sun);outline-offset:3px}
.fs-sun-faq-list.is-editing .fs-sun-faq-q{cursor:text}
.fs-sun-faq-q .fs-sun-i{width:22px;height:22px;color:var(--sun-deep)}
.fs-sun-faq-item[open] > .fs-sun-faq-q .fs-sun-i{transform:rotate(45deg)}
.fs-sun-faq-a{max-width:62ch;padding:0 0 24px;color:var(--sun-muted)}
.fs-sun-faq .fs-sun-ed{margin-top:24px}

/* 03g · The closing call (a low sun, the offer, the sun button and the phone) */
.fs-sun-cta{overflow:hidden;background:var(--sun-cell);color:var(--sun-paper)}
.fs-sun-cta-photo{background:var(--sun-cell)}
.fs-sun-cta .fs-sun-photo img{object-position:50% 70%}
.fs-sun-cta-shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg, var(--sun-cell) 10%, color-mix(in srgb, var(--sun-cell) 15%, transparent) 75%)}
.fs-sun-cta-in{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:24px;padding-block:120px}
.fs-sun-cta-in{pointer-events:none}
.fs-sun-cta-in > *{pointer-events:auto}
.fs-sun-cta .fs-sun-cta-h{max-width:15ch;font-size:clamp(40px, 5cqi, 68px);line-height:.98;font-weight:800;font-stretch:80%;color:inherit}
.fs-sun-cta-accent{color:var(--sun-sun)}
.fs-sun-cta-body{max-width:34ch;font-size:20px;color:var(--sun-invmuted)}

/* Narrower blocks (the mockup's 1100px and 760px) */
@container fs-sun (max-width: 1100px){
  .fs-sun-hero-grid{grid-template-columns:minmax(0,1fr)}
  .fs-sun-hero-copy{padding:72px 40px 56px}
  .fs-sun-hero-photo{min-height:460px}
  .fs-sun-card{left:40px;bottom:32px}
  .fs-sun-est-grid,.fs-sun-how-grid,.fs-sun-faq-grid{grid-template-columns:minmax(0,1fr)}
  .fs-sun-how-fig{aspect-ratio:4 / 3}
  .fs-sun-strip > div{padding:10px}
  .fs-sun-strip b{font-size:18px}
  .fs-sun-rev-grid,.fs-sun-rev-grid.has-score{grid-template-columns:repeat(var(--fs-sun-n, 3), minmax(0, 1fr))}
  .fs-sun-score{grid-column:1 / -1;flex-direction:row;align-items:center;gap:24px}
}
@container fs-sun (max-width: 760px){
  .fs-sun-wrap{padding-inline:20px}
  .fs-sun-sec{padding-block:44px}
  .fs-sun-head{gap:16px;margin-bottom:32px}
  .fs-sun-panel,.fs-sun-res{padding:24px}
  .fs-sun-fld-v{font-size:26px}
  .fs-sun-res-n{font-size:52px}
  .fs-sun-res-r{text-align:left}
  .fs-sun-res-figs{grid-template-columns:repeat(3, minmax(0, 1fr));gap:8px}
  .fs-sun-rf{padding:12px 10px}
  .fs-sun-rf b{font-size:22px}
  .fs-sun-rf-l{font-size:12px}
  .fs-sun-sys-grid{grid-template-columns:minmax(0,1fr);gap:12px}
  .fs-sun-sys{display:grid;grid-template-columns:96px minmax(0, 1fr) 20px;grid-template-rows:auto auto;align-items:center;gap:2px 14px;padding:10px;border-radius:16px}
  .fs-sun-sys-photo{grid-column:1;grid-row:1 / 3;width:96px;height:76px;aspect-ratio:auto;border-radius:12px}
  .fs-sun-sys-b,.fs-sun-sys-f{display:contents}
  .fs-sun-sys-t{grid-column:2;grid-row:1;align-self:end;font-size:19px;line-height:1.1}
  .fs-sun-sys-p{display:none}
  .fs-sun-sys-pr{grid-column:2;grid-row:2;align-self:start;font-size:13.5px;color:var(--sun-deep)}
  .fs-sun-sys-f .fs-sun-i{grid-column:3;grid-row:1 / 3;width:18px;height:18px}
  .fs-sun-how-grid{gap:32px}
  .fs-sun-chip b{font-size:28px}
  .fs-sun-steps-list{margin-top:24px}
  .fs-sun-steps-list::before{left:13px}
  .fs-sun-step{grid-template-columns:28px minmax(0, 1fr);gap:14px}
  .fs-sun-step-d{width:28px;height:28px;font-size:13px}
  .fs-sun-step-w{font-size:12px}
  .fs-sun-step-t{font-size:20px}
  .fs-sun-hero-copy{gap:18px;padding:32px 20px 28px}
  .fs-sun-h1{font-size:50px;line-height:.93}
  .fs-sun-hero-intro{font-size:17px}
  .fs-sun-ctas .fs-sun-btn{flex:1 1 100%}
  .fs-sun-hero .fs-sun-btn-line{display:none}
  .fs-sun-ticks{flex-direction:column;gap:6px;font-size:14.5px}
  .fs-sun-hero-photo{min-height:520px}
  /* The phone mockup's compact card (Phone.dc.html .live): 14px in from the edges, an 18px radius, no time axis and no
     "saved this year" line, so the photograph still shows above it. */
  .fs-sun-card{left:14px;right:14px;bottom:14px;width:auto;max-width:none;gap:10px;padding:16px 18px;border-radius:18px}
  .fs-sun-axis,.fs-sun-foot{display:none}
  .fs-sun-card-n{font-size:38px}
  .fs-sun-proof-in{grid-template-columns:repeat(2, minmax(0, 1fr));gap:24px 16px;padding-block:32px}
  .fs-sun-fig,.fs-sun-fig:first-child{padding:0;border-left:0}
  .fs-sun-fig-n{font-size:42px}
  .fs-sun-fig-l{max-width:none;font-size:13.5px}
  .fs-sun-jobs{grid-template-columns:minmax(0, 1fr);gap:28px}
  .fs-sun-strip > div{padding:12px 14px}
  .fs-sun-strip b{font-size:22px}
  .fs-sun-rev-grid,.fs-sun-rev-grid.has-score{grid-template-columns:minmax(0, 1fr)}
  .fs-sun-score{gap:14px}
  .fs-sun-score-n{font-size:64px}
  .fs-sun-rv{gap:14px;padding:20px;border-radius:18px}
  .fs-sun-rv-q{font-size:16.5px}
  .fs-sun-rv-by{font-size:13px}
  .fs-sun-rv-by b{font-size:14.5px}
  .fs-sun-mono{width:38px;height:38px;font-size:17px}
  .fs-sun-faq-grid{gap:32px}
  .fs-sun-faq-q{gap:14px;padding:18px 0;font-size:19px}
  .fs-sun-faq-q .fs-sun-i{width:20px;height:20px}
  .fs-sun-faq-a{padding-bottom:20px}
  .fs-sun-cta-photo{opacity:.45}
  .fs-sun-cta-shade{display:none}
  .fs-sun-cta-in{gap:18px;padding-block:72px}
  .fs-sun-cta .fs-sun-cta-h{max-width:none;font-size:34px;line-height:1.02}
  .fs-sun-cta-body{font-size:17px}
}

/* Motion (the theme's microAnimations) */
.fs-sun-anim .fs-sun-hero-photo img{animation:var(--fs-anim-sunSettle, fs-sun-settle 2.4s cubic-bezier(.2,.7,.2,1) backwards)}
.fs-sun-anim .fs-sun-hero-copy > *,.fs-sun-anim .fs-sun-card{animation:var(--fs-anim-sunRise, fs-sun-rise .8s cubic-bezier(.2,.7,.2,1) backwards)}
.fs-sun-anim .fs-sun-hero-copy > :nth-child(2){animation-delay:.08s}
.fs-sun-anim .fs-sun-hero-copy > :nth-child(3){animation-delay:.16s}
.fs-sun-anim .fs-sun-hero-copy > :nth-child(4){animation-delay:.24s}
.fs-sun-anim .fs-sun-hero-copy > :nth-child(5){animation-delay:.32s}
.fs-sun-anim .fs-sun-card{animation-delay:.4s}
.fs-sun-anim .fs-sun-dot{animation:var(--fs-anim-sunPulse, fs-sun-pulse 2.4s ease-out infinite)}
.fs-sun-anim .fs-sun-chart-line{stroke-dasharray:800;animation:var(--fs-anim-sunDraw, fs-sun-draw 2.2s .5s cubic-bezier(.2,.7,.2,1) backwards)}
.fs-sun-anim .fs-sun-m-bars{animation:var(--fs-anim-sunGrow, fs-sun-grow 1.1s .2s cubic-bezier(.2,.7,.2,1) both);transform-box:fill-box;transform-origin:50% 100%}
.fs-sun-anim a.fs-sun-sys{transition:transform .25s ease,box-shadow .25s ease}
.fs-sun-anim a.fs-sun-sys:hover{transform:translateY(-4px);box-shadow:0 24px 40px -24px var(--sun-shadow)}
.fs-sun-anim .fs-sun-sys-photo img{transition:transform .6s ease}
.fs-sun-anim a.fs-sun-sys:hover .fs-sun-sys-photo img{transform:scale(1.04)}
.fs-sun-anim .fs-sun-faq-q .fs-sun-i{transition:transform .25s}
.fs-sun-anim .fs-sun-btn{transition:transform .2s ease,background-color .2s ease}
.fs-sun-anim .fs-sun-btn:hover{transform:translateY(-2px)}
@keyframes fs-sun-settle{from{transform:scale(1.08)}to{transform:scale(1)}}
@keyframes fs-sun-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes fs-sun-pulse{0%{box-shadow:0 0 0 0 rgb(var(--c-brand-600))}70%,100%{box-shadow:0 0 0 9px rgb(var(--c-brand-600) / 0)}}
@keyframes fs-sun-draw{from{stroke-dashoffset:800}to{stroke-dashoffset:0}}
@keyframes fs-sun-grow{from{transform:scaleY(.04)}to{transform:scaleY(1)}}
@media (prefers-reduced-motion: reduce){
  .fs-sun *,.fs-sun *::before,.fs-sun *::after{animation:none !important;transition:none !important}
}


.fs-lum{--lum-ink:rgb(var(--c-ink-950));--lum-muted:rgb(var(--c-ink-700));--lum-faint:rgb(var(--c-ink-400));--lum-bg:rgb(var(--c-paper));--lum-surface:rgb(var(--c-paper-soft));--lum-deep:rgb(var(--c-paper-sunk));--lum-line:rgb(var(--c-line));--lum-line2:color-mix(in srgb, rgb(var(--c-ink-950)) 24%, rgb(var(--c-paper)));--lum-lamp:rgb(var(--c-brand-600));--lum-lampdeep:rgb(var(--c-brand-text, var(--c-brand-600)));--lum-onlamp:var(--fs-on-brand, rgb(var(--c-ink-950)));--lum-glow:color-mix(in srgb, rgb(var(--c-brand-600)) 45%, transparent);--lum-night:color-mix(in oklab, rgb(var(--c-ink-950)), black 30%);--lum-light:rgb(var(--c-paper));--lum-lamp-hi:rgb(var(--c-brand-on-shade, var(--c-brand-600)));--lum-abyss:color-mix(in oklab, var(--lum-night), black 45%);--lum-soft:color-mix(in srgb, var(--lum-light) 80%, var(--lum-night));--lum-faintlight:color-mix(in srgb, var(--lum-light) 66%, var(--lum-night));--lum-hair:color-mix(in srgb, var(--lum-light) 14%, transparent);position:relative;container-type:inline-size;container-name:fs-lum;background:var(--lum-bg);color:var(--lum-ink);font-family:var(--font-sans, system-ui, sans-serif);font-size:17px;line-height:1.6;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}
:where([data-fs-theme].dark) .fs-lum{--lum-night:color-mix(in oklab, rgb(var(--c-paper)), black 40%);--lum-light:rgb(var(--c-ink-950))}
.fs-lum *{box-sizing:border-box}
.fs-lum p{margin:0}
.fs-lum-wire{filter:grayscale(1) contrast(.6)}
.fs-lum-wrap{max-width:1240px;margin:0 auto;padding-inline:40px}
.fs-lum-h1,.fs-lum-h2,.fs-lum-h3{margin:0;font-family:var(--font-display, Georgia, serif);font-weight:500;letter-spacing:-.01em}
.fs-lum-h2{font-size:clamp(40px, 4.8cqi, 64px);line-height:1.02;color:var(--lum-ink)}
.fs-lum-head-t{display:flex;flex-direction:column;gap:16px;max-width:780px}
.fs-lum-lede{max-width:54ch;font-size:19px;color:var(--lum-muted)}
.fs-lum-eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:12.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--lum-lampdeep)}
.fs-lum-lights{display:inline-flex;gap:6px;align-items:center}
.fs-lum-lights i{width:6px;height:6px;border-radius:50%;background:var(--lum-lamp);box-shadow:0 0 8px 2px var(--lum-glow)}
.fs-lum-lights i:nth-child(2){opacity:.7}
.fs-lum-lights i:nth-child(3){opacity:.4}
.fs-lum-i{width:18px;height:18px;flex:none}
.fs-lum-downlights{display:flex;justify-content:space-between;max-width:1240px;height:2px;margin:0 auto;padding-inline:40px}
.fs-lum-downlights i{width:8px;height:8px;margin-top:-3px;border-radius:50%;background:var(--lum-lamp);box-shadow:0 0 18px 6px var(--lum-glow),0 0 2px var(--lum-lamp)}
.fs-lum-photo{position:relative;z-index:0;overflow:hidden;background:var(--lum-deep)}
.fs-lum-photo > *{width:100%;height:100%}
.fs-lum-photo img{display:block;object-fit:cover}
.fs-lum-mark,.fs-lum-missing{display:inline-block;margin-left:8px;padding:3px 8px;border-radius:999px;background:color-mix(in srgb, var(--lum-lamp) 16%, transparent);color:var(--lum-lampdeep);font-family:var(--font-sans, system-ui, sans-serif);font-weight:700;font-size:12px;font-style:normal;line-height:1.3;letter-spacing:0;text-transform:none;vertical-align:middle}
.fs-lum-ed{display:grid;gap:6px 16px;padding:12px;border:1px dashed color-mix(in srgb, currentColor 45%, transparent);border-radius:8px;font-size:15px}
.fs-lum-ed > div::before{content:attr(data-ed);display:block;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.7}

/* Buttons: the lamp colour, then the outline */
.fs-lum-ctas{display:flex;gap:12px;flex-wrap:wrap}
.fs-lum-btn{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 26px;border:1.5px solid transparent;border-radius:999px;font-family:inherit;font-weight:600;font-size:15.5px;line-height:1.2;letter-spacing:.01em;text-decoration:none;cursor:pointer}
.fs-lum-btn:focus-visible{outline:3px solid var(--lum-lamp-hi);outline-offset:3px}
.fs-lum-btn-lamp{background:var(--lum-lamp);color:var(--lum-onlamp);box-shadow:0 10px 30px -10px var(--lum-glow)}
.fs-lum-btn-line{border-color:var(--lum-line2);background:transparent;color:var(--lum-ink)}

/* 01 · Hero: the photograph, the copy right, the keypad bottom-left. The
   stage holds the photograph and its layers; on a wide block it has no box of
   its own (its children are the hero grid's), on a phone it is the photograph's
   640px frame and the intro and buttons drop below it. */
.fs-lum-hero{position:relative;min-height:760px;overflow:hidden;background:var(--lum-abyss);color:var(--lum-light)}
.fs-lum-hero-in{max-width:1240px;min-height:760px;margin:0 auto;padding:110px 40px 64px;display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);grid-template-rows:auto 1fr;column-gap:40px}
.fs-lum-stage{display:contents}
.fs-lum-hero-photo{position:absolute;inset:0;background:var(--lum-abyss)}
.fs-lum-hero-photo img{object-position:30% 60%;filter:var(--lum-filter)}
.fs-lum-tint{position:absolute;inset:0;z-index:0;pointer-events:none;mix-blend-mode:multiply;background-color:var(--lum-tint);opacity:var(--lum-tint-op)}
.fs-lum-shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(270deg, color-mix(in srgb, var(--lum-abyss) 82%, transparent) 0%, color-mix(in srgb, var(--lum-abyss) 35%, transparent) 48%, transparent 70%),linear-gradient(0deg, color-mix(in srgb, var(--lum-abyss) 70%, transparent) 0%, transparent 35%)}
.fs-lum-hero-copy{position:relative;z-index:2;grid-column:2;grid-row:1;display:flex;flex-direction:column;align-items:flex-start;gap:26px;align-self:start}
.fs-lum-hero-rest{position:relative;z-index:2;grid-column:2;grid-row:2;display:flex;flex-direction:column;gap:26px;margin-top:26px;align-self:start}
.fs-lum-hero .fs-lum-eyebrow{color:var(--lum-lamp-hi)}
.fs-lum-hero .fs-lum-lights i{background:var(--lum-lamp-hi)}
.fs-lum-h1{font-size:clamp(52px, 6.2cqi, 90px);line-height:.98;color:inherit}
.fs-lum-h1-accent{font-style:italic;color:var(--lum-lamp-hi)}
.fs-lum-hero-intro{max-width:40ch;font-size:19px;color:var(--lum-soft)}
.fs-lum-hero .fs-lum-btn-line{border-color:color-mix(in srgb, var(--lum-light) 45%, transparent);color:var(--lum-light)}
.fs-lum-hero .fs-lum-mark,.fs-lum-hero .fs-lum-missing{background:color-mix(in srgb, var(--lum-lamp-hi) 22%, transparent);color:var(--lum-lamp-hi)}

/* 01b · The keypad: glass over the photograph, five scenes, the status of the one that is on */
.fs-lum-keypad{position:relative;z-index:2;grid-column:1;grid-row:1 / 3;align-self:end;width:420px;max-width:100%;display:flex;flex-direction:column;gap:16px;padding:22px;border:1px solid var(--lum-hair);border-radius:24px;background:color-mix(in srgb, var(--lum-night) 55%, transparent);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);box-shadow:0 30px 60px -24px color-mix(in srgb, var(--lum-abyss) 85%, transparent)}
.fs-lum-kp-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--lum-soft)}
.fs-lum-kp-room{font-family:var(--font-display, Georgia, serif);font-size:15px;font-style:italic;font-weight:500;letter-spacing:0;text-transform:none;color:var(--lum-lamp-hi)}
.fs-lum-kp-grid{display:grid;grid-template-columns:repeat(5, minmax(0, 1fr));gap:8px}
.fs-lum-kp-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-height:74px;padding:0 2px;border:1px solid var(--lum-hair);border-radius:16px;background:color-mix(in srgb, var(--lum-light) 5%, transparent);color:var(--lum-light);font:600 12.5px/1.2 var(--font-sans, system-ui, sans-serif);text-align:center;cursor:pointer}
.fs-lum-kp-btn i{width:8px;height:8px;border-radius:50%;background:color-mix(in srgb, var(--lum-light) 25%, transparent)}
.fs-lum-kp-btn:hover{background:color-mix(in srgb, var(--lum-light) 10%, transparent)}
.fs-lum-kp-btn:focus-visible{outline:3px solid var(--lum-lamp-hi);outline-offset:2px}
.fs-lum-kp-btn.is-on{border-color:var(--lum-lamp-hi);background:color-mix(in srgb, var(--lum-lamp-hi) 16%, transparent);box-shadow:0 0 24px -6px color-mix(in srgb, var(--lum-lamp-hi) 60%, transparent) inset}
.fs-lum-kp-btn.is-on i{background:var(--lum-lamp-hi);box-shadow:0 0 10px 3px color-mix(in srgb, var(--lum-lamp-hi) 70%, transparent)}
span.fs-lum-kp-btn{cursor:text}
.fs-lum-kp-status{display:grid;grid-template-columns:repeat(var(--lum-kp-cols, 3), minmax(0, 1fr));gap:8px;padding-top:14px;border-top:1px solid var(--lum-hair)}
.fs-lum-kp-s{display:flex;flex-direction:column-reverse;gap:2px;font-size:12px;line-height:1.35;color:var(--lum-faintlight)}
.fs-lum-kp-s b{font-size:14.5px;font-weight:600;color:var(--lum-light)}

/* 02 · Figures */
.fs-lum-figs{border-bottom:1px solid var(--lum-line)}
.fs-lum-figs-in{display:grid;grid-template-columns:repeat(var(--fs-lum-cols, 4), minmax(0, 1fr));padding-block:56px}
.fs-lum-fig{display:flex;flex-direction:column;gap:4px;padding:0 28px;border-left:1px solid var(--lum-line)}
.fs-lum-fig:first-child{padding-left:0;border-left:0}
.fs-lum-fig-n{font-family:var(--font-display, Georgia, serif);font-size:60px;font-weight:500;line-height:1}
.fs-lum-fig-n small{margin-left:4px;font-size:.45em;font-style:italic;color:var(--lum-lampdeep)}
.fs-lum-fig-l{max-width:24ch;font-size:15px;color:var(--lum-muted)}

/* Sections: the head (heading left, line right), shared by the bento, the cinema and the steps */
.fs-lum-sec{padding-block:120px}
.fs-lum-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin-bottom:56px}
.fs-lum-head-lede{max-width:42ch}
.fs-lum-h2 em{font-style:italic;color:var(--lum-lampdeep)}
.fs-lum-h3{color:inherit}
.fs-lum-fill{position:absolute;inset:0}

/* 03 · What we do: a four-column bento. The first tile is 2x2 and the last closes the grid; each tile
   takes its spans from the variables the block sets (--lum-w4/h4 here, --lum-w2/h2 when narrow). */
.fs-lum-bento-grid{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));grid-auto-rows:300px;gap:16px}
.fs-lum-tile{position:relative;display:block;grid-column:span var(--lum-w4, 1);grid-row:span var(--lum-h4, 1);border-radius:22px;overflow:hidden;background:var(--lum-abyss);color:var(--lum-light);text-decoration:none}
.fs-lum-tile-photo{position:absolute;inset:0}
.fs-lum-tile-photo img{object-position:50% 50%}
.fs-lum-tile::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(0deg, color-mix(in srgb, var(--lum-abyss) 88%, transparent) 0%, color-mix(in srgb, var(--lum-abyss) 25%, transparent) 50%, transparent 75%)}
.fs-lum-tile-b{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;flex-direction:column;gap:6px;padding:24px}
.fs-lum-tile-pr{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--lum-lamp-hi)}
.fs-lum-tile-t{font-size:30px;line-height:1.05}
.fs-lum-tile.is-big .fs-lum-tile-t{font-size:46px}
.fs-lum-tile-p{max-width:38ch;font-size:14.5px;color:var(--lum-soft)}
.fs-lum-tile:focus-visible{outline:3px solid var(--lum-lamp-hi);outline-offset:3px}

/* 04 · The private cinema: the surface band, the photograph beside the spec list */
.fs-lum-feature{background:var(--lum-surface)}
.fs-lum-feat-grid{display:grid;grid-template-columns:minmax(0, 1.2fr) minmax(0, .8fr);gap:64px;align-items:center}
.fs-lum-feat-fig{position:relative;margin:0;border-radius:26px;overflow:hidden;aspect-ratio:5 / 4}
.fs-lum-feat-fig img{display:block;width:100%;height:100%;object-fit:cover}
.fs-lum-feat-grid.is-solo{grid-template-columns:minmax(0, 1fr)}
.fs-lum-feat-grid.is-solo .fs-lum-feat-fig{width:100%;max-width:880px;margin-inline:auto}
.fs-lum-specs{list-style:none;margin:28px 0;padding:0;border-top:1px solid var(--lum-line)}
.fs-lum-spec{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--lum-line);font-size:16px}
.fs-lum-spec > span{color:var(--lum-muted)}
.fs-lum-spec > b{font-weight:600;text-align:right}
.fs-lum-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin-bottom:26px}
.fs-lum-price > b{font-family:var(--font-display, Georgia, serif);font-size:46px;font-weight:500;line-height:1.1;color:var(--lum-lampdeep)}
.fs-lum-price > span{font-size:15px;color:var(--lum-muted)}

/* 05 · How we work: five columns on a line of lights */
.fs-lum-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--fs-lum-cols, 5), minmax(0, 1fr));gap:16px}
.fs-lum-step{position:relative;display:flex;flex-direction:column;gap:10px;padding-top:22px;border-top:1px solid var(--lum-line2)}
.fs-lum-step-dot{position:absolute;top:-5px;left:0;width:9px;height:9px;border-radius:50%;background:var(--lum-lamp);box-shadow:0 0 14px 4px var(--lum-glow)}
.fs-lum-step-n{font-family:var(--font-display, Georgia, serif);font-size:22px;font-style:italic;color:var(--lum-lampdeep)}
.fs-lum-step-t{font-size:27px;line-height:1.1}
.fs-lum-step-b{font-size:15px;color:var(--lum-muted)}

/* 06 · Recent projects: three cards, the photo 4:3, a place, a title, chips. The columns follow the count. */
.fs-lum-sec.fs-lum-sec-flush{padding-top:0}
.fs-lum-tlink{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--lum-lampdeep);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px}
.fs-lum-tlink:focus-visible{outline:3px solid var(--lum-lamp);outline-offset:4px}
.fs-lum-projs{display:grid;grid-template-columns:repeat(var(--fs-lum-cols, 3), minmax(0, 1fr));gap:20px}
.fs-lum-proj{display:flex;flex-direction:column;gap:16px;color:var(--lum-ink);text-decoration:none}
.fs-lum-proj:focus-visible{outline:3px solid var(--lum-lamp);outline-offset:4px;border-radius:22px}
.fs-lum-proj-img{aspect-ratio:4 / 3;border-radius:22px}
.fs-lum-proj-img img{width:100%;height:100%;object-fit:cover}
.fs-lum-proj-k{font-size:12.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--lum-lampdeep)}
.fs-lum-proj-t{font-size:30px;line-height:1.08}
.fs-lum-chips{display:flex;gap:8px;flex-wrap:wrap}
.fs-lum-chip{font-size:13px;padding:6px 12px;border-radius:999px;border:1px solid var(--lum-line2);color:var(--lum-muted)}

/* 07 · Client quotes: the surface band, the big quote beside two small ones. With one side missing the grid is one column. */
.fs-lum-quotes{background:var(--lum-surface)}
.fs-lum-q-grid{display:grid;grid-template-columns:minmax(0, 1.3fr) minmax(0, .7fr);gap:64px;align-items:center}
.fs-lum-q-grid.is-solo{grid-template-columns:minmax(0, 1fr)}
.fs-lum-q-big{margin:0}
.fs-lum-q-text{display:block;margin:0;font-family:var(--font-display, Georgia, serif);font-size:clamp(32px, 3.4cqi, 46px);line-height:1.18;font-style:italic;font-weight:400;quotes:none}
.fs-lum-q-by{margin-top:26px;display:flex;gap:14px;align-items:center;font-size:15px;color:var(--lum-muted)}
.fs-lum-q-by b{display:block;font-size:16px;font-weight:600;color:var(--lum-ink)}
.fs-lum-mono{width:48px;height:48px;border-radius:50%;border:1px solid var(--lum-lamp);color:var(--lum-lampdeep);display:grid;place-items:center;font-family:var(--font-display, Georgia, serif);font-size:22px;font-style:italic;flex:none}
.fs-lum-q-side{display:flex;flex-direction:column;gap:20px}
.fs-lum-q-grid.is-solo .fs-lum-q-side{display:grid;grid-template-columns:repeat(var(--fs-lum-cols, 2), minmax(0, 1fr))}
.fs-lum-q-small{margin:0;display:flex;flex-direction:column;gap:12px;padding:22px;border:1px solid var(--lum-line);border-radius:20px;background:var(--lum-bg)}
.fs-lum-q-small q{quotes:none;font-size:16px}
.fs-lum-q-small > span:not(.fs-lum-mark):not(.fs-lum-missing){font-size:13.5px;color:var(--lum-muted)}

/* 08 · The showroom: the lounge photograph under a dark shade, the copy on the left in the light end. */
.fs-lum-show{position:relative;overflow:hidden;background:var(--lum-abyss);color:var(--lum-light)}
.fs-lum-show-photo img{object-position:50% 50%}
.fs-lum-show-shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg, color-mix(in srgb, var(--lum-abyss) 90%, transparent) 0%, color-mix(in srgb, var(--lum-abyss) 55%, transparent) 50%, color-mix(in srgb, var(--lum-abyss) 15%, transparent) 100%)}
.fs-lum-show-in{position:relative;z-index:2;padding-block:130px;display:flex;flex-direction:column;align-items:flex-start;gap:24px;pointer-events:none}
.fs-lum-show-in > *{pointer-events:auto}
.fs-lum-show .fs-lum-head-t{gap:24px}
.fs-lum-show .fs-lum-h2{max-width:13ch;font-size:clamp(46px, 5.4cqi, 76px);line-height:1;color:inherit}
.fs-lum-show .fs-lum-h2 em{color:var(--lum-lamp-hi)}
.fs-lum-show .fs-lum-eyebrow{color:var(--lum-lamp-hi)}
.fs-lum-show .fs-lum-lights i{background:var(--lum-lamp-hi)}
.fs-lum-show-body{max-width:46ch;font-size:18px;color:var(--lum-soft)}
.fs-lum-hours{display:flex;gap:28px;flex-wrap:wrap;font-size:14.5px;color:var(--lum-soft)}
.fs-lum-hours b{display:block;font-weight:600;color:var(--lum-light)}
.fs-lum-show .fs-lum-btn-line{border-color:color-mix(in srgb, var(--lum-light) 45%, transparent);color:var(--lum-light)}
.fs-lum-show .fs-lum-mark,.fs-lum-show .fs-lum-missing{background:color-mix(in srgb, var(--lum-lamp-hi) 22%, transparent);color:var(--lum-lamp-hi)}

/* Narrower blocks (the mockup's 1100px and 760px) */
@container fs-lum (max-width: 1100px){
  .fs-lum-bento-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}
  .fs-lum-tile{grid-column:span var(--lum-w2, 1);grid-row:span var(--lum-h2, 1)}
  .fs-lum-feat-grid{grid-template-columns:minmax(0, 1fr)}
  .fs-lum-steps{grid-template-columns:repeat(2, minmax(0, 1fr));row-gap:32px}
  .fs-lum-q-grid{grid-template-columns:minmax(0, 1fr);gap:40px}
  .fs-lum-hero-in{grid-template-columns:minmax(0, 1fr);grid-template-rows:auto auto 1fr;padding-top:80px}
  .fs-lum-hero-copy,.fs-lum-hero-rest{grid-column:1}
  .fs-lum-keypad{grid-column:1;grid-row:3;width:100%;max-width:460px;margin-top:26px}
  /* One column, the copy on the left over the lit house: the mockup's shade is heaviest on the RIGHT (where the copy sits on a wide block), so here it goes dark from the top, behind the headline, the line and the buttons. */
  .fs-lum-shade{background:linear-gradient(180deg, color-mix(in srgb, var(--lum-abyss) 78%, transparent) 0%, color-mix(in srgb, var(--lum-abyss) 62%, transparent) 50%, color-mix(in srgb, var(--lum-abyss) 18%, transparent) 76%, transparent 100%),linear-gradient(0deg, color-mix(in srgb, var(--lum-abyss) 70%, transparent) 0%, transparent 35%)}
}
@container fs-lum (max-width: 760px){
  .fs-lum-wrap{padding-inline:20px}
  .fs-lum-hero{min-height:0}
  .fs-lum-hero-in{display:block;min-height:0;max-width:none;padding:0}
  .fs-lum-stage{position:relative;display:block;height:640px;overflow:hidden}
  .fs-lum-hero-photo img{object-position:22% 60%}
  .fs-lum-shade{background:linear-gradient(180deg, color-mix(in srgb, var(--lum-abyss) 75%, transparent) 0%, color-mix(in srgb, var(--lum-abyss) 15%, transparent) 45%, color-mix(in srgb, var(--lum-abyss) 85%, transparent) 100%)}
  .fs-lum-hero-copy{position:absolute;left:20px;right:20px;top:28px;gap:14px}
  .fs-lum-eyebrow{gap:10px;font-size:12px}
  .fs-lum-lights{gap:5px}
  .fs-lum-h1{font-size:46px;line-height:1}
  .fs-lum-keypad{position:absolute;left:14px;right:14px;bottom:14px;width:auto;max-width:none;gap:10px;margin:0;padding:14px;border-radius:20px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
  .fs-lum-kp-top{font-size:12px}
  .fs-lum-kp-room{display:none}
  .fs-lum-kp-grid{grid-template-columns:repeat(5, minmax(0, 1fr));gap:6px}
  .fs-lum-kp-btn{min-height:58px;gap:7px;border-radius:13px;font-size:12px}
  .fs-lum-kp-btn i{width:7px;height:7px}
  .fs-lum-kp-status{display:block;padding-top:0;border-top:0;font-size:12.5px;color:var(--lum-soft)}
  .fs-lum-kp-s{display:inline;font-size:12.5px;color:var(--lum-soft)}
  .fs-lum-kp-s > span::after{content:" "}
  .fs-lum-kp-s + .fs-lum-kp-s::before{content:" · "}
  .fs-lum-kp-s b{font-size:12.5px}
  .fs-lum-kp-s-x{display:none}
  .fs-lum-hero-rest{grid-column:auto;margin:0;padding:24px 20px 8px;gap:16px;background:var(--lum-bg);color:var(--lum-ink)}
  .fs-lum-hero-intro{max-width:none;font-size:16.5px;color:var(--lum-muted)}
  .fs-lum-ctas{flex-direction:column;gap:12px}
  .fs-lum-ctas .fs-lum-btn{justify-content:center}
  .fs-lum-hero-rest .fs-lum-btn-line{border-color:var(--lum-line2);color:var(--lum-ink)}
  .fs-lum-hero-rest .fs-lum-mark{background:color-mix(in srgb, var(--lum-lamp) 16%, transparent);color:var(--lum-lampdeep)}
  .fs-lum-figs-in{grid-template-columns:repeat(2, minmax(0, 1fr));gap:32px 16px;padding-block:30px}
  .fs-lum-fig,.fs-lum-fig:first-child{padding:0;border-left:0}
  .fs-lum-fig-n{font-size:46px}
  .fs-lum-fig-l{max-width:none;font-size:13.5px}
  .fs-lum-downlights{padding-inline:20px}
  .fs-lum-sec{padding-block:44px}
  .fs-lum-head{gap:16px;margin-bottom:28px}
  .fs-lum-h2{font-size:38px;line-height:1.04}
  .fs-lum-bento-grid{grid-template-rows:220px;grid-auto-rows:170px;gap:10px}
  .fs-lum-tile{border-radius:18px}
  .fs-lum-tile.is-big{grid-row:span 1}
  .fs-lum-tile-b{gap:4px;padding:16px 18px}
  .fs-lum-tile-pr{font-size:12px}
  .fs-lum-tile-t{font-size:22px}
  .fs-lum-tile.is-big .fs-lum-tile-t{font-size:28px}
  .fs-lum-tile-p{font-size:13px}
  .fs-lum-feat-grid{gap:28px}
  .fs-lum-feat-fig{border-radius:20px}
  .fs-lum-price > b{font-size:38px}
  .fs-lum-steps{grid-template-columns:minmax(0, 1fr);row-gap:22px}
  .fs-lum-step{display:grid;grid-template-columns:56px minmax(0, 1fr);column-gap:12px;row-gap:4px;padding-top:14px}
  .fs-lum-step-n{grid-column:1;grid-row:1 / span 2;font-size:20px}
  .fs-lum-step-t,.fs-lum-step-b{grid-column:2}
  .fs-lum-step-t{font-size:24px}
  .fs-lum-step.is-nn{grid-template-columns:minmax(0, 1fr)}
  .fs-lum-step.is-nn .fs-lum-step-t,.fs-lum-step.is-nn .fs-lum-step-b{grid-column:1}
  .fs-lum-projs{grid-template-columns:minmax(0, 1fr);gap:28px}
  .fs-lum-proj{gap:12px}
  .fs-lum-proj-img{border-radius:18px}
  .fs-lum-proj-t{font-size:26px}
  .fs-lum-q-grid{gap:28px}
  .fs-lum-q-text{font-size:30px;line-height:1.2}
  .fs-lum-q-by{margin-top:20px}
  .fs-lum-q-grid.is-solo .fs-lum-q-side{grid-template-columns:minmax(0, 1fr)}
  .fs-lum-show-in{padding-block:64px;gap:18px}
  .fs-lum-show-shade{background:linear-gradient(180deg, color-mix(in srgb, var(--lum-abyss) 50%, transparent) 0%, color-mix(in srgb, var(--lum-abyss) 92%, transparent) 100%)}
  .fs-lum-show .fs-lum-h2{font-size:44px}
  .fs-lum-show-body{font-size:16.5px}
  .fs-lum-hours{gap:20px}
}

/* Motion (the theme's microAnimations) */
.fs-lum-anim .fs-lum-hero-photo img{transition:var(--fs-anim-lumScene, filter .9s ease);animation:var(--fs-anim-lumSettle, fs-lum-settle 2.4s cubic-bezier(.2,.7,.2,1) backwards)}
.fs-lum-anim .fs-lum-tint{transition:var(--fs-anim-lumScene, opacity .9s ease, background-color .9s ease)}
.fs-lum-anim .fs-lum-hero-copy > *,.fs-lum-anim .fs-lum-hero-rest > *,.fs-lum-anim .fs-lum-keypad{animation:var(--fs-anim-lumRise, fs-lum-rise .8s cubic-bezier(.2,.7,.2,1) backwards)}
.fs-lum-anim .fs-lum-hero-copy > :nth-child(2){animation-delay:.1s}
.fs-lum-anim .fs-lum-hero-rest > :nth-child(1){animation-delay:.18s}
.fs-lum-anim .fs-lum-hero-rest > :nth-child(2){animation-delay:.26s}
.fs-lum-anim .fs-lum-keypad{animation-delay:.34s}
.fs-lum-anim .fs-lum-kp-btn{transition:background-color .25s ease,border-color .25s ease,box-shadow .25s ease}
.fs-lum-anim .fs-lum-kp-btn i{transition:background-color .25s ease,box-shadow .25s ease}
.fs-lum-anim .fs-lum-btn{transition:transform .2s ease,box-shadow .3s ease}
.fs-lum-anim .fs-lum-btn:hover{transform:translateY(-2px)}
.fs-lum-anim .fs-lum-tile-photo img{transition:transform .8s ease}
.fs-lum-anim .fs-lum-tile:hover .fs-lum-tile-photo img{transform:var(--fs-anim-lumZoom, scale(1.04))}
.fs-lum-anim .fs-lum-proj-img img{transition:transform .8s ease}
.fs-lum-anim .fs-lum-proj:hover .fs-lum-proj-img img{transform:var(--fs-anim-lumZoom, scale(1.04))}
.fs-lum-anim .fs-lum-btn-lamp:hover{box-shadow:0 14px 40px -8px var(--lum-glow)}
.fs-lum-anim .fs-lum-downlights i{animation:var(--fs-anim-lumGlow, fs-lum-breathe 5.2s ease-in-out infinite)}
.fs-lum-anim .fs-lum-downlights i:nth-child(2n){animation-delay:-1.3s}
.fs-lum-anim .fs-lum-downlights i:nth-child(3n){animation-delay:-2.6s}
.fs-lum-anim .fs-lum-downlights i:nth-child(5n){animation-delay:-3.9s}
@keyframes fs-lum-settle{from{transform:scale(1.08)}to{transform:scale(1)}}
@keyframes fs-lum-breathe{0%,100%{opacity:1}50%{opacity:.55}}
@keyframes fs-lum-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion: reduce){
  .fs-lum *,.fs-lum *::before,.fs-lum *::after{animation:none !important;transition:none !important}
}


/* ── ROOT ───────────────────────────────────────────────────────
   theme.css body: background --hf-bg, colour --hf-ink, font-family
   --hf-font-body, 16px / 1.7. The .4s crossfade is the design's own
   "transition:background .5s ease" on every moded surface, kept a
   touch shorter to sit with the platform's mode switch. ── */
.fs-hf{
  position:relative;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
  font-family:var(--font-sans,Inter,system-ui,sans-serif);
  font-size:16px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  transition:background .4s cubic-bezier(.33,0,.15,1),color .4s cubic-bezier(.33,0,.15,1);
}
.fs-hf *{box-sizing:border-box;}
.fs-hf-wire{filter:grayscale(1) contrast(.5);}

/* ── THE MEASURE ────────────────────────────────────────────────
   theme.json layout.contentWidthPx 1160, gutter 48 (20 on mobile),
   and .hf-section padding 88px 0. --fs-layout-max comes FIRST so the
   customer's Site Settings choice beats the theme's designed measure;
   the chain is the documented one in shell-width.ts. ── */
.fs-hf-sec{
  max-width:var(--fs-layout-max, var(--fs-shell-max,1160px));
  margin:0 auto;
  padding:88px 48px;
  position:relative;
}
.fs-hf-sec-tight{padding-top:56px;padding-bottom:56px;}
/* .hf-section--surface and .hf-section--tinted. Bands paint on the
   BLOCK ROOT, outside the measure, because the export's band runs edge
   to edge and only its content is clamped. */
.fs-hf-band{background:rgb(var(--c-paper-soft));transition:background .4s cubic-bezier(.33,0,.15,1);}
.fs-hf-sunk{background:rgb(var(--c-paper-sunk, var(--c-paper-soft)));transition:background .4s cubic-bezier(.33,0,.15,1);}

/* ── TYPE ROLES ─────────────────────────────────────────────────
   theme.css lines 150-161, verbatim sizes, weights and tracking.
   H1 is var(--fs-h1) so a per-page headingPx still reaches it — the
   export runs 56 on home and 46 on the inner pages. ── */
.fs-hf-h1{
  font-family:var(--font-display,'Playfair Display',Georgia,serif);
  font-weight:600;font-size:var(--fs-h1,56px);line-height:1.06;
  letter-spacing:-0.01em;margin:0;text-wrap:pretty;
}
.fs-hf-h2{
  font-family:var(--font-display,'Playfair Display',Georgia,serif);
  font-weight:600;font-size:40px;line-height:1.12;
  letter-spacing:-0.005em;margin:0;text-wrap:pretty;
}
.fs-hf-h3{
  font-family:var(--font-display,'Playfair Display',Georgia,serif);
  font-weight:600;font-size:26px;line-height:1.2;margin:0;
}
/* The card headings the export sets inline at 19 and 21 — a real role
   in the markup even though theme.css does not name it. */
.fs-hf-h4{
  font-family:var(--font-display,'Playfair Display',Georgia,serif);
  font-weight:600;font-size:19px;line-height:1.25;margin:0;
}
.fs-hf-body-l{font-size:18px;line-height:1.7;margin:0;}
.fs-hf-body{font-size:16px;line-height:1.7;margin:0;}
.fs-hf-body-s{font-size:14px;line-height:1.65;margin:0;}
.fs-hf-muted{color:rgb(var(--c-ink-400));}
.fs-hf-accent{color:rgb(var(--c-accent));}
/* Manrope, the fourth role. var(--font-ui, inherit) so a theme that
   names no ui face keeps the body voice — see site-shell.ts. */
.fs-hf-eyebrow{
  font-family:var(--font-ui,inherit);
  font-weight:700;font-size:12px;line-height:1.3;letter-spacing:.16em;
  text-transform:uppercase;color:rgb(var(--c-accent));margin:0;
}
.fs-hf-label{
  font-family:var(--font-ui,inherit);
  font-weight:700;font-size:13px;line-height:1.3;letter-spacing:.04em;margin:0;
}

/* Section heads. pages.css: eyebrow is a block with 12px under it, the
   head has 34px under it, the lede is muted at a 62ch measure. */
.fs-hf-head{margin-bottom:34px;}
.fs-hf-head-c{text-align:center;}
.fs-hf-head .fs-hf-eyebrow{display:block;margin-bottom:12px;}
.fs-hf-lede{color:rgb(var(--c-ink-400));max-width:62ch;margin:14px 0 0;font-size:16px;line-height:1.7;}
.fs-hf-head-c .fs-hf-lede{margin-left:auto;margin-right:auto;}
/* Centred mode only centres h1/h2/h3 (site-layouts.ts), so the theme
   finishes the job for the clusters it owns — the head, the hero and
   the testimonial. THEME-PORT-CONTRACT §6, "expect this on every
   theme". */
.fs-hf-head-c > *{margin-left:auto;margin-right:auto;}

/* ── PRIMITIVES ─────────────────────────────────────────────────
   .hf-btn: 15px/30px pill, accent FILL with accent-ink label, Manrope
   700 15px. Hover LIFTS and shadows; it does not recolour, and the
   theme file records the measurement that says a recolour would fail
   AA on all five accents. Press is scale(.98). ── */
.fs-hf-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:15px 30px;min-height:44px;
  border:none;border-radius:var(--fs-radius-pill,999px);
  background:rgb(var(--c-brand-600));color:var(--fs-on-brand);
  font-family:var(--font-ui,inherit);font-weight:700;font-size:15px;line-height:1;
  letter-spacing:.01em;cursor:pointer;white-space:nowrap;text-decoration:none;
  transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease;
}
.fs-hf-anim .fs-hf-btn:hover{
  transform:var(--fs-anim-hfLift,translateY(-2px));
  box-shadow:0 14px 30px -10px rgb(var(--c-brand-600));
  text-decoration:none;
}
.fs-hf-anim .fs-hf-btn:active{transform:scale(.98);}
.fs-hf-btn-ghost{
  background:transparent;color:rgb(var(--c-ink-950));
  border:1.5px solid rgb(var(--c-line));
}
.fs-hf-anim .fs-hf-btn-ghost:hover{
  border-color:rgb(var(--c-accent));color:rgb(var(--c-accent));box-shadow:none;
}
.fs-hf-btn-sm{padding:11px 22px;font-size:13px;min-height:40px;}
/* The inverted button the CTA band and footer-B strip use: the design
   sets background:var(--hf-panel);color:var(--hf-ink) inline, so the
   button reads as the page ground punched out of the gradient. */
.fs-hf-btn-inv{background:rgb(var(--c-paper));color:rgb(var(--c-ink-950));}
.fs-hf-anim .fs-hf-btn-inv:hover{box-shadow:0 14px 30px -10px rgb(0 0 0 / .35);}

.fs-hf-card{
  background:rgb(var(--c-paper-sunk, var(--c-paper-soft)));
  border:1px solid rgb(var(--c-line));
  border-radius:var(--fs-radius-card,18px);
}
.fs-hf-card-i{transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s ease,border-color .3s ease;}
.fs-hf-anim .fs-hf-card-i:hover{
  transform:translateY(-5px);
  box-shadow:0 18px 34px -20px rgb(0 0 0 / .35);
  border-color:rgb(var(--c-brand-600));
}
.fs-hf-chip{
  display:inline-flex;align-items:center;gap:8px;
  padding:7px 16px;border-radius:var(--fs-radius-pill,999px);
  background:rgb(var(--c-brand-50));color:rgb(var(--c-accent));
  font-family:var(--font-ui,inherit);font-weight:700;font-size:12px;
  letter-spacing:.12em;text-transform:uppercase;margin:0;
}
/* The design's own inert form field. A real input would take the
   keystrokes an inline-editable label needs on the editor canvas, so
   every field here is a styled box carrying its placeholder as text. */
.fs-hf-input{
  display:block;width:100%;padding:13px 16px;
  border:1.5px solid rgb(var(--c-line));border-radius:var(--fs-radius-control,12px);
  background:rgb(var(--c-paper));color:rgb(var(--c-ink-400));
  font-family:var(--font-sans,Inter,system-ui,sans-serif);font-size:14px;line-height:1.4;
}
/* The media placeholder. The export draws every unfilled image as a
   150deg accent gradient rather than a grey box, and that IS the
   design's look on every page it ships. */
.fs-hf-media{
  position:relative;overflow:clip;
  border-radius:var(--fs-radius-media,24px);
  background:linear-gradient(150deg,rgb(var(--c-brand-600)),rgb(var(--c-accent)));
}
.fs-hf-media > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.fs-hf-media-ph{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  padding:16px;text-align:center;
  font-family:var(--font-ui,inherit);font-weight:700;font-size:12px;
  letter-spacing:.06em;text-transform:uppercase;color:var(--fs-on-brand);opacity:.85;
}
/* theme.css: .hf-media[data-shape=arched] is 190px 190px 26px 26px,
   and the mobile rule drops it to 130px 130px 20px 20px. */
.fs-hf-media-arched{border-radius:190px 190px 26px 26px;}
.fs-hf-media-square{border-radius:0;}
.fs-hf-rule{border:0;border-top:1px solid rgb(var(--c-line));margin:0;}

/* ── THE INK GROUND ─────────────────────────────────────────────
   Two surfaces in this design are dark in BOTH modes: the
   transformations section (#121214) and footer C (#181418 light,
   #0B0B0D dark). A constant near-black cannot come from a mode-flipping
   palette token, so it is DERIVED from one: the ink in light, and the
   page ground pushed further down in dark. That keeps it inside the
   palette (a charcoal accent site and a rose one both land somewhere
   sensible) instead of freezing two hexes into the platform. ── */
.fs-hf-ink-ground{
  background:rgb(var(--c-ink-950));
  color:rgb(var(--c-paper));
  transition:background .4s cubic-bezier(.33,0,.15,1);
}
.fs-hf-ink-ground:is(.dark *):not(.fs-preview-light *){
  background:color-mix(in srgb, rgb(var(--c-paper)) 62%, rgb(0 0 0));
  color:rgb(var(--c-ink-950));
}
@supports not (color: color-mix(in srgb, red, blue)){
  .fs-hf-ink-ground:is(.dark *):not(.fs-preview-light *){background:rgb(var(--c-paper));}
}
/* Muted text ON the ink ground. The design uses #A79FAD on the dark
   section and rgba(243,239,240,.72) in footer C — both a ~72% wash of
   the ground's own foreground, which is what this is. */
.fs-hf-ink-ground .fs-hf-muted{color:rgb(var(--c-paper) / .72);}
.fs-hf-ink-ground:is(.dark *):not(.fs-preview-light *) .fs-hf-muted{color:rgb(var(--c-ink-950) / .72);}
.fs-hf-ink-ground .fs-hf-eyebrow{color:rgb(var(--c-brand-600));}

/* ── HERO ───────────────────────────────────────────────────────
   pages.css .hf-hero: sunk ground, padding 88px 0 100px, overflow
   CLIP not hidden (hidden freezes every scroll-driven animation), a
   1.1fr / 1fr grid with a 64px gap, 440px of arched media, a 38px
   stat row, and the flow line pinned to the base.

   The split is ASYMMETRIC, so it is flex-wrap with a basis rather than
   auto-fit: 1.1fr / 1fr stacks when the copy column can no longer hold
   440px, which is the design's own answer at 390px. ── */
.fs-hf-hero{position:relative;overflow:clip;background:rgb(var(--c-paper-sunk, var(--c-paper-soft)));}
.fs-hf-hero .fs-hf-sec{padding-top:88px;padding-bottom:100px;}
.fs-hf-hero-grid{display:flex;flex-wrap:wrap;gap:64px;align-items:center;}
.fs-hf-hero-grid > .fs-hf-hero-copy{flex:1.1 1 440px;min-width:0;}
.fs-hf-hero-grid > .fs-hf-hero-mediawrap{flex:1 1 380px;min-width:0;position:relative;}
.fs-hf-hero-copy .fs-hf-h1{margin:22px 0;}
.fs-hf-hero-sub{max-width:46ch;margin:0 0 30px;color:rgb(var(--c-ink-400));font-size:18px;line-height:1.7;}
.fs-hf-hero-ctas{display:flex;gap:14px;flex-wrap:wrap;}
.fs-hf-hero-media{height:440px;}
/* NO flex-wrap, deliberately, and this is a measured decision. The
   export's .hf-hero__stats does not wrap either: at 390 the three
   stats SQUEEZE and their labels run onto two lines. Wrapping instead
   pushed the third stat onto a second row and left its 1px divider
   dangling at the end of the first — a rule pointing at nothing.
   min-width:0 is what lets a flex item actually shrink. */
.fs-hf-hero-stats{display:flex;gap:32px;margin-top:38px;}
.fs-hf-hero-stat{min-width:0;}
.fs-hf-hero-stat b{
  display:block;
  font-family:var(--font-display,'Playfair Display',Georgia,serif);
  font-weight:600;font-size:26px;line-height:1.2;
}
.fs-hf-hero-stat span{font-size:13px;color:rgb(var(--c-ink-400));}
.fs-hf-hero-div{width:1px;align-self:stretch;background:rgb(var(--c-line));}
.fs-hf-hero-wave{
  position:absolute;inset:auto 0 0 0;height:110px;
  color:rgb(var(--c-brand-600));opacity:.5;pointer-events:none;
}
.fs-hf-hero-wave svg{width:200%;height:110px;}
/* The badge card hangs 26px OUTSIDE the media column on the left, over
   the copy. Absolute against .fs-hf-hero-mediawrap. */
.fs-hf-hero-badge{
  position:absolute;left:-26px;bottom:30px;
  display:flex;align-items:center;gap:12px;
  padding:13px 17px;border:1px solid rgb(var(--c-line));border-radius:16px;
  background:rgb(var(--c-paper));box-shadow:0 16px 34px -18px rgb(0 0 0 / .3);
}
/* Centred layout — the schema's second option. The media keeps its
   place in the flow, and the badge cannot hang off a centred column,
   so it sits under the media the way the 390px page already does. */
.fs-hf-hero-c .fs-hf-hero-grid{flex-direction:column;text-align:center;}
.fs-hf-hero-c .fs-hf-hero-copy{flex:1 1 100%;}
/* Centred takes the media out of the split, so its 380px basis would
   leave a tall thin arch in the middle of a 1064px column. Released to
   the row and capped at the design's own media width. */
.fs-hf-hero-c .fs-hf-hero-mediawrap{flex:1 1 100%;max-width:560px;margin-inline:auto;}
.fs-hf-hero-c .fs-hf-hero-ctas,
.fs-hf-hero-c .fs-hf-hero-stats{justify-content:center;}
.fs-hf-hero-c .fs-hf-hero-sub{margin-left:auto;margin-right:auto;}
.fs-hf-hero-c .fs-hf-hero-badge{position:static;margin-top:14px;}
.fs-hf-hero-c .fs-hf-hero-div{display:none;}
/* Full — one column, no media, the copy released to the measure. */
.fs-hf-hero-f .fs-hf-hero-copy{flex:1 1 100%;}
.fs-hf-hero-f .fs-hf-hero-sub{max-width:62ch;}

/* ── TABS ───────────────────────────────────────────────────────
   pages.css .hf-tabs: an inline pill rail on the surface ground, the
   selected tab lifted onto the page ground with accent text. Inert on
   every surface — a tab is a link to /services?category=<slug> in the
   design, and a filter needs runtime state the editor freezes. ── */
.fs-hf-tabs{
  display:inline-flex;gap:6px;padding:5px;max-width:100%;
  border-radius:var(--fs-radius-pill,999px);background:rgb(var(--c-paper-soft));
  overflow-x:auto;
}
.fs-hf-tab{
  padding:9px 20px;border:none;border-radius:var(--fs-radius-pill,999px);
  background:transparent;color:rgb(var(--c-ink-400));
  font-family:var(--font-ui,inherit);font-weight:700;font-size:13px;
  white-space:nowrap;text-decoration:none;
}
.fs-hf-tab.is-on{
  background:rgb(var(--c-paper));color:rgb(var(--c-accent));
  box-shadow:0 4px 12px -6px rgb(0 0 0 / .3);
}
.fs-hf-tabs-row{display:flex;justify-content:center;margin-bottom:30px;}

/* ── SERVICES ───────────────────────────────────────────────────
   Two card shapes, both the design's own: the home page draws a
   STACKED card (icon block, name, description, price) three across,
   and the services page draws a ROW (icon left, name and price on one
   baseline, description and duration under) two across. Neither is a
   reflow of the other, so both are here and _shape picks. ── */
.fs-hf-svc-grid{
  display:grid;gap:14px;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--fs-hf-svc-floor,280px)),1fr));
}
/* The columns option moves the FLOOR, not a fixed track count, so the
   card still reflows on a narrowed measure. The floors are SOLVED for
   the design's own measure rather than guessed: the content column is
   1160 less the 48px gutters = 1064, gap 14, so N columns need
   floor <= (1064 - 14(N-1)) / N and N+1 columns must not fit.
     2 across  <= 525  and  > 345   -> 420   (services page, row cards)
     3 across  <= 345  and  > 255   -> 280   (home page, stacked cards)
     4 across  <= 252  and  > 201   -> 220
   A first attempt used 340 for "two across" and drew THREE, which is a
   layout-topology mismatch of the kind the contract names right after
   the section census. Measured on the rendered block, not reasoned. */
/* ── CATEGORY GROUPS ──
   services.html stacks FOUR lists, all visible, each opened by its own
   28px h2 with 56px above it and 18px under. The space is carried by
   the GROUP rather than the heading so a group whose heading is hidden
   (the first one) or unwritten still sits clear of the list above it —
   the export's own #add-ons wrapper does exactly this with a
   margin-top of 56 on the div and none on the h2. */
.fs-hf-svc-group + .fs-hf-svc-group{margin-top:56px;}
.fs-hf-svc-cat{
  font-family:var(--font-display,'Playfair Display',Georgia,serif);
  font-weight:600;font-size:28px;line-height:1.12;letter-spacing:-0.005em;
  margin:0 0 18px;text-wrap:pretty;
}
/* services.html closes the menu with a centred button, 40px under the
   last group. */
.fs-hf-svc-cta{text-align:center;margin-top:40px;}
.fs-hf-svc-grid-2{--fs-hf-svc-floor:420px;}
.fs-hf-svc-grid-3{--fs-hf-svc-floor:280px;}
.fs-hf-svc-grid-4{--fs-hf-svc-floor:220px;}
.fs-hf-svc{
  display:flex;align-items:center;gap:18px;padding:20px 24px;
  text-decoration:none;color:inherit;min-width:0;
}
.fs-hf-svc-stack{flex-direction:column;align-items:flex-start;gap:0;padding:26px;}
/* The add-on strip: name and price on one line in a shallower card,
   three across, no icon and no hover lift. The export drops
   .hf-card--interactive here, so this card does not pretend to be a
   link. MUST follow .fs-hf-svc — same specificity, and the 20/24
   service padding was winning on source order. */
.fs-hf-svc-mini{padding:16px 20px;}
.fs-hf-svc-mini .fs-hf-svc-body{width:100%;}
.fs-hf-svc-icon{
  flex:0 0 auto;display:flex;align-items:center;justify-content:center;
  width:46px;height:46px;border-radius:14px;
  background:rgb(var(--c-brand-50));color:rgb(var(--c-accent));
}
.fs-hf-svc-icon svg{width:22px;height:22px;}
.fs-hf-svc-stack .fs-hf-svc-icon{margin-bottom:16px;}
.fs-hf-svc-body{flex:1;min-width:0;}
.fs-hf-svc-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;}
.fs-hf-svc-price{
  font-family:var(--font-ui,inherit);font-weight:700;font-size:16px;
  color:rgb(var(--c-accent));white-space:nowrap;
}
.fs-hf-svc-meta{
  display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  margin-top:3px;font-size:13.5px;color:rgb(var(--c-ink-400));
}
/* home.html: the stacked card is a column — h3, an 8/14 description,
   then the price on its own line. .fs-hf-svc-body is a flex row's
   child in the ROW shape and must become a column here. */
.fs-hf-svc-stack .fs-hf-svc-body{display:flex;flex-direction:column;align-items:flex-start;}
.fs-hf-svc-stack .fs-hf-svc-desc{margin:8px 0 14px;font-size:14px;line-height:1.65;color:rgb(var(--c-ink-400));}
/* .hf-section__head on the home services band: h2 left, a small accent
   link right, both on the same baseline. */
.fs-hf-headrow{
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:20px;flex-wrap:wrap;margin-bottom:34px;
}
.fs-hf-link{
  font-family:var(--font-ui,inherit);font-weight:700;font-size:13px;
  letter-spacing:.04em;color:rgb(var(--c-accent));text-decoration:none;
}
.fs-hf-anim .fs-hf-link:hover{text-decoration:underline;}

/* ── RITUAL ─────────────────────────────────────────────────────
   The premium-blocks artboard: a 1fr / 1.1fr split with a 440px media
   collage on one side and the numbered steps on the other. Media panel
   A is inset 0 60px 60px 0; panel B is 55% square pinned bottom-right
   with a 6px band of the section ground around it; a sparkle sits at
   -18px, -18px. The connector line is a gradient from accent to
   transparent, which is why it is a background rather than a border. ── */
.fs-hf-rit-grid{display:flex;flex-wrap:wrap;gap:64px;align-items:center;}
.fs-hf-rit-grid > .fs-hf-rit-media{flex:1 1 380px;min-width:0;position:relative;height:440px;}
.fs-hf-rit-grid > .fs-hf-rit-copy{flex:1.1 1 400px;min-width:0;}
.fs-hf-rit-r{flex-direction:row-reverse;}
.fs-hf-rit-p1{position:absolute;inset:0 60px 60px 0;}
.fs-hf-rit-p2{position:absolute;right:0;bottom:0;width:55%;height:55%;border:6px solid rgb(var(--c-paper-soft));}
.fs-hf-rit-p3{position:absolute;left:0;bottom:0;width:34%;height:30%;border:6px solid rgb(var(--c-paper-soft));}
.fs-hf-rit-spark{position:absolute;left:-18px;top:-18px;width:64px;height:64px;color:rgb(var(--c-brand-600));pointer-events:none;}
.fs-hf-rit-intro{margin:12px 0 30px;font-size:16.5px;line-height:1.7;color:rgb(var(--c-ink-400));}
.fs-hf-steps{display:flex;flex-direction:column;}
.fs-hf-step{display:flex;gap:18px;padding-bottom:26px;}
.fs-hf-step:last-child{padding-bottom:0;}
.fs-hf-step-rail{display:flex;flex-direction:column;align-items:center;}
.fs-hf-step-mark{
  flex:0 0 auto;display:flex;align-items:center;justify-content:center;
  width:34px;height:34px;border-radius:50%;
  background:rgb(var(--c-brand-600));color:var(--fs-on-brand);
  font-family:var(--font-ui,inherit);font-weight:700;font-size:13px;
}
.fs-hf-step-dot{width:14px;height:14px;margin:10px;}
.fs-hf-step-line{width:2px;flex:1;margin-top:6px;background:linear-gradient(rgb(var(--c-brand-600)),transparent);}
.fs-hf-step-t{margin-top:5px;}
.fs-hf-step-d{margin-top:4px;font-size:14.5px;line-height:1.6;color:rgb(var(--c-ink-400));}
/* The about page draws the same four steps as a card row instead. */
.fs-hf-rit-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:14px;}
.fs-hf-rit-card{padding:26px;}
.fs-hf-rit-card .fs-hf-step-mark{margin-bottom:14px;}

/* ── STYLISTS ───────────────────────────────────────────────────
   pages.css .hf-stylist: overflow clip on the card, a 220px gradient
   portrait, body padding 18/20/22, name and rating on one baseline,
   role under, optional bio, then a full-width ghost button whose
   border and label take the accent. ── */
.fs-hf-sty-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--fs-hf-sty-floor,200px)),1fr));gap:18px;}
.fs-hf-sty-grid-3{--fs-hf-sty-floor:260px;}
.fs-hf-sty-grid-5{--fs-hf-sty-floor:170px;}
.fs-hf-sty{overflow:clip;display:flex;flex-direction:column;}
.fs-hf-sty-portrait{height:220px;border-radius:0;}
.fs-hf-sty-body{padding:18px 20px 22px;display:flex;flex-direction:column;flex:1;}
.fs-hf-sty-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px;}
.fs-hf-sty-rating{
  font-family:var(--font-ui,inherit);font-weight:700;font-size:12px;
  color:rgb(var(--c-accent));white-space:nowrap;
}
.fs-hf-sty-role{font-size:13px;color:rgb(var(--c-ink-400));margin:4px 0 10px;}
.fs-hf-sty-bio{font-size:13px;line-height:1.6;color:rgb(var(--c-ink-400));margin:0 0 14px;}
.fs-hf-sty-cta{
  margin-top:auto;width:100%;
  border-color:rgb(var(--c-brand-600));color:rgb(var(--c-accent));
}
/* The arched and inset portrait shapes the schema names. */
.fs-hf-sty-arched .fs-hf-sty-portrait{border-radius:130px 130px 20px 20px;margin:12px 12px 0;}
.fs-hf-sty-inset .fs-hf-sty-portrait{border-radius:var(--fs-radius-media,24px);margin:12px 12px 0;}

/* ── BEFORE / AFTER ─────────────────────────────────────────────
   The premium-blocks artboard, block 05. A 1fr / 1fr split on the ink
   ground: copy and filter pills left, a 420px stage right with the
   after image full-bleed, the before image clipped to the handle
   position, corner pills, a 3px accent divider carrying a 40px knob,
   and a caption row under it. The handle is a STATIC position here —
   dragging is runtime behaviour, and a live range input on the editor
   canvas would take the pointer events selection needs. ── */
.fs-hf-ba-grid{display:flex;flex-wrap:wrap;gap:64px;align-items:center;}
.fs-hf-ba-grid > *{flex:1 1 380px;min-width:0;}
.fs-hf-ba-body{margin:18px 0 28px;font-size:16.5px;line-height:1.7;}
.fs-hf-ba-tags{display:flex;gap:10px;flex-wrap:wrap;}
.fs-hf-ba-tag{
  padding:8px 16px;border-radius:var(--fs-radius-pill,999px);
  border:1px solid currentColor;opacity:.9;
  font-family:var(--font-ui,inherit);font-weight:600;font-size:12.5px;
}
.fs-hf-ba-stage{
  position:relative;height:420px;overflow:clip;
  border-radius:var(--fs-radius-media,22px);
  box-shadow:0 30px 60px -30px rgb(0 0 0 / .6);
}
/* The two placeholder grounds. The artboard draws neutral greys —
   before mid (#8B8188 -> #5A5158), after deep (#3E3438 -> #221A1B) —
   which are stand-ins for photographs, and their whole job is that
   AFTER reads deeper than BEFORE.

   Both are darkened mixes of the BRAND, not of the ink: --c-ink-950
   flips between modes, so an ink-derived "after" was near-black in
   light and near-white in dark, which inverted the pair. Measured in
   both modes on the rendered block. Brand does not flip. */
.fs-hf-ba-after,.fs-hf-ba-before{position:absolute;inset:0;}
.fs-hf-ba-after{
  background:linear-gradient(135deg,
    color-mix(in srgb, rgb(var(--c-brand-600)) 34%, rgb(0 0 0)),
    color-mix(in srgb, rgb(var(--c-brand-600)) 16%, rgb(0 0 0)));
}
.fs-hf-ba-before{
  background:linear-gradient(135deg,
    color-mix(in srgb, rgb(var(--c-brand-600)) 70%, rgb(0 0 0)),
    color-mix(in srgb, rgb(var(--c-brand-600)) 42%, rgb(0 0 0)));
  clip-path:inset(0 calc(100% - var(--fs-hf-ba,50%)) 0 0);
}
@supports not (color: color-mix(in srgb, red, blue)){
  .fs-hf-ba-after{background:rgb(var(--c-accent));}
  .fs-hf-ba-before{background:rgb(var(--c-brand-600));}
}
.fs-hf-ba-after > img,.fs-hf-ba-before > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
/* The corner pills sit on a PHOTOGRAPH, not on a ground, so they take
   the lighter end of the palette in BOTH modes rather than the ground's
   own foreground: --c-paper is white in light, and its dark-mode
   counterpart --c-ink-950 is near-white. The design's own values
   (#EFEAED and #B8AEB4) are the same idea with two literals, which the
   block-panel gate correctly refuses. */
.fs-hf-ba-pill{
  position:absolute;top:18px;padding:5px 12px;
  border-radius:var(--fs-radius-pill,999px);
  background:rgb(0 0 0 / .35);color:rgb(var(--c-paper));
  font-family:var(--font-ui,inherit);font-weight:600;font-size:12px;
  letter-spacing:.1em;text-transform:uppercase;
}
.fs-hf-ba-pill:is(.dark *):not(.fs-preview-light *){color:rgb(var(--c-ink-950));}
.fs-hf-ba-pill-a{right:18px;}
.fs-hf-ba-pill-b{left:18px;}
/* centred-captions: the same two words, centred over each half. */
.fs-hf-ba-caps-c .fs-hf-ba-pill{top:50%;transform:translateY(-50%);background:transparent;font-size:14px;}
.fs-hf-ba-caps-c .fs-hf-ba-pill-a{right:12%;}
.fs-hf-ba-caps-c .fs-hf-ba-pill-b{left:12%;}
.fs-hf-ba-handle{
  position:absolute;top:0;bottom:0;left:var(--fs-hf-ba,50%);
  width:3px;background:rgb(var(--c-brand-600));
  transform:translateX(-50%);pointer-events:none;
}
.fs-hf-ba-knob{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:40px;height:40px;border-radius:50%;
  background:rgb(var(--c-brand-600));color:var(--fs-on-brand);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 18px rgb(0 0 0 / .4);
}
.fs-hf-ba-caps{
  display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px;
  font-family:var(--font-ui,inherit);font-weight:600;font-size:12px;
}

/* ── TESTIMONIALS ───────────────────────────────────────────────
   The premium-blocks artboard, block 06. Centred head, then a 760px
   blush card with 44px/48px padding, a quote glyph half-outside the
   top edge, an italic Playfair quote, the name, the meta line, five
   stars, and a dot pager whose current dot is wider. ── */
.fs-hf-tst{text-align:center;}
.fs-hf-tst-card{
  position:relative;max-width:760px;margin:0 auto;
  padding:44px 48px;border-radius:var(--fs-radius-media,24px);
  background:rgb(var(--c-brand-50));
  transition:background .4s cubic-bezier(.33,0,.15,1);
}
.fs-hf-tst-plain{background:transparent;padding:0;}
.fs-hf-tst-card2{background:rgb(var(--c-paper-sunk, var(--c-paper-soft)));border:1px solid rgb(var(--c-line));}
.fs-hf-tst-l{text-align:left;}
.fs-hf-tst-l .fs-hf-tst-card{margin-left:0;}
.fs-hf-tst-mark{
  position:absolute;top:-20px;left:50%;transform:translateX(-50%);
  width:44px;height:44px;color:rgb(var(--c-brand-600));
}
.fs-hf-tst-l .fs-hf-tst-mark{left:44px;transform:none;}
.fs-hf-tst-quote{
  font-family:var(--font-display,'Playfair Display',Georgia,serif);
  font-weight:600;font-style:italic;font-size:24px;line-height:1.55;
  margin:6px 0 24px;text-wrap:pretty;
}
/* ONE LINE, middot-separated, matching the export's own single
   element: "cite class=hf-label" reading "Ellie M. · Balayage, first
   visit". The port drew these stacked in two voices - a bold 14px name
   over a muted 13px meta - which is a common testimonial treatment and
   is not this design's. Same label voice for both, because the design
   gives them the same one.

   Kept as TWO elements rather than one string so each half stays
   separately editable in the canvas; the separator is drawn by the meta
   so it cannot strand a leading middot when no meta is authored. */
.fs-hf-tst-name,
.fs-hf-tst-meta{display:inline;font-family:var(--font-ui,inherit);font-weight:700;font-size:13px;letter-spacing:.04em;color:rgb(var(--c-ink-950));}
.fs-hf-tst-meta::before{content:"·";margin:0 8px;color:rgb(var(--c-ink-400));}
.fs-hf-tst-stars{color:rgb(var(--c-brand-600));font-size:15px;letter-spacing:3px;margin-top:8px;}
.fs-hf-tst-av{
  width:44px;height:44px;border-radius:50%;margin:0 auto 12px;
  background:linear-gradient(135deg,rgb(var(--c-brand-600)),rgb(var(--c-accent)));
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display,'Playfair Display',Georgia,serif);
  font-weight:600;font-size:18px;color:var(--fs-on-brand);
}
.fs-hf-tst-l .fs-hf-tst-av{margin-left:0;}
.fs-hf-tst-dots{display:flex;gap:10px;justify-content:center;margin-top:26px;}
.fs-hf-tst-l .fs-hf-tst-dots{justify-content:flex-start;}
.fs-hf-tst-dot{
  width:9px;height:9px;border-radius:var(--fs-radius-pill,999px);border:none;
  background:rgb(var(--c-line));
  transition:all .4s cubic-bezier(.16,1,.3,1);
}
.fs-hf-tst-dot.is-on{width:26px;background:rgb(var(--c-brand-600));}

/* ── BOOKING CTA ────────────────────────────────────────────────
   The premium-blocks artboard, block 07: a 28px gradient panel with
   the brand swoosh watermarked at .18, 64px of padding and a 1.2fr /
   1fr grid — copy left, a quick-book card right. With the widget off
   it collapses to the home page's own .hf-cta band: one line of copy
   and a single inverted button. ── */
.fs-hf-cta{
  position:relative;overflow:clip;
  border-radius:26px;color:var(--fs-on-brand);
  background:linear-gradient(120deg,rgb(var(--c-brand-600)),rgb(var(--c-accent)));
}
.fs-hf-cta-solid{background:rgb(var(--c-brand-600));}
.fs-hf-cta-mark{position:absolute;right:-40px;top:-40px;width:340px;height:340px;opacity:.18;pointer-events:none;}
.fs-hf-cta-grid{position:relative;display:flex;flex-wrap:wrap;gap:48px;align-items:center;padding:64px;}
.fs-hf-cta-grid > .fs-hf-cta-text{flex:1.2 1 360px;min-width:0;}
.fs-hf-cta-grid > .fs-hf-qb{flex:1 1 300px;min-width:0;}
.fs-hf-cta-h{margin:12px 0 14px;}
.fs-hf-cta-body{margin:0;opacity:.85;font-size:16px;line-height:1.65;max-width:44ch;}
.fs-hf-cta-meta{
  display:flex;gap:26px;flex-wrap:wrap;margin-top:26px;
  font-family:var(--font-ui,inherit);font-weight:600;font-size:13px;
}
/* The band: .hf-cta at 56px, one row, wrapping. */
.fs-hf-cta-band{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;padding:56px;}
.fs-hf-cta-band > div{flex:1 1 260px;min-width:240px;}
.fs-hf-qb{
  display:flex;flex-direction:column;gap:12px;
  padding:26px;border-radius:20px;
  background:rgb(var(--c-paper));color:rgb(var(--c-ink-950));
  box-shadow:0 24px 48px -24px rgb(0 0 0 / .4);
}
.fs-hf-qb-t{font-family:var(--font-ui,inherit);font-weight:700;font-size:13px;}
.fs-hf-qb-sel{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:12px 14px;border:1.5px solid rgb(var(--c-line));
  border-radius:var(--fs-radius-control,12px);background:rgb(var(--c-paper-sunk, var(--c-paper-soft)));
  font-size:14px;
}
.fs-hf-qb-sel svg{width:14px;height:14px;flex:0 0 auto;color:rgb(var(--c-ink-400));}
.fs-hf-slots{display:flex;gap:8px;flex-wrap:wrap;}
.fs-hf-slot{
  flex:1 1 68px;padding:10px 4px;text-align:center;
  border:1.5px solid rgb(var(--c-line));border-radius:10px;background:transparent;
  color:rgb(var(--c-ink-400));
  font-family:var(--font-ui,inherit);font-weight:700;font-size:12.5px;
}
.fs-hf-slot.is-on{border-color:rgb(var(--c-brand-600));background:rgb(var(--c-brand-50));color:rgb(var(--c-accent));}
/* The confirm control: full width, accent fill, 14px padding — the
   artboard's own. NOT the inverted button the band outside uses; this
   card IS the page ground. */
.fs-hf-qb-cta{width:100%;padding:14px;font-size:14.5px;}

/* ── FOOTERS — shared furniture ─────────────────────────────────
   pages.css .hf-footer: a hairline top, ink links that hover to the
   accent, 38px circular socials, and a legal bar with 20px above the
   rule and 32px above that.

   The legal ROW is a platform obligation and renders in ALL THREE
   variant branches — the links come from legalFooterLinks(), never
   from the theme, and the design's own inert href="#" placeholders
   are deliberately NOT copied. ── */
.fs-hf-footer{border-top:1px solid rgb(var(--c-line));}
.fs-hf-footer a{color:inherit;text-decoration:none;}
.fs-hf-anim .fs-hf-footer a:hover{color:rgb(var(--c-accent));}
.fs-hf-socials{display:flex;gap:10px;flex-wrap:wrap;}
.fs-hf-social{
  display:flex;align-items:center;justify-content:center;
  width:38px;height:38px;flex:0 0 auto;
  border:1px solid rgb(var(--c-line));border-radius:50%;
  color:inherit;transition:all .3s ease;
}
.fs-hf-social svg{width:17px;height:17px;}
.fs-hf-anim .fs-hf-social:hover{
  background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));
  color:var(--fs-on-brand);transform:translateY(-2px);
}
.fs-hf-legal{
  display:flex;justify-content:space-between;align-items:center;
  gap:18px;flex-wrap:wrap;
  padding-top:20px;margin-top:32px;border-top:1px solid rgb(var(--c-line));
  font-size:12.5px;color:rgb(var(--c-ink-400));
}
.fs-hf-legal-links{display:flex;gap:18px;flex-wrap:wrap;}
.fs-hf-fwrap{
  max-width:var(--fs-layout-max, var(--fs-shell-max,1160px));
  margin:0 auto;padding-left:48px;padding-right:48px;
}

/* A · minimal — a centred 680px stack over a wave strip. */
.fs-hf-fa{position:relative;overflow:clip;padding:56px 0 30px;text-align:center;}
.fs-hf-fa-in{max-width:680px;margin:0 auto;}
.fs-hf-fa-wave{position:absolute;inset:0 0 auto 0;height:60px;color:rgb(var(--c-brand-600));opacity:.3;pointer-events:none;}
.fs-hf-fa-wave svg{width:200%;height:60px;}
/* logo/lockup.css ships two cuts: --stacked (footer A centres mark,
   wordmark and tagline in a column) and --sm (mark beside wordmark,
   which is what the header and footers B and C use). */
.fs-hf-fa-lock{display:flex;flex-direction:column;align-items:center;gap:6px;}
.fs-hf-lock-row{display:inline-flex;align-items:center;gap:10px;color:inherit;}
.fs-hf-fa-mark{width:44px;height:44px;color:rgb(var(--c-brand-600));}
.fs-hf-fa-word{
  font-family:var(--font-display,'Playfair Display',Georgia,serif);
  font-weight:600;font-size:24px;letter-spacing:.005em;
}
/* --sm is 20px against --stacked's 24 (logo/lockup.css:6,13). */
.fs-hf-lock-row .fs-hf-fa-word{font-size:20px;}
.fs-hf-fa-tag{font-size:13px;color:rgb(var(--c-ink-400));}
.fs-hf-fa-nav{display:flex;gap:28px;justify-content:center;flex-wrap:wrap;margin:26px 0;}
.fs-hf-fa .fs-hf-socials{justify-content:center;margin-top:28px;}
.fs-hf-fa .fs-hf-legal{justify-content:center;}

/* B · full info — an accent strip, four columns, a newsletter panel. */
.fs-hf-fb{background:rgb(var(--c-paper-soft));}
.fs-hf-fb-strip{
  display:flex;align-items:center;justify-content:space-between;
  gap:20px;flex-wrap:wrap;padding:18px 40px;
  background:linear-gradient(120deg,rgb(var(--c-brand-600)),rgb(var(--c-accent)));
  color:var(--fs-on-brand);
}
.fs-hf-fb-strip-t{display:flex;align-items:center;gap:11px;flex:1 1 240px;min-width:220px;}
.fs-hf-fb-strip svg{flex:0 0 auto;width:18px;height:18px;}
.fs-hf-fb-cols{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));
  gap:28px;padding:34px 0 0;
}
/* The design's own tracks are 1.5fr 1fr 1fr 1.1fr. Ported as auto-fit
   with a 180px floor rather than those literal fractions, because the
   fractions cannot survive a narrowed measure and the 390px artboard
   already stacks them to one column — a DEVIATION, and the reason is
   THEME-PORT-CONTRACT §6 rather than taste. The brand column keeps its
   extra weight through its own longer content, not through a track. */
.fs-hf-fb-col h3,.fs-hf-fb-col .fs-hf-fb-ct{
  font-family:var(--font-ui,inherit);font-weight:700;font-size:12px;
  letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--c-ink-400));
  margin:0 0 14px;
}
.fs-hf-fb-links{display:flex;flex-direction:column;gap:9px;font-size:13px;}
.fs-hf-fb-contact{display:flex;flex-direction:column;gap:10px;font-size:13px;color:rgb(var(--c-ink-400));}
.fs-hf-fb-contact > div{display:flex;gap:9px;}
.fs-hf-fb-contact svg{flex:0 0 auto;width:15px;height:15px;margin-top:3px;color:rgb(var(--c-accent));}
.fs-hf-fb-blurb{margin:11px 0 14px;font-size:14px;line-height:1.65;color:rgb(var(--c-ink-400));}
.fs-hf-fb-news{
  display:flex;align-items:center;justify-content:space-between;
  gap:22px;flex-wrap:wrap;margin-top:28px;padding:20px 24px;
  border-radius:16px;background:rgb(var(--c-paper));
}
.fs-hf-fb-news > div{flex:1 1 260px;min-width:240px;}
.fs-hf-fb-form{display:flex;gap:8px;flex:1 1 280px;min-width:260px;align-items:center;}
.fs-hf-fb-form .fs-hf-input{border-radius:var(--fs-radius-pill,999px);}

/* C · visual — an Instagram strip over four columns on the ink ground.
   Six tiles; the 390px page shows four, so tiles 5 and 6 drop by CSS
   at the tile grid's own floor rather than by a JS branch. */
.fs-hf-fc{border-top:0;}
.fs-hf-fc .fs-hf-fwrap{padding-top:26px;padding-bottom:26px;}
.fs-hf-fc-top{
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:16px;flex-wrap:wrap;margin-bottom:14px;
}
.fs-hf-fc-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(50%,104px),1fr));gap:8px;}
.fs-hf-fc-tile{
  aspect-ratio:1;border-radius:12px;overflow:clip;
  background:linear-gradient(150deg,rgb(var(--c-brand-600)),rgb(var(--c-accent)));
  transition:transform .3s cubic-bezier(.16,1,.3,1);
}
.fs-hf-anim .fs-hf-fc-tile:hover{transform:translateY(-3px);}
.fs-hf-fc-cols{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));
  gap:26px;align-items:start;padding-top:22px;margin-top:22px;
  border-top:1px solid rgb(var(--c-paper) / .28);
}
.fs-hf-fc-cols h3{
  font-family:var(--font-ui,inherit);font-weight:700;font-size:12px;
  letter-spacing:.14em;text-transform:uppercase;
  color:rgb(var(--c-paper) / .72);margin:0 0 12px;
}
.fs-hf-fc-card{padding:18px;border:1px solid rgb(var(--c-paper) / .28);border-radius:16px;background:rgb(255 255 255 / .06);}
.fs-hf-fc .fs-hf-social{border-color:rgb(var(--c-paper) / .28);}
.fs-hf-fc .fs-hf-legal{border-top-color:rgb(var(--c-paper) / .28);color:rgb(var(--c-paper) / .72);}
.fs-hf-fc .fs-hf-eyebrow{color:rgb(var(--c-brand-600));}
.fs-hf-fc .fs-hf-link{color:rgb(var(--c-brand-600));}
/* Dark mode flips the ground's foreground, so every wash of it flips
   with it. Same rule set, ink instead of paper. */
.fs-hf-fc-cols:is(.dark *):not(.fs-preview-light *){border-top-color:rgb(var(--c-ink-950) / .28);}
.fs-hf-fc:is(.dark *):not(.fs-preview-light *) .fs-hf-fc-cols h3{color:rgb(var(--c-ink-950) / .72);}
.fs-hf-fc:is(.dark *):not(.fs-preview-light *) .fs-hf-fc-card{border-color:rgb(var(--c-ink-950) / .28);background:rgb(255 255 255 / .06);}
.fs-hf-fc:is(.dark *):not(.fs-preview-light *) .fs-hf-social{border-color:rgb(var(--c-ink-950) / .28);}
.fs-hf-fc:is(.dark *):not(.fs-preview-light *) .fs-hf-legal{border-top-color:rgb(var(--c-ink-950) / .28);color:rgb(var(--c-ink-950) / .72);}
/* The 390px page shows FOUR tiles, not six. A display rule, not a
   branch — the markup is identical on both artboards, so the trim is
   the nth-child rule in the narrow block at the foot of this sheet.
   Deliberately NOT a container query: container-type applies
   contain:layout, which would make every section a containing block
   for absolutely-positioned descendants, and the hero badge card and
   the before/after handle both depend on not being contained
   (THEME-PORT-CONTRACT §6). */

/* ── ANIMATION ──────────────────────────────────────────────────
   theme.css keyframes, verbatim geometry. Every one is gated on
   .fs-hf-anim, which SectionRenderer sets only for the rich render
   style, so a wireframe or a thumbnail costs nothing. ── */
@keyframes fs-hf-wave{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes fs-hf-sparkle{0%,100%{transform:scale(.35);opacity:.15;}50%{transform:scale(1);opacity:1;}}
@keyframes fs-hf-float{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}
@keyframes fs-hf-rise{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:translateY(0);}}
@keyframes fs-hf-draw{0%{stroke-dashoffset:90;}50%{stroke-dashoffset:0;}100%{stroke-dashoffset:-90;}}
.fs-hf-anim .fs-hf-a-wave{animation:var(--fs-anim-hfWave,fs-hf-wave 14s linear infinite);}
.fs-hf-anim .fs-hf-a-sparkle{transform-box:fill-box;transform-origin:center;animation:var(--fs-anim-hfSparkle,fs-hf-sparkle 1.8s ease-in-out infinite);}
.fs-hf-anim .fs-hf-a-float{animation:var(--fs-anim-hfFloat,fs-hf-float 6s ease-in-out infinite);}
.fs-hf-anim .fs-hf-reveal{animation:var(--fs-anim-hfRise,fs-hf-rise .6s cubic-bezier(.16,1,.3,1) both);}
.fs-hf-anim .fs-hf-a-draw{stroke-dasharray:90;animation:var(--fs-anim-hfDraw,fs-hf-draw 2.8s ease-in-out infinite);}
/* The nav-style underline the design uses on its accent links. */
.fs-hf-under{position:relative;}
.fs-hf-under::after{
  content:"";display:block;height:2.5px;width:0;margin-top:5px;border-radius:2px;
  background:rgb(var(--c-brand-600));
  transition:width var(--fs-anim-hfUnderline,.3s cubic-bezier(.16,1,.3,1));
}
.fs-hf-anim .fs-hf-under:hover::after{width:100%;}

/* ════════════════════════════════════════════════════════════════
   THE INNER PAGES — pricing, FAQ, contact, journal, gallery, about
   intro and the booking flow. Everything below is measured from
   pages/*.html and css/pages.css the same way the sections above are.

   PER-SECTION MEASURE. Four of these pages clamp the wrap on the
   section itself: pricing 980, FAQ 780, book 860, and the rest run the
   theme's 1160. shellMaxPx is a PAGE fact, so the clamp lives on the
   block root here and is written as min(...) with the layout chain, so
   a customer who narrows the measure in Site Settings still wins and a
   customer who widens it does not blow the design's own column open.
   THEME-PORT-CONTRACT §8e records "maxWidth per section, not per theme"
   as a handover gap; this is the theme paying it locally.
   ── */
.fs-hf-m980 > .fs-hf-sec{max-width:min(var(--fs-layout-max, var(--fs-shell-max,1160px)),1076px);}
.fs-hf-m860 > .fs-hf-sec{max-width:min(var(--fs-layout-max, var(--fs-shell-max,1160px)),956px);}
.fs-hf-m780 > .fs-hf-sec{max-width:min(var(--fs-layout-max, var(--fs-shell-max,1160px)),876px);}
/* theme.css .hf-visually-hidden, verbatim. The pricing table's caption
   uses it: a table with no accessible name is a different table to a
   screen reader, and the design gives it one. */
.fs-hf-vh{
  position:absolute;width:1px;height:1px;margin:-1px;padding:0;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}
.fs-hf-center{text-align:center;}

/* ── PRICING TABLE ──────────────────────────────────────────────
   pages.css .hf-table: 16/26 cells, first column left and the rest
   right, an uppercase Manrope head band on the surface ground, a
   hairline between rows, the service name in Playfair 17 and the last
   column in accent Manrope 700.

   The radius moves from the table to a WRAPPER. The export puts
   border-radius and overflow on the table itself with
   border-collapse:collapse, which does not actually clip a collapsed
   table's corner cells; the wrapper does, and it is also the
   overflow-x:auto container a four-column table needs when Site
   Settings narrows the measure (THEME-PORT-CONTRACT §6, wide content
   scrolls inside its own container rather than pushing the page). ── */
.fs-hf-tblwrap{
  overflow-x:auto;
  border:1px solid rgb(var(--c-line));
  border-radius:var(--fs-radius-card,18px);
}
.fs-hf-tbl{width:100%;border-collapse:collapse;min-width:520px;}
.fs-hf-tbl th,.fs-hf-tbl td{padding:16px 26px;text-align:right;}
.fs-hf-tbl th:first-child,.fs-hf-tbl td:first-child{text-align:left;}
.fs-hf-tbl thead th{
  background:rgb(var(--c-paper-soft));
  font-family:var(--font-ui,inherit);font-weight:700;font-size:12px;
  letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--c-ink-400));
}
.fs-hf-tbl tbody tr{border-top:1px solid rgb(var(--c-line));}
.fs-hf-tbl tbody td{font-size:14.5px;color:rgb(var(--c-ink-400));}
.fs-hf-tbl tbody td:first-child{
  font-family:var(--font-display,'Playfair Display',Georgia,serif);
  font-weight:600;font-size:17px;color:rgb(var(--c-ink-950));
}
.fs-hf-tbl tbody td:last-child{
  font-family:var(--font-ui,inherit);font-weight:700;color:rgb(var(--c-accent));
}
.fs-hf-note{margin-top:18px;}
.fs-hf-ctarow{margin-top:26px;}

/* ── FAQ ACCORDION ──────────────────────────────────────────────
   pages.css .hf-acc. Styled by CLASS rather than by element, because
   the block renders real details/summary when nobody is editing and
   inert divs on the editor canvas — a summary that toggles under the
   pointer takes the clicks its own inline-editable question needs.
   Same rule set reaches both, so the two are the same drawing. ── */
.fs-hf-acc{border-top:1px solid rgb(var(--c-line));}
.fs-hf-acc-item{border-bottom:1px solid rgb(var(--c-line));}
.fs-hf-acc-q{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:20px 4px;cursor:pointer;list-style:none;
  font-family:var(--font-display,'Playfair Display',Georgia,serif);
  font-weight:600;font-size:18px;line-height:1.3;margin:0;
}
.fs-hf-acc-q::-webkit-details-marker{display:none;}
.fs-hf-acc-q::marker{content:"";}
.fs-hf-acc-q::after{
  content:"+";flex:0 0 auto;
  font-family:var(--font-ui,inherit);font-weight:700;font-size:18px;
  color:rgb(var(--c-accent));
  transition:transform .3s cubic-bezier(.34,1.56,.64,1);
}
.fs-hf-acc-item[open] > .fs-hf-acc-q,
.fs-hf-acc-item.is-on > .fs-hf-acc-q{color:rgb(var(--c-accent));}
.fs-hf-acc-item[open] > .fs-hf-acc-q::after,
.fs-hf-acc-item.is-on > .fs-hf-acc-q::after{transform:rotate(45deg);}
.fs-hf-acc-a{padding:0 4px 20px;margin:0;font-size:14.5px;line-height:1.7;color:rgb(var(--c-ink-400));}

/* ── CONTACT ────────────────────────────────────────────────────
   pages.css .hf-split is 1fr / 1.1fr with a 20px gap: the Hours card,
   the Reach us card and the map placeholder stacked LEFT, the "Send a
   note" form RIGHT. ASYMMETRIC, so flex-wrap with a basis rather than
   auto-fit — the basis IS the stack point, and it responds to the
   element's own width rather than to the window.

   The reach rows reuse .fs-hf-fb-contact, which is not a shortcut: the
   export's contact page literally sets class="hf-footer--b__contact"
   on them, so it is the same component in the design too. ── */
.fs-hf-split{display:flex;flex-wrap:wrap;gap:20px;align-items:stretch;}
.fs-hf-split > .fs-hf-ct-info{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:14px;}
.fs-hf-split > .fs-hf-ct-form{flex:1.1 1 340px;min-width:0;}
.fs-hf-split-r{flex-direction:row-reverse;}
.fs-hf-split-1 > .fs-hf-ct-info,.fs-hf-split-1 > .fs-hf-ct-form{flex:1 1 100%;}
.fs-hf-ct-card{padding:26px;}
/* The export marks these h2 with class "hf-eyebrow hf-muted" — a real
   heading wearing the eyebrow's type at the MUTED ink rather than the
   accent. Kept as written: it is what separates the three sections. */
.fs-hf-ct-h{color:rgb(var(--c-ink-400));margin:0 0 12px;}
.fs-hf-defs{display:flex;flex-direction:column;gap:9px;}
.fs-hf-defs > div{display:flex;justify-content:space-between;gap:12px;font-size:14.5px;}
.fs-hf-defs b{font-family:var(--font-ui,inherit);font-weight:700;}
.fs-hf-ct-map{
  flex:1;min-height:160px;padding:26px;
  display:flex;align-items:center;justify-content:center;text-align:center;
  background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-400));
}
.fs-hf-ct-map svg{margin:0 auto 6px;color:rgb(var(--c-ink-400));}
.fs-hf-ct-form{padding:32px;display:flex;flex-direction:column;gap:14px;}
.fs-hf-field{display:flex;flex-direction:column;gap:7px;}
.fs-hf-field-l{font-family:var(--font-ui,inherit);font-weight:700;font-size:12.5px;line-height:1.3;}
/* pages.css hf-grid--2 is two fixed tracks; auto-fit with a floor is the
   same two columns at the design's width and one when the card narrows,
   which is what the 390px artboard draws. */
.fs-hf-fgrid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:12px;}
.fs-hf-input-area{min-height:132px;}

/* ── JOURNAL CARDS ──────────────────────────────────────────────
   pages.css .hf-post: a 170px gradient cover with the tag sitting on
   its base, then a 20/22/24 body — title, excerpt, byline.
   Floors solved for the 1064px content column at gap 14, the same way
   the service grid's are: 3 across needs <= 345 and 4 must not fit
   (> 255) -> 300; 2 across needs <= 525 and 3 must not fit -> 420. ── */
.fs-hf-post-grid{
  display:grid;gap:14px;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--fs-hf-post-floor,300px)),1fr));
}
.fs-hf-post-grid-2{--fs-hf-post-floor:420px;}
.fs-hf-post{overflow:clip;display:flex;flex-direction:column;padding:0;}
.fs-hf-post-cover{height:170px;display:flex;align-items:flex-end;padding:16px;border-radius:0;flex:0 0 auto;}
/* The tag sits ON the gradient with NO scrim. The design's own colour
   here is #FFFFFF rather than the accent-ink it uses on a flat fill, so
   this follows the tile label rather than the media placeholder: the
   lighter end of the palette in both modes. --fs-on-brand was tried
   first and measured WORSE against the gradient (~2.7:1 vs ~3.9:1 on
   its darker end), as well as being a different drawing.
   DEVIATION: the export draws this at 11.5px. The platform's type floor
   is 12 (npm run check:type-scale) and a gate beats the design
   (THEME-PORT-CONTRACT §4 reason 1), so it ships at 12. It is the only
   sub-12 value in the whole HairFlow export. */
.fs-hf-post-tag{
  position:relative;
  font-family:var(--font-ui,inherit);font-weight:700;font-size:12px;
  letter-spacing:.08em;text-transform:uppercase;color:rgb(var(--c-paper));
}
.fs-hf-post-tag:is(.dark *):not(.fs-preview-light *){color:rgb(var(--c-ink-950));}
.fs-hf-post-body{padding:20px 22px 24px;display:flex;flex-direction:column;flex:1;}
.fs-hf-post-t{font-size:20px;}
.fs-hf-post-d{margin:10px 0 14px;font-size:14px;line-height:1.65;color:rgb(var(--c-ink-400));}
.fs-hf-post-m{
  margin:auto 0 0;
  font-family:var(--font-ui,inherit);font-weight:600;font-size:12px;
  color:rgb(var(--c-ink-400));
}
/* The chip rail both the journal and the gallery hang above their grid.
   They are two DIFFERENT drawings and both are the design's own: the
   journal uses the bare .hf-tab pill (no container, selected one lifted
   onto the page ground), the gallery gives every chip a 1.5px border
   and tints the selected one. */
.fs-hf-chiprow{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:28px;}
.fs-hf-fchip{
  padding:9px 20px;
  border:1.5px solid rgb(var(--c-line));border-radius:var(--fs-radius-pill,999px);
  background:transparent;color:rgb(var(--c-ink-400));
  font-family:var(--font-ui,inherit);font-weight:700;font-size:13px;line-height:1.3;
  white-space:nowrap;text-decoration:none;cursor:pointer;
  transition:border-color .3s ease,background .3s ease,color .3s ease;
}
.fs-hf-fchip.is-on{
  border-color:rgb(var(--c-brand-600));
  background:rgb(var(--c-brand-50));
  color:rgb(var(--c-accent));
}

/* ── GALLERY TILES ──────────────────────────────────────────────
   pages.css .hf-tile: a 300px gradient tile with the label on a dark
   scrim along its base. Floors solved as above: 3 across -> 300,
   2 -> 420, 4 -> 240. ── */
.fs-hf-tile-grid{
  display:grid;gap:14px;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--fs-hf-tile-floor,300px)),1fr));
}
.fs-hf-tile-grid-2{--fs-hf-tile-floor:420px;}
.fs-hf-tile-grid-4{--fs-hf-tile-floor:240px;}
.fs-hf-tile{
  position:relative;display:block;overflow:clip;height:300px;
  border-radius:var(--fs-radius-card,18px);
  background:linear-gradient(150deg,rgb(var(--c-brand-600)),rgb(var(--c-accent)));
  text-decoration:none;color:inherit;
}
/* The label sits on a black scrim over a PHOTOGRAPH, not on a ground,
   so it takes the lighter end of the palette in both modes — the same
   reasoning as the before/after corner pills, and the same flip. */
.fs-hf-tile-l{
  position:absolute;inset:auto 0 0 0;padding:14px 16px;
  font-family:var(--font-ui,inherit);font-weight:700;font-size:12px;
  letter-spacing:.06em;text-transform:uppercase;
  color:rgb(var(--c-paper));
  background:linear-gradient(transparent,rgb(0 0 0 / .55));
}
.fs-hf-tile-l:is(.dark *):not(.fs-preview-light *){color:rgb(var(--c-ink-950));}
.fs-hf-tile-empty{
  padding:34px 20px;text-align:center;
  font-family:var(--font-ui,inherit);font-weight:600;font-size:14px;
  color:rgb(var(--c-ink-400));
}

/* ── PROSE INTRO ────────────────────────────────────────────────
   pages/about.html section 1: .hf-split at a 64px gap with the copy
   left and a 420px media panel right. The tracks are 1fr / 1.1fr, so
   the MEDIA carries the extra weight, not the copy. Asymmetric, so
   flex-wrap with a basis. ── */
.fs-hf-prose-grid{display:flex;flex-wrap:wrap;gap:64px;align-items:center;}
.fs-hf-prose-grid > .fs-hf-prose-copy{flex:1 1 360px;min-width:0;}
.fs-hf-prose-grid > .fs-hf-prose-media{flex:1.1 1 360px;min-width:0;height:420px;}
.fs-hf-prose-r{flex-direction:row-reverse;}
.fs-hf-prose-copy .fs-hf-h1{margin:12px 0 18px;}
.fs-hf-prose-p{margin:0 0 14px;font-size:18px;line-height:1.7;color:rgb(var(--c-ink-400));}
.fs-hf-prose-p:last-child{margin-bottom:0;}
/* Without the panel the copy is released to the measure and capped at a
   readable line — the design never draws this, so it is a deliberate
   arrangement rather than a reflow of the split. */
.fs-hf-prose-solo > .fs-hf-prose-copy{flex:1 1 100%;}
.fs-hf-prose-solo .fs-hf-prose-p{max-width:68ch;}

/* ── BOOKING FLOW ───────────────────────────────────────────────
   pages/book.html + pages.css .hf-steps-bar / .hf-slots. One 34px card
   holding three fieldsets, a progress rail above it, and the
   confirmation specimen card below.

   Floors solved for the book page's own column and then CORRECTED on
   the rendered block, which is the only reason they are right: the
   clamp is 956 including its own 48px gutters, so the card is 860 and
   its inner width 792 — not the 696 the first pass reasoned out. A
   240px floor drew the services THREE across against a design that
   draws two (pages/book.html uses hf-grid--2), which is the layout-
   topology mismatch the contract names right after the section census.
     services  2 across  gap 12 -> (792-12)/2 = 390, 3 needs <= 256 -> 300
     stylists  4 across  gap 12 -> (792-36)/4 = 189, 5 needs <= 148 -> 160
   ── */
.fs-hf-bk-rail{
  display:flex;align-items:center;justify-content:center;flex-wrap:wrap;
  gap:0;margin:0 0 34px;padding:0;list-style:none;
}
.fs-hf-bk-rail-i{display:flex;align-items:center;gap:10px;}
.fs-hf-bk-num{
  flex:0 0 auto;display:flex;align-items:center;justify-content:center;
  width:34px;height:34px;border-radius:50%;
  border:1.5px solid rgb(var(--c-line));
  font-family:var(--font-ui,inherit);font-weight:700;font-size:13px;
  color:rgb(var(--c-ink-400));
}
.fs-hf-bk-rail-i.is-on .fs-hf-bk-num{
  background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));
  color:var(--fs-on-brand);
}
.fs-hf-bk-rail-i.is-on .fs-hf-bk-lbl{color:rgb(var(--c-ink-950));}
.fs-hf-bk-lbl{color:rgb(var(--c-ink-400));}
.fs-hf-bk-rule{flex:0 0 auto;width:56px;height:2px;margin:0 16px;background:rgb(var(--c-line));}
.fs-hf-bk-card{padding:34px;}
.fs-hf-bk-fs{border:0;padding:0;margin:0 0 26px;min-width:0;}
.fs-hf-bk-fs-last{margin-bottom:0;}
/* A legend is not a flow box in every engine, so the eyebrow's own
   margin is set here rather than relied on. */
.fs-hf-bk-legend{padding:0;margin:0 0 12px;color:rgb(var(--c-ink-400));}
.fs-hf-bk-grid{
  display:grid;gap:12px;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--fs-hf-bk-floor,300px)),1fr));
}
.fs-hf-bk-grid-sty{--fs-hf-bk-floor:160px;}
.fs-hf-bk-opt{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  width:100%;padding:18px 20px;text-align:left;cursor:pointer;
  color:inherit;font:inherit;
}
.fs-hf-bk-opt-l{display:flex;align-items:center;gap:10px;min-width:0;}
.fs-hf-bk-n{
  font-family:var(--font-display,'Playfair Display',Georgia,serif);
  font-weight:600;font-size:17px;line-height:1.25;
}
.fs-hf-bk-p{
  font-family:var(--font-ui,inherit);font-weight:700;font-size:16px;
  color:rgb(var(--c-accent));white-space:nowrap;
}
/* The export draws a real radio beside every service name and a
   visually-hidden one on the stylist tiles. Drawn here rather than
   rendered as an input for the reason every control in this family is:
   a live input on the editor canvas swallows the clicks the label
   beside it needs. */
.fs-hf-bk-dot{
  position:relative;flex:0 0 auto;width:16px;height:16px;border-radius:50%;
  border:1.5px solid rgb(var(--c-line));
}
.fs-hf-bk-sel{border-color:rgb(var(--c-brand-600));background:rgb(var(--c-brand-50));}
.fs-hf-bk-sel .fs-hf-bk-dot{border-color:rgb(var(--c-brand-600));}
.fs-hf-bk-sel .fs-hf-bk-dot::after{
  content:"";position:absolute;inset:3px;border-radius:50%;
  background:rgb(var(--c-brand-600));
}
.fs-hf-bk-sty{
  display:flex;flex-direction:column;align-items:center;gap:10px;
  width:100%;padding:20px 12px;text-align:center;cursor:pointer;
  color:inherit;font:inherit;
}
.fs-hf-bk-av{
  flex:0 0 auto;display:flex;align-items:center;justify-content:center;
  width:56px;height:56px;border-radius:50%;
  background:linear-gradient(135deg,rgb(var(--c-brand-600)),rgb(var(--c-accent)));
  color:var(--fs-on-brand);
  font-family:var(--font-display,'Playfair Display',Georgia,serif);
  font-weight:600;font-size:20px;line-height:1;
}
.fs-hf-bk-role{font-size:14px;line-height:1.65;color:rgb(var(--c-ink-400));}
.fs-hf-bk-days{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;}
.fs-hf-bk-day{
  flex:1 1 86px;min-width:86px;padding:12px 8px;text-align:center;
  cursor:pointer;color:inherit;font:inherit;
}
.fs-hf-bk-day-d{display:block;color:rgb(var(--c-ink-400));}
.fs-hf-bk-day-n{
  display:block;
  font-family:var(--font-display,'Playfair Display',Georgia,serif);
  font-weight:600;font-size:19px;line-height:1.2;
}
.fs-hf-bk-actions{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:28px;}
.fs-hf-bk-conf{
  padding:26px;margin-top:20px;text-align:center;
  border-color:rgb(var(--c-brand-600));background:rgb(var(--c-brand-50));
}
.fs-hf-bk-conf .fs-hf-step-mark{width:44px;height:44px;margin:0 auto 12px;}
.fs-hf-bk-conf-b{margin:8px 0 0;}

/* ── NARROW ─────────────────────────────────────────────────────
   The design's own 390px artboard. These are the values from
   body.hf-mobile in pages.css: the gutter drops to 20, sections to 44,
   the hero to 34/44, the arch to 130px, and the type steps down. They
   are WINDOW rules because they are about a phone, not about a
   narrowed measure — every measure-sensitive rule above is already
   auto-fit or flex-basis. ── */
@media (max-width:900px){
  .fs-hf-cta-grid{padding:40px;gap:32px;}
  .fs-hf-cta-band{padding:34px;}
}
@media (max-width:640px){
  .fs-hf-sec{padding:44px 20px;}
  .fs-hf-fwrap{padding-left:20px;padding-right:20px;}
  .fs-hf-hero .fs-hf-sec{padding-top:34px;padding-bottom:44px;}
  .fs-hf-h1{font-size:clamp(28px,9vw,34px);}
  .fs-hf-h2{font-size:27px;}
  .fs-hf-h3{font-size:21px;}
  .fs-hf-body-l,.fs-hf-hero-sub{font-size:16px;}
  .fs-hf-hero-grid,.fs-hf-rit-grid,.fs-hf-ba-grid{gap:26px;}
  .fs-hf-hero-media{height:280px;}
  .fs-hf-hero-stats{gap:18px;margin-top:26px;}
  .fs-hf-hero-badge{position:static;left:auto;bottom:auto;margin-top:14px;}
  .fs-hf-media-arched{border-radius:130px 130px 20px 20px;}
  .fs-hf-svc{padding:16px;gap:14px;}
  .fs-hf-svc-meta{flex-direction:column;gap:2px;align-items:flex-start;}
  .fs-hf-cta-grid{padding:26px 20px;gap:18px;}
  .fs-hf-cta-band{padding:26px 20px;gap:18px;}
  .fs-hf-tst-card{padding:26px 20px;}
  .fs-hf-tst-quote{font-size:20px;}
  .fs-hf-ba-stage{height:300px;}
  .fs-hf-rit-media{height:320px;}
  .fs-hf-fb-strip{padding:14px 20px;}
  .fs-hf-fb-cols{gap:22px;}
  .fs-hf-fa{padding:34px 0 22px;}
  .fs-hf-fa-nav{display:grid;grid-template-columns:1fr 1fr;gap:12px 8px;}
  .fs-hf-fc-tile:nth-child(n+5){display:none;}
  /* body.hf-mobile in pages.css, for the inner pages. */
  .fs-hf-tbl th,.fs-hf-tbl td{padding:11px 12px;font-size:12.5px;}
  .fs-hf-tbl tbody td:first-child{font-size:14px;}
  .fs-hf-tbl{min-width:420px;}
  .fs-hf-acc-q{font-size:16.5px;}
  .fs-hf-prose-grid{gap:26px;}
  .fs-hf-prose-media{height:280px;}
  .fs-hf-prose-p{font-size:16px;}
  .fs-hf-tile{height:210px;}
  .fs-hf-ct-form{padding:22px;}
  .fs-hf-ct-card{padding:20px;}
  .fs-hf-bk-card{padding:22px 18px;}
  .fs-hf-bk-rule{width:20px;margin:0 8px;}
  .fs-hf-bk-opt{padding:14px 16px;}
}

/* ── REDUCED MOTION ─────────────────────────────────────────────
   theme.css states it exactly this way: everything collapses to
   .01ms and runs once, and the rise resolves to its END state rather
   than to nothing — a reveal that animates to opacity 0 and stops is
   the stranding bug page-entrance.ts exists to prevent. ── */
@media (prefers-reduced-motion: reduce){
  .fs-hf *,.fs-hf *::before,.fs-hf *::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
  .fs-hf-anim .fs-hf-reveal{animation:none !important;opacity:1 !important;transform:none !important;}
  .fs-hf-anim .fs-hf-btn:hover,
  .fs-hf-anim .fs-hf-card-i:hover,
  .fs-hf-anim .fs-hf-social:hover,
  .fs-hf-anim .fs-hf-fc-tile:hover{transform:none !important;}
}

/* ══ MEGA-MENU COMPOSITES ══════════════════════════════════════
   The three panels from the kit's menus/ folder, transplanted by
   scripts/port-menu.mjs. Everything below this line is GENERATED —
   re-run the generator rather than editing it here:

     node scripts/port-menu.mjs scripts/menu-designs/hairflow-mN.html mN        --theme=hairflow --prefix=fs-hf-

   Three things about it that are decisions, not accidents:

   - The kit's own classes are carried under fs-hf-, so a rule the
     designer wrote as .menu-card is .fs-hf-menu-card here. The design's
     names are generic enough to collide live (.frame, .nav, .panel,
     .menu-card); the fs-cr- clash between Hale and Almanac is the
     standing example of what that costs.
   - Sizes below 12px were raised to 12 and the line-height pinned to
     the box the design drew. That is check-type-scale's floor and the
     owner's WCAG-AA-over-fidelity call, applied by the generator so it
     survives the next regeneration. The menu-card "New" badge is drawn
     at 8px and is the largest of these jumps.
   - --hf-panel maps to --c-paper. The kit has a FOURTH ground the
     platform does not emit; in light mode it is identical to the page
     (#FFFFFF) and in dark it lifts very slightly (#1A191E vs #121214),
     so the lift is what is lost. A literal would have kept it and
     frozen the panel against every recolour and both modes.
   ── */

/* The design's inherited context, re-established at the panel root.
   Every value below is one the kit set on <body> and its descendants
   relied on without restating. */
[data-fs-theme='hairflow'] .fs-hf-wrap {
  font-family:Inter, system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-size:16px;
  font-weight:initial;
  font-style:initial;
  line-height:1.7;
  letter-spacing:initial;
  word-spacing:initial;
  color:rgb(var(--c-ink-950));
  text-transform:initial;
  font-variant-numeric:initial;
}

/* The design's inheritance model, re-established for descendants.
   Inheritance never beats a direct declaration, so a root baseline
   alone cannot undo a platform rule that targets a bare tag. */
[data-fs-theme='hairflow'] .fs-hf-wrap *:not(button):not(input):not(select):not(textarea) {
  line-height:inherit;
  letter-spacing:inherit;
  word-spacing:inherit;
  text-transform:inherit;
  font-variant-numeric:inherit;
}

/* What the UA gives a form control on the design page, said out
   loud, because the port's CSS reset does not give the same thing. */
[data-fs-theme='hairflow'] .fs-hf-wrap :is(button,input,select,textarea) {
  line-height:normal;
}

[data-fs-theme='hairflow'] .fs-hf-wrap *,
[data-fs-theme='hairflow'] .fs-hf-wrap *::before,
[data-fs-theme='hairflow'] .fs-hf-wrap *::after {
  box-sizing: border-box;
}

[data-fs-theme='hairflow'] .fs-hf-wrap a {
  color: rgb(var(--c-accent));
  text-decoration: none;
}

[data-fs-theme='hairflow'] .fs-hf-wrap a:hover {
  text-decoration: underline;
}

[data-fs-theme='hairflow'] .fs-hf-wrap img,
[data-fs-theme='hairflow'] .fs-hf-wrap svg {
  display: block;
  max-width: 100%;
}

[data-fs-theme='hairflow'] .fs-hf-wrap :focus-visible {
  outline: 3px solid rgb(var(--c-accent));
  outline-offset: 2px;
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-hf-h3 {
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
  font-weight: 600;
  font-size: 26px;
  line-height: 1.2;
  margin: 0;
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-hf-body-s {
  font-size: 14px;
  line-height: 1.65;
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-hf-eyebrow {
  font-family: Manrope, 'Helvetica Neue', Arial, sans-serif;
  font-weight: 700;
  font-size: 12px;
  line-height: 1.3;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-hf-label {
  font-family: Manrope, 'Helvetica Neue', Arial, sans-serif;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.3;
  letter-spacing: 0.04em;
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-hf-muted {
  color: rgb(var(--c-ink-400));
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-hf-accent {
  color: rgb(var(--c-accent));
}

@media (max-width: 640px) {
  [data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-hf-h3 {
    font-size: 21px;
  }
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-hf-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 15px 30px;
  border: none;
  border-radius: 999px;
  background: rgb(var(--c-brand-600));
  color: var(--fs-on-brand);
  font-family: Manrope, 'Helvetica Neue', Arial, sans-serif;
  font-weight: 700;
  font-size: 15px;
  cursor: pointer;
  text-decoration: none;
  transition: transform 300ms cubic-bezier(.34, 1.56, .64, 1), box-shadow 300ms ease;
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-hf-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px -10px rgb(var(--c-brand-600));
  text-decoration: none;
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-hf-btn:active {
  transform: scale(.98);
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-hf-btn--sm {
  padding: 11px 22px;
  font-size: 13px;
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-hf-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 16px;
  border-radius: 999px;
  background: rgb(var(--c-brand-50));
  color: rgb(var(--c-accent));
  font-family: Manrope, 'Helvetica Neue', Arial, sans-serif;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-hf-anim-sparkle {
  transform-box: fill-box;
  transform-origin: center;
  animation: fs-hf-hf-sparkle 1.8s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
  [data-fs-theme='hairflow'] .fs-hf-wrap *,
  [data-fs-theme='hairflow'] .fs-hf-wrap *::before,
  [data-fs-theme='hairflow'] .fs-hf-wrap *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-panel__inner {
  border: 1px solid rgb(var(--c-line));
  border-radius: 24px;
  background: rgb(var(--c-paper));
  box-shadow: 0 34px 70px -30px rgba(0,0,0,.45);
  overflow: hidden;
  animation: fs-hf-hf-menu-drop 340ms cubic-bezier(.16, 1, .3, 1) both;
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-menu-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-menu-card {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 11px 12px 12px;
  border: 1px solid rgb(var(--c-line));
  border-radius: 13px;
  background: rgb(var(--c-paper-sunk));
  text-decoration: none;
  color: rgb(var(--c-ink-950));
  transition: transform 300ms cubic-bezier(.16, 1, .3, 1), box-shadow 300ms ease, border-color 300ms ease;
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-menu-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 24px -16px rgba(0,0,0,.35);
  border-color: rgb(var(--c-brand-600));
  text-decoration: none;
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-menu-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-menu-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 10px;
  background: rgb(var(--c-brand-50));
  color: rgb(var(--c-accent));
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-menu-card__icon svg,
[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-menu-card__icon img {
  width: 16px;
  height: 16px;
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-menu-card__price {
  font-family: Manrope, 'Helvetica Neue', Arial, sans-serif;
  font-weight: 700;
  font-size:12px;
  color: rgb(var(--c-accent));
  white-space: nowrap;
  line-height:17.850px;
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-menu-card__title {
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
  font-weight: 600;
  font-size: 14.5px;
  line-height: 1.2;
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-menu-card__desc {
  font-size:12px;
  line-height:15.950px;
  color: rgb(var(--c-ink-400));
  margin: 4px 0 0;
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-menu-card__new {
  margin-left: 6px;
  padding: 2px 6px;
  border-radius: 999px;
  background: rgb(var(--c-brand-600));
  color: var(--fs-on-brand);
  font-family: Manrope, 'Helvetica Neue', Arial, sans-serif;
  font-weight: 700;
  font-size:12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  vertical-align: middle;
  line-height:13.600px;
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-menu-side {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  padding: 20px 20px 22px;
  background: linear-gradient(150deg, rgb(var(--c-brand-600)), rgb(var(--c-accent)));
  color: var(--fs-on-brand);
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-menu-side__perks {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 12px;
  font-family: Manrope, 'Helvetica Neue', Arial, sans-serif;
  font-weight: 600;
  font-size:12px;
  line-height:18.700px;
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-menu-side__perks div {
  display: flex;
  align-items: center;
  gap: 7px;
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-menu-side__perks svg {
  flex: 0 0 auto;
  width: 12px;
  height: 12px;
  opacity: .8;
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-menu-utility {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  padding: 10px 18px;
  background: rgb(var(--c-paper-soft));
  border-top: 1px solid rgb(var(--c-line));
  font-family: Manrope, 'Helvetica Neue', Arial, sans-serif;
  font-weight: 700;
  font-size:12px;
  color: rgb(var(--c-ink-400));
  line-height:18.700px;
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-menu-utility__links {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-menu-utility a {
  color: rgb(var(--c-ink-400));
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-menu-utility a:hover {
  color: rgb(var(--c-accent));
}

@keyframes fs-hf-hf-sparkle { 0%, 100% { transform: scale(.35); opacity: .15; } 50% { transform: scale(1); opacity: 1; } }

@keyframes fs-hf-hf-menu-drop { from { opacity: 0; transform: translateY(-14px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }

/* The kit drew no narrow state. Stacked below 560px so the panel cannot
   run off a phone; everything else is left exactly as drawn. */
@media (max-width: 560px) {
  [data-fs-theme='hairflow'] .fs-hf-wrap [class*='fs-hf-'] {
    grid-template-columns: 1fr !important;
    flex-wrap: wrap !important;
  }
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-hf-h2 {
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
  font-weight: 600;
  font-size: 40px;
  line-height: 1.12;
  letter-spacing: -0.005em;
  margin: 0;
}

@media (max-width: 640px) {
  [data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-hf-h2 {
    font-size: 27px;
  }
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-hf-btn--ghost {
  background: transparent;
  color: rgb(var(--c-ink-950));
  border: 1.5px solid rgb(var(--c-line));
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-hf-btn--ghost:hover {
  border-color: rgb(var(--c-accent));
  color: rgb(var(--c-accent));
  box-shadow: none;
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-hf-anim-float {
  animation: fs-hf-hf-float 6s ease-in-out infinite;
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-menu-rail {
  display: flex;
  flex-direction: column;
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-menu-rail__item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 15px 4px;
  border-bottom: 1px solid rgb(var(--c-line));
  color: rgb(var(--c-ink-950));
  text-decoration: none;
  transition: color 300ms ease, padding-left 300ms cubic-bezier(.16, 1, .3, 1);
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-menu-rail__item:hover {
  color: rgb(var(--c-accent));
  padding-left: 12px;
  text-decoration: none;
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-menu-rail__item::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  height: 2px;
  width: 0;
  border-radius: 2px;
  background: rgb(var(--c-brand-600));
  transition: width 300ms cubic-bezier(.16, 1, .3, 1);
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-menu-rail__item:hover::after {
  width: 100%;
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-menu-rail__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  flex: 0 0 auto;
  border-radius: 10px;
  background: rgb(var(--c-brand-50));
  color: rgb(var(--c-accent));
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-menu-rail__icon img,
[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-menu-rail__icon svg {
  width: 16px;
  height: 16px;
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-menu-rail__title {
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
  font-weight: 600;
  font-size: 17px;
  line-height: 1.25;
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-menu-rail__count {
  font-size:12px;
  color: rgb(var(--c-ink-400));
  margin-top: 2px;
  line-height:18.700px;
}

@keyframes fs-hf-hf-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-hf-card {
  background: rgb(var(--c-paper-sunk));
  border: 1px solid rgb(var(--c-line));
  border-radius: 18px;
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-hf-input {
  width: 100%;
  padding: 13px 16px;
  border: 1.5px solid rgb(var(--c-line));
  border-radius: 12px;
  background: rgb(var(--c-paper));
  color: rgb(var(--c-ink-950));
  font-family: Inter, system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-size: 14px;
  transition: border-color 300ms ease, box-shadow 300ms ease;
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-hf-input:focus {
  outline: none;
  border-color: rgb(var(--c-accent));
  box-shadow: 0 0 0 4px rgb(var(--c-brand-50));
}

[data-fs-theme='hairflow'] .fs-hf-wrap .fs-hf-hf-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* == LEGAL PAGE (favHfLegal) ==========================================
   The five synthesized legal pages, drawn in the theme's own language.
   No new visual vocabulary: the centred head is the one services.html
   uses, the rule is the home hero's closing wave, and the aside card is
   the standard 18px "hf-card" with its 1px hairline.

   The MEASURE is the only real decision here. Body prose sits at 68ch,
   because a Terms page is a document and the theme's 1160px content
   column would run it to ~140 characters a line — readable design, all
   the way up to the point where somebody has to read it. */
.fs-hf-legal { padding-top: 64px; padding-bottom: 88px; }
.fs-hf-legal-head { margin-bottom: 44px; }
/* Explicit INK, not inherited. Measured in dark mode the inherited
   colour resolved to the MUTED ramp (#B3ABB8) — legible at 8.4:1, but
   a page title in the secondary voice is a hierarchy error, not a
   contrast one, and no gate can see it. The body below deliberately
   keeps the softer ramp: that is a document, and a long read wants a
   step down from its own title. */
.fs-hf-legal-h { font-size: 46px; color: rgb(var(--c-ink-950)); }

/* Decorative only, so the SUBTLE token rather than the component
   hairline. --c-line-soft has no global fallback outside the theme
   layer, so the fallback chain is written out — a bare var() there
   drops the whole declaration and the rule vanishes on a palette-less
   route. */
.fs-hf-legal-wave {
  display: block;
  width: 200px;
  max-width: 60%;
  height: 12px;
  margin: 22px 0 0;
  color: rgb(var(--c-line-soft, var(--c-line)));
}

.fs-hf-legal-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 274px;
  gap: 56px;
  align-items: start;
}

.fs-hf-legal-body {
  max-width: 68ch;
  font-family: var(--font-sans, inherit);
  font-size: 16px;
  line-height: 1.75;
  color: rgb(var(--c-ink-700, var(--c-ink-950)));
  /* The synthesis writes real paragraph breaks. Honoured rather than
     parsed: this block must not reflow a legal document. */
  white-space: pre-line;
}

.fs-hf-legal-aside { display: flex; flex-direction: column; gap: 22px; }

.fs-hf-legal-card { padding: 22px; display: flex; flex-direction: column; gap: 12px; }
.fs-hf-legal-card-l { color: rgb(var(--c-ink-400)); }
.fs-hf-legal-mail {
  font-family: var(--font-sans, inherit);
  font-size: 15px;
  color: rgb(var(--c-accent, var(--c-brand-600)));
  text-decoration: none;
  word-break: break-word;
}
.fs-hf-legal-mail:hover { text-decoration: underline; }
.fs-hf-legal-cta { align-self: flex-start; }

.fs-hf-legal-more-l { display: block; margin-bottom: 10px; color: rgb(var(--c-ink-400)); }
.fs-hf-legal-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.fs-hf-legal-link {
  font-family: var(--font-sans, inherit);
  font-size: 15px;
  color: rgb(var(--c-ink-950));
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color var(--fs-hf-quick, 300ms) ease, color var(--fs-hf-quick, 300ms) ease;
}
.fs-hf-legal-link:hover {
  color: rgb(var(--c-accent, var(--c-brand-600)));
  border-bottom-color: rgb(var(--c-accent, var(--c-brand-600)));
}

/* The aside drops under the document rather than beside it: at 390 a
   274px rail leaves ~96px for the prose. */
@media (max-width: 860px) {
  .fs-hf-legal-grid { grid-template-columns: minmax(0, 1fr); gap: 34px; }
  .fs-hf-legal-h { font-size: 34px; }
  .fs-hf-legal { padding-top: 40px; padding-bottom: 56px; }
}


/* ── family root + the four per-mode vars ─────────────────────── */
.fs-ll{
  position:relative;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
  font-family:var(--font-body,'Inter',system-ui,sans-serif);
  --fs-ll-soft:rgb(var(--c-brand-600) / .09);
  --fs-ll-glass:rgb(var(--c-paper-soft) / .72);
  --fs-ll-shadow:0 1px 2px rgba(15,20,29,.05),0 10px 30px rgba(15,20,29,.07);
  --fs-ll-shadow-lift:0 2px 4px rgba(15,20,29,.06),0 18px 44px rgba(15,20,29,.12);
  --fs-ll-hover-lift:0 3px 6px rgba(15,20,29,.06),0 20px 48px rgba(15,20,29,.13);
  --fs-ll-mono:var(--font-mono,'Roboto Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace);
}
.dark .fs-ll{
  --fs-ll-soft:rgb(var(--c-brand-600) / .14);
  --fs-ll-shadow:0 1px 2px rgba(0,0,0,.35),0 12px 32px rgba(0,0,0,.45);
  --fs-ll-shadow-lift:0 2px 6px rgba(0,0,0,.45),0 22px 52px rgba(0,0,0,.6);
  --fs-ll-hover-lift:0 3px 6px rgba(0,0,0,.45),0 22px 52px rgba(0,0,0,.6);
}
/* TWO .dark classes exist on a page, and only one is about this site.
   layout.tsx's boot script puts .dark on <html> from the visitor's OS /
   dashboard preference — the PLATFORM's own chrome, nothing to do with
   the site's mode. siteShell() puts .dark (or .fs-preview-light) on the
   SITE WRAPPER from the site's own resolved mode. The rule above cannot
   tell the two apart, so a visitor with a dark OS looking at this theme
   in LIGHT mode got the dark shadow pair on a light page — a visibly
   heavy shadow the export never draws (the owner saw exactly this:
   "the cards have shadows for sure but the template doesn't"; the
   export's light --shadow is 5% and 7% alpha, near-invisible). This
   rule re-states the light values under the wrapper's own light marker;
   same specificity, later source order, so the SITE's answer wins over
   the browser's whenever they disagree. Measured 2026-09-03; the other
   families that scope dark tokens to a bare .dark ancestor (care,
   guild, member-prime, torque, vault) have the same exposure — STATUS.md. */
.fs-preview-light .fs-ll{
  --fs-ll-soft:rgb(var(--c-brand-600) / .09);
  --fs-ll-shadow:0 1px 2px rgba(15,20,29,.05),0 10px 30px rgba(15,20,29,.07);
  --fs-ll-shadow-lift:0 2px 4px rgba(15,20,29,.06),0 18px 44px rgba(15,20,29,.12);
  --fs-ll-hover-lift:0 3px 6px rgba(15,20,29,.06),0 20px 48px rgba(15,20,29,.13);
}
.fs-ll *{box-sizing:border-box;}
/* visually hidden, still read: the h1 on Invoices and Payments (GAP-LL-6) */
.fs-ll-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.fs-ll-wire{filter:grayscale(1) contrast(.5);}
.fs-ll a{color:inherit;text-decoration:none;}
/* the platform typography scope paints every <a> in the accent; the
   family's own link rules below carry .fs-ll in front for specificity */
.fs-ll button{font-family:inherit;}

/* ── the section shell: the export's <main> is 1200 max / 40px gutters,
      corrected to the designer's canonical 1180 (shell.json). The
      platform's shell wrapper owns the max-width; this owns the
      gutters and the vertical rhythm (responsive.md §1). ─────────── */
/* The content column: the customer's chosen measure first (Site
   Settings layouts emit --fs-layout-max), then the theme's own 1180.
   Same chain chef-prime-styles.ts documents. */
.fs-ll-sec{max-width:var(--fs-layout-max, var(--fs-shell-max,1180px));margin:0 auto;padding:0 40px;position:relative;}
.fs-ll-sec-pad{padding-top:0;padding-bottom:84px;}
.fs-ll-sec-head{padding-top:70px;}
@media (max-width:900px){ .fs-ll-sec{padding-left:28px;padding-right:28px;} .fs-ll-sec-pad{padding-bottom:56px;} }
@media (max-width:620px){ .fs-ll-sec{padding-left:20px;padding-right:20px;} .fs-ll-sec-pad{padding-bottom:44px;} }

/* ── motion vocabulary — the export's keyframes, renamed to the family
      so no other theme's llup can collide ────────────────────────── */
@keyframes fsllUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes fsllIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes fsllBar{from{transform:scaleY(.08)}to{transform:scaleY(1)}}
@keyframes fsllPulse{0%,100%{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}
@keyframes fsllDrop{from{opacity:0;transform:translateY(-8px) scale(.995)}to{opacity:1;transform:none}}
@keyframes fsllSweep{from{transform:translateX(-120%)}to{transform:translateX(320%)}}
@keyframes fsllMatch{0%,100%{opacity:.4}50%{opacity:1}}
@keyframes fsllTick{0%,100%{opacity:.5}50%{opacity:1}}
@keyframes fsllDash{to{stroke-dashoffset:0}}
@keyframes fsllStagger{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes fsllD1{from{stroke-dashoffset:20}to{stroke-dashoffset:0}}
@keyframes fsllD2{from{stroke-dashoffset:10}to{stroke-dashoffset:0}}
@keyframes fsllD3{from{stroke-dashoffset:17}to{stroke-dashoffset:0}}

/* Entrance: the export runs llup .5-.6s on cards and hero children,
   staggered ~60-80ms. --fs-anim-llRise is the customer's switch. */
.fs-ll-anim .fs-ll-rise{animation:var(--fs-anim-llRise, fsllUp .55s ease-out both);}
.fs-ll-anim .fs-ll-rise-1{animation-delay:.04s}
.fs-ll-anim .fs-ll-rise-2{animation-delay:.10s}
.fs-ll-anim .fs-ll-rise-3{animation-delay:.18s}
.fs-ll-anim .fs-ll-rise-4{animation-delay:.26s}
.fs-ll-anim .fs-ll-rise-5{animation-delay:.34s}
.fs-ll-anim .fs-ll-rise-6{animation-delay:.42s}
/* Bars rise from the baseline in 500ms, staggered 60ms. */
.fs-ll-anim .fs-ll-bar-anim{transform-origin:bottom;animation:var(--fs-anim-llBars, fsllBar .5s ease-out both);}
.fs-ll-anim .fs-ll-bar-anim:nth-child(1){animation-delay:.30s}
.fs-ll-anim .fs-ll-bar-anim:nth-child(2){animation-delay:.36s}
.fs-ll-anim .fs-ll-bar-anim:nth-child(3){animation-delay:.42s}
.fs-ll-anim .fs-ll-bar-anim:nth-child(4){animation-delay:.48s}
.fs-ll-anim .fs-ll-bar-anim:nth-child(5){animation-delay:.54s}
.fs-ll-anim .fs-ll-bar-anim:nth-child(6){animation-delay:.60s}
.fs-ll-anim .fs-ll-bar-anim:nth-child(n+7){animation-delay:.66s}
/* The live dot: 2.4s breath. */
.fs-ll-anim .fs-ll-pulse{animation:var(--fs-anim-llPulse, fsllPulse 2.4s ease-in-out infinite);}
/* Hover lift: 3px and a deepened shadow — the design's ONE hover rule. */
.fs-ll-anim .fs-ll-lift{transition:transform .25s ease-out,box-shadow .25s ease-out,border-color .25s ease-out;}
.fs-ll-anim .fs-ll-lift:hover{transform:var(--fs-anim-llLift, translateY(-3px));border-color:rgb(var(--c-brand-600));}
.fs-ll-anim .fs-ll-lift-shadow:hover{box-shadow:var(--fs-ll-hover-lift);}
/* The meter sweep on the payment run's cash meter. */
.fs-ll-anim .fs-ll-sweep{animation:var(--fs-anim-llSweep, fsllSweep 2.4s ease-in-out infinite);}
@media (prefers-reduced-motion: reduce){
  .fs-ll *,.fs-ll *::before,.fs-ll *::after{animation:none !important;transition:none !important;}
}

/* ── type roles ────────────────────────────────────────────────── */
.fs-ll-mono{font-family:var(--fs-ll-mono);font-variant-numeric:tabular-nums;}
/* Eyebrow: mono 12px .14em uppercase in the ACCENT — as text it takes
   --accent-text (brand-700), contrast.md's rule for small coloured type. */
.fs-ll-eyebrow{font-family:var(--fs-ll-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--c-brand-700));}
/* Meta label: mono 10px .1em muted in the export — ships at the 12px floor. */
.fs-ll-lbl{font-family:var(--fs-ll-mono);font-size:12px;letter-spacing:.1em;color:rgb(var(--c-ink-400));}
.fs-ll-h1{font-family:var(--font-display,'Inter',sans-serif);font-size:48px;font-weight:600;letter-spacing:-.03em;line-height:1.07;margin:0;text-wrap:pretty;}
.fs-ll-h2{font-family:var(--font-display,'Inter',sans-serif);font-size:32px;font-weight:600;letter-spacing:-.02em;line-height:1.15;margin:0;}
.fs-ll-h3{font-size:22px;font-weight:600;margin:0;line-height:1.25;}
.fs-ll-lede{font-size:18px;line-height:1.65;color:rgb(var(--c-ink-400));margin:0;}
.fs-ll-lede-17{font-size:17px;line-height:1.65;color:rgb(var(--c-ink-400));margin:0;}
.fs-ll-body{font-size:15px;line-height:1.6;color:rgb(var(--c-ink-400));margin:0;}
.fs-ll-body-14{font-size:14px;line-height:1.6;color:rgb(var(--c-ink-400));margin:0;}
.fs-ll-body-16{font-size:16px;line-height:1.6;color:rgb(var(--c-ink-400));margin:0;}
.fs-ll-small{font-size:13px;color:rgb(var(--c-ink-400));}
.fs-ll-muted{color:rgb(var(--c-ink-400));}
.fs-ll-accent{color:rgb(var(--c-brand-600));}
.fs-ll-accent-text{color:rgb(var(--c-brand-700));}
.fs-ll-bad{color:rgb(var(--fs-status-bad));}
.fs-ll-hold{color:rgb(var(--fs-status-warn));}
@media (max-width:900px){ .fs-ll-h1{font-size:38px;} }
@media (max-width:620px){ .fs-ll-h1{font-size:30px;} .fs-ll-h2{font-size:26px;} }

/* ── surfaces ─────────────────────────────────────────────────── */
.fs-ll-card{background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));border-radius:14px;box-shadow:var(--fs-ll-shadow);}
.fs-ll-card-16{border-radius:16px;}
.fs-ll-card-12{border-radius:12px;box-shadow:none;}
.fs-ll-raise{background:rgb(var(--c-paper-sunk));}
.fs-ll-rule{border-top:1px solid rgb(var(--c-line));}
.fs-ll-rule-b{border-bottom:1px solid rgb(var(--c-line));}

/* ── controls ─────────────────────────────────────────────────── */
.fs-ll-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-body,'Inter',sans-serif);font-size:15px;font-weight:600;border-radius:10px;padding:14px 26px;cursor:pointer;transition:transform .2s ease-out,box-shadow .2s ease-out,border-color .2s ease-out,color .2s ease-out;border:none;line-height:1.2;white-space:nowrap;}
.fs-ll .fs-ll-btn-primary,.fs-ll a.fs-ll-btn-primary{color:var(--fs-on-brand);background:rgb(var(--c-brand-600));}
.fs-ll-anim .fs-ll-btn-primary:hover{transform:translateY(-2px);box-shadow:var(--fs-ll-shadow);}
.fs-ll .fs-ll-btn-ghost,.fs-ll a.fs-ll-btn-ghost{color:rgb(var(--c-ink-950));background:none;border:1px solid rgb(var(--c-line));padding:13px 26px;}
.fs-ll .fs-ll-btn-ghost:hover,.fs-ll a.fs-ll-btn-ghost:hover{border-color:rgb(var(--c-brand-600));color:rgb(var(--c-brand-700));}
.fs-ll .fs-ll-btn-soft,.fs-ll a.fs-ll-btn-soft{color:rgb(var(--c-brand-700));background:var(--fs-ll-soft);font-size:14px;padding:12px 20px;}
.fs-ll-anim .fs-ll-btn-soft:hover{transform:translateY(-2px);}
.fs-ll-btn-sm{font-size:13px;padding:11px 16px;border-radius:9px;}
.fs-ll-btn-sm.fs-ll-btn-ghost{padding:10px 16px;}
.fs-ll-btn-xs{font-size:12px;padding:9px 14px;border-radius:8px;}
.fs-ll-btn-block{width:100%;}
.fs-ll .fs-ll-btn-inverse,.fs-ll a.fs-ll-btn-inverse{color:rgb(var(--c-ink-950));background:rgb(var(--c-paper-soft));padding:14px 28px;}
.fs-ll-pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:rgb(var(--c-brand-700));background:var(--fs-ll-soft);border-radius:999px;padding:6px 14px;line-height:1.2;}
.fs-ll-pill-sm{font-size:12px;padding:4px 10px;}   /* export 11px */
.fs-ll-pill-xs{font-size:12px;padding:4px 9px;letter-spacing:.05em;} /* export 9.5px */
.fs-ll-pill-bad{color:rgb(var(--fs-status-bad-on));background:rgb(var(--fs-status-bad-tint));}
.fs-ll-pill-hold{color:rgb(var(--fs-status-warn-on));background:rgb(var(--fs-status-warn-tint));}
.fs-ll-pill-muted{color:rgb(var(--c-ink-400));background:var(--fs-ll-soft);}
.fs-ll-dot{width:6px;height:6px;border-radius:50%;background:rgb(var(--c-brand-600));flex:none;display:inline-block;}
.fs-ll-dot-8{width:8px;height:8px;}
.fs-ll-dot-line{background:rgb(var(--c-line));}
.fs-ll-dot-bad{background:rgb(var(--fs-status-bad));}
.fs-ll-avatar{width:38px;height:38px;border-radius:50%;background:var(--fs-ll-soft);color:rgb(var(--c-brand-700));display:grid;place-items:center;font-size:13px;font-weight:600;flex:none;}
.fs-ll-avatar-30{width:30px;height:30px;font-size:12px;} /* export 11px */
.fs-ll-avatar-40{width:40px;height:40px;}
.fs-ll-input{font-family:var(--font-body,'Inter',sans-serif);font-size:14px;padding:12px 14px;border:1px solid rgb(var(--c-line));border-radius:10px;background:rgb(var(--c-paper));color:rgb(var(--c-ink-950));width:100%;transition:border-color .2s;}
.fs-ll-input:focus{outline:none;border-color:rgb(var(--c-brand-600));}
.fs-ll-input-mono{font-family:var(--fs-ll-mono);font-size:13px;}
.fs-ll-label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600;}
.fs-ll-switch{width:42px;height:24px;border-radius:99px;background:rgb(var(--c-line));position:relative;flex:none;transition:background .25s;}
.fs-ll-switch-on{background:rgb(var(--c-brand-600));}
/* The knob is #fff in BOTH modes in the export (02-website.html
   settings toggles, 05 reconciliation auto-match) — a white disc on a
   blue or grey track is the design fact, not a light-mode default, so it
   is a baselined literal (scripts/block-panels-baseline.json). */
.fs-ll-switch span{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:left .25s;box-shadow:0 1px 3px rgba(0,0,0,.25);}
.fs-ll-switch-on span{left:21px;}
.fs-ll-seg{display:inline-flex;gap:4px;background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));border-radius:999px;padding:4px;}
.fs-ll-seg-btn{border:none;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;padding:8px 18px;border-radius:999px;background:transparent;color:rgb(var(--c-ink-400));transition:background .25s,color .25s;}
.fs-ll-seg-btn[aria-pressed="true"]{background:rgb(var(--c-brand-600));color:var(--fs-on-brand);}
.fs-ll-icon{color:rgb(var(--c-brand-600));display:inline-flex;transition:transform .3s ease-out;}
.fs-ll-icon svg{width:26px;height:26px;}
.fs-ll-icon-20 svg{width:20px;height:20px;}
.fs-ll-icon-22 svg{width:22px;height:22px;}
.fs-ll-lift:hover .fs-ll-icon{transform:translateY(-2px);}
.fs-ll-row{display:flex;align-items:center;}
.fs-ll-between{display:flex;justify-content:space-between;align-items:center;}
.fs-ll-col{display:flex;flex-direction:column;}
.fs-ll-grow{flex:1;min-width:0;}
.fs-ll-right{text-align:right;}
.fs-ll-center{text-align:center;}

/* ── bars (hero card, graph-settle, dashboard, reports) ────────── */
.fs-ll-bars{display:flex;align-items:flex-end;gap:8px;}
.fs-ll-bars > div{flex:1;background:var(--fs-ll-soft);border-radius:5px;transition:height .4s ease-out,background .3s;min-width:0;}
.fs-ll-bars > .fs-ll-bar-on{background:rgb(var(--c-brand-600));}
.fs-ll-bars-hover > div:hover{background:rgb(var(--c-brand-600));}
.fs-ll-meter{height:9px;background:var(--fs-ll-soft);border-radius:99px;overflow:hidden;}
.fs-ll-meter > div{height:100%;background:rgb(var(--c-brand-600));border-radius:99px;transition:width .6s ease-out;}
.fs-ll-meter-6{height:6px;}
.fs-ll-meter-5{height:5px;}
.fs-ll-meter-4{height:4px;}
.fs-ll-meter-7{height:7px;position:relative;}

/* ══ HERO — home. 1.05fr / .95fr, gap 56, 76/84 vertical. Copy on top
      below 900 (responsive.md §3). ═══════════════════════════════ */
.fs-ll-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:center;padding:76px 0 84px;}
.fs-ll-hero-copy{display:flex;flex-direction:column;gap:22px;align-items:flex-start;}
.fs-ll-hero-ctas{display:flex;gap:12px;flex-wrap:wrap;}
.fs-ll-hero-trust{font-size:13px;color:rgb(var(--c-ink-400));}
.fs-ll-hero-card{padding:26px;display:flex;flex-direction:column;gap:16px;border-radius:16px;}
.fs-ll-hero-fig{font-family:var(--fs-ll-mono);font-size:36px;font-weight:500;font-variant-numeric:tabular-nums;line-height:1.1;}
.fs-ll-hero-bars{height:110px;}
.fs-ll-hero-foot{display:flex;justify-content:space-between;gap:12px;border-top:1px solid rgb(var(--c-line));padding-top:14px;}
.fs-ll-hero-foot .fs-ll-lbl{font-size:12px;} /* export 11px */
.fs-ll-hero-foot-v{font-family:var(--fs-ll-mono);font-size:17px;margin-top:2px;}
@media (max-width:980px){
  .fs-ll-hero{grid-template-columns:1fr;gap:32px;padding:56px 0 56px;}
  .fs-ll-hero-bars{height:90px;}
}
@media (max-width:620px){
  .fs-ll-hero{padding:44px 0;}
  .fs-ll-hero-ctas{width:100%;flex-direction:column;}
  .fs-ll-hero-ctas .fs-ll-btn{width:100%;}
  .fs-ll-hero-fig{font-size:30px;}
  .fs-ll-hero-bars > div:nth-child(n+5){display:none;} /* 4 bars below 620 */
  .fs-ll-hero-foot{flex-direction:column;}
}

/* ══ FEATURES — 3-up cards, floor 260 (responsive.md §2) ════════ */
/* Three across at most (the export draws repeat(3,1fr)); the designer's
   floor decides when it drops to two and one. max() inside minmax caps
   the column count without a container query. */
.fs-ll-grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,max(260px,calc((100% - 32px)/3))),1fr));gap:16px;}
.fs-ll-grid-3-240{grid-template-columns:repeat(auto-fit,minmax(min(100%,max(240px,calc((100% - 32px)/3))),1fr));}
.fs-ll-grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,max(300px,calc((100% - 16px)/2))),1fr));gap:16px;}
.fs-ll-grid-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,max(200px,calc((100% - 42px)/4))),1fr));gap:14px;}
.fs-ll-feature{padding:28px;display:flex;flex-direction:column;gap:12px;}
.fs-ll-feature-26{padding:26px;gap:11px;}
.fs-ll-feature .fs-ll-h3{font-size:22px;}
.fs-ll-feature-26 .fs-ll-h3{font-size:19px;}
.fs-ll-sec-title{margin:0 0 32px;max-width:560px;}
.fs-ll-eyebrow-mb{margin-bottom:12px;display:block;}
@media (max-width:620px){ .fs-ll-feature{padding:20px;} }

/* ══ DASHBOARD PREVIEW — a card holding a .9/1.1 split, gap 44,
      copy on top below 940 ═══════════════════════════════════════ */
.fs-ll-dashprev{padding:36px 40px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:44px;align-items:center;border-radius:16px;}
.fs-ll-dashprev-copy{display:flex;flex-direction:column;gap:16px;align-items:flex-start;}
/* two across at most, one when a tile would fall under its 150 floor —
   sized on the grid's own width so a narrowed site layout counts too */
.fs-ll-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,max(150px,calc((100% - 12px)/2))),1fr));gap:12px;}
.fs-ll-tile{border:1px solid rgb(var(--c-line));border-radius:12px;padding:18px;transition:border-color .25s;}
.fs-ll-tile:hover{border-color:rgb(var(--c-brand-600));}
.fs-ll-tile .fs-ll-lbl{font-size:12px;} /* export 11px */
.fs-ll-tile-v{font-family:var(--fs-ll-mono);font-size:24px;font-weight:500;line-height:1.2;margin:2px 0;}
.fs-ll-tile-s{font-size:12px;color:rgb(var(--c-ink-400));}
@media (max-width:1000px){ .fs-ll-dashprev{grid-template-columns:1fr;gap:28px;padding:28px;} }
@media (max-width:620px){ .fs-ll-dashprev{padding:20px;} }

/* ══ TESTIMONIALS / QUOTES — 2-up cards, floor 300 ═════════════ */
.fs-ll-quote{padding:30px;display:flex;flex-direction:column;gap:16px;}
.fs-ll-quote-t{font-size:18px;line-height:1.55;font-weight:500;text-wrap:pretty;}
.fs-ll-quote-t-17{font-size:17px;}
.fs-ll-quote-who{display:flex;align-items:center;gap:12px;}
.fs-ll-quote-n{font-size:14px;font-weight:600;}
.fs-ll-quote-r{font-size:13px;color:rgb(var(--c-ink-400));}
@media (max-width:620px){ .fs-ll-quote{padding:22px;} .fs-ll-quote-t{font-size:16px;} }

/* ══ CTA BAND — solid accent, 52/56, wraps ═══════════════════════ */
.fs-ll-cta{background:rgb(var(--c-brand-600));border-radius:16px;padding:52px 56px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;transition:background .4s;}
.fs-ll-cta-h{font-family:var(--font-display,'Inter',sans-serif);font-size:30px;font-weight:600;letter-spacing:-.02em;color:var(--fs-on-brand);margin:0;line-height:1.15;}
.fs-ll-cta-s{font-size:15px;color:var(--fs-on-brand);opacity:.75;margin-top:6px;}
.fs-ll-cta-pad{padding-bottom:8px;}
@media (max-width:620px){ .fs-ll-cta{padding:32px 24px;} .fs-ll-cta-h{font-size:24px;} .fs-ll-cta .fs-ll-btn{width:100%;} }

/* ══ PAGE HEADS — pricing (centred + toggle), features (720 intro),
      testimonials (centred) ═══════════════════════════════════════ */
.fs-ll-head{padding:70px 0 40px;}
.fs-ll-head-center{text-align:center;}
.fs-ll-head-center .fs-ll-eyebrow{display:block;}
.fs-ll-head .fs-ll-h1{margin:0 0 14px;}
.fs-ll-head-720{max-width:720px;padding:70px 0 48px;}
.fs-ll-head-48{padding:70px 0 48px;}
.fs-ll-head-lede{margin:0 0 26px;}
@media (max-width:900px){ .fs-ll-head{padding-top:56px;} }
@media (max-width:620px){ .fs-ll-head{padding:44px 0 32px;} .fs-ll-seg{display:flex;width:100%;} .fs-ll-seg-btn{flex:1;} }

/* ══ PLANS — 3-up, floor 260; popular card leads below 900 ═════ */
.fs-ll-plans{padding-bottom:64px;}
.fs-ll-plan{padding:32px;display:flex;flex-direction:column;gap:18px;position:relative;border-radius:16px;}
.fs-ll-plan-pop{border:2px solid rgb(var(--c-brand-600));}
.fs-ll-plan-badge{position:absolute;top:-11px;left:32px;font-size:12px;font-weight:600;background:rgb(var(--c-brand-600));color:var(--fs-on-brand);border-radius:999px;padding:4px 12px;line-height:1.2;} /* export 11px */
.fs-ll-plan-n{font-size:15px;font-weight:600;}
.fs-ll-plan-p{font-family:var(--fs-ll-mono);font-size:40px;font-weight:500;line-height:1;}
.fs-ll-plan-per{font-size:15px;color:rgb(var(--c-ink-400));font-family:var(--fs-ll-mono);}
.fs-ll-plan-f{font-size:14px;color:rgb(var(--c-ink-400));line-height:1.6;}
.fs-ll-plan .fs-ll-btn{font-size:14px;padding:12px;}
.fs-ll-plan .fs-ll-btn-primary{padding:13px;}
@media (max-width:900px){ .fs-ll-plan-pop{order:-1;} }

/* ══ FAQ — 760 measure, never splits ═══════════════════════════ */
.fs-ll-faq{max-width:760px;margin:0 auto;padding-bottom:20px;}
.fs-ll-faq .fs-ll-h2{margin:0 0 24px;}
.fs-ll-faq-list{display:flex;flex-direction:column;gap:10px;}
.fs-ll-faq-item{background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));border-radius:12px;overflow:hidden;transition:border-color .25s;}
.fs-ll-faq-item[data-open="true"]{border-color:rgb(var(--c-brand-600));}
.fs-ll-faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:14px;background:none;border:none;cursor:pointer;font-size:15px;font-weight:600;color:rgb(var(--c-ink-950));padding:17px 20px;text-align:left;min-height:44px;}
.fs-ll-faq-mark{color:rgb(var(--c-brand-600));font-size:18px;flex:none;pointer-events:none;}
/* The export mounts the answer with llin (.25s, translateY 10px) and
   drops the previously open one in the same frame - so the question
   just clicked jumps UP by the height of the answer that closed (64px
   measured). Owner: "those links jump a little." Both ends animate
   here: the wrapper is a 0fr/1fr grid row, the answer fades and slides
   the same 10px the export draws, and the collapsing sibling shrinks
   over the same .25s instead of vanishing. Single-open is kept. */
.fs-ll .fs-ll-faq-aw{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease-out;}
.fs-ll .fs-ll-faq-item[data-open="true"] .fs-ll-faq-aw{grid-template-rows:1fr;}
/* .fs-ll in front on purpose: the platform's mode-switch rule paints a
   transition: background-color .3s, border-color .3s, color .3s on
   every element under the typography scope, later in the cascade and at
   equal specificity, and it silently replaced this transition — the
   accordion snapped exactly as before while the rule looked right. */
.fs-ll .fs-ll-faq-a{min-height:0;overflow:hidden;padding:0 20px;font-size:14px;line-height:1.65;color:rgb(var(--c-ink-400));opacity:0;transform:translateY(10px);transition:opacity .25s ease-out,transform .25s ease-out,padding .25s ease-out;}
.fs-ll .fs-ll-faq-item[data-open="true"] .fs-ll-faq-a{padding:0 20px 18px;opacity:1;transform:none;}

/* ══ GRAPH SETTLE — a card holding a 1/1 split, 150px chart ═════ */
.fs-ll-settle{padding:36px 40px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px;align-items:center;border-radius:16px;}
.fs-ll-settle-copy{display:flex;flex-direction:column;gap:14px;align-items:flex-start;}
.fs-ll-settle-bars{height:150px;gap:9px;}
.fs-ll-settle-bars > div{border-radius:6px;transition:height .5s ease-out;}
.fs-ll-settle:hover .fs-ll-settle-bars > div{height:var(--h2) !important;}
@media (max-width:900px){ .fs-ll-settle{grid-template-columns:1fr;gap:26px;padding:28px;} .fs-ll-settle-bars{height:110px;} }
@media (max-width:620px){ .fs-ll-settle{padding:20px;} }

/* ══ STAT ROW — 4 figures, 56 gap, floor 140 ════════════════════ */
.fs-ll-stats{display:flex;justify-content:center;gap:56px;padding-bottom:48px;flex-wrap:wrap;}
.fs-ll-stat{text-align:center;min-width:140px;}
.fs-ll-stat-v{font-family:var(--fs-ll-mono);font-size:34px;font-weight:500;color:rgb(var(--c-brand-600));line-height:1.1;}
.fs-ll-stat-l{font-size:13px;color:rgb(var(--c-ink-400));margin-top:4px;}
@media (max-width:620px){
  .fs-ll-stats{flex-direction:column;gap:14px;align-items:stretch;}
  .fs-ll-stat{display:flex;align-items:baseline;gap:12px;text-align:left;min-width:0;}
  .fs-ll-stat-v{font-size:28px;}
}

/* ══ CONTACT — .9/1.1 split, gap 56; intro on top below 860 ═════ */
.fs-ll-contact{padding:70px 0 0;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:start;}
.fs-ll-contact-intro{display:flex;flex-direction:column;gap:16px;}
.fs-ll-contact-ways{display:flex;flex-direction:column;gap:12px;margin-top:8px;}
.fs-ll-contact-way{display:flex;align-items:center;gap:12px;font-size:14px;min-height:44px;}
.fs-ll-form-card{padding:34px;border-radius:16px;}
.fs-ll-form{display:flex;flex-direction:column;gap:16px;}
.fs-ll-form-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:14px;}
.fs-ll-form textarea.fs-ll-input{resize:vertical;min-height:120px;}
.fs-ll-sent{display:flex;flex-direction:column;align-items:center;gap:14px;padding:44px 0;text-align:center;}
.fs-ll-sent-ring{width:56px;height:56px;border-radius:50%;background:var(--fs-ll-soft);display:grid;place-items:center;color:rgb(var(--c-brand-600));}
.fs-ll-sent-h{font-size:20px;font-weight:600;}
@media (max-width:940px){ .fs-ll-contact{grid-template-columns:1fr;gap:32px;padding-top:56px;} }
@media (max-width:620px){ .fs-ll-contact{padding-top:44px;} .fs-ll-form-card{padding:22px;} }

/* ══ APP SHELL — the signed-in pages share a 36px top pad and the
      product tab bar (rendered by the theme's app blocks themselves,
      since the platform header carries the marketing nav) ═════════ */
.fs-ll-app{padding-top:36px;padding-bottom:64px;}
.fs-ll-tabs-band{border-top:1px solid rgb(var(--c-line));border-bottom:1px solid rgb(var(--c-line));background:rgb(var(--c-paper-soft));}
.fs-ll-tabs{display:flex;gap:26px;overflow-x:auto;scrollbar-width:none;}
.fs-ll-tabs::-webkit-scrollbar{display:none;}
.fs-ll-tab{background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;color:rgb(var(--c-ink-400));padding:13px 0;white-space:nowrap;transition:color .2s,border-color .2s;min-height:44px;}
.fs-ll-tab[aria-current="page"]{color:rgb(var(--c-brand-700));border-bottom-color:rgb(var(--c-brand-600));}
.fs-ll-app-title{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:22px;flex-wrap:wrap;}
.fs-ll-app-h1{font-family:var(--font-display,'Inter',sans-serif);font-size:30px;font-weight:600;letter-spacing:-.02em;margin:0;line-height:1.15;}
.fs-ll-kpi{padding:20px;transition:transform .25s ease-out;}
.fs-ll-anim .fs-ll-kpi:hover{transform:translateY(-2px);}
.fs-ll-kpi .fs-ll-lbl{font-size:12px;} /* export 11px */
.fs-ll-kpi-v{font-family:var(--fs-ll-mono);font-size:26px;font-weight:500;margin-top:4px;line-height:1.15;}
.fs-ll-kpi-s{font-size:12px;color:rgb(var(--c-ink-400));margin-top:2px;}
.fs-ll-kpis{margin-bottom:16px;}
.fs-ll-dash-split{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:14px;}
.fs-ll-panel{padding:24px;}
.fs-ll-panel-t{font-size:15px;font-weight:600;}
.fs-ll-panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:12px;}
.fs-ll-chart{display:flex;align-items:flex-end;gap:12px;height:170px;}
.fs-ll-chart-160{height:160px;}
.fs-ll-chart > div{flex:1;display:flex;flex-direction:column;gap:8px;height:100%;justify-content:flex-end;min-width:0;}
.fs-ll-chart-bar{background:var(--fs-ll-soft);border-radius:6px;transition:background .3s;cursor:pointer;}
.fs-ll-chart-bar.fs-ll-bar-on{background:rgb(var(--c-brand-600));}
.fs-ll-chart-bar:hover{background:rgb(var(--c-brand-600));}
.fs-ll-chart-m{font-family:var(--fs-ll-mono);font-size:12px;color:rgb(var(--c-ink-400));text-align:center;} /* export 11px */
.fs-ll-feed{display:flex;flex-direction:column;gap:12px;}
.fs-ll-feed-i{display:flex;gap:11px;align-items:flex-start;font-size:13px;line-height:1.5;}
.fs-ll-feed-i .fs-ll-dot{margin-top:5px;}
.fs-ll-feed-i .fs-ll-feed-b{font-weight:600;}
.fs-ll-feed-t{font-size:12px;color:rgb(var(--c-ink-400));}
@media (max-width:960px){ .fs-ll-dash-split{grid-template-columns:1fr;} }
@media (max-width:620px){ .fs-ll-chart{height:110px;} }

/* invoices: 1.5/1, table card + sticky detail card (top 76) */
.fs-ll-inv{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:14px;align-items:start;}
.fs-ll-table-card{overflow:hidden;}
.fs-ll-table-head{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid rgb(var(--c-line));gap:12px;}
.fs-ll-cols{display:grid;align-items:center;padding:10px 22px;font-family:var(--fs-ll-mono);font-size:12px;letter-spacing:.08em;color:rgb(var(--c-ink-400));border-bottom:1px solid rgb(var(--c-line));} /* export 10.5px */
.fs-ll-cols-inv,.fs-ll-row-inv{grid-template-columns:1.2fr 1.6fr 1fr .9fr;}
.fs-ll-cols-pay,.fs-ll-row-pay{grid-template-columns:1fr 1.6fr 1.1fr 1fr .8fr;}
.fs-ll-trow{display:grid;align-items:center;padding:14px 22px;border-bottom:1px solid rgb(var(--c-line));transition:background .2s,box-shadow .2s;gap:8px;min-width:0;}
.fs-ll-trow:hover{background:var(--fs-ll-soft);}
.fs-ll-trow-btn{width:100%;background:none;border:none;border-bottom:1px solid rgb(var(--c-line));cursor:pointer;font-family:inherit;text-align:left;color:inherit;}
.fs-ll-trow-btn:hover{box-shadow:inset 2px 0 0 rgb(var(--c-brand-600));}
.fs-ll-trow-on{background:var(--fs-ll-soft);}
.fs-ll-cell-mono{font-family:var(--fs-ll-mono);font-size:13px;}
.fs-ll-cell-mono-12{font-family:var(--fs-ll-mono);font-size:12.5px;}
.fs-ll-cell-n{font-size:14px;font-weight:600;}
.fs-ll-status{font-size:12px;font-weight:600;letter-spacing:.04em;border-radius:999px;padding:4px 10px;display:inline-block;line-height:1.2;} /* export 10.5px */
.fs-ll-status-paid{color:rgb(var(--c-brand-700));background:var(--fs-ll-soft);}
.fs-ll-status-open{color:rgb(var(--c-ink-400));background:var(--fs-ll-soft);}
.fs-ll-status-bad{color:rgb(var(--fs-status-bad-on));background:rgb(var(--fs-status-bad-tint));}
.fs-ll-detail{padding:26px;display:flex;flex-direction:column;gap:14px;position:sticky;top:76px;}
.fs-ll-detail-n{font-family:var(--fs-ll-mono);font-size:15px;}
.fs-ll-detail-c{font-size:20px;font-weight:600;}
.fs-ll-detail-a{font-family:var(--fs-ll-mono);font-size:32px;font-weight:500;color:rgb(var(--c-brand-600));line-height:1.1;}
.fs-ll-detail-kv{display:flex;flex-direction:column;gap:9px;border-top:1px solid rgb(var(--c-line));padding-top:14px;font-size:13px;}
.fs-ll-detail-kv > div{display:flex;justify-content:space-between;gap:12px;}
.fs-ll-detail-actions{display:flex;gap:10px;margin-top:6px;}
.fs-ll-detail-actions .fs-ll-btn{flex:1;}
.fs-ll-table-scroll{overflow-x:auto;}
.fs-ll-table-scroll > *{min-width:640px;}
@media (max-width:1040px){ .fs-ll-inv{grid-template-columns:1fr;} .fs-ll-detail{position:static;} }

/* payments: 3 summary cards + history table */
.fs-ll-grid-3-200{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,max(200px,calc((100% - 28px)/3))),1fr));gap:14px;margin-bottom:16px;}
.fs-ll-cell-amt{font-family:var(--fs-ll-mono);font-size:13px;text-align:right;color:rgb(var(--c-brand-700));}
.fs-ll-cell-meth{font-size:12px;color:rgb(var(--c-ink-400));text-align:right;}

/* reports: title + actions, 2-up cards floor 320 */
.fs-ll-grid-2-320{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,max(320px,calc((100% - 14px)/2))),1fr));gap:14px;}
.fs-ll-aging{display:flex;flex-direction:column;gap:12px;}
.fs-ll-aging-r{display:flex;justify-content:space-between;font-size:13px;margin-bottom:6px;}
.fs-ll-aging-note{font-size:12.5px;color:rgb(var(--c-ink-400));border-top:1px solid rgb(var(--c-line));padding-top:12px;line-height:1.5;}
.fs-ll-app-actions{display:flex;gap:10px;flex-wrap:wrap;}

/* settings: 720 measure, profile grid floor 220, toggle rows */
.fs-ll-settings{max-width:720px;}
.fs-ll-settings .fs-ll-app-h1{margin-bottom:22px;}
.fs-ll-set-card{padding:28px;display:flex;flex-direction:column;gap:18px;margin-bottom:14px;}
.fs-ll-set-card-6{gap:6px;}
.fs-ll-set-t{font-size:15px;font-weight:600;}
.fs-ll-toggle-row{display:flex;justify-content:space-between;align-items:center;gap:16px;background:none;border:none;border-bottom:1px solid rgb(var(--c-line));padding:13px 0;cursor:pointer;font-family:inherit;text-align:left;width:100%;color:inherit;min-height:44px;}
.fs-ll-toggle-l{font-size:14px;font-weight:600;}
.fs-ll-toggle-s{font-size:12.5px;color:rgb(var(--c-ink-400));}
.fs-ll-set-note{font-size:12.5px;color:rgb(var(--c-ink-400));margin-top:12px;}

/* ══ LEGAL — eyebrow + h1 + meta hairline, 68ch prose, sticky aside
      (legal.dc.html). Stacks below 900. ═════════════════════════ */
.fs-ll-legal{padding:64px 0 96px;display:grid;grid-template-columns:minmax(0,680px) minmax(0,1fr);gap:56px;align-items:start;}
.fs-ll-legal-h1{font-family:var(--font-display,'Inter',sans-serif);font-size:40px;font-weight:600;letter-spacing:-.025em;line-height:1.12;margin:0 0 22px;text-wrap:pretty;}
.fs-ll-legal-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-bottom:26px;border-bottom:1px solid rgb(var(--c-line));margin-bottom:36px;font-family:var(--fs-ll-mono);font-size:12px;letter-spacing:.06em;color:rgb(var(--c-ink-400));} /* export 11px */
.fs-ll-legal-meta i{width:1px;height:12px;background:rgb(var(--c-line));display:inline-block;}
.fs-ll-legal-body{font-size:16.5px;line-height:1.78;color:rgb(var(--c-ink-400));max-width:68ch;text-wrap:pretty;white-space:pre-line;}
.fs-ll-legal-body p{margin:0 0 22px;}
.fs-ll-legal-aside{position:sticky;top:104px;display:flex;flex-direction:column;gap:14px;}
.fs-ll-legal-doc{padding:20px 22px;display:flex;flex-direction:column;gap:10px;}
.fs-ll-legal-doc-t{font-size:14px;font-weight:600;line-height:1.45;}
.fs-ll-legal-note{font-size:12.5px;line-height:1.6;color:rgb(var(--c-ink-400));padding:0 4px;}
.fs-ll .fs-ll-legal-note a,.fs-ll .fs-ll-legal-mail{color:rgb(var(--c-brand-700));border-bottom:1px solid var(--fs-ll-soft);}
.fs-ll-legal-links{display:flex;flex-direction:column;gap:8px;}
.fs-ll .fs-ll-legal-links a,.fs-ll .fs-ll-legal-plink{font-size:13px;color:rgb(var(--c-ink-400));transition:color .2s;}
.fs-ll .fs-ll-legal-links a:hover,.fs-ll .fs-ll-legal-plink:hover{color:rgb(var(--c-brand-700));}
@media (max-width:900px){ .fs-ll-legal{grid-template-columns:1fr;gap:28px;padding:44px 0 64px;} .fs-ll-legal-aside{position:static;} .fs-ll-legal-h1{font-size:32px;} }

/* ══ FOOTER 01 — Trust Ledger. Three full-bleed bands:
      1.25fr/1fr/1fr/1fr directory (link col floor 180), a --raise trust
      strip with a 30-bar uptime histogram, a disclaimer + mono legal row.
      (07-footers.html f1; the platform legal links row is appended by
      the platform, so TERMS / PRIVACY are NOT authored here.)

      FULL WIDTH, NOT A CARD - owner, 2026-09-03: "The boxed border on
      the footer is just there for aesthetics to section it off whilst
      showing you the various borders, however, it's not intended to be
      part of the theme." The specimen sheet frames each footer in a
      card so three can sit on one page; the website file's own footer
      is border-top:1px solid var(--line); background:var(--surface)
      edge to edge with the content on the shell track. That is the
      shape here: the block root is the surface, every band bleeds, the
      hairlines run the full width, and .fs-ll-footer-in is the track.
      (An earlier pass read the specimen's frame as the design and
      shipped a boxed, shadowed card - a deviation now withdrawn.) ═════ */
/* The export's <main> is padding:0 40px 90px on every page — 90px of
   page ground between the last section and the footer's top hairline.
   The port stacks blocks as siblings and had NO equivalent: the gap
   measured 0 on all five pages probed (home, pricing, contact,
   dashboard, invoices), and no gate had asked — census compares
   section heights, shell parity widths, verify-theme element props;
   none measured the space between the last block and the footer.
   Owner, 2026-09-03: "The footer region is too close on the main
   content." Both footer blocks carry the 90 so every page gets it. */
[data-fs-ll-block='footer'],[data-fs-ll-block='opsbar']{margin-top:90px;}
[data-fs-ll-block='footer']{background:rgb(var(--c-paper-soft));border-top:1px solid rgb(var(--c-line));}
.fs-ll-footer-in{max-width:var(--fs-layout-max, var(--fs-shell-max,1180px));margin:0 auto;padding-left:40px;padding-right:40px;}
.fs-ll-footer-dir{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,max(180px,calc((100% - 108px)/4))),1fr));gap:36px;padding:40px 0 34px;}
.fs-ll-footer-brand{display:flex;flex-direction:column;gap:16px;min-width:0;}
.fs-ll-brand-row{display:flex;align-items:center;gap:10px;}
.fs-ll-brand-mark{color:rgb(var(--c-brand-600));display:inline-flex;}
.fs-ll-brand-word{font-size:16px;font-weight:600;}
.fs-ll-brand-word .fs-ll-brand-accent{color:rgb(var(--c-brand-600));font-weight:600;}
.fs-ll-footer-tag{font-size:13px;line-height:1.6;color:rgb(var(--c-ink-400));max-width:250px;}
.fs-ll-certs{display:flex;flex-direction:column;gap:9px;margin-top:2px;}
.fs-ll-cert{display:flex;align-items:center;gap:9px;font-size:12px;color:rgb(var(--c-ink-400));}
.fs-ll-cert .fs-ll-icon svg{width:15px;height:15px;}
.fs-ll-fcol{display:flex;flex-direction:column;gap:11px;min-width:0;}
.fs-ll-fcol .fs-ll-lbl{letter-spacing:.11em;}
.fs-ll .fs-ll-fcol a,.fs-ll .fs-ll-flink{font-size:13px;color:rgb(var(--c-ink-400));transition:color .2s,transform .2s;display:inline-block;}
.fs-ll .fs-ll-fcol a:hover,.fs-ll .fs-ll-flink:hover{color:rgb(var(--c-brand-700));transform:translateX(2px);}
.fs-ll-trust{border-top:1px solid rgb(var(--c-line));border-bottom:1px solid rgb(var(--c-line));background:rgb(var(--c-paper-sunk));}
.fs-ll-trust-in{display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding-top:16px;padding-bottom:16px;}
.fs-ll-trust-ok{display:flex;align-items:center;gap:9px;font-size:12.5px;font-weight:600;}
.fs-ll-trust-ok .fs-ll-dot{width:7px;height:7px;}
.fs-ll-uptime{display:flex;align-items:center;gap:14px;}
.fs-ll-uptime-bars{display:flex;align-items:flex-end;gap:2px;height:16px;}
.fs-ll-uptime-bars > i{width:3px;height:100%;background:rgb(var(--c-brand-600));opacity:.55;border-radius:1px;display:block;transform-origin:bottom;}
.fs-ll-uptime-bars > i.fs-ll-up-hold{height:62%;background:rgb(var(--fs-status-warn));opacity:1;}
.fs-ll-anim .fs-ll-uptime-bars > i{animation:var(--fs-anim-llBars, fsllBar .4s ease-out both);}
.fs-ll-uptime-v{font-family:var(--fs-ll-mono);font-size:12.5px;}
.fs-ll .fs-ll-trust a,.fs-ll .fs-ll-trust-link{font-size:12.5px;font-weight:600;color:rgb(var(--c-brand-700));}
.fs-ll-legalband{display:flex;align-items:flex-start;gap:28px;flex-wrap:wrap;padding:20px 0 24px;}
.fs-ll-disclaimer{flex:1;min-width:280px;font-size:12px;line-height:1.6;color:rgb(var(--c-ink-400));} /* export 11.5px */
.fs-ll-legalrow{display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-family:var(--fs-ll-mono);font-size:12px;letter-spacing:.06em;color:rgb(var(--c-ink-400));} /* export 10.5px */
.fs-ll .fs-ll-legalrow a,.fs-ll .fs-ll-legal-link{color:rgb(var(--c-ink-400));}
@media (max-width:620px){
  .fs-ll-footer-in{padding-left:22px;padding-right:22px;}
  .fs-ll-footer-dir{padding-top:28px;padding-bottom:24px;}
  .fs-ll-uptime-bars > i:nth-child(n+15){display:none;}
}
@media (max-width:400px){ .fs-ll-uptime-bars{display:none;} }

/* ══ FOOTER 02 — Ledger Ops Bar. One glass rail of hairline-divided
      instrument segments + a mono micro-strip. (07-footers.html f2) ═ */
.fs-ll-ops-wrap{max-width:var(--fs-layout-max, var(--fs-shell-max,1180px));margin:0 auto;padding:24px 40px 34px;}
.fs-ll-ops{background:var(--fs-ll-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgb(var(--c-line));border-radius:14px;box-shadow:var(--fs-ll-shadow-lift);overflow:hidden;}
.fs-ll-ops-row{display:flex;align-items:center;flex-wrap:wrap;}
.fs-ll-ops-seg{display:flex;align-items:center;gap:10px;padding:14px 18px;border-right:1px solid rgb(var(--c-line));}
.fs-ll-ops-seg-mods{gap:6px;padding:10px 14px;}
.fs-ll-ops-seg-9{gap:9px;padding:14px 16px;}
.fs-ll-ops-mod{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:rgb(var(--c-ink-400));padding:8px 11px;border-radius:9px;transition:background .2s,color .2s;min-height:36px;}
.fs-ll-ops-mod:hover{background:var(--fs-ll-soft);color:rgb(var(--c-brand-700));}
.fs-ll-ops-mod .fs-ll-icon svg{width:16px;height:16px;}
.fs-ll-ops-mod .fs-ll-icon{color:inherit;}
.fs-ll-ops-ver{font-family:var(--fs-ll-mono);font-size:12px;letter-spacing:.1em;color:rgb(var(--c-ink-400));} /* export 10.5px */
.fs-ll-ops-feed{font-size:12px;color:rgb(var(--c-ink-400));}
.fs-ll-ops-feed .fs-ll-ops-feed-t{font-family:var(--fs-ll-mono);font-weight:400;color:rgb(var(--c-ink-950));}
.fs-ll-ops-chip{font-size:12px;font-weight:600;color:rgb(var(--c-brand-700));background:var(--fs-ll-soft);border-radius:999px;padding:3px 8px;} /* export 10px */
.fs-ll-ops-spacer{flex:1;min-width:0;}
.fs-ll-ops-actions{display:flex;align-items:center;gap:8px;padding:11px 14px;border-left:1px solid rgb(var(--c-line));flex-wrap:wrap;}
.fs-ll-ops-btn{display:inline-flex;align-items:center;gap:7px;font-family:inherit;font-size:12px;font-weight:600;color:rgb(var(--c-ink-950));background:none;border:1px solid rgb(var(--c-line));border-radius:9px;padding:8px 12px;cursor:pointer;transition:border-color .2s,color .2s;min-height:36px;}
.fs-ll-ops-btn:hover{border-color:rgb(var(--c-brand-600));color:rgb(var(--c-brand-700));}
.fs-ll-ops-btn .fs-ll-icon{color:inherit;}
.fs-ll-ops-btn .fs-ll-icon svg{width:15px;height:15px;}
.fs-ll-ops-tz{display:flex;align-items:center;gap:7px;border:1px solid rgb(var(--c-line));border-radius:9px;padding:8px 11px;font-family:var(--fs-ll-mono);font-size:12px;color:rgb(var(--c-ink-400));} /* export 11.5px */
.fs-ll-ops-tz i{color:rgb(var(--c-line));font-style:normal;}
.fs-ll-ops-ico{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;color:rgb(var(--c-ink-400));transition:background .2s,color .2s;}
.fs-ll-ops-ico:hover{background:var(--fs-ll-soft);color:rgb(var(--c-brand-700));}
.fs-ll-ops-ico .fs-ll-icon{color:inherit;}
.fs-ll-ops-ico .fs-ll-icon svg{width:17px;height:17px;}
.fs-ll-ops-strip{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:9px 18px;border-top:1px solid rgb(var(--c-line));font-family:var(--fs-ll-mono);font-size:12px;letter-spacing:.07em;color:rgb(var(--c-ink-400));} /* export 10px */
.fs-ll .fs-ll-ops-strip a,.fs-ll .fs-ll-ops-slink{color:rgb(var(--c-ink-400));}
@media (max-width:620px){
  .fs-ll-ops-wrap{padding:20px 20px 28px;}
  .fs-ll-ops-seg-mods,.fs-ll-ops-seg-period,.fs-ll-ops-tz,.fs-ll-ops-ico{display:none;}
  .fs-ll-ops-actions{border-left:none;width:100%;}
}

/* ══ FOOTER 03 — Client Statement. 1.1fr/.9fr two-pane card: identity
      + figure tiles + actions + small print left, a --raise document
      shelf right. Identity on top below 820. (07-footers.html f3) ═ */
.fs-ll-stmt-wrap{max-width:var(--fs-layout-max, var(--fs-shell-max,1180px));margin:0 auto;padding:24px 40px 34px;}
.fs-ll-stmt{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);border-radius:16px;overflow:hidden;}
.fs-ll-stmt-l{padding:34px 36px;display:flex;flex-direction:column;gap:22px;border-right:1px solid rgb(var(--c-line));}
.fs-ll-stmt-id{display:flex;align-items:flex-start;gap:14px;}
.fs-ll-stmt-tile{width:42px;height:42px;border-radius:12px;background:var(--fs-ll-soft);display:grid;place-items:center;flex:none;color:rgb(var(--c-brand-600));}
.fs-ll-stmt-n{font-size:15px;font-weight:600;}
.fs-ll-stmt-a{font-size:12.5px;color:rgb(var(--c-ink-400));line-height:1.55;margin-top:3px;white-space:pre-line;}
.fs-ll-stmt-figs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:14px;}
.fs-ll-stmt-fig{border:1px solid rgb(var(--c-line));border-radius:12px;padding:14px 16px;}
.fs-ll-stmt-fig .fs-ll-lbl{letter-spacing:.11em;}
.fs-ll-stmt-fig-v{font-family:var(--fs-ll-mono);font-size:14px;margin-top:5px;}
.fs-ll-stmt-actions{display:flex;gap:10px;flex-wrap:wrap;}
.fs-ll-stmt-actions .fs-ll-btn{font-size:13px;padding:12px 18px;}
.fs-ll-stmt-actions .fs-ll-btn-ghost{padding:11px 18px;}
.fs-ll-stmt-fine{font-size:12px;line-height:1.6;color:rgb(var(--c-ink-400));border-top:1px solid rgb(var(--c-line));padding-top:16px;} /* export 11.5px */
.fs-ll-stmt-r{padding:34px 36px;display:flex;flex-direction:column;gap:20px;background:rgb(var(--c-paper-sunk));}
.fs-ll-stmt-docs{display:flex;flex-direction:column;gap:12px;}
.fs-ll-stmt-doc{display:flex;align-items:center;gap:11px;font-size:13px;color:rgb(var(--c-ink-950));padding:9px 11px;margin:0 -11px;border-radius:9px;transition:background .2s;min-height:40px;}
.fs-ll-stmt-doc:hover{background:var(--fs-ll-soft);}
.fs-ll-stmt-doc .fs-ll-icon svg{width:16px;height:16px;}
.fs-ll-stmt-doc-c{font-family:var(--fs-ll-mono);font-size:12px;color:rgb(var(--c-ink-400));} /* export 11px */
.fs-ll-stmt-help{display:flex;flex-direction:column;gap:10px;border-top:1px solid rgb(var(--c-line));padding-top:18px;}
.fs-ll-stmt-help-links{display:flex;flex-wrap:wrap;gap:10px 18px;}
.fs-ll .fs-ll-stmt-help-links a,.fs-ll .fs-ll-stmt-hlink{font-size:13px;color:rgb(var(--c-ink-400));transition:color .2s;}
.fs-ll .fs-ll-stmt-help-links a:hover,.fs-ll .fs-ll-stmt-hlink:hover{color:rgb(var(--c-brand-700));}
.fs-ll-stmt-secure{margin-top:auto;display:flex;align-items:center;gap:10px;border-top:1px solid rgb(var(--c-line));padding-top:18px;font-size:12px;color:rgb(var(--c-ink-400));} /* export 11.5px */
.fs-ll-stmt-secure .fs-ll-dot{width:7px;height:7px;}
.fs-ll-anim .fs-ll-stmt-secure .fs-ll-dot{animation:var(--fs-anim-llPulse, fsllTick 3s ease-in-out infinite);}
.fs-ll-stmt-secure .fs-ll-stmt-secure-t{font-family:var(--fs-ll-mono);font-weight:400;}
.fs-ll-stmt-pow{display:flex;align-items:center;gap:8px;font-family:var(--fs-ll-mono);font-size:12px;letter-spacing:.07em;color:rgb(var(--c-ink-400));} /* export 10px */
.fs-ll-stmt-pow .fs-ll-stmt-pow-b{color:rgb(var(--c-ink-950));font-weight:400;}
@media (max-width:900px){ .fs-ll-stmt{grid-template-columns:1fr;} .fs-ll-stmt-l{border-right:none;border-bottom:1px solid rgb(var(--c-line));} }
@media (max-width:620px){ .fs-ll-stmt-wrap{padding:20px 20px 28px;} .fs-ll-stmt-l,.fs-ll-stmt-r{padding:24px 22px;} }

/* ══ THE MEGA MENU — Module Directory (08-mega-menus.html Menu 01), on
      the 'ledgercard' archetype. The archetype draws the card; this
      block lays the four composites on the kit's 1.55fr / .95fr grid
      and transplants each one's styling. The content cell's columns
      are flattened (display:contents) so the composites are the grid's
      own children and can take grid areas — the engine's column
      buckets are the wrong shape for a two-column-plus-foot layout.
      Scoped to the theme, as chef-prime-styles.ts scopes its panel. ══ */
[data-fs-theme='ledgerlite'] .fsdrop-panel-ledgercard{
  --fs-band-pad-y:30px;
  --fs-card-pad-x:34px;
  /* the panel sits inside the nav, which carries Tailwind's text-sm
     font-medium (14/20, 500); the kit's panel is plain 400 at normal
     leading, so reset here and let each role state its own size */
  font-family:var(--font-body,'Inter',system-ui,sans-serif);font-weight:400;line-height:normal;font-size:14px;
  --fs-ll-soft:rgb(var(--c-brand-600) / .09);
  --fs-ll-mono:var(--font-mono,'Roboto Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace);
}
.dark [data-fs-theme='ledgerlite'] .fsdrop-panel-ledgercard,
[data-fs-theme='ledgerlite'].dark .fsdrop-panel-ledgercard{ --fs-ll-soft:rgb(var(--c-brand-600) / .14); }
/* same two-.dark guard as .fs-preview-light .fs-ll above */
.fs-preview-light [data-fs-theme='ledgerlite'] .fsdrop-panel-ledgercard,
[data-fs-theme='ledgerlite'].fs-preview-light .fsdrop-panel-ledgercard{ --fs-ll-soft:rgb(var(--c-brand-600) / .09); }
[data-fs-theme='ledgerlite'] .fsdrop-panel-ledgercard .fsdrop-mega-content{
  display:grid !important;
  grid-template-columns:minmax(0,1.55fr) minmax(0,.95fr) !important;
  grid-template-rows:auto 1fr auto;
  gap:0 30px;
}
[data-fs-theme='ledgerlite'] .fsdrop-panel-ledgercard .fsdrop-mega-content-col{ display:contents; }
[data-fs-theme='ledgerlite'] .fsdrop-panel-ledgercard .fsdrop-mega-composite{ display:block; min-width:0; }
[data-fs-theme='ledgerlite'] .fsdrop-panel-ledgercard [data-fs-composite='ledgerlite.modules']{ grid-column:1; grid-row:1; }
[data-fs-theme='ledgerlite'] .fsdrop-panel-ledgercard [data-fs-composite='ledgerlite.compliance']{ grid-column:1; grid-row:2; }
[data-fs-theme='ledgerlite'] .fsdrop-panel-ledgercard [data-fs-composite='ledgerlite.live']{ grid-column:2; grid-row:1 / span 2; }
[data-fs-theme='ledgerlite'] .fsdrop-panel-ledgercard [data-fs-composite='ledgerlite.foot']{ grid-column:1 / -1; grid-row:3; }

/* eyebrow: mono 10px .11em muted in the kit — 12px floor */
.fs-llm-eyebrow{display:block;font-family:var(--fs-ll-mono);font-size:12px;letter-spacing:.11em;color:rgb(var(--c-ink-400));}
.fs-llm-modules .fs-llm-eyebrow{margin-bottom:14px;}
/* six module cards, three across, gap 10; 13px pad, 12 radius, transparent
   hairline that turns --accent on hover over a --soft wash; the kit's
   llstagger entrance 260ms, 25ms apart */
.fs-llm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
[data-fs-theme='ledgerlite'] .fs-llm-mod{display:flex;gap:12px;padding:13px;border:1px solid transparent;border-radius:12px;transition:background .2s,border-color .2s;text-decoration:none;color:inherit;animation:fsllStagger .26s ease-out both;min-width:0;}
.fs-llm-mod:hover{background:var(--fs-ll-soft);border-color:rgb(var(--c-brand-600));}
.fs-llm-glyph{color:rgb(var(--c-brand-600));display:flex;flex:none;margin-top:1px;}
.fs-llm-glyph svg{width:19px;height:19px;}
.fs-llm-mod-text{min-width:0;}
.fs-llm-mod-name{display:block;font-size:13.5px;font-weight:600;color:rgb(var(--c-ink-950));}
.fs-llm-mod-desc{display:block;font-size:12px;color:rgb(var(--c-ink-400));line-height:1.5;margin-top:3px;}
/* compliance strip: 22px above (gap − 8), hairline, 16px pad */
.fs-llm-compliance{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:22px;padding-top:16px;border-top:1px solid rgb(var(--c-line));}
[data-fs-theme='ledgerlite'] .fs-llm-clink{font-size:12.5px;color:rgb(var(--c-ink-400));transition:color .2s;text-decoration:none;}
[data-fs-theme='ledgerlite'] a.fs-llm-clink:hover{color:rgb(var(--c-brand-700));}
/* the live pane: --raise, hairline, radius 14, 20px pad, 16px stack */
.fs-llm-live{background:rgb(var(--c-paper-sunk));border:1px solid rgb(var(--c-line));border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:16px;}
.fs-llm-live-fig{font-family:var(--fs-ll-mono);font-size:26px;font-weight:500;margin-top:5px;font-variant-numeric:tabular-nums;}
.fs-llm-spark{display:flex;align-items:flex-end;gap:4px;height:34px;margin-top:10px;}
.fs-llm-spark > i{flex:1;background:var(--fs-ll-soft);border-radius:3px;display:block;transform-origin:bottom;animation:fsllBar .45s ease-out both;}
.fs-llm-spark > i.fs-llm-spark-on{background:rgb(var(--c-brand-600));}
.fs-llm-recent{display:flex;flex-direction:column;gap:9px;border-top:1px solid rgb(var(--c-line));padding-top:14px;}
[data-fs-theme='ledgerlite'] .fs-llm-inv{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 9px;margin:0 -9px;border-radius:8px;transition:background .2s;text-decoration:none;color:inherit;}
a.fs-llm-inv:hover{background:var(--fs-ll-soft);}
.fs-llm-inv-text{min-width:0;}
.fs-llm-inv-name{display:block;font-size:12.5px;font-weight:600;color:rgb(var(--c-ink-950));}
.fs-llm-inv-no{display:block;font-family:var(--fs-ll-mono);font-size:12px;color:rgb(var(--c-ink-400));} /* kit 10.5px */
.fs-llm-inv-amt{font-family:var(--fs-ll-mono);font-size:12px;color:rgb(var(--c-ink-400));}
.fs-llm-inv-overdue{color:rgb(var(--fs-status-bad));}
.fs-llm-live-note{display:flex;align-items:center;gap:9px;border-top:1px solid rgb(var(--c-line));padding-top:14px;font-size:12px;color:rgb(var(--c-ink-400));}
.fs-llm-dot{width:6px;height:6px;border-radius:50%;background:rgb(var(--c-brand-600));flex:none;display:inline-block;}
.fs-llm-pulse{animation:var(--fs-anim-llPulse, fsllPulse 2.6s ease-in-out infinite);}
/* the foot band: --raise, hairline above, on the card's full width,
   12px 34px — pulled back by the card's own padding to reach its edges */
/* the band: hairline + --raise, pulled to the card's edges and down
   over the inner's 30px bottom pad, so the inner keeps the kit's
   padding and the band still closes the card */
/* 08-mega-menus.html: the strip sits OUTSIDE inner (padding L.pad), so
   L.pad (30px) separates the lowest content from its top border. The
   port's grid had row-gap 0 and the strip pulled flush with negative
   margins: the Live card's bottom border TOUCHED the strip in every
   layout (measured 494px == 494px). margin-top restores the pad. */
.fs-llm-foot{display:block;margin:var(--fs-band-pad-y,30px) calc(-1 * var(--fs-card-pad-x,34px)) calc(-1 * var(--fs-band-pad-y,30px));border-top:1px solid rgb(var(--c-line));background:rgb(var(--c-paper-sunk));}
.fs-llm-foot-in{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:12px var(--fs-card-pad-x,34px);font-family:var(--fs-ll-mono);font-size:12px;letter-spacing:.11em;color:rgb(var(--c-ink-400));}
[data-fs-theme='ledgerlite'] .fs-llm-foot a{color:rgb(var(--c-ink-400));text-decoration:none;}
[data-fs-theme='ledgerlite'] .fs-llm-foot a:hover{color:rgb(var(--c-brand-700));}
.fs-llm-foot-spacer{flex:1;}
.fs-llm-foot-status{display:flex;align-items:center;gap:7px;}
@media (max-width:900px){
  [data-fs-theme='ledgerlite'] .fsdrop-panel-ledgercard .fsdrop-mega-content{grid-template-columns:minmax(0,1fr) !important;}
  [data-fs-theme='ledgerlite'] .fsdrop-panel-ledgercard [data-fs-composite='ledgerlite.live']{grid-column:1;grid-row:3;}
  [data-fs-theme='ledgerlite'] .fsdrop-panel-ledgercard [data-fs-composite='ledgerlite.foot']{grid-row:4;}
  .fs-llm-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:560px){ .fs-llm-grid{grid-template-columns:1fr;} }

/* ══ PREMIUM BLOCKS — the nine finance widgets (05-premium-blocks.html).
      Each renders inside .fs-ll-app padding on a page; card = surface,
      1px line, radius 16, --shadow. Floors from responsive.md §4. ══ */
.fs-ll-pb{padding:24px 40px;}
.fs-ll-pcard{background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));border-radius:16px;box-shadow:var(--fs-ll-shadow);}
.fs-ll-phead{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid rgb(var(--c-line));gap:14px;flex-wrap:wrap;}
.fs-ll-phead-t{font-size:15px;font-weight:600;}
.fs-ll-phead-s{font-size:12.5px;color:rgb(var(--c-ink-400));margin-top:2px;}
.fs-ll-pfoot{display:flex;align-items:center;gap:14px;padding:16px 24px;border-top:1px solid rgb(var(--c-line));font-family:var(--fs-ll-mono);font-size:12px;color:rgb(var(--c-ink-400));flex-wrap:wrap;} /* export 11px */
.fs-ll-pfoot-v{font-size:14px;color:rgb(var(--c-ink-950));}
.fs-ll-pactions{display:flex;gap:10px;padding:16px 24px;align-items:center;flex-wrap:wrap;}
.fs-ll-pactions .fs-ll-btn{font-size:13px;padding:12px 20px;}
.fs-ll-pactions .fs-ll-btn-ghost{padding:11px 20px;}
.fs-ll-chip{border:1px solid rgb(var(--c-line));border-radius:11px;padding:11px 16px;}
.fs-ll-chip-soft{background:var(--fs-ll-soft);border-color:transparent;}
.fs-ll-chip-v{font-family:var(--fs-ll-mono);font-size:16px;margin-top:3px;}
.fs-ll-chips{display:flex;gap:10px;flex-wrap:wrap;}
@media (max-width:620px){ .fs-ll-pb{padding:16px 20px;} .fs-ll-phead,.fs-ll-pfoot,.fs-ll-pactions{padding-left:18px;padding-right:18px;} }

/* 01 Cash Position Ribbon */
.fs-ll-ribbon-hero{display:flex;align-items:flex-end;gap:26px;padding:22px 24px 20px;flex-wrap:wrap;}
.fs-ll-ribbon-bal{font-family:var(--fs-ll-mono);font-size:44px;font-weight:500;letter-spacing:-.02em;line-height:1;}
.fs-ll-ribbon-cents{font-size:24px;color:rgb(var(--c-ink-400));}
.fs-ll-ribbon-delta{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:12.5px;flex-wrap:wrap;}
.fs-ll-ribbon-delta b{font-weight:600;color:rgb(var(--c-brand-700));}
.fs-ll-ribbon-spark{flex:1;min-width:220px;display:flex;align-items:flex-end;gap:5px;height:64px;}
.fs-ll-ribbon-spark > i{flex:1;background:var(--fs-ll-soft);border-radius:3px;display:block;transform-origin:bottom;}
.fs-ll-ribbon-spark > i.fs-ll-bar-on{background:rgb(var(--c-brand-600));}
.fs-ll-anim .fs-ll-ribbon-spark > i{animation:var(--fs-anim-llBars, fsllBar .5s ease-out both);}
.fs-ll-ribbon-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,max(140px,calc(100%/4))),1fr));border-top:1px solid rgb(var(--c-line));}
.fs-ll-ribbon-tile{min-width:0;padding:16px 20px;border-right:1px solid rgb(var(--c-line));transition:background .25s;cursor:pointer;}
.fs-ll-ribbon-tile:last-child{border-right:none;}
.fs-ll-ribbon-tile:hover{background:var(--fs-ll-soft);}
.fs-ll-ribbon-tile .fs-ll-lbl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;}
.fs-ll-ribbon-tile-v{font-family:var(--fs-ll-mono);font-size:17px;font-weight:500;margin:5px 0 8px;}
@media (max-width:760px){ .fs-ll-ribbon-spark{min-width:100%;} }
@media (max-width:380px){ .fs-ll-ribbon-spark{display:none;} }

/* 02 Aging Matrix — 1.6fr + 4×1fr + .8fr; row floor 280, scroll below 720 */
.fs-ll-aging-scroll{overflow-x:auto;}
.fs-ll-aging-scroll > *{min-width:720px;}
.fs-ll-aging-cols,.fs-ll-aging-row{display:grid;grid-template-columns:1.6fr repeat(4,1fr) .8fr;align-items:center;padding:13px 24px;border-bottom:1px solid rgb(var(--c-line));gap:8px;}
.fs-ll-aging-cols{padding:11px 24px;font-family:var(--fs-ll-mono);font-size:12px;letter-spacing:.1em;color:rgb(var(--c-ink-400));}
.fs-ll-aging-row{transition:background .2s;}
.fs-ll-aging-row:hover{background:var(--fs-ll-soft);}
.fs-ll-aging-client{display:flex;align-items:center;gap:11px;min-width:0;}
.fs-ll-aging-client .fs-ll-aging-name{font-size:13.5px;font-weight:600;}
.fs-ll-aging-client .fs-ll-aging-tot{font-family:var(--fs-ll-mono);font-size:12px;color:rgb(var(--c-ink-400));} /* export 11px */
.fs-ll-aging-cell{text-align:right;}
.fs-ll-aging-cell > span{display:inline-block;font-family:var(--fs-ll-mono);font-size:12.5px;border-radius:7px;padding:5px 9px;transition:transform .2s;}
.fs-ll-aging-cell > span:hover{transform:scale(1.06);}
.fs-ll-aging-cell-cur > span{color:rgb(var(--c-ink-950));background:var(--fs-ll-soft);}
.fs-ll-aging-cell-hold > span{color:rgb(var(--fs-status-warn-on));background:rgb(var(--fs-status-warn-tint));}
.fs-ll-aging-cell-bad > span{color:rgb(var(--fs-status-bad-on));background:rgb(var(--fs-status-bad-tint));}
.fs-ll-aging-cell-empty{font-family:var(--fs-ll-mono);font-size:12.5px;color:rgb(var(--c-line));}
.fs-ll-aging-tots{display:flex;gap:16px;flex-wrap:wrap;}
.fs-ll-aging-tot{text-align:right;}
.fs-ll-aging-tot-v{font-family:var(--fs-ll-mono);font-size:14px;}
.fs-ll-aging-foot{display:flex;justify-content:space-between;padding:14px 24px;font-family:var(--fs-ll-mono);font-size:12px;color:rgb(var(--c-ink-400));gap:12px;flex-wrap:wrap;} /* export 11px */

/* 03 Invoice Lifecycle — 6 equal columns; node col floor 92; vertical rail below 470 */
.fs-ll-life{padding:26px 28px;}
.fs-ll-life-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:26px;flex-wrap:wrap;gap:16px;}
.fs-ll-life-amt{font-family:var(--fs-ll-mono);font-size:30px;font-weight:500;margin-top:6px;line-height:1.1;}
.fs-ll-rail{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,92px),1fr));gap:0;}
.fs-ll-rail-track,.fs-ll-rail-fill{position:absolute;left:6%;top:11px;height:2px;}
.fs-ll-rail-track{right:6%;background:rgb(var(--c-line));}
.fs-ll-rail-fill{background:rgb(var(--c-brand-600));transition:width .6s ease-out;}
.fs-ll-stage{position:relative;display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;padding:0 6px;}
.fs-ll-node{width:24px;height:24px;border-radius:50%;border:2px solid rgb(var(--c-line));background:rgb(var(--c-paper-soft));display:grid;place-items:center;position:relative;z-index:2;transition:background .3s,border-color .3s;color:var(--fs-on-brand);}
.fs-ll-node-done{border-color:rgb(var(--c-brand-600));background:rgb(var(--c-brand-600));}
.fs-ll-node svg{width:12px;height:12px;}
.fs-ll-stage-n{font-size:12.5px;font-weight:600;color:rgb(var(--c-ink-400));}
.fs-ll-stage-done .fs-ll-stage-n{color:rgb(var(--c-ink-950));}
.fs-ll-stage-t{font-family:var(--fs-ll-mono);font-size:12px;color:rgb(var(--c-ink-400));line-height:1.4;} /* export 10.5px */
.fs-ll-life-foot{display:flex;gap:10px;margin-top:26px;padding-top:20px;border-top:1px solid rgb(var(--c-line));flex-wrap:wrap;align-items:center;}
.fs-ll-life-cad{display:flex;align-items:center;gap:8px;font-size:12.5px;color:rgb(var(--c-ink-400));}
@media (max-width:560px){
  .fs-ll-rail{grid-template-columns:1fr;gap:14px;}
  .fs-ll-rail-track,.fs-ll-rail-fill{left:11px;top:6%;bottom:6%;width:2px;height:auto;right:auto;}
  .fs-ll-rail-fill{bottom:auto;height:var(--fill,50%) !important;width:2px !important;}
  .fs-ll-stage{flex-direction:row;text-align:left;align-items:flex-start;padding:0;}
}

/* 04 Reconciliation Split — 1fr 44px 1fr; each ledger floor 300; stacks at 720 */
.fs-ll-rec{display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);}
.fs-ll-rec-l{border-right:1px solid rgb(var(--c-line));}
.fs-ll-rec-lbl{padding:11px 20px;border-bottom:1px solid rgb(var(--c-line));}
.fs-ll-rec-row{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid rgb(var(--c-line));gap:12px;transition:background .2s;}
.fs-ll-rec-row:hover{background:var(--fs-ll-soft);}
.fs-ll-rec-row-on{background:var(--fs-ll-soft);}
.fs-ll-rec-row-dim{opacity:.55;}
.fs-ll-rec-n{font-size:13px;font-weight:600;}
.fs-ll-rec-d{font-family:var(--fs-ll-mono);font-size:12px;color:rgb(var(--c-ink-400));margin-top:2px;} /* export 10.5px */
.fs-ll-rec-a{font-family:var(--fs-ll-mono);font-size:13px;}
.fs-ll-rec-a-accent{color:rgb(var(--c-brand-700));}
.fs-ll-rec-mid{display:flex;flex-direction:column;align-items:center;padding-top:60px;gap:38px;}
.fs-ll-rec-arrow{display:flex;flex-direction:column;align-items:center;gap:3px;}
.fs-ll-rec-arrow svg{width:18px;height:18px;}
.fs-ll-anim .fs-ll-rec-arrow svg{animation:var(--fs-anim-llPulse, fsllMatch 2.6s ease-in-out infinite);}
.fs-ll-rec-pct{font-family:var(--fs-ll-mono);font-size:12px;} /* export 8.5px */
.fs-ll-conf-hi{color:rgb(var(--c-brand-600));}
.fs-ll-conf-mid{color:rgb(var(--fs-status-warn));}
.fs-ll-conf-lo{color:rgb(var(--fs-status-bad));}
@media (max-width:800px){
  .fs-ll-rec{grid-template-columns:1fr;}
  .fs-ll-rec-l{border-right:none;}
  .fs-ll-rec-mid{flex-direction:row;padding:12px 20px;gap:18px;justify-content:center;border-bottom:1px solid rgb(var(--c-line));}
  .fs-ll-rec-arrow svg{transform:rotate(90deg);}
}

/* 05 Payment Run — 26px + 1.8fr + 1fr + 1fr; payee floor 200 */
.fs-ll-run-row{display:grid;grid-template-columns:26px minmax(0,1.8fr) minmax(0,1fr) minmax(0,1fr);align-items:center;gap:14px;padding:14px 24px;border-bottom:1px solid rgb(var(--c-line));transition:background .2s;}
.fs-ll-run-row:hover{background:var(--fs-ll-soft);}
.fs-ll-check{width:20px;height:20px;border-radius:6px;border:2px solid rgb(var(--c-line));background:transparent;display:grid;place-items:center;transition:background .25s,border-color .25s;color:var(--fs-on-brand);}
.fs-ll-check-on{border-color:rgb(var(--c-brand-600));background:rgb(var(--c-brand-600));}
.fs-ll-check svg{width:11px;height:11px;}
.fs-ll-run-n{font-size:13.5px;font-weight:600;}
.fs-ll-run-off .fs-ll-run-n,.fs-ll-run-off .fs-ll-run-a{color:rgb(var(--c-ink-400));}
.fs-ll-run-acct{font-family:var(--fs-ll-mono);font-size:12px;color:rgb(var(--c-ink-400));} /* export 11px */
.fs-ll-run-a{font-family:var(--fs-ll-mono);font-size:14px;text-align:right;}
.fs-ll-run-sum{display:flex;align-items:center;gap:24px;padding:20px 24px;background:rgb(var(--c-paper-sunk));flex-wrap:wrap;}
.fs-ll-run-tot{font-family:var(--fs-ll-mono);font-size:28px;font-weight:500;margin-top:4px;line-height:1.1;}
.fs-ll-run-meter{flex:1;min-width:180px;}
.fs-ll-run-meter-l{display:flex;justify-content:space-between;font-family:var(--fs-ll-mono);font-size:12px;color:rgb(var(--c-ink-400));margin-bottom:7px;} /* export 10.5px */
/* The sweep is a white highlight over the accent fill in both modes
   (05 payment run cash meter) — baselined literal, same reason. */
.fs-ll-sweep{position:absolute;inset:0;width:40%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);}
.fs-ll-run-sum .fs-ll-btn{font-size:14px;padding:14px 24px;border-radius:11px;}
@media (max-width:560px){
  .fs-ll-run-row{grid-template-columns:26px minmax(0,1fr) auto;}
  .fs-ll-run-acct{display:none;}
}

/* 06 Client Credit Health — 1.15fr / 1fr; dial 320 / terms 280; stacks at 760 */
.fs-ll-credit{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:14px;}
.fs-ll-credit-main{padding:26px 28px;display:flex;gap:26px;align-items:center;}
.fs-ll-dial{position:relative;flex:none;width:124px;height:124px;}
.fs-ll-dial svg{width:124px;height:124px;}
.fs-ll-dial-track{stroke:var(--fs-ll-soft);}
.fs-ll-dial-fill{stroke:rgb(var(--c-brand-600));}
.fs-ll-anim .fs-ll-dial-fill{animation:var(--fs-anim-llBars, fsllDash 1.1s .15s ease-out forwards);}
.fs-ll-dial-c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.fs-ll-dial-v{font-family:var(--fs-ll-mono);font-size:28px;font-weight:500;line-height:1;}
.fs-ll-credit-n{display:flex;align-items:center;gap:10px;margin-bottom:6px;flex-wrap:wrap;}
.fs-ll-credit-n .fs-ll-credit-name{font-size:19px;font-weight:600;}
.fs-ll-credit-s{font-size:13px;color:rgb(var(--c-ink-400));line-height:1.55;margin-bottom:16px;}
.fs-ll-meters{display:flex;flex-direction:column;gap:11px;}
.fs-ll-meter-r{display:flex;justify-content:space-between;font-size:12.5px;margin-bottom:6px;gap:12px;}
.fs-ll-meter-r span:last-child{font-family:var(--fs-ll-mono);}
.fs-ll-terms{padding:26px 28px;display:flex;flex-direction:column;gap:14px;}
.fs-ll-term{display:flex;justify-content:space-between;align-items:center;padding-bottom:11px;border-bottom:1px solid rgb(var(--c-line));gap:12px;}
.fs-ll-term:last-of-type{padding-bottom:0;border-bottom:none;}
.fs-ll-term span:first-child{font-size:13px;color:rgb(var(--c-ink-400));}
.fs-ll-term span:last-child{font-family:var(--fs-ll-mono);font-size:13px;}
.fs-ll-terms .fs-ll-btn{margin-top:auto;font-size:13px;padding:13px;}
@media (max-width:820px){ .fs-ll-credit{grid-template-columns:1fr;} }
@media (max-width:480px){ .fs-ll-credit-main{flex-direction:column;align-items:flex-start;} }

/* 07 Filing Deadline Strip — 4 equal cells floor 200; 1 blocked in --warn */
.fs-ll-filing{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,max(200px,calc(100%/4))),1fr));}
.fs-ll-file{padding:20px 22px;border-right:1px solid rgb(var(--c-line));display:flex;flex-direction:column;gap:12px;transition:background .25s;cursor:pointer;min-width:0;}
.fs-ll-file:last-child{border-right:none;}
.fs-ll-file:hover{background:var(--fs-ll-soft);}
.fs-ll-file-d{display:flex;align-items:baseline;gap:9px;}
.fs-ll-file-d .fs-ll-file-date{font-family:var(--fs-ll-mono);font-size:22px;font-weight:500;}
.fs-ll-file-d .fs-ll-file-days{font-size:12px;} /* export 11.5px */
.fs-ll-file-st{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;} /* export 11px */
.fs-ll-file-st .fs-ll-dot{background:currentColor;}
.fs-ll-file-st svg{width:13px;height:13px;}
.fs-ll-file-ok{color:rgb(var(--c-brand-700));}
.fs-ll-file-ok .fs-ll-meter > div{background:rgb(var(--c-brand-600));}
.fs-ll-file-bad{color:rgb(var(--fs-status-bad));}
.fs-ll-file-bad .fs-ll-meter > div{background:rgb(var(--fs-status-bad));}
.fs-ll-file-q{color:rgb(var(--c-ink-400));}
.fs-ll-file-q .fs-ll-meter > div{background:rgb(var(--c-ink-400));}
@media (max-width:900px){ .fs-ll-file{border-bottom:1px solid rgb(var(--c-line));} }

/* 08 Double-Entry Journal — five columns, scroll below 680 */
.fs-ll-jrn-scroll{overflow-x:auto;}
.fs-ll-jrn-scroll > *{min-width:680px;}
.fs-ll-jrn-cols,.fs-ll-jrn-row,.fs-ll-jrn-tot{display:grid;grid-template-columns:minmax(52px,.7fr) minmax(0,2.2fr) minmax(92px,1fr) minmax(92px,1fr) minmax(96px,1.1fr);column-gap:14px;padding:12px 24px;}
.fs-ll-jrn-cols{padding:11px 24px;border-bottom:1px solid rgb(var(--c-line));font-family:var(--fs-ll-mono);font-size:12px;letter-spacing:.1em;color:rgb(var(--c-ink-400));}
.fs-ll-jrn-row{align-items:center;border-bottom:1px solid rgb(var(--c-line));border-left:2px solid transparent;transition:background .2s;}
.fs-ll-jrn-row:hover{background:var(--fs-ll-soft);}
.fs-ll-jrn-row-new{border-left-color:rgb(var(--c-brand-600));}
.fs-ll-jrn-d{font-family:var(--fs-ll-mono);font-size:12px;color:rgb(var(--c-ink-400));} /* export 11.5px */
.fs-ll-jrn-acct{font-size:13px;font-weight:600;}
.fs-ll-jrn-row-cr .fs-ll-jrn-acct{font-weight:400;padding-left:18px;color:rgb(var(--c-ink-400));}
.fs-ll-jrn-v{font-family:var(--fs-ll-mono);font-size:12.5px;text-align:right;}
.fs-ll-jrn-v-cr{color:rgb(var(--c-brand-700));}
.fs-ll-jrn-v-empty{color:rgb(var(--c-line));}
.fs-ll-jrn-v-run{color:rgb(var(--c-ink-400));}
.fs-ll-jrn-tot{padding:15px 24px;background:rgb(var(--c-paper-sunk));font-family:var(--fs-ll-mono);font-size:13px;}
.fs-ll-jrn-tot .fs-ll-lbl{align-self:center;}

/* 09 Revenue Bridge — 6 columns, 14 gap, 210 tall; bar col floor 44 */
.fs-ll-bridge{padding:26px 28px;}
.fs-ll-bridge-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;flex-wrap:wrap;gap:14px;}
.fs-ll-bridge-fig{display:flex;align-items:baseline;gap:12px;margin-top:7px;flex-wrap:wrap;}
.fs-ll-bridge-fig .fs-ll-bridge-close{font-family:var(--fs-ll-mono);font-size:32px;font-weight:500;line-height:1;}
.fs-ll-bridge-fig .fs-ll-bridge-net{font-size:13px;font-weight:600;color:rgb(var(--c-brand-700));}
.fs-ll-bridge-chart{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;align-items:flex-end;height:210px;}
.fs-ll-bcol{position:relative;height:100%;display:flex;flex-direction:column;justify-content:flex-end;}
.fs-ll-bbar{position:absolute;left:0;right:0;border-radius:7px;transform-origin:bottom;transition:filter .2s;cursor:pointer;}
.fs-ll-bbar:hover{filter:brightness(1.08);}
.fs-ll-anim .fs-ll-bbar{animation:var(--fs-anim-llBars, fsllBar .55s ease-out both);}
.fs-ll-bbar-base{background:rgb(var(--c-brand-600));}
.fs-ll-bbar-up{background:var(--fs-ll-soft);border:1px solid rgb(var(--c-brand-600));}
.fs-ll-bbar-down{background:rgb(var(--fs-status-bad-tint));border:1px solid rgb(var(--fs-status-bad));}
.fs-ll-bval{position:absolute;left:0;right:0;text-align:center;font-family:var(--fs-ll-mono);font-size:12px;} /* export 11.5px */
.fs-ll-bval-up{color:rgb(var(--c-brand-700));}
.fs-ll-bval-down{color:rgb(var(--fs-status-bad));}
.fs-ll-blbl{position:relative;text-align:center;font-size:12px;font-weight:600;color:rgb(var(--c-ink-400));padding-top:10px;border-top:1px solid rgb(var(--c-line));} /* export 11.5px */
.fs-ll-bridge-table{display:none;}
.fs-ll-bridge-table > div{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid rgb(var(--c-line));font-size:13.5px;gap:12px;}
.fs-ll-bridge-table > div:last-child{border-bottom:none;}
.fs-ll-bridge-table span:last-child{font-family:var(--fs-ll-mono);font-size:14px;}
@media (max-width:640px){ .fs-ll-bridge-chart{gap:6px;} .fs-ll-bval{display:none;} }
@media (max-width:480px){ .fs-ll-bridge-chart{display:none;} .fs-ll-bridge-table{display:block;} }


@property --fs-bw-vw{syntax:'<length>';inherits:true;initial-value:0px}

/* ── family root + per-mode vars ──────────────────────────────── */
.fs-bw{
  container-type:inline-size;container-name:fs-bw;
  position:relative;
  color:rgb(var(--c-ink-950));
  font-family:var(--font-sans,'Figtree',system-ui,sans-serif);
  font-size:1rem;line-height:1.65;
  font-variant-numeric:lining-nums;
  --fs-bw-edge:color-mix(in srgb,rgb(var(--c-ink-950)) 16%,rgb(var(--c-line)));
  --fs-bw-tint:color-mix(in srgb,rgb(var(--c-brand-600)) 7%,rgb(var(--c-paper-soft)));
  --fs-bw-tint2:color-mix(in srgb,rgb(var(--c-brand-600)) 5%,rgb(var(--c-paper)));
  --fs-bw-sh-1:0 1px 1px rgba(18,32,44,.09),0 3px 6px -2px rgba(18,32,44,.10),0 8px 16px -8px rgba(18,32,44,.14);
  --fs-bw-sh-2:0 2px 2px rgba(18,32,44,.10),0 8px 14px -4px rgba(18,32,44,.14),0 20px 36px -14px rgba(18,32,44,.22);
  --fs-bw-sh-3:0 4px 4px rgba(18,32,44,.12),0 16px 28px -6px rgba(18,32,44,.18),0 40px 64px -22px rgba(18,32,44,.32);
  --fs-bw-ease:cubic-bezier(.2,.8,.2,1);
  /* --ctint / --ctint-ink (copper tint) and the copper pipe --cu-hi/--cu-lo */
  --fs-bw-ctint:color-mix(in srgb,rgb(var(--c-accent)) 30%,rgb(var(--c-paper-soft)));
  --fs-bw-ctint-ink:rgb(var(--c-ink-950));
  /* text on a copper fill: the source's dark ink #12202c, which is the
     light palettes' ink; in dark mode the (dark) page ground instead, so it
     stays dark on copper in every palette (6.1–9.5:1 measured) */
  --fs-bw-on-accent:rgb(var(--c-ink-950));
  /* physical light and shade for the gloss, rims and the dark gauge label:
     not palette colours, they are white and black in every palette */
  --fs-bw-lit:#ffffff;--fs-bw-shade:#000000;
  --fs-bw-cu-hi:color-mix(in srgb,rgb(var(--c-accent)) 62%,#ffffff);
  --fs-bw-cu-lo:color-mix(in srgb,rgb(var(--c-accent)) 62%,#000000);
  /* the source's --c2 (a support colour the platform has no token for): the
     brand colour half-way to white (Deviation Ledger L14) */
  --fs-bw-c2:color-mix(in srgb,rgb(var(--c-brand-600)) 50%,var(--fs-bw-lit));
  /* the danger red (gas): the platform's solved status token, so a fill
     with --fs-bw-on-red text clears AA against every palette's ground */
  --fs-bw-red:rgb(var(--fs-status-bad));--fs-bw-on-red:rgb(var(--c-paper));
  --fs-bw-red-d:color-mix(in srgb,rgb(var(--fs-status-bad)) 78%,rgb(var(--c-ink-950)));
}
.dark .fs-bw{
  --fs-bw-ctint:color-mix(in srgb,rgb(var(--c-accent)) 16%,rgb(var(--c-paper-soft)));
  --fs-bw-on-accent:rgb(var(--c-paper));
  --fs-bw-tint:color-mix(in srgb,rgb(var(--c-brand-600)) 20%,rgb(var(--c-paper-soft)));
  --fs-bw-tint2:color-mix(in srgb,rgb(var(--c-brand-600)) 10%,rgb(var(--c-paper)));
  --fs-bw-sh-1:inset 0 1px 0 rgba(255,255,255,.05),0 1px 2px rgba(0,0,0,.4),0 4px 10px -4px rgba(0,0,0,.5);
  --fs-bw-sh-2:inset 0 1px 0 rgba(255,255,255,.06),0 2px 4px rgba(0,0,0,.4),0 12px 22px -8px rgba(0,0,0,.55);
  --fs-bw-sh-3:inset 0 1px 0 rgba(255,255,255,.07),0 4px 8px rgba(0,0,0,.45),0 28px 48px -16px rgba(0,0,0,.68);
}
/* The site wrapper's own light marker beats a .dark on <html> that came
   from the visitor's OS (same reasoning as ledger-lite-styles.ts). */
.fs-preview-light .fs-bw{
  --fs-bw-ctint:color-mix(in srgb,rgb(var(--c-accent)) 30%,rgb(var(--c-paper-soft)));
  --fs-bw-on-accent:rgb(var(--c-ink-950));
  --fs-bw-tint:color-mix(in srgb,rgb(var(--c-brand-600)) 7%,rgb(var(--c-paper-soft)));
  --fs-bw-tint2:color-mix(in srgb,rgb(var(--c-brand-600)) 5%,rgb(var(--c-paper)));
  --fs-bw-sh-1:0 1px 1px rgba(18,32,44,.09),0 3px 6px -2px rgba(18,32,44,.10),0 8px 16px -8px rgba(18,32,44,.14);
  --fs-bw-sh-2:0 2px 2px rgba(18,32,44,.10),0 8px 14px -4px rgba(18,32,44,.14),0 20px 36px -14px rgba(18,32,44,.22);
  --fs-bw-sh-3:0 4px 4px rgba(18,32,44,.12),0 16px 28px -6px rgba(18,32,44,.18),0 40px 64px -22px rgba(18,32,44,.32);
}
.fs-bw *,.fs-bw *::before,.fs-bw *::after{box-sizing:border-box}
.fs-bw-wire{filter:grayscale(1) contrast(.5)}
.fs-bw a{color:inherit;text-decoration:none}

/* ── base: .wrap, type, .eyebrow, .ic ─────────────────────────── */
/* .wrap{max-width:var(--wrap) 1200px; padding:0 var(--gutter)}, gutter
   clamp(16px,4vw,32px). The width follows a Site Settings layout first
   (--fs-layout-max), then the theme's shell, then the source's 1200. */
.fs-bw-wrap{
  --fs-bw-vw:1cqi;
  container-type:inline-size;container-name:fs-bw-wrap;
  width:100%;max-width:var(--fs-layout-max,var(--fs-shell-max,1200px));
  margin:0 auto;padding:0 clamp(16px,calc(4 * var(--fs-bw-vw)),32px);
}
.fs-bw h1,.fs-bw h2,.fs-bw h3{
  font-family:var(--font-display,'Schibsted Grotesk',system-ui,sans-serif);
  line-height:1.12;letter-spacing:-.015em;font-weight:700;text-wrap:balance;
  font-optical-sizing:auto;margin:0;color:rgb(var(--c-ink-950));
}
.fs-bw .fs-bw-h1{font-size:clamp(2.5rem,calc(6 * var(--fs-bw-vw)),var(--fs-h1,3.5rem));line-height:1.08}
.fs-bw h1 em,.fs-bw h2 em,.fs-bw h3 em{
  font-style:normal;color:rgb(var(--c-brand-text));padding:0 2px;
  background:linear-gradient(transparent 68%,color-mix(in srgb,rgb(var(--c-accent)) 60%,transparent) 68% 90%,transparent 90%);
}
.fs-bw p{margin:0;color:rgb(var(--c-ink-400));text-wrap:pretty}
.fs-bw b,.fs-bw strong{font-weight:700}
.fs-bw-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.75rem;line-height:1.65;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
}
.fs-bw p.fs-bw-eyebrow{color:rgb(var(--c-brand-text))}
.fs-bw-dot{
  width:8px;height:8px;border-radius:50%;background:rgb(var(--c-accent));flex:none;
  box-shadow:0 0 0 2px rgb(var(--c-paper-soft)),0 0 0 3px var(--fs-bw-edge);
}
/* Editor-only affordances: these classes are rendered ONLY while editing
   (BrimwellBlocks.tsx) — an empty row the owner can fill, and a site
   detail (phone…) Site Settings does not have yet. */
.fs-bw-row-empty{outline:1px dashed rgb(var(--c-ink-400) / .6);outline-offset:3px;opacity:.7}
.fs-bw-missing{display:inline-block;padding:0 6px;border:1px dashed rgb(var(--c-ink-400) / .7);border-radius:4px;font-size:.8em;font-weight:600;color:rgb(var(--c-ink-400))}
.fs-bw-missing::before{content:attr(data-missing)}
.fs-bw-ic{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* ── base: .btn (12 by 24, 44 high; .lg 52 high) ──────────────── */
.fs-bw-btn{
  position:relative;isolation:isolate;overflow:hidden;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:44px;padding:12px 24px;
  background:rgb(var(--c-brand-600));color:var(--fs-on-brand);
  border:2px solid rgb(var(--c-brand-600));border-radius:999px;
  font-weight:800;font-size:1rem;line-height:1.2;white-space:nowrap;
  box-shadow:var(--fs-bw-sh-1);
}
.fs-bw a.fs-bw-btn{color:var(--fs-on-brand)}
.fs-bw-btn::after{content:"";position:absolute;inset:0;z-index:-1;background:rgb(var(--c-brand-700));transform:translateY(101%)}
.fs-bw a.fs-bw-btn:hover::after{transform:none}
.fs-bw-btn-l{display:inline}
.fs-bw-btn-alt,.fs-bw a.fs-bw-btn-alt{background:transparent;color:rgb(var(--c-ink-950));border-color:rgb(var(--c-ink-950));box-shadow:none}
.fs-bw-btn-alt::after{background:rgb(var(--c-ink-950))}
.fs-bw a.fs-bw-btn-alt:hover{color:rgb(var(--c-paper))}
.fs-bw-btn-sun,.fs-bw a.fs-bw-btn-sun{background:rgb(var(--c-accent));border-color:rgb(var(--c-accent));color:var(--fs-bw-on-accent)}
.fs-bw-btn-sun::after{background:color-mix(in srgb,rgb(var(--c-accent)) 78%,var(--fs-bw-cu-lo))}
.fs-bw-btn-white,.fs-bw a.fs-bw-btn-white{background:var(--fs-on-brand);color:var(--fs-bw-on-accent);border-color:var(--fs-on-brand)}
.fs-bw-btn-white::after{background:rgb(var(--c-accent))}
.fs-bw-btn-ghost,.fs-bw a.fs-bw-btn-ghost{background:transparent;color:var(--fs-on-brand);border-color:color-mix(in srgb,var(--fs-on-brand) 85%,transparent);box-shadow:none}
.fs-bw-btn-ghost::after{background:var(--fs-on-brand)}
.fs-bw a.fs-bw-btn-ghost:hover{color:var(--fs-bw-on-accent)}
.fs-bw-btn-sm{min-height:40px;padding:8px 16px;font-size:.875rem}
.fs-bw-btn-lg{min-height:52px;padding:16px 32px;font-size:1.125rem}

/* ══ favBwPageHead — .page-head ════════════════════════════════ */
/* .page-head{padding:64px 0 48px} — on the wrap, because the section is
   the size container and a container query cannot restyle its container. */
.fs-bw-pagehead>.fs-bw-wrap{padding-top:64px;padding-bottom:48px}
.fs-bw-ph-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:center}
.fs-bw-ph-grid>*{min-width:0}
.fs-bw-ph-copy{display:grid;gap:16px;justify-items:start}
.fs-bw p.fs-bw-lede{font-size:1.125rem;max-width:65ch}
.fs-bw-tel{color:inherit}
.fs-bw-crumbs{display:flex;gap:8px;flex-wrap:wrap;font-size:.875rem;color:rgb(var(--c-ink-400))}
.fs-bw .fs-bw-crumbs a{display:inline-flex;align-items:center;min-height:24px;color:rgb(var(--c-brand-text));font-weight:700;text-decoration:underline}
.fs-bw-ph-art{position:relative;aspect-ratio:5/4;overflow:hidden;border-radius:20px;box-shadow:var(--fs-bw-sh-2);background:var(--fs-bw-tint)}
.fs-bw-ph-art>*,.fs-bw-ph-art img{width:100%;height:100%}
.fs-bw-ph-art img{object-fit:cover}
/* every picture frame (port Task 15): the source's illustration fills the
   frame (brimwell-art.tsx); the owner's photo, or while editing the image
   control, lies over it. An empty control keeps only its "Add" bar, so
   the illustration shows through in the editor too. */
.fs-bw-slot{position:absolute;inset:0}
.fs-bw-slot>*,.fs-bw-slot img{width:100%;height:100%}
.fs-bw-slot img{object-fit:cover}
.fs-bw-slot[data-empty]>[data-editable],.fs-bw-fl-slot[data-empty]>[data-editable]{background:transparent}
.fs-bw-slot[data-empty]>[data-editable]>span:first-child,.fs-bw-fl-slot[data-empty]>[data-editable]>span:first-child{visibility:hidden}
.fs-bw-facts{display:flex;flex-wrap:wrap;gap:16px 32px}
.fs-bw-facts>div{display:grid;gap:2px}
.fs-bw-facts small{color:rgb(var(--c-ink-400));font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.fs-bw-facts b{font-size:1rem}
.fs-bw-ph-cta{display:flex;flex-wrap:wrap;gap:12px}

@container fs-bw (max-width:900px){
  .fs-bw-ph-grid{grid-template-columns:minmax(0,1fr)}
  .fs-bw-ph-art{max-height:320px;aspect-ratio:16/10}
}
@container fs-bw (max-width:640px){
  .fs-bw .fs-bw-crumbs a{min-height:44px}
  .fs-bw-pagehead>.fs-bw-wrap{padding-top:40px;padding-bottom:32px}
}

/* Site Settings layouts — the source's html[data-layout=center] and
   [data-layout=minimal] page-head rules, on the platform's ids. */
[data-fs-layout="centered"] .fs-bw-pagehead{text-align:center}
[data-fs-layout="centered"] .fs-bw-ph-grid{grid-template-columns:minmax(0,1fr)}
[data-fs-layout="centered"] .fs-bw-ph-copy{justify-items:center}
[data-fs-layout="centered"] .fs-bw-crumbs,[data-fs-layout="centered"] .fs-bw-ph-cta{justify-content:center}
[data-fs-layout="centered"] .fs-bw-ph-art{display:none}
[data-fs-layout="centered"] .fs-bw-facts{margin-inline:auto;text-align:left}
[data-fs-layout="minimal"] .fs-bw-ph-art{border:1px solid rgb(var(--c-line))}

/* ══ favBwHero — .hero.ih-hero ═════════════════════════════════
   The source's "interactive hero" (ih-): the headline beside a small
   round gauge picture, the tool panel hung under a copper pipe, and the
   facts row. Rules ported one for one; .ih-x → .fs-bw-ih-x. */
.fs-bw-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fs-bw-hero>.fs-bw-wrap{padding-top:32px;padding-bottom:48px}
.fs-bw-hero-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,12rem);gap:32px;align-items:center;margin-bottom:24px}
.fs-bw-hero-top>*{min-width:0}
.fs-bw-hero-copy{display:grid;gap:12px;justify-items:start}
.fs-bw .fs-bw-hero-h1{font-size:clamp(2.05rem,calc(4.4 * var(--fs-bw-vw)),3.1rem);line-height:1.08}
.fs-bw p.fs-bw-hero-lede{font-size:1.125rem;line-height:1.55;max-width:min(92ch,100%)}
/* the picture: a round pressure gauge (.heroart .hframe) */
.fs-bw-hero-art{position:relative;padding:8px;width:100%}
.fs-bw-hframe{position:relative;aspect-ratio:1/1;overflow:clip;border-radius:50%;background:var(--fs-bw-tint);box-shadow:var(--fs-bw-sh-3),0 0 0 8px rgb(var(--c-paper-soft)),0 0 0 12px rgb(var(--c-accent))}
.fs-bw-hframe-pic{position:absolute;inset:0}
.fs-bw-hframe-pic>*,.fs-bw-hframe-pic img{width:100%;height:100%}
.fs-bw-hframe-pic img{object-fit:cover}
.fs-bw-gauge-ticks{position:absolute;inset:0;border-radius:50%;pointer-events:none;opacity:.5;
  background:repeating-conic-gradient(from -135deg,rgb(var(--c-ink-950)) 0 .7deg,transparent .7deg 6deg);
  -webkit-mask:radial-gradient(circle,transparent 0 calc(50% - 12px),#000 calc(50% - 12px) calc(50% - 4px),transparent calc(50% - 4px));
  mask:radial-gradient(circle,transparent 0 calc(50% - 12px),#000 calc(50% - 12px) calc(50% - 4px),transparent calc(50% - 4px))}
/* The needle rests on Fixed; drawn 'rich' it sweeps there on load (the
   source's 1.6s needle). Still (editing, plain styles) = the end state. */
.fs-bw-gauge-needle{position:absolute;left:calc(50% - 2px);top:50%;width:4px;height:46%;border-radius:999px;background:rgb(var(--c-accent));box-shadow:0 0 0 1px rgba(18,32,44,.4);transform-origin:50% 0;transform:rotate(180deg) rotate(0deg);pointer-events:none}
.fs-bw-gauge-needle::after{content:"";position:absolute;left:calc(50% - 8px);top:-8px;width:16px;height:16px;border-radius:50%;background:rgb(var(--c-accent));box-shadow:0 0 0 2px var(--fs-bw-lit),0 0 0 3px rgba(18,32,44,.4)}
.fs-bw-gauge-lab{position:absolute;left:64%;bottom:32px;transform:translateX(-50%);padding:2px 12px;border-radius:999px;background:rgba(13,27,41,.82);color:var(--fs-bw-lit);font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;line-height:1.65}
.fs-bw-hchip{position:absolute;display:flex;align-items:center;gap:8px;padding:6px 12px;background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));border-radius:12px;box-shadow:var(--fs-bw-sh-2);max-width:none;line-height:1.65}
.fs-bw-hchip b{display:block;font-size:.75rem;line-height:1.25;white-space:nowrap;color:rgb(var(--c-ink-950))}
.fs-bw-hchip small{display:none;font-size:.75rem;color:rgb(var(--c-ink-400));line-height:1.35}
.fs-bw-hchip-1{left:0;bottom:8px}
.fs-bw-hchip-2{right:0;top:32px;display:none}
.fs-bw-odot{flex:none;width:10px;height:10px;border-radius:50%;background:rgb(var(--fs-status-ok))}
.fs-bw-odot.is-amber{background:rgb(var(--c-accent));box-shadow:0 0 0 1px rgba(18,32,44,.35)}
/* Before the clock is read (server render, first paint): no open/closed
   claim — a neutral dot and the chip words held invisible. */
.fs-bw-odot.is-pending{background:var(--fs-bw-edge)}
.fs-bw-pending{visibility:hidden}
.fs-bw-ibadge{position:relative;display:inline-grid;place-items:center;flex:none;width:40px;height:40px;border-radius:6px;color:var(--fs-bw-ctint-ink);
  background:radial-gradient(120% 130% at 28% 20%,color-mix(in srgb,var(--fs-bw-ctint) 82%,var(--fs-bw-lit)) 0%,var(--fs-bw-ctint) 55%,color-mix(in srgb,var(--fs-bw-ctint) 86%,var(--fs-bw-shade)) 100%);
  box-shadow:inset 0 0 0 1.5px color-mix(in srgb,rgb(var(--c-accent)) 55%,transparent),inset 0 1px 1px rgba(255,255,255,.35),inset 0 -2px 3px rgba(0,0,0,.14)}
/* the facts row (.hero-meta.ih-meta) */
.fs-bw-hero-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 24px;margin-top:24px}
.fs-bw-hfact{display:grid;gap:2px}
.fs-bw-hfact>b{font-family:var(--font-display,'Schibsted Grotesk',system-ui,sans-serif);font-size:1.25rem;font-weight:600;line-height:1.1;color:rgb(var(--c-brand-text))}
.fs-bw-hfact>span{font-size:.875rem;line-height:1.35;color:rgb(var(--c-ink-400))}

/* the tool (.ih): its own size container, so a boxed or narrow layout
   stacks it however wide the window is */
.fs-bw-ih{container-type:inline-size;container-name:fs-bw-ih}
.fs-bw-ih-panel{position:relative;display:grid;grid-template-columns:minmax(0,21.5rem) minmax(0,1fr);grid-template-areas:"head head" "ctl res" "foot foot";gap:16px 24px;padding:32px 24px 20px;background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));border:1px solid rgb(var(--c-line));border-radius:20px;box-shadow:var(--fs-bw-sh-3);overflow:clip}
.fs-bw-ih-panel::before{content:"";position:absolute;left:0;right:0;top:0;height:8px;background:linear-gradient(var(--fs-bw-cu-hi),rgb(var(--c-accent)) 45%,var(--fs-bw-cu-lo));box-shadow:0 1px 0 rgba(18,32,44,.18)}
.fs-bw-ih-panel::after{content:"";position:absolute;left:24px;top:0;width:40px;height:12px;border-radius:0 0 6px 6px;background:linear-gradient(90deg,var(--fs-bw-cu-lo),var(--fs-bw-cu-hi) 40%,var(--fs-bw-cu-lo))}
.fs-bw-ih-panel>*{min-width:0}
.fs-bw-ih :focus-visible{outline:2px solid rgb(var(--c-brand-text));outline-offset:2px}
.fs-bw-ih-head{grid-area:head;display:flex;align-items:baseline;justify-content:space-between;gap:4px 16px;flex-wrap:wrap}
.fs-bw .fs-bw-ih-title{font-size:1.5rem;line-height:1.1}
.fs-bw-ih-sub{font-size:.875rem;color:rgb(var(--c-ink-400));line-height:1.4}
.fs-bw-ih-ctl{grid-area:ctl;display:grid;gap:12px;align-content:start}
.fs-bw-ih-lab{display:block;padding:0;margin-bottom:8px;font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
.fs-bw-ih-set{display:grid;gap:8px;border:0;padding:0;margin:0;min-width:0}
.fs-bw-ih-stack{display:grid}
.fs-bw-ih-stack>*{grid-area:1/1;min-width:0}
.fs-bw-ih-stack-edit>.fs-bw-ih-card{align-self:start}
.fs-bw-ih-ghosts{display:grid;visibility:hidden;pointer-events:none}
.fs-bw-ih-ghosts>*{grid-area:1/1;min-width:0}
/* problem chips: a real radio group, drawn as valve tags */
.fs-bw-ih-chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.fs-bw-ih-chip{position:relative;display:flex;align-items:center;gap:8px;min-height:44px;padding:6px 8px;border:1px solid var(--fs-bw-edge);border-radius:12px;background:rgb(var(--c-paper));color:rgb(var(--c-ink-950));font-weight:800;font-size:.875rem;line-height:1.2;cursor:pointer}
.fs-bw .fs-bw-ih-chip>input[type=radio],.fs-bw .fs-bw-ih-opt>input[type=radio]{position:absolute;left:-1px;top:-1px;width:calc(100% + 2px);height:calc(100% + 2px);margin:0;opacity:0;cursor:pointer}
.fs-bw-ih-ci{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--fs-bw-tint);color:rgb(var(--c-brand-text))}
.fs-bw-ih-ci .fs-bw-ic{width:16px;height:16px}
.fs-bw-ih-ct{flex:1 1 auto;min-width:0;overflow-wrap:break-word}
.fs-bw-ih-wheel{flex:none;position:relative;width:18px;height:18px;border-radius:50%;border:2px solid currentColor;opacity:.32}
.fs-bw-ih-wheel::before{content:"";position:absolute;left:1px;right:1px;top:50%;height:2px;translate:0 -50%;rotate:0deg;border-radius:1px;background:currentColor}
.fs-bw-ih-chip.is-on{background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));color:var(--fs-on-brand);box-shadow:var(--fs-bw-sh-2)}
.fs-bw-ih-chip.is-on .fs-bw-ih-ci{background:rgb(var(--c-accent));color:var(--fs-bw-on-accent)}
.fs-bw-ih-chip.is-on .fs-bw-ih-wheel{opacity:1}
.fs-bw-ih-chip.is-on .fs-bw-ih-wheel::before{rotate:90deg}
.fs-bw-ih-chip.is-gas.is-on{background:var(--fs-bw-red);border-color:var(--fs-bw-red);color:var(--fs-bw-on-red)}
.fs-bw-ih-chip:has(input:focus-visible),.fs-bw-ih-opt:has(input:focus-visible){outline:2px solid rgb(var(--c-brand-text));outline-offset:2px}
.fs-bw-anim .fs-bw-ih-chip:hover{border-color:rgb(var(--c-brand-600));box-shadow:var(--fs-bw-sh-1)}
.fs-bw-anim .fs-bw-ih-chip.is-on:hover{box-shadow:var(--fs-bw-sh-2)}
/* the follow-up: the theme's own option rows (.opt.ih-opt) */
.fs-bw-ih-opts{display:grid;gap:8px;align-content:start}
.fs-bw-ih-opt{position:relative;display:flex;gap:12px;align-items:center;min-height:44px;padding:8px 12px;border:1px solid var(--fs-bw-edge);border-radius:6px;background:rgb(var(--c-paper));cursor:pointer;color:rgb(var(--c-ink-950))}
.fs-bw-ih-opt::before{content:"";flex:none;box-sizing:border-box;width:18px;height:18px;border-radius:50%;border:2px solid var(--fs-bw-edge);background:rgb(var(--c-paper))}
.fs-bw-ih-opt.is-on{background:var(--fs-bw-ctint);border-color:rgb(var(--c-brand-600));color:var(--fs-bw-ctint-ink)}
.fs-bw-ih-opt.is-on::before{border-color:rgb(var(--c-brand-600));background:rgb(var(--c-brand-600));box-shadow:inset 0 0 0 3px var(--fs-bw-ctint)}
.fs-bw-ih-opt b{display:block;font-size:.875rem;line-height:1.25;font-weight:700}
/* the result: one grid cell holds the live card and a hidden copy of
   every card, so the panel's height never changes */
.fs-bw-ih-res{grid-area:res;container-type:inline-size;container-name:fs-bw-ihr;padding:20px;border-radius:12px;background:var(--fs-bw-tint);border:1px solid rgb(var(--c-line))}
.fs-bw-ih-card{display:grid;gap:12px;align-content:space-between}
.fs-bw-ih-card>*{min-width:0}
.fs-bw-ih-rtop{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px}
.fs-bw-ih-kick{display:inline-flex;align-items:center;min-height:24px;padding:2px 8px;border-radius:999px;border:1px solid var(--fs-bw-edge);background:rgb(var(--c-paper-soft));color:rgb(var(--c-brand-text));font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;line-height:1.65}
.fs-bw-ih-kick.fs-bw-ih-k-urg{background:rgb(var(--c-accent));border-color:rgb(var(--c-accent));color:var(--fs-bw-on-accent)}
.fs-bw-ih-kick.fs-bw-ih-k-red{background:var(--fs-bw-red);border-color:var(--fs-bw-red);color:var(--fs-bw-on-red)}
.fs-bw-ih-name{font-family:var(--font-display,'Schibsted Grotesk',system-ui,sans-serif);font-size:1.25rem;line-height:1.15;font-weight:700;color:rgb(var(--c-ink-950));text-wrap:balance}
.fs-bw-ih-do{display:grid;gap:8px}
.fs-bw-ih-fl{display:block;font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--c-ink-400));line-height:1.65}
/* steps on brass fittings along a pipe */
.fs-bw-ih-steps{position:relative;list-style:none;counter-reset:fsbwihs;display:grid;gap:8px;margin:0;padding:0}
.fs-bw-ih-steps::before{content:"";position:absolute;left:11px;top:12px;bottom:12px;width:2px;background:rgb(var(--c-accent));opacity:.55}
.fs-bw .fs-bw-ih-steps li{position:relative;counter-increment:fsbwihs;display:grid;grid-template-columns:24px minmax(0,1fr);column-gap:8px;align-items:start;font-size:.875rem;line-height:1.4;color:rgb(var(--c-ink-950))}
.fs-bw .fs-bw-ih-steps li::before{content:counter(fsbwihs);display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgb(var(--c-accent));color:var(--fs-bw-on-accent);font-weight:800;font-size:.75rem;box-shadow:0 0 0 2px var(--fs-bw-tint)}
.fs-bw .fs-bw-ih-steps li>span{padding-top:2px}
.fs-bw-ih-steps-red::before{background:var(--fs-bw-red)}
.fs-bw .fs-bw-ih-steps-red li::before{background:var(--fs-bw-red);color:var(--fs-bw-on-red);box-shadow:0 0 0 2px color-mix(in srgb,var(--fs-bw-red) 9%,rgb(var(--c-paper-soft)))}
.fs-bw-ih-facts{display:grid;gap:8px}
.fs-bw-ih-fact{display:grid;grid-template-columns:20px minmax(0,1fr);gap:8px;align-items:start;line-height:1.65}
.fs-bw-ih-fact>.fs-bw-ic{width:18px;height:18px;margin-top:2px;color:rgb(var(--c-brand-text))}
.fs-bw-ih-fact b{display:block;font-size:.875rem;line-height:1.3;font-weight:800;color:rgb(var(--c-ink-950))}
.fs-bw-ih-fact small{display:block;font-size:.75rem;line-height:1.4;color:rgb(var(--c-ink-400))}
.fs-bw-ih-fact small.fs-bw-ih-cov{font-size:.875rem;color:rgb(var(--c-ink-950))}
.fs-bw-ih-acts{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px}
.fs-bw .fs-bw-ih-cta{white-space:normal;text-align:left;justify-content:flex-start;gap:8px;line-height:1.25;padding:12px 20px}
.fs-bw .fs-bw-ih-cta .fs-bw-ic{flex:none}
.fs-bw .fs-bw-ih-cta span{min-width:0}
.fs-bw .fs-bw-btn.fs-bw-ih-red,.fs-bw a.fs-bw-btn.fs-bw-ih-red{background:var(--fs-bw-red);border-color:var(--fs-bw-red);color:var(--fs-bw-on-red)}
.fs-bw .fs-bw-btn.fs-bw-ih-red::after{background:var(--fs-bw-red-d)}
.fs-bw .fs-bw-ih-more{display:inline-flex;align-items:center;gap:6px;min-height:40px;font-size:.875rem;font-weight:800;color:rgb(var(--c-brand-text));text-decoration:underline;text-underline-offset:3px}
.fs-bw a.fs-bw-ih-more:hover{color:rgb(var(--c-ink-950))}
.fs-bw .fs-bw-ih-more .fs-bw-ic{width:16px;height:16px}
/* the gas box: always red, never part of the booking flow */
.fs-bw-ih-sos{display:grid;gap:12px;padding:16px;border:1px solid color-mix(in srgb,var(--fs-bw-red) 45%,rgb(var(--c-paper-soft)));border-left:4px solid var(--fs-bw-red);border-radius:6px;background:color-mix(in srgb,var(--fs-bw-red) 9%,rgb(var(--c-paper-soft)))}
.fs-bw-ih-sos-t{font-weight:800;font-size:1rem;line-height:1.3;color:rgb(var(--c-ink-950))}
.fs-bw-ih-sos-s{font-size:.75rem;line-height:1.4;color:rgb(var(--c-ink-400))}
.fs-bw-ih-sosr{display:grid;gap:12px;align-content:start;justify-items:start}
.fs-bw-ih-sosr .fs-bw-ih-fact{justify-self:stretch}
.fs-bw-ih-foot{grid-area:foot;padding-top:12px;border-top:1px dashed var(--fs-bw-edge);font-size:.75rem;line-height:1.45;color:rgb(var(--c-ink-400))}
/* the answer's valve-gauge dial (.brim-gauge) */
.fs-bw-gauge{flex:none;width:52px;height:30px}
.fs-bw-gauge-svg{width:100%;height:100%;overflow:visible}
.fs-bw-gauge-bg{fill:none;stroke:var(--fs-bw-edge);stroke-width:10;stroke-linecap:round}
.fs-bw-gauge-fill{fill:none;stroke:rgb(var(--c-brand-text));stroke-width:10;stroke-linecap:round}
.fs-bw-gauge-urg .fs-bw-gauge-fill{stroke:rgb(var(--c-accent))}
.fs-bw-gauge-red .fs-bw-gauge-fill{stroke:var(--fs-bw-red)}
/* Editor only (rendered only while editing): which answer the canvas
   shows, and the words only the clock or a screen reader shows. */
.fs-bw-hero-pick{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:.8125rem;color:rgb(var(--c-ink-400))}
.fs-bw-hero-pick::before{content:attr(data-ed)}
.fs-bw-hero-pick>span{color:rgb(var(--c-ink-950));min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fs-bw-hero-pick button{flex:none;width:28px;height:28px;display:grid;place-items:center;font:inherit;font-size:1rem;line-height:1;color:rgb(var(--c-ink-950));background:rgb(var(--c-paper-soft));border:1px dashed rgb(var(--c-ink-400) / .7);border-radius:6px;cursor:pointer}
.fs-bw-hero-ed{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px 16px;margin-top:20px;padding:12px;border:1px dashed rgb(var(--c-ink-400) / .6);border-radius:6px;font-size:.8125rem;line-height:1.4;color:rgb(var(--c-ink-950))}
.fs-bw-hero-ed>div::before{content:attr(data-ed);display:block;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--c-ink-400))}

@container fs-bw-ih (max-width:700px){
  .fs-bw-ih-panel{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "ctl" "res" "foot"}
  .fs-bw-ih-chips{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@container fs-bw-ih (max-width:520px){
  .fs-bw-ih-chips{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-bw-ih-panel{padding:32px 16px 16px}
  .fs-bw-ih-res{padding:16px}
}
@container fs-bw-ih (max-width:360px){
  .fs-bw-ih-chip{gap:6px;padding:6px}
  .fs-bw-ih-ci{width:24px;height:24px}
  .fs-bw-ih-ci .fs-bw-ic{width:14px;height:14px}
  .fs-bw-ih-wheel{width:14px;height:14px}
}
@container fs-bw-ihr (min-width:600px){
  .fs-bw-ih-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"top top" "do facts" "acts acts";column-gap:24px}
  .fs-bw-ih-card>.fs-bw-ih-rtop{grid-area:top}
  .fs-bw-ih-card>.fs-bw-ih-do,.fs-bw-ih-card>.fs-bw-ih-sos{grid-area:do}
  .fs-bw-ih-card>.fs-bw-ih-facts,.fs-bw-ih-card>.fs-bw-ih-sosr{grid-area:facts}
  .fs-bw-ih-card>.fs-bw-ih-acts{grid-area:acts}
}
/* the source's @media (max-width:900px): copy, tool, picture, facts */
@container fs-bw (max-width:900px){
  .fs-bw-hero-in{display:grid;gap:24px}
  .fs-bw-hero-top{display:contents}
  .fs-bw-hero-copy{order:1}
  .fs-bw-ih{order:2}
  .fs-bw-hero-art{order:3;justify-self:center;width:100%;max-width:360px;padding:16px}
  .fs-bw-hero-meta{order:4;margin-top:0}
  .fs-bw-hero-ed{order:5}
  .fs-bw-hchip{max-width:82%}
  .fs-bw-hchip b{font-size:.875rem;white-space:normal}
  .fs-bw-hchip small{display:block}
  .fs-bw-hchip-2{display:flex}
  .fs-bw-hchip-1{bottom:16px}
}
/* the source's @media (max-width:640px). Its .ih-hero 24/32 padding is
   overridden there by a later .hero{32px 0 48px}, so the rendered hero
   keeps 32/48 at every width — measured, and kept. */
@container fs-bw (max-width:640px){
  /* the picture's gauge label and top chip (.gauge-lab, .hchip.c2; missing
     until the Task 17 sweep found the label showing under the chip at 390).
     The source's .hchip max-width 78% and .c1 bottom 8px in the same block
     lose to its later 900px block (82%, 16px), which the port has above. */
  .fs-bw-gauge-lab{display:none}
  .fs-bw-hchip-2{top:8px}
  .fs-bw .fs-bw-ih-acts .fs-bw-btn{width:100%}
  .fs-bw-hero-meta{gap:8px 12px}
  .fs-bw-hfact>b{font-size:1.125rem}
  .fs-bw-hfact>span{font-size:.75rem}
}
/* Site Settings layouts (the source's data-layout=center / minimal) */
[data-fs-layout="centered"] .fs-bw-hero-copy{justify-items:center;text-align:center}
[data-fs-layout="centered"] .fs-bw-hero-meta{text-align:center}
[data-fs-layout="centered"] .fs-bw-hero>.fs-bw-wrap{padding-top:8px}
[data-fs-layout="centered"] .fs-bw-hero-top{margin-bottom:16px}
[data-fs-layout="minimal"] .fs-bw-ih-panel{box-shadow:none}
[data-fs-layout="minimal"] .fs-bw-ih-chip.is-on{box-shadow:none}

/* ══ shared section base — .sec .sec.alt .tight-top .sec-head .row-head
   .card .g3 .icon-badge .tabs .tab .small (ported once, used by every
   block that follows) ═══════════════════════════════════════════════ */
/* .sec{padding:var(--sec-y) 0}, --sec-y clamp(64px,8vw,112px) — on the wrap
   inside, because the section is the size container. */
.fs-bw-sec>.fs-bw-wrap{padding-top:clamp(64px,calc(8 * var(--fs-bw-vw)),112px);padding-bottom:clamp(64px,calc(8 * var(--fs-bw-vw)),112px)}
.fs-bw-sec.fs-bw-tight>.fs-bw-wrap{padding-top:8px}
.fs-bw-alt{background:var(--fs-bw-tint2)}
.fs-bw .fs-bw-h2{font-size:clamp(2rem,calc(4.2 * var(--fs-bw-vw)),2.5rem)}
.fs-bw .fs-bw-h3{font-size:1.5rem;line-height:1.2}
.fs-bw .fs-bw-h4{margin:0;font-size:1rem;line-height:1.3;font-weight:700}
.fs-bw ul,.fs-bw ol{margin:0;padding:0}
.fs-bw p.fs-bw-small{font-size:.875rem}
.fs-bw-sec-head{display:grid;gap:12px;max-width:720px;margin-bottom:48px}
.fs-bw-sec-head.fs-bw-c{margin-inline:auto;text-align:center;justify-items:center}
.fs-bw-row-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px 32px;flex-wrap:wrap;margin-bottom:48px}
.fs-bw-row-head>.fs-bw-sec-head{margin-bottom:0}
.fs-bw-card{position:relative;display:grid;gap:16px;align-content:start;background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));border-radius:12px;padding:24px;box-shadow:var(--fs-bw-sh-1)}
.fs-bw-icon-badge{position:relative;display:inline-grid;place-items:center;flex:none;width:48px;height:48px;border-radius:12px;color:var(--fs-bw-ctint-ink);
  background:radial-gradient(120% 130% at 28% 20%,color-mix(in srgb,var(--fs-bw-ctint) 82%,var(--fs-bw-lit)) 0%,var(--fs-bw-ctint) 55%,color-mix(in srgb,var(--fs-bw-ctint) 86%,var(--fs-bw-shade)) 100%);
  box-shadow:inset 0 0 0 1.5px color-mix(in srgb,rgb(var(--c-accent)) 55%,transparent),inset 0 1px 1px rgba(255,255,255,.35),inset 0 -2px 3px rgba(0,0,0,.14)}
.fs-bw-icon-badge .fs-bw-ic{width:24px;height:24px;position:relative;z-index:1}
.fs-bw-g3{display:grid;gap:24px;grid-template-columns:repeat(3,minmax(0,1fr))}
.fs-bw-g3>*{min-width:0}
.fs-bw-tabs{display:flex;gap:8px;flex-wrap:wrap}
.fs-bw-tab{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 16px;border:1px solid var(--fs-bw-edge);border-radius:999px;
  background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));font:inherit;font-weight:800;font-size:.875rem;line-height:1.65;cursor:pointer}
.fs-bw-tab:hover{border-color:rgb(var(--c-brand-600))}
.fs-bw-tab[aria-selected="true"]{background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));color:var(--fs-on-brand)}
.fs-bw-tab:focus-visible{outline:2px solid rgb(var(--c-brand-text));outline-offset:2px}
.fs-bw-tab .fs-bw-ic{width:18px;height:18px}
/* the words only the clock or a screen reader ever shows: editor only */
.fs-bw-ed{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px 16px;margin:20px 16px 0;padding:12px;border:1px dashed rgb(var(--c-ink-400) / .6);border-radius:6px;font-size:.8125rem;line-height:1.4;color:rgb(var(--c-ink-950))}
.fs-bw-ed>div::before{content:attr(data-ed);display:block;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--c-ink-400))}

/* ══ favBwFirstAid — .fa ═══════════════════════════════════════════ */
.fs-bw-fa{display:grid;gap:16px}
.fs-bw-fa-panel{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:24px;padding:24px;background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));border-radius:12px;box-shadow:var(--fs-bw-sh-1);min-width:0}
.fs-bw-fa-panel>*{min-width:0}
.fs-bw-fa-main{display:grid;gap:12px;align-content:start}
.fs-bw-fa-steps{list-style:none;counter-reset:fs;display:grid;gap:12px}
.fs-bw-fa-step{counter-increment:fs;display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:12px;row-gap:2px;align-items:start}
.fs-bw-fa-step::before{content:counter(fs);grid-row:1 / 3;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:rgb(var(--c-brand-600));color:var(--fs-on-brand);font-weight:800;font-size:.875rem}
.fs-bw-fa-steps b{font-size:1rem}
.fs-bw-fa-step>span{color:rgb(var(--c-ink-400));font-size:.875rem}
.fs-bw-fa-side{display:grid;gap:16px;align-content:start}
.fs-bw-fa-dont{display:grid;gap:8px;padding:16px;border-radius:6px;background:var(--fs-bw-ctint);color:var(--fs-bw-ctint-ink)}
.fs-bw .fs-bw-fa-dont .fs-bw-h4{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--fs-bw-ctint-ink)}
.fs-bw-fa-dont ul{list-style:none;display:grid;gap:8px;font-size:.875rem}
.fs-bw-fa-dli{display:flex;gap:8px}
.fs-bw-fa-dont .fs-bw-ic{flex:none;width:18px;height:18px;margin-top:2px;color:var(--fs-bw-ctint-ink)}
.fs-bw-fa-call{display:grid;gap:8px;justify-items:start}
.fs-bw-fa-call .fs-bw-small{color:rgb(var(--c-ink-400))}
.fs-bw-fa-note{max-width:65ch}

/* ══ favBwNowStrip — .today ════════════════════════════════════════ */
.fs-bw-nowstrip{background:var(--fs-bw-tint);border-block:1px solid rgb(var(--c-line))}
.fs-bw-today-in{--fs-bw-vw:1cqi;display:flex;align-items:center;justify-content:center;gap:12px 32px;flex-wrap:wrap;padding:12px clamp(16px,calc(4 * var(--fs-bw-vw)),32px);font-size:.875rem;font-weight:700}
.fs-bw-pill{display:inline-flex;align-items:center;gap:8px}
.fs-bw-today-in .fs-bw-ic{width:18px;height:18px;color:rgb(var(--c-brand-text))}

/* ══ favBwMarquee — .marquee .mq-track ═════════════════════════════ */
/* overflow:clip, never hidden (global constraint). Rests as a centred,
   wrapped row (every item shown); it becomes the clipped, looping strip
   only where it can actually move — drawn 'rich', not editing, motion
   On or Subtle, no reduced-motion request (the motion section, bwMarquee). */
.fs-bw-marquee{overflow:clip;border-block:1px solid rgb(var(--c-line));padding:16px 0;background:rgb(var(--c-paper-soft))}
.fs-bw-mq-track{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 48px;padding:0 16px;width:auto;max-width:none}
.fs-bw-mq-track>span{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-display,'Schibsted Grotesk',system-ui,sans-serif);font-weight:600;font-size:1.5rem;white-space:nowrap;color:rgb(var(--c-ink-950))}
.fs-bw-mq-track .fs-bw-ic{width:20px;height:20px;color:rgb(var(--c-brand-text))}
.fs-bw-mq-track>.fs-bw-mq-dup{display:none}

/* ══ favBwSplitStats — .split .pic-frame .stats .stat ══════════════ */
.fs-bw-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.fs-bw-split>*{min-width:0}
.fs-bw-pic{position:relative;aspect-ratio:5/4;overflow:hidden;border-radius:20px;box-shadow:var(--fs-bw-sh-2);background:var(--fs-bw-tint)}
.fs-bw-pic>*,.fs-bw-pic img{width:100%;height:100%}
.fs-bw-pic img{object-fit:cover}
.fs-bw-split-copy{display:grid;gap:16px;align-content:center;justify-items:start}
.fs-bw-split-copy .fs-bw-stats{justify-self:stretch;margin-top:8px}
.fs-bw-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.fs-bw-stat{display:grid;gap:4px;padding:20px;border-radius:12px;background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));box-shadow:var(--fs-bw-sh-1)}
.fs-bw-stat b{display:block;font-family:var(--font-display,'Schibsted Grotesk',system-ui,sans-serif);font-size:clamp(2rem,calc(4.2 * var(--fs-bw-vw)),2.5rem);font-weight:600;color:rgb(var(--c-brand-text));line-height:1.05;font-variant-numeric:tabular-nums}
.fs-bw-stat>span{font-size:.875rem;color:rgb(var(--c-ink-400))}

/* the source's @media (max-width:1000px / 900px / 640px / 480px) */
@container fs-bw (max-width:1000px){
  .fs-bw-g3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-bw-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container fs-bw (max-width:900px){
  .fs-bw-split,.fs-bw-fa-panel{grid-template-columns:minmax(0,1fr)}
}
@container fs-bw (max-width:640px){
  .fs-bw-sec>.fs-bw-wrap{padding-top:clamp(48px,calc(12 * var(--fs-bw-vw)),72px);padding-bottom:clamp(48px,calc(12 * var(--fs-bw-vw)),72px)}
  .fs-bw-sec.fs-bw-tight>.fs-bw-wrap{padding-top:8px}
  .fs-bw-sec-head,.fs-bw-row-head{margin-bottom:32px}
  .fs-bw-g3{grid-template-columns:minmax(0,1fr)}
  .fs-bw-fa-panel{padding:16px}
  .fs-bw-fa .fs-bw-tabs{overflow-x:auto;flex-wrap:nowrap}
  .fs-bw-fa .fs-bw-tab{flex:none}
  .fs-bw-mq-track>span{font-size:1.25rem}
}
@container fs-bw (max-width:480px){
  .fs-bw-card{padding:20px}
  .fs-bw-stats{grid-template-columns:minmax(0,1fr)}
  .fs-bw-row-head .fs-bw-btn{width:100%}
}

/* Site Settings layouts (the source's data-layout=center / minimal) */
[data-fs-layout="centered"] .fs-bw-sec-head{margin-inline:auto;text-align:center;justify-items:center}
[data-fs-layout="centered"] .fs-bw-row-head{flex-direction:column;align-items:center}
[data-fs-layout="minimal"] .fs-bw-pic{border:1px solid rgb(var(--c-line))}
[data-fs-layout="minimal"] .fs-bw-card,[data-fs-layout="minimal"] .fs-bw-stat,[data-fs-layout="minimal"] .fs-bw-fa-panel,[data-fs-layout="minimal"] .fs-bw-pic{box-shadow:none}

/* ══ favBwServiceCards — .rooms3 .room.card.lift ═══════════════════ */
.fs-bw-rooms3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.fs-bw-rooms3>*{min-width:0}
.fs-bw-room{gap:16px}
.fs-bw-rpic{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:6px;background:var(--fs-bw-tint)}
.fs-bw-rpic>*,.fs-bw-rpic img{width:100%;height:100%}
.fs-bw-rpic img{object-fit:cover}
.fs-bw-rhead{display:grid;gap:4px}
.fs-bw-rtag{font-size:.875rem;font-weight:800;color:rgb(var(--c-brand-text))}
.fs-bw-rplaces{display:flex;align-items:center;gap:8px;font-size:.875rem;font-weight:800;color:rgb(var(--c-ink-950))}
.fs-bw-rplaces .fs-bw-odot{flex:none}
.fs-bw-racts{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.fs-bw .fs-bw-ic.fs-bw-ic-s{width:16px;height:16px}

/* ══ favBwProcess — ol.proc ════════════════════════════════════════ */
.fs-bw-proc{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;position:relative}
.fs-bw-proc>li{display:grid;gap:8px;align-content:start;padding:24px;background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));border-radius:12px;box-shadow:var(--fs-bw-sh-1);position:relative}
.fs-bw-pn{position:absolute;top:16px;right:16px;font-family:var(--font-display,'Schibsted Grotesk',system-ui,sans-serif);font-size:clamp(1.65rem,calc(3 * var(--fs-bw-vw)),2rem);font-weight:600;color:var(--fs-bw-edge);line-height:1}
.fs-bw .fs-bw-proc-t{font-family:var(--font-display,'Schibsted Grotesk',system-ui,sans-serif);font-size:1.125rem;font-weight:600}
.fs-bw-proc-d{font-size:.875rem;color:rgb(var(--c-ink-400));line-height:1.5}

/* ══ favBwReviewsTrio — .rev3 .rv-card ═════════════════════════════ */
.fs-bw-rev3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.fs-bw-rev3>*{min-width:0}
.fs-bw-rv-card{display:grid;gap:12px;align-content:start;padding:24px;background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));border-radius:12px;box-shadow:var(--fs-bw-sh-1)}
.fs-bw-rv-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.fs-bw-stars{display:inline-flex;gap:2px;color:rgb(var(--c-brand-text))}
.fs-bw-stars .fs-bw-ic{fill:none;width:16px;height:16px}
.fs-bw-stars .fs-bw-ic.on{fill:currentColor}
.fs-bw-rv-when{font-size:.75rem;color:rgb(var(--c-ink-400));font-weight:700}
.fs-bw .fs-bw-rv-h{font-size:1.25rem}
.fs-bw-rv-reply{display:grid;gap:4px;padding:12px 16px;border-radius:6px;background:var(--fs-bw-tint);font-size:.875rem}
.fs-bw-rv-reply-l{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:rgb(var(--c-brand-text))}
.fs-bw-rv-who{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;font-size:.875rem;font-weight:700;color:rgb(var(--c-ink-950))}
.fs-bw-sample{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:rgb(var(--c-ink-400));border:1px dashed currentColor;border-radius:999px;padding:2px 8px;white-space:nowrap;line-height:1.5}
/* The editor-only marker on an invented review (owner ruling 2026-10-11):
   drawn only while editing a real site, never on the live page. */
.fs-bw-sample-mark{display:inline-block;margin:0 0 8px;padding:2px 8px;border:1px dashed rgb(var(--c-ink-400) / .7);border-radius:4px;font-size:.75rem;font-weight:600;line-height:1.4;letter-spacing:0;text-transform:none;color:rgb(var(--c-ink-400));background:rgb(var(--c-paper-soft));white-space:normal}
.fs-bw-rv-who .fs-bw-sample-mark,.fs-bw-hfact .fs-bw-sample-mark,.fs-bw-lede .fs-bw-sample-mark,.fs-bw-facts .fs-bw-sample-mark,.fs-bw-callout .fs-bw-sample-mark{margin:4px 0 0}

/* ══ favBwFaq — .wrap.two .acc-item ════════════════════════════════ */
.fs-bw-two{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:48px;align-items:start}
.fs-bw-two>*{min-width:0}
.fs-bw-acc-item{border-bottom:1px solid rgb(var(--c-line))}
.fs-bw-acc-item:first-child{border-top:1px solid rgb(var(--c-line))}
.fs-bw .fs-bw-acc-h{margin:0;font-family:inherit;font-size:inherit;line-height:inherit;font-weight:inherit;letter-spacing:normal;text-wrap:wrap}
.fs-bw-acc-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;text-align:left;min-height:44px;padding:16px 4px;margin:0;border:0;background:none;color:inherit;cursor:pointer;
  font-family:var(--font-display,'Schibsted Grotesk',system-ui,sans-serif);font-weight:600;font-size:1.25rem;line-height:1.25;letter-spacing:normal}
div.fs-bw-acc-q{cursor:auto}
.fs-bw-acc-q:focus-visible{outline:2px solid rgb(var(--c-brand-text));outline-offset:2px}
.fs-bw-acc-q .fs-bw-ic{color:rgb(var(--c-brand-text))}
.fs-bw-acc-item.is-open .fs-bw-acc-q .fs-bw-ic{transform:rotate(45deg)}
.fs-bw-acc-a{display:grid;grid-template-rows:0fr}
.fs-bw-acc-item.is-open .fs-bw-acc-a{grid-template-rows:1fr}
/* overflow:clip, never hidden; min-height:0 lets the 0fr row collapse.
   A closed answer is hidden from the page and the keyboard once it has
   closed (the visibility change waits for the height transition). */
.fs-bw-acc-a>div{overflow:clip;min-height:0}
.fs-bw-acc-item:not(.is-open) .fs-bw-acc-a>div{visibility:hidden}
.fs-bw p.fs-bw-acc-p{padding:0 4px 20px;max-width:65ch}

/* ══ favBwCta — .cta-band ══════════════════════════════════════════ */
/* The source's blob colour --c2 (the palette's second support colour)
   has no platform token: it is the brand colour half-way to white here
   (Deviation Ledger L14). */
.fs-bw-cta-band{position:relative;overflow:clip;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:32px;align-items:center;background:rgb(var(--c-brand-600));color:var(--fs-on-brand);border-radius:20px;padding:64px}
.fs-bw-cta-band::before{content:"";position:absolute;right:-64px;top:-64px;width:240px;height:240px;border-radius:50%;background:rgb(var(--c-accent));opacity:.28}
.fs-bw-cta-band::after{content:"";position:absolute;left:36%;bottom:-96px;width:200px;height:200px;border-radius:42% 58% 55% 45%/48% 42% 58% 52%;background:color-mix(in srgb,rgb(var(--c-brand-600)) 50%,var(--fs-bw-lit));opacity:.28}
.fs-bw-cta-band>*{position:relative;z-index:1;min-width:0}
.fs-bw .fs-bw-cta-h{color:var(--fs-on-brand)}
.fs-bw .fs-bw-cta-h em{color:var(--fs-on-brand);background:linear-gradient(transparent 68%,color-mix(in srgb,var(--fs-on-brand) 28%,transparent) 68% 90%,transparent 90%)}
.fs-bw p.fs-bw-cta-p{color:var(--fs-on-brand);margin-top:12px;max-width:65ch}
.fs-bw-acts{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.fs-bw-cta-band :focus-visible{outline:2px solid var(--fs-on-brand);outline-offset:2px}

/* the source's @media (max-width:1000px / 900px / 640px / 480px), again
   for these blocks */
@container fs-bw (max-width:1000px){
  .fs-bw-rooms3,.fs-bw-rev3,.fs-bw-proc{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container fs-bw (max-width:900px){
  .fs-bw-two,.fs-bw-cta-band{grid-template-columns:minmax(0,1fr)}
  .fs-bw-cta-band{padding:40px 24px}
  .fs-bw-acts{justify-content:flex-start}
}
@container fs-bw (max-width:640px){
  .fs-bw-rooms3,.fs-bw-rev3,.fs-bw-proc{grid-template-columns:minmax(0,1fr)}
}
@container fs-bw (max-width:480px){
  .fs-bw-proc>li,.fs-bw-rv-card{padding:20px}
  .fs-bw-cta-band{padding:32px 20px}
}

/* Site Settings layouts for the new blocks (the source's data-layout=
   center / minimal rules for .cta-band and the lifted cards) */
[data-fs-layout="centered"] .fs-bw-cta-band{grid-template-columns:minmax(0,1fr);text-align:center}
[data-fs-layout="centered"] .fs-bw-cta-p{margin-inline:auto}
[data-fs-layout="centered"] .fs-bw-acts{justify-content:center}
[data-fs-layout="minimal"] .fs-bw-cta-band{background:var(--fs-bw-tint);color:rgb(var(--c-ink-950));border:1px solid rgb(var(--c-line))}
[data-fs-layout="minimal"] .fs-bw-cta-band::before,[data-fs-layout="minimal"] .fs-bw-cta-band::after{display:none}
[data-fs-layout="minimal"] .fs-bw .fs-bw-cta-h,[data-fs-layout="minimal"] .fs-bw .fs-bw-cta-h em,[data-fs-layout="minimal"] .fs-bw p.fs-bw-cta-p{color:rgb(var(--c-ink-950))}
[data-fs-layout="minimal"] .fs-bw .fs-bw-cta-h em{background:linear-gradient(transparent 68%,color-mix(in srgb,rgb(var(--c-accent)) 60%,transparent) 68% 90%,transparent 90%)}
[data-fs-layout="minimal"] .fs-bw-cta-band .fs-bw-btn-white{background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));color:var(--fs-on-brand)}
[data-fs-layout="minimal"] .fs-bw-cta-band .fs-bw-btn-white::after{background:rgb(var(--c-brand-700))}
[data-fs-layout="minimal"] .fs-bw-cta-band .fs-bw-btn-ghost{color:rgb(var(--c-ink-950));border-color:rgb(var(--c-ink-950))}
[data-fs-layout="minimal"] .fs-bw-cta-band .fs-bw-btn-ghost::after{background:rgb(var(--c-ink-950))}
[data-fs-layout="minimal"] .fs-bw-cta-band :focus-visible{outline-color:rgb(var(--c-brand-text))}
[data-fs-layout="minimal"] .fs-bw-proc>li,[data-fs-layout="minimal"] .fs-bw-rv-card{box-shadow:none}

/* ══ Task 10a shared — .panel .warn .callout .chip(s) .field .ptab .note-list
   (ported once; source rules .panel/.warn/.callout/.chip/.field/.ptab/
   .note-list, --surf = paper-soft, --tint = --fs-bw-tint, --c2 =
   --fs-bw-c2: the brand colour half-way to white, Deviation Ledger L14) ═ */
.fs-bw-small{font-size:.875rem;color:rgb(var(--c-ink-400))}
/* .fs-typo li:not([class]) sets 1.6 on list items; keep the family line height */
.fs-bw li:not([class]):not([hidden]){line-height:inherit}
.fs-bw .fs-bw-ic.fs-bw-ic-xs{width:14px;height:14px}
.fs-bw .fs-bw-ic.fs-bw-ic-m{width:18px;height:18px}
.fs-bw .fs-bw-ic.fs-bw-ic-seal{width:22px;height:22px}
.fs-bw-hintrow{margin:0}
.fs-bw-panel{display:grid;gap:16px;align-content:start;grid-template-columns:minmax(0,1fr);background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));border-radius:12px;padding:24px;box-shadow:var(--fs-bw-sh-1)}
.fs-bw .fs-bw-panel .fs-bw-h4,.fs-bw .fs-bw-ar-r .fs-bw-h4{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--c-ink-400));font-weight:800}
.fs-bw-k{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;font-weight:800;color:rgb(var(--c-ink-400))}
.fs-bw-flabel{font-weight:700;font-size:.875rem;color:rgb(var(--c-ink-950))}
.fs-bw-field{display:grid;gap:6px;grid-template-columns:minmax(0,1fr)}
.fs-bw-field input,.fs-bw-field select{width:100%;min-height:48px;padding:12px 16px;border:1px solid var(--fs-bw-edge);border-radius:6px;background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));font:inherit}
.fs-bw-field input:focus,.fs-bw-field select:focus{outline:none;border-color:rgb(var(--c-brand-600));box-shadow:0 0 0 4px color-mix(in srgb,rgb(var(--c-brand-600)) 25%,transparent)}
.fs-bw-warn{display:flex;gap:12px;padding:16px;background:var(--fs-bw-ctint);color:var(--fs-bw-ctint-ink);border-left:4px solid rgb(var(--c-accent));border-radius:6px;font-size:.875rem;line-height:1.5}
.fs-bw-warn>.fs-bw-ic{margin-top:2px}
.fs-bw .fs-bw-warn p,.fs-bw .fs-bw-warn span{color:inherit}
.fs-bw .fs-bw-warn a{font-weight:800;text-decoration:underline}
.fs-bw p.fs-bw-callout{font-size:.875rem;color:rgb(var(--c-ink-400));padding:12px 16px;background:var(--fs-bw-tint);border:1px dashed var(--fs-bw-edge);border-radius:6px;line-height:1.55}
.fs-bw-chips{display:flex;flex-wrap:wrap;gap:8px}
.fs-bw-chip{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:4px 12px;background:rgb(var(--c-paper-soft));border:1px solid var(--fs-bw-edge);border-radius:999px;font:inherit;font-weight:700;font-size:.875rem;color:rgb(var(--c-ink-950))}
button.fs-bw-chip{cursor:pointer}
.fs-bw-stack-s{display:grid;gap:8px}
.fs-bw-money{font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}
.fs-bw-ptab{width:100%;border-collapse:collapse;background:rgb(var(--c-paper-soft));border-radius:12px;overflow:hidden;box-shadow:var(--fs-bw-sh-1)}
.fs-bw-ptab th,.fs-bw-ptab td{padding:16px;text-align:left;border-bottom:1px solid rgb(var(--c-line));font-size:.875rem;vertical-align:top}
.fs-bw-ptab thead th{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--c-ink-400));background:var(--fs-bw-tint2);font-weight:800}
.fs-bw-ptab tbody th{font-weight:800;color:rgb(var(--c-ink-950))}
.fs-bw-ptab td.fs-bw-money{font-weight:800;white-space:nowrap}
.fs-bw-ptab tr:last-child th,.fs-bw-ptab tr:last-child td{border-bottom:0}
.fs-bw-note-list{list-style:none;display:grid;gap:12px;justify-self:stretch}
.fs-bw-note-list li{display:flex;gap:12px;color:rgb(var(--c-ink-400))}
.fs-bw-note-list .fs-bw-ic{color:rgb(var(--c-brand-text));margin-top:2px}

/* ══ favBwServiceStack — .stack-rooms .room.card.wide ═══════════════ */
.fs-bw-stack-rooms{display:grid;gap:24px}
/* the nav's jump links land below a sticky header (no platform variable exposes its height) */
.fs-bw-anchor{scroll-margin-top:var(--fs-header-h,112px)}
.fs-bw-wide{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);column-gap:32px}
.fs-bw-wide>*{min-width:0}
.fs-bw-wide .fs-bw-rpic{aspect-ratio:auto;min-height:260px;height:100%}
.fs-bw-room-in{display:grid;gap:16px;align-content:center}
.fs-bw-rdo{list-style:none;display:grid;gap:8px;font-size:.875rem;color:rgb(var(--c-ink-400))}
.fs-bw-rdo li{display:flex;gap:8px}
.fs-bw-rdo .fs-bw-ic{width:18px;height:18px;color:rgb(var(--c-brand-text));margin-top:2px}
.fs-bw-ptab-src{margin-top:0}

/* ══ favBwSplitList — .split .pic-frame .note-list ═════════════════ */
.fs-bw-split-copy>.fs-bw-split-p{margin:0}

/* ══ favBwAreas — .ar ══════════════════════════════════════════════ */
.fs-bw-ar{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:32px;align-items:start}
.fs-bw-ar>*,.fs-bw-ar-r>*{min-width:0}
.fs-bw-ar-lab{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px}
.fs-bw-ar-map{width:100%;max-width:520px;margin-inline:auto}
.fs-bw-ar-svgw{position:relative;display:grid}
.fs-bw-ar-svgw svg{display:block;width:100%;height:auto;aspect-ratio:1/1}
.fs-bw-ar-r1,.fs-bw-ar-r2,.fs-bw-ar-r3{stroke:var(--fs-bw-edge);stroke-width:2;stroke-dasharray:6 6}
.fs-bw-ar-r3{fill:color-mix(in srgb,var(--fs-bw-c2) 12%,rgb(var(--c-paper-soft)))}
.fs-bw-ar-r2{fill:color-mix(in srgb,var(--fs-bw-c2) 22%,rgb(var(--c-paper-soft)))}
.fs-bw-ar-r1{fill:color-mix(in srgb,var(--fs-bw-c2) 34%,rgb(var(--c-paper-soft)))}
.fs-bw-ar-map[data-z="1"] .fs-bw-ar-r1,.fs-bw-ar-map[data-z="2"] .fs-bw-ar-r2,.fs-bw-ar-map[data-z="3"] .fs-bw-ar-r3{fill:color-mix(in srgb,rgb(var(--c-accent)) 40%,rgb(var(--c-paper-soft)));stroke:rgb(var(--c-brand-600));stroke-dasharray:none;stroke-width:3}
.fs-bw-ar-road{fill:none;stroke:rgb(var(--c-paper-soft));stroke-width:14;stroke-linecap:round}
.fs-bw-ar-roadc{fill:none;stroke:var(--fs-bw-edge);stroke-width:2;stroke-dasharray:10 10}
.fs-bw-ar-dot{fill:rgb(var(--c-brand-600));stroke:rgb(var(--c-paper-soft));stroke-width:3}
.fs-bw-ar-halo{display:none;fill:color-mix(in srgb,rgb(var(--c-accent)) 60%,transparent);stroke:rgb(var(--c-ink-950));stroke-width:2.5}
.fs-bw-ar-pt.on .fs-bw-ar-halo{display:block}
.fs-bw-ar-pt.on .fs-bw-ar-dot{fill:rgb(var(--c-ink-950))}
.fs-bw-ar-nut{fill:rgb(var(--c-brand-600));stroke:rgb(var(--c-brand-600));stroke-width:5;stroke-linejoin:round}
.fs-bw-ar-ring{fill:none;stroke:rgb(var(--c-accent));stroke-width:2.4}
.fs-bw-ar-drop{fill:var(--fs-on-brand)}
.fs-bw-ar-tx{font:800 24px var(--font-sans,'Figtree',system-ui,sans-serif);fill:rgb(var(--c-ink-950));paint-order:stroke;stroke:rgb(var(--c-paper-soft));stroke-width:7px;stroke-linejoin:round}
/* the zone buttons sit on the rings (percentage positions) and drop
   below the map on phones */
.fs-bw-ar-zbs{position:absolute;inset:0;pointer-events:none}
.fs-bw-ar-zb{position:absolute;left:50%;top:var(--y);transform:translate(-50%,-50%);pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px 16px;border:2px solid var(--fs-bw-edge);border-radius:999px;background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));font:inherit;font-weight:800;font-size:.875rem;white-space:nowrap;box-shadow:var(--fs-bw-sh-1);cursor:pointer}
.fs-bw-ar-zb .fs-bw-ic{display:none}
.fs-bw-ar-zb:hover{border-color:rgb(var(--c-brand-600))}
.fs-bw-ar-zb[aria-pressed="true"]{background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));color:var(--fs-on-brand)}
.fs-bw-ar-zb[aria-pressed="true"] .fs-bw-ic{display:inline-block}
.fs-bw-ar-zb:focus-visible,.fs-bw-ar-pl:focus-visible,.fs-bw-cr-look:focus-visible{outline:2px solid rgb(var(--c-brand-text));outline-offset:2px}
.fs-bw-ar-leg{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 24px;font-size:.875rem;color:rgb(var(--c-ink-400))}
.fs-bw-ar-leg li{display:flex;align-items:center;gap:8px}
.fs-bw-ar-kb{display:inline-block;width:16px;height:16px;background:rgb(var(--c-brand-600));clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.fs-bw-ar-kd{display:inline-block;width:12px;height:12px;border-radius:50%;background:rgb(var(--c-brand-600));box-shadow:0 0 0 1px rgb(var(--c-paper-soft)),0 0 0 2px var(--fs-bw-edge)}
.fs-bw-ar-find{margin:0}
.fs-bw-ar-row{display:flex;gap:8px;align-items:stretch}
.fs-bw-ar-row input{flex:1;min-width:0}
.fs-bw-ar-row .fs-bw-btn{flex:none}
.fs-bw p.fs-bw-ar-msg{display:flex;align-items:flex-start;gap:8px;padding:12px 16px;border-radius:6px;background:var(--fs-bw-tint);color:rgb(var(--c-ink-950));font-size:.875rem;border-left:4px solid var(--fs-bw-edge)}
.fs-bw p.fs-bw-ar-msg.is-ok{border-left-color:var(--fs-bw-c2)}
.fs-bw p.fs-bw-ar-msg.is-bad{background:var(--fs-bw-ctint);color:var(--fs-bw-ctint-ink);border-left-color:rgb(var(--c-accent))}
.fs-bw-ar-msg>.fs-bw-ic{flex:none;width:18px;height:18px;margin-top:2px}
.fs-bw-ar-msg a{font-weight:800;text-decoration:underline}
.fs-bw-ar-r{display:grid;gap:24px}
.fs-bw-ar-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.fs-bw-ar-ztag{padding:4px 12px;border-radius:999px;background:rgb(var(--c-brand-600));color:var(--fs-on-brand);font-weight:800;font-size:.875rem}
.fs-bw-ar-now{display:grid;gap:4px;padding:16px;border-radius:6px;background:var(--fs-bw-tint);border:1px solid rgb(var(--c-line))}
.fs-bw .fs-bw-ar-big{font-family:var(--font-display,'Schibsted Grotesk',system-ui,sans-serif);font-size:clamp(1.65rem,calc(3 * var(--fs-bw-vw)),2rem);font-weight:600;line-height:1.1;color:rgb(var(--c-brand-text))}
.fs-bw-ar-pl{min-height:44px}
.fs-bw-ar-pl .fs-bw-ic{flex:none}
.fs-bw-ar-facts{list-style:none;display:grid;gap:12px;font-size:.875rem}
.fs-bw-ar-facts li{display:flex;gap:12px;align-items:flex-start;color:rgb(var(--c-ink-950))}
.fs-bw-ar-facts>li>.fs-bw-ic{flex:none;width:20px;height:20px;margin-top:2px;color:rgb(var(--c-brand-text))}
.fs-bw-ar-acts{display:flex;flex-wrap:wrap;gap:12px}
.fs-bw-ar-zone .fs-bw-warn>.fs-bw-ic{flex:none;width:20px;height:20px}
.fs-bw-ar-tw{display:grid;gap:8px}
.fs-bw-ar-tab th small{display:block;margin-top:2px;font-size:.75rem;font-weight:400;color:rgb(var(--c-ink-400))}
.fs-bw-ar-tab tr.fs-bw-ar-cur th,.fs-bw-ar-tab tr.fs-bw-ar-cur td{background:var(--fs-bw-tint)}
.fs-bw-ar-nowtag{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:2px 8px;border-radius:999px;background:rgb(var(--c-brand-600));color:var(--fs-on-brand);font-size:.75rem;font-weight:800;vertical-align:middle}

/* ══ favBwCred — .cr ═══════════════════════════════════════════════ */
/* The source calls its two-column wrapper and the card's header band
   cr-top and so paints the whole row brand blue; the wrapper is
   fs-bw-cr-main here (Deviation Ledger L19). */
.fs-bw-cr{display:grid;gap:32px}
.fs-bw-cr-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start}
.fs-bw-cr-main>*{min-width:0}
.fs-bw-cr-left{display:grid;gap:16px;align-content:start;position:sticky;top:112px}
.fs-bw-cr-left.is-edit{position:static}
.fs-bw-cr-stage{perspective:1400px}
.fs-bw-cr-in{display:grid;transform-style:preserve-3d}
.fs-bw-cr-in.is-back{transform:rotateY(180deg)}
.fs-bw-cr-face{grid-area:1/1;display:grid;grid-template-rows:auto 1fr auto;min-height:300px;overflow:hidden;border:1px solid var(--fs-bw-edge);border-radius:20px;background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));box-shadow:var(--fs-bw-sh-2);backface-visibility:hidden;-webkit-backface-visibility:hidden}
.fs-bw-cr-backface{transform:rotateY(180deg)}
.fs-bw-cr-in.is-flat{gap:16px}
.fs-bw-cr-in.is-flat .fs-bw-cr-face{grid-area:auto;min-height:0;backface-visibility:visible;-webkit-backface-visibility:visible}
.fs-bw-cr-in.is-flat .fs-bw-cr-backface{transform:none}
.fs-bw-cr-top{display:flex;gap:12px;align-items:center;padding:12px 16px;background:rgb(var(--c-brand-600));color:var(--fs-on-brand);border-bottom:3px solid rgb(var(--c-accent))}
.fs-bw-cr-seal{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;background:var(--fs-on-brand);color:rgb(var(--c-brand-600))}
.fs-bw-cr-ttl{display:grid;gap:2px;min-width:0}
.fs-bw .fs-bw-cr-ttl b{font-family:var(--font-display,'Schibsted Grotesk',system-ui,sans-serif);font-size:1.125rem;font-weight:600;line-height:1.2}
.fs-bw-cr-ttl small{font-size:.75rem;color:inherit}
.fs-bw-cr-body{display:grid;grid-template-columns:104px minmax(0,1fr);gap:16px;align-items:start;padding:16px;background:repeating-linear-gradient(135deg,transparent 0 12px,color-mix(in srgb,rgb(var(--c-brand-600)) 4%,transparent) 12px 13px)}
.fs-bw-cr-ph{aspect-ratio:5/6;overflow:hidden;border:1px solid var(--fs-bw-edge);border-radius:6px;background:var(--fs-bw-tint)}
.fs-bw-cr-ph svg{display:block;width:100%;height:100%}
.fs-bw-cr-dl{display:grid;gap:8px;min-width:0;margin:0}
.fs-bw-cr-dl dt{margin:0;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
.fs-bw-cr-dl dd{margin:0;min-height:1.65em;font-size:1rem;font-weight:700;overflow-wrap:anywhere}
.fs-bw p.fs-bw-cr-strip{display:flex;gap:8px;align-items:center;padding:8px 16px;background:var(--fs-bw-ctint);color:var(--fs-bw-ctint-ink);font-size:.875rem;font-weight:700}
.fs-bw-cr-strip .fs-bw-ic{flex:none}
.fs-bw-cr-list{list-style:none;display:grid;gap:8px;align-content:start;padding:16px}
.fs-bw-cr-li{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:12px;align-items:center;padding:8px 12px;border-radius:6px;background:var(--fs-bw-tint);font-size:.875rem;font-weight:700}
.fs-bw-cr-mk{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgb(var(--c-brand-600));color:var(--fs-on-brand)}
.fs-bw-cr-li.is-no{background:transparent;border:1px dashed var(--fs-bw-edge);color:rgb(var(--c-ink-400))}
.fs-bw-cr-li.is-no .fs-bw-cr-mk{background:transparent;border:1px solid rgb(var(--c-ink-400));color:rgb(var(--c-ink-400))}
.fs-bw-cr-st{font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.fs-bw-cr-ctl{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.fs-bw p.fs-bw-cr-cap{min-height:24px}
.fs-bw-pg{display:grid;gap:6px}
.fs-bw-pg-top{display:flex;justify-content:space-between;gap:12px;font-size:.875rem;font-weight:800}
.fs-bw-pg-bar{height:10px;border-radius:999px;background:rgb(var(--c-line));overflow:hidden}
.fs-bw-pg-bar i{display:block;height:100%;width:0;border-radius:999px;background:rgb(var(--c-brand-600))}
.fs-bw-cr-steps{list-style:none;display:grid;gap:8px}
.fs-bw-cr-step{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid var(--fs-bw-edge);border-radius:6px;background:rgb(var(--c-paper));padding-right:12px}
.fs-bw-cr-step.is-done{background:var(--fs-bw-tint);border-color:rgb(var(--c-brand-600))}
.fs-bw-cr-step:has(input:focus-visible){outline:2px solid rgb(var(--c-brand-text));outline-offset:2px}
.fs-bw-cr-chk{display:flex;gap:12px;align-items:flex-start;min-height:44px;padding:12px 16px;cursor:pointer;color:rgb(var(--c-ink-950))}
div.fs-bw-cr-chk{cursor:auto}
.fs-bw-cr-chk input{flex:none;width:24px;height:24px;margin:2px 0 0;accent-color:rgb(var(--c-brand-600))}
.fs-bw-cr-box{flex:none;width:24px;height:24px;margin-top:2px;border:2px solid rgb(var(--c-ink-400));border-radius:4px;background:rgb(var(--c-paper))}
.fs-bw-cr-chk b{display:block;font-size:1rem;font-weight:700}
.fs-bw-cr-chk small{display:block;margin-top:2px;font-size:.875rem;font-weight:400;color:rgb(var(--c-ink-400));line-height:1.5}
.fs-bw-cr-step.is-done .fs-bw-cr-chk small{color:rgb(var(--c-ink-950))}
.fs-bw p.fs-bw-cr-done{display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:6px;background:var(--fs-bw-ctint);color:var(--fs-bw-ctint-ink);font-weight:800;font-size:.875rem}
.fs-bw-cr-acts{display:flex;gap:8px}
.fs-bw-cr-wrong{display:grid;gap:16px}
.fs-bw-cr-wgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.fs-bw-cr-wgrid>*{min-width:0}
.fs-bw-cr-w,.fs-bw-cr-fact{display:flex;gap:16px;align-items:flex-start;padding:16px;border:1px solid rgb(var(--c-line));border-radius:12px;background:rgb(var(--c-paper-soft));box-shadow:var(--fs-bw-sh-1)}
.fs-bw .fs-bw-cr-w b,.fs-bw .fs-bw-cr-fact b{display:block;font-family:var(--font-display,'Schibsted Grotesk',system-ui,sans-serif);font-size:1.125rem;font-weight:600;line-height:1.25}
.fs-bw-cr-w p,.fs-bw-cr-fact p{margin-top:4px;font-size:.875rem;color:rgb(var(--c-ink-400))}
.fs-bw .fs-bw-cr-w a{color:rgb(var(--c-brand-text));font-weight:800;text-decoration:underline;white-space:nowrap}
.fs-bw .fs-bw-cr-gas a{color:inherit;font-weight:800;text-decoration:underline}
.fs-bw-cr-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.fs-bw-cr-facts>*{min-width:0}
.fs-bw-cr-fact{background:var(--fs-bw-tint)}
.fs-bw p.fs-bw-cr-foot{max-width:65ch}

@container fs-bw (max-width:900px){
  .fs-bw-ar,.fs-bw-wide{grid-template-columns:minmax(0,1fr)}
  .fs-bw-cr{gap:24px}
  .fs-bw-cr-main{grid-template-columns:minmax(0,1fr);gap:24px}
  .fs-bw-cr-left{position:static;max-width:560px}
  .fs-bw-cr-wgrid,.fs-bw-cr-facts{grid-template-columns:minmax(0,1fr)}
}
@container fs-bw (max-width:640px){
  .fs-bw-ar-svgw{gap:12px}
  .fs-bw-ar-zbs{position:static;pointer-events:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .fs-bw-ar-zb{position:static;transform:none;padding:8px}
  /* stacked in a grid here, not placed: pressed, it keeps no transform
     (beats the placed rule's .fs-bw .fs-bw-ar-zb, later in the sheet) */
  .fs-bw .fs-bw-ar-zb.fs-bw-ar-zb{--fs-anim-fs-press:none}
  .fs-bw-ar-acts .fs-bw-btn{flex:1 1 100%}
  .fs-bw .fs-bw-ar-big{font-size:1.5rem}
  .fs-bw-cr-body{grid-template-columns:80px minmax(0,1fr);gap:12px}
  .fs-bw-cr-step{grid-template-columns:minmax(0,1fr);padding-right:0;padding-bottom:12px}
  .fs-bw-cr-look{justify-self:start;margin-left:16px}
  .fs-bw-cr-li{padding:8px}
  .fs-bw-ptab thead{display:none}
  .fs-bw-ptab,.fs-bw-ptab tbody,.fs-bw-ptab tr,.fs-bw-ptab th,.fs-bw-ptab td{display:block;width:100%}
  .fs-bw-ptab tr{padding:16px;border-bottom:1px solid rgb(var(--c-line))}
  .fs-bw-ptab th,.fs-bw-ptab td{padding:2px 0;border:0}
  .fs-bw-ptab td::before{content:attr(data-l) ": ";font-weight:800;color:rgb(var(--c-ink-400))}
}
@container fs-bw (max-width:480px){
  .fs-bw-panel{padding:20px}
  .fs-bw-wide .fs-bw-rpic{min-height:200px}
}

/* Site Settings layouts (the source's data-layout=minimal) */
[data-fs-layout="minimal"] .fs-bw-panel,[data-fs-layout="minimal"] .fs-bw-ptab,[data-fs-layout="minimal"] .fs-bw-cr-face,
[data-fs-layout="minimal"] .fs-bw-cr-w,[data-fs-layout="minimal"] .fs-bw-cr-fact,[data-fs-layout="minimal"] .fs-bw-ar-zb{box-shadow:none}

/* ══ port Task 10b: estimator, quote reader, policies, house, seasons ══
   Ported from the source's .pc- / .qr- / .sfgrid .sf / .hs- / .wn- rules
   and the shared .opt / .check / .fe-res ones they lean on. */

/* The source's --f-* ink panel (the estimator's result; the footer's
   ground in Task 13): a dark navy in both modes, #0d1b29 with #eef3f6
   words. Light: the ink itself; dark: between the page and the raised
   surface. --c4 (window glass), --steel (the Cyprus roof tank) and --bg2
   (the house's ground strip) have no platform token: mixes that land
   near the source's cold values and follow the palette. */
.fs-bw{
  --fs-bw-navy:rgb(var(--c-ink-950));--fs-bw-f-bg:var(--fs-bw-navy);--fs-bw-f-ink:rgb(var(--c-paper));
  --fs-bw-f-mute:color-mix(in srgb,rgb(var(--c-paper)) 78%,rgb(var(--c-ink-950)));
  --fs-bw-c4:color-mix(in srgb,rgb(var(--c-brand-600)) 35%,var(--fs-bw-lit));
  --fs-bw-bg2:color-mix(in srgb,rgb(var(--c-line)) 30%,rgb(var(--c-paper)));
}
.dark .fs-bw{
  --fs-bw-navy:color-mix(in srgb,rgb(var(--c-paper)) 60%,rgb(var(--c-paper-soft)));--fs-bw-f-ink:rgb(var(--c-ink-950));
  --fs-bw-f-mute:color-mix(in srgb,rgb(var(--c-ink-950)) 82%,rgb(var(--c-paper)));
}
.fs-preview-light .fs-bw{
  --fs-bw-navy:rgb(var(--c-ink-950));--fs-bw-f-ink:rgb(var(--c-paper));
  --fs-bw-f-mute:color-mix(in srgb,rgb(var(--c-paper)) 78%,rgb(var(--c-ink-950)));
}
.fs-bw-pc,.fs-bw-hs{
  --fs-bw-f-line:color-mix(in srgb,var(--fs-bw-f-ink) 20%,transparent);
  --fs-bw-f-card:color-mix(in srgb,var(--fs-bw-f-ink) 7%,transparent);
  --fs-bw-steel:color-mix(in srgb,var(--fs-bw-navy) 85%,var(--fs-bw-lit));
}

/* the platform's .fs-typo p sets 1.6 on a bare paragraph; keep the family's 1.65 */
.fs-bw.fs-bw-estimator p:not([class]),.fs-bw.fs-bw-quotereader p:not([class]),.fs-bw.fs-bw-policies p:not([class]),
.fs-bw.fs-bw-house p:not([class]),.fs-bw.fs-bw-seasons p:not([class]){line-height:1.65}
.fs-bw.fs-bw-estimator .fs-bw-warn>p,.fs-bw.fs-bw-house .fs-bw-warn>p{line-height:1.5}

/* native radios and tick boxes follow the mode (the source's html[data-mode=dark]{color-scheme:dark}) */
.dark .fs-bw-pc,.dark .fs-bw-qr,.dark .fs-bw-hs,.dark .fs-bw-wn{color-scheme:dark}
.fs-preview-light .fs-bw-pc,.fs-preview-light .fs-bw-qr,.fs-preview-light .fs-bw-hs,.fs-preview-light .fs-bw-wn{color-scheme:light}

/* shared: .opt (a radio card), .check (a tick box line), the editor's
   stand-in inputs, .fe-res (the dark result panel) */
.fs-bw-opt{display:flex;gap:12px;align-items:flex-start;min-height:44px;padding:12px 16px;border:1px solid var(--fs-bw-edge);border-radius:6px;background:rgb(var(--c-paper));cursor:pointer}
.fs-bw-opt input{margin:4px 0 0;accent-color:rgb(var(--c-brand-600));width:18px;height:18px;flex:none}
.fs-bw-opt.is-on{background:var(--fs-bw-ctint);border-color:rgb(var(--c-brand-600));color:var(--fs-bw-ctint-ink)}
.fs-bw .fs-bw-opt.is-on small{color:var(--fs-bw-ctint-ink)}
.fs-bw-opt:has(input:focus-visible){outline:2px solid rgb(var(--c-brand-text));outline-offset:2px}
.fs-bw-opt b{display:block;font-weight:700}
.fs-bw-opt small{color:rgb(var(--c-ink-400));display:block;font-size:.875rem}
.fs-bw-check{display:flex;gap:12px;align-items:flex-start;font-size:.875rem;color:rgb(var(--c-ink-400));cursor:pointer}
.fs-bw-check input{margin:2px 0 0;width:20px;height:20px;accent-color:rgb(var(--c-brand-600));flex:none}
.fs-bw-fake{flex:none;display:inline-block;width:18px;height:18px;margin-top:4px;border:2px solid rgb(var(--c-ink-400));background:rgb(var(--c-paper))}
.fs-bw-fake-radio{border-radius:50%}
.fs-bw-fake-radio.is-on{border-color:rgb(var(--c-brand-600));box-shadow:inset 0 0 0 3px rgb(var(--c-paper)),inset 0 0 0 9px rgb(var(--c-brand-600))}
.fs-bw-fake-check{width:20px;height:20px;margin-top:2px;border-radius:4px}
.fs-bw-fe-res{display:grid;gap:16px;grid-template-columns:minmax(0,1fr);padding:32px;background:var(--fs-bw-f-bg);color:var(--fs-bw-f-ink);border-radius:20px;overflow:clip;box-shadow:var(--fs-bw-sh-2);position:sticky;top:calc(var(--fs-header-h,112px) + 24px)}
.fs-bw .fs-bw-fe-res small.fs-bw-k{color:var(--fs-bw-f-mute);font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.75rem}
.fs-bw-fe-big{font-family:var(--font-display,'Schibsted Grotesk',system-ui,sans-serif);font-weight:600;font-size:clamp(2.5rem,calc(6 * var(--fs-bw-vw)),3.5rem);line-height:1;color:var(--fs-bw-f-ink);font-variant-numeric:lining-nums}
.fs-bw .fs-bw-fe-res p{color:var(--fs-bw-f-mute);font-size:.875rem}
.fs-bw-fe-lines{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:.875rem;color:var(--fs-bw-f-mute)}
.fs-bw .fs-bw-fe-lines li{display:flex;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px dashed var(--fs-bw-f-line);line-height:1.65}
.fs-bw-fe-lines li>span{min-width:0}
.fs-bw-fe-lines li b{color:var(--fs-bw-f-ink);font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
.fs-bw .fs-bw-fe-lines li.fs-bw-tot{border-bottom:0;padding-top:4px;font-size:1rem;color:var(--fs-bw-f-ink)}
.fs-bw .fs-bw-fe-lines li.fs-bw-pc-vat{border-bottom:0;padding-bottom:0;font-size:.875rem}
.fs-bw-fe-res .fs-bw-btn{white-space:normal;text-align:center}
.fs-bw-fe-res :focus-visible{outline-color:var(--fs-bw-f-ink)}
.fs-bw .fs-bw-fe-res .fs-bw-sample{color:var(--fs-bw-f-mute)}
.fs-bw .fs-bw-fe-res p.fs-bw-callout{background:var(--fs-bw-f-card);border-color:var(--fs-bw-f-line);color:var(--fs-bw-f-mute)}
.fs-bw .fs-bw-fe-res p.fs-bw-callout b{color:var(--fs-bw-f-ink)}

/* estimator (.pc) */
.fs-bw-pc{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:32px;align-items:start}
.fs-bw-pc>*{min-width:0}
.fs-bw-pc-form{gap:24px}
.fs-bw-pc-safe{align-items:flex-start}
.fs-bw-pc-fs,.fs-bw-qr-fs{border:0;min-width:0;margin:0;padding:0}
.fs-bw-pc-fs legend,.fs-bw-pc-lab,.fs-bw-qr-fs legend{display:block;padding:0;margin-bottom:12px;font-weight:800;font-size:1rem;color:rgb(var(--c-ink-950))}
.fs-bw-pc-grp{display:grid;gap:8px}
.fs-bw-pc-grp .fs-bw-pc-lab{margin-bottom:4px}
.fs-bw-pc-jobs{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}
.fs-bw-pc-job{align-items:center}
.fs-bw-pc-job>*{min-width:0}
.fs-bw-pc-job>.fs-bw-ic{color:rgb(var(--c-brand-text))}
.fs-bw-pc-job.is-on>.fs-bw-ic{color:var(--fs-bw-ctint-ink)}
.fs-bw-pc-job b{overflow-wrap:anywhere}
.fs-bw-pc-when{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.fs-bw .fs-bw-pc-tab{display:grid;gap:2px;align-content:center;justify-items:start;min-height:48px;padding:8px 12px;border-radius:6px;text-align:left;cursor:pointer}
.fs-bw-pc-tab b{font-weight:800}
.fs-bw-pc-tab small{font-size:.75rem;font-weight:700;color:rgb(var(--c-ink-400))}
.fs-bw-pc-tab[aria-selected="true"] small,.fs-bw-pc-tab.is-on small{color:var(--fs-on-brand)}
/* the shown tab while editing (a span: no aria-selected on a role-less element) */
.fs-bw-pc-when .fs-bw-tab.is-on,.fs-bw-wn-tabs .fs-bw-tab.is-on{background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));color:var(--fs-on-brand)}
.fs-bw .fs-bw-pc-src{padding-top:4px;border-top:1px dashed var(--fs-bw-edge)}
.fs-bw-pc-figs{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
.fs-bw-pc-big{overflow-wrap:anywhere}
.fs-bw-pc-big:focus{outline:none}
.fs-bw-pc-sub{display:block;font-size:.75rem;color:var(--fs-bw-f-mute);font-weight:400}
.fs-bw .fs-bw-fe-res p.fs-bw-pc-ref{font-size:.875rem}
.fs-bw-pc-acts{display:flex;flex-wrap:wrap;gap:12px}
.fs-bw .fs-bw-pc-jump{display:none;justify-self:start}

/* quote reader (.qr) */
.fs-bw-qr{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:32px;align-items:start}
.fs-bw-qr>*{min-width:0}
.fs-bw-qr-form{gap:24px}
.fs-bw-qr-amt{position:relative}
.fs-bw-qr-cur{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-weight:800;color:rgb(var(--c-ink-400));pointer-events:none}
.fs-bw .fs-bw-field .fs-bw-qr-amt input,.fs-bw-qr-inbox{padding-left:40px}
.fs-bw-qr-inbox,.fs-bw-qr-selbox{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;padding:12px 16px;border:1px solid var(--fs-bw-edge);border-radius:6px;background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950))}
.fs-bw-qr-flags{display:grid;gap:8px}
.fs-bw-qr-flag{border:1px solid var(--fs-bw-edge);border-radius:6px;background:rgb(var(--c-paper))}
.fs-bw-qr-flag .fs-bw-check{align-items:center;min-height:44px;padding:12px 16px}
.fs-bw-qr-flag .fs-bw-check input,.fs-bw-qr-flag .fs-bw-fake{margin-top:0}
.fs-bw-qr-flag b{display:block;color:rgb(var(--c-ink-950));font-weight:700;font-size:.875rem}
.fs-bw-qr-flag small{display:block;color:rgb(var(--c-ink-400));font-size:.875rem}
.fs-bw-qr-flag:hover{border-color:rgb(var(--c-brand-600))}
.fs-bw-qr-flag:has(input:focus-visible){outline:2px solid rgb(var(--c-brand-text));outline-offset:2px}
.fs-bw-qr-red.is-on{background:var(--fs-bw-ctint);border-color:rgb(var(--c-accent))}
.fs-bw .fs-bw-qr-red.is-on b,.fs-bw .fs-bw-qr-red.is-on small,.fs-bw .fs-bw-qr-red.is-on .fs-bw-qr-tip{color:var(--fs-bw-ctint-ink)}
.fs-bw-qr-green.is-on{background:var(--fs-bw-tint);border-color:var(--fs-bw-c2)}
.fs-bw p.fs-bw-qr-tip{margin:0;padding:0 16px 12px 48px;font-size:.875rem;line-height:1.5}
.fs-bw-qr-tip b{font-weight:800}
.fs-bw-qr-res{gap:20px}
.fs-bw-qr-verdict{display:flex;gap:16px;align-items:flex-start;padding:20px;border-radius:12px;border-left:4px solid var(--fs-bw-c2);background:var(--fs-bw-tint);color:rgb(var(--c-ink-950))}
.fs-bw-qr-verdict>div{min-width:0;display:grid;gap:4px}
.fs-bw .fs-bw-qr-verdict .fs-bw-h3{font-size:1.5rem;color:inherit}
.fs-bw .fs-bw-qr-verdict p{font-size:.875rem;color:inherit}
.fs-bw-qr-vn{background:var(--fs-bw-bg2);border-left-color:var(--fs-bw-edge)}
.fs-bw-qr-verdict:focus{outline:none}
.fs-bw-qr-v1{background:var(--fs-bw-ctint);color:var(--fs-bw-ctint-ink);border-left-color:rgb(var(--c-accent))}
.fs-bw-qr-v2{background:rgb(var(--c-ink-950));color:rgb(var(--c-paper));border-left-color:rgb(var(--c-accent))}
.fs-bw .fs-bw-qr-v2 .fs-bw-h3{color:rgb(var(--c-paper))}
.fs-bw .fs-bw-qr-v1 .fs-bw-icon-badge{background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950))}
.fs-bw .fs-bw-qr-v2 .fs-bw-icon-badge{background:rgb(var(--c-paper));color:rgb(var(--c-ink-950))}
.fs-bw-qr-pc{display:grid;gap:12px}
.fs-bw p.fs-bw-qr-range{font-size:.875rem}
.fs-bw-qr-range b{color:rgb(var(--c-ink-950))}
.fs-bw-qr-track{position:relative;height:12px;border-radius:999px;background:var(--fs-bw-edge)}
.fs-bw-qr-band{position:absolute;top:0;bottom:0;border-radius:999px;background:var(--fs-bw-c2)}
.fs-bw-qr-mark{position:absolute;top:-4px;bottom:-4px;width:4px;border-radius:2px;background:rgb(var(--c-ink-950));transform:translateX(-50%)}
.fs-bw-qr-key{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:.75rem;font-weight:700;color:rgb(var(--c-ink-400))}
.fs-bw-qr-key span{display:inline-flex;align-items:center;gap:6px}
.fs-bw-qr-sw{display:block;width:16px;height:8px;border-radius:999px;background:var(--fs-bw-c2)}
.fs-bw-qr-sw.fs-bw-qr-sw-m{width:4px;height:16px;border-radius:2px;background:rgb(var(--c-ink-950))}
.fs-bw p.fs-bw-qr-state{display:flex;gap:8px;align-items:flex-start;font-size:.875rem}
.fs-bw-qr-state b{color:rgb(var(--c-ink-950))}
.fs-bw-qr-state>.fs-bw-ic{margin-top:2px;color:rgb(var(--c-brand-text))}
.fs-bw-qr-next{display:grid;gap:8px}
.fs-bw-qr-list{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:.875rem;color:rgb(var(--c-ink-400))}
.fs-bw .fs-bw-qr-list li{display:flex;gap:8px;align-items:flex-start;line-height:1.65}
.fs-bw-qr-list .fs-bw-ic{width:18px;height:18px;margin-top:2px;color:rgb(var(--c-brand-text))}
.fs-bw .fs-bw-qr-list a{color:rgb(var(--c-brand-text));font-weight:800;text-decoration:underline}
.fs-bw-qr-acts{display:flex;flex-wrap:wrap;gap:12px}
.fs-bw .fs-bw-qr-jump{display:none}
.fs-bw p.fs-bw-qr-tally{margin-bottom:12px}

/* policies (.sfgrid .card.sf) */
.fs-bw-sfgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.fs-bw-sfgrid>*{min-width:0}
.fs-bw-sf{gap:12px}
.fs-bw .fs-bw-sf .fs-bw-h3{font-size:1.25rem}
.fs-bw .fs-bw-sf p{font-size:.875rem}

/* house (.hs) */
.fs-bw-hs{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:32px;align-items:start}
.fs-bw-hs>*{min-width:0}
.fs-bw-hs-left,.fs-bw-hs-right{display:grid;gap:16px;align-content:start}
.fs-bw-hs-stage{position:relative;overflow:clip;border:1px solid rgb(var(--c-line));border-radius:20px;background:linear-gradient(var(--fs-bw-tint) 0 86%,var(--fs-bw-tint2) 86% 100%);box-shadow:var(--fs-bw-sh-1)}
.fs-bw-hs-art svg{display:block;width:100%;height:auto}
.fs-bw-hs-pins{position:absolute;inset:0}
.fs-bw-hs-ground{fill:var(--fs-bw-bg2)}
.fs-bw-hs-gl{fill:none;stroke:var(--fs-bw-edge);stroke-width:3}
.fs-bw-hs-cloud ellipse{fill:rgb(var(--c-paper-soft))}
.fs-bw-hs-sun{fill:rgb(var(--c-accent))}
.fs-bw-hs-ray{stroke:rgb(var(--c-accent));stroke-width:3;stroke-linecap:round}
.fs-bw-hs-wall{fill:var(--fs-bw-edge);stroke:rgb(var(--c-ink-950));stroke-width:2}
.fs-bw-hs-room{fill:rgb(var(--c-paper-soft))}
.fs-bw-hs-roof{fill:var(--fs-bw-bg2);stroke:rgb(var(--c-brand-600));stroke-width:7;stroke-linejoin:round}
.fs-bw-hs-win{fill:var(--fs-bw-c4);stroke:rgb(var(--c-ink-400));stroke-width:2}
.fs-bw-hs-wl{fill:none;stroke:rgb(var(--c-ink-400));stroke-width:2}
.fs-bw-hs-fur{fill:var(--fs-bw-bg2);stroke:rgb(var(--c-ink-400));stroke-width:2;stroke-linejoin:round}
.fs-bw-hs-app{fill:rgb(var(--c-paper-soft));stroke:rgb(var(--c-ink-950));stroke-width:2.5;stroke-linejoin:round}
.fs-bw-hs-top{fill:rgb(var(--c-ink-400))}
.fs-bw-hs-dk{fill:var(--fs-bw-tint);stroke:rgb(var(--c-ink-950));stroke-width:2}
.fs-bw-hs-sol{fill:rgb(var(--c-brand-600));stroke:rgb(var(--c-ink-950));stroke-width:2;stroke-linejoin:round}
.fs-bw-hs-cyl{fill:rgb(var(--c-accent));stroke:rgb(var(--c-ink-950));stroke-width:2.5}
.fs-bw-hs-tk{fill:var(--fs-bw-steel);stroke:rgb(var(--c-ink-950));stroke-width:2.5}
.fs-bw-hs-tk.fs-bw-hs-tk-loft{fill:var(--fs-bw-tint)}
.fs-bw-hs-ln{fill:none;stroke:rgb(var(--c-ink-950));stroke-width:2;stroke-linecap:round}
.fs-bw-hs-ln.fs-bw-hs-w{stroke:rgb(var(--c-paper-soft))}
.fs-bw-hs-fl{fill:var(--fs-bw-c4);stroke:rgb(var(--c-ink-950));stroke-width:2}
.fs-bw-hs-p-cold,.fs-bw-hs-p-heat,.fs-bw-hs-p-gas{fill:none;stroke-linejoin:round}
.fs-bw-hs-p-cold{stroke:rgb(var(--c-brand-600));stroke-width:3.5;stroke-linecap:round}
.fs-bw-hs-p-heat{stroke:var(--fs-bw-cu-lo);stroke-width:3;stroke-dasharray:9 5}
.fs-bw-hs-p-gas{stroke:rgb(var(--c-ink-950));stroke-width:3;stroke-dasharray:1 6;stroke-linecap:round}
.fs-bw-hs-vl{fill:rgb(var(--c-paper-soft));stroke:rgb(var(--c-ink-950));stroke-width:2;stroke-linejoin:round}
.fs-bw-hs-pin{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;width:36px;height:36px;padding:0;border:2px solid rgb(var(--c-brand-600));border-radius:50%;background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));font:inherit;font-size:.875rem;font-weight:800;line-height:1;box-shadow:var(--fs-bw-sh-1);cursor:pointer}
.fs-bw-hs-pin:hover,.fs-bw-hs-pin.is-lit{transform:translate(-50%,-50%) scale(1.12);z-index:2}
.fs-bw-hs-pin.is-on{background:rgb(var(--c-brand-600));color:var(--fs-on-brand);transform:translate(-50%,-50%) scale(1.12);z-index:3;box-shadow:0 0 0 4px color-mix(in srgb,rgb(var(--c-accent)) 60%,transparent)}
.fs-bw-hs-pin:focus-visible{outline:2px solid rgb(var(--c-brand-text));outline-offset:2px}
.fs-bw-hs-lb{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);padding:2px 8px;border-radius:6px;background:rgb(var(--c-ink-950));color:rgb(var(--c-paper));font-size:.75rem;font-weight:700;line-height:1.5;white-space:nowrap;visibility:hidden;pointer-events:none}
.fs-bw-hs-pin.is-l .fs-bw-hs-lb{left:0;transform:none}
.fs-bw-hs-pin.is-r .fs-bw-hs-lb{left:auto;right:0;transform:none}
.fs-bw-hs-pin:hover .fs-bw-hs-lb,.fs-bw-hs-pin.is-lit .fs-bw-hs-lb,.fs-bw-hs-pin.is-on .fs-bw-hs-lb{visibility:visible}
.fs-bw-hs-key{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 24px;font-size:.875rem;color:rgb(var(--c-ink-400))}
.fs-bw .fs-bw-hs-key li{display:flex;gap:8px;align-items:center}
.fs-bw-hs-kl{width:40px;height:8px}
.fs-bw .fs-bw-hs-h{font-size:1.25rem;line-height:1.2;margin-bottom:12px}
.fs-bw-hs-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.fs-bw-hs-li{display:flex;gap:8px;align-items:center;min-height:44px;padding:8px 12px;border:1px solid var(--fs-bw-edge);border-radius:6px;background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));font:inherit;font-size:.875rem;font-weight:700;line-height:1.65;text-align:left;cursor:pointer}
.fs-bw-hs-li:hover{border-color:rgb(var(--c-brand-600))}
.fs-bw-hs-li:focus-visible{outline:2px solid rgb(var(--c-brand-text));outline-offset:2px}
.fs-bw-hs-li.is-on{background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));color:var(--fs-on-brand)}
.fs-bw-hs-n{flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--fs-bw-tint);color:rgb(var(--c-ink-950));font-size:.75rem;font-weight:800}
.fs-bw-hs-li.is-on .fs-bw-hs-n{background:var(--fs-on-brand);color:rgb(var(--c-brand-600))}
.fs-bw .fs-bw-hs-detail .fs-bw-h3{font-size:1.5rem}
.fs-bw-hs-dh{display:flex;gap:12px;align-items:center}
.fs-bw-hs-dh .fs-bw-hs-n{width:40px;height:40px;background:rgb(var(--c-brand-600));color:var(--fs-on-brand);font-size:1.125rem}
.fs-bw .fs-bw-hs-dh p,.fs-bw .fs-bw-hs-sec p{font-size:.875rem}
.fs-bw-hs-sec{display:grid;gap:6px}
.fs-bw-hs-steps{list-style:none;margin:0;padding:0;counter-reset:fs-bw-hs;display:grid;gap:8px;font-size:.875rem;color:rgb(var(--c-ink-400))}
.fs-bw .fs-bw-hs-steps li{counter-increment:fs-bw-hs;display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;align-items:start;line-height:1.65}
.fs-bw-hs-steps li::before{content:counter(fs-bw-hs);display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--fs-bw-tint);color:rgb(var(--c-ink-950));font-size:.75rem;font-weight:800}
.fs-bw-hs-intro{display:grid;gap:12px;justify-items:start}
.fs-bw-hs-intro .fs-bw-chip{min-height:44px;cursor:pointer}
.fs-bw-hs-intro .fs-bw-chip:hover{border-color:rgb(var(--c-brand-600))}
.fs-bw-hs-intro .fs-bw-chip:focus-visible{outline:2px solid rgb(var(--c-brand-text));outline-offset:2px}
.fs-bw .fs-bw-hs-find{grid-column:1 / -1;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:32px;align-items:start}
.fs-bw-hs-find>*{min-width:0}
.fs-bw-hs-fh{display:grid;gap:16px;align-content:start}
.fs-bw-hs-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.fs-bw .fs-bw-hs-ck{align-items:center;min-height:44px;padding:4px 12px;border:1px solid var(--fs-bw-edge);border-radius:6px;background:rgb(var(--c-paper));color:rgb(var(--c-ink-950));font-weight:700}
.fs-bw-hs-ck .fs-bw-fake,.fs-bw-hs-ck input{margin-top:0}
.fs-bw .fs-bw-hs-ck.is-on{background:var(--fs-bw-tint);border-color:rgb(var(--c-brand-600))}
.fs-bw-hs-ck:has(input:focus-visible){outline:2px solid rgb(var(--c-brand-text));outline-offset:2px}
.fs-bw-hs-acts{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.fs-bw p.fs-bw-hs-note{grid-column:1 / -1;max-width:65ch}

/* seasons (.wn) */
.fs-bw-wn{display:grid;gap:24px}
.fs-bw-wn>*{min-width:0}
.fs-bw-wn-head{display:grid;gap:16px}
.fs-bw p.fs-bw-wn-today{max-width:65ch;color:rgb(var(--c-ink-400));font-size:.875rem}
.fs-bw-wn-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.fs-bw .fs-bw-wn-tabs .fs-bw-tab{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;justify-items:start;min-height:48px;padding:8px 16px;border-radius:12px;text-align:left;cursor:pointer}
.fs-bw-wn-tl{display:grid;gap:2px;min-width:0}
.fs-bw-wn-tl b{font-size:1rem;font-weight:800}
.fs-bw-wn-tl small{font-size:.75rem;font-weight:700;color:inherit}
.fs-bw-wn-pill{display:inline-block;padding:2px 8px;border:2px solid rgb(var(--c-accent));border-radius:999px;background:var(--fs-bw-ctint);color:var(--fs-bw-ctint-ink);font-size:.75rem;font-weight:800;letter-spacing:.06em;line-height:1.4;text-transform:uppercase}
.fs-bw-wn-main{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:24px;align-items:start}
.fs-bw-wn-main>*{min-width:0}
.fs-bw .fs-bw-wn-list .fs-bw-h3{font-size:1.5rem}
.fs-bw-wn-lh{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.fs-bw-wn-items{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.fs-bw .fs-bw-wn-it{border:1px solid var(--fs-bw-edge);border-radius:6px;background:rgb(var(--c-paper));line-height:1.65}
.fs-bw .fs-bw-wn-it.is-on{background:var(--fs-bw-tint);border-color:rgb(var(--c-brand-600))}
.fs-bw-wn-it:has(input:focus-visible){outline:2px solid rgb(var(--c-brand-text));outline-offset:2px}
.fs-bw-wn-chk{display:flex;gap:12px;align-items:flex-start;min-height:44px;padding:12px 16px;cursor:pointer;color:rgb(var(--c-ink-950))}
span.fs-bw-wn-chk{cursor:auto}
.fs-bw-wn-chk input,.fs-bw-wn-chk .fs-bw-fake{flex:none;width:24px;height:24px;margin:2px 0 0;accent-color:rgb(var(--c-brand-600))}
.fs-bw-wn-chk b{display:block;font-size:1rem;font-weight:700}
.fs-bw-wn-chk small{display:block;margin-top:2px;font-size:.875rem;font-weight:400;color:rgb(var(--c-ink-400));line-height:1.5}
.fs-bw .fs-bw-wn-it.is-on .fs-bw-wn-chk small{color:rgb(var(--c-ink-950))}
.fs-bw-wn-acts{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.fs-bw-wn-side{display:grid;gap:16px;align-content:start;position:sticky;top:calc(var(--fs-header-h,112px) + 24px)}
.fs-bw-wn-heads{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start;padding:24px;border:1px solid rgb(var(--c-line));border-left:4px solid rgb(var(--c-accent));border-radius:12px;background:var(--fs-bw-ctint);color:var(--fs-bw-ctint-ink);box-shadow:var(--fs-bw-sh-1)}
.fs-bw .fs-bw-wn-heads .fs-bw-icon-badge{background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950))}
.fs-bw .fs-bw-wn-heads .fs-bw-h4{font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--fs-bw-ctint-ink)}
.fs-bw-wn-heads b{display:block;margin-top:4px;font-family:var(--font-display,'Schibsted Grotesk',system-ui,sans-serif);font-size:1.25rem;font-weight:600;line-height:1.2}
.fs-bw .fs-bw-wn-heads p{margin-top:8px;font-size:.875rem;color:var(--fs-bw-ctint-ink)}
.fs-bw p.fs-bw-wn-foot{max-width:65ch}

@container fs-bw (max-width:900px){
  .fs-bw .fs-bw-pc-jump,.fs-bw .fs-bw-qr-jump{display:inline-flex}
  .fs-bw-pc,.fs-bw-qr,.fs-bw-hs{grid-template-columns:minmax(0,1fr)}
  .fs-bw-fe-res{position:static}
  .fs-bw .fs-bw-hs-find{grid-template-columns:minmax(0,1fr);gap:16px}
  .fs-bw-wn-main{grid-template-columns:minmax(0,1fr)}
  .fs-bw-wn-side{position:static}
}
/* The source sticks the quote result only on a wide AND tall screen
   ((min-width:901px) and (min-height:900px)); a container cannot test the
   viewport's height and block sheets take no viewport @media, so the
   result scrolls with the page (Deviation Ledger L23). */
@container fs-bw (max-width:640px){
  .fs-bw-pc-job{padding:12px}
  .fs-bw-pc-job>.fs-bw-ic{display:none}
  .fs-bw .fs-bw-pc-job small{display:none}
  .fs-bw .fs-bw-pc-job.is-on small{display:block}
  .fs-bw-pc-when{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-bw-pc-res{padding:24px}
  .fs-bw-pc-acts .fs-bw-btn{flex:1 1 100%}
  .fs-bw p.fs-bw-qr-tip{padding-left:16px}
  .fs-bw-qr-acts .fs-bw-btn{flex:1 1 100%;white-space:normal;text-align:center}
  .fs-bw-wn-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-bw .fs-bw-wn-tabs .fs-bw-tab{padding:8px 12px}
  .fs-bw-hs-pin{width:28px;height:28px;font-size:.75rem}
  .fs-bw-hs-list,.fs-bw-hs-checks{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-bw-hs-li{padding:8px}
}
@container fs-bw (max-width:1000px){
  .fs-bw-sfgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container fs-bw (max-width:640px){
  .fs-bw-sfgrid{grid-template-columns:minmax(0,1fr)}
}

/* Site Settings layouts — the source's html[data-layout=minimal]: the dark
   result panel repaints to the tint with ink words, the white button takes
   the brand fill, the ghost button turns ink (Deviation Ledger L28), and
   shadows go */
[data-fs-layout="minimal"] .fs-bw{--fs-bw-f-bg:var(--fs-bw-tint);--fs-bw-f-ink:rgb(var(--c-ink-950));--fs-bw-f-mute:rgb(var(--c-ink-400))}
[data-fs-layout="minimal"] .fs-bw-pc{--fs-bw-f-line:rgb(var(--c-line));--fs-bw-f-card:rgb(var(--c-paper-soft))}
[data-fs-layout="minimal"] .fs-bw .fs-bw-fe-res .fs-bw-btn-white{background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));color:var(--fs-on-brand)}
[data-fs-layout="minimal"] .fs-bw .fs-bw-fe-res .fs-bw-btn-white::after{background:rgb(var(--c-brand-700))}
[data-fs-layout="minimal"] .fs-bw .fs-bw-fe-res a.fs-bw-btn-white:hover{color:var(--fs-on-brand)}
[data-fs-layout="minimal"] .fs-bw .fs-bw-fe-res .fs-bw-btn-ghost{color:rgb(var(--c-ink-950));border-color:rgb(var(--c-ink-950))}
[data-fs-layout="minimal"] .fs-bw .fs-bw-fe-res .fs-bw-btn-ghost::after{background:rgb(var(--c-ink-950))}
[data-fs-layout="minimal"] .fs-bw .fs-bw-fe-res a.fs-bw-btn-ghost:hover{color:rgb(var(--c-paper))}
[data-fs-layout="minimal"] .fs-bw .fs-bw-fe-res :focus-visible{outline-color:rgb(var(--c-brand-text))}
[data-fs-layout="minimal"] .fs-bw-fe-res,[data-fs-layout="minimal"] .fs-bw-hs-stage,[data-fs-layout="minimal"] .fs-bw-hs-pin,
[data-fs-layout="minimal"] .fs-bw-wn-heads{box-shadow:none}

/* ══ port Task 11: symptom checker, landlord planner, project planner ══
   Ported from the source's .ht- / .ll- / .bt- rules and the shared
   .link-arrow / .qty / .range / .opt-row / .fe ones they lean on. */

/* the platform's .fs-typo p sets 1.6 on a bare paragraph; keep the family's 1.65 */
.fs-bw.fs-bw-heatcheck p:not([class]),.fs-bw.fs-bw-landlord p:not([class]),.fs-bw.fs-bw-project p:not([class]){line-height:1.65}
.fs-bw.fs-bw-heatcheck .fs-bw-warn p,.fs-bw.fs-bw-landlord .fs-bw-warn>p{line-height:1.5}
/* native date boxes, sliders, radios and ticks follow the mode */
.dark .fs-bw-ht,.dark .fs-bw-ll,.dark .fs-bw-bt{color-scheme:dark}
.fs-preview-light .fs-bw-ht,.fs-preview-light .fs-bw-ll,.fs-preview-light .fs-bw-bt{color-scheme:light}

/* the source's a[href^="tel:"]{white-space:nowrap}: a phone number never
   breaks across lines (family-wide: every tel: link the blocks draw). At
   the source's own specificity (0,1,1), so the source's deliberate wrap
   rules for tel BUTTONS (hero call, estimator / quote-reader Ring) win */
:where(.fs-bw) a[href^="tel:"]{white-space:nowrap}

/* shared: .link-arrow, .range, .opt-row, the shown tab while editing */
.fs-bw .fs-bw-link-arrow{display:inline-flex;align-items:center;gap:6px;min-height:24px;padding-bottom:2px;font-weight:800;color:rgb(var(--c-brand-text));background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat}
.fs-bw a.fs-bw-link-arrow:hover{background-size:100% 2px}
.fs-bw-link-arrow .fs-bw-ic{width:16px;height:16px}
.fs-bw-range{width:100%;min-height:32px;accent-color:rgb(var(--c-brand-600))}
.fs-bw-opt-row{display:grid;gap:8px}
.fs-bw-ht-tabs .fs-bw-tab.is-on,.fs-bw-bt-tabs .fs-bw-tab.is-on{background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));color:var(--fs-on-brand)}
.fs-bw-bt,.fs-bw-ll{
  --fs-bw-f-line:color-mix(in srgb,var(--fs-bw-f-ink) 20%,transparent);
  --fs-bw-f-card:color-mix(in srgb,var(--fs-bw-f-ink) 7%,transparent);
}

/* symptom checker (.ht) */
.fs-bw-ht{display:grid;gap:24px}
.fs-bw-ht>*{min-width:0}
.fs-bw .fs-bw-ht-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.fs-bw .fs-bw-ht-tabs .fs-bw-tab{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;justify-items:start;min-height:64px;padding:8px 16px;border-radius:12px;text-align:left}
.fs-bw .fs-bw-ht-tabs .fs-bw-tab .fs-bw-ic{width:22px;height:22px}
.fs-bw-ht-tl{display:grid;gap:2px;min-width:0;font-size:.875rem;line-height:1.3}
.fs-bw-ht-tl small{font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:inherit}
.fs-bw-ht-panel{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:24px;padding:24px;background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));border-radius:12px;box-shadow:var(--fs-bw-sh-1)}
.fs-bw-ht-panel>*{min-width:0}
.fs-bw-ht-main,.fs-bw-ht-side{display:grid;gap:16px;align-content:start}
.fs-bw .fs-bw-ht-main .fs-bw-h3{font-size:1.5rem}
.fs-bw .fs-bw-ht-main .fs-bw-h4,.fs-bw .fs-bw-ht-side .fs-bw-h4{font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
.fs-bw-ht-steps{list-style:none;margin:0;padding:0;counter-reset:fs-bw-ht;display:grid;gap:12px}
.fs-bw .fs-bw-ht-steps li{counter-increment:fs-bw-ht;display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:12px;row-gap:2px;align-items:start;line-height:1.65}
.fs-bw-ht-steps li::before{content:counter(fs-bw-ht);grid-row:1 / 3;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:rgb(var(--c-brand-600));color:var(--fs-on-brand);font-weight:800;font-size:.875rem}
.fs-bw-ht-steps li>b{font-size:1rem}
.fs-bw-ht-steps li>span{color:rgb(var(--c-ink-400));font-size:.875rem}
.fs-bw-ht-causes{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:.875rem;color:rgb(var(--c-ink-400))}
.fs-bw .fs-bw-ht-causes li{display:flex;gap:8px;line-height:1.65}
.fs-bw-ht-causes .fs-bw-ic{width:16px;height:16px;margin-top:4px;color:rgb(var(--c-brand-text))}
.fs-bw-ht-side .fs-bw-warn b{display:inline}
.fs-bw-ht-call{display:grid;gap:8px;justify-items:start}
/* the stop path: gas smell or a carbon monoxide alarm */
.fs-bw .fs-bw-ht-stop{grid-template-columns:minmax(0,1fr);border:3px solid rgb(var(--c-ink-950));box-shadow:var(--fs-bw-sh-2)}
.fs-bw .fs-bw-ht-stop .fs-bw-h3{font-size:clamp(1.65rem,calc(3 * var(--fs-bw-vw)),2rem)}
.fs-bw-ht-sh{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:center}
.fs-bw .fs-bw-ht-sh .fs-bw-icon-badge{width:64px;height:64px;background:var(--fs-bw-ctint);border:3px solid rgb(var(--c-accent))}
.fs-bw .fs-bw-ht-sh .fs-bw-icon-badge .fs-bw-ic{width:32px;height:32px}
.fs-bw-ht-stop .fs-bw-ht-steps{gap:16px}
.fs-bw .fs-bw-ht-stop .fs-bw-ht-steps b{font-size:1.25rem;font-weight:700;color:rgb(var(--c-ink-950))}
.fs-bw-ht-stop .fs-bw-ht-steps li::before{background:rgb(var(--c-ink-950));color:rgb(var(--c-paper))}
.fs-bw-ht-nums{display:flex;flex-wrap:wrap;gap:12px}
/* the gauge reader */
.fs-bw .fs-bw-ht-gauge{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start}
.fs-bw-ht-gauge>*{min-width:0}
.fs-bw-ht-gl,.fs-bw-ht-gr{display:grid;gap:16px;align-content:start}
.fs-bw .fs-bw-ht-gl .fs-bw-h3{font-size:1.5rem}
.fs-bw-ht-dial{max-width:360px}
.fs-bw-ht-dial svg{display:block;width:100%;height:auto;overflow:visible}
.fs-bw-ht-arc{fill:none;stroke-width:16;stroke:var(--fs-bw-edge)}
.fs-bw-ht-arc-low,.fs-bw-ht-arc-hi{stroke:rgb(var(--c-accent))}
.fs-bw-ht-arc-mid{stroke:var(--fs-bw-ctint)}
.fs-bw-ht-arc-ok{stroke:var(--fs-bw-c2)}
.fs-bw-ht-zt{font-size:12px;font-weight:800;fill:rgb(var(--c-ink-950));text-anchor:middle;dominant-baseline:middle}
.fs-bw-ht-tk{font-size:12px;font-weight:700;fill:rgb(var(--c-ink-400));text-anchor:middle;dominant-baseline:middle}
.fs-bw-ht-nd{transform-origin:120px 120px}
.fs-bw-ht-nd path{stroke:rgb(var(--c-ink-950));stroke-width:4;stroke-linecap:round}
.fs-bw-ht-nd circle{fill:rgb(var(--c-ink-950))}
.fs-bw-ht-fld{max-width:360px}
.fs-bw-ht-fake{position:relative;display:block;height:32px}
.fs-bw-ht-fake::before{content:"";position:absolute;left:0;right:0;top:50%;height:6px;border-radius:999px;background:var(--fs-bw-edge);transform:translateY(-50%)}
.fs-bw-ht-fake i{position:absolute;top:50%;width:16px;height:16px;border-radius:50%;background:rgb(var(--c-brand-600));transform:translate(-50%,-50%)}
.fs-bw-ht-read{display:grid;gap:2px}
.fs-bw-ht-val{font-family:var(--font-display,'Schibsted Grotesk',system-ui,sans-serif);font-size:clamp(2.5rem,calc(6 * var(--fs-bw-vw)),3.5rem);font-weight:600;line-height:1;color:rgb(var(--c-brand-text));font-variant-numeric:lining-nums}
.fs-bw-ht-verdict{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;padding:16px;border:1px solid var(--fs-bw-edge);border-radius:6px;background:var(--fs-bw-tint);color:rgb(var(--c-ink-950))}
.fs-bw-ht-verdict.fs-bw-ht-bad{border-color:rgb(var(--c-accent));border-left-width:4px;background:var(--fs-bw-ctint);color:var(--fs-bw-ctint-ink)}
.fs-bw-ht-verdict b{display:block;font-size:1.125rem}
.fs-bw .fs-bw-ht-verdict p{margin-top:4px;color:inherit;font-size:.875rem}
.fs-bw-ht-verdict>.fs-bw-ic{margin-top:2px}
.fs-bw p.fs-bw-ht-foot{max-width:65ch}

/* landlord planner (.ll) */
.fs-bw-ll{display:grid;gap:32px}
.fs-bw-ll>*{min-width:0}
.fs-bw-ll-top{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:24px;align-items:start}
.fs-bw-ll-top>*{min-width:0}
.fs-bw-ll-in{position:sticky;top:calc(var(--fs-header-h,112px) + 24px)}
.fs-bw .fs-bw-ll .fs-bw-panel>.fs-bw-h3{font-size:1.5rem}
.fs-bw-ll-qrow{display:flex;gap:12px;align-items:center}
.fs-bw-ll-qty{display:inline-flex;align-items:center;border:1px solid var(--fs-bw-edge);border-radius:999px;background:rgb(var(--c-paper-soft));overflow:hidden}
.fs-bw-ll-qb{width:44px;height:44px;display:grid;place-items:center;padding:0;border:0;background:transparent;color:rgb(var(--c-ink-950));font:inherit;cursor:pointer}
.fs-bw-ll-qb:hover{background:var(--fs-bw-tint)}
.fs-bw-ll-qb[aria-disabled="true"]{opacity:.4;cursor:not-allowed}
.fs-bw-ll-qb:focus-visible{outline:2px solid rgb(var(--c-brand-text));outline-offset:2px}
.fs-bw-ll-qb .fs-bw-ic{width:16px;height:16px}
.fs-bw-ll-qty output{min-width:32px;text-align:center;font-weight:800;font-size:1rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.fs-bw-ll-acts{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.fs-bw-ll-fake{display:block;min-height:48px;border:1px solid var(--fs-bw-edge);border-radius:6px;background:rgb(var(--c-paper-soft))}
/* the result */
.fs-bw-ll-sum{display:grid;gap:16px;justify-items:start}
.fs-bw-ll-sum>*{min-width:0;max-width:100%}
.fs-bw .fs-bw-ll-hl{font-size:1.5rem;line-height:1.2}
.fs-bw-ll-chip{display:inline-flex;gap:8px;align-items:center;padding:6px 16px;border:2px solid rgb(var(--c-ink-950));border-radius:999px;font-weight:800;font-size:.875rem;line-height:1.65}
.fs-bw-ll-over{background:rgb(var(--c-ink-950));color:rgb(var(--c-paper))}
.fs-bw-ll-soon{background:var(--fs-bw-ctint);color:var(--fs-bw-ctint-ink);border-color:rgb(var(--c-accent))}
.fs-bw-ll-chip.fs-bw-ll-ok{background:var(--fs-bw-tint);color:rgb(var(--c-ink-950));border-color:rgb(var(--c-brand-600))}
.fs-bw-ll-info{background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));border-color:var(--fs-bw-edge);border-style:dashed}
.fs-bw-ll-keys{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%}
.fs-bw-ll-key{display:grid;gap:4px;align-content:start;padding:12px 16px;border:1px solid rgb(var(--c-line));border-radius:6px;background:var(--fs-bw-tint);line-height:1.65}
.fs-bw-ll-key small{font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
.fs-bw-ll-key b{font-family:var(--font-display,'Schibsted Grotesk',system-ui,sans-serif);font-size:1.125rem;font-weight:600;line-height:1.25}
.fs-bw-ll-key>span{font-size:.875rem;color:rgb(var(--c-ink-400));line-height:1.45}
.fs-bw p.fs-bw-ll-vis,.fs-bw p.fs-bw-ll-ten{display:flex;gap:12px;align-items:flex-start;font-size:.875rem}
.fs-bw-ll-vis .fs-bw-ic,.fs-bw-ll-ten .fs-bw-ic{flex:none;margin-top:2px;color:rgb(var(--c-brand-text))}
.fs-bw-ll-vis b{font-size:1rem}
.fs-bw-ll-tlw{display:grid;gap:12px;padding-top:16px;border-top:1px dashed var(--fs-bw-edge)}
.fs-bw-ll-tl{list-style:none;margin:0;padding:0;display:grid}
.fs-bw .fs-bw-ll-ev{position:relative;display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px;padding-bottom:12px;line-height:1.65}
.fs-bw .fs-bw-ll-ev:last-child{padding-bottom:0}
.fs-bw-ll-ev::before{content:"";position:absolute;left:11px;top:24px;bottom:0;width:2px;background:rgb(var(--c-line))}
.fs-bw-ll-ev:last-child::before{display:none}
.fs-bw-ll-dot{display:grid;place-items:center;width:24px;height:24px;border:2px solid var(--fs-bw-edge);border-radius:50%;background:rgb(var(--c-paper-soft));color:var(--fs-on-brand)}
.fs-bw-ll-ev.fs-bw-ll-done .fs-bw-ll-dot{background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600))}
.fs-bw-ll-ev.fs-bw-ll-past .fs-bw-ll-dot{background:var(--fs-bw-bg2);border-color:var(--fs-bw-edge);color:rgb(var(--c-ink-400))}
.fs-bw-ll-ev.fs-bw-ll-miss .fs-bw-ll-dot,.fs-bw-ll-ev.fs-bw-ll-now .fs-bw-ll-dot{background:rgb(var(--c-ink-950));border-color:rgb(var(--c-ink-950));color:rgb(var(--c-paper))}
.fs-bw-ll-ev.fs-bw-ll-next .fs-bw-ll-dot{background:rgb(var(--c-accent));border-color:rgb(var(--c-accent));color:var(--fs-bw-ctint-ink)}
.fs-bw-ll-ev>div{display:grid;gap:2px;min-width:0}
.fs-bw-ll-ev2{display:flex;flex-wrap:wrap;gap:2px 12px;align-items:baseline}
.fs-bw-ll-evh{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.fs-bw-ll-evh b{font-size:1rem}
.fs-bw-ll-ev.fs-bw-ll-past .fs-bw-ll-evh b,.fs-bw-ll-ev.fs-bw-ll-past .fs-bw-ll-d,.fs-bw-ll-ev.fs-bw-ll-done .fs-bw-ll-evh b,.fs-bw-ll-ev.fs-bw-ll-done .fs-bw-ll-d{color:rgb(var(--c-ink-400))}
.fs-bw-ll-ev.fs-bw-ll-miss .fs-bw-ll-evh b,.fs-bw-ll-ev.fs-bw-ll-miss .fs-bw-ll-d{color:rgb(var(--c-ink-950))}
.fs-bw-ll-tag{padding:2px 8px;border:1px solid var(--fs-bw-edge);border-radius:999px;font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
.fs-bw-ll-ev.fs-bw-ll-next .fs-bw-ll-tag{background:var(--fs-bw-ctint);border-color:rgb(var(--c-accent));color:var(--fs-bw-ctint-ink)}
.fs-bw-ll-ev.fs-bw-ll-done .fs-bw-ll-tag{background:var(--fs-bw-tint);border-color:rgb(var(--c-brand-600));color:rgb(var(--c-ink-950))}
.fs-bw-ll-ev.fs-bw-ll-miss .fs-bw-ll-tag,.fs-bw-ll-ev.fs-bw-ll-now .fs-bw-ll-tag{background:rgb(var(--c-ink-950));border-color:rgb(var(--c-ink-950));color:rgb(var(--c-paper))}
.fs-bw-ll-d{font-size:.875rem;font-weight:700;font-variant-numeric:tabular-nums}
.fs-bw-ll-ev small{font-size:.875rem;color:rgb(var(--c-ink-400))}
/* rules at a glance */
.fs-bw-ll-rules{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.fs-bw-ll-rules>*{min-width:0}
.fs-bw p.fs-bw-ll-note{grid-column:1 / -1}
.fs-bw-ll-rule{display:grid;gap:8px;align-content:start;padding:16px;border:1px solid rgb(var(--c-line));border-radius:12px;background:rgb(var(--c-paper-soft));box-shadow:var(--fs-bw-sh-1)}
.fs-bw-ll-rule b{font-family:var(--font-display,'Schibsted Grotesk',system-ui,sans-serif);font-size:1.125rem;font-weight:600}
.fs-bw .fs-bw-ll-rule p{font-size:.875rem;color:rgb(var(--c-ink-400))}
/* checklists */
.fs-bw-ll-lists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
.fs-bw-ll-lists>*{min-width:0}
.fs-bw .fs-bw-ll-clr{min-height:32px;padding:4px 8px;border:0;border-radius:6px;background:transparent;font:inherit;font-size:.875rem;font-weight:800;color:rgb(var(--c-brand-text));text-decoration:underline;cursor:pointer}
.fs-bw-ll-clr:focus-visible{outline:2px solid rgb(var(--c-brand-text));outline-offset:2px}
.fs-bw-ll-items{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.fs-bw .fs-bw-ll-it{border:1px solid var(--fs-bw-edge);border-radius:6px;background:rgb(var(--c-paper));line-height:1.65}
.fs-bw .fs-bw-ll-it.is-on{background:var(--fs-bw-tint);border-color:rgb(var(--c-brand-600))}
.fs-bw-ll-it:has(input:focus-visible){outline:2px solid rgb(var(--c-brand-text));outline-offset:2px}
.fs-bw-ll-chk{display:flex;gap:12px;align-items:flex-start;min-height:44px;padding:12px 16px;cursor:pointer;color:rgb(var(--c-ink-950))}
span.fs-bw-ll-chk{cursor:auto}
.fs-bw-ll-chk input,.fs-bw-ll-chk .fs-bw-fake{flex:none;width:24px;height:24px;margin:2px 0 0;accent-color:rgb(var(--c-brand-600))}
.fs-bw-ll-chk b{display:block;font-size:1rem;font-weight:700}
.fs-bw-ll-chk small{display:block;margin-top:2px;font-size:.875rem;font-weight:400;color:rgb(var(--c-ink-400));line-height:1.5}
.fs-bw .fs-bw-ll-it.is-on .fs-bw-ll-chk small{color:rgb(var(--c-ink-950))}
.fs-bw p.fs-bw-ll-foot{max-width:65ch}

/* project planner (.bt) */
.fs-bw-bt{display:grid;gap:32px}
.fs-bw-bt>*{min-width:0}
.fs-bw-bt-top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:32px;align-items:start}
.fs-bw-bt-top>*{min-width:0}
.fs-bw-bt-form{gap:24px}
.fs-bw-bt-grp{display:grid;gap:12px;align-content:start;border:0;min-width:0;margin:0;padding:0}
.fs-bw-bt-grp>legend{padding:0}
.fs-bw-bt-tabs{display:grid;gap:8px}
.fs-bw .fs-bw-bt-tabs .fs-bw-tab{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;justify-items:start;min-height:48px;padding:8px 16px;border-radius:12px;text-align:left}
.fs-bw-bt-tl{display:grid;gap:2px;min-width:0}
.fs-bw-bt-tl b{font-size:1rem;font-weight:800}
.fs-bw-bt-tl small{font-size:.75rem;font-weight:700;color:inherit}
.fs-bw .fs-bw-bt-tabs .fs-bw-tab .fs-bw-ic{width:22px;height:22px}
.fs-bw-bt-sizes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.fs-bw-bt-sizes .fs-bw-opt{height:100%}
.fs-bw-bt-res{gap:16px}
.fs-bw-bt-live{display:grid;gap:8px}
.fs-bw .fs-bw-bt-live .fs-bw-fe-big{font-size:clamp(2rem,calc(4.2 * var(--fs-bw-vw)),2.5rem);font-variant-numeric:lining-nums}
/* the source's tabular-nums gives the display font's comma and point a
   full figure width ("1 . 4 bar", "€1 , 700"): proportional figures here
   (Deviation Ledger L29) */
.fs-bw .fs-bw-bt-live p{color:var(--fs-bw-f-ink);font-size:1rem;font-weight:700}
.fs-bw-bt-acts{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.fs-bw-bt-out{display:grid;gap:24px}
.fs-bw-bt-sh{display:grid;gap:4px;max-width:65ch}
.fs-bw .fs-bw-bt-sh .fs-bw-h3{font-size:1.5rem}
/* the stage timeline: a copper pipe with a joint over each stage (a vertical list on phones) */
.fs-bw-bt-line{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--fs-bw-c,4),minmax(0,1fr));gap:24px 16px}
.fs-bw .fs-bw-bt-st{position:relative;display:grid;gap:12px;align-content:start;padding-top:24px;line-height:1.65}
.fs-bw-bt-st::before{content:"";position:absolute;left:0;top:6px;width:calc(100% + 16px);height:4px;border-radius:999px;background:rgb(var(--c-accent))}
.fs-bw-bt-st.fs-bw-bt-end::before,.fs-bw-bt-st:last-child::before{width:100%}
.fs-bw-bt-st::after{content:"";position:absolute;left:0;top:0;width:16px;height:16px;border:3px solid rgb(var(--c-accent));border-radius:50%;background:rgb(var(--c-paper-soft))}
.fs-bw-bt-card{display:grid;gap:8px;align-content:start;height:100%;padding:16px;background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));border-radius:12px;box-shadow:var(--fs-bw-sh-1)}
.fs-bw-bt-day{font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
.fs-bw-bt-card b{font-family:var(--font-display,'Schibsted Grotesk',system-ui,sans-serif);font-size:1.125rem;font-weight:600;line-height:1.25}
.fs-bw .fs-bw-bt-card p{font-size:.875rem}
.fs-bw-bt-w{display:inline-flex;gap:6px;align-items:center;align-self:end;justify-self:start;padding:2px 8px;border:1px solid var(--fs-bw-edge);border-radius:999px;background:var(--fs-bw-tint);color:rgb(var(--c-ink-950));font-size:.75rem;font-weight:800}
.fs-bw-bt-w.fs-bw-bt-off{border-color:rgb(var(--c-accent));background:var(--fs-bw-ctint);color:var(--fs-bw-ctint-ink)}
.fs-bw-bt-w .fs-bw-ic{width:14px;height:14px}
.fs-bw p.fs-bw-bt-fine{max-width:65ch}
.fs-bw .fs-bw-bt-quote{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:32px;align-items:start}
.fs-bw-bt-quote>*{min-width:0}
.fs-bw-bt-ql,.fs-bw-bt-qr{display:grid;gap:16px;align-content:start;justify-items:start}
.fs-bw .fs-bw-bt-ql .fs-bw-h3{font-size:1.5rem}
.fs-bw-bt-qr{padding:24px;border-radius:12px;background:var(--fs-bw-tint)}
.fs-bw .fs-bw-bt-qr p{color:rgb(var(--c-ink-950));font-weight:700}

@container fs-bw (max-width:900px){
  .fs-bw .fs-bw-ht-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-bw-ht-panel,.fs-bw .fs-bw-ht-gauge{grid-template-columns:minmax(0,1fr)}
  .fs-bw .fs-bw-ht-gauge{gap:24px}
  .fs-bw-ll-top,.fs-bw-ll-lists{grid-template-columns:minmax(0,1fr)}
  .fs-bw-ll-in{position:static}
  .fs-bw-ll-rules{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-bw-bt-top{grid-template-columns:minmax(0,1fr)}
  .fs-bw-bt-line{grid-template-columns:minmax(0,1fr);gap:16px}
  .fs-bw .fs-bw-bt-st{padding:0 0 0 32px}
  .fs-bw-bt-st::before,.fs-bw-bt-st.fs-bw-bt-end::before,.fs-bw-bt-st:last-child::before{left:6px;top:8px;width:4px;height:calc(100% + 16px)}
  .fs-bw-bt-st:last-child::before{height:calc(100% - 8px)}
  .fs-bw .fs-bw-bt-quote{grid-template-columns:minmax(0,1fr);gap:24px}
}
@container fs-bw (max-width:640px){
  .fs-bw .fs-bw-ht-tabs{grid-template-columns:minmax(0,1fr)}
  .fs-bw .fs-bw-ht-tabs .fs-bw-tab{min-height:48px}
  .fs-bw .fs-bw-ht-panel{padding:16px}
  .fs-bw-ht-sh{grid-template-columns:minmax(0,1fr)}
  .fs-bw-ll-keys,.fs-bw-ll-rules{grid-template-columns:minmax(0,1fr)}
  .fs-bw-ll{gap:24px}
  .fs-bw-bt-sizes{grid-template-columns:minmax(0,1fr)}
  .fs-bw .fs-bw-bt-tabs .fs-bw-tab{padding:8px 12px}
}
[data-fs-layout="minimal"] .fs-bw-bt{--fs-bw-f-line:rgb(var(--c-line));--fs-bw-f-card:rgb(var(--c-paper-soft))}
[data-fs-layout="minimal"] .fs-bw-ht-panel,[data-fs-layout="minimal"] .fs-bw-ll-rule,[data-fs-layout="minimal"] .fs-bw-bt-card{box-shadow:none}
/* ══ port Task 12: reviews board, team, booker, contact ═══════════════
   Ported from the source's .rw/.rb-/.rv- (reviews board), .team4/.fl
   (team), .vb/.vz- (visit booker), .contact-grid/.info-list/.hours/
   .status/.map-w and the shared .form/.field/.row2/.check/.form-ok rules.
   The error red (#b3261e / #ff9d90 dark) is the platform status token
   --fs-bw-red (Ledger, Task 12). */
.fs-bw-stack{display:grid;gap:16px}
.fs-bw-stack>*{min-width:0}
.fs-bw-form{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
.fs-bw-row2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.fs-bw-row2>*{min-width:0}
.fs-bw-field textarea{width:100%;min-height:112px;resize:vertical;padding:12px 16px;border:1px solid var(--fs-bw-edge);border-radius:6px;background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));font:inherit}
.fs-bw-field textarea:focus{outline:none;border-color:rgb(var(--c-brand-600));box-shadow:0 0 0 4px color-mix(in srgb,rgb(var(--c-brand-600)) 25%,transparent)}
.fs-bw-field.is-err input:not([type="checkbox"]),.fs-bw-field.is-err textarea,.fs-bw-field.is-err select{border-color:var(--fs-bw-red);box-shadow:0 0 0 4px color-mix(in srgb,var(--fs-bw-red) 20%,transparent)}
.fs-bw .fs-bw-em{display:block;color:var(--fs-bw-red);font-size:.875rem;font-weight:700}
.fs-bw-check.is-err,.fs-bw-field.is-err .fs-bw-check{color:var(--fs-bw-red)}
.fs-bw-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.fs-bw-fake-in{display:flex;align-items:center;min-height:48px;padding:12px 16px;border:1px solid var(--fs-bw-edge);border-radius:6px;background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950))}
.fs-bw-fake-ta{min-height:112px;align-items:flex-start}
.fs-bw-form-ok{display:none;padding:16px;border-radius:6px;background:var(--fs-bw-ctint);color:var(--fs-bw-ctint-ink);font-weight:600;border-left:4px solid rgb(var(--c-accent))}
.fs-bw-form-ok.is-show{display:block}
.dark .fs-bw-booker,.dark .fs-bw-contact,.dark .fs-bw-reviewboard{color-scheme:dark}
.fs-preview-light .fs-bw-booker,.fs-preview-light .fs-bw-contact,.fs-preview-light .fs-bw-reviewboard{color-scheme:light}
.fs-bw-tab[aria-pressed="true"],.fs-bw-tab.is-on{background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));color:var(--fs-on-brand)}

/* ── favBwReviewBoard — .rw ─────────────────────────────────────── */
.fs-bw-rw{display:grid;gap:24px}
.fs-bw-rw>*{min-width:0}
.fs-bw-rb-top{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:32px;align-items:start}
.fs-bw-rb-top>*{min-width:0}
.fs-bw-rb-score{display:grid;gap:8px;justify-items:start}
.fs-bw-rw-avg{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline}
.fs-bw .fs-bw-rw-avg b{font-family:var(--font-display,'Schibsted Grotesk',system-ui,sans-serif);font-size:clamp(2.5rem,calc(6 * var(--fs-bw-vw)),3.5rem);font-weight:600;line-height:1;color:rgb(var(--c-brand-text))}
.fs-bw-rw-of{font-size:.875rem;font-weight:700;color:rgb(var(--c-ink-400))}
.fs-bw-rw-rep{display:flex;gap:8px;align-items:flex-start;max-width:34ch}
.fs-bw-rw-rep .fs-bw-ic{margin-top:2px;color:rgb(var(--c-brand-text))}
.fs-bw-rb-bars{display:grid;gap:6px}
.fs-bw-rb-bar{display:grid;grid-template-columns:48px minmax(0,1fr) 32px;align-items:center;gap:12px;font-size:.875rem;font-weight:700}
.fs-bw-rb-bar i{display:block;height:8px;border-radius:999px;background:rgb(var(--c-line));overflow:clip}
.fs-bw-rb-bar i::after{content:"";display:block;height:100%;width:var(--fs-bw-w);background:rgb(var(--c-brand-600));border-radius:999px}
.fs-bw-rw-bt{width:100%;min-height:32px;padding:2px 8px;border:1px solid transparent;border-radius:6px;text-align:left;color:rgb(var(--c-ink-950));background:none;font:inherit;font-size:.875rem;font-weight:700;line-height:1.65;cursor:pointer}
span.fs-bw-rw-bt{cursor:auto}
button.fs-bw-rw-bt:hover{background:var(--fs-bw-tint)}
.fs-bw-rw-bt[aria-pressed="true"]{background:var(--fs-bw-tint);border-color:rgb(var(--c-brand-600))}
.fs-bw-rw-bt[aria-pressed="true"] .fs-bw-rw-bl{color:rgb(var(--c-brand-text))}
.fs-bw-rw-bt:focus-visible{outline:2px solid rgb(var(--c-brand-text));outline-offset:2px}
.fs-bw-rw-bl{display:inline-flex;gap:4px;align-items:center}
.fs-bw .fs-bw-rw-bl .fs-bw-ic{fill:currentColor;stroke:none;color:rgb(var(--c-brand-text))}
.fs-bw-rw-ctl{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:flex-end;justify-content:space-between}
.fs-bw-rb-filter{display:flex;flex-wrap:wrap;gap:8px;flex:1 1 360px;min-width:0}
.fs-bw-rw-sort{flex:0 0 auto;width:220px;max-width:100%}
.fs-bw-rw-n{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--fs-bw-tint2);color:rgb(var(--c-ink-950));font-size:.75rem;font-weight:800}
.fs-bw-tab[aria-pressed="true"] .fs-bw-rw-n,.fs-bw-tab.is-on .fs-bw-rw-n{background:var(--fs-on-brand);color:rgb(var(--c-brand-600))}
.fs-bw-rw-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;min-height:40px}
.fs-bw-rb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.fs-bw-rb-grid>*{min-width:0}
.fs-bw-rw-empty{display:grid;justify-items:center;gap:12px;padding:48px 24px;border:1px dashed var(--fs-bw-edge);border-radius:12px;background:var(--fs-bw-tint);text-align:center}
.fs-bw-rw-empty>.fs-bw-ic{width:32px;height:32px;color:rgb(var(--c-brand-text))}
.fs-bw .fs-bw-rw-empty .fs-bw-h3{font-size:1.5rem}
.fs-bw-rw-empty p{max-width:65ch}
.fs-bw-rw-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.fs-bw-rw-notes>*{min-width:0}
.fs-bw .fs-bw-rw-notes .fs-bw-callout b{color:rgb(var(--c-ink-950))}

/* ── favBwTeam — .team4 .fl ─────────────────────────────────────── */
.fs-bw-team4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.fs-bw-team4>*{min-width:0}
.fs-bw-fl{position:relative;perspective:1100px;height:420px;cursor:pointer;border-radius:12px}
.fs-bw-fl-btn{position:absolute;inset:0;z-index:1;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:12px;background:transparent;cursor:pointer}
.fs-bw-fl-btn:focus-visible{outline:2px solid rgb(var(--c-brand-text));outline-offset:4px}
.fs-bw-fl-in{position:relative;width:100%;height:100%;transform-style:preserve-3d}
.fs-bw-fl:not(.is-flat):hover .fs-bw-fl-in,.fs-bw-fl.is-flip .fs-bw-fl-in,.fs-bw-fl:has(>.fs-bw-fl-btn:focus-visible) .fs-bw-fl-in{transform:rotateY(180deg)}
.fs-bw-fl-f,.fs-bw-fl-b{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:clip;border-radius:12px}
.fs-bw-fl-f{background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));padding:16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px;box-shadow:var(--fs-bw-sh-1)}
.fs-bw-fl-b{transform:rotateY(180deg);background:rgb(var(--c-brand-600));color:var(--fs-on-brand);padding:24px;display:flex;flex-direction:column;gap:8px}
.fs-bw-fl-ph{position:relative;width:100%;aspect-ratio:5/6;max-height:240px;display:grid;place-items:center;overflow:clip;margin-bottom:12px;border-radius:6px;background:var(--fs-bw-tint)}
.fs-bw-fl-ph>svg{width:100%;height:100%}
.fs-bw-fl-slot{position:absolute;inset:0}
.fs-bw-fl-slot>*,.fs-bw-fl-slot img{width:100%;height:100%}
.fs-bw-fl-slot img{object-fit:cover}
.fs-bw .fs-bw-fl-f .fs-bw-h3{font-size:1.25rem}
.fs-bw-fl-f small{color:rgb(var(--c-brand-text));font-weight:800;font-size:.875rem}
.fs-bw-hint{margin-top:auto;font-size:.75rem;color:rgb(var(--c-ink-400));display:flex;gap:6px;align-items:center}
.fs-bw .fs-bw-hint .fs-bw-ic{width:14px;height:14px}
.fs-bw .fs-bw-fl-b .fs-bw-h3{color:var(--fs-on-brand);font-size:1.5rem}
.fs-bw .fs-bw-fl-b p{color:var(--fs-on-brand);font-size:.875rem}
.fs-bw-lab{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;font-weight:800;color:var(--fs-on-brand);margin-top:4px}
.fs-bw-gdc{margin-top:auto;font-size:.75rem;padding:8px 12px;background:color-mix(in srgb,var(--fs-bw-shade) 22%,transparent);border-radius:6px}
/* editing: both sides flat, one under the other, every word reachable */
.fs-bw-fl.is-flat{height:auto;cursor:auto}
.fs-bw-fl.is-flat .fs-bw-fl-in{display:grid;gap:12px;height:auto;transform:none}
.fs-bw-fl.is-flat .fs-bw-fl-f,.fs-bw-fl.is-flat .fs-bw-fl-b{position:relative;inset:auto;transform:none;backface-visibility:visible;-webkit-backface-visibility:visible;min-height:0}
[data-fs-layout="minimal"] .fs-bw-fl-b{background:var(--fs-bw-tint);color:rgb(var(--c-ink-950))}
[data-fs-layout="minimal"] .fs-bw .fs-bw-fl-b .fs-bw-h3,[data-fs-layout="minimal"] .fs-bw .fs-bw-fl-b p,[data-fs-layout="minimal"] .fs-bw-lab{color:rgb(var(--c-ink-950))}
[data-fs-layout="minimal"] .fs-bw-gdc{background:rgb(var(--c-paper-soft))}

/* ── favBwBooker — .vb ──────────────────────────────────────────── */
.fs-bw-vb{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:32px;align-items:start}
.fs-bw-vb>*{min-width:0}
.fs-bw-vb-who{display:grid;gap:8px;align-content:start;min-height:64px;color:rgb(var(--c-ink-400));font-size:.875rem}
.fs-bw .fs-bw-vb-who p{font-size:.875rem}
.fs-bw-vz-len{display:inline-flex;align-items:center;gap:6px;font-size:.875rem;font-weight:700;color:rgb(var(--c-ink-950))}
.fs-bw .fs-bw-vz-len .fs-bw-ic{width:16px;height:16px;color:rgb(var(--c-brand-text))}
.fs-bw-vz-lab{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px}
.fs-bw p.fs-bw-vz-closed{font-size:.75rem}
.fs-bw-vb-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.fs-bw-vb-day{display:grid;gap:2px;justify-items:center;align-content:center;min-width:0;min-height:64px;padding:8px 4px;border:1px solid var(--fs-bw-edge);border-radius:6px;background:rgb(var(--c-paper));color:rgb(var(--c-ink-950));font:inherit;font-weight:800;line-height:1.65;cursor:pointer}
.fs-bw-vb-day small{font-size:.75rem;color:rgb(var(--c-ink-400));font-weight:700;line-height:1.3;text-align:center;overflow-wrap:anywhere}
.fs-bw-vb-day small:last-child{min-height:2.6em;display:flex;align-items:flex-start;justify-content:center}
.fs-bw-vb-day b{font-size:1.125rem;font-family:var(--font-display,'Schibsted Grotesk',system-ui,sans-serif);line-height:1.1}
button.fs-bw-vb-day:hover:not(:disabled){border-color:rgb(var(--c-brand-600))}
.fs-bw-vb-day:disabled,.fs-bw-vb-day.is-off{opacity:.62;cursor:not-allowed;background:transparent}
.fs-bw-vb-day:disabled b{text-decoration:line-through;text-decoration-thickness:1px}
.fs-bw-vb-day[aria-pressed="true"],.fs-bw-vb-day.is-on{background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));color:var(--fs-on-brand);box-shadow:0 0 0 2px rgb(var(--c-paper-soft)),0 0 0 4px rgb(var(--c-brand-600))}
.fs-bw-vb-day[aria-pressed="true"] small,.fs-bw-vb-day.is-on small{color:var(--fs-on-brand)}
.fs-bw-vb-day[aria-pressed="true"] small:last-child{font-weight:800}
.fs-bw-vb-day:focus-visible,.fs-bw-vb-slot:focus-visible{outline:2px solid rgb(var(--c-brand-text));outline-offset:2px}
.fs-bw-vb-day.fs-bw-pending{visibility:visible;opacity:1}
.fs-bw-vb-day.fs-bw-pending>*{visibility:hidden}
.fs-bw-vb-slots{display:flex;flex-wrap:wrap;gap:8px;min-height:44px}
.fs-bw-vb-slot{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2px 8px;min-height:44px;padding:8px 16px;border:1px solid var(--fs-bw-edge);border-radius:999px;background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));font:inherit;font-weight:800;line-height:1.65;font-variant-numeric:tabular-nums;cursor:pointer}
button.fs-bw-vb-slot:hover:not(:disabled){border-color:rgb(var(--c-brand-600))}
.fs-bw-vb-slot:disabled,.fs-bw-vb-slot.is-off{opacity:.75;cursor:not-allowed}
.fs-bw-vb-slot:disabled .fs-bw-vz-t,.fs-bw-vb-slot.is-off .fs-bw-vz-t{text-decoration:line-through;text-decoration-thickness:1px}
.fs-bw-vb-slot[aria-pressed="true"]{background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));color:var(--fs-on-brand)}
.fs-bw-vz-t{white-space:nowrap}
.fs-bw-vb-slot small{font-size:.75rem;font-weight:700;color:rgb(var(--c-ink-400));text-transform:uppercase;letter-spacing:.06em}
.fs-bw .fs-bw-vb-none{flex:1 1 100%;color:rgb(var(--c-ink-400));font-size:.875rem;padding:8px 0}
.fs-bw .fs-bw-vb-none a{color:rgb(var(--c-brand-text));font-weight:800;text-decoration:underline}
.fs-bw-vz-next{display:grid;gap:8px;padding-top:16px;border-top:1px dashed var(--fs-bw-edge)}
.fs-bw-vz-next ul{list-style:none;display:grid;gap:8px;font-size:.875rem}
.fs-bw-vz-next li{display:flex;gap:8px;align-items:flex-start;color:rgb(var(--c-ink-950))}
.fs-bw .fs-bw-vz-next .fs-bw-ic{width:18px;height:18px;margin-top:2px;color:rgb(var(--c-brand-text))}
.fs-bw .fs-bw-vb-side>.fs-bw-h3{font-size:1.5rem}
.fs-bw-vb-side .fs-bw-warn{align-items:flex-start}
.fs-bw-vb-side .fs-bw-warn>.fs-bw-ic{width:20px;height:20px}
.fs-bw .fs-bw-vb-side .fs-bw-warn>p{line-height:1.5}
.fs-bw-vb-sum{display:grid;gap:8px;padding:16px;border-radius:6px;background:var(--fs-bw-tint);color:rgb(var(--c-ink-950));border:1px solid rgb(var(--c-line));font-size:.875rem}
.fs-bw .fs-bw-vb-sum>b{font-family:var(--font-display,'Schibsted Grotesk',system-ui,sans-serif);font-size:1.25rem}
.fs-bw-vz-sl{list-style:none;display:grid;gap:8px}
.fs-bw-vz-sl li{display:flex;gap:8px;align-items:flex-start}
.fs-bw .fs-bw-vz-sl .fs-bw-ic{width:18px;height:18px;margin-top:2px;color:rgb(var(--c-brand-text))}
.fs-bw-vb-side .fs-bw-check{min-height:44px;align-items:center}
.fs-bw-vb-side .fs-bw-field .fs-bw-check input{min-height:20px;height:20px;width:20px;padding:0}
.fs-bw-vb-side .fs-bw-field>.fs-bw-check{font-weight:400;font-size:.875rem;color:rgb(var(--c-ink-400))}
.fs-bw-vb-side .fs-bw-field.is-err>.fs-bw-check{color:var(--fs-bw-red)}
.fs-bw-vz-consent .fs-bw-em{padding-left:32px}
.fs-bw .fs-bw-vz-need{padding:8px 12px;border-radius:6px;background:var(--fs-bw-ctint);color:var(--fs-bw-ctint-ink);font-size:.875rem;font-weight:700;border-left:4px solid rgb(var(--c-accent))}
.fs-bw-vb-side .fs-bw-btn{justify-self:start}
.fs-bw-form button.fs-bw-btn{font-family:inherit;cursor:pointer}
.fs-bw-form button.fs-bw-btn:disabled{opacity:.7;cursor:progress}
.fs-bw-vb-ok{display:none;gap:12px;padding:24px;border-radius:12px;background:var(--fs-bw-ctint);color:var(--fs-bw-ctint-ink)}
.fs-bw-vb-ok.is-show{display:grid}
.fs-bw-okw:focus{outline:none}
/* the live region stays in the page (and the accessibility tree) between
   sends; empty, it is taken out of the grid so it adds no gap */
.fs-bw-okw:empty{position:absolute;width:1px;height:1px;overflow:clip}
.fs-bw-field .fs-bw-check input{min-height:20px;height:20px;width:20px;padding:0}
.fs-bw-okw:focus-visible{outline:2px solid rgb(var(--c-brand-text));outline-offset:2px;border-radius:12px}
.fs-bw-em-check{padding-left:32px}
.fs-bw .fs-bw-vb-ok .fs-bw-h3{font-size:1.5rem;color:inherit}
.fs-bw .fs-bw-vb-ok p{color:inherit}

/* ── favBwContact — .contact-grid ───────────────────────────────── */
.fs-bw-contact-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:32px;align-items:start}
.fs-bw-contact-grid>*{min-width:0}
.fs-bw-info-list{display:grid;gap:16px}
.fs-bw-info-list>div{display:flex;gap:16px;align-items:flex-start}
.fs-bw-info-list b{display:block}
.fs-bw-info-list b a{display:inline-flex;align-items:center;min-height:24px}
.fs-bw-info-list span{color:rgb(var(--c-ink-400))}
.fs-bw .fs-bw-info-list .fs-bw-sample{color:rgb(var(--c-ink-400))}
.fs-bw .fs-bw-status{display:flex;align-items:center;gap:8px;font-weight:800;font-size:.875rem;color:rgb(var(--c-ink-400))}
.fs-bw .fs-bw-contact .fs-bw-panel>.fs-bw-h3{font-size:1.5rem}
.fs-bw-hours{display:grid;gap:4px;font-size:.875rem;max-width:320px}
.fs-bw-hours>div{display:flex;justify-content:space-between;gap:16px;padding:4px 8px;border-radius:6px}
.fs-bw-hours>div.is-now{background:var(--fs-bw-ctint);color:var(--fs-bw-ctint-ink);font-weight:800}
.fs-bw-map-w{border-radius:12px;overflow:clip;border:1px solid rgb(var(--c-line));box-shadow:var(--fs-bw-sh-1)}
.fs-bw-map{display:block;width:100%;height:auto}
.fs-bw-map-bg{fill:var(--fs-bw-tint)}
.fs-bw-map-road{fill:rgb(var(--c-paper-soft))}
.fs-bw-map-dash{fill:none;stroke:rgb(var(--c-line));stroke-width:2;stroke-dasharray:8 8}
.fs-bw-map-green{fill:var(--fs-bw-c2);opacity:.45}
.fs-bw-map-t{font-family:var(--font-sans,'Figtree',system-ui,sans-serif);font-weight:700;font-size:13px;fill:rgb(var(--c-ink-950))}
.fs-bw-map-t14{font-size:14px}
.fs-bw-map-s{font-weight:600;font-size:12px}
.fs-bw-map-house{fill:rgb(var(--c-brand-600))}
.fs-bw-map-roof{fill:rgb(var(--c-brand-700))}
.fs-bw-map-door{fill:rgb(var(--c-accent))}
.fs-bw-map-park{fill:color-mix(in srgb,rgb(var(--c-brand-600)) 35%,var(--fs-bw-lit))}
.fs-bw-map-pole{fill:rgb(var(--c-ink-950))}
.fs-bw.fs-bw-booker p:not([class]),.fs-bw.fs-bw-contact p:not([class]),.fs-bw.fs-bw-reviewboard p:not([class]),.fs-bw.fs-bw-team p:not([class]){line-height:1.65}
.fs-bw.fs-bw-booker .fs-bw-vb-side .fs-bw-warn>p{line-height:1.5}

@container fs-bw (max-width:1000px){
  .fs-bw-team4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-bw-rb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container fs-bw (max-width:900px){
  .fs-bw-vb,.fs-bw-contact-grid,.fs-bw-rb-top{grid-template-columns:minmax(0,1fr)}
  .fs-bw-vb-who{min-height:0}
  .fs-bw-rw-notes{grid-template-columns:minmax(0,1fr)}
}
@container fs-bw (max-width:640px){
  .fs-bw-team4,.fs-bw-rb-grid,.fs-bw-row2{grid-template-columns:minmax(0,1fr)}
  .fs-bw-fl{height:440px}
  .fs-bw-vb-days{grid-template-columns:repeat(4,minmax(0,1fr))}
  .fs-bw-vb .fs-bw-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-bw-vb .fs-bw-tab{justify-content:center;text-align:center}
  .fs-bw-vb-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-bw-vb-slot{justify-content:center}
  .fs-bw-vb-side .fs-bw-btn{justify-self:stretch}
  .fs-bw-vb-day small:last-child{min-height:0}
  .fs-bw-rw-sort{width:100%}
  .fs-bw-rb-filter{flex-basis:100%}
  .fs-bw-rw-rep{max-width:none}
}
[data-fs-layout="minimal"] .fs-bw-map-w{box-shadow:none}

/* ══ port Task 13: the footer (favBwFooter) ══
   Ported from the source's .site-footer / .tb / .tb-* / .ft-main /
   .ft-cols / .brim-ft-* / .nl-form / .ft-bot rules. Colours the platform
   has no token for (Deviation Ledger, Task 13): the toolbox steel
   (--steel-l/--steel/--steel-d, #4d6073 / #2b3a48 / #1b2733 in both
   modes) is the family navy mixed toward white; the paper trays (always
   light, "so trays stay readable in dark mode": #fbfdfe, #eef4f7, ink
   #12202c, mute #475663, line #cddae2) are white with the navy mixed in;
   the lockup's --pri-lt is the brand 35% to white in light (the dark
   palettes' brand text is --pri-lt itself). The ink band is the family's
   --fs-bw-f-* (Task 10b). */
.fs-bw-footer{
  --fs-bw-steel-l:color-mix(in srgb,var(--fs-bw-navy) 74%,var(--fs-bw-lit));
  --fs-bw-steel-m:color-mix(in srgb,var(--fs-bw-navy) 88%,var(--fs-bw-lit));
  --fs-bw-steel-d:color-mix(in srgb,var(--fs-bw-navy) 95%,var(--fs-bw-lit));
  --fs-bw-steel-top:color-mix(in srgb,var(--fs-bw-navy) 64%,var(--fs-bw-lit));
  --fs-bw-paper:color-mix(in srgb,var(--fs-bw-navy) 1%,var(--fs-bw-lit));
  --fs-bw-paper2:color-mix(in srgb,var(--fs-bw-navy) 6%,var(--fs-bw-lit));
  --fs-bw-paper-ink:var(--fs-bw-navy);
  --fs-bw-paper-mute:color-mix(in srgb,var(--fs-bw-navy) 78%,var(--fs-bw-lit));
  --fs-bw-paper-line:color-mix(in srgb,var(--fs-bw-navy) 17%,var(--fs-bw-lit));
  --fs-bw-paper-link:rgb(var(--c-brand-700,var(--c-brand-600)));
  --fs-bw-pri-lt:color-mix(in srgb,rgb(var(--c-brand-600)) 35%,var(--fs-bw-lit));
  --fs-bw-f-line:color-mix(in srgb,var(--fs-bw-f-ink) 20%,transparent);
  --fs-bw-f-card:color-mix(in srgb,var(--fs-bw-f-ink) 7%,transparent);
  display:block;margin:0;background:rgb(var(--c-paper))
}
.dark .fs-bw-footer{--fs-bw-pri-lt:rgb(var(--c-brand-text))}
.fs-preview-light .fs-bw-footer{--fs-bw-pri-lt:color-mix(in srgb,rgb(var(--c-brand-600)) 35%,var(--fs-bw-lit))}
[data-fs-layout="minimal"] .fs-bw-footer{--fs-bw-f-bg:var(--fs-bw-tint);--fs-bw-f-ink:rgb(var(--c-ink-950));--fs-bw-f-mute:rgb(var(--c-ink-400));--fs-bw-f-line:rgb(var(--c-line));--fs-bw-f-card:rgb(var(--c-paper-soft));--fs-bw-pri-lt:rgb(var(--c-brand-600))}
/* .tb: the toolbox section */
.fs-bw-tb{padding:0 0 64px}
.fs-bw-tb-head{display:grid;gap:12px;max-width:640px;margin-bottom:32px}
.fs-bw .fs-bw-tb-head p.fs-bw-tb-lede{font-size:1.125rem;line-height:1.65}
.fs-bw-tb-box{position:relative;display:grid;gap:12px;padding:12px 12px 16px;border-radius:20px;background:linear-gradient(180deg,var(--fs-bw-steel-l),var(--fs-bw-steel-m) 14%,var(--fs-bw-steel-d));box-shadow:var(--fs-bw-sh-3);border:1px solid var(--fs-bw-steel-d)}
/* the lid rests open (upright); it swings up from its back edge as the
   toolbox scrolls in (motion section, bwLid) */
.fs-bw-tb-lid{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:8px 24px;border-radius:12px 12px 6px 6px;background:linear-gradient(180deg,var(--fs-bw-steel-top),var(--fs-bw-steel-l) 22%,var(--fs-bw-steel-m));border:1px solid var(--fs-bw-steel-d);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 2px 0 var(--fs-bw-steel-d)}
.fs-bw-tb-handle{position:absolute;left:50%;top:-8px;width:96px;height:16px;translate:-50% 0;border-radius:8px 8px 0 0;border:3px solid rgb(var(--c-accent));border-bottom:0;background:transparent}
.fs-bw .fs-bw-tb-plate{flex:1;text-align:center;font-family:var(--font-display,'Schibsted Grotesk',system-ui,sans-serif);font-weight:700;font-size:.875rem;line-height:1.65;letter-spacing:.14em;text-transform:uppercase;color:var(--fs-bw-f-ink)}
[data-fs-layout="minimal"] .fs-bw .fs-bw-tb-plate{color:rgb(var(--c-paper))}
.fs-bw-tb-latch{flex:none;width:28px;height:20px;border-radius:4px;background:linear-gradient(180deg,var(--fs-bw-cu-hi),rgb(var(--c-accent)) 50%,var(--fs-bw-cu-lo));box-shadow:0 1px 2px rgba(0,0,0,.4)}
.fs-bw-tb-trays{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.fs-bw-tb-tray{display:grid;gap:8px;align-content:start;padding:16px;border-radius:12px;background:var(--fs-bw-paper);color:var(--fs-bw-paper-ink);border:1px solid var(--fs-bw-paper-line);box-shadow:inset 0 3px 0 var(--fs-bw-paper2);min-width:0}
.fs-bw-tb-tray>*{min-width:0}
.fs-bw .fs-bw-tb-tray h3.fs-bw-tb-h3{font-size:1.125rem;line-height:1.12;color:var(--fs-bw-paper-ink)}
.fs-bw .fs-bw-tb-tray p,.fs-bw .fs-bw-tb-tray li{color:var(--fs-bw-paper-mute);font-size:.875rem;line-height:1.65}
.fs-bw .fs-bw-tb-tray b{color:var(--fs-bw-paper-ink)}
.fs-bw .fs-bw-tb-tray .fs-bw-link-arrow{color:var(--fs-bw-paper-link);margin-top:4px}
.fs-bw-tb-ico{display:grid;place-items:center;width:40px;height:40px;border-radius:6px;background:rgb(var(--c-brand-600));color:var(--fs-on-brand)}
.fs-bw-tb-ico .fs-bw-ic{width:20px;height:20px}
/* .tb-big asks for 20px, but the source's .tb-tray p (14px) outranks it:
   the number is drawn 14px, in the display face */
.fs-bw .fs-bw-tb-tray p.fs-bw-tb-big{font-family:var(--font-display,'Schibsted Grotesk',system-ui,sans-serif);font-weight:700;font-size:.875rem;line-height:1.2}
.fs-bw .fs-bw-tb-big .fs-bw-ft-tel{display:inline-flex;align-items:center;min-height:24px;color:var(--fs-bw-paper-link);white-space:nowrap}
.fs-bw .fs-bw-tb-big a.fs-bw-ft-tel:hover{text-decoration:underline}
.fs-bw .fs-bw-tb-tray p.fs-bw-tb-st{display:flex;align-items:center;gap:8px;font-weight:700}
.fs-bw-tb-st .fs-bw-odot{flex:none}
.fs-bw .fs-bw-tb-list{display:grid;gap:4px;margin:0;padding:0 0 0 16px}
.fs-bw ul.fs-bw-tb-list{list-style:disc}
.fs-bw ol.fs-bw-tb-list{list-style:decimal}
/* .ft-main: the ink band with its copper seam */
.fs-bw-ft-main{position:relative;background:var(--fs-bw-f-bg);color:var(--fs-bw-f-ink);padding:64px 0 32px}
.fs-bw-ft-main::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--fs-bw-cu-lo),var(--fs-bw-cu-hi) 50%,var(--fs-bw-cu-lo));opacity:.9}
.fs-bw .fs-bw-ft-main p,.fs-bw .fs-bw-ft-main li{color:var(--fs-bw-f-mute);font-size:.875rem;line-height:1.65}
.fs-bw .fs-bw-ft-main a{color:var(--fs-bw-f-ink)}
.fs-bw .fs-bw-ft-main a:hover{text-decoration:underline}
.fs-bw-ft-main :focus-visible{outline-color:var(--fs-bw-f-ink)}
.fs-bw-ft-cols{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.5fr) minmax(0,1fr);gap:48px 32px}
.fs-bw-ft-cols>div{display:grid;gap:12px;align-content:start}
.fs-bw .fs-bw-ft-h5{margin:0;font-size:.75rem;line-height:1.3;letter-spacing:.1em;text-transform:uppercase;color:var(--fs-bw-f-mute);font-weight:800}
.fs-bw .fs-bw-ft-p a{display:inline-flex;align-items:center;min-height:24px}
/* the lockup (.ft-logo .logo, 52px): the mark in --pri-lt with the copper
   ring and an ink drop, the name beside it */
.fs-bw .fs-bw-ft-main p.fs-bw-ft-logo{display:flex;align-items:center;gap:10px;margin:0;color:var(--fs-bw-f-ink)}
.fs-bw-ft-mark{flex:none;width:52px;height:52px}
.fs-bw-ft-mark .fs-bw-lg-sh{fill:var(--fs-bw-pri-lt);stroke:var(--fs-bw-pri-lt);stroke-width:5;stroke-linejoin:round}
.fs-bw-ft-mark .fs-bw-lg-ring{fill:none;stroke:rgb(var(--c-accent));stroke-width:2.4}
.fs-bw-ft-mark .fs-bw-lg-drop{fill:var(--fs-bw-f-bg)}
[data-fs-layout="minimal"] .fs-bw-ft-mark .fs-bw-lg-drop{fill:var(--fs-bw-lit)}
/* the site's name as words beside the mark (the source's lockup name is
   25px; a whole business name runs to one line at 20px) */
.fs-bw-ft-name{font-family:var(--font-display,'Schibsted Grotesk',system-ui,sans-serif);font-weight:800;font-size:1.25rem;line-height:1.15;letter-spacing:-.01em;color:var(--fs-bw-f-ink)}
/* .brim-ft-links: two columns of pages on a copper pipe, a joint each */
.fs-bw-ft-cols>.fs-bw-ft-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
.fs-bw-ft-group{display:block;min-width:0}
.fs-bw .fs-bw-ft-h4{margin:0 0 16px;padding-bottom:8px;border-bottom:2px solid color-mix(in srgb,rgb(var(--c-accent)) 50%,transparent);color:var(--fs-bw-f-ink);font-family:var(--font-display,'Schibsted Grotesk',system-ui,sans-serif);font-size:.75rem;line-height:1.3;letter-spacing:.12em;text-transform:uppercase;font-weight:800}
.fs-bw .fs-bw-ft-ul{position:relative;display:grid;gap:12px;margin:0;padding:0 0 0 22px;list-style:none}
.fs-bw-ft-ul::before{content:"";position:absolute;left:4px;top:6px;bottom:6px;width:2px;border-radius:1px;background:linear-gradient(180deg,var(--fs-bw-cu-hi),var(--fs-bw-cu-lo));opacity:.55}
.fs-bw .fs-bw-ft-li{margin:0;padding:0;border:0}
.fs-bw .fs-bw-ft-main .fs-bw-ft-a{position:relative;display:inline-flex;align-items:center;gap:12px;min-height:32px;font-weight:700;font-size:.875rem;line-height:1.65;color:var(--fs-bw-f-ink)}
.fs-bw .fs-bw-ft-main a.fs-bw-ft-a:hover,.fs-bw .fs-bw-ft-main a.fs-bw-ft-a:focus-visible{text-decoration:none}
.fs-bw-ft-joint{position:absolute;left:-22px;top:50%;width:10px;height:10px;border-radius:50%;background:var(--fs-bw-f-card);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,rgb(var(--c-accent)) 55%,transparent);transform:translateY(-50%)}
.fs-bw-ft-tx{position:relative;padding-bottom:3px}
.fs-bw-ft-tx::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,var(--fs-bw-cu-hi),var(--fs-bw-cu-lo));transform:scaleX(0);transform-origin:left}
a.fs-bw-ft-a:hover .fs-bw-ft-joint,a.fs-bw-ft-a:focus-visible .fs-bw-ft-joint{background:linear-gradient(180deg,var(--fs-bw-cu-hi),var(--fs-bw-cu-lo));box-shadow:var(--fs-bw-sh-1)}
a.fs-bw-ft-a:hover .fs-bw-ft-tx::after,a.fs-bw-ft-a:focus-visible .fs-bw-ft-tx::after{transform:scaleX(1)}
/* .nl-form: seasonal tips */
.fs-bw-nl{display:grid;gap:8px;grid-template-columns:minmax(0,1fr);margin:0}
.fs-bw-nl-row{display:flex;gap:8px}
.fs-bw .fs-bw-nl-in{flex:1;min-width:0;min-height:44px;padding:8px 16px;border:1px solid var(--fs-bw-f-line);border-radius:999px;background:var(--fs-bw-f-card);color:var(--fs-bw-f-ink);font:inherit;font-size:1rem}
.fs-bw .fs-bw-nl-in::placeholder{color:var(--fs-bw-f-mute);opacity:1}
.fs-bw .fs-bw-nl-btn{background:rgb(var(--c-accent));border-color:rgb(var(--c-accent));color:var(--fs-bw-on-accent)}
[data-fs-layout="minimal"] .fs-bw .fs-bw-nl-btn{background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));color:var(--fs-on-brand)}
.fs-bw .fs-bw-ft-main p.fs-bw-nl-msg{display:none;font-size:.875rem}
.fs-bw .fs-bw-ft-main p.fs-bw-nl-msg.is-shown{display:block}
/* .ft-bot: the small print and the site's legal links */
.fs-bw-ft-bot{display:grid;gap:8px;margin-top:48px;padding-top:24px;border-top:1px solid var(--fs-bw-f-line)}
.fs-bw-ft-small{color:var(--fs-bw-f-mute);font-size:.75rem;line-height:1.6}
.fs-bw-ft-legal{display:flex;flex-wrap:wrap;gap:4px 16px}
.fs-bw .fs-bw-ft-main a.fs-bw-ft-legal-a{font-size:.75rem;line-height:1.6;color:var(--fs-bw-f-mute);text-decoration:underline;text-underline-offset:2px}
.fs-bw .fs-bw-ft-main a.fs-bw-ft-legal-a:hover{color:var(--fs-bw-f-ink)}
@container fs-bw (max-width:1000px){
  .fs-bw-ft-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-bw-tb-trays{grid-template-columns:repeat(3,minmax(0,1fr))}
}
/* The source's touch rule (@media (pointer:coarse),(max-width:900px)
   .site-footer a{padding-block:7px}): every footer link gets 7px above
   and below — the toolbox links 28 → 42px, the footer links 32 → 46px
   (the source's 56 / 40 at 390). The container half only: block sheets
   take no viewport @media (Ledger L62). Task 17 sweep found it missing. */
@container fs-bw (max-width:900px){
  .fs-bw.fs-bw-footer a{padding-block:7px}
  /* the same rule's display:inline-block beats the source's .link-arrow
     inline-flex (it is later and one element more specific) */
  .fs-bw.fs-bw-footer a.fs-bw-link-arrow{display:inline-block}
}
@container fs-bw (max-width:640px){
  .fs-bw-ft-cols,.fs-bw-ft-cols>.fs-bw-ft-links,.fs-bw-tb-trays{grid-template-columns:minmax(0,1fr)}
  .fs-bw-tb-box{padding:8px 8px 12px}
  .fs-bw-tb-lid{padding:8px 16px}
  .fs-bw .fs-bw-tb-plate{letter-spacing:.08em;font-size:.75rem}
}

/* ══ motion (the source's own) ══════════════════════════════════════════
   Every Brimwell movement, ported from the source's own keyframes and
   transitions, in ONE place so the three gates are visibly the same for
   all of them:
     1. drawn 'rich' (.fs-bw-anim on the block root),
     2. [data-fs-motion="on"] — the published site and the template
        preview at motion level On or Subtle; the editor canvas, Off and
        any surface without the shell match nothing and stay still,
     3. @media (prefers-reduced-motion: no-preference).
   SUBTLE is the library's rule: the SAME movement, every travel written
   calc(<px> * var(--fs-motion-dist, 1)) (0.3 under Subtle) and every
   duration and delay calc(<t> * var(--fs-anim-speed, 1)) (x1.7, composed
   with the Speed dial). Loops keep their full loop and only slow.
   Each effect reads var(--fs-anim-<id>, <the source's own value>), so
   Site Settings -> Micro-animations can switch one off (ids declared in
   themes/brimwell.ts microAnimations; npm run check:anim).
   FILL: backwards only, the end frame always the element's resting
   style, so nothing holds an identity matrix after it plays (the library
   lesson: a held transform/filter makes a containing block). The scroll
   reveals never hide content without the script: the hidden first frame
   is a PAUSED animation behind data-bw-in="0", which only the reveal
   script (useBwMotion, BrimwellBlocks.tsx) sets — no script, no
   attribute, nothing hidden. States that carry meaning (the open
   accordion, a turned card, the chosen pin, the needle on Fixed) rest
   outside these gates; only their movement is inside. */
@keyframes fs-bw-rise{from{opacity:0;transform:translateY(calc(20px * var(--fs-motion-dist, 1)))}to{opacity:1;transform:none}}
@keyframes fs-bw-fillin{
  from{-webkit-mask-image:linear-gradient(to top,#000 50%,transparent 50%);mask-image:linear-gradient(to top,#000 50%,transparent 50%);-webkit-mask-size:100% 200%;mask-size:100% 200%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:0 calc((1 - var(--fs-motion-dist, 1)) * 100%);mask-position:0 calc((1 - var(--fs-motion-dist, 1)) * 100%)}
  to{-webkit-mask-image:linear-gradient(to top,#000 50%,transparent 50%);mask-image:linear-gradient(to top,#000 50%,transparent 50%);-webkit-mask-size:100% 200%;mask-size:100% 200%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:0 100%;mask-position:0 100%}}
@keyframes fs-bw-needle{from{transform:rotate(180deg) rotate(calc(-120deg * var(--fs-motion-dist, 1)))}60%{transform:rotate(180deg) rotate(calc(18deg * var(--fs-motion-dist, 1)))}to{transform:rotate(180deg) rotate(0deg)}}
@keyframes fs-bw-pop{from{transform:translateY(calc(8px * var(--fs-motion-dist, 1)))}to{transform:none}}
@keyframes fs-bw-up{from{opacity:0;transform:translateY(calc(12px * var(--fs-motion-dist, 1)))}to{opacity:1;transform:none}}
@keyframes fs-bw-mq{to{transform:translateX(-50%)}}
@keyframes fs-bw-ping-g{0%{box-shadow:0 0 0 0 rgb(var(--fs-status-ok) / .55)}70%{box-shadow:0 0 0 calc(8px * var(--fs-motion-dist, 1)) transparent}100%{box-shadow:0 0 0 0 transparent}}
@keyframes fs-bw-ping-p{0%{box-shadow:0 0 0 0 color-mix(in srgb,rgb(var(--c-brand-600)) 55%,transparent)}70%{box-shadow:0 0 0 calc(8px * var(--fs-motion-dist, 1)) transparent}100%{box-shadow:0 0 0 0 transparent}}
@keyframes fs-bw-lid{from{transform:perspective(900px) rotateX(calc(78deg * var(--fs-motion-dist, 1)))}to{transform:none}}
@keyframes fs-bw-ripple{from{transform:scale(calc(1 - var(--fs-motion-dist, 1)));opacity:1}to{transform:scale(1);opacity:0}}
@keyframes fs-bw-spk{from{opacity:1;transform:none}to{opacity:0;transform:translate(calc(var(--fs-bw-dx, 0px) * var(--fs-motion-dist, 1)),calc(var(--fs-bw-dy, 0px) * var(--fs-motion-dist, 1))) scale(calc(1 - .6 * var(--fs-motion-dist, 1)))}}

/* Brimwell's own reveal and press ARE the motion on its blocks, so the
   platform baseline (motion-base.ts) stands down here through its own
   off-vars: no "Sections ease in" slide under each block (it stacked a
   34px slide from the left on top of the rise / fill), no "Images fade
   in" inside a revealing item (it overlapped the water-fill), no
   "Buttons respond to a press" scale(.985) on Brimwell's buttons (the
   source never presses them). Deviation Ledger L55. A positioned button
   keeps its own placement while pressed: the platform :active rule writes
   transform from --fs-anim-fs-press, so those buttons hand it their own. */
[data-fs-blocktype^="favBw"]{--fs-anim-fs-sectionin-name:none}
.fs-bw-anim :is(.fs-bw-rv,.fs-bw-fill){--fs-anim-fs-imgin-name:none}
.fs-bw{--fs-anim-fs-press:none}
.fs-bw .fs-bw-ar-zb{--fs-anim-fs-press:translate(-50%,-50%)}
.fs-bw .fs-bw-hs-pin{--fs-anim-fs-press:translate(-50%,-50%)}
.fs-bw .fs-bw-hs-pin:is(:hover,.is-lit,.is-on){--fs-anim-fs-press:translate(-50%,-50%) scale(1.12)}

/* States, at every motion level (the hover shadows; the movement that
   goes with them is below). */
.fs-bw-anim a.fs-bw-btn:hover{box-shadow:var(--fs-bw-sh-2)}
.fs-bw-anim a.fs-bw-btn:active{box-shadow:var(--fs-bw-sh-1)}
.fs-bw-anim .fs-bw-card:hover,.fs-bw-anim .fs-bw-proc>li:hover,.fs-bw-anim .fs-bw-rv-card:hover{box-shadow:var(--fs-bw-sh-3)}
/* The toolbox lid hinges on its back edge (the source's transform-origin). */
.fs-bw-tb-lid{transform-origin:50% 100%;-webkit-backface-visibility:hidden;backface-visibility:hidden}
/* The press ripple and the sparks rest invisible: their end frame. */
.fs-bw-ripple{position:absolute;border-radius:50%;pointer-events:none;opacity:0;background:radial-gradient(circle,rgb(255 255 255 / .88) 0%,rgb(255 255 255 / .32) 45%,rgb(255 255 255 / 0) 72%)}
.fs-bw-spk{position:absolute;z-index:5;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;pointer-events:none;opacity:0;background:rgb(var(--c-brand-600))}
.fs-bw-spk.is-b{background:rgb(var(--c-accent))}
.fs-bw-spk.is-c{background:var(--fs-bw-c2)}
.fs-bw-spk.is-d{background:color-mix(in srgb,rgb(var(--c-brand-600)) 35%,var(--fs-bw-lit))}

/* screen only: a printed page shows every item, never a waiting one */
@media screen and (prefers-reduced-motion: no-preference){
  /* bwRise — the source's .rv: 20px up and in, 600ms, 70ms apart */
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-rv[data-bw-in]{animation:var(--fs-anim-bwRise, fs-bw-rise calc(600ms * var(--fs-anim-speed, 1)) var(--fs-bw-ease) backwards)}
  /* bwFill — the source's .brim-fill: each child fills from the bottom
     like water, 600ms. A mask, not the source's clip-path (a fully
     clipped box can stop an IntersectionObserver re-checking). */
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-fill[data-bw-in]>*{animation:var(--fs-anim-bwFill, fs-bw-fillin calc(600ms * var(--fs-anim-speed, 1)) var(--fs-bw-ease) backwards)}
  /* waiting to scroll in: held on the first frame, paused */
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-rv[data-bw-in="0"],
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-fill[data-bw-in="0"]>*{animation-play-state:paused}
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-rv.fs-bw-d1[data-bw-in],[data-fs-motion="on"] .fs-bw-anim .fs-bw-fill.fs-bw-d1[data-bw-in]>*{animation-delay:calc(70ms * var(--fs-anim-speed, 1))}
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-rv.fs-bw-d2[data-bw-in],[data-fs-motion="on"] .fs-bw-anim .fs-bw-fill.fs-bw-d2[data-bw-in]>*{animation-delay:calc(140ms * var(--fs-anim-speed, 1))}
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-rv.fs-bw-d3[data-bw-in],[data-fs-motion="on"] .fs-bw-anim .fs-bw-fill.fs-bw-d3[data-bw-in]>*{animation-delay:calc(210ms * var(--fs-anim-speed, 1))}
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-rv.fs-bw-d4[data-bw-in],[data-fs-motion="on"] .fs-bw-anim .fs-bw-fill.fs-bw-d4[data-bw-in]>*{animation-delay:calc(280ms * var(--fs-anim-speed, 1))}

  /* bwLid — the toolbox lid swings upright from its back edge, 1.1s */
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-tb-box[data-bw-in] .fs-bw-tb-lid{animation:var(--fs-anim-bwLid, fs-bw-lid calc(1.1s * var(--fs-anim-speed, 1)) var(--fs-bw-ease) backwards)}
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-tb-box[data-bw-in="0"] .fs-bw-tb-lid{animation-play-state:paused}

  /* bwGauge — the hero needle sweeps from empty past the mark and
     settles on Fixed (1.6s after .4s); the answer's dial fills (600ms);
     the symptom checker's needle turns (320ms) */
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-gauge-needle{animation:var(--fs-anim-bwGauge, fs-bw-needle calc(1.6s * var(--fs-anim-speed, 1)) var(--fs-bw-ease) calc(.4s * var(--fs-anim-speed, 1)) backwards)}
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-gauge-fill{transition:var(--fs-anim-bwGauge, stroke-dasharray calc(600ms * var(--fs-anim-speed, 1)) var(--fs-bw-ease))}
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-ht-nd{transition:var(--fs-anim-bwGauge, transform calc(320ms * var(--fs-anim-speed, 1)) var(--fs-bw-ease))}

  /* bwPop — an answer settles in: the hero card (ihPop, 8px, 320ms), the
     estimator figure (pcPop, 8px, 320ms, snap), the booking and contact
     confirmations (fadeUp, 12px, 320ms) */
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-ih-card.is-pop{animation:var(--fs-anim-bwPop, fs-bw-pop calc(320ms * var(--fs-anim-speed, 1)) var(--fs-bw-ease) backwards)}
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-pc-big.is-pop{animation:var(--fs-anim-bwPop, fs-bw-pop calc(320ms * var(--fs-anim-speed, 1)) cubic-bezier(.3,1.5,.5,1) backwards)}
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-form-ok.is-show,[data-fs-motion="on"] .fs-bw-anim .fs-bw-vb-ok.is-show{animation:var(--fs-anim-bwPop, fs-bw-up calc(320ms * var(--fs-anim-speed, 1)) ease backwards)}

  /* bwMarquee — the strip runs its 40s loop (68s under Subtle) */
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-mq-track.is-run{flex-wrap:nowrap;justify-content:flex-start;gap:48px;padding:0;width:max-content;animation:var(--fs-anim-bwMarquee, fs-bw-mq calc(40s * var(--fs-anim-speed, 1)) linear infinite)}
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-mq-track.is-run>.fs-bw-mq-dup{display:inline-flex}

  /* bwPing — the open dot's soft ring (pingG, 2s; not on the hero's
     chip, as the source) and the chosen house pin's (pingP, 2.4s) */
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-odot:not(.is-amber):not(.is-pending){animation:var(--fs-anim-bwPing, fs-bw-ping-g calc(2s * var(--fs-anim-speed, 1)) infinite)}
  [data-fs-motion="on"] .fs-bw-anim.fs-bw-hero .fs-bw-odot{animation:none}
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-hs-pin.is-on{animation:var(--fs-anim-bwPing, fs-bw-ping-p calc(2.4s * var(--fs-anim-speed, 1)) infinite)}

  /* bwFlip — the team card turns (900ms; under Subtle a hover only
     peeks, 54deg, and a press still turns it over) and the ID card
     turns (600ms) */
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-fl-in{transition:var(--fs-anim-bwFlip, transform calc(.9s * var(--fs-anim-speed, 1)) var(--fs-bw-ease))}
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-fl:not(.is-flat):not(.is-flip):not(:has(>.fs-bw-fl-btn:focus-visible)):hover .fs-bw-fl-in{transform:rotateY(calc(180deg * var(--fs-motion-dist, 1)))}
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-cr-in{transition:var(--fs-anim-bwFlip, transform calc(600ms * var(--fs-anim-speed, 1)) var(--fs-bw-ease))}

  /* bwOpen — an answer opens without a jump (320ms) and its plus turns
     45deg. At Subtle the open answer's icon RESTS at 13.5deg (45 x 0.3),
     exactly as the source's Subtle (html[data-motion=subtle]
     .acc-item.open .acc-q .ic{rotate(13.5deg)}); Off and reduced motion
     show the full 45deg cross. */
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-acc-a{transition:var(--fs-anim-bwOpen, grid-template-rows calc(320ms * var(--fs-anim-speed, 1)) var(--fs-bw-ease))}
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-acc-item:not(.is-open) .fs-bw-acc-a>div{transition:var(--fs-anim-bwOpen, visibility 0s linear calc(320ms * var(--fs-anim-speed, 1)))}
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-acc-q .fs-bw-ic{transition:var(--fs-anim-bwOpen, transform calc(320ms * var(--fs-anim-speed, 1)) var(--fs-bw-ease))}
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-acc-item.is-open .fs-bw-acc-q .fs-bw-ic{transform:rotate(calc(45deg * var(--fs-motion-dist, 1)))}

  /* bwBars — a checklist's bar fills as boxes are ticked (320ms); the
     review stars' bars change width (600ms) */
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-pg-bar i{transition:var(--fs-anim-bwBars, width calc(320ms * var(--fs-anim-speed, 1)) var(--fs-bw-ease))}
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-rb-bar i::after{transition:var(--fs-anim-bwBars, width calc(600ms * var(--fs-anim-speed, 1)) var(--fs-bw-ease))}

  /* bwValve — the chosen tag's small valve lever turns a quarter (320ms) */
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-ih-wheel::before{transition:var(--fs-anim-bwValve, rotate calc(320ms * var(--fs-anim-speed, 1)) var(--fs-bw-ease))}

  /* bwLift — buttons rise 2px and fill from the bottom (320ms), cards
     4px, the icon badge 1.05x, a day 2px, a pressed tag .98x, the link
     arrow 3px, a footer joint 1.3x, a house pin 1.12x */
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-btn{transition:transform calc(200ms * var(--fs-anim-speed, 1)) var(--fs-bw-ease),box-shadow calc(200ms * var(--fs-anim-speed, 1)) var(--fs-bw-ease),background calc(200ms * var(--fs-anim-speed, 1)),color calc(200ms * var(--fs-anim-speed, 1)),border-color calc(200ms * var(--fs-anim-speed, 1))}
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-btn::after{transition:var(--fs-anim-bwLift, transform calc(320ms * var(--fs-anim-speed, 1)) var(--fs-bw-ease))}
  [data-fs-motion="on"] .fs-bw-anim a.fs-bw-btn:hover{transform:var(--fs-anim-bwLift, translateY(calc(-2px * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] .fs-bw-anim a.fs-bw-btn:active{transform:var(--fs-anim-bwLift, translateY(calc(1px * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-card,[data-fs-motion="on"] .fs-bw-anim .fs-bw-proc>li,[data-fs-motion="on"] .fs-bw-anim .fs-bw-rv-card{transition:box-shadow calc(320ms * var(--fs-anim-speed, 1)) var(--fs-bw-ease),transform calc(320ms * var(--fs-anim-speed, 1)) var(--fs-bw-ease)}
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-card:hover,[data-fs-motion="on"] .fs-bw-anim .fs-bw-proc>li:hover,[data-fs-motion="on"] .fs-bw-anim .fs-bw-rv-card:hover{transform:var(--fs-anim-bwLift, translateY(calc(-4px * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"][data-fs-layout="minimal"] .fs-bw-anim .fs-bw-card:hover,[data-fs-motion="on"][data-fs-layout="minimal"] .fs-bw-anim .fs-bw-proc>li:hover,[data-fs-motion="on"][data-fs-layout="minimal"] .fs-bw-anim .fs-bw-rv-card:hover{transform:none}
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-icon-badge{transition:box-shadow calc(200ms * var(--fs-anim-speed, 1)) var(--fs-bw-ease),scale calc(200ms * var(--fs-anim-speed, 1)) var(--fs-bw-ease)}
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-card:hover .fs-bw-icon-badge{scale:var(--fs-anim-bwLift, calc(1 + .05 * var(--fs-motion-dist, 1)))}
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-vb-day{transition:background calc(200ms * var(--fs-anim-speed, 1)),border-color calc(200ms * var(--fs-anim-speed, 1)),color calc(200ms * var(--fs-anim-speed, 1)),transform calc(200ms * var(--fs-anim-speed, 1)) var(--fs-bw-ease)}
  [data-fs-motion="on"] .fs-bw-anim button.fs-bw-vb-day:hover:not(:disabled){transform:var(--fs-anim-bwLift, translateY(calc(-2px * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-ih-chip{transition:background calc(200ms * var(--fs-anim-speed, 1)),color calc(200ms * var(--fs-anim-speed, 1)),border-color calc(200ms * var(--fs-anim-speed, 1)),box-shadow calc(200ms * var(--fs-anim-speed, 1)),transform calc(200ms * var(--fs-anim-speed, 1)) cubic-bezier(.3,1.5,.5,1)}
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-ih-chip:active{transform:var(--fs-anim-bwLift, scale(calc(1 - .02 * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-link-arrow{transition:background-size calc(320ms * var(--fs-anim-speed, 1)) var(--fs-bw-ease)}
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-link-arrow .fs-bw-ic{transition:translate calc(200ms * var(--fs-anim-speed, 1)) var(--fs-bw-ease)}
  [data-fs-motion="on"] .fs-bw-anim a.fs-bw-link-arrow:hover .fs-bw-ic{translate:var(--fs-anim-bwLift, calc(3px * var(--fs-motion-dist, 1)) 0)}
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-ft-tx::after{transition:transform calc(320ms * var(--fs-anim-speed, 1)) var(--fs-bw-ease)}
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-ft-joint{transition:background calc(200ms * var(--fs-anim-speed, 1)) var(--fs-bw-ease),box-shadow calc(200ms * var(--fs-anim-speed, 1)) var(--fs-bw-ease),scale calc(200ms * var(--fs-anim-speed, 1)) cubic-bezier(.3,1.5,.5,1)}
  [data-fs-motion="on"] .fs-bw-anim a.fs-bw-ft-a:hover .fs-bw-ft-joint,[data-fs-motion="on"] .fs-bw-anim a.fs-bw-ft-a:focus-visible .fs-bw-ft-joint{scale:var(--fs-anim-bwLift, calc(1 + .3 * var(--fs-motion-dist, 1)))}
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-hs-pin{transition:background calc(200ms * var(--fs-anim-speed, 1)),color calc(200ms * var(--fs-anim-speed, 1)),transform calc(200ms * var(--fs-anim-speed, 1)) cubic-bezier(.3,1.5,.5,1),scale calc(200ms * var(--fs-anim-speed, 1)) cubic-bezier(.3,1.5,.5,1)}
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-hs-pin:hover:not(.is-on):not(.is-lit){transform:translate(-50%,-50%);scale:var(--fs-anim-bwLift, calc(1 + .12 * var(--fs-motion-dist, 1)));--fs-anim-fs-press:translate(-50%,-50%)}

  /* bwRipple — a water drop ripples out from the point pressed, .6s */
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-ripple{animation:var(--fs-anim-bwRipple, fs-bw-ripple calc(600ms * var(--fs-anim-speed, 1)) ease-out backwards)}
  /* bwSpark — sparks when a checklist is finished or a request is sent
     (520-760ms each, the source's spark()) */
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-spk{animation:var(--fs-anim-bwSpark, fs-bw-spk calc(var(--fs-bw-spk-t, 600ms) * var(--fs-anim-speed, 1)) cubic-bezier(.1,.8,.3,1) backwards)}

  /* colour changes (no movement): the source's 200ms / 320ms fades */
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-ih-ci,[data-fs-motion="on"] .fs-bw-anim .fs-bw-ih-wheel{transition:background calc(200ms * var(--fs-anim-speed, 1)),color calc(200ms * var(--fs-anim-speed, 1)),opacity calc(200ms * var(--fs-anim-speed, 1))}
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-ih-opt,[data-fs-motion="on"] .fs-bw-anim .fs-bw-ih-opt::before{transition:background calc(200ms * var(--fs-anim-speed, 1)),border-color calc(200ms * var(--fs-anim-speed, 1)),box-shadow calc(200ms * var(--fs-anim-speed, 1))}
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-tab,[data-fs-motion="on"] .fs-bw-anim .fs-bw-ar-zb,[data-fs-motion="on"] .fs-bw-anim .fs-bw-hs-li,[data-fs-motion="on"] .fs-bw-anim .fs-bw-vb-slot{transition:background calc(200ms * var(--fs-anim-speed, 1)),color calc(200ms * var(--fs-anim-speed, 1)),border-color calc(200ms * var(--fs-anim-speed, 1))}
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-opt,[data-fs-motion="on"] .fs-bw-anim .fs-bw-cr-step,[data-fs-motion="on"] .fs-bw-anim .fs-bw-qr-flag,[data-fs-motion="on"] .fs-bw-anim .fs-bw-hs-ck,[data-fs-motion="on"] .fs-bw-anim .fs-bw-wn-it,[data-fs-motion="on"] .fs-bw-anim .fs-bw-ll-it,[data-fs-motion="on"] .fs-bw-anim .fs-bw-rw-bt{transition:background calc(200ms * var(--fs-anim-speed, 1)),border-color calc(200ms * var(--fs-anim-speed, 1))}
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-field input,[data-fs-motion="on"] .fs-bw-anim .fs-bw-field select,[data-fs-motion="on"] .fs-bw-anim .fs-bw-field textarea{transition:box-shadow calc(200ms * var(--fs-anim-speed, 1)) var(--fs-bw-ease),border-color calc(200ms * var(--fs-anim-speed, 1)) var(--fs-bw-ease)}
  [data-fs-motion="on"] .fs-bw-anim .fs-bw-ar-r1,[data-fs-motion="on"] .fs-bw-anim .fs-bw-ar-r2,[data-fs-motion="on"] .fs-bw-anim .fs-bw-ar-r3{transition:fill calc(320ms * var(--fs-anim-speed, 1)) var(--fs-bw-ease)}
}


@property --fs-tw-vw{syntax:'<length>';inherits:true;initial-value:0px}

/* ── family root ──────────────────────────────────────────────── */
.fs-tw{
  container-type:inline-size;container-name:fs-tw;
  position:relative;
  color:rgb(var(--c-ink-950));
  font-family:var(--font-sans,'Plus Jakarta Sans',system-ui,sans-serif);
  font-size:1rem;line-height:1.6;
  --fs-tw-tint:color-mix(in srgb,rgb(var(--c-brand-600)) 9%,rgb(var(--c-paper-soft)));
  --fs-tw-tint2:color-mix(in srgb,rgb(var(--c-brand-600)) 15%,rgb(var(--c-paper)));
  --fs-tw-ease:cubic-bezier(.2,.8,.2,1);
  /* --shadow-sm / --shadow (html[data-mode=light]): teal-tinted lift in
     light mode, deep black in dark — the source's own pairs. */
  --fs-tw-shadow-sm:0 1px 2px rgba(8,62,66,.06),0 4px 10px rgba(8,62,66,.07);
  --fs-tw-shadow:0 2px 5px rgba(8,62,66,.10),0 10px 20px rgba(8,62,66,.10),0 28px 52px rgba(8,62,66,.14);
  /* physical shade under a floating dot: black in every palette */
  --fs-tw-shade:#000000;
  /* ink ON the accent (the source's fixed #14292b on --acc: the call-back
     strip, the foot map's spots): the palette's deep brand, darkened, so
     it stays a deep ink on every palette's light accent in both modes */
  --fs-tw-on-acc:color-mix(in srgb,rgb(var(--c-brand-700)) 43%,var(--fs-tw-shade));
  /* the carousel's current dot: brand on a light page; brand-as-text on a
     dark one, so it stays brighter than the resting dots (>=3:1) */
  --fs-tw-dot-on:rgb(var(--c-brand-600));
  --fs-tw-pin-dot:var(--fs-on-brand);
  /* the urgent red (#d1432f in the source): the platform's solved status
     token, so it reads in every palette and both modes */
  --fs-tw-red:rgb(var(--fs-status-bad));
}
.dark .fs-tw{
  --fs-tw-shadow-sm:inset 0 1px 0 rgba(255,255,255,.03),0 1px 3px rgba(0,0,0,.4),0 6px 14px rgba(0,0,0,.35);
  --fs-tw-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 3px 8px rgba(0,0,0,.5),0 22px 46px rgba(0,0,0,.55);
  --fs-tw-dot-on:rgb(var(--c-brand-text));
  --fs-tw-pin-dot:rgb(var(--c-paper));
}
/* The site wrapper's own light marker beats a .dark on <html> that came
   from the visitor's OS (Brimwell's / LedgerLite's rule). */
.fs-preview-light .fs-tw{
  --fs-tw-shadow-sm:0 1px 2px rgba(8,62,66,.06),0 4px 10px rgba(8,62,66,.07);
  --fs-tw-shadow:0 2px 5px rgba(8,62,66,.10),0 10px 20px rgba(8,62,66,.10),0 28px 52px rgba(8,62,66,.14);
  --fs-tw-dot-on:rgb(var(--c-brand-600));
  --fs-tw-pin-dot:var(--fs-on-brand);
}
.fs-tw *,.fs-tw *::before,.fs-tw *::after{box-sizing:border-box}
.fs-tw-wire{filter:grayscale(1) contrast(.5)}
.fs-tw a{color:inherit;text-decoration:none}

/* ── base: .wrap, type, .eyebrow, .ic, .sample, .sr ───────────── */
/* .wrap{max-width:1200px;padding:0 24px} — the width follows a Site
   Settings layout first (--fs-layout-max), then the theme's shell. */
.fs-tw-wrap{
  --fs-tw-vw:1cqi;
  container-type:inline-size;container-name:fs-tw-wrap;
  width:100%;max-width:var(--fs-layout-max,var(--fs-shell-max,1200px));
  margin:0 auto;padding:0 24px;
}
.fs-tw h1,.fs-tw h2,.fs-tw h3,.fs-tw h4{
  font-family:var(--font-display,'Outfit',system-ui,sans-serif);
  line-height:1.15;letter-spacing:-.02em;font-weight:800;margin:0;color:rgb(var(--c-ink-950));
}
.fs-tw .fs-tw-h1{font-size:clamp(2.2rem,calc(4.8 * var(--fs-tw-vw)),var(--fs-h1,3.8rem))}
.fs-tw p{margin:0;color:rgb(var(--c-ink-400))}
.fs-tw-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:rgb(var(--c-brand-text));background:var(--fs-tw-tint);
  padding:6px 14px;border-radius:999px;margin-bottom:16px;
}
.fs-tw-eyebrow .fs-tw-ic{width:15px;height:15px}
.fs-tw-ic{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.fs-tw-sample{
  display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1.6;
  color:rgb(var(--c-ink-400));border:1px dashed rgb(var(--c-line));border-radius:999px;padding:2px 10px;
}
.fs-tw-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* Editor-only affordances: rendered ONLY while editing (TidewellBlocks.tsx)
   — a site detail (phone…) Site Settings does not have yet. */
.fs-tw-row-empty{outline:1px dashed rgb(var(--c-ink-400) / .6);outline-offset:3px;opacity:.7}
/* The editor-only marker on an invented review (owner ruling 2026-10-11):
   drawn only while editing a real site, never on the live page. */
.fs-tw-sample-mark{display:inline-block;margin:0 0 8px;padding:2px 8px;border:1px dashed rgb(var(--c-ink-400) / .7);border-radius:4px;font-size:.75rem;font-weight:600;line-height:1.4;letter-spacing:0;text-transform:none;color:rgb(var(--c-ink-400));background:rgb(var(--c-paper-soft))}
.fs-tw-car-who .fs-tw-sample-mark,.fs-tw-rc-name~.fs-tw-sample-mark{margin:0 0 0 8px}
.fs-tw-missing{display:inline-block;padding:0 6px;border:1px dashed rgb(var(--c-ink-400) / .7);border-radius:4px;font-size:.8em;font-weight:600;color:rgb(var(--c-ink-400))}
.fs-tw-missing::before{content:attr(data-missing)}
/* the editor strip (TwEditorStrip): words not on the canvas right now */
.fs-tw-ed{position:relative;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px 16px;margin:0 auto 20px;max-width:var(--fs-layout-max,var(--fs-shell-max,1200px));padding:12px;border:1px dashed rgb(var(--c-ink-400) / .6);border-radius:6px;font-size:.8125rem;line-height:1.4;color:rgb(var(--c-ink-950))}
.fs-tw-ed>div::before{content:attr(data-ed);display:block;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
@container fs-tw (max-width:760px){
  .fs-tw-wrap{padding:0 18px}
}

/* ══ favTwPageHead — .page-head ════════════════════════════════
   .page-head{padding:calc(var(--cap-h) + 46px) 0 54px} — the source's
   capsule header floats over the page (--cap-h); the platform header
   sits above the section, so only the 46px is the head's own. On the
   wrap, because the section is the size container. */
.fs-tw-pagehead{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--fs-tw-tint2),rgb(var(--c-paper)))}
.fs-tw-pagehead>.fs-tw-wrap{position:relative;padding-top:46px;padding-bottom:54px}
.fs-tw .fs-tw-ph-lede{max-width:620px;margin-top:14px;font-size:1.1rem}
.fs-tw-crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:.85rem;font-weight:600;color:rgb(var(--c-ink-400));margin-bottom:14px}
.fs-tw .fs-tw-crumb-a{color:rgb(var(--c-brand-text))}
/* .fp-deco{position:absolute;right:6%;top:50%;width:150px;
   transform:translateY(-40%) rotate(14deg);color:var(--pri);opacity:.1} */
.fs-tw-fp-deco{position:absolute;right:6%;top:50%;width:150px;height:auto;transform:translateY(-40%) rotate(14deg);color:rgb(var(--c-brand-600));opacity:.1;pointer-events:none}
/* The optional banner photo (S04 / S05, port log P8): behind the words,
   veiled with the head's own gradient so the text keeps its contrast. */
.fs-tw-ph-photo{position:absolute;inset:0}
.fs-tw-ph-photo>*,.fs-tw-ph-photo img{width:100%;height:100%}
.fs-tw-ph-photo img{object-fit:cover}
.fs-tw-pagehead[data-has-img]>.fs-tw-ph-photo::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,color-mix(in srgb,var(--fs-tw-tint2) 88%,transparent),color-mix(in srgb,rgb(var(--c-paper)) 94%,transparent))}
/* An empty image control (editing only) keeps no fill and no label, so
   the head looks like the source until a photo is added. */
.fs-tw-ph-photo[data-empty]>[data-editable]{background:transparent}
.fs-tw-ph-photo[data-empty]>[data-editable]>span:first-child{visibility:hidden}

/* Site Settings layouts — the source's html[data-layout=center] and
   [data-layout=minimal] page-head rules, on the platform's ids. */
[data-fs-layout="centered"] .fs-tw-pagehead{text-align:center}
[data-fs-layout="centered"] .fs-tw .fs-tw-ph-lede{margin-inline:auto}
[data-fs-layout="centered"] .fs-tw-crumbs{justify-content:center}
[data-fs-layout="minimal"] .fs-tw-pagehead{background:none;border-bottom:1px solid rgb(var(--c-line))}
[data-fs-layout="minimal"] .fs-tw-fp-deco{display:none}
[data-fs-layout="minimal"] .fs-tw-eyebrow{border-radius:10px}

/* ── base: .btn (.alt .lg), .icon-badge-free icon rows ───────────
   .btn{… padding:13px 24px;border-radius:999px;background:var(--pri);
   color:#fff;font-weight:700;font-size:.97rem; box-shadow:0 8px 20px
   pri 30%} — on .fs-tw a.fs-tw-btn too (the family's a{color:inherit}
   would win otherwise). The hover lift (translateY(-2px)), the press and
   the ripple are the motion section's (port Task 9). */
.fs-tw .fs-tw-btn{
  position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:13px 24px;border:0;border-radius:999px;
  background:rgb(var(--c-brand-600));color:var(--fs-on-brand);
  font-family:inherit;font-weight:700;font-size:.97rem;line-height:1.6;white-space:nowrap;text-decoration:none;cursor:pointer;
  box-shadow:0 8px 20px color-mix(in srgb,rgb(var(--c-brand-600)) 30%,transparent);
}
.fs-tw a.fs-tw-btn:hover{box-shadow:0 12px 26px color-mix(in srgb,rgb(var(--c-brand-600)) 38%,transparent)}
.fs-tw .fs-tw-btn-alt{background:transparent;color:rgb(var(--c-brand-text));box-shadow:inset 0 0 0 2px rgb(var(--c-line))}
.fs-tw a.fs-tw-btn-alt:hover{box-shadow:inset 0 0 0 2px rgb(var(--c-brand-600))}
.fs-tw .fs-tw-btn-lg{padding:16px 30px;font-size:1.02rem}

/* ══ favTwHero — .hero + the foot finder (.ih-*) ═══════════════
   .hero{padding:calc(var(--cap-h) + 52px) 0 84px; two soft radial
   glows} and .hero:has(.ih){padding-top:calc(var(--cap-h) + 12px)} —
   the source's capsule header floats over the page (--cap-h); the
   platform header sits above the section, so only the 12px is the
   hero's own (as the page head's 46px). On the wrap, because the
   section is the size container. */
.fs-tw-hero{
  position:relative;
  background:
    radial-gradient(900px 480px at 85% 10%,color-mix(in srgb,rgb(var(--c-brand-600)) 16%,transparent),transparent 70%),
    radial-gradient(600px 400px at 0% 100%,color-mix(in srgb,rgb(var(--c-accent)) 14%,transparent),transparent 70%);
}
.fs-tw-hero>.fs-tw-wrap{padding-top:12px;padding-bottom:84px}
/* .hero .hero-grid.ih-grid: one column, the copy band over the tool */
.fs-tw-hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:start}
/* .ih-grid h1{font-size:clamp(2.2rem,3.2vw,2.9rem)} */
.fs-tw .fs-tw-hero-h1{font-size:clamp(2.2rem,calc(3.2 * var(--fs-tw-vw)),2.9rem)}
/* .hero h1 em: the accent highlighter under the brand-coloured words */
.fs-tw-hero-h1 em{font-style:normal;color:rgb(var(--c-brand-text));background:linear-gradient(transparent 68%,color-mix(in srgb,rgb(var(--c-accent)) 45%,transparent) 68%)}
.fs-tw-ih-copy{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:end;min-width:0}
.fs-tw-ih-copy-main,.fs-tw-ih-copy-side{min-width:0}
/* .hero .ih-copy p.lead{margin:12px 0 0;max-width:none;font-size:1.05rem} */
.fs-tw .fs-tw-lead{margin:12px 0 0;max-width:none;font-size:1.05rem}
.fs-tw-ih-copy-side{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.fs-tw-hero-cta{display:flex;flex-wrap:wrap;gap:14px}
.fs-tw-hero-meta{display:flex;flex-wrap:wrap;gap:22px;font-size:.9rem;color:rgb(var(--c-ink-400))}
.fs-tw-hero-meta>span{display:inline-flex;align-items:center;gap:8px;font-weight:600}
.fs-tw-hero-meta .fs-tw-ic{color:rgb(var(--c-brand-text));width:18px;height:18px}

/* the tool: the picker card and the answer card as one object */
.fs-tw-ih{position:relative;display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:0;align-items:stretch;min-width:0;text-align:left;color:rgb(var(--c-ink-950));background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));border-radius:22px;box-shadow:var(--fs-tw-shadow)}
.fs-tw-ih h2,.fs-tw-ih h3,.fs-tw-ih h4{color:rgb(var(--c-ink-950))}
.fs-tw-ih-stage{position:relative;display:flex;flex-direction:column;gap:12px;min-width:0;padding:20px;border-right:1px solid rgb(var(--c-line))}
.fs-tw .fs-tw-ih-h2{font-size:1.4rem;letter-spacing:-.02em}
.fs-tw .fs-tw-ih-sub{margin-top:4px;font-size:.88rem;line-height:1.5;color:rgb(var(--c-ink-400))}
.fs-tw-ih-win{position:relative;flex:1 1 auto;min-height:148px;border-radius:16px;overflow:hidden;background:var(--fs-tw-tint);isolation:isolate}
/* .hero .ih-win .hero-art{position:absolute;inset:0} — the S01 picture
   behind the foot; the source's .ih-fp-main and floats are hidden here */
.fs-tw-hero-art{position:absolute;inset:0}
.fs-tw-ha-svg{display:block;width:100%;height:100%}
.fs-tw-ha-disc{fill:var(--fs-tw-tint)}
.fs-tw-ha-ring{fill:none;stroke:rgb(var(--c-brand-600));stroke-opacity:.18;stroke-width:2;stroke-dasharray:3 12;stroke-linecap:round}
.fs-tw-ha-glow{fill:rgb(var(--c-brand-600));opacity:.1}
.fs-tw-ha-w1,.fs-tw-ha-w2,.fs-tw-ha-w3{fill:rgb(var(--c-brand-600))}
.fs-tw-ha-w1{opacity:.16}.fs-tw-ha-w2{opacity:.28}.fs-tw-ha-w3{opacity:.5}
.fs-tw-ha-prints{fill:rgb(var(--c-accent))}
.fs-tw-hero-art .fs-tw-slot{position:absolute;inset:0}
.fs-tw-hero-art .fs-tw-slot>*,.fs-tw-hero-art .fs-tw-slot img{width:100%;height:100%}
.fs-tw-hero-art .fs-tw-slot img{object-fit:cover}
/* an empty image control (editing only) shows the drawing through it */
.fs-tw-slot[data-empty]>[data-editable]{background:transparent}
.fs-tw-slot[data-empty]>[data-editable]>span:first-child{visibility:hidden}
/* the foot figure */
.fs-tw-ih-figwrap{position:absolute;inset:0;pointer-events:none}
.fs-tw-ih-fig{display:block;width:100%;height:100%;overflow:visible}
.fs-tw-ih-sil{fill:rgb(var(--c-paper-soft));stroke:rgb(var(--c-brand-600));stroke-width:3;stroke-linejoin:round}
.fs-tw-ih-toe{fill:rgb(var(--c-paper-soft));stroke:rgb(var(--c-brand-600));stroke-width:2.5}
.fs-tw-ih-deco{fill:none;stroke:rgb(var(--c-brand-600));stroke-opacity:.3;stroke-width:2;stroke-linecap:round}
.fs-tw-ih-nail{fill:var(--fs-tw-tint);stroke:rgb(var(--c-brand-600));stroke-width:2}
/* Task 9: fill-opacity eases in over .35s */
.fs-tw-ih-sh{fill:rgb(var(--c-accent));fill-opacity:0;stroke:none}
.fs-tw-ih-sh.is-on{fill-opacity:.55}
.fs-tw-ih-sh.fs-tw-ih-skin.is-on{fill-opacity:.32}
.fs-tw-ih-mk{pointer-events:all;cursor:pointer}
.fs-tw-ih-hit{fill:transparent}
.fs-tw-ih-mk-dot{fill:rgb(var(--c-brand-600));stroke:rgb(var(--c-paper-soft));stroke-width:2.5;transform-box:fill-box;transform-origin:center}
.fs-tw-ih-mk:hover .fs-tw-ih-mk-dot{transform:scale(1.25)}
.fs-tw-ih-mk.is-on .fs-tw-ih-mk-dot{fill:rgb(var(--c-accent));stroke:rgb(var(--c-ink-950));transform:scale(1.2)}
/* Task 9: the ping ring on a choice (ihPing .5s) */
.fs-tw-ih-ring{fill:none;stroke:rgb(var(--c-accent));stroke-width:3;opacity:0;transform-box:fill-box;transform-origin:center}
/* while editing the markers are inert: a click selects the section */
.fs-tw-ih[data-inert] .fs-tw-ih-mk{pointer-events:none;cursor:default}
/* the name tag over the chosen marker (placed by the block) — Task 9:
   it glides between markers (transform .4s) */
.fs-tw-ih-tag{position:absolute;left:0;top:0;z-index:3;padding:4px 12px;border-radius:999px;background:rgb(var(--c-ink-950));color:rgb(var(--c-paper));font-size:.8rem;font-weight:800;line-height:1.4;white-space:nowrap;pointer-events:none}
.fs-tw-ih-tag:not([data-placed]),.fs-tw-pin:not([data-placed]){visibility:hidden}
/* chips: a native radio group, one chip per area (spans while editing) */
.fs-tw-ih-set{display:flex;flex-wrap:wrap;gap:8px;min-width:0;min-inline-size:0;margin:0;padding:0;border:0}
.fs-tw-ih-chip{position:relative;display:inline-flex}
.fs-tw-ih-chip input{position:absolute;inset:0;z-index:1;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.fs-tw-ih-chip input:focus-visible{outline:none}
.fs-tw-ih-chip-in{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 12px 8px 10px;border-radius:999px;border:1.5px solid rgb(var(--c-line));background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));font-size:.9rem;font-weight:700;line-height:1.2}
.fs-tw-ih-dot{display:grid;place-items:center;width:16px;height:16px;border-radius:50%;border:2px solid rgb(var(--c-line));flex:none}
.fs-tw-ih-dot .fs-tw-ic{width:10px;height:10px;stroke-width:3.2;opacity:0}
/* Task 9: the hover lift (translateY(-1px)) and the press (scale .97) */
.fs-tw-ih-chip:hover .fs-tw-ih-chip-in{border-color:rgb(var(--c-brand-600))}
.fs-tw-ih-chip input:focus-visible+.fs-tw-ih-chip-in{outline:3px solid rgb(var(--c-accent));outline-offset:3px}
.fs-tw-ih-chip.is-on .fs-tw-ih-chip-in{background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));color:var(--fs-on-brand);box-shadow:0 8px 20px color-mix(in srgb,rgb(var(--c-brand-600)) 30%,transparent)}
.fs-tw-ih-chip.is-on .fs-tw-ih-dot{background:var(--fs-on-brand);border-color:var(--fs-on-brand);color:rgb(var(--c-brand-600))}
.fs-tw-ih-chip.is-on .fs-tw-ih-dot .fs-tw-ic{opacity:1}
/* the answer card: the hidden sizer and the live panel share one cell,
   so the card holds its tallest answer (the source's .ih-sizer) */
.fs-tw-ih-card{display:grid;min-width:0;padding:24px}
.fs-tw-ih-card>*{grid-area:1/1;min-width:0}
.fs-tw-ih-sizer{display:grid;visibility:hidden;pointer-events:none}
.fs-tw-ih-sizer>.fs-tw-ih-panel{grid-area:1/1}
.fs-tw-ih-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 32px;align-content:start;min-width:0}
.fs-tw-ih-info,.fs-tw-ih-act{display:flex;flex-direction:column;gap:16px;min-width:0}
.fs-tw-ih-act{justify-content:space-between}
.fs-tw-ih-go{display:flex;flex-direction:column;gap:12px}
/* Task 9: the answer swaps in (ihSwap .4s) */
.fs-tw .fs-tw-ih-h3{font-size:1.4rem;letter-spacing:-.02em}
.fs-tw .fs-tw-ih-why{margin-top:4px;font-size:.92rem;line-height:1.5;color:rgb(var(--c-ink-400))}
.fs-tw-ih-facts{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 0;padding:0}
.fs-tw-ih-facts[data-n="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.fs-tw-ih-facts[data-n="1"]{grid-template-columns:minmax(0,1fr)}
.fs-tw-ih-facts li{display:flex;flex-direction:column;gap:2px;min-width:0;padding:12px;border-radius:16px;background:var(--fs-tw-tint)}
.fs-tw-ih-facts small{font-size:.68rem;font-weight:800;letter-spacing:.06em;line-height:1.3;text-transform:uppercase;color:rgb(var(--c-ink-400))}
.fs-tw-ih-facts b{font-size:1rem;line-height:1.25;color:rgb(var(--c-ink-950))}
/* the next free slot before the clock is read: holds its width, unseen */
.fs-tw-pending{visibility:hidden}
.fs-tw-ih-cols{display:grid;gap:16px}
.fs-tw .fs-tw-ih-h4{margin-bottom:8px;font-size:.74rem;font-weight:800;letter-spacing:.1em;line-height:1.15;text-transform:uppercase;color:rgb(var(--c-ink-400))}
.fs-tw-ih-ul{list-style:none;display:grid;gap:6px;margin:0;padding:0}
/* ul.… li: the platform's .fs-typo li:not([class]) (0,2,1) would win
   a tie and set line-height 1.6 */
.fs-tw ul.fs-tw-ih-ul li{display:flex;gap:10px;font-size:.92rem;line-height:1.5;color:rgb(var(--c-ink-400))}
.fs-tw-ih-ul li::before{content:"";flex:none;width:8px;height:8px;margin-top:8px;border-radius:50%;background:rgb(var(--c-accent))}
.fs-tw .fs-tw-ih-do{font-size:.92rem;line-height:1.5;color:rgb(var(--c-ink-400))}
.fs-tw-ih-urgent{display:flex;gap:12px;padding:16px;border-radius:16px;border-left:4px solid var(--fs-tw-red);background:color-mix(in srgb,var(--fs-tw-red) 10%,rgb(var(--c-paper-soft)))}
.fs-tw-ih-alert{flex:none;width:20px;height:20px;margin-top:2px;fill:none;stroke:var(--fs-tw-red);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.fs-tw .fs-tw-ih-urgent .fs-tw-ih-h4{color:rgb(var(--c-ink-950))}
.fs-tw .fs-tw-ih-urgent ul.fs-tw-ih-ul li{color:rgb(var(--c-ink-950))}
.fs-tw-ih-urgent .fs-tw-ih-ul li::before{background:var(--fs-tw-red)}
.fs-tw .fs-tw-ih-call{margin-top:8px;font-size:.82rem;line-height:1.5;color:rgb(var(--c-ink-400))}
.fs-tw .fs-tw-ih-cta{width:100%;gap:8px;white-space:normal;text-align:center}
.fs-tw .fs-tw-ih-note{font-size:.8rem;line-height:1.5;color:rgb(var(--c-ink-400))}
.fs-tw .fs-tw-ih-link{color:rgb(var(--c-brand-text));font-weight:700;text-decoration:underline;text-underline-offset:3px}
.fs-tw span.fs-tw-ih-link{text-decoration:none;font-weight:inherit;color:inherit}
/* the tide pin: the answer card pinned to the tapped zone — a flag at the
   marker's height on the seam (side by side) or its x on the seam
   (stacked), placed by the block. Task 9: it glides (transform .45s)
   and its dot pops (tidePinPop .5s) on a choice. */
.fs-tw-pin{position:absolute;top:0;left:0;z-index:4;width:0;height:0;pointer-events:none}
.fs-tw-pin-stem{position:absolute;background:rgb(var(--c-accent));opacity:.6;border-radius:3px}
.fs-tw-pin[data-dir="v"] .fs-tw-pin-stem{left:-26px;top:-2px;width:26px;height:4px}
.fs-tw-pin[data-dir="h"] .fs-tw-pin-stem{left:-2px;top:-26px;width:4px;height:26px}
.fs-tw-pin-dot{position:absolute;left:-9px;top:-9px;width:18px;height:18px;border-radius:50%;background:rgb(var(--c-accent));border:2px solid rgb(var(--c-paper-soft));box-shadow:0 3px 10px color-mix(in srgb,var(--fs-tw-shade) 28%,transparent)}
/* editor-only: the answer picker (data-editor-ui) */
.fs-tw-ih-pick{display:flex;align-items:center;gap:8px;font-size:.8125rem;color:rgb(var(--c-ink-400))}
.fs-tw-ih-pick::before{content:attr(data-ed)}
.fs-tw-ih-pick>span{color:rgb(var(--c-ink-950));min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fs-tw-ih-pick button{flex:none;width:28px;height:28px;display:grid;place-items:center;font:inherit;font-size:1rem;line-height:1;color:rgb(var(--c-ink-950));background:rgb(var(--c-paper-soft));border:1px dashed rgb(var(--c-ink-400) / .7);border-radius:6px;cursor:pointer}
.fs-tw-hero .fs-tw-ed{margin:0;max-width:none}

/* @media (max-width:1180px): the copy unfolds into one column with the
   tool between the lede and the buttons; the picker card lays out
   title + chips beside the picture. */
@container fs-tw (max-width:1180px){
  .fs-tw-hero-grid{gap:0}
  .fs-tw-ih-copy,.fs-tw-ih-copy-main,.fs-tw-ih-copy-side{display:contents}
  .fs-tw-ih-copy-main>.fs-tw-eyebrow{order:1;justify-self:start}
  .fs-tw-ih-copy-main>.fs-tw-hero-h1{order:2}
  .fs-tw-ih-copy-main>.fs-tw-lead{order:3}
  .fs-tw-hero-grid>.fs-tw-ih{order:4;margin:24px 0 28px}
  .fs-tw-ih-copy-side>.fs-tw-hero-cta{order:5}
  .fs-tw-ih-copy-side>.fs-tw-hero-meta{order:6}
  .fs-tw-hero-grid>.fs-tw-ih-pick,.fs-tw-hero-grid>.fs-tw-ed{order:7}
  /* the source's .ih-copy-main>.lead{margin:20px 0 0} loses to
     .hero .ih-copy p.lead (12px): the lede keeps 12px here too */
  .fs-tw-ih-copy-side>.fs-tw-hero-cta{margin-bottom:28px}
  .fs-tw-ih{grid-template-columns:minmax(0,1fr)}
  .fs-tw-ih-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"top win" "chips win";gap:12px 24px;align-content:start;border-right:0;border-bottom:1px solid rgb(var(--c-line))}
  .fs-tw-ih-top{grid-area:top}
  .fs-tw-ih-win{grid-area:win;min-height:220px}
  .fs-tw-ih-set{grid-area:chips;align-content:start}
}
@container fs-tw (max-width:760px){
  .fs-tw-ih-stage{grid-template-columns:minmax(0,1fr);grid-template-areas:"top" "win" "chips";padding:16px}
  .fs-tw-ih-win{flex:none;min-height:0;aspect-ratio:4/3}
  .fs-tw-ih-card{padding:20px}
  .fs-tw-ih-panel{grid-template-columns:minmax(0,1fr)}
  .fs-tw-ih-facts b{font-size:.95rem}
  .fs-tw-hero-cta .fs-tw-btn{flex:1 1 auto}
}
@container fs-tw (max-width:420px){
  .fs-tw-ih-facts[data-n="3"]{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-tw-ih-facts[data-n="3"] li:last-child{grid-column:1/-1}
  .fs-tw .fs-tw-ih-cta{padding-left:16px;padding-right:16px;font-size:.95rem}
  .fs-tw-ih-cta .fs-tw-ic{display:none}
}
/* Site Settings layouts — the source's html[data-layout=center] /
   [data-layout=minimal] hero rules, on the platform's ids. */
[data-fs-layout="centered"] .fs-tw-ih-copy{grid-template-columns:minmax(0,1fr);justify-items:center;gap:20px}
[data-fs-layout="centered"] .fs-tw-ih-copy-side{align-items:center}
@container fs-tw (min-width:1061px){[data-fs-layout="centered"] .fs-tw-hero>.fs-tw-wrap{padding-top:32px}}
@container fs-tw (max-width:1180px){[data-fs-layout="centered"] .fs-tw-ih-copy-main>.fs-tw-eyebrow{justify-self:center}}
[data-fs-layout="minimal"] .fs-tw-hero{background:none}
[data-fs-layout="minimal"] .fs-tw-hero-art{display:none}
[data-fs-layout="minimal"] .fs-tw .fs-tw-hero-h1{max-width:820px}
[data-fs-layout="minimal"] .fs-tw-ih{box-shadow:none}
[data-fs-layout="minimal"] .fs-tw-ih-chip-in,[data-fs-layout="minimal"] .fs-tw-ih-chip.is-on .fs-tw-ih-chip-in{box-shadow:none}

/* ══ Section blocks (port Task 5a) — base: .section .section-head
   h2 h3 h4 .card .icon-badge .g3 .link-arrow .field .form-ok ══════
   .section{padding:84px 0} → 60px at ≤760 (on the wrap: the root is the
   size container). The source's inline padding-top (0 / 20px / 30px per
   placement) is the _top option, data-top. Motion — the footstep reveal
   (.tide-step), the card / tile hover lift, the icon-badge pop and the
   link-arrow's growing underline and nudging arrow — is the motion section's (port Task 9);
   hover keeps only its static look here. */
.fs-tw-sec>.fs-tw-wrap{padding-top:84px;padding-bottom:84px}
.fs-tw-sec[data-top="30"]>.fs-tw-wrap{padding-top:30px}
.fs-tw-sec[data-top="20"]>.fs-tw-wrap{padding-top:20px}
.fs-tw-sec[data-top="0"]>.fs-tw-wrap{padding-top:0}
.fs-tw-sec[data-tone="tint"]{background:var(--fs-tw-tint)}
/* .section-head{max-width:680px;margin-bottom:40px} .c centres it */
.fs-tw-head{max-width:680px;margin-bottom:40px}
.fs-tw-head-c{margin-inline:auto;text-align:center}
.fs-tw .fs-tw-head-p{margin-top:12px;font-size:1.05rem}
/* h2{font-size:clamp(1.7rem,3vw,2.5rem)} h3{1.2rem} h4{1rem} */
.fs-tw .fs-tw-h2{font-size:clamp(1.7rem,calc(3 * var(--fs-tw-vw)),2.5rem)}
.fs-tw .fs-tw-h3{font-size:1.2rem}
.fs-tw .fs-tw-h4{font-size:1rem}
/* :focus-visible{outline:3px solid var(--acc);outline-offset:3px} — at
   zero specificity, so a block's own focus style still wins */
.fs-tw :where(a,button,input,select,textarea):focus-visible{outline:3px solid rgb(var(--c-accent));outline-offset:3px}
/* .card{background:var(--surf);border:1px solid var(--line);
   border-radius:var(--r);padding:28px;box-shadow:var(--shadow-sm)} */
.fs-tw-card{background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));border-radius:22px;padding:28px;box-shadow:var(--fs-tw-shadow-sm)}
/* .icon-badge: a 46px gradient tile with a ring */
.fs-tw-badge{position:relative;display:inline-grid;place-items:center;flex:none;width:46px;height:46px;border-radius:16px;color:rgb(var(--c-brand-text));
  background:linear-gradient(155deg,color-mix(in srgb,rgb(var(--c-brand-600)) 18%,rgb(var(--c-paper-soft))),color-mix(in srgb,rgb(var(--c-accent)) 16%,rgb(var(--c-paper-soft))));
  box-shadow:inset 0 0 0 1.5px color-mix(in srgb,rgb(var(--c-brand-600)) 24%,transparent)}
.fs-tw-g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
/* .link-arrow: bold brand text, an arrow, an underline that grows on hover */
.fs-tw .fs-tw-link-arrow{display:inline-flex;align-items:center;gap:7px;padding-bottom:2px;font-weight:700;color:rgb(var(--c-brand-text));
  background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat}
.fs-tw a.fs-tw-link-arrow:hover{background-size:100% 2px}
.fs-tw-link-arrow .fs-tw-ic{width:17px;height:17px}
/* .field .em .err, .form-ok, the honeypot */
.fs-tw-field{display:grid;gap:6px}
.fs-tw .fs-tw-input{width:100%;padding:13px 16px;border:1.5px solid rgb(var(--c-line));border-radius:999px;background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));font:inherit}
.fs-tw .fs-tw-input::placeholder{color:rgb(var(--c-ink-400));opacity:1}
.fs-tw .fs-tw-input:focus{outline:none;border-color:rgb(var(--c-brand-600));box-shadow:0 0 0 4px color-mix(in srgb,rgb(var(--c-brand-600)) 18%,transparent)}
.fs-tw-field.err .fs-tw-input{border-color:var(--fs-tw-red)}
.fs-tw-em{display:none;font-size:.8rem;font-weight:600;color:var(--fs-tw-red)}
.fs-tw-field.err .fs-tw-em{display:block}
/* .form-ok: shown as a status line once there is something to say; until
   then it stays in the page, unseen, so the announcement is heard */
.fs-tw-form-ok{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fs-tw-form-ok.is-show{position:static;width:100%;height:auto;overflow:visible;clip:auto;white-space:normal;padding:14px 18px;border-radius:16px;font-weight:600;color:rgb(var(--c-ink-950));
  background:color-mix(in srgb,rgb(var(--fs-status-ok)) 18%,rgb(var(--c-paper-soft)))}
.fs-tw-form-ok.is-fail{background:color-mix(in srgb,var(--fs-tw-red) 14%,rgb(var(--c-paper-soft)))}
.fs-tw-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

/* ══ favTwStats — .stats .stat ═════════════════════════════════
   .stats{grid 4;gap:22px;text-align:center} .stat b{clamp(2rem,4vw,3rem)
   800 brand-as-text, line-height 1} .stat>span{.92rem 600 muted}.
   Task 9: the count-up from 0 and the footstep reveal. */
.fs-tw-stat-grid{display:grid;grid-template-columns:repeat(var(--fs-tw-stat-n,4),minmax(0,1fr));gap:22px;text-align:center}
.fs-tw-stat-n{display:block;font-size:clamp(2rem,calc(4 * var(--fs-tw-vw)),3rem);font-weight:800;line-height:1;color:rgb(var(--c-brand-text))}
.fs-tw-stat-l{display:block;margin-top:8px;font-size:.92rem;font-weight:600;color:rgb(var(--c-ink-400))}

/* ══ favTwTrust — .trust .trust-in ═════════════════════════════
   .trust{padding:0 0 10px;margin-top:-30px;position:relative;z-index:2}:
   the tiles ride up over the hero's foot. */
.fs-tw-trust{margin-top:-30px;z-index:2}
.fs-tw-trust>.fs-tw-wrap{padding-bottom:10px}
.fs-tw-trust-in{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.fs-tw-trust-item{display:flex;align-items:center;gap:14px;min-width:0;padding:22px 24px;border:1px solid rgb(var(--c-line));border-radius:20px;background:rgb(var(--c-paper-soft));box-shadow:var(--fs-tw-shadow-sm)}
.fs-tw-trust-b{display:block;font-size:.98rem}
.fs-tw .fs-tw-trust-s{display:block;font-size:.82rem;line-height:1.3;color:rgb(var(--c-ink-400))}

/* ══ favTwTreatCards — .t-card, .meta ══════════════════════════
   .t-card{display:flex;flex-direction:column;gap:12px}
   .t-card .meta{margin-top:auto;padding-top:14px;border-top:1px dashed} */
.fs-tw-t-card{display:flex;flex-direction:column;gap:12px;min-width:0}
.fs-tw-meta{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:14px;border-top:1px dashed rgb(var(--c-line));font-size:.88rem;font-weight:700}
.fs-tw-meta-t{font-weight:600;color:rgb(var(--c-ink-400))}
.fs-tw-meta-p{color:rgb(var(--c-brand-text))}
.fs-tw .fs-tw-treat-foot{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:28px}

/* ══ favTwTimeline — .tl .tl-step .tl-dot .time ════════════════
   The line is drawn full and the dots are in place (the source reveals
   them on scroll: dots pop in one after another, the line draws across
   in 2 s — port Task 9). */
.fs-tw-tl{position:relative;display:grid;grid-template-columns:repeat(var(--fs-tw-tl-n,5),minmax(0,1fr));gap:18px;padding-top:34px}
.fs-tw-tl::before{content:"";position:absolute;left:5%;right:5%;top:56px;height:4px;border-radius:4px;background:rgb(var(--c-line))}
.fs-tw-tl::after{content:"";position:absolute;left:5%;top:56px;width:90%;height:4px;border-radius:4px;background:linear-gradient(90deg,rgb(var(--c-brand-600)),rgb(var(--c-accent)))}
.fs-tw-tl-step{position:relative;min-width:0;padding:0 6px;text-align:center}
.fs-tw-tl-dot{position:relative;z-index:2;display:grid;place-items:center;width:46px;height:46px;margin:0 auto 18px;border:3px solid rgb(var(--c-brand-600));border-radius:50%;
  background:rgb(var(--c-paper-soft));color:rgb(var(--c-brand-text));font-weight:800}
.fs-tw .fs-tw-tl-step .fs-tw-h4{margin-bottom:6px}
.fs-tw .fs-tw-tl-p{font-size:.88rem}
.fs-tw-tl-time{display:inline-block;margin-top:8px;padding:3px 10px;border-radius:999px;background:var(--fs-tw-tint);color:rgb(var(--c-brand-text));font-size:.74rem;font-weight:700}

/* ══ favTwMarquee — .marquee .mq-track ═════════════════════════
   .marquee{overflow:hidden;border-block;padding:18px 0;background:var(--surf)}
   The track rests at its first frame (width:max-content, both copies in
   one row, clipped); the 34 s slide is the motion section's (port Task 9). Editing wraps it. */
.fs-tw-marquee{overflow:hidden;padding:18px 0;border-block:1px solid rgb(var(--c-line));background:rgb(var(--c-paper-soft))}
.fs-tw-mq-track{display:flex;gap:44px;width:max-content}
.fs-tw-mq-track[data-wrap]{flex-wrap:wrap;justify-content:center;gap:12px 32px;width:auto;padding:0 16px}
.fs-tw-mq-i{display:inline-flex;align-items:center;gap:14px;font-weight:700;white-space:nowrap;color:rgb(var(--c-ink-400))}
.fs-tw-mq-i .fs-tw-ic{width:18px;height:18px;color:rgb(var(--c-accent))}

/* ══ favTwCta — .cta-band ══════════════════════════════════════
   The brand gradient band, white copy, footprints at 12%. The source's
   white button text is a fixed deep teal; here the palette's own deep
   brand, darkened. The newsletter's typed text is readable (the source
   inherits the band's white onto a white box — Deviation Ledger L7). */
.fs-tw-cta-band{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:56px;border-radius:36px;color:var(--fs-on-brand);
  background:linear-gradient(135deg,rgb(var(--c-brand-600)),rgb(var(--c-brand-700)))}
.fs-tw .fs-tw-cta-h{color:var(--fs-on-brand)}
.fs-tw .fs-tw-cta-p{margin-top:10px;max-width:520px;color:var(--fs-on-brand)}
.fs-tw-cta-fp{position:absolute;right:26%;top:-20px;width:120px;height:auto;opacity:.12;transform:rotate(-16deg)}
.fs-tw-cta-fp2{position:absolute;right:15%;bottom:-24px;width:90px;height:auto;opacity:.12;transform:rotate(12deg)}
.fs-tw-acts{position:relative;display:flex;flex-wrap:wrap;gap:12px}
.fs-tw-news{align-items:flex-start}
.fs-tw-news .fs-tw-field{min-width:230px}
.fs-tw-cta-band .fs-tw-em{color:var(--fs-on-brand)}
.fs-tw .fs-tw-btn-white,.fs-tw a.fs-tw-btn-white:hover{background:var(--fs-on-brand);color:color-mix(in srgb,rgb(var(--c-brand-700)) 62%,var(--fs-tw-shade));box-shadow:none}
.fs-tw .fs-tw-btn-ghost,.fs-tw a.fs-tw-btn-ghost:hover{background:transparent;color:var(--fs-on-brand);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--fs-on-brand) 80%,transparent)}
/* the optional photo (S02, home only; port log P8): behind the words,
   veiled in the band's own gradient so the white copy keeps its contrast.
   An empty image control (editing only) keeps no fill and no label. */
.fs-tw-cta-photo{position:absolute;inset:0;z-index:0}
.fs-tw-cta-photo>*,.fs-tw-cta-photo img{width:100%;height:100%}
.fs-tw-cta-photo img{object-fit:cover}
.fs-tw-cta-band[data-has-img]>.fs-tw-cta-photo::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(135deg,color-mix(in srgb,rgb(var(--c-brand-600)) 90%,transparent),color-mix(in srgb,rgb(var(--c-brand-700)) 94%,transparent))}
.fs-tw-cta-photo[data-empty]>[data-editable]{background:transparent}
.fs-tw-cta-photo[data-empty]>[data-editable]>span:first-child{visibility:hidden}
.fs-tw-cta-band[data-photo]>.fs-tw-cta-copy,.fs-tw-cta-band[data-photo]>.fs-tw-acts{position:relative;z-index:1}

/* @media (max-width:1060px) → the cards go two across, the tiles two
   across, the timeline stacks on a vertical line, the band stacks. */
@container fs-tw (max-width:1060px){
  .fs-tw-g3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-tw-trust-in{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-tw-tl{grid-template-columns:minmax(0,1fr);gap:26px;padding-top:0;padding-left:10px}
  .fs-tw-tl::before{left:33px;right:auto;top:0;bottom:0;width:4px;height:auto}
  .fs-tw-tl::after{left:33px;top:0;width:4px;height:100%}
  .fs-tw-tl-step{display:grid;grid-template-columns:46px minmax(0,1fr);gap:6px 18px;padding:0;text-align:left}
  .fs-tw-tl-dot{grid-row:span 3;margin:0}
  .fs-tw-cta-band{flex-direction:column;align-items:flex-start;padding:40px 30px}
}
/* @media (max-width:760px) */
@container fs-tw (max-width:760px){
  .fs-tw-sec>.fs-tw-wrap{padding-top:60px;padding-bottom:60px}
  .fs-tw-sec[data-top="30"]>.fs-tw-wrap{padding-top:30px}
  .fs-tw-sec[data-top="20"]>.fs-tw-wrap{padding-top:20px}
  .fs-tw-sec[data-top="0"]>.fs-tw-wrap{padding-top:0}
  .fs-tw-g3{grid-template-columns:minmax(0,1fr)}
  .fs-tw-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-tw-stat-grid[data-fs-tw-n="1"]{grid-template-columns:minmax(0,1fr)}
  .fs-tw-trust-in{grid-template-columns:minmax(0,1fr)}
  .fs-tw-cta-band{padding:34px 24px;border-radius:28px}
}
/* @media (max-width:420px) */
@container fs-tw (max-width:420px){
  .fs-tw-stat-n{font-size:1.9rem}
}
/* Site Settings layouts — the source's html[data-layout=center] /
   [data-layout=minimal] rules for these blocks, on the platform's ids. */
[data-fs-layout="centered"] .fs-tw-head{margin-inline:auto;text-align:center}
[data-fs-layout="centered"] .fs-tw-t-card{text-align:left}
[data-fs-layout="centered"] .fs-tw-cta-band{flex-direction:column;text-align:center}
[data-fs-layout="centered"] .fs-tw .fs-tw-cta-p{margin-inline:auto}
[data-fs-layout="minimal"] .fs-tw-card,[data-fs-layout="minimal"] .fs-tw-trust-item{box-shadow:none}
[data-fs-layout="minimal"] .fs-tw-badge{background:none;box-shadow:none;border:1.5px solid rgb(var(--c-line))}
[data-fs-layout="minimal"] .fs-tw-cta-band{background:var(--fs-tw-tint);color:rgb(var(--c-ink-950));border-radius:12px}
[data-fs-layout="minimal"] .fs-tw .fs-tw-cta-h{color:rgb(var(--c-ink-950))}
[data-fs-layout="minimal"] .fs-tw .fs-tw-cta-p{color:rgb(var(--c-ink-400))}
[data-fs-layout="minimal"] .fs-tw-cta-band .fs-tw-btn-white,[data-fs-layout="minimal"] .fs-tw-cta-band a.fs-tw-btn-white:hover{background:rgb(var(--c-brand-600));color:var(--fs-on-brand)}
[data-fs-layout="minimal"] .fs-tw-cta-band .fs-tw-btn-ghost,[data-fs-layout="minimal"] .fs-tw-cta-band a.fs-tw-btn-ghost:hover{color:rgb(var(--c-brand-text));box-shadow:inset 0 0 0 2px rgb(var(--c-line))}
[data-fs-layout="minimal"] .fs-tw-cta-fp,[data-fs-layout="minimal"] .fs-tw-cta-fp2{display:none}
[data-fs-layout="minimal"] .fs-tw-cta-band .fs-tw-em{color:var(--fs-tw-red)}

/* ══ favTwCallback — .cb-strip .cb-in .cb-ok ═══════════════════
   .cb-strip{linear-gradient(90deg,--acc,acc 60% into #fff);color:#14292b;
   z-index:3} .cb-in{flex, centred, wrap, gap 16, 10px 20px, 700 .92rem}.
   #fff → --fs-on-brand (white on every Tidewell palette), #14292b →
   --fs-tw-on-acc. The focus ring is the strip's ink, not the accent
   (an accent ring on the accent band does not show; ledger L11). */
.fs-tw-callback{z-index:3;color:var(--fs-tw-on-acc);
  background:linear-gradient(90deg,rgb(var(--c-accent)),color-mix(in srgb,rgb(var(--c-accent)) 60%,var(--fs-on-brand)))}
.fs-tw-cb-in{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px;padding:10px 20px;font-weight:700;font-size:.92rem}
.fs-tw-cb-t{min-width:0}
.fs-tw .fs-tw-cb-ic{display:inline;vertical-align:-4px;margin-right:6px}
.fs-tw-cb-form{display:flex;gap:8px}
.fs-tw .fs-tw-cb-input{width:200px;padding:8px 16px;border:0;border-radius:999px;font:inherit;
  background:color-mix(in srgb,var(--fs-on-brand) 85%,transparent);color:var(--fs-tw-on-acc)}
.fs-tw .fs-tw-cb-input::placeholder{color:color-mix(in srgb,var(--fs-tw-on-acc) 72%,var(--fs-on-brand));opacity:1}
.fs-tw .fs-tw-cb-input[aria-invalid="true"]{box-shadow:inset 0 0 0 2px var(--fs-tw-red)}
.fs-tw .fs-tw-cb-btn{padding:8px 18px;font-size:.88rem;background:var(--fs-tw-on-acc);color:var(--fs-on-brand);box-shadow:none}
.fs-tw-callback :where(a,button,input):focus-visible{outline-color:var(--fs-tw-on-acc)}
/* .cb-ok{font-weight:700;display:none}.cb-ok.show{display:inline}: kept
   in the page (unseen, out of the row) until there is something to say,
   so the announcement is heard */
.fs-tw-cb-ok,.fs-tw-cb-err:empty{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fs-tw-cb-ok.is-show{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal;font-weight:700}
.fs-tw-cb-ok:focus{outline:none}
.fs-tw-cb-err{font-weight:700}

/* ══ favTwFootMap — .fm .fm-stage .hot .fm-out ════════════════
   .fm{grid minmax(0,340px) 1fr;gap 56;centre} the sole drawn tint with a
   brand outline; .hot = a 36px accent disc, white ring, deep ink figure;
   .hot.on = brand with a soft halo. Task 9: the spots' pulse (pulseR),
   the hover growth and the answer's fade-up. */
.fs-tw-fm{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:56px;align-items:center}
.fs-tw-fm-stage{position:relative;width:100%;max-width:290px;aspect-ratio:200/420;margin:0 auto}
.fs-tw-fm-sole{position:absolute;inset:0;display:block;width:100%;height:100%}
.fs-tw-sole{fill:var(--fs-tw-tint);stroke:rgb(var(--c-brand-600));stroke-width:3;stroke-linejoin:round}
.fs-tw-sole-arch{fill:none;stroke:rgb(var(--c-brand-600));stroke-opacity:.28;stroke-width:2;stroke-linecap:round}
.fs-tw-fm-stage .fs-tw-slot{position:absolute;inset:0;border-radius:22px;overflow:hidden}
.fs-tw-fm-stage .fs-tw-slot>*,.fs-tw-fm-stage .fs-tw-slot img{width:100%;height:100%}
.fs-tw-fm-stage .fs-tw-slot img{object-fit:cover}
.fs-tw .fs-tw-hot{position:absolute;z-index:1;transform:translate(-50%,-50%);display:grid;place-items:center;width:36px;height:36px;padding:0;margin:0;
  border:3px solid var(--fs-on-brand);border-radius:50%;background:rgb(var(--c-accent));color:var(--fs-tw-on-acc);
  font-family:inherit;font-weight:800;font-size:.8rem;line-height:1.6;cursor:pointer;
  box-shadow:0 4px 14px color-mix(in srgb,var(--fs-tw-shade) 25%,transparent)}
.fs-tw .fs-tw-hot.is-on{background:rgb(var(--c-brand-600));color:var(--fs-on-brand);box-shadow:0 0 0 6px color-mix(in srgb,rgb(var(--c-brand-600)) 25%,transparent)}
.fs-tw-fm[data-inert] .fs-tw-hot{cursor:default}
.fs-tw-fm-out{min-height:340px}
.fs-tw .fs-tw-fm-h3{font-size:1.6rem;margin-bottom:6px}
.fs-tw .fs-tw-fm-p{margin-top:8px}
.fs-tw-fm-blk{margin-top:18px}
.fs-tw .fs-tw-fm-h4{margin-bottom:8px;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
.fs-tw ul.fs-tw-fm-ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}
.fs-tw ul.fs-tw-fm-ul li{display:flex;gap:10px;margin:0;line-height:1.6;color:rgb(var(--c-ink-400))}
.fs-tw-fm-ul li::before{content:"";flex:none;width:8px;height:8px;margin-top:9px;border-radius:50%;background:rgb(var(--c-accent))}
.fs-tw-fm-acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
/* .note{.8rem muted, 10px 14px, radius 14, tint} */
.fs-tw .fs-tw-note{margin-top:16px;padding:10px 14px;border-radius:14px;background:var(--fs-tw-tint);font-size:.8rem;color:rgb(var(--c-ink-400))}

/* ══ favTwStories — .car .car-stage .car-slide .av .car-ctl .dots ═
   One slide shown. Task 9: the slide's fade-up, the avatar ring's 24 s
   spin, the arrows' hover easing. Task 11: the slides share one grid cell
   and the others are visibility:hidden (never focusable or read, as the
   source's display:none), so the stage is always the tallest story and the
   page below does not jump when the stories turn (ledger L60).
   ══ */
.fs-tw-car{position:relative}
.fs-tw-car-stage{position:relative;display:grid;overflow:hidden;border:1px solid rgb(var(--c-line));border-radius:32px;background:rgb(var(--c-paper-soft))}
.fs-tw-car-slide{display:grid;grid-area:1/1;visibility:hidden;grid-template-columns:240px minmax(0,1fr);gap:40px;align-items:center;padding:44px}
.fs-tw-car-slide.is-on{visibility:visible}
.fs-tw-av{position:relative;display:grid;place-items:center;aspect-ratio:1;max-width:220px;border-radius:50%;
  background:linear-gradient(145deg,rgb(var(--c-brand-600)),rgb(var(--c-accent)));color:var(--fs-on-brand);font-weight:800;font-size:3.4rem;line-height:1.6}
.fs-tw-av::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:2px dashed color-mix(in srgb,rgb(var(--c-brand-600)) 40%,transparent);pointer-events:none}
.fs-tw-av-l{position:relative;z-index:1}
.fs-tw-av .fs-tw-slot{position:absolute;inset:0;border-radius:50%;overflow:hidden}
.fs-tw-av .fs-tw-slot>*,.fs-tw-av .fs-tw-slot img{width:100%;height:100%}
.fs-tw-av .fs-tw-slot img{object-fit:cover}
/* the source's accent stars, deepened toward the ink so they read at 3:1
   on the card in every palette (ledger L13) */
.fs-tw-stars{display:inline-flex;gap:2px;color:color-mix(in srgb,rgb(var(--c-accent)) 66%,rgb(var(--c-ink-950)))}
.fs-tw-stars .fs-tw-ic{width:17px;height:17px;fill:currentColor}
.fs-tw blockquote.fs-tw-car-q{margin:14px 0 0;padding:0;border:0;font-style:normal;font-size:clamp(1.15rem,calc(2 * var(--fs-tw-vw)),1.55rem);font-weight:600;line-height:1.45;letter-spacing:-.01em;color:rgb(var(--c-ink-950))}
.fs-tw-car-who{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px}
.fs-tw-car-name{display:block}
.fs-tw .fs-tw-car-meta{font-size:smaller;color:rgb(var(--c-ink-400))}
.fs-tw-car-ctl{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:22px}
.fs-tw .fs-tw-car-arr{display:grid;place-items:center;width:46px;height:46px;padding:0;margin:0;border:1.5px solid rgb(var(--c-line));border-radius:50%;
  background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));font:inherit;cursor:pointer}
.fs-tw button.fs-tw-car-arr:hover{background:rgb(var(--c-brand-600));color:var(--fs-on-brand);border-color:rgb(var(--c-brand-600))}
.fs-tw-car-prev .fs-tw-ic{transform:rotate(180deg)}
.fs-tw-car-dots{display:flex;gap:8px}
/* resting dots: the muted ink 72% into the page (>=3:1, WCAG 1.4.11; the
   source's hairline measured 1.2:1), still quieter than the current one */
.fs-tw .fs-tw-car-dot{position:relative;display:block;width:11px;height:11px;padding:0;margin:0;border:0;border-radius:99px;
  background:color-mix(in srgb,rgb(var(--c-ink-400)) 72%,rgb(var(--c-paper)));cursor:pointer}
.fs-tw .fs-tw-car-dot.is-on{width:32px;background:var(--fs-tw-dot-on)}
.fs-tw .fs-tw-car-pp[hidden]{display:none}
/* touch: a bigger hit area without changing the look (the source's
   coarse-pointer rule, kept on every surface since it draws nothing) */
.fs-tw-car-dot::after{content:"";position:absolute;inset:-14px -6px}

/* ══ favTwFaq — .acc-item .acc-q .acc-a .faq-search [data-nofaq] ═
   The question is a button in an h3 (reset to the button's look); a
   closed answer is hidden from everything. Task 9: the answer's slide
   (grid rows, 400 ms) and the plus turning (300 ms). */
.fs-tw-faq[data-narrow]>.fs-tw-wrap{max-width:860px}
.fs-tw-acc-item{margin-bottom:12px;overflow:hidden;border:1px solid rgb(var(--c-line));border-radius:22px;background:rgb(var(--c-paper-soft))}
.fs-tw-acc-item[hidden]{display:none}
.fs-tw-acc-item.is-open{border-color:color-mix(in srgb,rgb(var(--c-brand-600)) 50%,rgb(var(--c-line)))}
.fs-tw .fs-tw-acc-h{margin:0;font:inherit;letter-spacing:normal;color:inherit}
.fs-tw .fs-tw-acc-q{display:flex;justify-content:space-between;align-items:center;gap:14px;width:100%;margin:0;padding:20px 24px;border:0;background:none;
  font-family:inherit;font-weight:700;font-size:1.02rem;line-height:1.6;letter-spacing:normal;text-align:left;color:rgb(var(--c-ink-950));cursor:pointer}
div.fs-tw-acc-q{cursor:auto}
.fs-tw-acc-q .fs-tw-ic{color:rgb(var(--c-brand-text))}
.fs-tw-acc-item.is-open .fs-tw-acc-q .fs-tw-ic{transform:rotate(45deg)}
.fs-tw-acc-a{display:grid;grid-template-rows:0fr}
.fs-tw-acc-item.is-open .fs-tw-acc-a{grid-template-rows:1fr}
.fs-tw-acc-a>div{overflow:hidden;min-height:0}
.fs-tw-acc-item:not(.is-open) .fs-tw-acc-a>div{visibility:hidden}
.fs-tw .fs-tw-acc-p{padding:0 24px 22px}
.fs-tw-faq-search{display:flex;align-items:center;gap:12px;margin-bottom:24px;padding:6px 8px 6px 20px;border:1.5px solid rgb(var(--c-line));border-radius:999px;background:rgb(var(--c-paper-soft))}
.fs-tw-faq-search:focus-within{border-color:rgb(var(--c-brand-600))}
.fs-tw .fs-tw-faq-input{flex:1;min-width:0;padding:10px 0;border:0;outline:none;background:none;font:inherit;color:rgb(var(--c-ink-950))}
.fs-tw .fs-tw-faq-input::placeholder{color:rgb(var(--c-ink-400));opacity:1}
.fs-tw .fs-tw-faq-none{text-align:center}
.fs-tw .fs-tw-faq-more{margin-top:22px;text-align:center}

/* the editor's answer picker (foot map, stories) — editing only */
.fs-tw-ed-pick{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;font-size:.8125rem;color:rgb(var(--c-ink-400))}
.fs-tw-ed-pick::before{content:attr(data-ed)}
.fs-tw-ed-pick>span{color:rgb(var(--c-ink-950));min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fs-tw-ed-pick button{flex:none;width:28px;height:28px;display:grid;place-items:center;font:inherit;font-size:1rem;line-height:1;color:rgb(var(--c-ink-950));background:rgb(var(--c-paper-soft));border:1px dashed rgb(var(--c-ink-400) / .7);border-radius:6px;cursor:pointer}

@container fs-tw (max-width:1060px){
  .fs-tw-fm{grid-template-columns:minmax(0,1fr)}
}
@container fs-tw (max-width:760px){
  .fs-tw .fs-tw-cb-input{width:150px}
  .fs-tw-car-slide{grid-template-columns:minmax(0,1fr);gap:22px;padding:28px 22px;text-align:center}
  .fs-tw-av{max-width:120px;width:100%;margin:0 auto;font-size:2.2rem}
  .fs-tw-car-who{justify-content:center}
}

/* ══ Task 6a — favTwSplitCards · IconCards · PriceCards · Team · Contact ═
   .g2/.g4 grids, .split, the cards' static look, the price cards, the
   flip cards and the booking form. Motion (the footstep reveal, the card
   lift, the flip's 0.8 s turn, the pin's pulse) is the motion section's
   (port Task 9); here the lifted card keeps only its border and shadow. */
.fs-tw-g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.fs-tw-g4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.fs-tw-lift:hover{box-shadow:var(--fs-tw-shadow);border-color:color-mix(in srgb,rgb(var(--c-brand-600)) 40%,rgb(var(--c-line)))}
.fs-tw .fs-tw-card-h{margin:14px 0 6px}
/* .split{grid 1fr 1fr;gap:56px;align-items:center}; the story's p's 14 / 12 */
.fs-tw-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.fs-tw .fs-tw-split-p{margin-top:12px}
.fs-tw .fs-tw-h2+.fs-tw-split-p{margin-top:14px}
.fs-tw .fs-tw-split-note{margin-top:12px}

/* price cards: .price{flex column, gap 10}; .feat-p = the brand gradient
   with white words (its translateY(-10px) is cancelled by .tide-step.in's
   transform:none in the source, so the card sits level: measured, not
   ported); .tag = the accent chip over the top edge (#14292b ->
   --fs-tw-on-acc); .amt 2.8rem (the small length inherits its -.03em) */
.fs-tw-price{display:flex;flex-direction:column;gap:10px;position:relative}
.fs-tw-price-feat{background:linear-gradient(165deg,rgb(var(--c-brand-600)),rgb(var(--c-brand-700)));color:var(--fs-on-brand);border:0}
.fs-tw .fs-tw-price-feat .fs-tw-h3{color:inherit}
.fs-tw .fs-tw-price-feat .fs-tw-card-p{color:var(--fs-on-brand)}
.fs-tw .fs-tw-amt{font-size:2.8rem;font-weight:800;letter-spacing:-.03em;line-height:1}
.fs-tw .fs-tw-amt-s{font-size:.9rem;font-weight:600;opacity:.7}
.fs-tw-price-feat .fs-tw-amt-s{opacity:1}
.fs-tw .fs-tw-price-ul{list-style:none;display:grid;gap:9px;margin:10px 0 18px;padding:0}
.fs-tw ul.fs-tw-price-ul li{display:flex;gap:10px;margin:0;font-size:.94rem;line-height:1.6;color:rgb(var(--c-ink-400))}
.fs-tw-price-ul .fs-tw-ic{width:18px;height:18px;margin-top:3px;color:rgb(var(--c-brand-text))}
.fs-tw .fs-tw-price-feat ul.fs-tw-price-ul li{color:var(--fs-on-brand)}
.fs-tw-price-feat .fs-tw-price-ul .fs-tw-ic{color:var(--fs-on-brand)}
.fs-tw .fs-tw-price-tag{position:absolute;top:-13px;left:26px;padding:5px 12px;border-radius:99px;background:rgb(var(--c-accent));color:var(--fs-tw-on-acc);font-weight:800;font-size:.74rem;letter-spacing:.04em}
.fs-tw-price .fs-tw-btn{margin-top:auto}

/* team: .flip{perspective 1000, 360 high} .flip-in{3d} .face{absolute,
   backface hidden, 26px, 24px pad} .front{surface, centred, name at the
   foot, .portrait over the top 62%} .back{brand gradient, white}; hover
   (a real pointer), keyboard focus and the toggle turn it. Static: the
   turn is instant here (the motion section adds the 0.8 s ease). */
.fs-tw-flip{position:relative;perspective:1000px;height:360px;width:100%;text-align:left}
.fs-tw-flip-in{position:relative;width:100%;height:100%;transform-style:preserve-3d}
/* .is-on = pressed, hovered by a mouse or focused by keyboard; the block
   sets it from state, so the aria / inert state follows what is visible */
.fs-tw-flip.is-on .fs-tw-flip-in{transform:rotateY(180deg)}
.fs-tw-flip-btn{position:absolute;inset:0;z-index:1;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:26px;background:transparent;cursor:pointer}
.fs-tw-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:26px;overflow:hidden;padding:24px;display:flex;flex-direction:column}
.fs-tw-face-front{background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));align-items:center;text-align:center;justify-content:flex-end}
.fs-tw-portrait{position:absolute;left:0;right:0;top:0;height:62%;display:grid;place-items:center;font-size:3.4rem;font-weight:800;line-height:1.6;color:var(--fs-on-brand)}
.fs-tw-portrait[data-tone="pri"]{background:linear-gradient(145deg,rgb(var(--c-brand-600)),color-mix(in srgb,rgb(var(--c-brand-600)) 55%,rgb(var(--c-accent))))}
/* the accent portrait's letter is the deep ink, not white: white on the
   coral / amber accent measured 2.3:1 (ledger L18) */
.fs-tw-portrait[data-tone="acc"]{background:linear-gradient(145deg,rgb(var(--c-accent)),color-mix(in srgb,rgb(var(--c-accent)) 45%,rgb(var(--c-brand-600))));color:var(--fs-tw-on-acc)}
.fs-tw-portrait-l{position:relative;z-index:0}
.fs-tw-portrait .fs-tw-portrait-slot{position:absolute;inset:0;display:block;overflow:hidden}
.fs-tw-portrait-slot>*,.fs-tw-portrait-slot img{display:block;width:100%;height:100%}
.fs-tw-portrait-slot img{object-fit:cover}
.fs-tw .fs-tw-face-n{font-size:1.15rem}
.fs-tw .fs-tw-face-r{font-size:smaller;color:rgb(var(--c-ink-400))}
.fs-tw-face-back{transform:rotateY(180deg);background:linear-gradient(160deg,rgb(var(--c-brand-600)),rgb(var(--c-brand-700)));color:var(--fs-on-brand);justify-content:center;gap:10px}
.fs-tw .fs-tw-face-bn{font-size:1.15rem}
.fs-tw .fs-tw-face-p{font-size:.9rem;color:var(--fs-on-brand)}
.fs-tw-tags{display:flex;flex-wrap:wrap;gap:6px}
/* the source's 18% white chip measured under 4.5:1 for its .72rem words
   on the lighter palettes; a 22% black chip keeps them readable (L18) */
.fs-tw-tag{font-size:.72rem;font-weight:700;padding:4px 10px;border-radius:99px;background:color-mix(in srgb,var(--fs-tw-shade) 22%,transparent)}
.fs-tw .fs-tw-team-hint{margin-top:18px;text-align:center;font-size:.85rem}
/* the editor: both faces lie flat, front over back */
.fs-tw-flip.is-flat{height:auto;perspective:none}
.fs-tw-flip.is-flat .fs-tw-flip-in{display:grid;gap:12px;height:auto;transform:none;transform-style:flat}
.fs-tw-flip.is-flat .fs-tw-face{position:relative;inset:auto;transform:none;backface-visibility:visible;-webkit-backface-visibility:visible}
.fs-tw-flip.is-flat .fs-tw-face-front{min-height:300px}
.fs-tw-flip.is-flat .fs-tw-face-back{min-height:200px}

/* contact: .contact-grid{1.1fr .9fr, gap 30, start}; .form{gap 16};
   .row2{two columns, gap 16}; fields as favTwCta's newsletter box but
   16px-round; .info-list (the source's .info-list span colours the
   labels and the badges muted as well — kept); .fd-map the drawn map */
.fs-tw-contact-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:30px;align-items:start}
.fs-tw-contact-side{display:grid;gap:22px;min-width:0}
.fs-tw-form{display:grid;gap:16px}
.fs-tw-row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.fs-tw-row2-one{grid-template-columns:minmax(0,1fr)}
.fs-tw .fs-tw-label{font-weight:700;font-size:.88rem}
.fs-tw .fs-tw-label-opt{font-weight:500;color:rgb(var(--c-ink-400))}
.fs-tw .fs-tw-form .fs-tw-input{border-radius:16px}
.fs-tw .fs-tw-textarea{display:block;min-height:110px;resize:vertical}
.fs-tw .fs-tw-form .fs-tw-btn{width:100%}
/* the error words lean toward the ink so they reach 4.5:1 on the card in
   dark mode too (the platform red alone measured 4.0:1 there; L20) */
.fs-tw-form .fs-tw-em{color:color-mix(in srgb,var(--fs-tw-red) 72%,rgb(var(--c-ink-950)))}
.fs-tw .fs-tw-form-note{font-size:.8rem}
.fs-tw-info{display:grid;gap:14px}
.fs-tw-info-row{display:flex;gap:14px;align-items:flex-start;color:rgb(var(--c-ink-400))}
.fs-tw-info-row .fs-tw-badge{color:rgb(var(--c-ink-400))}
.fs-tw-info-b{display:block}
.fs-tw-map-card{position:relative;padding:0;overflow:hidden}
.fs-tw-map{position:relative;min-height:260px;background:color-mix(in srgb,rgb(var(--c-brand-600)) 10%,rgb(var(--c-paper-soft)))}
.fs-tw-map>svg{position:absolute;inset:0;width:100%;height:100%}
.fs-tw-map .fs-tw-map-slot{position:absolute;inset:0;display:block}
.fs-tw-map-slot>*,.fs-tw-map-slot img{display:block;width:100%;height:100%}
.fs-tw-map-slot img{object-fit:cover}
.fs-tw-cap-lbl{position:absolute;left:14px;bottom:12px;padding:4px 10px;border-radius:99px;background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-400));font-size:.72rem;font-weight:700}
/* the map's colours (source: --pri / --surf mixes; the park's #5fb985 is
   the platform's ok-green, L19; the pin is brand on a light page and
   brand-as-text on a dark one, its dot the page ground there, L21) */
.fs-tw-m-water{fill:color-mix(in srgb,rgb(var(--c-brand-600)) 28%,rgb(var(--c-paper-soft)))}
.fs-tw-m-park{fill:color-mix(in srgb,rgb(var(--fs-status-ok)) 38%,rgb(var(--c-paper-soft)))}
.fs-tw-m-block{fill:color-mix(in srgb,rgb(var(--c-brand-600)) 8%,rgb(var(--c-paper-soft)))}
.fs-tw-m-road{stroke:rgb(var(--c-paper-soft));fill:none;stroke-linecap:round}
.fs-tw-m-road2{stroke:color-mix(in srgb,rgb(var(--c-brand-600)) 14%,rgb(var(--c-paper-soft)));fill:none;stroke-linecap:round}
.fs-tw-pin-pulse{fill:rgb(var(--c-accent))}
.fs-tw-pin-body,.fs-tw-pin-eye{fill:var(--fs-tw-dot-on)}
/* the map pin's dot has its own class: .fs-tw-pin-dot is the hero tide pin's
   (an unscoped rule on a class two blocks use paints both — the class
   guard in scripts/check-tidewell-tools.tsx) */
.fs-tw-map-pin-dot{fill:var(--fs-tw-pin-dot)}

@container fs-tw (max-width:1060px){
  .fs-tw-split,.fs-tw-contact-grid{grid-template-columns:minmax(0,1fr)}
  .fs-tw-g4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container fs-tw (max-width:760px){
  .fs-tw-g2,.fs-tw-g4,.fs-tw-row2{grid-template-columns:minmax(0,1fr)}
  .fs-tw-flip{height:340px}
}
[data-fs-layout="centered"] .fs-tw-price{text-align:left}

/* ══ Task 6b — favTwAppt · favTwFeeEstimator ═══════════════════
   Base .chip / .chips (first used here), the appointment picker (.appt
   .ap-types .ap-t .pr .ap-side .slots .slot .ap-sum) and the fee
   estimator (.fee .fee-box .range .fee-sum .row .tot). Motion — the
   type card's hover lift (translateY(-3px)), the chips' and slots' .2s
   colour ease, the footstep reveal — is the motion section's (port Task 9); hover keeps only its
   static border here. The side panels stick 110px down, as the source's
   top:calc(var(--studio-h) + 110px) with no studio bar; each is its own
   grid item (align-items:start), so it sticks inside its row. */
/* .chip{inline-flex;gap 7;9px 16px;pill;surf;1.5px line;600 .9rem}
   .chip.on{pri, white}; .chips{flex wrap, gap 10} */
.fs-tw-chips{display:flex;flex-wrap:wrap;gap:10px}
.fs-tw .fs-tw-chip{display:inline-flex;align-items:center;gap:7px;margin:0;padding:9px 16px;border-radius:999px;background:rgb(var(--c-paper-soft));border:1.5px solid rgb(var(--c-line));color:rgb(var(--c-ink-950));font:inherit;font-weight:600;font-size:.9rem;line-height:1.6;text-align:left;cursor:pointer}
.fs-tw button.fs-tw-chip:hover{border-color:rgb(var(--c-brand-600))}
.fs-tw .fs-tw-chip.is-on{background:rgb(var(--c-brand-600));border-color:var(--fs-tw-dot-on);color:var(--fs-on-brand)}
/* the chosen chip's / slot's / card's edge: brand, as the source, on a
   light page; brand-as-text on a dark one (--fs-tw-dot-on), where the
   brand fill alone measured 2.7:1 on the card (Lavender) — the state
   must read at 3:1 (ledger). The price inside a treatment chip: the
   source's opacity:.7, as a 70% mix (opacity would dim the focus ring
   too); on the chosen chip full white (70% measured 3.2:1 in dark). */
.fs-tw-chip-p{color:color-mix(in srgb,currentColor 70%,rgb(var(--c-paper-soft)))}
.fs-tw-chip.is-on .fs-tw-chip-p{color:inherit}

/* appointment picker: .appt{1.2fr .8fr, gap 26, start} (as .fs-tw-ap-grid:
   the root already carries fs-tw-appt, twRoot); .ap-types two
   columns, gap 14; .ap-t a 20px-round card, 2px line, the chosen one
   brand-bordered on the tint with a 4px brand halo */
.fs-tw-ap-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:26px;align-items:start}
.fs-tw-ap-types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.fs-tw .fs-tw-ap-t{display:flex;flex-direction:column;gap:6px;margin:0;padding:20px;border-radius:20px;background:rgb(var(--c-paper-soft));border:2px solid rgb(var(--c-line));color:rgb(var(--c-ink-950));font:inherit;line-height:1.6;text-align:left;cursor:pointer}
.fs-tw button.fs-tw-ap-t:hover{border-color:color-mix(in srgb,rgb(var(--c-brand-600)) 50%,rgb(var(--c-line)))}
.fs-tw .fs-tw-ap-t.is-on{border-color:var(--fs-tw-dot-on);background:var(--fs-tw-tint);box-shadow:0 0 0 4px color-mix(in srgb,rgb(var(--c-brand-600)) 15%,transparent)}
.fs-tw .fs-tw-ap-n{font-size:1rem;font-weight:700}
.fs-tw .fs-tw-ap-d{font-size:smaller;color:rgb(var(--c-ink-400));line-height:1.35}
.fs-tw-ap-pr{display:flex;justify-content:space-between;margin-top:6px;font-weight:800;color:rgb(var(--c-brand-text))}
.fs-tw-ap-pr>span:last-child{color:rgb(var(--c-ink-400));font-weight:600;font-size:.82rem}
.fs-tw-ap-side{position:sticky;top:110px;background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));border-radius:26px;padding:26px;box-shadow:var(--fs-tw-shadow)}
.fs-tw .fs-tw-ap-h4{margin:16px 0 10px;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
.fs-tw .fs-tw-ap-h4:first-child{margin-top:0}
/* .slots{flex wrap, gap 8}; .slot{8px 13px, 12px round, page ground,
   1.5px line, 700 .85rem}; .slot.on{pri, white} */
.fs-tw-ap-slots{display:flex;flex-wrap:wrap;gap:8px}
.fs-tw .fs-tw-ap-slot{margin:0;padding:8px 13px;border-radius:12px;background:rgb(var(--c-paper));border:1.5px solid rgb(var(--c-line));color:rgb(var(--c-ink-950));font:inherit;font-weight:700;font-size:.85rem;line-height:1.6;cursor:pointer}
.fs-tw button.fs-tw-ap-slot:hover{border-color:rgb(var(--c-brand-600))}
.fs-tw .fs-tw-ap-slot.is-on{background:rgb(var(--c-brand-600));color:var(--fs-on-brand);border-color:var(--fs-tw-dot-on)}
.fs-tw .fs-tw-ap-none{font-size:.92rem}
/* .ap-sum{18px above, 14px pad, 16px round, tint, 600 .92rem ink}; b brand-as-text */
.fs-tw-ap-sum{margin-top:18px;padding:14px;border-radius:16px;background:var(--fs-tw-tint);font-weight:600;font-size:.92rem;color:rgb(var(--c-ink-950))}
.fs-tw-ap-sum b{font-weight:700;color:rgb(var(--c-brand-text))}
/* the button: style="width:100%;margin-top:14px" */
.fs-tw .fs-tw-ap-go{width:100%;margin-top:14px}
/* the source's toast (a fixed pill at the foot of the window) answers
   here, under the button, as the form's status line (ledger) */
.fs-tw .fs-tw-ap-ok.is-show{margin-top:12px}

/* fee estimator: .fee{1.1fr .9fr, gap 28, start} (as .fs-tw-fee-grid, the
   root being fs-tw-fee); .fee-box a 28px-round
   card; h4 caps .78rem muted, 22px / 12px; .range full width, brand
   (an inline-block, as the source: its line box adds 6.6px under it) */
.fs-tw-fee-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:28px;align-items:start}
.fs-tw-fee-box{background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));border-radius:28px;padding:30px}
.fs-tw .fs-tw-fee-h4{margin:22px 0 12px;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
.fs-tw .fs-tw-fee-h4:first-child{margin-top:0}
.fs-tw .fs-tw-range{width:100%;height:30px;margin:0;accent-color:var(--fs-tw-dot-on)}
/* .fee-sum: the brand gradient, white words, 28px round, 30px pad,
   sticky; .row a hairline of 18% white; .tot 800, its figure 2.4rem;
   small under it (the source's 80% white: full white, as the fee
   cards' lines, L16) */
.fs-tw-fee-sum{position:sticky;top:110px;padding:30px;border-radius:28px;background:linear-gradient(160deg,rgb(var(--c-brand-600)),rgb(var(--c-brand-700)));color:var(--fs-on-brand)}
.fs-tw .fs-tw-fee-sum .fs-tw-h3{color:inherit}
.fs-tw-fee-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid color-mix(in srgb,var(--fs-on-brand) 18%,transparent);font-size:.95rem}
.fs-tw-fee-tot{display:flex;justify-content:space-between;align-items:baseline;margin-top:16px;font-weight:800}
.fs-tw-fee-tot b{font-size:2.4rem;line-height:1}
.fs-tw .fs-tw-fee-note{display:block;margin-top:14px;font-size:smaller;line-height:1.4;color:var(--fs-on-brand)}
.fs-tw .fs-tw-fee-go{width:100%;margin-top:18px}
.fs-tw .fs-tw-fee-none{font-size:1.05rem}

/* @media (max-width:1060px): one column, the panels stop sticking;
   (max-width:760px): the visit types in one column */
@container fs-tw (max-width:1060px){
  .fs-tw-ap-grid,.fs-tw-fee-grid{grid-template-columns:minmax(0,1fr)}
  .fs-tw-ap-side,.fs-tw-fee-sum{position:static}
}
@container fs-tw (max-width:760px){
  .fs-tw-ap-types{grid-template-columns:minmax(0,1fr)}
}
/* Site Settings layouts (html[data-layout=minimal] .chip / .ap-side) */
[data-fs-layout="minimal"] .fs-tw .fs-tw-chip{border-radius:10px}
[data-fs-layout="minimal"] .fs-tw-ap-side{box-shadow:none}

/* ── platform motion stands down on Tidewell blocks ─────────────
   Tidewell's own reveals ARE the motion on its blocks (port Task 9), so
   the platform baseline (motion-base.ts) stands down through its own
   off-vars: no "Sections ease in" slide, no "Images fade in", no
   "Buttons respond to a press" scale on Tidewell's buttons. */
[data-fs-blocktype^="favTw"]{--fs-anim-fs-sectionin-name:none}
.fs-tw{--fs-anim-fs-imgin-name:none;--fs-anim-fs-press:none}

/* ══ Task 7 — favTwConditions · favTwGait · favTwArticles · favTwReviewCards ═
   The conditions explorer (.cx .cx-tabs .cx-tab .cx-panel .cx-cols
   .warn), the gait explainer (.gait .gait-stage .heat .gait-phases .gp
   .gait-ctl .gait-read), the article cards (.filters .art .thumb .body
   .cat .foot) and the review cards (.g3 .card.lift .stars). Motion — the
   tabs' and phase buttons' .25s ease, the panel's fade-up, the blobs'
   .6s fade / grow, the cards' footstep reveal and lift, the thumbnail
   drawing's hover turn — is the motion section's (port Task 9); static here. */

/* conditions: .cx{300px 1fr, gap 28, start}; .cx-tabs a column of tabs,
   sticky 110px down (the source's top:calc(var(--studio-h) + 110px), no
   studio bar; its own grid item, so it sticks inside the explorer's
   row); .cx-tab a 18px-round card with a 1.5px line; .on = brand with
   white words, nudged 6px (its state, not motion). The chosen edge is
   --fs-tw-dot-on: brand on a light page, brand-as-text on a dark one,
   as the chosen chips (ledger L27). */
.fs-tw-cx{display:grid;grid-template-columns:300px minmax(0,1fr);gap:28px;align-items:start}
.fs-tw-cx-tabs{display:grid;gap:8px;position:sticky;top:110px}
.fs-tw .fs-tw-cx-tab{display:flex;align-items:center;gap:12px;margin:0;padding:14px 16px;border-radius:18px;background:rgb(var(--c-paper-soft));border:1.5px solid rgb(var(--c-line));color:rgb(var(--c-ink-950));font:inherit;font-weight:700;line-height:1.6;text-align:left;cursor:pointer}
.fs-tw button.fs-tw-cx-tab:hover{border-color:rgb(var(--c-brand-600))}
.fs-tw .fs-tw-cx-tab.is-on{background:rgb(var(--c-brand-600));border-color:var(--fs-tw-dot-on);color:var(--fs-on-brand);transform:translateX(6px)}
.fs-tw-cx-tab.is-on .fs-tw-badge{background:color-mix(in srgb,var(--fs-on-brand) 20%,transparent);color:var(--fs-on-brand);box-shadow:none}
.fs-tw-cx[data-inert] .fs-tw-cx-tab{cursor:default}
.fs-tw-cx-tl{min-width:0}
/* .cx-panel{surf, 1px line, 28px round, 34px pad}; h3 1.7rem; .cx-cols
   three page-ground boxes (20px round, 20px pad), caps brand heads,
   muted .92rem lists with an accent dot */
.fs-tw-cx-panel{background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));border-radius:28px;padding:34px}
.fs-tw-cx-panel[hidden]{display:none}
.fs-tw .fs-tw-cx-h3{margin-bottom:8px;font-size:1.7rem}
.fs-tw-cx-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px}
.fs-tw-cx-col{padding:20px;border-radius:20px;background:rgb(var(--c-paper))}
.fs-tw .fs-tw-cx-h4{margin-bottom:10px;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--c-brand-text))}
.fs-tw ul.fs-tw-cx-ul{display:grid;gap:8px;margin:0;padding:0;list-style:none;font-size:.92rem;color:rgb(var(--c-ink-400))}
.fs-tw ul.fs-tw-cx-ul li{display:flex;gap:9px;margin:0;line-height:1.6}
.fs-tw-cx-li::before{content:"";flex:none;width:7px;height:7px;margin-top:9px;border-radius:50%;background:rgb(var(--c-accent))}
/* .warn{20px above, gap 12, 16px 18px, 18px round, the accent 18% into
   the card, .92rem ink; its icon ink} */
.fs-tw-cx-warn{display:flex;gap:12px;margin-top:20px;padding:16px 18px;border-radius:18px;background:color-mix(in srgb,rgb(var(--c-accent)) 18%,rgb(var(--c-paper-soft)));font-size:.92rem;color:rgb(var(--c-ink-950))}
.fs-tw-cx-warn .fs-tw-ic{color:rgb(var(--c-ink-950))}

/* gait: .gait{minmax(0,330px) 1fr, gap 56, centre}; the stage a 200:420
   box up to 260px wide; .heat the accent blurred 7px, its opacity and
   scale set per phase x type from its own centre (the source's inline
   style, kept inline) */
.fs-tw-gait-grid{display:grid;grid-template-columns:minmax(0,330px) minmax(0,1fr);gap:56px;align-items:center}
.fs-tw-gait-stage{position:relative;width:100%;max-width:260px;aspect-ratio:200/420;margin:0 auto}
.fs-tw-gait-fig{position:absolute;inset:0}
.fs-tw-gait-sole{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:visible}
.fs-tw-heat{fill:rgb(var(--c-accent));filter:blur(7px);transform-origin:center;transform-box:fill-box}
.fs-tw-gait-stage .fs-tw-slot{position:absolute;inset:0;border-radius:22px;overflow:hidden}
.fs-tw-gait-stage .fs-tw-slot>*,.fs-tw-gait-stage .fs-tw-slot img{width:100%;height:100%}
.fs-tw-gait-stage .fs-tw-slot img{object-fit:cover}
/* .gait-phases three across, gap 12, 18px above and below; .gp a 18px-
   round card with a 2px line, .on brand-edged on the tint; .n a 26px
   brand disc with the white number; small muted, 1.35 */
.fs-tw-gait-phases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}
.fs-tw .fs-tw-gp{display:block;margin:0;padding:16px;border-radius:18px;background:rgb(var(--c-paper-soft));border:2px solid rgb(var(--c-line));color:rgb(var(--c-ink-950));font:inherit;line-height:1.6;text-align:left;cursor:pointer}
.fs-tw .fs-tw-gp.is-on{border-color:var(--fs-tw-dot-on);background:var(--fs-tw-tint)}
.fs-tw-gait-grid[data-inert] .fs-tw-gp{cursor:default}
.fs-tw-gp-t{display:block}
.fs-tw .fs-tw-gp-s{display:block;margin-top:4px;font-size:smaller;line-height:1.35;color:rgb(var(--c-ink-400))}
.fs-tw-gp-n{display:inline-grid;place-items:center;width:26px;height:26px;margin-bottom:8px;border-radius:50%;background:rgb(var(--c-brand-600));color:var(--fs-on-brand);font-size:.8rem;font-weight:800}
/* .gait-ctl{flex wrap, gap 10, centre}; .btn.sm{9px 18px, .88rem};
   .gait-read{16px above, 16px 18px, 18px round, page ground, 1px line,
   .95rem muted; b ink} */
.fs-tw-gait-ctl{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.fs-tw .fs-tw-btn-sm{padding:9px 18px;font-size:.88rem}
.fs-tw button.fs-tw-gait-pp:hover{box-shadow:inset 0 0 0 2px rgb(var(--c-brand-600))}
.fs-tw .fs-tw-gait-pp[hidden]{display:none}
.fs-tw-gait-read{margin-top:16px;padding:16px 18px;border-radius:18px;background:rgb(var(--c-paper));border:1px solid rgb(var(--c-line));font-size:.95rem;color:rgb(var(--c-ink-400))}
.fs-tw-gait-read-b{color:rgb(var(--c-ink-950))}

/* articles: .filters{flex wrap, gap 10, 28px under}; .art a card with no
   padding (flex column, gap 12); .thumb 150px, the brand -> accent
   gradient (odd cards) or accent -> brand (even), the drawing 90px in
   on-brand lines (decorative); .body{6px 24px 24px, gap 10}; .cat caps
   brand-as-text; .foot muted .82rem 600, pushed to the bottom */
.fs-tw-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}
.fs-tw-filters[data-inert] .fs-tw-chip{cursor:default}
.fs-tw .fs-tw-art{display:flex;flex-direction:column;gap:12px;padding:0;overflow:hidden}
.fs-tw .fs-tw-art[hidden]{display:none}
.fs-tw-art-thumb{position:relative;display:grid;place-items:center;height:150px;overflow:hidden}
.fs-tw-art-thumb[data-tone="pri"]{background:linear-gradient(135deg,rgb(var(--c-brand-600)),color-mix(in srgb,rgb(var(--c-brand-600)) 60%,rgb(var(--c-accent))))}
.fs-tw-art-thumb[data-tone="acc"]{background:linear-gradient(135deg,rgb(var(--c-accent)),color-mix(in srgb,rgb(var(--c-accent)) 50%,rgb(var(--c-brand-600))))}
.fs-tw .fs-tw-art-ic{width:90px;height:90px;fill:none;stroke:var(--fs-on-brand);stroke-width:1.6;opacity:.95}
.fs-tw-art-thumb .fs-tw-slot{position:absolute;inset:0}
.fs-tw-art-thumb .fs-tw-slot>*,.fs-tw-art-thumb .fs-tw-slot img{width:100%;height:100%}
.fs-tw-art-thumb .fs-tw-slot img{object-fit:cover}
.fs-tw-art-body{display:flex;flex:1;flex-direction:column;gap:10px;padding:6px 24px 24px}
.fs-tw-art-cat{font-size:.74rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--c-brand-text))}
.fs-tw-art-foot{display:flex;justify-content:space-between;margin-top:auto;font-size:.82rem;font-weight:600;color:rgb(var(--c-ink-400))}
.fs-tw .fs-tw-art-none{font-size:1.05rem}

/* review cards: the quote p{margin:12px 0;color:var(--ink)} (inline in
   the source) */
.fs-tw .fs-tw-rc-q{margin:12px 0;color:rgb(var(--c-ink-950))}

/* @media (max-width:1060px): the explorer and the explainer in one
   column, the tabs two across and no longer sticky, the columns stacked;
   (max-width:760px): the tabs and the phases one across, the panel 24px */
@container fs-tw (max-width:1060px){
  .fs-tw-cx,.fs-tw-gait-grid{grid-template-columns:minmax(0,1fr)}
  .fs-tw-cx-tabs{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-tw-cx-cols{grid-template-columns:minmax(0,1fr)}
}
@container fs-tw (max-width:760px){
  .fs-tw-cx-tabs,.fs-tw-gait-phases{grid-template-columns:minmax(0,1fr)}
  .fs-tw-cx-panel{padding:24px}
}
/* ══ favTwFooter — .site-footer (port Task 8) ═══════════════════
   .site-footer{margin-top:40px}; .foot-top{background:var(--tint2);
   padding:84px 0 0}; .finder: the surface card (36px, the big teal
   shadow, 1fr 1.05fr, 2px into the wave); .fd-info 38px; the tabs, the
   status pill (green 16% / red 14% into the surface, the dot), the
   address, the hours rows (today tinted), the buttons; .fd-map (380px,
   the drawn map, its caption); .foot-wave (90px, --foot); .foot-main
   (--foot, #d8ecec words, 30px 0 40px): the lockup (250px: the white
   disc mark, the name and its line), the blurb, the nav pills, the small
   print over a hairline, the five faint prints.
   --foot is the source's color-mix(--pri-d 78%, #021416) (light) /
   (--pri-d 35%, #030b0c) (dark); those two near-blacks are the deep brand
   about 22% / 11% into black, so --foot is the deep brand 83% / 42% into
   the family's shade (black) — measured within 2 levels of the export on
   Sea Glass. Its words are white 85% into the brand (the source's
   #d8ecec on Sea Glass). */
.fs-tw-footer{
  margin-top:40px;
  --fs-tw-foot:color-mix(in srgb,rgb(var(--c-brand-700)) 83%,var(--fs-tw-shade));
  --fs-tw-ft-ink:color-mix(in srgb,var(--fs-on-brand) 85%,rgb(var(--c-brand-600)));
}
.dark .fs-tw-footer{--fs-tw-foot:color-mix(in srgb,rgb(var(--c-brand-700)) 42%,var(--fs-tw-shade))}
.fs-preview-light .fs-tw-footer{--fs-tw-foot:color-mix(in srgb,rgb(var(--c-brand-700)) 83%,var(--fs-tw-shade))}
.fs-tw-ft-top{background:var(--fs-tw-tint2);padding:84px 0 0}
.fs-tw-finder{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);overflow:hidden;margin-bottom:-2px;background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));border-radius:36px;box-shadow:0 30px 70px rgba(5,50,54,.16)}
.fs-tw-fd-info{padding:38px}
.fs-tw .fs-tw-fd-h2{font-size:clamp(1.6rem,calc(2.6 * var(--fs-tw-vw)),2.2rem)}
.fs-tw-fd-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 22px}
.fs-tw .fs-tw-fd-tab{display:inline-block;padding:9px 18px;border-radius:99px;border:1.5px solid rgb(var(--c-line));background:transparent;font-family:inherit;font-weight:700;font-size:.9rem;line-height:1.6;color:rgb(var(--c-ink-950));cursor:pointer}
.fs-tw .fs-tw-fd-tab.is-on{background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));color:var(--fs-on-brand)}
.fs-tw .fs-tw-fd-tab:focus-visible{outline:3px solid rgb(var(--c-brand-text));outline-offset:3px}
.fs-tw-fd-tabs[data-inert] .fs-tw-fd-tab{cursor:default}
.fs-tw-fd-status{display:inline-flex;align-items:center;gap:9px;padding:8px 16px;border-radius:99px;font-weight:700;font-size:.88rem;line-height:1.6;color:rgb(var(--c-ink-950));background:color-mix(in srgb,rgb(var(--fs-status-ok)) 16%,rgb(var(--c-paper-soft)))}
.fs-tw-fd-status.is-closed{background:color-mix(in srgb,rgb(var(--fs-status-bad)) 14%,rgb(var(--c-paper-soft)))}
.fs-tw-fd-status.is-pending{visibility:hidden}
.fs-tw-fd-dot{flex:none;width:10px;height:10px;border-radius:50%;background:rgb(var(--fs-status-ok))}
.fs-tw-fd-status.is-closed .fs-tw-fd-dot{background:rgb(var(--fs-status-bad))}
.fs-tw .fs-tw-fd-addr{display:block;margin:16px 0;font-style:normal;color:rgb(var(--c-ink-400))}
.fs-tw-fd-name{display:block;color:rgb(var(--c-ink-950))}
.fs-tw-fd-hours{display:grid;gap:2px;margin:6px 0 22px;font-size:.92rem}
.fs-tw-fd-row{display:flex;justify-content:space-between;gap:12px;padding:6px 12px;border-radius:10px;color:rgb(var(--c-ink-400))}
.fs-tw-fd-row.is-today{background:var(--fs-tw-tint);color:rgb(var(--c-ink-950));font-weight:700}
.fs-tw-fd-time{text-align:right}
.fs-tw-fd-btns{display:flex;flex-wrap:wrap;gap:12px}
.fs-tw-fd-map{position:relative;min-height:380px;background:color-mix(in srgb,rgb(var(--c-brand-600)) 10%,rgb(var(--c-paper-soft)))}
.fs-tw-fd-map>svg{position:absolute;inset:0;width:100%;height:100%}
.fs-tw-fd-lbl{position:absolute;left:14px;bottom:12px;padding:4px 10px;border-radius:99px;background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-400));font-size:.72rem;font-weight:700;line-height:1.6}
.fs-tw-ft-wave{display:block;width:100%;height:90px;margin-top:-1px}
.fs-tw-ft-wave path{fill:var(--fs-tw-foot)}
.fs-tw-ft-main{position:relative;overflow:hidden;padding:30px 0 40px;background:var(--fs-tw-foot);color:var(--fs-tw-ft-ink)}
.fs-tw-ft-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.7fr);gap:40px}
/* The lockup (data-logo="h" at 250px: 218 units → 1.147px each): the
   mark 59.6px, the name 25 units = 28.7px 800 white, its line 8.4 units
   (9.6px, under the 10px floor: 10px 700, spaced to the source's 170px). */
.fs-tw .fs-tw-ft-logo{display:flex;align-items:center;gap:11.5px;max-width:250px;margin:0}
.fs-tw-ft-mark{flex:none;width:59.6px;height:59.6px}
.fs-tw-ft-mark .fs-tw-lg-bg{fill:var(--fs-on-brand)}
.fs-tw-ft-mark .fs-tw-lg-fp{fill:rgb(var(--c-brand-700))}
.fs-tw-ft-mark .fs-tw-lg-toe{fill:rgb(var(--c-accent))}
.fs-tw-ft-mark .fs-tw-lg-wave{fill:none;stroke:rgb(var(--c-brand-700));stroke-width:2.4;stroke-linecap:round;opacity:.9}
.fs-tw-ft-lock{display:grid;gap:4px;min-width:0}
.fs-tw-ft-name{font-weight:800;font-size:28.7px;line-height:1;letter-spacing:-.02em;color:var(--fs-on-brand);overflow-wrap:anywhere}
.fs-tw-ft-sub{font-weight:700;font-size:10px;line-height:1.2;letter-spacing:.19em;text-transform:uppercase;white-space:nowrap;color:color-mix(in srgb,var(--fs-on-brand) 70%,transparent)}
.fs-tw .fs-tw-ft-blurb{max-width:360px;margin-top:14px;color:color-mix(in srgb,var(--fs-tw-ft-ink) 75%,transparent)}
.fs-tw-ft-nav{display:flex;flex-wrap:wrap;align-content:flex-start;gap:8px}
.fs-tw .fs-tw-ft-a{display:inline-block;padding:8px 16px;border-radius:99px;background:color-mix(in srgb,var(--fs-on-brand) 8%,transparent);font-weight:600;font-size:.9rem;line-height:1.6;color:var(--fs-tw-ft-ink);text-decoration:none}
.fs-tw a.fs-tw-ft-a:hover{background:color-mix(in srgb,var(--fs-on-brand) 20%,transparent);color:var(--fs-on-brand)}
.fs-tw a.fs-tw-ft-a:focus-visible,.fs-tw a.fs-tw-ft-legal-a:focus-visible{outline:3px solid var(--fs-tw-ft-ink);outline-offset:2px}
.fs-tw-ft-bot{position:relative;z-index:1;display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:30px;padding-top:22px;border-top:1px solid color-mix(in srgb,var(--fs-on-brand) 14%,transparent);font-size:.82rem;color:color-mix(in srgb,var(--fs-tw-ft-ink) 70%,transparent)}
.fs-tw-ft-legal{display:flex;flex-wrap:wrap;gap:6px 16px}
.fs-tw .fs-tw-ft-legal-a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.fs-tw-ft-fp{position:absolute;right:-30px;bottom:-60px;display:flex;gap:6px;opacity:.07;transform:rotate(-12deg);color:var(--fs-on-brand);pointer-events:none}
.fs-tw-ft-fp-i{flex:none;width:80px;height:134px}
.fs-tw-ft-fp-i:nth-child(even){margin-top:50px}
.fs-tw-footer .fs-tw-ed{margin-top:20px;background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950))}
/* The source's layouts: full-width bands (the finder square), minimal (no
   wave, the page ground, a 12px finder with no shadow, a light band with
   ink words and a hairline, tinted nav pills, the mark in the brand, no
   prints). */
[data-fs-layout="full"] .fs-tw-finder{border-radius:0}
[data-fs-layout="minimal"] .fs-tw-ft-wave,[data-fs-layout="minimal"] .fs-tw-ft-fp{display:none}
[data-fs-layout="minimal"] .fs-tw-ft-top{background:rgb(var(--c-paper));padding-top:50px}
[data-fs-layout="minimal"] .fs-tw-finder{border-radius:12px;box-shadow:none}
[data-fs-layout="minimal"] .fs-tw-ft-main{background:rgb(var(--c-paper));color:rgb(var(--c-ink-950));border-top:1px solid rgb(var(--c-line))}
[data-fs-layout="minimal"] .fs-tw .fs-tw-ft-blurb,[data-fs-layout="minimal"] .fs-tw-ft-bot{color:rgb(var(--c-ink-400))}
[data-fs-layout="minimal"] .fs-tw-ft-bot{border-color:rgb(var(--c-line))}
[data-fs-layout="minimal"] .fs-tw-ft-name{color:rgb(var(--c-ink-950))}
[data-fs-layout="minimal"] .fs-tw-ft-sub{color:rgb(var(--c-ink-400))}
[data-fs-layout="minimal"] .fs-tw-ft-mark .fs-tw-lg-bg{fill:rgb(var(--c-brand-600))}
[data-fs-layout="minimal"] .fs-tw-ft-mark .fs-tw-lg-fp{fill:var(--fs-on-brand)}
[data-fs-layout="minimal"] .fs-tw-ft-mark .fs-tw-lg-wave{stroke:var(--fs-on-brand)}
[data-fs-layout="minimal"] .fs-tw .fs-tw-ft-a{background:var(--fs-tw-tint);color:rgb(var(--c-ink-950))}
/* @media (max-width:1060px): the finder and the grid stacked, the map
   300px; (max-width:900px): every footer link 7px taller (the
   source's touch rule, kept on width — its pointer:coarse half is not a
   container query; its buttons keep their icon beside
   the words — Ledger); (max-width:760px): 26 / 22px inside, a 26px
   finder, the small print stacked; (max-width:420px): the two buttons
   share the row (the source's flex:1; here 14px in and an 18px icon so a
   Cyprus number still fits beside "Book online" — Ledger). */
@container fs-tw (max-width:1060px){
  .fs-tw-finder,.fs-tw-ft-grid{grid-template-columns:minmax(0,1fr)}
  .fs-tw-fd-map{min-height:300px}
}
@container fs-tw (max-width:900px){
  .fs-tw .fs-tw-ft-a,.fs-tw .fs-tw-fd-btns .fs-tw-btn,.fs-tw .fs-tw-ft-legal-a{padding-block:7px}
}
@container fs-tw (max-width:760px){
  .fs-tw-fd-info{padding:26px 22px}
  .fs-tw-finder{border-radius:26px}
  .fs-tw-ft-bot{flex-direction:column}
}
@container fs-tw (max-width:420px){
  .fs-tw .fs-tw-fd-btns .fs-tw-btn{flex:1 1 auto;gap:6px;padding-inline:14px}
  .fs-tw .fs-tw-fd-btns .fs-tw-ic{width:18px;height:18px}
}

/* ══ motion (the source's own; port Task 9) ═════════════════════════════
   Every Tidewell movement, ported from the source's keyframes and
   transitions, in ONE place so the three gates are the same for all:
     1. drawn 'rich' (.fs-tw-anim on the block root; the editor canvas
        draws 'standard'),
     2. [data-fs-motion="on"] — the published site and the template
        preview at Motion On or Subtle; the editor canvas, Off and any
        surface without the shell match nothing and stay still,
     3. @media screen and (prefers-reduced-motion: no-preference).
   SUBTLE is the platform's rule (the owner's "softer, slower, shorter
   travel"): the SAME movement, every travel written
   calc(<px> * var(--fs-motion-dist, 1)) (0.3 under Subtle) and every time
   calc(<t> * var(--fs-anim-speed, 1)) (x1.7, with the Speed dial). Loops
   keep their whole loop and only slow (Ledger L52: the source's own
   Subtle plays a loop once).
   Each effect reads var(--fs-anim-<id>, <the source's own value>) so Site
   Settings -> Micro-animations can switch it off (ids: themes/tidewell.ts
   microAnimations; npm run check:anim).
   FILL: backwards only, the end frame always the element's resting
   style, so nothing holds a transform after it plays. The footstep reveal
   never hides content without the script: its hidden first frame is a
   PAUSED animation behind data-tw-in="0", which only the reveal runtime
   (useTwMotion, TidewellBlocks.tsx) sets — no script, no attribute,
   nothing hidden. States that carry meaning (an open answer, a turned
   card, the chosen tab) rest outside these gates; only their movement is
   inside. */
@keyframes fs-tw-step{from{opacity:0;transform:translateX(calc(-34px * var(--fs-motion-dist, 1))) scale(calc(1 - .04 * var(--fs-motion-dist, 1)))}to{opacity:1;transform:none}}
@keyframes fs-tw-step-r{from{opacity:0;transform:translateX(calc(34px * var(--fs-motion-dist, 1))) scale(calc(1 - .04 * var(--fs-motion-dist, 1)))}to{opacity:1;transform:none}}
@keyframes fs-tw-tl-draw{from{width:0}}
@keyframes fs-tw-tl-drawv{from{height:0}}
@keyframes fs-tw-tl-dot{from{opacity:0;transform:scale(calc(1 - .4 * var(--fs-motion-dist, 1)))}to{opacity:1;transform:none}}
@keyframes fs-tw-mq{to{transform:translateX(-50%)}}
@keyframes fs-tw-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,rgb(var(--c-accent)) 60%,transparent),0 4px 14px color-mix(in srgb,var(--fs-tw-shade) 25%,transparent)}70%{box-shadow:0 0 0 calc(14px * var(--fs-motion-dist, 1)) transparent,0 4px 14px color-mix(in srgb,var(--fs-tw-shade) 25%,transparent)}100%{box-shadow:0 0 0 0 transparent,0 4px 14px color-mix(in srgb,var(--fs-tw-shade) 25%,transparent)}}
@keyframes fs-tw-pinp{from{transform:scale(calc(1 - .6 * var(--fs-motion-dist, 1)));opacity:.8}to{transform:scale(calc(1 + 1.4 * var(--fs-motion-dist, 1)));opacity:0}}
@keyframes fs-tw-ihping{from{transform:scale(calc(1 - .4 * var(--fs-motion-dist, 1)));opacity:.8}to{transform:scale(calc(1 + 1.6 * var(--fs-motion-dist, 1)));opacity:0}}
@keyframes fs-tw-ihswap{from{transform:translateY(calc(8px * var(--fs-motion-dist, 1)))}to{transform:none}}
@keyframes fs-tw-pinpop{from{transform:scale(calc(1 - .7 * var(--fs-motion-dist, 1)))}60%{transform:scale(calc(1 + .3 * var(--fs-motion-dist, 1)))}to{transform:none}}
@keyframes fs-tw-up{from{opacity:0;transform:translateY(calc(12px * var(--fs-motion-dist, 1)))}to{opacity:1;transform:none}}
@keyframes fs-tw-spin{to{transform:rotate(360deg)}}
@keyframes fs-tw-ripple{from{transform:scale(0);opacity:1}to{transform:scale(calc(2.6 * var(--fs-motion-dist, 1)));opacity:0}}

/* The platform's own card lift (motion-base.ts: a 2px rise on every
   article / li "-card") is not the source's: Tidewell's lifted cards rise
   6px (below) and its other cards stay put. A button that rests on a
   transform keeps it while pressed (the platform's :active rule writes
   transform from --fs-anim-fs-press, which this family sets to none): the
   foot map's spots stay centred on their point, the chosen conditions tab
   keeps its 6px nudge. */
.fs-tw{--fs-anim-fs-lift-t:none;--fs-anim-fs-lift-prop:none}
.fs-tw .fs-tw-hot{--fs-anim-fs-press:translate(-50%,-50%)}
.fs-tw .fs-tw-cx-tab.is-on{--fs-anim-fs-press:translateX(6px)}
/* The rings and the press ripple rest invisible: their end frame. */
.fs-tw-ih-ring{transform-box:fill-box;transform-origin:center}
.fs-tw-pin-pulse{transform-box:fill-box;transform-origin:center}
.fs-tw-ripple{position:absolute;border-radius:50%;pointer-events:none;opacity:0;background:color-mix(in srgb,var(--fs-on-brand) 45%,transparent)}
/* twAutoplay and twCount have no CSS: the timers and the count-up read
   their switches in TidewellBlocks.tsx (TW_ANIM_SWITCH, twMayMove). */

/* screen only: a printed page shows every item, never a waiting one */
@media screen and (prefers-reduced-motion: no-preference){
  /* twStep — the footstep reveal (.tide-step): 34px in from the left
     (.d1 / .d3 from the right) at .96 scale, 600ms on the source's
     overshoot curve, .d1-.d4 100ms apart */
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-step[data-tw-in]{animation:var(--fs-anim-twStep, fs-tw-step calc(600ms * var(--fs-anim-speed, 1)) cubic-bezier(.34,1.56,.64,1) backwards)}
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-step:is(.fs-tw-d1,.fs-tw-d3)[data-tw-in]{animation:var(--fs-anim-twStep, fs-tw-step-r calc(600ms * var(--fs-anim-speed, 1)) cubic-bezier(.34,1.56,.64,1) backwards)}
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-step.fs-tw-d1[data-tw-in]{animation-delay:calc(100ms * var(--fs-anim-speed, 1))}
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-step.fs-tw-d2[data-tw-in]{animation-delay:calc(200ms * var(--fs-anim-speed, 1))}
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-step.fs-tw-d3[data-tw-in]{animation-delay:calc(300ms * var(--fs-anim-speed, 1))}
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-step.fs-tw-d4[data-tw-in]{animation-delay:calc(400ms * var(--fs-anim-speed, 1))}
  /* waiting to scroll in: held on the first frame, paused */
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-step[data-tw-in="0"]{animation-play-state:paused}

  /* twLine — the first-visit line draws itself across (2s) as the
     timeline steps in; its dots pop in one after another (.5s, at 0 / .2 /
     .5 / .8 / 1.1s). Stacked (1060px and under) the line draws down. */
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-tl[data-tw-in]::after{animation:var(--fs-anim-twLine, fs-tw-tl-draw calc(2s * var(--fs-anim-speed, 1)) var(--fs-tw-ease) backwards)}
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-tl[data-tw-in] .fs-tw-tl-dot{animation:var(--fs-anim-twLine, fs-tw-tl-dot calc(.5s * var(--fs-anim-speed, 1)) var(--fs-tw-ease) backwards)}
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-tl[data-tw-in] .fs-tw-tl-step:nth-child(2) .fs-tw-tl-dot{animation-delay:calc(.2s * var(--fs-anim-speed, 1))}
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-tl[data-tw-in] .fs-tw-tl-step:nth-child(3) .fs-tw-tl-dot{animation-delay:calc(.5s * var(--fs-anim-speed, 1))}
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-tl[data-tw-in] .fs-tw-tl-step:nth-child(4) .fs-tw-tl-dot{animation-delay:calc(.8s * var(--fs-anim-speed, 1))}
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-tl[data-tw-in] .fs-tw-tl-step:nth-child(5) .fs-tw-tl-dot{animation-delay:calc(1.1s * var(--fs-anim-speed, 1))}
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-tl[data-tw-in="0"]::after,
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-tl[data-tw-in="0"] .fs-tw-tl-dot{animation-play-state:paused}
  @container fs-tw (max-width:1060px){
    [data-fs-motion="on"] .fs-tw-anim .fs-tw-tl[data-tw-in]::after{animation:var(--fs-anim-twLine, fs-tw-tl-drawv calc(2s * var(--fs-anim-speed, 1)) var(--fs-tw-ease) backwards)}
    [data-fs-motion="on"] .fs-tw-anim .fs-tw-tl[data-tw-in="0"]::after{animation-play-state:paused}
  }

  /* twMarquee — the conditions strip runs its 34s loop (58s at Subtle) */
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-mq-track:not([data-wrap]){animation:var(--fs-anim-twMarquee, fs-tw-mq calc(34s * var(--fs-anim-speed, 1)) linear infinite)}

  /* twPulse — the foot map's spots pulse a ring (pulseR, 2.4s; not the
     chosen one) and the clinic maps' pin (pinp, 2.2s) */
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-hot:not(.is-on){animation:var(--fs-anim-twPulse, fs-tw-pulse calc(2.4s * var(--fs-anim-speed, 1)) infinite)}
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-pin-pulse{animation:var(--fs-anim-twPulse, fs-tw-pinp calc(2.2s * var(--fs-anim-speed, 1)) infinite)}

  /* twFinder — the hero's foot finder on a visitor's choice: a ring
     grows from the chosen spot (ihPing .5s), the name tag glides to it
     (.4s), the answer settles 8px (ihSwap .4s), the tide pin glides along
     the seam (.45s) and its dot pops (tidePinPop .5s); the spots grow
     under the pointer (.25s), the zone shading fades (.35s), the chips
     lift 1px and press to .97 */
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-ih-mk[data-tw-ping] .fs-tw-ih-ring{animation:var(--fs-anim-twFinder, fs-tw-ihping calc(.5s * var(--fs-anim-speed, 1)) var(--fs-tw-ease) backwards)}
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-ih-tag[data-tw-glide]{transition:var(--fs-anim-twFinder, transform calc(.4s * var(--fs-anim-speed, 1)) var(--fs-tw-ease))}
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-pin[data-tw-glide]{transition:var(--fs-anim-twFinder, transform calc(.45s * var(--fs-anim-speed, 1)) var(--fs-tw-ease))}
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-ih-out[data-tw-swap]{animation:var(--fs-anim-twFinder, fs-tw-ihswap calc(.4s * var(--fs-anim-speed, 1)) var(--fs-tw-ease) backwards)}
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-pin[data-tw-pop] .fs-tw-pin-dot{animation:var(--fs-anim-twFinder, fs-tw-pinpop calc(.5s * var(--fs-anim-speed, 1)) var(--fs-tw-ease) backwards)}
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-ih-mk-dot{transition:fill calc(.25s * var(--fs-anim-speed, 1)),transform calc(.25s * var(--fs-anim-speed, 1)) var(--fs-tw-ease)}
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-ih-sh{transition:fill-opacity calc(.35s * var(--fs-anim-speed, 1)) var(--fs-tw-ease)}
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-ih-chip-in{transition:background calc(.2s * var(--fs-anim-speed, 1)),border-color calc(.2s * var(--fs-anim-speed, 1)),color calc(.2s * var(--fs-anim-speed, 1)),transform calc(.2s * var(--fs-anim-speed, 1)) var(--fs-tw-ease),box-shadow calc(.2s * var(--fs-anim-speed, 1))}
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-ih-chip:hover .fs-tw-ih-chip-in{transform:var(--fs-anim-twFinder, translateY(calc(-1px * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-ih-chip input:active+.fs-tw-ih-chip-in{transform:var(--fs-anim-twFinder, scale(calc(1 - .03 * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-ih-dot{transition:background calc(.2s * var(--fs-anim-speed, 1)),border-color calc(.2s * var(--fs-anim-speed, 1))}

  /* twUp — an answer or a slide fades up 12px: the foot map's answer
     (.45s), the conditions panel (.45s), the next patient story (.6s),
     a form's thanks (.4s) */
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-fm-swap{animation:var(--fs-anim-twUp, fs-tw-up calc(.45s * var(--fs-anim-speed, 1)) var(--fs-tw-ease) backwards)}
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-cx-panel{animation:var(--fs-anim-twUp, fs-tw-up calc(.45s * var(--fs-anim-speed, 1)) var(--fs-tw-ease) backwards)}
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-car-slide.is-on{animation:var(--fs-anim-twUp, fs-tw-up calc(.6s * var(--fs-anim-speed, 1)) var(--fs-tw-ease) backwards)}
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-form-ok.is-show{animation:var(--fs-anim-twUp, fs-tw-up calc(.4s * var(--fs-anim-speed, 1)) ease backwards)}

  /* twSpin — the dashed ring round a story's portrait turns once in 24s */
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-av::after{animation:var(--fs-anim-twSpin, fs-tw-spin calc(24s * var(--fs-anim-speed, 1)) linear infinite)}

  /* twFlip — a team card turns over (.8s) */
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-flip-in{transition:var(--fs-anim-twFlip, transform calc(.8s * var(--fs-anim-speed, 1)) var(--fs-tw-ease))}

  /* twOpen — an answer opens without a jump (.4s) and its plus turns
     45deg (.3s). At Subtle the open answer's plus RESTS at 13.5deg, as the
     source's own Subtle; Off and reduced motion show the full 45deg. */
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-acc-a{transition:var(--fs-anim-twOpen, grid-template-rows calc(.4s * var(--fs-anim-speed, 1)) var(--fs-tw-ease))}
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-acc-item:not(.is-open) .fs-tw-acc-a>div{transition:var(--fs-anim-twOpen, visibility 0s linear calc(.4s * var(--fs-anim-speed, 1)))}
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-acc-q .fs-tw-ic{transition:var(--fs-anim-twOpen, transform calc(.3s * var(--fs-anim-speed, 1)) var(--fs-tw-ease))}
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-acc-item.is-open .fs-tw-acc-q .fs-tw-ic{transform:rotate(calc(45deg * var(--fs-motion-dist, 1)))}

  /* twBlobs — the gait explainer's pressure blobs fade and grow (.6s) */
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-heat{transition:var(--fs-anim-twBlobs, opacity calc(.6s * var(--fs-anim-speed, 1)),transform calc(.6s * var(--fs-anim-speed, 1)))}

  /* twLift — buttons rise 2px (.25s), lifted cards 6px (.35s), the
     reassurance tiles 5px (.3s), the visit cards 3px, an icon badge grows
     to 1.07 under its card, a link's arrow steps 4px, a foot-map spot grows
     to 1.12 (the scale property, so its centring transform stays), an article's drawing turns -4deg at 1.12 (.5s) */
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-btn{transition:transform calc(.25s * var(--fs-anim-speed, 1)) var(--fs-tw-ease),box-shadow calc(.25s * var(--fs-anim-speed, 1)),background calc(.25s * var(--fs-anim-speed, 1))}
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-btn:hover:not(:disabled){transform:var(--fs-anim-twLift, translateY(calc(-2px * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-btn:hover:active{transform:none}
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-card{transition:transform calc(.35s * var(--fs-anim-speed, 1)) var(--fs-tw-ease),box-shadow calc(.35s * var(--fs-anim-speed, 1)) var(--fs-tw-ease),border-color calc(.35s * var(--fs-anim-speed, 1))}
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-lift:hover{transform:var(--fs-anim-twLift, translateY(calc(-6px * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-trust-item{transition:transform calc(.3s * var(--fs-anim-speed, 1)) var(--fs-tw-ease),box-shadow calc(.3s * var(--fs-anim-speed, 1)) var(--fs-tw-ease),border-color calc(.3s * var(--fs-anim-speed, 1)) var(--fs-tw-ease)}
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-trust-item:hover{transform:var(--fs-anim-twLift, translateY(calc(-5px * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-badge{transition:transform calc(.3s * var(--fs-anim-speed, 1)) var(--fs-tw-ease),box-shadow calc(.3s * var(--fs-anim-speed, 1)) var(--fs-tw-ease)}
  [data-fs-motion="on"] .fs-tw-anim :is(.fs-tw-card,.fs-tw-trust-item):hover .fs-tw-badge{transform:var(--fs-anim-twLift, scale(calc(1 + .07 * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-link-arrow{transition:background-size calc(.3s * var(--fs-anim-speed, 1)) var(--fs-tw-ease)}
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-link-arrow .fs-tw-ic{transition:transform calc(.25s * var(--fs-anim-speed, 1))}
  [data-fs-motion="on"] .fs-tw-anim a.fs-tw-link-arrow:hover .fs-tw-ic{transform:var(--fs-anim-twLift, translateX(calc(4px * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-ap-t{transition:background calc(.25s * var(--fs-anim-speed, 1)) var(--fs-tw-ease),border-color calc(.25s * var(--fs-anim-speed, 1)) var(--fs-tw-ease),box-shadow calc(.25s * var(--fs-anim-speed, 1)) var(--fs-tw-ease),transform calc(.25s * var(--fs-anim-speed, 1)) var(--fs-tw-ease)}
  [data-fs-motion="on"] .fs-tw-anim button.fs-tw-ap-t:hover{transform:var(--fs-anim-twLift, translateY(calc(-3px * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-hot{transition:background calc(.2s * var(--fs-anim-speed, 1)),color calc(.2s * var(--fs-anim-speed, 1)),scale calc(.2s * var(--fs-anim-speed, 1))}
  [data-fs-motion="on"] .fs-tw-anim button.fs-tw-hot:hover{scale:var(--fs-anim-twLift, calc(1 + .12 * var(--fs-motion-dist, 1)))}
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-art-ic{transition:transform calc(.5s * var(--fs-anim-speed, 1)) var(--fs-tw-ease)}
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-art:hover .fs-tw-art-ic{transform:var(--fs-anim-twLift, scale(calc(1 + .12 * var(--fs-motion-dist, 1))) rotate(calc(-4deg * var(--fs-motion-dist, 1))))}

  /* twRipple — a soft ripple spreads from the point pressed (.65s) */
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-ripple{animation:var(--fs-anim-twRipple, fs-tw-ripple calc(.65s * var(--fs-anim-speed, 1)) ease-out backwards)}

  /* colour changes (no movement): the source's .2s / .25s / .3s fades */
  [data-fs-motion="on"] .fs-tw-anim :is(.fs-tw-chip,.fs-tw-fd-tab,.fs-tw-ft-a,.fs-tw-car-arr){transition:background calc(.2s * var(--fs-anim-speed, 1)),border-color calc(.2s * var(--fs-anim-speed, 1)),color calc(.2s * var(--fs-anim-speed, 1))}
  [data-fs-motion="on"] .fs-tw-anim :is(.fs-tw-cx-tab,.fs-tw-gp){transition:background calc(.25s * var(--fs-anim-speed, 1)) var(--fs-tw-ease),border-color calc(.25s * var(--fs-anim-speed, 1)) var(--fs-tw-ease),color calc(.25s * var(--fs-anim-speed, 1)) var(--fs-tw-ease),transform calc(.25s * var(--fs-anim-speed, 1)) var(--fs-tw-ease)}
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-car-dot{transition:background calc(.3s * var(--fs-anim-speed, 1)),width calc(.3s * var(--fs-anim-speed, 1))}
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-input{transition:border-color calc(.2s * var(--fs-anim-speed, 1)),box-shadow calc(.2s * var(--fs-anim-speed, 1))}
  [data-fs-motion="on"] .fs-tw-anim .fs-tw-acc-item{transition:border-color calc(.25s * var(--fs-anim-speed, 1))}

  /* ── Motion Subtle: the SOURCE's own Subtle where it is stricter
     (controller ruling, Task 9; Ledger L52 / L57), on top of the platform's
     distance and time factors. Tidewell only: the theme's own blocks and
     the shell's data-fs-motion-level (siteShell puts it beside
     data-fs-motion on the one wrapper). The source:
     html[data-motion=subtle] *{animation-iteration-count:1} — a loop on an
     ELEMENT plays once and rests (the foot map's spots, the map pins); its
     star does not reach pseudo-elements, so the avatar ring (.av::after) and
     the header trail keep looping there, and here (slower); the marquee
     keeps running at 160s; the team card cross-fades its faces (.25s)
     instead of turning — the source's own intent (its rule names
     .flip-f / .flip-b, classes its cards do not carry, P64). Measured
     against the source: L52 / L57. */
  [data-fs-motion="on"][data-fs-motion-level="subtle"] .fs-tw-anim :is(.fs-tw-hot:not(.is-on),.fs-tw-pin-pulse){animation-iteration-count:1}
  [data-fs-motion="on"][data-fs-motion-level="subtle"] .fs-tw-anim .fs-tw-mq-track:not([data-wrap]){animation-duration:calc(160s * var(--fs-anim-speed, 1.7) / 1.7)}
  [data-fs-motion="on"][data-fs-motion-level="subtle"] .fs-tw-anim .fs-tw-flip-in{transform:none;transition:none}
  [data-fs-motion="on"][data-fs-motion-level="subtle"] .fs-tw-anim .fs-tw-face{-webkit-backface-visibility:visible;backface-visibility:visible;transform:none;transition:var(--fs-anim-twFlip, opacity calc(.25s * var(--fs-anim-speed, 1)) ease)}
  [data-fs-motion="on"][data-fs-motion-level="subtle"] .fs-tw-anim .fs-tw-flip:not(.is-on) .fs-tw-face-back,
  [data-fs-motion="on"][data-fs-motion-level="subtle"] .fs-tw-anim .fs-tw-flip.is-on .fs-tw-face-front{opacity:0}
}


@property --fs-hw-vw{syntax:'<length>';inherits:true;initial-value:0px}

/* ── family root ──────────────────────────────────────────────── */
.fs-hw{
  container-type:inline-size;container-name:fs-hw;
  position:relative;
  color:rgb(var(--c-ink-950));
  font-family:var(--font-sans,'Inter',system-ui,sans-serif);
  /* body{font-size:16.5px;line-height:1.65} */
  font-size:16.5px;line-height:1.65;
  --fs-hw-tint:color-mix(in srgb,rgb(var(--c-brand-600)) 6%,rgb(var(--c-paper)));
  --fs-hw-ease:cubic-bezier(.2,.8,.2,1);
  /* white on the brand, at the source's alphas */
  --fs-hw-on-brand-82:color-mix(in srgb,var(--fs-on-brand) 82%,transparent);
  --fs-hw-on-brand-85:color-mix(in srgb,var(--fs-on-brand) 85%,transparent);
  --fs-hw-on-brand-70:color-mix(in srgb,var(--fs-on-brand) 70%,transparent);
  --fs-hw-on-brand-55:color-mix(in srgb,var(--fs-on-brand) 55%,transparent);
  --fs-hw-on-brand-78:color-mix(in srgb,var(--fs-on-brand) 78%,transparent);
  --fs-hw-on-brand-84:color-mix(in srgb,var(--fs-on-brand) 84%,transparent);
  /* physical shade (black in every palette) and the source's fixed ink
     on the gold buttons (.btn-gold{color:#14161a}, both modes) */
  --fs-hw-shade:#000000;
  --fs-hw-on-gold:#14161a;
  /* the urgent panel's fixed night gradient (.urgent, both modes) */
  --fs-hw-night-a:#121821;
  --fs-hw-night-b:#1b2330;
  /* the source's own contrast fix: gold as TEXT on a light ground is a
     deeper bronze (gold 55% into black); the gold itself in dark mode */
  --fs-hw-bronze:color-mix(in srgb,rgb(var(--c-accent)) 55%,var(--fs-hw-shade));
  /* --btn-bg / --btn-ink: the brand fill + white in light mode, the gold
     + the gold ink in dark mode (html[data-mode=dark]) */
  --fs-hw-btn-bg:rgb(var(--c-brand-600));
  --fs-hw-btn-ink:var(--fs-on-brand);
  /* the focus ring / focused field edge: the source's gold measures 2.2–2.7:1
     on the cream page (1.4.11), so the bronze in light mode, the gold in
     dark (Task 5c review); the error red, lifted 20% toward white on the
     dark grounds (4.25 → AA) */
  --fs-hw-focus:var(--fs-hw-bronze);
  /* the hero's eyebrow: the source's gold on the navy hero measures
     4.25–4.32:1 and small words need 4.5, so a shade lighter (15% toward
     the on-brand white; ~5:1). Owner sign-off 2026-10-12, Ledger L45 */
  --fs-hw-gold-on-navy:color-mix(in srgb,rgb(var(--c-accent)) 85%,var(--fs-on-brand));
  --fs-hw-err:rgb(var(--fs-status-bad));
  /* --shadow (light) and the hero sheet's deep drop */
  --fs-hw-shadow:0 18px 40px -22px rgba(20,30,50,.28);
  --fs-hw-shadow-deep:rgba(0,0,0,.6);
}
.dark .fs-hw{
  --fs-hw-tint:color-mix(in srgb,rgb(var(--c-brand-600)) 24%,rgb(var(--c-paper)));
  --fs-hw-bronze:rgb(var(--c-accent));
  --fs-hw-btn-bg:rgb(var(--c-accent));
  --fs-hw-btn-ink:var(--fs-hw-on-gold);
  --fs-hw-err:color-mix(in srgb,rgb(var(--fs-status-bad)) 80%,var(--fs-on-brand));
  --fs-hw-shadow:0 18px 40px -20px rgba(0,0,0,.8);
}
/* The site wrapper's own light marker beats a .dark on <html> that came
   from the visitor's OS (Brimwell's / Tidewell's rule). */
.fs-preview-light .fs-hw{
  --fs-hw-tint:color-mix(in srgb,rgb(var(--c-brand-600)) 6%,rgb(var(--c-paper)));
  --fs-hw-err:rgb(var(--fs-status-bad));
  --fs-hw-bronze:color-mix(in srgb,rgb(var(--c-accent)) 55%,var(--fs-hw-shade));
  --fs-hw-btn-bg:rgb(var(--c-brand-600));
  --fs-hw-btn-ink:var(--fs-on-brand);
  --fs-hw-shadow:0 18px 40px -22px rgba(20,30,50,.28);
}
.fs-hw *,.fs-hw *::before,.fs-hw *::after{box-sizing:border-box}
.fs-hw-wire{filter:grayscale(1) contrast(.5)}
.fs-hw a{color:inherit;text-decoration:none}

/* ── base: .wrap, type ────────────────────────────────────────── */
/* .wrap{max-width:var(--w) /1180px/;padding:0 24px} — the width follows a
   Site Settings layout first (--fs-layout-max), then the theme's shell. */
.fs-hw-wrap{
  --fs-hw-vw:1cqi;
  container-type:inline-size;container-name:fs-hw-wrap;
  width:100%;max-width:var(--fs-layout-max,var(--fs-shell-max,1180px));
  margin:0 auto;padding:0 24px;
}
/* h1,h2,h3,h4{font-family:var(--ff-head);line-height:1.14;
   letter-spacing:-.01em;margin:0 0 .5em;font-weight:600} */
.fs-hw h1,.fs-hw h2,.fs-hw h3,.fs-hw h4{
  font-family:var(--font-display,'Noto Serif Display',Georgia,'Times New Roman',serif);
  line-height:1.14;letter-spacing:-.01em;font-weight:600;margin:0 0 .5em;color:rgb(var(--c-ink-950));
}
.fs-hw p{margin:0 0 1em}
.fs-hw-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* Editor-only affordances: rendered ONLY while editing (HarlowBlocks.tsx). */
.fs-hw-missing{display:inline-block;padding:0 6px;border:1px dashed rgb(var(--c-ink-400) / .7);border-radius:4px;font-size:.8em;font-weight:600;color:rgb(var(--c-ink-400))}
.fs-hw-missing::before{content:attr(data-missing)}
.fs-hw-ed{position:relative;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px 16px;margin:0 auto 20px;max-width:var(--fs-layout-max,var(--fs-shell-max,1180px));padding:12px;border:1px dashed rgb(var(--c-ink-400) / .6);border-radius:6px;font-size:.8125rem;line-height:1.4;color:rgb(var(--c-ink-950))}
.fs-hw-ed>div::before{content:attr(data-ed);display:block;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--c-ink-400))}

/* ══ favHwPageHead — .page-hero ═════════════════════════════════
   .page-hero{background:linear-gradient(135deg,var(--accent),
   color-mix(in srgb,var(--accent) 52%,#000));color:#fff;
   padding:72px 0 64px;position:relative;overflow:hidden}
   .page-hero::before{repeating-linear-gradient(90deg,
   rgba(255,255,255,.035) 0 1px,transparent 1px 90px)} */
.fs-hw-pagehead{
  position:relative;overflow:hidden;color:var(--fs-on-brand);
  background:linear-gradient(135deg,rgb(var(--c-brand-600)),rgb(var(--c-brand-700)));
}
.fs-hw-pagehead::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--fs-on-brand) 3.5%,transparent) 0 1px,transparent 1px 90px)}
.fs-hw-pagehead>.fs-hw-wrap{position:relative;z-index:2;padding-top:72px;padding-bottom:64px}
/* .page-hero h1{color:#fff;font-size:clamp(2rem,4vw,3.1rem);margin-bottom:.3em} */
.fs-hw.fs-hw-pagehead .fs-hw-h1{color:var(--fs-on-brand);font-size:clamp(2rem,calc(4 * var(--fs-hw-vw)),3.1rem);margin-bottom:.3em}
/* .page-hero p{color:rgba(255,255,255,.82);max-width:640px;font-size:1.1rem;margin:0} */
.fs-hw .fs-hw-ph-lede{color:var(--fs-hw-on-brand-82);max-width:640px;font-size:1.1rem;margin:0}
/* .crumbs{font-size:.84rem;color:rgba(255,255,255,.7);margin-bottom:16px}
   .crumbs a{color:rgba(255,255,255,.85)} */
.fs-hw-crumbs{font-size:.84rem;color:var(--fs-hw-on-brand-70);margin-bottom:16px}
.fs-hw .fs-hw-crumb-a{color:var(--fs-hw-on-brand-85)}
/* The optional banner photo (S05 / S06 / S07): behind the words, veiled
   with the head's own gradient so the white text keeps its contrast. */
.fs-hw-ph-photo{position:absolute;inset:0}
.fs-hw-ph-photo>*,.fs-hw-ph-photo img{width:100%;height:100%}
.fs-hw-ph-photo img{object-fit:cover}
.fs-hw-pagehead[data-has-img]>.fs-hw-ph-photo::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(135deg,color-mix(in srgb,rgb(var(--c-brand-600)) 86%,transparent),color-mix(in srgb,rgb(var(--c-brand-700)) 92%,transparent))}
/* An empty image control (editing only) keeps no fill and no label, so
   the head looks like the source until a photo is added. */
.fs-hw-ph-photo[data-empty]>[data-editable]{background:transparent}
.fs-hw-ph-photo[data-empty]>[data-editable]>span:first-child{visibility:hidden}

/* Site Settings layouts — the source's html[data-layout=centered] and
   [data-layout=minimalist] page-hero rules, on the platform's ids. */
[data-fs-layout="centered"] .fs-hw-pagehead{text-align:center}
[data-fs-layout="centered"] .fs-hw .fs-hw-ph-lede{margin-inline:auto}
/* .page-hero{background:var(--bg);color:var(--ink);border-bottom:1px solid
   var(--line);padding:56px 0} ::before none; h1 ink; p, crumbs muted */
[data-fs-layout="minimal"] .fs-hw-pagehead{background:rgb(var(--c-paper));color:rgb(var(--c-ink-950));border-bottom:1px solid rgb(var(--c-line))}
[data-fs-layout="minimal"] .fs-hw-pagehead::before{display:none}
[data-fs-layout="minimal"] .fs-hw-pagehead>.fs-hw-wrap{padding-top:56px;padding-bottom:56px}
[data-fs-layout="minimal"] .fs-hw.fs-hw-pagehead .fs-hw-h1{color:rgb(var(--c-ink-950));font-weight:500}
[data-fs-layout="minimal"] .fs-hw .fs-hw-ph-lede,[data-fs-layout="minimal"] .fs-hw-crumbs,[data-fs-layout="minimal"] .fs-hw .fs-hw-crumb-a{color:rgb(var(--c-ink-400))}
[data-fs-layout="minimal"] .fs-hw-pagehead[data-has-img]>.fs-hw-ph-photo::after{background:color-mix(in srgb,rgb(var(--c-paper)) 90%,transparent)}

/* .wrap keeps padding:0 24px at every width (the source has no phone
   override for it). */

/* ── base: .eyebrow, .ic, .btn (.btn-gold .btn-outline-light), .link-arrow,
   .icon-badge (port Task 4; shared by later blocks) ─────────────── */
/* .eyebrow{font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;
   font-weight:600;color:var(--gold);margin-bottom:14px} — and the
   source's own fix: gold on ivory is 2.5:1 in light mode, so a deeper
   bronze (gold 55% into black) on light grounds; the hero keeps gold. */
.fs-hw-eyebrow{display:inline-block;font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--fs-hw-bronze);margin-bottom:14px}
.fs-hw-ic{width:1.35em;height:1.35em;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:-.25em}
/* .btn{display:inline-flex;align-items:center;gap:10px;font:600 .97rem
   var(--ff-body);padding:14px 26px;border-radius:10px;border:1.5px solid
   transparent} — on .fs-hw a.fs-hw-btn too (the family's a{color:inherit}
   would win otherwise). Hover lift / press / ripple / seal: Task 9. */
.fs-hw .fs-hw-btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:10px;font:600 .97rem/normal var(--font-sans,'Inter',system-ui,sans-serif);padding:14px 26px;border-radius:10px;border:1.5px solid transparent;cursor:pointer;text-decoration:none}
.fs-hw .fs-hw-btn-gold{background:rgb(var(--c-accent));color:var(--fs-hw-on-gold)}
.fs-hw .fs-hw-btn-primary{background:var(--fs-hw-btn-bg);color:var(--fs-hw-btn-ink)}
.fs-hw .fs-hw-btn-outline{border-color:color-mix(in srgb,var(--fs-on-brand) 50%,transparent);color:var(--fs-on-brand)}
.fs-hw .fs-hw-btn-ghost{border-color:rgb(var(--c-line));color:rgb(var(--c-ink-950));background:transparent}
.fs-hw .fs-hw-link-arrow{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.95rem;color:rgb(var(--c-brand-text));padding-bottom:2px}
.fs-hw-icon-badge{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,rgb(var(--c-accent)) 18%,transparent);color:rgb(var(--c-accent));margin-bottom:18px;font-size:1.25rem}

/* ══ favHwHero — .hero + the matter finder (.ih-*) ═════════════
   .hero{color:#fff;background:radial-gradient(900px 500px at 85% -10%,
   gold 28%,transparent 60%),linear-gradient(135deg,var(--accent),
   accent 52% into black)} + the faint vertical rules (::before). */
.fs-hw-hero{position:relative;overflow:hidden;color:var(--fs-on-brand);
  background:
    radial-gradient(900px 500px at 85% -10%,color-mix(in srgb,rgb(var(--c-accent)) 28%,transparent),transparent 60%),
    linear-gradient(135deg,rgb(var(--c-brand-600)),rgb(var(--c-brand-700)));
  --fs-hw-ih-fg:var(--fs-on-brand);--fs-hw-ih-soft:var(--fs-hw-on-brand-84);
  --fs-hw-ih-tabbg:color-mix(in srgb,var(--fs-on-brand) 8%,transparent);--fs-hw-ih-tabbd:color-mix(in srgb,var(--fs-on-brand) 26%,transparent);
  --fs-hw-ih-tabhov:color-mix(in srgb,var(--fs-on-brand) 18%,transparent);
  --fs-hw-ih-ring:color-mix(in srgb,rgb(var(--c-accent)) 55%,var(--fs-on-brand));
  --fs-hw-ih-gold:var(--fs-hw-bronze);
  --fs-hw-ih-tabic:color-mix(in srgb,rgb(var(--c-accent)) 60%,var(--fs-on-brand));
}
.fs-hw-hero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--fs-on-brand) 3.5%,transparent) 0 1px,transparent 1px 90px)}
/* #view .hero .wrap.ih-grid{grid-template-columns:minmax(0,1fr) 224px;
   grid-template-areas:"copy art" "tool tool";column-gap:48px;row-gap:20px;
   padding-top:28px;padding-bottom:48px} */
.fs-hw-ih-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 224px;grid-template-areas:"copy art" "tool tool";column-gap:48px;row-gap:20px;align-items:start;justify-items:stretch;text-align:left;padding-top:28px;padding-bottom:48px}
.fs-hw-ih-copy{grid-area:copy;display:flex;flex-direction:column;align-items:flex-start;min-width:0;align-self:center}
.fs-hw-hero .fs-hw-eyebrow{color:var(--fs-hw-gold-on-navy);margin-bottom:8px}
/* #view .hero .ih-copy h1{font-size:clamp(2rem,3vw,2.5rem);margin:0 0 12px} */
.fs-hw.fs-hw-hero .fs-hw-h1{color:var(--fs-on-brand);font-size:clamp(2rem,calc(3 * var(--fs-hw-vw)),2.5rem);margin:0 0 12px}
.fs-hw-hero .fs-hw-h1 em{font-style:italic;color:rgb(var(--c-accent))}
/* .hero p.lead{color:rgba(255,255,255,.82)} + ih: 1.05rem/1.6, 0 0 20px, max 760 */
.fs-hw .fs-hw-lead{font-size:1.05rem;line-height:1.6;margin:0 0 20px;max-width:760px;color:var(--fs-hw-on-brand-82)}
.fs-hw-ih-cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:16px 32px}
.fs-hw-actions{display:flex;gap:14px;flex-wrap:wrap}
/* .hero .proof{gap:24px;color:rgba(255,255,255,.78);font-size:.86rem}
   .proof b{display:block;font:600 1.25rem/1.2 var(--ff-head);color:#fff} */
.fs-hw-proof{display:flex;gap:24px;flex-wrap:wrap;margin:0;color:var(--fs-hw-on-brand-78);font-size:.86rem;line-height:1.65}
.fs-hw-proof b{display:block;font:600 1.25rem/1.2 var(--font-display,'Noto Serif Display',Georgia,serif);color:var(--fs-on-brand)}
/* the artwork: 224px beside the copy, no float in the finder layout */
.fs-hw-hero-art{grid-area:art;position:relative;aspect-ratio:1/1;width:224px;justify-self:end;align-self:center}
.fs-hw-hero-svg{display:block;width:100%;height:100%}
.fs-hw-art-ring{stroke:var(--fs-on-brand);stroke-opacity:.14}
.fs-hw-art-dash{stroke:rgb(var(--c-accent));stroke-opacity:.45}
.fs-hw-art-portico{fill:var(--fs-on-brand);fill-opacity:.1;stroke:var(--fs-on-brand);stroke-opacity:.8}
.fs-hw-art-scales{stroke:rgb(var(--c-accent))}
/* S01: an optional photo over the drawing (square, rounded like the cards) */
.fs-hw-hero-photo{position:absolute;inset:0;border-radius:14px;overflow:hidden}
.fs-hw-hero-photo>*,.fs-hw-hero-photo img{width:100%;height:100%}
.fs-hw-hero-photo img{object-fit:cover}
.fs-hw-hero-photo[data-empty]>[data-editable]{background:transparent}
.fs-hw-hero-photo[data-empty]>[data-editable]>span:first-child{visibility:hidden}
/* .hero-badge (finder layout): right:0;bottom:-16px;padding:8px 16px;
   gap:12px; white surface, ink, radius 14, deep shadow */
.fs-hw-hero-badge{position:absolute;right:0;bottom:-16px;z-index:2;display:flex;gap:12px;align-items:center;padding:8px 16px;white-space:nowrap;background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));border-radius:14px;box-shadow:0 24px 48px -18px var(--fs-hw-shadow-deep);font-size:.86rem;line-height:1.65}
.fs-hw-hero-badge b{display:block;font-size:.98rem}
.fs-hw-hero-badge .fs-hw-icon-badge{margin:0;width:36px;height:36px;border-radius:10px}

/* .ih: the tool */
.fs-hw-ih{grid-area:tool;position:relative;display:grid;gap:12px;min-width:0;text-align:left;color:var(--fs-hw-ih-fg)}
.fs-hw-ih-top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 24px}
.fs-hw.fs-hw-hero .fs-hw-ih h2{font-size:1.4rem;margin:0;color:var(--fs-hw-ih-fg)}
.fs-hw .fs-hw-ih-sub{margin:0;font-size:.92rem;line-height:1.5;color:var(--fs-hw-ih-soft)}
.fs-hw-ih fieldset{border:0;margin:0;padding:0;min-width:0}
/* folder tabs: a native radio group, one tab per matter */
.fs-hw-ih-tabs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.fs-hw-ih-tab{position:relative;display:block;min-width:0}
/* the finder's radios are the source's invisible hit areas: the tool opts
   out of the platform's modern-controls skin (data-fs-no-modern-controls) */
.fs-hw .fs-hw-ih-tab>input[type="radio"],.fs-hw .fs-hw-ih-opt>input[type="radio"]{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer;z-index:2;appearance:none}
.fs-hw-ih-tab-in{position:relative;display:flex;align-items:center;justify-content:center;gap:6px;min-height:52px;padding:8px 6px;border:1px solid var(--fs-hw-ih-tabbd);border-bottom:0;border-radius:14px 14px 0 0;background:var(--fs-hw-ih-tabbg);color:var(--fs-hw-ih-fg);font:600 .9rem/1.25 var(--font-sans,'Inter',system-ui,sans-serif);text-align:center}
.fs-hw-ih-tab-in .fs-hw-ic{width:18px;height:18px;flex:none;color:var(--fs-hw-ih-tabic)}
.fs-hw-ih-tab-in::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;border-radius:14px 14px 0 0;background:rgb(var(--c-accent));transform:scaleX(0);transform-origin:left}
.fs-hw-ih-tab:hover .fs-hw-ih-tab-in{background:var(--fs-hw-ih-tabhov)}
.fs-hw-ih-tab.is-on .fs-hw-ih-tab-in{z-index:1;background:rgb(var(--c-paper-soft));border-color:rgb(var(--c-line));box-shadow:0 2px 0 rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950))}
.fs-hw-ih-tab.is-on .fs-hw-ih-tab-in::before{transform:scaleX(1)}
.fs-hw-ih-tab.is-on .fs-hw-ih-tab-in .fs-hw-ic{color:var(--fs-hw-ih-gold)}
.fs-hw-ih-tab input:focus-visible+.fs-hw-ih-tab-in,.fs-hw-ih-opt input:focus-visible+.fs-hw-ih-opt-in{outline:3px solid var(--fs-hw-ih-ring);outline-offset:2px}
/* the sheet */
.fs-hw-ih-paper{--fs-hw-ih-ring:rgb(var(--c-brand-text));display:grid;grid-template-columns:minmax(0,288px) minmax(0,1fr);min-width:0;overflow:hidden;background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));border:1px solid rgb(var(--c-line));border-radius:14px;box-shadow:var(--fs-hw-shadow),0 32px 56px -32px var(--fs-hw-shadow-deep)}
.fs-hw-ih[data-first="1"] .fs-hw-ih-paper{border-top-left-radius:0}
.fs-hw-ih[data-last="1"] .fs-hw-ih-paper{border-top-right-radius:0}
.fs-hw-ih-ask{display:flex;flex-direction:column;gap:16px;min-width:0;padding:20px;background:var(--fs-hw-tint);border-right:1px solid rgb(var(--c-line))}
.fs-hw-ih-ask legend{display:block;width:100%;float:left;padding:0;margin:0 0 8px;font:600 .72rem/1.3 var(--font-sans,'Inter',system-ui,sans-serif);letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
.fs-hw-ih-ask legend+*{clear:both}
.fs-hw-ih-opts{display:grid;gap:8px}
.fs-hw-ih-opt{position:relative;display:block;min-width:0}
.fs-hw-ih-opt-in{display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 12px;border:1.5px solid rgb(var(--c-line));border-radius:10px;background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));font:500 .92rem/1.35 var(--font-sans,'Inter',system-ui,sans-serif)}
.fs-hw-ih-opt:hover .fs-hw-ih-opt-in{border-color:var(--fs-hw-ih-gold)}
.fs-hw-ih-dot{display:grid;place-items:center;flex:none;width:20px;height:20px;border-radius:50%;border:2px solid color-mix(in srgb,rgb(var(--c-ink-400)) 60%,rgb(var(--c-line)))}
.fs-hw-ih-dot::after{content:"";width:8px;height:8px;border-radius:50%;background:rgb(var(--c-paper-soft));transform:scale(0)}
.fs-hw-ih-opt.is-on .fs-hw-ih-opt-in{border-color:var(--fs-hw-btn-bg);background:color-mix(in srgb,var(--fs-hw-btn-bg) 8%,rgb(var(--c-paper-soft)));box-shadow:inset 3px 0 0 rgb(var(--c-accent))}
.fs-hw-ih-opt.is-on .fs-hw-ih-dot{background:var(--fs-hw-btn-bg);border-color:var(--fs-hw-btn-bg)}
.fs-hw-ih-opt.is-on .fs-hw-ih-dot::after{background:var(--fs-hw-btn-ink);transform:scale(1)}
.fs-hw-ih-seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
.fs-hw-ih-opt-s .fs-hw-ih-opt-in{justify-content:center;height:100%;padding:8px 4px;font-size:.84rem;text-align:center}
.fs-hw-ih-opt-s.is-on .fs-hw-ih-opt-in{background:var(--fs-hw-btn-bg);color:var(--fs-hw-btn-ink);border-color:var(--fs-hw-btn-bg);box-shadow:none}
/* stacks: every result in one grid cell; only the chosen one shows */
.fs-hw-ih-stack{display:grid;min-width:0}
.fs-hw-ih-stack>*{grid-area:1/1;min-width:0;visibility:hidden}
.fs-hw-ih-stack>.is-on{visibility:visible}
.fs-hw-ih-note{padding:12px 12px 12px 16px;border-left:3px solid rgb(var(--c-accent));border-radius:0 10px 10px 0;background:color-mix(in srgb,rgb(var(--c-paper-soft)) 70%,transparent);font-size:.86rem;line-height:1.5;color:rgb(var(--c-ink-400))}
.fs-hw .fs-hw-ih-note p{margin:0;font-size:.86rem;line-height:1.5;color:rgb(var(--c-ink-950))}
/* the result */
.fs-hw-ih-res{display:flex;flex-direction:column;gap:16px;min-width:0;padding:20px 24px}
.fs-hw-ih-out{min-width:0}
.fs-hw-docket{position:relative}
.fs-hw-docket-mark{position:absolute;right:16px;bottom:10px;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:58px;height:58px;border-radius:50%;border:2px solid rgb(var(--c-brand-text));transform:rotate(-11deg);color:rgb(var(--c-brand-text));font:800 .56rem/1.05 var(--font-sans,'Inter',system-ui,sans-serif);letter-spacing:.04em;text-transform:uppercase;pointer-events:none}
.fs-hw-docket-mark::before{content:"";position:absolute;inset:5px;border:1px solid rgb(var(--c-brand-text));border-radius:50%;opacity:.55}
.fs-hw-docket .fs-hw-ih-legal{padding-right:62px}
.fs-hw-ih-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px 24px}
.fs-hw-ih-ttl{flex:1 1 0;min-width:0}
.fs-hw.fs-hw-hero .fs-hw-ih-head h3{font-size:1.5rem;margin:0 0 4px}
.fs-hw .fs-hw-ih-why{margin:0;font-size:.93rem;line-height:1.5;color:rgb(var(--c-ink-400))}
.fs-hw .fs-hw-ih-go{flex:0 1 340px;justify-content:center;text-align:center;white-space:normal;line-height:1.35;gap:12px}
.fs-hw-ih-fee{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.2fr) minmax(0,.9fr);gap:16px 24px;margin-top:12px;padding:12px 16px;border-radius:12px;background:var(--fs-hw-tint);border:1px solid rgb(var(--c-line))}
.fs-hw-ih-fee section{min-width:0}
.fs-hw.fs-hw-hero .fs-hw-ih-fee h4,.fs-hw.fs-hw-hero .fs-hw-ih-col h4{padding:0;margin:0 0 4px;font:600 .72rem/1.3 var(--font-sans,'Inter',system-ui,sans-serif);letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
.fs-hw .fs-hw-ih-fee p{margin:0;font-size:.86rem;line-height:1.45;color:rgb(var(--c-ink-950))}
.fs-hw .fs-hw-ih-fee .fs-hw-ih-amt{display:flex;flex-direction:column;gap:2px}
.fs-hw-ih-amt b{font:600 clamp(1.35rem,calc(1.8 * var(--fs-hw-vw)),1.6rem)/1.15 var(--font-display,'Noto Serif Display',Georgia,serif);color:rgb(var(--c-ink-950))}
.fs-hw-ih-amt small{font-size:.74rem;line-height:1.35;letter-spacing:.04em;color:rgb(var(--c-ink-400));text-transform:uppercase;font-weight:600}
.fs-hw .fs-hw-ih-more{display:inline-flex;align-items:center;min-height:24px;margin-top:4px;font-size:.86rem}
.fs-hw-ih-more .fs-hw-ic{width:1.2em;height:1.2em}
.fs-hw-ih-cols{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:24px;margin-top:16px}
.fs-hw-ih-col{min-width:0}
.fs-hw.fs-hw-hero .fs-hw-ih-col h4{margin-bottom:8px}
.fs-hw-ih-col ol,.fs-hw-ih-col ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
/* classed (fs-hw-ih-li): the platform's .fs-typo li:not([class]) sets
   line-height 1.6 (Tidewell P26) */
.fs-hw-ih-col li{font-size:.9rem;line-height:1.45;color:rgb(var(--c-ink-950))}
.fs-hw-ih-steps ol{counter-reset:fshwihs}
.fs-hw-ih-steps li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;align-items:start}
.fs-hw-ih-steps li::before{counter-increment:fshwihs;content:counter(fshwihs);font:600 1.3rem/1.1 var(--font-display,'Noto Serif Display',Georgia,serif);color:var(--fs-hw-ih-gold)}
.fs-hw-ih-bring li{position:relative;padding-left:24px}
.fs-hw-ih-bring li::before{content:"";position:absolute;left:2px;top:5px;width:10px;height:5px;border-left:2px solid var(--fs-hw-ih-gold);border-bottom:2px solid var(--fs-hw-ih-gold);transform:rotate(-45deg)}
.fs-hw-ih-legal{margin-top:auto}
.fs-hw .fs-hw-ih-legal p{margin:0;font-size:.78rem;line-height:1.5;color:rgb(var(--c-ink-400))}
.fs-hw .fs-hw-ih-tel{font-weight:600;text-decoration:underline;text-underline-offset:2px}
.fs-hw-ih-paper .fs-hw-btn:focus-visible,.fs-hw-ih-paper .fs-hw-link-arrow:focus-visible,.fs-hw-ih-tel:focus-visible{outline:3px solid var(--fs-hw-ih-ring);outline-offset:2px}
/* editor-only: the answer pickers (data-editor-ui) */
.fs-hw-ed-pick{display:flex;align-items:center;justify-content:center;gap:8px;font-size:.8125rem;color:var(--fs-hw-ih-soft)}
.fs-hw-ed-pick::before{content:attr(data-ed)}
.fs-hw-ed-pick>span{color:var(--fs-hw-ih-fg);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fs-hw-ed-pick button{flex:none;width:28px;height:28px;display:grid;place-items:center;font:inherit;font-size:1rem;line-height:1;color:rgb(var(--c-ink-950));background:rgb(var(--c-paper-soft));border:1px dashed rgb(var(--c-ink-400) / .7);border-radius:6px;cursor:pointer}
.fs-hw-hero .fs-hw-ed{background:rgb(var(--c-paper-soft))}

/* Site Settings layouts — the source's html[data-layout=centered] and
   [data-layout=minimalist] hero rules, on the platform's ids. */
[data-fs-layout="centered"] .fs-hw-ih-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "tool";text-align:center}
[data-fs-layout="centered"] .fs-hw-ih-copy{align-items:center}
[data-fs-layout="centered"] .fs-hw-ih-cta-row{justify-content:center}
[data-fs-layout="centered"] .fs-hw-hero-art{display:none}
[data-fs-layout="minimal"] .fs-hw-hero{background:rgb(var(--c-paper));color:rgb(var(--c-ink-950));border-bottom:1px solid rgb(var(--c-line));
  --fs-hw-ih-fg:rgb(var(--c-ink-950));--fs-hw-ih-soft:rgb(var(--c-ink-400));--fs-hw-ih-tabbg:transparent;--fs-hw-ih-tabbd:rgb(var(--c-line));
  --fs-hw-ih-tabhov:var(--fs-hw-tint);--fs-hw-ih-ring:rgb(var(--c-brand-text));--fs-hw-ih-tabic:var(--fs-hw-ih-gold)}
[data-fs-layout="minimal"] .fs-hw-hero::before{display:none}
[data-fs-layout="minimal"] .fs-hw-ih-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "tool";padding-top:40px;padding-bottom:48px}
[data-fs-layout="minimal"] .fs-hw-hero-art{display:none}
[data-fs-layout="minimal"] .fs-hw.fs-hw-hero .fs-hw-h1{color:rgb(var(--c-ink-950));font-weight:500}
[data-fs-layout="minimal"] .fs-hw-hero .fs-hw-h1 em,[data-fs-layout="minimal"] .fs-hw-hero .fs-hw-eyebrow{color:var(--fs-hw-bronze)}
[data-fs-layout="minimal"] .fs-hw .fs-hw-lead,[data-fs-layout="minimal"] .fs-hw-proof{color:rgb(var(--c-ink-400))}
[data-fs-layout="minimal"] .fs-hw-proof b{color:rgb(var(--c-ink-950))}
[data-fs-layout="minimal"] .fs-hw-hero .fs-hw-btn-gold{background:var(--fs-hw-btn-bg);color:var(--fs-hw-btn-ink)}
[data-fs-layout="minimal"] .fs-hw-hero .fs-hw-btn-outline{border-color:rgb(var(--c-line));color:rgb(var(--c-ink-950))}
[data-fs-layout="minimal"] .fs-hw-ih-paper{box-shadow:none}
[data-fs-layout="minimal"] .fs-hw-ih-tab-in::before{border-radius:0}
[data-fs-layout="minimal"] .fs-hw-ih-amt b,[data-fs-layout="minimal"] .fs-hw.fs-hw-hero .fs-hw-ih-head h3{font-weight:500}
[data-fs-layout="minimal"] .fs-hw-docket-mark{border-radius:4px}
[data-fs-layout="minimal"] .fs-hw-docket-mark::before{border-radius:2px}

/* tablet (source @media max-width:1060px): the folder tabs become chips
   above the sheet, the sheet stacks */
@container fs-hw (max-width:1060px){
  .fs-hw-ih-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
  .fs-hw-ih-tab-in{border-bottom:1px solid var(--fs-hw-ih-tabbd);border-radius:12px;min-height:48px}
  .fs-hw-ih-tab-in::before{border-radius:12px 12px 0 0}
  .fs-hw-ih-tab.is-on .fs-hw-ih-tab-in{border-color:rgb(var(--c-paper-soft));box-shadow:none}
  .fs-hw-ih[data-first="1"] .fs-hw-ih-paper,.fs-hw-ih[data-last="1"] .fs-hw-ih-paper{border-top-left-radius:14px;border-top-right-radius:14px}
  .fs-hw-ih-paper{grid-template-columns:minmax(0,1fr)}
  .fs-hw-ih-ask{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;border-right:0;border-bottom:1px solid rgb(var(--c-line))}
  .fs-hw-ih-ask .fs-hw-ih-note{grid-column:1/-1}
  .fs-hw-ih-grid{padding-top:32px}
  .fs-hw-hero-art{width:160px}
  .fs-hw-docket-mark{display:none}
  .fs-hw-docket .fs-hw-ih-legal{padding-right:0}
}
/* phone (source @media max-width:760px) */
@container fs-hw (max-width:760px){
  .fs-hw-ih-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "tool" "art";row-gap:20px;padding-top:40px;padding-bottom:48px}
  .fs-hw-hero-art{width:160px;justify-self:center}
  .fs-hw-hero-badge{display:none}
  .fs-hw-ih-top{display:grid}
  .fs-hw-ih-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-hw-ih-tab:last-child{grid-column:1/-1}
  .fs-hw-ih-ask{grid-template-columns:minmax(0,1fr);padding:16px}
  .fs-hw-ih-res{padding:16px}
  .fs-hw-ih-head{flex-direction:column;align-items:stretch}
  .fs-hw .fs-hw-ih-go{flex:none;width:100%}
  .fs-hw-ih-cols,.fs-hw-ih-fee{grid-template-columns:minmax(0,1fr)}
  .fs-hw.fs-hw-hero .fs-hw-ih-head h3{font-size:1.35rem}
}

/* ══ Section blocks (port Task 5) ══════════════════════════════
   .section{padding:var(--sp) 0} (92px; 64px under 760) ·
   .section.alt{background:var(--tint)} · .section-head{max-width:660px;
   margin-bottom:46px} .section-head p{color:var(--muted);font-size:1.06rem}
   h2{font-size:clamp(1.75rem,3.4vw,2.7rem)} h3{font-size:1.3rem} */
.fs-hw-sec{background:rgb(var(--c-paper))}
.fs-hw-sec[data-tone="alt"]{background:var(--fs-hw-tint)}
.fs-hw-sec>.fs-hw-wrap{padding-top:92px;padding-bottom:92px}
.fs-hw .fs-hw-h2{font-size:clamp(1.75rem,calc(3.4 * var(--fs-hw-vw)),2.7rem)}
.fs-hw .fs-hw-h3{font-size:1.3rem}
.fs-hw-head{max-width:660px;margin-bottom:46px}
.fs-hw-head-c{margin-inline:auto;text-align:center}
.fs-hw .fs-hw-head-p{color:rgb(var(--c-ink-400));font-size:1.06rem}
.fs-hw .fs-hw-muted{color:rgb(var(--c-ink-400))}
.fs-hw-g3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.fs-hw-g4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
/* .card{background:var(--surface);border:1px solid var(--line);
   border-radius:14px;padding:30px} — hover lift / tilt: Task 9 */
.fs-hw-card{background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));border-radius:14px;padding:30px}
/* .svc h3{margin-bottom:.4em} .svc p{font-size:.97rem} — the practice
   cards only (the ones with a link); the values cards keep the base */
.fs-hw-svc .fs-hw-h3{margin-bottom:.4em}
.fs-hw .fs-hw-svc p{font-size:.97rem}
/* .list-check (the platform's .fs-typo li:not([class]) trap: classed) */
.fs-hw-list-check{list-style:none;padding:0;margin:0 0 18px}
.fs-hw-list-check .fs-hw-li{display:flex;gap:10px;padding:5px 0;color:rgb(var(--c-ink-400));font-size:.97rem;line-height:1.65}
.fs-hw-list-check .fs-hw-ic{color:rgb(var(--c-accent));margin-top:3px}

/* favHwTrust — .trust{border-bottom:1px solid var(--line);background:var(--surface)}
   .trust .wrap{display:flex;align-items:center;gap:34px;padding:22px 24px} */
.fs-hw-trust{background:rgb(var(--c-paper-soft));border-bottom:1px solid rgb(var(--c-line));overflow:hidden}
.fs-hw-trust-in{display:flex;align-items:center;gap:34px;padding-top:22px;padding-bottom:22px}
/* The strip's pause button (WCAG 2.2.2, L44): the carousel's round 44px
   button, laid OVER the strip's faded right edge (out of the flow, so its
   arrival after mount moves nothing). */
.fs-hw-marq-box{position:relative;flex:1;min-width:0}
.fs-hw-marq-box > .fs-hw-marq{width:100%}
.fs-hw .fs-hw-arr.fs-hw-marq-pause{position:absolute;right:0;top:50%;margin-top:-22px;z-index:1}
.fs-hw-trust-l{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:rgb(var(--c-ink-400));white-space:nowrap}
.fs-hw-marq{overflow:hidden;flex:1;min-width:0;mask-image:linear-gradient(90deg,transparent,var(--fs-hw-shade) 8%,var(--fs-hw-shade) 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,var(--fs-hw-shade) 8%,var(--fs-hw-shade) 92%,transparent)}
.fs-hw-marq-track{display:flex;gap:56px;width:max-content}
.fs-hw-marq-copy{display:contents}
/* .marq-track span{font:600 1.05rem var(--ff-head);color:var(--muted)} —
   at full opacity (the source's own contrast fix) */
.fs-hw-marq-item{font:600 1.05rem/normal var(--font-display,'Noto Serif Display',Georgia,serif);color:rgb(var(--c-ink-400));white-space:nowrap;display:flex;align-items:center;gap:10px}

/* favHwSplit — .split{grid-template-columns:1fr 1fr;gap:56px;align-items:center}
   .art{border-radius:22px;aspect-ratio:5/4;background:linear-gradient(160deg,
   accent 80% into black,var(--accent));box-shadow:var(--shadow)} */
.fs-hw-split-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.fs-hw-split-body{min-width:0}
.fs-hw-art{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:5/4;background:linear-gradient(160deg,color-mix(in srgb,rgb(var(--c-brand-600)) 80%,var(--fs-hw-shade)),rgb(var(--c-brand-600)));box-shadow:var(--fs-hw-shadow)}
.fs-hw-art-svg{position:absolute;inset:0;width:100%;height:100%}
.fs-hw-art-rings{stroke:var(--fs-on-brand);stroke-opacity:.16}
.fs-hw-art-cols{fill:var(--fs-on-brand);fill-opacity:.08;stroke:var(--fs-on-brand);stroke-opacity:.5}
.fs-hw-art-cols-b{fill-opacity:.1;stroke-opacity:.55}
.fs-hw-art-sun{fill:rgb(var(--c-accent))}
.fs-hw-art-line{stroke:rgb(var(--c-accent))}
.fs-hw-art-photo{position:absolute;inset:0}
.fs-hw-art-photo>*,.fs-hw-art-photo img{width:100%;height:100%}
.fs-hw-art-photo img{object-fit:cover}
.fs-hw-art-photo[data-empty]>[data-editable]{background:transparent}
.fs-hw-art-photo[data-empty]>[data-editable]>span:first-child{visibility:hidden}
/* .accr span{padding:10px 16px;border:1px solid var(--line);border-radius:99px;
   font-size:.88rem;background:var(--surface)} .accr .ic{color:var(--gold)} */
.fs-hw-accr{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px}
.fs-hw-accr>span{display:flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid rgb(var(--c-line));border-radius:99px;font-size:.88rem;line-height:1.65;background:rgb(var(--c-paper-soft))}
.fs-hw-accr .fs-hw-ic{color:rgb(var(--c-accent))}

/* favHwTimeline — .tl{max-width:820px;padding-left:70px} the line (::before)
   and its drawn gold part (::after, Task 9) · .tl-dot 48px gold ring */
.fs-hw-tl{position:relative;max-width:820px;margin:0 auto;padding:0 0 0 70px;list-style:none}
.fs-hw-tl::before{content:"";position:absolute;left:23px;top:8px;bottom:8px;width:2px;background:rgb(var(--c-line))}
.fs-hw-tl-item{position:relative;padding:0 0 38px}
.fs-hw-tl-item:last-child{padding-bottom:0}
.fs-hw-tl-dot{position:absolute;left:-70px;top:0;width:48px;height:48px;border-radius:50%;background:rgb(var(--c-paper-soft));border:2px solid rgb(var(--c-accent));display:grid;place-items:center;font:600 1.1rem var(--font-display,'Noto Serif Display',Georgia,serif);color:rgb(var(--c-brand-text))}
.fs-hw-tl-item .fs-hw-h3{margin-bottom:.25em}
.fs-hw .fs-hw-tl-item p{color:rgb(var(--c-ink-400));margin:0}
.fs-hw-tl-when{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--fs-hw-bronze);font-weight:600}

/* favHwCounters — .band{linear-gradient(135deg,var(--accent),accent 50%
   into black);color:#fff;padding:70px 0} (dark: accent 70% → 35% into
   black) · .stat b{font:600 clamp(2.4rem,4.4vw,3.6rem)/1} b i{color:gold}
   .stat>span{rgba(255,255,255,.78);.95rem} .stat+.stat{border-left} */
.fs-hw-counters{position:relative;overflow:hidden;color:var(--fs-on-brand);background:linear-gradient(135deg,rgb(var(--c-brand-600)),color-mix(in srgb,rgb(var(--c-brand-600)) 50%,var(--fs-hw-shade)))}
.fs-hw-counters>.fs-hw-wrap{padding-top:70px;padding-bottom:70px}
.fs-hw-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.fs-hw-stat+.fs-hw-stat{border-left:1px solid color-mix(in srgb,var(--fs-on-brand) 16%,transparent)}
.fs-hw-stat-v{display:block;font:600 clamp(2.4rem,calc(4.4 * var(--fs-hw-vw)),3.6rem)/1 var(--font-display,'Noto Serif Display',Georgia,serif);color:var(--fs-on-brand)}
.fs-hw-stat-v i{font-style:normal;color:rgb(var(--c-accent))}
.fs-hw-stat-l{display:block;margin-top:10px;color:var(--fs-hw-on-brand-78);font-size:.95rem;line-height:1.65}

/* favHwCta — .cta-band{gradient as the band;color:#fff;text-align:center;
   padding:84px 0} + the faint vertical rules · p{rgba(255,255,255,.8);
   max-width:560px;margin:0 auto 28px;font-size:1.08rem} */
.fs-hw-cta{position:relative;overflow:hidden;color:var(--fs-on-brand);text-align:center;background:linear-gradient(135deg,rgb(var(--c-brand-600)),color-mix(in srgb,rgb(var(--c-brand-600)) 50%,var(--fs-hw-shade)))}
.fs-hw-cta::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--fs-on-brand) 3.5%,transparent) 0 1px,transparent 1px 90px)}
.fs-hw-cta-in{position:relative;z-index:2;padding-top:84px;padding-bottom:84px}
.fs-hw.fs-hw-cta .fs-hw-h2{color:var(--fs-on-brand)}
.fs-hw .fs-hw-cta-p{color:color-mix(in srgb,var(--fs-on-brand) 80%,transparent);max-width:560px;margin:0 auto 28px;font-size:1.08rem}
.fs-hw-cta-actions{justify-content:center}
.fs-hw-cta-photo{position:absolute;inset:0}
.fs-hw-cta-photo>*,.fs-hw-cta-photo img{width:100%;height:100%}
.fs-hw-cta-photo img{object-fit:cover}
.fs-hw-cta[data-has-img]>.fs-hw-cta-photo::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,color-mix(in srgb,rgb(var(--c-brand-600)) 86%,transparent),color-mix(in srgb,rgb(var(--c-brand-600)) 50%,var(--fs-hw-shade)))}
.fs-hw-cta-photo[data-empty]>[data-editable]{background:transparent}
.fs-hw-cta-photo[data-empty]>[data-editable]>span:first-child{visibility:hidden}
.dark .fs-hw-counters,.dark .fs-hw-cta{background:linear-gradient(135deg,color-mix(in srgb,rgb(var(--c-brand-600)) 70%,var(--fs-hw-shade)),color-mix(in srgb,rgb(var(--c-brand-600)) 35%,var(--fs-hw-shade)))}
.fs-preview-light .fs-hw-counters,.fs-preview-light .fs-hw-cta{background:linear-gradient(135deg,rgb(var(--c-brand-600)),color-mix(in srgb,rgb(var(--c-brand-600)) 50%,var(--fs-hw-shade)))}

/* Site Settings layouts (the source's centered / minimalist rules) */
[data-fs-layout="centered"] .fs-hw-head{margin-inline:auto;text-align:center}
[data-fs-layout="centered"] .fs-hw-ic-card{text-align:center}
[data-fs-layout="centered"] .fs-hw-ic-card .fs-hw-icon-badge{margin-inline:auto}
[data-fs-layout="centered"] .fs-hw-split-grid{grid-template-columns:1fr;text-align:center}
[data-fs-layout="centered"] .fs-hw-list-check .fs-hw-li,[data-fs-layout="centered"] .fs-hw-accr{justify-content:center}
[data-fs-layout="minimal"] .fs-hw-sec>.fs-hw-wrap{padding-top:76px;padding-bottom:76px}
[data-fs-layout="minimal"] .fs-hw-sec[data-tone="alt"]{background:transparent}
[data-fs-layout="minimal"] .fs-hw-card{background:transparent;border:0;border-top:1px solid rgb(var(--c-line));border-radius:0}
[data-fs-layout="minimal"] .fs-hw-icon-badge{background:transparent;border-radius:0;padding:0;justify-content:start;width:auto;height:auto;margin-bottom:14px}
[data-fs-layout="minimal"] .fs-hw .fs-hw-btn{border-radius:0}
[data-fs-layout="minimal"] .fs-hw h2,[data-fs-layout="minimal"] .fs-hw h3{font-weight:500}
[data-fs-layout="minimal"] .fs-hw-counters,[data-fs-layout="minimal"] .fs-hw-cta{background:transparent;color:rgb(var(--c-ink-950));border-block:1px solid rgb(var(--c-line))}
[data-fs-layout="minimal"] .fs-hw-cta::before{display:none}
[data-fs-layout="minimal"] .fs-hw-stat-v,[data-fs-layout="minimal"] .fs-hw.fs-hw-cta .fs-hw-h2{color:rgb(var(--c-ink-950))}
/* the gold suffix on the light paper: the bronze (2.9:1 → AA, Task 5a review) */
[data-fs-layout="minimal"] .fs-hw-stat-v i{color:var(--fs-hw-bronze)}
[data-fs-layout="minimal"] .fs-hw-stat-l,[data-fs-layout="minimal"] .fs-hw .fs-hw-cta-p{color:rgb(var(--c-ink-400))}
[data-fs-layout="minimal"] .fs-hw-cta .fs-hw-btn-outline{border-color:rgb(var(--c-line));color:rgb(var(--c-ink-950))}

@container fs-hw (max-width:1060px){
  .fs-hw-g4,.fs-hw-stats{grid-template-columns:repeat(2,1fr)}
  .fs-hw-stat+.fs-hw-stat{border:0}
  .fs-hw-split-grid{grid-template-columns:1fr}
}
@container fs-hw (max-width:760px){
  .fs-hw-sec>.fs-hw-wrap{padding-top:64px;padding-bottom:64px}
  .fs-hw-g3,.fs-hw-g4{grid-template-columns:1fr}
  .fs-hw-tl{padding-left:62px}
  .fs-hw-tl-dot{left:-62px;width:42px;height:42px}
  .fs-hw-trust-in{flex-direction:column;align-items:flex-start;gap:12px}
  .fs-hw-marq-box{align-self:stretch}
  .fs-hw-stats{gap:34px 12px}
}

/* ══ Task 5b — favHwTabs · favHwPartners · favHwCarousel · favHwFaq ═ */
/* (font shorthands reset line-height to normal, as the source's do)
   .tabs-wrap{grid-template-columns:280px 1fr;gap:34px} .tab-btn{font:600
   .98rem;padding:16px 18px;border-radius:12px;border:1px solid var(--line);
   background:var(--surface)} .tab-btn.on{background:var(--btn-bg);color:
   var(--btn-ink)} .tab-panel{border-radius:18px;padding:38px} */
.fs-hw-tabs-wrap{display:grid;grid-template-columns:280px 1fr;gap:34px;align-items:start}
.fs-hw-tab-list{display:grid;gap:8px}
.fs-hw .fs-hw-tab-btn{display:flex;align-items:center;gap:12px;text-align:left;font:600 .98rem/normal var(--font-sans,'Inter',system-ui,sans-serif);padding:16px 18px;border-radius:12px;border:1px solid rgb(var(--c-line));background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));cursor:pointer;position:relative}
.fs-hw-tab-btn .fs-hw-ic{color:rgb(var(--c-accent))}
.fs-hw .fs-hw-tab-btn.is-on{background:var(--fs-hw-btn-bg);color:var(--fs-hw-btn-ink);border-color:var(--fs-hw-btn-bg)}
.fs-hw-tab-btn.is-on .fs-hw-ic{color:inherit}
.fs-hw-tab-btn:focus-visible{outline:3px solid rgb(var(--c-brand-text));outline-offset:2px}
.fs-hw-tab-panel{background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));border-radius:18px;padding:38px}
.fs-hw-panel-meta{display:flex;gap:26px;flex-wrap:wrap;padding-top:20px;margin-top:8px;border-top:1px solid rgb(var(--c-line));font-size:.9rem;color:rgb(var(--c-ink-400))}
.fs-hw-panel-meta b{display:block;color:rgb(var(--c-ink-950));font-size:1rem}

/* .flip{perspective:1100px;height:380px} .flip-in{transform-style:preserve-3d}
   .flip:hover/.flip:focus/.flip.on .flip-in{rotateY(180deg)} — the 0.8s
   turn is Task 9's; at rest it turns at once */
.fs-hw-flip{position:relative;perspective:1100px;height:380px}
.fs-hw-flip-hit{position:absolute;inset:0;z-index:3;width:100%;height:100%;margin:0;padding:0;border:0;background:transparent;cursor:pointer;border-radius:14px}
.fs-hw-flip-hit:focus-visible{outline:3px solid rgb(var(--c-brand-text));outline-offset:3px}
.fs-hw-flip-in{position:relative;width:100%;height:100%;transform-style:preserve-3d}
/* the turn follows the card's state only (is-on: the button, or hover on a
   hover-capable device — set in HarlowBlocks.tsx), so aria matches what shows */
.fs-hw-flip.is-on .fs-hw-flip-in{transform:rotateY(180deg)}
/* editing: both faces laid out, nothing stacked (every word reachable) */
.fs-hw-flip.is-ed{height:auto;perspective:none}
.fs-hw-flip.is-ed .fs-hw-flip-in{display:grid;gap:10px;transform:none}
.fs-hw-flip.is-ed .fs-hw-flip-f,.fs-hw-flip.is-ed .fs-hw-flip-b{position:relative;inset:auto;transform:none;backface-visibility:visible;-webkit-backface-visibility:visible}
.fs-hw-flip.is-ed .fs-hw-flip-f{min-height:300px}
/* turned: the hit area shrinks to a corner "turn back" button, so the back's
   link can be clicked */
.fs-hw .fs-hw-flip-hit.is-corner{inset:auto;top:10px;right:10px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--fs-on-brand) 16%,transparent);color:var(--fs-on-brand)}
.fs-hw-flip-hit.is-corner .fs-hw-ic{width:18px;height:18px}
.fs-hw-flip-f,.fs-hw-flip-b{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:14px;overflow:hidden;border:1px solid rgb(var(--c-line))}
.fs-hw-flip-f{background:rgb(var(--c-paper-soft));display:flex;flex-direction:column}
.fs-hw-flip-b{background:linear-gradient(160deg,rgb(var(--c-brand-600)),color-mix(in srgb,rgb(var(--c-brand-600)) 50%,var(--fs-hw-shade)));color:var(--fs-on-brand);transform:rotateY(180deg);padding:28px;display:flex;flex-direction:column;justify-content:center;gap:10px}
.dark .fs-hw-flip-b{background:linear-gradient(160deg,color-mix(in srgb,rgb(var(--c-brand-600)) 75%,var(--fs-hw-shade)),color-mix(in srgb,rgb(var(--c-brand-600)) 38%,var(--fs-hw-shade)))}
.fs-preview-light .fs-hw-flip-b{background:linear-gradient(160deg,rgb(var(--c-brand-600)),color-mix(in srgb,rgb(var(--c-brand-600)) 50%,var(--fs-hw-shade)))}
.fs-hw .fs-hw-flip-b p{color:var(--fs-hw-on-brand-82);font-size:.93rem;margin:0}
.fs-hw .fs-hw-flip-a{color:rgb(var(--c-accent));font-weight:600;font-size:.92rem}
.fs-hw.fs-hw-sec .fs-hw-flip-b .fs-hw-h3{color:var(--fs-on-brand);margin:0}
/* .portrait{flex:1;gradient accent 16% / gold 22% into the surface}
   .portrait span{116px circle;font:600 2.3rem;color:#fff;background:accent;
   ring gold 45%} */
.fs-hw-portrait{position:relative;flex:1;display:grid;place-items:center;background:linear-gradient(160deg,color-mix(in srgb,rgb(var(--c-brand-600)) 16%,rgb(var(--c-paper-soft))),color-mix(in srgb,rgb(var(--c-accent)) 22%,rgb(var(--c-paper-soft))))}
.fs-hw-portrait-i{width:116px;height:116px;border-radius:50%;display:grid;place-items:center;font:600 2.3rem var(--font-display,'Noto Serif Display',Georgia,serif);color:var(--fs-on-brand);background:rgb(var(--c-brand-600));box-shadow:0 0 0 6px color-mix(in srgb,rgb(var(--c-accent)) 45%,transparent)}
.fs-hw-portrait-photo{position:absolute;inset:0}
.fs-hw-portrait-photo>*,.fs-hw-portrait-photo img{width:100%;height:100%}
.fs-hw-portrait-photo img{object-fit:cover}
.fs-hw-portrait-photo[data-empty]>[data-editable]{background:transparent}
.fs-hw-portrait-photo[data-empty]>[data-editable]>span:first-child{visibility:hidden}
.fs-hw-flip-cap{padding:18px 22px;border-top:1px solid rgb(var(--c-line))}
.fs-hw.fs-hw-sec .fs-hw-flip-cap .fs-hw-h3{margin:0;font-size:1.12rem}
.fs-hw-flip-cap small{color:rgb(var(--c-ink-400));font-size:.8em}

/* .car{max-width:860px;text-align:center} .car-stage{min-height:290px}
   — the slides share one grid cell (constant height) instead of absolute */
.fs-hw-car{position:relative;max-width:860px;margin:0 auto;text-align:center}
.fs-hw-rating-pill{display:inline-flex;gap:10px;align-items:center;background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));border-radius:99px;padding:8px 16px;font-size:.88rem;margin-bottom:26px}
.fs-hw-rating-pill .fs-hw-stars{margin:0}
.fs-hw-stars{display:flex;gap:4px;color:rgb(var(--c-accent));justify-content:center;margin-bottom:18px}
.fs-hw-stars .fs-hw-ic{fill:currentColor;width:1.1em;height:1.1em}
.fs-hw-car-stage{display:grid;min-height:290px}
.fs-hw-car-slide{grid-area:1/1;margin:0;visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center}
.fs-hw-car-slide.is-on{visibility:visible}
/* editing: the quotes one under the other (nothing stacked) */
.fs-hw-car-stage.is-ed{display:flex;flex-direction:column;gap:32px}
.fs-hw .fs-hw-car-slide blockquote{margin:0 0 22px;font:500 clamp(1.25rem,calc(2.4 * var(--fs-hw-vw)),1.75rem)/1.45 var(--font-display,'Noto Serif Display',Georgia,serif);max-width:760px}
.fs-hw-who{display:flex;gap:12px;align-items:center;color:rgb(var(--c-ink-400));font-size:.92rem;text-align:left}
.fs-hw-who b{display:block;color:rgb(var(--c-ink-950))}
.fs-hw-av{position:relative;flex:none;width:44px;height:44px;border-radius:50%;overflow:hidden;display:grid;place-items:center;font:600 .95rem var(--font-display,'Noto Serif Display',Georgia,serif);background:rgb(var(--c-brand-600));color:var(--fs-on-brand)}
.fs-hw-av-photo{position:absolute;inset:0}
.fs-hw-av-photo>*,.fs-hw-av-photo img{width:100%;height:100%}
.fs-hw-av-photo img{object-fit:cover}
.fs-hw-av-photo[data-empty]>[data-editable]{background:transparent}
.fs-hw-av-photo[data-empty]>[data-editable]>span:first-child{visibility:hidden}
.fs-hw-car-ctl{display:flex;gap:16px;justify-content:center;align-items:center;margin-top:26px}
.fs-hw .fs-hw-arr{width:44px;height:44px;border-radius:50%;border:1.5px solid rgb(var(--c-line));background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));cursor:pointer;display:grid;place-items:center;padding:0}
.fs-hw .fs-hw-arr:hover{border-color:rgb(var(--c-accent));background:rgb(var(--c-accent));color:var(--fs-hw-on-gold)}
.fs-hw-arr:focus-visible,.fs-hw-dot:focus-visible{outline:3px solid rgb(var(--c-brand-text));outline-offset:2px}
.fs-hw-dots{display:flex;gap:8px}
.fs-hw .fs-hw-dot{position:relative;width:9px;height:9px;border-radius:99px;border:0;background:rgb(var(--c-line));cursor:pointer;padding:0}
.fs-hw .fs-hw-dot.is-on{width:28px;background:rgb(var(--c-accent))}
.fs-hw-dot::after{content:"";position:absolute;inset:-14px -6px}
.fs-hw-car-pause-ic,.fs-hw-car-play-ic{display:block;width:12px;height:12px}
.fs-hw-car-pause-ic{border-left:3px solid currentColor;border-right:3px solid currentColor}
.fs-hw-car-play-ic{width:0;height:0;border-left:11px solid currentColor;border-top:6px solid transparent;border-bottom:6px solid transparent;margin-left:3px}

/* FAQ — the wrap is 860px (the source's inline max-width) · .acc-item{
   border:1px solid var(--line);border-radius:12px;margin-bottom:12px}
   .acc-item.open{border-color:var(--gold)} .acc-q{font:600 1.02rem;
   padding:20px 22px} .acc-a p{padding:0 22px 20px;color:var(--muted)} */
.fs-hw-faq-wrap{max-width:min(860px,var(--fs-layout-max,860px))}
.fs-hw-acc-item{border:1px solid rgb(var(--c-line));border-radius:12px;background:rgb(var(--c-paper-soft));margin-bottom:12px;overflow:hidden}
.fs-hw-acc-item.is-open{border-color:rgb(var(--c-accent))}
.fs-hw .fs-hw-acc-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;text-align:left;font:600 1.02rem/normal var(--font-sans,'Inter',system-ui,sans-serif);color:rgb(var(--c-ink-950));background:none;border:0;padding:20px 22px;cursor:pointer}
.fs-hw-acc-q .fs-hw-ic{color:rgb(var(--c-accent))}
.fs-hw-acc-item.is-open .fs-hw-acc-q .fs-hw-ic{transform:rotate(45deg)}
.fs-hw-acc-q:focus-visible{outline:3px solid rgb(var(--c-brand-text));outline-offset:-3px}
.fs-hw .fs-hw-acc-a p{padding:0 22px 20px;margin:0;color:rgb(var(--c-ink-400))}
/* .search{max-width:520px;margin-bottom:26px} .search input{padding:15px
   18px 15px 48px;border-radius:12px;border:1.5px solid var(--line)} */
.fs-hw-search{position:relative;max-width:520px;margin-bottom:26px}
.fs-hw .fs-hw-search-in{display:block;width:100%;font:inherit;padding:15px 18px 15px 48px;border-radius:12px;border:1.5px solid rgb(var(--c-line));background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950))}
span.fs-hw-search-in{color:rgb(var(--c-ink-400))}
.fs-hw .fs-hw-search-in:focus{outline:2px solid var(--fs-hw-focus);outline-offset:1px;border-color:var(--fs-hw-focus)}
.fs-hw-search .fs-hw-ic{position:absolute;left:16px;top:16px;color:rgb(var(--c-ink-400))}
.fs-hw .fs-hw-faq-none-a{color:rgb(var(--c-brand-text));text-decoration:underline}

[data-fs-layout="minimal"] .fs-hw-tab-panel,[data-fs-layout="minimal"] .fs-hw-acc-item,[data-fs-layout="minimal"] .fs-hw .fs-hw-tab-btn{background:transparent;border:0;border-top:1px solid rgb(var(--c-line));box-shadow:none;border-radius:0}
[data-fs-layout="minimal"] .fs-hw .fs-hw-tab-btn{border-top:0;border-left:2px solid rgb(var(--c-line));padding:12px 16px}
[data-fs-layout="minimal"] .fs-hw .fs-hw-tab-btn.is-on{background:transparent;color:rgb(var(--c-brand-text));border-left-color:rgb(var(--c-accent))}
[data-fs-layout="minimal"] .fs-hw-flip-b{background:var(--fs-hw-tint);color:rgb(var(--c-ink-950))}
[data-fs-layout="minimal"] .fs-hw.fs-hw-sec .fs-hw-flip-b .fs-hw-h3{color:rgb(var(--c-ink-950))}
[data-fs-layout="minimal"] .fs-hw .fs-hw-flip-b p{color:rgb(var(--c-ink-400))}
[data-fs-layout="centered"] .fs-hw-tab-panel{text-align:left}

@container fs-hw (max-width:1060px){
  .fs-hw-tabs-wrap{grid-template-columns:1fr}
  .fs-hw-tab-list{grid-template-columns:repeat(2,1fr)}
}
@container fs-hw (max-width:760px){
  .fs-hw-car-stage{min-height:360px}
  .fs-hw-flip{height:360px}
  .fs-hw-tab-list{grid-template-columns:1fr}
}

/* ══ Task 5c — forms: favHwBooking · favHwUrgent ══════════════════
   .field{display:grid;gap:6px;margin-bottom:16px} .field label{.85rem 600}
   .field input{font:inherit;background:var(--bg);border:1.5px solid
   var(--line);border-radius:10px;padding:12px 14px} .field.err →
   #d4574a (the platform's status red) · .form-ok (green, the platform's
   ok token) · .row2{1fr 1fr;gap:16px} */
.fs-hw-field{display:grid;gap:6px;margin-bottom:16px;text-align:left}
.fs-hw-field>label,.fs-hw-label{font-size:.85rem;font-weight:600}
.fs-hw .fs-hw-input{display:block;width:100%;font:inherit;color:rgb(var(--c-ink-950));background:rgb(var(--c-paper));border:1.5px solid rgb(var(--c-line));border-radius:10px;padding:12px 14px}
.fs-hw .fs-hw-input::placeholder{color:rgb(var(--c-ink-400))}
.fs-hw .fs-hw-input:focus{outline:2px solid var(--fs-hw-focus);outline-offset:1px;border-color:var(--fs-hw-focus);box-shadow:0 0 0 4px color-mix(in srgb,rgb(var(--c-accent)) 22%,transparent)}
.fs-hw .fs-hw-input-ph{color:rgb(var(--c-ink-400))}
.fs-hw-field.is-err .fs-hw-input{border-color:var(--fs-hw-err)}
.fs-hw-msg{font-size:.8rem;color:var(--fs-hw-err)}
.fs-hw-msg:empty{display:none}
.fs-hw-row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fs-hw-form-ok{display:none;padding:16px;border-radius:10px;background:color-mix(in srgb,rgb(var(--fs-status-ok)) 16%,transparent);color:rgb(var(--c-ink-950));border:1px solid rgb(var(--fs-status-ok));margin-top:12px;outline:none}
.fs-hw-form-ok.is-show{display:block}
.fs-hw-form-ok.is-fail{background:color-mix(in srgb,rgb(var(--fs-status-bad)) 12%,transparent);border-color:rgb(var(--fs-status-bad))}
.fs-hw-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.fs-hw .fs-hw-btn-wide{width:100%;justify-content:center}
.fs-hw .fs-hw-btn:disabled{opacity:.7;cursor:progress}
/* .book-card{border-radius:20px;padding:34px;box-shadow:var(--shadow)} h3 1.5rem */
.fs-hw-book-card{background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));border-radius:20px;padding:34px;box-shadow:var(--fs-hw-shadow)}
.fs-hw.fs-hw-sec .fs-hw-book-card .fs-hw-h3{font-size:1.5rem}
/* .chip{font:500 .88rem;padding:9px 14px;border-radius:99px;border:1.5px
   solid var(--line)} .chip.on{background:var(--btn-bg);color:var(--btn-ink)} */
.fs-hw-chips{display:flex;flex-wrap:wrap;gap:8px}
.fs-hw .fs-hw-chip{font:500 .88rem/normal var(--font-sans,'Inter',system-ui,sans-serif);padding:9px 14px;border-radius:99px;border:1.5px solid rgb(var(--c-line));background:transparent;color:rgb(var(--c-ink-950));cursor:pointer}
.fs-hw .fs-hw-chip.is-on{background:var(--fs-hw-btn-bg);color:var(--fs-hw-btn-ink);border-color:var(--fs-hw-btn-bg)}
.fs-hw-chip:focus-visible{outline:3px solid rgb(var(--c-brand-text));outline-offset:2px}
.fs-hw-book-meta{display:flex;gap:22px;margin-top:22px;color:rgb(var(--c-ink-400));font-size:.9rem;flex-wrap:wrap}
.fs-hw-book-meta span{display:flex;gap:8px;align-items:center}
.fs-hw-book-meta .fs-hw-ic{color:rgb(var(--c-accent))}

/* favHwUrgent — the section's own padding-block:60px; .urgent{linear-
   gradient(100deg,#121821,#1b2330) — a fixed night panel in both modes;
   color:#fff;border-radius:22px;padding:42px;grid 1.2fr 1fr;gap:36px} */
.fs-hw-urgent{background:rgb(var(--c-paper))}
.fs-hw-urgent-wrap{padding-top:60px;padding-bottom:60px}
.fs-hw-urgent-box{position:relative;overflow:hidden;display:grid;grid-template-columns:1.2fr 1fr;gap:36px;align-items:center;padding:42px;border-radius:22px;color:var(--fs-on-brand);background:linear-gradient(100deg,var(--fs-hw-night-a),var(--fs-hw-night-b))}
.fs-hw-urgent-box::before{content:"";position:absolute;right:-80px;top:-80px;width:300px;height:300px;border-radius:50%;background:radial-gradient(color-mix(in srgb,rgb(var(--c-accent)) 40%,transparent),transparent 70%)}
.fs-hw-urgent-copy{position:relative}
.fs-hw.fs-hw-urgent .fs-hw-h2{color:var(--fs-on-brand);font-size:clamp(1.6rem,calc(3 * var(--fs-hw-vw)),2.3rem)}
.fs-hw .fs-hw-urgent-copy p{color:color-mix(in srgb,var(--fs-on-brand) 76%,transparent);margin:0}
.fs-hw-pulse{position:relative;display:inline-grid;place-items:center;width:58px;height:58px;border-radius:50%;background:rgb(var(--c-accent));color:var(--fs-hw-on-gold);margin-bottom:30px}
.fs-hw-pulse .fs-hw-ic{width:26px;height:26px}
.fs-hw-urgent-form{position:relative;display:flex;gap:10px;flex-wrap:wrap}
.fs-hw .fs-hw-urgent-form .fs-hw-input{flex:1;width:auto;min-width:180px;border-color:color-mix(in srgb,var(--fs-on-brand) 22%,transparent);background:color-mix(in srgb,var(--fs-on-brand) 8%,transparent);color:var(--fs-on-brand);padding:14px 16px}
.fs-hw .fs-hw-urgent-form .fs-hw-input::placeholder,.fs-hw .fs-hw-urgent-form .fs-hw-input-ph{color:color-mix(in srgb,var(--fs-on-brand) 55%,transparent)}
.fs-hw .fs-hw-urgent-form .fs-hw-input[aria-invalid="true"]{border-color:rgb(var(--fs-status-bad))}
.fs-hw-urgent-err{width:100%;color:var(--fs-on-brand)}
.fs-hw-urgent-form .fs-hw-form-ok{width:100%;margin-top:6px;color:var(--fs-on-brand)}

[data-fs-layout="centered"] .fs-hw-urgent-box{grid-template-columns:1fr;text-align:center}
[data-fs-layout="centered"] .fs-hw-urgent-form{justify-content:center}
[data-fs-layout="minimal"] .fs-hw-book-card{background:transparent;border:0;border-top:1px solid rgb(var(--c-line));box-shadow:none;border-radius:0}
[data-fs-layout="minimal"] .fs-hw-urgent-box{background:transparent;color:rgb(var(--c-ink-950));border-block:1px solid rgb(var(--c-line));border-radius:0;padding:36px 0}
[data-fs-layout="minimal"] .fs-hw-urgent-box::before{display:none}
[data-fs-layout="minimal"] .fs-hw.fs-hw-urgent .fs-hw-h2{color:rgb(var(--c-ink-950))}
[data-fs-layout="minimal"] .fs-hw .fs-hw-urgent-copy p{color:rgb(var(--c-ink-400))}
[data-fs-layout="minimal"] .fs-hw .fs-hw-urgent-form .fs-hw-input{color:rgb(var(--c-ink-950));border-color:rgb(var(--c-line));background:transparent}
[data-fs-layout="minimal"] .fs-hw .fs-hw-urgent-form .fs-hw-input::placeholder,[data-fs-layout="minimal"] .fs-hw .fs-hw-urgent-form .fs-hw-input-ph{color:rgb(var(--c-ink-400))}
[data-fs-layout="minimal"] .fs-hw-urgent-err,[data-fs-layout="minimal"] .fs-hw-urgent-form .fs-hw-form-ok{color:rgb(var(--c-ink-950))}

@container fs-hw (max-width:1060px){
  .fs-hw-urgent-box{grid-template-columns:1fr}
}
@container fs-hw (max-width:760px){
  .fs-hw-row2{grid-template-columns:1fr}
}

/* ══ Task 6a — favHwEstimator (.est) ══════════════════════════════
   .est{grid 1.1fr .9fr;border-radius:20px;overflow:hidden;border;
   background:var(--surface);box-shadow} .est-in{padding:38px}
   .est-out{gradient as the band;color:#fff;padding:38px} (dark: 70% → 35%)
   .big{font:600 clamp(2.6rem,5vw,3.8rem)/1;margin:6px 0 4px}
   .est-line{padding:10px 0;border-bottom:1px solid white 16%;.95rem}
   input[type=range]{accent-color:var(--gold);height:6px}
   .range-val{font:600 1.9rem var(--ff-head);color:var(--a-text)} */
.fs-hw-est{display:grid;grid-template-columns:1.1fr .9fr;border-radius:20px;overflow:hidden;border:1px solid rgb(var(--c-line));background:rgb(var(--c-paper-soft));box-shadow:var(--fs-hw-shadow)}
.fs-hw-est-in{padding:38px;min-width:0}
.fs-hw-est-out{display:flex;flex-direction:column;justify-content:center;padding:38px;min-width:0;color:var(--fs-on-brand);background:linear-gradient(160deg,rgb(var(--c-brand-600)),color-mix(in srgb,rgb(var(--c-brand-600)) 50%,var(--fs-hw-shade)))}
.dark .fs-hw-est-out{background:linear-gradient(160deg,color-mix(in srgb,rgb(var(--c-brand-600)) 70%,var(--fs-hw-shade)),color-mix(in srgb,rgb(var(--c-brand-600)) 35%,var(--fs-hw-shade)))}
.fs-preview-light .fs-hw-est-out{background:linear-gradient(160deg,rgb(var(--c-brand-600)),color-mix(in srgb,rgb(var(--c-brand-600)) 50%,var(--fs-hw-shade)))}
.fs-hw-est-out small{color:var(--fs-hw-on-brand-70);font-size:.8em}
.fs-hw-big{font:600 clamp(2.6rem,calc(5 * var(--fs-hw-vw)),3.8rem)/1 var(--font-display,'Noto Serif Display',Georgia,serif);color:var(--fs-on-brand);margin:6px 0 4px}
.fs-hw-est-lines{margin-top:22px}
.fs-hw-est-line{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid color-mix(in srgb,var(--fs-on-brand) 16%,transparent);font-size:.95rem}
.fs-hw-est-line b{font-weight:600}
.fs-hw .fs-hw-est-btn{margin-top:24px;justify-content:center}
.fs-hw .fs-hw-est-none{color:var(--fs-hw-on-brand-82);margin:12px 0 0}
.fs-hw-range-val{font:600 1.9rem/normal var(--font-display,'Noto Serif Display',Georgia,serif);color:rgb(var(--c-brand-text));margin-bottom:8px}
.fs-hw .fs-hw-range{display:block;width:100%;height:6px;accent-color:rgb(var(--c-accent))}
.fs-hw-range-ed{border-radius:3px;background:linear-gradient(90deg,rgb(var(--c-accent)) 18%,rgb(var(--c-line)) 18%)}
.fs-hw-range:focus-visible{outline:3px solid rgb(var(--c-brand-text));outline-offset:4px}
[data-fs-layout="minimal"] .fs-hw-est{box-shadow:none;border-radius:0}
[data-fs-layout="minimal"] .fs-hw-est-out{background:var(--fs-hw-tint);color:rgb(var(--c-ink-950))}
[data-fs-layout="minimal"] .fs-hw-big{color:rgb(var(--c-ink-950))}
[data-fs-layout="minimal"] .fs-hw-est-out small,[data-fs-layout="minimal"] .fs-hw .fs-hw-est-none{color:rgb(var(--c-ink-400))}
[data-fs-layout="minimal"] .fs-hw-est-line{border-bottom-color:rgb(var(--c-line))}
@container fs-hw (max-width:1060px){
  .fs-hw-est{grid-template-columns:1fr}
}

/* ══ Task 6b — service cards · team grid · price cards · fee table · contact ═
   .tag{.72rem;letter-spacing:.08em;uppercase;600;padding:4px 10px;
   border-radius:99px;background:gold 18%;color:var(--a-text)} */
.fs-hw-tag{display:inline-block;align-self:flex-start;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;line-height:1.65;padding:4px 10px;border-radius:99px;background:color-mix(in srgb,rgb(var(--c-accent)) 18%,transparent);color:rgb(var(--c-brand-text))}
.fs-hw-sv-card .fs-hw-h3{margin-bottom:.5em}
/* the wider team: centred cards, the portrait a 12px-radius tile, 26px
   padding, an 84px initials disc (the source's inline sizes) */
.fs-hw-tm-card{text-align:center}
.fs-hw-tm-portrait{border-radius:12px;padding:26px;margin-bottom:16px}
.fs-hw-tm-portrait .fs-hw-portrait-i{width:84px;height:84px;font-size:1.6rem}
.fs-hw.fs-hw-sec .fs-hw-tm-card .fs-hw-h3{margin:0}
.fs-hw-tm-card small{font-size:.8em}
/* .price{display:flex;flex-direction:column} .price.feat{border-color:gold;
   box-shadow} ::before "Most popular" pill · .amt{font:600 2.5rem} small{.9rem} */
.fs-hw-pc-card{position:relative;display:flex;flex-direction:column}
.fs-hw-pc-card.is-feat{border-color:rgb(var(--c-accent));box-shadow:var(--fs-hw-shadow)}
.fs-hw-pc-badge{position:absolute;top:-13px;left:28px;background:rgb(var(--c-accent));color:var(--fs-hw-on-gold);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 12px;border-radius:99px;line-height:1.65}
.fs-hw-pc-amt{font:600 2.5rem/normal var(--font-display,'Noto Serif Display',Georgia,serif);margin:6px 0 2px}
.fs-hw-pc-amt small{font:500 .9rem/normal var(--font-sans,'Inter',system-ui,sans-serif);color:rgb(var(--c-ink-400))}
.fs-hw-pc-card small.fs-hw-muted{font-size:.8em}
.fs-hw-pc-card .fs-hw-list-check{flex:1;margin-top:14px}
.fs-hw .fs-hw-btn-ghost:hover{border-color:rgb(var(--c-accent))}
/* .tbl{border-collapse:collapse;border-radius:14px} th,td{15px 20px;.96rem}
   th{background:var(--tint);.78rem;uppercase;muted} — the wrap is 920px */
.fs-hw-ft-wrap{max-width:min(920px,var(--fs-layout-max,920px))}
.fs-hw-tbl-scroll{max-width:100%;overflow-x:auto}
.fs-hw-tbl-scroll:focus-visible{outline:3px solid rgb(var(--c-brand-text));outline-offset:2px;border-radius:14px}
.fs-hw-tbl{width:100%;border-collapse:separate;border-spacing:0;background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));border-radius:14px;overflow:hidden}
.fs-hw-tbl th,.fs-hw-tbl td{padding:15px 20px;text-align:left;border-bottom:1px solid rgb(var(--c-line));font-size:.96rem;font-weight:400}
.fs-hw-tbl thead th{background:var(--fs-hw-tint);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--c-ink-400));font-weight:600}
.fs-hw-tbl tbody tr:last-child th,.fs-hw-tbl tbody tr:last-child td{border-bottom:0}
/* Narrow screens (6b review, P42): tighter cells so the three columns fit
   a phone; anything wider still scrolls inside .fs-hw-tbl-scroll, never the page. */
@container fs-hw (max-width:520px){.fs-hw-tbl th,.fs-hw-tbl td{padding:12px 8px;font-size:.9rem}}
.fs-hw .fs-hw-hint{font-size:.8rem;color:rgb(var(--c-ink-400));margin-top:18px}
/* .contact-grid{1.1fr .9fr;gap:34px} — the card's inline padding 36px ·
   .info-row{gap:16px;padding:16px 0;border-bottom} .map{aspect 16/10;
   margin-top:24px;background:var(--tint)} */
.fs-hw-contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:start}
.fs-hw-ct-card{padding:36px}
.fs-hw .fs-hw-ct-card textarea.fs-hw-input{resize:vertical;min-height:140px}
.fs-hw-textarea-ed{min-height:140px}
.fs-hw-select-ed{display:flex;flex-wrap:wrap;gap:4px 12px}
.fs-hw .fs-hw-ct-consent{margin-bottom:0}
.fs-hw .fs-hw-ct-prefill{margin:0 0 16px}
.fs-hw .fs-hw-ct-prefill:empty{margin:0}
.fs-hw-ct-info{min-width:0}
.fs-hw-info-row{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid rgb(var(--c-line))}
.fs-hw-info-row:last-of-type{border-bottom:0}
.fs-hw-info-row .fs-hw-icon-badge{margin:0;width:46px;height:46px;flex:none}
.fs-hw .fs-hw-ct-a{color:rgb(var(--c-brand-text))}
.fs-hw-map{position:relative;border-radius:14px;overflow:hidden;border:1px solid rgb(var(--c-line));aspect-ratio:16/10;margin-top:24px;background:var(--fs-hw-tint)}
.fs-hw-map-svg{display:block;width:100%;height:100%}
.fs-hw-map-road{stroke:rgb(var(--c-ink-950));stroke-opacity:.18}
.fs-hw-map-lane{stroke:rgb(var(--c-ink-950));stroke-opacity:.12}
.fs-hw-map-halo{fill:rgb(var(--c-accent));fill-opacity:.25}
.fs-hw-map-pin{fill:var(--fs-hw-btn-bg)}
.fs-hw-map-dot{fill:var(--fs-hw-btn-ink)}
.fs-hw-map-photo{position:absolute;inset:0}
.fs-hw-map-photo>*,.fs-hw-map-photo img{width:100%;height:100%}
.fs-hw-map-photo img{object-fit:cover}
.fs-hw-map-photo[data-empty]>[data-editable]{background:transparent}
.fs-hw-map-photo[data-empty]>[data-editable]>span:first-child{visibility:hidden}
[data-fs-layout="centered"] .fs-hw-sv-card,[data-fs-layout="centered"] .fs-hw-pc-card{text-align:center}
[data-fs-layout="centered"] .fs-hw-sv-card .fs-hw-icon-badge{margin-inline:auto}
[data-fs-layout="minimal"] .fs-hw-tbl{border:0;border-radius:0;background:transparent}
[data-fs-layout="minimal"] .fs-hw-pc-card.is-feat{box-shadow:none}
@container fs-hw (max-width:1060px){
  .fs-hw-contact-grid{grid-template-columns:1fr}
}

/* ── Task 7: case results, insights + newsletter, careers ── */
.fs-hw-filters{margin-bottom:30px}
.fs-hw-case[hidden],.fs-hw-post[hidden]{display:none}
.fs-hw.fs-hw-sec .fs-hw-case .fs-hw-h3{font-size:1.15rem}
.fs-hw-case-res{font:600 1.6rem/normal var(--font-display,'Noto Serif Display',Georgia,serif);color:rgb(var(--c-brand-text));margin:8px 0}
.fs-hw-post-thumb{aspect-ratio:16/10;border-radius:10px;margin-bottom:18px;overflow:hidden;position:relative;background:linear-gradient(135deg,color-mix(in srgb,rgb(var(--c-brand-600)) 85%,var(--fs-hw-shade)),rgb(var(--c-brand-600)))}
.fs-hw-post-thumb::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 80% 20%,color-mix(in srgb,rgb(var(--c-accent)) 55%,transparent),transparent 55%)}
.fs-hw .fs-hw-post-ic{position:absolute;right:14px;bottom:10px;width:64px;height:64px;color:var(--fs-hw-on-brand-55);z-index:1}
.fs-hw-post-photo{position:absolute;inset:0;z-index:2}
.fs-hw-post-photo>*,.fs-hw-post-photo img{width:100%;height:100%}
.fs-hw-post-photo img{object-fit:cover}
.fs-hw-post-photo[data-empty]>[data-editable]{background:transparent}
.fs-hw-post-photo[data-empty]>[data-editable]>span:first-child{visibility:hidden}
.fs-hw.fs-hw-sec .fs-hw-post .fs-hw-h3{font-size:1.14rem;margin:10px 0 6px}
.fs-hw .fs-hw-post-meta,.fs-hw .fs-hw-role small{font-size:.8333em}
.fs-hw-wrap>.fs-hw-news:first-child{margin-top:0}
.fs-hw-news{margin-top:44px;display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.fs-hw.fs-hw-sec .fs-hw-news .fs-hw-h3{margin:0 0 4px}
.fs-hw-news-form{display:flex;gap:10px;flex-wrap:wrap}
.fs-hw .fs-hw-news-field{margin:0}
.fs-hw-news-form .fs-hw-form-ok{width:100%;margin-top:0}
.fs-hw .fs-hw-news-consent{flex-basis:100%;margin:0;font-size:.8rem;color:rgb(var(--c-ink-400))}
.fs-hw-perks{margin-bottom:56px}
.fs-hw-perks:last-child{margin-bottom:0}
.fs-hw-roles{display:grid;gap:27px}
.fs-hw-role{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:24px 28px}
.fs-hw.fs-hw-sec .fs-hw-role .fs-hw-h3{margin:0 0 4px;font-size:1.1rem}
.fs-hw .fs-hw-roles-none{margin:0}
/* ── Footer (port Task 8): .site-footer, the strongroom, the legal row ──
   The source's footer is the same near-black in both modes (#0b0e13,
   words #aab1bd, headings and the name white, the small lines #8d95a3,
   rules #1d2430) and its strongroom a cold steel wall of deed-box doors
   (gradients and inset shadows in fixed steels) — tokens here, the only
   place those literals live. The gold is the palette's accent. */
.fs-hw-footer{
  --fs-hw-ft-bg:#0b0e13;--fs-hw-ft-ink:#aab1bd;--fs-hw-ft-hi:#ffffff;--fs-hw-ft-muted:#8d95a3;--fs-hw-ft-rule:#1d2430;--fs-hw-ft-mark-fg:#12161c;
  --fs-hw-sr-lbl:#eef0f3;--fs-hw-sr-wall-a:#20262f;--fs-hw-sr-wall-b:#14181e;--fs-hw-sr-wall-edge:#2a313d;--fs-hw-sr-wall-in:rgba(0,0,0,.55);
  --fs-hw-sr-door-a:#343c48;--fs-hw-sr-door-b:#222830;--fs-hw-sr-door-ink:#c7cdd6;--fs-hw-sr-door-edge:rgba(255,255,255,.06);--fs-hw-sr-door-top:rgba(255,255,255,.09);--fs-hw-sr-door-drop:rgba(0,0,0,.65);
  --fs-hw-sr-knob-a:#9aa3b0;--fs-hw-sr-knob-b:#4a5160;--fs-hw-sr-knob-edge:rgba(0,0,0,.45);--fs-hw-sr-knob-drop:rgba(0,0,0,.5);--fs-hw-sr-panel:rgba(255,255,255,.07);
  --fs-hw-sr-door-hi-a:#3c4555;--fs-hw-sr-door-hi-b:#272e38;
  background:var(--fs-hw-ft-bg);color:var(--fs-hw-ft-ink);padding:72px 0 0;font-size:.94rem;line-height:1.65
}
.fs-hw-ft-grid{display:grid;grid-template-columns:1.6fr 1fr 1.2fr;gap:44px;padding-bottom:50px}
.fs-hw-ft-brand,.fs-hw-ft-col{min-width:0}
.fs-hw-ft-col{display:block}
.fs-hw .fs-hw-ft-logo{display:flex;align-items:center;gap:12.5px;margin:0 0 18px}
.fs-hw-ft-mark{display:block;flex:none;width:46px;height:46px}
.fs-hw-ft-lg-bg{fill:rgb(var(--c-accent))}
.fs-hw-ft-lg-fg{fill:var(--fs-hw-ft-mark-fg)}
.fs-hw-ft-lg-arm{fill:var(--fs-hw-ft-hi)}
.fs-hw-ft-lock{display:flex;flex-direction:column;gap:4px;min-width:0}
.fs-hw-ft-name{font:600 24px/1.05 var(--font-display,'Noto Serif Display',Georgia,serif);letter-spacing:-.2px;color:var(--fs-hw-ft-hi)}
.fs-hw-ft-sub{font-family:var(--font-sans,'Inter',system-ui,sans-serif);font-size:10px;font-weight:600;line-height:1.2;letter-spacing:3.6px;text-transform:uppercase;color:var(--fs-hw-ft-muted)}
.fs-hw .fs-hw-ft-blurb{max-width:300px;margin:0 0 1em}
.fs-hw .fs-hw-ft-addr{margin:0}
.fs-hw .fs-hw-ft-h{margin:0 0 16px;font:600 .8rem/1.14 var(--font-sans,'Inter',system-ui,sans-serif);letter-spacing:.16em;text-transform:uppercase;color:var(--fs-hw-ft-hi)}
.fs-hw .fs-hw-ft-a{display:block;padding:4px 0;color:var(--fs-hw-ft-ink)}
.fs-hw a.fs-hw-ft-a:hover,.fs-hw a.fs-hw-ft-a:focus-visible{color:rgb(var(--c-accent))}
.fs-hw a.fs-hw-ft-a:focus-visible,.fs-hw a.fs-hw-ft-legal-a:focus-visible{outline:2px solid rgb(var(--c-accent));outline-offset:2px}
.fs-hw .fs-hw-ft-hours{margin:12px 0 0}
.fs-hw-ft-line{display:block}
.fs-hw .fs-hw-row-empty{opacity:.45}
/* The strongroom (.hf-strongroom): a wall of five deed-box doors. */
.fs-hw-vault{margin-top:4px;padding:26px 0 34px;border-top:1px solid var(--fs-hw-ft-rule)}
.fs-hw-vault-lbl{display:block;margin-bottom:16px;color:var(--fs-hw-sr-lbl);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;opacity:.82}
.fs-hw-vault-wall{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:16px;border-radius:12px;background:linear-gradient(180deg,var(--fs-hw-sr-wall-a),var(--fs-hw-sr-wall-b));box-shadow:inset 0 0 0 1px var(--fs-hw-sr-wall-edge),inset 0 2px 14px var(--fs-hw-sr-wall-in)}
/* A door is drawn as the source RENDERS it: the source's own footer link
   rule (.site-footer a{display:block;padding:4px 0}, more specific)
   overrides the door's flex column and 22/8/16px padding, so each door
   is one short centred line — the glyph and the name (Ledger L36). */
.fs-hw .fs-hw-vault-door{position:relative;display:block;min-width:0;padding:4px 0;border-radius:9px;text-align:center;background:linear-gradient(155deg,var(--fs-hw-sr-door-a),var(--fs-hw-sr-door-b));box-shadow:inset 0 0 0 1px var(--fs-hw-sr-door-edge),inset 0 1px 0 var(--fs-hw-sr-door-top),0 8px 16px -10px var(--fs-hw-sr-door-drop);color:var(--fs-hw-sr-door-ink);font:600 .78rem/1.3 var(--font-sans,'Inter',system-ui,sans-serif)}
.fs-hw-vault-door::before{content:"";position:absolute;top:9px;right:9px;width:13px;height:13px;border-radius:50%;background:radial-gradient(circle at 35% 35%,var(--fs-hw-sr-knob-a),var(--fs-hw-sr-knob-b) 72%);box-shadow:inset 0 0 0 1px var(--fs-hw-sr-knob-edge),0 1px 2px var(--fs-hw-sr-knob-drop)}
.fs-hw-vault-door::after{content:"";position:absolute;left:8px;right:8px;top:8px;bottom:8px;border:1px solid var(--fs-hw-sr-panel);border-radius:5px;pointer-events:none}
.fs-hw .fs-hw-vault-door .fs-hw-ic{position:relative;z-index:1;display:inline-block;vertical-align:-.25em;width:24px;height:24px;color:rgb(var(--c-accent));opacity:.92}
.fs-hw-vault-t{position:relative;z-index:1}
.fs-hw a.fs-hw-vault-door:hover,.fs-hw a.fs-hw-vault-door:focus-visible{background:linear-gradient(155deg,var(--fs-hw-sr-door-hi-a),var(--fs-hw-sr-door-hi-b));box-shadow:inset 0 0 0 1px color-mix(in srgb,rgb(var(--c-accent)) 60%,transparent),0 12px 22px -12px var(--fs-hw-sr-door-drop);color:var(--fs-hw-ft-hi)}
.fs-hw a.fs-hw-vault-door:focus-visible{outline:3px solid rgb(var(--c-accent));outline-offset:3px}
/* The legal row (.legal). */
.fs-hw-ft-legal{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;padding:22px 0;border-top:1px solid var(--fs-hw-ft-rule);font-size:.82rem}
.fs-hw-ft-small{max-width:760px}
.fs-hw .fs-hw-ft-legal-a{color:var(--fs-hw-ft-ink)}
.fs-hw a.fs-hw-ft-legal-a:hover{color:rgb(var(--c-accent))}
[data-fs-layout="boxed"] .fs-hw-footer{border-radius:0}
@container fs-hw (max-width:1060px){
  .fs-hw-ft-grid{grid-template-columns:1fr 1fr}
  .fs-hw-vault-wall{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@container fs-hw (max-width:900px){
  .fs-hw .fs-hw-ft-a,.fs-hw .fs-hw-ft-legal-a,.fs-hw .fs-hw-vault-door{display:inline-block;padding-block:7px}
}
@container fs-hw (max-width:760px){
  .fs-hw-ft-grid{grid-template-columns:1fr}
  .fs-hw-vault-wall{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* Invented reviews (owner ruling 2026-10-11): the editor-only marker on a
   sample quote / rating */
.fs-hw-sample-mark{display:inline-block;margin:0 0 8px 8px;padding:2px 8px;border:1px dashed rgb(var(--c-ink-400) / .7);border-radius:4px;font:600 .75rem/1.4 var(--font-sans,'Inter',system-ui,sans-serif);color:rgb(var(--c-ink-400));background:rgb(var(--c-paper-soft))}
.fs-hw-hero .fs-hw-sample-mark{display:block;margin:4px 0 0}

/* ── platform motion stands down on Harlow blocks ──────────────
   Harlow's own reveals ARE the motion on its blocks (port Task 9), so
   the platform baseline (motion-base.ts) stands down through its own
   off-vars: no "Sections ease in" slide, no "Images fade in", no "Buttons
   respond to a press" scale, no platform card lift (Tidewell P58) — the
   source's own lift, press and seal below replace them. */
[data-fs-blocktype^="favHw"]{--fs-anim-fs-sectionin-name:none}
.fs-hw{--fs-anim-fs-imgin-name:none;--fs-anim-fs-press:none;--fs-anim-fs-lift-t:none;--fs-anim-fs-lift-prop:none}

/* ── states the source shows at rest or under the pointer (no movement) ──
   The gold edge and shadow on a hovered card, the gold badge, the link
   underline, the chips' and arrows' colours: state, never gated. */
.fs-hw .fs-hw-lift:hover{box-shadow:var(--fs-hw-shadow);border-color:color-mix(in srgb,rgb(var(--c-accent)) 55%,rgb(var(--c-line)))}
.fs-hw .fs-hw-lift:hover .fs-hw-icon-badge{background:rgb(var(--c-accent));color:var(--fs-hw-on-gold)}
.fs-hw .fs-hw-link-arrow{background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat}
.fs-hw .fs-hw-link-arrow:hover{background-size:100% 1.5px;gap:12px}
.fs-hw .fs-hw-chip:hover{border-color:rgb(var(--c-accent))}
/* The timeline's drawn gold line (the source's .tl::after, drawn at rest
   once in view: here always, the draw is the movement), the urgent
   phone's two rings and the press ripple rest invisible at their end. */
.fs-hw-tl::after{content:"";position:absolute;left:23px;top:8px;width:2px;height:calc(100% - 16px);background:linear-gradient(rgb(var(--c-accent)),rgb(var(--c-brand-text)));transform-origin:top}
.fs-hw-ripple{position:absolute;border-radius:50%;pointer-events:none;opacity:0;background:color-mix(in srgb,var(--fs-on-brand) 45%,transparent)}

/* ══ motion (the source's own; port Task 9) ═════════════════════════════
   Every Harlow movement, ported from the source's keyframes and
   transitions, in ONE place so the three gates are the same for all:
     1. drawn 'rich' (.fs-hw-anim on the block root; the editor canvas
        draws 'standard'),
     2. [data-fs-motion="on"] — the published site and the template
        preview at Motion On or Subtle; the editor canvas, Off and any
        surface without the shell match nothing and stay still,
     3. @media screen and (prefers-reduced-motion: no-preference).
   SUBTLE is the platform's rule — every travel calc(<px> *
   var(--fs-motion-dist, 1)) (0.3 at Subtle) and every time calc(<t> *
   var(--fs-anim-speed, 1)) (x1.7, with the Speed dial) — which IS the
   source's own Subtle for the lifts (-1.8 / -0.6 / 1.2px), the tilt
   (-1.8deg), the article glow (1.08) and the stamp (1.01); where the
   source's Subtle is stricter it wins: loops play once (the pulse), the
   marquee slows to its 160s, the count runs 0.9s (HarlowBlocks.tsx).
   Each effect reads var(--fs-anim-<id>, <the source's own value>) so Site
   Settings -> Micro-animations can switch it off (ids: themes/harlow.ts
   microAnimations; npm run check:anim).
   FILL: backwards only, the end frame always the element's resting
   style. The stamp settle never hides content without the script: its
   hidden first frame is a PAUSED animation behind data-hw-in="0", which
   only the reveal runtime (useHwMotion, HarlowBlocks.tsx) sets — no
   script, no attribute, nothing hidden. States that carry meaning (an
   open answer, a turned card, the chosen tab) rest outside these gates;
   only their movement is inside. No clip-path reveals. */
@keyframes fs-hw-stamp-o{from{opacity:0}to{opacity:1}}
@keyframes fs-hw-stamp-s{from{transform:scale(calc(1 + .045 * var(--fs-motion-dist, 1)))}to{transform:none}}
@keyframes fs-hw-line{from{transform:scaleY(0)}to{transform:none}}
@keyframes fs-hw-dot{from{opacity:0;transform:scale(calc(1 - .4 * var(--fs-motion-dist, 1)))}to{opacity:1;transform:none}}
@keyframes fs-hw-marq{to{transform:translateX(-50%)}}
@keyframes fs-hw-pulse{from{transform:scale(1);opacity:.8}to{transform:scale(calc(1 + 1.1 * var(--fs-motion-dist, 1)));opacity:0}}
@keyframes fs-hw-seal{0%{transform:scale(1)}32%{transform:scale(calc(1 - .09 * var(--fs-motion-dist, 1)))}68%{transform:scale(calc(1 + .04 * var(--fs-motion-dist, 1)))}100%{transform:scale(1)}}
@keyframes fs-hw-rip{from{transform:scale(0);opacity:1}to{transform:scale(calc(4 * var(--fs-motion-dist, 1)));opacity:0}}
@keyframes fs-hw-rise{from{transform:translateY(calc(10px * var(--fs-motion-dist, 1)))}to{transform:none}}
@keyframes fs-hw-docket{0%{transform:scale(calc(1 + .05 * var(--fs-motion-dist, 1))) rotate(calc(-1deg * var(--fs-motion-dist, 1)))}60%{transform:scale(calc(1 - .01 * var(--fs-motion-dist, 1))) rotate(calc(.3deg * var(--fs-motion-dist, 1)))}100%{transform:none}}
@keyframes fs-hw-slide{from{opacity:0;transform:translateX(calc(18px * var(--fs-motion-dist, 1)))}to{opacity:1;transform:none}}
@keyframes fs-hw-car{from{opacity:0;transform:translateX(calc(30px * var(--fs-motion-dist, 1)))}to{opacity:1;transform:none}}
@keyframes fs-hw-pop{from{opacity:0;transform:scale(calc(1 - .06 * var(--fs-motion-dist, 1)))}to{opacity:1;transform:none}}
@keyframes fs-hw-open{from{grid-template-rows:0fr}to{grid-template-rows:1fr}}

/* Positions in a stagger (the source's --d: .08s / .16s / .24s across a
   row; the hero's lead / buttons / proof .1 / .2 / .3s, its picture
   .15s; a timeline's rings .2s then every .5s). Times x --fs-anim-speed
   where they are used. */
.fs-hw-g3 > :nth-child(3n+2),.fs-hw-g4 > :nth-child(4n+2),.fs-hw-stats > :nth-child(4n+2),.fs-hw-g2 > :nth-child(2n){--fs-hw-d:.08s}
.fs-hw-g3 > :nth-child(3n),.fs-hw-g4 > :nth-child(4n+3),.fs-hw-stats > :nth-child(4n+3){--fs-hw-d:.16s}
.fs-hw-g4 > :nth-child(4n),.fs-hw-stats > :nth-child(4n){--fs-hw-d:.24s}
.fs-hw-ih-copy > :nth-child(3){--fs-hw-d:.1s}
.fs-hw-ih-copy > :nth-child(4){--fs-hw-d:.2s}
.fs-hw-ih-copy > :nth-child(n+5){--fs-hw-d:.3s}
.fs-hw-hero-art{--fs-hw-d:.15s}
.fs-hw-tl-item:nth-child(1){--fs-hw-d:.2s}
.fs-hw-tl-item:nth-child(2){--fs-hw-d:.7s}
.fs-hw-tl-item:nth-child(3){--fs-hw-d:1.2s}
.fs-hw-tl-item:nth-child(4){--fs-hw-d:1.7s}
.fs-hw-tl-item:nth-child(n+5){--fs-hw-d:2.2s}

/* screen only: a printed page shows every item, never a waiting one */
@media screen and (prefers-reduced-motion: no-preference){
  /* hwStamp — the stamp settle (.hf-stamp .rv): an item fades in (.4s
     ease-out) as it settles from 104.5% on the source's overshoot
     (.42s), each at its place in the stagger */
  [data-fs-motion="on"] .fs-hw-anim [data-hw-in]{animation:var(--fs-anim-hwStamp, fs-hw-stamp-o calc(.4s * var(--fs-anim-speed, 1)) ease-out calc(var(--fs-hw-d, 0s) * var(--fs-anim-speed, 1)) backwards, fs-hw-stamp-s calc(.42s * var(--fs-anim-speed, 1)) cubic-bezier(.26,1.6,.38,1) calc(var(--fs-hw-d, 0s) * var(--fs-anim-speed, 1)) backwards)}
  /* waiting to scroll in: held on the first frame, paused */
  [data-fs-motion="on"] .fs-hw-anim [data-hw-in="0"]{animation-play-state:paused}

  /* hwLine — the timeline's gold line draws down (2.2s) and its rings
     pop in one after another (.6s on the source's overshoot) */
  [data-fs-motion="on"] .fs-hw-anim .fs-hw-tl[data-hw-in]::after{animation:var(--fs-anim-hwLine, fs-hw-line calc(2.2s * var(--fs-anim-speed, 1)) cubic-bezier(.3,.7,.2,1) backwards)}
  [data-fs-motion="on"] .fs-hw-anim .fs-hw-tl[data-hw-in] .fs-hw-tl-dot{animation:var(--fs-anim-hwLine, fs-hw-dot calc(.6s * var(--fs-anim-speed, 1)) cubic-bezier(.2,.9,.3,1.4) calc(var(--fs-hw-d, 0s) * var(--fs-anim-speed, 1)) backwards)}
  [data-fs-motion="on"] .fs-hw-anim .fs-hw-tl[data-hw-in="0"]::after,
  [data-fs-motion="on"] .fs-hw-anim .fs-hw-tl[data-hw-in="0"] .fs-hw-tl-dot{animation-play-state:paused}

  /* hwMarquee — the accreditation strip runs its 32s loop (the source's
     Subtle: 160s); it stands still while the pointer or the keyboard is
     on it (WCAG 2.2.2), and not at all under Off or reduced motion */
  [data-fs-motion="on"] .fs-hw-anim .fs-hw-marq-track{animation:var(--fs-anim-hwMarquee, fs-hw-marq calc(32s * var(--fs-anim-speed, 1)) linear infinite)}
  [data-fs-motion="on"][data-fs-motion-level="subtle"] .fs-hw-anim .fs-hw-marq-track{animation-duration:160s}
  [data-fs-motion="on"] .fs-hw-anim .fs-hw-marq:is(:hover,:focus-within,.is-paused) .fs-hw-marq-track{animation-play-state:paused}

  /* hwPulse — two gold rings swell out of the urgent phone (2.2s, the
     second 1.1s behind); at Subtle they play once and rest (the source's) */
  [data-fs-motion="on"] .fs-hw-anim .fs-hw-pulse::before,[data-fs-motion="on"] .fs-hw-anim .fs-hw-pulse::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid rgb(var(--c-accent));opacity:0;animation:var(--fs-anim-hwPulse, fs-hw-pulse calc(2.2s * var(--fs-anim-speed, 1)) ease-out infinite)}
  [data-fs-motion="on"] .fs-hw-anim .fs-hw-pulse::after{animation-delay:calc(1.1s * var(--fs-anim-speed, 1))}
  [data-fs-motion="on"][data-fs-motion-level="subtle"] .fs-hw-anim .fs-hw-pulse::before,[data-fs-motion="on"][data-fs-motion-level="subtle"] .fs-hw-anim .fs-hw-pulse::after{animation-iteration-count:1}

  /* hwPress — the seal press on the primary and gold buttons (.32s) and
     the ripple from the point pressed (.6s); both are set by the click
     (HarlowBlocks.tsx), which reads the switch too; a held press .97 */
  [data-fs-motion="on"] .fs-hw-anim .fs-hw-btn.is-seal{animation:var(--fs-anim-hwPress, fs-hw-seal calc(.32s * var(--fs-anim-speed, 1)) cubic-bezier(.3,1.4,.4,1) backwards)}
  [data-fs-motion="on"] .fs-hw-anim .fs-hw-ripple{animation:var(--fs-anim-hwPress, fs-hw-rip calc(.6s * var(--fs-anim-speed, 1)) ease-out backwards)}
  [data-fs-motion="on"] .fs-hw-anim .fs-hw-btn:active{transform:var(--fs-anim-hwPress, translateY(0) scale(calc(1 - .03 * var(--fs-motion-dist, 1))))}

  /* hwFile — the matter finder: the chosen tab's gold rule draws across
     (.35s), the radio's dot grows (.25s), the answer sheet rises 10px
     (.38s) — the docket's stamp settle (.4s) — when it changes */
  [data-fs-motion="on"] .fs-hw-anim .fs-hw-ih-tab-in::before{transition:var(--fs-anim-hwFile, transform calc(.35s * var(--fs-anim-speed, 1)) cubic-bezier(.2,.8,.2,1))}
  [data-fs-motion="on"] .fs-hw-anim .fs-hw-ih-dot::after{transition:var(--fs-anim-hwFile, transform calc(.25s * var(--fs-anim-speed, 1)) cubic-bezier(.2,.8,.2,1))}
  [data-fs-motion="on"] .fs-hw-anim .fs-hw-ih-pane.is-on{animation:var(--fs-anim-hwFile, fs-hw-rise calc(.38s * var(--fs-anim-speed, 1)) cubic-bezier(.2,.8,.2,1) backwards)}
  [data-fs-motion="on"] .fs-hw-anim .fs-hw-docket .fs-hw-ih-pane.is-on{animation:var(--fs-anim-hwFile, fs-hw-docket calc(.4s * var(--fs-anim-speed, 1)) cubic-bezier(.26,1.6,.38,1) backwards)}

  /* hwSwap — a review slides in from the right (.6s); a practice-area
     tab's panel slides in (.5s) */
  [data-fs-motion="on"] .fs-hw-anim .fs-hw-car-slide.is-on{animation:var(--fs-anim-hwSwap, fs-hw-car calc(.6s * var(--fs-anim-speed, 1)) cubic-bezier(.2,.8,.2,1) backwards)}
  [data-fs-motion="on"] .fs-hw-anim .fs-hw-tab-panel:not([hidden]){animation:var(--fs-anim-hwSwap, fs-hw-slide calc(.5s * var(--fs-anim-speed, 1)) ease backwards)}
  [data-fs-motion="on"] .fs-hw-anim .fs-hw-dot{transition:var(--fs-anim-hwSwap, width calc(.3s * var(--fs-anim-speed, 1)),background-color calc(.3s * var(--fs-anim-speed, 1)))}

  /* hwOpen — an answer opens without a jump (.4s) and its plus turns
     into a cross (.35s) */
  [data-fs-motion="on"] .fs-hw-anim .fs-hw-acc-a:not([hidden]){display:grid;animation:var(--fs-anim-hwOpen, fs-hw-open calc(.4s * var(--fs-anim-speed, 1)) ease backwards)}
  [data-fs-motion="on"] .fs-hw-anim .fs-hw-acc-a:not([hidden]) > *{min-height:0;overflow:hidden}
  [data-fs-motion="on"] .fs-hw-anim .fs-hw-acc-q .fs-hw-ic{transition:var(--fs-anim-hwOpen, transform calc(.35s * var(--fs-anim-speed, 1)))}
  [data-fs-motion="on"] .fs-hw-anim .fs-hw-acc-item{transition:var(--fs-anim-hwOpen, border-color calc(.3s * var(--fs-anim-speed, 1)))}

  /* hwFlip — a partner card turns over (.8s) */
  [data-fs-motion="on"] .fs-hw-anim .fs-hw-flip-in{transition:var(--fs-anim-hwFlip, transform calc(.8s * var(--fs-anim-speed, 1)) cubic-bezier(.3,.7,.2,1))}

  /* hwPop — a form's thanks pops in (.5s) */
  [data-fs-motion="on"] .fs-hw-anim .fs-hw-form-ok.is-show{animation:var(--fs-anim-hwPop, fs-hw-pop calc(.5s * var(--fs-anim-speed, 1)) cubic-bezier(.2,.9,.3,1.3) backwards)}
}

/* hwLift — under a pointer that hovers: cards rise 6px (.35s) and their
   badge tilts -6deg and grows 8%; buttons rise 2px (.2s) and their arrow
   steps 4px (.3s); chips rise 1px; a practice-area tab steps 4px right;
   an article's glow grows 25% (.6s); a footer link (a door too, as the
   source renders it) slides 4px (.2s); the link underline draws (.3s) */
@media screen and (prefers-reduced-motion: no-preference) and (hover:hover){
  [data-fs-motion="on"] .fs-hw-anim .fs-hw-lift,[data-fs-motion="on"] .fs-hw-anim .fs-hw-lift .fs-hw-icon-badge{transition:var(--fs-anim-hwLift, transform calc(.35s * var(--fs-anim-speed, 1)) cubic-bezier(.2,.8,.2,1),box-shadow calc(.35s * var(--fs-anim-speed, 1)),border-color calc(.35s * var(--fs-anim-speed, 1)),background-color calc(.35s * var(--fs-anim-speed, 1)))}
  [data-fs-motion="on"] .fs-hw-anim .fs-hw-lift:hover{transform:var(--fs-anim-hwLift, translateY(calc(-6px * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] .fs-hw-anim .fs-hw-lift:hover .fs-hw-icon-badge{transform:var(--fs-anim-hwLift, rotate(calc(-6deg * var(--fs-motion-dist, 1))) scale(calc(1 + .08 * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] .fs-hw-anim .fs-hw-btn{transition:var(--fs-anim-hwLift, transform calc(.2s * var(--fs-anim-speed, 1)),box-shadow calc(.3s * var(--fs-anim-speed, 1)),background-color calc(.3s * var(--fs-anim-speed, 1)),color calc(.3s * var(--fs-anim-speed, 1)))}
  [data-fs-motion="on"] .fs-hw-anim .fs-hw-btn:hover:not(:active){transform:var(--fs-anim-hwLift, translateY(calc(-2px * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] .fs-hw-anim .fs-hw-btn .fs-hw-ic{transition:var(--fs-anim-hwLift, transform calc(.3s * var(--fs-anim-speed, 1)))}
  [data-fs-motion="on"] .fs-hw-anim .fs-hw-btn:hover .fs-hw-go{transform:var(--fs-anim-hwLift, translateX(calc(4px * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] .fs-hw-anim .fs-hw-chip{transition:var(--fs-anim-hwLift, all calc(.22s * var(--fs-anim-speed, 1)))}
  [data-fs-motion="on"] .fs-hw-anim .fs-hw-chip:hover{transform:var(--fs-anim-hwLift, translateY(calc(-1px * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] .fs-hw-anim .fs-hw-tab-btn{transition:var(--fs-anim-hwLift, all calc(.25s * var(--fs-anim-speed, 1)))}
  [data-fs-motion="on"] .fs-hw-anim .fs-hw-tab-btn:hover{transform:var(--fs-anim-hwLift, translateX(calc(4px * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] .fs-hw-anim .fs-hw-post-thumb::after{transition:var(--fs-anim-hwLift, transform calc(.6s * var(--fs-anim-speed, 1)))}
  [data-fs-motion="on"] .fs-hw-anim .fs-hw-post:hover .fs-hw-post-thumb::after{transform:var(--fs-anim-hwLift, scale(calc(1 + .25 * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] .fs-hw-anim.fs-hw-footer a:is(.fs-hw-ft-a,.fs-hw-vault-door){transition:var(--fs-anim-hwLift, color calc(.2s * var(--fs-anim-speed, 1)),transform calc(.2s * var(--fs-anim-speed, 1)),background calc(.25s * var(--fs-anim-speed, 1)),box-shadow calc(.25s * var(--fs-anim-speed, 1)))}
  [data-fs-motion="on"] .fs-hw-anim.fs-hw-footer a:is(.fs-hw-ft-a,.fs-hw-vault-door):hover{transform:var(--fs-anim-hwLift, translateX(calc(4px * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] .fs-hw-anim .fs-hw-link-arrow{transition:var(--fs-anim-hwLift, background-size calc(.3s * var(--fs-anim-speed, 1)),gap calc(.3s * var(--fs-anim-speed, 1)))}
  [data-fs-motion="on"] .fs-hw-anim .fs-hw-arr,[data-fs-motion="on"] .fs-hw-anim .fs-hw-tbl tbody tr{transition:var(--fs-anim-hwLift, all calc(.25s * var(--fs-anim-speed, 1)))}
}

.pp{--paper:rgb(var(--c-paper));--surface:color-mix(in srgb,var(--paper) 94%,var(--ink));--ink:rgb(var(--c-ink-950));--brand:rgb(var(--c-brand-600));--accent:rgb(var(--c-accent));--onbrand:var(--fs-on-brand);--rule:var(--ink);--display:var(--font-display,Georgia),'Times New Roman',serif;--body:var(--font-body,Arial),Helvetica,sans-serif;--gap:24px;--gutter:clamp(20px,4cqi,64px);--shell:1200px;--radius:0px;--line:1px;--duration:180ms;background:var(--paper);color:var(--ink);font:16px/1.65 var(--body);container:pp / inline-size;max-width:1500px;margin:auto;position:relative;min-width:0}.pp :where(h1,h2,h3,p,figure){margin:0}.pp :where(h1,h2,h3){font-family:var(--display);text-wrap:balance;line-height:1.12}.pp h1{font-size:clamp(40px,5.8cqi,80px);letter-spacing:-.045em}.pp h2{font-size:clamp(32px,3.7cqi,50px);letter-spacing:-.035em}.pp h3{font-size:26px;letter-spacing:-.02em}.pp p{max-width:66ch}.pp p+p{margin-top:16px}.pp :where(button,input,select,textarea){font:inherit;color:inherit}.pp button{border-radius:var(--radius);border:1px solid var(--ink);background:transparent;padding:10px 16px;min-height:44px}.pp button:hover{background:var(--surface)}.pp .btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;background:var(--brand);color:var(--onbrand);padding:14px 22px;min-height:48px;line-height:1.3;border:1px solid var(--brand);text-decoration:none;font-weight:bold;border-radius:var(--radius)}.pp .btn:hover{box-shadow:inset 0 0 0 2px var(--onbrand);background:var(--brand)}.pp .btn.secondary{background:transparent;color:var(--ink);border-color:var(--ink)}.pp .text-link{display:inline-flex;align-items:center;min-height:44px;gap:12px}.pp .wrap{width:100%;max-width:var(--shell);padding-inline:var(--gutter);margin-inline:auto}.pp .section{padding-block:64px}.pp .section+.section{border-top:1px solid var(--rule)}.pp .eyebrow{font-size:12px;letter-spacing:1.4px;text-transform:uppercase;line-height:1.5}.pp .kicker{font:italic 18px/1.5 var(--display)}.pp .lede{font-size:18px;line-height:1.7;max-width:48ch}.pp .small{font-size:14px;line-height:1.6}.pp .tiny{font-size:12px;line-height:1.6}.pp .space{margin-top:24px}.pp .space-sm{margin-top:12px}.pp .rule{border-top:1px solid var(--rule)}.pp .split{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}.pp .two{display:grid;grid-template-columns:1fr 1fr;gap:40px}.pp .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:24px}.pp .paper-note{border:1px solid;padding:24px;background:var(--surface)}.pp .masthead{border-bottom:1px solid var(--rule);position:relative;z-index:10}.pp .header-row{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:24px}.pp .logo{display:flex;align-items:center;gap:8px;text-decoration:none;min-width:0}.pp .logo svg{width:48px;flex-shrink:0}.pp .wordmark{font:bold 32px/1.05 var(--display);letter-spacing:-1.4px}.pp .wordmark small{font:12px/1.5 var(--body);display:block;letter-spacing:1.2px;margin-top:8px;text-align:center}.pp .nav{display:flex;align-items:center;gap:24px}.pp .nav a{font-size:14px;text-decoration:none;min-height:44px;display:flex;align-items:center}.pp .nav a[aria-current=page]{text-decoration:underline}.pp .nav summary{list-style:none;min-height:44px;display:flex;align-items:center;gap:8px;font-size:14px}.pp .mega{position:absolute;top:100%;left:0;right:0;background:var(--surface);border-block:1px solid;box-shadow:0 16px 24px #0002}.pp .mega-inner{padding-block:32px;display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:32px}.pp .mega a{display:block;border-bottom:1px solid;padding:12px 0;font:20px var(--display);min-height:44px}.pp .mega p{font-size:14px}.pp .phone-toggle{display:none}.pp .phone-nav{border-top:1px solid;padding:16px var(--gutter);background:var(--surface)}.pp .phone-nav a{display:block;min-height:48px;padding:10px 0;border-bottom:1px solid;text-decoration:none}.pp .edition-line{border-bottom:1px solid;display:flex;justify-content:space-between;gap:24px;padding-block:10px;font-size:12px;letter-spacing:.7px}.pp .hero{padding-block:48px 40px}.pp .hero h1{margin-block:20px 24px;font-weight:bold}.pp .hero .lede{max-width:38ch}.pp .hero-art{position:relative;min-width:0}.pp .hero-art svg{width:100%}.pp .stamp{position:absolute;right:0;top:4%;width:88px;aspect-ratio:1;border:1px solid;border-radius:50%;display:grid;place-content:center;text-align:center;font:bold 12px/1.6 var(--body);transform:rotate(12deg);background:var(--paper)}.pp .hero-tool{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px;max-width:480px}.pp label{display:block;font-size:14px}.pp :where(select,input,textarea){display:block;width:100%;background:var(--surface);border:1px solid var(--ink);padding:11px 12px;min-height:48px;border-radius:0}.pp .hero-tool output{font:bold 21px var(--display);align-self:center}.pp .hero-tool .btn{font-size:14px;padding:12px}.pp .ribbon{background:var(--brand);color:var(--onbrand);padding:14px 24px;display:flex;justify-content:center;gap:40px;flex-wrap:wrap;font-size:12px;letter-spacing:1.6px}.pp .section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:32px}.pp .menu-row{display:grid;grid-template-columns:1fr auto;gap:24px;border-top:1px solid;padding-block:20px;align-items:start}.pp .menu-row h3{font-size:25px}.pp .menu-row .price{font:bold 24px var(--display);font-variant-numeric:tabular-nums;white-space:nowrap}.pp .menu-row p{font-size:14px;max-width:40ch;margin-top:6px}.pp .menu-row details{grid-column:1 / -1;font-size:14px}.pp .menu-row summary{min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:4px}.pp .filters{display:flex;gap:8px;flex-wrap:wrap;margin-block:24px}.pp .filters button[aria-pressed=true],.pp .day-tabs button[aria-pressed=true]{background:var(--brand);color:var(--onbrand)}.pp .feature-quote{font:clamp(30px,3.8cqi,54px)/1.2 var(--display);max-width:23ch}.pp .illustrated{background:var(--surface)}.pp .illustrated svg{width:100%}.pp .article{display:grid;grid-template-columns:220px 1fr;gap:48px;align-items:start}.pp .article .prose{max-width:68ch}.pp .article h2{font-size:34px;margin-bottom:20px}.pp .article p{margin-bottom:20px}.pp .page-title{padding-block:48px 36px}.pp .page-title h1{margin-block:16px 20px;max-width:15ch}.pp .page-title p{max-width:52ch}.pp .counter-label{border:1px solid;padding:16px 24px;display:flex;justify-content:space-between;gap:24px;margin-top:24px}.pp .counter-label strong{font:24px var(--display)}.pp .closing{padding-block:48px;background:var(--surface)}.pp .closing .wrap{display:flex;align-items:center;justify-content:space-between;gap:32px}.pp .closing h2{max-width:18ch}.pp .footer{background:var(--brand);color:var(--onbrand);padding-block:40px 24px}.pp .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:32px}.pp .footer h3{font-size:20px;margin-bottom:12px}.pp .footer a{display:block;min-height:44px;padding-block:8px;font-size:14px}.pp .footer .wordmark{font-size:42px}.pp .footer-bottom{border-top:1px solid;margin-top:32px;padding-top:20px;display:flex;justify-content:space-between;gap:24px;font-size:12px;flex-wrap:wrap}.pp .footer-bottom a{font-size:12px;display:inline-flex;margin-right:16px}.pp .faq details{border-top:1px solid;padding:8px 0}.pp .faq summary{padding:16px 32px 16px 0;min-height:56px;font:24px/1.3 var(--display)}.pp .faq details p{padding-bottom:20px}.pp .day-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}.pp .day-result{font:28px var(--display);min-height:80px;padding:20px 0;border-block:1px solid}.pp .hours-row{display:flex;justify-content:space-between;gap:24px;border-top:1px solid;padding:14px 0;font-size:14px}.pp .field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.pp .field-grid label.full{grid-column:1/-1}.pp textarea{min-height:140px;resize:vertical}.pp .form-result{min-height:32px;margin-top:16px;font-weight:bold}.pp .gallery-item{background:var(--surface);border:1px solid}.pp .gallery-item button{border:0;border-top:1px solid;width:100%;text-align:left;padding:20px;display:flex;justify-content:space-between;gap:20px}.pp .gallery-item .caption{padding:0 20px 20px}.pp .gallery-item svg{width:100%;aspect-ratio:4/3;object-fit:contain}.pp .photo-note{border:1px dashed;padding:12px 16px;font-size:12px;margin-top:12px}.pp .docs{padding-block:48px 64px}.pp .docs h1{font-size:48px;margin-bottom:20px}.pp .docs h2{font-size:32px;margin-top:32px;margin-bottom:20px}.pp .docs h3{font-size:24px;margin-bottom:12px}.pp .docs .grid>article{border:1px solid;padding:24px;min-width:0}.pp .docs pre{white-space:pre-wrap;overflow-wrap:anywhere;font:14px/1.6 monospace;background:var(--surface);padding:20px}.pp .docs code{overflow-wrap:anywhere}.pp table{width:100%;border-collapse:collapse;font-size:14px}.pp th,.pp td{border-bottom:1px solid;padding:12px;text-align:left;vertical-align:top}.pp .table-scroll{overflow:auto}.pp .logo-demo{display:flex;gap:16px;align-items:center;flex-wrap:wrap;border:1px solid;padding:24px;background:var(--surface)}.pp .logo-demo svg{width:64px}.pp .logo-demo.stacked{flex-direction:column;text-align:center}.pp .logo-demo .wordmark{font-size:32px}.pp .motion-tile{border:1px solid;padding:24px;background:var(--surface);display:grid;gap:12px}.pp .motion-demo{height:64px;display:grid;place-content:center;font:28px var(--display)}.pp .motion-demo.play{animation:ppDemo .6s ease both}.pp .motion-tile:nth-child(3n) .motion-demo.play{animation-name:ppStamp}.pp .motion-tile:nth-child(3n + 2) .motion-demo.play{animation-name:ppLift}.pp .page-enter{animation:ppEnter .24s ease-out}.pp .editor-fields{font-size:12px;border-top:1px dashed;padding-top:16px;margin-top:20px}.pp .compare{display:grid;grid-template-columns:1fr 1fr;gap:24px}.pp .compare button{text-align:left;padding:24px}.pp .compare button[aria-pressed=true]{background:var(--surface);box-shadow:inset 0 0 0 2px var(--ink)}.pp .compare strong{font:32px var(--display);display:block}.pp .sample-note{padding:12px var(--gutter);background:var(--surface);font-size:12px;border-top:1px solid}.pp .stress-note{background:var(--accent);color:#183e3c;padding:16px var(--gutter);font-size:14px}.pp .gallery-expanded{border:2px solid var(--ink)}.pp .journal-list article{display:grid;grid-template-columns:100px 1fr auto;gap:24px;padding:28px 0;border-top:1px solid;align-items:start}.pp .journal-list h2{font-size:32px}.pp .journal-list details{grid-column:2/-1}.pp .journal-list summary{min-height:44px}.pp .legal-prose{max-width:760px}.pp .legal-prose h2{font-size:28px}.pp .legal-prose p{margin-block:20px}.pp[data-layout=full] .wrap{max-width:none}.pp[data-layout=boxed]{--shell:1080px;max-width:1240px;border:1px solid var(--ink)}.pp[data-layout=centered] .hero{grid-template-columns:1fr;text-align:center}.pp[data-layout=centered] .hero>div{margin:auto}.pp[data-layout=centered] .hero .lede,.pp[data-layout=centered] .hero-tool{margin-inline:auto}.pp[data-layout=centered] .hero-art{max-width:600px;width:100%}.pp[data-layout=centered] .hero h1{max-width:18ch}.pp[data-layout=minimal]{--shell:920px;--gutter:32px}.pp[data-layout=minimal] .ribbon{background:transparent;color:var(--ink);border-block:1px solid}.pp[data-layout=heroEdge] .hero{max-width:none;background:var(--surface);padding-inline:var(--gutter)}.pp[data-motion=off] *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.pp[data-stress=true] h1{font-size:clamp(38px,5cqi,68px)}.stage.phone .pp{max-width:390px}.stage.tablet .pp{max-width:768px}
@container pp (max-width:900px){.pp .nav{gap:16px}.pp .header-row{gap:12px}.pp .wordmark{font-size:27px}.pp .logo svg{width:36px}.pp .nav a{font-size:13px}.pp .hero{gap:24px}.pp .hero-tool{grid-template-columns:1fr}.pp .hero-tool .btn{justify-self:start}.pp .article{grid-template-columns:160px 1fr;gap:32px}.pp .header-row>.btn{font-size:14px;padding:12px 16px}}
@container pp (max-width:720px){.pp .section{padding-block:40px}.pp .split,.pp .two{grid-template-columns:1fr;gap:32px}.pp .hero{padding-block:32px}.pp .hero h1{font-size:56px;letter-spacing:-2.6px}.pp .hero-art{max-width:520px;margin:auto}.pp .hero-tool{grid-template-columns:1fr 1fr}.pp .hero-tool .btn{justify-self:stretch}.pp .hero .lede{max-width:42ch}.pp .nav{display:none}.pp .phone-toggle{display:block;margin-left:auto}.pp .header-row>.btn{display:none}.pp .header-row{padding-block:20px}.pp .edition-line{font-size:12px;gap:12px;flex-wrap:wrap}.pp .ribbon{gap:8px 24px;font-size:12px}.pp .ribbon span:last-child{display:none}.pp .article{grid-template-columns:1fr;gap:24px}.pp .article aside{border-bottom:1px solid;padding-bottom:16px}.pp .footer-grid{grid-template-columns:1fr 1fr}.pp .footer-grid>div:first-child{grid-column:1/-1}.pp .closing .wrap{align-items:start;flex-direction:column}.pp .section-head{align-items:start;flex-direction:column;gap:16px}.pp .stamp{width:76px;font-size:12px}.pp .page-title{padding-block:32px}.pp .page-title h1{font-size:48px}.pp .compare{grid-template-columns:1fr 1fr}.pp .compare button{padding:16px}.pp .docs h1{font-size:40px}.pp .journal-list article{grid-template-columns:1fr;gap:12px}.pp .journal-list details{grid-column:auto}.pp .counter-label{flex-wrap:wrap}.pp .mega-inner{grid-template-columns:1fr}.pp .field-grid{grid-template-columns:1fr}.pp .field-grid label.full{grid-column:auto}}
@container pp (max-width:400px){.pp .hero h1{font-size:48px}.pp .hero-tool{grid-template-columns:1fr}.pp .wordmark{font-size:26px}.pp .logo svg{width:32px}.pp .wordmark small{font-size:12px;letter-spacing:.2px}.pp .footer-grid{grid-template-columns:1fr}.pp .compare{grid-template-columns:1fr}.pp .menu-row .price{font-size:22px}.pp .hours-row{flex-direction:column;gap:4px}.pp .page-title h1{font-size:42px}}
@media(max-width:650px){.pp .sample-note{padding-bottom:20px}}
@container pp (max-width:720px){.pp .hero-quick-link{display:block}.pp .edition-line span:not(:first-child){display:none}}
@container pp (max-width:400px){.pp .footer-grid>div:nth-child(2){display:grid;grid-template-columns:1fr 1fr;column-gap:16px}.pp .footer-grid>div:nth-child(2) h3{grid-column:1/-1}}
.pp .motion-tile:nth-child(1) .motion-demo.play{animation-name:ppDemo}.pp .motion-tile:nth-child(2) .motion-demo.play{animation-name:ppHover}.pp .motion-tile:nth-child(3) .motion-demo.play{animation-name:ppAccordion}.pp .motion-tile:nth-child(4) .motion-demo.play{animation-name:ppMenu}.pp .motion-tile:nth-child(5) .motion-demo.play{animation-name:ppTransition}.pp .motion-tile:nth-child(6) .motion-demo.play{animation-name:ppLift}.pp .motion-tile:nth-child(7) .motion-demo.play{animation-name:ppStamp}.pp .motion-tile:nth-child(8) .motion-demo.play{animation-name:ppFilter}.pp .motion-tile:nth-child(9) .motion-demo.play{animation-name:ppTotal}.pp .motion-tile:nth-child(10) .motion-demo.play{animation-name:ppCaption}.pp .motion-tile:nth-child(11) .motion-demo.play{animation-name:ppSheet}.pp .motion-tile:nth-child(12) .motion-demo.play{animation-name:ppMark}
@keyframes ppHover{50%{transform:translateX(8px);text-decoration:underline}}@keyframes ppAccordion{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}@keyframes ppMenu{from{transform:scaleY(.6);transform-origin:top;opacity:.3}to{transform:scaleY(1);opacity:1}}@keyframes ppTransition{0%{opacity:.3}100%{opacity:1}}@keyframes ppFilter{50%{background:var(--brand);color:var(--onbrand)}}@keyframes ppTotal{50%{transform:scale(1.08);font-weight:bold}}@keyframes ppCaption{from{clip-path:inset(100% 0 0 0);transform:translateY(4px)}to{clip-path:inset(0);transform:none}}@keyframes ppSheet{from{transform:translateY(24px);opacity:.3}to{transform:none;opacity:1}}@keyframes ppMark{0%{transform:rotate(-12deg) scale(.8)}60%{transform:rotate(4deg) scale(1.02)}100%{transform:none}}@keyframes ppEnter{from{opacity:.8;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes ppDemo{from{opacity:.2;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes ppStamp{from{transform:rotate(-10deg) scale(1.1)}to{transform:none}}@keyframes ppLift{50%{transform:translateY(-8px)}}

/* Visual review repairs: native output needs a block box; reserve a clear chat dock. */
.pp .group-total{display:block}

.pp{max-width:none}.pp *{box-sizing:border-box}.pp svg{display:block;max-width:100%;height:auto}.pp [hidden]{display:none!important}.pp .group-total{display:block}.pp .hero-quick-link{display:none}@container pp (max-width:720px){.pp .hero-quick-link{display:block}.pp .edition-line span:not(:first-child){display:none}}
[data-fs-theme='paper-pickle'] .pp h1{font-size:calc(clamp(40px,5.8cqi,80px) * var(--pp-type-scale,1))!important;line-height:1.12!important;font-family:var(--font-display,Georgia),serif!important;letter-spacing:-.045em!important}[data-fs-theme='paper-pickle'] .pp h2{font-size:calc(clamp(32px,3.7cqi,50px) * var(--pp-type-scale,1))!important;line-height:1.12!important;font-family:var(--font-display,Georgia),serif!important}[data-fs-theme='paper-pickle'] .pp h3{font-size:26px!important;line-height:1.12!important;font-family:var(--font-display,Georgia),serif!important}.pp input,.pp select,.pp textarea{border:1px solid var(--ink);border-radius:0;background:var(--surface);padding:10px 12px;min-height:48px}.pp .ribbon{color:var(--onbrand)}@container pp (max-width:720px){[data-fs-theme='paper-pickle'] .pp h1{font-size:calc(48px * var(--pp-type-scale,1))!important}}
[data-fs-theme='paper-pickle'] .pp .pp-phone-screen button{color:var(--ink)!important;background:var(--surface)}[data-fs-theme='paper-pickle'] .pp .pp-phone-screen button.btn,[data-fs-theme='paper-pickle'] .pp .pp-phone-screen button[aria-pressed=true]{background:var(--brand);color:var(--onbrand)!important}
.pp .pp-app-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,420px);gap:80px;align-items:start}.pp .pp-app-story{padding-top:32px}.pp .pp-app-benefits{margin-top:32px;border-block:1px solid;padding-block:20px}.pp .pp-app-benefits p{padding-left:24px;position:relative}.pp .pp-app-benefits p:before{content:'✳';position:absolute;left:0}.pp .pp-order-partners{margin-top:48px}.pp .pp-order-partners h3{margin-bottom:16px}.pp .pp-partner-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid;border-left:1px solid;margin:24px 0 16px}.pp .pp-partner-list a{padding:16px;border-right:1px solid;border-bottom:1px solid;min-height:56px;text-decoration:none;font-weight:bold}.pp .pp-partner-list a:hover{background:var(--brand);color:var(--onbrand)}.pp .pp-phone{border:2px solid;border-radius:32px;padding:12px;background:var(--ink);color:var(--paper);box-shadow:12px 12px 0 color-mix(in srgb,var(--ink) 14%,transparent);max-width:420px;width:100%;margin-inline:auto}.pp .pp-phone-top{display:flex;justify-content:space-between;padding:8px 16px 16px;font-size:12px}.pp .pp-phone-screen{background:var(--paper);color:var(--ink);border-radius:20px;padding:24px 20px;overflow:hidden}.pp .pp-phone-screen h3{font-size:32px!important;margin:8px 0 20px}.pp .pp-order-mode{display:grid;grid-template-columns:1fr 1fr;margin-bottom:12px}.pp .pp-order-mode button[aria-pressed=true]{background:var(--brand);color:var(--onbrand)}.pp .pp-app-menu{margin-top:24px;border-top:1px solid}.pp .pp-app-item{display:flex;justify-content:space-between;gap:12px;padding:16px 0;border-bottom:1px solid;align-items:center}.pp .pp-app-item>div:first-child{display:grid;font-size:14px}.pp .pp-quantity{display:flex;align-items:center;gap:6px;flex-shrink:0}.pp .pp-quantity button{min-width:36px;min-height:44px;padding:4px 8px}.pp .pp-quantity output{min-width:16px;text-align:center}.pp button:disabled{opacity:.45;cursor:default}.pp .pp-basket{padding-top:24px;scroll-margin:24px}.pp .pp-basket>div{display:grid;gap:8px;margin-bottom:16px}.pp .pp-basket .btn{width:100%;margin-bottom:12px}.pp .pp-phone-foot{text-align:center;padding:16px 8px 6px;font:italic 15px var(--display)}.pp .pp-link-settings{padding:16px;border:1px dashed;overflow-wrap:anywhere;font-size:12px}.pp .pp-footer-banner{padding-block:56px;display:grid;grid-template-columns:1fr auto auto;gap:32px;align-items:center;border-block:1px solid;background:var(--brand);color:var(--onbrand)}.pp .pp-footer-banner h2{max-width:18ch;margin-top:12px}.pp .pp-footer-banner .btn{border-color:var(--onbrand)}.pp .pp-footer-stamp{font:italic 20px/1.2 var(--display);border:1px solid;border-radius:50%;width:112px;height:112px;display:grid;place-content:center;text-align:center;transform:rotate(-9deg)}.pp:has(.pp-footer-banner) .footer{padding-top:48px}.pp a:focus-visible,.pp button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
@media(prefers-reduced-motion:no-preference){[data-fs-motion="on"] .pp .btn,[data-fs-motion="on"] .pp .pp-quantity button,[data-fs-motion="on"] .pp .pp-order-mode button,[data-fs-motion="on"] .pp .pp-partner-list a{transition:transform 160ms cubic-bezier(.2,.7,.3,1),background-color 160ms ease-out,color 160ms ease-out}[data-fs-motion="on"] .pp button:not(:disabled):active,[data-fs-motion="on"] .pp .btn:active{transform:translateY(2px) scale(.98)}[data-fs-motion="on"] .pp .pp-basket-total{animation:ppBasketTick 200ms ease-out}[data-fs-motion="on"] .pp details[open]>:not(summary){animation:ppOpenNote 180ms ease-out}[data-fs-motion="on"] .pp .caption:not([hidden]){animation:ppOpenNote 180ms ease-out}}@media(hover:hover) and (prefers-reduced-motion:no-preference){[data-fs-motion="on"] .pp .btn:hover{transform:translateY(-2px)}[data-fs-motion="on"] .pp .text-link:hover{transform:translateX(3px);transition:transform 160ms ease-out}}@keyframes ppBasketTick{from{opacity:.5;transform:translateY(3px)}to{opacity:1;transform:none}}@keyframes ppOpenNote{from{opacity:.4;transform:translateY(-3px)}to{opacity:1;transform:none}}
@container pp (max-width:800px){.pp .pp-app-layout{grid-template-columns:1fr;gap:40px}.pp .pp-app-story{padding-top:0}.pp .pp-footer-banner{grid-template-columns:1fr auto;gap:24px}.pp .pp-footer-banner>div{grid-column:1/-1}.pp .pp-footer-stamp{width:84px;height:84px;font-size:16px}}@container pp (max-width:380px){.pp .pp-phone-screen{padding:20px 12px}.pp .pp-quantity{gap:3px}.pp .pp-quantity button{min-width:32px}.pp .pp-footer-banner{grid-template-columns:1fr}.pp .pp-footer-stamp{display:none}}
.pp .section{padding-block:var(--pp-section-space,64px)}.pp .hero-art{position:relative}.pp .pp-replace-art{position:absolute;bottom:0;left:0;background:var(--surface);font-size:12px}.pp .ribbon{opacity:1!important}

@property --fs-rb-vw{syntax:'<length>';inherits:true;initial-value:0px}

/* ── family root ──────────────────────────────────────────────── */
.fs-rb{
  container-type:inline-size;container-name:fs-rb;
  position:relative;
  color:rgb(var(--c-ink-950));
  font-family:var(--font-sans,'Nunito',system-ui,sans-serif);
  font-size:17px;line-height:1.62;
  --fs-rb-tint:color-mix(in srgb,rgb(var(--c-brand-600)) 7%,rgb(var(--c-paper)));
  --fs-rb-ease:cubic-bezier(.2,.8,.2,1);
  /* fixed source literals, named once (never a colour declaration) */
  --fs-rb-white:#ffffff;
  --fs-rb-shade:#000000;
  --fs-rb-warm:#3c1e0a;
  --fs-rb-sec-ink:rgb(var(--c-ink-950));
}
.dark .fs-rb:not(:where(.fs-preview-light *)){
  --fs-rb-tint:color-mix(in srgb,rgb(var(--c-brand-600)) 22%,rgb(var(--c-paper)));
  --fs-rb-sec-ink:rgb(var(--c-paper));
}
/* The site wrapper's own light marker beats a .dark on <html> that came
   from the visitor's OS (Brimwell's / Tidewell's rule). */
.fs-preview-light .fs-rb{
  --fs-rb-tint:color-mix(in srgb,rgb(var(--c-brand-600)) 7%,rgb(var(--c-paper)));
  --fs-rb-sec-ink:rgb(var(--c-ink-950));
}
.fs-rb *,.fs-rb *::before,.fs-rb *::after{box-sizing:border-box}
.fs-rb-wire{filter:grayscale(1) contrast(.5)}
.fs-rb a{color:inherit;text-decoration:none}

/* ── base: .wrap, type, .hand, .eyebrow, .ic, .sample, .sr ────── */
/* .wrap{max-width:var(--w) /1180px/;padding:0 24px} — the width follows a
   Site Settings layout first (--fs-layout-max), then the theme's shell. */
.fs-rb-wrap{
  --fs-rb-vw:1cqi;
  container-type:inline-size;container-name:fs-rb-wrap;
  width:100%;max-width:var(--fs-layout-max,var(--fs-shell-max,1180px));
  margin:0 auto;padding:0 24px;
}
.fs-rb h1,.fs-rb h2,.fs-rb h3,.fs-rb h4{
  font-family:var(--font-display,'Patua One',Rockwell,serif);
  font-weight:400;line-height:1.08;letter-spacing:.005em;margin:0 0 .5em;color:rgb(var(--c-ink-950));
}
.fs-rb h2{font-size:clamp(1.8rem,calc(3.6 * var(--fs-rb-vw)),2.8rem)}
.fs-rb h3{font-size:1.3rem}
.fs-rb h4{font-size:1.05rem}
.fs-rb p{margin:0 0 1em}
/* .hand — the hand-written accent clause (Caveat): accent light, --sec dark */
.fs-rb-hand{
  font-family:var(--font-accent,inherit);font-weight:600;
  font-size:1.5em;color:rgb(var(--c-brand-600));line-height:1;transform:rotate(-2deg);display:inline-block;
}
.dark .fs-rb-hand:not(:where(.fs-preview-light *)){color:rgb(var(--c-accent))}
.fs-preview-light .fs-rb-hand{color:rgb(var(--c-brand-600))}
.fs-rb-eyebrow{
  display:inline-block;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800;
  color:rgb(var(--c-brand-text));margin-bottom:12px;
}
.dark .fs-rb-eyebrow:not(:where(.fs-preview-light *)){color:rgb(var(--c-accent))}
.fs-preview-light .fs-rb-eyebrow{color:rgb(var(--c-brand-text))}
.fs-rb-muted{color:rgb(var(--c-ink-400))}
/* inline like the source (the platform preflight makes every svg a block) */
.fs-rb-ic{display:inline-block;width:1.35em;height:1.35em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:-.25em}
.fs-rb-sample{
  display:inline-block;font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;line-height:1.6;
  color:inherit;opacity:.85;border:1px dashed currentColor;border-radius:999px;padding:2px 10px;
}
/* the editor-only "Sample: replace with a real review" marker (owner
   ruling 2026-10-11) — drawn only while editing a real site */
.fs-rb-sample-review{display:block;margin:0 0 10px;font-size:.75rem;font-weight:800;letter-spacing:.04em;color:rgb(var(--c-ink-400));border:1px dashed rgb(var(--c-ink-400) / .7);border-radius:6px;padding:3px 8px;width:max-content;max-width:100%}
.fs-rb-sample-review::before{content:attr(data-note)}
.fs-rb .fs-rb-sample{border:0;padding:0;font-size:.82em;letter-spacing:0;text-transform:none;opacity:.8;font-weight:inherit}
.fs-rb-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* Editor-only affordances: rendered ONLY while editing. */
.fs-rb-missing{display:inline-block;padding:0 6px;border:1px dashed rgb(var(--c-ink-400) / .7);border-radius:4px;font-size:.8em;font-weight:600;color:rgb(var(--c-ink-400))}
.fs-rb-missing::before{content:attr(data-missing)}
/* the editor strip (RbEditorStrip): words not on the canvas right now */
.fs-rb-ed{position:relative;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px 16px;margin:0 auto 20px;max-width:var(--fs-layout-max,var(--fs-shell-max,1180px));padding:12px;border:1px dashed rgb(var(--c-ink-400) / .6);border-radius:6px;font-size:.8125rem;line-height:1.4;color:rgb(var(--c-ink-950));background:rgb(var(--c-paper))}
.fs-rb-ed>div::before{content:attr(data-ed);display:block;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--c-ink-400))}

/* ══ favRbPageHead — .page-hero ════════════════════════════════
   .page-hero{background:linear-gradient(140deg,var(--accent),
   color-mix(in srgb,var(--accent) 60%,#000));color:#fff;
   padding:70px 0 64px;position:relative;overflow:hidden}
   ::before — a 22px dot grain, white at 8%. */
.fs-rb-pagehead{
  position:relative;overflow:hidden;
  background:linear-gradient(140deg,rgb(var(--c-brand-600)),color-mix(in srgb,rgb(var(--c-brand-600)) 60%,var(--fs-rb-shade)));
  color:var(--fs-rb-white);
}
.fs-rb-pagehead::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--fs-rb-white) 8%,transparent) 1px,transparent 0) 0 0/22px 22px}
.fs-rb-pagehead>.fs-rb-wrap{position:relative;padding-top:70px;padding-bottom:64px}
/* .page-hero h1{color:#fff;font-size:clamp(2.1rem,4.4vw,3.4rem);
   margin-bottom:.3em;text-shadow:3px 3px 0 rgba(0,0,0,.18)} */
.fs-rb .fs-rb-ph-h1{
  color:var(--fs-rb-white);font-size:clamp(2.1rem,calc(4.4 * var(--fs-rb-vw)),var(--fs-h1,3.4rem));
  margin-bottom:.3em;text-shadow:3px 3px 0 color-mix(in srgb,var(--fs-rb-shade) 18%,transparent);
}
/* the about head's second clause: <span style="color:var(--sec)"> */
.fs-rb-ph-accent{color:rgb(var(--c-accent))}
/* .page-hero p{color:rgba(255,255,255,.86);max-width:640px;
   font-size:1.12rem;margin:0;font-weight:600} */
.fs-rb .fs-rb-ph-lede{color:color-mix(in srgb,var(--fs-rb-white) 86%,transparent);max-width:640px;font-size:1.12rem;margin:0;font-weight:600}
/* .crumbs{font-size:.84rem;color:rgba(255,255,255,.75);margin-bottom:14px;
   font-weight:700} .crumbs a{color:#fff} */
.fs-rb-crumbs{font-size:.84rem;color:color-mix(in srgb,var(--fs-rb-white) 75%,transparent);margin-bottom:14px;font-weight:700}
.fs-rb .fs-rb-crumb-a{color:var(--fs-rb-white)}
.fs-rb-crumbs>span[aria-hidden]{padding:0 .3em}
.fs-rb-pagehead .fs-rb-ed{color:rgb(var(--c-ink-950))}

/* Site Settings layouts — the source's html[data-layout=centered] and
   [data-layout=minimalist] page-hero rules, on the platform's ids. */
[data-fs-layout="centered"] .fs-rb-pagehead{text-align:center}
[data-fs-layout="centered"] .fs-rb .fs-rb-ph-lede{margin-inline:auto}
[data-fs-layout="minimal"] .fs-rb-pagehead{background:rgb(var(--c-paper));color:rgb(var(--c-ink-950));border-bottom:2px solid rgb(var(--c-line))}
[data-fs-layout="minimal"] .fs-rb-pagehead::before{display:none}
[data-fs-layout="minimal"] .fs-rb .fs-rb-ph-h1{color:rgb(var(--c-ink-950));text-shadow:none}
[data-fs-layout="minimal"] .fs-rb .fs-rb-ph-lede,
[data-fs-layout="minimal"] .fs-rb-crumbs,
[data-fs-layout="minimal"] .fs-rb .fs-rb-crumb-a{color:rgb(var(--c-ink-400))}

/* ── shared: buttons, icon badge, link arrow (source lines 59–82) ──
   --btn-bg / --btn-ink: accent + white in light mode, --sec + --sec-ink
   in dark (html[data-mode=dark]). --hard: 4px offset in ink (light) /
   --sec (dark). */
.fs-rb{
  --fs-rb-btn-bg:rgb(var(--c-brand-600));
  --fs-rb-btn-ink:var(--fs-rb-white);
  --fs-rb-hard-c:rgb(var(--c-ink-950));
  /* the source's fixed "live" green and its ink, the road's asphalt */
  --fs-rb-live:#4fd36a;
  --fs-rb-live-ink:#0c2411;
  --fs-rb-road:#2b1d16;
}
.dark .fs-rb:not(:where(.fs-preview-light *)){
  --fs-rb-btn-bg:rgb(var(--c-accent));
  --fs-rb-btn-ink:var(--fs-rb-sec-ink);
  --fs-rb-hard-c:rgb(var(--c-accent));
  --fs-rb-road:#0f0c0a;
}
.fs-preview-light .fs-rb{
  --fs-rb-btn-bg:rgb(var(--c-brand-600));
  --fs-rb-btn-ink:var(--fs-rb-white);
  --fs-rb-hard-c:rgb(var(--c-ink-950));
  --fs-rb-road:#2b1d16;
}
.fs-rb .fs-rb-btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:10px;font:800 1rem var(--font-sans,'Nunito',sans-serif);padding:14px 26px;border-radius:99px;border:2px solid transparent;cursor:pointer;transition:transform .2s,box-shadow .3s,background .3s,color .3s;text-decoration:none;line-height:normal}
/* <small> at the browser's own size (the platform shrinks it to 80%) */
:where(.fs-rb) small{font-size:83.333%}
.fs-rb .fs-rb-btn-primary{background:var(--fs-rb-btn-bg);color:var(--fs-rb-btn-ink);border-color:var(--fs-rb-btn-bg)}
.fs-rb .fs-rb-btn-ghost{border-color:rgb(var(--c-ink-950));color:rgb(var(--c-ink-950));background:transparent}
.fs-rb .fs-rb-btn-ghost:hover{background:rgb(var(--c-ink-950));color:rgb(var(--c-paper))}
.fs-rb .fs-rb-btn-hard{box-shadow:4px 4px 0 var(--fs-rb-hard-c)}
.fs-rb .fs-rb-btn-hard:hover{box-shadow:6px 6px 0 var(--fs-rb-hard-c)}
.fs-rb .fs-rb-btn .fs-rb-ic{transition:transform .3s}
.fs-rb-icon-badge{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(145deg,rgb(var(--c-accent)),color-mix(in srgb,rgb(var(--c-brand-600)) 55%,rgb(var(--c-accent))));
  color:var(--fs-rb-sec-ink);margin-bottom:18px;font-size:1.3rem;border:2px solid rgb(var(--c-ink-950));
  box-shadow:inset 0 -6px 10px -4px color-mix(in srgb,var(--fs-rb-shade) 18%,transparent),inset 0 2px 3px color-mix(in srgb,var(--fs-rb-white) 35%,transparent)}
.fs-rb .fs-rb-link-arrow{color:rgb(var(--c-brand-text,var(--c-brand-600)));display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:.95rem;background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat;transition:background-size .3s,gap .3s;padding-bottom:2px}
.fs-rb .fs-rb-link-arrow:hover{background-size:100% 2px;gap:12px}
/* an image slot over a drawing: the drawing shows through an empty one */
.fs-rb-slot[data-empty]>[data-editable]{background:transparent}
.fs-rb-slot[data-empty]>[data-editable]>span:first-child{visibility:hidden}

/* ── the van drawings (#van-svg and the road's van): token fills ──
   The livery's own fixed colours, named once; the skirt and roof board
   take the palette's secondary colour, the road van's stripe the accent. */
.fs-rb{
  --fs-rb-van-ink:#2b1d16;
  --fs-rb-van-red:#c8322b;
  --fs-rb-van-glass:#8ec5e8;
  --fs-rb-van-hub:#dddddd;
  --fs-rb-van-cream:#e9dcc5;
  --fs-rb-van-green:#6fbf4a;
  --fs-rb-van-yellow:#f7d35a;
}
.fs-rb-v-white{fill:var(--fs-rb-white)}
.fs-rb-v-ink{fill:var(--fs-rb-van-ink)}
.fs-rb-v-sec{fill:rgb(var(--c-accent))}
.fs-rb-v-acc{fill:rgb(var(--c-brand-600))}
.fs-rb-v-red{fill:var(--fs-rb-van-red)}
.fs-rb-v-glass{fill:var(--fs-rb-van-glass)}
.fs-rb-v-hub{fill:var(--fs-rb-van-hub)}
.fs-rb-v-cream{fill:var(--fs-rb-van-cream)}
.fs-rb-v-green{fill:var(--fs-rb-van-green)}
.fs-rb-v-yellow{fill:var(--fs-rb-van-yellow)}
.fs-rb-v-frame{fill:none;stroke:var(--fs-rb-white)}
.fs-rb-v-line{stroke:var(--fs-rb-van-ink)}
.fs-rb-v-sign{font-family:var(--font-display,'Patua One'),Rockwell,serif}

/* ══ favRbHero — .hero.ih-hero (source lines 219–426) ══════════
   .hero{color:#fff;background:radial-gradient(800px 460px at 90% -10%,
   color-mix(--sec 40%,transparent),transparent 60%),linear-gradient(140deg,
   --accent,color-mix(--accent 60%,#000))} + the 22px dot grain. */
.fs-rb-hero{position:relative;color:var(--fs-rb-white);overflow:hidden;background:
  radial-gradient(800px 460px at 90% -10%,color-mix(in srgb,rgb(var(--c-accent)) 40%,transparent),transparent 60%),
  linear-gradient(140deg,rgb(var(--c-brand-600)),color-mix(in srgb,rgb(var(--c-brand-600)) 60%,var(--fs-rb-shade)))}
.fs-rb-hero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--fs-rb-white) 8%,transparent) 1px,transparent 0) 0 0/22px 22px}
.fs-rb-hero>.fs-rb-wrap.fs-rb-ih-wrap{position:relative;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  grid-template-areas:"copy tool" "art tool";grid-template-rows:auto 1fr;gap:24px 40px;align-items:start;padding-top:40px;padding-bottom:48px}
.fs-rb-ih-copy{grid-area:copy;min-width:0}
.fs-rb .fs-rb-hero-eyebrow{color:rgb(var(--c-accent))}
.fs-rb .fs-rb-hero-h1{color:var(--fs-rb-white);text-shadow:3px 3px 0 color-mix(in srgb,var(--fs-rb-shade) 18%,transparent);
  font-size:clamp(2rem,calc(3.3 * var(--fs-rb-vw)),2.8rem);margin-bottom:.4em}
.fs-rb-hero-h1 em{font-style:normal;color:rgb(var(--c-accent));display:inline-block;transform:rotate(-2deg)}
.fs-rb .fs-rb-hero-lead{font-size:1.08rem;color:color-mix(in srgb,var(--fs-rb-white) 88%,transparent);max-width:460px;margin-bottom:0;font-weight:600}
.fs-rb-proof{display:flex;gap:24px;margin-top:20px;flex-wrap:wrap;color:color-mix(in srgb,var(--fs-rb-white) 82%,transparent);font-size:.9rem;font-weight:700}
.fs-rb-proof b{display:block;font:400 1.5rem var(--font-display,'Patua One',serif);color:var(--fs-rb-white)}
.fs-rb-hero-art{grid-area:art;position:relative;width:100%;max-width:340px;margin:0;align-self:start}
.fs-rb-hero-art svg{width:100%;height:auto;display:block}
.fs-rb-hero-art .fs-rb-slot{position:absolute;inset:0}
.fs-rb-hero-art .fs-rb-slot>*,.fs-rb-hero-art .fs-rb-slot img{width:100%;height:100%}
.fs-rb-hero-art .fs-rb-slot img{object-fit:cover;border-radius:var(--fs-radius-card,22px)}
.fs-rb-hero-art[data-has-img] .fs-rb-slot{position:relative;aspect-ratio:16/10}
.fs-rb-steam{position:absolute;left:var(--x);top:var(--y);width:12px;height:12px;border-radius:50%;background:color-mix(in srgb,var(--fs-rb-white) 70%,transparent);opacity:0;pointer-events:none}
/* .ih-art .hero-badge{left:-4%;bottom:-8%;padding:8px 12px;gap:8px;font-size:.74rem} */
.fs-rb-hero-badge{position:absolute;left:-4%;bottom:-8%;background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));border-radius:18px;padding:8px 12px;
  box-shadow:0 24px 48px -18px color-mix(in srgb,var(--fs-rb-shade) 50%,transparent);display:flex;gap:8px;align-items:center;font-size:.74rem;border:2px solid rgb(var(--c-ink-950));line-height:1.4}
.fs-rb-hero-badge b{display:block;font-size:.84rem}
.fs-rb-hero-badge .fs-rb-icon-badge{margin:0;width:32px;height:32px;font-size:1rem;flex:none}
.fs-rb-hero-badge .fs-rb-icon-badge .fs-rb-ic{width:18px;height:18px}

/* the tool: the van's serving hatch */
.fs-rb-ih{
  --fs-rb-ih-edge:rgb(var(--c-ink-950));--fs-rb-ih-drop:rgb(var(--c-ink-950));
  position:relative;grid-area:tool;min-width:0;background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));
  border:2px solid var(--fs-rb-ih-edge);border-radius:var(--fs-radius-card,22px);box-shadow:8px 8px 0 var(--fs-rb-ih-drop);overflow:hidden;text-align:left;
  container-type:inline-size;container-name:fs-rb-ih;font-size:17px;line-height:1.62}
.dark .fs-rb-ih:not(:where(.fs-preview-light *)){--fs-rb-ih-edge:color-mix(in srgb,rgb(var(--c-ink-950)) 45%,transparent);--fs-rb-ih-drop:var(--fs-rb-road)}
.fs-preview-light .fs-rb-ih{--fs-rb-ih-edge:rgb(var(--c-ink-950));--fs-rb-ih-drop:rgb(var(--c-ink-950))}
.fs-rb-ih :focus-visible{outline:3px solid rgb(var(--c-ink-950));outline-offset:2px}
.fs-rb-ih-awn{height:28px;background:repeating-linear-gradient(90deg,rgb(var(--c-brand-600)) 0 32px,rgb(var(--c-accent)) 32px 64px);
  -webkit-mask:radial-gradient(circle at 16px 12px,var(--fs-rb-shade) 15.5px,transparent 16px) 0 0/32px 100% repeat-x,linear-gradient(var(--fs-rb-shade),var(--fs-rb-shade)) 0 0/100% 12px no-repeat;
  mask:radial-gradient(circle at 16px 12px,var(--fs-rb-shade) 15.5px,transparent 16px) 0 0/32px 100% repeat-x,linear-gradient(var(--fs-rb-shade),var(--fs-rb-shade)) 0 0/100% 12px no-repeat}
.fs-rb-ih-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,208px);grid-template-areas:"head near" "days days" "road road" "res res";gap:8px 24px;padding:8px 24px 20px}
.fs-rb-ih-head{grid-area:head;display:grid;gap:4px;align-content:end}
.fs-rb .fs-rb-ih-title{font-size:1.6rem;margin:0;line-height:1.1}
.fs-rb .fs-rb-ih-sub{margin:0;color:rgb(var(--c-ink-400));font-weight:700;font-size:.95rem;line-height:1.4}
.fs-rb-ih-lab{display:block;font:800 .72rem/1.2 var(--font-sans,'Nunito',sans-serif);letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
.fs-rb-ih-near{grid-area:near;display:grid;gap:4px;align-content:end}
.fs-rb-ih-sel{position:relative}
.fs-rb-ih-sel select{appearance:none;-webkit-appearance:none;display:block;width:100%;min-height:44px;padding:8px 40px 8px 14px;border:2px solid rgb(var(--c-line));border-radius:14px;background:rgb(var(--c-paper));color:rgb(var(--c-ink-950));font:700 1rem var(--font-sans,'Nunito',sans-serif);cursor:pointer;transition:border-color .2s,box-shadow .2s;text-overflow:ellipsis}
.fs-rb-ih-sel select:hover{border-color:rgb(var(--c-brand-600))}
.fs-rb-ih-sel .fs-rb-ic{position:absolute;right:12px;top:50%;translate:0 -50%;width:18px;height:18px;pointer-events:none}
.fs-rb-ih-set{grid-area:days;border:0;padding:0;margin:0;min-width:0}
.fs-rb-ih-set legend{padding:0;margin-bottom:12px}
.fs-rb-ih-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding-top:8px}
.fs-rb-ih-day{position:relative;display:block;padding:0 2px;min-width:0}
/* the platform's form styles position radios; the day's input covers its
   ticket, as the source's */
.fs-rb .fs-rb-ih .fs-rb-ih-day input{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer;z-index:2}
.fs-rb-ih-face{display:grid;justify-items:center;align-content:center;min-height:56px;padding:6px 2px;border:2px solid rgb(var(--c-line));border-radius:14px;background:rgb(var(--c-paper));text-align:center;line-height:1.2;max-width:100%;transition:transform .2s,border-color .2s,background .2s,color .2s,box-shadow .2s}
.fs-rb-ih-face b{font:800 1rem var(--font-sans,'Nunito',sans-serif)}
.fs-rb-ih-face em{font-style:normal;font-size:.72rem;font-weight:700;color:rgb(var(--c-ink-400));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.fs-rb-ih-day.is-end .fs-rb-ih-face{border-style:dashed}
.fs-rb-ih-day:hover .fs-rb-ih-face{border-color:rgb(var(--c-brand-600))}
.fs-rb-ih-day input:checked+.fs-rb-ih-face{background:rgb(var(--c-ink-950));color:rgb(var(--c-paper));border-color:rgb(var(--c-ink-950));border-style:solid;box-shadow:3px 3px 0 rgb(var(--c-brand-600))}
.fs-rb-ih-day input:checked+.fs-rb-ih-face em{color:color-mix(in srgb,rgb(var(--c-paper)) 80%,transparent)}
.fs-rb-ih-day input:focus-visible+.fs-rb-ih-face{outline:3px solid rgb(var(--c-ink-950));outline-offset:2px}
.fs-rb-ih-tdy{position:absolute;top:0;left:50%;translate:-50% -55%;z-index:3;background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));border:2px solid rgb(var(--c-ink-950));font:800 .6rem/1 var(--font-sans,'Nunito',sans-serif);letter-spacing:.08em;text-transform:uppercase;padding:2px 6px;border-radius:99px;pointer-events:none}
.fs-rb-ih-road{grid-area:road}
.fs-rb-ih-lane{position:relative;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));height:48px;align-items:end}
.fs-rb-ih-bar{position:absolute;left:0;right:0;bottom:4px;height:12px;border-radius:6px;background:var(--fs-rb-road)}
.fs-rb-ih-bar::after{content:"";position:absolute;left:12px;right:12px;top:5px;height:2px;background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--fs-rb-white) 55%,transparent) 0 8px,transparent 8px 16px)}
.fs-rb-ih-pin{position:relative;height:20px}
.fs-rb-ih-pin::after{content:"";position:absolute;left:50%;bottom:3px;width:14px;height:14px;box-sizing:border-box;translate:-50% 0;border-radius:50%;background:rgb(var(--c-accent));border:2px solid var(--fs-rb-white);transition:transform .3s,background .3s}
.fs-rb-ih-pin.is-end::after{background:var(--fs-rb-road);border-color:color-mix(in srgb,var(--fs-rb-white) 70%,transparent)}
.fs-rb-ih-pin.is-on::after{transform:scale(1.3);background:rgb(var(--c-brand-600))}
.fs-rb-ih-van{position:absolute;left:0;bottom:14px;width:calc(100% / 7);display:grid;place-items:end center;transform:translateX(calc(var(--i) * 100%));pointer-events:none}
.fs-rb-ih-van svg{display:block;width:44px;max-width:calc(100% - 4px);height:auto}
.fs-rb-ih-van.is-rev svg{transform:scaleX(-1)}
.fs-rb-ih-res{grid-area:res;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-template-areas:"left side" "cta cta" "tips tips" "note note";grid-template-rows:1fr auto auto auto;gap:12px 24px;align-content:start;margin-top:4px;padding-top:12px;border-top:2px dashed rgb(var(--c-line))}
.fs-rb-ih-left{grid-area:left;min-width:0;display:grid;gap:8px;align-content:start}
.fs-rb-ih-main{min-width:0}
.fs-rb .fs-rb-ih-why{margin:0;color:rgb(var(--c-ink-400));font-size:.86rem;font-weight:700;line-height:1.45}
.fs-rb-ih-cta{grid-area:cta;display:flex;flex-wrap:wrap;gap:12px;align-items:stretch}
.fs-rb-ih-side{grid-area:side;min-width:0;display:grid;align-content:start;gap:8px;padding:12px 16px;border-radius:16px;background:var(--fs-rb-tint);border:2px solid rgb(var(--c-line))}
.fs-rb .fs-rb-ih-tips{grid-area:tips;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px}
.fs-rb .fs-rb-ih-note{grid-area:note;margin:0;color:rgb(var(--c-ink-400));font-size:.78rem;line-height:1.5;font-weight:600}
.fs-rb .fs-rb-ih-st{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;margin:0 0 8px}
.fs-rb-ih-sub2{font-size:.88rem;font-weight:800;color:rgb(var(--c-ink-400))}
.fs-rb-ih-pill{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:4px 14px 4px 12px;border-radius:99px;border:2px solid transparent;font-size:.88rem;line-height:1.2;color:rgb(var(--c-ink-950));background:var(--fs-rb-tint)}
.fs-rb-ih-pill b{font-weight:800}
.fs-rb-ih-pill i{flex:none;width:10px;height:10px;border-radius:50%;background:currentColor}
.fs-rb-ih-pill.is-now{background:var(--fs-rb-live);color:var(--fs-rb-live-ink)}
.fs-rb-ih-pill.is-soon{background:color-mix(in srgb,rgb(var(--c-accent)) 38%,rgb(var(--c-paper-soft)));border-color:rgb(var(--c-accent))}
.fs-rb-ih-pill.is-later{background:var(--fs-rb-tint);border-color:rgb(var(--c-line))}
.fs-rb-ih-pill.is-end{background:transparent;border:2px dashed rgb(var(--c-ink-950))}
.fs-rb .fs-rb-ih-stop{font-size:1.5rem;line-height:1.1;margin:0 0 8px}
.fs-rb .fs-rb-ih-ln{display:flex;gap:8px;align-items:flex-start;margin:0 0 4px;font-size:.95rem;font-weight:700;line-height:1.4}
.fs-rb-ih-ln .fs-rb-ic{margin-top:2px;color:rgb(var(--c-brand-600))}
.fs-rb .fs-rb-ih-h4{margin:8px 0 0;font:800 .72rem/1.2 var(--font-sans,'Nunito',sans-serif);letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
.fs-rb .fs-rb-ih-h4:first-child{margin-top:0}
.fs-rb-ih-ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.fs-rb-ih-ul li{display:flex;gap:8px;align-items:flex-start;font-size:.84rem;font-weight:600;line-height:1.4}
.fs-rb-ih-ul .fs-rb-ic{margin-top:1px;color:rgb(var(--c-brand-600))}
.dark .fs-rb-ih-ln .fs-rb-ic:not(:where(.fs-preview-light *)),.dark .fs-rb-ih-ul .fs-rb-ic:not(:where(.fs-preview-light *)){color:rgb(var(--c-accent))}
.fs-preview-light .fs-rb-ih-ln .fs-rb-ic,.fs-preview-light .fs-rb-ih-ul .fs-rb-ic{color:rgb(var(--c-brand-600))}
.fs-rb-ih-ul b{font-weight:800}
.fs-rb .fs-rb-ih-a{color:rgb(var(--c-ink-950));font-weight:800;text-decoration:underline;text-underline-offset:2px}
.fs-rb .fs-rb-ih-link{justify-self:start;min-height:44px;padding:8px 16px;border:2px solid rgb(var(--c-ink-950));border-radius:99px;background:transparent;color:rgb(var(--c-ink-950));font:800 .9rem var(--font-sans,'Nunito',sans-serif);cursor:pointer;transition:background .2s,color .2s,transform .2s}
.fs-rb .fs-rb-ih-link:hover{background:rgb(var(--c-ink-950));color:rgb(var(--c-paper))}
.fs-rb .fs-rb-ih-go{flex:1 1 280px;justify-content:center;min-height:52px;text-align:left}
.fs-rb .fs-rb-ih-go span{min-width:0}
.fs-rb .fs-rb-ih-menu{min-height:52px;justify-content:center}
/* the result card keeps its room, stepped by card width (the source's
   measured min-heights), so the page never jumps between days */
.fs-rb-ih-res{min-height:356px}
@container fs-rb-ih (max-width:745px){.fs-rb-ih-res{min-height:374px}}
@container fs-rb-ih (max-width:715px){.fs-rb-ih-res{min-height:397px}}
@container fs-rb-ih (max-width:675px){.fs-rb-ih-res{min-height:420px}}
@container fs-rb-ih (max-width:639px){.fs-rb-ih-face em{display:none}.fs-rb-ih-face{min-height:52px}}
@container fs-rb-ih (max-width:625px){.fs-rb-ih-res{min-height:439px}}
@container fs-rb-ih (max-width:585px){.fs-rb-ih-res{min-height:465px}}
@container fs-rb-ih (max-width:565px){.fs-rb-ih-res{min-height:485px}}
@container fs-rb-ih (max-width:539px){
  .fs-rb-ih-in{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "days" "road" "near" "res";padding:4px 16px 20px;gap:12px}
  .fs-rb-ih-res{grid-template-columns:minmax(0,1fr);grid-template-areas:"left" "cta" "side" "tips" "note";grid-template-rows:auto auto auto auto 1fr;min-height:581px}
  .fs-rb .fs-rb-ih-tips{grid-template-columns:minmax(0,1fr)}
  .fs-rb .fs-rb-ih-go{flex-basis:100%}
  .fs-rb .fs-rb-ih-menu{flex:1 1 100%}
}
@container fs-rb-ih (max-width:525px){.fs-rb-ih-res{min-height:606px}}
@container fs-rb-ih (max-width:495px){.fs-rb-ih-res{min-height:626px}}
@container fs-rb-ih (max-width:445px){.fs-rb-ih-res{min-height:638px}}
@container fs-rb-ih (max-width:405px){.fs-rb-ih-res{min-height:657px}}
@container fs-rb-ih (max-width:365px){.fs-rb-ih-res{min-height:702px}}
@container fs-rb-ih (max-width:355px){.fs-rb-ih-res{min-height:721px}}
@container fs-rb-ih (max-width:339px){.fs-rb-ih-day{padding:0 1px}.fs-rb-ih-face b{font-size:.9rem}}
@container fs-rb-ih (max-width:335px){.fs-rb-ih-res{min-height:741px}}
@container fs-rb-ih (max-width:325px){.fs-rb-ih-res{min-height:759px}}
@container fs-rb-ih (max-width:315px){.fs-rb-ih-res{min-height:804px}}
@container fs-rb-ih (max-width:305px){.fs-rb-ih-res{min-height:843px}}
@container fs-rb-ih (max-width:299px){.fs-rb-ih-face b{font-size:.8rem}}
@container fs-rb-ih (max-width:285px){.fs-rb-ih-res{min-height:857px}}
@container fs-rb-ih (max-width:275px){.fs-rb-ih-res{min-height:922px}}
@container fs-rb-ih (max-width:265px){.fs-rb-ih-res{min-height:942px}}
/* the source's @media (max-width:1060px) / (max-width:760px), on the section */
@container fs-rb (max-width:1060px){
  .fs-rb-hero>.fs-rb-wrap.fs-rb-ih-wrap{grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "tool" "art";gap:24px}
  .fs-rb-hero-art{max-width:300px}
}
@container fs-rb (max-width:760px){
  .fs-rb .fs-rb-hero-h1{font-size:2rem}
  .fs-rb-proof{gap:8px 20px;font-size:.82rem}
  .fs-rb-proof b{font-size:1.3rem}
  .fs-rb .fs-rb-hero-lead{font-size:1.02rem}
  .fs-rb-ih{box-shadow:5px 5px 0 var(--fs-rb-ih-drop)}
  .fs-rb-hero-badge{display:none}
}
/* Site Settings layouts (the source's html[data-layout=…]) */
[data-fs-layout="boxed"] .fs-rb .fs-rb-hero-h1{font-size:clamp(1.9rem,calc(3 * var(--fs-rb-vw)),2.5rem)}
[data-fs-layout="centered"] .fs-rb-hero>.fs-rb-wrap.fs-rb-ih-wrap{grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "tool" "art";justify-items:stretch;text-align:center}
[data-fs-layout="centered"] .fs-rb .fs-rb-hero-lead{margin-inline:auto}
[data-fs-layout="centered"] .fs-rb-proof{justify-content:center}
[data-fs-layout="centered"] .fs-rb-ih{width:100%;max-width:760px;margin-inline:auto}
[data-fs-layout="centered"] .fs-rb-hero-art{margin:0 auto}
[data-fs-layout="minimal"] .fs-rb-hero{background:rgb(var(--c-paper));color:rgb(var(--c-ink-950));border-bottom:2px solid rgb(var(--c-line))}
[data-fs-layout="minimal"] .fs-rb-hero::before{display:none}
[data-fs-layout="minimal"] .fs-rb .fs-rb-hero-h1{color:rgb(var(--c-ink-950));text-shadow:none}
[data-fs-layout="minimal"] .fs-rb .fs-rb-hero-lead,[data-fs-layout="minimal"] .fs-rb-proof{color:rgb(var(--c-ink-400))}
[data-fs-layout="minimal"] .fs-rb-proof b{color:rgb(var(--c-ink-950))}
[data-fs-layout="minimal"] .fs-rb .fs-rb-hero-eyebrow{color:rgb(var(--c-ink-400))}
[data-fs-layout="minimal"] .fs-rb-ih{box-shadow:none;border-color:rgb(var(--c-line))}
[data-fs-layout="minimal"] .fs-rb-hero-art{display:none}
[data-fs-layout="minimal"] .fs-rb-ih-awn{height:12px;-webkit-mask:none;mask:none}
[data-fs-layout="minimal"] .fs-rb-ih-face,[data-fs-layout="minimal"] .fs-rb-ih-sel select,[data-fs-layout="minimal"] .fs-rb-ih-side,
[data-fs-layout="minimal"] .fs-rb-ih-pill,[data-fs-layout="minimal"] .fs-rb .fs-rb-ih-link{border-radius:0}

/* ══ favRbParked — .parked (source lines 462–473, 338–339) ══════ */
.fs-rb-parked-wrap{padding-top:48px;padding-bottom:48px}
.fs-rb-pk{background:rgb(var(--c-ink-950));color:rgb(var(--c-paper));border-radius:var(--fs-radius-card,22px);padding:28px 34px;display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;position:relative;overflow:hidden}
/* Export [data-mode=dark] .parked: the road ground, cream words (the ink
   token turns light in dark mode: the card was cream, its words gold on
   cream — Task 11 sweep). */
.dark .fs-rb-pk:not(:where(.fs-preview-light *)){background:var(--fs-rb-road);color:rgb(var(--c-ink-950))}
.fs-rb-pk.is-week{grid-template-columns:auto 1fr}
.fs-rb-pk::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(-45deg,transparent 0 18px,color-mix(in srgb,var(--fs-rb-white) 3%,transparent) 18px 20px);pointer-events:none}
.fs-rb-pk>*{position:relative}
.fs-rb-open-pill{display:inline-flex;align-items:center;gap:10px;background:var(--fs-rb-live);color:var(--fs-rb-live-ink);font-weight:800;padding:10px 16px;border-radius:99px;font-size:.9rem}
.fs-rb-open-pill i{width:10px;height:10px;border-radius:50%;background:var(--fs-rb-live-ink)}
.fs-rb-pk.is-closed .fs-rb-open-pill,.fs-rb-pk.is-week .fs-rb-open-pill{background:rgb(var(--c-accent));color:var(--fs-rb-sec-ink)}
.fs-rb-pk.is-closed .fs-rb-open-pill i,.fs-rb-pk.is-week .fs-rb-open-pill i{background:var(--fs-rb-sec-ink)}
.fs-rb .fs-rb-pk-h3{color:inherit;margin:0 0 4px;font-size:1.45rem}
.fs-rb .fs-rb-parked-hand{color:rgb(var(--c-accent));transform:none}
.fs-rb-addr{opacity:.8;font-size:.95rem}
.fs-rb .fs-rb-parked-dir{color:rgb(var(--c-accent));font-weight:800}
.fs-rb-cd{display:flex;gap:10px;text-align:center}
.fs-rb-cd div{background:color-mix(in srgb,var(--fs-rb-white) 8%,transparent);border-radius:14px;padding:10px 12px;min-width:66px}
.fs-rb-cd b{display:block;font:400 1.6rem var(--font-display,'Patua One',serif);line-height:1;color:rgb(var(--c-accent))}
.fs-rb-cd span{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;opacity:.7;font-weight:800}
.fs-rb-cd-lbl{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;opacity:.7;font-weight:800;margin-bottom:8px;text-align:right}
@container fs-rb (max-width:1060px){.fs-rb-pk,.fs-rb-pk.is-week{grid-template-columns:1fr}.fs-rb-cd-lbl{text-align:left}}
[data-fs-layout="centered"] .fs-rb-pk{grid-template-columns:1fr;text-align:center;justify-items:center}
[data-fs-layout="centered"] .fs-rb-cd-lbl{text-align:center}
[data-fs-layout="minimal"] .fs-rb .fs-rb-parked-hand{color:rgb(var(--c-brand-text))}
[data-fs-layout="minimal"] .fs-rb .fs-rb-parked-dir{color:rgb(var(--c-ink-950));text-decoration:underline;text-underline-offset:3px}
/* Find Us: the stop picked on the home page (.ih-pickbar) */
.fs-rb-pickbar{background:var(--fs-rb-tint);border-bottom:2px solid rgb(var(--c-line))}
.fs-rb-pb{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;padding:16px 0}
.fs-rb .fs-rb-pb p{margin:0;flex:1 1 280px;font-size:.95rem;line-height:1.45;color:rgb(var(--c-ink-950))}
.fs-rb-pb .fs-rb-link-arrow{color:rgb(var(--c-ink-950))}

/* ══ Task 5a — shared section pieces (source lines 49–66) ═════════
   .section{padding:var(--sp) 0} (--sp 92px, 64px at 760px and under)
   .section.alt{background:var(--tint)}  .section-head{max-width:680px;
   margin-bottom:46px}  .section-head p{color:var(--muted);font-size:1.08rem} */
.fs-rb-sec>.fs-rb-wrap{padding-top:92px;padding-bottom:92px}
.fs-rb-sec.is-alt{background:var(--fs-rb-tint)}
@container fs-rb (max-width:760px){.fs-rb-sec>.fs-rb-wrap{padding-top:64px;padding-bottom:64px}}
.fs-rb-section-head{max-width:680px;margin-bottom:46px}
.fs-rb-section-head.is-centre{text-align:center;margin-inline:auto}
.fs-rb .fs-rb-h2{font-size:clamp(1.8rem,calc(3.6 * var(--fs-rb-vw)),2.8rem)}
.fs-rb .fs-rb-lede{color:rgb(var(--c-ink-400));font-size:1.08rem;margin:0 0 1em}
.fs-rb .fs-rb-p{margin:0 0 1em}
.fs-rb-card{background:rgb(var(--c-paper-soft));border:2px solid rgb(var(--c-line));border-radius:var(--fs-radius-card,22px);padding:30px;transition:transform .35s var(--fs-rb-ease),box-shadow .35s,border-color .35s}
.fs-rb-lift:hover{border-color:rgb(var(--c-brand-600))}
/* the source's --shadow, under a lifted card (motion section) */
.fs-rb{--fs-rb-shadow-lift:0 2px 5px -3px color-mix(in srgb,var(--fs-rb-warm) 22%,transparent),0 3px 9px -2px color-mix(in srgb,var(--fs-rb-warm) 22%,transparent),0 26px 50px -22px color-mix(in srgb,var(--fs-rb-warm) 32%,transparent)}
.dark .fs-rb:not(:where(.fs-preview-light *)){--fs-rb-shadow-lift:0 0 0 1px color-mix(in srgb,rgb(var(--c-accent)) 22%,transparent),0 3px 10px -4px color-mix(in srgb,var(--fs-rb-shade) 55%,transparent),0 30px 56px -24px color-mix(in srgb,var(--fs-rb-shade) 65%,transparent)}
.fs-preview-light .fs-rb{--fs-rb-shadow-lift:0 2px 5px -3px color-mix(in srgb,var(--fs-rb-warm) 22%,transparent),0 3px 9px -2px color-mix(in srgb,var(--fs-rb-warm) 22%,transparent),0 26px 50px -22px color-mix(in srgb,var(--fs-rb-warm) 32%,transparent)}
.fs-rb-g3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.fs-rb-list-check{list-style:none;padding:0;margin:0 0 18px}
.fs-rb-list-check li{display:flex;gap:10px;padding:5px 0;color:rgb(var(--c-ink-400));font-size:.98rem}
.fs-rb-list-check .fs-rb-ic{color:rgb(var(--c-brand-600));margin-top:3px}
.dark .fs-rb-list-check .fs-rb-ic:not(:where(.fs-preview-light *)){color:rgb(var(--c-accent))}
.fs-preview-light .fs-rb-list-check .fs-rb-ic{color:rgb(var(--c-brand-600))}
.fs-rb .fs-rb-hint{margin:18px 0 1em;font-size:.85rem;font-weight:700;color:rgb(var(--c-ink-400))}
.fs-rb .fs-rb-hint-a{color:rgb(var(--c-brand-text));text-decoration:underline;text-underline-offset:2px}
.fs-rb .fs-rb-btn-sec{background:rgb(var(--c-accent));color:var(--fs-rb-sec-ink);border-color:rgb(var(--c-accent))}
.fs-rb .fs-rb-btn-outline-light{border-color:color-mix(in srgb,var(--fs-rb-white) 60%,transparent);color:var(--fs-rb-white);background:transparent}
.fs-rb .fs-rb-btn-outline-light:hover{background:color-mix(in srgb,var(--fs-rb-white) 14%,transparent)}
@container fs-rb (max-width:760px){.fs-rb-g3{grid-template-columns:1fr}}
[data-fs-layout="centered"] .fs-rb-section-head{margin-inline:auto;text-align:center}
[data-fs-layout="minimal"] .fs-rb-card,[data-fs-layout="minimal"] .fs-rb-day,[data-fs-layout="minimal"] .fs-rb-acc-item{background:transparent;border:0;border-top:2px solid rgb(var(--c-line));box-shadow:none;border-radius:0;transform:none}
[data-fs-layout="minimal"] .fs-rb .fs-rb-btn{border-radius:0;box-shadow:none}

/* ══ favRbMarquee — .trust / .marq (source lines 436–443) ═════════ */
.fs-rb-marquee{border-bottom:2px solid rgb(var(--c-line));background:rgb(var(--c-accent));color:var(--fs-rb-sec-ink);overflow:hidden}
.fs-rb-trust{display:flex;align-items:center;gap:34px;padding-top:16px;padding-bottom:16px}
/* the strip's pause control (WCAG 2.2.2, Task 9): drawn only while it moves,
   OUT of the flow (Task 9 review 2: no shift when it appears) — over the
   strip's faded right edge, inside its box; 32px drawn, a 44px target. */
.fs-rb-marq-box{position:relative;flex:1;min-width:0;display:flex;align-items:center}
.fs-rb-marq-box > .fs-rb-marq{flex:1}
.fs-rb .fs-rb-marq-pause{position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:1;display:grid;place-items:center;width:32px;height:32px;padding:0;border:2px solid currentColor;border-radius:50%;background:rgb(var(--c-accent));color:inherit;cursor:pointer}
.fs-rb .fs-rb-marq-pause::after{content:"";position:absolute;inset:-6px;border-radius:50%}
.fs-rb .fs-rb-marq-pause .fs-rb-ic{width:16px;height:16px}
.fs-rb .fs-rb-marq-pause:focus-visible{outline:3px solid currentColor;outline-offset:2px}
.fs-rb-trust-l{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;font-weight:800}
.fs-rb-marq{overflow:hidden;flex:1;-webkit-mask-image:linear-gradient(90deg,transparent,var(--fs-rb-shade) 8%,var(--fs-rb-shade) 92%,transparent);mask-image:linear-gradient(90deg,transparent,var(--fs-rb-shade) 8%,var(--fs-rb-shade) 92%,transparent)}
.fs-rb-marq-track{display:flex;gap:48px;width:max-content}
.fs-rb-marq-track>span{font:400 1.05rem var(--font-display,'Patua One',serif);white-space:nowrap;display:flex;align-items:center;gap:10px}
@container fs-rb (max-width:760px){.fs-rb-trust{flex-direction:column;align-items:flex-start;gap:12px}.fs-rb-marq,.fs-rb-marq-box{width:100%}}
[data-fs-layout="minimal"] .fs-rb-marquee{background:transparent;color:rgb(var(--c-ink-950))}

/* ══ favRbReviews — .review / .rating-big / .bars (lines 598–610) ═ */
.fs-rb-review{display:flex;flex-direction:column}
.fs-rb-stars{display:flex;gap:3px;color:var(--fs-rb-star);margin-bottom:12px}
.fs-rb-stars .fs-rb-ic{fill:currentColor;width:1.05em;height:1.05em}
.fs-rb-stars .fs-rb-ic.is-off{opacity:.3}
.fs-rb{--fs-rb-star:#e9a825}
.dark .fs-rb:not(:where(.fs-preview-light *)){--fs-rb-star:rgb(var(--c-accent))}
.fs-preview-light .fs-rb{--fs-rb-star:#e9a825}
.fs-rb .fs-rb-rquote{margin:0 0 16px;font-weight:600;font-size:1.02rem;flex:1}
.fs-rb-who{display:flex;gap:12px;align-items:center;color:rgb(var(--c-ink-400));font-size:.9rem}
.fs-rb-who b{display:block;color:rgb(var(--c-ink-950))}
.fs-rb-av{position:relative;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font:400 .9rem var(--font-display,'Patua One',serif);background:rgb(var(--c-brand-600));color:var(--fs-rb-white);flex:none;overflow:hidden}
.fs-rb-av .fs-rb-slot{position:absolute;inset:0}
.fs-rb-av .fs-rb-slot>*,.fs-rb-av .fs-rb-slot img{width:100%;height:100%;object-fit:cover}
.fs-rb-rating{margin-bottom:40px}
.fs-rb-rating-big{display:flex;gap:30px;align-items:center;flex-wrap:wrap}
.fs-rb-rating-num{font:400 4.5rem/1 var(--font-display,'Patua One',serif);color:rgb(var(--c-brand-600))}
.dark .fs-rb-rating-num:not(:where(.fs-preview-light *)){color:rgb(var(--c-accent))}
.fs-preview-light .fs-rb-rating-num{color:rgb(var(--c-brand-600))}
.fs-rb-rating-l{font-weight:700;color:rgb(var(--c-ink-400))}
.fs-rb-bars{flex:1;min-width:240px;display:grid;gap:8px}
.fs-rb-bar{display:grid;grid-template-columns:40px 1fr 40px;gap:10px;align-items:center;font-size:.85rem;font-weight:700;color:rgb(var(--c-ink-400))}
.fs-rb-bar i{display:block;height:10px;border-radius:99px;background:rgb(var(--c-line));overflow:hidden}
.fs-rb-bar i::after{content:"";display:block;height:100%;width:var(--p);background:rgb(var(--c-brand-600));border-radius:99px}
.fs-rb-more{text-align:center;margin-top:30px}

/* ══ favRbSchedule — .sched / .day (lines 476–484, 334–335) ═══════ */
.fs-rb-sched{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.fs-rb-day{background:rgb(var(--c-paper-soft));border:2px solid rgb(var(--c-line));border-radius:18px;padding:20px 18px;position:relative;transition:transform .3s,border-color .3s,box-shadow .3s}
.fs-rb-day:hover{border-color:rgb(var(--c-brand-600))}
.fs-rb-day.is-today,.fs-rb-day.is-pick{border-color:rgb(var(--c-brand-600));background:var(--fs-rb-tint)}
.fs-rb-day-tag{position:absolute;top:-12px;left:16px;background:rgb(var(--c-brand-600));color:var(--fs-rb-white);font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:99px;line-height:1.62}
.fs-rb-day-tag.is-pick{left:auto;right:16px;background:rgb(var(--c-ink-950));color:rgb(var(--c-paper))}
.fs-rb-dn{font:400 1.2rem var(--font-display,'Patua One',serif);margin-bottom:6px}
.fs-rb-where{font-weight:800;font-size:.95rem;display:flex;gap:6px;align-items:flex-start}
.fs-rb-where .fs-rb-ic{color:rgb(var(--c-brand-600));margin-top:3px}
.dark .fs-rb-where .fs-rb-ic:not(:where(.fs-preview-light *)){color:rgb(var(--c-accent))}
.fs-preview-light .fs-rb-where .fs-rb-ic{color:rgb(var(--c-brand-600))}
.fs-rb-when{color:rgb(var(--c-ink-400));font-size:.85rem;margin-top:6px}
@container fs-rb (max-width:1060px){.fs-rb-sched{grid-template-columns:repeat(2,1fr)}}
@container fs-rb (max-width:760px){.fs-rb-sched{grid-template-columns:1fr}}
[data-fs-layout="minimal"] .fs-rb-day-tag{border-radius:0}

/* ══ favRbSplit — .split / .art / .accr (lines 56, 576–579) ════════ */
.fs-rb-split-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.fs-rb-split-copy{min-width:0}
.fs-rb-art{position:relative;border-radius:var(--fs-radius-card,22px);overflow:hidden;aspect-ratio:5/4;
  background:linear-gradient(160deg,color-mix(in srgb,rgb(var(--c-accent)) 45%,rgb(var(--c-paper-soft))),color-mix(in srgb,rgb(var(--c-brand-600)) 25%,rgb(var(--c-paper-soft))));
  box-shadow:0 2px 5px -3px color-mix(in srgb,var(--fs-rb-warm) 22%,transparent),0 3px 9px -2px color-mix(in srgb,var(--fs-rb-warm) 22%,transparent),0 26px 50px -22px color-mix(in srgb,var(--fs-rb-warm) 32%,transparent);display:grid;place-items:center;padding:30px;border:2px solid rgb(var(--c-line))}
.fs-rb-art>svg{width:85%;height:auto}
.fs-rb-art .fs-rb-slot{position:absolute;inset:0}
.fs-rb-art .fs-rb-slot>*,.fs-rb-art .fs-rb-slot img{width:100%;height:100%;object-fit:cover}
.fs-rb-accr{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.fs-rb-accr>span{display:flex;align-items:center;gap:8px;padding:10px 16px;border:2px solid rgb(var(--c-line));border-radius:99px;font-size:.88rem;background:rgb(var(--c-paper-soft));font-weight:700}
.fs-rb-accr .fs-rb-ic{color:rgb(var(--c-brand-600))}
@container fs-rb (max-width:1060px){.fs-rb-split-grid{grid-template-columns:1fr}}
[data-fs-layout="centered"] .fs-rb-split-grid{grid-template-columns:1fr;text-align:center}
[data-fs-layout="centered"] .fs-rb-accr{justify-content:center}
[data-fs-layout="minimal"] .fs-rb-art{box-shadow:none;border-radius:0;border:0}

/* ══ favRbFaq — .acc-item / .search (lines 586–596) ═══════════════ */
.fs-rb-narrow.fs-rb-wrap{max-width:min(860px,var(--fs-layout-max,var(--fs-shell-max,1180px)))}
.fs-rb-acc-item{border:2px solid rgb(var(--c-line));border-radius:16px;background:rgb(var(--c-paper-soft));margin-bottom:12px;overflow:hidden;transition:border-color .3s}
.fs-rb-acc-item.is-open{border-color:rgb(var(--c-brand-600))}
.fs-rb .fs-rb-acc-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;text-align:left;font:800 1.02rem var(--font-sans,'Nunito',sans-serif);color:rgb(var(--c-ink-950));background:none;border:0;padding:20px 22px;cursor:pointer}
.fs-rb .fs-rb-acc-q:disabled{cursor:text;opacity:1}
.fs-rb-acc-q .fs-rb-ic{transition:transform .35s;color:rgb(var(--c-brand-600))}
.fs-rb-acc-item.is-open .fs-rb-acc-q .fs-rb-ic{transform:rotate(45deg)}
.fs-rb-acc-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s ease}
.fs-rb-acc-item.is-open .fs-rb-acc-a{grid-template-rows:1fr}
/* a closed answer is out of the reading and tab order, not only squeezed */
.fs-rb-acc-item:not(.is-open) .fs-rb-acc-a{visibility:hidden}
.fs-rb-acc-a>div{overflow:hidden}
.fs-rb .fs-rb-acc-a p{padding:0 22px 20px;margin:0;color:rgb(var(--c-ink-400))}
.fs-rb-search{position:relative;max-width:520px;margin-bottom:26px}
.fs-rb-search input{width:100%;font:inherit;padding:15px 18px 15px 48px;border-radius:99px;border:2px solid rgb(var(--c-line));background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950))}
.fs-rb-search input:focus{outline:none;border-color:rgb(var(--c-brand-600))}
.fs-rb-search .fs-rb-ic{position:absolute;left:16px;top:16px;color:rgb(var(--c-ink-400))}
.fs-rb .fs-rb-nofaq{color:rgb(var(--c-ink-400));font-weight:700;margin:0}

/* ══ favRbCta — .cta-band (lines 627–631) ═════════════════════════ */
.fs-rb-cta{position:relative;overflow:hidden;text-align:center;color:var(--fs-rb-white);
  background:linear-gradient(140deg,rgb(var(--c-brand-600)),color-mix(in srgb,rgb(var(--c-brand-600)) 60%,var(--fs-rb-shade)))}
.dark .fs-rb-cta:not(:where(.fs-preview-light *)){background:linear-gradient(140deg,color-mix(in srgb,rgb(var(--c-brand-600)) 75%,var(--fs-rb-shade)),color-mix(in srgb,rgb(var(--c-brand-600)) 40%,var(--fs-rb-shade)))}
.fs-preview-light .fs-rb-cta{background:linear-gradient(140deg,rgb(var(--c-brand-600)),color-mix(in srgb,rgb(var(--c-brand-600)) 60%,var(--fs-rb-shade)))}
.fs-rb-cta::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--fs-rb-white) 8%,transparent) 1px,transparent 0) 0 0/22px 22px}
.fs-rb-cta-photo{position:absolute;inset:0}
.fs-rb-cta-photo>*,.fs-rb-cta-photo img{width:100%;height:100%;object-fit:cover}
.fs-rb-cta[data-has-img]>.fs-rb-cta-photo::after{content:"";position:absolute;inset:0;pointer-events:none;background:color-mix(in srgb,rgb(var(--c-brand-600)) 82%,transparent)}
.fs-rb-cta-in.fs-rb-wrap{position:relative;padding-top:84px;padding-bottom:84px}
.fs-rb .fs-rb-cta-h2{color:var(--fs-rb-white);text-shadow:3px 3px 0 color-mix(in srgb,var(--fs-rb-shade) 18%,transparent)}
.fs-rb .fs-rb-cta-p{color:color-mix(in srgb,var(--fs-rb-white) 85%,transparent);max-width:560px;margin:0 auto 28px;font-size:1.08rem;font-weight:600}
.fs-rb-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
[data-fs-layout="minimal"] .fs-rb-cta{background:rgb(var(--c-paper));color:rgb(var(--c-ink-950));border-bottom:2px solid rgb(var(--c-line))}
[data-fs-layout="minimal"] .fs-rb-cta::before{display:none}
[data-fs-layout="minimal"] .fs-rb .fs-rb-cta-h2{color:rgb(var(--c-ink-950));text-shadow:none}
[data-fs-layout="minimal"] .fs-rb .fs-rb-cta-p{color:rgb(var(--c-ink-400))}
[data-fs-layout="minimal"] .fs-rb-cta .fs-rb-btn-sec{background:var(--fs-rb-btn-bg);color:var(--fs-rb-btn-ink);border-color:var(--fs-rb-btn-bg)}
[data-fs-layout="minimal"] .fs-rb-cta .fs-rb-btn-outline-light{border-color:rgb(var(--c-ink-950));color:rgb(var(--c-ink-950))}

/* ── the sandwich generator's food colours (the source's SW / COL and
   swSVG literals), named once — rollingbap-art.tsx fills by var() ── */
.fs-rb,[data-fs-theme] .fs-rbm-pic{
  --fs-rb-f-bacon:#c45a4a;
  --fs-rb-f-bacon2:#f1b9a8;
  --fs-rb-f-cheese:#f7d35a;
  --fs-rb-f-egg:#fff5d6;
  --fs-rb-f-egg2:#f5b421;
  --fs-rb-f-sausage:#9a5a3a;
  --fs-rb-f-hash:#e2a94c;
  --fs-rb-f-halloumi:#f5e8c8;
  --fs-rb-f-halloumi2:#d9b56a;
  --fs-rb-f-jam:#d9452f;
  --fs-rb-f-onion:#c98a3e;
  --fs-rb-f-vsausage:#8a6a4a;
  --fs-rb-f-ketchup:#d9262a;
  --fs-rb-f-rocket:#3f8f3a;
  --fs-rb-f-chorizo:#b7352c;
  --fs-rb-f-chorizo2:#e0735f;
  --fs-rb-f-mushroom:#8d7560;
  --fs-rb-f-cress:#4f9d4a;
  --fs-rb-f-beef:#9b3b36;
  --fs-rb-f-beef2:#d87f78;
  --fs-rb-f-cream:#f7f3ea;
  --fs-rb-f-lettuce:#7fcf5a;
  --fs-rb-f-chicken:#e8c98f;
  --fs-rb-f-chicken2:#f2a444;
  --fs-rb-f-mango:#f2a444;
  --fs-rb-f-apple:#bfe28a;
  --fs-rb-f-cheddar:#f2b23a;
  --fs-rb-f-pickle:#6b4a2b;
  --fs-rb-f-cabbage:#a85f9c;
  --fs-rb-f-falafel:#8f6a3a;
  --fs-rb-f-falafel2:#d4a85c;
  --fs-rb-f-hummus:#efe2c2;
  --fs-rb-f-slaw:#e9eef0;
  --fs-rb-f-slaw2:#f2a0b0;
  --fs-rb-f-bchicken:#d98a3a;
  --fs-rb-f-bchicken2:#b94a2e;
  --fs-rb-f-hot:#d9262a;
  --fs-rb-f-tuna:#e9dcc5;
  --fs-rb-f-tuna2:#f2d35a;
  --fs-rb-f-melt:#f7c33a;
  --fs-rb-f-melt2:#f5dd6a;
  --fs-rb-f-ham:#e3908f;
  --fs-rb-f-mustard:#e2b02c;
  --fs-rb-f-gruyere:#f3dd98;
  --fs-rb-f-jal:#5aa84a;
  --fs-rb-f-beans:#3e2b24;
  --fs-rb-f-vcheese:#f3d87a;
  --fs-rb-f-bread-bap:#e8b96a;
  --fs-rb-f-bread-bap2:#c98a3e;
  --fs-rb-f-bread-sub:#e6c07a;
  --fs-rb-f-bread-sub2:#bf8a44;
  --fs-rb-f-bread-bloomer:#f0d9a0;
  --fs-rb-f-bread-bloomer2:#c99a52;
  --fs-rb-f-bread-granary:#b9833f;
  --fs-rb-f-bread-granary2:#8a5a2a;
  --fs-rb-f-bread-toast:#e9c27a;
  --fs-rb-f-bread-toast2:#a9652c;
  --fs-rb-f-bread-wrap:#f1dfb6;
  --fs-rb-f-bread-wrap2:#d6b47c;
  --fs-rb-f-cup1:#f6f1e7;
  --fs-rb-f-cup2:#ffffff;
  --fs-rb-f-coffee:#6b4a2b;
  --fs-rb-f-tea:#b8773c;
  --fs-rb-f-foam:#d9b48a;
  --fs-rb-f-teatop:#c98b4b;
  --fs-rb-f-hash1:#e2a94c;
  --fs-rb-f-hash2:#eab65a;
  --fs-rb-f-hash3:#f0c36a;
  --fs-rb-f-hashline:#b5762a;
  --fs-rb-f-grey:#cccccc;
  --fs-rb-f-shadow:color-mix(in srgb,var(--fs-rb-shade) 8%,transparent);
}

/* ══ Task 5b — shared: .tag, .chip, .price, the sandwich picture ═══
   (source lines 67–68, 446, 454) */
.fs-rb-tag{display:inline-block;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-weight:800;padding:5px 11px;border-radius:99px;background:rgb(var(--c-accent));color:var(--fs-rb-sec-ink);line-height:1.62}
.fs-rb{--fs-rb-tag-veg:#3b7f37;--fs-rb-tag-vg:#2f7d5a;--fs-rb-tag-gf:#7152b0}
.fs-rb-tag.is-veg{background:var(--fs-rb-tag-veg);color:var(--fs-rb-white)}
.fs-rb-tag.is-vg{background:var(--fs-rb-tag-vg);color:var(--fs-rb-white)}
.fs-rb-tag.is-gf{background:var(--fs-rb-tag-gf);color:var(--fs-rb-white)}
.fs-rb-tag.is-hot{background:rgb(var(--c-brand-600));color:var(--fs-rb-white)}
.fs-rb .fs-rb-chip{font:700 .88rem var(--font-sans,'Nunito',sans-serif);padding:9px 14px;border-radius:99px;border:2px solid rgb(var(--c-line));background:transparent;color:rgb(var(--c-ink-950));cursor:pointer;transition:all .22s}
.fs-rb .fs-rb-chip:hover{border-color:rgb(var(--c-brand-600))}
.fs-rb .fs-rb-chip.is-on{background:var(--fs-rb-btn-bg);color:var(--fs-rb-btn-ink);border-color:var(--fs-rb-btn-bg)}
.fs-rb .fs-rb-chip:disabled{cursor:text;opacity:1}
.fs-rb{--fs-rb-sw-shadow:rgba(40,20,5,.22);--fs-rb-cap-shade:rgba(20,10,5,.75)}
.fs-rb-sw-pic{display:block;width:100%;height:auto;filter:drop-shadow(0 12px 14px var(--fs-rb-sw-shadow))}
.fs-rb-price{font:400 1.6rem var(--font-display,'Patua One',serif);color:rgb(var(--c-brand-600));margin:0 0 16px}
.dark .fs-rb-price:not(:where(.fs-preview-light *)){color:rgb(var(--c-accent))}
.fs-preview-light .fs-rb-price{color:rgb(var(--c-brand-600))}
[data-fs-layout="minimal"] .fs-rb .fs-rb-chip{border-radius:0}

/* ══ favRbCarousel — .car (source lines 498–510, 822–824) ═════════ */
.fs-rb-car{position:relative;max-width:980px;margin:0 auto}
.fs-rb-car-stage{display:grid;min-height:380px;overflow:hidden}
.fs-rb-car-slide{grid-area:1/1;visibility:hidden;opacity:0;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;pointer-events:none}
.fs-rb-car-slide.is-on{visibility:visible;opacity:1;pointer-events:auto}
/* while editing every slide is laid out, one after another (review 1) */
.fs-rb-carousel.is-editing .fs-rb-car-stage{min-height:auto;gap:28px}
.fs-rb-carousel.is-editing .fs-rb-car-slide{grid-area:auto;visibility:visible;opacity:1;pointer-events:auto}
.fs-rb-car-pic{position:relative;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 30%,color-mix(in srgb,rgb(var(--c-accent)) 60%,rgb(var(--c-paper-soft))),color-mix(in srgb,rgb(var(--c-brand-600)) 25%,rgb(var(--c-paper-soft))));display:grid;place-items:center;padding:40px;max-width:380px;width:100%;margin:0 auto;border:4px dashed rgb(var(--c-line));overflow:hidden}
.fs-rb-car-pic .fs-rb-sw-pic{width:88%}
.fs-rb-car-pic .fs-rb-slot{position:absolute;inset:0;border-radius:50%;overflow:hidden}
.fs-rb-car-pic .fs-rb-slot>*,.fs-rb-car-pic .fs-rb-slot img{width:100%;height:100%;object-fit:cover}
.fs-rb .fs-rb-car-h3{font-size:clamp(1.6rem,calc(3 * var(--fs-rb-vw)),2.3rem);margin:12px 0 .5em}
.fs-rb-car-ctl{display:flex;gap:16px;justify-content:center;align-items:center;margin-top:26px}
.fs-rb .fs-rb-car-arr{width:46px;height:46px;border-radius:50%;border:2px solid rgb(var(--c-ink-950));background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));cursor:pointer;display:grid;place-items:center;transition:all .25s;padding:0}
.fs-rb .fs-rb-car-arr:hover{background:rgb(var(--c-ink-950));color:rgb(var(--c-paper))}
.fs-rb-dots{display:flex;gap:8px}
.fs-rb .fs-rb-dots button{position:relative;width:10px;height:10px;border-radius:99px;border:0;background:rgb(var(--c-line));cursor:pointer;padding:0;transition:all .3s}
.fs-rb .fs-rb-dots button::after{content:"";position:absolute;inset:-14px -6px}
.fs-rb .fs-rb-dots button.is-on{width:30px;background:rgb(var(--c-brand-600))}
@container fs-rb (max-width:1060px){
  .fs-rb-car-slide{grid-template-columns:1fr;gap:20px;text-align:center}
  .fs-rb-car-pic{max-width:240px}
  .fs-rb-car-stage{min-height:560px}
}
[data-fs-layout="minimal"] .fs-rb-car-pic{background:var(--fs-rb-tint);border:0}

/* ══ favRbLoyalty — .loyal / .stampcard (lines 526–540) ═══════════ */
.fs-rb-loyal{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.fs-rb-stampcard{background:rgb(var(--c-paper-soft));border:2px solid rgb(var(--c-line));border-radius:var(--fs-radius-card,22px);padding:30px;box-shadow:4px 4px 0 var(--fs-rb-hard-c);position:relative;transform:rotate(-1.5deg);transition:transform .4s}

.fs-rb .fs-rb-stamp-h3{display:flex;justify-content:space-between;align-items:center;gap:12px}
.fs-rb-stamps{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:22px 0}
.fs-rb .fs-rb-stamp{aspect-ratio:1;border-radius:50%;border:2px dashed rgb(var(--c-line));display:grid;place-items:center;cursor:pointer;position:relative;transition:border-color .25s;background:rgb(var(--c-paper));padding:0;color:rgb(var(--c-brand-600))}
.dark .fs-rb .fs-rb-stamp:not(:where(.fs-preview-light *)){color:rgb(var(--c-accent))}
.fs-rb .fs-rb-stamp:hover{border-color:rgb(var(--c-brand-600))}
.fs-rb .fs-rb-stamp:disabled{cursor:text;opacity:1}
.fs-rb-stamp .fs-rb-ic{width:60%;height:60%;opacity:0;transform:scale(2.2) rotate(-20deg)}
.fs-rb .fs-rb-stamp.is-on{border-style:solid;border-color:rgb(var(--c-brand-600))}
.fs-rb-stamp.is-on .fs-rb-ic{opacity:1;transform:scale(1) rotate(-8deg)}
.fs-rb .fs-rb-stamp.is-free{border-color:rgb(var(--c-accent));background:color-mix(in srgb,rgb(var(--c-accent)) 22%,rgb(var(--c-paper)))}
.fs-rb-free-tag{position:absolute;font:800 .62rem var(--font-sans,'Nunito',sans-serif);letter-spacing:.1em;color:var(--fs-rb-sec-ink);bottom:6px}
.dark .fs-rb-free-tag:not(:where(.fs-preview-light *)){color:rgb(var(--c-accent))}
.fs-rb-stamp-msg{font-family:var(--font-accent,inherit);font-weight:600;font-size:1.4rem;color:rgb(var(--c-brand-600));min-height:1.6em}
.dark .fs-rb-stamp-msg:not(:where(.fs-preview-light *)){color:rgb(var(--c-accent))}
.fs-preview-light .fs-rb-stamp-msg{color:rgb(var(--c-brand-600))}
.fs-rb-stamp-meta{display:flex;justify-content:space-between;gap:12px;font-size:.82rem;color:rgb(var(--c-ink-400));font-weight:700}
@container fs-rb (max-width:1060px){.fs-rb-loyal{grid-template-columns:1fr}}
@container fs-rb (max-width:760px){.fs-rb-stamps{gap:8px}}
[data-fs-layout="centered"] .fs-rb-loyal{grid-template-columns:1fr;text-align:center}
[data-fs-layout="centered"] .fs-rb-stampcard{max-width:520px;margin:0 auto;text-align:left}
[data-fs-layout="minimal"] .fs-rb-stampcard{background:transparent;border:0;border-top:2px solid rgb(var(--c-line));box-shadow:none;border-radius:0;transform:none}

/* ══ favRbGallery — .filters / .wall (lines 543–552, 597, 832) ════ */
.fs-rb-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}
.fs-rb-wall{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:190px;gap:14px}
.fs-rb-tile{position:relative;border-radius:18px;overflow:hidden;cursor:pointer;background:var(--fs-rb-tint);display:grid;place-items:center;padding:18px;border:2px solid rgb(var(--c-line))}
.fs-rb-tile.is-tall{grid-row:span 2}
.fs-rb-tile.is-wide{grid-column:span 2}
.fs-rb-tile.is-hidden{display:none}
.fs-rb-tile .fs-rb-sw-pic{width:70%;max-height:100%;transition:transform .6s var(--fs-rb-ease)}

.fs-rb-tile-van{width:80%}
.fs-rb-tile-van svg{width:100%;height:auto;display:block}
.fs-rb-tile .fs-rb-slot{position:absolute;inset:0}
.fs-rb-tile .fs-rb-slot>*,.fs-rb-tile .fs-rb-slot img{width:100%;height:100%;object-fit:cover}
.fs-rb-cap{position:absolute;left:0;right:0;bottom:0;padding:34px 16px 14px;background:linear-gradient(transparent,var(--fs-rb-cap-shade));color:var(--fs-rb-white);font-weight:800;font-size:.9rem;transform:translateY(100%);transition:transform .4s;line-height:1.62}
.fs-rb-tile:hover .fs-rb-cap,.fs-rb-tile:focus-within .fs-rb-cap,.fs-rb-gallery.is-editing .fs-rb-cap{transform:none}
/* touch screens have no hover: the captions always show (Task 5c review 9) */
@media (hover:none){.fs-rb-cap{transform:none}}
.fs-rb-cap small{display:block;font-weight:600;opacity:.8;font-family:var(--font-accent,inherit);font-size:1.05rem}
@container fs-rb (max-width:1060px){.fs-rb-wall{grid-template-columns:repeat(3,1fr)}}
@container fs-rb (max-width:760px){.fs-rb-wall{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}.fs-rb-tile.is-wide{grid-column:span 2}}

/* ══ Task 5c — forms: .field / .row2 / .form-ok (source lines 86–95) ═ */
.fs-rb{--fs-rb-err:#d4574a;--fs-rb-ok:#2e9e6b}
.fs-rb-field{display:grid;gap:6px;margin-bottom:16px;text-align:left}
.fs-rb .fs-rb-label{font-size:.86rem;font-weight:800}
.fs-rb .fs-rb-field input,.fs-rb .fs-rb-field select,.fs-rb .fs-rb-field textarea{font:inherit;color:rgb(var(--c-ink-950));background:rgb(var(--c-paper));border:2px solid rgb(var(--c-line));border-radius:14px;padding:12px 14px;transition:border-color .25s,box-shadow .25s;width:100%}
.fs-rb .fs-rb-field input:focus,.fs-rb .fs-rb-field select:focus{outline:none;border-color:rgb(var(--c-brand-600));box-shadow:0 0 0 4px color-mix(in srgb,rgb(var(--c-brand-600)) 20%,transparent)}
.fs-rb .fs-rb-field.is-err input{border-color:var(--fs-rb-err)}
.fs-rb-msg{font-size:.8rem;color:var(--fs-rb-err);display:none}
.fs-rb-field.is-err .fs-rb-msg,.fs-rb-field.is-ed .fs-rb-msg{display:block}
.fs-rb-row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fs-rb-form-ok{display:none;padding:16px;border-radius:14px;background:color-mix(in srgb,var(--fs-rb-ok) 16%,transparent);color:rgb(var(--c-ink-950));border:2px solid var(--fs-rb-ok);margin-top:12px}
.fs-rb-form-ok.is-show{display:block}
.fs-rb-form-ok.is-fail,.fs-rb-form-ok.is-bad{background:color-mix(in srgb,var(--fs-rb-err) 12%,transparent);border-color:var(--fs-rb-err)}
.fs-rb .fs-rb-consent{margin:12px 0 0;font-size:.8rem;color:rgb(var(--c-ink-400))}
.fs-rb-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.fs-rb .fs-rb-btn-wide{width:100%;justify-content:center}
.fs-rb-chips{display:flex;flex-wrap:wrap;gap:8px}
@container fs-rb (max-width:760px){.fs-rb-row2{grid-template-columns:1fr}}

/* ══ favRbQuote — .quote (source lines 513–523) ═══════════════════ */
.fs-rb-qpanel{display:grid;grid-template-columns:1.1fr .9fr;border-radius:var(--fs-radius-card,22px);overflow:hidden;border:2px solid rgb(var(--c-line));background:rgb(var(--c-paper-soft));
  box-shadow:0 2px 5px -3px color-mix(in srgb,var(--fs-rb-warm) 22%,transparent),0 3px 9px -2px color-mix(in srgb,var(--fs-rb-warm) 22%,transparent),0 26px 50px -22px color-mix(in srgb,var(--fs-rb-warm) 32%,transparent)}
.fs-rb-quote-in{padding:38px}
.fs-rb-quote-out{background:rgb(var(--c-ink-950));color:rgb(var(--c-paper));padding:38px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.dark .fs-rb-quote-out:not(:where(.fs-preview-light *)){background:var(--fs-rb-road);color:rgb(var(--c-ink-950))}
.fs-rb-quote-out::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(-45deg,transparent 0 18px,color-mix(in srgb,var(--fs-rb-white) 3%,transparent) 18px 20px);pointer-events:none}
.fs-rb-quote-out>*{position:relative}
.fs-rb-big{font:400 clamp(2.6rem,calc(5 * var(--fs-rb-vw)),3.8rem)/1 var(--font-display,'Patua One',serif);color:rgb(var(--c-accent));margin:6px 0 4px}
.fs-rb-quote-out small{opacity:.75}
.fs-rb-q-lines{margin-top:22px}
.fs-rb-q-line{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid color-mix(in srgb,var(--fs-rb-white) 14%,transparent);font-size:.95rem}
.fs-rb-q-line b{font-weight:800}
.fs-rb .fs-rb-q-btn{margin-top:24px;justify-content:center}
/* the source styles the slider as a field (padding, border) with height 6px */
.fs-rb .fs-rb-field input[type=range]{height:6px;accent-color:rgb(var(--c-brand-600))}
.fs-rb-range-val{font:400 1.9rem var(--font-display,'Patua One',serif);color:rgb(var(--c-brand-600));margin-bottom:8px}
.dark .fs-rb-range-val:not(:where(.fs-preview-light *)){color:rgb(var(--c-accent))}
@container fs-rb (max-width:1060px){.fs-rb-qpanel{grid-template-columns:1fr}}
[data-fs-layout="minimal"] .fs-rb-qpanel{box-shadow:none;border-radius:0;border:0}
[data-fs-layout="minimal"] .fs-rb-big{color:rgb(var(--c-ink-950))}
/* Task 11 sweep: the rest of the export's html[data-layout=minimalist]
   rules (its --r:0px corners; the parked strip and the estimate panel on
   the tint with ink words; the open menu tab and the hero's em in the
   accent, flat; the lift with no rise). The open tab was white on the
   page (the button ink over a transparent ground: unreadable). */
[data-fs-layout="minimal"] .fs-rb{--fs-radius-card:0px}
[data-fs-layout="minimal"] .fs-rb .fs-rb-mtab.is-on{background:transparent;color:rgb(var(--c-brand-text));border-bottom-color:rgb(var(--c-brand-600));transform:none}
[data-fs-layout="minimal"] .fs-rb .fs-rb-hero-h1 em{color:rgb(var(--c-brand-text));transform:none}
[data-fs-layout="minimal"] .fs-rb-pk,[data-fs-layout="minimal"] .fs-rb-quote-out{background:var(--fs-rb-tint);color:rgb(var(--c-ink-950))}
[data-fs-layout="minimal"] .fs-rb-pk::before,[data-fs-layout="minimal"] .fs-rb-quote-out::before{display:none}
[data-fs-layout="minimal"] .fs-rb-cd b{color:rgb(var(--c-ink-950))}
[data-fs-layout="minimal"] .fs-rb-cd div{background:rgb(var(--c-paper-soft))}
[data-fs-layout="minimal"] .fs-rb-board,[data-fs-layout="minimal"] .fs-rb-gift-band{border-radius:0}
[data-fs-layout="minimal"] .fs-rb-ih-face,[data-fs-layout="minimal"] .fs-rb-ih-sel select,[data-fs-layout="minimal"] .fs-rb-ih-side{border-radius:0}
[data-fs-layout="minimal"] .fs-rb .fs-rb-lift:hover{transform:none;box-shadow:none;border-top-color:rgb(var(--c-brand-600))}
[data-fs-layout="minimal"] .fs-rb-sec.is-alt{background:transparent}

/* ══ favRbCalendar — .cal-wrap / .cal / .cday (lines 555–573) ═════ */
.fs-rb-cal-wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:start}
.fs-rb-cal{background:rgb(var(--c-paper-soft));border:2px solid rgb(var(--c-line));border-radius:var(--fs-radius-card,22px);padding:26px}
.fs-rb-cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.fs-rb .fs-rb-cal-h3{margin:0}
.fs-rb .fs-rb-cal-head button{width:38px;height:38px;border-radius:50%;border:2px solid rgb(var(--c-line));background:transparent;color:rgb(var(--c-ink-950));cursor:pointer;display:grid;place-items:center;padding:0}
.fs-rb-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
/* the keyboard grid's rows (role=row) do not box: the days stay on the 7-column grid */
.fs-rb-cal-row{display:contents}
.fs-rb-dow{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--c-ink-400));text-align:center;font-weight:800;padding:6px 0}
.fs-rb .fs-rb-cday{aspect-ratio:1;border-radius:12px;display:grid;place-items:center;font-weight:800;font-size:.92rem;cursor:pointer;border:2px solid transparent;position:relative;background:none;color:rgb(var(--c-ink-950));padding:0;font-family:inherit}
.fs-rb .fs-rb-cday.is-avail:hover{border-color:rgb(var(--c-brand-600))}
.fs-rb-cday.is-pad{visibility:hidden}
.fs-rb .fs-rb-cday.is-booked,.fs-rb .fs-rb-cday.is-past{color:rgb(var(--c-ink-400));cursor:not-allowed;background:var(--fs-rb-tint)}
.fs-rb .fs-rb-cday.is-booked{text-decoration:line-through}
.fs-rb .fs-rb-cday.is-sel{background:var(--fs-rb-btn-bg);color:var(--fs-rb-btn-ink)}
.fs-rb .fs-rb-cday[aria-disabled="true"]{color:rgb(var(--c-ink-400));cursor:not-allowed}
.fs-rb-cday.is-avail::after{content:"";position:absolute;bottom:5px;width:5px;height:5px;border-radius:50%;background:var(--fs-rb-live)}
.fs-rb-cday.is-sel::after{display:none}
.fs-rb-cal-key{display:flex;gap:18px;margin-top:14px;font-size:.8rem;color:rgb(var(--c-ink-400));font-weight:700;flex-wrap:wrap}
.fs-rb-cal-key i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:middle}
.fs-rb-cal-key i.is-avail{background:var(--fs-rb-live)}
.fs-rb-cal-key i.is-booked{background:rgb(var(--c-line))}
.fs-rb-cal-key i.is-pick{background:rgb(var(--c-brand-600))}
.fs-rb-book{padding:30px}
.fs-rb-book-sum{background:var(--fs-rb-tint);border-radius:14px;padding:16px;margin-bottom:16px;font-weight:700;display:flex;gap:10px;align-items:center}
.fs-rb-book-sum .fs-rb-ic{color:rgb(var(--c-brand-600))}
.dark .fs-rb-book-sum .fs-rb-ic:not(:where(.fs-preview-light *)){color:rgb(var(--c-accent))}
@container fs-rb (max-width:1060px){.fs-rb-cal-wrap{grid-template-columns:1fr}}
[data-fs-layout="centered"] .fs-rb-cal-wrap{grid-template-columns:1fr}
[data-fs-layout="minimal"] .fs-rb-cal{background:transparent;border:0;border-top:2px solid rgb(var(--c-line));border-radius:0}

/* ══ favRbStop — .map (lines 613–614) ════════════════════════════ */
.fs-rb-map{position:relative;border-radius:var(--fs-radius-card,22px);overflow:hidden;border:2px solid rgb(var(--c-line));aspect-ratio:16/9;background:var(--fs-rb-tint)}
.fs-rb-map-svg{width:100%;height:100%;display:block}
.fs-rb-map-road1{stroke:rgb(var(--c-ink-950));stroke-opacity:.18;fill:none;stroke-width:12}
.fs-rb-map-road2{stroke:rgb(var(--c-ink-950));stroke-opacity:.12;fill:none;stroke-width:4}
.fs-rb-map-route{stroke:rgb(var(--c-brand-600));stroke-width:4;fill:none;stroke-dasharray:10 8}
.fs-rb-map-halo{fill:rgb(var(--c-accent));fill-opacity:.35}
.fs-rb-map-main{fill:rgb(var(--c-brand-600))}
.fs-rb-map-ink{fill:rgb(var(--c-ink-950))}
.fs-rb-map .fs-rb-slot{position:absolute;inset:0}
.fs-rb-map .fs-rb-slot>*,.fs-rb-map .fs-rb-slot img{width:100%;height:100%;object-fit:cover}

/* ══ favRbIconCards / favRbCareers — .card + .icon-badge, .role ════ */
.fs-rb-g4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.fs-rb .fs-rb-icard-h3{font-size:1.3rem}
.fs-rb-icard .fs-rb-icon-badge{position:relative;overflow:hidden}
.fs-rb-icard .fs-rb-icon-badge .fs-rb-ic{width:1.35em;height:1.35em}
.fs-rb-icard .fs-rb-slot{position:absolute;inset:0}
.fs-rb-icard .fs-rb-slot>*,.fs-rb-icard .fs-rb-slot img{width:100%;height:100%;object-fit:cover}
.fs-rb-icard-role{color:rgb(var(--c-ink-950))}
.fs-rb-perks{margin-bottom:56px}
.fs-rb-role{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:24px 28px;margin-bottom:14px}
.fs-rb .fs-rb-role-h3{margin:0 0 4px;font-size:1.15rem}
.fs-rb-role small{color:rgb(var(--c-ink-400));font-weight:700}
@container fs-rb (max-width:1060px){.fs-rb-g4{grid-template-columns:repeat(2,1fr)}}
@container fs-rb (max-width:760px){.fs-rb-g4{grid-template-columns:1fr}}
[data-fs-layout="centered"] .fs-rb-icard{text-align:center}
[data-fs-layout="centered"] .fs-rb-icard .fs-rb-icon-badge{margin-inline:auto}
[data-fs-layout="minimal"] .fs-rb-icon-badge{background:transparent;border:0;border-radius:0;justify-content:start;width:auto;height:auto;margin-bottom:14px;color:rgb(var(--c-brand-600));box-shadow:none}

/* ══ favRbPriceCards — .price-card (lines 580–585) ════════════════ */
.fs-rb-price-card{display:flex;flex-direction:column;position:relative}
.fs-rb .fs-rb-price-card.is-feat{border-color:rgb(var(--c-brand-600));box-shadow:4px 4px 0 var(--fs-rb-hard-c)}
.fs-rb-feat-tag{position:absolute;top:-13px;left:28px;background:rgb(var(--c-brand-600));color:var(--fs-rb-white);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:4px 12px;border-radius:99px;line-height:1.62}
.fs-rb-pc-tag{align-self:flex-start}
.fs-rb-amt{font:400 2.5rem var(--font-display,'Patua One',serif);margin:6px 0 2px;color:rgb(var(--c-brand-600))}
.dark .fs-rb-amt:not(:where(.fs-preview-light *)){color:rgb(var(--c-accent))}
.fs-rb-amt small{font:700 .9rem var(--font-sans,'Nunito',sans-serif);color:rgb(var(--c-ink-400))}
.fs-rb-price-card .fs-rb-list-check{flex:1;margin-top:14px}
.fs-rb .fs-rb-pc-btn{justify-content:center}
[data-fs-layout="minimal"] .fs-rb-feat-tag{border-radius:0}

/* ══ Task 6 — the basket blocks (source lines 67–69, 447–459, 487–495,
   617–637, 752, 779, 806–843) ═══════════════════════════════════════ */
/* the dish card (.card.dish) */
.fs-rb-dish{position:relative;display:flex;flex-direction:column}
.fs-rb-sticker{position:absolute;top:-14px;right:-10px;background:rgb(var(--c-accent));color:var(--fs-rb-sec-ink);font:600 1.15rem var(--font-accent,inherit);padding:8px 14px;border-radius:99px;transform:rotate(8deg);border:2px solid rgb(var(--c-ink-950));box-shadow:4px 4px 0 var(--fs-rb-hard-c);z-index:2;line-height:1.62}
.fs-rb-dish-pic{aspect-ratio:4/3;border-radius:18px;background:linear-gradient(160deg,color-mix(in srgb,rgb(var(--c-accent)) 35%,rgb(var(--c-paper-soft))),color-mix(in srgb,rgb(var(--c-brand-600)) 18%,rgb(var(--c-paper-soft))));display:grid;place-items:center;padding:14px 26px;margin-bottom:18px;overflow:hidden;position:relative}
.fs-rb-dish-pic::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--fs-rb-shade) 5%,transparent) 1px,transparent 0) 0 0/16px 16px;pointer-events:none}
.fs-rb-dish-pic .fs-rb-sw-pic{width:78%;transition:transform .5s var(--fs-rb-ease)}
.fs-rb-dish-pic .fs-rb-slot{position:absolute;inset:0;z-index:1}
.fs-rb-dish-pic .fs-rb-slot>*,.fs-rb-dish-pic .fs-rb-slot img{width:100%;height:100%;object-fit:cover}
.fs-rb-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.fs-rb-specials .fs-rb-more{margin-top:34px}
.fs-rb .fs-rb-dish-h3{margin:0 0 4px;font-size:1.22rem}
.fs-rb .fs-rb-dish-p{color:rgb(var(--c-ink-400));font-size:.95rem;margin-bottom:12px}
.fs-rb-dish-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto}
.fs-rb-dish-price{font:400 1.35rem var(--font-display,'Patua One',serif);color:rgb(var(--c-brand-600))}
.dark .fs-rb-dish-price:not(:where(.fs-preview-light *)){color:rgb(var(--c-accent))}
.fs-preview-light .fs-rb-dish-price{color:rgb(var(--c-brand-600))}
.fs-rb .fs-rb-add{display:inline-flex;align-items:center;gap:6px;font:800 .85rem var(--font-sans,'Nunito',sans-serif);padding:9px 14px;border-radius:99px;background:var(--fs-rb-btn-bg);color:var(--fs-rb-btn-ink);border:0;cursor:pointer;transition:transform .2s,box-shadow .2s;line-height:normal}
.fs-rb .fs-rb-add:disabled{cursor:text}
.fs-rb .fs-rb-add.is-done{background:var(--fs-rb-ok);color:var(--fs-rb-white)}
[data-fs-layout="minimal"] .fs-rb-dish-pic{background:var(--fs-rb-tint);border:0}

/* the menu: tabs, filters, panels (.menu-tabs .mtab .mfilters .mpanel) */
.fs-rb-menu-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.fs-rb .fs-rb-mtab{font:400 1rem var(--font-display,'Patua One',serif);padding:12px 20px;border-radius:99px;border:2px solid rgb(var(--c-line));background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));cursor:pointer;display:inline-flex;gap:8px;align-items:center;line-height:normal}
.fs-rb .fs-rb-mtab:hover{border-color:rgb(var(--c-brand-600))}
.fs-rb .fs-rb-mtab.is-on{background:var(--fs-rb-btn-bg);color:var(--fs-rb-btn-ink);border-color:var(--fs-rb-btn-bg);transform:rotate(-1.5deg)}
.fs-rb .fs-rb-mtab:disabled{cursor:text;opacity:1}
.fs-rb .fs-rb-mtab:disabled:not(.is-on){color:rgb(var(--c-ink-950))}
.fs-rb-mfilters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:28px;font-size:.85rem;color:rgb(var(--c-ink-400));font-weight:700}
.fs-rb-mpanel{display:none}
.fs-rb-mpanel.is-on{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.fs-rb-mbody.is-inline .fs-rb-mpanel.is-on{grid-template-columns:repeat(2,1fr)}
.fs-rb-menu-empty{grid-column:1/-1;text-align:center;color:rgb(var(--c-ink-400));padding:30px}
.fs-rb .fs-rb-menu-hint{margin-top:22px}
.fs-rb .fs-rb-menu-hint .fs-rb-ic{display:inline-block}
/* while editing every tab's dishes are laid out, one panel after another */
.fs-rb.is-editing .fs-rb-mpanel.is-on+.fs-rb-mpanel.is-on{margin-top:28px;padding-top:28px;border-top:2px dashed rgb(var(--c-line))}
[data-fs-layout="minimal"] .fs-rb .fs-rb-mtab{background:transparent;border:0;border-bottom:2px solid rgb(var(--c-line));border-radius:0;padding:10px 14px;transform:none}
[data-fs-layout="centered"] .fs-rb-menu-tabs,[data-fs-layout="centered"] .fs-rb-mfilters{justify-content:center}
@container fs-rb (max-width:1060px){.fs-rb-mpanel.is-on,.fs-rb-mbody.is-inline .fs-rb-mpanel.is-on{grid-template-columns:repeat(2,1fr)}}
@container fs-rb (max-width:760px){.fs-rb-mpanel.is-on,.fs-rb-mbody.is-inline .fs-rb-mpanel.is-on{grid-template-columns:1fr}}

/* the specials board (.chalk) beside the notes (.g2) */
.fs-rb{--fs-rb-chalk-bg:#1f2a24;--fs-rb-chalk-ink:#f1ecdd;--fs-rb-chalk-wood:#6b4a2b;--fs-rb-chalk-gold:#f0b429}
.fs-rb-chalk-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;align-items:start}
.fs-rb-board{background:var(--fs-rb-chalk-bg);color:var(--fs-rb-chalk-ink);border-radius:var(--fs-radius-card,22px);padding:38px;position:relative;overflow:hidden;border:6px solid var(--fs-rb-chalk-wood)}
.fs-rb-board::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,color-mix(in srgb,var(--fs-rb-white) 5%,transparent),transparent 40%),radial-gradient(circle at 80% 70%,color-mix(in srgb,var(--fs-rb-white) 4%,transparent),transparent 40%);pointer-events:none}
.fs-rb-board>*{position:relative}
.fs-rb .fs-rb-board-h3{font-family:var(--font-accent,inherit);font-weight:600;font-size:2.4rem;color:var(--fs-rb-white);margin:0 0 14px;text-decoration:underline wavy var(--fs-rb-chalk-gold);line-height:1.08}
.fs-rb-board-line{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px dashed color-mix(in srgb,var(--fs-rb-white) 20%,transparent);font-family:var(--font-accent,inherit);font-size:1.45rem;line-height:1.62}
.fs-rb-board-line b{color:var(--fs-rb-chalk-gold);font-weight:600}
@container fs-rb (max-width:760px){.fs-rb-chalk-grid{grid-template-columns:1fr}}

/* order ahead (.order-grid .basket .b-list .b-total) */
.fs-rb-order-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:34px;align-items:start}
.fs-rb-basket{background:rgb(var(--c-paper-soft));border:2px solid rgb(var(--c-line));border-radius:var(--fs-radius-card,22px);padding:26px;position:sticky;top:100px}
.fs-rb.is-editing .fs-rb-basket{position:static}
.fs-rb .fs-rb-basket-h3{display:flex;justify-content:space-between;align-items:center;gap:10px}
.fs-rb-b-list{list-style:none;padding:0;margin:0 0 14px;display:grid;gap:8px;min-height:60px}
.fs-rb-b-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;background:rgb(var(--c-paper));border-radius:12px;font-weight:700;font-size:.92rem}
/* the remove button: a 44px target, the row's height kept (Task 6 review 4) */
.fs-rb .fs-rb-b-rm{border:0;background:transparent;color:rgb(var(--c-ink-400));cursor:pointer;font-weight:800;padding:0;min-width:44px;min-height:44px;display:inline-grid;place-items:center;margin:-12px -12px -12px -6px;vertical-align:middle}
.fs-rb-b-list .is-empty{color:rgb(var(--c-ink-400));font-weight:600;justify-content:center;background:transparent;border:2px dashed rgb(var(--c-line))}
.fs-rb-b-total{display:flex;justify-content:space-between;font:400 1.3rem var(--font-display,'Patua One',serif);padding:14px 0;border-top:2px dashed rgb(var(--c-line))}
[data-fs-layout="minimal"] .fs-rb-basket{background:transparent;border:0;border-top:2px solid rgb(var(--c-line));border-radius:0}
@container fs-rb (max-width:1060px){.fs-rb-order-grid{grid-template-columns:1fr}}
@container fs-rb (max-width:760px){.fs-rb-basket{position:static}}

/* the gift card band (.gift) */
.fs-rb-gift-band{background:linear-gradient(135deg,rgb(var(--c-accent)),color-mix(in srgb,rgb(var(--c-accent)) 60%,rgb(var(--c-brand-600))));color:var(--fs-rb-sec-ink);border-radius:var(--fs-radius-card,22px);padding:34px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;border:2px solid rgb(var(--c-ink-950))}
.fs-rb .fs-rb-gift-hand{color:var(--fs-rb-sec-ink)}
.fs-rb .fs-rb-gift-h3{margin:0 0 6px;font-size:1.6rem;color:inherit}
.fs-rb .fs-rb-gift-p{margin:0;font-weight:600}
[data-fs-layout="centered"] .fs-rb-gift-band{grid-template-columns:1fr;text-align:center;justify-items:center}
@container fs-rb (max-width:760px){.fs-rb-gift-band{grid-template-columns:1fr}}

/* ══ favRbFooter — .site-footer (source lines 640–649, 808, 830, 845) ═══
   The ink band (the page colour 80% for the words; dark: the road and the
   muted ink), 72px above the four columns (1.5 / 1 / 1 / 1.2fr, 44px
   apart, 50px below), the 800 .78rem spaced headings, the 700 links, the
   lockup inverted (the name in the page colour, the strapline in the
   mustard), the legal row over a white 12% hairline. */
.fs-rb-footer{background:rgb(var(--c-ink-950));color:color-mix(in srgb,rgb(var(--c-paper)) 80%,transparent);font-size:.95rem}
.dark .fs-rb-footer:not(:where(.fs-preview-light *)){background:color-mix(in srgb,rgb(var(--c-paper)) 55%,var(--fs-rb-shade));color:rgb(var(--c-ink-400))}
.fs-preview-light .fs-rb-footer{background:rgb(var(--c-ink-950));color:color-mix(in srgb,rgb(var(--c-paper)) 80%,transparent)}
.fs-rb-footer>.fs-rb-wrap{padding-top:72px}
.fs-rb-ft-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:44px;padding-bottom:50px}
.fs-rb-ft-col{min-width:0}
.fs-rb .fs-rb-ft-h4{margin:0 0 16px;font-family:var(--font-sans,'Nunito',system-ui,sans-serif);font-size:.78rem;font-weight:800;line-height:1.08;letter-spacing:.16em;text-transform:uppercase;color:rgb(var(--c-paper))}
.dark .fs-rb .fs-rb-ft-h4:not(:where(.fs-preview-light *)){color:rgb(var(--c-ink-950))}
.fs-preview-light .fs-rb .fs-rb-ft-h4{color:rgb(var(--c-paper))}
.fs-rb .fs-rb-ft-a{display:block;padding:4px 0;color:inherit;font-weight:700;text-decoration:none;transition:color .2s}
.fs-rb a.fs-rb-ft-a:hover{color:rgb(var(--c-accent))}
.fs-rb a.fs-rb-ft-a:focus-visible{outline:2px solid rgb(var(--c-accent));outline-offset:2px}
.fs-rb .fs-rb-ft-a.is-today{color:rgb(var(--c-paper))}
.dark .fs-rb .fs-rb-ft-a.is-today:not(:where(.fs-preview-light *)){color:rgb(var(--c-ink-950))}
.fs-preview-light .fs-rb .fs-rb-ft-a.is-today{color:rgb(var(--c-paper))}
.fs-rb-ft-today{display:inline-block;padding:1px 8px;border-radius:99px;background:rgb(var(--c-accent));color:var(--fs-rb-sec-ink);font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;vertical-align:1px}
.fs-rb .fs-rb-ft-logo{display:flex;align-items:center;gap:10px;margin:0 0 18px}
.fs-rb-ft-mark{flex:none;width:52px;height:52px}
.fs-rb-ft-lock{display:grid;gap:2px}
.fs-rb-ft-name{font-family:var(--font-display,'Patua One',serif);font-size:22px;line-height:1.1;color:rgb(var(--c-paper))}
.dark .fs-rb-ft-name:not(:where(.fs-preview-light *)){color:rgb(var(--c-ink-950))}
.fs-preview-light .fs-rb-ft-name{color:rgb(var(--c-paper))}
.fs-rb-ft-sub{font-family:var(--font-accent,inherit);font-weight:600;font-size:13px;line-height:1.2;color:rgb(var(--c-accent))}
.fs-rb .fs-rb-ft-blurb{max-width:300px}
.fs-rb .fs-rb-ft-area{margin:0}
.fs-rb .fs-rb-ft-hours{margin:12px 0 1em}
.fs-rb-ft-legal{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;padding:22px 0;border-top:1px solid color-mix(in srgb,var(--fs-rb-white) 12%,transparent);font-size:.82rem}
.fs-rb-ft-small{max-width:760px}
.fs-rb a.fs-rb-ft-legal-a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.fs-rb-row-empty{opacity:.45}
@container fs-rb (max-width:1060px){.fs-rb-ft-grid{grid-template-columns:1fr 1fr}}
@container fs-rb (max-width:760px){.fs-rb-ft-grid{grid-template-columns:1fr}}
/* touch: bigger hit areas (the source's ≤900px rule) */
@container fs-rb (max-width:900px){.fs-rb .fs-rb-ft-a{display:inline-block;padding-block:7px}}

/* ══ motion (the source's own; port Task 9) ═════════════════════════════
   Every Rolling Bap movement, ported from the source's keyframes and
   transitions, in ONE place so the gates are the same for all:
     1. [data-fs-motion="on"] — the published site and the template
        preview at Motion On or Subtle; the editor canvas, Off and any
        surface without the shell match nothing and stay still,
     2. @media screen and (prefers-reduced-motion: no-preference),
     3. a reveal also needs a block drawn 'rich' (.fs-rb-anim).
   Off and reduced motion stop EVERYTHING the family moves, transitions
   included (the source's html[data-motion=off] *{animation:none;
   transition:none} and its reduced-motion twin): the block below.
   SUBTLE: every travel calc(<px> * var(--fs-motion-dist, 1)) (0.3 under
   Subtle, the source's own -sub keyframes) and every time
   calc(<t> * var(--fs-anim-speed, 1)) (x1.7, the source's 0.72 → 1.22s);
   where the source is stricter it wins: a loop plays ONCE
   (html[data-motion=subtle] *{animation-iteration-count:1}) and the
   marquee crawls at 160s.
   SWITCHES: each effect reads var(--fs-anim-<id>, <the source's value>),
   ids in themes/rollingbap.ts microAnimations (check:anim); the scripts
   read theirs in RollingBapBlocks.tsx (RB_ANIM_SWITCH, rbMayMove).
   FILL: backwards only, the end frame always the resting style. The
   reveal never hides content without the script: its hidden first frame
   is a PAUSED animation behind data-rb-in="0", which only the reveal
   runtime (useRbMotion) sets — no script, no attribute, nothing hidden.
   States that carry meaning (an open answer, a pressed stamp, the chosen
   day, the shown slide) rest outside these gates; only their movement is
   inside. No clip-path. */
@keyframes fs-rb-sizzle{0%{opacity:0;transform:translateY(calc(16px * var(--fs-motion-dist, 1))) scale(calc(1 - .035 * var(--fs-motion-dist, 1))) skewX(calc(2.4deg * var(--fs-motion-dist, 1)))}50%{opacity:1;transform:translateY(calc(-3px * var(--fs-motion-dist, 1))) scale(calc(1 + .014 * var(--fs-motion-dist, 1))) skewX(calc(-1.2deg * var(--fs-motion-dist, 1)))}75%{transform:translateY(calc(1px * var(--fs-motion-dist, 1))) scale(calc(1 - .004 * var(--fs-motion-dist, 1))) skewX(calc(.5deg * var(--fs-motion-dist, 1)))}100%{opacity:1;transform:none}}
@keyframes fs-rb-draw{from{width:0}}
@keyframes fs-rb-marq{to{transform:translateX(-50%)}}
@keyframes fs-rb-steam{0%{opacity:0;transform:translateY(0) scale(.6)}30%{opacity:.9}100%{opacity:0;transform:translateY(calc(-58px * var(--fs-motion-dist, 1))) scale(calc(1 + .5 * var(--fs-motion-dist, 1)))}}
@keyframes fs-rb-floaty{50%{transform:translateY(calc(-10px * var(--fs-motion-dist, 1)))}}
@keyframes fs-rb-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(calc(-6px * var(--fs-motion-dist, 1)))}}
@keyframes fs-rb-blink{50%{opacity:.25}}
@keyframes fs-rb-wobble{0%,100%{transform:translateY(calc(-2px * var(--fs-motion-dist, 1))) rotate(0deg)}25%{transform:translateY(calc(-3px * var(--fs-motion-dist, 1))) rotate(calc(-1.4deg * var(--fs-motion-dist, 1)))}75%{transform:translateY(calc(-3px * var(--fs-motion-dist, 1))) rotate(calc(1.4deg * var(--fs-motion-dist, 1)))}}
@keyframes fs-rb-pop{from{opacity:0;transform:scale(calc(1 - .06 * var(--fs-motion-dist, 1)))}to{opacity:1;transform:none}}
@keyframes fs-rb-fadeslide{from{opacity:0;transform:translateX(calc(18px * var(--fs-motion-dist, 1)))}to{opacity:1;transform:none}}
@keyframes fs-rb-pindrop{from{transform:translateY(calc(-40px * var(--fs-motion-dist, 1)));opacity:0}}
@keyframes fs-rb-rip{from{transform:scale(0);opacity:1}to{transform:scale(calc(4 * var(--fs-motion-dist, 1)));opacity:0}}

/* Off, the editor canvas, a surface without the shell, and a
   reduced-motion request: nothing in the family moves. */
.fs-rb:not([data-fs-motion="on"] *),.fs-rb:not([data-fs-motion="on"] *) *{animation:none !important;transition:none !important}
@media (prefers-reduced-motion:reduce){
  .fs-rb,.fs-rb *{animation:none !important;transition:none !important}
}
/* The press ripple rests invisible (its end frame). */
.fs-rb-ripple{position:absolute;border-radius:50%;pointer-events:none;opacity:0;background:color-mix(in srgb,var(--fs-rb-white) 45%,transparent)}
.fs-rb-map-pin{transform-box:fill-box;transform-origin:center bottom}
/* rbAutoplay and rbRipple have no CSS of their own beyond the ripple's
   look: the carousel timer and the ripple read their switches in
   RollingBapBlocks.tsx (RB_ANIM_SWITCH, rbMayMove). */

/* screen only: a printed page shows every item, never a waiting one */
@media screen and (prefers-reduced-motion:no-preference){
  /* rbReveal — the griddle sizzle (bapSizzleReveal, .72s): heads, cards,
     panels shimmer up as they scroll in; cards 80ms apart (--rb-d, set by
     the runtime with the source's --d) */
  [data-fs-motion="on"] .fs-rb-anim [data-rb-in]{animation:var(--fs-anim-rbReveal, fs-rb-sizzle calc(.72s * var(--fs-anim-speed, 1)) cubic-bezier(.22,.75,.28,1) backwards);animation-delay:calc(var(--rb-d, 0ms) * var(--fs-anim-speed, 1))}
  /* waiting to scroll in: held on the first frame, paused */
  [data-fs-motion="on"] .fs-rb-anim [data-rb-in="0"],
  [data-fs-motion="on"] .fs-rb-anim [data-rb-in="0"] .fs-rb-bar i::after,
  [data-fs-motion="on"] .fs-rb-anim [data-rb-in="0"] .fs-rb-map-pin{animation-play-state:paused}

  /* rbBars — the rating bars draw out (1.4s) as the summary comes in */
  [data-fs-motion="on"] .fs-rb-anim [data-rb-in] .fs-rb-bar i::after{animation:var(--fs-anim-rbBars, fs-rb-draw calc(1.4s * var(--fs-anim-speed, 1)) cubic-bezier(.3,.7,.2,1) backwards)}
  /* rbPins — the map's pins drop in (pindrop .8s) */
  [data-fs-motion="on"] .fs-rb-anim [data-rb-in] .fs-rb-map-pin{animation:var(--fs-anim-rbPins, fs-rb-pindrop calc(.8s * var(--fs-anim-speed, 1)) cubic-bezier(.2,.9,.3,1.3) backwards)}

  /* rbMarquee — the trust strip runs its 30s loop, pauses under the
     pointer and with its own pause button (WCAG 2.2.2) */
  [data-fs-motion="on"] .fs-rb-marq-track{animation:var(--fs-anim-rbMarquee, fs-rb-marq calc(30s * var(--fs-anim-speed, 1)) linear infinite)}
  [data-fs-motion="on"] .fs-rb-marq:hover .fs-rb-marq-track,[data-fs-motion="on"] .fs-rb-marq[data-rb-paused] .fs-rb-marq-track{animation-play-state:paused}

  /* rbSteam — steam rises off the hero van (2.4s loop, staggered) */
  [data-fs-motion="on"] .fs-rb-steam{animation:var(--fs-anim-rbSteam, fs-rb-steam calc(2.4s * var(--fs-anim-speed, 1)) ease-out infinite);animation-delay:calc(var(--dl, 0s) * var(--fs-anim-speed, 1))}
  /* rbFloat — the hero van floats (6s), its badge after .6s, the
     carousel's sandwich (5s) */
  [data-fs-motion="on"] .fs-rb-float{animation:var(--fs-anim-rbFloat, fs-rb-floaty calc(6s * var(--fs-anim-speed, 1)) ease-in-out infinite)}
  [data-fs-motion="on"] .fs-rb-hero-badge{animation:var(--fs-anim-rbFloat, fs-rb-floaty calc(6s * var(--fs-anim-speed, 1)) ease-in-out calc(.6s * var(--fs-anim-speed, 1)) infinite)}
  [data-fs-motion="on"] .fs-rb-car-slide.is-on .fs-rb-car-pic .fs-rb-sw-pic{animation:var(--fs-anim-rbFloat, fs-rb-floaty calc(5s * var(--fs-anim-speed, 1)) ease-in-out infinite)}
  /* rbBounce — the band's "Order ahead" button bounces (2.4s) */
  [data-fs-motion="on"] .fs-rb .fs-rb-bounce{animation:var(--fs-anim-rbBounce, fs-rb-bounce calc(2.4s * var(--fs-anim-speed, 1)) ease-in-out infinite)}
  /* rbPulse — the open-now dot blinks (1.4s) while the hatch is open */
  [data-fs-motion="on"] .fs-rb-pk:not(.is-closed):not(.is-week) .fs-rb-open-pill i{animation:var(--fs-anim-rbPulse, fs-rb-blink calc(1.4s * var(--fs-anim-speed, 1)) infinite)}
  /* rbWobble — the buttons we most want pressed wobble on the griddle
     while hovered (1.05s), still while pressed */
  [data-fs-motion="on"] .fs-rb .fs-rb-btn-primary:hover{animation:var(--fs-anim-rbWobble, fs-rb-wobble calc(1.05s * var(--fs-anim-speed, 1)) ease-in-out infinite)}
  [data-fs-motion="on"] .fs-rb .fs-rb-btn-primary:active{animation:none}

  /* rbLift — cards rise 6px and tilt -.5deg (icons turn -10deg and grow),
     buttons rise 2px and press to .97, arrows step 4px, chips 1px, days
     5px, the hatch's days 2px, the dish and gallery drawings tilt, the
     stamp card straightens, the footer links slide 4px */
  [data-fs-motion="on"] .fs-rb-lift:hover{transform:var(--fs-anim-rbLift, translateY(calc(-6px * var(--fs-motion-dist, 1))) rotate(calc(-.5deg * var(--fs-motion-dist, 1))));box-shadow:var(--fs-rb-shadow-lift)}
  [data-fs-motion="on"] .fs-rb-lift:hover .fs-rb-icon-badge{transform:var(--fs-anim-rbLift, rotate(calc(-10deg * var(--fs-motion-dist, 1))) scale(calc(1 + .1 * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] .fs-rb .fs-rb-icon-badge{transition:transform calc(.35s * var(--fs-anim-speed, 1))}
  [data-fs-motion="on"] .fs-rb .fs-rb-btn:hover{transform:var(--fs-anim-rbLift, translateY(calc(-2px * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] .fs-rb .fs-rb-btn:active{transform:var(--fs-anim-rbLift, translateY(calc(1px * var(--fs-motion-dist, 1))) scale(calc(1 - .03 * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] .fs-rb .fs-rb-btn:hover .fs-rb-go{transform:var(--fs-anim-rbLift, translateX(calc(4px * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] .fs-rb .fs-rb-chip:not(:disabled):hover{transform:var(--fs-anim-rbLift, translateY(calc(-1px * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] .fs-rb-day:hover{transform:var(--fs-anim-rbLift, translateY(calc(-5px * var(--fs-motion-dist, 1))));box-shadow:var(--fs-rb-shadow-lift)}
  [data-fs-motion="on"] .fs-rb-ih-day:hover .fs-rb-ih-face{transform:var(--fs-anim-rbLift, translateY(calc(-2px * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] .fs-rb-ih-face{transition:transform calc(.2s * var(--fs-anim-speed, 1)),border-color .2s,background-color .2s}
  [data-fs-motion="on"] .fs-rb-tile:hover .fs-rb-sw-pic{transform:var(--fs-anim-rbLift, scale(calc(1 + .1 * var(--fs-motion-dist, 1))) rotate(calc(-4deg * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] .fs-rb-stampcard{transition:transform calc(.4s * var(--fs-anim-speed, 1))}
  [data-fs-motion="on"] .fs-rb-stampcard:hover{transform:var(--fs-anim-rbLift, rotate(0))}
  [data-fs-motion="on"] .fs-rb a.fs-rb-ft-a{transition:color .2s,transform calc(.2s * var(--fs-anim-speed, 1))}
  [data-fs-motion="on"] .fs-rb a.fs-rb-ft-a:hover{transform:var(--fs-anim-rbLift, translateX(calc(4px * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] .fs-rb-dish:hover .fs-rb-dish-pic .fs-rb-sw-pic{transform:var(--fs-anim-rbLift, translateY(calc(-6px * var(--fs-motion-dist, 1))) rotate(calc(-3deg * var(--fs-motion-dist, 1))) scale(calc(1 + .04 * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] .fs-rb .fs-rb-add:not(:disabled):hover{transform:var(--fs-anim-rbLift, translateY(calc(-2px * var(--fs-motion-dist, 1))));box-shadow:0 8px 16px -8px var(--fs-rb-btn-bg)}
  [data-fs-motion="on"] .fs-rb .fs-rb-add:not(:disabled):active{transform:var(--fs-anim-rbLift, scale(calc(1 - .05 * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] .fs-rb .fs-rb-mtab{transition:background-color .25s,border-color .25s,color .25s,transform calc(.25s * var(--fs-anim-speed, 1))}
  [data-fs-motion="on"] .fs-rb .fs-rb-mtab:not(:disabled):not(.is-on):hover{transform:var(--fs-anim-rbLift, translateY(calc(-2px * var(--fs-motion-dist, 1))))}
  /* the calendar's picked day grows a little (Task 5c review 8) */
  [data-fs-motion="on"] .fs-rb .fs-rb-cday{transition:background-color .2s,border-color .2s,color .2s,transform .2s}
  [data-fs-motion="on"] .fs-rb .fs-rb-cday.is-sel{transform:var(--fs-anim-rbLift, scale(calc(1 + .08 * var(--fs-motion-dist, 1))))}

  /* rbStamp — a stamp presses down with an overshoot (.35s) */
  [data-fs-motion="on"] .fs-rb-stamp .fs-rb-ic{transition:var(--fs-anim-rbStamp, opacity calc(.35s * var(--fs-anim-speed, 1)) cubic-bezier(.2,.9,.3,1.4),transform calc(.35s * var(--fs-anim-speed, 1)) cubic-bezier(.2,.9,.3,1.4))}
  /* rbOpen — an answer opens without a jump (.4s), its plus turns (.35s) */
  [data-fs-motion="on"] .fs-rb-acc-a{transition:var(--fs-anim-rbOpen, grid-template-rows calc(.4s * var(--fs-anim-speed, 1)) ease)}
  [data-fs-motion="on"] .fs-rb-acc-q .fs-rb-ic{transition:var(--fs-anim-rbOpen, transform calc(.35s * var(--fs-anim-speed, 1)))}

  /* rbSlide — a carousel slide glides in 40px (.6s), a menu tab's dishes
     slide in 18px (.5s), the gallery captions rise (.4s) */
  [data-fs-motion="on"] .fs-rb-car-slide{transition:var(--fs-anim-rbSlide, opacity calc(.6s * var(--fs-anim-speed, 1)) cubic-bezier(.2,.8,.2,1),transform calc(.6s * var(--fs-anim-speed, 1)) cubic-bezier(.2,.8,.2,1),visibility calc(.6s * var(--fs-anim-speed, 1)))}
  [data-fs-motion="on"] .fs-rb-car-slide:not(.is-on){transform:var(--fs-anim-rbSlide, translateX(calc(40px * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] .fs-rb-mpanel.is-on{animation:var(--fs-anim-rbSlide, fs-rb-fadeslide calc(.5s * var(--fs-anim-speed, 1)) ease backwards)}
  [data-fs-motion="on"] .fs-rb-cap{transition:var(--fs-anim-rbSlide, transform calc(.4s * var(--fs-anim-speed, 1)))}

  /* rbVan — the hatch's little van drives to the chosen stop (.4s) and
     its pin grows (.3s) */
  [data-fs-motion="on"] .fs-rb-ih-van{transition:var(--fs-anim-rbVan, transform calc(.4s * var(--fs-anim-speed, 1)) cubic-bezier(.2,.8,.2,1))}
  [data-fs-motion="on"] .fs-rb-ih-pin::after{transition:var(--fs-anim-rbVan, transform calc(.3s * var(--fs-anim-speed, 1)),background-color .3s)}

  /* rbPop — a basket line and a form's thanks pop in (.35s / .5s) */
  [data-fs-motion="on"] .fs-rb-b-list li:not(.is-empty){animation:var(--fs-anim-rbPop, fs-rb-pop calc(.35s * var(--fs-anim-speed, 1)) backwards)}
  [data-fs-motion="on"] .fs-rb-form-ok.is-show{animation:var(--fs-anim-rbPop, fs-rb-pop calc(.5s * var(--fs-anim-speed, 1)) cubic-bezier(.2,.9,.3,1.3) backwards)}

  /* rbRipple — the press ripple's spread (.6s; the runtime adds it) */
  [data-fs-motion="on"] .fs-rb-ripple{animation:var(--fs-anim-rbRipple, fs-rb-rip calc(.6s * var(--fs-anim-speed, 1)) ease-out backwards)}

  /* SUBTLE, where the source is stricter: a loop plays once
     (html[data-motion=subtle] *{animation-iteration-count:1}), the
     marquee crawls at 160s and keeps going. */
  [data-fs-motion="on"][data-fs-motion-level="subtle"] :is(.fs-rb-steam,.fs-rb-float,.fs-rb-hero-badge,.fs-rb-sw-pic,.fs-rb-bounce,.fs-rb-open-pill i,.fs-rb-btn-primary){animation-iteration-count:1 !important}
  [data-fs-motion="on"][data-fs-motion-level="subtle"] .fs-rb-marq-track{animation-duration:160s}
}

/* ── platform motion stands down on Rolling Bap blocks ────────────
   The Rolling Bap's own motion IS the motion on its blocks (port Task 9),
   so the platform baseline (motion-base.ts) stands down through its own
   off-vars: no section slide, no image fade, no press scale, and no
   platform card lift on "-card" articles (Tidewell P58 — designed out
   from day one). */
[data-fs-blocktype^="favRb"]{--fs-anim-fs-sectionin-name:none}
.fs-rb{--fs-anim-fs-imgin-name:none;--fs-anim-fs-press:none;--fs-anim-fs-lift-t:none;--fs-anim-fs-lift-prop:none}


/* ── registered custom properties (the accent follows the sky) ── */
@property --fs-emf-hue{syntax:'<number>';inherits:true;initial-value:215}
@property --fs-emf-angle{syntax:'<angle>';inherits:false;initial-value:0deg}
@media screen and (prefers-reduced-motion:no-preference){
  [data-fs-theme='emberfall'][data-fs-motion='on']{transition:var(--fs-anim-emfHue,--fs-emf-hue calc(1.4s * var(--fs-anim-speed,1)) ease)}
}

/* ── family root ──────────────────────────────────────────────── */
.fs-emf{
  container-type:inline-size;container-name:fs-emf;
  position:relative;
  color:rgb(var(--c-ink-950));
  font-family:var(--font-sans,'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif);
  font-size:1.02rem;line-height:1.7;
  -webkit-font-smoothing:antialiased;
  --fs-emf-accent:hsl(var(--fs-emf-hue) 100% 68%);
  --fs-emf-glow:hsl(var(--fs-emf-hue) 100% 62% / .55);
  --fs-emf-title:rgb(var(--c-ink-950));
  --fs-emf-line:rgb(var(--c-ink-950) / .09);
  /* Light mode is derived (EM1): the night-sky blues are too pale on a
     near-white ground, so the eyebrow and the glowing clause use darker
     stops (>= 4.5:1) and no glow. The dark set below is the source's. */
  --fs-emf-ink-accent:hsl(var(--fs-emf-hue) 90% 34%);
  --fs-emf-em-1:hsl(var(--fs-emf-hue) 85% 34%);
  --fs-emf-em-2:hsl(calc(var(--fs-emf-hue) + 70) 70% 34%);
  --fs-emf-em-glow:transparent;
  --fs-emf-eyebrow-glow:transparent;
  /* block tokens (port Task 5), light set; the dark set below is the source's */
  --fs-emf-tile:rgb(var(--c-paper-soft) / .7);
  --fs-emf-text-glow:transparent;
  --fs-emf-title-shadow:none;
  --fs-emf-quote-shadow:none;
  --fs-emf-chip:rgb(var(--c-ink-950));
  --fs-emf-hint:rgb(var(--c-ink-400));
  --fs-emf-cue:rgb(var(--c-ink-950) / .14);
  --fs-emf-tone:36%;
  --fs-emf-tone-hi:24%;
  --fs-emf-deep:rgb(var(--c-ink-950) / .3);
  --fs-emf-ghost:rgb(var(--c-ink-950) / .04);
  --fs-emf-ghost-line:rgb(var(--c-ink-950) / .16);
  --fs-emf-menu:rgb(var(--c-ink-950) / .8);
  --fs-emf-tab-bg:rgb(var(--c-ink-950) / .03);
  --fs-emf-dot:rgb(var(--c-paper));
  --fs-emf-dot-line:rgb(var(--c-ink-950) / .35);
  --fs-emf-sum-shadow:none;
  --fs-emf-tone-p:34%;
  --fs-emf-step-bg:rgb(var(--c-ink-950) / .05);
  --fs-emf-field-line:rgb(var(--c-ink-950) / .14);
  --fs-emf-ph:rgb(var(--c-ink-400));
  /* fixed source literals, named once (never a colour declaration) */
  --fs-emf-white:#ffffff;
  --fs-emf-btn-fill:#0b0b17;
  --fs-emf-lead:#C9C6DA;
  --fs-emf-panel:rgb(var(--c-paper-soft));
  --fs-emf-panel-shadow:0 30px 70px -35px rgb(var(--c-ink-950) / .35);
  --fs-emf-rgb-1:#ff2d55;
  --fs-emf-rgb-2:#ffb02e;
  --fs-emf-rgb-3:#2dff8f;
  --fs-emf-rgb-4:#2d8cff;
  --fs-emf-rgb-5:#b02dff;
}
/* The source is dark: its white titles, grey lead and glass are the dark
   set. The site wrapper's own light marker beats a .dark on <html> that
   came from the visitor's OS (Brimwell's / Tidewell's rule). */
.dark .fs-emf:not(:where(.fs-preview-light *)){
  --fs-emf-title:#ffffff;
  --fs-emf-line:rgba(255,255,255,.09);
  --fs-emf-ink-accent:var(--fs-emf-accent);
  --fs-emf-em-1:hsl(var(--fs-emf-hue) 100% 72%);
  --fs-emf-em-2:hsl(calc(var(--fs-emf-hue) + 70) 100% 72%);
  --fs-emf-em-glow:hsl(var(--fs-emf-hue) 100% 60% / .4);
  --fs-emf-eyebrow-glow:var(--fs-emf-glow);
  --fs-emf-panel:linear-gradient(180deg,rgba(18,18,36,.6),rgba(7,7,16,.58));
  --fs-emf-panel-shadow:0 30px 70px -35px rgba(0,0,0,.9);
  --fs-emf-tile:rgba(10,10,22,.5);
  --fs-emf-text-glow:var(--fs-emf-glow);
  --fs-emf-title-shadow:0 0 22px hsl(var(--fs-emf-hue) 100% 72% / .5),0 0 64px hsl(var(--fs-emf-hue) 100% 60% / .32),0 0 140px hsl(var(--fs-emf-hue) 100% 55% / .22);
  --fs-emf-quote-shadow:0 0 30px hsl(var(--fs-emf-hue) 100% 60% / .35);
  --fs-emf-chip:#D5D2E4;
  --fs-emf-hint:rgba(255,255,255,.55);
  --fs-emf-cue:rgba(255,255,255,.12);
  --fs-emf-tone:72%;
  --fs-emf-tone-hi:85%;
  --fs-emf-deep:#000;
  --fs-emf-ghost:rgba(255,255,255,.04);
  --fs-emf-ghost-line:rgba(255,255,255,.16);
  --fs-emf-menu:#CFCBE0;
  --fs-emf-tab-bg:rgba(255,255,255,.03);
  --fs-emf-dot:var(--fs-emf-btn-fill);
  --fs-emf-dot-line:rgba(255,255,255,.4);
  --fs-emf-sum-shadow:0 0 6px hsl(var(--fs-emf-hue) 100% 78% / .9),0 0 20px hsl(var(--fs-emf-hue) 100% 60% / .6);
  --fs-emf-tone-p:75%;
  --fs-emf-step-bg:rgba(255,255,255,.05);
  --fs-emf-field-line:rgba(255,255,255,.14);
  --fs-emf-ph:#77748C;
}
.fs-preview-light .fs-emf{
  --fs-emf-title:rgb(var(--c-ink-950));
  --fs-emf-line:rgb(var(--c-ink-950) / .09);
  --fs-emf-ink-accent:hsl(var(--fs-emf-hue) 90% 34%);
  --fs-emf-em-1:hsl(var(--fs-emf-hue) 85% 34%);
  --fs-emf-em-2:hsl(calc(var(--fs-emf-hue) + 70) 70% 34%);
  --fs-emf-em-glow:transparent;
  --fs-emf-eyebrow-glow:transparent;
  --fs-emf-panel:rgb(var(--c-paper-soft));
  --fs-emf-panel-shadow:0 30px 70px -35px rgb(var(--c-ink-950) / .35);
  --fs-emf-tile:rgb(var(--c-paper-soft) / .7);
  --fs-emf-text-glow:transparent;
  --fs-emf-title-shadow:none;
  --fs-emf-quote-shadow:none;
  --fs-emf-chip:rgb(var(--c-ink-950));
  --fs-emf-hint:rgb(var(--c-ink-400));
  --fs-emf-cue:rgb(var(--c-ink-950) / .14);
  --fs-emf-tone:36%;
  --fs-emf-tone-hi:24%;
  --fs-emf-deep:rgb(var(--c-ink-950) / .3);
  --fs-emf-ghost:rgb(var(--c-ink-950) / .04);
  --fs-emf-ghost-line:rgb(var(--c-ink-950) / .16);
  --fs-emf-menu:rgb(var(--c-ink-950) / .8);
  --fs-emf-tab-bg:rgb(var(--c-ink-950) / .03);
  --fs-emf-dot:rgb(var(--c-paper));
  --fs-emf-dot-line:rgb(var(--c-ink-950) / .35);
  --fs-emf-sum-shadow:none;
  --fs-emf-tone-p:34%;
  --fs-emf-step-bg:rgb(var(--c-ink-950) / .05);
  --fs-emf-field-line:rgb(var(--c-ink-950) / .14);
  --fs-emf-ph:rgb(var(--c-ink-400));
}
.fs-emf *,.fs-emf *::before,.fs-emf *::after{box-sizing:border-box}
.fs-emf-wire{filter:grayscale(1) contrast(.5)}
.fs-emf :where(a){color:inherit}
.fs-emf img{max-width:100%;height:auto;display:block}
.fs-emf [hidden]{display:none !important}
.fs-emf ::selection{background:hsl(var(--fs-emf-hue) 100% 50% / .4);color:var(--fs-emf-white)}

/* ── base: .wrap, type, .sr, .eyebrow, .lead ──────────────────── */
/* .wrap{width:min(1200px,100% - 32px);margin-inline:auto} — the width
   follows a Site Settings layout first (--fs-layout-max), then the
   theme's shell. The 130px section padding (90px at 600) lives here
   because the root is the size container and cannot query itself. */
.fs-emf-wrap{
  position:relative;
  width:min(var(--fs-layout-max,var(--fs-shell-max,1200px)),100% - 32px);
  margin-inline:auto;padding-block:130px;
}
@container fs-emf (max-width:600px){.fs-emf-wrap{padding-block:90px}}
.fs-emf h1,.fs-emf h2,.fs-emf h3{
  font-family:var(--font-display,'Cinzel','Trajan Pro',Georgia,serif);
  font-weight:500;line-height:1.1;margin:0 0 .5em;color:var(--fs-emf-title);
}
.fs-emf h2{font-size:clamp(2rem,4.6vw,3.5rem);line-height:1.08;letter-spacing:.01em}
.fs-emf p{margin:0 0 1em}
.fs-emf-sr{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fs-emf :focus-visible{outline:2px solid var(--fs-emf-accent);outline-offset:3px;border-radius:6px}
.fs-emf p.fs-emf-eyebrow{
  font-family:var(--font-sans,'Manrope',system-ui,sans-serif);
  font-weight:700;font-size:.72rem;line-height:normal;letter-spacing:.34em;text-transform:uppercase;
  color:var(--fs-emf-ink-accent);text-shadow:0 0 14px var(--fs-emf-eyebrow-glow);margin-bottom:1.2em;
}
.fs-emf-eyebrow i{font-style:normal;opacity:.45;margin:0 .5em;color:var(--fs-emf-title)}
.fs-emf-lead{max-width:40em;font-size:1.12rem;color:rgb(var(--c-ink-400))}
.dark .fs-emf-lead:not(:where(.fs-preview-light *)){color:var(--fs-emf-lead)}

/* ── headings: the glowing clause (h2 em) ─────────────────────── */
.fs-emf-h{font-weight:500}
.fs-emf-h em{
  font-style:normal;
  background:linear-gradient(90deg,var(--fs-emf-em-1),var(--fs-emf-em-2));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 14px var(--fs-emf-em-glow));
}

/* ── glass panel (.solid) ─────────────────────────────────────── */
.fs-emf-solid{
  background:var(--fs-emf-panel);
  border:1px solid var(--fs-emf-line);border-radius:24px;
  -webkit-backdrop-filter:blur(16px) saturate(130%);backdrop-filter:blur(16px) saturate(130%);
  box-shadow:var(--fs-emf-panel-shadow);
}

/* ── buttons (.btn, .btn-glow, .btn-ghost, .btn-sm) ───────────── */
.fs-emf-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  padding:1.05em 2em;border-radius:999px;cursor:pointer;
  font:700 .76rem var(--font-sans,'Manrope',system-ui,sans-serif);letter-spacing:.22em;text-transform:uppercase;text-decoration:none;
  color:var(--fs-emf-title);
  border:1px solid var(--fs-emf-ghost-line);background:var(--fs-emf-ghost);
}
.fs-emf-btn:hover{
  border-color:hsl(var(--fs-emf-hue) 100% 72% / .7);
  box-shadow:0 0 22px hsl(var(--fs-emf-hue) 100% 60% / .45),inset 0 0 16px hsl(var(--fs-emf-hue) 100% 70% / .14);
}
.fs-emf-btn-glow{
  border:1.5px solid transparent;
  background:
    linear-gradient(var(--fs-emf-btn-fill),var(--fs-emf-btn-fill)) padding-box,
    conic-gradient(from var(--fs-emf-angle),var(--fs-emf-rgb-1),var(--fs-emf-rgb-2),var(--fs-emf-rgb-3),var(--fs-emf-rgb-4),var(--fs-emf-rgb-5),var(--fs-emf-rgb-1)) border-box;
  color:var(--fs-emf-white);
  box-shadow:0 0 20px rgb(var(--c-ink-950) / .06);
}
.fs-emf-btn-glow:hover{
  border-color:transparent;
  box-shadow:0 0 26px hsl(var(--fs-emf-hue) 100% 60% / .6),0 0 70px hsl(var(--fs-emf-hue) 100% 55% / .28);
}
.fs-emf-btn-sm{padding:.8em 1.5em;font-size:.7rem}

/* ── the sky layer (Task 4; port log S1–S11) ─────────────────────
   The scene is a fixed full-page layer the lazy emberfall-sky chunk
   portals into the theme scope as its first child, behind the page
   (z -1 inside the scope's own stacking context). It cannot live inside a
   block: .fs-emf is a size container, and containment would trap a fixed
   child. The sky block itself stays zero height. The source's body
   gradient (--bg ground) is painted on the scene, so Off / light /
   editor, which never mount it, are untouched. */
[data-fs-theme='emberfall']{isolation:isolate;--fs-emf-fh:clamp(150px,30svh,340px)}
/* the light palette draws no forest, so it keeps no room for one (the hero's and the sign-up's bottom padding follow --fs-emf-fh) */
[data-fs-theme='emberfall']:not(.dark){--fs-emf-fh:0px}
.fs-emf-skyhost{display:contents}
/* with the scene up, the page's own ground steps aside so the sky shows
   through (the source's body is transparent over a fixed scene) */
[data-fs-theme='emberfall'][data-fs-emf-scene] [data-fs-layout-surface]{background:transparent}
.fs-emf-sky{container-type:normal}
.fs-emf-scene,.fs-emf-cardscene{
  --fs-emf-ground-1:#15153a;--fs-emf-ground-2:#08081c;--fs-emf-ground-3:#030308;
  --fs-emf-vig-edge:rgba(0,0,0,.7);
  pointer-events:none;
  background:radial-gradient(ellipse 130% 75% at 50% 115%,var(--fs-emf-ground-1) 0%,var(--fs-emf-ground-2) 42%,var(--fs-emf-ground-3) 78%),var(--fs-emf-ground-3);
}
.fs-emf-scene{position:fixed;inset:0;z-index:-1;container-type:size;container-name:fs-emfscene}
.fs-emf-cv-sky{position:absolute;inset:0;width:100%;height:100%}
.fs-emf-cv-forest{position:absolute;left:0;bottom:0;width:100%}
.fs-emf-vig{position:absolute;inset:0;background:radial-gradient(ellipse 90% 80% at 50% 42%,transparent 55%,var(--fs-emf-vig-edge) 100%)}

/* searchlights (S7): four cones, still unless the show is at full motion */
.fs-emf-beams i{
  position:absolute;bottom:6vh;left:var(--x);width:26vw;min-width:220px;height:120vh;
  transform-origin:50% 100%;
  background:linear-gradient(to top,hsl(var(--c) var(--sat,100%) 70% / .55),hsl(var(--c) var(--sat,100%) 70% / 0) 85%);
  clip-path:polygon(48% 100%,52% 100%,100% 0,0 0);
  mix-blend-mode:screen;opacity:.12;filter:blur(10px);
}
.fs-emf-beams i:nth-child(1){--x:10%;--c:350;--d:13s;--dl:-4s}
.fs-emf-beams i:nth-child(2){--x:34%;--c:140;--d:17s;--dl:-9s}
.fs-emf-beams i:nth-child(3){--x:62%;--c:215;--d:15s;--dl:-2s}
.fs-emf-beams i:nth-child(4){--x:88%;--c:220;--sat:25%;--d:19s;--dl:-12s}
@container fs-emfscene (max-width:600px){.fs-emf-beams i{opacity:.09}}

/* film grain (S9) */
.fs-emf-grain{
  position:fixed;inset:-50%;z-index:40;pointer-events:none;opacity:.07;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}

/* cursor glow (S11): follows the pointer, takes the accent hue */
.fs-emf-glow{
  position:fixed;left:0;top:0;z-index:-1;pointer-events:none;
  width:440px;height:440px;margin:-220px 0 0 -220px;border-radius:50%;
  background:radial-gradient(circle,hsl(var(--fs-emf-hue) 100% 62% / .16),transparent 65%);
  mix-blend-mode:screen;opacity:0;
  transform:translate3d(var(--cx,-999px),var(--cy,-999px),0);
}
.fs-emf-glow.is-on{opacity:1}
@media (hover:none){.fs-emf-glow{display:none}}

/* letterbox intro (S10): rendered only at full motion; the resting style is
   "slid away", the animation (backwards fill) starts covered, waits 700 ms,
   then slides off over 1.8 s. */
.fs-emf-lbx{--fs-emf-black:#000}
.fs-emf-lbx::before,.fs-emf-lbx::after{
  content:"";position:fixed;left:0;right:0;height:13vh;z-index:60;background:var(--fs-emf-black);pointer-events:none;
}
.fs-emf-lbx::before{top:0;transform:translateY(-100%)}
.fs-emf-lbx::after{bottom:0;transform:translateY(100%)}

/* clicking the sky should not highlight text (G7): live modes only, so the
   editor canvas and Motion Off keep normal selection. */
/* the source's body is unselectable so a click on the sky is not a text selection;
   only Emberfall's own blocks and its header band are (a block an owner adds from
   another family, and the platform footer, stay selectable) */
[data-fs-theme='emberfall'][data-fs-emf-sky] :is(.fs-emf,.fs-hdr-band){-webkit-user-select:none;user-select:none}
[data-fs-theme='emberfall'][data-fs-emf-sky] :is(.fs-emf,.fs-hdr-band) :is(.fs-emf-solid,.fs-emf-solid-text,input,textarea,select){-webkit-user-select:text;user-select:text}

/* motion: only at the platform's Motion On, only without an OS reduce
   request; distances/durations follow the dial (--fs-anim-speed); backwards
   fill only (the resting rules above hold the final state). */
@media screen and (prefers-reduced-motion:no-preference){
  [data-fs-motion='on'] .fs-emf-scene{animation:var(--fs-anim-emfSkyIn,fs-emf-sky-in calc(1s * var(--fs-anim-speed,1)) ease backwards)}
  [data-fs-motion='on'] .fs-emf-scene.fs-emf-sky-full .fs-emf-beams i{animation:var(--fs-anim-emfBeams,fs-emf-sweep calc(var(--d) * var(--fs-anim-speed,1)) ease-in-out calc(var(--dl) * var(--fs-anim-speed,1)) infinite alternate)}
  [data-fs-motion='on'] .fs-emf-grain.fs-emf-sky-full{animation:var(--fs-anim-emfGrain,fs-emf-grain calc(1s * var(--fs-anim-speed,1)) steps(6) infinite)}
  [data-fs-motion='on'] .fs-emf-glow{transition:opacity calc(.5s * var(--fs-anim-speed,1))}
  [data-fs-motion='on'] .fs-emf-lbx::before{animation:var(--fs-anim-emfLetterbox,fs-emf-lbx-top calc(1.8s * var(--fs-anim-speed,1)) cubic-bezier(.7,0,.2,1) calc(.7s * var(--fs-anim-speed,1)) backwards)}
  [data-fs-motion='on'] .fs-emf-lbx::after{animation:var(--fs-anim-emfLetterbox,fs-emf-lbx-bottom calc(1.8s * var(--fs-anim-speed,1)) cubic-bezier(.7,0,.2,1) calc(.7s * var(--fs-anim-speed,1)) backwards)}
}
@keyframes fs-emf-sky-in{from{opacity:0}}
@keyframes fs-emf-sweep{from{transform:translateX(-50%) rotate(-30deg)}to{transform:translateX(-50%) rotate(28deg)}}
@keyframes fs-emf-grain{
  0%{transform:translate(0,0)}20%{transform:translate(-4%,3%)}40%{transform:translate(3%,-2%)}
  60%{transform:translate(-2%,-4%)}80%{transform:translate(4%,2%)}100%{transform:translate(0,0)}
}
@keyframes fs-emf-lbx-top{from{transform:none}}
@keyframes fs-emf-lbx-bottom{from{transform:none}}

/* ── the Night sky card (editor canvas only; EM8) ─────────────── */
.fs-emf-sky .fs-emf-wrap{padding-block:48px}
.fs-emf-skycard{
  position:relative;overflow:hidden;min-height:340px;
  background:var(--fs-emf-panel);border:1px dashed var(--fs-emf-line);border-radius:24px;padding:28px 32px;
}
.fs-emf-skycard>:not(.fs-emf-cardhost){position:relative;z-index:1}
.fs-emf-cardhost{position:absolute;inset:0;z-index:0;pointer-events:none}
.fs-emf-cardscene{position:absolute;inset:0}
.fs-emf-cardscene .fs-emf-cv-sky{object-fit:cover}
.fs-emf-cardscene .fs-emf-cv-forest{height:auto}
.fs-emf-skywords{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px;color:rgb(var(--c-ink-400));font-size:.9rem}

/* ── editor-only marks (never on a real page) ─────────────────── */
.fs-emf-sample-note{display:block;margin:0 auto 10px;width:max-content;max-width:100%;font:700 .75rem/1.4 var(--font-sans,'Manrope',system-ui,sans-serif);letter-spacing:.04em;text-transform:none;color:rgb(var(--c-ink-400));border:1px dashed rgb(var(--c-ink-400) / .7);border-radius:6px;padding:3px 8px;text-align:left}
.fs-emf-sample-note::before{content:attr(data-note)}
.fs-emf-sample{border-bottom:1px dashed rgb(var(--c-ink-400) / .8)}
.fs-emf-editor-row{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline;margin:10px auto 0;width:max-content;max-width:100%;font:600 .75rem/1.4 var(--font-sans,'Manrope',system-ui,sans-serif);letter-spacing:.02em;text-transform:none;color:rgb(var(--c-ink-400));border:1px dashed rgb(var(--c-ink-400) / .5);border-radius:6px;padding:3px 8px}
.fs-emf-editor-row b{font-weight:700}
.fs-emf .fs-emf-editor-wrap{padding-block:0}
.fs-emf-shows-grid+.fs-emf-sample-note{margin-top:16px}

/* ── section head (.section-head): eyebrow, h2 + glowing clause, intro ── */
.fs-emf .fs-emf-head{max-width:640px;margin-bottom:54px}
.fs-emf .fs-emf-head .fs-emf-head-lede{color:rgb(var(--c-ink-400))}

/* ── hero (port Task 5; source .hero) ─────────────────────────── */
.fs-emf-hero{
  min-height:100vh;min-height:100svh;
  display:grid;place-items:center;text-align:center;
  padding:110px 16px calc(var(--fs-emf-fh,clamp(150px,30svh,340px)) * .5 + 56px);
}
.fs-emf-hero .fs-emf-hero-inner{max-width:1000px}
.fs-emf-hero .fs-emf-title{
  font-family:var(--font-display,'Cinzel','Trajan Pro',Georgia,serif);font-weight:600;
  font-size:clamp(2.6rem,min(9.6vw,12.5vh),8.6rem);line-height:.98;letter-spacing:.035em;
  color:var(--fs-emf-title);margin:.1em 0 .35em;text-shadow:var(--fs-emf-title-shadow);
}
.fs-emf-word{display:inline-block;white-space:nowrap}
.fs-emf-ch{display:inline-block}
.fs-emf-hero .fs-emf-lead{margin:0 auto}
.fs-emf-hero .fs-emf-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin:32px 0 36px}
.fs-emf-hero .fs-emf-count-label{font:600 .68rem var(--font-sans,'Manrope',system-ui,sans-serif);letter-spacing:.3em;text-transform:uppercase;color:rgb(var(--c-ink-400));margin:0 0 12px}
.fs-emf-count-row{display:flex;justify-content:center;gap:12px}
.fs-emf-count-row>div{
  min-width:86px;padding:14px 10px 10px;border-radius:18px;
  background:var(--fs-emf-tile);border:1px solid var(--fs-emf-line);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
}
.fs-emf-tick{display:block;font:600 2.2rem/1 var(--font-display,'Cinzel','Trajan Pro',Georgia,serif);color:var(--fs-emf-title);text-shadow:0 0 16px var(--fs-emf-text-glow);font-variant-numeric:tabular-nums}
.fs-emf-count-row small{font:600 .6rem var(--font-sans,'Manrope',system-ui,sans-serif);letter-spacing:.24em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
.fs-emf-hero .fs-emf-tap{
  position:absolute;left:0;right:0;bottom:26px;margin:0;
  font:600 .66rem var(--font-sans,'Manrope',system-ui,sans-serif);letter-spacing:.3em;text-transform:uppercase;
  color:var(--fs-emf-hint);pointer-events:none;
}
.fs-emf-spark{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:8px;vertical-align:2px;background:var(--fs-emf-accent);box-shadow:0 0 10px var(--fs-emf-accent),0 0 20px var(--fs-emf-accent)}
.fs-emf-hero .fs-emf-cue{position:absolute;left:50%;bottom:64px;width:1px;height:70px;margin-left:-.5px;overflow:hidden;background:var(--fs-emf-cue);display:block}
.fs-emf-cue span{position:absolute;left:0;top:-40%;width:1px;height:40%;background:var(--fs-emf-accent);box-shadow:0 0 8px var(--fs-emf-accent)}
@container fs-emf (max-width:600px){
  .fs-emf-count-row{gap:8px}
  .fs-emf-count-row>div{min-width:0;flex:1;padding:12px 4px 8px}
  .fs-emf-tick{font-size:1.6rem}
  .fs-emf-hero .fs-emf-tap{bottom:84px;letter-spacing:.22em}
  .fs-emf-hero .fs-emf-cue{display:none}
}

/* ── stats (source .stats-band / .stats) ──────────────────────── */
.fs-emf-stats{padding:40px 0 20px}
.fs-emf-stats .fs-emf-stats-grid{
  display:grid;grid-template-columns:repeat(var(--fs-emf-n,4),1fr);
  padding:34px 20px;text-align:center;
}
.fs-emf-stat+.fs-emf-stat{border-left:1px solid var(--fs-emf-line)}
.fs-emf-stat:nth-child(4n+1){border-left:0}
.fs-emf-stat strong{display:block;font:600 clamp(1.9rem,4vw,3rem)/1.1 var(--font-display,'Cinzel','Trajan Pro',Georgia,serif);color:var(--fs-emf-title);text-shadow:0 0 18px var(--fs-emf-text-glow);font-variant-numeric:tabular-nums}
.fs-emf-stat span{font:600 .66rem var(--font-sans,'Manrope',system-ui,sans-serif);letter-spacing:.26em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
@container fs-emf (max-width:860px){
  .fs-emf-stats .fs-emf-stats-grid{grid-template-columns:repeat(2,1fr);row-gap:26px}
  .fs-emf-stat:nth-child(odd){border-left:0}
  .fs-emf-stat:nth-child(even){border-left:1px solid var(--fs-emf-line)}
}

/* ── shows (source .shows / .show / .preview) ─────────────────── */
.fs-emf-shows-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:22px}
.fs-emf-shows .fs-emf-shows-empty{color:rgb(var(--c-ink-400))}
.fs-emf-shows-grid .fs-emf-show{position:relative;overflow:hidden;padding:30px 30px 26px;display:flex;flex-direction:column}
.fs-emf-show::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.45;
  background:radial-gradient(circle at 50% -30%,hsl(var(--h) var(--s,100%) 60% / .45),transparent 62%);
}
.fs-emf-show:hover{
  border-color:hsl(var(--h) var(--s,100%) 70% / .5);
  box-shadow:0 0 50px -12px hsl(var(--h) var(--s,100%) 60% / .7),0 30px 60px -30px var(--fs-emf-deep);
}
.fs-emf-show:hover::before{opacity:1}
.fs-emf-show>*{position:relative}
.fs-emf-show .fs-emf-show-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}
.fs-emf-num{font:600 .9rem var(--font-display,'Cinzel','Trajan Pro',Georgia,serif);color:hsl(var(--h) var(--s,100%) var(--fs-emf-tone));text-shadow:0 0 10px hsl(var(--h) var(--s,100%) 60% / .8)}
.fs-emf-when{font:600 .66rem var(--font-sans,'Manrope',system-ui,sans-serif);letter-spacing:.2em;text-transform:uppercase;padding:.45em 1em;border-radius:999px;border:1px solid var(--fs-emf-line);color:var(--fs-emf-chip)}
.fs-emf .fs-emf-show-title{font:600 2rem var(--font-display,'Cinzel','Trajan Pro',Georgia,serif);color:var(--fs-emf-title);margin-bottom:.15em}
.fs-emf-show .fs-emf-artist{font:700 .68rem var(--font-sans,'Manrope',system-ui,sans-serif);letter-spacing:.22em;text-transform:uppercase;color:hsl(var(--h) var(--s,100%) var(--fs-emf-tone));margin-bottom:1.1em}
.fs-emf-show .fs-emf-show-desc{color:rgb(var(--c-ink-400));font-size:.97rem}
.fs-emf-show .fs-emf-preview{
  margin-top:auto;align-self:flex-start;padding:.7em 0 0;cursor:pointer;
  font:700 .7rem var(--font-sans,'Manrope',system-ui,sans-serif);letter-spacing:.2em;text-transform:uppercase;
  color:var(--fs-emf-title);background:none;border:0;border-radius:0;
}
.fs-emf-show span.fs-emf-preview{cursor:default}
.fs-emf-show .fs-emf-preview.is-off{visibility:hidden}
.fs-emf-preview-glyph{display:inline-block;color:hsl(var(--h) var(--s,100%) var(--fs-emf-tone))}
.fs-emf-show button.fs-emf-preview:hover{
  color:hsl(var(--h) var(--s,100%) var(--fs-emf-tone-hi));
  text-shadow:0 0 8px hsl(var(--h) var(--s,100%) 70%),0 0 22px hsl(var(--h) var(--s,100%) 60% / .7);
}

/* ── quote (source .quote-section / .quote) ───────────────────── */
.fs-emf-quote{padding:120px 16px}
.fs-emf .fs-emf-quote-fig{margin:0 auto;max-width:900px;text-align:center}
.fs-emf .fs-emf-quote-text{margin:0 0 22px;font:400 clamp(1.6rem,3.8vw,2.9rem)/1.3 var(--font-display,'Cinzel','Trajan Pro',Georgia,serif);color:var(--fs-emf-title);text-shadow:var(--fs-emf-quote-shadow)}
.fs-emf .fs-emf-quote-fig figcaption{font:600 .7rem var(--font-sans,'Manrope',system-ui,sans-serif);letter-spacing:.3em;text-transform:uppercase;color:rgb(var(--c-ink-400))}

/* motion on these blocks (hover lift, glyph turn, the RGB card's hue spin):
   Motion On only, no OS reduce request; the intro, count-up, reveal and
   loops of the hero are in the motion block at the foot of this sheet. */
@media screen and (prefers-reduced-motion:no-preference){
  [data-fs-motion='on'] .fs-emf-show{transition:var(--fs-anim-emfCardLift,opacity calc(1.1s * var(--fs-anim-speed,1)) ease,transform calc(1.1s * var(--fs-anim-speed,1)) cubic-bezier(.2,.7,.1,1),filter calc(1.1s * var(--fs-anim-speed,1)) ease)}
  [data-fs-motion='on'] .fs-emf-show::before{transition:opacity calc(.5s * var(--fs-anim-speed,1))}
  [data-fs-motion='on'] .fs-emf-show:hover{transform:translateY(calc(-6px * var(--fs-motion-dist,1)))}
  [data-fs-motion='on'] .fs-emf-show-rgb::before{animation:var(--fs-anim-emfHueSpin,fs-emf-hue-spin calc(6s * var(--fs-anim-speed,1)) linear infinite)}
  [data-fs-motion='on'] .fs-emf-preview{transition:text-shadow calc(.3s * var(--fs-anim-speed,1)),color calc(.3s * var(--fs-anim-speed,1))}
  [data-fs-motion='on'] .fs-emf-preview-glyph{transition:transform calc(.5s * var(--fs-anim-speed,1))}
  [data-fs-motion='on'] button.fs-emf-preview:hover .fs-emf-preview-glyph{transform:rotate(calc(180deg * var(--fs-motion-dist,1))) scale(calc(1 + .3 * var(--fs-motion-dist,1)))}
}
@keyframes fs-emf-hue-spin{to{filter:hue-rotate(360deg)}}

/* ── section head, centred (source .section-head.center) ──────── */
.fs-emf .fs-emf-head-center{margin-inline:auto;text-align:center}

/* ── schedule (port Task 6; source .schedule-grid / .schedule / .tabs / .timeline) ── */
.fs-emf-schedule-grid,.fs-emf-faq-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:start}
.fs-emf-sched-panel{padding:26px}
.fs-emf-schedule .fs-emf-sched-empty,.fs-emf-schedule .fs-emf-night-cap{color:rgb(var(--c-ink-400))}
.fs-emf-tabs{display:grid;grid-template-columns:repeat(var(--fs-emf-n,3),1fr);gap:8px;margin-bottom:18px}
.fs-emf-tab{
  padding:12px 10px;cursor:pointer;border-radius:16px;text-align:center;
  font:600 1.2rem var(--font-display,'Cinzel','Trajan Pro',Georgia,serif);color:var(--fs-emf-menu);background:var(--fs-emf-tab-bg);border:1px solid var(--fs-emf-line);
}
div.fs-emf-tab{cursor:default}
.fs-emf-tab-sub{display:block;font:600 .58rem var(--font-sans,'Manrope',system-ui,sans-serif);letter-spacing:.2em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
button.fs-emf-tab:hover{color:var(--fs-emf-title);border-color:hsl(var(--fs-emf-hue) 100% 70% / .4);box-shadow:0 0 18px hsl(var(--fs-emf-hue) 100% 60% / .25)}
.fs-emf-tab[aria-selected="true"],.fs-emf-tab.is-on{color:var(--fs-emf-title);background:hsl(var(--fs-emf-hue) 100% 60% / .08);border-color:hsl(var(--fs-emf-hue) 100% 70% / .6);box-shadow:0 0 24px hsl(var(--fs-emf-hue) 100% 60% / .35),inset 0 0 18px hsl(var(--fs-emf-hue) 100% 60% / .12)}
.fs-emf-night-cap{margin:18px 0 0;font:600 .7rem var(--font-sans,'Manrope',system-ui,sans-serif);letter-spacing:.2em;text-transform:uppercase}
.fs-emf-timeline{list-style:none;margin:0;padding:6px 4px 0;position:relative}
.fs-emf-timeline::before{content:"";position:absolute;left:76px;top:18px;bottom:18px;width:1px;background:linear-gradient(var(--fs-emf-line),hsl(var(--fs-emf-hue) 100% 60% / .5),var(--fs-emf-line))}
.fs-emf-tl-item{display:grid;grid-template-columns:62px 1fr;gap:30px;padding:14px 0;position:relative}
.fs-emf-tl-item::before{content:"";position:absolute;left:72px;top:24px;width:9px;height:9px;border-radius:50%;background:var(--fs-emf-dot);border:1px solid var(--fs-emf-dot-line)}
.fs-emf-tl-item.fs-emf-hl::before{background:var(--fs-emf-accent);border-color:transparent;box-shadow:0 0 10px var(--fs-emf-accent),0 0 22px var(--fs-emf-accent)}
.fs-emf-tl-time{font:600 1.05rem var(--font-display,'Cinzel','Trajan Pro',Georgia,serif);color:var(--fs-emf-title);padding-top:2px}
.fs-emf-hl .fs-emf-tl-time{color:var(--fs-emf-ink-accent);text-shadow:0 0 12px var(--fs-emf-eyebrow-glow)}
.fs-emf .fs-emf-tl-title{font:700 1rem var(--font-sans,'Manrope',system-ui,sans-serif);color:var(--fs-emf-title);margin:0 0 .1em}
.fs-emf .fs-emf-tl-desc{margin:0;color:rgb(var(--c-ink-400));font-size:.92rem}

/* ── experience (source .features / .feature) ─────────────────── */
.fs-emf-features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.fs-emf-feature{padding:34px 30px}
.fs-emf-feat-icon{display:inline;vertical-align:baseline;width:50px;height:50px;margin-bottom:22px;fill:none;stroke:hsl(var(--h) 100% var(--fs-emf-tone));stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 6px hsl(var(--h) 100% 60% / .7))}
.fs-emf .fs-emf-feat-title{font:600 1.45rem var(--font-display,'Cinzel','Trajan Pro',Georgia,serif);color:var(--fs-emf-title)}
.fs-emf .fs-emf-feat-desc{margin:0;color:rgb(var(--c-ink-400));font-size:.95rem}
.fs-emf-feature:hover{border-color:hsl(var(--h) 100% 70% / .4);box-shadow:0 0 40px -12px hsl(var(--h) 100% 60% / .6)}
.fs-emf-feature:hover .fs-emf-feat-icon{filter:drop-shadow(0 0 8px hsl(var(--h) 100% 65%)) drop-shadow(0 0 18px hsl(var(--h) 100% 55%))}

/* ── FAQ (source .faq-grid / .faq details) ────────────────────── */
.fs-emf-faq-panel{padding:10px 32px}
.fs-emf-faq-item{border-bottom:1px solid var(--fs-emf-line)}
.fs-emf-faq-item:last-child{border-bottom:0}
.fs-emf-faq-q{
  list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;
  padding:22px 0;font:600 1.02rem var(--font-sans,'Manrope',system-ui,sans-serif);color:var(--fs-emf-title);
}
.fs-emf-faq-q::-webkit-details-marker{display:none}
.fs-emf-faq-q::after{content:"+";flex:none;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--fs-emf-line);font-weight:400}
.fs-emf-faq-q:hover{text-shadow:var(--fs-emf-sum-shadow)}
.fs-emf-faq-q:hover::after{border-color:var(--fs-emf-accent);box-shadow:0 0 14px var(--fs-emf-glow)}
.fs-emf-faq-item[open] .fs-emf-faq-q::after{transform:rotate(45deg);border-color:var(--fs-emf-accent);box-shadow:0 0 14px var(--fs-emf-glow)}
.fs-emf-faq-editing .fs-emf-faq-q{cursor:default}
.fs-emf .fs-emf-faq-a{color:rgb(var(--c-ink-400));padding-right:40px}

@container fs-emf (max-width:1000px){
  .fs-emf-schedule-grid,.fs-emf-faq-grid{grid-template-columns:1fr;gap:10px}
  .fs-emf-features-grid{grid-template-columns:repeat(2,1fr)}
}
@container fs-emf (max-width:600px){
  .fs-emf-features-grid{grid-template-columns:1fr}
  .fs-emf-timeline::before{left:60px}
  .fs-emf-tl-item{grid-template-columns:50px 1fr;gap:24px}
  .fs-emf-tl-item::before{left:56px}
  .fs-emf-tab{font-size:1rem;padding:10px 4px}
  .fs-emf-tab-sub{font-size:.5rem;letter-spacing:.1em}
  .fs-emf-faq-panel{padding:6px 20px}
}

/* motion on these blocks: Motion On only, no OS reduce request; distances
   x --fs-motion-dist, durations x --fs-anim-speed, backwards fill only. */
@media screen and (prefers-reduced-motion:no-preference){
  [data-fs-motion='on'] .fs-emf-tab{transition:var(--fs-anim-emfHoverGlow,border-color calc(.35s * var(--fs-anim-speed,1)),box-shadow calc(.35s * var(--fs-anim-speed,1)),color calc(.35s * var(--fs-anim-speed,1)),background calc(.35s * var(--fs-anim-speed,1)))}
  [data-fs-motion='on'] .fs-emf-tl-item{animation:var(--fs-anim-emfFadeUp,fs-emf-fade-up calc(.6s * var(--fs-anim-speed,1)) ease backwards)}
  [data-fs-motion='on'] .fs-emf-tl-item:nth-child(2){animation-delay:calc(.05s * var(--fs-anim-speed,1))}
  [data-fs-motion='on'] .fs-emf-tl-item:nth-child(3){animation-delay:calc(.1s * var(--fs-anim-speed,1))}
  [data-fs-motion='on'] .fs-emf-tl-item:nth-child(4){animation-delay:calc(.15s * var(--fs-anim-speed,1))}
  [data-fs-motion='on'] .fs-emf-tl-item:nth-child(5){animation-delay:calc(.2s * var(--fs-anim-speed,1))}
  [data-fs-motion='on'] .fs-emf-tl-item:nth-child(6){animation-delay:calc(.25s * var(--fs-anim-speed,1))}
  [data-fs-motion='on'] .fs-emf-feature{transition:var(--fs-anim-emfCardLift,opacity calc(1.1s * var(--fs-anim-speed,1)) ease,transform calc(1.1s * var(--fs-anim-speed,1)) cubic-bezier(.2,.7,.1,1),filter calc(1.1s * var(--fs-anim-speed,1)) ease)}
  [data-fs-motion='on'] .fs-emf-feature:hover{transform:translateY(calc(-6px * var(--fs-motion-dist,1)))}
  [data-fs-motion='on'] .fs-emf-feat-icon{transition:var(--fs-anim-emfHoverGlow,filter calc(.5s * var(--fs-anim-speed,1)),transform calc(.5s * var(--fs-anim-speed,1)))}
  [data-fs-motion='on'] .fs-emf-feature:hover .fs-emf-feat-icon{transform:scale(calc(1 + .08 * var(--fs-motion-dist,1)))}
  [data-fs-motion='on'] .fs-emf-faq-q{transition:var(--fs-anim-emfHoverGlow,text-shadow calc(.3s * var(--fs-anim-speed,1)),color calc(.3s * var(--fs-anim-speed,1)))}
  [data-fs-motion='on'] .fs-emf-faq-q::after{transition:var(--fs-anim-emfHoverGlow,transform calc(.4s * var(--fs-anim-speed,1)),box-shadow calc(.4s * var(--fs-anim-speed,1)),border-color calc(.4s * var(--fs-anim-speed,1)))}
  [data-fs-motion='on'] .fs-emf-faq-item[open] .fs-emf-faq-a{animation:var(--fs-anim-emfFadeUp,fs-emf-fade-up calc(.5s * var(--fs-anim-speed,1)) ease backwards)}
}
@keyframes fs-emf-fade-up{from{opacity:0;transform:translateY(calc(10px * var(--fs-motion-dist,1)))}}

/* ── tickets (port Task 7; source .tiers / .tier / .order / .stepper) ── */
.fs-emf-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:center}
.fs-emf-tier{position:relative;padding:42px 32px 34px;text-align:center}
.fs-emf-tier:hover{border-color:hsl(var(--h) 100% 70% / .45);box-shadow:0 0 46px -12px hsl(var(--h) 100% 60% / .6)}
.fs-emf-tier-feature{padding-block:56px 44px;border-color:hsl(var(--h) 100% 70% / .4);box-shadow:0 0 60px -20px hsl(var(--h) 100% 60% / .6)}
.fs-emf-tier.is-selected{border-color:var(--fs-emf-accent);box-shadow:0 0 0 1px var(--fs-emf-accent),0 0 60px -10px var(--fs-emf-glow)}
.fs-emf-ribbon{
  position:absolute;top:18px;left:50%;transform:translateX(-50%);padding:.4em 1.1em;border-radius:999px;
  font:700 .6rem var(--font-sans,'Manrope',system-ui,sans-serif);letter-spacing:.24em;text-transform:uppercase;white-space:nowrap;
  color:var(--fs-emf-title);background:hsl(var(--h) 100% 55% / .25);border:1px solid hsl(var(--h) 100% 70% / .6);box-shadow:0 0 16px hsl(var(--h) 100% 60% / .5);
}
.fs-emf .fs-emf-tier-name{font:600 1.5rem var(--font-display,'Cinzel','Trajan Pro',Georgia,serif);color:var(--fs-emf-title);margin-bottom:.3em}
.fs-emf .fs-emf-price{font:600 3.6rem/1 var(--font-display,'Cinzel','Trajan Pro',Georgia,serif);color:var(--fs-emf-title);margin:.2em 0 .15em;text-shadow:0 0 22px hsl(var(--h) 100% 60% / .6)}
.fs-emf-price span{font-size:.45em;vertical-align:.9em;margin-right:.1em;color:hsl(var(--h) 100% var(--fs-emf-tone-p))}
.fs-emf .fs-emf-sub{font:600 .68rem var(--font-sans,'Manrope',system-ui,sans-serif);letter-spacing:.22em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
.fs-emf .fs-emf-perks{list-style:none;padding:0;margin:24px 0 30px;display:grid;gap:10px;color:var(--fs-emf-menu);font-size:.95rem}
.fs-emf-perk::before{content:"\2726";margin-right:.6em;color:hsl(var(--h) 100% var(--fs-emf-tone));text-shadow:0 0 8px hsl(var(--h) 100% 60%)}
.fs-emf-tier .fs-emf-btn{width:100%}
.fs-emf-tier span.fs-emf-btn{cursor:default}
.fs-emf-tickets .fs-emf-tickets-empty{text-align:center;color:rgb(var(--c-ink-400))}
.fs-emf-order{margin-top:30px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px 18px 30px;border-radius:999px}
.fs-emf-order-info{display:flex;align-items:center;gap:22px}
.fs-emf .fs-emf-order-name{margin:0;font:600 1.2rem var(--font-display,'Cinzel','Trajan Pro',Georgia,serif);color:var(--fs-emf-title)}
.fs-emf-stepper{display:flex;align-items:center;gap:12px}
.fs-emf-step{
  width:36px;height:36px;padding:1px 6px;border-radius:50%;border:1px solid var(--fs-emf-line);background:var(--fs-emf-step-bg);
  color:var(--fs-emf-title);font-size:1.1rem;cursor:pointer;
}
span.fs-emf-step{display:grid;place-items:center;cursor:default}
button.fs-emf-step:hover{border-color:var(--fs-emf-accent);box-shadow:0 0 14px var(--fs-emf-glow)}
.fs-emf-qty{min-width:1.4em;text-align:center;font:600 1.2rem var(--font-display,'Cinzel','Trajan Pro',Georgia,serif)}
.fs-emf .fs-emf-order-total{margin:0;color:rgb(var(--c-ink-400));font-size:.9rem}
.fs-emf-order-total strong{margin-left:.4em;font:600 1.5rem var(--font-display,'Cinzel','Trajan Pro',Georgia,serif);color:var(--fs-emf-title);text-shadow:0 0 14px var(--fs-emf-text-glow)}
.fs-emf-order-email{flex:1 1 200px;min-width:0;max-width:300px;padding:.7em 1.2em;font-size:.95rem}
.fs-emf .fs-emf-order-done{margin:30px 0 0;text-align:center;font:500 1.3rem var(--font-display,'Cinzel','Trajan Pro',Georgia,serif);color:var(--fs-emf-ink-accent);text-shadow:0 0 16px var(--fs-emf-eyebrow-glow)}
.fs-emf .fs-emf-form-msg{margin:14px 0 0;text-align:center;font-size:.95rem;color:rgb(var(--c-ink-400))}
.fs-emf-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

/* ── sign-up (source .signup-section / .signup / .signup-form) ── */
.fs-emf-signup .fs-emf-wrap{padding-bottom:calc(var(--fs-emf-fh) + 60px)}
.fs-emf-signup-card{max-width:780px;margin:0 auto;padding:60px clamp(24px,6vw,70px);text-align:center}
.fs-emf .fs-emf-signup-h{font:500 clamp(2rem,4.6vw,3.2rem) var(--font-display,'Cinzel','Trajan Pro',Georgia,serif);color:var(--fs-emf-title);letter-spacing:normal}
.fs-emf .fs-emf-signup-body{color:rgb(var(--c-ink-400))}
.fs-emf-signup-form{display:flex;gap:12px;max-width:520px;margin:30px auto 0}
.fs-emf-input{
  flex:1;min-width:0;padding:1em 1.4em;border-radius:999px;font:400 1rem var(--font-sans,'Manrope',system-ui,sans-serif);
  color:var(--fs-emf-title);background:var(--fs-emf-step-bg);border:1px solid var(--fs-emf-field-line);
}
.fs-emf-input::placeholder{color:var(--fs-emf-ph)}
.fs-emf-input:focus{outline:none;border-color:var(--fs-emf-accent);box-shadow:0 0 20px var(--fs-emf-glow)}
.fs-emf .fs-emf-signup-ok{color:var(--fs-emf-ink-accent);text-shadow:0 0 14px var(--fs-emf-eyebrow-glow);font-weight:600;margin-top:24px}
.fs-emf-signup-form .fs-emf-btn{cursor:pointer}
div.fs-emf-signup-form .fs-emf-btn{cursor:default}

@container fs-emf (max-width:1000px){
  .fs-emf-tiers{grid-template-columns:1fr;max-width:460px;margin-inline:auto}
}
@container fs-emf (max-width:600px){
  .fs-emf-signup .fs-emf-wrap{padding-block:90px}
  .fs-emf-signup-form{flex-direction:column}
  .fs-emf-order{border-radius:26px;padding:20px}
  .fs-emf-order .fs-emf-btn{width:100%}
  .fs-emf-order-email{max-width:none;flex-basis:100%}
}
@media screen and (prefers-reduced-motion:no-preference){
  [data-fs-motion='on'] .fs-emf-tier{transition:var(--fs-anim-emfCardLift,opacity calc(1.1s * var(--fs-anim-speed,1)) ease,transform calc(1.1s * var(--fs-anim-speed,1)) cubic-bezier(.2,.7,.1,1),filter calc(1.1s * var(--fs-anim-speed,1)) ease)}
  [data-fs-motion='on'] .fs-emf-tier:hover{transform:translateY(calc(-6px * var(--fs-motion-dist,1)))}
  [data-fs-motion='on'] .fs-emf-order{animation:var(--fs-anim-emfFadeUp,fs-emf-fade-up calc(.5s * var(--fs-anim-speed,1)) ease backwards)}
  [data-fs-motion='on'] .fs-emf-step{transition:var(--fs-anim-emfHoverGlow,box-shadow calc(.3s * var(--fs-anim-speed,1)),border-color calc(.3s * var(--fs-anim-speed,1)))}
  [data-fs-motion='on'] .fs-emf-input{transition:var(--fs-anim-emfHoverGlow,border-color calc(.3s * var(--fs-anim-speed,1)),box-shadow calc(.3s * var(--fs-anim-speed,1)))}
}

/* ── footer (port Task 8; source .site-footer.solid / .footer-inner) ──
   The root is the glass panel squared off: no radius, a hairline on top
   only, 44px / 46px. The lockup, the five links (11.2px / 600, .2em caps)
   and the small print. At 600px the source keeps 100px under it for the
   dock. The glass is the box inside the block root (the root is the size
   container and cannot query itself). */
.fs-emf-footer{
  --fs-emf-foot-bg:rgb(var(--c-paper-soft) / .9);
  --fs-emf-foot-link:rgb(var(--c-ink-950) / .8);
  --fs-emf-foot-line:rgb(var(--c-ink-400));
  --fs-emf-foot-glow:none;
}
.dark .fs-emf-footer:not(:where(.fs-preview-light *)){
  --fs-emf-foot-bg:rgba(2,2,6,.82);
  --fs-emf-foot-link:#CFCBE0;
  --fs-emf-foot-line:#6F6C85;
  --fs-emf-foot-glow:0 0 6px hsl(var(--fs-emf-hue) 100% 78% / .95),0 0 18px hsl(var(--fs-emf-hue) 100% 62% / .75),0 0 40px hsl(var(--fs-emf-hue) 100% 55% / .45);
}
.fs-emf-foot-box.fs-emf-solid{position:relative;z-index:5;border-radius:0;border-width:1px 0 0;background:var(--fs-emf-foot-bg);padding:44px 0 46px}
.fs-emf-foot-box .fs-emf-foot-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:22px 40px;padding-block:0}
.fs-emf-foot-brand{
  display:inline-flex;align-items:center;gap:12px;text-decoration:none;
  font:600 1.15rem var(--font-display,'Cinzel','Trajan Pro',Georgia,serif);letter-spacing:.32em;text-transform:uppercase;color:var(--fs-emf-title);
}
.fs-emf-foot-mark{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.fs-emf-foot-mark circle{fill:currentColor;stroke:none}
.fs-emf-foot-nav{display:flex;flex-wrap:wrap;gap:26px}
.fs-emf-foot-a{
  position:relative;text-decoration:none;
  font:600 .7rem var(--font-sans,'Manrope',system-ui,sans-serif);letter-spacing:.2em;text-transform:uppercase;color:var(--fs-emf-foot-link);
}
.fs-emf-foot-brand:is(:hover,:focus-visible),.fs-emf-foot-a:is(:hover,:focus-visible){
  color:var(--fs-emf-title);text-shadow:var(--fs-emf-foot-glow);
}
.fs-emf-foot-brand:is(:hover,:focus-visible) .fs-emf-foot-mark{filter:drop-shadow(0 0 6px var(--fs-emf-accent)) drop-shadow(0 0 14px var(--fs-emf-accent))}
.fs-emf .fs-emf-foot-legal{width:100%;margin:0;font-size:.82rem;color:var(--fs-emf-foot-line)}
.fs-emf .fs-emf-foot-legal-links{margin-top:-10px}
@container fs-emf (max-width:600px){
  .fs-emf-foot-box.fs-emf-solid{padding-bottom:100px}
  /* Touch areas (owner-accepted, no visible change): links keep their drawn size and get an invisible 44px target. */
  a.fs-emf-foot-a,a.fs-emf-foot-brand{position:relative}
  a.fs-emf-foot-a::before,a.fs-emf-foot-brand::before{content:'';position:absolute;left:50%;top:50%;width:max(100%,44px);height:44px;transform:translate(-50%,-50%)}
}
@media screen and (prefers-reduced-motion:no-preference){
  [data-fs-motion='on'] .fs-emf-foot-a,[data-fs-motion='on'] .fs-emf-foot-brand{transition:color calc(.3s * var(--fs-anim-speed,1)),text-shadow calc(.3s * var(--fs-anim-speed,1))}
  [data-fs-motion='on'] .fs-emf-foot-mark{transition:filter calc(.3s * var(--fs-anim-speed,1)),transform calc(.6s * var(--fs-anim-speed,1))}
  [data-fs-motion='on'] .fs-emf-foot-brand:is(:hover,:focus-visible) .fs-emf-foot-mark{transform:rotate(calc(45deg * var(--fs-motion-dist,1)))}
}

/* ── the control dock (port Task 8; source .dock / .dock-btn / .seg /
   .dock-finale) ──────────────────────────────────────────────
   Mounted by the sky layer into the theme scope, so it sits outside every
   .fs-emf root: its own tokens (the source's dark values; the dock exists
   only over the night sky). The host is a fixed, click-through layer and a
   size container, so the source's 600px rule is a container query, and the
   dock needs no containment of its own (it would collapse it). */
.fs-emf-dockhost{position:fixed;inset:0;z-index:45;pointer-events:none;container-type:size;container-name:fs-emfdock}
.fs-emf-dock{
  --fs-emf-d-line:rgba(255,255,255,.09);
  --fs-emf-d-ghost:rgba(255,255,255,.04);
  --fs-emf-d-white:#ffffff;
  --fs-emf-d-fill:#0b0b17;
  --fs-emf-d-muted:rgb(var(--c-ink-400));
  --fs-emf-d-accent:hsl(var(--fs-emf-hue) 100% 68%);
  --fs-emf-d-glow:hsl(var(--fs-emf-hue) 100% 62% / .55);
  --fs-emf-d-rgb-1:#ff2d55;--fs-emf-d-rgb-2:#ffb02e;--fs-emf-d-rgb-3:#2dff8f;--fs-emf-d-rgb-4:#2d8cff;--fs-emf-d-rgb-5:#b02dff;
  position:absolute;right:20px;bottom:20px;pointer-events:auto;
  display:flex;align-items:center;gap:6px;padding:6px;border-radius:999px;
  color:rgb(var(--c-ink-950));font:400 1.02rem/1.7 var(--font-sans,'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif);
  background:linear-gradient(180deg,rgba(18,18,36,.6),rgba(7,7,16,.58));
  border:1px solid var(--fs-emf-d-line);
  -webkit-backdrop-filter:blur(16px) saturate(130%);backdrop-filter:blur(16px) saturate(130%);
  box-shadow:0 30px 70px -35px rgba(0,0,0,.9);
}
.fs-emf-dock :focus-visible{outline:2px solid var(--fs-emf-d-accent);outline-offset:3px;border-radius:6px}
.fs-emf-dock-btn{
  width:40px;height:40px;display:grid;place-items:center;padding:0;cursor:pointer;
  border-radius:50%;border:1px solid var(--fs-emf-d-line);background:var(--fs-emf-d-ghost);color:var(--fs-emf-d-white);
}
.fs-emf-dock-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.fs-emf-dock-btn:hover,.fs-emf-dock-segbtn:hover{border-color:hsl(var(--fs-emf-hue) 100% 70% / .6);box-shadow:0 0 16px var(--fs-emf-d-glow)}
.fs-emf-dock-auto[aria-pressed="true"] .fs-emf-dock-i-play,.fs-emf-dock-auto[aria-pressed="false"] .fs-emf-dock-i-pause{display:none}
.fs-emf-dock-sound[aria-pressed="true"] .fs-emf-dock-i-off,.fs-emf-dock-sound[aria-pressed="false"] .fs-emf-dock-i-on{display:none}
.fs-emf-dock-sound[aria-pressed="true"]{border-color:var(--fs-emf-d-accent);box-shadow:0 0 14px var(--fs-emf-d-glow)}
.fs-emf-dock-seg{display:flex;padding:3px;border-radius:999px;border:1px solid var(--fs-emf-d-line)}
.fs-emf-dock-segbtn{
  padding:.6em .95em;border-radius:999px;border:1px solid transparent;background:none;cursor:pointer;
  font:700 .62rem var(--font-sans,'Manrope',system-ui,sans-serif);letter-spacing:.16em;text-transform:uppercase;color:var(--fs-emf-d-muted);
}
.fs-emf-dock-segbtn[aria-pressed="true"]{color:var(--fs-emf-d-white);background:hsl(var(--fs-emf-hue) 100% 60% / .16);box-shadow:inset 0 0 12px hsl(var(--fs-emf-hue) 100% 60% / .25)}
.fs-emf-dock-finale{
  padding:.8em 1.25em;border-radius:999px;cursor:pointer;color:var(--fs-emf-d-white);white-space:nowrap;
  font:700 .64rem var(--font-sans,'Manrope',system-ui,sans-serif);letter-spacing:.18em;text-transform:uppercase;
  border:1.5px solid transparent;
  background:linear-gradient(var(--fs-emf-d-fill),var(--fs-emf-d-fill)) padding-box,conic-gradient(from var(--fs-emf-angle,0deg),var(--fs-emf-d-rgb-1),var(--fs-emf-d-rgb-2),var(--fs-emf-d-rgb-3),var(--fs-emf-d-rgb-4),var(--fs-emf-d-rgb-5),var(--fs-emf-d-rgb-1)) border-box;
}
.fs-emf-dock-finale:hover{box-shadow:0 0 20px var(--fs-emf-d-glow),0 0 50px hsl(var(--fs-emf-hue) 100% 55% / .3)}
.fs-emf-dock-finale:disabled{opacity:.45;cursor:default;box-shadow:none}
@container fs-emfdock (max-width:600px){
  .fs-emf-dock{--fs-emf-dock-x:50%;right:50%;transform:translateX(50%);bottom:12px}
  .fs-emf-dock-segbtn{padding:.6em .7em;letter-spacing:.08em}
  .fs-emf-dock-finale{padding:.8em .95em;letter-spacing:.1em}
  /* Touch areas (owner-accepted, no visible change): each dock control keeps its drawn size and gets an invisible 44px target. */
  .fs-emf-dock-btn,.fs-emf-dock-segbtn,.fs-emf-dock-finale{position:relative}
  .fs-emf-dock-btn::before,.fs-emf-dock-segbtn::before,.fs-emf-dock-finale::before{content:'';position:absolute;left:50%;top:50%;width:max(100%,44px);height:44px;transform:translate(-50%,-50%)}
}
@media screen and (prefers-reduced-motion:no-preference){
  [data-fs-motion='on'] .fs-emf-dock-btn,[data-fs-motion='on'] .fs-emf-dock-segbtn{transition:box-shadow calc(.3s * var(--fs-anim-speed,1)),border-color calc(.3s * var(--fs-anim-speed,1)),color calc(.3s * var(--fs-anim-speed,1)),background calc(.3s * var(--fs-anim-speed,1))}
}

/* ══ motion: the page-level effects (port Task 9) ════════════════════════
   Every effect of the source's css/style.css and js/main.js, nothing added.
     title letters      chIn 1.7s, cubic-bezier(.2,.7,.1,1), 60ms a letter, from 1.1s
     reveal on scroll   opacity + blur + 30px rise, 1.1s (ease / the curve);
                        the hero's four wait 1.9 / 2.1 / 2.3 / 2.5s; grids stagger
                        .12s and .24s
     figures count up   main.js: 1.8s easeOutQuart, first view, suffix at the end
     countdown digit    tick .5s when a digit changes
     tap hint breathes  breathe 3.5s;  scroll cue drips  drip 2.4s
     rainbow borders    spin 4s: the hero button, the header pill, Finale
     dock               fades up 20px, .8s, as the intro ends
     phone menu         the overlay fades in .4s; the bars cross .3s
     card lift          the source's .reveal transition WINS over the card's
                        own (it comes later), so a lift takes 1.1s on the
                        transform and the glow and border change at once
   Gates, all three: [data-fs-motion='on'] (the published site and the
   preview at On or Subtle; the editor canvas, Off and any surface without
   the shell match nothing and stay still), @media screen and
   (prefers-reduced-motion: no-preference) (the source's own reduced path
   is "no loops, letters at once, a plain fade"; here: nothing moves), and
   the effect's switch var(--fs-anim-<id>, <the source's value>) with the
   ids in themes/emberfall.ts microAnimations (check:anim).
   SUBTLE (data-fs-motion-level='subtle'): travel x --fs-motion-dist (.3),
   time x --fs-anim-speed (1.7), and where the source's reduced path is
   stricter, that wins: the loops stop, the letters arrive at once, a reveal
   is the plain fade.
   FILL: backwards only; every end frame is the resting style. The
   reveal's waiting state (data-emf-rv='0') exists only inside the gate and
   only after the runtime (useEmfReveal) sets it, for what is below the
   fold: no script, no attribute, the page is simply there. */
@keyframes fs-emf-spin{to{--fs-emf-angle:360deg}}
@keyframes fs-emf-ch-in{from{opacity:0;filter:blur(calc(16px * var(--fs-motion-dist,1)));transform:translateY(calc(.3em * var(--fs-motion-dist,1))) scale(calc(1 + .12 * var(--fs-motion-dist,1)))}}
@keyframes fs-emf-rv-of{from{opacity:0;filter:blur(calc(6px * var(--fs-motion-dist,1)))}}
@keyframes fs-emf-rv-t{from{transform:translateY(calc(30px * var(--fs-motion-dist,1)))}}
@keyframes fs-emf-rv-o{from{opacity:0}}
@keyframes fs-emf-breathe{50%{opacity:.35}}
@keyframes fs-emf-drip{to{top:110%}}
@keyframes fs-emf-tick-a{from{transform:translateY(calc(-6px * var(--fs-motion-dist,1)));opacity:.4}}
@keyframes fs-emf-tick-b{from{transform:translateY(calc(-6px * var(--fs-motion-dist,1)));opacity:.4}}
@keyframes fs-emf-dock-in{from{opacity:0;transform:translate(var(--fs-emf-dock-x,0px),calc(20px * var(--fs-motion-dist,1)))}}
.fs-emf:not([data-fs-motion='on'] *),.fs-emf:not([data-fs-motion='on'] *) *,.fs-emf:not([data-fs-motion='on'] *) *::before,.fs-emf:not([data-fs-motion='on'] *) *::after{animation:none !important;transition:none !important}
@media (prefers-reduced-motion:reduce){
  .fs-emf,.fs-emf *,.fs-emf *::before,.fs-emf *::after,.fs-emf-dock,.fs-emf-dock *{animation:none !important;transition:none !important}
}
@media screen and (prefers-reduced-motion:no-preference){
  /* The source's html{scroll-behavior:smooth} (auto under reduced motion): the platform draws none of its own. */
  html:has([data-fs-motion='on'] .fs-emf){scroll-behavior:smooth}
  /* emfTitle - the hero title's letters (.title .ch) */
  [data-fs-motion='on'] .fs-emf-ch{animation:var(--fs-anim-emfTitle,fs-emf-ch-in calc(1.7s * var(--fs-anim-speed,1)) cubic-bezier(.2,.7,.1,1) calc((1.1s + var(--i,0) * 60ms) * var(--fs-anim-speed,1)) backwards)}
  /* emfReveal - the hero's four wait for the title (CSS alone: it needs no script), the rest are let in by useEmfReveal */
  [data-fs-motion='on'] .fs-emf-hero .fs-emf-reveal{--fs-emf-rvd:1.9s;animation:var(--fs-anim-emfReveal,fs-emf-rv-of calc(1.1s * var(--fs-anim-speed,1)) ease calc(var(--fs-emf-rvd,0s) * var(--fs-anim-speed,1)) backwards,fs-emf-rv-t calc(1.1s * var(--fs-anim-speed,1)) cubic-bezier(.2,.7,.1,1) calc(var(--fs-emf-rvd,0s) * var(--fs-anim-speed,1)) backwards)}
  [data-fs-motion='on'] .fs-emf-hero .fs-emf-lead.fs-emf-reveal{--fs-emf-rvd:2.1s}
  [data-fs-motion='on'] .fs-emf-hero .fs-emf-cta.fs-emf-reveal{--fs-emf-rvd:2.3s}
  [data-fs-motion='on'] .fs-emf-hero .fs-emf-countdown.fs-emf-reveal{--fs-emf-rvd:2.5s}
  /* A rising element must not be the browser's scroll anchor: it would read the 30px rise as a layout shift and drag the page back (a nav jump landed 20px short). */
  [data-fs-motion='on'] .fs-emf-reveal{overflow-anchor:none}
  [data-fs-motion='on'] .fs-emf-reveal[data-emf-rv='0']{opacity:0;transform:translateY(calc(30px * var(--fs-motion-dist,1)));filter:blur(calc(6px * var(--fs-motion-dist,1)))}
  [data-fs-motion='on'] .fs-emf-reveal[data-emf-rv='1']{animation:var(--fs-anim-emfReveal,fs-emf-rv-of calc(1.1s * var(--fs-anim-speed,1)) ease calc(var(--fs-emf-rvd,0s) * var(--fs-anim-speed,1)) backwards,fs-emf-rv-t calc(1.1s * var(--fs-anim-speed,1)) cubic-bezier(.2,.7,.1,1) calc(var(--fs-emf-rvd,0s) * var(--fs-anim-speed,1)) backwards)}
  [data-fs-motion='on'] .fs-emf-shows-grid>.fs-emf-reveal:nth-child(3n+2),[data-fs-motion='on'] .fs-emf-features-grid>.fs-emf-reveal:nth-child(3n+2),[data-fs-motion='on'] .fs-emf-tiers>.fs-emf-reveal:nth-child(2){--fs-emf-rvd:.12s;transition-delay:calc(.12s * var(--fs-anim-speed,1))}
  [data-fs-motion='on'] .fs-emf-shows-grid>.fs-emf-reveal:nth-child(3n),[data-fs-motion='on'] .fs-emf-features-grid>.fs-emf-reveal:nth-child(3n),[data-fs-motion='on'] .fs-emf-tiers>.fs-emf-reveal:nth-child(3){--fs-emf-rvd:.24s;transition-delay:calc(.24s * var(--fs-anim-speed,1))}
  /* emfTick - a countdown digit that just changed (two names so a new value restarts it) */
  [data-fs-motion='on'] .fs-emf-tick[data-tk='a']{animation:var(--fs-anim-emfTick,fs-emf-tick-a calc(.5s * var(--fs-anim-speed,1)) ease)}
  [data-fs-motion='on'] .fs-emf-tick[data-tk='b']{animation:var(--fs-anim-emfTick,fs-emf-tick-b calc(.5s * var(--fs-anim-speed,1)) ease)}
  /* emfBreathe / emfDrip - the tap hint and the scroll cue */
  [data-fs-motion='on'] .fs-emf-hero .fs-emf-tap{animation:var(--fs-anim-emfBreathe,fs-emf-breathe calc(3.5s * var(--fs-anim-speed,1)) ease-in-out infinite)}
  [data-fs-motion='on'] .fs-emf-cue span{animation:var(--fs-anim-emfDrip,fs-emf-drip calc(2.4s * var(--fs-anim-speed,1)) ease-in-out infinite)}
  /* emfSpin - the rainbow border (.btn-glow here, the header pill and Finale elsewhere) */
  [data-fs-motion='on'] .fs-emf-btn-glow,[data-fs-motion='on'] .fs-emf-dock-finale{animation:var(--fs-anim-emfSpin,fs-emf-spin calc(4s * var(--fs-anim-speed,1)) linear infinite)}
  /* emfBtn - the buttons' hover lift and glow (.btn) */
  /* (beats the platform's own a[class*=btn] press transition and :active scale, which the family opts out of) */
  [data-fs-motion='on'] .fs-emf :is(a,button,span).fs-emf-btn{transition:var(--fs-anim-emfBtn,box-shadow calc(.4s * var(--fs-anim-speed,1)),transform calc(.4s * var(--fs-anim-speed,1)),background calc(.4s * var(--fs-anim-speed,1)),border-color calc(.4s * var(--fs-anim-speed,1)))}
  [data-fs-motion='on'] .fs-emf :is(a,button,span).fs-emf-btn:hover{transform:var(--fs-anim-emfBtn,translateY(calc(-2px * var(--fs-motion-dist,1))))}
  /* emfDock - the control dock fades up as the intro ends */
  [data-fs-motion='on'] .fs-emf-dock{animation:var(--fs-anim-emfDock,fs-emf-dock-in calc(.8s * var(--fs-anim-speed,1)) ease backwards)}
  /* SUBTLE: the source's reduced path where it is stricter - no loops, letters at once, a plain fade */
  [data-fs-motion='on'][data-fs-motion-level='subtle'] :is(.fs-emf-tap,.fs-emf-cue span,.fs-emf-btn-glow,.fs-emf-dock-finale,.fs-emf-ch){animation:none}
  [data-fs-motion='on'][data-fs-motion-level='subtle'] .fs-emf-show-rgb::before{animation:none}
  /* one thing drives a card's opacity: the .4s fade; the 1.1s card transition keeps only the lift (else the fade ends, opacity falls back to the transition's mid-value and climbs again) */
  [data-fs-motion='on'][data-fs-motion-level='subtle'] :is(.fs-emf-show,.fs-emf-feature,.fs-emf-tier){transition:var(--fs-anim-emfCardLift,transform calc(1.1s * var(--fs-anim-speed,1)) cubic-bezier(.2,.7,.1,1))}
  [data-fs-motion='on'][data-fs-motion-level='subtle'] .fs-emf-reveal[data-emf-rv='0']{transform:none;filter:none}
  [data-fs-motion='on'][data-fs-motion-level='subtle'] :is(.fs-emf-hero .fs-emf-reveal,.fs-emf-reveal[data-emf-rv='1']){--fs-emf-rvd:0s;animation:var(--fs-anim-emfReveal,fs-emf-rv-o calc(.4s * var(--fs-anim-speed,1)) ease backwards)}
}

/* ── platform effects off (Tidewell P58) ──────────────────────── */
[data-fs-blocktype^="favEmf"]{--fs-anim-fs-sectionin-name:none}
.fs-emf{--fs-anim-fs-imgin-name:none;--fs-anim-fs-press:none;--fs-anim-fs-lift-t:none;--fs-anim-fs-lift-prop:none}


@property --fs-fn-vw{syntax:'<length>';inherits:true;initial-value:0px}

/* ── family root ──────────────────────────────────────────────── */
.fs-fn{
  container-type:inline-size;container-name:fs-fn;
  position:relative;
  color:rgb(var(--c-ink-950));
  font-family:var(--font-sans,'Hanken Grotesk',system-ui,sans-serif);
  font-size:1rem;line-height:1.6;
  --fs-fn-ease:cubic-bezier(.2,.8,.2,1);
  /* The shadow ink: the source's dark-mode shadows are black at
     .3-.75; one token, read as rgb(var(--fs-fn-shade) / a). */
  --fs-fn-shade:0 0 0;
  --fs-fn-pri-lt:color-mix(in srgb,rgb(var(--c-brand-600)) 24%,rgb(var(--c-paper-soft)));
  --fs-fn-pri-lt:oklch(from rgb(var(--c-brand-600)) .853 min(c,.05) h);
  --fs-fn-link:rgb(var(--c-brand-700));
  --fs-fn-tint:color-mix(in srgb,rgb(var(--c-brand-600)) 7%,rgb(var(--c-paper-soft)));
  --fs-fn-tint2:color-mix(in srgb,rgb(var(--c-accent)) 12%,rgb(var(--c-paper)));
}
.dark .fs-fn{
  /* The light tint stays light in dark mode: the fallback mixes into the
     dark mode's (light) ink, not the dark surface (the link reads it). */
  --fs-fn-pri-lt:color-mix(in srgb,rgb(var(--c-brand-600)) 24%,rgb(var(--c-ink-950)));
  --fs-fn-pri-lt:oklch(from rgb(var(--c-brand-600)) .853 min(c,.05) h);
  --fs-fn-link:var(--fs-fn-pri-lt);
  --fs-fn-tint:color-mix(in srgb,rgb(var(--c-brand-600)) 18%,rgb(var(--c-paper-soft)));
  --fs-fn-tint2:color-mix(in srgb,rgb(var(--c-accent)) 6%,rgb(var(--c-paper)));
}
/* The site wrapper's own light marker beats a .dark on <html> that came
   from the visitor's OS (Brimwell's / Tidewell's / Harlow's rule). */
.fs-preview-light .fs-fn{
  --fs-fn-pri-lt:color-mix(in srgb,rgb(var(--c-brand-600)) 24%,rgb(var(--c-paper-soft)));
  --fs-fn-pri-lt:oklch(from rgb(var(--c-brand-600)) .853 min(c,.05) h);
  --fs-fn-link:rgb(var(--c-brand-700));
  --fs-fn-tint:color-mix(in srgb,rgb(var(--c-brand-600)) 7%,rgb(var(--c-paper-soft)));
  --fs-fn-tint2:color-mix(in srgb,rgb(var(--c-accent)) 12%,rgb(var(--c-paper)));
}
.fs-fn *,.fs-fn *::before,.fs-fn *::after{box-sizing:border-box}
/* A clock date laid out at the stand-in moment until the clock is read
   (FieldnoteBlocks FN_STAND_IN): the box is there, the words not yet. */
.fs-fn .fs-fn-standin{visibility:hidden}
.fs-fn-wire{filter:grayscale(1) contrast(.5)}
.fs-fn a{color:inherit;text-decoration:none}

/* ── base: .wrap, type ────────────────────────────────────────── */
/* .wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 28px} — the
   width follows a Site Settings layout first (--fs-layout-max), then the
   theme's shell. */
.fs-fn-wrap{
  --fs-fn-vw:1cqi;
  container-type:inline-size;container-name:fs-fn-wrap;
  width:100%;max-width:var(--fs-layout-max,var(--fs-shell-max,1240px));
  margin:0 auto;padding:0 28px;
}
/* h1,h2,h3{font-family:var(--serif);line-height:1.12;letter-spacing:
   -.012em;font-weight:500} h1 em,h2 em,h3 em{font-style:italic;
   color:var(--kick);font-weight:500} */
.fs-fn .fs-fn-h1,.fs-fn .fs-fn-h2,.fs-fn .fs-fn-h3{
  font-family:var(--font-display,'Source Serif 4',Georgia,'Times New Roman',serif);
  line-height:1.12;letter-spacing:-.012em;font-weight:500;margin:0;color:rgb(var(--c-ink-950));
}
.fs-fn .fs-fn-em{font-style:italic;font-weight:500;color:rgb(var(--c-brand-text,var(--c-brand-600)))}
/* h1{font-size:clamp(2.3rem,5vw,4.1rem)} */
.fs-fn .fs-fn-h1{font-size:clamp(2.3rem,calc(5 * var(--fs-fn-vw)),4.1rem)}
/* p{color:var(--mute)} */
.fs-fn p{margin:0;color:rgb(var(--c-ink-400))}
/* .eyebrow{display:inline-flex;align-items:center;gap:11px;font-size:.74rem;
   font-weight:800;letter-spacing:.16em;text-transform:uppercase;
   color:var(--kick);margin-bottom:14px}
   .eyebrow::before{content:"";width:26px;height:0;border-top:2px solid currentColor} */
.fs-fn-eyebrow{display:inline-flex;align-items:center;gap:11px;font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:rgb(var(--c-brand-text,var(--c-brand-600)));margin-bottom:14px;line-height:1.6}
.fs-fn-eyebrow::before{content:"";width:26px;height:0;border-top:2px solid currentColor}
.fs-fn-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* Editor-only affordances: rendered ONLY while editing (FieldnoteBlocks.tsx). */
.fs-fn-ed{position:relative;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px 16px;margin:0 auto 20px;max-width:var(--fs-layout-max,var(--fs-shell-max,1240px));padding:12px;border:1px dashed rgb(var(--c-ink-400) / .6);border-radius:6px;font-size:.8125rem;line-height:1.4;color:rgb(var(--c-ink-950))}
.fs-fn-ed-row::before{content:attr(data-ed);display:block;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--c-ink-400))}

/* ══ favFnPageHead — .page-head ═════════════════════════════════
   .page-head{position:relative;padding:50px 0 42px;background:
   linear-gradient(180deg,var(--tint2),var(--bg));overflow:hidden;
   border-bottom:1px solid var(--line)} */
.fs-fn-pagehead{
  position:relative;overflow:hidden;
  background:linear-gradient(180deg,var(--fs-fn-tint2),rgb(var(--c-paper)));
  border-bottom:1px solid rgb(var(--c-line));
}
.fs-fn-pagehead>.fs-fn-wrap{position:relative;padding-top:50px;padding-bottom:42px}
/* .page-head .ph-deco{position:absolute;right:6%;top:30px;width:150px;
   height:150px;border-radius:50%;background:var(--acc);opacity:.18}
   ::after{left:-26px;bottom:-14px;width:54px;height:54px;border-radius:50%;
   background:var(--pri);opacity:.5}
   The source's deco sits in a plain .wrap, so it is placed against the
   whole head; here it is the head's own child for the same geometry. */
.fs-fn-ph-deco{position:absolute;right:6%;top:30px;width:150px;height:150px;border-radius:50%;background:rgb(var(--c-accent) / .18);pointer-events:none}
.fs-fn-ph-deco::after{content:"";position:absolute;left:-26px;bottom:-14px;width:54px;height:54px;border-radius:50%;background:rgb(var(--c-brand-600) / .5)}
/* .page-head h1{max-width:840px} */
.fs-fn.fs-fn-pagehead .fs-fn-h1{max-width:840px;position:relative}
/* .page-head p{max-width:660px;margin-top:16px;font-size:1.1rem} */
.fs-fn .fs-fn-ph-lede{max-width:660px;margin-top:16px;font-size:1.1rem;position:relative}
/* .page-head .crumbs{display:flex;gap:8px;font-size:.84rem;font-weight:700;
   color:var(--mute);margin-bottom:18px} .page-head .crumbs a{color:var(--link)} */
.fs-fn-crumbs{position:relative;display:flex;gap:8px;font-size:.84rem;font-weight:700;color:rgb(var(--c-ink-400));margin-bottom:18px}
.fs-fn .fs-fn-crumb-a{color:var(--fs-fn-link)}
.fs-fn-pagehead .fs-fn-eyebrow{position:relative}

/* Site Settings layouts — the source's html[data-layout=center] and
   [data-layout=minimal] page-head rules, on the platform's ids. */
[data-fs-layout="centered"] .fs-fn-pagehead{text-align:center}
[data-fs-layout="centered"] .fs-fn.fs-fn-pagehead .fs-fn-h1,[data-fs-layout="centered"] .fs-fn .fs-fn-ph-lede{margin-inline:auto}
[data-fs-layout="centered"] .fs-fn-crumbs{justify-content:center}
[data-fs-layout="centered"] .fs-fn-ph-deco{display:none}
[data-fs-layout="minimal"] .fs-fn-pagehead{background:none}
[data-fs-layout="minimal"] .fs-fn-ph-deco{display:none}

@container fs-fn (max-width:760px){
  .fs-fn-wrap{padding:0 18px}
  .fs-fn-ph-deco{display:none}
}

/* ══ shared pieces (port Task 4): buttons, icons, flags, covers, cards ══
   Ported from the source's base (.btn .ic .sample .kick .adf .av .bm .cv
   .sc). Hover MOVEMENT (lifts, the sheen, the cover zoom, the fit bar's
   ease) is port Task 9's, under the motion gate; colour-only hover states
   are here. */
.fs-fn{
  --fs-fn-r:8px;
  --fs-fn-shadow:0 1px 2px rgb(var(--c-ink-950) / .06),0 6px 14px -2px rgb(var(--c-ink-950) / .08),0 22px 44px -10px rgb(var(--c-ink-950) / .18);
  --fs-fn-sh-3:0 2px 4px rgb(var(--c-ink-950) / .06),0 12px 24px -4px rgb(var(--c-ink-950) / .12),0 34px 60px -14px rgb(var(--c-ink-950) / .26);
  --fs-fn-card-shade:drop-shadow(0 0 .75px rgb(var(--c-ink-950) / .32)) drop-shadow(0 2px 2px rgb(var(--c-ink-950) / .06)) drop-shadow(0 10px 14px rgb(var(--c-ink-950) / .10));
  --fs-fn-flap-shade:drop-shadow(-2px 2px 2px rgb(var(--c-ink-950) / .18));
  --fs-fn-flap-a:color-mix(in srgb,rgb(var(--c-accent)) 58%,rgb(var(--c-paper-soft)));
  --fs-fn-flap-b:color-mix(in srgb,rgb(var(--c-accent)) 26%,rgb(var(--c-paper-soft)));
}
.dark .fs-fn{
  --fs-fn-shadow:0 0 0 1px color-mix(in srgb,var(--fs-on-brand) 5%,transparent),inset 0 1px 0 color-mix(in srgb,var(--fs-on-brand) 6%,transparent),0 2px 4px rgb(var(--fs-fn-shade) / .35),0 22px 44px -10px rgb(var(--fs-fn-shade) / .65);
  --fs-fn-sh-3:0 0 0 1px color-mix(in srgb,var(--fs-on-brand) 9%,transparent),inset 0 1px 0 color-mix(in srgb,var(--fs-on-brand) 8%,transparent),0 4px 8px rgb(var(--fs-fn-shade) / .4),0 34px 60px -14px rgb(var(--fs-fn-shade) / .75);
  --fs-fn-card-shade:drop-shadow(0 0 .75px color-mix(in srgb,var(--fs-on-brand) 28%,transparent)) drop-shadow(0 2px 3px rgb(var(--fs-fn-shade) / .4)) drop-shadow(0 12px 16px rgb(var(--fs-fn-shade) / .45));
  --fs-fn-flap-shade:drop-shadow(-2px 2px 2px rgb(var(--fs-fn-shade) / .5));
  --fs-fn-flap-a:color-mix(in srgb,rgb(var(--c-accent)) 55%,rgb(var(--c-paper-soft)));
  --fs-fn-flap-b:color-mix(in srgb,rgb(var(--c-accent)) 30%,rgb(var(--c-paper-soft)));
}
.fs-preview-light .fs-fn{
  --fs-fn-shadow:0 1px 2px rgb(var(--c-ink-950) / .06),0 6px 14px -2px rgb(var(--c-ink-950) / .08),0 22px 44px -10px rgb(var(--c-ink-950) / .18);
  --fs-fn-sh-3:0 2px 4px rgb(var(--c-ink-950) / .06),0 12px 24px -4px rgb(var(--c-ink-950) / .12),0 34px 60px -14px rgb(var(--c-ink-950) / .26);
  --fs-fn-card-shade:drop-shadow(0 0 .75px rgb(var(--c-ink-950) / .32)) drop-shadow(0 2px 2px rgb(var(--c-ink-950) / .06)) drop-shadow(0 10px 14px rgb(var(--c-ink-950) / .10));
  --fs-fn-flap-shade:drop-shadow(-2px 2px 2px rgb(var(--c-ink-950) / .18));
  --fs-fn-flap-a:color-mix(in srgb,rgb(var(--c-accent)) 58%,rgb(var(--c-paper-soft)));
  --fs-fn-flap-b:color-mix(in srgb,rgb(var(--c-accent)) 26%,rgb(var(--c-paper-soft)));
}
[data-fs-layout="minimal"] .fs-fn{--fs-fn-r:4px;--fs-fn-shadow:none}
/* .ic{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;
   stroke-linecap:round;stroke-linejoin:round;flex:none} */
.fs-fn .fs-fn-ic{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
/* .btn{…padding:13px 24px;border-radius:8px;background:var(--pri);color:#fff;
   font-weight:700;font-size:.97rem;white-space:nowrap;box-shadow:0 8px 20px
   color-mix(in srgb,var(--pri) 30%,transparent)} */
.fs-fn .fs-fn-btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 24px;border-radius:8px;background:rgb(var(--c-brand-600));color:var(--fs-on-brand);font-family:inherit;font-weight:700;font-size:.97rem;line-height:1.6;white-space:nowrap;border:0;cursor:pointer;text-decoration:none;box-shadow:0 8px 20px color-mix(in srgb,rgb(var(--c-brand-600)) 30%,transparent)}
.fs-fn .fs-fn-btn-alt{background:transparent;color:var(--fs-fn-link);box-shadow:inset 0 0 0 2px rgb(var(--c-line))}
.fs-fn .fs-fn-btn-alt:hover{box-shadow:inset 0 0 0 2px rgb(var(--c-brand-600))}
[data-fs-layout="minimal"] .fs-fn .fs-fn-btn{border-radius:4px;box-shadow:none}
[data-fs-layout="minimal"] .fs-fn .fs-fn-btn-alt{box-shadow:inset 0 0 0 2px rgb(var(--c-line))}
.fs-fn :focus-visible{outline:3px solid rgb(var(--c-accent));outline-offset:3px;border-radius:6px}
/* .sample{display:inline-block;font-size:.68rem;font-weight:800;letter-spacing:.06em;
   text-transform:uppercase;color:var(--mute);border:1px dashed var(--line);
   border-radius:999px;padding:2px 10px} */
.fs-fn-sample{display:inline-block;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--c-ink-400));border:1px dashed rgb(var(--c-line));border-radius:999px;padding:2px 10px;line-height:1.6}
/* Editor-only marker on a sample row (real site, editing): the words live
   in a data attribute painted by CSS — editor guidance, not copy. */
.fs-fn-mark{display:inline-block;font-size:.68rem;font-weight:800;letter-spacing:.04em;color:rgb(var(--c-ink-400));border:1px dashed rgb(var(--c-ink-400) / .7);border-radius:4px;padding:1px 6px;line-height:1.5}
.fs-fn-mark::before{content:attr(data-note)}
.fs-fn-missing{display:block;padding:14px;border:1px dashed rgb(var(--c-ink-400) / .7);border-radius:6px;font-size:.85rem;font-weight:600;color:rgb(var(--c-ink-400))}
.fs-fn-missing::before{content:attr(data-missing)}
/* .kick{display:inline-block;font-size:.7rem;font-weight:800;letter-spacing:.14em;
   text-transform:uppercase;color:var(--kick)} */
.fs-fn-kick{display:inline-block;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--c-brand-text,var(--c-brand-600)))}
/* .adf{…font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
   padding:2px 8px;border-radius:4px;background:var(--ink);color:var(--bg);line-height:1.5} */
.fs-fn-adf{display:inline-flex;align-items:center;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:2px 8px;border-radius:4px;background:rgb(var(--c-ink-950));color:rgb(var(--c-paper));line-height:1.5}
/* .av{width:30px;height:30px;border-radius:50%;background:var(--pri);color:#fff;
   font-size:.68rem;font-weight:800;letter-spacing:.02em} */
.fs-fn-av{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgb(var(--c-brand-600));color:var(--fs-on-brand);font-size:.68rem;font-weight:800;letter-spacing:.02em;flex:none;overflow:hidden}
.fs-fn-av img{width:100%;height:100%;object-fit:cover}
/* .bm{width:34px;height:34px;border-radius:50%;color:var(--mute);position:relative;z-index:2}
   .bm:hover{background:var(--tint);color:var(--link)} .bm[aria-pressed=true]{color:var(--kick)} */
.fs-fn .fs-fn-bm{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;color:rgb(var(--c-ink-400));position:relative;z-index:2;background:none;border:0;padding:0;cursor:pointer}
.fs-fn .fs-fn-bm:hover{background:var(--fs-fn-tint);color:var(--fs-fn-link)}
.fs-fn .fs-fn-bm .fs-fn-ic{width:18px;height:18px}
.fs-fn .fs-fn-bm[aria-pressed="true"]{color:rgb(var(--c-brand-text,var(--c-brand-600)))}
.fs-fn .fs-fn-bm[aria-pressed="true"] .fs-fn-ic{fill:currentColor}
/* .cv{position:relative;overflow:hidden;background:var(--tint2);border-radius:6px}
   .cv svg{width:100%;height:100%;display:block} .cv.w{aspect-ratio:16/10}
   .cv.ww{aspect-ratio:21/9} .cv.s{aspect-ratio:1/1} */
.fs-fn-cv{position:relative;overflow:hidden;background:var(--fs-fn-tint2);border-radius:6px}
.fs-fn-cv svg,.fs-fn-cv .fs-fn-cv-img{width:100%;height:100%;display:block}
.fs-fn-cv .fs-fn-cv-img{object-fit:cover}
.fs-fn-cv-w{aspect-ratio:16/10}.fs-fn-cv-ww{aspect-ratio:21/9}.fs-fn-cv-s{aspect-ratio:1/1}
[data-fs-layout="minimal"] .fs-fn-cv{border-radius:2px}
/* .sc{position:relative;display:flex;flex-direction:column;gap:14px;min-width:0}
   .sc-b{display:flex;flex-direction:column;gap:8px;min-width:0}
   .sc h3{font-size:1.3rem;line-height:1.2} .sc h3 a::after{content:"";position:absolute;inset:0;z-index:1}
   .sc p{font-size:.95rem} .sc-m{…font-size:.8rem;color:var(--mute);font-weight:600;margin-top:2px}
   .sc.lead h3{font-size:clamp(1.85rem,3vw,2.6rem);line-height:1.1} .sc.lead p{font-size:1.08rem} */
.fs-fn-sc{position:relative;display:flex;flex-direction:column;gap:14px;min-width:0}
.fs-fn-sc-b{display:flex;flex-direction:column;gap:8px;min-width:0}
.fs-fn-sc-flags{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.fs-fn .fs-fn-sc-h{font-family:var(--font-display,'Source Serif 4',Georgia,serif);font-weight:500;letter-spacing:-.012em;color:rgb(var(--c-ink-950));font-size:1.3rem;line-height:1.2;margin:0}
.fs-fn .fs-fn-sc-a{color:inherit}
.fs-fn .fs-fn-sc-a::after{content:"";position:absolute;inset:0;z-index:1}
.fs-fn-sc:hover .fs-fn-sc-a,.fs-fn .fs-fn-sc-a:focus-visible{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;text-decoration-color:rgb(var(--c-accent))}
.fs-fn .fs-fn-sc-p{font-size:.95rem}
.fs-fn-sc-m{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;font-size:.8rem;color:rgb(var(--c-ink-400));font-weight:600;margin-top:2px}
.fs-fn-sc-m .fs-fn-dot{opacity:.5}
.fs-fn-sc-m .fs-fn-bm{margin-left:auto}
.fs-fn .fs-fn-sc-lead .fs-fn-sc-h{font-size:clamp(1.85rem,calc(3 * var(--fs-fn-vw)),2.6rem);line-height:1.1}
.fs-fn .fs-fn-sc-lead .fs-fn-sc-p{font-size:1.08rem}

/* ══ favFnFront — .front: the front head, the reading picker, the grid ══
   .front{padding:34px 0 64px;position:relative} */
.fs-fn-front>.fs-fn-wrap{padding-top:34px;padding-bottom:64px}
/* .front-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;
   flex-wrap:wrap;padding-bottom:12px;margin-bottom:26px;border-bottom:2px solid var(--ink)}
   .front-head h1{font-size:clamp(1.9rem,3.6vw,2.8rem)}
   .front-head span{font-size:.8rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)} */
.fs-fn-front-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-bottom:12px;margin-bottom:26px;border-bottom:2px solid rgb(var(--c-ink-950))}
.fs-fn.fs-fn-front .fs-fn-front-h1{font-size:clamp(1.9rem,calc(3.6 * var(--fs-fn-vw)),2.8rem)}
.fs-fn-front-date{font-size:.8rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:rgb(var(--c-ink-400));min-height:1.6em}
[data-fs-layout="centered"] .fs-fn-front-head{justify-content:center;text-align:center;flex-direction:column;align-items:center;border-bottom-width:1px}
/* .front-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,.82fr);gap:34px;align-items:start} */
.fs-fn-front-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,.82fr);gap:34px;align-items:start}
.fs-fn-front-col{display:grid;gap:22px}
.fs-fn-front-col .fs-fn-sc{padding-bottom:22px;border-bottom:1px solid rgb(var(--c-line))}
.fs-fn-front-col .fs-fn-sc:last-child{padding-bottom:0;border:0}
/* .latest{position:relative;padding-left:28px;border-left:1px solid var(--line)}
   .latest>h2{font-size:1.2rem;font-family:var(--font);font-weight:800;letter-spacing:.14em;
   text-transform:uppercase;display:flex;align-items:center;gap:10px;margin-bottom:16px}
   .latest>h2 i{width:9px;height:9px;border-radius:50%;background:var(--acc)} (the ping is Task 9's) */
.fs-fn-latest{position:relative;padding-left:28px;border-left:1px solid rgb(var(--c-line))}
.fs-fn .fs-fn-latest-h{font-family:var(--font-sans,'Hanken Grotesk',sans-serif);font-size:1.2rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;line-height:1.12;display:flex;align-items:center;gap:10px;margin:0 0 16px;color:rgb(var(--c-ink-950))}
.fs-fn-latest-dot{width:9px;height:9px;border-radius:50%;background:rgb(var(--c-accent));flex:none}
/* .ltl{list-style:none;counter-reset:l;display:grid} .ltl li{counter-increment:l;position:relative;
   display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;padding:14px 0;border-top:1px solid var(--line)}
   .ltl li::before{content:counter(l);font-family:var(--serif);font-size:1.7rem;line-height:1;color:var(--kick);font-weight:500}
   .ltl h4{font-family:var(--serif);font-weight:500;font-size:1.06rem;line-height:1.25;margin:3px 0 4px}
   .ltl small{font-size:.78rem;color:var(--mute);font-weight:600} */
.fs-fn-ltl{list-style:none;counter-reset:fnl;display:grid;margin:0;padding:0}
.fs-fn-ltl-li{counter-increment:fnl;position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;padding:14px 0;border-top:1px solid rgb(var(--c-line))}
.fs-fn-ltl-li:first-child{border-top:0;padding-top:0}
.fs-fn-ltl-li::before{content:counter(fnl);font-family:var(--font-display,'Source Serif 4',Georgia,serif);font-size:1.7rem;line-height:1;color:rgb(var(--c-brand-text,var(--c-brand-600)));font-weight:500}
.fs-fn .fs-fn-ltl-h{font-family:var(--font-display,'Source Serif 4',Georgia,serif);font-weight:500;font-size:1.06rem;line-height:1.25;margin:3px 0 4px;color:rgb(var(--c-ink-950))}
.fs-fn .fs-fn-ltl-a{color:inherit}
.fs-fn .fs-fn-ltl-a::after{content:"";position:absolute;inset:0}
.fs-fn-ltl-li:hover .fs-fn-ltl-a{text-decoration:underline;text-decoration-color:rgb(var(--c-accent));text-decoration-thickness:2px;text-underline-offset:3px}
.fs-fn-ltl-m{font-size:.78rem;color:rgb(var(--c-ink-400));font-weight:600}

/* ── the reading picker (.ih): a wide, shallow slip under the masthead rule ──
   .ih{container:ih/inline-size;position:relative;margin:0 0 32px;background:var(--surf);
   color:var(--ink);border:1px solid var(--line);border-top:3px solid var(--ink);
   border-radius:var(--r);box-shadow:var(--shadow);text-align:left} */
.fs-fn-ih{container:fs-fn-ih/inline-size;position:relative;margin:0 0 32px;background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));border:1px solid rgb(var(--c-line));border-top:3px solid rgb(var(--c-ink-950));border-radius:var(--fs-fn-r);box-shadow:var(--fs-fn-shadow);text-align:left}
.fs-fn-ih [hidden]{display:none!important}
.fs-fn-ih-in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);overflow:hidden;border-radius:inherit}
.fs-fn-ih-ctl{display:grid;gap:12px;align-content:start;min-width:0;padding:20px 28px 20px 24px}
.fs-fn-ih-hd{display:flex;align-items:center;justify-content:space-between;gap:12px}
.fs-fn .fs-fn-ih .fs-fn-ih-h{font-size:1.65rem;line-height:1.12;letter-spacing:-.012em;color:rgb(var(--c-ink-950))}
.fs-fn-ih-hd .fs-fn-sample{flex:none;background:transparent}
.fs-fn-ih-grp{display:grid;gap:8px;min-width:0}
.fs-fn-ih-lr{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.fs-fn-ih-lab{font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
.fs-fn-ih-note{font-size:.76rem;font-weight:600;line-height:1.4;color:rgb(var(--c-ink-400));white-space:nowrap}
/* the minute ruler: three joined segments with tick marks along the top edge */
.fs-fn-ih-time{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1.5px solid rgb(var(--c-line));border-radius:var(--fs-fn-r);background:rgb(var(--c-paper));overflow:hidden}
.fs-fn-ih-time::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;z-index:1;pointer-events:none;opacity:.4;background:repeating-linear-gradient(90deg,rgb(var(--c-ink-400)) 0 1px,transparent 1px 8px)}
.fs-fn-ih-seg{position:relative;display:grid;min-width:0;border-left:1.5px solid rgb(var(--c-line));cursor:pointer}
.fs-fn-ih-seg:first-child{border-left:0}
.fs-fn .fs-fn-ih-radio{position:absolute;inset:0;z-index:2;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;appearance:none}
.fs-fn-ih-seg-in{display:grid;align-content:center;justify-items:center;gap:2px;min-height:48px;padding:8px 8px 4px;text-align:center}
.fs-fn-ih-seg-b{font-family:var(--font-display,'Source Serif 4',Georgia,serif);font-size:1.2rem;font-weight:500;line-height:1}
.fs-fn-ih-seg-s{font-size:.74rem;font-weight:700;line-height:1.2;color:rgb(var(--c-ink-400))}
.fs-fn-ih-seg:hover .fs-fn-ih-seg-in{background:var(--fs-fn-tint)}
.fs-fn-ih-seg[data-on] .fs-fn-ih-seg-in{background:rgb(var(--c-brand-600));color:var(--fs-on-brand)}
.fs-fn-ih-seg[data-on] .fs-fn-ih-seg-s{color:color-mix(in srgb,var(--fs-on-brand) 90%,transparent)}
.fs-fn .fs-fn-ih-radio:focus-visible+.fs-fn-ih-seg-in{outline:3px solid rgb(var(--c-accent));outline-offset:-3px}
/* the six desks: a vermilion dot and a label */
.fs-fn-ih-topics{display:flex;flex-wrap:wrap;gap:8px}
.fs-fn-ih-chip{position:relative;display:inline-flex;min-width:0}
.fs-fn-ih-chip-in{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:var(--fs-fn-r);border:1.5px solid rgb(var(--c-line));background:rgb(var(--c-paper));font-weight:700;font-size:.92rem;line-height:1;white-space:nowrap}
.fs-fn-ih-chip-dot{width:8px;height:8px;border-radius:50%;background:rgb(var(--c-accent));flex:none}
.fs-fn-ih-chip-sur .fs-fn-ih-chip-dot{width:12px;height:12px;border-radius:0;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%)}
.fs-fn-ih-chip:hover .fs-fn-ih-chip-in{border-color:rgb(var(--c-brand-600));background:var(--fs-fn-tint)}
.fs-fn-ih-chip[data-on] .fs-fn-ih-chip-in{background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));color:var(--fs-on-brand)}
.fs-fn .fs-fn-ih-chip .fs-fn-ih-radio:focus-visible+.fs-fn-ih-chip-in{outline:3px solid rgb(var(--c-accent));outline-offset:2px}
/* the pick */
.fs-fn-ih-res{display:grid;gap:12px;align-content:start;min-width:0;padding:20px 24px;background:var(--fs-fn-tint);border-left:1px solid rgb(var(--c-line))}
/* The pick is a torn-out page with a dog-eared corner: ::after draws the
   paper (its top-right corner cut by a gradient), ::before the folded flap
   backed in the accent. (The deeper fold on hover is Task 9's.) */
@property --fs-fn-fold{syntax:'<length>';inherits:true;initial-value:26px}
.fs-fn-ih-card{--fs-fn-fold:26px;position:relative;isolation:isolate;display:grid;grid-template-columns:112px minmax(0,1fr);gap:20px;align-items:start;padding:16px 40px 16px 16px}
.fs-fn-ih-card::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:var(--fs-fn-r);pointer-events:none;background:linear-gradient(225deg,transparent calc(var(--fs-fn-fold)*.7071),rgb(var(--c-paper-soft)) calc(var(--fs-fn-fold)*.7071 + .5px));filter:var(--fs-fn-card-shade)}
.fs-fn-ih-card::before{content:"";position:absolute;top:0;right:0;z-index:1;width:var(--fs-fn-fold);height:var(--fs-fn-fold);pointer-events:none;border-bottom-left-radius:3px;background:linear-gradient(to bottom left,transparent 50%,var(--fs-fn-flap-a) calc(50% + .5px),var(--fs-fn-flap-b));filter:var(--fs-fn-flap-shade)}
.fs-fn-ih-cv{width:112px;border-radius:var(--fs-fn-r)}
.fs-fn-ih-body{display:grid;gap:4px;align-content:start;min-width:0}
.fs-fn-ih-kick{font-size:.7rem;font-weight:800;letter-spacing:.14em;line-height:1.5;text-transform:uppercase;color:rgb(var(--c-brand-text,var(--c-brand-600)));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fs-fn-ih-tx{display:grid;gap:4px;align-content:start;min-height:6.4rem}
.fs-fn-ih-ti{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-family:var(--font-display,'Source Serif 4',Georgia,serif);font-size:1.45rem;line-height:1.16;font-weight:500;letter-spacing:-.01em}
.fs-fn .fs-fn-ih-ti-a{color:rgb(var(--c-ink-950))}
.fs-fn .fs-fn-ih-ti-a:hover{text-decoration:underline;text-decoration-color:rgb(var(--c-accent));text-decoration-thickness:2px;text-underline-offset:4px}
.fs-fn-ih-st{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:.92rem;line-height:1.5;color:rgb(var(--c-ink-400))}
.fs-fn-ih-by{display:flex;align-items:center;gap:8px;min-width:0;min-height:28px;font-size:.8rem;font-weight:600;color:rgb(var(--c-ink-400))}
.fs-fn .fs-fn-ih-av{width:24px;height:24px;font-size:.6rem}
.fs-fn-ih-byn{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fs-fn-ih-dot{opacity:.6}
.fs-fn-ih-mn{white-space:nowrap;font-weight:800;color:rgb(var(--c-ink-950))}
/* the fit bar: how much of the time the pick fills (its ease is Task 9's) */
.fs-fn-ih-fit{display:flex;align-items:center;gap:12px;min-height:24px}
.fs-fn-ih-bar{order:-1;flex:0 0 72px;height:8px;border-radius:8px;background:color-mix(in srgb,rgb(var(--c-ink-400)) 28%,rgb(var(--c-paper-soft)));overflow:hidden}
.fs-fn-ih-bar-i{display:block;height:100%;border-radius:8px;background:rgb(var(--c-accent));transform-origin:left center;transform:scaleX(.8)}
.fs-fn-ih-fit[data-over] .fs-fn-ih-bar-i{background:rgb(var(--c-brand-text,var(--c-brand-600)))}
.fs-fn-ih-why{flex:1 1 auto;min-width:0;font-size:.9rem;font-weight:700;line-height:1.4;color:rgb(var(--c-ink-950))}
.fs-fn-ih-acts{display:flex;flex-wrap:wrap;gap:8px 12px}
.fs-fn .fs-fn-ih-acts .fs-fn-btn{min-height:44px;padding:0 20px;gap:8px;font-size:.93rem}
.fs-fn .fs-fn-ih-acts .fs-fn-ic{width:18px;height:18px}
.fs-fn-ih-alt{display:flex;align-items:center;gap:8px;min-width:0;min-height:24px;font-size:.86rem;color:rgb(var(--c-ink-400))}
.fs-fn-ih-altl{flex:none;font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.fs-fn .fs-fn-ih-alt-a{display:block;flex:0 1 auto;min-width:0;min-height:24px;line-height:24px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;color:var(--fs-fn-link);text-decoration:underline;text-decoration-color:rgb(var(--c-accent));text-decoration-thickness:2px;text-underline-offset:4px}
.fs-fn .fs-fn-ih-alt-a:hover{color:rgb(var(--c-ink-950))}
.fs-fn-ih-altm{flex:none;white-space:nowrap;font-weight:700}
[data-fs-layout="minimal"] .fs-fn-ih{border-radius:4px}
@container fs-fn-ih (max-width:860px){
  .fs-fn-ih-in{grid-template-columns:minmax(0,1fr)}
  .fs-fn-ih-res{border-left:0;border-top:1px solid rgb(var(--c-line))}
  .fs-fn-ih-ctl{padding:20px 24px}
  .fs-fn-ih-why{min-height:2.8em}
}
@container fs-fn-ih (max-width:560px){
  .fs-fn-ih-ctl,.fs-fn-ih-res{padding:20px 16px}
  .fs-fn .fs-fn-ih .fs-fn-ih-h{font-size:1.5rem}
  .fs-fn-ih-card{grid-template-columns:88px minmax(0,1fr);gap:16px}
  .fs-fn-ih-cv{width:88px}
  .fs-fn-ih-tx{min-height:8.95rem}
  .fs-fn-ih-ti{-webkit-line-clamp:3;font-size:1.3rem}
  .fs-fn-ih-st{-webkit-line-clamp:3}
  .fs-fn-ih-chip-in{padding:0 14px}
  .fs-fn-ih-pace{display:none}
  .fs-fn-ih-role{display:none}
}
/* the two buttons are either always side by side or always stacked */
@container fs-fn-ih (max-width:659px){.fs-fn .fs-fn-ih-acts .fs-fn-btn{flex:1 1 100%}}
@container fs-fn-ih (min-width:861px) and (max-width:1119px){.fs-fn .fs-fn-ih-acts .fs-fn-btn{flex:1 1 100%}}
/* the source's @media (max-width:1060px) / (max-width:760px), on the block */
@container fs-fn (max-width:1060px){
  .fs-fn-front-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
  .fs-fn-front-grid .fs-fn-sc-lead{grid-column:1/-1}
  .fs-fn-latest{padding-left:0;border-left:0}
}
@container fs-fn (max-width:760px){
  .fs-fn-front>.fs-fn-wrap{padding-top:22px;padding-bottom:50px}
  .fs-fn-front-grid{grid-template-columns:minmax(0,1fr)}
}

/* ══ shared section pieces (port Task 5a) ═════════════════════════
   .section{padding:76px 0} — every content block's root; the source's
   inline paddings and tints are options (_pad, _tone). */
.fs-fn-sec>.fs-fn-wrap{padding-top:76px;padding-bottom:76px}
.fs-fn-sec[data-pad="top0"]>.fs-fn-wrap{padding-top:0}
.fs-fn-sec[data-pad="top34"]>.fs-fn-wrap{padding-top:34px}
.fs-fn-sec[data-pad="bottom30"]>.fs-fn-wrap{padding-bottom:30px}
.fs-fn-sec[data-pad="top20"]>.fs-fn-wrap{padding-top:20px}
/* style="background:var(--tint);padding:64px 0" */
.fs-fn-sec[data-tone="tint"]{background:var(--fs-fn-tint)}
.fs-fn-sec[data-tone="tint"]>.fs-fn-wrap{padding-top:64px;padding-bottom:64px}
/* h2{font-size:clamp(1.8rem,3.2vw,2.7rem)} h3{font-size:1.28rem} */
.fs-fn .fs-fn-h2{font-size:clamp(1.8rem,calc(3.2 * var(--fs-fn-vw)),2.7rem)}
.fs-fn .fs-fn-h3{font-size:1.28rem}
/* .section-head{max-width:700px;margin-bottom:38px} .section-head.c{margin-inline:auto;text-align:center}
   .section-head p{margin-top:14px;font-size:1.05rem}
   .section-head.c .eyebrow::after{content:"";width:26px;height:0;border-top:2px solid currentColor} */
.fs-fn-shead{max-width:700px;margin-bottom:38px}
.fs-fn-shead[data-align="centre"]{margin-inline:auto;text-align:center}
.fs-fn-shead[data-align="centre"] .fs-fn-eyebrow::after{content:"";width:26px;height:0;border-top:2px solid currentColor}
.fs-fn .fs-fn-shead-p{margin-top:14px;font-size:1.05rem}
[data-fs-layout="centered"] .fs-fn-shead{margin-inline:auto;text-align:center}
[data-fs-layout="centered"] .fs-fn-shead .fs-fn-eyebrow::after{content:"";width:26px;height:0;border-top:2px solid currentColor}
/* .sec-bar{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap;
   padding-bottom:12px;margin-bottom:26px;border-bottom:2px solid var(--ink)}
   .sec-bar h2{font-size:clamp(1.5rem,2.4vw,2rem)} */
.fs-fn-secbar{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-bottom:12px;margin-bottom:26px;border-bottom:2px solid rgb(var(--c-ink-950))}
.fs-fn .fs-fn-secbar-h{font-size:clamp(1.5rem,calc(2.4 * var(--fs-fn-vw)),2rem)}
/* .link-arrow{display:inline-flex;align-items:center;gap:7px;font-weight:700;color:var(--link);
   background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat;padding-bottom:2px}
   .link-arrow .ic{width:17px;height:17px} (the underline's grow is Task 9's) */
.fs-fn .fs-fn-arrow{display:inline-flex;align-items:center;gap:7px;font-weight:700;color:var(--fs-fn-link);background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat;padding-bottom:2px}
.fs-fn .fs-fn-arrow .fs-fn-ic{width:17px;height:17px}
/* .card{background:var(--surf);border:1px solid var(--line);border-radius:var(--r);padding:28px} */
.fs-fn-card{background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));border-radius:var(--fs-fn-r);padding:28px}
.fs-fn .fs-fn-card-h{margin:14px 0 6px}
/* .icon-badge: the source's later rule — a soft brand gradient with an accent glow */
.fs-fn-badge{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:10px;flex:none;color:var(--fs-fn-link);
  background:radial-gradient(120% 90% at 85% 100%,color-mix(in srgb,rgb(var(--c-accent)) 30%,transparent),transparent 62%),linear-gradient(150deg,color-mix(in srgb,rgb(var(--c-brand-600)) 6%,rgb(var(--c-paper-soft))),color-mix(in srgb,rgb(var(--c-brand-600)) 20%,rgb(var(--c-paper-soft))));
  box-shadow:inset 0 1px 0 color-mix(in srgb,var(--fs-on-brand) 70%,transparent),inset 0 0 0 1px color-mix(in srgb,rgb(var(--c-brand-600)) 16%,transparent),0 2px 6px -1px color-mix(in srgb,rgb(var(--c-brand-600)) 22%,transparent)}
.dark .fs-fn-badge{background:radial-gradient(120% 90% at 85% 100%,color-mix(in srgb,rgb(var(--c-accent)) 26%,transparent),transparent 62%),linear-gradient(150deg,color-mix(in srgb,rgb(var(--c-brand-600)) 55%,rgb(var(--c-paper-soft))),color-mix(in srgb,rgb(var(--c-brand-600)) 25%,rgb(var(--c-paper-soft))));
  box-shadow:inset 0 1px 0 color-mix(in srgb,var(--fs-on-brand) 12%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--fs-on-brand) 7%,transparent),0 2px 6px rgb(var(--fs-fn-shade) / .4)}
.fs-preview-light .fs-fn-badge{background:radial-gradient(120% 90% at 85% 100%,color-mix(in srgb,rgb(var(--c-accent)) 30%,transparent),transparent 62%),linear-gradient(150deg,color-mix(in srgb,rgb(var(--c-brand-600)) 6%,rgb(var(--c-paper-soft))),color-mix(in srgb,rgb(var(--c-brand-600)) 20%,rgb(var(--c-paper-soft))));
  box-shadow:inset 0 1px 0 color-mix(in srgb,var(--fs-on-brand) 70%,transparent),inset 0 0 0 1px color-mix(in srgb,rgb(var(--c-brand-600)) 16%,transparent),0 2px 6px -1px color-mix(in srgb,rgb(var(--c-brand-600)) 22%,transparent)}
.fs-fn-badge .fs-fn-ic{filter:drop-shadow(1.5px 1.5px 0 color-mix(in srgb,rgb(var(--c-accent)) 45%,transparent))}
[data-fs-layout="minimal"] .fs-fn-badge{background:none;border:1.5px solid rgb(var(--c-line));box-shadow:none}
[data-fs-layout="minimal"] .fs-fn-badge .fs-fn-ic{filter:none}
/* .g3{display:grid;gap:22px;grid-template-columns:repeat(3,1fr)} */
.fs-fn-g3{display:grid;gap:22px;grid-template-columns:repeat(3,minmax(0,1fr))}
/* .two{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:start} */
.fs-fn-two{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:start}

/* ══ favFnTopicTiles — home 02 (.tt-grid) ═════════════════════════
   .tt-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
   .tt{display:grid;grid-template-columns:88px minmax(0,1fr);gap:16px;align-items:center;padding:12px;
   border:1px solid var(--line);border-radius:12px;background:var(--surf);box-shadow:var(--fn-sh-1)}
   .tt .cv{aspect-ratio:1/1;border-radius:8px} .tt h3{font-size:1.2rem}
   .tt small{display:block;color:var(--mute);font-size:.82rem;line-height:1.4;margin-top:2px} */
.fs-fn{--fs-fn-sh-1:0 1px 2px rgb(var(--c-ink-950) / .05),0 3px 8px -2px rgb(var(--c-ink-950) / .06)}
.dark .fs-fn{--fs-fn-sh-1:0 0 0 1px color-mix(in srgb,var(--fs-on-brand) 3%,transparent),0 2px 6px rgb(var(--fs-fn-shade) / .3)}
.fs-preview-light .fs-fn{--fs-fn-sh-1:0 1px 2px rgb(var(--c-ink-950) / .05),0 3px 8px -2px rgb(var(--c-ink-950) / .06)}
[data-fs-layout="minimal"] .fs-fn{--fs-fn-sh-1:none}
.fs-fn-tt-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.fs-fn-tt{position:relative;display:grid;grid-template-columns:88px minmax(0,1fr);gap:16px;align-items:center;padding:12px;border:1px solid rgb(var(--c-line));border-radius:12px;background:rgb(var(--c-paper-soft));box-shadow:var(--fs-fn-sh-1)}
[data-fs-layout="minimal"] .fs-fn-tt{border-radius:4px}
.fs-fn-tt .fs-fn-cv{aspect-ratio:1/1;border-radius:8px}
.fs-fn .fs-fn-tt-h{font-size:1.2rem}
.fs-fn .fs-fn-tt-a{color:inherit}
.fs-fn .fs-fn-tt-a::after{content:"";position:absolute;inset:0}
.fs-fn-tt-s{display:block;color:rgb(var(--c-ink-400));font-size:.82rem;line-height:1.4;margin-top:2px}

/* ══ favFnTrust — home 06 (.trust) ════════════════════════════════
   .trust{border-block:1px solid var(--line);background:var(--surf)}
   .trust-in{display:grid;grid-template-columns:repeat(4,1fr)}
   .trust-in>div{display:flex;gap:14px;align-items:center;padding:22px 20px;border-right:1px solid var(--line)}
   .trust-in b{display:block;font-size:.96rem} .trust-in small{color:var(--mute);font-size:.82rem;line-height:1.35;display:block} */
.fs-fn-trust{border-block:1px solid rgb(var(--c-line));background:rgb(var(--c-paper-soft))}
.fs-fn-trust-in{display:grid;grid-template-columns:repeat(var(--fs-fn-n,4),1fr)}
.fs-fn-trust-i{display:flex;gap:14px;align-items:center;padding:22px 20px;border-right:1px solid rgb(var(--c-line))}
.fs-fn-trust-i:last-child{border:0}
.fs-fn-trust-b{display:block;font-size:.96rem;font-weight:700}
.fs-fn-trust-s{color:rgb(var(--c-ink-400));font-size:.82rem;line-height:1.35;display:block}

/* ══ favFnStats — home 09 (.stats) ════════════════════════════════
   .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;text-align:center}
   .stat b{display:block;font-family:var(--serif);font-size:clamp(2.3rem,4.6vw,3.5rem);font-weight:500;color:var(--link);line-height:1}
   .stat>span{display:block;margin-top:10px;font-size:.92rem;color:var(--mute);font-weight:700}
   The source's fourth figure is dropped (owner O8): the row has as many
   columns as figures. */
.fs-fn-stat-row{display:grid;grid-template-columns:repeat(var(--fs-fn-n,4),1fr);gap:22px;text-align:center}
.fs-fn-stat-v{display:block;font-family:var(--font-display,'Source Serif 4',Georgia,serif);font-size:clamp(2.3rem,calc(4.6 * var(--fs-fn-vw)),3.5rem);font-weight:500;color:var(--fs-fn-link);line-height:1}
.fs-fn-stat-l{display:block;margin-top:10px;font-size:.92rem;color:rgb(var(--c-ink-400));font-weight:700}

/* ══ favFnCta — home 11, the Mini band (.cta-band) ═════════════════
   .cta-band{background:var(--pri-d);color:#fff;border-radius:14px;padding:54px;display:flex;align-items:center;
   justify-content:space-between;gap:30px;position:relative;overflow:hidden}
   .cta-band h2{color:#fff} .cta-band h2 em{color:var(--acc)}
   .cta-band p{color:rgba(255,255,255,.9);margin-top:12px;max-width:540px}
   .cta-band .acts{display:flex;gap:12px;flex-wrap:wrap;position:relative}
   .cta-band .deco{position:absolute;right:-40px;top:-50px;width:230px;height:230px;border-radius:50%;background:var(--acc);opacity:.2} */
.fs-fn-band{background:rgb(var(--c-brand-700));color:var(--fs-on-brand);border-radius:14px;padding:54px;display:flex;align-items:center;justify-content:space-between;gap:30px;position:relative;overflow:hidden}
.fs-fn .fs-fn-band .fs-fn-h2{color:var(--fs-on-brand)}
.fs-fn .fs-fn-band .fs-fn-em{color:rgb(var(--c-accent))}
.fs-fn .fs-fn-band-p{color:color-mix(in srgb,var(--fs-on-brand) 90%,transparent);margin-top:12px;max-width:540px}
.fs-fn-band-acts{display:flex;gap:12px;flex-wrap:wrap;position:relative}
.fs-fn-band-deco{position:absolute;right:-40px;top:-50px;width:230px;height:230px;border-radius:50%;background:rgb(var(--c-accent) / .2);pointer-events:none}
.fs-fn-band-copy{position:relative}
/* .btn.lg{padding:16px 30px;font-size:1.02rem} .btn.white{background:#fff;color:var(--pri-d);box-shadow:none}
   .btn.acc{background:var(--acc);color:#12161c;box-shadow:0 8px 20px color-mix(in srgb,var(--acc) 40%,transparent)} */
.fs-fn .fs-fn-btn-lg{padding:16px 30px;font-size:1.02rem}
.fs-fn .fs-fn-btn-white{background:var(--fs-on-brand);color:rgb(var(--c-brand-700));box-shadow:none}
.fs-fn .fs-fn-btn-acc{background:rgb(var(--c-accent));color:rgb(var(--c-brand-700));box-shadow:0 8px 20px color-mix(in srgb,rgb(var(--c-accent)) 40%,transparent)}
[data-fs-layout="centered"] .fs-fn-band{flex-direction:column;text-align:center}
[data-fs-layout="centered"] .fs-fn .fs-fn-band-p{margin-inline:auto}
[data-fs-layout="minimal"] .fs-fn-band{background:var(--fs-fn-tint);color:rgb(var(--c-ink-950));border-radius:4px}
[data-fs-layout="minimal"] .fs-fn .fs-fn-band .fs-fn-h2{color:rgb(var(--c-ink-950))}
[data-fs-layout="minimal"] .fs-fn .fs-fn-band .fs-fn-em{color:rgb(var(--c-brand-text,var(--c-brand-600)))}
[data-fs-layout="minimal"] .fs-fn .fs-fn-band-p{color:rgb(var(--c-ink-400))}
[data-fs-layout="minimal"] .fs-fn-band-deco{display:none}
[data-fs-layout="minimal"] .fs-fn .fs-fn-band .fs-fn-btn-white{background:rgb(var(--c-brand-600));color:var(--fs-on-brand)}

/* ══ favFnSplitList — about 02, how 03, how 05 (.two + .note-list / .clog) ══
   .note-list{list-style:none;display:grid;gap:10px} .note-list li{display:flex;gap:12px;color:var(--mute)}
   .note-list .ic{color:var(--link);margin-top:3px}
   .clog{list-style:none;display:grid;gap:10px;font-size:.88rem} .clog li{padding:10px 14px;border-radius:8px;background:var(--tint);color:var(--ink)}
   .clog li b{display:block;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--kick)} */
.fs-fn .fs-fn-two-p{margin-top:14px}
.fs-fn-notes{list-style:none;display:grid;gap:10px;margin:0}
.fs-fn-note{display:flex;gap:12px;color:rgb(var(--c-ink-400))}
.fs-fn-note .fs-fn-ic{color:var(--fs-fn-link);margin-top:3px}
.fs-fn-note-b{color:rgb(var(--c-ink-950));font-weight:700}
.fs-fn-clog{list-style:none;display:grid;gap:10px;font-size:.88rem;margin:0}
.fs-fn-clog.fs-fn-card{padding:20px}
.fs-fn-clog-i{padding:10px 14px;border-radius:8px;background:var(--fs-fn-tint);color:rgb(var(--c-ink-950))}
.fs-fn-clog-b{display:block;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--c-brand-text,var(--c-brand-600)));font-weight:700}

/* the source's @media (max-width:1060px) and (max-width:760px) / (420px), on the block */
@container fs-fn (max-width:1060px){
  .fs-fn-two{grid-template-columns:minmax(0,1fr)}
  .fs-fn-g3,.fs-fn-tt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-fn-trust-in{grid-template-columns:repeat(2,1fr)}
  .fs-fn-trust-i:nth-child(2){border-right:0}
  .fs-fn-trust-i:nth-child(-n+2){border-bottom:1px solid rgb(var(--c-line))}
  .fs-fn-band{flex-direction:column;align-items:flex-start;padding:44px 32px}
}
@container fs-fn (max-width:760px){
  .fs-fn-sec>.fs-fn-wrap{padding-top:56px;padding-bottom:56px}
  .fs-fn-g3,.fs-fn-tt-grid{grid-template-columns:minmax(0,1fr)}
  .fs-fn-stat-row{grid-template-columns:repeat(2,1fr)}
  .fs-fn-trust-in{grid-template-columns:1fr}
  .fs-fn-trust-i{border-right:0;border-bottom:1px solid rgb(var(--c-line))}
  .fs-fn-trust-i:last-child{border-bottom:0}
  .fs-fn-band{padding:36px 24px}
  .fs-fn-tt{grid-template-columns:72px minmax(0,1fr)}
}
@container fs-fn (max-width:420px){
  .fs-fn-stat-v{font-size:2.2rem}
}

/* ══ Task 5b: listings ════════════════════════════════════════════
   .grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 28px}
   .filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:26px}
   .filters .count{margin-left:auto;font-weight:800;font-size:.88rem}
   .fchip{display:inline-flex;align-items:center;gap:8px;padding:8px 15px;border-radius:999px;
   border:1.5px solid var(--line);background:var(--surf);font-weight:700;font-size:.86rem}
   .fchip[aria-pressed=true]{background:var(--pri);border-color:var(--pri);color:#fff} */
.fs-fn-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 28px}
.fs-fn-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:26px}
.fs-fn-chiprow{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
/* The source's filter rows (Task 11, found at 390): Latest / All stories
   set their chips straight in .filters, so the count sits on the chips'
   last line (the row is the radio group's box only, not a box of its
   own); the library's chips sit in .chips.tight (8px). */
.fs-fn-stories .fs-fn-filters>.fs-fn-chiprow{display:contents}
.fs-fn-search .fs-fn-chiprow{gap:8px}
.fs-fn-count{margin-left:auto;font-weight:800;font-size:.88rem}
.fs-fn .fs-fn-fchip{display:inline-flex;align-items:center;gap:8px;padding:8px 15px;border-radius:999px;border:1.5px solid rgb(var(--c-line));background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));font-family:inherit;font-weight:700;font-size:.86rem;line-height:1.6;cursor:pointer}
.fs-fn .fs-fn-fchip:hover{border-color:rgb(var(--c-brand-600))}
.fs-fn .fs-fn-fchip[aria-checked="true"],.fs-fn .fs-fn-fchip[data-on]{background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));color:var(--fs-on-brand)}
[data-fs-layout="minimal"] .fs-fn .fs-fn-fchip{border-radius:4px}
/* .fs-sel{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
   .fs-sel label{font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
   .fs-sel select{padding:8px 12px;border-radius:8px;border:1.5px solid var(--line);background:var(--surf);font-weight:700;font-size:.86rem} */
.fs-fn-sel{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-left:14px}
.fs-fn-sel-l{font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
.fs-fn .fs-fn-select{line-height:1.6;padding:8px 12px;border-radius:8px;border:1.5px solid rgb(var(--c-line));background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));font-family:inherit;font-weight:700;font-size:.86rem}
/* .fs-empty{padding:30px;text-align:center;border:1px dashed var(--line);border-radius:12px;color:var(--ink);font-weight:700} */
.fs-fn-empty{padding:30px;text-align:center;border:1px dashed rgb(var(--c-line));border-radius:12px;color:rgb(var(--c-ink-950));font-weight:700}
/* .sc.row{flex-direction:row;gap:16px;align-items:flex-start} .sc.row .cv{flex:0 0 140px;aspect-ratio:1/1}
   .sc.row h3{font-size:1.12rem} .sc.row .sc-b{flex:1 1 0;min-width:0} .tp-list .sc.row p{display:block} */
.fs-fn-sc-row{flex-direction:row;gap:16px;align-items:flex-start}
.fs-fn .fs-fn-sc-row>.fs-fn-cv{flex:0 0 140px;aspect-ratio:1/1}
.fs-fn .fs-fn-sc-row .fs-fn-sc-h{font-size:1.12rem}
.fs-fn-sc-row .fs-fn-sc-b{flex:1 1 0;min-width:0}

/* .au-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
   .au{display:flex;flex-direction:column;gap:10px;padding:26px;border:1px solid var(--line);border-radius:14px;background:var(--surf);box-shadow:var(--fn-sh-1)}
   .au h3{font-size:1.4rem} .au small.role{color:var(--kick);font-weight:800;letter-spacing:.1em;text-transform:uppercase;font-size:.7rem}
   .au p{font-size:.92rem} .au .meta{display:flex;gap:16px;flex-wrap:wrap;font-size:.8rem;font-weight:700;color:var(--mute);margin-top:auto;padding-top:10px;border-top:1px dashed var(--line)}
   .av.xl{width:84px;height:84px;font-size:1.7rem;font-family:var(--serif);font-weight:500} .av.alt{background:var(--pri-d)} */
.fs-fn-au-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.fs-fn-au{display:flex;flex-direction:column;gap:10px;padding:26px;border:1px solid rgb(var(--c-line));border-radius:14px;background:rgb(var(--c-paper-soft));box-shadow:var(--fs-fn-sh-1)}
[data-fs-layout="minimal"] .fs-fn-au{border-radius:4px}
.fs-fn .fs-fn-au-h{font-size:1.4rem}
.fs-fn-au-role{color:rgb(var(--c-brand-text,var(--c-brand-600)));font-weight:800;letter-spacing:.1em;text-transform:uppercase;font-size:.7rem}
.fs-fn .fs-fn-au-p{font-size:.92rem}
.fs-fn-au-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:.8rem;font-weight:700;color:rgb(var(--c-ink-400));margin-top:auto;padding-top:10px;border-top:1px dashed rgb(var(--c-line))}
.fs-fn .fs-fn-av-xl{width:84px;height:84px;font-size:1.7rem;font-family:var(--font-display,'Source Serif 4',Georgia,serif);font-weight:500}
.fs-fn .fs-fn-av-alt{background:rgb(var(--c-brand-700))}
.dark .fs-fn .fs-fn-av-alt{background:color-mix(in srgb,rgb(var(--c-brand-600)) 70%,rgb(var(--fs-fn-shade)))}
.fs-preview-light .fs-fn .fs-fn-av-alt{background:rgb(var(--c-brand-700))}
.fs-fn-au .fs-fn-sample,.fs-fn-au .fs-fn-mark{align-self:flex-start}

/* .acc-item{background:var(--surf);border:1px solid var(--line);border-radius:10px;margin-bottom:12px;overflow:hidden}
   .acc-item.open{border-color:color-mix(in srgb,var(--pri) 50%,var(--line))}
   .acc-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:14px;text-align:left;padding:20px 24px;font-weight:700;font-size:1.02rem}
   .acc-q .ic{color:var(--link)} .acc-item.open .acc-q .ic{transform:rotate(45deg)}
   .acc-a p{padding:0 24px 22px} (the open / close ease and the turning plus are Task 9's) */
.fs-fn-sec[data-narrow] .fs-fn-wrap{max-width:860px}
.fs-fn-acc{background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));border-radius:10px;margin-bottom:12px;overflow:hidden}
.fs-fn-acc[data-open]{border-color:color-mix(in srgb,rgb(var(--c-brand-600)) 50%,rgb(var(--c-line)))}
.fs-fn .fs-fn-acc-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:14px;text-align:left;padding:20px 24px;font-family:inherit;font-weight:700;font-size:1.02rem;line-height:1.6;color:rgb(var(--c-ink-950));background:none;border:0;cursor:pointer}
.fs-fn .fs-fn-acc-q .fs-fn-ic{color:var(--fs-fn-link)}
.fs-fn-acc[data-open] .fs-fn-acc-q .fs-fn-ic{transform:rotate(45deg)}
.fs-fn .fs-fn-acc-p{padding:0 24px 22px}

/* .tp{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:40px;padding:38px 0;border-top:2px solid var(--ink)}
   .tp h2{margin:8px 0 10px} .tp .cv{aspect-ratio:16/9;margin-bottom:16px}
   .tp ul{list-style:none;display:grid;gap:6px;margin-top:12px;font-size:.9rem;color:var(--mute)}
   .tp ul li{display:flex;gap:8px} .tp ul .ic{width:16px;height:16px;margin-top:4px;color:var(--kick)}
   .tp .follow{margin-top:16px} .tp-list{display:grid;gap:20px}
   .mk-like .btn.sm.alt: .btn.sm{padding:9px 18px;font-size:.88rem} */
.fs-fn-tp{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:40px;padding:38px 0;border-top:2px solid rgb(var(--c-ink-950));scroll-margin-top:150px}
.fs-fn .fs-fn-tp-h{margin:8px 0 10px}
.fs-fn-tp .fs-fn-cv{aspect-ratio:16/9;margin-bottom:16px}
/* the desk cover's own style="margin-top:16px" (the source's topicsec builder) */
.fs-fn-tp-a>.fs-fn-cv{margin-top:16px}
.fs-fn-tp-remit{list-style:none;display:grid;gap:6px;margin:12px 0 0;padding:0;font-size:.9rem;color:rgb(var(--c-ink-400))}
.fs-fn-tp-li{display:flex;gap:8px}
.fs-fn-tp-li .fs-fn-ic{width:16px;height:16px;margin-top:4px;color:rgb(var(--c-brand-text,var(--c-brand-600)))}
.fs-fn .fs-fn-follow{margin-top:16px}
.fs-fn .fs-fn-btn-sm{padding:9px 18px;font-size:.88rem}
.fs-fn-tp-list{display:grid;gap:20px}
/* a desk with no stories (yet): one column, no empty list (5b review) */
.fs-fn-tp[data-one]{grid-template-columns:minmax(0,1fr)}

/* .se-grid{display:grid;gap:26px}
   .se{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:34px;padding:26px;border:1px solid var(--line);border-radius:14px;background:var(--surf);align-items:start}
   .se .cv{aspect-ratio:4/3;border-radius:10px} .se h3{font-size:1.7rem;margin:6px 0 8px}
   .se-meter{display:flex;align-items:center;gap:12px;margin:16px 0 6px;font-size:.84rem;font-weight:800}
   .se-meter .tr{flex:1;height:8px;border-radius:8px;background:var(--line);overflow:hidden}
   .se-meter .tr i{display:block;height:100%;width:0;border-radius:8px;background:var(--acc)}
   .se-parts{list-style:none;display:grid;gap:0;margin-top:8px;align-self:center}
   .se-parts li{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}
   .se-parts .pn{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1.5px solid var(--line);font-weight:800;font-size:.8rem;color:var(--mute)}
   .se-parts li.done .pn{background:var(--pri);border-color:var(--pri);color:#fff}
   .se-parts li.done .t{color:var(--mute);text-decoration:line-through;text-decoration-color:var(--acc)}
   .se-parts .t{font-family:var(--serif);font-size:1.05rem;line-height:1.25} .se-parts .t small{display:block;font-family:var(--font);font-size:.76rem;color:var(--mute);font-weight:600}
   .mk{padding:6px 12px;border-radius:999px;border:1.5px solid var(--line);font-weight:800;font-size:.76rem;white-space:nowrap}
   .mk[aria-pressed=true]{background:var(--tint);border-color:var(--pri);color:var(--link)} */
.fs-fn-se-grid{display:grid;gap:26px}
.fs-fn-se{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:34px;padding:26px;border:1px solid rgb(var(--c-line));border-radius:14px;background:rgb(var(--c-paper-soft));align-items:start}
[data-fs-layout="minimal"] .fs-fn-se{border-radius:4px}
.fs-fn-se .fs-fn-cv{aspect-ratio:4/3;border-radius:10px}
.fs-fn-se .fs-fn-kick{margin-top:14px}
.fs-fn .fs-fn-se-h{font-size:1.7rem;margin:6px 0 8px}
.fs-fn-se-meter{display:flex;align-items:center;gap:12px;margin:16px 0 6px;font-size:.84rem;font-weight:800}
.fs-fn-se-tr{flex:1;height:8px;border-radius:8px;background:rgb(var(--c-line));overflow:hidden}
.fs-fn-se-tr-i{display:block;height:100%;width:0;border-radius:8px;background:rgb(var(--c-accent))}
.fs-fn-se-tot{color:rgb(var(--c-ink-400));font-weight:700;font-size:.8rem}
.fs-fn-se-parts{list-style:none;display:grid;gap:0;margin:8px 0 0;padding:0;align-self:center}
.fs-fn-se-li{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid rgb(var(--c-line))}
.fs-fn-se-pn{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1.5px solid rgb(var(--c-line));font-weight:800;font-size:.8rem;color:rgb(var(--c-ink-400))}
.fs-fn-se-li[data-done] .fs-fn-se-pn{background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));color:var(--fs-on-brand)}
.fs-fn-se-t{font-family:var(--font-display,'Source Serif 4',Georgia,serif);font-size:1.05rem;line-height:1.25}
.fs-fn-se-li[data-done] .fs-fn-se-t{color:rgb(var(--c-ink-400));text-decoration:line-through;text-decoration-color:rgb(var(--c-accent))}
.fs-fn .fs-fn-se-a{color:inherit}
.fs-fn-se-m{display:block;font-family:var(--font-sans,'Hanken Grotesk',sans-serif);font-size:.76rem;color:rgb(var(--c-ink-400));font-weight:600}
.fs-fn .fs-fn-mk{padding:6px 12px;border-radius:999px;border:1.5px solid rgb(var(--c-line));background:none;color:rgb(var(--c-ink-950));font-family:inherit;font-weight:800;font-size:.76rem;line-height:1.6;white-space:nowrap;cursor:pointer}
.fs-fn .fs-fn-mk:hover{border-color:rgb(var(--c-brand-600))}
.fs-fn .fs-fn-mk[aria-pressed="true"]{background:var(--fs-fn-tint);border-color:rgb(var(--c-brand-600));color:var(--fs-fn-link)}

@container fs-fn (max-width:1060px){
  .fs-fn-se,.fs-fn-tp{grid-template-columns:minmax(0,1fr)}
  .fs-fn-au-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-fn-grid3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container fs-fn (max-width:760px){
  .fs-fn-grid3,.fs-fn-au-grid{grid-template-columns:minmax(0,1fr)}
  .fs-fn-se-li{grid-template-columns:34px minmax(0,1fr)}
  .fs-fn-se-li .fs-fn-mk{grid-column:2;justify-self:start}
}

/* ══ forms — favFnNewsletter, favFnContact (port Task 5c) ══════════
   *{margin:0;padding:0} fieldset{border:0;min-width:0}
   .form{display:grid;gap:16px} .field{display:grid;gap:6px}
   .field label{font-weight:700;font-size:.88rem}
   .field input,.field select,.field textarea{width:100%;padding:13px 16px;border-radius:10px;
   border:1.5px solid var(--line);background:var(--surf);transition:border-color .2s,box-shadow .2s}
   .field textarea{min-height:110px;resize:vertical}
   .field input:focus,…{outline:none;border-color:var(--pri);box-shadow:0 0 0 4px color-mix(in srgb,var(--pri) 18%,transparent)}
   .field.err input,.field.err textarea{border-color:#d1432f}
   .field .em{display:none;color:#d1432f;font-size:.8rem;font-weight:600}.field.err .em{display:block}
   .row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
   .form-ok{display:none;padding:14px 18px;border-radius:16px;background:color-mix(in srgb,#2fb67a 18%,var(--surf));font-weight:600;color:var(--ink)}
   The error red and the success green are the platform's status
   tokens (never a literal colour in a block). */
/* The error ink: the platform status red, lifted toward the light ink
   in dark mode (4.12:1 on the dark panel; this is 5.3:1; 5c/6a review). */
.fs-fn{--fs-fn-err:rgb(var(--fs-status-bad))}
.dark .fs-fn{--fs-fn-err:color-mix(in srgb,rgb(var(--fs-status-bad)) 80%,rgb(var(--c-ink-950)))}
.fs-preview-light .fs-fn{--fs-fn-err:rgb(var(--fs-status-bad))}
.fs-fn-form{display:grid;gap:16px;margin:0}
.fs-fn-field{display:grid;gap:6px}
.fs-fn .fs-fn-label{font-weight:700;font-size:.88rem;line-height:1.6;color:rgb(var(--c-ink-950))}
.fs-fn .fs-fn-input{display:block;width:100%;margin:0;padding:13px 16px;border-radius:10px;border:1.5px solid rgb(var(--c-line));background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));font:inherit;line-height:1.6}
.fs-fn .fs-fn-input:focus{outline:none;border-color:rgb(var(--c-brand-600));box-shadow:0 0 0 4px color-mix(in srgb,rgb(var(--c-brand-600)) 18%,transparent)}
.fs-fn .fs-fn-textarea{min-height:110px;resize:vertical}
/* the editor canvas draws the empty box (no input while editing) */
.fs-fn-input-ph{min-height:51.5px}
.fs-fn-textarea.fs-fn-input-ph{min-height:110px}
.fs-fn-field[data-err] .fs-fn-input{border-color:var(--fs-fn-err)}
.fs-fn .fs-fn-err{display:none;color:var(--fs-fn-err);font-size:.8rem;font-weight:600}
.fs-fn-field[data-err] .fs-fn-err{display:block}
.fs-fn-row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fs-fn-fset{border:0;min-width:0;margin:0;padding:0}
/* legend style="font-weight:800;font-size:.88rem;margin-bottom:8px" */
.fs-fn .fs-fn-legend{display:block;padding:0;font-weight:800;font-size:.88rem;line-height:1.6;margin-bottom:8px;color:rgb(var(--c-ink-950))}
.fs-fn-form-ok{display:none;padding:14px 18px;border-radius:16px;background:color-mix(in srgb,rgb(var(--fs-status-ok)) 18%,rgb(var(--c-paper-soft)));font-weight:600;color:rgb(var(--c-ink-950));outline:none}
.fs-fn-form-ok[data-show]{display:block}
.fs-fn-form-ok[data-fail]{background:color-mix(in srgb,rgb(var(--fs-status-bad)) 14%,rgb(var(--c-paper-soft)))}
.fs-fn-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.fs-fn .fs-fn-btn:disabled{opacity:.7;cursor:progress}
/* .chips{display:flex;flex-wrap:wrap;gap:10px} .chips.tight{gap:8px}
   .cchip{position:relative;display:inline-flex;align-items:center;gap:8px;padding:9px 15px;border-radius:999px;
   border:1.5px solid var(--line);background:var(--surf);font-weight:700;font-size:.88rem;cursor:pointer}
   .cchip input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
   .cchip:hover{border-color:var(--pri)} .cchip:has(input:focus-visible){outline:3px solid var(--acc);outline-offset:2px}
   .cchip:has(input:checked){background:var(--pri);border-color:var(--pri);color:#fff} */
.fs-fn-chips{display:flex;flex-wrap:wrap;gap:8px}
.fs-fn-cchip{position:relative;display:inline-flex;align-items:center;gap:8px;padding:9px 15px;border-radius:999px;border:1.5px solid rgb(var(--c-line));background:rgb(var(--c-paper-soft));font-weight:700;font-size:.88rem;line-height:1.6;cursor:pointer}
.fs-fn .fs-fn-cchip-in{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.fs-fn-cchip:hover{border-color:rgb(var(--c-brand-600))}
.fs-fn-cchip:has(.fs-fn-cchip-in:focus-visible){outline:3px solid rgb(var(--c-accent));outline-offset:2px}
.fs-fn-cchip:has(.fs-fn-cchip-in:checked){background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));color:var(--fs-on-brand)}
/* .opt-row{display:grid;gap:10px}
   .opt{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:10px;border:1.5px solid var(--line);background:var(--bg);cursor:pointer}
   .opt input{margin-top:5px;accent-color:var(--pri)} .opt:has(input:checked){border-color:var(--pri);background:var(--tint)}
   .opt:has(input:focus-visible){outline:3px solid var(--acc);outline-offset:2px} .opt b{display:block}.opt small{color:var(--mute);display:block} */
.fs-fn-opt-row{display:grid;gap:10px}
.fs-fn-opt{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:10px;border:1.5px solid rgb(var(--c-line));background:rgb(var(--c-paper));cursor:pointer}
.fs-fn .fs-fn-opt-in{margin:5px 0 0;accent-color:rgb(var(--c-brand-600));flex:none}
.fs-fn-opt:has(.fs-fn-opt-in:checked),.fs-fn-opt[data-on]{border-color:rgb(var(--c-brand-600));background:var(--fs-fn-tint)}
.fs-fn-opt:has(.fs-fn-opt-in:focus-visible){outline:3px solid rgb(var(--c-accent));outline-offset:2px}
.fs-fn-opt:has(.fs-fn-opt-in:focus-visible) .fs-fn-opt-in{outline:none}
.fs-fn-opt-dot{flex:none;width:13px;height:13px;margin-top:6px;border-radius:50%;border:1.5px solid rgb(var(--c-ink-400))}
.fs-fn-opt[data-on] .fs-fn-opt-dot{border:4px solid rgb(var(--c-brand-600))}
.fs-fn-opt-b{display:block;font-weight:700}
/* small: the browser default (smaller), not the platform reset 80% */
.fs-fn-opt-s{display:block;font-size:smaller;color:rgb(var(--c-ink-400))}
/* .check{display:flex;gap:12px;align-items:flex-start;font-size:.88rem;color:var(--mute);cursor:pointer}
   .check input{margin-top:4px;width:18px;height:18px;accent-color:var(--pri);flex:none} .check.err{color:#c4452f}
   .check-em{display:none;font-weight:700;margin-top:4px} .check.err .check-em{display:block} */
.fs-fn-check{display:flex;gap:12px;align-items:flex-start;font-size:.88rem;color:rgb(var(--c-ink-400));cursor:pointer}
.fs-fn .fs-fn-check-in{margin:4px 0 0;width:18px;height:18px;accent-color:rgb(var(--c-brand-600));flex:none}
.fs-fn-check-box{flex:none;width:18px;height:18px;margin-top:4px;border-radius:3px;border:1.5px solid rgb(var(--c-ink-400))}
.fs-fn-check[data-err]{color:var(--fs-fn-err)}
/* the error sits under the label, not inside it (read once, 5c/6a review) */
.fs-fn-check-wrap{display:grid}
.fs-fn .fs-fn-check-em{display:block;margin:4px 0 0 30px;font-size:.88rem;font-weight:700;color:var(--fs-fn-err)}
.fs-fn-check-em:empty{display:none}
/* .panel{background:var(--surf);border:1px solid var(--line);border-radius:14px;padding:28px}
   .panel h4{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin:22px 0 11px}
   .panel h4:first-child{margin-top:0} */
.fs-fn-panel{background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));border-radius:14px;padding:28px}
[data-fs-layout="minimal"] .fs-fn-panel{border-radius:4px}
.fs-fn .fs-fn-panel-h{font-size:.72rem;line-height:1.2;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:rgb(var(--c-ink-400));margin:22px 0 11px}
.fs-fn .fs-fn-panel-h:first-child{margin-top:0}
/* .note{font-size:.82rem;color:var(--mute);margin-top:14px;padding:10px 14px;border-radius:8px;background:var(--tint);line-height:1.5} */
.fs-fn .fs-fn-tip{font-size:.82rem;color:rgb(var(--c-ink-400));margin-top:14px;padding:10px 14px;border-radius:8px;background:var(--fs-fn-tint);line-height:1.5}

/* .nh{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:36px;align-items:start}
   .nh .panel h3{margin-bottom:6px} (h3 style="font-size:1.7rem"; p style="margin-top:8px")
   .nh .form{margin-top:16px}
   .nh-ok{display:none;margin-top:16px;padding:20px;border-radius:12px;background:color-mix(in srgb,#2fb67a 16%,var(--surf));border:1.5px solid #2fb67a}
   .nh-ok h3{font-size:1.3rem;margin-bottom:4px}.nh-ok p{color:var(--ink);font-size:.92rem}
   section style="background:var(--tint2)" */
.fs-fn-sec[data-tone="tint2"]{background:var(--fs-fn-tint2)}
.fs-fn-nh{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:36px;align-items:start}
.fs-fn .fs-fn-nh-h{font-size:1.7rem;margin-bottom:6px}
.fs-fn .fs-fn-nh-p{margin-top:8px}
.fs-fn-nh .fs-fn-form{margin-top:16px}
.fs-fn-nh-ok{display:none;margin-top:16px;padding:20px;border-radius:12px;background:color-mix(in srgb,rgb(var(--fs-status-ok)) 16%,rgb(var(--c-paper-soft)));border:1.5px solid rgb(var(--fs-status-ok));outline:none}
.fs-fn-nh-ok[data-show]{display:block}
.fs-fn-nh-ok[data-fail]{background:color-mix(in srgb,rgb(var(--fs-status-bad)) 12%,rgb(var(--c-paper-soft)));border-color:rgb(var(--fs-status-bad))}
.fs-fn .fs-fn-nh-okh{font-size:1.3rem;margin-bottom:4px}
.fs-fn .fs-fn-nh-okp{color:rgb(var(--c-ink-950));font-size:.92rem}
/* .mail{border:1px solid var(--line);border-radius:12px;background:var(--surf);box-shadow:var(--shadow);overflow:hidden;position:sticky;top:calc(var(--studio-h) + 160px)}
   .mail-bar{display:flex;gap:7px;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--bg)}
   .mail-bar i{width:10px;height:10px;border-radius:50%;background:var(--line)}
   .mail-hd{padding:14px 20px 10px;border-bottom:1px solid var(--line);font-size:.8rem;color:var(--mute)}
   .mail-hd b{display:block;color:var(--ink);font-size:.95rem}
   .mail-bd{padding:18px 20px 22px;display:grid;gap:14px} .mail-bd h4{font-family:var(--serif);font-weight:500;font-size:1.4rem}
   .mail-it{display:grid;grid-template-columns:54px minmax(0,1fr);gap:12px;align-items:center} .mail-it .cv{aspect-ratio:1/1;border-radius:6px}
   .mail-it b{font-family:var(--serif);font-weight:500;font-size:.98rem;line-height:1.25;display:block}
   .mail-it small{color:var(--mute);font-size:.74rem;font-weight:700}
   .mail-ft{padding:12px 20px;border-top:1px solid var(--line);font-size:.74rem;color:var(--mute);background:var(--bg)}
   The sticky top: the source's studio bar is demo scaffolding; the
   platform header's height stands in. */
.fs-fn-mail{border:1px solid rgb(var(--c-line));border-radius:12px;background:rgb(var(--c-paper-soft));box-shadow:var(--fs-fn-shadow);overflow:hidden;position:sticky;top:calc(var(--fs-header-h,0px) + 24px)}
.fs-fn-mail-bar{display:flex;gap:7px;padding:10px 14px;border-bottom:1px solid rgb(var(--c-line));background:rgb(var(--c-paper))}
.fs-fn-mail-bar-i{display:block;width:10px;height:10px;border-radius:50%;background:rgb(var(--c-line))}
.fs-fn-mail-hd{padding:14px 20px 10px;border-bottom:1px solid rgb(var(--c-line));font-size:.8rem;color:rgb(var(--c-ink-400))}
.fs-fn-mail-from{display:block;color:rgb(var(--c-ink-950));font-size:.95rem}
.fs-fn-mail-bd{padding:18px 20px 22px;display:grid;gap:14px}
.fs-fn .fs-fn-mail-h{font-family:var(--font-display,'Source Serif 4',Georgia,serif);font-weight:500;font-size:1.4rem;line-height:1.2;margin:0;color:rgb(var(--c-ink-950))}
.fs-fn-mail-it{display:grid;grid-template-columns:54px minmax(0,1fr);gap:12px;align-items:center}
.fs-fn-mail-it .fs-fn-cv{aspect-ratio:1/1;border-radius:6px}
.fs-fn-mail-t{font-family:var(--font-display,'Source Serif 4',Georgia,serif);font-weight:500;font-size:.98rem;line-height:1.25;display:block}
.fs-fn-mail-m{color:rgb(var(--c-ink-400));font-size:.74rem;font-weight:700}
.fs-fn .fs-fn-mail-tip{font-size:.86rem;color:rgb(var(--c-ink-950))}
.fs-fn-mail-ft{padding:12px 20px;border-top:1px solid rgb(var(--c-line));font-size:.74rem;color:rgb(var(--c-ink-400));background:rgb(var(--c-paper))}
@container fs-fn (max-width:1060px){
  .fs-fn-nh{grid-template-columns:minmax(0,1fr)}
  .fs-fn-mail{position:static}
}
@container fs-fn (max-width:760px){
  .fs-fn-panel{padding:22px 18px}
}

/* ══ favFnPicks — the coffee-break planner (port Task 6a) ══════════
   .pk{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:34px;align-items:start}
   .pk-big{display:flex;align-items:baseline;gap:8px;margin:2px 0 6px}
   .pk-big b{font-family:var(--serif);font-size:3.3rem;line-height:1;color:var(--link);font-weight:500}
   .pk-big span{font-weight:800;color:var(--mute)}
   .range{width:100%;accent-color:var(--pri);height:30px}
   .pk-res .pk-it{display:grid;grid-template-columns:78px minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}
   .pk-res .pk-it:first-child{border-top:0;padding-top:0} .pk-it .cv{aspect-ratio:1/1;border-radius:6px}
   .pk-it h4{font-family:var(--serif);font-weight:500;font-size:1.12rem;line-height:1.25;margin:3px 0 0}
   .pk-it .mn{font-weight:800;font-size:.84rem;white-space:nowrap;color:var(--ink)}
   .pk-sum{display:flex;align-items:center;gap:14px;margin-top:18px;padding:14px 16px;border-radius:10px;background:var(--tint);flex-wrap:wrap}
   .pk-sum .tr{flex:1 1 140px;height:9px;border-radius:9px;background:var(--line);overflow:hidden}
   .pk-sum .tr i{display:block;height:100%;width:0;background:var(--acc);border-radius:9px}
   .pk-sum span{font-weight:800;font-size:.88rem}
   .pk-empty{padding:18px;border-radius:10px;background:var(--tint);font-weight:700;color:var(--ink)}
   section style="background:var(--tint)" (76px, not the 64px tint band) */
.fs-fn-sec[data-tone="tintfull"]{background:var(--fs-fn-tint)}
.fs-fn-pk{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:34px;align-items:start;outline:none}
.fs-fn .fs-fn-pk:focus-visible{outline:3px solid rgb(var(--c-accent));outline-offset:4px}
.fs-fn-pk-big{display:flex;align-items:baseline;gap:8px;margin:2px 0 6px}
.fs-fn-pk-n{font-family:var(--font-display,'Source Serif 4',Georgia,serif);font-size:3.3rem;line-height:1;color:var(--fs-fn-link);font-weight:500}
.fs-fn-pk-w{font-weight:800;color:rgb(var(--c-ink-400))}
/* an inline-block in its own line box, as the source's (the line adds ~7.6px under it) */
.fs-fn .fs-fn-range{width:100%;margin:0;accent-color:rgb(var(--c-brand-600));height:30px}
.fs-fn-range-ph{display:inline-block;width:100%;height:30px;vertical-align:baseline;background:linear-gradient(rgb(var(--c-line)),rgb(var(--c-line))) 0 50%/100% 4px no-repeat}
.fs-fn-pk-res{display:grid;gap:0}
.fs-fn-pk-it{display:grid;grid-template-columns:78px minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 0;border-top:1px solid rgb(var(--c-line))}
.fs-fn-pk-it:first-child{border-top:0;padding-top:0}
.fs-fn-pk-it .fs-fn-cv{aspect-ratio:1/1;border-radius:6px}
.fs-fn .fs-fn-pk-h{font-family:var(--font-display,'Source Serif 4',Georgia,serif);font-weight:500;font-size:1.12rem;line-height:1.25;margin:3px 0 0;color:rgb(var(--c-ink-950))}
.fs-fn .fs-fn-pk-a:hover{text-decoration:underline;text-decoration-color:rgb(var(--c-accent));text-underline-offset:3px}
.fs-fn-pk-mn{font-weight:800;font-size:.84rem;white-space:nowrap;color:rgb(var(--c-ink-950))}
.fs-fn-pk-sum{display:flex;align-items:center;gap:14px;margin-top:18px;padding:14px 16px;border-radius:10px;background:var(--fs-fn-tint);flex-wrap:wrap}
.fs-fn-pk-tr{flex:1 1 140px;height:9px;border-radius:9px;background:rgb(var(--c-line));overflow:hidden}
.fs-fn-pk-tr-i{display:block;height:100%;width:0;background:rgb(var(--c-accent));border-radius:9px}
.fs-fn-pk-sum-t{font-weight:800;font-size:.88rem}
.fs-fn-pk-empty{padding:18px;border-radius:10px;background:var(--fs-fn-tint);font-weight:700;color:rgb(var(--c-ink-950))}
.fs-fn-pk-save{margin-top:16px}
.fs-fn-pk-say{margin-top:10px;font-size:.84rem;font-weight:700;color:rgb(var(--c-ink-400))}
.fs-fn-pk-say:empty{display:none}
/* the planner's panel sits on the tinted section: the panel is --surf */

/* ══ favFnSearch — the library (port Task 6a) ═════════════════════
   .fs-bar{display:flex;align-items:center;gap:12px;background:var(--surf);border:1.5px solid var(--line);border-radius:12px;padding:6px 10px 6px 18px;margin-bottom:16px}
   .fs-bar:focus-within{border-color:var(--pri);box-shadow:0 0 0 4px color-mix(in srgb,var(--pri) 16%,transparent)}
   .fs-bar input{flex:1;border:0;background:none;outline:none;padding:12px 0;min-width:0;font-size:1.05rem}
   .fs-bar .ic{color:var(--mute)}
   .fs-bar button.clr{padding:6px 12px;border-radius:99px;font-size:.78rem;font-weight:800;background:var(--tint);color:var(--link)}
   .fs-sel{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
   .fs-wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:34px;align-items:start;margin-top:22px}
   .fs-it{position:relative;display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:18px;align-items:center;padding:16px 0;border-top:1px solid var(--line)}
   .fs-it:first-child{border-top:2px solid var(--ink)} .fs-it .cv{aspect-ratio:1/1;border-radius:8px}
   .fs-it h3{font-size:1.22rem;margin:3px 0 4px} .fs-it h3 a::after{content:"";position:absolute;inset:0;z-index:1}
   .fs-it:hover h3 a{text-decoration:underline;text-decoration-color:var(--acc);text-decoration-thickness:2px;text-underline-offset:3px}
   .fs-it p{font-size:.88rem}
   .fs-it mark{background:color-mix(in srgb,var(--acc) 38%,transparent);color:inherit;border-radius:3px;padding:0 2px}
   .fs-it .m2{font-size:.78rem;font-weight:700;color:var(--mute);display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
   .shelf{position:sticky;…;border:1px solid var(--line);border-radius:14px;background:var(--surf);padding:20px}
   .shelf h3{font-family:var(--font);font-weight:800;font-size:1rem;display:flex;align-items:center;gap:8px}
   .shelf h3 .ic{color:var(--kick)}
   .shelf h3 span{margin-left:auto;display:inline-grid;place-items:center;min-width:26px;height:26px;border-radius:99px;background:var(--pri);color:#fff;font-size:.78rem;padding:0 8px}
   .shelf ul{list-style:none;display:grid;gap:10px;margin-top:14px}
   .shelf li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;font-family:var(--serif);font-size:.98rem;line-height:1.25;padding-bottom:10px;border-bottom:1px dashed var(--line)}
   .shelf li small{display:block;font-family:var(--font);font-size:.72rem;color:var(--mute);font-weight:700}
   .shelf .rm{font-size:.74rem;font-weight:800;color:var(--link);text-decoration:underline}
   .shelf .empty{font-size:.86rem;color:var(--mute);margin-top:12px} .shelf .tot{margin-top:12px;font-size:.84rem;font-weight:800} */
.fs-fn-find-bar{display:flex;align-items:center;gap:12px;background:rgb(var(--c-paper-soft));border:1.5px solid rgb(var(--c-line));border-radius:12px;padding:6px 10px 6px 18px;margin-bottom:16px}
.fs-fn-find-bar:focus-within{border-color:rgb(var(--c-brand-600));box-shadow:0 0 0 4px color-mix(in srgb,rgb(var(--c-brand-600)) 16%,transparent)}
.fs-fn .fs-fn-find-q{flex:1;border:0;background:none;outline:none;padding:12px 0;margin:0;min-width:0;font:inherit;font-size:1.05rem;line-height:1.6;color:rgb(var(--c-ink-950))}
.fs-fn .fs-fn-find-q:focus-visible{outline:none}
.fs-fn-find-ph{flex:1;padding:12px 0;font-size:1.05rem;color:rgb(var(--c-ink-400))}
.fs-fn-find-bar>.fs-fn-ic{color:rgb(var(--c-ink-400))}
.fs-fn .fs-fn-find-clr{padding:6px 12px;border-radius:99px;font-family:inherit;font-size:.78rem;line-height:1.6;font-weight:800;background:var(--fs-fn-tint);color:var(--fs-fn-link);border:0;cursor:pointer}
.fs-fn-find-sel{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.fs-fn-find-wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:34px;align-items:start;margin-top:22px}
.fs-fn-find-list{display:grid}
.fs-fn-fi{position:relative;display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:18px;align-items:center;padding:16px 0;border-top:1px solid rgb(var(--c-line))}
.fs-fn-fi:first-child{border-top:2px solid rgb(var(--c-ink-950))}
.fs-fn-fi .fs-fn-cv{aspect-ratio:1/1;border-radius:8px}
.fs-fn .fs-fn-fi-h{font-size:1.22rem;margin:3px 0 4px}
.fs-fn .fs-fn-fi-a::after{content:"";position:absolute;inset:0;z-index:1}
.fs-fn-fi:hover .fs-fn-fi-a{text-decoration:underline;text-decoration-color:rgb(var(--c-accent));text-decoration-thickness:2px;text-underline-offset:3px}
.fs-fn .fs-fn-fi-p{font-size:.88rem}
.fs-fn-hl{background:color-mix(in srgb,rgb(var(--c-accent)) 38%,transparent);color:inherit;border-radius:3px;padding:0 2px}
.fs-fn-fi-m{font-size:.78rem;font-weight:700;color:rgb(var(--c-ink-400));display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.fs-fn-shelf{position:sticky;top:calc(var(--fs-header-h,0px) + 24px);border:1px solid rgb(var(--c-line));border-radius:14px;background:rgb(var(--c-paper-soft));padding:20px}
[data-fs-layout="minimal"] .fs-fn-shelf{border-radius:4px}
.fs-fn .fs-fn-shelf-h{font-family:var(--font-sans,'Hanken Grotesk',sans-serif);font-weight:800;font-size:1rem;line-height:1.2;letter-spacing:0;display:flex;align-items:center;gap:8px;margin:0}
.fs-fn-shelf-h .fs-fn-ic{color:rgb(var(--c-brand-text,var(--c-brand-600)))}
.fs-fn-shelf-n{margin-left:auto;display:inline-grid;place-items:center;min-width:26px;height:26px;border-radius:99px;background:rgb(var(--c-brand-600));color:var(--fs-on-brand);font-size:.78rem;padding:0 8px}
.fs-fn-shelf-ul{list-style:none;display:grid;gap:10px;margin:14px 0 0;padding:0}
.fs-fn-shelf-li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;font-family:var(--font-display,'Source Serif 4',Georgia,serif);font-size:.98rem;line-height:1.25;padding-bottom:10px;border-bottom:1px dashed rgb(var(--c-line))}
.fs-fn-shelf-m{display:block;font-family:var(--font-sans,'Hanken Grotesk',sans-serif);font-size:.72rem;color:rgb(var(--c-ink-400));font-weight:700}
.fs-fn .fs-fn-shelf-rm{font-family:inherit;font-size:.74rem;font-weight:800;color:var(--fs-fn-link);text-decoration:underline;background:none;border:0;padding:0;cursor:pointer}
.fs-fn .fs-fn-shelf-empty{font-size:.86rem;color:rgb(var(--c-ink-400));margin-top:12px}
/* no list while the shelf is empty: the source's empty list kept 14px */
.fs-fn .fs-fn-shelf-h+.fs-fn-shelf-empty{margin-top:26px}
.fs-fn .fs-fn-shelf-tot{margin-top:12px;font-size:.84rem;font-weight:800;color:rgb(var(--c-ink-950))}
@container fs-fn (max-width:1060px){
  .fs-fn-pk,.fs-fn-find-wrap{grid-template-columns:minmax(0,1fr)}
  .fs-fn-shelf{position:static}
}
@container fs-fn (max-width:760px){
  .fs-fn-pk-it,.fs-fn-fi{grid-template-columns:64px minmax(0,1fr)}
  .fs-fn-pk-mn,.fs-fn-fi .fs-fn-bm{grid-column:2}
}
@container fs-fn (max-width:420px){
  .fs-fn-pk-n{font-size:2.8rem}
}

/* ══ favFnArticleHead — the article head and cover (port Task 6b) ══
   .art-head{padding:40px 0 26px} .art-head .wrap{max-width:960px}
   .art-head .crumbs{…;flex-wrap:wrap} .art-head .crumbs a{color:var(--link);text-decoration:underline;text-underline-offset:3px}
   .art-head h1{font-size:clamp(2.2rem,4.8vw,3.8rem);line-height:1.06;margin:12px 0 16px}
   .stand{font-family:var(--serif);font-size:clamp(1.2rem,2vw,1.5rem);line-height:1.4;color:var(--mute);font-weight:400}
   .byline{display:flex;align-items:center;gap:12px 14px;flex-wrap:wrap;margin-top:22px;padding-top:18px;border-top:1px solid var(--line);font-size:.88rem;color:var(--mute);font-weight:600}
   .byline b{color:var(--ink)} .byline a{color:var(--link);text-decoration:underline;text-underline-offset:3px;font-weight:700}
   .byline .sepd{opacity:.4} .byline .acts{margin-left:auto;display:flex;gap:6px;align-items:center}
   .art-cover{max-width:1100px;margin:0 auto;padding:0 28px} .art-cover .cv{border-radius:10px}
   .art-cover figcaption{font-size:.78rem;color:var(--mute);margin-top:8px} */
.fs-fn-ah-in{max-width:960px;padding-top:40px;padding-bottom:26px}
.fs-fn-articlehead .fs-fn-crumbs{flex-wrap:wrap}
.fs-fn .fs-fn-ah-topic{color:var(--fs-fn-link);text-decoration:underline;text-underline-offset:3px}
.fs-fn-articlehead .fs-fn-crumb-a{text-decoration:underline;text-underline-offset:3px}
.fs-fn-ah-flags{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.fs-fn .fs-fn-ah-h1{font-size:clamp(2.2rem,calc(4.8 * var(--fs-fn-vw)),3.8rem);line-height:1.06;margin:12px 0 16px}
.fs-fn .fs-fn-stand{font-family:var(--font-display,'Source Serif 4',Georgia,serif);font-size:clamp(1.2rem,calc(2 * var(--fs-fn-vw)),1.5rem);line-height:1.4;color:rgb(var(--c-ink-400));font-weight:400}
.fs-fn-byline{display:flex;align-items:center;gap:12px 14px;flex-wrap:wrap;margin-top:22px;padding-top:18px;border-top:1px solid rgb(var(--c-line));font-size:.88rem;color:rgb(var(--c-ink-400));font-weight:600}
.fs-fn-byline-mn{color:rgb(var(--c-ink-950))}
.fs-fn .fs-fn-byline-a{color:var(--fs-fn-link);text-decoration:underline;text-underline-offset:3px;font-weight:700}
.fs-fn-sepd{opacity:.4}
.fs-fn-ah-acts{margin-left:auto;display:flex;gap:6px;align-items:center}
.fs-fn-ah-say{flex-basis:100%;font-size:.8rem;font-weight:700;color:rgb(var(--c-ink-400))}
.fs-fn-ah-say:empty{display:none}
.fs-fn-art-cover{max-width:1100px;margin:0 auto;padding:0 28px}
.fs-fn-art-fig{margin:0}
.fs-fn-art-cover .fs-fn-cv{border-radius:10px}
.fs-fn-art-cap{display:block;font-size:.78rem;color:rgb(var(--c-ink-400));margin-top:8px}

/* ══ favFnArticleBody — reading settings, the prose, the author tabs,
   the scanner rail (port Task 6b) ══════════════════════════════════
   .art-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:60px;max-width:1128px;margin:0 auto;padding:44px 28px 20px;align-items:start}
   .art-rail{position:sticky;top:…150px;align-self:start;max-height:calc(100vh - …170px);overflow:auto;scrollbar-width:thin}
   .warn{display:flex;gap:12px;padding:14px 16px;border-radius:10px;background:color-mix(in srgb,var(--acc) 22%,var(--surf));
   border:1px solid color-mix(in srgb,var(--acc) 55%,var(--line));font-size:.88rem;color:var(--ink);line-height:1.45} .warn .ic{color:var(--kick);margin-top:2px}
   The sticky offsets: the source's studio bar is demo scaffolding; the
   platform header's height stands in. */
.fs-fn-art-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:60px;max-width:1128px;margin:0 auto;padding:44px 28px 20px;align-items:start}
.fs-fn-art-main{min-width:0;--fs-fn-measure:66ch}
.fs-fn-art-rail{position:sticky;top:calc(var(--fs-header-h,0px) + 24px);align-self:start;max-height:calc(100vh - var(--fs-header-h,0px) - 44px);overflow:auto;scrollbar-width:thin}
.fs-fn-warn{display:flex;gap:12px;padding:14px 16px;border-radius:10px;margin-bottom:24px;background:color-mix(in srgb,rgb(var(--c-accent)) 22%,rgb(var(--c-paper-soft)));border:1px solid color-mix(in srgb,rgb(var(--c-accent)) 55%,rgb(var(--c-line)));font-size:.88rem;color:rgb(var(--c-ink-950));line-height:1.45}
.fs-fn-warn .fs-fn-ic{color:rgb(var(--c-brand-text,var(--c-brand-600)));margin-top:2px}
/* .rs{border:1px solid var(--line);border-radius:12px;background:var(--surf);margin-bottom:28px}
   .rs>summary{display:flex;align-items:center;gap:10px;padding:14px 18px;font-weight:800;font-size:.92rem;cursor:pointer;list-style:none}
   .rs>summary .ic{color:var(--kick)} .rs>summary .chev{margin-left:auto} .rs[open]>summary .chev{transform:rotate(180deg)}
   .rs-b{padding:4px 18px 18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 26px;border-top:1px solid var(--line)}
   .rs-b h4{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin:14px 0 8px}
   .rs-seg{display:flex;flex-wrap:wrap;gap:6px}
   .rs-seg button{padding:7px 12px;border-radius:8px;border:1.5px solid var(--line);font-weight:700;font-size:.82rem}
   .rs-seg button[aria-pressed=true]{background:var(--pri);border-color:var(--pri);color:#fff}
   .rs-tint button{width:34px;height:34px;padding:0;border-radius:50%;border:2px solid var(--line);background:var(--sw)}
   .rs-tint button[aria-pressed=true]{border-color:var(--pri);box-shadow:0 0 0 2px var(--surf),0 0 0 4px var(--pri)}
   .rs-foot{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.84rem;color:var(--mute);font-weight:700;padding-top:8px;border-top:1px dashed var(--line)}
   .rs-foot b{color:var(--ink)} */
.fs-fn-rs{border:1px solid rgb(var(--c-line));border-radius:12px;background:rgb(var(--c-paper-soft));margin-bottom:28px}
.fs-fn-rs-sum{display:flex;align-items:center;gap:10px;padding:14px 18px;font-weight:800;font-size:.92rem;cursor:pointer;list-style:none}
.fs-fn-rs-sum::-webkit-details-marker{display:none}
.fs-fn-rs-sum .fs-fn-ic{color:rgb(var(--c-brand-text,var(--c-brand-600)))}
.fs-fn-rs-chev{margin-left:auto;display:inline-flex}
.fs-fn-rs[open] .fs-fn-rs-chev{transform:rotate(180deg)}
.fs-fn-rs-b{padding:4px 18px 18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 26px;border-top:1px solid rgb(var(--c-line))}
.fs-fn .fs-fn-rs-h{font-size:.7rem;line-height:1.2;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--c-ink-400));margin:14px 0 8px}
.fs-fn-rs-seg{display:flex;flex-wrap:wrap;gap:6px}
.fs-fn .fs-fn-rs-btn{padding:7px 12px;border-radius:8px;border:1.5px solid rgb(var(--c-line));background:none;color:rgb(var(--c-ink-950));font-family:inherit;font-weight:700;font-size:.82rem;line-height:1.6;cursor:pointer}
.fs-fn .fs-fn-rs-btn:hover{border-color:rgb(var(--c-brand-600))}
.fs-fn .fs-fn-rs-btn[aria-checked="true"],.fs-fn .fs-fn-rs-btn[data-on]{background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));color:var(--fs-on-brand)}
.fs-fn .fs-fn-rs-sw{width:34px;height:34px;padding:0;border-radius:50%;border:2px solid rgb(var(--c-line));background:var(--fs-fn-sw)}
.fs-fn .fs-fn-rs-sw[aria-checked="true"],.fs-fn .fs-fn-rs-sw[data-on]{border-color:rgb(var(--c-brand-600));box-shadow:0 0 0 2px rgb(var(--c-paper-soft)),0 0 0 4px rgb(var(--c-brand-600));background:var(--fs-fn-sw)}
.fs-fn-rs-foot{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.84rem;color:rgb(var(--c-ink-400));font-weight:700;padding-top:8px;border-top:1px dashed rgb(var(--c-line))}
.fs-fn-rs-v{color:rgb(var(--c-ink-950))}
.fs-fn-rs-say{flex-basis:100%;font-size:.8rem}
.fs-fn-rs-say:empty{display:none}
/* The page tints (Reading settings). The source's fixed warm / cool /
   night colours are mixes of the palette here (no literal colours,
   ledger L11): warm = accent into the light paper, cool = brand into it,
   night = the dark end; each keeps its own ink and link. They stay light
   (warm, cool) or dark (night) in either site mode, as the source's. */
.fs-fn{
  --fs-fn-pw-warm:color-mix(in srgb,rgb(var(--c-accent)) 22%,rgb(var(--c-paper)));
  --fs-fn-pw-cool:color-mix(in srgb,rgb(var(--c-brand-600)) 11%,rgb(var(--c-paper-soft)));
  --fs-fn-pw-night:color-mix(in srgb,rgb(var(--c-ink-950)) 94%,rgb(var(--c-brand-600)));
  --fs-fn-pw-lite-ink:rgb(var(--c-ink-950));
  --fs-fn-pw-night-ink:rgb(var(--c-paper));
  --fs-fn-pw-warm-link:color-mix(in srgb,rgb(var(--c-accent)) 45%,rgb(var(--c-ink-950)));
  --fs-fn-pw-cool-link:rgb(var(--c-brand-700));
  --fs-fn-pw-night-link:color-mix(in srgb,rgb(var(--c-accent)) 55%,rgb(var(--c-paper)));
}
.dark .fs-fn{
  --fs-fn-pw-warm:color-mix(in srgb,rgb(var(--c-accent)) 22%,rgb(var(--c-ink-950)));
  --fs-fn-pw-cool:color-mix(in srgb,rgb(var(--c-brand-600)) 11%,rgb(var(--c-ink-950)));
  --fs-fn-pw-night:color-mix(in srgb,rgb(var(--c-paper)) 94%,rgb(var(--c-brand-600)));
  --fs-fn-pw-lite-ink:rgb(var(--c-paper));
  --fs-fn-pw-night-ink:rgb(var(--c-ink-950));
  --fs-fn-pw-warm-link:color-mix(in srgb,rgb(var(--c-accent)) 45%,rgb(var(--c-paper)));
  --fs-fn-pw-cool-link:color-mix(in srgb,rgb(var(--c-brand-600)) 80%,rgb(var(--c-paper)));
  --fs-fn-pw-night-link:color-mix(in srgb,rgb(var(--c-accent)) 55%,rgb(var(--c-ink-950)));
}
.fs-preview-light .fs-fn{
  --fs-fn-pw-warm:color-mix(in srgb,rgb(var(--c-accent)) 22%,rgb(var(--c-paper)));
  --fs-fn-pw-cool:color-mix(in srgb,rgb(var(--c-brand-600)) 11%,rgb(var(--c-paper-soft)));
  --fs-fn-pw-night:color-mix(in srgb,rgb(var(--c-ink-950)) 94%,rgb(var(--c-brand-600)));
  --fs-fn-pw-lite-ink:rgb(var(--c-ink-950));
  --fs-fn-pw-night-ink:rgb(var(--c-paper));
  --fs-fn-pw-warm-link:color-mix(in srgb,rgb(var(--c-accent)) 45%,rgb(var(--c-ink-950)));
  --fs-fn-pw-cool-link:rgb(var(--c-brand-700));
  --fs-fn-pw-night-link:color-mix(in srgb,rgb(var(--c-accent)) 55%,rgb(var(--c-paper)));
}
/* .prose-w{--pw-bg:transparent;--pw-ink:var(--ink);--pw-link:var(--link);border-radius:14px;color:var(--pw-ink);background:var(--pw-bg)}
   .prose-w[data-tint]{padding:30px 34px} */
.fs-fn-pw{--fs-fn-pw-bg:transparent;--fs-fn-pw-ink:rgb(var(--c-ink-950));--fs-fn-pw-link:var(--fs-fn-link);border-radius:14px;color:var(--fs-fn-pw-ink);background:var(--fs-fn-pw-bg)}
.fs-fn-pw[data-tint]{padding:30px 34px}
.fs-fn-pw[data-tint="warm"]{--fs-fn-pw-bg:var(--fs-fn-pw-warm);--fs-fn-pw-ink:var(--fs-fn-pw-lite-ink);--fs-fn-pw-link:var(--fs-fn-pw-warm-link)}
.fs-fn-pw[data-tint="cool"]{--fs-fn-pw-bg:var(--fs-fn-pw-cool);--fs-fn-pw-ink:var(--fs-fn-pw-lite-ink);--fs-fn-pw-link:var(--fs-fn-pw-cool-link)}
.fs-fn-pw[data-tint="night"]{--fs-fn-pw-bg:var(--fs-fn-pw-night);--fs-fn-pw-ink:var(--fs-fn-pw-night-ink);--fs-fn-pw-link:var(--fs-fn-pw-night-link)}
/* .prose{font-family:var(--pf,var(--serif));font-size:var(--fs,1.2rem);line-height:var(--lh,1.7);color:var(--pw-ink,var(--ink));max-width:var(--measure,66ch)}
   .prose p{margin:0 0 1.1em;color:inherit}
   .prose>p:first-of-type::first-letter{font-size:3.5em;float:left;line-height:.82;padding:.08em .12em 0 0;color:var(--pw-link,var(--kick));font-weight:500;font-family:var(--serif)}
   .prose h2{font-family:var(--serif);font-size:1.75em;line-height:1.15;margin:1.8em 0 .55em;color:inherit;scroll-margin-top:…150px}
   .prose h3{font-size:1.25em;margin:1.4em 0 .4em;color:inherit}
   .prose a{color:var(--pw-link,var(--link));text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px}
   .prose ul,.prose ol{margin:0 0 1.2em 1.3em;color:inherit} .prose li{margin-bottom:.4em;padding-left:.2em}
   .prose li::marker{color:var(--kick);font-weight:800} .prose strong{color:inherit;font-weight:700}
   .pull{font-family:var(--serif);font-size:1.45em;line-height:1.3;font-style:italic;border-left:4px solid var(--acc);padding:2px 0 2px 22px;margin:1.5em 0;color:inherit}
   .callout{margin:1.6em 0;padding:18px 20px;border-radius:10px;background:var(--tint);border:1px solid var(--line);font-family:var(--font);font-size:.92rem;line-height:1.55;color:var(--ink)}
   .callout b{display:block;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--kick);margin-bottom:6px}
   .prose-w[data-tint] .callout{background:rgba(255,255,255,.35);color:inherit} .prose-w[data-tint=night] .callout{background:rgba(255,255,255,.07)} */
.fs-fn-prose{font-family:var(--fs-fn-pf,var(--font-display,'Source Serif 4',Georgia,serif));font-size:var(--fs-fn-fs,1.2rem);line-height:var(--fs-fn-lh,1.7);color:var(--fs-fn-pw-ink,rgb(var(--c-ink-950)));max-width:var(--fs-fn-measure,66ch)}
.fs-fn .fs-fn-pr-p{margin:0 0 1.1em;color:inherit}
.fs-fn-prose>.fs-fn-pr-p:first-of-type::first-letter{font-size:3.5em;float:left;line-height:.82;padding:.08em .12em 0 0;color:var(--fs-fn-pw-link,rgb(var(--c-brand-text,var(--c-brand-600))));font-weight:500;font-family:var(--font-display,'Source Serif 4',Georgia,serif)}
.fs-fn .fs-fn-pr-h2{font-family:var(--font-display,'Source Serif 4',Georgia,serif);font-size:1.75em;line-height:1.15;margin:1.8em 0 .55em;color:inherit;scroll-margin-top:calc(var(--fs-header-h,0px) + 24px);outline:none}
/* h1,h2,h3{font-family:var(--serif);line-height:1.12;letter-spacing:-.012em;font-weight:500} (the base the prose headings inherit) */
.fs-fn .fs-fn-pr-h2,.fs-fn .fs-fn-pr-h3{letter-spacing:-.012em;font-weight:500}
.fs-fn .fs-fn-pr-h3{font-family:var(--font-display,'Source Serif 4',Georgia,serif);line-height:1.12;font-size:1.25em;margin:1.4em 0 .4em;color:inherit}
.fs-fn-prose a{color:var(--fs-fn-pw-link,var(--fs-fn-link));text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px}
.fs-fn-pr-ul,.fs-fn-pr-ol{margin:0 0 1.2em 1.3em;padding:0;color:inherit}
.fs-fn-pr-ul{list-style:disc}.fs-fn-pr-ol{list-style:decimal}
.fs-fn-pr-li{margin-bottom:.4em;padding-left:.2em}
.fs-fn-pr-li::marker{color:rgb(var(--c-brand-text,var(--c-brand-600)));font-weight:800}
.fs-fn-prose strong,.fs-fn-prose b{color:inherit;font-weight:700}
.fs-fn .fs-fn-pull{font-family:var(--font-display,'Source Serif 4',Georgia,serif);font-size:1.45em;line-height:1.3;font-style:italic;border-left:4px solid rgb(var(--c-accent));padding:2px 0 2px 22px;margin:1.5em 0;color:inherit}
.fs-fn-callout{margin:1.6em 0;padding:18px 20px;border-radius:10px;background:var(--fs-fn-tint);border:1px solid rgb(var(--c-line));font-family:var(--font-sans,'Hanken Grotesk',sans-serif);font-size:.92rem;line-height:1.55;color:rgb(var(--c-ink-950))}
.fs-fn-callout b{display:block;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--c-brand-text,var(--c-brand-600)));margin-bottom:6px}
.fs-fn-pw[data-tint] .fs-fn-callout{background:color-mix(in srgb,rgb(var(--c-paper-soft)) 35%,transparent);color:inherit}
.fs-fn-pw[data-tint="night"] .fs-fn-callout{background:color-mix(in srgb,var(--fs-fn-pw-night-ink) 7%,transparent)}
/* .auth{border:1px solid var(--line);border-radius:14px;background:var(--surf);padding:26px;margin-top:44px;max-width:var(--measure,66ch)}
   .tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:18px;overflow-x:auto;scrollbar-width:none}
   .tab{padding:11px 16px;font-weight:800;font-size:.9rem;white-space:nowrap;border-bottom:3px solid transparent;color:var(--mute);margin-bottom:-1px}
   .tab:hover{color:var(--ink)} .tab[aria-selected=true]{color:var(--link);border-bottom-color:var(--acc)}
   .auth-h{display:flex;gap:16px;align-items:center;margin-bottom:6px} .auth-h h3{font-size:1.35rem}
   .auth-h small{color:var(--kick);font-weight:800;letter-spacing:.1em;text-transform:uppercase;font-size:.68rem}
   .auth p{font-size:.94rem} .auth ul{list-style:none;display:grid;gap:8px;font-size:.9rem;color:var(--ink)}
   .auth ul li{display:flex;gap:10px} .auth ul .ic{width:17px;height:17px;margin-top:3px;color:var(--kick)}
   .auth dl{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;font-size:.88rem} .auth dt{font-weight:800;color:var(--ink)} .auth dd{color:var(--mute)}
   .auth .stamp{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:999px;background:var(--tint);font-weight:800;font-size:.76rem;color:var(--link);margin-top:10px}
   .av.lg{width:48px;height:48px;font-size:1rem;font-family:var(--serif);font-weight:500} */
.fs-fn-auth{border:1px solid rgb(var(--c-line));border-radius:14px;background:rgb(var(--c-paper-soft));padding:26px;margin-top:44px;max-width:var(--fs-fn-measure,66ch)}
.fs-fn-tabs{display:flex;gap:4px;border-bottom:1px solid rgb(var(--c-line));margin-bottom:18px;overflow-x:auto;scrollbar-width:none}
.fs-fn-tabs::-webkit-scrollbar{display:none}
.fs-fn .fs-fn-tab{padding:11px 16px;font-family:inherit;font-weight:800;font-size:.9rem;line-height:1.6;white-space:nowrap;border:0;border-bottom:3px solid transparent;background:none;color:rgb(var(--c-ink-400));margin-bottom:-1px;cursor:pointer}
.fs-fn .fs-fn-tab:hover{color:rgb(var(--c-ink-950))}
.fs-fn .fs-fn-tab[aria-selected="true"],.fs-fn .fs-fn-tab[data-on]{color:var(--fs-fn-link);border-bottom-color:rgb(var(--c-accent))}
.fs-fn-tabp[hidden]{display:none}
.fs-fn-auth-h{display:flex;gap:16px;align-items:center;margin-bottom:6px}
.fs-fn .fs-fn-auth-n{font-size:1.35rem}
.fs-fn-auth-role{color:rgb(var(--c-brand-text,var(--c-brand-600)));font-weight:800;letter-spacing:.1em;text-transform:uppercase;font-size:.68rem}
.fs-fn .fs-fn-av-lg{width:48px;height:48px;font-size:1rem;font-family:var(--font-display,'Source Serif 4',Georgia,serif);font-weight:500}
.fs-fn .fs-fn-auth-p{font-size:.94rem;margin:10px 0 14px}
.fs-fn .fs-fn-auth-more{margin-top:14px;font-size:.94rem}
.fs-fn-auth-ul{list-style:none;display:grid;gap:8px;font-size:.9rem;color:rgb(var(--c-ink-950));margin:0;padding:0}
.fs-fn-auth-li{display:flex;gap:10px}
.fs-fn-auth-li .fs-fn-ic{width:17px;height:17px;margin-top:3px;color:rgb(var(--c-brand-text,var(--c-brand-600)))}
.fs-fn-dl{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;font-size:.88rem;margin:0}
.fs-fn-dt{font-weight:800;color:rgb(var(--c-ink-950))}
.fs-fn-dd{color:rgb(var(--c-ink-400));margin:0}
.fs-fn-stamp{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:999px;background:var(--fs-fn-tint);font-weight:800;font-size:.76rem;color:var(--fs-fn-link);margin-top:10px}
.fs-fn-stamp .fs-fn-ic{width:14px;height:14px}
.fs-fn .fs-fn-tell{margin-top:12px;font-size:.84rem}
/* .scn{border:1px solid var(--line);border-radius:14px;background:var(--surf);overflow:hidden}
   .scn-h{display:flex;align-items:center;gap:8px;padding:12px 18px;background:var(--pri-d);color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
   .scn-h .ic{width:16px;height:16px} .scn-s{padding:16px 18px 6px}
   .scn-s h4{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--kick);margin-bottom:8px}
   .scn-s ul{list-style:none;display:grid;gap:8px} .scn-s li{display:flex;gap:9px;font-size:.88rem;line-height:1.45;color:var(--ink)}
   .scn-s li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--acc);margin-top:7px;flex:none}
   .scn-t{padding:12px 18px 8px} .scn-t h4{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin-bottom:6px}
   .toc{list-style:none;display:grid}
   .toc a{display:block;padding:7px 0 7px 12px;font-size:.88rem;font-weight:700;color:var(--mute);border-left:3px solid var(--line);line-height:1.35}
   .toc a:hover{color:var(--ink)} .toc a.on{color:var(--link);border-left-color:var(--acc)}
   .scn-m{padding:12px 18px 16px;border-top:1px solid var(--line);background:var(--bg)}
   .scn-m .row{display:flex;justify-content:space-between;gap:10px;font-size:.8rem;font-weight:800;margin-bottom:8px}
   .scn-m .tr{height:7px;border-radius:7px;background:var(--line);overflow:hidden}
   .scn-m .tr i{display:block;height:100%;width:0;background:var(--acc);border-radius:7px} */
.fs-fn-scn{border:1px solid rgb(var(--c-line));border-radius:14px;background:rgb(var(--c-paper-soft));overflow:hidden}
.fs-fn-scn-h{display:flex;align-items:center;gap:8px;padding:12px 18px;background:rgb(var(--c-brand-700));color:var(--fs-on-brand);font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.fs-fn-scn-h .fs-fn-ic{width:16px;height:16px}
.fs-fn-scn-s{padding:16px 18px 6px}
.fs-fn .fs-fn-scn-sh{font-size:.7rem;line-height:1.2;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:rgb(var(--c-brand-text,var(--c-brand-600)));margin:0 0 8px}
.fs-fn-scn-ul{list-style:none;display:grid;gap:8px;margin:0;padding:0}
.fs-fn-scn-li{display:flex;gap:9px;font-size:.88rem;line-height:1.45;color:rgb(var(--c-ink-950))}
.fs-fn-scn-li::before{content:"";width:7px;height:7px;border-radius:50%;background:rgb(var(--c-accent));margin-top:7px;flex:none}
.fs-fn-scn-t{padding:12px 18px 8px}
.fs-fn .fs-fn-scn-th{font-size:.7rem;line-height:1.2;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:rgb(var(--c-ink-400));margin:0 0 6px}
.fs-fn-toc{list-style:none;display:grid;margin:0;padding:0}
.fs-fn .fs-fn-toc-a{display:block;padding:7px 0 7px 12px;font-size:.88rem;font-weight:700;color:rgb(var(--c-ink-400));border-left:3px solid rgb(var(--c-line));line-height:1.35}
.fs-fn .fs-fn-toc-a:hover{color:rgb(var(--c-ink-950))}
.fs-fn .fs-fn-toc-a[aria-current="true"]{color:var(--fs-fn-link);border-left-color:rgb(var(--c-accent))}
.fs-fn-scn-m{padding:12px 18px 16px;border-top:1px solid rgb(var(--c-line));background:rgb(var(--c-paper))}
.fs-fn-scn-row{display:flex;justify-content:space-between;gap:10px;font-size:.8rem;font-weight:800;margin-bottom:8px}
.fs-fn-scn-tr{height:7px;border-radius:7px;background:rgb(var(--c-line));overflow:hidden}
.fs-fn-scn-tr-i{display:block;height:100%;width:0;background:rgb(var(--c-accent));border-radius:7px}
@container fs-fn (max-width:1060px){
  .fs-fn-art-grid{grid-template-columns:minmax(0,1fr);gap:30px}
  .fs-fn-art-rail{position:static;order:-1;max-height:none;overflow:visible}
  .fs-fn-rs-b{grid-template-columns:1fr 1fr}
}
@container fs-fn (max-width:760px){
  .fs-fn-ah-in{padding-top:26px}
  .fs-fn-art-grid{padding:30px 18px 10px}
  .fs-fn-art-cover{padding:0 18px}
  .fs-fn-pw[data-tint]{padding:22px 18px}
  .fs-fn-ah-acts{margin-left:0}
  .fs-fn-rs-b{grid-template-columns:minmax(0,1fr)}
}

/* ══ favFnPrivacy — the preference centre (port Task 7, O4) ═══════
   .pv{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:34px;align-items:start}
   .pv-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}
   .pv-row:first-of-type{border-top:0}
   .pv-row b{display:block;font-size:.96rem}.pv-row small{color:var(--mute);display:block;font-size:.82rem;line-height:1.45}
   .pv-row .lock{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);border:1px solid var(--line);padding:4px 10px;border-radius:99px;white-space:nowrap}
   .pv-acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
   .pv-state{margin-top:16px;display:grid;gap:8px;font-size:.88rem}
   .pv-state div{display:flex;justify-content:space-between;gap:12px;padding:8px 12px;border-radius:8px;background:var(--tint)}
   .pv-state b.on{color:var(--link)}
   .tgl{position:relative;display:inline-block;width:46px;height:26px;flex:none}
   .tgl input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
   .tgl span{position:absolute;inset:0;border-radius:99px;background:color-mix(in srgb,var(--mute) 70%,var(--surf))}
   .tgl span::after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3)}
   .tgl input:checked+span{background:var(--pri)} .tgl input:checked+span::after{transform:translateX(20px)}
   .tgl input:focus-visible+span{outline:3px solid var(--acc);outline-offset:2px}
   .ckb{border:1px solid var(--line);border-radius:12px;background:var(--surf);box-shadow:var(--shadow);padding:16px 18px;display:grid;gap:12px}
   .ckb p{color:var(--ink);font-size:.88rem;line-height:1.5} .ckb .acts{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
   .pv-mock{position:relative;border:1px dashed var(--line);border-radius:14px;padding:18px;background:var(--bg);display:grid;gap:14px}
   .pv-mock .lines{display:grid;gap:8px}.pv-mock .lines i{display:block;height:9px;border-radius:5px;background:var(--line)}
   .pv-mock .lines i:nth-child(2){width:86%}.pv-mock .lines i:nth-child(3){width:64%}
   .pv-cap{font-size:.78rem;color:var(--mute);font-weight:700} */
.fs-fn-pv{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:34px;align-items:start}
.fs-fn .fs-fn-pv-h{margin-bottom:6px}
.fs-fn-pv-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 0;border-top:1px solid rgb(var(--c-line))}
.fs-fn-pv-h+.fs-fn-pv-row{border-top:0}
.fs-fn-pv-b{display:block;font-size:.96rem;font-weight:700}
.fs-fn-pv-s{color:rgb(var(--c-ink-400));display:block;font-size:.82rem;line-height:1.45}
.fs-fn-lock{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:rgb(var(--c-ink-400));border:1px solid rgb(var(--c-line));padding:4px 10px;border-radius:99px;white-space:nowrap}
.fs-fn-tgl{position:relative;display:inline-block;width:46px;height:26px;flex:none}
.fs-fn .fs-fn-tgl-in{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.fs-fn-tgl-t{position:absolute;inset:0;border-radius:99px;background:color-mix(in srgb,rgb(var(--c-ink-400)) 70%,rgb(var(--c-paper-soft)))}
.fs-fn-tgl-t::after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:rgb(var(--c-paper-soft));box-shadow:0 1px 3px rgb(var(--fs-fn-shade) / .3)}
.fs-fn-tgl-in:checked+.fs-fn-tgl-t,.fs-fn-tgl[data-on] .fs-fn-tgl-t{background:rgb(var(--c-brand-600))}
.fs-fn-tgl-in:checked+.fs-fn-tgl-t::after,.fs-fn-tgl[data-on] .fs-fn-tgl-t::after{transform:translateX(20px)}
.fs-fn-tgl-in:focus-visible+.fs-fn-tgl-t{outline:3px solid rgb(var(--c-accent));outline-offset:2px}
.fs-fn-pv-acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.fs-fn-pv-state{margin-top:16px;display:grid;gap:8px;font-size:.88rem}
.fs-fn-pv-st{display:flex;justify-content:space-between;gap:12px;padding:8px 12px;border-radius:8px;background:var(--fs-fn-tint)}
.fs-fn-pv-v[data-on]{color:var(--fs-fn-link)}
.fs-fn-pv-mock{position:relative;border:1px dashed rgb(var(--c-line));border-radius:14px;padding:18px;background:rgb(var(--c-paper));display:grid;gap:14px}
.fs-fn-lines{display:grid;gap:8px}
.fs-fn-lines-i{display:block;height:9px;border-radius:5px;background:rgb(var(--c-line))}
.fs-fn-lines-i:nth-child(2){width:86%}.fs-fn-lines-i:nth-child(3){width:64%}
.fs-fn-ckb{border:1px solid rgb(var(--c-line));border-radius:12px;background:rgb(var(--c-paper-soft));box-shadow:var(--fs-fn-shadow);padding:16px 18px;display:grid;gap:12px}
.fs-fn .fs-fn-ckb-p{color:rgb(var(--c-ink-950));font-size:.88rem;line-height:1.5}
.fs-fn-ckb-acts{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.fs-fn .fs-fn-ckb-manage{background:none;border:0;padding:0 0 2px;font:inherit;font-weight:700;cursor:pointer}
.fs-fn .fs-fn-pv-cap{font-size:.78rem;color:rgb(var(--c-ink-400));font-weight:700}
.fs-fn .fs-fn-pv-cap-top{margin-bottom:10px}
.fs-fn .fs-fn-pv-cap-bot{margin-top:10px}

/* ══ favFnLabels — the ad label builder (port Task 7, O5) ═════════
   .lb{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:34px;align-items:start}
   .lb-res{border-radius:12px;padding:18px 20px;border:2px solid;display:grid;gap:8px;margin-top:16px}
   .lb-res.yes{background:color-mix(in srgb,var(--acc) 16%,var(--surf));border-color:var(--acc)}
   .lb-res.no{background:color-mix(in srgb,#2fb67a 12%,var(--surf));border-color:#2fb67a}
   .lb-res.care{background:color-mix(in srgb,#e8a33a 14%,var(--surf));border-color:#d99a2b}
   .lb-res b{font-size:1.02rem}.lb-res p{color:var(--ink);font-size:.9rem}
   .lb-post{border:1px solid var(--line);border-radius:12px;background:var(--surf);overflow:hidden;box-shadow:var(--shadow)}
   .lb-post .hd2{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}
   .lb-post .hd2 b{font-size:.9rem}.lb-post .hd2 small{display:block;color:var(--mute);font-size:.74rem}
   .lb-post .bd{padding:16px;display:grid;gap:10px} .lb-post .bd p{color:var(--ink);font-size:.93rem}
   .lb-post .cv{aspect-ratio:16/8;border-radius:0}
   .lb-tag{display:inline-flex;align-items:center;gap:8px;font-weight:800} .lb-tag .adf{font-size:.78rem;padding:3px 10px}
   .lb-badge{display:inline-flex;align-items:center;gap:6px;font-size:.76rem;font-weight:800;padding:4px 10px;border-radius:99px}
   .lb-badge.ok{background:color-mix(in srgb,#2fb67a 20%,var(--surf));color:var(--ink)}
   .lb-badge.bad{background:color-mix(in srgb,#d64533 16%,var(--surf));color:var(--ink)}
   .lb-verdict{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:4px}
   The greens, ambers and reds are the platform's status tokens. */
.fs-fn-lb{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:34px;align-items:start}
.fs-fn-lb-res{border-radius:12px;padding:18px 20px;border:2px solid;display:grid;gap:8px;margin-top:16px}
.fs-fn-lb-res[data-cls="yes"]{background:color-mix(in srgb,rgb(var(--c-accent)) 16%,rgb(var(--c-paper-soft)));border-color:rgb(var(--c-accent))}
.fs-fn-lb-res[data-cls="no"]{background:color-mix(in srgb,rgb(var(--fs-status-ok)) 12%,rgb(var(--c-paper-soft)));border-color:rgb(var(--fs-status-ok))}
.fs-fn-lb-res[data-cls="care"]{background:color-mix(in srgb,rgb(var(--fs-status-warn)) 14%,rgb(var(--c-paper-soft)));border-color:rgb(var(--fs-status-warn))}
.fs-fn-lb-h{font-size:1.02rem;font-weight:700}
.fs-fn .fs-fn-lb-p{color:rgb(var(--c-ink-950));font-size:.9rem}
.fs-fn .fs-fn-lb-fix{color:rgb(var(--c-ink-950));font-size:.84rem}
.fs-fn-lb-verdict{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:4px}
.fs-fn-lb-badge{display:inline-flex;align-items:center;gap:6px;font-size:.76rem;font-weight:800;padding:4px 10px;border-radius:99px;color:rgb(var(--c-ink-950))}
.fs-fn-lb-badge[data-ok]{background:color-mix(in srgb,rgb(var(--fs-status-ok)) 20%,rgb(var(--c-paper-soft)))}
.fs-fn-lb-badge:not([data-ok]){background:color-mix(in srgb,rgb(var(--fs-status-bad)) 16%,rgb(var(--c-paper-soft)))}
.fs-fn-lb-badge .fs-fn-ic{width:14px;height:14px}
.fs-fn-lb-post{border:1px solid rgb(var(--c-line));border-radius:12px;background:rgb(var(--c-paper-soft));overflow:hidden;box-shadow:var(--fs-fn-shadow)}
.fs-fn-lb-hd{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid rgb(var(--c-line))}
.fs-fn-lb-hd-n{font-size:.9rem;font-weight:700}
.fs-fn-lb-hd-m{display:block;color:rgb(var(--c-ink-400));font-size:.74rem}
.fs-fn-lb-post .fs-fn-cv{aspect-ratio:16/8;border-radius:0}
.fs-fn-lb-bd{padding:16px;display:grid;gap:10px}
.fs-fn .fs-fn-lb-bp{color:rgb(var(--c-ink-950));font-size:.93rem}
/* .lb-post .bd p also sizes the captions in the post (.pv-cap: .93rem, ink) */
.fs-fn .fs-fn-lb-bd .fs-fn-pv-cap{color:rgb(var(--c-ink-950));font-size:.93rem}
.fs-fn-lb-tag{display:inline-flex;align-items:center;gap:8px;font-weight:800}
.fs-fn-lb-tag .fs-fn-adf{font-size:.78rem;padding:3px 10px}
.fs-fn-lb-faded{opacity:.55}
.fs-fn-lb .fs-fn-opt-t{font-size:1rem}
.fs-fn-lb-chips{display:flex;flex-wrap:wrap;gap:8px}
@container fs-fn (max-width:1060px){
  .fs-fn-pv,.fs-fn-lb{grid-template-columns:minmax(0,1fr)}
}

/* ══ favFnFooter — the end of the issue and the colophon (port Task 8) ══
   .site-footer{position:relative;margin-top:30px}
   .eoi{background:var(--tint2);border-top:2px solid var(--ink);padding:54px 0 58px}
   .eoi-head{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;margin-bottom:30px} .eoi-head h2{font-size:clamp(1.7rem,3vw,2.4rem)}
   .eoi-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1fr);gap:44px;align-items:start}
   .eoi h3{font-family:var(--font);font-weight:800;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin-bottom:16px}
   .eoi-next{list-style:none;counter-reset:n} .eoi-next li{counter-increment:n;display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px;padding:14px 0;border-top:1px solid var(--line);position:relative}
   .eoi-next li:first-child{border-top:0;padding-top:0} .eoi-next li::before{content:counter(n);font-family:var(--serif);font-size:1.5rem;line-height:1;color:var(--kick)}
   .eoi-next b{display:block;font-family:var(--serif);font-weight:500;font-size:1.12rem;line-height:1.25} .eoi-next small{display:block;margin-top:3px;color:var(--mute);font-size:.78rem;font-weight:700}
   .eoi-next a::after{content:"";position:absolute;inset:0}
   .eoi-sign{position:relative;padding:22px 24px;border-radius:12px;background:var(--surf);border:1px solid var(--line)}
   .eoi-sign blockquote{font-family:var(--serif);font-style:italic;font-size:1.2rem;line-height:1.4;color:var(--ink)}
   .eoi-sign .by2{display:flex;align-items:center;gap:12px;margin-top:16px} .by2 b{display:block;font-size:.9rem} .by2 small{color:var(--mute);font-size:.78rem}
   .eoi-sign .sig{font-family:var(--serif);font-style:italic;font-size:1.5rem;color:var(--kick);line-height:1;margin-left:auto}
   .eoi-sub p{color:var(--ink);font-size:.94rem;margin-bottom:12px}
   .nl-form{display:flex;gap:8px;margin-top:6px} .nl-form input{flex:1 1 140px;min-width:0;border:1.5px solid var(--line);border-radius:8px;padding:12px 16px;background:var(--surf);color:var(--ink)}
   .nl-msg{margin-top:10px;font-weight:800;font-size:.88rem;color:var(--ink);display:none}
   .eoi-sub small{display:block;margin-top:10px;color:var(--mute);font-size:.78rem;line-height:1.45}
   .colo{background:var(--foot);color:#fff;padding:54px 0 0} --foot: --pri-d 92% into black (light), 45% into near-black (dark)
   .colo-top{display:flex;justify-content:space-between;align-items:flex-start;gap:26px;flex-wrap:wrap;padding-bottom:30px;border-bottom:1px solid rgba(255,255,255,.16)}
   .colo-top p{color:rgba(255,255,255,.78);font-size:.9rem;max-width:420px;margin-top:12px}
   .colo a{color:rgba(255,255,255,.88);font-size:.92rem} .colo a:hover{color:#fff;text-decoration:underline}
   .colo-pages{display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:flex-end;max-width:520px;list-style:none}
   .colo-idx{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:26px;padding:34px 0}
   .colo-idx h4{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.62);margin-bottom:14px;padding-bottom:8px;border-bottom:2px solid var(--acc)}
   .colo-idx a{font-size:.88rem;line-height:1.35;display:block}
   .funds{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:24px 0;border-top:1px solid rgba(255,255,255,.16)}
   .funds>div{display:flex;gap:12px;align-items:flex-start;color:rgba(255,255,255,.9);font-weight:700;font-size:.86rem;line-height:1.4} .funds .ic{color:var(--acc);margin-top:1px}
   .funds small{display:block;font-weight:600;opacity:.8;margin-top:2px} .funds a{color:#fff;text-decoration:underline;font-weight:800}
   .colo-bot{padding:18px 0 26px;font-size:.8rem;color:rgba(255,255,255,.7);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
   @media (pointer:coarse),(max-width:900px){ .site-footer a{display:inline-block;padding-block:7px} } (tap targets:
   a coarse pointer, or the footer at 900px and under)
   White on the colophon is --fs-on-brand (white on every preset). */
.fs-fn-footer{position:relative;margin-top:30px}
.fs-fn-footer{--fs-fn-foot:color-mix(in srgb,rgb(var(--c-brand-700)) 92%,var(--fs-fn-k));--fs-fn-w:var(--fs-on-brand);--fs-fn-k:rgb(var(--fs-fn-shade))}
.dark .fs-fn-footer{--fs-fn-foot:color-mix(in srgb,rgb(var(--c-brand-700)) 45%,color-mix(in srgb,rgb(var(--c-paper)) 40%,var(--fs-fn-k)))}
.fs-preview-light .fs-fn-footer{--fs-fn-foot:color-mix(in srgb,rgb(var(--c-brand-700)) 92%,var(--fs-fn-k))}
.fs-fn-eoi{background:var(--fs-fn-tint2);border-top:2px solid rgb(var(--c-ink-950));padding:54px 0 58px}
.fs-fn-eoi-head{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;margin-bottom:30px}
.fs-fn .fs-fn-eoi-h{font-size:clamp(1.7rem,calc(3 * var(--fs-fn-vw)),2.4rem)}
.fs-fn-eoi-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1fr);gap:44px;align-items:start}
.fs-fn-eoi-grid>*{min-width:0}
.fs-fn .fs-fn-eoi-h3{font-family:var(--font-sans,'Hanken Grotesk',sans-serif);font-weight:800;font-size:.74rem;line-height:1.12;letter-spacing:.16em;text-transform:uppercase;color:rgb(var(--c-ink-400));margin:0 0 16px}
.fs-fn-eoi-next{list-style:none;counter-reset:fsfnn;display:grid;gap:0;margin:0;padding:0}
.fs-fn-eoi-li{counter-increment:fsfnn;display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px;padding:14px 0;border-top:1px solid rgb(var(--c-line));position:relative}
.fs-fn-eoi-li:first-child{border-top:0;padding-top:0}
.fs-fn-eoi-li::before{content:counter(fsfnn);font-family:var(--font-display,'Source Serif 4',Georgia,serif);font-size:1.5rem;line-height:1;color:rgb(var(--c-brand-text,var(--c-brand-600)))}
.fs-fn-eoi-t{display:block;font-family:var(--font-display,'Source Serif 4',Georgia,serif);font-weight:500;font-size:1.12rem;line-height:1.25}
.fs-fn-eoi-m{display:block;margin-top:3px;color:rgb(var(--c-ink-400));font-size:.78rem;font-weight:700}
.fs-fn .fs-fn-eoi-a::after{content:"";position:absolute;inset:0}
.fs-fn-eoi-li:hover .fs-fn-eoi-a{text-decoration:underline;text-decoration-color:rgb(var(--c-accent));text-decoration-thickness:2px;text-underline-offset:3px}
.fs-fn-eoi-sign{position:relative;padding:22px 24px;border-radius:12px;background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line))}
.fs-fn-eoi-q{margin:0}
.fs-fn .fs-fn-eoi-qp{font-family:var(--font-display,'Source Serif 4',Georgia,serif);font-style:italic;font-size:1.2rem;line-height:1.4;color:rgb(var(--c-ink-950))}
.fs-fn-by2{display:flex;align-items:center;gap:12px;margin-top:16px}
.fs-fn-by2-n{display:block;font-size:.9rem}
.fs-fn-by2-r{color:rgb(var(--c-ink-400));font-size:.78rem}
.fs-fn-sig{font-family:var(--font-display,'Source Serif 4',Georgia,serif);font-style:italic;font-size:1.5rem;color:rgb(var(--c-brand-text,var(--c-brand-600)));line-height:1;margin-left:auto}
.fs-fn .fs-fn-eoi-p{color:rgb(var(--c-ink-950));font-size:.94rem;margin-bottom:12px}
.fs-fn-nl-form{display:flex;gap:8px;margin-top:6px}
.fs-fn .fs-fn-nl-in{flex:1 1 140px;min-width:0;border:1.5px solid rgb(var(--c-line));border-radius:8px;padding:12px 16px;margin:0;background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));font:inherit;line-height:1.6}
.fs-fn .fs-fn-nl-in:focus{outline:none;border-color:rgb(var(--c-brand-600));box-shadow:0 0 0 4px color-mix(in srgb,rgb(var(--c-brand-600)) 16%,transparent)}
.fs-fn-nl-in.fs-fn-input-ph{min-height:0;color:rgb(var(--c-ink-400))}
.fs-fn .fs-fn-nl-err{margin-top:8px;font-size:.8rem;font-weight:600;color:var(--fs-fn-err)}
.fs-fn-nl-err:empty{display:none}
.fs-fn-nl-msg{display:none;margin-top:10px;font-weight:800;font-size:.88rem;color:rgb(var(--c-ink-950));outline:none}
.fs-fn-nl-msg[data-show]{display:block}
.fs-fn-eoi-small{display:block;margin-top:10px;color:rgb(var(--c-ink-400));font-size:.78rem;line-height:1.45}
.fs-fn-colo{background:var(--fs-fn-foot);color:var(--fs-fn-w);padding:54px 0 0}
.fs-fn-colo-top{display:flex;justify-content:space-between;align-items:flex-start;gap:26px;flex-wrap:wrap;padding-bottom:30px;border-bottom:1px solid color-mix(in srgb,var(--fs-fn-w) 16%,transparent)}
.fs-fn-colo-lockup{display:inline-flex;align-items:center;gap:10px}
.fs-fn-colo-mark{width:42px;height:42px;flex:none}
.fs-fn-lg-bg{fill:var(--fs-fn-w)}
.fs-fn-lg-f{fill:none;stroke:rgb(var(--c-brand-700));stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.fs-fn-lg-dot{fill:rgb(var(--c-accent))}
.fs-fn-colo-names{display:grid;line-height:1.1}
.fs-fn-colo-name{font-family:var(--font-display,'Source Serif 4',Georgia,serif);font-weight:500;font-size:1.55rem;color:var(--fs-fn-w)}
.fs-fn-colo-sub{margin-top:3px;font-size:.58rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:color-mix(in srgb,var(--fs-fn-w) 70%,transparent)}
.fs-fn .fs-fn-colo-p{color:color-mix(in srgb,var(--fs-fn-w) 78%,transparent);font-size:.9rem;max-width:420px;margin-top:12px}
.fs-fn .fs-fn-colo-a{color:color-mix(in srgb,var(--fs-fn-w) 88%,transparent);font-size:.92rem}
.fs-fn a.fs-fn-colo-a:hover{color:var(--fs-fn-w);text-decoration:underline}
.fs-fn a.fs-fn-colo-a:focus-visible,.fs-fn a.fs-fn-fund-a:focus-visible{outline:2px solid var(--fs-fn-w);outline-offset:2px}
.fs-fn-colo-pages{display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:flex-end;max-width:520px;list-style:none;margin:0;padding:0}
.fs-fn-colo-pages .fs-fn-colo-li{display:inline}
.fs-fn-colo-idx{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:26px;padding:34px 0}
.fs-fn-colo-idx>*{min-width:0}
.fs-fn .fs-fn-colo-h{margin:0 0 14px;padding-bottom:8px;border-bottom:2px solid rgb(var(--c-accent));font-size:.72rem;line-height:1.2;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:color-mix(in srgb,var(--fs-fn-w) 62%,transparent)}
.fs-fn-colo-ul{list-style:none;display:grid;gap:8px;margin:0;padding:0}
.fs-fn-colo-idx .fs-fn-colo-a{display:block;font-size:.88rem;line-height:1.35}
.fs-fn-funds{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:24px 0;border-top:1px solid color-mix(in srgb,var(--fs-fn-w) 16%,transparent)}
.fs-fn-funds>*{min-width:0}
.fs-fn-fund{display:flex;gap:12px;align-items:flex-start;color:color-mix(in srgb,var(--fs-fn-w) 90%,transparent);font-weight:700;font-size:.86rem;line-height:1.4}
.fs-fn-fund .fs-fn-ic{color:rgb(var(--c-accent));margin-top:1px}
.fs-fn-fund-s{display:block;font-size:smaller;font-weight:600;opacity:.8;margin-top:2px}
.fs-fn .fs-fn-fund-a{color:var(--fs-fn-w);text-decoration:underline;font-weight:800;font-size:inherit}
.fs-fn-colo-bot{padding:18px 0 26px;font-size:.8rem;color:color-mix(in srgb,var(--fs-fn-w) 70%,transparent);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.fs-fn-colo-legal-links{display:flex;gap:16px;flex-wrap:wrap}
@container fs-fn (max-width:1060px){
  .fs-fn-eoi-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .fs-fn-eoi-grid>.fs-fn-eoi-col:first-child{grid-column:1/-1}
  .fs-fn-colo-idx{grid-template-columns:repeat(3,minmax(0,1fr))}
  .fs-fn-funds{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-fn-colo-pages{justify-content:flex-start}
}
/* The source's tap targets: every footer link 7px taller on a coarse
   pointer or at 900px and under (its @media (pointer:coarse),(max-width:900px)). */
@media (pointer:coarse){
  .fs-fn.fs-fn-footer a:not(.fs-fn-fund-btn),.fs-fn.fs-fn-footer .fs-fn-colo-idx .fs-fn-colo-a{display:inline-block;padding-block:7px}
}
@container fs-fn (max-width:900px){
  .fs-fn-footer a:not(.fs-fn-fund-btn),.fs-fn-footer .fs-fn-colo-idx .fs-fn-colo-a{display:inline-block;padding-block:7px}
}
@container fs-fn (max-width:760px){
  .fs-fn-eoi-grid{grid-template-columns:minmax(0,1fr)}
  .fs-fn-colo-idx{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-fn-funds{grid-template-columns:minmax(0,1fr)}
  .fs-fn-colo-bot{flex-direction:column}
}

/* ── the source's [data-mode=dark] and html[data-layout=…] lists, the rest
   (port Task 9, Rolling Bap R17: ticked line by line, port log P40).
   Widths follow the platform's layout (--fs-layout-max): the source's
   .wrap / .hd max-widths under full and boxed are the platform's. */
.dark .fs-fn-scn-h{background:color-mix(in srgb,rgb(var(--c-brand-600)) 80%,rgb(var(--fs-fn-shade)))}
.fs-preview-light .fs-fn-scn-h{background:rgb(var(--c-brand-700))}
.dark .fs-fn-footer .fs-fn-lg-f{stroke:var(--fs-fn-foot)}
.fs-preview-light .fs-fn-footer .fs-fn-lg-f{stroke:rgb(var(--c-brand-700))}
[data-fs-layout="minimal"] .fs-fn{--fs-fn-sh-3:0 1px 0 rgb(var(--c-line))}
[data-fs-layout="minimal"] .fs-fn-cchip{border-radius:4px}
[data-fs-layout="minimal"] .fs-fn .fs-fn-btn::after{display:none}
[data-fs-layout="minimal"] :is(.fs-fn-scn,.fs-fn-auth,.fs-fn-mail,.fs-fn-rs,.fs-fn-eoi-sign){border-radius:4px}
[data-fs-layout="minimal"] .fs-fn-scn-h{background:var(--fs-fn-tint);color:rgb(var(--c-ink-950))}
[data-fs-layout="minimal"] .fs-fn-fund-s{opacity:1}
[data-fs-layout="minimal"] .fs-fn-eoi{background:rgb(var(--c-paper));border-top-width:1px}
[data-fs-layout="minimal"] .fs-fn-colo{background:rgb(var(--c-paper));color:rgb(var(--c-ink-950));border-top:1px solid rgb(var(--c-line))}
[data-fs-layout="minimal"] :is(.fs-fn-colo-top,.fs-fn-funds){border-color:rgb(var(--c-line))}
[data-fs-layout="minimal"] .fs-fn :is(.fs-fn-colo-p,.fs-fn-colo-a,.fs-fn-colo-bot,.fs-fn-fund,.fs-fn-fund-a){color:rgb(var(--c-ink-400))}
[data-fs-layout="minimal"] .fs-fn .fs-fn-colo-h{color:rgb(var(--c-ink-400))}
[data-fs-layout="minimal"] .fs-fn-colo-name{color:rgb(var(--c-ink-950))}
[data-fs-layout="minimal"] .fs-fn-colo-sub{color:rgb(var(--c-ink-400))}
[data-fs-layout="minimal"] .fs-fn-footer .fs-fn-lg-bg{fill:rgb(var(--c-brand-600))}
[data-fs-layout="minimal"] .fs-fn-footer .fs-fn-lg-f{stroke:var(--fs-on-brand)}
[data-fs-layout="minimal"] .fs-fn-fund .fs-fn-ic{color:rgb(var(--c-brand-text,var(--c-brand-600)))}
[data-fs-layout="centered"] .fs-fn-articlehead .fs-fn-wrap{text-align:center}
[data-fs-layout="centered"] .fs-fn-articlehead :is(.fs-fn-crumbs,.fs-fn-byline){justify-content:center}
[data-fs-layout="centered"] .fs-fn-ah-acts{margin-left:0}
[data-fs-layout="centered"] .fs-fn-eoi-head{justify-content:center;text-align:center}
[data-fs-layout="boxed"] .fs-fn-art-grid{gap:40px;padding-inline:28px}
[data-fs-layout="full"] .fs-fn-band{border-radius:0}
[data-fs-layout="minimal"] .fs-fn a.fs-fn-colo-a:hover{color:rgb(var(--c-ink-950))}
[data-fs-layout="minimal"] .fs-fn :is(a.fs-fn-colo-a,a.fs-fn-fund-a):focus-visible{outline-color:rgb(var(--c-ink-950))}

/* ── hover states (not motion: the look a pointer gives; port Task 9) ──
   The source's hover looks that are colour, shadow or a line, shown only
   where a pointer can hover (a tap never leaves them stuck). Their
   MOVEMENT (lift, zoom, slide) is in the motion section below. */
.fs-fn .fs-fn-btn::after{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(100deg,transparent,color-mix(in srgb,var(--fs-on-brand) 40%,transparent),transparent);transform:skewX(-20deg);pointer-events:none}
.fs-fn-ripple{position:absolute;border-radius:50%;pointer-events:none;opacity:0;background:color-mix(in srgb,var(--fs-on-brand) 45%,transparent)}
.fs-fn-spk{position:fixed;z-index:600;width:13px;height:13px;pointer-events:none;opacity:0;overflow:visible}
@media (hover:hover){
  .fs-fn .fs-fn-btn:not(.fs-fn-btn-alt):hover{box-shadow:0 12px 26px color-mix(in srgb,rgb(var(--c-brand-600)) 38%,transparent)}
  .fs-fn .fs-fn-btn:hover::after{left:140%}
  .fs-fn .fs-fn-arrow:hover{background-size:100% 2px}
  .fs-fn-tt:hover{box-shadow:var(--fs-fn-sh-3);border-color:color-mix(in srgb,rgb(var(--c-brand-600)) 40%,rgb(var(--c-line)))}
  .fs-fn-au:hover{box-shadow:var(--fs-fn-sh-3);border-color:color-mix(in srgb,rgb(var(--c-brand-600)) 30%,rgb(var(--c-line)))}
  .fs-fn-sc:hover>.fs-fn-cv{box-shadow:var(--fs-fn-sh-3)}
  .fs-fn-ih-card:hover{--fs-fn-fold:34px}
}
[data-fs-layout="minimal"] .fs-fn .fs-fn-btn:not(.fs-fn-btn-alt):hover{box-shadow:none}
.fs-fn-sc:focus-within>.fs-fn-cv{box-shadow:var(--fs-fn-sh-3)}
.fs-fn-ih-card:focus-within{--fs-fn-fold:34px}
/* The FAQ answer: rows 0fr → 1fr (the source's .acc-a), hidden from
   reading and tabbing while shut (visibility); at rest it simply opens
   and shuts, the ease is fnOpen. */
.fs-fn-acc-a{display:grid;grid-template-rows:0fr;visibility:hidden}
.fs-fn-acc[data-open] .fs-fn-acc-a{grid-template-rows:1fr;visibility:visible}
.fs-fn-acc-in{min-height:0;overflow:hidden}

/* ══ motion (the source's own; port Task 9) ═════════════════════════════
   Every Fieldnote movement in ONE place so the gates are the same for all:
     1. [data-fs-motion="on"] — the published site and the template preview
        at Motion On or Subtle; the editor canvas, Off and any surface
        without the shell match nothing and stay still,
     2. @media screen and (prefers-reduced-motion: no-preference),
     3. a hover movement also needs (hover:hover) (Harlow L43),
     4. the reveal also needs a block drawn 'rich' (.fs-fn-anim).
   Nothing outside this block sets a transition or an animation, so Off
   and reduced motion stop EVERYTHING the family moves, live (the runtime
   reads matchMedia and the attribute; the CSS follows them by itself).
   SUBTLE: travel x var(--fs-motion-dist) (0.3: the source's own -sub
   keyframes, e.g. fnTurn-sub's -2.7deg / 4.2px), time x
   var(--fs-anim-speed) (1.7: its .62 → 1.05s); where the source is
   stricter it wins (!important): a loop plays ONCE
   (html[data-motion=subtle] *{animation-iteration-count:1!important}).
   SWITCHES: each effect reads var(--fs-anim-<id>, <the source's value>),
   ids in themes/fieldnote.ts microAnimations (check:anim); the scripts
   read theirs in fieldnote-motion.ts (FN_ANIM_SWITCH, fnMayMove).
   FILL: backwards only, the end frame always the resting style. The
   reveal never hides content without the script: its hidden first frame
   is a PAUSED animation behind data-fs-fn-in="0", which only the runtime
   (useFnMotion) sets. No clip-path. The platform's slide-in, image fade,
   press and lift stand down on Fieldnote blocks (the block after this). */
@keyframes fs-fn-turn{from{opacity:0;transform:perspective(1100px) rotateY(calc(-9deg * var(--fs-motion-dist, 1))) translateX(calc(14px * var(--fs-motion-dist, 1)))}60%{opacity:1}to{opacity:1;transform:perspective(1100px) rotateY(0deg) translateX(0)}}
@keyframes fs-fn-ping{0%{box-shadow:0 0 0 0 color-mix(in srgb,rgb(var(--c-accent)) 55%,transparent)}70%{box-shadow:0 0 0 calc(9px * var(--fs-motion-dist, 1)) color-mix(in srgb,rgb(var(--c-accent)) 0%,transparent)}100%{box-shadow:0 0 0 0 color-mix(in srgb,rgb(var(--c-accent)) 0%,transparent)}}
@keyframes fs-fn-fadeup{from{opacity:0;transform:translateY(calc(12px * var(--fs-motion-dist, 1)))}to{opacity:1;transform:none}}
@keyframes fs-fn-bmpop{0%{transform:scale(calc(1 - .4 * var(--fs-motion-dist, 1)))}45%{transform:scale(calc(1 + .45 * var(--fs-motion-dist, 1))) rotate(calc(-8deg * var(--fs-motion-dist, 1)))}100%{transform:none}}
@keyframes fs-fn-rip{from{transform:scale(0);opacity:1}to{transform:scale(calc(2.6 * var(--fs-motion-dist, 1)));opacity:0}}

/* screen only: a printed page shows every item, never a waiting one */
@media screen and (prefers-reduced-motion:no-preference){
  /* fnReveal — the page turn (fnTurn .62s): section heads, cards, panels
     swing in from the spine as they scroll in; cards 70ms apart (fn-d1…d4,
     --fs-fn-d set by the runtime) */
  [data-fs-motion="on"] .fs-fn-anim [data-fs-fn-in]{transform-origin:0 50%;backface-visibility:hidden;animation:var(--fs-anim-fnReveal, fs-fn-turn calc(.62s * var(--fs-anim-speed, 1)) var(--fs-fn-ease) backwards);animation-delay:calc(var(--fs-fn-d, 0ms) * var(--fs-anim-speed, 1))}
  /* waiting to scroll in: held on the first frame, paused */
  [data-fs-motion="on"] .fs-fn-anim [data-fs-fn-in="0"]{animation-play-state:paused}

  /* fnPing — the "Latest" dot pings twice (1.8s x 2 = 3.6s) and rests
     (ledger L5: WCAG 2.2.2, nothing loops) */
  [data-fs-motion="on"] .fs-fn-latest-dot{animation:var(--fs-anim-fnPing, fs-fn-ping calc(1.8s * var(--fs-anim-speed, 1)) 2)}

  /* fnPop — the bookmark pops (.55s; the runtime sets data-fs-fn-pop on
     each press) and a form's thanks rises in (.4s / .45s) */
  [data-fs-motion="on"] .fs-fn-bm[data-fs-fn-pop] .fs-fn-ic{animation:var(--fs-anim-fnPop, fs-fn-bmpop calc(.55s * var(--fs-anim-speed, 1)) var(--fs-fn-ease) backwards)}
  [data-fs-motion="on"] .fs-fn-form-ok[data-show]{animation:var(--fs-anim-fnPop, fs-fn-fadeup calc(.4s * var(--fs-anim-speed, 1)) backwards)}
  [data-fs-motion="on"] .fs-fn-nh-ok[data-show]{animation:var(--fs-anim-fnPop, fs-fn-fadeup calc(.45s * var(--fs-anim-speed, 1)) var(--fs-fn-ease) backwards)}

  /* fnRipple — the press ripple (.65s; the runtime adds it) */
  [data-fs-motion="on"] .fs-fn-ripple{animation:var(--fs-anim-fnRipple, fs-fn-rip calc(.65s * var(--fs-anim-speed, 1)) ease-out backwards)}

  /* fnLift — the moves the pointer gives: buttons rise 2px and a light
     sweeps across (.8s), the arrow steps 4px and its underline grows
     (.3s), story covers rise 4px, topic and writer cards 4px, drawn
     covers grow 4.5% (.8s); the hero's dog-ear folds further (.35s); a
     pressed choice sinks 1px. The minimal layout keeps its cards still
     (the source's html[data-layout=minimal] rules). */
  [data-fs-motion="on"] .fs-fn .fs-fn-btn{transition:transform calc(.25s * var(--fs-anim-speed, 1)) var(--fs-fn-ease),box-shadow .25s,background-color .25s}
  [data-fs-motion="on"] .fs-fn .fs-fn-btn::after{transition:var(--fs-anim-fnLift, left calc(.8s * var(--fs-anim-speed, 1)) var(--fs-fn-ease))}
  [data-fs-motion="on"] .fs-fn .fs-fn-arrow{transition:background-size calc(.3s * var(--fs-anim-speed, 1)) var(--fs-fn-ease)}
  [data-fs-motion="on"] .fs-fn .fs-fn-arrow .fs-fn-ic{transition:transform calc(.25s * var(--fs-anim-speed, 1))}
  [data-fs-motion="on"] .fs-fn-tt,[data-fs-motion="on"] .fs-fn-au{transition:transform calc(.35s * var(--fs-anim-speed, 1)) var(--fs-fn-ease),box-shadow .35s,border-color .35s}
  [data-fs-motion="on"] .fs-fn-sc>.fs-fn-cv{transition:transform calc(.35s * var(--fs-anim-speed, 1)) var(--fs-fn-ease),box-shadow .35s}
  [data-fs-motion="on"] .fs-fn-cv svg,[data-fs-motion="on"] .fs-fn-cv .fs-fn-cv-img{transition:transform calc(.8s * var(--fs-anim-speed, 1)) var(--fs-fn-ease)}
  [data-fs-motion="on"] .fs-fn-ih-card{transition:var(--fs-anim-fnLift, --fs-fn-fold calc(.35s * var(--fs-anim-speed, 1)) var(--fs-fn-ease))}
  [data-fs-motion="on"] .fs-fn .fs-fn-btn:active{transform:var(--fs-anim-fnLift, translateY(0))}
  [data-fs-motion="on"] .fs-fn-ih-seg:active .fs-fn-ih-seg-in,[data-fs-motion="on"] .fs-fn-ih-chip:active .fs-fn-ih-chip-in{transform:var(--fs-anim-fnLift, translateY(calc(1px * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] .fs-fn-sc:focus-within>.fs-fn-cv:not([data-fs-layout="minimal"] *){transform:var(--fs-anim-fnLift, translateY(calc(-4px * var(--fs-motion-dist, 1))))}
  @media (hover:hover){
    [data-fs-motion="on"] .fs-fn .fs-fn-btn:hover{transform:var(--fs-anim-fnLift, translateY(calc(-2px * var(--fs-motion-dist, 1))))}
    [data-fs-motion="on"] .fs-fn .fs-fn-btn:hover:active{transform:var(--fs-anim-fnLift, translateY(0))}
    [data-fs-motion="on"] .fs-fn .fs-fn-arrow:hover .fs-fn-ic{transform:var(--fs-anim-fnLift, translateX(calc(4px * var(--fs-motion-dist, 1))))}
    [data-fs-motion="on"] .fs-fn-tt:hover:not([data-fs-layout="minimal"] *),[data-fs-motion="on"] .fs-fn-au:hover:not([data-fs-layout="minimal"] *){transform:var(--fs-anim-fnLift, translateY(calc(-4px * var(--fs-motion-dist, 1))))}
    [data-fs-motion="on"] .fs-fn-sc:hover>.fs-fn-cv:not([data-fs-layout="minimal"] *){transform:var(--fs-anim-fnLift, translateY(calc(-4px * var(--fs-motion-dist, 1))))}
    [data-fs-motion="on"] :is(a:hover>.fs-fn-cv,.fs-fn-sc:hover .fs-fn-cv,.fs-fn-tt:hover .fs-fn-cv) :is(svg,.fs-fn-cv-img){transform:var(--fs-anim-fnLift, scale(calc(1 + .045 * var(--fs-motion-dist, 1))))}
  }

  /* fnOpen — an answer opens and shuts without a jump (.4s), its plus
     turns (.3s; Subtle turns it a third as far, the source's 13.5deg);
     Reading settings' chevron turns (.3s) */
  [data-fs-motion="on"] .fs-fn-acc-a{transition:var(--fs-anim-fnOpen, grid-template-rows calc(.4s * var(--fs-anim-speed, 1)) var(--fs-fn-ease),visibility calc(.4s * var(--fs-anim-speed, 1)))}
  [data-fs-motion="on"] .fs-fn .fs-fn-acc-q .fs-fn-ic{transition:var(--fs-anim-fnOpen, transform calc(.3s * var(--fs-anim-speed, 1)) var(--fs-fn-ease))}
  [data-fs-motion="on"] .fs-fn-acc[data-open] .fs-fn-acc-q .fs-fn-ic{transform:rotate(calc(45deg * var(--fs-motion-dist, 1)))}
  [data-fs-motion="on"] .fs-fn-acc{transition:border-color .25s}
  [data-fs-motion="on"] .fs-fn-rs-chev{transition:var(--fs-anim-fnOpen, transform calc(.3s * var(--fs-anim-speed, 1)))}

  /* fnMeters — the bars move to their new length: a series' progress and
     the planner's total (.5s), the hero's fit bar (.45s), the reading
     scanner's bar (.12s linear, scroll-linked) */
  [data-fs-motion="on"] .fs-fn-se-tr-i,[data-fs-motion="on"] .fs-fn-pk-tr-i{transition:var(--fs-anim-fnMeters, width calc(.5s * var(--fs-anim-speed, 1)) var(--fs-fn-ease))}
  [data-fs-motion="on"] .fs-fn-ih-bar-i{transition:var(--fs-anim-fnMeters, transform calc(.45s * var(--fs-anim-speed, 1)) var(--fs-fn-ease))}
  [data-fs-motion="on"] .fs-fn-scn-tr-i{transition:var(--fs-anim-fnMeters, width calc(.12s * var(--fs-anim-speed, 1)) linear)}

  /* colour and outline changes ease (.2s–.3s), as the source's; no
     switch: nothing travels */
  [data-fs-motion="on"] .fs-fn .fs-fn-input{transition:border-color .2s,box-shadow .2s}
  [data-fs-motion="on"] .fs-fn-cchip{transition:background-color .2s,border-color .2s,color .2s}
  [data-fs-motion="on"] .fs-fn-opt{transition:border-color .2s,background-color .2s}
  [data-fs-motion="on"] .fs-fn-pw{transition:background-color .3s}
  [data-fs-motion="on"] .fs-fn .fs-fn-toc-a{transition:color .2s,border-color .2s}
  [data-fs-motion="on"] .fs-fn-tgl-t{transition:background-color .2s}
  [data-fs-motion="on"] .fs-fn-tgl-t::after{transition:transform calc(.2s * var(--fs-anim-speed, 1)) var(--fs-fn-ease)}
  [data-fs-motion="on"] .fs-fn .fs-fn-bm{transition:background-color .2s,color .2s}
  [data-fs-motion="on"] .fs-fn .fs-fn-mk,[data-fs-motion="on"] .fs-fn .fs-fn-fchip,[data-fs-motion="on"] .fs-fn .fs-fn-rs-btn{transition:border-color .2s,background-color .2s,color .2s}
  [data-fs-motion="on"] .fs-fn-ih-seg-in,[data-fs-motion="on"] .fs-fn-ih-chip-in{transition:background-color .2s,border-color .2s,color .2s}

  /* SUBTLE, where the source is stricter: a loop plays once */
  [data-fs-motion="on"][data-fs-motion-level="subtle"] .fs-fn-latest-dot{animation-iteration-count:1 !important}
}

/* ── platform motion stands down on Fieldnote blocks ────────────
   Fieldnote's own reveals ARE the motion on its blocks (port Task 9), so
   the platform baseline stands down through its own off-vars: no
   "Sections ease in" slide, no "Images fade in", no "Buttons respond to
   a press" scale on Fieldnote's buttons, and no platform card lift on
   its cards (Tidewell P58). */
[data-fs-blocktype^="favFn"]{--fs-anim-fs-sectionin-name:none}
.fs-fn{--fs-anim-fs-imgin-name:none;--fs-anim-fs-press:none;--fs-anim-fs-lift-t:none;--fs-anim-fs-lift-prop:none}


/* ── family root ──────────────────────────────────────────────── */
.fs-lth{
  container-type:inline-size;container-name:fs-lth;
  position:relative;
  color:rgb(var(--c-ink-950));
  font-family:var(--font-display,'Bricolage Grotesque','Arial Black',system-ui,sans-serif);
  font-size:1.05rem;line-height:1.6;
  -webkit-font-smoothing:antialiased;
  --fs-lth-serif:var(--font-sans,'Newsreader',Georgia,serif);
  --fs-lth-mono:var(--font-mono,'IBM Plex Mono',ui-monospace,Consolas,monospace);
  --fs-lth-hair:rgb(var(--c-ink-950) / .14);
  --fs-lth-shadow:5px 5px 0 rgb(var(--c-line));
  --fs-lth-yellow:#FFD23F;
  --fs-lth-mint:#2EC4A0;
  --fs-lth-ink-fixed:#141414;
  --fs-lth-paper-fixed:#F4F1EA;
  --fs-lth-field:#FFFDF7;
  --fs-lth-placeholder:#757575;
  --fs-lth-prompt-bg:#2836D9;
  --fs-lth-prompt-lede:#DCDFFF;
  --fs-lth-note-paper:#FFF2B3;
  --fs-lth-tint-making:#FF9DBA;
  --fs-lth-tint-travel:#9DB4FF;
  --fs-lth-tint-feelings:#FFB38A;
  --fs-lth-tint-tech:#C9B6FF;
}
.fs-lth:is(.dark *):not(.fs-preview-light *){--fs-lth-hair:rgb(var(--c-ink-950) / .16)}
.fs-lth *,.fs-lth *::before,.fs-lth *::after{box-sizing:border-box}
.fs-lth-wire{filter:grayscale(1) contrast(.5)}
.fs-lth a{color:inherit}
.fs-lth img{max-width:100%;height:auto;display:block}
.fs-lth [hidden]{display:none !important}

/* ── base: .wrap, .wrap-narrow, type, .mono, .sr, .skip, focus ── */
/* .wrap{width:min(1240px,100% - 32px)} and .wrap-narrow{min(720px,...)} —
   the wide width follows a Site Settings layout first (--fs-layout-max),
   then the theme's shell. */
.fs-lth-wrap{
  width:min(var(--fs-layout-max,var(--fs-shell-max,1240px)),100% - 32px);
  margin-inline:auto;
}
.fs-lth-wrap-narrow{width:min(720px,100% - 32px);margin-inline:auto}
.fs-lth h1,.fs-lth h2,.fs-lth h3,.fs-lth h4{
  font-family:var(--font-display,'Bricolage Grotesque','Arial Black',system-ui,sans-serif);
  font-weight:800;line-height:1.05;letter-spacing:-.02em;margin:0 0 .45em;color:inherit;
}
.fs-lth p{margin:0 0 1em}
.fs-lth-serif{font-family:var(--fs-lth-serif)}
.fs-lth-mono{font-family:var(--fs-lth-mono);font-size:.78rem;letter-spacing:.02em}
.fs-lth-sr{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fs-lth-skip{position:absolute;left:-999px;top:8px;z-index:1000;background:rgb(var(--c-ink-950));color:rgb(var(--c-paper));padding:8px 14px;border-radius:8px}
.fs-lth-skip:focus{left:8px}
.fs-lth :focus-visible{outline:3px solid rgb(var(--c-accent));outline-offset:3px}
/* a hint in a box is the browser's own grey in the source, not the platform's lighter one */
.fs-lth input::placeholder,.fs-lth textarea::placeholder{color:var(--fs-lth-placeholder);opacity:1}

/* ── buttons, links, badges, tags, avatars ───────────────────── */
.fs-lth-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.4em;
  font:700 .95rem var(--font-display,'Bricolage Grotesque','Arial Black',system-ui,sans-serif);
  text-decoration:none;white-space:nowrap;
  padding:.72em 1.3em;border-radius:999px;border:2px solid rgb(var(--c-line));
  background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));cursor:pointer;
}
.fs-lth-btn-sm{padding:.5em 1.05em;font-size:.88rem}
.fs-lth-btn-ink{background:rgb(var(--c-ink-950));color:rgb(var(--c-paper))}
.fs-lth-btn-pink{background:rgb(var(--c-accent));color:var(--fs-lth-ink-fixed);border-color:var(--fs-lth-ink-fixed)}
.fs-lth-btn-yellow{background:var(--fs-lth-yellow);color:var(--fs-lth-ink-fixed);border-color:var(--fs-lth-ink-fixed)}
.fs-lth-text-link{font-weight:700;text-decoration:none;border-bottom:2px solid rgb(var(--c-accent))}
.fs-lth-text-link:hover{color:rgb(var(--c-brand-text,var(--c-brand-600)))}

.fs-lth-badge{
  display:inline-block;font:500 .7rem var(--fs-lth-mono);letter-spacing:.08em;text-transform:uppercase;
  padding:.35em .8em;border:2px solid var(--fs-lth-ink-fixed);border-radius:6px;
  background:var(--fs-lth-yellow);color:var(--fs-lth-ink-fixed);
}
.fs-lth-badge-pink{background:rgb(var(--c-accent))}
.fs-lth-badge-yellow{background:var(--fs-lth-yellow)}

.fs-lth-topic-tag{
  display:inline-block;font:500 .7rem var(--fs-lth-mono);letter-spacing:.06em;text-transform:uppercase;
  padding:.3em .75em;border-radius:999px;color:var(--fs-lth-ink-fixed);background:var(--fs-lth-mint);
}
.fs-lth-topic-tag[data-topic="food"]{background:var(--fs-lth-yellow)}
.fs-lth-topic-tag[data-topic="making"]{background:var(--fs-lth-tint-making)}
.fs-lth-topic-tag[data-topic="travel"]{background:var(--fs-lth-tint-travel)}
.fs-lth-topic-tag[data-topic="feelings"]{background:var(--fs-lth-tint-feelings)}
.fs-lth-topic-tag[data-topic="tech"]{background:var(--fs-lth-tint-tech)}

.fs-lth-av{
  display:inline-grid;place-items:center;flex:none;
  width:42px;height:42px;border-radius:50%;
  background:var(--c,var(--fs-lth-yellow));color:var(--fs-lth-ink-fixed);border:2px solid var(--fs-lth-ink-fixed);
  font:800 .82rem var(--font-display,'Bricolage Grotesque','Arial Black',system-ui,sans-serif);letter-spacing:.02em;
}
.fs-lth-av.fs-lth-sm{width:28px;height:28px;font-size:.6rem;border-width:1.5px}
.fs-lth-av.fs-lth-lg{width:80px;height:80px;font-size:1.45rem;border-width:2.5px;box-shadow:4px 4px 0 rgb(var(--c-line))}
.fs-lth-who{display:inline-flex;align-items:center;gap:9px;font:500 .8rem var(--fs-lth-mono);color:rgb(var(--c-ink-700))}
.fs-lth-who strong{display:block;font:700 1rem var(--font-display,'Bricolage Grotesque','Arial Black',system-ui,sans-serif);color:rgb(var(--c-ink-950))}
.fs-lth-who .fs-lth-mono{display:block;color:rgb(var(--c-ink-400))}

/* like / save / act pills (the heart, the bookmark, a comment count) */
.fs-lth-like,.fs-lth-save,.fs-lth-act{
  display:inline-flex;align-items:center;justify-content:center;gap:.4em;
  min-width:36px;height:36px;padding:0 .8em;
  font:500 .8rem var(--fs-lth-mono);color:rgb(var(--c-ink-950));text-decoration:none;
  border:2px solid rgb(var(--c-line));border-radius:999px;background:rgb(var(--c-paper-soft));cursor:pointer;
}
.fs-lth-save{padding:0;width:36px}
.fs-lth-like svg,.fs-lth-save svg,.fs-lth-act svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
.fs-lth-like[aria-pressed="true"]{background:rgb(var(--c-accent));color:var(--fs-lth-ink-fixed);border-color:var(--fs-lth-ink-fixed)}
.fs-lth-like[aria-pressed="true"] svg{fill:var(--fs-lth-ink-fixed)}
.fs-lth-save[aria-pressed="true"]{background:var(--fs-lth-yellow);color:var(--fs-lth-ink-fixed);border-color:var(--fs-lth-ink-fixed)}
.fs-lth-save[aria-pressed="true"] svg{fill:var(--fs-lth-ink-fixed)}
.fs-lth-card-actions{display:flex;align-items:center;gap:6px}

/* ── cards: .card, .card-art, .card-meta, .new-pill, the grid ── */
.fs-lth-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:rgb(var(--c-ink-400))}
.fs-lth-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 28px}
.fs-lth-card{display:flex;flex-direction:column;align-items:flex-start}
.fs-lth-card-art{position:relative;display:block;width:100%;margin-bottom:16px}
.fs-lth-card-art img,.fs-lth-card-art svg{width:100%;aspect-ratio:3 / 2;object-fit:cover;border:2px solid var(--fs-lth-ink-fixed);border-radius:16px}
.fs-lth-card-art .fs-lth-badge{position:absolute;right:14px;top:-12px;transform:rotate(5deg)}
.fs-lth-new-pill{position:absolute;left:12px;top:12px;padding:.25em .7em;border-radius:999px;background:var(--fs-lth-mint);color:var(--fs-lth-ink-fixed);border:2px solid var(--fs-lth-ink-fixed);font:500 .68rem var(--fs-lth-mono);text-transform:uppercase;letter-spacing:.08em}
.fs-lth-card h3{font-size:1.42rem;margin:10px 0 .4em}
.fs-lth-card > p{font:400 1.04rem/1.5 var(--fs-lth-serif);color:rgb(var(--c-ink-700))}
.fs-lth-card footer{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin-top:auto;padding-top:4px}

/* ── scaffold bodies (replaced block by block in Tasks 4–8) ───── */
.fs-lth-postfoot,.fs-lth-comments{padding:40px 0}
.fs-lth-scaffold > *{display:block;margin-bottom:.6em}
.fs-lth-scaffold .fs-lth-h{font-size:clamp(2rem,4vw,2.8rem)}
.fs-lth-scaffold .fs-lth-p{font-family:var(--fs-lth-serif);font-size:1.22rem;line-height:1.5;color:rgb(var(--c-ink-700))}
.fs-lth-scaffold .fs-lth-label{font:500 .8rem var(--fs-lth-mono);letter-spacing:.02em}

/* ── editor-only marks and strips (a default that a real site would hide) ── */
.fs-lth [data-lth-sample]{position:relative;outline:2px dashed rgb(var(--c-ink-400) / .7);outline-offset:3px}
.fs-lth [data-lth-sample]::after{
  content:attr(data-lth-sample);position:absolute;top:-12px;right:10px;z-index:3;
  padding:0 6px;border-radius:4px;font:700 .68rem/1.5 var(--font-sans,system-ui,sans-serif);letter-spacing:.04em;text-transform:none;white-space:nowrap;
  background:rgb(var(--c-paper));color:rgb(var(--c-ink-400));border:1px dashed rgb(var(--c-ink-400) / .7);
}
.fs-lth-ed{position:relative;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px 16px;margin:0 auto 20px;max-width:var(--fs-layout-max,var(--fs-shell-max,1240px));padding:12px;border:1px dashed rgb(var(--c-ink-400) / .6);border-radius:6px;font-size:.8125rem;line-height:1.4;color:rgb(var(--c-ink-950));background:rgb(var(--c-paper))}
.fs-lth-ed>div::before{content:attr(data-ed);display:block;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
.fs-lth-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
/* a customer picture slot over a drawing: the drawing shows through an empty one */
.fs-lth-slot{position:absolute;inset:0;display:block}
.fs-lth-slot[data-has-img]{position:relative}
.fs-lth-slot>*,.fs-lth-slot img{width:100%;height:100%}
.fs-lth-slot img{aspect-ratio:16 / 10;object-fit:cover;border:2px solid var(--fs-lth-ink-fixed);border-radius:22px;box-shadow:9px 9px 0 rgb(var(--c-brand-text,var(--c-brand-600)))}
.fs-lth-slot[data-empty]>[data-editable]{background:transparent}
.fs-lth-slot[data-empty]>[data-editable]>span:first-child{visibility:hidden}

/* ── covers (the drawing or a customer picture), avatar pictures ── */
.fs-lth-cover{display:block;width:100%;aspect-ratio:16 / 10;object-fit:cover;isolation:isolate;border:2px solid var(--fs-lth-ink-fixed);border-radius:22px;box-shadow:9px 9px 0 rgb(var(--c-brand-text,var(--c-brand-600)))}
.fs-lth-card-art .fs-lth-cover{aspect-ratio:3 / 2;border-radius:16px;box-shadow:none}
.fs-lth-av{overflow:hidden}
.fs-lth-av-img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.fs-lth-title-link{text-decoration:none;background:linear-gradient(rgb(var(--c-accent)),rgb(var(--c-accent))) 0 100% / 0 3px no-repeat}

/* ── favLthTop (.top, .featured, .trending) ──────────────────── */
.fs-lth-top-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:44px;padding:48px 0 90px}
.fs-lth-top-solo{grid-template-columns:minmax(0,1fr)}
.fs-lth-top-bare{padding:0}
.fs-lth-featured{position:relative}
.fs-lth-featured-art{position:relative;display:block}
.fs-lth-featured-art .fs-lth-badge{position:absolute;top:-14px;left:26px;transform:rotate(-4deg)}
.fs-lth-featured-copy{padding-top:26px}
.fs-lth .fs-lth-featured h1{font-size:clamp(1.9rem,3.5cqw,2.9rem);margin-top:12px}
.fs-lth .fs-lth-dek{font:400 1.22rem/1.5 var(--fs-lth-serif);color:rgb(var(--c-ink-700));max-width:40em}
.fs-lth-featured-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-top:22px}
.fs-lth-trending{align-self:start;padding:26px 26px 22px;background:rgb(var(--c-paper-soft));border:2px solid rgb(var(--c-line));border-radius:22px;box-shadow:var(--fs-lth-shadow)}
.fs-lth .fs-lth-mono-title{font:500 .82rem var(--fs-lth-mono);text-transform:uppercase;letter-spacing:.1em;margin:0 0 14px}
.fs-lth-trending ol{list-style:none;padding:0;margin:0 0 18px}
.fs-lth-trending li{position:relative}
.fs-lth-trending li + li{border-top:2px dashed var(--fs-lth-hair)}
.fs-lth-trending a,.fs-lth-trend-link{display:flex;gap:16px;align-items:flex-start;padding:16px 0;text-decoration:none}
.fs-lth-rank{flex:none;width:2.1ch;font:800 2.3rem/1 var(--font-display,'Bricolage Grotesque','Arial Black',system-ui,sans-serif);color:transparent;-webkit-text-stroke:1.5px rgb(var(--c-ink-950))}
.fs-lth-trending strong{display:block;font-size:1.1rem;line-height:1.25;margin-bottom:4px}
.fs-lth-trending .fs-lth-mono{color:rgb(var(--c-ink-400))}

/* ── favLthWriters (.people-section, .section-head, .people, .person) ── */
.fs-lth-writers{padding:100px 0 40px}
.fs-lth-section-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:26px}
.fs-lth .fs-lth-section-head h2{font-size:clamp(1.9rem,4cqw,2.8rem);margin:0 0 6px}
.fs-lth .fs-lth-sub{margin:0;font:400 1.1rem var(--fs-lth-serif);color:rgb(var(--c-ink-700))}
.fs-lth-row-arrows{display:flex;gap:8px}
.fs-lth-arrow{width:46px;height:46px;border-radius:50%;border:2px solid rgb(var(--c-line));background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));font-family:Arial,sans-serif;font-size:1.2rem;line-height:normal;cursor:pointer}
.fs-lth-people{
  display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding:12px max(16px,(100% - var(--fs-layout-max,var(--fs-shell-max,1240px))) / 2) 34px;
  scroll-padding-inline:max(16px,(100% - var(--fs-layout-max,var(--fs-shell-max,1240px))) / 2);
  scrollbar-width:thin;
}
.fs-lth-people[data-editing]{flex-wrap:wrap;overflow:visible;scroll-snap-type:none}
.fs-lth-person{
  position:relative;flex:none;width:260px;scroll-snap-align:start;text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:6px;
  padding:28px 22px 24px;background:rgb(var(--c-paper-soft));border:2px solid rgb(var(--c-line));border-radius:22px;
}
.fs-lth-person .fs-lth-av{margin-bottom:10px}
.fs-lth .fs-lth-person h3{font-size:1.25rem;margin:0}
.fs-lth .fs-lth-person p{font:400 1rem/1.4 var(--fs-lth-serif);color:rgb(var(--c-ink-700));margin:6px 0 2px}
.fs-lth .fs-lth-person .fs-lth-stats{display:flex;gap:12px;font-family:var(--fs-lth-mono);font-size:.74rem;color:rgb(var(--c-ink-400));margin-bottom:12px}
.fs-lth-follow{display:inline-block;font:700 .86rem var(--font-display,'Bricolage Grotesque','Arial Black',system-ui,sans-serif);padding:.5em 1.3em;border-radius:999px;cursor:pointer;border:2px solid rgb(var(--c-line));background:rgb(var(--c-ink-950));color:rgb(var(--c-paper));margin-top:auto}
.fs-lth-follow[aria-pressed="true"]{background:var(--fs-lth-mint);color:var(--fs-lth-ink-fixed);border-color:var(--fs-lth-ink-fixed)}

/* ── favLthLetter (.letter, .letter-card, .pitch) ────────────── */
.fs-lth-letter{padding:60px 0 110px}
.fs-lth-letter-card{
  display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center;
  padding:clamp(28px,5cqw,60px);background:rgb(var(--c-accent));color:var(--fs-lth-ink-fixed);
  border:2px solid var(--fs-lth-ink-fixed);border-radius:30px;box-shadow:10px 10px 0 var(--fs-lth-ink-fixed);
}
.fs-lth .fs-lth-letter-card h2{font-size:clamp(2.4rem,6cqw,4.2rem);margin:14px 0 10px}
.fs-lth .fs-lth-letter-main > p{font:400 1.15rem/1.5 var(--fs-lth-serif);max-width:32em}
.fs-lth-letter-form{display:flex;gap:10px;margin-top:20px}
.fs-lth-letter-form input[type="email"]{
  flex:1;min-width:0;width:100%;font:400 1rem var(--font-display,'Bricolage Grotesque','Arial Black',system-ui,sans-serif);color:var(--fs-lth-ink-fixed);
  padding:.8em 1em;border:2px solid var(--fs-lth-ink-fixed);border-radius:14px;background:var(--fs-lth-field);resize:vertical;
}
.fs-lth-letter-form input[type="email"]:focus{outline:none;box-shadow:3px 3px 0 var(--fs-lth-yellow)}
.fs-lth-letter-card .fs-lth-btn-ink{background:var(--fs-lth-ink-fixed);color:var(--fs-lth-paper-fixed);border-color:var(--fs-lth-ink-fixed)}
.fs-lth-pitch{background:var(--fs-lth-paper-fixed);border:2px solid var(--fs-lth-ink-fixed);border-radius:22px;padding:28px;transform:rotate(1.5deg)}
.fs-lth .fs-lth-pitch h3{font-size:1.6rem}
.fs-lth .fs-lth-pitch p{font:400 1.05rem/1.5 var(--fs-lth-serif)}

/* ── favLthMore (.more, .feed-3) ─────────────────────────────── */
.fs-lth-more{padding:80px 0 100px}
.fs-lth.fs-lth-more h2{font-size:clamp(1.9rem,4cqw,2.8rem);margin-bottom:32px}
.fs-lth-cards-3{grid-template-columns:repeat(3,minmax(0,1fr))}

/* ── favLthFeed (.feed-wrap, .feed-head, .feed-tabs, .feed-tools, .topics, .search, .no-results, the sidebar) ── */
.fs-lth-feed-wrap{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:48px;align-items:start;padding-bottom:110px}
.fs-lth-feed-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding-top:34px;border-top:2px solid rgb(var(--c-line))}
.fs-lth .fs-lth-feed-head h2{font-size:clamp(2rem,4cqw,2.8rem);margin:0}
.fs-lth-feed-tabs{display:inline-flex;padding:4px;gap:2px;border:2px solid rgb(var(--c-line));border-radius:999px;background:rgb(var(--c-paper-soft))}
.fs-lth-tab{
  display:inline-flex;align-items:center;gap:6px;padding:.5em 1em;border:0;border-radius:999px;
  font:700 .9rem var(--font-display,'Bricolage Grotesque','Arial Black',system-ui,sans-serif);color:rgb(var(--c-ink-700));background:transparent;cursor:pointer;
}
.fs-lth-tab[aria-selected="true"],.fs-lth-tab[data-on]{background:rgb(var(--c-ink-950));color:rgb(var(--c-paper))}
.fs-lth-saved-count{
  display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;
  border-radius:999px;background:var(--fs-lth-yellow);color:var(--fs-lth-ink-fixed);font:500 .72rem var(--fs-lth-mono);
}
.fs-lth-feed-tools{display:flex;align-items:center;gap:14px;margin:22px 0 32px}
.fs-lth-topics{display:flex;gap:8px;flex:1;min-width:0;overflow-x:auto;padding:4px 2px 6px;scrollbar-width:none;mask-image:linear-gradient(90deg,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,#000 92%,transparent)}
.fs-lth-topics::-webkit-scrollbar{display:none}
.fs-lth-topics[data-editing]{flex-wrap:wrap;overflow:visible;mask-image:none;-webkit-mask-image:none}
.fs-lth-topic{
  flex:none;font:500 .74rem var(--fs-lth-mono);letter-spacing:.04em;text-transform:uppercase;
  padding:.55em 1em;border:2px solid rgb(var(--c-line));border-radius:999px;background:transparent;color:rgb(var(--c-ink-950));cursor:pointer;
}
.fs-lth-topic.is-on{background:rgb(var(--c-ink-950));color:rgb(var(--c-paper))}
.fs-lth-search{flex:none}
.fs-lth-search input{
  font:400 .92rem var(--font-display,'Bricolage Grotesque','Arial Black',system-ui,sans-serif);color:rgb(var(--c-ink-950));
  width:210px;padding:.6em 1em .6em 2.4em;
  border:2px solid rgb(var(--c-line));border-radius:999px;background-color:rgb(var(--c-paper-soft));
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.5' stroke-linecap='round'><circle cx='11' cy='11' r='6'/><path d='m20 20-4.5-4.5'/></svg>");
  background-repeat:no-repeat;background-size:17px;background-position:12px center;
}
.fs-lth-search input:focus{outline:none;width:250px;box-shadow:3px 3px 0 rgb(var(--c-accent))}
.fs-lth .fs-lth-no-results{margin:10px 0 0;padding:26px;text-align:center;border:2px dashed var(--fs-lth-hair);border-radius:18px;font:400 1.1rem var(--fs-lth-serif);color:rgb(var(--c-ink-700))}

.fs-lth-sidebar{position:sticky;top:88px;display:grid;gap:22px;padding-top:34px}
.fs-lth-widget{padding:22px;background:rgb(var(--c-paper-soft));border:2px solid rgb(var(--c-line));border-radius:20px}
.fs-lth .fs-lth-mono-title .fs-lth-mono-aside{color:rgb(var(--c-ink-400));text-transform:none;letter-spacing:0}
.fs-lth-cloud{display:flex;flex-wrap:wrap;gap:8px}
.fs-lth-cloud-btn{
  display:inline-flex;align-items:center;gap:6px;padding:.45em .5em .45em .9em;cursor:pointer;
  font:700 .86rem var(--font-display,'Bricolage Grotesque','Arial Black',system-ui,sans-serif);color:rgb(var(--c-ink-950));background:transparent;
  border:2px solid rgb(var(--c-line));border-radius:999px;
}
.fs-lth-cloud-0{padding-right:.9em}
.fs-lth-cloud-n{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border-radius:999px;background:var(--fs-lth-hair);font:500 .7rem var(--fs-lth-mono)}
.fs-lth-rl{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.fs-lth-rl-item{display:grid;grid-template-columns:52px 1fr auto;gap:10px;align-items:center}
.fs-lth-rl-thumb{display:block;width:52px;height:36px;overflow:hidden;border:1.5px solid var(--fs-lth-ink-fixed);border-radius:8px}
.fs-lth .fs-lth-rl-img{display:block;width:100%;height:100%;object-fit:cover}
.fs-lth-rl-link{font-weight:700;font-size:.92rem;line-height:1.25;text-decoration:none}
.fs-lth-unsave{width:26px;height:26px;border-radius:50%;border:1.5px solid rgb(var(--c-line));background:transparent;color:rgb(var(--c-ink-950));cursor:pointer;line-height:1}
.fs-lth .fs-lth-widget-empty{margin:0;font:400 1rem/1.45 var(--fs-lth-serif);color:rgb(var(--c-ink-700))}
.fs-lth-widget-empty svg{display:inline;width:14px;height:14px;vertical-align:-2px;fill:var(--fs-lth-yellow);stroke:rgb(var(--c-ink-950));stroke-width:2;stroke-linejoin:round}
.fs-lth .fs-lth-cur{margin:0;display:grid;gap:12px}
.fs-lth .fs-lth-cur-k{display:inline-block;font:500 .68rem var(--fs-lth-mono);text-transform:uppercase;letter-spacing:.08em;background:var(--fs-lth-yellow);color:var(--fs-lth-ink-fixed);padding:.15em .6em;border-radius:4px;margin:0 0 3px}
.fs-lth .fs-lth-cur-v{margin:0;font:400 1rem/1.4 var(--fs-lth-serif)}
.fs-lth .fs-lth-sign{font:italic 1.05rem var(--fs-lth-serif);margin:14px 0 0;text-align:right;color:rgb(var(--c-ink-700))}

/* the toast is drawn outside the block (a portal), so it carries no .fs-lth ancestor */
.fs-lth-toast{
  position:fixed;left:50%;bottom:24px;z-index:70;transform:translate(-50%,160%);
  background:rgb(var(--c-ink-950));color:rgb(var(--c-paper));padding:.8em 1.4em;border-radius:999px;
  font:500 .82rem var(--font-mono,'IBM Plex Mono',ui-monospace,Consolas,monospace);max-width:calc(100% - 32px);
}
.fs-lth-toast[data-show]{transform:translate(-50%,0)}

/* ── favLthPrompt (.prompt-section, .prompt-grid, .prompt-form, .answers) ── */
.fs-lth-prompt{
  background:var(--fs-lth-prompt-bg);color:var(--fs-lth-paper-fixed);
  border-block:2px solid rgb(var(--c-line));padding:96px 0;overflow:hidden;
}
.fs-lth-prompt::after{content:"";position:absolute;width:380px;height:380px;right:-120px;top:-140px;border-radius:50%;background:rgb(var(--c-accent));mix-blend-mode:multiply;opacity:.55;pointer-events:none}
.fs-lth-prompt-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:56px;align-items:center;position:relative;z-index:1}
.fs-lth .fs-lth-prompt-ask h2{font-size:clamp(2rem,4.4cqw,3.4rem);margin:18px 0 14px}
.fs-lth .fs-lth-prompt-p{font:400 1.15rem var(--fs-lth-serif);color:var(--fs-lth-prompt-lede)}
.fs-lth-prompt-form{margin-top:24px}
.fs-lth-prompt-form textarea,.fs-lth-prompt-form .fs-lth-handle{
  width:100%;font:400 1rem var(--font-display,'Bricolage Grotesque','Arial Black',system-ui,sans-serif);color:var(--fs-lth-ink-fixed);
  padding:.8em 1em;border:2px solid var(--fs-lth-ink-fixed);border-radius:14px;background:var(--fs-lth-field);resize:vertical;
}
.fs-lth-prompt-form textarea:focus,.fs-lth-prompt-form .fs-lth-handle:focus{outline:none;box-shadow:3px 3px 0 var(--fs-lth-yellow)}
.fs-lth-prompt-form textarea:disabled,.fs-lth-prompt-form .fs-lth-handle:disabled{opacity:1;cursor:default}
.fs-lth-prompt-row{display:flex;gap:10px;margin-top:10px}
.fs-lth-prompt-row .fs-lth-handle{flex:1;min-width:0}
.fs-lth .fs-lth-char-count{margin:8px 0 0;text-align:right;opacity:.7}
.fs-lth .fs-lth-prompt-msg{margin:8px 0 0;color:var(--fs-lth-paper-fixed)}
.fs-lth-answers{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.fs-lth-note{
  padding:18px 18px 14px;color:var(--fs-lth-ink-fixed);background:var(--c,var(--fs-lth-note-paper));
  border:2px solid var(--fs-lth-ink-fixed);border-radius:6px;box-shadow:5px 5px 0 var(--fs-lth-ink-fixed);
  transform:rotate(var(--r,-1deg));
}
.fs-lth-note:nth-child(even){margin-top:18px}
.fs-lth .fs-lth-note-p{margin:0 0 8px;font:400 1.08rem/1.4 var(--fs-lth-serif)}
.fs-lth .fs-lth-note-meta{opacity:.7}

/* ── favLthPostHead (.post-head, .byline, .post-cover) ───────── */
.fs-lth-post-head{padding:60px 0 36px}
.fs-lth .fs-lth-post-title{font-size:clamp(2.3rem,5.4cqw,4rem);line-height:1;margin-top:14px}
.fs-lth-byline{display:flex;align-items:center;gap:12px;margin:22px 0 6px}
.fs-lth-byline .fs-lth-who{flex:1}
.fs-lth-post-cover{max-width:1000px;margin:0 auto 56px}
.fs-lth-art{display:block}
.fs-lth-art-frame{position:relative}
.fs-lth-post-cover .fs-lth-cover{aspect-ratio:3 / 2;border-radius:24px;box-shadow:10px 10px 0 rgb(var(--c-brand-text,var(--c-brand-600)))}
/* the drawing keeps the source img's intrinsic ratio (600x400, taken on the content box); a customer picture is cropped to 3:2 */
.fs-lth-post-cover svg.fs-lth-cover{aspect-ratio:auto}
.fs-lth-post-cover .fs-lth-slot img{aspect-ratio:3 / 2;border-radius:24px;box-shadow:10px 10px 0 rgb(var(--c-brand-text,var(--c-brand-600)))}

/* ── favLthPostBody (.prose, .dropcap, .inline-fig, .pull) ───── */
.fs-lth-prose{font:400 1.25rem/1.75 var(--fs-lth-serif)}
.fs-lth .fs-lth-prose-h2{font-size:1.9rem;margin:1.8em 0 .5em}
.fs-lth-prose em{font-style:italic}
.fs-lth-prose a{color:rgb(var(--c-brand-text,var(--c-brand-600)))}
.fs-lth-dropcap::first-letter{float:left;font:italic 600 4.6em/.82 var(--fs-lth-serif);color:rgb(var(--c-brand-text,var(--c-brand-600)));margin:.06em .14em 0 0}
.fs-lth-inline-fig{margin:2em -40px}
.fs-lth-steps{display:block;width:100%;height:auto;border:2px solid var(--fs-lth-ink-fixed);border-radius:18px}
.fs-lth-inline-fig .fs-lth-slot img{aspect-ratio:3 / 1;border-radius:18px;box-shadow:none}
.fs-lth-fig-cap{font:400 .8rem var(--fs-lth-mono);color:rgb(var(--c-ink-400));margin-top:10px;text-align:center}
.fs-lth-pull{margin:1.6em 0;padding:4px 0 4px 26px;border-left:6px solid rgb(var(--c-accent));font:800 clamp(1.6rem,3.4cqw,2.2rem)/1.15 var(--font-display,'Bricolage Grotesque','Arial Black',system-ui,sans-serif);letter-spacing:-.02em}
.fs-lth .fs-lth-prose-ul{list-style:none;padding:0;margin:1em 0}
.fs-lth .fs-lth-prose-li{position:relative;padding-left:1.6em;margin-bottom:.6em}
.fs-lth .fs-lth-prose-li::before{content:"✦";position:absolute;left:0;color:rgb(var(--c-accent))}

/* ── favLthPostFoot (.post-foot, .reactions, .react, .author-card) ── */
.fs-lth-post-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:48px;padding:22px 0;border-block:2px solid rgb(var(--c-line))}
.fs-lth-reactions{display:flex;flex-wrap:wrap;gap:8px}
.fs-lth-react{display:inline-flex;align-items:center;gap:.45em;padding:.45em .9em;cursor:pointer;font:500 .9rem var(--fs-lth-mono);color:rgb(var(--c-ink-950));background:rgb(var(--c-paper-soft));border:2px solid rgb(var(--c-line));border-radius:999px}
.fs-lth-react[aria-pressed="true"]{background:var(--fs-lth-yellow);color:var(--fs-lth-ink-fixed);border-color:var(--fs-lth-ink-fixed)}
.fs-lth-post-foot .fs-lth-save{width:auto;padding:0 1em;gap:.5em;font-weight:500}
.fs-lth-author-card{display:flex;gap:22px;align-items:center;margin-top:40px;padding:28px;background:rgb(var(--c-paper-soft));border:2px solid rgb(var(--c-line));border-radius:22px;box-shadow:var(--fs-lth-shadow)}
.fs-lth .fs-lth-author-name{font-size:1.5rem;margin:2px 0 6px}
.fs-lth .fs-lth-author-card p{margin:0;font:400 1.05rem/1.5 var(--fs-lth-serif);color:rgb(var(--c-ink-700))}
.fs-lth .fs-lth-author-card .fs-lth-author-kicker{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}

/* ── favLthComments (.comments, .comment-form, .thread, .replies, .comment) ── */
.fs-lth-c-sec{padding:64px 0 20px}
.fs-lth .fs-lth-c-title{font-size:2rem}
.fs-lth .fs-lth-c-title .fs-lth-count{font-weight:400;color:rgb(var(--c-ink-400));font-size:1rem}
.fs-lth-comment-form{display:flex;gap:14px;align-items:flex-start;margin-bottom:32px}
.fs-lth-comment-form > div{flex:1}
.fs-lth-comment-row{display:flex;gap:10px;margin-top:10px}
.fs-lth-comment-form .fs-lth-ctext,.fs-lth-comment-form .fs-lth-cname{
  width:100%;font:400 1rem var(--font-display,'Bricolage Grotesque','Arial Black',system-ui,sans-serif);color:var(--fs-lth-ink-fixed);
  padding:.8em 1em;border:2px solid var(--fs-lth-ink-fixed);border-radius:14px;background:var(--fs-lth-field);resize:vertical;
}
.fs-lth-comment-form .fs-lth-ctext:focus,.fs-lth-comment-form .fs-lth-cname:focus{outline:none;box-shadow:3px 3px 0 var(--fs-lth-yellow)}
.fs-lth-comment-form .fs-lth-ctext:disabled,.fs-lth-comment-form .fs-lth-cname:disabled{opacity:1;cursor:default}
.fs-lth-comment-row .fs-lth-cname{flex:1;min-width:0}
.fs-lth .fs-lth-comment-msg{margin:8px 0 0;color:rgb(var(--c-ink-700))}
.fs-lth-thread,.fs-lth-replies{list-style:none;padding:0;margin:0;display:grid;gap:22px}
.fs-lth-replies{margin-top:18px;padding-left:18px;border-left:2px dashed var(--fs-lth-hair)}
.fs-lth-comment{display:flex;gap:14px;align-items:flex-start}
.fs-lth-c-body{flex:1}
.fs-lth .fs-lth-c-who{font:700 1rem var(--font-display,'Bricolage Grotesque','Arial Black',system-ui,sans-serif);color:rgb(var(--c-ink-950));margin:2px 0 4px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.fs-lth .fs-lth-c-who .fs-lth-mono{display:block;font-weight:400;color:rgb(var(--c-ink-400))}
.fs-lth .fs-lth-c-text{font:400 1.08rem/1.5 var(--fs-lth-serif);margin:0}
.fs-lth-author-pill{font:500 .62rem var(--fs-lth-mono);text-transform:uppercase;letter-spacing:.08em;padding:.2em .6em;background:rgb(var(--c-accent));color:var(--fs-lth-ink-fixed);border-radius:999px}

/* ── favLthFooter (.site-footer, .footer-inner, .footer-brand, .wordmark.small, nav, h4, a, .fine) ── */
.fs-lth-footer{display:block;border-top:2px solid rgb(var(--c-line));padding:50px 0 40px}
.fs-lth-foot-inner{display:grid;grid-template-columns:1fr 1.4fr;gap:30px 60px}
.fs-lth-wordmark{display:inline-block;color:inherit;text-decoration:none;font:800 1.7rem/.86 var(--font-display,'Bricolage Grotesque','Arial Black',system-ui,sans-serif);letter-spacing:-.04em}
.fs-lth-word-b{margin-left:.04em;color:rgb(var(--c-brand-text,var(--c-brand-600)));font-family:var(--fs-lth-serif);font-style:italic;font-weight:500;letter-spacing:-.03em}
.fs-lth .fs-lth-foot-blurb{margin:10px 0 0;color:rgb(var(--c-ink-700));font:italic 1.05rem var(--fs-lth-serif)}
.fs-lth-foot-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.fs-lth .fs-lth-foot-h{margin:0 0 12px;font-family:var(--fs-lth-mono);font-size:.78rem;color:rgb(var(--c-ink-400));font-weight:500;letter-spacing:.1em;text-transform:uppercase}
.fs-lth-foot-a{display:block;margin-bottom:8px;font-weight:600;text-decoration:none}
.fs-lth-foot-a:hover{text-decoration:underline wavy rgb(var(--c-accent));text-underline-offset:5px}
.fs-lth .fs-lth-fine{grid-column:1 / -1;margin:10px 0 0;padding-top:20px;border-top:2px dashed var(--fs-lth-hair);color:rgb(var(--c-ink-400))}
.fs-lth-fine .fs-lth-foot-a{display:inline;margin:0;font-weight:inherit}

/* Touch areas (owner-accepted, no visible change): on phones the small controls keep their drawn size and get an
   invisible 44px target, centred on the control (a ::before; the search box has no pseudo, so its hidden label grows
   behind it). Footer links sit 8px apart, so each area is the link plus half the gap (35px) and neighbours meet. */
@container fs-lth (max-width:640px){
  .fs-lth-tab,.fs-lth-topic,.fs-lth-cloud-btn,.fs-lth-like,.fs-lth-save,.fs-lth-act,.fs-lth-react,.fs-lth-follow,a.fs-lth-foot-a{position:relative}
  .fs-lth-tab::before,.fs-lth-topic::before,.fs-lth-cloud-btn::before,.fs-lth-like::before,.fs-lth-save::before,.fs-lth-act::before,.fs-lth-react::before,.fs-lth-follow::before{content:'';position:absolute;left:50%;top:50%;width:max(100%,44px);height:44px;transform:translate(-50%,-50%)}
  a.fs-lth-foot-a::before{content:'';position:absolute;inset:-4px 0}
  .fs-lth-search{position:relative}
  .fs-lth-search input{position:relative;z-index:1}
  .fs-lth-search > .fs-lth-sr{position:absolute !important;left:0;top:50%;width:100%;height:44px;transform:translateY(-50%);overflow:visible;clip:auto;white-space:normal;color:transparent}
}
/* ── responsive (the source's @media 1100 / 860 / 640 / 560, on the block's container) ── */
@container fs-lth (max-width:1100px){
  .fs-lth-top-grid{grid-template-columns:minmax(0,1fr);gap:34px}
  .fs-lth-feed-wrap{grid-template-columns:minmax(0,1fr);gap:20px}
  .fs-lth-sidebar{position:static;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));padding-top:10px}
}
@container fs-lth (max-width:860px){
  .fs-lth-feed-tools{flex-wrap:wrap}
  .fs-lth-topics{flex-basis:100%}
  .fs-lth-search,.fs-lth-search input,.fs-lth-search input:focus{width:100%}
  .fs-lth-letter-card{grid-template-columns:minmax(0,1fr)}
  .fs-lth-foot-inner{grid-template-columns:minmax(0,1fr)}
  .fs-lth-prompt-grid{grid-template-columns:minmax(0,1fr)}
  .fs-lth-cards-3{grid-template-columns:1fr}
  .fs-lth-inline-fig{margin-inline:0}
}
@container fs-lth (max-width:640px){
  .fs-lth-cards{grid-template-columns:1fr}
  .fs-lth-answers{grid-template-columns:1fr}
  .fs-lth-note:nth-child(even){margin-top:0}
  .fs-lth-feed-head{flex-direction:column;align-items:flex-start}
  .fs-lth-feed-tabs{width:100%}
  .fs-lth-tab{flex:1;justify-content:center;padding-inline:.5em}
}
@container fs-lth (max-width:560px){
  .fs-lth-letter-form,.fs-lth-prompt-row,.fs-lth-comment-row{flex-direction:column}
  .fs-lth-prose{font-size:1.15rem}
  .fs-lth-author-card{flex-direction:column;text-align:center}
  .fs-lth-comment-form > .fs-lth-av{display:none}
  .fs-lth-pitch{transform:none}
  .fs-lth-row-arrows{display:none}
  .fs-lth-foot-nav{grid-template-columns:1fr 1fr}
}

/* ── hover states (colours and underlines of the source's :hover rules). They are not movement, so they stand outside the motion gate; the lifts and tilts are inside it. ── */
.fs-lth-title-link:hover{background-size:100% 3px}
.fs-lth-trending a:hover .fs-lth-rank{color:rgb(var(--c-accent));-webkit-text-stroke-color:rgb(var(--c-accent))}
.fs-lth-trending a:hover strong{text-decoration:underline wavy rgb(var(--c-accent));text-underline-offset:5px}
button.fs-lth-tab:not([aria-selected="true"]):hover{color:rgb(var(--c-ink-950));background:var(--fs-lth-hair)}
button.fs-lth-topic:not(.is-on):hover{background:rgb(var(--c-paper-soft))}
button.fs-lth-cloud-btn:hover{background:var(--fs-lth-yellow);color:var(--fs-lth-ink-fixed);border-color:var(--fs-lth-ink-fixed)}
.fs-lth-rl-link:hover{text-decoration:underline}

/* ══ motion (the source's own; port Task 9) ══════════════════════════════
   Only what style.css and main.js do, nothing added:
     heart pop             pop .45s on the press only (data-pop, set on click, cleared on animationend)
     saved-count bump      bump .45s on the Feed tab's Saved count
     card / list / comment enter  .4s on a card shown again (the feed's own
                           script, FLIP 420ms with it), .3s on a reading-list
                           row, .4s on a comment just posted
     answer note           stick .5s on a note just pinned, hover straighten
     picture tilt          the featured cover (.35s), a card's picture (.25s)
     headline underline    grows to full width on hover (.35s)
     buttons               .btn lift / press, the writers' arrows (.15s)
     pills and cards       like / save / act / react / follow / cloud lift,
                           the writer card rises (.15s / .2s)
     toast                 slides up (.3s)
     colour fades          tab, chip, search, link, rank (.2 - .3s)
   Every one sits behind the same gates:
     1. [data-fs-motion="on"] - the published site and the template preview at
        Motion On or Subtle; the editor canvas, Off and any surface without
        the shell match nothing and stay still,
     2. @media screen and (prefers-reduced-motion: no-preference) - the
        source's own reduced path is "no animation, no transition",
     3. its Micro-animations switch: var(--fs-anim-<id>, <the source's value>),
        ids in themes/loosethreads.ts microAnimations (check:anim).
   SUBTLE: every travel is calc(<px> * var(--fs-motion-dist, 1)) (0.3 under
   Subtle) and every time calc(<t> * var(--fs-anim-speed, 1)) (x1.7); the
   source has no stricter Subtle path of its own, so none is invented.
   FILL: backwards only; every end frame is the resting style (the keyframes
   have no 'to' that differs from it). No clip-path. Nothing waits on a
   script: with no JS every element is simply at rest. */
@keyframes fs-lth-pop{40%{transform:scale(calc(1 + .5 * var(--fs-motion-dist, 1))) rotate(calc(-12deg * var(--fs-motion-dist, 1)))}}
@keyframes fs-lth-bump{40%{transform:scale(calc(1 + .4 * var(--fs-motion-dist, 1)))}}
@keyframes fs-lth-enter{from{opacity:0;transform:translateY(calc(10px * var(--fs-motion-dist, 1))) scale(calc(1 - .02 * var(--fs-motion-dist, 1)))}}
@keyframes fs-lth-stick{from{opacity:0;transform:translateY(calc(-24px * var(--fs-motion-dist, 1))) rotate(calc(8deg * var(--fs-motion-dist, 1))) scale(calc(1 - .1 * var(--fs-motion-dist, 1)))}}
.fs-lth:not([data-fs-motion="on"] *),.fs-lth:not([data-fs-motion="on"] *) *,.fs-lth:not([data-fs-motion="on"] *) *::before,.fs-lth:not([data-fs-motion="on"] *) *::after{animation:none !important;transition:none !important}
@media (prefers-reduced-motion:reduce){
  .fs-lth,.fs-lth *,.fs-lth *::before,.fs-lth *::after,.fs-lth-toast{animation:none !important;transition:none !important}
}
@media screen and (prefers-reduced-motion:no-preference){
  /* the writers' row glides when the arrows (or the keyboard) move it */
  [data-fs-motion="on"] .fs-lth-people{scroll-behavior:smooth}
  /* lthPop - the heart on a liked story (.like.pop svg) */
  [data-fs-motion="on"] .fs-lth .fs-lth-like[aria-pressed="true"][data-pop] svg{animation:var(--fs-anim-lthPop, fs-lth-pop calc(.45s * var(--fs-anim-speed, 1)) ease backwards)}
  /* lthBump - the Saved count on the Feed tab (.saved-count.bump) */
  [data-fs-motion="on"] .fs-lth .fs-lth-saved-count[data-bump]{animation:var(--fs-anim-lthBump, fs-lth-bump calc(.45s * var(--fs-anim-speed, 1)) ease backwards)}
  /* lthEnter - a reading-list row (.3s) and a comment just posted (.4s) */
  [data-fs-motion="on"] .fs-lth .fs-lth-rl-item{animation:var(--fs-anim-lthEnter, fs-lth-enter calc(.3s * var(--fs-anim-speed, 1)) ease backwards)}
  [data-fs-motion="on"] .fs-lth .fs-lth-comment.is-new{animation:var(--fs-anim-lthEnter, fs-lth-enter calc(.4s * var(--fs-anim-speed, 1)) ease backwards)}
  /* lthStick - a note just pinned to the wall (.answers li.is-new) */
  [data-fs-motion="on"] .fs-lth .fs-lth-note.is-new{animation:var(--fs-anim-lthStick, fs-lth-stick calc(.5s * var(--fs-anim-speed, 1)) cubic-bezier(.2,1.4,.4,1) backwards)}
  /* lthTilt - the featured cover, a card's picture and a note under the pointer */
  [data-fs-motion="on"] .fs-lth .fs-lth-featured-art :is(.fs-lth-cover,.fs-lth-slot img){transition:var(--fs-anim-lthTilt, transform calc(.35s * var(--fs-anim-speed, 1)) ease)}
  [data-fs-motion="on"] .fs-lth .fs-lth-featured-art:hover :is(.fs-lth-cover,.fs-lth-slot img){transform:var(--fs-anim-lthTilt, rotate(calc(-.6deg * var(--fs-motion-dist, 1))) scale(calc(1 + .01 * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] .fs-lth .fs-lth-card-art :is(.fs-lth-cover,.fs-lth-slot img){transition:var(--fs-anim-lthTilt, transform calc(.25s * var(--fs-anim-speed, 1)) ease, box-shadow calc(.25s * var(--fs-anim-speed, 1)) ease)}
  [data-fs-motion="on"] .fs-lth .fs-lth-card:hover .fs-lth-card-art :is(.fs-lth-cover,.fs-lth-slot img){transform:var(--fs-anim-lthTilt, translate(calc(-3px * var(--fs-motion-dist, 1)), calc(-3px * var(--fs-motion-dist, 1))) rotate(calc(-.6deg * var(--fs-motion-dist, 1))));box-shadow:var(--fs-anim-lthTilt, 6px 6px 0 rgb(var(--c-line)))}
  [data-fs-motion="on"] .fs-lth .fs-lth-note{transition:var(--fs-anim-lthTilt, transform calc(.25s * var(--fs-anim-speed, 1)) ease)}
  [data-fs-motion="on"] .fs-lth .fs-lth-note:hover{transform:var(--fs-anim-lthTilt, rotate(0) scale(calc(1 + .03 * var(--fs-motion-dist, 1))))}
  /* lthUnderline - the headline's pink rule grows (h1 a, h3 a) */
  [data-fs-motion="on"] .fs-lth .fs-lth-title-link{transition:var(--fs-anim-lthUnderline, background-size calc(.35s * var(--fs-anim-speed, 1)) ease)}
  /* lthPress - the hard-shadow buttons and the writers' arrows lift on hover and press in */
  [data-fs-motion="on"] .fs-lth .fs-lth-btn,[data-fs-motion="on"] .fs-lth .fs-lth-arrow{transition:var(--fs-anim-lthPress, transform calc(.15s * var(--fs-anim-speed, 1)) ease, box-shadow calc(.15s * var(--fs-anim-speed, 1)) ease)}
  [data-fs-motion="on"] .fs-lth .fs-lth-btn:hover,[data-fs-motion="on"] .fs-lth button.fs-lth-arrow:hover{transform:var(--fs-anim-lthPress, translate(calc(-2px * var(--fs-motion-dist, 1)), calc(-2px * var(--fs-motion-dist, 1))));box-shadow:var(--fs-anim-lthPress, 3px 3px 0 rgb(var(--c-line)))}
  [data-fs-motion="on"] .fs-lth .fs-lth-btn-pink:hover,[data-fs-motion="on"] .fs-lth .fs-lth-btn-yellow:hover{box-shadow:var(--fs-anim-lthPress, 3px 3px 0 var(--fs-lth-ink-fixed))}
  [data-fs-motion="on"] .fs-lth .fs-lth-btn:active,[data-fs-motion="on"] .fs-lth button.fs-lth-arrow:active{transform:var(--fs-anim-lthPress, none);box-shadow:none}
  /* lthLift - the pills (heart, bookmark, comments, reactions, follow, topic cloud) rise 2px; a writer's card rises 4px */
  [data-fs-motion="on"] .fs-lth :is(.fs-lth-like,.fs-lth-save,.fs-lth-act){transition:var(--fs-anim-lthLift, transform calc(.15s * var(--fs-anim-speed, 1)) ease, background-color calc(.15s * var(--fs-anim-speed, 1)) ease)}
  [data-fs-motion="on"] .fs-lth .fs-lth-react,[data-fs-motion="on"] .fs-lth .fs-lth-follow{transition:var(--fs-anim-lthLift, transform calc(.15s * var(--fs-anim-speed, 1)) ease)}
  [data-fs-motion="on"] .fs-lth .fs-lth-cloud-btn{transition:var(--fs-anim-lthLift, background-color calc(.2s * var(--fs-anim-speed, 1)) ease, transform calc(.15s * var(--fs-anim-speed, 1)) ease)}
  [data-fs-motion="on"] .fs-lth :is(.fs-lth-like,.fs-lth-save,.fs-lth-act,.fs-lth-react):hover,[data-fs-motion="on"] .fs-lth .fs-lth-follow:hover,[data-fs-motion="on"] .fs-lth button.fs-lth-cloud-btn:hover{transform:var(--fs-anim-lthLift, translateY(calc(-2px * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] .fs-lth .fs-lth-person{transition:var(--fs-anim-lthLift, transform calc(.2s * var(--fs-anim-speed, 1)) ease, box-shadow calc(.2s * var(--fs-anim-speed, 1)) ease)}
  [data-fs-motion="on"] .fs-lth .fs-lth-person:hover{transform:var(--fs-anim-lthLift, translateY(calc(-4px * var(--fs-motion-dist, 1))));box-shadow:var(--fs-anim-lthLift, var(--fs-lth-shadow))}
  /* lthToast - the status line slides up (.toast) */
  [data-fs-motion="on"] .fs-lth-toast{transition:var(--fs-anim-lthToast, transform calc(.3s * var(--fs-anim-speed, 1)) ease)}
  /* the colour and width fades follow the switches of the effects they belong to: links and rank numbers -> lthUnderline; tabs, topic buttons and the search box -> lthLift */
  [data-fs-motion="on"] .fs-lth .fs-lth-text-link{transition:var(--fs-anim-lthUnderline, color calc(.2s * var(--fs-anim-speed, 1)))}
  [data-fs-motion="on"] .fs-lth .fs-lth-rank{transition:var(--fs-anim-lthUnderline, color calc(.25s * var(--fs-anim-speed, 1)), -webkit-text-stroke-color calc(.25s * var(--fs-anim-speed, 1)))}
  [data-fs-motion="on"] .fs-lth button.fs-lth-tab,[data-fs-motion="on"] .fs-lth button.fs-lth-topic{transition:var(--fs-anim-lthLift, background-color calc(.2s * var(--fs-anim-speed, 1)), color calc(.2s * var(--fs-anim-speed, 1)))}
  [data-fs-motion="on"] .fs-lth .fs-lth-search input{transition:var(--fs-anim-lthLift, width calc(.3s * var(--fs-anim-speed, 1)), box-shadow calc(.2s * var(--fs-anim-speed, 1)))}
}

/* ── platform effects off (Tidewell P58) ──────────────────────── */
[data-fs-blocktype^="favLth"]{--fs-anim-fs-sectionin-name:none}
.fs-lth{--fs-anim-fs-imgin-name:none;--fs-anim-fs-press:none;--fs-anim-fs-lift-t:none;--fs-anim-fs-lift-prop:none}


@property --fs-nn-vw{syntax:'<length>';inherits:true;initial-value:0px}

/* ── family root ──────────────────────────────────────────────── */
/* body{font-family:var(--font);color:var(--ink);line-height:1.62;font-size:16px} */
.fs-nn{
  container-type:inline-size;container-name:fs-nn;
  position:relative;
  color:rgb(var(--c-ink-950));
  font-family:var(--font-sans,'DM Sans',system-ui,sans-serif);
  font-size:16px;line-height:1.62;
  --fs-nn-tint:color-mix(in srgb,rgb(var(--c-brand-600)) 8%,rgb(var(--c-paper-soft)));
  --fs-nn-tint2:color-mix(in srgb,rgb(var(--c-brand-600)) 11%,rgb(var(--c-paper)));
  --fs-nn-ease:cubic-bezier(.2,.8,.2,1);
  /* the source's rgba(30,10,20,…) caption scrim and lightbox overlay:
     the ink token (dark in light mode); dark mode's ink is light, so
     there the page ground (dark) — 5c review, no literal colour */
  --fs-nn-scrim:rgb(var(--c-ink-950));
  --fs-nn-on-scrim:rgb(var(--c-paper));
  /* html[data-mode=light] --shadow-sm / --shadow (source line 20) */
  --fs-nn-shadow-sm:0 1px 2px rgba(70,30,45,.07),0 4px 10px rgba(70,30,45,.08);
  --fs-nn-shadow:0 2px 5px rgba(70,30,45,.08),0 10px 22px rgba(70,30,45,.10),0 28px 54px rgba(70,30,45,.14);
}
/* html[data-mode=dark] (source line 21) */
.dark .fs-nn{
  --fs-nn-scrim:rgb(var(--c-paper));
  --fs-nn-on-scrim:rgb(var(--c-ink-950));
  --fs-nn-shadow-sm:inset 0 1px 0 rgba(255,255,255,.03),0 1px 3px rgba(0,0,0,.45),0 6px 14px rgba(0,0,0,.4);
  --fs-nn-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 3px 8px rgba(0,0,0,.55),0 22px 46px rgba(0,0,0,.6);
}
/* The site wrapper's own light marker beats a .dark on <html> that came
   from the visitor's OS (Brimwell's / Harlow's rule). */
.fs-preview-light .fs-nn{
  --fs-nn-scrim:rgb(var(--c-ink-950));
  --fs-nn-on-scrim:rgb(var(--c-paper));
  --fs-nn-shadow-sm:0 1px 2px rgba(70,30,45,.07),0 4px 10px rgba(70,30,45,.08);
  --fs-nn-shadow:0 2px 5px rgba(70,30,45,.08),0 10px 22px rgba(70,30,45,.10),0 28px 54px rgba(70,30,45,.14);
}
.fs-nn *,.fs-nn *::before,.fs-nn *::after{box-sizing:border-box}
.fs-nn-wire{filter:grayscale(1) contrast(.5)}
.fs-nn a{color:inherit;text-decoration:none}

/* ── base: .wrap, type ────────────────────────────────────────── */
/* .wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 24px} — the
   width follows a Site Settings layout first (--fs-layout-max), then the
   theme's shell. */
.fs-nn-wrap{
  --fs-nn-vw:1cqi;
  container-type:inline-size;container-name:fs-nn-wrap;
  width:100%;max-width:var(--fs-layout-max,var(--fs-shell-max,1200px));
  margin:0 auto;padding:0 24px;
}
/* h1,h2,h3{font-family:var(--serif);line-height:1.1;letter-spacing:-.015em;font-weight:400}
   h1{font-size:clamp(2.4rem,5.4vw,4.6rem)} */
.fs-nn h1,.fs-nn h2,.fs-nn h3{
  font-family:var(--font-display,'DM Serif Display',Georgia,'Times New Roman',serif);
  line-height:1.1;letter-spacing:-.015em;font-weight:400;margin:0;color:rgb(var(--c-ink-950));
}
.fs-nn h1{font-size:clamp(2.4rem,calc(5.4 * var(--fs-nn-vw)),4.6rem)}
/* h1 em,h2 em,h3 em{font-style:italic;color:var(--link)} */
.fs-nn .fs-nn-em{font-style:italic;color:rgb(var(--c-brand-text))}
/* p{color:var(--mute)} */
.fs-nn p{margin:0;color:rgb(var(--c-ink-400))}
.fs-nn-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* .eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:.76rem;font-weight:700;
   letter-spacing:.2em;text-transform:uppercase;color:var(--link);margin-bottom:16px}
   .eyebrow::before{content:"";width:30px;height:1px;background:currentColor} */
.fs-nn-eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:.76rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgb(var(--c-brand-text));margin-bottom:16px}
.fs-nn-eyebrow::before{content:"";width:30px;height:1px;background:currentColor}

/* Editor-only affordances: rendered ONLY while editing (NacreBlocks.tsx). */
.fs-nn-missing{display:inline-block;padding:0 6px;border:1px dashed rgb(var(--c-ink-400) / .7);border-radius:4px;font-size:.8em;font-weight:600;color:rgb(var(--c-ink-400))}
.fs-nn-missing::before{content:attr(data-missing)}
.fs-nn-ed{position:relative;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px 16px;margin:0 auto 20px;max-width:var(--fs-layout-max,var(--fs-shell-max,1200px));padding:12px;border:1px dashed rgb(var(--c-ink-400) / .6);border-radius:6px;font-size:.8125rem;line-height:1.4;color:rgb(var(--c-ink-950))}
.fs-nn-ed-row::before{content:attr(data-ed);display:block;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--c-ink-400))}

/* ══ favNnPageHead — .page-head ═════════════════════════════════
   .page-head{position:relative;padding:64px 0 54px;background:
   linear-gradient(180deg,var(--tint2),var(--bg));overflow:hidden} */
.fs-nn-pagehead{
  position:relative;overflow:hidden;
  background:linear-gradient(180deg,var(--fs-nn-tint2),rgb(var(--c-paper)));
}
.fs-nn-pagehead>.fs-nn-wrap{position:relative;z-index:2;padding-top:64px;padding-bottom:54px}
/* .page-head h1{max-width:820px} */
.fs-nn.fs-nn-pagehead .fs-nn-h1{max-width:820px}
/* .page-head p{max-width:620px;margin-top:16px;font-size:1.1rem} */
.fs-nn .fs-nn-ph-lede{max-width:620px;margin-top:16px;font-size:1.1rem}
/* .page-head .crumbs{display:flex;gap:8px;font-size:.84rem;font-weight:600;
   color:var(--mute);margin-bottom:18px}  .crumbs a{color:var(--link)} */
.fs-nn-crumbs{display:flex;gap:8px;font-size:.84rem;font-weight:600;color:rgb(var(--c-ink-400));margin-bottom:18px}
.fs-nn .fs-nn-crumb-a{color:rgb(var(--c-brand-text))}
/* .page-head .ph-arch{position:absolute;right:7%;top:24px;width:190px;height:260px;
   border-radius:999px 999px 20px 20px;border:1.5px solid color-mix(in srgb,var(--pri) 28%,transparent);opacity:.7}
   .ph-arch::after{content:"";position:absolute;inset:14px;border-radius:inherit;
   border:1px solid color-mix(in srgb,var(--pri) 18%,transparent)} */
.fs-nn-ph-arch{position:absolute;right:7%;top:24px;width:190px;height:260px;border-radius:999px 999px 20px 20px;border:1.5px solid color-mix(in srgb,rgb(var(--c-brand-600)) 28%,transparent);opacity:.7;pointer-events:none;z-index:1}
.fs-nn-ph-arch::after{content:"";position:absolute;inset:14px;border-radius:inherit;border:1px solid color-mix(in srgb,rgb(var(--c-brand-600)) 18%,transparent)}
/* The optional banner photo: behind the words, veiled with the head's own
   tint so the ink keeps its contrast. */
.fs-nn-ph-photo{position:absolute;inset:0}
.fs-nn-ph-photo>*,.fs-nn-ph-photo img{width:100%;height:100%}
.fs-nn-ph-photo img{object-fit:cover}
.fs-nn-pagehead[data-has-img]>.fs-nn-ph-photo::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,color-mix(in srgb,var(--fs-nn-tint2) 88%,transparent),color-mix(in srgb,rgb(var(--c-paper)) 92%,transparent))}
/* An empty image control (editing only) keeps no fill and no label. */
.fs-nn-ph-photo[data-empty]>[data-editable]{background:transparent}
.fs-nn-ph-photo[data-empty]>[data-editable]>span:first-child{visibility:hidden}

/* Site Settings layouts — the source's html[data-layout=center] and
   [data-layout=minimal] page-head rules, on the platform's ids. */
[data-fs-layout="centered"] .fs-nn-pagehead{text-align:center}
[data-fs-layout="centered"] .fs-nn.fs-nn-pagehead .fs-nn-h1,[data-fs-layout="centered"] .fs-nn .fs-nn-ph-lede{margin-inline:auto}
[data-fs-layout="centered"] .fs-nn-crumbs{justify-content:center}
[data-fs-layout="centered"] .fs-nn-ph-arch{display:none}
/* .page-head{background:none;border-bottom:1px solid var(--line)} .ph-arch{display:none} */
[data-fs-layout="minimal"] .fs-nn-pagehead{background:none;border-bottom:1px solid rgb(var(--c-line))}
[data-fs-layout="minimal"] .fs-nn-ph-arch{display:none}

/* @media (max-width:760px){.wrap{padding:0 18px} .page-head .ph-arch{display:none}} */
@container fs-nn (max-width:760px){
  .fs-nn-wrap{padding:0 18px}
  .fs-nn-ph-arch{display:none}
}

/* ── base parts used across the family ─────────────────────────── */
/* .ic{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;
   stroke-linecap:round;stroke-linejoin:round;flex:none} */
.fs-nn-ic{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none;display:block}
/* .sample{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.06em;
   text-transform:uppercase;color:var(--mute);border:1px dashed var(--line);
   border-radius:999px;padding:2px 10px} */
.fs-nn-sample{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--c-ink-400));border:1px dashed rgb(var(--c-line));border-radius:999px;padding:2px 10px;line-height:1.62}
/* .btn{…padding:13px 24px;border-radius:999px;background:var(--pri);color:#fff;
   font-weight:700;font-size:.97rem;white-space:nowrap;box-shadow:0 8px 20px
   color-mix(in srgb,var(--pri) 30%,transparent)}  .btn.lg{padding:16px 30px;font-size:1.02rem} */
.fs-nn-btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 24px;border-radius:999px;background:rgb(var(--c-brand-600));color:var(--fs-on-brand);font-weight:700;font-size:.97rem;white-space:nowrap;box-shadow:0 8px 20px color-mix(in srgb,rgb(var(--c-brand-600)) 30%,transparent);border:0;cursor:pointer;text-decoration:none}
.fs-nn-btn.fs-nn-lg{padding:16px 30px;font-size:1.02rem}
.fs-nn a.fs-nn-btn{color:var(--fs-on-brand)}
/* .icon-badge{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;
   background:linear-gradient(148deg,color-mix(in srgb,var(--acc) 42%,var(--tint)),var(--tint) 78%);
   color:var(--link);flex:none;box-shadow:inset 0 1px 1px color-mix(in srgb,#fff 55%,transparent),
   inset 0 -6px 10px -6px color-mix(in srgb,var(--pri) 30%,transparent)} */
.fs-nn-icon-badge{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;background:linear-gradient(148deg,color-mix(in srgb,rgb(var(--c-accent)) 42%,var(--fs-nn-tint)),var(--fs-nn-tint) 78%);color:rgb(var(--c-brand-text));flex:none;box-shadow:inset 0 1px 1px color-mix(in srgb,var(--fs-on-brand) 55%,transparent),inset 0 -6px 10px -6px color-mix(in srgb,rgb(var(--c-brand-600)) 30%,transparent)}
/* .link-arrow{display:inline-flex;align-items:center;gap:7px;font-weight:700;color:var(--link);
   background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat;padding-bottom:2px}
   .link-arrow .ic{width:17px;height:17px} */
.fs-nn .fs-nn-link-arrow{display:inline-flex;align-items:center;gap:7px;font-weight:700;color:rgb(var(--c-brand-text));background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat;padding-bottom:2px}
.fs-nn-link-arrow .fs-nn-ic{width:17px;height:17px}
/* Editor-only marks (a real site's editor): "Sample …: replace". */
.fs-nn-mark{display:inline-block;margin-left:6px;padding:0 6px;border:1px dashed rgb(var(--c-ink-400) / .7);border-radius:4px;font-size:.7rem;font-weight:600;letter-spacing:0;text-transform:none;color:rgb(var(--c-ink-400));vertical-align:middle}
.fs-nn-ed-pick{display:inline-flex;align-items:center;gap:8px;margin:12px 12px 0 0;padding:4px 8px;border:1px dashed rgb(var(--c-ink-400) / .6);border-radius:6px;font-size:.75rem;color:rgb(var(--c-ink-950))}
.fs-nn-ed-pick::before{content:attr(data-ed);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
.fs-nn-ed-pick>button{min-width:24px;padding:0 6px;border:1px solid rgb(var(--c-line));border-radius:4px;background:rgb(var(--c-paper-soft));color:inherit;cursor:pointer}

/* ══ favNnHero — .hero.ih-hero (the appointment planner) ═════════
   .hero{position:relative;overflow:hidden;background:radial-gradient(800px 460px at 90% 0%,
   color-mix(in srgb,var(--acc) 38%,transparent),transparent 70%),radial-gradient(600px 420px
   at 0% 100%,color-mix(in srgb,var(--pri) 10%,transparent),transparent 70%)}
   .ih-hero{padding:24px 0 56px}  .ih-hero .wrap{display:grid;gap:16px} */
.fs-nn-hero{position:relative;overflow:hidden;
  background:radial-gradient(800px 460px at 90% 0%,color-mix(in srgb,rgb(var(--c-accent)) 38%,transparent),transparent 70%),radial-gradient(600px 420px at 0% 100%,color-mix(in srgb,rgb(var(--c-brand-600)) 10%,transparent),transparent 70%)}
.fs-nn-hero>.fs-nn-wrap{display:grid;gap:16px;padding-top:24px;padding-bottom:56px}
.fs-nn-ih-copy{max-width:900px}
.fs-nn-hero .fs-nn-eyebrow{margin-bottom:8px}
/* .ih-hero h1{font-size:clamp(2.4rem,4.2vw,3.6rem);line-height:1.05} */
.fs-nn.fs-nn-hero .fs-nn-h1{font-size:clamp(2.4rem,calc(4.2 * var(--fs-nn-vw)),3.6rem);line-height:1.05}
/* .ih-hero p.lead{font-size:1.08rem;margin:8px 0 0;max-width:760px} */
.fs-nn .fs-nn-lead{font-size:1.08rem;margin:8px 0 0;max-width:760px}
.fs-nn-ih-main{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;align-items:start}
.fs-nn-ih-side{display:grid;gap:16px;align-content:start}
/* .arch{position:relative;aspect-ratio:4/5;max-width:470px;width:100%;border-radius:999px 999px 30px 30px;
   background:linear-gradient(170deg,var(--tint2),color-mix(in srgb,var(--acc) 55%,var(--surf)));box-shadow:var(--shadow)}
   .ih-side .arch{max-width:280px;margin-inline:0} */
.fs-nn-arch{position:relative;aspect-ratio:4/5;max-width:280px;width:100%;margin-inline:0;border-radius:999px 999px 30px 30px;background:linear-gradient(170deg,var(--fs-nn-tint2),color-mix(in srgb,rgb(var(--c-accent)) 55%,rgb(var(--c-paper-soft))));box-shadow:var(--fs-nn-shadow)}
.fs-nn-arch-clip{position:absolute;inset:0;border-radius:inherit;overflow:hidden}
.fs-nn-arch-clip>svg{display:block;width:100%;height:100%}
.fs-nn-arch::before{content:"";position:absolute;inset:14px;border:1.5px solid color-mix(in srgb,rgb(var(--c-brand-600)) 30%,transparent);border-radius:inherit;pointer-events:none;z-index:1}
.fs-nn-arch-photo{position:absolute;inset:0;border-radius:inherit;overflow:hidden}
.fs-nn-arch-photo>*,.fs-nn-arch-photo img{width:100%;height:100%}
.fs-nn-arch-photo img{object-fit:cover}
.fs-nn-arch-photo[data-empty]>[data-editable]{background:transparent}
.fs-nn-arch-photo[data-empty]>[data-editable]>span:first-child{visibility:hidden}
/* .float{position:absolute;display:flex;align-items:center;gap:12px;background:var(--surf);border:1px solid var(--line);
   border-radius:18px;padding:12px 16px;box-shadow:var(--shadow);font-size:.85rem;z-index:2}
   .ih-side .float{padding:8px 12px;gap:8px;border-radius:14px;font-size:.78rem}
   .ih-side .float.f3{left:12px;right:12px;bottom:14px}  .float b{display:block;font-size:.95rem;color:var(--ink)} .float small{color:var(--mute)} */
.fs-nn-float{position:absolute;left:12px;right:12px;bottom:14px;z-index:2;display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:14px;background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));box-shadow:var(--fs-nn-shadow);font-size:.78rem;line-height:1.62}
.fs-nn-float .fs-nn-icon-badge{width:32px;height:32px}
.fs-nn-float b{display:block;font-size:.95rem;color:rgb(var(--c-ink-950))}
.fs-nn-float small{display:block;font-size:smaller;color:rgb(var(--c-ink-400))}
/* .ih-side .hero-meta{display:grid;gap:8px;font-size:.88rem}  .hero-meta{color:var(--mute)}
   .hero-meta span{display:inline-flex;align-items:center;gap:8px;font-weight:500}
   .hero-meta .ic{color:var(--link);width:18px;height:18px} */
.fs-nn-meta{display:grid;gap:8px;font-size:.88rem;color:rgb(var(--c-ink-400))}
.fs-nn-meta-i{display:inline-flex;align-items:center;gap:8px;font-weight:500}
.fs-nn-meta-i .fs-nn-ic{color:rgb(var(--c-brand-text));width:18px;height:18px}

/* the tool: .ih{position:relative;min-width:0;padding:24px;border:1px solid var(--line);
   border-radius:calc(var(--r)*1.4);background:var(--surf);box-shadow:var(--shadow);color:var(--ink)} */
.fs-nn-ih{position:relative;min-width:0;padding:24px;border:1px solid rgb(var(--c-line));border-radius:28px;background:rgb(var(--c-paper-soft));box-shadow:var(--fs-nn-shadow);color:rgb(var(--c-ink-950));text-align:left}
.fs-nn-ih :focus-visible{outline:3px solid rgb(var(--c-brand-text));outline-offset:3px;border-radius:16px}
.fs-nn-ih-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin-bottom:12px}
.fs-nn.fs-nn-hero .fs-nn-ih-title{font-size:1.6rem;line-height:1.1}
.fs-nn-ih-live{display:none}
.fs-nn-ih-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,372px);gap:24px;align-items:start}
.fs-nn-ih-ctl{display:grid;gap:16px;align-content:start}
.fs-nn-ih-set{min-width:0;border:0;margin:0;padding:0}
.fs-nn-ih-lab{display:block;width:100%;margin:0 0 8px;padding:0;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--c-ink-400));line-height:1.62}
.fs-nn-ih-li{display:flex;align-items:center;gap:8px}
.fs-nn-ih-num{display:grid;place-items:center;flex:none;width:20px;height:20px;border-radius:50%;background:var(--fs-nn-tint);color:rgb(var(--c-brand-text));font-style:normal;font-size:.7rem;letter-spacing:0}
.fs-nn-ih-svcs{display:grid;grid-template-columns:repeat(auto-fill,minmax(164px,1fr));gap:8px}
.fs-nn-ih-opts{display:grid;gap:8px}
.fs-nn-ih-o3{grid-template-columns:repeat(3,minmax(0,1fr))}
.fs-nn-ih-o4{grid-template-columns:repeat(2,minmax(0,1fr))}
.fs-nn-ih-opt{position:relative;display:block;min-width:0}
.fs-nn-ih-opt>input{position:absolute;inset:0;z-index:1;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.fs-nn-ih-opt>input:disabled{cursor:not-allowed}
.fs-nn-ih-opt>input:focus-visible{outline:none}
.fs-nn-ih-chip{position:relative;display:flex;flex-direction:column;justify-content:center;height:100%;min-height:48px;padding:6px 12px;border:1.5px solid rgb(var(--c-line));border-radius:16px;background:rgb(var(--c-paper))}
.fs-nn-ih-chip>b{padding-right:8px;font-size:.86rem;line-height:1.2;font-weight:700}
.fs-nn-ih-chip>small{font-size:.76rem;line-height:1.3;font-weight:500;color:rgb(var(--c-ink-400))}
.fs-nn-ih-chip::after{content:"";position:absolute;top:6px;right:6px;width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 32% 28%,var(--fs-on-brand) 0,rgb(var(--c-accent)) 58%,rgb(var(--c-brand-text)) 100%);box-shadow:0 0 0 1.5px rgb(var(--c-brand-600));transform:scale(0)}
.fs-nn-ih-opt:hover>input:not(:disabled)+.fs-nn-ih-chip{border-color:rgb(var(--c-brand-600))}
.fs-nn-ih-opt>input:checked+.fs-nn-ih-chip,.fs-nn-ih-chip.is-on{border-color:rgb(var(--c-brand-600));background:var(--fs-nn-tint);box-shadow:0 0 0 3px color-mix(in srgb,rgb(var(--c-brand-600)) 14%,transparent)}
.fs-nn-ih-opt>input:checked+.fs-nn-ih-chip::after,.fs-nn-ih-chip.is-on::after{transform:scale(1)}
.fs-nn-ih-opt>input:focus-visible+.fs-nn-ih-chip,.fs-nn-ih-sw>input:focus-visible+.fs-nn-ih-dot{outline:3px solid rgb(var(--c-brand-text));outline-offset:3px}
.fs-nn-ih-res{display:grid;gap:12px;align-content:start;min-width:0}
.fs-nn-ih-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.fs-nn-ih-stage{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:20px;background:linear-gradient(170deg,var(--fs-nn-tint2),color-mix(in srgb,rgb(var(--c-accent)) 40%,rgb(var(--c-paper-soft))))}
.fs-nn-ih-stage::before{content:"";position:absolute;inset:6px;z-index:1;border:1.5px solid color-mix(in srgb,rgb(var(--c-brand-600)) 26%,transparent);border-radius:16px;pointer-events:none}
.fs-nn-ih-svg{position:absolute;inset:0}
.fs-nn-ih-svg>svg{display:block;width:100%;height:100%}
.fs-nn-ih-cap{position:absolute;left:12px;bottom:12px;z-index:2;max-width:calc(100% - 24px);padding:2px 8px;border-radius:999px;background:color-mix(in srgb,rgb(var(--c-paper-soft)) 88%,transparent);font-size:.68rem;font-weight:700;line-height:1.5;color:rgb(var(--c-ink-950));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fs-nn-ih-glint{position:absolute;top:0;left:-60%;z-index:2;width:40%;height:100%;opacity:0;pointer-events:none;background:linear-gradient(100deg,transparent,color-mix(in srgb,var(--fs-on-brand) 70%,transparent),transparent);transform:skewX(-20deg)}
.fs-nn-ih-stats{position:relative;display:grid;gap:6px;grid-template-rows:auto 1fr 1fr;border:1.5px solid rgb(var(--c-line));border-radius:16px;background:rgb(var(--c-paper-soft));padding:4px;box-shadow:var(--fs-nn-shadow)}
.fs-nn-ih-stats::before{content:"";position:absolute;inset:5px;z-index:0;border:1px solid color-mix(in srgb,rgb(var(--c-brand-600)) 24%,transparent);border-radius:11px;pointer-events:none}
.fs-nn-ih-stats::after{content:"";position:absolute;top:-7px;left:50%;z-index:1;width:14px;height:14px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle at 32% 28%,var(--fs-on-brand) 0,rgb(var(--c-accent)) 58%,rgb(var(--c-brand-text)) 100%);box-shadow:0 0 0 2px rgb(var(--c-paper-soft)),0 2px 6px rgba(0,0,0,.18)}
.fs-nn-ih-bhead{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center;padding:9px 8px 7px;border-bottom:1px solid rgb(var(--c-line))}
.fs-nn-ih-btag{font-size:.6rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgb(var(--c-ink-400));line-height:1.62}
.fs-nn-ih-bname{font-family:var(--font-display,'DM Serif Display',Georgia,serif);font-style:italic;font-size:1.02rem;font-weight:400;line-height:1.2;color:rgb(var(--c-brand-text));max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fs-nn-ih-stat{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;padding:8px 12px;border-radius:12px;background:var(--fs-nn-tint)}
.fs-nn-ih-stat>span{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgb(var(--c-ink-400));line-height:1.62}
.fs-nn-ih-stat>b{font-family:var(--font-display,'DM Serif Display',Georgia,serif);font-size:1.7rem;font-weight:400;line-height:1.1;color:rgb(var(--c-brand-text))}
.fs-nn-ih-swset{display:flex;align-items:center;justify-content:space-between;gap:8px 12px;flex-wrap:wrap}
.fs-nn-ih-swset>.fs-nn-ih-lab{width:auto;margin:0}
.fs-nn-ih-sws{display:flex;gap:0}
.fs-nn-ih-sw{position:relative;display:block;width:44px;height:44px}
.fs-nn-ih-sw>input{position:absolute;inset:0;z-index:1;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.fs-nn-ih-sw>input:disabled{cursor:not-allowed}
.fs-nn-ih-sw>input:focus-visible{outline:none}
.fs-nn-ih-dot{position:absolute;inset:6px;border-radius:50%;border:3px solid rgb(var(--c-paper-soft));background:var(--fs-nn-c);box-shadow:0 0 0 1.5px rgb(var(--c-line))}
.fs-nn-ih-dot::after{content:"";position:absolute;left:18%;top:14%;width:34%;height:22%;border-radius:50%;background:color-mix(in srgb,var(--fs-on-brand) 55%,transparent);transform:rotate(-30deg)}
.fs-nn-ih-sw>input:checked+.fs-nn-ih-dot,.fs-nn-ih-dot.is-on{box-shadow:0 0 0 2.5px rgb(var(--c-brand-600));transform:scale(1.08)}
.fs-nn-ih-sw>input:disabled+.fs-nn-ih-dot,.fs-nn-ih-dot.is-off{opacity:.35}
.fs-nn-ih-tl{display:grid;gap:4px}
.fs-nn-ih-bar{position:relative;height:12px;overflow:hidden;border-radius:999px;background:var(--fs-nn-tint)}
.fs-nn-ih-seg{position:absolute;inset:0;transform-origin:0 50%;transform:translateX(var(--x,0%)) scaleX(var(--w,0))}
.fs-nn-ih-seg.fs-nn-s0{background:color-mix(in srgb,rgb(var(--c-brand-600)) 45%,rgb(var(--c-paper-soft)))}
.fs-nn-ih-seg.fs-nn-s1{background:rgb(var(--c-brand-600))}
.fs-nn-ih-seg.fs-nn-s2{background:rgb(var(--c-accent))}
.fs-nn-ih-tick{position:absolute;top:0;bottom:0;z-index:1;width:2px;background:rgb(var(--c-paper-soft));opacity:.8}
.fs-nn-ih-ticks{position:relative;height:16px;font-size:.68rem;font-weight:600;color:rgb(var(--c-ink-400));line-height:1.62}
.fs-nn-ih-ticks>span{position:absolute;top:0;transform:translateX(-50%)}
.fs-nn-ih-legend{display:flex;flex-wrap:wrap;gap:4px 12px;min-height:46px;align-content:flex-start;list-style:none;margin:0;padding:0;font-size:.8rem;color:rgb(var(--c-ink-400))}
.fs-nn-ih-legend>li{display:inline-flex;align-items:center;gap:6px}
.fs-nn-ih-legend i{flex:none;width:10px;height:10px;border-radius:50%}
.fs-nn-ih-legend .fs-nn-s0 i{background:color-mix(in srgb,rgb(var(--c-brand-600)) 45%,rgb(var(--c-paper-soft)))}
.fs-nn-ih-legend .fs-nn-s1 i{background:rgb(var(--c-brand-600))}
.fs-nn-ih-legend .fs-nn-s2 i{background:rgb(var(--c-accent))}
.fs-nn-ih-slot{display:flex;align-items:center;gap:12px;min-height:44px;font-size:.9rem;line-height:1.4;color:rgb(var(--c-ink-400))}
.fs-nn-ih-slot .fs-nn-icon-badge{width:36px;height:36px}
.fs-nn-ih-slot b{color:rgb(var(--c-ink-950))}
.fs-nn-ih-expect{min-height:60px;font-size:.84rem;line-height:1.45;color:rgb(var(--c-ink-400))}
.fs-nn-ih .fs-nn-ih-cta{width:100%;min-height:66px;padding:12px 16px;white-space:normal;text-align:center;line-height:1.25;gap:8px}
.fs-nn-ih-cta>span{text-wrap:balance}
.fs-nn-ih-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;margin-top:16px;padding-top:16px;border-top:1px dashed rgb(var(--c-line));font-size:.82rem;color:rgb(var(--c-ink-400))}
.fs-nn-ih-note{display:flex;align-items:flex-start;gap:8px;max-width:760px}
.fs-nn-ih-note .fs-nn-ic{width:18px;height:18px;margin-top:2px;color:rgb(var(--c-brand-text))}
.fs-nn .fs-nn-ih-foot .fs-nn-link-arrow{font-size:.9rem;min-height:24px;gap:8px}
/* The colour labels while editing (swatch names are words, not just aria). */
.fs-nn-ih-swnames{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:.72rem;color:rgb(var(--c-ink-400))}

/* layouts: html[data-layout=center|minimal] */
[data-fs-layout="centered"] .fs-nn-ih-copy{margin-inline:auto;text-align:center}
[data-fs-layout="centered"] .fs-nn .fs-nn-lead{margin-inline:auto}
[data-fs-layout="minimal"] .fs-nn-ih-main{grid-template-columns:minmax(0,1fr)}
[data-fs-layout="minimal"] .fs-nn-ih-side{grid-template-columns:minmax(0,1fr)}
[data-fs-layout="minimal"] .fs-nn-meta{display:flex;flex-wrap:wrap;gap:8px 24px}
/* html[data-layout=minimal] .arch,.float{display:none} (source line 751) */
[data-fs-layout="minimal"] .fs-nn-arch,[data-fs-layout="minimal"] .fs-nn-float{display:none}
@container fs-nn (min-width:881px){
  [data-fs-layout="minimal"] .fs-nn-ih-o4{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@container fs-nn (max-width:1180px){
  .fs-nn-ih-main{grid-template-columns:minmax(0,1fr)}
  .fs-nn-ih-side{grid-template-columns:minmax(0,280px) minmax(0,1fr);align-items:center;gap:24px}
  [data-fs-layout="centered"] .fs-nn-ih-side{justify-items:center}
}
@container fs-nn (min-width:881px) and (max-width:1180px){
  .fs-nn-ih-o4{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@container fs-nn (min-width:761px) and (max-width:880px){
  .fs-nn-ih-body{grid-template-columns:minmax(0,1fr) minmax(0,300px)}
  .fs-nn-ih-svcs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-nn-ih-legend{min-height:72px}
  .fs-nn-ih-expect{min-height:80px}
}
/* @media (max-width:1060px){.hero{padding:50px 0 70px}} (source line 825) —
   later than the hero's own ≤760 rule (24px 0 48px) and of equal weight,
   so it wins at every width up to 1060px. */
@container fs-nn (max-width:1060px){
  .fs-nn-hero>.fs-nn-wrap{padding-top:50px;padding-bottom:70px}
}
@container fs-nn (max-width:760px){
  .fs-nn-ih{padding:16px}
  .fs-nn-ih-body{grid-template-columns:minmax(0,1fr);gap:16px}
  .fs-nn.fs-nn-hero .fs-nn-ih-title{font-size:1.4rem}
  .fs-nn-ih-live{display:flex;align-items:baseline;justify-content:space-between;gap:8px 16px;margin-bottom:16px;padding:8px 12px;border-radius:16px;background:var(--fs-nn-tint);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
  .fs-nn-ih-live b{margin-right:4px;font-family:var(--font-display,'DM Serif Display',Georgia,serif);font-size:1.3rem;font-weight:400;letter-spacing:0;text-transform:none;color:rgb(var(--c-brand-text))}
  .fs-nn-ih-svcs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-nn-ih-expect{min-height:80px}
  .fs-nn-hero .fs-nn-h1 .fs-nn-em{display:block}
  .fs-nn-ih-swset{justify-content:flex-start}
  .fs-nn-ih-side{grid-template-columns:minmax(0,1fr);justify-items:stretch}
  .fs-nn-arch{margin-inline:auto}
  .fs-nn-float{display:none}
}
@container fs-nn (max-width:520px){
  .fs-nn-ih-o3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-nn-ih-o3>.fs-nn-ih-opt:first-child{grid-column:1/-1}
}

/* ══ Section blocks (port Task 5) ═══════════════════════════════
   .section{padding:88px 0}  @media(max-width:760px){.section{padding:62px 0}}
   Some source sections carry an inline padding-top (10px or 0), which
   wins at every width: data-pad. */
.fs-nn-sec>.fs-nn-wrap{padding-top:88px;padding-bottom:88px}
.fs-nn-sec[data-pad="small"]>.fs-nn-wrap{padding-top:10px}
.fs-nn-sec[data-pad="none"]>.fs-nn-wrap{padding-top:0}
/* .section-head{max-width:680px;margin-bottom:44px}  .section-head.c{margin-inline:auto;text-align:center}
   .section-head p{margin-top:14px;font-size:1.05rem} */
.fs-nn-head{max-width:680px;margin-bottom:44px}
.fs-nn-head-c{margin-inline:auto;text-align:center}
.fs-nn-head-c .fs-nn-eyebrow::after{content:"";width:30px;height:1px;background:currentColor}
.fs-nn .fs-nn-head-p{margin-top:14px;font-size:1.05rem}
.fs-nn-eyebrow .fs-nn-ic{width:15px;height:15px}
[data-fs-layout="centered"] .fs-nn-head{margin-inline:auto;text-align:center}
[data-fs-layout="centered"] .fs-nn-head .fs-nn-eyebrow::after{content:"";width:30px;height:1px;background:currentColor}
/* h2{font-size:clamp(1.9rem,3.4vw,3rem)}  h3{font-size:1.3rem;font-weight:500} */
.fs-nn .fs-nn-h2{font-size:clamp(1.9rem,calc(3.4 * var(--fs-nn-vw)),3rem)}
.fs-nn .fs-nn-h3{font-size:1.3rem;font-weight:400}
/* .card{background:var(--surf);border:1px solid var(--line);border-radius:var(--r);padding:28px;box-shadow:var(--shadow-sm)} */
.fs-nn-card{background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));border-radius:20px;padding:28px;box-shadow:var(--fs-nn-shadow-sm)}
/* .g2,.g3,.g4{display:grid;gap:22px} */
.fs-nn-g2,.fs-nn-g3,.fs-nn-g4{display:grid;gap:22px}
.fs-nn-g2{grid-template-columns:repeat(2,1fr)}.fs-nn-g3{grid-template-columns:repeat(3,1fr)}.fs-nn-g4{grid-template-columns:repeat(4,1fr)}
/* white and outline-on-brand buttons: .btn.white{background:#fff;color:var(--pri-d);box-shadow:none}
   and the CTA's inline style "color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.55)" on .btn.alt */
.fs-nn .fs-nn-btn-white{background:var(--fs-on-brand);color:rgb(var(--c-brand-700));box-shadow:none}
/* as a link it must beat ".fs-nn a.fs-nn-btn" (on-brand words): without
   this the band's Book button was white on white (Task 10 measure) */
.fs-nn a.fs-nn-btn-white{color:rgb(var(--c-brand-700))}
.fs-nn .fs-nn-btn-line{background:transparent;color:var(--fs-on-brand);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--fs-on-brand) 55%,transparent)}

/* favNnTrust — .trust{border-block:1px solid var(--line);background:var(--surf)} */
.fs-nn-trust{border-block:1px solid rgb(var(--c-line));background:rgb(var(--c-paper-soft))}
.fs-nn-trust-in{display:grid;grid-template-columns:repeat(4,1fr)}
.fs-nn-trust-i{display:flex;gap:14px;align-items:center;padding:24px 22px;border-right:1px solid rgb(var(--c-line))}
.fs-nn-trust-i:last-child{border:0}
.fs-nn-trust-t b{display:block;font-size:.96rem}
.fs-nn-trust-t small{color:rgb(var(--c-ink-400));font-size:.82rem;line-height:1.35;display:block}

/* favNnToday — .today{background:var(--tint2);border-bottom:1px solid var(--line)} */
.fs-nn-today{background:var(--fs-nn-tint2);border-bottom:1px solid rgb(var(--c-line))}
.fs-nn-today-in{display:flex;align-items:center;justify-content:center;gap:10px 30px;flex-wrap:wrap;padding:14px 24px;font-size:.92rem;font-weight:500}
.fs-nn-pill{display:inline-flex;align-items:center;gap:9px}
.fs-nn-today-b{font-weight:700}
/* .dot{background:#2fb67a} .dot.closed{background:#c9553d} → the platform's status tokens */
.fs-nn-dot{width:9px;height:9px;border-radius:50%;background:rgb(var(--fs-status-ok))}
.fs-nn-dot.is-closed{background:rgb(var(--fs-status-bad))}
/* Neutral until the clock is read (5a review): never a green "open" dot before the status is known. */
.fs-nn-dot.is-wait{background:rgb(var(--c-ink-400))}
.fs-nn-today-in .fs-nn-ic{color:rgb(var(--c-brand-text));width:17px;height:17px}

/* favNnServiceCards — .svc{padding:0;overflow:hidden;display:flex;flex-direction:column} */
.fs-nn-svc{padding:0;overflow:hidden;display:flex;flex-direction:column}
.fs-nn-tile{position:relative;aspect-ratio:5/3;overflow:hidden;background:var(--fs-nn-tint)}
.fs-nn-tile>svg{display:block;width:100%;height:100%}
.fs-nn-tile-photo{position:absolute;inset:0}
.fs-nn-tile-photo>*,.fs-nn-tile-photo img{width:100%;height:100%}
.fs-nn-tile-photo img{object-fit:cover}
.fs-nn-tile-photo[data-empty]>[data-editable]{background:transparent}
.fs-nn-tile-photo[data-empty]>[data-editable]>span:first-child{visibility:hidden}
.fs-nn-svc-body{padding:22px 24px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.fs-nn-svc-meta{margin-top:auto;display:flex;justify-content:space-between;padding-top:14px;border-top:1px solid rgb(var(--c-line));font-weight:600;font-size:.9rem}
.fs-nn-svc-time{color:rgb(var(--c-ink-400));font-weight:500}
.fs-nn-svc-from{color:rgb(var(--c-brand-text))}
/* the source's inline style="margin-top:30px;display:flex;gap:16px;align-items:center;flex-wrap:wrap" */
.fs-nn .fs-nn-svc-more{margin-top:30px;display:flex;gap:16px;align-items:center;flex-wrap:wrap}
[data-fs-layout="minimal"] .fs-nn-tile{filter:saturate(.7)}

/* favNnStats — .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;text-align:center} */
.fs-nn-stats-g{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;text-align:center}
.fs-nn-stats-g[data-n="3"]{grid-template-columns:repeat(3,1fr)}
.fs-nn-stats-g[data-n="2"]{grid-template-columns:repeat(2,1fr)}
.fs-nn-stats-g[data-n="1"]{grid-template-columns:1fr}
/* .stat b{display:block;font-family:var(--serif);font-size:clamp(2.4rem,4.6vw,3.6rem);font-weight:400;color:var(--link);line-height:1}
   .stat>span{display:block;margin-top:10px;font-size:.92rem;color:var(--mute);font-weight:500} */
.fs-nn-stat-n{display:block;font-family:var(--font-display,'DM Serif Display',Georgia,serif);font-size:clamp(2.4rem,calc(4.6 * var(--fs-nn-vw)),3.6rem);font-weight:400;color:rgb(var(--c-brand-text));line-height:1}
.fs-nn-stat-l{display:block;margin-top:10px;font-size:.92rem;color:rgb(var(--c-ink-400));font-weight:500}

/* favNnCta — .cta-band{background:linear-gradient(135deg,var(--pri),var(--pri-d));color:#fff;border-radius:34px;
   padding:60px;display:flex;align-items:center;justify-content:space-between;gap:30px;position:relative;overflow:hidden} */
.fs-nn-cta-band{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:60px;border-radius:34px;background:linear-gradient(135deg,rgb(var(--c-brand-600)),rgb(var(--c-brand-700)));color:var(--fs-on-brand)}
.fs-nn-cta-band .fs-nn-h2{color:var(--fs-on-brand)}
.fs-nn-cta-band .fs-nn-em{color:rgb(var(--c-accent))}
.fs-nn .fs-nn-cta-p{color:color-mix(in srgb,var(--fs-on-brand) 86%,transparent);margin-top:12px;max-width:520px}
.fs-nn-cta-t{position:relative;z-index:1}
/* flex:none — not the source's: its heading and buttons fit the band side by side in Fraunces; DM Serif Display
   is 4px wider, and without it the two buttons broke onto two lines as well as the heading (Ledger L12). */
.fs-nn-acts{display:flex;gap:12px;flex-wrap:wrap;position:relative;z-index:1;flex:none}
.fs-nn-deco{position:absolute;right:-30px;top:-40px;width:260px;height:340px;border-radius:999px 999px 20px 20px;border:1.5px solid color-mix(in srgb,var(--fs-on-brand) 22%,transparent);transform:rotate(14deg);pointer-events:none}
.fs-nn-deco::after{content:"";position:absolute;inset:16px;border-radius:inherit;border:1px solid color-mix(in srgb,var(--fs-on-brand) 16%,transparent)}
.fs-nn-cta-photo{position:absolute;inset:0}
.fs-nn-cta-photo>*,.fs-nn-cta-photo img{width:100%;height:100%}
.fs-nn-cta-photo img{object-fit:cover}
.fs-nn-cta-band[data-has-img]>.fs-nn-cta-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,color-mix(in srgb,rgb(var(--c-brand-600)) 88%,transparent),color-mix(in srgb,rgb(var(--c-brand-700)) 92%,transparent))}
.fs-nn-cta-photo[data-empty]>[data-editable]{background:transparent}
.fs-nn-cta-photo[data-empty]>[data-editable]>span:first-child{visibility:hidden}
[data-fs-layout="centered"] .fs-nn-cta-band{flex-direction:column;text-align:center}
[data-fs-layout="centered"] .fs-nn .fs-nn-cta-p{margin-inline:auto}
[data-fs-layout="minimal"] .fs-nn-deco{display:none}
[data-fs-layout="minimal"] .fs-nn-cta-band{background:var(--fs-nn-tint);color:rgb(var(--c-ink-950));border-radius:20px}
[data-fs-layout="minimal"] .fs-nn-cta-band .fs-nn-h2{color:rgb(var(--c-ink-950))}
[data-fs-layout="minimal"] .fs-nn-cta-band .fs-nn-em{color:rgb(var(--c-brand-text))}
[data-fs-layout="minimal"] .fs-nn .fs-nn-cta-p{color:rgb(var(--c-ink-400))}
[data-fs-layout="minimal"] .fs-nn .fs-nn-btn-white{background:rgb(var(--c-brand-600));color:var(--fs-on-brand)}
[data-fs-layout="minimal"] .fs-nn .fs-nn-btn-line{color:rgb(var(--c-brand-text));box-shadow:inset 0 0 0 2px rgb(var(--c-line))}

/* favNnIconCards — .card with an icon badge; h3 inline style="margin:14px 0 6px" */
.fs-nn .fs-nn-icard-h{margin:14px 0 6px}

@container fs-nn (max-width:1060px){
  .fs-nn-g4{grid-template-columns:repeat(2,1fr)}.fs-nn-g3{grid-template-columns:repeat(2,1fr)}
  .fs-nn-trust-in{grid-template-columns:repeat(2,1fr)}
  .fs-nn-trust-i:nth-child(2){border-right:0}
  .fs-nn-trust-i:nth-child(-n+2){border-bottom:1px solid rgb(var(--c-line))}
  .fs-nn-cta-band{flex-direction:column;align-items:flex-start;padding:44px 32px}
}
@container fs-nn (max-width:760px){
  .fs-nn-sec>.fs-nn-wrap{padding-top:62px;padding-bottom:62px}
  .fs-nn-sec[data-pad="small"]>.fs-nn-wrap{padding-top:10px}
  .fs-nn-sec[data-pad="none"]>.fs-nn-wrap{padding-top:0}
  .fs-nn-g2,.fs-nn-g3,.fs-nn-g4,.fs-nn-stats-g{grid-template-columns:1fr}
  .fs-nn-stats-g,.fs-nn-stats-g[data-n]{grid-template-columns:repeat(2,1fr)}
  .fs-nn-stats-g[data-n="1"]{grid-template-columns:1fr}
  .fs-nn-trust-in{grid-template-columns:1fr}
  .fs-nn-trust-i{border-right:0;border-bottom:1px solid rgb(var(--c-line))}
  .fs-nn-trust-i:last-child{border-bottom:0}
  .fs-nn-cta-band{padding:36px 24px;border-radius:28px}
}
@container fs-nn (max-width:420px){
  .fs-nn-stat-n{font-size:2.2rem}
}

/* ══ Section blocks, batch 5b ════════════════════════════════════ */
/* favNnMarquee — .marquee{overflow:hidden;border-block:1px solid var(--line);padding:18px 0;background:var(--tint2)}
   .mq-track{display:flex;gap:44px;width:max-content}  .mq-track span{…;font-family:var(--serif);font-style:italic;
   font-size:1.25rem;font-weight:400;color:var(--mute);white-space:nowrap}  .mq-track .ic{color:var(--acc);width:18px;height:18px} */
.fs-nn-marquee{position:relative;overflow:hidden;border-block:1px solid rgb(var(--c-line));padding:18px 0;background:var(--fs-nn-tint2)}
/* the pause / play button (Task 9): over the strip's right end, out of the
   flow, a 44px target */
.fs-nn-mq-pause{position:absolute;right:16px;top:50%;margin-top:-22px;z-index:1;width:44px;height:44px;border-radius:50%;border:1.5px solid rgb(var(--c-line));background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));display:grid;place-items:center;padding:0;cursor:pointer;box-shadow:var(--fs-nn-shadow-sm)}
.fs-nn-mq-pause:focus-visible{outline:3px solid rgb(var(--c-brand-text));outline-offset:2px}
.fs-nn-mq-pause-ic,.fs-nn-mq-play-ic{display:block;width:12px;height:12px}
.fs-nn-mq-pause-ic{border-left:3px solid currentColor;border-right:3px solid currentColor}
.fs-nn-mq-play-ic{width:0;height:0;border-left:11px solid currentColor;border-top:6px solid transparent;border-bottom:6px solid transparent;margin-left:3px}
.fs-nn-mq-track{display:flex;gap:44px;width:max-content}
.fs-nn-mq-w{display:inline-flex;align-items:center;gap:14px;font-family:var(--font-display,'DM Serif Display',Georgia,serif);font-style:italic;font-size:1.25rem;font-weight:400;color:rgb(var(--c-ink-400));white-space:nowrap}
.fs-nn-mq-w .fs-nn-ic{color:rgb(var(--c-accent));width:18px;height:18px}

/* favNnHygiene — .hy{display:grid;grid-template-columns:340px 1fr;gap:34px;align-items:start} */
.fs-nn-hy{display:grid;grid-template-columns:340px 1fr;gap:34px;align-items:start}
.fs-nn-hy-list{display:grid;gap:8px}
/* .hy-step{display:flex;align-items:center;gap:14px;text-align:left;padding:14px 16px;border-radius:18px;background:var(--surf);
   border:1.5px solid var(--line);font-weight:600}  .hy-step.on{background:var(--pri);color:#fff;border-color:var(--pri);transform:translateX(6px)} */
.fs-nn-hy-step{display:flex;align-items:center;gap:14px;text-align:left;padding:14px 16px;border-radius:18px;background:rgb(var(--c-paper-soft));border:1.5px solid rgb(var(--c-line));font:600 1rem/1.62 var(--font-sans,'DM Sans',system-ui,sans-serif);color:rgb(var(--c-ink-950));cursor:pointer;width:100%}
.fs-nn-hy-step:hover{border-color:rgb(var(--c-brand-600))}
.fs-nn-hy-step.is-on{background:rgb(var(--c-brand-600));color:var(--fs-on-brand);border-color:rgb(var(--c-brand-600));transform:translateX(6px)}
.fs-nn-hy-n{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--fs-nn-tint);color:rgb(var(--c-brand-text));font-style:normal;font-weight:700;font-size:.82rem;flex:none}
.fs-nn-hy-step.is-on .fs-nn-hy-n{background:color-mix(in srgb,var(--fs-on-brand) 22%,transparent);color:var(--fs-on-brand)}
.fs-nn-hy-step:focus-visible{outline:3px solid rgb(var(--c-accent));outline-offset:3px}
/* .hy-panel{display:none;grid-template-columns:140px 1fr;gap:30px;align-items:center;background:var(--surf);border:1px solid var(--line);
   border-radius:30px;padding:38px}  .hy-panel.on{display:grid} */
.fs-nn-hy-panel{display:grid;grid-template-columns:140px 1fr;gap:30px;align-items:center;background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));border-radius:30px;padding:38px}
.fs-nn-hy-panel[hidden]{display:none}
.fs-nn-hy-panels{display:grid;gap:16px}
.fs-nn-hy-ill{aspect-ratio:1;border-radius:999px 999px 24px 24px;background:linear-gradient(165deg,var(--fs-nn-tint2),var(--fs-nn-tint));display:grid;place-items:center;color:rgb(var(--c-brand-text))}
.fs-nn-hy-ill .fs-nn-ic{width:52px;height:52px;stroke-width:1.5}
.fs-nn .fs-nn-hy-h{font-size:1.7rem;margin-bottom:10px}
.fs-nn-hy-why{margin-top:16px;padding:14px 16px;border-radius:16px;background:rgb(var(--c-paper));font-size:.92rem;color:rgb(var(--c-ink-400))}
.fs-nn-hy-why b{color:rgb(var(--c-ink-950))}
.fs-nn-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.fs-nn-badge{display:inline-flex;gap:8px;align-items:center;padding:9px 16px;border-radius:99px;background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));font-weight:600;font-size:.86rem}
.fs-nn-badge .fs-nn-ic{color:rgb(var(--c-brand-text));width:16px;height:16px}

/* favNnFaq — the source's wrap style="max-width:860px"; .acc-item{background:var(--surf);border:1px solid var(--line);
   border-radius:22px;margin-bottom:12px;overflow:hidden}  .acc-item.open{border-color:color-mix(in srgb,var(--pri) 50%,var(--line))} */
.fs-nn-faq-wrap{max-width:860px}
.fs-nn-acc{background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));border-radius:22px;margin-bottom:12px;overflow:hidden}
.fs-nn-acc.is-open{border-color:color-mix(in srgb,rgb(var(--c-brand-600)) 50%,rgb(var(--c-line)))}
.fs-nn .fs-nn-acc-h{margin:0;font:inherit;line-height:inherit;letter-spacing:normal}
/* .acc-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:14px;text-align:left;padding:20px 24px;
   font-weight:700;font-size:1.02rem}  — the source's button{font:inherit} keeps the body's 1.62 line-height */
.fs-nn-acc-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:14px;text-align:left;padding:20px 24px;font:700 1.02rem/1.62 var(--font-sans,'DM Sans',system-ui,sans-serif);color:rgb(var(--c-ink-950));background:none;border:0;cursor:pointer}
.fs-nn-acc-q .fs-nn-ic{color:rgb(var(--c-brand-text))}
.fs-nn-acc.is-open .fs-nn-acc-q .fs-nn-ic{transform:rotate(45deg)}
/* the answer: rows 0fr → 1fr (the source's .acc-a), out of reading and
   tab order while shut (visibility); at rest it simply opens and shuts,
   the ease is nnOpen (Task 9) */
.fs-nn-acc-a{display:grid;grid-template-rows:0fr;visibility:hidden}
.fs-nn-acc.is-open .fs-nn-acc-a{grid-template-rows:1fr;visibility:visible}
.fs-nn-acc-in{min-height:0;overflow:hidden}
.fs-nn .fs-nn-acc-in .fs-nn-p{padding:0 24px 22px}
/* .faq-search{display:flex;align-items:center;gap:12px;background:var(--surf);border:1.5px solid var(--line);border-radius:999px;
   padding:6px 8px 6px 20px;margin-bottom:24px}  input{flex:1;border:0;background:none;outline:none;padding:10px 0;min-width:0} */
.fs-nn-faq-search{display:flex;align-items:center;gap:12px;background:rgb(var(--c-paper-soft));border:1.5px solid rgb(var(--c-line));border-radius:999px;padding:6px 8px 6px 20px;margin-bottom:24px}
.fs-nn-faq-search:focus-within{border-color:rgb(var(--c-brand-600))}
.fs-nn-faq-in{flex:1;border:0;background:none;outline:none;padding:10px 0;min-width:0;font:inherit;color:inherit}
.fs-nn-faq-ph{flex:1;padding:10px 0;color:rgb(var(--c-ink-400))}
.fs-nn .fs-nn-faq-none{text-align:center}
/* <p style="text-align:center;margin-top:22px"> */
.fs-nn .fs-nn-faq-all{text-align:center;margin-top:22px}

/* favNnReviews — .rw{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:start} */
.fs-nn-rw{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:start}
.fs-nn-rw.is-solo{grid-template-columns:1fr}
.fs-nn-rw-sum{background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));border-radius:30px;padding:34px;position:sticky;top:calc(var(--fs-header-h,0px) + 20px)}
.fs-nn-rw-big{font-family:var(--font-display,'DM Serif Display',Georgia,serif);font-size:4.6rem;line-height:1;color:rgb(var(--c-brand-text))}
/* .stars{display:inline-flex;gap:2px;color:#e0a53a} → the platform's warning amber (no literal colours) */
/* Stars filled to the rating (5b review): an outline row with a filled
   row clipped to n / 5 over it. */
.fs-nn-stars{position:relative;display:inline-flex;color:rgb(var(--fs-status-warn));vertical-align:middle}
.fs-nn-stars-bg,.fs-nn-stars-fg{display:inline-flex;gap:2px}
.fs-nn-stars-fg{position:absolute;left:0;top:0;bottom:0;overflow:hidden;white-space:nowrap}
.fs-nn-stars .fs-nn-ic{width:17px;height:17px;flex:none}
.fs-nn-stars-bg .fs-nn-ic{fill:none}
.fs-nn-stars-fg .fs-nn-ic{fill:currentColor}
/* .rv-card .stars .ic{width:15px;height:15px} (the source's second style block, P16) */
.fs-nn-rv .fs-nn-stars .fs-nn-ic{width:15px;height:15px}
.fs-nn .fs-nn-rw-count{margin-top:6px}
.fs-nn-bars{display:grid;gap:9px;margin-top:22px;font-size:.84rem;font-weight:600;color:rgb(var(--c-ink-400))}
.fs-nn-bar{display:grid;grid-template-columns:24px 1fr 36px;gap:10px;align-items:center}
.fs-nn-bar-i{display:block;height:8px;border-radius:8px;background:rgb(var(--c-line));position:relative;overflow:hidden}
/* drawn full (the source's fill on reveal is Task 9's) */
.fs-nn-bar-i::after{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--w,0);border-radius:8px;background:linear-gradient(90deg,rgb(var(--c-brand-600)),rgb(var(--c-accent)))}
.fs-nn-chips{display:flex;flex-wrap:wrap;gap:10px}
/* .chip{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:999px;background:var(--surf);
   border:1.5px solid var(--line);font-weight:600;font-size:.9rem}  .chip.on{background:var(--pri);border-color:var(--pri);color:#fff} */
.fs-nn-chip{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:999px;background:rgb(var(--c-paper-soft));border:1.5px solid rgb(var(--c-line));font:600 .9rem/1.62 var(--font-sans,'DM Sans',system-ui,sans-serif);color:rgb(var(--c-ink-950));cursor:pointer}
.fs-nn-chip:hover{border-color:rgb(var(--c-brand-600))}
.fs-nn-chip.is-on{background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));color:var(--fs-on-brand)}
.fs-nn-chip:focus-visible{outline:3px solid rgb(var(--c-accent));outline-offset:3px}
[data-fs-layout="minimal"] .fs-nn-chip{border-radius:8px}
.fs-nn-rw-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:20px}
.fs-nn-rv{background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));border-radius:22px;padding:22px;display:flex;flex-direction:column;gap:10px}
.fs-nn .fs-nn-rv-q{color:rgb(var(--c-ink-950));font-size:.95rem}
.fs-nn-rv-who{display:flex;justify-content:space-between;align-items:center;margin-top:auto;font-size:.84rem;color:rgb(var(--c-ink-400));font-weight:600}

@container fs-nn (max-width:1060px){
  .fs-nn-hy,.fs-nn-rw{grid-template-columns:1fr}
  .fs-nn-rw-sum{position:static}
  .fs-nn-hy-list{grid-template-columns:repeat(2,1fr)}
}
@container fs-nn (max-width:760px){
  .fs-nn-rw-list,.fs-nn-hy-list{grid-template-columns:1fr}
  .fs-nn-hy-panel{grid-template-columns:1fr;padding:26px}
  .fs-nn-hy-ill{max-width:110px}
  .fs-nn-rw-sum{padding:24px 20px}
}

/* ══ Section blocks, batch 5c ════════════════════════════════════ */
/* favNnGallery — home's mini wall sits on the tint (style="background:var(--tint2)") */
.fs-nn-gallery[data-variant="mini"]{background:var(--fs-nn-tint2)}
.fs-nn-gal-chips{margin-bottom:26px}
/* .wall{display:grid;grid-template-columns:repeat(4,1fr);gap:14px} */
.fs-nn-wall{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
/* .gt{position:relative;aspect-ratio:1;border-radius:20px;overflow:hidden;padding:0;display:block;background:var(--tint);width:100%} */
.fs-nn-gt{position:relative;aspect-ratio:1;border-radius:20px;overflow:hidden;padding:0;display:block;background:var(--fs-nn-tint);width:100%;border:0;cursor:pointer;color:inherit;font:inherit}
.fs-nn-gt>svg{width:100%;height:100%;display:block}
.fs-nn-gt-photo{position:absolute;inset:0}
.fs-nn-gt-photo>*,.fs-nn-gt-photo img{width:100%;height:100%}
.fs-nn-gt-photo img{object-fit:cover}
.fs-nn-gt-photo[data-empty]>[data-editable]{background:transparent}
.fs-nn-gt-photo[data-empty]>[data-editable]>span:first-child{visibility:hidden}
/* .gt .gcap{position:absolute;left:0;right:0;bottom:0;padding:38px 14px 12px;background:linear-gradient(transparent,rgba(30,10,20,.72));
   color:#fff;font-weight:600;font-size:.88rem;text-align:left;opacity:0;transform:translateY(8px)}  .gt:hover .gcap,.gt:focus-visible .gcap{opacity:1;transform:none} */
.fs-nn-gcap{position:absolute;left:0;right:0;bottom:0;padding:38px 14px 12px;background:linear-gradient(transparent,var(--fs-nn-scrim) 30px);color:var(--fs-nn-on-scrim);font-weight:600;font-size:.88rem;line-height:1.62;text-align:left;opacity:0}
.fs-nn-gt:hover .fs-nn-gcap,.fs-nn-gt:focus-visible .fs-nn-gcap,.fs-nn-gt.is-ed .fs-nn-gcap{opacity:1}
.fs-nn-gt:focus-visible{outline:3px solid rgb(var(--c-accent));outline-offset:3px}
.fs-nn-gt.is-ed>.fs-nn-mark{position:absolute;top:8px;left:8px;background:rgb(var(--c-paper-soft))}
[data-fs-layout="minimal"] .fs-nn-gt{filter:saturate(.7)}
/* <p style="margin-top:28px"> … <span class="sample" style="margin-left:10px"> */
.fs-nn .fs-nn-gal-more{margin-top:28px}
.fs-nn-gal-more .fs-nn-sample{margin-left:10px}
/* the dialog — .lb{position:fixed;inset:0;background:rgba(24,8,16,.74);backdrop-filter:blur(6px);display:grid;place-items:center;padding:18px}
   here a native modal <dialog> (top layer), the overlay its ::backdrop */
.fs-nn-lb{max-width:none;max-height:none;width:100%;height:100%;margin:0;padding:18px;border:0;background:transparent;display:none;place-items:center;overscroll-behavior:contain}
html:has(.fs-nn-lb[open]){overflow:hidden}
.fs-nn-lb[open]{display:grid}
.fs-nn-lb::backdrop{background:color-mix(in srgb,var(--fs-nn-scrim,rgb(var(--c-ink-950))) 78%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
/* .lb-card{background:var(--surf);color:var(--ink);border-radius:28px;max-width:920px;width:100%;display:grid;grid-template-columns:1.1fr .9fr;overflow:hidden;max-height:92vh;position:relative} */
.fs-nn-lb-card{background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));border-radius:28px;max-width:920px;width:100%;display:grid;grid-template-columns:1.1fr .9fr;overflow:hidden;max-height:92vh;position:relative;text-align:left}
.fs-nn-lb-img{background:var(--fs-nn-tint)}
.fs-nn-lb-img>svg{width:100%;height:100%;min-height:300px;display:block}
.fs-nn-lb-photo{width:100%;height:100%;min-height:300px;object-fit:cover;display:block}
.fs-nn-lb-info{padding:36px 32px;display:flex;flex-direction:column;gap:12px;overflow:auto}
.fs-nn-lb-x{position:absolute;right:14px;top:14px;width:42px;height:42px;border-radius:50%;background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));display:grid;place-items:center;z-index:2;color:rgb(var(--c-ink-950));cursor:pointer}
.fs-nn .fs-nn-lb-h{font-size:1.9rem}
.fs-nn-lb-sample,.fs-nn-lb-book{align-self:flex-start}
.fs-nn-lb-nav{display:flex;gap:10px;margin-top:auto}
.fs-nn-lb-nav>button{width:44px;height:44px;border-radius:50%;border:1.5px solid rgb(var(--c-line));display:grid;place-items:center;background:none;color:rgb(var(--c-ink-950));cursor:pointer}
.fs-nn-lb-nav>button:hover{background:rgb(var(--c-brand-600));color:var(--fs-on-brand);border-color:rgb(var(--c-brand-600))}
.fs-nn-lb-prev .fs-nn-ic{transform:rotate(180deg)}
/* .tags span{font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--tint);color:var(--link);padding:4px 12px;border-radius:99px} */
.fs-nn-tags{display:flex;gap:8px;flex-wrap:wrap}
.fs-nn-tag{font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--fs-nn-tint);color:rgb(var(--c-brand-text));padding:4px 12px;border-radius:99px}

/* favNnStory — the source's inline style="display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center" */
.fs-nn-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.fs-nn .fs-nn-story-p{margin-top:16px}
.fs-nn .fs-nn-story-p.is-next{margin-top:12px}
.fs-nn .fs-nn-story-tag{margin-top:14px}

/* favNnTeam — .team3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}  .tech{text-align:center} */
.fs-nn-team3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.fs-nn-tech{text-align:center}
/* .tech .ph{aspect-ratio:1;border-radius:999px 999px 20px 20px;margin-bottom:16px;display:grid;place-items:center;color:#fff;font-family:var(--serif);font-size:3.4rem;overflow:hidden}
   background: linear-gradient(145deg,var(--pri),color-mix(in srgb,var(--pri) 50%,var(--acc))) — every second card the accent first */
.fs-nn-ph{position:relative;aspect-ratio:1;border-radius:999px 999px 20px 20px;margin-bottom:16px;display:grid;place-items:center;color:var(--fs-on-brand);font-family:var(--font-display,'DM Serif Display',Georgia,serif);font-size:3.4rem;overflow:hidden;background:linear-gradient(145deg,rgb(var(--c-brand-600)),color-mix(in srgb,rgb(var(--c-brand-600)) 50%,rgb(var(--c-accent))))}
.fs-nn-ph.is-alt{background:linear-gradient(145deg,rgb(var(--c-accent)),color-mix(in srgb,rgb(var(--c-accent)) 45%,rgb(var(--c-brand-600))))}
.fs-nn-ph-photo{position:absolute;inset:0}
.fs-nn-ph-photo>*,.fs-nn-ph-photo img{width:100%;height:100%}
.fs-nn-ph-photo img{object-fit:cover}
.fs-nn-ph-photo[data-empty]>[data-editable]{background:transparent}
.fs-nn-ph-photo[data-empty]>[data-editable]>span:first-child{visibility:hidden}
/* .tech small{color:var(--link);font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:.72rem}  .tech p{font-size:.92rem} (second block) */
.fs-nn-tech-role{color:rgb(var(--c-brand-text));font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:.72rem}
.fs-nn .fs-nn-tech-bio{margin-top:8px;font-size:.92rem}

@container fs-nn (max-width:1060px){
  .fs-nn-wall{grid-template-columns:repeat(3,1fr)}
  .fs-nn-story-grid{grid-template-columns:1fr}
}
@container fs-nn (max-width:760px){
  .fs-nn-team3{grid-template-columns:1fr}
  .fs-nn-wall{grid-template-columns:repeat(2,1fr);gap:10px}
  .fs-nn-gcap{opacity:1;font-size:.78rem;padding:28px 10px 8px;background:linear-gradient(transparent,var(--fs-nn-scrim) 24px)}
  .fs-nn-story-grid{gap:30px}
  .fs-nn-lb-card{grid-template-columns:1fr;overflow:auto}
  .fs-nn-lb-img>svg{min-height:0;aspect-ratio:1}
  .fs-nn-lb{padding:10px}
}

/* ══ Section blocks, batch 6a ════════════════════════════════════ */
/* favNnDesigner — .bld{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center} */
.fs-nn-bld{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
/* .bld-stage{position:relative;background:linear-gradient(170deg,var(--tint2),color-mix(in srgb,var(--acc) 40%,var(--surf)));
   border-radius:34px;padding:22px 18px 8px;box-shadow:var(--shadow)}  .bld-stage svg{width:100%;height:auto;max-height:420px} */
.fs-nn-bld-stage{position:relative;background:linear-gradient(170deg,var(--fs-nn-tint2),color-mix(in srgb,rgb(var(--c-accent)) 40%,rgb(var(--c-paper-soft))));border-radius:34px;padding:22px 18px 8px;box-shadow:var(--fs-nn-shadow)}
.fs-nn-bld-stage>svg{display:block;width:100%;height:auto;max-height:420px;max-width:100%}
/* h4{line-height:1.2;font-weight:700;font-size:1rem}
   .bld-ctl h4{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);margin:20px 0 10px}  :first-child{margin-top:0} */
.fs-nn .fs-nn-bld-h{line-height:1.2;font-weight:700;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:rgb(var(--c-ink-400));margin:20px 0 10px}
.fs-nn .fs-nn-bld-h:first-child{margin-top:0}
/* <span data-bld-shadename style="text-transform:none;letter-spacing:0;color:var(--ink)"> */
.fs-nn-bld-shn{text-transform:none;letter-spacing:0;color:rgb(var(--c-ink-950))}
/* the choices are real radios over their chips (the hero's pattern) */
.fs-nn-bld-opt{position:relative;display:flex;min-width:0}
.fs-nn-bld-opt>input,.fs-nn-bld-sw>input,.fs-nn-bld-sk>input{position:absolute;inset:0;z-index:1;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.fs-nn-bld-opt>input:focus-visible,.fs-nn-bld-sw>input:focus-visible,.fs-nn-bld-sk>input:focus-visible{outline:none}
.fs-nn-bld-opt>input:focus-visible+span,.fs-nn-bld-sw>input:focus-visible+span,.fs-nn-bld-sk>input:focus-visible+span{outline:3px solid rgb(var(--c-brand-text));outline-offset:3px}
.fs-nn-bld-opt>input:checked+.fs-nn-chip{background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));color:var(--fs-on-brand)}
.fs-nn-bld-opt:hover>input+.fs-nn-chip{border-color:rgb(var(--c-brand-600))}
/* .shape-btn{display:grid;gap:4px;justify-items:center;padding:10px 12px 8px;border-radius:16px;border:1.5px solid var(--line);
   background:var(--surf);font-size:.78rem;font-weight:600;min-width:64px;transition:all .2s}
   .shape-btn svg{width:26px;height:36px;fill:var(--tint);stroke:var(--pri);stroke-width:2}
   .shape-btn.on{border-color:var(--pri);background:var(--tint);box-shadow:0 0 0 3px color-mix(in srgb,var(--pri) 14%,transparent)} */
.fs-nn-shape{display:grid;gap:4px;justify-items:center;padding:10px 12px 8px;border-radius:16px;border:1.5px solid rgb(var(--c-line));background:rgb(var(--c-paper-soft));font-size:.78rem;font-weight:600;line-height:1.62;min-width:64px;color:rgb(var(--c-ink-950));cursor:pointer}
.fs-nn-shape>svg{display:block;width:26px;height:36px;fill:var(--fs-nn-tint);stroke:rgb(var(--c-brand-600));stroke-width:2}
.fs-nn-bld-opt>input:checked+.fs-nn-shape,.fs-nn-shape.is-on{border-color:rgb(var(--c-brand-600));background:var(--fs-nn-tint);box-shadow:0 0 0 3px color-mix(in srgb,rgb(var(--c-brand-600)) 14%,transparent)}
/* .shades{display:flex;flex-wrap:wrap;gap:10px}
   .shade{width:34px;height:34px;border-radius:50%;border:3px solid var(--surf);box-shadow:0 0 0 1.5px var(--line);transition:transform .2s,box-shadow .2s}
   .shade:hover{transform:scale(1.12)}  .shade.on{box-shadow:0 0 0 2.5px var(--pri);transform:scale(1.1)} */
.fs-nn-shades{display:flex;flex-wrap:wrap;gap:10px}
.fs-nn-bld-sw{position:relative;display:block;width:34px;height:34px}
.fs-nn-shade{display:block;width:100%;height:100%;border-radius:50%;border:3px solid rgb(var(--c-paper-soft));background:var(--fs-nn-c);box-shadow:0 0 0 1.5px rgb(var(--c-line))}
.fs-nn-bld-sw>input:checked+.fs-nn-shade,.fs-nn-shade.is-on{box-shadow:0 0 0 2.5px rgb(var(--c-brand-600));transform:scale(1.1)}
/* .skin{display:flex;gap:8px}  .skin button{width:22px;height:22px;border-radius:50%;border:2px solid var(--surf);box-shadow:0 0 0 1px var(--line)}
   .skin button.on{box-shadow:0 0 0 2px var(--pri)} */
.fs-nn-skin{display:flex;gap:8px}
.fs-nn-bld-sk{position:relative;display:block;width:22px;height:22px}
.fs-nn-skin-dot{display:block;width:100%;height:100%;border-radius:50%;border:2px solid rgb(var(--c-paper-soft));background:var(--fs-nn-c);box-shadow:0 0 0 1px rgb(var(--c-line))}
.fs-nn-bld-sk>input:checked+.fs-nn-skin-dot,.fs-nn-skin-dot.is-on{box-shadow:0 0 0 2px rgb(var(--c-brand-600))}
/* .bld-sum{margin-top:24px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:18px 20px;
   border-radius:20px;background:var(--surf);border:1px solid var(--line)}
   .bld-sum b.price{font-family:var(--serif);font-size:2rem;font-weight:400;color:var(--link);line-height:1}
   .bld-sum small{display:block;color:var(--mute);font-weight:500}  .bld-name{margin-top:6px;font-size:.88rem;color:var(--mute)} */
.fs-nn-bld-sum{margin-top:24px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:18px 20px;border-radius:20px;background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line))}
.fs-nn-bld-price{font-family:var(--font-display,'DM Serif Display',Georgia,serif);font-size:2rem;font-weight:400;color:rgb(var(--c-brand-text));line-height:1}
/* the UA small{font-size:smaller}, not the platform reset 80% */
.fs-nn-bld-time{display:block;color:rgb(var(--c-ink-400));font-weight:500;font-size:smaller}
.fs-nn-bld-name{margin-top:6px;font-size:.88rem;color:rgb(var(--c-ink-400))}

@container fs-nn (max-width:1060px){
  .fs-nn-bld{grid-template-columns:1fr}
}
@container fs-nn (max-width:420px){
  .fs-nn-shape{min-width:56px;padding-inline:8px}
}

/* ══ Section blocks, batch 6c ════════════════════════════════════ */
/* contact · 02 <section class="section" style="padding-top:36px"> */
.fs-nn-sec[data-pad="mid"]>.fs-nn-wrap{padding-top:36px}
/* .contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:30px;align-items:start} (the second rule wins)
   <div style="display:grid;gap:22px"> */
.fs-nn-contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:30px;align-items:start}
.fs-nn-contact-side{display:grid;gap:22px}
/* .info-list{display:grid;gap:16px}  .info-list div{display:flex;gap:14px;align-items:flex-start}  .info-list b{display:block}  .info-list span{color:var(--mute)} */
.fs-nn-info{display:grid;gap:16px}
.fs-nn-info>div{display:flex;gap:14px;align-items:flex-start}
.fs-nn-info b{display:block}
.fs-nn-info span{color:rgb(var(--c-ink-400))}
.fs-nn .fs-nn-walk-h{margin-bottom:10px}
/* .bk{background:var(--surf);border:1px solid var(--line);border-radius:30px;padding:34px;box-shadow:var(--shadow)} */
.fs-nn-bk{background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));border-radius:30px;padding:34px;box-shadow:var(--fs-nn-shadow)}
/* <h2 style="font-size:2rem;margin-bottom:6px">  <p style="margin-bottom:22px"> */
.fs-nn .fs-nn-bk-h{font-size:2rem;margin-bottom:6px}
.fs-nn .fs-nn-bk-lede{margin-bottom:22px}
/* .bk-steps{display:flex;gap:10px;align-items:center;margin-bottom:26px;flex-wrap:wrap} … */
.fs-nn-bk-steps{display:flex;gap:10px;align-items:center;margin-bottom:26px;flex-wrap:wrap}
.fs-nn-bk-s{display:flex;align-items:center;gap:10px;font-weight:600;font-size:.88rem;color:rgb(var(--c-ink-400))}
.fs-nn-bk-s>i{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1.5px solid rgb(var(--c-line));font-style:normal;font-weight:700;font-size:.82rem}
.fs-nn-bk-s.is-on{color:rgb(var(--c-ink-950))}
.fs-nn-bk-s.is-on>i{background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));color:var(--fs-on-brand)}
.fs-nn-bk-s.is-done>i{background:var(--fs-nn-tint);border-color:rgb(var(--c-brand-600));color:rgb(var(--c-brand-text))}
.fs-nn-bk-ln{flex:1;height:1px;background:rgb(var(--c-line));min-width:20px}
.fs-nn-bk-panel[hidden]{display:none}
/* .bk-svcs{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
   .bk-svc{display:flex;justify-content:space-between;gap:12px;text-align:left;padding:16px 18px;border-radius:18px;border:1.5px solid var(--line);background:var(--bg)}
   .bk-svc:hover{border-color:var(--pri)}.bk-svc.on{border-color:var(--pri);background:var(--tint);box-shadow:0 0 0 3px color-mix(in srgb,var(--pri) 12%,transparent)}
   .bk-svc b{display:block;font-size:.95rem}.bk-svc small{color:var(--mute)}  .bk-svc .p{font-family:var(--serif);font-size:1.2rem;color:var(--link);white-space:nowrap} */
.fs-nn-bk-svcs{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.fs-nn-bk-svc{display:flex;justify-content:space-between;gap:12px;text-align:left;padding:16px 18px;border-radius:18px;border:1.5px solid rgb(var(--c-line));background:rgb(var(--c-paper));font:inherit;line-height:1.62;color:rgb(var(--c-ink-950));cursor:pointer;width:100%}
.fs-nn-bk-svc:hover{border-color:rgb(var(--c-brand-600))}
.fs-nn-bk-svc.is-on{border-color:rgb(var(--c-brand-600));background:var(--fs-nn-tint);box-shadow:0 0 0 3px color-mix(in srgb,rgb(var(--c-brand-600)) 12%,transparent)}
.fs-nn-bk-svc b{display:block;font-size:.95rem}
.fs-nn-bk-svc small{color:rgb(var(--c-ink-400));font-size:smaller}
.fs-nn-bk-p{font-family:var(--font-display,'DM Serif Display',Georgia,serif);font-size:1.2rem;color:rgb(var(--c-brand-text));white-space:nowrap}
/* .bk-days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:18px}
   .bk-day{display:grid;justify-items:center;gap:2px;padding:10px 2px;border-radius:14px;border:1.5px solid var(--line);background:var(--bg);font-size:.72rem;font-weight:600;color:var(--mute)}
   .bk-day b{font-size:1.15rem;color:var(--ink);font-family:var(--serif);font-weight:500}  .bk-day.on{background:var(--pri);border-color:var(--pri);color:#fff}.bk-day.on b{color:#fff}
   .bk-day:disabled{opacity:.4;cursor:not-allowed} */
.fs-nn-bk-days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:18px}
.fs-nn-bk-day{display:grid;justify-items:center;gap:2px;padding:10px 2px;border-radius:14px;border:1.5px solid rgb(var(--c-line));background:rgb(var(--c-paper));font-family:inherit;font-size:.72rem;font-weight:600;line-height:1.62;color:rgb(var(--c-ink-400));cursor:pointer;min-width:0}
.fs-nn-bk-day b{font-size:1.15rem;color:rgb(var(--c-ink-950));font-family:var(--font-display,'DM Serif Display',Georgia,serif);font-weight:500}
.fs-nn-bk-day:hover:not(:disabled){border-color:rgb(var(--c-brand-600))}
.fs-nn-bk-day.is-on{background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));color:var(--fs-on-brand)}
.fs-nn-bk-day.is-on b{color:var(--fs-on-brand)}
.fs-nn-bk-day:disabled{opacity:.4;cursor:not-allowed}
/* .bk-times{display:flex;flex-wrap:wrap;gap:10px}  .bk-time{padding:10px 16px;border-radius:12px;border:1.5px solid var(--line);background:var(--bg);font-weight:600;font-size:.9rem}
   .bk-time.on{background:var(--pri);color:#fff;border-color:var(--pri)}  .bk-time:disabled{opacity:.35;text-decoration:line-through;cursor:not-allowed} */
.fs-nn-bk-times{display:flex;flex-wrap:wrap;gap:10px}
.fs-nn-bk-time{padding:10px 16px;border-radius:12px;border:1.5px solid rgb(var(--c-line));background:rgb(var(--c-paper));font-family:inherit;font-weight:600;font-size:.9rem;line-height:1.62;color:rgb(var(--c-ink-950));cursor:pointer}
.fs-nn-bk-time:hover:not(:disabled){border-color:rgb(var(--c-brand-600))}
.fs-nn-bk-time.is-on{background:rgb(var(--c-brand-600));color:var(--fs-on-brand);border-color:rgb(var(--c-brand-600))}
.fs-nn-bk-time:disabled{opacity:.35;text-decoration:line-through;cursor:not-allowed}
.fs-nn-bk-svc:focus-visible,.fs-nn-bk-day:focus-visible,.fs-nn-bk-time:focus-visible{outline:3px solid rgb(var(--c-brand-text));outline-offset:3px}
.fs-nn .fs-nn-bk-pref{margin-bottom:14px}
/* .bk-nav{display:flex;justify-content:space-between;gap:12px;margin-top:26px;flex-wrap:wrap}  <div class="bk-nav" style="margin-top:6px"> */
.fs-nn-bk-nav{display:flex;justify-content:space-between;gap:12px;margin-top:26px;flex-wrap:wrap}
.fs-nn .fs-nn-bk-nav-f{margin-top:6px}
/* .btn.alt{background:transparent;color:var(--link);box-shadow:inset 0 0 0 2px var(--line)}  .btn.alt:hover{box-shadow:inset 0 0 0 2px var(--pri)}  .btn.alt::after{display:none} */
.fs-nn .fs-nn-btn-alt{background:transparent;color:rgb(var(--c-brand-text));box-shadow:inset 0 0 0 2px rgb(var(--c-line))}
.fs-nn .fs-nn-btn-alt:hover{box-shadow:inset 0 0 0 2px rgb(var(--c-brand-600))}
.fs-nn-btn-alt::after{display:none}
/* .bk-sum{padding:16px 18px;border-radius:18px;background:var(--tint);font-size:.92rem;color:var(--ink);margin-bottom:16px}  .bk-sum b{color:var(--link)} */
.fs-nn-bk-sum{padding:16px 18px;border-radius:18px;background:var(--fs-nn-tint);font-size:.92rem;color:rgb(var(--c-ink-950));margin-bottom:16px}
.fs-nn-bk-sum b{color:rgb(var(--c-brand-text))}
.fs-nn-bk-dep{color:rgb(var(--c-ink-400))}
/* .form{display:grid;gap:16px}  .field{display:grid;gap:6px}  .field label{font-weight:700;font-size:.88rem}
   .field input,.field textarea{width:100%;padding:13px 16px;border-radius:16px;border:1.5px solid var(--line);background:var(--surf)}
   .field input:focus{outline:none;border-color:var(--pri);box-shadow:0 0 0 4px color-mix(in srgb,var(--pri) 18%,transparent)}
   .field.err input{border-color:#d1432f}  .field .em{color:#d1432f;font-size:.8rem;font-weight:600}  .row2{display:grid;grid-template-columns:1fr 1fr;gap:16px} */
.fs-nn-form{display:grid;gap:16px}
.fs-nn-field{display:grid;gap:6px}
.fs-nn-field>label,.fs-nn-label{font-weight:700;font-size:.88rem}
.fs-nn-field input,.fs-nn-field textarea,.fs-nn-input{display:block;width:100%;padding:13px 16px;border-radius:16px;border:1.5px solid rgb(var(--c-line));background:rgb(var(--c-paper-soft));font:inherit;line-height:1.62;color:rgb(var(--c-ink-950))}
.fs-nn-input{height:calc(1.62em + 29px)}
.fs-nn-field textarea,.fs-nn-input.fs-nn-ta{min-height:84px;resize:vertical}
.fs-nn-field input:focus,.fs-nn-field textarea:focus{outline:none;border-color:rgb(var(--c-brand-600));box-shadow:0 0 0 4px color-mix(in srgb,rgb(var(--c-brand-600)) 18%,transparent)}
.fs-nn-field.is-err input{border-color:rgb(var(--fs-status-bad))}
.fs-nn-ferr{color:rgb(var(--fs-status-bad));font-size:.8rem;font-weight:600}
.fs-nn-row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fs-nn-hint{font-weight:500;color:rgb(var(--c-ink-400))}
/* .check{display:flex;gap:12px;align-items:flex-start;font-size:.88rem;color:var(--mute);cursor:pointer}
   .check input{margin-top:4px;width:18px;height:18px;accent-color:var(--pri);flex:none}  .check.err{color:#c4452f} */
.fs-nn-check{display:flex;gap:12px;align-items:flex-start;font-size:.88rem;color:rgb(var(--c-ink-400));cursor:pointer}
.fs-nn-check>input,.fs-nn-box{margin:4px 0 0;width:18px;height:18px;accent-color:rgb(var(--c-brand-600));flex:none}
.fs-nn-box{display:block;border:1.5px solid rgb(var(--c-line));border-radius:4px}
.fs-nn-check.is-err{color:rgb(var(--fs-status-bad))}
/* dark mode: the status red at full strength is 4.19:1 on a dark card,
   under AA; 80% of it into the (light) ink clears it on every palette
   (check-nacre-contrast, Task 11) */
.dark .fs-nn-ferr,.dark .fs-nn-check.is-err{color:color-mix(in srgb,rgb(var(--fs-status-bad)) 80%,rgb(var(--c-ink-950)))}
.fs-preview-light .fs-nn-ferr,.fs-preview-light .fs-nn-check.is-err{color:rgb(var(--fs-status-bad))}
.fs-nn-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
/* the status line (the source's toast, P10): no height until it speaks */
.fs-nn-bk-status{margin:0;font-size:.9rem;font-weight:600;color:rgb(var(--c-ink-950))}
.fs-nn-bk-status:not(:empty){margin-top:14px}
.fs-nn-bk-status:focus{outline:none}
/* .bk-done{text-align:center;padding:20px 6px}  .bk-done .tick{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--pri);color:#fff;margin-bottom:16px}
   <h3 style="font-size:1.7rem;margin-bottom:8px">  <p style="margin-top:10px;font-size:.88rem">  <button class="btn alt" style="margin-top:18px"> */
.fs-nn-bk-done{text-align:center;padding:20px 6px}
.fs-nn-bk-tick{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;background:rgb(var(--c-brand-600));color:var(--fs-on-brand);margin-bottom:16px}
.fs-nn-bk-tick .fs-nn-ic{width:30px;height:30px}
.fs-nn .fs-nn-bk-done-h{font-size:1.7rem;margin-bottom:8px}
.fs-nn-bk-done-h:focus{outline:none}
.fs-nn .fs-nn-bk-demo{margin-top:10px;font-size:.88rem}
.fs-nn-bk-done>.fs-nn-btn{margin-top:18px}

@container fs-nn (max-width:1060px){
  .fs-nn-contact-grid{grid-template-columns:1fr}
}
@container fs-nn (max-width:760px){
  .fs-nn-sec[data-pad="mid"]>.fs-nn-wrap{padding-top:36px}
  .fs-nn-bk-svcs{grid-template-columns:1fr}
  .fs-nn-bk{padding:22px 18px;border-radius:24px}
  .fs-nn-bk-s>span{display:none}
  .fs-nn-bk-days{gap:4px}
}

/* ══ Section blocks, batch 7a ════════════════════════════════════ */
/* .pl,.pt{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start}
   .panel{background:var(--surf);border:1px solid var(--line);border-radius:30px;padding:32px}
   .panel h4{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);margin:22px 0 12px}  .panel h4:first-child{margin-top:0} */
.fs-nn-pl,.fs-nn-pt{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start}
.fs-nn-panel{background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));border-radius:30px;padding:32px}
.fs-nn .fs-nn-panel-h{line-height:1.2;font-weight:700;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:rgb(var(--c-ink-400));margin:22px 0 12px}
.fs-nn .fs-nn-panel-h:first-child{margin-top:0}
/* <span style="text-transform:none;letter-spacing:0;color:var(--ink)"> */
.fs-nn-panel-v{text-transform:none;letter-spacing:0;color:rgb(var(--c-ink-950))}
/* .range{width:100%;accent-color:var(--pri);height:30px} (inline, as the source's input) */
.fs-nn-range{width:100%;accent-color:rgb(var(--c-brand-600));height:30px}
span.fs-nn-range{display:block;border-bottom:4px solid rgb(var(--c-line));height:17px;margin:2px 0 11px}
.fs-nn-range:focus-visible{outline:3px solid rgb(var(--c-brand-text));outline-offset:3px}
/* <span style="opacity:.7">£38</span> inside the chip */
.fs-nn-chip-pr{opacity:.7}
/* on a chosen chip the price sits on the brand fill: 70% white there is
   about 3.7:1, so full strength (7a review, ledger L23) */
.fs-nn-chip.is-on .fs-nn-chip-pr{opacity:1}
/* .dates{list-style:none;display:grid;gap:10px;margin-top:6px}
   .dates li{display:flex;align-items:center;gap:16px;padding:12px 16px;border-radius:16px;background:var(--bg);border:1px solid var(--line)}
   .dates .d{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--pri);color:#fff;line-height:1;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;flex:none}
   .dates .d b{font-family:var(--serif);font-size:1.3rem;font-weight:500;display:block;letter-spacing:0}
   .dates .t{font-weight:600}.dates small{display:block;color:var(--mute);font-weight:400} */
.fs-nn-dates{list-style:none;display:grid;gap:10px;margin:6px 0 0;padding:0}
.fs-nn-dates-li{display:flex;align-items:center;gap:16px;padding:12px 16px;border-radius:16px;background:rgb(var(--c-paper));border:1px solid rgb(var(--c-line));line-height:1.62}
.fs-nn-dates-d{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:rgb(var(--c-brand-600));color:var(--fs-on-brand);line-height:1;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;flex:none}
.fs-nn-dates-d b{font-family:var(--font-display,'DM Serif Display',Georgia,serif);font-size:1.3rem;font-weight:500;display:block;letter-spacing:0}
.fs-nn-dates-t{font-weight:600}
.fs-nn-dates-t small{display:block;color:rgb(var(--c-ink-400));font-weight:400;font-size:smaller}
/* .yr{margin-top:18px;padding:18px 20px;border-radius:20px;background:var(--tint)}  .yr b{font-family:var(--serif);font-size:1.9rem;font-weight:400;color:var(--link)}
   <p style="margin-top:6px;font-size:.92rem">  <a class="btn" style="margin-top:18px"> */
.fs-nn-yr{margin-top:18px;padding:18px 20px;border-radius:20px;background:var(--fs-nn-tint)}
.fs-nn-yr>b{font-family:var(--font-display,'DM Serif Display',Georgia,serif);font-size:1.9rem;font-weight:400;color:rgb(var(--c-brand-text))}
.fs-nn .fs-nn-yr-p{margin-top:6px;font-size:.92rem}
.fs-nn .fs-nn-pl-book{margin-top:18px}
/* .pt-sum{background:linear-gradient(160deg,var(--pri),var(--pri-d));color:#fff;border-radius:30px;padding:32px;position:sticky;top:calc(var(--studio-h) + 110px)}
   .pt-sum h3{color:#fff}  .pt-sum .row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.2);font-size:.95rem}
   .pt-sum .tot{display:flex;justify-content:space-between;align-items:baseline;margin-top:16px}  .pt-sum .tot b{font-family:var(--serif);font-size:2.6rem;font-weight:400;line-height:1}
   .pt-sum small{display:block;margin-top:14px;color:rgba(255,255,255,.8);line-height:1.4} — under the platform header, as L18 */
.fs-nn-pt-sum{background:linear-gradient(160deg,rgb(var(--c-brand-600)),rgb(var(--c-brand-700)));color:var(--fs-on-brand);border-radius:30px;padding:32px;position:sticky;top:calc(var(--fs-header-h,0px) + 20px)}
.fs-nn .fs-nn-pt-sum .fs-nn-h3{color:var(--fs-on-brand)}
.fs-nn-pt-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid color-mix(in srgb,var(--fs-on-brand) 20%,transparent);font-size:.95rem}
.fs-nn-pt-tot{display:flex;justify-content:space-between;align-items:baseline;margin-top:16px}
.fs-nn-pt-tot>b{font-family:var(--font-display,'DM Serif Display',Georgia,serif);font-size:2.6rem;font-weight:400;line-height:1}
/* the source's 80% white falls under AA on the lighter palettes (Sage
   Milk 4.2:1): full on-brand text (ledger L23) */
.fs-nn-pt-note{display:block;margin-top:14px;color:var(--fs-on-brand);line-height:1.4;font-size:smaller}
/* <form class="form" style="margin-top:26px">  <button class="btn" style="justify-self:start"> */
.fs-nn .fs-nn-pt-form{margin-top:26px}
.fs-nn-pt-send{justify-self:start}
/* .form-ok{padding:14px 18px;border-radius:16px;background:color-mix(in srgb,#2fb67a 18%,var(--surf));font-weight:600;color:var(--ink)} —
   the status line: out of the form's grid (no gap) until it speaks */
.fs-nn-form-ok{padding:14px 18px;border-radius:16px;background:color-mix(in srgb,rgb(var(--fs-status-ok)) 18%,rgb(var(--c-paper-soft)));font-weight:600;color:rgb(var(--c-ink-950))}
.fs-nn-form-ok.is-warn{background:color-mix(in srgb,rgb(var(--fs-status-warn)) 18%,rgb(var(--c-paper-soft)))}
.fs-nn-form-ok:empty{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fs-nn-form-ok:focus{outline:none}

@container fs-nn (max-width:1060px){
  .fs-nn-pl,.fs-nn-pt{grid-template-columns:1fr}
  .fs-nn-pt-sum{position:static}
}
@container fs-nn (max-width:760px){
  .fs-nn-panel,.fs-nn-pt-sum{padding:24px 20px}
}

/* ══ Section blocks, batch 7b ════════════════════════════════════ */
/* .offer{display:flex;flex-direction:column;gap:10px}  .offer .big{font-family:var(--serif);font-size:2.6rem;color:var(--link);line-height:1} */
.fs-nn-offer{display:flex;flex-direction:column;gap:10px}
.fs-nn-offer-big{font-family:var(--font-display,'DM Serif Display',Georgia,serif);font-size:2.6rem;color:rgb(var(--c-brand-text));line-height:1}
/* <div class="wrap pl" style="align-items:center">  <p style="margin-top:14px"> */
.fs-nn .fs-nn-loy{align-items:center}
.fs-nn .fs-nn-loy-p{margin-top:14px}
/* .stampcard{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}
   .stamp{aspect-ratio:1;border-radius:50%;border:2px dashed color-mix(in srgb,var(--pri) 45%,var(--line));display:grid;place-items:center;color:transparent}
   .stamp.on{background:var(--pri);border-style:solid;border-color:var(--pri);color:#fff;transform:rotate(-8deg) scale(1.04)}  .stamp.free{border-color:var(--acc);color:var(--link)} */
.fs-nn-stampcard{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}
.fs-nn-stamp{aspect-ratio:1;border-radius:50%;border:2px dashed color-mix(in srgb,rgb(var(--c-brand-600)) 45%,rgb(var(--c-line)));display:grid;place-items:center;color:transparent;background:none;padding:0;width:100%;cursor:pointer;font:inherit}
.fs-nn-stamp.is-on{background:rgb(var(--c-brand-600));border-style:solid;border-color:rgb(var(--c-brand-600));color:var(--fs-on-brand);transform:rotate(-8deg) scale(1.04)}
.fs-nn-stamp.is-free{border-color:rgb(var(--c-accent));color:rgb(var(--c-brand-text))}
.fs-nn-stamp.is-free.is-on{color:var(--fs-on-brand)}
.fs-nn-stamp:focus-visible{outline:3px solid rgb(var(--c-brand-text));outline-offset:3px}
/* <p data-stamp-msg style="font-weight:600;color:var(--ink)"> */
.fs-nn .fs-nn-loy-msg{font-weight:600;color:rgb(var(--c-ink-950))}
/* a real site's try-out line under the card (7b review) */
.fs-nn .fs-nn-loy-note{margin-top:8px;font-size:.88rem;color:rgb(var(--c-ink-400))}
/* .gift{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center}
   .gift-card{aspect-ratio:1.6;border-radius:26px;background:linear-gradient(135deg,var(--pri),var(--pri-d));color:#fff;padding:26px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;box-shadow:var(--shadow)}
   .gift-card .amt{font-family:var(--serif);font-size:3.4rem;line-height:1}  .gift-card .nl{position:absolute;right:-20px;top:-16px;width:150px;opacity:.9;transform:rotate(16deg)}
   .gift-card small{opacity:.85} (full on-brand here, ledger L24)  <div class="hand" style="color:#fff;font-size:1.1rem"> */
.fs-nn-gift-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center}
.fs-nn-gift-card{aspect-ratio:1.6;border-radius:26px;background:linear-gradient(135deg,rgb(var(--c-brand-600)),rgb(var(--c-brand-700)));color:var(--fs-on-brand);padding:26px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;box-shadow:var(--fs-nn-shadow)}
.fs-nn-gift-amt{font-family:var(--font-display,'DM Serif Display',Georgia,serif);font-size:3.4rem;line-height:1}
.fs-nn-gift-nl{position:absolute;right:-20px;top:-16px;width:150px;opacity:.9;transform:rotate(16deg);display:block;max-width:100%}
.fs-nn-gift-small{font-size:smaller}
.fs-nn-gift-hand{font-family:var(--font-display,'DM Serif Display',Georgia,serif);font-style:italic;color:var(--fs-on-brand);font-size:1.1rem}
.fs-nn-gift-photo{position:absolute;inset:0;z-index:1}
.fs-nn-gift-photo>*,.fs-nn-gift-photo img{width:100%;height:100%}
.fs-nn-gift-photo img{object-fit:cover}
.fs-nn-gift-photo[data-empty]>[data-editable]{background:transparent}
.fs-nn-gift-photo[data-empty]>[data-editable]>span:first-child{visibility:hidden}
/* <p style="margin:14px 0 20px">  <div class="chips" style="margin-bottom:20px"> */
.fs-nn .fs-nn-gift-p{margin:14px 0 20px}
.fs-nn .fs-nn-gift-amts{margin-bottom:20px}
.fs-nn .fs-nn-gift-say{margin-top:14px;font-weight:600;color:rgb(var(--c-ink-950))}
.fs-nn .fs-nn-gift-say:empty{margin:0}

/* .stamp{transition:all .3s var(--ease)}: the motion section (nnPanels) */
@container fs-nn (max-width:1060px){
  .fs-nn-gift-grid{grid-template-columns:1fr}
}
@container fs-nn (max-width:420px){
  .fs-nn-stampcard{gap:8px}
}

/* ══ The footer (port Task 8) ════════════════════════════════════
   .site-footer{position:relative;margin-top:30px}; the dark band's
   --foot: the brand's deep tone 88% into the near-black (light), 40% (dark)
   — the near-black is the ink in light mode and the page ground in dark
   (both near-black there; no literal colour). The words on it: the
   on-brand white at the source's strengths (h4 60%, lines 82%, hours 70%,
   small print 62%). */
.fs-nn-footer{position:relative;margin-top:30px;--fs-nn-foot:color-mix(in srgb,rgb(var(--c-brand-700)) 88%,rgb(var(--c-ink-950)))}
.dark .fs-nn-footer{--fs-nn-foot:color-mix(in srgb,rgb(var(--c-brand-700)) 40%,rgb(var(--c-paper)))}
.fs-preview-light .fs-nn-footer{--fs-nn-foot:color-mix(in srgb,rgb(var(--c-brand-700)) 88%,rgb(var(--c-ink-950)))}
/* .ft-top{padding:56px 0 24px;text-align:center}  .ft-top .hand{font-size:1.15rem}  .ft-top h2{margin-top:6px} */
.fs-nn .fs-nn-ft-top{padding-top:56px;padding-bottom:24px;text-align:center}
.fs-nn-ft-hand{display:block;font-family:var(--font-display,'DM Serif Display',Georgia,serif);font-style:italic;font-size:1.15rem;line-height:1.62;color:rgb(var(--c-brand-text))}
.fs-nn .fs-nn-ft-handle{margin-top:6px}
/* the feed tag inherits the heading's line (the source's .sample sets
   none), so it never makes the line taller (390, Task 10) */
.fs-nn .fs-nn-ft-handle .fs-nn-sample{line-height:inherit}
/* .ft-strip{display:grid;grid-template-columns:repeat(6,1fr)}  .ft-strip button{aspect-ratio:1;overflow:hidden;padding:0;display:block} */
.fs-nn-ft-strip{display:grid;grid-template-columns:repeat(6,1fr)}
.fs-nn-ft-tile{position:relative;display:block;aspect-ratio:1;overflow:hidden;background:var(--fs-nn-tint)}
/* the owner's own strip picture (S30) over the drawn look */
.fs-nn-ft-photo{position:absolute;inset:0}
.fs-nn-ft-photo>*,.fs-nn-ft-photo img{width:100%;height:100%}
.fs-nn-ft-photo img{object-fit:cover;display:block}
.fs-nn-ft-photo[data-empty]>[data-editable]{background:transparent}
.fs-nn-ft-photo[data-empty]>[data-editable]>span:first-child{visibility:hidden}
.fs-nn-ft-tile>svg{display:block;width:100%;height:100%}
a.fs-nn-ft-tile:focus-visible{outline:3px solid rgb(var(--c-brand-text));outline-offset:-3px}
[data-fs-layout="minimal"] .fs-nn-ft-strip{filter:saturate(.7)}
/* .ft-cta{background:var(--foot);color:white;padding:70px 0 20px;position:relative;overflow:hidden} */
.fs-nn-ft-cta{position:relative;overflow:hidden;padding:70px 0 20px;background:var(--fs-nn-foot);color:var(--fs-on-brand)}
/* .ft-book{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;padding-bottom:50px;border-bottom:1px solid rgba(255,255,255,.16)}
   .ft-book h2{color:white;font-size:clamp(2rem,4.4vw,3.6rem);max-width:640px}  .ft-book h2 em{color:var(--acc)}  .ft-book .acts{display:flex;gap:12px;flex-wrap:wrap} */
.fs-nn-ft-book{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;padding-bottom:50px;border-bottom:1px solid color-mix(in srgb,var(--fs-on-brand) 16%,transparent)}
.fs-nn .fs-nn-ft-book-h{color:var(--fs-on-brand);font-size:clamp(2rem,calc(4.4 * var(--fs-nn-vw)),3.6rem);max-width:640px}
.fs-nn .fs-nn-ft-book-h .fs-nn-em{color:rgb(var(--c-accent))}
.fs-nn-ft-acts{display:flex;gap:12px;flex-wrap:wrap}
/* .btn.white.lg / .btn.alt.lg (style="color:white;box-shadow:inset 0 0 0 2px rgba(255,255,255,.5)"): 16px 30px, 1.02rem */
.fs-nn .fs-nn-ft-btn-w,.fs-nn .fs-nn-ft-btn-alt{padding:16px 30px;font-size:1.02rem}
.fs-nn a.fs-nn-ft-btn-w,.fs-nn .fs-nn-ft-btn-w{background:var(--fs-on-brand);color:rgb(var(--c-brand-700));box-shadow:none}
.fs-nn a.fs-nn-ft-btn-alt,.fs-nn .fs-nn-ft-btn-alt{background:transparent;color:var(--fs-on-brand);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--fs-on-brand) 50%,transparent)}
.fs-nn-ft-btn-w::after,.fs-nn-ft-btn-alt::after{display:none}
/* .ft-cols{display:grid;grid-template-columns:1.2fr 1fr 1.2fr;gap:40px;padding:44px 0 36px} */
.fs-nn-ft-cols{display:grid;grid-template-columns:1.2fr 1fr 1.2fr;gap:40px;padding:44px 0 36px}
/* .ft-cols h4{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:14px} */
.fs-nn .fs-nn-ft-h4{margin:0 0 14px;font-family:var(--font-sans,'DM Sans',system-ui,sans-serif);font-size:.72rem;font-weight:700;line-height:1.2;letter-spacing:.2em;text-transform:uppercase;color:color-mix(in srgb,var(--fs-on-brand) 60%,transparent)}
/* .ft-cols p,.ft-cols a,.ft-cols li{color:rgba(255,255,255,.82);font-size:.94rem}  .ft-cols ul{list-style:none;display:grid;gap:8px} */
.fs-nn .fs-nn-ft-p,.fs-nn .fs-nn-ft-a,.fs-nn .fs-nn-ft-li{color:color-mix(in srgb,var(--fs-on-brand) 82%,transparent);font-size:.94rem}
.fs-nn-ft-ul{list-style:none;display:grid;gap:8px;margin:0;padding:0}
.fs-nn a.fs-nn-ft-a:hover{color:var(--fs-on-brand);text-decoration:underline}
.fs-nn a.fs-nn-ft-a:focus-visible,.fs-nn a.fs-nn-ft-legal-a:focus-visible{outline:2px solid var(--fs-on-brand);outline-offset:2px}
.fs-nn-ft-tag{color:color-mix(in srgb,var(--fs-on-brand) 70%,transparent);border-color:color-mix(in srgb,var(--fs-on-brand) 30%,transparent)}
/* .ft-cols .status{display:inline-flex;align-items:center;gap:9px;padding:7px 14px;border-radius:99px;background:rgba(255,255,255,.12);font-weight:600;font-size:.84rem;color:white;margin-bottom:14px}
   .status i{width:9px;height:9px;border-radius:50%;background:green}  .status.closed i{background:coral} */
.fs-nn-ft-status{display:inline-flex;align-items:center;gap:9px;margin-bottom:14px;padding:7px 14px;border-radius:99px;background:color-mix(in srgb,var(--fs-on-brand) 12%,transparent);font-weight:600;font-size:.84rem;line-height:1.62;color:var(--fs-on-brand)}
.fs-nn-ft-status>i{width:9px;height:9px;border-radius:50%;background:rgb(var(--fs-status-ok))}
.fs-nn-ft-status.is-closed>i{background:rgb(var(--fs-status-bad))}
/* .ft-hours{display:grid;gap:3px;font-size:.88rem;max-width:280px}  div{display:flex;justify-content:space-between;color:rgba(255,255,255,.7);padding:2px 0}  .now{color:white;font-weight:700} */
.fs-nn-ft-hours{display:grid;gap:3px;margin-top:14px;max-width:280px;font-size:.88rem}
.fs-nn-ft-hours>div{display:flex;justify-content:space-between;padding:2px 0;color:color-mix(in srgb,var(--fs-on-brand) 70%,transparent)}
.fs-nn-ft-hours>div.is-now{color:var(--fs-on-brand);font-weight:700}
/* .nl-form{display:flex;gap:8px;margin-top:6px}  input{flex:1;min-width:0;border:0;border-radius:99px;padding:12px 18px;background:rgba(255,255,255,.14);color:white}
   .nl-form .btn{background:white;color:var(--pri-d);box-shadow:none;padding:12px 20px}  .nl-msg{margin-top:10px;font-weight:600;font-size:.88rem;color:white} */
.fs-nn-ft-form{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
/* a real site's consent box (Task 8 review): its own row under the field */
.fs-nn .fs-nn-ft-consent{flex-basis:100%;margin-top:4px;font-size:.84rem;color:color-mix(in srgb,var(--fs-on-brand) 82%,transparent)}
.fs-nn-ft-consent>input,.fs-nn-ft-consent>.fs-nn-box{accent-color:rgb(var(--c-accent));border-color:color-mix(in srgb,var(--fs-on-brand) 50%,transparent)}
.fs-nn-ft-consent>input:focus-visible{outline:2px solid var(--fs-on-brand);outline-offset:2px}
.fs-nn-ft-input{flex:1;min-width:0;border:0;border-radius:99px;padding:12px 18px;background:color-mix(in srgb,var(--fs-on-brand) 14%,transparent);color:var(--fs-on-brand);font:inherit;font-size:1rem;line-height:1.62}
span.fs-nn-ft-input{color:color-mix(in srgb,var(--fs-on-brand) 65%,transparent)}
.fs-nn-ft-input::placeholder{color:color-mix(in srgb,var(--fs-on-brand) 65%,transparent)}
.fs-nn-ft-input:focus-visible{outline:2px solid var(--fs-on-brand);outline-offset:2px}
.fs-nn .fs-nn-ft-join{padding:12px 20px;font-size:.88rem;background:var(--fs-on-brand);color:rgb(var(--c-brand-700));box-shadow:none}
.fs-nn-ft-join::after{display:none}
.fs-nn .fs-nn-ft-msg{margin-top:10px;font-weight:600;font-size:.88rem;color:var(--fs-on-brand)}
.fs-nn .fs-nn-ft-msg:empty{margin:0}
/* .ft-word{font-family:var(--serif);font-weight:300;font-style:italic;font-size:clamp(5rem,23vw,21rem);line-height:.8;height:.58em;overflow:hidden;white-space:nowrap;
   text-align:center;background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,.02));background-clip:text;color:transparent;letter-spacing:-.04em;margin-top:8px}
   (DM Serif Display has one weight: 400, N1) */
.fs-nn-ft-word{margin-top:8px;font-family:var(--font-display,'DM Serif Display',Georgia,serif);font-weight:400;font-style:italic;font-size:clamp(5rem,23cqi,21rem);line-height:.8;height:.58em;overflow:hidden;white-space:nowrap;text-align:center;letter-spacing:-.04em;background:linear-gradient(180deg,color-mix(in srgb,var(--fs-on-brand) 28%,transparent),color-mix(in srgb,var(--fs-on-brand) 2%,transparent));-webkit-background-clip:text;background-clip:text;color:transparent;user-select:none}
/* .ft-bot{padding:18px 0 26px;font-size:.8rem;color:rgba(255,255,255,.62);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;position:relative;z-index:1;background:var(--foot)} */
.fs-nn .fs-nn-ft-bot{position:relative;z-index:1;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:18px;padding-bottom:26px;font-size:.8rem;line-height:1.62;color:color-mix(in srgb,var(--fs-on-brand) 62%,transparent);background:var(--fs-nn-foot)}
.fs-nn-ft-legal-a{color:inherit;text-decoration:underline}
/* @media (pointer:coarse),(max-width:900px){.site-footer a{display:inline-block;padding-block:7px}}:
   a taller tap target for the footer's links (its buttons keep their own
   padding; ledger L40) */
@container fs-nn (max-width:900px){
  .fs-nn a.fs-nn-ft-a,.fs-nn a.fs-nn-ft-legal-a{display:inline-block;padding-block:7px}
}
@media (pointer:coarse){
  .fs-nn a.fs-nn-ft-a,.fs-nn a.fs-nn-ft-legal-a{display:inline-block;padding-block:7px}
}
/* body{padding-bottom:78px}: room for the phone bar under the footer, only
   while the bar shows (nacre-mega.tsx sets data-fs-nn-bar and the room it
   takes, safe area included, on the theme scope; Task 8 review) */
[data-fs-nn-bar] .fs-nn-footer>.fs-nn-ft-cta{margin-bottom:max(78px,var(--fs-nn-bar-h,78px))}

@container fs-nn (max-width:1060px){
  .fs-nn-ft-cols{grid-template-columns:1fr 1fr}
}
@container fs-nn (max-width:760px){
  .fs-nn-ft-strip{grid-template-columns:repeat(3,1fr)}
  /* the source's phone .wrap{padding:0 18px} is a shorthand: it also clears
     the vertical padding of .wrap.ft-top and .wrap.ft-bot, so on a phone the
     export's top row and small print sit with no padding of their own
     (measured at 390, Task 10) */
  .fs-nn .fs-nn-ft-top,.fs-nn .fs-nn-ft-bot{padding-top:0;padding-bottom:0}
  .fs-nn-ft-cols{grid-template-columns:1fr;gap:28px}
  .fs-nn .fs-nn-ft-bot{flex-direction:column}
}
/* .ft-strip svg{transition:transform .6s}  .ft-strip button:hover svg{transform:scale(1.1)}: the motion section (nnLift) */

/* ── hover looks (not motion: the look a pointer gives; port Task 9) ──
   The source's hover looks that are colour, shadow or a line, shown only
   where a pointer can hover (a tap never leaves them stuck). Their
   MOVEMENT (lift, zoom, slide, sweep) is in the motion section below. */
/* .btn::after{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-20deg);pointer-events:none}
   .btn.alt::after,.btn.white::after{display:none} — the gloss waits off the button's left edge */
.fs-nn-btn::after{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(100deg,transparent,color-mix(in srgb,var(--fs-on-brand) 50%,transparent),transparent);transform:skewX(-20deg);pointer-events:none}
.fs-nn-btn-white::after,.fs-nn-btn-line::after{display:none}
/* .ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.45);pointer-events:none} — added by the runtime on a press */
.fs-nn-ripple{position:absolute;border-radius:50%;pointer-events:none;opacity:0;background:color-mix(in srgb,var(--fs-on-brand) 45%,transparent)}
@media (hover:hover){
  /* .btn:hover{box-shadow:0 12px 26px color-mix(in srgb,var(--pri) 38%,transparent)} (.btn.alt / .btn.white keep their own) */
  .fs-nn .fs-nn-btn:not(.fs-nn-btn-alt):not(.fs-nn-btn-white):not(.fs-nn-btn-line):hover{box-shadow:0 12px 26px color-mix(in srgb,rgb(var(--c-brand-600)) 38%,transparent)}
  /* .card.lift:hover{box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--pri) 40%,var(--line))} */
  .fs-nn-card:is(.fs-nn-svc,.fs-nn-tech,.fs-nn-offer,.fs-nn-icard):hover{box-shadow:var(--fs-nn-shadow);border-color:color-mix(in srgb,rgb(var(--c-brand-600)) 40%,rgb(var(--c-line)))}
  /* .link-arrow:hover{background-size:100% 2px} */
  .fs-nn .fs-nn-link-arrow:hover{background-size:100% 2px}
}
/* html[data-layout=minimal] .btn:hover{box-shadow:none}  .btn::after{display:none} */
[data-fs-layout="minimal"] .fs-nn .fs-nn-btn:hover{box-shadow:none}
[data-fs-layout="minimal"] .fs-nn-btn::after{display:none}
/* the gloss overlay a revealed item draws (inset:0, so it never needs
   overflow:hidden on its element); its own element keeps any position it
   has (zero specificity) */
:where([data-fs-motion="on"] .fs-nn-anim [data-fs-nn-in]){position:relative}

/* ══ motion (the source's own; port Task 9) ═════════════════════════════
   Every Nacre block movement in ONE place so the gates are the same for
   all:
     1. [data-fs-motion="on"] — the published site and the template preview
        at Motion On or Subtle; the editor canvas, Off and any surface
        without the shell match nothing and stay still,
     2. @media screen and (prefers-reduced-motion: no-preference),
     3. a hover movement also needs (hover:hover) (Harlow L43),
     4. the reveal also needs a block drawn 'rich' (.fs-nn-anim).
   Nothing outside this block sets a transition or an animation, so Off and
   reduced motion stop EVERYTHING the family moves, live (the runtime reads
   matchMedia and the attribute; the CSS follows them by itself).
   SUBTLE: travel x var(--fs-motion-dist) (0.3: the source's own -sub
   rules — button -0.6px, card -1.8px, arrow 1.2px, tile 1.02, the glint's
   -6deg), time x var(--fs-anim-speed) (1.7: its .9s → 1.53s gloss); where
   the source is stricter it wins (!important): a loop plays ONCE
   (html[data-motion=subtle] *{animation-iteration-count:1!important}),
   the marquee slows to 160s.
   LOOPS (N9, WCAG 2.2.2): the sparkles, the floating card, the status
   dots and the nav's pearl rest within 5 seconds; the marquee keeps moving
   under its own pause button.
   SWITCHES: each effect reads var(--fs-anim-<id>, <the source's value>),
   ids in themes/nacre.ts microAnimations (check:anim); the scripts read
   theirs in nacre-motion.ts (NN_ANIM_SWITCH, nnMayMove).
   FILL: backwards only, the end frame always the resting style. The reveal
   never hides content without the script: its hidden first frame is a
   PAUSED animation behind data-fs-nn-in="0", which only the runtime
   (useNnMotion) sets. No clip-path. The platform's slide-in, image fade,
   press and lift stand down on Nacre blocks (the block after this). */
@keyframes fs-nn-rise{from{opacity:0;transform:translateY(calc(16px * var(--fs-motion-dist, 1)))}to{opacity:1;transform:none}}
@keyframes fs-nn-shine{0%{background-position:160% -60%;opacity:0}16%{opacity:.85}55%{opacity:.85}100%{background-position:-60% 60%;opacity:0}}
@keyframes fs-nn-fadeup{from{opacity:0;transform:translateY(calc(12px * var(--fs-motion-dist, 1)))}to{opacity:1;transform:none}}
@keyframes fs-nn-pop{from{opacity:0;transform:scale(calc(1 - .7 * var(--fs-motion-dist, 1)))}to{opacity:1;transform:none}}
@keyframes fs-nn-rip{from{transform:scale(0);opacity:1}to{transform:scale(calc(2.6 * var(--fs-motion-dist, 1)));opacity:0}}
@keyframes fs-nn-glint{0%{opacity:0;transform:translateX(0) skewX(calc(-20deg * var(--fs-motion-dist, 1)))}15%{opacity:1}100%{opacity:0;transform:translateX(420%) skewX(calc(-20deg * var(--fs-motion-dist, 1)))}}
@keyframes fs-nn-mq{to{transform:translateX(-50%)}}
@keyframes fs-nn-tw{50%{transform:scale(calc(1 - .6 * var(--fs-motion-dist, 1))) rotate(calc(45deg * var(--fs-motion-dist, 1)));opacity:.4}}
@keyframes fs-nn-bob{50%{transform:translateY(calc(-9px * var(--fs-motion-dist, 1)))}}
@keyframes fs-nn-ping{0%{box-shadow:0 0 0 0 color-mix(in srgb,rgb(var(--fs-status-ok)) 55%,transparent)}70%{box-shadow:0 0 0 calc(9px * var(--fs-motion-dist, 1)) color-mix(in srgb,rgb(var(--fs-status-ok)) 0%,transparent)}100%{box-shadow:0 0 0 0 color-mix(in srgb,rgb(var(--fs-status-ok)) 0%,transparent)}}

/* screen only: a printed page shows every item, never a waiting one */
@media screen and (prefers-reduced-motion: no-preference){
  /* nnShine — the polish-shine reveal (.nac-shine .7s rise, then one
     diagonal gloss .9s, .18s in): section heads, cards, bands and
     questions rise as they scroll in, cards 70ms apart (d1…d4,
     --fs-nn-d set by the runtime); the review bars fill (1.2s) */
  [data-fs-motion="on"] .fs-nn-anim [data-fs-nn-in]{animation:var(--fs-anim-nnShine, fs-nn-rise calc(.7s * var(--fs-anim-speed, 1)) var(--fs-nn-ease) backwards);animation-delay:calc(var(--fs-nn-d, 0ms) * var(--fs-anim-speed, 1))}
  /* waiting to scroll in: held on the first frame, paused */
  [data-fs-motion="on"] .fs-nn-anim [data-fs-nn-in="0"]{animation-play-state:paused}
  [data-fs-motion="on"] .fs-nn-anim [data-fs-nn-in="1"]::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:inherit;opacity:0;mix-blend-mode:screen;background:linear-gradient(115deg,transparent 42%,color-mix(in srgb,var(--fs-on-brand) 82%,rgb(var(--c-accent))) 50%,transparent 58%);background-size:260% 260%;background-position:160% -60%;animation:var(--fs-anim-nnShine, fs-nn-shine calc(.9s * var(--fs-anim-speed, 1)) var(--fs-nn-ease) backwards);animation-delay:calc((180ms + var(--fs-nn-d, 0ms)) * var(--fs-anim-speed, 1))}
  [data-fs-motion="on"] .fs-nn-anim .fs-nn-rw-sum[data-fs-nn-in] .fs-nn-bar-i::after{transition:var(--fs-anim-nnShine, width calc(1.2s * var(--fs-anim-speed, 1)) var(--fs-nn-ease))}
  [data-fs-motion="on"] .fs-nn-anim .fs-nn-rw-sum[data-fs-nn-in="0"] .fs-nn-bar-i::after{width:0}

  /* nnRipple — the press ripple (.65s; the runtime adds it) */
  [data-fs-motion="on"] .fs-nn-ripple{animation:var(--fs-anim-nnRipple, fs-nn-rip calc(.65s * var(--fs-anim-speed, 1)) ease-out backwards)}

  /* nnLift — the moves the pointer gives: buttons rise 2px and a light
     sweeps across them (.25s / .8s), lifting cards rise 6px (.35s), the
     arrow link draws its line and steps 4px (.3s / .25s), pictures in the
     service cards, the gallery and the footer strip grow (.7s / .6s), a
     gallery caption rises in (.3s), the designer's and the hero's colour
     dots grow (.2s); colours and borders ease with them */
  [data-fs-motion="on"] .fs-nn .fs-nn-btn{transition:transform calc(.25s * var(--fs-anim-speed, 1)) var(--fs-nn-ease),box-shadow .25s,background-color .25s}
  [data-fs-motion="on"] .fs-nn .fs-nn-btn::after{transition:var(--fs-anim-nnLift, left calc(.8s * var(--fs-anim-speed, 1)) var(--fs-nn-ease))}
  [data-fs-motion="on"] .fs-nn .fs-nn-btn:active{transform:var(--fs-anim-nnLift, translateY(0))}
  [data-fs-motion="on"] .fs-nn-card:is(.fs-nn-svc,.fs-nn-tech,.fs-nn-offer,.fs-nn-icard){transition:transform calc(.35s * var(--fs-anim-speed, 1)) var(--fs-nn-ease),box-shadow .35s,border-color .35s}
  [data-fs-motion="on"] .fs-nn .fs-nn-link-arrow{transition:background-size calc(.3s * var(--fs-anim-speed, 1)) var(--fs-nn-ease)}
  [data-fs-motion="on"] .fs-nn-link-arrow .fs-nn-ic{transition:transform calc(.25s * var(--fs-anim-speed, 1))}
  [data-fs-motion="on"] :is(.fs-nn-tile,.fs-nn-gt)>:is(svg,.fs-nn-tile-photo,.fs-nn-gt-photo){transition:transform calc(.7s * var(--fs-anim-speed, 1)) var(--fs-nn-ease)}
  [data-fs-motion="on"] .fs-nn-ft-tile>:is(svg,.fs-nn-ft-photo){transition:transform calc(.6s * var(--fs-anim-speed, 1)) var(--fs-nn-ease)}
  [data-fs-motion="on"] .fs-nn-gt .fs-nn-gcap{transition:opacity .3s,transform calc(.3s * var(--fs-anim-speed, 1))}
  [data-fs-motion="on"] :is(.fs-nn-shade,.fs-nn-ih-dot){transition:transform calc(.2s * var(--fs-anim-speed, 1)),box-shadow .2s,opacity .2s}

  /* nnGlint — the hero: one highlight across the drawing on a change
     (.7s, never on load), the timeline's segments slide (.4s), a chosen
     option's pearl appears (.25s) and a pressed option sinks a little */
  [data-fs-motion="on"] .fs-nn-ih-glint[data-go]{animation:var(--fs-anim-nnGlint, fs-nn-glint calc(.7s * var(--fs-anim-speed, 1)) var(--fs-nn-ease) backwards)}
  [data-fs-motion="on"] .fs-nn-ih-seg{transition:var(--fs-anim-nnGlint, transform calc(.4s * var(--fs-anim-speed, 1)) var(--fs-nn-ease))}
  [data-fs-motion="on"] .fs-nn-ih-chip::after{transition:var(--fs-anim-nnGlint, transform calc(.25s * var(--fs-anim-speed, 1)) var(--fs-nn-ease))}
  [data-fs-motion="on"] .fs-nn-ih-chip{transition:border-color .2s,background-color .2s,box-shadow .2s,transform calc(.2s * var(--fs-anim-speed, 1))}
  [data-fs-motion="on"] .fs-nn-ih-opt:active>input:not(:disabled)+.fs-nn-ih-chip{transform:var(--fs-anim-nnGlint, scale(calc(1 - .02 * var(--fs-motion-dist, 1))))}

  /* nnOpen — an answer opens and shuts without a jump (.4s) and its plus
     turns (.3s; it rests at 45deg open in every level, Harlow L42) */
  [data-fs-motion="on"] .fs-nn-acc-a{transition:var(--fs-anim-nnOpen, grid-template-rows calc(.4s * var(--fs-anim-speed, 1)) var(--fs-nn-ease),visibility calc(.4s * var(--fs-anim-speed, 1)))}
  [data-fs-motion="on"] .fs-nn-acc-q .fs-nn-ic{transition:var(--fs-anim-nnOpen, transform calc(.3s * var(--fs-anim-speed, 1)) var(--fs-nn-ease))}
  [data-fs-motion="on"] .fs-nn-acc{transition:border-color .25s}

  /* nnPanels — a panel that changes comes up into place: the hygiene
     step's panel (.45s), the booking steps (.45s), the lightbox (.3s); the
     booking's tick pops (.6s); a stamp settles (.3s) */
  [data-fs-motion="on"] .fs-nn-hy-panel.is-on:not([hidden]){animation:var(--fs-anim-nnPanels, fs-nn-fadeup calc(.45s * var(--fs-anim-speed, 1)) var(--fs-nn-ease) backwards)}
  [data-fs-motion="on"] .fs-nn-bk-panel.is-on:not([hidden]){animation:var(--fs-anim-nnPanels, fs-nn-fadeup calc(.45s * var(--fs-anim-speed, 1)) var(--fs-nn-ease) backwards)}
  [data-fs-motion="on"] .fs-nn-lb[open]{animation:var(--fs-anim-nnPanels, fs-nn-fadeup calc(.3s * var(--fs-anim-speed, 1)) backwards)}
  [data-fs-motion="on"] .fs-nn-bk-tick{animation:var(--fs-anim-nnPanels, fs-nn-pop calc(.6s * var(--fs-anim-speed, 1)) var(--fs-nn-ease) backwards)}
  [data-fs-motion="on"] .fs-nn-stamp{transition:var(--fs-anim-nnPanels, all calc(.3s * var(--fs-anim-speed, 1)) var(--fs-nn-ease))}

  /* nnMarquee — the words strip glides (34s, a loop: it has its own
     pause button, and holds under the pointer or focus; Subtle 160s) */
  [data-fs-motion="on"] .fs-nn-anim .fs-nn-mq-track{animation:var(--fs-anim-nnMarquee, fs-nn-mq calc(34s * var(--fs-anim-speed, 1)) linear infinite)}
  [data-fs-motion="on"] .fs-nn-anim.is-paused .fs-nn-mq-track{animation-play-state:paused}

  /* nnTwinkle — the hero art's sparkles twinkle (3.4s) and the floating
     card bobs (6s, from 4s in: 2s) once each, then rest (N9) */
  [data-fs-motion="on"] .fs-nn-anim .fs-nn-spark{transform-box:fill-box;transform-origin:center;animation:var(--fs-anim-nnTwinkle, fs-nn-tw min(5s, calc(3.4s * var(--fs-anim-speed, 1))) ease-in-out 1)}
  [data-fs-motion="on"] .fs-nn-anim .fs-nn-float{animation:var(--fs-anim-nnTwinkle, fs-nn-bob calc(6s * var(--fs-anim-speed, 1)) ease-in-out calc(-4s * var(--fs-anim-speed, 1)) 1)}

  /* nnPing — the open dot (the today strip, the footer) sends two soft
     rings, then rests (the source's 1.8s loop, N9) */
  [data-fs-motion="on"] .fs-nn-anim .fs-nn-dot:not(.is-closed):not(.is-wait),[data-fs-motion="on"] .fs-nn-anim .fs-nn-ft-status:not(.is-closed)>i{animation:var(--fs-anim-nnPing, fs-nn-ping min(2.5s, calc(1.8s * var(--fs-anim-speed, 1))) 2)}

  /* colour and outline changes ease (.2s–.3s), as the source's; no
     switch: nothing travels */
  [data-fs-motion="on"] .fs-nn-bld-opt .fs-nn-chip,[data-fs-motion="on"] .fs-nn-shape{transition:all .2s}
  [data-fs-motion="on"] .fs-nn-mp-add{transition:all .2s}
  [data-fs-motion="on"] :is(.fs-nn-chip,.fs-nn-hy-step,.fs-nn-bk-svc,.fs-nn-bk-day,.fs-nn-bk-time){transition:border-color .2s,background-color .2s,color .2s,box-shadow .2s}

  /* SUBTLE, where the source is stricter: a loop plays once, the marquee
     slows to 160s */
  [data-fs-motion="on"][data-fs-motion-level="subtle"] .fs-nn-anim :is(.fs-nn-spark,.fs-nn-float,.fs-nn-dot),[data-fs-motion="on"][data-fs-motion-level="subtle"] .fs-nn-anim .fs-nn-ft-status>i{animation-iteration-count:1 !important}
  [data-fs-motion="on"][data-fs-motion-level="subtle"] .fs-nn-anim .fs-nn-mq-track{animation-duration:160s}
}
@media screen and (prefers-reduced-motion: no-preference) and (hover:hover){
  /* the strip holds under the pointer */
  [data-fs-motion="on"] .fs-nn-anim .fs-nn-mq-track:hover{animation-play-state:paused}
  [data-fs-motion="on"] .fs-nn .fs-nn-btn:hover{transform:var(--fs-anim-nnLift, translateY(calc(-2px * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] .fs-nn .fs-nn-btn:hover:active{transform:var(--fs-anim-nnLift, translateY(0))}
  [data-fs-motion="on"] .fs-nn .fs-nn-btn:hover::after{left:140%}
  [data-fs-motion="on"] .fs-nn-card:is(.fs-nn-svc,.fs-nn-tech,.fs-nn-offer,.fs-nn-icard):hover{transform:var(--fs-anim-nnLift, translateY(calc(-6px * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] .fs-nn-link-arrow:hover .fs-nn-ic{transform:var(--fs-anim-nnLift, translateX(calc(4px * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] .fs-nn-svc:hover .fs-nn-tile>:is(svg,.fs-nn-tile-photo){transform:var(--fs-anim-nnLift, scale(calc(1 + .07 * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] .fs-nn-gt:not(.is-ed):hover>:is(svg,.fs-nn-gt-photo){transform:var(--fs-anim-nnLift, scale(calc(1 + .08 * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] a.fs-nn-ft-tile:hover>:is(svg,.fs-nn-ft-photo){transform:var(--fs-anim-nnLift, scale(calc(1 + .1 * var(--fs-motion-dist, 1))))}
  /* the caption's rise (.gt .gcap{transform:translateY(8px)} → none on
     hover / focus), only on a device that hovers (6c review); none where
     the captions always show (≤760) */
  [data-fs-motion="on"] .fs-nn-gt:not(.is-ed) .fs-nn-gcap{transform:var(--fs-anim-nnLift, translateY(calc(8px * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] .fs-nn-gt:hover .fs-nn-gcap,[data-fs-motion="on"] .fs-nn-gt:focus-visible .fs-nn-gcap{transform:none}
  @container fs-nn (max-width:760px){[data-fs-motion="on"] .fs-nn-gt:not(.is-ed) .fs-nn-gcap{transform:none}}
  [data-fs-motion="on"] .fs-nn-bld-sw:hover>input:not(:checked)+.fs-nn-shade{transform:var(--fs-anim-nnLift, scale(calc(1 + .12 * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] .fs-nn-ih-sw:hover>input:not(:disabled):not(:checked)+.fs-nn-ih-dot{transform:var(--fs-anim-nnLift, scale(calc(1 + .1 * var(--fs-motion-dist, 1))))}
}

/* ══ Section blocks, batch 6b ════════════════════════════════════ */
/* favNnMenu — .mp{display:grid;grid-template-columns:1.5fr .8fr;gap:40px;align-items:start}  .mp-tabs{…;margin-bottom:10px} */
.fs-nn-mp{display:grid;grid-template-columns:1.5fr .8fr;gap:40px;align-items:start}
.fs-nn-mp-tabs{margin-bottom:10px}
/* .mp-row{display:grid;grid-template-columns:1fr auto;gap:6px 22px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}
   .mp-row b{font-family:var(--serif);font-weight:500;font-size:1.15rem;display:block}  .mp-row small{color:var(--mute);display:block;max-width:420px} */
.fs-nn-mp-row{display:grid;grid-template-columns:1fr auto;gap:6px 22px;align-items:center;padding:18px 0;border-bottom:1px solid rgb(var(--c-line))}
.fs-nn-mp-name{font-family:var(--font-display,'DM Serif Display',Georgia,serif);font-weight:500;font-size:1.15rem;display:block}
/* small: the UA's font-size:smaller, not the platform reset's 80% */
.fs-nn-mp-d{color:rgb(var(--c-ink-400));display:block;max-width:420px;font-size:smaller}
/* .mp-row .dur{color:var(--mute);font-size:.88rem;font-weight:500;text-align:right;white-space:nowrap}
   .mp-row .pr{font-weight:700;color:var(--link);min-width:64px;text-align:right}  .mp-row-end{display:flex;align-items:center;gap:18px;justify-content:flex-end} */
.fs-nn-mp-end{display:flex;align-items:center;gap:18px;justify-content:flex-end}
.fs-nn-mp-dur{color:rgb(var(--c-ink-400));font-size:.88rem;font-weight:500;text-align:right;white-space:nowrap}
.fs-nn-mp-pr{font-weight:700;color:rgb(var(--c-brand-text));min-width:64px;text-align:right}
/* .mp-add{width:38px;height:38px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;transition:all .2s;color:var(--link)}
   .mp-add:hover{border-color:var(--pri)}  .mp-add.on{background:var(--pri);border-color:var(--pri);color:#fff}  .mp-add .ic{width:18px;height:18px} */
.fs-nn-mp-add{width:38px;height:38px;flex:none;border-radius:50%;border:1.5px solid rgb(var(--c-line));display:grid;place-items:center;color:rgb(var(--c-brand-text));background:none;padding:0;cursor:pointer}
.fs-nn-mp-add:hover{border-color:rgb(var(--c-brand-600))}
.fs-nn-mp-add.is-on{background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));color:var(--fs-on-brand)}
.fs-nn-mp-add .fs-nn-ic{width:18px;height:18px}
.fs-nn-mp-add:focus-visible{outline:3px solid rgb(var(--c-brand-text));outline-offset:3px}
/* .mp-sum{position:sticky;top:calc(var(--studio-h) + 110px);background:var(--surf);border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:var(--shadow)}
   — under the platform header, as the review summary (L18) */
.fs-nn-mp-sum{position:sticky;top:calc(var(--fs-header-h,0px) + 20px);background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));border-radius:28px;padding:28px;box-shadow:var(--fs-nn-shadow)}
/* .mp-sum ul{list-style:none;display:grid;gap:8px;margin:14px 0;font-size:.92rem;min-height:48px}
   .mp-sum li{display:flex;justify-content:space-between;gap:10px;color:var(--mute)}  .mp-sum li.empty{display:block}  .mp-empty{color:var(--mute);font-size:.88rem} */
.fs-nn-mp-ul{list-style:none;display:grid;gap:8px;margin:14px 0;padding:0;font-size:.92rem;min-height:48px}
/* classed, so the platform .fs-typo li:not([class]) rule (line-height 1.6) stays off */
.fs-nn-mp-ul>li{display:flex;justify-content:space-between;gap:10px;color:rgb(var(--c-ink-400));line-height:1.62}
.fs-nn-mp-ul>li.fs-nn-mp-empty{display:block;font-size:.88rem}
/* .mp-tot{display:flex;justify-content:space-between;align-items:baseline;padding-top:14px;border-top:1px solid var(--line)}
   .mp-tot b{font-family:var(--serif);font-size:2.2rem;font-weight:400;color:var(--link);line-height:1}  .mp-time{color:var(--mute);font-size:.88rem;margin:6px 0 16px} */
.fs-nn-mp-tot{display:flex;justify-content:space-between;align-items:baseline;padding-top:14px;border-top:1px solid rgb(var(--c-line))}
.fs-nn-mp-tot>b{font-family:var(--font-display,'DM Serif Display',Georgia,serif);font-size:2.2rem;font-weight:400;color:rgb(var(--c-brand-text));line-height:1}
.fs-nn .fs-nn-mp-time{color:rgb(var(--c-ink-400));font-size:.88rem;margin:6px 0 16px}
/* <a class="btn" style="width:100%"> */
.fs-nn .fs-nn-mp-book{width:100%}

/* .mp-add{transition:all .2s}: the motion section */
@container fs-nn (max-width:1060px){
  .fs-nn-mp{grid-template-columns:1fr}
  .fs-nn-mp-sum{position:static}
}
@container fs-nn (max-width:760px){
  .fs-nn-mp-row{grid-template-columns:1fr}
  .fs-nn-mp-end{justify-content:space-between}
  .fs-nn-mp-pr{text-align:left}
  .fs-nn-mp-sum{padding:24px 20px}
}

/* ── platform motion stands down on Nacre blocks ────────────────
   Nacre's own reveals ARE the motion on its blocks (port Task 9), so
   the platform baseline stands down through its own off-vars. */
[data-fs-blocktype^="favNn"]{--fs-anim-fs-sectionin-name:none}
.fs-nn{--fs-anim-fs-imgin-name:none;--fs-anim-fs-press:none;--fs-anim-fs-lift-prop:none;--fs-anim-fs-lift-t:none}


/* ── family root ──────────────────────────────────────────────── */
.fs-hth{
  container-type:inline-size;container-name:fs-hth;
  position:relative;
  color:rgb(var(--c-ink-950));
  font-family:var(--font-sans,'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif);
  font-size:1.0625rem;line-height:1.6;
  -webkit-font-smoothing:antialiased;
  --fs-hth-terra-light:color-mix(in srgb,rgb(var(--c-brand-600)) 65%,#FF805A);
  --fs-hth-sage:#7D9B76;
  --fs-hth-sage-rgb:125 155 118;
  --fs-hth-sky:#A9CFE0;
  --fs-hth-rose:#E9A6A0;
  --fs-hth-blue:#5B7DB1;
  --fs-hth-white:#ffffff;
  /* the words on a brand fill follow the palette's onBrand; on the fixed sage they stay white */
  --fs-hth-on-brand:var(--fs-on-brand,#ffffff);
  --fs-hth-chip-hover:#F3E8D4;
  /* neutral overlays and shadows: the same in both modes by design (black
     or white at a low alpha reads on whatever is under it), declared once */
  --fs-hth-glass:rgba(255,255,255,.1);
  --fs-hth-glass-hi:rgba(255,255,255,.14);
  --fs-hth-shade-lo:rgba(0,0,0,.08);
  --fs-hth-shade-inset:rgba(0,0,0,.25);
  --fs-hth-shade-note:rgba(0,0,0,.2);
  --fs-hth-shade-pin:rgba(0,0,0,.35);
  --fs-hth-scrim:rgba(42,36,32,.55);
  --fs-hth-tag-food:#F6D9A0;
  --fs-hth-tag-out:#CFE0C6;
  --fs-hth-tag-learn:#D5DFF0;
  --fs-hth-tag-family:#F5CFCB;
  /* the noticeboard's fixed constants (port log: note paper, cork, frame, pin) */
  --fs-hth-note-yellow:#FFF7C9;
  --fs-hth-note-pink:#FFD9D2;
  --fs-hth-note-blue:#D6E8F2;
  --fs-hth-note-green:#DDEBCB;
  --fs-hth-note-sig:#6B5D50;
  --fs-hth-cork:#C99A68;
  --fs-hth-cork-dot:rgba(70,40,15,.28);
  --fs-hth-cork-frame:#8A5A3B;
  --fs-hth-pin-hi:#FF8F7D;
  --fs-hth-pin-lo:#C23B22;
  /* the volunteer band's end, the bar's second stripe, the meter card (dark card in light, surface card in dark) */
  --fs-hth-band-end:#F6EAD6;
  --fs-hth-stripe:#F2C870;
  --fs-hth-meter-bg:rgb(var(--c-ink-950));
  --fs-hth-meter-fg:rgb(var(--c-paper));
  --fs-hth-radius:18px;
  --fs-hth-shadow:5px 5px 0 rgb(var(--c-ink-950));
  /* the street picture's fixed colours (hearthway-art.tsx): neutrals, family
     tints and the source's nine illustration tints. The hues that are the
     palette (mustard, terracotta) read the theme instead. */
  --fs-hth-art-ink:#2A2420;
  --fs-hth-art-cream:#FBF5EA;
  --fs-hth-art-paper:#FFFDF8;
  --fs-hth-art-sky:#A9CFE0;
  --fs-hth-art-sage:#7D9B76;
  --fs-hth-art-rose:#E9A6A0;
  --fs-hth-art-blue:#5B7DB1;
  --fs-hth-art-brown:#8A5A3B;
  --fs-hth-art-glow:#FBE3A6;
  --fs-hth-art-sun:#F3C969;
  --fs-hth-art-hill:#9DB894;
  --fs-hth-art-leaf:#6F9868;
  --fs-hth-art-leaf-dark:#5E8559;
  --fs-hth-art-skin:#C68B65;
  --fs-hth-art-skin-dark:#7A5238;
  --fs-hth-art-cat:#8F8A86;
  --fs-hth-art-pavement:#EADFC9;
  --fs-hth-art-road:#4A403A;
}
.fs-hth *,.fs-hth *::before,.fs-hth *::after{box-sizing:border-box}
.fs-hth-wire{filter:grayscale(1) contrast(.5)}
:where(.fs-hth) a{color:inherit}
.fs-hth img{max-width:100%;height:auto;display:block}
.fs-hth [hidden]{display:none !important}

/* ── base: .wrap, type, .center, .sr, .eyebrow, .lead ─────────── */
/* .wrap{width:min(1180px,100% - 32px);margin-inline:auto} — the width
   follows a Site Settings layout first (--fs-layout-max), then the
   theme's shell. */
.fs-hth-wrap{
  width:min(var(--fs-layout-max,var(--fs-shell-max,1180px)),100% - 32px);
  margin-inline:auto;
}
.fs-hth h1,.fs-hth h2,.fs-hth h3,.fs-hth h4{
  font-family:var(--font-display,'Fraunces',Georgia,serif);
  font-weight:700;line-height:1.08;letter-spacing:-.01em;margin:0 0 .5em;color:rgb(var(--c-ink-950));
}
.fs-hth p{margin:0 0 1em}
.fs-hth-center{text-align:center}
.fs-hth-sr{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fs-hth-skip{position:absolute;left:-999px;top:8px;background:rgb(var(--c-ink-950));color:rgb(var(--c-paper));padding:8px 14px;border-radius:8px;z-index:100}
.fs-hth-skip:focus{left:8px}
.fs-hth :focus-visible{outline:3px solid var(--fs-hth-blue);outline-offset:3px}
.fs-hth .fs-hth-eyebrow{
  display:inline-flex;align-items:center;gap:.55em;
  font-weight:700;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;
  color:rgb(var(--c-brand-text,var(--c-brand-600)));margin-bottom:.9em;
}
.fs-hth-eyebrow.fs-hth-center{display:block}
.fs-hth-eyebrow .fs-hth-dot{width:10px;height:10px;border-radius:50%;background:var(--fs-hth-sage);box-shadow:0 0 0 4px rgb(var(--fs-hth-sage-rgb) / .3)}
.fs-hth-lead{font-size:1.2rem;color:rgb(var(--c-ink-400));max-width:34em}

/* ── buttons & chips ──────────────────────────────────────────── */
.fs-hth-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  background:rgb(var(--c-brand-600));color:var(--fs-hth-on-brand);
  font:inherit;font-weight:700;text-decoration:none;
  padding:.8em 1.4em;
  border:2px solid rgb(var(--c-ink-950));border-radius:999px;
  box-shadow:4px 4px 0 rgb(var(--c-ink-950));
  cursor:pointer;
}
.fs-hth-btn-ghost{background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950))}
.fs-hth-btn-yellow{background:rgb(var(--c-accent));color:var(--fs-hth-art-ink)}
.fs-hth-btn-small{padding:.55em 1.1em;font-size:.95rem}
.fs-hth-chip{
  font:inherit;font-weight:500;font-size:.95rem;
  padding:.45em 1.05em;
  border:2px solid rgb(var(--c-ink-950));border-radius:999px;
  background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));
  cursor:pointer;
}
.fs-hth-chip:hover{background:var(--fs-hth-chip-hover)}
.fs-hth-chip.is-active{background:rgb(var(--c-ink-950));color:rgb(var(--c-paper))}
/* the source's light hover cream would be a light patch under light text in dark: lift the card colour toward the text instead */
.dark .fs-hth:not(:where(.fs-preview-light *)){--fs-hth-chip-hover:color-mix(in srgb,rgb(var(--c-paper-soft)) 86%,rgb(var(--c-ink-950)));--fs-hth-band-end:color-mix(in srgb,rgb(var(--c-paper)) 88%,rgb(var(--c-accent)));--fs-hth-meter-bg:rgb(var(--c-paper-soft));--fs-hth-meter-fg:rgb(var(--c-ink-950))}
.dark .fs-hth:not(:where(.fs-preview-light *)) .fs-hth-meter-card{box-shadow:12px 12px 0 var(--fs-hth-terra-light),inset 0 0 0 2px rgb(var(--c-ink-950))}

/* ── the hand-written accent (Caveat) ─────────────────────────── */
.fs-hth-hand{font-family:var(--font-accent,inherit);font-weight:700}

/* ── headings: the italic clause (.hero h1 em) ────────────────── */
.fs-hth-h em{
  font-style:italic;color:rgb(var(--c-brand-text,var(--c-brand-600)));
  background:linear-gradient(transparent 64%,rgb(var(--c-accent) / .7) 64% 90%,transparent 90%);
  padding:0 .08em;
}

/* ── shared: section head, section h2 (.section, .section-head) ── */
.fs-hth-section-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 32px;margin-bottom:40px}
.fs-hth-section-head .fs-hth-h2{margin:0}
.fs-hth-h2{font-size:clamp(2rem,4.2cqw,3.2rem)}

/* ── editor-only marks: a default that a real site would hide ─── */
.fs-hth [data-hth-sample]{outline:2px dashed rgb(var(--c-ink-400) / .7);outline-offset:3px}
.fs-hth [data-hth-sample]::after{
  content:attr(data-hth-sample);position:absolute;top:-12px;right:10px;z-index:3;
  padding:0 6px;border-radius:4px;font:700 .68rem/1.5 var(--font-sans,system-ui,sans-serif);letter-spacing:.04em;text-transform:none;white-space:nowrap;
  background:rgb(var(--c-paper));color:rgb(var(--c-ink-400));border:1px dashed rgb(var(--c-ink-400) / .7);
}
.fs-hth-ed{position:relative;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px 16px;margin:0 auto 20px;max-width:var(--fs-layout-max,var(--fs-shell-max,1180px));padding:12px;border:1px dashed rgb(var(--c-ink-400) / .6);border-radius:6px;font-size:.8125rem;line-height:1.4;color:rgb(var(--c-ink-950));background:rgb(var(--c-paper))}
.fs-hth-ed>div::before{content:attr(data-ed);display:block;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
/* an image slot over a drawing: the drawing shows through an empty one */
.fs-hth-slot[data-empty]>[data-editable]{background:transparent}
.fs-hth-slot[data-empty]>[data-editable]>span:first-child{visibility:hidden}

/* ── favHthHero (.hero, .hero h1, .cta-row, .hero-stats, .hero-art, .sticker) ── */
.fs-hth-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center;padding:76px 0 104px}
.fs-hth-hero-copy{min-width:0}
.fs-hth .fs-hth-hero-h1{font-size:clamp(2.5rem,5.4cqw,4.5rem);font-weight:800}
.fs-hth-hero-h1 em{
  font-style:italic;color:rgb(var(--c-brand-text,var(--c-brand-600)));
  background:linear-gradient(transparent 64%,rgb(var(--c-accent) / .7) 64% 90%,transparent 90%);
  padding:0 .08em;
}
/* Dark only (final review I3): the source has no dark set; the italic coral on the full mustard stripe read about 1.5:1, so the stripe is a faint tint there. */
.dark .fs-hth:not(:where(.fs-preview-light *)) .fs-hth-hero-h1 em,.dark .fs-hth:not(:where(.fs-preview-light *)) .fs-hth-h em{background:linear-gradient(transparent 64%,rgb(var(--c-accent) / .2) 64% 90%,transparent 90%)}
.fs-hth-cta-row{display:flex;flex-wrap:wrap;gap:14px;margin:30px 0 34px}
.fs-hth-hero-stats{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px}
.fs-hth-hero-stats li{position:relative;background:rgb(var(--c-paper-soft));border:2px solid rgb(var(--c-ink-950));border-radius:999px;padding:.35em 1em;font-size:.95rem}
.fs-hth-hero-stats strong{font-family:var(--font-display,'Fraunces',Georgia,serif);font-size:1.1rem;margin-right:.2em}
.fs-hth-hero-art{position:relative;margin:0}
.fs-hth-hero-art .fs-hth-street{width:100%;height:auto;display:block;border-radius:32px;box-shadow:10px 10px 0 rgb(var(--c-ink-950))}
.fs-hth-hero-art .fs-hth-slot{position:absolute;inset:0}
.fs-hth-hero-art .fs-hth-slot>*,.fs-hth-hero-art .fs-hth-slot img{width:100%;height:100%}
.fs-hth-hero-art .fs-hth-slot img{object-fit:cover;border-radius:32px;box-shadow:10px 10px 0 rgb(var(--c-ink-950))}
.fs-hth-hero-art[data-has-img] .fs-hth-slot{position:relative;aspect-ratio:4/3}
.fs-hth-sticker{
  position:absolute;left:-22px;bottom:-28px;
  width:128px;height:128px;border-radius:50%;
  display:grid;place-items:center;text-align:center;
  background:rgb(var(--c-accent));color:rgb(var(--c-ink-950));border:2px solid rgb(var(--c-ink-950));box-shadow:4px 4px 0 rgb(var(--c-ink-950));
  font:700 .95rem/1.15 var(--font-display,'Fraunces',Georgia,serif);
  transform:rotate(-12deg);
}

/* ── favHthSteps (.steps, .step-list, .num) ───────────────────── */
.fs-hth-steps{background:var(--fs-hth-sage);border-block:2px solid rgb(var(--c-ink-950));color:var(--fs-hth-white)}
.fs-hth-steps>.fs-hth-wrap{padding-block:44px}
.fs-hth-step-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.fs-hth-step-list li{display:flex;gap:16px;align-items:flex-start}
.fs-hth .fs-hth-step-h{font-size:1.35rem;margin-bottom:.25em;color:inherit}
.fs-hth .fs-hth-step-p{margin:0;font-size:.98rem;opacity:.95}
.fs-hth-num{
  flex:none;width:48px;height:48px;border-radius:50%;
  display:grid;place-items:center;
  background:rgb(var(--c-paper));color:rgb(var(--c-ink-950));border:2px solid rgb(var(--c-ink-950));
  font:800 1.4rem var(--font-display,'Fraunces',Georgia,serif);
}

/* ── favHthGroups (.groups-section, .groups, .group, .icon) ───── */
.fs-hth-groups{background:rgb(var(--c-paper-soft));border-block:2px solid rgb(var(--c-ink-950))}
.fs-hth-groups>.fs-hth-wrap{padding-block:100px}
.fs-hth-group-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:20px}
.fs-hth-group{
  position:relative;display:block;text-decoration:none;padding:24px;
  background:rgb(var(--c-paper));border:2px solid rgb(var(--c-ink-950));border-radius:var(--fs-hth-radius);
}
.fs-hth-icon{
  width:58px;height:58px;display:grid;place-items:center;margin-bottom:16px;
  background:var(--c,var(--fs-hth-sky));border:2px solid var(--fs-hth-art-ink);border-radius:16px;
}
.fs-hth-icon svg,.fs-hth-glyph{width:30px;height:30px;fill:none;stroke:var(--fs-hth-art-ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.fs-hth .fs-hth-group-h{font-size:1.25rem;margin-bottom:.3em}
.fs-hth .fs-hth-group-p{font-size:.95rem;color:rgb(var(--c-ink-400));margin-bottom:.9em}
.fs-hth-group small{font-weight:700;font-size:.84rem}

/* ── favHthEvents (.events, .event, .date, .tag, .meta, .going, .empty) ── */
.fs-hth-events>.fs-hth-wrap{padding-block:100px}
.fs-hth-filters{display:flex;flex-wrap:wrap;gap:8px}
.fs-hth-event-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:26px}
.fs-hth-event{
  position:relative;display:flex;gap:18px;padding:22px;
  background:rgb(var(--c-paper-soft));border:2px solid rgb(var(--c-ink-950));border-radius:var(--fs-hth-radius);box-shadow:var(--fs-hth-shadow);
}
.fs-hth-event-body{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.fs-hth .fs-hth-event-h{font-size:1.35rem;margin-bottom:.35em}
.fs-hth .fs-hth-event-p{font-size:.97rem;color:rgb(var(--c-ink-400))}
.fs-hth-date{
  flex:none;align-self:flex-start;width:66px;text-align:center;
  background:rgb(var(--c-paper));border:2px solid rgb(var(--c-ink-950));border-radius:12px;overflow:hidden;
}
.fs-hth-date span{display:block;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:3px 0}
.fs-hth-date span:first-child{background:rgb(var(--c-brand-600));color:var(--fs-hth-on-brand);border-bottom:2px solid rgb(var(--c-ink-950))}
.fs-hth-date strong{display:block;font:800 1.9rem/1 var(--font-display,'Fraunces',Georgia,serif);padding-top:6px}
.fs-hth-tag{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:.25em .7em;border-radius:6px;margin-bottom:.7em;background:var(--fs-hth-sky);color:var(--fs-hth-art-ink)}
.fs-hth-tag-food{background:var(--fs-hth-tag-food)}
.fs-hth-tag-out{background:var(--fs-hth-tag-out)}
.fs-hth-tag-learn{background:var(--fs-hth-tag-learn)}
.fs-hth-tag-family{background:var(--fs-hth-tag-family)}
.fs-hth .fs-hth-meta{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:.88rem;font-weight:500;color:rgb(var(--c-ink-950))}
.fs-hth-meta span::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:rgb(var(--c-brand-600));margin-right:7px;vertical-align:2px}
.fs-hth-going{
  margin-top:auto;
  font:inherit;font-size:.9rem;font-weight:700;
  padding:.45em 1em;border-radius:999px;
  border:2px solid rgb(var(--c-ink-950));background:rgb(var(--c-paper));color:rgb(var(--c-ink-950));
  cursor:pointer;
}
.fs-hth-going[aria-pressed="true"]{background:var(--fs-hth-sage);color:var(--fs-hth-white)}
.fs-hth .fs-hth-empty{margin-top:24px;font-style:italic;color:rgb(var(--c-ink-400))}

/* ── favHthVoices (.voices, .voice, .avatar) ──────────────────── */
.fs-hth-voices>.fs-hth-wrap{padding-block:100px}
.fs-hth-voice-list{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:40px}
.fs-hth-voice{
  position:relative;margin:0;padding:30px 28px;
  background:rgb(var(--c-paper-soft));border:2px solid rgb(var(--c-ink-950));border-radius:var(--fs-hth-radius);
  display:flex;flex-direction:column;justify-content:space-between;gap:22px;
}
.fs-hth-voice:nth-child(2){transform:translateY(18px)}
.fs-hth-voice .fs-hth-quote{margin:0;font:500 1.2rem/1.45 var(--font-display,'Fraunces',Georgia,serif)}
.fs-hth-voice .fs-hth-quote::before{content:"“";display:block;font:800 3.6rem/.6 var(--font-display,'Fraunces',Georgia,serif);color:rgb(var(--c-brand-text,var(--c-brand-600)));margin-bottom:8px}
.fs-hth-voice figcaption{display:flex;align-items:center;gap:12px;font-size:.92rem;color:rgb(var(--c-ink-400))}
.fs-hth-voice figcaption strong{display:block;color:rgb(var(--c-ink-950))}
.fs-hth-avatar{
  position:relative;overflow:hidden;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;flex:none;
  background:var(--c,var(--fs-hth-sky));border:2px solid rgb(var(--c-ink-950));
  font:800 1.2rem var(--font-display,'Fraunces',Georgia,serif);color:var(--fs-hth-art-ink);
}
.fs-hth-avatar .fs-hth-slot{position:absolute;inset:0;border-radius:50%;overflow:hidden}
.fs-hth-avatar .fs-hth-slot>*,.fs-hth-avatar .fs-hth-slot img{width:100%;height:100%;object-fit:cover}
/* the editor-only "Sample: replace with a real review" marker (E11) */
.fs-hth-sample-review{display:block;margin:0;font-size:.75rem;font-weight:800;letter-spacing:.04em;color:rgb(var(--c-ink-400));border:1px dashed rgb(var(--c-ink-400) / .7);border-radius:6px;padding:3px 8px;width:max-content;max-width:100%}
.fs-hth-sample-review::before{content:attr(data-note)}

/* ── favHthBoard (.board-wrap, .board-intro, .hint, .board, .note, dialog) ── */
.fs-hth-board>.fs-hth-wrap{padding-block:100px}
.fs-hth-board-wrap{display:grid;grid-template-columns:.8fr 1.6fr;gap:56px;align-items:start}
.fs-hth-board-intro{position:sticky;top:110px}
.fs-hth .fs-hth-hint{font-size:.9rem;color:rgb(var(--c-ink-400));margin-top:1em}
.fs-hth .fs-hth-pin-status{margin:0;font-size:.9rem;font-weight:500}
.fs-hth .fs-hth-pin-status:not(:empty){margin:0 0 1em}
.fs-hth .fs-hth-pin-status.is-fail{color:rgb(var(--c-brand-text,var(--c-brand-600)))}
.fs-hth-cork{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));gap:24px;padding:30px;
  background:var(--fs-hth-cork) radial-gradient(circle at 1px 1px,var(--fs-hth-cork-dot) 1px,transparent 1.6px) 0 0 / 9px 9px;
  border:14px solid var(--fs-hth-cork-frame);border-radius:14px;
  box-shadow:inset 0 2px 10px var(--fs-hth-shade-inset),8px 8px 0 rgb(var(--c-ink-950));
  outline:2px solid rgb(var(--c-ink-950));
}
.fs-hth-note{
  position:relative;padding:28px 18px 16px;
  background:var(--fs-hth-note-yellow);color:var(--fs-hth-art-ink);
  font:500 1.28rem/1.15 var(--font-accent,'Caveat','Comic Sans MS',cursive);
  box-shadow:2px 7px 12px var(--fs-hth-shade-note);
  transform:rotate(var(--r,-1.6deg));
}
.fs-hth-note:nth-child(3n+2){--r:1.8deg}
.fs-hth-note:nth-child(3n){--r:-.6deg}
.fs-hth-note:nth-child(4n){--r:2.4deg}
.fs-hth-note:hover{z-index:2}
.fs-hth-note::before{
  content:"";position:absolute;top:8px;left:50%;
  width:16px;height:16px;margin-left:-8px;border-radius:50%;
  background:radial-gradient(circle at 35% 35%,var(--fs-hth-pin-hi),var(--fs-hth-pin-lo) 62%);
  box-shadow:1px 2px 2px var(--fs-hth-shade-pin);
}
.fs-hth .fs-hth-note-kind{display:block;font:700 .8rem var(--font-sans,'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif);letter-spacing:.12em;margin-bottom:.45em}
.fs-hth .fs-hth-sig{display:block;margin-top:.6em;font-size:1.05rem;color:var(--fs-hth-note-sig)}
.fs-hth-note-pink{background:var(--fs-hth-note-pink)}
.fs-hth-note-blue{background:var(--fs-hth-note-blue)}
.fs-hth-note-green{background:var(--fs-hth-note-green)}

/* the pin-a-note dialog (dialog, #note-form, .colours, .dialog-actions) */
.fs-hth-dialog{
  width:min(460px,100% - 32px);padding:28px;
  border:2px solid rgb(var(--c-ink-950));border-radius:22px;box-shadow:8px 8px 0 rgb(var(--c-ink-950));
  background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));
}
.fs-hth-dialog::backdrop{background:var(--fs-hth-scrim);backdrop-filter:blur(3px)}
.fs-hth-note-form{display:grid;gap:14px;margin:0}
.fs-hth .fs-hth-dialog-h{font-size:1.5rem;margin:0}
.fs-hth-flabel{display:grid;gap:6px;font-weight:700;font-size:.9rem}
.fs-hth-input{
  font:inherit;font-weight:400;font-size:1rem;color:rgb(var(--c-ink-950));
  padding:.7em .9em;border:2px solid rgb(var(--c-ink-950));border-radius:12px;background:rgb(var(--c-paper));
}
.fs-hth .fs-hth-input:focus{outline:none;box-shadow:0 0 0 3px rgb(var(--c-accent))}
.fs-hth-colours{border:0;padding:0;margin:0;min-width:0;display:flex;flex-wrap:wrap;gap:8px}
.fs-hth-legend{width:100%;font-weight:700;font-size:.9rem;margin-bottom:8px;padding:0}
.fs-hth-colour-pick{display:block;position:relative;cursor:pointer}
.fs-hth-colour-pick input{position:absolute;opacity:0;pointer-events:none}
.fs-hth-colour{
  display:inline-block;padding:.35em .9em;border:2px solid rgb(var(--c-ink-950));border-radius:8px;
  background:var(--c);color:var(--fs-hth-art-ink);font-weight:500;font-size:.9rem;
}
.fs-hth-colour-yellow{--c:var(--fs-hth-note-yellow)}
.fs-hth-colour-pink{--c:var(--fs-hth-note-pink)}
.fs-hth-colour-blue{--c:var(--fs-hth-note-blue)}
.fs-hth-colour-green{--c:var(--fs-hth-note-green)}
.fs-hth-colour-pick input:checked+.fs-hth-colour{box-shadow:3px 3px 0 rgb(var(--c-ink-950));transform:translate(-1px,-1px)}
.fs-hth-colour-pick input:focus-visible+.fs-hth-colour{outline:3px solid var(--fs-hth-blue);outline-offset:2px}
.fs-hth-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}
.fs-hth-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
/* the editor's open copy of the dialog: every word editable, nothing live */
.fs-hth-dialog-ed{position:relative;margin:0 auto 20px;border-style:dashed}
.fs-hth-dialog-ed::before{content:attr(data-ed);display:block;margin-bottom:12px;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
.fs-hth-kinds-ed{display:flex;flex-wrap:wrap;gap:6px;font-weight:500}
.fs-hth-kind-ed{padding:.2em .7em;border:1px dashed rgb(var(--c-ink-400) / .7);border-radius:6px;min-width:2ch}

/* ── favHthVolunteer (.volunteer-section, .help-list, .meter-card) ── */
.fs-hth-volunteer{background:linear-gradient(180deg,rgb(var(--c-paper)),var(--fs-hth-band-end))}
.fs-hth-volunteer>.fs-hth-wrap{padding-block:100px}
.fs-hth-volunteer-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center}
.fs-hth-volunteer-grid.is-solo{grid-template-columns:1fr}
.fs-hth-help-list{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:12px}
.fs-hth-help-list li{
  position:relative;display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:15px 20px;background:rgb(var(--c-paper-soft));border:2px solid rgb(var(--c-ink-950));border-radius:14px;
  font-weight:500;
}
.fs-hth-time{
  flex:none;font-size:.8rem;font-weight:700;padding:.2em .85em;
  background:rgb(var(--c-accent));color:var(--fs-hth-art-ink);border:2px solid rgb(var(--c-ink-950));border-radius:999px;
}
.fs-hth-solo-cta{margin-top:28px}
.fs-hth-meter-card{
  position:relative;background:var(--fs-hth-meter-bg);color:var(--fs-hth-meter-fg);
  border-radius:28px;padding:44px 40px;box-shadow:12px 12px 0 var(--fs-hth-terra-light);
}
.fs-hth-meter-label{font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.82rem;opacity:.8}
.fs-hth .fs-hth-big{font:800 clamp(3.2rem,7cqw,5.2rem)/1 var(--font-display,'Fraunces',Georgia,serif);color:rgb(var(--c-accent));margin:.1em 0 0}
.fs-hth-meter{height:24px;margin:22px 0 10px;border:2px solid var(--fs-hth-meter-fg);border-radius:999px;background:var(--fs-hth-glass);overflow:hidden}
.fs-hth-meter span{display:block;height:100%;background:repeating-linear-gradient(45deg,rgb(var(--c-accent)) 0 12px,var(--fs-hth-stripe) 12px 24px)}
.fs-hth .fs-hth-meter-foot{display:flex;justify-content:space-between;font-size:.9rem;opacity:.85;margin-bottom:28px}

/* ── favHthJoin (.join-card, .ticks, .join-form, .pick, .join-done) ── */
.fs-hth-join>.fs-hth-wrap{padding-block:100px}
.fs-hth-join-card{
  display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;
  padding:clamp(28px,5vw,60px);
  background:rgb(var(--c-brand-600));color:var(--fs-hth-on-brand);
  border:2px solid rgb(var(--c-ink-950));border-radius:32px;box-shadow:10px 10px 0 rgb(var(--c-ink-950));
  background-image:radial-gradient(circle at 90% 10%,var(--fs-hth-glass-hi) 0 120px,transparent 121px),radial-gradient(circle at 0% 100%,var(--fs-hth-shade-lo) 0 160px,transparent 161px);
}
.fs-hth .fs-hth-join-card .fs-hth-h2{font-size:clamp(2.2rem,5cqw,3.6rem);color:var(--fs-hth-on-brand)}
.fs-hth-join-copy p{margin:0 0 1em}
.fs-hth-ticks{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:8px;font-weight:500}
.fs-hth-ticks li::before{content:"✓";display:inline-grid;place-items:center;width:24px;height:24px;margin-right:10px;border-radius:50%;background:rgb(var(--c-accent));color:var(--fs-hth-art-ink);font-weight:800;font-size:.8rem;border:2px solid rgb(var(--c-ink-950))}
.fs-hth-join-form{position:relative}
.fs-hth-join-form,.fs-hth-join-done{background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));border:2px solid rgb(var(--c-ink-950));border-radius:22px;padding:28px;display:grid;gap:14px;margin:0}
.fs-hth-join-form[hidden]{display:none}
.fs-hth-join-done{text-align:center;outline:none}
.fs-hth-join-done p{margin:0}
.fs-hth .fs-hth-join-done h3{margin:0}
.fs-hth-join-done .fs-hth-big-emoji{font-size:3rem;margin:0}
.fs-hth-pick-set{border:0;padding:0;margin:0;min-width:0}
.fs-hth-pick{display:flex;flex-wrap:wrap;gap:8px}
.fs-hth-pick-chip{display:block;position:relative;cursor:pointer}
.fs-hth .fs-hth-pick-chip input{position:absolute;opacity:0;pointer-events:none;margin:0}
.fs-hth .fs-hth-pick-set .fs-hth-legend{width:auto}
.fs-hth-pick-chip>span{display:inline-block;padding:.4em .95em;border:2px solid rgb(var(--c-ink-950));border-radius:999px;font-weight:500;font-size:.9rem;background:rgb(var(--c-paper))}
.fs-hth-pick-chip input:checked+span{background:var(--fs-hth-sage);color:var(--fs-hth-white)}
.fs-hth-pick-chip input:focus-visible+span{outline:3px solid var(--fs-hth-blue);outline-offset:2px}
.fs-hth .fs-hth-join-status{margin:0;font-size:.9rem;font-weight:500}
.fs-hth .fs-hth-join-status:empty{position:absolute}
.fs-hth .fs-hth-join-status.is-fail{color:rgb(var(--c-brand-text,var(--c-brand-600)))}
.fs-hth-join-ed{position:relative;border-style:dashed}
.fs-hth-join-ed::before{content:attr(data-ed);display:block;margin-bottom:12px;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--c-ink-400));text-align:left}
.fs-hth-join-form button:disabled{opacity:.6;cursor:progress}

/* ── footer (.site-footer, port Task 8) ───────────────────────── */
.fs-hth-footer{
  --fs-hth-foot-bg:rgb(var(--c-ink-950));--fs-hth-foot-fg:rgb(var(--c-paper));
  background:var(--fs-hth-foot-bg);color:var(--fs-hth-foot-fg);
  padding:72px 0 0;margin-top:40px;
}
/* the ink band would be a bright slab in dark: the ground 55% into black, the text colour for its words (as the header strip) */
.dark .fs-hth-footer:not(:where(.fs-preview-light *)){--fs-hth-foot-bg:color-mix(in srgb,rgb(var(--c-paper)) 55%,rgb(0 0 0));--fs-hth-foot-fg:color-mix(in srgb,rgb(var(--c-ink-950)) 92%,rgb(var(--c-paper)))}
.fs-hth-foot-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:40px}
.fs-hth-brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:800 1.55rem/normal var(--font-display,'Fraunces',Georgia,serif);letter-spacing:-.02em}
.fs-hth-brand-light{margin-bottom:18px}
.fs-hth-foot-mark{width:40px;height:40px;flex:none}
.fs-hth-foot-house{fill:rgb(var(--c-accent));stroke:var(--fs-hth-foot-fg)}
.fs-hth-foot-heart{fill:var(--fs-hth-terra-light);stroke:var(--fs-hth-foot-fg)}
.fs-hth .fs-hth-foot-blurb{opacity:.8;font-size:.95rem}
.fs-hth .fs-hth-foot-h{font-size:1.05rem;color:rgb(var(--c-accent));margin-bottom:14px}
.fs-hth-foot-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.fs-hth-foot-a{text-decoration:none;opacity:.85;font-size:.95rem;color:inherit}
a.fs-hth-foot-a:hover{opacity:1;text-decoration:underline}
.fs-hth-foot-base{border-top:1px solid color-mix(in srgb,var(--fs-hth-foot-fg) 20%,transparent);margin-top:56px;padding:22px 0 28px}
.fs-hth .fs-hth-foot-legal{margin:0;opacity:.8;font-size:.85rem}
.fs-hth .fs-hth-foot-legal-links{margin-top:6px}
.fs-hth-foot-legal-links .fs-hth-foot-a{font-size:inherit}
.fs-hth-foot-missing{display:inline-block;padding:0 6px;border:1px dashed color-mix(in srgb,var(--fs-hth-foot-fg) 70%,transparent);border-radius:4px;font-size:.8em;font-weight:600}
.fs-hth-foot-missing::before{content:attr(data-missing)}

/* ── responsive: the source's 980 / 860 / 560 breakpoints ─────── */
@container fs-hth (max-width:980px){
  .fs-hth-board-wrap,.fs-hth-volunteer-grid,.fs-hth-join-card{grid-template-columns:1fr}
  .fs-hth-board-intro{position:static}
  .fs-hth-voice-list{grid-template-columns:1fr}
  .fs-hth-voice:nth-child(2){transform:none}
  .fs-hth-hero-grid{grid-template-columns:1fr;gap:56px;padding-top:48px}
  .fs-hth-hero-art{max-width:620px}
  .fs-hth-foot-grid{grid-template-columns:1fr 1fr}
}
@container fs-hth (max-width:860px){
  .fs-hth-step-list{grid-template-columns:1fr;gap:22px}
}
@container fs-hth (max-width:560px){
  /* Owner-accepted (2026-10-25): the chips (42px) and "I'm going" (40px) get an
     invisible 44px hit area on a phone. Overlay only: no size, spacing or layout change. */
  .fs-hth-chip,.fs-hth-going{position:relative}
  .fs-hth-chip::after,.fs-hth-going::after{content:"";position:absolute;left:50%;top:50%;width:max(100%,44px);height:max(100%,44px);transform:translate(-50%,-50%)}
  .fs-hth-events>.fs-hth-wrap,.fs-hth-voices>.fs-hth-wrap{padding-block:72px}
  .fs-hth-event{flex-direction:column}
  .fs-hth-date{display:flex;width:auto;align-items:center;gap:8px;padding-right:12px}
  .fs-hth-date span:first-child{border-bottom:0;border-right:2px solid rgb(var(--c-ink-950));padding:6px 10px}
  .fs-hth-date strong{font-size:1.2rem;padding:0}
  .fs-hth-date span:last-child{padding:0}
  .fs-hth-groups>.fs-hth-wrap,.fs-hth-board>.fs-hth-wrap,.fs-hth-volunteer>.fs-hth-wrap,.fs-hth-join>.fs-hth-wrap{padding-block:72px}
  .fs-hth-cork{padding:18px;border-width:10px}
  .fs-hth-meter-card{padding:32px 24px}
  .fs-hth-sticker{width:104px;height:104px;font-size:.8rem;left:-6px}
  .fs-hth-foot-grid{grid-template-columns:1fr}
}

/* ══ motion (the source's own; port Task 9) ══════════════════════════════
   The source has NO scroll-reveal: only the effects below, each one ported
   from its keyframes / transitions / main.js, nothing added.
     sticker wobble        @keyframes wobble, 6s ease-in-out infinite (hero)
     events pop            pop .35s ease, as a card is drawn or shown again
     group hover           translateY(-4px) rotate(-.6deg) + the hard shadow
     note hover / new pin  rotate(0) scale(1.04); pin .45s on a note just pinned
     hours meter           the bar's width draw (1.8s) and the count-up
                           (main.js countUp, 1.6s, from hthCountUpAt), both
                           started when the card is 40% in view
     buttons               hover lift / press (the blocks AND the header pill,
                           hearthway-chrome-styles.ts), going lift, chip
                           and pick colour fades
   Every one sits behind the same gates:
     1. [data-fs-motion="on"] - the published site and the template preview
        at Motion On or Subtle; the editor canvas, Off and any surface
        without the shell match nothing and stay still,
     2. @media screen and (prefers-reduced-motion: no-preference) (the
        source's own reduced path is "no animation, no transition"),
     3. its Micro-animations switch, var(--fs-anim-<id>, <the source's
        value>), ids in themes/hearthway.ts microAnimations (check:anim).
   SUBTLE: every travel is calc(<px> * var(--fs-motion-dist, 1)) (0.3 under
   Subtle) and every time calc(<t> * var(--fs-anim-speed, 1)) (x1.7). The
   source has no stricter Subtle path of its own, so none is invented: the
   sticker keeps its slow loop, only shallower.
   FILL: backwards only; every end frame is the resting style (no keyframe
   holds a value past its animation). The meter's first frame is a PAUSED
   animation behind data-hth-in="0", which only the runtime
   (useHthMeterMotion) sets: no script, no attribute, the bar is simply full.
   No clip-path. Off and reduced motion stop the colour fades too. */
@keyframes fs-hth-wobble{50%{transform:rotate(calc(-12deg + 8deg * var(--fs-motion-dist, 1))) scale(calc(1 + .04 * var(--fs-motion-dist, 1)))}}
@keyframes fs-hth-pop{from{opacity:0;transform:translateY(calc(8px * var(--fs-motion-dist, 1)))}}
@keyframes fs-hth-pin{from{opacity:0;transform:translateY(calc(-30px * var(--fs-motion-dist, 1))) rotate(calc(8deg * var(--fs-motion-dist, 1))) scale(calc(1 - .1 * var(--fs-motion-dist, 1)))}}
@keyframes fs-hth-draw{from{width:0}}
.fs-hth:not([data-fs-motion="on"] *),.fs-hth:not([data-fs-motion="on"] *) *,.fs-hth:not([data-fs-motion="on"] *) *::before,.fs-hth:not([data-fs-motion="on"] *) *::after{animation:none !important;transition:none !important}
@media (prefers-reduced-motion:reduce){
  .fs-hth,.fs-hth *,.fs-hth *::before,.fs-hth *::after{animation:none !important;transition:none !important}
}
@media screen and (prefers-reduced-motion:no-preference){
  /* The source's html{scroll-behavior:smooth} (and its reduced-motion auto): the platform draws no smooth scroll of its own, so the anchored sections glide only here - motion on, no reduced-motion request. */
  html:has([data-fs-motion="on"] .fs-hth){scroll-behavior:smooth}
  /* hthWobble - the hero sticker (.sticker) */
  [data-fs-motion="on"] .fs-hth-sticker{animation:var(--fs-anim-hthWobble, fs-hth-wobble calc(6s * var(--fs-anim-speed, 1)) ease-in-out infinite)}
  /* hthPop - an event card (.event) */
  [data-fs-motion="on"] .fs-hth-event{animation:var(--fs-anim-hthPop, fs-hth-pop calc(.35s * var(--fs-anim-speed, 1)) ease backwards)}
  /* hthPin - a note just pinned (.note.is-new) */
  [data-fs-motion="on"] .fs-hth-note.is-new{animation:var(--fs-anim-hthPin, fs-hth-pin calc(.45s * var(--fs-anim-speed, 1)) cubic-bezier(.2,1.4,.4,1) backwards)}
  /* hthMeter - the bar draws once the card is in view; hthCount (the script,
     HearthwayBlocks.tsx) counts the hours */
  [data-fs-motion="on"] .fs-hth-meter-card[data-hth-in] .fs-hth-meter span{animation:var(--fs-anim-hthMeter, fs-hth-draw calc(1.8s * var(--fs-anim-speed, 1)) cubic-bezier(.2,.8,.2,1) backwards)}
  [data-fs-motion="on"] .fs-hth-meter-card[data-hth-in="0"] .fs-hth-meter span{animation-play-state:paused}
  /* hthTilt - a group card and a note under the pointer */
  [data-fs-motion="on"] .fs-hth .fs-hth-group{transition:var(--fs-anim-hthTilt, transform calc(.2s * var(--fs-anim-speed, 1)) ease, box-shadow calc(.2s * var(--fs-anim-speed, 1)) ease)}
  [data-fs-motion="on"] .fs-hth .fs-hth-group:hover{transform:var(--fs-anim-hthTilt, translateY(calc(-4px * var(--fs-motion-dist, 1))) rotate(calc(-.6deg * var(--fs-motion-dist, 1))));box-shadow:var(--fs-hth-shadow)}
  [data-fs-motion="on"] .fs-hth .fs-hth-note{transition:var(--fs-anim-hthTilt, transform calc(.2s * var(--fs-anim-speed, 1)) ease)}
  [data-fs-motion="on"] .fs-hth .fs-hth-note:hover{transform:var(--fs-anim-hthTilt, rotate(0) scale(calc(1 + .04 * var(--fs-motion-dist, 1))))}
  /* hthPress - the hard-shadow buttons lift on hover and press in; the
     "I'm going" button lifts a pixel. The header pill: hearthway-chrome-styles.ts. */
  [data-fs-motion="on"] .fs-hth .fs-hth-btn{transition:var(--fs-anim-hthPress, transform calc(.15s * var(--fs-anim-speed, 1)) ease, box-shadow calc(.15s * var(--fs-anim-speed, 1)) ease)}
  [data-fs-motion="on"] .fs-hth .fs-hth-btn:hover{transform:var(--fs-anim-hthPress, translate(calc(-2px * var(--fs-motion-dist, 1)), calc(-2px * var(--fs-motion-dist, 1))));box-shadow:6px 6px 0 rgb(var(--c-ink-950))}
  [data-fs-motion="on"] .fs-hth .fs-hth-btn:active{transform:var(--fs-anim-hthPress, translate(calc(2px * var(--fs-motion-dist, 1)), calc(2px * var(--fs-motion-dist, 1))));box-shadow:2px 2px 0 rgb(var(--c-ink-950))}
  [data-fs-motion="on"] .fs-hth .fs-hth-going{transition:var(--fs-anim-hthPress, background-color calc(.15s * var(--fs-anim-speed, 1)), transform calc(.15s * var(--fs-anim-speed, 1)))}
  [data-fs-motion="on"] .fs-hth .fs-hth-going:hover{transform:var(--fs-anim-hthPress, translateY(calc(-1px * var(--fs-motion-dist, 1))))}
  /* the chip and the pick-chip fade their colours (.15s) */
  [data-fs-motion="on"] .fs-hth .fs-hth-chip{transition:background-color calc(.15s * var(--fs-anim-speed, 1)),color calc(.15s * var(--fs-anim-speed, 1))}
  [data-fs-motion="on"] .fs-hth .fs-hth-pick-chip>span{transition:background-color calc(.15s * var(--fs-anim-speed, 1))}
}


/* ── platform effects off (Tidewell P58) ──────────────────────── */
[data-fs-blocktype^="favHth"]{--fs-anim-fs-sectionin-name:none}
.fs-hth{--fs-anim-fs-imgin-name:none;--fs-anim-fs-press:none;--fs-anim-fs-lift-t:none;--fs-anim-fs-lift-prop:none}


/* ── family root ──────────────────────────────────────────────── */
.fs-aul{
  container-type:inline-size;container-name:fs-aul;
  position:relative;
}
.fs-aul,.fs-aul-bagscope{
  color:rgb(var(--c-ink-950));
  font-family:var(--font-sans,'Jost','Century Gothic',system-ui,sans-serif);
  font-size:1.05rem;font-weight:300;line-height:1.7;
  /* the source's own tints (--blush, --blush-light, --sage-light), as in its :root */
  --fs-aul-blush:#EBC4B8;
  --fs-aul-blush-light:#F4DDD5;
  --fs-aul-sage-light:#E6EBDD;
  --fs-aul-ease:cubic-bezier(.2,.8,.2,1);
  /* fixed source literals, named once (never a colour declaration):
     --sage, --rose-soft and --plum have no platform token */
  --fs-aul-white:#ffffff;
  /* the form boxes: the source's white; a quiet tint of the ink in dark */
  --fs-aul-input-bg:#ffffff;
  color-scheme:light;
  --fs-aul-sage:#A9B79A;
  --fs-aul-rose-soft:#C97B6B;
  --fs-aul-plum:#3D1F2B;
  --fs-aul-cream-rgb:251 247 242;
  --fs-aul-blush-rgb:235 196 184;
  /* the hero picture's pack shots: label, band and ink stay as printed in both modes */
  --fs-aul-plum-soft:#6B4452;--fs-aul-pk-label:#FBF7F2;--fs-aul-pk-band:#EBC4B8;
  --fs-aul-scrim:rgb(61 31 43 / .35);
  --fs-aul-drop:rgb(61 31 43 / .4);
  --fs-aul-toast-drop:rgb(61 31 43 / .6);
  /* the shade finder, ritual and ingredient cards (source rgba literals) */
  --fs-aul-line:rgb(var(--c-ink-950) / .14);
  --fs-aul-lip-edge:rgb(0 0 0 / .22);
  --fs-aul-sh-lips:rgb(61 31 43 / .18);
  --fs-aul-sh-ring:rgb(61 31 43 / .35);
  --fs-aul-sh-result:rgb(61 31 43 / .5);
  --fs-aul-sh-ing:rgb(61 31 43 / .55);
  --fs-aul-opt-line:rgb(61 31 43 / .3);
  --fs-aul-opt-bg:rgb(255 255 255 / .4);
  --fs-aul-swatch-edge:rgb(255 255 255 / .5);
  /* the hero picture's scenery (index.html's img/hero.svg): palette-driven */
  --fs-aul-ha-arch0:#F1D3C8;--fs-aul-ha-arch1:#E4B5A6;--fs-aul-ha-sun:#F7E3C9;
  --fs-aul-ha-pa0:#FBF7F2;--fs-aul-ha-pa1:#EFE3D8;--fs-aul-ha-pb0:#F3E5DA;--fs-aul-ha-pb1:#E3D0C2;
  --fs-aul-ha-stem:#8E9E7F;--fs-aul-ha-leaf-b:#C3CDB5;
  /* the hero's floating card (source rgba literals) */
  --fs-aul-float-edge:rgb(255 255 255 / .8);
  --fs-aul-float-drop:rgb(61 31 43 / .35);
  --fs-aul-live:#7FA06F;--fs-aul-live-ring:rgb(127 160 111 / .2);
  --fs-aul-stat-drop:rgb(61 31 43 / .6);
}
.dark .fs-aul,.dark .fs-aul-bagscope{
  --fs-aul-opt-line:rgb(247 239 232 / .3);
  --fs-aul-opt-bg:rgb(247 239 232 / .06);
  --fs-aul-input-bg:rgb(247 239 232 / .06);
  color-scheme:dark;
  --fs-aul-swatch-edge:rgb(255 255 255 / .35);
  --fs-aul-ha-arch0:color-mix(in srgb,rgb(var(--c-brand-600)) 34%,rgb(var(--c-paper)));
  --fs-aul-ha-arch1:color-mix(in srgb,rgb(var(--c-brand-600)) 22%,rgb(var(--c-paper)));
  --fs-aul-ha-sun:color-mix(in srgb,rgb(var(--c-accent)) 70%,rgb(var(--c-paper)));
  --fs-aul-ha-pa0:rgb(var(--c-paper-soft));
  --fs-aul-ha-pa1:color-mix(in srgb,rgb(var(--c-paper-soft)) 80%,rgb(var(--c-ink-950)));
  --fs-aul-ha-pb0:color-mix(in srgb,rgb(var(--c-paper-soft)) 88%,rgb(var(--c-ink-950)));
  --fs-aul-ha-pb1:color-mix(in srgb,rgb(var(--c-paper-soft)) 72%,rgb(var(--c-ink-950)));
  --fs-aul-ha-stem:color-mix(in srgb,var(--fs-aul-sage) 70%,rgb(var(--c-paper)));
  --fs-aul-ha-leaf-b:color-mix(in srgb,var(--fs-aul-sage) 60%,rgb(var(--c-paper)));
  --fs-aul-float-edge:rgb(247 239 232 / .16);
  --fs-aul-blush:color-mix(in srgb,rgb(var(--c-brand-600)) 40%,rgb(var(--c-paper)));
  --fs-aul-blush-light:color-mix(in srgb,rgb(var(--c-brand-600)) 22%,rgb(var(--c-paper)));
  --fs-aul-sage-light:color-mix(in srgb,rgb(var(--c-accent)) 14%,rgb(var(--c-paper)));
  --fs-aul-scrim:rgb(0 0 0 / .55);
}
/* The site wrapper's own light marker beats a .dark on <html> that came
   from the visitor's OS (Brimwell's / Tidewell's rule). */
.fs-preview-light .fs-aul,.fs-preview-light .fs-aul-bagscope{
  --fs-aul-blush:#EBC4B8;
  --fs-aul-blush-light:#F4DDD5;
  --fs-aul-sage-light:#E6EBDD;
  --fs-aul-scrim:rgb(61 31 43 / .35);
  --fs-aul-opt-line:rgb(61 31 43 / .3);
  --fs-aul-opt-bg:rgb(255 255 255 / .4);
  --fs-aul-input-bg:#ffffff;
  color-scheme:light;
  --fs-aul-swatch-edge:rgb(255 255 255 / .5);
  --fs-aul-ha-arch0:#F1D3C8;--fs-aul-ha-arch1:#E4B5A6;--fs-aul-ha-sun:#F7E3C9;
  --fs-aul-ha-pa0:#FBF7F2;--fs-aul-ha-pa1:#EFE3D8;--fs-aul-ha-pb0:#F3E5DA;--fs-aul-ha-pb1:#E3D0C2;
  --fs-aul-ha-stem:#8E9E7F;--fs-aul-ha-leaf-b:#C3CDB5;
  --fs-aul-float-edge:rgb(255 255 255 / .8);
}
.fs-aul *,.fs-aul *::before,.fs-aul *::after,.fs-aul-bagscope *,.fs-aul-bagscope *::before,.fs-aul-bagscope *::after{box-sizing:border-box}
.fs-aul-wire{filter:grayscale(1) contrast(.5)}
.fs-aul a{color:inherit}

/* ── base: .wrap, type, .label, .btn, .section, .section-head ──── */
/* .wrap{width:min(1200px,100% - 32px);margin-inline:auto} - the width
   follows a Site Settings layout first (--fs-layout-max), then the shell. */
.fs-aul-wrap{
  width:min(var(--fs-layout-max,var(--fs-shell-max,1200px)),100% - 32px);margin-inline:auto;
}
.fs-aul h1,.fs-aul h2,.fs-aul h3,.fs-aul h4{
  font-family:var(--font-display,'Cormorant Garamond','Times New Roman',serif);
  font-weight:500;line-height:1.05;margin:0 0 .45em;letter-spacing:-.005em;color:rgb(var(--c-ink-950));
}
.fs-aul h2,.fs-aul .fs-aul-h2{font-size:clamp(2.3rem,calc(4.6 * 1cqi),3.6rem)}
.fs-aul h1 em,.fs-aul h2 em{font-style:italic;color:rgb(var(--c-brand-text))}
.fs-aul p{margin:0 0 1em}
.fs-aul strong{font-weight:500}
/* .label{font:500 .74rem body;letter-spacing:.24em;uppercase;color:rose} */
.fs-aul .fs-aul-label{
  font-size:.74rem;line-height:normal;font-weight:500;letter-spacing:.24em;text-transform:uppercase;
  color:rgb(var(--c-brand-text));margin:0 0 1.1em;
}
.fs-aul-label-light{color:rgb(var(--c-accent))}
.fs-aul-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fs-aul :focus-visible,.fs-aul-bagscope :focus-visible{outline:2px solid rgb(var(--c-brand-text));outline-offset:3px}

/* .btn - solid plum pill; .btn-line outlined; .btn-small; .btn-full */
.fs-aul-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  font-size:.82rem;font-weight:400;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;
  padding:1.15em 2em;border-radius:999px;border:1px solid rgb(var(--c-ink-950));
  background:rgb(var(--c-ink-950));color:rgb(var(--c-paper-soft));cursor:pointer;
}
/* .btn sets the font shorthand, which resets line-height to normal on buttons AND anchors alike (measured on the export hero links) */
:is(.fs-aul,.fs-aul-bagscope) .fs-aul-btn{line-height:normal}
/* an anchor button: .fs-aul a{color:inherit} must not win over the button's own colours */
.fs-aul a.fs-aul-btn{color:rgb(var(--c-paper-soft))}
.fs-aul a.fs-aul-btn-line{color:rgb(var(--c-ink-950))}
.fs-aul a.fs-aul-btn-line:hover{color:rgb(var(--c-paper-soft))}
.fs-aul .fs-aul-add[data-static]{display:block;line-height:normal;text-align:center}
.fs-aul [data-static]{cursor:text}
.fs-aul-btn:hover{background:rgb(var(--c-brand-text));border-color:rgb(var(--c-brand-text))}
.fs-aul-btn-line{background:transparent;color:rgb(var(--c-ink-950))}
.fs-aul-btn-line:hover{background:rgb(var(--c-ink-950));color:rgb(var(--c-paper-soft));border-color:rgb(var(--c-ink-950))}
.fs-aul-btn-small{padding:.85em 1.4em;font-size:.74rem}
.fs-aul-btn-full{width:100%}

/* .section{padding:110px 0} (80 at the source's 560px) */
.fs-aul-section{padding-block:110px}
@container fs-aul (max-width:560px){.fs-aul-section{padding-block:80px}}
/* .section-head - flex between; .center-head - column, centred */
.fs-aul-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px 40px;margin-bottom:56px}
.fs-aul-head h2{margin:0}
.fs-aul .fs-aul-note{max-width:26em;color:rgb(var(--c-ink-400));margin:0}
.fs-aul-head-centre{flex-direction:column;align-items:center;text-align:center}
.fs-aul-head-centre .fs-aul-label{margin-bottom:.2em}

/* .stars - champagne; .pill - cream tag; .pill-dark; .fine */
.fs-aul-stars{color:rgb(var(--c-accent));letter-spacing:.12em;font-size:1rem}
.fs-aul-pill{background:rgb(var(--c-paper-soft));padding:.3em .9em;border-radius:999px;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase}
.fs-aul-pill-dark{background:rgb(var(--c-ink-950));color:rgb(var(--c-paper-soft))}
.fs-aul-fine{font-size:.8rem;color:rgb(var(--c-ink-400));text-align:center;margin:0}

/* forms: label / input / select */
.fs-aul-field{display:grid;gap:6px;font-size:.72rem;line-height:normal;font-weight:500;letter-spacing:.16em;text-transform:uppercase}
.fs-aul-input{
  font:300 1rem var(--font-sans,'Jost',system-ui,sans-serif);color:rgb(var(--c-ink-950));letter-spacing:0;text-transform:none;
  padding:.85em 1em;border:1px solid rgb(var(--c-ink-950) / .25);border-radius:14px;background:var(--fs-aul-input-bg);width:100%;
}
.fs-aul-input option{background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950))}
.fs-aul-input:focus{outline:none;border-color:rgb(var(--c-brand-text));box-shadow:0 0 0 3px rgb(var(--c-brand-text) / .2)}

/* ── the promises band (home · 02): .values .values-track ─────────
   Static here; the slide (keyframes fs-aul-marquee, 40s linear) is the
   MOTION section below, on .fs-aul-values-track. The second copy .fs-aul-values-dup
   is the loop's other half (aria-hidden, not editable). */
.fs-aul-values{background:var(--fs-aul-plum);color:rgb(var(--c-accent));overflow:hidden;padding:18px 0}
.fs-aul-values-track{
  display:flex;gap:34px;width:max-content;white-space:nowrap;
  font-family:var(--font-display,'Cormorant Garamond','Times New Roman',serif);font-style:italic;font-weight:400;font-size:1.45rem;line-height:normal;
}
.fs-aul-values-dup{display:contents}
.fs-aul-sep{color:var(--fs-aul-blush);font-style:normal;font-size:1rem;align-self:center}
/* while editing the band wraps and holds still: every promise on the canvas */
.fs-aul-values.is-editing .fs-aul-values-track{width:auto;flex-wrap:wrap;justify-content:center;gap:8px 34px;padding-inline:16px;white-space:normal}

/* editor-only strip (AulEditorStrip): words not on the canvas right now */
.fs-aul-ed{position:relative;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px 16px;margin:0 auto 20px;max-width:var(--fs-layout-max,var(--fs-shell-max,1200px));padding:12px;border:1px dashed rgb(var(--c-ink-400) / .7);border-radius:8px}
.fs-aul-ed>div::before{content:attr(data-ed);display:block;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--c-ink-400))}

/* ── products (home · 03): .products .product .product-art .pill ... ── */
.fs-aul-pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:56px 32px}
.fs-aul-product{display:flex;flex-direction:column}
.fs-aul-product-art{
  position:relative;display:grid;place-items:center;
  aspect-ratio:4 / 4.6;padding:24px;margin-bottom:20px;
  background:var(--fs-aul-tint,var(--fs-aul-blush-light));border-radius:999px 999px 26px 26px;overflow:hidden;
}
.fs-aul-product-art::after{content:"";position:absolute;inset:auto 0 0;height:30%;background:linear-gradient(transparent,rgb(255 255 255 / .35));pointer-events:none}
.fs-aul-product-art img{width:72%;height:auto;max-width:100%;display:block;position:relative;z-index:1}
.fs-aul-product-art .fs-aul-pill{position:absolute;top:18%;left:20px;z-index:3}
/* a photo in the picture slot fills the arch; an empty slot shows the drawing through */
.fs-aul-product-art .fs-aul-slot{position:absolute;inset:0;z-index:2;display:block}
.fs-aul-product-art .fs-aul-slot>*,.fs-aul-product-art .fs-aul-slot img{width:100%;height:100%}
.fs-aul-product-art .fs-aul-slot img{object-fit:cover;max-width:none;transform:none}
.fs-aul-slot[data-empty]>[data-editable]{background:transparent}
.fs-aul-slot[data-empty]>[data-editable]>span:first-child{visibility:hidden}
.fs-aul-product-info{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.fs-aul .fs-aul-product .fs-aul-h3{font-family:var(--font-display,'Cormorant Garamond','Times New Roman',serif);font-weight:500;line-height:1.05;letter-spacing:-.005em;font-size:1.6rem;margin:0 0 .1em}
.fs-aul .fs-aul-product-info .fs-aul-pnote{font-size:.88rem;line-height:1.7;color:rgb(var(--c-ink-400));margin:0}
.fs-aul-price{font:500 1.4rem var(--font-display,'Cormorant Garamond','Times New Roman',serif)}
.fs-aul .fs-aul-stars-sm{font-size:.8rem;line-height:1.7;color:rgb(var(--c-ink-400));margin:8px 0 16px}
.fs-aul-stars-sm>.fs-aul-st{color:rgb(var(--c-accent));letter-spacing:.1em;margin-right:4px}
.fs-aul-product.is-bare .fs-aul-product-info{margin-bottom:24px}
.fs-aul-add{
  margin-top:auto;width:100%;padding:1em;cursor:pointer;
  font:400 .78rem var(--font-sans,'Jost','Century Gothic',system-ui,sans-serif);letter-spacing:.18em;text-transform:uppercase;
  color:rgb(var(--c-ink-950));background:transparent;border:1px solid rgb(var(--c-ink-950));border-radius:999px;
}
.fs-aul-add:hover:not(:disabled){background:rgb(var(--c-ink-950));color:rgb(var(--c-paper-soft))}
.fs-aul-add.is-added,.fs-aul-add.is-added:hover{background:var(--fs-aul-sage);border-color:var(--fs-aul-sage);color:var(--fs-aul-plum)}
.fs-aul-add:disabled{cursor:default}

/* ── the bag drawer, scrim and toast (page chrome; AurelleBagDrawer) ── */
.fs-aul-scrim{position:fixed;inset:0;z-index:90;background:var(--fs-aul-scrim);backdrop-filter:blur(2px)}
.fs-aul-scrim[hidden]{display:none}
.fs-aul-bag{
  position:fixed;top:0;right:0;bottom:0;z-index:100;
  width:min(420px,100%);padding:28px;display:flex;flex-direction:column;
  background:rgb(var(--c-paper-soft));box-shadow:-30px 0 60px -30px var(--fs-aul-drop);
  transform:translateX(105%);
  overflow-y:auto;
}
.fs-aul-bag.is-open{transform:none}
.fs-aul-bag-head{display:flex;justify-content:space-between;align-items:center}
.fs-aul-bagscope .fs-aul-h2-bag{font-family:var(--font-display,'Cormorant Garamond','Times New Roman',serif);font-weight:500;line-height:1.05;letter-spacing:-.005em;color:rgb(var(--c-ink-950));font-size:2.2rem;margin:0}
.fs-aul-close-bag{width:40px;height:40px;border:1px solid var(--fs-aul-line);border-radius:50%;background:transparent;font:inherit;font-size:1.6rem;line-height:1;color:rgb(var(--c-ink-950));cursor:pointer;padding:0}
.fs-aul-ship-note{font-size:.88rem;margin:18px 0 8px}
.fs-aul-ship-note strong{font-weight:500}
.fs-aul-ship-bar{height:4px;background:var(--fs-aul-blush-light);border-radius:4px;overflow:hidden}
.fs-aul-ship-bar span{display:block;height:100%;width:0;background:var(--fs-aul-rose-soft)}
.fs-aul-bag-items{list-style:none;margin:20px 0 0;padding:0;flex:1 0 auto;display:grid;align-content:start;gap:16px}
.fs-aul-bag-items li{display:grid;grid-template-columns:64px 1fr auto;gap:14px;align-items:center;padding-bottom:16px;border-bottom:1px solid var(--fs-aul-line)}
.fs-aul-bag-items img,.fs-aul-bag-noimg{width:64px;height:76px;object-fit:contain;background:rgb(var(--c-paper));border-radius:32px 32px 10px 10px;padding:6px;display:block}
.fs-aul-bagscope .fs-aul-bag-items .fs-aul-h3{font-family:var(--font-display,'Cormorant Garamond','Times New Roman',serif);font-weight:500;line-height:1.05;letter-spacing:-.005em;color:rgb(var(--c-ink-950));font-size:1.2rem;margin:0}
.fs-aul-qty{display:inline-flex;align-items:center;gap:10px;margin-top:4px;font-size:.9rem}
.fs-aul-qty .fs-aul-qb{width:26px;height:26px;border-radius:50%;border:1px solid var(--fs-aul-line);background:var(--fs-aul-white);cursor:pointer;color:var(--fs-aul-plum);line-height:1;font:inherit;padding:0}
.fs-aul-qty .fs-aul-qb:disabled{opacity:.4;cursor:default}
.fs-aul-line-price{font:500 1.15rem var(--font-display,'Cormorant Garamond','Times New Roman',serif)}
.fs-aul-bag-empty{color:rgb(var(--c-ink-400));font-style:italic;margin:24px 0 0}
.fs-aul-bag-foot{border-top:1px solid var(--fs-aul-line);padding-top:18px;display:grid;gap:12px}
.fs-aul-subtotal{display:flex;justify-content:space-between;align-items:baseline}
.fs-aul-subtotal strong{font:500 1.6rem var(--font-display,'Cormorant Garamond','Times New Roman',serif)}
.fs-aul-btn:disabled{cursor:default}
.fs-aul-bag-done{margin:24px 0 0;padding:14px 16px;border-radius:14px;background:var(--fs-aul-sage-light);outline:none}
.fs-aul-bag-form{display:grid;gap:12px}
.fs-aul-bag-fld{display:grid;gap:6px}
.fs-aul-bag-lab{font-size:.72rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase}
.fs-aul-bag-fld.is-err .fs-aul-input{border-color:rgb(var(--c-brand-text))}
.fs-aul-bag-form textarea.fs-aul-input{resize:vertical;min-height:2.6em;font-family:inherit}
.fs-aul-bag-msg{margin:0;font-size:.85rem}
.fs-aul-bag-msg.is-bad,.fs-aul-bag-msg.is-fail{color:rgb(var(--c-brand-text))}
.fs-aul-bag-back{background:none;border:0;padding:0;font:inherit;font-size:.82rem;color:rgb(var(--c-ink-400));text-decoration:underline;cursor:pointer;justify-self:center}
.fs-aul-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.fs-aul-toast{
  position:fixed;left:50%;bottom:26px;z-index:120;transform:translate(-50%,160%);
  background:rgb(var(--c-ink-950));color:rgb(var(--c-paper-soft));padding:.9em 1.6em;border-radius:999px;font-size:.88rem;
  box-shadow:0 16px 30px -14px var(--fs-aul-toast-drop);pointer-events:none;
}
.fs-aul-toast[data-show]{transform:translate(-50%,0)}

/* ── shade finder (home · 04): .shade-section .shade .shade-visual .lips ... ── */
.fs-aul-shade{background:var(--fs-aul-blush-light)}
.fs-aul-shgrid{display:grid;grid-template-columns:1fr 1.05fr;gap:72px;align-items:center}
.fs-aul-shade-visual{
  position:relative;aspect-ratio:1;display:grid;place-items:center;
  background:radial-gradient(circle,rgb(var(--c-paper-soft)) 0 58%,transparent 58.5%);
}
.fs-aul-shade-visual>.fs-aul-lips,.fs-aul-shade-visual>.fs-aul-shade-slot{grid-area:1 / 1}
.fs-aul-lips{width:72%;height:auto;display:block;filter:drop-shadow(0 18px 24px var(--fs-aul-sh-lips))}
/* the lip body takes the chosen shade; invalid / no shade = the brand rose */
.fs-aul-lip-fill{fill:var(--fs-aul-shade,rgb(var(--c-brand-text)))}
.fs-aul-lip-line{stroke:var(--fs-aul-lip-edge)}
.fs-aul-lip-hi{stroke:var(--fs-aul-white)}
.fs-aul-lip-gloss{fill:var(--fs-aul-white)}
/* a photo (or the empty slot's editor control) sits where the lips are */
.fs-aul-shade-slot{position:relative;z-index:2;display:block;width:72%;aspect-ratio:16 / 10;border-radius:22px;overflow:hidden}
.fs-aul-shade-slot>*,.fs-aul-shade-slot img{width:100%;height:100%;display:block}
.fs-aul-shade-slot img{object-fit:cover}
.fs-aul-shade-slot[data-empty]{overflow:visible}
.fs-aul-swatch-ring{
  position:absolute;right:8%;bottom:10%;width:92px;height:92px;border-radius:50%;
  background:rgb(var(--c-paper-soft));display:grid;place-items:center;box-shadow:0 12px 30px -10px var(--fs-aul-sh-ring);
}
.fs-aul-swatch-big,.fs-aul-result-swatch{border-radius:50%;background:var(--fs-aul-shade,rgb(var(--c-brand-text)))}
.fs-aul-swatch-big{width:66px;height:66px}
.fs-aul-optgroup{border:0;padding:0;margin:0 0 26px;min-width:0}
.fs-aul-legend{font-size:.74rem;line-height:normal;font-weight:500;letter-spacing:.2em;text-transform:uppercase;margin:0 0 12px;padding:0}
.fs-aul-opts{display:flex;flex-wrap:wrap;gap:10px}
.fs-aul-opt{cursor:pointer;position:relative;display:grid;gap:6px;font-size:.72rem;font-weight:500;line-height:normal;letter-spacing:.16em;text-transform:uppercase}
.fs-aul .fs-aul-opt input[type="radio"]{position:absolute;top:0;left:0;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}
.fs-aul-opt-face{
  display:block;padding:.8em 1.3em;border:1px solid var(--fs-aul-opt-line);border-radius:16px;background:var(--fs-aul-opt-bg);
  font-weight:400;
}
.fs-aul-opt-sub{display:block;font-size:.75rem;color:rgb(var(--c-ink-400))}
.fs-aul-opt input:checked+.fs-aul-opt-face{background:rgb(var(--c-ink-950));color:rgb(var(--c-paper-soft));border-color:rgb(var(--c-ink-950))}
.fs-aul-opt input:checked+.fs-aul-opt-face .fs-aul-opt-sub{color:var(--fs-aul-blush)}
.fs-aul-opt input:focus-visible+.fs-aul-opt-face{outline:2px solid rgb(var(--c-brand-text));outline-offset:2px}
.fs-aul-result{
  display:flex;align-items:center;gap:18px;padding:20px;background:rgb(var(--c-paper-soft));border-radius:22px;
  box-shadow:0 20px 40px -26px var(--fs-aul-sh-result);
}
.fs-aul-result-swatch{flex:none;width:54px;height:54px;box-shadow:inset 0 0 0 4px var(--fs-aul-swatch-edge)}
.fs-aul-result>div{flex:1}
.fs-aul .fs-aul-result-name{font-family:var(--font-display,'Cormorant Garamond','Times New Roman',serif);font-weight:500;font-size:1.6rem;line-height:1.1;margin:0}
.fs-aul .fs-aul-result-desc{font-size:.9rem;line-height:1.7;color:rgb(var(--c-ink-400));margin:2px 0 0}
@container fs-aul (max-width:900px){
  .fs-aul-shgrid{grid-template-columns:1fr}
  .fs-aul-shade-visual{max-width:440px;width:100%;margin:0 auto}
}
@container fs-aul (max-width:560px){
  .fs-aul-result{flex-wrap:wrap}
  .fs-aul-result .fs-aul-btn{width:100%}
  .fs-aul-hide-sm{display:none}
}

/* ── ritual (home · 05): .tabs .ritual .step .prod ───────────────── */
.fs-aul-tabs{display:inline-flex;margin-top:26px;padding:5px;background:rgb(var(--c-paper-soft));border:1px solid var(--fs-aul-line);border-radius:999px}
.fs-aul-tabbtn{
  font:400 .8rem var(--font-sans,'Jost','Century Gothic',system-ui,sans-serif);letter-spacing:.14em;text-transform:uppercase;
  padding:.85em 1.6em;border:0;border-radius:999px;background:transparent;color:rgb(var(--c-ink-950));cursor:pointer;
}
.fs-aul-tabbtn[aria-selected="true"]{background:rgb(var(--c-ink-950));color:rgb(var(--c-paper-soft))}
.fs-aul-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;position:relative}
.fs-aul-steps[hidden]{display:none}
.fs-aul-steps::before{
  content:"";position:absolute;top:34px;left:6%;right:6%;height:1px;
  background:repeating-linear-gradient(90deg,rgb(var(--c-accent)) 0 6px,transparent 6px 12px);
}
.fs-aul-steps li{position:relative;text-align:center;padding:0 8px}
.fs-aul-step{
  display:grid;place-items:center;width:68px;height:68px;margin:0 auto 22px;border-radius:50%;
  background:rgb(var(--c-paper));border:1px solid rgb(var(--c-accent));
  font-family:var(--font-display,'Cormorant Garamond','Times New Roman',serif);font-style:italic;font-weight:500;font-size:1.5rem;line-height:normal;
  color:rgb(var(--c-brand-text));position:relative;
}
.fs-aul .fs-aul-steps .fs-aul-h3{font-family:var(--font-display,'Cormorant Garamond','Times New Roman',serif);font-weight:500;line-height:1.05;letter-spacing:-.005em;color:rgb(var(--c-ink-950));font-size:1.9rem;margin:0 0 .1em}
.fs-aul .fs-aul-prod{font-size:.74rem;line-height:1.7;letter-spacing:.18em;text-transform:uppercase;color:rgb(var(--c-brand-text));margin:0 0 .8em}
.fs-aul .fs-aul-rbody{font-size:.95rem;line-height:1.7;color:rgb(var(--c-ink-400))}
@container fs-aul (max-width:1020px){
  .fs-aul-steps{grid-template-columns:repeat(2,1fr);row-gap:48px}
  .fs-aul-steps::before{display:none}
}
@container fs-aul (max-width:560px){
  .fs-aul-steps{grid-template-columns:1fr}
}

/* ── ingredients (home · 06): .ingredients .ing .in ──────────────── */
.fs-aul-ingredients{background:rgb(var(--c-paper-soft))}
.fs-aul-ings{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
@container fs-aul (max-width:1020px){.fs-aul-ings{grid-template-columns:repeat(2,1fr)}}
@container fs-aul (max-width:560px){.fs-aul-ings{grid-template-columns:1fr}}
.fs-aul-ing{
  padding:34px 28px;border:1px solid var(--fs-aul-line);border-radius:160px 160px 22px 22px;background:rgb(var(--c-paper));
  text-align:center;
}
.fs-aul-ing:hover{box-shadow:0 26px 40px -30px var(--fs-aul-sh-ing)}
/* the source's svg sits inline in the card (text-align:center), so the line box adds its descender */
.fs-aul-ing-art{position:relative}
.fs-aul-ing-icon{display:inline;vertical-align:baseline;width:82px;height:82px;margin:10px auto 18px;fill:none;stroke:var(--fs-aul-sage);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.fs-aul-ing-art.has-pic{width:120px;height:120px;margin:10px auto 18px;border-radius:50%;overflow:hidden}
.fs-aul-ing-art .fs-aul-slot{position:absolute;z-index:2;display:block;top:10px;left:50%;width:82px;height:82px;margin-left:-41px}
.fs-aul-ing-art.has-pic .fs-aul-slot{inset:0;width:auto;height:auto;margin:0}
.fs-aul-ing-art .fs-aul-slot>*,.fs-aul-ing-art .fs-aul-slot img{width:100%;height:100%;display:block}
.fs-aul-ing-art .fs-aul-slot img{object-fit:cover}
.fs-aul .fs-aul-ing .fs-aul-h3{font-family:var(--font-display,'Cormorant Garamond','Times New Roman',serif);font-weight:500;line-height:1.05;letter-spacing:-.005em;color:rgb(var(--c-ink-950));font-size:1.7rem;margin:0 0 .45em}
.fs-aul .fs-aul-ing-body{font-size:.93rem;line-height:1.7;color:rgb(var(--c-ink-400))}
.fs-aul-in{display:inline-block;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:rgb(var(--c-brand-text));border-top:1px solid var(--fs-aul-line);padding-top:12px}

/* ── hero (home · 01): .hero .hero-grid .hero-copy h1 .lead .cta-row .rating .hero-art .float-card ── */
.fs-aul-hero{background:radial-gradient(ellipse 70% 80% at 80% 40%,var(--fs-aul-blush-light),transparent 70%),rgb(var(--c-paper));overflow:hidden}
.fs-aul-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding:56px 0 72px}
.fs-aul .fs-aul-h1{font-size:clamp(3rem,calc(6.4 * 1cqi),5.6rem);line-height:.98;font-weight:400}
.fs-aul .fs-aul-lead{font-size:1.15rem;line-height:1.7;max-width:30em;color:rgb(var(--c-ink-400))}
.fs-aul-cta{display:flex;flex-wrap:wrap;gap:14px;margin:34px 0 30px}
.fs-aul-cta span.fs-aul-btn{cursor:default}
.fs-aul-rating{display:flex;align-items:center;gap:12px;font-size:.9rem;color:rgb(var(--c-ink-400))}
.fs-aul-hero-art{position:relative}
.fs-aul-hero-pic{position:relative;width:100%;max-width:560px;margin-left:auto;aspect-ratio:600 / 640}
.fs-aul-hero-svg{display:block;width:100%;height:auto}
.fs-aul-hero-pic>.fs-aul-slot{position:absolute;inset:0;z-index:2;display:block}
.fs-aul-hero-pic>.fs-aul-slot>*,.fs-aul-hero-pic>.fs-aul-slot img{width:100%;height:100%;display:block}
.fs-aul-hero-pic>.fs-aul-slot img{object-fit:cover}
.fs-aul-float{
  position:absolute;left:4%;bottom:14%;z-index:3;
  display:flex;align-items:center;gap:12px;padding:14px 20px;
  background:rgb(var(--c-paper-soft) / .82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:1px solid var(--fs-aul-float-edge);border-radius:18px;box-shadow:0 18px 40px -18px var(--fs-aul-float-drop);
}
.fs-aul-float strong{display:block;font-family:var(--font-display,'Cormorant Garamond','Times New Roman',serif);font-size:1.1rem;line-height:1.2}
.fs-aul-float-sub{font-size:.8rem;color:rgb(var(--c-ink-400))}
.fs-aul-live{width:10px;height:10px;border-radius:50%;background:var(--fs-aul-live);box-shadow:0 0 0 5px var(--fs-aul-live-ring);flex:none}
@container fs-aul (max-width:900px){
  .fs-aul-hero-grid{grid-template-columns:1fr;padding-top:40px}
  .fs-aul-hero-pic{margin-left:auto;margin-right:auto}
}
@container fs-aul (max-width:560px){.fs-aul-float{left:0;bottom:6%}}
/* the hero drawing: scenery by palette (tokens above), the two products in pack-shot colours */
.fs-aul-ha-gl0{stop-color:#E3AE9C}.fs-aul-ha-gl1{stop-color:#F6D9CE}.fs-aul-ha-gl2{stop-color:#D3937F}
.fs-aul-ha-go0{stop-color:#B38A55}.fs-aul-ha-go1{stop-color:#EED8AE}.fs-aul-ha-go2{stop-color:#A47C4A}
.fs-aul-ha-ja0{stop-color:#EADDD2}.fs-aul-ha-ja1{stop-color:#FFFDFB}.fs-aul-ha-ja2{stop-color:#E2D3C6}
.fs-aul-ha-ar0{stop-color:var(--fs-aul-ha-arch0)}.fs-aul-ha-ar1{stop-color:var(--fs-aul-ha-arch1)}
.fs-aul-ha-pa0{stop-color:var(--fs-aul-ha-pa0)}.fs-aul-ha-pa1{stop-color:var(--fs-aul-ha-pa1)}
.fs-aul-ha-pb0{stop-color:var(--fs-aul-ha-pb0)}.fs-aul-ha-pb1{stop-color:var(--fs-aul-ha-pb1)}
.fs-aul-ha-sun{fill:var(--fs-aul-ha-sun)}
.fs-aul-ha-stem{stroke:var(--fs-aul-ha-stem)}
.fs-aul-ha-leaf-a{fill:var(--fs-aul-sage)}
.fs-aul-ha-leaf-b{fill:var(--fs-aul-ha-leaf-b)}
.fs-aul-ha-white{fill:var(--fs-aul-white)}
.fs-aul-ha-white-line{stroke:var(--fs-aul-white)}
.fs-aul-ha-ink{fill:var(--fs-aul-plum)}
.fs-aul-ha-ink-soft{fill:var(--fs-aul-plum-soft)}
.fs-aul-ha-label{fill:var(--fs-aul-pk-label)}
.fs-aul-ha-band{fill:var(--fs-aul-pk-band)}
.fs-aul-ha-rule{stroke:var(--fs-aul-rose-soft)}
.fs-aul-ha-petal{fill:var(--fs-aul-rose-soft)}
.fs-aul-ha-spark{fill:rgb(var(--c-accent))}

/* ── reviews (home · 08): .reviews .review blockquote figcaption .skin ── */
.fs-aul-rvgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.fs-aul-review{
  margin:0;padding:38px 32px;background:rgb(var(--c-paper-soft));border-radius:26px;border:1px solid var(--fs-aul-line);
  display:flex;flex-direction:column;gap:16px;
}
.fs-aul-review>.fs-aul-sample{align-self:flex-start;margin-left:0}
.fs-aul .fs-aul-q{margin:0;padding:0;border:0;font:italic 400 1.45rem/1.35 var(--font-display,'Cormorant Garamond','Times New Roman',serif);flex:1;color:inherit}
.fs-aul-cap{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.9rem}
.fs-aul-skin{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;background:var(--fs-aul-blush-light);padding:.35em .9em;border-radius:999px}
@container fs-aul (max-width:1020px){.fs-aul-rvgrid{grid-template-columns:1fr;max-width:640px;margin-inline:auto}}

/* ── refill (home · 09): .refill-section .refill .refill-steps .refill-stat .big-num ── */
.fs-aul-refill{background:var(--fs-aul-sage-light)}
.fs-aul-refill-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:64px;align-items:center}
.fs-aul-refill-grid.is-solo{grid-template-columns:1fr}
/* the source rule ".refill-copy > p" (0,1,1) also beats ".label": the eyebrow turns muted, as in the export */
.fs-aul .fs-aul-refill-copy>p{color:rgb(var(--c-ink-400));max-width:32em}
.fs-aul .fs-aul-copyp{line-height:1.7}
.fs-aul-rsteps{list-style:none;padding:0;margin:28px 0 0;display:flex;flex-wrap:wrap;gap:12px}
.fs-aul .fs-aul-rsteps li{display:flex;align-items:center;gap:10px;line-height:1.7;padding:.7em 1.2em .7em .7em;background:rgb(var(--c-paper-soft));border-radius:999px;font-size:.92rem}
.fs-aul-rstep-n{
  width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--fs-aul-sage);color:rgb(var(--c-ink-950));
  font:italic 500 1rem var(--font-display,'Cormorant Garamond','Times New Roman',serif);
}
.fs-aul-stat{
  text-align:center;padding:56px 32px;background:rgb(var(--c-paper-soft));border-radius:50%;aspect-ratio:1;
  display:grid;place-content:center;max-width:380px;margin-inline:auto;box-shadow:0 30px 60px -40px var(--fs-aul-stat-drop);
}
.fs-aul .fs-aul-big-num{font:400 clamp(3.4rem,calc(7 * 1cqi),5.4rem)/1 var(--font-display,'Cormorant Garamond','Times New Roman',serif);color:rgb(var(--c-brand-text));margin:0 0 8px}
.fs-aul .fs-aul-stat-l{margin:0;font-size:.82rem;line-height:1.7;letter-spacing:.14em;text-transform:uppercase}
@container fs-aul (max-width:900px){.fs-aul-refill-grid{grid-template-columns:1fr}}

/* ── studio (home · 07): .studio-section .studio .treatments .booking .two ──
   The band is plum in both modes (like the promises band); its words are the
   source's cream. The card is the family's cream (paper-soft). */
.fs-aul-studio{background:var(--fs-aul-plum);color:rgb(var(--fs-aul-cream-rgb));position:relative;overflow:hidden}
.fs-aul-studio::before{content:"";position:absolute;width:520px;height:520px;right:-160px;top:-200px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,rgb(var(--c-accent)) 18%,transparent),transparent 70%)}
.fs-aul-studio-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:72px;align-items:start;position:relative}
.fs-aul .fs-aul-studio-copy .fs-aul-h2{color:inherit}
.fs-aul .fs-aul-studio-copy .fs-aul-h2 em{color:rgb(var(--fs-aul-blush-rgb))}
/* the source's ".studio-copy > p" (0,1,1) also beats ".label-light": the eyebrow is the soft cream, as in the export */
.fs-aul .fs-aul-studio-copy>p{color:rgb(var(--fs-aul-cream-rgb) / .8);max-width:34em}
.fs-aul-treats{list-style:none;padding:0;margin:34px 0 0}
.fs-aul .fs-aul-treat{display:flex;justify-content:space-between;gap:24px;padding:20px 0;line-height:1.7;border-top:1px solid rgb(var(--fs-aul-cream-rgb) / .16)}
.fs-aul .fs-aul-treat:last-child{border-bottom:1px solid rgb(var(--fs-aul-cream-rgb) / .16)}
.fs-aul .fs-aul-treat .fs-aul-h3{font-size:1.55rem;margin:0 0 .15em;color:inherit}
.fs-aul .fs-aul-treat-d{margin:0;font-size:.92rem;line-height:1.7;color:rgb(var(--fs-aul-cream-rgb) / .7)}
.fs-aul .fs-aul-treat-m{flex:none;font-size:.8rem;letter-spacing:.1em;color:rgb(var(--c-accent));white-space:nowrap;padding-top:6px}
.fs-aul-booking{background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));padding:38px;padding-top:64px;border-radius:200px 200px 26px 26px;display:grid;gap:16px;position:sticky;top:110px}
.fs-aul .fs-aul-booking-h{font-size:2rem;text-align:center}
.fs-aul-booking-done{text-align:center;outline:none}
.fs-aul .fs-aul-booking-sum{margin:0 0 1em;line-height:1.7}
.fs-aul-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fs-aul-field.is-err .fs-aul-input{border-color:rgb(var(--c-brand-text))}
.fs-aul .fs-aul-booking .fs-aul-fine{margin:0}
.fs-aul .fs-aul-form-msg{margin:0;font-size:.85rem;line-height:1.7}
.fs-aul .fs-aul-form-msg.is-bad,.fs-aul .fs-aul-form-msg.is-fail{color:rgb(var(--c-brand-text))}
.fs-aul select.fs-aul-input{appearance:auto}
@container fs-aul (max-width:900px){.fs-aul-studio-grid{grid-template-columns:1fr}.fs-aul-booking{position:static}}
@container fs-aul (max-width:560px){.fs-aul-two{grid-template-columns:1fr}.fs-aul-booking{padding:28px 22px;padding-top:56px}}

/* ── newsletter (home · 10): .newsletter .news-inner .news-form .news-ok ── */
@container fs-aul (min-width:561px){.fs-aul-news-sec{padding-bottom:130px}}
.fs-aul-news-inner{text-align:center;max-width:720px;margin-inline:auto;padding:80px clamp(24px,6vw,72px) 60px;background:var(--fs-aul-blush-light);border-radius:400px 400px 30px 30px}
.fs-aul .fs-aul-news-p{color:rgb(var(--c-ink-400));line-height:1.7}
.fs-aul-news-form{display:flex;gap:10px;max-width:480px;margin:26px auto 0}
.fs-aul-news-form .fs-aul-input{flex:1;min-width:0;border-radius:999px;padding-left:1.4em}
.fs-aul .fs-aul-news-ok{font:italic 1.3rem var(--font-display,'Cormorant Garamond','Times New Roman',serif);line-height:normal;margin:20px 0 0;outline:none}
.fs-aul .fs-aul-news-msg{margin:14px 0 0;font-size:.85rem}
@container fs-aul (max-width:560px){.fs-aul-news-form{flex-direction:column}.fs-aul-news-inner{border-radius:200px 200px 24px 24px;padding-top:64px}}

/* ── footer (home · 99): .site-footer .footer-grid .logo-light .footer-base ──
   Plum ground and cream words as printed in both modes (as the studio band). */
.fs-aul-footer{background:var(--fs-aul-plum);color:rgb(var(--fs-aul-cream-rgb));padding:80px 0 0}
.fs-aul-ft-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:40px}
.fs-aul-ft-logo{display:inline-flex;flex-direction:column;align-items:flex-start;margin-bottom:18px;padding-left:.32em;font-family:var(--font-display,'Cormorant Garamond','Times New Roman',serif);font-size:1.65rem;font-weight:500;line-height:1;letter-spacing:.32em;text-transform:uppercase;text-decoration:none;color:rgb(var(--fs-aul-cream-rgb))}
.fs-aul-ft-mark{display:block;width:34px;height:20px;margin-bottom:4px;color:rgb(var(--c-accent))}
.fs-aul .fs-aul-ft-p{margin:0 0 1em;font-size:.92rem;color:rgb(var(--fs-aul-cream-rgb) / .7)}
.fs-aul .fs-aul-ft-h{margin:0 0 16px;font-family:var(--font-sans,'Jost','Century Gothic',system-ui,sans-serif);font-size:.74rem;font-weight:500;line-height:normal;letter-spacing:.2em;text-transform:uppercase;color:rgb(var(--c-accent))}
.fs-aul-ft-ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
/* classed: the platform's .fs-typo li:not([class]) (line-height 1.6) would win */
.fs-aul .fs-aul-ft-li{line-height:1.7}
.fs-aul .fs-aul-ft-a{text-decoration:none;font-size:.95rem;line-height:1.7;color:rgb(var(--fs-aul-cream-rgb) / .85)}
.fs-aul a.fs-aul-ft-a:hover{color:var(--fs-aul-blush)}
.fs-aul-ft-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:64px;padding:24px 0 30px;border-top:1px solid rgb(var(--fs-aul-cream-rgb) / .14)}
.fs-aul .fs-aul-ft-small{margin:0;font-size:.8rem;color:rgb(var(--fs-aul-cream-rgb) / .7)}
.fs-aul .fs-aul-ft-small .fs-aul-ft-a{font-size:inherit;color:inherit}
@container fs-aul (max-width:900px){.fs-aul-ft-grid{grid-template-columns:1fr 1fr}}
@container fs-aul (max-width:560px){.fs-aul-ft-grid{grid-template-columns:1fr}.fs-aul-ft-logo{font-size:1.3rem}}

/* editor-only notes: an invented figure still the shipped sample, missing data */
.fs-aul-sample{display:inline-block;margin-left:.6em;padding:0 6px;border:1px dashed rgb(var(--c-ink-400) / .7);border-radius:4px;font-size:.7rem;font-weight:600;letter-spacing:0;text-transform:none;color:rgb(var(--c-ink-400));vertical-align:middle;white-space:nowrap}
.fs-aul-sample::before{content:attr(data-note)}
.fs-aul-missing{display:inline-block;padding:0 6px;border:1px dashed rgb(var(--c-ink-400) / .7);border-radius:4px;font-size:.8em;font-weight:600;color:rgb(var(--c-ink-400))}
.fs-aul-missing::before{content:attr(data-missing)}

/* ── MOTION (port Task 9) ────────────────────────────────────────
   The source's own effects, nothing more (css/style.css, js/main.js):

     hero picture         rise 1.2s (24px up, fades in)             aulRise
     hero float card      float 6s ease-in-out, endless             aulFloat
     promises band        marquee 40s linear, endless               aulMarquee
     ritual steps         rise .6s, 80ms apart, per panel shown     aulRitual
     refill figure        count-up 1.8s ease-out cubic, once, 50%   aulCount (JS)
     bag count            bump .45s on an add                       aulBump (chrome sheet)
     product pictures     lift 10px + 1.04 scale, .6s               aulLift
     ingredient cards     lift 6px, .35s                            aulLift
     lip + swatches       colour fade .6s                           aulShade
     bag drawer + bar     slide .45s, bar width .4s                 aulDrawer
     toast                slide .35s                                aulToast
     menu line, burger    line grows .3s, bars cross .25s           aulMenu (menu-styles.ts, chrome sheet)
     buttons, tabs, shade options   colour fades .2-.25s            (no switch)

   Every one sits behind the same gates:
     1. [data-fs-motion="on"] - the published site and the template preview
        at Motion On or Subtle; the editor canvas, Off and any surface
        without the shell match nothing and stay still,
     2. @media screen and (prefers-reduced-motion: no-preference) (the
        source's own reduced path is "no animation, no transition"),
     3. its Micro-animations switch, var(--fs-anim-<id>, <the source's
        value>), ids in themes/aurelle.ts microAnimations (check:anim).
   SUBTLE: every travel is calc(<px> * var(--fs-motion-dist, 1)) (0.3 under
   Subtle) and every time calc(<t> * var(--fs-anim-speed, 1)) (x1.7). The
   source has no stricter Subtle path of its own, so none is invented. The
   marquee's -50% is the loop's length (it must land on the second copy to
   be seamless), not a travel, so it is not scaled: Subtle slows it to 68s.
   FILL: backwards only; the resting rule is the end state (no keyframe holds
   a value past its animation - the source's "both" is NOT copied). No
   clip-path. The slide of the drawer and toast is a transition between two
   resting rules (closed / open), so nothing is held. Off and reduced motion
   stop the colour fades too. */
@keyframes fs-aul-rise{from{opacity:0;transform:translateY(calc(24px * var(--fs-motion-dist, 1)))}}
@keyframes fs-aul-float{50%{transform:translateY(calc(-10px * var(--fs-motion-dist, 1)))}}
@keyframes fs-aul-marquee{to{transform:translateX(-50%)}}
.fs-aul:not([data-fs-motion="on"] *),.fs-aul:not([data-fs-motion="on"] *) *,.fs-aul:not([data-fs-motion="on"] *) *::before,.fs-aul:not([data-fs-motion="on"] *) *::after,
.fs-aul-bagscope:not([data-fs-motion="on"] *),.fs-aul-bagscope:not([data-fs-motion="on"] *) *,.fs-aul-bagscope:not([data-fs-motion="on"] *) *::before,.fs-aul-bagscope:not([data-fs-motion="on"] *) *::after{animation:none !important;transition:none !important}
@media (prefers-reduced-motion:reduce){
  .fs-aul,.fs-aul *,.fs-aul *::before,.fs-aul *::after,.fs-aul-bagscope,.fs-aul-bagscope *,.fs-aul-bagscope *::before,.fs-aul-bagscope *::after{animation:none !important;transition:none !important}
}
@media screen and (prefers-reduced-motion:no-preference){
  /* aulRise - the hero picture arrives */
  [data-fs-motion="on"] .fs-aul-hero-pic{animation:var(--fs-anim-aulRise, fs-aul-rise calc(1.2s * var(--fs-anim-speed, 1)) var(--fs-aul-ease) backwards)}
  /* aulFloat - the card on the picture drifts (no card, nothing to move) */
  [data-fs-motion="on"] .fs-aul-float{animation:var(--fs-anim-aulFloat, fs-aul-float calc(6s * var(--fs-anim-speed, 1)) ease-in-out infinite)}
  /* aulMarquee - the promises band slides to its second copy and starts over */
  [data-fs-motion="on"] .fs-aul-values:not(.is-editing) .fs-aul-values-track{animation:var(--fs-anim-aulMarquee, fs-aul-marquee calc(40s * var(--fs-anim-speed, 1)) linear infinite)}
  /* aulRitual - each step rises, 80ms after the one before, when its panel is shown */
  [data-fs-motion="on"] .fs-aul-steps li{animation:var(--fs-anim-aulRitual, fs-aul-rise calc(.6s * var(--fs-anim-speed, 1)) ease backwards)}
  [data-fs-motion="on"] .fs-aul-steps li:nth-child(2){animation-delay:calc(.08s * var(--fs-anim-speed, 1))}
  [data-fs-motion="on"] .fs-aul-steps li:nth-child(3){animation-delay:calc(.16s * var(--fs-anim-speed, 1))}
  [data-fs-motion="on"] .fs-aul-steps li:nth-child(4){animation-delay:calc(.24s * var(--fs-anim-speed, 1))}
  /* aulLift - a product's drawing (not a photo in its slot) and an ingredient card rise under the pointer */
  [data-fs-motion="on"] .fs-aul-product-art img:not(.fs-aul-slot *){transition:var(--fs-anim-aulLift, transform calc(.6s * var(--fs-anim-speed, 1)) var(--fs-aul-ease))}
  [data-fs-motion="on"] .fs-aul-product:hover .fs-aul-product-art img:not(.fs-aul-slot *){transform:var(--fs-anim-aulLift, translateY(calc(-10px * var(--fs-motion-dist, 1))) scale(calc(1 + .04 * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] .fs-aul-ing{transition:var(--fs-anim-aulLift, transform calc(.35s * var(--fs-anim-speed, 1)), box-shadow calc(.35s * var(--fs-anim-speed, 1)))}
  [data-fs-motion="on"] .fs-aul-ing:hover{transform:var(--fs-anim-aulLift, translateY(calc(-6px * var(--fs-motion-dist, 1))))}
  /* aulShade - the lips and both swatches fade to the chosen shade */
  [data-fs-motion="on"] .fs-aul-lip-fill{transition:var(--fs-anim-aulShade, fill calc(.6s * var(--fs-anim-speed, 1)) ease)}
  [data-fs-motion="on"] .fs-aul-swatch-big,[data-fs-motion="on"] .fs-aul-result-swatch{transition:var(--fs-anim-aulShade, background calc(.6s * var(--fs-anim-speed, 1)))}
  /* aulDrawer - the bag slides in (closed and open are both resting rules); its free-shipping bar fills */
  [data-fs-motion="on"] .fs-aul-bag{transition:var(--fs-anim-aulDrawer, transform calc(.45s * var(--fs-anim-speed, 1)) var(--fs-aul-ease))}
  [data-fs-motion="on"] .fs-aul-ship-bar span{transition:var(--fs-anim-aulDrawer, width calc(.4s * var(--fs-anim-speed, 1)))}
  /* aulToast - the "added to your bag" note slides up */
  [data-fs-motion="on"] .fs-aul-toast{transition:var(--fs-anim-aulToast, transform calc(.35s * var(--fs-anim-speed, 1)) ease)}
  /* colour fades on buttons, tabs and the shade options (.fs-aul-btn is also an anchor, which the platform's
     a[class*="btn"] press rule would otherwise win over: one more class beats it) */
  [data-fs-motion="on"] :is(.fs-aul,.fs-aul-bagscope) .fs-aul-btn{transition:background calc(.25s * var(--fs-anim-speed, 1)),color calc(.25s * var(--fs-anim-speed, 1)),transform calc(.25s * var(--fs-anim-speed, 1))}
  [data-fs-motion="on"] .fs-aul-add,[data-fs-motion="on"] .fs-aul-tabbtn{transition:background calc(.25s * var(--fs-anim-speed, 1)),color calc(.25s * var(--fs-anim-speed, 1))}
  [data-fs-motion="on"] .fs-aul-opt-face{transition:background calc(.2s * var(--fs-anim-speed, 1)),border-color calc(.2s * var(--fs-anim-speed, 1))}
}

/* ── platform motion stands down on Aurelle blocks ────────────────
   Aurelle's own motion IS the motion on its blocks (above), so the
   platform baseline (motion-base.ts) stands down through its own
   off-vars: no section slide, no image fade, no press scale, and no
   platform card lift (Tidewell P58 - designed out from day one). */
[data-fs-blocktype^="favAul"]{--fs-anim-fs-sectionin-name:none}
.fs-aul,.fs-aul-bagscope{--fs-anim-fs-imgin-name:none;--fs-anim-fs-press:none;--fs-anim-fs-lift-t:none;--fs-anim-fs-lift-prop:none}
/* Owner-accepted (2026-10-25): on a phone the Add buttons and the Morning / Evening tabs (39-41px tall) get an invisible 44px hit area.
   An overlay only: no visible size, spacing or layout change. */
@container fs-aul (max-width:560px){
  .fs-aul-add,.fs-aul-tabbtn,button.fs-aul-add-shade{position:relative}
  .fs-aul-add::after,.fs-aul-tabbtn::after,button.fs-aul-add-shade::after{content:"";position:absolute;left:50%;top:50%;width:max(100%,44px);height:max(100%,44px);transform:translate(-50%,-50%)}
}


/* ── family root ──────────────────────────────────────────────── */
.fs-och{
  container-type:inline-size;container-name:fs-och;
  position:relative;
  color:rgb(var(--c-ink-950));
  font-family:var(--font-sans,'Karla',system-ui,-apple-system,'Segoe UI',sans-serif);
  font-size:1.06rem;font-weight:400;line-height:1.7;
}
/* The basket chrome (popover, toast; OchBasketPopover.tsx) is
   portalled OUT of the block's size container (a container is the containing
   block of fixed children, Aurelle P5), so it carries its own scope class and
   shares the family's literals and both mode sets below. */
.fs-och-bk{
  color:rgb(var(--c-ink-950));
  font-family:var(--font-sans,'Karla',system-ui,-apple-system,'Segoe UI',sans-serif);
  font-size:1.06rem;font-weight:400;line-height:1.7;
}
.fs-och,.fs-och-bk{
  /* the source's one-off literals, named once (never a colour declaration) */
  --fs-och-oat:#DCCFBD;
  --fs-och-stone:#CDBFAE;
  --fs-och-umber:#6B4632;
  --fs-och-sage:#8E987C;
  --fs-och-band:rgba(205,191,174,.45);
  --fs-och-btn-hover:#8E4C30;
  --fs-och-chip-hover:#fff8ee;
  --fs-och-review-2:#EFE6DA;
  --fs-och-marq-sep:#E9C3A7;
  --fs-och-letter-body:#F1DCCB;
  --fs-och-feature-body:#E6D3C2;
  --fs-och-foot-text:#E2D3C2;
  --fs-och-foot-fine:#B9A797;
  --fs-och-foot-btn-hover:#241913;
  --fs-och-white:#ffffff;
  --fs-och-bisque:#F3ECE2;
  --fs-och-cocoa:#3B2A21;
  --fs-och-letter-shadow:inset 0 3px 0 rgba(255,255,255,.15),inset 0 -14px 30px rgba(0,0,0,.15),0 30px 60px -40px rgba(91,40,20,.8);
  --fs-och-feature-bar:rgba(255,255,255,.15);
  --fs-och-feature-line:rgba(255,255,255,.2);
  --fs-och-feature-fill:rgb(var(--c-accent));
  --fs-och-feature-desc:#E6D3C2;
  --fs-och-blob:radial-gradient(circle at 42% 34%,#EADCC9 0%,#D7C4AD 60%,#C8B39A 100%);
  --fs-och-stage:radial-gradient(circle at 45% 32%,#EFE3D2,#D6C3AC 70%,#C5AF95);
  --fs-och-slab:inset 0 2px 0 rgba(255,255,255,.45),inset 0 -8px 18px rgba(91,58,41,.1),0 18px 40px -26px rgba(59,42,33,.5);
  --fs-och-btn-shadow:inset 0 2px 0 rgba(255,255,255,.22),inset 0 -4px 8px rgba(0,0,0,.14),0 10px 20px -12px rgba(91,40,20,.7);
  --fs-och-ease:cubic-bezier(.34,1.45,.64,1);
}
.dark :is(.fs-och,.fs-och-bk):not(:where(.fs-preview-light *)){
  /* derived dark set (the source has none): warm browns, the sage kept */
  --fs-och-oat:#3A2D24;
  --fs-och-stone:#4A3A2E;
  --fs-och-band:rgba(74,58,46,.45);
  --fs-och-umber:#D9B79C;
  --fs-och-btn-hover:#B96A47;
  --fs-och-chip-hover:#4A3A2E;
  --fs-och-review-2:#33261E;
  /* the highlight card is light tan in the dark set (umber lifted), so its words go dark */
  --fs-och-feature-body:#4A3524;
  --fs-och-feature-bar:rgba(43,32,25,.18);
  --fs-och-feature-line:rgba(43,32,25,.28);
  --fs-och-feature-fill:rgb(var(--c-brand-600));
  --fs-och-feature-desc:#4A3524;
  --fs-och-foot-btn-hover:#120C09;
  --fs-och-blob:radial-gradient(circle at 42% 34%,#4A392D 0%,#3A2D24 60%,#2F241C 100%);
  --fs-och-stage:radial-gradient(circle at 45% 32%,#4A392D,#3A2D24 70%,#2F241C);
  --fs-och-slab:inset 0 2px 0 rgba(255,255,255,.08),inset 0 -8px 18px rgba(0,0,0,.25),0 18px 40px -26px rgba(0,0,0,.7);
}
/* The site wrapper's own light marker beats a .dark on <html> that came
   from the visitor's OS (Brimwell's / Tidewell's rule). */
.fs-preview-light :is(.fs-och,.fs-och-bk){
  --fs-och-oat:#DCCFBD;
  --fs-och-stone:#CDBFAE;
  --fs-och-band:rgba(205,191,174,.45);
  --fs-och-umber:#6B4632;
  --fs-och-btn-hover:#8E4C30;
  --fs-och-chip-hover:#fff8ee;
  --fs-och-review-2:#EFE6DA;
  --fs-och-feature-body:#E6D3C2;
  --fs-och-feature-bar:rgba(255,255,255,.15);
  --fs-och-feature-line:rgba(255,255,255,.2);
  --fs-och-feature-fill:rgb(var(--c-accent));
  --fs-och-feature-desc:#E6D3C2;
  --fs-och-foot-btn-hover:#241913;
  --fs-och-blob:radial-gradient(circle at 42% 34%,#EADCC9 0%,#D7C4AD 60%,#C8B39A 100%);
  --fs-och-stage:radial-gradient(circle at 45% 32%,#EFE3D2,#D6C3AC 70%,#C5AF95);
  --fs-och-slab:inset 0 2px 0 rgba(255,255,255,.45),inset 0 -8px 18px rgba(91,58,41,.1),0 18px 40px -26px rgba(59,42,33,.5);
}
.fs-och *,.fs-och *::before,.fs-och *::after,.fs-och-bk *,.fs-och-bk *::before,.fs-och-bk *::after{box-sizing:border-box}
.fs-och-wire{filter:grayscale(1) contrast(.5)}
.fs-och a{color:inherit}

/* ── base: .wrap, type, .eyebrow, .hand, .btn, .chip, .section ── */
/* .wrap{width:min(1200px,100% - 32px)} - the width follows a Site Settings
   layout first (--fs-layout-max), then the shell. */
.fs-och-wrap{
  width:min(var(--fs-layout-max,var(--fs-shell-max,1200px)),100% - 32px);margin-inline:auto;
}
.fs-och h1,.fs-och h2,.fs-och h3,.fs-och h4{
  font-family:var(--font-display,'Young Serif',Georgia,serif);
  font-weight:400;line-height:1.08;margin:0 0 .5em;letter-spacing:-.01em;color:rgb(var(--c-ink-950));
}
.fs-och h2,.fs-och .fs-och-h2{font-size:clamp(2.1rem,calc(4.4 * 1cqi),3.4rem)}
.fs-och h1 em,.fs-och h2 em{font-style:normal;color:rgb(var(--c-brand-text))}
.fs-och p{margin:0 0 1em}
.fs-och-sr{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fs-och :focus-visible,.fs-och-bk :focus-visible{outline:2.5px solid rgb(var(--c-brand-text));outline-offset:3px;border-radius:8px}
.fs-och [hidden],.fs-och-bk [hidden]{display:none !important}
/* .eyebrow{font:700 .74rem body;letter-spacing:.2em;upper;color:clay;mb 1em} */
.fs-och-eyebrow{
  font-size:.74rem;font-weight:700;line-height:normal;letter-spacing:.2em;text-transform:uppercase;
  color:rgb(var(--c-brand-text));margin:0 0 1em;
}
/* .hand{font:600 1.55rem/1.2 Caveat;color:clay} */
.fs-och-hand{
  font-family:var(--font-accent,'Caveat','Segoe Print',cursive);font-weight:600;
  font-size:1.55rem;line-height:1.2;color:rgb(var(--c-brand-text));
}

/* .btn - solid clay pill; .btn-line outlined cocoa; .btn-small */
.fs-och-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  padding:.95em 1.7em;border-radius:999px;border:0;cursor:pointer;
  font-family:inherit;font-size:.95rem;font-weight:600;line-height:normal;text-decoration:none;
  color:var(--fs-on-brand);background:rgb(var(--c-brand-600));
  box-shadow:var(--fs-och-btn-shadow);
}
.fs-och-btn:hover{background:var(--fs-och-btn-hover)}
.fs-och-btn-line{background:transparent;color:rgb(var(--c-ink-950));box-shadow:inset 0 0 0 2px rgb(var(--c-ink-950))}
.fs-och-btn-line:hover{background:rgb(var(--c-ink-950));color:rgb(var(--c-paper-soft))}
.fs-och-btn-small{padding:.7em 1.25em;font-size:.88rem}
/* a link drawn as a button: the .fs-och a{color:inherit} rule would otherwise win over the button's own colour */
.fs-och a.fs-och-btn{color:var(--fs-on-brand)}
.fs-och a.fs-och-btn-line{color:rgb(var(--c-ink-950))}
.fs-och a.fs-och-btn-line:hover{color:rgb(var(--c-paper-soft))}
/* .chip - bisque pill; .is-on / aria-pressed = cocoa fill */
.fs-och-chip{
  padding:.5em 1.1em;border-radius:999px;cursor:pointer;border:0;
  font-family:inherit;font-size:.88rem;font-weight:600;line-height:normal;
  color:rgb(var(--c-ink-950));background:rgb(var(--c-paper-soft));
  box-shadow:inset 0 0 0 1.5px rgb(var(--c-ink-950) / .16),0 4px 10px -8px rgb(var(--c-ink-950) / .5);
}
.fs-och-chip:hover{background:var(--fs-och-chip-hover)}   /* the 2px lift is the motion block's (ochLift) */
.fs-och-chip.is-on,.fs-och-chip[aria-pressed="true"]{background:rgb(var(--c-ink-950));color:rgb(var(--c-paper-soft));box-shadow:none}

/* .section{padding:120px 0} (84 at the source's 560px) */
.fs-och-section{padding-block:120px}
@container fs-och (max-width:560px){.fs-och-section{padding-block:84px}}
/* .section-head - flex between; .center - column, centred; .section-note */
.fs-och-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 40px;margin-bottom:54px}
.fs-och-head h2{margin:0}
.fs-och-head-centre{flex-direction:column;align-items:center;text-align:center}
.fs-och-head-centre .fs-och-eyebrow{margin-bottom:.4em}
.fs-och .fs-och-note{max-width:28em;color:rgb(var(--c-ink-400));margin:0}

/* forms: label / input / textarea */
.fs-och-field{display:grid;gap:6px;font-weight:600;font-size:.9rem}
.fs-och-input{
  font-family:inherit;font-size:1rem;font-weight:400;line-height:normal;color:rgb(var(--c-ink-950));
  padding:.85em 1em;border:0;border-radius:16px;resize:vertical;width:100%;
  background:rgb(var(--c-paper));
  box-shadow:inset 0 3px 6px rgba(91,58,41,.14),inset 0 -1px 0 rgba(255,255,255,.6);
}
.fs-och-input:focus{outline:none;box-shadow:inset 0 3px 6px rgba(91,58,41,.14),0 0 0 2.5px rgb(var(--c-accent))}


/* ── favOchProducts (home · 03, #shop) ─────────────────────────────
   .filters / .products / .product / .product-art / .stock / .product-info /
   .price / .product-meta / .add / .shop-note. The hover end states are here;
   the source's transitions (border-radius .9s, picture .7s, the add button's
   squish) and the .rise reveal are the MOTION block's (end of this sheet), behind the motion rules
   (lesson 18): class hooks fs-och-rise / fs-och-product-art / fs-och-add. */
.fs-och-filters{display:flex;flex-wrap:wrap;gap:8px}
.fs-och-pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:50px 30px}
.fs-och-product{display:flex;flex-direction:column}
.fs-och-product-art{
  position:relative;aspect-ratio:1;display:grid;place-items:center;margin-bottom:18px;
  background:var(--fs-och-tint,var(--fs-och-oat));border-radius:52% 48% 44% 56% / 48% 54% 46% 52%;
  box-shadow:inset 0 3px 0 rgba(255,255,255,.4),inset 0 -14px 30px rgba(91,58,41,.14);
}
.fs-och-product:nth-child(3n+2) .fs-och-product-art{border-radius:46% 54% 56% 44% / 54% 44% 56% 46%}
.fs-och-product:nth-child(3n) .fs-och-product-art{border-radius:56% 44% 50% 50% / 44% 56% 44% 56%}
.fs-och-product-art>img{width:84%;max-width:100%;height:auto;display:block}
/* a photo in the picture slot fills the blob (O9, L15): cover, no inset, no lift */
.fs-och-product-art .fs-och-slot{position:absolute;inset:0;z-index:2;display:block;border-radius:inherit;overflow:hidden}
.fs-och-product-art .fs-och-slot>*,.fs-och-product-art .fs-och-slot img{width:100%;height:100%}
.fs-och-product-art .fs-och-slot img{object-fit:cover;max-width:none;transform:none}
.fs-och-slot[data-empty]>[data-editable]{background:transparent}
.fs-och-slot[data-empty]>[data-editable]>span:first-child{visibility:hidden}
.fs-och-product-art.has-pic>img{display:none}
.fs-och-stock{
  position:absolute;top:12%;left:6%;z-index:3;padding:.15em .8em;border-radius:999px;
  background:rgb(var(--c-paper-soft));font-family:var(--font-accent,'Caveat','Segoe Print',cursive);
  font-weight:600;font-size:1.15rem;line-height:normal;color:rgb(var(--c-brand-text));transform:rotate(-6deg);
  box-shadow:0 6px 14px -10px rgba(59,42,33,.6);
}
.fs-och-product-info{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.fs-och .fs-och-pname{font-size:1.5rem;margin:0}
.fs-och-price{font-family:var(--font-display,'Young Serif',Georgia,serif);font-weight:400;font-size:1.3rem;line-height:normal;color:var(--fs-och-umber)}
.fs-och .fs-och-pmeta{color:rgb(var(--c-ink-400));font-size:.92rem;margin:2px 0 16px}
.fs-och-add{
  margin-top:auto;padding:.85em;border-radius:999px;border:0;cursor:pointer;
  font-family:inherit;font-size:.92rem;font-weight:600;line-height:normal;text-align:center;
  color:rgb(var(--c-ink-950));background:transparent;box-shadow:inset 0 0 0 2px rgb(var(--c-ink-950));
}
.fs-och-add:hover{background:rgb(var(--c-ink-950));color:rgb(var(--c-paper-soft))}
.fs-och-add.is-added,.fs-och-add.is-added:hover{background:var(--fs-och-sage);color:var(--fs-och-white);box-shadow:none}
/* editing: a plain box with the same look (words cannot live in a disabled button) */
.fs-och-add[data-static]{cursor:default}
.fs-och-add[data-static]:hover{background:transparent;color:rgb(var(--c-ink-950))}
.fs-och .fs-och-shopnote{text-align:center;margin:56px auto 0;max-width:30em}
.fs-och-flyer{position:fixed;z-index:120;pointer-events:none;width:90px;height:90px}

/* ── the basket chrome: button, popover, toast (OchBasketPopover.tsx) ──
   .basket-wrap / .basket-btn / .basket-count / .basket / .toast. The popover
   is portalled out of the block (fixed; its position is set from the
   button's box). drop, squish (the bump) and the toast's slide are
   the MOTION block's (end of this sheet): class hooks fs-och-bk-pop, fs-och-bump, fs-och-toast. */
.fs-och-basket-btn{
  position:relative;width:46px;height:46px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;
  cursor:pointer;background:rgb(var(--c-paper-soft));box-shadow:var(--fs-och-slab);color:rgb(var(--c-ink-950));
}
.fs-och-basket-btn[data-static]{cursor:default}
.fs-och-basket-btn svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
.fs-och-basket-count{
  position:absolute;top:-3px;right:-3px;min-width:21px;height:21px;padding:0 5px;display:grid;place-items:center;
  border-radius:999px;background:rgb(var(--c-brand-600));color:var(--fs-och-white);
  font-family:inherit;font-size:.72rem;font-weight:700;line-height:normal;
}
.fs-och-bk-pop{
  position:fixed;z-index:90;width:min(340px,calc(100vw - 32px));padding:22px;outline:none;
  background:rgb(var(--c-paper-soft));border-radius:24px 28px 22px 30px;
  box-shadow:var(--fs-och-slab),0 30px 60px -20px rgba(59,42,33,.45);
}
.fs-och-bk-title{font-family:var(--font-display,'Young Serif',Georgia,serif);font-weight:400;font-size:1.4rem;line-height:normal;margin:0 0 10px}
.fs-och-bk-items{list-style:none;padding:0;margin:0;display:grid;gap:10px;max-height:300px;overflow-y:auto}
.fs-och-bk-items li{display:grid;grid-template-columns:48px 1fr auto auto;gap:10px;align-items:center}
.fs-och-bk-items img{display:block;width:48px;height:48px;border-radius:14px;background:var(--fs-och-oat);padding:4px;object-fit:contain}
.fs-och-bk-noimg{display:block;width:48px;height:48px;border-radius:14px;background:var(--fs-och-oat)}
.fs-och-bk-name{font-weight:600;font-size:.95rem;line-height:1.2}
.fs-och-bk-small{display:block;font-size:smaller;font-weight:400;color:rgb(var(--c-ink-400))}
.fs-och-bk-remove{width:28px;height:28px;border-radius:50%;border:0;padding:0;background:var(--fs-och-oat);cursor:pointer;color:rgb(var(--c-ink-950));font-family:inherit;font-size:1rem;line-height:1}
.fs-och-bk-empty{color:rgb(var(--c-ink-400));font-style:italic;margin:6px 0 0}
.fs-och-bk-done{margin:10px 0 0;font-weight:600;outline:none}
.fs-och-bk-foot{margin-top:16px;padding-top:14px;border-top:1px dashed rgb(var(--c-ink-950) / .16);display:grid;gap:10px}
.fs-och-bk-total{display:flex;justify-content:space-between;margin:0}
.fs-och-bk-total strong{font-family:var(--font-display,'Young Serif',Georgia,serif);font-weight:400;font-size:1.3rem;line-height:normal}
.fs-och-bk-note{margin:0;font-size:.82rem;color:rgb(var(--c-ink-400))}
.fs-och-bk-vat{margin:0;font-size:.82rem;color:rgb(var(--c-ink-400))}
.fs-och-bk-foot .fs-och-btn{width:100%}
/* the order request (O3): a small form inside the card */
.fs-och-bk-form{display:grid;gap:10px}
.fs-och-bk-fld{display:grid;gap:4px}
.fs-och-bk-lab{font-weight:600;font-size:.85rem}
.fs-och-bk-fld.is-err .fs-och-input{box-shadow:inset 0 3px 6px rgba(91,58,41,.14),0 0 0 2px rgb(var(--c-brand-600))}
.fs-och-bk-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.fs-och-bk-msg{margin:0;font-size:.85rem;font-weight:600}
.fs-och-bk-msg.is-bad,.fs-och-bk-msg.is-fail{color:rgb(var(--c-brand-text))}
.fs-och-bk-msg.is-info{color:rgb(var(--c-ink-400))}
.fs-och-bk-back{justify-self:start;padding:0;border:0;background:none;cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:600;color:rgb(var(--c-brand-text));text-decoration:underline}
/* .toast - cocoa pill, bottom centre, off-screen until shown */
.fs-och-toast{
  position:fixed;left:50%;bottom:24px;z-index:140;transform:translate(-50%,160%);pointer-events:none;
  background:rgb(var(--c-ink-950));color:rgb(var(--c-paper-soft));padding:.85em 1.5em;border-radius:999px;
  font-weight:600;font-size:.92rem;line-height:1.7;
  box-shadow:0 16px 30px -14px rgba(59,42,33,.8);
}
.fs-och-toast.is-show{transform:translate(-50%,0)}
.fs-och-toast:empty{display:none}

/* ── favOchHero (home · 01, section.hero#top) ──────────────────────
   .hero / .hero-grid / .hero h1 / .hand / .lead / .cta-row / .facts /
   .hero-wheel / .wheel-blob / canvas / .hand-note. The canvas is the wheel
   engine's (ochreash-wheel.tsx). The morph radius animation, the rise
   reveal and the buttons' squish are the MOTION block's (end of this sheet) (lesson 18): class hooks
   fs-och-blobbox, fs-och-rise. Wheel pixels are animated; the box is checked. */
.fs-och-hsec{padding:56px 0 90px;overflow:hidden}
.fs-och-hgrid{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center}
.fs-och .fs-och-h1{font-size:clamp(2.8rem,calc(6.4 * 1cqi),5.4rem);margin-bottom:.35em}
/* .hero .hand turns the line -2deg, but .rise.in{transform:none} (same specificity, later) wins once it has risen: at rest it is level */
.fs-och .fs-och-hhand{display:inline-block;margin:0 0 .3em;transform-origin:left}
.fs-och .fs-och-lead{font-size:1.15rem;color:rgb(var(--c-ink-400));max-width:33em}
.fs-och-cta{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0 34px}
.fs-och-facts{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px 22px;font-weight:600;font-size:.9rem;color:rgb(var(--c-ink-400))}
.fs-och-fact{display:flex;align-items:center;gap:8px;margin:0;padding:0}
.fs-och-fact::before{content:"";flex:none;width:10px;height:10px;border-radius:48% 52% 40% 60%;background:rgb(var(--c-accent));box-shadow:inset 0 -2px 2px rgba(0,0,0,.15)}
.fs-och-hwheel{position:relative}
.fs-och-blobbox{
  position:relative;aspect-ratio:1 / 1.04;max-width:560px;margin-left:auto;overflow:hidden;
  background:var(--fs-och-blob);border-radius:58% 42% 46% 54% / 46% 54% 46% 54%;
  box-shadow:inset 0 3px 0 rgba(255,255,255,.4),inset 0 -18px 40px rgba(91,58,41,.18),0 40px 70px -40px rgba(59,42,33,.6);
}
.fs-och-cv{position:absolute;inset:0;width:100%;height:100%;touch-action:pan-y;cursor:grab}
.fs-och-cv.is-shaping{cursor:grabbing !important}
/* the source's .hero .hand (0,2,0) beats .hand-note (0,1,0) on display, margin-bottom and transform, so the note is an
   inline-block turned -2deg, not the flex row turned -3deg its own rule describes (measured on the export) */
.fs-och .fs-och-hnote{display:inline-block;margin:6px 0 .3em;padding-left:12%;transform:rotate(-2deg);transform-origin:left;pointer-events:none}
/* the platform's reset makes every svg display:block; the source's is inline (the arrow sits before the words) */
.fs-och-hnote svg{display:inline;vertical-align:baseline;width:60px;height:38px;order:2;transform:scale(-1,-1) rotate(10deg);margin-top:-18px}
/* the note is a decoration for a visitor; in the editor its words must take the pointer */
.fs-och .fs-och-hnote.is-ed,.fs-och .fs-och-stagetag.is-ed{pointer-events:auto}
@container fs-och (max-width:560px){
  .fs-och .fs-och-hnote{font-size:1.25rem;padding-left:0}
  .fs-och-hnote svg{width:50px}
}

/* ── favOchMarquee (home · 02, div.marquee, aria-hidden) ───────────
   .marquee / .marquee-track / b. The band is tilted -1.2deg and 10px wider
   than the page on each side, so the block clips its own sideways overflow.
   The 48s loop (keyframes fs-och-marquee) is the MOTION block's (end of this sheet): hook fs-och-marq-track. */
.fs-och-mclip{overflow-x:clip}
.fs-och-marq{
  background:rgb(var(--c-brand-600));color:rgb(var(--c-paper-soft));overflow:hidden;padding:16px 0;
  transform:rotate(-1.2deg);margin:10px -10px 0;
  box-shadow:inset 0 3px 0 rgba(255,255,255,.15),inset 0 -6px 14px rgba(0,0,0,.14);
}
.fs-och-marq-track{
  display:flex;gap:28px;width:max-content;
  font-family:var(--font-display,'Young Serif',Georgia,serif);font-weight:400;font-size:1.35rem;line-height:normal;white-space:nowrap;
}
.fs-och-marq-sep{font-weight:400;color:var(--fs-och-marq-sep)}

/* ── favOchWheel (home · 05, section#wheel) ────────────────────────
   .wheel-section / .wheel-grid / .tool-label / .tool-row / .glaze /
   .tool-actions / .wheel-status / .commission-link / .wheel-stage /
   .stage-tag. The glaze hover/press transitions and the kiln glow on
   .is-firing (keyframes fs-och-kiln) stay the MOTION block's (end of this sheet). */
.fs-och-wsec{padding-block:70px}
@container fs-och (max-width:560px){.fs-och-wsec{padding-block:84px}}
.fs-och-wgrid{
  display:grid;grid-template-columns:1fr 1.05fr;gap:50px;align-items:center;
  padding:clamp(28px,calc(5 * 1cqi),64px);background:var(--fs-och-oat);border-radius:46px 60px 42px 54px;box-shadow:var(--fs-och-slab);
}
.fs-och .fs-och-wbody{color:rgb(var(--c-ink-400))}
/* the source's .wheel-copy > p (0,1,1) also catches the eyebrow, which beats .eyebrow (0,1,0): muted, not clay */
.fs-och .fs-och-wcopy>.fs-och-eyebrow{color:rgb(var(--c-ink-400))}
.fs-och-tools{margin-top:26px}
.fs-och .fs-och-toollabel{
  font-size:.72rem;font-weight:700;line-height:normal;letter-spacing:.18em;text-transform:uppercase;
  color:var(--fs-och-umber);margin:0 0 10px;
}
.fs-och-toolrow{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.fs-och-glaze{
  width:42px;height:42px;border-radius:48% 52% 46% 54%;border:3px solid rgb(var(--c-paper-soft));cursor:pointer;padding:0;
  background:var(--g,var(--fs-och-oat));
  box-shadow:inset 0 -5px 8px rgba(0,0,0,.18),inset 0 3px 3px rgba(255,255,255,.25),0 6px 12px -8px rgba(59,42,33,.7);
}
.fs-och-glaze[aria-pressed="true"]{transform:scale(1.12);box-shadow:0 0 0 3px rgb(var(--c-brand-600)),inset 0 -5px 8px rgba(0,0,0,.18)}
.fs-och-glaze[data-static],.fs-och-chip[data-static],.fs-och-btn[data-static]{cursor:default}
.fs-och-tool-actions{display:flex;flex-wrap:wrap;gap:10px}
.fs-och .fs-och-wstatus{
  margin:18px 0 6px;font-family:var(--font-accent,'Caveat','Segoe Print',cursive);font-weight:600;font-size:1.45rem;line-height:normal;
  color:var(--fs-och-umber);min-height:1.6em;
}
.fs-och .fs-och-clink{font-weight:700;color:rgb(var(--c-brand-text));text-decoration:none;border-bottom:2px solid currentColor}
.fs-och-stage{
  position:relative;aspect-ratio:1 / 1.02;overflow:hidden;background:var(--fs-och-stage);
  border-radius:44% 56% 50% 50% / 50% 46% 54% 50%;
  box-shadow:inset 0 -18px 40px rgba(91,58,41,.2),inset 0 3px 0 rgba(255,255,255,.5);
}
.fs-och .fs-och-stagetag{
  position:absolute;left:0;right:0;bottom:5%;text-align:center;margin:0;
  font-family:var(--font-accent,'Caveat','Segoe Print',cursive);font-weight:600;font-size:1.15rem;line-height:normal;
  color:var(--fs-och-umber);pointer-events:none;opacity:.8;
}

/* ── favOchVisit (home · 09, section#visit) ────────────────────────
   .visit / .hours / .address / .commission / label / input / textarea.
   The textarea's squish flash (.is-flash) is the MOTION block's (end of this sheet) (lesson 18). */
.fs-och-vsec{padding-block:120px}
@container fs-och (max-width:560px){.fs-och-vsec{padding-block:84px}}
.fs-och-vgrid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.fs-och-hours{margin:0 0 24px;display:grid;gap:10px}
.fs-och-hrow{display:flex;justify-content:space-between;gap:20px;padding-bottom:10px;border-bottom:1px dashed rgb(var(--c-ink-950) / .16)}
.fs-och .fs-och-dt{font-weight:600;margin:0}
.fs-och .fs-och-dd{margin:0;color:rgb(var(--c-ink-400));text-align:right}
.fs-och .fs-och-address{font-family:var(--font-display,'Young Serif',Georgia,serif);font-weight:400;font-size:1.25rem;line-height:1.4}
.fs-och-vinfo>p:last-child{color:rgb(var(--c-ink-400))}
.fs-och-ccard{padding:36px;background:rgb(var(--c-paper-soft));border-radius:34px 28px 38px 26px;box-shadow:var(--fs-och-slab);display:grid;gap:14px}
@container fs-och (max-width:560px){.fs-och-ccard{padding:26px 22px}}
.fs-och .fs-och-ctitle{font-size:1.7rem;margin:0 0 4px}
.fs-och-input.is-bad{box-shadow:inset 0 3px 6px rgba(91,58,41,.14),0 0 0 2px rgb(var(--c-brand-600))}
.fs-och-fmsg{margin:0;font-size:.88rem;font-weight:600;line-height:1.5}
.fs-och-fmsg.is-bad,.fs-och-fmsg.is-fail{color:rgb(var(--c-brand-text))}
.fs-och-fmsg.is-info{color:rgb(var(--c-ink-400))}
.fs-och-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.fs-och .fs-och-ccard p.fs-och-cdone{margin:0}
.fs-och-ccard button:disabled{cursor:default;opacity:.7}
/* the source's max-width:1000px collapse: one column. After every base rule above, so it wins. */
@container fs-och (max-width:1000px){
  .fs-och-hgrid,.fs-och-wgrid,.fs-och-vgrid{grid-template-columns:1fr}
  .fs-och-blobbox{margin:0 auto}
}

/* ── favOchProcess (home · 04, section#process) ────────────────────
   .process-section / .process / .process-line / .steps / .step / .step-icon /
   .step h3 / .step p / .temp. The finished picture is the base: line drawn,
   every step lit, the final figure. The scroll-driven draw (dash offset, lit
   steps) applies only while the block marks itself as animated (ochreash-process.ts;
   Motion On / Subtle, never in the editor), and every effect is gated on
   [data-fs-motion="on"] + reduced-motion no-preference (lesson 18); distances
   x --fs-motion-dist, durations x --fs-anim-speed. The head's .rise reveal is
   the MOTION block's (end of this sheet) (hook fs-och-rise). */
.fs-och-psec{
  padding-block:120px;
  background:linear-gradient(180deg,transparent,var(--fs-och-band) 30%,var(--fs-och-band) 70%,transparent);
}
@container fs-och (max-width:560px){.fs-och-psec{padding-block:84px}}
.fs-och-proc{position:relative}
.fs-och-pline{position:absolute;left:4%;right:4%;top:6px;width:92%;height:90px;overflow:visible}
.fs-och-pline path{fill:none;stroke:rgb(var(--c-accent));stroke-width:3;stroke-linecap:round}
.fs-och-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:30px;position:relative}
.fs-och-step{text-align:center;margin:0;padding:0}
.fs-och-sicon{
  width:92px;height:92px;margin:0 auto 22px;display:grid;place-items:center;
  background:rgb(var(--c-paper-soft));border-radius:50% 46% 54% 48% / 48% 54% 46% 52%;box-shadow:var(--fs-och-slab);
}
.fs-och-sicon svg{width:46px;height:46px;fill:none;stroke:var(--fs-och-umber);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.fs-och .fs-och-sh3{font-size:1.6rem;margin-bottom:.3em}
.fs-och .fs-och-sbody{color:rgb(var(--c-ink-400));font-size:.97rem;max-width:22em;margin-inline:auto}
.fs-och-temp{font-family:var(--font-display,'Young Serif',Georgia,serif);font-weight:400;color:rgb(var(--c-brand-text));font-variant-numeric:tabular-nums}
@media screen and (prefers-reduced-motion:no-preference){
  [data-fs-motion="on"] [data-fs-och-block="process"][data-och-anim] .fs-och-pline path{stroke-dasharray:var(--fs-och-len,1400);stroke-dashoffset:var(--fs-och-off,1400)}
  [data-fs-motion="on"] [data-fs-och-block="process"][data-och-anim] .fs-och-step{opacity:.25;transform:translateY(calc(14px * var(--fs-motion-dist, 1)))}
  [data-fs-motion="on"] [data-fs-och-block="process"][data-och-anim] .fs-och-step.is-lit{opacity:1;transform:none}
  [data-fs-motion="on"] [data-fs-och-block="process"][data-och-run] .fs-och-step{transition:var(--fs-anim-ochDraw, opacity calc(.6s * var(--fs-anim-speed, 1)), transform calc(.7s * var(--fs-anim-speed, 1)) cubic-bezier(.34,1.56,.64,1))}
}
/* the source's max-width:1000px / 560px collapses; the steps are always lit and the line is gone */
@container fs-och (max-width:1000px){
  .fs-och-steps{grid-template-columns:repeat(2,1fr);row-gap:44px}
  .fs-och-pline{display:none}
  [data-fs-motion="on"] [data-fs-och-block="process"][data-och-anim] .fs-och-step{opacity:1;transform:none}
}
@container fs-och (max-width:560px){.fs-och-steps{grid-template-columns:1fr}}

/* ── favOchStudio (home · 07, section#studio) ──────────────────────
   .studio-section / .studio / .studio-art / .studio-copy / .studio-stats /
   .hand. The arch clips a drawing or a photo alike; the .rise reveal is
   the MOTION block's (end of this sheet) (hook fs-och-rise). */
.fs-och-ssec{padding-block:120px}
@container fs-och (max-width:560px){.fs-och-ssec{padding-block:84px}}
.fs-och-sgrid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.fs-och-sart{
  margin:0;position:relative;aspect-ratio:600 / 500;overflow:hidden;border-radius:300px 300px 30px 30px;
  box-shadow:var(--fs-och-slab),0 40px 70px -40px rgba(59,42,33,.6);
}
.fs-och-simg{display:block;width:100%;height:100%}
.fs-och-sart .fs-och-slot{position:absolute;inset:0;z-index:2;display:block;border-radius:inherit;overflow:hidden}
.fs-och-sart .fs-och-slot>*,.fs-och-sart .fs-och-slot img{width:100%;height:100%}
.fs-och-sart .fs-och-slot img{object-fit:cover;max-width:none}
.fs-och .fs-och-sp{color:rgb(var(--c-ink-400))}
.fs-och-sstats{list-style:none;padding:0;margin:28px 0;display:flex;flex-wrap:wrap;gap:12px}
.fs-och-stat{
  margin:0;padding:12px 18px;border-radius:22px 26px 20px 28px;background:rgb(var(--c-paper-soft));box-shadow:var(--fs-och-slab);
  font-size:.92rem;line-height:1.7;color:rgb(var(--c-ink-400));
}
.fs-och-statn{display:block;font-family:var(--font-display,'Young Serif',Georgia,serif);font-weight:400;font-size:1.6rem;line-height:normal;color:rgb(var(--c-ink-950))}
.fs-och .fs-och-shand{transform:rotate(-2deg)}
@container fs-och (max-width:1000px){
  .fs-och-sgrid{grid-template-columns:1fr}
  .fs-och-sart{max-width:520px}
}

/* ── favOchReviews (home · 08, no id) ──────────────────────────────
   .reviews / .review / blockquote / figcaption. The resting tilts are the
   source's end state (.review.rise.in); the hover end state is here, its
   transition and the .rise reveal are the MOTION block's (end of this sheet) (hook fs-och-rise). */
.fs-och-rgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.fs-och-review{
  margin:0;padding:34px 30px;background:rgb(var(--c-paper-soft));border-radius:30px 24px 34px 26px;box-shadow:var(--fs-och-slab);
  transform:rotate(-1deg);
}
.fs-och-review:nth-child(2){transform:rotate(.8deg) translateY(16px);background:var(--fs-och-review-2)}
.fs-och-review:nth-child(3){transform:rotate(-.4deg)}
.fs-och .fs-och-rq{margin:0 0 18px;font-family:var(--font-display,'Young Serif',Georgia,serif);font-weight:400;font-size:1.22rem;line-height:1.45}
.fs-och-rq::before{
  content:"“";display:block;font-family:var(--font-display,'Young Serif',Georgia,serif);font-weight:400;font-size:3.6rem;line-height:.6;
  color:rgb(var(--c-accent));margin-bottom:10px;
}
.fs-och-rcap{font-weight:700;font-size:.76rem;line-height:normal;letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--c-brand-text))}
@container fs-och (max-width:1000px){
  .fs-och-rgrid{grid-template-columns:1fr;max-width:560px;margin-inline:auto}
  .fs-och-review:nth-child(2){transform:rotate(.8deg)}
}

/* ── favOchWorkshops (home · 06, section#workshops) ────────────────
   .classes / .class / .class-feature / .badge / .when / .spots / .bar /
   .class-foot / .btn-small / .book(.booked). The bar's resting width is the
   final one (left / total, inline); its fill transition, the card's hover
   spring and the .rise reveal are the MOTION block's (end of this sheet) (hooks fs-och-barfill,
   fs-och-class, fs-och-rise; lesson 18). The hover end state is here. The
   request dialog (fs-och-wk-*) is a real-site addition (O4): it has no source rule. */
.fs-och-classes{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;align-items:stretch}
.fs-och-class{
  position:relative;display:flex;flex-direction:column;padding:34px 30px 28px;
  background:rgb(var(--c-paper-soft));border-radius:28px 36px 26px 40px;box-shadow:var(--fs-och-slab);
}
.fs-och-class-feature{background:var(--fs-och-umber);color:rgb(var(--c-paper-soft))}
.fs-och-badge{
  position:absolute;top:-14px;right:24px;padding:.25em .9em;border-radius:999px;
  background:rgb(var(--c-accent));color:rgb(var(--c-ink-950));
  font-family:var(--font-accent,'Caveat','Segoe Print',cursive);font-weight:600;font-size:1.15rem;line-height:normal;transform:rotate(4deg);
}
.fs-och .fs-och-when{font-weight:700;font-size:.74rem;line-height:normal;letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--c-brand-text))}
.fs-och-class-feature .fs-och-when{color:var(--fs-och-feature-body)}
.fs-och .fs-och-wh3{font-size:1.75rem;color:inherit}
.fs-och .fs-och-wdesc{color:rgb(var(--c-ink-400))}
/* the source's own cascade leaves the highlight card's description at ink-soft on umber (kept in light, L38); the derived dark set reads dark on tan */
.fs-och .fs-och-class-feature .fs-och-wdesc{color:var(--fs-och-feature-desc)}
.fs-och-spots{margin:auto 0 18px}
.fs-och-bar{height:10px;border-radius:999px;background:rgb(var(--c-ink-950) / .12);overflow:hidden}
.fs-och-barfill{display:block;height:100%;border-radius:inherit;background:rgb(var(--c-accent))}
.fs-och-class-feature .fs-och-bar{background:var(--fs-och-feature-bar)}
.fs-och-class-feature .fs-och-barfill{background:var(--fs-och-feature-fill)}
.fs-och .fs-och-spotsp{margin:8px 0 0;font-size:.88rem}
.fs-och-class-feature .fs-och-spotsp{color:var(--fs-och-feature-body)}
.fs-och-cfoot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:16px;border-top:1px dashed rgb(var(--c-ink-950) / .16)}
.fs-och-cfoot-solo{margin-top:auto}
.fs-och-class-feature .fs-och-cfoot{border-color:var(--fs-och-feature-line)}
.fs-och-per{font-family:var(--font-sans,'Karla',system-ui,-apple-system,'Segoe UI',sans-serif);font-weight:400;font-size:.8rem;line-height:normal}
.fs-och-class-feature .fs-och-price{color:rgb(var(--c-paper-soft))}
.fs-och-class-feature .fs-och-book{background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950))}
.fs-och-book.is-booked,.fs-och-book.is-booked:hover{background:var(--fs-och-sage);color:var(--fs-och-white)}
.fs-och-book[data-static]{cursor:default}
/* the request dialog (O4): portalled out of the block's size container, so it carries .fs-och-bk's scope */
.fs-och-wk-scrim{position:fixed;inset:0;z-index:130;display:grid;place-items:center;padding:16px;background:rgb(var(--c-ink-950) / .45);overflow-y:auto}
.fs-och-wk-dlg{
  position:relative;width:min(440px,100%);padding:32px 30px 28px;outline:none;display:grid;gap:14px;
  background:rgb(var(--c-paper-soft));border-radius:34px 28px 38px 26px;color:rgb(var(--c-ink-950));
  box-shadow:var(--fs-och-slab),0 30px 60px -20px rgba(59,42,33,.45);
}
.fs-och-wk-dlg .fs-och-wk-title{font-family:var(--font-display,'Young Serif',Georgia,serif);font-weight:400;font-size:1.7rem;line-height:1.08;letter-spacing:-.01em;margin:0 36px 0 0;color:rgb(var(--c-ink-950))}
.fs-och-wk-dlg .fs-och-wk-what{margin:0;font-size:.92rem;color:rgb(var(--c-ink-400))}
.fs-och-wk-dlg .fs-och-wk-what strong{color:rgb(var(--c-ink-950))}
.fs-och-wk-dlg .fs-och-fmsg{margin:0}
.fs-och-wk-dlg .fs-och-wk-done{margin:0;font-weight:600;outline:none}
.fs-och-wk-form{display:grid;gap:14px}
.fs-och-wk-dlg .fs-och-btn{justify-self:start}
.fs-och-wk-x{
  position:absolute;top:14px;right:16px;width:34px;height:34px;padding:0;border:0;border-radius:50%;cursor:pointer;
  display:grid;place-items:center;background:var(--fs-och-oat);color:rgb(var(--c-ink-950));font-family:inherit;font-size:1.2rem;line-height:1;
}
.fs-och-wk-x[data-static]{cursor:default}
.fs-och-wk-ed{margin-top:44px;display:grid;gap:8px;justify-items:start}
@container fs-och (max-width:1000px){
  .fs-och-classes{grid-template-columns:1fr;max-width:560px;margin-inline:auto}
}

/* ── favOchNewsletter (home · 10, no id) ───────────────────────────
   .letter-section / .letter / .letter-form / .letter-ok. The .rise reveal is
   the MOTION block's (end of this sheet) (hook fs-och-rise). */
.fs-och-lsec{padding:30px 0 110px}
.fs-och-letter{
  display:grid;grid-template-columns:1.1fr 1fr;gap:30px;align-items:center;
  padding:clamp(28px,calc(5 * 1cqi),56px);border-radius:40px 52px 36px 48px;
  background:rgb(var(--c-brand-600));color:var(--fs-och-bisque);box-shadow:var(--fs-och-letter-shadow);
}
.fs-och .fs-och-lh2{font-size:clamp(1.9rem,calc(3.6 * 1cqi),2.8rem);margin-bottom:.3em;color:inherit}
.fs-och-lh2 em{color:inherit}
.fs-och .fs-och-lbody{margin:0;color:var(--fs-och-letter-body)}
.fs-och-lform{display:flex;gap:10px}
.fs-och-input.fs-och-lin{flex:1;min-width:0;background:rgb(var(--c-paper-soft));border-radius:999px;padding-left:1.3em}
.fs-och-lform .fs-och-btn{background:var(--fs-och-cocoa);color:var(--fs-on-brand)}
.fs-och-lform .fs-och-btn:hover{background:var(--fs-och-foot-btn-hover)}
.fs-och .fs-och-lok{margin:0;color:var(--fs-och-bisque);font-size:1.7rem}
.fs-och .fs-och-lmsg{margin:10px 0 0;color:var(--fs-och-letter-body)}
@container fs-och (max-width:1000px){
  .fs-och-letter{grid-template-columns:1fr}
}
@container fs-och (max-width:560px){
  .fs-och-lform{flex-direction:column}
}

/* ── favOchFooter (home · 99, footer.site-footer) ──────────────────
   .site-footer(cocoa, pad 50/54, #E2D3C2) .footer-inner(flex wrap, between,
   gap 20px 40px, centred) .brand(bisque; the mark in clay-soft, the "&" in
   clay) nav(flex wrap, gap 24) a(600 .95rem; hover white + a wavy clay-soft
   underline 6px off) p(100% wide, .86rem, #B9A797). The ground is the source's
   cocoa in both modes (a band on the dark page too). The mark's hover turn is
   the MOTION block's (end of this sheet): class hook fs-och-ft-mark. */
.fs-och-ftband{background:var(--fs-och-cocoa);color:var(--fs-och-foot-text);padding:50px 0 54px}
.fs-och-ft-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 40px}
.fs-och-ftband .fs-och-ft-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font:400 1.5rem var(--font-display,'Young Serif',Georgia,serif);color:var(--fs-och-bisque)}
.fs-och-ft-mark{width:34px;height:34px;flex:none;color:rgb(var(--c-accent))}
.fs-och-ft-brand i{font-style:normal;color:rgb(var(--c-accent))}
.fs-och-ft-nav{display:flex;flex-wrap:wrap;gap:24px}
.fs-och-ft-a{color:inherit;text-decoration:none;font-weight:600;font-size:.95rem}
a.fs-och-ft-a:hover{color:var(--fs-och-white);text-decoration:underline wavy rgb(var(--c-accent));text-underline-offset:6px}
.fs-och-ftband .fs-och-ft-copy{width:100%;margin:0;font-size:.86rem;color:var(--fs-och-foot-fine)}
.fs-och-ft-copy .fs-och-ft-a{font-size:inherit;font-weight:400;text-decoration:underline;text-underline-offset:3px}
@container fs-och (max-width:560px){.fs-och-ftband .fs-och-ft-brand{font-size:1.25rem}}

/* editor-only strip (OchEditorStrip): words not on the canvas right now */
.fs-och-ed{position:relative;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px 16px;margin:0 auto 20px;max-width:var(--fs-layout-max,var(--fs-shell-max,1200px));padding:12px;border:1px dashed rgb(var(--c-ink-950) / .3);border-radius:12px}
.fs-och-ed>div::before{content:attr(data-ed);display:block;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
/* editor-only sample marker (E4): shown while the words are still the shipped ones */
.fs-och-marker{display:inline-block;margin-top:6px;font-size:.75rem;font-weight:700;letter-spacing:.04em;color:rgb(var(--c-ink-400))}

/* Touch areas (owner-accepted, no visible change, 2026-10-25): on phones the controls under 44px keep their drawn
   size and get an invisible 44px target, centred on the control (a ::before). Chips and glazes sit 8px apart, so
   their areas touch but never reach a neighbour's drawn edge. The footer links (26px, 24px apart) and the
   brand lockup are the same. Form fields are 43px (within 1px); a field's own label already focuses it. */
@container fs-och (max-width:560px){
  .fs-och-chip,.fs-och-glaze,.fs-och-add,.fs-och-book,.fs-och-ft-nav .fs-och-ft-a,.fs-och-ftband .fs-och-ft-brand{position:relative}
  .fs-och-chip::before,.fs-och-glaze::before,.fs-och-add::before,.fs-och-book::before,.fs-och-ft-nav .fs-och-ft-a::before,.fs-och-ftband .fs-och-ft-brand::before{content:'';position:absolute;left:50%;top:50%;width:max(100%,44px);height:44px;transform:translate(-50%,-50%)}
}

/* ── MOTION (port Task 9) ───────────────────────────────────────────
   Every effect of the source and nothing more (css/style.css keyframes and
   transitions, js/main.js):

     effect                                       source                  switch (themes/ochreash.ts)
     soft rise on scroll, 90 ms stagger           .7s / .9s spring        ochRise
     hero blob morph                              16s ease-in-out, loop   ochMorph
     tilted band marquee                          48s linear, loop        ochMarquee
     buttons squish on hover / press              .5s                     ochSquish
     basket button bumps on an add                .55s                    ochBump
     picture flies from the card to the basket    850ms arc (JS)          ochFly
     basket card + phone menu drop                .35s spring             ochPop
     toast slides up                              .45s spring             ochToast
     seat bars fill                               1.4s spring (+ JS)      ochBar
     kiln glow on the stage                       2.6s                    ochKiln
     textarea flash on a pre-fill                 .6s                     ochFlash
     pots, cards, chips, glazes lift              .25-.9s springs         ochLift
     process line + steps, kiln figure counts     scroll-driven (JS)      ochDraw, ochCount
     logo mark turns, menu squiggle, burger       .6s / .35s / .3s        ochLogo, ochMenu
     colour fades on buttons, chips               .25-.3s                 (no switch)

   Every one sits behind the same gates:
     1. [data-fs-motion="on"] - the published site and the template preview
        at Motion On or Subtle; the editor canvas, Off and any surface without
        the shell match nothing and stay still,
     2. @media screen and (prefers-reduced-motion: no-preference) (the
        source's own reduced path is "no animation", plus a visible .rise),
     3. its Micro-animations switch, var(--fs-anim-<id>, <the source's value>),
        ids in themes/ochreash.ts microAnimations (npm run check:anim).
   SUBTLE: every travel is calc(<px> * var(--fs-motion-dist, 1)) (0.3 under
   Subtle), every angle and swell too, and every time calc(<t> *
   var(--fs-anim-speed, 1)) (x1.7). The source has no stricter Subtle path of
   its own, so none is invented. The marquee's -50% is the loop's length (it
   must land on the second copy to be seamless), not a travel: Subtle slows it.
   FILL: backwards only; every resting rule is the end state (no keyframe holds
   a value past its animation - the source's transitions between two resting
   rules are kept as transitions). No clip-path.
   THE RISE: the stylesheet hides nothing by itself. ochreash-motion.ts
   (useOchReveal) arms a block only when the page may move: [data-och-rise] on
   the block, [data-och-pre] on each element, and [data-och-in] once it has
   been 12% in view. A server render, no script, Off, reduced motion and the
   editor therefore show every word. */
@keyframes fs-och-squish{30%{transform:scale(calc(1 + .06 * var(--fs-motion-dist, 1)),calc(1 - .08 * var(--fs-motion-dist, 1)))}60%{transform:scale(calc(1 - .03 * var(--fs-motion-dist, 1)),calc(1 + .04 * var(--fs-motion-dist, 1)))}100%{transform:scale(1)}}
@keyframes fs-och-drop{from{opacity:0;transform:translateY(calc(-10px * var(--fs-motion-dist, 1))) scale(calc(1 - .03 * var(--fs-motion-dist, 1)))}}
@keyframes fs-och-morph{
  0%,100%{border-radius:58% 42% 46% 54% / 46% 54% 46% 54%}
  33%{border-radius:calc(58% + -14% * var(--fs-motion-dist, 1)) calc(42% + 14% * var(--fs-motion-dist, 1)) calc(46% + 12% * var(--fs-motion-dist, 1)) calc(54% + -12% * var(--fs-motion-dist, 1)) / calc(46% + 8% * var(--fs-motion-dist, 1)) calc(54% + -12% * var(--fs-motion-dist, 1)) calc(46% + 12% * var(--fs-motion-dist, 1)) calc(54% + -8% * var(--fs-motion-dist, 1))}
  66%{border-radius:calc(58% + -6% * var(--fs-motion-dist, 1)) calc(42% + 6% * var(--fs-motion-dist, 1)) calc(46% + -6% * var(--fs-motion-dist, 1)) calc(54% + 6% * var(--fs-motion-dist, 1)) / calc(46% + -4% * var(--fs-motion-dist, 1)) calc(54% + 4% * var(--fs-motion-dist, 1)) calc(46% + -2% * var(--fs-motion-dist, 1)) calc(54% + 2% * var(--fs-motion-dist, 1))}
}
@keyframes fs-och-marquee{to{transform:translateX(-50%)}}
@keyframes fs-och-kiln{50%{box-shadow:inset 0 -18px 40px rgba(91,58,41,.2),0 0 0 calc(6px * var(--fs-motion-dist, 1)) rgba(214,110,50,.35),0 0 calc(60px * var(--fs-motion-dist, 1)) calc(10px * var(--fs-motion-dist, 1)) rgba(214,110,50,.35)}}
/* off surfaces (the editor canvas, Off, no shell): nothing moves, transitions included */
.fs-och:not([data-fs-motion="on"] *),.fs-och:not([data-fs-motion="on"] *) *,.fs-och:not([data-fs-motion="on"] *) *::before,.fs-och:not([data-fs-motion="on"] *) *::after,
.fs-och-bk:not([data-fs-motion="on"] *),.fs-och-bk:not([data-fs-motion="on"] *) *,.fs-och-bk:not([data-fs-motion="on"] *) *::before,.fs-och-bk:not([data-fs-motion="on"] *) *::after{animation:none !important;transition:none !important}
@media (prefers-reduced-motion:reduce){
  .fs-och,.fs-och *,.fs-och *::before,.fs-och *::after,.fs-och-bk,.fs-och-bk *,.fs-och-bk *::before,.fs-och-bk *::after{animation:none !important;transition:none !important}
}
@media screen and (prefers-reduced-motion:no-preference){
  /* ochRise - everything that rises on scroll (the hidden state exists only on an armed, prepared element) */
  [data-fs-motion="on"] [data-och-rise] .fs-och-rise[data-och-pre]{transform-origin:50% 100%}
  [data-fs-motion="on"] [data-och-rise] .fs-och-hhand[data-och-pre]{transform-origin:left}
  [data-fs-motion="on"] [data-och-rise] .fs-och-rise[data-och-pre]:not([data-och-in]){opacity:0;transform:translateY(calc(28px * var(--fs-motion-dist, 1))) scale(calc(1 - .02 * var(--fs-motion-dist, 1)),calc(1 - .06 * var(--fs-motion-dist, 1)))}
  [data-fs-motion="on"] [data-och-rise][data-och-rise-run] .fs-och-rise[data-och-pre]{transition:var(--fs-anim-ochRise, opacity calc(.7s * var(--fs-anim-speed, 1)) ease calc(var(--fs-och-d, 0) * 1s * var(--fs-anim-speed, 1)), transform calc(.9s * var(--fs-anim-speed, 1)) var(--fs-och-ease) calc(var(--fs-och-d, 0) * 1s * var(--fs-anim-speed, 1)))}
  /* ochBar - a seat bar starts empty and fills when its card is 40% in view (and again, from the width the JS sets, on a booking) */
  [data-fs-motion="on"] [data-och-rise] .fs-och-class[data-och-barpre]:not([data-och-filled]) .fs-och-barfill{width:0 !important}
  [data-fs-motion="on"] [data-och-rise][data-och-rise-run] .fs-och-barfill{transition:var(--fs-anim-ochBar, width calc(1.4s * var(--fs-anim-speed, 1)) cubic-bezier(.34,1.2,.64,1))}
  /* ochMorph - the hero blob breathes */
  [data-fs-motion="on"] .fs-och-blobbox{animation:var(--fs-anim-ochMorph, fs-och-morph calc(16s * var(--fs-anim-speed, 1)) ease-in-out infinite)}
  /* ochMarquee - the band slides to its second copy and starts over (the editor draws one copy and does not run) */
  [data-fs-motion="on"] .fs-och-marq-track:not(.is-ed){animation:var(--fs-anim-ochMarquee, fs-och-marquee calc(48s * var(--fs-anim-speed, 1)) linear infinite)}
  /* ochSquish - a button squashes under the pointer and on a press */
  [data-fs-motion="on"] .fs-och-btn:hover,[data-fs-motion="on"] .fs-och-add:hover:not([data-static]){animation:var(--fs-anim-ochSquish, fs-och-squish calc(.5s * var(--fs-anim-speed, 1)) ease)}
  [data-fs-motion="on"] .fs-och-btn:active:not([data-static]){transform:var(--fs-anim-ochSquish, scale(calc(1 - .03 * var(--fs-motion-dist, 1)),calc(1 + .02 * var(--fs-motion-dist, 1))))}
  /* ochBump - the basket button swells when something is added */
  [data-fs-motion="on"] .fs-och-basket-btn.fs-och-bump{animation:var(--fs-anim-ochBump, fs-och-squish calc(.55s * var(--fs-anim-speed, 1)) ease)}
  /* ochPop - the basket card drops in (and the phone menu, in ochreash-chrome-styles.ts) */
  [data-fs-motion="on"] .fs-och-bk-pop{animation:var(--fs-anim-ochPop, fs-och-drop calc(.35s * var(--fs-anim-speed, 1)) cubic-bezier(.34,1.4,.64,1) backwards)}
  /* ochToast - the note slides up between its two resting places (off screen / shown) */
  [data-fs-motion="on"] .fs-och-toast{transition:var(--fs-anim-ochToast, transform calc(.45s * var(--fs-anim-speed, 1)) cubic-bezier(.34,1.4,.64,1))}
  /* ochKiln - the stage glows while the pot is in the kiln */
  [data-fs-motion="on"] .fs-och-stage.is-firing{animation:var(--fs-anim-ochKiln, fs-och-kiln calc(2.6s * var(--fs-anim-speed, 1)) ease-in-out)}
  /* ochFlash - the message box squashes when the wheel fills it in */
  [data-fs-motion="on"] .fs-och-input.is-flash{animation:var(--fs-anim-ochFlash, fs-och-squish calc(.6s * var(--fs-anim-speed, 1)) ease)}
  /* ochLift - pots, cards, chips and glazes rise under the pointer */
  [data-fs-motion="on"] .fs-och-product-art{transition:var(--fs-anim-ochLift, border-radius calc(.9s * var(--fs-anim-speed, 1)) cubic-bezier(.34,1.4,.64,1))}
  [data-fs-motion="on"] .fs-och-product:hover .fs-och-product-art{border-radius:50% 50% 48% 52% / 52% 48% 52% 48%}
  [data-fs-motion="on"] .fs-och-product-art>img{transition:var(--fs-anim-ochLift, transform calc(.7s * var(--fs-anim-speed, 1)) cubic-bezier(.34,1.56,.64,1))}
  [data-fs-motion="on"] .fs-och-product:hover .fs-och-product-art>img{transform:var(--fs-anim-ochLift, translateY(calc(-10px * var(--fs-motion-dist, 1))) rotate(calc(-3deg * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] .fs-och-class,[data-fs-motion="on"] .fs-och-review{transition:var(--fs-anim-ochLift, transform calc(.6s * var(--fs-anim-speed, 1)) cubic-bezier(.34,1.56,.64,1))}
  [data-fs-motion="on"] .fs-och-class:hover{transform:var(--fs-anim-ochLift, translateY(calc(-6px * var(--fs-motion-dist, 1))) rotate(calc(-.5deg * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] .fs-och-review:hover{transform:var(--fs-anim-ochLift, rotate(0) translateY(calc(-4px * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] .fs-och-chip:not([data-static]):hover{transform:var(--fs-anim-ochLift, translateY(calc(-2px * var(--fs-motion-dist, 1))))}
  [data-fs-motion="on"] .fs-och-glaze{transition:var(--fs-anim-ochLift, transform calc(.4s * var(--fs-anim-speed, 1)) cubic-bezier(.34,1.56,.64,1), box-shadow calc(.3s * var(--fs-anim-speed, 1)))}
  [data-fs-motion="on"] .fs-och-glaze:not([data-static]):not([aria-pressed="true"]):hover{transform:var(--fs-anim-ochLift, translateY(calc(-3px * var(--fs-motion-dist, 1))) scale(calc(1 + .06 * var(--fs-motion-dist, 1))))}
  /* ochLogo - the footer's pot mark turns like the header's */
  [data-fs-motion="on"] .fs-och-ft-mark{transition:var(--fs-anim-ochLogo, transform calc(.6s * var(--fs-anim-speed, 1)) cubic-bezier(.34,1.56,.64,1))}
  [data-fs-motion="on"] .fs-och-ft-brand:hover .fs-och-ft-mark{transform:var(--fs-anim-ochLogo, rotate(calc(-12deg * var(--fs-motion-dist, 1))) scale(calc(1 + .08 * var(--fs-motion-dist, 1))))}
  /* colour fades (no switch) */
  [data-fs-motion="on"] :is(.fs-och,.fs-och-bk) .fs-och-btn,[data-fs-motion="on"] .fs-och-add{transition:background calc(.3s * var(--fs-anim-speed, 1)),color calc(.3s * var(--fs-anim-speed, 1))}
  [data-fs-motion="on"] .fs-och-chip{transition:background calc(.25s * var(--fs-anim-speed, 1)),color calc(.25s * var(--fs-anim-speed, 1)),transform calc(.25s * var(--fs-anim-speed, 1))}
}

/* ── platform motion stands down on Ochre & Ash blocks ────────────
   The theme's own motion IS the motion on its blocks (port Task 9), so the
   platform baseline (motion-base.ts) stands down through its own off-vars:
   no section slide, no image fade, no press scale, and no platform card
   lift (Tidewell P58 - designed out from day one). */
[data-fs-blocktype^="favOch"]{--fs-anim-fs-sectionin-name:none}
.fs-och,.fs-och-bk,.fs-och-flyer{--fs-anim-fs-imgin-name:none;--fs-anim-fs-press:none;--fs-anim-fs-lift-t:none;--fs-anim-fs-lift-prop:none}


.fs-cp{
  position:relative;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
  font-family:var(--font-body,'Figtree',sans-serif);
  -webkit-font-smoothing:antialiased;
  transition:background .4s cubic-bezier(.2,.7,.3,1),color .4s cubic-bezier(.2,.7,.3,1);
}
.fs-cp *{box-sizing:border-box;}
.fs-cp-wire{filter:grayscale(1) contrast(.5);}

/* ── The measure. Export: max-width:1180px; padding:0 40px on every
   section, header and footer inner. The theme also declares
   style.shellMaxPx:1180 so the platform shell agrees.

   --fs-layout-max comes FIRST because it is the customer's own choice
   in Site Settings → Layout, and it must beat the theme's designed
   measure when they make one. Without it in this chain the Layout
   picker silently does nothing on this theme — the breakage Aurora and
   PayFlow still carry (24 and 12 hardcoded widths between them).

   The order is the documented chain in shell-width.ts:
     var(--fs-hdr-max, var(--fs-layout-max, var(--fs-shell-max, …)))
   and the fallback nesting is the safety property: "theme" and
   "heroEdge" emit no --fs-layout-max at all, so this resolves to
   exactly the --fs-shell-max/1180px it always did and an untouched
   site renders byte-identically.

   Deliberately NOT migrated: .fs-cp-lede (440px) and .fs-cp-body
   (480px) are prose measures below the 600px threshold — releasing
   them would give an unreadable line length. .fs-cp-search (620px)
   sits in the 600–895 clamp band, but every NARROW_CLAMP value
   (736/832/928px) exceeds 620px, so min() would be a guaranteed no-op;
   left alone rather than adding an inert rule. ── */
.fs-cp-sec{
  max-width:var(--fs-layout-max, var(--fs-shell-max,1180px));
  margin:0 auto;
  padding:64px 40px;
  position:relative;
}
/* Section separators are hairlines, never shadows. */
.fs-cp-rule{border-top:1px solid rgb(var(--c-line));}
/* The alternating band — export: background:var(--surface) with a
   .4s background transition so a mode switch crossfades rather than
   snapping. */
.fs-cp-band{
  background:rgb(var(--c-paper-soft));
  transition:background .4s cubic-bezier(.2,.7,.3,1);
}

/* ── TYPE ───────────────────────────────────────────────────────
   Handover §2: H1 44-56 / H2 26-38 / H3 (dish names) 19 Marcellus;
   body 15-16 Figtree, lh 1.6+; menu labels caps with .26em tracking;
   prices in Marcellus ember. Sizes below are the ones the export's own
   elements measure, per role. ── */
.fs-cp-eyebrow{
  font-size:12px;               /* export 11px — raised to the 12px platform floor */
  letter-spacing:.3em;
  color:rgb(var(--c-brand-600));
  text-transform:uppercase;
  margin:0 0 18px;
  font-weight:600;
}
.fs-cp-eyebrow-sm{
  font-size:12px;               /* export 11px, .24em — same floor deviation */
  letter-spacing:.24em;
  color:rgb(var(--c-brand-600));
  text-transform:uppercase;
  margin:0;
  font-weight:600;
}
.fs-cp-h1{
  font-family:var(--font-display,'Marcellus',serif);
  font-size:var(--fs-h1,56px);
  font-weight:400;
  line-height:1.08;
  margin:0;
  text-wrap:pretty;
}
.fs-cp-h2{
  font-family:var(--font-display,'Marcellus',serif);
  font-size:38px;
  font-weight:400;
  line-height:1.15;
  margin:0;
  text-wrap:pretty;
}
.fs-cp-h2-sm{
  font-family:var(--font-display,'Marcellus',serif);
  font-size:34px;
  font-weight:400;
  line-height:1.15;
  margin:0;
}
.fs-cp-h3{
  font-family:var(--font-display,'Marcellus',serif);
  font-size:22px;
  font-weight:400;
  line-height:1.2;
  margin:0;
}
/* Dish names — handover §2 names 19px explicitly. */
.fs-cp-dish{
  font-family:var(--font-display,'Marcellus',serif);
  font-size:19px;
  font-weight:400;
  line-height:1.25;
}
.fs-cp-lede{
  font-size:16px;
  line-height:1.65;
  color:rgb(var(--c-ink-400));
  margin:22px 0 0;
  max-width:440px;
}
.fs-cp-body{
  font-size:15px;
  line-height:1.7;
  color:rgb(var(--c-ink-400));
  margin:16px 0 0;
  max-width:480px;
}
.fs-cp-small{font-size:13px;line-height:1.6;color:rgb(var(--c-ink-400));margin:0;}
.fs-cp-tiny{font-size:12px;color:rgb(var(--c-ink-400));margin:0;}
/* Prices are Marcellus ember — handover §2, and the one place ember is
   allowed to be text rather than a fill. */
.fs-cp-price{
  font-family:var(--font-display,'Marcellus',serif);
  font-size:24px;
  color:rgb(var(--c-brand-600));
  line-height:1;
}
.fs-cp-price-sm{
  font-family:var(--font-display,'Marcellus',serif);
  font-size:17px;
  color:rgb(var(--c-brand-600));
  line-height:1;
}
/* Menu labels — handover §2: 11px caps, .26em. At the 12px floor. */
.fs-cp-label{
  font-size:12px;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:rgb(var(--c-ink-400));
  font-weight:600;
  margin:0 0 10px;
}

/* ── BUTTONS ────────────────────────────────────────────────────
   Export: primary 14px/28px pill, ember fill, Figtree 14px/700 .04em,
   hover translateY(-2px). Secondary is the same geometry with a
   hairline and no fill. Press is scale(.97) — template 07's "fast"
   150ms token. Touch targets clear 44px (handover §6). ── */
.fs-cp-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 28px;min-height:44px;
  border-radius:var(--fs-radius-pill,999px);
  border:none;background:rgb(var(--c-brand-600));color:var(--fs-on-brand);
  font-family:var(--font-body,'Figtree',sans-serif);
  font-size:14px;font-weight:700;letter-spacing:.04em;
  cursor:pointer;white-space:nowrap;text-decoration:none;
  transition:transform var(--fs-anim-cpLift,.15s cubic-bezier(.2,.7,.3,1)),
             background var(--fs-anim-cpLift,.2s cubic-bezier(.2,.7,.3,1));
}
.fs-cp-anim .fs-cp-btn:hover{transform:var(--fs-anim-cpLift,translateY(-2px));}
.fs-cp-anim .fs-cp-btn:active{transform:scale(.97);}
/* NO background change on hover, deliberately. The export's primary
   button hovers with translateY(-2px) and nothing else, and an earlier
   draft of this sheet added the obvious 'background:--c-brand-700'.
   Measuring it caught the invention: the design's on-accent label on
   its own accent-deep is 3.47:1 in dark mode, so the "improvement"
   would have made the hover the least legible state of the button — the
   exact defect check-contrast's own label-on-brand-hover entry
   describes. The design never paints that pair; accent-deep is a TEXT
   colour here (see .fs-cp-go / .fs-cp-link below, which is where the
   export does use it). */
.fs-cp-btn-ghost{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 28px;min-height:44px;
  border-radius:var(--fs-radius-pill,999px);
  border:1px solid rgb(var(--c-line));background:transparent;color:rgb(var(--c-ink-950));
  font-family:var(--font-body,'Figtree',sans-serif);
  font-size:14px;font-weight:700;letter-spacing:.04em;
  cursor:pointer;white-space:nowrap;text-decoration:none;
  transition:border-color var(--fs-anim-cpLift,.2s cubic-bezier(.2,.7,.3,1)),
             color var(--fs-anim-cpLift,.2s cubic-bezier(.2,.7,.3,1));
}
.fs-cp-btn-ghost:hover{border-color:rgb(var(--c-brand-600));color:rgb(var(--c-brand-600));}
/* The inline "Explore →" style link — ember, 13px/700. */
.fs-cp-go{
  color:rgb(var(--c-brand-600));font-size:13px;font-weight:700;
  text-decoration:none;display:inline-block;
  transition:color var(--fs-anim-cpLift,.2s cubic-bezier(.2,.7,.3,1));
}
.fs-cp-go:hover{color:rgb(var(--c-brand-700));}
.fs-cp-link{
  background:none;border:none;padding:0;
  color:rgb(var(--c-brand-600));font-family:var(--font-body,'Figtree',sans-serif);
  font-size:14px;font-weight:700;letter-spacing:.04em;cursor:pointer;text-decoration:none;
}
.fs-cp-link:hover{color:rgb(var(--c-brand-700));}

/* Quick-add — export: 32px circle, hairline, hover fills ember, press
   scale(.9). Template 07 adds the 90° rotation on hover. */
.fs-cp-add{
  width:32px;height:32px;flex:0 0 32px;
  border-radius:50%;border:1px solid rgb(var(--c-line));
  background:transparent;color:rgb(var(--c-ink-950));
  font-size:16px;line-height:1;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
  transition:background .15s cubic-bezier(.2,.7,.3,1),
             border-color .15s cubic-bezier(.2,.7,.3,1),
             color .15s cubic-bezier(.2,.7,.3,1),
             transform var(--fs-anim-cpQuickAdd,.15s cubic-bezier(.2,.7,.3,1));
}
.fs-cp-add:hover{background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));color:var(--fs-on-brand);}
.fs-cp-anim .fs-cp-add:hover{transform:var(--fs-anim-cpQuickAdd,rotate(90deg));}
.fs-cp-add:active{transform:scale(.9);}

/* ── CARDS ──────────────────────────────────────────────────────
   Export: surface ground, hairline, radius 16 (28px pad) or 14 (24px
   pad), hover border-color:ember. No shadow anywhere in this design. ── */
.fs-cp-card{
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line));
  border-radius:var(--fs-radius-card,16px);
  padding:28px;
  color:rgb(var(--c-ink-950));
  min-width:0;
  transition:border-color var(--fs-anim-cpLift,.2s cubic-bezier(.2,.7,.3,1)),
             background .4s cubic-bezier(.2,.7,.3,1);
}
a.fs-cp-card,button.fs-cp-card{display:block;text-align:left;cursor:pointer;font-family:inherit;text-decoration:none;width:100%;}
.fs-cp-card:hover{border-color:rgb(var(--c-brand-600));}
.fs-cp-card-sm{
  background:rgb(var(--c-paper));
  border:1px solid rgb(var(--c-line));
  border-radius:14px;
  padding:24px;
  min-width:0;
  transition:border-color var(--fs-anim-cpLift,.2s cubic-bezier(.2,.7,.3,1)),
             background .4s cubic-bezier(.2,.7,.3,1);
}
.fs-cp-card-sm:hover{border-color:rgb(var(--c-brand-600));}
/* The panel a whole flow sits in — order, booking, loyalty. */
.fs-cp-panel{
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line));
  border-radius:var(--fs-radius-card,16px);
  padding:24px 26px;
  min-width:0;
  transition:background .4s cubic-bezier(.2,.7,.3,1);
}

/* ── CHIPS & PILLS ──────────────────────────────────────────────
   The selected state is the third ground (--surface2 → --c-paper-sunk)
   with an ember label, or an ember FILL where the design fills. ── */
.fs-cp-chip{
  display:inline-flex;align-items:center;gap:6px;
  padding:9px 15px;min-height:36px;
  border-radius:var(--fs-radius-pill,999px);
  border:1px solid rgb(var(--c-line));background:transparent;
  color:rgb(var(--c-ink-400));
  font-family:var(--font-body,'Figtree',sans-serif);
  font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;
  transition:background .15s cubic-bezier(.2,.7,.3,1),
             border-color .15s cubic-bezier(.2,.7,.3,1),
             color .15s cubic-bezier(.2,.7,.3,1);
}
.fs-cp-chip:hover{border-color:rgb(var(--c-brand-600));color:rgb(var(--c-brand-600));}
.fs-cp-chip[aria-pressed="true"],.fs-cp-chip.is-on{
  background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));color:var(--fs-on-brand);
}
/* The softer selected state — sunk ground, ember label (request chips,
   zone cards). Export uses --surface2 here, never the ember fill. */
.fs-cp-chip.is-marked{
  background:rgb(var(--c-paper-sunk));border-color:rgb(var(--c-brand-600));color:rgb(var(--c-brand-600));
}
/* Dietary / allergen tags — handover §2: dietary chips are FILLED sage,
   allergen chips are ember OUTLINE, neutral chips are a hairline. */
.fs-cp-tag{
  display:inline-flex;align-items:center;
  padding:3px 8px;border-radius:6px;
  font-size:12px;font-weight:700;letter-spacing:.06em;
  border:1px solid transparent;white-space:nowrap;
}
.fs-cp-tag-ok{background:rgb(var(--c-accent));color:rgb(var(--c-paper));border-color:rgb(var(--c-accent));}
.fs-cp-tag-warn{background:transparent;color:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));}
.fs-cp-tag-mut{background:transparent;color:rgb(var(--c-ink-400));border-color:rgb(var(--c-line));}

/* ── THE LIVE DOT ───────────────────────────────────────────────
   Template 07: 2.4s pulse, opacity only. Sage because "open" is a
   status, not an action — ember is reserved for action & heat. ── */
.fs-cp-dot{
  width:9px;height:9px;flex:0 0 9px;border-radius:50%;
  background:rgb(var(--c-accent));display:block;
}
.fs-cp-anim .fs-cp-dot{animation:var(--fs-anim-cpPulse, fs-cp-pulse 2.4s cubic-bezier(.2,.7,.3,1) infinite);}
@keyframes fs-cp-pulse{0%,100%{opacity:1}50%{opacity:.35}}

/* ── SECTION REVEAL ─────────────────────────────────────────────
   Template 07: rise 16px + fade, 500ms page enter. The export runs it
   on <main>; here every block carries it so a section dropped into any
   page behaves the same. ── */
@keyframes fs-cp-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.fs-cp-anim .fs-cp-reveal{animation:var(--fs-anim-cpRise, fs-cp-rise .5s cubic-bezier(.2,.7,.3,1) both);}

/* ── LAYOUT PRIMITIVES ──────────────────────────────────────────
   Asymmetric splits are FLEX, not grid, and deliberately so: their
   point is a ratio, so auto-fit cannot express them (THEME-PORT-
   CONTRACT §6), and flex-wrap answers the element's OWN width where a
   @media query would answer the window's. flex-grow carries the
   design's ratio; flex-basis is where it gives up and stacks. ── */
.fs-cp-split{display:flex;flex-wrap:wrap;gap:56px;align-items:center;}
.fs-cp-split>.fs-cp-split-a{flex:1.05 1 420px;min-width:0;}   /* export 1.05fr */
.fs-cp-split>.fs-cp-split-b{flex:1 1 400px;min-width:0;}       /* export 1fr   */
/* 1fr / 360px — the specials band and its portrait slot. */
.fs-cp-split-fixed{display:flex;flex-wrap:wrap;gap:56px;align-items:center;}
.fs-cp-split-fixed>.fs-cp-split-a{flex:1 1 420px;min-width:0;}
.fs-cp-split-fixed>.fs-cp-split-b{flex:0 1 360px;min-width:0;max-width:100%;width:360px;}
/* 1.2fr / 1fr — the delivery page. */
.fs-cp-split-wide{display:flex;flex-wrap:wrap;gap:32px;align-items:flex-start;}
.fs-cp-split-wide>.fs-cp-split-a{flex:1.2 1 440px;min-width:0;}
.fs-cp-split-wide>.fs-cp-split-b{flex:1 1 320px;min-width:0;}
/* 1fr / 400px — the order page, cart on the right. */
.fs-cp-split-cart{display:flex;flex-wrap:wrap;gap:28px;align-items:flex-start;}
.fs-cp-split-cart>.fs-cp-split-a{flex:1 1 440px;min-width:0;display:flex;flex-direction:column;gap:20px;}
.fs-cp-split-cart>.fs-cp-split-b{flex:0 1 400px;min-width:0;max-width:100%;width:400px;}

/* Even grids. Each floor is a DESIGN decision — the width below which
   that component stops working — and the same numbers go in the
   layouts config so CSS and gate cannot drift (THEME-PORT-CONTRACT §6). */
.fs-cp-grid-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:14px;}
.fs-cp-grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px;}
.fs-cp-grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;}
.fs-cp-grid-tier{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:16px;}
.fs-cp-grid-staff{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:20px;}
.fs-cp-grid-kds{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;}
/* The two SPANNING grids. min(50%,…) rather than min(100%,…) so
   auto-fit can never resolve to one column — a span 2 in a 1-column
   grid creates an implicit track and overflows sideways, which is what
   verify-layouts calls an overflow. See the header note. */
.fs-cp-grid-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(50%,240px),1fr));grid-auto-rows:200px;gap:14px;}
.fs-cp-grid-show{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(50%,240px),1fr));grid-auto-rows:220px;gap:14px;}
.fs-cp-span-r{grid-row:span 2;}
.fs-cp-span-c{grid-column:span 2;}

/* ── IMAGE SLOTS ────────────────────────────────────────────────
   The export's <image-slot> is a custom element with an absolutely
   positioned inner. Reproduced with the same contract, because
   aspect-ratio on a grid child SIZES THE TRACK and the handover calls
   that out explicitly (§6): the wrapper owns the height, the slot is
   absolute inside it, and min-width:0 keeps it from inflating a
   flex/grid track. ── */
.fs-cp-slot{position:relative;min-width:0;overflow:clip;}
.fs-cp-slot>img,.fs-cp-slot>.fs-cp-slot-ph{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;border-radius:inherit;
}
.fs-cp-slot-ph{
  display:flex;align-items:center;justify-content:center;text-align:center;
  padding:16px;
  background:rgb(var(--c-paper-sunk));
  border:1px dashed rgb(var(--c-line));
  color:rgb(var(--c-ink-400));
  font-size:12px;letter-spacing:.04em;
}
.fs-cp-slot-18{border-radius:18px;}
.fs-cp-slot-16{border-radius:16px;}
.fs-cp-slot-14{border-radius:14px;}

/* ── FORM FIELDS ────────────────────────────────────────────────
   Export: hairline, sunk ground, ember focus ring. outline:none in
   the export is replaced by a visible focus style — a §4.1 gate
   deviation (focus visibility), recorded in the Deviation Ledger. ── */
.fs-cp-field{
  width:100%;
  padding:12px 14px;min-height:44px;
  border-radius:12px;
  border:1px solid rgb(var(--c-line));
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
  font-family:var(--font-body,'Figtree',sans-serif);
  font-size:15px;
  transition:border-color .2s cubic-bezier(.2,.7,.3,1);
}
.fs-cp-field::placeholder{color:rgb(var(--c-ink-400));}
.fs-cp-field:focus-visible{outline:2px solid rgb(var(--c-brand-600));outline-offset:1px;border-color:rgb(var(--c-brand-600));}
.fs-cp-search{
  display:flex;align-items:center;gap:10px;
  padding:6px 6px 6px 18px;
  border:1px solid rgb(var(--c-line));
  border-radius:var(--fs-radius-pill,999px);
  background:rgb(var(--c-paper-soft));
  max-width:620px;margin:0 auto;
}
.fs-cp-search input{
  flex:1;min-width:0;border:none;background:none;
  color:rgb(var(--c-ink-950));font-family:var(--font-body,'Figtree',sans-serif);font-size:15px;
}
.fs-cp-search input:focus-visible{outline:2px solid rgb(var(--c-brand-600));outline-offset:2px;border-radius:8px;}

/* ── STEPPERS, PROGRESS, TRACKER ────────────────────────────────
   Template 07: tracker fill 600ms per stage, and it NEVER animates
   backwards. Transform/opacity only. ── */
.fs-cp-step{display:flex;gap:16px;}
.fs-cp-step-mark{
  width:34px;height:34px;flex:0 0 34px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  border:2px solid rgb(var(--c-line));
  font-size:13px;font-weight:700;color:rgb(var(--c-ink-400));
  background:transparent;
}
.fs-cp-step.is-done .fs-cp-step-mark{border-color:rgb(var(--c-brand-600));background:rgb(var(--c-brand-600));color:var(--fs-on-brand);}
.fs-cp-step.is-now .fs-cp-step-mark{border-color:rgb(var(--c-brand-600));color:rgb(var(--c-brand-600));}
.fs-cp-step-line{
  width:2px;flex:1;min-height:26px;margin:4px auto;
  background:rgb(var(--c-line));
  transition:background .6s cubic-bezier(.2,.7,.3,1);
}
.fs-cp-step.is-done .fs-cp-step-line{background:rgb(var(--c-brand-600));}
/* The export draws this at height:6px;border-radius:3px. It is the
   one bar in the theme (loyalty tier progress) and it is decorative
   rather than a control, so the platform's chunkier 8px/99px pill
   had no reason to override the design here. */
.fs-cp-bar{height:6px;border-radius:3px;background:rgb(var(--c-paper-sunk));overflow:clip;}
.fs-cp-bar>span{display:block;height:100%;border-radius:3px;background:rgb(var(--c-brand-600));transition:width .6s cubic-bezier(.2,.7,.3,1);}
.fs-cp-stepper{display:flex;align-items:center;gap:14px;}
.fs-cp-stepper-btn{display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:50%;
  border:1px solid rgb(var(--c-line));background:transparent;color:rgb(var(--c-ink-950));
  font-size:18px;cursor:pointer;
  transition:border-color .15s cubic-bezier(.2,.7,.3,1),color .15s cubic-bezier(.2,.7,.3,1);
}
.fs-cp-stepper-btn:hover{border-color:rgb(var(--c-brand-600));color:rgb(var(--c-brand-600));}
.fs-cp-stepper-val{font-family:var(--font-display,'Marcellus',serif);font-size:24px;min-width:2ch;text-align:center;}

/* The dot pager under the daily special — export: 26x4px, radius 2. */
.fs-cp-dots{display:flex;gap:8px;margin-top:20px;}
.fs-cp-dots button{
  width:26px;height:4px;border-radius:2px;border:none;padding:0;cursor:pointer;
  background:rgb(var(--c-line));
  transition:background .3s cubic-bezier(.2,.7,.3,1);
}
.fs-cp-dots button[aria-current="true"]{background:rgb(var(--c-brand-600));}

/* ── ROWS ───────────────────────────────────────────────────────
   The generic label/value row every panel uses (cart lines, fee rows,
   zone rows, KDS ticket meta). ── */
.fs-cp-row{display:flex;align-items:center;justify-content:space-between;gap:14px;}
.fs-cp-row+.fs-cp-row{margin-top:12px;}
.fs-cp-rowline{border-top:1px solid rgb(var(--c-line));margin-top:16px;padding-top:16px;}
.fs-cp-stack{display:flex;flex-direction:column;gap:12px;}
.fs-cp-inline{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.fs-cp-cta-row{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap;}

/* ── THE KDS ────────────────────────────────────────────────────
   Staff-only, on a tablet, in a kitchen. Handover §5: ZERO decorative
   motion. Opted out explicitly, not by omission, so a later global
   rule cannot quietly reintroduce it. Ticket age shifts to ember at
   8 minutes — that is information, and it is a colour, not a movement. ── */
.fs-cp-kds,.fs-cp-kds *{animation:none !important;transition:none !important;}
.fs-cp-kds-col{border:1px solid rgb(var(--c-line));border-radius:14px;padding:16px;background:rgb(var(--c-paper-soft));min-width:0;}
.fs-cp-ticket{
  border:1px solid rgb(var(--c-line));border-left:3px solid rgb(var(--c-line));
  border-radius:10px;padding:14px 16px;background:rgb(var(--c-paper));
  cursor:pointer;width:100%;text-align:left;font-family:inherit;color:inherit;
}
.fs-cp-ticket+.fs-cp-ticket{margin-top:10px;}
.fs-cp-ticket.is-new{border-left-color:rgb(var(--c-brand-600));}
.fs-cp-ticket.is-firing{border-left-color:rgb(var(--c-accent));}
.fs-cp-ticket-late{color:rgb(var(--c-brand-600));}
.fs-cp-flag{color:rgb(var(--c-brand-600));font-weight:700;}

/* ── THE FOOTER ─────────────────────────────────────────────────
   Export: one row, space-between, wraps; hairline top, card ground,
   margin-top:auto. The mini tier's is a 4-column grid instead. ── */
.fs-cp-footer{
  border-top:1px solid rgb(var(--c-line));
  background:rgb(var(--c-paper-soft));
  transition:background .4s cubic-bezier(.2,.7,.3,1);
  margin-top:auto;
}
.fs-cp-footer-in{
  max-width:var(--fs-shell-max,1180px);margin:0 auto;padding:44px 40px;
  display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;
}
.fs-cp-footer-cols{
  max-width:var(--fs-shell-max,1180px);margin:0 auto;padding:56px 40px 32px;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:32px;
}
.fs-cp-footer-brand{display:flex;align-items:center;gap:10px;}
.fs-cp-footer-name{font-family:var(--font-display,'Marcellus',serif);font-size:15px;letter-spacing:.12em;}
.fs-cp-footer-bar{
  max-width:var(--fs-shell-max,1180px);margin:0 auto;padding:18px 40px 32px;
  border-top:1px solid rgb(var(--c-line));
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  font-size:12px;color:rgb(var(--c-ink-400));letter-spacing:.06em;
}

/* ── NARROW ─────────────────────────────────────────────────────
   The ONLY viewport queries in this sheet, and only for page GUTTERS
   and display type — both of which genuinely track the window rather
   than the measure. Every component grid above sizes on its own width
   instead (see the header note). Handover §6: no horizontal scroll at
   any width >= 360px. ── */
@media (max-width:900px){
  .fs-cp-sec{padding-left:28px;padding-right:28px;}
  .fs-cp-footer-in,.fs-cp-footer-cols,.fs-cp-footer-bar{padding-left:28px;padding-right:28px;}
  .fs-cp-split,.fs-cp-split-fixed{gap:36px;}
}
@media (max-width:640px){
  .fs-cp-sec{padding:44px 20px;}
  .fs-cp-footer-in,.fs-cp-footer-cols,.fs-cp-footer-bar{padding-left:20px;padding-right:20px;}
  .fs-cp-h1{font-size:clamp(32px,9vw,44px);}
  .fs-cp-h2{font-size:28px;}
  .fs-cp-h2-sm{font-size:26px;}
  .fs-cp-split-fixed>.fs-cp-split-b,.fs-cp-split-cart>.fs-cp-split-b{width:100%;}
}

/* ── REDUCED MOTION ─────────────────────────────────────────────
   Handover §5, verbatim: all movement becomes opacity fades of at most
   200ms, and the pulse becomes a static dot. Not "animation:none" for
   everything — the fade is what the design asks for. ── */
@media (prefers-reduced-motion: reduce){
  .fs-cp *,.fs-cp *::before,.fs-cp *::after{
    animation-duration:.2s !important;
    animation-iteration-count:1 !important;
    transition-duration:.2s !important;
  }
  .fs-cp-anim .fs-cp-reveal{animation:fs-cp-fade .2s ease both !important;}
  .fs-cp-anim .fs-cp-dot{animation:none !important;opacity:1 !important;}
  .fs-cp-anim .fs-cp-btn:hover,.fs-cp-anim .fs-cp-add:hover{transform:none !important;}
}
@keyframes fs-cp-fade{from{opacity:0}to{opacity:1}}

/* ════════════════════════════════════════════════════════════════
   MEGA MENU — Menu 1, "Grid Navigation"

   Scoped to [data-fs-theme='chefprime'] throughout, never by editing
   the shared dropdown base. The base is a compact default that four
   other themes rely on; ChefPrime's panel is a roomier, card-led
   design and the two disagree on almost every number.

   Ground truth is scripts/menu-designs/chefprime-grid.html, lifted
   verbatim from the export, and every value below was READ OFF the
   gate's own design-vs-port diff rather than eyeballed. Run:
     npm run verify:menu -- scripts/theme-checks/chefprime.menu.json        --base=http://localhost:3005
   Colours go through the palette map by ROLE, so a customer recolour
   keeps passing and a wrong role still fails.
   ════════════════════════════════════════════════════════════════ */

/* The panel itself. The base draws a 2px brand edge; the export draws
   a 1px hairline in the ordinary line colour and lets the SURFACE do
   the separating. --c-paper-soft, not --c-paper: the panel is a raised
   sheet over the page, which is what makes the hairline legible. */
/* NOTHING here overrides the panel shell, deliberately. ChefPrime
   declares dropdownStyle:'cardgrid', and that archetype already draws
   the export's own panel: a full-bleed band on --c-paper-soft with a
   1px --c-line hairline top and bottom, its content centred on a
   1240px measure at 30px vertical rhythm. Those are the design's
   numbers, in the platform, available to any theme.

   An earlier pass had this theme on 'columns' plus three !important
   overrides. That was closest-existing-style reasoning, and closest
   was not close: 'columns' draws a 560px card centred on the trigger,
   where this design is a band running the full width of the header.
   The gate passed it at 116/117 because the panel role asserted
   colour and border and NOBODY HAD WRITTEN DOWN A WIDTH — a gate only
   ever checks what someone thought to assert. Width assertions are in
   chefprime.menu.json now so the same hole cannot reopen.

   The !important is gone with it. It was a true reading of the
   mechanism (dropdownLook applies panel.style INLINE, so a selector
   cannot win) but it was treating a symptom: the right fix was an
   archetype that draws the right panel, not a theme shouting over the
   wrong one. Where an inline value genuinely must stay tunable, the
   band shell exposes --fs-band-pad-y / --fs-band-pad-b / --fs-band-max
   instead, because var() resolves through the cascade even inline. */

/* The open trigger takes the sunk ground, so the pressed item reads as
   continuous with the sheet hanging below it, and its label goes ember
   — the design treats an open panel as an ACTIVE state, not just a
   revealed one. Both are shared by all four layouts. */
[data-fs-theme='chefprime'] .fs-hdr-group[data-open]{
  background:rgb(var(--c-paper-sunk));
  /* A PILL, not a rectangle. The export's .trigger is
     border-radius:999px and the open state only changes its ground and
     ink — so the shape is constant and the rounding is the resting
     geometry, not something the open state adds. The port drew a hard
     rectangle because the background landed on the group while the
     radius stayed on the link inside it: a filled corner with nothing
     rounding it. Spotted by eye in a side-by-side, invisible to a gate
     that was asserting colour and type but never the shape of the
     thing it was colouring. */
  border-radius:999px;
  /* Set on the GROUP, because that is the element the design's own
     .trigger.on maps to and a rule on a child link would not compute
     there. */
  color:rgb(var(--c-brand-600));
}
/* ...and immediately given back, because the PANEL is inside the group
   and inherited the ember. That turned the panel's own colour and its
   currentColor-derived side borders ember on all four layouts — three
   properties, reproducible, and caught only because the panel role
   asserts colour. The trigger is the thing that goes ember; the sheet
   hanging off it is not. */
[data-fs-theme='chefprime'] .fs-hdr-group[data-open] [data-fs-nav-panel]{
  color:rgb(var(--c-ink-950));
}
/* Caret: the export holds it at .7 rather than full strength, and on
   the theme's single easing duration. */
[data-fs-theme='chefprime'] .fs-hdr-group[data-open] .fs-hdr-caret svg{
  opacity:.7;
  transition-duration:.2s;
}

/* Section eyebrow. Sentence-case in the source, uppercased by CSS —
   the export has exactly one hand-authored eyebrow in the whole set,
   so this is a presentation rule, not copy. 11px x .26em = 2.86px. */
[data-fs-theme='chefprime'] .fsdrop-panel-cardgrid .fsdrop-mega-text-heading{
  font-weight:400;
  letter-spacing:2.86px;
  line-height:13px;
  text-transform:uppercase;
  color:rgb(var(--c-brand-600));
}

/* ── THE CARD GRID IS FLAT, and this is the correction that matters ──
   The export's own comment is explicit: "flatLinks: every link in the
   section, each carrying its GROUP's icon, capped at 8". So the data
   stays grouped — categories and airy render those groups as columns
   with headings — but THIS layout dissolves them into one even grid of
   eight cards under a single full-width eyebrow. Equal-weight
   destinations get equal visual weight; that is the whole rationale.

   The port was drawing the authored shape instead: five positional
   columns (eyebrow | From the fire | Flatbreads | Dietary | feature),
   each group headed and stacked. It measured 129/129 because the gate
   compared colour, type and padding on roles that DID line up — and
   never asked how many columns there were or whether the headings
   showed. The owner caught it in a side-by-side. A gate only checks
   what someone thought to write down, and nobody had written down the
   composition.

   display:contents on the wrappers is what flattens it: the column
   divs, the linklists and their list items stop generating boxes, so
   every <a> becomes a direct grid item of the panel's own grid and
   flows across four tracks regardless of which group authored it.
   Nothing is re-authored, which is the requirement — one content
   model, four layouts.

   The track list needs !important because NavGroup writes
   grid-template-columns INLINE from the theme's own column count. */
[data-fs-theme='chefprime'] .fsdrop-panel-cardgrid .fsdrop-mega-content{
  grid-template-columns:repeat(4,minmax(min(100%,180px),1fr)) 300px !important;
  column-gap:10px;
  row-gap:10px;
  align-items:start;
}
[data-fs-theme='chefprime'] .fsdrop-panel-cardgrid .fsdrop-mega-content-col,
[data-fs-theme='chefprime'] .fsdrop-panel-cardgrid .fsdrop-mega-linklist,
[data-fs-theme='chefprime'] .fsdrop-panel-cardgrid .fsdrop-mega-linklist-items,
[data-fs-theme='chefprime'] .fsdrop-panel-cardgrid .fsdrop-mega-linklist-items > li{
  display:contents;
}
/* The eyebrow runs the width of the cards, not a column of its own —
   18px above the grid, per .eyebrow's own margin-bottom. */
[data-fs-theme='chefprime'] .fsdrop-panel-cardgrid .fsdrop-mega-text{
  grid-column:1 / 5;
  margin-bottom:18px;
}
/* Group headings are the grouping this layout deliberately discards.
   Kept in the DOM rather than removed from the data — categories and
   airy render the same headings as real structure. */
[data-fs-theme='chefprime'] .fsdrop-panel-cardgrid .fsdrop-mega-linklist-heading{
  display:none;
}
/* The feature holds the fifth track for the WHOLE panel height, not
   just the rows it needs. That is not cosmetic: grid auto-placement is
   row-major and fills every free cell, so a feature occupying only two
   rows leaves a hole in column 5 that the next card drops into — which
   is exactly what happened, putting a 300px-wide dish card in the
   promo's column. Reserving the track keeps the cards in tracks 1-4
   whatever the group sizes are.

   DEVIATION, recorded: the export caps this grid at EIGHT cards ("capped
   at 8" in its own source) and ChefPrime authors nine, so the port shows
   Allergen matrix where the artboard stops at Gluten-free. The cap
   cannot be expressed here — the nine rows live in three separate
   lists, and CSS cannot count across siblings that do not share a
   parent. It needs a render-time limit in the engine, which is filed
   rather than faked by hiding a row this theme legitimately authors.
   Categories and airy show all nine, which is correct for them. */
[data-fs-theme='chefprime'] .fsdrop-panel-cardgrid .fsdrop-mega-pagecard{
  grid-column:5;
  grid-row:1 / span 4;
}

/* The cards. The base draws a borderless, space-between row with
   negative side margins so links sit flush in a column; ChefPrime
   draws a real bordered tile, so the margins have to come back to 0 or
   the border sits proud of the panel. Transition is border-color and
   transform (a 2px lift), NOT background — the export never repaints
   a card on hover. */
[data-fs-theme='chefprime'] .fsdrop-panel-cardgrid .fsdrop-mega-linklist-link{
  padding:14px;
  margin:0;
  border:1px solid rgb(var(--c-line));
  border-radius:12px;
  /* [icon][label] on the first line, description wrapping under the
     label. The export nests the two lines in a .txt wrapper beside the
     icon; the engine emits icon, label and note as three siblings, so
     the same shape comes from letting the row WRAP and giving the note
     a full-width basis indented past the glyph (19px icon + 12px gap).
     Adding a wrapper element instead would change the DOM every other
     mega style shares, for one theme's benefit. */
  flex-wrap:wrap;
  justify-content:normal;
  align-items:flex-start;
  gap:0 12px;
  transition:border-color .2s ease, transform .2s cubic-bezier(.2,.7,.3,1);
}
/* GAP-CP-3, filed not built: every card in the export carries its
   GROUP's icon (19x19, 1.75 stroke, round caps, ember). The platform
   has nowhere to put one — ThemeMegaBlock has no icon field, so a
   linkList cannot say "draw this glyph on each of my rows". Same shape
   of gap as MegaLink.desc was, and the flattened grid is exactly where
   it matters: with the group headings gone, the icon is the only thing
   left saying which group a card came from. Not hand-rolled into this
   theme's CSS — it needs the field. */

/* The featured cell draws no image in this design. The platform emits
   an empty .fsdrop-featured-image span regardless (a known engine gap:
   it is a painted ground waiting for a src), which rendered as a large
   gradient block the export does not have. Hidden when empty rather
   than removed from the engine, which would change every theme. */
[data-fs-theme='chefprime'] .fsdrop-panel-cardgrid .fsdrop-featured-image:empty{
  display:none;
}
[data-fs-theme='chefprime'] .fsdrop-panel-cardgrid .fsdrop-mega-linklist-label{
  flex:1 1 0;
  min-width:0;
  font-weight:700;
  line-height:16px;
}
/* Full-width basis pushes the note onto its own line; the indent puts
   it under the label rather than under the glyph — 19px of icon plus
   the row's own 12px gutter. */
[data-fs-theme='chefprime'] .fsdrop-panel-cardgrid .fsdrop-link-note{
  flex:1 1 100%;
  margin-left:31px;
}
/* No glyph authored on this group? Then there is nothing to indent
   past, and the note sits under a label that starts at the padding. */
[data-fs-theme='chefprime'] .fsdrop-panel-cardgrid .fsdrop-mega-linklist-link:not(:has(.fsdrop-link-icon)) .fsdrop-link-note{
  margin-left:0;
}

/* The one featured card per panel — "the one commercial message per
   section so nothing else has to shout" (export rationale). It is the
   only elevated surface in the panel, which is why it takes the sunk
   ground and a larger radius than the cards beside it. */
[data-fs-theme='chefprime'] .fsdrop-panel-cardgrid .fsdrop-mega-pagecard{
  padding:24px;
  background:rgb(var(--c-paper-sunk));
  border-radius:16px;
}
[data-fs-theme='chefprime'] .fsdrop-panel-cardgrid .fsdrop-featured-badge{
  /* DEVIATION LEDGER (SS4.1): the design draws this badge at 10.5px and
     it ships at 12px, the check:type-scale floor. Same call PayFlow made
     for its status badge; the owner-granted decorative exemption covers
     only PayFlow's "MOST POPULAR" ribbon, which is that theme's
     signature element, and nobody has granted one here. Tracking,
     weight, colour and transform are all still the design's. */
  font-size:12px;
  font-weight:400;
  letter-spacing:2.52px;
  line-height:13px;
  color:rgb(var(--c-brand-600));
  background:none;
}
/* The display face, at the one place in the nav the export uses it. */
[data-fs-theme='chefprime'] .fsdrop-panel-cardgrid .fsdrop-featured-title{
  font-family:var(--font-display,'Marcellus',serif);
  font-size:22px;
  font-weight:400;
  line-height:27.5px;
}
/* Ember is for action and heat only (brand rule), so the panel's one
   filled button is the only place it becomes a ground. */
[data-fs-theme='chefprime'] .fsdrop-panel-cardgrid .fsdrop-featured-cta{
  padding:10px 18px;
  margin-top:18px;
  line-height:14px;
  background:rgb(var(--c-brand-600));
  /* The LABEL as well as the fill. Setting the ground and leaving the
     ink was a real legibility defect: the base paints CTA text in
     --c-brand-700, which on an ember fill is deep ember on ember,
     around 2:1. --fs-on-brand is the ink the palette solves FOR that
     fill, so it stays right when a customer switches accent. Caught by
     the gate comparing colour by ROLE — a hardcoded hex would have
     matched the artboard and still been wrong on the other three
     accents.

     NOTE THE MISSING rgb(). Nearly every token in this file is CHANNELS
     and needs wrapping — rgb(var(--c-brand-600)). --fs-on-brand is not:
     apply.ts emits it as a complete rgb(...) string, so wrapping it
     produces rgb(rgb(...)), which is invalid and silently DROPPED. The
     symptom is not an error, it is the element quietly inheriting its
     parent's ink — which is exactly what happened here and read as the
     fix not working. */
  color:var(--fs-on-brand);
}

/* ════════════════════════════════════════════════════════════════
   THE OTHER THREE LAYOUTS

   One design, four layouts, one content model — a customer switches
   and re-enters nothing. Everything below is scoped to its own
   archetype for a reason learned the hard way: these rules were first
   written against [data-fs-nav-panel], which is EVERY panel, so the
   card grid's 14px bordered tiles and uppercase ember eyebrow bled
   into all four and the three siblings measured wrong in exactly the
   places they differ most. A per-theme rule still has to say WHICH
   layout it is talking about.

   Values read off each design sheet's own diff, not carried across.
   ════════════════════════════════════════════════════════════════ */

/* 2 — CATEGORY BLOCKS. "Named categories, honest hierarchy." The
   heading is the DISPLAY face at reading size, not an eyebrow: it
   names a section of the menu, so it takes ink and sentence case
   where the card grid takes ember and capitals. */
[data-fs-theme='chefprime'] .fsdrop-panel-categories .fsdrop-mega-linklist-heading{
  font-family:var(--font-display,'Marcellus',serif);
  font-size:17px;
  font-weight:400;
  letter-spacing:normal;
  line-height:22px;
  text-transform:none;
  color:rgb(var(--c-ink-950));
}
/* Rows are plain here — the rule under the heading does the grouping,
   so a border on each row would be a second, competing structure. */
[data-fs-theme='chefprime'] .fsdrop-panel-categories .fsdrop-mega-linklist-link{
  font-weight:600;
  line-height:15px;
  padding:8px 10px;
  border:0;
  margin:0;
}
/* The promo panel — "the only elevated surface, so the eye lands there
   LAST, after navigation rather than instead of it" (export rationale).
   Same sunk ground as the card grid's featured cell, but roomier and
   with the display face a step larger, because here it is a column of
   its own rather than one tile among many. */
/* The promo is a FIXED side panel, not another equal column — 300px in
   the export, with the link groups sharing whatever is left. That is
   the composition doing the work the rationale describes: navigation
   gets the room, the one offer gets a known corner. */
[data-fs-theme='chefprime'] .fsdrop-panel-categories .fsdrop-mega-content{
  display:flex;
  align-items:flex-start;
  gap:36px;
}
[data-fs-theme='chefprime'] .fsdrop-panel-categories .fsdrop-mega-linklist{
  flex:1 1 0;
  min-width:0;
}
[data-fs-theme='chefprime'] .fsdrop-panel-categories .fsdrop-mega-pagecard{
  flex:0 0 300px;
  background:rgb(var(--c-paper-sunk));
  padding:24px;
  border-radius:16px;
}
[data-fs-theme='chefprime'] .fsdrop-panel-categories .fsdrop-featured-body{
  font-weight:400;
}
[data-fs-theme='chefprime'] .fsdrop-panel-categories .fsdrop-featured-title{
  font-family:var(--font-display,'Marcellus',serif);
  font-size:21px;
  font-weight:400;
  line-height:26.25px;
}

/* 3 — MINIMALIST WIDE. "Space is the premium signal." The heading
   recedes to muted ink with wide tracking so the LINKS carry the
   panel, and the links themselves are Marcellus at reading size —
   the only layout where a nav row is set in the display face. */
[data-fs-theme='chefprime'] .fsdrop-panel-airy .fsdrop-mega-linklist-heading{
  font-weight:400;
  letter-spacing:3.15px;
  line-height:13px;
  color:rgb(var(--c-ink-400));
}
[data-fs-theme='chefprime'] .fsdrop-panel-airy .fsdrop-mega-linklist-link{
  font-family:var(--font-display,'Marcellus',serif);
  font-size:19px;
  font-weight:400;
  letter-spacing:.19px;
  line-height:24px;
  padding:0 0 2px;
  border:0;
  margin:0;
}

/* 4 — CONTENT-RICH. "Merchandise from the nav itself." Same eyebrow
   treatment as the card grid but on its own tracking, and rows that
   are a label over a description rather than a padded tile — the
   padding moves to the row's spacing so the two lines stay one unit. */
[data-fs-theme='chefprime'] .fsdrop-panel-editorial .fsdrop-mega-linklist-heading{
  font-weight:400;
  letter-spacing:2.73px;
  line-height:13px;
}
[data-fs-theme='chefprime'] .fsdrop-panel-editorial .fsdrop-mega-linklist-link{
  font-size:16px;
  font-weight:400;
  line-height:normal;
  padding:0;
  border:0;
  margin:0;
}
/* The row is a LABEL over a description, so the label is the smaller,
   heavier half — it has to hold its own against a line of prose
   directly beneath without becoming a heading in its own right. The
   16px on the row above is the block's rhythm, not the label's size. */
[data-fs-theme='chefprime'] .fsdrop-panel-editorial .fsdrop-mega-linklist-label{
  font-size:13.5px;
  font-weight:700;
  line-height:16px;
}


.fs-fp{
  position:relative;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
  font-family:var(--font-body,'Instrument Sans',system-ui,sans-serif);
  -webkit-font-smoothing:antialiased;
}
.fs-fp *{box-sizing:border-box;}
.fs-fp-wire{filter:grayscale(1) contrast(.5);}

/* ── THE MEASURE ────────────────────────────────────────────────
   The export draws every section at padding:64px 56px on a 1440
   body with NO max-width container — it is edge-to-edge, and the
   header is annotated full-bleed for the same reason.

   --fs-layout-max comes FIRST so the customer's Site Settings Layout
   choice beats the theme's own measure. Aurora and PayFlow shipped
   with a dead Layout picker because their widths never consulted it;
   this chain is written before the first page, not after the last. */
.fs-fp-sec{
  max-width:var(--fs-layout-max, var(--fs-shell-max, none));
  margin:0 auto;
  padding:64px 56px;
  position:relative;
}
@media (max-width:900px){
  /* Mobile artboards are drawn at 390 with 20px gutters. */
  .fs-fp-sec{padding:40px 20px;}
}

/* ── TYPE ───────────────────────────────────────────────────────
   display Archivo 900 italic uppercase, heading Archivo 900/800,
   body Instrument Sans 400/500, data IBM Plex Mono 600 tabular.
   Tracking is negative on display and positive on labels — the
   export's own split, and the thing that makes it read as sport
   rather than editorial. */
.fs-fp-h1{
  font-family:var(--font-display,Archivo,sans-serif);
  font-weight:900;font-style:italic;text-transform:uppercase;
  font-size:clamp(38px,7vw,72px);
  line-height:.945;              /* 68/72 at the drawn size */
  letter-spacing:-2.2px;
  margin:0;
}
/* UPRIGHT, not italic. Counted across the export: eight h2 elements,
   none italic, against an h1 that always is. The slant belongs to the
   display line only -- it is what makes the h1 the loudest thing on a
   page -- and giving it to every section heading flattens that
   distinction. This was italic from the first page of the port and no
   gate asserted any h2 property, so it survived nine pages. */
.fs-fp-h2{
  font-family:var(--font-display,Archivo,sans-serif);
  font-weight:900;font-style:normal;text-transform:uppercase;
  font-size:clamp(26px,3.2vw,38px);
  /* -0.7px, from the export h2. The port had -1.1px, which is the
     MOBILE PAGE-HEAD h1 value -- borrowed from the wrong element and
     never asserted, like the italic above it. */
  line-height:1.05;letter-spacing:-0.7px;margin:0;
}
.fs-fp-h3{
  font-family:var(--font-display,Archivo,sans-serif);
  font-weight:800;text-transform:uppercase;
  font-size:20px;line-height:24px;letter-spacing:-0.4px;margin:0;
}
/* The accent word inside a display heading — the export sets exactly
   one per hero. TEXT, so it reads --c-brand-text. */
.fs-fp-h1 .fs-fp-accent,.fs-fp-h2 .fs-fp-accent{color:rgb(var(--c-brand-text));}

.fs-fp-lede{font-size:17px;line-height:27px;color:rgb(var(--c-ink-700));max-width:460px;margin:0;}
/* The INNER-PAGE standfirst is not the hero lede: 16/25 muted at a
   560px measure, against the hero's 17/27 body at 460. Three
   properties apart, so it is its own class — reusing the hero's
   would have shipped a wider, heavier line on every inner page. */
.fs-fp-pagelede{font-size:16px;line-height:25px;color:rgb(var(--c-ink-400));max-width:560px;margin:0;}
.fs-fp-body{font-size:15px;line-height:24px;color:rgb(var(--c-ink-700));margin:0;}
.fs-fp-small{font-size:13px;line-height:20px;color:rgb(var(--c-ink-400));margin:0;}

/* ── LABELS ─────────────────────────────────────────────────────
   The export raised every 10/10.5px label to 12px and PINNED the line
   box in px so the row rhythm did not move — docs/answers-and-line-
   heights.md states the rule outright: "the leading holds at the value
   drawn — do not scale it with the text."
   15px for a standalone label stacked above something; 16px for
   anything inside a fixed-height chip, pill, badge or row. */
.fs-fp-eyebrow{
  font-family:var(--font-display,Archivo,sans-serif);
  font-weight:700;font-size:12px;line-height:15px;
  letter-spacing:1.9px;text-transform:uppercase;
  color:rgb(var(--c-brand-text));margin:0;
}
.fs-fp-label{
  font-family:var(--font-display,Archivo,sans-serif);
  font-weight:700;font-size:12px;line-height:15px;
  letter-spacing:1.7px;text-transform:uppercase;
  color:rgb(var(--c-ink-400));margin:0;
}
/* Data: mono, tabular, and the reason IBM Plex Mono is a first-class
   family here rather than a decoration. */
.fs-fp-stat{
  font-family:var(--font-mono,'IBM Plex Mono',monospace);
  font-weight:600;font-size:26px;line-height:32px;
  font-variant-numeric:tabular-nums;
  color:rgb(var(--c-ink-950));
}
.fs-fp-stat-l{font-size:12px;line-height:16px;color:rgb(var(--c-ink-400));}
.fs-fp-meta{
  font-family:var(--font-mono,'IBM Plex Mono',monospace);
  font-size:12px;line-height:16px;font-variant-numeric:tabular-nums;
  color:rgb(var(--c-ink-400));
}

/* ── CONTROLS ───────────────────────────────────────────────────
   LOAD-BEARING, in the export's own words: "52px CTA height",
   "44px minimum tap height". Both are tap targets; neither may shrink
   when the type floors to 12px. */
.fs-fp-btn{
  display:inline-flex;align-items:center;justify-content:center;
  height:52px;padding:0 28px;
  font-family:var(--font-display,Archivo,sans-serif);
  font-weight:800;font-size:14px;letter-spacing:1.1px;text-transform:uppercase;
  background:rgb(var(--c-brand-600));color:var(--fs-on-brand);
  border:none;border-radius:var(--fs-radius-control,10px);
  cursor:pointer;white-space:nowrap;text-decoration:none;
  transition:transform 150ms ease-out,box-shadow 150ms ease-out;
}
/* MOTION "cta-lift" — hover 150ms ease-out, translateY -2px + glow;
   :active scale .97 over 120ms. */
.fs-fp-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgb(var(--c-brand-600)/.35);}
.fs-fp-btn:active{transform:scale(.97);transition-duration:120ms;}
.fs-fp-btn-ghost{
  display:inline-flex;align-items:center;justify-content:center;
  height:52px;padding:0 28px;
  font-family:var(--font-display,Archivo,sans-serif);
  font-weight:800;font-size:14px;letter-spacing:1.1px;text-transform:uppercase;
  color:rgb(var(--c-ink-950));background:transparent;
  border:1.5px solid rgb(var(--c-line-strong,var(--c-line)));
  border-radius:var(--fs-radius-control,10px);
  cursor:pointer;white-space:nowrap;text-decoration:none;
}
.fs-fp-btn-ghost:hover{border-color:rgb(var(--c-brand-600));}

/* Chips/pills. 26-28px is LOAD-BEARING per the export, and the 16px
   line box is what keeps a 12px glyph optically centred inside it. */
.fs-fp-chip{
  display:inline-flex;align-items:center;gap:6px;
  height:28px;padding:0 12px;
  font-family:var(--font-display,Archivo,sans-serif);
  font-weight:800;font-size:12px;line-height:16px;
  letter-spacing:1px;text-transform:uppercase;   /* export: chip tracking is 1px, not the label's 1.7 */
  color:rgb(var(--c-ink-400));
  background:transparent;border:1px solid rgb(var(--c-line));
  border-radius:999px;white-space:nowrap;cursor:pointer;
}
.fs-fp-chip.is-on{
  background:rgb(var(--c-brand-600));color:var(--fs-on-brand);
  border-color:rgb(var(--c-brand-600));
}

/* ── SURFACES ───────────────────────────────────────────────────
   surface #14171B / raised #1D2127 in dark, and their light twins.
   Radii cluster at 9/14/17px in the export; the card is 14. */
.fs-fp-card{
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line));
  border-radius:var(--fs-radius-card,14px);
  padding:24px;
  min-width:0;
  transition:border-color 150ms cubic-bezier(.16,1,.3,1),transform 150ms cubic-bezier(.16,1,.3,1);
}
/* MOTION "card-lift" */
/* card-lift, at the export's own numbers: -4px and a border that goes
   to brandText at half alpha, not to the full brand. A glow would be
   cta-lift's job; a card darkens its edge. */
.fs-fp-card:hover{border-color:rgb(var(--c-brand-text)/.5);transform:translateY(-4px);}
.fs-fp-panel{
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line));
  border-radius:17px;
  padding:26px;
  min-width:0;
}
.fs-fp-rule{border-top:1px solid rgb(var(--c-line));}

/* ── GRIDS ──────────────────────────────────────────────────────
   auto-fit, not a fixed column count. A fixed repeat(N,1fr) only
   reflows at a @media VIEWPORT width, so a narrowed CONTAINER keeps
   dividing a smaller box by N — exactly how Aurora shipped 187px cards
   under Minimalist. The floors below preserve the export's own column
   count at its own measure. */
/* THREE-UP at the design's own measure. The export writes
   repeat(3,1fr); auto-fit with a DERIVED floor reproduces that at 1440
   and still reflows when a narrow Layout shrinks the container, which a
   fixed count cannot (it only reflows at a @media VIEWPORT width — the
   Aurora failure).

   columns = floor((W + gap) / (floor + gap)). The section is 1440 less
   2x56 padding = 1328, gap 20, so three columns needs a floor in
   (317, 429]. 300 was too low and rendered FOUR; 340 gives three. */
.fs-fp-grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:20px;}
.fs-fp-grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:20px;}
.fs-fp-stack{display:flex;flex-direction:column;gap:20px;min-width:0;}
.fs-fp-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0;}
.fs-fp-inline{display:flex;align-items:center;gap:14px;flex-wrap:wrap;min-width:0;}

/* ── HERO ───────────────────────────────────────────────────────
   min-height 540px, a 135deg raised->ground gradient, and a 90deg
   scrim over it so display type stays legible across the image edge.
   The copy column is capped at 640px, the lede at 460px. */
.fs-fp-hero{
  position:relative;min-height:540px;display:flex;align-items:center;overflow:clip;
  background:linear-gradient(135deg,rgb(var(--c-paper-sunk)),rgb(var(--c-paper)));
}
.fs-fp-hero-scrim{
  position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgb(var(--c-paper)) 26%,rgb(var(--c-paper)/.72) 52%,rgb(var(--c-paper)/.08) 100%);
}
.fs-fp-hero-in{position:relative;padding:64px 56px;max-width:640px;display:flex;flex-direction:column;gap:22px;}
@media (max-width:900px){
  .fs-fp-hero{min-height:0;}
  .fs-fp-hero-in{padding:40px 20px;max-width:none;}
}

/* ── IMAGE SLOTS ────────────────────────────────────────────────
   The wrapper owns the height and the image is absolute inside it —
   aspect-ratio on a grid child SIZES THE TRACK and would inflate the
   row it sits in. */
.fs-fp-slot{position:relative;overflow:clip;border-radius:14px;background:rgb(var(--c-paper-sunk));min-width:0;}
.fs-fp-slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.fs-fp-slot-ph{
  position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:16px;
  font-size:12px;line-height:16px;color:rgb(var(--c-ink-400));
}
/* LOAD-BEARING: 46px play button on every video poster. */
.fs-fp-play{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:46px;height:46px;border-radius:50%;
  display:grid;place-items:center;
  background:rgb(var(--c-brand-600));color:var(--fs-on-brand);
  border:none;cursor:pointer;
}

/* ── MOTION ─────────────────────────────────────────────────────
   The export names eleven and states each timing inline. Nothing
   autoplays and everything stops under prefers-reduced-motion — its
   own rule, not one the port added. */
@keyframes fs-fp-section-rise{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@keyframes fs-fp-live-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.72)}}
/* NO section-reveal rule here, deliberately. The platform already runs
   one on every block root — motion-base.ts targets
   [data-fs-blocktype]:not([data-fs-first]) > * with
   animation-timeline: view(), so it is scroll-driven and it exempts the
   first section so a hero never flashes. Adding a second animation on
   the same elements double-animates them, and a 340ms time-based one
   would fight a scroll-linked one for the same property.

   Measured while porting: hero sat at opacity 1 (exempt as
   [data-fs-first]), programs at 0.977 part-entered, showcase at 0.001
   not yet entered. That is the platform's reveal working, not a defect
   — content below the fold is meant to be waiting.

   .fs-fp-reveal is kept as a HOOK only: the export names the motion
   "section-rise" and the keyframes stay below so a future
   microAnimation can bind to them. */
.fs-fp-dot{
  width:8px;height:8px;border-radius:50%;background:rgb(var(--c-brand-600));display:inline-block;flex:none;
}
.fs-fp-anim .fs-fp-dot{animation:fs-fp-live-pulse 1200ms ease-in-out infinite;}
@media (prefers-reduced-motion:reduce){
  .fs-fp-anim .fs-fp-reveal,.fs-fp-anim .fs-fp-dot{animation:none;}
  .fs-fp-btn,.fs-fp-card{transition:none;}
}

/* ── PROGRAMS PAGE ──────────────────────────────────────────────
   Read from export/pages/programs.dc.html. */

/* The LEVEL pill is not the filter chip and must not share its class:
   radius 14 (not 999), tracking 1.2 (not 1), and an accent TINT ground
   with accent text rather than a fill with on-brand text. Tint + text
   is why it reads --c-brand-text — on the light ground that resolves to
   #4C6600 and clears AA, where Volt on a 12% Volt tint would not. */
.fs-fp-pill{
  display:inline-flex;align-items:center;
  height:28px;padding:0 10px;border-radius:14px;
  font-family:var(--font-display,Archivo,sans-serif);
  font-weight:700;font-size:12px;line-height:16px;
  letter-spacing:1.2px;text-transform:uppercase;
  background:rgb(var(--c-brand-600)/.12);
  color:rgb(var(--c-brand-text));
  white-space:nowrap;
}
/* Card heading: 21px/26px at -0.2px. Deliberately NOT .fs-fp-h3 (20/24
   at -0.4) — the export draws the two at different steps and folding
   them together would lose a size the design chose. */
.fs-fp-card-h{
  font-family:var(--font-display,Archivo,sans-serif);
  font-weight:800;font-size:21px;line-height:26px;
  letter-spacing:-0.2px;margin:0;
  color:rgb(var(--c-ink-950));
}
/* The card's own footer rule: a hairline with the link on the left and
   a mono count on the right, pushed to the bottom by margin-top:auto so
   cards of different copy lengths still align their footers. */
.fs-fp-card-foot{
  display:flex;justify-content:space-between;align-items:center;
  border-top:1px solid rgb(var(--c-line));
  padding-top:14px;margin-top:auto;gap:10px;
}
.fs-fp-cardlink{
  font-family:var(--font-display,Archivo,sans-serif);
  font-weight:800;font-size:13px;line-height:17px;
  letter-spacing:.8px;text-transform:uppercase;
  color:rgb(var(--c-brand-text));text-decoration:none;white-space:nowrap;
}
.fs-fp-cardlink:hover{opacity:.72;}
/* Program cards are a column so the footer can sit at the bottom. */
.fs-fp-card-col{display:flex;flex-direction:column;gap:14px;padding:26px;}

/* The generator panel: one bordered card with its own header rule and a
   340px control column beside the output. */
.fs-fp-gen{
  border:1px solid rgb(var(--c-line));
  border-radius:16px;
  background:rgb(var(--c-paper-soft));
  overflow:clip;
}
.fs-fp-gen-head{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:18px 26px;border-bottom:1px solid rgb(var(--c-line));flex-wrap:wrap;
}
.fs-fp-gen-mark{
  width:30px;height:30px;border-radius:9px;flex:none;
  background:rgb(var(--c-brand-600)/.12);
  color:rgb(var(--c-brand-text));
  display:inline-flex;align-items:center;justify-content:center;font-size:14px;
}
.fs-fp-gen-body{display:grid;grid-template-columns:340px 1fr;}
@media (max-width:900px){ .fs-fp-gen-body{grid-template-columns:1fr;} }
.fs-fp-gen-side{
  padding:24px 26px;border-right:1px solid rgb(var(--c-line));
  display:flex;flex-direction:column;gap:18px;min-width:0;
}
@media (max-width:900px){
  .fs-fp-gen-side{border-right:none;border-bottom:1px solid rgb(var(--c-line));}
}
/* The generator's own option chip: 34px tall, radius 17, tracking 1. */
.fs-fp-opt{
  display:inline-flex;align-items:center;
  height:34px;padding:0 16px;border-radius:17px;
  font-family:var(--font-display,Archivo,sans-serif);
  font-weight:800;font-size:12px;line-height:16px;
  letter-spacing:1px;text-transform:uppercase;
  background:transparent;border:1px solid rgb(var(--c-line));
  color:rgb(var(--c-ink-400));white-space:nowrap;cursor:pointer;
}
.fs-fp-opt.is-on{
  background:rgb(var(--c-brand-600));
  border-color:rgb(var(--c-brand-600));
  color:var(--fs-on-brand);
}
/* LOAD-BEARING: 48px generate button, per the export's own annotation. */
.fs-fp-gen-btn{
  display:inline-flex;align-items:center;justify-content:center;
  height:48px;padding:0 24px;
  font-family:var(--font-display,Archivo,sans-serif);
  font-weight:800;font-size:13px;letter-spacing:1px;text-transform:uppercase;
  background:rgb(var(--c-brand-600));color:var(--fs-on-brand);
  border:none;border-radius:var(--fs-radius-control,10px);
  cursor:pointer;white-space:nowrap;
}

/* ── TRAINERS PAGE ──────────────────────────────────────────────
   Read from export/pages/trainers.dc.html. */

/* The initials avatar. The export marks it IMAGERY with a 1:1 circular
   mask and says outright that the initials are the FALLBACK, so this
   ships as the fallback and a customer's portrait replaces it. The
   gradient is the same 135deg raised->ground the hero uses. */
.fs-fp-avatar{
  width:58px;height:58px;border-radius:29px;flex:none;
  background:linear-gradient(135deg,rgb(var(--c-paper-sunk)),rgb(var(--c-paper)));
  border:1px solid rgb(var(--c-line));
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--font-display,Archivo,sans-serif);
  font-weight:900;font-size:17px;line-height:22px;
  color:rgb(var(--c-brand-text));
}
.fs-fp-coach-n{
  font-family:var(--font-display,Archivo,sans-serif);
  font-weight:800;font-size:18px;line-height:23px;margin:0;
  color:rgb(var(--c-ink-950));
}
.fs-fp-coach-r{font-size:13px;line-height:18px;color:rgb(var(--c-ink-400));}
/* A speciality pill is a level pill at 1px tracking, not 1.2. Small,
   but a modifier costs two lines where "close enough" costs the
   fidelity the whole port is for. */
.fs-fp-pill-sp{letter-spacing:1px;}

/* The spotlight: a 320px portrait column beside the quote. */
.fs-fp-spot{display:grid;grid-template-columns:320px 1fr;gap:48px;align-items:center;}
@media (max-width:900px){ .fs-fp-spot{grid-template-columns:1fr;gap:24px;} }
.fs-fp-quote{
  font-family:var(--font-display,Archivo,sans-serif);
  font-weight:800;font-style:italic;
  font-size:clamp(20px,2.4vw,26px);line-height:1.25;letter-spacing:-0.4px;
  margin:0;color:rgb(var(--c-ink-950));
}

/* ── CONTACT PAGE ───────────────────────────────────────────────
   Read from export/pages/contact.dc.html.

   Fields render INERT, following ChefPrime: the block shows the form's
   SHAPE and the platform's own contact block owns submission. A theme
   block that looked like a working form and posted nowhere would be a
   worse lie than an obvious placeholder.

   The export borders fields at rgba(255,255,255,.18) where its
   hairlines are .09 — a deliberately stronger rule for an interactive
   edge. The platform ships one --c-line (solved to clear 3:1) and no
   stronger token, so both resolve to it here and the field edge is a
   touch lighter than drawn. Recorded in the check file rather than
   faked with a hardcoded rgba, which would not follow the palette. */
.fs-fp-field{
  height:48px;                     /* LOAD-BEARING: the export says so */
  box-sizing:border-box;
  display:flex;align-items:center;
  background:transparent;
  border:1px solid rgb(var(--c-line));
  border-radius:9px;
  padding:0 13px;
  color:rgb(var(--c-ink-400));
  font-family:var(--font-body,'Instrument Sans',sans-serif);
  font-size:14px;
  min-width:0;
}
.fs-fp-field-area{
  height:auto;min-height:132px;align-items:flex-start;
  padding:13px;line-height:22px;
}
.fs-fp-field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
@media (max-width:600px){ .fs-fp-field-row{grid-template-columns:1fr;} }
/* The form's own submit is 52px like the hero CTA but sets 13px type
   against the hero's 14 — the export draws them a step apart. */
.fs-fp-send{
  height:52px;width:100%;
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--font-display,Archivo,sans-serif);
  font-weight:800;font-size:13px;letter-spacing:1.1px;text-transform:uppercase;
  background:rgb(var(--c-brand-600));color:var(--fs-on-brand);
  border:0;border-radius:var(--fs-radius-control,10px);cursor:pointer;
}
.fs-fp-detail-l{
  font-family:var(--font-display,Archivo,sans-serif);
  font-weight:700;font-size:12px;line-height:15px;
  letter-spacing:1.7px;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-fp-detail-v{font-size:14px;line-height:21px;color:rgb(var(--c-ink-950));}

/* ── EXERCISE LIBRARY ───────────────────────────────────────────
   Read from export/pages/library.dc.html.

   A FOURTH pill size. The export draws three: level 28/r14/1.2,
   speciality 28/r14/1.0, and this one 26/r13/1.0 sitting on a poster.
   Each is deliberate and each gets its own modifier — folding them
   would lose a distinction the design keeps making. */
.fs-fp-pill-xs{height:26px;padding:0 9px;border-radius:13px;letter-spacing:1px;}

/* The tile has NO padding: the poster runs edge to edge and only the
   body below it is inset, which is why this is a separate class from
   .fs-fp-card-col. */
.fs-fp-tile{padding:0;overflow:clip;display:flex;flex-direction:column;}
.fs-fp-tile-poster{
  height:150px;position:relative;
  background:linear-gradient(135deg,rgb(var(--c-paper-sunk)),rgb(var(--c-paper)));
  display:flex;align-items:center;justify-content:center;
}
.fs-fp-tile-poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.fs-fp-tile-body{padding:16px 18px;display:flex;flex-direction:column;gap:8px;}
.fs-fp-tile-n{
  font-family:var(--font-display,Archivo,sans-serif);
  font-weight:800;font-size:16px;line-height:21px;margin:0;
  color:rgb(var(--c-ink-950));
}
/* 42px here against the showcase's 46px — the export draws the two play
   buttons at different sizes, so this is a modifier rather than a
   second use of .fs-fp-play. */
.fs-fp-play-sm{width:42px;height:42px;border-radius:21px;position:static;transform:none;}
.fs-fp-tile-tag{position:absolute;left:12px;top:10px;}

/* ── MEMBERSHIP ─────────────────────────────────────────────────
   Read from export/pages/membership.dc.html.

   These two grids are the one place the export uses auto-fit ITSELF —
   minmax(280px,1fr) for plans and minmax(260px,1fr) for the FAQ — so
   they are reproduced exactly rather than derived. Everywhere else the
   design writes a fixed count and the port derives a floor from it. */
.fs-fp-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:20px;}
.fs-fp-faq{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:20px;}

/* The plan card is a heavier card: 1.5px border at radius 16 and 28px
   padding, against the standard card's 1px/14/24. */
.fs-fp-plan{
  background:rgb(var(--c-paper-soft));
  border:1.5px solid rgb(var(--c-line));
  border-radius:16px;padding:28px;
  display:flex;flex-direction:column;gap:16px;min-width:0;
}
/* "Most popular" takes the accent edge and a tint — the export's own
   highlight, and the reason the card carries a 1.5px border at all. */
.fs-fp-plan.is-popular{
  border-color:rgb(var(--c-brand-600));
  background:rgb(var(--c-brand-600)/.06);
}
.fs-fp-plan-n{
  font-family:var(--font-display,Archivo,sans-serif);
  font-weight:900;font-size:20px;line-height:25px;
  letter-spacing:-0.2px;text-transform:uppercase;
  color:rgb(var(--c-ink-950));
}
/* The price is MONO at 44px — the largest mono figure in the theme, and
   the reason IBM Plex Mono is a declared family rather than a detail. */
.fs-fp-price{
  font-family:var(--font-mono,'IBM Plex Mono',monospace);
  font-weight:600;font-size:44px;line-height:52px;
  font-variant-numeric:tabular-nums;
  color:rgb(var(--c-brand-text));
}
.fs-fp-price-per{font-size:13px;line-height:18px;color:rgb(var(--c-ink-400));}
/* Each feature sits on its own hairline, so the list reads as rows. */
.fs-fp-feat{
  display:flex;gap:9px;align-items:flex-start;
  font-size:14px;line-height:21px;color:rgb(var(--c-ink-700));
  border-top:1px solid rgb(var(--c-line));padding-top:9px;
}
.fs-fp-feat svg{flex:none;margin-top:3px;stroke:rgb(var(--c-brand-text));}
.fs-fp-faq-q{
  font-family:var(--font-display,Archivo,sans-serif);
  font-weight:800;font-size:15px;line-height:21px;margin:0;
  color:rgb(var(--c-ink-950));
}

/* ── BOOKING ────────────────────────────────────────────────────
   Read from export/pages/book.dc.html. */

/* 1.6fr against 1fr — the calendar earns the width, the summary does
   not. FLEX rather than grid so the ratio survives and it wraps on its
   OWN width instead of the window's. */
.fs-fp-book{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start;}
.fs-fp-book > .fs-fp-book-cal{flex:1.6 1 440px;min-width:0;}
.fs-fp-book > .fs-fp-book-sum{flex:1 1 300px;min-width:0;}

/* The day tabs are the generator's option chip stretched to share the
   row: same 34/r17/1px, plus flex:1 and centred. */
.fs-fp-day{flex:1;justify-content:center;min-width:auto;}

/* LOAD-BEARING: "48px slot height — the tap target for a booking". The
   slot is MONO, because it is a time. */
.fs-fp-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.fs-fp-slot-t{
  display:inline-flex;align-items:center;justify-content:center;
  height:48px;border-radius:9px;
  font-family:var(--font-mono,'IBM Plex Mono',monospace);
  font-weight:600;font-size:13px;line-height:17px;
  font-variant-numeric:tabular-nums;
  background:transparent;
  border:1px solid rgb(var(--c-brand-600)/.5);
  color:rgb(var(--c-brand-text));
  text-decoration:none;
}
/* Booked slots are struck through and drop to the hairline — the export
   keeps them VISIBLE rather than removing them, so the week reads as a
   week rather than a list of gaps. */
.fs-fp-slot-t.is-booked{
  border-color:rgb(var(--c-line));
  color:rgb(var(--c-ink-400));
  text-decoration:line-through;
}
.fs-fp-slot-t.is-on{
  background:rgb(var(--c-brand-600));
  border-color:rgb(var(--c-brand-600));
  color:var(--fs-on-brand);
}
.fs-fp-legend{display:flex;gap:16px;flex-wrap:wrap;}
.fs-fp-legend span{display:inline-flex;align-items:center;font-size:13px;color:rgb(var(--c-ink-400));}
.fs-fp-swatch{
  width:10px;height:10px;border-radius:3px;margin-right:6px;flex:none;
  border:1px solid rgb(var(--c-brand-600)/.5);
}
.fs-fp-swatch.is-on{background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));}
.fs-fp-swatch.is-booked{border-color:rgb(var(--c-line));}
/* Summary rows: label left in muted, value right in the display face —
   except WHEN, which is mono because it is a time. */
.fs-fp-sum-row{display:flex;justify-content:space-between;gap:12px;font-size:14px;line-height:20px;}
.fs-fp-sum-k{color:rgb(var(--c-ink-400));}
.fs-fp-sum-v{font-family:var(--font-display,Archivo,sans-serif);font-weight:800;color:rgb(var(--c-ink-950));}
.fs-fp-sum-v-mono{
  font-family:var(--font-mono,'IBM Plex Mono',monospace);font-weight:600;
  font-variant-numeric:tabular-nums;color:rgb(var(--c-brand-text));
}
.fs-fp-sum-total{border-top:1px solid rgb(var(--c-line));padding-top:12px;}

/* ── NUTRITION ──────────────────────────────────────────────────
   Read from export/pages/nutrition.dc.html. */

/* 1fr / 1.25fr — the RESULTS earn the width here, the inverse of the
   booking page where the calendar did. Flex for the same reason: the
   ratio survives and it wraps on its own width, not the window's. */
.fs-fp-calc{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start;}
.fs-fp-calc > .fs-fp-calc-in{flex:1 1 320px;min-width:0;}
.fs-fp-calc > .fs-fp-calc-out{flex:1.25 1 380px;min-width:0;}

/* A result tile: a 28px mono figure over a 12px caption in its own
   bordered box. Third distinct mono step in the theme — 44 (price),
   28 (result), 26 (hero stat) — each drawn deliberately. */
.fs-fp-res{
  flex:1;min-width:120px;
  border:1px solid rgb(var(--c-line));
  border-radius:12px;padding:16px;
  display:flex;flex-direction:column;gap:4px;
}
.fs-fp-res-n{
  font-family:var(--font-mono,'IBM Plex Mono',monospace);
  font-weight:600;font-size:28px;line-height:34px;
  font-variant-numeric:tabular-nums;
  color:rgb(var(--c-ink-950));
}
.fs-fp-res-l{font-size:12px;line-height:16px;color:rgb(var(--c-ink-400));}
.fs-fp-macro{display:flex;justify-content:space-between;gap:12px;font-size:14px;line-height:21px;}
.fs-fp-macro-v{
  font-family:var(--font-mono,'IBM Plex Mono',monospace);
  font-weight:600;font-variant-numeric:tabular-nums;
  color:rgb(var(--c-brand-text));
}

/* ── SHOP ────────────────────────────────────────
   Read from export/pages/shop.dc.html.

   The export draws repeat(4,1fr) at a 1440 artboard: 1328 of content
   less three 20px gaps is a 317px column. Auto-fit needs a floor that
   still yields FOUR there, so it must sit in (249.6, 317] — from
   columns = floor((W + gap) / (floor + gap)). 300 is central: four at
   theme width, three around 1000, two around 640, and it never lands
   on five the way a naive floor would. */
.fs-fp-grid-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px;}

/* The product card reuses .fs-fp-tile and its 150px poster — the same
   shape as the library tile. Only the body differs: gap 6 against the
   library's 8, and flex:1 so the price row sits on the bottom edge
   however tall the name wraps. A modifier, not an edit to the shared
   class, because 6 and 8 are both drawn deliberately. */
.fs-fp-shop-body{padding:16px 18px;display:flex;flex-direction:column;gap:6px;flex:1;}

/* Tracking 1.4px here against the eyebrow's 1.9 and the chip's 1 — a
   third value, so a third class. */
.fs-fp-shop-tag{
  font-family:var(--font-display,Archivo,sans-serif);
  font-weight:700;font-size:12px;line-height:16px;
  letter-spacing:1.4px;text-transform:uppercase;
  color:rgb(var(--c-brand-text));
}
.fs-fp-shop-foot{
  display:flex;justify-content:space-between;align-items:center;
  margin-top:auto;padding-top:8px;gap:10px;
}
/* NAME COLLISION, caught by the membership check: .fs-fp-price was
   already the membership plan-s 44px figure. Two rules, one name, the
   later winning globally -- so this one is -shop-price. And the comment
   that first recorded it broke the build, because backticks inside a CSS
   template literal end the string: no class names in backticks here.

   A fourth mono step: 44 (price), 28 (calculator), 26 (hero stat),
   15 (shop price). Tabular so a column of prices lines up. */
.fs-fp-shop-price{
  font-family:var(--font-mono,'IBM Plex Mono',monospace);
  font-weight:600;font-size:15px;line-height:20px;
  font-variant-numeric:tabular-nums;
  color:rgb(var(--c-ink-950));
}
/* 38px — the export marks it LOAD-BEARING. Radius 8 is its own value,
   under the 10px control radius, because the button is smaller. */
.fs-fp-add{
  display:inline-flex;align-items:center;justify-content:center;
  height:38px;padding:0 14px;
  font-family:var(--font-display,Archivo,sans-serif);
  font-weight:800;font-size:12px;letter-spacing:.8px;text-transform:uppercase;
  background:transparent;color:rgb(var(--c-brand-text));
  border:1.5px solid rgb(var(--c-brand-600)/.5);
  border-radius:8px;cursor:pointer;white-space:nowrap;
}
/* The filter chip is 34px on this page against the 28px chip elsewhere.
   Height only — the 999px radius already reads as the export's 17. */
.fs-fp-chip-lg{height:34px;padding:0 16px;}

/* ── COMMUNITY ───────────────────────────────────
   Read from export/pages/community.dc.html. Four sections, the most in
   the theme, and three different track shapes between them.

   Same minmax(280px,1fr) as .fs-fp-plans, kept as its own class rather
   than shared: the export writes the value twice, in two places, and
   folding them would turn two authored decisions into one inherited
   one. If the design later moves the plans grid, this must not follow. */
.fs-fp-challenges{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:20px;}

/* The export draws 1.2fr/1fr and 1fr/1fr. Flex, not grid, for the same
   reason as the booking and calculator splits: the ratio survives and
   the wrap happens on the panel's own width rather than the window's. */
.fs-fp-split{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start;}
.fs-fp-split > .fs-fp-sp-a{flex:1.2 1 420px;min-width:0;}
.fs-fp-split > .fs-fp-sp-b{flex:1 1 320px;min-width:0;}
.fs-fp-split-even > .fs-fp-sp-a,
.fs-fp-split-even > .fs-fp-sp-b{flex:1 1 380px;min-width:0;}

/* Challenge progress. 8px track, 4px radius — half the height, so the
   ends are true semicircles. */
.fs-fp-bar{height:8px;border-radius:4px;background:rgb(var(--c-line));overflow:hidden;}
.fs-fp-bar-fill{height:8px;border-radius:4px;background:rgb(var(--c-brand-600));}

/* 40px, and the export marks it LOAD-BEARING. Note this is NOT the
   shop's 38px add button: one is a filled primary, the other a ghost,
   and the two pages draw them two pixels apart on purpose. */
.fs-fp-join{
  display:inline-flex;align-items:center;justify-content:center;
  height:40px;padding:0 16px;
  font-family:var(--font-display,Archivo,sans-serif);
  font-weight:800;font-size:12px;letter-spacing:.8px;text-transform:uppercase;
  background:rgb(var(--c-brand-600));color:var(--fs-on-brand);
  border:0;border-radius:8px;cursor:pointer;white-space:nowrap;
}

/* A panel header: title left, mono stamp right, hairline under. Padding
   is 16px 22px against the card's 24px, because the rule has to reach
   the card edge and the body below it sets its own inset. */
.fs-fp-panel-head{
  display:flex;justify-content:space-between;align-items:center;gap:10px;
  padding:16px 22px;border-bottom:1px solid rgb(var(--c-line));flex-wrap:wrap;
}
.fs-fp-panel-t{
  font-family:var(--font-display,Archivo,sans-serif);
  font-weight:800;font-size:15px;line-height:20px;margin:0;
  color:rgb(var(--c-ink-950));
}

/* Leaderboard. Four fixed tracks: rank, avatar, name, points. auto on
   the last so the score column hugs its widest number instead of
   floating in the middle of a 1fr. */
.fs-fp-lb{padding:8px 12px 14px;display:flex;flex-direction:column;gap:4px;}
.fs-fp-lb-row{
  display:grid;grid-template-columns:36px 40px 1fr auto;gap:12px;
  align-items:center;padding:10px 12px;border-radius:10px;
  background:transparent;border:1px solid transparent;
}
/* First place is tinted, not just bolder — the export gives it the brand
   wash and a visible border while every other row's border is
   transparent, so the rows stay the same height. */
.fs-fp-lb-row.is-first{
  background:rgb(var(--c-brand-600)/.12);
  border-color:rgb(var(--c-brand-600)/.5);
}
.fs-fp-lb-rank{
  font-family:var(--font-mono,'IBM Plex Mono',monospace);
  font-size:12px;line-height:16px;font-variant-numeric:tabular-nums;
  color:rgb(var(--c-ink-400));
}
/* 34px against the coach card's 58px. A different avatar, so a modifier
   rather than a second use of .fs-fp-avatar at a shrunk size. */
.fs-fp-avatar-sm{width:34px;height:34px;border-radius:17px;font-size:12px;line-height:16px;}
.fs-fp-lb-n{
  font-family:var(--font-display,Archivo,sans-serif);
  font-weight:800;font-size:15px;line-height:20px;
  color:rgb(var(--c-ink-950));min-width:0;
}
.fs-fp-lb-pts{
  font-family:var(--font-mono,'IBM Plex Mono',monospace);
  font-size:13px;line-height:18px;font-variant-numeric:tabular-nums;
  color:rgb(var(--c-brand-text));
}

/* Badges: a fixed three-up, because the grid is inside a panel that is
   already the narrow half of a split. auto-fit here would collapse to
   one column at the width the panel actually gets. */
.fs-fp-badges{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.fs-fp-badge{display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center;}
.fs-fp-badge-i{
  width:46px;height:46px;border-radius:23px;
  background:rgb(var(--c-brand-600)/.12);
  border:1px solid rgb(var(--c-brand-600)/.5);
  display:inline-flex;align-items:center;justify-content:center;
  color:rgb(var(--c-brand-text));font-size:16px;
}
/* Locked badges are drawn on the hairline instead of the brand tint —
   the same shape, reading as not-yet-earned rather than disabled. */
.fs-fp-badge-i.is-off{
  background:transparent;border-color:rgb(var(--c-line));
  color:rgb(var(--c-ink-400));
}
.fs-fp-badge-l{font-size:12px;line-height:16px;font-weight:600;color:rgb(var(--c-ink-700));}
.fs-fp-badge.is-off .fs-fp-badge-l{color:rgb(var(--c-ink-400));}

/* The AI panel is a brand wash, not a card: it is the one element on the
   page the design tints, and it is how the eye finds it. */
.fs-fp-ai{
  background:rgb(var(--c-brand-600)/.12);
  border:1px solid rgb(var(--c-brand-600)/.5);
  border-radius:14px;padding:20px 22px;
  display:flex;flex-direction:column;gap:12px;
}
.fs-fp-ai-t{
  display:inline-flex;align-items:center;gap:9px;
  font-family:var(--font-display,Archivo,sans-serif);
  font-weight:800;font-size:13px;line-height:17px;
  letter-spacing:.8px;text-transform:uppercase;
  color:rgb(var(--c-brand-text));
}

/* Bar charts. Two heights on this page — 44px beside the AI note, 110px
   in the tracker — and two corner radii to match, 3px and 5px. The last
   bar carries the brand colour: it is the current period, not a
   highlight.

   The bar HEIGHTS are fixed in the component and are NOT editable. They
   are a shape, not data: eighteen height fields would bury the fields
   that matter in the editor, and a chart a customer can edit but whose
   numbers mean nothing is worse than one that plainly decorates. Both
   charts are aria-hidden for the same reason. If these ever need to be
   real they need a data source, not eighteen text inputs. */
.fs-fp-chart{display:flex;align-items:flex-end;gap:5px;height:44px;}
.fs-fp-chart > span{flex:1;background:rgb(var(--c-line));border-radius:3px 3px 0 0;}
.fs-fp-chart > span:last-child{background:rgb(var(--c-brand-600));}
.fs-fp-chart-lg{display:flex;align-items:flex-end;gap:8px;height:110px;flex:1;min-width:160px;}
.fs-fp-chart-lg > span{flex:1;background:rgb(var(--c-line));border-radius:5px 5px 0 0;}
.fs-fp-chart-lg > span:last-child{background:rgb(var(--c-brand-600));}

/* The tracker's readouts. 26px is the hero stat's mono step reused, and
   20px is a fifth — the delta is deliberately smaller than the figure it
   qualifies. */
.fs-fp-track-n{
  font-family:var(--font-mono,'IBM Plex Mono',monospace);
  font-weight:600;font-size:26px;line-height:32px;
  font-variant-numeric:tabular-nums;color:rgb(var(--c-ink-950));
}
.fs-fp-track-u{font-size:13px;color:rgb(var(--c-ink-700));font-family:var(--font-body,inherit);}
.fs-fp-track-d{
  font-family:var(--font-mono,'IBM Plex Mono',monospace);
  font-weight:600;font-size:20px;line-height:26px;
  font-variant-numeric:tabular-nums;color:rgb(var(--c-brand-text));
}
.fs-fp-track-l{font-size:12px;line-height:16px;color:rgb(var(--c-ink-700));}
/* A lift row: label left, mono value right, hairline ABOVE. The border
   is on the top so the last row has no trailing rule. */
.fs-fp-lift{
  display:flex;justify-content:space-between;gap:12px;
  padding:9px 0;border-top:1px solid rgb(var(--c-line));
  font-size:13px;line-height:18px;color:rgb(var(--c-ink-700));
}
.fs-fp-lift-v{font-family:var(--font-mono,'IBM Plex Mono',monospace);color:rgb(var(--c-brand-text));}

/* Before/after. 190px tiles at 10px radius — a fifth radius, under the
   card's 14 because the tile sits inside one. */
.fs-fp-ba{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.fs-fp-ba-t{
  position:relative;height:190px;border-radius:10px;overflow:clip;
  background:linear-gradient(135deg,rgb(var(--c-paper-sunk)),rgb(var(--c-paper)));
  border:1px solid rgb(var(--c-line));
}
.fs-fp-ba-t img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.fs-fp-ba-l{
  position:absolute;left:10px;top:8px;
  display:inline-flex;align-items:center;height:24px;padding:0 8px;
  border-radius:6px;
  font-family:var(--font-display,Archivo,sans-serif);
  font-weight:800;font-size:12px;line-height:16px;letter-spacing:1.2px;
  background:rgb(var(--c-paper-sunk));color:rgb(var(--c-ink-700));
}
.fs-fp-ba-l.is-after{background:rgb(var(--c-brand-600));color:var(--fs-on-brand);}

/* ── MOBILE ──────────────────────────────────────
   Read from the thirteen *-mobile.dc.html artboards, which are drawn at
   390 and are a DIFFERENT DESIGN, not the desktop one reflowed. Before
   this the theme had two mobile rules -- a 40/20 section pad and a hero
   with its height removed -- and everything else, including a 72px h1,
   rendered at desktop size on a 390px screen.

   The breakpoint is 640 rather than the 900 the two existing rules use.
   900 is a tablet, and the export draws no tablet: applying phone type
   at 900 would shrink the display cut on a screen wide enough for the
   real one. The two 900 rules are left where they are -- they are about
   LAYOUT collapsing, which does want to happen earlier than type
   shrinking. Two breakpoints doing two jobs, deliberately.

   Gutter is 18px on every artboard. Vertical padding is 34 on the home
   page's own sections and 30 on a page head, so .fs-fp-sec takes 34 and
   the page head sets its own -- the same split the desktop sheet makes
   at 64 and 56. */
@media (max-width:640px){
  .fs-fp-sec{padding:34px 18px;}

  /* 42/40/-1.3 is the HOME hero. 38/38/-1.1 is every other page's head,
     and it appears six times across the artboards against the hero's
     once, so it is the rule and the hero is the exception. */
  .fs-fp-h1{font-size:38px;line-height:38px;letter-spacing:-1.1px;}
  .fs-fp-hero .fs-fp-h1{font-size:42px;line-height:40px;letter-spacing:-1.3px;}

  .fs-fp-h2{font-size:24px;line-height:26px;letter-spacing:-0.7px;}
  .fs-fp-h3{font-size:21px;line-height:26px;}

  /* The hero keeps a real height on mobile: 430px, drawn, not collapsed.
     The existing 900 rule sets min-height:0, which is right for a tablet
     reflow and wrong for a phone -- at 390 the export still wants a tall
     image with the copy sitting on its bottom edge. This wins because it
     is later in the sheet and narrower. */
  .fs-fp-hero{min-height:430px;}
  .fs-fp-hero-in{padding:34px 18px;max-width:none;}

  /* Every multi-column track collapses. The splits are already flex with
     a basis, so they wrap on their own; these are the ones that are
     grid, where a basis cannot do the work. */
  .fs-fp-grid-3,.fs-fp-grid-4,.fs-fp-plans,.fs-fp-challenges{grid-template-columns:1fr;}
  .fs-fp-ba{grid-template-columns:1fr 1fr;}   /* stays two-up: before and after only read as a pair */
  .fs-fp-badges{grid-template-columns:repeat(3,1fr);}  /* three 46px discs fit 390 with room */

  /* The leaderboard drops its avatar column. 36/40/1fr/auto does not fit
     390 once a name and a score are in it; rank, name and points do. */
  .fs-fp-lb-row{grid-template-columns:28px 1fr auto;gap:10px;}
  .fs-fp-lb-row .fs-fp-avatar-sm{display:none;}

  /* Tap targets. The export marks 44x44 LOAD-BEARING on the mobile
     header, and the same floor applies to anything a thumb has to hit:
     a 38px add button and a 34px chip are both under it. Raising them
     here rather than at every call site keeps the desktop drawing
     exactly as the export has it. */
  .fs-fp-add,.fs-fp-join{height:44px;padding:0 16px;}
  .fs-fp-chip,.fs-fp-chip-lg{height:36px;}
}

/* ── HOME: THE WEEK PLANNER ──────────────────────
   Read from export/pages/home.dc.html, section 2.

   THIS SECTION WAS WRONG. The port shipped a programs grid here --
   filter chips and three course cards, with copy ("Pick a goal, not a
   guess.") that appears NOWHERE in the export. The design's second home
   section is a week planner beside a week summary. The heading and
   eyebrow were also transposed: the export sets the eyebrow to "Your
   week, planned" and the h2 to "Program builder".

   1.6fr/1fr, flex for the reason every other split here is flex: the
   ratio survives and it wraps on its own width. */
.fs-fp-week{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start;}
.fs-fp-week > .fs-fp-week-a{flex:1.6 1 460px;min-width:0;}
.fs-fp-week > .fs-fp-week-b{flex:1 1 300px;min-width:0;}

/* A day pill: 32px, radius 7, MONO. Not .fs-fp-chip, which is 28px,
   999px and display -- three differences, so a different control. */
/* NAMED -wday, not -day: .fs-fp-day is ALREADY the booking page's day
   tab at 34px. Defining it again here won globally and shrank the
   booker's tabs, which its own pixel check caught. Third collision in
   this port -- the other two were .fs-fp-price and this file's own
   backtick incident. Grep before naming. */
.fs-fp-wday{
  display:inline-flex;align-items:center;height:32px;padding:0 10px;
  border-radius:7px;
  font-family:var(--font-mono,'IBM Plex Mono',monospace);
  font-weight:600;font-size:12px;line-height:16px;
  background:transparent;border:1px solid rgb(var(--c-line-strong,var(--c-line)));
  color:rgb(var(--c-ink-400));
}
.fs-fp-wday.is-on{
  background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));
  color:var(--fs-on-brand);
}

/* An exercise row. The 20px first track is the drag handle: this is a
   BUILDER, and the handle is what says the list is yours to reorder. */
.fs-fp-ex{
  display:grid;grid-template-columns:20px 1fr auto auto;gap:16px;
  align-items:center;padding:13px 0;
  border-bottom:1px solid rgb(var(--c-line));
}
.fs-fp-ex-h{color:rgb(var(--c-ink-400));display:flex;}
.fs-fp-ex-n{
  font-family:var(--font-display,Archivo,sans-serif);
  font-weight:800;font-size:15px;line-height:20px;
  color:rgb(var(--c-ink-950));min-width:0;
}
.fs-fp-ex-s{
  font-family:var(--font-mono,'IBM Plex Mono',monospace);
  font-size:13px;line-height:18px;font-variant-numeric:tabular-nums;
  color:rgb(var(--c-ink-700));
}
.fs-fp-ex-r{
  font-family:var(--font-mono,'IBM Plex Mono',monospace);
  font-size:12px;line-height:16px;
  color:rgb(var(--c-brand-text));white-space:nowrap;
}
.fs-fp-addex{
  display:inline-block;padding-top:14px;
  font-family:var(--font-display,Archivo,sans-serif);
  font-weight:800;font-size:12px;line-height:16px;
  letter-spacing:1px;text-transform:uppercase;
  color:rgb(var(--c-brand-text));
}

/* The week summary. 86px ring, and a FIFTH mono step at 24px: 44
   (price), 28 (calculator), 26 (hero stat / tracker), 24 (volume), 15
   (shop price). Each one drawn, none inherited. */
.fs-fp-ring{width:86px;height:86px;flex:none;display:block;}
.fs-fp-ring-track{stroke:rgb(var(--c-line-strong,var(--c-line)));}
.fs-fp-ring-val{stroke:rgb(var(--c-brand-600));}
.fs-fp-ring-t{
  fill:rgb(var(--c-ink-950));
  font-family:var(--font-mono,'IBM Plex Mono',monospace);
  font-size:13px;font-weight:600;
}
.fs-fp-vol{
  font-family:var(--font-mono,'IBM Plex Mono',monospace);
  font-weight:600;font-size:24px;line-height:30px;
  font-variant-numeric:tabular-nums;color:rgb(var(--c-ink-950));
}
.fs-fp-vol-u{font-size:12px;color:rgb(var(--c-brand-text));}
/* 7px, against the challenge bar's 8px. Two progress bars, two heights,
   both drawn -- so a modifier rather than one shared bar. */
.fs-fp-sbar{height:7px;border-radius:4px;background:rgb(var(--c-line));overflow:hidden;}
.fs-fp-sbar-fill{height:7px;border-radius:4px;background:rgb(var(--c-brand-600));}
/* The three splits are Volt, Ember and a NEUTRAL -- not a third accent.
   The export uses rgba(255,255,255,.18), the hairline-strong token, so
   mobility reads as the remainder rather than a third category. */
.fs-fp-sbar-fill.is-2{background:rgb(var(--c-accent-600,var(--c-brand-600)));}
.fs-fp-sbar-fill.is-3{background:rgb(var(--c-line-strong,var(--c-line)));}
.fs-fp-sbar-l{
  display:flex;justify-content:space-between;gap:12px;
  font-size:12px;line-height:16px;color:rgb(var(--c-ink-700));margin-bottom:5px;
}
.fs-fp-sbar-v{font-family:var(--font-mono,'IBM Plex Mono',monospace);font-variant-numeric:tabular-nums;}

/* ── THE REST OF THE EXPORT'S NAMED MOTION ──────
   The export names ten. section-rise (the platform's scroll reveal),
   live-pulse and cta-lift were already in. These are the rest.

   All of them are FIRST-VIEW or HOVER, never autoplay-forever, and all
   of them stop under prefers-reduced-motion -- the export's own rule. */

/* hero-rise: on load, once. opacity 0->1 + translateY 14px->0, 420ms.
   Time-based rather than scroll-linked ON PURPOSE: the hero is
   [data-fs-first], which the platform's scroll reveal deliberately
   exempts so a hero never flashes. That exemption leaves the hero with
   NO entrance at all, and the export gives it one. */
@keyframes fs-fp-hero-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.fs-fp-anim .fs-fp-hero-in{animation:fs-fp-hero-rise 420ms cubic-bezier(.16,1,.3,1) both;}

/* ring-draw: stroke-dasharray 0 -> 122 over 900ms, on first view.
   Animating the DASH, not a transform, is what makes it draw round the
   arc instead of sweeping. The value is the arc length the theme
   authors, so the keyframe reads it from a custom property rather than
   hard-coding 122 -- a ring at a different percentage animates to its
   own end, not to this one. */
@property --fs-fp-arc{syntax:'<number>';inherits:false;initial-value:0;}
@keyframes fs-fp-ring-draw{from{stroke-dasharray:0 400}to{stroke-dasharray:var(--fs-fp-arc,122) 400}}
.fs-fp-anim .fs-fp-ring-val{
  animation:fs-fp-ring-draw 900ms cubic-bezier(.16,1,.3,1) both;
  animation-timeline:view();animation-range:entry 0% cover 30%;
}

/* bar-grow: each bar's height eases 0 -> value, 600ms, 30ms stagger.
   The stagger is per-child nth-child delay rather than a script,
   because the counts are small and fixed by the design. */
@keyframes fs-fp-bar-grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.fs-fp-anim .fs-fp-chart > span,
.fs-fp-anim .fs-fp-chart-lg > span{
  transform-origin:bottom;
  animation:fs-fp-bar-grow 600ms cubic-bezier(.22,1,.36,1) both;
  animation-timeline:view();animation-range:entry 0% cover 25%;
}
.fs-fp-anim .fs-fp-chart > span:nth-child(2),.fs-fp-anim .fs-fp-chart-lg > span:nth-child(2){animation-delay:30ms;}
.fs-fp-anim .fs-fp-chart > span:nth-child(3),.fs-fp-anim .fs-fp-chart-lg > span:nth-child(3){animation-delay:60ms;}
.fs-fp-anim .fs-fp-chart > span:nth-child(4),.fs-fp-anim .fs-fp-chart-lg > span:nth-child(4){animation-delay:90ms;}
.fs-fp-anim .fs-fp-chart > span:nth-child(5),.fs-fp-anim .fs-fp-chart-lg > span:nth-child(5){animation-delay:120ms;}
.fs-fp-anim .fs-fp-chart > span:nth-child(6),.fs-fp-anim .fs-fp-chart-lg > span:nth-child(6){animation-delay:150ms;}
.fs-fp-anim .fs-fp-chart > span:nth-child(7),.fs-fp-anim .fs-fp-chart-lg > span:nth-child(7){animation-delay:180ms;}
.fs-fp-anim .fs-fp-chart > span:nth-child(8),.fs-fp-anim .fs-fp-chart-lg > span:nth-child(8){animation-delay:210ms;}
.fs-fp-anim .fs-fp-chart > span:nth-child(9){animation-delay:240ms;}
.fs-fp-anim .fs-fp-chart > span:nth-child(10){animation-delay:270ms;}

/* bar-fill: "when a value changes". Nothing on a published site changes
   these values today, so this is a TRANSITION rather than an animation
   -- it costs nothing while the numbers are static and is already
   correct on the day a real one drives them. The same reason the
   calculator ships inert rather than half-wired. */
.fs-fp-bar-fill,.fs-fp-sbar-fill{transition:width 550ms cubic-bezier(.22,1,.36,1);}
.fs-fp-chart > span,.fs-fp-chart-lg > span{transition:height 550ms cubic-bezier(.22,1,.36,1);}

/* confirm-in: after a booking is confirmed. 220ms, the shortest in the
   theme, because it answers an action the visitor just took. */
@keyframes fs-fp-confirm-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.fs-fp-anim .fs-fp-confirm{animation:fs-fp-confirm-in 220ms ease-out both;}

@media (prefers-reduced-motion:reduce){
  .fs-fp-anim .fs-fp-hero-in,
  .fs-fp-anim .fs-fp-ring-val,
  .fs-fp-anim .fs-fp-chart > span,
  .fs-fp-anim .fs-fp-chart-lg > span,
  .fs-fp-anim .fs-fp-confirm{animation:none;}
  .fs-fp-bar-fill,.fs-fp-sbar-fill,
  .fs-fp-chart > span,.fs-fp-chart-lg > span{transition:none;}
}

/* ── GENERATOR OUTPUT + BOOKING CONFIRM ─────────
   Both read from their own export pages.

   auto-fill, not auto-fit: an output panel with two days in it should
   leave the other two columns EMPTY rather than stretching two cards
   across the whole width. auto-fit collapses empty tracks; auto-fill
   keeps them. It is the one grid in this theme where that difference
   is the right way round, because the panel is a fixed weekly shape. */
.fs-fp-gen-out{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;padding:24px 26px;}
.fs-fp-day-card{
  border:1px solid rgb(var(--c-line));border-radius:12px;padding:16px;
  display:flex;flex-direction:column;gap:10px;
  background:rgb(var(--c-paper));
}
.fs-fp-day-l{
  font-family:var(--font-mono,'IBM Plex Mono',monospace);
  font-size:12px;line-height:16px;color:rgb(var(--c-brand-text));
}
.fs-fp-day-n{
  font-family:var(--font-display,Archivo,sans-serif);
  font-weight:800;font-size:16px;line-height:20px;color:rgb(var(--c-ink-950));
}
.fs-fp-day-s{
  font-size:13px;line-height:19px;color:rgb(var(--c-ink-700));
  border-top:1px solid rgb(var(--c-line));padding-top:8px;
}

/* The confirmed booking. A brand wash like the AI panel, because both
   are the page telling you something rather than asking. */
.fs-fp-confirm{
  display:flex;align-items:center;gap:10px;
  background:rgb(var(--c-brand-600)/.12);
  border:1px solid rgb(var(--c-brand-600)/.5);
  border-radius:10px;padding:14px 16px;
}
.fs-fp-confirm-t{
  font-size:13px;line-height:18px;font-weight:600;
  color:rgb(var(--c-brand-text));
}
.fs-fp-confirm svg{color:rgb(var(--c-brand-text));flex:none;}

/* ── MOBILE: THE STICKY ACTION BAR ──────────────
   Read from the *-mobile artboards, where EVERY page carries it.

   The port had no equivalent, which is why "Book now" and "Free week"
   came up as dropped copy on seven pages at once. On a phone the header
   CTA scrolls away and this is what replaces it -- a gym's booking
   button being reachable at any scroll depth is the conversion argument
   for the whole mobile design.

   Desktop never shows it: there the header CTA is always visible, and
   two permanent booking buttons is one too many. */
.fs-fp-actionbar{display:none;}
@media (max-width:640px){
  .fs-fp-actionbar{
    position:sticky;bottom:0;z-index:40;
    display:flex;gap:10px;align-items:center;
    height:64px;box-sizing:border-box;padding:0 18px;
    background:rgb(var(--c-paper-sunk));
    border-top:1px solid rgb(var(--c-line));
  }
  /* 48px inside a 64px bar: the export's own numbers, and both clear
     the 44px tap floor the mobile header is marked LOAD-BEARING for. */
  .fs-fp-actionbar > *{
    flex:1;display:inline-flex;align-items:center;justify-content:center;
    height:48px;
    font-family:var(--font-display,Archivo,sans-serif);
    font-weight:800;font-size:13px;letter-spacing:1px;text-transform:uppercase;
    border-radius:10px;text-decoration:none;white-space:nowrap;
  }
  .fs-fp-actionbar .is-primary{background:rgb(var(--c-brand-600));color:var(--fs-on-brand);border:0;}
  .fs-fp-actionbar .is-ghost{
    background:transparent;color:rgb(var(--c-ink-950));
    border:1.5px solid rgb(var(--c-line-strong,var(--c-line)));
  }
}

/* A card whose header rule has to reach its own edge: the panel head
   supplies the inset instead. This was an INLINE style on two blocks,
   which is why it is a class now -- an inline padding:0 outranks every
   [data-fs-layout] rule in this file, so the Minimalist layout could
   not give those two cards their accent inset and the pixel gate read
   0px where the export says 14. Inline styles are invisible to the
   layout system by construction. */
.fs-fp-flush{padding:0;overflow:clip;}
[data-fs-layout="minimal"] .fs-fp-flush{padding:0 0 0 14px;}

/* ── THE SIX SITE LAYOUTS ────────────────────────
   Read from export/reference/menus-layouts-footer.html, which draws all
   six and names them exactly as the platform's picker does -- "This
   Theme Layout", "Full-Width Sections", "Boxed Layout", "Centered
   Layout", "Minimalist Layout", "Edge-to-Edge Hero". The design was
   drawn against this picker, so the mapping is one to one.

   WHAT THE PLATFORM ALREADY DOES, and this must not fight: site-layouts
   .ts owns the MEASURE. It sets --fs-layout-max, --fs-layout-clamp and
   --fs-block-max per layout, and .fs-fp-sec already reads the first of
   those. Nothing below restates a width the platform is responsible for.

   WHAT IT DOES NOT DO is everything else the export draws per layout:
   the boxed card, the centred nav, the stripped minimalist chrome, the
   overlaid hero nav. Those are composition decisions that belong to the
   theme -- site-layouts.ts says as much about the measure ("the theme
   says, the platform does not guess"), and realtywave-styles.ts sets
   the precedent for a theme carrying its own [data-fs-layout] rules.

   Anything touching SHELL chrome (nav, CTA, the page wrapper) is scoped
   with [data-fs-theme="fitnessprime"] as well, which is safe because
   site-shell emits both attributes on the SAME element. Rules that only
   touch .fs-fp-* need no such guard: the prefix already scopes them. */

/* ── FULL-WIDTH SECTIONS ────────────────────────────────────────
   The export: sections span edge to edge, content still capped at
   1080px, surfaces alternating.

   The cap is not a contradiction of --fs-layout-max:none. The platform's
   own NARROW_CLAMP comment makes the same argument: "releasing a 760px
   text column to full width would give it an unreadable line length,
   which is not what Full-Width Sections should mean." The SECTION runs
   full width; the LINES do not. */
[data-fs-layout="full"] .fs-fp-sec{
  max-width:1080px;
  padding-left:0;padding-right:0;
}
@media (max-width:1140px){
  /* Below the cap the gutter has to come back or the type touches the
     screen edge -- 1080 plus two 28px gutters. */
  [data-fs-layout="full"] .fs-fp-sec{padding-left:28px;padding-right:28px;}
}
/* Alternating surfaces are what give a long scroll its rhythm when
   every section is the same width. nth-of-type, not nth-child: the
   blocks are siblings of whatever chrome the surface injects around
   them, and nth-child would flip the whole stripe pattern the moment a
   toolbar appeared in the editor canvas. */
[data-fs-layout="full"] section[data-fs-fp-block]:nth-of-type(even){
  background:rgb(var(--c-paper-soft));
}

/* ── BOXED ──────────────────────────────────────────────────────
   The export: the whole site sits in a floating card on a darker desk.
   1120px, 18px radius, 1px hairline, 0 30px 80px shadow, 30px of desk
   showing around it.

   The desk is painted with a fixed ::before rather than by styling an
   ancestor: the theme does not own the page background, and a fixed
   layer costs nothing, scrolls correctly and disappears with the
   layout. --c-paper-sunk is the theme's own darkest ground, which is
   what the export uses (#050607 against the card's #0B0D0F). */
[data-fs-theme="fitnessprime"][data-fs-layout="boxed"]{
  position:relative;
  max-width:1120px;
  margin:30px auto;
  border:1px solid rgb(var(--c-line-strong,var(--c-line)));
  border-radius:18px;
  overflow:clip;
  background:rgb(var(--c-paper));
  box-shadow:0 30px 80px rgb(0 0 0 / .55);
}
[data-fs-theme="fitnessprime"][data-fs-layout="boxed"]::before{
  content:'';
  position:fixed;inset:0;z-index:-1;
  background:rgb(var(--c-paper-sunk));
}
/* overflow:clip, never hidden. hidden creates a scroll container, and a
   scroll container is the documented way to freeze every
   animation-timeline:view() animation on the page -- which is this
   theme's entire reveal, ring-draw and bar-grow. Same trap the scroll
   effects work already recorded. */
[data-fs-layout="boxed"] .fs-fp-sec{padding-left:26px;padding-right:26px;}

/* ── CENTERED ───────────────────────────────────────────────────
   The export: 860px column, everything symmetrical, nav centred, and
   the header CTA HIDDEN. That last one is the design saying a centred
   editorial layout should not carry a booking button in its header --
   and it happens to be the same conclusion the header-fit rule reaches
   by measurement. */
[data-fs-theme="fitnessprime"][data-fs-layout="centered"] .fs-hdr-nav{
  justify-content:center;flex:1;
}
[data-fs-theme="fitnessprime"][data-fs-layout="centered"] .fs-hdr-cta,
[data-fs-theme="fitnessprime"][data-fs-layout="minimal"]  .fs-hdr-cta{
  display:none;
}
[data-fs-layout="centered"] .fs-fp-sec{text-align:center;}
/* align-items:center is NOT used to centre a column here, and that is
   the whole lesson of this rule. It makes every flex child shrink to
   its CONTENT width, and half this theme wraps its boxes in unclassed
   divs -- so an image slot two levels down inherited a zero-width
   parent and collapsed, on the home page, which the layouts gate
   caught. Text centres with text-align; ROWS centre with
   justify-content on the two row classes below. Boxes are left alone. */
[data-fs-layout="centered"] .fs-fp-hero-in{align-items:center;}
/* align-items:center makes every flex child shrink to its CONTENT
   width -- and an image slot has no content until a customer uploads
   one, so it collapsed to zero and the layouts gate caught it on the
   home hero. Anything that is a BOX rather than a line of type has to
   opt back out. */
[data-fs-layout="centered"] .fs-fp-slot,
[data-fs-layout="centered"] .fs-fp-slots,
[data-fs-layout="centered"] .fs-fp-grid-2,
[data-fs-layout="centered"] .fs-fp-grid-3,
[data-fs-layout="centered"] .fs-fp-grid-4,
[data-fs-layout="centered"] .fs-fp-week,
[data-fs-layout="centered"] .fs-fp-split,
[data-fs-layout="centered"] .fs-fp-bar,
[data-fs-layout="centered"] .fs-fp-card,
[data-fs-layout="centered"] .fs-fp-panel{align-self:stretch;width:100%;}
[data-fs-layout="centered"] .fs-fp-inline,
[data-fs-layout="centered"] .fs-fp-row{justify-content:center;}
/* The lede and the page lede are the two measures that must re-centre
   rather than stay left-aligned inside a centred column. */
[data-fs-layout="centered"] .fs-fp-lede,
[data-fs-layout="centered"] .fs-fp-pagelede{margin-left:auto;margin-right:auto;}
/* Cards keep their own left-aligned text: centring a card's body copy
   as well would make a list of programmes unreadable. Only the SECTION
   furniture centres. */
[data-fs-layout="centered"] .fs-fp-card,
[data-fs-layout="centered"] .fs-fp-panel{text-align:left;}

/* ── MINIMALIST ─────────────────────────────────────────────────
   The export strips card chrome entirely: no fill, no border, no
   radius, 26px gaps, and a 14px left inset where the padding used to
   be. That inset is not padding for its own sake -- it is the room for
   an accent rule, which is what replaces the card edge. */
[data-fs-layout="minimal"] .fs-fp-card,
[data-fs-layout="minimal"] .fs-fp-panel{
  background:transparent;
  border:0;
  border-left:2px solid rgb(var(--c-brand-600));
  border-radius:0;
  padding:0 0 0 14px;
  box-shadow:none;
}
/* The lift has nothing left to lift: a transform on a borderless card
   just detaches the text from its own rule. */
[data-fs-layout="minimal"] .fs-fp-card:hover{
  transform:none;border-left-color:rgb(var(--c-brand-600));
}
[data-fs-layout="minimal"] .fs-fp-grid-3,
[data-fs-layout="minimal"] .fs-fp-grid-4,
[data-fs-layout="minimal"] .fs-fp-plans,
[data-fs-layout="minimal"] .fs-fp-challenges{gap:26px;}
[data-fs-layout="minimal"] .fs-fp-sec{padding-left:20px;padding-right:20px;}
/* The tile keeps its poster edge-to-edge, so it cannot take the rule --
   it would sit between the image and the body and read as a divider. */
[data-fs-layout="minimal"] .fs-fp-card.fs-fp-tile{
  border-left:0;padding:0;
}

/* ── EDGE-TO-EDGE HERO ──────────────────────────────────────────
   The export: the hero fills the viewport with the nav floating over
   it, display type up to 96px, and everything below returns to the
   normal rail. The platform sets no measure for this layout precisely
   so the theme can do this.

   The header goes transparent and overlays rather than sitting above:
   the hero's own gradient is dark enough at the top to carry white nav
   type, which is why this works on THIS theme and is not a platform
   rule. */
/* STICKY, not absolute, and that is a bug fix rather than a preference.
   Making the band position:absolute with the shell as its containing
   block moved it OUTSIDE the [overflow-x:clip] wrapper that sits
   between them -- so the header's own overflow, which every other
   layout clips harmlessly, escaped and gave the document 120px of
   horizontal scroll. Keeping the band in its original positioning
   context keeps that clip doing its job.

   The overlay is done by pulling the HERO up under the band instead,
   which needs no positioning at all. */
[data-fs-theme="fitnessprime"][data-fs-layout="heroEdge"] .fs-hdr-band{
  background:transparent;border-bottom-color:transparent;
  /* Transparent AT REST is what the export draws, and transparent
     FOREVER would put nav type over whatever section happens to be
     under it three screens down. A scroll-driven timeline restores the
     ground over the first 80px: no JS, no state, and it is the same
     mechanism the theme's reveals already use. */
  animation:fs-fp-band-settle linear both;
  animation-timeline:scroll();
  animation-range:0 80px;
}
@keyframes fs-fp-band-settle{
  from{background-color:rgb(var(--c-paper)/0);border-bottom-color:rgb(var(--c-line)/0);}
  to{background-color:rgb(var(--c-paper));border-bottom-color:rgb(var(--c-line));}
}
/* No timeline support, no risk taken: the band keeps its ground. */
@supports not (animation-timeline:scroll()){
  [data-fs-theme="fitnessprime"][data-fs-layout="heroEdge"] .fs-hdr-band{
    background:rgb(var(--c-paper));
  }
}
[data-fs-layout="heroEdge"] .fs-fp-hero{
  min-height:100vh;
  /* Up by the header's height, then back down as padding: the hero
     starts at the top of the page and its copy still clears the nav. */
  margin-top:-66px;
  padding-top:66px;
}
[data-fs-layout="heroEdge"] .fs-fp-hero .fs-fp-h1{
  font-size:clamp(54px,7vw,96px);
  line-height:.94;
}
/* Only the HERO bleeds. The export is explicit that content below
   returns to the standard rail, which is why there is no measure rule
   here -- the platform leaves --fs-layout-max unset for this layout and
   every section below keeps the theme's own. */

@media (prefers-reduced-motion:reduce){
  [data-fs-layout="minimal"] .fs-fp-card{transition:none;}
}

/* ── THE NAV IN A NARROWER MEASURE ──────────────
   Boxed, Centered and Minimalist all shrink the page, and ten uppercase
   nav items do not fit what is left. In Boxed the card clips its own
   overflow, so the last item -- Contact -- became UNREACHABLE rather
   than merely tight. That is the same defect as the accent swatch that
   fell off the edge, in a different container.

   Measured: the nav needs 937px. A boxed card is 1120 less two 26px
   gutters = 1068, and the wordmark and mode toggle take 244 of it.

   WRAPPING, not scrolling. A horizontally scrolling nav with a hidden
   scrollbar hides items behind a gesture nobody is told about; a nav
   that takes a second line is taller and completely visible. The header
   band has to give up its fixed height for that to work.

   THIS IS A STOPGAP AND SHOULD BE READ AS ONE. The real fix is the mega
   menu -- grouping ten links under four or five triggers is what the
   design does, and it makes every one of these layouts fit without a
   second line. That work is on feature/mega-menu-rebuild; when it lands
   this block should be revisited, not kept out of habit. */
[data-fs-theme="fitnessprime"][data-fs-layout="boxed"] .fs-hdr-nav,
[data-fs-theme="fitnessprime"][data-fs-layout="centered"] .fs-hdr-nav,
[data-fs-theme="fitnessprime"][data-fs-layout="minimal"] .fs-hdr-nav{
  flex-wrap:wrap;
  min-width:0;
  row-gap:2px;
}
[data-fs-theme="fitnessprime"][data-fs-layout="boxed"] .fs-hdr-row,
[data-fs-theme="fitnessprime"][data-fs-layout="centered"] .fs-hdr-row,
[data-fs-theme="fitnessprime"][data-fs-layout="minimal"] .fs-hdr-row{
  height:auto;
  min-height:66px;
  padding-top:8px;padding-bottom:8px;
  flex-wrap:wrap;
}


.fs-mb{
  position:relative;
  color:rgb(var(--c-ink-950));
  font-family:var(--font-body,'Figtree',system-ui,sans-serif);

  /* The ink ramp — export values as defaults, overridable per site. */
  --fs-mb-ink:#17142B;         /* section ground */
  --fs-mb-ink-card:#221D3E;    /* a card ON the ink ground */
  --fs-mb-ink-line:#3A335C;    /* its hairline */
  --fs-mb-ink-head:#FAF9F6;    /* heading on ink */
  --fs-mb-ink-body:#DDD8F0;    /* body on ink */
  --fs-mb-ink-mute:#B9B3D6;    /* muted on ink */

  /* On the ink ground, the two colours that are NOT in the ink ramp:
     the violet the export uses for a label on ink, and the tile it
     sets a date on. Both are ink-ground-only, so neither can be a
     palette token — a palette token would repaint them per palette and
     they exist to be constant against the constant ink. */
  --fs-mb-ink-accent:#A99CFF;
  /* The label on an ACCENT fill. A constant, like the ink on gold:
     the export's accentSoft violet is the same value in both modes,
     so what reads on it does not move either. It is a token rather
     than a literal because check:panels is right that a bare hex in
     a block sheet is a colour the theme can never reach. */
  --fs-mb-on-accent:#FFFFFF;
  --fs-mb-ink-tile:#2A2450;
  /* The soft fill behind a table head / inset row (the export's
     --mp-fill2). Warm, not a black tint: rgb(ink / .04) renders grey
     and reads as a different design. */
  --fs-mb-fill2:#F6F4EF;
  /* Five roles the checkout's ink summary needs and the ramp above did
     not yet name. Same rule as the rest of EXCEPTION 1: the value is
     the export's own, but it stays REACHABLE rather than hardcoded, so
     a theme or a site can repaint it without editing this file (§3). */
  --fs-mb-ink-lbl:#C9C2E8;     /* an eyebrow/label ON ink */
  --fs-mb-ink-ok:#7ECDA4;      /* a saving, ON ink — green that holds there */
  --fs-mb-clay:#B0543F;        /* the avatar / card-mark terracotta */
  --fs-mb-ok:#1B7A52;          /* the reassurance green, on PAPER */
  --fs-mb-gold-tint:rgba(228,183,94,.16);  /* gold as a fill behind an icon */

  /* Prime Gold — peak tier only, never a generic CTA. The full ramp,
     because the design uses gold in five roles and each needs its own
     value: the mark, the light-mode text weight, the hairline, the
     panel, and the ink that reads ON gold. */
  --fs-mb-gold:#C89235;
  --fs-mb-gold-lt:#E4B75E;
  --fs-mb-gold-text:#8A6410;   /* gold as TEXT, dark enough to read */
  --fs-mb-gold-hair:#EADFC6;
  --fs-mb-gold-ink:#17142B;    /* what reads on a gold fill */
  --fs-mb-gold-panel:linear-gradient(170deg,#FFFDF7,#FBF3E2);
}
/* The gold ramp's dark half. Only the four values that must move do —
   the mark and the ink-on-gold are the same in both modes, because a
   gold fill is a gold fill whichever page it sits on. */
.fs-mb:is(.dark *):not(.fs-preview-light *){
  --fs-mb-gold-text:#E4B75E;
  --fs-mb-gold-hair:#4A3B14;
  --fs-mb-ok:#5FBE8D;          /* #1B7A52 is near-invisible on the dark ground */
  --fs-mb-fill2:#262046;
  --fs-mb-gold-panel:linear-gradient(170deg,#241D0E,#31270E);
}

/* ── Two tokens that must reach OUTSIDE the blocks ─────────────
   The header renders the theme's logo mark, and the platform's filled
   buttons render everywhere — neither is inside .fs-mb, so neither can
   read a token scoped to it. This sheet ships in BASE_BLOCK_CSS, which
   every surface loads, so the theme attribute is the hook (the
   [data-fs-theme='forecourt'] precedent).

   --fs-on-brand is the one that MATTERS: MemberPrime's dark palettes
   use a LIGHT brand (#9C8FF5 violet, #5ECDBB teal, #F09B8A coral), and
   button-styles.ts defaults a filled button's label to #fff, which on
   those measures around 2:1. The export solves it the same way —
   --mp-onAccent flips to #17142B in dark — so the page colour is
   right in both modes, exactly as forecourt found. */
[data-fs-theme='memberprime']{
  --fs-on-brand:rgb(var(--c-paper));
  --fs-mb-gold:#C89235;
  --fs-mb-gold-lt:#E4B75E;
}
.fs-mb *{box-sizing:border-box;}
.fs-mb-wire{filter:grayscale(1) contrast(.5);}

/* ── Shell ────────────────────────────────────────────────────
   1280px content box with 40px flanks, straight off the export's own
   `max-width:1280px;margin:0 auto;padding:… 40px` wrapper. */
/* ONE width, shared with the platform header and footer through
   --fs-shell-max (shell-width.ts). The literal stays as the fallback so
   this sheet still renders correctly on its own, but the variable is
   what makes the brand lockup line up with the content column — before
   it, the header ran to the platform's 1200 and these sections to 1280,
   so the logo sat 40px outside its own page on every page. */
.fs-mb-sec{max-width:var(--fs-shell-max,1280px);margin:0 auto;padding:0 40px;}
.fs-mb-ink-band{background:var(--fs-mb-ink);}
/* The hero's corner card — an ink chip over the art stack, naming the
   editor (about) or the episode now playing (home). Literal ink because
   it sits on artwork, not on the page, so it must read the same on
   either ground. */
.fs-mb-hero-card{
  position:absolute;bottom:18px;left:8px;z-index:2;
  background:var(--fs-mb-ink);border-radius:14px;padding:14px 18px;
  display:flex;flex-direction:column;gap:2px;max-width:300px;
  box-shadow:0 16px 40px rgb(23 20 43 / .35);
}
.fs-mb-hero-card b{
  font-family:var(--font-display,inherit);font-weight:700;font-size:15px;line-height:1.3;
  color:var(--fs-mb-ink-head);
}
.fs-mb-hero-card i{font-style:normal;font-weight:400;font-size:12.5px;line-height:1.4;color:var(--fs-mb-ink-mute);}
/* Heads sitting ON the ink band take the ink ramp's colours. Declared
   by the BAND, not passed as a prop to the head component: the prop
   version conflated "centre this" with "this is on ink" and painted the
   FAQ heading white on the paper ground, where it could not be read. A
   block cannot get this wrong now — the ground decides. */
.fs-mb-ink-band .fs-mb-h1,
.fs-mb-ink-band .fs-mb-h2{color:var(--fs-mb-ink-head);}
.fs-mb-ink-band .fs-mb-lede{color:var(--fs-mb-ink-mute);}
.fs-mb-ink-band .fs-mb-eyebrow{color:var(--fs-mb-ink-accent);}

/* ── Type ─────────────────────────────────────────────────────
   The export's display sizes are 60 / 38 / 36 / 32px. clamp() carries
   each to its measured 390px value rather than being invented here. */
.fs-mb-h1{
  margin:0;font-family:var(--font-display,'Bricolage Grotesque',sans-serif);
  font-weight:800;font-size:clamp(34px,6.4vw,var(--fs-h1,60px));line-height:1.03;
  letter-spacing:-0.02em;text-wrap:balance;
}
.fs-mb-h2{
  margin:0;font-family:var(--font-display,'Bricolage Grotesque',sans-serif);
  font-weight:800;font-size:clamp(28px,4vw,38px);line-height:1.1;
  letter-spacing:-0.015em;text-wrap:balance;
}
/* The rest of that scale comes from --fs-h1, set per PAGE by the theme
   (ThemePageTemplate.headingPx, shell-width.ts). The export runs
   60/52/48/46/38/36/32 across its nine pages and only the 60 had a rule,
   so every inner page opened at the marketing size. These two classes
   carry the tighter line-height and tracking the smaller steps want;
   the SIZE is the variable's job. */
.fs-mb-h1-compact{line-height:1.08;letter-spacing:-0.015em;}
.fs-mb-h1-mid{line-height:1.1;letter-spacing:-0.015em;}
/* The prime tick — the theme's own punctuation mark, always gold. */
.fs-mb-tick{color:var(--fs-mb-gold-lt);}
.fs-mb-eyebrow{
  font-weight:700;font-size:12px;line-height:1;letter-spacing:.14em;
  text-transform:uppercase;color:rgb(var(--c-brand-600));
}
/* PAPER is the default and the band overrides it, not the reverse.
   This rule used to default to the ink ramp's light grey, so any lede
   NOT on an ink band rendered #B9B3D6 on #FAF9F6 — measured on the
   pricing page, where the section lede was near-invisible and nobody
   had noticed. Same family as the FAQ heading that was white on white:
   a colour that belongs to a GROUND was being carried by the element. */
.fs-mb-lede{
  margin:0;font-size:clamp(16px,1.4vw,18px);line-height:1.6;
  color:rgb(var(--c-ink-400));max-width:52ch;text-wrap:pretty;
}

/* ── Controls ─────────────────────────────────────────────────
   13px radius and a ≥44px height come from the block library sheet:
   "12px radius · ≥44px height · 1.5px border on interactive". The
   export's own CTAs measure 13px, which is what ships. */
.fs-mb-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-weight:600;font-size:15px;line-height:1;
  border-radius:13px;padding:16px 26px;min-height:44px;
  text-decoration:none;border:0;cursor:pointer;
  transition:background var(--fs-anim-mbLift,.18s ease),
             border-color var(--fs-anim-mbLift,.18s ease),
             color var(--fs-anim-mbLift,.18s ease);
}
.fs-mb-btn-primary{
  color:var(--fs-on-brand,#fff);background:rgb(var(--c-brand-600));
  box-shadow:0 8px 24px rgb(var(--c-brand-600) / .28);
}
.fs-mb-btn-primary:hover{background:rgb(var(--c-brand-700));}
.fs-mb-btn-ghost{
  color:var(--fs-mb-ink-head);background:transparent;
  border:1.5px solid var(--fs-mb-ink-line);padding:15px 24px;
}
.fs-mb-btn-ghost:hover{border-color:var(--fs-mb-gold-lt);color:var(--fs-mb-gold-lt);}

/* ── Cards ────────────────────────────────────────────────────
   18px is the export's dominant radius (68 occurrences) and always
   pairs with a 1px --c-line hairline on --c-paper. */
.fs-mb-card{
  background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));
  border-radius:18px;overflow:hidden;
  display:flex;flex-direction:column;color:inherit;text-decoration:none;
  transition:box-shadow var(--fs-anim-mbLift,.22s ease),
             transform var(--fs-anim-mbLift,.22s ease);
}
a.fs-mb-card:hover{box-shadow:0 14px 36px rgb(var(--c-ink-950) / .10);}
.fs-mb-card-ink{
  background:var(--fs-mb-ink-card);border:1px solid var(--fs-mb-ink-line);
  border-radius:18px;padding:26px;display:flex;flex-direction:column;gap:16px;
}
/* Peak tier is the ONLY thing that earns a gold edge. */
.fs-mb-card-prime{border-color:var(--fs-mb-gold);}

.fs-mb-pill{
  display:inline-flex;align-items:center;gap:8px;
  font-weight:700;font-size:12px;line-height:1;
  border-radius:99px;padding:7px 11px;
}
.fs-mb-pill-free{color:rgb(var(--c-success,22 122 82));background:rgb(var(--c-paper-soft));}
.fs-mb-pill-gold{
  color:var(--fs-mb-gold-lt);background:transparent;
  border:1px solid rgb(228 183 94 / .35);
  letter-spacing:.14em;padding:8px 14px;font-weight:600;
}

/* ── Avatars ──────────────────────────────────────────────────
   The stacked -9px row under the hero CTAs, and the 34px attribution
   avatar on a testimonial. */
.fs-mb-avatars{display:flex;}
.fs-mb-av{
  width:32px;height:32px;border-radius:99px;
  border:2px solid var(--fs-mb-ink);
  display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:12px;line-height:1;color:var(--fs-mb-ink-head);
}
.fs-mb-avatars .fs-mb-av + .fs-mb-av{margin-left:-9px;}
.fs-mb-av-lg{width:34px;height:34px;border:0;}

/* ── Hero ─────────────────────────────────────────────────────
   grid 1.05fr / 0.95fr with a 64px gutter, 84px top and 92px bottom. */
.fs-mb-hero{padding-top:84px;padding-bottom:92px;display:grid;
  grid-template-columns:1.05fr 0.95fr;gap:64px;align-items:center;}
.fs-mb-hero-copy{display:flex;flex-direction:column;gap:22px;}
.fs-mb-hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px;}
.fs-mb-hero-proof{display:flex;align-items:center;gap:12px;margin-top:8px;
  font-weight:500;font-size:13.5px;line-height:1.4;color:var(--fs-mb-ink-mute);}
.fs-mb-hero-proof b{color:var(--fs-mb-ink-head);}
/* The layered card stack — the logo's own motif, three 380x440 plates
   at 24px radius, offset 10px apart. */
.fs-mb-stack{position:relative;height:520px;}
.fs-mb-plate{position:absolute;width:380px;height:440px;border-radius:24px;max-width:100%;}
.fs-mb-plate-1{top:20px;right:6px;background:var(--fs-mb-gold);opacity:.9;}
.fs-mb-plate-2{top:10px;right:16px;background:rgb(var(--c-brand-600));opacity:.55;}
.fs-mb-plate-3{top:0;right:26px;overflow:hidden;border:1px solid rgb(250 249 246 / .14);
  background:var(--fs-mb-ink-card);}

/* ── Section header (eyebrow + h2 + trailing link) ───────────── */
.fs-mb-head{display:flex;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:32px;}
.fs-mb-head-stack{display:flex;flex-direction:column;gap:10px;}
.fs-mb-head-centre{align-items:center;text-align:center;}
.fs-mb-more{
  font-weight:600;font-size:14px;line-height:1;margin-bottom:8px;
  color:rgb(var(--c-brand-600));text-decoration:none;margin-left:auto;
}

/* ── Episodes ─────────────────────────────────────────────────
   4-up at 20px gap; cover 160px; body 16/18/18. */
.fs-mb-episodes{padding-top:92px;padding-bottom:92px;}
.fs-mb-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.fs-mb-cover{position:relative;height:160px;background:rgb(var(--c-paper));}
/* THE GATE — a blurred scrim, a padlock and the words. The export's
   own numbers: blur(9px) over rgba(23,20,43,.45), a 40px disc at 14%
   white with a 30% hairline. A locked cover also takes the dark plate
   rather than the page colour, so the row reads as gated before the
   scrim renders. */
.fs-mb-card-locked .fs-mb-cover{background:var(--fs-mb-ink-card);}
.fs-mb-gate{
  position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:9px;
  backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);
  background:rgb(23 20 43 / .45);
}
.fs-mb-gate-lock{
  width:40px;height:40px;border-radius:99px;
  background:rgb(250 249 246 / .14);border:1px solid rgb(250 249 246 / .3);
  display:flex;align-items:center;justify-content:center;color:var(--fs-mb-ink-head);
}
.fs-mb-gate-lbl{font-weight:600;font-size:12px;line-height:1;color:var(--fs-mb-ink-head);}
/* Two more tier pills for the cover badge — the row shows all three. */
.fs-mb-pill-studio{color:rgb(var(--c-brand-700));background:rgb(var(--c-brand-600) / .14);border:none;}
.fs-mb-pill-prime{color:var(--fs-mb-gold-text);background:var(--fs-mb-gold-tint);border:none;}
.fs-mb-cover-badge{position:absolute;top:12px;left:12px;pointer-events:none;}
.fs-mb-play{
  position:absolute;right:12px;bottom:12px;width:38px;height:38px;border-radius:99px;
  background:rgb(23 20 43 / .85);display:flex;align-items:center;justify-content:center;
  pointer-events:none;color:var(--fs-mb-ink-head);
}
.fs-mb-card-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;}
.fs-mb-card-title{
  font-family:var(--font-display,'Bricolage Grotesque',sans-serif);
  font-weight:600;font-size:16px;line-height:1.3;color:rgb(var(--c-ink-950));
}
.fs-mb-card-meta{font-weight:500;font-size:12.5px;line-height:1;color:rgb(var(--c-ink-400));}

/* ── Pillars (used in threes) ─────────────────────────────────── */
.fs-mb-pillars{padding-top:92px;padding-bottom:92px;}
.fs-mb-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.fs-mb-pillar{
  background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));
  border-radius:18px;padding:26px;display:flex;flex-direction:column;gap:12px;
  color:inherit;text-decoration:none;
}
/* Three tints, one per pillar — the export pairs each glyph with its
   own ground (violet / green / gold) and the pairing carries the
   meaning. One brand tint on all three said nothing. */
.fs-mb-pillar-num{
  font-family:var(--font-display,inherit);font-weight:800;font-size:15px;line-height:1;
  color:rgb(var(--c-brand-600));
}
.fs-mb-pillar-title{
  font-family:var(--font-display,'Bricolage Grotesque',sans-serif);
  font-weight:700;font-size:19px;line-height:1.25;color:rgb(var(--c-ink-950));
}
.fs-mb-pillar-body{font-weight:400;font-size:14.5px;line-height:1.6;color:rgb(var(--c-ink-400));}
.fs-mb-pillar-link{font-weight:600;font-size:13.5px;line-height:1;color:rgb(var(--c-brand-600));margin-top:auto;}
.fs-mb-icontile{
  width:44px;height:44px;border-radius:13px;display:flex;align-items:center;justify-content:center;
  background:rgb(var(--c-brand-600) / .10);color:rgb(var(--c-brand-600));
}
.fs-mb-icontile-1{background:rgb(var(--c-brand-600) / .10);color:rgb(var(--c-brand-700));}
.fs-mb-icontile-2{background:rgb(from var(--fs-mb-ok) r g b / .12);color:var(--fs-mb-ok);}
.fs-mb-icontile-3{background:var(--fs-mb-gold-tint);color:var(--fs-mb-gold-text);}
/* The numeral marker — about's three house rules are 01/02/03, not
   icons. */

/* ── Voices (testimonials, on ink) ────────────────────────────── */
.fs-mb-voices{padding-top:80px;padding-bottom:80px;display:flex;flex-direction:column;gap:40px;}
.fs-mb-quote-mark{
  font-family:var(--font-display,'Bricolage Grotesque',sans-serif);
  font-weight:800;font-size:30px;line-height:.6;color:var(--fs-mb-gold-lt);
}
.fs-mb-quote{font-weight:400;font-size:15px;line-height:1.6;color:var(--fs-mb-ink-body);}
.fs-mb-attrib{display:flex;align-items:center;gap:10px;margin-top:auto;}
.fs-mb-attrib-name{font-weight:600;font-size:13.5px;line-height:1.2;color:var(--fs-mb-ink-head);}
.fs-mb-attrib-meta{font-weight:500;font-size:12px;line-height:1.3;color:var(--fs-mb-gold-lt);}

/* ── Tiers (the pricing table) ─────────────────────────────────
   Three cards on a 20px gap, deliberately UNEQUAL: the middle one is
   the design's "most popular" and the third is Prime, the only card in
   the theme that gets the gold panel. Everything about that hierarchy
   is the export's own — 1px hairline / 2px brand / 2px gold, and a
   brand glow under the middle card alone.

   The Prime panel is the second of the theme's two documented
   non-palette exceptions (member-prime-styles.ts header): Prime Gold is
   a fixed constant across all three palettes by the designer's
   declaration, because it means "the top tier" and not "the accent". */
.fs-mb-tiers{padding-top:80px;padding-bottom:88px;}
.fs-mb-tiers-head{
  display:flex;flex-direction:column;align-items:center;gap:14px;
  text-align:center;margin-bottom:36px;
}
.fs-mb-toggle{display:flex;align-items:center;gap:12px;margin-top:8px;flex-wrap:wrap;justify-content:center;}
.fs-mb-toggle-group{display:flex;background:rgb(var(--c-paper));border-radius:99px;padding:4px;}
.fs-mb-toggle-btn{
  font-weight:600;font-size:13px;line-height:1;border:0;border-radius:99px;
  padding:10px 16px;background:transparent;color:rgb(var(--c-ink-400));
}
.fs-mb-toggle-btn{cursor:pointer;transition:background .18s ease,color .18s ease;}
.fs-mb-toggle-btn[aria-current='true'],
.fs-mb-toggle-btn[aria-pressed='true']{background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));
  box-shadow:0 2px 6px rgb(23 20 43 / .09);}
.fs-mb-tier-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch;}
.fs-mb-tier{
  position:relative;background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));
  border-radius:20px;padding:30px 28px;display:flex;flex-direction:column;gap:16px;
}
.fs-mb-tier-pop{border:2px solid rgb(var(--c-brand-600));box-shadow:0 20px 48px rgb(var(--c-brand-600) / .14);}
.fs-mb-tier-prime{
  border:2px solid var(--fs-mb-gold);
  background:var(--fs-mb-gold-panel);
}
/* On a dark page the light gold panel would put near-black gold ink on
   a near-white card in the middle of a dark run of sections. The dark
   palette's own goldPanel from the export is used instead. */

.fs-mb-ribbon{
  position:absolute;top:-13px;left:50%;transform:translateX(-50%);
  font-weight:700;font-size:12px;line-height:1;letter-spacing:.1em;
  color:var(--fs-on-brand,#fff);background:rgb(var(--c-brand-600));
  border-radius:99px;padding:8px 14px;white-space:nowrap;
}
.fs-mb-tier-name{display:flex;align-items:center;gap:9px;}
.fs-mb-tier-name > span:first-of-type{
  font-weight:700;font-size:13px;line-height:1;letter-spacing:.1em;color:rgb(var(--c-ink-700));
}
.fs-mb-tier-pop .fs-mb-tier-name > span:first-of-type{color:rgb(var(--c-brand-700));}
.fs-mb-tier-prime .fs-mb-tier-name > span:first-of-type{color:var(--fs-mb-gold-text);}
.fs-mb-tier-prime:is(.dark *):not(.fs-preview-light *) .fs-mb-tier-name > span:first-of-type{color:var(--fs-mb-gold-lt);}
.fs-mb-best{
  font-weight:700;font-size:12px;line-height:1;letter-spacing:.08em;color:var(--fs-mb-gold-text);
  border:1px solid var(--fs-mb-gold);border-radius:99px;padding:6px 9px;white-space:nowrap;margin-left:auto;
}
.fs-mb-best:is(.dark *):not(.fs-preview-light *){color:var(--fs-mb-gold-lt);}
.fs-mb-price{display:flex;align-items:baseline;gap:6px;}
.fs-mb-price b{
  font-family:var(--font-display,inherit);font-weight:800;font-size:46px;line-height:1;
  color:rgb(var(--c-ink-950));font-variant-numeric:tabular-nums;
}
.fs-mb-tier-prime:is(.dark *):not(.fs-preview-light *) .fs-mb-price b,
.fs-mb-tier-prime:is(.dark *):not(.fs-preview-light *) .fs-mb-tier-blurb,
.fs-mb-tier-prime:is(.dark *):not(.fs-preview-light *) .fs-mb-feat{color:var(--fs-mb-ink-head);}
.fs-mb-price > span{font-weight:500;font-size:14px;line-height:1.3;color:rgb(var(--c-ink-400));}
.fs-mb-tier-blurb{font-weight:400;font-size:14px;line-height:1.55;color:rgb(var(--c-ink-400));}
.fs-mb-hair{height:1px;background:rgb(var(--c-line));}
.fs-mb-tier-prime .fs-mb-hair{background:var(--fs-mb-gold-hair);}

.fs-mb-feats{display:flex;flex-direction:column;gap:11px;}
.fs-mb-feat{
  display:flex;gap:9px;align-items:center;
  font-weight:500;font-size:14px;line-height:1.4;color:rgb(var(--c-ink-700));
}
.fs-mb-feat svg{flex-shrink:0;color:rgb(var(--c-success,27 122 82));}
.fs-mb-tier-spacer{flex:1;}
/* The three CTAs are three DIFFERENT weights, not one button repeated:
   ghost / brand fill / gold fill, climbing with the tier. */
.fs-mb-tier-cta{
  font-weight:600;font-size:15px;line-height:1;border-radius:13px;
  padding:15px;text-align:center;display:block;
  color:rgb(var(--c-ink-950));border:1.5px solid rgb(var(--c-line-strong,var(--c-line)));
}
.fs-mb-tier-cta-fill{
  padding:16px;border:0;color:var(--fs-on-brand,#fff);background:rgb(var(--c-brand-600));
  box-shadow:0 8px 20px rgb(var(--c-brand-600) / .32);
}
.fs-mb-tier-cta-gold{
  padding:16px;border:0;color:var(--fs-mb-gold-ink);
  background:linear-gradient(135deg,var(--fs-mb-gold-lt),var(--fs-mb-gold));
}
.fs-mb-guarantee{
  display:flex;align-items:center;gap:10px;margin-top:22px;flex-wrap:wrap;
  font-weight:500;font-size:14px;line-height:1.4;color:rgb(var(--c-ink-700));
}
.fs-mb-guarantee svg{color:rgb(var(--c-success,27 122 82));flex-shrink:0;}

/* ── Library (the gated catalogue) ─────────────────────────────
   A filter row over a four-up grid. The LOCK is the whole point of the
   block: a gated card still shows its art, blurred behind a scrim,
   because the design sells the library by showing what is in it. */
.fs-mb-library{padding-top:80px;padding-bottom:80px;}
.fs-mb-lib-head{display:flex;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:28px;}
.fs-mb-lib-head-stack{display:flex;flex-direction:column;gap:12px;}
.fs-mb-search{
  display:flex;align-items:center;gap:8px;margin-bottom:4px;min-width:240px;
  font-weight:500;font-size:14px;line-height:1;color:rgb(var(--c-ink-400));
  background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));
  border-radius:99px;padding:12px 18px;
}
.fs-mb-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:28px;}
.fs-mb-chip{
  font-weight:600;font-size:13px;line-height:1;
  border:1.5px solid rgb(var(--c-line));border-radius:99px;padding:11px 16px;
  background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-400));
}
/* The selected chip inverts to full ink rather than taking the brand —
   the export's own --mp-chipOn pair, which keeps the brand free to mean
   "member tier" everywhere else in this block. */
.fs-mb-chip[aria-current='true']{
  border-color:rgb(var(--c-ink-950));background:rgb(var(--c-ink-950));color:rgb(var(--c-paper));
}
.fs-mb-count{font-weight:500;font-size:13px;line-height:1;color:rgb(var(--c-ink-400));margin-left:auto;}
.fs-mb-lib-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.fs-mb-libcard{
  background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));
  border-radius:18px;overflow:hidden;display:flex;flex-direction:column;color:inherit;
}
.fs-mb-anim .fs-mb-libcard{transition:box-shadow .25s cubic-bezier(.2,.7,.3,1);}
.fs-mb-anim .fs-mb-libcard:hover{box-shadow:var(--fs-anim-mbLift, 0 14px 36px rgb(23 20 43 / .10));}
/* The cover ground tells you, before the padlock does, whether an item
   is open: the export uses a violet tint for open and a dark plate for
   gated. One ground for both was a grid you had to read to scan. */
.fs-mb-thumb{position:relative;height:150px;background:rgb(var(--c-brand-600) / .10);}
.fs-mb-libcard-locked .fs-mb-thumb{background:var(--fs-mb-ink-card);}
.fs-mb-lock{
  position:absolute;inset:0;backdrop-filter:blur(9px);background:rgb(23 20 43 / .45);
  display:flex;align-items:center;justify-content:center;
}
.fs-mb-lock span{
  width:38px;height:38px;border-radius:99px;background:rgb(250 249 246 / .14);
  border:1px solid rgb(250 249 246 / .3);display:flex;align-items:center;justify-content:center;color:var(--fs-mb-ink-head);
}
.fs-mb-tierbadge{
  position:absolute;top:12px;left:12px;pointer-events:none;
  font-weight:700;font-size:12px;line-height:1;border-radius:99px;padding:7px 10px;
}
.fs-mb-len{
  position:absolute;right:12px;bottom:12px;pointer-events:none;
  font-weight:600;font-size:12px;line-height:1;color:var(--fs-mb-ink-head);
  background:rgb(23 20 43 / .72);border-radius:8px;padding:6px 8px;
}
.fs-mb-libbody{padding:15px 17px 17px;display:flex;flex-direction:column;gap:7px;}
.fs-mb-libtype{
  display:flex;align-items:center;gap:7px;
  font-weight:600;font-size:12px;line-height:1;letter-spacing:.08em;color:rgb(var(--c-ink-400));
}
/* FOUR type colours, one per category. The export scans by colour —
   violet video, green course, clay session, gold download — and one
   muted tick on every card made the grid unscannable. */
.fs-mb-libtype svg{flex:none;}
.fs-mb-libtype-ep{color:rgb(var(--c-brand-700));}
.fs-mb-libtype-co{color:var(--fs-mb-ok);}
.fs-mb-libtype-se{color:var(--fs-mb-clay);}
.fs-mb-libtype-fi{color:var(--fs-mb-gold-text);}
.fs-mb-libtitle{
  font-family:var(--font-display,inherit);font-weight:600;font-size:15.5px;line-height:1.3;
  color:rgb(var(--c-ink-950));
}
.fs-mb-libmeta{font-weight:500;font-size:12px;line-height:1.4;color:rgb(var(--c-ink-400));}
.fs-mb-more-row{display:flex;justify-content:center;margin-top:28px;}

/* ── Feed (the members' room) ──────────────────────────────────
   A 1fr/340px split: the thread on the left, the session rail on the
   right. The rail is the theme's ink card on a light page — the one
   place the design lets the dark ground appear inside a light section,
   because "what is happening next" is the thing it wants read first. */
.fs-mb-feed{padding-top:80px;padding-bottom:88px;}
.fs-mb-feed-head{display:flex;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:32px;}
.fs-mb-feed-grid{display:grid;grid-template-columns:1fr 340px;gap:28px;align-items:start;}
.fs-mb-thread{display:flex;flex-direction:column;gap:16px;}
.fs-mb-composer{
  background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));border-radius:18px;
  padding:18px 22px;display:flex;gap:13px;align-items:center;
}
/* The composer's field is a DRAWN input in the export — a real ground,
   border, radius and padding. The port gave it flex and a colour only,
   so it read as bare grey text where the design shows a door. */
.fs-mb-composer-field{
  flex:1;font-weight:500;font-size:14px;line-height:1;color:rgb(var(--c-ink-400));
  background:rgb(var(--c-paper));border:1.5px solid rgb(var(--c-line));
  border-radius:12px;padding:14px 16px;
}
/* Posting is a STATE the design draws, and the port had no equivalent. */
.fs-mb-composer-done{
  flex:1;display:inline-flex;align-items:center;gap:8px;
  font-weight:600;font-size:13.5px;line-height:1.4;color:var(--fs-mb-ok);
  background:rgb(from var(--fs-mb-ok) r g b / .12);border-radius:12px;padding:14px 16px;
}
/* A post's identity line: name, then the member's TIER. The tier pill is
   how the room reads seniority at a glance and the port had no field for
   it, so all four vanished. */
.fs-mb-post-who{flex:1;min-width:0;}
.fs-mb-post-nameline{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.fs-mb-ptier{
  font-weight:700;font-size:12px;line-height:1;border-radius:99px;padding:5px 8px;
}
.fs-mb-ptier-insider{color:rgb(var(--c-ink-700));background:rgb(var(--c-ink-950) / .06);}
.fs-mb-ptier-studio{color:rgb(var(--c-brand-700));background:rgb(var(--c-brand-600) / .12);}
.fs-mb-ptier-prime{color:var(--fs-mb-gold-text);background:var(--fs-mb-gold-tint);}
/* The streak chip — gold, and earned. */
.fs-mb-streakchip{
  display:inline-flex;align-items:center;gap:5px;flex-shrink:0;
  font-weight:600;font-size:12px;line-height:1;border-radius:99px;padding:7px 10px;
  color:var(--fs-mb-gold-text);background:var(--fs-mb-gold-tint);
}
/* An attached cut, which is the whole reason a work-in-progress post
   exists. No field for it, so the design's one attachment was dropped. */
.fs-mb-attach{
  display:flex;align-items:center;gap:12px;
  background:var(--fs-mb-fill2);border-radius:13px;padding:13px 16px;
}
.fs-mb-attach-tile{
  width:36px;height:36px;border-radius:10px;background:var(--fs-mb-ink);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;color:var(--fs-mb-ink-head);
}
.fs-mb-attach-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;}
.fs-mb-attach-t{font-weight:600;font-size:13.5px;line-height:1.3;color:rgb(var(--c-ink-950));}
.fs-mb-attach-m{font-weight:400;font-size:12px;line-height:1.4;color:rgb(var(--c-ink-400));}
.fs-mb-attach-cta{font-weight:600;font-size:12.5px;line-height:1;color:rgb(var(--c-brand-600));flex-shrink:0;}
/* Actions are ICONS with counts plus Save, not one flat sentence. */
.fs-mb-act{display:inline-flex;align-items:center;gap:6px;}
.fs-mb-act svg{flex:none;}
.fs-mb-pinned{
  background:rgb(var(--c-brand-600) / .09);border:1.5px solid rgb(var(--c-line));
  border-radius:18px;padding:20px 24px;display:flex;gap:14px;align-items:flex-start;
}
.fs-mb-pin-tile{
  width:36px;height:36px;border-radius:11px;background:rgb(var(--c-brand-600));
  display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--fs-on-brand,#fff);
}
.fs-mb-pin-body{display:flex;flex-direction:column;gap:5px;flex:1;}
.fs-mb-pin-label{font-weight:700;font-size:12px;line-height:1;letter-spacing:.1em;color:rgb(var(--c-brand-700));}
.fs-mb-pin-text{font-weight:600;font-size:15px;line-height:1.45;color:rgb(var(--c-ink-950));}
.fs-mb-pin-meta{font-weight:500;font-size:12px;line-height:1;color:rgb(var(--c-ink-400));}
.fs-mb-post{
  background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));border-radius:18px;
  padding:22px 24px;display:flex;flex-direction:column;gap:12px;
}
.fs-mb-post-head{display:flex;align-items:center;gap:11px;}
.fs-mb-post-name{font-weight:700;font-size:14px;line-height:1.2;color:rgb(var(--c-ink-950));display:block;}
.fs-mb-post-meta{font-weight:500;font-size:12px;line-height:1.3;color:rgb(var(--c-ink-400));display:block;}
.fs-mb-post-body{font-weight:400;font-size:14.5px;line-height:1.6;color:rgb(var(--c-ink-700));}
.fs-mb-post-foot{
  display:flex;align-items:center;gap:16px;
  font-weight:600;font-size:12.5px;line-height:1;color:rgb(var(--c-ink-400));
}
.fs-mb-rail{display:flex;flex-direction:column;gap:16px;}
.fs-mb-rail-ink{
  background:var(--fs-mb-ink);border-radius:18px;padding:22px;
  display:flex;flex-direction:column;gap:14px;
}
.fs-mb-rail-label{
  display:flex;align-items:center;gap:8px;
  font-weight:700;font-size:12px;line-height:1;letter-spacing:.1em;color:var(--fs-mb-ink-accent);
}
.fs-mb-sess{display:flex;gap:12px;align-items:center;}
.fs-mb-date{
  width:46px;border-radius:10px;background:var(--fs-mb-ink-tile);padding:7px 0;flex-shrink:0;
  display:flex;flex-direction:column;align-items:center;
}
.fs-mb-date b{font-family:var(--font-display,inherit);font-weight:700;font-size:15px;line-height:1;color:var(--fs-mb-ink-head);}
.fs-mb-date > span{font-weight:600;font-size:12px;line-height:1.4;color:var(--fs-mb-ink-accent);}
.fs-mb-sess-t{font-weight:600;font-size:13.5px;line-height:1.25;color:var(--fs-mb-ink-head);display:block;}
.fs-mb-sess-m{font-weight:500;font-size:12px;line-height:1.3;color:var(--fs-mb-ink-mute);display:block;}
.fs-mb-rail-card{
  background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));border-radius:18px;
  padding:20px 22px;display:flex;flex-direction:column;gap:12px;
}
.fs-mb-rail-title{font-weight:700;font-size:12px;line-height:1;letter-spacing:.1em;color:rgb(var(--c-ink-950));}
.fs-mb-contrib{display:flex;align-items:center;gap:10px;}
.fs-mb-rank{
  font-weight:700;font-size:12px;line-height:1;color:rgb(var(--c-ink-400));width:10px;flex-shrink:0;
  font-variant-numeric:tabular-nums;
}
.fs-mb-contrib-n{font-weight:600;font-size:13.5px;line-height:1.2;color:rgb(var(--c-ink-950));flex:1;}
.fs-mb-contrib-m{font-weight:500;font-size:12px;line-height:1;color:rgb(var(--c-ink-400));}
.fs-mb-rail-body{font-weight:400;font-size:13.5px;line-height:1.6;color:rgb(var(--c-ink-400));}
.fs-mb-rail-link{font-weight:600;font-size:13px;line-height:1;color:rgb(var(--c-brand-600));}

/* ── Account ──────────────────────────────────────────────────
   Four tabs of one page, rebuilt against account.html after the first
   attempt was built from a text extraction and matched almost nothing:
   a 2-column left-aligned badge grid where the export has four centred
   cards, a gold avatar where the export has violet, an outlined tier
   chip where the export has a gold gradient with a crown in it.

   Both Overview and Billing are a 1.25fr/1fr split, which is the shape
   the first attempt missed entirely — it stacked everything. */
.fs-mb-account{padding-top:64px;padding-bottom:88px;}
.fs-mb-acct-head{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:28px;}
.fs-mb-acct-av{
  width:64px;height:64px;border-radius:99px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:20px;line-height:1;
  /* --mp-accentSoft: the LIGHT violet, and white on it. Not the gold —
     gold is the peak-tier signal and an avatar is not a tier. */
  background:rgb(var(--c-accent));color:var(--fs-mb-on-accent);
}
.fs-mb-acct-id{display:flex;flex-direction:column;gap:6px;}
.fs-mb-acct-name{
  margin:0;font-family:var(--font-display,inherit);font-weight:800;font-size:32px;line-height:1.05;
  letter-spacing:-.015em;color:rgb(var(--c-ink-950));
}
.fs-mb-acct-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  font-weight:500;font-size:13px;line-height:1;color:rgb(var(--c-ink-400));}
/* The tier chip is a GOLD FILL with a crown, not an outline: it is the
   one place on the page that says which tier you are, and the export
   gives it the same weight as the Prime tier card. */
.fs-mb-tierchip{
  display:inline-flex;align-items:center;gap:6px;
  font-weight:700;font-size:12px;line-height:1;
  color:var(--fs-mb-gold-ink);
  background:linear-gradient(135deg,var(--fs-mb-gold-lt),var(--fs-mb-gold));
  border-radius:99px;padding:7px 11px;white-space:nowrap;
}
.fs-mb-acct-cta{margin-left:auto;}
.fs-mb-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px;}
.fs-mb-tab{
  font-family:inherit;font-weight:600;font-size:13.5px;line-height:1;
  border:1px solid transparent;border-radius:99px;padding:11px 18px;
  background:transparent;color:rgb(var(--c-ink-400));cursor:pointer;
  transition:background .18s ease,color .18s ease,border-color .18s ease;
}
.fs-mb-tab[aria-selected='true'],.fs-mb-tab[aria-current='true']{
  background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));
  border-color:rgb(var(--c-line));box-shadow:0 1px 2px rgb(23 20 43 / .07);
}
/* Both Overview and Billing use it; Settings is an even 1fr/1fr. */
.fs-mb-acct-split{display:grid;grid-template-columns:1.25fr 1fr;gap:20px;align-items:start;}
.fs-mb-acct-col{display:flex;flex-direction:column;gap:20px;min-width:0;}
.fs-mb-acct-card{
  background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));
  border-radius:18px;padding:22px 26px;display:flex;flex-direction:column;gap:14px;
}
.fs-mb-acct-lbl{font-weight:700;font-size:12px;line-height:1;letter-spacing:.1em;color:rgb(var(--c-ink-400));}
.fs-mb-acct-lblrow{display:flex;align-items:center;gap:10px;}
.fs-mb-acct-more{margin-left:auto;font-weight:600;font-size:12.5px;line-height:1;color:rgb(var(--c-brand-600));}

/* ── Overview: resume ── */
.fs-mb-resume{
  background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));
  border-radius:18px;padding:24px 26px;display:flex;align-items:center;gap:20px;flex-wrap:wrap;
}
.fs-mb-resume-b{flex:1;display:flex;flex-direction:column;gap:7px;min-width:200px;}
.fs-mb-resume-t{font-family:var(--font-display,inherit);font-weight:700;font-size:17px;line-height:1.2;color:rgb(var(--c-ink-950));}
.fs-mb-resume-m{font-weight:400;font-size:13px;line-height:1.4;color:rgb(var(--c-ink-400));}
.fs-mb-progress{height:7px;border-radius:99px;background:rgb(var(--c-paper));overflow:hidden;max-width:300px;}
.fs-mb-progress span{
  display:block;height:100%;
  background:linear-gradient(90deg,rgb(var(--c-brand-600)),rgb(var(--c-accent)));
}
.fs-mb-resume-cta{
  font-weight:600;font-size:13.5px;line-height:1;border-radius:11px;padding:13px 18px;
  color:var(--fs-on-brand,rgb(var(--c-paper)));background:rgb(var(--c-brand-600));white-space:nowrap;
}
/* The ring is an SVG arc, not a conic gradient: the export draws it with
   a round cap and a track, and a conic can do neither. */
.fs-mb-ring{flex-shrink:0;}
.fs-mb-ring-track{stroke:rgb(var(--c-paper));}
.fs-mb-ring-arc{stroke:rgb(var(--c-brand-600));}
.fs-mb-ring-gold{stroke:var(--fs-mb-gold);}
.fs-mb-ring-num{
  fill:rgb(var(--c-ink-950));font-family:var(--font-body,inherit);
  font-weight:700;font-variant-numeric:tabular-nums;
}

/* ── Overview: saved rows ── */
.fs-mb-saved{display:flex;flex-direction:column;gap:13px;}
.fs-mb-saved-row{display:flex;align-items:center;gap:13px;}
.fs-mb-saved-tile{
  width:36px;height:36px;border-radius:10px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:rgb(var(--c-brand-600) / .1);color:rgb(var(--c-brand-700));
}
.fs-mb-saved-b{flex:1;min-width:0;}
.fs-mb-saved-t{font-weight:600;font-size:13.5px;line-height:1.25;color:rgb(var(--c-ink-950));display:block;}
.fs-mb-saved-m{font-weight:400;font-size:12px;line-height:1.35;color:rgb(var(--c-ink-400));display:block;}
.fs-mb-saved-a{font-weight:600;font-size:12.5px;line-height:1;color:rgb(var(--c-brand-600));white-space:nowrap;}

/* ── Overview: the ink streak card ── */
.fs-mb-streak{
  background:var(--fs-mb-ink-card);border-radius:18px;padding:20px 24px;
  display:flex;align-items:center;gap:14px;
}
.fs-mb-streak-tile{
  width:44px;height:44px;border-radius:13px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:rgb(228 183 94 / .16);color:var(--fs-mb-gold-lt);
}
.fs-mb-streak b{font-weight:700;font-size:16px;line-height:1.2;color:var(--fs-mb-ink-head);display:block;}
.fs-mb-streak i{font-style:normal;font-weight:400;font-size:12.5px;line-height:1.4;color:var(--fs-mb-ink-mute);display:block;}

/* ── Overview: notifications ── */
.fs-mb-notif{display:flex;gap:11px;}
.fs-mb-notif-dot{width:8px;height:8px;border-radius:99px;margin-top:5px;flex-shrink:0;background:rgb(var(--c-brand-600));}
.fs-mb-notif-gold{background:var(--fs-mb-gold);}
.fs-mb-notif-off{background:rgb(var(--c-line));}
.fs-mb-notif-t{font-weight:500;font-size:13.5px;line-height:1.4;color:rgb(var(--c-ink-950));}
.fs-mb-notif-w{font-weight:400;font-size:12px;line-height:1.3;color:rgb(var(--c-ink-400));}

/* ── A tinted note card, used for the queue and the gift offer ── */
.fs-mb-note-card{
  background:rgb(var(--c-brand-600) / .09);border-radius:18px;padding:20px 24px;
  display:flex;flex-direction:column;gap:8px;
}
.fs-mb-note-card b{font-family:var(--font-display,inherit);font-weight:700;font-size:14px;line-height:1.3;color:rgb(var(--c-ink-950));}
.fs-mb-note-card > span{font-weight:400;font-size:13px;line-height:1.55;color:rgb(var(--c-ink-700));}
.fs-mb-note-card a,.fs-mb-note-card .fs-mb-acct-more{margin-left:0;}

/* ── Billing: the gold plan panel ── */
.fs-mb-plan{
  background:var(--fs-mb-gold-panel);border:1.5px solid var(--fs-mb-gold);
  border-radius:18px;padding:26px;display:flex;flex-direction:column;gap:14px;
}
.fs-mb-plan-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.fs-mb-plan-lbl{font-weight:700;font-size:13px;line-height:1;letter-spacing:.1em;color:var(--fs-mb-gold-text);}
.fs-mb-plan-live{
  margin-left:auto;font-weight:700;font-size:12px;line-height:1;border-radius:99px;padding:6px 10px;
  color:rgb(var(--c-success,27 122 82));background:rgb(var(--c-success,27 122 82) / .13);
}
.fs-mb-plan-price{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;}
.fs-mb-plan-price b{
  font-family:var(--font-display,inherit);font-weight:800;font-size:40px;line-height:1;
  color:rgb(var(--c-ink-950));font-variant-numeric:tabular-nums;
}
.fs-mb-plan-price span{font-weight:500;font-size:13.5px;line-height:1;color:rgb(var(--c-ink-400));}
.fs-mb-plan-renew{font-weight:400;font-size:13.5px;line-height:1.55;color:rgb(var(--c-ink-400));}
.fs-mb-plan-renew b{color:rgb(var(--c-ink-950));}
.fs-mb-plan-acts{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.fs-mb-plan-ghost{
  font-weight:600;font-size:13px;line-height:1;color:rgb(var(--c-ink-950));
  border:1.5px solid var(--fs-mb-gold-hair);border-radius:11px;padding:12px 16px;
}
.fs-mb-plan-cancel{font-weight:600;font-size:13px;line-height:1;color:rgb(var(--c-ink-400));padding:12px 6px;}
/* :is(.dark *):not(.fs-preview-light *), matching every other dark
   override in this file -- this one line used the older, ambient
   .dark ANCESTOR form and inherited its bug: layout.tsx's boot
   script puts .dark on <html> from the visitor's OS preference
   alone, unrelated to this site's own resolved mode. */
.fs-mb-plan-price:is(.dark *):not(.fs-preview-light *) b,.fs-mb-plan-renew:is(.dark *):not(.fs-preview-light *) b{color:var(--fs-mb-ink-head);}

/* ── Billing: invoices ── */
.fs-mb-invcard{
  background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));
  border-radius:18px;overflow:hidden;
}
.fs-mb-invhead{padding:18px 24px;display:flex;align-items:center;gap:10px;}
.fs-mb-invtable{width:100%;border-collapse:collapse;font-weight:500;font-size:13.5px;line-height:1.4;color:rgb(var(--c-ink-700));}
.fs-mb-invtable tr{border-top:1px solid rgb(var(--c-line));}
.fs-mb-invtable td{padding:13px 10px;}
.fs-mb-invtable td:first-child{padding-left:24px;font-variant-numeric:tabular-nums;}
.fs-mb-invtable td:nth-child(3){text-align:right;font-variant-numeric:tabular-nums;color:rgb(var(--c-ink-950));font-weight:600;}
.fs-mb-invtable td:last-child{padding-right:24px;text-align:right;}
.fs-mb-invpdf{font-weight:600;font-size:12px;line-height:1;color:rgb(var(--c-brand-600));}

/* ── Billing: payment method ── */
.fs-mb-payrow{
  display:flex;align-items:center;gap:13px;
  background:rgb(var(--c-paper));border-radius:13px;padding:15px 16px;
}
.fs-mb-cardbrand{
  width:44px;height:30px;border-radius:6px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:12px;line-height:1;letter-spacing:.08em;
  background:var(--fs-mb-ink);color:var(--fs-mb-ink-head);
}
.fs-mb-paynote{display:flex;align-items:flex-start;gap:8px;font-weight:400;font-size:12px;line-height:1.5;color:rgb(var(--c-ink-400));}
.fs-mb-paynote svg{flex-shrink:0;margin-top:2px;}
.fs-mb-billdetails{font-weight:500;font-size:13.5px;line-height:1.7;color:rgb(var(--c-ink-700));}

/* ── Badges ──
   FOUR across and CENTRED, with a 56px circular icon. The first attempt
   was a 2-column left-aligned grid with empty tiles — the single
   clearest mismatch in the owner's screenshots. */
.fs-mb-badges{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.fs-mb-badge{
  background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));
  border-radius:18px;padding:26px 18px;
  display:flex;flex-direction:column;align-items:center;gap:11px;text-align:center;
}
.fs-mb-badge-prime{background:var(--fs-mb-gold-panel);border:1.5px solid var(--fs-mb-gold);}
/* An unearned badge is a DASHED outline — the export's way of saying
   "not yet" without greying the words out. */
.fs-mb-badge-todo{border:1px dashed rgb(var(--c-line-strong,var(--c-line)));}
.fs-mb-badge-mark{
  width:56px;height:56px;border-radius:99px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
}
.fs-mb-badge-v{background:rgb(var(--c-brand-600) / .12);color:rgb(var(--c-brand-700));}
.fs-mb-badge-g{background:rgb(var(--c-success,27 122 82) / .13);color:rgb(var(--c-success,27 122 82));}
.fs-mb-badge-gold{
  background:linear-gradient(135deg,var(--fs-mb-gold-lt),var(--fs-mb-gold));
  color:var(--fs-mb-gold-ink);
}
.fs-mb-badge-t{font-weight:700;font-size:14.5px;line-height:1.2;color:rgb(var(--c-ink-950));}
.fs-mb-badge-prime .fs-mb-badge-t{color:var(--fs-mb-gold-text);}
.fs-mb-badge-b{font-weight:400;font-size:12px;line-height:1.45;color:rgb(var(--c-ink-400));}

/* ── Settings: two cards, and the switch on the LEFT ── */
.fs-mb-settings{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:900px;align-items:start;}
.fs-mb-field{display:flex;flex-direction:column;gap:7px;}
.fs-mb-field > span{font-weight:600;font-size:12.5px;line-height:1;color:rgb(var(--c-ink-700));}
.fs-mb-field input{
  font-family:inherit;font-weight:500;font-size:14px;line-height:1;color:rgb(var(--c-ink-950));
  background:rgb(var(--c-paper));border:1.5px solid rgb(var(--c-line));
  border-radius:12px;padding:14px 15px;outline:none;
}
.fs-mb-field input:focus-visible{border-color:rgb(var(--c-brand-600));}
.fs-mb-switch-row{display:flex;align-items:center;gap:12px;}
.fs-mb-switch-body{flex:1;min-width:0;}
.fs-mb-switch-body b{font-weight:600;font-size:13.5px;line-height:1.25;color:rgb(var(--c-ink-950));display:block;}
.fs-mb-switch-body i{font-style:normal;font-weight:400;font-size:12px;line-height:1.4;color:rgb(var(--c-ink-400));display:block;}
.fs-mb-switch{
  width:44px;height:26px;border-radius:99px;border:0;cursor:pointer;padding:3px;flex-shrink:0;
  background:rgb(var(--c-line));display:flex;justify-content:flex-start;transition:background .18s ease;
}
.fs-mb-switch span{
  width:20px;height:20px;border-radius:99px;background:rgb(var(--c-paper-soft));display:block;
  transition:transform .18s ease;box-shadow:0 1px 2px rgb(23 20 43 / .18);
}
.fs-mb-switch-on{background:rgb(var(--c-brand-600));}
.fs-mb-switch-on span{transform:translateX(18px);}

/* ── Footer ────────────────────────────────────────────────────
   Five columns at the export's own 1.4/1/1/1/1.1 ratio. The site-pages
   column is DERIVED, never authored, so it can never list a page this
   tier does not have; the legal row is injected by the platform. */
.fs-mb-footer-root{background:rgb(var(--c-paper));border-top:1px solid rgb(var(--c-line));}
.fs-mb-footer{
  /* The SHARED shell width, not a second hardcoded 1280 — the pricing,
     about and contact pages run 1200, and a footer pinned to 1280 sat
     40px wider than the content above it on every one of them. Same
     defect the header row had; same fix. */
  max-width:var(--fs-shell-max,1280px);margin:0 auto;padding:56px 40px 0;
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1.1fr;gap:36px;
}
.fs-mb-fcol{display:flex;flex-direction:column;gap:11px;}
.fs-mb-fbrand{display:flex;align-items:center;gap:9px;}
.fs-mb-fword{
  font-family:var(--font-display,inherit);font-weight:700;font-size:17px;line-height:1;
  color:rgb(var(--c-ink-950));
}
.fs-mb-fblurb{font-weight:400;font-size:13.5px;line-height:1.6;color:rgb(var(--c-ink-400));max-width:30ch;}
.fs-mb-ftitle{font-weight:700;font-size:12px;line-height:1;letter-spacing:.12em;color:rgb(var(--c-ink-950));}
.fs-mb-flink{font-weight:500;font-size:14px;line-height:1.35;color:rgb(var(--c-ink-400));}
.fs-mb-anim .fs-mb-flink{transition:color .2s cubic-bezier(.2,.7,.3,1);}
.fs-mb-flink:hover{color:rgb(var(--c-brand-600));}
.fs-mb-fbar{
  max-width:var(--fs-shell-max,1280px);margin:0 auto;padding:28px 40px 32px;margin-top:36px;
  border-top:1px solid rgb(var(--c-line));
  display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  font-weight:500;font-size:12.5px;line-height:1.4;color:rgb(var(--c-ink-400));
}

/* ── CTA + newsletter ─────────────────────────────────────────
   The home page's closer, and the shape the first pass got wrong: it
   substituted a second three-pillar block, so "Join tonight, watch
   tonight" rendered as three cards instead of the export's own
   1.1fr/0.9fr split — a copy column beside a raised newsletter card on
   a brand-tinted panel. */
.fs-mb-cta{padding-top:20px;padding-bottom:92px;}
.fs-mb-cta-panel{
  background:rgb(var(--c-brand-600) / .09);border-radius:24px;
  padding:52px 56px;display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;
}
.fs-mb-cta-copy{display:flex;flex-direction:column;gap:16px;}
.fs-mb-cta-h{
  margin:0;font-family:var(--font-display,inherit);font-weight:800;font-size:32px;line-height:1.14;
  letter-spacing:-.015em;color:rgb(var(--c-ink-950));text-wrap:balance;
}
.fs-mb-cta-p{margin:0;font-weight:400;font-size:15.5px;line-height:1.6;color:rgb(var(--c-ink-700));max-width:46ch;}
.fs-mb-cta-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:4px;}
.fs-mb-cta-ghost{
  font-weight:600;font-size:15px;line-height:1;border-radius:13px;padding:14px 22px;
  color:rgb(var(--c-ink-950));border:1.5px solid rgb(var(--c-brand-600) / .35);display:inline-block;
}
.fs-mb-anim .fs-mb-cta-ghost{transition:border-color .2s ease,color .2s ease;}
.fs-mb-cta-ghost:hover{border-color:rgb(var(--c-brand-600));color:rgb(var(--c-brand-600));}
/* The newsletter card is the ONE raised surface in the block — it is
   the alternative offer, so it has to read as a separate thing rather
   than as more of the same panel. */
.fs-mb-news{
  background:rgb(var(--c-paper-soft));border-radius:20px;padding:30px;
  display:flex;flex-direction:column;gap:14px;
  box-shadow:0 20px 48px rgb(var(--c-brand-600) / .14);
}
.fs-mb-news-h{font-family:var(--font-display,inherit);font-weight:700;font-size:19px;line-height:1.25;color:rgb(var(--c-ink-950));}
.fs-mb-news-p{font-weight:400;font-size:13.5px;line-height:1.55;color:rgb(var(--c-ink-400));}
.fs-mb-news-row{display:flex;gap:10px;}
.fs-mb-news-row input{
  flex:1;min-width:0;font-weight:500;font-size:14px;line-height:1;
  color:rgb(var(--c-ink-950));background:rgb(var(--c-paper));
  border:1.5px solid rgb(var(--c-line));border-radius:12px;padding:15px 16px;outline:none;
  font-family:inherit;
}
.fs-mb-news-row input:focus-visible{border-color:rgb(var(--c-brand-600));}
/* Full ink, not the brand: the export sends the newsletter button to
   --mp-chipOn so the paid CTA above keeps the only brand fill on the
   page and the free alternative does not compete with it. */
.fs-mb-news-btn{
  font-weight:600;font-size:14px;line-height:1;border:0;border-radius:12px;padding:15px 20px;
  color:rgb(var(--c-paper));background:rgb(var(--c-ink-950));cursor:pointer;white-space:nowrap;
  font-family:inherit;
}
.fs-mb-news-done{
  display:flex;align-items:center;gap:10px;border-radius:12px;padding:15px 16px;
  background:rgb(var(--c-success,27 122 82) / .12);color:rgb(var(--c-success,27 122 82));
  font-weight:600;font-size:14px;line-height:1.3;
}
.fs-mb-news-fine{font-weight:400;font-size:12px;line-height:1.5;color:rgb(var(--c-ink-400));}

/* ── Upsell band ──────────────────────────────────────────────
   "Seeing a lot of locks?" — the ink bar that closes the library, and
   the theme's one gold CTA outside the pricing table. Its ground is the
   constant ink, so the copy colours are the ink ramp, not the palette. */
.fs-mb-upsell{padding-top:0;padding-bottom:92px;}
.fs-mb-upsell-bar{
  background:var(--fs-mb-ink);border-radius:24px;padding:40px 48px;
  display:flex;align-items:center;gap:32px;flex-wrap:wrap;
}
.fs-mb-upsell-copy{display:flex;flex-direction:column;gap:8px;flex:1;min-width:280px;}
.fs-mb-upsell-h{font-family:var(--font-display,inherit);font-weight:800;font-size:24px;line-height:1.2;color:var(--fs-mb-ink-head);}
.fs-mb-upsell-p{font-weight:400;font-size:14.5px;line-height:1.6;color:var(--fs-mb-ink-mute);}
.fs-mb-gold-btn{
  font-weight:600;font-size:15px;line-height:1;border-radius:13px;padding:16px 26px;
  color:var(--fs-mb-gold-ink);background:linear-gradient(135deg,var(--fs-mb-gold-lt),var(--fs-mb-gold));
  display:inline-block;white-space:nowrap;
}
.fs-mb-anim .fs-mb-gold-btn{transition:filter .2s ease;}
.fs-mb-gold-btn:hover{filter:brightness(1.06);}

/* ── Comparison table ─────────────────────────────────────────── */
.fs-mb-compare{padding-top:64px;padding-bottom:0;}
.fs-mb-compare-card{
  background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));
  /* 18px and no vertical padding — the export's own numbers. The head
     row's fill runs to the card's edge, which 8px of padding broke. */
  border-radius:18px;overflow:hidden;
}
.fs-mb-compare-table{width:100%;border-collapse:collapse;font-size:14px;}
.fs-mb-compare-table th,.fs-mb-compare-table td{padding:14px 20px;text-align:left;}
.fs-mb-compare-table thead tr{background:var(--fs-mb-fill2);}
.fs-mb-compare-table thead th{
  font-weight:700;font-size:12px;letter-spacing:.1em;color:rgb(var(--c-ink-400));white-space:nowrap;
}
.fs-mb-compare-table thead th + th{text-align:center;}
.fs-mb-compare-table tbody td{border-top:1px solid rgb(var(--c-line));color:rgb(var(--c-ink-700));font-weight:500;}
.fs-mb-compare-table tbody td + td{text-align:center;}
.fs-mb-compare-yes{color:rgb(var(--c-success,27 122 82));font-weight:700;}
.fs-mb-compare-no{color:rgb(var(--c-ink-400));}
/* NO tinted column by default — measured against the export, which has
   none. This rule used to tint column 3 UNCONDITIONALLY while the
   _highlightCol option tinted its own column too, so the table shipped
   with TWO tinted columns and the design had none. The option is still
   there for a theme that wants one; the default is now 'none'. */

/* ── FAQ ──────────────────────────────────────────────────────
   A real accordion: one open at a time, keyboard-reachable, and the
   chevron rotates. Frozen to plain open rows while editing, so the
   inline editor can reach every question AND every answer — an
   accordion that hides its answers behind a click would make half the
   block's copy uneditable. */
.fs-mb-faq{padding-top:88px;padding-bottom:96px;max-width:860px;}
.fs-mb-faq-list{display:flex;flex-direction:column;gap:12px;}
.fs-mb-faq-item{
  background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));border-radius:16px;
  overflow:hidden;
}
.fs-mb-faq-q{
  width:100%;display:flex;align-items:center;gap:16px;text-align:left;
  background:none;border:0;cursor:pointer;padding:20px 22px;font-family:inherit;
  font-weight:600;font-size:16px;line-height:1.4;color:rgb(var(--c-ink-950));
}
.fs-mb-faq-chev{
  width:30px;height:30px;border-radius:99px;flex-shrink:0;margin-left:auto;
  display:flex;align-items:center;justify-content:center;
  background:rgb(var(--c-brand-600) / .1);color:rgb(var(--c-brand-600));
}
.fs-mb-anim .fs-mb-faq-chev{transition:transform .18s ease;}
.fs-mb-faq-item[data-open='true'] .fs-mb-faq-chev{transform:rotate(180deg);}
.fs-mb-faq-a{
  padding:0 22px 20px;font-weight:400;font-size:15px;line-height:1.65;color:rgb(var(--c-ink-700));
  max-width:70ch;
}
.fs-mb-faq-foot{
  display:flex;align-items:center;gap:10px;justify-content:center;margin-top:28px;
  font-weight:500;font-size:14px;color:rgb(var(--c-ink-400));flex-wrap:wrap;
}
.fs-mb-faq-foot a,.fs-mb-faq-foot span.fs-mb-link{font-weight:600;color:rgb(var(--c-brand-600));}

/* ── Stats row ────────────────────────────────────────────────── */
.fs-mb-stats{padding-top:80px;padding-bottom:0;}
.fs-mb-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.fs-mb-stat{
  background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));
  border-radius:18px;padding:26px 24px;display:flex;flex-direction:column;gap:8px;
}
.fs-mb-stat b{
  font-family:var(--font-display,inherit);font-weight:800;font-size:38px;line-height:1;
  color:rgb(var(--c-ink-950));font-variant-numeric:tabular-nums;
}
.fs-mb-stat > span{font-weight:500;font-size:13.5px;line-height:1.5;color:rgb(var(--c-ink-400));}

/* ── Timeline ─────────────────────────────────────────────────── */
.fs-mb-timeline{padding-top:96px;padding-bottom:96px;}
.fs-mb-ink-band .fs-mb-timeline{padding-top:88px;padding-bottom:88px;}
.fs-mb-tl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
/* A LEFT RULE, not a card. The export draws each entry as a 2.5px
   border-left with 22px of padding and no surface at all — grey for the
   seasons that have happened, accent for the current one, gold for the
   one being announced. Ported as a paper card with a rule across its
   top, which on this section's ink ground was a light card floating on
   a dark band: the design's opposite. */
.fs-mb-tl{
  border-left:2.5px solid var(--fs-mb-ink-line);padding:4px 0 4px 22px;
  display:flex;flex-direction:column;gap:8px;
}
.fs-mb-tl-now{border-left-color:var(--fs-mb-gold);}
.fs-mb-tl-when{font-weight:700;font-size:13px;line-height:1;color:var(--fs-mb-ink-accent);}
.fs-mb-tl-now .fs-mb-tl-when{color:var(--fs-mb-gold-lt);}
.fs-mb-tl-t{font-family:var(--font-display,inherit);font-weight:700;font-size:18px;line-height:1.3;color:var(--fs-mb-ink-head);}
.fs-mb-tl-b{font-weight:400;font-size:14px;line-height:1.6;color:var(--fs-mb-ink-mute);}
/* On PAPER, the same rule reads against the page's own ink instead. */
.fs-mb-timeline:not(.fs-mb-ink-band *) .fs-mb-tl-t{color:rgb(var(--c-ink-950));}
.fs-mb-timeline:not(.fs-mb-ink-band *) .fs-mb-tl-b{color:rgb(var(--c-ink-400));}
.fs-mb-timeline:not(.fs-mb-ink-band *) .fs-mb-tl{border-left-color:rgb(var(--c-line));}
.fs-mb-timeline:not(.fs-mb-ink-band *) .fs-mb-tl-when{color:rgb(var(--c-brand-600));}

/* ── Prose (two long columns under one heading) ────────────────
   Carries "A season in the room", "Before you write" and "What happens
   after you pay" — three sections in the export that are the same
   shape: an eyebrow, a heading, and two columns of real paragraphs. */
.fs-mb-prose{padding-top:96px;padding-bottom:0;}
.fs-mb-prose-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}
.fs-mb-prose-col{display:flex;flex-direction:column;gap:14px;}
.fs-mb-prose-lbl{font-weight:700;font-size:12px;line-height:1;letter-spacing:.12em;color:rgb(var(--c-brand-600));}
/* Each column's own heading — the export's third display step at 30px,
   not the shared 38px h2 the block used to put above both columns. */
.fs-mb-prose-h{
  margin:0;font-family:var(--font-display,inherit);font-weight:800;
  font-size:clamp(24px,2.4vw,30px);line-height:1.14;letter-spacing:-0.015em;
  color:rgb(var(--c-ink-950));text-wrap:balance;
}
.fs-mb-prose-p{margin:0;font-weight:400;font-size:15.5px;line-height:1.65;color:rgb(var(--c-ink-400));}

/* ── Checkout ─────────────────────────────────────────────────── */
/* TYPE FLOOR, as ledgered in this file's header: the export's 11,
   11.5 and 8px labels are raised to the platform's 12px minimum
   (npm run check:type-scale). Every OTHER number here is measured
   off the export, not chosen: 1080 wide,
   56/96 vertical, a FIXED 400px summary column (the first port used a
   1.35fr/.65fr proportional split, which is a different width at every
   viewport), 32px gutter, 18px card radius, 26px card padding. */
/* Checkout narrows to 1080 in the export — deliberately, to hold the
   eye on the form. It comes through the SAME variable (the theme's
   pageTemplates.checkout declares it), so the header narrows with it
   instead of the two disagreeing by 120px. */
.fs-mb-checkout{padding-top:56px;padding-bottom:96px;max-width:var(--fs-shell-max,1080px);}
.fs-mb-co-grid{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:32px;align-items:start;}
.fs-mb-co-step{
  background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));
  border-radius:18px;padding:26px;display:flex;flex-direction:column;gap:16px;
}
.fs-mb-co-steps{display:flex;flex-direction:column;gap:24px;}
.fs-mb-co-lbl{font-weight:700;font-size:12px;line-height:1;letter-spacing:.1em;color:rgb(var(--c-ink-400));}
.fs-mb-co-head{display:flex;align-items:center;gap:12px;}
.fs-mb-co-head .fs-mb-co-lbl{flex:1;}
/* Card marks — painted at the export's 38x24 so they carry no asset. */
.fs-mb-co-cards{display:flex;gap:6px;flex-shrink:0;}
.fs-mb-co-visa{
  width:38px;height:24px;border-radius:5px;background:var(--fs-mb-ink);color:var(--fs-mb-ink-head);
  display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:12px;line-height:1;letter-spacing:.06em;
}
.fs-mb-co-mc{
  width:38px;height:24px;border-radius:5px;background:rgb(var(--c-ink-950) / .06);
  display:flex;align-items:center;justify-content:center;
}
.fs-mb-co-mc i{width:11px;height:11px;border-radius:99px;opacity:.85;}
.fs-mb-co-mc i:first-child{background:var(--fs-mb-clay);margin-right:-5px;}
.fs-mb-co-mc i:last-child{background:var(--fs-mb-gold);}
.fs-mb-co-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.fs-mb-co-tier{
  border:1.5px solid rgb(var(--c-line));border-radius:14px;padding:14px;cursor:pointer;
  display:flex;flex-direction:column;gap:6px;background:rgb(var(--c-paper));
  align-items:center;text-align:center;font-family:inherit;
}
.fs-mb-co-tier[aria-pressed='true'],.fs-mb-co-tier[aria-current='true']{
  border-color:rgb(var(--c-brand-600));background:rgb(var(--c-brand-600) / .07);
}
.fs-mb-co-tier b{font-weight:700;font-size:12px;letter-spacing:.08em;color:rgb(var(--c-ink-700));}
.fs-mb-co-tier i{font-family:var(--font-display,inherit);font-weight:800;font-size:22px;font-style:normal;color:rgb(var(--c-ink-950));}
/* DIRECT CHILD ONLY. Without the child combinator this also matched the editable
   slot span that SectionRenderer renders INSIDE the price <i> — so the
   currency mark drew at the price's 22px and the number at this rule's
   12px, and every tier read as a huge "$" beside a tiny number. Any
   rule targeting a bare element inside a block has this trap: the
   editable slots are spans too. */
.fs-mb-co-tier > span{font-weight:500;font-size:12px;color:rgb(var(--c-ink-400));}
/* Billing toggle — a pill segment, the same control the pricing page
   uses, so the two pages agree about what annual costs. */
.fs-mb-co-bill{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.fs-mb-co-seg{display:flex;background:rgb(var(--c-ink-950) / .06);border-radius:99px;padding:4px;}
.fs-mb-co-seg-btn{
  font-family:inherit;font-weight:600;font-size:13px;line-height:1;
  border:none;background:none;cursor:pointer;border-radius:99px;padding:9px 16px;
  color:rgb(var(--c-ink-400));
}
.fs-mb-co-seg-btn[aria-pressed='true'],.fs-mb-co-seg-btn[aria-current='true']{
  background:rgb(var(--c-paper));color:rgb(var(--c-ink-950));
  box-shadow:0 1px 3px rgb(var(--c-ink-950) / .12);
}
.fs-mb-co-billnote{
  font-weight:700;font-size:12px;line-height:1;border-radius:99px;padding:8px 12px;
  color:var(--fs-mb-gold-text);background:var(--fs-mb-gold-hair);
}
.fs-mb-co-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.4fr);gap:14px;}
.fs-mb-co-fields.fs-mb-co-f2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
.fs-mb-co-field{display:flex;flex-direction:column;gap:7px;min-width:0;}
.fs-mb-co-field.fs-mb-co-wide{grid-column:1 / -1;}
.fs-mb-co-field > span{font-weight:600;font-size:12.5px;line-height:1;color:rgb(var(--c-ink-700));}
.fs-mb-co-field input{
  font-weight:500;font-size:14px;line-height:1;color:rgb(var(--c-ink-950));
  background:rgb(var(--c-paper));border:1.5px solid rgb(var(--c-line));
  border-radius:12px;padding:14px 15px;outline:none;font-family:inherit;min-width:0;
}
.fs-mb-co-field input:focus-visible{border-color:rgb(var(--c-brand-600));}
.fs-mb-tnum{font-variant-numeric:tabular-nums;}
.fs-mb-co-fine{font-weight:400;font-size:12.5px;line-height:1.5;color:rgb(var(--c-ink-400));text-align:center;}
.fs-mb-co-fine-left{text-align:left;}
.fs-mb-co-fine b{font-weight:600;color:rgb(var(--c-brand-600));}
/* "What happens after you pay" — a card in the left column, so it sits
   beside the summary at the design's own width. */
.fs-mb-co-next{gap:14px;}
.fs-mb-co-next-p{margin:0;font-weight:400;font-size:14.5px;line-height:1.65;color:rgb(var(--c-ink-400));}
.fs-mb-co-quote{
  display:flex;gap:12px;align-items:flex-start;
  background:rgb(var(--c-ink-950) / .04);border-radius:13px;padding:16px;
}
.fs-mb-co-quote-av{
  width:34px;height:34px;border-radius:99px;background:var(--fs-mb-clay);color:var(--fs-mb-ink-head);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;line-height:1;
}
.fs-mb-co-quote-t{display:block;font-weight:400;font-size:14px;line-height:1.6;color:rgb(var(--c-ink-700));}
.fs-mb-co-quote-a{display:block;margin-top:4px;font-weight:600;font-size:12px;line-height:1;color:rgb(var(--c-ink-400));}

/* ── Checkout: the summary column ─────────────────────────────── */
.fs-mb-co-side{position:sticky;top:24px;display:flex;flex-direction:column;gap:16px;}
/* AN INK CARD ON A LITERAL HEX, and deliberately not a palette
   variable: the export keeps this panel dark in light mode, so it is
   the design's constant rather than the theme's surface. The text
   colours inside it are literal for the same reason — they must hold
   against #17142B, not against whatever surface the palette resolves. */
.fs-mb-co-sum{
  background:var(--fs-mb-ink);border-radius:20px;padding:28px;
  display:flex;flex-direction:column;gap:18px;
}
.fs-mb-co-sum-lbl{font-weight:700;font-size:12px;line-height:1;letter-spacing:.1em;color:var(--fs-mb-ink-lbl);}
.fs-mb-co-sum-tier{display:flex;align-items:center;gap:12px;}
.fs-mb-co-sum-icon{
  width:44px;height:44px;border-radius:13px;background:var(--fs-mb-ink-tile);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;color:var(--fs-mb-ink-accent);
}
.fs-mb-co-sum-icon-gold{background:var(--fs-mb-gold-tint);color:var(--fs-mb-gold-lt);}
.fs-mb-co-sum-name{
  display:block;font-family:var(--font-display,inherit);
  font-weight:700;font-size:17px;line-height:1.2;color:var(--fs-mb-ink-head);
}
.fs-mb-co-sum-period{display:block;font-weight:400;font-size:12.5px;line-height:1.4;color:var(--fs-mb-ink-mute);}
.fs-mb-co-rule{height:1px;background:var(--fs-mb-ink-line);}
.fs-mb-co-rows{display:flex;flex-direction:column;gap:9px;}
.fs-mb-co-row{display:flex;align-items:baseline;gap:12px;font-weight:500;font-size:13.5px;line-height:1.4;color:var(--fs-mb-ink-mute);}
.fs-mb-co-row > span:last-child{margin-left:auto;color:var(--fs-mb-ink-head);}
.fs-mb-co-save{color:var(--fs-mb-ink-ok) !important;}
.fs-mb-co-total{display:flex;align-items:baseline;gap:12px;}
.fs-mb-co-total > span{font-weight:700;font-size:15px;line-height:1;color:var(--fs-mb-ink-head);}
.fs-mb-co-total b{
  margin-left:auto;font-family:var(--font-display,inherit);
  font-weight:800;font-size:30px;line-height:1;color:var(--fs-mb-ink-head);
}
.fs-mb-co-pay{
  font-family:inherit;font-weight:600;font-size:15.5px;line-height:1;text-align:center;
  color:var(--fs-on-brand);background:rgb(var(--c-brand-600));border:none;border-radius:13px;
  padding:17px;cursor:pointer;box-shadow:0 8px 20px rgb(var(--c-brand-600) / .35);
}
.fs-mb-co-pay:hover{background:rgb(var(--c-brand-700));}
.fs-mb-co-sum-fine{
  display:flex;align-items:center;justify-content:center;gap:7px;
  font-weight:400;font-size:12px;line-height:1.4;color:var(--fs-mb-ink-mute);text-align:center;
}
.fs-mb-co-sum-fine svg{width:12px;height:12px;flex-shrink:0;}
/* The unlocks are their own ordinary card below the ink one — 20/22
   padding and a 10px gap, not the step cards' 26/16. */
.fs-mb-co-unlocks{
  background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));
  border-radius:18px;padding:20px 22px;display:flex;flex-direction:column;gap:10px;
}
.fs-mb-co-foot{
  display:flex;gap:32px;flex-wrap:wrap;margin-top:40px;
  padding-top:26px;border-top:1px solid rgb(var(--c-line));
}
.fs-mb-co-foot-p{
  margin:0;flex:1;min-width:280px;
  font-weight:400;font-size:13px;line-height:1.6;color:rgb(var(--c-ink-400));
}
/* The export's own closing row, for a page that takes no site footer. */
.fs-mb-co-foot-bar{
  display:flex;align-items:center;gap:18px;flex-wrap:wrap;
  padding:14px 0 22px;font-weight:400;font-size:12.5px;line-height:1;
  color:rgb(var(--c-ink-400));
}
.fs-mb-co-foot-gap{flex:1;}
.fs-mb-co-foot-help{font-weight:500;}

/* ── Contact ──────────────────────────────────────────────────
   Every number measured off the export: a 1.15/0.85 grid at 24px, a
   36px form card at radius 20, a 28px ink aside card, and a THREE
   column trust row with no heading over it. */
.fs-mb-contact{padding-top:76px;padding-bottom:96px;}
.fs-mb-ct-head{display:flex;flex-direction:column;gap:14px;max-width:60ch;margin-bottom:44px;}
.fs-mb-ct-grid{display:grid;grid-template-columns:1.15fr 0.85fr;gap:24px;align-items:start;}
.fs-mb-ct-form{
  background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));
  border-radius:20px;padding:36px;display:flex;flex-direction:column;gap:20px;
}
.fs-mb-ct-field{display:flex;flex-direction:column;gap:7px;min-width:0;}
.fs-mb-ct-lbl{font-weight:600;font-size:12.5px;line-height:1;color:rgb(var(--c-ink-700));}
.fs-mb-ct-row2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.fs-mb-ct-form input,.fs-mb-ct-form textarea{
  font-family:inherit;font-weight:500;font-size:14px;color:rgb(var(--c-ink-950));
  background:rgb(var(--c-paper));border:1.5px solid rgb(var(--c-line));
  border-radius:12px;padding:14px 15px;outline:none;min-width:0;
}
.fs-mb-ct-form input{line-height:1;}
.fs-mb-ct-form textarea{line-height:1.55;resize:vertical;}
.fs-mb-ct-form input:focus-visible,.fs-mb-ct-form textarea:focus-visible{border-color:rgb(var(--c-brand-600));}
/* The topic chips are REAL buttons — the design's only interaction on
   this page, and the thing the sent-state message reads back. */
.fs-mb-ct-chips{display:flex;gap:8px;flex-wrap:wrap;}
.fs-mb-ct-chip{
  font-family:inherit;font-weight:600;font-size:13px;line-height:1;cursor:pointer;
  border:1.5px solid rgb(var(--c-line));border-radius:99px;padding:11px 16px;
  background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-400));min-height:44px;
}
.fs-mb-ct-chip[aria-pressed='true'],.fs-mb-ct-chip[aria-current='true']{
  border-color:rgb(var(--c-brand-600));background:rgb(var(--c-brand-600) / .10);color:rgb(var(--c-brand-700));
}
.fs-mb-ct-send{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.fs-mb-ct-btn{
  font-family:inherit;font-weight:600;font-size:15px;line-height:1;text-align:center;
  color:var(--fs-on-brand);background:rgb(var(--c-brand-600));border:none;
  border-radius:13px;padding:16px 28px;cursor:pointer;min-height:44px;
}
.fs-mb-ct-btn:hover{background:rgb(var(--c-brand-700));}
.fs-mb-ct-note{
  display:inline-flex;align-items:center;gap:7px;
  font-weight:500;font-size:13px;line-height:1;color:rgb(var(--c-ink-400));
}
.fs-mb-ct-note svg{color:var(--fs-mb-ok);flex:none;}
/* The sent state, which the design draws and the first port did not. */
.fs-mb-ct-sent{display:flex;flex-direction:column;align-items:center;gap:16px;padding:36px 20px;text-align:center;}
.fs-mb-ct-sent-tick{
  width:64px;height:64px;border-radius:99px;background:rgb(var(--c-ok-tint, 226 242 234));
  display:flex;align-items:center;justify-content:center;color:var(--fs-mb-ok);
}
.fs-mb-ct-sent-h{font-family:var(--font-display,inherit);font-weight:700;font-size:22px;line-height:1.25;color:rgb(var(--c-ink-950));}
.fs-mb-ct-sent-b{font-weight:400;font-size:14.5px;line-height:1.6;color:rgb(var(--c-ink-400));max-width:40ch;}
.fs-mb-ct-again{
  font-family:inherit;font-weight:600;font-size:13.5px;line-height:1;cursor:pointer;
  color:rgb(var(--c-brand-600));background:rgb(var(--c-brand-600) / .10);
  border:none;border-radius:11px;padding:12px 18px;min-height:44px;
}
/* ── The aside: THREE cards, THREE treatments ─────────────────
   Ink, then paper, then violet tint. The design ranks them by ground;
   three identical pillar cards threw that ranking away. */
.fs-mb-ct-aside{display:flex;flex-direction:column;gap:16px;}
.fs-mb-ct-lines{
  background:var(--fs-mb-ink);border-radius:20px;padding:28px;
  display:flex;flex-direction:column;gap:18px;
}
.fs-mb-ct-lines-lbl{font-weight:700;font-size:12px;line-height:1;letter-spacing:.12em;color:var(--fs-mb-ink-lbl);}
.fs-mb-ct-line{display:flex;gap:13px;align-items:flex-start;}
.fs-mb-ct-line-icon{
  width:38px;height:38px;border-radius:11px;background:var(--fs-mb-ink-tile);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;color:var(--fs-mb-ink-accent);
}
.fs-mb-ct-line-t{font-weight:600;font-size:14.5px;line-height:1.3;color:var(--fs-mb-ink-head);}
.fs-mb-ct-line-b{font-weight:400;font-size:12.5px;line-height:1.5;color:var(--fs-mb-ink-mute);}
.fs-mb-ct-card{
  background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));
  border-radius:20px;padding:24px 28px;display:flex;flex-direction:column;gap:12px;
}
.fs-mb-ct-card-lbl{font-weight:700;font-size:12px;line-height:1;letter-spacing:.12em;color:rgb(var(--c-ink-400));}
.fs-mb-ct-card-b{font-weight:400;font-size:14px;line-height:1.6;color:rgb(var(--c-ink-400));}
.fs-mb-ct-join{
  background:rgb(var(--c-brand-600) / .10);border-radius:20px;padding:24px 28px;
  display:flex;flex-direction:column;gap:10px;
}
.fs-mb-ct-join-h{font-family:var(--font-display,inherit);font-weight:700;font-size:16px;line-height:1.3;color:rgb(var(--c-ink-950));}
.fs-mb-ct-join-b{font-weight:400;font-size:13.5px;line-height:1.55;color:rgb(var(--c-ink-700));}
.fs-mb-ct-link{font-weight:600;font-size:13.5px;line-height:1;color:rgb(var(--c-brand-600));text-decoration:none;}
.fs-mb-ct-link:hover{text-decoration:underline;}
/* THREE columns and no heading — the export runs this as a plain trust
   row under the grid. Ported into a two-column prose block, its third
   column's copy was dropped without a trace. */
.fs-mb-ct-notes{margin-top:56px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.fs-mb-ct-note-col{display:flex;flex-direction:column;gap:9px;}
.fs-mb-ct-note-lbl{font-weight:700;font-size:12px;line-height:1;letter-spacing:.1em;color:rgb(var(--c-ink-400));}
.fs-mb-ct-note-p{margin:0;font-weight:400;font-size:14px;line-height:1.6;color:rgb(var(--c-ink-400));}

/* ── Legal ────────────────────────────────────────────────────
   The synthesized legal pages, in the theme's own card language. A
   centred 860px reading column — the export's own prose measure on the
   pricing page — with the text itself left-aligned. */
.fs-mb-legal{padding-top:76px;padding-bottom:96px;}
/* A page, not a plain document: the export has no legal pages at all to
   measure, so this reuses the CONTACT page's own proportions (1.15/0.85
   at 24px) rather than inventing a third ratio — the aside is exactly
   Contact's ink + paper card pair, unchanged, so nothing here needed
   its own CSS. */
.fs-mb-legal-grid{display:grid;grid-template-columns:1.15fr 0.85fr;gap:24px;align-items:start;}
.fs-mb-legal-col{display:flex;flex-direction:column;gap:36px;min-width:0;}
.fs-mb-legal-aside{display:flex;flex-direction:column;gap:16px;}
/* The "other legal pages" list, inside .fs-mb-ct-card (reused as-is). */
.fs-mb-legal-linklist{display:flex;flex-direction:column;gap:10px;}
.fs-mb-legal-head{display:flex;flex-direction:column;gap:14px;}
/* Its own display step, not .fs-mb-h1: legal pages have no
   pageTemplates entry, so --fs-h1 would fall through to the hero's
   60px, which is a marketing size on a document. */
.fs-mb-legal-h{
  margin:0;font-family:var(--font-display,inherit);font-weight:800;
  font-size:clamp(30px,4vw,40px);line-height:1.1;letter-spacing:-0.015em;
  color:rgb(var(--c-ink-950));text-wrap:balance;
}
/* The body card. Container styles only — the editable slot span inside
   inherits, so its type can never split from its parent's (the trap
   check:slots exists for). pre-line keeps the authored paragraph
   breaks; a policy is multi-paragraph prose typed into Site Settings. */
.fs-mb-legal-card{
  background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));
  border-radius:20px;padding:44px 48px;
  font-weight:400;font-size:15.5px;line-height:1.75;color:rgb(var(--c-ink-700));
  white-space:pre-line;overflow-wrap:break-word;
}
/* ── Episode ──────────────────────────────────────────────────── */
.fs-mb-episode{padding-top:28px;padding-bottom:92px;}
.fs-mb-ep-crumbs{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:18px;
  font-weight:500;font-size:12.5px;color:rgb(var(--c-ink-400));
}
.fs-mb-ep-grid{display:grid;grid-template-columns:1fr 340px;gap:28px;align-items:start;}
.fs-mb-ep-main{display:flex;flex-direction:column;gap:20px;min-width:0;}
.fs-mb-ep-stage{
  position:relative;border-radius:20px;overflow:hidden;background:var(--fs-mb-ink);
  aspect-ratio:16 / 9;display:flex;align-items:center;justify-content:center;
}
.fs-mb-ep-gate{
  position:absolute;inset:0;backdrop-filter:blur(10px);background:rgb(23 20 43 / .72);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;
  padding:32px;text-align:center;
}
.fs-mb-ep-gate b{font-family:var(--font-display,inherit);font-weight:700;font-size:20px;color:var(--fs-mb-ink-head);}
.fs-mb-ep-gate > span{font-weight:400;font-size:14px;line-height:1.6;color:var(--fs-mb-ink-mute);max-width:44ch;}
.fs-mb-ep-gate-btns{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:6px;}
.fs-mb-ep-times{
  position:absolute;left:0;right:0;bottom:0;padding:14px 18px;display:flex;align-items:center;gap:12px;
  font-weight:600;font-size:12px;color:var(--fs-mb-ink-head);
  background:linear-gradient(to top,rgb(23 20 43 / .85),transparent);
}
.fs-mb-ep-scrub{flex:1;height:4px;border-radius:99px;background:rgb(250 249 246 / .25);overflow:hidden;}
.fs-mb-ep-scrub span{display:block;height:100%;background:var(--fs-mb-gold-lt);}
.fs-mb-ep-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-weight:600;font-size:12px;letter-spacing:.06em;color:rgb(var(--c-ink-400));}
/* The breadcrumb row carries the export's member/guest switch. */
.fs-mb-ep-crumbrow{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px;}
.fs-mb-ep-view{
  font-family:inherit;font-weight:600;font-size:12.5px;line-height:1;cursor:pointer;
  color:rgb(var(--c-ink-400));background:none;border:1.5px solid rgb(var(--c-line));
  border-radius:99px;padding:9px 14px;margin-left:auto;min-height:44px;
}
.fs-mb-ep-view:hover{border-color:rgb(var(--c-ink-950));color:rgb(var(--c-ink-950));}
/* The play affordance the stage never had — 76px in the export, and
   only drawn when the episode is actually open to you. */
.fs-mb-ep-play{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:76px;height:76px;border-radius:99px;background:var(--fs-mb-ink);
  display:flex;align-items:center;justify-content:center;color:var(--fs-mb-ink-head);
  box-shadow:0 16px 48px rgb(11 9 26 / .5);
}
/* A locked chapter says so. */
.fs-mb-ep-chlock{display:inline-flex;align-items:center;color:rgb(var(--c-ink-400));margin-left:auto;}
.fs-mb-ep-chlock svg{width:13px;height:13px;}
/* The discussion composer — a member's way in, and the port had no
   markup for it. */
.fs-mb-ep-compose{display:flex;align-items:center;gap:12px;}
.fs-mb-ep-compose-f{
  flex:1;font-weight:500;font-size:13.5px;line-height:1;color:rgb(var(--c-ink-400));
  background:rgb(var(--c-paper));border:1.5px solid rgb(var(--c-line));
  border-radius:12px;padding:13px 15px;
}
/* The two action pills beside the byline. */
.fs-mb-ep-acts{display:flex;gap:8px;margin-left:auto;}
.fs-mb-ep-act{
  display:inline-flex;align-items:center;gap:6px;
  font-weight:600;font-size:13px;line-height:1;color:rgb(var(--c-ink-700));
  border:1.5px solid rgb(var(--c-line));border-radius:99px;padding:9px 13px;
}
/* PRIME′ FILES is a GOLD panel in the export, not a plain card — the
   files are the top tier's whole reason to exist. */
.fs-mb-ep-files{
  background:var(--fs-mb-gold-panel);border-color:var(--fs-mb-gold);border-width:1.5px;
}
.fs-mb-ep-dl{
  display:flex;align-items:center;justify-content:center;
  font-weight:600;font-size:13px;line-height:1;color:var(--fs-mb-gold-ink);
  background:linear-gradient(135deg,var(--fs-mb-gold-lt),var(--fs-mb-gold));
  border-radius:11px;padding:13px;min-height:44px;
}
/* WHAT UNLOCKS is the ink counterpart, with a real button. */
.fs-mb-ep-unlock{background:var(--fs-mb-ink);border-color:var(--fs-mb-ink-line);}
.fs-mb-ep-unlock .fs-mb-eyebrow{color:var(--fs-mb-ink-lbl);}
.fs-mb-ep-unlock .fs-mb-rail-body{color:var(--fs-mb-ink-mute);}
.fs-mb-ep-unlock-cta{
  display:flex;align-items:center;justify-content:center;text-decoration:none;
  font-weight:600;font-size:13.5px;line-height:1;color:var(--fs-on-brand);
  background:rgb(var(--c-brand-600));border-radius:11px;padding:13px;min-height:44px;
}
.fs-mb-ep-unlock-cta:hover{background:rgb(var(--c-brand-700));}
.fs-mb-ep-h1{
  margin:0;font-family:var(--font-display,inherit);font-weight:800;
  font-size:clamp(26px,3vw,var(--fs-h1,34px));line-height:1.15;letter-spacing:-.02em;color:rgb(var(--c-ink-950));
}
.fs-mb-ep-lede{margin:0;font-weight:400;font-size:16px;line-height:1.7;color:rgb(var(--c-ink-700));max-width:66ch;}
.fs-mb-ep-by{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.fs-mb-ep-card{
  background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));
  border-radius:18px;padding:22px 26px;display:flex;flex-direction:column;gap:14px;
}
.fs-mb-ep-chapters{display:flex;flex-direction:column;}
.fs-mb-ep-chapter{
  display:flex;align-items:center;gap:14px;padding:11px 0;border-top:1px solid rgb(var(--c-line));
  font-weight:500;font-size:14px;color:rgb(var(--c-ink-700));
}
.fs-mb-ep-chapter:first-of-type{border-top:0;}
.fs-mb-ep-chapter b{
  font-weight:700;font-size:12.5px;color:rgb(var(--c-brand-600));font-variant-numeric:tabular-nums;
  width:52px;flex-shrink:0;
}
.fs-mb-ep-note{display:flex;gap:12px;padding:14px 0;border-top:1px solid rgb(var(--c-line));}
.fs-mb-ep-note:first-of-type{border-top:0;}
.fs-mb-ep-note-b{display:flex;flex-direction:column;gap:5px;min-width:0;}
.fs-mb-ep-note-who{font-weight:600;font-size:13.5px;color:rgb(var(--c-ink-950));}
.fs-mb-ep-note-who i{font-weight:500;color:rgb(var(--c-ink-400));}
.fs-mb-ep-note-t{font-weight:400;font-size:14.5px;line-height:1.6;color:rgb(var(--c-ink-700));}
.fs-mb-ep-note-f{font-weight:600;font-size:12px;color:rgb(var(--c-ink-400));}
.fs-mb-ep-rail{display:flex;flex-direction:column;gap:16px;}
.fs-mb-ep-file{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid rgb(var(--c-line));}
.fs-mb-ep-file:first-of-type{border-top:0;}
.fs-mb-ep-file-b{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0;}
.fs-mb-ep-file-b b{font-weight:600;font-size:13.5px;color:rgb(var(--c-ink-950));}
.fs-mb-ep-file-b i{font-weight:500;font-size:12px;color:rgb(var(--c-ink-400));}
.fs-mb-ep-next{display:flex;gap:12px;padding:11px 0;border-top:1px solid rgb(var(--c-line));align-items:center;}
.fs-mb-ep-next:first-of-type{border-top:0;}
.fs-mb-ep-next-thumb{width:64px;height:40px;border-radius:8px;overflow:hidden;flex-shrink:0;background:rgb(var(--c-paper));}

/* ── Page head (a hero with ground: 'paper') ───────────────────
   The export's inner pages open with a heading on the ordinary page
   colour, not an ink band. Same type as the hero, without the plate. */
.fs-mb-pagehead{
  padding-top:72px;padding-bottom:8px;display:flex;flex-direction:column;gap:16px;align-items:flex-start;
}
.fs-mb-h1-paper{color:rgb(var(--c-ink-950));}
.fs-mb-lede-paper{color:rgb(var(--c-ink-400));max-width:60ch;}

/* ── Checkout: the welcome state ───────────────────────────────── */
.fs-mb-welcome{
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;
  padding:64px 24px;max-width:620px;margin:0 auto;
}
.fs-mb-welcome .fs-mb-lede-paper{text-align:center;}
.fs-mb-welcome-tick{
  width:64px;height:64px;border-radius:99px;display:flex;align-items:center;justify-content:center;
  background:rgb(var(--c-success,27 122 82) / .12);color:rgb(var(--c-success,27 122 82));
}
.fs-mb-quiet-link{
  background:none;border:0;cursor:pointer;font-family:inherit;
  font-weight:600;font-size:12.5px;color:rgb(var(--c-ink-400));text-decoration:underline;
}

/* ── More option-driven variants ───────────────────────────────
   Set from each block's design panel (block-options.ts). */
/* Compare: which column reads as "the one to pick" — a class per
   column rather than the fixed nth-child(3) the first pass used. */
.fs-mb-compare-hl-1 th:nth-child(2),.fs-mb-compare-hl-1 td:nth-child(2){background:rgb(var(--c-brand-600) / .06);}
.fs-mb-compare-hl-2 th:nth-child(3),.fs-mb-compare-hl-2 td:nth-child(3){background:rgb(var(--c-brand-600) / .06);}
.fs-mb-compare-hl-3 th:nth-child(4),.fs-mb-compare-hl-3 td:nth-child(4){background:rgb(var(--c-brand-600) / .06);}
/* Prose: a single stacked column instead of the export's default two. */
.fs-mb-prose-1col{grid-template-columns:1fr;max-width:70ch;}
/* Upsell: a brand-tinted ground as an alternative to the constant ink
   the export always uses. Text moves off the ink ramp onto the
   palette, since it is no longer sitting on the theme's fixed ink. */
.fs-mb-upsell-bar-brand{background:rgb(var(--c-brand-600) / .09);}
.fs-mb-upsell-bar-brand .fs-mb-upsell-h{color:rgb(var(--c-ink-950));}
.fs-mb-upsell-bar-brand .fs-mb-upsell-p{color:rgb(var(--c-ink-700));}
/* Episode: the gate scrim without the blur, for art that should stay
   legible behind it — same option Library already offers by the same
   name and default. */
.fs-mb-ep-gate-flat{backdrop-filter:none;}

/* ── Option-driven variants ───────────────────────────────────
   Set from the block's design panel (block-options.ts). They override
   the grid the design ships with, and the responsive ladder below still
   has the last word — a customer choosing "four across" does not get
   four across on a phone. */
.fs-mb-cols-2{grid-template-columns:repeat(2,1fr);}
.fs-mb-cols-3{grid-template-columns:repeat(3,1fr);}
.fs-mb-cols-4{grid-template-columns:repeat(4,1fr);}
/* The rail below the thread rather than beside it. */
.fs-mb-feed-stack{grid-template-columns:1fr;}
/* A lock without the blur: the scrim alone, for art that should stay
   readable behind it. */
.fs-mb-lock-flat{backdrop-filter:none;}

/* ── Media fills and placeholders ─────────────────────────
   The export's photo areas are drag-and-drop slots. An unfilled one
   draws a soft tint rather than nothing, so a card keeps its shape
   before the customer adds art. */
.fs-mb-fill{width:100%;height:100%;object-fit:cover;display:block;}
.fs-mb-ph{
  display:block;width:100%;height:100%;
  background:linear-gradient(135deg,rgb(var(--c-brand-600) / .14),rgb(var(--c-brand-600) / .05));
}
.fs-mb-live-pos{position:absolute;top:24px;left:14px;}
.fs-mb-attrib-name,.fs-mb-attrib-meta{display:block;}

/* ── Micro-animations ─────────────────────────────────────────
   Two, and only two — both declared in the theme's microAnimations so
   each gets its own Site Settings toggle. Nothing here hides content:
   the live dot only pulses, and the lift only deepens a shadow, so a
   browser that ignores them still shows a finished page. */
@keyframes fs-mb-pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.45;transform:scale(.82);}}
.fs-mb-live-dot{
  width:8px;height:8px;border-radius:99px;background:var(--fs-mb-gold-lt);
  animation:var(--fs-anim-mbPulse, fs-mb-pulse 1.6s ease-in-out infinite);
}
.fs-mb-live{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--fs-mb-ink-card);border:1px solid var(--fs-mb-ink-line);
  border-radius:99px;padding:9px 14px;
  font-weight:600;font-size:12px;line-height:1;color:var(--fs-mb-ink-head);
}

/* ── Responsive ───────────────────────────────────────────────
   Breakpoints are the export's own ladder: 1120 / 900 / 768 / 480. */
@media (max-width:1120px){
  .fs-mb-grid-4{grid-template-columns:repeat(2,1fr);}
  .fs-mb-lib-grid{grid-template-columns:repeat(3,1fr);}
  .fs-mb-feed-grid{grid-template-columns:1fr 300px;gap:20px;}
  .fs-mb-footer{grid-template-columns:1.4fr 1fr 1fr;row-gap:32px;}
  .fs-mb-stats-grid{grid-template-columns:repeat(2,1fr);}
  .fs-mb-badges{grid-template-columns:repeat(2,1fr);}
  .fs-mb-ep-grid{grid-template-columns:1fr 300px;gap:20px;}
  .fs-mb-co-grid{grid-template-columns:1fr;}
  .fs-mb-ct-grid{grid-template-columns:1fr;}
  /* The COLUMN is what sticks now, not the card inside it — sticking a
     child of a single-column grid pins it over the form below. */
  .fs-mb-co-side{position:static;}
}
@media (max-width:900px){
  .fs-mb-hero{grid-template-columns:1fr;gap:40px;padding-top:56px;padding-bottom:60px;}
  .fs-mb-stack{height:360px;}
  .fs-mb-plate{width:78%;height:340px;}
  .fs-mb-grid-3{grid-template-columns:1fr;}
  /* The tier grid stacks a step LATER than the other threes: three
     price columns still read side by side at 900 where three prose
     cards do not, and stacking them early buries Prime below the
     fold on exactly the page that exists to compare them. */
  .fs-mb-tier-grid{grid-template-columns:1fr;max-width:460px;margin:0 auto;}
  .fs-mb-lib-grid{grid-template-columns:repeat(2,1fr);}
  /* The rail moves BELOW the thread rather than narrowing further —
     a 340px ink card at tablet width would squeeze the thread it is
     meant to support. */
  .fs-mb-feed-grid{grid-template-columns:1fr;}
  .fs-mb-acct-cta{margin-left:0;}
  .fs-mb-acct-split{grid-template-columns:1fr;}
  .fs-mb-settings{grid-template-columns:1fr;}
  .fs-mb-cta-panel{grid-template-columns:1fr;gap:32px;padding:40px 32px;}
  .fs-mb-prose-grid{grid-template-columns:1fr;gap:28px;}
  .fs-mb-tl-grid{grid-template-columns:1fr;}
  .fs-mb-ep-grid{grid-template-columns:1fr;}
  .fs-mb-co-tiers{grid-template-columns:1fr;}
  .fs-mb-ct-notes{grid-template-columns:1fr;gap:28px;}
  /* Summary above the form below 900, which is what the export's own
     responsive layer does (order:-1 on the sticky column). */
  .fs-mb-co-side{order:-1;}
  .fs-mb-co-top{padding-left:20px;padding-right:20px;}
}
@media (max-width:768px){
  .fs-mb-sec{padding-left:20px;padding-right:20px;}
  .fs-mb-pagehead{padding-top:44px;}
  .fs-mb-episodes,.fs-mb-pillars{padding-top:56px;padding-bottom:56px;}
  .fs-mb-voices{padding-top:52px;padding-bottom:52px;}
  .fs-mb-tiers,.fs-mb-library,.fs-mb-feed{padding-top:56px;padding-bottom:56px;}
  .fs-mb-account{padding-top:44px;padding-bottom:56px;}
  .fs-mb-cta,.fs-mb-upsell{padding-bottom:56px;}
  .fs-mb-faq{padding-top:56px;padding-bottom:64px;}
  .fs-mb-stats,.fs-mb-prose,.fs-mb-compare{padding-top:56px;}
  .fs-mb-timeline{padding-top:56px;padding-bottom:56px;}
  .fs-mb-checkout,.fs-mb-episode{padding-bottom:56px;}
  .fs-mb-cta-panel{padding:32px 20px;}
  .fs-mb-upsell-bar{padding:28px 24px;}
  .fs-mb-footer{grid-template-columns:1fr 1fr;padding:44px 20px 0;gap:28px;}
  .fs-mb-fbar{padding:24px 20px 28px;margin-top:28px;}
  .fs-mb-tier{padding:26px 22px;}
}
@media (max-width:480px){
  .fs-mb-grid-4{grid-template-columns:1fr;}
  .fs-mb-lib-grid{grid-template-columns:1fr;}
  .fs-mb-stats-grid{grid-template-columns:1fr;}
  .fs-mb-badges{grid-template-columns:1fr;}
  .fs-mb-co-fields,.fs-mb-co-fields.fs-mb-co-f2{grid-template-columns:1fr;}
  .fs-mb-ct-row2{grid-template-columns:1fr;}
  .fs-mb-ct-form{padding:24px;}
  .fs-mb-legal-card{padding:26px 22px;}
  .fs-mb-legal{padding-top:56px;}
  .fs-mb-legal-grid{grid-template-columns:1fr;}
  .fs-mb-co-foot{gap:16px;}
  .fs-mb-news-row{flex-direction:column;}
  .fs-mb-footer{grid-template-columns:1fr;}
  .fs-mb-search{width:100%;}
  .fs-mb-saved-thumb{display:none;}
  .fs-mb-hero-ctas .fs-mb-btn{width:100%;}
  .fs-mb-stack{height:300px;}
}
@media (prefers-reduced-motion: reduce){
  .fs-mb *,.fs-mb *::before,.fs-mb *::after{animation:none !important;transition:none !important;}
}


/* ── Section shell ─────────────────────────────────────────────
   Vertical rhythm from the density dial, horizontal padding fluid so
   narrow screens keep their gutters without a breakpoint. */
[data-fs-block] {
  padding-block: var(--fs-space-section, clamp(3rem,7vw,5rem));
  padding-inline: clamp(1.25rem, 5vw, 3rem);
  position: relative;
}
/* Lift in-flow children above background layers — but NOT the absolutely
   positioned decoration (glows, scrims, accent edges) that many blocks
   layer behind their content. Blanket "position: relative" on every child
   would drag those into the flow and inflate the section: the CTA's two
   224px glow divs took it from ~435px to 884px, reading as a broken block
   with a huge empty band. */
[data-fs-block] > *:not([class*="absolute"]) { position: relative; }

/* Content column. 64rem suits prose and 2–3 card grids; "wide" is for
   4-up grids and galleries that genuinely need the room. */
[data-fs-block] [data-fs-inner], [data-fs-block] .fs-inner {
  margin-inline: auto;
  max-width: var(--fs-block-max, var(--fs-layout-max, 64rem));
  width: 100%;
}
[data-fs-block][data-width="wide"] { --fs-block-max: 80rem; }
[data-fs-block][data-width="narrow"] { --fs-block-max: 48rem; }
[data-fs-block][data-width="full"] { --fs-block-max: none; }

/* ── Alternating band ─────────────────────────────────────────
   A section that sets band: 'soft' is painted on the surface colour
   rather than the page colour, so a long page can alternate instead of
   running as one flat sheet. Nothing but a section that asks for it
   matches this rule, and the value comes from the section's own content
   rather than its type — the same block wants the band on one page and
   not on another. The wrapper sits OUTSIDE the section's padding box,
   so the band covers the whole section rather than just its content. */
[data-fs-band="soft"] { background: rgb(var(--c-paper-soft)); }
/* Two soft bands in a row read as one, so the second drops its top
   padding — theme-lab's [data-fs-bg='soft'] + [data-fs-bg='soft']. */
[data-fs-band="soft"] + [data-fs-band="soft"] > * { padding-block-start: 0; }

/* ── Heading cluster ───────────────────────────────────────────
   Eyebrow / heading / sub-heading as one unit. The gap BELOW the
   cluster is --fs-space-heading, the second-biggest lever on whether a
   section reads as modern (blocks currently sit at a uniform ~1rem). */
[data-fs-block] [data-fs-head], [data-fs-block] .fs-head {
  margin-block-end: var(--fs-space-heading, 2.25rem);
  display: flex;
  flex-direction: column;
  gap: var(--fs-space-stack, 0.75rem);
}
[data-fs-block][data-align="center"] [data-fs-head],
[data-fs-block][data-align="center"] .fs-head { text-align: center; align-items: center; }
[data-fs-block][data-align="center"] [data-fs-head] > *,
[data-fs-block][data-align="center"] .fs-head > * { margin-inline: auto; }

/* ── Two hooks for the same role: attribute or class ───────────
   Plain markup uses [data-fs-heading]. Editable text CANNOT: its props
   are a fixed list (no ...rest), so a data-* attribute passed to it is
   silently dropped — the conversion would compile, diff cleanly, and do
   nothing on screen. It DOES forward className, so every role also has a
   .fs-* class. Same rules, whichever hook the call site can use. */
[data-fs-block] [data-fs-eyebrow], [data-fs-block] .fs-eyebrow {
  font-size: var(--fs-type-eyebrow, 0.75rem);
  font-weight: var(--fs-type-eyebrow-weight, 600);
  letter-spacing: var(--fs-type-eyebrow-tracking, 0.08em);
  line-height: var(--fs-type-eyebrow-leading, 1.4);
  text-transform: uppercase;
  color: rgb(var(--c-brand-600) / 1);
}

/* The single highest-impact rule in this file: section headings move
   from a flat 24px to a fluid 28→40px. */
[data-fs-block] [data-fs-heading], [data-fs-block] .fs-heading {
  font-size: var(--fs-type-h2, 2.5rem);
  font-weight: var(--fs-type-h2-weight, 650);
  letter-spacing: var(--fs-type-h2-tracking, -0.015em);
  line-height: var(--fs-type-h2-leading, 1.2);
  color: rgb(var(--c-ink-950) / 1);
  text-wrap: balance;
}

[data-fs-block] [data-fs-sub], [data-fs-block] .fs-sub {
  font-size: var(--fs-type-body, 1.125rem);
  line-height: var(--fs-type-body-leading, 1.6);
  color: rgb(var(--c-ink-700) / 1);
  max-width: var(--fs-measure, 68ch);
  text-wrap: pretty;
}

/* Body copy inside a block: capped line length. Currently unbounded,
   which is the least readable thing the blocks do on a wide screen. */
[data-fs-block] [data-fs-prose], [data-fs-block] .fs-prose {
  font-size: var(--fs-type-body, 1.125rem);
  line-height: var(--fs-type-body-leading, 1.6);
  color: rgb(var(--c-ink-700) / 1);
  max-width: var(--fs-measure, 68ch);
  /* PARAGRAPH BREAKS SURVIVE. A body field is one string, and HTML
     collapses the blank lines an author typed between paragraphs — so
     a long body renders as one unbroken wall. Most visible on the legal
     pages, where the whole content is multi-paragraph prose typed into
     Site Settings, but it applies to any block whose body runs long.
     pre-line (not pre) keeps the line breaks and still collapses
     runs of spaces, so single-paragraph copy is completely unaffected. */
  white-space: pre-line;
}
[data-fs-block][data-align="center"] [data-fs-prose],
[data-fs-block][data-align="center"] [data-fs-sub],
[data-fs-block][data-align="center"] .fs-prose,
[data-fs-block][data-align="center"] .fs-sub { margin-inline: auto; }

[data-fs-block] [data-fs-card-title], [data-fs-block] .fs-card-title {
  font-size: var(--fs-type-h3, 1.5rem);
  font-weight: var(--fs-type-h3-weight, 600);
  letter-spacing: var(--fs-type-h3-tracking, -0.01em);
  line-height: var(--fs-type-h3-leading, 1.2);
  color: rgb(var(--c-ink-950) / 1);
}

/* ── Section shell ─────────────────────────────────────────────
   Blocks written after the design system landed still hardcoded their
   own py-* (the Publish, Client, Invoice and Form families arrived that
   way), which put the newest blocks in the library at the OLD density
   while everything around them had moved to the dial.

   One class, applied to the shell, so they follow --fs-space-section
   like the rest. The horizontal gutter is left alone: it varies per
   block for good reasons and is already fluid enough. */
.fs-section-shell {
  padding-block: var(--fs-space-section, clamp(3rem,7vw,5rem));
}

/* ── Standalone type classes ───────────────────────────────────
   The classes above are scoped to [data-fs-block], which is right for a
   converted block. Plenty of blocks are NOT converted — they have their
   own section wrappers that already work — but still want the type
   scale for their heading. These unscoped versions let a block adopt
   the scale by adding one class, without restructuring its markup.

   Lower specificity than the scoped rules on purpose, so a converted
   block's own chrome still wins. */
.fs-heading {
  font-size: var(--fs-type-h2, 2.5rem);
  font-weight: var(--fs-type-h2-weight, 650);
  letter-spacing: var(--fs-type-h2-tracking, -0.015em);
  line-height: var(--fs-type-h2-leading, 1.2);
  text-wrap: balance;
}
.fs-sub, .fs-prose {
  font-size: var(--fs-type-body, 1.125rem);
  line-height: var(--fs-type-body-leading, 1.6);
  max-width: var(--fs-measure, 68ch);
}
.fs-card-title {
  font-size: var(--fs-type-h3, 1.5rem);
  font-weight: var(--fs-type-h3-weight, 600);
  letter-spacing: var(--fs-type-h3-tracking, -0.01em);
  line-height: var(--fs-type-h3-leading, 1.2);
}
.fs-eyebrow {
  font-size: var(--fs-type-eyebrow, 0.75rem);
  font-weight: var(--fs-type-eyebrow-weight, 600);
  letter-spacing: var(--fs-type-eyebrow-tracking, 0.08em);
  text-transform: uppercase;
}

/* ── Showpiece section rhythm ──────────────────────────────────
   The Feature, Pricing, Stats, Team, Testimonials, Table and Alert
   blocks each emit a section wrapper class (.fs-feature-section and
   friends) that NOTHING styles — so they render edge to edge with no
   vertical rhythm, which is why their well-built cards read as a loose
   strip rather than a designed section.

   They keep their own internal layout; this only supplies the frame:
   section padding from the density dial and a content column. */
.fs-alert-section,
.fs-feature-section,
.fs-pricing-section,
.fs-stats-section,
.fs-table-section,
.fs-team-section,
.fs-testimonials-section {
  display: block;
  padding-block: var(--fs-space-section, clamp(3rem,7vw,5rem));
  padding-inline: clamp(1.25rem, 5vw, 3rem);
}
/* The inner column, so cards do not run the full width of a wide page. */
.fs-alert-section > *,
.fs-feature-section > *,
.fs-pricing-section > *,
.fs-stats-section > *,
.fs-table-section > *,
.fs-team-section > *,
.fs-testimonials-section > * {
  margin-inline: auto;
  max-width: var(--fs-block-max, var(--fs-layout-max, 64rem));
}

/* ── Integration family rhythm ─────────────────────────────────
   Every integration family tags its sections with an fs-<name>fast
   scope class (fs-eventfast, fs-schedulefast, …) and then hardcodes
   its own padding — px-4 py-10, py-12, py-14 depending on the block.
   The result is a library where near-identical sections sit at three
   different densities and none of them follow the theme's dial.

   The hardcoded py-* have been removed from those scope elements (64 of
   them), so this rule is now what supplies their vertical rhythm — and
   it follows the density dial like everything else.

   fs-reviewfast is NOT in this list: Review puts that class on its
   CARDS rather than its sections, so section padding would be wrong. */
.fs-eventfast, .fs-schedulefast, .fs-affiliatefast, .fs-supportfast,
.fs-seofast, .fs-searchfast, .fs-brochurefast,
.fs-chatfast, .fs-analyticsfast, .fs-corporatefast {
  padding-block: var(--fs-space-section, clamp(3rem,7vw,5rem));
  padding-inline: clamp(1.25rem, 5vw, 3rem);
}
/* NOTE: these sections can look left-stranded in a preview — a 3-column
   grid holding one demo item leaves two-thirds empty. That is correct
   behaviour with sparse data, not a layout fault: a real site with a
   full list fills the row. Deliberately NOT "fixed" by centring the
   tracks, which would misalign every properly-populated section. */

/* ── Section heading slot ──────────────────────────────────────
   Eight blocks (Feature, Pricing, Stats, Team, Testimonials, Table,
   Alert) render their section heading into a bare wrapper:

     {headingSlot && <div className="mb-5">{headingSlot}</div>}

   No font-size, no weight — so the heading fell back to the browser
   default and measured 17px, reading as a stray label above a set of
   well-built cards rather than as a section title. That single wrapper
   is most of why the showpiece blocks look weaker than their contents
   deserve. Styling it here fixes all eight at once, and the gap below
   follows the density dial instead of a hardcoded 20px.

   Scoped to .fs-head-slot rather than [data-fs-block] because these
   blocks are NOT chrome-converted — they keep their own section
   wrappers, which already work. */
.fs-head-slot {
  margin-block-end: var(--fs-space-heading, 2.25rem);
}
.fs-head-slot > * {
  font-size: var(--fs-type-h2, 2.5rem);
  font-weight: var(--fs-type-h2-weight, 650);
  letter-spacing: var(--fs-type-h2-tracking, -0.015em);
  line-height: var(--fs-type-h2-leading, 1.2);
  color: rgb(var(--c-ink-950) / 1);
  text-wrap: balance;
  display: block;
}
/* The testimonials intro sentence — body voice, NOT the h2 treatment
   the child selector above would otherwise hand it. Exists because a
   theme-authored description field on favTestimonials had no slot at
   all and the copy was silently dropped (2026-08-18 audit); the slot
   only renders when a theme actually authors the field. */
.fs-head-slot > .fs-testimonials-desc {
  font-size: var(--fs-type-body, 1rem);
  font-weight: 400;
  letter-spacing: normal;
  line-height: var(--fs-type-body-leading, 1.6);
  color: rgb(var(--c-ink-700));
  margin-block-start: .75rem;
  max-width: var(--fs-measure, 65ch);
}

/* ── Grid ──────────────────────────────────────────────────────
   A pure auto-fit grid picks its own column count from available width,
   which sounds ideal and is not: a 3-card row in a half-width pane fell
   to 2 + 1 orphan, where the hardcoded sm:grid-cols-3 it replaced had
   stayed clean. A block that says "three across" means it — the
   asymmetry reads as a layout bug, not as responsiveness.

   So: the block declares its intended count and that count is honoured
   from "md" up. Below that it collapses 1-up (and 4-up passes through
   2-up), which is the behaviour the old breakpoint classes had. */
[data-fs-block] [data-fs-grid], [data-fs-block] .fs-grid {
  display: grid;
  gap: var(--fs-space-gap, 1.1rem);
  grid-template-columns: 1fr;
}
/* Tiles (products, categories, photos) read better 2-up on a phone than
   stacked full-width — a product card does not need 100% of a 390px
   screen, and stacking six of them makes the section endless. */
[data-fs-block] [data-fs-grid][data-tiles],
[data-fs-block] .fs-grid[data-tiles] { grid-template-columns: repeat(2, 1fr); }
@media (min-width: 40rem) {
  [data-fs-block] [data-fs-grid][data-cols="4"],
  [data-fs-block] .fs-grid[data-cols="4"] { grid-template-columns: repeat(2, 1fr); }
}
/* A third column between 48rem and 56rem. Without it a four-up grid held
   two columns all the way to 56rem, so on a tablet or a small laptop each
   card was around 430px wide — and a card that wide makes a product image
   that tall, whatever ratio it is cropped to.
   THE UPPER BOUND IS LOAD-BEARING. This selector carries [data-cols="4"],
   so it is MORE specific than the 56rem rule below, which matches on
   [data-fs-grid] alone. Without a max-width it therefore beat that rule at
   every width above 48rem and pinned the grid at three columns forever —
   measured at 1400px: 3 columns, 415px cards, 310px-tall images, which is
   the very problem this was added to fix. */
@media (min-width: 48rem) and (max-width: 55.999rem) {
  [data-fs-block] [data-fs-grid][data-cols="4"],
  [data-fs-block] [data-fs-grid][data-tiles][data-cols="4"],
  [data-fs-block] .fs-grid[data-cols="4"] { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 56rem) {
  [data-fs-block] [data-fs-grid],
  /* [data-tiles] repeated on purpose. The base tiles rule above carries
     two attribute selectors and no media query, so it is MORE specific
     than this one and was silently winning at every width — every tiles
     grid, products included, was pinned at two columns however wide the
     screen. Measured before the fix: at 1400px, 2 columns, 631px cards,
     472px-tall images. That is the whole of "the shop images are too
     big"; the ratios were only ever half the story. */
  [data-fs-block] [data-fs-grid][data-tiles],
  [data-fs-block] .fs-grid { grid-template-columns: repeat(var(--fs-cols, 3), 1fr); }
  [data-fs-block] [data-fs-grid][data-cols="2"],
  [data-fs-block] .fs-grid[data-cols="2"] { --fs-cols: 2; }
  [data-fs-block] [data-fs-grid][data-cols="4"],
  [data-fs-block] .fs-grid[data-cols="4"] { --fs-cols: 4; }
}
/* Cards stretch to equal height so a short one never leaves a ragged
   row — the grid default is "stretch", but only if nothing overrides it. */
[data-fs-block] [data-fs-grid] > *,
[data-fs-block] .fs-grid > * { min-width: 0; }

/* ── Surfaces ──────────────────────────────────────────────────
   The genuinely missing piece: today every block invents its own card,
   which is why ~50 stylesheets drifted apart. Four named treatments,
   all inheriting the radius and density dials. */
[data-fs-block] [data-fs-surface], [data-fs-block] .fs-surface {
  border-radius: var(--fs-radius-card, 0.75rem);
  padding: var(--fs-panel-pad, var(--fs-space-card, 1.5rem));
  /* Effect first, treatment second. --fs-panel-* comes from the nearest
     .fs-effect-* ancestor (the canvas, or one section overriding it);
     --fs-surface-* is what the block's own treatment asked for. An effect
     that does not specify something leaves the treatment's value alone. */
  background: var(--fs-panel-bg, var(--fs-surface-bg, transparent));
  border: var(--fs-panel-border, var(--fs-surface-border, 0 solid transparent));
  box-shadow: var(--fs-panel-shadow, var(--fs-surface-shadow, none));
  backdrop-filter: var(--fs-panel-blur, var(--fs-surface-blur, none));
}
[data-fs-block] [data-fs-surface="plain"], [data-fs-block] .fs-surface-plain {
  --fs-surface-bg: transparent; --fs-surface-border: 0 solid transparent;
  --fs-surface-shadow: none; padding: 0;
}
[data-fs-block] [data-fs-surface="card"], [data-fs-block] .fs-surface-card {
  --fs-surface-bg: rgb(var(--c-paper) / 1);
  --fs-surface-border: 1px solid rgb(var(--c-line) / 1);
  --fs-surface-shadow: var(--fs-shadow-card, none);
}
[data-fs-block] [data-fs-surface="elevated"], [data-fs-block] .fs-surface-elevated {
  --fs-surface-bg: rgb(var(--c-paper) / 1);
  --fs-surface-border: 0 solid transparent;
  --fs-surface-shadow: var(--fs-shadow-lift, none);
}
/* The SOFT surface — the theme's lifted tone rather than its page tone.
   Added because six blocks were hand-rolling "border border-line
   bg-paper-soft" and there was no treatment for it: the vocabulary had
   card (paper) and elevated (paper + lift) but nothing for the secondary
   surface, so those panels had no choice but to hardcode. Values are
   copied from what they already rendered, so adopting it changes
   nothing — it just brings them under the theme and the Effects dial. */
[data-fs-block] [data-fs-surface="soft"], [data-fs-block] .fs-surface-soft {
  --fs-surface-bg: rgb(var(--c-paper-soft) / 1);
  --fs-surface-border: 1px solid rgb(var(--c-line) / 1);
  --fs-surface-shadow: none;
}
/* EMPTY STATE — a dashed outline saying "nothing here yet". Distinct
   from a card on purpose: the dash is the whole message, and a block
   with no content should not look like a populated one. Same soft fill,
   dashed border. */
[data-fs-block] [data-fs-surface="empty"], [data-fs-block] .fs-surface-empty {
  --fs-surface-bg: rgb(var(--c-paper-soft) / 1);
  --fs-surface-border: 1px dashed rgb(var(--c-line) / 1);
  --fs-surface-shadow: none;
}
[data-fs-block] [data-fs-surface="glass"], [data-fs-block] .fs-surface-glass {
  --fs-surface-bg: rgb(var(--c-paper) / 0.72);
  --fs-surface-border: 1px solid rgb(var(--c-line) / 0.6);
  --fs-surface-shadow: var(--fs-shadow-card, none);
  --fs-surface-blur: blur(12px) saturate(1.4);
}
/* No shadow, whatever the theme asked for. Sits AFTER the treatments
   above so it wins on order at equal specificity.
   It has to be a real class here: a surface's shadow comes from the theme
   (--fs-shadow-card via themeStyleVars), so removing Tailwind shadow-*
   utilities never reaches it, and a Tailwind arbitrary property like
   [--fs-surface-shadow:none] is one class (0,1,0) against these two-part
   selectors (0,2,0) — it loses. Measured: the arbitrary-property attempt
   left three shadowed elements on the trust bar.
   This is also the hook for a "card shadows" setting later. */
[data-fs-block] [data-fs-surface="flat"], [data-fs-block] .fs-surface-flat {
  --fs-surface-shadow: none;
}
/* Flush: a surface with no inner padding, for cards whose content goes
   edge to edge — a product card's image has to touch the card's corners.
   Needed as a class rather than a Tailwind p-0 because the padding is set
   on the two-part base selector above (0,2,0) and a single utility (0,1,0)
   loses to it. */
[data-fs-block] [data-fs-surface~="flush"], [data-fs-block] .fs-surface-flush {
  padding: 0;
}

/* ── Panel effects ─────────────────────────────────────────────
   Site Settings › Components › Effects sets the default; a single section
   can override it later without touching the rest of the page.

   DELIBERATELY BUILT ON CUSTOM PROPERTIES, not on competing selectors.
   The first version wrote one rule per effect —

     .fs-effect-soft [data-fs-block] .fs-surface { ... }

   — which works for a site-wide dial and falls apart the moment a SECTION
   wants its own. A section carrying the class would produce a selector of
   identical specificity to the site scope, leaving source order to decide
   which wins: fragile, and invisible when it goes wrong.

   Custom properties do not have that problem. An effect class sets four
   variables on whatever element carries it, and the nearest ancestor wins
   by definition. So:

     canvas   .fs-effect-soft   → whole site is soft
     section  .fs-effect-flat   → that section is flat, rest still soft

   with no specificity arithmetic and no ordering rules to remember. Adding
   the per-section UI later is then a matter of putting the class on the
   section wrapper — the cascade already does the work.

   Each variable falls back to the value the block's own TREATMENT asked
   for, so an effect only overrides what it actually specifies and a
   treatment keeps its own character otherwise. */
/* "Theme" sets nothing on purpose. Every --fs-panel-* stays unset, so the
   base rule falls through to the treatment and to the theme's own
   --fs-shadow-card. There is deliberately no .fs-effect-theme rule below;
   this comment is it. */

.fs-effect-flat {
  --fs-panel-shadow: none;
  /* Also neutralise the THEME's shadow tokens, not just the panel
     variable. shadow-card / shadow-lift are Tailwind aliases for
     var(--fs-shadow-card) / var(--fs-shadow-lift), and blocks use them on
     things that are not fs-surface panels — a floating nudge, a CTA, a
     pill. Killing only --fs-panel-shadow left those lit, so "Flat" looked
     like it had missed some elements.
     Scoped to the effect class, so it is the customer's choice doing this
     rather than the shadow scale being removed from the product: pick
     Theme, Soft or Raised and both tokens come straight back. */
  /* !important is REQUIRED here, not defensive. themeStyleVars writes
     --fs-shadow-card as an INLINE style on the very element that carries
     this class (EditWpClient puts both on the canvas wrapper), and an
     inline declaration beats a class rule. Without !important the theme's
     shadow won and "Flat" silently left 114 elements lit — measured, not
     assumed. */
  --fs-shadow-card: none !important;
  --fs-shadow-lift: none !important;
}
/* Soft and Raised carry CONCRETE values rather than deferring to
   --fs-shadow-card. Deferring looked tidier and was broken: on a theme
   whose shadow scale is flat, --fs-shadow-card is the string "none", and a
   var() fallback only fires when a property is UNSET, never when it is set
   to none. So picking "Soft shadow" on a flat theme silently did nothing
   and the dropdown looked dead. An explicit choice has to win over the
   theme — that is what makes it a choice. Deferring is what "Theme" is
   for. */
.fs-effect-soft {
  --fs-panel-shadow: 0 4px 16px -6px rgb(var(--c-ink-950) / .16);
}
.fs-effect-raised {
  --fs-panel-shadow: 0 10px 30px -8px rgb(var(--c-ink-950) / .34);
}
/* Outlined: no shadow, and a border that reads as a deliberate choice.
   1.5px was tried and computed back to 1px, making this identical to Flat
   — two options doing the same thing. */
.fs-effect-outline {
  --fs-panel-shadow: none;
  --fs-panel-border: 2px solid rgb(var(--c-ink-950) / 0.14);
}
.fs-effect-glass {
  --fs-panel-bg: rgb(var(--c-paper) / 0.72);
  --fs-panel-border: 1px solid rgb(var(--c-line) / 0.6);
  --fs-panel-shadow: 0 4px 16px -6px rgb(var(--c-ink-950) / .16);
  --fs-panel-blur: blur(12px) saturate(1.4);
}
/* No panel at all. Padding goes too, or every block keeps a card-shaped
   gap where the card used to be. */
.fs-effect-none {
  --fs-panel-bg: transparent;
  --fs-panel-border: 0 solid transparent;
  --fs-panel-shadow: none;
  --fs-panel-blur: none;
  --fs-panel-pad: 0;
}

/* ── Background layers ─────────────────────────────────────────
   Where Lumina's depth comes from. Restrained by default — "none" is
   the baseline and the rest are opt-in per block. */
[data-fs-block][data-bg-layer="soft"] { background: rgb(var(--c-paper-soft) / 1); }
[data-fs-block][data-bg-layer="gradient"] {
  background:
    linear-gradient(180deg, rgb(var(--c-paper) / 1) 0%, rgb(var(--c-paper-soft) / 1) 100%),
    radial-gradient(60% 80% at 50% 0%, rgb(var(--c-brand-600) / 0.06) 0%, transparent 70%);
}
[data-fs-block][data-bg-layer="spotlight"]::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(50% 60% at 50% 0%, rgb(var(--c-brand-600) / 0.14) 0%, transparent 70%);
}

/* ── Nested components (fluid-column 'block' items) ─────────────
   A catalogue component hosted inside a fluid column (LayoutBlock wraps
   it in .fs-nested-block) lives in a slot that is never wider than about
   half the content well, so a multi-column INNER grid squeezes its cards
   into unreadable slivers. Inside the wrapper, every inner grid stacks
   to one column instead: the chrome grid via its attribute, the
   remaining Tailwind-classed blocks (about's sm:grid-cols-2, gallery's
   grid-cols-3) via their literal class names — !important because both
   the chrome's own media queries and Tailwind's responsive classes
   otherwise win at desktop widths. The section shell's viewport-scale
   vertical padding is also compressed: a component is an item in a
   column here, not a full-page section, and ~5rem of breathing room
   inside a slot reads as a hole in the layout. */
.fs-nested-block [data-fs-grid],
.fs-nested-block .fs-grid,
.fs-nested-block .grid-cols-3,
.fs-nested-block .sm\:grid-cols-2,
.fs-nested-block .sm\:grid-cols-3 {
  grid-template-columns: 1fr !important;
}
.fs-nested-block .fs-section-shell,
.fs-nested-block section {
  padding-block: 1.25rem !important;
}

/* ── Motion ────────────────────────────────────────────────────
   Anyone who has asked the OS for less motion gets none of it. */
@media (prefers-reduced-motion: reduce) {
  [data-fs-block] * { animation: none !important; transition: none !important; }
}

/* Native Columns use the same page frame as other blocks. The grid responds
   to its actual available width, including when an editor panel narrows the
   canvas inside a large desktop window. These rules also serve published
   pages because the block chrome is emitted by the shared site shell. */
.fs-layout-columns { container: fs-columns / inline-size; }
.fs-layout-columns [data-fs-columns-grid] {
  display: grid;
  gap: var(--fs-column-gap, 1rem);
  grid-template-columns: repeat(var(--fs-column-count), minmax(0, 1fr));
}
.fs-layout-columns [data-fs-columns-grid][data-columns="2"] {
  grid-template-columns: minmax(0, var(--fs-column-left)) minmax(0, var(--fs-column-right));
}
.fs-layout-columns [data-fs-columns-grid] > * { min-width: 0; }
.fs-column-resizer {
  position: absolute; z-index: 6; inset-block: .75rem; right: -.75rem;
  width: 1.5rem; touch-action: none; cursor: col-resize;
  display: flex; align-items: center; justify-content: center;
  border: 0; background: transparent; padding: 0;
}
.fs-column-resizer span {
  display: block; width: .25rem; height: 2.25rem; border-radius: 999px;
  background: rgb(var(--c-ink-400) / .55); box-shadow: 0 0 0 3px rgb(var(--c-paper) / .9);
}
.fs-column-resizer:hover span, .fs-column-resizer:focus-visible span { background: rgb(var(--c-brand-600)); }
.fs-column-resizer:focus-visible { outline: 2px solid rgb(var(--c-brand-600)); outline-offset: 2px; }
@container fs-columns (max-width: 34rem) {
  .fs-layout-columns [data-fs-columns-grid],
  .fs-layout-columns [data-fs-columns-grid][data-columns="2"] { grid-template-columns: minmax(0, 1fr); }
  .fs-column-resizer { display: none; }
}
@container fs-columns (min-width: 34.001rem) and (max-width: 55rem) {
  .fs-layout-columns [data-fs-columns-grid][data-columns="3"],
  .fs-layout-columns [data-fs-columns-grid][data-columns="4"],
  .fs-layout-columns [data-fs-columns-grid][data-columns="5"],
  .fs-layout-columns [data-fs-columns-grid][data-columns="6"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* A page surface is stamped by the editor, published site and native
   preview. Boxed frames the entire page, including header and footer.
   Container size, rather than browser size, drives narrow composition:
   the 390px editor canvas can sit inside a 1440px desktop window. */
[data-fs-layout-surface] { container: fs-layout / inline-size; }
[data-fs-layout="boxed"]:not([data-fs-bg]) {
  display: flow-root;
  background-color: rgb(var(--c-paper-soft));
}
[data-fs-layout="boxed"][data-fs-layout-surface],
[data-fs-layout="boxed"] [data-fs-layout-surface] {
  width: min(74rem, calc(100% - clamp(1.5rem, 5vw, 4.5rem)));
  margin: clamp(0.75rem, 3vw, 2.25rem) auto;
  border: 1px solid rgb(var(--c-line));
  background: rgb(var(--c-paper));
  box-shadow: 0 18px 55px rgb(var(--c-ink-950) / .10);
}
@media (max-width: 42rem) {
  [data-fs-layout="boxed"][data-fs-layout-surface],
  [data-fs-layout="boxed"] [data-fs-layout-surface] {
    width: calc(100% - 1.5rem);
    margin-block: .75rem;
    box-shadow: none;
  }
}
/* Container width for theme stylesheets, which read
   var(--fs-layout-max, <their own value>). Inherited, so it reaches
   every nested container without naming a single theme's selectors. */
[data-fs-layout="full"] { --fs-layout-max: none; }
[data-fs-layout="boxed"] { --fs-layout-max: 58rem; }
[data-fs-layout="centered"] { --fs-layout-max: 52rem; }
[data-fs-layout="minimal"] { --fs-layout-max: 46rem; }
/* Narrowing-only clamp for sub-threshold containers — see NARROW_CLAMP. */
[data-fs-layout="boxed"] { --fs-layout-clamp: 58rem; }
[data-fs-layout="centered"] { --fs-layout-clamp: 52rem; }
[data-fs-layout="minimal"] { --fs-layout-clamp: 46rem; }

/* ── Site layout modes (site-layouts.ts) ───────────────────────
   Emitted AFTER block-chrome's data-width rules on purpose: the two
   sets have identical specificity, so source order is what makes a
   site-wide choice beat a per-block default. */
[data-fs-layout="full"] [data-fs-block] { --fs-block-max: none; }
[data-fs-layout="boxed"] [data-fs-block] { --fs-block-max: 58rem; }
[data-fs-layout="boxed"] [data-fs-block][data-width="wide"] { --fs-block-max: 70rem; }
[data-fs-layout="boxed"] [data-fs-block][data-width="narrow"] { --fs-block-max: 44rem; }
[data-fs-layout="boxed"] [data-fs-block][data-width="full"] { --fs-block-max: none; }
[data-fs-layout="centered"] [data-fs-block] { --fs-block-max: 52rem; }
[data-fs-layout="centered"] [data-fs-block][data-width="wide"] { --fs-block-max: 62rem; }
[data-fs-layout="centered"] [data-fs-block][data-width="narrow"] { --fs-block-max: 42rem; }
[data-fs-layout="centered"] [data-fs-block][data-width="full"] { --fs-block-max: none; }
[data-fs-layout="minimal"] [data-fs-block] { --fs-block-max: 46rem; }
[data-fs-layout="minimal"] [data-fs-block][data-width="wide"] { --fs-block-max: 56rem; }
[data-fs-layout="minimal"] [data-fs-block][data-width="narrow"] { --fs-block-max: 38rem; }
[data-fs-layout="minimal"] [data-fs-block][data-width="full"] { --fs-block-max: none; }

/* Structural grid choices for blocks that use the shared semantic chrome.
   Tiles keep their catalogue arrangement; prose and feature cards reflow.
   The theme layout is untouched. */
@media (min-width: 56rem) {
  [data-fs-layout="full"] [data-fs-block] :is([data-fs-grid], .fs-grid):not([data-tiles]) {
    --fs-cols: 4;
  }
  [data-fs-layout="boxed"] [data-fs-block] :is([data-fs-grid], .fs-grid):not([data-tiles]) {
    --fs-cols: 2;
  }
  [data-fs-layout="centered"] [data-fs-block] :is([data-fs-grid], .fs-grid):not([data-tiles]),
  [data-fs-layout="minimal"] [data-fs-block] :is([data-fs-grid], .fs-grid):not([data-tiles]) {
    grid-template-columns: minmax(0, 1fr);
  }
}
[data-fs-layout="full"] [data-fs-block] :is([data-fs-prose], .fs-prose, [data-fs-sub], .fs-sub) {
  max-width: 68ch;
}
[data-fs-layout="centered"] [data-fs-block] :is([data-fs-grid], .fs-grid):not([data-tiles]) {
  max-width: 50rem;
  margin-inline: auto;
}
[data-fs-layout="minimal"] [data-fs-block] :is([data-fs-grid], .fs-grid):not([data-tiles]) {
  gap: 0;
}
[data-fs-layout="minimal"] [data-fs-block] :is([data-fs-grid], .fs-grid):not([data-tiles]) > * {
  border: 0;
  border-top: 1px solid rgb(var(--c-line));
  border-radius: 0;
  box-shadow: none;
  background: transparent;
}
/* Every native section has this semantic wrapper, including older themes
   that do not use block chrome. Giving it a real box only in these two
   chosen modes makes the whole page follow the column, not just headings.
   Header and footer regions keep their authored full-width chrome. */
[data-fs-layout="centered"] [data-fs-blocktype][data-fs-region="page"] {
  display: block !important;
  width: min(100%,68rem);
  margin-inline: auto;
}
[data-fs-layout="minimal"] [data-fs-blocktype][data-fs-region="page"] {
  display: block !important;
  width: min(100%,70rem);
  margin-inline: auto;
}
@container fs-layout (max-width: 48rem) {
  [data-fs-layout]:not([data-fs-layout="theme"]) [data-fs-block] :is([data-fs-grid], .fs-grid):not([data-tiles]) {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* ── Mega panels follow the measure ────────────────────────────
   A drop-down is header chrome, so it takes the header's width rather
   than the content column's — right until the site is put into a
   NARROWING layout. Measured on RealtyWave: content 1180 -> 928 ->
   832 -> 736 across theme/boxed/centered/minimal, while its full-bleed
   menu stayed 1425 in all four. A menu nearly twice the width of the
   page it belongs to is not a narrower version of the design, it is a
   different one.

   --fs-layout-clamp rather than --fs-layout-max, deliberately: the
   clamp is the NARROWING-ONLY variable (it is unset for theme, full
   and heroEdge), so this can shrink an over-wide panel and
   can never stretch a deliberately compact one. Every mega style sets
   its own width inline between 560px and 660px, all of which sit under
   the narrowest clamp (46rem = 736px), so the fixed-width panels the
   other 43 themes ship are untouched by construction.

   max-width alone, no margin: a panel centred with
   left:50% + translateX(-50%) translates by its USED width,
   so it stays centred as it shrinks. A panel STRETCHED across its
   container (left:0; right:0; width:auto) needs margin-inline:auto
   to re-centre, which is the stretching theme's own business — see
   realtywave-styles.ts, the first theme to do it. */
[data-fs-layout] .fs-hdr-drop.fsdrop-mega {
  max-width: var(--fs-layout-clamp, none);
}

/* Centred: heading clusters centre as well as narrow, or the mode
   reads as nothing more than "slightly narrower". */
[data-fs-layout="centered"] [data-fs-block] [data-fs-head],
[data-fs-layout="centered"] [data-fs-block] .fs-head { text-align: center; align-items: center; }
[data-fs-layout="centered"] [data-fs-block] [data-fs-head] > *,
[data-fs-layout="centered"] [data-fs-block] .fs-head > * { margin-inline: auto; }

/* Minimalist: more air above and below, and the alternating band is
   dropped so a long page reads as one quiet sheet. */
[data-fs-layout="minimal"] [data-fs-block] {
  padding-block: calc(var(--fs-space-section, clamp(3rem,7vw,5rem)) * 1.35);
}
[data-fs-layout="minimal"] [data-fs-band="soft"] { background: transparent; }

/* Edge-to-edge hero: matched on the data-fs-blocktype wrapper
   SectionRenderer already puts around every section, so it works
   identically on all three surfaces.

   Matched by NAME, not position. ":first-of-type" was the obvious
   reading of "the first section" and was wrong: in the editor every
   section sits in its own wrapper, so each blocktype div is the first
   of its type within ITS OWN parent and the rule matched all of them —
   measured as heroEdge releasing every container exactly like
   Full-Width. Naming is what actually distinguishes a hero, and every
   theme's hero block is named for it (hero, favJobHero, favOrielHero…). */
[data-fs-layout="heroEdge"] [data-fs-first] [data-fs-block],
[data-fs-layout="heroEdge"] [data-fs-blocktype*="hero" i] [data-fs-block] {
  --fs-block-max: none;
  padding-inline: 0;
}
/* …and the same for themes that never opted into block-chrome: setting
   the inherited variable on the hero's wrapper widens whichever
   container that theme happens to use. */
[data-fs-layout="heroEdge"] [data-fs-first],
[data-fs-layout="heroEdge"] [data-fs-blocktype*="hero" i] { --fs-layout-max: none; }
/* The variable only reaches containers wide enough to have been
   migrated (>= 56rem / 896px). Measured on HomeSphere, whose hero
   container is 760px: the variable arrived correctly and did nothing,
   because that literal was below the threshold and never became a
   var() in the first place. Heroes are the one place a sub-threshold
   container is still the section's container rather than a prose
   measure, and every theme names it the same way
   (fs-ar-hero-inner, fs-bd-hero-inner, fs-cr-hero-inner …), so this
   releases it by that convention. Scoped to heroEdge and to hero
   blocks, so it can affect nothing else. */
[data-fs-layout="heroEdge"] [data-fs-first] [class*="hero-inner" i],
[data-fs-layout="heroEdge"] [data-fs-blocktype*="hero" i] [class*="hero-inner" i] { max-width: none; }

/* Centred: reach real heading ELEMENTS, not just the shared heading
   markup. Only a minority of themes use [data-fs-head], so the rule
   above centres nothing on the rest — measured on HomeSphere, which has
   zero of them. h1/h2/h3 inside a section is the same intent expressed
   in markup every theme does emit.
   KNOWN COST, accepted deliberately: a theme that sets a heading beside
   an image in a split layout will centre that heading too. Scoped to
   this one layout, so it is only ever seen by someone who asked for
   "Centered". */
[data-fs-layout="centered"] [data-fs-blocktype] :is(h1, h2, h3) { text-align: center; }
/* Most of the older themes express their opening split through a named
   hero grid. A centered or minimal page stacks its real copy and art
   nodes, while authored theme layouts keep their original split. */
[data-fs-layout="centered"] [data-fs-blocktype*="hero" i] :is([class*="hero-inner" i], [class*="hero-grid" i]),
[data-fs-layout="minimal"] [data-fs-blocktype*="hero" i] :is([class*="hero-inner" i], [class*="hero-grid" i]) {
  grid-template-columns: minmax(0,1fr);
  justify-items: center;
}
[data-fs-layout="centered"] [data-fs-blocktype*="hero" i] :is([class*="hero-inner" i], [class*="hero-grid" i]) > *,
[data-fs-layout="minimal"] [data-fs-blocktype*="hero" i] :is([class*="hero-inner" i], [class*="hero-grid" i]) > * {
  grid-column: 1;
  width: min(100%, 52rem);
  margin-inline: auto;
}
[data-fs-layout="minimal"] [data-fs-blocktype*="hero" i] :is([class*="hero-inner" i], [class*="hero-grid" i]) > * {
  width: min(100%, 46rem);
}

/* Bespoke openings whose authored containers do not read the shared
   measure variable. These rules affect only the chosen layout and keep
   each theme's original composition untouched. */
@container fs-layout (min-width: 56rem) {
  [data-fs-theme="beneath-starlight-coming"][data-fs-layout="full"] .fs-bts-main {
    max-width: none;
    padding-inline: clamp(3rem, 8vw, 9rem);
  }
  [data-fs-theme="beneath-starlight-coming"][data-fs-layout="full"] .fs-bts-h1 {
    font-size: clamp(5rem, 7vw, 8rem);
  }
  [data-fs-theme="beneath-starlight-coming"][data-fs-layout="full"] .fs-bts-artwork {
    height: clamp(20rem, 52vh, 34rem);
    width: min(100%, 36rem);
  }
  [data-fs-theme="beneath-starlight-coming"][data-fs-layout="centered"] .fs-bts-main {
    max-width: 42rem;
  }
  [data-fs-theme="beneath-starlight-coming"][data-fs-layout="centered"] .fs-bts-artwork {
    width: min(100%, 20rem);
  }
  [data-fs-theme="beneath-starlight-coming"][data-fs-layout="minimal"] .fs-bts-stars-layer {
    display: none;
  }
  [data-fs-theme="beneath-starlight-coming"][data-fs-layout="minimal"] .fs-bts-main {
    max-width: 40rem;
  }
  [data-fs-theme="beneath-starlight-coming"][data-fs-layout="minimal"] .fs-bts-h1 {
    font-size: clamp(3rem, 5vw, 4.25rem);
    text-shadow: none;
  }
  [data-fs-theme="beneath-starlight-coming"][data-fs-layout="minimal"] .fs-bts-artwork {
    width: min(100%, 16rem);
    height: 17rem;
  }
  [data-fs-theme="beneath-starlight-coming"][data-fs-layout="heroEdge"] .fs-bts-main {
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    width: 100%;
    max-width: none;
    min-height: calc(100dvh - 7rem);
    padding: clamp(3rem, 7vw, 8rem);
    text-align: left;
  }
  [data-fs-theme="beneath-starlight-coming"][data-fs-layout="heroEdge"] .fs-bts-main > :not(.fs-bts-artwork) {
    position: relative;
    z-index: 1;
    max-width: 48%;
  }
  [data-fs-theme="beneath-starlight-coming"][data-fs-layout="heroEdge"] .fs-bts-artwork {
    position: absolute;
    inset: 0 0 0 auto;
    width: 58%;
    height: 100%;
    margin: 0;
    z-index: -1;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 28%);
    mask-image: linear-gradient(90deg, transparent, #000 28%);
  }
  [data-fs-layout="full"] [data-fs-blocktype="favMoonlitHero"] .ml-hero-content {
    width: min(100%, 72rem);
    max-width: none;
  }
  [data-fs-layout="full"] [data-fs-blocktype="favMoonlitHero"] .ml-title {
    font-size: clamp(4.5rem, 9cqi, 8rem);
  }
  [data-fs-layout="heroEdge"] [data-fs-blocktype="favMoonlitHero"] .ml-hero {
    place-items: center start;
  }
  [data-fs-layout="heroEdge"] [data-fs-blocktype="favMoonlitHero"] .ml-hero-content {
    width: min(60%, 52rem);
    max-width: none;
    padding-left: clamp(3rem, 7vw, 8rem);
    text-align: left;
  }
  [data-fs-layout="heroEdge"] [data-fs-blocktype="favMoonlitHero"] :is(.ml-prefix, .ml-hero .ml-actions) {
    justify-content: flex-start;
  }
  [data-fs-layout="heroEdge"] [data-fs-blocktype="favMoonlitHero"] .ml-description {
    margin-left: 0;
  }
  [data-fs-theme="paper-pickle"][data-fs-layout="full"] .pp {
    max-width: none;
    --shell: none;
  }
  [data-fs-theme="paper-pickle"][data-fs-layout="heroEdge"] .pp {
    max-width: none;
  }
  [data-fs-layout="heroEdge"] [data-fs-blocktype="favPpHomeHero"] .pp .hero.wrap {
    max-width: none;
    grid-template-columns: minmax(0, 42%) minmax(0, 58%);
    gap: 0;
    padding-right: 0;
  }
  [data-fs-layout="full"] [data-fs-blocktype="favMbHero"] .fs-mb-hero {
    max-width: none;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(2rem, 5vw, 6rem);
  }
  [data-fs-theme="harbour"][data-fs-layout="full"] .fs-rc .hero {
    padding-inline: 2%;
    column-gap: 2%;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  }
  [data-fs-theme="harbour"][data-fs-layout="heroEdge"] .fs-rc .hero {
    padding-inline: 0;
    column-gap: 0;
    grid-template-columns: minmax(0, 43%) minmax(0, 57%);
    background: var(--sky);
  }
  [data-fs-theme="harbour"][data-fs-layout="heroEdge"] .fs-rc .hero-copy {
    margin-left: 10%;
    padding: 2rem;
    background: var(--paper);
    z-index: 1;
  }
  [data-fs-theme="harbour"][data-fs-layout="heroEdge"] .fs-rc .art-panel {
    align-self: stretch;
    width: 100%;
  }
  [data-fs-theme="harbour"][data-fs-layout="heroEdge"] .fs-rc .harbour-art {
    height: 100%;
    min-height: 32rem;
  }
  [data-fs-theme="harbour"][data-fs-layout="heroEdge"] .fs-rc .planner {
    margin-inline: 5%;
  }
  [data-fs-theme="shoe-shop"][data-fs-layout="heroEdge"] .ss-hero {
    grid-template-columns: minmax(0, 40%) minmax(0, 60%);
  }
}

[data-fs-btn-style="solid"] .fs-cta{border-radius:var(--fs-radius-button, 8px);border-width:0px;}
[data-fs-btn-style="pill"] .fs-cta{border-radius:9999px;border-width:0px;}
[data-fs-btn-style="square"] .fs-cta{border-radius:0px;border-width:0px;}
[data-fs-btn-style="outline"] .fs-cta{border-radius:var(--fs-radius-button, 8px);border-width:2px;}
[data-fs-btn-style="soft"] .fs-cta{border-radius:var(--fs-radius-button, 8px);border-width:0px;}
[data-fs-btn-style="raised"] .fs-cta{border-radius:var(--fs-radius-button, 8px);border-width:0px;}
[data-fs-btn-style="gradient"] .fs-cta{border-radius:var(--fs-radius-button, 8px);border-width:0px;}
[data-fs-btn-style="underline"] .fs-cta{border-radius:0px;border-width:0px;}
[data-fs-btn-style="pillOutline"] .fs-cta{border-radius:9999px;border-width:2px;}
[data-fs-btn-style="doubleBorder"] .fs-cta{border-radius:var(--fs-radius-button, 8px);border-width:4px;}
[data-fs-btn-style="ghost"] .fs-cta{border-radius:var(--fs-radius-button, 8px);border-width:2px;}
[data-fs-btn-style="shadowSoft"] .fs-cta{border-radius:var(--fs-radius-button, 8px);border-width:0px;}
[data-fs-btn-style="sharpOutline"] .fs-cta{border-radius:0px;border-width:2px;}
[data-fs-btn-style="gradientPill"] .fs-cta{border-radius:9999px;border-width:0px;}
[data-fs-btn-style="blockShadow"] .fs-cta{border-radius:var(--fs-radius-button, 8px);border-width:0px;}
[data-fs-btn-style="glow"] .fs-cta{border-radius:var(--fs-radius-button, 8px);border-width:0px;}
[data-fs-btn-style="push"] .fs-cta{border-radius:var(--fs-radius-button, 8px);}
[data-fs-btn-style="slanted"] .fs-cta{border-radius:0px;border-width:0px;}
[data-fs-btn-style="dashed"] .fs-cta{border-radius:var(--fs-radius-button, 8px);border-width:2px;border-style:dashed;}
[data-fs-btn-style="glass"] .fs-cta{border-radius:var(--fs-radius-button, 8px);backdrop-filter:blur(4px);}

input[type="radio"]:not([data-fs-no-modern-controls] input[type="radio"]),
input[type="checkbox"]:not([data-fs-no-modern-controls] input[type="checkbox"]) {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 18px;
  height: 18px;
  margin: 0;
  padding: 0;
  border: 2px solid var(--fs-line, #e4e4e7);
  background-color: var(--fs-paper, #ffffff);
  cursor: pointer;
  transition:
    background-color 160ms cubic-bezier(0.2, 0.9, 0.2, 1),
    border-color 160ms cubic-bezier(0.2, 0.9, 0.2, 1),
    box-shadow 160ms cubic-bezier(0.2, 0.9, 0.2, 1),
    transform 120ms cubic-bezier(0.2, 0.9, 0.2, 1);
  position: relative;
  flex-shrink: 0;
  vertical-align: middle;
}

input[type="radio"]:not([data-fs-no-modern-controls] input[type="radio"]) {
  border-radius: 50%;
}
input[type="checkbox"]:not([data-fs-no-modern-controls] input[type="checkbox"]) {
  border-radius: 6px;
}

/* Hover — soft brand-tint on the border, faint background lift. */
input[type="radio"]:not(:disabled):hover:not([data-fs-no-modern-controls] input[type="radio"]),
input[type="checkbox"]:not(:disabled):hover:not([data-fs-no-modern-controls] input[type="checkbox"]) {
  border-color: var(--fs-brand-400, #a78bfa);
}

/* Focus — 2px brand outline with offset for clear visibility. */
input[type="radio"]:focus-visible:not([data-fs-no-modern-controls] input[type="radio"]),
input[type="checkbox"]:focus-visible:not([data-fs-no-modern-controls] input[type="checkbox"]) {
  outline: 2px solid var(--fs-brand-400, #a78bfa);
  outline-offset: 2px;
}

/* Checked — brand-purple fill (checkbox) or inner dot (radio). */
input[type="radio"]:checked:not([data-fs-no-modern-controls] input[type="radio"]) {
  border-color: var(--fs-brand-600, #6d28d9);
  background-color: var(--fs-paper, #ffffff);
}
input[type="radio"]:checked:not([data-fs-no-modern-controls] input[type="radio"])::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--fs-brand-600, #6d28d9);
  animation: fs-radio-pop 180ms cubic-bezier(0.2, 0.9, 0.2, 1);
}
input[type="checkbox"]:checked:not([data-fs-no-modern-controls] input[type="checkbox"]) {
  border-color: var(--fs-brand-600, #6d28d9);
  background-color: var(--fs-brand-600, #6d28d9);
}
input[type="checkbox"]:checked:not([data-fs-no-modern-controls] input[type="checkbox"])::after {
  content: '';
  position: absolute;
  top: 45%;
  left: 50%;
  transform: translate(-50%, -55%) rotate(45deg);
  width: 5px;
  height: 9px;
  border: solid #ffffff;
  border-width: 0 2px 2px 0;
  animation: fs-check-pop 180ms cubic-bezier(0.2, 0.9, 0.2, 1);
}

/* Disabled — muted, no pointer. */
input[type="radio"]:disabled:not([data-fs-no-modern-controls] input[type="radio"]),
input[type="checkbox"]:disabled:not([data-fs-no-modern-controls] input[type="checkbox"]) {
  opacity: 0.4;
  cursor: not-allowed;
}

/* Indeterminate checkbox — a horizontal bar instead of a tick. */
input[type="checkbox"]:indeterminate:not([data-fs-no-modern-controls] input[type="checkbox"]) {
  border-color: var(--fs-brand-600, #6d28d9);
  background-color: var(--fs-brand-600, #6d28d9);
}
input[type="checkbox"]:indeterminate:not([data-fs-no-modern-controls] input[type="checkbox"])::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 8px;
  height: 2px;
  background-color: #ffffff;
  border-radius: 1px;
}

/* ── Dark mode overrides ──────────────────────────────────
   The editor uses .dark on <html> to switch palettes. Give controls a
   slightly translucent fill so they read against dark surfaces, and a
   softer border. Checked states keep the brand-purple accent for
   consistency — brand colour survives the mode change. */
.dark input[type="radio"]:not([data-fs-no-modern-controls] input[type="radio"]),
.dark input[type="checkbox"]:not([data-fs-no-modern-controls] input[type="checkbox"]) {
  background-color: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.22);
}
.dark input[type="radio"]:not(:disabled):hover:not([data-fs-no-modern-controls] input[type="radio"]),
.dark input[type="checkbox"]:not(:disabled):hover:not([data-fs-no-modern-controls] input[type="checkbox"]) {
  border-color: var(--fs-brand-400, #a78bfa);
}
.dark input[type="radio"]:checked:not([data-fs-no-modern-controls] input[type="radio"]) {
  background-color: rgba(255, 255, 255, 0.06);
  border-color: var(--fs-brand-400, #a78bfa);
}
.dark input[type="radio"]:checked:not([data-fs-no-modern-controls] input[type="radio"])::after {
  background-color: var(--fs-brand-400, #a78bfa);
}
.dark input[type="checkbox"]:checked:not([data-fs-no-modern-controls] input[type="checkbox"]) {
  background-color: var(--fs-brand-600, #6d28d9);
  border-color: var(--fs-brand-600, #6d28d9);
}

@keyframes fs-radio-pop {
  0%   { transform: translate(-50%, -50%) scale(0.4); opacity: 0; }
  100% { transform: translate(-50%, -50%) scale(1); opacity: 1; }
}
@keyframes fs-check-pop {
  0%   { transform: translate(-50%, -55%) rotate(45deg) scale(0.4); opacity: 0; }
  100% { transform: translate(-50%, -55%) rotate(45deg) scale(1); opacity: 1; }
}


[data-fs-feature] {
  --fs-ft-heading: rgb(var(--c-ink-950, 15 14 23));
  --fs-ft-body: rgb(var(--c-ink-700, 82 82 91));
  --fs-ft-border: rgb(var(--c-line, 228 228 231));
  --fs-ft-card-bg: rgb(var(--c-paper-soft, 255 255 255));
  --fs-ft-accent: rgb(var(--c-brand-600, 109 40 217));
  --fs-ft-accent-text: rgb(var(--c-paper-soft, 255 255 255));
  --fs-ft-radius: var(--fs-radius-card, 14px);
  --fs-ft-heading-font: inherit;
  --fs-ft-body-font: inherit;
  width: 100%;
}

/* ── Grid of items ──────────────────────────────────────────────── */
[data-fs-feature] [data-fs-ft-grid] {
  display: grid;
  gap: var(--fs-space-gap, 22px);
  align-items: start;
}
[data-fs-feature][data-cols="1"] [data-fs-ft-grid] { grid-template-columns: minmax(0, 1fr); }
[data-fs-feature][data-cols="2"] [data-fs-ft-grid] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
[data-fs-feature][data-cols="3"] [data-fs-ft-grid] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
[data-fs-feature][data-cols="4"] [data-fs-ft-grid] { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* Equal-height items: stretch cards to the tallest in the row. */
[data-fs-feature][data-equal="1"] [data-fs-ft-grid] { align-items: stretch; }
[data-fs-feature][data-equal="1"] [data-fs-ft-card] { height: 100%; }

/* ── The card ───────────────────────────────────────────────────── */
[data-fs-feature] [data-fs-ft-card] {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: var(--fs-space-card, 20px);
  background: var(--fs-ft-card-bg);
  border-radius: var(--fs-ft-radius);
  text-align: var(--fs-ft-align, left);
  color: var(--fs-ft-body);
  font-family: var(--fs-ft-body-font);
  transition: transform 160ms ease, box-shadow 160ms ease;
}

/* Icon position variants: the icon + text wrapper flips to a row. */
[data-fs-feature][data-icon-pos="left"] [data-fs-ft-head] { flex-direction: row; align-items: flex-start; }
[data-fs-feature][data-icon-pos="right"] [data-fs-ft-head] { flex-direction: row-reverse; align-items: flex-start; }
[data-fs-feature][data-icon-pos="top"] [data-fs-ft-head] { flex-direction: column; }
[data-fs-feature] [data-fs-ft-head] { display: flex; gap: 10px; }
[data-fs-feature][data-icon-pos="left"] [data-fs-ft-head-text],
[data-fs-feature][data-icon-pos="right"] [data-fs-ft-head-text] { flex: 1; }

/* Image position variants: the whole card flips to a row for side layouts. */
[data-fs-feature][data-image-pos="left"] [data-fs-ft-card][data-has-image="1"] { flex-direction: row; align-items: flex-start; }
[data-fs-feature][data-image-pos="right"] [data-fs-ft-card][data-has-image="1"] { flex-direction: row-reverse; align-items: flex-start; }
[data-fs-feature][data-image-pos="left"] [data-fs-ft-card][data-has-image="1"] [data-fs-ft-body-wrap],
[data-fs-feature][data-image-pos="right"] [data-fs-ft-card][data-has-image="1"] [data-fs-ft-body-wrap] { flex: 1; }

[data-fs-feature] [data-fs-ft-body-wrap] { display: flex; flex-direction: column; gap: 10px; }
[data-fs-feature] [data-fs-ft-image] { display: block; max-width: 100%; border-radius: calc(var(--fs-ft-radius) - 4px); }
[data-fs-feature][data-image-pos="left"] [data-fs-ft-image],
[data-fs-feature][data-image-pos="right"] [data-fs-ft-image] { width: 40%; flex: none; }

[data-fs-feature] [data-fs-ft-icon] { color: var(--fs-ft-accent); flex: none; }
[data-fs-feature] [data-fs-ft-heading] {
  font-family: var(--fs-ft-heading-font);
  font-weight: 700;
  font-size: 17px;
  color: var(--fs-ft-heading);
}
[data-fs-feature] [data-fs-ft-desc] { font-size: 13px; color: var(--fs-ft-body); }

/* ── Badge ──────────────────────────────────────────────────────── */
[data-fs-feature] [data-fs-ft-badge] {
  display: inline-block;
  align-self: flex-start;
  background: var(--fs-ft-accent);
  color: var(--fs-ft-accent-text);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 2px 8px;
  border-radius: var(--fs-radius-pill, 999px);
}

/* ── CTA button ─────────────────────────────────────────────────── */
[data-fs-feature] [data-fs-ft-btn] {
  margin-top: 4px;
  display: inline-block;
  align-self: var(--fs-ft-btn-align, flex-start);
  text-align: center;
  padding: 8px 14px;
  border-radius: 9px;
  font-weight: 700;
  font-size: 13px;
  background: var(--fs-ft-accent);
  color: var(--fs-ft-accent-text);
  border: 0;
  cursor: pointer;
  text-decoration: none;
}
[data-fs-feature][data-btn-align="left"] { --fs-ft-btn-align: flex-start; }
[data-fs-feature][data-btn-align="center"] { --fs-ft-btn-align: center; }
[data-fs-feature][data-btn-align="right"] { --fs-ft-btn-align: flex-end; }

/* ── Icon animation ─────────────────────────────────────────────── */
[data-fs-feature][data-icon-anim="1"] [data-fs-ft-icon] { transition: transform 200ms ease; }
[data-fs-feature][data-icon-anim="1"] [data-fs-ft-card]:hover [data-fs-ft-icon] { transform: scale(1.15) rotate(-4deg); }

/* ── Hover highlight ────────────────────────────────────────────── */
[data-fs-feature][data-hover="1"] [data-fs-ft-card]:hover {
  box-shadow: 0 14px 34px -10px rgba(24,24,27,0.26);
  transform: translateY(-3px);
}

/* ── Borders ────────────────────────────────────────────────────── */
[data-fs-feature][data-border="none"] [data-fs-ft-card] { border: 0; }
[data-fs-feature][data-border="thin"] [data-fs-ft-card] { border: 1px solid var(--fs-ft-border); }
[data-fs-feature][data-border="thick"] [data-fs-ft-card] { border: 2.5px solid var(--fs-ft-border); }
[data-fs-feature][data-border="retro"] [data-fs-ft-card] { border: 2px solid #000000; }

/* ── Corners ────────────────────────────────────────────────────── */
[data-fs-feature][data-corners="square"] { --fs-ft-radius: 0px; }
[data-fs-feature][data-corners="rounded"] { --fs-ft-radius: var(--fs-radius-card, 14px); }
[data-fs-feature][data-corners="pill"] { --fs-ft-radius: 28px; }

/* ── Shadows ────────────────────────────────────────────────────── */
[data-fs-feature][data-shadow="none"] [data-fs-ft-card] { box-shadow: none; }
[data-fs-feature][data-shadow="soft"] [data-fs-ft-card] { box-shadow: var(--fs-shadow-card, 0 4px 16px -6px rgba(24,24,27,0.16)); }
[data-fs-feature][data-shadow="strong"] [data-fs-ft-card] { box-shadow: var(--fs-shadow-lift, 0 14px 32px -8px rgba(24,24,27,0.32)); }

/* ── Background style ───────────────────────────────────────────── */
[data-fs-feature][data-bg="transparent"] [data-fs-ft-card] { --fs-ft-card-bg: transparent; }
[data-fs-feature][data-bg="light"] [data-fs-ft-card] { --fs-ft-card-bg: rgb(var(--c-paper-soft, 255 255 255)); }
[data-fs-feature][data-bg="dark"] [data-fs-ft-card] {
  --fs-ft-card-bg: #17171f;
  --fs-ft-heading: #f4f4f5;
  --fs-ft-body: #d4d4d8;
  --fs-ft-border: #3f3f46;
}

/* ── Icon Row template — tighter, centred glyph rows ───────────── */
[data-fs-feature][data-template="iconRow"] [data-fs-ft-card] { padding: 14px; gap: 6px; }

/* ── Responsive ─────────────────────────────────────────────────── */
@media (max-width: 720px) {
  [data-fs-feature][data-responsive="stack"] [data-fs-ft-grid] { grid-template-columns: 1fr !important; }
  [data-fs-feature][data-responsive="scroll"] [data-fs-ft-grid] {
    grid-auto-flow: column;
    grid-template-columns: none !important;
    grid-auto-columns: minmax(230px, 1fr);
    overflow-x: auto;
  }
  [data-fs-feature][data-responsive="collapse"] [data-fs-ft-grid] { grid-template-columns: 1fr !important; }
  [data-fs-feature][data-responsive="collapse"] [data-fs-ft-card]:not(:first-child) { display: none; }
}


[data-fs-pricing] {
  --fs-pr-heading: rgb(var(--c-ink-950, 15 14 23));
  --fs-pr-body: rgb(var(--c-ink-700, 82 82 91));
  --fs-pr-price: rgb(var(--c-ink-950, 15 14 23));
  --fs-pr-border: rgb(var(--c-line, 228 228 231));
  --fs-pr-card-bg: rgb(var(--c-paper-soft, 255 255 255));
  --fs-pr-accent: rgb(var(--c-brand-600, 109 40 217));
  /* Text ON the accent fill (the "Choose plan" button). This was
     --c-paper-soft, the CARD surface — which is near-white on a light
     theme and so looked right, but near-BLACK on a dark one, putting
     dark text on a brand-purple button at 2.4:1. The colour that has to
     work here is dictated by the accent fill, not by the page, so it is
     white: every brand colour dark enough to be a button carries white
     text, which is why the same value is used on every other filled
     control in the library. */
  --fs-pr-accent-text: #ffffff;
  --fs-pr-radius: var(--fs-radius-card, 14px);
  --fs-pr-heading-font: inherit;
  --fs-pr-body-font: inherit;
  --fs-pr-price-font: inherit;
  width: 100%;
}

/* ── Grid of packages ───────────────────────────────────────────── */
[data-fs-pricing] [data-fs-pr-grid] {
  display: grid;
  gap: var(--fs-space-gap, 20px);
  align-items: start;
}
[data-fs-pricing][data-cols="2"] [data-fs-pr-grid] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
[data-fs-pricing][data-cols="3"] [data-fs-pr-grid] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
[data-fs-pricing][data-cols="4"] [data-fs-pr-grid] { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* Equal-height packages: stretch cards to the tallest in the row. */
[data-fs-pricing][data-equal="1"] [data-fs-pr-grid] { align-items: stretch; }
[data-fs-pricing][data-equal="1"] [data-fs-pr-card] { height: 100%; }

/* ── The card ───────────────────────────────────────────────────── */
[data-fs-pricing] [data-fs-pr-card] {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: var(--fs-space-card, 22px 20px);
  background: var(--fs-pr-card-bg);
  border-radius: var(--fs-pr-radius);
  text-align: var(--fs-pr-align, left);
  color: var(--fs-pr-body);
  font-family: var(--fs-pr-body-font);
  transition: transform 160ms ease, box-shadow 160ms ease;
}

/* ── Header (icon + name + badge) ───────────────────────────────── */
[data-fs-pricing] [data-fs-pr-name] {
  font-family: var(--fs-pr-heading-font);
  font-weight: 700;
  font-size: 18px;
  color: var(--fs-pr-heading);
}
[data-fs-pricing] [data-fs-pr-price] {
  font-family: var(--fs-pr-price-font);
  font-weight: 800;
  font-size: 30px;
  color: var(--fs-pr-price);
  line-height: 1.1;
}
[data-fs-pricing] [data-fs-pr-desc] { font-size: 13px; color: var(--fs-pr-body); }
[data-fs-pricing] [data-fs-pr-icon] { color: var(--fs-pr-accent); }

/* Badge pill (Best Value / Most Popular / Recommended) */
[data-fs-pricing] [data-fs-pr-badge] {
  position: absolute;
  top: -11px;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  background: var(--fs-pr-accent);
  color: var(--fs-pr-accent-text);
  font-size: 12px;
  font-weight: 700;
  padding: 3px 12px;
  border-radius: var(--fs-radius-pill, 999px);
}
[data-fs-pricing][data-align="left"] [data-fs-pr-badge] { left: 20px; transform: none; }
[data-fs-pricing][data-align="right"] [data-fs-pr-badge] { left: auto; right: 20px; transform: none; }

/* Discount pill (Save 20%) */
[data-fs-pricing] [data-fs-pr-discount] {
  display: inline-block;
  background: color-mix(in srgb, var(--fs-pr-accent) 15%, transparent);
  color: var(--fs-pr-accent);
  font-size: 12px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 6px;
}

/* ── Feature list ───────────────────────────────────────────────── */
[data-fs-pricing] [data-fs-pr-features] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
[data-fs-pricing] [data-fs-pr-feature] { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; }
[data-fs-pricing] [data-fs-pr-feature][data-included="0"] { opacity: 0.5; }
[data-fs-pricing] [data-fs-pr-feature-mark] { flex: none; margin-top: 1px; color: var(--fs-pr-accent); }

/* ── CTA button ─────────────────────────────────────────────────── */
[data-fs-pricing] [data-fs-pr-btn] {
  margin-top: auto;
  display: inline-block;
  text-align: center;
  padding: 10px 16px;
  border-radius: 10px;
  font-weight: 700;
  font-size: 14px;
  background: var(--fs-pr-accent);
  color: var(--fs-pr-accent-text);
  border: 0;
  cursor: pointer;
  text-decoration: none;
}
[data-fs-pricing][data-btn-anim="1"] [data-fs-pr-btn] { transition: transform 140ms ease, filter 140ms ease; }
[data-fs-pricing][data-btn-anim="1"] [data-fs-pr-btn]:hover { transform: translateY(-1px); filter: brightness(1.06); }

/* ── Highlighted package ────────────────────────────────────────── */
[data-fs-pricing][data-highlight="1"] [data-fs-pr-card][data-highlighted="1"] {
  border: 2px solid var(--fs-pr-accent);
  transform: scale(1.03);
  z-index: 1;
}

/* ── Hover highlight ────────────────────────────────────────────── */
[data-fs-pricing][data-hover="1"] [data-fs-pr-card]:hover {
  box-shadow: 0 14px 34px -10px rgba(24,24,27,0.28);
  transform: translateY(-3px);
}

/* ── Borders ────────────────────────────────────────────────────── */
[data-fs-pricing][data-border="none"] [data-fs-pr-card] { border: 0; }
[data-fs-pricing][data-border="thin"] [data-fs-pr-card] { border: 1px solid var(--fs-pr-border); }
[data-fs-pricing][data-border="thick"] [data-fs-pr-card] { border: 2.5px solid var(--fs-pr-border); }
[data-fs-pricing][data-border="retro"] [data-fs-pr-card] { border: 2px solid #000000; }

/* ── Corners ────────────────────────────────────────────────────── */
[data-fs-pricing][data-corners="square"] { --fs-pr-radius: 0px; }
[data-fs-pricing][data-corners="rounded"] { --fs-pr-radius: var(--fs-radius-card, 14px); }
[data-fs-pricing][data-corners="pill"] { --fs-pr-radius: 28px; }

/* ── Shadows ────────────────────────────────────────────────────── */
[data-fs-pricing][data-shadow="none"] [data-fs-pr-card] { box-shadow: none; }
[data-fs-pricing][data-shadow="soft"] [data-fs-pr-card] { box-shadow: var(--fs-shadow-card, 0 4px 16px -6px rgba(24,24,27,0.16)); }
[data-fs-pricing][data-shadow="strong"] [data-fs-pr-card] { box-shadow: var(--fs-shadow-lift, 0 14px 32px -8px rgba(24,24,27,0.32)); }

/* ── Background style ───────────────────────────────────────────── */
[data-fs-pricing][data-bg="transparent"] [data-fs-pr-card] { --fs-pr-card-bg: transparent; }
[data-fs-pricing][data-bg="light"] [data-fs-pr-card] { --fs-pr-card-bg: rgb(var(--c-paper-soft, 255 255 255)); }
[data-fs-pricing][data-bg="dark"] [data-fs-pr-card] {
  --fs-pr-card-bg: #17171f;
  --fs-pr-heading: #f4f4f5;
  --fs-pr-price: rgb(var(--c-paper-soft, 255 255 255));
  --fs-pr-body: #d4d4d8;
  --fs-pr-border: #3f3f46;
}

/* ── Comparison template: feature rows read as a checklist ──────── */
[data-fs-pricing][data-template="comparison"] [data-fs-pr-card] { gap: 10px; }
[data-fs-pricing][data-template="comparison"] [data-fs-pr-feature] {
  border-bottom: 1px solid var(--fs-pr-border);
  padding-bottom: 6px;
}

/* ── Responsive ─────────────────────────────────────────────────── */
[data-fs-pricing][data-responsive="scroll"] [data-fs-pr-grid] { }
@media (max-width: 720px) {
  /* Stack: one column. */
  [data-fs-pricing][data-responsive="stack"] [data-fs-pr-grid] { grid-template-columns: 1fr !important; }
  /* Scroll: keep columns, scroll sideways. */
  [data-fs-pricing][data-responsive="scroll"] [data-fs-pr-grid] {
    grid-auto-flow: column;
    grid-template-columns: none !important;
    grid-auto-columns: minmax(240px, 1fr);
    overflow-x: auto;
  }
  /* Collapse: show only the highlighted package (or the first). */
  [data-fs-pricing][data-responsive="collapse"] [data-fs-pr-grid] { grid-template-columns: 1fr !important; }
  [data-fs-pricing][data-responsive="collapse"] [data-fs-pr-card]:not([data-highlighted="1"]):not(:first-child) { display: none; }
}


[data-fs-stats] {
  --fs-st-heading: rgb(var(--c-ink-950, 15 14 23));
  --fs-st-body: rgb(var(--c-ink-700, 82 82 91));
  --fs-st-border: rgb(var(--c-line, 228 228 231));
  --fs-st-card-bg: rgb(var(--c-paper-soft, 255 255 255));
  --fs-st-accent: var(--fs-stats-accent, rgb(var(--c-brand-600, 109 40 217)));
  --fs-st-accent-2: #EC4899;
  --fs-st-accent-3: #06B6D4;
  --fs-st-accent-4: #F59E0B;
  --fs-st-radius: var(--fs-radius-card, 14px);
  --fs-st-up: #059669;
  --fs-st-down: #DC2626;
  --fs-st-heading-font: inherit;
  --fs-st-body-font: inherit;
  width: 100%;
  color: var(--fs-st-body);
  font-family: var(--fs-st-body-font);
}

/* Section-level date range control bar */
[data-fs-stats] [data-fs-st-control-bar] {
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px; flex-wrap: wrap; margin-bottom: 14px;
  padding: 10px 14px; border: 1px solid var(--fs-st-border);
  border-radius: 10px; background: var(--fs-st-card-bg);
}
[data-fs-stats] [data-fs-st-range] { display: flex; gap: 4px; }
[data-fs-stats] [data-fs-st-range] button {
  border: 1px solid var(--fs-st-border); background: transparent;
  color: var(--fs-st-body); font-size: 12px; font-weight: 600;
  padding: 4px 10px; border-radius: 6px; cursor: pointer;
}
[data-fs-stats] [data-fs-st-range] button[aria-pressed="true"] {
  background: var(--fs-st-accent); color: #ffffff; border-color: var(--fs-st-accent);
}

/* ── 12-column grid ────────────────────────────────────────────── */
[data-fs-stats] [data-fs-st-grid] {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 14px;
  auto-rows: minmax(120px, auto);
  grid-auto-rows: minmax(120px, auto);
}
[data-fs-stats][data-equal="1"] [data-fs-st-grid] { align-items: stretch; }

/* ── Widget card ───────────────────────────────────────────────── */
[data-fs-stats] [data-fs-st-widget] {
  position: relative;
  display: flex; flex-direction: column;
  padding: var(--fs-space-card, 16px);
  background: var(--fs-st-card-bg);
  border-radius: var(--fs-st-radius);
  color: var(--fs-st-body);
  min-height: 120px;
  overflow: hidden;
}
[data-fs-stats] [data-fs-st-widget][data-border="none"]  { border: 0; }
[data-fs-stats] [data-fs-st-widget][data-border="thin"]  { border: 1px solid var(--fs-st-border); }
[data-fs-stats] [data-fs-st-widget][data-border="thick"] { border: 2.5px solid var(--fs-st-border); }
[data-fs-stats] [data-fs-st-widget][data-border="retro"] { border: 2px solid #000000; border-radius: 0; }
[data-fs-stats] [data-fs-st-widget][data-corners="square"]  { border-radius: 0; }
[data-fs-stats] [data-fs-st-widget][data-corners="rounded"] { border-radius: var(--fs-st-radius); }
[data-fs-stats] [data-fs-st-widget][data-corners="pill"]    { border-radius: 24px; }
[data-fs-stats] [data-fs-st-widget][data-shadow="none"]   { box-shadow: none; }
[data-fs-stats] [data-fs-st-widget][data-shadow="soft"]   { box-shadow: var(--fs-shadow-card, 0 4px 16px -6px rgba(24,24,27,0.14)); }
[data-fs-stats] [data-fs-st-widget][data-shadow="strong"] { box-shadow: var(--fs-shadow-lift, 0 14px 32px -8px rgba(24,24,27,0.28)); }
[data-fs-stats] [data-fs-st-widget][data-selected="1"] {
  outline: 2px solid var(--fs-st-accent); outline-offset: 2px;
}
[data-fs-stats] [data-fs-st-widget][data-alerted="1"]::before {
  content: '⚠'; position: absolute; top: 8px; right: 8px;
  background: var(--fs-st-down); color: #ffffff;
  width: 20px; height: 20px; border-radius: 999px;
  display: flex; align-items: center; justify-content: center;
  font-size: 12px; font-weight: 700; z-index: 2;
}

/* Widget header */
[data-fs-stats] [data-fs-st-widget-header] {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: 8px; margin-bottom: 6px;
}
[data-fs-stats] [data-fs-st-widget-title] {
  font-family: var(--fs-st-heading-font);
  font-weight: 700; font-size: 13px; color: var(--fs-st-heading);
  text-transform: uppercase; letter-spacing: 0.04em;
}
[data-fs-stats] [data-fs-st-widget-subtitle] {
  font-size: 12px; opacity: 0.7; margin-top: 2px;
}

/* KPI card */
[data-fs-stats] [data-fs-st-kpi-value] {
  font-family: var(--fs-st-heading-font);
  font-weight: 800; font-size: 28px; color: var(--fs-st-heading);
  line-height: 1;
}
[data-fs-stats] [data-fs-st-kpi-delta] {
  display: inline-flex; align-items: center; gap: 3px;
  padding: 2px 8px; border-radius: var(--fs-radius-pill, 999px);
  font-size: 12px; font-weight: 700;
}
[data-fs-stats] [data-fs-st-kpi-delta][data-direction="up"]   { background: color-mix(in srgb, var(--fs-st-up) 15%, transparent);   color: var(--fs-st-up); }
[data-fs-stats] [data-fs-st-kpi-delta][data-direction="down"] { background: color-mix(in srgb, var(--fs-st-down) 15%, transparent); color: var(--fs-st-down); }

/* Counter (large, single number, optional pulse) */
[data-fs-stats] [data-fs-st-counter] {
  font-family: var(--fs-st-heading-font);
  font-weight: 900; font-size: 44px; color: var(--fs-st-heading);
  text-align: center; line-height: 1;
}
@keyframes fs-st-pulse { 0%,100% { transform: scale(1); } 50% { transform: scale(1.04); } }
[data-fs-stats] [data-fs-st-counter][data-animate="1"] {
  animation: fs-st-pulse 2.2s ease-in-out infinite;
  display: inline-block;
}

/* Sparkline / charts (all SVG) */
[data-fs-stats] [data-fs-st-sparkline], [data-fs-stats] [data-fs-st-chart] {
  display: block; width: 100%; overflow: visible;
}
[data-fs-stats] .fs-st-axis text {
  font-size: 12px; fill: var(--fs-st-body); opacity: 0.6;
  font-family: var(--fs-st-body-font);
}
[data-fs-stats] .fs-st-grid-line { stroke: var(--fs-st-border); stroke-dasharray: 2 3; opacity: 0.5; }
[data-fs-stats] .fs-st-line { fill: none; stroke: var(--fs-st-accent); stroke-width: 2; }
[data-fs-stats] .fs-st-line-b { fill: none; stroke: var(--fs-st-accent-3); stroke-width: 2; stroke-dasharray: 3 2; }
[data-fs-stats] .fs-st-area { fill: var(--fs-st-accent); opacity: 0.15; }
[data-fs-stats] .fs-st-bar { fill: var(--fs-st-accent); }
[data-fs-stats] .fs-st-bar-b { fill: var(--fs-st-accent-3); }
[data-fs-stats] .fs-st-annotation { stroke: var(--fs-st-accent-4); stroke-width: 1; stroke-dasharray: 2 2; }
[data-fs-stats] .fs-st-annotation-dot { fill: var(--fs-st-accent-4); }

/* Legend */
[data-fs-stats] [data-fs-st-legend] {
  display: flex; flex-wrap: wrap; gap: 10px; margin-top: 6px;
  font-size: 12px; opacity: 0.8;
}
[data-fs-stats] [data-fs-st-legend-swatch] {
  width: 8px; height: 8px; border-radius: 2px; display: inline-block;
}

/* Donut / Pie */
[data-fs-stats] [data-fs-st-pie-rows] {
  display: flex; flex-direction: column; gap: 4px; margin-top: 8px;
  font-size: 12px;
}
[data-fs-stats] [data-fs-st-pie-row] {
  display: flex; align-items: center; gap: 6px;
}

/* Comparison table */
[data-fs-stats] [data-fs-st-compare] {
  width: 100%; border-collapse: collapse; font-size: 12px;
}
[data-fs-stats] [data-fs-st-compare] th,
[data-fs-stats] [data-fs-st-compare] td {
  padding: 6px 8px; border-bottom: 1px solid var(--fs-st-border); text-align: left;
}
[data-fs-stats] [data-fs-st-compare] th { font-size: 12px; text-transform: uppercase; opacity: 0.6; letter-spacing: 0.04em; }
[data-fs-stats] [data-fs-st-compare-sig] {
  display: inline-block; padding: 1px 6px; border-radius: 4px;
  font-size: 12px; font-weight: 700; background: color-mix(in srgb, var(--fs-st-accent) 20%, transparent); color: var(--fs-st-accent);
}

/* Goal gauge */
[data-fs-stats] [data-fs-st-gauge] { position: relative; }
[data-fs-stats] [data-fs-st-gauge-value] {
  font-family: var(--fs-st-heading-font);
  font-weight: 800; font-size: 26px; text-align: center;
  color: var(--fs-st-heading); margin-top: 4px;
}
[data-fs-stats] [data-fs-st-gauge-target] {
  text-align: center; font-size: 12px; opacity: 0.7; margin-top: 2px;
}

/* Leaderboard */
[data-fs-stats] [data-fs-st-lb] { display: flex; flex-direction: column; gap: 6px; margin-top: 4px; }
[data-fs-stats] [data-fs-st-lb-row] {
  display: flex; align-items: center; justify-content: space-between;
  gap: 8px; font-size: 12px;
  padding: 4px 6px; border-radius: 6px;
}
[data-fs-stats] [data-fs-st-lb-row]:nth-child(even) { background: color-mix(in srgb, var(--fs-st-border) 40%, transparent); }
[data-fs-stats] [data-fs-st-lb-label] { font-weight: 600; color: var(--fs-st-heading); }
[data-fs-stats] [data-fs-st-lb-value] { font-weight: 700; color: var(--fs-st-accent); }

/* Heatmap */
[data-fs-stats] [data-fs-st-heat] {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 3px; margin-top: 6px;
}
[data-fs-stats] [data-fs-st-heat-cell] {
  aspect-ratio: 1 / 1; border-radius: 3px;
  background: var(--fs-st-accent);
}

/* Text + Metric */
[data-fs-stats] [data-fs-st-textmetric] {
  display: flex; flex-direction: column; gap: 6px; height: 100%; justify-content: center;
}
[data-fs-stats] [data-fs-st-textmetric-value] {
  font-family: var(--fs-st-heading-font);
  font-weight: 800; font-size: 24px; color: var(--fs-st-heading);
}
[data-fs-stats] [data-fs-st-textmetric-cta] {
  align-self: flex-start;
  display: inline-block; padding: 6px 12px;
  background: var(--fs-st-accent); color: #ffffff;
  border-radius: 8px; font-size: 12px; font-weight: 700;
  text-decoration: none; margin-top: 4px;
}

/* Palettes: override --fs-st-accent + accent siblings */
[data-fs-stats] [data-palette="brand"]   { --fs-st-accent: rgb(var(--c-brand-600, 109 40 217)); --fs-st-accent-2: #EC4899; --fs-st-accent-3: #06B6D4; --fs-st-accent-4: #F59E0B; }
[data-fs-stats] [data-palette="ocean"]   { --fs-st-accent: #0369A1; --fs-st-accent-2: #0891B2; --fs-st-accent-3: #06B6D4; --fs-st-accent-4: #22D3EE; }
[data-fs-stats] [data-palette="sunset"]  { --fs-st-accent: #DC2626; --fs-st-accent-2: #EA580C; --fs-st-accent-3: #F59E0B; --fs-st-accent-4: #FBBF24; }
[data-fs-stats] [data-palette="forest"]  { --fs-st-accent: #047857; --fs-st-accent-2: #059669; --fs-st-accent-3: #10B981; --fs-st-accent-4: #22C55E; }
[data-fs-stats] [data-palette="mono"]    { --fs-st-accent: #27272A; --fs-st-accent-2: #52525B; --fs-st-accent-3: #71717A; --fs-st-accent-4: #A1A1AA; }
[data-fs-stats] [data-palette="contrast"]{ --fs-st-accent: #000000; --fs-st-accent-2: #FFFFFF; --fs-st-accent-3: #FF0055; --fs-st-accent-4: #00FFEE; }

/* Backgrounds */
[data-fs-stats][data-bg="transparent"] [data-fs-st-widget] { background: transparent; }
[data-fs-stats][data-bg="light"] [data-fs-st-widget] { background: rgb(var(--c-paper-soft, 255 255 255)); }
[data-fs-stats][data-bg="dark"] {
  --fs-st-card-bg: #17171f; --fs-st-heading: #f4f4f5;
  --fs-st-body: #d4d4d8; --fs-st-border: #3f3f46;
}
[data-fs-stats][data-bg="retro"] {
  --fs-st-card-bg: #ffffff; --fs-st-border: #000000; --fs-st-heading: #000000; --fs-st-body: #000000;
}

/* Editor affordances (resize handles + selection halo) */
[data-fs-stats] [data-fs-st-resize] {
  position: absolute; z-index: 3;
  background: var(--fs-st-accent); opacity: 0;
  transition: opacity 120ms ease;
}
[data-fs-stats] [data-fs-st-widget]:hover [data-fs-st-resize],
[data-fs-stats] [data-fs-st-widget][data-selected="1"] [data-fs-st-resize] { opacity: 0.85; }
[data-fs-stats] [data-fs-st-resize="right"]  { top: 30%; bottom: 30%; right: -3px; width: 6px; border-radius: 3px; cursor: ew-resize; }
[data-fs-stats] [data-fs-st-resize="bottom"] { left: 30%; right: 30%; bottom: -3px; height: 6px; border-radius: 3px; cursor: ns-resize; }

/* Drilldown modal */
[data-fs-st-drilldown-overlay] {
  position: fixed; inset: 0; z-index: 90;
  background: rgba(0,0,0,0.55);
  display: flex; align-items: center; justify-content: center; padding: 24px;
}
[data-fs-st-drilldown] {
  max-width: min(720px, var(--fs-layout-clamp, 720px)); width: 100%; max-height: 88vh; overflow-y: auto;
  background: #ffffff; border-radius: 12px; padding: 24px;
  display: flex; flex-direction: column; gap: 12px;
}
[data-fs-st-drilldown] table {
  width: 100%; border-collapse: collapse; font-size: 12px; margin-top: 12px;
}
[data-fs-st-drilldown] th, [data-fs-st-drilldown] td {
  padding: 6px 8px; border-bottom: 1px solid #e4e4e7; text-align: left;
}

/* Consent placeholder */
[data-fs-stats] [data-fs-st-consent-placeholder] {
  padding: 16px; border: 1px dashed var(--fs-st-border);
  border-radius: 10px; text-align: center; font-size: 12px; opacity: 0.7;
}

/* Responsive modes */
@media (max-width: 720px) {
  [data-fs-stats][data-responsive="stack"] [data-fs-st-grid] { grid-template-columns: 1fr !important; }
  [data-fs-stats][data-responsive="stack"] [data-fs-st-widget] { grid-column: 1 / -1 !important; }
  [data-fs-stats][data-responsive="scroll"] [data-fs-st-grid] {
    grid-auto-flow: column; grid-template-columns: none !important;
    grid-auto-columns: minmax(260px, 1fr); overflow-x: auto;
  }
  [data-fs-stats][data-responsive="collapse"] [data-fs-st-grid] { grid-template-columns: 1fr !important; }
  [data-fs-stats][data-responsive="collapse"] [data-fs-st-widget]:not([data-priority="1"]) { display: none; }
}

/* Accessibility */
[data-fs-stats] [data-fs-st-widget]:focus-visible {
  outline: 2px solid var(--fs-st-accent); outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  [data-fs-stats] [data-fs-st-counter] { animation: none !important; }
}
@media (prefers-contrast: more) {
  [data-fs-stats] [data-fs-st-widget] { border-width: 2px !important; }
}


[data-fs-team] {
  /* Defaults derive from the active palette (--c-*, "r g b" triples from
     themes/apply.ts) so an untouched Team block follows every theme in
     BOTH modes, instead of pinning the old light-mode hexes — those now
     live on as fallbacks for contexts outside a themed canvas. A colour
     the user picks in the panel arrives as an inline custom property on
     the block and still overrides all of this, exactly as before. */
  --fs-tm-heading: rgb(var(--c-ink-950, 15 14 23));
  --fs-tm-body: rgb(var(--c-ink-700, 82 82 91));
  --fs-tm-role: rgb(var(--c-brand-600, 109 40 217));
  --fs-tm-border: rgb(var(--c-line, 228 228 231));
  --fs-tm-card-bg: rgb(var(--c-paper-soft, 255 255 255));
  --fs-tm-accent: rgb(var(--c-brand-600, 109 40 217));
  --fs-tm-accent-text: #ffffff;
  --fs-tm-radius: var(--fs-radius-card, 14px);
  --fs-tm-heading-font: inherit;
  --fs-tm-body-font: inherit;
  --fs-tm-role-font: inherit;
  width: 100%;
}

/* ── Grid of members ────────────────────────────────────────────── */
[data-fs-team] [data-fs-tm-grid] { display: grid; gap: var(--fs-space-gap, 22px); align-items: start; }
[data-fs-team][data-cols="1"] [data-fs-tm-grid] { grid-template-columns: minmax(0, 1fr); }
[data-fs-team][data-cols="2"] [data-fs-tm-grid] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
[data-fs-team][data-cols="3"] [data-fs-tm-grid] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
[data-fs-team][data-cols="4"] [data-fs-tm-grid] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
[data-fs-team][data-equal="1"] [data-fs-tm-grid] { align-items: stretch; }
[data-fs-team][data-equal="1"] [data-fs-tm-card] { height: 100%; }

/* ── The card ───────────────────────────────────────────────────── */
[data-fs-team] [data-fs-tm-card] {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: var(--fs-space-card, 20px);
  background: var(--fs-tm-card-bg);
  border-radius: var(--fs-tm-radius);
  text-align: var(--fs-tm-align, center);
  align-items: var(--fs-tm-items, center);
  color: var(--fs-tm-body);
  font-family: var(--fs-tm-body-font);
  transition: transform 160ms ease, box-shadow 160ms ease;
}
[data-fs-team][data-align="left"] { --fs-tm-align: left; --fs-tm-items: flex-start; }
[data-fs-team][data-align="center"] { --fs-tm-align: center; --fs-tm-items: center; }
[data-fs-team][data-align="right"] { --fs-tm-align: right; --fs-tm-items: flex-end; }

/* Side-by-Side template: photo left, text right. */
[data-fs-team][data-template="sideBySide"] [data-fs-tm-card] { flex-direction: row; align-items: flex-start; text-align: left; }
[data-fs-team][data-template="sideBySide"] [data-fs-tm-info] { flex: 1; align-items: flex-start; }

/* Minimal template: photo + name + role only — bio and socials hidden. */
[data-fs-team][data-template="minimal"] [data-fs-tm-bio],
[data-fs-team][data-template="minimal"] [data-fs-tm-socials] { display: none; }
[data-fs-team][data-template="minimal"] [data-fs-tm-card] { padding: 14px; gap: 6px; }

[data-fs-team] [data-fs-tm-info] { display: flex; flex-direction: column; gap: 6px; align-items: var(--fs-tm-items, center); }

/* ── Photo ──────────────────────────────────────────────────────── */
[data-fs-team] [data-fs-tm-photo] {
  width: 96px; height: 96px; object-fit: cover; flex: none;
  background: color-mix(in srgb, var(--fs-tm-accent) 12%, transparent);
  color: var(--fs-tm-accent);
  display: flex; align-items: center; justify-content: center;
  font-weight: 800; font-size: 28px;
}
[data-fs-team][data-template="sideBySide"] [data-fs-tm-photo] { width: 120px; height: 120px; }
[data-fs-team][data-photo-shape="square"] [data-fs-tm-photo] { border-radius: 0; }
[data-fs-team][data-photo-shape="rounded"] [data-fs-tm-photo] { border-radius: 14px; }
[data-fs-team][data-photo-shape="circle"] [data-fs-tm-photo] { border-radius: 999px; }
[data-fs-team][data-photo-shape="pixel"] [data-fs-tm-photo] { border-radius: 0; border: 2px solid #000000; image-rendering: pixelated; }

/* ── Name / role / bio ──────────────────────────────────────────── */
[data-fs-team] [data-fs-tm-name] { font-family: var(--fs-tm-heading-font); font-weight: 700; font-size: 16px; color: var(--fs-tm-heading); }
[data-fs-team] [data-fs-tm-role] { font-family: var(--fs-tm-role-font); font-weight: 600; font-size: 12px; color: var(--fs-tm-role); text-transform: uppercase; letter-spacing: 0.05em; }
[data-fs-team] [data-fs-tm-bio] { font-size: 13px; color: var(--fs-tm-body); overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; }
[data-fs-team][data-bio-length="short"] [data-fs-tm-bio] { -webkit-line-clamp: 2; }
[data-fs-team][data-bio-length="medium"] [data-fs-tm-bio] { -webkit-line-clamp: 4; }
[data-fs-team][data-bio-length="long"] [data-fs-tm-bio] { display: block; }

/* ── Badge ──────────────────────────────────────────────────────── */
[data-fs-team] [data-fs-tm-badge] {
  position: absolute; top: 10px; right: 10px;
  background: var(--fs-tm-accent); color: var(--fs-tm-accent-text);
  font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em;
  padding: 2px 8px; border-radius: var(--fs-radius-pill, 999px);
}

/* ── Featured member ────────────────────────────────────────────── */
[data-fs-team][data-featured-on="1"] [data-fs-tm-card][data-featured="1"] {
  border: 2px solid var(--fs-tm-accent);
  transform: scale(1.02);
  z-index: 1;
}

/* ── Department pill / filters / search (Advanced) ──────────────── */
[data-fs-team] [data-fs-tm-dept] {
  font-size: 12px; font-weight: 700; color: var(--fs-tm-role);
  background: color-mix(in srgb, var(--fs-tm-accent) 10%, transparent);
  padding: 2px 8px; border-radius: 6px;
}
[data-fs-team] [data-fs-tm-filters] { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
[data-fs-team] [data-fs-tm-filter-btn] {
  font-size: 12px; font-weight: 700; padding: 6px 14px;
  border: 1px solid var(--fs-tm-border); border-radius: 999px;
  background: transparent; color: var(--fs-tm-body); cursor: pointer;
}
[data-fs-team] [data-fs-tm-filter-btn][aria-pressed="true"] {
  background: var(--fs-tm-accent); color: var(--fs-tm-accent-text); border-color: var(--fs-tm-accent);
}
[data-fs-team] [data-fs-tm-search] {
  width: 100%; max-width: 320px; margin-bottom: 16px;
  padding: 8px 14px; font-size: 13px;
  border: 1px solid var(--fs-tm-border); border-radius: 10px;
  background: var(--fs-tm-card-bg); color: var(--fs-tm-heading);
}

/* ── Social icons ───────────────────────────────────────────────── */
[data-fs-team] [data-fs-tm-socials] { display: flex; gap: 8px; margin-top: 4px; }
[data-fs-team] [data-fs-tm-social] {
  display: inline-flex; align-items: center; justify-content: center;
  width: 30px; height: 30px; color: var(--fs-tm-accent);
  border-radius: 8px; text-decoration: none;
}
[data-fs-team][data-social-style="solid"] [data-fs-tm-social] {
  background: var(--fs-tm-accent); color: var(--fs-tm-accent-text);
}
[data-fs-team][data-social-anim="1"] [data-fs-tm-social] { transition: transform 150ms ease; }
[data-fs-team][data-social-anim="1"] [data-fs-tm-social]:hover { transform: translateY(-2px) scale(1.1); }
/* Line vs pixel variants: both are rendered; pixel hidden by default.
   The authored social-style=retro choice flips the visibility. */
[data-fs-team] [data-fs-tm-social-icon="pixel"] { display: none; }
[data-fs-team][data-social-style="retro"] [data-fs-tm-social-icon="pixel"] { display: inline-flex; }
[data-fs-team][data-social-style="retro"] [data-fs-tm-social-icon="line"] { display: none; }
[data-fs-team][data-social-style="retro"] [data-fs-tm-social] { border-radius: 0; }

/* ── Hover highlight ────────────────────────────────────────────── */
[data-fs-team][data-hover="1"] [data-fs-tm-card]:hover {
  box-shadow: 0 14px 34px -10px rgba(24,24,27,0.26);
  transform: translateY(-3px);
}

/* ── Borders / corners / shadows / backgrounds ──────────────────── */
[data-fs-team][data-border="none"] [data-fs-tm-card] { border: 0; }
[data-fs-team][data-border="thin"] [data-fs-tm-card] { border: 1px solid var(--fs-tm-border); }
[data-fs-team][data-border="thick"] [data-fs-tm-card] { border: 2.5px solid var(--fs-tm-border); }
[data-fs-team][data-border="retro"] [data-fs-tm-card] { border: 2px solid #000000; }
[data-fs-team][data-corners="square"] { --fs-tm-radius: 0px; }
[data-fs-team][data-corners="rounded"] { --fs-tm-radius: var(--fs-radius-card, 14px); }
[data-fs-team][data-corners="pill"] { --fs-tm-radius: 28px; }
[data-fs-team][data-shadow="none"] [data-fs-tm-card] { box-shadow: none; }
[data-fs-team][data-shadow="soft"] [data-fs-tm-card] { box-shadow: var(--fs-shadow-card, 0 4px 16px -6px rgba(24,24,27,0.16)); }
[data-fs-team][data-shadow="strong"] [data-fs-tm-card] { box-shadow: var(--fs-shadow-lift, 0 14px 32px -8px rgba(24,24,27,0.32)); }
[data-fs-team][data-bg="transparent"] [data-fs-tm-card] { --fs-tm-card-bg: transparent; }
/* An explicitly WHITE card must carry its own dark ink: the root
   defaults above follow the theme palette, and a dark theme's
   near-white heading would vanish on this forced-white surface. */
[data-fs-team][data-bg="light"] [data-fs-tm-card] { --fs-tm-card-bg: rgb(var(--c-paper-soft, 255 255 255)); }
[data-fs-team][data-bg="dark"] [data-fs-tm-card] {
  --fs-tm-card-bg: #17171f;
  --fs-tm-heading: #f4f4f5;
  --fs-tm-body: #d4d4d8;
  --fs-tm-border: #3f3f46;
}

/* ── Modal bio ──────────────────────────────────────────────────── */
[data-fs-tm-modal-overlay] {
  position: fixed; inset: 0; z-index: 70;
  background: rgba(0,0,0,0.5);
  display: flex; align-items: center; justify-content: center; padding: 24px;
}
[data-fs-tm-modal] {
  max-width: 520px; width: 100%; max-height: 85vh; overflow-y: auto;
  background: var(--fs-tm-card-bg, #ffffff);
  border-radius: var(--fs-tm-radius, 14px);
  padding: 28px;
  display: flex; flex-direction: column; gap: 12px; align-items: center; text-align: center;
}

/* ── Responsive ─────────────────────────────────────────────────── */
@media (max-width: 720px) {
  [data-fs-team][data-responsive="stack"] [data-fs-tm-grid] { grid-template-columns: 1fr !important; }
  [data-fs-team][data-responsive="scroll"] [data-fs-tm-grid] {
    grid-auto-flow: column; grid-template-columns: none !important;
    grid-auto-columns: minmax(230px, 1fr); overflow-x: auto;
  }
  [data-fs-team][data-responsive="collapse"] [data-fs-tm-grid] { grid-template-columns: 1fr !important; }
  [data-fs-team][data-responsive="collapse"] [data-fs-tm-card]:not([data-featured="1"]):not(:first-child) { display: none; }
}
/* The editor's mobile/tablet canvas is a narrow box inside a real
   1440px window (menu-styles.ts's HEADER_NAV_CSS sets up the same
   fs-editor-canvas container for this exact reason) — the @media
   above never fires there, so a 3/4-column grid stays put and
   overflows the canvas (caught via Forecourt's Task 4 probe: the
   team section's own cards, at data-cols >= 3, spilled the editor's
   mobile canvas even after the theme's own header/chrome passed
   clean). Added alongside, not instead of, the @media: real pages
   still resize the viewport and need nothing extra. */
@container fs-editor-canvas (max-width: 720px) {
  [data-fs-editor-frame] [data-fs-team][data-responsive="stack"] [data-fs-tm-grid] { grid-template-columns: 1fr !important; }
  [data-fs-editor-frame] [data-fs-team][data-responsive="scroll"] [data-fs-tm-grid] {
    grid-auto-flow: column; grid-template-columns: none !important;
    grid-auto-columns: minmax(230px, 1fr); overflow-x: auto;
  }
  [data-fs-editor-frame] [data-fs-team][data-responsive="collapse"] [data-fs-tm-grid] { grid-template-columns: 1fr !important; }
  [data-fs-editor-frame] [data-fs-team][data-responsive="collapse"] [data-fs-tm-card]:not([data-featured="1"]):not(:first-child) { display: none; }
}


[data-fs-testimonials] {
  --fs-ts-heading: rgb(var(--c-ink-950, 15 14 23));
  --fs-ts-body: rgb(var(--c-ink-700, 82 82 91));
  /* The quote is the whole point of a testimonial, so it takes the
     palette's strongest ink. It was hardcoded #27272a (near-black),
     which measured 1.15:1 against a dark card — WCAG AA wants 4.5:1,
     so the quotes were effectively invisible on any dark theme while
     the name and role beside them (on --c-ink tokens) stayed readable. */
  --fs-ts-quote: rgb(var(--c-ink-950, 15 14 23));
  --fs-ts-muted: rgb(var(--c-ink-400, 113 113 122));
  --fs-ts-card-bg: rgb(var(--c-paper-soft, 255 255 255));
  --fs-ts-border: rgb(var(--c-line, 228 228 231));
  --fs-ts-accent: rgb(var(--c-brand-600, 109 40 217));
  --fs-ts-star: #F59E0B;
  --fs-ts-star-off: rgb(var(--c-line, 228 228 231));
  --fs-ts-radius: var(--fs-radius-card, 14px);
  --fs-ts-heading-font: inherit;
  --fs-ts-body-font: inherit;
  --fs-ts-quote-font: inherit;
  font-family: var(--fs-ts-body-font);
  color: var(--fs-ts-body);
}

/* ── Grid ─────────────────────────────────────────────────────── */
[data-fs-testimonials] [data-fs-ts-grid] {
  display: grid;
  gap: var(--fs-space-gap, 20px);
  align-items: start;
}
[data-fs-testimonials][data-cols="1"] [data-fs-ts-grid] { grid-template-columns: minmax(0, 1fr); }
[data-fs-testimonials][data-cols="2"] [data-fs-ts-grid] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
[data-fs-testimonials][data-cols="3"] [data-fs-ts-grid] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
[data-fs-testimonials][data-cols="4"] [data-fs-ts-grid] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
[data-fs-testimonials][data-equal="1"] [data-fs-ts-grid] { align-items: stretch; }
[data-fs-testimonials][data-equal="1"] [data-fs-ts-card] { height: 100%; display: flex; flex-direction: column; }
[data-fs-testimonials][data-align="left"] [data-fs-ts-card]   { text-align: left; }
[data-fs-testimonials][data-align="center"] [data-fs-ts-card] { text-align: center; }
[data-fs-testimonials][data-align="right"] [data-fs-ts-card]  { text-align: right; }

/* ── Cards ────────────────────────────────────────────────────── */
[data-fs-testimonials] [data-fs-ts-card] {
  position: relative;
  padding: var(--fs-space-card, 20px);
  background: var(--fs-ts-card-bg);
  border-radius: var(--fs-ts-radius);
  transition: transform 200ms ease, box-shadow 200ms ease;
}
[data-fs-testimonials][data-border="none"] [data-fs-ts-card] { border: 0; }
[data-fs-testimonials][data-border="thin"] [data-fs-ts-card] { border: 1px solid var(--fs-ts-border); }
[data-fs-testimonials][data-border="thick"] [data-fs-ts-card] { border: 2.5px solid var(--fs-ts-border); }
[data-fs-testimonials][data-border="retroPixel"] [data-fs-ts-card] {
  border: 2px solid #000; border-radius: 0;
  box-shadow: 4px 4px 0 0 #000;
}
[data-fs-testimonials][data-corners="square"] { --fs-ts-radius: 0px; }
[data-fs-testimonials][data-corners="rounded"] { --fs-ts-radius: var(--fs-radius-card, 14px); }
[data-fs-testimonials][data-corners="pill"] { --fs-ts-radius: 28px; }
[data-fs-testimonials][data-shadow="none"] [data-fs-ts-card] { box-shadow: none; }
[data-fs-testimonials][data-shadow="soft"] [data-fs-ts-card] { box-shadow: var(--fs-shadow-card, 0 4px 16px -6px rgba(24,24,27,0.14)); }
[data-fs-testimonials][data-shadow="strong"] [data-fs-ts-card] { box-shadow: var(--fs-shadow-lift, 0 14px 32px -8px rgba(24,24,27,0.28)); }
[data-fs-testimonials][data-hover-highlight="1"] [data-fs-ts-card]:hover {
  transform: translateY(-3px);
  box-shadow: var(--fs-shadow-lift, 0 14px 32px -8px rgba(24,24,27,0.24));
}
[data-fs-testimonials] [data-fs-ts-card][data-featured="1"] {
  outline: 2px solid var(--fs-ts-accent);
  outline-offset: 2px;
}

/* ── Backgrounds (section) ────────────────────────────────────── */
[data-fs-testimonials][data-bg="transparent"] [data-fs-ts-card] { background: transparent; }
[data-fs-testimonials][data-bg="light"] { }
[data-fs-testimonials][data-bg="dark"] {
  --fs-ts-card-bg: #17171f; --fs-ts-heading: #f4f4f5;
  --fs-ts-body: #d4d4d8; --fs-ts-quote: #ffffff;
  --fs-ts-muted: #a1a1aa; --fs-ts-border: #3f3f46;
}
[data-fs-testimonials][data-bg="retro"] {
  --fs-ts-card-bg: #FEF3C7;
  --fs-ts-heading: #451A03; --fs-ts-body: #78350F;
  --fs-ts-quote: #451A03; --fs-ts-muted: #92400E;
  --fs-ts-border: #F59E0B; --fs-ts-accent: #DC2626;
}

/* ── Avatar ───────────────────────────────────────────────────── */
[data-fs-testimonials] [data-fs-ts-avatar-row] {
  display: flex; align-items: center; gap: 12px;
  margin-bottom: 12px;
  justify-content: flex-start;
}
[data-fs-testimonials][data-align="center"] [data-fs-ts-avatar-row] { justify-content: center; }
[data-fs-testimonials][data-align="right"] [data-fs-ts-avatar-row] { justify-content: flex-end; }
[data-fs-testimonials] [data-fs-ts-avatar] {
  width: 48px; height: 48px; object-fit: cover; flex: none;
  background: var(--fs-ts-border);
}
[data-fs-testimonials][data-avatar-shape="square"] [data-fs-ts-avatar] { border-radius: 0; }
[data-fs-testimonials][data-avatar-shape="rounded"] [data-fs-ts-avatar] { border-radius: 8px; }
[data-fs-testimonials][data-avatar-shape="circle"] [data-fs-ts-avatar] { border-radius: 999px; }
[data-fs-testimonials][data-avatar-shape="pixel"] [data-fs-ts-avatar] {
  border-radius: 0;
  image-rendering: pixelated;
  border: 2px solid #000;
  box-shadow: 3px 3px 0 0 #000;
}
[data-fs-testimonials] [data-fs-ts-avatar-placeholder] {
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--fs-ts-border);
  font-weight: 700; color: var(--fs-ts-heading);
  font-size: 16px;
}

/* ── Name / role / date / badge ────────────────────────────── */
[data-fs-testimonials] [data-fs-ts-attribution] { flex: 1; min-width: 0; }
[data-fs-testimonials] [data-fs-ts-name] {
  font-family: var(--fs-ts-heading-font);
  font-weight: 700; color: var(--fs-ts-heading);
  font-size: 14px; line-height: 1.2;
}
[data-fs-testimonials] [data-fs-ts-role] {
  font-size: 12px; color: var(--fs-ts-muted); margin-top: 2px;
}
[data-fs-testimonials] [data-fs-ts-date] {
  font-size: 12px; color: var(--fs-ts-muted);
  margin-top: 6px;
}
[data-fs-testimonials] [data-fs-ts-source-badge] {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 2px 8px; border-radius: 6px;
  font-size: 12px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.04em;
  background: color-mix(in srgb, var(--fs-ts-accent) 12%, transparent);
  color: var(--fs-ts-accent);
  margin-top: 6px;
}
[data-fs-testimonials] [data-fs-ts-source-badge][data-source="google"] {
  background: #EFF6FF; color: #1D4ED8;
}
[data-fs-testimonials] [data-fs-ts-source-badge][data-source="facebook"] {
  background: #EFF6FF; color: #1E40AF;
}
[data-fs-testimonials] [data-fs-ts-source-badge][data-source="trustpilot"] {
  background: #ECFDF5; color: #047857;
}
[data-fs-testimonials] [data-fs-ts-source-badge][data-source="verified"] {
  background: #F5F3FF; color: #6D28D9;
}

/* ── Quote ──────────────────────────────────────────────────── */
[data-fs-testimonials] [data-fs-ts-quote] {
  font-family: var(--fs-ts-quote-font);
  color: var(--fs-ts-quote); font-size: 15px; line-height: 1.55;
  margin: 8px 0;
}
[data-fs-testimonials][data-quote-length="short"] [data-fs-ts-quote] {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden;
}
[data-fs-testimonials][data-quote-length="medium"] [data-fs-ts-quote] {
  display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ── Stars ──────────────────────────────────────────────────── */
[data-fs-testimonials] [data-fs-ts-stars] {
  display: inline-flex; gap: 2px; margin-top: 4px;
  color: var(--fs-ts-star);
}
[data-fs-testimonials] [data-fs-ts-stars] svg { width: 16px; height: 16px; }
[data-fs-testimonials] [data-fs-ts-stars] [data-off="1"] { color: var(--fs-ts-star-off); }
@keyframes fs-ts-star-pop { 0% { transform: scale(1); } 50% { transform: scale(1.25); } 100% { transform: scale(1); } }
[data-fs-testimonials][data-star-anim="1"] [data-fs-ts-stars] svg { animation: fs-ts-star-pop 2s ease-in-out infinite; }
[data-fs-testimonials][data-star-anim="1"] [data-fs-ts-stars] svg:nth-child(2) { animation-delay: 0.2s; }
[data-fs-testimonials][data-star-anim="1"] [data-fs-ts-stars] svg:nth-child(3) { animation-delay: 0.4s; }
[data-fs-testimonials][data-star-anim="1"] [data-fs-ts-stars] svg:nth-child(4) { animation-delay: 0.6s; }
[data-fs-testimonials][data-star-anim="1"] [data-fs-ts-stars] svg:nth-child(5) { animation-delay: 0.8s; }
@media (prefers-reduced-motion: reduce) {
  [data-fs-testimonials] [data-fs-ts-stars] svg { animation: none !important; }
}

/* ── Logo + video button ─────────────────────────────────────── */
[data-fs-testimonials] [data-fs-ts-logo] {
  max-height: 24px; max-width: 100px; object-fit: contain;
  margin-top: 12px;
}
[data-fs-testimonials] [data-fs-ts-video-btn] {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 4px 10px; margin-top: 8px;
  background: var(--fs-ts-accent); color: #ffffff;
  border: 0; border-radius: 6px;
  font-size: 12px; font-weight: 700; cursor: pointer;
}

/* ── Template variants ───────────────────────────────────────── */
/* Cards is the default. Bubbles: pointer speech-tail. Minimal: no card
   background, thin dividers, no shadow. Highlighted: single big card
   centred with larger typography. */
[data-fs-testimonials][data-template="bubbles"] [data-fs-ts-card] {
  border-radius: 18px !important;
  position: relative;
  padding-top: 24px;
}
[data-fs-testimonials][data-template="bubbles"] [data-fs-ts-card]::after {
  content: '';
  position: absolute; bottom: -8px; left: 22px;
  width: 16px; height: 16px;
  background: var(--fs-ts-card-bg);
  border-right: 1px solid var(--fs-ts-border);
  border-bottom: 1px solid var(--fs-ts-border);
  transform: rotate(45deg);
}
[data-fs-testimonials][data-template="bubbles"] [data-fs-ts-avatar-row] {
  order: 2; margin-top: 24px; margin-bottom: 0;
}
[data-fs-testimonials][data-template="bubbles"] [data-fs-ts-card] {
  display: flex; flex-direction: column;
}
[data-fs-testimonials][data-template="minimal"] [data-fs-ts-card] {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  border-top: 1px solid var(--fs-ts-border) !important;
  border-radius: 0 !important;
  padding: 20px 8px;
}
[data-fs-testimonials][data-template="highlighted"] [data-fs-ts-card] {
  padding: 40px;
  max-width: min(720px, var(--fs-layout-clamp, 720px));
  margin: 0 auto;
  text-align: center;
}
[data-fs-testimonials][data-template="highlighted"] [data-fs-ts-quote] {
  font-size: 20px; line-height: 1.5;
}
[data-fs-testimonials][data-template="highlighted"] [data-fs-ts-avatar-row] {
  justify-content: center;
  flex-direction: column;
  gap: 8px;
  text-align: center;
  margin-top: 20px;
}
[data-fs-testimonials][data-template="highlighted"] [data-fs-ts-avatar] {
  width: 72px; height: 72px;
}
[data-fs-testimonials][data-template="highlighted"] [data-fs-ts-attribution] { flex: none; }

/* ── ruled — the pull-quote shape ─────────────────────────────────
   The card reads quote → (stars) → caption, with the caption pinned to
   the FOOT of the card under a hairline however tall the card ends up.
   That last part is the whole reason this exists: in a grid of quotes
   of different lengths, captions that float directly under their quote
   make a ragged row, and every hand-built version of this block in
   theme-lab solved it with margin-top:auto.

   Pure order + margins on the existing tree — no markup change, so
   the five older templates cannot see any of it. */
[data-fs-testimonials][data-template="ruled"] [data-fs-ts-card] {
  display: flex; flex-direction: column;
}
[data-fs-testimonials][data-template="ruled"] [data-fs-ts-quote] { order: 1; margin-top: 0; }
[data-fs-testimonials][data-template="ruled"] [data-fs-ts-stars] { order: 2; align-self: flex-start; }
[data-fs-testimonials][data-template="ruled"][data-align="center"] [data-fs-ts-stars] { align-self: center; }
[data-fs-testimonials][data-template="ruled"][data-align="right"] [data-fs-ts-stars] { align-self: flex-end; }
[data-fs-testimonials][data-template="ruled"] [data-fs-ts-date],
[data-fs-testimonials][data-template="ruled"] [data-fs-ts-logo],
[data-fs-testimonials][data-template="ruled"] [data-fs-ts-video-btn] { order: 3; }
/* order 4 + margin-top:auto is the pin. The rule is the figcaption's
   own top border, not a divider element, so a card with nothing above
   it still reads correctly. */
[data-fs-testimonials][data-template="ruled"] [data-fs-ts-avatar-row] {
  order: 4;
  margin-top: auto;
  margin-bottom: 0;
  padding-top: 10px;
  border-top: 1px solid var(--fs-ts-border);
}

/* ── Carousel ────────────────────────────────────────────────── */
[data-fs-testimonials][data-carousel="1"] [data-fs-ts-viewport] {
  overflow: hidden; position: relative;
}
[data-fs-testimonials][data-carousel="1"] [data-fs-ts-track] {
  display: flex; gap: 20px;
  transition: transform 500ms cubic-bezier(0.16, 1, 0.3, 1);
}
[data-fs-testimonials][data-carousel="1"] [data-fs-ts-slide] { flex: 0 0 100%; min-width: 0; }
[data-fs-testimonials][data-carousel="1"][data-cols="2"] [data-fs-ts-slide] { flex: 0 0 calc(50% - 10px); }
[data-fs-testimonials][data-carousel="1"][data-cols="3"] [data-fs-ts-slide] { flex: 0 0 calc(33.333% - 14px); }
[data-fs-testimonials][data-carousel="1"] [data-fs-ts-carousel-controls] {
  display: flex; align-items: center; justify-content: center; gap: 16px;
  margin-top: 16px;
}
[data-fs-testimonials] [data-fs-ts-nav] {
  display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 999px;
  border: 1px solid var(--fs-ts-border);
  background: var(--fs-ts-card-bg);
  cursor: pointer; color: var(--fs-ts-heading);
}
[data-fs-testimonials] [data-fs-ts-nav]:disabled { opacity: 0.35; cursor: default; }
[data-fs-testimonials] [data-fs-ts-nav]:hover:not(:disabled) { border-color: var(--fs-ts-accent); color: var(--fs-ts-accent); }
[data-fs-testimonials] [data-fs-ts-dots] { display: inline-flex; gap: 6px; }
[data-fs-testimonials] [data-fs-ts-dot] {
  width: 8px; height: 8px; border-radius: 999px;
  background: var(--fs-ts-border); border: 0; cursor: pointer;
  padding: 0;
}
[data-fs-testimonials] [data-fs-ts-dot][data-active="1"] {
  background: var(--fs-ts-accent); width: 22px; border-radius: 4px;
}

/* ── Responsive modes ────────────────────────────────────────── */
@media (max-width: 720px) {
  [data-fs-testimonials][data-responsive="stack"] [data-fs-ts-grid] {
    grid-template-columns: 1fr !important;
  }
  [data-fs-testimonials][data-responsive="scroll"] [data-fs-ts-grid] {
    grid-auto-flow: column;
    grid-template-columns: none !important;
    grid-auto-columns: minmax(260px, 1fr);
    overflow-x: auto;
    padding-bottom: 8px;
  }
  [data-fs-testimonials][data-responsive="collapse"] [data-fs-ts-grid] > *:nth-child(n+3) {
    display: none;
  }
}

/* ── Video modal ─────────────────────────────────────────────── */
[data-fs-ts-video-overlay] {
  position: fixed; inset: 0; z-index: 90;
  background: rgba(0,0,0,0.7);
  display: flex; align-items: center; justify-content: center; padding: 24px;
}
[data-fs-ts-video] {
  max-width: min(720px, var(--fs-layout-clamp, 720px)); width: 100%; aspect-ratio: 16 / 9;
  background: #000; border-radius: 12px; overflow: hidden;
  position: relative;
}
[data-fs-ts-video] iframe, [data-fs-ts-video] video { width: 100%; height: 100%; border: 0; }
[data-fs-ts-video-close] {
  position: absolute; top: 8px; right: 8px; z-index: 2;
  width: 32px; height: 32px; border-radius: 999px;
  background: rgba(255,255,255,0.9); border: 0; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
}

/* ── Accessibility ──────────────────────────────────────────── */
[data-fs-testimonials] [data-fs-ts-card]:focus-visible {
  outline: 2px solid var(--fs-ts-accent); outline-offset: 2px;
}
[data-fs-testimonials] [data-fs-ts-nav]:focus-visible,
[data-fs-testimonials] [data-fs-ts-dot]:focus-visible {
  outline: 2px solid var(--fs-ts-accent); outline-offset: 2px;
}
@media (prefers-contrast: more) {
  [data-fs-testimonials] [data-fs-ts-card] { border-width: 2px !important; }
}


[data-fs-table] {
  --fs-tbl-heading: rgb(var(--c-ink-950, 15 14 23));
  /* PALETTE TOKENS, NOT LITERALS — and this was a real dark-mode bug,
     not a tidy-up. Four of these seven were raw hex (#3f3f46 body,
     #f4f4f5 header, #fafafa zebra, #f4f4f5 hover). Because they never
     moved with the mode, a table on ANY dark page rendered a white
     header bar and zinc-700 body text on a near-black card — measured
     1.4:1, invisible. The header TEXT was already palette-driven, so
     the header survived while the rows it labelled vanished.

     The fallbacks are the old literals to the channel, so a document
     that somehow emits no palette at all is byte-identical to before.

     The two surface washes are alpha over --c-ink-950 rather than a
     fixed grey, and that is the whole trick: ink-950 is near-black on a
     light page and near-white on a dark one, so the same rule reads as
     a faint darker band in light mode and a faint LIGHTER band in dark,
     which is what a header row is supposed to do in both. .045 and .02
     are the measured deltas of the old #f4f4f5 and #fafafa against
     white (11/255 and 5/255). */
  --fs-tbl-body: rgb(var(--c-ink-700, 63 63 70));
  --fs-tbl-border: rgb(var(--c-line, 228 228 231));
  --fs-tbl-header-bg: rgb(var(--c-ink-950, 24 24 27) / .045);
  --fs-tbl-zebra: rgb(var(--c-ink-950, 24 24 27) / .02);
  --fs-tbl-hover: rgb(var(--c-ink-950, 24 24 27) / .045);
  --fs-tbl-radius: var(--fs-radius-card, 10px);
  --fs-tbl-heading-font: inherit;
  --fs-tbl-body-font: inherit;
  width: 100%;
}

/* The optional intro paragraph, and the tighter heading margin that
   goes with it. Both selectors need the intro node to exist, so a
   table without one keeps the heading margin it has today. */
.fs-table-section > .fs-head-slot:has(+ .fs-table-intro) { margin-block-end: 0.6rem; }
.fs-table-intro {
  margin-block-end: var(--fs-space-gap, 20px);
  max-width: var(--fs-measure, 68ch);
}

/* The scroll wrapper is what makes "Scroll" responsive mode work and
   also clips the rounded corners of the table inside it. */
[data-fs-table] [data-fs-tbl-scroll] {
  width: 100%;
  border-radius: var(--fs-tbl-radius);
}
[data-fs-table][data-responsive="scroll"] [data-fs-tbl-scroll] { overflow-x: auto; }

[data-fs-table] table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--fs-tbl-body-font);
  color: var(--fs-tbl-body);
  background: var(--fs-tbl-bg, transparent);
}
[data-fs-table] th,
[data-fs-table] td {
  padding: 10px 14px;
  text-align: var(--fs-tbl-align, left);
  vertical-align: top;
}
/* Optional <caption>. Rendered only when the section carries one, so
   this rule matches nothing on a table that does not. */
[data-fs-table] caption {
  caption-side: top;
  text-align: left;
  padding: 10px 14px;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--fs-tbl-body);
}
[data-fs-table] th {
  font-family: var(--fs-tbl-heading-font);
  font-weight: 700;
  color: var(--fs-tbl-heading);
  background: var(--fs-tbl-header-bg);
}

/* ── Cell wrapping ───────────────────────────────────────────────
   Off → cells stay on one line (with ellipsis under scroll). On →
   normal wrapping. */
[data-fs-table][data-wrap="0"] th,
[data-fs-table][data-wrap="0"] td { white-space: nowrap; }
[data-fs-table][data-wrap="1"] th,
[data-fs-table][data-wrap="1"] td { white-space: normal; }

/* ── Header row toggle ──────────────────────────────────────────── */
[data-fs-table][data-header="0"] thead { display: none; }

/* ── Header column (comparison template) — first column emphasised ─ */
[data-fs-table][data-header-col="1"] tbody td:first-child {
  font-weight: 700;
  color: var(--fs-tbl-heading);
  background: var(--fs-tbl-header-bg);
}

/* ── Zebra striping ─────────────────────────────────────────────── */
[data-fs-table][data-zebra="1"] tbody tr:nth-child(even) td { background: var(--fs-tbl-zebra); }

/* ── Row hover highlight ────────────────────────────────────────── */
[data-fs-table][data-hover="1"] tbody tr:hover td { background: var(--fs-tbl-hover); }

/* ── Borders ────────────────────────────────────────────────────── */
[data-fs-table][data-border="none"] th,
[data-fs-table][data-border="none"] td { border: 0; }
[data-fs-table][data-border="thin"] th,
[data-fs-table][data-border="thin"] td { border: 1px solid var(--fs-tbl-border); }
[data-fs-table][data-border="thick"] th,
[data-fs-table][data-border="thick"] td { border: 2.5px solid var(--fs-tbl-border); }
/* Retro pixel border: hard black 2px, no anti-aliased softness. */
[data-fs-table][data-border="retro"] th,
[data-fs-table][data-border="retro"] td { border: 2px solid #000000; }

/* Minimal template = horizontal rules only, regardless of border pick,
   unless the author explicitly moves off "none". */
[data-fs-table][data-template="minimal"][data-border="none"] td { border-bottom: 1px solid var(--fs-tbl-border); }
[data-fs-table][data-template="minimal"][data-border="none"] th { border-bottom: 2px solid var(--fs-tbl-border); }

/* ── Corners ────────────────────────────────────────────────────── */
[data-fs-table][data-corners="square"] { --fs-tbl-radius: 0px; }
[data-fs-table][data-corners="rounded"] { --fs-tbl-radius: var(--fs-radius-card, 10px); }
[data-fs-table][data-corners="pill"] { --fs-tbl-radius: 22px; }

/* ── Shadows ────────────────────────────────────────────────────── */
[data-fs-table][data-shadow="none"] [data-fs-tbl-scroll] { box-shadow: none; }
[data-fs-table][data-shadow="soft"] [data-fs-tbl-scroll] { box-shadow: var(--fs-shadow-card, 0 4px 16px -6px rgba(24,24,27,0.18)); }
[data-fs-table][data-shadow="strong"] [data-fs-tbl-scroll] { box-shadow: 0 12px 30px -8px rgba(24,24,27,0.34); }

/* ── Background style ───────────────────────────────────────────── */
[data-fs-table][data-bg="transparent"] { --fs-tbl-bg: transparent; }
[data-fs-table][data-bg="light"] { --fs-tbl-bg: rgb(var(--c-paper-soft, 255 255 255)); }
[data-fs-table][data-bg="dark"] {
  --fs-tbl-bg: #17171f;
  --fs-tbl-heading: #f4f4f5;
  --fs-tbl-body: #d4d4d8;
  --fs-tbl-border: #3f3f46;
  --fs-tbl-header-bg: #23232c;
  --fs-tbl-zebra: #1d1d25;
  --fs-tbl-hover: #26262f;
}

/* ── Responsive: Stack ──────────────────────────────────────────────
   Each row becomes a card; each cell shows its column header via a
   data-label attribute the block writes. */
@media (max-width: 640px) {
  [data-fs-table][data-responsive="stack"] thead { display: none; }
  [data-fs-table][data-responsive="stack"] tbody tr {
    display: block;
    margin-bottom: 12px;
    border: 1px solid var(--fs-tbl-border);
    border-radius: var(--fs-tbl-radius);
    overflow: hidden;
  }
  [data-fs-table][data-responsive="stack"] tbody td {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    border: 0;
    border-bottom: 1px solid var(--fs-tbl-border);
  }
  [data-fs-table][data-responsive="stack"] tbody tr td:last-child { border-bottom: 0; }
  [data-fs-table][data-responsive="stack"] tbody td::before {
    content: attr(data-label);
    font-weight: 700;
    color: var(--fs-tbl-heading);
  }
  /* Collapse: hide all but the first column, show a hint. */
  [data-fs-table][data-responsive="collapse"] th:not(:first-child),
  [data-fs-table][data-responsive="collapse"] td:not(:first-child) { display: none; }
}


[data-fs-acc] {
  --fs-acc-heading: rgb(var(--c-ink-950, 15 14 23));
  --fs-acc-body: rgb(var(--c-ink-700, 82 82 91));
  --fs-acc-bg: transparent;
  --fs-acc-border: rgb(var(--c-line, 228 228 231));
  --fs-acc-hover: #f4f4f5;
  --fs-acc-icon: #6D28D9;
  --fs-acc-radius: var(--fs-radius-card, 12px);
  --fs-acc-open-ms: 280ms;
}

/* ── The animated panel ──────────────────────────────────────── */
[data-fs-acc] [data-fs-acc-panel] {
  display: grid;
  grid-template-rows: 0fr;
  /* Fluid open/close curve. cubic-bezier(0.32, 0.72, 0, 1) is the same
     easing used by iOS/macOS system sheets — quick take-off, gentle
     settle — which removes the linear "ease" jitter authors were
     seeing at longer durations. will-change tells the compositor to
     prepare a layer, which keeps the animation smooth even when
     several items sit on the page. */
  transition: grid-template-rows var(--fs-acc-open-ms) cubic-bezier(0.32, 0.72, 0, 1);
  will-change: grid-template-rows;
}
[data-fs-acc] [data-fs-acc-panel][data-open="true"] { grid-template-rows: 1fr; }
[data-fs-acc] [data-fs-acc-panel] > div { overflow: hidden; min-height: 0; }

/* A 0fr panel is still in the tab order and still read by screen readers.
   visibility:hidden takes it out of both. The delayed transition keeps it
   visible for the length of the close animation, then hides it. */
[data-fs-acc] [data-fs-acc-panel][data-open="false"] > div {
  visibility: hidden;
  transition: visibility 0s linear var(--fs-acc-open-ms), opacity var(--fs-acc-open-ms) cubic-bezier(0.32, 0.72, 0, 1);
}
[data-fs-acc] [data-fs-acc-panel][data-open="true"] > div {
  visibility: visible;
  transition-delay: 0s;
}

/* Fade / combined variants layer opacity on top of the height change. */
[data-fs-acc][data-anim="fade"] [data-fs-acc-panel] { grid-template-rows: 1fr; }
[data-fs-acc][data-anim="fade"] [data-fs-acc-panel][data-open="false"] { grid-template-rows: 0fr; }
[data-fs-acc][data-anim="fade"] [data-fs-acc-panel] > div,
[data-fs-acc][data-anim="both"] [data-fs-acc-panel] > div {
  opacity: 0;
  transition: opacity var(--fs-acc-open-ms) cubic-bezier(0.32, 0.72, 0, 1);
}
[data-fs-acc][data-anim="fade"] [data-fs-acc-panel][data-open="true"] > div,
[data-fs-acc][data-anim="both"] [data-fs-acc-panel][data-open="true"] > div { opacity: 1; }

[data-fs-acc][data-anim="none"] [data-fs-acc-panel] { transition: none; }

/* ── Header ──────────────────────────────────────────────────── */
[data-fs-acc] [data-fs-acc-header] {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 0.75rem;
  text-align: inherit;
  background: none;
  border: 0;
  cursor: pointer;
  color: var(--fs-acc-heading);
  transition: background-color 180ms ease;
}
[data-fs-acc] [data-fs-acc-header]:hover { background-color: var(--fs-acc-hover); }
[data-fs-acc] [data-fs-acc-header]:focus-visible {
  outline: 2px solid var(--fs-acc-icon);
  outline-offset: -2px;
}
[data-fs-acc][data-hover="underline"] [data-fs-acc-header]:hover { background-color: transparent; }
[data-fs-acc][data-hover="underline"] [data-fs-acc-header]:hover [data-fs-acc-title] { text-decoration: underline; }
[data-fs-acc][data-hover="none"] [data-fs-acc-header]:hover { background-color: transparent; }

[data-fs-acc] [data-fs-acc-body] { color: var(--fs-acc-body); }
[data-fs-acc] [data-fs-acc-icon] { color: var(--fs-acc-icon); flex: none; margin-left: auto; }

/* ── Icon animation ──────────────────────────────────────────── */
[data-fs-acc] [data-fs-acc-icon] svg { transition: transform var(--fs-acc-open-ms) ease; }
[data-fs-acc] [data-fs-acc-header][aria-expanded="true"] [data-fs-acc-icon][data-rotate="1"] svg { transform: rotate(180deg); }
/* Plus → minus: the vertical bar of the plus scales away. */
[data-fs-acc] [data-fs-acc-plus-bar] {
  transition: transform var(--fs-acc-open-ms) ease, opacity var(--fs-acc-open-ms) ease;
  transform-origin: center;
}
[data-fs-acc] [data-fs-acc-header][aria-expanded="true"] [data-fs-acc-plus-bar] { transform: scaleY(0); opacity: 0; }

/* ── Layout variants ─────────────────────────────────────────── */
[data-fs-acc][data-layout="standard"] [data-fs-acc-item] {
  border: 1px solid var(--fs-acc-border);
  border-radius: var(--fs-acc-radius);
  background: var(--fs-acc-bg);
  margin-bottom: 0.5rem;
}
[data-fs-acc][data-layout="minimal"] [data-fs-acc-item] { border: 0; background: transparent; }
[data-fs-acc][data-layout="boxed"] [data-fs-acc-item] {
  border: 1px solid var(--fs-acc-border);
  border-radius: var(--fs-acc-radius);
  background: var(--fs-acc-bg);
  box-shadow: 0 6px 18px rgb(0 0 0 / 0.06);
  margin-bottom: 0.75rem;
}
[data-fs-acc][data-layout="divider"] [data-fs-acc-item] {
  border: 0;
  border-bottom: 1px solid var(--fs-acc-border);
  border-radius: 0;
  background: transparent;
}

/* Authored pixel variants remain available without a global editor skin. */
[data-fs-acc][data-border="retro"] [data-fs-acc-item] {
  border: 2px solid var(--fs-acc-border);
  border-radius: 0;
  box-shadow: none;
}
[data-fs-acc][data-hover="glow"] [data-fs-acc-item]:hover {
  box-shadow: 0 0 0 2px var(--fs-acc-bg), 0 0 0 4px var(--fs-acc-border);
}
[data-fs-acc] [data-fs-acc-pixel-arrow] {
  width: 0; height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 7px solid currentColor;
  image-rendering: pixelated;
  transition: transform var(--fs-acc-open-ms) steps(4, end);
}
[data-fs-acc] [data-fs-acc-header][aria-expanded="true"] [data-fs-acc-pixel-arrow] {
  transform: rotate(180deg);
}

/* Border + corner overrides, applied on top of the layout. */
[data-fs-acc][data-border="none"] [data-fs-acc-item] { border: 0 !important; }
[data-fs-acc][data-border="thin"] [data-fs-acc-item] { border: 1px solid var(--fs-acc-border); }
[data-fs-acc][data-corners="square"] [data-fs-acc-item] { border-radius: 0 !important; }

[data-fs-acc] mark {
  background: color-mix(in srgb, var(--fs-acc-icon) 22%, transparent);
  color: inherit;
  border-radius: 2px;
}

@media (prefers-reduced-motion: reduce) {
  [data-fs-acc] *, [data-fs-acc] *::before, [data-fs-acc] *::after {
    transition: none !important;
    animation: none !important;
  }
}


[data-fs-alert] {
  --fs-al-bg: #EFF6FF;
  --fs-al-text: #1E3A8A;
  --fs-al-border: #BFDBFE;
  --fs-al-icon: #2563EB;
  --fs-al-btn: #2563EB;
  --fs-al-btn-text: rgb(var(--c-paper-soft, 255 255 255));
  --fs-al-radius: var(--fs-radius-card, 12px);
  --fs-al-padding: var(--fs-space-card, 16px);
  --fs-al-margin: 12px;
  --fs-al-heading-font: inherit;
  --fs-al-body-font: inherit;
  --fs-al-heading-size: 16px;
  --fs-al-body-size: 14px;
  --fs-al-heading-weight: 700;
  --fs-al-body-weight: 400;
  --fs-al-align: left;

  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: var(--fs-al-padding);
  margin: 0 0 var(--fs-al-margin) 0;
  background: var(--fs-al-bg);
  color: var(--fs-al-text);
  border-radius: var(--fs-al-radius);
  text-align: var(--fs-al-align);
  font-family: var(--fs-al-body-font);
  position: relative;
}

/* ── Borders ───────────────────────────────────────────────────── */
[data-fs-alert][data-border="none"] { border: 0; }
[data-fs-alert][data-border="thin"] { border: 1px solid var(--fs-al-border); }
[data-fs-alert][data-border="thick"] { border: 2.5px solid var(--fs-al-border); }

/* ── Corners ───────────────────────────────────────────────────── */
[data-fs-alert][data-corners="square"] { --fs-al-radius: 0px; }
[data-fs-alert][data-corners="rounded"] { --fs-al-radius: var(--fs-radius-card, 12px); }
[data-fs-alert][data-corners="pill"] { --fs-al-radius: 999px; }

/* ── Shadows ───────────────────────────────────────────────────── */
[data-fs-alert][data-shadow="none"] { box-shadow: none; }
[data-fs-alert][data-shadow="soft"] { box-shadow: var(--fs-shadow-card, 0 4px 16px -6px rgba(24,24,27,0.14)); }
[data-fs-alert][data-shadow="strong"] { box-shadow: var(--fs-shadow-lift, 0 14px 32px -8px rgba(24,24,27,0.28)); }

/* ── Layouts ───────────────────────────────────────────────────── */
[data-fs-alert][data-layout="bar"] { width: 100%; --fs-al-radius: 0px; }
[data-fs-alert][data-layout="card"] { max-width: min(640px, var(--fs-layout-clamp, 640px)); }
[data-fs-alert][data-layout="inline"] {
  display: inline-flex;
  vertical-align: middle;
  padding: 6px 12px;
  gap: 6px;
  font-size: 13px;
  margin: 0 4px;
}
[data-fs-alert][data-layout="floating"] {
  position: fixed;
  z-index: 60;
  max-width: 360px;
  margin: 0;
}
[data-fs-alert][data-layout="floating"][data-corner="topRight"] { top: 20px; right: 20px; }
[data-fs-alert][data-layout="floating"][data-corner="topLeft"] { top: 20px; left: 20px; }
[data-fs-alert][data-layout="floating"][data-corner="bottomRight"] { bottom: 20px; right: 20px; }
[data-fs-alert][data-layout="floating"][data-corner="bottomLeft"] { bottom: 20px; left: 20px; }
[data-fs-alert][data-layout="sticky"] {
  position: sticky;
  top: 12px;
  z-index: 40;
}
[data-fs-alert][data-layout="iconText"] { align-items: center; }
[data-fs-alert][data-layout="imageText"] { align-items: flex-start; }

/* ── Icon / image ──────────────────────────────────────────────── */
[data-fs-alert] [data-fs-al-icon] {
  flex: none;
  color: var(--fs-al-icon);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
[data-fs-alert] [data-fs-al-icon] svg { width: 20px; height: 20px; }
[data-fs-alert] [data-fs-al-custom-icon] {
  width: 24px; height: 24px; object-fit: contain; flex: none;
}
[data-fs-alert] [data-fs-al-image] {
  width: 88px; height: 88px; object-fit: cover; flex: none;
  border-radius: calc(var(--fs-al-radius) - 4px);
}
[data-fs-alert][data-layout="inline"] [data-fs-al-image] { width: 32px; height: 32px; }

/* ── Body ──────────────────────────────────────────────────────── */
[data-fs-alert] [data-fs-al-body] { flex: 1; min-width: 0; }
[data-fs-alert] [data-fs-al-heading] {
  font-family: var(--fs-al-heading-font);
  font-size: var(--fs-al-heading-size);
  font-weight: var(--fs-al-heading-weight);
  color: var(--fs-al-text);
  margin: 0 0 4px 0;
}
[data-fs-alert] [data-fs-al-desc] {
  font-size: var(--fs-al-body-size);
  font-weight: var(--fs-al-body-weight);
  color: var(--fs-al-text);
  opacity: 0.9;
  margin: 0;
}
[data-fs-alert][data-layout="inline"] [data-fs-al-heading] { display: inline; margin: 0 6px 0 0; }
[data-fs-alert][data-layout="inline"] [data-fs-al-desc] { display: inline; }

/* ── Inline links ──────────────────────────────────────────────── */
[data-fs-alert] [data-fs-al-inline-link] {
  color: var(--fs-al-text);
  font-weight: 700;
  text-decoration: underline;
  margin-left: 6px;
}

/* ── Actions row (button + form) ───────────────────────────────── */
[data-fs-alert] [data-fs-al-actions] {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
  margin-top: 10px;
}
[data-fs-alert] [data-fs-al-btn] {
  display: inline-block;
  padding: 8px 14px;
  background: var(--fs-al-btn);
  color: var(--fs-al-btn-text);
  border: 0;
  border-radius: 8px;
  font-weight: 700;
  font-size: 13px;
  cursor: pointer;
  text-decoration: none;
}
[data-fs-alert] [data-fs-al-form] {
  display: flex; gap: 6px; flex: 1; min-width: 220px;
}
[data-fs-alert] [data-fs-al-form] input {
  flex: 1;
  padding: 8px 12px;
  border: 1px solid var(--fs-al-border);
  border-radius: 8px;
  background: #ffffff;
  color: #111827;
  font-size: 13px;
}
[data-fs-alert] [data-fs-al-form] input:focus-visible {
  outline: 2px solid var(--fs-al-btn);
  outline-offset: 2px;
}

/* ── Dismiss controls ──────────────────────────────────────────── */
[data-fs-alert] [data-fs-al-close] {
  position: absolute;
  top: 8px;
  right: 8px;
  background: transparent;
  border: 0;
  color: var(--fs-al-text);
  cursor: pointer;
  opacity: 0.7;
  padding: 4px;
  border-radius: 6px;
}
[data-fs-alert] [data-fs-al-close]:hover,
[data-fs-alert] [data-fs-al-close]:focus-visible { opacity: 1; outline: 2px solid var(--fs-al-btn); outline-offset: 2px; }
[data-fs-alert] [data-fs-al-gotit] {
  display: inline-block;
  padding: 6px 12px;
  border-radius: 8px;
  background: transparent;
  border: 1px solid var(--fs-al-border);
  color: var(--fs-al-text);
  font-weight: 700;
  font-size: 12px;
  cursor: pointer;
}
[data-fs-alert][data-dismiss="x"] [data-fs-al-gotit],
[data-fs-alert][data-dismiss="gotIt"] [data-fs-al-close],
[data-fs-alert][data-dismiss="auto"] [data-fs-al-close],
[data-fs-alert][data-dismiss="auto"] [data-fs-al-gotit],
[data-fs-alert][data-dismiss="persistent"] [data-fs-al-close],
[data-fs-alert][data-dismiss="persistent"] [data-fs-al-gotit] { display: none; }

/* ── Animations ────────────────────────────────────────────────── */
@keyframes fs-al-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes fs-al-fade-out { from { opacity: 1; } to { opacity: 0; } }
@keyframes fs-al-slide-in { from { transform: translateY(10px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
@keyframes fs-al-slide-out { from { transform: translateY(0); opacity: 1; } to { transform: translateY(10px); opacity: 0; } }
@keyframes fs-al-zoom-in { from { transform: scale(0.94); opacity: 0; } to { transform: scale(1); opacity: 1; } }
[data-fs-alert][data-anim="fadeIn"] { animation: fs-al-fade-in 240ms ease both; }
[data-fs-alert][data-anim="slideIn"] { animation: fs-al-slide-in 260ms cubic-bezier(0.16, 1, 0.3, 1) both; }
[data-fs-alert][data-anim="zoomIn"] { animation: fs-al-zoom-in 220ms ease both; }
[data-fs-alert][data-anim="fadeOut"] { animation: fs-al-fade-out 220ms ease both; }
[data-fs-alert][data-anim="slideOut"] { animation: fs-al-slide-out 220ms ease both; }

/* ── Accessibility: focus rings & high-contrast media query ────── */
[data-fs-alert]:focus-visible { outline: 2px solid var(--fs-al-btn); outline-offset: 2px; }
@media (prefers-contrast: more) {
  [data-fs-alert] {
    border-width: 2px !important;
    outline: 1px solid currentColor;
  }
  [data-fs-alert] [data-fs-al-desc] { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  [data-fs-alert] { animation: none !important; }
}


[data-fs-cd] {
  --fs-cd-number: rgb(var(--c-ink-950, 15 14 23));
  --fs-cd-label: rgb(var(--c-ink-700, 82 82 91));
  --fs-cd-bg: transparent;
  --fs-cd-card-bg: rgb(var(--c-paper-soft, 255 255 255));
  --fs-cd-border: rgb(var(--c-line, 228 228 231));
  --fs-cd-accent: rgb(var(--c-brand-600, 109 40 217));
  --fs-cd-urgent: #dc2626;
  --fs-cd-radius: var(--fs-radius-card, 12px);
  --fs-cd-gap: 1rem;
  --fs-cd-pad: 1rem;
  --fs-cd-num-size: 44px;
  --fs-cd-label-size: 12px;
  --fs-cd-anim-ms: 400ms;
  background: var(--fs-cd-bg);
}

[data-fs-cd] [data-fs-cd-units] { display: flex; gap: var(--fs-cd-gap); }
[data-fs-cd] [data-fs-cd-unit] {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 0;
}
[data-fs-cd] [data-fs-cd-value] {
  font-variant-numeric: tabular-nums;
  font-size: var(--fs-cd-num-size);
  line-height: 1.05;
  font-weight: 700;
  color: var(--fs-cd-number);
  padding: var(--fs-cd-pad);
  display: inline-block;
}
[data-fs-cd] [data-fs-cd-label] {
  font-size: var(--fs-cd-label-size);
  color: var(--fs-cd-label);
  letter-spacing: 0.06em;
}
[data-fs-cd][data-label-case="upper"] [data-fs-cd-label] { text-transform: uppercase; }
[data-fs-cd][data-label-case="lower"] [data-fs-cd-label] { text-transform: lowercase; }

/* ── Layouts ─────────────────────────────────────────────────── */
[data-fs-cd][data-layout="horizontal"] [data-fs-cd-units] { flex-direction: row; flex-wrap: wrap; justify-content: center; }
[data-fs-cd][data-layout="horizontal"][data-label-pos="above"] [data-fs-cd-unit] { flex-direction: column-reverse; }

[data-fs-cd][data-layout="vertical"] [data-fs-cd-units] { flex-direction: column; align-items: center; }
[data-fs-cd][data-layout="vertical"][data-label-pos="beside"] [data-fs-cd-unit] {
  flex-direction: row;
  align-items: baseline;
  gap: 0.5rem;
}

[data-fs-cd][data-layout="card"] [data-fs-cd-units] { flex-direction: row; flex-wrap: wrap; justify-content: center; }
[data-fs-cd][data-layout="card"] [data-fs-cd-unit] {
  background: var(--fs-cd-card-bg);
  border: 1px solid var(--fs-cd-border);
  border-radius: var(--fs-cd-radius);
  padding: 0.75rem 1rem;
  box-shadow: 0 4px 14px rgb(0 0 0 / 0.06);
}

[data-fs-cd][data-layout="inline"] [data-fs-cd-units] { display: inline; }
[data-fs-cd][data-layout="inline"] [data-fs-cd-inline] {
  font-variant-numeric: tabular-nums;
  font-size: var(--fs-cd-label-size);
  font-weight: 600;
  color: var(--fs-cd-number);
}

/* ── Number styles ───────────────────────────────────────────── */
[data-fs-cd][data-num="solid"] [data-fs-cd-value] {
  background: var(--fs-cd-accent);
  color: #fff;
  border-radius: var(--fs-cd-radius);
}
[data-fs-cd][data-num="outlined"] [data-fs-cd-value] {
  border: 2px solid var(--fs-cd-accent);
  border-radius: var(--fs-cd-radius);
  background: transparent;
}
[data-fs-cd][data-num="minimal"] [data-fs-cd-value] { background: transparent; border: 0; padding: 0.25rem; }

/* ── Borders + corners (applied to cards and number blocks) ──── */
[data-fs-cd][data-border="none"] [data-fs-cd-unit],
[data-fs-cd][data-border="none"] [data-fs-cd-value] { border: 0 !important; }
[data-fs-cd][data-border="thin"] [data-fs-cd-unit] { border: 1px solid var(--fs-cd-border); }
[data-fs-cd][data-border="thick"] [data-fs-cd-unit] { border: 3px solid var(--fs-cd-border); }
[data-fs-cd][data-border="retro"] [data-fs-cd-unit] { border: 3px solid var(--fs-cd-border); border-radius: 0; box-shadow: 2px 2px 0 var(--fs-cd-border); }
[data-fs-cd][data-corners="square"] { --fs-cd-radius: 0px; }
[data-fs-cd][data-corners="rounded"] { --fs-cd-radius: var(--fs-radius-card, 12px); }

/* ── Number change animations ────────────────────────────────── */
@keyframes fs-cd-flip {
  from { transform: rotateX(-90deg); opacity: 0; }
  to { transform: rotateX(0); opacity: 1; }
}
@keyframes fs-cd-slide { from { transform: translateY(-60%); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes fs-cd-fade { from { opacity: 0; } to { opacity: 1; } }

[data-fs-cd][data-change="flip"] [data-fs-cd-digit] {
  display: inline-block;
  animation: fs-cd-flip var(--fs-cd-anim-ms) ease-out both;
  transform-origin: center top;
}
[data-fs-cd][data-change="slide"] [data-fs-cd-digit] { display: inline-block; animation: fs-cd-slide var(--fs-cd-anim-ms) ease-out both; }
[data-fs-cd][data-change="fade"] [data-fs-cd-digit] { display: inline-block; animation: fs-cd-fade var(--fs-cd-anim-ms) ease-out both; }
[data-fs-cd][data-change="none"] [data-fs-cd-digit] { animation: none; }

/* ── Entrance animations ─────────────────────────────────────── */
@keyframes fs-cd-in-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes fs-cd-in-slide { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
@keyframes fs-cd-in-zoom { from { opacity: 0; transform: scale(.92); } to { opacity: 1; transform: none; } }

[data-fs-cd][data-enter="fade"] [data-fs-cd-frame] { animation: fs-cd-in-fade 500ms ease-out both; }
[data-fs-cd][data-enter="slide"] [data-fs-cd-frame] { animation: fs-cd-in-slide 500ms cubic-bezier(.22,.61,.36,1) both; }
[data-fs-cd][data-enter="zoom"] [data-fs-cd-frame] { animation: fs-cd-in-zoom 500ms cubic-bezier(.22,.61,.36,1) both; }
[data-fs-cd][data-enter="none"] [data-fs-cd-frame] { animation: none; }

/* ── Urgency ─────────────────────────────────────────────────── */
@keyframes fs-cd-pulse { 0%,100% { transform: scale(1); } 50% { transform: scale(1.045); } }
@keyframes fs-cd-flicker { 0%,49% { opacity: 1; } 50%,100% { opacity: 0.35; } }
[data-fs-cd][data-urgent="1"][data-urgency="flicker"] [data-fs-cd-units] {
  animation: fs-cd-flicker 700ms steps(1, end) infinite;
}


[data-fs-cd][data-urgent="1"][data-urgency="pulse"] [data-fs-cd-units] {
  animation: fs-cd-pulse 1.1s ease-in-out infinite;
}
[data-fs-cd][data-urgent="1"][data-urgency="colour"] [data-fs-cd-value],
[data-fs-cd][data-urgent="1"][data-urgency="colour"] [data-fs-cd-inline] {
  color: var(--fs-cd-urgent);
  transition: color 400ms ease;
}
[data-fs-cd][data-urgent="1"][data-urgency="colour"][data-num="solid"] [data-fs-cd-value] {
  background: var(--fs-cd-urgent);
  color: #fff;
}

/* ── Button ──────────────────────────────────────────────────── */
[data-fs-cd] [data-fs-cd-btn] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.7rem 1.4rem;
  font-weight: 600;
  color: #fff;
  background: var(--fs-cd-accent);
  border-radius: 10px;
  transition: filter 180ms ease;
}
[data-fs-cd][data-btn-shape="square"] [data-fs-cd-btn] { border-radius: 0; }
[data-fs-cd][data-btn-shape="pill"] [data-fs-cd-btn] { border-radius: 9999px; }
[data-fs-cd] [data-fs-cd-btn]:hover { filter: brightness(1.12); }
[data-fs-cd] [data-fs-cd-btn]:focus-visible { outline: 2px solid var(--fs-cd-accent); outline-offset: 2px; }

[data-fs-cd] [data-fs-cd-error] { color: #dc2626; font-size: 0.8rem; }

@media (prefers-reduced-motion: reduce) {
  [data-fs-cd] *, [data-fs-cd] *::before, [data-fs-cd] *::after {
    animation: none !important;
    transition: none !important;
  }
}


[data-fs-slider] {
  --fs-sl-text: rgb(var(--c-ink-950, 15 14 23));
  --fs-sl-muted: rgb(var(--c-ink-700, 82 82 91));
  --fs-sl-bg: transparent;
  --fs-sl-card-bg: rgb(var(--c-paper-soft, 255 255 255));
  --fs-sl-border: rgb(var(--c-line, 228 228 231));
  --fs-sl-accent: rgb(var(--c-brand-600, 109 40 217));
  --fs-sl-icon: #6D28D9;
  --fs-sl-radius: var(--fs-radius-card, 14px);
  --fs-sl-gap: 12px;
  --fs-sl-pad: 20px;
  --fs-sl-anim-ms: 450ms;
  --fs-sl-per: 1;
  background: var(--fs-sl-bg);
}

[data-fs-slider] [data-fs-sl-viewport] { overflow: hidden; position: relative; }

/* The track. Its transform is set inline by the block. */
[data-fs-slider] [data-fs-sl-track] {
  display: flex;
  transition: transform var(--fs-sl-anim-ms) cubic-bezier(.22,.61,.36,1);
}
[data-fs-slider] [data-fs-sl-slide] {
  flex: 0 0 calc(100% / var(--fs-sl-per));
  min-width: 0;
  box-sizing: border-box;
  padding: calc(var(--fs-sl-gap) / 2);
}

/* The card inside each slide. */
[data-fs-slider] [data-fs-sl-card] {
  height: 100%;
  padding: var(--fs-sl-pad);
  border-radius: var(--fs-sl-radius);
  background: var(--fs-sl-card-bg);
  color: var(--fs-sl-text);
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}

/* ── Per-slide layouts ───────────────────────────────────────── */
[data-fs-slider] [data-sl-layout="imageText"] [data-fs-sl-card] { flex-direction: row; align-items: center; gap: 1.25rem; }
[data-fs-slider] [data-sl-layout="imageText"] [data-fs-sl-media] { flex: 0 0 44%; }
[data-fs-slider] [data-sl-layout="iconText"] [data-fs-sl-card] { align-items: flex-start; }
[data-fs-slider] [data-sl-layout="textOnly"] [data-fs-sl-media],
[data-fs-slider] [data-sl-layout="iconText"] [data-fs-sl-media] { display: none; }
[data-fs-slider] [data-sl-layout="imageOnly"] [data-fs-sl-body] { display: none; }
[data-fs-slider] [data-sl-layout="imageOnly"] [data-fs-sl-card] { padding: 0; overflow: hidden; }

[data-fs-slider] [data-fs-sl-media] img { width: 100%; height: 100%; object-fit: cover; border-radius: calc(var(--fs-sl-radius) / 2); display: block; }
[data-fs-slider] [data-sl-layout="imageOnly"] [data-fs-sl-media] img { border-radius: 0; aspect-ratio: 16 / 9; }

/* ── Layout modes (whole-slider) ─────────────────────────────── */
[data-fs-slider][data-mode="boxed"] { max-width:var(--fs-layout-max,72rem); margin-inline: auto; }
[data-fs-slider][data-mode="full"] { max-width: none; }
[data-fs-slider][data-mode="inline"] [data-fs-sl-card] { flex-direction: row; align-items: center; padding: 0.5rem 1rem; gap: 1rem; }
[data-fs-slider][data-mode="inline"] [data-fs-sl-media] { display: none; }
[data-fs-slider][data-mode="vertical"] [data-fs-sl-track] { flex-direction: column; }
[data-fs-slider][data-mode="vertical"] [data-fs-sl-slide] { flex-basis: auto; }

/* ── Transitions other than slide: stack + animate the active one. */
[data-fs-slider][data-transition="fade"] [data-fs-sl-track],
[data-fs-slider][data-transition="zoom"] [data-fs-sl-track],
[data-fs-slider][data-transition="flip"] [data-fs-sl-track] {
  display: grid;
  transition: none;
}
[data-fs-slider][data-transition="fade"] [data-fs-sl-slide],
[data-fs-slider][data-transition="zoom"] [data-fs-sl-slide],
[data-fs-slider][data-transition="flip"] [data-fs-sl-slide] {
  grid-area: 1 / 1;
  visibility: hidden;
}
[data-fs-slider][data-transition="fade"] [data-fs-sl-slide][data-active="1"],
[data-fs-slider][data-transition="zoom"] [data-fs-sl-slide][data-active="1"],
[data-fs-slider][data-transition="flip"] [data-fs-sl-slide][data-active="1"] { visibility: visible; }

@keyframes fs-sl-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes fs-sl-zoom { from { opacity: 0; transform: scale(.94); } to { opacity: 1; transform: none; } }
@keyframes fs-sl-flip { from { opacity: 0; transform: rotateY(-70deg); } to { opacity: 1; transform: none; } }
[data-fs-slider][data-transition="fade"] [data-fs-sl-slide][data-active="1"] { animation: fs-sl-fade var(--fs-sl-anim-ms) ease-out both; }
[data-fs-slider][data-transition="zoom"] [data-fs-sl-slide][data-active="1"] { animation: fs-sl-zoom var(--fs-sl-anim-ms) ease-out both; }
[data-fs-slider][data-transition="flip"] [data-fs-sl-slide][data-active="1"] { animation: fs-sl-flip var(--fs-sl-anim-ms) ease-out both; perspective: 900px; }
[data-fs-slider][data-transition="none"] [data-fs-sl-track] { transition: none; }

/* ── Navigation ──────────────────────────────────────────────── */
[data-fs-slider] [data-fs-sl-arrow] {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 9999px;
  background: var(--fs-sl-card-bg);
  color: var(--fs-sl-text);
  border: 1px solid var(--fs-sl-border);
  box-shadow: 0 2px 10px rgb(0 0 0 / 0.10);
  transition: background-color 150ms ease;
}
[data-fs-slider] [data-fs-sl-arrow]:hover:not(:disabled) { background: var(--fs-sl-accent); color: #fff; }
[data-fs-slider] [data-fs-sl-arrow]:disabled { opacity: 0.35; cursor: default; }
[data-fs-slider] [data-fs-sl-arrow]:focus-visible { outline: 2px solid var(--fs-sl-accent); outline-offset: 2px; }
[data-fs-slider] [data-fs-sl-arrow="prev"] { left: 0.4rem; }
[data-fs-slider] [data-fs-sl-arrow="next"] { right: 0.4rem; }

[data-fs-slider] [data-fs-sl-dots] { display: flex; justify-content: center; gap: 0.45rem; margin-top: 0.9rem; }
[data-fs-slider] [data-fs-sl-dot] {
  width: 0.6rem; height: 0.6rem;
  border-radius: 9999px;
  background: var(--fs-sl-border);
  transition: background-color 150ms ease, transform 150ms ease;
}
[data-fs-slider] [data-fs-sl-dot][aria-current="true"] { background: var(--fs-sl-accent); transform: scale(1.25); }
[data-fs-slider] [data-fs-sl-dot]:focus-visible { outline: 2px solid var(--fs-sl-accent); outline-offset: 2px; }

[data-fs-slider] [data-fs-sl-thumbs] { display: flex; justify-content: center; gap: 0.5rem; margin-top: 0.75rem; flex-wrap: wrap; }
[data-fs-slider] [data-fs-sl-thumb] {
  width: 3.6rem; height: 2.4rem;
  border-radius: 6px;
  overflow: hidden;
  border: 2px solid transparent;
  opacity: 0.65;
  transition: opacity 150ms ease, border-color 150ms ease;
}
[data-fs-slider] [data-fs-sl-thumb] img { width: 100%; height: 100%; object-fit: cover; display: block; }
[data-fs-slider] [data-fs-sl-thumb][aria-current="true"] { border-color: var(--fs-sl-accent); opacity: 1; }
[data-fs-slider] [data-fs-sl-thumb]:focus-visible { outline: 2px solid var(--fs-sl-accent); outline-offset: 2px; }

/* Dragging: the block toggles this while a pointer is down. */
[data-fs-slider][data-dragging="1"] [data-fs-sl-track] { transition: none; cursor: grabbing; user-select: none; }
[data-fs-slider] [data-fs-sl-viewport][data-swipe="1"] { touch-action: pan-y; cursor: grab; }

/* ── Per-type touches ────────────────────────────────────────── */
[data-fs-slider][data-type="quote"] [data-fs-sl-icon],
[data-fs-slider][data-type="testimonial"] [data-fs-sl-icon] { color: var(--fs-sl-accent); }
[data-fs-slider][data-type="quote"] [data-fs-sl-desc] { font-size: 1.25em; font-style: italic; }
[data-fs-slider][data-type="stats"] [data-fs-sl-title] { font-size: 2.2em; color: var(--fs-sl-accent); }
[data-fs-slider][data-type="logo"] [data-fs-sl-media] img { object-fit: contain; aspect-ratio: auto; height: 4.5rem; }
[data-fs-slider][data-type="logo"] [data-fs-sl-card] { background: transparent; }
[data-fs-slider][data-type="process"] [data-fs-sl-slide],
[data-fs-slider][data-type="timeline"] [data-fs-sl-slide] { position: relative; }
[data-fs-slider][data-type="process"] [data-fs-sl-step],
[data-fs-slider][data-type="timeline"] [data-fs-sl-step] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.8rem; height: 1.8rem;
  border-radius: 9999px;
  background: var(--fs-sl-accent);
  color: #fff;
  font-size: 0.8rem;
  font-weight: 700;
}
[data-fs-slider]:not([data-type="process"]):not([data-type="timeline"]) [data-fs-sl-step] { display: none; }

/* ── Borders, corners, shadows ───────────────────────────────── */
[data-fs-slider][data-border="thin"] [data-fs-sl-card] { border: 1px solid var(--fs-sl-border); }
[data-fs-slider][data-border="thick"] [data-fs-sl-card] { border: 3px solid var(--fs-sl-border); }
[data-fs-slider][data-border="retro"] [data-fs-sl-card] { border: 3px solid var(--fs-sl-border); border-radius: 0; box-shadow: 3px 3px 0 var(--fs-sl-border); }
[data-fs-slider][data-border="none"] [data-fs-sl-card] { border: 0; }
[data-fs-slider][data-corners="square"] { --fs-sl-radius: 0px; }
[data-fs-slider][data-corners="rounded"] { --fs-sl-radius: var(--fs-radius-card, 14px); }
[data-fs-slider][data-shadow="soft"] [data-fs-sl-card] { box-shadow: 0 6px 22px rgb(0 0 0 / 0.08); }
[data-fs-slider][data-shadow="strong"] [data-fs-sl-card] { box-shadow: 0 16px 44px rgb(0 0 0 / 0.22); }
[data-fs-slider][data-shadow="none"] [data-fs-sl-card] { box-shadow: none; }

/* ── Text bits ───────────────────────────────────────────────── */
[data-fs-slider] [data-fs-sl-title] { font-weight: 700; color: var(--fs-sl-text); }
[data-fs-slider] [data-fs-sl-subtitle] { font-weight: 600; color: var(--fs-sl-muted); font-size: 0.9em; }
[data-fs-slider] [data-fs-sl-desc] { color: var(--fs-sl-muted); }
[data-fs-slider] [data-fs-sl-icon] { color: var(--fs-sl-icon); }
[data-fs-slider][data-align="center"] [data-fs-sl-card] { text-align: center; align-items: center; }
[data-fs-slider][data-align="right"] [data-fs-sl-card] { text-align: right; align-items: flex-end; }

[data-fs-slider] [data-fs-sl-btn] {
  display: inline-flex;
  align-items: center;
  padding: 0.55rem 1.15rem;
  border-radius: 9px;
  font-weight: 600;
  background: var(--fs-sl-accent);
  color: #fff;
  transition: filter 160ms ease;
  align-self: flex-start;
}
[data-fs-slider][data-align="center"] [data-fs-sl-btn] { align-self: center; }
[data-fs-slider] [data-fs-sl-btn]:hover { filter: brightness(1.12); }
[data-fs-slider] [data-fs-sl-btn]:focus-visible { outline: 2px solid var(--fs-sl-accent); outline-offset: 2px; }

@media (prefers-reduced-motion: reduce) {
  [data-fs-slider] [data-fs-sl-track] { transition: none !important; }
  [data-fs-slider] *, [data-fs-slider] *::before, [data-fs-slider] *::after {
    animation: none !important;
    transition: none !important;
  }
}


[data-fs-fm][data-layout="split"][data-field-columns="2"] [data-fs-fm-grid]{grid-template-columns:repeat(2,minmax(0,1fr))}
[data-fs-fm][data-input-style="underline"] input:not([type=checkbox]):not([type=radio]),[data-fs-fm][data-input-style="underline"] textarea,[data-fs-fm][data-input-style="underline"] select{border-width:0 0 1px;border-radius:0;background:transparent}
@media(max-width:639px){[data-fs-fm][data-layout="split"][data-field-columns="2"] [data-fs-fm-grid]{grid-template-columns:1fr}}

[data-fs-fm] {
  /* These were hardcoded light-mode values (#ffffff fields, #0f0e17 ink),
     which measured 1.05:1 on a dark theme — the help text and labels were
     invisible and the fields stayed white boxes on a dark page. Routed
     through the palette so the form follows whatever theme it is on;
     the fallbacks preserve the exact previous light-mode appearance. */
  --fs-fm-bg: transparent;
  --fs-fm-field-bg: rgb(var(--c-paper, 255 255 255));
  --fs-fm-field-border: rgb(var(--c-line, 212 212 216));
  /* Focus + button used to be hardcoded violet (#6d28d9) — a FastSites
     brand colour on every CUSTOMER site, whatever their palette. Routed
     through the theme brand with the old violet as the fallback, so the
     form finally dresses like the site it is on. */
  --fs-fm-field-border-focus: rgb(var(--c-brand-600, 109 40 217));
  --fs-fm-text: rgb(var(--c-ink-950, 15 14 23));
  --fs-fm-label: rgb(var(--c-ink-700, 39 39 42));
  --fs-fm-help: rgb(var(--c-ink-400, 113 113 122));
  --fs-fm-button-bg: rgb(var(--c-brand-600, 109 40 217));
  /* --fs-on-brand, NOT paper. Paper-on-brand fails AA on any pale
     brand: HairFlow's rose #E8A6A1 under white paper measures ~1.85:1
     on the one button every form funnels to. --fs-on-brand is the
     token apply.ts SOLVES for legibility against the brand fill (and a
     theme's own declared onBrand beats the solver), so the label is
     readable on all 46 palettes by construction. Paper stays as the
     fallback for any surface that predates the token. */
  --fs-fm-button-text: var(--fs-on-brand, rgb(var(--c-paper, 255 255 255)));
  --fs-fm-gap: 16px;
  /* CONTROL radius, not CARD. Inputs wore --fs-radius-card for the
     system's whole life, which put every theme's card rounding on its
     text fields — HairFlow's own design draws inputs at 12px while its
     cards are 18, and the 'round' bucket put 1.75rem card corners on a
     40px-tall input. --fs-radius-control is the token the platform has
     always emitted FOR controls (apply.ts), honours each theme's
     radiusPx.control literally, and in the 'round' bucket is 999px —
     pill inputs where the bucket genuinely means pills. The submit
     button inherits this too, which matches --fs-radius-button's own
     resolution (it also reads radiusPx.control). Looks that override
     the radius on purpose (rounded, minimal, boxed, retro) are
     unaffected — they set this var at the form root themselves. */
  --fs-fm-radius: var(--fs-radius-control, 10px);
  /* Boxes are not controls. --fs-fm-radius above follows the theme's
     CONTROL radius, which on a 'round' theme (Lumina) is 999px — right
     for an input, an ellipse across a panel. Every PANEL on a form
     takes this instead. It still follows the theme (0 on a sharp
     theme, 12px on a soft one) and only stops it running away: on
     Lumina the card radius is 28px, so a 40px-tall notice would still
     read as a capsule. The dashed step box was the first place the
     owner saw this; these are the other thirteen. */
  --fs-fm-box-radius: min(var(--fs-radius-card, 12px), 16px);
  --fs-fm-font-size: 14px;
  --fs-fm-font: inherit;
  color: var(--fs-fm-text);
  background: var(--fs-fm-bg);
  font-family: var(--fs-fm-font);
  font-size: var(--fs-fm-font-size);
}
[data-fs-fm] [data-fs-fm-grid] {
  display: grid;
  gap: var(--fs-fm-gap);
}
[data-fs-fm][data-layout="one-col"] [data-fs-fm-grid] { grid-template-columns: 1fr; }
[data-fs-fm][data-layout="two-col"] [data-fs-fm-grid] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
/* A "message" field is full-width even in a 2-col grid. */
[data-fs-fm][data-layout="two-col"] [data-fs-fm-field][data-full="1"] { grid-column: 1 / -1; }
/* ...and so is everything in the grid that is not a FIELD. The
   actions row, the CAPTCHA and the note are siblings of the fields
   inside [data-fs-fm-grid], so in a two-column form they were each
   taking one column: measured, a full-width submit button came out
   272px wide in a 559px card, with the privacy note sitting beside
   it rather than under it. Six themes set layout: two-col. */
[data-fs-fm][data-layout="two-col"] [data-fs-fm-grid] > [data-fs-fm-actions],
[data-fs-fm][data-layout="two-col"] [data-fs-fm-grid] > [data-fs-fm-captcha],
[data-fs-fm][data-layout="two-col"] [data-fs-fm-grid] > [data-fs-fm-note],
[data-fs-fm][data-layout="two-col"] [data-fs-fm-grid] > [data-fs-fm-page-header] { grid-column: 1 / -1; }
/* Below 640px, collapse everything to single column so mobile still reads. */
@media (max-width: 640px) {
  [data-fs-fm][data-layout="two-col"] [data-fs-fm-grid] { grid-template-columns: 1fr; }
  [data-fs-fm][data-layout="two-col"] [data-fs-fm-field][data-full="1"] { grid-column: auto; }
}

/* ── layout="split": the aside BESIDE the fields (GAP-4) ─────────
   Designed contact pages are two-column more often than they are one,
   and the block's aside was written for exactly this — its own comment
   says the numbered points and the phone number belong "beside" the
   form — but there was no layout that could put them there, so every
   theme stacked.

   PRIOR ART, and the reason this is a PLATFORM layout rather than a
   fifth copy of it: forecourt-styles.ts:1309 already promotes
   [data-fs-fm] to a two-column grid and pins the form to column 2. It
   works, it is measured, and it is invisible to the editor, unavailable
   to any other theme, and gated on [data-fs-theme='forecourt'] — a
   style rule living in one theme's file, which §3 of the port contract
   names as the failure mode. Same idea, moved to the shared layer and
   given a control.

   Forecourt does it with line-based placement and FIVE explicit rows,
   and its own comment flags why that is delicate: grid-row: 1 / -1
   resolves against the explicit grid, so the row count has to be
   maintained by hand against the aside's shape. Two wrapper elements
   are cheaper and cannot drift — and they give the card treatment
   below something real to attach to. FormBlock emits them ONLY for
   layout="split", so every form that has never asked for it keeps
   byte-identical DOM. */
[data-fs-fm][data-layout="split"] {
  display: grid;
  grid-template-columns: var(--fs-fm-split-cols, minmax(0, 1fr) minmax(0, 1fr));
  gap: var(--fs-fm-split-gap, 40px);
  align-items: start;
  /* --fs-fm-split-max is the width of the CONTENT, because that is what a
     design hands you: PayFlow's export measures a 1060px inner column
     inside a section with 60px gutters, and nobody writes down 1060-plus-
     the-gutters. The block root is border-box and carries its own px-6, so
     the gutter has to be added back or the two columns come out 22px
     narrower than the design each: measured 448.562px / 493.438px against
     the export's 471.422px / 518.578px before this calc. --fs-fm-shell-
     gutter tracks the root's own padding-inline; a theme that changes one
     changes both. */
  max-width: calc(var(--fs-fm-split-max, 1024px) + 2 * var(--fs-fm-shell-gutter, 24px));
}
[data-fs-fm][data-layout="split"] [data-fs-fm-aside] { min-width: 0; }
[data-fs-fm][data-layout="split"] [data-fs-fm-main] { min-width: 0; }
/* The aside's own heading and lede are left-aligned in a split, because a
   centred heading over a half-width column reads as a mistake. The
   one-column layouts keep the centring they have always had. */
[data-fs-fm][data-layout="split"] [data-fs-fm-aside] > h1,
[data-fs-fm][data-layout="split"] [data-fs-fm-aside] > h2,
[data-fs-fm][data-layout="split"] [data-fs-fm-aside] > h3,
[data-fs-fm][data-layout="split"] [data-fs-fm-aside] > p { text-align: left; }
/* 60rem is Forecourt's own breakpoint for the same arrangement, kept so
   the two behave alike while both exist. Under it the columns stack and
   the max-width cap is released back to the block's own shell. */
@media (max-width: 60rem) {
  [data-fs-fm][data-layout="split"] {
    grid-template-columns: 1fr;
    gap: var(--fs-fm-split-gap-stacked, 28px);
  }
}

/* ── cardStyle="panel": the fields sit on a panel ────────────────
   Orthogonal to layout — a designed form is often a card whether or not
   anything sits beside it. Every value is a var() over a palette token,
   so it dresses like the theme it is on by default and a theme that
   measured its own numbers can say so. */
[data-fs-fm][data-card="panel"] [data-fs-fm-main],
[data-fs-fm][data-card="panel"]:not([data-layout="split"]) > form,
[data-fs-fm][data-card="panel"]:not([data-layout="split"]) > [data-fs-fm-success] {
  /* The palette owns these two (R7, 2026-09-06): Colour Palette › Form
     sets --fs-form-card-bg / --fs-form-card-border for every form on
     the site at once, and the per-form pickers that used to duplicate
     them are gone. --fs-fm-card-* stays as the theme-authored override
     and the last word, exactly as the field and button colours work. */
  background: var(--fs-fm-card-bg, var(--fs-form-card-bg, rgb(var(--c-paper, 255 255 255))));
  border: 1px solid var(--fs-fm-card-border, var(--fs-form-card-border, rgb(var(--c-line, 212 212 216))));
  border-radius: var(--fs-fm-card-radius, var(--fs-radius-card, 14px));
  padding: var(--fs-fm-card-pad, 28px);
  box-shadow: var(--fs-fm-card-shadow, var(--fs-shadow-card, none));
}

[data-fs-fm] [data-fs-fm-field] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
/* label-pos=left: label to the left of the input on a 200px column. */
[data-fs-fm][data-label-pos="left"] [data-fs-fm-field] {
  flex-direction: row;
  align-items: baseline;
  gap: 14px;
}
[data-fs-fm][data-label-pos="left"] [data-fs-fm-label] {
  flex: 0 0 180px;
  padding-top: 8px;
}
[data-fs-fm][data-label-pos="left"] [data-fs-fm-body] {
  flex: 1 1 auto;
  min-width: 0;
}
[data-fs-fm][data-label-pos="hidden"] [data-fs-fm-label] {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

/* The label voice. Four var() hooks with the block's historic values as
   fallbacks, so a form that sets none of them renders exactly as before
   and a designed one can reach all of it — see formStyleVars (GAP-4).
   Casing is a PRESENTATION rule: the label text stays "Work email", so
   the editor is readable and a screen reader is not handed WORK EMAIL to
   spell out, while the page shows the caps the design asked for. */
[data-fs-fm] [data-fs-fm-label] {
  font-size: var(--fs-fm-label-size, 0.85em);
  font-weight: var(--fs-fm-label-weight, 600);
  text-transform: var(--fs-fm-label-case, none);
  letter-spacing: var(--fs-fm-label-tracking, normal);
  color: var(--fs-fm-label);
}
/* The required asterisk, the invalid-field border and the two error
   messages were all the literal #dc2626. On a dark page that is
   3.84:1 at the asterisk's 12px, under the 4.5 it needs, and no
   theme could reach it. A var() with the same literal as its
   fallback, so nothing that declares nothing changes. */
[data-fs-fm] [data-fs-fm-required] {
  /* Hideable, because plenty of designs mark nothing and say so in the
     copy instead — PayFlow's export carries no asterisk on any of its
     three fields. Presentation only: the span is aria-hidden and the
     sr-only " (required)" beside it is untouched, so hiding the glyph
     costs a screen-reader user nothing and the field still validates. */
  display: var(--fs-fm-required-display, inline);
  color: var(--fs-fm-danger, #dc2626);
  margin-left: 2px;
}
/* The fields' own title (GAP-4). A <p> rather than a heading on purpose:
   the section already has one, and a second heading element here would
   put a bare label into the document outline between the real heading
   and the fields it belongs to. */
[data-fs-fm] [data-fs-fm-form-title] {
  margin: 0 0 var(--fs-fm-gap, 16px);
  font-size: var(--fs-fm-form-title-size, 1.1875rem);
  font-weight: var(--fs-fm-form-title-weight, 700);
  line-height: 1.25;
  color: var(--fs-fm-text);
}
[data-fs-fm] [data-fs-fm-help] {
  font-size: 0.78em;
  color: var(--fs-fm-help);
  margin-top: 2px;
}

/* Inputs — all types share the same base. Two non-<input> controls ride
   this same list so they inherit identical colours, radius and hover /
   focus states here AND in every form theme's overrides, with zero
   bespoke rules:
     • [data-fs-fm-select-trigger] — the Dropdown field's trigger button
       (SelectInput in FormBlock.tsx)
     • [data-fs-fm-rank-item]      — one row of the Ranking field
       (RankingInput.tsx); each row reads as its own field surface. */
[data-fs-fm] input[type="text"],
[data-fs-fm] input[type="email"],
[data-fs-fm] input[type="tel"],
[data-fs-fm] input[type="number"],
[data-fs-fm] input[type="date"],
[data-fs-fm] input[type="file"],
[data-fs-fm] textarea,
[data-fs-fm] select,
[data-fs-fm] [data-fs-fm-select-trigger],
[data-fs-fm] [data-fs-fm-rank-item] {
  width: 100%;
  box-sizing: border-box;
  background: var(--fs-fm-field-bg);
  border: 1.5px solid var(--fs-fm-field-border);
  border-radius: var(--fs-fm-radius);
  padding: 12px 14px;
  color: var(--fs-fm-text);
  font-family: inherit;
  font-size: inherit;
  /* The modern input treatment: a whisper of depth at rest, a warm
     border on hover, and a soft brand-tinted halo on focus instead of
     the old hard outline. All palette-derived, so it reads premium on
     every theme in both modes. */
  box-shadow: 0 1px 2px rgb(var(--c-ink-950, 15 14 23) / .04);
  transition: border-color .25s ease, box-shadow .25s ease;
}
/* The message box is rows=5 in the markup and floored at 120px here, so it
   settles at 138px. A design that drew four rows — PayFlow's export:
   rows="4", 98px tall — had no way to say so.
   TWO hooks, because rows and min-height fight: the floor alone cannot
   make the box SHORTER than its rows, and an explicit height alone would
   drop every existing form from 138px to 120px. Defaulting the height to
   auto means the rows attribute still decides for every form that sets
   neither. (No backticks in this comment: the sheet is one template
   literal — PITFALLS U12.) */
[data-fs-fm] textarea {
  min-height: var(--fs-fm-textarea-min, 120px);
  height: var(--fs-fm-textarea-height, auto);
  resize: vertical;
}
[data-fs-fm] input:hover,
[data-fs-fm] textarea:hover,
[data-fs-fm] select:hover,
[data-fs-fm] [data-fs-fm-select-trigger]:hover:not(:disabled) {
  border-color: rgb(var(--c-brand-600, 109 40 217) / .45);
}
[data-fs-fm] input:focus-visible,
[data-fs-fm] textarea:focus-visible,
[data-fs-fm] select:focus-visible,
[data-fs-fm] [data-fs-fm-select-trigger]:focus-visible,
[data-fs-fm] [data-fs-fm-select-trigger][data-open="1"] {
  /* Transparent outline kept for forced-colors mode, where box-shadow
     is stripped and the outline re-materialises. */
  outline: 2px solid transparent;
  outline-offset: 1px;
  border-color: var(--fs-fm-field-border-focus);
  box-shadow: 0 0 0 4px rgb(var(--c-brand-600, 109 40 217) / .14), 0 1px 2px rgb(var(--c-ink-950, 15 14 23) / .04);
}

/* ── Ranking field ──────────────────────────────────────────────
   Each row is a field-surface in its own right, so [data-fs-fm-rank-item]
   joins the shared field selector list above (and the one in
   form-themes.ts) rather than carrying its own colours — that is what
   makes a ranking row pick up all nine themes for free. Only the parts a
   plain input hasn't got — the number, the grip, the move buttons and
   the dragging state — are defined here. */
[data-fs-fm] [data-fs-fm-ranking] {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
[data-fs-fm] [data-fs-fm-rank-item] {
  display: flex;
  align-items: center;
  gap: 10px;
  /* Above the neighbouring rows while dragging, so the lifted row is
     never clipped by the one after it. */
  position: relative;
  touch-action: none;
}
[data-fs-fm] [data-fs-fm-rank-item][data-dragging="1"] {
  z-index: 2;
  box-shadow: 0 14px 28px -10px rgb(var(--c-ink-950, 15 14 23) / .30);
  border-color: var(--fs-fm-field-border-focus);
}
[data-fs-fm] [data-fs-fm-rank-index] {
  flex-shrink: 0;
  min-width: 1.6em;
  height: 1.6em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgb(var(--c-brand-600, 109 40 217) / .12);
  color: var(--fs-fm-field-border-focus);
  font-size: 0.78em;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
[data-fs-fm] [data-fs-fm-rank-label] {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
[data-fs-fm] [data-fs-fm-rank-grip] {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px;
  border: 0;
  background: transparent;
  color: var(--fs-fm-help);
  cursor: grab;
  touch-action: none;
}
[data-fs-fm] [data-fs-fm-rank-grip]:active { cursor: grabbing; }
[data-fs-fm] [data-fs-fm-rank-grip]:disabled { cursor: default; opacity: .5; }
[data-fs-fm] [data-fs-fm-rank-moves] {
  flex-shrink: 0;
  display: inline-flex;
  gap: 2px;
}
[data-fs-fm] [data-fs-fm-rank-move] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.7em;
  height: 1.7em;
  padding: 0;
  border: 1px solid var(--fs-fm-field-border);
  border-radius: calc(var(--fs-fm-radius, 12px) - 4px);
  background: transparent;
  color: var(--fs-fm-text);
  cursor: pointer;
}
[data-fs-fm] [data-fs-fm-rank-move]:hover:not(:disabled) {
  border-color: var(--fs-fm-field-border-focus);
  color: var(--fs-fm-field-border-focus);
}
[data-fs-fm] [data-fs-fm-rank-move]:disabled { opacity: .35; cursor: default; }

/* ── Dropdown field's custom trigger + option list ──────────────
   A real <select> stays in the DOM (sr-only) so submission, validation
   and any code that reads a native 'change' event keep working exactly
   as before — see SelectInput. This is the visual layer on top of it. */
[data-fs-fm] [data-fs-fm-select] { position: relative; }
[data-fs-fm] [data-fs-fm-select-trigger] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  cursor: pointer;
  text-align: left;
}
[data-fs-fm] [data-fs-fm-select-trigger]:disabled { cursor: default; opacity: .7; }
[data-fs-fm] [data-fs-fm-select-trigger-label] {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
[data-fs-fm] [data-fs-fm-select-trigger][data-placeholder="1"] [data-fs-fm-select-trigger-label] {
  color: var(--fs-fm-help);
}
[data-fs-fm] [data-fs-fm-select-chevron] {
  flex-shrink: 0;
  color: var(--fs-fm-help);
  transition: transform .2s ease;
}
[data-fs-fm] [data-fs-fm-select-trigger][data-open="1"] [data-fs-fm-select-chevron] {
  transform: rotate(180deg);
  color: var(--fs-fm-field-border-focus);
}
[data-fs-fm] [data-fs-fm-select-list] {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 6px);
  z-index: 20;
  max-height: 15rem;
  overflow-y: auto;
  background: var(--fs-fm-field-bg);
  border: 1.5px solid var(--fs-fm-field-border);
  border-radius: var(--fs-fm-box-radius);
  box-shadow: 0 16px 32px -12px rgb(var(--c-ink-950, 15 14 23) / .28);
  padding: 4px;
}
[data-fs-fm] [data-fs-fm-select-option] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  padding: 9px 10px;
  border: 0;
  background: transparent;
  border-radius: calc(var(--fs-fm-radius, 12px) - 4px);
  color: var(--fs-fm-text);
  font-family: inherit;
  font-size: inherit;
  text-align: left;
  cursor: pointer;
}
[data-fs-fm] [data-fs-fm-select-option][data-active="1"] {
  background: rgb(var(--c-brand-600, 109 40 217) / .10);
}
[data-fs-fm] [data-fs-fm-select-option][data-selected="1"] {
  font-weight: 600;
  color: var(--fs-fm-field-border-focus);
}
[data-fs-fm] [data-fs-fm-select-option] svg { flex-shrink: 0; }

[data-fs-fm] [data-fs-fm-options] {
  display: flex; flex-direction: column; gap: 6px;
}
[data-fs-fm] [data-fs-fm-option] {
  display: flex; align-items: center; gap: 8px;
  cursor: pointer;
}

/* ── optionStyle="pills": a radio group drawn as a pill row (GAP-4) ──
   PayFlow's export offers its TOPIC field as four pills — Sales, Support,
   Migration, Press — measured on payflow-mini-site.html at 8px 16px
   padding, radius 999px, 1.5px border, 12.5px/700 label, the selected one
   on the accent tint with an accent border.

   This is a PRESENTATION of the radio field, not a new field type. The
   markup stays the radiogroup it already was, so keyboard arrow-key
   navigation, the required rule, the submitted value and every existing
   conditional-logic operator carry over untouched — and it is strictly
   MORE accessible than the export, whose pills are bare <button>s with no
   group semantics and no checked state at all.

   The native control is visually hidden rather than display:none, so it
   still takes focus and still reports its checked state; :focus-visible
   is mirrored onto the pill so keyboard users can see where they are. */
[data-fs-fm][data-option-style="pills"] [data-fs-fm-options] {
  flex-direction: row;
  flex-wrap: wrap;
  gap: var(--fs-fm-pill-gap, 8px);
}
[data-fs-fm][data-option-style="pills"] [data-fs-fm-option] {
  position: relative;
  gap: 0;
  padding: var(--fs-fm-pill-pad, 8px 16px);
  border: 1.5px solid var(--fs-fm-field-border);
  border-radius: var(--fs-fm-pill-radius, 999px);
  font-size: var(--fs-fm-pill-size, .9em);
  font-weight: var(--fs-fm-pill-weight, 700);
  color: var(--fs-fm-label);
  transition: border-color .18s ease, background-color .18s ease, color .18s ease;
}
/* The [type] selectors are load-bearing, not decoration. Written as a bare
   child-input selector this rule lost width/height/position to a more
   specific radio rule elsewhere in the cascade while still winning clip —
   and clip does nothing on a static or relative box, so the dot rendered
   every pill at 18px square with the rule apparently applied. Measured
   before this fix: width 18px, height 18px, position relative,
   clip rect(0,0,0,0). Naming the type takes it to (0,4,1) and it holds. */
[data-fs-fm][data-option-style="pills"] [data-fs-fm-option] > input[type="radio"],
[data-fs-fm][data-option-style="pills"] [data-fs-fm-option] > input[type="checkbox"] {
  position: absolute;
  width: 1px; height: 1px;
  margin: -1px; padding: 0; border: 0;
  appearance: none; -webkit-appearance: none;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap;
}
[data-fs-fm][data-option-style="pills"] [data-fs-fm-option]:hover {
  border-color: rgb(var(--c-brand-600, 109 40 217) / .45);
}
[data-fs-fm][data-option-style="pills"] [data-fs-fm-option]:has(> input:checked) {
  border-color: var(--fs-fm-field-border-focus);
  background: rgb(var(--c-brand-600, 109 40 217) / .12);
  color: var(--fs-fm-field-border-focus);
}
[data-fs-fm][data-option-style="pills"] [data-fs-fm-option]:has(> input:focus-visible) {
  outline: 2px solid transparent;
  outline-offset: 1px;
  box-shadow: 0 0 0 4px rgb(var(--c-brand-600, 109 40 217) / .14);
}

/* Submit button */
[data-fs-fm] [data-fs-fm-actions] {
  /* gap, not a margin on the buttons: the footer can now hold several
     (Submit, Clear, a link out) and margins would collapse against the
     row's own justify-content. Deliberately edited here rather than in a
     later rule — a new [data-fs-fm-actions] block further down the sheet
     would sit after the [data-btn-align] rules at equal specificity and
     silently override the author's chosen button alignment. */
  display: flex; margin-top: 4px; gap: 10px; flex-wrap: wrap; align-items: center;
}
/* The privacy / retention note under the button. Only rendered when the
   section supplies 'note', so this rule matches nothing on a form that
   does not carry one. Caption size, quiet ink — it is a footnote, not a
   second lede. */
[data-fs-fm] [data-fs-fm-note] {
  margin-top: 12px;
  font-size: var(--fs-type-caption, .8125rem);
  line-height: 1.55;
  color: rgb(var(--c-ink-400, 113 113 122));
}
/* The aside's LIVE STATUS LINE — a pulsing dot and one short phrase.
   Attribute-gated like everything else here: FormBlock emits the node
   only when the section wrote a 'statusLine', so this matches nothing
   on a form without one.

   MEASURED off PayFlow's standard-tier Contact page, which is the tier
   that carries this instead of contact cards: 12.5px/400 quiet ink,
   with a 7px accent dot. The pulse is a plain opacity breath rather
   than a transform, so it costs no layout, and it stops dead under
   prefers-reduced-motion — an "online now" indicator that cannot hold
   still is exactly the kind of thing that hurts. */
[data-fs-fm] [data-fs-fm-status] {
  display: flex; align-items: center; gap: 8px;
  margin-top: 14px;
  font-size: var(--fs-type-caption, .78125rem);
  color: rgb(var(--c-ink-400, 113 113 122));
}
[data-fs-fm] [data-fs-fm-status-dot] {
  width: 7px; height: 7px; border-radius: 999px; flex: none;
  background: rgb(var(--c-accent, var(--c-brand)));
  animation: fs-fm-status-breath 2s ease-in-out infinite;
}
@keyframes fs-fm-status-breath {
  0%, 100% { opacity: 1; }
  50%      { opacity: .35; }
}
@media (prefers-reduced-motion: reduce) {
  [data-fs-fm] [data-fs-fm-status-dot] { animation: none; }
}
/* The aside — numbered points and up to two actions beside the form.
   Every selector here is attribute-gated on nodes FormBlock only emits
   when the section wrote something into them, so on a form that carries
   neither, none of this matches anything. Deliberately plain: a numbered
   list with a hairline between the rows and two text actions. A theme
   that wants more says so in its own sheet. */
[data-fs-fm] [data-fs-fm-points] {
  list-style: none;
  margin: 0 0 var(--fs-space-stack, .75rem);
  padding: 0;
  counter-reset: fs-fm-point;
}
[data-fs-fm] [data-fs-fm-point] {
  counter-increment: fs-fm-point;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid rgb(var(--c-line, 212 212 216));
}
[data-fs-fm] [data-fs-fm-point]:last-child { border-bottom: 0; }
/* The numeral is the ::before, so it is the FIRST grid item; the title
   and the body have to be pinned to column 2 or auto-placement drops
   the body back under the numeral. Measured when they were left to
   place themselves: the body landed at column 1 in a 35px track and
   wrapped to 336px tall. Row 1 rather than 1 / -1 on purpose — -1
   resolves against the EXPLICIT grid, and there are no explicit rows
   here because a point may or may not have a title. */
[data-fs-fm] [data-fs-fm-point]::before {
  content: counter(fs-fm-point, decimal-leading-zero);
  grid-column: 1;
  grid-row: 1;
  font-variant-numeric: tabular-nums;
  color: rgb(var(--c-brand-600, 109 40 217));
  font-weight: 700;
}
/* An ICON may stand in for the numeral (GAP-4). A point is a numbered
   STEP when the aside describes what happens after you press send, and a
   labelled CONTACT METHOD when it describes how else to reach someone —
   PayFlow's export is the second kind, three cards of icon + label +
   address, and a form whose aside is contact methods should not number
   them 01/02/03. The icon takes the numeral's cell and the counter's
   ::before is switched off for that row only, so a mixed aside still
   numbers the rows that asked for a numeral. */
[data-fs-fm] [data-fs-fm-point][data-has-icon="1"]::before { content: none; }
[data-fs-fm] [data-fs-fm-point-icon] {
  grid-column: 1;
  grid-row: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgb(var(--c-brand-600, 109 40 217));
}
[data-fs-fm] [data-fs-fm-point] > * { grid-column: 2; }
[data-fs-fm] [data-fs-fm-point] > [data-fs-fm-point-icon] { grid-column: 1; }
[data-fs-fm] [data-fs-fm-point-title] {
  margin: 0 0 2px;
  font-size: 1rem;
  line-height: 1.3;
}
[data-fs-fm] [data-fs-fm-point-body] {
  margin: 0;
  font-size: var(--fs-type-caption, .8125rem);
  line-height: 1.55;
  color: rgb(var(--c-ink-700, 63 63 70));
}
[data-fs-fm] [data-fs-fm-links] {
  display: flex; flex-wrap: wrap; gap: 10px;
  margin-top: var(--fs-space-stack, .75rem);
}
[data-fs-fm] [data-fs-fm-link] {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 11px 20px;
  border-radius: var(--fs-radius-control, 8px);
  border: 1px solid transparent;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
}
[data-fs-fm] [data-fs-fm-link][data-variant="primary"] {
  background: var(--fs-fm-button-bg);
  color: var(--fs-fm-button-text);
}
[data-fs-fm] [data-fs-fm-link][data-variant="ghost"] {
  border-color: rgb(var(--c-line, 212 212 216));
  color: inherit;
}
[data-fs-fm][data-btn-align="left"] [data-fs-fm-actions] { justify-content: flex-start; }
[data-fs-fm][data-btn-align="center"] [data-fs-fm-actions] { justify-content: center; }
[data-fs-fm][data-btn-align="right"] [data-fs-fm-actions] { justify-content: flex-end; }
/* The doubled attribute is load-bearing, not a typo. typography.ts paints
   every UNCLASSED canvas button -- selector .fs-typo button:not([class]),
   colour var(--fs-btn-color, #ffffff) -- at (0,2,1), and the submit button
   carries no class. The single-attribute form of the rule below is (0,2,0),
   so it LOST: the form's own colour token was computed, correct, and then
   painted over. Measured on counsel dark before this fix,
   --fs-fm-button-text resolved to rgb(15 20 27) and the label still
   rendered rgb(255,255,255) at 2.04:1. Repeating the attribute takes this
   rule to (0,3,0), so a form's explicitly configurable button colour beats
   a default meant for buttons that never asked for one. Companion to
   form-engine.ts's fallback chain; neither is sufficient alone.
   (No backticks in this comment: the whole sheet is a template literal --
   PITFALLS U12.) */
[data-fs-fm] [data-fs-fm-submit][data-fs-fm-submit] {
  background: var(--fs-fm-button-bg);
  color: var(--fs-fm-button-text);
  border: none;
  padding: 13px 26px;
  font-weight: 600;
  letter-spacing: .01em;
  cursor: pointer;
  font-family: inherit;
  font-size: inherit;
  box-shadow: 0 10px 24px rgb(var(--c-brand-600, 109 40 217) / .25);
  transition: transform .25s ease, box-shadow .25s ease, filter 120ms ease;
}
[data-fs-fm][data-btn-shape="rounded"] [data-fs-fm-submit] { border-radius: var(--fs-radius-pill, 999px); }
[data-fs-fm][data-btn-shape="square"] [data-fs-fm-submit] { border-radius: 0; }
[data-fs-fm] [data-fs-fm-submit]:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgb(var(--c-brand-600, 109 40 217) / .32);
}
[data-fs-fm] [data-fs-fm-submit]:active { transform: translateY(1px); box-shadow: 0 6px 16px rgb(var(--c-brand-600, 109 40 217) / .22); }
[data-fs-fm] [data-fs-fm-submit]:focus-visible {
  outline: 2px solid var(--fs-fm-field-border-focus);
  outline-offset: 2px;
}

/* Honeypot — a real field visually but invisible + off-screen for humans.
   Bots that fill every input still fill this one. */
[data-fs-fm] [data-fs-fm-honeypot] {
  position: absolute !important;
  left: -9999px !important;
  height: 1px; width: 1px;
  overflow: hidden;
}

/* Section separator — a visual divider that always spans the full width of
   the form. If the author gave the section a label, it renders above the
   rule as a small heading. No inputs, no help text, no validation. */
[data-fs-fm] [data-fs-fm-field][data-type="section"] {
  gap: 0;
  padding: 6px 0 2px;
}
[data-fs-fm] [data-fs-fm-section-title] {
  font-size: 0.78em;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--fs-fm-label);
  margin-bottom: 6px;
}
[data-fs-fm] [data-fs-fm-section-rule] {
  height: 1px;
  background: var(--fs-fm-field-border);
  border: none;
  margin: 0;
}

/* Section break — a page separator for multi-page forms. Renders as a
   labelled banner (title + optional description) between two thin rules.
   The visual treatment is deliberately different from the section field
   type (which is a hair-thin single rule): the break reads as a
   structural page-level boundary at a glance, not just a visual divider
   inside a page. */
[data-fs-fm] [data-fs-fm-field][data-type="break"] {
  gap: 0;
  padding: 14px 0;
}
[data-fs-fm] [data-fs-fm-break] {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 12px;
}
[data-fs-fm] [data-fs-fm-break-line] {
  height: 1px;
  background: var(--fs-fm-field-border);
  min-width: 20px;
}
[data-fs-fm] [data-fs-fm-break-content] {
  text-align: center;
  padding: 4px 12px;
}
[data-fs-fm] [data-fs-fm-break-title] {
  font-size: 0.75em;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--fs-fm-field-border-focus);
  margin: 0;
}
[data-fs-fm] [data-fs-fm-break-description] {
  font-size: 0.75em;
  color: var(--fs-fm-help);
  margin: 2px 0 0;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
}

/* Divider mode — the same shape as a page break but styled subtler so
   the reader can tell them apart. No uppercase, lighter title colour,
   hair-thin line. Selected via data-mode on the break wrapper so the
   underlying markup stays identical. */
[data-fs-fm] [data-fs-fm-break][data-mode="divider"] [data-fs-fm-break-line] {
  background: var(--fs-fm-field-border);
  opacity: 0.7;
}
[data-fs-fm] [data-fs-fm-break][data-mode="divider"] [data-fs-fm-break-title] {
  font-size: 0.8em;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  color: var(--fs-fm-help);
}
[data-fs-fm] [data-fs-fm-break][data-mode="divider"] [data-fs-fm-break-content] {
  padding: 2px 10px;
}

/* Success state — replaces the form on submit (Basic build: UI only, no
   backend). */
[data-fs-fm] [data-fs-fm-success] {
  padding: 20px;
  border-radius: var(--fs-fm-box-radius);
  background: #ecfdf5;
  border: 1px solid #86efac;
  color: #14532d;
  text-align: center;
  font-weight: 600;
}

/* Pro-only placeholder — a stubbed field with a "Pro" badge instead of a real
   input. */
[data-fs-fm] [data-fs-fm-pro] {
  border: 1px dashed #a78bfa;
  border-radius: var(--fs-fm-box-radius);
  padding: 16px;
  background: #f5f3ff;
  color: #4c1d95;
  font-size: 0.85em;
  text-align: center;
}
[data-fs-fm] [data-fs-fm-pro] [data-fs-fm-pro-badge] {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 999px;
  background: #6d28d9;
  color: #ffffff;
  font-size: 0.75em;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-left: 6px;
}

/* Basic CAPTCHA placeholder — a stubbed checkbox. */
[data-fs-fm] [data-fs-fm-captcha] {
  padding: 12px;
  border: 1px solid var(--fs-fm-field-border);
  border-radius: var(--fs-fm-box-radius);
  display: flex; align-items: center; gap: 10px;
  background: #fafafa;
  font-size: 0.85em;
  color: var(--fs-fm-help);
}

/* ── Wireframe overrides ────────────────────────────────────── */
[data-fs-fm][data-wireframe="1"] {
  font-family: 'Times New Roman', Times, serif !important;
  color: #000 !important;
  background: none !important;
}
[data-fs-fm][data-wireframe="1"] * {
  animation: none !important;
  transition: none !important;
  box-shadow: none !important;
}
[data-fs-fm][data-wireframe="1"] input[type="text"],
[data-fs-fm][data-wireframe="1"] input[type="email"],
[data-fs-fm][data-wireframe="1"] input[type="tel"],
[data-fs-fm][data-wireframe="1"] input[type="number"],
[data-fs-fm][data-wireframe="1"] input[type="date"],
[data-fs-fm][data-wireframe="1"] input[type="file"],
[data-fs-fm][data-wireframe="1"] textarea,
[data-fs-fm][data-wireframe="1"] select {
  background: #fff !important;
  border: 1px dashed #333 !important;
  border-radius: 0 !important;
  color: #000 !important;
}
[data-fs-fm][data-wireframe="1"] [data-fs-fm-submit] {
  background: #fff !important;
  color: #000 !important;
  border: 1px dashed #333 !important;
  border-radius: 0 !important;
}
[data-fs-fm][data-wireframe="1"] [data-fs-fm-pro],
[data-fs-fm][data-wireframe="1"] [data-fs-fm-captcha],
[data-fs-fm][data-wireframe="1"] [data-fs-fm-success] {
  background: none !important;
  border: 1px dashed #333 !important;
  border-radius: 0 !important;
  color: #000 !important;
}

/* ── Pro field styles ─────────────────────────────────────────
   Each Pro field gets its own scoped attribute selector so the CSS stays
   easy to reason about. All follow the same base tokens (--fs-fm-*).
*/

/* Rating stars. Buttons underneath a semantic radiogroup. */
[data-fs-fm] [data-fs-fm-rating] {
  display: flex; gap: 4px; align-items: center;
}
[data-fs-fm] [data-fs-fm-rating-btn] {
  background: transparent;
  border: none;
  padding: 4px 2px;
  cursor: pointer;
  font-size: 28px;
  line-height: 1;
  color: #d4d4d8;
  transition: color 90ms ease, transform 90ms ease;
}
[data-fs-fm] [data-fs-fm-rating-btn]:hover { transform: scale(1.05); }
[data-fs-fm] [data-fs-fm-rating-btn][data-active="1"] { color: #f59e0b; }
[data-fs-fm] [data-fs-fm-rating-btn]:focus-visible {
  outline: 2px solid var(--fs-fm-field-border-focus);
  outline-offset: 2px;
  border-radius: 4px;
}
[data-fs-fm] [data-fs-fm-rating] input[type="radio"] {
  position: absolute; left: -9999px; width: 1px; height: 1px;
}

/* Slider with live value badge. */
[data-fs-fm] [data-fs-fm-slider] {
  display: flex; align-items: center; gap: 12px;
}
[data-fs-fm] [data-fs-fm-slider] input[type="range"] {
  flex: 1 1 auto; min-width: 0;
  accent-color: var(--fs-fm-button-bg);
}
[data-fs-fm] [data-fs-fm-slider-value] {
  min-width: 2.5em; text-align: right;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: var(--fs-fm-label);
}

/* Matrix grid. */
[data-fs-fm] [data-fs-fm-matrix] {
  overflow-x: auto;
  border: 1px solid var(--fs-fm-field-border);
  border-radius: var(--fs-fm-box-radius);
}
[data-fs-fm] [data-fs-fm-matrix] table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9em;
}
[data-fs-fm] [data-fs-fm-matrix] th,
[data-fs-fm] [data-fs-fm-matrix] td {
  padding: 8px 10px;
  text-align: center;
  border-bottom: 1px solid var(--fs-fm-field-border);
}
[data-fs-fm] [data-fs-fm-matrix] tr:last-child th,
[data-fs-fm] [data-fs-fm-matrix] tr:last-child td {
  border-bottom: none;
}
[data-fs-fm] [data-fs-fm-matrix] th:first-child,
[data-fs-fm] [data-fs-fm-matrix] td:first-child {
  text-align: left;
  font-weight: 500;
  color: var(--fs-fm-label);
}
[data-fs-fm] [data-fs-fm-matrix] thead th {
  font-size: 0.85em;
  color: var(--fs-fm-help);
  font-weight: 600;
}

/* Signature canvas box. */
[data-fs-fm] [data-fs-fm-signature] {
  display: flex; flex-direction: column; gap: 6px;
}
[data-fs-fm] [data-fs-fm-sig-canvas] {
  background: var(--fs-fm-field-bg);
  border: 1px solid var(--fs-fm-field-border);
  border-radius: var(--fs-fm-box-radius);
  touch-action: none;
  cursor: crosshair;
  display: block;
  width: 100%;
  height: 160px;
}
[data-fs-fm] [data-fs-fm-sig-clear] {
  align-self: flex-start;
  background: transparent;
  border: 1px solid var(--fs-fm-field-border);
  border-radius: var(--fs-fm-radius);
  padding: 4px 10px;
  font-size: 0.85em;
  cursor: pointer;
}
[data-fs-fm] [data-fs-fm-sig-clear]:hover { background: #f4f4f5; }

/* Payment placeholder card. */
[data-fs-fm] [data-fs-fm-payment] {
  border: 1px solid var(--fs-fm-field-border);
  border-radius: var(--fs-fm-box-radius);
  padding: 16px;
  background: var(--fs-fm-field-bg);
  display: flex; flex-direction: column; gap: 10px;
}
[data-fs-fm] [data-fs-fm-payment-amount] {
  font-size: 1.6em; font-weight: 700; color: var(--fs-fm-text);
  line-height: 1.1;
}
[data-fs-fm] [data-fs-fm-payment-mode] {
  font-size: 0.8em; color: var(--fs-fm-help);
  text-transform: uppercase; letter-spacing: 0.05em;
}
[data-fs-fm] [data-fs-fm-payment-mock] {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}
[data-fs-fm] [data-fs-fm-payment-mock] input {
  font-family: inherit;
}
[data-fs-fm] [data-fs-fm-payment-mock] [data-two-col] {
  display: grid; grid-template-columns: 1fr 1fr; gap: 8px;
}
[data-fs-fm] [data-fs-fm-payment-note] {
  font-size: 0.75em; color: var(--fs-fm-help);
  padding-top: 4px; border-top: 1px dashed var(--fs-fm-field-border);
}

/* Multi-file list */
[data-fs-fm] [data-fs-fm-multifile-list] {
  list-style: none; padding: 0; margin: 6px 0 0 0;
  display: flex; flex-direction: column; gap: 4px;
  font-size: 0.85em;
}
[data-fs-fm] [data-fs-fm-multifile-list] li {
  display: flex; justify-content: space-between;
  padding: 4px 8px;
  background: var(--fs-fm-field-bg);
  border: 1px solid var(--fs-fm-field-border);
  border-radius: 6px;
}
[data-fs-fm] [data-fs-fm-multifile-list] li [data-name] {
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  min-width: 0;
}
[data-fs-fm] [data-fs-fm-multifile-list] li [data-size] {
  flex-shrink: 0;
  color: var(--fs-fm-help);
  margin-left: 12px;
}

/* Rich text editor. */
[data-fs-fm] [data-fs-fm-richtext] {
  display: flex; flex-direction: column; gap: 4px;
  border: 1px solid var(--fs-fm-field-border);
  border-radius: var(--fs-fm-box-radius);
  background: var(--fs-fm-field-bg);
}
[data-fs-fm] [data-fs-fm-rt-toolbar] {
  display: flex; gap: 2px;
  padding: 4px; border-bottom: 1px solid var(--fs-fm-field-border);
  background: #fafafa;
  border-top-left-radius: var(--fs-fm-box-radius);
  border-top-right-radius: var(--fs-fm-box-radius);
}
[data-fs-fm] [data-fs-fm-rt-btn] {
  background: transparent; border: none;
  padding: 4px 8px; font-size: 0.85em;
  cursor: pointer; border-radius: 4px;
  font-family: inherit;
}
[data-fs-fm] [data-fs-fm-rt-btn]:hover { background: #e4e4e7; }
[data-fs-fm] [data-fs-fm-rt-btn][aria-pressed="true"] {
  background: var(--fs-fm-button-bg);
  color: var(--fs-fm-button-text);
}
[data-fs-fm] [data-fs-fm-rt-body] {
  min-height: 120px;
  padding: 10px 12px;
  outline: none;
  font-family: inherit;
  font-size: inherit;
}
[data-fs-fm] [data-fs-fm-rt-body]:focus-visible {
  outline: 2px solid var(--fs-fm-field-border-focus);
  outline-offset: -2px;
}
[data-fs-fm] [data-fs-fm-rt-body][data-empty="1"]::before {
  content: attr(data-placeholder);
  color: var(--fs-fm-help);
  pointer-events: none;
}

/* Hidden field row in editor mode — badge instead of a real input. */
[data-fs-fm] [data-fs-fm-hidden-badge] {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 4px 10px;
  font-size: 0.8em;
  background: #f4f4f5; border: 1px dashed var(--fs-fm-field-border);
  border-radius: 999px;
  color: var(--fs-fm-help);
  font-family: ui-monospace, monospace;
}

/* Wireframe overrides for Pro types — every visual becomes structural. */
[data-fs-fm][data-wireframe="1"] [data-fs-fm-rating-btn][data-active="1"] { color: #000 !important; }
[data-fs-fm][data-wireframe="1"] [data-fs-fm-rating-btn] { color: #999 !important; }
[data-fs-fm][data-wireframe="1"] [data-fs-fm-sig-canvas],
[data-fs-fm][data-wireframe="1"] [data-fs-fm-payment],
[data-fs-fm][data-wireframe="1"] [data-fs-fm-matrix],
[data-fs-fm][data-wireframe="1"] [data-fs-fm-richtext] {
  background: none !important;
  border: 1px dashed #333 !important;
  border-radius: 0 !important;
  color: #000 !important;
}
[data-fs-fm][data-wireframe="1"] [data-fs-fm-rt-toolbar] { background: none !important; }
[data-fs-fm][data-wireframe="1"] [data-fs-fm-payment-amount] { font-weight: bold; }

/* ── Phase 2b: multi-step, resume, scheduling ────────────── */

/* Progress bar — one circle per step, active is filled, done is a slightly
   dimmer variant so the visitor can see where they came from. */
[data-fs-fm] [data-fs-fm-progress] {
  display: flex; gap: 6px; justify-content: center;
  margin: 0 0 22px 0;
}
[data-fs-fm] [data-fs-fm-progress] [data-step-marker] {
  /* Sizes to its content, with a 26px floor. It used to be a fixed
     26x26 box, from when it held one digit; it now also carries the
     step's NAME (editable on the canvas), which at >=640px renders
     inside it — so "Step 1" spilled out of the circle and collided with
     the next marker. Reported 2026-09-07. A lone digit still lands on
     26px and stays round; a named step grows into a pill. */
  min-width: 26px; height: 26px; padding: 0 9px;
  box-sizing: border-box;
  white-space: nowrap;
  border-radius: 999px;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 12px; font-weight: 700;
  background: var(--fs-fm-field-bg);
  border: 1px solid var(--fs-fm-field-border);
  color: var(--fs-fm-help);
  transition: background 120ms ease, color 120ms ease, border-color 120ms ease;
}
[data-fs-fm] [data-fs-fm-progress] [data-step-marker][data-active="1"] {
  background: var(--fs-fm-button-bg);
  border-color: var(--fs-fm-button-bg);
  color: var(--fs-fm-button-text);
}
[data-fs-fm] [data-fs-fm-progress] [data-step-marker][data-done="1"] {
  background: var(--fs-fm-button-bg);
  border-color: var(--fs-fm-button-bg);
  color: var(--fs-fm-button-text);
  opacity: 0.55;
}

/* The editor step group is GONE (R9, 2026-09-07), and so are the rules
   that dressed it: [data-fs-fm-step-group], [data-fs-fm-step-label] and
   [data-nested-grid] are no longer emitted by anything.

   The dashed box was the first thing the owner named in the complaint,
   and the fix it carried — a FIXED 10px radius instead of
   var(--fs-fm-radius), because Lumina's 999px control radius drew a
   giant ellipse across a whole step — went with it. The other Lumina
   fix, the step markers sizing to their content, is on
   [data-fs-fm-progress] [data-step-marker] above and still live: the
   progress bar is the form's own, not editor chrome.

   While editing, a step boundary now shows the way it shows a visitor:
   the page-break field's own banner. */

/* Conditional badge — shown next to the label in editor mode when the
   field has a showIf rule. Just a hint; the field still renders. */
[data-fs-fm] [data-fs-fm-conditional-badge] {
  display: inline-block;
  margin-left: 8px;
  padding: 1px 6px;
  font-size: 0.7em;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  background: #eef2ff;
  color: #4338ca;
  border-radius: 4px;
}
[data-fs-fm] [data-fs-fm-conditional-badge][data-kind="required-if"] {
  background: #fef2f2;
  color: #b91c1c;
}
[data-fs-fm] [data-fs-fm-conditional-badge][data-kind="skip-if"] {
  background: #fef3c7;
  color: #92400e;
}

/* Back / Next / Submit row — flex with even spacing on multistep. */
[data-fs-fm] [data-fs-fm-actions][data-multistep="1"] {
  display: flex;
  gap: 10px;
  justify-content: space-between;
}
[data-fs-fm] [data-fs-fm-back],
[data-fs-fm] [data-fs-fm-next] {
  padding: 10px 22px;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
  font-size: inherit;
  border-radius: 999px;
  transition: filter 120ms ease, transform 60ms ease;
}
[data-fs-fm][data-btn-shape="square"] [data-fs-fm-back],
[data-fs-fm][data-btn-shape="square"] [data-fs-fm-next] { border-radius: 0; }
[data-fs-fm] [data-fs-fm-back] {
  background: transparent;
  color: var(--fs-fm-text);
  border: 1px solid var(--fs-fm-field-border);
}
[data-fs-fm] [data-fs-fm-next] {
  background: var(--fs-fm-button-bg);
  color: var(--fs-fm-button-text);
  border: none;
}
[data-fs-fm] [data-fs-fm-back]:hover,
[data-fs-fm] [data-fs-fm-next]:hover { filter: brightness(0.94); }
[data-fs-fm] [data-fs-fm-back]:active,
[data-fs-fm] [data-fs-fm-next]:active { transform: translateY(1px); }

/* ── Calculated results ───────────────────────────────────────────
   A quiet panel above the buttons. Deliberately understated: this is a
   number the visitor is checking, not a call to action, and styling it
   like one would compete with Submit for the same attention. */
[data-fs-fm] [data-fs-fm-calc-results] {
  margin: 4px 0 16px 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
[data-fs-fm] [data-fs-fm-calc-result] {
  padding: 10px 14px;
  border: 1px solid var(--fs-fm-field-border);
  border-radius: var(--fs-fm-box-radius);
  background: transparent;
}
[data-fs-fm] [data-fs-fm-calc-line] {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}
[data-fs-fm] [data-fs-fm-calc-label] {
  font-weight: 600;
  color: var(--fs-fm-text);
}
[data-fs-fm] [data-fs-fm-calc-value] {
  font-weight: 700;
  font-size: 1.15em;
  color: var(--fs-fm-text);
  /* Digits line up as the total changes, so the number does not shuffle
     sideways on every keystroke. */
  font-variant-numeric: tabular-nums;
}
[data-fs-fm] [data-fs-fm-calc-breakdown] {
  margin: 6px 0 0 0;
  padding: 6px 0 0 0;
  list-style: none;
  border-top: 1px solid var(--fs-fm-field-border);
  display: flex;
  flex-direction: column;
  gap: 2px;
}
[data-fs-fm] [data-fs-fm-calc-breakdown] li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: .85em;
  opacity: .72;
  font-variant-numeric: tabular-nums;
}

/* ── Author-configured footer buttons ─────────────────────────────
   Clear, and link-out buttons, plus the variant that decides how loud
   any footer button is. Inherits the same shape and rhythm as Back/Next
   so a mixed footer still reads as one row rather than three designs.

   Specificity note: [data-fs-fm-variant] is doubled on the primary rule
   so an explicitly-primary Clear beats the plain [data-fs-fm-clear]
   default below it without needing !important. */
[data-fs-fm] [data-fs-fm-clear],
[data-fs-fm] [data-fs-fm-link-btn] {
  padding: 10px 22px;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
  font-size: inherit;
  border-radius: 999px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  transition: filter 120ms ease, transform 60ms ease;
}
[data-fs-fm][data-btn-shape="square"] [data-fs-fm-clear],
[data-fs-fm][data-btn-shape="square"] [data-fs-fm-link-btn] { border-radius: 0; }

[data-fs-fm] [data-fs-fm-variant="secondary"] {
  background: transparent;
  color: var(--fs-fm-text);
  border: 1px solid var(--fs-fm-field-border);
}
[data-fs-fm] [data-fs-fm-variant="ghost"] {
  background: transparent;
  color: var(--fs-fm-text);
  border: 1px solid transparent;
  opacity: .78;
}
[data-fs-fm] [data-fs-fm-variant="primary"][data-fs-fm-variant] {
  background: var(--fs-fm-button-bg);
  color: var(--fs-fm-button-text);
  border: none;
}
[data-fs-fm] [data-fs-fm-clear]:hover,
[data-fs-fm] [data-fs-fm-link-btn]:hover { filter: brightness(0.94); opacity: 1; }
[data-fs-fm] [data-fs-fm-clear]:active,
[data-fs-fm] [data-fs-fm-link-btn]:active { transform: translateY(1px); }
[data-fs-fm] [data-fs-fm-clear]:focus-visible,
[data-fs-fm] [data-fs-fm-link-btn]:focus-visible {
  outline: 2px solid var(--fs-fm-field-border-focus);
  outline-offset: 2px;
}

/* Resume banner — soft blue, clearly a system message, buttons on the right. */
[data-fs-fm] [data-fs-fm-resume] {
  margin: 0 0 20px 0;
  padding: 12px 16px;
  background: #eff6ff;
  border: 1px solid #93c5fd;
  border-radius: var(--fs-fm-box-radius);
  color: #1e3a8a;
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px; flex-wrap: wrap;
  font-size: 0.9em;
}
[data-fs-fm] [data-fs-fm-resume] > div { display: flex; gap: 6px; }
[data-fs-fm] [data-fs-fm-resume-apply],
[data-fs-fm] [data-fs-fm-resume-dismiss] {
  padding: 4px 12px;
  font-weight: 600;
  border-radius: 999px;
  cursor: pointer;
  font-family: inherit;
  font-size: 0.9em;
}
[data-fs-fm] [data-fs-fm-resume-apply] {
  background: #1e40af; color: #ffffff; border: none;
}
[data-fs-fm] [data-fs-fm-resume-dismiss] {
  background: transparent; color: #1e3a8a; border: 1px solid #93c5fd;
}

/* Schedule messages — neutral card, matches success/pro style. */
[data-fs-fm] [data-fs-fm-schedule] {
  padding: 24px;
  border-radius: var(--fs-fm-box-radius);
  background: #f4f4f5;
  border: 1px solid #d4d4d8;
  color: #27272a;
  text-align: center;
  font-weight: 500;
}
[data-fs-fm][data-schedule="closed"] [data-fs-fm-schedule] {
  background: #fef2f2;
  border-color: #fecaca;
  color: #7f1d1d;
}
[data-fs-fm][data-schedule="not-yet"] [data-fs-fm-schedule] {
  background: #ecfeff;
  border-color: #a5f3fc;
  color: #164e63;
}

/* Wireframe overrides for Phase 2b UI. */
[data-fs-fm][data-wireframe="1"] [data-fs-fm-progress] [data-step-marker] {
  background: #fff !important;
  border: 1px dashed #333 !important;
  color: #000 !important;
}
[data-fs-fm][data-wireframe="1"] [data-fs-fm-conditional-badge] {
  background: #fff !important;
  color: #000 !important;
  border: 1px dashed #333 !important;
}
[data-fs-fm][data-wireframe="1"] [data-fs-fm-back],
[data-fs-fm][data-wireframe="1"] [data-fs-fm-next],
[data-fs-fm][data-wireframe="1"] [data-fs-fm-resume],
[data-fs-fm][data-wireframe="1"] [data-fs-fm-schedule] {
  background: none !important;
  color: #000 !important;
  border: 1px dashed #333 !important;
  border-radius: 0 !important;
}

/* ═════════════════════════════════════════════════════════════════
   PHASE 2f — GROUPS
   ═════════════════════════════════════════════════════════════════ */

[data-fs-fm] [data-fs-fm-group] {
  grid-column: 1 / -1;
  border: 1px solid var(--fs-fm-field-border);
  border-radius: 12px;
  padding: 20px;
  margin: 0;
  min-width: 0;
  background: var(--fs-fm-field-bg);
  transition: background 200ms ease, border-color 200ms ease;
}
[data-fs-fm] [data-fs-fm-group][data-layout="card"] {
  box-shadow: 0 1px 3px rgba(0,0,0,0.06), 0 4px 12px rgba(0,0,0,0.04);
  border-color: transparent;
}
[data-fs-fm] [data-fs-fm-group][data-layout="full-width"] {
  border-radius: 0;
  border-left: none;
  border-right: none;
  padding-left: 0;
  padding-right: 0;
}
[data-fs-fm] [data-fs-fm-group][data-padding="sm"] { padding: 12px; }
[data-fs-fm] [data-fs-fm-group][data-padding="lg"] { padding: 28px; }
[data-fs-fm] [data-fs-fm-group][disabled] {
  opacity: 0.55;
  cursor: not-allowed;
}
[data-fs-fm] [data-fs-fm-group-legend] {
  padding: 0 8px;
  margin-left: -8px;
  display: inline-flex;
  align-items: baseline;
  gap: 10px;
}
[data-fs-fm] [data-fs-fm-group-title] {
  font-weight: 700;
  font-size: 0.98em;
  color: var(--fs-fm-label);
}
[data-fs-fm] [data-fs-fm-group-desc] {
  font-size: 0.85em;
  color: var(--fs-fm-help);
}
[data-fs-fm] [data-fs-fm-group-badge] {
  padding: 2px 6px;
  font-size: 0.7em;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  background: #fef3c7;
  color: #92400e;
  border-radius: 4px;
}
[data-fs-fm] [data-fs-fm-group-body] {
  display: grid;
  gap: 16px;
  grid-template-columns: 1fr;
  margin-top: 14px;
}
[data-fs-fm] [data-fs-fm-group][data-layout="two-column"] [data-fs-fm-group-body] {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
[data-fs-fm] [data-fs-fm-group][data-spacing="tight"] [data-fs-fm-group-body] { gap: 8px; }
[data-fs-fm] [data-fs-fm-group][data-spacing="loose"] [data-fs-fm-group-body] { gap: 24px; }
[data-fs-fm] [data-fs-fm-group-summary] {
  cursor: pointer;
  padding: 4px 10px;
  border-radius: 6px;
  font-size: 0.85em;
  font-weight: 600;
  color: var(--fs-fm-button-bg);
  list-style: none;
}
[data-fs-fm] [data-fs-fm-group-summary::-webkit-details-marker] { display: none; }
[data-fs-fm] [data-fs-fm-group-empty] {
  padding: 12px;
  border: 1px dashed var(--fs-fm-field-border);
  border-radius: 8px;
  color: var(--fs-fm-help);
  text-align: center;
  font-size: 0.85em;
  font-style: italic;
}

/* ═════════════════════════════════════════════════════════════════
   PHASE 2f — PAGE HEADER
   ═════════════════════════════════════════════════════════════════ */

[data-fs-fm] [data-fs-fm-page-header] {
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--fs-fm-field-border);
}
[data-fs-fm] [data-fs-fm-page-title] {
  margin: 0 0 4px 0;
  font-size: 1.15em;
  font-weight: 700;
  color: var(--fs-fm-text);
}
[data-fs-fm] [data-fs-fm-page-desc] {
  margin: 0;
  color: var(--fs-fm-help);
  font-size: 0.9em;
}
[data-fs-fm] [data-step-marker-num] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
[data-fs-fm] [data-step-marker-label] {
  margin-left: 6px;
  font-size: 0.75em;
  color: var(--fs-fm-help);
  display: none;
}
@media (min-width: 640px) {
  [data-fs-fm] [data-step-marker-label] { display: inline; }
}

/* ═════════════════════════════════════════════════════════════════
   PHASE 2f — DATE PICKER
   ═════════════════════════════════════════════════════════════════ */

[data-fs-fm] [data-fs-fm-datepicker] {
  position: relative;
  width: 100%;
}
[data-fs-fm] [data-fs-fm-date-trigger] {
  width: 100%;
  padding: 10px 14px;
  border: 1px solid var(--fs-fm-field-border);
  border-radius: 10px;
  background: var(--fs-fm-field-bg);
  color: var(--fs-fm-text);
  font: inherit;
  text-align: left;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
  transition: border-color 150ms ease, box-shadow 150ms ease, background 150ms ease;
}
[data-fs-fm] [data-fs-fm-date-trigger]:hover:not([disabled]) {
  border-color: var(--fs-fm-field-border-focus);
}
[data-fs-fm] [data-fs-fm-date-trigger]:focus-visible {
  outline: none;
  border-color: var(--fs-fm-field-border-focus);
  box-shadow: 0 0 0 3px rgba(109, 40, 217, 0.18);
}
[data-fs-fm] [data-fs-fm-date-trigger][data-invalid="1"] {
  border-color: var(--fs-fm-danger, #dc2626);
}
[data-fs-fm] [data-fs-fm-date-trigger][disabled] {
  opacity: 0.55;
  cursor: not-allowed;
}
[data-fs-fm] [data-fs-fm-date-trigger-label] {
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* The calendar icon inside the trigger picks up the label colour so it
   reads clearly in every theme + mode. */
[data-fs-fm] [data-fs-fm-date-trigger] svg {
  flex-shrink: 0;
  opacity: 0.65;
  transition: opacity 150ms ease;
}
[data-fs-fm] [data-fs-fm-date-trigger]:hover:not([disabled]) svg {
  opacity: 1;
}
[data-fs-fm] [data-fs-fm-date-error] {
  margin: 4px 0 0;
  font-size: 0.8em;
  color: var(--fs-fm-danger, #dc2626);
}

/* Popover — softer shadow, roomier, better readable at a glance. */
[data-fs-fm] [data-fs-fm-date-popover] {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  z-index: 40;
  min-width: 300px;
  padding: 14px;
  background: var(--fs-fm-field-bg);
  border: 1px solid var(--fs-fm-field-border);
  border-radius: 14px;
  box-shadow:
    0 1px 3px rgba(15, 14, 23, 0.04),
    0 12px 32px -6px rgba(15, 14, 23, 0.12);
  animation: fs-fm-date-in 160ms cubic-bezier(0.2, 0.9, 0.2, 1);
}
@keyframes fs-fm-date-in {
  from { opacity: 0; transform: translateY(-6px) scale(0.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
[data-fs-fm] [data-fs-fm-date-header] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
  padding: 0 2px;
}
[data-fs-fm] [data-fs-fm-date-month-label] {
  font-weight: 600;
  font-size: 0.95em;
  color: var(--fs-fm-text);
  letter-spacing: -0.01em;
}
[data-fs-fm] [data-fs-fm-date-nav] {
  width: 28px;
  height: 28px;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--fs-fm-text);
  cursor: pointer;
  border-radius: 8px;
  font-size: 1em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 140ms ease, color 140ms ease;
}
[data-fs-fm] [data-fs-fm-date-nav]:hover {
  background: rgba(109, 40, 217, 0.08);
  color: var(--fs-fm-field-border-focus);
}
[data-fs-fm] [data-fs-fm-date-nav]:focus-visible {
  outline: 2px solid var(--fs-fm-field-border-focus);
  outline-offset: 2px;
}
[data-fs-fm] [data-fs-fm-date-weekdays],
[data-fs-fm] [data-fs-fm-date-grid] {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 3px;
}
[data-fs-fm] [data-fs-fm-date-weekday] {
  text-align: center;
  font-size: 0.68em;
  font-weight: 600;
  color: var(--fs-fm-help);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 6px 0;
}
[data-fs-fm] [data-fs-fm-date-day] {
  aspect-ratio: 1;
  border: none;
  background: transparent;
  color: var(--fs-fm-text);
  font: inherit;
  font-size: 0.85em;
  font-weight: 500;
  cursor: pointer;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 120ms ease, color 120ms ease, transform 100ms ease;
}
[data-fs-fm] [data-fs-fm-date-day]:hover:not([disabled]) {
  background: rgba(109, 40, 217, 0.10);
  color: var(--fs-fm-field-border-focus);
}
[data-fs-fm] [data-fs-fm-date-day]:active:not([disabled]) {
  transform: scale(0.94);
}
[data-fs-fm] [data-fs-fm-date-day][data-outside="1"] {
  color: var(--fs-fm-help);
  opacity: 0.42;
}
[data-fs-fm] [data-fs-fm-date-day][data-blocked="1"] {
  color: var(--fs-fm-help);
  text-decoration: line-through;
  cursor: not-allowed;
  opacity: 0.38;
}
[data-fs-fm] [data-fs-fm-date-day][data-blocked="1"]:hover {
  background: transparent;
}
[data-fs-fm] [data-fs-fm-date-day][data-today="1"] {
  font-weight: 700;
  outline: 1.5px solid var(--fs-fm-field-border-focus);
  outline-offset: -2px;
}
[data-fs-fm] [data-fs-fm-date-day][data-selected="1"] {
  background: var(--fs-fm-field-border-focus);
  color: #ffffff;
  font-weight: 700;
  outline: none;
}
[data-fs-fm] [data-fs-fm-date-day][data-selected="1"]:hover {
  background: var(--fs-fm-field-border-focus);
  color: #ffffff;
  filter: brightness(1.08);
}
[data-fs-fm] [data-fs-fm-date-day]:focus-visible {
  outline: 2px solid var(--fs-fm-field-border-focus);
  outline-offset: 2px;
}
[data-fs-fm] [data-fs-fm-date-footer] {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--fs-fm-field-border);
  display: flex;
  justify-content: flex-end;
}
[data-fs-fm] [data-fs-fm-date-clear] {
  padding: 6px 12px;
  border: none;
  background: transparent;
  color: var(--fs-fm-danger, #dc2626);
  cursor: pointer;
  font-size: 0.82em;
  font-weight: 600;
  border-radius: 8px;
  transition: background 120ms ease;
}
[data-fs-fm] [data-fs-fm-date-clear]:hover {
  background: rgba(220, 38, 38, 0.10);
}

/* Dark mode — the editor toggles html.dark; the form block sits inside
   that so a .dark selector layered on top of the popover gets the right
   palette without depending on prefers-color-scheme (which doesn't follow
   the editor's preview toggle). Kept the media query as a graceful default
   for direct-in-page rendering outside the editor. */
.dark [data-fs-fm] [data-fs-fm-date-popover] {
  background: #1c1a2b;
  border-color: #3a3654;
  box-shadow:
    0 1px 3px rgba(0, 0, 0, 0.3),
    0 12px 32px -6px rgba(0, 0, 0, 0.5);
}
.dark [data-fs-fm] [data-fs-fm-date-nav]:hover {
  background: rgba(139, 92, 246, 0.16);
}
.dark [data-fs-fm] [data-fs-fm-date-day]:hover:not([disabled]) {
  background: rgba(139, 92, 246, 0.16);
}
@media (prefers-color-scheme: dark) {
  [data-fs-fm] [data-fs-fm-date-popover] {
    background: #1c1a2b;
    border-color: #3a3654;
    box-shadow:
      0 1px 3px rgba(0, 0, 0, 0.3),
      0 12px 32px -6px rgba(0, 0, 0, 0.5);
  }
}

/* Wireframe overrides for groups + date picker */
[data-fs-fm][data-wireframe="1"] [data-fs-fm-group] {
  background: none !important;
  border: 1px dashed #333 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
[data-fs-fm][data-wireframe="1"] [data-fs-fm-page-header] {
  border-color: #333 !important;
}
[data-fs-fm][data-wireframe="1"] [data-fs-fm-date-wireframe] {
  border: 1px dashed #333 !important;
  border-radius: 0 !important;
  background: none !important;
  color: #000 !important;
}


/* Saved pixel framing and paper texture never depend on editor appearance. */
[data-fs-map][data-border="retro"] [data-fs-map-frame],
[data-fs-map][data-border="retro"] [data-fs-map-placeholder] {
  border: 2px solid #000000;
  border-radius: 0;
  box-shadow: none;
}
[data-fs-map][data-bg="retro"] [data-fs-map-frame],
[data-fs-map][data-bg="retro"] [data-fs-map-placeholder] {
  background-color: #ffffff;
  background-image:
    linear-gradient(45deg, #d4d4d8 25%, transparent 25%, transparent 75%, #d4d4d8 75%),
    linear-gradient(45deg, #d4d4d8 25%, transparent 25%, transparent 75%, #d4d4d8 75%);
  background-size: 12px 12px;
  background-position: 0 0, 6px 6px;
}

/* The pixel map type is saved on the block, independent of editor appearance. */
[data-fs-map][data-map-type="retroPixel"] .leaflet-tile {
  image-rendering: pixelated;
  filter: grayscale(1) contrast(2.4) brightness(1.08);
  transform-origin: 0 0;
}

/* A. Smooth loading reveal ------------------------------------- */
@keyframes fs-map-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes fs-map-slide-up { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }

[data-fs-map][data-anim-load="fade"] [data-fs-map-canvas] { animation: fs-map-fade 420ms ease-out both; }
[data-fs-map][data-anim-load="slide"] [data-fs-map-canvas] { animation: fs-map-slide-up 480ms cubic-bezier(.22,.61,.36,1) both; }

/* B. Marker drop / bounce -------------------------------------- */
@keyframes fs-map-drop {
  0%   { opacity: 0; transform: translate(-50%, -180%) scale(.85); }
  60%  { opacity: 1; transform: translate(-50%, -92%) scale(1.02); }
  80%  { transform: translate(-50%, -104%); }
  100% { transform: translate(-50%, -100%); }
}
@keyframes fs-map-bounce {
  0%, 100% { transform: translate(-50%, -100%); }
  40%      { transform: translate(-50%, -122%); }
  70%      { transform: translate(-50%, -106%); }
}
[data-fs-map] .fs-marker { transform: translate(-50%, -100%); transform-origin: 50% 100%; }
[data-fs-map][data-anim-marker="drop"] .fs-marker { animation: fs-map-drop 520ms cubic-bezier(.3,1.4,.5,1) both; }
[data-fs-map][data-anim-marker="bounce"] .fs-marker { animation: fs-map-bounce 620ms ease-out both; }
/* Stagger, so five markers land one after another rather than as a block. */
[data-fs-map] .fs-marker[data-i="1"] { animation-delay: 90ms; }
[data-fs-map] .fs-marker[data-i="2"] { animation-delay: 180ms; }
[data-fs-map] .fs-marker[data-i="3"] { animation-delay: 270ms; }
[data-fs-map] .fs-marker[data-i="4"] { animation-delay: 360ms; }
[data-fs-map] .fs-marker[data-i="5"] { animation-delay: 450ms; }

/* Hover pulse on a marker. */
@keyframes fs-map-pulse { 0%,100% { box-shadow: 0 0 0 0 currentColor; } 50% { box-shadow: 0 0 0 7px transparent; } }
[data-fs-map][data-anim-hover="1"] .fs-marker:hover .fs-marker-dot { animation: fs-map-pulse 1.1s ease-out infinite; }

/* C. Route drawing --------------------------------------------- */
/* The dash offset is set inline from the path's real length; animating it to
   zero draws the line from A to B. */
@keyframes fs-map-draw { to { stroke-dashoffset: 0; } }
[data-fs-map][data-anim-route="1"] .fs-route-path {
  animation: fs-map-draw var(--fs-route-ms, 1400ms) ease-in-out both;
}

/* D. Map-type crossfade ---------------------------------------- */
[data-fs-map] .fs-tile-fade { transition: opacity 380ms ease; }

/* E. Hover effects on the frame -------------------------------- */
[data-fs-map][data-anim-hover="1"] [data-fs-map-frame] {
  transition: transform 320ms ease, box-shadow 320ms ease;
}
[data-fs-map][data-anim-hover="1"] [data-fs-map-frame]:hover {
  transform: scale(1.015);
  box-shadow: 0 12px 32px rgb(0 0 0 / 0.14);
}

/* Click ripple. The block positions the span; we only animate it. */
@keyframes fs-map-ripple { from { transform: scale(0); opacity: .45; } to { transform: scale(1); opacity: 0; } }
[data-fs-map] .fs-ripple {
  position: absolute;
  width: 180px; height: 180px; margin: -90px 0 0 -90px;
  border-radius: 9999px;
  background: currentColor;
  pointer-events: none;
  animation: fs-map-ripple 620ms ease-out forwards;
}

/* F. Control panel --------------------------------------------- */
[data-fs-map] [data-fs-map-controls] { opacity: 0; transform: translateY(-4px); transition: opacity 260ms ease, transform 260ms ease; }
[data-fs-map] [data-fs-map-frame]:hover [data-fs-map-controls],
[data-fs-map] [data-fs-map-controls]:focus-within { opacity: 1; transform: none; }

/* Anyone who has asked for less motion gets none of the above. */
@media (prefers-reduced-motion: reduce) {
  [data-fs-map] *,
  [data-fs-map] *::before,
  [data-fs-map] *::after {
    animation: none !important;
    transition: none !important;
  }
  [data-fs-map] .fs-route-path { stroke-dashoffset: 0 !important; }
  [data-fs-map] [data-fs-map-controls] { opacity: 1 !important; transform: none !important; }
}

/* F. The aside — opening hours and the address --------------------
   Every selector here is gated on a node MapBlock only emits when the
   section wrote hours or an address into it, so on a map that carries
   neither, none of it matches anything. Deliberately plain: a ruled
   two-column list and a stacked address. A theme that wants a card says
   so in its own sheet. */
[data-fs-map] [data-fs-map-aside] {
  margin-top: 12px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
[data-fs-map] [data-fs-map-hours-title] {
  margin: 0 0 6px;
  font-size: 1rem;
  font-weight: 700;
}
[data-fs-map] [data-fs-map-hours-row] {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  padding: 8px 0;
  border-bottom: 1px solid rgb(var(--c-line, 212 212 216));
  font-size: var(--fs-type-caption, .8125rem);
}
[data-fs-map] [data-fs-map-hours-row]:last-of-type { border-bottom: 0; }
[data-fs-map] [data-fs-map-hours-row] > span:last-child {
  font-weight: 600;
  text-align: right;
}
[data-fs-map] [data-fs-map-hours-note] {
  margin: 8px 0 0;
  font-size: var(--fs-type-caption, .8125rem);
  line-height: 1.55;
  color: rgb(var(--c-ink-700, 63 63 70));
}
[data-fs-map] [data-fs-map-address] {
  display: flex;
  flex-direction: column;
  font-style: normal;
  line-height: 1.6;
}
[data-fs-map] [data-fs-map-address-name] { font-weight: 700; }


[data-fs-notfound] {
  --fs-nf-text: #18181b;
  --fs-nf-accent: rgb(var(--c-brand-600, 109 40 217));
}

/* Buttons: primary is filled with the accent, others are outlined. */
[data-fs-notfound] [data-fs-nf-btn="primary"] {
  background: var(--fs-nf-accent);
  color: #fff;
  border: 1px solid transparent;
  transition: filter 160ms ease, transform 160ms ease;
}
[data-fs-notfound] [data-fs-nf-btn="primary"]:hover { filter: brightness(1.1); transform: translateY(-1px); }
[data-fs-notfound] [data-fs-nf-btn="secondary"],
[data-fs-notfound] [data-fs-nf-btn="tertiary"] {
  color: var(--fs-nf-text);
  border-color: color-mix(in srgb, var(--fs-nf-text) 30%, transparent);
  background: transparent;
  transition: border-color 160ms ease, background-color 160ms ease;
}
[data-fs-notfound] [data-fs-nf-btn="secondary"]:hover,
[data-fs-notfound] [data-fs-nf-btn="tertiary"]:hover {
  border-color: var(--fs-nf-accent);
  background: color-mix(in srgb, var(--fs-nf-accent) 8%, transparent);
}
[data-fs-notfound] [data-fs-nf-btn]:focus-visible,
[data-fs-notfound] [data-fs-nf-search-btn]:focus-visible,
[data-fs-notfound] [data-fs-nf-search-input]:focus-visible,
[data-fs-notfound] [data-fs-nf-nav-link]:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--fs-nf-accent);
}

/* Search bar. */
[data-fs-notfound] [data-fs-nf-search-input] {
  border-color: color-mix(in srgb, var(--fs-nf-text) 20%, transparent);
  color: var(--fs-nf-text);
  background: color-mix(in srgb, var(--fs-nf-text) 3%, transparent);
}
/* Same fix as the under-construction newsletter field: fading toward
   transparent ignores what is behind the text. Use the palette's solved
   muted tone instead. */
[data-fs-notfound] [data-fs-nf-search-input]::placeholder { color: rgb(var(--c-ink-400, 113 113 122)); }
[data-fs-notfound] [data-fs-nf-search-btn] {
  background: var(--fs-nf-accent);
  color: #fff;
  transition: filter 160ms ease;
}
[data-fs-notfound] [data-fs-nf-search-btn]:hover { filter: brightness(1.1); }

[data-fs-notfound] [data-fs-nf-icon] { color: var(--fs-nf-accent); }
[data-fs-notfound] [data-fs-nf-nav-link] { color: var(--fs-nf-text); opacity: 0.75; }
[data-fs-notfound] [data-fs-nf-nav-link]:hover { opacity: 1; }

/* Split: the two columns share the row; the image never shrinks below its basis. */
[data-fs-notfound][data-template="split"] [data-fs-nf-split-image] { flex-shrink: 0; }

/* Dark template: controls need to read on a dark field. */
[data-fs-notfound][data-template="dark"] [data-fs-nf-search-input] {
  border-color: color-mix(in srgb, var(--fs-nf-text) 30%, transparent);
  background: color-mix(in srgb, var(--fs-nf-text) 8%, transparent);
}
[data-fs-notfound][data-template="dark"] [data-fs-nf-btn="secondary"],
[data-fs-notfound][data-template="dark"] [data-fs-nf-btn="tertiary"] {
  border-color: color-mix(in srgb, var(--fs-nf-text) 40%, transparent);
}
[data-fs-notfound][data-template="dark"] [data-fs-nf-btn]:focus-visible,
[data-fs-notfound][data-template="dark"] [data-fs-nf-search-btn]:focus-visible,
[data-fs-notfound][data-template="dark"] [data-fs-nf-search-input]:focus-visible {
  box-shadow: 0 0 0 2px var(--fs-nf-text), 0 0 0 4px var(--fs-nf-accent);
}

/* Reduced motion: drop the hover lift and any transition. */
@media (prefers-reduced-motion: reduce) {
  [data-fs-notfound] * { transition: none !important; animation: none !important; }
  [data-fs-notfound] [data-fs-nf-btn="primary"]:hover { transform: none; }
}

/* High-contrast / forced-colours: let the OS palette through, keep structure. */
@media (forced-colors: active) {
  [data-fs-notfound] [data-fs-nf-btn],
  [data-fs-notfound] [data-fs-nf-search-input],
  [data-fs-notfound] [data-fs-nf-search-btn] { border: 1px solid; }
}


[data-fs-underconstruction] {
  /* Were hardcoded light-mode values, which measured 1.13:1 on a dark
     theme — the worst contrast in the library. The fallbacks keep the
     previous light-mode appearance exactly. */
  --fs-uc-text: rgb(var(--c-ink-950, 24 24 27));
  --fs-uc-accent: rgb(var(--c-brand-600, 109 40 217));
  --fs-uc-card: rgb(var(--c-paper, 255 255 255));
  --fs-uc-card-radius: 24px;
}

/* Contact button + newsletter button: filled with the accent. */
[data-fs-underconstruction] [data-fs-uc-btn],
[data-fs-underconstruction] [data-fs-uc-news-btn] {
  background: var(--fs-uc-accent);
  color: #fff;
  border: 1px solid transparent;
  transition: filter 160ms ease, transform 160ms ease;
}
[data-fs-underconstruction] [data-fs-uc-btn]:hover,
[data-fs-underconstruction] [data-fs-uc-news-btn]:hover { filter: brightness(1.1); transform: translateY(-1px); }

/* Focus rings — visible on any background. */
[data-fs-underconstruction] [data-fs-uc-btn]:focus-visible,
[data-fs-underconstruction] [data-fs-uc-news-btn]:focus-visible,
[data-fs-underconstruction] [data-fs-uc-news-input]:focus-visible,
[data-fs-underconstruction] [data-fs-uc-social-link]:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--fs-uc-accent);
}

/* Newsletter field. */
[data-fs-underconstruction] [data-fs-uc-news-input] {
  border-color: color-mix(in srgb, var(--fs-uc-text) 22%, transparent);
  color: var(--fs-uc-text);
  background: color-mix(in srgb, var(--fs-uc-text) 3%, transparent);
}
/* Placeholder text still has to be readable — it is the only label this
   field has. Fading the ink 45% toward TRANSPARENT left it at 1.13:1,
   the worst contrast in the library, because alpha compositing takes no
   account of what is behind it. --c-ink-400 is the palette's muted tone,
   solved to clear AA in both schemes. */
[data-fs-underconstruction] [data-fs-uc-news-input]::placeholder { color: rgb(var(--c-ink-400, 113 113 122)); }
[data-fs-underconstruction] [data-fs-uc-news-error] { color: #dc2626; }

/* Social icons. */
[data-fs-underconstruction] [data-fs-uc-social-link] {
  color: var(--fs-uc-text);
  border-color: color-mix(in srgb, var(--fs-uc-text) 25%, transparent);
  transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease;
}
[data-fs-underconstruction] [data-fs-uc-social-link]:hover {
  background: var(--fs-uc-accent);
  border-color: var(--fs-uc-accent);
  color: #fff;
}

/* Countdown. */
[data-fs-underconstruction] [data-fs-uc-cd-unit] {
  min-width: 4rem;
  padding: 0.75rem 0.5rem;
}
[data-fs-underconstruction] [data-fs-uc-cd-value] {
  display: block;
  font-variant-numeric: tabular-nums;
  font-size: clamp(1.6rem, 5vw, 2.6rem);
  font-weight: 700;
  line-height: 1;
  color: var(--fs-uc-text);
}
[data-fs-underconstruction] [data-fs-uc-cd-label] {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--fs-uc-text);
  opacity: 0.65;
}
/* Card + bold templates give the countdown units a chip. */
[data-fs-underconstruction][data-template="card"] [data-fs-uc-cd-unit],
[data-fs-underconstruction][data-template="bold"] [data-fs-uc-cd-unit] {
  border-radius: 12px;
  background: color-mix(in srgb, var(--fs-uc-text) 6%, transparent);
}

/* ── Card template ── */
[data-fs-underconstruction][data-template="card"] [data-fs-uc-card] {
  background: var(--fs-uc-card);
  border-radius: var(--fs-uc-card-radius);
}
[data-fs-underconstruction][data-template="card"][data-shadow="soft"] [data-fs-uc-card] { box-shadow: 0 10px 40px rgb(0 0 0 / 0.10); }
[data-fs-underconstruction][data-template="card"][data-shadow="strong"] [data-fs-uc-card] { box-shadow: 0 24px 70px rgb(0 0 0 / 0.28); }
[data-fs-underconstruction][data-template="card"][data-shadow="none"] [data-fs-uc-card] { box-shadow: none; }

/* ── Business template ── */
[data-fs-underconstruction][data-template="business"] [data-fs-uc-biz-image] { flex-shrink: 0; }

/* Templates on dark/photo backgrounds: give controls a translucent field. */
[data-fs-underconstruction][data-template="bold"] [data-fs-uc-news-input],
[data-fs-underconstruction][data-template="image"] [data-fs-uc-news-input] {
  border-color: color-mix(in srgb, var(--fs-uc-text) 35%, transparent);
  background: color-mix(in srgb, var(--fs-uc-text) 10%, transparent);
}
[data-fs-underconstruction][data-template="bold"] [data-fs-uc-btn]:focus-visible,
[data-fs-underconstruction][data-template="image"] [data-fs-uc-btn]:focus-visible,
[data-fs-underconstruction][data-template="bold"] [data-fs-uc-news-input]:focus-visible,
[data-fs-underconstruction][data-template="image"] [data-fs-uc-news-input]:focus-visible {
  box-shadow: 0 0 0 2px var(--fs-uc-text), 0 0 0 4px var(--fs-uc-accent);
}

/* Reduced motion: drop the hover lift and transitions. */
@media (prefers-reduced-motion: reduce) {
  [data-fs-underconstruction] * { transition: none !important; animation: none !important; }
  [data-fs-underconstruction] [data-fs-uc-btn]:hover,
  [data-fs-underconstruction] [data-fs-uc-news-btn]:hover { transform: none; }
}

/* High-contrast / forced-colours: keep structural borders. */
@media (forced-colors: active) {
  [data-fs-underconstruction] [data-fs-uc-btn],
  [data-fs-underconstruction] [data-fs-uc-news-input],
  [data-fs-underconstruction] [data-fs-uc-news-btn],
  [data-fs-underconstruction] [data-fs-uc-social-link],
  [data-fs-underconstruction] [data-fs-uc-cd-unit] { border: 1px solid; }
}


[data-fs-popup] {
  --fs-pop-heading: rgb(var(--c-ink-950, 15 14 23));
  --fs-pop-body: rgb(var(--c-ink-700, 82 82 91));
  --fs-pop-btn-bg: #6D28D9;
  --fs-pop-btn-text: rgb(var(--c-paper-soft, 255 255 255));
  --fs-pop-radius: var(--fs-radius-card, 16px);
  --fs-pop-anim-ms: 320ms;
  position: fixed;
  inset: 0;
  z-index: 90;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  overflow-y: auto;
}

/* The overlay fades; the panel does whatever the entry animation says. */
@keyframes fs-pop-overlay { from { opacity: 0; } to { opacity: 1; } }
[data-fs-popup] [data-fs-popup-scrim] {
  position: absolute;
  inset: 0;
  animation: fs-pop-overlay 240ms ease-out both;
}

[data-fs-popup] [data-fs-popup-panel] {
  position: relative;
  width: 100%;
  max-height: calc(100vh - 2rem);
  overflow-y: auto;
  border-radius: var(--fs-pop-radius);
  /* Height is auto: the panel grows with its content, up to the viewport. */
}

/* ── Entry animations ────────────────────────────────────────── */
@keyframes fs-pop-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes fs-pop-zoom { from { opacity: 0; transform: scale(.9); } to { opacity: 1; transform: none; } }
@keyframes fs-pop-top { from { opacity: 0; transform: translateY(-40px); } to { opacity: 1; transform: none; } }
@keyframes fs-pop-bottom { from { opacity: 0; transform: translateY(40px); } to { opacity: 1; transform: none; } }
@keyframes fs-pop-left { from { opacity: 0; transform: translateX(-48px); } to { opacity: 1; transform: none; } }
@keyframes fs-pop-right { from { opacity: 0; transform: translateX(48px); } to { opacity: 1; transform: none; } }

[data-fs-popup][data-anim="fade"] [data-fs-popup-panel] { animation: fs-pop-fade var(--fs-pop-anim-ms) ease-out both; }
[data-fs-popup][data-anim="zoom"] [data-fs-popup-panel] { animation: fs-pop-zoom var(--fs-pop-anim-ms) cubic-bezier(.22,.61,.36,1) both; }
[data-fs-popup][data-anim="slideTop"] [data-fs-popup-panel] { animation: fs-pop-top var(--fs-pop-anim-ms) cubic-bezier(.22,.61,.36,1) both; }
[data-fs-popup][data-anim="slideBottom"] [data-fs-popup-panel] { animation: fs-pop-bottom var(--fs-pop-anim-ms) cubic-bezier(.22,.61,.36,1) both; }
[data-fs-popup][data-anim="slideLeft"] [data-fs-popup-panel] { animation: fs-pop-left var(--fs-pop-anim-ms) cubic-bezier(.22,.61,.36,1) both; }
[data-fs-popup][data-anim="slideRight"] [data-fs-popup-panel] { animation: fs-pop-right var(--fs-pop-anim-ms) cubic-bezier(.22,.61,.36,1) both; }
[data-fs-popup][data-anim="none"] [data-fs-popup-panel] { animation: none; }

/* ── Shadow ──────────────────────────────────────────────────── */
[data-fs-popup][data-shadow="soft"] [data-fs-popup-panel] { box-shadow: 0 10px 40px rgb(0 0 0 / 0.18); }
[data-fs-popup][data-shadow="strong"] [data-fs-popup-panel] { box-shadow: 0 24px 70px rgb(0 0 0 / 0.38); }
[data-fs-popup][data-shadow="none"] [data-fs-popup-panel] { box-shadow: none; }

/* ── Borders + corners ───────────────────────────────────────── */
[data-fs-popup][data-border="none"] [data-fs-popup-panel] { border: 0; }
[data-fs-popup][data-border="thin"] [data-fs-popup-panel] { border: 1px solid var(--fs-pop-border, #e4e4e7); }
[data-fs-popup][data-border="thick"] [data-fs-popup-panel] { border: 3px solid var(--fs-pop-border, #e4e4e7); }
[data-fs-popup][data-border="retro"] [data-fs-popup-panel] { border: 3px solid var(--fs-pop-border, #000000); border-radius: 0; box-shadow: 2px 2px 0 var(--fs-pop-border, #000000); }
[data-fs-popup][data-corners="square"] { --fs-pop-radius: 0px; }
[data-fs-popup][data-corners="rounded"] { --fs-pop-radius: var(--fs-radius-card, 16px); }
[data-fs-popup][data-corners="full"] { --fs-pop-radius: 34px; }

/* ── Close button ────────────────────────────────────────────── */
[data-fs-popup] [data-fs-popup-close] {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 9999px;
  color: var(--fs-pop-heading);
  background: rgb(0 0 0 / 0.05);
  transition: background-color 160ms ease;
}
[data-fs-popup] [data-fs-popup-close]:hover { background: rgb(0 0 0 / 0.12); }
[data-fs-popup] [data-fs-popup-close]:focus-visible { outline: 2px solid var(--fs-pop-btn-bg); outline-offset: 2px; }

/* ── Buttons + hover ─────────────────────────────────────────── */
[data-fs-popup] [data-fs-popup-btn] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  padding: 0.65rem 1.25rem;
  font-weight: 600;
  background: var(--fs-pop-btn-bg);
  color: var(--fs-pop-btn-text);
  transition: filter 180ms ease, transform 180ms ease;
}
[data-fs-popup][data-btn-hover="colour"] [data-fs-popup-btn]:hover { filter: brightness(1.12); }
[data-fs-popup][data-btn-hover="underline"] [data-fs-popup-btn]:hover { text-decoration: underline; }
[data-fs-popup][data-btn-hover="glow"] [data-fs-popup-btn]:hover { filter: none; box-shadow: 0 0 0 2px var(--fs-pop-btn-text), 0 0 0 4px var(--fs-pop-btn-bg); }
[data-fs-popup] [data-fs-popup-btn]:focus-visible { outline: 2px solid var(--fs-pop-btn-bg); outline-offset: 2px; }

/* Embeds fill the popup's width and keep their ratio. */
[data-fs-popup] [data-fs-popup-embed] { position: relative; width: 100%; aspect-ratio: 16 / 9; }
[data-fs-popup] [data-fs-popup-embed] iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

[data-fs-popup] [data-fs-popup-error] { color: #dc2626; font-size: 0.75rem; }

@media (prefers-reduced-motion: reduce) {
  [data-fs-popup] [data-fs-popup-panel],
  [data-fs-popup] [data-fs-popup-scrim] {
    animation: none !important;
  }
  [data-fs-popup] * { transition: none !important; }
}


[data-fs-popup-canvas] {
  position: static !important;
  inset: auto !important;
  z-index: auto !important;
  display: block !important;
  padding: 0 !important;
  overflow: visible !important;
}
[data-fs-popup-canvas] [data-fs-popup-scrim] { display: none !important; }
[data-fs-popup-canvas] [data-fs-popup-panel] {
  margin: 0 auto;
  max-height: none !important;
  animation: none !important;
}


[data-fs-divider] {
  --fs-div-color: #d4d4d8;
  --fs-div-color-strong: #71717a;
  --fs-div-label-color: var(--fs-divider-label, #52525b);
  --fs-div-accent: rgb(var(--c-brand-600, 109 40 217));
  --fs-div-thick: 1px;
  --fs-div-radius: 0px;
  --fs-div-shadow: none;
  --fs-div-spacing: 32px;
  --fs-div-label-font: inherit;
  --fs-div-label-size: 13px;
  --fs-div-label-weight: 600;
  --fs-div-track-width: 100%;
  display: block;
  padding: var(--fs-div-spacing) 0;
  font-family: var(--fs-div-label-font);
}

/* ── Thickness ──────────────────────────────────────────────── */
[data-fs-divider][data-thick="thin"]   { --fs-div-thick: 1px; }
[data-fs-divider][data-thick="medium"] { --fs-div-thick: 2px; }
[data-fs-divider][data-thick="thick"]  { --fs-div-thick: 4px; }

/* ── Width ──────────────────────────────────────────────────── */
[data-fs-divider][data-width="25"]  { --fs-div-track-width: 25%; }
[data-fs-divider][data-width="50"]  { --fs-div-track-width: 50%; }
[data-fs-divider][data-width="75"]  { --fs-div-track-width: 75%; }
[data-fs-divider][data-width="100"] { --fs-div-track-width: 100%; }

/* ── Spacing ────────────────────────────────────────────────── */
[data-fs-divider][data-spacing="small"]  { --fs-div-spacing: 12px; }
[data-fs-divider][data-spacing="medium"] { --fs-div-spacing: 32px; }
[data-fs-divider][data-spacing="large"]  { --fs-div-spacing: 64px; }

/* ── Corners (line end caps) ───────────────────────────────── */
[data-fs-divider][data-corners="square"]  { --fs-div-radius: 0px; }
[data-fs-divider][data-corners="rounded"] { --fs-div-radius: 4px; }
[data-fs-divider][data-corners="pill"]    { --fs-div-radius: 999px; }

/* ── Shadow on the line ────────────────────────────────────── */
[data-fs-divider][data-shadow="none"]   { --fs-div-shadow: none; }
[data-fs-divider][data-shadow="soft"]   { --fs-div-shadow: 0 2px 6px -2px rgba(24,24,27,0.20); }
[data-fs-divider][data-shadow="strong"] { --fs-div-shadow: 0 6px 14px -4px rgba(24,24,27,0.36); }

/* ── Colour presets ────────────────────────────────────────── */
[data-fs-divider][data-color="light"] {
  --fs-div-color: #d4d4d8; --fs-div-color-strong: #71717a;
  --fs-div-label-color: var(--fs-divider-label, #52525b);
}
[data-fs-divider][data-color="dark"] {
  --fs-div-color: #3f3f46; --fs-div-color-strong: #18181b;
  --fs-div-label-color: #18181b;
}
[data-fs-divider][data-color="accent"] {
  --fs-div-color: #C4B5FD; --fs-div-color-strong: #6D28D9;
  --fs-div-label-color: #6D28D9;
}
[data-fs-divider][data-color="retro"] {
  --fs-div-color: #DC2626; --fs-div-color-strong: #DC2626;
  --fs-div-label-color: #451A03; --fs-div-accent: #DC2626;
}

/* ── Track & line ──────────────────────────────────────────── */
[data-fs-divider] [data-fs-div-track] {
  display: flex; align-items: center;
  width: var(--fs-div-track-width);
  gap: 12px;
}
[data-fs-divider][data-align="left"] [data-fs-div-track]   { margin-right: auto; }
[data-fs-divider][data-align="center"] [data-fs-div-track] { margin-left: auto; margin-right: auto; }
[data-fs-divider][data-align="right"] [data-fs-div-track]  { margin-left: auto; }

[data-fs-divider] [data-fs-div-line] {
  flex: 1 1 0;
  height: var(--fs-div-thick);
  border-radius: var(--fs-div-radius);
  box-shadow: var(--fs-div-shadow);
  background: var(--fs-div-color);
  min-width: 8px;
}
/* Dotted / dashed styles: swap the background for a border-top so
   CSS's dotted/dashed pattern draws crisply at 1–4px. */
[data-fs-divider][data-linestyle="dotted"] [data-fs-div-line],
[data-fs-divider][data-linestyle="dashed"] [data-fs-div-line] {
  background: transparent !important; height: 0;
  border-top-width: var(--fs-div-thick);
  border-top-color: var(--fs-div-color-strong);
}
[data-fs-divider][data-linestyle="dotted"] [data-fs-div-line] { border-top-style: dotted; }
[data-fs-divider][data-linestyle="dashed"] [data-fs-div-line] { border-top-style: dashed; }
/* Double line uses border-top with double style — thickness needs to
   be ≥ 3px for double to render, so we clamp. */
[data-fs-divider][data-linestyle="double"] [data-fs-div-line] {
  background: transparent !important; height: 0;
  border-top-style: double;
  border-top-width: max(3px, var(--fs-div-thick));
  border-top-color: var(--fs-div-color-strong);
}
/* Pixel line: repeating block gradient — deliberately blocky. */
[data-fs-divider][data-linestyle="pixel"] [data-fs-div-line] {
  background: repeating-linear-gradient(
    to right,
    var(--fs-div-color-strong) 0 6px,
    transparent 6px 10px
  ) !important;
  border-radius: 0 !important;
  height: max(4px, var(--fs-div-thick));
  image-rendering: pixelated;
}

/* ── Label ─────────────────────────────────────────────────── */
[data-fs-divider] [data-fs-div-label] {
  display: inline-flex; align-items: center; gap: 6px;
  color: var(--fs-div-label-color);
  font-size: var(--fs-div-label-size);
  font-weight: var(--fs-div-label-weight);
  font-family: var(--fs-div-label-font);
  white-space: nowrap;
  padding: 0 4px;
}
[data-fs-divider] [data-fs-div-label-icon] { flex: none; display: inline-flex; }

/* Label positions above / below stack the label + line vertically. */
[data-fs-divider][data-label-pos="above"] [data-fs-div-wrap],
[data-fs-divider][data-label-pos="below"] [data-fs-div-wrap] {
  display: flex; flex-direction: column; gap: 8px;
}
[data-fs-divider][data-label-pos="below"] [data-fs-div-label-row] { order: 2; }
[data-fs-divider][data-label-align="left"] [data-fs-div-label-row]   { text-align: left; }
[data-fs-divider][data-label-align="center"] [data-fs-div-label-row] { text-align: center; }
[data-fs-divider][data-label-align="right"] [data-fs-div-label-row]  { text-align: right; }

/* When labelPosition = center, the label sits INSIDE the track with
   the line broken either side. The block renderer emits the label
   between two [data-fs-div-line] segments. */
[data-fs-divider][data-label-pos="center"] [data-fs-div-label] {
  background: var(--fs-div-card-bg, transparent);
}

/* Badges attached to the label */
[data-fs-divider] [data-fs-div-badge] {
  display: inline-flex; align-items: center;
  padding: 1px 8px; border-radius: var(--fs-radius-pill, 999px);
  font-size: 12px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.05em;
}
[data-fs-divider] [data-fs-div-badge][data-badge="new"]     { background: #DBEAFE; color: #1E40AF; }
[data-fs-divider] [data-fs-div-badge][data-badge="info"]    { background: #ECFDF5; color: #047857; }
[data-fs-divider] [data-fs-div-badge][data-badge="section"] { background: #F5F3FF; color: #6D28D9; }

/* Icon-in-divider — inserts a bordered icon along the line. */
[data-fs-divider] [data-fs-div-line-icon] {
  display: inline-flex; align-items: center; justify-content: center;
  width: 28px; height: 28px; flex: none;
  border-radius: 999px;
  color: var(--fs-div-label-color);
  background: var(--fs-div-card-bg, #ffffff);
  border: 1px solid var(--fs-div-color);
}

/* ── Animations (reveal) ──────────────────────────────────── */
@keyframes fs-div-fade  { from { opacity: 0; } to { opacity: 1; } }
@keyframes fs-div-slide { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } }
@keyframes fs-div-grow  { from { transform: scaleX(0); } to { transform: scaleX(1); } }
[data-fs-divider][data-anim="fade"] [data-fs-div-wrap]  { animation: fs-div-fade 600ms ease-out both; }
[data-fs-divider][data-anim="slide"] [data-fs-div-wrap] { animation: fs-div-slide 500ms ease-out both; }
[data-fs-divider][data-anim="grow"] [data-fs-div-track] { transform-origin: left center; animation: fs-div-grow 500ms ease-out both; }
[data-fs-divider][data-anim="grow"][data-align="center"] [data-fs-div-track] { transform-origin: center; }
[data-fs-divider][data-anim="grow"][data-align="right"] [data-fs-div-track]  { transform-origin: right; }
@media (prefers-reduced-motion: reduce) {
  [data-fs-divider] [data-fs-div-wrap],
  [data-fs-divider] [data-fs-div-track] { animation: none !important; }
}

/* ── Section Break mode ───────────────────────────────────── */
[data-fs-divider][data-mode="sectionBreak"] { padding: calc(var(--fs-div-spacing) * 1.5) 0; }
[data-fs-divider][data-mode="sectionBreak"] [data-fs-div-line] {
  min-height: max(3px, var(--fs-div-thick));
}

/* ── Page Break mode ──────────────────────────────────────── */
[data-fs-divider][data-mode="pageBreak"] [data-fs-div-pagebreak] {
  display: flex; align-items: center; gap: 16px;
  padding: 20px;
  border-top: 2px solid var(--fs-div-color-strong);
  border-bottom: 2px solid var(--fs-div-color-strong);
  color: var(--fs-div-label-color);
  page-break-after: always;    /* honoured when printed */
  break-after: page;
}
[data-fs-divider][data-mode="pageBreak"] [data-fs-div-page-num] {
  display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 999px;
  background: var(--fs-div-accent); color: #ffffff;
  font-weight: 700; font-size: 14px;
  flex: none;
}
[data-fs-divider][data-mode="pageBreak"] [data-fs-div-page-title] {
  font-weight: 700; font-size: 16px; flex: 1; min-width: 0;
}
[data-fs-divider][data-mode="pageBreak"] [data-fs-div-continue] {
  display: inline-flex; align-items: center; gap: 6px;
  color: var(--fs-div-accent); font-size: 12px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.05em;
}

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 720px) {
  [data-fs-divider][data-responsive="stack"] [data-fs-div-track]      { flex-direction: column; align-items: stretch; }
  [data-fs-divider][data-responsive="fullWidth"]                       { --fs-div-track-width: 100% !important; }
}

/* ── Accessibility ────────────────────────────────────────── */
[data-fs-divider] [data-fs-div-editable]:focus-visible {
  outline: 2px solid var(--fs-div-accent); outline-offset: 2px;
}
@media (prefers-contrast: more) {
  [data-fs-divider] [data-fs-div-line] { --fs-div-thick: max(2px, var(--fs-div-thick)) !important; }
  [data-fs-divider] [data-fs-div-label] { text-shadow: 0 0 1px currentColor; }
}

/* ── Editing mode ─────────────────────────────────────────── */
[data-fs-divider][data-editing="1"] [data-fs-div-handle] {
  position: absolute; z-index: 4;
  width: 12px; height: 12px; border-radius: 999px;
  background: var(--fs-div-accent);
  border: 2px solid #ffffff; box-shadow: 0 1px 3px rgba(0,0,0,0.3);
  cursor: ew-resize;
  opacity: 0; transition: opacity 120ms ease;
}
[data-fs-divider][data-editing="1"]:hover [data-fs-div-handle],
[data-fs-divider][data-editing="1"][data-selected="1"] [data-fs-div-handle] { opacity: 1; }
[data-fs-divider][data-editing="1"] [data-fs-div-handle-thick] {
  right: -6px; top: 50%; transform: translateY(-50%);
  cursor: ns-resize;
}
[data-fs-divider][data-editing="1"] [data-fs-div-wrap] { position: relative; }


/* Registering the angle lets the conic border ROTATE. Browsers without
   @property simply show the gradient static — a graceful fallback. */
@property --fs-lx-angle {
  syntax: '<angle>';
  initial-value: 0deg;
  inherits: false;
}

.fs-lx{
  position:relative;overflow:hidden;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-lx *{box-sizing:border-box;}

/* ── Shared decor: aurora field ─────────────────────────────────
   Two blurred orbs. The second is the SAME brand colour pushed round
   the wheel with hue-rotate, so every palette gets a two-tone
   blue→purple-style gradient without the theme naming a second hue. */
.fs-lx-aurora{
  position:absolute;border-radius:50%;pointer-events:none;
  filter:blur(72px);opacity:.5;
}
.fs-lx-aurora-a{
  width:34rem;height:34rem;top:-12rem;left:-8rem;
  background:radial-gradient(circle at 40% 40%, rgb(var(--c-brand-600) / .55), transparent 70%);
}
.fs-lx-aurora-b{
  width:30rem;height:30rem;bottom:-14rem;right:-6rem;
  background:radial-gradient(circle at 60% 60%, rgb(var(--c-accent, var(--c-brand-600)) / .45), transparent 70%);
}
.fs-lx-anim .fs-lx-aurora-a{animation:fs-lx-drift 18s ease-in-out infinite alternate;}
.fs-lx-anim .fs-lx-aurora-b{animation:fs-lx-drift 22s ease-in-out infinite alternate-reverse;}
@keyframes fs-lx-drift{
  from{transform:translate3d(0,0,0) scale(1);}
  to{transform:translate3d(3.5rem,-2rem,0) scale(1.18);}
}
/* A faint dot lattice over the aurora reads as "engineered", not decorative. */
.fs-lx-grid{
  position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(rgb(var(--c-ink-950) / .07) 1px, transparent 1px);
  background-size:26px 26px;
  mask-image:radial-gradient(70rem 40rem at 50% 0%, #000 30%, transparent 75%);
  -webkit-mask-image:radial-gradient(70rem 40rem at 50% 0%, #000 30%, transparent 75%);
}
.fs-lx-wire .fs-lx-aurora,.fs-lx-wire .fs-lx-grid{display:none;}

/* ── Type ───────────────────────────────────────────────────────── */
.fs-lx-eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.4rem .9rem;border-radius:var(--fs-radius-pill, 999px);
  border:1px solid rgb(var(--c-brand-600) / .3);
  background:rgb(var(--c-brand-600) / .08);
  color:rgb(var(--c-brand-600));
  font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
}
.fs-lx-eyebrow::before{
  content:'';width:.45rem;height:.45rem;border-radius:50%;
  background:linear-gradient(120deg, rgb(var(--c-brand-600)), rgb(var(--c-accent, var(--c-brand-600))));
}
.fs-lx-title{
  margin:1.2rem 0 0;
  font-family:var(--font-display, inherit);
  font-size:clamp(2.6rem,6vw,4.6rem);
  line-height:1.04;font-weight:800;letter-spacing:-.02em;
  color:rgb(var(--c-ink-950));
}
.fs-lx-grad-text{
  background:linear-gradient(100deg, rgb(var(--c-brand-600)), rgb(var(--c-accent, var(--c-brand-700))));
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.fs-lx-sub{
  margin:1.4rem 0 0;max-width:46ch;
  font-size:clamp(1rem,1.7vw,1.15rem);line-height:1.65;
  color:rgb(var(--c-ink-700));
}

/* ── Buttons ────────────────────────────────────────────────────── */
.fs-lx-ctas{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem;align-items:center;}
.fs-lx-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.85rem 1.6rem;border-radius:var(--fs-radius-pill, 999px);
  font-size:.95rem;font-weight:600;line-height:1;white-space:nowrap;
  transition:transform .25s ease, box-shadow .25s ease;
}
.fs-lx-btn-primary{
  color:rgb(var(--c-paper));
  background:linear-gradient(120deg, rgb(var(--c-brand-600)), rgb(var(--c-accent, var(--c-brand-700))));
  box-shadow:0 10px 30px rgb(var(--c-brand-600) / .35), inset 0 1px 0 rgb(255 255 255 / .18);
}
.fs-lx-btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgb(var(--c-brand-600) / .45), inset 0 1px 0 rgb(255 255 255 / .18);}
.fs-lx-btn-ghost{
  color:rgb(var(--c-ink-950));
  border:1px solid rgb(var(--c-line));
  background:rgb(var(--c-paper-soft) / .6);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.fs-lx-btn-ghost:hover{transform:translateY(-2px);border-color:rgb(var(--c-brand-600) / .5);}
.fs-lx-wire .fs-lx-btn-primary{background:rgb(var(--c-ink-950));box-shadow:none;}

/* ═════════ HERO (favLuxeHero) ═════════ */
.fs-lx-hero{padding:var(--fs-space-section, clamp(3.5rem,8vw,6.5rem)) clamp(1rem,4vw,2.5rem);position:relative;overflow:hidden;}
/* Optional hero backdrop, sitting UNDER the aurora/grid decor layers.
   Dimmed and slightly desaturated so oversized type stays readable over
   it — the art is atmosphere here, not the subject. The wrapper carries
   the dimming so the <img> itself is untouched and the customer's own
   replacement photo gets the same treatment. */
.fs-lx-hero-bg{position:absolute;inset:0;z-index:0;pointer-events:none;}
.fs-lx-hero-bg > *{width:100%;height:100%;}
.fs-lx-hero-bg img{width:100%;height:100%;object-fit:cover;}
.fs-lx-hero-bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgb(var(--c-paper) / .72), rgb(var(--c-paper) / .88));
}
.fs-lx-wire .fs-lx-hero-bg{display:none;}
.fs-lx-hero-inner{
  position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(2rem,5vw,4rem);align-items:center;
}
@media (max-width:920px){.fs-lx-hero-inner{grid-template-columns:1fr;gap:3rem;}}

/* Stat strip under the hero copy. */
.fs-lx-stats{
  display:flex;gap:clamp(1.2rem,3vw,2.4rem);margin-top:2.6rem;flex-wrap:wrap;
  border-top:1px solid rgb(var(--c-line));padding-top:1.4rem;
}
.fs-lx-stat-v{
  font-family:var(--font-display, inherit);
  font-size:1.45rem;font-weight:800;color:rgb(var(--c-ink-950));
}
.fs-lx-stat-l{
  margin-top:.15rem;font-size:.72rem;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--c-ink-400));
}

/* The layered right side: a glass panel with a floating stat card
   OVERLAPPING its corner. */
.fs-lx-hero-stage{position:relative;min-height:22rem;}
.fs-lx-glass{
  position:relative;border-radius:var(--fs-radius-card, 1.4rem);padding:1.6rem;
  border:1px solid rgb(var(--c-line) / .9);
  background:linear-gradient(160deg, rgb(var(--c-paper-soft) / .72), rgb(var(--c-paper-soft) / .38));
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  box-shadow:0 30px 60px rgb(var(--c-ink-950) / .12), inset 0 1px 0 rgb(255 255 255 / .12);
}
.fs-lx-glass-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.2rem;}
.fs-lx-glass-title{font-size:.85rem;font-weight:700;color:rgb(var(--c-ink-950));letter-spacing:.02em;}
.fs-lx-badge{
  display:inline-flex;align-items:center;gap:.4rem;
  padding:.3rem .7rem;border-radius:var(--fs-radius-pill, 999px);
  font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:rgb(var(--c-brand-600));background:rgb(var(--c-brand-600) / .1);
}
.fs-lx-badge::before{
  content:'';width:.4rem;height:.4rem;border-radius:50%;
  background:rgb(var(--c-brand-600));
}
.fs-lx-anim .fs-lx-badge::before{animation:fs-lx-pulse 2.2s ease-in-out infinite;}
@keyframes fs-lx-pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.45;transform:scale(.8);}}

.fs-lx-metric-v{
  font-family:var(--font-display, inherit);
  font-size:2.6rem;font-weight:800;letter-spacing:-.02em;color:rgb(var(--c-ink-950));
}
.fs-lx-metric-delta{font-size:.95rem;font-weight:700;color:rgb(var(--c-brand-600));margin-left:.5rem;}
.fs-lx-metric-l{margin-top:.2rem;font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgb(var(--c-ink-400));}

/* Deterministic equaliser bars — motion without a chart library. */
.fs-lx-bars{display:flex;align-items:flex-end;gap:.45rem;height:5.5rem;margin-top:1.3rem;}
.fs-lx-bar{
  flex:1;border-radius:.4rem .4rem .15rem .15rem;
  background:linear-gradient(to top, rgb(var(--c-brand-600) / .25), rgb(var(--c-brand-600)));
  transform-origin:bottom;
}
.fs-lx-anim .fs-lx-bar{animation:fs-lx-eq 3.4s ease-in-out infinite alternate;}
@keyframes fs-lx-eq{from{transform:scaleY(.82);}to{transform:scaleY(1);}}

.fs-lx-glass-rows{margin-top:1.3rem;display:grid;gap:.55rem;}
.fs-lx-glass-row{
  display:flex;align-items:center;gap:.7rem;
  padding:.6rem .8rem;border-radius:.8rem;
  border:1px solid rgb(var(--c-line) / .7);
  background:rgb(var(--c-paper) / .5);
  font-size:.82rem;font-weight:600;color:rgb(var(--c-ink-700));
}
.fs-lx-glass-row::before{
  content:'';width:.55rem;height:.55rem;border-radius:.2rem;flex:none;
  background:linear-gradient(120deg, rgb(var(--c-brand-600)), rgb(var(--c-accent, var(--c-brand-700))));
}

/* The floating card that OVERLAPS the panel's bottom-left corner. */
.fs-lx-float{
  position:absolute;left:-1.6rem;bottom:-1.4rem;z-index:2;
  border-radius:var(--fs-radius-card, 1.1rem);padding:.95rem 1.25rem;
  border:1px solid rgb(var(--c-line) / .9);
  background:rgb(var(--c-paper-soft) / .9);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:var(--fs-shadow-lift, 0 18px 40px rgb(var(--c-ink-950) / .18));
}
@media (max-width:480px){.fs-lx-float{left:.5rem;}}
.fs-lx-anim .fs-lx-float{animation:fs-lx-hover 6s ease-in-out infinite alternate;}
@keyframes fs-lx-hover{from{transform:translateY(0);}to{transform:translateY(-.6rem);}}
.fs-lx-float-v{
  font-family:var(--font-display, inherit);
  font-size:1.35rem;font-weight:800;
  background:linear-gradient(100deg, rgb(var(--c-brand-600)), rgb(var(--c-accent, var(--c-brand-700))));
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.fs-lx-float-l{margin-top:.1rem;font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--c-ink-400));}
.fs-lx-wire .fs-lx-glass,.fs-lx-wire .fs-lx-float{backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;background:rgb(var(--c-paper));}

/* ═════════ BENTO (favLuxeBento) ═════════ */
.fs-lx-bento{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-lx-bento-head{position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto 2.6rem;}
.fs-lx-bento-head .fs-lx-title{font-size:clamp(2rem,4.4vw,3.2rem);}
.fs-lx-bento-grid{
  position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;gap:var(--fs-space-gap, 1.1rem);
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-auto-rows:minmax(10.5rem,auto);
}
@media (max-width:920px){.fs-lx-bento-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:540px){.fs-lx-bento-grid{grid-template-columns:1fr;}}
.fs-lx-card{
  position:relative;overflow:hidden;
  border-radius:var(--fs-radius-card, 1.25rem);padding:1.5rem;
  border:1px solid rgb(var(--c-line) / .9);
  background:linear-gradient(160deg, rgb(var(--c-paper-soft)), rgb(var(--c-paper-soft) / .55));
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.fs-lx-card:hover{
  transform:translateY(-4px);
  border-color:rgb(var(--c-brand-600) / .45);
  box-shadow:var(--fs-shadow-lift, 0 22px 44px rgb(var(--c-brand-600) / .14));
}
/* The feature card spans 2×2 and carries the two-tone wash + conic ring. */
.fs-lx-card-lead{grid-column:span 2;grid-row:span 2;padding:2rem;}
@media (max-width:540px){.fs-lx-card-lead{grid-column:span 1;grid-row:span 1;}}
.fs-lx-card-wash{
  position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(26rem 16rem at 100% 0%, rgb(var(--c-brand-600) / .16), transparent 65%),
    radial-gradient(22rem 14rem at 0% 100%, rgb(var(--c-accent, var(--c-brand-600)) / .13), transparent 65%);
}
.fs-lx-card-t{
  position:relative;margin:0;
  font-family:var(--font-display, inherit);
  font-size:1.12rem;font-weight:700;color:rgb(var(--c-ink-950));
}
.fs-lx-card-lead .fs-lx-card-t{font-size:1.55rem;}
.fs-lx-card-b{position:relative;margin:.55rem 0 0;font-size:.92rem;line-height:1.6;color:rgb(var(--c-ink-700));}
.fs-lx-card-num{
  position:relative;display:inline-block;margin-bottom:.9rem;
  font-family:var(--font-display, inherit);
  font-size:.78rem;font-weight:800;letter-spacing:.18em;
  color:rgb(var(--c-brand-600));
}
.fs-lx-wire .fs-lx-card-wash{display:none;}
.fs-lx-wire .fs-lx-card:hover{transform:none;box-shadow:none;}

/* ═════════ CTA (favLuxeCta) ═════════ */
.fs-lx-cta{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
/* The 1px-padded wrapper IS the animated border: a rotating conic
   gradient shows through around the inner card. */
.fs-lx-cta-ring{
  position:relative;max-width:var(--fs-layout-max,64rem);margin:0 auto;
  border-radius:var(--fs-radius-card, 1.6rem);padding:1px;
  background:conic-gradient(from var(--fs-lx-angle, 0deg),
    rgb(var(--c-brand-600)),
    rgb(var(--c-accent, var(--c-brand-700))),
    rgb(var(--c-brand-600) / .15),
    rgb(var(--c-brand-600)));
}
.fs-lx-anim .fs-lx-cta-ring{animation:fs-lx-spin 7s linear infinite;}
@keyframes fs-lx-spin{to{--fs-lx-angle:360deg;}}
.fs-lx-cta-card{
  position:relative;overflow:hidden;text-align:center;
  border-radius:calc(1.6rem - 1px);
  padding:var(--fs-space-section, clamp(2.5rem,6vw,4.5rem)) clamp(1.25rem,5vw,3.5rem);
  background:rgb(var(--c-paper));
}
.fs-lx-cta-card .fs-lx-title{font-size:clamp(2rem,4.6vw,3.4rem);}
.fs-lx-cta-card .fs-lx-sub{margin-left:auto;margin-right:auto;}
.fs-lx-cta-card .fs-lx-ctas{justify-content:center;}
.fs-lx-cta-note{margin:1.4rem 0 0;font-size:.78rem;color:rgb(var(--c-ink-400));}
.fs-lx-wire .fs-lx-cta-ring{background:rgb(var(--c-line));animation:none;}

/* ═════════ PAGE HEADER (favLuxeHeader) ═════════
   The hero's opening statement, sized for interior pages — same aurora
   field and gradient clause, no metrics panel. */
.fs-lx-hd{padding:clamp(3rem,7vw,5rem) clamp(1rem,4vw,2.5rem) clamp(1.5rem,3vw,2.5rem);}
.fs-lx-hd-inner{position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-lx-hd .fs-lx-title{font-size:clamp(2.3rem,5vw,3.8rem);max-width:22ch;}
.fs-lx-hd .fs-lx-sub{max-width:54ch;}

/* ═════════ PRICING (favLuxePricing) ═════════ */
.fs-lx-pr{padding:clamp(2rem,5vw,3.5rem) clamp(1rem,4vw,2.5rem) clamp(3rem,7vw,5.5rem);}
.fs-lx-pr-grid{
  position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;gap:var(--fs-space-gap, 1.1rem);grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
}
@media (max-width:920px){.fs-lx-pr-grid{grid-template-columns:1fr;max-width:28rem;}}
/* The featured tier sits inside a rotating conic ring (same device as
   the CTA) and lifts slightly above its neighbours. */
.fs-lx-pr-ring{
  border-radius:var(--fs-radius-card, 1.35rem);padding:1px;align-self:stretch;
  background:conic-gradient(from var(--fs-lx-angle, 0deg),
    rgb(var(--c-brand-600)),
    rgb(var(--c-accent, var(--c-brand-700))),
    rgb(var(--c-brand-600) / .15),
    rgb(var(--c-brand-600)));
}
.fs-lx-anim .fs-lx-pr-ring{animation:fs-lx-spin 7s linear infinite;}
@media (min-width:921px){.fs-lx-pr-ring{transform:translateY(-.9rem);}}
.fs-lx-pr-card{
  position:relative;overflow:hidden;height:100%;
  display:flex;flex-direction:column;
  border-radius:var(--fs-radius-card, 1.25rem);padding:1.7rem;
  border:1px solid rgb(var(--c-line) / .9);
  background:linear-gradient(160deg, rgb(var(--c-paper-soft)), rgb(var(--c-paper-soft) / .55));
}
.fs-lx-pr-ring .fs-lx-pr-card{border:none;border-radius:calc(1.35rem - 1px);background:rgb(var(--c-paper));}
.fs-lx-pr-name{
  font-family:var(--font-display, inherit);
  font-size:1.05rem;font-weight:700;color:rgb(var(--c-ink-950));
}
.fs-lx-pr-blurb{margin-top:.3rem;font-size:.82rem;line-height:1.5;color:rgb(var(--c-ink-400));}
.fs-lx-pr-price{
  margin-top:1.1rem;display:flex;align-items:baseline;gap:.4rem;
  font-family:var(--font-display, inherit);
  font-size:2.5rem;font-weight:800;letter-spacing:-.02em;color:rgb(var(--c-ink-950));
}
.fs-lx-pr-ring .fs-lx-pr-price{
  background:linear-gradient(100deg, rgb(var(--c-brand-600)), rgb(var(--c-accent, var(--c-brand-700))));
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.fs-lx-pr-per{font-size:.8rem;font-weight:600;color:rgb(var(--c-ink-400));letter-spacing:.02em;}
.fs-lx-pr-feats{margin-top:1.2rem;display:grid;gap:.5rem;flex:1;}
.fs-lx-pr-feat{
  display:flex;align-items:center;gap:.65rem;
  font-size:.86rem;font-weight:500;color:rgb(var(--c-ink-700));
}
.fs-lx-pr-feat::before{
  content:'';width:.5rem;height:.5rem;border-radius:.15rem;flex:none;
  background:linear-gradient(120deg, rgb(var(--c-brand-600)), rgb(var(--c-accent, var(--c-brand-700))));
}
.fs-lx-pr-card .fs-lx-ctas{margin-top:1.4rem;}
.fs-lx-pr-card .fs-lx-btn{width:100%;}
.fs-lx-wire .fs-lx-pr-ring{background:rgb(var(--c-line));animation:none;transform:none;}

/* ═════════ CASE STUDY (favLuxeCase) ═════════ */
.fs-lx-cs{padding:var(--fs-space-section, clamp(2rem,5vw,3rem)) clamp(1rem,4vw,2.5rem);}
.fs-lx-cs-inner{
  position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(1.75rem,4vw,3.5rem);align-items:center;
}
@media (max-width:920px){.fs-lx-cs-inner{grid-template-columns:1fr;gap:2.5rem;}}
.fs-lx-cs-client{
  margin-top:1.1rem;font-size:.78rem;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;color:rgb(var(--c-ink-400));
}
.fs-lx-cs .fs-lx-title{font-size:clamp(1.7rem,3.4vw,2.5rem);margin-top:.5rem;}
.fs-lx-cs-metrics{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.6rem;}
.fs-lx-cs-metric{
  border-radius:1rem;padding:.8rem 1.1rem;
  border:1px solid rgb(var(--c-line) / .8);
  background:rgb(var(--c-paper-soft) / .6);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.fs-lx-cs-mv{
  font-family:var(--font-display, inherit);
  font-size:1.3rem;font-weight:800;
  background:linear-gradient(100deg, rgb(var(--c-brand-600)), rgb(var(--c-accent, var(--c-brand-700))));
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.fs-lx-cs-ml{margin-top:.1rem;font-size:.66rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--c-ink-400));}
/* The cover: a two-tone gradient plate with the dot lattice and one
   oversized result, plus the client quote OVERLAPPING its base. */
.fs-lx-cs-stage{position:relative;}
.fs-lx-cs-cover{
  position:relative;overflow:hidden;border-radius:var(--fs-radius-card, 1.4rem);
  min-height:20rem;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;
  background:
    radial-gradient(26rem 18rem at 85% 0%, rgb(var(--c-accent, var(--c-brand-600)) / .35), transparent 65%),
    radial-gradient(30rem 20rem at 0% 100%, rgb(var(--c-brand-600) / .45), transparent 70%),
    rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line) / .8);
}
.fs-lx-cs-cover .fs-lx-grid{mask-image:none;-webkit-mask-image:none;}
.fs-lx-cs-cover-v{
  position:relative;
  font-family:var(--font-display, inherit);
  font-size:clamp(3rem,7vw,4.6rem);font-weight:800;letter-spacing:-.03em;
  background:linear-gradient(100deg, rgb(var(--c-brand-600)), rgb(var(--c-accent, var(--c-brand-700))));
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.fs-lx-cs-cover-l{
  position:relative;margin-top:.3rem;
  font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-lx-cs-quote{
  position:absolute;left:1.4rem;right:1.4rem;bottom:-1.5rem;z-index:2;
  border-radius:var(--fs-radius-card, 1.1rem);padding:1rem 1.3rem;
  border:1px solid rgb(var(--c-line) / .9);
  background:rgb(var(--c-paper-soft) / .92);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:var(--fs-shadow-lift, 0 18px 40px rgb(var(--c-ink-950) / .18));
  font-size:.88rem;line-height:1.55;color:rgb(var(--c-ink-700));
}
.fs-lx-cs-quote-by{margin-top:.35rem;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgb(var(--c-brand-600));}
.fs-lx-wire .fs-lx-cs-cover{background:rgb(var(--c-paper));}
.fs-lx-wire .fs-lx-cs-quote,.fs-lx-wire .fs-lx-cs-metric{backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;}

/* ═════════ TEAM (favLuxeTeam) ═════════ */
.fs-lx-tm{padding:clamp(2rem,5vw,3.5rem) clamp(1rem,4vw,2.5rem) clamp(3rem,7vw,5rem);}
.fs-lx-tm-grid{
  position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;gap:var(--fs-space-gap, 1.1rem);grid-template-columns:repeat(4,minmax(0,1fr));
}
@media (max-width:920px){.fs-lx-tm-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:540px){.fs-lx-tm-grid{grid-template-columns:1fr;}}
.fs-lx-tm-card{
  position:relative;overflow:hidden;text-align:center;
  border-radius:var(--fs-radius-card, 1.25rem);padding:1.7rem 1.4rem;
  border:1px solid rgb(var(--c-line) / .9);
  background:linear-gradient(160deg, rgb(var(--c-paper-soft)), rgb(var(--c-paper-soft) / .55));
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.fs-lx-tm-card:hover{
  transform:translateY(-4px);
  border-color:rgb(var(--c-brand-600) / .45);
  box-shadow:var(--fs-shadow-lift, 0 22px 44px rgb(var(--c-brand-600) / .14));
}
/* Monogram avatar: initials on the two-tone gradient. A luxury house
   leads with names, not stock photography. */
.fs-lx-tm-avatar{
  width:4.4rem;height:4.4rem;margin:0 auto;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(130deg, rgb(var(--c-brand-600)), rgb(var(--c-accent, var(--c-brand-700))));
  box-shadow:0 10px 26px rgb(var(--c-brand-600) / .35), inset 0 1px 0 rgb(255 255 255 / .25);
  font-family:var(--font-display, inherit);
  font-size:1.25rem;font-weight:800;letter-spacing:.04em;color:#fff;
}
.fs-lx-tm-name{
  margin-top:1rem;font-family:var(--font-display, inherit);
  font-size:1.02rem;font-weight:700;color:rgb(var(--c-ink-950));
}
.fs-lx-tm-role{
  margin-top:.2rem;font-size:.7rem;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;color:rgb(var(--c-brand-600));
}
.fs-lx-tm-bio{margin-top:.6rem;font-size:.84rem;line-height:1.55;color:rgb(var(--c-ink-700));}
/* Portrait variant: same circle, but the image fills it and the
   gradient becomes a thin ring rather than the fill. Keeps the monogram
   version's exact footprint so a card with a photo and one without sit
   level in the same row. */
.fs-lx-tm-avatar-photo{overflow:hidden;padding:2px;}
.fs-lx-tm-avatar-photo > *{width:100%;height:100%;border-radius:50%;overflow:hidden;display:block;}
.fs-lx-tm-avatar-photo img{width:100%;height:100%;object-fit:cover;border-radius:50%;}
.fs-lx-wire .fs-lx-tm-avatar{background:rgb(var(--c-ink-950));box-shadow:none;}
.fs-lx-wire .fs-lx-tm-card:hover{transform:none;box-shadow:none;}

/* Reduced motion: honour the OS preference everywhere. */
@media (prefers-reduced-motion: reduce){
  .fs-lx-anim .fs-lx-aurora-a,.fs-lx-anim .fs-lx-aurora-b,
  .fs-lx-anim .fs-lx-bar,.fs-lx-anim .fs-lx-float,
  .fs-lx-anim .fs-lx-cta-ring,.fs-lx-anim .fs-lx-pr-ring,
  .fs-lx-anim .fs-lx-badge::before{animation:none;}
}

/* ── favBrutalFooter (theme-chrome batch 7, Brutal) ─────────────────
   fs-br-ft: the full-bleed band (named container), opened by a 4px ink
   rule; fs-br-ft-in: the content box, which narrows with the Layout
   (named container). The root also carries .fs-lx from rootCls(). */
.fs-br-ft{container-type:inline-size;container-name:fs-br-ft;padding:0 clamp(1rem,4vw,2.5rem);background:rgb(var(--c-paper));border-top:4px solid rgb(var(--c-ink-950));--br-ft-rule:rgb(var(--c-ink-950) / .22);--br-ft-note:color-mix(in srgb, rgb(var(--c-ink-950)) 74%, rgb(var(--c-paper)));--br-ft-sig:rgb(var(--fs-nav-active-on))}
.fs-br-ft:is(.dark *):not(.fs-preview-light *){--br-ft-rule:rgb(var(--c-ink-950) / .26);--br-ft-note:color-mix(in srgb, rgb(var(--c-ink-950)) 78%, rgb(var(--c-paper)))}
.fs-br-ft-in{container-type:inline-size;container-name:fs-br-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:34px 26px}
.fs-br-ft-ring{padding:3px;background:conic-gradient(from var(--fs-lx-angle, 0deg), rgb(var(--c-brand-600)), rgb(var(--c-accent, var(--c-brand-600))), rgb(var(--c-brand-600) / .15), rgb(var(--c-brand-600)))}
.fs-br-ft.fs-lx-anim .fs-br-ft-ring{animation:fs-lx-spin 9s linear infinite}
.fs-br-ft-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:14px 32px;padding-bottom:22px}
.fs-br-ft-name{margin:0;font:700 clamp(56px,12.5cqi,168px)/.8 var(--font-display, 'Space Grotesk', Arial, sans-serif);letter-spacing:-.065em;margin-left:-.03em}
.fs-br-ft-state{max-width:26ch;margin:0;padding-bottom:4px;font:500 19px/1.3 var(--font-display, 'Space Grotesk', Arial, sans-serif);letter-spacing:-.015em;color:var(--br-ft-note)}
.fs-br-ft-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) minmax(0,.9fr) minmax(0,1.15fr);gap:12px}
.fs-br-ft-cell{display:flex;flex-direction:column;gap:9px;min-width:0;height:100%;padding:14px 16px 18px;border:2px solid rgb(var(--c-ink-950));background:rgb(var(--c-paper-soft))}
.fs-br-ft-ring > .fs-br-ft-cell{border:0;background:rgb(var(--c-paper))}
.fs-br-ft-h{display:flex;align-items:baseline;gap:10px;margin:0 0 3px;font:700 19px/1.1 var(--font-display, 'Space Grotesk', Arial, sans-serif);letter-spacing:-.025em}
.fs-br-ft-num{font:700 12px/1 var(--font-display, 'Space Grotesk', Arial, sans-serif);letter-spacing:.18em;color:var(--br-ft-sig);font-variant-numeric:tabular-nums}
.fs-br-ft-list{list-style:none;margin:0;padding:0}
.fs-br-ft-li{padding-block:3px;font-size:15px}
.fs-br-ft-link{color:inherit;text-decoration:none}
.fs-br-ft-link:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.fs-br-ft-p{margin:0;max-width:34ch;font-size:14.5px;line-height:1.5;color:var(--br-ft-note)}
.fs-br-ft-stats{list-style:none;margin:0;padding:0}
.fs-br-ft-stat{display:flex;align-items:baseline;gap:9px;padding-block:5px;border-bottom:1px solid var(--br-ft-rule)}
.fs-br-ft-stat:last-child{border-bottom:0}
.fs-br-ft-sv{font:700 26px/1 var(--font-display, 'Space Grotesk', Arial, sans-serif);letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.fs-br-ft-sl{font:600 11px/1 var(--font-body, inherit);letter-spacing:.14em;text-transform:uppercase;color:var(--br-ft-note)}
.fs-br-ft-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;align-self:flex-start;padding:12px 16px;background:rgb(var(--c-brand-600));color:rgb(var(--fs-on-brand));border:2px solid rgb(var(--c-ink-950));font:600 15px/1 var(--font-display, 'Space Grotesk', Arial, sans-serif);letter-spacing:-.005em;white-space:nowrap;text-decoration:none}
.fs-br-ft-btn::after{content:"\2192";font-weight:500}
.fs-br-ft-btn:hover{background:rgb(var(--c-ink-950));color:rgb(var(--c-paper))}
.fs-br-ft-legal{display:flex;flex-wrap:wrap;gap:6px 18px;margin:18px 0 0;padding-top:12px;border-top:2px solid rgb(var(--c-ink-950));font-size:13px;color:var(--br-ft-note)}
.fs-br-ft-legal-t{margin:0}
.fs-br-ft-legal-a{color:inherit;text-decoration:none}
.fs-br-ft-legal-a:hover{color:rgb(var(--c-ink-950))}
@container fs-br-ft (max-width: 40rem){
  .fs-br-ft-in{padding-block:28px 22px}
}
@container fs-br-ft-in (max-width: 56rem){
  .fs-br-ft-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container fs-br-ft (max-width: 48rem){
  .fs-br-ft-grid{grid-template-columns:minmax(0,1fr)}
  .fs-br-ft-head{flex-direction:column;align-items:flex-start}
}
/* A tablet's one-column cells are ~700px wide: the links run in two
   columns and the three figures sit side by side. */
@container fs-br-ft (min-width: 30rem) and (max-width: 48rem){
  .fs-br-ft-list{columns:2;column-gap:24px}
  .fs-br-ft-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:16px}
  .fs-br-ft-stat{flex-direction:column;align-items:flex-start;gap:6px;border-bottom:0}
}
@media (prefers-reduced-motion: reduce){
  .fs-br-ft-ring{animation:none}
}

/* ── favLuxeFooter (theme-chrome batch 7, Lumina) ───────────────────
   The studio at night: fs-lx-ft is the full-bleed band (named
   container) — the lit hairline as its first pixel, the brand and accent
   glows rising from the bottom corners, the dot lattice fading in from
   the middle under a page-coloured fade; fs-lx-ft-in is the content box
   (named container). The root also carries .fs-lx from rootCls(). */
.fs-lx-ft{container-type:inline-size;container-name:fs-lx-ft;padding:0 clamp(1rem,4vw,2.5rem);--lx-ft-rule:rgb(var(--c-ink-950) / .12);--lx-ft-rule-2:rgb(var(--c-ink-950) / .22);--lx-ft-note:color-mix(in srgb, rgb(var(--c-ink-950)) 74%, rgb(var(--c-paper)));--lx-ft-ink-hi:color-mix(in srgb, rgb(var(--c-brand-600)) 82%, rgb(var(--c-ink-950)));--lx-ft-acc-hi:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 66%, rgb(var(--c-ink-950)));--lx-ft-glow-a:rgb(var(--c-brand-600) / .15);--lx-ft-glow-b:rgb(var(--c-accent, var(--c-brand-600)) / .12);--lx-ft-dot:rgb(var(--c-ink-950) / .08);--lx-ft-halo:rgb(var(--c-brand-600) / .38);--lx-ft-pearl:rgb(var(--c-paper));--lx-ft-grad:linear-gradient(120deg,rgb(var(--c-brand-600)),rgb(var(--c-accent, var(--c-brand-600))));background:linear-gradient(90deg,transparent,rgb(var(--c-brand-600)) 24%,rgb(var(--c-accent, var(--c-brand-600))) 76%,transparent) 0 0/100% 1px no-repeat,radial-gradient(46rem 22rem at 0% 100%,var(--lx-ft-glow-a),transparent 70%),radial-gradient(40rem 22rem at 100% 100%,var(--lx-ft-glow-b),transparent 70%),linear-gradient(rgb(var(--c-paper)) 18%,transparent 70%),radial-gradient(var(--lx-ft-dot) 1px,transparent 1.6px) 13px 13px/26px 26px,rgb(var(--c-paper))}
.fs-lx-ft:is(.dark *):not(.fs-preview-light *){--lx-ft-rule:rgb(var(--c-ink-950) / .13);--lx-ft-note:color-mix(in srgb, rgb(var(--c-ink-950)) 76%, rgb(var(--c-paper)));--lx-ft-ink-hi:rgb(var(--c-brand-600));--lx-ft-acc-hi:rgb(var(--c-accent, var(--c-brand-600)));--lx-ft-glow-a:rgb(var(--c-brand-600) / .22);--lx-ft-glow-b:rgb(var(--c-accent, var(--c-brand-600)) / .16);--lx-ft-dot:rgb(var(--c-ink-950) / .07);--lx-ft-halo:rgb(var(--c-brand-600) / .45);--lx-ft-pearl:rgb(var(--c-ink-950))}
.fs-lx-ft-in{container-type:inline-size;container-name:fs-lx-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:76px 30px}
/* The gem, drawn in CSS as the mockup draws it (a rounded square turned
   45°, brand to accent, a lit centre). */
.fs-lx-ft-logo{display:inline-flex;align-items:center;gap:14px;margin:0}
.fs-lx-ft-gem{position:relative;flex:none;width:26px;height:26px;margin:5.5px;border-radius:30%;background:linear-gradient(135deg,rgb(var(--c-brand-600)),rgb(var(--c-accent, var(--c-brand-600))));transform:rotate(45deg);box-shadow:0 6px 16px -5px var(--lx-ft-halo)}
.fs-lx-ft-gem::after{content:"";position:absolute;inset:33%;border-radius:50%;background:var(--lx-ft-pearl);opacity:.92}
.fs-lx-ft-name{font-family:var(--font-display, Sora, system-ui, sans-serif);font-weight:600;font-size:19px;line-height:1;letter-spacing:.3em;margin-right:-.3em;text-transform:uppercase;white-space:nowrap;color:rgb(var(--c-ink-950))}
.fs-lx-ft-house{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:end;gap:26px 48px;margin-bottom:64px}
.fs-lx-ft-state{margin-top:24px;margin-bottom:0;max-width:17ch;font-family:var(--font-display, Sora, system-ui, sans-serif);font-weight:600;font-size:var(--lx-ft-fs,40px);line-height:1.06;letter-spacing:-.03em;color:rgb(var(--c-ink-950));text-wrap:balance}
.fs-lx-ft-grad{color:var(--lx-ft-ink-hi);background:linear-gradient(100deg,var(--lx-ft-ink-hi),var(--lx-ft-acc-hi));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.fs-lx-ft-sub{margin-top:14px;margin-bottom:0;font-size:15px;color:var(--lx-ft-note)}
.fs-lx-ft-contact{display:grid;justify-items:end;gap:10px;text-align:right}
.fs-lx-ft-mail,.fs-lx-ft-tel{font-family:var(--font-display, Sora, system-ui, sans-serif);font-weight:600;font-size:21px;line-height:1.2;letter-spacing:-.01em;color:rgb(var(--c-ink-950));font-variant-numeric:tabular-nums;text-decoration:none}
.fs-lx-ft-mail{border-bottom:1px solid rgb(var(--c-brand-600) / .4)}
.fs-lx-ft-mail:hover{border-bottom-color:var(--lx-ft-ink-hi)}
.fs-lx-ft-badge{display:inline-flex;align-items:center;gap:8px;padding:5px 11px;border-radius:999px;background:rgb(var(--fs-nav-active-tint));color:rgb(var(--fs-nav-active-on));font:600 11px/1.1 var(--font-body, Inter, system-ui, sans-serif);letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}
.fs-lx-ft-pulse{flex:none;width:6px;height:6px;border-radius:50%;background:rgb(var(--c-brand-600));box-shadow:0 0 0 3px rgb(var(--c-brand-600) / .22)}
.fs-lx-ft-glass{position:relative;padding:30px 32px 28px;border:1px solid var(--lx-ft-rule-2);border-radius:28px;background:linear-gradient(160deg,color-mix(in srgb, rgb(var(--c-paper-soft)) 82%, transparent),color-mix(in srgb, rgb(var(--c-paper-soft)) 46%, transparent));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 34px 64px -36px rgb(0 0 0 / .45),inset 0 1px 0 rgb(255 255 255 / .14)}
.fs-lx-ft-float{position:absolute;z-index:2;top:-40px;right:36px;display:flex;flex-direction:column;gap:5px;padding:12px 16px 13px;border:1px solid var(--lx-ft-rule-2);border-radius:16px;background:rgb(var(--c-paper-soft));box-shadow:0 18px 40px -14px rgb(0 0 0 / .38),inset 0 1px 0 rgb(255 255 255 / .12)}
.fs-lx-ft-float-v{font-family:var(--font-display, Sora, system-ui, sans-serif);font-weight:800;font-size:26px;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.fs-lx-ft-float-l{font:600 10.5px/1.3 var(--font-body, Inter, system-ui, sans-serif);letter-spacing:.1em;text-transform:uppercase;color:var(--lx-ft-note);white-space:nowrap}
.fs-lx-ft-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1.05fr)}
.fs-lx-ft-col{min-width:0;padding-inline:28px;border-left:1px solid var(--lx-ft-rule)}
.fs-lx-ft-col:first-child{padding-left:0;border-left:0}
.fs-lx-ft-col:last-child{padding-right:0}
.fs-lx-ft-h{display:flex;align-items:center;gap:8px;margin:0 0 12px;font:700 10.5px/1.3 var(--font-body, Inter, system-ui, sans-serif);letter-spacing:.15em;text-transform:uppercase;color:var(--lx-ft-note)}
.fs-lx-ft-h::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--lx-ft-grad)}
.fs-lx-ft-list{list-style:none;margin:0;padding:0}
.fs-lx-ft-li{padding-block:6px}
.fs-lx-ft-link{font:500 15.5px/1.3 var(--font-display, Sora, system-ui, sans-serif);color:rgb(var(--c-ink-950));text-decoration:none}
.fs-lx-ft-link:hover{color:var(--lx-ft-ink-hi)}
.fs-lx-ft-plist{list-style:none;margin:8px 0 0;padding:0}
.fs-lx-ft-person{display:flex;align-items:center;gap:11px;min-width:0;padding-block:9px;border-bottom:1px solid var(--lx-ft-rule)}
.fs-lx-ft-person:last-child{border-bottom:0}
.fs-lx-ft-mono{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(130deg,rgb(var(--c-brand-600)),var(--lx-ft-acc-hi));color:rgb(var(--fs-on-brand));font:700 11.5px/1 var(--font-display, Sora, system-ui, sans-serif);letter-spacing:.04em;box-shadow:0 8px 18px -8px var(--lx-ft-halo),inset 0 1px 0 rgb(255 255 255 / .25)}
.fs-lx-ft-pw{min-width:0}
.fs-lx-ft-pn{display:block;margin:0;font:600 14px/1.25 var(--font-display, Sora, system-ui, sans-serif);color:rgb(var(--c-ink-950));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fs-lx-ft-pr{display:block;margin-top:2px;font-size:12px;line-height:1.3;color:var(--lx-ft-note)}
.fs-lx-ft-more{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font:600 13.5px/1.3 var(--font-display, Sora, system-ui, sans-serif);color:var(--lx-ft-ink-hi);border-bottom:1px solid rgb(var(--c-brand-600) / .4);text-decoration:none}
.fs-lx-ft-more:hover{border-bottom-color:currentColor}
.fs-lx-ft-grows+.fs-lx-ft-more{margin-top:14px}
.fs-lx-ft-grows{display:grid;gap:8px}
.fs-lx-ft-grow{display:flex;align-items:center;gap:11px;margin:0;padding:10px 13px;border:1px solid var(--lx-ft-rule);border-radius:13px;background:color-mix(in srgb, rgb(var(--c-paper)) 55%, transparent);font-size:13.5px;line-height:1.4;font-weight:500;color:rgb(var(--c-ink-950))}
.fs-lx-ft-grow::before{content:"";flex:none;width:8px;height:8px;border-radius:2.5px;background:var(--lx-ft-grad)}
.fs-lx-ft-legal{display:flex;flex-wrap:wrap;gap:6px 22px;margin:28px 0 0;font-size:12.5px;color:var(--lx-ft-note)}
.fs-lx-ft-legal-t{margin:0;margin-right:auto}
.fs-lx-ft-legal-a{color:inherit;text-decoration:none}
.fs-lx-ft-legal-a:hover{color:rgb(var(--c-ink-950))}
@container fs-lx-ft (max-width: 40rem){
  .fs-lx-ft-in{padding-block:56px 26px}
}
@container fs-lx-ft-in (max-width: 62rem){
  .fs-lx-ft-state{--lx-ft-fs:36px}
  .fs-lx-ft-col{padding-inline:22px}
  .fs-lx-ft-glass{padding-inline:26px}
}
@container fs-lx-ft-in (max-width: 56rem){
  .fs-lx-ft-house{grid-template-columns:minmax(0,1fr);gap:22px}
  .fs-lx-ft-contact{grid-auto-flow:column;justify-content:start;justify-items:start;align-items:center;gap:10px 26px;text-align:left}
  .fs-lx-ft-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-lx-ft-col:nth-child(2){padding-right:0}
  .fs-lx-ft-col:nth-child(3){grid-column:1/-1;margin-top:22px;padding:22px 0 0;border-left:0;border-top:1px solid var(--lx-ft-rule)}
  .fs-lx-ft-col:nth-child(3) .fs-lx-ft-grows{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@container fs-lx-ft (max-width: 48rem){
  .fs-lx-ft-state{--lx-ft-fs:30px}
  .fs-lx-ft-contact{grid-auto-flow:row}
  .fs-lx-ft-glass{padding:26px 20px 22px;border-radius:24px}
  .fs-lx-ft-float{right:16px;top:-36px}
  .fs-lx-ft-cols{grid-template-columns:minmax(0,1fr)}
  .fs-lx-ft-col,.fs-lx-ft-col:nth-child(3){grid-column:auto;padding-inline:0;border-left:0}
  .fs-lx-ft-col + .fs-lx-ft-col{margin-top:20px;padding-top:20px;border-top:1px solid var(--lx-ft-rule)}
  .fs-lx-ft-col:nth-child(3) .fs-lx-ft-grows{grid-template-columns:minmax(0,1fr)}
  .fs-lx-ft-list{columns:2;column-gap:24px}
  .fs-lx-ft-plist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}
  .fs-lx-ft-person:nth-last-child(2){border-bottom:0}
}
@container fs-lx-ft (max-width: 30rem){
  .fs-lx-ft-list{columns:1}
  .fs-lx-ft-plist{grid-template-columns:minmax(0,1fr)}
  .fs-lx-ft-person:nth-last-child(2){border-bottom:1px solid var(--lx-ft-rule)}
  .fs-lx-ft-state{--lx-ft-fs:27px}
  .fs-lx-ft-mail,.fs-lx-ft-tel{font-size:19px}
  .fs-lx-ft-legal-t{flex-basis:100%}
}
/* Motion in the rich render style only (the family's .fs-lx-anim gate). */
.fs-lx-ft.fs-lx-anim .fs-lx-ft-pulse{animation:fs-lx-pulse 2.2s ease-in-out infinite}
.fs-lx-ft.fs-lx-anim .fs-lx-ft-float{animation:fs-lx-ft-drift 6s ease-in-out infinite alternate}
@keyframes fs-lx-ft-drift{from{transform:translateY(0)}to{transform:translateY(-6px)}}
@media (prefers-reduced-motion: reduce){
  .fs-lx-ft-pulse,.fs-lx-ft-float{animation:none}
}


.fs-cm{
  position:relative;overflow:hidden;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-cm *{box-sizing:border-box;}

/* ── Shared decor: drawn circles ────────────────────────────────
   Two large, thin-bordered circles — a hand-drawn enso gesture, not a
   glow. They sit far off-canvas so only an arc is visible. */
.fs-cm-ring{
  position:absolute;border-radius:50%;pointer-events:none;
  border:1.5px solid rgb(var(--c-brand-600) / .18);
}
.fs-cm-ring-a{width:36rem;height:36rem;top:-22rem;right:-10rem;}
.fs-cm-ring-b{
  width:26rem;height:26rem;bottom:-16rem;left:-8rem;
  border-color:rgb(var(--c-accent, var(--c-brand-600)) / .22);
}
.fs-cm-anim .fs-cm-ring-a{animation:fs-cm-breathe 14s ease-in-out infinite alternate;}
.fs-cm-anim .fs-cm-ring-b{animation:fs-cm-breathe 18s ease-in-out infinite alternate-reverse;}
@keyframes fs-cm-breathe{
  from{transform:scale(1);}
  to{transform:scale(1.06);}
}
.fs-cm-wire .fs-cm-ring{display:none;}

/* ── Type ─────────────────────────────────────────────────────────
   The eyebrow is bare letterspaced small caps with a leaf tick — no
   pill, no border (the Luxe eyebrow is a bordered pill; this must not
   read as that). */
.fs-cm-eyebrow{
  display:inline-flex;align-items:center;gap:.55rem;
  color:rgb(var(--c-ink-700));
  font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
}
.fs-cm-eyebrow::before{
  content:'';width:.65rem;height:.4rem;border-radius:50%;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  transform:rotate(-32deg);
}
.fs-cm-title{
  margin:1.1rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(2.4rem,5.5vw,4rem);
  line-height:1.12;font-weight:500;letter-spacing:.005em;
  color:rgb(var(--c-ink-950));
}
.fs-cm-accent{
  font-style:italic;font-weight:400;
  color:rgb(var(--c-brand-600));
}
.fs-cm-sub{
  margin:1.3rem 0 0;max-width:44ch;
  font-size:clamp(1rem,1.6vw,1.12rem);line-height:1.7;
  color:rgb(var(--c-ink-700));
}
.fs-cm-title-center{text-align:center;margin-left:auto;margin-right:auto;}
.fs-cm-sub-center{text-align:center;margin-left:auto;margin-right:auto;}

/* ── Buttons: one quiet solid + one underlined text link ───────── */
.fs-cm-ctas{display:flex;flex-wrap:wrap;gap:1.2rem;margin-top:2rem;align-items:center;}
.fs-cm-ctas-center{justify-content:center;}
.fs-cm-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.9rem 1.9rem;border-radius:var(--fs-radius-pill, 999px);
  font-size:.95rem;font-weight:600;line-height:1;white-space:nowrap;letter-spacing:.02em;
  color:rgb(var(--c-paper));
  background:rgb(var(--c-brand-600));
  box-shadow:var(--fs-shadow-card, 0 12px 28px rgb(var(--c-ink-950) / .12));
  transition:transform .3s ease, background .3s ease;
}
.fs-cm-btn:hover{transform:translateY(-2px);background:rgb(var(--c-brand-700, var(--c-brand-600)));}
.fs-cm-link{
  display:inline-flex;align-items:center;gap:.4rem;
  font-size:.95rem;font-weight:600;color:rgb(var(--c-ink-950));
  border-bottom:1.5px solid rgb(var(--c-accent, var(--c-brand-600)));
  padding-bottom:.15rem;white-space:nowrap;
  transition:color .3s ease, border-color .3s ease;
}
.fs-cm-link::after{content:'→';font-weight:400;}
.fs-cm-link:hover{color:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));}
.fs-cm-wire .fs-cm-btn{background:rgb(var(--c-ink-950));box-shadow:none;}

/* ═════════ HERO (favCalmHero) ═════════ */
.fs-cm-hero{padding:var(--fs-space-section, clamp(3.5rem,8vw,6rem)) clamp(1rem,4vw,2.5rem);}
.fs-cm-hero-inner{
  position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:1.1fr .9fr;
  gap:clamp(2rem,5vw,4.5rem);align-items:center;
}
@media (max-width:920px){.fs-cm-hero-inner{grid-template-columns:1fr;gap:3.5rem;}}
.fs-cm-chips{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2rem;}
.fs-cm-chip{
  display:inline-flex;align-items:center;
  padding:.45rem .95rem;border-radius:var(--fs-radius-pill, 999px);
  border:1px solid rgb(var(--c-line));
  background:rgb(var(--c-paper-soft));
  font-size:.8rem;font-weight:500;color:rgb(var(--c-ink-700));
}

/* The arch: the set's signature. A portrait image masked into a
   round-topped arch, with a thin offset "ghost" arch drawn behind it
   and a small floating card overlapping its base. */
.fs-cm-hero-stage{position:relative;display:flex;justify-content:center;}
.fs-cm-arch{
  position:relative;z-index:1;
  width:min(23rem, 88%);aspect-ratio:3 / 4;
  border-radius:999px 999px var(--fs-radius-card, 22px) var(--fs-radius-card, 22px);
  overflow:hidden;
  background:rgb(var(--c-paper-soft));
  box-shadow:var(--fs-shadow-card, 0 18px 44px rgb(var(--c-ink-950) / .14));
}
.fs-cm-arch img{width:100%;height:100%;object-fit:cover;}
.fs-cm-arch > *{width:100%;height:100%;}
.fs-cm-arch-ghost{
  position:absolute;z-index:0;pointer-events:none;
  width:min(23rem, 88%);aspect-ratio:3 / 4;
  border-radius:999px 999px var(--fs-radius-card, 22px) var(--fs-radius-card, 22px);
  border:1.5px solid rgb(var(--c-accent, var(--c-brand-600)) / .55);
  transform:translate(1.4rem, 1.4rem);
}
/* No image set: a soft wash with a rising sun, so the block never
   opens as an empty frame. */
.fs-cm-arch-fallback{
  display:block;position:relative;width:100%;height:100%;
  background:linear-gradient(180deg, rgb(var(--c-accent, var(--c-brand-600)) / .22), rgb(var(--c-paper-soft)));
}
.fs-cm-arch-sun{
  position:absolute;left:50%;top:34%;
  width:38%;aspect-ratio:1;border-radius:50%;
  transform:translate(-50%,-50%);
  background:rgb(var(--c-brand-600) / .75);
}
.fs-cm-float{
  position:absolute;z-index:2;left:clamp(0rem,2vw,1rem);bottom:-1.2rem;
  padding:.9rem 1.2rem;border-radius:var(--fs-radius-card, 18px);
  background:rgb(var(--c-paper));
  border:1px solid rgb(var(--c-line));
  box-shadow:var(--fs-shadow-card, 0 14px 34px rgb(var(--c-ink-950) / .14));
}
.fs-cm-anim .fs-cm-float{animation:fs-cm-bob 6s ease-in-out infinite alternate;}
@keyframes fs-cm-bob{from{transform:translateY(0);}to{transform:translateY(-.45rem);}}
.fs-cm-float-v{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.15rem;color:rgb(var(--c-brand-600));
}
.fs-cm-float-l{margin-top:.15rem;font-size:.74rem;letter-spacing:.06em;color:rgb(var(--c-ink-400));}
.fs-cm-wire .fs-cm-arch-ghost,.fs-cm-wire .fs-cm-arch-fallback{display:none;}

/* ═════════ PAGE HEADER (favCalmHeader) ═════════ */
.fs-cm-hd{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-cm-hd-inner{
  position:relative;max-width:min(46rem, var(--fs-layout-clamp, 46rem));margin:0 auto;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.fs-cm-hd .fs-cm-title{font-size:clamp(2.2rem,4.5vw,3.4rem);}
/* The flourish: line — leaf — line, drawn rather than decorated. */
.fs-cm-flourish{display:inline-flex;align-items:center;gap:.9rem;margin-top:2rem;}
.fs-cm-flourish::before,.fs-cm-flourish::after{
  content:'';width:3.6rem;height:1px;background:rgb(var(--c-ink-950) / .22);
}
.fs-cm-flourish-leaf{
  width:.75rem;height:.45rem;border-radius:50%;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  transform:rotate(-32deg);
}
.fs-cm-wire .fs-cm-flourish{display:none;}

/* ═════════ PRICE MENU (favCalmMenu) ═════════
   A printed spa menu: name … dotted leader … price, a quiet note under
   each. Nothing else in the block library sets prices this way. */
.fs-cm-menu{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-cm-menu-head{max-width:min(46rem, var(--fs-layout-clamp, 46rem));margin:0 auto;text-align:center;}
.fs-cm-h{
  margin:0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(1.9rem,3.6vw,2.7rem);
  line-height:1.15;font-weight:500;color:rgb(var(--c-ink-950));
}
.fs-cm-menu-card{
  max-width:var(--fs-layout-max,56rem);margin:2.6rem auto 0;
  padding:clamp(1.6rem,4vw,3rem);
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line));
  border-radius:var(--fs-radius-card, 22px);
}
.fs-cm-menu-grid{
  display:grid;grid-template-columns:1fr 1fr;
  column-gap:clamp(2rem,5vw,3.5rem);row-gap:1.5rem;
}
@media (max-width:760px){.fs-cm-menu-grid{grid-template-columns:1fr;}}
.fs-cm-row{padding:.35rem .2rem;border-radius:10px;transition:background .3s ease;}
.fs-cm-row:hover{background:rgb(var(--c-brand-600) / .05);}
.fs-cm-row-top{display:flex;align-items:baseline;gap:.6rem;}
.fs-cm-row-name{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.08rem;color:rgb(var(--c-ink-950));
}
.fs-cm-row-dots{
  flex:1;min-width:1.5rem;
  border-bottom:2px dotted rgb(var(--c-ink-400) / .55);
  transform:translateY(-.3rem);
}
.fs-cm-row-price{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.02rem;font-weight:600;white-space:nowrap;
  color:rgb(var(--c-brand-600));
}
.fs-cm-row-note{margin-top:.3rem;font-size:.84rem;line-height:1.55;color:rgb(var(--c-ink-400));}
.fs-cm-menu-note{
  margin-top:2rem;padding-top:1.4rem;
  border-top:1px solid rgb(var(--c-line));
  text-align:center;font-size:.84rem;letter-spacing:.04em;color:rgb(var(--c-ink-400));
}

/* ═════════ TREATMENT CARDS (favCalmTreatments) ═════════
   The rich treatment grid: name, duration/price chip, description and
   a benefits line per card. The premium replacement for listing a spa
   menu in an accordion. */
.fs-cm-tr{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-cm-tr-head{max-width:min(46rem, var(--fs-layout-clamp, 46rem));margin:0 auto 2.6rem;text-align:center;}
.fs-cm-tr-grid{
  max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:repeat(3, minmax(0,1fr));
  gap:clamp(1rem,2.5vw,1.6rem);
}
@media (max-width:980px){.fs-cm-tr-grid{grid-template-columns:repeat(2, minmax(0,1fr));}}
@media (max-width:640px){.fs-cm-tr-grid{grid-template-columns:1fr;}}
.fs-cm-tr-card{
  display:flex;flex-direction:column;
  padding:1.6rem 1.5rem 1.4rem;
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line));
  border-radius:var(--fs-radius-card, 20px);
  transition:transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.fs-cm-tr-card:hover{
  transform:translateY(-4px);
  border-color:rgb(var(--c-brand-600) / .4);
  box-shadow:var(--fs-shadow-card, 0 16px 36px rgb(var(--c-ink-950) / .1));
}
.fs-cm-tr-meta{
  display:inline-flex;align-self:flex-start;align-items:center;gap:.5rem;
  padding:.35rem .85rem;border-radius:var(--fs-radius-pill, 999px);
  background:rgb(var(--c-brand-600) / .08);
  color:rgb(var(--c-brand-600));
  font-size:.76rem;font-weight:600;letter-spacing:.05em;
}
.fs-cm-tr-name{
  margin:1rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:1.35rem;line-height:1.25;font-weight:500;
  color:rgb(var(--c-ink-950));
}
.fs-cm-tr-desc{margin-top:.6rem;font-size:.92rem;line-height:1.65;color:rgb(var(--c-ink-700));flex:1;}
.fs-cm-tr-benefits{
  display:flex;align-items:baseline;gap:.55rem;
  margin-top:1.1rem;padding-top:1rem;
  border-top:1px solid rgb(var(--c-line));
  font-size:.8rem;line-height:1.55;color:rgb(var(--c-ink-400));
}
.fs-cm-tr-benefits::before{
  content:'';flex:none;width:.6rem;height:.38rem;border-radius:50%;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  transform:rotate(-32deg) translateY(-.05rem);
}

/* ═════════ CONTACT DETAILS (favCalmContact) ═════════
   Three quiet channels — call, write, visit — with the value set large
   in the display serif, so a phone number reads as considered type
   rather than an afterthought in a paragraph. */
.fs-cm-ct{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-cm-ct-head{max-width:min(46rem, var(--fs-layout-clamp, 46rem));margin:0 auto 2.4rem;text-align:center;}
.fs-cm-ct-grid{
  max-width:var(--fs-layout-max,64rem);margin:0 auto;
  display:grid;grid-template-columns:repeat(3, minmax(0,1fr));
  gap:clamp(1rem,2.5vw,1.6rem);
}
@media (max-width:860px){.fs-cm-ct-grid{grid-template-columns:1fr;}}
.fs-cm-ct-card{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:2rem 1.5rem 1.8rem;
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line));
  border-radius:var(--fs-radius-card, 20px);
  transition:transform .35s ease, border-color .35s ease;
}
.fs-cm-ct-card:hover{transform:translateY(-3px);border-color:rgb(var(--c-brand-600) / .4);}
.fs-cm-ct-label{
  display:inline-flex;align-items:center;gap:.5rem;
  font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-cm-ct-label::before{
  content:'';width:.55rem;height:.35rem;border-radius:50%;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  transform:rotate(-32deg);
}
.fs-cm-ct-value{
  margin-top:.9rem;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(1.2rem,2.4vw,1.55rem);line-height:1.3;
  color:rgb(var(--c-brand-600));
  overflow-wrap:anywhere;
}
.fs-cm-ct-note{margin-top:.6rem;font-size:.84rem;line-height:1.6;color:rgb(var(--c-ink-700));}

/* ═════════ CTA (favCalmCta) ═════════ */
.fs-cm-cta{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-cm-cta-card{
  position:relative;max-width:min(46rem, var(--fs-layout-clamp, 46rem));margin:0 auto;
  padding:clamp(2.2rem,5vw,3.6rem) clamp(1.4rem,4vw,3rem);
  display:flex;flex-direction:column;align-items:center;text-align:center;
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line));
  border-radius:999px 999px var(--fs-radius-card, 26px) var(--fs-radius-card, 26px);
}
.fs-cm-cta-card .fs-cm-title{font-size:clamp(1.9rem,4vw,2.9rem);}
.fs-cm-note{margin-top:1.6rem;font-size:.8rem;letter-spacing:.05em;color:rgb(var(--c-ink-400));}

/* ── favCalmFooter (theme-chrome batch 3, Studio Calm) ───────────────
   fs-cm-ft: the surface band (named container) with two drawn circles
   painted in its corners — their size steps with the screen through
   clamp() on 100cqi, because the band cannot query itself (plan
   R-B3-19). fs-cm-ft-in: the content box (named container), which
   narrows with the Layout. */
.fs-cm-ft{container-type:inline-size;container-name:fs-cm-ft;padding:0 clamp(1rem,4vw,2.5rem);--cm-ft-rule:rgb(var(--c-ink-950) / .14);--cm-ft-deep:color-mix(in srgb, rgb(var(--c-brand-600)) 70%, rgb(var(--c-ink-950)));--cm-ft-ring:rgb(var(--c-brand-600) / .22);--cm-ft-arch:rgb(var(--c-accent, var(--c-brand-600)) / .62);--cm-ft-wash:rgb(var(--c-accent, var(--c-brand-600)) / .2);--cm-ft-dots:rgb(var(--c-ink-400) / .5);--cm-ft-flo:rgb(var(--c-ink-950) / .24);--cm-ft-r1:clamp(11rem, (100cqi - 760px) * 100, 24rem);--cm-ft-o1:clamp(3rem, (100cqi - 760px) * 100, 6rem);--cm-ft-r2:clamp(7rem, (100cqi - 760px) * 100, 16rem);--cm-ft-o2:clamp(5rem, (100cqi - 760px) * 100, 8rem);background:radial-gradient(circle at calc(100% + var(--cm-ft-o1)) calc(-1 * var(--cm-ft-o1)),transparent calc(var(--cm-ft-r1) - 1.5px),var(--cm-ft-ring) calc(var(--cm-ft-r1) - 1px) var(--cm-ft-r1),transparent calc(var(--cm-ft-r1) + .5px)),radial-gradient(circle at calc(-1 * var(--cm-ft-o2)) calc(100% + var(--cm-ft-o2) / 2),transparent calc(var(--cm-ft-r2) - 1.5px),var(--cm-ft-ring) calc(var(--cm-ft-r2) - 1px) var(--cm-ft-r2),transparent calc(var(--cm-ft-r2) + .5px)),rgb(var(--c-paper-soft))}
.fs-cm-ft:is(.dark *):not(.fs-preview-light *){--cm-ft-rule:rgb(var(--c-ink-950) / .15);--cm-ft-deep:rgb(var(--c-brand-600));--cm-ft-ring:rgb(var(--c-brand-600) / .2);--cm-ft-arch:rgb(var(--c-accent, var(--c-brand-600)) / .6);--cm-ft-wash:rgb(var(--c-accent, var(--c-brand-600)) / .16);--cm-ft-dots:rgb(var(--c-ink-400) / .45);--cm-ft-flo:rgb(var(--c-ink-950) / .26)}
.fs-cm-ft-in{container-type:inline-size;container-name:fs-cm-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:60px 30px}
.fs-cm-ft-mark{display:block;width:44px;height:44px}
.fs-cm-ft-mk-a{fill:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-cm-ft-mk-b{fill:rgb(var(--c-brand-600))}
.fs-cm-ft-mk-w{fill:none;stroke:rgb(var(--c-brand-600));stroke-width:2.5;stroke-linecap:round}
.fs-cm-ft-head{display:flex;align-items:flex-end;margin-bottom:46px}
.fs-cm-ft-head::before,.fs-cm-ft-head::after{content:'';flex:1 1 0;min-width:12px;height:1px;background:var(--cm-ft-flo)}
.fs-cm-ft-arch{position:relative;flex:none;display:flex;flex-direction:column;align-items:center;width:min(23rem,calc(100% - 40px));padding:34px 26px 26px;text-align:center;background:linear-gradient(180deg,var(--cm-ft-wash),transparent 72%);border:1.5px solid var(--cm-ft-arch);border-bottom:0;border-radius:999px 999px 0 0}
.fs-cm-ft-arch::before{content:'';position:absolute;inset:-13px -13px 0;border:1px solid var(--cm-ft-ring);border-bottom:0;border-radius:999px 999px 0 0;pointer-events:none}
.fs-cm-ft-name{margin:12px 0 0;font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:32px;line-height:1.1;letter-spacing:.04em;color:rgb(var(--c-ink-950))}
.fs-cm-ft-tag{margin:10px 0 0;max-width:22ch;font-size:15.5px;line-height:1.5;color:rgb(var(--c-ink-400));text-wrap:balance}
.fs-cm-ft-accent{font-family:var(--font-display, Georgia, serif);font-style:italic;color:var(--cm-ft-deep)}
.fs-cm-ft-cols{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.1fr) minmax(0,.85fr) minmax(0,1fr);gap:34px clamp(24px,3.4cqi,48px)}
.fs-cm-ft-col{min-width:0}
.fs-cm-ft-h{display:inline-flex;align-items:center;gap:9px;margin:0 0 16px;font-weight:600;font-size:11px;line-height:1.2;letter-spacing:.22em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
.fs-cm-ft-h::before{content:'';flex:none;width:10.5px;height:6.5px;border-radius:50%;background:rgb(var(--c-accent, var(--c-brand-600)));transform:rotate(-32deg)}
.fs-cm-ft-big{margin:0;font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:21px;line-height:1.3;color:rgb(var(--c-ink-950))}
.fs-cm-ft-tel{display:block;margin-top:12px;font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:21px;line-height:1.3;letter-spacing:.02em;color:var(--cm-ft-deep);text-decoration:none}
.fs-cm-ft-mail{display:block;margin-top:2px;font-size:14.5px;color:rgb(var(--c-ink-950));overflow-wrap:anywhere;text-decoration:none}
.fs-cm-ft-mail:hover{color:var(--cm-ft-deep)}
.fs-cm-ft-p{margin:10px 0 0;max-width:34ch;font-size:14px;line-height:1.6;color:rgb(var(--c-ink-400))}
.fs-cm-ft-col .fs-cm-ft-link{margin-top:14px}
.fs-cm-ft-link{display:inline-flex;align-items:center;gap:6px;padding-bottom:2px;border-bottom:1.5px solid rgb(var(--c-accent, var(--c-brand-600)));font-weight:600;font-size:14px;line-height:1.25;color:rgb(var(--c-ink-950));white-space:nowrap;text-decoration:none;transition:color .3s ease,border-color .3s ease}
.fs-cm-ft-link::after{content:'→';font-weight:400}
.fs-cm-ft-link:hover{color:var(--cm-ft-deep);border-color:var(--cm-ft-deep)}
.fs-cm-ft-hrs{list-style:none;margin:0;padding:0;display:grid;row-gap:9px}
.fs-cm-ft-hrow{display:flex;align-items:baseline;gap:8px}
.fs-cm-ft-hday{font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:15.5px;line-height:1.3;color:rgb(var(--c-ink-950));white-space:nowrap}
.fs-cm-ft-dots{flex:1;min-width:18px;border-bottom:2px dotted var(--cm-ft-dots);transform:translateY(-4px)}
.fs-cm-ft-htime{font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:15.5px;line-height:1.3;color:var(--cm-ft-deep);white-space:nowrap}
.fs-cm-ft-list{list-style:none;margin:0;padding:0;display:grid;row-gap:8px}
.fs-cm-ft-plink{font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:16.5px;line-height:1.3;color:rgb(var(--c-ink-950));text-decoration:none;transition:color .3s ease}
.fs-cm-ft-plink:hover{color:var(--cm-ft-deep)}
.fs-cm-ft-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:7px}
.fs-cm-ft-chip{padding:6px 13px;border:1px solid var(--cm-ft-rule);border-radius:999px;background:rgb(var(--c-paper));font-size:12.5px;font-weight:500;line-height:1.2;color:rgb(var(--c-ink-400))}
.fs-cm-ft-legal{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;margin:48px 0 0;padding-top:18px;border-top:1px solid var(--cm-ft-rule);font-size:13px;color:rgb(var(--c-ink-400))}
.fs-cm-ft-legal-t{margin-right:auto;color:inherit}
.fs-cm-ft-legal-a{color:inherit;text-decoration:none}
.fs-cm-ft-legal-a:hover{color:rgb(var(--c-ink-950))}
@container fs-cm-ft (max-width: 40rem){
  .fs-cm-ft-in{padding-block:44px 24px}
  .fs-cm-ft-arch{width:min(23rem,calc(100% - 64px))}
}
@container fs-cm-ft-in (max-width: 56rem){
  .fs-cm-ft-cols{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:38px}
}
@container fs-cm-ft (max-width: 48rem){
  .fs-cm-ft-cols{grid-template-columns:minmax(0,1fr);row-gap:32px}
  .fs-cm-ft-head{margin-bottom:36px}
  .fs-cm-ft-name{font-size:29px}
}
@container fs-cm-ft (max-width: 30rem){
  .fs-cm-ft-arch{padding:30px 18px 22px}
  .fs-cm-ft-legal-t{flex-basis:100%}
}
@media (prefers-reduced-motion: reduce){
  .fs-cm-ft-link,.fs-cm-ft-plink{transition:none}
}

/* Never-ending drift with no way out. WCAG 2.2.2 asks that motion which
   runs for more than five seconds can be stopped, and these loop for
   ever; a visitor who has asked their OS for less motion was getting it
   anyway. It also made the theme unshootable — the preview caught the
   loop at a different phase every run, so no two captures ever agreed. */
@media (prefers-reduced-motion: reduce) {
  .fs-cm-anim .fs-cm-ring-a,
  .fs-cm-anim .fs-cm-ring-b,
  .fs-cm-anim .fs-cm-float { animation: none !important; }
}


.fs-pl{
  position:relative;overflow:hidden;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-pl *{box-sizing:border-box;}

/* ── Type ─────────────────────────────────────────────────────────
   The eyebrow sits BETWEEN two diamonds — a menu-card ornament, not
   the Luxe pill and not the Calm leaf. */
.fs-pl-eyebrow{
  display:inline-flex;align-items:center;gap:.7rem;
  color:rgb(var(--c-ink-700));
  font-size:.72rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;
}
.fs-pl-eyebrow::before,.fs-pl-eyebrow::after{
  content:'';width:.42rem;height:.42rem;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  transform:rotate(45deg);
}
.fs-pl-title{
  margin:1.1rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(2.4rem,5.5vw,4rem);
  line-height:1.08;font-weight:600;letter-spacing:-.01em;
  color:rgb(var(--c-ink-950));
}
.fs-pl-accent{color:rgb(var(--c-accent, var(--c-brand-600)));}
.fs-pl-sub{
  margin:1.3rem 0 0;max-width:44ch;
  font-size:clamp(1rem,1.6vw,1.12rem);line-height:1.7;
  color:rgb(var(--c-ink-700));
}
.fs-pl-center{text-align:center;margin-left:auto;margin-right:auto;}
.fs-pl-h{
  margin:0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(1.9rem,3.6vw,2.7rem);
  line-height:1.15;font-weight:600;color:rgb(var(--c-ink-950));
}

/* ── Buttons — uppercase, squared-off, bistro-poster confident ──── */
.fs-pl-ctas{display:flex;flex-wrap:wrap;gap:1.1rem;margin-top:2rem;align-items:center;}
.fs-pl-ctas-center{justify-content:center;}
.fs-pl-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.9rem 1.9rem;border-radius:var(--fs-radius-control, 10px);
  font-size:.92rem;font-weight:700;line-height:1;white-space:nowrap;letter-spacing:.06em;
  text-transform:uppercase;
  color:rgb(var(--c-paper));
  background:rgb(var(--c-brand-600));
  box-shadow:var(--fs-shadow-card, 0 10px 24px rgb(var(--c-ink-950) / .14));
  transition:transform .3s ease, background .3s ease;
}
.fs-pl-btn:hover{transform:translateY(-2px);background:rgb(var(--c-brand-700, var(--c-brand-600)));}
.fs-pl-btn2{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.9rem 1.9rem;border-radius:var(--fs-radius-control, 10px);
  font-size:.92rem;font-weight:700;line-height:1;white-space:nowrap;letter-spacing:.06em;
  text-transform:uppercase;
  color:rgb(var(--c-ink-950));
  border:1.5px solid rgb(var(--c-ink-950) / .35);
  background:transparent;
  transition:border-color .3s ease, color .3s ease, transform .3s ease;
}
.fs-pl-btn2:hover{transform:translateY(-2px);border-color:rgb(var(--c-brand-600));color:rgb(var(--c-brand-600));}
.fs-pl-wire .fs-pl-btn{background:rgb(var(--c-ink-950));box-shadow:none;}

/* ═════════ HERO (favPlateHero) ═════════ */
.fs-pl-hero{container-type:inline-size;padding:var(--fs-space-section, clamp(3.5rem,8vw,6rem)) clamp(1rem,4vw,2.5rem);}
.fs-pl-hero-inner{
  position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(2rem,5vw,4.5rem);align-items:center;
}
/* Collapsed via the hero's own inline-size container (R3, theme-chrome
   batch 1, Task 8 — precedent care-styles.ts .fs-ca-hero): a viewport
   @media(max-width:920px) never fires inside the editor's simulated
   canvas, which is why the mobile probe overflowed sideways here.
   57.5rem = the same 920px breakpoint. */
@container (max-width: 57.5rem){
  .fs-pl-hero-inner{grid-template-columns:1fr;gap:3.5rem;}
}
/* Service times over a double rule — a line of set type, not chips. */
.fs-pl-services{
  display:flex;flex-wrap:wrap;align-items:center;column-gap:.9rem;row-gap:.5rem;
  margin-top:2.1rem;padding-top:1.4rem;
  border-top:4px double rgb(var(--c-ink-950) / .25);
  font-size:.88rem;font-weight:600;letter-spacing:.03em;color:rgb(var(--c-ink-700));
}
.fs-pl-service-sep{
  width:.42rem;height:.42rem;flex:none;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  transform:rotate(45deg);
}
/* The plate: a perfect-circle crop with an offset outer ring, like a
   plate set on a charger. The set's signature frame. */
.fs-pl-hero-stage{position:relative;display:flex;justify-content:center;padding:1rem;}
.fs-pl-plate{
  position:relative;z-index:1;
  width:min(22rem, 82%);aspect-ratio:1 / 1;
  border-radius:50%;overflow:hidden;
  background:rgb(var(--c-paper-soft));
  box-shadow:var(--fs-shadow-card, 0 18px 44px rgb(var(--c-ink-950) / .16));
  outline:1.5px solid rgb(var(--c-accent, var(--c-brand-600)) / .55);
  outline-offset:14px;
}
.fs-pl-plate img{width:100%;height:100%;object-fit:cover;}
.fs-pl-plate > *{width:100%;height:100%;}
/* No image set: a drawn dish, so the plate never arrives empty. */
.fs-pl-plate-fallback{
  display:block;position:relative;width:100%;height:100%;
  background:radial-gradient(circle at 50% 42%, rgb(var(--c-accent, var(--c-brand-600)) / .3), rgb(var(--c-paper-soft)) 72%);
}
.fs-pl-plate-food{
  position:absolute;left:50%;top:47%;width:52%;aspect-ratio:1 / 1;border-radius:50%;
  transform:translate(-50%,-50%);
  background:rgb(var(--c-brand-600) / .8);
}
/* Tonight's note from the pass, overlapping the plate's edge. */
.fs-pl-float{
  position:absolute;z-index:2;right:clamp(-.5rem,1vw,.5rem);bottom:-.9rem;
  padding:.9rem 1.2rem;border-radius:var(--fs-radius-card, 14px);
  background:rgb(var(--c-paper));
  border:1px solid rgb(var(--c-line));
  border-top:4px double rgb(var(--c-ink-950) / .35);
  box-shadow:var(--fs-shadow-card, 0 14px 34px rgb(var(--c-ink-950) / .14));
  max-width:15rem;
}
.fs-pl-anim .fs-pl-float{animation:fs-pl-bob 7s ease-in-out infinite alternate;}
@keyframes fs-pl-bob{from{transform:translateY(0);}to{transform:translateY(-.4rem);}}
.fs-pl-float-t{
  font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-pl-float-b{
  margin-top:.3rem;
  font-family:var(--font-display, Georgia, serif);
  font-size:1.02rem;line-height:1.4;color:rgb(var(--c-ink-950));
}
.fs-pl-wire .fs-pl-plate-fallback,.fs-pl-wire .fs-pl-float{display:none;}
.fs-pl-wire .fs-pl-plate{outline:none;}

/* ═════════ PAGE HEADER (favPlateHeader) ═════════ */
.fs-pl-hd{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-pl-hd-inner{
  position:relative;max-width:min(46rem, var(--fs-layout-clamp, 46rem));margin:0 auto;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.fs-pl-hd .fs-pl-title{font-size:clamp(2.2rem,4.5vw,3.4rem);}
.fs-pl-hd-rule{
  width:9rem;margin-top:2rem;
  border:none;height:0;border-top:4px double rgb(var(--c-ink-950) / .3);
}
.fs-pl-wire .fs-pl-hd-rule{display:none;}

/* ═════════ MENU BOARD (favPlateMenu) ═════════
   The printed menu: course titles between double rules, dish rows
   with dotted leaders, a description under each dish. */
.fs-pl-menu{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-pl-menu-head{max-width:min(46rem, var(--fs-layout-clamp, 46rem));margin:0 auto 2.4rem;text-align:center;}
.fs-pl-menu-card{
  max-width:min(44rem, var(--fs-layout-clamp, 44rem));margin:0 auto;
  padding:clamp(1.8rem,4.5vw,3.2rem) clamp(1.4rem,4vw,3rem);
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line));
  border-radius:var(--fs-radius-card, 14px);
}
.fs-pl-course{margin-top:2.4rem;}
.fs-pl-course:first-child{margin-top:0;}
.fs-pl-course-title{
  display:flex;align-items:center;gap:1rem;
  margin:0 0 1.4rem;
  font-size:.8rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase;
  color:rgb(var(--c-brand-600));
}
.fs-pl-course-title::before,.fs-pl-course-title::after{
  content:'';flex:1;height:0;
  border-top:4px double rgb(var(--c-ink-950) / .22);
}
.fs-pl-dish{margin-top:1.15rem;}
.fs-pl-dish:first-of-type{margin-top:0;}
.fs-pl-dish-top{display:flex;align-items:baseline;gap:.6rem;}
.fs-pl-dish-name{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.12rem;color:rgb(var(--c-ink-950));
}
.fs-pl-dish-dots{
  flex:1;min-width:1.5rem;
  border-bottom:2px dotted rgb(var(--c-ink-400) / .5);
  transform:translateY(-.3rem);
}
.fs-pl-dish-price{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.05rem;font-weight:600;white-space:nowrap;
  color:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-pl-dish-desc{margin-top:.25rem;font-size:.86rem;line-height:1.6;color:rgb(var(--c-ink-400));max-width:52ch;}
.fs-pl-menu-note{
  margin-top:2.4rem;padding-top:1.3rem;
  border-top:4px double rgb(var(--c-ink-950) / .22);
  text-align:center;font-size:.82rem;letter-spacing:.04em;color:rgb(var(--c-ink-400));
}

/* ═════════ HOURS BOARD (favPlateHours) ═════════ */
.fs-pl-hr{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-pl-hr-head{max-width:min(46rem, var(--fs-layout-clamp, 46rem));margin:0 auto 2.2rem;text-align:center;}
.fs-pl-hr-card{
  max-width:min(38rem, var(--fs-layout-clamp, 38rem));margin:0 auto;
  padding:clamp(1.6rem,4vw,2.6rem) clamp(1.4rem,4vw,2.8rem);
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line));
  border-block:4px double rgb(var(--c-ink-950) / .3);
  border-radius:var(--fs-radius-card, 14px);
}
.fs-pl-hr-row{
  display:flex;align-items:baseline;gap:1rem;justify-content:space-between;
  padding:.85rem 0;
}
.fs-pl-hr-row + .fs-pl-hr-row{border-top:1px solid rgb(var(--c-line));}
.fs-pl-hr-label{
  font-size:.78rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:rgb(var(--c-ink-700));
}
.fs-pl-hr-value{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.05rem;text-align:right;color:rgb(var(--c-ink-950));
}
.fs-pl-hr-note{margin-top:1.3rem;text-align:center;font-size:.82rem;letter-spacing:.03em;color:rgb(var(--c-ink-400));}

/* ═════════ CTA (favPlateCta) ═════════
   A full-width reservation band bounded by double rules — the bottom
   of the menu card, scaled up to a section. */
.fs-pl-cta{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-pl-cta-band{
  position:relative;max-width:var(--fs-layout-max,56rem);margin:0 auto;
  padding:clamp(2.2rem,5vw,3.4rem) clamp(1.4rem,4vw,3rem);
  display:flex;flex-direction:column;align-items:center;text-align:center;
  background:rgb(var(--c-brand-600) / .06);
  border-block:4px double rgb(var(--c-ink-950) / .35);
}
.fs-pl-cta-band .fs-pl-title{font-size:clamp(1.9rem,4vw,2.9rem);}
.fs-pl-note{margin-top:1.6rem;font-size:.8rem;letter-spacing:.05em;color:rgb(var(--c-ink-400));}

/* ═════════ FOOTER (favPlateFooter) — the back of the menu ═════════
   A centred card between double rules, the plate mark in a ringed
   disc straddling its top edge, three columns (find us / hours board
   / visit us) under small-caps titles, and house notes between
   diamonds. */
.fs-pl-ft{container-type:inline-size;padding:72px clamp(1rem,4vw,2.5rem) 36px}
.fs-pl-ft-in{max-width:var(--fs-layout-max,72rem);margin-inline:auto}
.fs-pl-ft-card{
  position:relative;max-width:min(62.5rem, var(--fs-layout-max,62.5rem));margin:0 auto;
  padding:clamp(2.6rem,6vw,3.5rem) clamp(1.1rem,4vw,2.75rem) clamp(1.1rem,3vw,1.4rem);
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line));
  border-block:4px double rgb(var(--c-ink-950) / .3);
  border-radius:var(--fs-radius-card, 18px);
  text-align:center;
}
/* The plate mark: a 64px ringed disc straddling the card's top edge. */
.fs-pl-ft-plate{
  position:absolute;top:-32px;left:50%;margin-left:-32px;
  display:grid;place-items:center;
  width:64px;height:64px;border-radius:50%;
  background:rgb(var(--c-paper));
  border:1.5px solid rgb(var(--c-brand-600) / .6);
  box-shadow:inset 0 0 0 9px rgb(var(--c-paper-soft)), inset 0 0 0 11.5px rgb(var(--c-brand-600));
}
.fs-pl-ft-plate-dot{width:.85rem;height:.85rem;border-radius:50%;background:rgb(var(--c-accent, var(--c-brand-600)));}
.fs-pl-ft-eyebrow{
  display:inline-flex;align-items:center;gap:.7rem;
  font-size:.72rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;
  color:rgb(var(--c-ink-700));
}
.fs-pl-ft-eyebrow::before,.fs-pl-ft-eyebrow::after{
  content:'';width:.42rem;height:.42rem;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  transform:rotate(45deg);
}
.fs-pl-ft-name{
  margin-top:.9rem;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(2.1rem,5vw,3.1rem);line-height:1;font-weight:600;letter-spacing:-.01em;
  color:rgb(var(--c-ink-950));
}
.fs-pl-ft-statement{max-width:46ch;margin:.85rem auto 0;font-size:1rem;line-height:1.6;color:rgb(var(--c-ink-700));}
.fs-pl-ft-cols{
  display:grid;grid-template-columns:1fr 1.25fr 1fr;margin-top:1.9rem;
  border-top:1px solid rgb(var(--c-line));text-align:left;
}
.fs-pl-ft-col{padding:1.4rem 1.5rem .5rem;}
.fs-pl-ft-col+.fs-pl-ft-col{border-left:1px solid rgb(var(--c-line));}
.fs-pl-ft-h{
  margin:0 0 .75rem;
  font-size:.7rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:rgb(var(--c-ink-950));
}
.fs-pl-ft-p{margin:0;font-size:.9rem;line-height:1.5;color:rgb(var(--c-ink-700));}
.fs-pl-ft-p+.fs-pl-ft-p{margin-top:.4rem;}
/* The email field (last of the three in "Find us") is the one whose
   long address ("hello@plateful.co.uk") cannot always fit at 390px —
   the old generic PLATEFUL_FOOTER overflowed the mobile canvas by 31px
   here because it could not wrap. All three share this rule, so the
   email field always can. */
.fs-pl-ft-p{overflow-wrap:anywhere;}
.fs-pl-ft-hours{margin:0;}
.fs-pl-ft-hrow{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;padding-block:.3rem;font-size:.9rem;}
.fs-pl-ft-hk{margin:0;color:rgb(var(--c-ink-700));}
.fs-pl-ft-hv{margin:0;font-family:var(--font-display, Georgia, serif);text-align:right;color:rgb(var(--c-ink-950));}
.fs-pl-ft-list{list-style:none;margin:0;padding:0;font-size:.9rem;}
.fs-pl-ft-li{padding-block:.25rem;}
.fs-pl-ft-link{color:rgb(var(--c-ink-700));text-decoration:none;}
.fs-pl-ft-link:hover{color:rgb(var(--c-ink-950));text-decoration:underline;}
.fs-pl-ft-notes{
  display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.4rem .9rem;
  margin-top:1.4rem;padding-top:.9rem;
  border-top:4px double rgb(var(--c-ink-950) / .22);
  font-size:.82rem;color:rgb(var(--c-ink-400));
}
.fs-pl-ft-dia{width:.4rem;height:.4rem;flex:none;background:rgb(var(--c-accent, var(--c-brand-600)));transform:rotate(45deg);}
.fs-pl-ft-legal{
  display:flex;justify-content:center;flex-wrap:wrap;gap:.4rem 1.1rem;
  margin-top:1.1rem;font-size:.78rem;color:rgb(var(--c-ink-400));
}
.fs-pl-ft-legal-t{color:inherit;}
.fs-pl-ft-legal-a{color:inherit;text-decoration:none;}
.fs-pl-ft-legal-a:hover{color:rgb(var(--c-ink-950));}
.fs-pl-wire .fs-pl-ft-plate{box-shadow:none;border-color:rgb(var(--c-ink-950) / .35);}
.fs-pl-wire .fs-pl-ft-plate-dot{background:rgb(var(--c-ink-950) / .35);}
/* 48rem against this band's own box (editor-tablet content box: 686px
   — from the probe). */
@container (max-width: 48rem){
  .fs-pl-ft-cols{grid-template-columns:1fr}
  .fs-pl-ft-col+.fs-pl-ft-col{border-left:0;border-top:1px solid rgb(var(--c-line));}
  .fs-pl-ft-notes{flex-direction:column}
  .fs-pl-ft-notes .fs-pl-ft-dia{display:none}
}

/* Never-ending drift with no way out. WCAG 2.2.2 asks that motion which
   runs for more than five seconds can be stopped, and these loop for
   ever; a visitor who has asked their OS for less motion was getting it
   anyway. It also made the theme unshootable — the preview caught the
   loop at a different phase every run, so no two captures ever agreed. */
@media (prefers-reduced-motion: reduce) {
  .fs-pl-anim .fs-pl-float { animation: none !important; }
}


.fs-gf{
  position:relative;overflow:hidden;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-gf *{box-sizing:border-box;}

/* ── Shared motifs ──────────────────────────────────────────────
   The striped bar — brand colour over transparent at 45°. */
.fs-gf-stripe{
  height:.55rem;
  background:repeating-linear-gradient(
    -45deg,
    rgb(var(--c-accent, var(--c-brand-600))),
    rgb(var(--c-accent, var(--c-brand-600))) .6rem,
    transparent .6rem,
    transparent 1.2rem
  );
}
.fs-gf-wire .fs-gf-stripe{display:none;}

/* ── Type ─────────────────────────────────────────────────────────
   The eyebrow is a solid tag — set INTO a brand chip with squared
   corners, like a stamped job number. */
.fs-gf-eyebrow{
  display:inline-flex;align-items:center;
  padding:.4rem .8rem;
  background:rgb(var(--c-ink-950));
  color:rgb(var(--c-paper));
  font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;
}
.fs-gf-title{
  margin:1.1rem 0 0;
  font-family:var(--font-display, 'Arial Narrow', Arial, sans-serif);
  font-size:clamp(2.5rem,6vw,4.4rem);
  line-height:1.02;font-weight:700;letter-spacing:.01em;text-transform:uppercase;
  color:rgb(var(--c-ink-950));
}
.fs-gf-accent{color:rgb(var(--c-brand-600));}
.fs-gf-sub{
  margin:1.3rem 0 0;max-width:46ch;
  font-size:clamp(1rem,1.6vw,1.12rem);line-height:1.65;
  color:rgb(var(--c-ink-700));
}
.fs-gf-h{
  margin:0;
  font-family:var(--font-display, 'Arial Narrow', Arial, sans-serif);
  font-size:clamp(1.9rem,3.8vw,2.8rem);
  line-height:1.1;font-weight:700;text-transform:uppercase;letter-spacing:.01em;
  color:rgb(var(--c-ink-950));
}

/* ── Buttons — squared, thick-edged, hard offset shadow ─────────── */
.fs-gf-ctas{display:flex;flex-wrap:wrap;gap:1.1rem;margin-top:2rem;align-items:center;}
.fs-gf-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.95rem 1.9rem;
  font-size:.95rem;font-weight:800;line-height:1;white-space:nowrap;letter-spacing:.06em;
  text-transform:uppercase;
  color:rgb(var(--c-paper));
  background:rgb(var(--c-brand-600));
  box-shadow:4px 4px 0 rgb(var(--c-ink-950));
  transition:transform .2s ease, box-shadow .2s ease;
}
.fs-gf-btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 rgb(var(--c-ink-950));}
.fs-gf-btn:active{transform:translate(2px,2px);box-shadow:2px 2px 0 rgb(var(--c-ink-950));}
.fs-gf-btn2{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.95rem 1.9rem;
  font-size:.95rem;font-weight:800;line-height:1;white-space:nowrap;letter-spacing:.06em;
  text-transform:uppercase;
  color:rgb(var(--c-ink-950));
  background:transparent;
  border:2.5px solid rgb(var(--c-ink-950));
  transition:background .2s ease, color .2s ease;
}
.fs-gf-btn2:hover{background:rgb(var(--c-ink-950));color:rgb(var(--c-paper));}
.fs-gf-wire .fs-gf-btn{box-shadow:none;}

/* ═════════ HERO (favGraftHero) ═════════ */
.fs-gf-hero{padding:var(--fs-space-section, clamp(3.5rem,8vw,6rem)) clamp(1rem,4vw,2.5rem);}
.fs-gf-hero-inner{
  position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(2rem,5vw,4rem);align-items:center;
}
@media (max-width:920px){.fs-gf-hero-inner{grid-template-columns:1fr;gap:3rem;}}
/* Proof chips: plain, bordered, squared — facts, not decoration. */
.fs-gf-proof{
  display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2rem;
}
.fs-gf-proof-chip{
  display:inline-flex;align-items:center;
  padding:.5rem .9rem;
  border:2px solid rgb(var(--c-ink-950) / .8);
  font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  color:rgb(var(--c-ink-950));
  background:rgb(var(--c-paper-soft));
}
/* The frame: a rectangle with ONE clipped corner — the set's
   signature cut — over an offset solid panel. */
.fs-gf-hero-stage{position:relative;display:flex;justify-content:center;}
.fs-gf-frame{
  position:relative;z-index:1;
  width:min(26rem, 92%);aspect-ratio:4 / 3;
  overflow:hidden;
  background:rgb(var(--c-paper-soft));
  clip-path:polygon(0 0, 100% 0, 100% calc(100% - 3.5rem), calc(100% - 3.5rem) 100%, 0 100%);
  box-shadow:none;
}
.fs-gf-frame img{width:100%;height:100%;object-fit:cover;}
.fs-gf-frame > *{width:100%;height:100%;}
.fs-gf-frame-back{
  position:absolute;z-index:0;pointer-events:none;
  width:min(26rem, 92%);aspect-ratio:4 / 3;
  transform:translate(1.1rem, 1.1rem);
  background:rgb(var(--c-brand-600) / .25);
  clip-path:polygon(0 0, 100% 0, 100% calc(100% - 3.5rem), calc(100% - 3.5rem) 100%, 0 100%);
}
/* No image set: layered ground strata, so the frame never sits empty. */
.fs-gf-frame-fallback{
  display:block;position:relative;width:100%;height:100%;
  background:
    linear-gradient(180deg,
      rgb(var(--c-paper-soft)) 0 46%,
      rgb(var(--c-accent, var(--c-brand-600)) / .5) 46% 60%,
      rgb(var(--c-brand-600) / .75) 60% 100%);
}
.fs-gf-wire .fs-gf-frame-back,.fs-gf-wire .fs-gf-frame-fallback{display:none;}
.fs-gf-wire .fs-gf-frame{clip-path:none;}

/* ═════════ PAGE HEADER (favGraftHeader) ═════════
   LEFT-aligned — every other family's header is centred; this one
   reads like the top of a job sheet. */
.fs-gf-hd{padding:var(--fs-space-section, clamp(3rem,7vw,4.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-gf-hd-inner{position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-gf-hd .fs-gf-title{font-size:clamp(2.2rem,5vw,3.6rem);}
.fs-gf-hd-bar{width:8rem;margin-top:1.8rem;}

/* ═════════ BEFORE / AFTER (favGraftBeforeAfter) ═════════
   The trades pitch in one control: drag the slider, see the job. */
.fs-gf-ba{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-gf-ba-head{max-width:var(--fs-layout-max,72rem);margin:0 auto 2rem;}
.fs-gf-ba-stage{
  position:relative;max-width:var(--fs-layout-max,64rem);margin:0 auto;
  aspect-ratio:16 / 9;overflow:hidden;
  background:rgb(var(--c-paper-soft));
  border:2.5px solid rgb(var(--c-ink-950));
}
.fs-gf-ba-pane{position:absolute;inset:0;}
.fs-gf-ba-pane img{width:100%;height:100%;object-fit:cover;}
.fs-gf-ba-pane > *{width:100%;height:100%;}
/* Drawn fallbacks: a rough plot vs a finished one. */
.fs-gf-ba-fallback-before{
  display:block;width:100%;height:100%;
  background:
    radial-gradient(1.4rem 1rem at 20% 70%, rgb(var(--c-ink-950) / .25), transparent 70%),
    radial-gradient(1.8rem 1.2rem at 45% 78%, rgb(var(--c-ink-950) / .2), transparent 70%),
    radial-gradient(1.2rem .9rem at 70% 66%, rgb(var(--c-ink-950) / .28), transparent 70%),
    linear-gradient(180deg, rgb(var(--c-ink-400) / .35) 0 55%, rgb(var(--c-ink-700) / .45) 55% 100%);
}
.fs-gf-ba-fallback-after{
  display:block;width:100%;height:100%;
  background:
    linear-gradient(90deg, transparent 0 30%, rgb(var(--c-paper) / .5) 30% 31%, transparent 31% 60%, rgb(var(--c-paper) / .5) 60% 61%, transparent 61%),
    linear-gradient(180deg, rgb(var(--c-accent, var(--c-brand-600)) / .4) 0 55%, rgb(var(--c-brand-600) / .7) 55% 100%);
}
.fs-gf-ba-divider{
  position:absolute;top:0;bottom:0;width:4px;margin-left:-2px;
  background:rgb(var(--c-paper));
  box-shadow:0 0 0 1.5px rgb(var(--c-ink-950));
  pointer-events:none;
}
.fs-gf-ba-tag{
  position:absolute;top:1rem;
  padding:.35rem .7rem;
  background:rgb(var(--c-ink-950));
  color:rgb(var(--c-paper));
  font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  pointer-events:none;
}
.fs-gf-ba-tag-before{left:1rem;}
.fs-gf-ba-tag-after{right:1rem;background:rgb(var(--c-brand-600));}
/* The visible slider control, under the stage — deliberately NOT an
   invisible overlay, so click-to-replace on the images keeps working
   in the editor. */
.fs-gf-ba-control{
  max-width:var(--fs-layout-max,64rem);margin:.9rem auto 0;
  display:flex;align-items:center;gap:.9rem;
}
.fs-gf-ba-control label{
  font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));white-space:nowrap;
}
.fs-gf-ba-range{
  flex:1;appearance:none;height:.55rem;cursor:ew-resize;
  background:repeating-linear-gradient(
    -45deg,
    rgb(var(--c-accent, var(--c-brand-600))),
    rgb(var(--c-accent, var(--c-brand-600))) .6rem,
    rgb(var(--c-paper-soft)) .6rem,
    rgb(var(--c-paper-soft)) 1.2rem
  );
  border:1.5px solid rgb(var(--c-ink-950));
}
.fs-gf-ba-range::-webkit-slider-thumb{
  appearance:none;width:1.5rem;height:1.5rem;
  background:rgb(var(--c-ink-950));
  border:2.5px solid rgb(var(--c-paper));
  box-shadow:0 0 0 1.5px rgb(var(--c-ink-950));
  cursor:ew-resize;
}
.fs-gf-ba-range::-moz-range-thumb{
  width:1.4rem;height:1.4rem;border-radius:0;
  background:rgb(var(--c-ink-950));
  border:2.5px solid rgb(var(--c-paper));
  cursor:ew-resize;
}
.fs-gf-ba-caption{
  max-width:var(--fs-layout-max,64rem);margin:.9rem auto 0;
  font-size:.86rem;color:rgb(var(--c-ink-400));
}

/* ═════════ BADGES (favGraftBadges) ═════════
   Guarantees and tickets as stamped plates: thick border, hard
   shadow, no fluff. */
.fs-gf-bd{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-gf-bd-grid{
  max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:repeat(4, minmax(0,1fr));
  gap:clamp(.9rem,2vw,1.4rem);
}
@media (max-width:980px){.fs-gf-bd-grid{grid-template-columns:repeat(2, minmax(0,1fr));}}
@media (max-width:520px){.fs-gf-bd-grid{grid-template-columns:1fr;}}
.fs-gf-bd-card{
  padding:1.4rem 1.3rem;
  background:rgb(var(--c-paper-soft));
  border:2.5px solid rgb(var(--c-ink-950));
  box-shadow:4px 4px 0 rgb(var(--c-ink-950) / .85);
  transition:transform .2s ease, box-shadow .2s ease;
}
.fs-gf-bd-card:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 rgb(var(--c-ink-950) / .85);}
.fs-gf-bd-t{
  font-family:var(--font-display, 'Arial Narrow', Arial, sans-serif);
  font-size:1.15rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;
  color:rgb(var(--c-brand-600));
}
.fs-gf-bd-b{margin-top:.45rem;font-size:.86rem;line-height:1.55;color:rgb(var(--c-ink-700));}
.fs-gf-wire .fs-gf-bd-card{box-shadow:none;}

/* ═════════ STEPS (favGraftSteps) ═════════
   How a job runs: four numbered stages with slab numerals. */
.fs-gf-st{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-gf-st-head{max-width:var(--fs-layout-max,72rem);margin:0 auto 2.2rem;}
.fs-gf-st-grid{
  max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:repeat(4, minmax(0,1fr));
  gap:clamp(1rem,2.5vw,1.8rem);
}
@media (max-width:980px){.fs-gf-st-grid{grid-template-columns:repeat(2, minmax(0,1fr));}}
@media (max-width:520px){.fs-gf-st-grid{grid-template-columns:1fr;}}
.fs-gf-st-num{
  font-family:var(--font-display, 'Arial Narrow', Arial, sans-serif);
  font-size:clamp(2.6rem,5vw,3.6rem);line-height:1;font-weight:700;
  color:rgb(var(--c-brand-600) / .35);
}
.fs-gf-st-t{
  margin-top:.5rem;
  font-family:var(--font-display, 'Arial Narrow', Arial, sans-serif);
  font-size:1.2rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;
  color:rgb(var(--c-ink-950));
  border-top:2.5px solid rgb(var(--c-ink-950));
  padding-top:.7rem;
}
.fs-gf-st-b{margin-top:.5rem;font-size:.9rem;line-height:1.6;color:rgb(var(--c-ink-700));}

/* ═════════ CALLOUT (favGraftCallout) ═════════
   The phone-first band: striped top edge, clipped corner, number set
   huge. For "storm damage, ring now" and "free quotes" alike. */
.fs-gf-co{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-gf-co-band{
  position:relative;max-width:var(--fs-layout-max,64rem);margin:0 auto;
  background:rgb(var(--c-ink-950));
  color:rgb(var(--c-paper));
  clip-path:polygon(0 0, 100% 0, 100% calc(100% - 2.6rem), calc(100% - 2.6rem) 100%, 0 100%);
}
.fs-gf-co-inner{
  padding:clamp(2rem,5vw,3.2rem) clamp(1.4rem,4vw,3rem) clamp(2.6rem,6vw,3.8rem);
  display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;
}
.fs-gf-co-title{
  margin:.9rem 0 0;
  font-family:var(--font-display, 'Arial Narrow', Arial, sans-serif);
  font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.08;font-weight:700;text-transform:uppercase;
  color:rgb(var(--c-paper));
}
.fs-gf-co-body{margin-top:.8rem;max-width:52ch;font-size:1rem;line-height:1.65;color:rgb(var(--c-paper) / .8);}
.fs-gf-co-phone{
  margin-top:1.2rem;
  font-family:var(--font-display, 'Arial Narrow', Arial, sans-serif);
  font-size:clamp(2rem,5vw,3.2rem);line-height:1;font-weight:700;letter-spacing:.02em;
  color:rgb(var(--c-brand-600));
}
.fs-gf-co-band .fs-gf-eyebrow{background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));}
.fs-gf-co-band .fs-gf-btn{box-shadow:4px 4px 0 rgb(var(--c-paper) / .35);}
.fs-gf-co-note{margin-top:1.2rem;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--c-paper) / .55);}
.fs-gf-wire .fs-gf-co-band{clip-path:none;}

/* ── favGraftFooter (theme-chrome batch 2, Groundwork) ─────────────
   The root is the full-bleed band (container fs-gf-ft) with the striped
   ground line in its top 9px; three strata run full-bleed past its side
   padding, each with an inner box (container fs-gf-ft-in) at the
   Layout's width. Strata inks: topsoil brand, sub-base brand into ink,
   foundation ink; at night a dark brand tint, the surface, and the page
   pushed toward black (the one colour keyword this file allows). */
.fs-gf-ft{container-type:inline-size;container-name:fs-gf-ft;padding:9px clamp(1rem,4vw,2.5rem) 0;background:var(--gf-ft-stripe) left top/100% 9px no-repeat,rgb(var(--c-paper));--gf-ft-stripe:repeating-linear-gradient(-45deg,rgb(var(--c-accent, var(--c-brand-600))) 0 .6rem,transparent .6rem 1.2rem);--gf-ft-s1:rgb(var(--c-brand-600));--gf-ft-s2:color-mix(in srgb, rgb(var(--c-brand-600)) 37%, rgb(var(--c-ink-950)));--gf-ft-s3:rgb(var(--c-ink-950));--gf-ft-on:rgb(var(--c-paper));--gf-ft-mute:rgb(var(--c-paper) / .86);--gf-ft-hi:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 50%, var(--gf-ft-on))}
.fs-gf-ft:is(.dark *):not(.fs-preview-light *){--gf-ft-s1:color-mix(in srgb, rgb(var(--c-brand-600)) 18%, rgb(var(--c-paper)));--gf-ft-s2:rgb(var(--c-paper-soft));--gf-ft-s3:color-mix(in srgb, rgb(var(--c-paper)) 55%, black);--gf-ft-on:rgb(var(--c-ink-950));--gf-ft-mute:rgb(var(--c-ink-950) / .86)}
.fs-gf-ft-s{margin-inline:calc(-1 * clamp(1rem,4vw,2.5rem));padding-inline:clamp(1rem,4vw,2.5rem);background:var(--gf-ft-sx);color:var(--gf-ft-on)}
.fs-gf-ft-s1{--gf-ft-sx:var(--gf-ft-s1);--gf-ft-on:var(--fs-on-brand, rgb(var(--c-paper)));--gf-ft-mute:color-mix(in srgb, var(--fs-on-brand, rgb(var(--c-paper))) 86%, transparent)}
.fs-gf-ft-s1:is(.dark *):not(.fs-preview-light *){--gf-ft-on:rgb(var(--c-ink-950));--gf-ft-mute:rgb(var(--c-ink-950) / .86)}
.fs-gf-ft-s2{--gf-ft-sx:var(--gf-ft-s2)}
.fs-gf-ft-s3{--gf-ft-sx:var(--gf-ft-s3)}
.fs-gf-ft-in{container-type:inline-size;container-name:fs-gf-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto}
.fs-gf-ft-s1 > .fs-gf-ft-in{padding-block:34px}
.fs-gf-ft-s2 > .fs-gf-ft-in{padding-block:36px 40px}
.fs-gf-ft-s3 > .fs-gf-ft-in{padding-block:16px 18px}
.fs-gf-ft-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px 36px}
.fs-gf-ft-id{display:flex;align-items:center;gap:13px}
.fs-gf-ft-mark{display:grid;gap:4px;flex:none;width:32px}
.fs-gf-ft-bar{display:block;height:7px;background:var(--gf-ft-on)}
.fs-gf-ft-bar:nth-child(2){opacity:.7}
.fs-gf-ft-bar:nth-child(3){opacity:.45}
.fs-gf-ft-name{font:700 30px/1 var(--font-display, 'Arial Narrow', sans-serif);letter-spacing:.07em;text-transform:uppercase}
.fs-gf-ft-state{margin:0;max-width:54ch;font-size:15.5px;line-height:1.5;color:var(--gf-ft-mute)}
.fs-gf-ft-proof{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.fs-gf-ft-chip{padding:6px 10px;border:2px solid color-mix(in srgb, var(--gf-ft-on) 80%, transparent);font-weight:700;font-size:12px;line-height:1.1;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
.fs-gf-ft-cols{display:grid;grid-template-columns:minmax(0,1.25fr) repeat(3,minmax(0,1fr));gap:30px 34px}
.fs-gf-ft-col{min-width:0}
.fs-gf-ft-h{display:inline-flex;margin:0 0 15px;padding:6px 11px 6px 10px;background:var(--gf-ft-on);color:var(--gf-ft-s3);font-weight:800;font-size:11.5px;line-height:1;letter-spacing:.18em;text-transform:uppercase;clip-path:polygon(0 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%)}
.fs-gf-ft-tel{display:block;margin-bottom:10px;font:700 32px/1 var(--font-display, 'Arial Narrow', sans-serif);letter-spacing:.03em;color:var(--gf-ft-hi);white-space:nowrap;text-decoration:none}
.fs-gf-ft-p{margin:0;font-size:14.5px;line-height:1.55;color:var(--gf-ft-mute)}
.fs-gf-ft-p + .fs-gf-ft-p{margin-top:8px}
.fs-gf-ft-mail{color:var(--gf-ft-on);border-bottom:1px solid color-mix(in srgb, var(--gf-ft-on) 45%, transparent);text-decoration:none}
.fs-gf-ft-list{margin:0;padding:0;list-style:none}
.fs-gf-ft-li{padding-block:4px}
.fs-gf-ft-link{font:500 15.5px/1.3 var(--font-display, 'Arial Narrow', sans-serif);letter-spacing:.04em;text-transform:uppercase;color:var(--gf-ft-on);text-decoration:none}
:is(.fs-gf-ft-link,.fs-gf-ft-more):hover{text-decoration:underline;text-decoration-color:var(--gf-ft-hi);text-decoration-thickness:2px;text-underline-offset:4px}
.fs-gf-ft-more{display:inline-block;margin-top:12px;font:600 14px/1.3 var(--font-display, 'Arial Narrow', sans-serif);letter-spacing:.05em;text-transform:uppercase;color:var(--gf-ft-on);border-bottom:2px solid var(--gf-ft-hi);text-decoration:none}
.fs-gf-ft-more::after{content:" →"}
.fs-gf-ft-legal{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0;font-size:13px;color:var(--gf-ft-mute)}
.fs-gf-ft-legal-t{margin-right:auto;color:inherit}
.fs-gf-ft-legal-a{color:inherit;text-decoration:none}
.fs-gf-ft-legal-a:hover{color:var(--gf-ft-on);text-decoration:underline}
@container fs-gf-ft (max-width: 40rem){
  .fs-gf-ft-s1 > .fs-gf-ft-in{padding-block:28px}
  .fs-gf-ft-s2 > .fs-gf-ft-in{padding-block:30px 32px}
}
@container fs-gf-ft-in (max-width: 56rem){
  .fs-gf-ft-top{grid-template-columns:auto minmax(0,1fr)}
  .fs-gf-ft-proof{justify-content:flex-end}
  .fs-gf-ft-state{grid-column:1/-1;grid-row:2}
  .fs-gf-ft-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container fs-gf-ft (max-width: 48rem){
  .fs-gf-ft-top{grid-template-columns:minmax(0,1fr)}
  .fs-gf-ft-proof{justify-content:flex-start}
  .fs-gf-ft-state{grid-row:auto}
  .fs-gf-ft-cols{grid-template-columns:minmax(0,1fr);gap:28px}
}


.fs-cs{
  position:relative;overflow:hidden;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
  font-variant-numeric:oldstyle-nums;
}
.fs-cs *{box-sizing:border-box;}

/* ── Motifs ─────────────────────────────────────────────────────
   The hairline — one true rule, used everywhere. */
.fs-cs-rule{border:none;height:0;border-top:1px solid rgb(var(--c-ink-950) / .25);margin:0;}

/* ── Type ─────────────────────────────────────────────────────────
   The eyebrow: wide-tracked small caps between two long en-rules —
   letterhead, not label. */
.fs-cs-eyebrow{
  display:inline-flex;align-items:center;gap:.9rem;
  color:rgb(var(--c-brand-600));
  font-size:.72rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;
}
.fs-cs-eyebrow::before,.fs-cs-eyebrow::after{
  content:'';width:2.4rem;height:1px;
  background:rgb(var(--c-ink-950) / .3);
}
.fs-cs-title{
  margin:1.2rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(2.3rem,5vw,3.8rem);
  line-height:1.14;font-weight:500;letter-spacing:.002em;
  color:rgb(var(--c-ink-950));
}
.fs-cs-accent{color:rgb(var(--c-brand-600));}
.fs-cs-sub{
  margin:1.4rem 0 0;max-width:52ch;
  font-size:clamp(1rem,1.5vw,1.1rem);line-height:1.75;
  color:rgb(var(--c-ink-700));
}
.fs-cs-center{text-align:center;margin-left:auto;margin-right:auto;}
.fs-cs-h{
  margin:0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(1.8rem,3.4vw,2.5rem);
  line-height:1.2;font-weight:500;color:rgb(var(--c-ink-950));
}

/* ── Buttons — quiet: one filled rectangle, one plain-text link ── */
.fs-cs-ctas{display:flex;flex-wrap:wrap;gap:1.3rem;margin-top:2.1rem;align-items:center;}
.fs-cs-ctas-center{justify-content:center;}
.fs-cs-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.9rem 2rem;
  font-size:.88rem;font-weight:600;line-height:1;white-space:nowrap;letter-spacing:.1em;
  text-transform:uppercase;
  color:rgb(var(--c-paper));
  background:rgb(var(--c-brand-600));
  transition:background .3s ease;
}
.fs-cs-btn:hover{background:rgb(var(--c-brand-700, var(--c-brand-600)));}
.fs-cs-link{
  display:inline-flex;align-items:center;gap:.45rem;
  font-size:.88rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:rgb(var(--c-ink-950));
  transition:color .3s ease;
}
.fs-cs-link::after{content:'—';color:rgb(var(--c-brand-600));}
.fs-cs-link:hover{color:rgb(var(--c-brand-600));}

/* ═════════ HERO (favCounselHero) ═════════
   Type on the left, the fact sheet on the right — the only hero in
   the library with no image stage, on principle. */
.fs-cs-hero{padding:var(--fs-space-section, clamp(3.5rem,8vw,6rem)) clamp(1rem,4vw,2.5rem);}
.fs-cs-hero-inner{
  position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:1.15fr .85fr;
  gap:clamp(2.5rem,6vw,5rem);align-items:start;
}
@media (max-width:920px){.fs-cs-hero-inner{grid-template-columns:1fr;gap:3rem;}}
/* The fact sheet: a keyline box of ledger rows. */
.fs-cs-facts{
  border:1px solid rgb(var(--c-ink-950) / .3);
  padding:clamp(1.4rem,3vw,2.2rem);
  background:rgb(var(--c-paper-soft) / .5);
}
.fs-cs-facts-title{
  font-size:.72rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-cs-fact{
  display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  padding:.95rem 0;
}
.fs-cs-fact + .fs-cs-fact{border-top:1px solid rgb(var(--c-ink-950) / .12);}
.fs-cs-facts-title + .fs-cs-fact{margin-top:.6rem;border-top:1px solid rgb(var(--c-ink-950) / .25);}
.fs-cs-fact-l{font-size:.86rem;color:rgb(var(--c-ink-700));}
.fs-cs-fact-v{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.25rem;color:rgb(var(--c-brand-600));white-space:nowrap;
}

/* ═════════ PAGE HEADER (favCounselHeader) ═════════ */
.fs-cs-hd{padding:var(--fs-space-section, clamp(3rem,7vw,4.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-cs-hd-inner{
  position:relative;max-width:min(52rem, var(--fs-layout-clamp, 52rem));margin:0 auto;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.fs-cs-hd .fs-cs-title{font-size:clamp(2.1rem,4.4vw,3.2rem);}
.fs-cs-hd-rule{width:100%;max-width:min(52rem, var(--fs-layout-clamp, 52rem));margin:2.2rem auto 0;}

/* ═════════ CREDENTIALS (favCounselCreds) ═════════
   Qualifications and memberships as ruled text columns — no badges,
   no borders per item: the restraint is the credibility. */
.fs-cs-cr{padding:var(--fs-space-section, clamp(2.6rem,6vw,4.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-cs-cr-inner{max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-cs-cr-grid{
  display:grid;grid-template-columns:repeat(4, minmax(0,1fr));
  border-top:1px solid rgb(var(--c-ink-950) / .3);
  border-bottom:1px solid rgb(var(--c-ink-950) / .3);
}
@media (max-width:920px){.fs-cs-cr-grid{grid-template-columns:repeat(2, minmax(0,1fr));}}
@media (max-width:520px){.fs-cs-cr-grid{grid-template-columns:1fr;}}
.fs-cs-cr-item{padding:1.6rem 1.4rem;}
.fs-cs-cr-item + .fs-cs-cr-item{border-left:1px solid rgb(var(--c-ink-950) / .12);}
@media (max-width:920px){.fs-cs-cr-item:nth-child(3){border-left:none;}}
@media (max-width:520px){.fs-cs-cr-item + .fs-cs-cr-item{border-left:none;border-top:1px solid rgb(var(--c-ink-950) / .12);}}
.fs-cs-cr-t{
  font-size:.74rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:rgb(var(--c-brand-600));
}
.fs-cs-cr-b{margin-top:.55rem;font-size:.88rem;line-height:1.6;color:rgb(var(--c-ink-700));}

/* ═════════ FEE GUIDANCE (favCounselFees) ═════════
   A ledger, not a pricing table: service, basis, figure — ruled rows,
   old-style numerals, and the promise in writing underneath. */
.fs-cs-fe{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-cs-fe-head{max-width:min(52rem, var(--fs-layout-clamp, 52rem));margin:0 auto 2.4rem;text-align:center;}
.fs-cs-fe-ledger{
  max-width:min(52rem, var(--fs-layout-clamp, 52rem));margin:0 auto;
  border:1px solid rgb(var(--c-ink-950) / .3);
  padding:clamp(1.4rem,3.5vw,2.6rem);
  background:rgb(var(--c-paper-soft) / .5);
}
.fs-cs-fe-row{padding:1.05rem 0;}
.fs-cs-fe-row + .fs-cs-fe-row{border-top:1px solid rgb(var(--c-ink-950) / .12);}
.fs-cs-fe-top{display:flex;align-items:baseline;justify-content:space-between;gap:1.2rem;}
.fs-cs-fe-s{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.12rem;color:rgb(var(--c-ink-950));
}
.fs-cs-fe-p{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.12rem;color:rgb(var(--c-brand-600));white-space:nowrap;
}
.fs-cs-fe-d{margin-top:.3rem;font-size:.85rem;line-height:1.6;color:rgb(var(--c-ink-400));max-width:56ch;}
.fs-cs-fe-note{
  max-width:min(52rem, var(--fs-layout-clamp, 52rem));margin:1.2rem auto 0;
  font-size:.82rem;line-height:1.6;letter-spacing:.02em;text-align:center;
  color:rgb(var(--c-ink-400));
}

/* ═════════ PROCESS (favCounselProcess) ═════════
   How an engagement runs: a ruled spine with roman numerals in the
   margin — counsel's answer to Graft's stamped 01–04. */
.fs-cs-pr{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-cs-pr-head{max-width:min(52rem, var(--fs-layout-clamp, 52rem));margin:0 auto 2.4rem;text-align:center;}
.fs-cs-pr-list{max-width:min(44rem, var(--fs-layout-clamp, 44rem));margin:0 auto;border-left:1px solid rgb(var(--c-ink-950) / .3);}
.fs-cs-pr-step{position:relative;padding:0 0 2rem 2.6rem;}
.fs-cs-pr-step:last-child{padding-bottom:0;}
.fs-cs-pr-num{
  position:absolute;left:-1px;top:.15rem;transform:translateX(-100%);
  padding-right:1rem;
  font-family:var(--font-display, Georgia, serif);
  font-style:italic;font-size:1.1rem;color:rgb(var(--c-brand-600));
}
.fs-cs-pr-step::before{
  content:'';position:absolute;left:-4px;top:.5rem;
  width:7px;height:7px;border-radius:50%;
  background:rgb(var(--c-brand-600));
}
.fs-cs-pr-t{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.25rem;color:rgb(var(--c-ink-950));
}
.fs-cs-pr-b{margin-top:.45rem;font-size:.92rem;line-height:1.7;color:rgb(var(--c-ink-700));max-width:52ch;}

/* ═════════ CTA (favCounselCta) ═════════ */
.fs-cs-cta{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-cs-cta-box{
  position:relative;max-width:min(46rem, var(--fs-layout-clamp, 46rem));margin:0 auto;
  padding:clamp(2.2rem,5vw,3.4rem) clamp(1.4rem,4vw,3rem);
  display:flex;flex-direction:column;align-items:center;text-align:center;
  border:1px solid rgb(var(--c-ink-950) / .3);
  background:rgb(var(--c-paper-soft) / .5);
}
/* The double-keyline inset — engraved stationery's one flourish. */
.fs-cs-cta-box::after{
  content:'';position:absolute;inset:.45rem;pointer-events:none;
  border:1px solid rgb(var(--c-ink-950) / .12);
}
.fs-cs-cta-box .fs-cs-title{font-size:clamp(1.8rem,3.8vw,2.7rem);}
.fs-cs-note{margin-top:1.6rem;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:rgb(var(--c-ink-400));}
.fs-cs-wire .fs-cs-cta-box::after{display:none;}

/* ═════════ FOOTER (favCounselFooter) — the with-compliments slip ═════════ */
.fs-cs-ft{container-type:inline-size;padding:56px clamp(1rem,4vw,2.5rem) 40px}
.fs-cs-ft-in{max-width:var(--fs-layout-max,72rem);margin-inline:auto}
.fs-cs-ft-slip{
  position:relative;padding:44px 40px 24px;
  border:1px solid rgb(var(--c-ink-950) / .3);
  background:color-mix(in srgb, rgb(var(--c-paper-soft)) 55%, rgb(var(--c-paper)));
}
.fs-cs-ft-slip::after{content:'';position:absolute;inset:8px;border:1px solid rgb(var(--c-ink-950) / .12);pointer-events:none;}
.fs-cs-ft-top{display:grid;justify-items:center;gap:10px;text-align:center;}
.fs-cs-ft-seal{
  display:grid;place-items:center;width:40px;height:40px;border-radius:50%;
  border:1.2px solid rgb(var(--c-brand-600));
  box-shadow:inset 0 0 0 3.5px rgb(var(--c-paper)), inset 0 0 0 4.3px rgb(var(--c-accent, var(--c-brand-600)));
  font-family:var(--font-display, Georgia, serif);font-weight:600;font-size:17px;color:rgb(var(--c-brand-600));
}
.fs-cs-ft-with{font:italic 400 18px/1 var(--font-display, Georgia, serif);color:rgb(var(--c-ink-700));}
.fs-cs-ft-name{font:500 48px/1 var(--font-display, Georgia, serif);letter-spacing:.02em;color:rgb(var(--c-ink-950));}
.fs-cs-ft-tagline{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:rgb(var(--c-ink-400));}
.fs-cs-ft-statement{max-width:46ch;font:italic 400 19px/1.45 var(--font-display, Georgia, serif);color:rgb(var(--c-ink-700));}
.fs-cs-ft-cols{
  display:grid;grid-template-columns:repeat(4,1fr);margin-top:30px;
  border-top:1px solid rgb(var(--c-ink-950) / .3);border-bottom:1px solid rgb(var(--c-ink-950) / .3);
}
.fs-cs-ft-col{padding:20px 20px 22px;}
.fs-cs-ft-col+.fs-cs-ft-col{border-left:1px solid rgb(var(--c-ink-950) / .12);}
.fs-cs-ft-h{margin:0 0 12px;font:600 10.5px/1.3 var(--font-body, inherit);letter-spacing:.22em;text-transform:uppercase;color:rgb(var(--c-ink-950));}
.fs-cs-ft-p{margin:0;font-size:14px;line-height:1.6;color:rgb(var(--c-ink-700));}
.fs-cs-ft-p+.fs-cs-ft-p{margin-top:8px;}
.fs-cs-ft-list{list-style:none;margin:0;padding:0;}
.fs-cs-ft-li{padding-block:3px;font-size:14px;line-height:1.6;color:rgb(var(--c-ink-700));}
.fs-cs-ft-link{color:rgb(var(--c-ink-950));text-decoration:none;}
.fs-cs-ft-link:hover{color:rgb(var(--c-ink-950));text-decoration:underline;}
.fs-cs-ft-note{margin-top:18px;text-align:center;font:600 10.5px/1.6 var(--font-body, inherit);letter-spacing:.2em;text-transform:uppercase;color:rgb(var(--c-ink-400));}
.fs-cs-ft-legal{
  display:flex;justify-content:center;flex-wrap:wrap;gap:6px 16px;margin-top:18px;
  font-size:12.5px;color:rgb(var(--c-ink-700));font-variant-numeric:oldstyle-nums;
}
.fs-cs-ft-legal-t{color:inherit;}
.fs-cs-ft-legal-a{color:inherit;text-decoration:none;}
.fs-cs-ft-legal-a:hover{color:rgb(var(--c-ink-950));}

/* 64rem → two columns, 48rem → one, both against this band's own box
   (measured editor-tablet content box: 686px). */
@container (max-width: 64rem){
  .fs-cs-ft-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-cs-ft-col:nth-child(3){border-left:0}
}
@container (max-width: 48rem){
  .fs-cs-ft-cols{grid-template-columns:1fr}
  .fs-cs-ft-col+.fs-cs-ft-col{border-left:0;border-top:1px solid rgb(var(--c-ink-950) / .12)}
}


.fs-bs{
  position:relative;overflow:hidden;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-bs *{box-sizing:border-box;}

/* ── Shared decor: confetti dots ────────────────────────────────
   A sparse scatter of soft dots — hand-placed, never a grid. */
.fs-bs-dot{
  position:absolute;border-radius:50%;pointer-events:none;
}
.fs-bs-dot-a{width:.9rem;height:.9rem;top:14%;right:8%;background:rgb(var(--c-accent, var(--c-brand-600)) / .5);}
.fs-bs-dot-b{width:.6rem;height:.6rem;top:26%;right:16%;background:rgb(var(--c-brand-600) / .35);}
.fs-bs-dot-c{width:.7rem;height:.7rem;bottom:18%;left:6%;background:rgb(var(--c-accent, var(--c-brand-600)) / .4);}
.fs-bs-anim .fs-bs-dot{animation:fs-bs-drift 9s ease-in-out infinite alternate;}
.fs-bs-anim .fs-bs-dot-b{animation-duration:12s;}
.fs-bs-anim .fs-bs-dot-c{animation-duration:10s;animation-direction:alternate-reverse;}
@keyframes fs-bs-drift{from{transform:translateY(0);}to{transform:translateY(-.6rem);}}
.fs-bs-wire .fs-bs-dot{display:none;}

/* ── Type ─────────────────────────────────────────────────────────
   The eyebrow is a soft rounded chip — a name-tag, not a stamp. */
.fs-bs-eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.45rem 1rem;border-radius:var(--fs-radius-pill, 999px);
  background:rgb(var(--c-accent, var(--c-brand-600)) / .18);
  color:rgb(var(--c-ink-950));
  font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
}
.fs-bs-eyebrow::before{
  content:'';width:.5rem;height:.5rem;border-radius:50%;
  background:rgb(var(--c-brand-600));
}
.fs-bs-title{
  margin:1.1rem 0 0;
  font-family:var(--font-display, 'Trebuchet MS', Verdana, sans-serif);
  font-size:clamp(2.3rem,5.4vw,3.9rem);
  line-height:1.1;font-weight:700;letter-spacing:-.01em;
  color:rgb(var(--c-ink-950));
}
/* The crayon underline — a thick wavy stroke in the accent colour. */
.fs-bs-accent{
  color:rgb(var(--c-brand-600));
  text-decoration:underline wavy rgb(var(--c-accent, var(--c-brand-600)));
  text-decoration-thickness:3px;
  text-underline-offset:.18em;
}
.fs-bs-sub{
  margin:1.3rem 0 0;max-width:46ch;
  font-size:clamp(1rem,1.6vw,1.12rem);line-height:1.7;
  color:rgb(var(--c-ink-700));
}
.fs-bs-center{text-align:center;margin-left:auto;margin-right:auto;}
.fs-bs-h{
  margin:0;
  font-family:var(--font-display, 'Trebuchet MS', Verdana, sans-serif);
  font-size:clamp(1.8rem,3.5vw,2.6rem);
  line-height:1.15;font-weight:700;color:rgb(var(--c-ink-950));
}

/* ── Buttons — big, round, unmissable ───────────────────────────── */
.fs-bs-ctas{display:flex;flex-wrap:wrap;gap:1.1rem;margin-top:2rem;align-items:center;}
.fs-bs-ctas-center{justify-content:center;}
.fs-bs-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.95rem 2rem;border-radius:var(--fs-radius-pill, 999px);
  font-size:.98rem;font-weight:800;line-height:1;white-space:nowrap;
  color:rgb(var(--c-paper));
  background:rgb(var(--c-brand-600));
  box-shadow:var(--fs-shadow-card, 0 12px 28px rgb(var(--c-brand-600) / .35));
  transition:transform .25s ease, box-shadow .25s ease;
}
.fs-bs-btn:hover{transform:translateY(-2px) rotate(-.5deg);box-shadow:0 16px 34px rgb(var(--c-brand-600) / .4);}
.fs-bs-btn2{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.95rem 2rem;border-radius:var(--fs-radius-pill, 999px);
  font-size:.98rem;font-weight:700;line-height:1;white-space:nowrap;
  color:rgb(var(--c-brand-600));
  border:2.5px dashed rgb(var(--c-brand-600) / .55);
  background:transparent;
  transition:border-color .25s ease, transform .25s ease;
}
.fs-bs-btn2:hover{transform:translateY(-2px);border-color:rgb(var(--c-brand-600));}
.fs-bs-wire .fs-bs-btn{background:rgb(var(--c-ink-950));box-shadow:none;}

/* The sticker: a rounded chip at a slight tilt. Tilts vary by
   position so a row reads as hand-placed. */
.fs-bs-sticker{
  display:inline-flex;align-items:center;
  padding:.5rem 1rem;border-radius:var(--fs-radius-pill, 999px);
  background:rgb(var(--c-paper-soft));
  border:2px solid rgb(var(--c-brand-600) / .35);
  font-size:.82rem;font-weight:700;color:rgb(var(--c-ink-950));
  transform:rotate(-1.5deg);
}
.fs-bs-sticker:nth-child(2n){transform:rotate(1.2deg);border-color:rgb(var(--c-accent, var(--c-brand-600)) / .5);}
.fs-bs-sticker:nth-child(3n){transform:rotate(-.8deg);}
.fs-bs-wire .fs-bs-sticker{transform:none;}

/* ═════════ HERO (favBrightHero) ═════════ */
.fs-bs-hero{padding:var(--fs-space-section, clamp(3.5rem,8vw,6rem)) clamp(1rem,4vw,2.5rem);}
.fs-bs-hero-inner{
  position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(2rem,5vw,4.5rem);align-items:center;
}
@media (max-width:920px){.fs-bs-hero-inner{grid-template-columns:1fr;gap:3.5rem;}}
.fs-bs-stickers{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2rem;}
/* The blob: an organic asymmetric frame — the set's signature. */
.fs-bs-hero-stage{position:relative;display:flex;justify-content:center;}
.fs-bs-blob{
  position:relative;z-index:1;
  width:min(23rem, 86%);aspect-ratio:1 / 1;
  border-radius:62% 38% 55% 45% / 54% 49% 51% 46%;
  overflow:hidden;
  background:rgb(var(--c-paper-soft));
  box-shadow:var(--fs-shadow-card, 0 18px 44px rgb(var(--c-ink-950) / .14));
}
.fs-bs-blob img{width:100%;height:100%;object-fit:cover;}
.fs-bs-blob > *{width:100%;height:100%;}
.fs-bs-blob-ghost{
  position:absolute;z-index:0;pointer-events:none;
  width:min(23rem, 86%);aspect-ratio:1 / 1;
  border-radius:45% 55% 40% 60% / 48% 44% 56% 52%;
  background:rgb(var(--c-accent, var(--c-brand-600)) / .25);
  transform:translate(1.3rem, 1.1rem) rotate(4deg);
}
.fs-bs-anim .fs-bs-blob-ghost{animation:fs-bs-squish 11s ease-in-out infinite alternate;}
@keyframes fs-bs-squish{
  from{border-radius:45% 55% 40% 60% / 48% 44% 56% 52%;}
  to{border-radius:55% 45% 52% 48% / 42% 54% 46% 58%;}
}
/* No photo set: a drawn sun over hills, so the blob never sits empty. */
.fs-bs-blob-fallback{
  display:block;position:relative;width:100%;height:100%;
  background:linear-gradient(180deg, rgb(var(--c-accent, var(--c-brand-600)) / .3) 0 62%, rgb(var(--c-brand-600) / .5) 62% 100%);
}
.fs-bs-blob-sun{
  position:absolute;left:50%;top:38%;
  width:36%;aspect-ratio:1 / 1;border-radius:50%;
  transform:translate(-50%,-50%);
  background:rgb(var(--c-brand-600) / .85);
}
.fs-bs-float{
  position:absolute;z-index:2;left:clamp(-.5rem,1vw,.5rem);bottom:-.9rem;
  padding:.9rem 1.2rem;border-radius:var(--fs-radius-card, 18px);
  background:rgb(var(--c-paper));
  border:2px solid rgb(var(--c-accent, var(--c-brand-600)) / .5);
  box-shadow:var(--fs-shadow-card, 0 14px 34px rgb(var(--c-ink-950) / .14));
  transform:rotate(-1.5deg);
  max-width:15rem;
}
.fs-bs-anim .fs-bs-float{animation:fs-bs-drift 8s ease-in-out infinite alternate;}
.fs-bs-float-t{
  font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:rgb(var(--c-brand-600));
}
.fs-bs-float-b{margin-top:.3rem;font-size:.95rem;font-weight:600;line-height:1.45;color:rgb(var(--c-ink-950));}
.fs-bs-wire .fs-bs-blob-ghost,.fs-bs-wire .fs-bs-blob-fallback,.fs-bs-wire .fs-bs-float{display:none;}
.fs-bs-wire .fs-bs-blob{border-radius:0;}

/* ═════════ PAGE HEADER (favBrightHeader) ═════════ */
.fs-bs-hd{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-bs-hd-inner{
  position:relative;max-width:min(46rem, var(--fs-layout-clamp, 46rem));margin:0 auto;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.fs-bs-hd .fs-bs-title{font-size:clamp(2.1rem,4.4vw,3.2rem);}

/* ═════════ QUALIFICATIONS STRIP (favBrightQuals) ═════════
   The reassurance row: DBS, first aid, insurance — as stickers,
   worn like the lanyard badges they are. */
.fs-bs-ql{padding:var(--fs-space-section, clamp(2.4rem,6vw,4rem)) clamp(1rem,4vw,2.5rem);}
.fs-bs-ql-inner{max-width:var(--fs-layout-max,64rem);margin:0 auto;text-align:center;}
.fs-bs-ql-title{
  font-size:.76rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-bs-ql-row{
  display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem;
  margin-top:1.2rem;
}
.fs-bs-ql .fs-bs-sticker{font-size:.9rem;padding:.65rem 1.25rem;}

/* ═════════ PRICE CARDS (favBrightPrices) ═════════ */
.fs-bs-pc{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-bs-pc-head{max-width:min(46rem, var(--fs-layout-clamp, 46rem));margin:0 auto 2.4rem;text-align:center;}
.fs-bs-pc-grid{
  max-width:var(--fs-layout-max,64rem);margin:0 auto;
  display:grid;grid-template-columns:repeat(3, minmax(0,1fr));
  gap:clamp(1rem,2.5vw,1.6rem);align-items:start;
}
@media (max-width:860px){.fs-bs-pc-grid{grid-template-columns:1fr;}}
.fs-bs-pc-card{
  position:relative;
  padding:1.8rem 1.6rem;
  background:rgb(var(--c-paper-soft));
  border:2px solid rgb(var(--c-line));
  border-radius:var(--fs-radius-card, 24px);
  transition:transform .3s ease, border-color .3s ease;
}
.fs-bs-pc-card:hover{transform:translateY(-4px) rotate(-.4deg);border-color:rgb(var(--c-brand-600) / .5);}
.fs-bs-pc-card-star{border-color:rgb(var(--c-brand-600));box-shadow:var(--fs-shadow-card, 0 16px 38px rgb(var(--c-brand-600) / .18));}
.fs-bs-pc-badge{
  position:absolute;top:-1rem;right:1.2rem;
  padding:.4rem .9rem;border-radius:var(--fs-radius-pill, 999px);
  background:rgb(var(--c-accent, var(--c-brand-600)));
  color:rgb(var(--c-ink-950));
  font-size:.74rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  transform:rotate(2deg);
}
.fs-bs-pc-name{
  font-family:var(--font-display, 'Trebuchet MS', Verdana, sans-serif);
  font-size:1.25rem;font-weight:700;color:rgb(var(--c-ink-950));
}
.fs-bs-pc-price{
  margin-top:.9rem;
  font-family:var(--font-display, 'Trebuchet MS', Verdana, sans-serif);
  font-size:2.1rem;font-weight:700;line-height:1;color:rgb(var(--c-brand-600));
}
.fs-bs-pc-per{margin-left:.35rem;font-size:.85rem;font-weight:600;color:rgb(var(--c-ink-400));}
.fs-bs-pc-lines{margin-top:1.2rem;display:flex;flex-direction:column;gap:.55rem;}
.fs-bs-pc-line{
  display:flex;align-items:baseline;gap:.55rem;
  font-size:.9rem;line-height:1.55;color:rgb(var(--c-ink-700));
}
.fs-bs-pc-line::before{
  content:'';flex:none;width:.5rem;height:.5rem;border-radius:50%;
  background:rgb(var(--c-accent, var(--c-brand-600)) / .7);
  transform:translateY(-.05rem);
}
.fs-bs-pc-note{
  max-width:min(46rem, var(--fs-layout-clamp, 46rem));margin:1.6rem auto 0;text-align:center;
  font-size:.84rem;line-height:1.6;color:rgb(var(--c-ink-400));
}

/* ═════════ NOTES WALL (favBrightNotes) ═════════
   What the parents say, pinned to the hallway board. */
.fs-bs-nt{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-bs-nt-head{max-width:min(46rem, var(--fs-layout-clamp, 46rem));margin:0 auto 2.6rem;text-align:center;}
.fs-bs-nt-grid{
  max-width:var(--fs-layout-max,64rem);margin:0 auto;
  display:grid;grid-template-columns:repeat(3, minmax(0,1fr));
  gap:clamp(1.2rem,3vw,2rem);align-items:start;
}
@media (max-width:860px){.fs-bs-nt-grid{grid-template-columns:1fr;}}
.fs-bs-note{
  position:relative;
  padding:1.7rem 1.5rem 1.5rem;
  background:rgb(var(--c-paper-soft));
  border-radius:var(--fs-radius-card, 6px) var(--fs-radius-card, 6px) var(--fs-radius-card, 22px) var(--fs-radius-card, 6px);
  box-shadow:var(--fs-shadow-card, 0 12px 30px rgb(var(--c-ink-950) / .12));
  transform:rotate(-1.6deg);
}
.fs-bs-note:nth-child(2){transform:rotate(1.2deg);}
.fs-bs-note:nth-child(3){transform:rotate(-.6deg);}
/* The pin. */
.fs-bs-note::before{
  content:'';position:absolute;top:-.55rem;left:50%;
  width:1.1rem;height:1.1rem;border-radius:50%;
  transform:translateX(-50%);
  background:rgb(var(--c-brand-600));
  box-shadow:0 2px 4px rgb(var(--c-ink-950) / .3);
}
.fs-bs-note-q{font-size:.98rem;line-height:1.7;color:rgb(var(--c-ink-950));}
.fs-bs-note-a{
  margin-top:1rem;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:rgb(var(--c-brand-600));
}
.fs-bs-wire .fs-bs-note{transform:none;box-shadow:none;border:1px solid rgb(var(--c-line));}
.fs-bs-wire .fs-bs-note::before{display:none;}

/* ═════════ CTA (favBrightCta) ═════════
   The come-and-visit band with a scalloped top edge — the page's
   paper cut into bunting. */
.fs-bs-cta{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem) 0;}
.fs-bs-cta-band{
  position:relative;
  margin:0 calc(-1 * clamp(1rem,4vw,2.5rem));
  padding:clamp(3rem,7vw,4.5rem) clamp(1.4rem,4vw,3rem) clamp(3.2rem,7vw,4.8rem);
  display:flex;flex-direction:column;align-items:center;text-align:center;
  background:rgb(var(--c-brand-600) / .1);
}
.fs-bs-cta-band::before{
  content:'';position:absolute;top:0;left:0;right:0;height:.8rem;
  background:radial-gradient(.8rem .8rem at .8rem 0, rgb(var(--c-paper)) 97%, transparent 100%);
  background-size:1.6rem .8rem;background-repeat:repeat-x;
}
.fs-bs-cta-band .fs-bs-title{font-size:clamp(1.9rem,4vw,2.9rem);}
.fs-bs-note-line{margin-top:1.6rem;font-size:.82rem;font-weight:600;letter-spacing:.04em;color:rgb(var(--c-ink-400));}
.fs-bs-wire .fs-bs-cta-band::before{display:none;}

/* Never-ending drift with no way out. WCAG 2.2.2 asks that motion which
   runs for more than five seconds can be stopped, and these loop for
   ever; a visitor who has asked their OS for less motion was getting it
   anyway. It also made the theme unshootable — the preview caught the
   loop at a different phase every run, so no two captures ever agreed. */
@media (prefers-reduced-motion: reduce) {
  .fs-bs-anim .fs-bs-dot,
  .fs-bs-anim .fs-bs-blob-ghost,
  .fs-bs-anim .fs-bs-float { animation: none !important; }
}

/* ── favBrightFooter (theme-chrome batch 2, Bright Start) ───────────
   The root is the full-bleed band (container fs-bs-ft): it rises on
   scallops of its own colour, painted in its first 14px, with two
   confetti dots; the content box is fs-bs-ft-in (narrows with the Layout).
   RECIPE FIX (final batch2 fix pass, 2026-09-30): this footer was built
   after the header's own --bs-band contrast fix (bright-start-chrome-
   styles.ts, "RECIPE FIX" above) but still shipped with the mockup's
   original 11% brand-into-paper mix for --bs-ft-band — .fs-bs-ft-more
   (14.5px/800, counts as normal-size text, needs 4.5:1) measured 4.45:1
   against it on Tangerine & Teal light, a real AA failure the header's
   fix never reached. --bs-ft-band now walks down to 9%, the exact same
   recipe as --bs-band, so both bands share one contrast story instead of
   two. Verified: Tangerine & Teal light now measures ~4.56:1; no other
   palette regresses (see check:theme-chrome and check:contrast). */
.fs-bs-ft{container-type:inline-size;container-name:fs-bs-ft;padding:0 clamp(1rem,4vw,2.5rem);--bs-ft-band:color-mix(in srgb, rgb(var(--c-brand-600)) 9%, rgb(var(--c-paper)));--bs-ft-dot:rgb(var(--c-accent, var(--c-brand-600)) / .75);--bs-ft-ink-hi:color-mix(in srgb, rgb(var(--c-brand-600)) 78%, rgb(var(--c-ink-950)));--bs-ft-ink2:color-mix(in srgb, rgb(var(--c-ink-950)) 78%, rgb(var(--c-paper)));--bs-ft-rule:rgb(var(--c-ink-950) / .15);--bs-ft-chip:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 24%, rgb(var(--c-paper)));--bs-ft-rim:rgb(var(--c-brand-600) / .35);--bs-ft-rim2:rgb(var(--c-accent, var(--c-brand-600)) / .55);--bs-ft-lift:0 14px 30px -14px rgb(var(--c-ink-950) / .38);background:radial-gradient(circle,var(--bs-ft-dot) 6px,transparent 6.5px) left 5% top 36px/14px 14px no-repeat,radial-gradient(circle,rgb(var(--c-brand-600) / .38) 4px,transparent 4.5px) right 8% top 30px/10px 10px no-repeat,radial-gradient(circle at 12px 14px,var(--bs-ft-band) 11.5px,transparent 12px) 0 0/24px 14px repeat-x,linear-gradient(var(--bs-ft-band),var(--bs-ft-band)) 0 14px/100% calc(100% - 14px) no-repeat}
.fs-bs-ft:is(.dark *):not(.fs-preview-light *){--bs-ft-ink2:color-mix(in srgb, rgb(var(--c-ink-950)) 74%, rgb(var(--c-paper)));--bs-ft-rule:rgb(var(--c-ink-950) / .16);--bs-ft-chip:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 16%, rgb(var(--c-paper)));--bs-ft-rim:rgb(var(--c-brand-600) / .4);--bs-ft-lift:0 16px 34px -14px rgb(0 0 0 / .6)}
.fs-bs-ft-in{container-type:inline-size;container-name:fs-bs-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:70px 30px}
.fs-bs-ft-logo{display:inline-flex;align-items:center;gap:4px;color:rgb(var(--c-ink-950));text-decoration:none}
.fs-bs-ft-mark{flex:none;width:34px;height:34px}
.fs-bs-ft-sun-a{stop-color:rgb(var(--c-brand-600))}
.fs-bs-ft-sun-b{stop-color:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-bs-ft-name{font-family:var(--font-display, 'Trebuchet MS', sans-serif);font-weight:700;font-size:20.7px;line-height:1}
.fs-bs-ft-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,.95fr) minmax(0,1.25fr);gap:36px 40px;align-items:start}
.fs-bs-ft-card{position:relative;border-radius:8px 8px 26px 8px;box-shadow:var(--bs-ft-lift);padding:30px 24px 24px;background:rgb(var(--c-paper));transform:rotate(-1.2deg)}
.fs-bs-ft-card::before{content:'';position:absolute;top:-9px;left:50%;width:18px;height:18px;border-radius:50%;transform:translateX(-50%);background:rgb(var(--c-brand-600));box-shadow:0 2px 4px rgb(0 0 0 / .3),inset -3px -3px 0 rgb(0 0 0 / .14)}
.fs-bs-ft-state{margin:0;margin-top:12px;font-size:14.5px;line-height:1.55;color:var(--bs-ft-ink2)}
.fs-bs-ft-addr{margin:0;margin-top:16px;padding-top:14px;border-top:1.5px dashed var(--bs-ft-rule);font-size:14.5px;line-height:1.5}
.fs-bs-ft-addr-n{display:block;color:var(--bs-ft-ink2);font-size:13.5px}
.fs-bs-ft-tel{display:inline-block;margin-top:12px;font:700 25px/1.1 var(--font-display, 'Trebuchet MS', sans-serif);color:var(--bs-ft-ink-hi);font-variant-numeric:tabular-nums;text-decoration:none}
.fs-bs-ft-mail{display:block;margin-top:4px;font-weight:700;font-size:14.5px;color:rgb(var(--c-ink-950));text-decoration:none}
.fs-bs-ft-col{min-width:0;padding-top:4px}
.fs-bs-ft-cell{padding-top:10px}
.fs-bs-ft-tag{display:inline-flex;align-items:center;gap:8px;padding:6px 13px;border-radius:999px;background:var(--bs-ft-chip);color:rgb(var(--c-ink-950));font-weight:800;font-size:11.5px;line-height:1.2;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;margin-bottom:14px}
.fs-bs-ft-tag::before{content:'';flex:none;width:7px;height:7px;border-radius:50%;background:rgb(var(--c-brand-600))}
.fs-bs-ft-list{list-style:none;margin:0;padding:0}
.fs-bs-ft-li{display:flex;align-items:baseline;gap:10px;padding-block:5px;font-size:15px;line-height:1.4}
.fs-bs-ft-li::before{content:'';flex:none;width:8px;height:8px;border-radius:50%;background:var(--bs-ft-dot);transform:translateY(-1px)}
.fs-bs-ft-link{text-decoration:underline wavy transparent;text-decoration-thickness:2px;text-underline-offset:4px;text-decoration-skip-ink:none;transition:text-decoration-color .2s ease}
.fs-bs-ft-link:hover{text-decoration-color:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-bs-ft-big{margin:0;font:700 22px/1.2 var(--font-display, 'Trebuchet MS', sans-serif)}
.fs-bs-ft-p{margin:0;margin-top:8px;font-size:14px;line-height:1.55;color:var(--bs-ft-ink2)}
.fs-bs-ft-stickers{list-style:none;margin:0;padding:0;margin-top:2px;display:flex;flex-wrap:wrap;gap:9px 8px}
.fs-bs-ft-sticker{display:inline-flex;align-items:center;padding:6px 13px;border-radius:999px;background:rgb(var(--c-paper));border:2px solid var(--bs-ft-rim);font-weight:700;font-size:13px;line-height:1.2;color:rgb(var(--c-ink-950));white-space:nowrap;transform:rotate(-1.5deg)}
.fs-bs-ft-sticker:nth-child(2n){transform:rotate(1.2deg);border-color:var(--bs-ft-rim2)}
.fs-bs-ft-sticker:nth-child(3n){transform:rotate(-.8deg)}
.fs-bs-ft-more{display:inline-block;margin-top:16px;font-weight:800;font-size:14.5px;color:var(--bs-ft-ink-hi);text-decoration:underline wavy rgb(var(--c-accent, var(--c-brand-600)));text-decoration-thickness:3px;text-underline-offset:.2em;text-decoration-skip-ink:none}
.fs-bs-ft-legal{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0;margin-top:40px;padding-top:16px;border-top:1.5px dashed var(--bs-ft-rule);font-size:13px;color:var(--bs-ft-ink2)}
.fs-bs-ft-legal-t{margin-right:auto;color:inherit}
.fs-bs-ft-legal-a{color:inherit;text-decoration:none}
.fs-bs-ft-legal-a:hover{color:rgb(var(--c-ink-950))}
@container fs-bs-ft (max-width: 40rem){
  .fs-bs-ft-in{padding-block:56px 24px}
}
@container fs-bs-ft-in (max-width: 56rem){
  .fs-bs-ft-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 36px}
}
@container fs-bs-ft (max-width: 48rem){
  .fs-bs-ft-grid{grid-template-columns:minmax(0,1fr);gap:30px}
  .fs-bs-ft-card{margin-inline:4px;transform:rotate(-.6deg)}
}
@media (prefers-reduced-motion: reduce){
  .fs-bs-ft-link{transition:none}
}


.fs-ca{
  position:relative;overflow:hidden;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-ca *{box-sizing:border-box;}

/* ── Shared motifs ──────────────────────────────────────────────
   The petal cross: two crossing capsule bars — a medical plus with
   its corners rounded off. Sized by font-size on the element. */
.fs-ca-plus{
  position:relative;display:inline-block;flex:none;
  width:1em;height:1em;vertical-align:-0.12em;
}
.fs-ca-plus::before,.fs-ca-plus::after{
  content:'';position:absolute;border-radius:999px;
  background:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-ca-plus::before{left:0;right:0;top:50%;height:.34em;transform:translateY(-50%);}
.fs-ca-plus::after{top:0;bottom:0;left:50%;width:.34em;transform:translateX(-50%);}
.fs-ca-plus-brand::before,.fs-ca-plus-brand::after{background:rgb(var(--c-brand-600));}
@keyframes fs-ca-breathe{from{transform:scale(1);}to{transform:scale(1.12);}}
.fs-ca-anim .fs-ca-hero .fs-ca-eyebrow .fs-ca-plus{animation:fs-ca-breathe 3.2s ease-in-out infinite alternate;}
@media (prefers-reduced-motion: reduce){
  .fs-ca,.fs-ca *{animation:none !important;transition:none !important;}
}
.fs-ca-wire .fs-ca-plus{display:none;}

/* The stitched rule — a dashed accent thread. */
.fs-ca-thread{
  border:none;border-top:2px dashed rgb(var(--c-accent, var(--c-brand-600)) / .6);
  margin:0;
}
.fs-ca-wire .fs-ca-thread{border-top-color:rgb(var(--c-ink-400));}

/* ── Type ─────────────────────────────────────────────────────── */
.fs-ca-eyebrow{
  display:inline-flex;align-items:center;gap:.5em;
  padding:.42rem .95rem;
  border-radius:var(--fs-radius-pill, 999px);
  background:rgb(var(--c-accent, var(--c-brand-600)) / .14);
  color:rgb(var(--c-ink-950));
  font-size:.78rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
}
.fs-ca-title{
  margin:1.2rem 0 0;
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(2.3rem,5.2vw,3.7rem);
  line-height:1.08;font-weight:600;letter-spacing:-0.01em;
  color:rgb(var(--c-ink-950));
  text-wrap:balance;
}
.fs-ca-accent{color:rgb(var(--c-brand-600));font-style:italic;}
.fs-ca-sub{
  margin:1.25rem 0 0;max-width:52ch;
  font-size:clamp(1rem,1.5vw,1.13rem);line-height:1.7;
  color:rgb(var(--c-ink-700));
}
.fs-ca-h{
  margin:0;
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(1.8rem,3.4vw,2.6rem);
  line-height:1.12;font-weight:600;letter-spacing:-0.008em;
  color:rgb(var(--c-ink-950));
  text-wrap:balance;
}

/* ── Buttons — softly rounded, warm lift ────────────────────────── */
.fs-ca-ctas{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.9rem;align-items:center;}
.fs-ca-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.9rem 1.7rem;
  border-radius:var(--fs-radius-control, .65rem);
  font-size:.95rem;font-weight:700;line-height:1;white-space:nowrap;
  color:#fff;
  background:rgb(var(--c-brand-600));
  box-shadow:var(--fs-shadow-lift, 0 10px 24px rgb(var(--c-ink-950) / .18));
  transition:transform .2s ease, background .2s ease;
}
.fs-ca-btn:hover{transform:translateY(-2px);background:rgb(var(--c-brand-700, var(--c-brand-600)));}
.fs-ca-btn:focus-visible,.fs-ca-btn2:focus-visible{
  outline:3px solid rgb(var(--c-brand-600));outline-offset:2px;
}
.fs-ca-btn2{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.9rem 1.7rem;
  border-radius:var(--fs-radius-control, .65rem);
  font-size:.95rem;font-weight:700;line-height:1.25;
  /* R3 (theme-chrome batch 1): letting this wrap, rather than
     white-space:nowrap, is what stops it overflowing the editor's
     390px mobile canvas — the real fix belongs here, not in a
     viewport media query. */
  color:rgb(var(--c-brand-600));
  background:transparent;
  border:2px solid rgb(var(--c-brand-600) / .45);
  transition:border-color .2s ease, background .2s ease;
}
.fs-ca-btn2:hover{border-color:rgb(var(--c-brand-600));background:rgb(var(--c-brand-600) / .07);}
.fs-ca-wire .fs-ca-btn{box-shadow:none;}

/* ═════════ HERO (favCareHero) ═════════ */
.fs-ca-hero{container-type:inline-size;padding:var(--fs-space-section, clamp(3.5rem,8vw,6rem)) clamp(1rem,4vw,2.5rem);}
.fs-ca-hero-inner{
  position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:1.04fr .96fr;
  gap:clamp(2rem,5vw,4.5rem);align-items:center;
}
/* Collapsed via the hero's own inline-size container (R3, theme-chrome
   batch 1) — a viewport @media(max-width:920px) never fires inside the
   editor's simulated canvas, which is why the tablet/mobile probe used
   to overflow sideways here. 57.5rem = the same 920px breakpoint. */
@container (max-width: 57.5rem){
  .fs-ca-hero-inner{grid-template-columns:1fr;gap:3.4rem;}
}
/* Reassurance ticks: quiet facts with petal-cross markers. */
.fs-ca-ticks{display:flex;flex-direction:column;gap:.65rem;margin-top:2rem;}
.fs-ca-tick{
  display:flex;align-items:baseline;gap:.65rem;
  font-size:.95rem;font-weight:600;color:rgb(var(--c-ink-700));
}
.fs-ca-tick .fs-ca-plus{font-size:.8rem;}
/* The stage: a softly rounded frame over a tilted tint panel, with
   an appointment card overlapping the lower corner. */
.fs-ca-hero-stage{position:relative;display:flex;justify-content:center;padding-bottom:3.2rem;}
.fs-ca-frame{
  position:relative;z-index:1;
  width:min(26rem, 100%);aspect-ratio:4 / 3.1;
  overflow:hidden;
  border-radius:var(--fs-radius-card, 1.1rem);
  background:rgb(var(--c-paper-soft));
  box-shadow:var(--fs-shadow-card, 0 18px 44px rgb(var(--c-ink-950) / .14));
}
.fs-ca-frame img{width:100%;height:100%;object-fit:cover;}
.fs-ca-frame > *{width:100%;height:100%;}
.fs-ca-frame-back{
  position:absolute;z-index:0;pointer-events:none;
  width:min(26rem, 100%);aspect-ratio:4 / 3.1;
  border-radius:var(--fs-radius-card, 1.1rem);
  transform:rotate(-3deg) translate(-1rem,.6rem);
  background:rgb(var(--c-accent, var(--c-brand-600)) / .22);
}
/* No image set: warm layered-hills fallback so the frame never
   opens empty. */
.fs-ca-frame-fallback{
  display:block;position:relative;width:100%;height:100%;
  background:
    radial-gradient(120% 68% at 50% -12%, rgb(var(--c-brand-600) / .14) 0 55%, transparent 56%),
    radial-gradient(150% 75% at 18% 108%, rgb(var(--c-accent, var(--c-brand-600)) / .38) 0 52%, transparent 53%),
    radial-gradient(150% 66% at 88% 112%, rgb(var(--c-brand-600) / .5) 0 46%, transparent 47%),
    rgb(var(--c-paper-soft));
}
/* The appointment card, pinned over the frame's lower-left. */
.fs-ca-hero-card{
  position:absolute;z-index:2;left:0;bottom:0;
  width:min(17rem, 88%);
  padding:1.05rem 1.2rem 1.1rem;
  border-radius:var(--fs-radius-card, 1rem);
  background:rgb(var(--c-paper));
  border:1.5px solid rgb(var(--c-line));
  border-top:2px dashed rgb(var(--c-accent, var(--c-brand-600)) / .6);
  box-shadow:var(--fs-shadow-lift, 0 14px 34px rgb(var(--c-ink-950) / .16));
}
.fs-ca-hero-card-t{
  display:flex;align-items:baseline;gap:.5rem;
  font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:rgb(var(--c-brand-600));
}
.fs-ca-hero-card-t .fs-ca-plus{font-size:.72rem;}
.fs-ca-hero-card-l{
  margin-top:.5rem;
  font-size:.88rem;line-height:1.55;font-weight:600;
  color:rgb(var(--c-ink-700));
}
.fs-ca-wire .fs-ca-frame-back,.fs-ca-wire .fs-ca-frame-fallback{display:none;}
.fs-ca-wire .fs-ca-frame,.fs-ca-wire .fs-ca-hero-card{box-shadow:none;}

/* ═════════ PAGE HEADER (favCareHeader) ═════════
   Left-aligned, closed by a stitched rule the petal cross sits on —
   a signature line, not a banner. */
.fs-ca-hd{padding:var(--fs-space-section, clamp(3rem,7vw,4.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-ca-hd-inner{position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-ca-hd .fs-ca-title{font-size:clamp(2.1rem,4.6vw,3.3rem);}
.fs-ca-hd-rule{
  position:relative;margin-top:2rem;max-width:22rem;
}
.fs-ca-hd-rule .fs-ca-plus{
  position:absolute;left:0;top:50%;transform:translateY(-58%);
  font-size:.95rem;
  background:rgb(var(--c-paper));
  box-shadow:0 0 0 .45rem rgb(var(--c-paper));
}
.fs-ca-hd-rule .fs-ca-thread{margin-left:1.9rem;}

/* ═════════ CARE PLAN BUILDER (favCarePlan) ═════════
   The signature interactive element: tick the checks you want, watch
   the plan card total itself. Deterministic — every figure parses
   from the block's own authored text. */
.fs-ca-pl{container-type:inline-size;padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-ca-pl-head{max-width:var(--fs-layout-max,72rem);margin:0 auto 2.2rem;}
.fs-ca-pl-grid{
  max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:clamp(1.6rem,4vw,3rem);align-items:start;
}
.fs-ca-pl-grid > *{min-width:0;}
/* Collapsed via .fs-ca-pl's own inline-size container (R3 parity, same
   pattern as the hero above) — a viewport @media(max-width:920px)
   never fires inside the editor's simulated canvas. 57.5rem = 920px. */
@container (max-width: 57.5rem){
  .fs-ca-pl-grid{grid-template-columns:minmax(0,1fr);}
}
.fs-ca-pl-list{display:flex;flex-direction:column;gap:.7rem;}
/* The base row — always included, not a control. */
.fs-ca-pl-base{
  display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .9rem;
  padding:1rem 1.15rem;
  border-radius:var(--fs-radius-card, .9rem);
  background:rgb(var(--c-brand-600) / .09);
  border:1.5px solid rgb(var(--c-brand-600) / .3);
}
/* Phone width: the "always included" tag drops to its own line rather
   than forcing the row wider than the screen. */
@media (max-width:560px){
  .fs-ca-pl-base-tag{order:3;flex-basis:100%;}
}
.fs-ca-pl-base .fs-ca-plus{font-size:.9rem;}
.fs-ca-pl-base-l{flex:1;font-weight:700;font-size:.98rem;color:rgb(var(--c-ink-950));}
.fs-ca-pl-base-tag{
  font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:rgb(var(--c-brand-600));white-space:nowrap;
}
/* Option rows — real switches. The tick well fills with a petal
   cross when on. */
.fs-ca-pl-opt{
  display:flex;align-items:center;gap:.9rem;width:100%;
  padding:1rem 1.15rem;text-align:left;
  border-radius:var(--fs-radius-card, .9rem);
  background:rgb(var(--c-paper-soft));
  border:1.5px solid rgb(var(--c-line));
  cursor:pointer;font:inherit;color:inherit;
  transition:border-color .18s ease, transform .18s ease;
}
.fs-ca-pl-opt:not([aria-disabled="true"]):hover{border-color:rgb(var(--c-brand-600) / .55);transform:translateY(-1px);}
.fs-ca-pl-opt:focus-visible{
  outline:3px solid rgb(var(--c-brand-600));outline-offset:2px;
}
.fs-ca-pl-opt[aria-checked="true"]{
  border-color:rgb(var(--c-brand-600));
  background:rgb(var(--c-brand-600) / .07);
}
.fs-ca-pl-opt[aria-disabled="true"]{cursor:default;transform:none;}
.fs-ca-pl-well{
  flex:none;width:1.55rem;height:1.55rem;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:.45rem;
  border:2px solid rgb(var(--c-ink-400));
  background:rgb(var(--c-paper));
  transition:border-color .18s ease;
}
.fs-ca-pl-opt[aria-checked="true"] .fs-ca-pl-well{border-color:rgb(var(--c-brand-600));}
.fs-ca-pl-well .fs-ca-plus{font-size:.72rem;opacity:0;transform:scale(.4);transition:opacity .18s ease, transform .18s ease;}
.fs-ca-pl-opt[aria-checked="true"] .fs-ca-pl-well .fs-ca-plus{opacity:1;transform:scale(1);}
.fs-ca-pl-opt-l{flex:1;min-width:0;}
.fs-ca-pl-opt-t{display:block;font-weight:700;font-size:.98rem;color:rgb(var(--c-ink-950));}
.fs-ca-pl-opt-m{display:block;margin-top:.15rem;font-size:.8rem;color:rgb(var(--c-ink-400));}
.fs-ca-pl-price{
  flex:none;font-family:var(--font-display, Georgia, serif);
  font-size:1.05rem;font-weight:700;color:rgb(var(--c-brand-600));white-space:nowrap;
}
/* The plan card — the running total, laid out like something printed
   at the front desk. */
.fs-ca-pl-card{
  position:sticky;top:1.2rem;
  padding:1.5rem 1.5rem 1.6rem;
  border-radius:var(--fs-radius-card, 1rem);
  background:rgb(var(--c-paper));
  border:1.5px solid rgb(var(--c-line));
  border-top:2px dashed rgb(var(--c-accent, var(--c-brand-600)) / .6);
  box-shadow:var(--fs-shadow-card, 0 16px 40px rgb(var(--c-ink-950) / .12));
}
@container (max-width: 57.5rem){
  .fs-ca-pl-card{position:static;}
}
.fs-ca-pl-card-t{
  display:flex;align-items:baseline;gap:.55rem;
  font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:rgb(var(--c-brand-600));
}
.fs-ca-pl-card-t .fs-ca-plus{font-size:.74rem;}
.fs-ca-pl-lines{margin:1.05rem 0 0;display:flex;flex-direction:column;gap:.5rem;}
.fs-ca-pl-line{
  display:flex;justify-content:space-between;gap:1rem;
  font-size:.9rem;color:rgb(var(--c-ink-700));
}
.fs-ca-pl-line strong{font-weight:600;color:rgb(var(--c-ink-950));}
.fs-ca-pl-card .fs-ca-thread{margin:1.05rem 0;}
.fs-ca-pl-total{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;}
.fs-ca-pl-total-l{font-size:.82rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--c-ink-400));}
.fs-ca-pl-total-v{
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(1.9rem,3.4vw,2.5rem);line-height:1;font-weight:700;
  color:rgb(var(--c-ink-950));
}
@keyframes fs-ca-pop{0%{transform:scale(1);}45%{transform:scale(1.07);}100%{transform:scale(1);}}
.fs-ca-anim .fs-ca-pl-total-v[data-pop="1"]{animation:fs-ca-pop .3s ease;}
.fs-ca-pl-time{margin-top:.5rem;display:flex;justify-content:space-between;gap:1rem;font-size:.9rem;color:rgb(var(--c-ink-700));}
.fs-ca-pl-note{margin-top:1rem;font-size:.8rem;line-height:1.55;color:rgb(var(--c-ink-400));}
.fs-ca-pl-card .fs-ca-ctas{margin-top:1.2rem;}
.fs-ca-pl-card .fs-ca-btn{width:100%;}
.fs-ca-wire .fs-ca-pl-card{box-shadow:none;position:static;}

/* ═════════ TEAM (favCareTeam) ═════════
   Clinician cards: portrait, name, a credentials line set like a
   lanyard badge, and a bio that talks like a person. */
.fs-ca-tm{container-type:inline-size;padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-ca-tm-head{max-width:var(--fs-layout-max,72rem);margin:0 auto 2.2rem;}
.fs-ca-tm-grid{
  max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:repeat(3, minmax(0,1fr));
  gap:clamp(1.1rem,2.5vw,1.8rem);
}
/* Collapsed via .fs-ca-tm's own inline-size container (R3 parity). */
@container (max-width: 57.5rem){
  .fs-ca-tm-grid{grid-template-columns:1fr;max-width:26rem;}
}
.fs-ca-tm-card{
  padding:1.15rem 1.15rem 1.4rem;
  border-radius:var(--fs-radius-card, 1rem);
  background:rgb(var(--c-paper-soft));
  border:1.5px solid rgb(var(--c-line));
  transition:transform .2s ease, box-shadow .2s ease;
}
.fs-ca-tm-card:hover{transform:translateY(-3px);box-shadow:var(--fs-shadow-lift, 0 14px 34px rgb(var(--c-ink-950) / .14));}
.fs-ca-tm-photo{
  aspect-ratio:1 / 1;overflow:hidden;
  border-radius:var(--fs-radius-card, .85rem);
  background:rgb(var(--c-accent, var(--c-brand-600)) / .16);
}
.fs-ca-tm-photo img{width:100%;height:100%;object-fit:cover;}
.fs-ca-tm-photo > *{width:100%;height:100%;}
.fs-ca-tm-n{
  margin-top:1rem;
  font-family:var(--font-display, Georgia, serif);
  font-size:1.28rem;font-weight:600;color:rgb(var(--c-ink-950));
}
.fs-ca-tm-r{margin-top:.15rem;font-size:.9rem;font-weight:600;color:rgb(var(--c-brand-600));}
.fs-ca-tm-c{
  display:inline-block;margin-top:.6rem;
  padding:.3rem .7rem;
  border-radius:var(--fs-radius-pill, 999px);
  background:rgb(var(--c-accent, var(--c-brand-600)) / .14);
  font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;
  color:rgb(var(--c-ink-700));
}
.fs-ca-tm-b{margin-top:.7rem;font-size:.88rem;line-height:1.6;color:rgb(var(--c-ink-700));}
.fs-ca-wire .fs-ca-tm-card:hover{box-shadow:none;transform:none;}

/* ═════════ CTA (favCareCta) ═════════
   The appointment card, full width: a tear-off line, a warm ask,
   the phone number set large enough to read across a kitchen. */
.fs-ca-ct{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-ca-ct-band{
  position:relative;max-width:var(--fs-layout-max,64rem);margin:0 auto;
  padding:clamp(2.2rem,5vw,3.4rem) clamp(1.4rem,4vw,3rem) clamp(2.4rem,5vw,3.2rem);
  border-radius:var(--fs-radius-card, 1.2rem);
  background:
    radial-gradient(130% 120% at 88% -20%, rgb(var(--c-accent, var(--c-brand-600)) / .16) 0 45%, transparent 46%),
    rgb(var(--c-brand-600) / .08);
  border:1.5px solid rgb(var(--c-brand-600) / .25);
}
.fs-ca-ct-band > .fs-ca-thread{
  position:absolute;left:clamp(1.4rem,4vw,3rem);right:clamp(1.4rem,4vw,3rem);top:1.1rem;
}
.fs-ca-ct-phone{
  margin-top:1.4rem;
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(1.9rem,4.5vw,3rem);line-height:1;font-weight:700;letter-spacing:.01em;
  color:rgb(var(--c-brand-600));
}
.fs-ca-ct-note{
  margin-top:1.3rem;display:flex;align-items:baseline;gap:.6rem;
  font-size:.85rem;font-weight:600;color:rgb(var(--c-ink-700));
}
.fs-ca-ct-note .fs-ca-plus{font-size:.72rem;}
.fs-ca-wire .fs-ca-ct-band{background:rgb(var(--c-paper-soft));}
/* Dark pages: the decorative corner wash reads muddier on near-black,
   so it steps down rather than off.
   :is(.dark *):not(.fs-preview-light *), not the ambient ".dark ANCESTOR"
   form: layout.tsx's boot script puts .dark on <html> from the visitor's
   OS/dashboard preference alone, unrelated to this SITE's own resolved
   mode -- siteShell() is what marks the site wrapper .dark or
   .fs-preview-light correctly. The old form fired this treatment on a
   LIGHT site for any visitor whose OS prefers dark. Same fix as
   LedgerLite (2026-09-03) and the pattern member-prime already uses. */
.fs-ca-ct-band:is(.dark *):not(.fs-preview-light *){
  background:
    radial-gradient(130% 120% at 88% -20%, rgb(var(--c-accent, var(--c-brand-600)) / .09) 0 45%, transparent 46%),
    rgb(var(--c-brand-600) / .07);
}

/* ═════════ FOOTER (favCareFooter) — the appointment card ═════════
   A rising paper-soft band (34px top corners over the page above)
   holding an appointment card and three columns under petal-cross
   small-caps titles. */
/* The band rises with 34px top corners over the page above. */
.fs-ca-ft{container-type:inline-size;padding:56px clamp(1rem,4vw,2.5rem) 36px;background:rgb(var(--c-paper-soft));border-radius:34px 34px 0 0}
.fs-ca-ft-in{max-width:var(--fs-layout-max,72rem);margin-inline:auto}
.fs-ca-ft-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:30px;align-items:start}
.fs-ca-ft-card{
  padding:22px 22px 20px;
  border-radius:var(--fs-radius-card, 22px);
  background:rgb(var(--c-paper));
  border:1.5px solid rgb(var(--c-line));
  border-top:2px dashed rgb(var(--c-accent, var(--c-brand-600)) / .6);
  box-shadow:var(--fs-shadow-lift, 0 16px 34px rgb(var(--c-ink-950) / .18));
}
.fs-ca-ft-name{font:600 20px/1.2 var(--font-display, Georgia, serif);color:rgb(var(--c-ink-950));}
.fs-ca-ft-statement{margin-top:14px;font:500 17px/1.4 var(--font-display, Georgia, serif);color:rgb(var(--c-ink-950));}
.fs-ca-ft-address{margin-top:10px;font-style:normal;font-size:14px;color:rgb(var(--c-ink-400));}
.fs-ca-ft-tel{display:block;margin-top:14px;font:700 28px/1 var(--font-display, Georgia, serif);color:rgb(var(--c-brand-600));}
.fs-ca-ft-mail{display:inline-block;margin-top:8px;font-size:14px;font-weight:600;color:rgb(var(--c-ink-700));overflow-wrap:anywhere;}
.fs-ca-ft-col p,.fs-ca-ft-col li{font-size:14.5px;}
.fs-ca-ft-h{
  display:flex;align-items:center;gap:.5em;margin:0 0 12px;
  font-size:11.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:rgb(var(--c-ink-950));
}
.fs-ca-ft-plus{display:inline-block;flex:none;width:12px;height:12px;background:rgb(var(--c-accent, var(--c-brand-600)));-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Crect x='0' y='4' width='12' height='4' rx='2'/%3E%3Crect x='4' y='0' width='4' height='12' rx='2'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Crect x='0' y='4' width='12' height='4' rx='2'/%3E%3Crect x='4' y='0' width='4' height='12' rx='2'/%3E%3C/svg%3E") center/contain no-repeat}
.fs-ca-ft-p{margin:0;line-height:1.6;color:rgb(var(--c-ink-700));}
.fs-ca-ft-p+.fs-ca-ft-p{margin-top:8px;}
.fs-ca-ft-slots{
  display:inline-block;margin-top:8px;padding:7px 12px;
  border-radius:var(--fs-radius-pill, 14px);
  background:rgb(var(--c-accent, var(--c-brand-600)) / .14);
  font-weight:700;font-size:13px !important;color:rgb(var(--c-ink-950)) !important;
}
.fs-ca-ft-list{list-style:none;margin:0;padding:0;}
.fs-ca-ft-li{padding-block:4px;}
.fs-ca-ft-link{color:rgb(var(--c-ink-700));text-decoration:none;}
.fs-ca-ft-link:hover{color:rgb(var(--c-ink-950));text-decoration:underline;}
.fs-ca-ft-legal{
  display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:30px;padding-top:14px;
  border-top:1.5px solid rgb(var(--c-line));
  font-size:12.5px;color:rgb(var(--c-ink-400));
}
.fs-ca-ft-legal-t{color:inherit;}
.fs-ca-ft-legal-a{color:inherit;text-decoration:none;}
.fs-ca-ft-legal-a:hover{color:rgb(var(--c-ink-950));}
.fs-ca-wire .fs-ca-ft-card{box-shadow:none;}
/* 64rem → two columns, 48rem → one, both against this band's own box
   (editor-tablet content box: 686px in the pilot/batch-1 footers — well
   below the 48rem trigger, so the tablet canvas collapses to 1 column
   here too). */
@container (max-width: 64rem){
  .fs-ca-ft-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container (max-width: 48rem){
  .fs-ca-ft-grid{grid-template-columns:1fr}
}


.fs-ar{
  position:relative;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-ar *{box-sizing:border-box;}

/* ── Type ───────────────────────────────────────────────────────
   A high-contrast display face at 400 with tight leading is the
   whole voice: quiet-luxury is set, not shouted. The accent is
   ITALIC rather than coloured — one register change, not two. */
.fs-ar-eyebrow{
  display:inline-flex;align-items:center;gap:.7rem;
  color:rgb(var(--c-accent, var(--c-brand-600)));
  font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
}
.fs-ar-eyebrow::before{
  content:'';width:1.6rem;height:1.6rem;flex:none;
  border-left:1px solid rgb(var(--c-accent, var(--c-brand-600)) / .8);
  border-top:1px solid rgb(var(--c-accent, var(--c-brand-600)) / .8);
  border-radius:100% 0 0 0;
  transform:translateY(.15rem);
}
.fs-ar-title{
  margin:1.1rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(2.4rem,5.4vw,4.2rem);
  line-height:1.06;font-weight:400;letter-spacing:-.012em;
  color:rgb(var(--c-ink-950));
  text-wrap:balance;
}
.fs-ar-accent{font-style:italic;color:rgb(var(--c-brand-600));}
.fs-ar-h{
  margin:.9rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(1.9rem,3.6vw,2.9rem);
  line-height:1.14;font-weight:400;letter-spacing:-.01em;
  color:rgb(var(--c-ink-950));
  text-wrap:balance;
}
.fs-ar-sub{
  margin:1.2rem 0 0;max-width:54ch;
  font-size:clamp(1rem,1.4vw,1.09rem);line-height:1.72;
  color:rgb(var(--c-ink-700));
  text-wrap:pretty;
}
.fs-ar-note{
  margin-top:1.4rem;
  font-size:.78rem;line-height:1.6;letter-spacing:.04em;
  color:rgb(var(--c-ink-400));
}

/* ── Buttons — a pill and a struck link, nothing else ─────────── */
.fs-ar-ctas{display:flex;flex-wrap:wrap;gap:1.1rem 1.6rem;margin-top:2rem;align-items:center;}
.fs-ar-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.95rem 1.9rem;
  border-radius:var(--fs-radius-pill, 999px);
  font-size:.9rem;font-weight:600;line-height:1;white-space:nowrap;letter-spacing:.01em;
  color:rgb(var(--c-paper));
  background:rgb(var(--c-brand-600));
  border:1px solid rgb(var(--c-brand-600));
  transition:background .25s ease, color .25s ease, border-color .25s ease;
}
.fs-ar-btn:hover{background:rgb(var(--c-brand-700, var(--c-brand-600)));border-color:rgb(var(--c-brand-700, var(--c-brand-600)));}
.fs-ar-link{
  display:inline-flex;align-items:center;gap:.5rem;
  min-height:2.75rem;
  font-size:.9rem;font-weight:600;
  color:rgb(var(--c-ink-950));
  border-bottom:1px solid rgb(var(--c-ink-950) / .28);
  padding:.72rem 0 .45rem;
  transition:color .25s ease, border-color .25s ease;
}
.fs-ar-link::after{
  content:'';width:.55rem;height:.55rem;flex:none;
  border-right:1.5px solid currentColor;border-top:1.5px solid currentColor;
  border-radius:0 100% 0 0;
  transform:rotate(45deg) translateY(.06rem);
}
.fs-ar-link:hover{color:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600) / .6);}

/* ═════════ HERO (favArcHero) ═════════
   Type on the left; on the right an arc-cut stage with a struck
   hairline arc set behind it and a standing fact in front. Three
   planes, no shadow — the depth is entirely overlap. */
.fs-ar-hero{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-ar-hero-inner{
  position:relative;max-width:var(--fs-layout-max,74rem);margin:0 auto;
  display:grid;grid-template-columns:1.08fr .92fr;
  gap:clamp(2.5rem,5vw,4.5rem);align-items:center;
}
@media (max-width:940px){.fs-ar-hero-inner{grid-template-columns:1fr;gap:2.75rem;}}
.fs-ar-creds{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,auto));
  justify-content:start;align-items:center;gap:.7rem 1.8rem;
  margin-top:2.4rem;padding-top:1.4rem;
  border-top:1px solid rgb(var(--c-line));
}
.fs-ar-cred{
  position:relative;display:inline-flex;align-items:center;gap:.55rem;
  font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-ar-cred::before{
  content:'';width:4px;height:4px;flex:none;border-radius:50%;
  background:rgb(var(--c-accent, var(--c-brand-600)) / .75);
}
.fs-ar-hero-stage{position:relative;padding:2.4rem 0 3.4rem 2.4rem;}
/* The struck arc behind the stage — motif 2. */
.fs-ar-ring{
  position:absolute;inset:0 2.4rem 3.4rem 0;
  border-left:1px solid rgb(var(--c-accent, var(--c-brand-600)) / .55);
  border-top:1px solid rgb(var(--c-accent, var(--c-brand-600)) / .55);
  border-radius:100% 0 0 0;
  pointer-events:none;
}
/* The arc cut — motif 1. */
.fs-ar-cut{
  position:relative;overflow:hidden;
  aspect-ratio:4 / 5;
  border-radius:14rem 0 0 0;
  border:1px solid rgb(var(--c-line));
  background:rgb(var(--c-paper-soft));
}
.fs-ar-cut img{width:100%;height:100%;object-fit:cover;display:block;}
.fs-ar-cut-fallback{
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 78% 26%, rgb(var(--c-accent, var(--c-brand-600)) / .55) 0 12%, transparent 12.5%),
    linear-gradient(150deg, rgb(var(--c-brand-600) / .22), rgb(var(--c-paper-soft)) 70%);
}
/* The disc — motif 3 — carried by the standing fact. */
.fs-ar-badge{
  position:absolute;left:0;bottom:0;
  display:flex;flex-direction:column;gap:.3rem;
  padding:.95rem 1.5rem .95rem 2.5rem;
  border-radius:var(--fs-radius-pill, 999px);
  border:1px solid rgb(var(--c-line));
  background:rgb(var(--c-paper));
  max-width:88%;
}
.fs-ar-badge::before{
  content:'';position:absolute;left:1rem;top:50%;transform:translateY(-50%);
  width:.6rem;height:.6rem;border-radius:50%;
  background:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-ar-badge-t{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:rgb(var(--c-ink-400));}
.fs-ar-badge-v{font-size:.92rem;font-weight:600;color:rgb(var(--c-ink-950));}

/* ═════════ PAGE HEADER (favArcHeader) ═════════
   Left-aligned and closed by a quarter-arc rule: the same struck
   corner, run out flat. */
.fs-ar-hd{padding:var(--fs-space-section, clamp(2.6rem,6vw,4rem)) clamp(1rem,4vw,2.5rem);}
.fs-ar-hd-inner{position:relative;max-width:var(--fs-layout-max,56rem);margin:0 auto;}
.fs-ar-hd-title{font-size:clamp(2.1rem,4.4vw,3.3rem);}
.fs-ar-hd-rule{
  display:block;height:2.2rem;margin-top:2.2rem;
  border-left:1px solid rgb(var(--c-line));
  border-top:1px solid rgb(var(--c-line));
  border-radius:100% 0 0 0;
}

/* ═════════ PROGRAMME CONFIGURATOR (favArcProgramme) ═════════
   Two columns: the questions on the left, the summary that answers
   them on the right. The card is the only surface in the set with a
   tinted fill, because it is the one thing a visitor is meant to
   watch change. */
.fs-ar-pg{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-ar-pg-head{max-width:var(--fs-layout-max,56rem);margin:0 auto 2.6rem;}
.fs-ar-pg-grid{
  max-width:var(--fs-layout-max,74rem);margin:0 auto;
  display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(2rem,4vw,3.5rem);align-items:start;
}
@media (max-width:940px){.fs-ar-pg-grid{grid-template-columns:1fr;}}
.fs-ar-pg-form{display:flex;flex-direction:column;gap:2.1rem;min-width:0;}
.fs-ar-pg-q{border:0;padding:0;margin:0;min-width:0;}
.fs-ar-pg-l{
  display:flex;align-items:baseline;gap:.8rem;padding:0;
  font-size:1.02rem;font-weight:600;color:rgb(var(--c-ink-950));
}
.fs-ar-pg-n{
  font-family:var(--font-display, Georgia, serif);
  font-size:.86rem;font-weight:400;letter-spacing:.08em;
  color:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-ar-pg-hint{margin-top:.75rem;font-size:.83rem;line-height:1.6;color:rgb(var(--c-ink-400));max-width:46ch;}

/* Chips — multi-select. */
.fs-ar-chips{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem;}
.fs-ar .fs-ar-chip{
  display:inline-flex;align-items:center;justify-content:flex-start;gap:.55rem;
  min-height:2.75rem;padding:.62rem 1.15rem;
  border-radius:var(--fs-radius-pill, 999px);
  border:1px solid rgb(var(--c-line));
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-700));
  font:inherit;font-size:.88rem;line-height:1.3;text-align:left;
  cursor:pointer;
  transition:border-color .2s ease, color .2s ease, background .2s ease;
}
.fs-ar .fs-ar-chip:hover{border-color:rgb(var(--c-brand-600) / .55);color:rgb(var(--c-ink-950));}
.fs-ar .fs-ar-chip[data-on="1"]{
  border-color:rgb(var(--c-brand-600));
  background:rgb(var(--c-brand-50));
  color:rgb(var(--c-ink-950));
}
.fs-ar-tick{
  width:.9rem;height:.9rem;flex:none;border-radius:50%;
  border:1px solid rgb(var(--c-line));
  transition:background .2s ease, border-color .2s ease;
}
.fs-ar .fs-ar-chip[data-on="1"] .fs-ar-tick{
  background:rgb(var(--c-brand-600));
  border-color:rgb(var(--c-brand-600));
}

/* Segments — single-select. */
.fs-ar-seg{
  display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1rem;
  padding:.35rem;
  border-radius:var(--fs-radius-pill, 999px);
  border:1px solid rgb(var(--c-line));
  background:rgb(var(--c-paper-soft));
}
.fs-ar .fs-ar-seg-b{
  flex:1 1 auto;
  min-height:2.75rem;padding:.62rem 1rem;
  border:0;border-radius:var(--fs-radius-pill, 999px);
  background:transparent;color:rgb(var(--c-ink-700));
  font:inherit;font-size:.88rem;line-height:1.3;white-space:nowrap;
  cursor:pointer;
  transition:background .2s ease, color .2s ease;
}
.fs-ar .fs-ar-seg-b:hover{color:rgb(var(--c-ink-950));}
.fs-ar .fs-ar-seg-b[data-on="1"]{
  background:rgb(var(--c-brand-600));
  color:rgb(var(--c-paper));
  font-weight:600;
}

/* Focus states — visible on every control, in the accent. */
.fs-ar .fs-ar-chip:focus-visible,.fs-ar .fs-ar-seg-b:focus-visible{
  outline:2px solid rgb(var(--c-accent, var(--c-brand-600)));
  outline-offset:2px;
}

/* The summary card — the arc cut again, at panel scale. */
.fs-ar-pg-card{
  position:relative;min-width:0;
  padding:clamp(1.6rem,3vw,2.3rem);
  border-radius:5rem 0 0 0;
  border:1px solid rgb(var(--c-line));
  background:rgb(var(--c-paper-soft));
}
.fs-ar-pg-card-t{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:rgb(var(--c-ink-400));}
.fs-ar-pg-figure{
  margin-top:.5rem;
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(2.6rem,5vw,3.6rem);line-height:1;font-weight:400;
  letter-spacing:-.02em;
  color:rgb(var(--c-brand-600));
}
.fs-ar-pg-figure-l{margin-top:.5rem;font-size:.86rem;color:rgb(var(--c-ink-700));}
.fs-ar-pg-rows{margin:1.5rem 0 0;padding:0;border-top:1px solid rgb(var(--c-line));}
.fs-ar-pg-row{
  display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  padding:.7rem 0;
  border-bottom:1px solid rgb(var(--c-line));
}
.fs-ar-pg-row dt{margin:0;font-size:.85rem;color:rgb(var(--c-ink-400));}
.fs-ar-pg-row dd{margin:0;font-size:.9rem;font-weight:600;color:rgb(var(--c-ink-950));}
.fs-ar-pg-inc-t{margin-top:1.5rem;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:rgb(var(--c-ink-400));}
.fs-ar-pg-inc{margin:.8rem 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.6rem;}
.fs-ar-pg-inc li{
  position:relative;padding-left:1.5rem;
  font-size:.87rem;line-height:1.6;color:rgb(var(--c-ink-700));
}
.fs-ar-pg-inc li::before{
  content:'';position:absolute;left:0;top:.42rem;
  width:.62rem;height:.62rem;
  border-left:1.5px solid rgb(var(--c-accent, var(--c-brand-600)));
  border-top:1.5px solid rgb(var(--c-accent, var(--c-brand-600)));
  border-radius:100% 0 0 0;
}
.fs-ar-pg-focus{
  margin-top:1.5rem;padding-top:1.1rem;
  border-top:1px solid rgb(var(--c-line));
  display:flex;flex-direction:column;gap:.35rem;
}
.fs-ar-pg-focus-t{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:rgb(var(--c-ink-400));}
.fs-ar-pg-focus-v{font-size:.88rem;line-height:1.55;color:rgb(var(--c-ink-950));}
.fs-ar-pg-focus-empty{font-size:.88rem;line-height:1.55;font-style:italic;color:rgb(var(--c-ink-400));}
.fs-ar-pg-cta{margin-top:1.6rem;width:100%;}
.fs-ar-pg-note{margin-top:1rem;font-size:.76rem;line-height:1.6;color:rgb(var(--c-ink-400));}

/* ═════════ PATH (favArcPath) ═════════
   Four milestones down a hairline spine, each opened by a filled
   disc — the set's one circle, used four times because the spine is
   one composition. */
.fs-ar-pt{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-ar-pt-head{max-width:var(--fs-layout-max,56rem);margin:0 auto 2.6rem;}
.fs-ar-pt-list{
  max-width:min(52rem, var(--fs-layout-clamp, 52rem));margin:0 auto;padding:0 0 0 2.6rem;list-style:none;
  border-left:1px solid rgb(var(--c-line));
}
.fs-ar-pt-step{position:relative;padding-bottom:2.2rem;}
.fs-ar-pt-step:last-child{padding-bottom:0;}
.fs-ar-pt-disc{
  position:absolute;left:-2.6rem;top:0;transform:translateX(-50%);
  display:flex;align-items:center;justify-content:center;
  width:2rem;height:2rem;border-radius:50%;
  background:rgb(var(--c-brand-600));
  color:rgb(var(--c-paper));
  font-family:var(--font-display, Georgia, serif);
  font-size:.95rem;line-height:1;
}
.fs-ar-pt-mark{
  display:block;
  font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;
  color:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-ar-pt-t{
  margin:.5rem 0 0;
  font-family:var(--font-display, Georgia, serif);
  font-size:1.4rem;line-height:1.25;font-weight:400;
  color:rgb(var(--c-ink-950));
}
.fs-ar-pt-b{margin-top:.5rem;font-size:.95rem;line-height:1.72;color:rgb(var(--c-ink-700));max-width:56ch;}
@media (max-width:520px){
  .fs-ar-pt-list{padding-left:1.9rem;}
  .fs-ar-pt-disc{left:-1.9rem;width:1.7rem;height:1.7rem;font-size:.85rem;}
}

/* ═════════ CTA (favArcCta) ═════════
   The arc cut at full width, with a struck arc drawn inside it. */
.fs-ar-cta{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-ar-cta-panel{
  position:relative;overflow:hidden;
  max-width:var(--fs-layout-max,66rem);margin:0 auto;
  padding:clamp(2.4rem,5vw,4rem) clamp(1.5rem,4vw,3.5rem);
  border-radius:11rem 0 0 0;
  border:1px solid rgb(var(--c-line));
  background:rgb(var(--c-paper-soft));
}
.fs-ar-cta-arc{
  position:absolute;right:-9rem;bottom:-11rem;
  width:26rem;height:26rem;
  border-left:1px solid rgb(var(--c-accent, var(--c-brand-600)) / .35);
  border-top:1px solid rgb(var(--c-accent, var(--c-brand-600)) / .35);
  border-radius:100% 0 0 0;
  pointer-events:none;
}
.fs-ar-cta-inner{position:relative;max-width:min(44rem, var(--fs-layout-clamp, 44rem));}
.fs-ar-cta-title{font-size:clamp(2rem,4vw,3rem);}

/* ═════════ OFFERS (favArcOffers) ═════════
   Three arc-cut cards. Flat like the rest of the set, so the marked
   one is signalled by a heavier border and a small flag rather than
   by a shadow or a scale-up — quiet luxury does not shout about the
   middle tier, it just tells you the truth about which one people
   pick. An empty price field collapses its own line, so the same
   block carries a comparison with no figures in it. */
.fs-ar-of{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-ar-of-head{max-width:var(--fs-layout-max,56rem);margin:0 auto 2.6rem;}
.fs-ar-of-grid{
  max-width:var(--fs-layout-max,74rem);margin:0 auto;
  display:grid;grid-template-columns:repeat(3, minmax(0,1fr));
  gap:clamp(1rem,2vw,1.6rem);align-items:stretch;
}
@media (max-width:900px){.fs-ar-of-grid{grid-template-columns:1fr;}}
.fs-ar-of-card{
  position:relative;display:flex;flex-direction:column;
  padding:clamp(1.5rem,2.6vw,2.1rem);
  padding-top:calc(clamp(1.5rem,2.6vw,2.1rem) + 1.6rem);
  border-radius:4.5rem 0 0 0;
  border:1px solid rgb(var(--c-line));
  background:rgb(var(--c-paper));
  transition:border-color .25s ease;
}
.fs-ar-of-card:hover{border-color:rgb(var(--c-brand-600) / .5);}
.fs-ar-of-card[data-marked="1"]{
  border-color:rgb(var(--c-brand-600) / .75);
  background:rgb(var(--c-paper-soft));
}
.fs-ar-of-flag{
  position:absolute;top:clamp(1.5rem,2.6vw,2.1rem);left:clamp(1.5rem,2.6vw,2.1rem);
  display:inline-flex;align-items:center;gap:.45rem;
  font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;
  color:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-ar-of-flag::before{
  content:'';width:5px;height:5px;border-radius:50%;
  background:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-ar-of-n{
  margin:0;font-size:.74rem;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-ar-of-p{
  margin-top:.7rem;
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(2rem,3.4vw,2.6rem);line-height:1;font-weight:400;
  letter-spacing:-.02em;
  color:rgb(var(--c-brand-600));
}
.fs-ar-of-p:empty{display:none;}
.fs-ar-of-m{
  margin-top:.55rem;padding-bottom:1rem;
  border-bottom:1px solid rgb(var(--c-line));
  font-size:.8rem;letter-spacing:.04em;
  color:rgb(var(--c-ink-400));
}
.fs-ar-of-b{
  margin-top:1rem;flex:1;
  font-size:.93rem;line-height:1.68;
  color:rgb(var(--c-ink-700));
}
.fs-ar-of-c{margin-top:1.4rem;align-self:flex-start;}

/* ── Wireframe, in the EDITOR ────────────────────────────────────
   Two surfaces express wireframe differently: a published page gets
   [data-render="wireframe"] on an ancestor (see ARC_WIRE_CSS at the
   foot of this file), while the editor canvas gets the .fs-ar-wire
   class the block roots already carry. The decoration comes off in
   both, so a wireframe describes the LAYOUT and nothing else —
   which is the whole point of the mode. */
.fs-ar-wire .fs-ar-ring,
.fs-ar-wire .fs-ar-cta-arc,
.fs-ar-wire .fs-ar-cut-fallback,
.fs-ar-wire .fs-ar-eyebrow::before,
.fs-ar-wire .fs-ar-badge::before,
.fs-ar-wire .fs-ar-cred::before,
.fs-ar-wire .fs-ar-pg-inc li::before,
.fs-ar-wire .fs-ar-link::after{display:none;}
.fs-ar-wire .fs-ar-cut,
.fs-ar-wire .fs-ar-badge,
.fs-ar-wire .fs-ar-pg-card,
.fs-ar-wire .fs-ar-cta-panel,
.fs-ar-wire .fs-ar-seg,
.fs-ar-wire .fs-ar-chip,
.fs-ar-wire .fs-ar-of-card,
.fs-ar-wire .fs-ar-btn{
  background:transparent;
  border:1px dashed rgb(var(--c-ink-950) / .55);
}
.fs-ar-wire .fs-ar-btn,
.fs-ar-wire .fs-ar-seg-b[data-on="1"],
.fs-ar-wire .fs-ar-pt-disc{
  background:transparent;color:rgb(var(--c-ink-950));
}
.fs-ar-wire .fs-ar-pt-disc{border:1px dashed rgb(var(--c-ink-950) / .55);}
.fs-ar-wire .fs-ar-accent,
.fs-ar-wire .fs-ar-pg-figure,
.fs-ar-wire .fs-ar-eyebrow,
.fs-ar-wire .fs-ar-pt-mark,
.fs-ar-wire .fs-ar-pg-n,
.fs-ar-wire .fs-ar-of-p,
.fs-ar-wire .fs-ar-of-flag{color:rgb(var(--c-ink-950));}
.fs-ar-wire .fs-ar-of-flag::before{display:none;}
.fs-ar-wire .fs-ar-pg-inc li{padding-left:0;}
.fs-ar-wire .fs-ar .fs-ar-chip[data-on="1"],
.fs-ar-wire.fs-ar .fs-ar-chip[data-on="1"]{
  background:transparent;border:1px dashed rgb(var(--c-ink-950) / .55);
}

/* ── Motion — one flourish, and it respects the system setting ──
   The struck arc behind the hero draws itself in once, on a
   compositor-only transform. Nothing else on the page moves without
   a pointer or a key. */
@keyframes fs-ar-strike{
  from{opacity:0;transform:scale(.9) translateY(1rem);}
  to{opacity:1;transform:none;}
}
.fs-ar-anim .fs-ar-ring{
  animation:fs-ar-strike .9s cubic-bezier(.22,.61,.36,1) both;
  transform-origin:bottom left;
}
.fs-ar-anim .fs-ar-badge{
  animation:fs-ar-strike .9s cubic-bezier(.22,.61,.36,1) .25s both;
}
@media (prefers-reduced-motion: reduce){
  .fs-ar *,.fs-ar *::before,.fs-ar *::after{
    animation:none !important;
    transition:none !important;
  }
}

/* ── favArcFooter (theme-chrome batch 5, Meridian) ──────────────────
   The band is the full-bleed container fs-ar-ft (the page colour); the
   content box is the named container fs-ar-ft-in. The panel's struck
   arcs and the horizon's disc are painted backgrounds, never positioned
   children (nothing can scroll sideways). */
.fs-ar-ft{container-type:inline-size;container-name:fs-ar-ft;padding:0 clamp(1rem,4vw,2.5rem);background:rgb(var(--c-paper));--ar-ft-rule:rgb(var(--c-ink-950) / .22);--ar-ft-gilt:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 86%, rgb(var(--c-ink-950)));--ar-ft-mark:rgb(var(--c-accent, var(--c-brand-600)));--ar-ft-disc:rgb(var(--c-accent, var(--c-brand-600)));--ar-ft-arc1:rgb(var(--c-accent, var(--c-brand-600)) / .58);--ar-ft-arc2:rgb(var(--c-accent, var(--c-brand-600)) / .4);--ar-ft-arc3:rgb(var(--c-accent, var(--c-brand-600)) / .26);--ar-ft-arc4:rgb(var(--c-accent, var(--c-brand-600)) / .15)}
.fs-ar-ft:is(.dark *):not(.fs-preview-light *){--ar-ft-gilt:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-ar-ft-in{container-type:inline-size;container-name:fs-ar-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:56px 30px;font-size:15px;line-height:1.55}
.fs-ar-ft-panel{--ar-ft-r1:4.5rem;--ar-ft-r2:7rem;--ar-ft-r3:9.5rem;--ar-ft-r4:12rem;--ar-ft-fp:clamp(24px,4.4cqi,52px);padding:calc(var(--ar-ft-fp) + 6px) var(--ar-ft-fp) calc(var(--ar-ft-fp) - 6px);border:1px solid var(--ar-ft-rule);border-radius:clamp(4rem,11cqi,9rem) 0 0 0;background:radial-gradient(circle at 100% 100%,transparent calc(var(--ar-ft-r1) - 1.4px),var(--ar-ft-arc1) calc(var(--ar-ft-r1) - 1px) var(--ar-ft-r1),transparent calc(var(--ar-ft-r1) + .4px) calc(var(--ar-ft-r2) - 1.4px),var(--ar-ft-arc2) calc(var(--ar-ft-r2) - 1px) var(--ar-ft-r2),transparent calc(var(--ar-ft-r2) + .4px) calc(var(--ar-ft-r3) - 1.4px),var(--ar-ft-arc3) calc(var(--ar-ft-r3) - 1px) var(--ar-ft-r3),transparent calc(var(--ar-ft-r3) + .4px) calc(var(--ar-ft-r4) - 1.4px),var(--ar-ft-arc4) calc(var(--ar-ft-r4) - 1px) var(--ar-ft-r4),transparent calc(var(--ar-ft-r4) + .4px)),rgb(var(--c-paper-soft))}
.fs-ar-ft-horizon{height:15px;margin-block:clamp(26px,3.6cqi,40px) clamp(22px,3cqi,34px);background:radial-gradient(circle at 62% 50%,var(--ar-ft-disc) 0 6.5px,transparent 7px),linear-gradient(var(--ar-ft-rule),var(--ar-ft-rule)) 0 50%/100% 1px no-repeat}
.fs-ar-ft-mark{display:block;flex:none;width:38px;height:38px}
.fs-ar-ft-mark-l{stroke:rgb(var(--c-brand-600))}
.fs-ar-ft-mark-d{fill:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-ar-ft-logo{display:inline-flex;align-items:center;gap:8px;color:rgb(var(--c-ink-950));text-decoration:none}
.fs-ar-ft-name{font-family:var(--font-display, "Instrument Serif",Georgia,"Times New Roman",serif);font-weight:400;font-size:21.6px;line-height:1;letter-spacing:.012em}
.fs-ar-ft-head{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);align-items:end;gap:22px clamp(24px,4cqi,56px)}
.fs-ar-ft-idc{min-width:0}
.fs-ar-ft-state{margin-top:18px;max-width:24ch;font-family:var(--font-display, "Instrument Serif",Georgia,"Times New Roman",serif);font-weight:400;font-size:clamp(27px,3.3cqi,40px);line-height:1.1;letter-spacing:-.012em;color:rgb(var(--c-ink-950));text-wrap:balance}
.fs-ar-ft-em{font-style:italic;color:rgb(var(--c-brand-text))}
.fs-ar-ft-reach{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.fs-ar-ft-tel{display:inline-block;font-family:var(--font-display, "Instrument Serif",Georgia,"Times New Roman",serif);font-weight:400;font-size:clamp(28px,3cqi,36px);line-height:1;letter-spacing:.01em;color:rgb(var(--c-brand-text));text-decoration:none}
.fs-ar-ft-when{font-size:13.5px;line-height:1.5;color:rgb(var(--c-ink-700))}
.fs-ar-ft-mail{display:inline-flex;align-items:center;gap:9px;padding-bottom:4px;border-bottom:1px solid var(--ar-ft-rule);font-size:13.5px;font-weight:600;line-height:1.3;color:rgb(var(--c-ink-950));overflow-wrap:anywhere;text-decoration:none;transition:color .25s ease,border-color .25s ease}
.fs-ar-ft-mail::after{content:'';flex:none;width:6px;height:6px;border-right:1.5px solid currentColor;border-top:1.5px solid currentColor;border-radius:0 100% 0 0;transform:rotate(45deg)}
.fs-ar-ft-mail:hover{color:rgb(var(--c-brand-text));border-color:rgb(var(--c-brand-text))}
.fs-ar-ft-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px clamp(20px,3cqi,40px)}
.fs-ar-ft-col{min-width:0}
.fs-ar-ft-h{margin:0 0 12px;font-size:11px;font-weight:600;line-height:1.2;letter-spacing:.2em;text-transform:uppercase;color:var(--ar-ft-gilt)}
.fs-ar-ft-p{margin:0;font-size:14.5px;line-height:1.6;color:rgb(var(--c-ink-950))}
.fs-ar-ft-p + .fs-ar-ft-p{margin-top:8px;font-size:13.5px;color:rgb(var(--c-ink-700))}
.fs-ar-ft-list{list-style:none;margin:0;padding:0}
.fs-ar-ft-li{padding-block:4px}
.fs-ar-ft-link{display:inline-block;font-family:var(--font-display, "Instrument Serif",Georgia,"Times New Roman",serif);font-weight:400;font-size:19px;line-height:1.25;color:rgb(var(--c-ink-950));text-decoration:none}
.fs-ar-ft-link:hover{font-style:italic;color:rgb(var(--c-brand-text))}
.fs-ar-ft-creds{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.fs-ar-ft-cred{position:relative;padding-left:20px;font-size:14px;line-height:1.5;color:rgb(var(--c-ink-700))}
.fs-ar-ft-cred::before{content:'';position:absolute;left:0;top:6px;width:10px;height:10px;border-left:1.5px solid var(--ar-ft-mark);border-top:1.5px solid var(--ar-ft-mark);border-radius:100% 0 0 0}
.fs-ar-ft-legal{display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:16px;padding-left:4px;font-size:12.5px;color:rgb(var(--c-ink-400))}
.fs-ar-ft-legal-t{margin-right:auto}
.fs-ar-ft-legal-a{color:inherit;text-decoration:none}
.fs-ar-ft-legal-a:hover{color:rgb(var(--c-ink-950))}
@container fs-ar-ft (max-width: 40rem){
  .fs-ar-ft-in{padding-block:36px 24px}
}
@container fs-ar-ft-in (max-width: 56rem){
  .fs-ar-ft-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container fs-ar-ft (max-width: 48rem){
  .fs-ar-ft-head{grid-template-columns:minmax(0,1fr)}
  .fs-ar-ft-cols{grid-template-columns:minmax(0,1fr);gap:22px}
  .fs-ar-ft-panel{--ar-ft-r1:3.5rem;--ar-ft-r2:5.5rem;--ar-ft-r3:7.5rem;--ar-ft-r4:9.5rem}
}
@media (prefers-reduced-motion: reduce){
  .fs-ar-ft-mail,.fs-ar-ft-link{transition:none}
}


.fs-sp{
  position:relative;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
  overflow:hidden;
}
.fs-sp *{box-sizing:border-box;}

@keyframes fs-sp-reveal{from{clip-path:circle(0% at 50% 30%);opacity:.35;}to{clip-path:circle(130% at 50% 30%);opacity:1;}}
@keyframes fs-sp-ripple{to{transform:scale(1);opacity:0;}}
@keyframes fs-sp-float{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}
/* var(--fs-anim-reveal, ...) / var(--fs-anim-ripple, ...): the Site
   Settings -> Micro-animations toggle contract (themes/format.ts's
   microAnimations field, site-shell.ts's microAnimationVars). Off sets
   the var to none at the site-shell root; on leaves it undefined, so
   the real default after the comma plays exactly as before this
   feature existed. fs-sp-float has NO var indirection: the keyframe is
   defined but never applied to an element in this port (the hero logo
   it would drift lives in shared header chrome, not a Sphere-owned
   component), so it is deliberately absent from homesphere.ts's
   microAnimations list — nothing to toggle that does not exist. */
.fs-sp-anim .fs-sp-reveal-in{animation:var(--fs-anim-reveal, fs-sp-reveal .7s ease-out both);}
@media (prefers-reduced-motion: reduce){
  .fs-sp-reveal-in{animation:none !important;}
  .fs-sp-float{animation:none !important;}
}
.fs-sp-wire .fs-sp-reveal-in{animation:none;}

/* ── Type ─────────────────────────────────────────────────────── */
/* The design's second voice: Inter for labels, captions, eyebrows and
   data (DESIGN-LANGUAGE.md). The theme carries Inter in its mono slot —
   format.ts's "data voice" — so these classes read --font-mono, with
   Inter named as the literal fallback for surfaces that render the
   blocks without this theme's fonts loaded. */
.fs-sp-eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;
  color:rgb(var(--c-brand-600));
  font-family:var(--font-mono, 'Inter', sans-serif);
  font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
}
/* MEASURED against source/Website.dc.html line 89: "All homes →" is
   Inter 13px/600, not the page's Manrope body font. */
.fs-sp-link{
  font-family:var(--font-mono, 'Inter', sans-serif);
  color:rgb(var(--c-brand-600));font-weight:600;font-size:.84rem;white-space:nowrap;
}
/* Source H1 is a FIXED 50px above 760px (36px below, hard breakpoint —
   [data-m-h1]). clamp() keeps that as a smooth curve between the same
   two endpoints rather than the source's single snap, which is a
   defensible improvement, not a deviation — the desktop and mobile
   values it lands on are the source's own. */
.fs-sp-title{
  margin:.85rem 0 0;
  font-family:var(--font-display, 'Manrope', sans-serif);
  font-size:clamp(2.25rem,4.2vw + 1rem,3.125rem);
  line-height:1.05;font-weight:800;letter-spacing:-.02em;
  color:rgb(var(--c-ink-950));
  text-wrap:balance;
}
.fs-sp-h{
  margin:.7rem 0 0;
  font-family:var(--font-display, 'Manrope', sans-serif);
  font-size:clamp(1.6rem,3vw + .6rem,2.125rem);
  line-height:1.12;font-weight:800;letter-spacing:-.015em;
  color:rgb(var(--c-ink-950));
  text-wrap:balance;
}
.fs-sp-sub{
  margin:1rem 0 0;max-width:52ch;
  font-size:1.125rem;line-height:1.6;
  color:rgb(var(--c-ink-700));
  text-wrap:pretty;
}

/* ── Buttons — a filled pill, always ─────────────────────────── */
.fs-sp-ctas{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:1.7rem;align-items:center;}
.fs-sp-btn{
  position:relative;overflow:hidden;
  display:inline-flex;align-items:center;justify-content:center;
  padding:.95rem 1.9rem;
  border-radius:var(--fs-radius-pill, 999px);
  font-size:.92rem;font-weight:700;line-height:1;white-space:nowrap;
  /* --fs-on-brand, not --c-paper: apply.ts SOLVES this token per palette
     (onBrandChannels picks whichever of the palette's paper/ink reads
     better on the brand fill, falling back to a pure extreme when
     neither clears AA). Hardcoding paper is the exact bug that token
     exists to fix — it is right on a light palette, where brand is the
     darker of the pair, and wrong on a dark one. */
  color:var(--fs-on-brand, rgb(var(--c-paper)));
  background:rgb(var(--c-brand-600));
  border:1px solid rgb(var(--c-brand-600));
  transition:background .25s ease, border-color .25s ease, transform .2s ease;
}
.fs-sp-btn:hover{background:rgb(var(--c-brand-700, var(--c-brand-600)));border-color:rgb(var(--c-brand-700, var(--c-brand-600)));transform:translateY(-1px);}
.fs-sp-btn-ghost{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.9rem 1.7rem;
  border-radius:var(--fs-radius-pill, 999px);
  font-size:.92rem;font-weight:700;
  color:rgb(var(--c-ink-950));
  background:rgb(var(--c-surface, var(--c-paper)));
  border:1px solid rgb(var(--c-ink-950) / .14);
  transition:border-color .2s ease, transform .2s ease;
}
.fs-sp-btn-ghost:hover{border-color:rgb(var(--c-brand-600));transform:translateY(-1px);}
.fs-sp-ripple-mark{position:absolute;border-radius:50%;pointer-events:none;background:rgb(var(--c-paper) / .4);transform:scale(0);animation:var(--fs-anim-ripple, fs-sp-ripple .6s ease-out forwards);}

/* ═════════ HERO (favSphereHero) ═════════
   Centred copy over a soft radial glow, with two concentric orbit
   rings behind it — the source file's signature "step inside the
   sphere" hero, minus the app-tier switcher (that lives in Settings,
   not the page). */
.fs-sp-hero{padding:clamp(3.2rem,7vw,5.6rem) 1.5rem clamp(2.6rem,5vw,4rem);text-align:center;}
/* Two glow treatments, not one — source draws them differently per tier
   (Website.dc.html: Mini glow 640px at top 46% plus a 460px ring;
   Standard glow 760px at top 30%, no ring at all). favSphereHero's
   hasSearch flag selects the Standard layout, so the same flag adds
   the fs-sp-hero-std class to the root section (see SphereBlocks.tsx)
   and these overrides key off it. */
.fs-sp-hero-orbit{
  position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);
  width:min(640px,92vw);height:min(640px,92vw);border-radius:50%;
  background:radial-gradient(circle at 45% 38%, rgb(var(--c-brand-600) / .14), transparent 68%);
  pointer-events:none;
}
.fs-sp-hero-ring{
  position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);
  width:min(460px,68vw);height:min(460px,68vw);border-radius:50%;
  border:1px solid rgb(var(--c-ink-950) / .1);
  pointer-events:none;
}
.fs-sp-hero-std .fs-sp-hero-orbit{
  top:30%;width:min(760px,94vw);height:min(760px,94vw);
  background:radial-gradient(circle at 45% 38%, rgb(var(--c-brand-600) / .14), transparent 66%);
}
.fs-sp-hero-std .fs-sp-hero-ring{display:none;}
.fs-sp-hero-inner{position:relative;max-width:min(620px, var(--fs-layout-clamp, 620px));margin:0 auto;}
.fs-sp-hero-std .fs-sp-hero-inner{max-width:min(760px, var(--fs-layout-clamp, 760px));}
.fs-sp-hero .fs-sp-title,
.fs-sp-hero .fs-sp-sub,
.fs-sp-hero .fs-sp-eyebrow{margin-left:auto;margin-right:auto;}
.fs-sp-hero .fs-sp-ctas{justify-content:center;}
.fs-sp-hero-stats{display:flex;gap:1.75rem;justify-content:center;flex-wrap:wrap;margin-top:2.125rem;}
.fs-sp-hero-stat{text-align:center;}
.fs-sp-hero-stat-v{font-family:var(--font-display, 'Manrope', sans-serif);font-weight:800;font-size:1.5rem;}
.fs-sp-hero-stat-l{font-family:var(--font-mono, 'Inter', sans-serif);font-size:.78rem;color:rgb(var(--c-ink-500, var(--c-ink-700)));margin-top:.15rem;}
.fs-sp-hero-divider{width:1px;background:rgb(var(--c-ink-950) / .12);}

/* The Standard tier's pill search bar — MEASURED against source line 141:
   max-width 680px, padding 8px 8px 8px 24px, gap 10px. */
.fs-sp-hero-search{
  display:flex;align-items:center;gap:.625rem;
  max-width:min(680px, var(--fs-layout-clamp, 680px));margin:1.9rem auto 0;
  background:rgb(var(--c-surface, var(--c-paper)));
  border:1px solid rgb(var(--c-ink-950) / .08);
  border-radius:999px;
  padding:.5rem .5rem .5rem 1.5rem;
  box-shadow:var(--fs-shadow-card, 0 14px 34px rgb(var(--c-ink-950) / .08));
  text-align:left;
}
.fs-sp-hero-search-icon{width:18px;height:18px;flex:none;color:rgb(var(--c-ink-500, var(--c-ink-700)));}
.fs-sp-hero-search-ph{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9375rem;color:rgb(var(--c-ink-500, var(--c-ink-700)));}
.fs-sp-hero-search-btn{flex:none;padding:.8125rem 1.625rem;font-size:.875rem;}

/* ═════════ HEADER (favSphereHeader) ═════════
   A plain page opener with the same orbit-ring backdrop, scaled down. */
.fs-sp-hd{padding:clamp(2.4rem,5vw,3.6rem) 1.5rem;text-align:center;}
.fs-sp-hd-inner{position:relative;max-width:min(620px, var(--fs-layout-clamp, 620px));margin:0 auto;}
.fs-sp-hd .fs-sp-title,.fs-sp-hd .fs-sp-eyebrow,.fs-sp-hd .fs-sp-sub{margin-left:auto;margin-right:auto;}

/* ═════════ LISTINGS (favSphereListings) ═════════
   A grid of property cards: circular map-pin icon, price pill overlaid
   bottom-right on the photo, spec row beneath. Cards lift + soften their
   shadow on hover, matching the source file's PropertyCard component. */
.fs-sp-listings{padding:clamp(2.4rem,5vw,3.6rem) 1.5rem;}
.fs-sp-listings-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem;max-width:var(--fs-layout-max, var(--fs-shell-max,1180px));margin-left:auto;margin-right:auto;}
.fs-sp-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.4rem;
  max-width:var(--fs-layout-max, var(--fs-shell-max,1180px));margin:0 auto;
}
.fs-sp-card{
  background:rgb(var(--c-surface, var(--c-paper)));
  border:1px solid rgb(var(--c-ink-950) / .1);
  border-radius:var(--fs-radius-card, 28px);
  overflow:hidden;
  box-shadow:var(--fs-shadow-card, 0 14px 34px rgb(var(--c-ink-950) / .08));
  transition:transform .3s ease, box-shadow .3s ease;
}
.fs-sp-card:hover{transform:translateY(-5px);box-shadow:0 22px 44px rgb(var(--c-brand-600) / .16);}
/* Every value below is MEASURED against source/PropertyCard.dc.html. */
.fs-sp-card-photo{position:relative;height:186px;background:rgb(var(--c-brand-600) / .1);}
.fs-sp-card-tag{
  position:absolute;top:14px;left:14px;
  background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)));
  font-family:var(--font-mono, 'Inter', sans-serif);
  font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  padding:.375rem .75rem;border-radius:999px;
}
.fs-sp-card-price{
  position:absolute;bottom:14px;right:14px;
  background:rgb(var(--c-paper) / .88);backdrop-filter:blur(8px);
  border:1px solid rgb(var(--c-ink-950) / .1);
  color:rgb(var(--c-ink-950));font-weight:800;font-size:.9375rem;
  padding:.4375rem .875rem;border-radius:999px;
}
.fs-sp-card-body{padding:1rem 1.25rem 1.25rem;}
.fs-sp-card-name{font-weight:800;font-size:1.125rem;letter-spacing:-.01em;}
.fs-sp-card-area{display:flex;align-items:center;gap:.375rem;font-family:var(--font-mono, 'Inter', sans-serif);font-size:.78rem;color:rgb(var(--c-ink-700));margin:.3rem 0 .75rem;}
.fs-sp-card-pin{width:13px;height:13px;flex:none;color:rgb(var(--c-brand-600));}
.fs-sp-card-specs{
  display:flex;gap:.875rem;font-family:var(--font-mono, 'Inter', sans-serif);font-size:.78rem;font-weight:500;color:rgb(var(--c-ink-700));
  border-top:1px solid rgb(var(--c-ink-950) / .08);padding-top:.75rem;
}
.fs-sp-card-view{margin-left:auto;color:rgb(var(--c-brand-600));font-weight:600;}

/* ═════════ MORTGAGE (favSphereMortgage) — THE interactive piece ═════════
   Two live sliders (price, deposit) drive a conic-gradient donut split
   between principal and interest, priced with an ordinary amortisation
   formula. Rate and term are authored fields (not sliders) so the same
   block prices any market without a settings panel. */
.fs-sp-mort{padding:clamp(2.4rem,5vw,3.6rem) 1.5rem;}
.fs-sp-mort-card{
  max-width:var(--fs-layout-max,1040px);margin:0 auto;
  background:rgb(var(--c-surface, var(--c-paper)));
  border:1px solid rgb(var(--c-ink-950) / .1);
  border-radius:var(--fs-radius-card, 32px);
  box-shadow:var(--fs-shadow-card, 0 14px 34px rgb(var(--c-ink-950) / .08));
  padding:clamp(1.6rem,4vw,2.75rem);
  display:grid;grid-template-columns:1.15fr .85fr;gap:2.75rem;
}
@media (max-width:760px){.fs-sp-mort-card{grid-template-columns:1fr;}}
.fs-sp-mort-field{margin-bottom:1.375rem;}
.fs-sp-mort-field:last-child{margin-bottom:0;}
.fs-sp-mort-row{display:flex;justify-content:space-between;font-size:.8125rem;font-weight:600;margin-bottom:.5rem;}
.fs-sp-mort-row span:last-child{color:rgb(var(--c-brand-600));}
.fs-sp-mort-slider{width:100%;accent-color:rgb(var(--c-brand-600));}
.fs-sp-mort-result{
  border-radius:var(--fs-radius-card, 28px);
  background:radial-gradient(circle at 30% 20%, rgb(var(--c-brand-600) / .12), transparent 70%), rgb(var(--c-paper));
  border:1px solid rgb(var(--c-ink-950) / .08);
  padding:2rem;display:flex;flex-direction:column;align-items:center;gap:1.125rem;text-align:center;
}
.fs-sp-donut{
  position:relative;width:158px;height:158px;border-radius:50%;display:grid;place-items:center;
}
.fs-sp-donut-hole{
  width:118px;height:118px;border-radius:50%;
  background:rgb(var(--c-surface, var(--c-paper)));
  display:grid;place-items:center;text-align:center;
}
.fs-sp-donut-v{font-weight:800;font-size:1.375rem;}
.fs-sp-donut-l{font-family:var(--font-mono, 'Inter', sans-serif);font-size:.68rem;color:rgb(var(--c-ink-500, var(--c-ink-700)));}
.fs-sp-mort-legend{font-size:.78rem;color:rgb(var(--c-ink-700));line-height:1.9;}
.fs-sp-mort-legend b{color:rgb(var(--c-ink-950));}

/* ═════════ AGENTS (favSphereAgents) ═════════
   Circular outlined portraits, a badge pill, a Contact link. */
.fs-sp-agents{padding:clamp(2.4rem,5vw,3.6rem) 1.5rem;}
.fs-sp-agents-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.4rem;
  max-width:var(--fs-layout-max,1040px);margin:0 auto;
}
.fs-sp-agent{
  background:rgb(var(--c-surface, var(--c-paper)));
  border:1px solid rgb(var(--c-ink-950) / .1);
  border-radius:var(--fs-radius-card, 32px);
  box-shadow:var(--fs-shadow-card, 0 14px 34px rgb(var(--c-ink-950) / .08));
  padding:2rem;text-align:center;
  transition:transform .3s ease;
}
.fs-sp-agent:hover{transform:translateY(-4px);}
.fs-sp-agent-photo{
  width:104px;height:104px;border-radius:50%;margin:0 auto 1rem;overflow:hidden;
  outline:3px solid rgb(var(--c-brand-600));outline-offset:4px;
  background:rgb(var(--c-brand-600) / .12);
}
.fs-sp-agent-name{font-weight:800;font-size:1.1875rem;}
.fs-sp-agent-role{font-family:var(--font-mono, 'Inter', sans-serif);font-size:.78rem;color:rgb(var(--c-ink-700));margin:.25rem 0 .75rem;}
.fs-sp-agent-badge{
  display:inline-block;background:rgb(var(--c-brand-600) / .12);color:rgb(var(--c-brand-600));
  font-family:var(--font-mono, 'Inter', sans-serif);
  font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  padding:.375rem .875rem;border-radius:999px;margin-bottom:.875rem;
}
.fs-sp-agent-stat{
  font-family:var(--font-mono, 'Inter', sans-serif);
  font-size:.8125rem;color:rgb(var(--c-ink-700));line-height:1.7;
}
.fs-sp-agent-contact{
  display:block;margin-top:1rem;
  border:1px solid rgb(var(--c-ink-950) / .14);border-radius:999px;
  padding:.625rem 1.375rem;font-size:.8125rem;font-weight:700;color:rgb(var(--c-ink-950));
}

/* ═════════ CTA (favSphereCta) ═════════
   Full-bleed brand-filled panel with two soft decorative discs. */
.fs-sp-cta{padding:clamp(2rem,4vw,3rem) 1.5rem;}
.fs-sp-cta-panel{
  position:relative;overflow:hidden;max-width:var(--fs-layout-max,1040px);margin:0 auto;
  border-radius:var(--fs-radius-card, 32px);
  background:radial-gradient(circle at 20% 20%, rgb(var(--c-brand-500, var(--c-brand-600))), rgb(var(--c-brand-600)) 60%, rgb(var(--c-brand-800, var(--c-brand-600))));
  color:var(--fs-on-brand, rgb(var(--c-paper)));
  padding:clamp(2.25rem,5vw,3.25rem) 2.5rem;text-align:center;
}
.fs-sp-cta-disc-a{position:absolute;right:-70px;bottom:-90px;width:280px;height:280px;border-radius:50%;background:rgb(255 255 255 / .14);pointer-events:none;}
.fs-sp-cta-disc-b{position:absolute;left:-50px;top:-60px;width:200px;height:200px;border-radius:50%;border:1px solid rgb(255 255 255 / .3);pointer-events:none;}
.fs-sp-cta-inner{position:relative;max-width:560px;margin:0 auto;}
.fs-sp-cta .fs-sp-h{color:var(--fs-on-brand, rgb(var(--c-paper)));}
.fs-sp-cta-body{margin-top:.6rem;font-size:.98rem;opacity:.9;}
.fs-sp-cta-btn{
  display:inline-flex;align-items:center;justify-content:center;margin-top:1.6rem;
  padding:.95rem 2rem;border-radius:999px;
  background:rgb(var(--c-paper));color:rgb(var(--c-brand-700, var(--c-brand-600)));
  font-weight:800;font-size:.94rem;
}

/* ═════════ MAP (favSphereMap) ═════════
   The source design's "On the map" canvas: grid paper drawn as two
   repeating-linear-gradients (52px cells, 1px --c-line) over a radial
   accent glow, with pill price markers positioned in PER CENT so they
   stay put at any width and survive a customer editing the figures.
   Selecting a marker opens a preview card beneath the canvas.

   NOT a real map, deliberately — the prototype's is a drawn abstraction,
   and favMapEmbed already exists for anyone wanting real coordinates. */
.fs-sp-map{padding:clamp(2.4rem,5vw,3.6rem) 1.5rem;}
.fs-sp-map-head{max-width:var(--fs-layout-max, var(--fs-shell-max,1180px));margin:0 auto 1.5rem;}
.fs-sp-map-canvas{
  position:relative;max-width:var(--fs-layout-max, var(--fs-shell-max,1180px));margin:0 auto;
  height:clamp(320px,46vw,460px);
  border-radius:32px;
  border:1px solid rgb(var(--c-ink-950) / .1);
  background:
    radial-gradient(circle at 70% 30%, rgb(var(--c-brand-600) / .16), transparent 45%),
    repeating-linear-gradient(to right,  rgb(var(--c-ink-950) / .07) 0 1px, transparent 1px 52px),
    repeating-linear-gradient(to bottom, rgb(var(--c-ink-950) / .07) 0 1px, transparent 1px 52px),
    rgb(var(--c-paper-soft, var(--c-paper)));
  overflow:hidden;
}
.fs-sp-map-badge{
  display:flex;align-items:center;gap:.75rem;
  position:absolute;top:24px;left:24px;z-index:2;
  background:rgb(var(--c-surface, var(--c-paper)));
  border:1px solid rgb(var(--c-ink-950) / .1);
  border-radius:999px;padding:.625rem 1.25rem .625rem .75rem;
  box-shadow:var(--fs-shadow-card, 0 14px 34px rgb(var(--c-ink-950) / .08));
}
.fs-sp-map-badge-icon{
  width:30px;height:30px;flex:none;border-radius:50%;
  background:radial-gradient(circle at 32% 26%, rgb(var(--c-brand-500, var(--c-brand-600))), rgb(var(--c-brand-600)));
}
.fs-sp-map-badge-t{font-weight:800;font-size:.875rem;line-height:1.2;}
.fs-sp-map-badge-s{font-family:var(--font-mono, 'Inter', sans-serif);font-size:.71875rem;color:rgb(var(--c-ink-700));margin-top:.1rem;}
/* A marker is a real <button>: it is the block's interactive control, so
   it has to be reachable by keyboard, not only by pointer. The sheet
   writes its colours at (0,2,0) — typography.ts paints every canvas
   <button> with --fs-btn-color at (0,1,1), which has eaten button labels
   in three previous families (Rally, Torque, Milestone). */
.fs-sp-map .fs-sp-marker,
.fs-sp-map .fs-sp-marker[data-on="0"]{
  position:absolute;transform:translate(-50%,-50%);z-index:3;
  display:inline-flex;align-items:center;
  min-height:34px;padding:.5rem .8125rem;
  border-radius:999px;cursor:pointer;
  font-family:var(--font-mono, 'Inter', sans-serif);font-size:.71875rem;font-weight:700;line-height:1;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
  border:1px solid rgb(var(--c-ink-950) / .14);
  box-shadow:0 6px 16px rgb(var(--c-ink-950) / .14);
  transition:background .2s ease, color .2s ease, transform .25s ease;
}
/* The pill is 34px tall by design — a 44px price marker crowds the canvas
   at 390px, where six of them share it. So the TARGET is expanded past
   the paint instead: a transparent ::after guarantees the spec's 44px
   minimum without changing what is drawn. MEASURED at 390px, which is
   how the 34px shortfall was found in the first place. */
.fs-sp-map .fs-sp-marker::after{
  content:'';position:absolute;left:50%;top:50%;
  transform:translate(-50%,-50%);
  width:100%;height:44px;min-width:44px;
  border-radius:999px;
}
.fs-sp-map .fs-sp-marker:hover{transform:translate(-50%,-58%) scale(1.1);}
.fs-sp-map .fs-sp-marker[data-on="1"]{
  background:rgb(var(--c-brand-600));
  color:var(--fs-on-brand, rgb(var(--c-paper)));
  border-color:rgb(var(--c-brand-600));
}
.fs-sp-marker:focus-visible{outline:2px solid rgb(var(--c-brand-600));outline-offset:3px;}
.fs-sp-map-preview{
  max-width:var(--fs-layout-max, var(--fs-shell-max,1180px));margin:1.1rem auto 0;
  display:flex;align-items:center;gap:.875rem;flex-wrap:wrap;
  background:rgb(var(--c-surface, var(--c-paper)));
  border:1px solid rgb(var(--c-ink-950) / .1);
  border-radius:22px;
  box-shadow:var(--fs-shadow-card, 0 14px 34px rgb(var(--c-ink-950) / .08));
  padding:.875rem 1rem;
}
.fs-sp-map-thumb{
  width:82px;height:66px;flex:none;border-radius:14px;overflow:hidden;
  background:rgb(var(--c-brand-600) / .12);
}
.fs-sp-map-pv-name{font-weight:800;font-size:.9375rem;}
.fs-sp-map-pv-meta{font-family:var(--font-mono, 'Inter', sans-serif);font-size:.75rem;color:rgb(var(--c-ink-700));margin-top:.125rem;}
.fs-sp-map-pv-price{margin-left:auto;font-weight:800;color:rgb(var(--c-brand-600));font-size:.875rem;}
/* Source draws "View home" as a small SOLID accent pill, not the
   outlined fs-sp-btn-ghost the block used before — MEASURED at line 283. */
.fs-sp-map-pv-btn{
  flex:none;border:none;cursor:pointer;
  background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)));
  font-weight:700;font-size:.78125rem;
  padding:.6875rem 1.25rem;border-radius:999px;
}
.fs-sp-map-hint{
  max-width:var(--fs-layout-max, var(--fs-shell-max,1180px));margin:.8rem auto 0;
  font-size:.74rem;color:rgb(var(--c-ink-700));
}

/* ═════════ DETAIL (favSphereDetail) ═════════
   One home, full width: a 340px hero with the tag pill overlaid, the
   name/price row, accent-soft spec pills, the blurb, outlined feature
   chips, then the two closing actions. */
.fs-sp-dt{padding:clamp(2rem,4vw,3rem) 1.5rem;}
.fs-sp-dt-inner{max-width:var(--fs-layout-max,1040px);margin:0 auto;}
.fs-sp-dt-back{
  display:inline-block;margin-bottom:1rem;
  font-size:.8rem;font-weight:700;color:rgb(var(--c-brand-600));
}
.fs-sp-dt-hero{
  position:relative;height:clamp(220px,34vw,340px);
  border-radius:var(--fs-radius-card, 32px);
  background:rgb(var(--c-brand-600) / .1);
  border:1px solid rgb(var(--c-ink-950) / .08);
  overflow:hidden;
}
.fs-sp-dt-tag{
  position:absolute;top:16px;left:16px;z-index:2;
  background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)));
  font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  padding:.42rem .85rem;border-radius:999px;
}
.fs-sp-dt-row{
  display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap;margin-top:1.5rem;
}
.fs-sp-dt-name{
  font-family:var(--font-display, 'Manrope', sans-serif);
  font-size:clamp(1.7rem,3.4vw,2.15rem);font-weight:800;letter-spacing:-.015em;
  line-height:1.1;
}
.fs-sp-dt-price{
  margin-left:auto;font-weight:800;font-size:clamp(1.2rem,2.2vw,1.6rem);
  color:rgb(var(--c-brand-600));
}
.fs-sp-dt-area{font-size:.84rem;color:rgb(var(--c-ink-700));margin-top:.35rem;}
.fs-sp-dt-pills{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.2rem;}
.fs-sp-dt-pill{
  background:rgb(var(--c-brand-600) / .12);color:rgb(var(--c-brand-600));
  font-size:.76rem;font-weight:700;
  padding:.5rem 1rem;border-radius:999px;
}
.fs-sp-dt-blurb{
  margin-top:1.3rem;max-width:64ch;
  font-size:1rem;line-height:1.7;color:rgb(var(--c-ink-700));
  text-wrap:pretty;
}
.fs-sp-dt-chips{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.2rem;}
.fs-sp-dt-chip{
  border:1px solid rgb(var(--c-ink-950) / .16);
  border-radius:999px;padding:.45rem .95rem;
  font-size:.76rem;font-weight:600;color:rgb(var(--c-ink-950));
}
.fs-sp-dt-rule{height:1px;background:rgb(var(--c-ink-950) / .1);margin:1.6rem 0 0;}
@media (max-width:600px){
  .fs-sp-dt-price{margin-left:0;}
}

/* ═════════ FOOTER (favSphereFooter) ═════════
   A theme-owned block — see themes/format.ts's FOOTER_REGION_TYPES
   comment for why this exists instead of the shared layoutColumns
   section. Every value MEASURED against source/Website.dc.html's
   own <footer>, lines 438-451. */
.fs-sp-ft{
  border-top:1px solid rgb(var(--c-ink-950) / .1);
}
.fs-sp-ft-grid{
  max-width:var(--fs-layout-max, var(--fs-shell-max,1180px));margin:0 auto;
  padding:3.5rem 2rem 2.5rem;
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:2.25rem;
}
@media (max-width:760px){
  .fs-sp-ft-grid{grid-template-columns:1fr;gap:2rem;}
}
.fs-sp-ft-brand{display:flex;align-items:center;gap:.625rem;margin-bottom:.875rem;}
.fs-sp-ft-icon{
  position:relative;flex-shrink:0;width:32px;height:32px;border-radius:50%;
  background:radial-gradient(circle at 32% 26%, rgb(var(--c-brand-500, var(--c-brand-600))), rgb(var(--c-brand-600)));
}
.fs-sp-ft-icon-svg{position:absolute;inset:0;}
.fs-sp-ft-brand-name{font-weight:800;font-size:1.0625rem;}
.fs-sp-ft-blurb{
  font-family:var(--font-mono, 'Inter', sans-serif);
  font-size:.8125rem;color:rgb(var(--c-ink-700));line-height:1.7;
  max-width:260px;
}
.fs-sp-ft-heading{
  font-family:var(--font-mono, 'Inter', sans-serif);
  font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:rgb(var(--c-ink-700));margin-bottom:.875rem;
}
.fs-sp-ft-links{display:flex;flex-direction:column;gap:.625rem;align-items:flex-start;}
.fs-sp-ft-link{
  font-family:var(--font-mono, 'Inter', sans-serif);
  font-size:.84375rem;color:rgb(var(--c-ink-950));
  text-decoration:none;
}
.fs-sp-ft-link:hover{color:rgb(var(--c-brand-600));}
.fs-sp-ft-news{display:flex;gap:.5rem;}
.fs-sp-ft-news-input{
  flex:1;min-width:0;
  background:rgb(var(--c-surface, var(--c-paper)));
  border:1px solid rgb(var(--c-ink-950) / .12);
  border-radius:999px;padding:.75rem 1.125rem;
  font-size:.8125rem;color:rgb(var(--c-ink-950));
}
.fs-sp-ft-news-input::placeholder{color:rgb(var(--c-ink-500, var(--c-ink-700)));}
.fs-sp-ft-news-btn{
  flex-shrink:0;padding:.75rem 1.25rem;font-size:.8125rem;margin-top:0;
}
.fs-sp-ft-joined{
  font-family:var(--font-mono, 'Inter', sans-serif);
  font-size:.8125rem;font-weight:600;color:rgb(var(--c-brand-600));
  padding:.75rem 0;
}
.fs-sp-ft-bar{
  max-width:var(--fs-layout-max, var(--fs-shell-max,1180px));margin:0 auto;
  padding:0 2rem 2rem;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:.75rem;
  font-family:var(--font-mono, 'Inter', sans-serif);
  font-size:.75rem;color:rgb(var(--c-ink-700));
}
.fs-sp-ft-legal{display:flex;align-items:center;}
.fs-sp-ft-legal-link{
  font:inherit;color:inherit;text-decoration:none;
}
.fs-sp-ft-legal-link:hover{color:rgb(var(--c-brand-600));}
.fs-sp-ft-legal-link + .fs-sp-ft-legal-link{position:relative;padding-left:.75rem;}
.fs-sp-ft-legal-link + .fs-sp-ft-legal-link::before{
  content:'·';position:absolute;left:0;color:inherit;
}

/* HEADER CTA — pixel-verified against source/Website.dc.html: 13px
   text, 11px/20px padding. The platform's shared .fs-hdr-cta (menu-
   styles.ts) reads --fs-type-body, which resolves larger for this
   theme (1rem) — correct as a sane DEFAULT for a theme that doesn't
   care, wrong for one whose own design draws this button smaller than
   its body text on purpose. This theme-scoped override is the fix,
   not reverting to a hand-rolled per-surface copy: every surface still
   reads the ONE shared .fs-hdr-cta rule, this just refines it for the
   one theme whose source disagrees with the platform default — same
   pattern Stanhope's own nav-active override in optic-styles.ts uses
   for the same reason. Three selector parts (attr+class+class) so this
   reliably outranks the two-part base rule regardless of stylesheet
   load order, without reaching for !important.

   THE ACCESSIBILITY TRADE, made explicit rather than silently taken:
   13px/11px-20px alone computes to roughly 38px tall, under the 44px
   tap-target floor DESIGN-HANDOFF-SPEC §9 makes global. Rather than
   choosing between "match the source" and "meet the floor", both are
   kept — the pseudo-element below expands the CLICKABLE area to 44px
   without touching the visible pill's size. This is §9's own
   prescribed fix for exactly this situation ("expand the target past
   the paint … not inflate the artwork"), applied for real for the
   first time in this codebase rather than only documented. */
[data-fs-theme='homesphere'] .fs-hdr-row .fs-hdr-cta{
  font-size:.8125rem;
  padding:.6875rem 1.25rem;
  /* Overrides the base rule's 44px FLOOR, not just its padding/font —
     a min-height surviving this override would force the visible pill
     back up to 44px regardless of the smaller padding, silently
     undoing the whole point. The pseudo-element below is what actually
     carries the accessible tap target now. */
  min-height:0;
  position:relative;
}
[data-fs-theme='homesphere'] .fs-hdr-row .fs-hdr-cta::after{
  content:'';
  position:absolute;
  inset:-4px;
}

/* ── THE FIVE KIT MENUS, IN THIS THEME'S LANGUAGE ───────────────
   Every premium kit draws the same five archetypes and each maps to a
   platform style: Column Directory -> columns, Feature Spotlight ->
   feature, Tile Grid -> showcase, Split Preview -> tabbed, Full-Bleed
   Canvas -> promo. The CONTENT for each lives in this theme's
   megaMenus.byStyle; what follows is only how each shape wears this
   theme's clothes.

   THE METRIC TREATMENT is the one that needs saying. In the Canvas
   menu a text block is a NUMBER over a label — '98.4%' then 'CSAT this
   quarter'. The platform's mega-text heading is 13px/700, which renders
   a statistic at the size of a sub-heading and loses the whole point of
   the panel. So inside the flooded cell the heading becomes the figure.

   KNOWN LIMIT, not styled around: the tabbed style builds its RAIL from the nav
   item's CHILD PAGES, not from the tab headings authored in blocks. An
   item with one child shows one tab, and content authored for cols 1-3
   is unreachable. Measured on CreatorFlow, whose Marketplace has a
   single child. Fixing it means letting a linkList or a block heading
   name a tab, which is an engine change. */
[data-fs-theme='homesphere'] .fsdrop-panel-promo .fsdrop-mega-content .fsdrop-mega-text-heading{
  font-family:var(--font-display);
  font-size:30px;
  font-weight:800;
  letter-spacing:-1.2px;
  line-height:1;
  margin:0 0 4px;
}
[data-fs-theme='homesphere'] .fsdrop-panel-promo .fsdrop-mega-content .fsdrop-mega-text{
  margin-bottom:16px;
}
/* The first block in the flooded cell is the ARGUMENT, not a figure —
   it keeps sentence size so the numbers beside it stay the loud thing. */
[data-fs-theme='homesphere'] .fsdrop-panel-promo .fsdrop-mega-content-col:first-child .fsdrop-mega-text-heading{
  font-size:19px;
  letter-spacing:-.5px;
  line-height:1.2;
}
/* The link column beside a flooded cell is usually one or two child
   pages, so it should not hold a third of the panel. */
[data-fs-theme='homesphere'] .fsdrop-panel-promo .fsdrop-mega-col{
  min-width:0;
}
[data-fs-theme='homesphere'] .fsdrop-panel-tabbed .fsdrop-tab-panel .fsdrop-mega-text-heading{
  font-family:var(--font-display);
  font-size:17px;
  letter-spacing:-.3px;
}
[data-fs-theme='homesphere'] .fsdrop-panel-showcase .fsdrop-mega-content{
  padding-top:4px;
}

/* HomeSphere is a one-face theme, so a Canvas figure separates from its
   label by weight and size alone — there is no second family to reach
   for. 800 against the label's 400 is the whole hierarchy. */
[data-fs-theme='homesphere'] .fsdrop-panel-promo .fsdrop-mega-content .fsdrop-mega-text-heading{
  font-weight:800;
  letter-spacing:-1.4px;
}
/* ---- M1, generated by scripts/port-menu.mjs ---- */
/* The design's inherited context, re-established at the panel root.
   Every value below is one the kit set on <body> and its descendants
   relied on without restating. */
[data-fs-theme='homesphere'] .fs-hmsm-wrap {
  font-family:'Manrope', system-ui, sans-serif;
  font-size:15px;
  font-weight:initial;
  font-style:initial;
  line-height:1.6;
  letter-spacing:initial;
  word-spacing:initial;
  color:rgb(var(--c-ink-950));
  text-transform:initial;
  -webkit-font-smoothing:antialiased;
  font-variant-numeric:initial;
}

/* The design's inheritance model, re-established for descendants.
   Inheritance never beats a direct declaration, so a root baseline
   alone cannot undo a platform rule that targets a bare tag. */
[data-fs-theme='homesphere'] .fs-hmsm-wrap *:not(button):not(input):not(select):not(textarea) {
  line-height:inherit;
  letter-spacing:inherit;
  word-spacing:inherit;
  text-transform:inherit;
  font-variant-numeric:inherit;
}

/* What the UA gives a form control on the design page, said out
   loud, because the port's CSS reset does not give the same thing. */
[data-fs-theme='homesphere'] .fs-hmsm-wrap :is(button,input,select,textarea) {
  line-height:normal;
}

[data-fs-theme='homesphere'] .fs-hmsm-wrap .fs-hmsm-eyebrow {
  font-family:'Inter', system-ui, sans-serif;
  font-size:12px;
  font-weight:600;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:rgb(var(--c-ink-400));
  margin:0 0 14px;
  display:block;
  line-height:16.800px;
}

[data-fs-theme='homesphere'] .fs-hmsm-wrap .fs-hmsm-linkarrow {
  color:rgb(var(--c-brand-600));
  font-size:14px;
  font-weight:700;
  text-decoration:none;
}

[data-fs-theme='homesphere'] .fs-hmsm-wrap .fs-hmsm-cols {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  padding:8px;
}

[data-fs-theme='homesphere'] .fs-hmsm-wrap .fs-hmsm-col {
  padding:20px 18px;
}

[data-fs-theme='homesphere'] .fs-hmsm-wrap .fs-hmsm-col ul {
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:1px;
}

[data-fs-theme='homesphere'] .fs-hmsm-wrap .fs-hmsm-col a {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  text-decoration:none;
  color:rgb(var(--c-ink-950));
  font-size:14.5px;
  padding:9px 12px;
  border-radius:12px;
  font-weight:500;
}

[data-fs-theme='homesphere'] .fs-hmsm-wrap .fs-hmsm-col a:hover {
  background:rgb(var(--c-brand-50));
  color:rgb(var(--c-brand-600));
}

[data-fs-theme='homesphere'] .fs-hmsm-wrap .fs-hmsm-col a .fs-hmsm-n {
  font-family:'Inter', system-ui, sans-serif;
  font-size:12px;
  color:rgb(var(--c-ink-400));
  line-height:18.400px;
}

[data-fs-theme='homesphere'] .fs-hmsm-wrap .fs-hmsm-colfoot {
  background:rgb(var(--c-paper));
  padding:16px 26px;
  border-top:1px solid rgb(var(--c-line-soft));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}

[data-fs-theme='homesphere'] .fs-hmsm-wrap .fs-hmsm-colfoot span {
  font-size:13.5px;
  color:rgb(var(--c-ink-400));
}

@media (max-width:820px) {
  [data-fs-theme='homesphere'] .fs-hmsm-wrap .fs-hmsm-cols {
    grid-template-columns:repeat(2,1fr);
  }
}



.fs-rw{position:relative;background:rgb(var(--c-paper));color:rgb(var(--c-ink-950));font-family:var(--font-body,'Figtree',sans-serif);}
.fs-rw *{box-sizing:border-box;}
.fs-rw-wire{filter:grayscale(1) contrast(.5);}

/* ── shared voice ── */
.fs-rw-kick{font-size:12px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:rgb(var(--c-brand-600));}
.fs-rw-disp{font-family:var(--font-display,'Bricolage Grotesque',sans-serif);font-weight:800;letter-spacing:-.02em;margin:0;}
.fs-rw-head{font-family:var(--font-display,'Bricolage Grotesque',sans-serif);font-weight:700;letter-spacing:-.01em;margin:0;}
.fs-rw-card{background:rgb(var(--c-paper-soft,var(--c-paper)));border:1px solid rgb(var(--c-line));border-radius:16px;}
.fs-rw-btn{display:inline-block;border:none;border-radius:9999px;font-weight:700;cursor:pointer;text-decoration:none;text-align:center;}
.fs-rw-btn-brand{background:rgb(var(--c-brand-600));color:var(--fs-on-brand,rgb(var(--c-paper)));}
.fs-rw-btn-brand:hover{background:rgb(var(--c-brand-700));}
/* Accent CTA: white 700-weight >=14px only — 3.67:1 clears AA for bold
   text sizes and the design confines it to exactly that use. */
.fs-rw-btn-accent{background:rgb(var(--c-accent));color:#FFFFFF;}
.fs-rw-btn-accent:hover{filter:brightness(.9);}
.fs-rw-sub{color:rgb(var(--c-ink-700));}

/* Card hover lift — the design's card-lift motion, toggleable. */
.fs-rw-anim a.fs-rw-card{transition:box-shadow .2s ease;}
.fs-rw-anim a.fs-rw-card:hover{box-shadow:var(--fs-anim-cardlift, 0 16px 40px rgba(12,34,51,.12));}

/* Wave drift — the seafoam band-bottom wave (BandWave/.fs-rw-wave, drawn
   40px wider than its own viewBox on purpose) creeps a few pixels side
   to side so the "coastal" motif reads as water instead of wallpaper.
   Small enough that the drawn overflow always covers the shift. */
.fs-rw-anim .fs-rw-wave{animation:var(--fs-anim-wavedrift, fs-rw-wavedrift 15s ease-in-out infinite alternate);}
@keyframes fs-rw-wavedrift{from{transform:translateX(0);}to{transform:translateX(-10px);}}
@media (prefers-reduced-motion: reduce){
  .fs-rw-wave{animation:none !important;}
}

/* Save-heart pop — plays once whenever fs-rw-heart-on is added (the
   card's saved-state click), not a loop. */
.fs-rw-anim .fs-rw-heart-on svg{animation:var(--fs-anim-heartpop, fs-rw-heart-pop .45s cubic-bezier(.34,1.56,.64,1) both);}
@keyframes fs-rw-heart-pop{0%{transform:scale(1);}35%{transform:scale(1.35);}60%{transform:scale(.92);}100%{transform:scale(1);}}
@media (prefers-reduced-motion: reduce){
  .fs-rw-heart-on svg{animation:none !important;}
}

/* FIXED BRAND CHROME (see header comment — deliberately not vars). */
.fs-rw-navy{background:#0C2233;color:#FFFFFF;}
.fs-rw-navy .fs-rw-kick{color:#9FD8CB;}
.fs-rw-navy-sub{color:#BFD2DA;}
.fs-rw-wave{position:absolute;left:0;bottom:0;width:100%;pointer-events:none;}

/* ── favWaveHero ── */
.fs-rw-hero{padding:72px 40px 88px;position:relative;overflow:hidden;}
.fs-rw-hero-in{max-width:var(--fs-layout-max,1180px);margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;position:relative;}
.fs-rw-hero-l{display:flex;flex-direction:column;gap:24px;}
.fs-rw-hero-pill{align-self:flex-start;background:rgba(159,216,203,.12);border:1px solid rgba(159,216,203,.3);color:#9FD8CB;border-radius:9999px;padding:7px 16px;font-size:13px;font-weight:600;}
.fs-rw-hero-title{font-size:clamp(2.25rem,3.1vw + 1rem,3.625rem);line-height:1.04;color:#FFFFFF;}
.fs-rw-hero-sub{font-size:18px;line-height:1.6;max-width:480px;margin:0;}
/* The search card is a floating SURFACE — role colours, so dark mode
   repaints it per the design's own ROLE map (only the navy chrome is
   fixed). */
.fs-rw-search{background:rgb(var(--c-paper-soft,var(--c-paper)));border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:14px;box-shadow:0 24px 60px rgba(0,0,0,.3);color:rgb(var(--c-ink-950));}
.fs-rw-tabs{display:flex;gap:8px;}
.fs-rw-tab{border:none;border-radius:9999px;padding:9px 22px;font-size:14px;font-weight:700;cursor:pointer;background:rgb(var(--c-paper));color:rgb(var(--c-ink-700));}
.fs-rw-tab-on{background:#0C2233;color:#FFFFFF;}
.fs-rw-search-row{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:10px;}
.fs-rw-select{border:1.5px solid rgb(var(--c-line));border-radius:12px;padding:13px 14px;font-size:14px;font-weight:600;color:rgb(var(--c-ink-950));background:rgb(var(--c-paper));appearance:none;font-family:inherit;}
.fs-rw-search-btn{padding:13px 26px;font-size:15px;}
.fs-rw-hero-stats{display:flex;gap:36px;}
.fs-rw-hero-stat-v{font-family:var(--font-display,'Bricolage Grotesque',sans-serif);font-weight:700;letter-spacing:-.01em;font-size:22px;color:#FFFFFF;display:block;}
.fs-rw-hero-stat-l{font-size:14px;color:#BFD2DA;}
.fs-rw-hero-photo{height:460px;border-radius:20px;background:linear-gradient(135deg,#146C77,#0C2233);overflow:hidden;}
.fs-rw-hero-photo img{width:100%;height:100%;object-fit:cover;display:block;}

/* ── band sections (shared shell) ── */
.fs-rw-sec{max-width:var(--fs-layout-max,1180px);margin:0 auto;padding:72px 40px;display:flex;flex-direction:column;gap:28px;}
.fs-rw-band{background:rgb(var(--c-paper-soft,var(--c-paper)));border-top:1px solid rgb(var(--c-line));border-bottom:1px solid rgb(var(--c-line));}
.fs-rw-sechead{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;}
.fs-rw-sechead-t{display:flex;flex-direction:column;gap:8px;}
.fs-rw-h2{font-size:36px;}
.fs-rw-seclink{font-size:15px;font-weight:700;color:rgb(var(--c-brand-600));text-decoration:none;white-space:nowrap;}
.fs-rw-seclink:hover{text-decoration:underline;}

/* ── favWaveListings: the canonical listing card ── */
/* ── GRIDS THAT SIZE THEMSELVES ─────────────────────────────────
   Every grid below was a fixed column count with one viewport media
   query at 700px underneath it, which is the house style across 48 of
   our 53 stylesheets and is wrong the moment Site Settings narrows the
   MEASURE rather than the window. Measured on this theme at a 1425px
   viewport: under "Minimalist" the column is 656px and a 5-up grid was
   still drawing five, at 116px a tile.

   auto-fit + minmax fixes it without containment. Two properties of
   auto-fit make it the right tool rather than container queries, which
   is where this started:

     • it responds to the ELEMENT's width, whatever narrowed it — site
       layout, viewport, or a narrow column in some future split — so
       there is one rule instead of one per layout per grid;
     • it COLLAPSES empty tracks, so the item count caps the columns.
       Three steps can never draw four columns however wide the page is,
       which is why these minimums are safe to set generously.

   And critically it needs no container-type, which would have applied
   contain:layout and made every section a containing block for
   absolutely-positioned descendants — the mega panel anchors to
   .fs-hdr-row, and the property-detail summary card is sticky at 88px
   and pinned LOAD-BEARING in verify-theme. Not creating that risk beats
   testing for it.

   The minimum is the DESIGN decision: it says how narrow this card may
   get before it stops working. That is a far better thing to ask a
   designer for than a set of breakpoints. */
.fs-rw-grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;}
.fs-rw-lcard{overflow:hidden;display:flex;flex-direction:column;color:rgb(var(--c-ink-950));text-decoration:none;}
.fs-rw-lphoto{height:200px;position:relative;background:linear-gradient(135deg,#146C77,#0C2233);}
.fs-rw-lphoto img{width:100%;height:100%;object-fit:cover;display:block;}
/* Save-heart: drawn 38px ON PURPOSE (design flag) — the ::after expands
   the tap target past 44px without touching the artwork, SPEC §9. */
.fs-rw-heart{position:absolute;top:12px;right:12px;width:38px;height:38px;border:none;border-radius:9999px;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;cursor:pointer;color:rgb(var(--c-accent));}
.fs-rw-heart::after{content:'';position:absolute;inset:-4px;}
.fs-rw-heart svg{width:18px;height:18px;}
.fs-rw-heart-on svg{fill:rgb(var(--c-accent));}
.fs-rw-lbadge{position:absolute;top:12px;left:12px;background:#0C2233;color:#9FD8CB;border-radius:9999px;padding:5px 12px;font-size: 12px;font-weight:700;letter-spacing:.7px;}
.fs-rw-lbody{padding:18px;display:flex;flex-direction:column;gap:8px;}
.fs-rw-lprice-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;}
.fs-rw-lprice{font-size:22px;}
.fs-rw-lref{font-size:12px;font-weight:600;color:rgb(var(--c-ink-700));}
.fs-rw-ltitle{font-size:15px;font-weight:700;}
.fs-rw-lloc{font-size:13.5px;color:rgb(var(--c-ink-700));}
.fs-rw-lspecs{display:flex;gap:14px;font-size:13px;color:rgb(var(--c-ink-700));border-top:1px solid rgb(var(--c-line));padding-top:10px;margin-top:4px;}

/* ── favWaveFilter ── */
/* Empty result set. Muted, centred, and given real vertical room: a
   one-line apology jammed under a filter bar reads as an error, not an
   outcome. */
.fs-rw-lempty {
  margin: 2.5rem auto 0; max-width: 34ch; text-align: center;
  font-size: .95rem; line-height: 1.6; color: rgb(var(--c-ink-700));
}

.fs-rw-filter{padding:14px 16px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.fs-rw-fselect{border:1.5px solid rgb(var(--c-line));border-radius:10px;padding:11px 13px;font-size:13.5px;font-weight:600;color:rgb(var(--c-ink-950));background:rgb(var(--c-paper));appearance:none;font-family:inherit;}
/* chips: 34px tall by design (flagged small); tap area expanded */
.fs-rw-chip{position:relative;background:rgba(159,216,203,.3);color:#0C5560;border:none;border-radius:9999px;padding:8px 15px;font-size:12.5px;font-weight:700;cursor:pointer;}
.fs-rw-chip::after{content:'';position:absolute;inset:-5px;}
.fs-rw-chip-ghost{background:transparent;border:1.5px dashed #C9BFA8;color:rgb(var(--c-ink-700));}

/* ── favWaveLocations ── */
.fs-rw-loc5{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;}
.fs-rw-loctile{background:linear-gradient(160deg,rgb(var(--c-brand-600)),#0C2233);border-radius:14px;padding:22px 18px;height:150px;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;color:#FFFFFF;text-decoration:none;}
.fs-rw-locname{font-size:19px;color:#FFFFFF;}
.fs-rw-loccount{font-size:13px;font-weight:600;color:#9FD8CB;}
/* big variant (locations page): 3-col, first tile spans 2 */
/* locbig's first tile spans two columns, so this cannot fall to a
   single track without that span overflowing — minmax floors it at two
   real columns and the span stays valid. */
.fs-rw-locbig{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,calc(50% - 9px)),1fr));gap:18px;}
.fs-rw-locbig .fs-rw-loctile{border-radius:18px;padding:26px;height:190px;}
.fs-rw-locbig .fs-rw-loctile:first-child{grid-column:span 2;height:220px;}
.fs-rw-locbig .fs-rw-loctile:nth-child(2){height:220px;}
.fs-rw-locbig .fs-rw-locname{font-size:24px;}
.fs-rw-locbig .fs-rw-loctile:first-child .fs-rw-locname{font-size:30px;}
.fs-rw-locdesc{font-size:13.5px;color:#BFE3DB;line-height:1.5;}

/* ── favWaveMap ── */
.fs-rw-map{display:block;height:190px;border-radius:16px;background:#DDEBE6;position:relative;overflow:hidden;text-decoration:none;}
.fs-rw-map-island{height:230px;border-radius:18px;}
.fs-rw-pin{position:absolute;background:#9FD8CB;color:#0C2233;border-radius:9999px;padding:6px 12px;font-size:12px;font-weight:800;}
.fs-rw-pin-hi{background:#0C2233;color:#9FD8CB;border:2px solid #9FD8CB;padding:8px 14px;font-size:13px;}
.fs-rw-map-cta{position:absolute;left:16px;bottom:16px;background:#0C2233;color:#FFFFFF;border-radius:9999px;padding:10px 20px;font-size:13.5px;font-weight:700;}

/* ── favWaveWhy (+ steps variant) ── */
.fs-rw-why{max-width:var(--fs-layout-max,1180px);margin:0 auto;padding:80px 40px;display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center;}
.fs-rw-why-photo{height:380px;border-radius:20px;background:linear-gradient(135deg,#146C77,#0C2233);overflow:hidden;}
.fs-rw-why-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.fs-rw-why-r{display:flex;flex-direction:column;gap:24px;}
.fs-rw-props{display:flex;flex-direction:column;gap:18px;}
.fs-rw-prop{display:flex;gap:16px;}
.fs-rw-chipnum{flex:none;width:44px;height:44px;border-radius:12px;background:rgb(var(--c-brand-600));color:var(--fs-on-brand,rgb(var(--c-paper)));display:flex;align-items:center;justify-content:center;font-family:var(--font-display,'Bricolage Grotesque',sans-serif);font-weight:700;font-size:17px;}
.fs-rw-prop-t{font-size:16px;font-weight:700;}
.fs-rw-prop-b{font-size:14.5px;color:rgb(var(--c-ink-700));line-height:1.55;margin:2px 0 0;}
/* steps variant: 3 cards */
.fs-rw-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;}
.fs-rw-step{padding:24px;display:flex;flex-direction:column;gap:10px;}

/* ── favWaveAgents ── */
.fs-rw-agents4{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;}
.fs-rw-agent{display:flex;flex-direction:column;align-items:center;gap:12px;color:rgb(var(--c-ink-950));text-decoration:none;text-align:center;}
.fs-rw-aphoto{width:120px;height:120px;border-radius:9999px;background:linear-gradient(135deg,#146C77,#0C2233);overflow:hidden;}
.fs-rw-aphoto img{width:100%;height:100%;object-fit:cover;display:block;}
.fs-rw-aname{font-size:16px;font-weight:700;}
.fs-rw-arole{font-size:13.5px;color:rgb(var(--c-ink-700));}
/* detail variant (agents page): cards with stats */
.fs-rw-agents-detail .fs-rw-agent{border:1px solid rgb(var(--c-line));background:rgb(var(--c-paper-soft,var(--c-paper)));border-radius:18px;padding:26px 20px;}
.fs-rw-agents-detail .fs-rw-aphoto{width:110px;height:110px;}
.fs-rw-astats{display:flex;gap:14px;font-size:12px;color:rgb(var(--c-ink-700));border-top:1px solid rgb(var(--c-line));padding-top:10px;width:100%;justify-content:center;}
.fs-rw-astats b{color:rgb(var(--c-brand-600));}
.fs-rw-aview{font-size:13px;font-weight:700;color:rgb(var(--c-brand-600));}

/* ── favWaveTestimonials ── */
.fs-rw-quote{padding:26px;display:flex;flex-direction:column;gap:16px;}
.fs-rw-squiggle{color:rgb(var(--c-accent));}
.fs-rw-quote-b{font-size:15px;line-height:1.65;margin:0;}
.fs-rw-quote-a{font-size:13.5px;font-weight:600;color:rgb(var(--c-ink-700));}

/* ── favWaveCta (navy panel + light banner variant) ── */
.fs-rw-cta-wrap{max-width:var(--fs-layout-max,1180px);margin:0 auto;padding:0 40px 80px;}
.fs-rw-cta{background:#0C2233;border-radius:22px;padding:56px 60px;display:flex;justify-content:space-between;align-items:center;gap:40px;}
.fs-rw-cta-t{display:flex;flex-direction:column;gap:10px;}
.fs-rw-cta-h{font-size:34px;color:#FFFFFF;}
.fs-rw-cta-s{font-size:16px;color:#BFD2DA;max-width:480px;line-height:1.55;margin:0;}
.fs-rw-cta-btn{padding:16px 32px;font-size:16px;}
/* light banner variant */
.fs-rw-banner{border-radius:18px;padding:28px 32px;display:flex;justify-content:space-between;align-items:center;gap:24px;}
.fs-rw-banner-h{font-size:17px;font-weight:700;}
.fs-rw-banner-s{font-size:14px;color:rgb(var(--c-ink-700));margin:2px 0 0;}
.fs-rw-btn-ghost{background:transparent;color:rgb(var(--c-brand-600));border:1.5px solid rgb(var(--c-brand-600));padding:12px 24px;font-size:14px;}

/* ── favWaveHeader (light page opener) ── */
.fs-rw-hd{max-width:var(--fs-layout-max,1180px);margin:0 auto;padding:48px 40px 0;display:flex;flex-direction:column;gap:8px;}
.fs-rw-h1{font-size:42px;}
.fs-rw-hd-sub{font-size:15px;color:rgb(var(--c-ink-700));max-width:560px;line-height:1.6;margin:0;}

/* ── favWaveBand (navy page hero) ── */
.fs-rw-bband{padding:72px 40px;position:relative;overflow:hidden;}
.fs-rw-bband-in{max-width:var(--fs-layout-max,1180px);margin:0 auto;display:flex;flex-direction:column;gap:16px;position:relative;}
.fs-rw-back{font-weight:700;font-size:14px;color:#9FD8CB;text-decoration:none;align-self:flex-start;}
.fs-rw-bband-title{font-size:clamp(2rem,2.6vw + 1rem,3.125rem);line-height:1.08;color:#FFFFFF;max-width:min(640px, var(--fs-layout-clamp, 640px));}
.fs-rw-bband-sub{font-size:17px;line-height:1.6;max-width:460px;margin:0;}
.fs-rw-bband-stats{display:flex;gap:44px;margin-top:8px;flex-wrap:wrap;}
.fs-rw-bband-stat-v{font-family:var(--font-display,'Bricolage Grotesque',sans-serif);font-weight:700;font-size:26px;color:#FFFFFF;display:block;}
.fs-rw-bband-stat-l{font-size:14px;color:#BFD2DA;}

/* ── favWaveDetail ── */
.fs-rw-dt{max-width:var(--fs-layout-max,1180px);margin:0 auto;padding:36px 40px 72px;display:flex;flex-direction:column;gap:26px;}
/* The way back, above the gallery. Sized as a control rather than body
   copy so it reads as navigation, and given a real hit area. */
.fs-rw-dt-back {
  display: inline-block; margin-bottom: 1rem;
  font-size: .875rem; font-weight: 600; text-decoration: none;
  color: rgb(var(--c-brand-600)); padding: .35rem 0;
}
.fs-rw-dt-back:hover { text-decoration: underline; text-underline-offset: 4px; }

.fs-rw-dt-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:24px;align-items:start;}
.fs-rw-dt-gallery{display:flex;flex-direction:column;gap:10px;}
.fs-rw-dt-main{height:430px;border-radius:18px;position:relative;overflow:hidden;background:linear-gradient(135deg,#146C77,#0C2233);cursor:pointer;}
.fs-rw-dt-main img{width:100%;height:100%;object-fit:cover;display:block;}
.fs-rw-dt-count{position:absolute;bottom:14px;right:14px;background:rgba(12,34,51,.85);color:#FFFFFF;border-radius:9999px;padding:6px 14px;font-size:12px;font-weight:700;}
.fs-rw-dt-thumbs{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;}
.fs-rw-dt-thumb{height:104px;border-radius:12px;background:linear-gradient(135deg,#146C77,#0C2233);overflow:hidden;border:none;cursor:pointer;padding:0;}
.fs-rw-dt-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
/* sticky top 88 = 72px nav + 16 gap (LOAD-BEARING per design) */
.fs-rw-dt-card{border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:14px;position:sticky;top:88px;}
.fs-rw-dt-badge{background:#0C2233;color:#9FD8CB;border-radius:9999px;padding:5px 12px;font-size: 12px;font-weight:700;}
.fs-rw-dt-price{font-size:34px;}
.fs-rw-dt-stats{display:flex;gap:8px;}
.fs-rw-dt-stat{flex:1;background:rgb(var(--c-paper));border-radius:11px;padding:10px 6px;text-align:center;}
.fs-rw-dt-stat-v{font-family:var(--font-display,'Bricolage Grotesque',sans-serif);font-weight:700;font-size:17px;display:block;}
.fs-rw-dt-stat-l{font-size: 12px;font-weight:600;color:rgb(var(--c-ink-700));}
.fs-rw-dt-chips{display:flex;gap:6px;flex-wrap:wrap;}
.fs-rw-dt-chip{background:rgba(159,216,203,.3);color:#0C5560;border-radius:9999px;padding:6px 12px;font-size: 12px;font-weight:700;}
.fs-rw-dt-div{height:1px;background:rgb(var(--c-line));}
.fs-rw-dt-agent{display:flex;align-items:center;gap:12px;color:rgb(var(--c-ink-950));text-decoration:none;}
.fs-rw-dt-ahead{width:44px;height:44px;border-radius:9999px;background:linear-gradient(135deg,#146C77,#0C2233);color:#FFFFFF;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;flex:none;}
.fs-rw-dt-btns{display:flex;gap:10px;}
.fs-rw-dt-book{flex:1;padding:14px;font-size:14.5px;}
.fs-rw-dt-mort{padding:14px 18px;font-size:14.5px;}
.fs-rw-dt-about{display:grid;grid-template-columns:2fr 1fr;gap:24px;align-items:start;}
.fs-rw-dt-para{font-size:15px;line-height:1.7;margin:0;}
.fs-rw-facts{padding:20px;display:flex;flex-direction:column;gap:10px;}
.fs-rw-fact{display:flex;justify-content:space-between;font-size:13.5px;border-bottom:1px solid rgb(var(--c-line));padding-bottom:8px;}
.fs-rw-fact:last-child{border-bottom:none;padding-bottom:0;}
.fs-rw-fact b{font-weight:700;}
.fs-rw-fact span{color:rgb(var(--c-ink-700));}
/* compact/similar cards */
.fs-rw-mini{padding:12px;display:flex;gap:12px;align-items:center;color:rgb(var(--c-ink-950));text-decoration:none;}
.fs-rw-mini-photo{width:84px;height:70px;border-radius:10px;background:linear-gradient(135deg,#146C77,#0C2233);flex:none;overflow:hidden;}
.fs-rw-mini-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.fs-rw-mini-t{display:flex;flex-direction:column;gap:2px;min-width:0;}
.fs-rw-mini-price{font-size:16px;}
.fs-rw-mini-title{font-weight:700;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.fs-rw-mini-meta{font-size:12px;color:rgb(var(--c-ink-700));}
/* lightbox */
.fs-rw-lightbox{position:fixed;inset:0;z-index:80;background:rgba(12,34,51,.92);display:flex;align-items:center;justify-content:center;}
.fs-rw-lightbox-img{max-width:86vw;max-height:82vh;border-radius:12px;background:linear-gradient(135deg,#146C77,#0C2233);width:900px;height:560px;}
.fs-rw-lightbox-btn{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:9999px;border:none;background:rgba(255,255,255,.15);color:#FFFFFF;font-size:20px;cursor:pointer;}
.fs-rw-lightbox-x{position:absolute;top:24px;right:24px;width:44px;height:44px;border-radius:9999px;border:none;background:rgba(255,255,255,.15);color:#FFFFFF;font-size:18px;cursor:pointer;}

/* ── favWaveMortgage ── */
.fs-rw-mort{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start;}
.fs-rw-mort-card{border-radius:18px;padding:28px;display:flex;flex-direction:column;gap:22px;}
.fs-rw-mort-lab{display:flex;justify-content:space-between;font-size:14px;font-weight:700;}
.fs-rw-mort-lab b{color:rgb(var(--c-brand-600));font-weight:700;}
.fs-rw-mort-range{width:100%;accent-color:rgb(var(--c-brand-600));}
.fs-rw-mort-note{font-size:12.5px;color:rgb(var(--c-ink-700));line-height:1.55;margin:0;}
.fs-rw-mort-res{background:linear-gradient(150deg,rgb(var(--c-brand-600)),#0C2233);border-radius:18px;padding:32px;display:flex;flex-direction:column;gap:18px;position:relative;overflow:hidden;color:#FFFFFF;}
.fs-rw-mort-eyebrow{font-size:12px;font-weight:700;letter-spacing:1.2px;color:#9FD8CB;text-transform:uppercase;}
.fs-rw-mort-big{font-size:52px;color:#FFFFFF;}
.fs-rw-mort-per{font-size:20px;font-weight:600;color:#BFE3DB;}
.fs-rw-mort-break{display:flex;gap:28px;flex-wrap:wrap;}
.fs-rw-mort-bl{font-size: 12px;font-weight:700;color:#9FD8CB;display:block;text-transform:uppercase;}
.fs-rw-mort-bv{font-size:17px;font-weight:700;color:#FFFFFF;}
.fs-rw-mort-cta{margin-top:8px;padding:15px 28px;font-size:15px;align-self:flex-start;}

/* ── favWaveStories ── */
.fs-rw-featured{display:flex;flex-direction:column;gap:12px;background:linear-gradient(150deg,rgb(var(--c-brand-600)),#0C2233);border-radius:20px;padding:44px 48px;position:relative;overflow:hidden;color:#FFFFFF;text-decoration:none;}
.fs-rw-featured-t{font-size:38px;color:#FFFFFF;max-width:560px;line-height:1.1;}
.fs-rw-featured-s{font-size:16px;color:#BFD2DA;max-width:520px;line-height:1.6;margin:0;}
.fs-rw-featured-m{font-size:13.5px;color:#9FD8CB;font-weight:700;}
.fs-rw-scard{overflow:hidden;color:rgb(var(--c-ink-950));text-decoration:none;display:flex;flex-direction:column;}
.fs-rw-scard-photo{height:150px;background:linear-gradient(135deg,#146C77,#0C2233);}
.fs-rw-scard-b{padding:18px 20px;display:flex;flex-direction:column;gap:6px;}
.fs-rw-scard-k{font-size: 12px;}
.fs-rw-scard-t{font-size:19px;line-height:1.2;}
.fs-rw-scard-x{font-size:13.5px;color:rgb(var(--c-ink-700));line-height:1.55;margin:0;}
.fs-rw-scard-r{font-size:12.5px;color:rgb(var(--c-brand-600));font-weight:700;margin-top:2px;}

/* ── favWaveBlog ── */
.fs-rw-chips{display:flex;gap:8px;flex-wrap:wrap;}
.fs-rw-bchip{position:relative;border:1px solid rgb(var(--c-line));background:rgb(var(--c-paper-soft,var(--c-paper)));color:rgb(var(--c-ink-950));border-radius:9999px;padding:9px 18px;font-size:13px;font-weight:700;cursor:pointer;}
.fs-rw-bchip::after{content:'';position:absolute;inset:-4px;}
.fs-rw-bchip-on{background:#0C2233;color:#FFFFFF;border-color:#0C2233;}
.fs-rw-bfeat{border-radius:20px;overflow:hidden;display:grid;grid-template-columns:1.05fr .95fr;color:rgb(var(--c-ink-950));text-decoration:none;}
.fs-rw-bfeat-photo{height:320px;background:linear-gradient(135deg,#146C77,#0C2233);}
.fs-rw-bfeat-b{padding:34px 38px;display:flex;flex-direction:column;gap:12px;justify-content:center;}
.fs-rw-bpill{align-self:flex-start;background:rgba(159,216,203,.3);color:#0C5560;border-radius:9999px;padding:6px 14px;font-size: 12px;font-weight:700;}
.fs-rw-bfeat-t{font-size:29px;line-height:1.15;}
.fs-rw-bx{font-size:14.5px;color:rgb(var(--c-ink-700));line-height:1.6;margin:0;}
.fs-rw-bmeta{font-size:13px;color:rgb(var(--c-ink-700));font-weight:600;}
.fs-rw-bread{font-size:14px;color:rgb(var(--c-brand-600));font-weight:700;}
.fs-rw-bgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;}
.fs-rw-bcard{padding:24px 26px;display:flex;flex-direction:column;gap:9px;color:rgb(var(--c-ink-950));text-decoration:none;}
.fs-rw-bcard-top{display:flex;justify-content:space-between;align-items:center;gap:12px;}
.fs-rw-bcard-t{font-size:20px;line-height:1.2;}

/* ── favWaveArticle ── */
.fs-rw-art{max-width:min(760px, var(--fs-layout-clamp, 760px));margin:0 auto;padding:56px 40px 24px;display:flex;flex-direction:column;gap:22px;}
.fs-rw-art-band-in{max-width:min(760px, var(--fs-layout-clamp, 760px));margin:0 auto;display:flex;flex-direction:column;gap:16px;position:relative;}
.fs-rw-art-title{font-size:48px;line-height:1.08;color:#FFFFFF;}
.fs-rw-art-by{font-size:14px;color:#BFD2DA;}
.fs-rw-art-p{font-size:17px;line-height:1.75;margin:0;}
.fs-rw-art-photo{height:340px;border-radius:16px;background:linear-gradient(135deg,#146C77,#0C2233);overflow:hidden;}
.fs-rw-art-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.fs-rw-pull{display:flex;flex-direction:column;gap:10px;padding:8px 0;}
.fs-rw-pull-q{font-size:26px;line-height:1.3;}
.fs-rw-art-rel{max-width:min(760px, var(--fs-layout-clamp, 760px));margin:0 auto;padding:24px 40px 72px;display:flex;flex-direction:column;gap:16px;width:100%;}
.fs-rw-rel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;}

/* ── favWaveProfile ── */
.fs-rw-prof-row{display:flex;gap:28px;align-items:center;flex-wrap:wrap;}
.fs-rw-prof-photo{width:130px;height:130px;border-radius:9999px;background:linear-gradient(135deg,#146C77,#9FD8CB);flex:none;overflow:hidden;}
.fs-rw-prof-name{font-size:40px;color:#FFFFFF;}
.fs-rw-prof-cred{font-size:15px;font-weight:600;color:#9FD8CB;}
.fs-rw-prof-ctas{display:flex;gap:10px;flex-wrap:wrap;}
.fs-rw-prof-call{background:#9FD8CB;color:#0C2233;padding:11px 24px;font-size:13.5px;}
.fs-rw-prof-ghost{background:transparent;color:#FFFFFF;border:1.5px solid rgba(159,216,203,.5);padding:11px 24px;font-size:13.5px;}
.fs-rw-prof-chips{display:flex;gap:14px;margin-left:auto;}
.fs-rw-prof-chip{background:rgba(159,216,203,.1);border:1px solid rgba(159,216,203,.3);border-radius:14px;padding:16px 22px;text-align:center;}
.fs-rw-prof-chip-v{font-family:var(--font-display,'Bricolage Grotesque',sans-serif);font-weight:800;font-size:26px;color:#FFFFFF;display:block;}
.fs-rw-prof-chip-l{font-size: 12px;font-weight:700;color:#9FD8CB;text-transform:uppercase;}
.fs-rw-prof-bio{max-width:var(--fs-layout-max,1180px);margin:0 auto;padding:56px 40px;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:start;width:100%;}
.fs-rw-prof-bio-t{display:flex;flex-direction:column;gap:12px;}
.fs-rw-h3{font-size:26px;}
.fs-rw-prof-p{font-size:15px;line-height:1.7;margin:0;}
.fs-rw-prof-list{max-width:var(--fs-layout-max,1180px);margin:0 auto;padding:0 40px 72px;display:flex;flex-direction:column;gap:16px;width:100%;}

/* ── favWaveOffices ── */
.fs-rw-offices{display:flex;flex-direction:column;gap:14px;}
.fs-rw-office{border-radius:14px;padding:18px 20px;display:flex;flex-direction:column;gap:4px;}
.fs-rw-office-n{font-weight:700;font-size:15px;}
.fs-rw-office-a{font-size:13.5px;color:rgb(var(--c-ink-700));line-height:1.5;}
.fs-rw-office-p{font-size:13.5px;font-weight:700;color:rgb(var(--c-brand-600));text-decoration:none;}
.fs-rw-contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:start;}

/* ── favWaveFooter ── */
.fs-rw-ft{background:rgb(var(--c-paper-soft,var(--c-paper)));border-top:1px solid rgb(var(--c-line));padding:56px 40px 32px;}
.fs-rw-ft-grid{max-width:var(--fs-layout-max,1180px);margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;}
.fs-rw-ft-col{display:flex;flex-direction:column;gap:10px;}
.fs-rw-ft-brand{display:flex;align-items:center;gap:10px;}
.fs-rw-ft-mark{width:30px;height:30px;flex:none;}
.fs-rw-ft-name{font-family:var(--font-display,'Bricolage Grotesque',sans-serif);font-weight:800;font-size:19px;letter-spacing:-.3px;}
.fs-rw-ft-name b{color:rgb(var(--c-brand-600));font-weight:800;}
.fs-rw-ft-blurb{font-size:14px;color:rgb(var(--c-ink-700));line-height:1.6;max-width:280px;}
.fs-rw-ft-h{font-weight:700;margin-bottom:4px;font-size:15px;}
.fs-rw-ft-link{font-size:14.5px;color:rgb(var(--c-brand-600));text-decoration:none;}
.fs-rw-ft-link:hover{color:rgb(var(--c-brand-700));text-decoration:underline;}
.fs-rw-ft-office{font-size:14.5px;color:rgb(var(--c-ink-700));line-height:1.6;}
.fs-rw-ft-bar{max-width:var(--fs-layout-max,1180px);margin:20px auto 0;border-top:1px solid rgb(var(--c-line));padding-top:20px;font-size:13px;color:rgb(var(--c-ink-700));display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}
.fs-rw-ft-legal{display:flex;align-items:center;}
.fs-rw-ft-legal-link{font:inherit;color:inherit;text-decoration:none;}
.fs-rw-ft-legal-link:hover{color:rgb(var(--c-brand-600));}
.fs-rw-ft-legal-link + .fs-rw-ft-legal-link{position:relative;padding-left:.75rem;}
.fs-rw-ft-legal-link + .fs-rw-ft-legal-link::before{content:'\00b7';position:absolute;left:.25rem;}

/* ── SPLIT SECTIONS UNDER A NARROW MEASURE ──────────────────────
   The two-column sections cannot use auto-fit: their whole point is an
   asymmetric ratio (1.1fr .9fr — image and copy, not equal cards), and
   auto-fit would flatten that to equal tracks the moment it acted.

   So where each one STACKS is stated, per layout, on purpose. The
   RealtyWave layout set puts the cliff between Boxed (928px) and
   Centered (832px): at 928 a 1.1/.9 split still gives the narrow half
   ~400px, which a search card or a photo can live in; at 832 minus a
   40px gutter it gives ~340px, which is where the hero's search card
   starts wrapping its own fields.

   Not a media query, because the viewport has not changed — the
   MEASURE has. Not auto-fit, because this is a composition decision
   rather than a fitting one. And not a magic breakpoint applied to all
   44 themes, because where a split gives up is a property of what is
   inside it: the theme says, the platform does not guess. */
[data-fs-layout="centered"] .fs-rw-hero-in,
[data-fs-layout="minimal"]  .fs-rw-hero-in,
[data-fs-layout="centered"] .fs-rw-why,
[data-fs-layout="minimal"]  .fs-rw-why,
[data-fs-layout="centered"] .fs-rw-mort,
[data-fs-layout="minimal"]  .fs-rw-mort,
[data-fs-layout="centered"] .fs-rw-dt-about,
[data-fs-layout="minimal"]  .fs-rw-dt-about,
[data-fs-layout="centered"] .fs-rw-contact-grid,
[data-fs-layout="minimal"]  .fs-rw-contact-grid,
[data-fs-layout="centered"] .fs-rw-prof-bio,
[data-fs-layout="minimal"]  .fs-rw-prof-bio,
[data-fs-layout="centered"] .fs-rw-bfeat,
[data-fs-layout="minimal"]  .fs-rw-bfeat{
  grid-template-columns:1fr;
}
/* The hero's two halves stacked need less air between them than they
   did side by side, and the photo has to stop being 460px tall when it
   is no longer beside anything. */
[data-fs-layout="centered"] .fs-rw-hero-in,
[data-fs-layout="minimal"]  .fs-rw-hero-in{ gap:28px; }
[data-fs-layout="centered"] .fs-rw-hero-photo,
[data-fs-layout="minimal"]  .fs-rw-hero-photo{ height:280px; }
[data-fs-layout="centered"] .fs-rw-why-photo,
[data-fs-layout="minimal"]  .fs-rw-why-photo{ height:260px; }
[data-fs-layout="centered"] .fs-rw-why,
[data-fs-layout="minimal"]  .fs-rw-why{ gap:28px; }

/* The property-detail summary column stops being a sidebar. Sticky is
   dropped WITH it: a sticky element in a stacked single column follows
   you down a page it is no longer beside, which reads as a bug. The
   700px mobile block already does exactly this, for the same reason. */
[data-fs-layout="centered"] .fs-rw-dt-grid,
[data-fs-layout="minimal"]  .fs-rw-dt-grid{ grid-template-columns:1fr; }
[data-fs-layout="centered"] .fs-rw-dt-card,
[data-fs-layout="minimal"]  .fs-rw-dt-card{ position:static; }

/* The footer's four columns are the one grid where a narrow measure
   should reflow rather than stack — four link lists in one column is a
   long scroll to nothing. */
[data-fs-layout="centered"] .fs-rw-ft-grid,
[data-fs-layout="minimal"]  .fs-rw-ft-grid{
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:28px;
}

/* Centred mode centres every h1/h2/h3 in a section (site-layouts.ts,
   a documented and accepted cost). A section header built as "title
   left, link right" comes apart under that, so it recomposes: the
   cluster stacks and centres, and the link sits under it rather than
   floating off one side of a centred title. */
[data-fs-layout="centered"] .fs-rw-sechead{
  flex-direction:column;
  align-items:center;
  text-align:center;
}
[data-fs-layout="centered"] .fs-rw-sechead-t{ align-items:center; }

/* ...and the HERO has to finish the job the platform started. This is
   the generalisable finding of the whole layout pass, and it will be
   true of all 44 themes: site-layouts.ts centres h1/h2/h3 and nothing
   else, because those are the only elements it can name without
   knowing a theme's markup. So a hero comes out with its HEADLINE
   centred over a left-aligned pill, sub-heading, search card and stat
   row — half-centred, which reads worse than either whole.
   The platform cannot fix this generically; only the theme knows which
   of its own elements form the cluster. So the theme says. */
/* text-align only — NOT justify-items:center. That centres grid ITEMS
   by shrinking them to their content, and the hero photo is an empty
   div whose content is nothing, so it collapsed to zero width and the
   hero lost its image entirely. Caught on screen; it would have passed
   every measurement in the gate, because a 0px element is not an
   overflow and not a wrong colour. */
[data-fs-layout="centered"] .fs-rw-hero-in{ text-align:center; }
[data-fs-layout="centered"] .fs-rw-hero-l{ align-items:center; }
[data-fs-layout="centered"] .fs-rw-hero-pill{ align-self:center; }
[data-fs-layout="centered"] .fs-rw-hero-sub{ margin-left:auto; margin-right:auto; }
[data-fs-layout="centered"] .fs-rw-hero-stats{ justify-content:center; }
/* The search card keeps its own internal alignment — a centred form is
   harder to fill in, and this is a control rather than a message. */
[data-fs-layout="centered"] .fs-rw-search{ text-align:left; width:100%; }

/* Same completion for the two other centred clusters. */
[data-fs-layout="centered"] .fs-rw-why-r{ align-items:center; text-align:center; }
[data-fs-layout="centered"] .fs-rw-prop{ text-align:left; }
[data-fs-layout="centered"] .fs-rw-agents-detail .fs-rw-astats{ justify-content:center; }
[data-fs-layout="centered"] .fs-rw-cta{
  flex-direction:column;
  align-items:center;
  text-align:center;
}

/* The hero SEARCH ROW, found by audit-layouts.mjs and not by me.
   Four tracks (1.2fr 1fr 1fr auto) inside the hero's narrow half. At
   Boxed the hero is still two columns and that half is ~400px, so the
   selects came out at 96px — a dropdown too narrow to show "All of
   Cyprus", which is its own default value.

   This corrects a call I made in the RealtyWave layout set, where I
   wrote that 928px "still gives the narrow half ~400px, which a search
   card or a photo can live in". A photo can. A four-field search row
   cannot, and the audit measured it rather than agreeing with me.

   Two-up rather than stacked: four controls in two rows reads as one
   compact form, where four full-width rows reads as a long one. The
   hero itself still splits at Boxed — only this control reflows. */
[data-fs-layout="boxed"] .fs-rw-search-row{
  grid-template-columns:1fr 1fr;
}

/* ── NARROW MEASURES GET A DIFFERENT CARD, NOT A SMALLER ONE ────
   The layout pass made the theme SURVIVE all six. This is the part
   that makes two of them read properly, and it is a composition
   change rather than a width one.

   The defect, measured: the home page carries THREE listings, and a
   two-column grid leaves the third alone beside a hole. Five location
   tiles across three columns leave two more. Orphans are not a
   narrow-layout problem in general — they are what happens when an odd
   count meets an even grid, and every count on this page is odd.

   So at the two narrowest measures the listing card stops being a
   TILE and becomes a ROW: photo left, details right, one per line.
   That is the canonical property-search result, it reads better at
   736px than any tile does, the photo actually gets larger rather than
   smaller, and a single column cannot orphan anything.

   The location tiles switch from grid to flex-wrap with grow, so the
   last row fills the width instead of leaving empty cells. Same fix,
   simpler shape: they are small enough to stay tiles. */
[data-fs-layout="centered"] .fs-rw-grid3,
[data-fs-layout="minimal"]  .fs-rw-grid3{
  grid-template-columns:1fr;
  gap:16px;
}
[data-fs-layout="centered"] .fs-rw-lcard,
[data-fs-layout="minimal"]  .fs-rw-lcard{
  flex-direction:row;
  align-items:stretch;
  text-align:left;
}
[data-fs-layout="centered"] .fs-rw-lphoto,
[data-fs-layout="minimal"]  .fs-rw-lphoto{
  flex:0 0 38%;
  height:auto;
  min-height:172px;
}
[data-fs-layout="centered"] .fs-rw-lbody,
[data-fs-layout="minimal"]  .fs-rw-lbody{
  flex:1 1 auto;
  justify-content:center;
  padding:20px 22px;
}
/* The row is wide enough for the spec strip to sit on one line with the
   price, which a 318px tile never was. */
[data-fs-layout="centered"] .fs-rw-lspecs,
[data-fs-layout="minimal"]  .fs-rw-lspecs{
  margin-top:10px;
}

/* Locations: flex-wrap with grow, so a five-tile row of three fills its
   second line instead of leaving two empty cells. */
[data-fs-layout="centered"] .fs-rw-loc5,
[data-fs-layout="minimal"]  .fs-rw-loc5{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}
[data-fs-layout="centered"] .fs-rw-loc5 > *,
[data-fs-layout="minimal"]  .fs-rw-loc5 > *{
  flex:1 1 180px;
}

/* Minimalist drops the section link entirely rather than centring it.
   The layout's whole thesis is one quiet sheet; a "View all 1,240 →"
   floating under a centred heading is the loudest thing on the page,
   and the cards beneath it already go to the same place. */
[data-fs-layout="minimal"] .fs-rw-seclink{ display:none; }

/* ── MOBILE (390 canvas measured; breakpoint chosen at 700px) ── */
@media (max-width:700px){
  .fs-rw-hero{padding:40px 20px 52px;}
  .fs-rw-hero-in{grid-template-columns:1fr;gap:20px;}
  .fs-rw-hero-pill,.fs-rw-hero-stats{display:none;}
  .fs-rw-hero-sub{font-size:15.5px;}
  .fs-rw-search{border-radius:16px;padding:16px;gap:10px;}
  .fs-rw-tab{flex:1;height:44px;}
  .fs-rw-search-row{grid-template-columns:1fr;}
  .fs-rw-hero-photo{height:200px;border-radius:16px;}
  .fs-rw-sec{padding:40px 16px;gap:18px;}
  .fs-rw-h2{font-size:26px;}
  .fs-rw-h1{font-size:30px;}
  .fs-rw-grid3,.fs-rw-bgrid,.fs-rw-rel-grid,.fs-rw-steps{grid-template-columns:1fr;}
  .fs-rw-loc5{display:flex;overflow-x:auto;gap:10px;padding-bottom:6px;}
  .fs-rw-loc5 .fs-rw-loctile{flex:none;width:150px;height:120px;padding:16px 14px;}
  .fs-rw-locbig{grid-template-columns:1fr;}
  .fs-rw-locbig .fs-rw-loctile,.fs-rw-locbig .fs-rw-loctile:first-child,.fs-rw-locbig .fs-rw-loctile:nth-child(2){grid-column:auto;height:140px;border-radius:16px;padding:20px;}
  .fs-rw-why{grid-template-columns:1fr;padding:40px 16px;gap:16px;}
  .fs-rw-why-photo{height:210px;border-radius:16px;}
  .fs-rw-agents4{grid-template-columns:1fr;}
  .fs-rw-cta-wrap{padding:0 16px 44px;}
  .fs-rw-cta{border-radius:18px;padding:28px 24px;flex-direction:column;align-items:flex-start;}
  .fs-rw-cta-h{font-size:24px;}
  .fs-rw-cta-btn{width:100%;}
  .fs-rw-hd{padding:28px 16px 0;}
  .fs-rw-bband{padding:40px 20px;}
  .fs-rw-dt{padding:20px 16px 44px;}
  .fs-rw-dt-grid,.fs-rw-dt-about,.fs-rw-mort,.fs-rw-prof-bio,.fs-rw-contact-grid{grid-template-columns:1fr;}
  .fs-rw-dt-main{height:240px;}
  .fs-rw-dt-card{position:static;}
  .fs-rw-bfeat{grid-template-columns:1fr;}
  .fs-rw-bfeat-photo{height:163px;}
  .fs-rw-bfeat-b{padding:18px 20px;gap:7px;}
  .fs-rw-featured{border-radius:18px;padding:26px 24px;gap:8px;}
  .fs-rw-featured-t{font-size:26px;}
  .fs-rw-mort-big{font-size:40px;}
  .fs-rw-art{padding:32px 20px 24px;gap:18px;}
  .fs-rw-art-p{font-size:16px;}
  .fs-rw-art-photo{height:200px;border-radius:14px;}
  .fs-rw-art-title{font-size:30px;}
  .fs-rw-art-rel{padding:12px 20px 44px;}
  .fs-rw-prof-photo{width:88px;height:88px;}
  .fs-rw-prof-name{font-size:26px;}
  .fs-rw-prof-chips{margin-left:0;width:100%;}
  .fs-rw-prof-chip{flex:1;padding:12px 6px;border-radius:12px;}
  .fs-rw-prof-chip-v{font-size:20px;}
  .fs-rw-ft{padding:36px 20px 28px;}
  .fs-rw-ft-grid{grid-template-columns:1fr 1fr;gap:20px;}
  .fs-rw-map-island{display:none;}
  .fs-rw-lightbox-img{width:92vw;height:52vw;}
}

/* HEADER CTA — pixel-verified against the static-site export's own nav
   ("List your property"): 14px text, 11px/20px padding. The platform's
   shared .fs-hdr-cta (menu-styles.ts) reads --fs-type-body, which
   resolves to 1rem/16px for this theme — a sane DEFAULT for a theme
   that doesn't care, wrong for one whose own design draws this button
   smaller than its body text on purpose. Same bug, same fix HomeSphere
   already carries in sphere-styles.ts: a theme-scoped override, not a
   hand-rolled per-surface copy — every surface still reads the ONE
   shared .fs-hdr-cta rule, this just refines it for the one theme whose
   source disagrees with the platform default. Three selector parts
   (attr+class+class) so this reliably outranks the two-part base rule.

   The base rule's 44px min-height is a real accessibility floor and is
   NOT simply dropped: the ::after pseudo-element below extends the tap
   target by 4px on every side (to ~48px) without touching the visible
   pill's size — SPEC §9's own prescribed fix ("expand the target past
   the paint … not inflate the artwork"). */
[data-fs-theme='realtywave'] .fs-hdr-row .fs-hdr-cta{
  font-size:14px;
  padding:11px 20px;
  min-height:0;
  position:relative;
}
[data-fs-theme='realtywave'] .fs-hdr-row .fs-hdr-cta::after{
  content:'';
  position:absolute;
  inset:-4px;
}

/* ── M1 "Column Directory" — the theme's mega panel ────────────────
   Every value here is measured off the RealtyWave menu kit, not
   invented. What the shared 'columns' base style already gets right —
   the ruled band, the vertical hairlines, the 22px gutters — is not
   restated: rewriting it would pin this theme to today's values and
   cost it tomorrow's fixes.

   Scoped to this theme, never edited into dropdown-styles.ts, because
   those classes are shared by all 44 themes.  */

/* The design's panel is a BAND under a full-bleed header, so it takes
   the header's own 1180 rather than the wide class's 900. !important
   because dropdownLook sets width inline, and an inline value beats
   every selector. */
/* ── THE OTHER FOUR MEGA STYLES, IN THIS THEME'S LANGUAGE ───────
   The kit drew five menus and the platform already has a style for
   each: Column Directory -> columns (above), Feature Spotlight ->
   feature, Tile Grid -> showcase, Split Preview -> tabbed, Full-Bleed
   Canvas -> promo. So a customer switching between them is changing a
   SETTING, not choosing between five builds.

   WHAT THIS IS AND IS NOT, because the distinction matters. These are
   the five platform layouts wearing RealtyWave's clothes, rendering
   THIS theme's declared content. They are not pixel copies of the kit's
   five specimens, because those specimens are five different MENUS, not
   five skins of one: M1 lists places, M2 sells one house with a price,
   M5 shows four numbers about the agency. Same-content-different-layout
   is what the engine can do today; different-content-per-style would
   need megaMenus keyed by style as well as by page, which is a data
   model change and a decision rather than a detail.

   Everything below is therefore about making this theme's OWN content
   read well in each shape. */

/* FEATURE — the kit's Spotlight. Its own card slot is the point, so the
   content cell gets the room and the columns tighten. */
[data-fs-theme='realtywave'] .fsdrop-panel-feature{
  border-radius:16px;
}
[data-fs-theme='realtywave'] .fsdrop-panel-feature .fsdrop-mega-content{
  gap:0 22px;
}
[data-fs-theme='realtywave'] .fsdrop-panel-feature .fsdrop-mega-pagecard{
  border:1px solid rgb(var(--c-line-soft));
  border-radius:14px;
  overflow:hidden;
  background:rgb(var(--c-paper));
}
/* A SPOTLIGHT card pads itself and spaces its own parts, because the kit
   draws it that way: 24px inside the card, 13px between the well, the
   price, the sentence and the link. The plain card keeps the old
   geometry (no padding here, 12/14 on the body), so :has() is what
   separates them — the spotlight fields are exactly what makes it one. */
[data-fs-theme='realtywave'] .fsdrop-panel-feature .fsdrop-mega-pagecard:has(.fsdrop-featured-figure){
  padding:24px;
  gap:13px;
}
[data-fs-theme='realtywave'] .fsdrop-panel-feature .fsdrop-mega-pagecard:has(.fsdrop-featured-figure) .fsdrop-featured-body{
  padding:0;
  background:none;
  display:flex;
  flex-direction:column;
  gap:13px;
}
[data-fs-theme='realtywave'] .fsdrop-panel-feature .fsdrop-featured-image{
  height:132px;
  background:linear-gradient(165deg, rgb(var(--c-brand-600)), #0C2233);
}
/* The kit's photo well is 150px, not the 132px the plain card uses — a
   spotlight leads with its picture. Scoped the same way. */
[data-fs-theme='realtywave'] .fsdrop-panel-feature .fsdrop-mega-pagecard:has(.fsdrop-featured-figure) .fsdrop-featured-image{
  height:150px;
  border-radius:14px;
}
[data-fs-theme='realtywave'] .fsdrop-panel-feature .fsdrop-featured-badge{
  background:rgb(var(--c-accent));
  color:#FFFFFF;
  border-radius:9999px;
  padding:5px 10px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
[data-fs-theme='realtywave'] .fsdrop-panel-feature .fsdrop-featured-title{
  font-family:var(--font-display);
  font-weight:800;
  font-size:17px;
  letter-spacing:-.4px;
}
[data-fs-theme='realtywave'] .fsdrop-panel-feature .fsdrop-featured-cta{
  color:rgb(var(--c-brand-600));
  font-weight:700;
  font-size:13px;
}
/* The kit sets its link arrow a size larger than the plain card's CTA. */
[data-fs-theme='realtywave'] .fsdrop-panel-feature .fsdrop-mega-pagecard:has(.fsdrop-featured-figure) .fsdrop-featured-cta{
  font-size:14px;
  line-height:1.55;
}

/* SHOWCASE — the kit's Tile Grid. The platform already draws each child
   page as a tinted plate; RealtyWave's tiles are its location cards, so
   they take the same 14px radius and the navy-to-brand wash the real
   .fs-rw-loctile uses rather than the generic brand tint. */
[data-fs-theme='realtywave'] .fsdrop-panel-showcase{
  border-radius:16px;
}
[data-fs-theme='realtywave'] .fsdrop-link-showcase::before{
  border-radius:14px;
  background:linear-gradient(160deg, rgb(var(--c-brand-600)), #0C2233);
}
[data-fs-theme='realtywave'] .fsdrop-link-showcase{
  font-size:14.5px;
  font-weight:700;
}

/* TABBED — the kit's Split Preview. A region rail beside content that
   swaps. The rail is the theme's own sand, the active tab lifts onto
   paper, and the brand keyline marks it rather than a fill. */
[data-fs-theme='realtywave'] .fsdrop-panel-tabbed{
  border-radius:16px;
}
[data-fs-theme='realtywave'] .fsdrop-tab-rail{
  background:rgb(var(--c-paper));
  border-right:1px solid rgb(var(--c-line-soft));
  padding:14px;
}
[data-fs-theme='realtywave'] .fsdrop-link-tabbed{
  border-radius:10px;
  padding:10px 12px;
  font-size:14px;
  font-weight:600;
}
[data-fs-theme='realtywave'] .fsdrop-link-tabbed[data-tab-active='1']{
  background:rgb(var(--c-paper-soft));
  color:rgb(var(--c-brand-600));
  box-shadow:0 1px 2px rgb(var(--c-ink-950) / .06);
}
[data-fs-theme='realtywave'] .fsdrop-tab-panel{
  padding:20px 22px;
}

/* PROMO — the kit's Full-Bleed Canvas, and the one variant that
   inverts. The platform already floods the content cell with a brand
   gradient; RealtyWave's own canvas is the FIXED navy chrome rather
   than the palette brand, because that navy is a brand constant this
   theme deliberately does not repaint (see the file header). */
[data-fs-theme='realtywave'] .fsdrop-panel-promo{
  border-radius:16px;
}
[data-fs-theme='realtywave'] .fsdrop-panel-promo .fsdrop-mega-content{
  background:linear-gradient(155deg,#0B1D28 0%,#122836 55%,#16414A 100%);
  padding:24px 26px;
}
[data-fs-theme='realtywave'] .fsdrop-panel-promo .fsdrop-mega-linklist-heading{
  color:#9FD8CB;
}
[data-fs-theme='realtywave'] .fsdrop-panel-promo .fsdrop-mega-linklist-link{
  color:#FFFFFF;
}
[data-fs-theme='realtywave'] .fsdrop-panel-promo .fsdrop-mega-linklist-count{
  color:#9FB6B8;
}
[data-fs-theme='realtywave'] .fsdrop-panel-promo .fsdrop-mega-linklist-link:hover{
  background:rgb(255 255 255 / .08);
  color:#9FD8CB;
}

/* ANCHORING. A mega panel is absolutely positioned inside the nav ITEM
   that opened it, so left:50% centres it on the TRIGGER. Listings sits
   near the left of the header, so a wide band anchored that way hung
   off the left edge with 'South coast' cut in two.

   megaWidth:'full' does not fix it, and finding out why is worth
   recording: .fsdrop-w-full corrects with margin-left: calc(50vw -
   50%), but a percentage margin resolves against the CONTAINING
   BLOCK's width — the 69px trigger — not the panel's. The correction
   therefore only lands when the trigger is already at viewport x=0.
   Measured here: a 1440px band at left:281px, which is exactly the
   trigger's own offset. That is a platform bug, not a theme one, and
   fixing it properly means changing what a full-width mega anchors to
   for all 44 themes.

   So this theme anchors to the HEADER ROW instead — which is the true
   containing block for a band under a full-bleed header, needs no
   arithmetic, and is exactly the kit's own geometry. :has() keeps it to
   the ONE panel that carries authored blocks: every other item in this
   header (Sell with us, Agents, Blog, About) opens the same 'columns'
   style and must stay a normal drop-down under its own trigger. */
[data-fs-theme='realtywave'] .fs-hdr-row{
  position:relative;
}
[data-fs-theme='realtywave'] .fs-hdr-group:has(.fsdrop-mega-content){
  position:static;
}
[data-fs-theme='realtywave'] .fsdrop-panel-columns:has(.fsdrop-mega-content){
  left:0 !important;
  right:0 !important;
  width:auto !important;
  /* Opts OUT of the site-layout clamp, deliberately and on the owner's
     call (2026-08-27): this band reads better full-bleed in every
     layout, including the narrow ones.
     The reasoning that put the clamp there was sound for a panel that
     is CONTENT — a 1425px menu over a 736px page is absurd. It is the
     premise that was wrong: this menu is CHROME, hanging off a header
     that is itself edge to edge, and a header does not narrow when the
     measure does. The page looking wrong under a narrow layout is a
     page-design problem, not something the menu should compensate for
     by shrinking. The clamp stays in site-layouts.ts as the platform
     default for stretched panels; this is the one theme that declines
     it, and says so.
     Auto margins are kept so the opt-out is one property to delete if
     that call is ever reversed. */
  max-width:none !important;
  margin-inline:auto !important;
  transform:none !important;
  /* Rounded where it can be seen. Full-bleed, only the bottom corners
     are ever off an edge; under a narrowing layout the panel pulls in
     and all four read. The kit's frame radius is 20px and the panel
     sits at its foot, so the bottom pair carry it. */
  border-radius:0 0 20px 20px !important;
  overflow:hidden;
  border-left:0 !important;
  border-right:0 !important;
  background:rgb(var(--c-paper-soft)) !important;
  border-top:1px solid rgb(var(--c-line-soft)) !important;
  padding:0 !important;
  /* FLUSH to the header. The platform hangs a mega panel 8px below its
     trigger and bridges the gap with .fs-hdr-drop::before so the
     pointer does not lose hover crossing it. On a full-bleed band that
     8px is a stripe of page showing between the nav and the panel,
     where the kit draws one continuous surface. Zeroing it also
     retires the problem the bridge existed to solve. */
  margin-top:0 !important;
}
/* The BAND is the theme's panel, not one style's panel. M1 and M2 are
   drawn as the same continuous surface in the kit — same flush top,
   same full-bleed, same bottom radius — and only their CONTENTS differ.
   Keeping the geometry in one rule is what stops the two drifting: the
   feature panel was still the platform's 640px floating card hung 8px
   below the header, which is a different object entirely. */
[data-fs-theme='realtywave'] .fsdrop-panel-feature:has(.fsdrop-mega-content){
  left:0 !important;
  right:0 !important;
  width:auto !important;
  max-width:none !important;
  margin-inline:auto !important;
  transform:none !important;
  border-radius:0 0 20px 20px !important;
  overflow:hidden;
  border-left:0 !important;
  border-right:0 !important;
  background:rgb(var(--c-paper-soft)) !important;
  border-top:1px solid rgb(var(--c-line-soft)) !important;
  margin-top:0 !important;
}
/* Four authored columns, then the foot strip's own cell. The base sets
   tracks inline from the theme's column count, so this needs !important
   too. COLUMNS ONLY — the feature panel lays out two link columns beside
   a card and sets its own tracks below. */
/* Four tracks for the GENERIC-BLOCK directory only. A composite is one
   thing and takes the whole panel; leaving this unqualified gave the
   composite one track of four. */
[data-fs-theme='realtywave'] .fsdrop-panel-columns:has(.fsdrop-mega-content):not(:has(.fsdrop-mega-composite)){
  padding:0 !important;
  grid-template-columns:repeat(4, 1fr) !important;
  gap:0 !important;
}
/* A composite panel: full bleed, no padding of the platform's own.
   Same band geometry, one track. */
[data-fs-theme='realtywave'] .fsdrop-panel-columns:has(.fsdrop-mega-composite){
  padding:0 !important;
  gap:0 !important;
}
/* The child-page column is HIDDEN on this theme: all four columns are
   authored, and the rows that map to a real page carry a pageType, so
   nothing becomes unreachable. Without this the panel opens with a
   column of raw sub-page links in front of the directory. */
[data-fs-theme='realtywave'] .fsdrop-panel-columns > .fsdrop-mega-col{
  display:none;
}
/* The content cell spans the whole band and lays its own blocks out as
   the four columns plus a full-width foot row. */
/* :not(:has()) because those four tracks are for the GENERIC-BLOCK
   directory, not for a composite -- which is ONE thing and takes the
   whole row. At (0,3,0) with !important this was beating the platform's
   composite rule and squeezing all four columns into the left 638px of a
   1425px panel, which is what 'too narrow and broken' looked like. */
[data-fs-theme='realtywave'] .fsdrop-panel-columns > .fsdrop-mega-content:not(:has(.fsdrop-mega-composite)){
  grid-column:1 / -1 !important;
  grid-template-columns:repeat(4, 1fr) !important;
  border-right:0;
  padding:0;
  gap:0;
}
[data-fs-theme='realtywave'] .fsdrop-panel-columns .fsdrop-mega-content-col{
  padding:26px 24px;
  border-right:1px solid rgb(var(--c-line-soft));
}
[data-fs-theme='realtywave'] .fsdrop-panel-columns .fsdrop-mega-content-col:nth-child(4){
  border-right:0;
}

/* The columns themselves. The base linkList is close; these are the
   kit's own numbers — 14.5px rows at 8px/10px, a 9px hover radius, and
   the coral eyebrow that is RealtyWave's accent rather than its brand. */
[data-fs-theme='realtywave'] .fsdrop-mega-linklist-heading{
  font-size:12px;
  letter-spacing:.16em;
  color:rgb(var(--c-accent, var(--c-brand-600)));
  margin:0 0 14px;
}
[data-fs-theme='realtywave'] .fsdrop-mega-linklist-link{
  font-size:14.5px;
  /* 1.55, not the base style's 1.35. The platform default is a compact
     menu row and this design is a directory you read down — measured
     22.475px in the kit against 19.575px ported, which is 2.9px per row
     and 12px of drift down a four-row column. The count inherits it,
     so both come right together. verify-menu.mjs found this; nobody
     was ever going to catch it by eye. */
  line-height:1.55;
  padding:8px 10px;
  margin:0 -10px;
  border-radius:9px;
}
[data-fs-theme='realtywave'] .fsdrop-mega-linklist-link:hover,
[data-fs-theme='realtywave'] .fsdrop-mega-linklist-link:focus-visible{
  background:rgb(var(--c-paper));
}

/* The foot strip. The fifth content column, spanning the band on its
   own row — the same "wrap to a full-width row" the panel grid gives
   any cell past the fourth, made deliberate. */
[data-fs-theme='realtywave'] .fsdrop-panel-columns .fsdrop-mega-content-col:nth-child(5){
  grid-column:1 / -1;
  border-right:0;
  border-top:1px solid rgb(var(--c-line-soft));
  background:rgb(var(--c-paper));
  padding:16px 24px;
  display:flex;
  /* flex-direction, explicitly: the base content column is a COLUMN
     flex, so inheriting it stacked the status line above the link and
     centred both. The strip is one row — text left, link right. */
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}
[data-fs-theme='realtywave'] .fsdrop-panel-columns .fsdrop-mega-content-col:nth-child(5) .fsdrop-mega-text-body{
  font-size:13.5px;
  font-weight:400;
  line-height:1.5;
  color:rgb(var(--c-ink-400, var(--c-ink-700)));
  margin:0;
}
/* The foot link is a LINK, not a button. The base .fsdrop-mega-button
   is a filled brand pill and carries a darker fill on hover; stripping
   the resting fill without stripping the hover left it painting a
   brand-700 block behind the words the moment the pointer touched
   them. Both states, or neither. */
[data-fs-theme='realtywave'] .fsdrop-mega-button,
[data-fs-theme='realtywave'] .fsdrop-mega-button:hover,
[data-fs-theme='realtywave'] .fsdrop-mega-button:focus-visible{
  background:none;
  border:0;
  padding:0;
  font-size:14px;
  font-weight:700;
  color:rgb(var(--fs-menu-color, var(--c-brand-600)));
}
[data-fs-theme='realtywave'] .fsdrop-mega-button:hover{
  text-decoration:underline;
  text-underline-offset:4px;
  text-decoration-thickness:1.5px;
}

/* THE TRIGGER, and the one structural difference between the kit and
   the platform. The kit writes the caret INSIDE the trigger —
   <button class="navlink">Locations <span class="caret">-</span></button>
   — so the pill wraps both and they sit 6px apart. The platform makes
   the caret a SIBLING button after the link, which is the right call
   for a tap target but means the link's own 13px padding pushes the
   caret 15px away and the pill stops before it. Both were visible the
   moment waveNav gained a pill.

   So the pill moves up one level, onto the group, and the link inside
   it goes padding-free. Plain items with no children keep theirs on
   the anchor, which is the same box either way. */
[data-fs-theme='realtywave'] .fs-hdr-group{
  gap:6px;
  padding:9px 13px;
  border-radius:10px;
  transition:background-color .2s cubic-bezier(.2,.7,.3,1);
}
[data-fs-theme='realtywave'] .fs-hdr-group > a.fsmenu-waveNav{
  padding:0 !important;
  border-radius:0;
  background:none !important;
}
[data-fs-theme='realtywave'] .fs-hdr-group:hover{
  background:rgb(var(--c-ink-950) / .05);
}
[data-fs-theme='realtywave'] .fs-hdr-group:has(> a[aria-current]:not([aria-current='false'])){
  background:rgb(var(--fs-menu-color, var(--c-brand-600)) / .13);
}

/* The caret itself. The platform dims it to .65 and fades it in on
   group hover — sensible where the caret is a discovery affordance,
   wrong here: the kit draws a small mark that is simply always there
   and rotates. Full strength, a shade smaller, and the kit's own .2s. */
[data-fs-theme='realtywave'] .fs-hdr-caret{
  opacity:1;
}
[data-fs-theme='realtywave'] .fs-hdr-caret svg{
  width:9px;
  height:6px;
  transition:transform .2s ease;
}
[data-fs-theme='realtywave'] .fs-hdr-caret svg path{
  stroke-width:2;
}
/* ---- M1, generated by scripts/port-menu.mjs ---- */
/* The design's inherited context, re-established at the panel root.
   Every value below is one the kit set on <body> and its descendants
   relied on without restating. */
[data-fs-theme='realtywave'] .fs-rltm-wrap {
  font-family:'Figtree', system-ui, sans-serif;
  font-size:15px;
  font-weight:initial;
  font-style:initial;
  line-height:1.55;
  letter-spacing:initial;
  word-spacing:initial;
  color:rgb(var(--c-ink-950));
  text-transform:initial;
  -webkit-font-smoothing:antialiased;
  font-variant-numeric:initial;
}

/* The design's inheritance model, re-established for descendants.
   Inheritance never beats a direct declaration, so a root baseline
   alone cannot undo a platform rule that targets a bare tag. */
[data-fs-theme='realtywave'] .fs-rltm-wrap *:not(button):not(input):not(select):not(textarea) {
  line-height:inherit;
  letter-spacing:inherit;
  word-spacing:inherit;
  text-transform:inherit;
  font-variant-numeric:inherit;
}

/* What the UA gives a form control on the design page, said out
   loud, because the port's CSS reset does not give the same thing. */
[data-fs-theme='realtywave'] .fs-rltm-wrap :is(button,input,select,textarea) {
  line-height:normal;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-eyebrow {
  font-size:12px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgb(var(--c-accent));
  margin:0 0 14px;
  display:block;
  line-height:16.275px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-cols {
  display:grid;
  grid-template-columns:repeat(4,1fr);
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-col {
  padding:26px 24px;
  border-right:1px solid rgb(var(--c-line-soft));
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-col:last-child {
  border-right:none;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-col ul {
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:1px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-col a {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  text-decoration:none;
  color:rgb(var(--c-ink-950));
  font-size:14.5px;
  padding:8px 10px;
  border-radius:9px;
  margin:0 -10px;
  font-weight:500;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-col a .fs-rltm-n {
  font-size:12px;
  color:rgb(var(--c-ink-400));
  font-weight:500;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-colfoot {
  background:rgb(var(--c-paper));
  padding:16px 24px;
  border-top:1px solid rgb(var(--c-line-soft));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-colfoot span {
  font-size:13.5px;
  color:rgb(var(--c-ink-400));
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-linkarrow {
  color:rgb(var(--c-brand-600));
  font-size:14px;
  font-weight:700;
  text-decoration:none;
  font-family:'Figtree', system-ui, sans-serif;
}

/* The kit drew no narrow state. Stacked below 560px so the panel cannot
   run off a phone; everything else is left exactly as drawn. */
@media (max-width: 560px) {
  [data-fs-theme='realtywave'] .fs-rltm-wrap [class*='fs-rltm-'] { grid-template-columns: 1fr !important; }
}

/* ---- M2, generated by scripts/port-menu.mjs ---- */
/* The design's inherited context, re-established at the panel root.
   Every value below is one the kit set on <body> and its descendants
   relied on without restating. */
[data-fs-theme='realtywave'] .fs-rltm-wrap {
  font-family:'Figtree', system-ui, sans-serif;
  font-size:15px;
  font-weight:initial;
  font-style:initial;
  line-height:1.55;
  letter-spacing:initial;
  word-spacing:initial;
  color:rgb(var(--c-ink-950));
  text-transform:initial;
  -webkit-font-smoothing:antialiased;
  font-variant-numeric:initial;
}

/* The design's inheritance model, re-established for descendants.
   Inheritance never beats a direct declaration, so a root baseline
   alone cannot undo a platform rule that targets a bare tag. */
[data-fs-theme='realtywave'] .fs-rltm-wrap *:not(button):not(input):not(select):not(textarea) {
  line-height:inherit;
  letter-spacing:inherit;
  word-spacing:inherit;
  text-transform:inherit;
  font-variant-numeric:inherit;
}

/* What the UA gives a form control on the design page, said out
   loud, because the port's CSS reset does not give the same thing. */
[data-fs-theme='realtywave'] .fs-rltm-wrap :is(button,input,select,textarea) {
  line-height:normal;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-eyebrow {
  font-size:12px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgb(var(--c-accent));
  margin:0 0 14px;
  display:block;
  line-height:16.275px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-price {
  font-family:'Bricolage Grotesque', system-ui, sans-serif;
  font-weight:700;
  letter-spacing:-.6px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-col {
  padding:26px 24px;
  border-right:1px solid rgb(var(--c-line-soft));
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-col:last-child {
  border-right:none;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-col ul {
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:1px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-col a {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  text-decoration:none;
  color:rgb(var(--c-ink-950));
  font-size:14.5px;
  padding:8px 10px;
  border-radius:9px;
  margin:0 -10px;
  font-weight:500;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-col a:hover {
  background:rgb(var(--c-paper));
  color:rgb(var(--c-brand-600));
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-col a .fs-rltm-n {
  font-size:12px;
  color:rgb(var(--c-ink-400));
  font-weight:500;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-linkarrow {
  color:rgb(var(--c-brand-600));
  font-size:14px;
  font-weight:700;
  text-decoration:none;
  font-family:'Figtree', system-ui, sans-serif;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-spot {
  display:grid;
  grid-template-columns:1fr 1fr 360px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-spotcard {
  padding:24px;
  background:rgb(var(--c-paper));
  display:flex;
  flex-direction:column;
  gap:13px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-shot {
  height:150px;
  border-radius:14px;
  position:relative;
  overflow:hidden;
  flex:none;
  background:linear-gradient(165deg,#1E6E78 0%, #2F8F92 42%, #9FD8CB 100%);
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-shot::after {
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:64%;
  background:linear-gradient(transparent, rgba(11,29,40,.72));
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-shot .fs-rltm-tag {
  position:absolute;
  top:12px;
  left:12px;
  z-index:2;
  background:rgb(var(--c-accent));
  color:#fff;
  font-size:12px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  padding:5px 10px;
  border-radius:99px;
  line-height:16.275px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-shot .fs-rltm-meta {
  position:absolute;
  left:14px;
  bottom:12px;
  z-index:2;
  color:#fff;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-shot .fs-rltm-meta b {
  display:block;
  font-family:'Bricolage Grotesque', system-ui, sans-serif;
  font-size:19px;
  font-weight:700;
  letter-spacing:-.6px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-shot .fs-rltm-meta span {
  display:block;
  font-size:12.5px;
  opacity:.86;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-spotcard h4 {
  font-family:'Bricolage Grotesque', system-ui, sans-serif;
  font-size:16px;
  font-weight:700;
  margin:0;
  letter-spacing:-.3px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-spotcard p {
  margin:0;
  font-size:13.5px;
  color:rgb(var(--c-ink-400));
  line-height:1.5;
}

@media (max-width:820px) {
  [data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-spot {
    grid-template-columns:1fr;
  }
}

/* ---- M3, generated by scripts/port-menu.mjs ---- */
/* The design's inherited context, re-established at the panel root.
   Every value below is one the kit set on <body> and its descendants
   relied on without restating. */
[data-fs-theme='realtywave'] .fs-rltm-wrap {
  font-family:'Figtree', system-ui, sans-serif;
  font-size:15px;
  font-weight:initial;
  font-style:initial;
  line-height:1.55;
  letter-spacing:initial;
  word-spacing:initial;
  color:rgb(var(--c-ink-950));
  text-transform:initial;
  -webkit-font-smoothing:antialiased;
  font-variant-numeric:initial;
}

/* The design's inheritance model, re-established for descendants.
   Inheritance never beats a direct declaration, so a root baseline
   alone cannot undo a platform rule that targets a bare tag. */
[data-fs-theme='realtywave'] .fs-rltm-wrap *:not(button):not(input):not(select):not(textarea) {
  line-height:inherit;
  letter-spacing:inherit;
  word-spacing:inherit;
  text-transform:inherit;
  font-variant-numeric:inherit;
}

/* What the UA gives a form control on the design page, said out
   loud, because the port's CSS reset does not give the same thing. */
[data-fs-theme='realtywave'] .fs-rltm-wrap :is(button,input,select,textarea) {
  line-height:normal;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-tiles {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  padding:24px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-tile {
  border:1px solid rgb(var(--c-line));
  border-radius:16px;
  overflow:hidden;
  background:rgb(var(--c-paper));
  text-decoration:none;
  color:inherit;
  transition:transform .18s ease, box-shadow .18s ease;
  display:flex;
  flex-direction:column;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-tile:hover {
  transform:translateY(-3px);
  box-shadow:0 1px 2px rgba(12,34,51,.05), 0 14px 34px rgba(12,34,51,.09);
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-tband {
  height:74px;
  position:relative;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-t1 {
  background:linear-gradient(150deg,#1E6E78,#66B7B4);
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-tbody {
  padding:15px 17px;
  display:flex;
  flex-direction:column;
  gap:5px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-tbody b {
  font-family:'Bricolage Grotesque', system-ui, sans-serif;
  font-size:16px;
  font-weight:700;
  letter-spacing:-.35px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-tbody span {
  font-size:12.5px;
  color:rgb(var(--c-ink-400));
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-tbody .fs-rltm-cnt {
  font-family:'Bricolage Grotesque', system-ui, sans-serif;
  font-weight:700;
  font-size:13px;
  color:rgb(var(--c-brand-600));
}

@media (max-width:820px) {
  [data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-tiles {
    grid-template-columns:repeat(2,1fr);
  }
}

/* ---- M4, generated by scripts/port-menu.mjs ---- */
/* The design's inherited context, re-established at the panel root.
   Every value below is one the kit set on <body> and its descendants
   relied on without restating. */
[data-fs-theme='realtywave'] .fs-rltm-wrap {
  font-family:'Figtree', system-ui, sans-serif;
  font-size:15px;
  font-weight:initial;
  font-style:initial;
  line-height:1.55;
  letter-spacing:initial;
  word-spacing:initial;
  color:rgb(var(--c-ink-950));
  text-transform:initial;
  -webkit-font-smoothing:antialiased;
  font-variant-numeric:initial;
}

/* The design's inheritance model, re-established for descendants.
   Inheritance never beats a direct declaration, so a root baseline
   alone cannot undo a platform rule that targets a bare tag. */
[data-fs-theme='realtywave'] .fs-rltm-wrap *:not(button):not(input):not(select):not(textarea) {
  line-height:inherit;
  letter-spacing:inherit;
  word-spacing:inherit;
  text-transform:inherit;
  font-variant-numeric:inherit;
}

/* What the UA gives a form control on the design page, said out
   loud, because the port's CSS reset does not give the same thing. */
[data-fs-theme='realtywave'] .fs-rltm-wrap :is(button,input,select,textarea) {
  line-height:normal;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-t1 {
  background:linear-gradient(150deg,#1E6E78,#66B7B4);
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-split {
  display:grid;
  grid-template-columns:250px 1fr;
  min-height:310px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-rail {
  background:rgb(var(--c-paper));
  border-right:1px solid rgb(var(--c-line));
  padding:18px 14px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-railitem {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:11px 13px;
  border-radius:11px;
  font-size:14.5px;
  cursor:pointer;
  color:rgb(var(--c-ink-700));
  border:none;
  background:none;
  width:100%;
  text-align:left;
  font-family:'Figtree', system-ui, sans-serif;
  font-weight:500;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-railitem:hover {
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-railitem.fs-rltm-on {
  background:rgb(var(--c-paper));
  color:rgb(var(--c-brand-600));
  font-weight:700;
  box-shadow:0 1px 2px rgba(12,34,51,.05), 0 14px 34px rgba(12,34,51,.09);
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-railitem em {
  font-style:normal;
  font-size:12px;
  color:rgb(var(--c-ink-400));
  font-weight:500;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-preview {
  padding:26px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-pv[hidden] {
  display:none;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-pv h4 {
  font-family:'Bricolage Grotesque', system-ui, sans-serif;
  font-size:20px;
  font-weight:700;
  margin:0 0 6px;
  letter-spacing:-.5px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-pv > p {
  margin:0 0 18px;
  color:rgb(var(--c-ink-400));
  font-size:14px;
  max-width:56ch;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-pvgrid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-pvcard {
  border:1px solid rgb(var(--c-line));
  border-radius:13px;
  overflow:hidden;
  background:rgb(var(--c-paper));
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-pvcard .fs-rltm-strip {
  height:56px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-pvcard .fs-rltm-pc {
  padding:11px 13px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-pvcard b {
  display:block;
  font-family:'Bricolage Grotesque', system-ui, sans-serif;
  font-size:14px;
  font-weight:700;
  letter-spacing:-.3px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-pvcard span {
  font-size:12px;
  color:rgb(var(--c-ink-400));
  display:block;
  margin-top:2px;
  line-height:17.825px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-pvcard .fs-rltm-p {
  font-family:'Bricolage Grotesque', system-ui, sans-serif;
  font-weight:700;
  font-size:14px;
  color:rgb(var(--c-accent));
  margin-top:5px;
  display:block;
  line-height:21.700px;
}

@media (max-width:820px) {
  [data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-pvgrid {
    grid-template-columns:repeat(2,1fr);
  }
}

@media (max-width:820px) {
  [data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-split {
    grid-template-columns:1fr;
  }
}

/* ---- M5, generated by scripts/port-menu.mjs ---- */
/* The design's inherited context, re-established at the panel root.
   Every value below is one the kit set on <body> and its descendants
   relied on without restating. */
[data-fs-theme='realtywave'] .fs-rltm-wrap {
  font-family:'Figtree', system-ui, sans-serif;
  font-size:15px;
  font-weight:initial;
  font-style:initial;
  line-height:1.55;
  letter-spacing:initial;
  word-spacing:initial;
  color:rgb(var(--c-ink-950));
  text-transform:initial;
  -webkit-font-smoothing:antialiased;
  font-variant-numeric:initial;
}

/* The design's inheritance model, re-established for descendants.
   Inheritance never beats a direct declaration, so a root baseline
   alone cannot undo a platform rule that targets a bare tag. */
[data-fs-theme='realtywave'] .fs-rltm-wrap *:not(button):not(input):not(select):not(textarea) {
  line-height:inherit;
  letter-spacing:inherit;
  word-spacing:inherit;
  text-transform:inherit;
  font-variant-numeric:inherit;
}

/* What the UA gives a form control on the design page, said out
   loud, because the port's CSS reset does not give the same thing. */
[data-fs-theme='realtywave'] .fs-rltm-wrap :is(button,input,select,textarea) {
  line-height:normal;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-linkarrow {
  color:rgb(var(--c-brand-600));
  font-size:14px;
  font-weight:700;
  text-decoration:none;
  font-family:'Figtree', system-ui, sans-serif;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-canvas {
  background:linear-gradient(155deg,#0B1D28 0%, #122836 55%, #16414A 100%);
  color:#EDF3F2;
  padding:34px 28px;
  position:relative;
  overflow:hidden;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-canvas::before {
  content:'';
  position:absolute;
  right:-70px;
  top:-110px;
  width:380px;
  height:380px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(159,216,203,.2),transparent 66%);
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-canvas::after {
  content:'';
  position:absolute;
  left:12%;
  bottom:-160px;
  width:340px;
  height:340px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(226,89,59,.28),transparent 68%);
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-canvas > * {
  position:relative;
  z-index:1;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-canvashead {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:22px;
  flex-wrap:wrap;
  margin-bottom:24px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-canvashead h3 {
  font-family:'Bricolage Grotesque', system-ui, sans-serif;
  font-weight:800;
  font-size:28px;
  margin:0;
  letter-spacing:-1px;
  color:#fff;
  text-wrap:balance;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-canvashead p {
  margin:7px 0 0;
  color:#9FB6B8;
  font-size:14px;
  max-width:48ch;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-cgrid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-ccard {
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  padding:17px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-ccard .fs-rltm-metric {
  font-family:'Bricolage Grotesque', system-ui, sans-serif;
  font-size:30px;
  font-weight:800;
  color:#9FD8CB;
  letter-spacing:-1.4px;
  display:block;
  line-height:1;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-ccard b {
  display:block;
  font-family:'Bricolage Grotesque', system-ui, sans-serif;
  font-size:14px;
  font-weight:700;
  color:#fff;
  margin:7px 0 3px;
  letter-spacing:-.2px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-ccard span {
  font-size:12.5px;
  color:#9FB6B8;
  line-height:1.5;
  display:block;
}

@media (max-width:820px) {
  [data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-cgrid {
    grid-template-columns:repeat(2,1fr);
  }
}



.fs-cf{position:relative;background:rgb(var(--c-paper));color:rgb(var(--c-ink-950));font-family:var(--font-body,'Public Sans',system-ui,sans-serif);font-size:16px;line-height:1.5;}
.fs-cf *{box-sizing:border-box;}
.fs-cf-wire{filter:grayscale(1) contrast(.5);}
.fs-cf p{margin:0;}

/* ── rhythm ─────────────────────────────────────────────────── */
/* The export's .section: 64px block, 64px inline (--pad), stepping
   to 32px then 20px. Block padding follows the theme's density dial
   where one is set. */
.fs-cf-sec{padding:var(--fs-space-section, 64px) 64px;position:relative;}
.fs-cf-sec--edge{border-bottom:1px solid rgb(var(--c-line));}
.fs-cf-hero-pad{padding-top:76px;}
.fs-cf-book-pad{padding-top:44px;padding-bottom:70px;}
.fs-cf-reader-pad{padding-top:40px;padding-bottom:80px;}
.fs-cf-player-pad{padding-bottom:80px;}
.fs-cf-market-head{padding-bottom:26px;}
.fs-cf-market-grid-pad{padding-top:20px;padding-bottom:80px;}
.fs-cf-news-pad{padding-top:0;}
.fs-cf-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:26px;}
.fs-cf-head--tight{margin-bottom:0;}
.fs-cf-head--loose{margin-bottom:30px;}
.fs-cf-title-row{display:flex;align-items:center;gap:14px;margin-bottom:22px;flex-wrap:wrap;}

/* ── type ───────────────────────────────────────────────────── */
.fs-cf-h1{font-family:var(--font-display,'Newsreader',Georgia,serif);font-weight:500;font-size:48px;line-height:1.08;letter-spacing:-.005em;margin:0;text-wrap:pretty;}
.fs-cf-h1--mb{margin-bottom:30px;}
.fs-cf-h2{font-family:var(--font-display,'Newsreader',Georgia,serif);font-weight:500;font-size:36px;line-height:1.1;letter-spacing:-.005em;margin:0;text-wrap:pretty;}
.fs-cf-h2--mb{margin-bottom:24px;}
.fs-cf-eyebrow{font-family:var(--font-mono,'Spline Sans Mono',ui-monospace,monospace);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:rgb(var(--c-brand-600));margin-bottom:12px;}
.fs-cf-eyebrow--tight{margin-bottom:4px;}
.fs-cf-eyebrow--sm{font-size:12px;margin-bottom:8px;}
.fs-cf-meta{font-family:var(--font-mono,'Spline Sans Mono',ui-monospace,monospace);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgb(var(--c-ink-400, var(--c-ink-700)));}
.fs-cf-mono{font-family:var(--font-mono,'Spline Sans Mono',ui-monospace,monospace);}
.fs-cf-muted{color:rgb(var(--c-ink-400, var(--c-ink-700)));}
.fs-cf-lede{font-size:16.5px;line-height:1.65;color:rgb(var(--c-ink-400, var(--c-ink-700)));max-width:520px;}
.fs-cf-link{color:rgb(var(--c-brand-600));font-size:14px;font-weight:600;}
.fs-cf-quote{font-family:var(--font-display,'Newsreader',Georgia,serif);font-style:italic;font-size:16px;line-height:1.45;margin-bottom:14px;}
.fs-cf-stars{color:rgb(var(--c-brand-600));letter-spacing:2px;font-size:14px;margin-bottom:10px;}
.fs-cf-stars--sm{font-size:12.5px;letter-spacing:1.5px;margin-bottom:0;}

/* ── buttons + pills ────────────────────────────────────────── */
/* Everything interactive is a 999px pill (the theme's round dial).
   Rendered as spans in the block layer where non-navigating, so the
   selectors cover both a real control and its inert twin. */
.fs-cf-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--fs-radius-pill, 999px);font-family:inherit;font-weight:600;font-size:14px;border:none;text-decoration:none;padding:11px 22px;min-height:44px;cursor:pointer;}
.fs-cf-btn--primary{background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)));}
.fs-cf-btn--ghost{background:none;border:1.5px solid rgb(var(--c-ink-950));color:rgb(var(--c-ink-950));padding:10px 20px;}
.fs-cf-btn--quiet{background:rgb(var(--c-paper-soft, var(--c-paper)));border:1px solid rgb(var(--c-line));color:rgb(var(--c-ink-950));font-size:12.5px;padding:8px 16px;}
.fs-cf-btn--soft{background:rgb(var(--c-brand-600) / .13);color:rgb(var(--c-brand-600));font-size:12.5px;padding:8px 16px;}
.fs-cf-btn--lg{padding:13px 26px;font-size:15px;}
.fs-cf-btn--block{width:100%;}
.fs-cf-anim .fs-cf-btn{transition:filter .12s cubic-bezier(.25,.6,.25,1),background .25s cubic-bezier(.25,.6,.25,1),color .25s cubic-bezier(.25,.6,.25,1),border-color .25s cubic-bezier(.25,.6,.25,1);}
.fs-cf-anim button.fs-cf-btn:hover,.fs-cf-anim button.fs-cf-chip:hover{filter:brightness(1.08);}
.fs-cf-chip{border:1px solid rgb(var(--c-line));background:rgb(var(--c-paper-soft, var(--c-paper)));color:rgb(var(--c-ink-950));border-radius:var(--fs-radius-pill, 999px);padding:8px 18px;min-height:44px;display:inline-flex;align-items:center;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;}
.fs-cf-chip[aria-pressed="true"]{background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)));}
.fs-cf-tag{display:inline-flex;align-items:center;gap:7px;border:1px solid rgb(var(--c-line));background:rgb(var(--c-paper-soft, var(--c-paper)));border-radius:var(--fs-radius-pill, 999px);padding:9px 16px;min-height:44px;font-size:12.5px;font-weight:600;color:rgb(var(--c-ink-950));}
.fs-cf-pill{font-family:var(--font-mono,'Spline Sans Mono',ui-monospace,monospace);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgb(var(--c-ink-400, var(--c-ink-700)));border:1px solid rgb(var(--c-line));border-radius:var(--fs-radius-pill, 999px);padding:5px 12px;white-space:nowrap;}
.fs-cf-pill--accent{color:rgb(var(--c-accent));}
.fs-cf-iconbtn{width:44px;height:44px;border-radius:50%;border:1px solid rgb(var(--c-line));background:rgb(var(--c-paper-soft, var(--c-paper)));color:rgb(var(--c-ink-950));font-family:inherit;cursor:pointer;display:inline-grid;place-items:center;flex:none;}
.fs-cf-fontbtn{font-family:var(--font-display,'Newsreader',Georgia,serif);font-weight:700;font-size:12px;}
.fs-cf-fontbtn--up{font-size:15px;}
.fs-cf-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center;}
.fs-cf-row--tight{gap:8px;}

/* ── surfaces ───────────────────────────────────────────────── */
.fs-cf-card{background:rgb(var(--c-paper-soft, var(--c-paper)));border:1px solid rgb(var(--c-line));border-radius:var(--fs-radius-card, 16px);}
.fs-cf-grid{display:grid;gap:24px;}
.fs-cf-g3{grid-template-columns:repeat(3,minmax(0,1fr));}
.fs-cf-g4{grid-template-columns:repeat(4,minmax(0,1fr));}
.fs-cf-g6{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;}
.fs-cf-ink{background:rgb(var(--c-ink-950));color:rgb(var(--c-paper));border-radius:20px;}

/* ── the tide-line flow motif ───────────────────────────────── */
.fs-cf-flow{position:absolute;pointer-events:none;opacity:.45;stroke:rgb(var(--c-line));fill:none;stroke-width:1.5;max-width:none;}
.fs-cf-flow path{stroke-dasharray:6 8;}
.fs-cf-anim .fs-cf-flow path{animation:var(--fs-anim-flow, fs-cf-flow 12s linear infinite);}
.fs-cf-anim .fs-cf-flow path:nth-child(2){animation-duration:16s;}
.fs-cf-anim .fs-cf-flow path:nth-child(3){animation-duration:20s;}
@keyframes fs-cf-flow{to{stroke-dashoffset:-120;}}

/* ── hero ───────────────────────────────────────────────────── */
/* overflow:clip, never hidden — hidden silently freezes every
   scroll-driven animation on any descendant (DECISIONS.md). */
.fs-cf-hero .fs-cf-sec{overflow:clip;}
.fs-cf-hero-flow{right:-30px;bottom:10px;}
.fs-cf-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:56px;align-items:center;position:relative;}
.fs-cf-hero-title{font-family:var(--font-display,'Newsreader',Georgia,serif);font-weight:500;font-size:62px;line-height:1.04;letter-spacing:-.01em;margin:0 0 18px;text-wrap:pretty;}
.fs-cf-hero-lede{margin-bottom:28px;}
.fs-cf-hero-ctas{margin-bottom:30px;}
.fs-cf-anim .fs-cf-rise{animation:var(--fs-anim-rise, fs-cf-rise .7s cubic-bezier(.25,.6,.25,1) both);}
@keyframes fs-cf-rise{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
.fs-cf-stats{display:flex;gap:34px;flex-wrap:wrap;}
.fs-cf-stat b{font-family:var(--font-display,'Newsreader',Georgia,serif);font-size:26px;font-weight:500;display:block;}
.fs-cf-stat span{font-family:var(--font-mono,'Spline Sans Mono',ui-monospace,monospace);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgb(var(--c-ink-400, var(--c-ink-700)));}

/* ── typographic book covers (FIXED ARTWORK — see header) ───── */
/* The cover's own drop shadow falls on the PAGE, not on the artwork,
   so it reads the palette ink like every other shadow in the app — a
   flat black shadow is invisible on a dark-mode page. The cover's
   FILL below stays literal, because that is printed artwork. */
.fs-cf-cov{border-radius:5px 10px 10px 5px;color:#EFE6D3;padding:18px 16px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:8px 12px 28px rgb(var(--c-ink-950) / .15);aspect-ratio:2/3;position:relative;}
.fs-cf-cov--lg{box-shadow:18px 26px 60px rgb(var(--c-ink-950) / .22);border-radius:6px 12px 12px 6px;padding:26px 22px;width:100%;max-width:300px;}
.fs-cf-cov-top{display:flex;justify-content:space-between;align-items:flex-start;}
.fs-cf-cov-a{font-family:var(--font-mono,'Spline Sans Mono',ui-monospace,monospace);font-size:12px;letter-spacing:.2em;text-transform:uppercase;opacity:.75;}
.fs-cf-cov--lg .fs-cf-cov-a{font-size:12px;letter-spacing:.22em;}
.fs-cf-cov-t{font-family:var(--font-display,'Newsreader',Georgia,serif);font-size:21px;font-weight:500;line-height:1.12;}
.fs-cf-cov-t--lg{font-size:36px;line-height:1.06;margin:10px 0 12px;}
.fs-cf-cov-s{font-family:var(--font-display,'Newsreader',Georgia,serif);font-style:italic;font-size:14px;opacity:.8;margin-top:10px;}
.fs-cf-cov-badge{align-self:flex-start;font-family:var(--font-mono,'Spline Sans Mono',ui-monospace,monospace);font-size:12px;letter-spacing:.1em;text-transform:uppercase;background:#00000030;border-radius:999px;padding:3px 9px;}
.fs-cf-cov-spine{position:absolute;left:0;top:0;bottom:0;width:12px;background:linear-gradient(90deg,#0000003a,transparent);border-radius:6px 0 0 6px;}
.fs-cf-cov--tide,.fs-cf-panel.fs-cf-cov--tide,.fs-cf-thumb.fs-cf-cov--tide{background:linear-gradient(160deg,#22444A,#16292D);}
.fs-cf-cov--audio,.fs-cf-panel.fs-cf-cov--audio,.fs-cf-thumb.fs-cf-cov--audio{background:linear-gradient(160deg,#1D3A50,#0F2233);}
.fs-cf-cov--course,.fs-cf-panel.fs-cf-cov--course,.fs-cf-thumb.fs-cf-cov--course{background:linear-gradient(160deg,#6D2A56,#3C1730);color:#F2E0EA;}
.fs-cf-cov--salt,.fs-cf-panel.fs-cf-cov--salt,.fs-cf-thumb.fs-cf-cov--salt{background:linear-gradient(160deg,#2B2436,#191521);color:#E8D9C4;}
.fs-cf-cov--orchard,.fs-cf-panel.fs-cf-cov--orchard,.fs-cf-thumb.fs-cf-cov--orchard{background:linear-gradient(160deg,#31475A,#1D2B38);color:#E7E0CF;}
.fs-cf-cov--mag,.fs-cf-panel.fs-cf-cov--mag,.fs-cf-thumb.fs-cf-cov--mag{background:linear-gradient(160deg,#7A2E1D,#4A1B10);color:#F2E4CE;}
.fs-cf-cov--light,.fs-cf-panel.fs-cf-cov--light,.fs-cf-thumb.fs-cf-cov--light{background:linear-gradient(160deg,#C9C2B2,#A79E8B);color:#2A2620;}
.fs-cf-cov--carto,.fs-cf-panel.fs-cf-cov--carto,.fs-cf-thumb.fs-cf-cov--carto{background:linear-gradient(160deg,#5A3E2B,#38261A);color:#EFE2CB;}
.fs-cf-cov--green,.fs-cf-panel.fs-cf-cov--green,.fs-cf-thumb.fs-cf-cov--green{background:linear-gradient(160deg,#2E5B40,#16301F);color:#DCEAD9;}
.fs-cf-cov--navy,.fs-cf-panel.fs-cf-cov--navy,.fs-cf-thumb.fs-cf-cov--navy{background:linear-gradient(160deg,#27435E,#131F2E);color:#D9E4EF;}
.fs-cf-stack{position:relative;height:400px;display:flex;justify-content:center;align-items:center;}
.fs-cf-stack .fs-cf-cov{width:210px;position:absolute;}
.fs-cf-stack .fs-cf-cov:nth-child(1){transform:rotate(-9deg) translateX(-110px);}
.fs-cf-stack .fs-cf-cov:nth-child(2){transform:rotate(7deg) translateX(110px);}
.fs-cf-stack .fs-cf-cov:nth-child(3){position:relative;width:230px;align-self:center;box-shadow:16px 24px 56px rgb(var(--c-ink-950) / .25);}

/* ── hover lift ─────────────────────────────────────────────── */
.fs-cf-anim .fs-cf-lift{transition:transform .25s cubic-bezier(.25,.6,.25,1),box-shadow .25s cubic-bezier(.25,.6,.25,1),border-color .25s cubic-bezier(.25,.6,.25,1);}
.fs-cf-anim .fs-cf-lift:hover{transform:var(--fs-anim-lift, translateY(-6px) rotate(-.4deg));box-shadow:var(--fs-shadow-card-hover, 0 18px 40px rgb(var(--c-ink-950) / .11));}

/* ── shelves ────────────────────────────────────────────────── */
.fs-cf-shelf{padding:18px;border-radius:14px;}
.fs-cf-shelf-t{font-family:var(--font-display,'Newsreader',Georgia,serif);font-size:18px;margin-bottom:4px;}
.fs-cf-shelf-c{font-family:var(--font-mono,'Spline Sans Mono',ui-monospace,monospace);font-size:12px;color:rgb(var(--c-ink-400, var(--c-ink-700)));}

/* ── trending cards ─────────────────────────────────────────── */
.fs-cf-tname{font-weight:600;font-size:15px;margin:14px 0 2px;}
.fs-cf-tmeta{font-family:var(--font-mono,'Spline Sans Mono',ui-monospace,monospace);font-size:12px;color:rgb(var(--c-ink-400, var(--c-ink-700)));}

/* ── marketplace ────────────────────────────────────────────── */
.fs-cf-mcard{overflow:clip;}
.fs-cf-panel{aspect-ratio:16/10;padding:16px 18px;display:flex;flex-direction:column;justify-content:space-between;color:#EFE6D3;}
.fs-cf-panel-t{font-size:19px;}
.fs-cf-mcap{padding:14px 18px;}
.fs-cf-mauthor{font-size:12px;margin-bottom:3px;}
.fs-cf-mrow{display:flex;align-items:center;justify-content:space-between;}
.fs-cf-mprice{font-size:12.5px;}
.fs-cf-mrating{font-size:12px;color:rgb(var(--c-brand-600));}

/* ── book detail ────────────────────────────────────────────── */
.fs-cf-crumb{margin-bottom:30px;}
.fs-cf-book-grid{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr) minmax(260px,300px);gap:44px;align-items:start;}
.fs-cf-book-title{font-family:var(--font-display,'Newsreader',Georgia,serif);font-weight:500;font-size:46px;line-height:1.05;margin:0 0 8px;}
.fs-cf-byline{font-family:var(--font-display,'Newsreader',Georgia,serif);font-style:italic;font-size:18px;color:rgb(var(--c-ink-400, var(--c-ink-700)));margin-bottom:18px;}
.fs-cf-book-blurb{margin-bottom:22px;}
.fs-cf-book-ctas{margin-bottom:24px;}
.fs-cf-spec{overflow:clip;max-width:520px;}
.fs-cf-spec>div{display:grid;grid-template-columns:1fr 1.4fr;padding:11px 18px;border-bottom:1px solid rgb(var(--c-line));font-size:12.5px;}
.fs-cf-spec>div:last-child{border-bottom:none;}
.fs-cf-bundle{position:sticky;top:120px;border-radius:18px;padding:22px;}
.fs-cf-bundle-k{margin-bottom:4px;}
.fs-cf-bundle-n{font-size:12px;margin-bottom:14px;}
.fs-cf-brows{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;}
.fs-cf-brow{display:flex;align-items:center;gap:10px;border:1.5px solid rgb(var(--c-line));background:rgb(var(--c-paper));color:rgb(var(--c-ink-950));border-radius:12px;padding:10px 14px;min-height:44px;cursor:pointer;font-family:inherit;text-align:left;}
.fs-cf-anim .fs-cf-brow{transition:border-color .2s cubic-bezier(.25,.6,.25,1);}
.fs-cf-brow[aria-pressed="true"]{border-color:rgb(var(--c-brand-600));}
.fs-cf-brow-l{flex:1;text-align:left;font-size:12.5px;font-weight:600;}
.fs-cf-bullet{width:20px;height:20px;border-radius:50%;flex:none;display:grid;place-items:center;border:1.5px solid rgb(var(--c-line));color:var(--fs-on-brand, rgb(var(--c-paper)));}
.fs-cf-brow .fs-cf-bullet{border-radius:5px;width:18px;height:18px;}
.fs-cf-bullet.is-on{border-color:rgb(var(--c-brand-600));background:rgb(var(--c-brand-600));}
.fs-cf-bullet.is-now{border-color:rgb(var(--c-brand-600));}
.fs-cf-btotal{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px;}
.fs-cf-bfull{font-size:13px;text-decoration:line-through;margin-right:8px;color:rgb(var(--c-ink-400, var(--c-ink-700)));}
.fs-cf-bsum{font-family:var(--font-display,'Newsreader',Georgia,serif);font-size:26px;font-weight:600;color:rgb(var(--c-brand-600));}

/* ── reviews ────────────────────────────────────────────────── */
.fs-cf-grid.fs-cf-g3{gap:18px;}
.fs-cf-rev{margin:0;padding:22px 24px;}

/* ── reader (FIXED PAPER STOCK — see header) ────────────────── */
.fs-cf-reader-wrap{max-width:1060px;margin:0 auto;}
.fs-cf-reader-h{font-family:var(--font-display,'Newsreader',Georgia,serif);font-weight:500;font-size:28px;margin:0;}
/* The reader's PAPER is fixed stock (three real tints the swatches
   switch between); its shadow onto the page is palette-aware. */
.fs-cf-reader{border:1px solid rgb(var(--c-line));border-radius:20px;padding:44px 52px;box-shadow:0 24px 60px rgb(var(--c-ink-950) / .09);background:#FBF7EE;color:#241E14;}
.fs-cf-anim .fs-cf-reader{transition:background .3s cubic-bezier(.25,.6,.25,1),color .3s cubic-bezier(.25,.6,.25,1);}
.fs-cf-reader--sepia{background:#F2E5CB;color:#41321D;}
.fs-cf-reader--night{background:#17130C;color:#E9E1D0;}
.fs-cf-spread{display:grid;grid-template-columns:1fr 1px 1fr;gap:44px;min-height:340px;}
.fs-cf-spread-p{font-family:var(--font-display,'Newsreader',Georgia,serif);line-height:1.78;text-align:justify;}
.fs-cf-spread-r{position:relative;}
.fs-cf-rule{background:#E6DECD;opacity:.7;}
.fs-cf-rchapter{font-family:var(--font-mono,'Spline Sans Mono',ui-monospace,monospace);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:rgb(var(--c-brand-600));text-align:left;margin-bottom:14px;}
.fs-cf-curl{position:absolute;right:0;bottom:0;width:52px;height:52px;background:linear-gradient(315deg,rgb(var(--c-paper-soft, var(--c-paper))) 50%,transparent 50%);border-radius:0 0 20px 0;}
.fs-cf-rbar{display:flex;align-items:center;gap:18px;margin-top:32px;padding-top:20px;border-top:1px solid #E6DECD5C;}
.fs-cf-rprogress{flex:1;height:4px;}
.fs-cf-rlabel{font-size:12px;opacity:.7;}
.fs-cf-rnote{text-align:center;font-size:12px;margin-top:18px;}
.fs-cf-swatch{width:44px;height:44px;border-radius:50%;border:2px solid rgb(var(--c-line));cursor:pointer;padding:0;background-clip:content-box;box-sizing:border-box;}
.fs-cf-swatch[aria-pressed="true"]{border-color:rgb(var(--c-brand-600));}
.fs-cf-swatch--paper{background-color:#FBF7EE;}
.fs-cf-swatch--sepia{background-color:#F2E5CB;}
.fs-cf-swatch--night{background-color:#17130C;}

/* ── bars ───────────────────────────────────────────────────── */
.fs-cf-bar{height:6px;border-radius:999px;background:rgb(var(--c-paper-soft, var(--c-paper)));border:1px solid rgb(var(--c-line));overflow:clip;flex:1;}
.fs-cf-bar>i{display:block;height:100%;border-radius:999px;background:rgb(var(--c-brand-600));width:0;transition:width 1.2s cubic-bezier(.25,.6,.25,1);}

/* ── audiobook player ───────────────────────────────────────── */
.fs-cf-featured{border-radius:20px;padding:30px 34px;margin-bottom:26px;}
.fs-cf-featured-top{display:flex;align-items:center;gap:20px;margin-bottom:24px;flex-wrap:wrap;}
.fs-cf-thumb{width:76px;height:76px;border-radius:12px;flex:none;}
.fs-cf-thumb--sm{width:52px;height:52px;border-radius:10px;}
.fs-cf-featured-t{flex:1;min-width:220px;}
.fs-cf-ptitle{font-weight:600;font-size:17px;margin-bottom:3px;}
.fs-cf-pmeta{font-size:13px;}
.fs-cf-speed,.fs-cf-sleep{font-size:12px;}
.fs-cf-bookmark{color:rgb(var(--c-brand-600));}
.fs-cf-player-row{display:flex;align-items:center;gap:20px;}
.fs-cf-play{width:60px;height:60px;border-radius:50%;background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)));border:none;cursor:pointer;display:grid;place-items:center;flex:none;}
.fs-cf-anim .fs-cf-play{transition:transform .15s cubic-bezier(.25,.6,.25,1);}
.fs-cf-anim button.fs-cf-play:hover{transform:scale(1.06);}
.fs-cf-wavebars{flex:1;display:flex;align-items:flex-end;gap:3px;height:60px;}
.fs-cf-wavebars>i{flex:1;background:rgb(var(--c-brand-600));border-radius:2px;transform-origin:bottom;transform:scaleY(.3);}
.fs-cf-anim .is-playing .fs-cf-wavebars>i{animation:var(--fs-anim-wave, fs-cf-wave 1.4s ease-in-out infinite);}
@keyframes fs-cf-wave{0%,100%{transform:scaleY(.3);}50%{transform:scaleY(1);}}
.fs-cf-ptime{font-size:12px;flex:none;}
.fs-cf-arow{padding:20px 22px;display:flex;align-items:center;gap:16px;}
.fs-cf-arow-t{flex:1;min-width:0;}
.fs-cf-aname{font-weight:600;font-size:14px;margin-bottom:2px;}
.fs-cf-ameta{font-size:12px;}
.fs-cf-aplay{width:44px;height:44px;border:1.5px solid rgb(var(--c-brand-600));color:rgb(var(--c-brand-600));background:none;}

/* ── courses ────────────────────────────────────────────────── */
.fs-cf-course-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:22px;margin-bottom:26px;}
.fs-cf-video{border-radius:20px;overflow:clip;}
.fs-cf-vstage{position:relative;aspect-ratio:16/8.5;display:grid;place-items:center;}
.fs-cf-vplay{width:66px;height:66px;border-radius:50%;background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)));display:grid;place-items:center;box-shadow:0 10px 30px #00000040;}
.fs-cf-vtrack{position:absolute;left:0;right:0;bottom:0;height:5px;background:#00000038;}
.fs-cf-vtrack>i{display:block;height:100%;background:rgb(var(--c-brand-600));}
.fs-cf-vcap{padding:20px 26px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.fs-cf-vtitle{font-weight:600;font-size:16px;margin-bottom:3px;}
.fs-cf-vmeta{font-size:13px;}
.fs-cf-lessons{border-radius:20px;padding:18px 22px;}
.fs-cf-lessons-k{margin-bottom:8px;}
.fs-cf-lrow{display:flex;align-items:center;gap:12px;padding:10px 4px;border-bottom:1px solid rgb(var(--c-line));font-size:13.5px;border-radius:6px;}
.fs-cf-lrow:last-child{border-bottom:none;}
.fs-cf-lrow-t{flex:1;}
.fs-cf-lrow-t.is-done{color:rgb(var(--c-ink-400, var(--c-ink-700)));}
.fs-cf-lrow-t.is-cur{color:rgb(var(--c-brand-600));font-weight:600;}
.fs-cf-len{font-size:12px;color:rgb(var(--c-ink-400, var(--c-ink-700)));}
.fs-cf-ccard{overflow:clip;}
.fs-cf-cstage{aspect-ratio:16/8;display:flex;align-items:flex-end;padding:16px 18px;color:#EFE6D3;}
.fs-cf-ccap{padding:14px 18px;display:flex;align-items:center;justify-content:space-between;}
.fs-cf-cmeta{font-size:12px;}
.fs-cf-cprice{font-size:12.5px;color:rgb(var(--c-brand-600));}

/* ── magazine ───────────────────────────────────────────────── */
.fs-cf-mag-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:22px;margin-bottom:22px;}
.fs-cf-mag-feature{position:relative;border-radius:20px;overflow:clip;min-height:420px;background:linear-gradient(160deg,#3E5A63,#1B2A30);}
.fs-cf-mag-scrim{position:absolute;left:0;right:0;bottom:0;padding:80px 32px 28px;background:linear-gradient(transparent,#000000B0 55%,#000000D8);}
.fs-cf-mag-eyebrow{font-family:var(--font-mono,'Spline Sans Mono',ui-monospace,monospace);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#E5A57A;margin-bottom:8px;}
.fs-cf-mag-title{font-family:var(--font-display,'Newsreader',Georgia,serif);font-weight:500;font-size:36px;color:#F5EFE2;margin:0 0 6px;max-width:480px;line-height:1.1;}
.fs-cf-mag-sub{font-family:var(--font-display,'Newsreader',Georgia,serif);font-style:italic;font-size:15px;color:#D8CFBC;}
.fs-cf-mag-side{display:flex;flex-direction:column;gap:22px;}
.fs-cf-mag-card{flex:1;border-radius:20px;padding:26px 28px;display:flex;flex-direction:column;justify-content:center;}
.fs-cf-mag-card-t{font-family:var(--font-display,'Newsreader',Georgia,serif);font-weight:500;font-size:23px;margin:0 0 6px;line-height:1.15;}
.fs-cf-mag-card-s{font-size:13px;line-height:1.55;}
.fs-cf-grid.fs-cf-g4{gap:18px;}
.fs-cf-vrow{padding:18px 20px;display:flex;align-items:center;justify-content:space-between;border-radius:14px;}
.fs-cf-vrow-t{font-family:var(--font-display,'Newsreader',Georgia,serif);font-size:17px;display:block;}
.fs-cf-vrow-s{font-size:12px;display:block;}
.fs-cf-vrow-p{font-size:12px;color:rgb(var(--c-brand-600));}

/* ── creators ───────────────────────────────────────────────── */
.fs-cf-spot{padding:38px 42px;display:flex;align-items:center;gap:36px;margin-bottom:26px;flex-wrap:wrap;border-radius:22px;position:relative;overflow:clip;}
.fs-cf-spot-flow{right:-20px;top:0;opacity:.2;stroke:rgb(var(--c-paper));}
.fs-cf-spot-avatar{background:rgb(var(--c-paper) / .12);color:rgb(var(--c-paper));}
.fs-cf-spot-t{flex:1;min-width:260px;}
.fs-cf-spot-eyebrow{font-family:var(--font-mono,'Spline Sans Mono',ui-monospace,monospace);font-size:12px;letter-spacing:.16em;text-transform:uppercase;opacity:.65;margin-bottom:8px;}
.fs-cf-spot-name{font-family:var(--font-display,'Newsreader',Georgia,serif);font-weight:500;font-size:34px;margin:0 0 8px;}
.fs-cf-spot-bio{font-size:14px;opacity:.75;max-width:480px;line-height:1.6;}
.fs-cf-spot-btn{background:transparent;color:rgb(var(--c-paper));border:1.5px solid rgb(var(--c-paper));padding:11px 24px;}
.fs-cf-avatar{border-radius:50%;background:rgb(var(--c-brand-600) / .13);color:rgb(var(--c-brand-600));display:grid;place-items:center;font-family:var(--font-display,'Newsreader',Georgia,serif);font-weight:600;flex:none;}
.fs-cf-avatar--sm{width:38px;height:38px;font-size:15px;}
.fs-cf-avatar--md{width:80px;height:80px;font-size:25px;margin:0 auto 14px;}
.fs-cf-avatar--lg{width:120px;height:120px;font-size:38px;}
.fs-cf-crcard{padding:24px;text-align:center;border-radius:18px;}
.fs-cf-crname{font-family:var(--font-display,'Newsreader',Georgia,serif);font-size:19px;margin-bottom:2px;}
.fs-cf-crrole{font-family:var(--font-mono,'Spline Sans Mono',ui-monospace,monospace);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgb(var(--c-brand-600));margin-bottom:10px;}
.fs-cf-crbio{font-size:12.5px;line-height:1.55;margin-bottom:14px;}
.fs-cf-crmeta{font-size:12px;}
.fs-cf-grid.fs-cf-g4.fs-cf-creators-grid{gap:20px;}

/* ── community ──────────────────────────────────────────────── */
.fs-cf-comm-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:22px;align-items:start;}
.fs-cf-threads{display:flex;flex-direction:column;gap:16px;}
.fs-cf-thread{padding:22px 26px;}
.fs-cf-thread-top{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.fs-cf-thread-who{flex:1;}
.fs-cf-thread-n{font-weight:600;font-size:14px;}
.fs-cf-thread-w{font-size:12px;}
.fs-cf-thread-b{font-size:14px;line-height:1.6;margin-bottom:14px;}
.fs-cf-thread-x{font-size:12px;}
.fs-cf-ratebox{position:sticky;top:120px;border-radius:18px;padding:24px 26px;}
.fs-cf-ratebox-k{margin-bottom:16px;}
.fs-cf-score-row{display:flex;align-items:baseline;gap:12px;margin-bottom:16px;}
.fs-cf-score{font-family:var(--font-display,'Newsreader',Georgia,serif);font-size:52px;font-weight:500;line-height:1;}
.fs-cf-score-meta{font-size:12px;margin-top:2px;}
.fs-cf-rating-row{display:flex;align-items:center;gap:10px;margin-bottom:7px;}
.fs-cf-rating-row .fs-cf-bar{height:7px;}
.fs-cf-rating-n{font-size:12px;width:14px;}
.fs-cf-rating-p{font-size:12px;width:32px;text-align:right;}
.fs-cf-ratebox-btn{margin-top:14px;padding:11px 0;font-size:13.5px;}

/* ── newsletter ─────────────────────────────────────────────── */
.fs-cf-news{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center;border-radius:20px;padding:40px 44px;}
.fs-cf-news-h{font-family:var(--font-display,'Newsreader',Georgia,serif);font-weight:500;font-size:30px;margin:0 0 8px;}
.fs-cf-news-s{font-size:14px;}
.fs-cf-news-form{display:flex;gap:10px;}
.fs-cf-input{flex:1;min-width:0;border:1px solid rgb(var(--c-line));background:rgb(var(--c-paper));color:rgb(var(--c-ink-950));border-radius:var(--fs-radius-pill, 999px);padding:12px 20px;min-height:44px;font-size:14px;font-family:inherit;outline:none;}
.fs-cf-anim .fs-cf-input{transition:border-color .25s cubic-bezier(.25,.6,.25,1);}
.fs-cf-input:focus{border-color:rgb(var(--c-brand-600));}

/* ── footer ─────────────────────────────────────────────────── */
.fs-cf-footer-root{background:transparent;}
.fs-cf-footer{padding:26px 64px;border-top:1px solid rgb(var(--c-line));display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12.5px;color:rgb(var(--c-ink-400, var(--c-ink-700)));}
.fs-cf-footer-l{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.fs-cf-flink{color:rgb(var(--c-brand-600));text-decoration:none;}
.fs-cf-flink:hover{color:rgb(var(--c-ink-950));text-decoration:underline;}
.fs-cf-built{display:flex;align-items:center;gap:8px;font-family:var(--font-mono,'Spline Sans Mono',ui-monospace,monospace);font-size:12px;letter-spacing:.12em;text-transform:uppercase;}

/* ── responsive — the export's own two steps ────────────────── */
@media (max-width:1100px){
  .fs-cf-sec{padding-left:32px;padding-right:32px;}
  .fs-cf-footer{padding-left:32px;padding-right:32px;}
  .fs-cf-g6,.fs-cf-g4{grid-template-columns:repeat(2,minmax(0,1fr));}
  .fs-cf-g3{grid-template-columns:repeat(2,minmax(0,1fr));}
  .fs-cf-book-grid,.fs-cf-course-grid,.fs-cf-mag-grid,.fs-cf-comm-grid,.fs-cf-hero-grid,.fs-cf-news{grid-template-columns:minmax(0,1fr);}
  .fs-cf-bundle,.fs-cf-ratebox{position:static;}
}
@media (max-width:760px){
  .fs-cf-sec{padding-left:20px;padding-right:20px;}
  .fs-cf-footer{padding-left:20px;padding-right:20px;}
  .fs-cf-g6,.fs-cf-g4,.fs-cf-g3{grid-template-columns:minmax(0,1fr);}
  .fs-cf-spread{grid-template-columns:minmax(0,1fr);gap:20px;}
  .fs-cf-rule{display:none;}
  .fs-cf-hero-title{font-size:38px;}
  .fs-cf-h1{font-size:34px;}
  .fs-cf-book-title{font-size:32px;}
  .fs-cf-reader{padding:24px 22px;}
  .fs-cf-stack{height:300px;}
  .fs-cf-stack .fs-cf-cov{width:150px;}
  .fs-cf-stack .fs-cf-cov:nth-child(1){transform:rotate(-9deg) translateX(-70px);}
  .fs-cf-stack .fs-cf-cov:nth-child(2){transform:rotate(7deg) translateX(70px);}
  .fs-cf-stack .fs-cf-cov:nth-child(3){width:170px;}
}

/* Reduced motion: the export disables every animation and transition,
   and so does this sheet. The lift/rise/flow/wave vars stay declared so
   a customer toggle still reads correctly; this simply overrides. */
@media (prefers-reduced-motion: reduce){
  .fs-cf *,.fs-cf *::before,.fs-cf *::after{animation:none !important;transition:none !important;}
}

/* ── THE FIVE KIT MENUS, IN THIS THEME'S LANGUAGE ───────────────
   Every premium kit draws the same five archetypes and each maps to a
   platform style: Column Directory -> columns, Feature Spotlight ->
   feature, Tile Grid -> showcase, Split Preview -> tabbed, Full-Bleed
   Canvas -> promo. The CONTENT for each lives in this theme's
   megaMenus.byStyle; what follows is only how each shape wears this
   theme's clothes.

   THE METRIC TREATMENT is the one that needs saying. In the Canvas
   menu a text block is a NUMBER over a label — '98.4%' then 'CSAT this
   quarter'. The platform's mega-text heading is 13px/700, which renders
   a statistic at the size of a sub-heading and loses the whole point of
   the panel. So inside the flooded cell the heading becomes the figure.

   KNOWN LIMIT, not styled around: the tabbed style builds its RAIL from the nav
   item's CHILD PAGES, not from the tab headings authored in blocks. An
   item with one child shows one tab, and content authored for cols 1-3
   is unreachable. Measured on CreatorFlow, whose Marketplace has a
   single child. Fixing it means letting a linkList or a block heading
   name a tab, which is an engine change. */
[data-fs-theme='creatorflow'] .fsdrop-panel-promo .fsdrop-mega-content .fsdrop-mega-text-heading{
  font-family:var(--font-display);
  font-size:30px;
  font-weight:800;
  letter-spacing:-1.2px;
  line-height:1;
  margin:0 0 4px;
}
[data-fs-theme='creatorflow'] .fsdrop-panel-promo .fsdrop-mega-content .fsdrop-mega-text{
  margin-bottom:16px;
}
/* The first block in the flooded cell is the ARGUMENT, not a figure —
   it keeps sentence size so the numbers beside it stay the loud thing. */
[data-fs-theme='creatorflow'] .fsdrop-panel-promo .fsdrop-mega-content-col:first-child .fsdrop-mega-text-heading{
  font-size:19px;
  letter-spacing:-.5px;
  line-height:1.2;
}
/* The link column beside a flooded cell is usually one or two child
   pages, so it should not hold a third of the panel. */
[data-fs-theme='creatorflow'] .fsdrop-panel-promo .fsdrop-mega-col{
  min-width:0;
}
[data-fs-theme='creatorflow'] .fsdrop-panel-tabbed .fsdrop-tab-panel .fsdrop-mega-text-heading{
  font-family:var(--font-display);
  font-size:17px;
  letter-spacing:-.3px;
}
[data-fs-theme='creatorflow'] .fsdrop-panel-showcase .fsdrop-mega-content{
  padding-top:4px;
}

/* CreatorFlow's display face is Newsreader, and a serif numeral at 30px
   is the one place this theme's book-jacket register reaches the
   chrome. Prices in the rail keep the body face and tabular figures so
   a column of them lines up. */
[data-fs-theme='creatorflow'] .fsdrop-panel-promo .fsdrop-mega-content .fsdrop-mega-text-heading{
  font-weight:600;
  letter-spacing:-.4px;
}
[data-fs-theme='creatorflow'] .fsdrop-mega-linklist-count{
  font-variant-numeric:tabular-nums;
}
/* ---- M1, generated by scripts/port-menu.mjs ---- */
/* The design's inherited context, re-established at the panel root.
   Every value below is one the kit set on <body> and its descendants
   relied on without restating. */
[data-fs-theme='creatorflow'] .fs-crtm-wrap {
  font-family:'Public Sans', system-ui, sans-serif;
  font-size:15px;
  font-weight:initial;
  font-style:initial;
  line-height:1.6;
  letter-spacing:initial;
  word-spacing:initial;
  color:rgb(var(--c-ink-950));
  text-transform:initial;
  -webkit-font-smoothing:antialiased;
  font-variant-numeric:initial;
}

/* The design's inheritance model, re-established for descendants.
   Inheritance never beats a direct declaration, so a root baseline
   alone cannot undo a platform rule that targets a bare tag. */
[data-fs-theme='creatorflow'] .fs-crtm-wrap *:not(button):not(input):not(select):not(textarea) {
  line-height:inherit;
  letter-spacing:inherit;
  word-spacing:inherit;
  text-transform:inherit;
  font-variant-numeric:inherit;
}

/* What the UA gives a form control on the design page, said out
   loud, because the port's CSS reset does not give the same thing. */
[data-fs-theme='creatorflow'] .fs-crtm-wrap :is(button,input,select,textarea) {
  line-height:normal;
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-cols {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  padding:0;
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-col {
  padding:24px 22px;
  border-right:1px solid rgb(var(--c-line-soft));
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-col:last-child {
  border-right:none;
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-eyebrow {
  display:block;
  font-family:'Spline Sans Mono', ui-monospace, monospace;
  font-size:12px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgb(var(--c-ink-400));
  margin:0 0 12px;
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-col ul {
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-col a {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  text-decoration:none;
  color:rgb(var(--c-ink-950));
  font-size:14px;
  font-weight:400;
  padding:7px 8px;
  border-radius:7px;
  margin:0 -8px;
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-col a:hover {
  background:rgb(var(--c-line-soft));
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-col a .fs-crtm-n {
  font-family:'Spline Sans Mono', ui-monospace, monospace;
  font-size:12px;
  color:rgb(var(--c-ink-400));
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-colfoot {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  padding:14px 22px;
  background:rgb(var(--c-paper-soft));
  border-top:1px solid rgb(var(--c-line-soft));
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-colfoot span {
  font-size:13px;
  color:rgb(var(--c-ink-400));
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-colfoot .fs-crtm-mono {
  font-family:'Spline Sans Mono', ui-monospace, monospace;
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-linkarrow {
  color:rgb(var(--c-accent));
  font-size:14px;
  font-weight:600;
  text-decoration:none;
  font-family:'Newsreader', Georgia, serif;
}

@media (max-width:820px) {
  [data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-cols {
    grid-template-columns:repeat(2,1fr);
  }
}

@media (max-width:480px) {
  [data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-cols {
    grid-template-columns:1fr;
  }
}

@media (max-width:480px) {
  [data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-col {
    border-right:0;
    border-bottom:1px solid rgb(var(--c-line-soft));
  }
}

/* ---- M2, generated by scripts/port-menu.mjs ---- */
/* The design's inherited context, re-established at the panel root.
   Every value below is one the kit set on <body> and its descendants
   relied on without restating. */
[data-fs-theme='creatorflow'] .fs-crtm-wrap {
  font-family:'Public Sans', system-ui, sans-serif;
  font-size:15px;
  font-weight:initial;
  font-style:initial;
  line-height:1.6;
  letter-spacing:initial;
  word-spacing:initial;
  color:rgb(var(--c-ink-950));
  text-transform:initial;
  -webkit-font-smoothing:antialiased;
  font-variant-numeric:initial;
}

/* The design's inheritance model, re-established for descendants.
   Inheritance never beats a direct declaration, so a root baseline
   alone cannot undo a platform rule that targets a bare tag. */
[data-fs-theme='creatorflow'] .fs-crtm-wrap *:not(button):not(input):not(select):not(textarea) {
  line-height:inherit;
  letter-spacing:inherit;
  word-spacing:inherit;
  text-transform:inherit;
  font-variant-numeric:inherit;
}

/* What the UA gives a form control on the design page, said out
   loud, because the port's CSS reset does not give the same thing. */
[data-fs-theme='creatorflow'] .fs-crtm-wrap :is(button,input,select,textarea) {
  line-height:normal;
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-colfoot {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  padding:14px 22px;
  background:rgb(var(--c-paper-soft));
  border-top:1px solid rgb(var(--c-line-soft));
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-colfoot span {
  font-size:13px;
  color:rgb(var(--c-ink-400));
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-linkarrow {
  color:rgb(var(--c-accent));
  font-size:14px;
  font-weight:600;
  text-decoration:none;
  font-family:'Newsreader', Georgia, serif;
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-spot {
  display:grid;
  grid-template-columns:1fr 1fr 1.1fr;
  gap:0;
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-spotcard {
  padding:22px;
  border-left:1px solid rgb(var(--c-line-soft));
  display:flex;
  flex-direction:column;
  gap:10px;
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-spotimg {
  height:132px;
  border-radius:10px;
  background:linear-gradient(150deg, #27435E 0%, rgb(var(--c-accent)) 100%);
  display:flex;
  align-items:flex-end;
  padding:12px;
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-spotimg b {
  font-family:'Spline Sans Mono', ui-monospace, monospace;
  font-size:12px;
  font-weight:600;
  color:#F6F1E7;
  background:rgba(21,17,9,.62);
  padding:4px 8px;
  border-radius:6px;
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-spotcard h4 {
  font-family:'Newsreader', Georgia, serif;
  font-size:18px;
  font-weight:700;
  margin:0;
  color:rgb(var(--c-ink-950));
  letter-spacing:-.2px;
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-spotcard p {
  margin:0;
  font-size:13px;
  color:rgb(var(--c-ink-400));
  line-height:1.5;
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-price {
  font-family:'Spline Sans Mono', ui-monospace, monospace;
  font-size:15px;
  font-weight:600;
  color:rgb(var(--c-accent));
}

@media (max-width:820px) {
  [data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-spot {
    grid-template-columns:repeat(2,1fr);
  }
}

@media (max-width:480px) {
  [data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-spot {
    grid-template-columns:1fr;
  }
}

@media (max-width:480px) {
  [data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-spotcard {
    border-left:0;
    border-top:1px solid rgb(var(--c-line-soft));
  }
}

/* ---- M3, generated by scripts/port-menu.mjs ---- */
/* The design's inherited context, re-established at the panel root.
   Every value below is one the kit set on <body> and its descendants
   relied on without restating. */
[data-fs-theme='creatorflow'] .fs-crtm-wrap {
  font-family:'Public Sans', system-ui, sans-serif;
  font-size:15px;
  font-weight:initial;
  font-style:initial;
  line-height:1.6;
  letter-spacing:initial;
  word-spacing:initial;
  color:rgb(var(--c-ink-950));
  text-transform:initial;
  -webkit-font-smoothing:antialiased;
  font-variant-numeric:initial;
}

/* The design's inheritance model, re-established for descendants.
   Inheritance never beats a direct declaration, so a root baseline
   alone cannot undo a platform rule that targets a bare tag. */
[data-fs-theme='creatorflow'] .fs-crtm-wrap *:not(button):not(input):not(select):not(textarea) {
  line-height:inherit;
  letter-spacing:inherit;
  word-spacing:inherit;
  text-transform:inherit;
  font-variant-numeric:inherit;
}

/* What the UA gives a form control on the design page, said out
   loud, because the port's CSS reset does not give the same thing. */
[data-fs-theme='creatorflow'] .fs-crtm-wrap :is(button,input,select,textarea) {
  line-height:normal;
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-tiles {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  padding:22px;
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-tile {
  border:1px solid rgb(var(--c-line));
  border-radius:11px;
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:6px;
  text-decoration:none;
  background:rgb(var(--c-paper));
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-tile:hover {
  border-color:rgb(var(--c-accent));
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-ticon {
  font-size:19px;
  line-height:1;
  color:rgb(var(--c-accent));
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-tile b {
  display:block;
  font-family:'Newsreader', Georgia, serif;
  font-size:15px;
  font-weight:700;
  color:rgb(var(--c-ink-950));
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-tile span {
  font-size:13px;
  color:rgb(var(--c-ink-400));
  line-height:1.45;
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-badge {
  align-self:flex-start;
  font-family:'Spline Sans Mono', ui-monospace, monospace;
  font-size:12px;
  font-weight:500;
  padding:2px 7px;
  border-radius:5px;
}

@media (max-width:820px) {
  [data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-tiles {
    grid-template-columns:repeat(2,1fr);
  }
}

@media (max-width:480px) {
  [data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-tiles {
    grid-template-columns:1fr;
  }
}

/* ---- M4, generated by scripts/port-menu.mjs ---- */
/* The design's inherited context, re-established at the panel root.
   Every value below is one the kit set on <body> and its descendants
   relied on without restating. */
[data-fs-theme='creatorflow'] .fs-crtm-wrap {
  font-family:'Public Sans', system-ui, sans-serif;
  font-size:15px;
  font-weight:initial;
  font-style:initial;
  line-height:1.6;
  letter-spacing:initial;
  word-spacing:initial;
  color:rgb(var(--c-ink-950));
  text-transform:initial;
  -webkit-font-smoothing:antialiased;
  font-variant-numeric:initial;
}

/* The design's inheritance model, re-established for descendants.
   Inheritance never beats a direct declaration, so a root baseline
   alone cannot undo a platform rule that targets a bare tag. */
[data-fs-theme='creatorflow'] .fs-crtm-wrap *:not(button):not(input):not(select):not(textarea) {
  line-height:inherit;
  letter-spacing:inherit;
  word-spacing:inherit;
  text-transform:inherit;
  font-variant-numeric:inherit;
}

/* What the UA gives a form control on the design page, said out
   loud, because the port's CSS reset does not give the same thing. */
[data-fs-theme='creatorflow'] .fs-crtm-wrap :is(button,input,select,textarea) {
  line-height:normal;
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-split {
  display:grid;
  grid-template-columns:236px 1fr;
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-rail {
  padding:16px 12px;
  border-right:1px solid rgb(var(--c-line-soft));
  background:rgb(var(--c-paper-soft));
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-railitem {
  appearance:none;
  border:0;
  cursor:pointer;
  width:100%;
  display:flex;
  align-items:center;
  gap:10px;
  font-family:'Public Sans', system-ui, sans-serif;
  font-size:14px;
  font-weight:500;
  color:rgb(var(--c-ink-700));
  background:none;
  padding:9px 11px;
  border-radius:8px;
  text-align:left;
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-railitem.fs-crtm-on {
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
  font-weight:600;
  box-shadow:0 1px 2px rgba(32,26,18,.05), 0 10px 30px rgba(32,26,18,.08);
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-railitem .fs-crtm-g {
  font-size:15px;
  color:rgb(var(--c-accent));
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-pv {
  padding:22px 24px;
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-pv[hidden] {
  display:none;
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-pv h4 {
  font-family:'Newsreader', Georgia, serif;
  font-size:18px;
  font-weight:700;
  margin:0 0 6px;
  color:rgb(var(--c-ink-950));
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-pv > p {
  margin:0 0 16px;
  color:rgb(var(--c-ink-400));
  font-size:13.5px;
  max-width:58ch;
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-pvgrid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-pvcard {
  border:1px solid rgb(var(--c-line));
  border-radius:10px;
  padding:13px;
  background:rgb(var(--c-paper));
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-pvcard b {
  display:block;
  font-family:'Newsreader', Georgia, serif;
  font-size:14px;
  font-weight:700;
  color:rgb(var(--c-ink-950));
  margin-bottom:3px;
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-pvcard span {
  font-size:12.5px;
  color:rgb(var(--c-ink-400));
  line-height:1.45;
  display:block;
}

@media (max-width:820px) {
  [data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-pvgrid {
    grid-template-columns:repeat(2,1fr);
  }
}

@media (max-width:820px) {
  [data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-split {
    grid-template-columns:1fr;
  }
}

@media (max-width:820px) {
  [data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-rail {
    border-right:0;
    border-bottom:1px solid rgb(var(--c-line-soft));
  }
}

@media (max-width:480px) {
  [data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-pvgrid {
    grid-template-columns:1fr;
  }
}

/* ---- M5, generated by scripts/port-menu.mjs ---- */
/* The design's inherited context, re-established at the panel root.
   Every value below is one the kit set on <body> and its descendants
   relied on without restating. */
[data-fs-theme='creatorflow'] .fs-crtm-wrap {
  font-family:'Public Sans', system-ui, sans-serif;
  font-size:15px;
  font-weight:initial;
  font-style:initial;
  line-height:1.6;
  letter-spacing:initial;
  word-spacing:initial;
  color:rgb(var(--c-ink-950));
  text-transform:initial;
  -webkit-font-smoothing:antialiased;
  font-variant-numeric:initial;
}

/* The design's inheritance model, re-established for descendants.
   Inheritance never beats a direct declaration, so a root baseline
   alone cannot undo a platform rule that targets a bare tag. */
[data-fs-theme='creatorflow'] .fs-crtm-wrap *:not(button):not(input):not(select):not(textarea) {
  line-height:inherit;
  letter-spacing:inherit;
  word-spacing:inherit;
  text-transform:inherit;
  font-variant-numeric:inherit;
}

/* What the UA gives a form control on the design page, said out
   loud, because the port's CSS reset does not give the same thing. */
[data-fs-theme='creatorflow'] .fs-crtm-wrap :is(button,input,select,textarea) {
  line-height:normal;
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-linkarrow {
  color:rgb(var(--c-accent));
  font-size:14px;
  font-weight:600;
  text-decoration:none;
  font-family:'Newsreader', Georgia, serif;
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-canvas {
  background:linear-gradient(160deg,#1B2A3A 0%,#27435E 58%,#2E4F52 100%);
  color:#F1EADC;
  padding:26px 24px;
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-canvashead h3 {
  font-family:'Newsreader', Georgia, serif;
  font-size:23px;
  font-weight:700;
  margin:0;
  letter-spacing:-.4px;
  color:#F6F1E7;
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-canvashead p {
  margin:5px 0 0;
  color:#C6D3DF;
  font-size:13.5px;
  max-width:46ch;
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-cgrid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-top:18px;
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-ccard {
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  border-radius:11px;
  padding:14px;
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-metric {
  font-family:'Spline Sans Mono', ui-monospace, monospace;
  font-size:26px;
  font-weight:600;
  color:#9FE0C4;
  letter-spacing:-1px;
  display:block;
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-ccard b {
  display:block;
  font-family:'Newsreader', Georgia, serif;
  font-size:15px;
  font-weight:700;
  color:#F6F1E7;
  margin:6px 0 3px;
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-ccard span {
  font-size:12.5px;
  color:#C6D3DF;
  line-height:1.5;
  display:block;
}

[data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-canvas .fs-crtm-linkarrow {
  color:#9FE0C4;
}

@media (max-width:820px) {
  [data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-cgrid {
    grid-template-columns:repeat(2,1fr);
  }
}

@media (max-width:480px) {
  [data-fs-theme='creatorflow'] .fs-crtm-wrap .fs-crtm-cgrid {
    grid-template-columns:1fr;
  }
}



.fs-pf{
  position:relative;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
  overflow:clip;
}
.fs-pf *{box-sizing:border-box;}

/* ── Keyframes — the source file's own pf* set, renamed fs-pf- ── */
@keyframes fs-pf-dash{to{stroke-dashoffset:0;}}
@keyframes fs-pf-speed{0%{transform:translateX(-24px);opacity:0;}30%{opacity:1;}100%{transform:translateX(24px);opacity:0;}}
@keyframes fs-pf-pulse{0%,100%{transform:scale(1);opacity:.7;}50%{transform:scale(1.5);opacity:0;}}
@keyframes fs-pf-flow{0%{transform:translate(-8px,8px);opacity:0;}25%{opacity:1;}75%{opacity:1;}100%{transform:translate(10px,-10px);opacity:0;}}
@keyframes fs-pf-spin{to{transform:rotate(360deg);}}
@keyframes fs-pf-slidein{0%{opacity:0;transform:translate(-14px,10px);}100%{opacity:1;transform:translate(0,0);}}
@keyframes fs-pf-bargrow{from{transform:scaleY(0);}to{transform:scaleY(1);}}
@keyframes fs-pf-drift{0%{transform:translate(0,0);}50%{transform:translate(14px,-14px);}100%{transform:translate(0,0);}}
@keyframes fs-pf-pop{0%{transform:scale(.4);opacity:0;}70%{transform:scale(1.12);}100%{transform:scale(1);opacity:1;}}

/* var(--fs-anim-<id>, ...) is the Site Settings → Micro-animations
   toggle contract (themes/format.ts microAnimations, site-shell.ts
   microAnimationVars): off writes the var as none, on leaves it unset
   so the default after the comma plays. Eight ids are wired below —
   drift, flowarrow, speed, pulse, spin, tick, slidein, bargrow —
   and payflow.ts declares exactly those eight. */
.fs-pf-anim .fs-pf-drift{animation:var(--fs-anim-drift, fs-pf-drift 5s ease-in-out infinite);}
.fs-pf-anim .fs-pf-arrow{animation:var(--fs-anim-flowarrow, fs-pf-flow 2s ease-in-out infinite);}
.fs-pf-anim .fs-pf-speedline{animation:var(--fs-anim-pf-speed, fs-pf-speed 2s ease-in-out infinite);}
.fs-pf-anim .fs-pf-pulse-ring{animation:var(--fs-anim-pulse, fs-pf-pulse 1.6s ease-out infinite);}
.fs-pf-anim .fs-pf-spinner{animation:var(--fs-anim-spin, fs-pf-spin 1.1s linear infinite);}
.fs-pf-anim .fs-pf-tick-circle{animation:var(--fs-anim-tick, fs-pf-dash .6s ease-out forwards);}
.fs-pf-anim .fs-pf-tick-check{animation:var(--fs-anim-tick, fs-pf-dash .4s ease-out .45s forwards);}
.fs-pf-anim .fs-pf-row-fresh{animation:var(--fs-anim-slidein, fs-pf-slidein .45s ease-out);}
.fs-pf-anim .fs-pf-bar{animation:var(--fs-anim-bargrow, fs-pf-bargrow .5s ease-out both);}
/* Without the anim scope (wireframe render style) the tick paths must
   still be VISIBLE — they draw from a dashoffset that only the
   animation clears. */
.fs-pf-wire .fs-pf-tick-circle,.fs-pf-wire .fs-pf-tick-check{stroke-dashoffset:0 !important;animation:none;}
@media (prefers-reduced-motion: reduce){
  .fs-pf .fs-pf-drift,.fs-pf .fs-pf-arrow,.fs-pf .fs-pf-speedline,
  .fs-pf .fs-pf-pulse-ring,.fs-pf .fs-pf-spinner,.fs-pf .fs-pf-row-fresh,
  .fs-pf .fs-pf-bar{animation:none !important;}
  .fs-pf .fs-pf-tick-circle,.fs-pf .fs-pf-tick-check{stroke-dashoffset:0 !important;animation:none !important;}
}

/* ── Type ─────────────────────────────────────────────────────── */
/* Source scale: H1 50/800/-1.5px · H2 34/700/-.8px · H3 24/600 ·
   body 17/1.6 · data Roboto Mono. clamp() carries the 50px desktop
   value down to phone width as a curve, endpoints from the source. */
.fs-pf-eyebrow{
  display:inline-flex;align-items:center;
  padding:6px 14px;
  border-radius:var(--fs-radius-pill, 999px);
  background:rgb(var(--c-brand-50));
  color:rgb(var(--c-brand-600));
  /* Sentence case with 1px tracking, matching the export exactly
     ("Sub-second settlement, now in the UK"). It shipped uppercase, which
     was never in the design — the theme copy was already sentence case,
     so the transform was overriding the authored string. */
  font-weight:700;font-size:.75rem;letter-spacing:1px;
  transform:skewX(-8deg);
}
.fs-pf-eyebrow>span{display:inline-block;transform:skewX(8deg);}
.fs-pf-title{
  margin:20px 0 18px;
  font-family:var(--font-display, 'Montserrat', sans-serif);
  font-size:clamp(2.25rem,4.2vw + 1rem,3.125rem);
  line-height:1.04;font-weight:800;letter-spacing:-.03em;
  color:rgb(var(--c-ink-950));
  text-wrap:balance;
}
.fs-pf-h{
  margin:18px 0 8px;
  font-family:var(--font-display, 'Montserrat', sans-serif);
  font-size:clamp(1.55rem,2.6vw + .6rem,2.125rem);
  line-height:1.12;font-weight:700;letter-spacing:-.023em;
  color:rgb(var(--c-ink-950));
  text-wrap:balance;
}
.fs-pf-sub{
  margin:0 0 30px;max-width:560px;
  /* 18px — the export's hero sub. It shipped 17px, which is the export's
     most-used body value but not the one the hero actually uses. */
  font-size:1.125rem;line-height:1.6;
  color:rgb(var(--c-ink-700));
  text-wrap:pretty;
}
.fs-pf-mono{font-family:var(--font-mono, 'Roboto Mono', monospace);}

/* ── Buttons — rounded rects that travel diagonally ───────────── */
.fs-pf-ctas{display:flex;gap:14px;align-items:center;flex-wrap:wrap;}
.fs-pf-btn{
  position:relative;
  display:inline-flex;align-items:center;justify-content:center;
  padding:15px 30px;
  border:none;border-radius:var(--fs-radius-button, 10px);
  background:rgb(var(--c-brand-600));
  color:var(--fs-on-brand, rgb(var(--c-paper)));
  font-family:var(--font-display, 'Montserrat', sans-serif);
  font-weight:700;font-size:1rem;line-height:1;white-space:nowrap;
  cursor:pointer;
  transition:transform .15s ease-out,box-shadow .15s ease-out;
}
.fs-pf-btn:hover{transform:translate(3px,-3px);box-shadow:-5px 5px 0 rgb(var(--c-accent) / .2);}
.fs-pf-btn:active{transform:translate(0,0);box-shadow:none;}
.fs-pf-btn-ghost{
  display:inline-flex;align-items:center;justify-content:center;
  padding:15px 30px;
  border-radius:var(--fs-radius-button, 10px);
  border:1.5px solid rgb(var(--c-line));
  background:transparent;
  color:rgb(var(--c-ink-950));
  font-family:var(--font-display, 'Montserrat', sans-serif);
  font-weight:700;font-size:1rem;line-height:1;white-space:nowrap;
  cursor:pointer;
  transition:border-color .15s ease-out,transform .15s ease-out;
}
.fs-pf-btn-ghost:hover{border-color:rgb(var(--c-brand-600));transform:translate(2px,-2px);}
/* Small circular pager (testimonials) — 44px, the hit-target floor. */
.fs-pf-pager{
  width:44px;height:44px;border-radius:50%;
  border:1.5px solid rgb(var(--c-line));
  background:transparent;color:rgb(var(--c-ink-950));
  font-size:1rem;cursor:pointer;
  transition:border-color .15s ease-out,transform .15s ease-out;
}
.fs-pf-pager:hover{border-color:rgb(var(--c-brand-600));}
.fs-pf-pager:disabled{opacity:.55;cursor:default;}

/* ── Shared card / panel ──────────────────────────────────────── */
.fs-pf-card{
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line));
  border-radius:var(--fs-radius-card, 16px);
  box-shadow:var(--fs-shadow-card, 0 8px 30px rgb(var(--c-ink-950) / .08));
}
.fs-pf-inner{position:relative;max-width:var(--fs-layout-max,1060px);margin:0 auto;}
.fs-pf-section{padding:80px 24px;border-bottom:1px solid rgb(var(--c-line));}
@media (min-width:900px){.fs-pf-section{padding:80px 60px;}}
.fs-pf-alt{background:rgb(var(--c-paper-soft));}

/* Status badge — source 10.5px raised to the 12px floor. */
.fs-pf-badge{
  padding:4px 10px;border-radius:var(--fs-radius-pill, 999px);
  font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;
  white-space:nowrap;
}
.fs-pf-badge-on{background:rgb(var(--c-brand-50));color:rgb(var(--c-brand-600));}
.fs-pf-badge-off{background:rgb(var(--c-line) / .5);color:rgb(var(--c-ink-700));}
/* The export hardcodes #E5484D on an rgba(255,80,80,.14) wash in BOTH
   modes. That label measures ~3.4:1 on the light-mode wash — under AA
   for 12px uppercase text — so copying it literally would ship a
   failing badge. themes/apply.ts already solves this exact problem:
   --fs-status-bad-* is seeded from #D1414F (the same red the design
   reaches for) and walked until it clears 4.5:1 against whatever ground
   the palette actually has, light or dark. Same intent, measured. */
.fs-pf-badge-bad{background:rgb(var(--fs-status-bad-tint));color:rgb(var(--fs-status-bad-on));}

/* Live pulse dot */
.fs-pf-live{position:relative;display:inline-flex;width:10px;height:10px;flex:none;}
.fs-pf-live-dot{width:10px;height:10px;border-radius:50%;background:rgb(var(--c-accent));display:block;}
.fs-pf-pulse-ring{position:absolute;inset:0;border-radius:50%;border:2px solid rgb(var(--c-accent));}

/* Icon chip — rotated 8 degrees, the identity device on cards. */
.fs-pf-chip{
  width:44px;height:44px;border-radius:12px;
  background:rgb(var(--c-brand-50));
  display:flex;align-items:center;justify-content:center;
  color:rgb(var(--c-brand-600));
  font-weight:800;font-size:1rem;
  transform:rotate(-8deg);flex:none;
}

/* ── favPfHero ────────────────────────────────────────────────── */
.fs-pf-hero{padding:90px 24px 100px;background:rgb(var(--c-paper-soft));border-bottom:1px solid rgb(var(--c-line));}
@media (min-width:900px){.fs-pf-hero{padding:90px 60px 100px;}}
.fs-pf-hero-blob{
  position:absolute;top:-80px;right:-60px;width:480px;height:480px;
  background:linear-gradient(135deg,rgb(var(--c-accent) / .14),transparent 65%);
  transform:skewX(-18deg);pointer-events:none;
}
.fs-pf-hero-art{position:absolute;bottom:40px;right:110px;pointer-events:none;opacity:.9;}
@media (max-width:1100px){.fs-pf-hero-art{display:none;}}
.fs-pf-hero-stats{display:flex;gap:34px;margin-top:44px;flex-wrap:wrap;}
.fs-pf-hero-stat-v{
  font-family:var(--font-mono, 'Roboto Mono', monospace);
  font-weight:600;font-size:1.5rem;color:rgb(var(--c-brand-600));
}
.fs-pf-hero-stat-l{font-size:.78125rem;color:rgb(var(--c-ink-700));font-weight:600;}

/* ── favPfHeader — subpage opener ─────────────────────────────── */
.fs-pf-hd{padding:70px 24px 50px;background:rgb(var(--c-paper-soft));border-bottom:1px solid rgb(var(--c-line));}
@media (min-width:900px){.fs-pf-hd{padding:70px 60px 50px;}}
.fs-pf-hd .fs-pf-title{margin:0 0 14px;font-size:clamp(2rem,3.5vw + .8rem,3.125rem);}
.fs-pf-hd .fs-pf-sub{margin:0;}

/* ── favPfPay — the live payment demo ─────────────────────────── */
.fs-pf-pay-grid{display:grid;grid-template-columns:1fr;gap:40px;align-items:center;}
@media (min-width:900px){.fs-pf-pay-grid{grid-template-columns:1fr 1fr;gap:60px;}}
.fs-pf-pay-stage{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;
  min-height:280px;padding:34px;
  border-radius:18px;
}
.fs-pf-pay-status{font-family:var(--font-mono, 'Roboto Mono', monospace);font-size:.8125rem;color:rgb(var(--c-ink-700));}
.fs-pf-pay-steps{display:flex;gap:8px;flex-wrap:wrap;}
.fs-pf-step{
  padding:5px 12px;border-radius:var(--fs-radius-pill, 999px);
  font-size:.75rem;font-weight:700;
  background:rgb(var(--c-line) / .5);color:rgb(var(--c-ink-700));
  transition:background .3s,color .3s;
}
.fs-pf-step-on{background:rgb(var(--c-brand-50));color:rgb(var(--c-brand-600));}
.fs-pf-spinner-track{stroke:rgb(var(--c-line));}
.fs-pf-spinner-arc{stroke:rgb(var(--c-accent));}

/* ── favPfMethods — the checkout matrix ───────────────────────── */
.fs-pf-methods{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;}
.fs-pf-method{
  display:flex;flex-direction:column;align-items:flex-start;gap:8px;
  padding:18px;border-radius:14px;cursor:pointer;text-align:left;
  font-family:inherit;
  background:rgb(var(--c-paper));border:1.5px solid rgb(var(--c-line));
  color:rgb(var(--c-ink-700));
  transition:all .18s ease-out;
}
.fs-pf-method:hover{transform:translate(2px,-2px);}
.fs-pf-method[aria-pressed='true']{
  background:rgb(var(--c-brand-50));
  border-color:rgb(var(--c-brand-600));
  color:rgb(var(--c-brand-600));
}
.fs-pf-method-icon{font-size:1.35rem;display:flex;}
.fs-pf-method-name{font-weight:700;font-size:.875rem;color:rgb(var(--c-ink-950));}
.fs-pf-method[aria-pressed='true'] .fs-pf-method-name{color:rgb(var(--c-brand-600));}
.fs-pf-method-fee{font-family:var(--font-mono, 'Roboto Mono', monospace);font-size:.75rem;opacity:.85;}
.fs-pf-methods-sum{margin-top:22px;font-family:var(--font-mono, 'Roboto Mono', monospace);font-size:.8125rem;color:rgb(var(--c-ink-700));}

/* ── favPfDashboard ───────────────────────────────────────────── */
.fs-pf-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:16px;}
.fs-pf-kpi{padding:22px 24px;transition:transform .18s ease-out,border-color .18s ease-out;cursor:default;}
.fs-pf-kpi:hover{transform:translate(2px,-3px);border-color:rgb(var(--c-brand-600));}
.fs-pf-kpi-l{font-size:.75rem;font-weight:600;color:rgb(var(--c-ink-700));text-transform:uppercase;letter-spacing:1px;}
.fs-pf-kpi-v{font-family:var(--font-mono, 'Roboto Mono', monospace);font-size:1.625rem;font-weight:600;margin-top:8px;color:rgb(var(--c-ink-950));}
.fs-pf-kpi-d{font-size:.75rem;font-weight:600;margin-top:6px;color:rgb(var(--c-brand-600));}
.fs-pf-chart-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:10px;flex-wrap:wrap;}
.fs-pf-chart-title{font-weight:700;font-size:.9375rem;color:rgb(var(--c-ink-950));}
/* The [hidden] rule has to be written out: a class rule setting
   display:flex beats the UA sheet's own [hidden] display:none, so the
   range pager stayed visible on the tier that clears it even though the
   attribute was correctly applied. Caught by the census check, not by
   eye — the row is three small mono words. */
.fs-pf-ranges{display:flex;gap:6px;}
.fs-pf-ranges[hidden]{display:none;}
.fs-pf-range{
  position:relative;
  padding:6px 14px;border-radius:8px;border:none;cursor:pointer;
  font-family:var(--font-mono, 'Roboto Mono', monospace);
  font-size:.75rem;font-weight:600;
  background:rgb(var(--c-line) / .5);color:rgb(var(--c-ink-700));
  transition:all .2s ease-out;
}
/* Paint smaller than 44px → grow the TARGET past the paint (spec §9). */
.fs-pf-range::after{content:'';position:absolute;inset:-9px 0;}
.fs-pf-range[aria-current='true']{background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)));}
.fs-pf-bars{display:flex;align-items:flex-end;gap:8px;height:150px;}
.fs-pf-bar{
  flex:1;border-radius:5px 5px 2px 2px;
  background:rgb(var(--c-accent) / .25);
  opacity:.92;transform-origin:bottom;
}
.fs-pf-bar-hot{background:rgb(var(--c-brand-600));}

/* ── favPfStream — live transaction feed ──────────────────────── */
.fs-pf-stream-grid{display:grid;grid-template-columns:1fr;gap:40px;align-items:start;}
@media (min-width:900px){.fs-pf-stream-grid{grid-template-columns:1fr 1.2fr;gap:60px;}}
.fs-pf-feed{background:rgb(var(--c-paper));border:1px solid rgb(var(--c-line));border-radius:var(--fs-radius-card, 16px);padding:10px;box-shadow:var(--fs-shadow-card, 0 8px 30px rgb(var(--c-ink-950) / .08));}
.fs-pf-feed-head{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid rgb(var(--c-line));}
.fs-pf-feed-title{font-weight:700;font-size:.8125rem;color:rgb(var(--c-ink-950));}
.fs-pf-feed-count{margin-left:auto;font-family:var(--font-mono, 'Roboto Mono', monospace);font-size:.75rem;color:rgb(var(--c-ink-700));}
.fs-pf-row{display:flex;align-items:center;gap:12px;padding:13px 16px;border-bottom:1px solid rgb(var(--c-line));}
.fs-pf-row:last-child{border-bottom:none;}
.fs-pf-row-dot{width:8px;height:8px;border-radius:50%;flex:none;background:rgb(var(--c-accent));}
.fs-pf-row-dot-off{background:rgb(var(--c-ink-400));}
.fs-pf-row-who{display:flex;flex-direction:column;gap:2px;min-width:0;}
.fs-pf-row-name{font-weight:600;font-size:.84375rem;color:rgb(var(--c-ink-950));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.fs-pf-row-method{font-size:.75rem;color:rgb(var(--c-ink-700));}
.fs-pf-row-amt{margin-left:auto;font-family:var(--font-mono, 'Roboto Mono', monospace);font-weight:600;font-size:.875rem;color:rgb(var(--c-ink-950));white-space:nowrap;}

/* ── favPfGateways ────────────────────────────────────────────── */
.fs-pf-gateways{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;}
.fs-pf-gw{
  display:flex;flex-direction:column;align-items:center;gap:10px;
  padding:24px 16px;
  transition:transform .18s ease-out,border-color .18s ease-out;
}
.fs-pf-gw:hover{transform:translate(3px,-4px);border-color:rgb(var(--c-brand-600));}
.fs-pf-gw-name{font-weight:700;font-size:.875rem;color:rgb(var(--c-ink-950));}
.fs-pf-gw-lat{font-family:var(--font-mono, 'Roboto Mono', monospace);font-size:.75rem;color:rgb(var(--c-ink-700));}
.fs-pf-gw-bar{width:70%;height:5px;border-radius:3px;display:block;}

/* ── favPfTestimonials ────────────────────────────────────────── */
.fs-pf-quotes{display:grid;grid-template-columns:1fr;gap:20px;}
@media (min-width:900px){.fs-pf-quotes{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));}}
.fs-pf-quote{
  margin:0;padding:26px;
  transform:skewX(-3deg);
}
@media (min-width:900px){.fs-pf-quote-mid{transform:skewX(-3deg) translateY(-10px);}}
.fs-pf-quote>*{transform:skewX(3deg);}
.fs-pf-quote-mark{font-size:1.875rem;color:rgb(var(--c-accent));line-height:1;font-weight:800;}
.fs-pf-quote-body{margin:8px 0 18px;font-size:.9375rem;line-height:1.6;color:rgb(var(--c-ink-950));}
.fs-pf-quote-foot{display:flex;align-items:center;gap:12px;}
.fs-pf-avatar{
  width:40px;height:40px;border-radius:50%;flex:none;
  background:rgb(var(--c-brand-50));color:rgb(var(--c-brand-600));
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.8125rem;
}
.fs-pf-quote-name{font-weight:700;font-size:.84375rem;color:rgb(var(--c-ink-950));}
.fs-pf-quote-role{font-size:.75rem;color:rgb(var(--c-ink-700));}

/* ── favPfPricing ─────────────────────────────────────────────── */
.fs-pf-seg{display:inline-flex;background:rgb(var(--c-line) / .5);border-radius:var(--fs-radius-pill, 999px);padding:5px;gap:4px;margin-top:10px;}
.fs-pf-seg-btn{
  padding:9px 20px;border-radius:var(--fs-radius-pill, 999px);border:none;cursor:pointer;
  font-family:var(--font-display, 'Montserrat', sans-serif);
  font-weight:700;font-size:.8125rem;
  background:transparent;color:rgb(var(--c-ink-700));
  transition:all .25s ease-out;
}
.fs-pf-seg-btn[aria-current='true']{background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)));}
.fs-pf-plans{display:grid;grid-template-columns:1fr;gap:22px;align-items:stretch;margin-top:40px;}
@media (min-width:900px){.fs-pf-plans{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));}}
.fs-pf-plan{
  position:relative;display:flex;flex-direction:column;
  padding:30px 28px;border-radius:18px;
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line));
  box-shadow:var(--fs-shadow-card, 0 8px 30px rgb(var(--c-ink-950) / .08));
  transition:transform .2s ease-out;
}
.fs-pf-plan:hover{transform:translate(3px,-5px);}
.fs-pf-plan-pop{border:2px solid rgb(var(--c-brand-600));}
.fs-pf-plan-ribbon{
  position:absolute;top:-13px;left:50%;transform:translateX(-50%) skewX(-8deg);
  background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)));
  font-size:11px;font-weight:800;letter-spacing:1px;padding:6px 16px;
  border-radius:var(--fs-radius-pill, 999px);text-transform:uppercase;white-space:nowrap;
}
.fs-pf-plan-ribbon>span{display:inline-block;transform:skewX(8deg);}
.fs-pf-plan-name{font-weight:800;font-size:1.125rem;color:rgb(var(--c-ink-950));}
.fs-pf-plan-tag{font-size:.8125rem;color:rgb(var(--c-ink-700));margin-top:4px;min-height:36px;}
.fs-pf-plan-priceline{display:flex;align-items:baseline;gap:6px;margin:18px 0 4px;}
.fs-pf-plan-price{font-family:var(--font-mono, 'Roboto Mono', monospace);font-weight:600;font-size:2.375rem;color:rgb(var(--c-ink-950));}
.fs-pf-anim .fs-pf-plan-price-in{animation:fs-pf-pop .35s ease-out;}
.fs-pf-plan-per{font-size:.8125rem;color:rgb(var(--c-ink-700));}
.fs-pf-plan-rate{font-family:var(--font-mono, 'Roboto Mono', monospace);font-size:.78125rem;color:rgb(var(--c-brand-600));font-weight:600;margin-bottom:18px;}
.fs-pf-plan-features{display:flex;flex-direction:column;gap:10px;margin-bottom:24px;}
.fs-pf-plan-feature{display:flex;gap:9px;align-items:flex-start;font-size:.84375rem;line-height:1.45;color:rgb(var(--c-ink-700));}
.fs-pf-plan-feature svg{flex:none;margin-top:2px;stroke:rgb(var(--c-brand-600));}
.fs-pf-plan-btn{
  margin-top:auto;padding:13px;border-radius:var(--fs-radius-button, 10px);cursor:pointer;
  font-family:var(--font-display, 'Montserrat', sans-serif);
  font-weight:800;font-size:.90625rem;
  border:1.5px solid rgb(var(--c-line));background:transparent;color:rgb(var(--c-ink-950));
  transition:transform .15s ease-out,box-shadow .15s ease-out;
}
.fs-pf-plan-btn:hover{transform:translate(2px,-2px);box-shadow:-4px 4px 0 rgb(var(--c-accent) / .2);}
.fs-pf-plan-btn-pop{border:none;background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)));}
.fs-pf-plan-note{margin-top:22px;text-align:center;font-family:var(--font-mono, 'Roboto Mono', monospace);font-size:.78125rem;color:rgb(var(--c-ink-700));}

/* ── favPfFaq ─────────────────────────────────────────────────── */
.fs-pf-faq{max-width:min(760px,var(--fs-layout-clamp,760px));margin:0 auto;display:flex;flex-direction:column;gap:12px;}
.fs-pf-faq-item{overflow:clip;}
.fs-pf-faq-q{
  display:flex;align-items:center;gap:12px;width:100%;
  padding:18px 22px;border:none;background:transparent;cursor:pointer;
  font-family:var(--font-display, 'Montserrat', sans-serif);
  font-weight:700;font-size:.9375rem;text-align:left;
  color:rgb(var(--c-ink-950));
}
.fs-pf-faq-chev{margin-left:auto;transition:transform .25s ease-out;color:rgb(var(--c-brand-600));flex:none;}
.fs-pf-faq-q[aria-expanded='true'] .fs-pf-faq-chev{transform:rotate(180deg);}
.fs-pf-faq-a{padding:0 22px 18px;font-size:.875rem;line-height:1.65;color:rgb(var(--c-ink-700));}
.fs-pf-anim .fs-pf-faq-a{animation:fs-pf-slidein .3s ease-out;}

/* ── favPfContactCards ────────────────────────────────────────── */
.fs-pf-contacts{display:grid;grid-template-columns:1fr;gap:14px;}
@media (min-width:700px){.fs-pf-contacts{grid-template-columns:repeat(3,1fr);}}
.fs-pf-contact{display:flex;flex-direction:column;gap:12px;padding:22px;}
.fs-pf-contact-t{font-weight:700;font-size:.875rem;color:rgb(var(--c-ink-950));}
.fs-pf-contact-v{font-family:var(--font-mono, 'Roboto Mono', monospace);font-size:.8125rem;color:rgb(var(--c-brand-600));word-break:break-word;}
/* The 'hq' variant's band. MEASURED off the export's mini Contact page:
   a space-between flex row that WRAPS (so the status drops under the
   address on a narrow screen rather than crushing it), 30px/36px
   padding, 20px gap. The status line inside it has no top margin — that
   belongs to the cards variant, where it sits under a grid. */
.fs-pf-hq{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:30px 36px;}
.fs-pf-hq-t{font-weight:800;font-size:1.0625rem;color:rgb(var(--c-ink-950));}
.fs-pf-hq-a{margin-top:4px;font-size:.84375rem;color:rgb(var(--c-ink-700));}
.fs-pf-hq .fs-pf-contact-status{margin-top:0;}
.fs-pf-contact-status{display:flex;align-items:center;gap:10px;margin-top:24px;}
.fs-pf-contact-status-t{font-family:var(--font-mono, 'Roboto Mono', monospace);font-size:.78125rem;color:rgb(var(--c-ink-700));}

/* ── favPfFeatureGrid ─────────────────────────────────────────────
   THREE columns at desktop, measured off the export: the container is
   1060px wide with grid-template-columns 340px 340px 340px and six
   children, on both the small tier's Features page (section 3) and the
   standard tier's (section 1). 340*3 = 1020, so the 20px gap is the
   remainder — stated as a real number rather than guessed.
   One column below 700px, two between, so six cards never become a
   six-across hairline on a tablet. */
.fs-pf-features{display:grid;grid-template-columns:1fr;gap:20px;}
@media (min-width:700px){.fs-pf-features{grid-template-columns:repeat(2,1fr);}}
@media (min-width:1000px){.fs-pf-features{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));}}
.fs-pf-feature{display:flex;flex-direction:column;gap:10px;padding:24px;}
.fs-pf-feature-t{font-weight:800;font-size:1rem;color:rgb(var(--c-ink-950));}
.fs-pf-feature-b{font-size:.875rem;line-height:1.6;color:rgb(var(--c-ink-700));}

/* ── favPfCta — gradient band with speed-lines ────────────────── */
.fs-pf-cta{
  position:relative;overflow:clip;
  padding:90px 24px;
  background:linear-gradient(120deg,rgb(var(--c-brand-600)) 0%,rgb(var(--c-brand-700)) 100%);
  border-bottom:none;
}
@media (min-width:900px){.fs-pf-cta{padding:90px 60px;}}
.fs-pf-cta-lines{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;}
.fs-pf-cta-row{position:relative;max-width:var(--fs-layout-max,1060px);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;}
.fs-pf-cta-h{
  font-family:var(--font-display, 'Montserrat', sans-serif);
  font-size:clamp(1.9rem,3vw + .8rem,2.5rem);
  font-weight:800;letter-spacing:-.025em;line-height:1.1;
  margin:0 0 12px;color:var(--fs-on-brand, rgb(var(--c-paper)));
}
.fs-pf-cta-sub{font-size:1.0625rem;line-height:1.6;margin:0;color:var(--fs-on-brand, rgb(var(--c-paper)));opacity:.85;max-width:560px;}
.fs-pf-cta-btn{
  padding:16px 34px;border:none;border-radius:12px;
  background:var(--fs-on-brand, rgb(var(--c-paper)));
  color:rgb(var(--c-brand-600));
  font-family:var(--font-display, 'Montserrat', sans-serif);
  font-weight:800;font-size:1.0625rem;cursor:pointer;white-space:nowrap;
  transition:transform .15s ease-out,box-shadow .15s ease-out;
}
.fs-pf-cta-btn:hover{transform:translate(3px,-3px);box-shadow:-6px 6px 0 rgb(0 0 0 / .15);}
.fs-pf-cta-btn:active{transform:translate(0,0);box-shadow:none;}
.fs-pf-cta-art{display:flex;align-items:center;gap:22px;}

/* ── favPfFooter ──────────────────────────────────────────────── */
.fs-pf-ft{background:rgb(var(--c-paper));border-top:1px solid rgb(var(--c-line));}
.fs-pf-ft-grid{
  max-width:var(--fs-layout-max,1060px);margin:0 auto;
  padding:44px 24px 16px;
  display:flex;justify-content:space-between;align-items:flex-start;gap:32px;flex-wrap:wrap;
}
@media (min-width:900px){.fs-pf-ft-grid{padding:44px 40px 16px;}}
.fs-pf-ft-brand{display:flex;flex-direction:column;gap:10px;max-width:340px;}
.fs-pf-ft-brand-row{display:flex;align-items:center;gap:10px;}
.fs-pf-ft-mark{width:30px;height:30px;flex:none;}
.fs-pf-ft-name{font-weight:800;font-size:1rem;letter-spacing:-.02em;color:rgb(var(--c-ink-950));}
.fs-pf-ft-blurb{font-size:.8125rem;line-height:1.6;color:rgb(var(--c-ink-700));}
.fs-pf-ft-tagline{
  font-family:var(--font-mono, 'Roboto Mono', monospace);
  font-size:.75rem;letter-spacing:.22em;color:rgb(var(--c-ink-700));
}
.fs-pf-ft-nav{display:flex;flex-wrap:wrap;gap:2px 18px;align-items:center;}
.fs-pf-ft-link{
  font-size:.8125rem;font-weight:600;
  color:rgb(var(--c-ink-950));text-decoration:none;
  padding:6px 0;
  transition:color .15s ease-out;
}
.fs-pf-ft-link:hover{color:rgb(var(--c-brand-600));}
.fs-pf-ft-bar{
  max-width:var(--fs-layout-max,1060px);margin:0 auto;
  padding:14px 24px 30px;
  display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;
  font-size:.78125rem;color:rgb(var(--c-ink-700));
}
@media (min-width:900px){.fs-pf-ft-bar{padding:14px 40px 30px;}}
.fs-pf-ft-legal{display:flex;gap:16px;flex-wrap:wrap;}
.fs-pf-ft-legal-link{color:rgb(var(--c-ink-700));text-decoration:none;transition:color .15s ease-out;}
.fs-pf-ft-legal-link:hover{color:rgb(var(--c-brand-600));}

/* ── favPfFooter, the 'bar' variant — the export's own footer ─────
   (Quotes, never backticks, anywhere in this file: these comments live
   inside a template literal, so one backtick ends the stylesheet and
   the build fails somewhere else entirely.)
   MEASURED off payflow-small-site.html rendered at 1440, not chosen to
   match what the port already did. The export's whole footer is a
   single element:

     <footer style="padding:30px 40px;border-top:1px solid var(--pf-border);
                    display:flex;justify-content:space-between;
                    align-items:center;color:var(--pf-text2);
                    font-size:12.5px;flex-wrap:wrap;gap:12px">
       <span>© 2026 PayFlow · a FastSites premium theme · Small</span>
       <nav style="display:flex;gap:18px"> ...buttons... </nav>
     </footer>

   and each button carries font-size:12.5px;font-weight:600;padding:0
   with color:var(--pf-text2) and a hover to var(--pf-accent-strong).
   Computed at 1440: © at x=40 Montserrat 12.5px/400; links 12.5px/600
   ending at x=1385 in a 1425-wide viewport. No brand block, no blurb,
   no mono tagline, no legal row — the design has none of them.

   FULL-BLEED, unlike the 'full' variant's 1060px centred column: the
   export's 40px padding IS the gutter, which is what puts the © at
   x=40 rather than x=189. (GAP-6 wants the same lever on the header,
   where it is still open; here the design's own measurement settles
   it for this block.)

   The link colour drops to the muted ink the bar already uses, because
   the export paints the links and the © line the SAME var(--pf-text2)
   — the 'full' variant's full-strength ink is that variant's choice,
   not the design's. */
.fs-pf-ft--bar .fs-pf-ft-bar{
  max-width:none;
  padding:30px 24px;
  align-items:center;
  gap:12px;
  /* The export leaves line-height at 'normal', which Montserrat resolves
     to a 16px box at 12.5px, giving a 76px bar (30 + 16 + 30). The
     platform's body line-height is looser and made the same bar 81px.
     1.28 reproduces the export's own box without hardcoding a pixel
     value that would stop tracking the font size if a customer changes
     it. Measured after: 76px, matching the export exactly. */
  line-height:1.28;
}
@media (min-width:900px){.fs-pf-ft--bar .fs-pf-ft-bar{padding:30px 40px;}}
.fs-pf-ft--bar .fs-pf-ft-right{
  display:flex;align-items:center;gap:18px;flex-wrap:wrap;
}
.fs-pf-ft--bar .fs-pf-ft-nav{gap:2px 18px;}
.fs-pf-ft--bar .fs-pf-ft-link{
  font-size:.78125rem;
  padding:0;
  color:rgb(var(--c-ink-700));
}
.fs-pf-ft--bar .fs-pf-ft-link:hover{color:rgb(var(--c-brand-600));}

/* ── The contact form's PayFlow dress (GAP-4) ──────────────────────
   The SHAPE of the contact page — two columns, the aside beside the
   fields, the fields on a card, the caps labels, no asterisks — is
   platform capability now (form-engine.ts / form-styles.ts) and is
   driven from this theme's own data. What is left here is the part that
   is genuinely PayFlow's look and nobody else's: the aside's three
   contact methods drawn as the export's bordered cards with an 8-degree
   icon chip and a mono address, and the export's own field geometry.

   Scoped on [data-fs-theme='payflow'], which site-shell.ts:198 stamps on
   the editor canvas, the preview and the published site alike — so this
   is a theme rule, not a surface rule (contract §3). Same mechanism
   forecourt-styles.ts uses for the same block.

   MEASURED on payflow-small-site.html at 1440, Contact page:
     points stack   flex column, gap 14px
     card           padding 18px 20px, radius 14px, 1px border,
                    background --pf-bg over a --pf-surface section
     chip           42x42, radius 12px, rotate(-8deg), accent-soft ground
     title          14.5px / 700       value  Roboto Mono 12.5px
     field          44px tall, padding 12px 14px, radius 10px, on
                    --pf-surface (white) inside the --pf-bg card
     submit         full width, 50px tall, radius 10px, 15px/800
   Type-scale note: the source's 12.5px mono value ships at 12.5px, which
   is above the 12px floor, so no deviation is needed here. */
[data-fs-theme='payflow'] [data-fs-fm] [data-fs-fm-points]{
  display:flex;flex-direction:column;gap:14px;margin:0;padding:0;
}
/* Kept as the platform's GRID rather than switched to flex: the point is
   already auto + minmax(0,1fr) with the marker in column 1 and the title
   and body stacked in column 2, which is precisely the export's card. Only
   the dressing changes. :last-child is restated because the generic sheet
   strips the bottom border off the final row for its hairline list, and
   these are separate cards — same specificity, so leaving it to source
   order would be a coin toss. */
[data-fs-theme='payflow'] [data-fs-fm] [data-fs-fm-point],
[data-fs-theme='payflow'] [data-fs-fm] [data-fs-fm-point]:last-child{
  grid-template-columns:auto minmax(0,1fr);
  column-gap:16px;
  align-items:center;
  padding:18px 20px;
  background:rgb(var(--c-paper));
  border:1px solid rgb(var(--c-line));
  border-radius:14px;
  transition:transform .18s ease-out,border-color .18s ease-out;
}
[data-fs-theme='payflow'] [data-fs-fm] [data-fs-fm-point]:hover{
  transform:translate(3px,-3px);
  border-color:rgb(var(--c-brand-600));
}
/* The chip spans BOTH text rows so it centres against the whole card, the
   way the export's does. A point with a title and no body has only one
   row, and the spanned second row collapses to zero. */
[data-fs-theme='payflow'] [data-fs-fm] [data-fs-fm-point-icon]{
  grid-row:1 / span 2;
  align-self:center;
  width:42px;height:42px;
  border-radius:12px;
  background:rgb(var(--c-brand-50));
  color:rgb(var(--c-brand-600));
  transform:rotate(-8deg);
}
[data-fs-theme='payflow'] [data-fs-fm] [data-fs-fm-point-title]{
  margin:0;font-weight:700;font-size:.90625rem;color:rgb(var(--c-ink-950));
}
[data-fs-theme='payflow'] [data-fs-fm] [data-fs-fm-point-body]{
  margin:2px 0 0;
  font-family:var(--font-mono, 'Roboto Mono', monospace);
  font-size:.78125rem;color:rgb(var(--c-ink-700));word-break:break-word;
}
/* The export's field geometry: 10px corners, white ground inside the
   tinted card, 44px tall. --fs-fm-radius is the block's own hook. */
[data-fs-theme='payflow'] [data-fs-fm]{
  --fs-fm-radius:10px;
  --fs-fm-form-title-size:1.1875rem;
  --fs-fm-form-title-weight:800;
  --fs-fm-card-bg:rgb(var(--c-paper));
  --fs-fm-card-border:rgb(var(--c-line));
  /* The export's soft depth on the form card. --fs-shadow-card resolves to
     the keyword none on this theme, so the fallback in the generic sheet
     can never fire - it has to be stated. Same 0-8-30 at 8% the theme's
     own cards were ported with. */
  --fs-fm-card-shadow:0 8px 30px rgb(var(--c-ink-950) / .08);
  /* rows="4" in the export, 98px tall, not the block's 5-row default. */
  --fs-fm-textarea-min:98px;
  --fs-fm-textarea-height:98px;
  --fs-fm-pill-size:.78125rem;
  --fs-fm-pill-pad:8px 16px;
  --fs-fm-pill-weight:700;
}
/* The section heading, at the export's own display size. The block's
   .fs-heading is the platform's section scale (40px/650); the export's
   contact opener is the theme's TITLE voice -- 50px, 800, -1.5px
   tracking -- the same one .fs-pf-title carries on every other page. */
[data-fs-theme='payflow'] [data-fs-fm] > [data-fs-fm-aside] > h1,
[data-fs-theme='payflow'] [data-fs-fm] > [data-fs-fm-aside] > h2{
  font-size:clamp(2.25rem,3.4vw + 1rem,3.125rem);
  font-weight:800;
  letter-spacing:-.03em;
  line-height:1.05;
  margin:0 0 16px;
  color:rgb(var(--c-ink-950));
}
/* The lede under it: 17px / 1.6 / quiet ink, and 34px of air before the
   contact cards -- all measured off the export. */
[data-fs-theme='payflow'] [data-fs-fm] > [data-fs-fm-aside] > p{
  font-size:1.0625rem;line-height:1.6;
  color:rgb(var(--c-ink-700));
  margin:0 0 34px;
  opacity:1;
}
[data-fs-theme='payflow'] [data-fs-fm] input[type='text'],
[data-fs-theme='payflow'] [data-fs-fm] input[type='email'],
[data-fs-theme='payflow'] [data-fs-fm] input[type='tel'],
[data-fs-theme='payflow'] [data-fs-fm] textarea{
  border-width:1.5px;
}
/* Submit: the export's full-width 50px bar with 10px corners, not the
   block's default inline pill. The COLOUR is left alone -- it is the
   AA-darkened brand, a recorded gate deviation, and this is geometry. */
[data-fs-theme='payflow'] [data-fs-fm] [data-fs-fm-actions]{
  display:block;
}
[data-fs-theme='payflow'] [data-fs-fm] [data-fs-fm-submit][data-fs-fm-submit]{
  width:100%;
  padding:14px;
  border-radius:10px;
  font-size:.9375rem;font-weight:800;
}

/* ── The header CTA ("Get started" / "Open app →") ─────────────────
   ONLY THE FACE IS STILL HERE. The size, padding and radius used to be
   hardcoded in this block at 13px / 9px 20px / r9, and that was right
   about the mini and small tiers and WRONG about standard, which the
   export draws at 12.5px / 8px 16px. One selector can only say one
   thing, so the values moved to theme data where they can differ per
   tier — payflow.ts's themeDefaults and themeDefaultsBySitemap,
   the same mechanism that already carries the nav's per-tier geometry
   (GAP-17). Do not restore literals here: two sources for one value is
   how the standard tier was wrong for two days.

   The FAMILY stays, because it is not per-tier — all three artboards
   set the button in Montserrat, and it is the one CTA property the
   theme-defaults allow-list does not cover (that list is deliberately
   narrow; see theme-defaults.ts).

   THE DOUBLED SELECTOR IS DELIBERATE, and the reason is documented at
   length in forecourt-styles.ts: HEADER_CONTACT_CSS ships
   '.fs-typo .fs-hdr-cta' at specificity (0,2,0), so a plain
   '[data-fs-theme] .fs-hdr-cta' also ties at (0,2,0) and loses on
   source order. Attaching the attribute to the .fs-typo element itself
   gives (0,3,0) and wins without !important, which would in turn block
   any later refinement. */
[data-fs-theme='payflow'] .fs-hdr-cta,
[data-fs-theme='payflow'].fs-typo .fs-hdr-cta{
  font-family:var(--font-display, 'Montserrat', sans-serif);
  font-weight:700;
}

/* ── The product area — favPfAppDash / favPfPayments /
      favPfReports / favPfSettings ───────────────────────────────
   The app pages are a DENSER surface than the marketing ones: the
   export drops its section rhythm to 26px/32px padding, its cards to
   14px radius and its page title to a 28px h1, because these screens
   are read as a tool rather than scrolled as a pitch. Reproduced here
   rather than inherited, or the product area arrives at marketing
   scale and reads as a landing page with tables on it.

   Settled/Pending/Failed take --fs-status-ok/-warn/-bad, the same
   contrast-solved tokens .fs-pf-badge-bad already uses — the export
   hardcodes its greens and ambers, which fail AA on one ground or the
   other exactly as its red did. */
.fs-pf-app.fs-pf-section{padding:26px 24px 70px;}
@media (min-width:900px){.fs-pf-app.fs-pf-section{padding:26px 32px 70px;}}
.fs-pf-app .fs-pf-card{border-radius:14px;box-shadow:none;}
.fs-pf-app-narrow{max-width:min(760px,var(--fs-layout-clamp,760px));}

.fs-pf-app-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:20px;}
.fs-pf-app-h1{
  font-family:var(--font-display, 'Montserrat', sans-serif);
  font-size:1.75rem;font-weight:800;letter-spacing:-.6px;margin:0;
  color:rgb(var(--c-ink-950));
}

/* KPI row — four across on the app dashboard, three on Reports. */
.fs-pf-app-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px;}
.fs-pf-app-kpis-3{grid-template-columns:repeat(3,1fr);margin:14px 0 0;}
.fs-pf-app-kpi{padding:18px 20px;transition:transform .18s ease,border-color .18s ease;}
.fs-pf-app-kpi:hover{transform:translate(2px,-3px);border-color:rgb(var(--c-accent));}
.fs-pf-app-kpi-l{
  font-size:.75rem;font-weight:700;color:rgb(var(--c-ink-700));
  text-transform:uppercase;letter-spacing:1px;
}
.fs-pf-app-kpi-v{font-size:1.4375rem;font-weight:600;margin-top:7px;color:rgb(var(--c-ink-950));}
.fs-pf-app-kpi-d{font-size:.75rem;font-weight:600;margin-top:4px;color:rgb(var(--c-ink-700));}

/* The export's 1.6fr/1fr pair — chart beside a companion panel. */
.fs-pf-app-split{display:grid;grid-template-columns:1.6fr 1fr;gap:14px;align-items:start;}
.fs-pf-app-panel{padding:22px;display:flex;flex-direction:column;gap:14px;}
.fs-pf-app-panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;}
.fs-pf-app-panel-t{font-weight:700;font-size:.875rem;color:rgb(var(--c-ink-950));}
.fs-pf-app-panel-n{font-size:.75rem;font-weight:600;color:rgb(var(--c-brand-600));}

.fs-pf-app-chart{display:flex;align-items:flex-end;gap:7px;height:150px;}
.fs-pf-app-bar{
  flex:1;display:block;border-radius:5px 5px 2px 2px;
  background:rgb(var(--c-brand-50));opacity:.92;transform-origin:bottom;
}
.fs-pf-app-bar-last{background:rgb(var(--c-accent));}

/* Gateway performance — the same rotated initials chip the marketing
   gateway cards use, at the app's smaller 30px. */
.fs-pf-app-gws{display:flex;flex-direction:column;gap:13px;}
.fs-pf-app-gw{display:flex;align-items:center;gap:10px;}
.fs-pf-app-gw .fs-pf-chip{width:30px;height:30px;border-radius:9px;font-size:.6875rem;}
.fs-pf-app-gw-body{display:flex;flex-direction:column;flex:1;gap:4px;min-width:0;}
.fs-pf-app-gw-row{display:flex;justify-content:space-between;gap:8px;font-size:.78125rem;font-weight:700;color:rgb(var(--c-ink-950));}
.fs-pf-app-gw-lat{font-weight:400;color:rgb(var(--c-ink-700));}
/* The track is a PALE wash (the export's surface2), not the
   hairline: at full --c-line weight the unfilled tail reads as a
   second bar rather than empty track. */
.fs-pf-app-gw-bar{display:block;height:5px;border-radius:3px;}

/* Tables — a header strip then flat rows, hairline-separated. */
.fs-pf-app-table{margin-top:14px;overflow:hidden;padding:0;}
.fs-pf-app-table-head{
  display:flex;align-items:center;gap:10px;
  padding:14px 20px;border-bottom:1px solid rgb(var(--c-line));
}
.fs-pf-app-tx,.fs-pf-app-ledger{
  display:flex;align-items:center;gap:14px;
  padding:12px 20px;border-bottom:1px solid rgb(var(--c-line));
}
.fs-pf-app-tx:last-child,.fs-pf-app-ledger:last-child{border-bottom:0;}
.fs-pf-app-tx-who{font-weight:600;font-size:.8125rem;color:rgb(var(--c-ink-950));min-width:0;}
.fs-pf-app-tx-m{font-size:.75rem;color:rgb(var(--c-ink-700));min-width:0;}
.fs-pf-app-tx-a{font-weight:600;font-size:.84375rem;color:rgb(var(--c-ink-950));white-space:nowrap;}
/* The export gives the transaction row a FIXED 180px name column and
   pushes the amount to the right edge; sharing the row between name
   and method instead left the method floating mid-row. */
.fs-pf-app-tx > .fs-pf-app-tx-who{width:180px;flex:none;}
.fs-pf-app-tx > .fs-pf-app-tx-a{margin-left:auto;}
.fs-pf-app-ledger-head{
  display:flex;align-items:center;gap:14px;padding:12px 20px;
  border-bottom:1px solid rgb(var(--c-line));background:rgb(var(--c-line) / .3);
  font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;
  color:rgb(var(--c-ink-700));
}
.fs-pf-app-ledger-head > span:first-child,.fs-pf-app-ledger > span:first-child{flex:1;min-width:0;}
.fs-pf-app-ledger-head > span:nth-child(2),.fs-pf-app-ledger > span:nth-child(2){flex:1;min-width:0;}
.fs-pf-app-ledger-head > span:nth-child(3),.fs-pf-app-ledger > span:nth-child(3){width:70px;flex:none;}
.fs-pf-app-ledger-head > span:nth-child(4),.fs-pf-app-ledger > span:nth-child(4){width:90px;flex:none;text-align:right;}
.fs-pf-app-ledger-head > span:nth-child(5),.fs-pf-app-ledger > span:nth-child(5){width:88px;flex:none;text-align:right;}

.fs-pf-badge-ok{background:rgb(var(--fs-status-ok-tint));color:rgb(var(--fs-status-ok-on));}
.fs-pf-badge-warn{background:rgb(var(--fs-status-warn-tint));color:rgb(var(--fs-status-warn-on));}

/* The payment-request form. Static: see the block's own comment on why
   the controls are shown as their authored state rather than wired. */
.fs-pf-app-form{padding:22px;display:flex;flex-direction:column;gap:14px;margin-bottom:14px;}
.fs-pf-app-form-row{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:14px;}
.fs-pf-app-field{display:flex;flex-direction:column;gap:7px;min-width:0;}
.fs-pf-app-field-l{
  font-size:.75rem;font-weight:700;color:rgb(var(--c-ink-700));
  text-transform:uppercase;letter-spacing:1px;
}
.fs-pf-app-field-v{
  border:1.5px solid rgb(var(--c-line));border-radius:10px;
  padding:11px 13px;font-size:.84375rem;color:rgb(var(--c-ink-700));
  background:rgb(var(--c-paper));
}
.fs-pf-app-methods{display:flex;gap:8px;flex-wrap:wrap;}
.fs-pf-app-method{
  padding:9px 14px;border-radius:var(--fs-radius-pill, 999px);
  border:1.5px solid rgb(var(--c-line));font-size:.75rem;font-weight:700;
  color:rgb(var(--c-ink-700));white-space:nowrap;
}
.fs-pf-app-method-on{
  border-color:rgb(var(--c-accent));background:rgb(var(--c-brand-50));
  color:rgb(var(--c-brand-600));
}
.fs-pf-app-send{
  align-self:flex-start;padding:12px 18px;border-radius:12px;
  background:rgb(var(--c-accent));color:rgb(var(--fs-on-accent, var(--c-paper)));
  font-family:var(--font-display, 'Montserrat', sans-serif);
  font-weight:700;font-size:.8125rem;
}

/* Reports — month columns and the payment-mix meters. */
.fs-pf-app-months{display:flex;align-items:flex-end;gap:10px;height:160px;}
.fs-pf-app-month{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:7px;flex:1;height:100%;}
.fs-pf-app-month .fs-pf-app-bar{width:100%;flex:none;}
.fs-pf-app-month-l{font-size:.75rem;font-weight:600;color:rgb(var(--c-ink-700));}
.fs-pf-app-mix{display:flex;flex-direction:column;gap:13px;}
.fs-pf-app-mix-row{display:flex;flex-direction:column;gap:5px;}
.fs-pf-app-mix-top{display:flex;justify-content:space-between;gap:8px;font-size:.78125rem;font-weight:700;color:rgb(var(--c-ink-950));}

/* Settings rows — a name/description pair and its state. */
.fs-pf-app-set-row{
  display:flex;align-items:center;gap:12px;
  padding:12px 0;border-top:1px solid rgb(var(--c-line));
}
.fs-pf-app-set-row:first-of-type{border-top:0;}
.fs-pf-app-set-body{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0;}
.fs-pf-app-set-name{font-weight:600;font-size:.84375rem;color:rgb(var(--c-ink-950));}
.fs-pf-app-set-desc{font-size:.75rem;color:rgb(var(--c-ink-700));}
.fs-pf-app-set-val{margin-left:auto;font-size:.78125rem;font-weight:600;color:rgb(var(--c-ink-700));}
.fs-pf-app-swatches{margin-left:auto;display:flex;gap:6px;}
.fs-pf-app-swatch{width:16px;height:16px;border-radius:50%;display:block;}
.fs-pf-app-sw{
  margin-left:auto;width:42px;height:24px;border-radius:999px;padding:3px;
  background:rgb(var(--c-line));display:flex;justify-content:flex-start;flex:none;
}
.fs-pf-app-sw-on{background:rgb(var(--c-accent));justify-content:flex-end;}
.fs-pf-app-sw > span{width:18px;height:18px;border-radius:50%;background:rgb(var(--c-paper));display:block;}

@media (max-width:900px){
  .fs-pf-app-kpis,.fs-pf-app-kpis-3{grid-template-columns:repeat(2,1fr);}
  .fs-pf-app-split{grid-template-columns:1fr;}
  .fs-pf-app-form-row{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .fs-pf-app-kpis,.fs-pf-app-kpis-3{grid-template-columns:1fr;}
  .fs-pf-app-ledger-head > span:nth-child(2),.fs-pf-app-ledger > span:nth-child(2),
  .fs-pf-app-ledger-head > span:nth-child(3),.fs-pf-app-ledger > span:nth-child(3){display:none;}
}



.fs-fd{
  position:relative;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-fd *{box-sizing:border-box;}

/* ── Shared type ────────────────────────────────────────────────
   A heavy heritage-sign slab at 400 carries the shopfront register
   on its own. The accent is italic, same ink, same trick every set
   uses so a customer can mix families without the type going feral. */
.fs-fd-eyebrow{
  display:inline-flex;align-items:center;gap:.6rem;
  color:rgb(var(--c-accent, var(--c-brand-600)));
  font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
}
.fs-fd-eyebrow::before{
  content:'';width:1.4rem;height:2px;flex:none;
  background:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-fd-title{
  margin:1.05rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-weight:400;
  font-size:clamp(2rem, 4.6vw, 3.5rem);
  line-height:1.04;
  letter-spacing:.002em;
  text-wrap:balance;
}
.fs-fd-accent{font-style:italic;font-weight:400;}
.fs-fd-h{
  margin:.9rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-weight:400;
  font-size:clamp(1.65rem, 3.2vw, 2.35rem);
  line-height:1.08;
  text-wrap:balance;
}
.fs-fd-sub{
  margin-top:1rem;max-width:56ch;
  font-size:1.02rem;line-height:1.65;
  color:rgb(var(--c-ink-700));
}

/* ── Buttons & links ────────────────────────────────────────────*/
.fs-fd-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:2.75rem;padding:.62em 1.5em;cursor:pointer;
  background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));
  border-radius:var(--fs-radius-control, 2px);
  font-weight:700;font-size:.92rem;letter-spacing:.03em;text-transform:uppercase;
  transition:background-color .18s ease, transform .09s cubic-bezier(.2,.7,.3,1);
}
.fs-fd-btn:hover{background:rgb(var(--c-brand-700));}
/* Motif: the "clipper" press — a fast, tiny jitter distinct from every
   other set's plain scale-down, standing in for the mechanical snap
   of a clipper switching on. Two keyframes, ~90ms total. */
@keyframes fs-fd-clipper{0%{transform:translateX(0);}30%{transform:translateX(-1px) scale(.99);}60%{transform:translateX(1px) scale(.99);}100%{transform:translateX(0) scale(.985);}}
.fs-fd-anim .fs-fd-btn:active{animation:fs-fd-clipper .09s steps(3, end);}
.fs-fd-link{
  display:inline-flex;align-items:center;gap:.4em;cursor:pointer;
  color:rgb(var(--c-ink-950));font-weight:700;font-size:.92rem;
  box-shadow:inset 0 -1px 0 rgb(var(--c-accent, var(--c-brand-600)));
  padding-bottom:2px;
  transition:color .18s ease, box-shadow .18s ease;
}
.fs-fd-link:hover{color:rgb(var(--c-brand-600));box-shadow:inset 0 -2px 0 rgb(var(--c-accent, var(--c-brand-600)));}
.fs-fd-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:1.4rem;margin-top:1.7rem;}

/* ── Motif 1 · THE BEVEL EDGE — cut top-RIGHT, mirrors Arc/Gem ────*/
.fs-fd-card{
  --fs-fd-cut: 1.1rem;
  position:relative;
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line));
  clip-path:polygon(0 0,calc(100% - var(--fs-fd-cut)) 0,100% var(--fs-fd-cut),100% 100%,0 100%);
  box-shadow:var(--fs-shadow-card, none);
}
.fs-fd-card::after{
  content:'';position:absolute;top:0;right:0;
  width:calc(var(--fs-fd-cut) * 1.42);height:1px;
  background:rgb(var(--c-accent, var(--c-brand-600)) / .7);
  transform:rotate(45deg);
  transform-origin:100% 0;
  pointer-events:none;
}

/* ── Motif 2 · THE STROP STITCH — a divider of two dashed lines
   flanking a solid centre ───────────────────────────────────────*/
.fs-fd-stitch{ display:flex; align-items:center; gap:.4rem; }
.fs-fd-stitch::before, .fs-fd-stitch::after{
  content:''; flex:1; height:0;
  border-top:1px dashed rgb(var(--c-line));
}
.fs-fd-stitch-core{ flex:none; width:2.4rem; height:2px; background:rgb(var(--c-accent, var(--c-brand-600))); }

/* ── Motif 3 · THE SNIP — two strokes closing together, once ─────*/
@keyframes fs-fd-snip-a{ from{ transform:rotate(-28deg) scaleX(1); } to{ transform:rotate(-8deg) scaleX(.86); } }
@keyframes fs-fd-snip-b{ from{ transform:rotate(28deg) scaleX(1); } to{ transform:rotate(8deg) scaleX(.86); } }

/* The RazorMark device — every hero, card fallback and CTA device
   draws the same open blade. */
.fs-fd-razor{ display:block; overflow:visible; }
.fs-fd-razor-blade{ fill:var(--fs-fd-blade, rgb(var(--c-paper))); fill-opacity:.92; stroke:rgb(var(--c-accent, var(--c-brand-600))); stroke-width:.6; }
.fs-fd-razor-bolster{ fill:rgb(var(--c-accent, var(--c-brand-600))); }
.fs-fd-razor-scale{ fill:none; stroke:rgb(var(--c-paper)); stroke-opacity:.7; stroke-width:1; }
.fs-fd-razor-pin{ fill:rgb(var(--c-accent, var(--c-brand-600))); }
/* Signature micro-animation 1: the edge glint. The blade's fill
   brightens in a slow held loop (fs-fd-blade-shimmer, declared where
   it's used below) — light catching a cutting edge, not a stone's
   facets. Gated to .fs-fd-razor-glint instances only (the hero and
   CTA devices), never the static work-card fallback. */

/* ═══ HERO ══════════════════════════════════════════════════════*/
.fs-fd-hero{padding:clamp(3rem, 7vw, 5.5rem) clamp(1.25rem, 5vw, 4rem);}
.fs-fd-hero-inner{
  max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:minmax(0, 7fr) minmax(0, 5fr);
  gap:3.5rem;align-items:center;
}
.fs-fd-hero-copy{min-width:0;}
.fs-fd-creds{
  display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;margin-top:2rem;
  padding-top:1.1rem;border-top:1px solid rgb(var(--c-line));
}
.fs-fd-cred{
  position:relative;padding-left:1.1rem;
  font-size:.8rem;font-weight:700;letter-spacing:.04em;
  color:rgb(var(--c-ink-700));
}
.fs-fd-cred::before{
  content:'';position:absolute;left:0;top:.5em;
  width:.6em;height:2px;
  background:rgb(var(--c-accent, var(--c-brand-600)));
}

.fs-fd-hero-stage{position:relative;min-width:0;min-height:24rem;}
.fs-fd-hero-art{
  position:absolute;inset:0 0 0 14%;
  border:1px solid rgb(var(--c-line));
  clip-path:polygon(0 0,calc(100% - 1.4rem) 0,100% 1.4rem,100% 100%,0 100%);
  overflow:hidden;
  box-shadow:var(--fs-shadow-card, none);
}
.fs-fd-hero-art img{width:100%;height:100%;object-fit:cover;display:block;}
.fs-fd-hero-art-fallback{
  position:absolute;inset:0;display:block;
  background:linear-gradient(200deg, rgb(var(--c-brand-600) / .16), rgb(var(--c-brand-600) / .42)), rgb(var(--c-paper-soft));
}
.fs-fd-hero-razor{
  position:absolute;left:2%;bottom:12%;
  color:rgb(var(--c-brand-600));
  filter:drop-shadow(0 12px 20px rgb(var(--c-ink-950) / .35));
  --fs-fd-blade: rgb(var(--c-paper-soft));
}
.fs-fd-razor-glint .fs-fd-razor-blade{
  fill-opacity: .95;
}
.fs-fd-anim .fs-fd-razor-glint .fs-fd-razor-blade{
  animation: fs-fd-blade-shimmer 6.4s ease-in-out infinite;
}
@keyframes fs-fd-blade-shimmer{ 0%, 86%, 100%{ filter:brightness(1); } 44%{ filter:brightness(1.55); } }

.fs-fd-badge{
  position:absolute;right:-.5rem;top:6%;
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line));
  clip-path:polygon(0 0,calc(100% - .8rem) 0,100% .8rem,100% 100%,0 100%);
  padding:.7rem .95rem;
  box-shadow:var(--fs-shadow-lift, 0 10px 24px -10px rgb(var(--c-ink-950) / .3));
  max-width:12rem;
}
.fs-fd-badge-t{display:block;font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--c-ink-400));}
.fs-fd-badge-v{display:block;margin-top:.2rem;font-size:.85rem;font-weight:700;}

/* ═══ PAGE HEADER ═══════════════════════════════════════════════*/
.fs-fd-hd{padding:clamp(2.6rem, 6vw, 4.5rem) clamp(1.25rem, 5vw, 4rem) clamp(1.8rem, 4vw, 2.8rem);}
.fs-fd-hd-inner{max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-fd-hd-title{font-size:clamp(1.9rem, 4vw, 3rem);}
.fs-fd-hd-rule{
  display:block;margin-top:1.6rem;height:0;
  border-top:1px dashed rgb(var(--c-line));
  position:relative;
}
.fs-fd-hd-rule::after{
  content:'';position:absolute;left:0;top:-1.5px;width:2.4rem;height:3px;
  background:rgb(var(--c-accent, var(--c-brand-600)));
}

/* ═══ WORK — the three signature cuts ═══════════════════════════*/
.fs-fd-wk{padding:clamp(2.75rem, 6vw, 4.75rem) clamp(1.25rem, 5vw, 4rem);}
.fs-fd-wk-head{max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-fd-wk-grid{
  max-width:var(--fs-layout-max,72rem);margin:2.2rem auto 0;
  display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:1.4rem;
}
.fs-fd-wk-card{display:flex;flex-direction:column;overflow:visible;}
.fs-fd-wk-photo{
  position:relative;margin:0;aspect-ratio:1 / 1;overflow:hidden;
  background:rgb(var(--c-ink-950));
  display:grid;place-items:center;
  color:rgb(var(--c-brand-600));
}
.fs-fd-wk-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.fs-fd-wk-photo-fallback{display:grid;place-items:center;}
/* Signature micro-animation 2: the razor-edge sweep. A hard diagonal
   clip-path reveals a lighter "after" tint on hover — one stroke
   uncovering the finished look, not a tilt or a shine. */
.fs-fd-wk-edge{
  position:absolute;inset:0;pointer-events:none;
  background:rgb(var(--c-accent, var(--c-brand-600)) / .22);
  clip-path:polygon(0 100%,0 100%,0 100%);
  transition:clip-path .5s cubic-bezier(.2,.7,.3,1);
}
.fs-fd-anim .fs-fd-wk-card:hover .fs-fd-wk-edge{
  clip-path:polygon(0 100%,100% 0,100% 100%);
}
.fs-fd-wk-body{display:flex;flex-direction:column;flex:1;padding:1.1rem 1.25rem 1.35rem;}
.fs-fd-wk-name{
  font-family:var(--font-display, Georgia, serif);
  font-weight:400;font-size:1.2rem;line-height:1.15;
}
.fs-fd-wk-price{
  margin-top:.35rem;font-family:var(--font-display, Georgia, serif);
  font-size:1.4rem;color:rgb(var(--c-brand-600));
}
.fs-fd-wk-meta{
  margin-top:.5rem;padding-top:.5rem;
  border-top:1px dashed rgb(var(--c-line));
  font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-fd-wk-blurb{margin-top:.65rem;font-size:.88rem;line-height:1.58;color:rgb(var(--c-ink-700));}
.fs-fd-wk-cta{margin-top:auto;padding-top:1rem;align-self:flex-start;font-size:.86rem;}

/* ═══ BUILDER — the live cut configurator ════════════════════════*/
.fs-fd-bd{padding:clamp(2.75rem, 6vw, 4.75rem) clamp(1.25rem, 5vw, 4rem);}
.fs-fd-bd-head{max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-fd-bd-grid{
  max-width:var(--fs-layout-max,72rem);margin:2.2rem auto 0;
  display:grid;grid-template-columns:minmax(0, 7fr) minmax(0, 5fr);
  gap:2.4rem;align-items:start;
}
.fs-fd-bd-form{min-width:0;display:grid;gap:1.7rem;}
.fs-fd-bd-q{border:0;margin:0;padding:0;min-width:0;}
.fs-fd-bd-l{display:flex;align-items:baseline;gap:.65rem;margin-bottom:.8rem;padding:0;font-weight:700;font-size:1.02rem;}
.fs-fd-bd-n{font-family:var(--font-display, Georgia, serif);font-size:.85rem;color:rgb(var(--c-accent, var(--c-brand-600)));letter-spacing:.04em;}
.fs-fd-seg{display:flex;flex-wrap:wrap;gap:.55rem;}
.fs-fd-seg-b{
  appearance:none;cursor:pointer;
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line));
  clip-path:polygon(0 0,calc(100% - .5rem) 0,100% .5rem,100% 100%,0 100%);
  color:rgb(var(--c-ink-700));
  font:inherit;font-size:.92rem;font-weight:600;
  padding:.55em 1.05em;min-height:2.5rem;
  transition:border-color .16s ease, background-color .16s ease, color .16s ease, transform .12s ease;
}
.fs-fd-seg-b:hover{border-color:rgb(var(--c-brand-600) / .6);color:rgb(var(--c-ink-950));}
.fs-fd-seg-b:focus-visible{outline:2px solid rgb(var(--c-accent, var(--c-brand-600)));outline-offset:2px;}
.fs-fd-seg-b[data-on="1"]{
  background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));
  color:rgb(var(--c-paper));font-weight:700;
}
.fs-fd-anim .fs-fd-seg-b:active{transform:scale(.96);}
.fs-fd-bd-hint{font-size:.86rem;color:rgb(var(--c-ink-400));font-style:italic;}

.fs-fd-bd-card{padding:1.6rem 1.7rem 1.7rem;}
/* Signature micro-animation 3: the fade preview. --fs-fd-fade-stop is
   set inline by the component per instance — a CSS custom property
   scoped to THIS element, so two builders on one page never fight
   over each other's preview (same discipline as Gem's stone-hue
   props). The gradient's stop ANIMATES to its new position rather
   than jumping, the literal tonal blend a "fade" is named for. */
.fs-fd-bd-preview{
  height:3.4rem;margin:-.2rem 0 1.1rem;
  border:1px solid rgb(var(--c-line));
  overflow:hidden;
  position:relative;
}
.fs-fd-bd-preview-fade{
  position:absolute;inset:0;
  background:linear-gradient(90deg,
    rgb(var(--c-ink-950)) 0%,
    rgb(var(--c-ink-950)) var(--fs-fd-fade-stop, 20%),
    rgb(var(--c-paper-soft)) calc(var(--fs-fd-fade-stop, 20%) + 34%),
    rgb(var(--c-paper-soft)) 100%);
  transition: background .5s cubic-bezier(.2,.7,.3,1);
}
.fs-fd-bd-card-t{
  font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-fd-bd-figure{
  margin-top:.6rem;
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(1.8rem, 3.6vw, 2.5rem);line-height:1.05;
  font-variant-numeric:tabular-nums;
}
.fs-fd-bd-figure-l{margin-top:.45rem;font-size:.86rem;color:rgb(var(--c-ink-700));}
.fs-fd-bd-inc-t{
  margin-top:1.3rem;padding-top:1.1rem;border-top:1px dashed rgb(var(--c-line));
  font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-fd-bd-inc{list-style:none;margin:.7rem 0 0;padding:0;display:grid;gap:.55rem;}
.fs-fd-bd-inc li{position:relative;padding-left:1.1rem;font-size:.9rem;line-height:1.55;color:rgb(var(--c-ink-700));}
.fs-fd-bd-inc li::before{
  content:'';position:absolute;left:0;top:.55em;
  width:.55em;height:2px;background:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-fd-bd-cta{margin-top:1.4rem;width:100%;}
.fs-fd-bd-note{margin-top:.9rem;font-size:.8rem;line-height:1.55;color:rgb(var(--c-ink-400));}

/* ═══ CARE — qualifications / hygiene / patch-test panel ═════════*/
.fs-fd-cr{padding:clamp(2.75rem, 6vw, 4.75rem) clamp(1.25rem, 5vw, 4rem);}
.fs-fd-cr-head{max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-fd-cr-grid{
  max-width:var(--fs-layout-max,72rem);margin:2.2rem auto 0;
  display:grid;grid-template-columns:repeat(auto-fit, minmax(15rem, 1fr));gap:1.4rem;
}
.fs-fd-cr-card{padding:1.4rem 1.5rem 1.55rem;display:flex;flex-direction:column;gap:.55rem;}
.fs-fd-cr-t{font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:1.15rem;margin:0;}
.fs-fd-cr-b{font-size:.88rem;line-height:1.6;color:rgb(var(--c-ink-700));}
.fs-fd-cr-card .fs-fd-link{margin-top:auto;padding-top:.4rem;font-size:.82rem;align-self:flex-start;}

/* ═══ JOURNEY — the snip spine ════════════════════════════════════*/
.fs-fd-jn{padding:clamp(2.75rem, 6vw, 4.75rem) clamp(1.25rem, 5vw, 4rem);}
.fs-fd-jn-head{max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-fd-jn-list{
  max-width:var(--fs-layout-max,72rem);margin:2.4rem auto 0;padding:0;list-style:none;
  display:grid;grid-template-columns:repeat(5, minmax(0, 1fr));gap:1.3rem;
  position:relative;
}
.fs-fd-jn-list::before{content:'';position:absolute;left:0;right:0;top:1.15rem;border-top:1px dashed rgb(var(--c-line));}
.fs-fd-jn-step{position:relative;min-width:0;padding-top:3.3rem;}
.fs-fd-jn-mark-icon{
  position:absolute;left:0;top:0;
  width:2.3rem;height:2.3rem;
  display:block;
  background:rgb(var(--c-paper));
  box-shadow:0 0 0 5px rgb(var(--c-paper));
}
.fs-fd-jn-snip-a, .fs-fd-jn-snip-b{
  position:absolute;left:50%;top:50%;
  width:1.7rem;height:2px;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  transform-origin:0 50%;
}
.fs-fd-jn-snip-a{ transform:translate(-1px,-1px) rotate(-28deg); }
.fs-fd-jn-snip-b{ transform:translate(-1px,1px) rotate(28deg); }
.fs-fd-anim .fs-fd-jn-step:nth-child(1) .fs-fd-jn-snip-a{ animation:fs-fd-snip-a .5s cubic-bezier(.2,.7,.3,1) .1s both; }
.fs-fd-anim .fs-fd-jn-step:nth-child(1) .fs-fd-jn-snip-b{ animation:fs-fd-snip-b .5s cubic-bezier(.2,.7,.3,1) .1s both; }
.fs-fd-anim .fs-fd-jn-step:nth-child(2) .fs-fd-jn-snip-a{ animation:fs-fd-snip-a .5s cubic-bezier(.2,.7,.3,1) .2s both; }
.fs-fd-anim .fs-fd-jn-step:nth-child(2) .fs-fd-jn-snip-b{ animation:fs-fd-snip-b .5s cubic-bezier(.2,.7,.3,1) .2s both; }
.fs-fd-anim .fs-fd-jn-step:nth-child(3) .fs-fd-jn-snip-a{ animation:fs-fd-snip-a .5s cubic-bezier(.2,.7,.3,1) .3s both; }
.fs-fd-anim .fs-fd-jn-step:nth-child(3) .fs-fd-jn-snip-b{ animation:fs-fd-snip-b .5s cubic-bezier(.2,.7,.3,1) .3s both; }
.fs-fd-anim .fs-fd-jn-step:nth-child(4) .fs-fd-jn-snip-a{ animation:fs-fd-snip-a .5s cubic-bezier(.2,.7,.3,1) .4s both; }
.fs-fd-anim .fs-fd-jn-step:nth-child(4) .fs-fd-jn-snip-b{ animation:fs-fd-snip-b .5s cubic-bezier(.2,.7,.3,1) .4s both; }
.fs-fd-anim .fs-fd-jn-step:nth-child(5) .fs-fd-jn-snip-a{ animation:fs-fd-snip-a .5s cubic-bezier(.2,.7,.3,1) .5s both; }
.fs-fd-anim .fs-fd-jn-step:nth-child(5) .fs-fd-jn-snip-b{ animation:fs-fd-snip-b .5s cubic-bezier(.2,.7,.3,1) .5s both; }
.fs-fd-jn-mark{display:block;font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgb(var(--c-accent, var(--c-brand-600)));}
.fs-fd-jn-t{margin:.35rem 0 0;font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:1.2rem;}
.fs-fd-jn-b{margin-top:.5rem;font-size:.88rem;line-height:1.6;color:rgb(var(--c-ink-700));}

/* ═══ CTA — the closing card ═══════════════════════════════════════*/
.fs-fd-cta{padding:clamp(2.75rem, 6vw, 4.75rem) clamp(1.25rem, 5vw, 4rem);}
.fs-fd-cta-panel{
  position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto;
  background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));
  clip-path:polygon(0 0,calc(100% - 1.8rem) 0,100% 1.8rem,100% 100%,0 100%);
  padding:clamp(2.2rem, 5vw, 3.6rem);
  display:grid;grid-template-columns:minmax(0, 8fr) minmax(0, 3fr);
  gap:2rem;align-items:center;
  box-shadow:var(--fs-shadow-lift, none);
}
.fs-fd-cta-inner{position:relative;z-index:1;min-width:0;}
.fs-fd-cta-eyebrow{color:rgb(var(--c-paper) / .85);}
.fs-fd-cta-eyebrow::before{background:rgb(var(--c-paper) / .75);}
.fs-fd-cta-title{font-size:clamp(1.9rem, 4vw, 2.9rem);}
.fs-fd-cta-sub{color:rgb(var(--c-paper) / .85);}
.fs-fd-btn-oncta{background:rgb(var(--c-paper));color:rgb(var(--c-brand-700));}
.fs-fd-btn-oncta:hover{background:rgb(var(--c-paper) / .88);}
.fs-fd-link-oncta{color:rgb(var(--c-paper));box-shadow:inset 0 -1px 0 rgb(var(--c-paper) / .6);font-variant-numeric:tabular-nums;}
.fs-fd-link-oncta:hover{color:rgb(var(--c-paper));box-shadow:inset 0 -2px 0 rgb(var(--c-paper));}
.fs-fd-cta-note{margin-top:1.1rem;font-size:.8rem;color:rgb(var(--c-paper) / .7);}
.fs-fd-cta-device{
  position:relative;z-index:1;min-width:0;justify-self:center;
  color:rgb(var(--c-paper));
  --fs-fd-blade: rgb(var(--c-paper));
}
.fs-fd-cta-device .fs-fd-razor-bolster,
.fs-fd-cta-device .fs-fd-razor-pin{ fill:rgb(var(--c-paper)); }
.fs-fd-cta-device .fs-fd-razor-scale{ stroke:rgb(var(--c-paper) / .55); }

/* ── Entrance motion — one grammar, applied to whole panels on
   first reveal, separate from the per-block micro-animations above.
   Deliberately small. ────────────────────────────────────────────*/
@keyframes fs-fd-mount{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
.fs-fd-anim .fs-fd-hero-copy{animation:fs-fd-mount .55s cubic-bezier(.2,.7,.3,1) both;}
.fs-fd-anim .fs-fd-hero-razor{animation:fs-fd-mount .55s cubic-bezier(.2,.7,.3,1) .15s both;}
.fs-fd-anim .fs-fd-wk-card:nth-child(1){animation:fs-fd-mount .5s cubic-bezier(.2,.7,.3,1) both;}
.fs-fd-anim .fs-fd-wk-card:nth-child(2){animation:fs-fd-mount .5s cubic-bezier(.2,.7,.3,1) .08s both;}
.fs-fd-anim .fs-fd-wk-card:nth-child(3){animation:fs-fd-mount .5s cubic-bezier(.2,.7,.3,1) .16s both;}

@media (prefers-reduced-motion: reduce){
  .fs-fd-anim .fs-fd-hero-copy, .fs-fd-anim .fs-fd-hero-razor,
  .fs-fd-anim .fs-fd-wk-card, .fs-fd-anim .fs-fd-btn:active,
  .fs-fd-anim .fs-fd-seg-b:active,
  .fs-fd-anim .fs-fd-razor-glint .fs-fd-razor-blade,
  .fs-fd-anim .fs-fd-jn-snip-a, .fs-fd-anim .fs-fd-jn-snip-b{ animation:none !important; }
  .fs-fd-anim .fs-fd-wk-card{ transform:none !important; }
  .fs-fd-wk-edge{ transition:none !important; }
  .fs-fd-bd-preview-fade{ transition:none !important; }
  .fs-fd-jn-snip-a{ transform:translate(-1px,-1px) rotate(-8deg) scaleX(.86) !important; }
  .fs-fd-jn-snip-b{ transform:translate(-1px,1px) rotate(8deg) scaleX(.86) !important; }
}

/* ── Responsive ─────────────────────────────────────────────────*/
@media (max-width:960px){
  .fs-fd-hero-inner{grid-template-columns:1fr;gap:2.6rem;}
  .fs-fd-hero-stage{min-height:20rem;}
  .fs-fd-bd-grid{grid-template-columns:1fr;}
  .fs-fd-jn-list{grid-template-columns:1fr;gap:0;}
  .fs-fd-jn-list::before{left:1.15rem;right:auto;top:0;bottom:0;border-top:0;border-left:1px dashed rgb(var(--c-line));}
  .fs-fd-jn-step{padding:0 0 1.6rem 3.4rem;}
  .fs-fd-jn-step:last-child{padding-bottom:0;}
  .fs-fd-cta-panel{grid-template-columns:1fr;}
  .fs-fd-cta-device{display:none;}
}
@media (max-width:900px){
  .fs-fd-wk-grid{grid-template-columns:1fr;}
}

/* ── favFadeFooter (theme-chrome batch 3, Strop) ────────────────────
   fs-fd-ft: the full-bleed band on the page ground (named container) —
   never a second green panel under favFadeCta; fs-fd-ft-in: the content
   box, which narrows with the Layout (named container). The heading
   numerals are a counter reset on .fs-fd-ft-body, a plain box: a counter
   reset on a container does not reach its headings. */
.fs-fd-ft{container-type:inline-size;container-name:fs-fd-ft;padding:0 clamp(1rem,4vw,2.5rem);background:rgb(var(--c-paper));--fd-ft-rule:rgb(var(--c-ink-950) / .14);--fd-ft-line:rgb(var(--c-ink-950) / .34);--fd-ft-brass:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 73%, rgb(var(--c-ink-950)));--fd-ft-ink-hi:rgb(var(--c-brand-text))}
.fs-fd-ft:is(.dark *):not(.fs-preview-light *){--fd-ft-ink-hi:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-fd-ft-in{container-type:inline-size;container-name:fs-fd-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:36px 30px}
.fs-fd-ft-body{counter-reset:fs-fd-ft}
.fs-fd-ft-mark{flex:none;width:54px;height:54px}
.fs-fd-ft-mk-b{stroke:rgb(var(--c-brand-600))}
.fs-fd-ft-mk-a{stroke:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-fd-ft-razor{display:block;flex:none;width:72px;height:24px;overflow:visible}
.fs-fd-ft-rz-b{fill:currentColor;fill-opacity:.9}
.fs-fd-ft-rz-o{fill:currentColor}
.fs-fd-ft-rz-s{fill:none;stroke:currentColor;stroke-opacity:.72;stroke-width:1.6}
.fs-fd-ft-stitch{display:flex;align-items:center;gap:14px;margin-bottom:34px;color:var(--fd-ft-brass)}
.fs-fd-ft-stitch::before,.fs-fd-ft-stitch::after{content:'';flex:1;border-top:1px dashed var(--fd-ft-line)}
.fs-fd-ft-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,.8fr);gap:32px clamp(28px,4.5cqi,64px)}
.fs-fd-ft-col{min-width:0}
.fs-fd-ft-brand{margin:0;display:flex;align-items:center;gap:14px}
.fs-fd-ft-name{font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:32px;line-height:1.02;color:var(--fd-ft-ink-hi)}
.fs-fd-ft-sub{margin:10px 0 0;display:flex;align-items:center;gap:10px;font-weight:700;font-size:11px;line-height:1;letter-spacing:.24em;text-transform:uppercase;color:var(--fd-ft-brass)}
.fs-fd-ft-sub::before{content:'';flex:none;width:22px;height:2px;background:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-fd-ft-state{margin:16px 0 0;max-width:38ch;font-size:15px;line-height:1.6;color:rgb(var(--c-ink-400))}
.fs-fd-ft-addr{margin:14px 0 0;font-size:15px;line-height:1.65}
.fs-fd-ft-tel{display:inline-block;margin-top:2px;font-weight:700;letter-spacing:.04em;box-shadow:inset 0 -1.5px 0 rgb(var(--c-accent, var(--c-brand-600)));color:inherit;text-decoration:none}
.fs-fd-ft-h{margin:0 0 4px;display:flex;align-items:baseline;gap:9px;padding-bottom:10px;font-weight:700;font-size:12px;line-height:1;letter-spacing:.18em;text-transform:uppercase;background:linear-gradient(rgb(var(--c-accent, var(--c-brand-600))),rgb(var(--c-accent, var(--c-brand-600)))) 0 100%/38px 3px no-repeat,repeating-linear-gradient(90deg,var(--fd-ft-line) 0 6px,transparent 6px 10px) 0 calc(100% - 1px)/100% 1px no-repeat}
.fs-fd-ft-h::before{counter-increment:fs-fd-ft;content:counter(fs-fd-ft,decimal-leading-zero);font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:14px;line-height:1;letter-spacing:.04em;color:var(--fd-ft-brass)}
.fs-fd-ft-week{margin:0}
.fs-fd-ft-hrow{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding-block:9px;border-bottom:1px dashed var(--fd-ft-line)}
.fs-fd-ft-dt{font-weight:600;font-size:15px;line-height:1.3}
.fs-fd-ft-dd{margin:0;font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:17px;line-height:1.2;color:var(--fd-ft-ink-hi);font-variant-numeric:tabular-nums;white-space:nowrap}
.fs-fd-ft-hrow.is-off .fs-fd-ft-dt{color:rgb(var(--c-ink-400))}
.fs-fd-ft-hrow.is-off .fs-fd-ft-dd{font-weight:700;font-size:11.5px;line-height:1.2;letter-spacing:.16em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
.fs-fd-ft-note{margin:10px 0 0;font-size:13.5px;line-height:1.5;color:rgb(var(--c-ink-400))}
.fs-fd-ft-links{list-style:none;margin:0;padding:0}
.fs-fd-ft-li{padding-block:2px}
.fs-fd-ft-link{position:relative;display:inline-block;padding:5px 0 5px 19px;font-size:15px;color:rgb(var(--c-ink-950));text-decoration:none}
.fs-fd-ft-link::before{content:'';position:absolute;left:0;top:50%;width:9px;height:2px;background:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-fd-ft-link:hover{color:var(--fd-ft-ink-hi);text-decoration:underline;text-underline-offset:3px}
.fs-fd-ft-checks{margin-top:38px}
.fs-fd-ft-cards{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.fs-fd-ft-card{--fd-ft-c:14px;position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;padding:16px 18px 18px;background:rgb(var(--c-paper-soft));box-shadow:inset 0 0 0 1px var(--fd-ft-line);clip-path:polygon(0 0,calc(100% - var(--fd-ft-c)) 0,100% var(--fd-ft-c),100% 100%,0 100%)}
.fs-fd-ft-card::after{content:'';position:absolute;top:0;left:calc(100% - var(--fd-ft-c));width:calc(var(--fd-ft-c) * 1.4142);height:1.5px;background:rgb(var(--c-accent, var(--c-brand-600)));transform-origin:0 0;transform:rotate(45deg)}
.fs-fd-ft-cfig{font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:19px;line-height:1.1;color:var(--fd-ft-ink-hi);font-variant-numeric:tabular-nums}
.fs-fd-ft-cbody{font-size:13.5px;line-height:1.5;color:rgb(var(--c-ink-400))}
.fs-fd-ft-clink{margin-top:auto;padding:4px 0 2px;font-weight:700;font-size:13px;line-height:1.3;color:rgb(var(--c-ink-950));box-shadow:inset 0 -1.5px 0 rgb(var(--c-accent, var(--c-brand-600)));text-decoration:none}
.fs-fd-ft-clink:hover{color:var(--fd-ft-ink-hi)}
.fs-fd-ft-legal{margin:30px 0 0;display:flex;flex-wrap:wrap;gap:6px 18px;padding-top:16px;border-top:1px solid var(--fd-ft-rule);font-size:12.5px;color:rgb(var(--c-ink-400))}
.fs-fd-ft-legal-a{color:inherit;text-decoration:none}
.fs-fd-ft-legal-a:hover{color:rgb(var(--c-ink-950))}
@container fs-fd-ft (max-width: 40rem){
  .fs-fd-ft-in{padding-block:30px 24px}
}
@container fs-fd-ft-in (max-width: 56rem){
  .fs-fd-ft-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-fd-ft-id{grid-column:1/-1}
  .fs-fd-ft-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container fs-fd-ft (max-width: 48rem){
  .fs-fd-ft-grid{grid-template-columns:minmax(0,1fr);gap:28px}
  .fs-fd-ft-links{columns:2;column-gap:20px}
  .fs-fd-ft-li{break-inside:avoid}
  .fs-fd-ft-name{font-size:28px}
}
@container fs-fd-ft (max-width: 30rem){
  .fs-fd-ft-cards{grid-template-columns:minmax(0,1fr)}
  .fs-fd-ft-stitch{margin-bottom:26px}
}


.fs-gm{
  position:relative;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-gm *{box-sizing:border-box;}

/* ── Shared type ────────────────────────────────────────────────
   A high-contrast Didone at 400 carries the "cut" register on its
   own — thick-thin strokes read as light catching an edge before a
   single facet is drawn. The accent is italic, same ink. */
.fs-gm-eyebrow{
  display:inline-flex;align-items:center;gap:.6rem;
  color:rgb(var(--c-accent, var(--c-brand-600)));
  font-size:.7rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
}
.fs-gm-eyebrow::before{
  content:'';width:.5rem;height:.5rem;flex:none;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);
}
.fs-gm-title{
  margin:1.05rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-weight:400;
  font-size:clamp(2rem, 4.6vw, 3.5rem);
  line-height:1.06;
  letter-spacing:-0.005em;
  text-wrap:balance;
}
.fs-gm-accent{font-style:italic;font-weight:400;}
.fs-gm-h{
  margin:.9rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-weight:400;
  font-size:clamp(1.65rem, 3.2vw, 2.35rem);
  line-height:1.1;
  text-wrap:balance;
}
.fs-gm-sub{
  margin-top:1rem;max-width:56ch;
  font-size:1.02rem;line-height:1.65;
  color:rgb(var(--c-ink-700));
}

/* ── Buttons & links ────────────────────────────────────────────*/
.fs-gm-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:2.75rem;padding:.62em 1.5em;cursor:pointer;
  background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));
  border-radius:var(--fs-radius-control, 2px);
  font-weight:600;font-size:.95rem;letter-spacing:.02em;
  transition:background-color .18s ease, transform .16s cubic-bezier(.2,.7,.3,1);
}
.fs-gm-btn:hover{background:rgb(var(--c-brand-700));}
.fs-gm-btn:active{transform:scale(.97);}
.fs-gm-link{
  display:inline-flex;align-items:center;gap:.4em;cursor:pointer;
  color:rgb(var(--c-ink-950));font-weight:600;font-size:.95rem;
  box-shadow:inset 0 -1px 0 rgb(var(--c-accent, var(--c-brand-600)));
  padding-bottom:2px;
  transition:color .18s ease, box-shadow .18s ease;
}
.fs-gm-link:hover{color:rgb(var(--c-brand-600));box-shadow:inset 0 -2px 0 rgb(var(--c-accent, var(--c-brand-600)));}
.fs-gm-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:1.4rem;margin-top:1.7rem;}

/* ── Motif 1 · THE FACET BEVEL ──────────────────────────────────
   A card is a surface whose top-left corner is cut on the diagonal.
   The cut distance scales with the card, so small chips and large
   panels both read as the same cut angle. */
.fs-gm-card{
  --fs-gm-cut: 1.1rem;
  position:relative;
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line));
  clip-path:polygon(var(--fs-gm-cut) 0,100% 0,100% 100%,0 100%,0 var(--fs-gm-cut));
  box-shadow:var(--fs-shadow-card, none);
}
.fs-gm-card::after{
  content:'';position:absolute;top:0;left:0;
  width:calc(var(--fs-gm-cut) * 1.42);height:1px;
  background:rgb(var(--c-accent, var(--c-brand-600)) / .7);
  transform:rotate(-45deg) translate(0, 0);
  transform-origin:0 0;
  pointer-events:none;
}

/* ── Motif 3 · THE SET — one expanding ring, played once ─────────*/
@keyframes fs-gm-set{
  0%{ box-shadow:0 0 0 0 rgb(var(--c-accent, var(--c-brand-600)) / .55); }
  100%{ box-shadow:0 0 0 .55rem rgb(var(--c-accent, var(--c-brand-600)) / 0); }
}

/* The CutGem mark — every hero, card fallback, builder preview and
   CTA device draws the same octagon, coloured by inherited
   currentColor/tokens unless overridden inline for the morph. */
.fs-gm-cutgem{ display:block; overflow:visible; }
.fs-gm-cutgem-body{
  fill: var(--fs-gm-stone, rgb(var(--c-paper)));
  fill-opacity:.14;
}
.fs-gm-cutgem-facet{
  fill: var(--fs-gm-stone, rgb(var(--c-paper)));
  fill-opacity:.22;
  stroke: var(--fs-gm-metal, rgb(var(--c-accent, var(--c-brand-600))));
  stroke-width:.6;
}
.fs-gm-cutgem-table{
  fill:none;
  stroke: var(--fs-gm-metal, rgb(var(--c-accent, var(--c-brand-600))));
  stroke-width:1.1;
}

/* ═══ HERO ══════════════════════════════════════════════════════*/
.fs-gm-hero{padding:clamp(3rem, 7vw, 5.5rem) clamp(1.25rem, 5vw, 4rem);}
.fs-gm-hero-inner{
  max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:minmax(0, 7fr) minmax(0, 5fr);
  gap:3.5rem;align-items:center;
}
.fs-gm-hero-copy{min-width:0;}
.fs-gm-creds{
  display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;margin-top:2rem;
  padding-top:1.1rem;border-top:1px solid rgb(var(--c-line));
}
.fs-gm-cred{
  position:relative;padding-left:1rem;
  font-size:.8rem;font-weight:600;letter-spacing:.06em;
  color:rgb(var(--c-ink-700));
}
.fs-gm-cred::before{
  content:'';position:absolute;left:0;top:.42em;
  width:.4em;height:.4em;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);
}

.fs-gm-hero-stage{position:relative;min-width:0;min-height:24rem;}
.fs-gm-hero-art{
  position:absolute;inset:0 0 0 14%;
  border:1px solid rgb(var(--c-line));
  clip-path:polygon(1.4rem 0,100% 0,100% 100%,0 100%,0 1.4rem);
  overflow:hidden;
  box-shadow:var(--fs-shadow-card, none);
}
.fs-gm-hero-art img{width:100%;height:100%;object-fit:cover;display:block;}
.fs-gm-hero-art-fallback{
  position:absolute;inset:0;display:block;
  background:linear-gradient(160deg, rgb(var(--c-brand-600) / .16), rgb(var(--c-brand-600) / .42)), rgb(var(--c-paper-soft));
}
/* the hero gem — sits over the art, own drop shadow so it separates
   from the backdrop regardless of palette */
.fs-gm-hero-gem{
  position:absolute;left:0;bottom:10%;
  color:rgb(var(--c-brand-600));
  filter:drop-shadow(0 14px 22px rgb(var(--c-ink-950) / .35));
}
.fs-gm-hero-gem .fs-gm-cutgem-body{ fill:rgb(var(--c-paper-soft)); fill-opacity:.9; }
.fs-gm-hero-gem .fs-gm-cutgem-facet{ fill:rgb(var(--c-paper-soft)); fill-opacity:.55; stroke:rgb(var(--c-brand-600)); stroke-width:.5; }
.fs-gm-hero-gem .fs-gm-cutgem-table{ stroke:rgb(var(--c-accent, var(--c-brand-600))); stroke-width:1; }
.fs-gm-badge{
  position:absolute;right:-.5rem;top:6%;
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line));
  clip-path:polygon(.8rem 0,100% 0,100% 100%,0 100%,0 .8rem);
  padding:.7rem .95rem;
  box-shadow:var(--fs-shadow-lift, 0 10px 24px -10px rgb(var(--c-ink-950) / .3));
  max-width:12rem;
}
.fs-gm-badge-t{display:block;font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--c-ink-400));}
.fs-gm-badge-v{display:block;margin-top:.2rem;font-size:.85rem;font-weight:600;}

/* Signature micro-animation 1: the idle facet shimmer. Each facet
   polygon takes its turn brightening, staggered by the inline
   animation-delay set in the component — a light travelling once
   round the stone, then holding, then repeating on a slow ambient
   period so it never reads as looping chatter. */
@keyframes fs-gm-facet-glint{
  0%, 92%, 100%{ fill-opacity:.22; }
  4%{ fill-opacity:.68; }
}
.fs-gm-anim .fs-gm-hero-gem .fs-gm-cutgem-facet{
  animation:fs-gm-facet-glint 5.6s ease-in-out infinite;
}

/* ═══ PAGE HEADER ═══════════════════════════════════════════════*/
.fs-gm-hd{padding:clamp(2.6rem, 6vw, 4.5rem) clamp(1.25rem, 5vw, 4rem) clamp(1.8rem, 4vw, 2.8rem);}
.fs-gm-hd-inner{max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-gm-hd-title{font-size:clamp(1.9rem, 4vw, 3rem);}
.fs-gm-hd-rule{
  display:block;margin-top:1.6rem;height:0;
  border-top:2px solid rgb(var(--c-ink-950));
  position:relative;
}
.fs-gm-hd-rule::after{
  content:'';position:absolute;left:0;top:-1px;width:2.4rem;height:3px;
  background:rgb(var(--c-accent, var(--c-brand-600)));
}

/* ═══ PIECES — tilt-and-sheen cards ═════════════════════════════*/
.fs-gm-pc{padding:clamp(2.75rem, 6vw, 4.75rem) clamp(1.25rem, 5vw, 4rem);}
.fs-gm-pc-head{max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-gm-pc-grid{
  max-width:var(--fs-layout-max,72rem);margin:2.2rem auto 0;
  display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:1.4rem;
  perspective:1400px;
}
.fs-gm-pc-card{display:flex;flex-direction:column;overflow:visible;}
.fs-gm-pc-photo{
  position:relative;margin:0;aspect-ratio:1 / 1;overflow:hidden;
  background:rgb(var(--c-ink-950));
  display:grid;place-items:center;
  color:rgb(var(--c-brand-600));
}
.fs-gm-pc-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.fs-gm-pc-photo-fallback{display:grid;place-items:center;}
/* Signature micro-animation 2: the sheen. A diagonal light band sits
   just off-canvas and sweeps across on hover — the single glint this
   composition is allowed, timed to arrive with the tilt. */
.fs-gm-pc-sheen{
  position:absolute;inset:-60% -80%;pointer-events:none;
  background:linear-gradient(115deg, transparent 42%, rgb(255 255 255 / .16) 50%, transparent 58%);
  transform:translateX(-120%);
  transition:transform .6s cubic-bezier(.2,.7,.3,1);
}
.fs-gm-anim .fs-gm-pc-card{
  transition:transform .35s cubic-bezier(.2,.7,.3,1), box-shadow .35s ease;
  transform-style:preserve-3d;
}
.fs-gm-anim .fs-gm-pc-card:hover{
  transform:rotateX(3deg) rotateY(-4deg) translateY(-3px);
  box-shadow:var(--fs-shadow-lift, 0 18px 30px -16px rgb(var(--c-ink-950) / .4));
}
.fs-gm-anim .fs-gm-pc-card:hover .fs-gm-pc-sheen{transform:translateX(120%);}
.fs-gm-pc-body{display:flex;flex-direction:column;flex:1;padding:1.1rem 1.25rem 1.35rem;}
.fs-gm-pc-name{
  font-family:var(--font-display, Georgia, serif);
  font-weight:400;font-size:1.25rem;line-height:1.15;
}
.fs-gm-pc-price{
  margin-top:.35rem;font-family:var(--font-display, Georgia, serif);
  font-size:1.15rem;color:rgb(var(--c-brand-600));
}
.fs-gm-pc-meta{
  margin-top:.5rem;padding-top:.5rem;
  border-top:1px solid rgb(var(--c-line) / .7);
  font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-gm-pc-blurb{margin-top:.65rem;font-size:.88rem;line-height:1.58;color:rgb(var(--c-ink-700));}
.fs-gm-pc-cta{margin-top:auto;padding-top:1rem;align-self:flex-start;font-size:.86rem;}

/* ═══ BUILDER — the live commission configurator ════════════════*/
.fs-gm-bd{padding:clamp(2.75rem, 6vw, 4.75rem) clamp(1.25rem, 5vw, 4rem);}
.fs-gm-bd-head{max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-gm-bd-grid{
  max-width:var(--fs-layout-max,72rem);margin:2.2rem auto 0;
  display:grid;grid-template-columns:minmax(0, 7fr) minmax(0, 5fr);
  gap:2.4rem;align-items:start;
}
.fs-gm-bd-form{min-width:0;display:grid;gap:1.7rem;}
.fs-gm-bd-q{border:0;margin:0;padding:0;min-width:0;}
.fs-gm-bd-l{display:flex;align-items:baseline;gap:.65rem;margin-bottom:.8rem;padding:0;font-weight:600;font-size:1.02rem;}
.fs-gm-bd-n{font-family:var(--font-display, Georgia, serif);font-size:.85rem;color:rgb(var(--c-accent, var(--c-brand-600)));letter-spacing:.08em;}
.fs-gm-seg{display:flex;flex-wrap:wrap;gap:.55rem;}
.fs-gm-seg-b{
  appearance:none;cursor:pointer;
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line));
  clip-path:polygon(.5rem 0,100% 0,100% 100%,0 100%,0 .5rem);
  color:rgb(var(--c-ink-700));
  font:inherit;font-size:.92rem;font-weight:500;
  padding:.55em 1.05em;min-height:2.5rem;
  transition:border-color .16s ease, background-color .16s ease, color .16s ease, transform .12s ease;
}
.fs-gm-seg-b:hover{border-color:rgb(var(--c-brand-600) / .6);color:rgb(var(--c-ink-950));}
.fs-gm-seg-b:focus-visible{outline:2px solid rgb(var(--c-accent, var(--c-brand-600)));outline-offset:2px;}
.fs-gm-seg-b[data-on="1"]{
  background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));
  color:rgb(var(--c-paper));font-weight:600;
}
.fs-gm-anim .fs-gm-seg-b:active{transform:scale(.96);}
.fs-gm-bd-hint{font-size:.86rem;color:rgb(var(--c-ink-400));font-style:italic;}

.fs-gm-bd-card{padding:1.6rem 1.7rem 1.7rem;text-align:center;}
.fs-gm-bd-preview{
  display:grid;place-items:center;
  margin:-.4rem auto 1rem;
  color:rgb(var(--c-brand-600));
}
/* Signature micro-animation 3: the builder's live morph. Choosing a
   stone or metal changes the CSS custom properties on THIS gem only
   (set inline by the component); the colour transition below is what
   makes the change read as a real material swap rather than a swap
   cut. A small sparkle burst plays once on every change. */
.fs-gm-bd-preview-gem .fs-gm-cutgem-body,
.fs-gm-bd-preview-gem .fs-gm-cutgem-facet{
  transition:fill .45s ease;
}
.fs-gm-bd-preview-gem .fs-gm-cutgem-table{
  transition:stroke .45s ease;
}
.fs-gm-anim .fs-gm-bd-preview-gem{animation:fs-gm-set .5s ease-out;}
.fs-gm-bd-card-t{
  font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));text-align:left;
}
.fs-gm-bd-figure{
  margin-top:.6rem;text-align:left;
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(1.8rem, 3.6vw, 2.5rem);line-height:1.05;
  font-variant-numeric:tabular-nums;
}
.fs-gm-bd-figure-l{margin-top:.45rem;text-align:left;font-size:.86rem;color:rgb(var(--c-ink-700));}
.fs-gm-bd-inc-t{
  margin-top:1.3rem;padding-top:1.1rem;border-top:1px solid rgb(var(--c-line) / .7);
  text-align:left;
  font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-gm-bd-inc{list-style:none;margin:.7rem 0 0;padding:0;display:grid;gap:.55rem;text-align:left;}
.fs-gm-bd-inc li{position:relative;padding-left:1.15rem;font-size:.9rem;line-height:1.55;color:rgb(var(--c-ink-700));}
.fs-gm-bd-inc li::before{
  content:'';position:absolute;left:0;top:.5em;
  width:.4em;height:.4em;background:rgb(var(--c-accent, var(--c-brand-600)));
  clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);
}
.fs-gm-bd-cta{margin-top:1.4rem;width:100%;}
.fs-gm-bd-note{margin-top:.9rem;font-size:.8rem;line-height:1.55;color:rgb(var(--c-ink-400));}

/* ═══ CARE — hallmark / grading / sourcing panel ════════════════*/
.fs-gm-cr{padding:clamp(2.75rem, 6vw, 4.75rem) clamp(1.25rem, 5vw, 4rem);}
.fs-gm-cr-head{max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-gm-cr-grid{
  max-width:var(--fs-layout-max,72rem);margin:2.2rem auto 0;
  display:grid;grid-template-columns:repeat(auto-fit, minmax(15rem, 1fr));gap:1.4rem;
}
.fs-gm-cr-card{padding:1.4rem 1.5rem 1.55rem;display:flex;flex-direction:column;gap:.55rem;}
.fs-gm-cr-t{font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:1.15rem;margin:0;}
.fs-gm-cr-b{font-size:.88rem;line-height:1.6;color:rgb(var(--c-ink-700));}
.fs-gm-cr-card .fs-gm-link{margin-top:auto;padding-top:.4rem;font-size:.82rem;align-self:flex-start;}

/* ═══ JOURNEY — roundels on a spine ═════════════════════════════*/
.fs-gm-jn{padding:clamp(2.75rem, 6vw, 4.75rem) clamp(1.25rem, 5vw, 4rem);}
.fs-gm-jn-head{max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-gm-jn-list{
  max-width:var(--fs-layout-max,72rem);margin:2.4rem auto 0;padding:0;list-style:none;
  display:grid;grid-template-columns:repeat(5, minmax(0, 1fr));gap:1.3rem;
  position:relative;
}
.fs-gm-jn-list::before{content:'';position:absolute;left:0;right:0;top:1.15rem;border-top:1px solid rgb(var(--c-line));}
.fs-gm-jn-step{position:relative;min-width:0;padding-top:3.3rem;}
.fs-gm-jn-roundel{
  position:absolute;left:0;top:0;
  width:2.3rem;height:2.3rem;
  display:grid;place-items:center;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  color:rgb(var(--c-paper));
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);
  font-family:var(--font-display, Georgia, serif);
  font-size:1.02rem;
  box-shadow:0 0 0 5px rgb(var(--c-paper));
}
/* the ring device the SET keyframe animates */
.fs-gm-jn-ring{
  position:absolute;inset:0;
  clip-path:inherit;
  box-shadow:0 0 0 0 rgb(var(--c-accent, var(--c-brand-600)) / 0);
}
.fs-gm-anim .fs-gm-jn-step:nth-child(1) .fs-gm-jn-ring{animation:fs-gm-set .7s ease-out .1s both;}
.fs-gm-anim .fs-gm-jn-step:nth-child(2) .fs-gm-jn-ring{animation:fs-gm-set .7s ease-out .22s both;}
.fs-gm-anim .fs-gm-jn-step:nth-child(3) .fs-gm-jn-ring{animation:fs-gm-set .7s ease-out .34s both;}
.fs-gm-anim .fs-gm-jn-step:nth-child(4) .fs-gm-jn-ring{animation:fs-gm-set .7s ease-out .46s both;}
.fs-gm-anim .fs-gm-jn-step:nth-child(5) .fs-gm-jn-ring{animation:fs-gm-set .7s ease-out .58s both;}
.fs-gm-jn-mark{display:block;font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgb(var(--c-accent, var(--c-brand-600)));}
.fs-gm-jn-t{margin:.35rem 0 0;font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:1.2rem;}
.fs-gm-jn-b{margin-top:.5rem;font-size:.88rem;line-height:1.6;color:rgb(var(--c-ink-700));}

/* ═══ CTA — the closing card ════════════════════════════════════*/
.fs-gm-cta{padding:clamp(2.75rem, 6vw, 4.75rem) clamp(1.25rem, 5vw, 4rem);}
.fs-gm-cta-panel{
  position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto;
  background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));
  clip-path:polygon(1.8rem 0,100% 0,100% 100%,0 100%,0 1.8rem);
  padding:clamp(2.2rem, 5vw, 3.6rem);
  display:grid;grid-template-columns:minmax(0, 8fr) minmax(0, 3fr);
  gap:2rem;align-items:center;
  box-shadow:var(--fs-shadow-lift, none);
}
.fs-gm-cta-inner{position:relative;z-index:1;min-width:0;}
.fs-gm-cta-eyebrow{color:rgb(var(--c-paper) / .85);}
.fs-gm-cta-eyebrow::before{background:rgb(var(--c-paper) / .75);}
.fs-gm-cta-title{font-size:clamp(1.9rem, 4vw, 2.9rem);}
.fs-gm-cta-sub{color:rgb(var(--c-paper) / .85);}
.fs-gm-btn-oncta{background:rgb(var(--c-paper));color:rgb(var(--c-brand-700));}
.fs-gm-btn-oncta:hover{background:rgb(var(--c-paper) / .88);}
.fs-gm-link-oncta{color:rgb(var(--c-paper));box-shadow:inset 0 -1px 0 rgb(var(--c-paper) / .6);font-variant-numeric:tabular-nums;}
.fs-gm-link-oncta:hover{color:rgb(var(--c-paper));box-shadow:inset 0 -2px 0 rgb(var(--c-paper));}
.fs-gm-cta-note{margin-top:1.1rem;font-size:.8rem;color:rgb(var(--c-paper) / .7);}
.fs-gm-cta-device{
  position:relative;z-index:1;min-width:0;justify-self:center;
  color:rgb(var(--c-paper));
}
.fs-gm-cta-device .fs-gm-cutgem-body{fill:rgb(var(--c-paper));fill-opacity:.16;}
.fs-gm-cta-device .fs-gm-cutgem-facet{fill:rgb(var(--c-paper));fill-opacity:.24;stroke:rgb(var(--c-paper) / .8);}
.fs-gm-cta-device .fs-gm-cutgem-table{stroke:rgb(var(--c-paper));}
.fs-gm-anim .fs-gm-cta-device .fs-gm-cutgem-facet{animation:fs-gm-facet-glint 5.6s ease-in-out infinite;}

/* ── Entrance motion — one grammar, the SET applied to whole panels
   on first reveal (a piece settling into its mount), separate from
   the per-block micro-animations above. Deliberately small. ────── */
@keyframes fs-gm-mount{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
.fs-gm-anim .fs-gm-hero-copy{animation:fs-gm-mount .55s cubic-bezier(.2,.7,.3,1) both;}
.fs-gm-anim .fs-gm-hero-gem{animation:fs-gm-mount .55s cubic-bezier(.2,.7,.3,1) .15s both, fs-gm-facet-glint 5.6s ease-in-out .55s infinite;}
.fs-gm-anim .fs-gm-pc-card:nth-child(1){animation:fs-gm-mount .5s cubic-bezier(.2,.7,.3,1) both;}
.fs-gm-anim .fs-gm-pc-card:nth-child(2){animation:fs-gm-mount .5s cubic-bezier(.2,.7,.3,1) .08s both;}
.fs-gm-anim .fs-gm-pc-card:nth-child(3){animation:fs-gm-mount .5s cubic-bezier(.2,.7,.3,1) .16s both;}

@media (prefers-reduced-motion: reduce){
  .fs-gm-anim .fs-gm-hero-copy, .fs-gm-anim .fs-gm-hero-gem,
  .fs-gm-anim .fs-gm-pc-card, .fs-gm-anim .fs-gm-bd-preview-gem,
  .fs-gm-anim .fs-gm-jn-ring{ animation:none !important; }
  .fs-gm-anim .fs-gm-hero-gem .fs-gm-cutgem-facet,
  .fs-gm-anim .fs-gm-cta-device .fs-gm-cutgem-facet{ animation:none !important; fill-opacity:.4 !important; }
  .fs-gm-anim .fs-gm-pc-card{ transform:none !important; }
  .fs-gm-pc-sheen{ transition:none !important; }
  .fs-gm-seg-b{ transition:border-color .01s, background-color .01s, color .01s !important; }
  .fs-gm-btn:active{ transform:none; }
}

/* ── Responsive ─────────────────────────────────────────────────*/
@media (max-width:960px){
  .fs-gm-hero-inner{grid-template-columns:1fr;gap:2.6rem;}
  .fs-gm-hero-stage{min-height:20rem;}
  .fs-gm-bd-grid{grid-template-columns:1fr;}
  .fs-gm-jn-list{grid-template-columns:1fr;gap:0;}
  .fs-gm-jn-list::before{left:1.15rem;right:auto;top:0;bottom:0;border-top:0;border-left:1px solid rgb(var(--c-line));}
  .fs-gm-jn-step{padding:0 0 1.6rem 3.4rem;}
  .fs-gm-jn-step:last-child{padding-bottom:0;}
  .fs-gm-cta-panel{grid-template-columns:1fr;}
  .fs-gm-cta-device{display:none;}
}
@media (max-width:900px){
  .fs-gm-pc-grid{grid-template-columns:1fr;}
}

/* ── favGemFooter (theme-chrome batch 3, Facet) ─────────────────────
   fs-gm-ft: the velvet band (named container) — the strip's ground, dark
   in every palette and mode; fs-gm-ft-in: the content box (named
   container). The tray's compartments are bevel-cut cases with the cut
   drawn in sapphire (a background layer, so it survives the clip). */
.fs-gm-ft{container-type:inline-size;container-name:fs-gm-ft;padding:0 clamp(1rem,4vw,2.5rem);--gm-ft-velvet:rgb(var(--c-ink-950));--gm-ft-on:color-mix(in srgb, rgb(var(--c-paper)) 95%, rgb(var(--c-ink-950)));--gm-ft-muted:color-mix(in srgb, var(--gm-ft-on) 72%, var(--gm-ft-velvet));--gm-ft-gold:color-mix(in srgb, rgb(var(--c-brand-600)) 50%, var(--gm-ft-on));--gm-ft-sapph:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 40%, var(--gm-ft-on));--gm-ft-line:color-mix(in srgb, var(--gm-ft-gold) 30%, transparent);--gm-ft-lift:color-mix(in srgb, var(--gm-ft-on) 3.5%, transparent);background:var(--gm-ft-velvet);color:var(--gm-ft-on)}
.fs-gm-ft:is(.dark *):not(.fs-preview-light *){--gm-ft-velvet:rgb(var(--c-paper));--gm-ft-on:rgb(var(--c-ink-950));--gm-ft-gold:rgb(var(--c-brand-600));--gm-ft-sapph:rgb(var(--c-accent, var(--c-brand-600)));--gm-ft-line:color-mix(in srgb, var(--gm-ft-gold) 28%, transparent);--gm-ft-lift:color-mix(in srgb, var(--gm-ft-on) 3%, transparent)}
.fs-gm-ft-in{container-type:inline-size;container-name:fs-gm-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:58px 30px}
.fs-gm-ft-comp{--gm-ft-cut:16px;min-width:0;padding:20px 20px 22px;border:1px solid var(--gm-ft-line);clip-path:polygon(var(--gm-ft-cut) 0,100% 0,100% 100%,0 100%,0 var(--gm-ft-cut));background:linear-gradient(135deg,transparent 50%,var(--gm-ft-sapph) 50%,var(--gm-ft-sapph) calc(50% + 1px),transparent calc(50% + 1px)) 0 0/var(--gm-ft-cut) var(--gm-ft-cut) no-repeat border-box,var(--gm-ft-lift)}
.fs-gm-ft-mark{display:block;width:var(--gm-ft-fmark,64px);height:var(--gm-ft-fmark,64px)}
.fs-gm-ft-m-line{stroke:var(--gm-ft-gold)}
.fs-gm-ft-m-table{fill:var(--gm-ft-sapph);fill-opacity:.55;animation:fs-gm-ft-table 5.6s ease-in-out infinite}
@keyframes fs-gm-ft-table{0%,90%,100%{fill-opacity:.55}5%{fill-opacity:.95}}
.fs-gm-ft-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px 26px;padding-bottom:28px;background:linear-gradient(var(--gm-ft-sapph),var(--gm-ft-sapph)) 0 100%/2.4rem 3px no-repeat,linear-gradient(var(--gm-ft-line),var(--gm-ft-line)) 0 calc(100% - 1px)/100% 1px no-repeat}
.fs-gm-ft-name{margin:0;font-family:var(--font-display, 'Didot', 'Bodoni 72', Georgia, serif);font-weight:400;font-size:var(--gm-ft-fname,36px);line-height:1.05;letter-spacing:.15em;text-transform:uppercase;color:var(--gm-ft-on)}
.fs-gm-ft-state{margin:8px 0 0;max-width:52ch;font-size:15px;line-height:1.5;color:var(--gm-ft-muted)}
.fs-gm-ft-call{text-align:right}
.fs-gm-ft-tel{display:block;font-family:var(--font-display, 'Didot', 'Bodoni 72', Georgia, serif);font-weight:400;font-size:var(--gm-ft-ftel,32px);line-height:1.05;letter-spacing:.02em;color:var(--gm-ft-gold);white-space:nowrap;font-variant-numeric:lining-nums;text-decoration:none}
.fs-gm-ft-callnote{margin:6px 0 0;font-size:13px;color:var(--gm-ft-muted)}
.fs-gm-ft-tray{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr) minmax(0,1fr) minmax(0,1.1fr);gap:12px;margin-top:30px}
.fs-gm-ft-h{margin:0 0 12px;display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:11px;line-height:1.25;letter-spacing:.22em;text-transform:uppercase;color:var(--gm-ft-sapph)}
.fs-gm-ft-h::before{content:"";flex:none;width:7px;height:7px;background:currentColor;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.fs-gm-ft-rep{margin:0}
.fs-gm-ft-rrow{padding-block:7px;border-bottom:1px solid var(--gm-ft-line)}
.fs-gm-ft-rrow:first-child{padding-top:0}
.fs-gm-ft-rrow:last-child{border-bottom:0;padding-bottom:0}
.fs-gm-ft-dt{font-weight:600;font-size:10.5px;line-height:1.3;letter-spacing:.16em;text-transform:uppercase;color:var(--gm-ft-muted)}
.fs-gm-ft-dd{margin:3px 0 0;font-size:14.5px;line-height:1.45;color:var(--gm-ft-on)}
.fs-gm-ft-links{list-style:none;margin:0;padding:0}
.fs-gm-ft-li + .fs-gm-ft-li{border-top:1px solid var(--gm-ft-line)}
.fs-gm-ft-link{display:block;margin:0;padding-block:8px;font-weight:400;font-size:19px;line-height:1.2;font-family:var(--font-display, 'Didot', 'Bodoni 72', Georgia, serif);letter-spacing:.01em;color:var(--gm-ft-on);text-decoration:none;transition:color .18s ease}
.fs-gm-ft-li:first-child .fs-gm-ft-link{padding-top:0}
.fs-gm-ft-link:is(:hover,:focus-visible){color:var(--gm-ft-gold)}
.fs-gm-ft-p{margin:0;font-size:14px;line-height:1.55;color:var(--gm-ft-muted)}
.fs-gm-ft-benches{list-style:none;margin:12px 0 0;padding:0}
.fs-gm-ft-bench{padding-block:7px;border-top:1px solid var(--gm-ft-line)}
.fs-gm-ft-bname{display:block;margin:0;font-family:var(--font-display, 'Didot', 'Bodoni 72', Georgia, serif);font-weight:400;font-size:19px;line-height:1.2;color:var(--gm-ft-on)}
.fs-gm-ft-brole{display:block;margin-top:2px;font-size:12.5px;letter-spacing:.04em;color:var(--gm-ft-muted)}
.fs-gm-ft-creds{display:grid;gap:5px;margin-top:12px}
.fs-gm-ft-cred{position:relative;padding-left:14px;font-size:12.5px;font-weight:600;letter-spacing:.05em;color:var(--gm-ft-on);white-space:normal}
.fs-gm-ft-cred::before{content:"";position:absolute;left:0;top:calc(.65em - 3px);width:6px;height:6px;background:var(--gm-ft-sapph);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.fs-gm-ft-ico{display:inline-block;margin-top:12px;padding-bottom:2px;font-weight:600;font-size:13.5px;line-height:1.3;color:var(--gm-ft-on);box-shadow:inset 0 -1px 0 var(--gm-ft-sapph);text-decoration:none;transition:color .18s ease}
.fs-gm-ft-ico:is(:hover,:focus-visible){color:var(--gm-ft-gold)}
.fs-gm-ft-legal{display:flex;flex-wrap:wrap;gap:6px 20px;margin:26px 0 0;font-size:12.5px;color:var(--gm-ft-muted)}
.fs-gm-ft-legal-t{margin-right:auto;color:inherit}
.fs-gm-ft-legal-a{color:inherit;text-decoration:none}
.fs-gm-ft-legal-a:is(:hover,:focus-visible){color:var(--gm-ft-on);text-decoration:underline}
.fs-gm-ft :focus-visible{outline-color:var(--gm-ft-gold)}
@container fs-gm-ft (max-width: 40rem){
  .fs-gm-ft-in{padding-block:42px 26px}
}
/* Boxed (928) keeps the four compartments; they tighten so the Explore
   links hold one line. */
@container fs-gm-ft-in (max-width: 62rem){
  .fs-gm-ft-comp{padding-inline:16px}
  .fs-gm-ft-link{font-size:17px}
  .fs-gm-ft-tray{grid-template-columns:minmax(0,1.1fr) minmax(0,.95fr) minmax(0,1fr) minmax(0,1.05fr)}
}
@container fs-gm-ft-in (max-width: 56rem){
  .fs-gm-ft-tray{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-gm-ft-top{grid-template-columns:auto minmax(0,1fr);--gm-ft-fname:32px}
  .fs-gm-ft-call{grid-column:2;text-align:left}
}
@container fs-gm-ft (max-width: 48rem){
  .fs-gm-ft-tray{grid-template-columns:minmax(0,1fr)}
  .fs-gm-ft-top{align-items:start;--gm-ft-fname:28px;--gm-ft-fmark:48px;column-gap:16px}
}
@container fs-gm-ft (max-width: 30rem){
  .fs-gm-ft-top{--gm-ft-fname:24px;--gm-ft-ftel:30px}
  .fs-gm-ft-legal-t{flex-basis:100%}
}
@media (prefers-reduced-motion: reduce){
  .fs-gm-ft-m-table{animation:none}
  .fs-gm-ft-link,.fs-gm-ft-ico{transition:none}
}


.fs-bd{
  position:relative;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-bd *{box-sizing:border-box;}

/* ── Shared type ────────────────────────────────────────────────
   Serif display at 400 with tight leading; the accent is ITALIC in
   the same ink — stationery raises its voice with an italic, not a
   colour. Labels are small caps with wide tracking. */
.fs-bd-eyebrow{
  display:inline-flex;align-items:center;gap:.65rem;
  color:rgb(var(--c-accent, var(--c-brand-600)));
  font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
}
.fs-bd-eyebrow::before{
  content:'';width:2rem;height:1px;flex:none;
  background:rgb(var(--c-accent, var(--c-brand-600)) / .85);
}
.fs-bd-title{
  margin:1.05rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-weight:400;
  font-size:clamp(2rem, 4.6vw, 3.4rem);
  line-height:1.08;
  letter-spacing:-0.01em;
  text-wrap:balance;
}
.fs-bd-accent{font-style:italic;font-weight:400;}
.fs-bd-h{
  margin:.9rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-weight:400;
  font-size:clamp(1.65rem, 3.2vw, 2.4rem);
  line-height:1.12;
  text-wrap:balance;
}
.fs-bd-sub{
  margin-top:1rem;
  max-width:56ch;
  font-size:1.02rem;line-height:1.65;
  color:rgb(var(--c-ink-700));
}

/* ── Buttons & links ────────────────────────────────────────────*/
.fs-bd-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:2.75rem;padding:.62em 1.5em;cursor:pointer;
  background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));
  border-radius:var(--fs-radius-control, 2px);
  font-weight:600;font-size:.95rem;letter-spacing:.02em;
  transition:background-color .18s ease, transform .18s cubic-bezier(.2,.7,.3,1);
}
.fs-bd-btn:hover{background:rgb(var(--c-brand-700));}
.fs-bd-btn:active{transform:translateY(1px);}
.fs-bd-link{
  display:inline-flex;align-items:center;gap:.45em;cursor:pointer;
  color:rgb(var(--c-ink-950));font-weight:600;font-size:.95rem;
  box-shadow:inset 0 -1px 0 rgb(var(--c-accent, var(--c-brand-600)));
  padding-bottom:2px;
  transition:color .18s ease, box-shadow .18s ease;
}
.fs-bd-link:hover{
  color:rgb(var(--c-brand-600));
  box-shadow:inset 0 -2px 0 rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-bd-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:1.4rem;margin-top:1.7rem;}

/* ── Motif 1 · THE KEYLINE MOUNT ────────────────────────────────
   A card is a surface with a hairline mounted 9px inside its edge.
   The inner line, not the outer border, is what says "Board". */
.fs-bd-card{
  position:relative;
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line));
  border-radius:var(--fs-radius-card, 2px);
  box-shadow:var(--fs-shadow-card, none);
}
.fs-bd-card::after{
  content:'';position:absolute;inset:9px;pointer-events:none;
  border:1px solid rgb(var(--c-line) / .7);
  border-radius:calc(var(--fs-radius-card, 2px) / 2);
}

/* ── Motif 2 · THE SLIP ─────────────────────────────────────────*/
.fs-bd-slip{
  display:inline-block;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  color:rgb(var(--c-paper));
  font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  padding:.42em 1em;
  transform:rotate(-3.5deg);
  box-shadow:0 2px 8px -2px rgb(var(--c-ink-950) / .3);
}

/* ═══ HERO ══════════════════════════════════════════════════════*/
.fs-bd-hero{padding:clamp(3rem, 7vw, 5.5rem) clamp(1.25rem, 5vw, 4rem);}
.fs-bd-hero-inner{
  max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:minmax(0, 7fr) minmax(0, 5fr);
  gap:3.5rem;align-items:center;
}
.fs-bd-hero-copy{min-width:0;}
.fs-bd-creds{
  display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;margin-top:2rem;
  padding-top:1.1rem;border-top:1px solid rgb(var(--c-line));
}
.fs-bd-cred{
  position:relative;padding-left:1rem;
  font-size:.8rem;font-weight:600;letter-spacing:.06em;
  color:rgb(var(--c-ink-700));
}
.fs-bd-cred::before{
  content:'';position:absolute;left:0;top:.42em;
  width:.42em;height:.42em;border-radius:50%;
  background:rgb(var(--c-accent, var(--c-brand-600)));
}

/* The stage: art behind, the BOARD standing in front. */
.fs-bd-hero-stage{position:relative;min-width:0;min-height:24rem;}
.fs-bd-hero-art{
  position:absolute;inset:0 0 0 18%;
  border:1px solid rgb(var(--c-line));
  border-radius:var(--fs-radius-card, 2px);
  overflow:hidden;
  box-shadow:var(--fs-shadow-card, none);
}
.fs-bd-hero-art img{width:100%;height:100%;object-fit:cover;display:block;}
.fs-bd-hero-art-fallback{
  position:absolute;inset:0;display:block;
  background:
    linear-gradient(180deg, rgb(var(--c-brand-600) / .16), rgb(var(--c-brand-600) / .5)),
    rgb(var(--c-paper-soft));
}
/* the board itself — palette-aware CSS drawing */
.fs-bd-board{
  position:absolute;left:0;bottom:14%;
  width:min(15rem, 72%);
  background:rgb(var(--c-paper-soft));
  border:2px solid rgb(var(--c-ink-950));
  border-radius:var(--fs-radius-card, 2px);
  padding:0 0 1.1rem;
  box-shadow:var(--fs-shadow-lift, 0 10px 28px -12px rgb(var(--c-ink-950) / .35));
}
.fs-bd-board-head{
  background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));
  font-family:var(--font-display, Georgia, serif);
  font-size:1rem;letter-spacing:.34em;text-transform:uppercase;text-align:center;
  padding:.55em 0 .5em .34em;
}
.fs-bd-board-line1{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.9rem;line-height:1.1;text-align:center;margin-top:.55em;
}
.fs-bd-board-line2{
  font-size:.72rem;color:rgb(var(--c-ink-700));text-align:center;margin-top:.45em;
  letter-spacing:.04em;
}
.fs-bd-board-slip{position:absolute;left:-1rem;bottom:2.1rem;}
.fs-bd-board-post{
  position:absolute;left:50%;top:100%;transform:translateX(-50%);
  width:7px;height:3.4rem;
  background:rgb(var(--c-ink-950) / .85);
}

/* ═══ PAGE HEADER ═══════════════════════════════════════════════*/
.fs-bd-hd{padding:clamp(2.6rem, 6vw, 4.5rem) clamp(1.25rem, 5vw, 4rem) clamp(1.8rem, 4vw, 2.8rem);}
.fs-bd-hd-inner{max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-bd-hd-title{font-size:clamp(1.9rem, 4vw, 3rem);}
.fs-bd-hd-rule{
  display:block;margin-top:1.6rem;height:5px;
  border-top:2px solid rgb(var(--c-ink-950));
  border-bottom:1px solid rgb(var(--c-ink-950) / .45);
}

/* ═══ LISTINGS — the window cards ═══════════════════════════════*/
.fs-bd-ls{padding:clamp(2.75rem, 6vw, 4.75rem) clamp(1.25rem, 5vw, 4rem);}
.fs-bd-ls-head{max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-bd-ls-grid{
  max-width:var(--fs-layout-max,72rem);margin:2.2rem auto 0;
  display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:1.4rem;
}
.fs-bd-ls-card{display:flex;flex-direction:column;overflow:visible;}
.fs-bd-ls-photo{
  position:relative;margin:9px 9px 0;
  aspect-ratio:4 / 3;
  overflow:visible;
}
.fs-bd-ls-photo img{
  width:100%;height:100%;object-fit:cover;display:block;
  border:1px solid rgb(var(--c-line));
}
.fs-bd-ls-photo-fallback{
  position:absolute;inset:0;display:block;
  border:1px solid rgb(var(--c-line));
  background:
    linear-gradient(160deg, rgb(var(--c-brand-600) / .12), rgb(var(--c-brand-600) / .34)),
    rgb(var(--c-paper));
}
.fs-bd-ls-slip{position:absolute;top:.8rem;left:-.9rem;}
.fs-bd-ls-body{display:flex;flex-direction:column;flex:1;padding:1.1rem 1.25rem 1.35rem;}
.fs-bd-ls-price{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.7rem;line-height:1.1;
}
.fs-bd-ls-addr{margin-top:.3rem;font-weight:600;font-size:.95rem;}
.fs-bd-ls-meta{
  margin-top:.55rem;padding-top:.55rem;
  border-top:1px solid rgb(var(--c-line) / .7);
  font-size:.74rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-bd-ls-blurb{margin-top:.7rem;font-size:.9rem;line-height:1.6;color:rgb(var(--c-ink-700));}
.fs-bd-ls-cta{margin-top:auto;padding-top:1rem;align-self:flex-start;font-size:.88rem;}

/* ═══ VALUATION — the guide-range builder ═══════════════════════*/
.fs-bd-vl{padding:clamp(2.75rem, 6vw, 4.75rem) clamp(1.25rem, 5vw, 4rem);}
.fs-bd-vl-head{max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-bd-vl-grid{
  max-width:var(--fs-layout-max,72rem);margin:2.2rem auto 0;
  display:grid;grid-template-columns:minmax(0, 7fr) minmax(0, 5fr);
  gap:2.4rem;align-items:start;
}
.fs-bd-vl-form{min-width:0;display:grid;gap:1.7rem;}
.fs-bd-vl-q{border:0;margin:0;padding:0;min-width:0;}
.fs-bd-vl-l{
  display:flex;align-items:baseline;gap:.7rem;margin-bottom:.8rem;padding:0;
  font-weight:600;font-size:1.02rem;
}
.fs-bd-vl-n{
  font-family:var(--font-display, Georgia, serif);
  font-size:.85rem;color:rgb(var(--c-accent, var(--c-brand-600)));
  letter-spacing:.08em;
}
.fs-bd-seg{display:flex;flex-wrap:wrap;gap:.55rem;}
.fs-bd-seg-b{
  appearance:none;cursor:pointer;
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line));
  border-radius:var(--fs-radius-control, 2px);
  color:rgb(var(--c-ink-700));
  font:inherit;font-size:.92rem;font-weight:500;
  padding:.55em 1.05em;min-height:2.5rem;
  transition:border-color .16s ease, background-color .16s ease, color .16s ease;
}
.fs-bd-seg-b:hover{border-color:rgb(var(--c-brand-600) / .6);color:rgb(var(--c-ink-950));}
.fs-bd-seg-b:focus-visible{outline:2px solid rgb(var(--c-accent, var(--c-brand-600)));outline-offset:2px;}
.fs-bd-seg-b[data-on="1"]{
  background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));
  color:rgb(var(--c-paper));font-weight:600;
}
.fs-bd-vl-hint{font-size:.86rem;color:rgb(var(--c-ink-400));font-style:italic;}

.fs-bd-vl-card{padding:1.6rem 1.7rem 1.7rem;}
.fs-bd-vl-card-t{
  font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-bd-vl-figure{
  margin-top:.7rem;
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(1.7rem, 3.4vw, 2.4rem);line-height:1.1;
  font-variant-numeric:tabular-nums;
}
.fs-bd-vl-dash{padding:0 .18em;color:rgb(var(--c-accent, var(--c-brand-600)));}
.fs-bd-vl-figure-l{margin-top:.5rem;font-size:.88rem;color:rgb(var(--c-ink-700));}
.fs-bd-vl-inc-t{
  margin-top:1.3rem;padding-top:1.1rem;border-top:1px solid rgb(var(--c-line) / .7);
  font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-bd-vl-inc{list-style:none;margin:.7rem 0 0;padding:0;display:grid;gap:.55rem;}
.fs-bd-vl-inc li{
  position:relative;padding-left:1.2rem;
  font-size:.9rem;line-height:1.55;color:rgb(var(--c-ink-700));
}
.fs-bd-vl-inc li::before{
  content:'';position:absolute;left:0;top:.5em;
  width:.42em;height:.42em;border-radius:50%;
  background:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-bd-vl-cta{margin-top:1.4rem;width:100%;}
.fs-bd-vl-note{margin-top:.9rem;font-size:.8rem;line-height:1.55;color:rgb(var(--c-ink-400));}

/* ═══ FEES — the ledger ═════════════════════════════════════════*/
.fs-bd-fe{padding:clamp(2.75rem, 6vw, 4.75rem) clamp(1.25rem, 5vw, 4rem);}
.fs-bd-fe-head{max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-bd-fe-grid{
  max-width:var(--fs-layout-max,72rem);margin:2.2rem auto 0;
  display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.4rem;
  align-items:stretch;
}
.fs-bd-fe-sales, .fs-bd-fe-lets{padding:1.6rem 1.7rem 1.7rem;}
.fs-bd-fe-col-t{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.3rem;
  padding-bottom:.8rem;margin-bottom:1.1rem;
  border-bottom:2px solid rgb(var(--c-ink-950));
}
.fs-bd-fe-big{
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(2.6rem, 5vw, 3.6rem);line-height:1;
  color:rgb(var(--c-brand-600));
  font-variant-numeric:tabular-nums;
}
.fs-bd-fe-big-m{
  margin-top:.5rem;font-size:.78rem;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-bd-fe-body{margin-top:1rem;font-size:.94rem;line-height:1.62;color:rgb(var(--c-ink-700));}
.fs-bd-fe-list{list-style:none;margin:1.1rem 0 0;padding:0;display:grid;gap:.55rem;}
.fs-bd-fe-list li{
  position:relative;padding-left:1.2rem;
  font-size:.9rem;line-height:1.55;color:rgb(var(--c-ink-700));
}
.fs-bd-fe-list li::before{
  content:'';position:absolute;left:0;top:.5em;
  width:.42em;height:.42em;border-radius:50%;
  background:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-bd-fe-row{padding:1rem 0;border-bottom:1px solid rgb(var(--c-line) / .7);}
.fs-bd-fe-row:last-child{border-bottom:0;padding-bottom:0;}
.fs-bd-fe-row-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;}
.fs-bd-fe-row-n{font-weight:600;font-size:1rem;}
.fs-bd-fe-row-p{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.5rem;color:rgb(var(--c-brand-600));
  font-variant-numeric:tabular-nums;
}
.fs-bd-fe-row-m{
  margin-top:.15rem;font-size:.72rem;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;color:rgb(var(--c-ink-400));
}
.fs-bd-fe-row-b{margin-top:.5rem;font-size:.88rem;line-height:1.58;color:rgb(var(--c-ink-700));}
.fs-bd-fe-compliance{
  max-width:var(--fs-layout-max,72rem);margin:1.4rem auto 0;
  padding:.9rem 1.1rem;
  border:1px solid rgb(var(--c-line));
  border-left:3px solid rgb(var(--c-accent, var(--c-brand-600)));
  font-size:.82rem;line-height:1.6;color:rgb(var(--c-ink-700));
  background:rgb(var(--c-brand-50) / .5);
}

/* ═══ JOURNEY — roundels on a spine ═════════════════════════════*/
.fs-bd-jn{padding:clamp(2.75rem, 6vw, 4.75rem) clamp(1.25rem, 5vw, 4rem);}
.fs-bd-jn-head{max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-bd-jn-list{
  max-width:var(--fs-layout-max,72rem);margin:2.4rem auto 0;padding:0;list-style:none;
  display:grid;grid-template-columns:repeat(5, minmax(0, 1fr));gap:1.3rem;
  position:relative;
}
.fs-bd-jn-list::before{
  content:'';position:absolute;left:0;right:0;top:1.15rem;
  border-top:1px solid rgb(var(--c-line));
}
.fs-bd-jn-step{position:relative;min-width:0;padding-top:3.3rem;}
.fs-bd-jn-roundel{
  position:absolute;left:0;top:0;
  width:2.3rem;height:2.3rem;
  display:grid;place-items:center;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  color:rgb(var(--c-paper));
  border-radius:50%;
  font-family:var(--font-display, Georgia, serif);
  font-size:1.05rem;
  box-shadow:0 0 0 5px rgb(var(--c-paper));
}
.fs-bd-jn-mark{
  display:block;font-size:.7rem;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;
  color:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-bd-jn-t{
  margin:.35rem 0 0;
  font-family:var(--font-display, Georgia, serif);
  font-weight:400;font-size:1.2rem;
}
.fs-bd-jn-b{margin-top:.5rem;font-size:.88rem;line-height:1.6;color:rgb(var(--c-ink-700));}

/* ═══ CTA — the closing card ════════════════════════════════════*/
.fs-bd-cta{padding:clamp(2.75rem, 6vw, 4.75rem) clamp(1.25rem, 5vw, 4rem);}
.fs-bd-cta-panel{
  position:relative;
  max-width:var(--fs-layout-max,72rem);margin:0 auto;
  background:rgb(var(--c-brand-600));
  color:rgb(var(--c-paper));
  border-radius:var(--fs-radius-card, 2px);
  padding:clamp(2.2rem, 5vw, 3.6rem);
  overflow:hidden;
  display:grid;grid-template-columns:minmax(0, 8fr) minmax(0, 3fr);
  gap:2rem;align-items:center;
  box-shadow:var(--fs-shadow-lift, none);
}
/* the mount, reversed: hairline in paper on brand ground */
.fs-bd-cta-panel::after{
  content:'';position:absolute;inset:10px;pointer-events:none;
  border:1px solid rgb(var(--c-paper) / .35);
  border-radius:calc(var(--fs-radius-card, 2px) / 2);
}
.fs-bd-cta-inner{position:relative;z-index:1;min-width:0;}
.fs-bd-cta-eyebrow{color:rgb(var(--c-paper) / .85);}
.fs-bd-cta-eyebrow::before{background:rgb(var(--c-paper) / .6);}
.fs-bd-cta-title{font-size:clamp(1.9rem, 4vw, 2.9rem);}
.fs-bd-cta-sub{color:rgb(var(--c-paper) / .85);}
.fs-bd-btn-oncta{
  background:rgb(var(--c-paper));color:rgb(var(--c-brand-700));
}
.fs-bd-btn-oncta:hover{background:rgb(var(--c-paper) / .88);}
.fs-bd-link-oncta{
  color:rgb(var(--c-paper));
  box-shadow:inset 0 -1px 0 rgb(var(--c-paper) / .6);
  font-variant-numeric:tabular-nums;
}
.fs-bd-link-oncta:hover{color:rgb(var(--c-paper));box-shadow:inset 0 -2px 0 rgb(var(--c-paper));}
.fs-bd-cta-note{margin-top:1.1rem;font-size:.8rem;color:rgb(var(--c-paper) / .7);}

/* the miniature board, drawn in paper keylines */
.fs-bd-cta-device{
  position:relative;z-index:1;min-width:0;
  justify-self:center;
  width:9.5rem;height:8.5rem;
  border:2px solid rgb(var(--c-paper));
  border-radius:var(--fs-radius-card, 2px);
  background:rgb(var(--c-paper) / .08);
  padding:.7rem .8rem;
}
.fs-bd-cta-mini-head{
  display:block;height:1.1rem;
  background:rgb(var(--c-paper) / .9);
}
.fs-bd-cta-mini-line{
  display:block;height:.45rem;margin-top:.7rem;
  background:rgb(var(--c-paper) / .55);
}
.fs-bd-cta-mini-line2{width:62%;}
.fs-bd-cta-mini-slip{position:absolute;left:-1.1rem;bottom:1.6rem;}
.fs-bd-cta-mini-post{
  position:absolute;left:50%;top:100%;transform:translateX(-50%);
  width:6px;height:2.2rem;
  background:rgb(var(--c-paper) / .8);
}

/* ── Entrance motion — gated on .fs-bd-anim ─────────────────────
   One grammar: the card settles upward a few pixels as it mounts.
   Deliberately small; stationery does not tumble in. */
@keyframes fs-bd-mount{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
.fs-bd-anim .fs-bd-hero-copy{animation:fs-bd-mount .55s cubic-bezier(.2,.7,.3,1) both;}
.fs-bd-anim .fs-bd-board{animation:fs-bd-mount .55s cubic-bezier(.2,.7,.3,1) .15s both;}
.fs-bd-anim .fs-bd-ls-card:nth-child(1){animation:fs-bd-mount .5s cubic-bezier(.2,.7,.3,1) both;}
.fs-bd-anim .fs-bd-ls-card:nth-child(2){animation:fs-bd-mount .5s cubic-bezier(.2,.7,.3,1) .08s both;}
.fs-bd-anim .fs-bd-ls-card:nth-child(3){animation:fs-bd-mount .5s cubic-bezier(.2,.7,.3,1) .16s both;}
@media (prefers-reduced-motion: reduce){
  .fs-bd-anim .fs-bd-hero-copy, .fs-bd-anim .fs-bd-board,
  .fs-bd-anim .fs-bd-ls-card{animation:none;}
}

/* ── Responsive ─────────────────────────────────────────────────*/
@media (max-width:960px){
  .fs-bd-hero-inner{grid-template-columns:1fr;gap:2.6rem;}
  .fs-bd-hero-stage{min-height:20rem;}
  .fs-bd-vl-grid{grid-template-columns:1fr;}
  .fs-bd-fe-grid{grid-template-columns:1fr;}
  .fs-bd-jn-list{grid-template-columns:1fr;gap:0;}
  .fs-bd-jn-list::before{left:1.15rem;right:auto;top:0;bottom:0;border-top:0;border-left:1px solid rgb(var(--c-line));}
  .fs-bd-jn-step{padding:0 0 1.6rem 3.4rem;}
  .fs-bd-jn-step:last-child{padding-bottom:0;}
  .fs-bd-cta-panel{grid-template-columns:1fr;}
  .fs-bd-cta-device{display:none;}
}
@media (max-width:900px){
  .fs-bd-ls-grid{grid-template-columns:1fr;}
}

/* ── favBoardFooter (theme-chrome batch 5, Portico) ────────────────
   The band is the full-bleed container fs-bd-ft; the content box is the
   named container fs-bd-ft-in and carries the double keyline on its top
   edge, so its vertical spacing is margin, not padding. Tokens mirror
   the header's paint + metal: brand + brass in light, a deep accent
   board + gold in dark. */
.fs-bd-ft{container-type:inline-size;container-name:fs-bd-ft;padding:0 clamp(1rem,4vw,2.5rem);background:rgb(var(--c-paper));--bd-ft-paint:rgb(var(--c-brand-600));--bd-ft-on-paint:var(--fs-on-brand, rgb(var(--c-paper)));--bd-ft-brass:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 75%, rgb(var(--c-ink-950)));--bd-ft-on-brass:rgb(var(--c-paper));--bd-ft-rule:rgb(var(--c-ink-950) / .16);--bd-ft-note:color-mix(in srgb, rgb(var(--c-ink-950)) 76%, rgb(var(--c-paper)));--bd-ft-ink-hi:rgb(var(--c-brand-text))}
.fs-bd-ft:is(.dark *):not(.fs-preview-light *){--bd-ft-paint:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 20%, rgb(var(--c-paper)));--bd-ft-on-paint:rgb(var(--c-brand-600));--bd-ft-brass:rgb(var(--c-brand-600));--bd-ft-on-brass:var(--fs-on-brand, rgb(var(--c-paper)));--bd-ft-rule:rgb(var(--c-ink-950) / .18);--bd-ft-ink-hi:rgb(var(--c-brand-600))}
.fs-bd-ft-in{container-type:inline-size;container-name:fs-bd-ft-in;max-width:var(--fs-layout-max,72rem);margin:60px auto 30px;padding-top:36px;border-top:2px solid rgb(var(--c-ink-950));background:linear-gradient(rgb(var(--c-ink-950) / .45),rgb(var(--c-ink-950) / .45)) 0 3px/100% 1px no-repeat;font-size:15px;line-height:1.55}
.fs-bd-ft-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.05fr) minmax(0,1fr);gap:36px 44px}
.fs-bd-ft-col{min-width:0}
.fs-bd-ft-stand{display:grid;justify-items:center;align-content:start;padding-left:10px}
.fs-bd-ft-board{position:relative;width:100%;max-width:17.5rem;padding-bottom:26px;background:rgb(var(--c-paper-soft));border:2px solid rgb(var(--c-ink-950));text-align:center;box-shadow:0 12px 26px -16px rgb(0 0 0 / .45)}
.fs-bd-ft-head{display:block;margin:0;padding:9px 0 8px .34em;background:var(--bd-ft-paint);color:var(--bd-ft-on-paint);font:400 15px/1 var(--font-display, "Playfair Display",Georgia,serif);letter-spacing:.34em;text-transform:uppercase}
.fs-bd-ft-l1{display:block;margin:11px 0 0;font:400 30px/1.1 var(--font-display, "Playfair Display",Georgia,serif);color:rgb(var(--c-ink-950));font-variant-numeric:lining-nums}
.fs-bd-ft-l2{display:block;margin:6px 0 0;padding-inline:10px;font-size:12.5px;line-height:1.4;letter-spacing:.03em;color:var(--bd-ft-note)}
.fs-bd-ft-tel{color:inherit;text-decoration:none}
.fs-bd-ft-slip{position:absolute;left:-10px;bottom:-11px;display:inline-block;padding:6px 12px;background:var(--bd-ft-brass);color:var(--bd-ft-on-brass);font-weight:700;font-size:10.5px;line-height:1;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;transform:rotate(-3.5deg);box-shadow:0 3px 9px -3px rgb(0 0 0 / .35)}
.fs-bd-ft-post{display:block;width:7px;height:44px;background:rgb(var(--c-ink-950) / .85)}
.fs-bd-ft-ground{display:block;width:62%;height:1px;background:var(--bd-ft-rule)}
.fs-bd-ft-h{margin:0 0 14px;padding-bottom:10px;border-bottom:2px solid rgb(var(--c-ink-950));font:400 20px/1.2 var(--font-display, "Playfair Display",Georgia,serif)}
.fs-bd-ft-list{display:grid;gap:9px;list-style:none;margin:0;padding:0}
.fs-bd-ft-link{font-size:14.5px;line-height:1.4;color:rgb(var(--c-ink-950));text-decoration:none;box-shadow:inset 0 -1px 0 transparent;transition:box-shadow .18s ease}
.fs-bd-ft-link:hover{box-shadow:inset 0 -1px 0 var(--bd-ft-brass)}
.fs-bd-ft-p{margin:0;font-size:14.5px;line-height:1.5}
.fs-bd-ft-p+.fs-bd-ft-p{margin-top:10px}
.fs-bd-ft-note{font-size:13.5px;color:var(--bd-ft-note)}
.fs-bd-ft-b{font-weight:600}
.fs-bd-ft-checks{display:grid;gap:10px;list-style:none;margin:0;padding:0}
.fs-bd-ft-check{padding:9px 12px;border:1px solid var(--bd-ft-rule);border-left:3px solid var(--bd-ft-brass);font-size:13.5px;line-height:1.45;color:var(--bd-ft-note)}
.fs-bd-ft-check-n{display:block;font:400 17px/1.25 var(--font-display, "Playfair Display",Georgia,serif);color:rgb(var(--c-ink-950));text-decoration:none}
.fs-bd-ft-check-n:hover{color:var(--bd-ft-ink-hi)}
.fs-bd-ft-check-b{display:block}
.fs-bd-ft-legal{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 20px;margin-top:40px;padding-top:14px;border-top:1px solid var(--bd-ft-rule);font-size:12.5px;color:var(--bd-ft-note)}
.fs-bd-ft-legal-t{margin-right:auto}
.fs-bd-ft-legal-a{color:inherit;text-decoration:none}
.fs-bd-ft-legal-a:hover{color:rgb(var(--c-ink-950))}
@container fs-bd-ft (max-width: 40rem){
  .fs-bd-ft-in{margin-block:40px 24px}
}
@container fs-bd-ft-in (max-width: 56rem){
  .fs-bd-ft-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 36px}
}
@container fs-bd-ft (max-width: 48rem){
  .fs-bd-ft-grid{grid-template-columns:minmax(0,1fr);gap:34px}
  .fs-bd-ft-stand{padding-left:0}
  .fs-bd-ft-legal-t{flex-basis:100%}
}
@media (prefers-reduced-motion: reduce){
  .fs-bd-ft-link{transition:none}
}


.fs-cv{
  position:relative;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-cv *{box-sizing:border-box;}

/* ── The three motifs ───────────────────────────────────────────── */

/* THE NOTCH — the set's signature cut. Two variants so a run of plates
   never reads as a repeated stamp: tail cuts bottom-right, head cuts
   top-left. Kept at 1.15rem: big enough to be a decision, small enough
   to stay a detail. */
.fs-cv-notch{clip-path:polygon(0 0, 100% 0, 100% calc(100% - 1.15rem), calc(100% - 1.15rem) 100%, 0 100%);}
.fs-cv-notch-head{clip-path:polygon(1.15rem 0, 100% 0, 100% 100%, 0 100%, 0 1.15rem);}
.fs-cv-wire .fs-cv-notch,.fs-cv-wire .fs-cv-notch-head{clip-path:none;}

/* THE DOUBLE KEYLINE — thick border, hairline inset. Drawn with an
   inset box-shadow rather than a second element so it survives the
   notch's clip-path. */
.fs-cv-keyline{
  border:2px solid rgb(var(--c-ink-950));
  box-shadow:inset 0 0 0 1px rgb(var(--c-paper)), inset 0 0 0 2.6px rgb(var(--c-ink-950) / .38);
}
.fs-cv-wire .fs-cv-keyline{box-shadow:none;}

/* THE STITCH — the sewn edge of a patch. */
.fs-cv-stitch{
  height:0;border-top:2px dashed rgb(var(--c-accent, var(--c-brand-600)) / .75);
}
.fs-cv-wire .fs-cv-stitch{border-top-color:#111;}

/* ── Type ────────────────────────────────────────────────────────
   Slab small-caps: institutional without shouting. Graft's eyebrow is
   a solid stamped chip; this one is a bordered plate, because the whole
   set is screwed to a wall rather than sprayed on. */
.fs-cv-eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.38rem .8rem;
  border:2px solid rgb(var(--c-brand-600));
  color:rgb(var(--c-brand-600));
  background:rgb(var(--c-paper));
  font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
}
.fs-cv-title{
  margin:1.15rem 0 0;
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(2.15rem,5vw,3.5rem);
  line-height:1.08;font-weight:700;letter-spacing:-0.015em;
  color:rgb(var(--c-ink-950));
}
.fs-cv-accent{color:rgb(var(--c-brand-600));}
.fs-cv-sub{
  margin:1.1rem 0 0;max-width:var(--fs-measure, 58ch);
  font-size:clamp(1rem,1.4vw,1.1rem);line-height:1.62;
  color:rgb(var(--c-ink-700));
}
.fs-cv-h{
  margin:0;
  font-family:var(--font-display, Georgia, serif);
  font-size:var(--fs-type-h2, clamp(1.75rem,3.2vw,2.4rem));
  line-height:1.16;font-weight:700;letter-spacing:-0.012em;
  color:rgb(var(--c-ink-950));
}
.fs-cv-lede{margin:.75rem 0 0;max-width:var(--fs-measure, 62ch);font-size:1rem;line-height:1.62;color:rgb(var(--c-ink-700));}

/* ── Buttons — squared plates, no offset shadow (that is Graft's) ── */
.fs-cv-ctas{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.6rem;align-items:center;}
.fs-cv-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.85rem 1.6rem;
  font-size:.92rem;font-weight:700;line-height:1;white-space:nowrap;letter-spacing:.04em;
  color:rgb(var(--c-paper));
  background:rgb(var(--c-brand-600));
  border:2px solid rgb(var(--c-brand-600));
  transition:background .18s ease, color .18s ease, border-color .18s ease;
}
.fs-cv-btn:hover{background:rgb(var(--c-brand-700, var(--c-brand-600)));border-color:rgb(var(--c-brand-700, var(--c-brand-600)));}
.fs-cv-btn2{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.85rem 1.6rem;
  font-size:.92rem;font-weight:700;line-height:1;white-space:nowrap;letter-spacing:.04em;
  color:rgb(var(--c-ink-950));
  background:transparent;
  border:2px solid rgb(var(--c-ink-950));
  transition:background .18s ease, color .18s ease;
}
.fs-cv-btn2:hover{background:rgb(var(--c-ink-950));color:rgb(var(--c-paper));}

/* Focus is a REAL ring on everything interactive — this set is used by
   organisations with a legal duty to be reachable by keyboard. */
.fs-cv :focus-visible{
  outline:3px solid rgb(var(--c-accent, var(--c-brand-600)));
  outline-offset:2px;
}

/* ═════════ HERO (favCivicHero) ═════════ */
.fs-cv-hero{padding:var(--fs-space-section, clamp(2rem,4vw,3rem)) clamp(1rem,4vw,2.5rem);}
.fs-cv-hero-inner{
  position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(1.75rem,4vw,3.25rem);align-items:center;
}
@media (max-width:940px){.fs-cv-hero-inner{grid-template-columns:1fr;gap:2.25rem;}}

/* The founding plate — the one fact a heritage organisation leads on. */
.fs-cv-est{
  display:inline-flex;align-items:center;gap:.6rem;
  padding:.45rem .9rem .45rem .7rem;
  background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));
  font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
}
.fs-cv-est::before{
  content:"";width:.7rem;height:.85rem;background:currentColor;
  clip-path:polygon(0 0,100% 0,100% 100%,50% 74%,0 100%);
}

/* Stat plates: facts in a row of bordered tiles, the noticeboard idea
   the whole theme is built on. */
.fs-cv-stats{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.6rem;margin-top:1.9rem;max-width:34rem;
}
@media (max-width:520px){.fs-cv-stats{grid-template-columns:1fr 1fr;}}
.fs-cv-stat{
  padding:.8rem .85rem;
  background:rgb(var(--c-paper-soft));
  border:2px solid rgb(var(--c-ink-950) / .14);
  border-left:4px solid rgb(var(--c-brand-600));
}
.fs-cv-stat-v{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.5rem;line-height:1;font-weight:700;color:rgb(var(--c-brand-600));
}
.fs-cv-stat-l{margin-top:.35rem;font-size:.76rem;line-height:1.35;letter-spacing:.04em;text-transform:uppercase;color:rgb(var(--c-ink-700));}

/* The stage: art in a notched, double-keylined frame with a rosette
   plate overlapping the corner — the badge pinned to the photograph. */
/* Bottom padding reserves the room the seal hangs into, so it can
   overlap the frame without colliding with whatever follows. */
.fs-cv-hero-stage{position:relative;display:flex;justify-content:center;padding-bottom:2rem;}
.fs-cv-frame{
  position:relative;z-index:1;
  width:min(27rem,100%);aspect-ratio:4 / 3;overflow:hidden;
  background:rgb(var(--c-paper-soft));
}
.fs-cv-frame img{width:100%;height:100%;object-fit:cover;}
.fs-cv-frame > *{width:100%;height:100%;}
/* No image set: the theme's own bunting-over-roofline, in CSS, so the
   frame is never an empty box. */
.fs-cv-frame-fallback{
  display:block;width:100%;height:100%;
  background:
    linear-gradient(-45deg,transparent 0 48%,rgb(var(--c-accent, var(--c-brand-600)) / .5) 48% 52%,transparent 52%) 0 0/2.4rem 2.4rem,
    linear-gradient(180deg,rgb(var(--c-paper-soft)) 0 62%,rgb(var(--c-brand-600) / .68) 62% 100%);
}
/* Sized to the words rather than the other way round: at 6.2rem the
   default caption wrapped to four lines and lost its last one. */
.fs-cv-seal{
  position:absolute;z-index:2;right:.2rem;bottom:0;
  width:7.4rem;height:7.4rem;
  display:flex;align-items:center;justify-content:center;text-align:center;
  padding:.9rem;
  background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));
  border:2px solid rgb(var(--c-paper));
  font-size:.66rem;font-weight:700;line-height:1.32;letter-spacing:.06em;text-transform:uppercase;
  /* The SAME rosette geometry as the impact badges, deliberately: one
     object at two scales reads as a house mark, two near-miss objects
     read as a mistake. (The first pass used a coarser 16-point path
     here and it rendered as a lump rather than a badge.) */
  clip-path:polygon(50% 0,61% 7%,73% 3%,80% 14%,92% 15%,94% 27%,100% 37%,96% 48%,100% 59%,94% 69%,92% 81%,80% 82%,73% 93%,61% 89%,50% 96%,39% 89%,27% 93%,20% 82%,8% 81%,6% 69%,0 59%,4% 48%,0 37%,6% 27%,8% 15%,20% 14%,27% 3%,39% 7%);
}
.fs-cv-wire .fs-cv-seal{clip-path:none;background:transparent;color:#111;border:1px dashed #111;}
/* The one ambient flourish on the page: the seal settles into place
   once, on entrance. Compositor-only, and it never runs under
   reduced-motion or outside 'rich'. */
.fs-cv-anim .fs-cv-seal{animation:fs-cv-pin .7s cubic-bezier(.2,.9,.3,1.2) both;}
@keyframes fs-cv-pin{from{transform:rotate(-16deg) scale(.82);opacity:0;}to{transform:rotate(-8deg) scale(1);opacity:1;}}
.fs-cv-seal{transform:rotate(-8deg);}
@media (prefers-reduced-motion:reduce){
  .fs-cv-anim .fs-cv-seal{animation:none;}
}

/* ═════════ PAGE HEADER (favCivicHeader) ═════════
   The whole header sits INSIDE a keylined plate — an interior page
   opens like a sign on a door. */
.fs-cv-hd{padding:var(--fs-space-section, clamp(2rem,4vw,3rem)) clamp(1rem,4vw,2.5rem);}
.fs-cv-hd-plate{
  max-width:var(--fs-layout-max,60rem);margin:0 auto;
  padding:clamp(1.6rem,4vw,2.6rem) clamp(1.2rem,4vw,2.6rem);
  background:rgb(var(--c-paper-soft));
  text-align:center;
}
.fs-cv-hd-plate .fs-cv-title{font-size:clamp(1.9rem,4vw,2.9rem);}
.fs-cv-hd-plate .fs-cv-sub{margin-left:auto;margin-right:auto;}
.fs-cv-hd-rule{margin:1.35rem auto 0;width:min(16rem,60%);}

/* ═════════ PROGRAMME FINDER (favCivicFinder) ═════════
   The set's tool. A week board that answers the only two questions a
   parent or a fourteen-year-old actually has: is there something for
   ME, and does it cost anything. */
.fs-cv-fd{padding:var(--fs-space-section, clamp(2rem,4vw,3rem)) clamp(1rem,4vw,2.5rem);}
.fs-cv-fd-inner{max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-cv-fd-head{margin-bottom:1.5rem;}

.fs-cv-fd-controls{
  padding:1rem 1.1rem;
  background:rgb(var(--c-paper-soft));
  border:2px solid rgb(var(--c-ink-950) / .16);
}
.fs-cv-fd-legend{
  display:block;
  font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:rgb(var(--c-ink-700));
}
.fs-cv-fd-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.7rem;}
/* The .fs-cv prefix here is load-bearing, not tidiness: the site-wide
   typography layer ships a rule on ".fs-typo button" setting color to
   var(--fs-btn-color), which at (0,1,1) outranks a bare .fs-cv-fd-chip
   (0,1,0) and painted every unpressed chip in the BUTTON text colour —
   a white label on a cream chip, i.e. invisible. Two classes puts this
   back in front of it. Any real button element added to this set needs
   the same treatment; the family's other "buttons" are spans and never
   hit that rule. */
.fs-cv .fs-cv-fd-chip{
  display:inline-flex;align-items:center;gap:.45rem;
  /* 44px minimum tap target — this is used on phones, in a corridor. */
  min-height:2.75rem;padding:.5rem 1rem;
  font-family:inherit;font-size:.86rem;font-weight:700;line-height:1.2;text-align:left;
  color:rgb(var(--c-ink-950));
  background:rgb(var(--c-paper));
  border:2px solid rgb(var(--c-ink-950) / .28);
  cursor:pointer;
  transition:background .16s ease, color .16s ease, border-color .16s ease;
}
.fs-cv .fs-cv-fd-chip:hover{border-color:rgb(var(--c-brand-600));}
.fs-cv .fs-cv-fd-chip[aria-pressed="true"]{
  background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));border-color:rgb(var(--c-brand-600));
}
/* A tick appears in the pressed chip — state is never colour alone. */
.fs-cv .fs-cv-fd-chip::before{
  content:"";width:.55rem;height:.55rem;flex:0 0 auto;
  background:currentColor;opacity:0;
  clip-path:polygon(0 52%,38% 100%,100% 12%,86% 0,36% 70%,12% 40%);
}
.fs-cv .fs-cv-fd-chip[aria-pressed="true"]::before{opacity:1;}
.fs-cv .fs-cv-fd-chip[disabled]{cursor:default;opacity:.75;}

.fs-cv-fd-result{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;
  margin-top:1.1rem;padding-top:.9rem;
  border-top:2px dashed rgb(var(--c-accent, var(--c-brand-600)) / .75);
  font-size:.92rem;color:rgb(var(--c-ink-700));
}
.fs-cv-fd-count{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.15rem;font-weight:700;color:rgb(var(--c-brand-600));
}

/* The board: one column per day. */
.fs-cv-fd-board{
  display:grid;grid-template-columns:repeat(6,minmax(0,1fr));
  gap:.55rem;margin-top:1.3rem;
}
@media (max-width:1020px){.fs-cv-fd-board{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:680px){.fs-cv-fd-board{grid-template-columns:1fr;gap:.75rem;}}
.fs-cv-fd-col{display:flex;flex-direction:column;gap:.55rem;min-width:0;}
.fs-cv-fd-day{
  padding:.55rem .6rem;
  background:rgb(var(--c-ink-950));color:rgb(var(--c-paper));
  font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-align:center;
}
@media (max-width:680px){.fs-cv-fd-day{text-align:left;}}
/* A column with nothing left in it after filtering still holds its
   place, so the board does not reflow under the pointer. */
.fs-cv-fd-empty{
  padding:.8rem .6rem;text-align:center;
  font-size:.76rem;line-height:1.4;color:rgb(var(--c-ink-400));
  border:2px dashed rgb(var(--c-ink-950) / .16);
}
.fs-cv-fd-card{
  padding:.8rem .8rem .85rem;
  background:rgb(var(--c-paper-soft));
  border:2px solid rgb(var(--c-ink-950) / .16);
  border-top:4px solid rgb(var(--c-brand-600));
  transition:border-color .16s ease, transform .16s ease;
}
.fs-cv-fd-card:hover{border-color:rgb(var(--c-brand-600) / .55);border-top-color:rgb(var(--c-brand-600));}
.fs-cv-fd-time{
  font-family:var(--font-display, Georgia, serif);
  font-size:1rem;font-weight:700;line-height:1.1;color:rgb(var(--c-brand-600));
}
.fs-cv-fd-name{margin-top:.3rem;font-size:.9rem;font-weight:700;line-height:1.3;color:rgb(var(--c-ink-950));}
.fs-cv-fd-meta{margin-top:.35rem;font-size:.76rem;line-height:1.45;color:rgb(var(--c-ink-700));}
.fs-cv-fd-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.5rem;}
.fs-cv-fd-tag{
  padding:.2rem .45rem;
  font-size:.64rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:rgb(var(--c-ink-700));
  border:1.5px solid rgb(var(--c-ink-950) / .28);
}
.fs-cv-fd-tag-free{color:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));}
.fs-cv-fd-note{margin-top:1.1rem;font-size:.82rem;line-height:1.5;color:rgb(var(--c-ink-400));}

/* ═════════ IMPACT BADGES (favCivicBadges) ═════════
   Numbers as sewn badges: a toothed rosette drawn in CSS, the same
   object as the rosette in the theme's art. */
/* This one section sits on the TINT rather than on paper. Reviewing the
   home page as a whole, the hero, the impact numbers and the finder were
   three consecutive cream bands carrying bordered plates, and the page
   read flat until the ink CTA arrived at the very bottom. Alternating
   the proof band gives the scroll a tonal beat without adding a second
   heavy ink section. The cards invert to paper so they keep their edge
   against it. */
.fs-cv-bd{
  padding:var(--fs-space-section, clamp(2rem,4vw,3rem)) clamp(1rem,4vw,2.5rem);
  background:rgb(var(--c-paper-soft));
}
.fs-cv-bd .fs-cv-bd-card{background:rgb(var(--c-paper));}
.fs-cv-bd-inner{max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-cv-bd-head{margin-bottom:1.6rem;}
.fs-cv-bd-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(.6rem,1.6vw,1.1rem);
}
@media (max-width:900px){.fs-cv-bd-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:460px){.fs-cv-bd-grid{grid-template-columns:1fr;}}
.fs-cv-bd-card{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:1.3rem 1rem 1.2rem;
  background:rgb(var(--c-paper-soft));
}
.fs-cv-bd-rosette{
  position:relative;width:4.6rem;height:4.6rem;flex:0 0 auto;
  display:flex;align-items:center;justify-content:center;
  background:rgb(var(--c-brand-600));
  clip-path:polygon(50% 0,61% 7%,73% 3%,80% 14%,92% 15%,94% 27%,100% 37%,96% 48%,100% 59%,94% 69%,92% 81%,80% 82%,73% 93%,61% 89%,50% 96%,39% 89%,27% 93%,20% 82%,8% 81%,6% 69%,0 59%,4% 48%,0 37%,6% 27%,8% 15%,20% 14%,27% 3%,39% 7%);
}
.fs-cv-bd-rosette::after{
  content:"";position:absolute;inset:.5rem;
  border:2px solid rgb(var(--c-paper) / .5);border-radius:50%;
}
.fs-cv-bd-v{
  position:relative;z-index:1;
  font-family:var(--font-display, Georgia, serif);
  font-size:1.3rem;line-height:1;font-weight:700;color:rgb(var(--c-paper));
}
.fs-cv-bd-t{
  margin-top:.85rem;
  font-family:var(--font-display, Georgia, serif);
  font-size:1rem;font-weight:700;line-height:1.25;color:rgb(var(--c-ink-950));
}
.fs-cv-bd-b{margin-top:.4rem;font-size:.84rem;line-height:1.5;color:rgb(var(--c-ink-700));}
.fs-cv-wire .fs-cv-bd-rosette{clip-path:none;background:transparent;border:1px dashed #111;}
.fs-cv-wire .fs-cv-bd-rosette::after{display:none;}
.fs-cv-wire .fs-cv-bd-v{color:#111;}

/* ═════════ APPEAL (favCivicCta) ═════════
   The ask, on ink. A community organisation's CTA is never one action:
   it is give, give time, or come in — so the band carries two buttons
   and a third quiet line, and never pretends there is only one door. */
.fs-cv-ct{padding:var(--fs-space-section, clamp(2rem,4vw,3rem)) clamp(1rem,4vw,2.5rem);}
.fs-cv-ct-band{
  position:relative;max-width:var(--fs-layout-max,66rem);margin:0 auto;
  padding:clamp(1.8rem,4.5vw,3rem) clamp(1.3rem,4vw,2.8rem);
  background:rgb(var(--c-ink-950));color:rgb(var(--c-paper));
}
.fs-cv-ct-band .fs-cv-eyebrow{border-color:rgb(var(--c-paper) / .5);color:rgb(var(--c-paper));background:transparent;}
.fs-cv-ct-title{
  margin:1.1rem 0 0;
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(1.8rem,3.6vw,2.6rem);line-height:1.12;font-weight:700;letter-spacing:-0.015em;
  color:rgb(var(--c-paper));
}
.fs-cv-ct-body{margin-top:.9rem;max-width:56ch;font-size:1rem;line-height:1.62;color:rgb(var(--c-paper) / .82);}
.fs-cv-ct-band .fs-cv-btn{background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));color:rgb(var(--c-paper));}
.fs-cv-ct-band .fs-cv-btn2{color:rgb(var(--c-paper));border-color:rgb(var(--c-paper) / .7);}
.fs-cv-ct-band .fs-cv-btn2:hover{background:rgb(var(--c-paper));color:rgb(var(--c-ink-950));}
/* The giving ladder — three amounts and what each one buys. Specific
   sums convert; "please donate" does not. */
.fs-cv-ct-ladder{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.6rem;margin-top:1.8rem;
}
@media (max-width:640px){.fs-cv-ct-ladder{grid-template-columns:1fr;}}
.fs-cv-ct-rung{
  padding:.85rem .9rem;
  border:2px solid rgb(var(--c-paper) / .28);
  border-left:4px solid rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-cv-ct-amt{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.35rem;line-height:1;font-weight:700;color:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-cv-ct-buys{margin-top:.35rem;font-size:.82rem;line-height:1.45;color:rgb(var(--c-paper) / .8);}
.fs-cv-ct-note{margin-top:1.4rem;font-size:.78rem;letter-spacing:.05em;color:rgb(var(--c-paper) / .6);}

/* ── favCivicFooter (theme-chrome batch 6, Pennant) ────────────────
   The plate by the door. fs-cv-ft: the full-bleed band (named
   container), opened by the double keyline that closes the header, so
   the page sits in one keylined frame; fs-cv-ft-in: the content box
   (named container), which narrows with the Layout. */
.fs-cv-ft{container-type:inline-size;container-name:fs-cv-ft;padding:0 clamp(1rem,4vw,2.5rem);background:linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) 0 0/100% 2px no-repeat,linear-gradient(var(--cv-ft-key-in),var(--cv-ft-key-in)) 0 5px/100% 1px no-repeat,rgb(var(--c-paper-soft));--cv-ft-rule:rgb(var(--c-ink-950) / .14);--cv-ft-edge:rgb(var(--c-ink-950) / .16);--cv-ft-edge2:rgb(var(--c-ink-950) / .28);--cv-ft-key-in:rgb(var(--c-ink-950) / .38);--cv-ft-stitch:rgb(var(--c-accent, var(--c-brand-600)) / .75)}
.fs-cv-ft:is(.dark *):not(.fs-preview-light *){--cv-ft-rule:rgb(var(--c-ink-950) / .18);--cv-ft-edge:rgb(var(--c-ink-950) / .22);--cv-ft-edge2:rgb(var(--c-ink-950) / .34);--cv-ft-key-in:rgb(var(--c-ink-950) / .45)}
.fs-cv-ft-in{container-type:inline-size;container-name:fs-cv-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:54px 30px}
.fs-cv-ft-mark{display:block;width:40px;height:40px;margin-top:16px}
.fs-cv-ft-mk-a{stop-color:rgb(var(--c-brand-600))}
.fs-cv-ft-mk-b{stop-color:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-cv-ft-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:34px clamp(24px,3cqi,40px)}
.fs-cv-ft-col{min-width:0}
.fs-cv-ft-plate{
  align-self:start;padding:20px 20px 22px;background:rgb(var(--c-paper));
  border:2px solid rgb(var(--c-ink-950));
  box-shadow:inset 0 0 0 1px rgb(var(--c-paper)), inset 0 0 0 2.6px var(--cv-ft-key-in);
  clip-path:polygon(0 0,100% 0,100% calc(100% - 1.15rem),calc(100% - 1.15rem) 100%,0 100%);
}
.fs-cv-ft-est{display:inline-flex;align-items:center;gap:8px;padding:6px 11px 6px 9px;background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)));font:700 10.5px/1 var(--font-body, inherit);letter-spacing:.18em;text-transform:uppercase}
.fs-cv-ft-est::before{content:"";flex:none;width:9px;height:12px;background:currentColor;clip-path:polygon(0 0,100% 0,100% 100%,50% 74%,0 100%)}
.fs-cv-ft-name{margin-top:10px;font:700 22px/1.15 var(--font-display, Bitter, Georgia, serif);color:rgb(var(--c-ink-950))}
.fs-cv-ft-addr{margin-top:8px;font-size:14.5px;line-height:1.5;color:rgb(var(--c-ink-700))}
.fs-cv-ft-tel{display:block;margin-top:14px;padding-top:12px;border-top:2px dashed var(--cv-ft-stitch);font:700 21px/1 var(--font-display, Bitter, Georgia, serif);color:rgb(var(--c-brand-text));font-variant-numeric:lining-nums;text-decoration:none}
.fs-cv-ft-mail{display:inline-block;margin-top:9px;font-size:14px;color:rgb(var(--c-ink-950));border-bottom:1px solid var(--cv-ft-edge2);text-decoration:none}
.fs-cv-ft-h{margin:0 0 12px;padding-bottom:10px;border-bottom:2px dashed var(--cv-ft-stitch);font:700 17px/1.2 var(--font-display, Bitter, Georgia, serif);color:rgb(var(--c-ink-950))}
.fs-cv-ft-links{margin:0;padding:0;list-style:none}
.fs-cv-ft-li{margin:0}
.fs-cv-ft-link{display:block;padding-block:5px;font-size:15px;color:rgb(var(--c-ink-950));text-decoration:none}
.fs-cv-ft-link:hover{color:rgb(var(--c-brand-text));text-decoration:underline;text-decoration-style:dashed;text-underline-offset:4px}
.fs-cv-ft-tiles{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.fs-cv-ft-tile{padding:8px 12px 9px;background:rgb(var(--c-paper));border:2px solid var(--cv-ft-edge);border-left:4px solid rgb(var(--c-brand-600))}
.fs-cv-ft-tile-d{display:block;margin:0;font:700 10.5px/1.2 var(--font-body, inherit);letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--c-ink-700))}
.fs-cv-ft-tile-t{display:block;margin-top:4px;font:700 17px/1.1 var(--font-display, Bitter, Georgia, serif);color:rgb(var(--c-ink-950));font-variant-numeric:lining-nums}
.fs-cv-ft-note{margin-top:10px;font-size:13.5px;line-height:1.5;color:rgb(var(--c-ink-700))}
.fs-cv-ft-seal{position:relative;display:flex;align-items:center;justify-content:center;width:6.6rem;height:6.6rem;margin:2px 0 14px 4px;padding:16px;background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)));font:700 10.5px/1.3 var(--font-body, inherit);letter-spacing:.06em;text-transform:uppercase;text-align:center;transform:rotate(-8deg);clip-path:polygon(50% 0,61% 7%,73% 3%,80% 14%,92% 15%,94% 27%,100% 37%,96% 48%,100% 59%,94% 69%,92% 81%,80% 82%,73% 93%,61% 89%,50% 96%,39% 89%,27% 93%,20% 82%,8% 81%,6% 69%,0 59%,4% 48%,0 37%,6% 27%,8% 15%,20% 14%,27% 3%,39% 7%)}
.fs-cv-ft-seal::after{content:"";position:absolute;inset:8px;border:1.5px solid color-mix(in srgb, var(--fs-on-brand, rgb(var(--c-paper))) 50%, transparent);border-radius:50%}
.fs-cv-ft-p{margin:0;font-size:14.5px;line-height:1.5;color:rgb(var(--c-ink-700))}
.fs-cv-ft-more{display:inline-block;margin-top:10px;padding-bottom:1px;font:700 14px/1.3 var(--font-body, inherit);color:rgb(var(--c-brand-text));border-bottom:2px dashed var(--cv-ft-stitch);text-decoration:none}
.fs-cv-ft-more:hover{border-bottom-style:solid}
.fs-cv-ft-legal{display:flex;flex-wrap:wrap;gap:6px 20px;margin:34px 0 0;padding-top:14px;border-top:1px solid var(--cv-ft-rule);font-size:13px;color:rgb(var(--c-ink-700))}
.fs-cv-ft-legal-t{margin-right:auto}
.fs-cv-ft-legal-a{color:rgb(var(--c-ink-700));text-decoration:none}
.fs-cv-ft-legal-a:hover{color:rgb(var(--c-ink-950))}
@container fs-cv-ft (max-width: 40rem){
  .fs-cv-ft-in{padding-block:38px 24px}
}
@container fs-cv-ft-in (max-width: 56rem){
  .fs-cv-ft-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container fs-cv-ft (max-width: 48rem){
  .fs-cv-ft-grid{grid-template-columns:minmax(0,1fr);gap:30px}
  .fs-cv-ft-plate{max-width:26rem}
  .fs-cv-ft-legal-t{flex-basis:100%}
}


.fs-gg{
  position:relative;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-gg *{box-sizing:border-box;}

/* ── The motifs ─────────────────────────────────────────────────── */

/* THE CENTRE LINE — long dash, short dash, the convention for an axis
   of symmetry. Used wherever another family would put a plain rule, so
   even the horizontal rules on this site read as drawn. */
.fs-gg-centreline{
  height:0;border-top:1px dashed rgb(var(--c-ink-950) / .45);
  border-image:none;
}
.fs-gg-rule{
  height:1px;background:
    repeating-linear-gradient(90deg,
      rgb(var(--c-ink-950) / .5) 0 14px,
      transparent 14px 20px,
      rgb(var(--c-ink-950) / .5) 20px 24px,
      transparent 24px 30px);
}
.fs-gg-wire .fs-gg-rule{background:#111;}

/* THE DATUM TRIANGLE — the ISO mark for a reference face. The set's
   section marker, and the only place the accent metal is spent. */
.fs-gg-datum{
  display:inline-flex;align-items:center;gap:.55rem;
  font-size:.68rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-gg-datum::before{
  content:"";width:.7rem;height:.6rem;flex:0 0 auto;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  clip-path:polygon(0 0,100% 0,50% 100%);
}

/* TABULAR FIGURES — every number in this set lines up in its column. */
.fs-gg-fig{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;}

/* ── Type ────────────────────────────────────────────────────────
   Quiet luxury is mostly restraint: one large display size, one body
   size, and a lot of tracking on the small stuff. Nothing shouts. */
.fs-gg-eyebrow{
  display:block;
  font-size:.68rem;font-weight:600;letter-spacing:.26em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-gg-title{
  margin:1.4rem 0 0;
  font-family:var(--font-display, Helvetica, Arial, sans-serif);
  font-size:clamp(2.3rem,5.4vw,3.9rem);
  line-height:1.04;font-weight:600;letter-spacing:-0.028em;
  color:rgb(var(--c-ink-950));
}
.fs-gg-accent{color:rgb(var(--c-ink-400));}
.fs-gg-sub{
  margin:1.4rem 0 0;max-width:var(--fs-measure, 56ch);
  font-size:clamp(1rem,1.3vw,1.09rem);line-height:1.72;
  color:rgb(var(--c-ink-700));
}
.fs-gg-h{
  margin:0;
  font-family:var(--font-display, Helvetica, Arial, sans-serif);
  font-size:var(--fs-type-h2, clamp(1.7rem,3vw,2.3rem));
  line-height:1.18;font-weight:600;letter-spacing:-0.022em;
  color:rgb(var(--c-ink-950));
}
.fs-gg-lede{margin:.9rem 0 0;max-width:var(--fs-measure, 62ch);font-size:1rem;line-height:1.7;color:rgb(var(--c-ink-700));}

/* ── Buttons — quiet: a filled graphite primary, a hairline ghost ── */
.fs-gg-ctas{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem;align-items:center;}
.fs-gg-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.9rem 1.7rem;border-radius:var(--fs-radius-control, .5rem);
  font-size:.9rem;font-weight:600;line-height:1;white-space:nowrap;letter-spacing:.02em;
  color:rgb(var(--c-paper));
  background:rgb(var(--c-brand-600));
  border:1px solid rgb(var(--c-brand-600));
  transition:background .2s ease, border-color .2s ease;
}
.fs-gg-btn:hover{background:rgb(var(--c-brand-700, var(--c-brand-600)));border-color:rgb(var(--c-brand-700, var(--c-brand-600)));}
.fs-gg-btn2{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.9rem 1.7rem;border-radius:var(--fs-radius-control, .5rem);
  font-size:.9rem;font-weight:600;line-height:1;white-space:nowrap;letter-spacing:.02em;
  color:rgb(var(--c-ink-950));
  background:transparent;
  border:1px solid rgb(var(--c-ink-950) / .32);
  transition:border-color .2s ease, background .2s ease;
}
.fs-gg-btn2:hover{border-color:rgb(var(--c-ink-950));background:rgb(var(--c-ink-950) / .04);}

/* Focus is a real ring on everything interactive. */
.fs-gg :focus-visible{
  outline:2px solid rgb(var(--c-accent, var(--c-brand-600)));
  outline-offset:3px;
}

/* ═════════ HERO (favGaugeHero) ═════════ */
.fs-gg-hero{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-gg-hero-inner{
  position:relative;max-width:var(--fs-layout-max,74rem);margin:0 auto;
  display:grid;grid-template-columns:1.02fr .98fr;
  gap:clamp(2rem,5vw,4rem);align-items:center;
}
@media (max-width:940px){.fs-gg-hero-inner{grid-template-columns:1fr;gap:2.5rem;}}

/* The spec strip: the three numbers a buyer scans for, set as a drawing
   would set them — label above, figure below, hairline between. */
.fs-gg-specs{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:2.4rem;border-top:1px solid rgb(var(--c-ink-950) / .16);
}
@media (max-width:520px){.fs-gg-specs{grid-template-columns:1fr;}}
.fs-gg-spec{
  padding:1.1rem 1.2rem 0 0;
}
.fs-gg-spec + .fs-gg-spec{
  padding-left:1.2rem;border-left:1px solid rgb(var(--c-ink-950) / .16);
}
@media (max-width:520px){
  .fs-gg-spec + .fs-gg-spec{padding-left:0;border-left:0;border-top:1px solid rgb(var(--c-ink-950) / .16);margin-top:.2rem;}
}
.fs-gg-spec-l{
  font-size:.66rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-gg-spec-v{
  margin-top:.5rem;
  font-family:var(--font-display, Helvetica, Arial, sans-serif);
  font-size:1.7rem;line-height:1;font-weight:600;letter-spacing:-0.02em;
  font-variant-numeric:tabular-nums;
  color:rgb(var(--c-ink-950));
}

/* The stage: the drawing sits in a plain frame with a hairline, no
   shadow — quiet luxury never fakes depth. */
.fs-gg-hero-stage{position:relative;}
.fs-gg-frame{
  /* z-index 1 so the frame paints OVER the centre-mark ring behind it.
     The ring was previously pushed to z-index:-1, which put it behind
     the section's own background and made it invisible — the ambient
     flourish existed in the DOM and never once appeared on screen. */
  position:relative;z-index:1;overflow:hidden;
  border-radius:var(--fs-radius-card, .75rem);
  border:1px solid rgb(var(--c-ink-950) / .16);
  background:rgb(var(--c-paper-soft));
  aspect-ratio:4 / 3;
}
.fs-gg-frame img{width:100%;height:100%;object-fit:cover;}
.fs-gg-frame > *{width:100%;height:100%;}
/* No image set: a drawn centre mark, so the frame is never an empty box. */
.fs-gg-frame-fallback{
  display:block;width:100%;height:100%;position:relative;
  background:
    linear-gradient(90deg,transparent calc(50% - .5px),rgb(var(--c-ink-950) / .3) calc(50% - .5px) calc(50% + .5px),transparent calc(50% + .5px)),
    linear-gradient(0deg,transparent calc(50% - .5px),rgb(var(--c-ink-950) / .3) calc(50% - .5px) calc(50% + .5px),transparent calc(50% + .5px));
}
.fs-gg-frame-fallback::after{
  content:"";position:absolute;left:50%;top:50%;
  width:34%;aspect-ratio:1;transform:translate(-50%,-50%);
  border-radius:50%;border:1px solid rgb(var(--c-ink-950) / .3);
}

/* THE ONE AMBIENT FLOURISH on the page: a centre-mark ring that turns
   once a minute behind the frame's corner. Compositor-only (transform),
   and it never runs outside 'rich' or under reduced-motion. */
.fs-gg-orbit{
  position:absolute;right:-2.2rem;top:-2.2rem;width:9rem;height:9rem;
  pointer-events:none;z-index:0;
  border-radius:50%;
  border:1px dashed rgb(var(--c-accent, var(--c-brand-600)) / .5);
}
.fs-gg-orbit::after{
  content:"";position:absolute;left:50%;top:-.28rem;width:.55rem;height:.55rem;
  margin-left:-.275rem;border-radius:50%;
  background:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-gg-anim .fs-gg-orbit{animation:fs-gg-turn 60s linear infinite;}
@keyframes fs-gg-turn{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
@media (prefers-reduced-motion:reduce){
  .fs-gg-anim .fs-gg-orbit{animation:none;}
}
.fs-gg-wire .fs-gg-orbit{display:none;}

/* ═════════ PAGE HEADER (favGaugeHeader) ═════════
   A title block: the strip along the bottom of a drawing sheet that
   says what the sheet is. Left-aligned, hairline over and under. */
.fs-gg-hd{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-gg-hd-inner{max-width:var(--fs-layout-max,74rem);margin:0 auto;}
.fs-gg-hd .fs-gg-title{font-size:clamp(2rem,4.4vw,3.1rem);}
.fs-gg-hd-block{
  display:flex;flex-wrap:wrap;gap:0;margin-top:2.4rem;
  border-top:1px solid rgb(var(--c-ink-950) / .16);
  border-bottom:1px solid rgb(var(--c-ink-950) / .16);
}
.fs-gg-hd-cell{
  padding:.9rem 1.4rem .9rem 0;min-width:9rem;
}
.fs-gg-hd-cell + .fs-gg-hd-cell{padding-left:1.4rem;border-left:1px solid rgb(var(--c-ink-950) / .16);}
.fs-gg-hd-k{font-size:.62rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:rgb(var(--c-ink-400));}
.fs-gg-hd-v{margin-top:.4rem;font-size:.95rem;font-weight:600;font-variant-numeric:tabular-nums;color:rgb(var(--c-ink-950));}

/* ═════════ SPEC DIAGRAM (favGaugeSpec) ═════════
   The set's interactive piece — see the long note in GaugeBlocks.tsx.
   Drawing left, callout list right; pointing at a callout lights its
   dimension on the drawing and dims the others. */
.fs-gg-sp{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-gg-sp-inner{max-width:var(--fs-layout-max,74rem);margin:0 auto;}
.fs-gg-sp-head{margin-bottom:2rem;}
.fs-gg-sp-grid{
  display:grid;grid-template-columns:1.15fr .85fr;
  gap:clamp(1.5rem,4vw,3rem);align-items:start;
}
@media (max-width:900px){.fs-gg-sp-grid{grid-template-columns:1fr;}}

.fs-gg-sp-stage{
  border-radius:var(--fs-radius-card, .75rem);
  border:1px solid rgb(var(--c-ink-950) / .16);
  background:rgb(var(--c-paper-soft));
  padding:clamp(.75rem,2vw,1.4rem);
}
.fs-gg-sp-svg{display:block;width:100%;height:auto;}

/* Drawing element classes — every one resolves through theme tokens, so
   the drawing re-tints with the palette in both modes. */
.fs-gg-sp-outline{fill:none;stroke:rgb(var(--c-ink-950));stroke-width:2.2;}
.fs-gg-sp-thin{fill:none;stroke:rgb(var(--c-ink-950) / .55);stroke-width:1;}
.fs-gg-sp-hatch{stroke:rgb(var(--c-ink-950) / .3);stroke-width:1;}
.fs-gg-sp-centre{
  fill:none;stroke:rgb(var(--c-ink-950) / .5);stroke-width:1;
  stroke-dasharray:16 4 4 4;
}
.fs-gg-sp-fill{fill:rgb(var(--c-paper-soft));}

/* A dimension group: quiet by default, lit when its callout is active,
   faded when a sibling is. Opacity and stroke only — nothing reflows,
   so pointing down the list never nudges the drawing. */
.fs-gg-sp-dim{
  fill:none;stroke:rgb(var(--c-ink-950) / .62);stroke-width:1.4;
  transition:opacity .18s ease, stroke .18s ease;
}
.fs-gg-sp-dim text{fill:rgb(var(--c-ink-700));stroke:none;font-size:15px;font-weight:600;}
.fs-gg-sp-dim polygon{fill:rgb(var(--c-ink-950) / .62);stroke:none;transition:fill .18s ease;}
.fs-gg-sp-dim.is-off{opacity:.16;}
.fs-gg-sp-dim.is-on{stroke:rgb(var(--c-accent, var(--c-brand-600)));stroke-width:2;}
.fs-gg-sp-dim.is-on polygon{fill:rgb(var(--c-accent, var(--c-brand-600)));}
.fs-gg-sp-dim.is-on text{fill:rgb(var(--c-accent, var(--c-brand-600)));}

/* The callout list — rows of a specification table. */
.fs-gg-sp-list{list-style:none;margin:0;padding:0;border-top:1px solid rgb(var(--c-ink-950) / .16);}
.fs-gg-sp-row{
  display:block;width:100%;text-align:left;
  font-family:inherit;color:inherit;background:transparent;
  border:0;border-bottom:1px solid rgb(var(--c-ink-950) / .16);
  border-radius:0;
  padding:.95rem .8rem .95rem .1rem;
  cursor:pointer;
  transition:background .18s ease, padding-left .18s ease;
}
.fs-gg-sp-row:hover,.fs-gg-sp-row.is-on{
  background:rgb(var(--c-ink-950) / .035);
  padding-left:.7rem;
}
.fs-gg-sp-row[aria-pressed="true"]{background:rgb(var(--c-ink-950) / .055);}
.fs-gg-sp-rowtop{display:flex;align-items:baseline;gap:.7rem;}
.fs-gg-sp-no{
  flex:0 0 auto;width:1.45rem;height:1.45rem;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:50%;
  border:1px solid rgb(var(--c-ink-950) / .3);
  font-size:.66rem;font-weight:600;font-variant-numeric:tabular-nums;
  color:rgb(var(--c-ink-700));
  transition:background .18s ease, color .18s ease, border-color .18s ease;
}
.fs-gg-sp-row.is-on .fs-gg-sp-no{
  background:rgb(var(--c-accent, var(--c-brand-600)));
  border-color:rgb(var(--c-accent, var(--c-brand-600)));
  color:rgb(var(--c-paper));
}
.fs-gg-sp-name{font-size:.98rem;font-weight:600;color:rgb(var(--c-ink-950));}
.fs-gg-sp-val{
  margin-left:auto;font-size:.9rem;font-weight:600;
  font-variant-numeric:tabular-nums;
  color:rgb(var(--c-ink-950));white-space:nowrap;
}
.fs-gg-sp-note{margin-top:.4rem;padding-left:2.15rem;font-size:.82rem;line-height:1.55;color:rgb(var(--c-ink-700));}
.fs-gg-sp-foot{margin-top:1.2rem;font-size:.8rem;line-height:1.55;color:rgb(var(--c-ink-400));}

/* ═════════ PROCESS (favGaugeProcess) ═════════
   Route card: the numbered operations a part passes through, in order,
   the way a works order lists them. */
/* The one section that sits on the TINT rather than on paper. Reviewing
   the home page whole, five consecutive paper bands ran before the ink
   CTA arrived at the very bottom and the scroll read flat. The route
   card is the right one to lift: it is a full-width ruled grid with no
   cards of its own, so a tint separates it cleanly instead of fighting
   a surface that is already raised. */
.fs-gg-pr{
  padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);
  background:rgb(var(--c-paper-soft));
}
.fs-gg-pr-inner{max-width:var(--fs-layout-max,74rem);margin:0 auto;}
.fs-gg-pr-head{margin-bottom:2.2rem;}
.fs-gg-pr-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;border-top:1px solid rgb(var(--c-ink-950) / .16);
}
@media (max-width:900px){.fs-gg-pr-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:520px){.fs-gg-pr-grid{grid-template-columns:1fr;}}
.fs-gg-pr-step{padding:1.5rem 1.4rem 1.6rem 0;}
.fs-gg-pr-step + .fs-gg-pr-step{padding-left:1.4rem;border-left:1px solid rgb(var(--c-ink-950) / .16);}
@media (max-width:900px){
  .fs-gg-pr-step:nth-child(3){border-left:0;padding-left:0;}
  .fs-gg-pr-step:nth-child(n+3){border-top:1px solid rgb(var(--c-ink-950) / .16);}
}
@media (max-width:520px){
  .fs-gg-pr-step + .fs-gg-pr-step{border-left:0;padding-left:0;border-top:1px solid rgb(var(--c-ink-950) / .16);}
}
.fs-gg-pr-op{
  font-size:.64rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  font-variant-numeric:tabular-nums;
  color:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-gg-pr-t{
  margin-top:.7rem;
  font-family:var(--font-display, Helvetica, Arial, sans-serif);
  font-size:1.16rem;font-weight:600;line-height:1.25;letter-spacing:-0.015em;
  color:rgb(var(--c-ink-950));
}
.fs-gg-pr-b{margin-top:.55rem;font-size:.9rem;line-height:1.65;color:rgb(var(--c-ink-700));}

/* ═════════ CONTACT BAND (favGaugeCta) ═════════
   On ink, and deliberately the only heavy tone in the set. */
.fs-gg-ct{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-gg-ct-band{
  max-width:var(--fs-layout-max,68rem);margin:0 auto;
  padding:clamp(2rem,5vw,3.4rem) clamp(1.4rem,4vw,3rem);
  border-radius:var(--fs-radius-card, .75rem);
  background:rgb(var(--c-ink-950));color:rgb(var(--c-paper));
}
.fs-gg-ct-band .fs-gg-eyebrow{color:rgb(var(--c-paper) / .6);}
.fs-gg-ct-title{
  margin:1.3rem 0 0;
  font-family:var(--font-display, Helvetica, Arial, sans-serif);
  font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1.14;font-weight:600;letter-spacing:-0.025em;
  color:rgb(var(--c-paper));
}
.fs-gg-ct-body{margin-top:1.1rem;max-width:56ch;font-size:1rem;line-height:1.72;color:rgb(var(--c-paper) / .78);}
.fs-gg-ct-band .fs-gg-btn{background:rgb(var(--c-paper));border-color:rgb(var(--c-paper));color:rgb(var(--c-ink-950));}
.fs-gg-ct-band .fs-gg-btn:hover{background:rgb(var(--c-paper) / .88);border-color:rgb(var(--c-paper) / .88);}
.fs-gg-ct-band .fs-gg-btn2{color:rgb(var(--c-paper));border-color:rgb(var(--c-paper) / .42);}
.fs-gg-ct-band .fs-gg-btn2:hover{border-color:rgb(var(--c-paper));background:rgb(var(--c-paper) / .08);}
/* The accreditation row — for a manufacturer these ARE the credentials,
   and a buyer looks for them before anything else on the page. */
.fs-gg-ct-accs{
  display:flex;flex-wrap:wrap;gap:0;margin-top:2.2rem;
  border-top:1px solid rgb(var(--c-paper) / .22);
}
.fs-gg-ct-acc{padding:1.1rem 1.4rem 0 0;}
.fs-gg-ct-acc + .fs-gg-ct-acc{padding-left:1.4rem;border-left:1px solid rgb(var(--c-paper) / .22);}
.fs-gg-ct-acc-k{
  font-family:var(--font-display, Helvetica, Arial, sans-serif);
  font-size:1.02rem;font-weight:600;font-variant-numeric:tabular-nums;color:rgb(var(--c-paper));
}
.fs-gg-ct-acc-v{margin-top:.3rem;font-size:.76rem;letter-spacing:.06em;color:rgb(var(--c-paper) / .6);}
.fs-gg-ct-note{margin-top:1.6rem;font-size:.78rem;letter-spacing:.04em;color:rgb(var(--c-paper) / .55);}

/* ═════════ FOOTER (favGaugeFooter) ═════════
   Datum's own footer — the strip along the bottom of a drawing sheet,
   drawn as a title block: a zone strip, a three-column grid (company /
   capability links / hours), the title-block cells themselves (company /
   tel / approvals / founded / sheet) and a legal row carrying the
   platform's legal links plus the scale note. Ported from the mockup's
   '.d-ftr' family (docs/superpowers/specs/2026-09-27-theme-chrome-mockup.html).
   UNSCOPED, like the rest of this file (see the header note above) — a
   family block, theme-locked by themeBlocks/FOOTER_REGION_TYPES rather
   than by a [data-fs-theme] prefix (ledger ruling R1). */
.fs-gg-ft{padding:56px clamp(1rem,4vw,2.5rem) 40px;container-type:inline-size;}
.fs-gg-ft-frame{
  max-width:var(--fs-layout-max,74rem);margin:0 auto;
  padding:7px;border:1.5px solid rgb(var(--c-ink-950));
  box-shadow:inset 0 0 0 6px rgb(var(--c-paper)),inset 0 0 0 7px rgb(var(--c-ink-950) / .15);
}
.fs-gg-ft-zones{
  display:grid;grid-template-columns:repeat(6,1fr);height:17px;
  border-bottom:1px solid rgb(var(--c-ink-950) / .15);
  font-size:9.5px;line-height:16px;color:rgb(var(--c-ink-700));
  text-align:center;font-variant-numeric:tabular-nums;
}
.fs-gg-ft-zones span+span{border-left:1px solid rgb(var(--c-ink-950) / .15);}
.fs-gg-ft-grid{
  display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:1px;
  background:rgb(var(--c-ink-950) / .15);
}
.fs-gg-ft-grid>div{padding:26px 28px;background:rgb(var(--c-paper));}
/* The company name — replaces the mockup's SVG wordmark, since this
   block ships to any business, not just Datum's own demo. */
.fs-gg-ft-company{
  display:block;
  font-family:var(--font-display, Helvetica, Arial, sans-serif);
  font-size:15px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;
  color:rgb(var(--c-ink-950));
}
.fs-gg-ft-main .fs-gg-ft-statement{
  max-width:26ch;margin-top:18px;
  font-family:var(--font-display, Helvetica, Arial, sans-serif);
  font-size:20px;line-height:1.3;font-weight:600;letter-spacing:-.01em;
  color:rgb(var(--c-ink-950));
}
.fs-gg-ft-main address{
  display:block;margin-top:12px;font-style:normal;font-size:14px;color:rgb(var(--c-ink-700));
}
/* R18 (ledger ruling, fix round 1 — reviewer-confirmed pre-existing bug
   from Task 7): capHeading/hoursHeading were bare <h5>s, the capability
   links were bare <a>s and the legal row's links were bare <a>s — the
   exact shape EditWpClient's global typography ramp targets via
   '.fs-typo h5:not([class])' / 'a:not([class])'. At (0,2,1) specificity
   those beat a '.fs-gg-ft-col h5' / '.fs-gg-ft-col li a' descendant
   selector outright regardless of stylesheet order (the same mechanism
   Task 10 found and reported for favBillFooter). Fixed the platform's
   own way: every heading, paragraph and link in this footer now carries
   its own class, so ':not([class])' never matches and there is no
   specificity contest to win. */
.fs-gg-ft-h5{
  display:flex;align-items:center;gap:10px;margin-bottom:12px;
  font-family:var(--font-display, Helvetica, Arial, sans-serif);
  font-size:11.5px;font-weight:700;line-height:1;letter-spacing:.16em;text-transform:uppercase;
  color:rgb(var(--c-ink-950));
}
.fs-gg-ft-col ul{list-style:none;margin:0;padding:0;}
.fs-gg-ft-col li{padding-block:5px;font-size:14.5px;}
.fs-gg-ft-link{color:rgb(var(--c-ink-950));text-decoration:none;}
.fs-gg-ft-link:hover{text-decoration:underline;}
.fs-gg-ft-hoursp{margin:0;font-size:14.5px;font-variant-numeric:tabular-nums;color:rgb(var(--c-ink-950));}
.fs-gg-ft-note{margin-top:8px;color:rgb(var(--c-ink-700));font-size:13.5px;}
.fs-gg-ft-balloon{
  display:inline-grid;place-items:center;flex:none;
  width:22px;height:22px;
  border:1.3px solid rgb(var(--c-ink-950));border-radius:50%;
  font-weight:600;font-size:11px;line-height:1;font-variant-numeric:tabular-nums;
  color:rgb(var(--c-ink-950));
}
.fs-gg-ft-tb{
  display:grid;grid-template-columns:1.1fr 1fr 2fr .6fr .6fr;gap:1px;
  background:rgb(var(--c-ink-950) / .15);
  border-top:1.5px solid rgb(var(--c-ink-950));
}
.fs-gg-ft-tb>div{padding:10px 14px;background:rgb(var(--c-paper));}
.fs-gg-ft-tb span{
  display:block;margin-bottom:3px;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;
  color:rgb(var(--c-ink-700));
}
.fs-gg-ft-tb b{font-weight:600;font-size:14px;font-variant-numeric:tabular-nums;color:rgb(var(--c-ink-950));}
.fs-gg-ft-legal{
  display:flex;flex-wrap:wrap;gap:8px 18px;padding:10px 14px 4px;
  border-top:1px solid rgb(var(--c-ink-950) / .15);
  font-size:12.5px;color:rgb(var(--c-ink-700));
}
.fs-gg-ft-legallink{color:inherit;text-decoration:none;}
.fs-gg-ft-legallink:hover{color:rgb(var(--c-ink-950));}
.fs-gg-ft-scale{margin-left:auto;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;}

/* The footer's OWN padding stays a viewport query: .fs-gg-ft is the
   container itself, and a container never matches its own @container
   block (a rule there silently never applies). Only descendants below. */
@media (max-width: 760px){
  .fs-gg-ft{padding:36px clamp(1rem,4vw,2.5rem) 28px;}
}
@container (max-width: 48rem){
  .fs-gg-ft-grid{grid-template-columns:1fr;}
  .fs-gg-ft-grid>div{padding:22px 18px;}
  .fs-gg-ft-tb{grid-template-columns:1fr 1fr;}
  .fs-gg-ft-tb .fs-gg-ft-w2{grid-column:span 2;}
  .fs-gg-ft-scale{width:100%;margin-left:0;}
  .fs-gg-ft-zones{grid-template-columns:repeat(4,1fr);}
  .fs-gg-ft-zones span:nth-child(n+5){display:none;}
}


.fs-ry{
  --fs-block-max:72rem;
  position:relative;
  padding-block:var(--fs-space-section, clamp(3rem,7vw,5rem));
  padding-inline:clamp(1.25rem,5vw,3rem);
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-ry *{box-sizing:border-box;}
.fs-ry-inner{max-width:var(--fs-layout-max,72rem);margin-inline:auto;width:100%;}
.fs-ry-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}

.fs-ry-tally{display:flex;gap:.26rem;align-items:center;width:100%;}
.fs-ry-tally i{
  display:block;flex:1 1 0;min-width:.2rem;height:.34rem;border-radius:99px;
  background:rgb(var(--c-brand-600));opacity:.15;transform-origin:left center;
}
.fs-ry-tally i.is-on{opacity:1;}
.fs-ry-tally-sm{width:4.25rem;flex:0 0 auto;}
.fs-ry-tally-lg i{height:1.1rem;border-radius:.3rem;}
.fs-ry-anim .fs-ry-tally i.is-on{
  animation:fs-ry-tick .44s cubic-bezier(.2,.85,.3,1) both;
  animation-delay:calc(var(--i,0) * 26ms);
}
@keyframes fs-ry-tick{from{transform:scaleX(.12);opacity:0;}to{transform:scaleX(1);opacity:1;}}

.fs-ry-eyebrow{
  display:block;
  font-size:var(--fs-type-eyebrow,.75rem);font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;
  color:rgb(var(--c-brand-600));
}
.fs-ry-h{
  margin:0;
  font-size:var(--fs-type-h2,clamp(1.9rem,4vw,2.6rem));
  font-weight:var(--fs-type-h2-weight,650);
  letter-spacing:var(--fs-type-h2-tracking,-.015em);
  line-height:var(--fs-type-h2-leading,1.15);
  color:rgb(var(--c-ink-950));text-wrap:balance;
}
.fs-ry-sub{
  margin:0;max-width:62ch;
  font-size:var(--fs-type-body,1.0625rem);line-height:var(--fs-type-body-leading,1.62);
  color:rgb(var(--c-ink-700));text-wrap:pretty;
}
.fs-ry-head{display:flex;flex-direction:column;align-items:center;gap:.85rem;text-align:center;margin-bottom:var(--fs-space-heading,2.25rem);}
.fs-ry-head .fs-ry-sub{margin-inline:auto;}
.fs-ry-card{
  border-radius:var(--fs-radius-card,.85rem);
  padding:var(--fs-space-card,1.5rem);
  background:var(--fs-surface-bg, rgb(var(--c-paper)));
  border:var(--fs-surface-border, 1px solid rgb(var(--c-line)));
  box-shadow:var(--fs-surface-shadow, none);
  backdrop-filter:var(--fs-surface-blur, none);
}
.fs-ry-icon{
  display:flex;align-items:center;justify-content:center;
  width:2.75rem;height:2.75rem;flex:0 0 auto;border-radius:99px;
  background:rgb(var(--c-brand-600) / .1);
  color:rgb(var(--c-brand-600));
}
.fs-ry-icon svg{width:1.4rem;height:1.4rem;}
.fs-ry-num{
  font-variant-numeric:tabular-nums;
  font-size:clamp(2.1rem,4.6vw,3rem);line-height:1;font-weight:700;
  letter-spacing:-.02em;color:rgb(var(--c-ink-950));
}
.fs-ry-note{font-size:.82rem;line-height:1.5;color:rgb(var(--c-ink-400));}

.fs-ry .fs-ry-ctl{
  font-family:inherit;font-weight:650;letter-spacing:normal;text-transform:none;
}

.fs-ry-dots{
  position:absolute;inset:0;pointer-events:none;border-radius:inherit;
  background-image:radial-gradient(rgb(var(--c-ink-950) / .13) 1px, transparent 1px);
  background-size:14px 14px;
  -webkit-mask-image:linear-gradient(180deg, rgb(0 0 0 / .55), transparent 62%);
  mask-image:linear-gradient(180deg, rgb(0 0 0 / .55), transparent 62%);
}

/* ═════════ RESULTS COUNTER (favRallyCounters) ═════════ */
.fs-ry-ct-grid{display:grid;gap:clamp(1rem,2.4vw,1.6rem);grid-template-columns:repeat(2,minmax(0,1fr));}
@media (min-width:56rem){.fs-ry-ct-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}
.fs-ry-ct-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.6rem;position:relative;}
.fs-ry-ct-l{font-size:.95rem;font-weight:600;line-height:1.35;color:rgb(var(--c-ink-950));}
.fs-ry-ct-item .fs-ry-tally{width:2.6rem;}

/* ═════════ PROGRESS METER (favRallyMeter) ═════════ */
.fs-ry-mt-band{position:relative;overflow:hidden;}
.fs-ry-mt-fig{display:flex;flex-wrap:wrap;align-items:baseline;gap:.55rem;margin-bottom:1.1rem;}
.fs-ry-mt-of{font-size:1rem;color:rgb(var(--c-ink-400));}
.fs-ry-mt-goal{font-size:1.35rem;font-weight:650;color:rgb(var(--c-ink-700));font-variant-numeric:tabular-nums;}
.fs-ry-mt-pct{
  margin-left:auto;display:inline-flex;align-items:center;
  padding:.34rem .7rem;border-radius:99px;
  background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));
  font-size:.8rem;font-weight:700;letter-spacing:.04em;
}
.fs-ry-mt-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem;margin-top:.95rem;}
.fs-ry-mt-cta{
  display:inline-flex;align-items:center;padding:.5rem 1rem;border-radius:99px;
  background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));
  font-size:.88rem;font-weight:650;
}
.fs-ry-mt-facts{display:grid;gap:clamp(.8rem,2vw,1.2rem);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1.75rem;}
@media (max-width:34rem){.fs-ry-mt-facts{grid-template-columns:1fr;}}
.fs-ry-mt-fact{display:flex;flex-direction:column;gap:.2rem;padding-left:.9rem;border-left:2px solid rgb(var(--c-brand-600) / .35);}
.fs-ry-mt-ft{font-size:1.3rem;font-weight:700;line-height:1.1;color:rgb(var(--c-ink-950));font-variant-numeric:tabular-nums;}
.fs-ry-mt-fb{font-size:.85rem;line-height:1.45;color:rgb(var(--c-ink-700));}

/* ═════════ VALUES STATEMENT (favRallyManifesto) ═════════ */
.fs-ry-mf-inner{max-width:var(--fs-layout-max,72rem);margin-inline:auto;}
.fs-ry-mf-say{
  margin:1rem 0 0;max-width:20ch;
  font-size:clamp(2.3rem,6.4vw,4.3rem);line-height:1.04;font-weight:700;letter-spacing:-.03em;
  color:rgb(var(--c-ink-950));text-wrap:balance;
}
.fs-ry-mf-accent{color:rgb(var(--c-brand-600));}
.fs-ry-mf-list{display:grid;gap:clamp(1.4rem,3vw,2.4rem);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(2.4rem,5vw,3.4rem);}
@media (max-width:52rem){.fs-ry-mf-list{grid-template-columns:1fr;}}
.fs-ry-mf-item{display:flex;flex-direction:column;gap:.7rem;}

.fs-ry-mf-mark{display:flex;align-items:center;gap:.7rem;}
.fs-ry-mf-i{
  font-size:.78rem;font-weight:700;letter-spacing:.14em;line-height:1;
  color:rgb(var(--c-brand-600));font-variant-numeric:tabular-nums;
}
.fs-ry-mf-t{margin:0;font-size:1.2rem;font-weight:650;line-height:1.25;color:rgb(var(--c-ink-950));}
.fs-ry-mf-b{font-size:.95rem;line-height:1.62;color:rgb(var(--c-ink-700));}
.fs-ry-mf-foot{margin-top:clamp(2rem,4vw,2.8rem);display:flex;align-items:center;gap:.8rem;}
.fs-ry-mf-link{font-size:.95rem;font-weight:650;color:rgb(var(--c-brand-600));border-bottom:2px solid rgb(var(--c-brand-600) / .35);padding-bottom:.1rem;}

/* ═════════ OBJECTION GRID (favRallyObjections) ═════════ */
.fs-ry-ob-grid{display:grid;gap:clamp(.9rem,2vw,1.3rem);grid-template-columns:1fr;}
@media (min-width:52rem){.fs-ry-ob-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
.fs-ry-ob-card{display:flex;flex-direction:column;gap:.85rem;}

.fs-ry-ob-mark{display:flex;align-items:center;gap:.9rem;}
.fs-ry-ob-q{margin:0;font-size:1.05rem;font-weight:650;line-height:1.35;color:rgb(var(--c-ink-950));}
.fs-ry-ob-a{font-size:.94rem;line-height:1.6;color:rgb(var(--c-ink-700));}
.fs-ry-ob-cta{
  position:relative;overflow:hidden;display:flex;flex-wrap:wrap;align-items:center;
  gap:1rem 1.5rem;margin-top:clamp(.9rem,2vw,1.3rem);
  background:rgb(var(--c-brand-600) / .1) !important;
  border:1px solid rgb(var(--c-brand-600) / .3) !important;
  box-shadow:none !important;
}

.fs-ry-ob-cta .fs-ry-icon{background:rgb(var(--c-brand-600) / .18);}
@media (min-width:52rem){.fs-ry-ob-cta{grid-column:1 / -1;margin-top:0;}}
.fs-ry-ob-ctext{flex:1 1 18rem;display:flex;flex-direction:column;gap:.35rem;}
.fs-ry-ob-ct{margin:0;font-size:1.1rem;font-weight:700;color:rgb(var(--c-ink-950));}
.fs-ry-ob-cb{font-size:.92rem;line-height:1.55;color:rgb(var(--c-ink-700));max-width:52ch;}
.fs-ry-ob-cnum{
  font-size:clamp(1.3rem,3vw,1.7rem);font-weight:700;letter-spacing:-.01em;
  color:rgb(var(--c-brand-600));font-variant-numeric:tabular-nums;white-space:nowrap;
}

/* ═════════ TABBED PANELS (favRallyTabs) ═════════ */
.fs-ry-tb-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-bottom:1.6rem;}
@media (min-width:52rem){.fs-ry-tb-list{grid-template-columns:repeat(4,minmax(0,1fr));}}
.fs-ry .fs-ry-tb-tab{
  appearance:none;display:flex;flex-direction:column;gap:.6rem;width:100%;
  min-height:3.1rem;padding:.7rem .85rem;text-align:left;cursor:pointer;
  background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));
  border-radius:var(--fs-radius-card,.85rem);
  font-size:.95rem;color:rgb(var(--c-ink-700));
  transition:color .2s ease, background-color .2s ease, border-color .2s ease;
}
.fs-ry .fs-ry-tb-tab[aria-selected="true"]{
  color:rgb(var(--c-ink-950));
  background:rgb(var(--c-brand-600) / .1);
  border-color:rgb(var(--c-brand-600) / .45);
}
.fs-ry .fs-ry-tb-tab:hover{color:rgb(var(--c-ink-950));border-color:rgb(var(--c-brand-600) / .45);}
.fs-ry .fs-ry-tb-tab:focus-visible{outline:2px solid rgb(var(--c-brand-600));outline-offset:2px;}
.fs-ry-tb-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,18rem);gap:clamp(1.4rem,4vw,2.6rem);align-items:center;}

.fs-ry-tb-panel[hidden]{display:none;}
@media (max-width:52rem){.fs-ry-tb-panel{grid-template-columns:1fr;}}
.fs-ry-tb-panel:focus-visible{outline:2px solid rgb(var(--c-brand-600));outline-offset:4px;border-radius:var(--fs-radius-card,.85rem);}

.fs-ry-anim .fs-ry-tb-panel:not([hidden]) .fs-ry-tb-copy{animation:fs-ry-fade .34s ease both;}
@keyframes fs-ry-fade{from{opacity:0;transform:translateY(.5rem);}to{opacity:1;transform:none;}}
.fs-ry-tb-h{margin:0 0 .7rem;font-size:clamp(1.3rem,2.6vw,1.7rem);font-weight:650;line-height:1.2;color:rgb(var(--c-ink-950));}
.fs-ry-tb-b{font-size:1rem;line-height:1.62;color:rgb(var(--c-ink-700));}
.fs-ry-tb-points{list-style:none;margin:1.1rem 0 0;padding:0;display:flex;flex-direction:column;gap:.6rem;}
.fs-ry-tb-points li{display:flex;gap:.65rem;align-items:flex-start;font-size:.94rem;line-height:1.5;color:rgb(var(--c-ink-700));}
.fs-ry-tb-points svg{width:1.05rem;height:1.05rem;flex:0 0 auto;margin-top:.15rem;color:rgb(var(--c-brand-600));}
.fs-ry-tb-art{position:relative;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;background:rgb(var(--c-brand-600) / .07);}
.fs-ry-tb-art svg{width:78%;height:78%;color:rgb(var(--c-brand-600));}

/* ═════════ HOVER CARDS (favRallyReveal) ═════════ */
.fs-ry-rv-grid{display:grid;gap:clamp(.9rem,2vw,1.3rem);grid-template-columns:1fr;}
@media (min-width:40rem){.fs-ry-rv-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (min-width:64rem){.fs-ry-rv-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}

.fs-ry-rv-card{
  position:relative;overflow:hidden;display:flex;flex-direction:column;gap:.75rem;
  min-height:16rem;
  transition:transform .28s cubic-bezier(.2,.8,.3,1), box-shadow .28s ease;
}
.fs-ry-rv-card.is-open{transform:translateY(-.3rem);}

.fs-ry-rv-front{
  display:flex;flex-direction:column;gap:.75rem;flex:1;
  transition:opacity .22s ease;
}
.fs-ry-rv-card.is-open .fs-ry-rv-front{opacity:0;}
.fs-ry-rv-t{margin:0 0 .1rem;padding-right:2.4rem;font-size:1.08rem;font-weight:650;line-height:1.28;color:rgb(var(--c-ink-950));}
.fs-ry-rv-k{margin-top:auto;font-size:.8rem;font-weight:650;letter-spacing:.02em;color:rgb(var(--c-brand-600));}

.fs-ry-rv-back{
  position:absolute;left:0;right:0;top:42%;bottom:0;z-index:40;
  padding:1.1rem var(--fs-space-card,1.5rem) 1.2rem;
  background:rgb(var(--c-paper));
  border-top:1px solid rgb(var(--c-brand-600) / .3);
  overflow-y:auto;overscroll-behavior:contain;
  transform:translateY(101%);opacity:0;
  transition:transform .3s cubic-bezier(.2,.8,.3,1), opacity .22s ease;
}
.fs-ry-rv-card.is-open .fs-ry-rv-back{transform:none;opacity:1;}
.fs-ry-rv-b{font-size:.92rem;line-height:1.58;color:rgb(var(--c-ink-700));}
.fs-ry .fs-ry-rv-btn{
  appearance:none;position:absolute;top:.9rem;right:.9rem;z-index:41;
  display:inline-flex;align-items:center;justify-content:center;
  width:2.5rem;height:2.5rem;padding:0;cursor:pointer;
  background:rgb(var(--c-brand-600) / .12);border:0;border-radius:99px;
  color:rgb(var(--c-brand-600));
  transition:transform .28s cubic-bezier(.2,.8,.3,1), background-color .2s ease;
}
.fs-ry .fs-ry-rv-btn svg{width:1.1rem;height:1.1rem;}
.fs-ry .fs-ry-rv-btn:hover{background:rgb(var(--c-brand-600) / .22);}
.fs-ry .fs-ry-rv-btn:focus-visible{outline:2px solid rgb(var(--c-brand-600));outline-offset:2px;}
.fs-ry-rv-card.is-open .fs-ry-rv-btn{transform:rotate(180deg);}

@media (prefers-reduced-motion: reduce){
  .fs-ry *,.fs-ry *::before,.fs-ry *::after{animation:none !important;transition:none !important;}

  .fs-ry-rv-back{position:static !important;transform:none !important;opacity:1 !important;padding-inline:0 !important;margin-top:.9rem;}
  .fs-ry-rv-front{opacity:1 !important;}
  .fs-ry-rv-k{margin-top:0 !important;}
}


.fs-md{
  --fs-block-max:74rem;
  --md-ring:rgb(var(--c-brand-600) / .09);
  --md-contour:repeating-radial-gradient(circle at 88% 8%,
    transparent 0 26px, var(--md-ring) 26px 27px);
  position:relative;
  padding-block:var(--fs-space-section, clamp(3rem,7vw,5rem));
  padding-inline:clamp(1.25rem,5vw,3rem);
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
  overflow:hidden;
}
.fs-md *{box-sizing:border-box;}
/* signature wash */
.fs-md::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:var(--md-contour);
  -webkit-mask-image:radial-gradient(70% 60% at 88% 8%, currentColor 0%, transparent 72%);
  mask-image:radial-gradient(70% 60% at 88% 8%, currentColor 0%, transparent 72%);
}
.fs-md-inner{max-width:var(--fs-layout-max,74rem);margin-inline:auto;width:100%;position:relative;}
.fs-md-head{
  display:flex;flex-direction:column;gap:var(--fs-space-stack,.75rem);
  margin-block-end:var(--fs-space-heading,2.25rem);
}
.fs-md-eyebrow{color:rgb(var(--c-brand-600));}
.fs-md-h{color:rgb(var(--c-ink-950));margin:0;}
.fs-md-sub{color:rgb(var(--c-ink-700));margin:0;}

/* The pin */
.fs-md-pin{
  width:.5rem;height:.5rem;border-radius:50%;flex:0 0 auto;
  background:rgb(var(--c-brand-600));
  box-shadow:0 0 0 3px rgb(var(--c-brand-600) / .16);
  display:inline-block;margin-inline-end:.55rem;vertical-align:middle;
}
.fs-md-tick{width:1rem;height:1rem;flex:0 0 auto;color:rgb(var(--c-brand-600));}
.fs-md-cross{width:1rem;height:1rem;flex:0 0 auto;color:rgb(var(--c-ink-400));}


/* drawn art: one ground, one ink */
.fs-md-art{display:block;width:100%;height:100%;color:rgb(var(--c-brand-700));}
.fs-md-art-bg{fill:rgb(var(--c-brand-600) / .07);}

/* see header note 1 */
.fs-md .fs-md-ctl{
  font-family:inherit;font-weight:500;letter-spacing:normal;text-transform:none;
  text-align:left;color:rgb(var(--c-ink-950));background:transparent;
  border:0;cursor:pointer;padding:0;
}
.fs-md .fs-md-ctl:focus-visible{
  outline:2px solid rgb(var(--c-brand-600));outline-offset:3px;border-radius:.5rem;
}

/* 1. Spec cards */
.fs-md-sp-grid{display:grid;gap:1.25rem;grid-template-columns:1fr;list-style:none;margin:0;padding:0;}
@media(min-width:52rem){.fs-md-sp-grid{grid-template-columns:repeat(3,1fr);}}
.fs-md-sp-card{
  display:flex;flex-direction:column;overflow:hidden;
  border:1px solid rgb(var(--c-line));border-radius:var(--fs-radius-card,.75rem);
  background:rgb(var(--c-paper));box-shadow:var(--fs-shadow-card,none);
  transition:transform .25s ease, box-shadow .25s ease;
}
.fs-md-anim .fs-md-sp-card:hover{transform:translateY(-3px);box-shadow:var(--fs-shadow-lift,0 12px 28px rgb(var(--c-ink-950) / .10));}
.fs-md-sp-media{position:relative;aspect-ratio:16/10;background:rgb(var(--c-paper-soft));}
.fs-md-sp-media img{width:100%;height:100%;object-fit:cover;display:block;}
.fs-md-sp-price{
  position:absolute;left:.75rem;bottom:.75rem;z-index:2;
  background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));
  font-weight:700;font-size:.95rem;padding:.3rem .7rem;border-radius:999px;
  box-shadow:0 2px 10px rgb(var(--c-ink-950) / .18);
}
.fs-md-sp-body{padding:1.1rem 1.15rem 1.25rem;display:flex;flex-direction:column;gap:.5rem;flex:1;}
.fs-md-sp-t{margin:0;color:rgb(var(--c-ink-950));}
.fs-md-sp-s{margin:0;font-size:.9rem;color:rgb(var(--c-ink-700));display:flex;align-items:center;}
.fs-md-sp-chips{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:.15rem 0 0;padding:0;}
.fs-md-chip{
  font-size:.78rem;font-weight:600;letter-spacing:.01em;
  color:rgb(var(--c-ink-700));background:rgb(var(--c-brand-600) / .08);
  border:1px solid rgb(var(--c-brand-600) / .18);
  padding:.22rem .55rem;border-radius:999px;white-space:nowrap;
}
.fs-md-sp-n{margin:auto 0 0;padding-top:.6rem;font-size:.82rem;color:rgb(var(--c-ink-400));border-top:1px solid rgb(var(--c-line));}
.fs-md-sp-foot{margin:1.4rem 0 0;text-align:center;font-size:.9rem;color:rgb(var(--c-ink-700));}

/* 2. Expanding gallery */
.fs-md-rl-rail{display:flex;flex-direction:column;gap:.6rem;}
@media(min-width:52rem){
  .fs-md-rl-rail{flex-direction:row;height:26rem;gap:.7rem;}
}
.fs-md .fs-md-rl-panel{
  position:relative;overflow:hidden;display:block;width:100%;
  border:1px solid rgb(var(--c-line));border-radius:var(--fs-radius-card,.75rem);
  background:rgb(var(--c-paper-soft));min-height:7.5rem;
}
@media(min-width:52rem){
  .fs-md .fs-md-rl-panel{flex:1 1 0;min-width:0;height:100%;min-height:0;}
  /* see header note 2 */
  .fs-md-anim .fs-md-rl-panel{transition:flex-grow .38s cubic-bezier(.4,0,.2,1);}
  .fs-md .fs-md-rl-panel.is-open{flex-grow:3.4;}
}
.fs-md-rl-media{position:absolute;inset:0;display:block;}
.fs-md-rl-media img{width:100%;height:100%;object-fit:cover;display:block;}
.fs-md-rl-panel::after{
  content:'';position:absolute;inset:0;z-index:35;pointer-events:none;
  background:linear-gradient(180deg,transparent 34%,rgb(0 0 0 / .78) 100%);
}
/* see header note 3 */
.fs-md-rl-cap{
  position:absolute;left:0;right:0;bottom:0;z-index:40;
  display:flex;flex-direction:column;gap:.3rem;padding:.9rem 1rem;
}
.fs-md-rl-t{
  display:flex;align-items:center;font-weight:650;font-size:1rem;
  color:#fff;text-shadow:0 1px 3px rgb(0 0 0 / .55);
}
.fs-md-rl-t .fs-md-pin{background:#fff;box-shadow:0 0 0 3px rgb(255 255 255 / .3);}
.fs-md-rl-b{
  font-size:.85rem;line-height:1.45;color:rgb(255 255 255 / .94);
  text-shadow:0 1px 3px rgb(0 0 0 / .6);
}
@media(min-width:52rem){
  /* collapsed keeps title, drops sentence (text stays in DOM) */
  .fs-md-rl-b{opacity:0;transform:translateY(6px);max-height:0;overflow:hidden;}
  .fs-md-anim .fs-md-rl-b{transition:opacity .3s ease .06s, transform .3s ease .06s;}
  .fs-md-rl-panel.is-open .fs-md-rl-b{opacity:1;transform:none;max-height:8rem;}
}

/* 3. Area map */
.fs-md-mp-wrap{display:grid;gap:1.5rem;grid-template-columns:1fr;align-items:start;}
@media(min-width:56rem){.fs-md-mp-wrap{grid-template-columns:1.35fr 1fr;}}
.fs-md-mp-figure{
  border:1px solid rgb(var(--c-line));border-radius:var(--fs-radius-card,.75rem);
  overflow:hidden;background:rgb(var(--c-paper-soft));
}
.fs-md-mp-svg{display:block;width:100%;height:auto;}
.fs-md-mp-contours{color:rgb(var(--c-brand-600));opacity:.28;}
.fs-md-mp-roads{color:rgb(var(--c-ink-400));opacity:.5;}
.fs-md-mp-water{stroke:rgb(var(--c-ink-400) / .38);}
.fs-md-mp-halo{fill:rgb(var(--c-brand-600) / .14);opacity:0;transform-box:fill-box;transform-origin:center;}
.fs-md-anim .fs-md-mp-halo{transition:opacity .25s ease;}
.fs-md-mp-pin.is-on .fs-md-mp-halo{opacity:1;}
.fs-md-mp-dot{fill:rgb(var(--c-ink-400));}
.fs-md-mp-pin.is-on .fs-md-mp-dot{fill:rgb(var(--c-brand-600));}
.fs-md-mp-num{
  font-size:7px;font-weight:700;fill:rgb(var(--c-paper));
  font-family:inherit;pointer-events:none;
}
.fs-md-mp-list{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0;}
.fs-md .fs-md-mp-item{
  display:flex;gap:.75rem;align-items:flex-start;width:100%;
  padding:.7rem .8rem;border-radius:var(--fs-radius-card,.75rem);
  border:1px solid rgb(var(--c-line));background:rgb(var(--c-paper));
}
.fs-md-anim .fs-md-mp-item{transition:border-color .2s ease, background-color .2s ease;}
.fs-md .fs-md-mp-item.is-on{
  border-color:rgb(var(--c-brand-600) / .5);background:rgb(var(--c-brand-600) / .06);
}
.fs-md-mp-badge{
  flex:0 0 auto;width:1.55rem;height:1.55rem;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:.78rem;font-weight:700;
  background:rgb(var(--c-brand-600) / .12);color:rgb(var(--c-ink-950));
}
.fs-md .fs-md-mp-item.is-on .fs-md-mp-badge{background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));}
.fs-md-mp-copy{display:flex;flex-direction:column;gap:.15rem;min-width:0;}
.fs-md-mp-t{font-weight:650;font-size:.95rem;color:rgb(var(--c-ink-950));}
.fs-md-mp-d{font-size:.82rem;color:rgb(var(--c-ink-700));}

/* 4. What's included */
.fs-md-in-cols{display:grid;gap:1.25rem;grid-template-columns:1fr;align-items:start;}
@media(min-width:52rem){.fs-md-in-cols{grid-template-columns:1.25fr 1fr;}}
.fs-md-in-col{
  padding:1.25rem 1.3rem;border-radius:var(--fs-radius-card,.75rem);
  border:1px solid rgb(var(--c-line));background:rgb(var(--c-paper));
}
.fs-md-in-yes{background:rgb(var(--c-brand-600) / .05);border-color:rgb(var(--c-brand-600) / .22);}
.fs-md-in-no{background:rgb(var(--c-paper-soft));}
.fs-md-in-ct{
  margin:0 0 .85rem;font-size:.78rem;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:rgb(var(--c-ink-700));
}
.fs-md-in-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem;}
.fs-md-in-col li{display:flex;gap:.6rem;align-items:flex-start;font-size:.95rem;line-height:1.45;color:rgb(var(--c-ink-700));}
.fs-md-in-yes li{color:rgb(var(--c-ink-950));}
.fs-md-in-note{
  display:flex;align-items:flex-start;margin:1.25rem 0 0;
  font-size:.9rem;color:rgb(var(--c-ink-700));
}
.fs-md-in-note .fs-md-pin{margin-top:.42rem;}

/* 6. Result cards */
.fs-md-rs-grid{display:grid;gap:1.25rem;grid-template-columns:1fr;list-style:none;margin:0;padding:0;}
@media(min-width:52rem){.fs-md-rs-grid{grid-template-columns:repeat(3,1fr);}}
.fs-md-rs-card{
  position:relative;overflow:hidden;display:flex;flex-direction:column;gap:.35rem;
  padding:1.4rem 1.35rem;border-radius:var(--fs-radius-card,.75rem);
  border:1px solid rgb(var(--c-line));background:rgb(var(--c-paper));
  box-shadow:var(--fs-shadow-card,none);
}
/* motif as target */
.fs-md-rs-target{
  position:absolute;top:-3.2rem;right:-3.2rem;width:11rem;height:11rem;
  border-radius:50%;pointer-events:none;
  background:repeating-radial-gradient(circle at center,
    transparent 0 14px, rgb(var(--c-brand-600) / .14) 14px 15px);
}
.fs-md-rs-f{
  font-size:clamp(2rem,4.4vw,2.7rem);font-weight:750;line-height:1.05;
  letter-spacing:-.02em;color:rgb(var(--c-brand-700));
}
.fs-md-rs-l{
  font-size:.75rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-md-rs-b{margin:.5rem 0 0;font-size:.93rem;line-height:1.5;color:rgb(var(--c-ink-700));}
.fs-md-rs-w{
  display:flex;align-items:center;margin:auto 0 0;padding-top:.85rem;
  font-size:.8rem;color:rgb(var(--c-ink-400));border-top:1px solid rgb(var(--c-line));
}
.fs-md-rs-note{margin:1.25rem 0 0;font-size:.85rem;color:rgb(var(--c-ink-400));}

/* 8. Distances */
.fs-md-di-rail{
  list-style:none;margin:0;padding:0;display:grid;gap:1rem;grid-template-columns:1fr;
}
@media(min-width:52rem){
  .fs-md-di-rail{grid-template-columns:repeat(5,1fr);gap:.6rem;position:relative;}
  /* contour line */
  .fs-md-di-rail::before{
    content:'';position:absolute;left:8%;right:8%;top:.62rem;height:2px;
    background:repeating-linear-gradient(90deg,
      rgb(var(--c-brand-600) / .35) 0 8px, transparent 8px 14px);
  }
}
.fs-md-di-stop{
  display:flex;flex-direction:column;gap:.2rem;position:relative;
  padding:0 0 0 1.6rem;
}
@media(min-width:52rem){
  .fs-md-di-stop{padding:2.1rem .3rem 0;text-align:center;align-items:center;}
}
.fs-md-di-mark{
  position:absolute;left:0;top:.28rem;width:.85rem;height:.85rem;border-radius:50%;
  background:rgb(var(--c-brand-600));box-shadow:0 0 0 4px rgb(var(--c-brand-600) / .15), 0 0 0 8px rgb(var(--c-paper));
}
@media(min-width:52rem){
  .fs-md-di-mark{left:50%;top:.2rem;transform:translateX(-50%);}
}
.fs-md-di-t{font-weight:650;font-size:.95rem;color:rgb(var(--c-ink-950));}
.fs-md-di-d{
  font-size:1.15rem;font-weight:700;letter-spacing:-.01em;color:rgb(var(--c-ink-950));
}
.fs-md-di-bar{
  display:block;width:100%;max-width:7rem;height:3px;border-radius:999px;
  background:rgb(var(--c-brand-600) / .14);overflow:hidden;margin:.35rem 0 .1rem;
}
.fs-md-di-bar i{
  display:block;height:100%;border-radius:999px;
  width:var(--md-at,50%);background:rgb(var(--c-brand-600) / .7);
}
.fs-md-di-n{font-size:.8rem;color:rgb(var(--c-ink-400));}
.fs-md-di-note{margin:1.4rem 0 0;font-size:.85rem;color:rgb(var(--c-ink-400));}

/* ── Hosted inside a fluid column ─────────────────────────────
   the chrome only stacks [data-fs-grid]; these grids stack themselves */
.fs-nested-block .fs-md-sp-grid,
.fs-nested-block .fs-md-rs-grid,
.fs-nested-block .fs-md-in-cols,
.fs-nested-block .fs-md-mp-wrap,
.fs-nested-block .fs-md-di-rail{grid-template-columns:1fr !important;}
.fs-nested-block .fs-md-rl-rail{flex-direction:column !important;height:auto !important;}
.fs-nested-block .fs-md-rl-panel{flex:1 1 auto !important;min-height:7.5rem !important;height:auto !important;}
.fs-nested-block .fs-md-rl-b{opacity:1 !important;transform:none !important;max-height:8rem !important;}
.fs-nested-block .fs-md-di-rail::before{display:none !important;}
.fs-nested-block .fs-md-di-stop{padding:0 0 0 1.6rem !important;text-align:left !important;align-items:flex-start !important;}
.fs-nested-block .fs-md-di-mark{left:0 !important;top:.28rem !important;transform:none !important;}

/* Motion */
@media (prefers-reduced-motion: reduce){
  .fs-md *{transition:none !important;animation:none !important;}
  /* Finished state, never half-drawn — but only where it fits: a
     collapsed panel is ~127px wide and would clip the sentence. */
  .fs-md-rl-panel.is-open .fs-md-rl-b{opacity:1 !important;transform:none !important;max-height:8rem !important;}
}


.fs-mq{
  position:relative;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-mq *{box-sizing:border-box;}

/* ── Shared motifs ──────────────────────────────────────────────
   The swept arc: a top edge curved by an elliptical radius. */
.fs-mq-arc{
  display:block;width:9rem;height:2rem;
  border-top:1.5px solid rgb(var(--c-accent, var(--c-brand-600)));
  border-radius:50% / 100% 100% 0 0;
}
@keyframes fs-mq-sweep{from{clip-path:inset(0 100% 0 0);}to{clip-path:inset(0 0 0 0);}}
.fs-mq-anim .fs-mq-arc{animation:fs-mq-sweep 1s cubic-bezier(.22,.61,.36,1) both;}
.fs-mq-wire .fs-mq-arc{border-color:rgb(var(--c-ink-950));}

/* Small-caps label, tracked wide — the set's only "badge". */
.fs-mq-label{
  display:block;
  font-size:.68rem;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}

/* Type */
.fs-mq-title{
  margin:1.2rem 0 0;
  font-family:var(--font-display, ui-sans-serif, system-ui, sans-serif);
  font-size:clamp(2.1rem,4.6vw,3.4rem);
  font-weight:400;line-height:1.14;letter-spacing:-0.012em;
  text-wrap:balance;
}
.fs-mq-accent{color:rgb(var(--c-brand-600));}
.fs-mq-sub{
  margin-top:1rem;max-width:36rem;
  font-size:1rem;line-height:1.7;
  color:rgb(var(--c-ink-700));
}
.fs-mq-h{
  margin:0;
  font-family:var(--font-display, ui-sans-serif, system-ui, sans-serif);
  font-size:var(--fs-type-h2, clamp(1.7rem,3vw,2.4rem));
  font-weight:var(--fs-type-h2-weight, 400);
  letter-spacing:var(--fs-type-h2-tracking, -0.012em);
  line-height:var(--fs-type-h2-leading, 1.2);
  text-wrap:balance;
}

/* Buttons — spans in previews. Quiet: outline first, fill on hover. */
.fs-mq-ctas{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.8rem;}
.fs-mq-btn,.fs-mq-btn2{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.8rem 1.6rem;cursor:pointer;
  border-radius:var(--fs-radius-pill, 999px);
  font-size:.82rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  transition:background-color .2s ease, color .2s ease, border-color .2s ease;
}
.fs-mq-btn{
  background:rgb(var(--c-brand-600));
  color:rgb(var(--c-paper));
  border:1px solid rgb(var(--c-brand-600));
}
.fs-mq-btn:hover{background:rgb(var(--c-brand-700));border-color:rgb(var(--c-brand-700));}
.fs-mq-btn2{
  background:transparent;
  color:rgb(var(--c-ink-950));
  border:1px solid rgb(var(--c-ink-950) / .45);
}
.fs-mq-btn2:hover{border-color:rgb(var(--c-brand-600));color:rgb(var(--c-brand-600));}
.fs-mq-btn:focus-visible,.fs-mq-btn2:focus-visible{outline:2px solid rgb(var(--c-brand-600));outline-offset:3px;}

/* ═════════ HERO (favMarqueHero) ═════════ */
.fs-mq-hero{padding:var(--fs-space-section, clamp(2.4rem,5vw,3.8rem)) clamp(1rem,4vw,2.5rem);}
.fs-mq-hero-inner{
  max-width:var(--fs-layout-max,74rem);margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(2rem,5vw,3.5rem);align-items:center;
}
@media (max-width:940px){.fs-mq-hero-inner{grid-template-columns:1fr;gap:2.4rem;}}
.fs-mq-hero-arc{margin-top:1.6rem;}
/* The stat row: hairline-separated, tabular, no cards. */
.fs-mq-stats{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1.2rem;margin:2.2rem 0 0;padding-top:1.2rem;
  border-top:1px solid rgb(var(--c-line));
}
.fs-mq-stat{display:flex;flex-direction:column;gap:.2rem;margin:0;}
.fs-mq-stat-v{
  font-family:var(--font-display, ui-sans-serif, system-ui, sans-serif);
  font-size:1.4rem;font-weight:500;font-variant-numeric:tabular-nums;
  color:rgb(var(--c-ink-950));
}
.fs-mq-stat-l{
  margin:0;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
@media (max-width:560px){.fs-mq-stats{grid-template-columns:1fr;gap:.9rem;}}

/* The frame: a hairline keyline offset behind the image, no shadow. */
.fs-mq-stage{position:relative;display:flex;justify-content:center;padding:.9rem;}
.fs-mq-frame{
  position:relative;
  width:min(30rem,100%);aspect-ratio:4 / 3;overflow:hidden;
  border-radius:var(--fs-radius-card, 1.75rem);
  background:rgb(var(--c-paper-soft));
}
.fs-mq-frame img{width:100%;height:100%;object-fit:cover;display:block;}
.fs-mq-frame > *{width:100%;height:100%;}
.fs-mq-frame-key{
  position:absolute;inset:-.9rem;width:auto;height:auto;
  border:1px solid rgb(var(--c-line));
  border-radius:calc(var(--fs-radius-card, 1.75rem) + .6rem);
  pointer-events:none;
}
.fs-mq-frame-fallback{
  display:block;width:100%;height:100%;
  background:
    radial-gradient(120% 90% at 20% 0%, rgb(var(--c-accent, var(--c-brand-600)) / .35), transparent 60%),
    linear-gradient(160deg, rgb(var(--c-brand-600) / .5), rgb(var(--c-ink-950) / .55));
}
.fs-mq-wire .fs-mq-frame-key,.fs-mq-wire .fs-mq-frame-fallback{display:none;}

/* ═════════ PAGE HEADER (favMarqueHeader) ═════════ */
.fs-mq-hd{padding:var(--fs-space-section, clamp(2.2rem,4.5vw,3.4rem)) clamp(1rem,4vw,2.5rem);}
.fs-mq-hd-inner{max-width:var(--fs-layout-max,74rem);margin:0 auto;}
.fs-mq-hd-title{font-size:clamp(1.9rem,4vw,3rem);}
.fs-mq-hd-arc{margin-top:1.4rem;}
.fs-mq-hd .fs-mq-sub{max-width:min(42rem, var(--fs-layout-clamp, 42rem));}

/* ═════════ FINISH — the interactive cross-section ═════════ */
.fs-mq-fin{padding:var(--fs-space-section, clamp(2.4rem,5vw,3.8rem)) clamp(1rem,4vw,2.5rem);}
.fs-mq-fin-head{max-width:var(--fs-layout-max,66rem);margin:0 auto 1.8rem;}
.fs-mq-fin-body{
  max-width:var(--fs-layout-max,66rem);margin:0 auto;
  display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(1.4rem,3.5vw,2.8rem);align-items:center;
}
@media (max-width:880px){.fs-mq-fin-body{grid-template-columns:1fr;}}
.fs-mq-fin-figure{position:relative;}
.fs-mq-fin-svg{width:100%;height:auto;display:block;overflow:visible;}
/* Strata: separated by tone, raised a hair when selected. */
.fs-mq-fin-band{
  opacity:.42;
  transition:opacity .35s ease, transform .35s ease;
  transform-box:fill-box;transform-origin:center;
}
.fs-mq-fin-band.is-on{opacity:1;transform:translateY(-6px);}
.fs-mq-fin-caliper{
  transition:transform .35s cubic-bezier(.22,.61,.36,1);
  stroke:rgb(var(--c-accent, var(--c-brand-600)));
  stroke-width:1.6;fill:none;
}
/* NO text-transform here. Uppercasing this line turns "µm" into
   "ΜM", which reads as millimetres — a thousandfold error on a
   figure the whole block exists to state precisely. Small-caps
   tracking without the transform gets the same look safely. */
.fs-mq-fin-depth{
  display:block;margin-top:.7rem;
  font-size:.72rem;letter-spacing:.14em;
  font-variant-numeric:tabular-nums;
  color:rgb(var(--c-ink-400));
}
.fs-mq-fin-list{display:flex;flex-direction:column;}
/* Double-classed: the editor's typography layer paints every canvas
   <button> with --fs-btn-color (white by default), which would wash
   these rows out entirely. */
.fs-mq .fs-mq-fin-tab{
  display:flex;flex-direction:column;gap:.35rem;
  padding:.95rem .2rem;cursor:pointer;text-align:left;
  font-family:inherit;font-size:inherit;letter-spacing:0;text-transform:none;
  background:transparent;border:0;
  border-top:1px solid rgb(var(--c-line));
  color:rgb(var(--c-ink-950));
  transition:padding-left .25s ease, border-color .25s ease;
}
.fs-mq .fs-mq-fin-tab:last-child{border-bottom:1px solid rgb(var(--c-line));}
.fs-mq .fs-mq-fin-tab.is-on{
  padding-left:.9rem;
  border-top-color:rgb(var(--c-brand-600));
}
.fs-mq .fs-mq-fin-tab:focus-visible{outline:2px solid rgb(var(--c-brand-600));outline-offset:2px;}
.fs-mq-fin-tab-top{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;}
.fs-mq-fin-tab-name{
  font-family:var(--font-display, ui-sans-serif, system-ui, sans-serif);
  font-size:1.05rem;font-weight:500;
}
.fs-mq .fs-mq-fin-tab.is-on .fs-mq-fin-tab-name{color:rgb(var(--c-brand-600));}
.fs-mq-fin-tab-um{
  font-size:.76rem;letter-spacing:.1em;font-variant-numeric:tabular-nums;
  color:rgb(var(--c-ink-400));
}
.fs-mq-fin-tab-body{
  font-size:.88rem;line-height:1.6;color:rgb(var(--c-ink-700));
  max-height:0;opacity:0;overflow:hidden;
  transition:max-height .35s ease, opacity .3s ease;
}
.fs-mq .fs-mq-fin-tab.is-on .fs-mq-fin-tab-body{max-height:12rem;opacity:1;}
.fs-mq-fin-note{
  max-width:var(--fs-layout-max,66rem);margin:1.4rem auto 0;
  font-size:.8rem;line-height:1.6;color:rgb(var(--c-ink-400));
}
/* Wireframe / reduced motion: every stratum shown, nothing hidden. */
.fs-mq-wire .fs-mq-fin-band{opacity:1;transform:none;}
.fs-mq-wire .fs-mq-fin-tab-body{max-height:none;opacity:1;}

/* ═════════ LEDGER (favMarqueLedger) ═════════ */
.fs-mq-lg{padding:var(--fs-space-section, clamp(2.4rem,5vw,3.8rem)) clamp(1rem,4vw,2.5rem);}
.fs-mq-lg-head{max-width:var(--fs-layout-max,60rem);margin:0 auto 1.8rem;}
.fs-mq-lg-table{max-width:var(--fs-layout-max,60rem);margin:0 auto;}
.fs-mq-lg-row{
  display:grid;
  grid-template-columns:auto 1fr auto;
  grid-template-areas:'name rule price' 'note note note';
  align-items:baseline;gap:.2rem .8rem;
  padding:1rem 0;
  border-top:1px solid rgb(var(--c-line));
}
.fs-mq-lg-row:last-child{border-bottom:1px solid rgb(var(--c-line));}
.fs-mq-lg-name{
  grid-area:name;
  font-family:var(--font-display, ui-sans-serif, system-ui, sans-serif);
  font-size:1.02rem;font-weight:500;
}
/* The dotted leader — a ledger, not a table. */
.fs-mq-lg-rule{
  grid-area:rule;height:1px;align-self:center;
  background-image:radial-gradient(circle, rgb(var(--c-ink-400)) .5px, transparent .5px);
  background-size:5px 1px;background-repeat:repeat-x;
}
.fs-mq-lg-price{
  grid-area:price;
  font-size:1rem;font-weight:600;font-variant-numeric:tabular-nums;
  color:rgb(var(--c-brand-600));
}
.fs-mq-lg-note{
  grid-area:note;margin-top:.15rem;
  font-size:.86rem;line-height:1.55;color:rgb(var(--c-ink-700));
  max-width:min(44rem, var(--fs-layout-clamp, 44rem));
}
.fs-mq-lg-foot{
  max-width:var(--fs-layout-max,60rem);margin:1.2rem auto 0;
  font-size:.8rem;line-height:1.6;color:rgb(var(--c-ink-400));
}
.fs-mq-wire .fs-mq-lg-rule{background:none;border-bottom:1px dashed rgb(var(--c-ink-950));}

/* ═════════ CTA (favMarqueCta) ═════════ */
.fs-mq-cta{padding:var(--fs-space-section, clamp(2.4rem,5vw,3.8rem)) clamp(1rem,4vw,2.5rem);}
.fs-mq-cta-panel{
  position:relative;max-width:min(52rem, var(--fs-layout-clamp, 52rem));margin:0 auto;
  padding:clamp(1.8rem,4vw,3rem);
  border:1px solid rgb(var(--c-line));
  border-radius:var(--fs-radius-card, 1.75rem);
  background:rgb(var(--c-paper-soft));
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.fs-mq-cta-arc{margin:0 auto .4rem;}
.fs-mq-cta-title{margin-top:.9rem;font-size:clamp(1.7rem,3.4vw,2.6rem);}
.fs-mq-cta-sub{max-width:34rem;}
.fs-mq-cta-phone{
  margin-top:1.2rem;
  font-family:var(--font-display, ui-sans-serif, system-ui, sans-serif);
  font-size:clamp(1.5rem,3vw,2.2rem);
  font-weight:500;letter-spacing:.02em;font-variant-numeric:tabular-nums;
  color:rgb(var(--c-brand-600));
}
.fs-mq-cta-actions{margin-top:1.2rem;justify-content:center;}
.fs-mq-cta-note{
  margin-top:1rem;
  font-size:.7rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:rgb(var(--c-ink-700));
}

/* Motion discipline: nothing in the set moves without input. */
@media (prefers-reduced-motion: reduce){
  .fs-mq,.fs-mq *,.fs-mq *::before,.fs-mq *::after{
    animation:none !important;transition:none !important;
  }
  .fs-mq-fin-band{opacity:1 !important;transform:none !important;}
  .fs-mq-fin-tab-body{max-height:none !important;opacity:1 !important;}
}

/* ── favMarqueFooter (theme-chrome batch 5, Concours) ──────────────
   The band is the full-bleed container fs-mq-ft (the surface tone under
   one hairline); the content box is the named container fs-mq-ft-in.
   Never uppercase a line holding µm. */
.fs-mq-ft{container-type:inline-size;container-name:fs-mq-ft;padding:0 clamp(1rem,4vw,2.5rem);background:rgb(var(--c-paper-soft));border-top:1px solid var(--mq-ft-rule);--mq-ft-rule:rgb(var(--c-ink-950) / .14);--mq-ft-note:color-mix(in srgb, rgb(var(--c-ink-950)) 74%, rgb(var(--c-paper)));--mq-ft-metal:rgb(var(--c-accent, var(--c-brand-600)));--mq-ft-leader:rgb(var(--c-ink-400))}
.fs-mq-ft:is(.dark *):not(.fs-preview-light *){--mq-ft-rule:rgb(var(--c-ink-950) / .16)}
.fs-mq-ft-in{container-type:inline-size;container-name:fs-mq-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:44px 28px;font-size:15px;line-height:1.55}
.fs-mq-ft-st-sub{fill:color-mix(in srgb, rgb(var(--c-ink-950)) 58%, rgb(var(--c-paper)))}
.fs-mq-ft-st-pri{fill:color-mix(in srgb, rgb(var(--c-ink-950)) 24%, rgb(var(--c-paper)))}
.fs-mq-ft-st-base{fill:rgb(var(--c-brand-600))}
.fs-mq-ft-st-clear{fill:rgb(var(--c-accent, var(--c-brand-600)) / .3)}
.fs-mq-ft-st-gloss{fill:none;stroke:var(--mq-ft-metal);stroke-width:1.25px}
.fs-mq-ft-sect{display:grid;gap:8px}
.fs-mq-ft-art{display:block;width:100%;height:38px}
.fs-mq-ft-depth{justify-self:end;margin-top:0;text-align:right;font-size:12px;letter-spacing:.12em;font-variant-numeric:tabular-nums;color:rgb(var(--c-ink-400))}
.fs-mq-ft-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.85fr) minmax(0,1fr) minmax(0,1.1fr);gap:34px clamp(28px,3.4cqi,52px);margin-top:34px}
.fs-mq-ft-col{min-width:0}
.fs-mq-ft-label{display:block;padding-bottom:12px;margin-bottom:6px;border-bottom:1px solid var(--mq-ft-rule);font:500 10.5px/1.3 var(--font-display, Jost,Futura,"Century Gothic",sans-serif);letter-spacing:.24em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
.fs-mq-ft-name{margin-top:2px;font:400 24px/1.15 var(--font-display, Jost,Futura,"Century Gothic",sans-serif);letter-spacing:-.005em;color:rgb(var(--c-ink-950))}
.fs-mq-ft-arc{display:block;width:5rem;height:.85rem;margin-top:10px;border-top:1.5px solid var(--mq-ft-metal);border-radius:50%/100% 100% 0 0}
.fs-mq-ft-p{margin-top:6px;max-width:34ch;font-size:14px;line-height:1.6;color:var(--mq-ft-note)}
.fs-mq-ft-tel{display:inline-block;margin-top:12px;font:500 21px/1.1 var(--font-display, Jost,Futura,"Century Gothic",sans-serif);letter-spacing:.02em;font-variant-numeric:tabular-nums;color:rgb(var(--c-brand-text))}
.fs-mq-ft-mail{display:block;margin-top:6px;font-size:14px;color:rgb(var(--c-ink-950));overflow-wrap:anywhere}
.fs-mq-ft-links{list-style:none;margin:0;padding:0}
.fs-mq-ft-li{border-bottom:1px solid var(--mq-ft-rule)}
.fs-mq-ft-link{display:block;padding-block:8px;font:400 15.5px/1.35 var(--font-display, Jost,Futura,"Century Gothic",sans-serif);color:rgb(var(--c-ink-950))}
.fs-mq-ft-link:hover{color:rgb(var(--c-brand-text))}
.fs-mq-ft-ledger{list-style:none;margin:0;padding:0}
.fs-mq-ft-lrow{display:grid;grid-template-columns:auto minmax(12px,1fr) auto;align-items:baseline;gap:10px;padding-block:8px;border-bottom:1px solid var(--mq-ft-rule);font-size:14px}
.fs-mq-ft-lrule{height:1px;align-self:center;background-image:radial-gradient(circle,var(--mq-ft-leader) .65px,transparent .75px);background-size:5px 1px;background-repeat:repeat-x}
.fs-mq-ft-lk{font:400 15.5px/1.35 var(--font-display, Jost,Futura,"Century Gothic",sans-serif);color:rgb(var(--c-ink-950))}
.fs-mq-ft-lv{font-weight:600;font-size:14px;line-height:1.35;font-variant-numeric:tabular-nums;white-space:nowrap;color:rgb(var(--c-brand-text))}
.fs-mq-ft-cert{display:inline-block;align-self:flex-start;margin-top:14px;padding-bottom:4px;border-bottom:1px solid var(--mq-ft-metal);font:500 11.5px/1.3 var(--font-display, Jost,Futura,"Century Gothic",sans-serif);letter-spacing:.18em;text-transform:uppercase;color:rgb(var(--c-ink-950))}
.fs-mq-ft-cert:hover{color:rgb(var(--c-brand-text))}
.fs-mq-ft-legal{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:38px;padding-top:16px;border-top:1px solid var(--mq-ft-rule);font:500 10.5px/1.5 var(--font-display, Jost,Futura,"Century Gothic",sans-serif);letter-spacing:.16em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
.fs-mq-ft-sep{display:inline-block;flex:none;width:16px;height:6px;border-top:1.5px solid var(--mq-ft-metal);border-radius:50%/100% 100% 0 0;transform:translateY(1px)}
.fs-mq-ft-legal-a{color:var(--mq-ft-note);white-space:nowrap}
.fs-mq-ft-legal-a:hover{color:rgb(var(--c-ink-950))}
.fs-mq-ft-lg-first{display:inline-flex;align-items:center;gap:14px;flex-wrap:wrap;margin-right:auto}
.fs-mq-ft-lg-links{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px 14px;min-width:0}
@container fs-mq-ft (max-width: 40rem){
  .fs-mq-ft-in{padding-block:34px 24px}
}
@container fs-mq-ft-in (max-width: 60rem){
  .fs-mq-ft-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-mq-ft-lg-first{flex-basis:100%}
}
@container fs-mq-ft (max-width: 48rem){
  .fs-mq-ft-grid{grid-template-columns:minmax(0,1fr);gap:30px}
  .fs-mq-ft-art{height:30px}
}
@media (prefers-reduced-motion: reduce){
  .fs-mq-ft-link,.fs-mq-ft-cert{transition:none}
}


.fs-fr{
  position:relative;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));

  /* ── The two scene roles the light timeline draws with ──────────
     A landscape has dark ground and a bright sun in BOTH modes — a
     night scene is not a photographic negative of a day one. So the
     illustration cannot reach for --c-ink-950 and --c-paper, because
     those swap meaning when the palette flips: in dark mode ink is
     the near-white and paper the near-black, which turned the first
     cut of this scene into cream hills under a black sun.

     Swapping them behind a .dark selector was the obvious fix and
     the wrong one — the editor shell and the published page both
     carry dark-mode classes of their own, so the scene inverted
     whenever the DASHBOARD was dark regardless of the preview.

     Mixing instead makes it true by construction: land is always the
     brand pulled most of the way to black, sun is always the accent
     pulled most of the way to white. Both stay tinted by the active
     palette, neither can invert, and no ancestor class is involved.
     Depth comes from element opacity rather than colour alpha, so
     these stay plain colours the SVG can use directly. */
  --fr-land: color-mix(in srgb, rgb(var(--c-brand-600)) 40%, #0E0B08);
  --fr-sun: color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 24%, #FFFFFF);
}
.fs-fr *{box-sizing:border-box;}

/* ── Type ─────────────────────────────────────────────────────── */
.fs-fr-eyebrow{
  display:inline-flex;align-items:center;gap:.6rem;
  color:rgb(var(--c-brand-600));
  font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
}
.fs-fr-eyebrow::before{
  content:'';width:1.5rem;height:2px;flex:none;
  background:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-fr-title{
  margin:1rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(2.2rem,4.8vw,3.7rem);
  line-height:1.1;font-weight:700;letter-spacing:-.015em;
  color:rgb(var(--c-ink-950));
  text-wrap:balance;
}
.fs-fr-accent{color:rgb(var(--c-brand-600));}
.fs-fr-h{
  margin:.85rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(1.75rem,3.2vw,2.6rem);
  line-height:1.16;font-weight:700;letter-spacing:-.012em;
  color:rgb(var(--c-ink-950));
  text-wrap:balance;
}
.fs-fr-sub{
  margin:1.1rem 0 0;max-width:56ch;
  font-size:clamp(1rem,1.4vw,1.08rem);line-height:1.72;
  color:rgb(var(--c-ink-700));
  text-wrap:pretty;
}
.fs-fr-note{
  margin:1.6rem auto 0;max-width:var(--fs-layout-max,60rem);
  font-size:.82rem;line-height:1.6;
  color:rgb(var(--c-ink-400));
}

/* ── Buttons ──────────────────────────────────────────────────── */
.fs-fr-ctas{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;margin-top:1.9rem;align-items:center;}
.fs-fr-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:2.9rem;padding:.9rem 1.85rem;
  border-radius:var(--fs-radius-control, .5rem);
  font-size:.9rem;font-weight:700;line-height:1;letter-spacing:.02em;white-space:nowrap;
  color:rgb(var(--c-paper));
  background:rgb(var(--c-brand-600));
  box-shadow:var(--fs-shadow-card, 0 4px 16px -6px rgb(var(--c-ink-950) / .16));
  transition:background .25s ease, transform .25s ease, box-shadow .25s ease;
}
.fs-fr-btn:hover{
  background:rgb(var(--c-brand-700, var(--c-brand-600)));
  transform:translateY(-2px);
  box-shadow:var(--fs-shadow-lift, 0 22px 44px rgb(var(--c-ink-950) / .18));
}
.fs-fr .fs-fr-link{
  display:inline-flex;align-items:center;gap:.45rem;min-height:2.75rem;
  padding:.7rem 0 .45rem;
  font-size:.9rem;font-weight:700;
  color:rgb(var(--c-ink-950));
  border-bottom:2px solid rgb(var(--c-accent, var(--c-brand-600)));
  transition:color .25s ease;
}
.fs-fr .fs-fr-link:hover{color:rgb(var(--c-brand-600));}

/* ── Motif 1 — THE MOUNT ──────────────────────────────────────── */
.fs-fr-mount{
  /* Published as a variable because the grease-pencil ring has to start
     at the plate's edge, which is exactly one padding in from the mount.
     Reading it back beats repeating the clamp() in two places and having
     them drift. */
  --fs-fr-pad:clamp(.85rem,1.6vw,1.15rem);
  position:relative;margin:0;
  padding:var(--fs-fr-pad);
  border-radius:var(--fs-radius-card, .75rem);
  background:rgb(var(--c-paper-soft));
  box-shadow:var(--fs-shadow-card, 0 4px 16px -6px rgb(var(--c-ink-950) / .16));
}
.fs-fr-plate{
  position:relative;overflow:hidden;
  border-radius:calc(var(--fs-radius-card, .75rem) * .4);
  outline:1px solid rgb(var(--c-line));
  outline-offset:-1px;
  background:rgb(var(--c-brand-50));
}
.fs-fr-plate img{display:block;width:100%;height:100%;object-fit:cover;}
.fs-fr-plate-fallback{
  display:block;aspect-ratio:4 / 3;
  background:
    radial-gradient(circle at 70% 26%, rgb(var(--c-paper) / .85) 0 9%, transparent 9.5%),
    linear-gradient(180deg, rgb(var(--c-ink-950) / .34), rgb(var(--c-accent, var(--c-brand-600)) / .5));
}
/* Motif 2 — the frame number, in the caption under every mount. */
.fs-fr-cap{
  display:flex;align-items:baseline;gap:.7rem;
  padding:.75rem .15rem 0;
}
.fs-fr-no{
  flex:none;
  font-family:var(--font-display, Georgia, serif);
  font-size:.86rem;font-weight:700;letter-spacing:.02em;
  color:rgb(var(--c-brand-600));
  font-variant-numeric:tabular-nums;
}
.fs-fr-cap-t{
  font-size:.8rem;line-height:1.45;
  color:rgb(var(--c-ink-400));
}

/* ═════════ HERO (favFrameHero) ═════════ */
.fs-fr-hero{
  overflow:hidden;
  padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);
}
.fs-fr-hero-inner{
  position:relative;max-width:var(--fs-layout-max,74rem);margin:0 auto;
  display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(2.25rem,5vw,4rem);align-items:center;
}
@media (max-width:940px){.fs-fr-hero-inner{grid-template-columns:1fr;gap:2.5rem;}}
.fs-fr-mount-hero .fs-fr-plate{aspect-ratio:4 / 5;}
.fs-fr-mount-hero .fs-fr-plate-fallback{aspect-ratio:4 / 5;}
.fs-fr-chips{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:2rem;}
.fs-fr-chip{
  display:inline-flex;align-items:center;
  padding:.45rem .85rem;
  border-radius:var(--fs-radius-pill, 999px);
  border:1px solid rgb(var(--c-line));
  background:rgb(var(--c-paper-soft));
  font-size:.78rem;letter-spacing:.02em;
  color:rgb(var(--c-ink-700));
}
/* The one ambient flourish in the set: a light leak drifting across
   the hero, the way one crosses the first frame of a roll. */
.fs-fr-leak{
  position:absolute;top:-30%;left:-20%;
  width:70%;height:160%;
  pointer-events:none;
  background:linear-gradient(78deg,
    rgb(var(--c-accent, var(--c-brand-600)) / 0) 0%,
    rgb(var(--c-accent, var(--c-brand-600)) / .16) 45%,
    rgb(var(--c-brand-600) / .1) 62%,
    rgb(var(--c-accent, var(--c-brand-600)) / 0) 100%);
  filter:blur(28px);
  opacity:.9;
}
.fs-fr-anim .fs-fr-leak{animation:fs-fr-drift 26s ease-in-out infinite alternate;}
@keyframes fs-fr-drift{
  from{transform:translate3d(0,0,0) rotate(0deg);}
  to{transform:translate3d(38%,-6%,0) rotate(7deg);}
}

/* ═════════ PAGE HEADER (favFrameHeader) ═════════ */
.fs-fr-hd{padding:var(--fs-space-section, clamp(2.6rem,6vw,4rem)) clamp(1rem,4vw,2.5rem);}
.fs-fr-hd-inner{position:relative;max-width:var(--fs-layout-max,56rem);margin:0 auto;}
.fs-fr-hd-title{font-size:clamp(2rem,4.2vw,3.1rem);}
.fs-fr-hd-rule{
  position:relative;left:auto;right:auto;display:block;
  width:100%;height:.7rem;margin-top:2rem;
  background-image:repeating-linear-gradient(90deg,
    rgb(var(--c-accent, var(--c-brand-600)) / .55) 0 .62rem,
    transparent .62rem 1.34rem);
}

/* ═════════ CONTACT SHEET (favFrameSheet) ═════════ */
.fs-fr-sh{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-fr-sh-head{max-width:var(--fs-layout-max,56rem);margin:0 auto 2.4rem;}
.fs-fr-strip{
  position:relative;max-width:var(--fs-layout-max,74rem);margin:0 auto;
  padding:1.9rem clamp(.85rem,2vw,1.6rem);
  border-radius:var(--fs-radius-card, .75rem);
  background:rgb(var(--c-ink-950) / .06);
}
/* Motif 3 — the sprocket edge. */
.fs-fr-sprocket{
  position:absolute;left:clamp(.85rem,2vw,1.6rem);right:clamp(.85rem,2vw,1.6rem);
  height:.7rem;
  background-image:repeating-linear-gradient(90deg,
    rgb(var(--c-paper)) 0 .62rem,
    transparent .62rem 1.34rem);
  border-radius:2px;
}
.fs-fr-sprocket-top{top:.6rem;}
.fs-fr-sprocket-bottom{bottom:.6rem;}
.fs-fr-sh-grid{
  display:grid;grid-template-columns:repeat(3, minmax(0,1fr));
  gap:clamp(.85rem,1.8vw,1.35rem);
}
@media (max-width:860px){.fs-fr-sh-grid{grid-template-columns:repeat(2, minmax(0,1fr));}}
@media (max-width:520px){.fs-fr-sh-grid{grid-template-columns:1fr;}}
.fs-fr-sh-item{
  transition:transform .3s ease, box-shadow .3s ease;
  cursor:pointer;
}
.fs-fr-sh-item{--fs-fr-plate-ratio:4 / 3;}
.fs-fr-sh-item .fs-fr-plate{aspect-ratio:var(--fs-fr-plate-ratio);}
.fs-fr-sh-item:hover,.fs-fr-sh-item:focus-visible{
  transform:translateY(-6px);
  box-shadow:var(--fs-shadow-lift, 0 22px 44px rgb(var(--c-ink-950) / .18));
  outline:none;
}
/* Motif 4 — the grease-pencil ring on the marked frame.

   Sized to the PHOTO, not to the mount. It used to be inset:.35rem on
   the mount, which is the whole card — so it drew a big lopsided ellipse
   around the picture AND its caption, and (being absolute, so painted
   above its static siblings) sliced across the photo's corners on the
   way past. It read as a stray circle dropped on the image rather than a
   mark made around the frame.

   The plate starts one --fs-fr-pad in from the mount and carries the
   sheet's own aspect ratio, so matching those two puts the ring on the
   photo's edge; the small negative gap lets it sit just outside, the way
   a hand-drawn mark overshoots what it is circling. bottom:auto is what
   hands height over to aspect-ratio — leaving the old inset's bottom in
   place would stretch it back over the caption. */
.fs-fr-ring{
  position:absolute;
  top:calc(var(--fs-fr-pad, .95rem) - .3rem);
  left:calc(var(--fs-fr-pad, .95rem) - .3rem);
  right:calc(var(--fs-fr-pad, .95rem) - .3rem);
  bottom:auto;
  aspect-ratio:var(--fs-fr-plate-ratio, 4 / 3);
  border:3px solid rgb(var(--c-accent, var(--c-brand-600)));
  border-radius:52% 48% 46% 54% / 49% 52% 48% 51%;
  transform:rotate(-2.5deg) scale(.96);
  opacity:0;
  pointer-events:none;
  transition:opacity .25s ease, transform .25s ease;
}
.fs-fr-sh-item:hover .fs-fr-ring,
.fs-fr-sh-item:focus-visible .fs-fr-ring{opacity:.9;transform:rotate(-2.5deg) scale(1);}
.fs-fr-sh-item:focus-visible{
  outline:2px solid rgb(var(--c-brand-600));
  outline-offset:3px;
}

/* ═════════ LIGHT TIMELINE (favFrameLight) ═════════
   The interactive illustration. The scene is one mount; the ticks and
   the reading sit beside it so a change is visible without scrolling. */
.fs-fr-lt{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-fr-lt-head{max-width:var(--fs-layout-max,56rem);margin:0 auto 2.4rem;}
.fs-fr-lt-stage{
  max-width:var(--fs-layout-max,74rem);margin:0 auto;
  display:grid;grid-template-columns:1.15fr .85fr;
  gap:clamp(1.5rem,3vw,2.5rem);align-items:start;
}
@media (max-width:940px){.fs-fr-lt-stage{grid-template-columns:1fr;}}
.fs-fr-lt-svg{display:block;width:100%;height:auto;}
.fs-fr-lt-sun,.fs-fr-lt-shadow{transition:cx .5s ease, cy .5s ease, r .5s ease, rx .5s ease;}
.fs-fr-lt-side{display:flex;flex-direction:column;gap:1.4rem;min-width:0;}
.fs-fr-lt-ticks{
  display:grid;grid-template-columns:repeat(5, minmax(0,1fr));
  gap:.4rem;
  padding:.4rem;
  border-radius:var(--fs-radius-card, .75rem);
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line));
}
@media (max-width:520px){.fs-fr-lt-ticks{grid-template-columns:repeat(2, minmax(0,1fr));}}
.fs-fr .fs-fr-tick{
  display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;
  min-height:2.75rem;padding:.6rem .5rem;
  border:0;border-radius:calc(var(--fs-radius-card, .75rem) * .55);
  background:transparent;
  color:rgb(var(--c-ink-700));
  font:inherit;text-align:left;cursor:pointer;
  transition:background .2s ease, color .2s ease;
}
.fs-fr .fs-fr-tick:hover{background:rgb(var(--c-brand-50));color:rgb(var(--c-ink-950));}
.fs-fr .fs-fr-tick[data-on="1"]{
  background:rgb(var(--c-brand-600));
  color:rgb(var(--c-paper));
}
.fs-fr .fs-fr-tick:focus-visible{
  outline:2px solid rgb(var(--c-accent, var(--c-brand-600)));
  outline-offset:2px;
}
.fs-fr-tick-h{
  font-family:var(--font-display, Georgia, serif);
  font-size:.95rem;font-weight:700;font-variant-numeric:tabular-nums;
}
.fs-fr-tick-l{font-size:.7rem;letter-spacing:.04em;opacity:.85;}
.fs-fr-lt-read{
  padding:clamp(1.1rem,2vw,1.5rem);
  border-radius:var(--fs-radius-card, .75rem);
  border:1px solid rgb(var(--c-line));
  background:rgb(var(--c-paper-soft));
}
.fs-fr-lt-c{font-size:1rem;line-height:1.7;color:rgb(var(--c-ink-950));}
.fs-fr-lt-r{
  margin-top:.85rem;padding-top:.85rem;
  border-top:1px solid rgb(var(--c-line));
  font-size:.88rem;line-height:1.6;font-weight:700;
  color:rgb(var(--c-brand-600));
}

/* ═════════ COLLECTIONS (favFrameCollections) ═════════ */
.fs-fr-co{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-fr-co-head{max-width:var(--fs-layout-max,56rem);margin:0 auto 2.4rem;}
.fs-fr-co-grid{
  max-width:var(--fs-layout-max,74rem);margin:0 auto;
  display:grid;grid-template-columns:repeat(3, minmax(0,1fr));
  gap:clamp(1rem,2vw,1.6rem);align-items:stretch;
}
@media (max-width:900px){.fs-fr-co-grid{grid-template-columns:1fr;}}
.fs-fr-co-card{
  display:flex;flex-direction:column;
  padding:clamp(1.4rem,2.4vw,1.9rem);
  border-radius:var(--fs-radius-card, .75rem);
  background:rgb(var(--c-paper-soft));
  box-shadow:var(--fs-shadow-card, 0 4px 16px -6px rgb(var(--c-ink-950) / .16));
  transition:transform .3s ease, box-shadow .3s ease;
}
.fs-fr-co-card:hover{
  transform:translateY(-5px);
  box-shadow:var(--fs-shadow-lift, 0 22px 44px rgb(var(--c-ink-950) / .18));
}
.fs-fr-co-n{
  font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-fr-co-p{
  margin-top:.6rem;
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(2rem,3.2vw,2.5rem);line-height:1;font-weight:700;letter-spacing:-.02em;
  color:rgb(var(--c-brand-600));
}
.fs-fr-co-m{
  margin-top:.5rem;padding-bottom:.95rem;
  border-bottom:1px solid rgb(var(--c-line));
  font-size:.8rem;color:rgb(var(--c-ink-400));
}
.fs-fr-co-b{margin-top:.95rem;flex:1;font-size:.93rem;line-height:1.68;color:rgb(var(--c-ink-700));}
.fs-fr-co-i{
  margin-top:1rem;padding-top:.85rem;
  border-top:1px solid rgb(var(--c-line));
  font-size:.82rem;line-height:1.55;color:rgb(var(--c-ink-400));
}
.fs-fr-co-a{margin-top:1.1rem;align-self:flex-start;}

/* ═════════ CTA (favFrameCta) ═════════ */
.fs-fr-cta{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-fr-cta-mount{max-width:var(--fs-layout-max,62rem);margin:0 auto;box-shadow:var(--fs-shadow-lift, 0 22px 44px rgb(var(--c-ink-950) / .18));}
.fs-fr-cta-plate{
  padding:clamp(2rem,4.5vw,3.4rem) clamp(1.4rem,4vw,3rem);
  border-radius:calc(var(--fs-radius-card, .75rem) * .4);
  outline:1px solid rgb(var(--c-line));
  outline-offset:-1px;
  background:rgb(var(--c-paper));
}
.fs-fr-cta-title{font-size:clamp(1.9rem,3.8vw,2.9rem);}
.fs-fr-cta-note{margin-left:0;}

/* ── Motion respects the system setting ───────────────────────── */
@media (prefers-reduced-motion: reduce){
  .fs-fr *,.fs-fr *::before,.fs-fr *::after{
    animation:none !important;
    transition:none !important;
  }
}

/* ── Wireframe, in the EDITOR ────────────────────────────────────
   Two surfaces express wireframe differently: a published page gets
   [data-render="wireframe"] on an ancestor (FRAME_WIRE_CSS below),
   while the editor canvas gets the .fs-fr-wire class the block roots
   already carry. Decoration comes off in both. */
.fs-fr-wire .fs-fr-leak,
.fs-fr-wire .fs-fr-ring,
.fs-fr-wire .fs-fr-plate-fallback,
.fs-fr-wire .fs-fr-eyebrow::before{display:none;}
.fs-fr-wire .fs-fr-mount,
.fs-fr-wire .fs-fr-co-card,
.fs-fr-wire .fs-fr-lt-read,
.fs-fr-wire .fs-fr-lt-ticks,
.fs-fr-wire .fs-fr-cta-plate,
.fs-fr-wire .fs-fr-chip,
.fs-fr-wire .fs-fr-btn{
  background:transparent;
  box-shadow:none;
  border:1px dashed rgb(var(--c-ink-950) / .55);
}
.fs-fr-wire .fs-fr-btn,
.fs-fr-wire .fs-fr-tick[data-on="1"]{background:transparent;color:rgb(var(--c-ink-950));}
.fs-fr-wire .fs-fr-strip{background:transparent;border:1px dashed rgb(var(--c-ink-950) / .35);}
.fs-fr-wire .fs-fr-sprocket{opacity:.35;}
.fs-fr-wire .fs-fr-hd-rule{opacity:.5;}
.fs-fr-wire .fs-fr-lt-svg{filter:grayscale(1) contrast(.55);opacity:.5;}
.fs-fr-wire .fs-fr-accent,
.fs-fr-wire .fs-fr-no,
.fs-fr-wire .fs-fr-co-p,
.fs-fr-wire .fs-fr-lt-r,
.fs-fr-wire .fs-fr-eyebrow{color:rgb(var(--c-ink-950));}

/* ── favFrameFooter (theme-chrome batch 3, Emberlight) ───────────────
   fs-fr-ft: the paper band with a hairline top edge (named container);
   fs-fr-ft-in: the content box (named container). The mount lifts on
   the family's dramatic shadow, which stays pure black at alpha in dark
   (a pale ink would turn it into a glow). */
.fs-fr-ft{container-type:inline-size;container-name:fs-fr-ft;padding:0 clamp(1rem,4vw,2.5rem);background:rgb(var(--c-paper));box-shadow:inset 0 1px 0 var(--fr-ft-hair);--fr-ft-hair:rgb(var(--c-ink-950) / .15);--fr-ft-ink2:color-mix(in srgb, rgb(var(--c-ink-950)) 76%, rgb(var(--c-paper)));--fr-ft-lift:0 26px 52px -18px rgb(var(--c-ink-950) / .34),0 6px 14px -8px rgb(var(--c-ink-950) / .18)}
.fs-fr-ft:is(.dark *):not(.fs-preview-light *){--fr-ft-hair:rgb(var(--c-ink-950) / .16);--fr-ft-ink2:color-mix(in srgb, rgb(var(--c-ink-950)) 79%, rgb(var(--c-paper)));--fr-ft-lift:0 26px 52px -18px rgb(0 0 0 / .7),0 6px 14px -8px rgb(0 0 0 / .5)}
.fs-fr-ft-in{container-type:inline-size;container-name:fs-fr-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:64px 34px}
.fs-fr-ft-eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-weight:700;font-size:11.5px;line-height:1.2;letter-spacing:.16em;text-transform:uppercase;color:rgb(var(--c-brand-text))}
.fs-fr-ft-eyebrow::before{content:'';flex:none;width:1.5rem;height:2px;background:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-fr-ft-no{flex:none;font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:13.5px;line-height:1;letter-spacing:.02em;color:rgb(var(--c-brand-text));font-variant-numeric:tabular-nums}
.fs-fr-ft-mail{display:inline-flex;align-items:center;padding-bottom:3px;border-bottom:2px solid rgb(var(--c-accent, var(--c-brand-600)));font-weight:700;font-size:14.5px;line-height:1.3;color:rgb(var(--c-ink-950));text-decoration:none;transition:color .25s ease}
.fs-fr-ft-mail:hover{color:rgb(var(--c-brand-text))}
.fs-fr-ft-cap-t{font-size:13.5px;line-height:1.45;color:var(--fr-ft-ink2)}
.fs-fr-ft-mount{padding:clamp(10px,1.3cqi,15px) clamp(10px,1.3cqi,15px) 0;background:rgb(var(--c-paper-soft));border-radius:12px;box-shadow:var(--fr-ft-lift)}
.fs-fr-ft-plate{padding:clamp(20px,3.2cqi,42px);background:rgb(var(--c-paper));border-radius:5px;outline:1px solid var(--fr-ft-hair);outline-offset:-1px}
.fs-fr-ft-head{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:18px 32px;align-items:end}
.fs-fr-ft-ttl{margin:0;font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:clamp(26px,2.6cqi,34px);line-height:1.1;letter-spacing:-.015em}
.fs-fr-ft-accent{font-style:normal;color:rgb(var(--c-brand-text))}
.fs-fr-ft-state{margin:10px 0 0;max-width:46ch;font-size:15.5px;line-height:1.6;color:var(--fr-ft-ink2)}
.fs-fr-ft-call{display:flex;flex-direction:column;align-items:flex-start;gap:8px;justify-self:end}
.fs-fr-ft-tel{margin-top:4px;font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:clamp(26px,2.6cqi,34px);line-height:1;color:rgb(var(--c-brand-text));font-variant-numeric:tabular-nums;letter-spacing:.005em;text-decoration:none}
.fs-fr-ft-rule{display:block;height:11px;margin-block:clamp(22px,2.8cqi,34px);background:repeating-linear-gradient(90deg,rgb(var(--c-accent, var(--c-brand-600)) / .55) 0 10px,transparent 10px 21px)}
.fs-fr-ft-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr);gap:26px clamp(20px,2.6cqi,36px)}
.fs-fr-ft-col{min-width:0}
.fs-fr-ft-col .fs-fr-ft-eyebrow{margin-bottom:13px}
.fs-fr-ft-p{margin:0;font-size:14.5px;line-height:1.6;color:var(--fr-ft-ink2)}
.fs-fr-ft-p+.fs-fr-ft-p{margin-top:8px}
.fs-fr-ft-hours{font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:17px;line-height:1.35;color:rgb(var(--c-ink-950))}
.fs-fr-ft-links{margin:0;list-style:none;padding:0;columns:2;column-gap:18px}
.fs-fr-ft-li{break-inside:avoid;padding-block:3px;font-size:14.5px}
.fs-fr-ft-link{color:rgb(var(--c-ink-950));text-decoration:none;background:linear-gradient(rgb(var(--c-accent, var(--c-brand-600))),rgb(var(--c-accent, var(--c-brand-600)))) 0 100%/0 1.5px no-repeat;transition:background-size .25s ease}
.fs-fr-ft-link:hover{background-size:100% 1.5px}
.fs-fr-ft-cap{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 11px;padding:12px 5px 13px}
.fs-fr-ft-mount>.fs-fr-ft-cap{flex-wrap:nowrap;padding-inline:6px}
.fs-fr-ft-legal{display:flex;flex-wrap:wrap;gap:6px 18px;margin:22px 0 0;padding-inline:4px;font-size:13px;color:var(--fr-ft-ink2)}
.fs-fr-ft-legal-t{margin-right:auto;color:inherit}
.fs-fr-ft-legal-a{color:inherit;text-decoration:none}
.fs-fr-ft-legal-a:hover{color:rgb(var(--c-ink-950))}
@container fs-fr-ft (max-width: 40rem){
  .fs-fr-ft-in{padding-block:40px 26px}
}
@container fs-fr-ft-in (max-width: 56rem){
  .fs-fr-ft-head{grid-template-columns:minmax(0,1fr)}
  .fs-fr-ft-call{justify-self:start}
  .fs-fr-ft-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container fs-fr-ft (max-width: 48rem){
  .fs-fr-ft-head{grid-template-columns:minmax(0,1fr)}
  .fs-fr-ft-call{justify-self:start}
  .fs-fr-ft-cols{grid-template-columns:minmax(0,1fr)}
}
@container fs-fr-ft (max-width: 30rem){
  .fs-fr-ft-rule{margin-block:20px}
  .fs-fr-ft-cap{padding-bottom:12px}
}
@media (prefers-reduced-motion: reduce){
  .fs-fr-ft-link,.fs-fr-ft-mail{transition:none}
}


.fs-tq{
  position:relative;overflow:hidden;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-tq *{box-sizing:border-box;}
.fs-tq-sr{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

/* ── Motif: the dimension rule ──────────────────────────────────
   Hairline arms with perpendicular ticks at the outer ends, label in
   the gap. The set's signature, used on the hero, the page header and
   under every major heading. */
.fs-tq-dim{
  display:flex;align-items:center;gap:.85rem;
  margin:1.9rem 0 0;
}
.fs-tq-dim-arm{
  position:relative;flex:1 1 auto;height:1px;min-width:1.5rem;
  background:rgb(var(--c-ink-950) / .28);
}
.fs-tq-dim-arm::before,.fs-tq-dim-arm::after{
  content:'';position:absolute;top:-4px;
  width:1px;height:9px;background:rgb(var(--c-ink-950) / .45);
}
.fs-tq-dim-arm::before{left:0;}
.fs-tq-dim-arm::after{right:0;}
.fs-tq-dim-label{
  flex:0 0 auto;
  font-size:.68rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));white-space:nowrap;
}
/* Left-aligned contexts only need one arm running away to the right. */
.fs-tq-hero-copy .fs-tq-dim .fs-tq-dim-arm:first-of-type{flex:0 0 2.5rem;}

/* ── Motif: the stamped plate ───────────────────────────────────
   A bordered label with two rivet dots — the little brass plaque
   riveted to a machine, not a rounded pill. */
.fs-tq-plate{
  position:relative;display:inline-flex;align-items:center;
  padding:.5rem 1.5rem;
  border:1px solid rgb(var(--c-brand-600) / .55);
  border-radius:var(--fs-radius-control, .35rem);
  background:rgb(var(--c-brand-600) / .08);
  color:rgb(var(--c-brand-600));
  font-size:.7rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;
}
.fs-tq-plate::before,.fs-tq-plate::after{
  content:'';position:absolute;top:50%;
  width:3px;height:3px;border-radius:50%;
  background:rgb(var(--c-brand-600) / .55);transform:translateY(-50%);
}
.fs-tq-plate::before{left:.5rem;}
.fs-tq-plate::after{right:.5rem;}

/* ── Motif: punched card stock ──────────────────────────────────
   A perforated tear edge along the top and two punch holes. The
   holes are drawn as ring shadows rather than knockouts so the card
   sits correctly on any section background. */
.fs-tq-card{
  position:relative;
  border:1px solid rgb(var(--c-line, var(--c-ink-950) / .18));
  border-radius:var(--fs-radius-card, .75rem);
  background:rgb(var(--c-paper-soft, var(--c-paper)));
  box-shadow:var(--fs-shadow-card, 0 1px 2px rgb(0 0 0 / .06));
  padding:clamp(1.5rem,4vw,2.6rem);
}
.fs-tq-card::before{
  content:'';position:absolute;left:0;right:0;top:0;height:6px;
  border-radius:var(--fs-radius-card, .75rem) var(--fs-radius-card, .75rem) 0 0;
  background:radial-gradient(circle at 5px 0, transparent 4px, rgb(var(--c-brand-600) / .5) 4px 5px, transparent 5px) repeat-x;
  background-size:10px 6px;
  pointer-events:none;
}
.fs-tq-punch{
  position:absolute;top:1rem;
  width:.7rem;height:.7rem;border-radius:50%;
  background:rgb(var(--c-paper));
  box-shadow:inset 0 0 0 1px rgb(var(--c-ink-950) / .3);
}
.fs-tq-punch-l{left:calc(50% - 1.6rem);}
.fs-tq-punch-r{left:calc(50% + .9rem);}

/* ── Type ───────────────────────────────────────────────────────
   The slab face carries the register; the body face stays quiet. */
.fs-tq-title{
  margin:1.35rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(2.2rem,4.8vw,3.5rem);
  line-height:1.1;font-weight:700;letter-spacing:-.012em;
  color:rgb(var(--c-ink-950));
}
.fs-tq-accent{color:rgb(var(--c-brand-600));}
.fs-tq-h{
  margin:1rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(1.7rem,3.2vw,2.4rem);
  line-height:1.18;font-weight:700;letter-spacing:-.008em;
  color:rgb(var(--c-ink-950));
}
.fs-tq-sub{
  margin:1.25rem 0 0;max-width:54ch;
  font-size:clamp(1rem,1.4vw,1.08rem);line-height:1.72;
  color:rgb(var(--c-ink-700));
}
.fs-tq-center{text-align:center;margin-left:auto;margin-right:auto;}

/* ── Buttons — one solid slab, one ruled link ───────────────── */
.fs-tq-ctas{display:flex;flex-wrap:wrap;gap:1.4rem;margin-top:2rem;align-items:center;}
.fs-tq-ctas-center{justify-content:center;}
.fs-tq-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.95rem 2.1rem;
  border-radius:var(--fs-radius-control, .4rem);
  font-size:.86rem;font-weight:700;line-height:1;white-space:nowrap;
  letter-spacing:.12em;text-transform:uppercase;
  color:rgb(var(--c-paper));
  background:rgb(var(--c-brand-600));
  box-shadow:var(--fs-shadow-card, 0 2px 6px rgb(0 0 0 / .12));
  transition:transform .25s cubic-bezier(.2,.8,.3,1), background-color .25s ease;
}
.fs-tq-btn:hover{background:rgb(var(--c-brand-700, var(--c-brand-600)));transform:translateY(-2px);}
.fs-tq-link{
  display:inline-flex;align-items:center;gap:.5rem;
  padding-bottom:.25rem;
  border-bottom:2px solid rgb(var(--c-accent, var(--c-brand-600)));
  font-size:.86rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:rgb(var(--c-ink-950));
  transition:color .25s ease, border-color .25s ease;
}
.fs-tq-link:hover{color:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));}
.fs-tq-note{
  margin-top:1.6rem;
  font-size:.76rem;letter-spacing:.09em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}

/* ═════════ HERO (favTorqueHero) ═════════
   Copy left, a dimensioned drawing frame right. */
.fs-tq-hero{padding:var(--fs-space-section, clamp(3.5rem,8vw,6rem)) clamp(1rem,4vw,2.5rem);}
.fs-tq-hero::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(to right, rgb(var(--c-ink-950) / .06) 1px, transparent 1px),
    linear-gradient(to bottom, rgb(var(--c-ink-950) / .06) 1px, transparent 1px);
  background-size:2.5rem 2.5rem;
  -webkit-mask-image:linear-gradient(to bottom, #000 0%, transparent 78%);
  mask-image:linear-gradient(to bottom, #000 0%, transparent 78%);
}
.fs-tq-hero-inner{
  position:relative;max-width:var(--fs-layout-max,74rem);margin:0 auto;
  display:grid;grid-template-columns:1.02fr .98fr;
  gap:clamp(2.5rem,5vw,4.5rem);align-items:center;
}
@media (max-width:940px){.fs-tq-hero-inner{grid-template-columns:1fr;gap:2.8rem;}}

/* The job-card fact strip. */
.fs-tq-facts{
  display:grid;grid-template-columns:repeat(3, minmax(0,1fr));
  margin-top:2.6rem;
  border:1px solid rgb(var(--c-ink-950) / .18);
  border-radius:var(--fs-radius-card, .6rem);
  background:rgb(var(--c-paper-soft, var(--c-paper)) / .7);
  overflow:hidden;
}
@media (max-width:520px){.fs-tq-facts{grid-template-columns:1fr;}}
.fs-tq-fact{display:flex;flex-direction:column;gap:.35rem;padding:1rem 1.15rem;}
.fs-tq-fact + .fs-tq-fact{border-left:1px solid rgb(var(--c-ink-950) / .13);}
@media (max-width:520px){
  .fs-tq-fact + .fs-tq-fact{border-left:none;border-top:1px solid rgb(var(--c-ink-950) / .13);}
}
.fs-tq-fact-l{
  font-size:.66rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-tq-fact-v{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.2rem;font-weight:700;line-height:1.2;
  color:rgb(var(--c-brand-600));
}

/* The stage: a drawing frame with dimension rules on two edges. */
.fs-tq-stage{position:relative;padding:1.6rem 0 1.9rem 1.6rem;}
@media (max-width:940px){.fs-tq-stage{padding:1.4rem 0 1.7rem 1.4rem;}}
.fs-tq-stage-dim{position:absolute;background:rgb(var(--c-ink-950) / .3);}
.fs-tq-stage-dim-top{left:1.6rem;right:0;top:.7rem;height:1px;}
.fs-tq-stage-dim-side{left:.7rem;top:1.6rem;bottom:1.9rem;width:1px;}
.fs-tq-stage-dim::before,.fs-tq-stage-dim::after{
  content:'';position:absolute;background:rgb(var(--c-brand-600) / .8);
}
.fs-tq-stage-dim-top::before,.fs-tq-stage-dim-top::after{top:-4px;width:1px;height:9px;}
.fs-tq-stage-dim-top::before{left:0;} .fs-tq-stage-dim-top::after{right:0;}
.fs-tq-stage-dim-side::before,.fs-tq-stage-dim-side::after{left:-4px;height:1px;width:9px;}
.fs-tq-stage-dim-side::before{top:0;} .fs-tq-stage-dim-side::after{bottom:0;}
.fs-tq-stage-frame{
  position:relative;overflow:hidden;
  border:1px solid rgb(var(--c-ink-950) / .22);
  border-radius:var(--fs-radius-card, .75rem);
  background:rgb(var(--c-paper-soft, var(--c-paper)));
  box-shadow:var(--fs-shadow-lift, 0 12px 30px rgb(0 0 0 / .12));
  aspect-ratio:3 / 2;
}
/* The image sits in its own layer so the registration ticks and the
   light sweep can stay siblings above it. EditableImage wraps its
   <img>, hence the > * rule as well as the img one. */
.fs-tq-stage-img{position:absolute;inset:0;}
.fs-tq-stage-img > *{display:block;width:100%;height:100%;}
.fs-tq-stage-img img{width:100%;height:100%;object-fit:cover;display:block;}
.fs-tq-stage-fallback{
  position:absolute;inset:0;
  background-image:
    linear-gradient(to right, rgb(var(--c-brand-600) / .14) 1px, transparent 1px),
    linear-gradient(to bottom, rgb(var(--c-brand-600) / .14) 1px, transparent 1px);
  background-size:1.5rem 1.5rem;
}
.fs-tq-tick{position:absolute;z-index:2;width:14px;height:14px;pointer-events:none;
  border-color:rgb(var(--c-accent, var(--c-brand-600)));}
.fs-tq-tick-tl{top:8px;left:8px;border-top:2px solid;border-left:2px solid;}
.fs-tq-tick-tr{top:8px;right:8px;border-top:2px solid;border-right:2px solid;}
.fs-tq-tick-bl{bottom:8px;left:8px;border-bottom:2px solid;border-left:2px solid;}
.fs-tq-tick-br{bottom:8px;right:8px;border-bottom:2px solid;border-right:2px solid;}
/* The shop light — one slow warm sweep. Transform only. */
.fs-tq-sweep{
  position:absolute;top:-25%;left:-40%;width:32%;height:150%;
  pointer-events:none;opacity:0;
  background:linear-gradient(100deg, transparent, rgb(var(--c-accent, var(--c-brand-600)) / .3), transparent);
  transform:translateX(0) skewX(-14deg);
}
.fs-tq-anim .fs-tq-sweep{opacity:1;animation:fs-tq-sweep 9s ease-in-out infinite;}
@keyframes fs-tq-sweep{
  0%{transform:translateX(0) skewX(-14deg);}
  55%,100%{transform:translateX(430%) skewX(-14deg);}
}
.fs-tq-stage-tag{
  position:absolute;right:0;bottom:0;
  padding:.3rem .7rem;
  border:1px solid rgb(var(--c-ink-950) / .2);
  border-radius:var(--fs-radius-control, .3rem);
  background:rgb(var(--c-paper));
  font-size:.64rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}

/* ═════════ PAGE HEADER (favTorqueHeader) ═════════ */
.fs-tq-hd{padding:var(--fs-space-section, clamp(3rem,7vw,4.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-tq-hd::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(to right, rgb(var(--c-ink-950) / .05) 1px, transparent 1px),
    linear-gradient(to bottom, rgb(var(--c-ink-950) / .05) 1px, transparent 1px);
  background-size:2.5rem 2.5rem;
  -webkit-mask-image:linear-gradient(to bottom, #000 0%, transparent 85%);
  mask-image:linear-gradient(to bottom, #000 0%, transparent 85%);
}
.fs-tq-hd-inner{
  position:relative;max-width:min(54rem, var(--fs-layout-clamp, 54rem));margin:0 auto;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.fs-tq-hd .fs-tq-title{font-size:clamp(2rem,4.2vw,3rem);}
.fs-tq-hd .fs-tq-dim{width:100%;}

/* ═════════ INTERACTIVE DIAGRAM (favTorqueDiagram) ═════════
   The drawing on the left, the readout on the right. Hotspots are
   real buttons laid over the SVG, so hover, focus and touch all work
   and the drawing itself stays decorative. */
.fs-tq-dg{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-tq-dg-head{
  position:relative;max-width:var(--fs-layout-max,56rem);margin:0 auto 2.6rem;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.fs-tq-dg-inner{
  position:relative;max-width:var(--fs-layout-max,74rem);margin:0 auto;
  display:grid;grid-template-columns:1.3fr .7fr;
  gap:clamp(1.8rem,4vw,3rem);align-items:center;
}
@media (max-width:940px){.fs-tq-dg-inner{grid-template-columns:1fr;}}

.fs-tq-dg-stage{
  position:relative;
  border:1px solid rgb(var(--c-ink-950) / .2);
  border-radius:var(--fs-radius-card, .75rem);
  background:rgb(var(--c-paper-soft, var(--c-paper)));
  padding:1.2rem;
}
/* Pinned to the drawing's own ratio so the hotspot percentages land on
   the parts they name at every width. */
.fs-tq-dg-art{position:relative;width:100%;aspect-ratio:7 / 3;}
.fs-tq-dg-svg{display:block;width:100%;height:100%;}
.fs-tq-dg-grid line{stroke:rgb(var(--c-ink-950) / .09);stroke-width:1;}
.fs-tq-dg-g-top{stop-color:rgb(var(--c-brand-600));stop-opacity:.9;}
.fs-tq-dg-g-bottom{stop-color:rgb(var(--c-brand-600));stop-opacity:.62;}
.fs-tq-dg-g-glass-a{stop-color:rgb(var(--c-accent, var(--c-brand-600)));stop-opacity:.5;}
.fs-tq-dg-g-glass-b{stop-color:rgb(var(--c-accent, var(--c-brand-600)));stop-opacity:.22;}
.fs-tq-dg-shell{stroke:rgb(var(--c-ink-950) / .55);stroke-width:1.5;}
.fs-tq-dg-glass{stroke:rgb(var(--c-ink-950) / .35);stroke-width:1.2;}
.fs-tq-dg-line path{stroke:rgb(var(--c-paper) / .75);stroke-width:1.6;fill:none;stroke-linecap:round;}
.fs-tq-dg-wheel circle{fill:rgb(var(--c-ink-950) / .82);}
.fs-tq-dg-rim circle{fill:rgb(var(--c-paper));stroke:rgb(var(--c-accent, var(--c-brand-600)));stroke-width:2.5;}
.fs-tq-dg-ground{stroke:rgb(var(--c-ink-950) / .35);stroke-width:2;stroke-linecap:round;}

/* The hotspots.
   These are the set's only real <button> elements, which matters: the
   rule ".fs-typo button" in the global typography sheet sets colour at
   specificity (0,1,1) and paints them the site's button-label colour.
   A single-class rule here LOSES that cascade and the numbers vanish
   into white-on-white, so every colour below is written through
   ".fs-tq .fs-tq-dg-spot" (0,2,0) to win it back. */
.fs-tq .fs-tq-dg-spot{
  position:absolute;z-index:3;transform:translate(-50%,-50%);
  display:inline-flex;align-items:center;justify-content:center;
  width:2.15rem;height:2.15rem;padding:0;cursor:pointer;
  border:2px solid rgb(var(--c-brand-600));border-radius:50%;
  /* Opaque paper, not a tint: several hotspots sit over the tyres, and
     a translucent chip there loses its number entirely. */
  background:rgb(var(--c-paper));
  box-shadow:0 1px 4px rgb(0 0 0 / .18);
  color:rgb(var(--c-brand-600));
  font-size:.72rem;font-weight:800;letter-spacing:.01em;font-variant-numeric:tabular-nums;
  transition:background-color .22s ease, color .22s ease, transform .22s cubic-bezier(.2,.8,.3,1);
}
.fs-tq .fs-tq-dg-spot .fs-tq-dg-spot-n{position:relative;z-index:2;color:inherit;}
.fs-tq .fs-tq-dg-spot:hover{transform:translate(-50%,-50%) scale(1.08);}
.fs-tq .fs-tq-dg-spot:focus-visible{outline:2px solid rgb(var(--c-accent, var(--c-brand-600)));outline-offset:3px;}
.fs-tq .fs-tq-dg-spot.is-active{
  background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));
  transform:translate(-50%,-50%) scale(1.12);
}
.fs-tq-dg-ping{
  position:absolute;inset:-2px;border-radius:50%;pointer-events:none;
  border:2px solid rgb(var(--c-brand-600) / .55);opacity:0;
}
.fs-tq-anim .fs-tq-dg-spot.is-active .fs-tq-dg-ping{animation:fs-tq-ping 2.1s ease-out infinite;}
@keyframes fs-tq-ping{
  0%{opacity:.75;transform:scale(1);}
  70%,100%{opacity:0;transform:scale(2.1);}
}

/* The readout. */
.fs-tq-dg-read{
  position:relative;
  border-left:3px solid rgb(var(--c-accent, var(--c-brand-600)));
  padding:.4rem 0 .4rem 1.6rem;
}
@media (max-width:940px){
  .fs-tq-dg-read{border-left:none;border-top:3px solid rgb(var(--c-accent, var(--c-brand-600)));padding:1.5rem 0 0;}
}
.fs-tq-dg-read-n{
  display:block;
  font-family:var(--font-display, Georgia, serif);
  font-size:2.4rem;font-weight:700;line-height:1;
  color:rgb(var(--c-brand-600) / .32);
}
.fs-tq-dg-read-t{
  margin:.5rem 0 0;
  font-family:var(--font-display, Georgia, serif);
  font-size:1.32rem;font-weight:700;line-height:1.25;
  color:rgb(var(--c-ink-950));
}
.fs-tq-dg-read-b{
  margin-top:.75rem;
  font-size:.94rem;line-height:1.72;color:rgb(var(--c-ink-700));
}
.fs-tq-dg-read-f{
  margin-top:1.2rem;padding-top:1rem;
  border-top:1px solid rgb(var(--c-ink-950) / .15);
  font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}

/* ═════════ JOB SHEET (favTorqueJobs) ═════════
   Priced work on punched card stock: task and method on the left,
   time and price stacked right. */
.fs-tq-jb{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-tq-jb-head{
  position:relative;max-width:min(54rem, var(--fs-layout-clamp, 54rem));margin:0 auto 2.4rem;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.fs-tq-jb-card{max-width:var(--fs-layout-max,56rem);margin:0 auto;}
.fs-tq-jb-top{
  display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  padding-bottom:.9rem;margin-bottom:.4rem;
  border-bottom:2px solid rgb(var(--c-ink-950) / .28);
}
.fs-tq-jb-title{
  font-size:.72rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase;
  color:rgb(var(--c-brand-600));
}
.fs-tq-jb-ref{
  font-size:.68rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-tq-jb-row{
  display:grid;grid-template-columns:1fr auto;gap:1.4rem;
  padding:1.15rem 0;align-items:start;
}
.fs-tq-jb-row + .fs-tq-jb-row{border-top:1px solid rgb(var(--c-ink-950) / .13);}
.fs-tq-jb-main{display:flex;flex-direction:column;gap:.35rem;}
.fs-tq-jb-j{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.1rem;font-weight:700;line-height:1.3;
  color:rgb(var(--c-ink-950));
}
.fs-tq-jb-d{font-size:.87rem;line-height:1.62;color:rgb(var(--c-ink-400));max-width:60ch;}
.fs-tq-jb-nums{
  display:flex;flex-direction:column;align-items:flex-end;gap:.3rem;
  min-width:6.5rem;
}
.fs-tq-jb-t{
  padding:.2rem .55rem;
  border:1px solid rgb(var(--c-ink-950) / .2);
  border-radius:var(--fs-radius-control, .3rem);
  font-size:.66rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));white-space:nowrap;
}
.fs-tq-jb-p{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.2rem;font-weight:700;line-height:1.2;
  color:rgb(var(--c-brand-600));white-space:nowrap;
}
.fs-tq-jb-foot{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.2rem;
  margin-top:1.3rem;padding-top:1.2rem;
  border-top:2px solid rgb(var(--c-ink-950) / .28);
}
.fs-tq-jb-note{font-size:.82rem;line-height:1.6;color:rgb(var(--c-ink-700));max-width:44ch;}
/* The stamp — a rotated keyline mark, as if inked onto the sheet. */
.fs-tq-stamp{
  flex:0 0 auto;padding:.5rem 1rem;
  border:2px solid rgb(var(--c-accent, var(--c-brand-600)) / .7);
  border-radius:var(--fs-radius-control, .3rem);
  color:rgb(var(--c-accent, var(--c-brand-600)));
  font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  transform:rotate(-3deg);
}

/* ═════════ CTA (favTorqueCta) ═════════ */
.fs-tq-cta{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-tq-cta-card{
  max-width:min(48rem, var(--fs-layout-clamp, 48rem));margin:0 auto;
  display:flex;flex-direction:column;align-items:center;text-align:center;
  padding-top:clamp(2.2rem,5vw,3.2rem);
}
.fs-tq-cta-card .fs-tq-title{font-size:clamp(1.8rem,3.6vw,2.6rem);}

/* ── Phones ─────────────────────────────────────────────────────
   Two things break below ~560px and both were measured, not guessed:

   1. The dimension label is nowrap by design (a measurement that
      wraps stops reading as a measurement), but at 340px the hero's
      "Booked in · Diagnosed · Priced · Agreed" is 412px wide and the
      section clipped it. Below this width the label is allowed to
      wrap and shrink, and the rule keeps its ticks.
   2. The job-sheet row is a 1fr/auto grid with a nowrap price. At
      340px "from £1,850" no longer fits its column, so the row
      stacks and the time chip and price sit side by side instead. */
@media (max-width:560px){
  .fs-tq-dim{gap:.65rem;}
  .fs-tq-dim-label{flex:0 1 auto;min-width:0;white-space:normal;}
  .fs-tq-hero-copy .fs-tq-dim .fs-tq-dim-arm:first-of-type{flex:0 0 1.5rem;}

  .fs-tq-jb-row{grid-template-columns:1fr;gap:.75rem;}
  .fs-tq-jb-nums{
    flex-direction:row;align-items:baseline;justify-content:flex-start;
    gap:.85rem;min-width:0;
  }
  .fs-tq-jb-foot{gap:1rem;}
}

/* ── Dark mode ──────────────────────────────────────────────────
   The stage art is a static SVG and cannot re-tint with the palette
   (see themes/art.ts). On near-black it would otherwise glare like a
   lightbox, so it gets the same gentle knock-back a photograph would
   need behind glass. */
/* :is(.dark *):not(.fs-preview-light *) -- the ambient .dark on
   <html> (layout.tsx's boot script, the visitor's OS preference) is
   not this site's resolved mode; siteShell() marks the site wrapper
   .dark or .fs-preview-light correctly. The old ".dark ANCESTOR"
   form dimmed this image on a LIGHT site for any dark-OS visitor.
   Same fix as LedgerLite (2026-09-03). */
.fs-tq-stage-img:is(.dark *):not(.fs-preview-light *){filter:brightness(.88) saturate(.94);}

/* ── Reduced motion: the sweep and the ping are the only motion in
      the set, and both are decorative. ── */
@media (prefers-reduced-motion: reduce){
  .fs-tq *,.fs-tq *::before,.fs-tq *::after{animation:none !important;transition:none !important;}
  .fs-tq-sweep{display:none !important;}
}

/* ── favTorqueFooter (theme-chrome batch 4, Coachwork) ────────────
   fs-tq-ft: the full-bleed band (named container), opened by the steel
   rule with its ticks hanging, over the graph ground fading out;
   fs-tq-ft-in: the content box, which narrows with the Layout. */
.fs-tq-ft{container-type:inline-size;container-name:fs-tq-ft;padding:0 clamp(1rem,4vw,2.5rem);--tq-ft-rule:rgb(var(--c-ink-950) / .13);--tq-ft-keyline:rgb(var(--c-ink-950) / .2);--tq-ft-arm:rgb(var(--c-ink-950) / .3);--tq-ft-tick:rgb(var(--c-ink-950) / .5);--tq-ft-grid:rgb(var(--c-ink-950) / .06);--tq-ft-plate-line:rgb(var(--c-brand-600) / .55);--tq-ft-plate-fill:rgb(var(--c-brand-600) / .08);--tq-ft-mark:rgb(var(--c-accent, var(--c-brand-600)));background:linear-gradient(var(--tq-ft-arm),var(--tq-ft-arm)) 0 0/100% 1px no-repeat,linear-gradient(90deg,var(--tq-ft-tick) 0 1px,transparent 1px) 50% 0/40px 10px repeat-x,linear-gradient(90deg,var(--tq-ft-arm) 0 1px,transparent 1px) 50% 0/8px 5px repeat-x,linear-gradient(to bottom,transparent,rgb(var(--c-paper)) 75%),linear-gradient(90deg,var(--tq-ft-grid) 0 1px,transparent 1px) 50% 0/40px 40px,linear-gradient(var(--tq-ft-grid) 0 1px,transparent 1px) 50% 0/40px 40px,rgb(var(--c-paper))}
.fs-tq-ft:is(.dark *):not(.fs-preview-light *){--tq-ft-rule:rgb(var(--c-ink-950) / .15);--tq-ft-keyline:rgb(var(--c-ink-950) / .22);--tq-ft-grid:rgb(var(--c-ink-950) / .07);--tq-ft-plate-fill:rgb(var(--c-brand-600) / .12)}
.fs-tq-ft-in{container-type:inline-size;container-name:fs-tq-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:44px 28px}
.fs-tq-ft-mark{flex:none;width:46px;height:46px}
.fs-tq-ft-mk-a{stop-color:rgb(var(--c-brand-600))}
.fs-tq-ft-mk-b{stop-color:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-tq-ft-names{min-width:0}
.fs-tq-ft-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 40px}
.fs-tq-ft-plate{display:inline-flex;align-items:center;gap:14px;min-width:0;padding:14px 28px 14px 18px;border:1px solid var(--tq-ft-plate-line);border-radius:8px;background:radial-gradient(circle,var(--tq-ft-plate-line) 0 1.6px,transparent 2.1px) left 6px top 6px/6px 6px no-repeat,radial-gradient(circle,var(--tq-ft-plate-line) 0 1.6px,transparent 2.1px) right 6px top 6px/6px 6px no-repeat,radial-gradient(circle,var(--tq-ft-plate-line) 0 1.6px,transparent 2.1px) left 6px bottom 6px/6px 6px no-repeat,radial-gradient(circle,var(--tq-ft-plate-line) 0 1.6px,transparent 2.1px) right 6px bottom 6px/6px 6px no-repeat,var(--tq-ft-plate-fill)}
.fs-tq-ft-name{margin:0;font:700 26px/1.1 var(--font-display, 'Zilla Slab', Georgia, serif);color:rgb(var(--c-ink-950))}
.fs-tq-ft-sub{margin:5px 0 0;font-weight:700;font-size:11px;line-height:1.2;letter-spacing:.22em;text-transform:uppercase;color:rgb(var(--c-brand-text))}
.fs-tq-ft-state{margin:0;max-width:42ch;font:500 17px/1.45 var(--font-display, 'Zilla Slab', Georgia, serif);color:rgb(var(--c-ink-700))}
.fs-tq-ft-dim{display:flex;align-items:center;gap:14px;margin-top:28px}
.fs-tq-ft-arm{flex:1 1 auto;min-width:24px;height:9px;background:linear-gradient(var(--tq-ft-arm),var(--tq-ft-arm)) 0 50%/100% 1px no-repeat,linear-gradient(var(--tq-ft-tick),var(--tq-ft-tick)) 0 0/1px 100% no-repeat,linear-gradient(var(--tq-ft-tick),var(--tq-ft-tick)) 100% 0/1px 100% no-repeat}
.fs-tq-ft-dim-l{flex:0 1 auto;min-width:0;font-weight:600;font-size:12px;line-height:1.35;letter-spacing:.18em;text-transform:uppercase;text-align:center;color:rgb(var(--c-ink-700));white-space:nowrap}
.fs-tq-ft-cols{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr) minmax(0,1fr) minmax(0,1fr);gap:28px 34px;margin-top:30px}
.fs-tq-ft-col{min-width:0}
.fs-tq-ft-h{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-weight:700;font-size:11.5px;line-height:1;letter-spacing:.22em;text-transform:uppercase;color:rgb(var(--c-ink-950))}
.fs-tq-ft-h::after{content:'';flex:1 1 auto;min-width:16px;height:9px;background:linear-gradient(var(--tq-ft-arm),var(--tq-ft-arm)) 0 50%/100% 1px no-repeat,linear-gradient(var(--tq-ft-tick),var(--tq-ft-tick)) 100% 0/1px 100% no-repeat}
.fs-tq-ft-hours{list-style:none;margin:0;padding:0}
.fs-tq-ft-hrow{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:5px 12px;padding-block:7px}
.fs-tq-ft-hd{font:700 15px/1.3 var(--font-display, 'Zilla Slab', Georgia, serif);color:rgb(var(--c-ink-950));white-space:nowrap}
.fs-tq-ft-ht{font-size:13.5px;line-height:1.4;color:rgb(var(--c-ink-700));text-align:right;font-variant-numeric:tabular-nums}
.fs-tq-ft-hbar{grid-column:1/-1;position:relative;display:block;height:9px;background:linear-gradient(var(--tq-ft-rule),var(--tq-ft-rule)) 0 50%/100% 1px no-repeat,linear-gradient(90deg,var(--tq-ft-arm) 0 1px,transparent 1px) 0 100%/calc(100% / 11) 4px repeat-x}
.fs-tq-ft-hbar::before{content:'';position:absolute;top:0;bottom:0;left:calc(var(--a) * 1%);width:calc((var(--b) - var(--a)) * 1%);background:linear-gradient(rgb(var(--c-brand-600)),rgb(var(--c-brand-600))) 0 50%/100% 2px no-repeat,linear-gradient(rgb(var(--c-brand-600)),rgb(var(--c-brand-600))) 0 0/1.5px 100% no-repeat,linear-gradient(rgb(var(--c-brand-600)),rgb(var(--c-brand-600))) 100% 0/1.5px 100% no-repeat}
.fs-tq-ft-hrow.is-arr .fs-tq-ft-hbar::before{background:repeating-linear-gradient(90deg,rgb(var(--c-brand-600)) 0 5px,transparent 5px 9px) 0 50%/100% 2px no-repeat,linear-gradient(rgb(var(--c-brand-600)),rgb(var(--c-brand-600))) 0 0/1.5px 100% no-repeat,linear-gradient(rgb(var(--c-brand-600)),rgb(var(--c-brand-600))) 100% 0/1.5px 100% no-repeat}
.fs-tq-ft-note{margin:10px 0 0;font-size:13px;line-height:1.5;color:rgb(var(--c-ink-700))}
.fs-tq-ft-links{list-style:none;margin:0;padding:0}
.fs-tq-ft-li{padding-block:4px}
.fs-tq-ft-link{font-size:14.5px;color:rgb(var(--c-ink-950));text-decoration:none}
.fs-tq-ft-link:hover{color:rgb(var(--c-brand-text));text-decoration:underline;text-underline-offset:3px}
.fs-tq-ft-facts{display:grid;list-style:none;margin:0;padding:0;border:1px solid var(--tq-ft-keyline);border-radius:8px;background:rgb(var(--c-paper-soft, var(--c-paper)))}
.fs-tq-ft-fact{display:grid;gap:3px;padding:10px 14px}
.fs-tq-ft-fact + .fs-tq-ft-fact{border-top:1px solid var(--tq-ft-rule)}
.fs-tq-ft-fv{font:700 18px/1.2 var(--font-display, 'Zilla Slab', Georgia, serif);color:rgb(var(--c-brand-text))}
.fs-tq-ft-fc{font-size:13px;line-height:1.45;color:rgb(var(--c-ink-700))}
.fs-tq-ft-ring{display:grid;justify-items:start;align-content:start;gap:9px}
.fs-tq-ft-ring .fs-tq-ft-h{margin-bottom:5px}
.fs-tq-ft-tel{padding-bottom:2px;border-bottom:2px solid var(--tq-ft-mark);font:700 22px/1.1 var(--font-display, 'Zilla Slab', Georgia, serif);color:rgb(var(--c-ink-950));white-space:nowrap;font-variant-numeric:tabular-nums;text-decoration:none}
.fs-tq-ft-p{margin:0;font-size:14px;line-height:1.5;color:rgb(var(--c-ink-700))}
.fs-tq-ft-mail{color:rgb(var(--c-ink-950));text-decoration:none}
.fs-tq-ft-legal{display:flex;flex-wrap:wrap;gap:6px 18px;margin:30px 0 0;padding-top:14px;border-top:1px solid var(--tq-ft-rule);font-size:12.5px;color:rgb(var(--c-ink-400))}
.fs-tq-ft-legal-t{margin-right:auto;color:inherit}
.fs-tq-ft-legal-a{color:inherit;text-decoration:none}
.fs-tq-ft-legal-a:hover{color:rgb(var(--c-ink-950))}
@container fs-tq-ft (max-width: 40rem){
  .fs-tq-ft-in{padding-block:38px 24px}
}
@container fs-tq-ft-in (max-width: 56rem){
  .fs-tq-ft-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container fs-tq-ft (max-width: 48rem){
  .fs-tq-ft-head{flex-direction:column;align-items:flex-start}
  .fs-tq-ft-cols{grid-template-columns:minmax(0,1fr)}
  .fs-tq-ft-dim-l{white-space:normal}
}
@container fs-tq-ft (max-width: 30rem){
  .fs-tq-ft-plate{gap:12px;padding:12px 20px 12px 14px}
  .fs-tq-ft-mark{width:38px;height:38px}
  .fs-tq-ft-name{font-size:22px}
  .fs-tq-ft-sub{letter-spacing:.14em}
  .fs-tq-ft-state{font-size:16px}
  .fs-tq-ft-legal-t{flex-basis:100%}
}


.fs-bl{
  position:relative;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-bl *{box-sizing:border-box;}

/* ── Motifs ─────────────────────────────────────────────────────
   The double rule: heavy over fine. Two spans rather than a border
   so the two weights can differ. */
.fs-bl-rule{display:flex;flex-direction:column;gap:3px;width:100%;margin:1.35rem 0;}
.fs-bl-rule span{display:block;width:100%;}
.fs-bl-rule span:first-child{height:3px;background:rgb(var(--c-ink-950) / .8);}
.fs-bl-rule span:last-child{height:1px;background:rgb(var(--c-ink-950) / .4);}
.fs-bl-rule-tight{margin:1rem 0 1.1rem;}

/* The marquee bulb strip — the sign above the door, in CSS. */
.fs-bl-bulbs{
  display:flex;align-items:center;justify-content:space-between;
  gap:.35rem;padding:.62rem clamp(.7rem,2.2vw,1.4rem);
  border-bottom:1px solid rgb(var(--c-ink-950) / .22);
}
.fs-bl-bulbs:last-child{border-bottom:none;border-top:1px solid rgb(var(--c-ink-950) / .22);}
.fs-bl-bulb{
  flex:0 0 auto;width:.5rem;height:.5rem;border-radius:50%;
  background:rgb(var(--c-accent));
  box-shadow:0 0 0 1px rgb(var(--c-ink-950) / .2);
  opacity:.42;
}
.fs-bl-anim .fs-bl-bulb{animation:fs-bl-chase 1.7s ease-in-out infinite;}
@keyframes fs-bl-chase{
  0%,100%{opacity:.28;transform:scale(.76);}
  50%{opacity:1;transform:scale(1);}
}

/* The printer's flourish between billing blocks. */
.fs-bl-stars{
  display:flex;align-items:center;justify-content:center;gap:.75rem;
  margin:1.05rem 0;font-size:.68rem;letter-spacing:.2em;
  color:rgb(var(--c-brand-600));
}
.fs-bl-stars i{font-style:normal;font-size:.86rem;color:rgb(var(--c-accent));}

/* ── Type ─────────────────────────────────────────────────────── */
/* The stamp: the line of small print along the very top of a bill,
   boxed in a keyline the way a printer's imprint always was. */
.fs-bl-stamp{
  display:inline-block;
  padding:.34rem .8rem;
  border:1px solid rgb(var(--c-ink-950) / .38);
  font-size:.64rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;
  color:rgb(var(--c-ink-700));
}
.fs-bl-kicker{
  display:block;
  font-size:.72rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;
  color:rgb(var(--c-brand-600));
}
/* Uppercase and tight: a playbill has always been a wall of capitals,
   and weight is left at 400 because the display faces this register
   wants (fat faces, heavy slabs) carry their weight in the drawing —
   asking for 700 only invites a synthesised fake bold. */
.fs-bl-title{
  margin:.9rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(2.2rem,6vw,4.4rem);
  line-height:1.02;font-weight:400;letter-spacing:-.012em;
  text-transform:uppercase;text-wrap:balance;
  color:rgb(var(--c-ink-950));
}
.fs-bl-title-sm{font-size:clamp(1.9rem,4.4vw,3.2rem);}
.fs-bl-accent{color:rgb(var(--c-brand-600));}
.fs-bl-h{
  margin:.55rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(1.7rem,3.6vw,2.7rem);
  line-height:1.1;font-weight:400;letter-spacing:-.008em;
  text-transform:uppercase;text-wrap:balance;
  color:rgb(var(--c-ink-950));
}
.fs-bl-lede{
  margin:1.15rem auto 0;max-width:54ch;
  font-size:clamp(1rem,1.4vw,1.08rem);line-height:1.68;
  color:rgb(var(--c-ink-700));
}
.fs-bl-sub{
  margin:.85rem auto 0;max-width:60ch;
  font-size:clamp(.95rem,1.3vw,1.02rem);line-height:1.7;
  color:rgb(var(--c-ink-700));
}
.fs-bl-note{
  margin:1.1rem auto 0;max-width:64ch;
  font-size:.8rem;line-height:1.65;letter-spacing:.01em;text-align:center;
  color:rgb(var(--c-ink-400));
}
.fs-bl-head{max-width:var(--fs-layout-max,56rem);margin:0 auto;text-align:center;}

/* ── Buttons — one printed block, one ruled link ───────────────── */
.fs-bl-ctas{display:flex;flex-wrap:wrap;gap:1.1rem;margin-top:1.7rem;align-items:center;}
.fs-bl-ctas-center{justify-content:center;}
.fs-bl-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.92rem 2.1rem;border-radius:var(--fs-radius-control, 0);
  font-size:.8rem;font-weight:700;line-height:1;white-space:nowrap;
  letter-spacing:.16em;text-transform:uppercase;
  color:rgb(var(--c-paper));
  background:rgb(var(--c-brand-600));
  box-shadow:0 0 0 1px rgb(var(--c-ink-950) / .55), 3px 3px 0 0 rgb(var(--c-ink-950) / .55);
  transition:background .25s ease, box-shadow .25s ease, transform .25s ease;
}
.fs-bl-btn:hover{
  background:rgb(var(--c-brand-700, var(--c-brand-600)));
  box-shadow:0 0 0 1px rgb(var(--c-ink-950) / .55), 1px 1px 0 0 rgb(var(--c-ink-950) / .55);
  transform:translate(2px,2px);
}
.fs-bl-link{
  display:inline-flex;align-items:center;
  padding-bottom:.18rem;
  border-bottom:2px solid rgb(var(--c-accent));
  font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:rgb(var(--c-ink-950));
  transition:color .25s ease, border-color .25s ease;
}
.fs-bl-link:hover{color:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));}

/* ═════════ HERO (favBillHero) ═════════
   The bill itself: a ruled sheet pasted to the wall, bulb-lit top and
   foot, with the doors/stage/curfew strip along the bottom. */
.fs-bl-hero{
  overflow:hidden;
  padding:var(--fs-space-section, clamp(2.6rem,6vw,4.5rem)) clamp(.85rem,3.5vw,2rem);
}
.fs-bl-hero-bg{position:absolute;inset:0;overflow:hidden;}
.fs-bl-hero-bg img{width:100%;height:100%;object-fit:cover;display:block;}
/* The paste-up wash: the backdrop is the WALL, not the poster, so it
   is knocked back far enough that the type always wins. */
.fs-bl-hero-bg::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:rgb(var(--c-paper) / .76);
}
.fs-bl-sheet{
  position:relative;z-index:1;max-width:var(--fs-layout-max,60rem);margin:0 auto;
  background:rgb(var(--c-paper-soft));
  border:3px solid rgb(var(--c-ink-950) / .82);
  border-radius:var(--fs-radius-card, 0);
  box-shadow:var(--fs-shadow-card, 0 2px 12px rgb(0 0 0 / .1));
}
.fs-bl-hero-inner{
  padding:clamp(1.5rem,4vw,3rem) clamp(1.1rem,4vw,3rem) clamp(1.3rem,3vw,2.2rem);
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.fs-bl-times{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;
}
.fs-bl-time{
  display:flex;flex-direction:column;align-items:center;gap:.28rem;
  padding:.55rem .4rem;
}
.fs-bl-time + .fs-bl-time{border-left:1px solid rgb(var(--c-ink-950) / .16);}
.fs-bl-time-l{
  font-size:.62rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-bl-time-v{
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(1.05rem,2vw,1.4rem);line-height:1;
  color:rgb(var(--c-brand-600));
}

/* ═════════ PAGE HEADER (favBillHeader) ═════════
   The hero's sheet without its bulbs or its times strip: an interior
   page opens in the same voice without carrying a second poster. */
.fs-bl-hd{padding:var(--fs-space-section, clamp(2.2rem,5vw,3.6rem)) clamp(1rem,4vw,2.5rem);}
.fs-bl-hd-inner{
  max-width:min(52rem, var(--fs-layout-clamp, 52rem));margin:0 auto;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.fs-bl-hd .fs-bl-title{font-size:clamp(1.8rem,4.2vw,3rem);}
.fs-bl-hd .fs-bl-lede{margin-bottom:.2rem;}

/* ═════════ LISTING (favBillListing) ═════════
   The line-up: a torn date stamp in the margin, the billing in the
   middle, the price and its status flag on the right. */
.fs-bl-lst{padding:var(--fs-space-section, clamp(2.6rem,6vw,4.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-bl-lst-inner{max-width:var(--fs-layout-max,60rem);margin:0 auto;}
.fs-bl-rows{display:flex;flex-direction:column;}
.fs-bl-row{
  display:grid;grid-template-columns:4.4rem 1fr auto;
  gap:clamp(.9rem,2.5vw,1.6rem);align-items:center;
  padding:1.05rem .2rem;
}
.fs-bl-row + .fs-bl-row{border-top:1px solid rgb(var(--c-ink-950) / .14);}
/* The date stamp — three stacked lines in a keyline box, the way a
   box office has always written a date on a ticket. */
.fs-bl-date{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:.42rem .2rem .5rem;
  border:2px solid rgb(var(--c-ink-950) / .72);
  border-radius:var(--fs-radius-control, 0);
  background:rgb(var(--c-paper-soft));
}
.fs-bl-date-d{
  font-size:.6rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:rgb(var(--c-brand-600));
}
.fs-bl-date-n{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.55rem;line-height:1.05;color:rgb(var(--c-ink-950));
}
.fs-bl-date-m{
  font-size:.6rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-bl-act-t{
  margin:0;
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(1.1rem,2.2vw,1.42rem);line-height:1.16;font-weight:400;
  text-transform:uppercase;letter-spacing:-.005em;
  color:rgb(var(--c-ink-950));
}
.fs-bl-act-b{margin-top:.28rem;font-size:.86rem;line-height:1.55;color:rgb(var(--c-ink-700));max-width:52ch;}
.fs-bl-genre{
  display:inline-block;margin-top:.5rem;
  padding:.2rem .55rem;
  border:1px solid rgb(var(--c-ink-950) / .3);
  border-radius:var(--fs-radius-pill, 0);
  font-size:.6rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-bl-buy{display:flex;flex-direction:column;align-items:flex-end;gap:.42rem;text-align:right;}
.fs-bl-price{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.18rem;line-height:1;white-space:nowrap;
  color:rgb(var(--c-ink-950));
}
.fs-bl-flag{
  padding:.26rem .6rem;
  border-radius:var(--fs-radius-pill, 0);
  font-size:.6rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  white-space:nowrap;
}
.fs-bl-flag[data-tone="on"]{background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));}
.fs-bl-flag[data-tone="low"]{background:rgb(var(--c-accent));color:rgb(var(--c-ink-950));}
.fs-bl-flag[data-tone="out"]{
  background:transparent;color:rgb(var(--c-ink-400));
  border:1px solid rgb(var(--c-ink-950) / .28);
}
@media (max-width:640px){
  .fs-bl-row{grid-template-columns:3.7rem 1fr;row-gap:.7rem;}
  .fs-bl-buy{grid-column:2;flex-direction:row;align-items:center;gap:.7rem;justify-content:flex-start;text-align:left;}
}

/* ═════════ TICKET STUBS (favBillStubs) ═════════
   Perforated and punched: a dashed rule between the tab and the body,
   with two notches taken out of the card where the rule meets it. */
.fs-bl-st{padding:var(--fs-space-section, clamp(2.6rem,6vw,4.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-bl-st-inner{max-width:var(--fs-layout-max,66rem);margin:0 auto;}
.fs-bl-st-grid{
  margin-top:clamp(1.6rem,4vw,2.6rem);
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--fs-space-gap, clamp(1rem,2.5vw,1.6rem));
}
@media (max-width:900px){.fs-bl-st-grid{grid-template-columns:1fr;}}
.fs-bl-stub{
  position:relative;
  display:grid;grid-template-columns:2.5rem 1fr;
  background:rgb(var(--c-paper-soft));
  border:2px solid rgb(var(--c-ink-950) / .78);
  border-radius:var(--fs-radius-card, 0);
  box-shadow:var(--fs-shadow-card, none);
}
.fs-bl-stub-tab{
  display:flex;align-items:center;justify-content:center;
  border-right:2px dashed rgb(var(--c-ink-950) / .42);
  background:rgb(var(--c-brand-600) / .09);
}
.fs-bl-stub-k{
  writing-mode:vertical-rl;transform:rotate(180deg);
  font-size:.6rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;
  white-space:nowrap;color:rgb(var(--c-brand-600));
}
/* The punched notches, half in and half out of the card. */
.fs-bl-stub::before,.fs-bl-stub::after{
  content:'';position:absolute;left:2.5rem;
  width:14px;height:14px;border-radius:50%;
  background:rgb(var(--c-paper));
  border:2px solid rgb(var(--c-ink-950) / .78);
  transform:translate(-50%,-50%);
}
.fs-bl-stub::before{top:0;}
.fs-bl-stub::after{top:100%;}
.fs-bl-stub-body{padding:clamp(1.1rem,2.6vw,1.6rem);}
.fs-bl-stub-t{
  margin:0;
  font-family:var(--font-display, Georgia, serif);
  font-size:1.3rem;line-height:1.12;font-weight:400;text-transform:uppercase;
  color:rgb(var(--c-ink-950));
}
.fs-bl-stub-p{
  margin-top:.35rem;
  font-family:var(--font-display, Georgia, serif);
  font-size:1.55rem;line-height:1;color:rgb(var(--c-brand-600));
}
.fs-bl-stub-b{margin-top:.75rem;font-size:.88rem;line-height:1.65;color:rgb(var(--c-ink-700));}
.fs-bl-stub-f{
  margin-top:.9rem;padding-top:.7rem;
  border-top:1px dashed rgb(var(--c-ink-950) / .28);
  font-size:.66rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}

/* ═════════ INTERACTIVE FLOOR PLAN (favBillStage) ═════════
   The cutaway drawing on the left, the specification on the right,
   and the chips underneath as the keyboard (and mobile) path. */
.fs-bl-pl{padding:var(--fs-space-section, clamp(2.6rem,6vw,4.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-bl-pl-inner{max-width:var(--fs-layout-max,70rem);margin:0 auto;}
.fs-bl-pl-stage{
  margin-top:clamp(1.5rem,3.5vw,2.4rem);
  display:grid;grid-template-columns:1.4fr .6fr;
  gap:clamp(1.2rem,3vw,2rem);align-items:stretch;
}
@media (max-width:900px){.fs-bl-pl-stage{grid-template-columns:1fr;}}
.fs-bl-pl-draw{
  border:2px solid rgb(var(--c-ink-950) / .78);
  border-radius:var(--fs-radius-card, 0);
  background:rgb(var(--c-paper-soft));
  overflow:hidden;
}
.fs-bl-pl-draw svg{display:block;width:100%;height:auto;}

/* SVG paint — every value a theme variable, so the drawing re-tints. */
.fs-bl-pl-wash-a{stop-color:rgb(var(--c-paper-soft));}
.fs-bl-pl-wash-b{stop-color:rgb(var(--c-brand-600) / .14);}
.fs-bl-pl-glow-a{stop-color:rgb(var(--c-accent) / .38);}
.fs-bl-pl-glow-b{stop-color:rgb(var(--c-accent) / 0);}
.fs-bl-pl-shell{stroke:rgb(var(--c-ink-950) / .22);stroke-width:1.5;}
.fs-bl-pl-roof{stroke:rgb(var(--c-ink-950) / .5);stroke-width:2.5;}
.fs-bl-pl-ground{stroke:rgb(var(--c-ink-950) / .55);stroke-width:2.5;}
.fs-bl-pl-hit{fill:transparent;}
.fs-bl-zone{opacity:.55;cursor:pointer;transition:opacity .3s ease;}
.fs-bl-zone[data-on="1"]{opacity:1;}
.fs-bl-pl-truss{stroke:rgb(var(--c-ink-950) / .55);stroke-width:2;}
.fs-bl-pl-lamp-body{fill:rgb(var(--c-ink-950) / .78);}
.fs-bl-pl-arch{stroke:rgb(var(--c-ink-950) / .72);stroke-width:3;}
.fs-bl-pl-arch-in{stroke:rgb(var(--c-ink-950) / .3);stroke-width:1.2;}
.fs-bl-pl-drape{fill:rgb(var(--c-brand-600) / .55);}
.fs-bl-pl-deck{fill:rgb(var(--c-ink-950) / .82);}
.fs-bl-pl-figure{fill:rgb(var(--c-accent));}
.fs-bl-pl-floor{fill:rgb(var(--c-ink-950) / .6);}
.fs-bl-pl-head circle,.fs-bl-pl-head path{fill:rgb(var(--c-ink-950) / .58);}
.fs-bl-pl-balc{fill:rgb(var(--c-brand-600) / .2);stroke:rgb(var(--c-ink-950) / .55);stroke-width:2;}
.fs-bl-pl-rail{stroke:rgb(var(--c-accent));stroke-width:2.5;}
.fs-bl-pl-soffit{stroke:rgb(var(--c-ink-950) / .55);stroke-width:2.5;}
.fs-bl-pl-seat circle,.fs-bl-pl-seat path{fill:rgb(var(--c-ink-950) / .6);}
.fs-bl-pl-bar{fill:rgb(var(--c-ink-950) / .74);}
.fs-bl-pl-bar-top{stroke:rgb(var(--c-accent));stroke-width:3;}
.fs-bl-pl-bottle{fill:rgb(var(--c-brand-600) / .75);}
.fs-bl-pl-shelf{stroke:rgb(var(--c-ink-950) / .4);stroke-width:1.5;}
.fs-bl-pl-stair{stroke:rgb(var(--c-ink-950) / .4);stroke-width:1.5;stroke-dasharray:5 5;}
.fs-bl-pl-pin{cursor:pointer;}
.fs-bl-pl-pin circle{
  fill:rgb(var(--c-paper));stroke:rgb(var(--c-ink-950) / .8);stroke-width:2;
  transition:fill .25s ease;
}
.fs-bl-pl-pin text{
  font-family:var(--font-display, Georgia, serif);
  font-size:14px;fill:rgb(var(--c-ink-950));
  transition:fill .25s ease;
}
.fs-bl-pl-pin[data-on="1"] circle{fill:rgb(var(--c-brand-600));}
.fs-bl-pl-pin[data-on="1"] text{fill:rgb(var(--c-paper));}

/* The readout beside the drawing. */
.fs-bl-pl-spec{
  display:flex;flex-direction:column;
  padding:clamp(1.2rem,3vw,1.7rem);
  border:2px solid rgb(var(--c-ink-950) / .78);
  border-radius:var(--fs-radius-card, 0);
  background:rgb(var(--c-paper-soft));
}
.fs-bl-pl-spec-n{
  font-family:var(--font-display, Georgia, serif);
  font-size:2.1rem;line-height:1;color:rgb(var(--c-brand-600) / .35);
}
.fs-bl-pl-spec-t{
  margin:.45rem 0 0;
  font-family:var(--font-display, Georgia, serif);
  font-size:1.4rem;line-height:1.1;font-weight:400;text-transform:uppercase;
  color:rgb(var(--c-ink-950));
}
.fs-bl-pl-spec-s{
  margin-top:.5rem;padding:.28rem .6rem;align-self:flex-start;
  background:rgb(var(--c-accent));
  border-radius:var(--fs-radius-pill, 0);
  font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:rgb(var(--c-ink-950));
}
.fs-bl-pl-spec-b{margin-top:.9rem;font-size:.88rem;line-height:1.66;color:rgb(var(--c-ink-700));}

.fs-bl-pl-chips{
  margin-top:clamp(1rem,2.5vw,1.5rem);
  display:flex;flex-wrap:wrap;gap:.55rem;justify-content:center;
}
.fs-bl-pl-chip{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.5rem .95rem;
  border:1px solid rgb(var(--c-ink-950) / .32);
  border-radius:var(--fs-radius-pill, 0);
  background:transparent;cursor:pointer;
  font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:rgb(var(--c-ink-700));
  transition:background .25s ease, color .25s ease, border-color .25s ease;
}
.fs-bl-pl-chip-n{font-family:var(--font-display, Georgia, serif);opacity:.6;}
.fs-bl-pl-chip:hover{border-color:rgb(var(--c-brand-600));color:rgb(var(--c-brand-600));}
.fs-bl-pl-chip[data-on="1"]{
  background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));
  color:rgb(var(--c-paper));
}
.fs-bl-pl-chip[data-on="1"] .fs-bl-pl-chip-n{opacity:.75;}

/* ═════════ CTA (favBillCta) ═════════ */
.fs-bl-cta{padding:var(--fs-space-section, clamp(2.6rem,6vw,4.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-bl-cta-sheet{
  position:relative;max-width:min(48rem, var(--fs-layout-clamp, 48rem));margin:0 auto;
  background:rgb(var(--c-paper-soft));
  border:3px solid rgb(var(--c-ink-950) / .82);
  border-radius:var(--fs-radius-card, 0);
  box-shadow:var(--fs-shadow-card, 0 2px 12px rgb(0 0 0 / .1));
}
.fs-bl-cta-inner{
  padding:clamp(1.6rem,4vw,2.6rem) clamp(1.1rem,4vw,2.6rem);
  display:flex;flex-direction:column;align-items:center;text-align:center;
}

/* ── Motion, all of it optional ────────────────────────────────── */
.fs-bl-anim .fs-bl-pl-lamp{animation:fs-bl-flicker 3.6s ease-in-out infinite;}
@keyframes fs-bl-flicker{0%,100%{opacity:.72;}45%{opacity:1;}}
.fs-bl-anim .fs-bl-pl-head{animation:fs-bl-bob 2.8s ease-in-out infinite;}
@keyframes fs-bl-bob{0%,100%{transform:translateY(0);}50%{transform:translateY(-3px);}}

@media (prefers-reduced-motion:reduce){
  .fs-bl-anim .fs-bl-bulb,
  .fs-bl-anim .fs-bl-pl-lamp,
  .fs-bl-anim .fs-bl-pl-head,
  .fs-bl-anim .fs-bl-ft-bulbs{animation:none;}
  .fs-bl-anim .fs-bl-bulb{opacity:.72;transform:none;}
  .fs-bl-anim .fs-bl-pl-head{transform:none;}
  .fs-bl-anim .fs-bl-ft-bulbs{opacity:.72;background-position:0 50%;}
  .fs-bl-btn,.fs-bl-link,.fs-bl-zone,.fs-bl-pl-chip,
  .fs-bl-pl-pin circle,.fs-bl-pl-pin text{transition:none;}
  .fs-bl-btn:hover{transform:none;}
}

/* ═════════ FOOTER (favBillFooter) ═════════
   Limelight's own footer — a perforated ticket: the main stub (name,
   lede, three info columns), a vertical dotted perforation, and a
   tear-off stub (Admit one, the box-office number, the email sign-up
   LINK — never a form, see BillBlocks.tsx's own note — and a serial
   number), with the footer nav and the platform's legal row beneath.
   Ported from the mockup's '.l-ftr' family
   (docs/superpowers/specs/2026-09-27-theme-chrome-mockup.html, lines
   170–279). UNSCOPED, like the rest of this file (see the header note
   above) — a family block, theme-locked by themeBlocks/
   FOOTER_REGION_TYPES rather than by a [data-fs-theme] prefix (ledger
   ruling R1). '--ll-gilt' / '--ll-hot' are Limelight's own theme-local
   tokens (limelight-chrome-styles.ts) — safe to read unscoped here
   because this block only ever renders under that theme (R1's own
   reasoning); 'gilt-ink' in the mockup (a darker gilt in light mode,
   equal to gilt in dark mode) has no dedicated token, same ruling
   limelight-chrome-styles.ts already made for its own status flags —
   every '--gilt-ink' below reads '--ll-gilt' directly. */
.fs-bl-ft{padding:0 0 36px;container-type:inline-size;}
.fs-bl-ft>.fs-bl-ft-bulbs{margin-bottom:44px;}
.fs-bl-ft-wrap{max-width:var(--fs-layout-max,66rem);margin:0 auto;padding-inline:clamp(1rem,4vw,2.5rem);}

/* The bulb strip — an empty div here (unlike Bulbs()'s span-per-bulb
   elsewhere in this set: see BillBlocks.tsx), so the row of bulbs is
   painted as a repeating background dot instead, coloured exactly like
   .fs-bl-bulb (~line 60: the accent fill, the ink ring) and animated
   between the same .42 dim / 1 lit opacities that span already uses,
   rather than porting the mockup's own bespoke '--bulb'/'--bulbbar'
   pair or the header's theme-scoped marquee technique
   (limelight-chrome-styles.ts) — this file stays palette-token-driven
   and theme-agnostic (R1). */
.fs-bl-ft-bulbs{
  height:14px;
  border-bottom:1px solid rgb(var(--c-ink-950) / .22);
  background-image:radial-gradient(circle,rgb(var(--c-accent)) 0 3px,rgb(var(--c-ink-950) / .2) 3.6px,transparent 5.2px);
  background-size:22px 14px;background-repeat:repeat-x;background-position:0 50%;
  opacity:.42;
}
.fs-bl-anim .fs-bl-ft-bulbs{animation:fs-bl-ft-chase 1.7s ease-in-out infinite;}
@keyframes fs-bl-ft-chase{
  0%,100%{opacity:.42;background-position:0 50%;}
  50%{opacity:1;background-position:11px 50%;}
}

/* The ticket card. The mask cuts two circular notches out of the card
   at the perforation column's centre (290px stub + half of the 26px
   gap = 303px from the right edge) — the same formula the mockup
   uses, unconverted, since it is pure geometry, not a colour. The
   drop-shadow lives on '.fs-bl-ft-tkt' scoped through its wrapper
   (mockup's own '.l-tktwrap', which has no separate element here) so
   it renders around the masked (notched) shape rather than the card's
   unmasked rectangle. */
.fs-bl-ft-tkt{
  display:grid;grid-template-columns:1fr 26px 290px;
  background:rgb(var(--c-paper-soft));
  box-shadow:inset 0 0 0 10px rgb(var(--c-paper-soft)),inset 0 0 0 11px rgb(var(--c-ink-950) / .15);
  -webkit-mask:radial-gradient(circle 13px at calc(100% - 303px) 0,#0000 97%,#000),radial-gradient(circle 13px at calc(100% - 303px) 100%,#0000 97%,#000);
  -webkit-mask-composite:source-in;
  mask:radial-gradient(circle 13px at calc(100% - 303px) 0,#0000 97%,#000),radial-gradient(circle 13px at calc(100% - 303px) 100%,#0000 97%,#000);
  mask-composite:intersect;
}
.fs-bl-ft-wrap .fs-bl-ft-tkt{filter:drop-shadow(0 18px 26px rgb(0 0 0 / .2));}

.fs-bl-ft-main{padding:40px 44px;}
/* F7 (final review): 11px text at raw gilt measured 3.3–4.2:1 on paper
   across Limelight's four light palettes — below WCAG AA's 4.5:1 floor.
   --ll-gilt-ink (limelight-chrome-styles.ts, this theme's own scope)
   is the darker, ≥4.5:1 mix; falls back to plain accent outside that
   scope, matching every other --ll-* fallback in this file. */
.fs-bl-ft-est{
  margin:0;font-size:11px;font-weight:600;line-height:1;
  letter-spacing:.24em;text-transform:uppercase;
  color:var(--ll-gilt-ink, rgb(var(--c-accent, var(--c-brand-600))));
}
/* R18 (ledger ruling, fix round 1): the venue name and the column
   labels/paragraphs are the mockup's own plain <h3>/<h5>/<p> markup.
   EditWpClient's global typography ramp styles exactly that shape —
   '.fs-typo h3:not([class])' / 'h5:not([class])' etc. (see its own
   comment: bare headings/paragraphs get the customer's global ramp;
   a block gives an element its OWN class specifically to keep its
   designed look and skip the ramp entirely). The first version here
   fought those rules with an ancestor-class specificity chain, which
   worked but was fragile and the wrong tool — R18 is simpler and is
   what the platform actually expects: every heading, paragraph and
   link gets its own class, so ':not([class])' never matches it and no
   specificity contest exists at all. */
.fs-bl-ft-name{
  margin:12px 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:54px;line-height:1;font-weight:400;
  color:rgb(var(--c-ink-950));
}
.fs-bl-ft-lede{max-width:48ch;margin:12px 0 0;font-size:14px;line-height:1.6;color:rgb(var(--c-ink-700));}
.fs-bl-ft-cols{
  display:grid;grid-template-columns:repeat(3,1fr);gap:26px;
  margin-top:26px;padding-top:20px;
  border-top:1px solid rgb(var(--c-ink-950) / .15);
}
/* F7 — same gilt-ink swap as .fs-bl-ft-est above. */
.fs-bl-ft-h5{
  margin:0 0 8px;font-size:11px;font-weight:600;line-height:1;
  letter-spacing:.2em;text-transform:uppercase;
  color:var(--ll-gilt-ink, rgb(var(--c-accent, var(--c-brand-600))));
}
.fs-bl-ft-colp{margin:0;font-size:14px;color:rgb(var(--c-ink-950));}
.fs-bl-ft-muted{margin-top:6px;color:rgb(var(--c-ink-700));}

.fs-bl-ft-perf{
  margin-block:18px;
  background:radial-gradient(circle,rgb(var(--ll-gilt, var(--c-accent))) 0 1.7px,transparent 2.2px) 50% 0/26px 11px repeat-y;
}

.fs-bl-ft-stub{display:flex;flex-direction:column;gap:12px;padding:40px 30px 30px;}
.fs-bl-ft-admit{
  font-size:11px;font-weight:600;line-height:1;
  letter-spacing:.3em;text-transform:uppercase;
  color:rgb(var(--ll-hot, var(--c-brand-600)));
}
.fs-bl-ft-tel{
  margin:0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:30px;line-height:1;font-weight:400;
  font-variant-numeric:tabular-nums;
  color:rgb(var(--c-ink-950));
}
.fs-bl-ft-signup{
  display:inline-flex;align-self:flex-start;align-items:center;gap:.4rem;
  padding:.6rem 1rem;
  background:rgb(var(--c-brand-600));
  color:rgb(var(--c-paper));
  font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  transition:background .25s ease;
}
.fs-bl-ft-signup:hover{background:rgb(var(--c-brand-700, var(--c-brand-600)));}
/* F7 — same gilt-ink swap as .fs-bl-ft-est above. */
.fs-bl-ft-serial{
  align-self:flex-end;margin-top:auto;
  font-size:11px;font-weight:600;line-height:1;
  letter-spacing:.2em;font-variant-numeric:tabular-nums;
  color:var(--ll-gilt-ink, rgb(var(--c-accent, var(--c-brand-600))));
}

.fs-bl-ft-links{
  display:flex;flex-wrap:wrap;justify-content:center;gap:10px 14px;
  margin:34px 0 0;
  font-size:11.5px;font-weight:600;line-height:1;letter-spacing:.2em;text-transform:uppercase;
}
/* Same R18 fight as the headings above — the global ramp's link rule
   ('.fs-typo a:not([class])') ships a default '--fs-link-color' of
   brand-600, which otherwise wins over a bare <a> regardless of the
   parent selector's specificity. Both the nav links and the legal
   row's links (below) now carry their own class, so the ramp never
   matches them at all. */
.fs-bl-ft-link{color:rgb(var(--c-ink-950));text-decoration:none;}
.fs-bl-ft-link:hover{color:rgb(var(--ll-gilt, var(--c-accent)));}
/* The ✦ between links, the way the mockup's own '.l-flinks i' reads,
   without a separate DOM node for it (BillBlocks.tsx renders plain
   <a>s) — an ::before on every link but the first. */
.fs-bl-ft-link+.fs-bl-ft-link::before{
  content:'✦';display:inline-block;margin-right:8px;
  color:rgb(var(--ll-gilt, var(--c-accent)));
}

.fs-bl-ft-legal{
  display:flex;flex-wrap:wrap;justify-content:center;gap:4px 10px;
  margin:14px 0 0;font-size:12.5px;color:rgb(var(--c-ink-700));
}
.fs-bl-ft-legallink{color:inherit;text-decoration:none;}
.fs-bl-ft-legallink:hover{color:rgb(var(--c-ink-950));}

@container (max-width: 48rem){
  .fs-bl-ft-tkt{grid-template-columns:1fr;-webkit-mask:none;mask:none;}
  .fs-bl-ft-perf{
    height:14px;margin:0 16px;
    background:radial-gradient(circle,rgb(var(--ll-gilt, var(--c-accent))) 0 1.7px,transparent 2.2px) 0 50%/11px 14px repeat-x;
  }
  .fs-bl-ft-main{padding:28px 22px;}
  .fs-bl-ft-name{font-size:40px;}
  .fs-bl-ft-cols{grid-template-columns:1fr;gap:16px;}
  .fs-bl-ft-stub{padding:22px;}
  .fs-bl-ft>.fs-bl-ft-bulbs{margin-bottom:28px;}
}


.fs-lp{
  position:relative;overflow:hidden;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-lp *{box-sizing:border-box;}

/* ── Type ─────────────────────────────────────────────────────── */
.fs-lp-eyebrow{
  display:block;
  color:rgb(var(--c-ink-700));
  font-size:.72rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
}
.fs-lp-title{
  margin:.9rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(2.3rem,5.2vw,3.8rem);
  line-height:1.1;font-weight:600;letter-spacing:-.005em;
  color:rgb(var(--c-ink-950));
}
.fs-lp-accent{color:rgb(var(--c-accent, var(--c-brand-600)));font-style:italic;}
.fs-lp-sub{
  margin:1.2rem 0 0;max-width:46ch;
  font-size:clamp(1rem,1.6vw,1.1rem);line-height:1.7;
  color:rgb(var(--c-ink-700));
}
.fs-lp-center{text-align:center;margin-left:auto;margin-right:auto;}
.fs-lp-h{
  margin:0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(1.85rem,3.4vw,2.6rem);
  line-height:1.15;font-weight:600;color:rgb(var(--c-ink-950));
  text-align:center;
}

/* ── Buttons ──────────────────────────────────────────────────── */
.fs-lp-ctas{display:flex;flex-wrap:wrap;gap:1.1rem;margin-top:2rem;align-items:center;}
.fs-lp-ctas-center{justify-content:center;}
.fs-lp-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.85rem 1.8rem;border-radius:var(--fs-radius-control, 8px);
  font-size:.9rem;font-weight:600;line-height:1;white-space:nowrap;letter-spacing:.02em;
  color:rgb(var(--c-paper));
  background:rgb(var(--c-brand-600));
  box-shadow:var(--fs-shadow-card, 0 10px 24px rgb(var(--c-ink-950) / .16));
  transition:transform .3s ease, background .3s ease;
}
.fs-lp-btn:hover{transform:translateY(-2px);background:rgb(var(--c-brand-700, var(--c-brand-600)));}
.fs-lp-btn2{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.85rem 1.8rem;border-radius:var(--fs-radius-control, 8px);
  font-size:.9rem;font-weight:600;line-height:1;white-space:nowrap;letter-spacing:.02em;
  color:rgb(var(--c-ink-950));
  border:1.5px solid rgb(var(--c-ink-950) / .3);
  background:transparent;
  transition:border-color .3s ease, color .3s ease, transform .3s ease;
}
.fs-lp-btn2:hover{transform:translateY(-2px);border-color:rgb(var(--c-brand-600));color:rgb(var(--c-brand-600));}
.fs-lp-wire .fs-lp-btn{background:rgb(var(--c-ink-950));box-shadow:none;}

/* ── The aperture mark — a drawn lens ring, used as a flourish on
   the header and the CTA. Pure CSS: a ring with a filled iris dot. ── */
.fs-lp-aperture{
  display:block;width:1.6rem;height:1.6rem;margin:0 auto 1.3rem;
  border-radius:50%;position:relative;
  border:1.5px solid rgb(var(--c-accent, var(--c-brand-600)) / .6);
}
.fs-lp-aperture::before{
  content:'';position:absolute;inset:32%;border-radius:50%;
  background:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-lp-wire .fs-lp-aperture{display:none;}

/* ── Corner brackets — the mounted-print motif, shared by the hero
   frame, the sessions ledger and the CTA band. The parent must be
   position:relative. ── */
.fs-lp-corner{position:absolute;width:1.7rem;height:1.7rem;pointer-events:none;}
.fs-lp-corner-tl{top:-2px;left:-2px;border-top:2.5px solid rgb(var(--c-accent, var(--c-brand-600)));border-left:2.5px solid rgb(var(--c-accent, var(--c-brand-600)));}
.fs-lp-corner-tr{top:-2px;right:-2px;border-top:2.5px solid rgb(var(--c-accent, var(--c-brand-600)));border-right:2.5px solid rgb(var(--c-accent, var(--c-brand-600)));}
.fs-lp-corner-bl{bottom:-2px;left:-2px;border-bottom:2.5px solid rgb(var(--c-accent, var(--c-brand-600)));border-left:2.5px solid rgb(var(--c-accent, var(--c-brand-600)));}
.fs-lp-corner-br{bottom:-2px;right:-2px;border-bottom:2.5px solid rgb(var(--c-accent, var(--c-brand-600)));border-right:2.5px solid rgb(var(--c-accent, var(--c-brand-600)));}
.fs-lp-wire .fs-lp-corner{border-color:rgb(var(--c-ink-950)) !important;}

/* ═════════ HERO (favFrameHero) ═════════ */
.fs-lp-hero{padding:var(--fs-space-section, clamp(3.5rem,8vw,6rem)) clamp(1rem,4vw,2.5rem);}
.fs-lp-hero-inner{
  position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(2rem,5vw,4.5rem);align-items:center;
}
@media (max-width:920px){.fs-lp-hero-inner{grid-template-columns:1fr;gap:3rem;}}
.fs-lp-est{
  display:flex;align-items:center;gap:.9rem;
  margin-top:2.2rem;padding-top:1.3rem;border-top:1px solid rgb(var(--c-line));
  font-size:.82rem;font-weight:600;letter-spacing:.04em;color:rgb(var(--c-ink-700));
}
.fs-lp-est-rule{width:1.6rem;height:1px;background:rgb(var(--c-accent, var(--c-brand-600)));flex:none;}
/* The mounted portrait: a mat border implied by padding, brass corner
   brackets, and a small negative-number tag overlapping the top edge. */
.fs-lp-hero-stage{position:relative;display:flex;flex-direction:column;align-items:center;}
.fs-lp-frame{
  position:relative;width:100%;max-width:24rem;
  padding:.9rem;
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line));
  border-radius:var(--fs-radius-card, 4px);
  box-shadow:var(--fs-shadow-card, 0 20px 46px rgb(var(--c-ink-950) / .18));
}
.fs-lp-frame-no{
  position:absolute;top:-.7rem;left:1.1rem;z-index:2;
  padding:.15rem .55rem;
  background:rgb(var(--c-paper));
  border:1px solid rgb(var(--c-line));
  font-size:.68rem;font-weight:700;letter-spacing:.14em;
  color:rgb(var(--c-ink-700));
}
.fs-lp-frame-photo{
  position:relative;width:100%;aspect-ratio:4 / 5;overflow:hidden;
  background:rgb(var(--c-paper));
}
.fs-lp-frame-photo img{width:100%;height:100%;object-fit:cover;}
.fs-lp-frame-photo > *{width:100%;height:100%;}
.fs-lp-frame-fallback{
  display:block;width:100%;height:100%;
  background:radial-gradient(circle at 50% 38%, rgb(var(--c-accent, var(--c-brand-600)) / .28), rgb(var(--c-paper)) 74%);
}
.fs-lp-anim .fs-lp-frame-photo{animation:fs-lp-develop 1.1s ease both;}
@keyframes fs-lp-develop{from{filter:brightness(0.4) contrast(0.7) saturate(0.3);}to{filter:none;}}
.fs-lp-caption{
  margin-top:1.1rem;max-width:22rem;text-align:center;
  font-size:.82rem;font-style:italic;line-height:1.6;color:rgb(var(--c-ink-400));
}
.fs-lp-wire .fs-lp-frame-fallback,.fs-lp-wire .fs-lp-caption{display:none;}
.fs-lp-wire .fs-lp-frame{box-shadow:none;}

/* ═════════ PAGE HEADER (favFrameHeader) ═════════ */
.fs-lp-hd{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-lp-hd-inner{
  position:relative;max-width:min(44rem, var(--fs-layout-clamp, 44rem));margin:0 auto;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.fs-lp-hd .fs-lp-title{font-size:clamp(2.1rem,4.4vw,3.2rem);}
.fs-lp-hd .fs-lp-aperture:last-child{margin:2rem auto 0;}

/* ═════════ CONTACT SHEET (favFrameReel) ═════════
   Six sprocketed frames in a strip. Hover/focus lifts one under a
   drawn loupe ring (React state, not CSS-only :hover) and updates the
   "now viewing" readout above the strip. */
.fs-lp-reel{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-lp-reel-head{max-width:min(46rem, var(--fs-layout-clamp, 46rem));margin:0 auto 1.6rem;text-align:center;}
.fs-lp-reel-readout{
  display:flex;align-items:center;justify-content:center;gap:.7rem;
  max-width:var(--fs-layout-max,56rem);margin:0 auto 1.6rem;
  font-size:.82rem;color:rgb(var(--c-ink-700));
}
.fs-lp-reel-readout-no{font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--c-accent, var(--c-brand-600)));}
.fs-lp-reel-readout-sep{width:1px;height:.9rem;background:rgb(var(--c-line));}
.fs-lp-reel-readout-cap{font-style:italic;}
.fs-lp-strip{
  max-width:var(--fs-layout-max,64rem);margin:0 auto;
  display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(.7rem,1.6vw,1.1rem);
}
@media (max-width:820px){.fs-lp-strip{grid-template-columns:repeat(3,1fr);}}
@media (max-width:480px){.fs-lp-strip{grid-template-columns:repeat(2,1fr);}}
.fs-lp-thumb{
  position:relative;cursor:pointer;outline:none;
  padding:0 0 .7rem;
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line));
  border-radius:var(--fs-radius-card, 4px);
  transition:transform .35s cubic-bezier(.2,.7,.3,1), box-shadow .35s ease, z-index 0s;
}
.fs-lp-thumb.is-active,.fs-lp-thumb:focus-visible{
  transform:translateY(-.5rem) scale(1.045);
  box-shadow:var(--fs-shadow-card, 0 18px 34px rgb(var(--c-ink-950) / .22));
  z-index:2;
}
.fs-lp-sprockets{height:8px;opacity:.55;
  background-image:radial-gradient(circle, rgb(var(--c-ink-950) / .6) 1.5px, transparent 1.6px);
  background-size:11px 8px;background-repeat:repeat-x;background-position:4px center;
}
.fs-lp-thumb-no{
  position:absolute;top:.55rem;left:.5rem;z-index:1;
  font-size:.62rem;font-weight:700;letter-spacing:.08em;
  color:rgb(var(--c-paper));
  background:rgb(var(--c-ink-950) / .55);
  padding:.05rem .3rem;
}
.fs-lp-thumb-img{position:relative;aspect-ratio:1 / 1;margin:0 .5rem;overflow:hidden;background:rgb(var(--c-paper));}
.fs-lp-thumb-img img{width:100%;height:100%;object-fit:cover;}
.fs-lp-thumb-img > *{width:100%;height:100%;}
.fs-lp-thumb-fallback{
  display:block;width:100%;height:100%;
  background:linear-gradient(155deg, rgb(var(--c-accent, var(--c-brand-600)) / .3), rgb(var(--c-paper)) 78%);
}
.fs-lp-loupe-ring{
  position:absolute;inset:.5rem .5rem 1.15rem .5rem;
  border-radius:50%;border:2px solid rgb(var(--c-accent, var(--c-brand-600)));
  opacity:0;transform:scale(.85);pointer-events:none;
  transition:opacity .3s ease, transform .3s ease;
}
.fs-lp-thumb.is-active .fs-lp-loupe-ring{opacity:.9;transform:scale(1);}
.fs-lp-thumb-cap{
  margin-top:.5rem;padding:0 .55rem;
  font-size:.76rem;line-height:1.45;color:rgb(var(--c-ink-700));
}
.fs-lp-reel-note{margin-top:2rem;text-align:center;font-size:.8rem;letter-spacing:.02em;color:rgb(var(--c-ink-400));}
.fs-lp-wire .fs-lp-thumb-fallback,.fs-lp-wire .fs-lp-loupe-ring,.fs-lp-wire .fs-lp-sprockets{display:none;}
.fs-lp-wire .fs-lp-thumb.is-active{transform:none;box-shadow:none;}

/* ═════════ SESSIONS LEDGER (favFrameSessions) ═════════ */
.fs-lp-sess{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-lp-sess-head{max-width:min(46rem, var(--fs-layout-clamp, 46rem));margin:0 auto 2.2rem;text-align:center;}
.fs-lp-sess-card{
  position:relative;max-width:min(46rem, var(--fs-layout-clamp, 46rem));margin:0 auto;
  padding:clamp(1.8rem,4.5vw,3rem) clamp(1.4rem,4vw,2.6rem);
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line));
  border-radius:var(--fs-radius-card, 4px);
}
.fs-lp-sess-row{display:flex;gap:1.1rem;padding:1.1rem 0;align-items:flex-start;}
.fs-lp-sess-row + .fs-lp-sess-row{border-top:1px solid rgb(var(--c-line));}
.fs-lp-sess-tag{
  flex:none;margin-top:.15rem;
  font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-lp-sess-main{flex:1;min-width:0;}
.fs-lp-sess-top{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:baseline;justify-content:space-between;}
.fs-lp-sess-name{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.14rem;color:rgb(var(--c-ink-950));
}
.fs-lp-sess-price{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.05rem;font-weight:600;white-space:nowrap;
  color:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-lp-sess-meta{margin-top:.2rem;font-size:.78rem;letter-spacing:.03em;color:rgb(var(--c-ink-400));}
.fs-lp-sess-desc{margin-top:.4rem;font-size:.87rem;line-height:1.6;color:rgb(var(--c-ink-700));max-width:54ch;}
.fs-lp-sess-note{
  margin-top:1.8rem;padding-top:1.2rem;border-top:1px solid rgb(var(--c-line));
  font-size:.82rem;line-height:1.6;color:rgb(var(--c-ink-400));
}

/* ═════════ CTA (favFrameCta) ═════════ */
.fs-lp-cta{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-lp-cta-band{
  position:relative;max-width:min(52rem, var(--fs-layout-clamp, 52rem));margin:0 auto;
  padding:clamp(2.4rem,5vw,3.6rem) clamp(1.6rem,4vw,3.2rem);
  display:flex;flex-direction:column;align-items:center;text-align:center;
  background:rgb(var(--c-brand-600) / .05);
  border:1px solid rgb(var(--c-line));
  border-radius:var(--fs-radius-card, 4px);
}
.fs-lp-cta-band .fs-lp-title{font-size:clamp(1.85rem,3.8vw,2.7rem);}
.fs-lp-note{margin-top:1.6rem;font-size:.8rem;letter-spacing:.03em;color:rgb(var(--c-ink-400));}

/* Anyone who asked the OS for less motion gets the developed print
   instantly and no lift-on-hover transform. */
@media (prefers-reduced-motion:reduce){
  .fs-lp-anim .fs-lp-frame-photo{animation:none;}
  .fs-lp-thumb,.fs-lp-loupe-ring{transition:none !important;}
}

/* ── favLoupeFooter (theme-chrome batch 6, Fenwick) ────────────────
   The mounted portrait. fs-lp-ft: the full-bleed band in the mount
   colour, its top edge the header's two-hairline bevel (named
   container); fs-lp-ft-in: the content box, which narrows with the
   Layout (named container). The frame's brass corners are eight
   gradient layers on its own background, never positioned children. */
.fs-lp-ft{container-type:inline-size;container-name:fs-lp-ft;padding:0 clamp(1rem,4vw,2.5rem);background:linear-gradient(var(--lp-ft-edge),var(--lp-ft-edge)) 0 0/100% 1px no-repeat,linear-gradient(var(--lp-ft-edge),var(--lp-ft-edge)) 0 4px/100% 1px no-repeat,rgb(var(--c-paper-soft));--lp-ft-brass:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 75%, rgb(var(--c-ink-950)));--lp-ft-brass-ink:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 55%, rgb(var(--c-ink-950)));--lp-ft-hair:rgb(var(--c-ink-950) / .14);--lp-ft-edge:rgb(var(--c-ink-950) / .3);--lp-ft-ink2:color-mix(in srgb, rgb(var(--c-ink-950)) 76%, rgb(var(--c-paper)));--lp-ft-drama:0 34px 64px -28px rgb(var(--c-ink-950) / .48),0 10px 24px -14px rgb(var(--c-ink-950) / .26)}
.fs-lp-ft:is(.dark *):not(.fs-preview-light *){--lp-ft-brass:rgb(var(--c-accent, var(--c-brand-600)));--lp-ft-brass-ink:rgb(var(--c-accent, var(--c-brand-600)));--lp-ft-hair:rgb(var(--c-ink-950) / .16);--lp-ft-edge:rgb(var(--c-ink-950) / .32);--lp-ft-ink2:color-mix(in srgb, rgb(var(--c-ink-950)) 80%, rgb(var(--c-paper)));--lp-ft-drama:0 34px 64px -28px rgb(0 0 0 / .72),0 10px 24px -14px rgb(0 0 0 / .5)}
.fs-lp-ft-in{container-type:inline-size;container-name:fs-lp-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:58px 30px}
.fs-lp-ft-frame{position:relative;padding:44px clamp(20px,3.2cqi,44px) 34px;background-color:rgb(var(--c-paper));border:1px solid var(--lp-ft-edge);box-shadow:var(--lp-ft-drama);background-image:linear-gradient(var(--lp-ft-brass),var(--lp-ft-brass)),linear-gradient(var(--lp-ft-brass),var(--lp-ft-brass)),linear-gradient(var(--lp-ft-brass),var(--lp-ft-brass)),linear-gradient(var(--lp-ft-brass),var(--lp-ft-brass)),linear-gradient(var(--lp-ft-brass),var(--lp-ft-brass)),linear-gradient(var(--lp-ft-brass),var(--lp-ft-brass)),linear-gradient(var(--lp-ft-brass),var(--lp-ft-brass)),linear-gradient(var(--lp-ft-brass),var(--lp-ft-brass));background-repeat:no-repeat;background-origin:border-box;background-position:0 0,0 0,100% 0,100% 0,0 100%,0 100%,100% 100%,100% 100%;background-size:30px 2.5px,2.5px 30px,30px 2.5px,2.5px 30px,30px 2.5px,2.5px 30px,30px 2.5px,2.5px 30px}
.fs-lp-ft-ap{display:inline-block;flex:none;width:26px;height:26px;margin-bottom:16px;border:1.5px solid var(--lp-ft-brass);border-radius:50%;background:radial-gradient(circle,var(--lp-ft-brass) 0 29%,transparent 31%)}
.fs-lp-ft-rule{display:inline-block;flex:none;width:1.6rem;height:1px;background:var(--lp-ft-brass)}
.fs-lp-ft-head{display:flex;flex-direction:column;align-items:center;margin-bottom:40px;text-align:center}
.fs-lp-ft-eyebrow,.fs-lp-ft-h,.fs-lp-ft-tag,.fs-lp-ft-est{font:700 10.5px/1.25 var(--font-sans, 'Libre Caslon Text', Georgia, serif);letter-spacing:.22em;text-transform:uppercase;color:rgb(var(--c-ink-700))}
.fs-lp-ft-title{margin:12px 0 0;font:400 clamp(28px,3.1cqi,40px)/1.12 var(--font-display, 'Libre Caslon Display', Georgia, serif);letter-spacing:-.005em;text-wrap:balance;color:rgb(var(--c-ink-950))}
.fs-lp-ft-acc{font-family:var(--font-sans, 'Libre Caslon Text', Georgia, serif);font-style:italic;color:var(--lp-ft-brass-ink)}
.fs-lp-ft-tag{position:absolute;top:0;left:50%;z-index:1;transform:translate(-50%,-50%);padding:5px 12px;background:rgb(var(--c-paper));border:1px solid var(--lp-ft-edge);white-space:nowrap}
.fs-lp-ft-cols{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.1fr);gap:30px clamp(22px,3.2cqi,48px)}
.fs-lp-ft-col{min-width:0}
.fs-lp-ft-h{margin:0 0 14px;padding-bottom:11px;border-bottom:1px solid var(--lp-ft-hair)}
.fs-lp-ft-p{margin:0;font-size:14.5px;line-height:1.6;color:var(--lp-ft-ink2)}
.fs-lp-ft-p+.fs-lp-ft-p{margin-top:10px}
.fs-lp-ft-big{display:block;margin-bottom:4px;font:400 23px/1.15 var(--font-display, 'Libre Caslon Display', Georgia, serif);color:rgb(var(--c-ink-950));font-variant-numeric:lining-nums;text-decoration:none}
.fs-lp-ft-mail{display:inline-block;margin-top:10px;padding-bottom:1px;border-bottom:1px solid var(--lp-ft-brass);font-size:14px;color:rgb(var(--c-ink-950));overflow-wrap:anywhere;text-decoration:none}
.fs-lp-ft-mail:hover{color:rgb(var(--c-brand-text))}
.fs-lp-ft-list{margin:0;padding:0;list-style:none}
.fs-lp-ft-li{padding-block:4px;font-size:15px;line-height:1.35}
.fs-lp-ft-link{display:inline-flex;align-items:center;gap:10px;color:rgb(var(--c-ink-950));text-decoration:none}
.fs-lp-ft-link::before{content:'';flex:none;width:10px;height:1px;background:var(--lp-ft-brass);transition:width .25s ease}
.fs-lp-ft-link:hover{color:rgb(var(--c-brand-text))}
.fs-lp-ft-link:hover::before{width:16px}
.fs-lp-ft-fig{display:block;font:400 38px/1 var(--font-display, 'Libre Caslon Display', Georgia, serif);color:var(--lp-ft-brass-ink);font-variant-numeric:lining-nums}
.fs-lp-ft-base{display:flex;flex-wrap:wrap;align-items:center;gap:10px 24px;margin-top:26px;font-size:13px;color:var(--lp-ft-ink2)}
.fs-lp-ft-est{margin:0;display:inline-flex;align-items:center;gap:12px;margin-right:auto}
.fs-lp-ft-legal{margin:0;display:flex;flex-wrap:wrap;gap:6px 18px}
.fs-lp-ft-legal-a{text-decoration:none}
.fs-lp-ft-legal-a:hover{color:rgb(var(--c-ink-950))}
@container fs-lp-ft (max-width: 40rem){
  .fs-lp-ft-in{padding-block:44px 24px}
}
@container fs-lp-ft-in (max-width: 56rem){
  .fs-lp-ft-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container fs-lp-ft (max-width: 48rem){
  .fs-lp-ft-cols{grid-template-columns:minmax(0,1fr);gap:26px}
  .fs-lp-ft-frame{padding:38px 22px 26px;background-size:22px 2px,2px 22px,22px 2px,2px 22px,22px 2px,2px 22px,22px 2px,2px 22px}
  .fs-lp-ft-head{margin-bottom:34px}
}
@container fs-lp-ft (max-width: 30rem){
  .fs-lp-ft-base{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion: reduce){
  .fs-lp-ft-link::before{transition:none}
}


.fs-cr{
  position:relative;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-cr *{box-sizing:border-box;}

/* ── Shared motifs ──────────────────────────────────────────────
   The double rule: thick over thin. */
.fs-cr-rule{display:block;width:11rem;}
.fs-cr-rule i{display:block;background:rgb(var(--c-accent, var(--c-brand-600)));}
.fs-cr-rule i:nth-child(1){height:3px;}
.fs-cr-rule i:nth-child(2){height:1px;margin-top:3px;}
@keyframes fs-cr-draw{from{transform:scaleX(0);}}
.fs-cr-anim .fs-cr-rule i{transform-origin:left center;animation:fs-cr-draw .8s cubic-bezier(.22,.61,.36,1) both;}
.fs-cr-anim .fs-cr-rule i:nth-child(2){animation-delay:.12s;}

/* The roundel — two rings around a letter. */
.fs-cr-roundel{
  display:inline-flex;align-items:center;justify-content:center;
  width:3.4rem;height:3.4rem;border-radius:999px;
  border:3px solid rgb(var(--c-accent, var(--c-brand-600)));
  box-shadow:inset 0 0 0 1px rgb(var(--c-paper)), inset 0 0 0 2px rgb(var(--c-brand-600) / .55);
  font-family:var(--font-display, Georgia, serif);
  font-size:1.5rem;line-height:1;
  color:rgb(var(--c-brand-600));
}
.fs-cr-wire .fs-cr-roundel{box-shadow:none;border-color:rgb(var(--c-ink-950));}

/* Small-caps label. */
.fs-cr-label{
  display:block;margin-top:1.2rem;
  font-size:.7rem;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}

/* Type — a book face at display sizes. */
.fs-cr-title{
  margin:.9rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(2rem,4.4vw,3.2rem);
  font-weight:400;line-height:1.16;letter-spacing:-0.005em;
  text-wrap:balance;
}
.fs-cr-accent{color:rgb(var(--c-brand-600));font-style:italic;}
.fs-cr-sub{
  margin-top:1rem;max-width:36rem;
  font-size:1rem;line-height:1.72;
  color:rgb(var(--c-ink-700));
}
.fs-cr-h{
  margin:0;
  font-family:var(--font-display, Georgia, serif);
  font-size:var(--fs-type-h2, clamp(1.7rem,3vw,2.4rem));
  font-weight:var(--fs-type-h2-weight, 400);
  line-height:var(--fs-type-h2-leading, 1.2);
  text-wrap:balance;
}

/* Buttons — spans in previews. Sharp, weighted, printed. */
.fs-cr-ctas{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.7rem;}
.fs-cr-btn,.fs-cr-btn2{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.82rem 1.5rem;cursor:pointer;
  border-radius:var(--fs-radius-control, 0);
  font-size:.8rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  transition:transform .16s ease, box-shadow .16s ease, background-color .16s ease, color .16s ease;
}
.fs-cr-btn{
  background:rgb(var(--c-brand-600));
  color:rgb(var(--c-paper));
  border:1px solid rgb(var(--c-brand-600));
  box-shadow:var(--fs-shadow-card, 0 8px 20px -8px rgb(var(--c-ink-950) / .4));
}
.fs-cr-btn:hover{transform:translateY(-2px);box-shadow:var(--fs-shadow-lift, 0 18px 34px -14px rgb(var(--c-ink-950) / .5));}
.fs-cr-btn2{
  background:transparent;color:rgb(var(--c-ink-950));
  border:1px solid rgb(var(--c-ink-950) / .5);
}
.fs-cr-btn2:hover{border-color:rgb(var(--c-brand-600));color:rgb(var(--c-brand-600));}
.fs-cr-btn:focus-visible,.fs-cr-btn2:focus-visible{outline:2px solid rgb(var(--c-brand-600));outline-offset:3px;}
.fs-cr-wire .fs-cr-btn{box-shadow:none;transform:none;}

/* ═════════ HERO ═════════ */
.fs-cr-hero{padding:var(--fs-space-section, clamp(2.4rem,5vw,3.6rem)) clamp(1rem,4vw,2.5rem);}
.fs-cr-hero-inner{
  max-width:var(--fs-layout-max,74rem);margin:0 auto;
  display:grid;grid-template-columns:1.02fr .98fr;
  gap:clamp(2rem,5vw,3.4rem);align-items:center;
}
@media (max-width:940px){.fs-cr-hero-inner{grid-template-columns:1fr;gap:2.4rem;}}
.fs-cr-hero-rule{margin-top:1.5rem;}
.fs-cr-facts{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;
  margin:2rem 0 0;padding-top:1.1rem;
  border-top:1px solid rgb(var(--c-line));
}
.fs-cr-fact{display:flex;flex-direction:column;gap:.15rem;margin:0;}
.fs-cr-fact-v{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.5rem;font-variant-numeric:tabular-nums;
  color:rgb(var(--c-brand-600));
}
.fs-cr-fact-l{margin:0;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--c-ink-400));}
@media (max-width:560px){.fs-cr-facts{grid-template-columns:1fr;gap:.8rem;}}

/* The plate: sharp, weighted, with a real shadow. */
.fs-cr-stage{position:relative;display:flex;justify-content:center;}
.fs-cr-plate{
  position:relative;width:min(30rem,100%);aspect-ratio:4 / 3;overflow:hidden;
  border-radius:var(--fs-radius-card, 0);
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-ink-950) / .5);
  box-shadow:var(--fs-shadow-lift, 0 26px 48px -20px rgb(var(--c-ink-950) / .45));
}
.fs-cr-plate img{width:100%;height:100%;object-fit:cover;display:block;}
.fs-cr-plate > *{width:100%;height:100%;}
.fs-cr-plate-fallback{
  display:block;width:100%;height:100%;
  background:
    repeating-linear-gradient(38deg, rgb(var(--c-ink-950) / .07) 0 1px, transparent 1px 9px),
    linear-gradient(165deg, rgb(var(--c-brand-50)), rgb(var(--c-brand-600) / .35));
}
.fs-cr-wire .fs-cr-plate{box-shadow:none;}
.fs-cr-wire .fs-cr-plate-fallback{display:none;}

/* ═════════ PAGE HEADER ═════════ */
.fs-cr-hd{padding:var(--fs-space-section, clamp(2.2rem,4.5vw,3.2rem)) clamp(1rem,4vw,2.5rem);}
.fs-cr-hd-inner{max-width:var(--fs-layout-max,74rem);margin:0 auto;}
.fs-cr-hd-title{font-size:clamp(1.9rem,4vw,2.9rem);}
.fs-cr-hd-rule{margin-top:1.3rem;}
.fs-cr-hd .fs-cr-sub{max-width:min(42rem, var(--fs-layout-clamp, 42rem));}

/* ═════════ ANNOTATED DIAGRAM (favCrestExam) ═════════ */
.fs-cr-ex{padding:var(--fs-space-section, clamp(2.4rem,5vw,3.6rem)) clamp(1rem,4vw,2.5rem);}
.fs-cr-ex-head{max-width:var(--fs-layout-max,68rem);margin:0 auto 1.7rem;}
.fs-cr-ex-body{
  max-width:var(--fs-layout-max,68rem);margin:0 auto;
  display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(1.4rem,3.5vw,2.6rem);align-items:start;
}
@media (max-width:900px){.fs-cr-ex-body{grid-template-columns:1fr;}}
.fs-cr-ex-plate{
  position:relative;aspect-ratio:9 / 7;overflow:hidden;
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-ink-950) / .5);
  box-shadow:var(--fs-shadow-card, 0 16px 34px -16px rgb(var(--c-ink-950) / .4));
}
.fs-cr-ex-plate img{width:100%;height:100%;object-fit:contain;display:block;}
.fs-cr-ex-plate > img,.fs-cr-ex-plate > span:first-child,.fs-cr-ex-plate > div:first-child{width:100%;height:100%;}
.fs-cr-ex-fallback{
  display:block;width:100%;height:100%;
  background:
    repeating-linear-gradient(38deg, rgb(var(--c-ink-950) / .08) 0 1px, transparent 1px 10px),
    rgb(var(--c-brand-50));
}
/* The pins. Double-classed: the editor's typography layer paints
   every canvas <button> with --fs-btn-color, white by default. */
.fs-cr .fs-cr-ex-pin{
  position:absolute;transform:translate(-50%,-50%);
  width:2rem;height:2rem;border-radius:999px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display, Georgia, serif);
  font-size:.86rem;line-height:1;letter-spacing:0;text-transform:none;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-brand-600));
  border:2px solid rgb(var(--c-brand-600));
  box-shadow:0 3px 8px -2px rgb(var(--c-ink-950) / .45);
  transition:background-color .2s ease, color .2s ease, transform .2s ease;
}
.fs-cr .fs-cr-ex-pin.is-on{
  background:rgb(var(--c-brand-600));
  color:rgb(var(--c-paper));
  transform:translate(-50%,-50%) scale(1.18);
}
.fs-cr .fs-cr-ex-pin:focus-visible{outline:2px solid rgb(var(--c-accent, var(--c-brand-600)));outline-offset:3px;}

.fs-cr-ex-list{list-style:none;margin:0;padding:0;}
.fs-cr-ex-row{border-top:1px solid rgb(var(--c-line));}
.fs-cr-ex-row:last-child{border-bottom:1px solid rgb(var(--c-line));}
.fs-cr .fs-cr-ex-rowbtn{
  display:flex;align-items:baseline;gap:.7rem;width:100%;
  padding:.85rem .1rem;cursor:pointer;text-align:left;
  background:transparent;border:0;
  font-family:inherit;font-size:inherit;letter-spacing:0;text-transform:none;
  color:rgb(var(--c-ink-950));
}
.fs-cr .fs-cr-ex-rowbtn:focus-visible{outline:2px solid rgb(var(--c-brand-600));outline-offset:2px;}
.fs-cr-ex-rownum{
  flex:none;font-family:var(--font-display, Georgia, serif);
  font-size:.86rem;font-variant-numeric:tabular-nums;
  color:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-cr-ex-rowname{font-family:var(--font-display, Georgia, serif);font-size:1.05rem;}
.fs-cr-ex-row.is-on .fs-cr-ex-rowname{color:rgb(var(--c-brand-600));}
.fs-cr-ex-rowbody{
  font-size:.9rem;line-height:1.62;color:rgb(var(--c-ink-700));
  max-height:0;opacity:0;overflow:hidden;
  transition:max-height .35s ease, opacity .3s ease;
}
.fs-cr-ex-row.is-on .fs-cr-ex-rowbody{max-height:16rem;opacity:1;padding-bottom:.9rem;}
.fs-cr-ex-note{
  max-width:var(--fs-layout-max,68rem);margin:1.3rem auto 0;
  font-size:.82rem;line-height:1.6;color:rgb(var(--c-ink-400));
}
.fs-cr-wire .fs-cr-ex-rowbody{max-height:none;opacity:1;}
.fs-cr-wire .fs-cr-ex-plate{box-shadow:none;}
.fs-cr-wire .fs-cr-ex-fallback{display:none;}

/* ═════════ MILESTONES ═════════ */
.fs-cr-ms{padding:var(--fs-space-section, clamp(2.4rem,5vw,3.6rem)) clamp(1rem,4vw,2.5rem);}
.fs-cr-ms-head{max-width:var(--fs-layout-max,62rem);margin:0 auto 1.6rem;}
.fs-cr-ms-list{
  list-style:none;max-width:var(--fs-layout-max,62rem);margin:0 auto;padding:0;
  display:grid;grid-template-columns:repeat(4,1fr);gap:var(--fs-space-gap, .9rem);
}
@media (max-width:860px){.fs-cr-ms-list{grid-template-columns:1fr 1fr;}}
@media (max-width:520px){.fs-cr-ms-list{grid-template-columns:1fr;}}
.fs-cr-ms-item{
  position:relative;padding-top:1.3rem;
  border-top:3px solid rgb(var(--c-accent, var(--c-brand-600)));
}
/* The thin half of the double rule, offset beneath the thick one. */
.fs-cr-ms-item::before{
  content:'';position:absolute;top:3px;left:0;right:0;height:1px;
  margin-top:3px;background:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-cr-ms-year{
  display:block;
  font-family:var(--font-display, Georgia, serif);
  font-size:1.6rem;font-variant-numeric:tabular-nums;
  color:rgb(var(--c-brand-600));
}
.fs-cr-ms-dot{
  display:block;width:.45rem;height:.45rem;border-radius:999px;margin:.5rem 0;
  background:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-cr-ms-body{display:block;font-size:.92rem;line-height:1.6;color:rgb(var(--c-ink-700));}
.fs-cr-wire .fs-cr-ms-item::before,.fs-cr-wire .fs-cr-ms-dot{display:none;}

/* ═════════ CTA ═════════ */
.fs-cr-cta{padding:var(--fs-space-section, clamp(2.4rem,5vw,3.6rem)) clamp(1rem,4vw,2.5rem);}
.fs-cr-cta-panel{
  position:relative;max-width:min(52rem, var(--fs-layout-clamp, 52rem));margin:0 auto;
  padding:clamp(1.8rem,4vw,3rem);
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-ink-950) / .45);
  border-radius:var(--fs-radius-card, 0);
  box-shadow:var(--fs-shadow-lift, 0 28px 52px -22px rgb(var(--c-ink-950) / .5));
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.fs-cr-cta-roundel{margin-bottom:.2rem;}
.fs-cr-cta-rule{margin:1.1rem auto 0;}
.fs-cr-cta-title{margin-top:.8rem;font-size:clamp(1.7rem,3.4vw,2.5rem);}
.fs-cr-cta-sub{max-width:34rem;}
.fs-cr-cta-phone{
  margin-top:1.1rem;
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(1.5rem,3vw,2.2rem);
  font-variant-numeric:tabular-nums;
  color:rgb(var(--c-brand-600));
}
.fs-cr-cta-actions{margin-top:1.1rem;justify-content:center;}
.fs-cr-cta-note{
  margin-top:.9rem;
  font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:rgb(var(--c-ink-700));
}
.fs-cr-wire .fs-cr-cta-panel{box-shadow:none;}

/* Motion discipline: nothing moves without input. */
@media (prefers-reduced-motion: reduce){
  .fs-cr,.fs-cr *,.fs-cr *::before,.fs-cr *::after{
    animation:none !important;transition:none !important;
  }
  .fs-cr-ex-rowbody{max-height:none !important;opacity:1 !important;}
}

/* ── favCrestFooter (theme-chrome batch 5, Almanac) ────────────────
   The band is the full-bleed container fs-cr-ft (the surface tone); the
   content box is the named container fs-cr-ft-in. */
.fs-cr-ft{container-type:inline-size;container-name:fs-cr-ft;padding:0 clamp(1rem,4vw,2.5rem);background:rgb(var(--c-paper-soft));--cr-ft-rulec:rgb(var(--c-accent, var(--c-brand-600)));--cr-ft-hair:rgb(var(--c-ink-950) / .15);--cr-ft-edge:rgb(var(--c-ink-950) / .5)}
.fs-cr-ft:is(.dark *):not(.fs-preview-light *){--cr-ft-hair:rgb(var(--c-ink-950) / .18);--cr-ft-edge:rgb(var(--c-ink-950) / .34)}
.fs-cr-ft-in{container-type:inline-size;container-name:fs-cr-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:54px 30px;font-size:15px;line-height:1.55}

.fs-cr-ft-mast{display:flex;flex-wrap:wrap;align-items:center;gap:16px 22px;padding-bottom:24px;background:linear-gradient(var(--cr-ft-rulec),var(--cr-ft-rulec)) 0 calc(100% - 4px)/100% 3px no-repeat,linear-gradient(var(--cr-ft-rulec),var(--cr-ft-rulec)) 0 100%/100% 1px no-repeat}
.fs-cr-ft-seal{display:inline-flex;align-items:center;justify-content:center;flex:none;width:3.7rem;height:3.7rem;border-radius:50%;background:rgb(var(--c-paper));border:3px solid var(--cr-ft-rulec);box-shadow:inset 0 0 0 1px rgb(var(--c-paper)),inset 0 0 0 2px rgb(var(--c-brand-600) / .55);font:400 1.65rem/1 var(--font-display, "Libre Baskerville",Georgia,serif);color:rgb(var(--c-brand-text))}
.fs-cr-ft-id{min-width:0}
.fs-cr-ft-name{font:400 26px/1.2 var(--font-display, "Libre Baskerville",Georgia,serif);color:rgb(var(--c-ink-950));text-wrap:balance}
.fs-cr-ft-label{display:block;margin-top:7px;font:700 10.5px/1.35 var(--font-body, inherit);letter-spacing:.2em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
.fs-cr-ft-acc{font-style:italic;color:rgb(var(--c-brand-text))}
.fs-cr-ft-pull{margin-left:auto;max-width:27ch;font:italic 400 17px/1.45 var(--font-display, "Libre Baskerville",Georgia,serif);color:rgb(var(--c-brand-text));text-align:right;text-wrap:balance}

.fs-cr-ft-dates{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px clamp(20px,3cqi,44px);padding-block:22px 24px;border-bottom:1px solid var(--cr-ft-hair)}
.fs-cr-ft-date{display:grid;align-content:start;gap:6px;min-width:0}
.fs-cr-ft-yr{display:flex;align-items:center;gap:10px;font:400 22px/1 var(--font-display, "Libre Baskerville",Georgia,serif);color:rgb(var(--c-brand-text));font-variant-numeric:tabular-nums}
.fs-cr-ft-yr::after{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--cr-ft-rulec)}
.fs-cr-ft-dp{max-width:32ch;margin:0;font-size:13.5px;line-height:1.5;color:rgb(var(--c-ink-700))}

.fs-cr-ft-cols{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr) minmax(0,1.35fr) minmax(0,1fr);gap:26px clamp(20px,3cqi,44px);padding-block:26px 30px}
.fs-cr-ft-col{min-width:0}
.fs-cr-ft-h{margin:0 0 12px;font:700 10.5px/1.35 var(--font-body, inherit);letter-spacing:.2em;text-transform:uppercase;color:rgb(var(--c-ink-950))}
.fs-cr-ft-p,.fs-cr-ft-li{font-size:14px;line-height:1.55;color:rgb(var(--c-ink-700));margin:0}
.fs-cr-ft-p + .fs-cr-ft-p{margin-top:9px}
.fs-cr-ft-link,.fs-cr-ft-mail{color:rgb(var(--c-ink-950));text-decoration:none}
.fs-cr-ft-link:hover,.fs-cr-ft-mail:hover{color:rgb(var(--c-brand-text));text-decoration:underline;text-underline-offset:3px}
.fs-cr-ft-tel{font:400 18px/1.2 var(--font-display, "Libre Baskerville",Georgia,serif);font-variant-numeric:tabular-nums;text-decoration:none}
a.fs-cr-ft-tel{color:rgb(var(--c-brand-text))}
a.fs-cr-ft-tel:hover{color:rgb(var(--c-brand-text));text-decoration:underline;text-underline-offset:3px}
.fs-cr-ft-note{font-size:13px}

.fs-cr-ft-links{list-style:none;margin:0;padding:0;columns:2;column-gap:20px}
.fs-cr-ft-links .fs-cr-ft-li{padding-block:3px;break-inside:avoid}
.fs-cr-ft-std{list-style:none;margin:0;padding:0}
.fs-cr-ft-std .fs-cr-ft-li{padding-block:3px}

.fs-cr-ft-legal{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;margin:0;padding-top:16px;border-top:1px solid var(--cr-ft-hair);font-size:12.5px;color:rgb(var(--c-ink-700))}
.fs-cr-ft-legal-t{margin-right:auto}
.fs-cr-ft-legal-a{color:rgb(var(--c-ink-700));text-decoration:none}
.fs-cr-ft-legal-a:hover{color:rgb(var(--c-ink-950));text-decoration:underline}

@container fs-cr-ft (max-width: 40rem){
  .fs-cr-ft-in{padding-block:38px 24px}
}
@container fs-cr-ft-in (max-width: 56rem){
  .fs-cr-ft-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-cr-ft-dates{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-cr-ft-pull{flex-basis:100%;max-width:none;margin-left:0;text-align:left}
}
@container fs-cr-ft (max-width: 48rem){
  .fs-cr-ft-cols{grid-template-columns:minmax(0,1fr)}
  .fs-cr-ft-name{font-size:23px}
}
@container fs-cr-ft (max-width: 30rem){
  .fs-cr-ft-dates{grid-template-columns:minmax(0,1fr);row-gap:14px}
  .fs-cr-ft-date{grid-template-columns:auto minmax(0,1fr);align-items:baseline;column-gap:12px}
  .fs-cr-ft-mast{gap:14px 16px}
  .fs-cr-ft-seal{width:3.2rem;height:3.2rem;font-size:1.4rem}
  .fs-cr-ft-name{font-size:21px}
  .fs-cr-ft-pull{font-size:16px}
}


.fs-rt{
  position:relative;overflow:hidden;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-rt *{box-sizing:border-box;}
.fs-rt-sr{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

/* ── Motif: the dashed route rule ───────────────────────────────
   Road markings, not a hairline: a long dash, a long gap, and a
   thin solid kerb line sitting under it. */
.fs-rt-dash{
  display:block;height:6px;width:100%;
  background:
    repeating-linear-gradient(to right,
      rgb(var(--c-brand-600) / .75) 0 1.6rem,
      transparent 1.6rem 2.8rem) top left / 100% 3px no-repeat,
    linear-gradient(rgb(var(--c-ink-950) / .16), rgb(var(--c-ink-950) / .16)) bottom left / 100% 1px no-repeat;
}
.fs-rt-dash-copy{margin:1.9rem 0 0;max-width:22rem;}
.fs-rt-dash-wide{margin:2rem 0 0;}
.fs-rt-dash-tier{margin:1.1rem 0;}

/* ── Motif: the fingerpost plate ────────────────────────────────
   A label with one pointed end, the way a fingerpost arm is cut. */
.fs-rt-plate{
  display:inline-flex;align-items:center;
  padding:.5rem 2rem .5rem 1.1rem;
  clip-path:polygon(0 0, calc(100% - .85rem) 0, 100% 50%, calc(100% - .85rem) 100%, 0 100%);
  background:rgb(var(--c-brand-600));
  color:rgb(var(--c-paper));
  font-size:.7rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
}

/* ── Motif: the cast milestone ──────────────────────────────────
   Semicircular top, flat foot — the mile-marker silhouette. */
.fs-rt-stone{
  display:flex;flex-direction:column;align-items:center;justify-content:flex-end;
  gap:.15rem;padding:1.15rem .7rem .85rem;
  border:1px solid rgb(var(--c-ink-950) / .2);
  border-radius:999px 999px var(--fs-radius-card, .5rem) var(--fs-radius-card, .5rem);
  background:rgb(var(--c-paper-soft, var(--c-paper)));
  text-align:center;
}
.fs-rt-stone-v{
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:1.45rem;font-weight:700;line-height:1.1;
  color:rgb(var(--c-brand-600));
}
.fs-rt-stone-l{
  font-size:.62rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  line-height:1.35;color:rgb(var(--c-ink-400));
}

/* ── Motif: the enamel roundel ──────────────────────────────────
   A ring-bordered disc with a bar of type across it. */
.fs-rt-roundel{
  position:absolute;right:-1.1rem;top:-1.1rem;z-index:3;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  width:6.2rem;height:6.2rem;border-radius:50%;
  background:rgb(var(--c-brand-600));
  color:rgb(var(--c-paper));
  box-shadow:inset 0 0 0 3px rgb(var(--c-paper)), inset 0 0 0 4.5px rgb(var(--c-brand-600));
  text-align:center;
}
.fs-rt-roundel-t{
  font-family:var(--font-display, Georgia, serif);
  font-size:.95rem;font-weight:700;line-height:1.1;
}
.fs-rt-roundel-b{
  margin-top:.15rem;padding-top:.25rem;
  border-top:1px solid rgb(var(--c-paper) / .55);
  font-size:.53rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  line-height:1.25;max-width:4.4rem;
}
/* On the CTA the roundel is part of the flow, not pinned to a frame. */
.fs-rt-roundel-static{position:relative;right:auto;top:auto;margin:0 auto 1.4rem;}

/* ── Type ───────────────────────────────────────────────────────
   The serif carries the heritage; the body face stays civic. */
.fs-rt-title{
  margin:1.4rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(2.1rem,4.6vw,3.4rem);
  line-height:1.16;font-weight:700;letter-spacing:-.008em;
  color:rgb(var(--c-ink-950));
}
.fs-rt-accent{color:rgb(var(--c-brand-600));}
.fs-rt-h{
  margin:1rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(1.6rem,3.1vw,2.3rem);
  line-height:1.22;font-weight:700;color:rgb(var(--c-ink-950));
}
.fs-rt-sub{
  margin:1.3rem 0 0;max-width:56ch;
  font-size:clamp(1rem,1.4vw,1.06rem);line-height:1.78;
  color:rgb(var(--c-ink-700));
}
.fs-rt-center{text-align:center;margin-left:auto;margin-right:auto;}

/* ── Buttons — one enamel plate, one ruled link ───────────────── */
.fs-rt-ctas{display:flex;flex-wrap:wrap;gap:1.1rem 1.6rem;margin-top:2rem;align-items:center;}
.fs-rt-ctas-center{justify-content:center;}
.fs-rt-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.9rem 1.7rem;
  border:2px solid rgb(var(--c-brand-600));
  border-radius:var(--fs-radius-control, .35rem);
  box-shadow:inset 0 0 0 2px rgb(var(--c-paper) / .85);
  font-size:.84rem;font-weight:700;line-height:1;white-space:nowrap;
  letter-spacing:.12em;text-transform:uppercase;
  color:rgb(var(--c-paper));
  background:rgb(var(--c-brand-600));
  transition:box-shadow .25s ease, background-color .25s ease;
}
.fs-rt-btn:hover{box-shadow:inset 0 0 0 2px rgb(var(--c-paper) / .35);}
.fs-rt-link{
  display:inline-flex;align-items:center;gap:.5rem;padding-bottom:.2rem;
  border-bottom:2px dashed rgb(var(--c-accent, var(--c-brand-600)));
  font-size:.84rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:rgb(var(--c-ink-950));
  transition:color .25s ease, border-color .25s ease;
}
.fs-rt-link:hover{color:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));}
.fs-rt-note{
  margin-top:1.5rem;
  font-size:.75rem;letter-spacing:.09em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}

/* ═════════ HERO (favRouteHero) ═════════ */
.fs-rt-hero{padding:var(--fs-space-section, clamp(3.5rem,8vw,6rem)) clamp(1rem,4vw,2.5rem);}
.fs-rt-hero-inner{
  position:relative;max-width:var(--fs-layout-max,74rem);margin:0 auto;
  display:grid;grid-template-columns:1.04fr .96fr;
  gap:clamp(2.5rem,5vw,4.5rem);align-items:center;
}
@media (max-width:940px){.fs-rt-hero-inner{grid-template-columns:1fr;gap:3rem;}}

.fs-rt-stones{
  display:grid;grid-template-columns:repeat(3, minmax(0,1fr));
  gap:var(--fs-space-gap, 1rem);margin-top:2.4rem;max-width:30rem;
}
@media (max-width:520px){.fs-rt-stones{grid-template-columns:1fr;}}

/* The image stage, framed with the milestone's own silhouette. */
.fs-rt-stage{position:relative;padding:1.1rem 1.1rem 2.6rem 0;}
.fs-rt-stage-frame{
  position:relative;overflow:hidden;
  aspect-ratio:4 / 5;
  border:1px solid rgb(var(--c-ink-950) / .2);
  border-radius:14rem 14rem var(--fs-radius-card, .6rem) var(--fs-radius-card, .6rem);
  background:rgb(var(--c-paper-soft, var(--c-paper)));
  box-shadow:var(--fs-shadow-card, none);
}
.fs-rt-stage-img{position:absolute;inset:0;}
.fs-rt-stage-img > *{display:block;width:100%;height:100%;}
.fs-rt-stage-img img{width:100%;height:100%;object-fit:cover;display:block;}
.fs-rt-stage-fallback{
  position:absolute;inset:0;
  background:
    linear-gradient(rgb(var(--c-brand-600) / .16), rgb(var(--c-brand-600) / .05)),
    repeating-linear-gradient(115deg,
      rgb(var(--c-ink-950) / .05) 0 1.4rem, transparent 1.4rem 2.8rem);
}
/* The road running past the foot of the frame. The inner <i> is one
   period wider than its box and slides by exactly one period, so the
   dashes appear to run forever off a single compositor transform. */
.fs-rt-road{
  position:absolute;left:0;right:0;bottom:0;height:1.5rem;overflow:hidden;
  border-top:1px solid rgb(var(--c-ink-950) / .18);
}
.fs-rt-road i{
  position:absolute;inset:0 -6rem 0 0;display:block;
  background:repeating-linear-gradient(to right,
    rgb(var(--c-accent, var(--c-brand-600)) / .8) 0 2rem,
    transparent 2rem 4rem);
  background-position:0 50%;background-size:100% 3px;background-repeat:repeat-x;
}
.fs-rt-anim .fs-rt-road i{animation:fs-rt-run 3.2s linear infinite;}
@keyframes fs-rt-run{from{transform:translateX(0);}to{transform:translateX(-4rem);}}

/* ═════════ PAGE HEADER (favRouteHeader) ═════════ */
.fs-rt-hd{padding:var(--fs-space-section, clamp(3rem,7vw,4.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-rt-hd-inner{
  position:relative;max-width:min(54rem, var(--fs-layout-clamp, 54rem));margin:0 auto;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.fs-rt-hd .fs-rt-title{font-size:clamp(1.9rem,4vw,2.9rem);}

/* ═════════ JOURNEY STEPPER (favRouteJourney) ═════════
   The road fills in up to the chosen stage. pathLength="100" on every
   copy of the path makes the fill arithmetic exact and unit-free. */
.fs-rt-jr{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-rt-jr-head{
  position:relative;max-width:var(--fs-layout-max,56rem);margin:0 auto 2.6rem;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.fs-rt-jr-map{position:relative;max-width:var(--fs-layout-max,74rem);margin:0 auto;}
/* Pinned to the drawing's own ratio so the pin percentages land on the
   waypoints they name at every width. */
.fs-rt-jr-art{position:relative;width:100%;aspect-ratio:900 / 166;}
.fs-rt-jr-svg{display:block;width:100%;height:100%;}
.fs-rt-jr-verge{
  fill:none;stroke:rgb(var(--c-ink-950) / .08);
  stroke-width:34;stroke-linecap:round;
}
.fs-rt-jr-road{
  fill:none;stroke:rgb(var(--c-ink-950) / .22);
  stroke-width:22;stroke-linecap:round;
}
.fs-rt-jr-marks{
  fill:none;stroke:rgb(var(--c-paper));
  stroke-width:2.5;stroke-linecap:round;
  stroke-dasharray:2.2 3.2;
}
.fs-rt-jr-done{
  fill:none;stroke-width:22;stroke-linecap:round;
  transition:stroke-dashoffset .55s cubic-bezier(.3,.8,.3,1);
}
.fs-rt-jr-g-a{stop-color:rgb(var(--c-brand-600));}
.fs-rt-jr-g-b{stop-color:rgb(var(--c-accent, var(--c-brand-600)));}
.fs-rt-jr-here{fill:rgb(var(--c-paper));stroke:rgb(var(--c-brand-600));stroke-width:3;}
.fs-rt-jr-here-in{fill:rgb(var(--c-brand-600));}

/* The waypoint pins. These are the set's only real <button> elements
   in the drawing, which matters: the rule ".fs-typo button" in the
   global typography sheet sets colour at specificity (0,1,1) and
   paints them the site's button-label colour. A single-class rule
   here LOSES that cascade and the numbers vanish, so every colour
   below is written through ".fs-rt .fs-rt-jr-pin" (0,2,0). */
.fs-rt .fs-rt-jr-pin{
  position:absolute;z-index:3;transform:translate(-50%,-50%);
  display:inline-flex;align-items:center;justify-content:center;
  width:2rem;height:2rem;padding:0;cursor:pointer;
  border:2px solid rgb(var(--c-ink-950) / .35);border-radius:50%;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-700));
  font-size:.72rem;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;
  transition:background-color .25s ease, color .25s ease, border-color .25s ease, transform .25s cubic-bezier(.2,.8,.3,1);
}
.fs-rt .fs-rt-jr-pin .fs-rt-jr-pin-n{color:inherit;}
.fs-rt .fs-rt-jr-pin.is-done{border-color:rgb(var(--c-brand-600));color:rgb(var(--c-brand-600));}
.fs-rt .fs-rt-jr-pin.is-active{
  background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));
  color:rgb(var(--c-paper));transform:translate(-50%,-50%) scale(1.22);
}
.fs-rt .fs-rt-jr-pin:hover{transform:translate(-50%,-50%) scale(1.14);}
.fs-rt .fs-rt-jr-pin.is-active:hover{transform:translate(-50%,-50%) scale(1.22);}
.fs-rt .fs-rt-jr-pin:focus-visible{outline:2px solid rgb(var(--c-accent, var(--c-brand-600)));outline-offset:3px;}

/* The stage card sits under the map. */
.fs-rt-jr-card{
  max-width:min(52rem, var(--fs-layout-clamp, 52rem));margin:clamp(1.2rem,3vw,2rem) auto 0;
  padding:clamp(1.3rem,3vw,2rem);
  border:1px solid rgb(var(--c-ink-950) / .18);
  border-radius:var(--fs-radius-card, .6rem);
  background:rgb(var(--c-paper-soft, var(--c-paper)));
}
.fs-rt-jr-card-top{
  display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.8rem;
  padding-bottom:.7rem;border-bottom:1px solid rgb(var(--c-ink-950) / .14);
}
.fs-rt-jr-meta{
  font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:rgb(var(--c-brand-600));
}
.fs-rt-jr-count{
  font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-rt-jr-t{
  margin:.9rem 0 0;
  font-family:var(--font-display, Georgia, serif);
  font-size:1.35rem;font-weight:700;line-height:1.25;color:rgb(var(--c-ink-950));
}
.fs-rt-jr-b{margin-top:.6rem;font-size:.95rem;line-height:1.75;color:rgb(var(--c-ink-700));}
.fs-rt-jr-nav{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;margin-top:1.3rem;}
.fs-rt .fs-rt-jr-nav-b{
  display:inline-flex;align-items:center;justify-content:center;
  width:2.3rem;height:2.3rem;padding:0;cursor:pointer;
  border:1px solid rgb(var(--c-ink-950) / .28);
  border-radius:var(--fs-radius-control, .3rem);
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
  font-size:1rem;line-height:1;
  transition:background-color .2s ease, color .2s ease;
}
.fs-rt .fs-rt-jr-nav-b:hover:not(:disabled){background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));}
.fs-rt .fs-rt-jr-nav-b:disabled{opacity:.35;cursor:default;}
.fs-rt .fs-rt-jr-nav-b:focus-visible{outline:2px solid rgb(var(--c-accent, var(--c-brand-600)));outline-offset:2px;}
.fs-rt-jr-note{
  flex:1 1 14rem;min-width:0;
  font-size:.76rem;line-height:1.5;color:rgb(var(--c-ink-400));
}

/* ═════════ QUIZ CARD (favRouteQuiz) ═════════ */
.fs-rt-qz{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-rt-qz-head{
  position:relative;max-width:var(--fs-layout-max,56rem);margin:0 auto 2.4rem;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.fs-rt-qz-card{
  max-width:min(46rem, var(--fs-layout-clamp, 46rem));margin:0 auto;
  padding:clamp(1.4rem,3.5vw,2.3rem);
  border:1px solid rgb(var(--c-ink-950) / .2);
  border-radius:var(--fs-radius-card, .6rem);
  background:rgb(var(--c-paper-soft, var(--c-paper)));
}
.fs-rt-qz-top{
  display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.8rem;
  padding-bottom:.8rem;border-bottom:2px solid rgb(var(--c-ink-950) / .2);
}
.fs-rt-qz-n{
  font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:rgb(var(--c-brand-600));
}
.fs-rt-qz-src{
  font-size:.66rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-rt-qz-q{
  margin:1.2rem 0 0;
  font-family:var(--font-display, Georgia, serif);
  font-size:1.2rem;font-weight:700;line-height:1.45;color:rgb(var(--c-ink-950));
}
.fs-rt-qz-opts{list-style:none;margin:1.3rem 0 0;padding:0;display:grid;gap:.6rem;}
.fs-rt .fs-rt-qz-opt{
  display:flex;align-items:flex-start;gap:.9rem;width:100%;
  padding:.85rem 1rem;cursor:pointer;text-align:left;
  border:1px solid rgb(var(--c-ink-950) / .2);
  border-radius:var(--fs-radius-control, .35rem);
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
  font-size:.94rem;font-weight:400;line-height:1.55;
  transition:border-color .2s ease, background-color .2s ease;
}
.fs-rt .fs-rt-qz-opt:hover:not(:disabled){border-color:rgb(var(--c-brand-600));}
.fs-rt .fs-rt-qz-opt:focus-visible{outline:2px solid rgb(var(--c-accent, var(--c-brand-600)));outline-offset:2px;}
.fs-rt .fs-rt-qz-opt:disabled{cursor:default;}
.fs-rt .fs-rt-qz-opt .fs-rt-qz-key{
  flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;
  width:1.6rem;height:1.6rem;border-radius:50%;
  border:1px solid rgb(var(--c-ink-950) / .28);
  font-size:.68rem;font-weight:800;line-height:1;
  color:rgb(var(--c-ink-700));
}
.fs-rt .fs-rt-qz-opt .fs-rt-qz-txt{color:inherit;font-weight:400;}
/* Marked states. Colour alone never carries the answer — the key disc
   fills and the border thickens too, so it reads without hue. */
.fs-rt .fs-rt-qz-opt.is-right{
  border-color:rgb(var(--c-brand-600));border-width:2px;
  background:rgb(var(--c-brand-600) / .1);
}
.fs-rt .fs-rt-qz-opt.is-right .fs-rt-qz-key{
  background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));
  border-color:rgb(var(--c-brand-600));
}
.fs-rt .fs-rt-qz-opt.is-wrong{
  border-color:rgb(var(--c-accent, var(--c-brand-600)));border-width:2px;
  border-style:dashed;
}
.fs-rt .fs-rt-qz-opt.is-wrong .fs-rt-qz-key{
  border-color:rgb(var(--c-accent, var(--c-brand-600)));border-style:dashed;
  color:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-rt .fs-rt-qz-opt.is-dim{opacity:.5;}
.fs-rt-qz-why{
  margin-top:1.2rem;padding:1rem 1.1rem;
  border-left:4px solid rgb(var(--c-brand-600));
  background:rgb(var(--c-brand-600) / .07);
  font-size:.92rem;line-height:1.72;color:rgb(var(--c-ink-700));
}
.fs-rt-qz-why.is-wrong{
  border-left-color:rgb(var(--c-accent, var(--c-brand-600)));
  background:rgb(var(--c-accent, var(--c-brand-600)) / .09);
}
.fs-rt-qz-verdict{
  display:block;margin-bottom:.3rem;
  font-family:var(--font-display, Georgia, serif);
  font-size:1.02rem;font-weight:700;color:rgb(var(--c-ink-950));
}
.fs-rt-qz-why-b{display:block;}
.fs-rt-qz-foot{
  display:flex;flex-wrap:wrap;align-items:center;gap:1rem;
  margin-top:1.4rem;padding-top:1.1rem;
  border-top:1px solid rgb(var(--c-ink-950) / .14);
}
.fs-rt .fs-rt-qz-next{
  flex:0 0 auto;padding:.7rem 1.4rem;cursor:pointer;
  border:2px solid rgb(var(--c-brand-600));
  border-radius:var(--fs-radius-control, .35rem);
  background:transparent;
  color:rgb(var(--c-brand-600));
  font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  transition:background-color .2s ease, color .2s ease;
}
.fs-rt .fs-rt-qz-next:hover{background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));}
.fs-rt .fs-rt-qz-next:focus-visible{outline:2px solid rgb(var(--c-accent, var(--c-brand-600)));outline-offset:2px;}
.fs-rt-qz-note{flex:1 1 15rem;min-width:0;font-size:.76rem;line-height:1.55;color:rgb(var(--c-ink-400));}

/* ═════════ RATE CARD (favRouteRates) ═════════ */
.fs-rt-rc{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-rt-rc-head{
  position:relative;max-width:var(--fs-layout-max,56rem);margin:0 auto 2.6rem;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.fs-rt-rc-tiers{
  max-width:var(--fs-layout-max,66rem);margin:0 auto;
  display:grid;grid-template-columns:repeat(3, minmax(0,1fr));
  gap:var(--fs-space-gap, 1.2rem);align-items:start;
}
@media (max-width:860px){.fs-rt-rc-tiers{grid-template-columns:1fr;}}
.fs-rt-rc-tier{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:1.8rem 1.3rem 1.5rem;
  border:1px solid rgb(var(--c-ink-950) / .2);
  border-radius:8rem 8rem var(--fs-radius-card, .5rem) var(--fs-radius-card, .5rem);
  background:rgb(var(--c-paper-soft, var(--c-paper)));
}
.fs-rt-rc-tier.is-lead{
  border-color:rgb(var(--c-brand-600));border-width:2px;
  background:rgb(var(--c-brand-600) / .06);
}
.fs-rt-rc-n{
  font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-rt-rc-p{
  margin-top:.5rem;
  font-family:var(--font-display, Georgia, serif);
  font-size:2.1rem;font-weight:700;line-height:1;color:rgb(var(--c-brand-600));
}
.fs-rt-rc-u{margin-top:.25rem;font-size:.78rem;color:rgb(var(--c-ink-400));}
.fs-rt-rc-list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem;}
.fs-rt-rc-list li{
  position:relative;padding-left:1.1rem;
  font-size:.88rem;line-height:1.55;color:rgb(var(--c-ink-700));text-align:left;
}
.fs-rt-rc-list li::before{
  content:'';position:absolute;left:0;top:.55rem;
  width:.45rem;height:.45rem;border-radius:50%;
  background:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-rt-rc-extras{
  max-width:min(52rem, var(--fs-layout-clamp, 52rem));margin:clamp(1.5rem,4vw,2.6rem) auto 0;
  padding:clamp(1.2rem,3vw,1.9rem);
  border:1px solid rgb(var(--c-ink-950) / .18);
  border-radius:var(--fs-radius-card, .5rem);
}
.fs-rt-rc-extras-t{
  display:block;padding-bottom:.7rem;margin-bottom:.3rem;
  border-bottom:2px solid rgb(var(--c-ink-950) / .2);
  font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:rgb(var(--c-brand-600));
}
.fs-rt-rc-x{
  display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  padding:.75rem 0;
}
.fs-rt-rc-x + .fs-rt-rc-x{border-top:1px solid rgb(var(--c-ink-950) / .12);}
.fs-rt-rc-xn{font-size:.92rem;line-height:1.5;color:rgb(var(--c-ink-950));}
.fs-rt-rc-xp{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.05rem;font-weight:700;color:rgb(var(--c-brand-600));white-space:nowrap;
}
.fs-rt-rc-note{
  display:block;margin-top:1rem;padding-top:.9rem;
  border-top:2px solid rgb(var(--c-ink-950) / .2);
  font-size:.8rem;line-height:1.6;color:rgb(var(--c-ink-400));
}

/* ═════════ CTA (favRouteCta) ═════════ */
.fs-rt-cta{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-rt-cta-panel{
  position:relative;max-width:min(46rem, var(--fs-layout-clamp, 46rem));margin:0 auto;
  padding:clamp(2rem,5vw,3rem) clamp(1.4rem,4vw,2.6rem);
  display:flex;flex-direction:column;align-items:center;text-align:center;
  border:1px solid rgb(var(--c-ink-950) / .2);
  border-radius:var(--fs-radius-card, .6rem);
  background:rgb(var(--c-paper-soft, var(--c-paper)));
}
.fs-rt-cta-panel .fs-rt-title{margin-top:0;font-size:clamp(1.7rem,3.4vw,2.5rem);}

/* ── Phones ─────────────────────────────────────────────────────
   Measured, not guessed: at 340px the roundel overhangs the frame
   far enough to clip, and the hero's stones read better stacked. */
@media (max-width:560px){
  .fs-rt-roundel{width:5rem;height:5rem;right:-.4rem;top:-.4rem;}
  .fs-rt-roundel-t{font-size:.82rem;}
  .fs-rt-roundel-b{font-size:.48rem;max-width:3.6rem;}
  .fs-rt-stage{padding-right:.4rem;}
  .fs-rt-plate{padding-right:1.7rem;letter-spacing:.16em;}
  .fs-rt-jr-card-top{gap:.4rem;}
  .fs-rt-rc-x{flex-direction:column;align-items:flex-start;gap:.15rem;}
}

/* ── Reduced motion: the running road is the only motion in the set,
      and it is pure decoration. ── */
@media (prefers-reduced-motion: reduce){
  .fs-rt *,.fs-rt *::before,.fs-rt *::after{animation:none !important;transition:none !important;}
}

/* ── favRouteFooter (theme-chrome batch 4, Milestone) ─────────────
   fs-rt-ft: the full-bleed band (named container); the road along its
   top — two kerb lines 26px apart and the accent centre line between
   them, running slowly left (stopped for reduced motion); fs-rt-ft-in:
   the content box, which narrows with the Layout. */
.fs-rt-ft{container-type:inline-size;container-name:fs-rt-ft;padding:0 clamp(1rem,4vw,2.5rem);--rt-ft-rule:rgb(var(--c-ink-950) / .16);--rt-ft-edge:rgb(var(--c-ink-950) / .2);--rt-ft-dash:rgb(var(--c-brand-600) / .75);--rt-ft-lane:rgb(var(--c-accent, var(--c-brand-600)) / .8);--rt-ft-keyline:color-mix(in srgb, var(--fs-on-brand, rgb(var(--c-paper))) 85%, transparent);background:linear-gradient(var(--rt-ft-rule),var(--rt-ft-rule)) 0 0/100% 1px no-repeat,linear-gradient(90deg,var(--rt-ft-lane) 0 2rem,transparent 2rem) 0 12px/4rem 3px repeat-x,linear-gradient(var(--rt-ft-rule),var(--rt-ft-rule)) 0 26px/100% 1px no-repeat,rgb(var(--c-paper));animation:fs-rt-ft-run 3.2s linear infinite}
.fs-rt-ft:is(.dark *):not(.fs-preview-light *){--rt-ft-rule:rgb(var(--c-ink-950) / .18);--rt-ft-edge:rgb(var(--c-ink-950) / .24)}
@keyframes fs-rt-ft-run{from{background-position:0 0,0 12px,0 26px,0 0}to{background-position:0 0,-4rem 12px,0 26px,0 0}}
.fs-rt-ft-in{container-type:inline-size;container-name:fs-rt-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:74px 30px}
.fs-rt-ft-mk-a{stop-color:rgb(var(--c-brand-600))}
.fs-rt-ft-mk-b{stop-color:rgb(var(--c-accent, var(--c-brand-600)))}
/* Shared pieces (mockup 53–60): the dashed route rule and the enamel
   roundel, ported with local tokens so this file still works from any
   theme — the plate is unused here. */
.fs-rt-ft-dash{display:block;align-self:stretch;height:6px;background:repeating-linear-gradient(90deg,var(--rt-ft-dash) 0 1.2rem,transparent 1.2rem 2rem) 0 0/100% 3px no-repeat,linear-gradient(var(--rt-ft-rule),var(--rt-ft-rule)) 0 100%/100% 1px no-repeat}
.fs-rt-ft-roundel{display:flex;flex:none;flex-direction:column;align-items:center;justify-content:center;width:6.2rem;height:6.2rem;border-radius:50%;background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)));box-shadow:inset 0 0 0 3px rgb(var(--c-brand-600)),inset 0 0 0 4.5px var(--rt-ft-keyline);text-align:center}
.fs-rt-ft-rt{font-family:var(--font-display, Vollkorn, Georgia, serif);font-weight:700;font-size:17px;line-height:1.1}
.fs-rt-ft-rb{max-width:4.6rem;margin-top:4px;padding-top:4px;border-top:1px solid color-mix(in srgb, var(--fs-on-brand, rgb(var(--c-paper))) 55%, transparent);font-weight:700;font-size:8.5px;line-height:1.25;letter-spacing:.13em;text-transform:uppercase}
/* The footer body (mockup 216–252). */
.fs-rt-ft-grid{display:grid;grid-template-columns:minmax(0,1.1fr) repeat(3,minmax(0,1fr));align-items:start;gap:36px clamp(28px,3.4cqi,52px)}
.fs-rt-ft-stone{display:flex;flex-direction:column;align-items:center;min-width:0;max-width:21rem;padding:26px 22px 24px;border:1px solid var(--rt-ft-edge);border-radius:9rem 9rem 10px 10px;background:rgb(var(--c-paper-soft, var(--c-paper)));text-align:center}
.fs-rt-ft-fmark{display:block;width:46px;height:52px}
.fs-rt-ft-fmark svg{display:block;width:100%;height:100%}
.fs-rt-ft-name{margin-top:10px;font-family:var(--font-display, Vollkorn, Georgia, serif);font-weight:700;font-size:21px;line-height:1.2;text-wrap:balance}
.fs-rt-ft-addr{max-width:26ch;margin-top:8px;font-size:14px;line-height:1.5;color:rgb(var(--c-ink-700))}
.fs-rt-ft-stone .fs-rt-ft-dash{margin:14px 0}
.fs-rt-ft-tel{font-family:var(--font-display, Vollkorn, Georgia, serif);font-weight:700;font-size:22px;line-height:1;color:rgb(var(--c-brand-text));font-variant-numeric:lining-nums tabular-nums}
.fs-rt-ft-since{max-width:28ch;margin-top:12px;font-size:13px;line-height:1.5;color:rgb(var(--c-ink-700))}
.fs-rt-ft-col{min-width:0}
.fs-rt-ft-h{margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid var(--rt-ft-edge);font-weight:700;font-size:11px;line-height:1.2;letter-spacing:.2em;text-transform:uppercase;color:rgb(var(--c-brand-text))}
.fs-rt-ft-arms{position:relative;display:grid;justify-items:start;gap:9px;margin-top:22px;padding:14px 0 4px 7px;background:linear-gradient(rgb(var(--c-ink-700)),rgb(var(--c-ink-700))) 0 0/7px 100% no-repeat}
.fs-rt-ft-arms::before{content:"";position:absolute;left:-3.5px;top:-8px;width:14px;height:14px;border-radius:50%;background:rgb(var(--c-ink-700))}
.fs-rt-ft-arm{--pt:13px;position:relative;isolation:isolate;display:inline-flex;align-items:center;min-height:34px;padding:0 calc(var(--pt) + 14px) 0 12px;background:rgb(var(--c-paper-soft, var(--c-paper)));color:rgb(var(--c-ink-950));font-weight:700;font-size:11.5px;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;clip-path:polygon(0 0,calc(100% - var(--pt)) 0,100% 50%,calc(100% - var(--pt)) 100%,0 100%);transition:background-color .2s ease,color .2s ease}
.fs-rt-ft-arm::before,.fs-rt-ft-arm::after{content:"";position:absolute;z-index:-1}
.fs-rt-ft-arm::before{inset:0;background:rgb(var(--c-ink-950));clip-path:polygon(0 0,calc(100% - var(--pt)) 0,100% 50%,calc(100% - var(--pt)) 100%,0 100%)}
.fs-rt-ft-arm::after{inset:1.5px 1.5px 1.5px 0;background:rgb(var(--c-paper-soft, var(--c-paper)));clip-path:polygon(0 0,calc(100% - var(--pt) * .9) 0,100% 50%,calc(100% - var(--pt) * .9) 100%,0 100%);transition:background-color .2s ease}
.fs-rt-ft-arm:hover,.fs-rt-ft-arm:hover::after{background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)))}
.fs-rt-ft-hrow{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-block:9px}
.fs-rt-ft-hrow + .fs-rt-ft-hrow{border-top:1px solid var(--rt-ft-rule)}
.fs-rt-ft-dt{font-size:14px;color:rgb(var(--c-ink-950))}
.fs-rt-ft-dd{font-family:var(--font-display, Vollkorn, Georgia, serif);font-weight:700;font-size:16px;line-height:1.2;color:rgb(var(--c-brand-text));white-space:nowrap;font-variant-numeric:lining-nums tabular-nums}
.fs-rt-ft-note{margin-top:12px;font-size:13px;line-height:1.5;color:rgb(var(--c-ink-700))}
.fs-rt-ft-check{display:flex;align-items:flex-start;gap:14px}
.fs-rt-ft-check .fs-rt-ft-roundel{width:5.2rem;height:5.2rem}
.fs-rt-ft-check .fs-rt-ft-rt{font-size:15px}
.fs-rt-ft-links{display:grid;gap:9px;padding-top:6px}
.fs-rt-ft-k{font-size:14px;font-weight:600;line-height:1.4;color:rgb(var(--c-ink-950));text-decoration:underline dashed rgb(var(--c-accent, var(--c-brand-600))) 1.5px;text-underline-offset:4px}
.fs-rt-ft-k:hover{text-decoration-color:rgb(var(--c-brand-600))}
.fs-rt-ft-k.is-plain{text-decoration:none}
.fs-rt-ft-legal{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:42px;padding-top:18px;font-size:12.5px;color:rgb(var(--c-ink-700));background:repeating-linear-gradient(90deg,var(--rt-ft-dash) 0 1.6rem,transparent 1.6rem 2.8rem) 0 0/100% 3px no-repeat,linear-gradient(var(--rt-ft-rule),var(--rt-ft-rule)) 0 5px/100% 1px no-repeat}
.fs-rt-ft-legal-t{color:inherit}
.fs-rt-ft-legal-a{color:inherit;text-decoration:none}
.fs-rt-ft-legal-a:hover{color:rgb(var(--c-ink-950))}
@container fs-rt-ft (max-width: 40rem){
  .fs-rt-ft-in{padding-block:62px 24px}
}
@container fs-rt-ft-in (max-width: 56rem){
  .fs-rt-ft-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 36px}
}
@container fs-rt-ft (max-width: 48rem){
  .fs-rt-ft-grid{grid-template-columns:minmax(0,1fr);gap:34px}
  .fs-rt-ft-stone{max-width:24rem}
}
@media (prefers-reduced-motion: reduce){
  .fs-rt-ft{animation:none}
  .fs-rt-ft-arm,.fs-rt-ft-arm::after{transition:none}
}


.fs-wf{
  position:relative;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-wf *{box-sizing:border-box;}

/* ── Type ─────────────────────────────────────────────────────── */
.fs-wf-eyebrow{
  display:inline;
  color:rgb(var(--c-brand-600));
  font-size:.7rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;
}
/* Inline rather than a flex item, so the lozenge follows the last
   word onto whichever line it lands on instead of being stranded at
   the end of the first one. */
.fs-wf-eyebrow::after{
  content:'';display:inline-block;
  width:.45rem;height:.45rem;margin-left:.75rem;
  vertical-align:.08em;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  transform:rotate(45deg);
}
.fs-wf-title{
  margin:1.1rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(2.15rem,4.6vw,3.5rem);
  line-height:1.12;font-weight:700;letter-spacing:-.008em;
  color:rgb(var(--c-ink-950));
  text-wrap:balance;
}
.fs-wf-accent{color:rgb(var(--c-brand-600));font-style:italic;}
.fs-wf-h{
  margin:.9rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(1.7rem,3.1vw,2.45rem);
  line-height:1.18;font-weight:700;
  color:rgb(var(--c-ink-950));
  text-wrap:balance;
}
.fs-wf-sub{
  margin:1.15rem 0 0;max-width:58ch;
  font-size:clamp(1rem,1.4vw,1.08rem);line-height:1.75;
  color:rgb(var(--c-ink-700));
  text-wrap:pretty;
}
.fs-wf-note{
  margin:1.7rem auto 0;max-width:var(--fs-layout-max,62rem);
  font-size:.82rem;line-height:1.65;
  color:rgb(var(--c-ink-400));
}

/* ── Buttons ──────────────────────────────────────────────────── */
.fs-wf-ctas{display:flex;flex-wrap:wrap;gap:1rem 1.6rem;margin-top:2rem;align-items:center;}
.fs-wf-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:2.9rem;padding:.9rem 1.9rem;
  border:2px solid rgb(var(--c-brand-600));
  outline:1px solid rgb(var(--c-brand-600));
  outline-offset:3px;
  font-size:.86rem;font-weight:700;line-height:1;letter-spacing:.1em;text-transform:uppercase;
  white-space:nowrap;
  color:rgb(var(--c-paper));
  background:rgb(var(--c-brand-600));
  transition:background .25s ease, color .25s ease, outline-offset .25s ease;
}
.fs-wf-btn:hover{
  background:rgb(var(--c-brand-700, var(--c-brand-600)));
  outline-offset:5px;
}
.fs-wf .fs-wf-link{
  display:inline-flex;align-items:center;gap:.5rem;min-height:2.75rem;
  padding:.72rem 0 .45rem;
  font-size:.86rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:rgb(var(--c-ink-950));
  border-bottom:2px solid rgb(var(--c-accent, var(--c-brand-600)));
  transition:color .25s ease;
}
.fs-wf .fs-wf-link:hover{color:rgb(var(--c-brand-600));}

/* ── Motifs 1 + 2 — THE DOUBLE KEYLINE over a HATCHED GROUND ──── */
.fs-wf-plate{
  position:relative;margin:0;
  padding:clamp(.9rem,1.7vw,1.25rem);
  border:3px solid rgb(var(--c-ink-950));
  background:rgb(var(--c-paper-soft));
  box-shadow:var(--fs-shadow-card, 0 4px 16px -6px rgb(var(--c-ink-950) / .16));
}
.fs-wf-plate::after{
  content:'';position:absolute;inset:.42rem;pointer-events:none;
  border:1px solid rgb(var(--c-ink-950) / .55);
}
.fs-wf-plate-in{
  position:relative;overflow:hidden;
  background-color:rgb(var(--c-paper));
  background-image:repeating-linear-gradient(45deg,
    rgb(var(--c-ink-950) / .07) 0 1px, transparent 1px 9px);
}
.fs-wf-plate-in img{display:block;width:100%;height:100%;object-fit:cover;}
.fs-wf-plate-fallback{
  display:block;aspect-ratio:4 / 3;
  background:
    repeating-linear-gradient(45deg, rgb(var(--c-ink-950) / .14) 0 1px, transparent 1px 10px),
    linear-gradient(160deg, rgb(var(--c-accent, var(--c-brand-600)) / .3), rgb(var(--c-brand-600) / .18));
}
/* Motif 3 — the figure number under every plate. */
.fs-wf-fig{
  display:flex;align-items:baseline;gap:.75rem;
  margin-top:.8rem;padding-top:.7rem;
  border-top:1px solid rgb(var(--c-ink-950) / .5);
}
.fs-wf-fig-no{
  flex:none;
  font-family:var(--font-display, Georgia, serif);
  font-size:.85rem;font-weight:700;letter-spacing:.08em;
  color:rgb(var(--c-brand-600));
}
.fs-wf-fig-t{font-size:.8rem;line-height:1.5;color:rgb(var(--c-ink-400));}

/* ═════════ HERO (favWayfareHero) ═════════ */
.fs-wf-hero{padding:var(--fs-space-section, clamp(3.5rem,8vw,6rem)) clamp(1rem,4vw,2.5rem);}
.fs-wf-hero-inner{
  position:relative;max-width:var(--fs-layout-max,75rem);margin:0 auto;
  display:grid;grid-template-columns:1.02fr .98fr;
  gap:clamp(2.5rem,5vw,4.5rem);align-items:center;
}
@media (max-width:940px){.fs-wf-hero-inner{grid-template-columns:1fr;gap:2.75rem;}}
.fs-wf-plate-hero .fs-wf-plate-in{aspect-ratio:4 / 5;}
.fs-wf-plate-hero .fs-wf-plate-fallback{aspect-ratio:4 / 5;}
.fs-wf-facts{
  margin:2.2rem 0 0;padding:1.3rem 0 0;list-style:none;
  border-top:1px solid rgb(var(--c-line));
  display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,auto));
  justify-content:start;gap:.8rem 2rem;
}
.fs-wf-fact{
  position:relative;display:flex;align-items:center;gap:.6rem;
  font-size:.79rem;letter-spacing:.06em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-wf-fact::before{
  content:'';width:.4rem;height:.4rem;flex:none;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  transform:rotate(45deg);
}

/* ═════════ PAGE HEADER (favWayfareHeader) ═════════ */
.fs-wf-hd{padding:var(--fs-space-section, clamp(2.8rem,6vw,4.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-wf-hd-inner{position:relative;max-width:var(--fs-layout-max,58rem);margin:0 auto;}
.fs-wf-hd-title{font-size:clamp(1.95rem,4vw,3rem);}
/* Motif 4 — the lozenge rule. */
.fs-wf-lozenge{
  position:relative;display:block;height:1px;margin-top:2.4rem;
  background:rgb(var(--c-ink-950) / .45);
}
.fs-wf-lozenge::after{
  content:'';position:absolute;left:50%;top:50%;
  width:.65rem;height:.65rem;
  margin:-.325rem 0 0 -.325rem;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  transform:rotate(45deg);
}

/* ═════════ ROUTE MAP (favWayfareRoute) ═════════ */
.fs-wf-rt{padding:var(--fs-space-section, clamp(3.5rem,8vw,6rem)) clamp(1rem,4vw,2.5rem);}
.fs-wf-rt-head{max-width:var(--fs-layout-max,58rem);margin:0 auto 2.6rem;}
.fs-wf-rt-stage{
  max-width:var(--fs-layout-max,75rem);margin:0 auto;
  display:grid;grid-template-columns:1.18fr .82fr;
  gap:clamp(1.6rem,3vw,2.6rem);align-items:start;
}
@media (max-width:940px){.fs-wf-rt-stage{grid-template-columns:1fr;}}
.fs-wf-map{display:block;width:100%;height:auto;}
.fs-wf-map-walked{transition:stroke-dashoffset .55s ease;}
.fs-wf-rt-side{display:flex;flex-direction:column;gap:1.4rem;min-width:0;}
.fs-wf-stops{display:flex;flex-direction:column;gap:.35rem;}
.fs-wf .fs-wf-stop{
  display:flex;align-items:center;gap:.85rem;
  min-height:2.75rem;padding:.6rem .85rem;
  border:1px solid rgb(var(--c-line));
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-700));
  font:inherit;font-size:.9rem;text-align:left;cursor:pointer;
  transition:border-color .2s ease, background .2s ease, color .2s ease;
}
.fs-wf .fs-wf-stop:hover{border-color:rgb(var(--c-brand-600) / .6);color:rgb(var(--c-ink-950));}
.fs-wf .fs-wf-stop[data-on="1"]{
  border-color:rgb(var(--c-brand-600));
  background:rgb(var(--c-brand-50));
  color:rgb(var(--c-ink-950));
  font-weight:700;
}
.fs-wf .fs-wf-stop:focus-visible{
  outline:2px solid rgb(var(--c-accent, var(--c-brand-600)));
  outline-offset:2px;
}
.fs-wf-stop-n{
  flex:none;
  display:inline-flex;align-items:center;justify-content:center;
  width:1.6rem;height:1.6rem;
  border:1px solid rgb(var(--c-brand-600));
  font-family:var(--font-display, Georgia, serif);
  font-size:.82rem;font-weight:700;
  color:rgb(var(--c-brand-600));
}
.fs-wf .fs-wf-stop[data-on="1"] .fs-wf-stop-n{
  background:rgb(var(--c-brand-600));
  color:rgb(var(--c-paper));
}
.fs-wf-rt-read{
  padding:clamp(1.1rem,2vw,1.5rem);
  border:2px solid rgb(var(--c-ink-950));
  background:rgb(var(--c-paper-soft));
}
.fs-wf-rt-meta{
  display:flex;justify-content:space-between;gap:1rem;
  padding-bottom:.75rem;margin-bottom:.9rem;
  border-bottom:1px solid rgb(var(--c-ink-950) / .35);
  font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;
  color:rgb(var(--c-brand-600));font-weight:700;
}
.fs-wf-rt-w{font-size:1rem;line-height:1.72;color:rgb(var(--c-ink-950));}

/* ═════════ TOURS (favWayfareTours) ═════════ */
.fs-wf-to{padding:var(--fs-space-section, clamp(3.5rem,8vw,6rem)) clamp(1rem,4vw,2.5rem);}
.fs-wf-to-head{max-width:var(--fs-layout-max,58rem);margin:0 auto 2.6rem;}
.fs-wf-to-grid{
  max-width:var(--fs-layout-max,75rem);margin:0 auto;
  display:grid;grid-template-columns:repeat(3, minmax(0,1fr));
  gap:clamp(1.1rem,2vw,1.8rem);align-items:stretch;
}
@media (max-width:900px){.fs-wf-to-grid{grid-template-columns:1fr;}}
.fs-wf-to-card{
  position:relative;display:flex;flex-direction:column;
  padding:clamp(1.5rem,2.5vw,2rem);
  border:3px solid rgb(var(--c-ink-950));
  background:rgb(var(--c-paper-soft));
  box-shadow:var(--fs-shadow-card, 0 4px 16px -6px rgb(var(--c-ink-950) / .16));
  transition:transform .3s ease, box-shadow .3s ease;
}
.fs-wf-to-card::after{
  content:'';position:absolute;inset:.42rem;pointer-events:none;
  border:1px solid rgb(var(--c-ink-950) / .5);
}
.fs-wf-to-card:hover{
  transform:translateY(-5px);
  box-shadow:var(--fs-shadow-lift, 0 22px 44px rgb(var(--c-ink-950) / .18));
}
.fs-wf-to-fig{
  font-family:var(--font-display, Georgia, serif);
  font-size:.8rem;font-weight:700;letter-spacing:.1em;
  color:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-wf-to-n{
  margin:.5rem 0 0;
  font-family:var(--font-display, Georgia, serif);
  font-size:1.35rem;line-height:1.25;font-weight:700;
  color:rgb(var(--c-ink-950));
}
.fs-wf-to-p{
  margin-top:.6rem;
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(1.9rem,3vw,2.35rem);line-height:1;font-weight:700;
  color:rgb(var(--c-brand-600));
}
.fs-wf-to-m{
  margin-top:.5rem;padding-bottom:1rem;
  border-bottom:1px solid rgb(var(--c-ink-950) / .35);
  font-size:.79rem;letter-spacing:.03em;color:rgb(var(--c-ink-400));
}
.fs-wf-to-b{margin-top:1rem;flex:1;font-size:.93rem;line-height:1.7;color:rgb(var(--c-ink-700));}
.fs-wf-to-i{
  margin-top:1.1rem;padding-top:.9rem;
  border-top:1px solid rgb(var(--c-ink-950) / .2);
  font-size:.8rem;line-height:1.6;color:rgb(var(--c-ink-400));
}
.fs-wf-to-a{margin-top:1.2rem;align-self:flex-start;}

/* ═════════ CTA (favWayfareCta) ═════════ */
.fs-wf-cta{padding:var(--fs-space-section, clamp(3.5rem,8vw,6rem)) clamp(1rem,4vw,2.5rem);}
.fs-wf-cta-panel{
  position:relative;max-width:var(--fs-layout-max,64rem);margin:0 auto;
  padding:clamp(.9rem,1.7vw,1.25rem);
  border:3px solid rgb(var(--c-ink-950));
  background:rgb(var(--c-paper-soft));
  box-shadow:var(--fs-shadow-lift, 0 22px 44px rgb(var(--c-ink-950) / .18));
}
.fs-wf-cta-panel::after{
  content:'';position:absolute;inset:.42rem;pointer-events:none;
  border:1px solid rgb(var(--c-ink-950) / .5);
}
.fs-wf-cta-inner{
  position:relative;
  padding:clamp(2rem,4.5vw,3.4rem) clamp(1.3rem,4vw,3rem);
  background-image:repeating-linear-gradient(45deg,
    rgb(var(--c-ink-950) / .05) 0 1px, transparent 1px 10px);
}
.fs-wf-cta-title{font-size:clamp(1.85rem,3.6vw,2.8rem);}
.fs-wf-cta-note{margin-left:0;}

/* ── Motion — one ambient flourish, system setting respected ──── */
@keyframes fs-wf-ink{
  from{opacity:0;transform:translateY(.5rem);}
  to{opacity:1;transform:none;}
}
.fs-wf-anim .fs-wf-plate{animation:fs-wf-ink .8s cubic-bezier(.22,.61,.36,1) both;}
@media (prefers-reduced-motion: reduce){
  .fs-wf *,.fs-wf *::before,.fs-wf *::after{
    animation:none !important;
    transition:none !important;
  }
}

/* ── Wireframe, in the EDITOR ────────────────────────────────────
   Two surfaces express wireframe differently: a published page gets
   [data-render="wireframe"] on an ancestor (WAYFARE_WIRE_CSS below),
   while the editor canvas gets the .fs-wf-wire class the block roots
   already carry. The hatching and the lozenge come off in both,
   because texture is decoration; the keylines stay, because they are
   the layout. */
.fs-wf-wire .fs-wf-plate-in,
.fs-wf-wire .fs-wf-cta-inner{background-image:none;}
.fs-wf-wire .fs-wf-plate-fallback,
.fs-wf-wire .fs-wf-eyebrow::after,
.fs-wf-wire .fs-wf-fact::before,
.fs-wf-wire .fs-wf-lozenge::after{display:none;}
.fs-wf-wire .fs-wf-plate,
.fs-wf-wire .fs-wf-to-card,
.fs-wf-wire .fs-wf-cta-panel,
.fs-wf-wire .fs-wf-rt-read,
.fs-wf-wire .fs-wf-stop,
.fs-wf-wire .fs-wf-btn{
  background:transparent;
  box-shadow:none;
  border:1px dashed rgb(var(--c-ink-950) / .6);
  outline:none;
}
.fs-wf-wire .fs-wf-plate::after,
.fs-wf-wire .fs-wf-to-card::after,
.fs-wf-wire .fs-wf-cta-panel::after{display:none;}
.fs-wf-wire .fs-wf-btn,
.fs-wf-wire .fs-wf-stop[data-on="1"],
.fs-wf-wire .fs-wf-stop[data-on="1"] .fs-wf-stop-n{background:transparent;color:rgb(var(--c-ink-950));}
.fs-wf-wire .fs-wf-accent,
.fs-wf-wire .fs-wf-fig-no,
.fs-wf-wire .fs-wf-to-p,
.fs-wf-wire .fs-wf-to-fig,
.fs-wf-wire .fs-wf-rt-meta,
.fs-wf-wire .fs-wf-eyebrow{color:rgb(var(--c-ink-950));}
/* The editor's own wireframe sheet paints filters on descendants, so
   this one has to be able to win. */
.fs-wf-wire .fs-wf-map,
.fs-wf.fs-wf-wire .fs-wf-map{filter:grayscale(1) contrast(.6) !important;opacity:.6 !important;}

/* ── favWayfareFooter (theme-chrome batch 6, Waymark) ──────────────
   The last plate. The band is the full-bleed container fs-wf-ft (the
   hatched surface; plain paper under the Minimalist Layout, which has
   no tinted bands); the content box is the named container fs-wf-ft-in,
   which narrows with the Layout. */
.fs-wf-ft{container-type:inline-size;container-name:fs-wf-ft;padding:0 clamp(1rem,4vw,2.5rem);background:var(--wf-ft-hatch-img),rgb(var(--c-paper-soft));--wf-ft-hair:rgb(var(--c-ink-950) / .55);--wf-ft-rule:rgb(var(--c-ink-950) / .2);--wf-ft-fig-rule:rgb(var(--c-ink-950) / .45);--wf-ft-hatch:rgb(var(--c-ink-950) / .07);--wf-ft-hatch-img:repeating-linear-gradient(45deg,var(--wf-ft-hatch) 0 1px,transparent 1px 9px);--wf-ft-note:color-mix(in srgb, rgb(var(--c-ink-950)) 74%, rgb(var(--c-paper)));--wf-ft-lift:0 18px 40px -22px rgb(0 0 0 / .35)}
.fs-wf-ft:is(.dark *):not(.fs-preview-light *){--wf-ft-rule:rgb(var(--c-ink-950) / .24);--wf-ft-hatch:rgb(var(--c-ink-950) / .09);--wf-ft-lift:0 18px 40px -20px rgb(0 0 0 / .7)}
[data-fs-layout='minimal'] .fs-wf-ft{background:rgb(var(--c-paper))}
.fs-wf-ft-in{container-type:inline-size;container-name:fs-wf-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:56px 30px}
.fs-wf-ft-mark{display:block;flex:none;width:54px;height:54px}
.fs-wf-ft-mk-kb{fill:none;stroke:rgb(var(--c-brand-600))}
.fs-wf-ft-mk-ka{fill:none;stroke:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-wf-ft-mk-fa{fill:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-wf-ft-mk-fb{fill:rgb(var(--c-brand-600))}
.fs-wf-ft-plate{position:relative;padding:clamp(22px,3cqi,38px);background:rgb(var(--c-paper));border:3px solid rgb(var(--c-ink-950));box-shadow:var(--wf-ft-lift)}
.fs-wf-ft-plate::after{content:"";position:absolute;inset:7px;border:1px solid var(--wf-ft-hair);pointer-events:none}
.fs-wf-ft-head{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px 40px;padding-bottom:24px;border-bottom:1px solid var(--wf-ft-rule)}
.fs-wf-ft-logo{display:flex;align-items:center;gap:12px}
.fs-wf-ft-name{margin:0;font:700 27px/1 var(--font-display, Cardo, Georgia, serif);letter-spacing:.005em;color:rgb(var(--c-ink-950))}
.fs-wf-ft-state{margin:0;max-width:56ch;font:400 19px/1.45 var(--font-display, Cardo, Georgia, serif);color:rgb(var(--c-ink-950));text-wrap:pretty}
.fs-wf-ft-acc{font-style:italic;color:rgb(var(--c-brand-text))}
.fs-wf-ft-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr)}
.fs-wf-ft-col{min-width:0;padding:24px 24px 6px;border-left:1px solid var(--wf-ft-rule)}
.fs-wf-ft-col:first-child{padding-left:0;border-left:0}
.fs-wf-ft-col:last-child{padding-right:0}
.fs-wf-ft-h{margin:0 0 12px;font-weight:700;font-size:11px;line-height:1.3;letter-spacing:.22em;text-transform:uppercase;color:rgb(var(--c-brand-text))}
.fs-wf-ft-h::after{content:"";display:inline-block;width:6px;height:6px;margin-left:10px;vertical-align:.1em;background:rgb(var(--c-accent, var(--c-brand-600)));transform:rotate(45deg)}
.fs-wf-ft-list{margin:0;list-style:none;padding:0}
.fs-wf-ft-li{padding-block:4px;font-size:14.5px;line-height:1.45}
.fs-wf-ft-link{color:rgb(var(--c-ink-950));text-decoration:none;background:linear-gradient(rgb(var(--c-accent, var(--c-brand-600))),rgb(var(--c-accent, var(--c-brand-600)))) 0 100%/0 1.5px no-repeat;transition:background-size .25s ease}
.fs-wf-ft-link:hover{background-size:100% 1.5px}
.fs-wf-ft-list.is-read .fs-wf-ft-li{display:flex;flex-direction:column;padding-block:5px}
.fs-wf-ft-rnote{font:italic 400 14.5px/1.35 var(--font-display, Cardo, Georgia, serif);color:var(--wf-ft-note)}
.fs-wf-ft-p{margin:0;font-size:14.5px;line-height:1.55;color:rgb(var(--c-ink-950))}
.fs-wf-ft-p + .fs-wf-ft-p{margin-top:9px}
.fs-wf-ft-p.is-note{font-size:13.5px;color:var(--wf-ft-note)}
.fs-wf-ft-tel,.fs-wf-ft-mail{border-bottom:1px solid var(--wf-ft-hair);color:inherit;text-decoration:none}
.fs-wf-ft-fig{margin:22px 0 0;display:flex;align-items:baseline;gap:14px;padding-top:11px;border-top:1px solid var(--wf-ft-fig-rule)}
.fs-wf-ft-fig-no{flex:none;font:700 14px/1 var(--font-display, Cardo, Georgia, serif);letter-spacing:.08em;color:rgb(var(--c-brand-text))}
.fs-wf-ft-fig-t{max-width:80ch;font-size:13px;line-height:1.5;color:var(--wf-ft-note)}
.fs-wf-ft-lrule{display:block;position:relative;height:1px;margin-top:30px;background:var(--wf-ft-fig-rule)}
.fs-wf-ft-lrule::after{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;background:rgb(var(--c-accent, var(--c-brand-600)));transform:rotate(45deg)}
.fs-wf-ft-legal{margin:18px 0 0;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 22px;font-size:12.5px;color:var(--wf-ft-note)}
.fs-wf-ft-legal-l{display:inline-flex;gap:18px}
.fs-wf-ft-legal-a{color:rgb(var(--c-ink-950));text-decoration:none}
.fs-wf-ft-legal-a:hover{text-decoration:underline}
@container fs-wf-ft (max-width: 40rem){
  .fs-wf-ft-in{padding-block:36px 24px}
}
@container fs-wf-ft-in (max-width: 56rem){
  .fs-wf-ft-head{grid-template-columns:minmax(0,1fr)}
  .fs-wf-ft-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-wf-ft-col:nth-child(odd){padding-left:0;border-left:0}
  .fs-wf-ft-col:nth-child(even){padding-right:0}
  .fs-wf-ft-col:nth-child(n+3){margin-top:14px;border-top:1px solid var(--wf-ft-rule)}
}
@container fs-wf-ft (max-width: 48rem){
  .fs-wf-ft-cols{grid-template-columns:minmax(0,1fr)}
  .fs-wf-ft-col{padding:20px 0 4px;border-left:0}
  .fs-wf-ft-col:nth-child(n+2){margin-top:0;border-top:1px solid var(--wf-ft-rule)}
  .fs-wf-ft-state{font-size:17.5px}
  .fs-wf-ft-fig{flex-direction:column;gap:6px}
}
@media (prefers-reduced-motion: reduce){
  .fs-wf-ft-link{transition:none}
}


.fs-vt{
  position:relative;overflow:hidden;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-vt *{box-sizing:border-box;}
.fs-vt-sr{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

/* ── Motif: the ward cut ────────────────────────────────────────
   The top-left corner chamfered off every plate in the set. Drawn
   with a clip-path rather than a pseudo-element so the cut survives
   any background, including the gradients below it. */
.fs-vt-plate{
  position:relative;
  --fs-vt-cut:1.6rem;
  clip-path:polygon(var(--fs-vt-cut) 0, 100% 0, 100% 100%, 0 100%, 0 var(--fs-vt-cut));
  border-radius:var(--fs-radius-card, .75rem);
  background:rgb(var(--c-paper-soft, var(--c-paper)));
  box-shadow:var(--fs-shadow-card, 0 1px 2px rgb(0 0 0 / .06));
  padding:clamp(1.6rem,4vw,2.8rem);
}
/* The cut edge itself, inked so it reads as a cut and not a crop. */
.fs-vt-plate::before{
  content:'';position:absolute;top:0;left:0;
  width:calc(var(--fs-vt-cut) * 1.42);height:1px;
  transform-origin:0 0;transform:rotate(45deg);
  background:rgb(var(--c-brand-600) / .55);
  pointer-events:none;
}
/* A hairline keyline just inside the plate — the engraved border. */
.fs-vt-plate::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  border:1px solid rgb(var(--c-line, var(--c-ink-950) / .16));
  border-radius:inherit;
  clip-path:polygon(var(--fs-vt-cut) 0, 100% 0, 100% 100%, 0 100%, 0 var(--fs-vt-cut));
}

/* ── Motif: the bitting rule ────────────────────────────────────
   A stepped key profile drawn as an SVG path, used as the set's
   divider. Stretched to the container width, so the steps read as a
   cut edge rather than as a chart. */
.fs-vt-bit{display:flex;align-items:center;gap:1rem;margin:1.6rem 0 0;width:100%;}
.fs-vt-bit-svg{
  flex:1 1 auto;min-width:3rem;height:16px;display:block;
  fill:none;stroke:rgb(var(--c-brand-600) / .8);
  stroke-width:1.6;stroke-linejoin:miter;stroke-linecap:butt;
  vector-effect:non-scaling-stroke;
}
.fs-vt-bit-label{
  flex:0 0 auto;
  font-size:.68rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));white-space:nowrap;
}
.fs-vt-center + .fs-vt-bit .fs-vt-bit-svg{opacity:.85;}
/* The rule is drawn with preserveAspectRatio="none" so it stretches to
   whatever it is given. Left uncapped in a centred page header it ran to
   ~700px, which flattens a 240-unit key profile until the steps read as a
   decorative squiggle rather than as a cut key. Capping the SVG keeps the
   steps near their drawn proportions; the label still sits beside it. */
.fs-vt-hd .fs-vt-bit,
.fs-vt-cta-plate .fs-vt-bit{justify-content:center;max-width:34rem;margin-left:auto;margin-right:auto;}
.fs-vt-hd .fs-vt-bit-svg{max-width:22rem;}

/* ── Motif: the tag plate ───────────────────────────────────────
   The eyebrow, on its own small ward-cut plate. */
.fs-vt-tag{
  position:relative;display:inline-flex;align-items:center;
  padding:.5rem 1.2rem .5rem 1.35rem;
  --fs-vt-cut:.62rem;
  clip-path:polygon(var(--fs-vt-cut) 0, 100% 0, 100% 100%, 0 100%, 0 var(--fs-vt-cut));
  background:rgb(var(--c-brand-600) / .1);
  color:rgb(var(--c-brand-600));
  font-size:.7rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
}
.fs-vt-tag::before{
  content:'';position:absolute;top:0;left:0;
  width:calc(var(--fs-vt-cut) * 1.42);height:1px;
  transform-origin:0 0;transform:rotate(45deg);
  background:rgb(var(--c-brand-600) / .75);
}

/* ── Motif: the keyline seal ────────────────────────────────────
   A double-ruled rondel — the assessor's stamp, not a badge sticker. */
.fs-vt-seal{
  position:absolute;right:-.4rem;bottom:-1rem;z-index:3;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  width:6.4rem;height:6.4rem;border-radius:50%;
  border:2px solid rgb(var(--c-accent, var(--c-brand-600)));
  background:rgb(var(--c-paper));
  box-shadow:var(--fs-shadow-card, 0 2px 8px rgb(0 0 0 / .12));
  text-align:center;
}
.fs-vt-seal::before{
  content:'';position:absolute;inset:.32rem;border-radius:50%;
  border:1px solid rgb(var(--c-accent, var(--c-brand-600)) / .5);
}
.fs-vt-seal-t,.fs-vt-seal-b{
  font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  line-height:1.35;color:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-vt-seal-b{color:rgb(var(--c-ink-700));}

/* ── Type ───────────────────────────────────────────────────────
   The geometric display face carries the register; the body face
   stays quiet and technical under it. */
.fs-vt-title{
  margin:1.35rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(2.15rem,4.6vw,3.4rem);
  line-height:1.12;font-weight:800;letter-spacing:-.02em;
  color:rgb(var(--c-ink-950));
}
.fs-vt-accent{color:rgb(var(--c-brand-600));}
.fs-vt-h{
  margin:1rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(1.7rem,3.2vw,2.35rem);
  line-height:1.2;font-weight:800;letter-spacing:-.015em;
  color:rgb(var(--c-ink-950));
}
.fs-vt-sub{
  margin:1.3rem 0 0;max-width:56ch;
  font-size:clamp(1rem,1.4vw,1.08rem);line-height:1.75;
  color:rgb(var(--c-ink-700));
}
.fs-vt-center{text-align:center;margin-left:auto;margin-right:auto;}

/* ── Buttons — one solid plate, one ruled link ───────────────── */
.fs-vt-ctas{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:2.1rem;align-items:center;}
.fs-vt-ctas-center{justify-content:center;}
.fs-vt-btn{
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  padding:1rem 2.2rem;
  --fs-vt-cut:.7rem;
  clip-path:polygon(var(--fs-vt-cut) 0, 100% 0, 100% 100%, 0 100%, 0 var(--fs-vt-cut));
  font-size:.84rem;font-weight:700;line-height:1;white-space:nowrap;
  letter-spacing:.13em;text-transform:uppercase;
  color:rgb(var(--c-paper));
  background:rgb(var(--c-brand-600));
  box-shadow:var(--fs-shadow-card, 0 2px 6px rgb(0 0 0 / .12));
  transition:transform .25s cubic-bezier(.2,.8,.3,1), background-color .25s ease;
}
.fs-vt-btn:hover{background:rgb(var(--c-brand-700, var(--c-brand-600)));transform:translateY(-2px);}
.fs-vt-link{
  display:inline-flex;align-items:center;gap:.5rem;
  padding-bottom:.3rem;
  border-bottom:2px solid rgb(var(--c-accent, var(--c-brand-600)));
  font-size:.84rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:rgb(var(--c-ink-950));
  transition:color .25s ease, border-color .25s ease;
}
.fs-vt-link:hover{color:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));}
.fs-vt-note{
  margin-top:1.7rem;
  font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}

/* ═════════ HERO (favVaultHero) ═════════
   Copy left, a ward-cut plate around the image stage right. */
.fs-vt-hero{padding:var(--fs-space-section, clamp(3.5rem,8vw,6rem)) clamp(1rem,4vw,2.5rem);}
/* The ground: a fine grid, faded out downward — the bench surface. */
.fs-vt-hero::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(to right, rgb(var(--c-ink-950) / .05) 1px, transparent 1px),
    linear-gradient(to bottom, rgb(var(--c-ink-950) / .05) 1px, transparent 1px);
  background-size:2.75rem 2.75rem;
  -webkit-mask-image:linear-gradient(to bottom, #000 0%, transparent 80%);
  mask-image:linear-gradient(to bottom, #000 0%, transparent 80%);
}
/* One soft brand bloom behind the stage — the set's only ambient wash. */
.fs-vt-hero::after{
  content:'';position:absolute;right:-12%;top:-18%;
  width:56%;aspect-ratio:1;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle, rgb(var(--c-brand-600) / .13), transparent 68%);
}
.fs-vt-hero-inner{
  position:relative;z-index:1;max-width:var(--fs-layout-max,74rem);margin:0 auto;
  display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(2.5rem,5vw,4.5rem);align-items:center;
}
@media (max-width:940px){.fs-vt-hero-inner{grid-template-columns:1fr;gap:3rem;}}

/* The assurance strip. */
.fs-vt-assure{
  display:grid;grid-template-columns:repeat(3, minmax(0,1fr));
  margin-top:2.8rem;
  border-top:2px solid rgb(var(--c-brand-600) / .5);
  border-bottom:1px solid rgb(var(--c-ink-950) / .13);
}
@media (max-width:560px){.fs-vt-assure{grid-template-columns:1fr;}}
.fs-vt-assure-cell{display:flex;flex-direction:column;gap:.4rem;padding:1.1rem 1.15rem 1.1rem 0;}
.fs-vt-assure-cell + .fs-vt-assure-cell{padding-left:1.15rem;border-left:1px solid rgb(var(--c-ink-950) / .13);}
@media (max-width:560px){
  .fs-vt-assure-cell + .fs-vt-assure-cell{
    border-left:none;padding-left:0;border-top:1px solid rgb(var(--c-ink-950) / .13);
  }
}
.fs-vt-assure-l{
  font-size:.65rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-vt-assure-v{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.02rem;font-weight:700;line-height:1.3;
  color:rgb(var(--c-ink-950));
}

/* The stage. */
.fs-vt-stage{position:relative;padding:0 .5rem 1.6rem 0;}
.fs-vt-stage-plate{
  position:relative;overflow:hidden;
  --fs-vt-cut:2.4rem;
  clip-path:polygon(var(--fs-vt-cut) 0, 100% 0, 100% 100%, 0 100%, 0 var(--fs-vt-cut));
  border-radius:var(--fs-radius-card, .75rem);
  background:rgb(var(--c-paper-soft, var(--c-paper)));
  box-shadow:var(--fs-shadow-lift, 0 14px 34px rgb(0 0 0 / .14));
  aspect-ratio:3 / 2;
}
/* The image sits in its own layer so the sweep can stay a sibling
   above it. EditableImage wraps its <img>, hence the > * rule too. */
.fs-vt-stage-img{position:absolute;inset:0;}
.fs-vt-stage-img > *{display:block;width:100%;height:100%;}
.fs-vt-stage-img img{width:100%;height:100%;object-fit:cover;display:block;}
.fs-vt-stage-fallback{
  position:absolute;inset:0;
  background-image:
    linear-gradient(to right, rgb(var(--c-brand-600) / .14) 1px, transparent 1px),
    linear-gradient(to bottom, rgb(var(--c-brand-600) / .14) 1px, transparent 1px);
  background-size:1.6rem 1.6rem;
}
.fs-vt-sweep{
  position:absolute;top:-25%;left:-40%;width:30%;height:150%;
  pointer-events:none;opacity:0;
  background:linear-gradient(100deg, transparent, rgb(var(--c-accent, var(--c-brand-600)) / .28), transparent);
  transform:translateX(0) skewX(-12deg);
}
.fs-vt-anim .fs-vt-sweep{opacity:1;animation:fs-vt-sweep 11s ease-in-out infinite;}
@keyframes fs-vt-sweep{
  0%{transform:translateX(0) skewX(-12deg);}
  55%,100%{transform:translateX(455%) skewX(-12deg);}
}

/* ═════════ PAGE HEADER (favVaultHeader) ═════════ */
.fs-vt-hd{padding:var(--fs-space-section, clamp(3rem,7vw,4.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-vt-hd::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(to right, rgb(var(--c-ink-950) / .045) 1px, transparent 1px),
    linear-gradient(to bottom, rgb(var(--c-ink-950) / .045) 1px, transparent 1px);
  background-size:2.75rem 2.75rem;
  -webkit-mask-image:linear-gradient(to bottom, #000 0%, transparent 88%);
  mask-image:linear-gradient(to bottom, #000 0%, transparent 88%);
}
.fs-vt-hd-inner{
  position:relative;max-width:min(54rem, var(--fs-layout-clamp, 54rem));margin:0 auto;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.fs-vt-hd .fs-vt-title{font-size:clamp(2rem,4.2vw,3rem);}

/* ═════════ PLAN CONFIGURATOR (favVaultPlanner) ═════════
   The set's interactive piece: controls left, a summary that builds
   as you choose on the right. */
.fs-vt-pl{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-vt-pl-head{
  position:relative;max-width:var(--fs-layout-max,56rem);margin:0 auto 2.8rem;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.fs-vt-pl-inner{
  position:relative;max-width:var(--fs-layout-max,74rem);margin:0 auto;
  display:grid;grid-template-columns:1.15fr .85fr;
  gap:clamp(1.6rem,3.5vw,2.6rem);align-items:start;
}
@media (max-width:940px){.fs-vt-pl-inner{grid-template-columns:1fr;}}

.fs-vt-pl-panel{
  position:relative;
  --fs-vt-cut:1.4rem;
  clip-path:polygon(var(--fs-vt-cut) 0, 100% 0, 100% 100%, 0 100%, 0 var(--fs-vt-cut));
  border-radius:var(--fs-radius-card, .75rem);
  background:rgb(var(--c-paper-soft, var(--c-paper)));
  box-shadow:var(--fs-shadow-card, 0 1px 3px rgb(0 0 0 / .07));
  padding:clamp(1.5rem,3.5vw,2.4rem);
}
.fs-vt .fs-vt-pl-field + .fs-vt-pl-field{margin-top:1.9rem;}
.fs-vt .fs-vt-pl-label{
  display:block;
  font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:rgb(var(--c-ink-700));
}
.fs-vt .fs-vt-pl-stepper{display:flex;align-items:center;gap:.85rem;margin-top:.95rem;}
.fs-vt .fs-vt-pl-hint{
  display:block;margin-top:.7rem;
  font-size:.82rem;line-height:1.6;color:rgb(var(--c-ink-400));
}

/* The −/+ buttons and the readout. Written through ".fs-vt " so they
   beat ".fs-typo button", which otherwise repaints every button on
   the page the site's button-label colour and loses the numbers. */
.fs-vt .fs-vt-pl-step{
  flex:0 0 auto;
  display:inline-flex;align-items:center;justify-content:center;
  width:2.3rem;height:2.3rem;padding:0;cursor:pointer;
  border:1.5px solid rgb(var(--c-brand-600) / .55);
  border-radius:var(--fs-radius-control, .4rem);
  background:rgb(var(--c-paper));
  color:rgb(var(--c-brand-600));
  font-size:1.05rem;font-weight:700;line-height:1;
  transition:background-color .2s ease, color .2s ease, border-color .2s ease;
}
.fs-vt .fs-vt-pl-step:hover:not(:disabled){background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));}
.fs-vt .fs-vt-pl-step:focus-visible{outline:2px solid rgb(var(--c-accent, var(--c-brand-600)));outline-offset:3px;}
.fs-vt .fs-vt-pl-step:disabled{opacity:.4;cursor:not-allowed;}
.fs-vt .fs-vt-pl-out{
  flex:0 0 auto;min-width:2.9rem;text-align:right;
  font-family:var(--font-display, Georgia, serif);
  font-size:1.45rem;font-weight:800;line-height:1;
  font-variant-numeric:tabular-nums;
  color:rgb(var(--c-brand-600));
}

/* The range. Styled on both engines rather than left native, because
   a default slider is the one control that makes a designed page look
   like a form. The thumb is the ward cut again, at 12px. */
.fs-vt .fs-vt-pl-range{
  flex:1 1 auto;min-width:0;height:1.5rem;padding:0;margin:0;cursor:pointer;
  background:transparent;-webkit-appearance:none;appearance:none;
}
.fs-vt .fs-vt-pl-range:focus-visible{outline:2px solid rgb(var(--c-accent, var(--c-brand-600)));outline-offset:4px;border-radius:.2rem;}
.fs-vt .fs-vt-pl-range::-webkit-slider-runnable-track{
  height:.4rem;border-radius:.2rem;
  background:linear-gradient(to right, rgb(var(--c-brand-600) / .55), rgb(var(--c-accent, var(--c-brand-600)) / .55));
}
.fs-vt .fs-vt-pl-range::-moz-range-track{
  height:.4rem;border-radius:.2rem;
  background:linear-gradient(to right, rgb(var(--c-brand-600) / .55), rgb(var(--c-accent, var(--c-brand-600)) / .55));
}
.fs-vt .fs-vt-pl-range::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;
  width:1.3rem;height:1.3rem;margin-top:-.45rem;
  clip-path:polygon(.42rem 0, 100% 0, 100% 100%, 0 100%, 0 .42rem);
  background:rgb(var(--c-brand-600));
  box-shadow:0 1px 4px rgb(0 0 0 / .28);
}
.fs-vt .fs-vt-pl-range::-moz-range-thumb{
  width:1.3rem;height:1.3rem;border:0;
  clip-path:polygon(.42rem 0, 100% 0, 100% 100%, 0 100%, 0 .42rem);
  background:rgb(var(--c-brand-600));
  box-shadow:0 1px 4px rgb(0 0 0 / .28);
}
.fs-vt .fs-vt-pl-range:disabled{opacity:.5;cursor:not-allowed;}

/* The module toggles — a real checkbox, visually hidden behind a
   drawn box, so the whole row stays one click target and the keyboard
   path is the native one. */
.fs-vt .fs-vt-pl-mods{margin:2.2rem 0 0;padding:1.6rem 0 0;border:0;border-top:1px solid rgb(var(--c-ink-950) / .14);}
.fs-vt .fs-vt-pl-legend{
  padding:0;
  font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:rgb(var(--c-ink-700));
}
.fs-vt .fs-vt-pl-mod{
  position:relative;
  display:grid;grid-template-columns:auto 1fr;gap:.95rem;align-items:start;
  margin-top:1.15rem;padding:.95rem 1rem;cursor:pointer;
  --fs-vt-cut:.6rem;
  clip-path:polygon(var(--fs-vt-cut) 0, 100% 0, 100% 100%, 0 100%, 0 var(--fs-vt-cut));
  background:rgb(var(--c-ink-950) / .035);
  transition:background-color .2s ease;
}
.fs-vt .fs-vt-pl-mod:hover{background:rgb(var(--c-brand-600) / .08);}
.fs-vt .fs-vt-pl-mod.is-on{background:rgb(var(--c-brand-600) / .11);}
/* The native checkbox sits behind the drawn box.
   Note that taking it OUT OF FLOW is done with an inline style on the
   element itself (see VaultBlocks.tsx), not here: the editor canvas
   carries its own input[type=checkbox] styling that beat every
   reasonable selector, and the input then laid out as a third grid item,
   pushing the tick to the top right and the label onto a second row.
   What is left here is only the appearance reset.
   NOTE: this sheet is a template literal — no backticks in comments. */
.fs-vt .fs-vt-pl-mod input.fs-vt-pl-check{
  appearance:none;-webkit-appearance:none;
}
.fs-vt .fs-vt-pl-mod .fs-vt-pl-box{
  position:relative;flex:0 0 auto;
  width:1.25rem;height:1.25rem;margin-top:.12rem;
  border:1.5px solid rgb(var(--c-ink-950) / .4);
  /* A FIXED small radius, deliberately not the control token: at 20px
     square the token's 8px rounds the box into a circle, and a circle
     reads as a radio button — single choice — when these are genuinely
     multi-select. Shape carries meaning here, so it does not follow the
     theme's radius dial. */
  border-radius:3px;
  background:rgb(var(--c-paper));
  transition:background-color .18s ease, border-color .18s ease;
}
.fs-vt .fs-vt-pl-mod .fs-vt-pl-box::after{
  content:'';position:absolute;left:.36rem;top:.13rem;
  width:.32rem;height:.62rem;opacity:0;
  border:solid rgb(var(--c-paper));border-width:0 2px 2px 0;
  transform:rotate(42deg);
  transition:opacity .18s ease;
}
.fs-vt .fs-vt-pl-mod.is-on .fs-vt-pl-box{background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));}
.fs-vt .fs-vt-pl-mod.is-on .fs-vt-pl-box::after{opacity:1;}
.fs-vt .fs-vt-pl-mod input.fs-vt-pl-check:focus-visible ~ .fs-vt-pl-box{outline:2px solid rgb(var(--c-accent, var(--c-brand-600)));outline-offset:3px;}
.fs-vt .fs-vt-pl-mod-txt{display:flex;flex-direction:column;gap:.3rem;min-width:0;}
.fs-vt .fs-vt-pl-mod-n{
  font-size:.95rem;font-weight:700;line-height:1.35;
  color:rgb(var(--c-ink-950));
}
.fs-vt .fs-vt-pl-mod-b{font-size:.83rem;line-height:1.6;color:rgb(var(--c-ink-400));}

/* The summary. The one place the set uses a filled brand plate. */
.fs-vt-pl-summary{
  /* Sticky so the figure stays beside the controls while the module
     list is worked down on a tall viewport. */
  position:sticky;top:1.5rem;
  --fs-vt-cut:1.4rem;
  clip-path:polygon(var(--fs-vt-cut) 0, 100% 0, 100% 100%, 0 100%, 0 var(--fs-vt-cut));
  border-radius:var(--fs-radius-card, .75rem);
  background:linear-gradient(160deg, rgb(var(--c-brand-600)), rgb(var(--c-brand-700, var(--c-brand-600))));
  box-shadow:var(--fs-shadow-lift, 0 14px 34px rgb(0 0 0 / .16));
  padding:clamp(1.5rem,3.5vw,2.2rem);
  color:rgb(var(--c-paper));
}
@media (max-width:940px){.fs-vt-pl-summary{position:static;}}
.fs-vt-pl-sum-label{
  display:block;
  font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:rgb(var(--c-paper) / .78);
}
.fs-vt-pl-sum-price{
  display:block;margin-top:.55rem;
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(1.9rem,4vw,2.5rem);font-weight:800;line-height:1.05;
  letter-spacing:-.025em;font-variant-numeric:tabular-nums;
  color:rgb(var(--c-paper));
}
.fs-vt-pl-sum-dash{padding:0 .22em;opacity:.65;font-weight:400;}
.fs-vt-pl-sum-note{
  display:block;margin-top:.7rem;
  font-size:.76rem;line-height:1.55;color:rgb(var(--c-paper) / .8);
}
.fs-vt-pl-lines{
  list-style:none;margin:1.5rem 0 0;padding:1.35rem 0 0;
  border-top:1px solid rgb(var(--c-paper) / .28);
}
.fs-vt-pl-line{
  display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  padding:.5rem 0;font-size:.86rem;line-height:1.5;
  color:rgb(var(--c-paper) / .92);
}
.fs-vt-pl-line + .fs-vt-pl-line{border-top:1px solid rgb(var(--c-paper) / .14);}
.fs-vt-pl-line b{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;}
.fs-vt-pl-line-empty{color:rgb(var(--c-paper) / .72);font-style:italic;}
.fs-vt-pl-sum-foot{margin-top:1.6rem;padding-top:1.35rem;border-top:1px solid rgb(var(--c-paper) / .28);}
/* Inverted: a solid brand button on a brand plate would disappear. */
.fs-vt-pl-summary .fs-vt-pl-btn{
  background:rgb(var(--c-paper));color:rgb(var(--c-brand-700, var(--c-brand-600)));
  width:100%;
}
.fs-vt-pl-summary .fs-vt-pl-btn:hover{background:rgb(var(--c-paper));transform:translateY(-2px);}
.fs-vt-pl-fine{
  display:block;margin-top:1rem;
  font-size:.74rem;line-height:1.6;color:rgb(var(--c-paper) / .78);
}

/* ═════════ COVERAGE LEDGER (favVaultLedger) ═════════ */
.fs-vt-lg{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-vt-lg-head{
  position:relative;max-width:min(54rem, var(--fs-layout-clamp, 54rem));margin:0 auto 2.6rem;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.fs-vt-lg-plate{max-width:var(--fs-layout-max,58rem);margin:0 auto;}
.fs-vt-lg-top{
  display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  padding-bottom:.95rem;margin-bottom:.4rem;
  border-bottom:2px solid rgb(var(--c-brand-600) / .5);
}
.fs-vt-lg-title{
  font-size:.72rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;
  color:rgb(var(--c-brand-600));
}
.fs-vt-lg-ref{
  font-size:.68rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-vt-lg-row{
  display:grid;grid-template-columns:1fr auto;gap:1.5rem;
  padding:1.2rem 0;align-items:start;
}
.fs-vt-lg-row + .fs-vt-lg-row{border-top:1px solid rgb(var(--c-ink-950) / .12);}
.fs-vt-lg-main{display:flex;flex-direction:column;gap:.38rem;}
.fs-vt-lg-j{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.08rem;font-weight:700;line-height:1.32;
  color:rgb(var(--c-ink-950));
}
.fs-vt-lg-d{font-size:.87rem;line-height:1.65;color:rgb(var(--c-ink-400));max-width:60ch;}
.fs-vt-lg-nums{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;min-width:7rem;}
.fs-vt-lg-t{
  padding:.22rem .6rem;
  border:1px solid rgb(var(--c-ink-950) / .2);
  border-radius:var(--fs-radius-control, .3rem);
  font-size:.66rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));white-space:nowrap;
}
.fs-vt-lg-p{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.16rem;font-weight:800;line-height:1.2;
  color:rgb(var(--c-brand-600));white-space:nowrap;
}
.fs-vt-lg-foot{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.2rem;
  margin-top:1.4rem;padding-top:1.3rem;
  border-top:2px solid rgb(var(--c-brand-600) / .5);
}
.fs-vt-lg-note{font-size:.83rem;line-height:1.65;color:rgb(var(--c-ink-700));max-width:46ch;}
/* The stamp — a keyline mark, inked slightly off-square. */
.fs-vt-stamp{
  flex:0 0 auto;padding:.5rem 1rem;
  border:2px solid rgb(var(--c-accent, var(--c-brand-600)) / .7);
  border-radius:var(--fs-radius-control, .3rem);
  color:rgb(var(--c-accent, var(--c-brand-600)));
  font-size:.67rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  transform:rotate(-2.5deg);
}

/* ═════════ CTA (favVaultCta) ═════════ */
.fs-vt-cta{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-vt-cta-plate{
  max-width:min(48rem, var(--fs-layout-clamp, 48rem));margin:0 auto;
  display:flex;flex-direction:column;align-items:center;text-align:center;
  padding-top:clamp(2.4rem,5vw,3.4rem);
}
.fs-vt-cta-plate .fs-vt-title{font-size:clamp(1.8rem,3.6vw,2.6rem);}
.fs-vt-cta-plate .fs-vt-bit{max-width:22rem;}

/* ── Phones ─────────────────────────────────────────────────────
   Three things break below ~560px, all measured rather than guessed:

   1. The ledger row is a 1fr/auto grid with a nowrap price. At 340px
      "£39 / person / yr" no longer fits its column, so the row stacks
      and the time chip and price sit side by side instead.
   2. The planner's summary price is a range with two five-figure-wide
      numbers; below this width it is allowed to wrap at the dash.
   3. The hero seal overlaps the stage corner, which is fine at
      desktop and crowds the copy beneath it on a phone. */
@media (max-width:560px){
  .fs-vt-lg-row{grid-template-columns:1fr;gap:.8rem;}
  .fs-vt-lg-nums{flex-direction:row;align-items:baseline;justify-content:flex-start;gap:.9rem;min-width:0;}
  .fs-vt-lg-foot{gap:1rem;}
  .fs-vt-pl-sum-price{white-space:normal;}
  /* The steppers are 37px at desktop, which is fine for a mouse and
     under the 44px minimum for a thumb. Measured on a 390px viewport. */
  .fs-vt .fs-vt-pl-step{width:2.75rem;height:2.75rem;font-size:1.15rem;}
  .fs-vt .fs-vt-pl-stepper{gap:.7rem;}
  .fs-vt-seal{width:5.2rem;height:5.2rem;right:.2rem;bottom:-.7rem;}
  .fs-vt-seal-t,.fs-vt-seal-b{font-size:.55rem;letter-spacing:.1em;}
  .fs-vt-bit-label{white-space:normal;}
}

/* ── Dark mode ──────────────────────────────────────────────────
   The stage art is a static SVG and cannot re-tint with the palette
   (see themes/art.ts). On near-black it would otherwise glare, so it
   gets the same knock-back a photograph would need behind glass. */
/* :is(.dark *):not(.fs-preview-light *) -- same fix as torque-styles.ts
   above and LedgerLite (2026-09-03): the ambient .dark on <html> is
   the visitor's OS preference, not this site's resolved mode. */
.fs-vt-stage-img:is(.dark *):not(.fs-preview-light *){filter:brightness(.72) saturate(.9) contrast(1.04);}

/* ── Reduced motion ─────────────────────────────────────────────
   The sweep is the set's only ambient motion and it is decorative.
   The planner's own transitions go too — the numbers still update,
   they simply arrive without the ease. */
@media (prefers-reduced-motion: reduce){
  .fs-vt *,.fs-vt *::before,.fs-vt *::after{animation:none !important;transition:none !important;}
  .fs-vt-sweep{display:none !important;}
}

/* ── favVaultFooter (theme-chrome batch 4, Ward) ──────────────────
   fs-vt-ft: the full-bleed band (named container) on the page ground,
   opened by a hairline, with the bench grid rising from the bottom edge
   (a ::before behind the content, masked by a gradient painted in a
   token — a mask reads only alpha); fs-vt-ft-in: the content box. */
.fs-vt-ft{position:relative;isolation:isolate;container-type:inline-size;container-name:fs-vt-ft;padding:0 clamp(1rem,4vw,2.5rem);background:rgb(var(--c-paper));box-shadow:inset 0 1px 0 var(--vt-ft-rule);--vt-ft-rule:rgb(var(--c-ink-950) / .13);--vt-ft-keyline:rgb(var(--c-ink-950) / .16);--vt-ft-note:color-mix(in srgb, rgb(var(--c-ink-950)) 74%, rgb(var(--c-paper)));--vt-ft-brand-rule:rgb(var(--c-brand-600) / .5);--vt-ft-cut-ink:rgb(var(--c-brand-600) / .62);--vt-ft-bit-ink:rgb(var(--c-brand-600) / .8);--vt-ft-accent-ink:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 72%, rgb(var(--c-ink-950)));--vt-ft-accent-ring:rgb(var(--c-accent, var(--c-brand-600)) / .7);--vt-ft-grid:rgb(var(--c-ink-950) / .05)}
.fs-vt-ft:is(.dark *):not(.fs-preview-light *){--vt-ft-rule:rgb(var(--c-ink-950) / .17);--vt-ft-keyline:rgb(var(--c-ink-950) / .2);--vt-ft-cut-ink:rgb(var(--c-brand-600) / .78);--vt-ft-accent-ink:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 82%, rgb(var(--c-ink-950)));--vt-ft-grid:rgb(var(--c-ink-950) / .06)}
.fs-vt-ft::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(90deg,var(--vt-ft-grid) 1px,transparent 1px),linear-gradient(var(--vt-ft-grid) 1px,transparent 1px);background-size:2.75rem 2.75rem;-webkit-mask-image:linear-gradient(to top,rgb(var(--c-ink-950)),transparent 75%);mask-image:linear-gradient(to top,rgb(var(--c-ink-950)),transparent 75%)}
.fs-vt-ft-in{container-type:inline-size;container-name:fs-vt-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:54px 30px}
.fs-vt-ft-mark{flex:none;width:36px;height:36px}
.fs-vt-ft-mk-a{stop-color:rgb(var(--c-brand-600))}
.fs-vt-ft-mk-b{stop-color:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-vt-ft-assure{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:2px solid var(--vt-ft-brand-rule);border-bottom:1px solid var(--vt-ft-rule);margin:0}
.fs-vt-ft-fact{display:flex;flex-direction:column;gap:6px;min-width:0;padding:16px 18px 16px 0}
.fs-vt-ft-fact + .fs-vt-ft-fact{padding-left:18px;border-left:1px solid var(--vt-ft-rule)}
.fs-vt-ft-fdt{font-weight:600;font-size:10px;line-height:1.3;letter-spacing:.18em;text-transform:uppercase;color:var(--vt-ft-note);margin:0}
.fs-vt-ft-fdd{font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:17px;line-height:1.25;letter-spacing:-.01em;color:rgb(var(--c-ink-950));margin:0}
.fs-vt-ft-grid{display:grid;grid-template-columns:minmax(0,1.35fr) repeat(3,minmax(0,1fr));gap:40px clamp(24px,3cqi,44px);margin-top:40px}
.fs-vt-ft-pc{min-width:0}
.fs-vt-ft-plate{--vt-ft-cut:22px;padding:26px 24px 54px 28px;background:linear-gradient(135deg,transparent calc(var(--vt-ft-cut) * .7071),var(--vt-ft-cut-ink) 0 calc(var(--vt-ft-cut) * .7071 + 1.5px),transparent 0) rgb(var(--c-paper-soft));box-shadow:inset 0 0 0 1px var(--vt-ft-keyline);clip-path:polygon(var(--vt-ft-cut) 0,100% 0,100% 100%,0 100%,0 var(--vt-ft-cut))}
.fs-vt-ft-logo{display:flex;align-items:center;gap:11px;margin:0}
.fs-vt-ft-name{font-family:var(--font-display, Georgia, serif);font-weight:800;font-size:19px;line-height:1.2;letter-spacing:-.02em;color:rgb(var(--c-ink-950))}
.fs-vt-ft-state{max-width:34ch;margin:14px 0 0;font-size:14.5px;line-height:1.55;color:var(--vt-ft-note)}
.fs-vt-ft-addr{max-width:30ch;margin:14px 0 0;padding-top:14px;border-top:1px solid var(--vt-ft-rule);font-size:14px;line-height:1.55;color:rgb(var(--c-ink-950));font-style:normal}
.fs-vt-ft-tel{display:inline-block;margin-top:12px;padding-bottom:3px;border-bottom:2px solid rgb(var(--c-accent, var(--c-brand-600)));font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:17px;line-height:1.2;color:rgb(var(--c-ink-950));font-variant-numeric:tabular-nums;text-decoration:none}
.fs-vt-ft-mail{display:block;margin-top:9px;font-size:14px;color:rgb(var(--c-ink-950));text-decoration:none}
.fs-vt-ft-tel:hover,.fs-vt-ft-mail:hover{color:var(--vt-ft-accent-ink)}
/* The keyline seal (.fs-vt-ft-seal): a double-ruled rondel pulled up to
   sit half off the plate's lower-right corner. In normal flow (a
   negative top margin), so nothing is absolutely positioned. */
.fs-vt-ft-seal{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:92px;height:92px;margin:-46px 22px 0 auto;border:2px solid var(--vt-ft-accent-ring);border-radius:50%;background:rgb(var(--c-paper));box-shadow:inset 0 0 0 5px rgb(var(--c-paper)),inset 0 0 0 6px var(--vt-ft-accent-ring),0 6px 16px -8px rgb(0 0 0 / .3);text-align:center}
.fs-vt-ft-seal-t{font-weight:800;font-size:11px;line-height:1.3;letter-spacing:.14em;text-transform:uppercase;color:var(--vt-ft-accent-ink)}
.fs-vt-ft-seal-b{font-weight:600;font-size:9.5px;line-height:1.35;letter-spacing:.12em;text-transform:uppercase;color:var(--vt-ft-note)}
.fs-vt-ft-col{min-width:0}
.fs-vt-ft-h{margin:0 0 14px;padding-bottom:10px;border-bottom:2px solid var(--vt-ft-brand-rule);font-weight:700;font-size:10.5px;line-height:1.2;letter-spacing:.22em;text-transform:uppercase;color:rgb(var(--c-ink-950))}
.fs-vt-ft-links{list-style:none;padding:0;margin:0}
.fs-vt-ft-li{padding-block:5px;font-size:14.5px;line-height:1.4}
.fs-vt-ft-link{color:rgb(var(--c-ink-950));text-decoration:none}
.fs-vt-ft-link:hover{color:var(--vt-ft-accent-ink);text-decoration:underline;text-underline-offset:3px}
.fs-vt-ft-more{margin-top:6px;padding-top:10px;border-top:1px solid var(--vt-ft-rule);font-size:13.5px;color:var(--vt-ft-note)}
.fs-vt-ft-hours{font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:16px;line-height:1.35;color:rgb(var(--c-ink-950));margin:0}
.fs-vt-ft-p{margin:6px 0 0;font-size:13.5px;line-height:1.55;color:var(--vt-ft-note)}
.fs-vt-ft-inc{margin:16px 0 0;padding-top:14px;border-top:1px solid var(--vt-ft-rule)}
.fs-vt-ft-inc-l{font-weight:600;font-size:10px;line-height:1.3;letter-spacing:.18em;text-transform:uppercase;color:var(--vt-ft-note);margin:0}
.fs-vt-ft-inc-v{margin:5px 0 0;font-family:var(--font-display, Georgia, serif);font-weight:800;font-size:17px;line-height:1.2;color:rgb(var(--c-ink-950));font-variant-numeric:tabular-nums}
.fs-vt-ft-inc-a{color:inherit;text-decoration:none}
.fs-vt-ft-checks{list-style:none;padding:0;margin:0}
.fs-vt-ft-check{display:flex;flex-direction:column;gap:2px;padding-block:8px;border-bottom:1px solid var(--vt-ft-rule)}
.fs-vt-ft-check:first-child{padding-top:0}
.fs-vt-ft-cf{font-family:var(--font-display, Georgia, serif);font-weight:800;font-size:16px;line-height:1.25;letter-spacing:-.005em;color:rgb(var(--c-ink-950));font-variant-numeric:tabular-nums}
.fs-vt-ft-cb{font-size:13px;line-height:1.45;color:var(--vt-ft-note)}
.fs-vt-ft-flink{display:inline-block;margin-top:12px;padding-bottom:3px;border-bottom:2px solid rgb(var(--c-accent, var(--c-brand-600)));font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:11px;line-height:1.3;letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--c-ink-950));text-decoration:none}
.fs-vt-ft-base{display:flex;flex-wrap:wrap;align-items:center;gap:12px 32px;margin-top:40px;padding-top:18px;border-top:1px solid var(--vt-ft-rule)}
.fs-vt-ft-base .fs-vt-ft-bit{flex:1 1 20rem}
.fs-vt-ft-bit{display:flex;align-items:center;gap:14px;flex:1 1 auto;min-width:0}
.fs-vt-ft-bit-svg{display:block;flex:0 1 12rem;min-width:4.5rem;height:14px;fill:none;stroke:var(--vt-ft-bit-ink);stroke-width:1.6;stroke-linejoin:miter;vector-effect:non-scaling-stroke}
.fs-vt-ft-bit-l{font-weight:600;font-size:10.5px;line-height:1.2;letter-spacing:.2em;text-transform:uppercase;color:var(--vt-ft-note);white-space:nowrap}
.fs-vt-ft-legal{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:12.5px;color:var(--vt-ft-note);margin:0}
.fs-vt-ft-legal-a{color:rgb(var(--c-ink-950));text-decoration:none}
.fs-vt-ft-legal-a:hover{color:var(--vt-ft-accent-ink)}
@container fs-vt-ft (max-width: 40rem){
  .fs-vt-ft-in{padding-block:40px 26px}
}
@container fs-vt-ft-in (max-width: 62rem){
  .fs-vt-ft-grid{grid-template-columns:minmax(0,1.25fr) repeat(3,minmax(0,1fr));column-gap:26px}
  .fs-vt-ft-plate{padding-inline:24px 20px}
  .fs-vt-ft-fdd{font-size:16px}
}
@container fs-vt-ft-in (max-width: 56rem){
  .fs-vt-ft-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:36px}
  .fs-vt-ft-assure{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-vt-ft-fact:nth-child(3){padding-left:0;border-left:0}
  .fs-vt-ft-fact:nth-child(n+3){border-top:1px solid var(--vt-ft-rule)}
}
@container fs-vt-ft (max-width: 48rem){
  .fs-vt-ft-grid{grid-template-columns:minmax(0,1fr);row-gap:34px;margin-top:32px}
  .fs-vt-ft-base{margin-top:32px}
  .fs-vt-ft-state,.fs-vt-ft-addr{max-width:none}
}
@container fs-vt-ft (max-width: 30rem){
  .fs-vt-ft-fact{padding-right:12px}
  .fs-vt-ft-fact + .fs-vt-ft-fact{padding-left:12px}
  .fs-vt-ft-fact:nth-child(3){padding-left:0}
  .fs-vt-ft-fdd{font-size:15.5px}
  .fs-vt-ft-plate{padding:24px 20px 52px 24px}
  .fs-vt-ft-legal-t{flex-basis:100%}
  .fs-vt-ft-base .fs-vt-ft-bit-l{white-space:normal}
}


.fs-ht{
  position:relative;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-ht *{box-sizing:border-box;}

/* ── Shared motifs ──────────────────────────────────────────────
   The tapering pile — the logo mark drawn flat, used as a rule. */
.fs-ht-pile{display:flex;flex-direction:column;gap:.28rem;width:7.5rem;}
.fs-ht-pile i{
  display:block;height:.3rem;border-radius:999px;
  background:rgb(var(--c-brand-600));
}
.fs-ht-pile i:nth-child(1){width:100%;}
.fs-ht-pile i:nth-child(2){width:78%;opacity:.62;}
.fs-ht-pile i:nth-child(3){width:52%;opacity:.38;}
@keyframes fs-ht-settle{from{opacity:0;transform:translateY(-.4rem);}}
.fs-ht-anim .fs-ht-pile i{animation:fs-ht-settle .5s ease-out both;}
.fs-ht-anim .fs-ht-pile i:nth-child(2){animation-delay:.09s;}
.fs-ht-anim .fs-ht-pile i:nth-child(3){animation-delay:.18s;}
.fs-ht-wire .fs-ht-pile i{background:rgb(var(--c-ink-950));opacity:1;}

/* The label eyebrow: a stitched tag, not a badge. */
.fs-ht-eyebrow{
  display:inline-block;
  padding:.4rem .8rem;
  border:1.5px dashed rgb(var(--c-ink-950) / .4);
  border-radius:var(--fs-radius-control, .5rem);
  background:rgb(var(--c-paper-soft));
  font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:rgb(var(--c-ink-700));
}

/* Type — a warm serif carries the display sizes. */
.fs-ht-title{
  margin:1.1rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(2.2rem,5vw,3.6rem);
  font-weight:600;line-height:1.12;letter-spacing:-0.015em;
  text-wrap:balance;
}
.fs-ht-accent{color:rgb(var(--c-brand-600));font-style:italic;}
.fs-ht-sub{
  margin-top:1rem;max-width:min(38rem, var(--fs-layout-clamp, 38rem));
  font-size:1.02rem;line-height:1.68;
  color:rgb(var(--c-ink-700));
}
.fs-ht-h{
  margin:0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:var(--fs-type-h2, clamp(1.75rem,3.2vw,2.5rem));
  font-weight:var(--fs-type-h2-weight, 600);
  letter-spacing:var(--fs-type-h2-tracking, -0.015em);
  line-height:var(--fs-type-h2-leading, 1.2);
  text-wrap:balance;
}

/* Buttons (spans in previews — the site-wide buttonStyle covers the
   real button blocks; these are the set's own). */
.fs-ht-ctas{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.6rem;}
.fs-ht-btn,.fs-ht-btn2{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.8rem 1.5rem;cursor:pointer;
  border-radius:var(--fs-radius-control, .5rem);
  font-size:.94rem;font-weight:700;letter-spacing:.01em;
  transition:transform .16s ease, box-shadow .16s ease, background-color .16s ease, color .16s ease;
}
.fs-ht-btn{
  background:rgb(var(--c-brand-600));
  color:rgb(var(--c-paper));
  border:1.5px solid rgb(var(--c-brand-600));
  box-shadow:var(--fs-shadow-card, 0 6px 16px -6px rgb(var(--c-ink-950) / .35));
}
.fs-ht-btn:hover{transform:translateY(-2px);box-shadow:var(--fs-shadow-lift, 0 16px 30px -12px rgb(var(--c-ink-950) / .45));}
.fs-ht-btn2{
  background:rgb(var(--c-paper-soft));
  color:rgb(var(--c-ink-950));
  border:1.5px solid rgb(var(--c-ink-950) / .35);
}
.fs-ht-btn2:hover{border-color:rgb(var(--c-brand-600));color:rgb(var(--c-brand-600));}
.fs-ht-btn:focus-visible,.fs-ht-btn2:focus-visible{outline:2px solid rgb(var(--c-brand-600));outline-offset:2px;}
.fs-ht-wire .fs-ht-btn,.fs-ht-wire .fs-ht-btn2{box-shadow:none;transform:none;}

/* ═════════ HERO (favHearthHero) ═════════ */
.fs-ht-hero{padding:var(--fs-space-section, clamp(2.5rem,6vw,4rem)) clamp(1rem,4vw,2.5rem);}
.fs-ht-hero-inner{
  position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:1.02fr .98fr;
  gap:clamp(2rem,5vw,3.5rem);align-items:center;
}
@media (max-width:920px){.fs-ht-hero-inner{grid-template-columns:1fr;gap:2.5rem;}}
.fs-ht-hero-pile{margin-top:1.5rem;}
.fs-ht-proof{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.8rem;}
.fs-ht-proof-chip{
  display:inline-flex;align-items:center;
  padding:.45rem .85rem;
  border-radius:var(--fs-radius-pill, 999px);
  background:rgb(var(--c-brand-50));
  color:rgb(var(--c-ink-950));
  font-size:.8rem;font-weight:650;
}

/* The frame: a folded card with a hem stitched inside it. */
.fs-ht-stage{position:relative;display:flex;justify-content:center;}
.fs-ht-frame{
  position:relative;
  width:min(28rem,100%);aspect-ratio:4 / 3;
  overflow:hidden;
  background:rgb(var(--c-paper-soft));
  border-radius:var(--fs-radius-card, .75rem);
  box-shadow:var(--fs-shadow-lift, 0 24px 48px -20px rgb(var(--c-ink-950) / .4));
}
.fs-ht-frame img{width:100%;height:100%;object-fit:cover;display:block;}
.fs-ht-frame > *{width:100%;height:100%;}
/* The turned-down corner itself. */
.fs-ht-frame::after{
  content:'';position:absolute;top:0;right:0;z-index:2;
  border-width:0 1.9rem 1.9rem 0;border-style:solid;
  border-color:transparent rgb(var(--c-brand-600) / .6) transparent transparent;filter:drop-shadow(-1px 1px 0 rgb(var(--c-ink-950) / .18));
  pointer-events:none;
}
.fs-ht-frame-hem{
  position:absolute;inset:.75rem;z-index:2;width:auto;height:auto;
  border:1.5px dashed rgb(var(--c-paper) / .6);
  border-radius:calc(var(--fs-radius-card, .75rem) - .2rem);
  pointer-events:none;
}
/* No image set: drawn folded cloth, so the frame never sits empty. */
.fs-ht-frame-fallback{
  display:block;width:100%;height:100%;
  background:
    linear-gradient(135deg, transparent 46%, rgb(var(--c-accent, var(--c-brand-600)) / .35) 46% 54%, transparent 54%),
    linear-gradient(160deg,
      rgb(var(--c-brand-50)) 0 42%,
      rgb(var(--c-accent, var(--c-brand-600)) / .3) 42% 68%,
      rgb(var(--c-brand-600) / .45) 68% 100%);
}
.fs-ht-wire .fs-ht-frame{clip-path:none;box-shadow:none;}
.fs-ht-wire .fs-ht-frame::after,
.fs-ht-wire .fs-ht-frame-hem,
.fs-ht-wire .fs-ht-frame-fallback{display:none;}

/* ═════════ PAGE HEADER (favHearthHeader) ═════════ */
.fs-ht-hd{padding:var(--fs-space-section, clamp(2.2rem,5vw,3.6rem)) clamp(1rem,4vw,2.5rem);}
.fs-ht-hd-inner{max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-ht-hd-title{font-size:clamp(2rem,4.2vw,3.1rem);}
.fs-ht-hd-pile{margin-top:1.3rem;}
.fs-ht-hd .fs-ht-sub{max-width:min(44rem, var(--fs-layout-clamp, 44rem));}

/* ═════════ COVERAGE CHECKER (favHearthCoverage) ═════════
   The working instrument: type a town, get a straight answer. */
.fs-ht-cv{padding:var(--fs-space-section, clamp(2.5rem,6vw,4rem)) clamp(1rem,4vw,2.5rem);}
.fs-ht-cv-head{max-width:var(--fs-layout-max,64rem);margin:0 auto 1.6rem;}
.fs-ht-cv-card{
  position:relative;max-width:var(--fs-layout-max,64rem);margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(1.2rem,3vw,2rem);
  padding:clamp(1.3rem,3vw,2rem);
  background:rgb(var(--c-paper-soft));
  border-radius:var(--fs-radius-card, .75rem);
  box-shadow:var(--fs-shadow-card, 0 8px 22px -10px rgb(var(--c-ink-950) / .3));
}
.fs-ht-cv-card::after{
  content:'';position:absolute;top:0;right:0;
  border-width:0 1.9rem 1.9rem 0;border-style:solid;
  border-color:transparent rgb(var(--c-brand-600) / .55) transparent transparent;filter:drop-shadow(-1px 1px 0 rgb(var(--c-ink-950) / .18));
  pointer-events:none;
}
@media (max-width:820px){.fs-ht-cv-card{grid-template-columns:1fr;}}
.fs-ht-cv-field{position:relative;display:flex;flex-direction:column;gap:.5rem;}
.fs-ht-cv-label{
  font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-ht-cv-input{
  width:100%;padding:.85rem 1rem;
  font-family:inherit;font-size:1rem;
  color:rgb(var(--c-ink-950));
  background:rgb(var(--c-paper));
  border:1.5px solid rgb(var(--c-ink-950) / .62);
  border-radius:var(--fs-radius-control, .5rem);
}
.fs-ht-cv-input::placeholder{color:rgb(var(--c-ink-400));}
.fs-ht-cv-input:focus-visible{
  outline:2px solid rgb(var(--c-brand-600));outline-offset:2px;
  border-color:rgb(var(--c-brand-600));
}
.fs-ht-cv-input:disabled{opacity:.65;}
/* The type-ahead list sits over the card, so it needs a real
   surface and a stacking context above the folded corner. */
.fs-ht-cv-list{
  position:absolute;top:100%;left:0;right:0;z-index:5;
  margin:.35rem 0 0;padding:.3rem;list-style:none;
  max-height:15rem;overflow:auto;
  background:rgb(var(--c-paper));
  border:1.5px solid rgb(var(--c-ink-950) / .3);
  border-radius:var(--fs-radius-control, .5rem);
  box-shadow:var(--fs-shadow-lift, 0 18px 34px -14px rgb(var(--c-ink-950) / .45));
}
.fs-ht-cv-option{
  display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  padding:.55rem .7rem;cursor:pointer;
  border-radius:calc(var(--fs-radius-control, .5rem) - .15rem);
}
.fs-ht-cv-option[aria-selected="true"]{background:rgb(var(--c-brand-50));box-shadow:inset 3px 0 0 rgb(var(--c-brand-600));}
.fs-ht-cv-option[aria-selected="true"] .fs-ht-cv-option-town{color:rgb(var(--c-brand-600));}
.fs-ht-cv-option-town{font-weight:700;color:rgb(var(--c-ink-950));}
.fs-ht-cv-option-round{font-size:.82rem;color:rgb(var(--c-ink-400));}

.fs-ht-cv-answer{display:flex;align-items:center;min-height:8.5rem;}
@media (max-width:820px){.fs-ht-cv-answer{min-height:0;}}
.fs-ht-cv-idle{display:flex;flex-direction:column;gap:.3rem;}
.fs-ht-cv-idle-count{
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(1.15rem,2.2vw,1.5rem);font-weight:600;
  color:rgb(var(--c-ink-950));
}
.fs-ht-cv-idle-hint{
  font-size:.86rem;color:rgb(var(--c-ink-400));font-style:italic;
}
.fs-ht-cv-yes{display:flex;flex-direction:column;gap:.7rem;width:100%;}
.fs-ht-cv-yes-head{
  display:flex;align-items:center;gap:.5rem;
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(1.2rem,2.4vw,1.6rem);font-weight:600;
  color:rgb(var(--c-ink-950));
}
.fs-ht-cv-tick{
  flex:none;width:1.15rem;height:1.15rem;border-radius:999px;
  background:rgb(var(--c-brand-600));
  position:relative;
}
.fs-ht-cv-tick::after{
  content:'';position:absolute;left:.34rem;top:.17rem;
  width:.32rem;height:.6rem;
  border:solid rgb(var(--c-paper));border-width:0 2px 2px 0;
  transform:rotate(42deg);
}
.fs-ht-cv-facts{display:flex;flex-wrap:wrap;gap:1.4rem;}
.fs-ht-cv-facts span{display:flex;flex-direction:column;gap:.15rem;font-weight:650;color:rgb(var(--c-ink-950));}
.fs-ht-cv-facts i{
  font-style:normal;font-size:.7rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-ht-cv-cta{align-self:flex-start;}
.fs-ht-cv-miss{display:flex;flex-direction:column;gap:.45rem;}
.fs-ht-cv-miss-head{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.2rem;font-weight:600;color:rgb(var(--c-ink-950));
}
.fs-ht-cv-miss-body{font-size:.92rem;line-height:1.6;color:rgb(var(--c-ink-700));}
.fs-ht-cv-miss-phone{
  margin-top:.35rem;
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(1.25rem,2.4vw,1.6rem);font-weight:600;
  color:rgb(var(--c-brand-600));
}

.fs-ht-cv-chips{
  max-width:var(--fs-layout-max,64rem);margin:1.1rem auto 0;
  display:flex;flex-wrap:wrap;gap:.45rem;
}
/* Double-classed on purpose: the editor's typography layer styles
   every canvas <button> at (0,1,1) via --fs-btn-color, which is
   white by default and would wash these chips out. */
.fs-ht .fs-ht-cv-chip{
  padding:.45rem .85rem;cursor:pointer;
  font-family:inherit;font-size:.84rem;font-weight:650;
  letter-spacing:0;text-transform:none;
  color:rgb(var(--c-ink-950));
  background:rgb(var(--c-paper-soft));
  border:1.5px solid rgb(var(--c-brand-600) / .55);
  border-radius:var(--fs-radius-pill, 999px);
  transition:border-color .15s ease, background-color .15s ease, color .15s ease;
}
.fs-ht .fs-ht-cv-chip:hover{border-color:rgb(var(--c-brand-600));color:rgb(var(--c-brand-600));}
.fs-ht .fs-ht-cv-chip[aria-current="true"]{
  background:rgb(var(--c-brand-600));
  border-color:rgb(var(--c-brand-600));
  color:rgb(var(--c-paper));
}
.fs-ht .fs-ht-cv-chip:focus-visible{outline:2px solid rgb(var(--c-brand-600));outline-offset:2px;}
@media (max-width:820px){.fs-ht .fs-ht-cv-chip{padding:.6rem 1rem;}}
.fs-ht-wire .fs-ht-cv-card{clip-path:none;box-shadow:none;}
.fs-ht-wire .fs-ht-cv-card::after,.fs-ht-wire .fs-ht-cv-tick::after{display:none;}

/* ═════════ CHECKLIST (favHearthChecklist) ═════════ */
.fs-ht-ck{padding:var(--fs-space-section, clamp(2.5rem,6vw,4rem)) clamp(1rem,4vw,2.5rem);}
.fs-ht-ck-head{max-width:var(--fs-layout-max,64rem);margin:0 auto 1.6rem;}
.fs-ht-ck-card{
  position:relative;max-width:var(--fs-layout-max,64rem);margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(1rem,3vw,2.4rem);
  padding:clamp(1.4rem,3vw,2.2rem);
  background:rgb(var(--c-paper-soft));
  border-radius:var(--fs-radius-card, .75rem);
  box-shadow:var(--fs-shadow-card, 0 8px 22px -10px rgb(var(--c-ink-950) / .3));
}
.fs-ht-ck-card::before{
  content:'';position:absolute;inset:.65rem;
  border:1.5px dashed rgb(var(--c-ink-950) / .2);
  border-radius:calc(var(--fs-radius-card, .75rem) - .2rem);
  pointer-events:none;
}
.fs-ht-ck-card::after{
  content:'';position:absolute;top:0;right:0;
  border-width:0 1.9rem 1.9rem 0;border-style:solid;
  border-color:transparent rgb(var(--c-brand-600) / .55) transparent transparent;filter:drop-shadow(-1px 1px 0 rgb(var(--c-ink-950) / .18));
  pointer-events:none;
}
@media (max-width:760px){.fs-ht-ck-card{grid-template-columns:1fr;gap:.2rem;}}
.fs-ht-ck-col{list-style:none;margin:0;padding:.4rem;display:flex;flex-direction:column;gap:.7rem;}
.fs-ht-ck-item{
  display:flex;align-items:flex-start;gap:.65rem;
  font-size:.95rem;line-height:1.5;color:rgb(var(--c-ink-950));
}
.fs-ht-ck-tick{
  flex:none;margin-top:.18rem;width:1rem;height:1rem;border-radius:999px;
  background:rgb(var(--c-accent, var(--c-brand-600)) / .28);
  position:relative;
}
.fs-ht-ck-tick::after{
  content:'';position:absolute;left:.31rem;top:.14rem;
  width:.26rem;height:.5rem;
  border:solid rgb(var(--c-brand-600));border-width:0 2px 2px 0;
  transform:rotate(42deg);
}
.fs-ht-ck-note{
  max-width:var(--fs-layout-max,64rem);margin:1.1rem auto 0;
  font-size:.88rem;line-height:1.6;color:rgb(var(--c-ink-400));
}
.fs-ht-wire .fs-ht-ck-card{clip-path:none;box-shadow:none;}
.fs-ht-wire .fs-ht-ck-card::before,.fs-ht-wire .fs-ht-ck-card::after,
.fs-ht-wire .fs-ht-ck-tick::after{display:none;}

/* ═════════ CTA (favHearthCta) ═════════ */
.fs-ht-cta{padding:var(--fs-space-section, clamp(2.5rem,6vw,4rem)) clamp(1rem,4vw,2.5rem);}
.fs-ht-cta-panel{
  position:relative;max-width:min(54rem, var(--fs-layout-clamp, 54rem));margin:0 auto;
  padding:clamp(1.8rem,4.5vw,3rem);
  background:rgb(var(--c-brand-50));
  border-radius:var(--fs-radius-card, .75rem);
  box-shadow:var(--fs-shadow-lift, 0 26px 50px -22px rgb(var(--c-ink-950) / .4));
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.fs-ht-cta-panel::after{
  content:'';position:absolute;top:0;right:0;
  border-width:0 1.9rem 1.9rem 0;border-style:solid;
  border-color:transparent rgb(var(--c-brand-600) / .6) transparent transparent;filter:drop-shadow(-1px 1px 0 rgb(var(--c-ink-950) / .18));
  pointer-events:none;
}
.fs-ht-cta-hem{
  position:absolute;inset:.7rem;
  border:1.5px dashed rgb(var(--c-ink-950) / .22);
  border-radius:calc(var(--fs-radius-card, .75rem) - .2rem);
  pointer-events:none;
}
.fs-ht-cta-title{margin-top:1rem;font-size:clamp(1.8rem,3.6vw,2.7rem);}
.fs-ht-cta-sub{max-width:34rem;}
.fs-ht-cta-phone{
  margin-top:1rem;
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(1.6rem,3.4vw,2.4rem);
  font-weight:600;letter-spacing:.01em;
  color:rgb(var(--c-brand-600));
}
.fs-ht-cta-actions{margin-top:1.1rem;justify-content:center;}
/* ink-700, not ink-400: the muted ink is solved for contrast against
   the page background and surface, but this note sits on the brand-50
   panel, where it measured 4.39:1 in light mode — just under AA for
   text this size. ink-700 puts it at 4.65:1. */
.fs-ht-cta-note{
  margin-top:.9rem;
  font-size:.78rem;font-weight:650;letter-spacing:.05em;
  color:rgb(var(--c-ink-700));
}
.fs-ht-wire .fs-ht-cta-panel{clip-path:none;box-shadow:none;background:transparent;}
.fs-ht-wire .fs-ht-cta-panel::after,.fs-ht-wire .fs-ht-cta-hem{display:none;}

/* Motion discipline: nothing in the set moves without input. */
@media (prefers-reduced-motion: reduce){
  .fs-ht,.fs-ht *,.fs-ht *::before,.fs-ht *::after{
    animation:none !important;transition:none !important;
  }
}

/* ═════════ FOOTER (favHearthFooter) ═════════
   Linen's own footer — a woven ground (the family's fine cross-hatch
   texture) with a stitched top edge, a folded-corner business card
   (name / statement / address / phone·email) and three columns (What
   we do / Office hours / Trust), with a legal row beneath carrying the
   platform's legal links. Ported from the mockup's '.n-ftr' family
   (docs/superpowers/specs/2026-09-27-theme-chrome-mockup.html, lines
   671-678, rules 280-369). UNSCOPED, like the rest of this file (see
   the header note above) — a family block, theme-locked by
   themeBlocks/FOOTER_REGION_TYPES rather than by a [data-fs-theme]
   prefix (ledger ruling R1). '--ln-stitch' is Linen's own theme-local
   token (linen-chrome-styles.ts) — safe to read unscoped here because
   this block only ever renders under that theme (R1's own reasoning,
   the same one favBillFooter's '--ll-gilt'/'--ll-hot' already rely on).
   Every heading, paragraph, link and the address carry their own class
   (R18) rather than a descendant selector, so EditWpClient's global
   typography ramp ('.fs-typo h5:not([class])' / 'p:not([class])' /
   'a:not([class])') never has a bare element to restyle. */
.fs-ht-ft{
  position:relative;
  background-color:rgb(var(--c-paper-soft));
  background-image:
    repeating-linear-gradient(0deg,rgb(var(--c-brand-600) / .055) 0 2px,transparent 2px 5px),
    repeating-linear-gradient(90deg,rgb(var(--c-brand-600) / .055) 0 2px,transparent 2px 5px);
  border-top:1px solid rgb(var(--c-ink-950) / .15);
  container-type:inline-size;
}
.fs-ht-ft::before{
  content:'';position:absolute;left:0;right:0;top:6px;
  border-top:1.5px dashed rgb(var(--ln-stitch, var(--c-accent)) / .75);
  pointer-events:none;
}
.fs-ht-ft-grid{
  max-width:var(--fs-layout-max,74rem);margin:0 auto;
  padding:clamp(2.5rem,6vw,52px) clamp(1rem,4vw,2.5rem) 34px;
  display:grid;grid-template-columns:1.35fr 1fr 1fr 1.1fr;gap:34px;
}
.fs-ht-ft-card{
  position:relative;align-self:start;padding:24px;
  background:rgb(var(--c-paper));
  border-radius:14px 0 14px 14px;
  box-shadow:0 14px 30px -14px rgb(var(--c-ink-950) / .45);
}
/* The dog-ear fold — the same treatment as .fs-ht-frame::after and
   every other card in the set (see the DOG-EAR note above), except the
   fold sits against the CARD's own surface rather than the page. */
.fs-ht-ft-card::after{
  content:'';position:absolute;top:0;right:0;width:24px;height:24px;
  background:linear-gradient(225deg,rgb(var(--c-paper-soft)) 50%,color-mix(in srgb, rgb(var(--c-paper-soft)), rgb(var(--c-ink-950)) 10%) 50%);
  border-bottom-left-radius:4px;
}
/* The business name — replaces the mockup's SVG wordmark, since this
   block ships to any business, not just Linen's own demo (same reason
   Gauge's .fs-gg-ft-company and Bill's .fs-bl-ft-name exist). Set in
   the display face at 22px, distinct from the italic statement below. */
.fs-ht-ft-name{
  margin:0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:22px;line-height:1.2;font-weight:600;
  color:rgb(var(--c-ink-950));
}
.fs-ht-ft-statement{
  margin-top:14px;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-style:italic;font-weight:400;font-size:18px;line-height:1.35;
  color:rgb(var(--c-ink-950));
}
.fs-ht-ft-address{margin-top:10px;font-style:normal;font-size:14px;color:rgb(var(--c-ink-700));}
.fs-ht-ft-contact{margin-top:12px;font-size:14px;color:rgb(var(--c-ink-950));}
.fs-ht-ft-contact b{font-size:16px;}

.fs-ht-ft-h5{
  margin:0 0 12px;padding-bottom:8px;
  border-bottom:1.5px dashed rgb(var(--ln-stitch, var(--c-accent)) / .75);
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:19px;font-weight:500;line-height:1.2;
  color:rgb(var(--c-ink-950));
}
.fs-ht-ft-col ul{list-style:none;margin:0;padding:0;}
.fs-ht-ft-col li{padding-block:5px;font-size:14.5px;}
.fs-ht-ft-link{color:rgb(var(--c-ink-950));text-decoration:none;}
.fs-ht-ft-link:hover{text-decoration:underline dashed rgb(var(--ln-stitch, var(--c-accent)) / .75);}
/* Generic column paragraph — the mockup's own '.n-fcol p' is a single
   uniform rule for every plain paragraph in a column (hours, trust);
   the quote gets its own additional class below for the italic/brand
   override, exactly as the mockup layers '.n-quote' on top of it. */
.fs-ht-ft-colp{margin:0;font-size:14.5px;color:rgb(var(--c-ink-950));}
.fs-ht-ft-colp + .fs-ht-ft-colp{margin-top:8px;}
.fs-ht-ft-quote{
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-style:italic;font-weight:400;font-size:17px;line-height:1.35;
  color:rgb(var(--c-brand-600));
}

.fs-ht-ft-legal{
  max-width:var(--fs-layout-max,74rem);margin:0 auto;
  display:flex;flex-wrap:wrap;gap:8px 18px;
  padding:14px clamp(1rem,4vw,2.5rem) 26px;
  border-top:1px solid rgb(var(--c-ink-950) / .15);
  font-size:13px;color:rgb(var(--c-ink-700));
}
.fs-ht-ft-legallink{color:inherit;text-decoration:none;}
.fs-ht-ft-legallink:hover{color:rgb(var(--c-ink-950));}

@container (max-width: 48rem){
  .fs-ht-ft-grid{grid-template-columns:1fr;gap:26px;padding:38px clamp(1rem,4vw,2.5rem) 26px;}
}


.fs-gu{
  position:relative;overflow:hidden;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-gu *{box-sizing:border-box;}

/* ── Shared motifs ──────────────────────────────────────────────
   The gilt double rule, with a small enamel oval at its centre. */
.fs-gu-rule{
  position:relative;height:7px;border:none;margin:0;
  border-top:1px solid rgb(var(--c-accent, var(--c-brand-600)) / .75);
  border-bottom:1px solid rgb(var(--c-accent, var(--c-brand-600)) / .75);
  background:transparent;
}
.fs-gu-rule::after{
  content:'';position:absolute;left:50%;top:50%;
  width:1rem;height:.55rem;transform:translate(-50%,-50%);
  border-radius:999px;
  background:rgb(var(--c-paper));
  border:1.5px solid rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-gu-wire .fs-gu-rule::after{border-color:rgb(var(--c-ink-400));}

/* The stadium lozenge eyebrow — an enamel sign label. */
.fs-gu-eyebrow{
  display:inline-flex;align-items:center;
  padding:.45rem 1.15rem;
  border-radius:999px;
  border:1.5px solid rgb(var(--c-accent, var(--c-brand-600)) / .8);
  color:rgb(var(--c-ink-950));
  font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
}

/* The est. oval badge. */
.fs-gu-oval{
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  padding:.7rem 1.5rem;
  border-radius:50%;
  background:rgb(var(--c-brand-600));
  color:rgb(var(--c-paper));
  font-family:var(--font-display, Georgia, serif);
  font-size:.82rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  white-space:nowrap;
}
.fs-gu-oval::after{
  content:'';position:absolute;inset:4px;border-radius:50%;
  border:1px solid rgb(var(--c-paper) / .8);
}

/* ── Type ─────────────────────────────────────────────────────── */
.fs-gu-title{
  margin:1.2rem 0 0;
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(2.2rem,5vw,3.6rem);
  line-height:1.12;font-weight:700;letter-spacing:.002em;
  color:rgb(var(--c-ink-950));
  text-wrap:balance;
}
.fs-gu-accent{color:rgb(var(--c-brand-600));}
.fs-gu-sub{
  margin:1.3rem 0 0;max-width:54ch;
  font-size:clamp(1rem,1.5vw,1.12rem);line-height:1.72;
  color:rgb(var(--c-ink-700));
}
.fs-gu-h{
  margin:0;
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(1.75rem,3.3vw,2.5rem);
  line-height:1.15;font-weight:700;
  color:rgb(var(--c-ink-950));
  text-wrap:balance;
}

/* ── Buttons — twin-border, engraved ────────────────────────────── */
.fs-gu-ctas{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2rem;align-items:center;}
.fs-gu-btn{
  position:relative;
  display:inline-flex;align-items:center;justify-content:center;
  padding:.95rem 1.9rem;
  border-radius:var(--fs-radius-control, .4rem);
  font-size:.92rem;font-weight:700;letter-spacing:.05em;line-height:1;white-space:nowrap;
  color:#fff;
  background:rgb(var(--c-brand-600));
  box-shadow:inset 0 0 0 1px rgb(var(--c-paper) / .55), inset 0 0 0 4px rgb(var(--c-brand-600)), var(--fs-shadow-card, 0 10px 26px rgb(var(--c-ink-950) / .16));
  transition:transform .2s ease, filter .2s ease;
}
.fs-gu-btn:hover{transform:translateY(-2px);filter:brightness(1.08);}
.fs-gu-btn2{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.95rem 1.9rem;
  border-radius:var(--fs-radius-control, .4rem);
  font-size:.92rem;font-weight:700;letter-spacing:.05em;line-height:1;white-space:nowrap;
  color:rgb(var(--c-brand-600));
  background:transparent;
  border:1.5px solid rgb(var(--c-brand-600));
  box-shadow:inset 0 0 0 3px rgb(var(--c-paper)), inset 0 0 0 4px rgb(var(--c-brand-600) / .5);
  transition:background .2s ease;
}
.fs-gu-btn2:hover{background:rgb(var(--c-brand-600) / .08);}
.fs-gu-btn:focus-visible,.fs-gu-btn2:focus-visible{
  outline:3px solid rgb(var(--c-brand-600));outline-offset:2px;
}
.fs-gu-wire .fs-gu-btn{box-shadow:none;}

/* ═════════ HERO (favGuildHero) ═════════
   The shopfront: copy beside an oval portrait window, the practice
   plaque overlapping its lower corner. */
.fs-gu-hero{padding:var(--fs-space-section, clamp(3.5rem,8vw,6rem)) clamp(1rem,4vw,2.5rem);}
.fs-gu-hero-inner{
  position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(2rem,5vw,4.5rem);align-items:center;
}
@media (max-width:920px){.fs-gu-hero-inner{grid-template-columns:minmax(0,1fr);gap:3.2rem;}}
.fs-gu-hero-proof{
  display:flex;flex-wrap:wrap;gap:1rem 1.6rem;margin-top:2rem;align-items:center;
}
.fs-gu-hero-proof-item{
  display:flex;align-items:baseline;gap:.5rem;
  font-size:.92rem;font-weight:600;color:rgb(var(--c-ink-700));
}
.fs-gu-hero-proof-item::before{
  content:'';width:.6rem;height:.38rem;border-radius:999px;flex:none;
  align-self:center;
  border:1.5px solid rgb(var(--c-accent, var(--c-brand-600)));
}
/* The oval portrait window over a keyline backplate. */
.fs-gu-hero-stage{position:relative;display:flex;justify-content:center;padding:1.5rem 0 3rem;}
.fs-gu-hero-back{
  position:absolute;inset:0 8% 1.4rem;pointer-events:none;
  border:1.5px solid rgb(var(--c-accent, var(--c-brand-600)) / .55);
  border-radius:var(--fs-radius-card, .6rem);
}
.fs-gu-window{
  position:relative;z-index:1;
  width:min(21rem, 84%);aspect-ratio:4 / 4.7;
  border-radius:50%;
  overflow:hidden;
  background:rgb(var(--c-paper-soft));
  box-shadow:0 0 0 3px rgb(var(--c-accent, var(--c-brand-600))), 0 0 0 7px rgb(var(--c-paper)), 0 0 0 8.5px rgb(var(--c-accent, var(--c-brand-600)) / .6), var(--fs-shadow-card, 0 18px 44px rgb(var(--c-ink-950) / .16));
}
.fs-gu-window img{width:100%;height:100%;object-fit:cover;}
.fs-gu-window > *{width:100%;height:100%;}
/* No image: layered heritage-interior fallback. */
.fs-gu-window-fallback{
  display:block;width:100%;height:100%;
  background:
    radial-gradient(120% 90% at 50% 0%, rgb(var(--c-brand-600) / .16) 0 46%, transparent 47%),
    linear-gradient(180deg, transparent 0 58%, rgb(var(--c-brand-600) / .55) 58% 100%),
    rgb(var(--c-paper-soft));
}
/* The practice plaque, pinned over the window's lower edge. */
.fs-gu-hero-plaque{
  position:absolute;z-index:2;left:4%;bottom:0;
  min-width:14rem;max-width:88%;
  padding:1rem 1.3rem 1.05rem;
  border-radius:var(--fs-radius-card, .5rem);
  background:rgb(var(--c-accent, var(--c-brand-600)));
  color:rgb(var(--c-paper));
  box-shadow:var(--fs-shadow-lift, 0 14px 34px rgb(var(--c-ink-950) / .2));
  overflow:hidden;
}
.fs-gu-hero-plaque::before{
  content:'';position:absolute;inset:5px;border-radius:inherit;
  border:1px solid rgb(var(--c-paper) / .65);pointer-events:none;
}
/* The glint: a soft light band sweeping the plaque now and then.
   Compositor-only transform; killed under reduced motion. */
.fs-gu-hero-plaque::after{
  content:'';position:absolute;top:-30%;bottom:-30%;left:-25%;width:18%;
  background:linear-gradient(105deg, transparent, rgb(255 255 255 / .28), transparent);
  transform:translateX(-120%) rotate(8deg);
}
.fs-gu-anim .fs-gu-hero-plaque::after{animation:fs-gu-glint 7s ease-in-out infinite;}
@keyframes fs-gu-glint{
  0%, 74%{transform:translateX(-120%) rotate(8deg);}
  88%{transform:translateX(820%) rotate(8deg);}
  100%{transform:translateX(820%) rotate(8deg);}
}
@media (prefers-reduced-motion: reduce){
  .fs-gu,.fs-gu *{animation:none !important;transition:none !important;}
  .fs-gu .fs-gu-hero-plaque::after{display:none;}
}
.fs-gu-hero-plaque-name{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.08rem;font-weight:700;letter-spacing:.03em;
}
.fs-gu-hero-plaque-sub{
  margin-top:.3rem;
  font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  opacity:.9;
}
.fs-gu-wire .fs-gu-hero-plaque{background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));box-shadow:none;}
.fs-gu-wire .fs-gu-hero-plaque::after{display:none;}
.fs-gu-wire .fs-gu-window{box-shadow:none;border:1.5px solid rgb(var(--c-ink-400));}
.fs-gu-wire .fs-gu-window-fallback,.fs-gu-wire .fs-gu-hero-back{display:none;}

/* ═════════ PAGE HEADER (favGuildHeader) ═════════
   Centred, closed by the gilt double rule — the top of a letterhead. */
.fs-gu-hd{padding:var(--fs-space-section, clamp(3rem,7vw,4.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-gu-hd-inner{
  position:relative;max-width:min(52rem, var(--fs-layout-clamp, 52rem));margin:0 auto;text-align:center;
  display:flex;flex-direction:column;align-items:center;
}
.fs-gu-hd .fs-gu-title{font-size:clamp(2rem,4.4vw,3.2rem);}
.fs-gu-hd .fs-gu-sub{margin-left:auto;margin-right:auto;}
.fs-gu-hd-rule{width:min(20rem, 70%);margin-top:2rem;}

/* ═════════ TREATMENT MAP (favGuildMap) ═════════
   The signature interactive: an illustrated diagram whose regions
   highlight on hover/focus and drive the detail card beside it. */
.fs-gu-mp{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-gu-mp-head{max-width:var(--fs-layout-max,72rem);margin:0 auto 2.4rem;}
.fs-gu-mp-grid{
  max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(1.8rem,4vw,3.4rem);align-items:center;
}
@media (max-width:920px){.fs-gu-mp-grid{grid-template-columns:minmax(0,1fr);}}
.fs-gu-mp-stage{position:relative;}
.fs-gu-mp-svg{display:block;width:100%;height:auto;}
/* Region hotspots are real buttons rendered as SVG groups. */
.fs-gu-mp-region{cursor:pointer;}
.fs-gu-mp-region .fs-gu-mp-fill{
  fill:rgb(var(--c-brand-600) / .1);
  stroke:rgb(var(--c-brand-600) / .55);stroke-width:1.6;
  transition:fill .2s ease, stroke .2s ease;
}
.fs-gu-mp-region:hover .fs-gu-mp-fill,
.fs-gu-mp-region[data-active="1"] .fs-gu-mp-fill{
  fill:rgb(var(--c-brand-600) / .32);
  stroke:rgb(var(--c-brand-600));
}
.fs-gu-mp-region:focus-visible{outline:none;}
.fs-gu-mp-region:focus-visible .fs-gu-mp-fill{
  stroke:rgb(var(--c-brand-600));stroke-width:3;
  fill:rgb(var(--c-brand-600) / .32);
}
.fs-gu-mp-region text{
  font-family:var(--font-display, Georgia, serif);
  font-size:15px;font-weight:700;letter-spacing:.05em;
  fill:rgb(var(--c-ink-700));
}
.fs-gu-mp-region:hover text,
.fs-gu-mp-region[data-active="1"] text{fill:rgb(var(--c-brand-600));}
.fs-gu-mp-gum{fill:none;stroke:rgb(var(--c-accent, var(--c-brand-600)) / .8);stroke-width:2;stroke-dasharray:1 7;stroke-linecap:round;}
/* The detail card — an enamel-sign panel. */
.fs-gu-mp-card{
  position:relative;
  padding:1.6rem 1.7rem 1.7rem;
  border-radius:var(--fs-radius-card, .6rem);
  background:rgb(var(--c-paper));
  border:1.5px solid rgb(var(--c-accent, var(--c-brand-600)) / .7);
  box-shadow:var(--fs-shadow-card, 0 16px 40px rgb(var(--c-ink-950) / .12));
}
.fs-gu-mp-card::before{
  content:'';position:absolute;inset:6px;border-radius:inherit;pointer-events:none;
  border:1px solid rgb(var(--c-accent, var(--c-brand-600)) / .35);
}
.fs-gu-mp-card-region{
  font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  color:rgb(var(--c-brand-600));
}
.fs-gu-mp-card-t{
  margin-top:.45rem;
  font-family:var(--font-display, Georgia, serif);
  font-size:1.5rem;font-weight:700;color:rgb(var(--c-ink-950));
}
.fs-gu-mp-card-b{margin-top:.6rem;font-size:.94rem;line-height:1.65;color:rgb(var(--c-ink-700));}
.fs-gu-mp-card-s{margin-top:.8rem;font-size:.88rem;line-height:1.6;font-weight:600;color:rgb(var(--c-ink-700));}
.fs-gu-mp-card .fs-gu-rule{margin:1.1rem 0;}
.fs-gu-mp-card-price{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;}
.fs-gu-mp-card-price-l{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgb(var(--c-ink-400));}
.fs-gu-mp-card-price-v{
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(1.6rem,3vw,2.1rem);line-height:1;font-weight:700;
  color:rgb(var(--c-brand-600));
}
.fs-gu-mp-note{margin-top:1rem;font-size:.8rem;line-height:1.55;color:rgb(var(--c-ink-400));}
.fs-gu-mp-card .fs-gu-ctas{margin-top:1.2rem;}
.fs-gu-wire .fs-gu-mp-card{box-shadow:none;}

/* ═════════ HERITAGE STRIP (favGuildHeritage) ═════════
   Four milestones on a keyline, oval nodes, years in the display face. */
.fs-gu-ht{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-gu-ht-head{max-width:var(--fs-layout-max,72rem);margin:0 auto 2.6rem;text-align:center;display:flex;flex-direction:column;align-items:center;}
.fs-gu-ht-grid{
  position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:repeat(4, minmax(0,1fr));
  gap:clamp(1.2rem,2.5vw,2rem);
}
.fs-gu-ht-grid::before{
  content:'';position:absolute;left:2%;right:2%;top:.55rem;
  border-top:1px solid rgb(var(--c-accent, var(--c-brand-600)) / .6);
}
@media (max-width:920px){
  .fs-gu-ht-grid{grid-template-columns:minmax(0,1fr);max-width:26rem;gap:2rem;}
  .fs-gu-ht-grid::before{display:none;}
}
.fs-gu-ht-item{position:relative;padding-top:1.6rem;}
.fs-gu-ht-item::before{
  content:'';position:absolute;left:0;top:0;
  width:1.1rem;height:.7rem;border-radius:999px;
  background:rgb(var(--c-paper));
  border:1.5px solid rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-gu-ht-y{
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(1.6rem,3vw,2.1rem);line-height:1;font-weight:700;
  color:rgb(var(--c-brand-600));
}
.fs-gu-ht-t{
  margin-top:.5rem;
  font-size:.95rem;font-weight:700;color:rgb(var(--c-ink-950));
}
.fs-gu-ht-b{margin-top:.4rem;font-size:.88rem;line-height:1.6;color:rgb(var(--c-ink-700));}

/* ═════════ CTA (favGuildCta) ═════════
   The letterpress band: ink panel, twin gilt keylines, oval badge. */
.fs-gu-ct{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-gu-ct-band{
  position:relative;max-width:var(--fs-layout-max,64rem);margin:0 auto;
  padding:clamp(2.4rem,5vw,3.6rem) clamp(1.5rem,4vw,3.2rem);
  border-radius:var(--fs-radius-card, .6rem);
  background:rgb(var(--c-ink-950));
  color:rgb(var(--c-paper));
  text-align:center;
}
.fs-gu-ct-band::before{
  content:'';position:absolute;inset:9px;border-radius:inherit;pointer-events:none;
  border:1px solid rgb(var(--c-accent, var(--c-brand-600)) / .8);
}
.fs-gu-ct-band::after{
  content:'';position:absolute;inset:14px;border-radius:inherit;pointer-events:none;
  border:1px solid rgb(var(--c-accent, var(--c-brand-600)) / .35);
}
.fs-gu-ct-band .fs-gu-eyebrow{
  border-color:rgb(var(--c-accent, var(--c-brand-600)) / .9);
  color:rgb(var(--c-paper));
}
.fs-gu-ct-band .fs-gu-title{color:rgb(var(--c-paper));}
.fs-gu-ct-band .fs-gu-accent{color:rgb(var(--c-accent, var(--c-brand-600)));filter:brightness(1.35) saturate(.9);}
.fs-gu-ct-band .fs-gu-sub{color:rgb(var(--c-paper) / .82);margin-left:auto;margin-right:auto;}
.fs-gu-ct-phone{
  margin-top:1.5rem;
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(1.9rem,4.4vw,2.9rem);line-height:1;font-weight:700;letter-spacing:.02em;
}
.fs-gu-ct-band .fs-gu-ctas{justify-content:center;}
.fs-gu-ct-band .fs-gu-btn{
  background:rgb(var(--c-accent, var(--c-brand-600)));
  color:rgb(var(--c-ink-950));
  box-shadow:inset 0 0 0 1px rgb(var(--c-ink-950) / .35), inset 0 0 0 4px rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-gu-ct-band .fs-gu-btn2{
  color:rgb(var(--c-paper));
  border-color:rgb(var(--c-paper) / .6);
  box-shadow:none;
}
.fs-gu-ct-band .fs-gu-btn2:hover{background:rgb(var(--c-paper) / .08);}
.fs-gu-ct-note{
  margin-top:1.4rem;
  font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:rgb(var(--c-paper) / .65);
}
/* Dark pages: ink-950 flips light, which would turn the band into an
   ivory panel and wash the gilt accent out on it. Keep the band a
   raised DARK surface instead, with the light ink for type — the twin
   gilt keylines still carry the letterpress identity. */
/* :is(.dark *):not(.fs-preview-light *), not ".dark ANCESTOR" -- the
   ambient .dark on <html> (layout.tsx's boot script, the visitor's OS
   preference) is not this SITE's resolved mode; siteShell() marks the
   site wrapper .dark or .fs-preview-light correctly, and this rule
   used to fire on a LIGHT site for any dark-OS visitor. Same fix as
   LedgerLite (2026-09-03) and the pattern member-prime already uses. */
.fs-gu-ct-band:is(.dark *):not(.fs-preview-light *){background:rgb(var(--c-paper-soft));}
.fs-gu-ct-band:is(.dark *):not(.fs-preview-light *) .fs-gu-title,
.fs-gu-ct-band:is(.dark *):not(.fs-preview-light *) .fs-gu-eyebrow,
.fs-gu-ct-band:is(.dark *):not(.fs-preview-light *) .fs-gu-ct-phone{color:rgb(var(--c-ink-950));}
.fs-gu-ct-band:is(.dark *):not(.fs-preview-light *) .fs-gu-sub{color:rgb(var(--c-ink-700));}
.fs-gu-ct-band:is(.dark *):not(.fs-preview-light *) .fs-gu-accent{filter:none;}
.fs-gu-ct-band:is(.dark *):not(.fs-preview-light *) .fs-gu-btn{color:rgb(var(--c-paper));box-shadow:inset 0 0 0 1px rgb(var(--c-paper) / .4), inset 0 0 0 4px rgb(var(--c-accent, var(--c-brand-600)));}
.fs-gu-ct-band:is(.dark *):not(.fs-preview-light *) .fs-gu-btn2{color:rgb(var(--c-ink-950));border-color:rgb(var(--c-ink-950) / .55);}
.fs-gu-ct-band:is(.dark *):not(.fs-preview-light *) .fs-gu-btn2:hover{background:rgb(var(--c-ink-950) / .08);}
.fs-gu-ct-note:is(.dark *):not(.fs-preview-light *){color:rgb(var(--c-ink-400));}
.fs-gu-wire .fs-gu-ct-band{background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));}
.fs-gu-wire .fs-gu-ct-band .fs-gu-title,.fs-gu-wire .fs-gu-ct-band .fs-gu-eyebrow{color:rgb(var(--c-ink-950));}
.fs-gu-wire .fs-gu-ct-band .fs-gu-sub{color:rgb(var(--c-ink-700));}

/* ── favGuildFooter (theme-chrome batch 2, Enamel) ─────────────────
   The band is the full-bleed container fs-gu-ft; the content box is the
   named container fs-gu-ft-in, which narrows with the site's Layout. */
.fs-gu-ft{container-type:inline-size;container-name:fs-gu-ft;padding:0 clamp(1rem,4vw,2.5rem);background:rgb(var(--c-paper-soft));--gu-ft-gilt:rgb(var(--c-accent, var(--c-brand-600)));--gu-ft-gilt-r:rgb(var(--c-accent, var(--c-brand-600)) / .75);--gu-ft-sub:color-mix(in srgb, rgb(var(--c-ink-950)) 77%, rgb(var(--c-paper)));--gu-ft-rule:rgb(var(--c-ink-950) / .15);--gu-ft-plaque:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 62%, rgb(var(--c-ink-950)))}
.fs-gu-ft:is(.dark *):not(.fs-preview-light *){--gu-ft-gilt-r:rgb(var(--c-accent, var(--c-brand-600)) / .7);--gu-ft-sub:color-mix(in srgb, rgb(var(--c-ink-950)) 70%, rgb(var(--c-paper)));--gu-ft-plaque:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-gu-ft-in{container-type:inline-size;container-name:fs-gu-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:54px 28px}
.fs-gu-ft-plate{display:flex;align-items:center;}
.fs-gu-ft-fr{flex:1 1 0;min-width:20px;height:7px;background:linear-gradient(var(--gu-ft-gilt-r),var(--gu-ft-gilt-r)) 0 0/100% 1px no-repeat,linear-gradient(var(--gu-ft-gilt-r),var(--gu-ft-gilt-r)) 0 6px/100% 1px no-repeat;}
.fs-gu-ft-plaque{position:relative;overflow:hidden;flex:none;max-width:78%;padding:16px 30px 15px;text-align:center;background:var(--gu-ft-plaque);color:rgb(var(--c-paper));box-shadow:0 14px 30px -16px rgb(0 0 0 / .55);}
.fs-gu-ft-plaque::before{content:'';position:absolute;inset:5px;border:1px solid rgb(var(--c-paper) / .62);pointer-events:none;}
.fs-gu-ft-plaque::after{content:'';position:absolute;top:-30%;bottom:-30%;left:-25%;width:18%;background:linear-gradient(105deg,transparent,rgb(255 255 255 / .2),transparent);transform:translateX(-120%) rotate(8deg);pointer-events:none;}
.fs-gu-anim .fs-gu-ft-plaque::after{animation:fs-gu-ft-glint 7s ease-in-out infinite;}
.fs-gu-ft-plaque>*{position:relative;}
.fs-gu-ft-name{margin:0;font-family:var(--font-display, Georgia, serif);font-size:22px;font-weight:700;line-height:1.15;letter-spacing:.03em;}
.fs-gu-ft-sub{margin:6px 0 0;font-size:11px;font-weight:700;line-height:1.3;letter-spacing:.16em;text-transform:uppercase;}
.fs-gu-ft-state{max-width:38rem;margin:18px auto 0;text-align:center;font-family:var(--font-display, Georgia, serif);font-style:italic;font-weight:400;font-size:17px;line-height:1.5;color:var(--gu-ft-sub);text-wrap:balance;}
.fs-gu-ft-cols{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,.85fr) minmax(0,1.05fr);margin:42px 0 0;}
.fs-gu-ft-col{position:relative;min-width:0;padding:30px 28px 6px 0;background:linear-gradient(var(--gu-ft-gilt-r),var(--gu-ft-gilt-r)) 0 8px/100% 1px no-repeat;}
.fs-gu-ft-col::before{content:'';position:absolute;left:0;top:3px;width:18px;height:11px;border-radius:50%;background:rgb(var(--c-paper-soft));border:1.5px solid var(--gu-ft-gilt);}
.fs-gu-ft-h{margin:0;font-family:var(--font-display, Georgia, serif);font-size:19px;font-weight:700;line-height:1.2;color:rgb(var(--c-brand-text));}
.fs-gu-ft-p{margin:9px 0 0;font-size:15px;line-height:1.55;color:var(--gu-ft-sub);overflow-wrap:anywhere;}
.fs-gu-ft-tel{display:inline-block;margin:9px 0 0;font-family:var(--font-display, Georgia, serif);font-size:21px;font-weight:700;line-height:1.2;letter-spacing:.02em;color:rgb(var(--c-ink-950));text-decoration:none;}
.fs-gu-ft-mail{color:inherit;text-decoration:none;}
.fs-gu-ft-link:hover,.fs-gu-ft-mail:hover{text-decoration:underline 1px var(--gu-ft-gilt);text-underline-offset:4px;}
.fs-gu-ft-list{list-style:none;margin:5px 0 0;padding:0;font-size:15px;}
.fs-gu-ft-li{padding-block:3px;line-height:1.5;}
.fs-gu-ft-link{color:rgb(var(--c-ink-950));text-decoration:none;}
.fs-gu-ft-hours{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:9px 0 0;font-size:15px;}
.fs-gu-ft-hrow{display:contents;}
.fs-gu-ft-dt{margin:0;color:rgb(var(--c-ink-950));font-weight:500;}
.fs-gu-ft-dd{margin:0;color:var(--gu-ft-sub);}
.fs-gu-ft-legal{display:flex;flex-wrap:wrap;gap:6px 20px;margin:40px 0 0;padding-top:16px;border-top:1px solid var(--gu-ft-rule);font-size:13.5px;color:var(--gu-ft-sub);}
.fs-gu-ft-legal-t{margin-right:auto;color:inherit;}
.fs-gu-ft-legal-a{color:inherit;text-decoration:none;}
.fs-gu-ft-legal-a:hover{color:rgb(var(--c-ink-950));}
@container fs-gu-ft (max-width: 40rem){
  .fs-gu-ft-in{padding-block:40px 24px}
}
@container fs-gu-ft-in (max-width: 56rem){
  .fs-gu-ft-cols{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:22px}
}
@container fs-gu-ft (max-width: 48rem){
  .fs-gu-ft-cols{grid-template-columns:minmax(0,1fr);row-gap:18px;margin-top:32px}
  .fs-gu-ft-col{padding-right:0}
  .fs-gu-ft-plaque{padding:14px 22px 13px}
  .fs-gu-ft-name{font-size:20px}
  .fs-gu-ft-legal-t{margin-right:0;flex-basis:100%}
}
@keyframes fs-gu-ft-glint{0%,74%{transform:translateX(-120%) rotate(8deg)}88%,100%{transform:translateX(820%) rotate(8deg)}}
@media (prefers-reduced-motion: reduce){
  .fs-gu-ft-plaque::after{animation:none;display:none}
}


.fs-sv{
  position:relative;overflow:hidden;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-sv *{box-sizing:border-box;}
.fs-sv-num{font-variant-numeric:tabular-nums;}

/* ── Shared motifs ──────────────────────────────────────────────
   The dimension rule: hairline, tick ends, brass datum diamond. */
.fs-sv-rule{
  display:block;position:relative;height:1.5px;
  background:rgb(var(--c-ink-950) / .6);
}
.fs-sv-rule::before,.fs-sv-rule::after{
  content:'';position:absolute;top:-0.34rem;
  width:1.5px;height:.75rem;
  background:rgb(var(--c-ink-950) / .6);
}
.fs-sv-rule::before{left:0;}
.fs-sv-rule::after{right:0;}
.fs-sv-rule i{
  position:absolute;left:50%;top:50%;
  width:.55rem;height:.55rem;margin:-.275rem 0 0 -.275rem;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  transform:rotate(45deg);
}
@keyframes fs-sv-draw{from{transform:scaleX(0);}}
.fs-sv-anim .fs-sv-rule{
  transform-origin:left center;
  animation:fs-sv-draw .9s cubic-bezier(.22,.61,.36,1) both;
}
.fs-sv-wire .fs-sv-rule i{display:none;}

/* The title-block eyebrow: a drawing label, not a badge. */
.fs-sv-eyebrow{
  display:inline-flex;align-items:center;gap:.55rem;
  padding:.45rem .85rem;
  border:1.5px solid rgb(var(--c-ink-950) / .75);
  background:rgb(var(--c-paper-soft));
  font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
}
.fs-sv-eyebrow::before{
  content:'';width:.5rem;height:.5rem;flex:none;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  transform:rotate(45deg);
}
.fs-sv-wire .fs-sv-eyebrow::before{display:none;}

/* Type */
.fs-sv-title{
  margin:1.4rem 0 0;
  font-family:var(--font-display, ui-sans-serif, system-ui, sans-serif);
  font-size:clamp(2.4rem,5.5vw,4rem);
  font-weight:800;line-height:1.05;letter-spacing:-0.02em;
  text-wrap:balance;
}
.fs-sv-accent{color:rgb(var(--c-brand-600));}
.fs-sv-sub{
  margin-top:1.2rem;max-width:min(40rem, var(--fs-layout-clamp, 40rem));
  font-size:1.02rem;line-height:1.65;
  color:rgb(var(--c-ink-700));
}
.fs-sv-h{
  margin:0;
  font-family:var(--font-display, ui-sans-serif, system-ui, sans-serif);
  font-size:var(--fs-type-h2, clamp(1.75rem,3.2vw,2.5rem));
  font-weight:var(--fs-type-h2-weight, 700);
  letter-spacing:var(--fs-type-h2-tracking, -0.015em);
  line-height:var(--fs-type-h2-leading, 1.2);
  text-wrap:balance;
}

/* Buttons (spans in previews — the theme's buttonStyle covers real
   button blocks; these are the set's own drawn controls). */
.fs-sv-ctas{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem;}
.fs-sv-btn,.fs-sv-btn2{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.85rem 1.5rem;cursor:pointer;
  font-size:.92rem;font-weight:700;letter-spacing:.02em;
  transition:transform .15s ease, box-shadow .15s ease, background-color .15s ease, color .15s ease;
}
.fs-sv-btn{
  background:rgb(var(--c-brand-600));
  border:2px solid rgb(var(--c-brand-600));
  color:rgb(var(--c-paper));
}
.fs-sv-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 18px -8px rgb(var(--c-ink-950) / .45);
}
.fs-sv-btn2{
  background:transparent;
  border:2px solid rgb(var(--c-ink-950));
  color:rgb(var(--c-ink-950));
}
.fs-sv-btn2:hover{
  background:rgb(var(--c-ink-950));
  color:rgb(var(--c-paper));
}
.fs-sv-wire .fs-sv-btn,.fs-sv-wire .fs-sv-btn2{box-shadow:none;transform:none;}

/* ═════════ HERO (favSpecHero) ═════════ */
.fs-sv-hero{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-sv-hero-inner{
  position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(2rem,5vw,4rem);align-items:center;
}
@media (max-width:920px){.fs-sv-hero-inner{grid-template-columns:1fr;gap:3rem;}}
.fs-sv-hero-rule{margin-top:1.7rem;width:min(21rem,100%);}

/* The spec strip: three readings off the job sheet. */
.fs-sv-specs{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1rem;margin-top:2.2rem;padding-top:1rem;
  border-top:1.5px solid rgb(var(--c-line));
}
.fs-sv-spec{display:flex;flex-direction:column;gap:.25rem;}
.fs-sv-spec + .fs-sv-spec{border-left:1.5px solid rgb(var(--c-line));padding-left:1rem;}
.fs-sv-spec-v{
  font-family:var(--font-display, ui-sans-serif, system-ui, sans-serif);
  font-size:1.55rem;font-weight:800;letter-spacing:-0.01em;
}
.fs-sv-spec-l{
  font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
@media (max-width:520px){
  .fs-sv-specs{grid-template-columns:1fr;}
  .fs-sv-spec + .fs-sv-spec{border-left:none;padding-left:0;border-top:1.5px solid rgb(var(--c-line));padding-top:.8rem;}
}

/* The stage: a keyline frame with an offset hairline echo and the
   brass datum diamond seated on its corner. */
.fs-sv-stage{position:relative;display:flex;justify-content:center;padding:1.2rem;}
.fs-sv-frame{
  position:relative;z-index:1;
  width:min(27rem,100%);aspect-ratio:4 / 3;
  overflow:visible;
  background:rgb(var(--c-paper-soft));
  border:2px solid rgb(var(--c-ink-950));
}
.fs-sv-frame img{width:100%;height:100%;object-fit:cover;display:block;}
.fs-sv-frame > *{width:100%;height:100%;}
.fs-sv-frame-marks{
  position:absolute;inset:-.9rem;width:auto;height:auto;
  border:1.5px solid rgb(var(--c-ink-950) / .3);
  pointer-events:none;
}
.fs-sv-frame-datum{
  position:absolute;top:-1.2rem;right:-1.2rem;
  width:.65rem;height:.65rem;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  transform:rotate(45deg);
  pointer-events:none;
}
/* No image set: a drawn two-tone herringbone wash. */
.fs-sv-frame-fallback{
  display:block;position:relative;width:100%;height:100%;
  background:
    repeating-linear-gradient(45deg,
      rgb(var(--c-brand-600) / .28) 0 1.1rem,
      transparent 1.1rem 2.2rem),
    repeating-linear-gradient(-45deg,
      rgb(var(--c-brand-600) / .5) 0 1.1rem,
      rgb(var(--c-accent, var(--c-brand-600)) / .25) 1.1rem 2.2rem);
}
.fs-sv-wire .fs-sv-frame-marks,
.fs-sv-wire .fs-sv-frame-datum,
.fs-sv-wire .fs-sv-frame-fallback{display:none;}

/* ═════════ PAGE HEADER (favSpecHeader) ═════════ */
.fs-sv-hd{padding:var(--fs-space-section, clamp(2.6rem,6vw,4.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-sv-hd-inner{max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-sv-hd-title{font-size:clamp(2.1rem,4.5vw,3.4rem);}
.fs-sv-hd-rule{margin-top:1.5rem;width:10rem;}
.fs-sv-hd .fs-sv-sub{max-width:min(46rem, var(--fs-layout-clamp, 46rem));}

/* ═════════ ESTIMATOR (favSpecEstimator) ═════════
   The working instrument: chips, a ruler slider, a live figure. */
.fs-sv-est{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-sv-est-head{max-width:var(--fs-layout-max,64rem);margin:0 auto 1.8rem;}
.fs-sv-est-card{
  position:relative;max-width:var(--fs-layout-max,64rem);margin:0 auto;
  display:grid;grid-template-columns:1.15fr .85fr;
  border:2px solid rgb(var(--c-ink-950));
  background:rgb(var(--c-paper-soft));
}
.fs-sv-est-card::before{
  content:'';position:absolute;inset:-.8rem;
  border:1.5px solid rgb(var(--c-ink-950) / .28);
  pointer-events:none;
}
@media (max-width:860px){.fs-sv-est-card{grid-template-columns:1fr;}}
.fs-sv-est-controls{
  padding:clamp(1.4rem,3vw,2.2rem);
  border-right:1.5px solid rgb(var(--c-line));
  display:flex;flex-direction:column;gap:.9rem;
}
@media (max-width:860px){.fs-sv-est-controls{border-right:none;border-bottom:1.5px solid rgb(var(--c-line));}}
.fs-sv-est-legend{
  font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-sv-est-chips{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;}
@media (max-width:520px){.fs-sv-est-chips{grid-template-columns:1fr;}}
/* Chip selectors are double-classed (.fs-sv .fs-sv-est-chip) on
   purpose: the editor's typography layer styles EVERY canvas
   <button> at (0,1,1) — ".fs-typo button" reads --fs-btn-color,
   which defaults to white for filled site CTAs — so the chip needs
   (0,2,0) to keep its own ink. The label spans also carry explicit
   colour as a second line of defence. */
.fs-sv .fs-sv-est-chip{
  position:relative;
  display:flex;flex-direction:column;gap:.2rem;align-items:flex-start;text-align:left;
  padding:.7rem .85rem;cursor:pointer;
  font-family:inherit;font-size:inherit;letter-spacing:0;text-transform:none;
  border:1.5px solid rgb(var(--c-ink-950) / .55);
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
  transition:border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
}
.fs-sv .fs-sv-est-chip:hover{border-color:rgb(var(--c-brand-600));}
.fs-sv .fs-sv-est-chip[aria-pressed="true"]{
  border-color:rgb(var(--c-brand-600));
  box-shadow:inset 0 0 0 1.5px rgb(var(--c-brand-600));
  background:rgb(var(--c-brand-50));
}
/* The selected chip carries a non-colour cue too: the brass datum
   diamond on its top-right corner — same mark as the rules and logo. */
.fs-sv .fs-sv-est-chip[aria-pressed="true"]::after{
  content:'';position:absolute;top:-.3rem;right:-.3rem;
  width:.55rem;height:.55rem;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  transform:rotate(45deg);
}
.fs-sv .fs-sv-est-chip:focus-visible{
  outline:2px solid rgb(var(--c-brand-600));outline-offset:2px;
}
.fs-sv .fs-sv-est-chip-name{font-size:.92rem;font-weight:700;color:rgb(var(--c-ink-950));}
.fs-sv .fs-sv-est-chip-rate{font-size:.78rem;color:rgb(var(--c-ink-400));}
/* On the brand-50 selected tint the muted ink can drop below AA —
   step the rate up to mid ink there. */
.fs-sv .fs-sv-est-chip[aria-pressed="true"] .fs-sv-est-chip-rate{color:rgb(var(--c-ink-700));}
.fs-sv .fs-sv-est-prep{flex-direction:row;justify-content:space-between;align-items:center;width:100%;}
.fs-sv-wire .fs-sv-est-chip[aria-pressed="true"]::after{display:none;}

.fs-sv-est-arearow{
  display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-top:.4rem;
}
.fs-sv-est-areaval{
  font-family:var(--font-display, ui-sans-serif, system-ui, sans-serif);
  font-size:1.35rem;font-weight:800;
}
/* The ruler: baseline + repeating ticks; the thumb is the gauge. */
/* Tall input on purpose: the whole 2.2rem strip is the pointer target
   (WCAG 2.5.8 needs ≥24px; thumbs on phones need more), while the
   drawn ruler stays a slim baseline at the bottom of it. */
.fs-sv-est-range{
  appearance:none;-webkit-appearance:none;width:100%;height:2.2rem;margin:0;
  cursor:ew-resize;background:transparent;
  border-bottom:2px solid rgb(var(--c-ink-950));
  background-image:repeating-linear-gradient(90deg,
    rgb(var(--c-ink-950) / .45) 0 1.5px, transparent 1.5px calc(100% / 11));
  background-size:100% .55rem;
  background-position:0 bottom;
  background-repeat:no-repeat;
}
.fs-sv-est-range::-webkit-slider-thumb{
  appearance:none;-webkit-appearance:none;
  width:1.2rem;height:1.8rem;
  background:rgb(var(--c-brand-600));
  border:2px solid rgb(var(--c-paper));
  box-shadow:0 0 0 1.5px rgb(var(--c-ink-950));
  cursor:ew-resize;
}
.fs-sv-est-range::-moz-range-thumb{
  width:1.15rem;height:1.7rem;border-radius:0;
  background:rgb(var(--c-brand-600));
  border:2px solid rgb(var(--c-paper));
  box-shadow:0 0 0 1.5px rgb(var(--c-ink-950));
  cursor:ew-resize;
}
.fs-sv-est-range:focus-visible{
  outline:2px solid rgb(var(--c-brand-600));outline-offset:4px;
}
.fs-sv-est-range:disabled{cursor:default;opacity:.6;}
.fs-sv-wire .fs-sv-est-range{background-image:none;}

.fs-sv-est-result{
  padding:clamp(1.4rem,3vw,2.2rem);
  display:flex;flex-direction:column;justify-content:center;gap:.55rem;
  background:rgb(var(--c-paper));
}
.fs-sv-est-figure{
  display:block;
  font-family:var(--font-display, ui-sans-serif, system-ui, sans-serif);
  font-size:clamp(1.9rem,3.4vw,2.6rem);
  font-weight:800;letter-spacing:-0.01em;line-height:1.1;
}
.fs-sv-est-recap{
  display:block;margin-top:.3rem;
  font-size:.85rem;color:rgb(var(--c-ink-400));
}
.fs-sv-est-note{font-size:.82rem;line-height:1.5;color:rgb(var(--c-ink-400));}
.fs-sv-est-cta{margin-top:.6rem;align-self:flex-start;}

/* ═════════ PROCESS (favSpecProcess) ═════════ */
.fs-sv-pr{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-sv-pr-head{max-width:var(--fs-layout-max,72rem);margin:0 auto 2rem;}
.fs-sv-pr-grid{
  max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:var(--fs-space-gap, 1.1rem);
}
@media (max-width:980px){.fs-sv-pr-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.fs-sv-pr-grid{grid-template-columns:1fr;}}
/* Each step is a station on the measured line: hairline top, datum
   diamond at the origin, the reading number in brand. */
.fs-sv-pr-step{
  position:relative;padding-top:1.3rem;
  border-top:1.5px solid rgb(var(--c-ink-950) / .5);
}
.fs-sv-pr-step::before{
  content:'';position:absolute;top:-.3rem;left:0;
  width:.55rem;height:.55rem;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  transform:rotate(45deg);
}
.fs-sv-wire .fs-sv-pr-step::before{display:none;}
.fs-sv-pr-num{
  font-family:var(--font-display, ui-sans-serif, system-ui, sans-serif);
  font-size:.95rem;font-weight:800;letter-spacing:.12em;
  color:rgb(var(--c-brand-600));
}
.fs-sv-pr-t{
  margin:.45rem 0 .4rem;
  font-size:.95rem;font-weight:750;letter-spacing:.05em;text-transform:uppercase;
}
.fs-sv-pr-b{font-size:.92rem;line-height:1.6;color:rgb(var(--c-ink-700));}

/* ═════════ SPEC SHEET CTA (favSpecCta) ═════════ */
.fs-sv-cta{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-sv-cta-panel{
  position:relative;max-width:var(--fs-layout-max,56rem);margin:0 auto;
  padding:clamp(1.8rem,4.5vw,3.2rem);
  border:2px solid rgb(var(--c-ink-950));
  background:rgb(var(--c-paper-soft));
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.fs-sv-cta-panel::before{
  content:'';position:absolute;inset:-.8rem;
  border:1.5px solid rgb(var(--c-ink-950) / .28);
  pointer-events:none;
}
/* The datum diamond, seated on the top edge like a dimension marker. */
.fs-sv-cta-panel::after{
  content:'';position:absolute;top:-.34rem;left:50%;margin-left:-.34rem;
  width:.68rem;height:.68rem;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  transform:rotate(45deg);
}
.fs-sv-wire .fs-sv-cta-panel::before,.fs-sv-wire .fs-sv-cta-panel::after{display:none;}
.fs-sv-cta-title{margin-top:1.2rem;font-size:clamp(1.9rem,4vw,3rem);}
.fs-sv-cta-sub{max-width:36rem;}
.fs-sv-cta-phone{
  margin-top:1.1rem;
  font-family:var(--font-display, ui-sans-serif, system-ui, sans-serif);
  font-size:clamp(1.7rem,3.6vw,2.6rem);
  font-weight:800;letter-spacing:.01em;
  color:rgb(var(--c-brand-600));
}
.fs-sv-cta-actions{margin-top:1.2rem;justify-content:center;}
.fs-sv-cta-note{
  margin-top:1rem;
  font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}

/* ── favSpecFooter (theme-chrome batch 2, Vernier) ─────────────────
   fs-sv-ft: the full-bleed band (named container); fs-sv-ft-in: the
   content box, which narrows with the Layout (named container). */
.fs-sv-ft{container-type:inline-size;container-name:fs-sv-ft;padding:0 clamp(1rem,4vw,2.5rem);background:rgb(var(--c-paper-soft));border-top:1.5px solid var(--sv-ft-hair);--sv-ft-hair:rgb(var(--c-ink-950) / .15);--sv-ft-sub:color-mix(in srgb, rgb(var(--c-ink-950)) 76%, rgb(var(--c-paper)));--sv-ft-rule:rgb(var(--c-ink-950) / .55)}
.fs-sv-ft:is(.dark *):not(.fs-preview-light *){--sv-ft-sub:color-mix(in srgb, rgb(var(--c-ink-950)) 73%, rgb(var(--c-paper)));--sv-ft-rule:rgb(var(--c-ink-950) / .5)}
.fs-sv-ft-in{container-type:inline-size;container-name:fs-sv-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:54px 30px}
.fs-sv-ft-mark{flex:none;width:34px;height:34px}
.fs-sv-ft-mark-v{fill:rgb(var(--c-brand-600))}
.fs-sv-ft-mark-d{fill:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-sv-ft-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);align-items:end;gap:26px 56px}
.fs-sv-ft-name{display:flex;align-items:center;gap:12px;margin:0;font-family:var(--font-display, 'Helvetica Neue', Arial, sans-serif);font-size:27px;font-weight:800;line-height:1.1;letter-spacing:-.02em}
.fs-sv-ft-state{margin:12px 0 0;max-width:44ch;font-size:15px;line-height:1.6;color:var(--sv-ft-sub)}
.fs-sv-ft-reads{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none}
.fs-sv-ft-read{display:flex;flex-direction:column;gap:6px;min-width:0;padding-left:18px;border-left:1.5px solid var(--sv-ft-rule)}
.fs-sv-ft-read-v{font-family:var(--font-display, 'Helvetica Neue', Arial, sans-serif);font-size:31px;font-weight:800;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}
.fs-sv-ft-read-l{font-size:11px;font-weight:700;line-height:1.4;letter-spacing:.07em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
.fs-sv-ft-rule{display:block;position:relative;height:12px;margin-block:34px 36px;background:linear-gradient(var(--sv-ft-rule),var(--sv-ft-rule)) 0 50%/100% 1.5px no-repeat,linear-gradient(var(--sv-ft-rule),var(--sv-ft-rule)) 0 0/1.5px 100% no-repeat,linear-gradient(var(--sv-ft-rule),var(--sv-ft-rule)) 100% 0/1.5px 100% no-repeat}
.fs-sv-ft-rule::after{content:'';position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px 0 0 -4px;background:rgb(var(--c-accent, var(--c-brand-600)));transform:rotate(45deg)}
.fs-sv-ft-cols{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1.15fr) minmax(0,.9fr) minmax(0,.9fr);gap:30px 36px}
.fs-sv-ft-col{position:relative;min-width:0;padding-top:16px;border-top:1.5px solid var(--sv-ft-rule)}
.fs-sv-ft-col::before{content:'';position:absolute;top:-5.25px;left:0;width:9px;height:9px;background:rgb(var(--c-accent, var(--c-brand-600)));transform:rotate(45deg)}
.fs-sv-ft-h{margin:0 0 12px;font-size:12px;font-weight:800;line-height:1.2;letter-spacing:.12em;text-transform:uppercase}
.fs-sv-ft-p{margin:0;font-size:14.5px;line-height:1.55;color:var(--sv-ft-sub)}
.fs-sv-ft-tel{display:block;margin-top:10px;font-family:var(--font-display, 'Helvetica Neue', Arial, sans-serif);font-size:23px;font-weight:800;line-height:1.1;letter-spacing:.005em;color:rgb(var(--c-brand-text));font-variant-numeric:tabular-nums;white-space:nowrap;text-decoration:none}
.fs-sv-ft-mail{display:block;margin-top:6px;font-size:14px;color:rgb(var(--c-ink-950));border-bottom:1px solid var(--sv-ft-rule);overflow-wrap:anywhere;text-decoration:none}
.fs-sv-ft-rates{margin:0;padding:0;list-style:none}
.fs-sv-ft-rate{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-block:6px;border-bottom:1px solid var(--sv-ft-hair);font-size:14.5px}
.fs-sv-ft-rate:first-child{padding-top:0}
.fs-sv-ft-rate-v{font-weight:700;font-variant-numeric:tabular-nums;color:rgb(var(--c-brand-text));white-space:nowrap}
.fs-sv-ft-note{margin:9px 0 0;font-size:13px;line-height:1.5;color:var(--sv-ft-sub)}
.fs-sv-ft-est{display:inline-block;margin-top:8px;font-family:var(--font-display, 'Helvetica Neue', Arial, sans-serif);font-size:13.5px;font-weight:700;line-height:1.3;color:rgb(var(--c-brand-text));border-bottom:1.5px solid currentColor;text-decoration:none}
.fs-sv-ft-links{margin:0;padding:0;list-style:none}
.fs-sv-ft-li{padding-block:4px;font-size:14.5px}
.fs-sv-ft-link{text-decoration:none}
:is(.fs-sv-ft-links,.fs-sv-ft-rates) .fs-sv-ft-link:hover{text-decoration:underline}
.fs-sv-ft-hours{margin:0}
.fs-sv-ft-hrow{display:flex;justify-content:space-between;gap:12px;padding-block:6px;border-bottom:1px solid var(--sv-ft-hair);font-size:14.5px}
.fs-sv-ft-hrow:first-child{padding-top:0}
.fs-sv-ft-dt{margin:0;color:var(--sv-ft-sub)}
.fs-sv-ft-dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.fs-sv-ft-legal{display:flex;flex-wrap:wrap;gap:6px 20px;margin:40px 0 0;padding-top:16px;border-top:1px solid var(--sv-ft-hair);font-size:12.5px;color:var(--sv-ft-sub)}
.fs-sv-ft-legal-t{margin-right:auto}
.fs-sv-ft-legal-a{text-decoration:none}
.fs-sv-ft-legal-a:hover{color:rgb(var(--c-ink-950));text-decoration:underline}
@container fs-sv-ft (max-width: 40rem){
  .fs-sv-ft-in{padding-block:40px 24px}
}
@container fs-sv-ft-in (max-width: 56rem){
  .fs-sv-ft-top{grid-template-columns:minmax(0,1fr)}
  .fs-sv-ft-cols{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:34px}
}
@container fs-sv-ft (max-width: 48rem){
  .fs-sv-ft-cols{grid-template-columns:minmax(0,1fr);row-gap:30px}
  .fs-sv-ft-rule{margin-block:28px 30px}
}
@container fs-sv-ft (max-width: 30rem){
  .fs-sv-ft-name{font-size:24px}
  .fs-sv-ft-reads{grid-template-columns:minmax(0,1fr)}
  .fs-sv-ft-read{flex-direction:row;align-items:baseline;gap:14px;padding:10px 0;border-left:0;border-top:1.5px solid var(--sv-ft-hair)}
  .fs-sv-ft-read:last-child{border-bottom:1.5px solid var(--sv-ft-hair)}
  .fs-sv-ft-read-v{flex:none;width:96px;font-size:25px}
  .fs-sv-ft-legal-t{flex-basis:100%}
}

/* Motion discipline: nothing in the set moves without input. */
@media (prefers-reduced-motion: reduce){
  .fs-sv,.fs-sv *,.fs-sv *::before,.fs-sv *::after{
    animation:none !important;transition:none !important;
  }
}


.fs-pm{
  position:relative;
  background:rgb(var(--c-paper, 255 255 255));
  color:rgb(var(--c-ink-950, 15 14 23));
}
.fs-pm *{box-sizing:border-box;}
.fs-pm-inner{max-width:var(--fs-layout-max,64rem);margin:0 auto;}
.fs-pm-narrow{max-width:min(42rem, var(--fs-layout-clamp, 42rem));margin:0 auto;}

/* ── Shared type ─────────────────────────────────────────────────── */
.fs-pm-eyebrow{
  display:inline-block;padding:.25rem .75rem;border-radius:999px;
  background:rgb(var(--c-brand-600, 101 163 13) / .15);
  color:rgb(var(--c-brand-600, 77 124 15));
  font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
}
.fs-pm-h1{
  margin:1rem 0 0;font-family:var(--font-display, inherit);
  font-size:clamp(2.25rem,5vw,3rem);line-height:1.1;font-weight:700;
  color:rgb(var(--c-ink-950, 15 14 23));
}
.fs-pm-h2{
  margin:0;font-family:var(--font-display, inherit);
  font-size:clamp(1.75rem,3.5vw,1.875rem);line-height:1.2;font-weight:700;
  color:rgb(var(--c-ink-950, 15 14 23));
}
.fs-pm-h3{
  margin:0;font-family:var(--font-display, inherit);
  font-size:1.125rem;font-weight:700;color:rgb(var(--c-ink-950, 15 14 23));
}
.fs-pm-body{
  margin:.75rem 0 0;font-size:1rem;line-height:1.6;
  color:rgb(var(--c-ink-700, 82 82 91));
}
.fs-pm-lead{font-size:1.125rem;}
.fs-pm-muted{font-size:.875rem;color:rgb(var(--c-ink-400, 113 113 122));}

/* ── Shared surfaces ─────────────────────────────────────────────── */
.fs-pm-card{
  border-radius:var(--fs-radius-card, .75rem);
  border:1px solid rgb(var(--c-line, 228 228 231));
  background:rgb(var(--c-paper-soft, 255 255 255));
  padding:1.5rem;
}
.fs-pm-wash{
  border-radius:var(--fs-radius-card, .75rem);
  background:linear-gradient(140deg,
    rgb(var(--c-brand-600, 101 163 13) / .18),
    rgb(var(--c-accent, var(--c-brand-600, 16 185 129)) / .10));
}

/* ── Shared buttons ──────────────────────────────────────────────── */
.fs-pm-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.75rem 1.5rem;border-radius:var(--fs-radius-control, .5rem);
  font-size:.875rem;font-weight:700;line-height:1;white-space:nowrap;
  border:none;cursor:default;transition:background-color .2s ease,border-color .2s ease;
}
.fs-pm-btn-primary{
  background:rgb(var(--c-brand-600, 101 163 13));
  color:rgb(var(--c-paper, 255 255 255));
}
.fs-pm-btn-primary:hover{background:rgb(var(--c-brand-700, 77 124 15));}
.fs-pm-btn-ghost{
  background:transparent;
  border:1px solid rgb(var(--c-line, 228 228 231));
  color:rgb(var(--c-ink-950, 15 14 23));
}
.fs-pm-btn-ghost:hover{border-color:rgb(var(--c-brand-600, 101 163 13) / .5);}
.fs-pm-btn-block{width:100%;}

/* ── Shared bullet list ──────────────────────────────────────────── */
.fs-pm-list{margin:1.25rem 0 0;padding:0;list-style:none;display:grid;gap:.5rem;}
.fs-pm-list li{
  display:flex;align-items:center;gap:.5rem;
  font-size:.875rem;color:rgb(var(--c-ink-700, 82 82 91));
}
.fs-pm-tick{color:rgb(var(--c-brand-600, 101 163 13));flex:none;}
.fs-pm-cross{color:rgb(var(--c-ink-400, 113 113 122));flex:none;}

/* ═════════ HERO ═════════ */
.fs-pm-hero{padding:5rem 1.5rem;}
.fs-pm-hero-grid{display:grid;gap:2.5rem;align-items:center;}
@media (min-width:768px){.fs-pm-hero-grid{grid-template-columns:1fr 1fr;}}
.fs-pm-hero-ctas{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.75rem;}
.fs-pm-hero-panel{padding:2rem;}
.fs-pm-stat{
  display:flex;align-items:center;gap:.75rem;
  padding:.75rem 1rem;margin-bottom:.75rem;
  border-radius:var(--fs-radius-control, .5rem);
  background:rgb(var(--c-paper, 255 255 255) / .8);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
}
.fs-pm-stat:last-child{margin-bottom:0;}
.fs-pm-stat-dot{
  display:inline-flex;align-items:center;justify-content:center;flex:none;
  width:2rem;height:2rem;border-radius:50%;
  background:rgb(var(--c-brand-600, 101 163 13));
  color:rgb(var(--c-paper, 255 255 255));
}
.fs-pm-stat-t{font-size:.875rem;font-weight:600;color:rgb(var(--c-ink-950, 15 14 23));}

/* ═════════ SPLIT ═════════ */
.fs-pm-split{padding:4rem 1.5rem;}
.fs-pm-split-row{display:flex;flex-direction:column;gap:2.5rem;align-items:center;}
@media (min-width:768px){
  .fs-pm-split-row{flex-direction:row;}
  .fs-pm-split-row[data-reverse="yes"]{flex-direction:row-reverse;}
}
.fs-pm-split-media{width:100%;flex:1;aspect-ratio:4/3;}
.fs-pm-split-copy{flex:1;}

/* ═════════ FEATURE GRID ═════════ */
.fs-pm-fg{padding:4rem 1.5rem;}
.fs-pm-fg-head{text-align:center;margin-bottom:2.5rem;}
.fs-pm-fg-grid{display:grid;gap:1.25rem;grid-template-columns:1fr;list-style:none;margin:0;padding:0;}
@media (min-width:640px){.fs-pm-fg-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (min-width:1024px){.fs-pm-fg-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
.fs-pm-fg-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:2.75rem;height:2.75rem;margin-bottom:1rem;
  border-radius:var(--fs-radius-control, .5rem);
  background:rgb(var(--c-brand-600, 101 163 13) / .15);
  color:rgb(var(--c-brand-600, 101 163 13));
}

/* ═════════ COMPARISON ═════════ */
.fs-pm-cmp{padding:4rem 1.5rem;}
.fs-pm-cmp-head{text-align:center;margin-bottom:2rem;}
.fs-pm-cmp-table{
  width:100%;border-collapse:collapse;text-align:left;
  border:1px solid rgb(var(--c-line, 228 228 231));
  border-radius:var(--fs-radius-card, .75rem);
  overflow:hidden;
}
.fs-pm-cmp-table th,.fs-pm-cmp-table td{padding:.75rem 1rem;font-size:.875rem;}
.fs-pm-cmp-table thead tr{
  background:rgb(var(--c-paper-soft, 244 244 245));
  border-bottom:1px solid rgb(var(--c-line, 228 228 231));
}
.fs-pm-cmp-table th{font-weight:600;color:rgb(var(--c-ink-700, 82 82 91));}
.fs-pm-cmp-us{text-align:center;font-weight:700;color:rgb(var(--c-brand-600, 77 124 15));}
.fs-pm-cmp-them{text-align:center;color:rgb(var(--c-ink-400, 113 113 122));}
.fs-pm-cmp-table tbody tr{border-bottom:1px solid rgb(var(--c-line, 228 228 231));}
.fs-pm-cmp-table tbody tr:last-child{border-bottom:0;}
.fs-pm-cmp-table td:first-child{color:rgb(var(--c-ink-700, 82 82 91));}
.fs-pm-cmp-cell{text-align:center;}

/* ═════════ TESTIMONIAL ═════════ */
.fs-pm-ts{padding:5rem 1.5rem;text-align:center;}
.fs-pm-ts-stars{display:flex;justify-content:center;gap:.25rem;margin-bottom:1rem;color:rgb(var(--c-brand-600, 101 163 13));}
.fs-pm-ts-quote{
  margin:0;font-family:var(--font-display, inherit);
  font-size:1.5rem;line-height:1.6;font-weight:500;
  color:rgb(var(--c-ink-950, 15 14 23));
  transition:opacity .5s ease;
}
.fs-pm-ts-author{margin-top:1rem;font-size:.875rem;font-weight:600;color:rgb(var(--c-ink-400, 113 113 122));}
.fs-pm-ts-dots{display:flex;justify-content:center;gap:.375rem;margin-top:1.5rem;}
.fs-pm-ts-dot{
  height:.375rem;width:.375rem;border-radius:999px;
  background:rgb(var(--c-ink-400, 212 212 216) / .5);
  transition:width .3s ease,background-color .3s ease;
}
.fs-pm-ts-dot[data-on="1"]{width:1.5rem;background:rgb(var(--c-brand-600, 101 163 13));}

/* ═════════ PRODUCT SHOWCASE ═════════ */
.fs-pm-ps{padding:4rem 1.5rem;}
.fs-pm-ps-grid{display:grid;gap:2.5rem;align-items:center;max-width:var(--fs-layout-max,56rem);margin:0 auto;}
@media (min-width:768px){.fs-pm-ps-grid{grid-template-columns:1fr 1fr;}}
.fs-pm-ps-media{width:100%;aspect-ratio:1/1;}
.fs-pm-price{margin:.5rem 0 0;font-size:1.5rem;font-weight:700;color:rgb(var(--c-brand-600, 77 124 15));}

/* ═════════ COURSE SHOWCASE ═════════ */
.fs-pm-cs{padding:4rem 1.5rem;}
.fs-pm-cs-card{max-width:min(48rem, var(--fs-layout-clamp, 48rem));margin:0 auto;padding:2rem;}
.fs-pm-cs-modules{margin:1.25rem 0 0;padding:0;list-style:none;display:grid;gap:.5rem;counter-reset:fspm;}
.fs-pm-cs-mod{
  display:flex;align-items:center;gap:.75rem;
  padding:.625rem 1rem;
  border-radius:var(--fs-radius-control, .5rem);
  border:1px solid rgb(var(--c-line, 228 228 231));
}
.fs-pm-cs-num{
  display:inline-flex;align-items:center;justify-content:center;flex:none;
  width:1.5rem;height:1.5rem;border-radius:50%;
  background:rgb(var(--c-brand-600, 101 163 13));
  color:rgb(var(--c-paper, 255 255 255));
  font-size:.75rem;font-weight:700;
}
.fs-pm-cs-mod-t{font-size:.875rem;font-weight:500;color:rgb(var(--c-ink-950, 15 14 23));}
.fs-pm-cs-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.5rem;}

/* ═════════ RETRO PIXEL ═════════
   Deliberately NOT palette-derived: this block's whole premise is the
   flat 4px-border arcade look, and it opts out of theme colour the way
   a designer would expect a "retro pixel" preset to. Only the plate
   colour follows the brand so it does not clash outright. */
.fs-pm-rp{padding:4rem 1.5rem;text-align:center;}
.fs-pm-rp-plate{
  max-width:36rem;margin:0 auto;padding:2rem;
  border:4px solid rgb(var(--c-ink-950, 15 14 23));
  background:rgb(var(--c-brand-600, 163 230 53));
  box-shadow:8px 8px 0 0 rgb(var(--c-ink-950, 0 0 0) / .85);
}
.fs-pm-rp-h{
  margin:0;font-family:'Press Start 2P', monospace;
  font-size:1.5rem;line-height:1.4;font-weight:700;
  text-transform:uppercase;letter-spacing:.1em;
  color:rgb(var(--c-paper, 15 14 23));
}
.fs-pm-rp-sub{margin:1rem 0 0;font-family:monospace;font-size:.875rem;color:rgb(var(--c-paper, 39 39 42) / .85);}
.fs-pm-rp-btn{
  display:inline-block;margin-top:1.5rem;padding:.5rem 1.25rem;
  border:4px solid rgb(var(--c-ink-950, 15 14 23));
  background:rgb(var(--c-paper, 255 255 255));
  color:rgb(var(--c-ink-950, 15 14 23));
  font-family:monospace;font-size:.75rem;font-weight:700;
  text-transform:uppercase;
  box-shadow:4px 4px 0 0 rgb(var(--c-ink-950, 0 0 0) / .85);
  transition:transform .15s ease;
}
.fs-pm-rp-btn:hover{transform:translateY(-2px);}

/* ═════════ COUNTDOWN ═════════ */
.fs-pm-cd{padding:4rem 1.5rem;text-align:center;}
.fs-pm-cd-row{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:1.5rem;}
.fs-pm-cd-cell{display:flex;flex-direction:column;align-items:center;}
.fs-pm-cd-v{
  min-width:3.5rem;padding:.5rem .75rem;
  border-radius:var(--fs-radius-card, .75rem);
  background:rgb(var(--c-ink-950, 15 14 23));
  color:rgb(var(--c-brand-600, 163 230 53));
  font-family:var(--font-display, inherit);
  font-size:1.875rem;font-weight:700;
}
.fs-pm-cd-l{
  margin-top:.25rem;font-size:.625rem;font-weight:600;
  letter-spacing:.05em;text-transform:uppercase;
  color:rgb(var(--c-ink-400, 113 113 122));
}

/* ── Wireframe: strip colour and decoration ──────────────────────── */
.fs-wire .fs-pm-wash{background:rgb(var(--c-paper-soft, 244 244 245));}
.fs-wire .fs-pm-btn-primary{background:rgb(var(--c-ink-950, 15 14 23));}
.fs-wire .fs-pm-stat{backdrop-filter:none;-webkit-backdrop-filter:none;}


/* ── The shell ─────────────────────────────────────────────────── */
/* Signature blocks own their section padding and inner measure — the
   renderer does NOT supply them (see the .fs-cs- rules in
   counsel-styles.ts). Without this the grids ran past the right edge
   of the preview canvas, which is exactly what happened first time. */
.fs-op {
  --fs-op-caption: .875rem;
  position: relative;
  padding: var(--fs-space-section, clamp(3.5rem, 8vw, 6rem)) clamp(1rem, 4vw, 2.5rem);
  background: rgb(var(--c-paper));
  color: rgb(var(--c-ink-950));
}
.fs-op * { box-sizing: border-box; }
.fs-op > * { max-width:var(--fs-layout-max,72rem); margin-inline: auto; }
/* The urgent panel butts against its neighbours — their padding
   supplies the rhythm, and adding more doubled the gap both sides. */
.fs-op-ur { padding-block: 0; }
/* The hero runs tighter than a mid-page section, as on the prototype. */
.fs-op-hero { padding-block: clamp(2rem, 5vw, 3.5rem) clamp(2.5rem, 5vw, 4rem); overflow: hidden; }
.fs-op-reg,
.fs-op-fee-price,
.fs-op-range-price,
.fs-op-voucher-grid dd,
.fs-op-rx-table,
.fs-op-call a,
.fs-op-chip {
  font-variant-numeric: tabular-nums;
  font-feature-settings: 'tnum' 1;
}
.fs-op-chip {
  display: inline-block;
  font-size: var(--fs-op-caption, .875rem);
  letter-spacing: .04em;
  padding: .14em .5em;
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-control);
  color: rgb(var(--c-ink-700));
  white-space: nowrap;
}
.fs-op-chip-brand {
  border-color: rgb(var(--c-brand-600));
  color: rgb(var(--c-brand-600));
}
.fs-op-eyebrow {
  display: block;
  font-size: var(--fs-type-eyebrow, .75rem);
  font-weight: var(--fs-type-eyebrow-weight, 600);
  letter-spacing: var(--fs-type-eyebrow-tracking, .08em);
  text-transform: uppercase;
  color: rgb(var(--c-brand-600));
  margin-bottom: .6rem;
}
.fs-op-h {
  font-family: var(--font-display);
  font-size: var(--fs-type-h2, 2.5rem);
  font-weight: var(--fs-type-h2-weight, 650);
  line-height: var(--fs-type-h2-leading, 1.2);
  letter-spacing: var(--fs-type-h2-tracking, -.015em);
  color: rgb(var(--c-ink-950));
}
.fs-op-h3 {
  font-family: var(--font-display);
  font-size: var(--fs-type-h3, 1.5rem);
  font-weight: var(--fs-type-h3-weight, 600);
  line-height: var(--fs-type-h3-leading, 1.2);
  color: rgb(var(--c-ink-950));
}
.fs-op-sub {
  margin-top: .75rem;
  max-width: var(--fs-measure, 68ch);
  font-size: var(--fs-type-body, 1.125rem);
  line-height: var(--fs-type-body-leading, 1.6);
  color: rgb(var(--c-ink-700));
}
.fs-op-head { margin-bottom: var(--fs-space-heading, 2rem); }
/* DECENTRATION — device 1. 7/5, never 6/6. min-width:0 on the
   children is load-bearing: a grid item defaults to min-content
   width, so without it a scrolling table widens the page instead. */
.fs-op-split {
  display: grid;
  gap: calc(var(--fs-space-gap) * 1.5);
  grid-template-columns: 7fr 5fr;
  align-items: start;
}
.fs-op-split > * { min-width: 0; }
@media (max-width: 860px) {
  .fs-op-split { grid-template-columns: 1fr; }
}

/* THE DATUM EYEBROW — device 4. Small caps with a hairline running
   right, broken by the label. The prototype's signature section
   opener. The gap is painted with --c-paper because the app owns the
   page background and emits no --c-bg. */
.fs-op-datum { position: relative; margin-bottom: var(--fs-space-heading, 2rem); }
.fs-op-datum::before {
  content: '';
  position: absolute; left: 0; right: 0; top: .85em;
  border-top: 1px solid rgb(var(--c-line));
}
.fs-op-datum > * { position: relative; }
.fs-op-eyebrow-datum { background: rgb(var(--c-paper)); padding-right: .9rem; }

/* ── favOpticVision — the drawn hero ───────────────────────────── */
.fs-op-sr {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0;
}
.fs-op-hero-grid {
  display: grid; gap: calc(var(--fs-space-gap) * 1.5);
  grid-template-columns: 7fr 5fr; align-items: center;
}
.fs-op-hero-grid > * { min-width: 0; }
@media (max-width:900px) { .fs-op-hero-grid { grid-template-columns: 1fr; } }
.fs-op-display {
  font-family: var(--font-display);
  font-size: clamp(2.1rem, 4.6vw, 3.5rem);
  font-weight: 650; line-height: 1.1;
  letter-spacing: -.015em;
  color: rgb(var(--c-ink-950));
  margin-bottom: var(--fs-space-stack);
}
.fs-op-lede {
  font-size: clamp(1.125rem, 1.7vw, 1.4rem);
  line-height: 1.5;
  color: rgb(var(--c-ink-700));
  max-width: var(--fs-measure, 68ch);
  margin-top: var(--fs-space-stack);
}
.fs-op-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: var(--fs-space-gap); }
.fs-op-btn, .fs-op-btn-ghost {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px; padding: .7rem 1.4rem;
  font-size: 1rem; font-weight: 700;
  border-radius: var(--fs-radius-control);
  border: 1px solid rgb(var(--c-brand-600));
}
.fs-op-btn { background: rgb(var(--c-brand-600)); color: rgb(var(--c-paper)); }
.fs-op-btn-ghost { background: none; color: rgb(var(--c-brand-600)); }
/* The fact strip under the CTAs — open now, NHS, registration. */
/* Four across when there is room, a clean 2x2 when there is not —
   never a 3 + 1 orphan.
   A CONTAINER query, not a media query, and deliberately: the editor
   renders this preview at a canvas width that has nothing to do with
   the viewport (the chrome eats ~230px, and the tablet/mobile toggles
   narrow it further). A media query reads 1280px and lays out four
   columns into a 560px column. auto-fit gets the arithmetic right but
   picks 3 at exactly this width, which is the ugly case. */
.fs-op-hero-col { container-type: inline-size; }
.fs-op-facts {
  display: grid; gap: .6rem 1.6rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: var(--fs-space-gap);
  padding-top: var(--fs-space-gap);
  border-top: 1px solid rgb(var(--c-line));
}
@container (min-width: 33rem) {
  .fs-op-facts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.fs-op-facts > div { padding-block: .35rem; }
.fs-op-facts dt {
  font-size: var(--fs-type-eyebrow, .75rem); font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-op-facts dd {
  margin: .15rem 0 0; font-weight: 700;
  color: rgb(var(--c-ink-950));
}
.fs-op-vision-fig { margin: 0; position: relative; }
.fs-op-vision { border: 0; padding: 0; margin: 0; min-width: 0; }
.fs-op-vision svg.vr {
  width: 100%; height: auto; display: block;
  background: rgb(var(--c-paper));
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-card);
}
/* the drawing */
.vr-axis   { stroke: rgb(var(--c-accent)); stroke-width: 1; opacity: .55; }
.vr-globe  { fill: rgb(var(--c-brand-600) / .05); stroke: rgb(var(--c-ink-950)); stroke-width: 2; }
.vr-cornea { fill: none; stroke: rgb(var(--c-ink-950)); stroke-width: 2; }
.vr-crys   { fill: rgb(var(--c-paper)); stroke: rgb(var(--c-ink-950)); stroke-width: 2; }
.vr-retina { fill: none; stroke: rgb(var(--c-brand-600)); stroke-width: 3; stroke-linecap: round; }
.vr-fovea  { fill: rgb(var(--c-brand-600)); }
.vr-lbl    { fill: rgb(var(--c-ink-400)); letter-spacing: .12em; text-transform: uppercase; }
/* rays and states — selected on [data-vr], not #ids, so two of these
   on one page cannot cross-wire. */
.vr-state { opacity: 0; transition: opacity .3s ease-in-out; }
[data-vr='myo']:checked  ~ svg .vr-state--myo,
[data-vr='corr']:checked ~ svg .vr-state--corr,
[data-vr='hyp']:checked  ~ svg .vr-state--hyp { opacity: 1; }
.vr-ray   { fill: none; stroke: rgb(var(--c-brand-600)); stroke-width: 2; stroke-linecap: round; opacity: .9; }
.vr-ray--virtual { stroke: rgb(var(--c-ink-400)); stroke-dasharray: 4 6; }
.vr-focus { fill: rgb(var(--c-accent)); transform-box: fill-box; transform-origin: center; }
.vr-focus--virtual { fill: none; stroke: rgb(var(--c-accent)); stroke-width: 1.5; stroke-dasharray: 3 3; }
.vr-smear { stroke: rgb(var(--c-accent)); stroke-width: 5; stroke-linecap: round; opacity: .5; }
.vr-spec {
  fill: rgb(var(--c-brand-50)); stroke: rgb(var(--c-brand-600)); stroke-width: 2;
  transform: translateX(-12px); transition: transform .35s cubic-bezier(.2,.7,.3,1);
}
[data-vr='corr']:checked ~ svg .vr-spec { transform: none; }
/* the chart: blurred when sight is uncorrected — the whole point */
.vr-chart-card { fill: rgb(var(--c-paper)); stroke: rgb(var(--c-line)); }
.vr-chart-lbl  { fill: rgb(var(--c-ink-400)); letter-spacing: .12em; text-transform: uppercase; text-anchor: middle; }
.vr-chart-letters text { fill: rgb(var(--c-ink-950)); font-family: var(--font-display); font-weight: 700; text-anchor: middle; }
.vr-chart-letters { filter: blur(0); transition: filter .35s ease-in-out; }
[data-vr='myo']:checked ~ svg .vr-chart-letters,
[data-vr='hyp']:checked ~ svg .vr-chart-letters { filter: blur(4.5px); }
/* the state chips */
.fs-op-vision-chips { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: .8rem; }
.fs-op-vision-chips label {
  display: inline-flex; align-items: center;
  min-height: 44px; padding: .3em .95em;
  font-size: var(--fs-op-caption, .875rem); font-weight: 700;
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-pill);
  background: rgb(var(--c-paper));
  color: rgb(var(--c-ink-950));
  cursor: pointer; user-select: none;
}
.fs-op-vision-chips label:hover { border-color: rgb(var(--c-brand-600)); }
[data-vr='myo']:checked  ~ .fs-op-vision-chips label[for$='vr-myo'],
[data-vr='corr']:checked ~ .fs-op-vision-chips label[for$='vr-corr'],
[data-vr='hyp']:checked  ~ .fs-op-vision-chips label[for$='vr-hyp'] {
  background: rgb(var(--c-brand-600));
  border-color: rgb(var(--c-brand-600));
  color: rgb(var(--c-paper));
}
[data-vr='myo']:focus-visible  ~ .fs-op-vision-chips label[for$='vr-myo'],
[data-vr='corr']:focus-visible ~ .fs-op-vision-chips label[for$='vr-corr'],
[data-vr='hyp']:focus-visible  ~ .fs-op-vision-chips label[for$='vr-hyp'] {
  outline: 2px solid rgb(var(--c-brand-600)); outline-offset: 2px;
}
/* the caption swaps with the state; min-height so it cannot reflow */
.fs-op-vision-cap {
  margin: .7rem 0 0; min-height: 2.8em;
  font-size: var(--fs-op-caption, .875rem); color: rgb(var(--c-ink-700));
}
.fs-op-vision-cap .cap { display: none; }
[data-vr='myo']:checked  ~ .fs-op-vision-cap .cap-myo,
[data-vr='corr']:checked ~ .fs-op-vision-cap .cap-corr,
[data-vr='hyp']:checked  ~ .fs-op-vision-cap .cap-hyp { display: block; }
/* motion: photons ride the axis, the focal point breathes */
.vr-photon { fill: rgb(var(--c-accent)); opacity: 0; }
@media (prefers-reduced-motion: no-preference) {
  .fs-op-anim .vr-photon {
    opacity: .85;
    offset-path: path('M8 210 L375 210');
    animation: fs-op-photon 7s linear infinite;
  }
  .fs-op-anim .vr-photon--2 { animation-delay: 3.5s; }
  .fs-op-anim .vr-focus:not(.vr-focus--virtual) { animation: fs-op-pulse 3.2s ease-in-out infinite; }
  @keyframes fs-op-photon { from { offset-distance: 0%; } to { offset-distance: 100%; } }
  @keyframes fs-op-pulse  { 0%,100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.55); opacity: .55; } }
}

/* ── favOpticClinics — six cards, icon, copy, price chip ───────── */
.fs-op-services {
  display: grid; gap: var(--fs-space-gap);
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
}
@media (min-width: 64rem) { .fs-op-services { grid-template-columns: repeat(3, 1fr); } }
.fs-op-service {
  padding: var(--fs-space-card);
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-card);
  background: rgb(var(--c-paper));
  display: flex; flex-direction: column;
}
.fs-op-service > svg {
  width: 2.5rem; height: 2.5rem; display: block;
  margin-bottom: var(--fs-space-stack);
  color: rgb(var(--c-brand-600));
}
.fs-op-service .fs-op-h3 { margin-bottom: .4rem; }
.fs-op-service p {
  font-size: var(--fs-op-caption, .875rem);
  color: rgb(var(--c-ink-700));
  flex: 1; margin-bottom: var(--fs-space-stack);
}
.fs-op-service .fs-op-chip { align-self: flex-start; }

/* ── favOpticFigures — the practice, in numbers ────────────────── */
.fs-op-figures {
  display: grid; gap: 0;
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
  border-top: 1px solid rgb(var(--c-line));
}
.fs-op-figures > div {
  padding: var(--fs-space-gap) var(--fs-space-gap) var(--fs-space-gap) 0;
  border-bottom: 1px solid rgb(var(--c-line));
}
.fs-op-figures dt {
  font-family: var(--font-display);
  font-size: clamp(1.9rem, 3.4vw, 2.8rem);
  font-weight: 700; line-height: 1;
  color: rgb(var(--c-brand-600));
}
.fs-op-figures dd {
  margin: .5rem 0 0;
  font-size: var(--fs-op-caption, .875rem);
  color: rgb(var(--c-ink-700));
}

/* ── favOpticUrgent — triage above all commercial content ─────── */
.fs-op-urgent {
  border: 1px solid rgb(var(--c-line));
  border-left: 4px solid rgb(var(--c-accent));
  background: rgb(var(--c-brand-50));
  border-radius: var(--fs-radius-card);
  padding: var(--fs-space-card);
  display: grid;
  gap: var(--fs-space-gap);
  grid-template-columns: 7fr 5fr;
  align-items: center;
  /* No margin: the neighbouring sections' own padding supplies the
     rhythm. Adding margin here doubled the gap on both sides. */
  margin-block: 0;
}
.fs-op-urgent > * { min-width: 0; }
@media (max-width: 860px) {
  .fs-op-urgent { grid-template-columns: 1fr; }
}
.fs-op-urgent .fs-op-h { font-size: var(--fs-type-h3, 1.5rem); }
.fs-op-urgent .fs-op-sub { margin-bottom: .6rem; }
.fs-op-symptoms {
  display: flex; flex-wrap: wrap; gap: .45rem;
  list-style: none; margin: .8rem 0 0; padding: 0;
}
.fs-op-symptoms li {
  font-size: var(--fs-op-caption, .875rem); font-weight: 700;
  padding: .25em .65em;
  border: 1px solid rgb(var(--c-accent));
  border-radius: var(--fs-radius-pill);
  color: rgb(var(--c-ink-950));
}
.fs-op-call { text-align: right; }
@media (max-width: 860px) { .fs-op-call { text-align: left; } }
/* The number is a <span>, not an <a> — see OpticBlocks.tsx. The
   editor's global anchor colour beat this rule on specificity and
   rendered it in the app's default link violet. */
.fs-op-call-num {
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 3.4vw, 2.4rem);
  font-weight: 700; line-height: 1.1;
  color: rgb(var(--c-brand-600));
  display: inline-block; min-height: 44px;
}
.fs-op-call small {
  display: block; margin-top: .35rem;
  font-size: var(--fs-op-caption, .875rem);
  color: rgb(var(--c-ink-700));
}

/* ── favOpticChart — the fee schedule AND the entitlement list ── */
.fs-op-fees { list-style: none; margin: 0; padding: 0; }
.fs-op-fees > li {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: baseline;
  gap: .5rem;
  padding-block: .85rem;
  border-bottom: 1px solid rgb(var(--c-line));
}
.fs-op-fees > li:first-child { border-top: 1px solid rgb(var(--c-line)); }
.fs-op-fee-name { font-weight: 700; color: rgb(var(--c-ink-950)); }
.fs-op-fee-desc {
  display: block; font-weight: 400;
  font-size: var(--fs-op-caption, .875rem);
  color: rgb(var(--c-ink-700));
  margin-top: .15rem; max-width: 46ch;
}
.fs-op-fee-price {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--fs-type-h3, 1.5rem);
  white-space: nowrap;
  text-align: right;
  color: rgb(var(--c-ink-950));
}
.fs-op-fee-price small {
  display: block; text-align: right;
  font-family: inherit; font-weight: 400;
  font-size: var(--fs-op-caption, .875rem);
  color: rgb(var(--c-ink-400));
}
.fs-op-entitle {
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-card);
  padding: var(--fs-space-card);
  background: rgb(var(--c-paper));
}
.fs-op-entitle .fs-op-h3 { margin-bottom: var(--fs-space-stack); }
.fs-op-entitle ul { list-style: none; margin: 0; padding: 0; }
.fs-op-entitle li {
  position: relative;
  padding-left: 1.5rem;
  padding-block: .4rem;
  font-size: var(--fs-op-caption, .875rem);
  color: rgb(var(--c-ink-700));
  border-bottom: 1px solid rgb(var(--c-line) / .6);
}
.fs-op-entitle li:last-child { border-bottom: 0; }
/* The mark, in miniature, as the list bullet — a lens and its datum. */
.fs-op-entitle li::before {
  content: '';
  position: absolute; left: 0; top: .85em;
  width: .62rem; height: .62rem;
  border: 1px solid rgb(var(--c-brand-600));
  border-radius: 50%;
}
.fs-op-entitle li::after {
  content: '';
  position: absolute; left: .34rem; top: 1.02em;
  width: .26rem; height: .26rem;
  background: rgb(var(--c-brand-600));
  border-radius: 50%;
}
.fs-op-note {
  margin: var(--fs-space-stack) 0 0;
  font-size: var(--fs-op-caption, .875rem);
  color: rgb(var(--c-ink-400));
}
.fs-op-chart-img {
  margin-top: var(--fs-space-gap);
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-card);
  overflow: hidden;
}

/* ── favOpticRegister — a register extract, never a team grid ─── */
/* NO PHOTOGRAPHS, deliberately: the fix for a sector that substitutes
   stock portraits for registration is the NUMBER, not a nicer photo. */
.fs-op-register { border-top: 1px solid rgb(var(--c-line)); }
.fs-op-register-row {
  display: grid;
  grid-template-columns: 6fr 3fr 3fr;
  gap: var(--fs-space-gap);
  align-items: start;
  padding-block: var(--fs-space-gap);
  border-bottom: 1px solid rgb(var(--c-line));
}
@media (max-width: 860px) {
  .fs-op-register-row { grid-template-columns: 1fr; gap: .5rem; }
}
.fs-op-register-name {
  font-family: var(--font-display);
  font-size: var(--fs-type-h3, 1.5rem); font-weight: 600;
  line-height: 1.2;
  color: rgb(var(--c-ink-950));
}
.fs-op-register-quals {
  display: block;
  font-size: var(--fs-op-caption, .875rem); font-weight: 400;
  letter-spacing: .04em; text-transform: uppercase;
  color: rgb(var(--c-brand-600));
  margin-top: .3rem;
}
.fs-op-register-role {
  font-size: var(--fs-op-caption, .875rem);
  color: rgb(var(--c-ink-700));
}
.fs-op-register-goc { text-align: right; }
@media (max-width: 860px) { .fs-op-register-goc { text-align: left; } }
.fs-op-register-goc .fs-op-chip { font-weight: 700; }
.fs-op-register-goc small {
  display: block; margin-top: .35rem;
  font-size: var(--fs-type-eyebrow, .75rem); letter-spacing: .06em;
  text-transform: uppercase; color: rgb(var(--c-ink-400));
}
.fs-op-register-foot {
  margin-top: var(--fs-space-gap);
  font-size: var(--fs-op-caption, .875rem);
  color: rgb(var(--c-ink-700));
}

/* ── favOpticFrames — the only block here that sells ──────────── */
.fs-op-ranges {
  display: grid; gap: var(--fs-space-gap);
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
}
.fs-op-range {
  display: flex; flex-direction: column;
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-card);
  overflow: hidden;
  background: rgb(var(--c-paper));
}
.fs-op-range img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.fs-op-range-body {
  padding: var(--fs-space-card);
  display: flex; flex-direction: column; flex: 1;
}
.fs-op-range-body .fs-op-h3 { margin-bottom: .4rem; }
.fs-op-range-body p {
  font-size: var(--fs-op-caption, .875rem);
  color: rgb(var(--c-ink-700)); flex: 1;
}
.fs-op-range-price {
  margin-top: var(--fs-space-stack);
  padding-top: var(--fs-space-stack);
  border-top: 1px solid rgb(var(--c-line));
  font-family: var(--font-display);
  font-size: var(--fs-type-h3, 1.5rem); font-weight: 700;
  color: rgb(var(--c-ink-950));
}
/* The voucher strip is what keeps the selling block honest. */
.fs-op-voucher {
  margin-top: var(--fs-space-gap);
  border: 1px solid rgb(var(--c-brand-600));
  border-radius: var(--fs-radius-card);
  padding: var(--fs-space-card);
  background: rgb(var(--c-brand-50));
}
.fs-op-voucher .fs-op-h3 { margin-bottom: var(--fs-space-stack); }
.fs-op-voucher-grid {
  display: grid; gap: .5rem;
  grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));
  margin-top: var(--fs-space-stack);
}
.fs-op-voucher-grid > div {
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-control);
  /* --c-bg does not exist in the app; the page chrome paints the
     background, so this falls back to the surface token. */
  padding: .6rem .75rem;
  background: rgb(var(--c-paper));
}
.fs-op-voucher-grid dt {
  font-size: var(--fs-type-eyebrow, .75rem); font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-op-voucher-grid dd {
  margin: .2rem 0 0;
  font-family: var(--font-display); font-weight: 700;
  font-size: var(--fs-type-h3, 1.5rem);
  color: rgb(var(--c-ink-950));
}

/* ── favOpticRx — the prescription decoded, and s.26 ───────────── */
/* A six-column prescription table has a real minimum width and cannot
   reflow — SPH/CYL/AXIS/ADD/PRISM are meaningless stacked. So it
   scrolls inside its OWN box and the page never scrolls sideways. */
.fs-op-rx-scroll { overflow-x: auto; min-width: 0; max-width: 100%; }
.fs-op-rx-table {
  width: 100%; border-collapse: collapse;
  min-width: 22rem;
}
.fs-op-rx-table caption {
  text-align: left; padding-bottom: var(--fs-space-stack);
  font-size: var(--fs-op-caption, .875rem); color: rgb(var(--c-ink-700));
}
.fs-op-rx-table th, .fs-op-rx-table td {
  border: 1px solid rgb(var(--c-line));
  padding: .6rem .7rem;
  text-align: right;
  font-size: var(--fs-op-caption, .875rem);
  color: rgb(var(--c-ink-700));
}
.fs-op-rx-table thead th {
  background: rgb(var(--c-paper-soft));
  font-weight: 700; letter-spacing: .04em;
  color: rgb(var(--c-ink-950));
}
.fs-op-rx-table tbody th {
  text-align: left; font-weight: 700;
  color: rgb(var(--c-ink-950));
}
.fs-op-rx-key { list-style: none; margin: var(--fs-space-gap) 0 0; padding: 0; }
.fs-op-rx-key li {
  display: grid; grid-template-columns: 5.5rem 1fr; gap: .8rem;
  padding-block: .5rem;
  border-bottom: 1px solid rgb(var(--c-line));
  font-size: var(--fs-op-caption, .875rem);
  color: rgb(var(--c-ink-700));
}
.fs-op-rx-key dfn {
  font-style: normal; font-weight: 700;
  letter-spacing: .04em;
  color: rgb(var(--c-brand-600));
}
.fs-op-statute {
  border: 1px solid rgb(var(--c-line));
  border-top: 3px solid rgb(var(--c-brand-600));
  border-radius: var(--fs-radius-card);
  padding: var(--fs-space-card);
  background: rgb(var(--c-paper));
}
.fs-op-statute .fs-op-h3 { margin-bottom: var(--fs-space-stack); }
.fs-op-statute p {
  font-size: var(--fs-op-caption, .875rem);
  color: rgb(var(--c-ink-700));
}
.fs-op-statute p + p { margin-top: .6rem; }
.fs-op-statute cite {
  display: block; margin-top: var(--fs-space-stack);
  font-style: normal; font-size: var(--fs-type-eyebrow, .75rem);
  letter-spacing: .06em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-op-rx-img {
  margin-top: var(--fs-space-gap);
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-card);
  overflow: hidden;
}

/* ── Section bands ─────────────────────────────────────────────── */
/* The prototype alternates a pale wash behind the fee schedule and
   the testimonials. On a washed section the eyebrow's datum gap has
   to match the wash, not the page. */
.fs-op-ch { background: rgb(var(--c-paper-soft)); }
.fs-op-ch .fs-op-eyebrow-datum { background: rgb(var(--c-paper-soft)); }

/* ── Theme-scoped refinements ──────────────────────────────────── */
/* [data-fs-theme] is stamped on the preview root by EditWpClient —
   a generic hook so a theme can refine the UNIVERSAL blocks without
   restyling them for every other theme. Everything below is Stanhope
   only, and is the section finish the prototype has that the builder
   blocks do not: the alternating band under testimonials, and the
   quote/CTA reading as ruled bench work rather than soft cards. */
[data-fs-theme='stanhope'] [data-fs-role='quote'] {
  background: rgb(var(--c-paper));
  border-block: 1px solid rgb(var(--c-line));
}
[data-fs-theme='stanhope'] [data-fs-role='quote'] [data-fs-surface='card'] {
  border: 0; box-shadow: none; background: none;
}
[data-fs-theme='stanhope'] [data-fs-role='gallery'] img { border-radius: var(--fs-radius-card); }
/* The testimonials band: the pale wash the prototype alternates in,
   and its heading in the display serif rather than the block's own
   sans — every other heading on the page is Spectral. */
[data-fs-theme='stanhope'] .fs-testimonials-section { background: rgb(var(--c-paper-soft)); }
[data-fs-theme='stanhope'] .fs-testimonials-section .fs-head-slot {
  font-family: var(--font-display);
  font-weight: 650;
  letter-spacing: -.015em;
}

/* ── Header ────────────────────────────────────────────────────── */
/* The prototype's nav, measured off theme-lab/stanhope/theme.css and
   reproduced here rather than pushed into menu-styles.ts: 'minimal',
   'underlineCenter' and the other seventeen looks are shared by 29
   shipped themes, and Stanhope wants a heavier, larger, blacker nav
   than any of them ship by default. Scoping it keeps the other 28
   navs byte-for-byte unchanged.

   The face is NOT set here and must not be: the nav already inherits
   Atkinson Hyperlegible from the preview root, which carries the
   theme's body font as an inline fontFamily (EditWpClient →
   themeFontStyle). Measured, not assumed — getComputedStyle on a nav
   item reports the theme's own body stack. Only weight, size, tracking
   and ink were wrong. */
[data-fs-theme='stanhope'] .fs-hdr-row { padding-block: .7rem; }
[data-fs-theme='stanhope'] .fs-hdr-row .fsmenu-underlineCenter {
  /* 0.9375rem = the prototype's --fs-type-caption; 700 because
     Atkinson ships 400 and 700 only, so the shared styles' 500 was
     being rendered as 400 and read a full grade too light. */
  font-size: .9375rem;
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1.6;
  /* Ink stays ink THROUGH the hover, which the shared style does not do
     — this rule outranks its .fsmenu-underlineCenter:hover colour, and
     that is the intended reading, not an accident to be tidied away.
     In the prototype a hovered nav link only DRAWS THE RULE; the label
     itself never changes colour, because brand ink is reserved for the
     page you are actually on. */
  color: rgb(var(--c-ink-950));
  /* The prototype's 44px hit box, with the rule sitting on its floor
     rather than 4px under the label. */
  display: inline-flex; align-items: center;
  min-height: 44px;
  padding-block: .7rem;
}
/* Square, and exactly as wide as the label — this is a 'sharp' theme,
   and the shared style's rounded 76%-width rule reads as a highlighter
   mark rather than as the optical datum the mark is built from. */
[data-fs-theme='stanhope'] .fs-hdr-row .fsmenu-underlineCenter::after {
  left: 0; right: 0; border-radius: 0;
}
/* The page you are on: brand ink, with the underline already drawn —
   the same gesture the hover animates to, held open. */
[data-fs-theme='stanhope'] .fs-hdr-row .fsmenu-underlineCenter.fsmw-active {
  color: rgb(var(--c-brand-600));
}
[data-fs-theme='stanhope'] .fs-hdr-row .fsmenu-underlineCenter.fsmw-active::after {
  transform: scaleX(1);
}

/* ════════════════════════════════════════════════════════════════
   BUTTONS AND HOVER — theme.css CONTROLS + the underline-draw grammar

   The nav already carried a theme-scoped refinement; the BUTTONS did
   not. Nothing in this file reached .fs-hdr-cta, .fsbtn or the cta
   block's own control, so every button on a Stanhope page drew the
   app's default and had no hover state at all — while the prototype's
   whole motion argument is that ONE gesture answers the pointer
   everywhere.

   The control, measured off theme-lab/stanhope/theme.css CONTROLS:

     min-height 44px · padding .7rem 1.4rem · 1px border
     the BODY face (font-family: inherit) at body size · 700
     line-height 1.2 · no tracking and no uppercase — deliberately
     plain, because this theme's voice is the datum rule, not the label

   THE GRAMMAR IS 'underline-draw', and it is drawn with background-size
   on a gradient rather than a pseudo-element — the prototype's own
   choice, so it needs no markup and stacks with anything already using
   ::before. Three tuned parameters, all preserved here: it grows from
   the CENTRE OUT (background-position: center bottom, to rhyme with the
   theme's underlineCenter menu style), it is the same 2px brand
   hairline as the section rule, and it arrives in 220ms on ease-out
   with no overshoot.

   On a filled brand button a brand underline is invisible, so the rule
   inverts to the page colour — theme.css does exactly this with
   --c-bg, which this app spells --c-paper (PITFALLS J1).

   No lift, no glow, no shadow: the prototype removes those by name. */
[data-fs-theme='stanhope'] .fsbtn,
[data-fs-theme='stanhope'] .fs-hdr-cta,
[data-fs-theme='stanhope'].fs-typo .fs-hdr-cta,
[data-fs-theme='stanhope'] [data-fs-role='cta'] a,
[data-fs-theme='stanhope'] [data-fs-role='cta'] span[class*='rounded-control'],
[data-fs-theme='stanhope'] .fs-hero-full span[class*='rounded-control'],
[data-fs-theme='stanhope'] .fs-op-btn,
[data-fs-theme='stanhope'] .fs-op-btn-ghost,
[data-fs-theme='stanhope'] [data-fs-fm-submit],
[data-fs-theme='stanhope'] [data-fs-fm-next] {
  font-family: inherit;
  font-size: var(--fs-type-body, 1rem);
  font-weight: 700;
  letter-spacing: normal;
  text-transform: none;
  line-height: 1.2;
  gap: .5em;
  min-height: 44px;
  padding: .7rem 1.4rem;
  border-radius: var(--fs-radius-control, 0);
  border-width: 1px;
  border-style: solid;
  background-image: linear-gradient(rgb(var(--c-brand-600)), rgb(var(--c-brand-600)));
  background-repeat: no-repeat;
  background-position: center bottom;
  background-origin: border-box;
  background-size: 0% 2px;
  transition: background-size .22s cubic-bezier(.2, .7, .3, 1),
              background-color .22s cubic-bezier(.2, .7, .3, 1),
              border-color .22s cubic-bezier(.2, .7, .3, 1),
              color .22s cubic-bezier(.2, .7, .3, 1);
}
/* The filled controls invert the rule to the page colour so the gesture
   is visible on their own brand fill. */
[data-fs-theme='stanhope'] .fsbtn,
[data-fs-theme='stanhope'] .fs-hdr-cta,
[data-fs-theme='stanhope'].fs-typo .fs-hdr-cta,
[data-fs-theme='stanhope'] [data-fs-role='cta'] a,
[data-fs-theme='stanhope'] .fs-op-btn,
[data-fs-theme='stanhope'] [data-fs-fm-submit] {
  background-image: linear-gradient(rgb(var(--c-paper)), rgb(var(--c-paper)));
}
/* The header CTA's hover needs the doubled selector too, and this one is
   not theoretical: HEADER_CONTACT_CSS ships
   .fs-typo .fs-hdr-cta:hover { background: ... } — the SHORTHAND, which
   resets background-image to none and so wiped the underline gradient
   the instant the pointer arrived. Measured: background-size went 0% 2px
   → auto and background-image → none on hover, i.e. the grammar
   vanished exactly when it was meant to appear. That rule is (0,3,0) and
   is injected after this sheet, so a plain scoped hover ties and loses;
   ].fs-typo takes it to (0,4,0). */
[data-fs-theme='stanhope'].fs-typo .fs-hdr-cta:hover,
[data-fs-theme='stanhope'].fs-typo .fs-hdr-cta:focus-visible,
[data-fs-theme='stanhope'] .fsbtn:hover,
[data-fs-theme='stanhope'] .fs-hdr-cta:hover,
[data-fs-theme='stanhope'] [data-fs-role='cta'] a:hover,
[data-fs-theme='stanhope'] [data-fs-role='cta'] span[class*='rounded-control']:hover,
[data-fs-theme='stanhope'] .fs-hero-full span[class*='rounded-control']:hover,
[data-fs-theme='stanhope'] .fs-op-btn:hover,
[data-fs-theme='stanhope'] .fs-op-btn-ghost:hover,
[data-fs-theme='stanhope'] [data-fs-fm-submit]:hover,
[data-fs-theme='stanhope'] .fsbtn:focus-visible,
[data-fs-theme='stanhope'] .fs-hdr-cta:focus-visible,
[data-fs-theme='stanhope'] .fs-op-btn:focus-visible {
  /* background-image RESTATED here, not only on the base rule: the
     shorthand described above lands on :hover, so a gradient declared
     only at rest is gone by the time this rule's background-size has
     anything to size. */
  background-image: linear-gradient(rgb(var(--c-paper)), rgb(var(--c-paper)));
  background-repeat: no-repeat;
  background-position: center bottom;
  background-origin: border-box;
  background-size: 100% 2px;
  transform: none;
  box-shadow: none;
}
/* The outlined controls draw the rule in BRAND, not paper — restated on
   hover for the same reason, after the filled block above so it wins. */
[data-fs-theme='stanhope'] [data-fs-role='cta'] span[class*='rounded-control']:not(.fsbtn):hover,
[data-fs-theme='stanhope'] .fs-hero-full span[class*='rounded-control']:not(.fsbtn):hover,
[data-fs-theme='stanhope'] .fs-op-btn-ghost:hover {
  background-image: linear-gradient(rgb(var(--c-brand-600)), rgb(var(--c-brand-600)));
}
[data-fs-theme='stanhope'] .fsbtn:active,
[data-fs-theme='stanhope'] .fs-hdr-cta:active,
[data-fs-theme='stanhope'] [data-fs-role='cta'] a:active { transform: none; }
@media (prefers-reduced-motion: reduce) {
  [data-fs-theme='stanhope'] .fsbtn,
  [data-fs-theme='stanhope'] .fs-hdr-cta,
  [data-fs-theme='stanhope'] [data-fs-role='cta'] a { transition: none; }
}

/* ── Motion — resolves, never bounces. Gated by .fs-op-anim ────── */
@media (prefers-reduced-motion: no-preference) {
  .fs-op-anim .fs-op-fees > li,
  .fs-op-anim .fs-op-register-row {
    animation: fs-op-settle .5s cubic-bezier(.2,.7,.3,1) both;
  }
}
@keyframes fs-op-settle {
  from { opacity: 0; transform: translateY(4px); }
  to   { opacity: 1; transform: none; }
}

/* ── Wireframe — strip colour to lines, as every other set ─────── */
.fs-op-wire .fs-op-urgent,
.fs-op-wire .fs-op-voucher { background: none; }
.fs-op-wire .fs-op-urgent { border-left-color: rgb(var(--c-line)); }
.fs-op-wire .fs-op-symptoms li { border-color: rgb(var(--c-line)); }
.fs-op-wire .fs-op-entitle li::before,
.fs-op-wire .fs-op-entitle li::after { border-color: rgb(var(--c-line)); background: none; }
.fs-op-wire .fs-op-statute { border-top-color: rgb(var(--c-line)); }

/* ── Print — a fee schedule is a thing people actually print ───── */
@media print {
  .fs-op-anim .fs-op-fees > li,
  .fs-op-anim .fs-op-register-row { animation: none; opacity: 1; transform: none; }
  .fs-op-urgent, .fs-op-voucher, .fs-op-entitle, .fs-op-statute { background: none; }
  .fs-op-rx-scroll { overflow: visible; }
}

/* ── favOpticFooter (theme-chrome batch 2, Stanhope) ───────────────
   fs-op-ft: the full-bleed band (named container); fs-op-ft-in: the
   content box, which narrows with the Layout (named container). */
.fs-op-ft{container-type:inline-size;container-name:fs-op-ft;padding:0 clamp(1rem,4vw,2.5rem);background:rgb(var(--c-paper-soft));border-top:1px solid var(--op-ft-rule);--op-ft-rule:rgb(var(--c-ink-950) / .16);--op-ft-tint:rgb(var(--c-brand-600) / .08)}
.fs-op-ft:is(.dark *):not(.fs-preview-light *){--op-ft-tint:rgb(var(--c-brand-600) / .1)}
.fs-op-ft-in{container-type:inline-size;container-name:fs-op-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:52px 30px}

/* The datum eyebrow device (mockup 99–102) and the register link
   (mockup 135–136), ported under the footer's own namespace. */
.fs-op-ft-datum{display:flex;align-items:center;gap:14px}
.fs-op-ft-eyebrow{display:flex;align-items:center;gap:14px;flex:1;min-width:0;font-weight:700;font-size:12px;line-height:1.3;letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--c-brand-text))}
.fs-op-ft-eyebrow::after{content:"";flex:1;min-width:16px;border-top:1px solid var(--op-ft-rule)}
.fs-op-ft-chip{display:inline-block;flex:none;padding:.14em .55em;border:1px solid var(--op-ft-rule);font-size:13px;line-height:1.35;letter-spacing:.04em;color:rgb(var(--c-ink-700));font-variant-numeric:tabular-nums;white-space:nowrap}
.fs-op-ft-link{font-weight:700;font-size:14.5px;line-height:1.4;color:rgb(var(--c-brand-text));white-space:nowrap;text-decoration:none;background:linear-gradient(rgb(var(--c-brand-600)),rgb(var(--c-brand-600))) no-repeat center bottom/100% 1px;transition:background-size .22s cubic-bezier(.2,.7,.3,1)}
.fs-op-ft-link:hover,.fs-op-ft-link:focus-visible{background-size:100% 2px}

/* The register-extract body (mockup 183–206). */
.fs-op-ft-head .fs-op-ft-eyebrow{font-size:12.5px;letter-spacing:.14em}
.fs-op-ft-top{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:22px 40px;align-items:start;margin-top:22px}
.fs-op-ft-state{max-width:30ch;font-weight:500;font-size:var(--op-ft-state-fs,27px);line-height:1.3;font-family:var(--font-display, Georgia, serif);letter-spacing:-.01em;color:rgb(var(--c-ink-950))}
.fs-op-ft-addr{font-size:15px;line-height:1.5}
.fs-op-ft-tel{display:block;margin-top:2px;font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:30px;line-height:1.15;color:rgb(var(--c-brand-text));font-variant-numeric:tabular-nums;text-decoration:none}
.fs-op-ft-ooh{margin-top:14px;padding:9px 12px 9px 12px;background:var(--op-ft-tint);border-left:4px solid rgb(var(--c-accent, var(--c-brand-600)));font-size:13.5px;line-height:1.45}
.fs-op-ft-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,.9fr);gap:28px 40px;margin-top:40px}
.fs-op-ft-col{min-width:0}
.fs-op-ft-h{margin-bottom:6px}
.fs-op-ft-hours{margin:0;padding:0}
.fs-op-ft-hrow{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-block:8px;border-bottom:1px solid var(--op-ft-rule)}
.fs-op-ft-dt{font-size:14px;color:rgb(var(--c-ink-700))}
.fs-op-ft-dd{margin:0;font-family:var(--font-display, Georgia, serif);font-weight:600;font-size:15.5px;line-height:1.2;font-variant-numeric:tabular-nums;white-space:nowrap}
.fs-op-ft-note{margin-top:10px;font-size:13.5px;line-height:1.5;color:rgb(var(--c-ink-700))}
.fs-op-ft-reg{list-style:none;margin:0;padding:0}
.fs-op-ft-person{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-block:7px;border-bottom:1px solid var(--op-ft-rule)}
.fs-op-ft-pn{display:block;font-weight:700;font-size:14.5px;line-height:1.3}
.fs-op-ft-pc{display:block;font-size:11.5px;line-height:1.3;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
.fs-op-ft-person .fs-op-ft-chip{font-weight:700;color:rgb(var(--c-ink-950))}
.fs-op-ft-col .fs-op-ft-link{display:inline-block;margin-top:12px;white-space:normal}
.fs-op-ft-links{list-style:none;margin:0;padding:0}
.fs-op-ft-li{border-bottom:1px solid var(--op-ft-rule)}
.fs-op-ft-page{display:inline-block;padding-block:8px;font-size:14.5px;line-height:1.3;color:rgb(var(--c-ink-950));text-decoration:none;background:linear-gradient(rgb(var(--c-brand-600)),rgb(var(--c-brand-600))) no-repeat center calc(100% - 5px)/0% 2px;transition:background-size .22s cubic-bezier(.2,.7,.3,1)}
.fs-op-ft-page:hover,.fs-op-ft-page:focus-visible{background-size:100% 2px}
.fs-op-ft-legal{display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:36px;padding-top:14px;border-top:1px solid var(--op-ft-rule);font-size:12.5px;color:rgb(var(--c-ink-700))}
.fs-op-ft-legal-t{margin-right:auto}
.fs-op-ft-legal-a{color:inherit;text-decoration:none}
.fs-op-ft-legal-a:hover{color:rgb(var(--c-ink-950));text-decoration:underline}

@container fs-op-ft (max-width: 40rem){
  .fs-op-ft-in{padding-block:38px 24px}
}
@container fs-op-ft-in (max-width: 56rem){
  .fs-op-ft-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-op-ft-col:nth-child(3){grid-column:1/-1}
  .fs-op-ft-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:28px}
  .fs-op-ft-state{--op-ft-state-fs:23px}
}
@container fs-op-ft (max-width: 48rem){
  .fs-op-ft-top{grid-template-columns:minmax(0,1fr)}
  .fs-op-ft-cols{grid-template-columns:minmax(0,1fr);margin-top:32px}
  .fs-op-ft-col:nth-child(3){grid-column:auto}
  .fs-op-ft-links{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-op-ft-state{--op-ft-state-fs:22px}
}
@container fs-op-ft (max-width: 30rem){
  .fs-op-ft-links{grid-template-columns:minmax(0,1fr)}
  .fs-op-ft-head .fs-op-ft-chip{font-size:12px}
  .fs-op-ft-legal-t{flex-basis:100%}
}
@media (prefers-reduced-motion: reduce){
  .fs-op-ft-link,.fs-op-ft-page{transition:none}
}


/* ── The shell ─────────────────────────────────────────────────── */
/* Signature blocks own their section padding and inner measure — the
   renderer does NOT supply them (PORTING pitfall 5). */
.fs-nb {
  position: relative;
  background: rgb(var(--c-paper));
  color: rgb(var(--c-ink-950));
}
.fs-nb * { box-sizing: border-box; }
.fs-nb-shell {
  max-width:var(--fs-layout-max,72rem);
  margin-inline: auto;
  padding: var(--fs-space-section, clamp(3.5rem, 8vw, 6rem)) clamp(1rem, 4vw, 2.5rem);
}
.fs-nb-direct-section .fs-nb-shell { padding-block: calc(var(--fs-space-section, 4rem) * 0.6); }

/* ── The overhanging rule — the theme's signature device ─────────── */
.fs-nb-ruled {
  position: relative;
  padding-top: 1.1rem;
  margin-bottom: var(--fs-space-heading, 2rem);
}
.fs-nb-ruled::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: rgb(var(--c-ink-950));
}
.fs-nb-eyebrow {
  font-size: var(--fs-type-eyebrow, .75rem);
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgb(var(--c-ink-400));
  margin: 0 0 .5rem;
}
.fs-nb-h2 {
  font-family: var(--font-display);
  font-size: var(--fs-type-h2, 2.5rem);
  font-weight: 650;
  line-height: 1.2;
  letter-spacing: -.015em;
  color: rgb(var(--c-ink-950));
}
.fs-nb-h3 {
  font-family: var(--font-display);
  font-size: var(--fs-type-h3, 1.5rem);
  font-weight: 600;
  line-height: 1.25;
  color: rgb(var(--c-ink-950));
}
.fs-nb-lead {
  margin-top: var(--fs-space-stack, .75rem);
  font-family: var(--font-display);
  font-size: var(--fs-type-h3, 1.5rem);
  line-height: 1.45;
  color: rgb(var(--c-ink-700));
}
.fs-nb-body { color: rgb(var(--c-ink-700)); margin-top: var(--fs-space-stack, .75rem); }

/* ── favStayTariff ─────────────────────────────────────────────── */
.fs-nb-table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.fs-nb-tariff { width: 100%; border-collapse: collapse; }
.fs-nb-tariff caption {
  text-align: left;
  font-size: .875rem;
  color: rgb(var(--c-ink-400));
  padding-bottom: var(--fs-space-gap, 1rem);
}
.fs-nb-tariff th, .fs-nb-tariff td { padding: 1.1rem .75rem; vertical-align: baseline; }
.fs-nb-tariff th:first-child, .fs-nb-tariff tbody th { text-align: left; }
.fs-nb-tariff thead th:not(:first-child), .fs-nb-tariff td { text-align: right; }
.fs-nb-tariff th:first-child, .fs-nb-tariff td:first-child { padding-inline-start: 0; }
.fs-nb-tariff th:last-child, .fs-nb-tariff td:last-child { padding-inline-end: 0; }
.fs-nb-tariff thead th {
  font-size: var(--fs-type-eyebrow, .75rem);
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgb(var(--c-ink-400));
  border-bottom: 2px solid rgb(var(--c-ink-950));
  padding-bottom: .7rem;
}
.fs-nb-tariff tbody tr { border-bottom: 1px solid rgb(var(--c-line) / .5); }
.fs-nb-tariff tbody th { font-family: var(--font-display); font-size: var(--fs-type-h3, 1.5rem); font-weight: 600; }
.fs-nb-tariff tbody th span {
  display: block;
  font-family: inherit; font-size: .875rem; font-weight: 400;
  color: rgb(var(--c-ink-400));
  margin-top: .2rem;
}
.fs-nb-rate {
  font-family: var(--font-display);
  font-size: var(--fs-type-h3, 1.5rem);
  font-variant-numeric: tabular-nums lining-nums;
  white-space: nowrap;
}
.fs-nb-total {
  margin-top: var(--fs-space-gap, 1rem);
  padding-top: 1.1rem;
  border-top: 2px solid rgb(var(--c-ink-950));
  display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; align-items: baseline;
}
.fs-nb-total strong { font-family: var(--font-display); font-size: var(--fs-type-h3, 1.5rem); font-weight: 600; }
.fs-nb-total span { font-size: .875rem; color: rgb(var(--c-ink-700)); }
.fs-nb-notes { margin-top: var(--fs-space-gap, 1rem); display: grid; gap: var(--fs-space-stack, .75rem); padding: 0; list-style: none; }
.fs-nb-notes li { position: relative; padding-left: 1.75rem; font-size: .875rem; color: rgb(var(--c-ink-700)); }
.fs-nb-notes li::before {
  content: ''; position: absolute; left: 0; top: .72em;
  width: 1.25rem; height: 1px; background: rgb(var(--c-ink-400));
}
/* The mobile restack — one room per card, each rate on its own
   labelled row. A four-column rate table cannot fit 320px, and a
   guest should never have to scroll sideways to read a price. */
@media (max-width: 39.99em) {
  .fs-nb-tariff, .fs-nb-tariff tbody, .fs-nb-tariff tr,
  .fs-nb-tariff tbody th, .fs-nb-tariff td { display: block; width: 100%; }
  .fs-nb-tariff caption { display: block; }
  .fs-nb-tariff thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .fs-nb-tariff tbody tr { border-top: 2px solid rgb(var(--c-ink-950)); border-bottom: 0; padding-block: var(--fs-space-gap, 1rem); }
  .fs-nb-tariff tbody th { padding: 0 0 .75rem; }
  .fs-nb-tariff td {
    display: flex; justify-content: space-between; align-items: baseline;
    gap: var(--fs-space-gap, 1rem); padding: .45rem 0; text-align: right;
    border-top: 1px solid rgb(var(--c-line) / .4);
  }
  .fs-nb-tariff td::before {
    content: attr(data-label);
    font-size: .875rem; font-weight: 400; letter-spacing: .02em;
    color: rgb(var(--c-ink-400)); text-align: left;
  }
}

/* ── favStayRooms ──────────────────────────────────────────────── */
.fs-nb-diagram {
  margin: 0 0 var(--fs-space-section, 3.5rem);
  padding: var(--fs-space-card, 1.5rem);
  border: 1px solid rgb(var(--c-line));
}
.fs-nb-diagram svg.fs-nb-section { width: 100%; height: auto; display: block; color: rgb(var(--c-ink-950)); }
.fs-nb-diagram figcaption { margin-top: var(--fs-space-stack, .75rem); font-size: .875rem; color: rgb(var(--c-ink-700)); }
.fs-nb-room-grid { display: grid; gap: var(--fs-space-section, 3.5rem); }
.fs-nb-room { display: grid; gap: var(--fs-space-card, 1.5rem); align-items: start; }
@media (min-width: 48rem) { .fs-nb-room { grid-template-columns: 1fr 1fr; } }
.fs-nb-room-media { position: relative; }
.fs-nb-room-media img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border: 1px solid rgb(var(--c-line) / .5); display: block; }
.fs-nb-room-price {
  position: absolute; top: 0; right: 0;
  background: rgb(var(--c-paper));
  border-left: 1px solid rgb(var(--c-line) / .5);
  border-bottom: 1px solid rgb(var(--c-line) / .5);
  padding: .6rem .9rem; margin: 0;
  font-family: var(--font-display); font-size: var(--fs-type-h3, 1.5rem);
  font-variant-numeric: tabular-nums;
}
.fs-nb-room-price span {
  display: block; font-family: inherit; font-size: var(--fs-type-eyebrow, .75rem);
  letter-spacing: .1em; text-transform: uppercase; color: rgb(var(--c-ink-400));
}
.fs-nb-facts { margin: var(--fs-space-gap, 1rem) 0 0; display: grid; grid-template-columns: 1fr; }
.fs-nb-facts > div {
  display: flex; justify-content: space-between; gap: var(--fs-space-gap, 1rem);
  padding-block: .6rem; border-top: 1px solid rgb(var(--c-line) / .45);
}
.fs-nb-facts > div:last-child { border-bottom: 1px solid rgb(var(--c-line) / .45); }
.fs-nb-facts dt { font-size: .8125rem; color: rgb(var(--c-ink-400)); letter-spacing: .04em; }
.fs-nb-facts dd { margin: 0; font-size: .8125rem; font-weight: 600; color: rgb(var(--c-ink-950)); text-align: right; }

/* ── favStayArrival ────────────────────────────────────────────── */
.fs-nb-arrival-grid { display: grid; grid-template-columns: 1fr; }
@media (min-width: 48rem) { .fs-nb-arrival-grid { grid-template-columns: 1fr 1fr; column-gap: var(--fs-space-section, 3rem); } }
.fs-nb-arrival-item {
  display: grid; grid-template-columns: 2.25rem 1fr; gap: var(--fs-space-gap, 1rem);
  align-items: start; padding-block: var(--fs-space-gap, 1rem);
  border-top: 1px solid rgb(var(--c-line) / .55);
}
.fs-nb-arrival-item svg { width: 1.75rem; height: 1.75rem; color: rgb(var(--c-brand-600)); }
.fs-nb-arrival-item h3 { font-family: var(--font-display); font-size: var(--fs-type-h3, 1.5rem); font-weight: 600; color: rgb(var(--c-ink-950)); }
.fs-nb-arrival-item p { margin-top: .35rem; color: rgb(var(--c-ink-700)); font-size: .875rem; }

/* ── favStayDirect — the book-direct argument ─────────────────── */
.fs-nb-direct { background: rgb(var(--c-brand-600)); padding: var(--fs-space-card, 2rem); }
.fs-nb-on-direct { color: rgb(255 255 255 / .94); }
.fs-nb-eyebrow-on-direct { color: rgb(255 255 255 / .72); }
.fs-nb-direct .fs-nb-h2 { color: #fff; margin-top: var(--fs-space-stack, .5rem); }
.fs-nb-direct-split { display: grid; gap: var(--fs-space-section, 2.5rem); }
@media (min-width: 56rem) { .fs-nb-direct-split { grid-template-columns: 1fr 1fr; align-items: start; } }
.fs-nb-direct-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.fs-nb-direct-list li {
  display: grid; grid-template-columns: 1.5rem 1fr; gap: .85rem;
  padding-block: .85rem; border-top: 1px solid rgb(255 255 255 / .28);
  color: #fff; font-size: .875rem;
}
.fs-nb-direct-list li:last-child { border-bottom: 1px solid rgb(255 255 255 / .28); }
.fs-nb-direct-list li::before {
  content: ''; width: 1.1rem; height: .6rem; margin-top: .35em;
  border-left: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(-45deg);
}
.fs-nb-direct-foot { margin-top: var(--fs-space-gap, 1rem); padding-top: var(--fs-space-gap, 1rem); border-top: 2px solid rgb(255 255 255 / .5); }
.fs-nb-btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px; padding: .75rem 1.5rem; font-size: .9375rem; font-weight: 600;
  border: 1px solid #fff;
}
.fs-nb-btn-reverse { background: rgb(var(--c-paper)); color: rgb(var(--c-brand-700)); border-color: rgb(var(--c-paper)); }

/* ── favStayNearby ─────────────────────────────────────────────── */
.fs-nb-nearby-grid { display: grid; gap: 0; }
.fs-nb-near {
  display: grid; grid-template-columns: 1fr auto; gap: var(--fs-space-gap, 1rem);
  align-items: baseline; padding-block: .95rem; border-top: 1px solid rgb(var(--c-line) / .5);
}
.fs-nb-nearby-grid .fs-nb-near:last-child { border-bottom: 1px solid rgb(var(--c-line) / .5); }
.fs-nb-near-name { margin: 0; font-family: var(--font-display); font-size: var(--fs-type-h3, 1.5rem); color: rgb(var(--c-ink-950)); }
.fs-nb-near-name span { display: block; font-family: var(--font-body, inherit); font-size: .875rem; color: rgb(var(--c-ink-400)); margin-top: .15rem; }
.fs-nb-near-dist { margin: 0; font-size: .875rem; font-variant-numeric: tabular-nums; font-weight: 600; white-space: nowrap; color: rgb(var(--c-ink-700)); }

/* ── favStayCredentials ────────────────────────────────────────── */
.fs-nb-cred-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--fs-space-gap, 1.5rem);
  margin-top: var(--fs-space-stack, 1.5rem);
}
.fs-nb-cred-item { padding-top: .95rem; border-top: 1px solid rgb(var(--c-line) / .5); }
.fs-nb-cred-num { margin: 0; font-family: var(--font-display); font-size: var(--fs-type-h3, 1.25rem); color: rgb(var(--c-ink-950)); }
.fs-nb-cred-body { margin: .35rem 0 0; font-size: .875rem; line-height: 1.5; color: rgb(var(--c-ink-700)); }
.fs-nb-cred-link {
  display: inline-block; margin-top: .5rem; font-size: .8125rem; font-weight: 600;
  color: rgb(var(--c-brand-600)); text-underline-offset: .2em;
}
.fs-nb-cred-link:hover { color: rgb(var(--c-brand-700)); }
@media (max-width: 40rem) {
  .fs-nb-cred-grid { grid-template-columns: 1fr 1fr; }
}

/* ══ THEME-SCOPED REFINEMENT OF THE UNIVERSAL BLOCKS ══════════
   [data-fs-theme] is stamped on the preview root by EditWpClient and on
   the published page by PublicSiteClient — the generic hook that lets a
   theme refine the SHARED blocks without restyling them for the other
   twenty-nine themes. Nothing below is unscoped.

   Why this section is long. Half of every Nightbell page is universal
   blocks (services, cta, textBlock, quote, gallery, about, the
   accordion, testimonials, the team grid, the form, the map), and the
   app draws them in its own register: centred, rounded, card-filled,
   headings at a flat 24px. The prototype's register is the opposite of
   all four — left-aligned, sharp, unfilled, and every section opening
   under the same overhanging 2px rule the signature family uses. A port
   that leaves them alone is not a mirror of the prototype, it is the
   theme's own blocks pasted into somebody else's page.

   The hooks used here are the ones the shared blocks already publish:
   [data-fs-role] on the SectionRenderer cases, .fs-heading / .fs-prose /
   .fs-head / .fs-card-title on their parts, .fs-head-slot on the
   testimonials and team headings, [data-fs-acc] on the accordion,
   .fs-section-shell on the form. No new markup, except data-fs-role on
   MapBlock, which was the one block publishing no hook at all. */

/* ── The heading register ─────────────────────────────── */
/* Every shared block's section heading, in the theme's display serif at
   the theme's own h2 step — the app ships them at a flat text-2xl,
   which is what made a Nightbell page read as two designs stapled
   together. */
[data-fs-theme='nightbell'] [data-fs-role='services'] .fs-heading,
[data-fs-theme='nightbell'] [data-fs-role='textBlock'] .fs-heading,
[data-fs-theme='nightbell'] [data-fs-role='about'] .fs-heading,
[data-fs-theme='nightbell'] [data-fs-role='gallery'] .fs-heading,
[data-fs-theme='nightbell'] [data-fs-role='showcase'] .fs-heading,
[data-fs-theme='nightbell'] [data-fs-role='cta'] .fs-heading,
[data-fs-theme='nightbell'] [data-fs-role='map'] .fs-heading,
[data-fs-theme='nightbell'] .fs-section-shell > .fs-heading,
[data-fs-theme='nightbell'] .fs-head-slot,
[data-fs-theme='nightbell'] [data-fs-acc] > h2 {
  font-family: var(--font-display);
  font-size: var(--fs-type-h2, 2.5rem);
  font-weight: 650;
  line-height: 1.2;
  letter-spacing: -.015em;
  text-align: left;
  margin-inline: 0;
  color: rgb(var(--c-ink-950));
}
/* The app centres these blocks with data-align="center". The hero keeps
   its own centring — it is a full-bleed photograph, not a ruled band. */
[data-fs-theme='nightbell'] [data-fs-block][data-align='center']:not([data-fs-role='hero']),
[data-fs-theme='nightbell'] [data-fs-block][data-align='center']:not([data-fs-role='hero']) .fs-prose,
[data-fs-theme='nightbell'] .fs-section-shell > p {
  text-align: left;
  margin-inline: 0;
}
[data-fs-theme='nightbell'] .fs-prose { max-width: var(--fs-measure, 68ch); }
/* block-chrome.ts centres the heading CLUSTER at (0,2,1) —
   [data-fs-block][data-align="center"] .fs-head — and pushes every child
   to margin-inline:auto, which is why setting text-align on the block
   alone left the heading centred. Beat it on its own terms. */
[data-fs-theme='nightbell'] [data-fs-block][data-align='center']:not([data-fs-role='hero']) .fs-head,
[data-fs-theme='nightbell'] [data-fs-block][data-align='center']:not([data-fs-role='hero']) [data-fs-head] {
  text-align: left;
  align-items: flex-start;
}
[data-fs-theme='nightbell'] [data-fs-block][data-align='center']:not([data-fs-role='hero']) .fs-head > *,
[data-fs-theme='nightbell'] [data-fs-block][data-align='center']:not([data-fs-role='hero']) [data-fs-head] > * {
  margin-inline: 0;
}
[data-fs-theme='nightbell'] .fs-head-slot > * {
  font-family: var(--font-display);
  text-align: left;
}

/* ── The overhanging rule, on the shared blocks too ─────────── */
/* Same device as .fs-nb-ruled: a 2px rule across the top of the heading
   cluster. Applied to the block's inner measure so it lines up with the
   signature family's shell above and below it. */
[data-fs-theme='nightbell'] [data-fs-role='services'] .fs-head,
[data-fs-theme='nightbell'] [data-fs-role='textBlock'] [data-fs-inner],
[data-fs-theme='nightbell'] [data-fs-role='gallery'] [data-fs-inner],
[data-fs-theme='nightbell'] [data-fs-role='cta'] > div:last-child,
[data-fs-theme='nightbell'] .fs-testimonials-section .fs-head-slot,
[data-fs-theme='nightbell'] .fs-team-section .fs-head-slot,
[data-fs-theme='nightbell'] .fs-section-shell,
[data-fs-theme='nightbell'] [data-fs-acc] {
  position: relative;
  padding-top: 1.1rem;
}
[data-fs-theme='nightbell'] [data-fs-role='services'] .fs-head::before,
[data-fs-theme='nightbell'] [data-fs-role='textBlock'] [data-fs-inner]::before,
[data-fs-theme='nightbell'] [data-fs-role='gallery'] [data-fs-inner]::before,
[data-fs-theme='nightbell'] [data-fs-role='cta'] > div:last-child::before,
[data-fs-theme='nightbell'] .fs-testimonials-section .fs-head-slot::before,
[data-fs-theme='nightbell'] .fs-team-section .fs-head-slot::before,
[data-fs-theme='nightbell'] .fs-section-shell::before,
[data-fs-theme='nightbell'] [data-fs-acc]::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: rgb(var(--c-ink-950));
}

/* ── No card fills, anywhere ───────────────────────── */
/* A card in this theme is a keyline and a column, never a filled box
   with a lifted shadow. The hover lift goes with them: nothing on a
   Nightbell page moves under the pointer except a link's colour. */
[data-fs-theme='nightbell'] [data-fs-block] [data-fs-surface='card'] {
  background: none;
  border: 0;
  border-top: 1px solid rgb(var(--c-line) / .55);
  border-radius: 0;
  box-shadow: none;
  padding: .95rem 0 0;
  transform: none;
}
[data-fs-theme='nightbell'] [data-fs-block] [data-fs-surface='card']:hover {
  transform: none;
  box-shadow: none;
}
[data-fs-theme='nightbell'] .fs-card-title {
  font-family: var(--font-display);
  font-size: var(--fs-type-h3, 1.5rem);
  font-weight: 600;
  margin-top: 0;
  color: rgb(var(--c-ink-950));
}
[data-fs-theme='nightbell'] [data-fs-role='services'] { background: rgb(var(--c-paper-soft)); }
/* The app's rounded brand-tinted icon chip and the 4px brand bar across
   the card's top edge. The prototype's rate columns carry neither: the
   keyline does that work, and a decorative star above "Breakfast, cooked
   to order" is exactly the stock-photography register this theme is
   arguing against. */
[data-fs-theme='nightbell'] [data-fs-role='services'] [data-fs-surface='card'] > span {
  display: none;
}

/* ── cta ────────────────────────────────────── */
/* The prototype closes every page on PAPER, not on a brand fill — the
   one brand-filled panel in the theme is favStayDirect, and having two
   of them on a page spends the emphasis twice. */
[data-fs-theme='nightbell'] [data-fs-role='cta'] {
  background: rgb(var(--c-paper));
  border-top: 0;
  text-align: left;
}
[data-fs-theme='nightbell'] [data-fs-role='cta'] > div[aria-hidden],
[data-fs-theme='nightbell'] [data-fs-role='cta'] > div.pointer-events-none {
  display: none; /* the two blurred brand blobs */
}
[data-fs-theme='nightbell'] [data-fs-role='cta'] .fs-heading {
  color: rgb(var(--c-ink-950)) !important;
}
[data-fs-theme='nightbell'] [data-fs-role='cta'] .fs-prose {
  color: rgb(var(--c-ink-700)) !important;
  margin-inline: 0;
}
[data-fs-theme='nightbell'] [data-fs-role='cta'] a,
[data-fs-theme='nightbell'] [data-fs-role='cta'] span[class*='rounded-control'] {
  background: rgb(var(--c-brand-600));
  color: #fff;
}

/* ════════════════════════════════════════════════════════════════
   BUTTONS AND HOVER — theme.css "Buttons", on every button the app draws

   This scope reached the cta block's button and nothing else: the
   header call-to-action, the hero's pair and the form's submit drew the
   app's default control, and NO button on a Nightbell page had a hover
   state at all. The prototype's rule set, measured off
   theme-lab/nightbell/theme.css:

     min-height 2.75rem · padding .7rem 1.5rem · 1px border
     BODY face, not the display one · caption size · 600
     uppercase at .08em — the quiet, wide-tracked control of the theme

   And its grammar: a warm accent bloom, no ring, arriving on hover and
   softening on press. The prototype is explicit that nothing moves —
   "a control that moves under a thumb is a missed tap, and this
   theme's whole argument is that nothing on the page shifts" — so the
   app preset's translateY(1px) on :active is neutralised rather than
   left to contradict it.

   Values inlined from tokens.css: --nb-glow / --nb-glow-soft are
   theme-lab tokens apply.ts does not emit, and an undefined var() with
   no fallback draws no shadow at all. */
[data-fs-theme='nightbell'] .fsbtn,
[data-fs-theme='nightbell'] .fs-hdr-cta,
[data-fs-theme='nightbell'].fs-typo .fs-hdr-cta,
[data-fs-theme='nightbell'] [data-fs-role='cta'] a,
[data-fs-theme='nightbell'] [data-fs-role='cta'] span[class*='rounded-control'],
[data-fs-theme='nightbell'] .fs-hero-full span[class*='rounded-control'],
[data-fs-theme='nightbell'] [data-fs-fm-submit],
[data-fs-theme='nightbell'] [data-fs-fm-next] {
  font-family: var(--font-sans, inherit);
  font-size: var(--fs-type-caption, .875rem);
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  gap: .5rem;
  min-height: 2.75rem;
  padding: .7rem 1.5rem;
  /* Sharp — the theme's radius dial, and the reason the old rule set
     border-radius: 0 by hand. */
  border-radius: var(--fs-radius-control, 0);
  border-width: 1px;
  border-style: solid;
  transition: background-color .22s cubic-bezier(.2, .7, .3, 1),
              color .22s cubic-bezier(.2, .7, .3, 1),
              border-color .22s cubic-bezier(.2, .7, .3, 1),
              box-shadow .22s cubic-bezier(.2, .7, .3, 1);
}
[data-fs-theme='nightbell'] .fsbtn:hover,
[data-fs-theme='nightbell'] .fs-hdr-cta:hover,
[data-fs-theme='nightbell'] [data-fs-role='cta'] a:hover,
[data-fs-theme='nightbell'] [data-fs-role='cta'] span[class*='rounded-control']:hover,
[data-fs-theme='nightbell'] .fs-hero-full span[class*='rounded-control']:hover,
[data-fs-theme='nightbell'] [data-fs-fm-submit]:hover,
[data-fs-theme='nightbell'] .fsbtn:focus-visible,
[data-fs-theme='nightbell'] .fs-hdr-cta:focus-visible {
  box-shadow: 0 0 26px -6px rgb(var(--c-accent, var(--c-brand-600)) / .34),
              0 1px 10px -4px rgb(var(--c-accent, var(--c-brand-600)) / .22);
  transform: none;
}
[data-fs-theme='nightbell'] .fsbtn:active,
[data-fs-theme='nightbell'] .fs-hdr-cta:active,
[data-fs-theme='nightbell'] [data-fs-role='cta'] a:active,
[data-fs-theme='nightbell'] [data-fs-fm-submit]:active {
  box-shadow: 0 0 18px -6px rgb(var(--c-accent, var(--c-brand-600)) / .22);
  transform: none;
}
/* The ghost half of the pair warms its border to the accent. */
[data-fs-theme='nightbell'] .fs-hero-full span[class*='rounded-control']:not(.fsbtn):hover {
  border-color: rgb(var(--c-accent, var(--c-brand-600)));
}

/* ── quote ──────────────────────────────────── */
[data-fs-theme='nightbell'] [data-fs-role='quote'] [data-fs-surface='card'] {
  border: 0; box-shadow: none; background: none; border-radius: 0;
  max-width: min(46rem, var(--fs-layout-clamp, 46rem));
  margin-inline: 0;
  text-align: left;
  padding: 0;
}
/* The block renders the quotation as a <p>, not a <blockquote> — measured
   in the canvas, not assumed from the name. */
[data-fs-theme='nightbell'] [data-fs-role='quote'] blockquote,
[data-fs-theme='nightbell'] [data-fs-role='quote'] [data-fs-surface='card'] > p {
  font-family: var(--font-display);
  font-style: italic;
  font-size: var(--fs-type-h2, 2.25rem);
  line-height: 1.25;
  letter-spacing: -.01em;
  color: rgb(var(--c-ink-950));
  max-width: min(40rem, var(--fs-layout-clamp, 40rem));
  margin-inline: 0;
  margin-top: 0;
  text-align: left;
}
[data-fs-theme='nightbell'] [data-fs-role='quote'] [data-fs-surface='card'] > span {
  color: rgb(var(--c-ink-400));
  font-size: .8125rem;
  letter-spacing: .1em;
  text-transform: uppercase;
}
[data-fs-theme='nightbell'] [data-fs-role='quote'] svg { display: none; }

/* ── Photography ─────────────────────────────── */
/* The tile WRAPPER carries the rounding and the ring, not the <img>. */
[data-fs-theme='nightbell'] [data-fs-role='gallery'] [class*='rounded-'],
[data-fs-theme='nightbell'] [data-fs-role='gallery'] img,
[data-fs-theme='nightbell'] [data-fs-role='about'] img,
[data-fs-theme='nightbell'] [data-fs-role='showcase'] img,
[data-fs-theme='nightbell'] .fs-team-section img {
  border-radius: 0 !important;
}

/* ── favAccordion ────────────────────────────── */
/* The prototype's FAQ is a stack of ruled rows with a chevron — no
   boxes, no fills, no rounding. The block already offers a 'divider'
   layout; these are the theme's own tokens on top of it. */
[data-fs-theme='nightbell'] [data-fs-acc] {
  --fs-acc-radius: 0px;
  --fs-acc-gap: 0px;
}
[data-fs-theme='nightbell'] [data-fs-acc] [class*='rounded'] { border-radius: 0 !important; }
[data-fs-theme='nightbell'] [data-fs-acc] > h2 { margin-bottom: .5rem; }

/* ── favTestimonials / favTeam ────────────────────── */
[data-fs-theme='nightbell'] .fs-testimonials-section,
[data-fs-theme='nightbell'] .fs-team-section {
  background: rgb(var(--c-paper-soft));
}
[data-fs-theme='nightbell'] .fs-testimonials-section [class*='rounded'],
[data-fs-theme='nightbell'] .fs-team-section [class*='rounded'] {
  border-radius: 0 !important;
}
/* The keyline, restated ABOVE the card's own border:0 — the theme wants
   no box but it does want the rule the rest of the page is ruled by. */
[data-fs-theme='nightbell'] [data-fs-tm] [data-fs-tm-card],
[data-fs-theme='nightbell'] [data-fs-ts] [data-fs-ts-card],
[data-fs-theme='nightbell'] .fs-team-section [data-fs-tm-card],
[data-fs-theme='nightbell'] .fs-testimonials-section [data-fs-ts-card] {
  border: 0;
  border-top: 1px solid rgb(var(--c-line) / .55);
  background: none;
  box-shadow: none;
  padding-inline: 0;
}
/* The prototype's three quotations are ruled columns of running prose —
   no star row, no avatar, no source badge. Those are the review-widget
   furniture of a different kind of business; here the quotation itself
   and who wrote it is the whole content, and the stars would be the
   fifth decorative element on a page that has none. */
[data-fs-theme='nightbell'] .fs-testimonials-section [data-fs-ts-stars],
[data-fs-theme='nightbell'] .fs-testimonials-section [data-fs-ts-avatar],
[data-fs-theme='nightbell'] .fs-testimonials-section [data-fs-ts-avatar-placeholder],
[data-fs-theme='nightbell'] .fs-testimonials-section [data-fs-ts-source-badge],
[data-fs-theme='nightbell'] .fs-testimonials-section [data-fs-ts-logo] {
  display: none;
}
[data-fs-theme='nightbell'] .fs-testimonials-section [data-fs-ts-quote] {
  font-family: var(--font-display);
  font-size: 1.0625rem;
  line-height: 1.55;
  color: rgb(var(--c-ink-950));
}
[data-fs-theme='nightbell'] .fs-testimonials-section [data-fs-ts-name] {
  font-family: var(--font-display);
  color: rgb(var(--c-ink-950));
}
[data-fs-theme='nightbell'] .fs-testimonials-section [data-fs-ts-role] {
  font-size: .8125rem;
  letter-spacing: .04em;
  color: rgb(var(--c-ink-400));
}

/* ── favForm ──────────────────────────────── */
/* The prototype's enquiry form is left-aligned under the rule, with
   square fields on a visible keyline — --c-line is deliberately strong
   in this theme precisely so form borders read (see the palette note in
   themes/nightbell.ts). */
[data-fs-theme='nightbell'] .fs-section-shell { max-width: min(46rem, var(--fs-layout-clamp, 46rem)); margin-inline: 0; }
[data-fs-theme='nightbell'] .fs-fm input,
[data-fs-theme='nightbell'] .fs-fm textarea,
[data-fs-theme='nightbell'] .fs-fm select,
[data-fs-theme='nightbell'] .fs-section-shell input,
[data-fs-theme='nightbell'] .fs-section-shell textarea,
[data-fs-theme='nightbell'] .fs-section-shell select {
  border-radius: 0;
  border-color: rgb(var(--c-line));
}
[data-fs-theme='nightbell'] .fs-section-shell button[type='submit'] { border-radius: 0; }

/* ── Motion — resolves, never bounces. Gated by .fs-nb-anim ───── */
@media (prefers-reduced-motion: no-preference) {
  .fs-nb-anim .fs-nb-arrival-item,
  .fs-nb-anim .fs-nb-direct-list li,
  .fs-nb-anim .fs-nb-near { animation: fs-nb-settle .5s cubic-bezier(.2,.7,.3,1) both; }
}
@keyframes fs-nb-settle {
  from { opacity: 0; transform: translateY(4px); }
  to   { opacity: 1; transform: none; }
}

/* ── Wireframe — strip colour to lines ─────────────────────────── */
.fs-nb-wire .fs-nb-direct { background: none; border: 1px solid rgb(var(--c-line)); }
.fs-nb-wire .fs-nb-on-direct,
.fs-nb-wire .fs-nb-eyebrow-on-direct,
.fs-nb-wire .fs-nb-direct .fs-nb-h2 { color: rgb(var(--c-ink-950)); }
.fs-nb-wire .fs-nb-direct-list li,
.fs-nb-wire .fs-nb-direct-list li::before,
.fs-nb-wire .fs-nb-direct-foot { border-color: rgb(var(--c-line)); }
.fs-nb-wire .fs-nb-btn-reverse { background: none; color: rgb(var(--c-ink-950)); border-color: rgb(var(--c-line)); }

/* ── Print ─────────────────────────────────────────────────────── */
@media print {
  .fs-nb-anim .fs-nb-arrival-item,
  .fs-nb-anim .fs-nb-direct-list li,
  .fs-nb-anim .fs-nb-near { animation: none; opacity: 1; transform: none; }
  .fs-nb-direct { background: none; }
  .fs-nb-on-direct, .fs-nb-eyebrow-on-direct, .fs-nb-direct .fs-nb-h2 { color: #000; }
  .fs-nb-table-scroll { overflow: visible; }
}

/* ── favStayFooter (theme-chrome batch 3, Nightbell) ─────────────────
   fs-nb-ft: the soft band (named container); fs-nb-ft-in: the content box
   (named container). The overhanging rule, the eyebrow and the lamp are
   the footer's own copies of the prototype's (.nb-ruled, .nb-lamp).
   RECIPE FIX (contrast gate): light --nb-ft-lamp walked from the mockup's
   accent/.15 to accent/.12, matching the HEADER lamp's own already-fixed
   recipe (nightbell-chrome-styles.ts's --nb-lamp) exactly — same target
   colour, same percentage, same reason (the mockup's 15% measured under
   4.5:1 for the eyebrow text at the glow's strongest on Harbour Green
   light). Dark keeps its original accent/.2 (already 4.8:1 or better). */
.fs-nb-ft{container-type:inline-size;container-name:fs-nb-ft;padding:0 clamp(1rem,4vw,2.5rem);background:rgb(var(--c-paper-soft));--nb-ft-hair:rgb(var(--c-ink-950) / .2);--nb-ft-glow:rgb(var(--c-accent, var(--c-brand-600)) / .34);--nb-ft-lamp:rgb(var(--c-accent, var(--c-brand-600)) / .12)}
.fs-nb-ft:is(.dark *):not(.fs-preview-light *){--nb-ft-hair:rgb(var(--c-ink-950) / .18);--nb-ft-glow:rgb(var(--c-accent, var(--c-brand-600)) / .38);--nb-ft-lamp:rgb(var(--c-accent, var(--c-brand-600)) / .2)}
.fs-nb-ft-in{container-type:inline-size;container-name:fs-nb-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:58px 30px}
.fs-nb-ft-logo{display:flex;align-items:center;gap:12px;margin:0}
.fs-nb-ft-mark{display:block;flex:none;width:46px;height:46px}
.fs-nb-ft-mk-b{stroke:rgb(var(--c-brand-600))}
.fs-nb-ft-mk-a{stroke:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-nb-ft-mk-c{fill:rgb(var(--c-brand-600))}
.fs-nb-ft-name{font-family:var(--font-display, Georgia, serif);font-weight:500;font-size:15px;line-height:1;letter-spacing:.173em;text-transform:uppercase;color:rgb(var(--c-ink-950))}
.fs-nb-ft-top{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:34px 56px;align-items:start}
.fs-nb-ft-state{max-width:32ch;margin:18px 0 0;font:500 var(--nb-ft-fst,25px)/1.3 var(--font-display, Georgia, serif);letter-spacing:-.01em;color:rgb(var(--c-ink-950))}
.fs-nb-ft-nap{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 24px;margin-top:18px}
.fs-nb-ft-addr{flex-basis:100%;margin:0;font-size:15px;line-height:1.5;color:rgb(var(--c-ink-950));font-style:normal}
.fs-nb-ft-tel{font:600 27px/1.15 var(--font-display, Georgia, serif);color:rgb(var(--c-brand-text));font-variant-numeric:tabular-nums lining-nums;text-decoration:none}
.fs-nb-ft-mail{font-size:15px;color:rgb(var(--c-ink-950));text-decoration:underline 1px;text-underline-offset:.28em}
.fs-nb-ft-bell{position:relative;isolation:isolate;--nb-ft-oh:0px}
.fs-nb-ft-bell::after{content:"";position:absolute;z-index:-1;inset:-30px 0 -30px -40px;background:radial-gradient(60% 58% at 62% 44%,var(--nb-ft-lamp),transparent 74%)}
.fs-nb-ft-ruled{position:relative;padding-top:13px}
.fs-nb-ft-ruled::before{content:"";position:absolute;top:0;left:calc(-1 * var(--nb-ft-oh,10px));right:0;height:2px;background:rgb(var(--c-ink-950))}
.fs-nb-ft-bell-h{display:flex;align-items:center;gap:10px}
.fs-nb-ft-ico{flex:none;display:block;width:22px;height:22px;color:rgb(var(--c-brand-600))}
.fs-nb-ft-eyebrow{margin:0;font-weight:600;font-size:11.5px;line-height:1.3;letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
.fs-nb-ft-bell .fs-nb-ft-eyebrow{color:rgb(var(--c-ink-700))}
.fs-nb-ft-bell-t{margin:14px 0 0;font:italic 500 25px/1.2 var(--font-display, Georgia, serif);letter-spacing:-.01em;color:rgb(var(--c-ink-950))}
.fs-nb-ft-bell-b{max-width:44ch;margin:10px 0 0;font-size:14.5px;line-height:1.55;color:rgb(var(--c-ink-950))}
.fs-nb-ft-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.15fr);gap:30px 44px;margin-top:48px}
.fs-nb-ft-col{min-width:0}
.fs-nb-ft-links{margin:8px 0 0;list-style:none;padding:0}
.fs-nb-ft-link{display:inline-block;padding-block:6px;font-size:15px;line-height:1.35;color:rgb(var(--c-ink-950));text-decoration:none;transition:text-shadow .22s cubic-bezier(.2,.7,.3,1)}
.fs-nb-ft-link:hover,.fs-nb-ft-link:focus-visible{text-shadow:0 0 12px var(--nb-ft-glow)}
.fs-nb-ft-creds{margin:6px 0 0;list-style:none;padding:0}
.fs-nb-ft-cred{padding-block:9px;border-bottom:1px solid var(--nb-ft-hair)}
.fs-nb-ft-cred:last-child{border-bottom:0}
.fs-nb-ft-cnum{display:block;margin:0;font:600 18px/1.2 var(--font-display, Georgia, serif);color:rgb(var(--c-ink-950));font-variant-numeric:tabular-nums lining-nums}
.fs-nb-ft-creg{display:inline-block;margin-top:3px;font-weight:600;font-size:13px;line-height:1.3;color:rgb(var(--c-brand-text));text-decoration:underline 1px;text-underline-offset:.28em;transition:text-shadow .22s cubic-bezier(.2,.7,.3,1)}
.fs-nb-ft-creg:hover,.fs-nb-ft-creg:focus-visible{text-shadow:0 0 12px var(--nb-ft-glow)}
.fs-nb-ft-small{margin-top:44px;padding-top:12px;border-top:1px solid var(--nb-ft-hair)}
.fs-nb-ft-small-p{max-width:110ch;margin:6px 0 0;font-size:13px;line-height:1.55;color:rgb(var(--c-ink-700))}
.fs-nb-ft-legal{display:flex;flex-wrap:wrap;gap:6px 20px;margin:18px 0 0;font-size:12.5px;color:rgb(var(--c-ink-700))}
.fs-nb-ft-legal-t{margin-right:auto}
.fs-nb-ft-legal-a{color:rgb(var(--c-ink-700));text-decoration:none}
.fs-nb-ft-legal-a:hover{color:rgb(var(--c-ink-950));text-decoration:underline}
@container fs-nb-ft (max-width: 40rem){
  .fs-nb-ft-in{padding-block:40px 24px}
}
@container fs-nb-ft-in (max-width: 56rem){
  .fs-nb-ft-top{gap:30px 40px}
  .fs-nb-ft-state{--nb-ft-fst:22px}
  .fs-nb-ft-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-nb-ft-col:nth-child(3){grid-column:1/-1}
  .fs-nb-ft-creds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:28px}
  .fs-nb-ft-cred{border-bottom:0}
}
@container fs-nb-ft (max-width: 48rem){
  .fs-nb-ft-top{grid-template-columns:minmax(0,1fr)}
  .fs-nb-ft-cols{grid-template-columns:minmax(0,1fr);margin-top:36px}
  .fs-nb-ft-col:nth-child(3){grid-column:auto}
  .fs-nb-ft-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,auto);grid-auto-flow:column;column-gap:24px}
}
@container fs-nb-ft (max-width: 30rem){
  .fs-nb-ft-state{--nb-ft-fst:21px}
  .fs-nb-ft-links,.fs-nb-ft-creds{grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-auto-flow:row}
  .fs-nb-ft-cred{border-bottom:1px solid var(--nb-ft-hair)}
  .fs-nb-ft-cred:last-child{border-bottom:0}
  .fs-nb-ft-legal-t{flex-basis:100%}
}
@keyframes fs-nb-ft-lamplight{0%{opacity:.78}21%{opacity:.66}34%{opacity:1}57%{opacity:.9}69%{opacity:.7}100%{opacity:.78}}
@media (prefers-reduced-motion: no-preference){
  .fs-nb-ft-bell::after{animation:fs-nb-ft-lamplight 9s ease-in-out infinite}
}
@media (prefers-reduced-motion: reduce){
  .fs-nb-ft-link,.fs-nb-ft-creg{transition:none}
}


/* ── The shell ─────────────────────────────────────────────────── */
/* Signature blocks own their section padding and inner measure — the
   renderer does NOT supply them (PORTING pitfall 5). */
.fs-fc {
  position: relative;
  background: rgb(var(--c-paper));
  color: rgb(var(--c-ink-950));
  /* This theme is mostly figures. */
  font-variant-numeric: tabular-nums;
}
.fs-fc * { box-sizing: border-box; }
.fs-fc-shell {
  max-width:var(--fs-layout-max,72rem);
  margin-inline: auto;
  padding: var(--fs-space-section, clamp(3rem, 6vw, 4.5rem)) clamp(1rem, 4vw, 2.5rem);
}
/* WHICH SECTIONS SIT ON THE SURFACE COLOUR IS A PROPERTY OF THE
   PAGE, NOT OF THE BLOCK. This used to paint favLotProvenance and
   favLotFinance soft wherever they appeared, which is right on home
   and wrong on services.html, where the prototype puts the band on
   favLotPrep and favTable instead and leaves finance on the page
   colour. Both are now section-level band: 'soft' in forecourt.ts,
   painted by block-chrome. */

/* ── The heading cluster ───────────────────────────────────────── */
.fs-fc-head { margin-bottom: var(--fs-space-gap, 1.75rem); }
/* THE MEASURE IS THE POINT — see --fs-fc-eyebrow-measure at the theme
   root for the whole reasoning and the numbers. Every eyebrow in this
   theme gets it: the signature blocks here, the shared blocks below,
   and the hero.
   width:100% is not redundant. block-chrome centres the heading CLUSTER
   with a flex .fs-head, and a flex item shrink-to-fits — the about
   page's gallery eyebrow measured a 77.7px box with a 24px stub of
   rule, the opposite failure to the one below. Filling first and
   capping second reproduces what a <p> does in the prototype. */
.fs-fc-eyebrow {
  display: flex; align-items: center; gap: .6em;
  width: 100%;
  max-width: var(--fs-fc-eyebrow-measure);
  font-family: var(--font-display);
  font-size: var(--fs-type-eyebrow, .75rem);
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgb(var(--c-ink-400));
  margin: 0 0 .55rem;
}
.fs-fc-eyebrow::after {
  content: ''; flex: 1 1 auto; height: 1px; min-width: 1.5rem;
  background: rgb(var(--c-line));
}
.fs-fc-h2 {
  font-family: var(--font-display);
  font-size: var(--fs-type-h2, 2.25rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: .004em;
  text-wrap: balance;
  color: rgb(var(--c-ink-950));
  margin: 0;
}
.fs-fc-h3 {
  font-family: var(--font-display);
  font-size: var(--fs-type-h3, 1.25rem);
  font-weight: 700;
  line-height: 1.2;
  color: rgb(var(--c-ink-950));
  margin: 0 0 .55rem;
}
.fs-fc-lede {
  margin-top: .9rem;
  font-size: 1.08em;
  line-height: 1.6;
  color: rgb(var(--c-ink-700));
  max-width: var(--fs-measure, 62ch);
}
.fs-fc-meta {
  font-size: var(--fs-type-caption, .875rem);
  line-height: 1.55;
  color: rgb(var(--c-ink-400));
  margin: .85rem 0 0;
}
.fs-fc-panel {
  padding: var(--fs-space-card, 1.35rem);
  background: rgb(var(--c-paper-soft));
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-card, 10px);
  box-shadow: none;
}
/* On a soft band the card must not disappear into the band it sits on:
   it goes back to the page colour. Keyed off the BAND rather than off a
   list of block classes, so it follows whichever sections the page
   actually bands. */
[data-fs-band='soft'] .fs-fc-panel { background: rgb(var(--c-paper)); }

/* ── favLotGrid ────────────────────────────────────────────────── */
.fs-fc-lots {
  display: grid; gap: var(--fs-space-gap, 1.25rem);
  grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
}
.fs-fc-lot {
  display: flex; flex-direction: column; min-width: 0; overflow: hidden;
  background: rgb(var(--c-paper-soft));
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-card, 10px);
}
.fs-fc-lot-media {
  position: relative; aspect-ratio: 3 / 2;
  background: rgb(var(--c-brand-50));
  overflow: hidden;
}
/* :not(.fs-fc-lot-flag) is load-bearing. The image arrives as a wrapper
   the renderer supplies, so the wrapper has to be told to fill the
   frame — but a bare > * also caught the status flag, which then
   filled the whole 3:2 frame with a solid brand or accent block and
   hid the photograph behind it. Measured in the editor, not assumed. */
.fs-fc-lot-media > :not(.fs-fc-lot-flag) { width: 100%; height: 100%; display: block; }
.fs-fc-lot-media img, .fs-fc-lot-media picture { width: 100%; height: 100%; display: block; }
.fs-fc-lot-media img { object-fit: cover; }
.fs-fc-lot-flag {
  position: absolute; top: .7rem; left: .7rem; z-index: 2;
  font-family: var(--font-display);
  font-size: var(--fs-type-eyebrow, .72rem);
  font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
  padding: .3em .6em; border-radius: var(--fs-radius-control, 6px);
  background: rgb(var(--c-paper)); color: rgb(var(--c-ink-950));
  border: 1px solid rgb(var(--c-line));
}
.fs-fc-lot-flag[data-state='new'] {
  background: rgb(var(--c-brand-600)); color: rgb(var(--c-paper));
  border-color: rgb(var(--c-brand-600));
}
.fs-fc-lot-flag[data-state='reserved'] {
  background: rgb(var(--c-accent, var(--c-brand-700))); color: rgb(var(--c-paper));
  border-color: rgb(var(--c-accent, var(--c-brand-700)));
}
.fs-fc-lot-body {
  padding: var(--fs-space-card, 1.1rem);
  display: flex; flex-direction: column; gap: .8rem; flex: 1;
}
.fs-fc-lot-title {
  font-family: var(--font-display);
  margin: 0; font-size: 1.12rem; line-height: 1.2; font-weight: 700;
  color: rgb(var(--c-ink-950));
}
.fs-fc-lot-variant { font-size: var(--fs-type-caption, .8125rem); color: rgb(var(--c-ink-400)); }
/* Price on its own line, monthly beneath: a wrapping inline pair gave
   the four cards three different heights and broke the spec-strip
   alignment across the row. */
.fs-fc-lot-price { display: flex; flex-direction: column; align-items: flex-start; gap: .15rem; }
/* PITFALLS U13/U49, and the one number this whole block exists to show.
   Every field arrives wrapped — t(field,'span') renders a <span> — so the
   price is <b><span>£17,995</span></b>, and the caption rule below,
   written as a DESCENDANT selector for the monthly figure's sibling
   <span>, reached inside the <b> and won on being later. Measured: the
   <b> computed 26.4px and the text rendered at 14px on all four cards,
   53% of the drawn size, while every other field on the card was right.
   Direct children on both halves, and the size restated on whatever
   wrapper the field arrives in. */
.fs-fc-lot-price > b,
.fs-fc-lot-price > b > * {
  font-family: var(--font-display);
  font-size: 1.65rem; font-weight: 700; line-height: 1;
  color: rgb(var(--c-ink-950));
}
.fs-fc-lot-price > span,
.fs-fc-lot-price > span > * { font-size: var(--fs-type-caption, .8125rem); color: rgb(var(--c-ink-700)); }
.fs-fc-lot-otr {
  font-size: var(--fs-type-eyebrow, .7rem); letter-spacing: .1em;
  text-transform: uppercase; color: rgb(var(--c-ink-400));
}
.fs-fc-lot-spec {
  display: grid; grid-template-columns: repeat(4, 1fr); margin: 0;
  border-top: 1px solid rgb(var(--c-line));
  border-bottom: 1px solid rgb(var(--c-line));
}
.fs-fc-lot-spec > div { min-width: 0; padding: .55rem .3rem; border-right: 1px solid rgb(var(--c-line) / .5); }
.fs-fc-lot-spec > div:last-child { border-right: 0; }
.fs-fc-lot-spec dt {
  font-size: .62rem; letter-spacing: .1em; text-transform: uppercase;
  color: rgb(var(--c-ink-400)); margin: 0;
}
.fs-fc-lot-spec dd {
  margin: 0; font-size: .88rem; font-weight: 600; color: rgb(var(--c-ink-950));
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
/* The differentiator, at card scale: no competitor card carries any of
   these four facts. */
.fs-fc-lot-prov { display: flex; flex-wrap: wrap; gap: .3rem; margin-top: auto; }
.fs-fc-chip {
  display: inline-flex; align-items: center; gap: .3em;
  font-size: .7rem; font-weight: 500; letter-spacing: .02em; line-height: 1.3;
  padding: .28em .55em; border-radius: var(--fs-radius-control, 5px);
  background: rgb(var(--c-brand-50)); color: rgb(var(--c-ink-700));
  border: 1px solid rgb(var(--c-brand-600) / .18);
}
.fs-fc-chip svg { width: .85em; height: .85em; flex: none; color: rgb(var(--c-brand-600)); }

/* ── favLotProvenance ──────────────────────────────────────────── */
.fs-fc-prov {
  display: grid; gap: var(--fs-space-gap, 1.5rem);
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  align-items: start;
}
@media (max-width:60rem) { .fs-fc-prov { grid-template-columns: 1fr; } }
/* The editor's mobile/tablet canvas is a narrow box inside a real
   1440px window (menu-styles.ts's HEADER_NAV_CSS sets up the same
   fs-editor-canvas container for the same reason) — the @media
   above never fires there, so this column pair never collapses and
   the panel column overflows the canvas. Added alongside, not instead
   of, the @media: real pages still resize the viewport and need
   nothing extra. */
@container fs-editor-canvas (max-width:60rem) { [data-fs-editor-frame] .fs-fc-prov { grid-template-columns: 1fr; } }
.fs-fc-prov-head {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: 1rem; flex-wrap: wrap; margin-bottom: .8rem;
}
.fs-fc-prov-head .fs-fc-h3 { margin: 0; }
.fs-fc-plate-tag {
  font-family: var(--font-display);
  font-weight: 700; letter-spacing: .09em; font-size: 1.05rem;
  padding: .2em .5em; white-space: nowrap;
  border: 2px solid rgb(var(--c-ink-950));
  border-radius: var(--fs-radius-control, 5px);
  color: rgb(var(--c-ink-950));
}
/* The MOT recorded-mileage series, drawn in CSS rather than SVG so it
   inherits all six palettes in both modes with no per-palette art. */
.fs-fc-mot { display: grid; gap: .1rem; }
.fs-fc-mot-row {
  display: grid; grid-template-columns: 4.4rem 1fr 5.2rem;
  align-items: center; gap: .6rem;
  padding: .42rem 0; border-bottom: 1px solid rgb(var(--c-line) / .5);
}
.fs-fc-mot-row:last-child { border-bottom: 0; }
.fs-fc-mot-row > * { min-width: 0; }
.fs-fc-mot-date { font-size: var(--fs-type-caption, .8125rem); color: rgb(var(--c-ink-700)); }
.fs-fc-mot-bar {
  position: relative; height: .62rem; border-radius: 2px; overflow: hidden;
  background: rgb(var(--c-brand-50));
}
.fs-fc-mot-bar i {
  position: absolute; inset: 0 auto 0 0; display: block; border-radius: 2px;
  background: rgb(var(--c-brand-600));
}
.fs-fc-mot-row[data-result='fail'] .fs-fc-mot-bar i { background: rgb(var(--c-accent, var(--c-brand-700))); }
.fs-fc-mot-miles {
  font-size: var(--fs-type-caption, .8125rem); font-weight: 600;
  text-align: right; white-space: nowrap; color: rgb(var(--c-ink-950));
}
.fs-fc-mot-note {
  grid-column: 1 / -1; margin: 0;
  font-size: var(--fs-type-caption, .8125rem); color: rgb(var(--c-ink-400));
}
.fs-fc-checks { display: grid; gap: 0; }
.fs-fc-check {
  display: grid; grid-template-columns: 1.4rem 1fr auto; gap: .7rem;
  align-items: baseline; padding: .62rem 0;
  border-bottom: 1px solid rgb(var(--c-line) / .5);
}
.fs-fc-check:last-child { border-bottom: 0; }
.fs-fc-check > * { min-width: 0; }
.fs-fc-check > svg { width: 1.1rem; height: 1.1rem; align-self: center; color: rgb(var(--c-brand-600)); }
.fs-fc-check b { font-weight: 600; color: rgb(var(--c-ink-950)); }
.fs-fc-check p { margin: .1rem 0 0; font-size: var(--fs-type-caption, .8125rem); color: rgb(var(--c-ink-700)); }
.fs-fc-check-src { font-size: var(--fs-type-caption, .8125rem); white-space: nowrap; }
.fs-fc-check-src a { color: rgb(var(--c-brand-600)); text-decoration: none; }
.fs-fc-check-src a:hover { text-decoration: underline; }
/* A row whose source is not a link renders visibly WEAKER than one that
   is. That is the point: an unverifiable claim should look worse than a
   verifiable one. */
.fs-fc-check:not(:has(a)) .fs-fc-check-src { color: rgb(var(--c-ink-400)); font-style: italic; }

/* ── favLotPrep ────────────────────────────────────────────────── */
.fs-fc-prep {
  display: grid; gap: var(--fs-space-gap, 1.75rem);
  grid-template-columns: minmax(0, 1fr) minmax(0, 22rem);
  align-items: start;
}
@media (max-width:60rem) { .fs-fc-prep { grid-template-columns: 1fr; } }
/* Same editor-canvas gap as .fs-fc-prov above. */
@container fs-editor-canvas (max-width:60rem) { [data-fs-editor-frame] .fs-fc-prep { grid-template-columns: 1fr; } }
.fs-fc-prep > *, .fs-fc-prep-list > *, .fs-fc-prep-item > * { min-width: 0; }
.fs-fc-prep-list { display: grid; gap: 0; counter-reset: fsfcprep; }
.fs-fc-prep-item {
  display: grid; grid-template-columns: 2.2rem 1fr; gap: .9rem;
  padding: .85rem 0; border-bottom: 1px solid rgb(var(--c-line) / .5);
}
.fs-fc-prep-item:last-child { border-bottom: 0; }
/* counter-increment on ::before, so rows can be added or removed
   without renumbering anything in the content. */
.fs-fc-prep-item::before {
  counter-increment: fsfcprep;
  content: counter(fsfcprep, decimal-leading-zero);
  font-family: var(--font-display); font-weight: 700; font-size: 1rem;
  line-height: 1.5; color: rgb(var(--c-accent, var(--c-brand-700)));
}
.fs-fc-prep-item h3 {
  font-family: var(--font-display);
  font-size: 1rem; font-weight: 700; margin: 0 0 .1rem;
  color: rgb(var(--c-ink-950));
}
.fs-fc-prep-item p { margin: 0; font-size: var(--fs-type-caption, .8125rem); color: rgb(var(--c-ink-700)); }
.fs-fc-otr-row {
  display: flex; justify-content: space-between; gap: 1rem;
  padding: .5rem 0; font-size: .95rem;
  border-bottom: 1px solid rgb(var(--c-line) / .5);
}
/* NOT nowrap: most values are currency and would be safe, but the
   build-up also carries "We do not charge one", and at 320px an
   unwrappable phrase in a two-column row took the page sideways. */
.fs-fc-otr-row span:last-child { font-weight: 600; text-align: right; }
.fs-fc-otr-row[data-zero] span:last-child { color: rgb(var(--c-brand-600)); }
.fs-fc-otr-total {
  display: flex; justify-content: space-between; gap: 1rem; align-items: baseline;
  padding-top: .8rem; margin-top: .3rem;
  border-top: 2px solid rgb(var(--c-ink-950));
}
.fs-fc-otr-total b { font-family: var(--font-display); font-size: 1.55rem; font-weight: 700; }
.fs-fc-otr-none {
  margin: .9rem 0 0; padding-left: .7rem;
  font-size: var(--fs-type-caption, .8125rem); color: rgb(var(--c-ink-700));
  border-left: 2px solid rgb(var(--c-accent, var(--c-brand-700)));
}
.fs-fc-otr-none strong { color: rgb(var(--c-ink-950)); }

/* ── favLotFinance ─────────────────────────────────────────────── */
.fs-fc-fin {
  display: grid; gap: var(--fs-space-gap, 1.75rem);
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: start;
}
@media (max-width:60rem) { .fs-fc-fin { grid-template-columns: 1fr; } }
/* Same editor-canvas gap as .fs-fc-prov above. */
@container fs-editor-canvas (max-width:60rem) { [data-fs-editor-frame] .fs-fc-fin { grid-template-columns: 1fr; } }
.fs-fc-fin > * { min-width: 0; }
.fs-fc-fin-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr));
  margin: 1rem 0 0; border-top: 1px solid rgb(var(--c-line));
}
.fs-fc-fin-grid > div {
  min-width: 0; padding: .7rem .7rem .7rem 0;
  border-bottom: 1px solid rgb(var(--c-line) / .5);
}
.fs-fc-fin-grid dt {
  font-size: var(--fs-type-eyebrow, .7rem); letter-spacing: .12em;
  text-transform: uppercase; color: rgb(var(--c-ink-400)); margin: 0;
}
.fs-fc-fin-grid dd {
  margin: .1rem 0 0; font-family: var(--font-display);
  font-weight: 700; font-size: 1.25rem; color: rgb(var(--c-ink-950));
}
.fs-fc-fin-grid > div[data-emph] dd { color: rgb(var(--c-brand-600)); }
.fs-fc-fin-apr {
  display: flex; align-items: baseline; gap: .6rem; flex-wrap: wrap;
  padding: .85rem 0 0; margin-top: .85rem;
  border-top: 2px solid rgb(var(--c-ink-950));
}
/* Same U13 shape as the lot price, found by sweeping the file for it
   rather than by looking: the APR is the second number this theme is
   FOR, and it measured 14px against the prototype's 30.4px for exactly
   the same reason. .fs-fc-otr-total and .fs-fc-fig were checked in the
   same sweep and were already right — the first has no sibling-span
   rule to leak, the second was written with > b already. */
.fs-fc-fin-apr > b,
.fs-fc-fin-apr > b > * { font-family: var(--font-display); font-size: 1.9rem; font-weight: 700; line-height: 1; }
.fs-fc-fin-apr > span,
.fs-fc-fin-apr > span > * { font-size: var(--fs-type-caption, .875rem); color: rgb(var(--c-ink-700)); }
/* The shared treatment for any text that is there because a regulator
   requires it: a brand-coloured left rule, body size, never small print. */
.fs-fc-statutory {
  margin-top: 1.1rem; padding: .1rem 0 .1rem .8rem;
  border-left: 2px solid rgb(var(--c-brand-600));
  font-size: var(--fs-type-caption, .9rem); line-height: 1.6;
  color: rgb(var(--c-ink-700));
}
.fs-fc-statutory p { margin: 0; }
.fs-fc-statutory strong { color: rgb(var(--c-ink-950)); }
.fs-fc-statutory a { color: rgb(var(--c-brand-600)); }

/* ── favLotValuation ───────────────────────────────────────────── */
.fs-fc-val {
  display: grid; gap: var(--fs-space-gap, 1.75rem);
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  align-items: center;
}
@media (max-width:60rem) { .fs-fc-val { grid-template-columns: 1fr; align-items: start; } }
/* Same editor-canvas gap as .fs-fc-prov above — this is the one the
   probe actually catches: at the editor's mobile canvas (390px inside
   a 1440px window) the grid stays two-column, squeezing
   .fs-fc-val-form to roughly half-width, and its .fs-fc-val-stage row
   ("Step 1 · Your registration ··· Step 2 · your details", a flex row
   whose items default to min-width:auto) can't shrink to fit — a 19px
   scrollWidth overflow on the canvas. */
@container fs-editor-canvas (max-width:60rem) { [data-fs-editor-frame] .fs-fc-val { grid-template-columns: 1fr; align-items: start; } }
.fs-fc-val > * { min-width: 0; }
.fs-fc-choice { display: grid; gap: .5rem; margin-top: 1.1rem; }
.fs-fc-choice-opt {
  display: grid; grid-template-columns: 1.1rem 1fr; gap: .7rem; align-items: start;
  padding: .75rem; border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-control, 8px);
}
.fs-fc-choice-opt[data-selected] {
  border-color: rgb(var(--c-brand-600));
  background: rgb(var(--c-brand-50));
}
.fs-fc-radio {
  width: 1.05rem; height: 1.05rem; margin-top: .2rem; border-radius: 50%;
  border: 1px solid rgb(var(--c-ink-400)); display: block; flex: none;
}
.fs-fc-choice-opt[data-selected] .fs-fc-radio {
  border-color: rgb(var(--c-brand-600));
  box-shadow: inset 0 0 0 3px rgb(var(--c-paper)), inset 0 0 0 9px rgb(var(--c-brand-600));
}
.fs-fc-choice-opt b { display: block; font-size: .95rem; color: rgb(var(--c-ink-950)); }
.fs-fc-choice-opt > span > span { font-size: var(--fs-type-caption, .8125rem); color: rgb(var(--c-ink-700)); }
.fs-fc-val-stage {
  display: flex; align-items: center; gap: .5rem; margin-bottom: .85rem;
  font-size: var(--fs-type-caption, .8125rem); color: rgb(var(--c-ink-400));
}
.fs-fc-val-stage b { color: rgb(var(--c-ink-950)); }
.fs-fc-val-stage i { flex: 1; height: 1px; background: rgb(var(--c-line)); font-style: normal; }
/* The UK number plate — the single most recognisable input in this
   sector, and it costs nine lines. */
.fs-fc-plate {
  display: grid; grid-template-columns: 2.2rem 1fr; align-items: stretch;
  border: 2px solid rgb(var(--c-ink-950));
  border-radius: var(--fs-radius-control, 6px);
  overflow: hidden; margin-bottom: .85rem;
}
.fs-fc-plate-band { background: rgb(var(--c-brand-600)); }
.fs-fc-plate input {
  font-family: var(--font-display); font-weight: 700; font-size: 1.5rem;
  letter-spacing: .12em; text-transform: uppercase; text-align: center;
  border: 0; padding: .55rem .4rem; min-height: 44px; width: 100%;
  background: rgb(var(--c-paper)); color: rgb(var(--c-ink-950));
}
.fs-fc-plate input::placeholder { color: rgb(var(--c-ink-400)); }
.fs-fc-field { display: grid; gap: .3rem; margin-bottom: .85rem; }
.fs-fc-field label { font-size: var(--fs-type-caption, .8125rem); font-weight: 600; color: rgb(var(--c-ink-950)); }
.fs-fc-field input, .fs-fc-field select {
  font: inherit; font-size: 1rem; padding: .62rem .7rem; min-height: 44px; width: 100%;
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-control, 8px);
  background: rgb(var(--c-paper)); color: rgb(var(--c-ink-950));
}
.fs-fc-field-hint { font-size: var(--fs-type-caption, .8125rem); color: rgb(var(--c-ink-400)); }
.fs-fc-field-row { display: grid; gap: 1rem; grid-template-columns: 1fr 1fr; }
@media (max-width: 34rem) { .fs-fc-field-row { grid-template-columns: 1fr; } }
/* Same editor-canvas gap as .fs-fc-prov above. */
@container fs-editor-canvas (max-width: 34rem) { [data-fs-editor-frame] .fs-fc-field-row { grid-template-columns: 1fr; } }
.fs-fc-btn {
  display: flex; align-items: center; justify-content: center; gap: .5em;
  width: 100%; min-height: 44px; padding: .82em 1.35em;
  font-family: var(--font-display); font-weight: 600; font-size: 1rem;
  letter-spacing: .05em; text-transform: uppercase;
  background: rgb(var(--c-brand-600)); color: rgb(var(--c-paper));
  border-radius: var(--fs-radius-control, 8px);
}
.fs-fc-btn svg { width: 1.1em; height: 1.1em; flex: none; }

/* ── favLotFigures ─────────────────────────────────────────────── */
/* theme.css section 14's .fc-stats: four figures on one ruled band,
   the numeral in the display face and the caption under it in the body
   face. No card, no icon, no chart — a rule above, a rule below, and
   hairlines between the columns.
   Measured in the prototype at a 1600px canvas and matched here:
     .fc-stat b     Antonio 700, clamp(2rem, 1.4rem + 2vw, 3rem) = 48px,
                    line-height 1, display block, tabular figures
     .fc-stat span  Golos Text at --fs-type-caption = 14.72px,
                    --c-ink-700, display block, margin-top .3rem
   The column padding uses the family's own --fs-space-card so the band
   tracks the theme's density dial with every other block in the set,
   rather than pinning the prototype's 24.8px. */
.fs-fc-figs {
  display: grid; gap: 0;
  grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
  border-top: 1px solid rgb(var(--c-line));
}
.fs-fc-figs > * { min-width: 0; }
.fs-fc-fig {
  min-width: 0;
  padding: var(--fs-space-card, 1.35rem) 1rem var(--fs-space-card, 1.35rem) 0;
  border-bottom: 1px solid rgb(var(--c-line));
  border-right: 1px solid rgb(var(--c-line) / .45);
}
.fs-fc-fig:last-child { border-right: 0; }
/* DIRECT CHILD, not descendant, and it is load-bearing. theme.css can
   write .fc-stat b / .fc-stat span because its markup is exactly that;
   here every field arrives wrapped in an <Editable>, which renders a
   real <span> of its own. A descendant .fs-fc-fig span therefore also
   matched the wrapper INSIDE the <b> and set the 48px numeral at
   caption size — measured in the editor, where all four figures came
   out the size of their captions. */
.fs-fc-fig > b {
  display: block;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(2rem, 1.4rem + 2vw, 3rem);
  line-height: 1;
  color: rgb(var(--c-ink-950));
  font-variant-numeric: tabular-nums;
}
.fs-fc-fig > span {
  display: block;
  font-size: var(--fs-type-caption, .875rem);
  line-height: 1.6;
  color: rgb(var(--c-ink-700));
  margin-top: .3rem;
}

/* ════════════════════════════════════════════════════════════════
   THEME-SCOPED REFINEMENT OF THE SHARED BLOCKS

   [data-fs-theme] is stamped on the preview root by EditWpClient and on
   the published page by PublicSiteClient — the generic hook that lets a
   theme refine the SHARED blocks without restyling them for the other
   thirty. Nothing below is unscoped.

   Half of a Forecourt page is universal blocks (services, cta, quote,
   gallery, about, showcase, the table, the accordion, testimonials, the
   team grid, the form, the map), and the app draws them centred,
   rounded and card-filled with headings at a flat 24px. The prototype's
   register is left-aligned, ruled, and every heading in Antonio at the
   theme's own h2 step. A port that leaves them alone is not a mirror of
   the prototype; it is the theme's five blocks pasted into somebody
   else's page.
   ════════════════════════════════════════════════════════════════ */

/* ── The heading register ──────────────────────────────────────── */
[data-fs-theme='forecourt'] [data-fs-role='services'] .fs-heading,
[data-fs-theme='forecourt'] [data-fs-role='textBlock'] .fs-heading,
[data-fs-theme='forecourt'] [data-fs-role='about'] .fs-heading,
[data-fs-theme='forecourt'] [data-fs-role='gallery'] .fs-heading,
[data-fs-theme='forecourt'] [data-fs-role='showcase'] .fs-heading,
[data-fs-theme='forecourt'] [data-fs-role='cta'] .fs-heading,
[data-fs-theme='forecourt'] [data-fs-role='map'] .fs-heading,
[data-fs-theme='forecourt'] .fs-section-shell > .fs-heading,
[data-fs-theme='forecourt'] [data-fs-acc] > h2 {
  font-family: var(--font-display);
  font-size: var(--fs-type-h2, 2.25rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: .004em;
  text-align: left;
  margin-inline: 0;
  color: rgb(var(--c-ink-950));
}
/* The app centres these blocks with data-align="center". The hero keeps
   its own centring — it is a full-bleed photograph, not a ruled band. */
[data-fs-theme='forecourt'] [data-fs-block][data-align='center']:not([data-fs-role='hero']),
[data-fs-theme='forecourt'] [data-fs-block][data-align='center']:not([data-fs-role='hero']) .fs-prose,
[data-fs-theme='forecourt'] .fs-section-shell > p {
  text-align: left;
  margin-inline: 0;
}
[data-fs-theme='forecourt'] .fs-prose { max-width: var(--fs-measure, 62ch); }
/* block-chrome.ts centres the heading CLUSTER at (0,2,1) —
   [data-fs-block][data-align="center"] .fs-head — and pushes every
   child to margin-inline:auto, which is why setting text-align on the
   block alone leaves the heading centred. Beat it on its own terms. */
[data-fs-theme='forecourt'] [data-fs-block][data-align='center']:not([data-fs-role='hero']) .fs-head,
[data-fs-theme='forecourt'] [data-fs-block][data-align='center']:not([data-fs-role='hero']) [data-fs-head] {
  text-align: left;
  align-items: flex-start;
}
[data-fs-theme='forecourt'] [data-fs-block][data-align='center']:not([data-fs-role='hero']) .fs-head > *,
[data-fs-theme='forecourt'] [data-fs-block][data-align='center']:not([data-fs-role='hero']) [data-fs-head] > * {
  margin-inline: 0;
}
/* .fs-head-slot takes the register but NOT margin-inline:0. It used to
   be in the list above, and inside .fs-team-section / -testimonials- /
   -table- the chrome centres every direct child with margin-inline:auto
   — so zeroing it left the heading hard against the section padding
   while the grid under it stayed centred. Measured at 1440: heading at
   49px, cards at 144px, three times a page. text-align does the
   left-hanging on its own. */
[data-fs-theme='forecourt'] .fs-head-slot {
  font-family: var(--font-display);
  font-size: var(--fs-type-h2, 2.25rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: .004em;
  text-align: left;
  color: rgb(var(--c-ink-950));
}
[data-fs-theme='forecourt'] .fs-head-slot > * {
  font-family: var(--font-display);
  text-align: left;
}

/* The 'about' block opens on a 48x4 brand bar. about.html opens on an
   eyebrow and a hairline instead — a label, not a dash. The block has no
   eyebrow slot (and only two theme sections in the whole repo author
   one, so adding it would not have been inert), so the bar goes and the
   label is a recorded residual rather than an invented decoration. */
[data-fs-theme='forecourt'] [data-fs-role='about'] > [data-fs-inner] span[aria-hidden][class*='bg-brand-600'] { display: none; }

/* ── Cards: a hairline and a soft corner, never a lifted box ───── */
[data-fs-theme='forecourt'] [data-fs-block] [data-fs-surface='card'] {
  background: rgb(var(--c-paper-soft));
  border: 1px solid rgb(var(--c-line));
  box-shadow: none;
  transform: none;
}
[data-fs-theme='forecourt'] [data-fs-block] [data-fs-surface='card']:hover {
  transform: none;
  box-shadow: none;
  border-color: rgb(var(--c-brand-600) / .45);
}
[data-fs-theme='forecourt'] .fs-card-title {
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 700;
  color: rgb(var(--c-ink-950));
}
/* services.html §75 carries no data-fs-bg: the four cards open on the
   page colour, straight off the hero. */

/* ── The services grid, as .fc-grid--4 ─────────────────────────── */
/* services.html 77 is a four-across row of icon cards. The chrome's
   grid is three, so the fourth card dropped to a second row on its own.
   Only when there IS a fourth: a three-card services section keeps the
   three-column grid it has. */
[data-fs-theme='forecourt'] [data-fs-role='services'] [data-fs-grid]:has(> :nth-child(4)) {
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
}

/* about.html §133's closing action on the workshop panel: .fc-btn--ghost,
   which is transparent on a hairline in page ink, with the preparation
   glyph in front of the label. The button treatment further down gives it
   the display face, the tracking and the 44px target; this is the ghost
   variant and the glyph. Same masked-::after as the telephone actions —
   one pseudo per element, PITFALLS U32. */
[data-fs-theme='forecourt'] [data-fs-role='showcase'] [data-fs-showcase-cta] {
  background: transparent;
  color: rgb(var(--c-ink-950));
  border-color: rgb(var(--c-line));
}
[data-fs-theme='forecourt'] [data-fs-role='showcase'] [data-fs-showcase-cta]:hover {
  border-color: rgb(var(--c-brand-600));
  color: rgb(var(--c-brand-600));
}
[data-fs-theme='forecourt'] [data-fs-role='showcase'] [data-fs-showcase-cta]::after {
  content: '';
  position: static;
  order: -1;
  width: 1.1em; height: 1.1em; flex: none;
  background-color: currentColor;
  -webkit-mask: var(--fs-fc-prep-icon) center / contain no-repeat;
  mask: var(--fs-fc-prep-icon) center / contain no-repeat;
}

/* THE ICON IS INLINE WITH THE TITLE, AND THERE IS NO ACCENT RULE.
   services.html §77 writes the glyph INSIDE the heading —
   "<h3><svg/>Buying outright</h3>", .fc-card h3 { display: flex; gap:
   .5rem } with a 1.25rem brand-600 svg — and the card has no top edge
   on it at all. The shared block stacks a 48px rounded chip on
   bg-brand-50 ABOVE the title and paints a 4px brand bar across the
   top, so the port's card read as two decorations the prototype has not
   got and lost the one it has.

   The card becomes a two-track grid: glyph, then title, then the body
   under both. The chip keeps its element (it is what carries the mask
   below) and gives up its box. */
[data-fs-theme='forecourt'] [data-fs-role='services'] [data-fs-surface='card'] {
  display: grid;
  /* The glyph track is FIXED, not auto. An auto track takes the
     intrinsic contribution of anything spanning it, and the body spans
     both columns on row 2, so an auto track grew to the body's 229px and
     title's track computed to 0px. Everything still measured as correct
     (grid-column 2, icon inline, accent hidden) and the heading rendered
     as a clipped stack at the card's right edge, which is why this was
     caught by looking at it and not by the assertions. */
  grid-template-columns: 1.25rem minmax(0, 1fr);
  align-items: center;
  column-gap: .5rem;
}
[data-fs-theme='forecourt'] [data-fs-role='services'] [data-fs-surface='card'] > span[aria-hidden] {
  display: none;
}
[data-fs-theme='forecourt'] [data-fs-role='services'] [data-fs-surface='card'] > h4 {
  grid-column: 2; grid-row: 1;
  margin-top: 0;
}
/* EVERY other child, not just a <p>. The body is whatever element
   Editable chose — a <div> in the editor and a <p> when published — so a
   p-only rule left it to auto-place, and it landed in the icon track
   and grew it to 229px. Measured: the title's column collapsed to 0 and
   the heading rendered as a clipped stack at the card's right edge, in a
   card whose computed values all still read as correct. */
[data-fs-theme='forecourt'] [data-fs-role='services'] [data-fs-surface='card'] > :not(span):not(h4) {
  grid-column: 1 / -1; grid-row: 2;
}

/* THE FOUR ICONS, one per card, from the prototype's own sprite.
   The shared block draws the same lucide Star in every card; the
   prototype gives each service the glyph that belongs to it —
   provenance, finance, part-exchange, delivery. A mask on the chip and
   the block's own svg hidden, so the glyph takes a palette colour and
   is right in both modes, exactly as the telephone glyph does. */
[data-fs-theme='forecourt'] [data-fs-role='services'] [data-fs-surface='card'] > span:first-of-type svg,
[data-fs-theme='forecourt'] [data-fs-role='services'] [data-fs-surface='card'] > span:nth-of-type(2) svg { display: none; }
[data-fs-theme='forecourt'] [data-fs-role='services'] [data-fs-surface='card'] span[class*='bg-brand-50'] {
  position: relative;
  /* No chip: services.html sets the glyph on the heading's own line at
     1.25rem, with nothing behind it. */
  grid-column: 1; grid-row: 1;
  width: 1.25rem; height: 1.25rem;
  min-width: 0;
  background: none;
  border-radius: 0;
}
[data-fs-theme='forecourt'] [data-fs-role='services'] [data-fs-surface='card'] span[class*='bg-brand-50']::after {
  content: '';
  position: absolute; inset: 0; margin: auto;
  width: 1.25rem; height: 1.25rem;
  background-color: rgb(var(--c-brand-600));
  -webkit-mask: var(--fs-fc-svc-icon) center / contain no-repeat;
  mask: var(--fs-fc-svc-icon) center / contain no-repeat;
}
[data-fs-theme='forecourt'] [data-fs-role='services'] [data-fs-surface='card']:nth-child(1) { --fs-fc-svc-icon: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.9'%20stroke-linecap='butt'%20stroke-linejoin='miter'%3E%3Cpath%20d='M4.6%202.6h8.6l6.2%206.2v12.6H4.6z'/%3E%3Cpath%20d='M13.2%202.6v6.2h6.2'/%3E%3Cpath%20d='M7.8%2012.4h8.4M7.8%2015.6h8.4M7.8%2018.8h5.2'/%3E%3C/svg%3E"); }
[data-fs-theme='forecourt'] [data-fs-role='services'] [data-fs-surface='card']:nth-child(2) { --fs-fc-svc-icon: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.9'%20stroke-linecap='butt'%20stroke-linejoin='miter'%3E%3Cpath%20d='M2.6%206.2h18.8v11.6H2.6z'/%3E%3Ccircle%20cx='12'%20cy='12'%20r='2.9'/%3E%3Cpath%20d='M2.6%209.4h2.6M18.8%2014.6h2.6'/%3E%3C/svg%3E"); }
[data-fs-theme='forecourt'] [data-fs-role='services'] [data-fs-surface='card']:nth-child(3) { --fs-fc-svc-icon: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.9'%20stroke-linecap='butt'%20stroke-linejoin='miter'%3E%3Cpath%20d='M2.8%209.2h15.6M14.6%205.4l3.8%203.8'/%3E%3Cpath%20d='M21.2%2014.8H5.6M9.4%2018.6l-3.8-3.8'/%3E%3C/svg%3E"); }
[data-fs-theme='forecourt'] [data-fs-role='services'] [data-fs-surface='card']:nth-child(4) { --fs-fc-svc-icon: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.9'%20stroke-linecap='butt'%20stroke-linejoin='miter'%3E%3Cpath%20d='M3.4%2014.6%205.2%209.8a1.8%201.8%200%200%201%201.7-1.2h10.2a1.8%201.8%200%200%201%201.7%201.2l1.8%204.8v3.4H3.4z'/%3E%3Cpath%20d='M6.8%2017.8v1.8M17.2%2017.8v1.8M3.4%2014.6h17.2'/%3E%3C/svg%3E"); }


/* ── ONE MEASURE FOR THE WHOLE PAGE ────────────────────────────── */
/* theme.css §225: every section on every page is inside the SAME
   .fc-shell, min(100% - 2gap, 76rem). The port had two: the signature
   blocks on .fs-fc-shell at 72rem, and every shared block on the
   chrome's default 64rem. Measured at 1440 in the preview: the stock
   grid's left edge sat at 144px and the testimonial grid's at 208px —
   a 64px step in the page's left margin, three times per page, which is
   the kind of thing that reads as "not quite right" without ever
   announcing itself. The editor's own preview pane is ~1074px wide and
   never showed it; a published site at 1440 does.
   Set once, inherited. Blocks that declare their own width on
   themselves (wide / narrow / full) still win on specificity. */
[data-fs-theme='forecourt'] {
  /* --fs-on-brand is no longer declared here: the platform's solved
     value is the page colour in all six palettes, for buttons and the
     form alike (theme-chrome batch 4, R-B4-17). */
  /* THE EYEBROW MEASURE. theme.css never writes a width on .fc-eyebrow:
     it is a <p>, and "p { max-width: var(--fs-measure) }" catches it.
     The prototype's --fs-measure is 68ch, resolved against the
     eyebrow's OWN font — Antonio at 12px — so the box is 341px whatever
     the band is doing, and the trailing hairline is a short 87–290px
     gesture rather than a divider. Without it the same rule ran the
     width of the section: measured on the port before this fix,
     452–1163px across four pages in both modes, three to seven times
     the drawn length, and a markup diff shows nothing at all.

     Not var(--fs-measure): that would be 62ch here, because the app
     picks the measure off the DENSITY dial and forecourt is compact.
     And not 68ch either — the port draws its eyebrows at weight 600
     where the prototype leaves them at the body weight, and Antonio's
     zero is wider at 600, so 1ch measures 5.906px in the port against
     the prototype's 5.016px. 68ch would be 402px. The number below is
     the count that reproduces the PROTOTYPE'S DRAWN BOX in the port's
     own font: 58 × 5.906 = 342.6px against 341.1px measured on
     theme.css. Kept in ch rather than rem so it tracks the eyebrow's
     own clamped font-size across the breakpoints, exactly as the
     prototype's does. */
  --fs-fc-eyebrow-measure: 58ch;
  /* art/icon-prep.svg, hoisted the same way the telephone path is: the
     showcase's closing action is the only thing that reads it. */
  --fs-fc-prep-icon: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.9'%20stroke-linecap='butt'%20stroke-linejoin='miter'%3E%3Cpath%20d='M17.4%203.4a4.6%204.6%200%200%200-6.1%205.9L3.2%2017.4%206.6%2020.8l8.1-8.1a4.6%204.6%200%200%200%205.9-6.1l-3%203-2.4-2.4z'/%3E%3C/svg%3E");
  --fs-block-max: 76rem;
  /* The same number under a name the chrome cannot narrow.
     [data-fs-block][data-width='narrow'] re-declares --fs-block-max
     as 48rem ON THE BLOCK, so any rule inside a cta or a textBlock
     that reads it gets 768px, not 1216 — which is how the closing
     band ended up 336px from the page's left edge while the section
     above it started at 112. --fs-fc-measure is this theme's own
     and nothing re-declares it. */
  --fs-fc-measure: 76rem;
  /* The sprite's #fc-i-phone path, hoisted to the theme root so the
     header slot and the closing band's ghost button share one copy. */
  --fs-fc-tel-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='butt' stroke-linejoin='miter'%3E%3Cpath d='M7.4 2.8c-1.1 0-3.1 1.3-3.3 3.4-.3 3.3 2.1 7.8 4.9 10.6s7.3 5.2 10.6 4.9c2.1-.2 3.4-2.2 3.4-3.3 0-.5-.3-1-.8-1.2l-3.5-1.7c-.6-.3-1.4-.1-1.8.4l-1.1 1.4c-1.8-.9-4.2-3.2-5-5l1.4-1.1c.5-.4.7-1.2.4-1.8L10.9 3.6c-.2-.5-.7-.8-1.2-.8z'/%3E%3C/svg%3E");
}

/* ── THE VERTICAL RHYTHM, AS THE PROTOTYPE SETS IT ────────────── */
/* tokens.css §24: --fs-space-section is clamp(3.25rem, 2.4rem + 4vw,
   6rem), which is 96px from 1440 up. The app's 'compact' density dial
   writes clamp(2rem,4vw,3rem) — 48px, exactly half — so every band on
   every page sat at half the prototype's height and the pages read as
   cramped rather than as the same design. The gap, card and stack
   tokens are the same story: 12 / 17.6 / 8 against 22.2 / 24.4 / 14.4.
   Measured, not guessed: the two token sets were computed side by side
   at 1440.

   ON A DESCENDANT SELECTOR, AND IT HAS TO BE. apply.ts writes these
   four as an INLINE style on the same element that carries
   [data-fs-theme] (themeStyleVars → React.CSSProperties), and an inline
   declaration beats any stylesheet rule for the same property on the
   same element however specific. Declaring them on the scope's children
   re-inherits them down the whole tree and never fights the inline set —
   the same trap form-themes.ts documents for --fs-fm-*.

   The density: 'compact' dial itself is untouched: it is one of the
   three identity levers check-themes enforces, and it stays exactly what
   the theme declares. This is the theme drawing its own spacing over the
   dial's, which is what every other value in this sheet does. */
[data-fs-theme='forecourt'] > * {
  --fs-space-section: clamp(3.25rem, 2.4rem + 4vw, 6rem);
  --fs-space-gap: clamp(1rem, 0.85rem + 0.6vw, 1.5rem);
  --fs-space-card: clamp(1.1rem, 0.95rem + 0.6vw, 1.6rem);
  --fs-space-stack: clamp(0.7rem, 0.63rem + 0.3vw, 1rem);
}

/* ── THE EYEBROW, EVERYWHERE ONE IS DRAWN ─────────────────────── */
/* Every h2 in the prototype opens on a small uppercase label whose
   trailing hairline runs to the end of the line — theme.css §.fc-eyebrow,
   and .fs-fc-eyebrow above draws it in all five signature blocks. The
   shared blocks drew it in brand-600 Golos Text at .96px tracking with
   no rule, when they drew it at all: measured on 'about', font-family
   "Golos Text", colour rgb(23,57,75), ::after content none.

   The .fs-hero-* variants keep their own rule (on-media ink), so the
   :not() is what stops this repainting the hero's. */
[data-fs-theme='forecourt'] .fs-eyebrow:not(.fs-hero-eyebrow) {
  display: flex;
  align-items: center;
  gap: .6em;
  /* See .fs-fc-eyebrow above: the measure is what makes the trailing
     hairline a gesture rather than a full-width divider. */
  width: 100%;
  max-width: var(--fs-fc-eyebrow-measure);
  font-family: var(--font-display);
  font-size: var(--fs-type-eyebrow, .75rem);
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgb(var(--c-ink-400));
  margin: 0 0 .55rem;
}
[data-fs-theme='forecourt'] .fs-eyebrow:not(.fs-hero-eyebrow)::after {
  content: '';
  flex: 1 1 auto;
  min-width: 1.5rem;
  height: 1px;
  background: rgb(var(--c-line));
}

/* ── THE ALTERNATING BAND ─────────────────────────────────────── */
/* Sections that carry band: 'soft' are painted by block-chrome. The
   signature blocks paint --c-paper on themselves, which would cover the
   band, so inside one they go transparent and let it through. */
[data-fs-theme='forecourt'] [data-fs-band='soft'] .fs-fc,
[data-fs-theme='forecourt'] [data-fs-band='soft'] .fs-team-section,
[data-fs-theme='forecourt'] [data-fs-band='soft'] .fs-testimonials-section { background: transparent; }
/* MapBlock and AccordionBlock hardcode py-12 on their own root -- they
   are not [data-fs-block] and do not read the density dial, so they
   were the only two sections on a contact page still at 48px while
   everything round them had moved to 96. */
[data-fs-theme='forecourt'] [data-fs-role='map'],
[data-fs-theme='forecourt'] [data-fs-acc] { padding-block: var(--fs-space-section, 6rem); }

/* ── favMapEmbed IS TWO COLUMNS ───────────────────────────────── */
/* contact.html §130 is .fc-map: minmax(0,1.2fr) minmax(0,1fr),
   align-items:center — the map on the left, everything you need to
   actually get here on the right. MapBlock stacks a heading, one grey
   14px line and then a 4:3 frame the full width of the measure, which at
   1216 is a 912px-tall map with a caption floating above it.

   The block's own inner div is the grid; the eyebrow and the heading
   span both tracks, the frame takes the wide one and the text the
   narrow one.

   The right column is now three things, in the prototype's order: the
   opening-hours card (§139 .fc-otr), the address block (§145) and the
   .fc-meta line (§149). The first two are the block's optional aside;
   the third is its description string, moved to the row below so the
   two do not collide. The frame spans both of those rows. The extra
   row is auto, so a map with no aside lays out exactly as it did. */
@media (min-width: 60rem) {
  [data-fs-theme='forecourt'] [data-fs-role='map'] > div {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    grid-template-rows: auto auto auto 1fr;
    column-gap: var(--fs-space-gap, 1.4rem);
    align-items: start;
  }
  [data-fs-theme='forecourt'] [data-fs-role='map'] > div > .fs-eyebrow { grid-column: 1 / -1; grid-row: 1; }
  [data-fs-theme='forecourt'] [data-fs-role='map'] > div > h2 { grid-column: 1 / -1; grid-row: 2; }
  [data-fs-theme='forecourt'] [data-fs-role='map'] > div > [data-fs-map-aside] { grid-column: 2; grid-row: 3; }
  [data-fs-theme='forecourt'] [data-fs-role='map'] > div > p { grid-column: 2; grid-row: 4; align-self: start; }
  [data-fs-theme='forecourt'] [data-fs-role='map'] > div > div { grid-column: 1; grid-row: 3 / span 2; }
}
/* §139 .fc-otr is a data-fs-surface="card" with --fs-space-card of
   padding, and its rows are the theme's soft rule. The generic aside is
   a bare ruled list; this is what makes it the card the prototype
   draws. */
/* paper-soft, NOT paper: --fs-surface="card" resolves to paper-soft in
   this palette (PITFALLS J1) and that is the same fill the form card two
   sections up already uses. Measured on both sides — prototype and port
   agree that paper is 245 243 239 / 14 20 24 and paper-soft is
   255 255 255 / 22 30 35 — so the prototype's hours card is exactly its
   soft band with a hairline round it, and paper here would have drawn a
   darker box the prototype does not have. */
[data-fs-theme='forecourt'] [data-fs-role='map'] [data-fs-map-hours] {
  background: rgb(var(--c-paper-soft));
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-card, 10px);
  padding: var(--fs-space-card, 1.35rem);
}
[data-fs-theme='forecourt'] [data-fs-role='map'] [data-fs-map-hours-title] {
  font-family: var(--font-display);
  font-size: var(--fs-type-h3, 1.15rem);
  letter-spacing: .004em;
  color: rgb(var(--c-ink-950));
}
[data-fs-theme='forecourt'] [data-fs-role='map'] [data-fs-map-hours-row] {
  border-bottom-color: rgb(var(--c-line) / .6);
}
[data-fs-theme='forecourt'] [data-fs-role='map'] [data-fs-map-address] { color: rgb(var(--c-ink-700)); }
[data-fs-theme='forecourt'] [data-fs-role='map'] [data-fs-map-address-name] { color: rgb(var(--c-ink-950)); }
/* The right-hand column is the address and the opening hours, not a
   caption: body size in the reading ink, on the page's own leading. */
[data-fs-theme='forecourt'] [data-fs-role='map'] > div > p {
  margin-top: var(--fs-space-stack, .9rem);
  font-size: 1em;
  line-height: 1.6;
  color: rgb(var(--c-ink-700));
  max-width: var(--fs-measure, 62ch);
}
[data-fs-theme='forecourt'] [data-fs-role='map'] > div > div { margin-top: var(--fs-space-gap, 1.4rem); }
/* .fc-map-fig is a card round the map, not a bare frame. */
[data-fs-theme='forecourt'] [data-fs-map-frame] {
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-card, 10px);
}

/* ── THE FOOTER BAND ──────────────────────────────────────────── */
/* theme.css [data-fs-chrome='footer']: paper-soft, with a hairline over
   it. The port's footer sat on the page colour, so the four columns and
   the small print ran on from the last section with no edge at all. */
[data-fs-theme='forecourt'] [role='contentinfo'] {
  background: rgb(var(--c-paper-soft));
  border-top: 1px solid rgb(var(--c-line));
}

/* ── cta ───────────────────────────────────────────────────────── */
/* The prototype closes every page on a soft band with the type left and
   a photograph right — not on a brand fill with two blurred blobs. */
[data-fs-theme='forecourt'] [data-fs-role='cta'] {
  background: rgb(var(--c-paper-soft));
  text-align: left;
}
[data-fs-theme='forecourt'] [data-fs-role='cta'] > div[aria-hidden],
[data-fs-theme='forecourt'] [data-fs-role='cta'] > div.pointer-events-none { display: none; }
/* The block's own inner is mx-auto max-w-2xl text-center — three
   Tailwind utilities that between them centre the whole cluster in a
   narrow column. Setting text-align on the block alone left the type
   left-aligned INSIDE a centred 42rem box, which read as an indent
   rather than as the prototype's left-hung close.

   TWO COLUMNS NOW, matching theme.css §888:
   grid-template-columns: minmax(0,1fr) minmax(0,20rem), one gap,
   align-items:center, collapsing to one column under 60rem. The block
   supplies the grid when a photograph is set; this restates the
   prototype's exact track sizes over the shared sm:grid-cols. */
[data-fs-theme='forecourt'] [data-fs-role='cta'] > div:last-child {
  margin-inline: auto;
  max-width: var(--fs-fc-measure, 76rem);
  text-align: left;
}
[data-fs-theme='forecourt'] [data-fs-role='cta'] .fs-heading,
[data-fs-theme='forecourt'] [data-fs-role='cta'] .fs-prose { margin-inline: 0; }
[data-fs-theme='forecourt'] [data-fs-role='cta'][data-fs-cta-media] > div:last-child {
  grid-template-columns: minmax(0, 1fr) minmax(0, 20rem);
  align-items: center;
  gap: var(--fs-space-gap, 1.75rem);
}
@media (max-width:60rem) {
  [data-fs-theme='forecourt'] [data-fs-role='cta'][data-fs-cta-media] > div:last-child {
    grid-template-columns: 1fr;
  }
}
[data-fs-theme='forecourt'] [data-fs-role='cta'] [data-fs-cta-figure] img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: var(--fs-radius-card, .5rem);
}
[data-fs-theme='forecourt'] [data-fs-role='cta'] .fs-heading { color: rgb(var(--c-ink-950)) !important; }
[data-fs-theme='forecourt'] [data-fs-role='cta'] .fs-prose {
  color: rgb(var(--c-ink-700)) !important;
  margin-inline: 0;
}
/* theme.css §389's .fc-meta — the address line under the actions. The
   block hands it out as white/70 for a brand panel; this band is paper,
   so it takes the theme's own small print. */
[data-fs-theme='forecourt'] [data-fs-role='cta'] .fs-cta-meta {
  color: rgb(var(--c-ink-400)) !important;
  font-size: var(--fs-type-caption, .8125rem);
  margin-inline: 0;
}
/* .fc-hero-actions — flex, wrapping, .7rem apart. The two buttons each
   carry their own mt-8 from the block, so the row's own margin is 0. */
[data-fs-theme='forecourt'] [data-fs-role='cta'] [data-fs-cta-actions] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: .7rem;
}
[data-fs-theme='forecourt'] [data-fs-role='cta'] [data-fs-cta-primary] {
  background: rgb(var(--c-brand-600));
  color: rgb(var(--c-paper));
  box-shadow: none;
  font-family: var(--font-display);
  font-weight: 600;
  letter-spacing: .05em;
  text-transform: uppercase;
}
/* The ghost. The shared block outlines it in white/60 because it expects
   a brand panel underneath; forecourt's closing band is paper, so white
   on paper would have been an invisible button with a faint edge —
   exactly the dark-mode class of bug this pass is about, only inverted. */
[data-fs-theme='forecourt'] [data-fs-role='cta'] [data-fs-cta-secondary] {
  background: transparent;
  border-color: rgb(var(--c-ink-400)) !important;
  color: rgb(var(--c-ink-950)) !important;
  box-shadow: none;
  font-family: var(--font-display);
  font-weight: 600;
  letter-spacing: .05em;
  text-transform: uppercase;
}
[data-fs-theme='forecourt'] [data-fs-role='cta'] [data-fs-cta-secondary]:hover {
  border-color: rgb(var(--c-ink-950)) !important;
}
/* index.html 387 puts the phone glyph in front of the number. Same
   sprite path and the same mask technique as the header's opt-in glyph,
   so it takes a palette colour and is right in dark mode; keyed on the
   href, so a secondary action that is not a telephone number gets none.

   ::after, NOT ::before, and measured before it was moved: the hover
   sweep in section 19 already owns ::before on every control inside a
   cta ([data-fs-role='cta'] a::before). Declaring the glyph there did
   not add a second pseudo-element — there is only ever one — it
   REPLACED the sweep's background with an opaque currentColor and
   masked the sliding layer into the shape of a telephone. The button
   is inline-flex, so the pseudo is a flex item and order:-1 puts it
   back in front of the label where the prototype has it. */
[data-fs-theme='forecourt'] [data-fs-role='cta'] [data-fs-cta-secondary][href^='tel:']::after {
  content: '';
  /* MEASURED: something upstream gives this pseudo position:absolute,
     which takes it out of the flex flow — order stops applying and a
     16px masked box lands on top of the label instead of in front of
     it. Stated explicitly rather than inherited. */
  position: static;
  order: -1;
  width: 1em; height: 1em; flex: none;
  background-color: currentColor;
  -webkit-mask: var(--fs-fc-tel-icon) center / contain no-repeat;
  mask: var(--fs-fc-tel-icon) center / contain no-repeat;
}

/* ── quote ─────────────────────────────────────────────────────── */
/* The prototype's quotation is centred display type on the page, with
   no card and no glyph — the one centred thing in the whole theme. */
[data-fs-theme='forecourt'] [data-fs-role='quote'] [data-fs-surface='card'] {
  border: 0; box-shadow: none; background: none; padding: 0;
  max-width: min(52rem, var(--fs-layout-clamp, 52rem)); margin-inline: auto; text-align: center;
}
[data-fs-theme='forecourt'] [data-fs-role='quote'] blockquote,
[data-fs-theme='forecourt'] [data-fs-role='quote'] [data-fs-surface='card'] > p {
  font-family: var(--font-display);
  font-size: var(--fs-type-h2, 2.25rem);
  font-weight: 700;
  line-height: 1.2;
  color: rgb(var(--c-ink-950));
  margin-top: 0;
  text-align: center;
  max-width: none;
}
[data-fs-theme='forecourt'] [data-fs-role='quote'] [data-fs-surface='card'] > span {
  color: rgb(var(--c-ink-400));
  font-size: .8125rem;
  letter-spacing: .1em;
  text-transform: uppercase;
}
[data-fs-theme='forecourt'] [data-fs-role='quote'] svg { display: none; }

/* ── favTable ──────────────────────────────────────────────────── */
/* The regulator register and the warranty comparison are the theme's
   two tables, and both are read left to right — the app's centred cells
   turn a "what it does for you" column into a caption. */
[data-fs-theme='forecourt'] [data-fs-tbl-scroll] th,
[data-fs-theme='forecourt'] [data-fs-tbl-scroll] td { text-align: left; }
[data-fs-theme='forecourt'] [data-fs-tbl-scroll] thead th {
  font-family: var(--font-display);
  font-size: var(--fs-type-eyebrow, .72rem);
  letter-spacing: .12em;
  text-transform: uppercase;
}
/* theme.css §824: the row headings are <th scope="row" font-weight:500>
   — medium, not bold, and on no band of their own. The app draws that
   column as a plain <td>, so the weight is restated here rather than by
   turning on data-header-col, which would also paint a grey bar the
   prototype does not have. */
[data-fs-theme='forecourt'] [data-fs-tbl-scroll] tbody td:first-child { font-weight: 500; }
/* theme.css §821: the whole table sits in a ruled, radiused box, and
   §823's caption sits INSIDE it at caption size. */
[data-fs-theme='forecourt'] [data-fs-tbl-scroll] {
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-card, .5rem);
}
[data-fs-theme='forecourt'] [data-fs-tbl-caption] {
  padding: var(--fs-space-card, 1.1rem) var(--fs-space-card, 1.1rem) .6rem;
  font-size: var(--fs-type-caption, .8125rem);
  color: rgb(var(--c-ink-700));
}
[data-fs-theme='forecourt'] .fs-table-intro {
  color: rgb(var(--c-ink-700));
  font-size: 1.08em;
  max-width: var(--fs-fc-measure, 76rem);
  margin-inline: auto;
  text-align: left;
}
[data-fs-theme='forecourt'] .fs-table-intro > * {
  margin-inline: 0;
  max-width: var(--fs-measure, 62ch);
}

/* ── favAccordion ──────────────────────────────────────────────── */
[data-fs-theme='forecourt'] [data-fs-acc] > h2 { margin-bottom: .5rem; }

/* ── favTestimonials / favTeam ─────────────────────────────────── */
[data-fs-theme='forecourt'] .fs-testimonials-section,
[data-fs-theme='forecourt'] .fs-team-section { background: rgb(var(--c-paper)); }
/* THE AVATAR AND STAR HIDING IS GONE, and its going is the fix.
   The first port could not switch them off from the payload and said
   so in a comment — "setting fields.showAvatar / showStars false does
   NOT remove them". True, but only because 'fields' is not a key the
   model reads: the flags are per-ITEM and named 'display'. They are set
   correctly in forecourt.ts now, the elements are never rendered, and
   five display:none rules that were fighting the block are deleted.

   The card SHAPE is likewise no longer theme CSS. theme.css §.fc-quote
   is a <figure> whose <figcaption> is pushed to the foot of the card on
   margin-top:auto under a hairline — a shape the block could not
   express, and the fourth theme-lab prototype to draw it by hand. It is
   now template:'ruled' in the shared block (testimonials-styles.ts),
   so the ordering, the pin and the rule all come from there.

   What is left here is the part that really is this theme's: the
   accent quotation mark. */
[data-fs-theme='forecourt'] .fs-testimonials-section [data-fs-ts-quote] {
  color: rgb(var(--c-ink-950));
  font-size: 1rem;
}
/* theme.css §816 — a 2rem display-face " in the accent, hung on the
   first line with a zero line-height so it cannot open the leading. */
[data-fs-theme='forecourt'] .fs-testimonials-section [data-fs-ts-quote]::before {
  content: '\201C';
  font-family: var(--font-display);
  font-size: 2rem;
  line-height: 0;
  vertical-align: -.35em;
  color: rgb(var(--c-accent));
  margin-right: .1em;
}
/* The caption's own register: caption size, ink-400, the name on its
   own line at full ink strength. */
[data-fs-theme='forecourt'] .fs-testimonials-section [data-fs-ts-attribution] {
  font-size: var(--fs-type-caption, .8125rem);
  color: rgb(var(--c-ink-400));
}
[data-fs-theme='forecourt'] .fs-testimonials-section [data-fs-ts-name] {
  font-family: var(--font-display);
  color: rgb(var(--c-ink-950));
}
[data-fs-theme='forecourt'] .fs-testimonials-section [data-fs-ts-role],
[data-fs-theme='forecourt'] .fs-team-section [data-fs-tm-role] {
  font-size: .8125rem;
  color: rgb(var(--c-accent, var(--c-brand-700)));
  font-weight: 600;
}

/* ── textBlock ─────────────────────────────────────────────────── */
/* block-chrome centres the content column with margin-inline:auto at a
   48rem measure for data-width="narrow". Left-hung is this theme's whole
   posture, and it matters most in the footer, where the small print
   otherwise floats in from the left of a four-column grid. */
[data-fs-theme='forecourt'] [data-fs-role='textBlock'] [data-fs-inner] {
  margin-inline: auto;
  max-width: var(--fs-fc-measure, 76rem);
}
/* The small print keeps a reading measure INSIDE the page's shell,
   rather than being a 68ch column hard against the footer padding. */
[data-fs-theme='forecourt'] [data-fs-role='textBlock'] .fs-heading,
[data-fs-theme='forecourt'] [data-fs-role='textBlock'] .fs-prose {
  margin-inline: 0;
  max-width: var(--fs-measure, 68ch);
}

/* ── favForm ───────────────────────────────────────────────────── */
/* FormBlock marks a required field with a hardcoded text-red-600
   asterisk. Measured on the dark page: 3.84:1 at 12px, under the 4.5
   a glyph that size needs. Scoped rather than fixed in the block,
   because red is a deliberate convention there and repainting every
   theme's forms is not this pass's business — here it takes the
   theme's own accent, which is solved against both modes. */
[data-fs-theme='forecourt'] [data-fs-fm] {
  /* form-styles now reads this, with its old #dc2626 as the fallback.
     A fixed red cannot be right in both modes; this theme's accent is
     solved against all six palettes and is already the colour it uses
     for the one other "something is wrong" state it has, the failed
     MOT bar in favLotProvenance. */
  --fs-fm-danger: rgb(var(--c-accent));
}
/* The form shell used to be margin-inline:0, which put its heading at
   25px while every other heading on the page sat at 112. It takes the
   page measure now and left-hangs its contents inside it; the fields
   keep a form's own measure, because a 1216px-wide text input is not a
   form, it is a horizon. */
[data-fs-theme='forecourt'] .fs-section-shell {
  margin-inline: auto;
  max-width: calc(var(--fs-fc-measure, 76rem) + 3rem);
  text-align: left;
}
/* FormBlock's lede is a centred 14px opacity-80 line. theme.css's
   .fc-lede is 1.08em in ink-700 with the heading's own gap under it. */
[data-fs-theme='forecourt'] .fs-section-shell > p {
  max-width: var(--fs-measure, 62ch);
  margin-inline: 0;
  margin-top: var(--fs-space-stack, .75rem);
  margin-bottom: var(--fs-space-gap, 1.75rem);
  /* 1.08REM, not 1.08em: FormBlock's shell is text-sm, so an em here
     measured 15.12px while .fc-lede is 1.08 of a 16px body -- 17.28. */
  font-size: 1.08rem;
  line-height: 1.6;
  font-weight: 400;
  opacity: 1;
  color: rgb(var(--c-ink-700));
}

/* ── THE FORM SECTION IS TWO COLUMNS ──────────────────────────── */
/* contact.html §77 is .fc-val: the argument on the left, the enquiry
   card on the right, grid-template-columns minmax(0,1fr)
   minmax(0,1.05fr), align-items:center, collapsing to one column under
   60rem. The port drew a heading, a paragraph and a 544px form stacked
   down the left of a 1216px band, so half the section was empty and the
   form read as an afterthought rather than as the point of the page.
   Measured at 1600: form at x=177 w=544 with 672px of nothing to its
   right.

   grid-template-rows is EXPLICIT and load-bearing: grid-row: 1 / -1
   resolves against the EXPLICIT grid only, so with implicit rows the
   card would have spanned one row and sat beside the eyebrow. FIVE
   named rows now — eyebrow, heading, lede, the numbered points and the
   two actions — and the card spans all of them. The last two rows are
   auto, so on a form that writes no points and no actions they collapse
   to zero and the section lays out exactly as it did. */
@media (min-width: 60rem) {
  [data-fs-theme='forecourt'] [data-fs-fm] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
    grid-template-rows: auto auto auto auto 1fr;
    column-gap: var(--fs-space-gap, 1.4rem);
    align-items: start;
  }
  [data-fs-theme='forecourt'] [data-fs-fm] > .fs-eyebrow { grid-column: 1; grid-row: 1; }
  [data-fs-theme='forecourt'] [data-fs-fm] > h2 { grid-column: 1; grid-row: 2; }
  [data-fs-theme='forecourt'] [data-fs-fm] > p { grid-column: 1; grid-row: 3; }
  [data-fs-theme='forecourt'] [data-fs-fm] > [data-fs-fm-points] { grid-column: 1; grid-row: 4; }
  [data-fs-theme='forecourt'] [data-fs-fm] > [data-fs-fm-links] { grid-column: 1; grid-row: 5; align-self: start; }
  [data-fs-theme='forecourt'] [data-fs-fm] > form,
  [data-fs-theme='forecourt'] [data-fs-fm] > [data-fs-fm-success],
  [data-fs-theme='forecourt'] [data-fs-fm] > [data-fs-fm-schedule] {
    grid-column: 2;
    grid-row: 1 / -1;
    align-self: center;
  }
}
/* contact.html §83 .fc-prep-list and §94 .fc-hero-actions, restated on
   the block's generic aside. The prototype's numeral is a 2.2rem column
   in the display face at 1rem, accent-coloured, with a soft hairline
   between rows and none under the last; the two actions are the theme's
   own .fc-btn, primary then ghost. */
[data-fs-theme='forecourt'] [data-fs-fm] [data-fs-fm-point] {
  grid-template-columns: 2.2rem minmax(0, 1fr);
  column-gap: .9rem;
  padding: var(--fs-space-stack, .75rem) 0;
  border-bottom: 1px solid rgb(var(--c-line) / .6);
}
[data-fs-theme='forecourt'] [data-fs-fm] [data-fs-fm-point]::before {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.5;
  color: rgb(var(--c-accent));
}
[data-fs-theme='forecourt'] [data-fs-fm] [data-fs-fm-point-title] {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .004em;
  margin-bottom: .1rem;
  color: rgb(var(--c-ink-950));
}
[data-fs-theme='forecourt'] [data-fs-fm] [data-fs-fm-link][data-variant='primary'] {
  background: rgb(var(--c-brand-600));
  color: var(--fs-on-brand, rgb(var(--c-paper)));
  border-color: rgb(var(--c-brand-600));
}
[data-fs-theme='forecourt'] [data-fs-fm] [data-fs-fm-link][data-variant='ghost'] {
  background: transparent;
  color: rgb(var(--c-ink-950));
  border-color: rgb(var(--c-line));
}
[data-fs-theme='forecourt'] [data-fs-fm] [data-fs-fm-link][data-variant='ghost']:hover {
  border-color: rgb(var(--c-brand-600));
  color: rgb(var(--c-brand-600));
}
/* contact.html §95 puts the phone glyph in front of the number. Same
   masked-::after treatment as the closing band's tel: action, and for
   the same PITFALLS U32 reason — one pseudo per element, and ::before
   is where a sweep would go if this control ever joins that list. */
[data-fs-theme='forecourt'] [data-fs-fm] [data-fs-fm-link][href^='tel:']::after {
  content: '';
  position: static;
  order: -1;
  width: 1em; height: 1em; flex: none;
  background-color: currentColor;
  -webkit-mask: var(--fs-fc-tel-icon) center / contain no-repeat;
  mask: var(--fs-fc-tel-icon) center / contain no-repeat;
}

/* The card itself — .fc-val-form is data-fs-surface="card" with
   --fs-space-card of padding, which is the same hairline-and-soft-corner
   surface every other card on the site has. The port's form had no
   background, no border and no padding at all. */
[data-fs-theme='forecourt'] [data-fs-fm] > form {
  max-width: none;
  margin-inline: 0;
  background: rgb(var(--c-paper-soft));
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-card, 10px);
  padding: var(--fs-space-card, 1.35rem);
}
[data-fs-theme='forecourt'] .fs-section-shell [data-fs-fm-success],
[data-fs-theme='forecourt'] .fs-section-shell [data-fs-fm-schedule] { max-width: 34rem; }

/* .fc-field-row is 1fr 1fr and holds ONLY name and telephone; email,
   the car select and the message run the full width of the card. The
   block's two-col layout puts every non-message field in a column, so
   the two that are not paired are pulled back out. */
[data-fs-theme='forecourt'] [data-fs-fm][data-layout='two-col'] [data-fs-fm-field][data-type='email'],
[data-fs-theme='forecourt'] [data-fs-fm][data-layout='two-col'] [data-fs-fm-field][data-type='dropdown'],
[data-fs-theme='forecourt'] [data-fs-fm][data-layout='two-col'] [data-fs-fm-field][data-type='section'] {
  grid-column: 1 / -1;
}
/* The card's own heading. The block's 'section' field is a small
   uppercase label over a rule; contact.html §100 is an <h3> with no rule
   under it, so the first one takes the h3 register and drops its
   separator. Any LATER section field in the same form keeps the block's
   own divider look. */
[data-fs-theme='forecourt'] [data-fs-fm] [data-fs-fm-section-title] {
  font-family: var(--font-display);
  font-size: var(--fs-type-h3, 1.25rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: normal;
  text-transform: none;
  color: rgb(var(--c-ink-950));
  margin-bottom: 0;
}
[data-fs-theme='forecourt'] [data-fs-fm] [data-fs-fm-field][data-type='section']:first-child [data-fs-fm-section-rule] { display: none; }
/* contact.html §117: style="width:100%" on the submit. */
[data-fs-theme='forecourt'] [data-fs-fm] [data-fs-fm-actions]:not([data-multistep]) { display: block; }
[data-fs-theme='forecourt'] [data-fs-fm] [data-fs-fm-actions]:not([data-multistep]) [data-fs-fm-submit] { width: 100%; }
/* THE SUBMIT'S OWN REGISTER, RESTATED AT (0,4,0). The theme's button
   list further down names [data-fs-fm-submit] at (0,2,0), and
   form-styles.ts ships '[data-fs-fm] [data-fs-fm-submit]' at the same
   (0,2,0) and is injected AFTER this sheet — so the theme lost the tie
   on source order and the one button on the contact page drew in Golos
   Text, sentence case, with the block's own label colour. Measured:
   font-family "Golos Text", text-transform none, and a near-white label
   on Claro Night's #6FB4D0 fill, which is 2.1:1. The page colour is
   8.7:1 on the same fill and is what every other button here uses. */
[data-fs-theme='forecourt'] [data-fs-fm] [data-fs-fm-actions] [data-fs-fm-submit],
[data-fs-theme='forecourt'] [data-fs-fm] [data-fs-fm-actions] [data-fs-fm-next] {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 1rem;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--fs-on-brand, #fff);
}
/* .fc-meta under the button — the retention line, at caption size. */
[data-fs-theme='forecourt'] [data-fs-fm] [data-fs-fm-note] {
  margin-top: var(--fs-space-stack, .9rem);
  font-size: var(--fs-type-caption, .8125rem);
  line-height: 1.55;
  color: rgb(var(--c-ink-400));
}

/* ── THE SHELLS THAT WERE NOT ON THE PAGE'S MEASURE ───────────── */
/* .fs-fc-shell caps its BORDER box at 76rem while every shared block
   caps its CONTENT box, so the signature blocks sat 40px inside
   everything else. content-box, and the chrome's own gutter, put every
   section on one left edge. */
[data-fs-theme='forecourt'] .fs-fc-shell {
  box-sizing: content-box;
  max-width: var(--fs-fc-measure, 76rem);
  padding-inline: clamp(1.25rem, 5vw, 3rem);
}
/* Every shared block on the same shell, whatever its data-width says.
   theme.css has exactly one .fc-shell and puts every section in it. */
[data-fs-theme='forecourt'] [data-fs-block] [data-fs-inner],
[data-fs-theme='forecourt'] [data-fs-block] .fs-inner {
  margin-inline: auto;
  max-width: var(--fs-fc-measure, 76rem);
}
/* The footer's column band caps at max-w-5xl (64rem) of its own, which
   put the four columns 120px inside every heading above them. */
[data-fs-theme='forecourt'] [data-fs-role='layoutColumns'] {
  max-width: calc(var(--fs-fc-measure, 76rem) + 3rem);
}
/* …and the header's two tiers, which cap at 75rem of their own. */
[data-fs-theme='forecourt'] .fs-hdr-util-in,
[data-fs-theme='forecourt'] .fs-hdr-row {
  max-width: calc(var(--fs-fc-measure, 76rem) + 3rem);
}
/* The hero's copy column is max-w-6xl + px-6 = a 24px inset from the
   page measure. theme.css puts the hero body in the same .fc-shell as
   everything else. */
[data-fs-theme='forecourt'] .fs-hero-full-body {
  max-width: calc(var(--fs-fc-measure, 76rem) + 3rem);
}
[data-fs-theme='forecourt'] .fs-hero-full-body > div { max-width: min(46rem, var(--fs-layout-clamp, 46rem)); }
/* theme.css §229 .fc-shell--narrow = 56rem, and it is what the FAQ and
   the quotation sit in. The accordion's own max-w-3xl is 48rem. */
[data-fs-theme='forecourt'] [data-fs-acc] { max-width: calc(56rem + 3rem); }
[data-fs-theme='forecourt'] [data-fs-role='quote'] [data-fs-surface='card'] { max-width:var(--fs-layout-max,56rem); }

/* ════════════════════════════════════════════════════════════════
   BUTTONS — the theme's own control, everywhere one is drawn

   The prototype's '.fc-btn' is not the app's default button and never
   was: display face, 600, uppercase at .05em, .82em/1.35em of padding
   on a 44px touch target. Left alone, a Forecourt page drew Golos Text
   at 14px in sentence case — the app's button sitting in the theme's
   header. Measured, not assumed: font-family "Golos Text",
   text-transform none, letter-spacing normal.

   THE SELECTOR LIST IS THE POINT. There is no single button class in
   this app; a page draws them through four different hooks —
   '.fsbtn' (the site-wide button look, which the hero and most blocks
   spread), '.fs-hdr-cta' (the header call-to-action), the cta block's
   own anchor/span pair, and this family's '.fs-fc-btn'. A theme that
   styles one of them and not the others has a page of buttons that
   disagree with each other.

   '[data-fs-theme='forecourt'].fs-typo .fs-hdr-cta' IS DOUBLED ON
   PURPOSE. HEADER_CONTACT_CSS ships '.fs-typo .fs-hdr-cta' at (0,2,0)
   specifically to beat the global link colour, and it is injected
   AFTER this sheet — so a plain '[data-fs-theme='forecourt']
   .fs-hdr-cta' ties at (0,2,0) and loses on source order. The attribute
   and the class sit on the SAME element (the preview root carries both),
   hence '].fs-typo' with no space: (0,3,0), which wins on its own
   merits without !important — and !important would in turn block the
   customer's own Button style panel.

   Colour is deliberately NOT restated. The fill is the palette's
   brand-600 and the label its paper, which the app already paints and
   the prototype also asks for; the divergence was never the colour. */
[data-fs-theme='forecourt'] .fsbtn,
[data-fs-theme='forecourt'] .fs-hdr-cta,
[data-fs-theme='forecourt'].fs-typo .fs-hdr-cta,
[data-fs-theme='forecourt'] .fs-fc-btn,
[data-fs-theme='forecourt'] .fs-hero-full span[class*='rounded-control']:not(.fsbtn),
[data-fs-theme='forecourt'] [data-fs-role='cta'] a,
[data-fs-theme='forecourt'] [data-fs-role='cta'] span[class*='rounded-control'],
[data-fs-theme='forecourt'] [data-fs-fm-submit],
[data-fs-theme='forecourt'] [data-fs-fm] [data-fs-fm-link],
[data-fs-theme='forecourt'] [data-fs-role='showcase'] [data-fs-showcase-cta],
[data-fs-theme='forecourt'] [data-fs-fm-next] {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 1rem;
  letter-spacing: .05em;
  text-transform: uppercase;
  padding: .82em 1.35em;
  min-height: 44px;
  gap: .5em;
  border-radius: var(--fs-radius-control, 8px);
  /* The three the sweep below needs to exist at all: a box to be
     positioned against, a stacking context so a z-index:-1 layer lands
     ABOVE the button's own background rather than behind the page, and
     a clip so the raked edge is cut by the button and not the section. */
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

/* ════════════════════════════════════════════════════════════════
   HOVER GRAMMAR — 'sweep', the one this theme claims

   theme.css §19: a raked tint enters from the left and crosses. Nothing
   lifts, nothing glows, nothing draws an underline — the prototype
   removed exactly those treatments to leave one gesture. The rake is
   -14deg, the same angle as the theme's ambient shine, so the pointer
   and the ambient speak the same language; the tint is the element's
   OWN colour, which is why the primary sweeps in paper (its label) and
   everything else in brand.

   INSIDE the no-preference query on purpose, and this is the bug the
   prototype's own comment warns about: a reduced-motion reset forces
   transform:none, which would park a resting sweep at its FINISHED
   position and paint the tint permanently across every button.
   Declaring the layer only where it can move avoids that entirely.
   Reduced-motion users keep the colour and border states, which are
   declared outside.

   Timing is literal rather than tokenised: --fs-motion-hover and
   --fs-ease-out are theme-lab tokens that apply.ts does not emit
   (checked in the rendered preview — both resolve to the empty string),
   so a var() here would produce an invalid transition and no animation
   at all. */
[data-fs-theme='forecourt'] {
  --fs-fc-sweep-skew: -14deg;
  --fs-fc-sweep-tint: var(--c-brand-600);
  --fs-fc-sweep-alpha: .12;
}
[data-fs-theme='forecourt'] .fsbtn,
[data-fs-theme='forecourt'] .fs-hdr-cta,
[data-fs-theme='forecourt'] .fs-fc-btn,
[data-fs-theme='forecourt'] [data-fs-role='cta'] a,
[data-fs-theme='forecourt'] [data-fs-fm-submit] {
  /* A filled brand button sweeps in its own label colour. */
  --fs-fc-sweep-tint: var(--c-paper);
  --fs-fc-sweep-alpha: .2;
}
/* The closing band's SECOND action is a ghost on paper, not a filled
   brand button: sweeping it in --c-paper at .2 would wash paper over
   paper and read as nothing happening. It takes the theme's default
   brand tint back, which is what theme.css gives .fc-btn--ghost. */
[data-fs-theme='forecourt'] [data-fs-role='cta'] a[data-fs-cta-secondary] {
  --fs-fc-sweep-tint: var(--c-brand-600);
  --fs-fc-sweep-alpha: .12;
}
/* The hero's second button is outlined on a photograph — its own
   colour there is the on-media white, not the brand. */
[data-fs-theme='forecourt'] .fs-hero-full span[class*='rounded-control']:not(.fsbtn) {
  --fs-fc-sweep-tint: 255 255 255;
  --fs-fc-sweep-alpha: .18;
}
@media (prefers-reduced-motion: no-preference) {
  [data-fs-theme='forecourt'] .fsbtn::before,
  [data-fs-theme='forecourt'] .fs-hdr-cta::before,
  [data-fs-theme='forecourt'] .fs-fc-btn::before,
  [data-fs-theme='forecourt'] .fs-hero-full span[class*='rounded-control']:not(.fsbtn)::before,
  [data-fs-theme='forecourt'] [data-fs-role='cta'] a::before,
  [data-fs-theme='forecourt'] [data-fs-role='cta'] span[class*='rounded-control']::before,
  [data-fs-theme='forecourt'] [data-fs-fm-submit]::before,
  [data-fs-theme='forecourt'] [data-fs-fm-next]::before {
    content: '';
    position: absolute; z-index: -1;
    top: -1px; bottom: -1px; left: -18%; width: 136%;
    background: rgb(var(--fs-fc-sweep-tint) / var(--fs-fc-sweep-alpha));
    transform: translateX(-108%) skewX(var(--fs-fc-sweep-skew));
    transition: transform .22s cubic-bezier(.2, .7, .3, 1);
    pointer-events: none;
  }
  [data-fs-theme='forecourt'] .fsbtn:hover::before,
  [data-fs-theme='forecourt'] .fs-hdr-cta:hover::before,
  [data-fs-theme='forecourt'] .fs-fc-btn:hover::before,
  [data-fs-theme='forecourt'] .fs-hero-full span[class*='rounded-control']:not(.fsbtn):hover::before,
  [data-fs-theme='forecourt'] [data-fs-role='cta'] a:hover::before,
  [data-fs-theme='forecourt'] [data-fs-role='cta'] span[class*='rounded-control']:hover::before,
  [data-fs-theme='forecourt'] [data-fs-fm-submit]:hover::before,
  [data-fs-theme='forecourt'] [data-fs-fm-next]:hover::before,
  [data-fs-theme='forecourt'] .fsbtn:focus-visible::before,
  [data-fs-theme='forecourt'] .fs-hdr-cta:focus-visible::before,
  [data-fs-theme='forecourt'] .fs-fc-btn:focus-visible::before,
  [data-fs-theme='forecourt'] [data-fs-role='cta'] a:focus-visible::before,
  [data-fs-theme='forecourt'] [data-fs-fm-submit]:focus-visible::before {
    transform: translateX(0) skewX(var(--fs-fc-sweep-skew));
  }
}
/* ── The sweep, on everything else that answers the pointer ──────
   theme.css §19 lists NINE selectors, not one. The first port took the
   buttons and stopped; a theme whose buttons sweep and whose navigation,
   accordion, valuation choices and footer links do nothing has no hover
   grammar, it has a styled button.

   Measured in the prototype and matched here exactly:
     ::before  content ''  z-index -1  top -1px  bottom -1px
               left -18%   width 136%
               background rgb(tint / alpha)
               transform  translateX(-108%) skewX(-14deg)
                       -> translateX(0)     skewX(-14deg)
               transition transform 220ms cubic-bezier(.2,.7,.3,1)
     alphas    .12 root  .1 nav link  .09 valuation choice
               .07 accordion summary  .2 filled button

   The host needs all three of position/isolation/overflow or the layer
   lands behind the page (no stacking context) or bleeds past the raked
   edge (no clip). Same three the button rule above sets. */
[data-fs-theme='forecourt'] .fs-hdr-nav a,
[data-fs-theme='forecourt'] .fs-hdr-nav span,
[data-fs-theme='forecourt'] .fs-hdr-util-tel,
[data-fs-theme='forecourt'] .fs-fc-choice-opt,
[data-fs-theme='forecourt'] [data-fs-acc-header],
[data-fs-theme='forecourt'] .fs-fc-check-src a,
[data-fs-theme='forecourt'] [role='contentinfo'] [data-fs-role='layoutColumns'] a {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
/* An inline anchor has no box for a layer to fill until it is given one. */
[data-fs-theme='forecourt'] .fs-fc-check-src a,
[data-fs-theme='forecourt'] [role='contentinfo'] [data-fs-role='layoutColumns'] a { display: inline-block; }
[data-fs-theme='forecourt'] .fs-hdr-nav a,
[data-fs-theme='forecourt'] .fs-hdr-nav span { --fs-fc-sweep-alpha: .1; }
[data-fs-theme='forecourt'] .fs-fc-choice-opt { --fs-fc-sweep-alpha: .09; }
[data-fs-theme='forecourt'] [data-fs-acc-header] { --fs-fc-sweep-alpha: .07; }

@media (prefers-reduced-motion: no-preference) {
  [data-fs-theme='forecourt'] .fs-hdr-nav a::before,
  [data-fs-theme='forecourt'] .fs-hdr-nav span::before,
  [data-fs-theme='forecourt'] .fs-hdr-util-tel::after,
  [data-fs-theme='forecourt'] [data-fs-cta-secondary]::after,
  [data-fs-theme='forecourt'] .fs-fc-choice-opt::before,
  [data-fs-theme='forecourt'] [data-fs-acc-header]::before,
  [data-fs-theme='forecourt'] .fs-fc-check-src a::before,
  [data-fs-theme='forecourt'] [role='contentinfo'] [data-fs-role='layoutColumns'] a::before {
    content: '';
    position: absolute; z-index: -1;
    top: -1px; bottom: -1px; left: -18%; width: 136%;
    background: rgb(var(--fs-fc-sweep-tint) / var(--fs-fc-sweep-alpha));
    transform: translateX(-108%) skewX(var(--fs-fc-sweep-skew));
    transition: transform .22s cubic-bezier(.2, .7, .3, 1);
    pointer-events: none;
  }
  [data-fs-theme='forecourt'] .fs-hdr-nav a:hover::before,
  [data-fs-theme='forecourt'] .fs-hdr-nav span:hover::before,
  [data-fs-theme='forecourt'] .fs-hdr-util-tel:hover::after,
  [data-fs-theme='forecourt'] .fs-fc-choice-opt:hover::before,
  [data-fs-theme='forecourt'] [data-fs-acc-header]:hover::before,
  [data-fs-theme='forecourt'] .fs-fc-check-src a:hover::before,
  [data-fs-theme='forecourt'] [role='contentinfo'] [data-fs-role='layoutColumns'] a:hover::before,
  [data-fs-theme='forecourt'] .fs-hdr-nav a:focus-visible::before,
  [data-fs-theme='forecourt'] .fs-fc-choice-opt:focus-within::before,
  [data-fs-theme='forecourt'] [data-fs-acc-header]:focus-visible::before,
  [data-fs-theme='forecourt'] .fs-fc-check-src a:focus-visible::before,
  [data-fs-theme='forecourt'] [role='contentinfo'] [data-fs-role='layoutColumns'] a:focus-visible::before {
    transform: translateX(0) skewX(var(--fs-fc-sweep-skew));
  }

  /* THE CARD VARIANT OF THE SAME GESTURE, at card scale — theme.css §19's
     second half. A document does not get flooded with colour, it gets
     ruled: a 2px accent rule grows along the top edge from the left.
     scaleX(0) -> scaleX(1), transform-origin 0 50%, same 220ms and the
     same curve as the tint, so the two read as one grammar.

     ::after, not ::before, because ::before is the tint layer on the
     elements that carry both, and because a card's own ::before is
     already spoken for by the app's block chrome in several blocks.

     The prototype's four are .fc-lot, .fc-card, .fc-team-card and
     .fc-quote. Mapped: the stock card, the services card, the team card
     and the TESTIMONIAL card — the quote panels. The 'quote' BLOCK is
     deliberately not in the list: this theme strips it to bare centred
     display type with no card at all, and a rule across the top of
     nothing is a stray line. */
  [data-fs-theme='forecourt'] .fs-fc-lot,
  [data-fs-theme='forecourt'] [data-fs-ts-card],
  [data-fs-theme='forecourt'] [data-fs-tm-card],
  [data-fs-theme='forecourt'] [data-fs-role='services'] [data-fs-surface='card'] {
    position: relative;
  }
  [data-fs-theme='forecourt'] .fs-fc-lot::after,
  [data-fs-theme='forecourt'] [data-fs-ts-card]::after,
  [data-fs-theme='forecourt'] [data-fs-tm-card]::after,
  [data-fs-theme='forecourt'] [data-fs-role='services'] [data-fs-surface='card']::after {
    content: '';
    position: absolute; left: 0; right: 0; top: 0; height: 2px;
    background: rgb(var(--c-accent, var(--c-brand-700)));
    transform: scaleX(0); transform-origin: 0 50%;
    transition: transform .22s cubic-bezier(.2, .7, .3, 1);
    pointer-events: none;
  }
  [data-fs-theme='forecourt'] .fs-fc-lot:hover::after,
  [data-fs-theme='forecourt'] .fs-fc-lot:focus-within::after,
  [data-fs-theme='forecourt'] [data-fs-ts-card]:hover::after,
  [data-fs-theme='forecourt'] [data-fs-ts-card]:focus-within::after,
  [data-fs-theme='forecourt'] [data-fs-tm-card]:hover::after,
  [data-fs-theme='forecourt'] [data-fs-tm-card]:focus-within::after,
  [data-fs-theme='forecourt'] [data-fs-role='services'] [data-fs-surface='card']:hover::after,
  [data-fs-theme='forecourt'] [data-fs-role='services'] [data-fs-surface='card']:focus-within::after {
    transform: scaleX(1);
  }
}

/* No lift and no shadow anywhere near a control — the theme's whole
   posture is ruled, not raised, and the app's own button presets add a
   translate on :active that reads as a different grammar. */
[data-fs-theme='forecourt'] .fsbtn:hover,
[data-fs-theme='forecourt'] .fsbtn:active,
[data-fs-theme='forecourt'] .fs-hdr-cta:hover,
[data-fs-theme='forecourt'] [data-fs-role='cta'] a:hover,
/* The cta block's own button is a bare span carrying Tailwind's
   hover:scale-[1.03] and a lift shadow — a different grammar shipped
   inline, which no amount of styling the OTHER buttons would have
   caught. (0,4,0) here against the utility's (0,2,0). */
[data-fs-theme='forecourt'] [data-fs-role='cta'] span[class*='rounded-control']:hover,
[data-fs-theme='forecourt'] .fs-hero-full span[class*='rounded-control']:hover {
  transform: none;
  box-shadow: none;
}

/* ════════════════════════════════════════════════════════════════
   THE HERO — the prototype's, not the shared block's defaults

   The shared full-bleed hero centres its column and runs the headline
   to the width of the copy box. theme.css §8 hangs the type off the
   BOTTOM of the photograph (align-items:end) at 18ch of headline and
   46ch of lede, which is what makes a forecourt photograph read as a
   forecourt rather than as a background. */
[data-fs-theme='forecourt'] .fs-hero-full-body {
  justify-content: flex-end;
  /* theme.css §8: clamp(2.5rem, 8vh, 5rem), not the shared block's
     py-36. At 144px of bottom padding under a bottom-hung strip the
     hero ended in a quarter-screen of empty scrim. */
  padding-block: clamp(2.5rem, 8vh, 5rem);
  min-height: clamp(30rem, 74vh, 44rem);
}
/* The headline is the THEME's h1 step, not the shared block's display
   size. Measured against the prototype at a 1074px canvas: theme-lab
   renders 54.6px from clamp(2.15rem, 1.6rem + 2.7vw, 3.9rem); the
   shared hero's clamp(2.75rem, 7vw, 5.5rem) gave 75px there and 88px at
   1600 — a headline half again as large as the design it is copying. */
[data-fs-theme='forecourt'] .fs-hero-full h2 {
  font-size: clamp(2.15rem, 1.6rem + 2.7vw, 3.9rem);
  line-height: 1.1;
  max-width: 18ch;
}
[data-fs-theme='forecourt'] .fs-hero-full p { max-width: 46ch; }
/* The eyebrow's trailing hairline — the theme's heading cluster, the
   same gesture .fs-fc-eyebrow draws in every signature block, so the
   hero opens the way the rest of the page continues. On media, so the
   rule is the on-media ink rather than --c-line. */
[data-fs-theme='forecourt'] .fs-hero-full .fs-hero-eyebrow {
  display: flex;
  align-items: center;
  gap: .6em;
  /* index.html §66 puts the hero's eyebrow on the same .fc-eyebrow as
     every other band, measure included — so it gets the same 341px box.
     Without it the hero's hairline ran the full width of the shell.

     The display face is part of that and was missing: the hero eyebrow
     was the one label on the site still in Golos Text, which the measure
     then made visible, because ch resolves against the element's own
     font and 58ch of Golos came out 452px against 343 everywhere else.
     Two divergences from the prototype, one rule. */
  font-family: var(--font-display);
  width: 100%;
  max-width: var(--fs-fc-eyebrow-measure);
  letter-spacing: .18em;
}
[data-fs-theme='forecourt'] .fs-hero-full .fs-hero-eyebrow::after {
  content: '';
  flex: 1 1 auto;
  min-width: 1.5rem;
  height: 1px;
  background: rgb(255 255 255 / .35);
}
/* The nav's call-to-action is the ONE control the prototype sets
   smaller than a body button: it inherits .fc-nav-links a's .95rem and
   .55rem/.7rem padding at (0,1,1), which out-specifies .fc-btn.
   Measured in the prototype at 15.2px / 8.8px / 11.2px. The 44px touch
   target still comes from the button rule above. */
[data-fs-theme='forecourt'] .fs-hdr-cta,
[data-fs-theme='forecourt'].fs-typo .fs-hdr-cta {
  font-size: .95rem;
  padding: .55rem .7rem;
}
/* The star row is a block-catalogue default ("Trusted by 200+ local
   customers") that no Forecourt page ever asked for — this theme's
   argument is documents, not testimonials, and the prototype's hero has
   no such line. Hidden rather than blanked so the editor does not show
   an orphaned row of stars either. */
[data-fs-theme='forecourt'] .fs-hero-trust { display: none; }

/* The commitment strip at the foot of the hero — theme.css §8's
   .fc-hero-strip, ruled off the type above it and divided into columns
   by hairlines, dt at eyebrow size and dd in the display face. */
[data-fs-theme='forecourt'] .fs-hero-facts { border-top-color: rgb(255 255 255 / .28); }
[data-fs-theme='forecourt'] .fs-hero-fact { border-right: 1px solid rgb(255 255 255 / .18); }
[data-fs-theme='forecourt'] .fs-hero-fact:last-child { border-right: 0; }
[data-fs-theme='forecourt'] .fs-hero-facts dt {
  font-size: var(--fs-type-eyebrow, .75rem);
  letter-spacing: .14em;
  color: rgb(255 255 255 / .72);
}
[data-fs-theme='forecourt'] .fs-hero-facts dd {
  font-size: 1.4rem;
  color: rgb(255 255 255);
}

/* ════════════════════════════════════════════════════════════════
   THE HERO PHOTOGRAPH IN DARK MODE — theme.css §15

   MEASURED, both sides. The prototype's hero scrim is
   linear-gradient(to top, rgb(8 12 15 / .93), .74 at 38%, .30 at 72%,
   .12 at 100%) and it is BYTE-IDENTICAL in light and dark: --fc-scrim
   is declared once at :root as a constant, deliberately outside the
   palette, because type over a photograph does not flip when the page
   does. §15 and §5.6 of PORTING.md both say so in as many words, and
   four sibling builds reported the same missing token.

   The app's shared hero draws its scrim with Tailwind's ink-950 ramp
   (from-ink-950/85 via/55 to/25), and --c-ink-950 is a palette channel.
   Measured in the editor: light mode rgba(18,24,27,.85), dark mode
   rgba(233,238,241,.85) — the scrim INVERTS to a near-white wash over
   the photograph while the headline stays white on top of it. That is
   not a fidelity nicety, it is an unreadable hero.

   Fixed by pinning the gradient to the prototype's constant. Raw
   channels, not tokens, because being mode-invariant IS the
   requirement — a token here would reintroduce the bug the moment a
   palette changed. Everything else on the page still flips.

   This is theme-scoped, so the other thirty-one keep the palette scrim
   they were designed against. The generic fix — a --c-scrim /
   --c-on-media pair emitted by apply.ts — is now the FIFTH independent
   request and is recorded as such in PORTING.md. */
[data-fs-theme='forecourt'] .fs-hero-full-scrim {
  background-image: linear-gradient(
    to top,
    rgb(8 12 15 / .93) 0%,
    rgb(8 12 15 / .74) 38%,
    rgb(8 12 15 / .30) 72%,
    rgb(8 12 15 / .12) 100%);
}

/* ════════════════════════════════════════════════════════════════
   AMBIENT SIGNATURE — 'chrome shine', theme.css §18

   The theme's claimed ambient lever (MOTION.md §4). One decorative
   layer: a narrow raked highlight that travels across the hero the way
   a light source travels along a wing as you walk past a car.

   Measured off the prototype and matched here:
     box        top -12%  bottom -12%  left -34%  width 22%
     gradient   90deg, white 0 -> .19 at 46% -> .0665 at 63% -> 0
     transform  translateX(0) skewX(-14deg)
     keyframes  0% 0  ->  46% translateX(700%)  ->  100% held
     timing     8s linear infinite, will-change: transform

   The 54% of dead time is the tuning, not an accident: a specular
   highlight that loops without rest reads as a loading shimmer, which
   is the opposite of what a used-car buyer should feel. The rake is the
   same -14deg as the hover sweep, so the ambient and the pointer speak
   one language.

   NO MARKUP. The prototype's .fc-shine is a bare aria-hidden div
   between the media and the body; here it is ::after on
   .fs-hero-full-media, which is the same position in the box tree —
   generated as that element's LAST child, so it paints above the
   photograph AND above .fs-hero-full-scrim, and below .fs-hero-full-body
   (z-10). A pseudo-element is never in the accessibility tree at all,
   which is strictly stronger than aria-hidden, and it means the shared
   hero component needs no forecourt branch.

   No layout shift: the layer is absolutely positioned inside a box that
   already exists, and .fs-hero-full is overflow-hidden, so nothing it
   does can change the hero's size. will-change is on this one element
   and nowhere else in the sheet (MOTION.md 2 rule 8): it is the only
   persistent animator the theme has.

   The loop is deliberately NOT on the photograph — that is the LCP
   element and an animation on it delays paint metrics. */
[data-fs-theme='forecourt'] .fs-hero-full-media::after {
  content: '';
  position: absolute;
  top: -12%; bottom: -12%; left: -34%; width: 22%;
  z-index: 1;
  pointer-events: none;
  transform: translateX(0) skewX(var(--fs-fc-sweep-skew));
  background: linear-gradient(90deg,
    rgb(255 255 255 / 0) 0%,
    rgb(255 255 255 / .19) 46%,
    rgb(255 255 255 / .0665) 63%,
    rgb(255 255 255 / 0) 100%);
}
@media (prefers-reduced-motion: no-preference) {
  [data-fs-theme='forecourt'] .fs-hero-full-media::after {
    animation: fs-fc-chrome-shine 8s linear infinite;
    will-change: transform;
  }
}
@keyframes fs-fc-chrome-shine {
  0%   { transform: translateX(0)    skewX(-14deg); }
  46%  { transform: translateX(700%) skewX(-14deg); }
  100% { transform: translateX(700%) skewX(-14deg); }
}

/* ════════════════════════════════════════════════════════════════
   THE HEADER'S SECOND TIER

   The shared strip is neutral by design; this is the prototype's
   .fc-utility — caption size, ink-700, a soft rule, the number set in
   the display face at full ink strength beside the rest. */
[data-fs-theme='forecourt'] .fs-hdr-util-in {
  color: rgb(var(--c-ink-700));
  border-bottom-color: rgb(var(--c-line));
}
[data-fs-theme='forecourt'] .fs-hdr-util-tel {
  font-family: var(--font-display);
  letter-spacing: .06em;
}
/* The phone glyph, index.html's <use href="#fc-i-phone"/>. The path is
   the sprite symbol verbatim, at its own 1.9 stroke weight and butt/miter
   joins, which is what makes this theme's line icons read as one set.

   Turned on through the shared switch in HEADER_CONTACT_CSS rather than
   drawn here, so it is an affordance any theme can claim and not a
   forecourt special case — and so that the thirty-one that do not claim
   it generate no pseudo-element at all.

   Measured in the prototype: 1em box (14.72px at the strip's caption
   size), --c-ink-400 against the number's --c-ink-950, .4em of space.
   The ink is a palette channel, so the glyph tracks the palette and
   both modes exactly as the number beside it does. Both slots are set
   because a customer who clears the utility strip drops the number back
   into the nav row, and the glyph should go with it. */
[data-fs-theme='forecourt'] .fs-hdr-util-tel,
[data-fs-theme='forecourt'] .fs-hdr-phone {
  --fs-hdr-tel-icon-on: '';
  --fs-hdr-tel-icon-ink: rgb(var(--c-ink-400));
  --fs-hdr-tel-icon: var(--fs-fc-tel-icon);
}
/* The number's own sweep is ::after here, not ::before: ::before is the
   glyph. Same layer, same tint, same 220ms — only the pseudo differs,
   and it is the one element on the page that needs both. */

/* ════════════════════════════════════════════════════════════════
   THE FOOTER'S REGULATED PARAGRAPH

   theme.css .fc-foot-legal: a rule, then the whole block at caption
   size in --c-ink-400 to a 70ch measure. The port put the FCA, Motor
   Ombudsman, CTSI and DMCC wording into the footer band's textBlock,
   which draws an h3 at the theme's full h2 step and the body at prose
   size — measured 40px and 17.6px, i.e. the small print set larger than
   the page it qualifies.

   FIXED IN SCOPE RATHER THAN GENERICALLY, deliberately. The alternative
   was a size variant on textBlock, a new content field on a block that
   32 themes and every customer site render, whose only consumer would
   be this theme — and this is precisely the job [data-fs-theme] exists
   for. It also cannot touch a character of the wording, which matters
   more here than anywhere else on the page: it is regulatory text.

   The heading stays, at the same size as the paragraph it introduces,
   which is what the heading itself claims. */
/* The RULE spans the page's shell, as .fc-foot-legal's does — it is the
   footer's dividing line, not an underline for one paragraph. The 70ch
   measure moves down onto the text itself, left-hung inside the shell,
   so the small print starts on the same 112px edge as everything above
   it instead of floating in the middle of the band. */
[data-fs-theme='forecourt'] [role='contentinfo'] [data-fs-role='textBlock'] [data-fs-inner] {
  border-top: 1px solid rgb(var(--c-line) / .55);
  padding-top: var(--fs-space-gap, 1.5rem);
  max-width: var(--fs-fc-measure, 76rem);
  margin-inline: auto;
}
[data-fs-theme='forecourt'] [role='contentinfo'] [data-fs-role='textBlock'] .fs-heading {
  max-width: 70ch;
  margin-inline: 0;
  font-size: var(--fs-type-caption, .875rem);
  font-weight: 700;
  line-height: 1.5;
  color: rgb(var(--c-ink-400));
}
[data-fs-theme='forecourt'] [role='contentinfo'] [data-fs-role='textBlock'] .fs-prose {
  font-size: var(--fs-type-caption, .875rem);
  line-height: 1.6;
  color: rgb(var(--c-ink-400));
  max-width: 70ch;
  margin-inline: 0;
  margin-top: .5rem;
}

/* ════════════════════════════════════════════════════════════════
   SCROLL REVEALS — theme.css §17, ported as it is written

   CSS-only view timelines, so this is a stylesheet and not an
   IntersectionObserver (PITFALLS B5). Two guards, both load-bearing:
   the @supports so a browser without view() gets the FINISHED state
   rather than blank content, and the no-preference query so a
   reduced-motion reader gets it too.

   Measured off the prototype:
     .fc-reveal    fc-reveal-in  linear  both  view()  entry 8%  -> 46%
     .fc-stagger>* fc-reveal-in  linear  both  view()  entry 6%  -> 44%
                   and +5% per child, to :nth-child(6)
     @keyframes    from { opacity: 0; transform: translateY(16px) }

   WHICH ELEMENTS, read off the prototype's markup rather than chosen:
   a section whose content is a GRID staggers its children and its shell
   does not reveal; a section whose content is one block reveals its
   shell. index.html has fc-stagger on the stock grid, the team grid and
   the quotation grid, and fc-reveal on the provenance, preparation,
   finance, valuation, figures and closing shells. That is the mapping
   below, one for one.

   The above-the-fold rule (MOTION.md 2 / PITFALLS B11) needs no special
   case here and that is a property of view timelines, not luck: an
   element already inside the scrollport at load sits PAST its entry
   range, and 'both' fill therefore holds the finished keyframe. An
   opacity-0 start is only dangerous with animation-delay. */
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    [data-fs-theme='forecourt'] .fs-fc-prov-section .fs-fc-shell,
    [data-fs-theme='forecourt'] .fs-fc-prep-section .fs-fc-shell,
    [data-fs-theme='forecourt'] .fs-fc-fin-section .fs-fc-shell,
    [data-fs-theme='forecourt'] .fs-fc-val-section .fs-fc-shell,
    [data-fs-theme='forecourt'] .fs-fc-figs-section .fs-fc-shell {
      animation: fs-fc-reveal-in linear both;
      animation-timeline: view();
      animation-range: entry 8% entry 46%;
    }
    /* Stagger with animation-range, never animation-delay: cards in a
       row share a y position and a delay lands them as one slab
       (PITFALLS B12). */
    [data-fs-theme='forecourt'] .fs-fc-lots > *,
    [data-fs-theme='forecourt'] .fs-testimonials-section [data-fs-ts-card],
    [data-fs-theme='forecourt'] .fs-team-section [data-fs-tm-card],
    [data-fs-theme='forecourt'] [data-fs-role='services'] [data-fs-surface='card'] {
      animation: fs-fc-reveal-in linear both;
      animation-timeline: view();
      animation-range: entry 6% entry 44%;
    }
    [data-fs-theme='forecourt'] .fs-fc-lots > :nth-child(2),
    [data-fs-theme='forecourt'] .fs-testimonials-section [data-fs-ts-card]:nth-child(2),
    [data-fs-theme='forecourt'] .fs-team-section [data-fs-tm-card]:nth-child(2),
    [data-fs-theme='forecourt'] [data-fs-role='services'] [data-fs-surface='card']:nth-child(2) { animation-range: entry 11% entry 49%; }
    [data-fs-theme='forecourt'] .fs-fc-lots > :nth-child(3),
    [data-fs-theme='forecourt'] .fs-testimonials-section [data-fs-ts-card]:nth-child(3),
    [data-fs-theme='forecourt'] .fs-team-section [data-fs-tm-card]:nth-child(3),
    [data-fs-theme='forecourt'] [data-fs-role='services'] [data-fs-surface='card']:nth-child(3) { animation-range: entry 16% entry 54%; }
    [data-fs-theme='forecourt'] .fs-fc-lots > :nth-child(4),
    [data-fs-theme='forecourt'] .fs-team-section [data-fs-tm-card]:nth-child(4),
    [data-fs-theme='forecourt'] [data-fs-role='services'] [data-fs-surface='card']:nth-child(4) { animation-range: entry 21% entry 59%; }
    [data-fs-theme='forecourt'] .fs-fc-lots > :nth-child(5) { animation-range: entry 26% entry 64%; }
    [data-fs-theme='forecourt'] .fs-fc-lots > :nth-child(6) { animation-range: entry 31% entry 69%; }
  }
}
@keyframes fs-fc-reveal-in {
  from { opacity: 0; transform: translateY(16px); }
}

/* The two load-time animations this port had invented — a 4px settle on
   every lot, prep row and check row, and a clip-path wipe across the MOT
   bars — are GONE. Neither exists in theme.css: the prototype's stock
   cards are staggered by the scroll timeline above and its provenance
   rows do not animate at all. Keeping them would have meant the theme
   performing motion its own design never asked for, on top of the
   reveals that replace them. .fs-fc-anim survives as the family's
   render-style hook; nothing in this sheet reads it any more. */

/* ════════════════════════════════════════════════════════════════
   THE INTERIOR-PAGE HERO — theme.css §3, [data-fs-bg='spotlight']

   about.html, services.html and contact.html all open on the SAME
   band and it is not the home page's photograph: eyebrow, h1, lede, on
   a radial wash of brand-50 thrown from the top left of a paper page.
   No picture, no scrim, no white type.

   The app's shared hero has one imageless path and it is a brand
   gradient with two blurred blobs and white type — right for a theme
   that wants to shout on page two, wrong for this one, which spends the
   whole site arguing that it is not shouting. So the three interior
   heroes are re-dressed here, and ONLY when there is no photograph,
   which is what data-fs-hero-photo="0" says.

   THAT ATTRIBUTE EXISTS BECAUSE THE OBVIOUS SELECTOR IS INVALID. The
   first version of this block asked for
   .fs-hero-full:has(.fs-hero-full-media:not(:has(img))) — :has() is not
   permitted inside :not(), the whole rule block is dropped at parse
   time, and nothing anywhere reports it. The three interior heroes
   rendered white type on a light page and looked like a colour bug
   rather than a syntax one. Measured with Element.matches(), which
   throws on an invalid selector where the cascade just shrugs. */
[data-fs-theme='forecourt'] .fs-hero-full[data-fs-hero-photo='0'] {
  background:
    radial-gradient(120% 74% at 12% 0%, rgb(var(--c-brand-50)) 0%, transparent 62%),
    rgb(var(--c-paper));
  border-bottom: 1px solid rgb(var(--c-line));
}
[data-fs-theme='forecourt'] .fs-hero-full[data-fs-hero-photo='0'] .fs-hero-full-media { background: none !important; }
[data-fs-theme='forecourt'] .fs-hero-full[data-fs-hero-photo='0'] .fs-hero-full-media > div { display: none; }
/* No ambient shine on a band with nothing to rake light across. */
[data-fs-theme='forecourt'] .fs-hero-full[data-fs-hero-photo='0'] .fs-hero-full-media::after { display: none; }
/* Page ink, and the prototype's own vertical rhythm: an interior hero is
   a section, not a 32rem stage. */
[data-fs-theme='forecourt'] .fs-hero-full[data-fs-hero-photo='0'] .fs-hero-full-body {
  min-height: 0;
  padding-block: var(--fs-space-section, 4.5rem);
  max-width: none;
  margin-inline: auto;
  width: min(100% - 2 * var(--fs-space-gap, 1.75rem), var(--fs-fc-measure, 76rem));
  /* SectionRenderer puts px-6 on this element, and the width above already
     lays the gutter in — so the two stacked and the interior hero's copy
     started 24px inside every other section on the page. Measured on all
     three interior pages: content at x=136 where the section below it,
     and the header above it, were at 112. An interior hero opens the page
     and it was the one band that did not line up. */
  padding-inline: 0;
}
[data-fs-theme='forecourt'] .fs-hero-full[data-fs-hero-photo='0'] .fs-hero-full-body > div {
  max-width: none;
}
[data-fs-theme='forecourt'] .fs-hero-full[data-fs-hero-photo='0'] h2 {
  color: rgb(var(--c-ink-950));
  /* The prototype writes NO measure on an interior h1 — it takes the
     shell, 1216, and text-wrap: balance does the rest, which is two
     lines on contact and one on about and services. 22ch capped it at
     677px and cost a line on every one of the three: contact ran to
     three. The cap is the shell now, as it is on the other side. */
  max-width: none;
}
[data-fs-theme='forecourt'] .fs-hero-full[data-fs-hero-photo='0'] .fs-hero-eyebrow {
  color: rgb(var(--c-ink-400));
}
[data-fs-theme='forecourt'] .fs-hero-full[data-fs-hero-photo='0'] .fs-hero-eyebrow::after {
  background: rgb(var(--c-line));
}
/* The lede is whatever element Editable chose — a <div> in the editor,
   a <p> when published — so this cannot key on the tag. Everything in
   the copy column that is not the headline takes page ink; white on a
   paper band is the same unreadable pairing the dark-mode scrim bug
   was, only the other way up. */
[data-fs-theme='forecourt'] .fs-hero-full[data-fs-hero-photo='0'] .fs-hero-full-body p,
[data-fs-theme='forecourt'] .fs-hero-full[data-fs-hero-photo='0'] .fs-hero-full-body > div > :not(h1):not(h2):not(.fs-hero-eyebrow) {
  color: rgb(var(--c-ink-700)) !important;
  max-width: 52ch;
}

/* ════════════════════════════════════════════════════════════════
   THE REVEALS THE OTHER THREE PAGES WERE MISSING

   §17 above ported index.html's reveals and only index.html's, so
   about, services and contact scrolled dead — the single largest
   difference between the port and the prototype away from the home
   page. Read off the three files' markup the same way, one for one:

     about.html     figures, quote, showcase, table, cta  = fc-reveal
                    gallery, team                          = fc-stagger
     services.html  prep, finance, table, valuation,
                    accordion, cta                         = fc-reveal
                    the four service cards                 = fc-stagger
     contact.html   map, accordion, cta                    = fc-reveal
                    (the form deliberately does NOT reveal)

   The signature-block shells and the three staggered grids are already
   covered above; these are the shared blocks the home page never used.
   Same guards, same keyframe, same range — a second grammar would be a
   worse bug than no motion. */
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    [data-fs-theme='forecourt'] [data-fs-role='cta'] > div:last-child,
    [data-fs-theme='forecourt'] [data-fs-role='quote'] [data-fs-surface='card'],
    [data-fs-theme='forecourt'] [data-fs-role='showcase'] [data-fs-inner],
    [data-fs-theme='forecourt'] .fs-table-section,
    [data-fs-theme='forecourt'] [data-fs-map],
    [data-fs-theme='forecourt'] [data-fs-acc] {
      animation: fs-fc-reveal-in linear both;
      animation-timeline: view();
      animation-range: entry 8% entry 46%;
    }
    /* about.html's gallery is a fc-stagger grid, like the stock and team
       grids on the home page. */
    [data-fs-theme='forecourt'] [data-fs-role='gallery'] [data-fs-inner] > div > * {
      animation: fs-fc-reveal-in linear both;
      animation-timeline: view();
      animation-range: entry 6% entry 44%;
    }
    [data-fs-theme='forecourt'] [data-fs-role='gallery'] [data-fs-inner] > div > :nth-child(2) { animation-range: entry 11% entry 49%; }
    [data-fs-theme='forecourt'] [data-fs-role='gallery'] [data-fs-inner] > div > :nth-child(3) { animation-range: entry 16% entry 54%; }
  }
}

/* ── Wireframe — strip colour to lines ─────────────────────────── */
.fs-fc-wire .fs-fc-lot,
.fs-fc-wire .fs-fc-panel { background: none; border-color: rgb(var(--c-line)); }
.fs-fc-wire .fs-fc-chip,
.fs-fc-wire .fs-fc-lot-flag,
.fs-fc-wire .fs-fc-choice-opt[data-selected] { background: none; color: rgb(var(--c-ink-950)); border-color: rgb(var(--c-line)); }
.fs-fc-wire .fs-fc-mot-bar i,
.fs-fc-wire .fs-fc-plate-band { background: rgb(var(--c-ink-400)); }
.fs-fc-wire .fs-fc-btn { background: none; color: rgb(var(--c-ink-950)); border: 1px solid rgb(var(--c-line)); }

/* ── Print ─────────────────────────────────────────────────────── */
/* theme.css §21: a scroll timeline does not advance when printing, so
   anything driven by view() prints at its 0% keyframe — i.e. invisible.
   The reset has to name the finished state explicitly.
   The two layers that animate OUT of sight rather than into place — the
   ambient shine and the resting hover sweeps — are removed instead of
   neutralised: transform:none would park them at their FINISHED
   position and print a tint band across every button, which is the
   prototype's own warning. */
@media print {
  [data-fs-theme='forecourt'] *,
  [data-fs-theme='forecourt'] *::before,
  [data-fs-theme='forecourt'] *::after {
    animation: none !important; transition: none !important;
    opacity: 1 !important; transform: none !important;
  }
  [data-fs-theme='forecourt'] .fs-hero-full-media::after { display: none !important; }
  [data-fs-theme='forecourt'] .fsbtn::before,
  [data-fs-theme='forecourt'] .fs-hdr-cta::before,
  [data-fs-theme='forecourt'] .fs-fc-btn::before,
  [data-fs-theme='forecourt'] .fs-hdr-nav a::before,
  [data-fs-theme='forecourt'] .fs-hdr-nav span::before,
  [data-fs-theme='forecourt'] .fs-hdr-util-tel::after,
  [data-fs-theme='forecourt'] .fs-fc-choice-opt::before,
  [data-fs-theme='forecourt'] [data-fs-acc-header]::before,
  [data-fs-theme='forecourt'] .fs-fc-check-src a::before,
  [data-fs-theme='forecourt'] .fs-fc-lot::after,
  [data-fs-theme='forecourt'] [data-fs-ts-card]::after,
  [data-fs-theme='forecourt'] [data-fs-tm-card]::after { content: none !important; }
  [data-fs-band='soft'] { background: none; }
}
/* ── favLotFooter (theme-chrome batch 4, Forecourt) ───────────────
   fs-fc-ft: the full-bleed band (named container), the card colour
   under one rule; fs-fc-ft-in: the content box, which narrows with the
   Layout (named container), on the theme's one 76rem measure. */
.fs-fc-ft{container-type:inline-size;container-name:fs-fc-ft;padding:0 clamp(1rem,4vw,2.5rem);background:rgb(var(--c-paper-soft));border-top:1px solid rgb(var(--c-line));--fc-ft-hair:rgb(var(--c-line) / .5)}
.fs-fc-ft-in{container-type:inline-size;container-name:fs-fc-ft-in;max-width:var(--fs-layout-max,76rem);margin-inline:auto;padding-block:44px 26px}
.fs-fc-ft-ic{display:block;flex:none;width:17px;height:17px}
.fs-fc-ft-logo{display:inline-flex;align-items:center;gap:10px;margin:0}
.fs-fc-ft-mark{flex:none;width:44px;height:44px}
.fs-fc-ft-mk-doc{fill:none;stroke:rgb(var(--c-brand-600));stroke-width:3.4}
.fs-fc-ft-mk-band{fill:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-fc-ft-mk-bar{fill:rgb(var(--c-brand-600))}
.fs-fc-ft-name{max-width:7.4em;font-family:var(--font-display, Antonio, 'Arial Narrow', sans-serif);font-weight:700;font-size:19px;line-height:1.05;letter-spacing:.08em;text-transform:uppercase;color:rgb(var(--c-brand-text))}
/* The eyebrow (mockup 72-77): Antonio caps in ink-400, a hairline
   running to the end of a 58ch measure, 12px under it before the
   column content (folding in .fo-fcol>.fo-eyebrow's margin-bottom). */
.fs-fc-ft-eyebrow{display:flex;align-items:center;gap:.6em;width:100%;max-width:58ch;margin:0 0 12px;font:600 12px/1.2 var(--font-display, Antonio, 'Arial Narrow', sans-serif);letter-spacing:.18em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
.fs-fc-ft-eyebrow::after{content:"";flex:1 1 auto;min-width:1.5rem;height:1px;background:rgb(var(--c-line))}
.fs-fc-ft-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.55fr);gap:20px 40px;align-items:end}
.fs-fc-ft-line{max-width:38ch;margin:12px 0 0;font-size:14px;line-height:1.5;color:rgb(var(--c-ink-700))}
/* The business, specced like a lot: four fixed cells, the hero's own
   commitment strip. */
.fs-fc-ft-spec{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;border-block:1px solid rgb(var(--c-line))}
.fs-fc-ft-cell{min-width:0;padding:10px 14px 11px;border-left:1px solid var(--fc-ft-hair)}
.fs-fc-ft-cell:first-child{border-left:0;padding-left:0}
.fs-fc-ft-sdt{margin:0;font-size:10.5px;line-height:1.3;letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
.fs-fc-ft-sdd{margin:4px 0 0;font:700 23px/1.05 var(--font-display, Antonio, 'Arial Narrow', sans-serif);letter-spacing:.01em;color:rgb(var(--c-ink-950));white-space:nowrap}
.fs-fc-ft-cols{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr) minmax(0,.95fr) minmax(0,1.35fr);gap:34px 36px;margin-top:38px}
.fs-fc-ft-col{min-width:0}
.fs-fc-ft-addr{margin:0;font-size:14px;line-height:1.5;color:rgb(var(--c-ink-700))}
.fs-fc-ft-tel{display:inline-flex;align-items:center;gap:8px;margin-top:10px;font:600 22px/1.1 var(--font-display, Antonio, 'Arial Narrow', sans-serif);letter-spacing:.05em;text-decoration:none;color:rgb(var(--c-ink-950))}
.fs-fc-ft-tel .fs-fc-ft-ic{width:17px;height:17px;color:rgb(var(--c-ink-400))}
.fs-fc-ft-mail{display:block;margin-top:6px;font-size:14px;text-decoration:none;color:rgb(var(--c-ink-700));overflow-wrap:anywhere}
.fs-fc-ft-tel:hover,.fs-fc-ft-mail:hover{color:rgb(var(--c-brand-text))}
.fs-fc-ft-note{margin:10px 0 0;font-size:13px;line-height:1.5;color:rgb(var(--c-ink-400))}
/* Hours: the map block's card of ruled rows. */
.fs-fc-ft-hours{margin:0}
.fs-fc-ft-hrow{display:flex;justify-content:space-between;gap:12px;padding-block:6px;border-bottom:1px solid var(--fc-ft-hair);font-size:14px;line-height:1.35}
.fs-fc-ft-hrow:first-child{padding-top:0}
.fs-fc-ft-dt{margin:0;color:rgb(var(--c-ink-700))}
.fs-fc-ft-dd{margin:0;font-weight:600;text-align:right;color:rgb(var(--c-ink-950))}
.fs-fc-ft-links{list-style:none;margin:0;padding:0}
.fs-fc-ft-li{padding-block:4px}
.fs-fc-ft-link{font-size:14px;line-height:1.4;text-decoration:none;color:rgb(var(--c-ink-700))}
.fs-fc-ft-link:hover{color:rgb(var(--c-ink-950));text-decoration:underline;text-underline-offset:3px}
/* Checkable: the source column. Each register is a check row — glyph,
   the body and its number, and the link that proves it on the right. */
.fs-fc-ft-checks{list-style:none;margin:0;padding:0}
.fs-fc-ft-check{display:grid;grid-template-columns:17px minmax(0,1fr) auto;gap:10px;align-items:center;padding-block:7px;border-bottom:1px solid var(--fc-ft-hair)}
.fs-fc-ft-check:first-child{padding-top:0}
.fs-fc-ft-check:last-child{border-bottom:0}
.fs-fc-ft-check .fs-fc-ft-ic{width:17px;height:17px;color:rgb(var(--c-brand-600))}
.fs-fc-ft-ck{min-width:0;font-size:13.5px;line-height:1.3;color:rgb(var(--c-ink-950))}
.fs-fc-ft-ckno{display:block;margin-top:1px;font-size:12.5px;color:rgb(var(--c-ink-400))}
.fs-fc-ft-src{font-size:13px;white-space:nowrap;text-decoration:none;color:rgb(var(--c-brand-text))}
.fs-fc-ft-src:hover{text-decoration:underline;text-underline-offset:3px}
/* The regulated part, at the same size as everything else: the
   statutory treatment, not small print. */
.fs-fc-ft-stat{margin:34px 0 0;padding:1px 0 1px 14px;border-left:2px solid rgb(var(--c-brand-600));max-width:96ch;font-size:13.5px;line-height:1.6;color:rgb(var(--c-ink-700))}
.fs-fc-ft-stat-t{font-weight:600;color:rgb(var(--c-ink-950))}
.fs-fc-ft-stat-a{text-decoration:underline;text-underline-offset:2px;color:rgb(var(--c-brand-text))}
.fs-fc-ft-legal{display:flex;flex-wrap:wrap;gap:6px 18px;margin:22px 0 0;padding-top:14px;border-top:1px solid var(--fc-ft-hair);font-size:12.5px;color:rgb(var(--c-ink-400))}
.fs-fc-ft-legal-a{text-decoration:none;color:rgb(var(--c-ink-700))}
.fs-fc-ft-legal-a:hover{color:rgb(var(--c-ink-950))}
@container fs-fc-ft (max-width: 40rem){
  .fs-fc-ft-in{padding-block:34px 22px}
}
/* Two by two from Boxed down, on purpose (notes: at 928 the four columns
   measured 176–264px and the e-mail broke mid-word). */
@container fs-fc-ft-in (max-width: 60rem){
  .fs-fc-ft-head{grid-template-columns:minmax(0,1fr)}
  .fs-fc-ft-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container fs-fc-ft (max-width: 48rem){
  .fs-fc-ft-cols{grid-template-columns:minmax(0,1fr);gap:28px}
  .fs-fc-ft-col{max-width:34rem}
}
@container fs-fc-ft (max-width: 34rem){
  .fs-fc-ft-spec{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-fc-ft-cell:nth-child(3){border-left:0;padding-left:0}
  .fs-fc-ft-cell:nth-child(n+3){border-top:1px solid var(--fc-ft-hair)}
}


/* ── The shell ─────────────────────────────────────────────────── */
/* Signature blocks own their section padding and inner measure — the
   renderer does NOT supply them. */
.fs-kw {
  position: relative;
  isolation: isolate;
  background: rgb(var(--c-paper));
  color: rgb(var(--c-ink-950));
}
.fs-kw * { box-sizing: border-box; }
.fs-kw-shell {
  max-width:var(--fs-layout-max,72rem);
  margin-inline: auto;
  padding: var(--fs-space-section, clamp(3rem, 6vw, 4.5rem)) clamp(1rem, 4vw, 2.5rem);
}
.fs-kw-callout-section { padding-block: 0; }
.fs-kw-std-section, .fs-kw-route-section { background: rgb(var(--c-paper-soft)); }

/* ── The heading cluster ───────────────────────────────────────── */
.fs-kw-head { margin-bottom: var(--fs-space-gap, 1.75rem); }
.fs-kw-eyebrow {
  font-family: var(--font-display);
  font-size: var(--fs-type-eyebrow, .75rem);
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgb(var(--c-ink-400));
  margin: 0 0 .6rem;
}
.fs-kw-h2 {
  font-family: var(--font-display);
  font-size: var(--fs-type-h2, 2.25rem);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -.03em;
  color: rgb(var(--c-ink-950));
  margin: 0;
}
.fs-kw-h3 {
  font-family: var(--font-display);
  font-size: var(--fs-type-h3, 1.25rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.02em;
  color: rgb(var(--c-ink-950));
  margin: 0 0 .55rem;
}
.fs-kw-lede {
  margin-top: .9rem;
  font-size: 1.05em;
  line-height: 1.6;
  color: rgb(var(--c-ink-700));
  max-width: var(--fs-measure, 62ch);
}
.fs-kw-meta {
  margin: 1rem 0 0;
  font-size: var(--fs-type-caption, .875rem);
  line-height: 1.55;
  color: rgb(var(--c-ink-400));
  max-width: 46ch;
}
.fs-kw-ico { width: 1.15rem; height: 1.15rem; flex: none; }

/* ── Buttons ───────────────────────────────────────────────────── */
.fs-kw-btn {
  display: flex; align-items: center; justify-content: center; gap: .5em;
  width: 100%; min-height: 44px; padding: .8em 1.2em;
  font-family: var(--font-display);
  font-size: var(--fs-type-caption, .9rem);
  font-weight: 700;
  letter-spacing: -.01em;
  border-radius: var(--fs-radius-control, 8px);
  text-align: center;
}
.fs-kw-btn-solid { background: rgb(var(--c-brand-600)); color: rgb(var(--c-paper)); }
.fs-kw-btn-ghost {
  background: rgb(var(--c-paper));
  color: rgb(var(--c-ink-950));
  border: 1px solid rgb(var(--c-line));
}

/* ── favBoltCallout ────────────────────────────────────────────── */
.fs-kw-callout { display: grid; gap: var(--fs-space-gap, 1.25rem); }
@media (min-width: 52rem) { .fs-kw-callout { grid-template-columns: 1.15fr 1fr; } }
.fs-kw-callout > * { min-width: 0; }
.fs-kw-door {
  display: flex; flex-direction: column; gap: .7rem;
  padding: var(--fs-space-card, 1.35rem);
  border-radius: var(--fs-radius-card, 10px);
  border: 1px solid rgb(var(--c-line));
  background: rgb(var(--c-paper-soft));
}
/* The one element on the page carrying the accent as a field. */
.fs-kw-door-urgent {
  border-color: rgb(var(--c-accent, var(--c-brand-600)));
  box-shadow: inset 0 0 0 1px rgb(var(--c-accent, var(--c-brand-600)) / .35);
}
.fs-kw-door-k {
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--fs-type-eyebrow, .72rem);
  font-weight: 700; letter-spacing: .09em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-kw-door-urgent .fs-kw-door-k { color: rgb(var(--c-accent, var(--c-brand-600))); }
.fs-kw-door-h {
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--fs-type-h3, 1.35rem);
  font-weight: 700; line-height: 1.2; letter-spacing: -.02em;
  color: rgb(var(--c-ink-950));
}
.fs-kw-door-tel {
  display: block; margin: .3rem 0;
  font-family: var(--font-display);
  font-size: var(--fs-type-h2, 2.25rem);
  font-weight: 700; letter-spacing: -.03em;
  font-variant-numeric: tabular-nums;
  color: rgb(var(--c-ink-950));
  text-decoration: none;
}
.fs-kw-door-tel:hover { color: rgb(var(--c-brand-600)); }
.fs-kw-door-p { margin: 0; font-size: var(--fs-type-caption, .875rem); color: rgb(var(--c-ink-700)); line-height: 1.55; }
.fs-kw-door-act { margin-top: auto; padding-top: var(--fs-space-card, 1.1rem); }
.fs-kw-door-terms {
  margin: .5rem 0 0;
  font-size: var(--fs-type-eyebrow, .75rem);
  line-height: 1.5;
  color: rgb(var(--c-ink-400));
}

/* ── favBoltSchedule ───────────────────────────────────────────── */
/* The ward texture: the mark's own keyway profile, repeated. Drawn from
   --c-line so it re-tints with every palette and in both modes, which
   an SVG file with baked colours cannot. */
.fs-kw-ward {
  position: absolute; inset: 0; z-index: -1; pointer-events: none;
  /* A ward PROFILE, not graph paper: paired vertical cuts at the width
     of a key blade, with a short step between them, repeated. A full
     grid was the first attempt and it ruled straight through the
     promise strip's prose, which is the opposite of a texture. */
  opacity: .34;
  background-image:
    repeating-linear-gradient(90deg,
      rgb(var(--c-line)) 0 1px, transparent 1px 7px,
      rgb(var(--c-line) / .6) 7px 8px, transparent 8px 96px);
  background-position: 0 0;
}
.fs-kw-bands { display: grid; gap: var(--fs-space-gap, 1.25rem); }
@media (min-width: 44rem) { .fs-kw-bands { grid-template-columns: repeat(3, 1fr); } }
.fs-kw-bands > * { min-width: 0; }
.fs-kw-band {
  display: flex; flex-direction: column; gap: .45rem;
  padding: var(--fs-space-card, 1.25rem);
  border-radius: var(--fs-radius-card, 10px);
  border: 1px solid rgb(var(--c-line));
  background: rgb(var(--c-paper-soft));
}
.fs-kw-band-night { border-color: rgb(var(--c-brand-600)); }
.fs-kw-band-t {
  display: flex; align-items: center; gap: .45rem; margin: 0;
  font-family: var(--font-display);
  font-size: var(--fs-type-caption, .9rem); font-weight: 700;
  color: rgb(var(--c-ink-950));
}
.fs-kw-band-t svg { color: rgb(var(--c-brand-600)); }
.fs-kw-band-hrs {
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--fs-type-eyebrow, .72rem);
  letter-spacing: .06em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-kw-band-v {
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--fs-type-h2, 2.25rem);
  font-weight: 700; letter-spacing: -.03em; line-height: 1.1;
  font-variant-numeric: tabular-nums;
  color: rgb(var(--c-ink-950));
}
.fs-kw-band-n { margin: 0; font-size: var(--fs-type-eyebrow, .78rem); color: rgb(var(--c-ink-700)); line-height: 1.5; }
.fs-kw-promises { display: grid; gap: var(--fs-space-gap, 1.25rem); margin-top: var(--fs-space-gap, 1.75rem); }
@media (min-width: 44rem) { .fs-kw-promises { grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); } }
.fs-kw-promises > * { min-width: 0; }
.fs-kw-promise { display: flex; gap: .6rem; align-items: flex-start; font-size: var(--fs-type-caption, .875rem); }
.fs-kw-promise > svg { color: rgb(var(--c-brand-600)); margin-top: .1rem; }
.fs-kw-promise b {
  display: block; font-family: var(--font-display); font-weight: 700;
  letter-spacing: -.01em; color: rgb(var(--c-ink-950));
}
.fs-kw-promise > span > span { color: rgb(var(--c-ink-700)); line-height: 1.55; }

/* ── favBoltEnRoute ────────────────────────────────────────────── */
.fs-kw-track { display: grid; gap: 0; counter-reset: fskwstep; }
.fs-kw-step {
  display: grid; grid-template-columns: 2.5rem 1fr;
  gap: .5rem var(--fs-space-card, 1.25rem);
  padding-block: var(--fs-space-card, 1.25rem);
}
.fs-kw-step > * { min-width: 0; }
.fs-kw-step + .fs-kw-step { border-top: 1px solid rgb(var(--c-line)); }
.fs-kw-step-n {
  counter-increment: fskwstep;
  grid-row: span 2;
  width: 2.5rem; height: 2.5rem;
  display: grid; place-items: center;
  border-radius: var(--fs-radius-control, 8px);
  background: rgb(var(--c-brand-50));
  border: 1px solid rgb(var(--c-line));
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--fs-type-caption, .875rem);
  color: rgb(var(--c-brand-700));
}
.fs-kw-step-n::before { content: counter(fskwstep, decimal-leading-zero); }
.fs-kw-step-t {
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--fs-type-eyebrow, .72rem);
  letter-spacing: .07em; text-transform: uppercase;
  font-variant-numeric: tabular-nums;
  color: rgb(var(--c-accent, var(--c-brand-700)));
}
.fs-kw-step-b p { margin: 0; font-size: var(--fs-type-caption, .875rem); color: rgb(var(--c-ink-700)); line-height: 1.6; max-width: 62ch; }
@media (min-width: 52rem) {
  .fs-kw-step { grid-template-columns: 2.5rem 9rem 1fr; align-items: start; }
  .fs-kw-step-t { padding-top: .15rem; }
}

/* ── favBoltStandards ──────────────────────────────────────────── */
.fs-kw-decoder {
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-card, 10px);
  background: rgb(var(--c-paper));
  padding: var(--fs-space-card, 1.35rem);
  overflow-x: auto;
}
.fs-kw-decoder-grid {
  display: grid;
  grid-template-columns: minmax(15rem, 1.1fr) minmax(11rem, 1fr) minmax(12rem, 1fr);
  min-width: 40rem;
  column-gap: var(--fs-space-gap, 1.25rem);
}
.fs-kw-decoder-hd {
  margin: 0 0 .6rem;
  font-family: var(--font-display);
  font-size: var(--fs-type-eyebrow, .72rem);
  font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
  border-bottom: 1px solid rgb(var(--c-line));
  padding-bottom: .6rem;
}
.fs-kw-decoder-row {
  display: contents;
}
.fs-kw-decoder-door,
.fs-kw-decoder-std,
.fs-kw-decoder-fit {
  padding-block: 1rem;
  border-bottom: 1px solid rgb(var(--c-line) / .5);
  min-width: 0;
}
.fs-kw-decoder-row:last-of-type .fs-kw-decoder-door,
.fs-kw-decoder-row:last-of-type .fs-kw-decoder-std,
.fs-kw-decoder-row:last-of-type .fs-kw-decoder-fit { border-bottom: 0; }
.fs-kw-decoder-door { display: flex; gap: .9rem; align-items: center; }
.fs-kw-decoder-door > svg { width: 2.6rem; height: 3.25rem; flex: none; color: rgb(var(--c-ink-950)); }
.fs-kw-decoder-door b, .fs-kw-decoder-std b {
  display: block;
  font-family: var(--font-display); font-weight: 700; letter-spacing: -.02em;
  color: rgb(var(--c-ink-950));
}
.fs-kw-decoder-std b { font-size: 1.25rem; color: rgb(var(--c-brand-600)); }
.fs-kw-decoder-door > span > span,
.fs-kw-decoder-std > span {
  display: block; margin-top: .15rem;
  font-size: var(--fs-type-caption, .875rem); color: rgb(var(--c-ink-700)); line-height: 1.5;
}
.fs-kw-decoder-fit { font-size: var(--fs-type-caption, .9rem); color: rgb(var(--c-ink-950)); line-height: 1.5; }
.fs-kw-decoder-foot {
  grid-column: 1 / -1;
  margin: 1rem 0 0; padding-top: 1rem;
  border-top: 1px solid rgb(var(--c-line));
  font-size: var(--fs-type-caption, .875rem); color: rgb(var(--c-ink-700));
}

/* ── favBoltRegister ───────────────────────────────────────────── */
.fs-kw-reg { display: grid; gap: var(--fs-space-gap, 1.25rem); }
@media (min-width: 44rem) { .fs-kw-reg { grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); } }
.fs-kw-reg > * { min-width: 0; }
.fs-kw-reg-i {
  display: flex; gap: .7rem;
  padding: var(--fs-space-card, 1.25rem);
  border-radius: var(--fs-radius-card, 10px);
  border: 1px solid rgb(var(--c-line));
  background: rgb(var(--c-paper-soft));
  text-decoration: none;
  color: inherit;
  transition: border-color .2s ease, box-shadow .2s ease;
}
a.fs-kw-reg-i:hover {
  border-color: rgb(var(--c-brand-600));
  box-shadow: 0 0 0 3px rgb(var(--c-brand-600) / .12);
}
.fs-kw-reg-i > svg { color: rgb(var(--c-brand-600)); flex: none; margin-top: .1rem; }
.fs-kw-reg-b { min-width: 0; }
.fs-kw-reg-t {
  display: block;
  font-family: var(--font-display); font-weight: 700;
  font-size: var(--fs-type-caption, .9rem); letter-spacing: -.01em;
  color: rgb(var(--c-ink-950));
}
.fs-kw-reg-d {
  display: block; margin-top: .2rem;
  font-size: var(--fs-type-eyebrow, .78rem); color: rgb(var(--c-ink-700)); line-height: 1.5;
}
.fs-kw-reg-no {
  display: block; margin-top: .55rem;
  font-family: var(--font-display);
  font-size: var(--fs-type-eyebrow, .72rem);
  font-variant-numeric: tabular-nums; letter-spacing: .04em;
  color: rgb(var(--c-ink-400));
  word-break: break-word;
}
a.fs-kw-reg-i .fs-kw-reg-no::after {
  content: '\0000a0\002197\0000a0check';
  color: rgb(var(--c-brand-600));
  white-space: nowrap;
}
/* A row without a link renders visibly WEAKER — dashed keyline, no
   hover, no check suffix. On purpose: an unverifiable claim should look
   worse than a checkable one. */
.fs-kw-reg-unverified {
  border-style: dashed;
  border-color: rgb(var(--c-line) / .7);
  background: none;
}
.fs-kw-reg-unverified > svg { color: rgb(var(--c-ink-400)); }
.fs-kw-reg-unverified .fs-kw-reg-no { font-style: italic; }

/* ════════════════════════════════════════════════════════════════
   THEME-SCOPED REFINEMENT OF THE SHARED BLOCKS

   [data-fs-theme] is stamped on the preview root by EditWpClient and on
   the published page by PublicSiteClient — the hook that lets a theme
   refine the SHARED blocks without restyling them for the other
   thirty-one. Nothing below is unscoped.

   Half a Keyway page is universal blocks (services, gallery, about,
   showcase, quote, the table, the accordion, testimonials, the team
   grid, the form, the map, the cta), and the app draws them centred,
   rounded and card-filled with headings at a flat 24px in the body
   face. The prototype's register is left-aligned and monospaced, with
   every heading in Martian Mono at the theme's own h2 step.
   ════════════════════════════════════════════════════════════════ */

/* ── The heading register ──────────────────────────────────────── */
[data-fs-theme='keyway'] [data-fs-role='services'] .fs-heading,
[data-fs-theme='keyway'] [data-fs-role='textBlock'] .fs-heading,
[data-fs-theme='keyway'] [data-fs-role='about'] .fs-heading,
[data-fs-theme='keyway'] [data-fs-role='gallery'] .fs-heading,
[data-fs-theme='keyway'] [data-fs-role='showcase'] .fs-heading,
[data-fs-theme='keyway'] [data-fs-role='cta'] .fs-heading,
[data-fs-theme='keyway'] [data-fs-role='map'] .fs-heading,
[data-fs-theme='keyway'] .fs-section-shell > .fs-heading,
[data-fs-theme='keyway'] .fs-head-slot,
[data-fs-theme='keyway'] [data-fs-acc] > h2 {
  font-family: var(--font-display);
  font-size: var(--fs-type-h2, 2.25rem);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -.03em;
  text-align: left;
  margin-inline: 0;
  color: rgb(var(--c-ink-950));
}
/* The app centres these blocks with data-align="center". The hero keeps
   its own centring — it is a full-bleed photograph, not a ruled band. */
[data-fs-theme='keyway'] [data-fs-block][data-align='center']:not([data-fs-role='hero']),
[data-fs-theme='keyway'] [data-fs-block][data-align='center']:not([data-fs-role='hero']) .fs-prose,
[data-fs-theme='keyway'] .fs-section-shell > p {
  text-align: left;
  margin-inline: 0;
}
[data-fs-theme='keyway'] .fs-prose { max-width: var(--fs-measure, 62ch); }
/* block-chrome centres the heading CLUSTER at (0,2,1) and pushes every
   child to margin-inline:auto, which is why setting text-align on the
   block alone leaves the heading centred. Beat it on its own terms. */
[data-fs-theme='keyway'] [data-fs-block][data-align='center']:not([data-fs-role='hero']) .fs-head,
[data-fs-theme='keyway'] [data-fs-block][data-align='center']:not([data-fs-role='hero']) [data-fs-head] {
  text-align: left;
  align-items: flex-start;
}
[data-fs-theme='keyway'] [data-fs-block][data-align='center']:not([data-fs-role='hero']) .fs-head > *,
[data-fs-theme='keyway'] [data-fs-block][data-align='center']:not([data-fs-role='hero']) [data-fs-head] > * {
  margin-inline: 0;
}
[data-fs-theme='keyway'] .fs-head-slot > * {
  font-family: var(--font-display);
  text-align: left;
}
/* Left-hung, in the footer band as much as on the page. */
[data-fs-theme='keyway'] [data-fs-role='textBlock'] [data-fs-inner] {
  margin-inline: 0;
  max-width: var(--fs-measure, 68ch);
}

/* ── Cards: a keyline and a soft corner, no lift ───────────────── */
[data-fs-theme='keyway'] [data-fs-block] [data-fs-surface='card'] {
  background: rgb(var(--c-paper-soft));
  border: 1px solid rgb(var(--c-line));
  box-shadow: none;
  transform: none;
}
[data-fs-theme='keyway'] [data-fs-block] [data-fs-surface='card']:hover {
  transform: none;
  box-shadow: 0 0 0 3px rgb(var(--c-brand-600) / .12);
  border-color: rgb(var(--c-brand-600));
}
/* The app puts a rounded brand-tinted chip with a generic star above
   each service card. The prototype's cards carry the theme's own line
   icon, and a star on "Emergency entry" reads as a review rating on a
   page whose whole argument is that ratings are not the evidence. */
[data-fs-theme='keyway'] [data-fs-role='services'] [data-fs-surface='card'] > span {
  display: none;
}
[data-fs-theme='keyway'] .fs-card-title {
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -.02em;
  color: rgb(var(--c-ink-950));
}

/* ── cta ───────────────────────────────────────────────────────── */
/* The prototype's close is a quiet band with the type CENTRED and two
   actions — the one centred thing in the theme, and the only place the
   brand fill would be a second shout after the emergency door. */
[data-fs-theme='keyway'] [data-fs-role='cta'] { background: rgb(var(--c-paper-soft)); }
[data-fs-theme='keyway'] [data-fs-role='cta'] > div[aria-hidden],
[data-fs-theme='keyway'] [data-fs-role='cta'] > div.pointer-events-none { display: none; }
[data-fs-theme='keyway'] [data-fs-role='cta'] .fs-heading {
  color: rgb(var(--c-ink-950)) !important;
  text-align: center;
  font-family: var(--font-display);
}
[data-fs-theme='keyway'] [data-fs-role='cta'] .fs-prose { color: rgb(var(--c-ink-700)) !important; }
[data-fs-theme='keyway'] [data-fs-role='cta'] a,
[data-fs-theme='keyway'] [data-fs-role='cta'] span[class*='rounded-control'] {
  background: rgb(var(--c-brand-600));
  color: rgb(var(--c-paper));
  box-shadow: none;
}

/* ════════════════════════════════════════════════════════════════
   BUTTONS AND HOVER — theme.css 3 and 3b, on every button the app draws

   This scope used to cover the cta block's button and nothing else: the
   header call-to-action, the hero's pair and the form's submit all drew
   the app's default control, and NO button on a Keyway page had a hover
   state at all. The prototype's rule set, measured off
   theme-lab/keyway/theme.css 3:

     min-height 2.75rem · padding .6rem 1.15rem · 1.5px border
     display face (Martian Mono) · caption size · 700 · .02em
     sentence case — this theme does NOT uppercase its controls

   And the grammar it claims (3b, 'glow'): a crisp 2px brand ring plus a
   soft halo, arriving on hover and PULLING IN on press. Explicitly no
   translate and no scale — the prototype's own reason is that this
   theme's primary button carries a phone number somebody is trying to
   hit in the dark, and a control that moves under a thumb is a missed
   tap. The app's default preset does translateY(1px) on :active, so
   that is neutralised here rather than left to fight the grammar.

   The glow values are the tokens.css pair inlined: --kw-glow-ring and
   --kw-glow-halo are theme-lab tokens the app's apply.ts does not emit,
   and a var() with no definition and no fallback produces no shadow. */
[data-fs-theme='keyway'] .fsbtn,
[data-fs-theme='keyway'] .fs-hdr-cta,
[data-fs-theme='keyway'].fs-typo .fs-hdr-cta,
[data-fs-theme='keyway'] [data-fs-role='cta'] a,
[data-fs-theme='keyway'] [data-fs-role='cta'] span[class*='rounded-control'],
[data-fs-theme='keyway'] .fs-hero-full span[class*='rounded-control'],
[data-fs-theme='keyway'] [data-fs-fm-submit],
[data-fs-theme='keyway'] [data-fs-fm-next] {
  font-family: var(--font-display);
  font-size: var(--fs-type-caption, .875rem);
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: none;
  gap: .55rem;
  min-height: 2.75rem;
  padding: .6rem 1.15rem;
  border-radius: var(--fs-radius-control, 8px);
  border-width: 1.5px;
  border-style: solid;
  transition: box-shadow .22s cubic-bezier(.2, .7, .3, 1),
              border-color .22s cubic-bezier(.2, .7, .3, 1);
}
[data-fs-theme='keyway'] .fsbtn:hover,
[data-fs-theme='keyway'] .fs-hdr-cta:hover,
[data-fs-theme='keyway'] [data-fs-role='cta'] a:hover,
[data-fs-theme='keyway'] [data-fs-role='cta'] span[class*='rounded-control']:hover,
[data-fs-theme='keyway'] .fs-hero-full span[class*='rounded-control']:hover,
[data-fs-theme='keyway'] [data-fs-fm-submit]:hover,
[data-fs-theme='keyway'] .fsbtn:focus-visible,
[data-fs-theme='keyway'] .fs-hdr-cta:focus-visible {
  box-shadow: 0 0 0 2px rgb(var(--c-brand-600) / .30), 0 0 20px -3px rgb(var(--c-brand-600) / .60);
  transform: none;
}
[data-fs-theme='keyway'] .fsbtn:active,
[data-fs-theme='keyway'] .fs-hdr-cta:active,
[data-fs-theme='keyway'] [data-fs-role='cta'] a:active,
[data-fs-theme='keyway'] [data-fs-fm-submit]:active {
  box-shadow: 0 0 0 2px rgb(var(--c-brand-600) / .30);
  transform: none;
}
/* The outlined half of the pair — a ghost warms its border to brand
   rather than filling. */
[data-fs-theme='keyway'] .fs-hero-full span[class*='rounded-control']:not(.fsbtn):hover {
  border-color: rgb(var(--c-brand-600));
}

/* ── quote ─────────────────────────────────────────────────────── */
[data-fs-theme='keyway'] [data-fs-role='quote'] [data-fs-surface='card'] {
  border: 0; box-shadow: none; background: none; padding: 0;
  max-width: min(46rem, var(--fs-layout-clamp, 46rem)); margin-inline: 0; text-align: left;
}
[data-fs-theme='keyway'] [data-fs-role='quote'] blockquote,
[data-fs-theme='keyway'] [data-fs-role='quote'] [data-fs-surface='card'] > p {
  font-family: var(--font-display);
  font-size: var(--fs-type-h3, 1.5rem);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: -.02em;
  color: rgb(var(--c-ink-950));
  margin-top: 0; margin-inline: 0; text-align: left; max-width: min(40rem, var(--fs-layout-clamp, 40rem));
}
[data-fs-theme='keyway'] [data-fs-role='quote'] [data-fs-surface='card'] > span {
  color: rgb(var(--c-ink-400));
  font-family: var(--font-display);
  font-size: .78rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
[data-fs-theme='keyway'] [data-fs-role='quote'] svg { display: none; }

/* ── favTable ──────────────────────────────────────────────────── */
/* The parts list is read left to right — a centred "purpose" column
   turns an explanation into a caption. Prices set in the display face
   at tabular widths, like every other figure in the theme. */
[data-fs-theme='keyway'] [data-fs-tbl-scroll] th,
[data-fs-theme='keyway'] [data-fs-tbl-scroll] td { text-align: left; }
[data-fs-theme='keyway'] [data-fs-tbl-scroll] thead th {
  font-family: var(--font-display);
  font-size: var(--fs-type-eyebrow, .72rem);
  letter-spacing: .1em;
  text-transform: uppercase;
}
[data-fs-theme='keyway'] [data-fs-tbl-scroll] td:last-child {
  font-family: var(--font-display);
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  white-space: nowrap;
}

/* ── favTestimonials / favTeam ─────────────────────────────────── */
/* The prototype's three quotations are running prose with a name and a
   place underneath — no stars, no avatar, no source badge. Those are
   review-widget furniture; here the quotation and who said it is the
   whole content. */
[data-fs-theme='keyway'] .fs-testimonials-section [data-fs-ts-stars],
[data-fs-theme='keyway'] .fs-testimonials-section [data-fs-ts-avatar],
[data-fs-theme='keyway'] .fs-testimonials-section [data-fs-ts-avatar-placeholder],
[data-fs-theme='keyway'] .fs-testimonials-section [data-fs-ts-source-badge],
[data-fs-theme='keyway'] .fs-testimonials-section [data-fs-ts-logo] {
  display: none;
}
[data-fs-theme='keyway'] .fs-testimonials-section [data-fs-ts-quote] { color: rgb(var(--c-ink-950)); }
[data-fs-theme='keyway'] .fs-testimonials-section [data-fs-ts-name],
[data-fs-theme='keyway'] .fs-team-section [data-fs-tm-name] {
  font-family: var(--font-display);
  letter-spacing: -.02em;
  color: rgb(var(--c-ink-950));
}
/* The qualification line: a full name, a face AND a checkable number is
   the whole argument of the team block in this trade. */
[data-fs-theme='keyway'] .fs-team-section [data-fs-tm-role] {
  font-size: .8125rem;
  color: rgb(var(--c-ink-700));
}
[data-fs-theme='keyway'] .fs-team-section [data-fs-tm-bio] {
  font-family: var(--font-display);
  font-size: .75rem;
  letter-spacing: .02em;
  font-variant-numeric: tabular-nums;
  color: rgb(var(--c-ink-400));
}

/* ── favForm ───────────────────────────────────────────────────── */
[data-fs-theme='keyway'] .fs-section-shell { margin-inline: 0; }

/* ── Motion — decisive, never bouncy. Gated by .fs-kw-anim ─────── */
@media (prefers-reduced-motion: no-preference) {
  .fs-kw-anim .fs-kw-band,
  .fs-kw-anim .fs-kw-reg-i,
  .fs-kw-anim .fs-kw-step { animation: fs-kw-settle .45s cubic-bezier(.2,.7,.3,1) both; }
  /* The heading motion the theme claims: a lock opening from the
     centre outward. Applied to the family's own headings only, so it
     cannot leak onto another theme's page. */
  .fs-kw-anim .fs-kw-h2 { animation: fs-kw-shutter .5s cubic-bezier(.2,.7,.3,1) both; }
}
@keyframes fs-kw-settle {
  from { opacity: 0; transform: translateY(4px); }
  to   { opacity: 1; transform: none; }
}
@keyframes fs-kw-shutter {
  from { clip-path: inset(0 50% 0 50%); }
  to   { clip-path: inset(0 0 0 0); }
}

/* ── Wireframe — strip colour to lines ─────────────────────────── */
.fs-kw-wire .fs-kw-door,
.fs-kw-wire .fs-kw-band,
.fs-kw-wire .fs-kw-reg-i,
.fs-kw-wire .fs-kw-decoder { background: none; border-color: rgb(var(--c-line)); }
.fs-kw-wire .fs-kw-door-urgent { box-shadow: none; border-color: rgb(var(--c-line)); }
.fs-kw-wire .fs-kw-btn-solid { background: none; color: rgb(var(--c-ink-950)); border: 1px solid rgb(var(--c-line)); }
.fs-kw-wire .fs-kw-ward { display: none; }
.fs-kw-wire .fs-kw-decoder-std b { color: rgb(var(--c-ink-950)); }

/* ── Print ─────────────────────────────────────────────────────── */
@media print {
  .fs-kw-anim .fs-kw-band,
  .fs-kw-anim .fs-kw-reg-i,
  .fs-kw-anim .fs-kw-step { animation: none; opacity: 1; transform: none; }
  .fs-kw-anim .fs-kw-h2 { animation: none; clip-path: none; }
  .fs-kw-ward { display: none; }
  .fs-kw-std-section, .fs-kw-route-section { background: none; }
}

/* ── favBoltFooter (theme-chrome batch 4, Keyway) ─────────────────
   fs-kw-ft: the full-bleed band (named container) on the sunk ground
   under one rule; fs-kw-ft-in: the content box (named container) — the
   business's tab is positioned from it and stands on the rule. */
.fs-kw-ft{container-type:inline-size;container-name:fs-kw-ft;padding:0 clamp(1rem,4vw,2.5rem);background:rgb(var(--c-paper-sunk));border-top:1px solid rgb(var(--c-line));--kw-ft-hair:rgb(var(--c-ink-950) / .13)}
.fs-kw-ft:is(.dark *):not(.fs-preview-light *){--kw-ft-hair:rgb(var(--c-ink-950) / .16)}
.fs-kw-ft-in{position:relative;container-type:inline-size;container-name:fs-kw-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:64px 26px}
.fs-kw-ft-tab{position:absolute;left:0;bottom:100%;display:inline-flex;align-items:center;gap:10px;height:44px;margin:0;padding:0 18px 0 12px;border:1px solid rgb(var(--c-line));border-bottom:0;border-radius:8px 8px 0 0;background:rgb(var(--c-paper-sunk));font-family:var(--font-display, 'Martian Mono', ui-monospace, monospace);font-weight:700;font-size:14px;line-height:1;letter-spacing:-.02em;color:rgb(var(--c-ink-950));white-space:nowrap}
.fs-kw-ft-mark{display:block;width:26px;height:26px}
.fs-kw-ft-mk-a{stop-color:rgb(var(--c-brand-600))}
.fs-kw-ft-mk-b{stop-color:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-kw-ft-ico{display:block;flex:none;width:18px;height:18px}
a.fs-kw-ft-reg-i .fs-kw-ft-reg-no::after{content:'\0000a0\002197\0000a0check';color:rgb(var(--c-brand-text));white-space:nowrap}
.fs-kw-ft-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1fr);gap:28px var(--kw-ft-gap,44px)}
.fs-kw-ft-col{min-width:0}
.fs-kw-ft-h{margin:0 0 12px;padding-bottom:9px;border-bottom:1px solid var(--kw-ft-hair);font-family:var(--font-display, 'Martian Mono', ui-monospace, monospace);font-weight:700;font-size:11px;line-height:1.2;letter-spacing:.12em;text-transform:uppercase;color:rgb(var(--c-ink-700))}
.fs-kw-ft-addr{margin:0;font-size:15.5px;line-height:1.45;color:rgb(var(--c-ink-950))}
.fs-kw-ft-note{margin:8px 0 0;max-width:36ch;font-size:14px;line-height:1.5;color:rgb(var(--c-ink-700))}
.fs-kw-ft-tel{display:inline-block;margin-top:14px;font-family:var(--font-display, 'Martian Mono', ui-monospace, monospace);font-weight:700;font-size:22px;line-height:1.1;letter-spacing:-.04em;color:rgb(var(--c-ink-950));font-variant-numeric:tabular-nums;text-decoration:none}
.fs-kw-ft-tel:hover{color:rgb(var(--c-brand-600))}
.fs-kw-ft-hours{display:grid;gap:12px;margin:0}
.fs-kw-ft-dt{margin:0;font-family:var(--font-display, 'Martian Mono', ui-monospace, monospace);font-weight:700;font-size:12.5px;line-height:1.3;letter-spacing:-.01em;color:rgb(var(--c-ink-950))}
.fs-kw-ft-dd{margin:3px 0 0;font-size:14px;line-height:1.5;color:rgb(var(--c-ink-700));font-variant-numeric:tabular-nums}
.fs-kw-ft-hrow{display:block}
.fs-kw-ft-links{display:grid;gap:1px;margin:0;padding:0;list-style:none}
.fs-kw-ft-li{display:block}
.fs-kw-ft-link{display:inline-block;padding-block:4px;font-size:14.5px;color:rgb(var(--c-ink-950));text-decoration:none;transition:text-shadow .22s cubic-bezier(.2,.7,.3,1)}
.fs-kw-ft-link:hover{text-shadow:0 0 14px rgb(var(--c-brand-600) / .55)}
.fs-kw-ft-freg{margin-top:34px}
.fs-kw-ft-reg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.fs-kw-ft-reg-i{display:flex;align-items:flex-start;gap:11px;min-width:0;padding:12px 14px 11px;border:1px solid rgb(var(--c-line));border-radius:10px;background:rgb(var(--c-paper-soft));text-decoration:none;color:inherit;transition:box-shadow .22s cubic-bezier(.2,.7,.3,1),border-color .22s cubic-bezier(.2,.7,.3,1)}
a.fs-kw-ft-reg-i:hover{border-color:rgb(var(--c-brand-600));box-shadow:0 0 0 3px rgb(var(--c-brand-600) / .12)}
.fs-kw-ft-reg-i .fs-kw-ft-ico{margin-top:1px;color:rgb(var(--c-brand-600))}
.fs-kw-ft-reg-b{min-width:0}
.fs-kw-ft-reg-t{display:block;font-family:var(--font-display, 'Martian Mono', ui-monospace, monospace);font-weight:700;font-size:12.5px;line-height:1.3;letter-spacing:-.02em;color:rgb(var(--c-ink-950))}
.fs-kw-ft-reg-no{display:block;margin-top:4px;font-family:var(--font-display, 'Martian Mono', ui-monospace, monospace);font-weight:500;font-size:11.5px;line-height:1.35;letter-spacing:.01em;color:rgb(var(--c-ink-400));font-variant-numeric:tabular-nums}
.fs-kw-ft-reg-un{border-style:dashed;background:transparent}
.fs-kw-ft-reg-un .fs-kw-ft-ico{color:rgb(var(--c-ink-400))}
.fs-kw-ft-reg-un .fs-kw-ft-reg-no{font-style:italic;color:rgb(var(--c-ink-700))}
.fs-kw-ft-legal{display:flex;flex-wrap:wrap;gap:6px 18px;margin:26px 0 0;padding-top:14px;border-top:1px solid var(--kw-ft-hair);font-size:12.5px;line-height:1.5;color:rgb(var(--c-ink-700))}
.fs-kw-ft-legal-a{color:rgb(var(--c-ink-950));text-decoration:none}
.fs-kw-ft-legal-a:hover{text-decoration:underline}
@container fs-kw-ft (max-width: 40rem){
  .fs-kw-ft-in{padding-block:56px 22px}
}
@container fs-kw-ft-in (min-width: 80rem){
  .fs-kw-ft-grid{--kw-ft-gap:64px}
  .fs-kw-ft-reg{gap:12px}
}
@container fs-kw-ft-in (max-width: 56rem){
  .fs-kw-ft-grid{grid-template-columns:repeat(2,minmax(0,1fr));--kw-ft-gap:32px}
  .fs-kw-ft-shop{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:32px}
  .fs-kw-ft-shop > .fs-kw-ft-h{grid-column:1/-1}
  .fs-kw-ft-shop > .fs-kw-ft-tel{grid-column:2;grid-row:2/4;align-self:start;margin-top:0}
  .fs-kw-ft-reg{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container fs-kw-ft (max-width: 48rem){
  .fs-kw-ft-grid{grid-template-columns:minmax(0,1fr)}
  .fs-kw-ft-shop{display:block}
  .fs-kw-ft-shop > .fs-kw-ft-tel{margin-top:14px}
}
@container fs-kw-ft (max-width: 30rem){
  .fs-kw-ft-reg{grid-template-columns:minmax(0,1fr)}
  .fs-kw-ft-tab{height:42px;font-size:13px}
}
@media (prefers-reduced-motion: reduce){
  .fs-kw-ft-link,.fs-kw-ft-reg-i{transition:none}
}


/* ── The sheet ─────────────────────────────────────────────────── */
.fs-or {
  position: relative;
  isolation: isolate;
  background: rgb(var(--c-paper));
  color: rgb(var(--c-ink-950));
}
.fs-or * { box-sizing: border-box; }
.fs-or-shell {
  max-width:var(--fs-layout-max,74rem);
  margin-inline: auto;
  padding: var(--fs-space-section, clamp(3rem, 6vw, 4.5rem)) clamp(1rem, 4vw, 2.5rem);
}
.fs-or-tariff-section, .fs-or-reg-section { background: rgb(var(--c-paper-soft)); }
.fs-or-ico { width: 1em; height: 1em; flex: none; }

/* ── The sheet head: a titled rule with a reference ────────────── */
.fs-or-sheet-head { margin-bottom: clamp(1.5rem, 3vw, 2.25rem); }
.fs-or-sheet-bar {
  display: flex; align-items: baseline; justify-content: space-between; gap: 1rem;
  padding-bottom: .6rem;
  border-bottom: 2px solid rgb(var(--c-ink-950));
  margin-bottom: 1.1rem;
}
.fs-or-eyebrow {
  font-family: var(--font-sans, inherit);
  font-size: var(--fs-type-eyebrow, .75rem);
  letter-spacing: .16em; text-transform: uppercase;
  color: rgb(var(--c-accent)); margin: 0;
}
/* The reference: always tabular, always in the corner. */
.fs-or-ref {
  font-size: .6875rem; letter-spacing: .12em; text-transform: uppercase;
  color: rgb(var(--c-ink-400)); margin: 0;
  font-variant-numeric: tabular-nums;
}
.fs-or-h2 {
  font-family: var(--font-display);
  font-size: var(--fs-type-h2, clamp(1.6rem, 3.2vw, 2.4rem));
  font-weight: 600; line-height: 1.14; letter-spacing: -.01em;
  margin: 0; text-wrap: balance; color: rgb(var(--c-ink-950));
  max-width: 34ch;
}
.fs-or-lede {
  font-size: var(--fs-type-body, 1rem); line-height: 1.6;
  color: rgb(var(--c-ink-700)); margin-top: .8rem;
  max-width: var(--fs-measure, 68ch);
}
.fs-or-note {
  font-size: .8125rem; color: rgb(var(--c-ink-400));
  margin: 1.2rem 0 0; max-width: var(--fs-measure, 68ch);
}
.fs-or-ph {
  width: 100%; height: 100%;
  background:
    linear-gradient(rgb(var(--c-line) / .5), rgb(var(--c-line) / .5)) center/1px 100% no-repeat,
    linear-gradient(rgb(var(--c-line) / .5), rgb(var(--c-line) / .5)) center/100% 1px no-repeat,
    rgb(var(--c-paper-soft));
}

/* ── Buttons ───────────────────────────────────────────────────── */
.fs-or-btn {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .8rem 1.35rem;
  border-radius: var(--fs-radius-control, 2px);
  font-size: .9375rem; font-weight: 600;
  border: 1px solid transparent; white-space: nowrap;
}
.fs-or-btn-solid {
  background: rgb(var(--c-brand-600));
  color: var(--fs-on-brand, rgb(var(--c-paper)));
}
.fs-or-btn-ghost {
  border-color: rgb(var(--c-ink-950));
  color: rgb(var(--c-ink-950));
  font-variant-numeric: tabular-nums;
}

/* ══ favOrielListing — particulars ROWS ═════════════════════════ */
.fs-or-parts-cols,
.fs-or-part {
  display: grid;
  grid-template-columns: 13rem 1fr 7rem 11rem;
  gap: clamp(1rem, 2.5vw, 2rem);
  align-items: start;
}
.fs-or-parts-cols {
  padding-bottom: .5rem;
  border-bottom: 1px solid rgb(var(--c-line));
  font-size: .625rem; letter-spacing: .14em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-or-parts-cols > span:last-child { text-align: right; }
.fs-or-part {
  padding: clamp(1rem, 2.2vw, 1.5rem) 0;
  border-bottom: 1px solid rgb(var(--c-line));
}
.fs-or-part-plate { position: relative; aspect-ratio: 4 / 3; overflow: hidden; }
.fs-or-part-plate > * { width: 100%; height: 100%; display: block; }
.fs-or-part-plate img, .fs-or-part-plate picture { width: 100%; height: 100%; object-fit: cover; display: block; }
.fs-or-flag {
  position: absolute; top: 0; left: 0;
  background: rgb(var(--c-ink-950) / .84);
  color: rgb(var(--c-paper));
  font-size: .625rem; letter-spacing: .1em; text-transform: uppercase;
  padding: .28rem .55rem;
}
.fs-or-part-a,
.fs-or-part-a > span {
  font-family: var(--font-display);
  font-size: 1.25rem; font-weight: 600; line-height: 1.2;
  margin: 0; color: rgb(var(--c-ink-950));
}
/* The spec as a dimension run on a rule, not a chip row. */
.fs-or-dim {
  list-style: none; margin: .8rem 0 0; padding: .55rem 0 0;
  border-top: 1px solid rgb(var(--c-line));
  display: flex; flex-wrap: wrap; gap: .2rem 1.3rem;
}
.fs-or-dim > li {
  display: flex; align-items: center; gap: .4rem;
  font-size: .8125rem; color: rgb(var(--c-ink-700));
  font-variant-numeric: tabular-nums;
}
.fs-or-dim > li > svg { color: rgb(var(--c-ink-400)); }
.fs-or-part-t {
  display: flex; align-items: center; flex-wrap: wrap; gap: .5rem;
  margin: .7rem 0 0;
  font-size: .75rem; color: rgb(var(--c-ink-400));
}
.fs-or-sep { width: 1px; height: .8em; background: rgb(var(--c-line)); display: inline-block; }
.fs-or-part-ref { font-variant-numeric: tabular-nums; letter-spacing: .06em; }

/* The stepped EPC graph — the certificate's own form. */
.fs-or-epcg { display: grid; gap: 2px; }
.fs-or-epcg-r {
  height: .5rem; border-radius: 0 1px 1px 0;
  opacity: .3;
  display: flex; align-items: center; justify-content: flex-end;
  padding-right: .2rem;
}
.fs-or-epcg-r.is-on {
  opacity: 1; height: .95rem;
  /* The active band is the only one that carries its letter. */
}
/* The band letter. Fixed dark, and it has to be: it sits ON the
   statutory band colour, which is not a palette value either, so a
   token here would be resolving against the wrong surface. Solved
   against the lightest band (D, #ffd500) at 11.4:1 and the darkest
   it ever lands on (A, #008054) at 3.1:1. The block guard flags this
   line and it is baselined deliberately — same exception as the band
   colours themselves. */
.fs-or-epcg-r > b {
  font-size: .625rem; font-weight: 700; color: #14202b; line-height: 1;
}

/* The figure hangs in the margin — the strongest move in the form. */
.fs-or-part-fig { text-align: right; }
.fs-or-part-q {
  font-size: .6875rem; letter-spacing: .08em; text-transform: uppercase;
  color: rgb(var(--c-ink-400)); margin: 0 0 .2rem;
}
.fs-or-part-v,
.fs-or-part-v > span {
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 2.6vw, 2rem); font-weight: 600; line-height: 1;
  margin: 0; color: rgb(var(--c-ink-950));
  font-variant-numeric: tabular-nums;
}

/* ══ favOrielFeeTable — the tariff SCHEDULE ═════════════════════ */
.fs-or-sched { border-top: 2px solid rgb(var(--c-ink-950)); }
.fs-or-line {
  display: grid;
  grid-template-columns: 1fr 12rem;
  gap: clamp(1rem, 3vw, 2.5rem);
  padding: clamp(1.1rem, 2.4vw, 1.6rem) 0;
  border-bottom: 1px solid rgb(var(--c-line));
  align-items: start;
}
.fs-or-line.is-marked { background: rgb(var(--c-brand-50) / .55); }
.fs-or-line-t,
/* :not() excludes the ribbon — otherwise this rule catches it and the
   small sans label renders at 1.3rem in the display face. Same class of
   trap as PITFALLS U13, except self-inflicted: the > span combinator
   that protects against <Editable> wrappers also grabs any span the
   component itself puts inside. */
.fs-or-line-t > span:not(.fs-or-mark) {
  font-family: var(--font-display);
  font-size: 1.3rem; font-weight: 600; line-height: 1.2;
  margin: 0; color: rgb(var(--c-ink-950));
}
.fs-or-line-t { display: flex; align-items: baseline; gap: .7rem; flex-wrap: wrap; }
.fs-or-mark {
  font-family: var(--font-sans, inherit);
  font-size: .625rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: var(--fs-on-brand, rgb(var(--c-paper)));
  background: rgb(var(--c-brand-600));
  padding: .2rem .45rem;
}
.fs-or-line-f {
  list-style: none; margin: .75rem 0 0; padding: 0;
  display: flex; flex-wrap: wrap; gap: .25rem 1.1rem;
  max-width: var(--fs-measure, 68ch);
}
.fs-or-line-f > li {
  font-size: .8125rem; color: rgb(var(--c-ink-700));
  position: relative; padding-left: .85rem;
}
.fs-or-line-f > li::before {
  content: ''; position: absolute; left: 0; top: .55em;
  width: .3rem; height: 1px; background: rgb(var(--c-accent));
}
.fs-or-line-r { text-align: right; }
.fs-or-line-v,
.fs-or-line-v > span {
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 3.2vw, 2.5rem); font-weight: 600; line-height: 1;
  margin: 0; color: rgb(var(--c-ink-950));
  font-variant-numeric: tabular-nums;
}
.fs-or-line-u { font-size: .75rem; color: rgb(var(--c-ink-700)); margin: .3rem 0 0; }
.fs-or-line-x {
  font-size: .75rem; color: rgb(var(--c-ink-400)); margin: .1rem 0 0;
  font-variant-numeric: tabular-nums;
}
.fs-or-statutory {
  margin-top: 1.4rem; padding-top: 1.1rem;
  border-top: 1px solid rgb(var(--c-line));
  display: grid; gap: .4rem;
}
.fs-or-statutory > p {
  font-size: .75rem; line-height: 1.5; color: rgb(var(--c-ink-700)); margin: 0;
  padding-left: .9rem; position: relative;
}
.fs-or-statutory > p::before {
  content: ''; position: absolute; left: 0; top: .55em;
  width: .35rem; height: .35rem; background: rgb(var(--c-accent));
}

/* ══ favOrielRedress — a register EXTRACT ═══════════════════════ */
.fs-or-reg { border-top: 2px solid rgb(var(--c-ink-950)); }
.fs-or-reg-cols,
.fs-or-reg-row {
  display: grid;
  grid-template-columns: 16rem 1fr 11rem;
  gap: clamp(.75rem, 2.5vw, 2rem);
  align-items: baseline;
}
.fs-or-reg-cols {
  padding: .5rem 0;
  border-bottom: 1px solid rgb(var(--c-line));
  font-size: .625rem; letter-spacing: .14em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-or-reg-cols > span:last-child { text-align: right; }
.fs-or-reg-row {
  padding: .95rem 0;
  border-bottom: 1px solid rgb(var(--c-line));
}
.fs-or-reg-n,
.fs-or-reg-n > span {
  font-family: var(--font-display);
  font-size: 1.0625rem; font-weight: 600; line-height: 1.25;
  margin: 0; color: rgb(var(--c-ink-950));
}
.fs-or-reg-n > a {
  color: inherit; text-decoration: none;
  display: inline-flex; align-items: baseline; gap: .35rem;
  border-bottom: 1px solid rgb(var(--c-accent));
}
.fs-or-reg-n > a > svg { color: rgb(var(--c-accent)); align-self: center; }
.fs-or-reg-w { font-size: .8125rem; line-height: 1.5; color: rgb(var(--c-ink-700)); margin: 0; }
.fs-or-reg-no,
.fs-or-reg-no > span {
  margin: 0; text-align: right;
  font-size: .8125rem; letter-spacing: .06em;
  color: rgb(var(--c-ink-950));
  font-variant-numeric: tabular-nums;
}

/* ══ favOrielArea — the comparison SCHEDULE ═════════════════════ */
.fs-or-areas { border-top: 2px solid rgb(var(--c-ink-950)); }
.fs-or-arow {
  display: grid;
  grid-template-columns: 8rem 1fr 16rem;
  gap: clamp(1rem, 2.5vw, 2rem);
  padding: clamp(1.1rem, 2.4vw, 1.5rem) 0;
  border-bottom: 1px solid rgb(var(--c-line));
  align-items: start;
}
.fs-or-arow-plate { aspect-ratio: 1 / 1; overflow: hidden; }
.fs-or-arow-plate > * { width: 100%; height: 100%; display: block; }
.fs-or-arow-plate img, .fs-or-arow-plate picture { width: 100%; height: 100%; object-fit: cover; display: block; }
.fs-or-arow-n,
.fs-or-arow-n > span {
  font-family: var(--font-display);
  font-size: 1.1875rem; font-weight: 600; line-height: 1.2;
  margin: 0; color: rgb(var(--c-ink-950));
}
.fs-or-arow-m { font-size: .75rem; letter-spacing: .04em; color: rgb(var(--c-ink-400)); margin: .25rem 0 0; }
.fs-or-arow-p { font-size: .8125rem; line-height: 1.5; color: rgb(var(--c-ink-700)); margin: .6rem 0 0; }
/* Facts read across on rules, not down a card. */
.fs-or-arow-facts { margin: 0; display: grid; gap: 0; align-self: stretch; }
.fs-or-arow-facts > div {
  display: flex; justify-content: space-between; gap: .75rem;
  padding: .3rem 0;
  border-bottom: 1px dotted rgb(var(--c-line));
  font-size: .75rem;
}
.fs-or-arow-facts > div:last-child { border-bottom: 0; }
.fs-or-arow-facts dt { color: rgb(var(--c-ink-400)); margin: 0; letter-spacing: .06em; text-transform: uppercase; font-size: .625rem; align-self: center; }
.fs-or-arow-facts dd {
  margin: 0; color: rgb(var(--c-ink-950)); font-weight: 600;
  font-variant-numeric: tabular-nums; text-align: right;
}

/* ══ favOrielValuation — the appraisal docket ═══════════════════ */
.fs-or-docket {
  border: 1px solid rgb(var(--c-ink-950));
  border-radius: var(--fs-radius-card, 2px);
  overflow: hidden;
  background: rgb(var(--c-paper-soft));
}
.fs-or-docket-bar {
  display: flex; align-items: baseline; justify-content: space-between; gap: 1rem;
  padding: .7rem clamp(1rem, 2.5vw, 1.75rem);
  border-bottom: 1px solid rgb(var(--c-ink-950));
  background: rgb(var(--c-paper));
}
.fs-or-docket-body { display: grid; grid-template-columns: 1.15fr 1fr; }
.fs-or-docket-l { padding: clamp(1.35rem, 3vw, 2.5rem); }
.fs-or-docket-r { position: relative; min-height: 21rem; border-left: 1px solid rgb(var(--c-line)); }
/* The image arrives wrapped: EditableImage renders its own element
   around a <picture>, so targeting '> img' matched nothing and the
   photograph sat at its intrinsic height with white below it. Fill the
   direct child whatever it is, then make anything image-shaped inside
   it cover. Same reasoning as the direct-child text rules — in this app
   a slot is never the bare element you wrote. */
.fs-or-docket-r > * {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
}
.fs-or-docket-r img,
.fs-or-docket-r picture {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
}
/* Numbered clauses, like a form's terms. */
.fs-or-clauses { list-style: none; margin: 1.4rem 0 0; padding: 0; display: grid; gap: 0; }
.fs-or-clauses > li {
  display: grid; grid-template-columns: 2.2rem 1fr; gap: .6rem;
  padding: .65rem 0;
  border-top: 1px solid rgb(var(--c-line));
  font-size: .875rem; line-height: 1.5; color: rgb(var(--c-ink-700));
}
.fs-or-clause-n {
  font-family: var(--font-display);
  font-size: .8125rem; font-weight: 600; color: rgb(var(--c-accent));
  font-variant-numeric: tabular-nums;
}
.fs-or-val-form {
  display: flex; gap: .7rem; align-items: flex-end; flex-wrap: wrap;
  margin-top: 1.4rem; padding-top: 1.2rem;
  border-top: 1px solid rgb(var(--c-ink-950));
}
.fs-or-field { display: grid; gap: .35rem; flex: 1 1 11rem; min-width: 0; }
.fs-or-field-l {
  font-size: .625rem; letter-spacing: .12em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-or-input {
  width: 100%;
  /* 16px floor or iOS zooms on focus; 44px for the hit target. */
  font-size: 1rem; min-height: 44px;
  padding: .55rem .75rem;
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-control, 2px);
  background: rgb(var(--c-paper));
  color: rgb(var(--c-ink-950));
}

/* ══ favOrielMemo — the closing memorandum ══════════════════════ */
.fs-or-memo {
  border: 1px solid rgb(var(--c-ink-950));
  border-radius: var(--fs-radius-card, 2px);
  overflow: hidden;
  background: rgb(var(--c-paper-soft));
}
.fs-or-memo-bar {
  display: flex; align-items: baseline; justify-content: space-between; gap: 1rem;
  padding: .7rem clamp(1rem, 2.5vw, 1.75rem);
  background: rgb(var(--c-ink-950));
}
.fs-or-memo-t,
.fs-or-memo-t > span {
  font-family: var(--font-sans, inherit);
  font-size: .6875rem; letter-spacing: .18em; text-transform: uppercase;
  color: rgb(var(--c-paper)); margin: 0; font-weight: 600;
}
.fs-or-memo-bar > .fs-or-ref { color: rgb(var(--c-paper) / .7); }
.fs-or-memo-body {
  display: grid; grid-template-columns: 1.3fr 1fr;
  gap: clamp(1.25rem, 3vw, 2.5rem);
  padding: clamp(1.35rem, 3vw, 2.25rem);
}
.fs-or-memo-facts { margin: 0; display: grid; gap: 0; align-content: start; }
.fs-or-memo-facts > div {
  display: flex; justify-content: space-between; gap: 1rem;
  padding: .5rem 0;
  border-bottom: 1px solid rgb(var(--c-line));
  font-size: .8125rem;
}
.fs-or-memo-facts > div:first-child { border-top: 1px solid rgb(var(--c-line)); }
.fs-or-memo-facts dt { margin: 0; color: rgb(var(--c-ink-400)); }
.fs-or-memo-facts dd { margin: 0; color: rgb(var(--c-ink-950)); font-weight: 600; text-align: right; }
.fs-or-memo-foot {
  display: flex; align-items: center; gap: .75rem; flex-wrap: wrap;
  padding: clamp(1rem, 2.5vw, 1.4rem) clamp(1.35rem, 3vw, 2.25rem);
  border-top: 1px solid rgb(var(--c-ink-950));
  background: rgb(var(--c-paper));
}
.fs-or-memo-sign {
  margin: 0 0 0 auto;
  font-size: .6875rem; letter-spacing: .04em; color: rgb(var(--c-ink-400));
}

/* favOrielIndex - the document index */
.fs-or-index { list-style: none; margin: 0; padding: 0; border-top: 2px solid rgb(var(--c-ink-950)); }
.fs-or-ix {
  display: grid;
  grid-template-columns: 3rem minmax(14rem, 26rem) 1fr auto;
  gap: clamp(.75rem, 2vw, 1.5rem);
  align-items: baseline;
  padding: clamp(1rem, 2.2vw, 1.4rem) 0;
  border-bottom: 1px solid rgb(var(--c-line));
}
.fs-or-ix-n {
  font-family: var(--font-display);
  font-size: .875rem; font-weight: 600;
  color: rgb(var(--c-accent));
  font-variant-numeric: tabular-nums;
}
.fs-or-ix-t,
.fs-or-ix-t > span {
  font-family: var(--font-display);
  font-size: 1.375rem; font-weight: 600; line-height: 1.2;
  margin: 0; color: rgb(var(--c-ink-950));
}
.fs-or-ix-d { font-size: .8125rem; line-height: 1.5; color: rgb(var(--c-ink-700)); margin: .3rem 0 0; }
/* The leader: a dotted rule filling the gap to the folio, centred on the
   entry's own baseline row, exactly as a printed index sets it. */
.fs-or-ix-lead {
  align-self: center;
  border-bottom: 2px dotted rgb(var(--c-line));
  transform: translateY(-.2em);
  min-width: 2rem;
}
.fs-or-ix-v,
.fs-or-ix-v > span {
  font-family: var(--font-display);
  font-size: 1.25rem; font-weight: 600;
  margin: 0; color: rgb(var(--c-ink-950));
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* ── Responsive ────────────────────────────────────────────────── */
@media (max-width:68rem) {
  .fs-or-parts-cols { display: none; }
  .fs-or-part { grid-template-columns: 11rem 1fr; grid-template-areas: 'plate body' 'epc fig'; }
  .fs-or-part-plate { grid-area: plate; }
  .fs-or-part-body { grid-area: body; }
  .fs-or-part-epc { grid-area: epc; }
  .fs-or-part-fig { grid-area: fig; text-align: right; align-self: end; }
  .fs-or-arow { grid-template-columns: 7rem 1fr; }
  .fs-or-arow-facts { grid-column: 1 / -1; }
  .fs-or-docket-body, .fs-or-memo-body { grid-template-columns: 1fr; }
  .fs-or-docket-r { order: -1; min-height: 14rem; border-left: 0; border-bottom: 1px solid rgb(var(--c-line)); }
}
@media (max-width: 44rem) {
  .fs-or-ix { grid-template-columns: 2.2rem 1fr auto; }
  .fs-or-ix-lead { display: none; }
  .fs-or-reg-cols { display: none; }
  .fs-or-reg-row { grid-template-columns: 1fr; gap: .3rem; }
  .fs-or-reg-no { text-align: left; }
  .fs-or-line { grid-template-columns: 1fr; }
  .fs-or-line-r { text-align: left; }
}
@media (max-width: 30rem) {
  .fs-or-part { grid-template-columns: 1fr; grid-template-areas: 'plate' 'body' 'fig' 'epc'; }
  .fs-or-part-fig { text-align: left; }
  .fs-or-arow { grid-template-columns: 1fr; }
  .fs-or-val-form { flex-direction: column; align-items: stretch; }
  .fs-or-btn { justify-content: center; }
  .fs-or-memo-sign { margin-left: 0; }
}
/* FIX ROUND 1 (2026-10-02), theme-chrome batch 5 Task 2: the above is a
   viewport @media query, blind to the editor's simulated mobile canvas
   the same way HEADER_NAV_CSS's nav-hide rule was (menu-styles.ts) —
   the device toggle sets a maxWidth on an in-page wrapper while the
   real browser viewport stays wide, so @media never fires there.
   CDP-measured: on the editor's mobile canvas .fs-or-part stayed on
   its UNNARROWED 4-column grid (13rem 1fr 7rem 11rem), 335px wider
   than the canvas. fs-editor-canvas is the named container
   HEADER_NAV_CSS already declares (always loaded); reusing it here
   needs no new container-type declaration. Scoped to
   [data-fs-editor-frame] so real pages keep using the @media rule
   above untouched. */
@container fs-editor-canvas (max-width: 30rem) {
  [data-fs-editor-frame] .fs-or-part { grid-template-columns: 1fr; grid-template-areas: 'plate' 'body' 'fig' 'epc'; }
  [data-fs-editor-frame] .fs-or-part-fig { text-align: left; }
  [data-fs-editor-frame] .fs-or-arow { grid-template-columns: 1fr; }
}

/* ── Motion ────────────────────────────────────────────────────── */
/* One grammar: a row's rule thickens and the sheet lifts a hair, the
   way a page separates when you lift it. No scale, no rotation. */
.fs-or-anim .fs-or-part,
.fs-or-anim .fs-or-line,
.fs-or-anim .fs-or-reg-row,
.fs-or-anim .fs-or-arow,
.fs-or-anim .fs-or-ix {
  transition: background-color var(--fs-motion-fast, 180ms) var(--fs-ease-out, cubic-bezier(.2,.7,.3,1)),
              box-shadow var(--fs-motion-fast, 180ms) var(--fs-ease-out, cubic-bezier(.2,.7,.3,1));
}
.fs-or-anim .fs-or-part:hover,
.fs-or-anim .fs-or-line:hover,
.fs-or-anim .fs-or-reg-row:hover,
.fs-or-anim .fs-or-arow:hover,
.fs-or-anim .fs-or-ix:hover {
  background-color: rgb(var(--c-brand-50) / .5);
  box-shadow: inset 3px 0 0 rgb(var(--c-accent));
}
@media (prefers-reduced-motion: reduce) {
  .fs-or-anim .fs-or-part,
  .fs-or-anim .fs-or-line,
  .fs-or-anim .fs-or-reg-row,
  .fs-or-anim .fs-or-arow { transition: none; }
}

/* ── The hero photograph in dark mode ──────────────────────────── */
/* MEASURED, both modes. The shared hero draws its scrim from the
   ink-950 ramp, and --c-ink-950 is a PALETTE channel: near-black on a
   light palette, near-white on a dark one. In dark mode the scrim
   inverted to a pale wash under white type and the headline was barely
   legible. Pinned to a constant — raw channels, not tokens, BECAUSE
   being mode-invariant is the requirement. Type over a photograph does
   not flip when the page does. Sixth independent request for a shared
   --c-scrim / --c-on-media pair in apply.ts; the generic fix belongs
   there, not in a seventh theme-scoped override. */
[data-fs-theme='oriel'] .fs-hero-full-scrim {
  background-image: linear-gradient(
    to top,
    rgb(12 18 26 / .90) 0%,
    rgb(12 18 26 / .68) 40%,
    rgb(12 18 26 / .28) 74%,
    rgb(12 18 26 / .10) 100%);
}

/* ── Wireframe ─────────────────────────────────────────────────── */
[data-render="wireframe"] .fs-or,
.fs-or-wire { background: #fff !important; color: #111 !important; }
[data-render="wireframe"] .fs-or .fs-or-docket,
[data-render="wireframe"] .fs-or .fs-or-memo {
  background: #fff !important; border: 1px solid #111 !important;
}
[data-render="wireframe"] .fs-or .fs-or-memo-bar { background: #111 !important; }
[data-render="wireframe"] .fs-or .fs-or-ph {
  background: repeating-linear-gradient(45deg, #eee 0 6px, #fff 6px 12px) !important;
}

/* ── favOrielFooter (theme-chrome batch 5, Oriel) ──────────────────
   The band is the full-bleed container fs-or-ft; the content box is the
   named container fs-or-ft-in, which narrows with the site's Layout. */
.fs-or-ft{container-type:inline-size;container-name:fs-or-ft;padding:0 clamp(1rem,4vw,2.5rem);background:rgb(var(--c-paper));box-shadow:inset 0 1px 0 rgb(var(--c-line-soft));--or-ft-rule:rgb(var(--c-line));--or-ft-ink2:rgb(var(--c-ink-700));--or-ft-ref:rgb(var(--c-ink-400));--or-ft-eye:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-or-ft-in{container-type:inline-size;container-name:fs-or-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:58px 30px;font-size:15px;line-height:1.55}
.fs-or-ft-bar{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px 18px;padding-bottom:9px;border-bottom:2px solid rgb(var(--c-ink-950))}
.fs-or-ft-eyebrow{margin:0;font-weight:700;font-size:11px;line-height:1.3;letter-spacing:.16em;text-transform:uppercase;color:var(--or-ft-eye)}
.fs-or-ft-ref{margin:0;font-weight:600;font-size:10.5px;line-height:1.3;letter-spacing:.12em;text-transform:uppercase;color:var(--or-ft-ref);font-variant-numeric:tabular-nums}
.fs-or-ft-part{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px 40px;padding:22px 0 24px;border-bottom:1px solid var(--or-ft-rule)}
.fs-or-ft-name{margin:0;font-family:var(--font-display, "Bodoni Moda","Bodoni 72",Didot,Georgia,serif);font-weight:600;font-size:31px;line-height:1.12;letter-spacing:-.01em;text-wrap:balance}
.fs-or-ft-sub{margin:9px 0 0;font-size:14px;color:var(--or-ft-ink2)}
.fs-or-ft-fig{margin:0;text-align:right}
.fs-or-ft-q{display:block;font-weight:600;font-size:10.5px;line-height:1.3;letter-spacing:.12em;text-transform:uppercase;color:var(--or-ft-ref)}
.fs-or-ft-v{display:block;margin-top:7px;font-family:var(--font-display, "Bodoni Moda","Bodoni 72",Didot,Georgia,serif);font-weight:600;font-size:38px;line-height:1;font-variant-numeric:tabular-nums;color:rgb(var(--c-ink-950));text-decoration:none}
.fs-or-ft-cols{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr) minmax(0,1.3fr);gap:0 clamp(24px,3.5cqi,48px);padding-top:26px}
.fs-or-ft-col{min-width:0}
.fs-or-ft-h{margin:0 0 8px;padding-bottom:8px;border-bottom:1px solid var(--or-ft-rule);font-weight:700;font-size:10px;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;color:var(--or-ft-ref)}
.fs-or-ft-list{list-style:none;margin:0;padding-top:6px}
.fs-or-ft-li{position:relative;padding:6px 0 6px 16px;font-size:14.5px}
.fs-or-ft-li::before{content:"";position:absolute;left:0;top:1.02em;width:7px;height:1px;background:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-or-ft-link{color:rgb(var(--c-ink-950));text-decoration:none}
.fs-or-ft-link:hover{text-decoration:underline;text-underline-offset:3px}
.fs-or-ft-more .fs-or-ft-link,
.fs-or-ft-more .fs-or-ft-dot{color:var(--or-ft-ink2)}
.fs-or-ft-facts{margin:0}
.fs-or-ft-fact{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 0;border-bottom:1px solid var(--or-ft-rule);font-size:14px}
.fs-or-ft-fact:first-child{border-top:0}
.fs-or-ft-fk{margin:0;color:var(--or-ft-ref)}
.fs-or-ft-fv{margin:0;font-weight:700;text-align:right;font-variant-numeric:tabular-nums}
.fs-or-ft-p{margin:12px 0 0;font-size:13.5px;line-height:1.55;color:var(--or-ft-ink2)}
.fs-or-ft-chk{display:grid;align-content:start}
.fs-or-ft-chk .fs-or-ft-regr{padding:11px 0 10px}
.fs-or-ft-chk .fs-or-ft-regr:last-child{border-bottom:0}
.fs-or-ft-regr{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:3px 12px;padding:12px 0 11px;border-bottom:1px solid var(--or-ft-rule)}
.fs-or-ft-regn{font-weight:600;font-size:15.5px;line-height:1.3;font-family:var(--font-display, "Bodoni Moda","Bodoni 72",Didot,Georgia,serif);color:rgb(var(--c-ink-950));text-decoration:underline;text-decoration-color:rgb(var(--c-accent, var(--c-brand-600)));text-decoration-thickness:1px;text-underline-offset:4px}
.fs-or-ft-regn .fs-or-ico{display:inline-block;width:11px;height:11px;margin-left:4px;vertical-align:0;color:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-or-ft-regno{font-weight:700;font-size:12px;line-height:1.3;letter-spacing:.06em;font-variant-numeric:tabular-nums;color:rgb(var(--c-ink-950))}
.fs-or-ft-legal{display:flex;flex-wrap:wrap;gap:6px 20px;margin:26px 0 0;padding-top:13px;border-top:2px solid rgb(var(--c-ink-950));font-size:12.5px;color:var(--or-ft-ref)}
.fs-or-ft-legal-t{margin-right:auto;color:inherit}
.fs-or-ft-legal-a{color:inherit;text-decoration:none}
.fs-or-ft-legal-a:hover{color:rgb(var(--c-ink-950))}
@container fs-or-ft (max-width: 40rem){
  .fs-or-ft-in{padding-block:40px 26px}
}
@container fs-or-ft-in (max-width: 56rem){
  .fs-or-ft-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-or-ft-chk{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px;margin-top:22px}
  .fs-or-ft-chk .fs-or-ft-h{grid-column:1/-1}
  .fs-or-ft-chk .fs-or-ft-regr{grid-template-columns:minmax(0,1fr);border-bottom:0}
}
@container fs-or-ft (max-width: 48rem){
  .fs-or-ft-part{grid-template-columns:minmax(0,1fr)}
  .fs-or-ft-fig{text-align:left}
  .fs-or-ft-cols{grid-template-columns:minmax(0,1fr);row-gap:26px}
  .fs-or-ft-chk{grid-column:auto;margin-top:0}
}
@container fs-or-ft (max-width: 30rem){
  .fs-or-ft-name{font-size:25px}
  .fs-or-ft-v{font-size:32px}
  .fs-or-ft-chk{grid-template-columns:minmax(0,1fr)}
  .fs-or-ft-chk .fs-or-ft-regr{grid-template-columns:minmax(0,1fr) auto;border-bottom:1px solid var(--or-ft-rule)}
  .fs-or-ft-chk .fs-or-ft-regr:last-child{border-bottom:0}
  .fs-or-ft-legal-t{flex-basis:100%}
}


/* ── The sheet ─────────────────────────────────────────────────── */
.fs-jb {
  position: relative;
  isolation: isolate;
  background: rgb(var(--c-paper));
  color: rgb(var(--c-ink-950));
}
.fs-jb * { box-sizing: border-box; }
.fs-jb-shell {
  max-width:var(--fs-layout-max,72rem);
  margin-inline: auto;
  padding: var(--fs-space-section, clamp(2.5rem, 5vw, 4rem)) clamp(1rem, 4vw, 2.5rem);
}
.fs-jb-rates-section, .fs-jb-steps-section { background: rgb(var(--c-paper-soft)); }

/* Two soft-ground sheets stacked directly on top of each other put their
   two lots of section padding back to back — 128px of empty grey that
   reads as a hole in the band rather than as breathing room. Where the
   ground CHANGES between sections the same gap reads as intended, so
   this only collapses the join between two of the soft ones.
   data-fs-blocktype is SectionRenderer's own per-section stamp and is
   the only place these are DOM siblings: the anchor div inside it is a
   child, so an adjacent-sibling selector cannot see across two sections
   at any level below this one. (No backticks in this file's comments —
   the whole sheet is one template literal, PITFALLS U12.) */
:is([data-fs-blocktype='favJobRates'], [data-fs-blocktype='favJobSteps'])
  + :is([data-fs-blocktype='favJobRates'], [data-fs-blocktype='favJobSteps'])
  .fs-jb-shell { padding-top: 0; }

.fs-jb-ico { width: 1em; height: 1em; flex: none; }

/* The pad itself: a bordered sheet with a ruled title bar. */
.fs-jb-sheet {
  border: 2px solid rgb(var(--c-ink-950));
  border-radius: var(--fs-radius-card, 2px);
  background: rgb(var(--c-paper));
  overflow: hidden;
}
.fs-jb-sheet-done { background: rgb(var(--c-paper-soft)); }
.fs-jb-bar {
  display: flex; align-items: baseline; justify-content: space-between; gap: 1rem;
  padding: .55rem clamp(.85rem, 2vw, 1.35rem);
  background: rgb(var(--c-ink-950));
  color: rgb(var(--c-paper));
}
.fs-jb-bar-t,
.fs-jb-bar-t > span {
  font-family: var(--font-display);
  font-size: .8125rem; font-weight: 700;
  letter-spacing: .18em; text-transform: uppercase;
}
.fs-jb-bar-r {
  font-size: .6875rem; letter-spacing: .12em; text-transform: uppercase;
  color: rgb(var(--c-paper) / .72);
  font-variant-numeric: tabular-nums;
}
.fs-jb-lede {
  font-size: .9375rem; line-height: 1.55; color: rgb(var(--c-ink-700));
  margin: 0; padding: clamp(.85rem, 2vw, 1.25rem) clamp(.85rem, 2vw, 1.35rem) 0;
  max-width: var(--fs-measure, 68ch);
}

/* ── The worksheet FIELD — the unit everything is built from ───── */
.fs-jb-field {
  position: relative;
  border-right: 1px solid rgb(var(--c-line));
  border-bottom: 1px solid rgb(var(--c-line));
  padding: 1.4rem .9rem .8rem;
  min-width: 0;
}
.fs-jb-field-l {
  position: absolute; top: .4rem; left: .9rem;
  font-size: .5625rem; letter-spacing: .14em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-jb-field-v,
.fs-jb-field-v > span {
  font-family: var(--font-display);
  font-size: 1.0625rem; font-weight: 600; line-height: 1.25;
  color: rgb(var(--c-ink-950));
}

/* ── Buttons ───────────────────────────────────────────────────── */
.fs-jb-btn {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .75rem 1.25rem;
  border-radius: var(--fs-radius-control, 2px);
  font-family: var(--font-display);
  font-size: .9375rem; font-weight: 700; letter-spacing: .04em;
  border: 2px solid transparent; text-decoration: none;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.fs-jb-btn-solid {
  background: rgb(var(--c-brand-600));
  color: var(--fs-on-brand, rgb(var(--c-paper)));
  border-color: rgb(var(--c-brand-600));
}
.fs-jb-btn-ghost { border-color: rgb(var(--c-ink-950)); color: rgb(var(--c-ink-950)); }
/* The rubber stamp: set at an angle, outlined, the way one lands. */
.fs-jb-stamp {
  margin-left: auto;
  border: 2px solid rgb(var(--c-accent));
  color: rgb(var(--c-accent));
  font-family: var(--font-display);
  font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
  padding: .3rem .6rem;
  transform: rotate(-3deg);
}

/* ══ favJobHero ════════════════════════════════════════════════ */
.fs-jb-hero-grid {
  display: grid; grid-template-columns: repeat(4, 1fr);
  border-bottom: 0;
}
.fs-jb-hero-grid > .fs-jb-field:last-child { border-right: 0; }
.fs-jb-hero-main > .fs-jb-field { border-right: 0; padding: 1.6rem clamp(.9rem, 2.5vw, 1.5rem) 1.4rem; }
.fs-jb-h1,
.fs-jb-h1 > span {
  font-family: var(--font-display);
  font-size: var(--fs-type-display, clamp(2rem, 5.2vw, 3.4rem));
  font-weight: 700; line-height: 1.04; letter-spacing: -.015em;
  margin: 0; color: rgb(var(--c-ink-950)); text-wrap: balance;
}
.fs-jb-hero-p {
  font-size: 1rem; line-height: 1.55; color: rgb(var(--c-ink-700));
  margin: .9rem 0 0; max-width: var(--fs-measure, 62ch);
}
.fs-jb-hero-foot {
  display: flex; align-items: center; gap: .7rem; flex-wrap: wrap;
  padding: clamp(.85rem, 2vw, 1.2rem) clamp(.85rem, 2vw, 1.35rem);
  border-top: 2px dashed rgb(var(--c-line));
}

/* ══ favJobRates — worksheet cells ═════════════════════════════ */
.fs-jb-cells {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  margin-top: clamp(.85rem, 2vw, 1.25rem);
  border-top: 1px solid rgb(var(--c-line));
}
.fs-jb-cell {
  position: relative;
  padding: 1.5rem 1rem 1.1rem;
  border-right: 1px solid rgb(var(--c-line));
  border-bottom: 1px solid rgb(var(--c-line));
  min-width: 0;
}
.fs-jb-cell-l {
  position: absolute; top: .45rem; left: 1rem;
  font-size: .5625rem; letter-spacing: .14em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-jb-cell-v,
.fs-jb-cell-v > span {
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 3.4vw, 2.5rem); font-weight: 700; line-height: 1;
  margin: 0; color: rgb(var(--c-ink-950));
  font-variant-numeric: tabular-nums;
}
.fs-jb-cell-n { font-size: .75rem; line-height: 1.45; color: rgb(var(--c-ink-700)); margin: .5rem 0 0; }

/* ══ favJobCert — certificate cells ════════════════════════════ */
.fs-jb-certs {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  margin-top: clamp(.85rem, 2vw, 1.25rem);
  border-top: 1px solid rgb(var(--c-line));
}
.fs-jb-cert {
  padding: 1.1rem 1rem;
  border-right: 1px solid rgb(var(--c-line));
  border-bottom: 1px solid rgb(var(--c-line));
  min-width: 0;
}
/* The number is the point of the block, so it is the biggest thing in
   the cell — not the body's name and not a logo. */
.fs-jb-cert-no,
.fs-jb-cert-no > span {
  display: block;
  font-family: var(--font-display);
  font-size: 1.375rem; font-weight: 700; line-height: 1;
  color: rgb(var(--c-accent));
  font-variant-numeric: tabular-nums; letter-spacing: .02em;
}
.fs-jb-cert-b,
.fs-jb-cert-b > span {
  font-family: var(--font-display);
  font-size: .9375rem; font-weight: 600; line-height: 1.25;
  margin: .45rem 0 0; color: rgb(var(--c-ink-950));
}
.fs-jb-cert-b > a {
  color: inherit; text-decoration: none;
  display: inline-flex; align-items: center; gap: .3rem;
  border-bottom: 1px solid rgb(var(--c-accent));
}
.fs-jb-cert-w { font-size: .75rem; line-height: 1.45; color: rgb(var(--c-ink-700)); margin: .4rem 0 0; }

/* ══ favJobSteps — numbered worksheet stages ═══════════════════ */
.fs-jb-steps { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgb(var(--c-line)); }
.fs-jb-step {
  display: grid; grid-template-columns: 3.2rem 1fr 6rem;
  gap: .75rem; align-items: baseline;
  padding: .95rem clamp(.85rem, 2vw, 1.35rem);
  border-bottom: 1px solid rgb(var(--c-line));
}
.fs-jb-step-n {
  font-family: var(--font-display);
  font-size: 1.125rem; font-weight: 700;
  color: rgb(var(--c-accent));
  font-variant-numeric: tabular-nums;
}
.fs-jb-step-t,
.fs-jb-step-t > span {
  font-family: var(--font-display);
  font-size: 1.0625rem; font-weight: 600; line-height: 1.25;
  margin: 0; color: rgb(var(--c-ink-950));
}
.fs-jb-step-d { font-size: .8125rem; line-height: 1.5; color: rgb(var(--c-ink-700)); margin: .25rem 0 0; }
.fs-jb-step-m {
  display: inline-flex; align-items: center; gap: .3rem; justify-content: flex-end;
  font-size: .75rem; color: rgb(var(--c-ink-400));
  font-variant-numeric: tabular-nums;
}

/* ══ favJobSignoff — the completed sheet ═══════════════════════ */
.fs-jb-signoff {
  display: grid; grid-template-columns: 1.35fr 1fr;
  gap: clamp(1rem, 3vw, 2.25rem);
  padding: clamp(1.1rem, 2.6vw, 1.9rem) clamp(.85rem, 2vw, 1.35rem);
}
.fs-jb-h2,
.fs-jb-h2 > span {
  font-family: var(--font-display);
  font-size: var(--fs-type-h2, clamp(1.5rem, 3vw, 2.1rem));
  font-weight: 700; line-height: 1.12; letter-spacing: -.01em;
  margin: 0; color: rgb(var(--c-ink-950)); text-wrap: balance;
}
.fs-jb-signoff-l > .fs-jb-lede { padding: .7rem 0 0; }
.fs-jb-signoff-act { display: flex; gap: .7rem; flex-wrap: wrap; margin-top: 1.2rem; }
.fs-jb-signoff-facts { margin: 0; display: grid; gap: 0; align-content: start; }
.fs-jb-signoff-facts > div {
  display: flex; justify-content: space-between; gap: 1rem;
  padding: .5rem 0;
  border-bottom: 1px solid rgb(var(--c-line));
  font-size: .8125rem;
}
.fs-jb-signoff-facts > div:first-child { border-top: 1px solid rgb(var(--c-line)); }
.fs-jb-signoff-facts dt { margin: 0; color: rgb(var(--c-ink-400)); }
.fs-jb-signoff-facts dd {
  margin: 0; color: rgb(var(--c-ink-950)); font-weight: 700;
  font-variant-numeric: tabular-nums; text-align: right;
}
/* The signature strip, on a perforation. */
.fs-jb-sign {
  display: flex; align-items: baseline; gap: .9rem; flex-wrap: wrap;
  padding: .9rem clamp(.85rem, 2vw, 1.35rem);
  border-top: 2px dashed rgb(var(--c-line));
}
.fs-jb-sign-l {
  font-size: .5625rem; letter-spacing: .14em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-jb-sign-rule { flex: 1 1 8rem; border-bottom: 1px solid rgb(var(--c-ink-950)); min-width: 6rem; }
.fs-jb-sign-d { font-size: .6875rem; color: rgb(var(--c-ink-400)); font-variant-numeric: tabular-nums; }

/* ── Responsive ────────────────────────────────────────────────── */
@media (max-width:60rem) {
  .fs-jb-hero-grid { grid-template-columns: repeat(2, 1fr); }
  .fs-jb-hero-grid > .fs-jb-field:nth-child(2n) { border-right: 0; }
  .fs-jb-signoff { grid-template-columns: 1fr; }
}
@media (max-width: 40rem) {
  .fs-jb-step { grid-template-columns: 2.4rem 1fr; }
  .fs-jb-step-m { grid-column: 2; justify-content: flex-start; }
  .fs-jb-hero-foot { flex-direction: column; align-items: stretch; }
  .fs-jb-btn { justify-content: center; }
  .fs-jb-stamp { margin-left: 0; align-self: flex-start; }
}
@media (max-width: 26rem) {
  .fs-jb-hero-grid { grid-template-columns: 1fr; }
  .fs-jb-hero-grid > .fs-jb-field { border-right: 0; }
}

/* ── Motion ────────────────────────────────────────────────────── */
/* One grammar: a cell fills, like a highlighter passing over the pad. */
.fs-jb-anim .fs-jb-cell,
.fs-jb-anim .fs-jb-cert,
.fs-jb-anim .fs-jb-step {
  transition: background-color var(--fs-motion-fast, 170ms) var(--fs-ease-out, cubic-bezier(.2,.7,.3,1));
}
.fs-jb-anim .fs-jb-cell:hover,
.fs-jb-anim .fs-jb-cert:hover,
.fs-jb-anim .fs-jb-step:hover { background-color: rgb(var(--c-brand-50) / .6); }
@media (prefers-reduced-motion: reduce) {
  .fs-jb-anim .fs-jb-cell,
  .fs-jb-anim .fs-jb-cert,
  .fs-jb-anim .fs-jb-step { transition: none; }
}

/* ══ favJobFooter — the customer copy of the job sheet ═════════ */
.fs-jb-ft{container-type:inline-size;padding:48px clamp(1rem,4vw,2.5rem) 36px;background:rgb(var(--c-paper-soft))}
.fs-jb-ft-in{max-width:var(--fs-layout-max,72rem);margin-inline:auto}
.fs-jb-ft-sheet{background:rgb(var(--c-paper));border:2px solid rgb(var(--c-ink-950))}
.fs-jb-ft-bar{
  display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  padding:.55rem clamp(.85rem,2vw,1.35rem);
  background:rgb(var(--c-ink-950));color:rgb(var(--c-paper));
}
.fs-jb-ft-bar-t{
  font-family:var(--font-display);font-size:.8125rem;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;
}
.fs-jb-ft-bar-r{
  font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;
  color:rgb(var(--c-paper) / .72);
}
.fs-jb-ft-fields{
  display:grid;grid-template-columns:1fr 1.7fr 1fr .6fr;
  border-bottom:1px solid rgb(var(--c-line));
}
.fs-jb-ft-field{position:relative;min-width:0;padding:28px 18px 14px;border-right:1px solid rgb(var(--c-line))}
.fs-jb-ft-field:last-child{border-right:0}
.fs-jb-ft-fl{
  position:absolute;top:.4rem;left:.9rem;
  font-size:.5625rem;letter-spacing:.14em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-jb-ft-fv{
  font-family:var(--font-display);font-weight:600;font-size:18px;line-height:1.3;
  font-variant-numeric:tabular-nums;color:rgb(var(--c-ink-950));margin:0;
}
.fs-jb-ft-cols{display:grid;grid-template-columns:1fr 1.15fr 1.1fr}
.fs-jb-ft-col{padding:20px 18px 22px;border-right:1px solid rgb(var(--c-line))}
.fs-jb-ft-col:last-child{border-right:0}
.fs-jb-ft-col+.fs-jb-ft-col{border-left:0}
.fs-jb-ft-h{
  margin:0 0 10px;padding-bottom:9px;border-bottom:1px solid rgb(var(--c-line));
  font-family:var(--font-display);font-weight:700;font-size:12.5px;line-height:1;
  letter-spacing:.18em;text-transform:uppercase;color:rgb(var(--c-ink-950));
}
.fs-jb-ft-list{list-style:none;margin:0;padding:0}
.fs-jb-ft-li{padding-block:5px;font-size:14.5px;color:rgb(var(--c-ink-700))}
.fs-jb-ft-link{color:rgb(var(--c-ink-950));text-decoration:none}
.fs-jb-ft-link:hover{text-decoration:underline}
.fs-jb-ft-p{margin:0;font-size:14.5px;color:rgb(var(--c-ink-950))}
.fs-jb-ft-p.fs-jb-ft-note{margin-top:8px;font-size:13.5px;color:rgb(var(--c-ink-700))}
.fs-jb-ft-certs{list-style:none;margin:0;padding:0}
.fs-jb-ft-cert{
  display:flex;flex-direction:column;align-items:flex-start;gap:3px;
  padding-block:8px;border-bottom:1px solid rgb(var(--c-line));
}
.fs-jb-ft-cert:last-child{border-bottom:0}
.fs-jb-ft-cert-no{
  font-family:var(--font-display);font-weight:700;font-size:21px;line-height:1;
  color:rgb(var(--c-ink-950));font-variant-numeric:tabular-nums;letter-spacing:.02em;
}
.fs-jb-ft-cert-body{font-size:13.5px;color:rgb(var(--c-ink-700))}
.fs-jb-ft-sign{
  display:flex;align-items:baseline;gap:.9rem;flex-wrap:wrap;
  padding:.9rem clamp(.85rem,2vw,1.35rem);
  border-top:2px dashed rgb(var(--c-line));
}
.fs-jb-ft-sign-l{
  font-size:.5625rem;letter-spacing:.14em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-jb-ft-sign-rule{flex:1 1 8rem;border-bottom:1px solid rgb(var(--c-ink-950));min-width:6rem}
.fs-jb-ft-sign-m{font-size:.6875rem;color:rgb(var(--c-ink-400))}
.fs-jb-ft-stamp{
  margin-left:auto;background:rgb(var(--tp-stamp, var(--c-brand-600)));color:rgb(var(--c-paper));
  font-family:var(--font-display);font-weight:700;font-size:.75rem;letter-spacing:.12em;
  text-transform:uppercase;padding:.3rem .6rem;transform:rotate(-3deg);
}
.fs-jb-ft-legal{
  display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:14px;
  font-size:12.5px;color:rgb(var(--c-ink-700));
}
.fs-jb-ft-legal-t{color:inherit}
.fs-jb-ft-legal-a{color:inherit;text-decoration:none}
.fs-jb-ft-legal-a:hover{color:rgb(var(--c-ink-950))}

/* 48rem, chosen against the editor tablet canvas's measured footer
   content box (probe: 686px) — a margin of at least 24px either side
   of any real layout width. */
@container (max-width: 48rem){
  .fs-jb-ft-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-jb-ft-cols{grid-template-columns:1fr}
  .fs-jb-ft-col+.fs-jb-ft-col{border-left:0;border-top:1px solid rgb(var(--c-ink-950) / .16)}
  .fs-jb-ft-sign{flex-wrap:wrap}
}

/* ── Wireframe ─────────────────────────────────────────────────── */
[data-render="wireframe"] .fs-jb,
.fs-jb-wire { background: #fff !important; color: #111 !important; }
[data-render="wireframe"] .fs-jb .fs-jb-sheet { background: #fff !important; border-color: #111 !important; }
[data-render="wireframe"] .fs-jb .fs-jb-bar { background: #111 !important; }
[data-render="wireframe"] .fs-jb .fs-jb-stamp { border-color: #111 !important; color: #111 !important; }


/* ── The board ─────────────────────────────────────────────────── */
.fs-st {
  position: relative;
  isolation: isolate;
  background: rgb(var(--c-paper));
  color: rgb(var(--c-ink-950));
}
.fs-st * { box-sizing: border-box; }
.fs-st-shell {
  max-width:var(--fs-layout-max,74rem);
  margin-inline: auto;
  padding: var(--fs-space-section, clamp(2.5rem, 5vw, 4rem)) clamp(1rem, 4vw, 2.5rem);
}
.fs-st-spec-section, .fs-st-build-section { background: rgb(var(--c-paper-soft)); }

/* Two soft-ground sections stacked put two lots of section padding back
   to back, which reads as a hole rather than as air. Where the ground
   changes the same gap reads as intended, so only this join closes. */
:is([data-fs-blocktype='favStoneSpec'], [data-fs-blocktype='favStoneBuild'])
  + :is([data-fs-blocktype='favStoneSpec'], [data-fs-blocktype='favStoneBuild'])
  .fs-st-shell { padding-top: 0; }

.fs-st-board {
  position: relative;
  border: 1px solid rgb(var(--c-ink-950) / .22);
  border-radius: var(--fs-radius-card, 2px);
  background: rgb(var(--c-paper-soft));
  padding: clamp(1.5rem, 4vw, 3rem);
}
/* The screws that hold a real board together. Four on the board, two on
   each tile — enough to read as fixings, not so many it becomes a
   pattern. */
.fs-st-fix {
  position: absolute; width: .5rem; height: .5rem; border-radius: 50%;
  background: rgb(var(--c-ink-950) / .30);
  box-shadow: inset 0 0 0 1px rgb(var(--c-paper) / .55);
}
.fs-st-fix.is-tl { top: .6rem; left: .6rem; }
.fs-st-fix.is-tr { top: .6rem; right: .6rem; }
.fs-st-fix.is-bl { bottom: .6rem; left: .6rem; }
.fs-st-fix.is-br { bottom: .6rem; right: .6rem; }

/* ── Type ──────────────────────────────────────────────────────── */
.fs-st-eyebrow {
  display: block;
  font-family: var(--font-sans);
  font-size: .7rem; font-weight: 700;
  letter-spacing: .18em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-st-h1 {
  font-family: var(--font-display);
  margin: .6rem 0 0;
  font-size: clamp(2rem, 5.4vw, 3.6rem);
  line-height: 1.02; letter-spacing: -.015em; font-weight: 700;
  color: rgb(var(--c-ink-950)); text-wrap: balance; max-width: 20ch;
}
.fs-st-h2 {
  font-family: var(--font-display);
  margin: .5rem 0 0;
  font-size: clamp(1.4rem, 2.9vw, 2.1rem);
  line-height: 1.1; letter-spacing: -.012em; font-weight: 700;
  color: rgb(var(--c-ink-950)); text-wrap: balance; max-width: 26ch;
}
.fs-st-lede {
  margin: .75rem 0 0;
  font-size: var(--fs-type-body, 1rem); line-height: 1.6;
  color: rgb(var(--c-ink-700)); max-width: 56ch;
}
.fs-st-head { margin-bottom: clamp(1.5rem, 3vw, 2.25rem); }
.fs-st-note {
  margin-top: 1.25rem; max-width: 62ch;
  font-size: var(--fs-type-caption, .8125rem); line-height: 1.6;
  color: rgb(var(--c-ink-400));
}

/* ── Actions ───────────────────────────────────────────────────── */
.fs-st-acts { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.5rem; }
.fs-st-btn {
  display: inline-flex; align-items: center; gap: .45rem;
  padding: .7rem 1.25rem;
  border: 1px solid transparent;
  border-radius: var(--fs-radius-control, 2px);
  background: rgb(var(--c-brand-600));
  color: var(--fs-on-brand, rgb(var(--c-paper)));
  font-family: var(--font-sans);
  font-size: .8rem; font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase; text-decoration: none;
  transition: opacity var(--fs-motion-fast, 170ms) var(--fs-ease-out, ease);
}
.fs-st-btn:hover { opacity: .88; }
.fs-st-btn-ghost {
  background: transparent;
  border-color: rgb(var(--c-ink-950) / .35);
  color: rgb(var(--c-ink-950));
}

/* ── The drawn materials ───────────────────────────────────────── */
/* Each tile is layered gradients over the theme's ink, so it reads as
   the material in ANY palette. A photograph could not do that, and a
   photograph is also what this theme deliberately does not have. */
.fs-st-tile {
  position: relative;
  aspect-ratio: 1 / 1;
  border: 1px solid rgb(var(--c-ink-950) / .30);
  border-radius: var(--fs-radius-control, 2px);
  overflow: hidden;
}
/* Each material carries its OWN base tone as well as its own pattern.
   A single shared base with only the overlay changing produced six
   near-identical pale squares — limestone, granite and porcelain were
   indistinguishable at tile size, which defeats the entire block.
   Slate is genuinely dark, limestone genuinely light, and the drawing
   has to say so before the pattern is even legible. */
.fs-st-tile.is-granite {
  background-color: rgb(var(--c-ink-950) / .34);
  background-image:
    radial-gradient(circle at 22% 28%, rgb(var(--c-ink-950) / .55) 0 1.6px, transparent 1.9px),
    radial-gradient(circle at 68% 62%, rgb(var(--c-paper) / .60) 0 1.8px, transparent 2.1px),
    radial-gradient(circle at 44% 84%, rgb(var(--c-paper) / .42) 0 1.5px, transparent 1.8px),
    radial-gradient(circle at 86% 16%, rgb(var(--c-ink-950) / .45) 0 1.3px, transparent 1.6px);
  background-size: 13px 13px, 19px 19px, 17px 17px, 11px 11px;
}
.fs-st-tile.is-limestone {
  background-color: rgb(var(--c-ink-950) / .15);
  background-image:
    repeating-linear-gradient(177deg,
      rgb(var(--c-ink-950) / .13) 0 3px,
      transparent 3px 14px),
    radial-gradient(circle at 30% 40%, rgb(var(--c-ink-950) / .20) 0 2.4px, transparent 2.8px),
    radial-gradient(circle at 74% 70%, rgb(var(--c-paper) / .55) 0 3px, transparent 3.4px);
  background-size: auto, 27px 27px, 34px 34px;
}
.fs-st-tile.is-slate {
  background-color: rgb(var(--c-ink-950) / .62);
  background-image:
    repeating-linear-gradient(64deg,
      rgb(var(--c-paper) / .16) 0 2px,
      transparent 2px 9px),
    linear-gradient(150deg, rgb(var(--c-ink-950) / .45), transparent 68%);
}
.fs-st-tile.is-setts {
  background-color: rgb(var(--c-ink-950) / .42);
  background-image:
    linear-gradient(rgb(var(--c-ink-950) / .70) 2px, transparent 2px),
    linear-gradient(90deg, rgb(var(--c-ink-950) / .70) 2px, transparent 2px),
    radial-gradient(circle at 50% 42%, rgb(var(--c-paper) / .30) 0 5px, transparent 6px);
  background-size: 26px 20px, 26px 20px, 26px 20px;
  background-position: 0 0, 13px 0, 0 0;
}
.fs-st-tile.is-porcelain {
  background-color: rgb(var(--c-ink-950) / .11);
  background-image:
    repeating-linear-gradient(92deg,
      rgb(var(--c-ink-950) / .10) 0 1px,
      transparent 1px 19px),
    linear-gradient(202deg, rgb(var(--c-paper) / .75), transparent 58%);
}
.fs-st-tile.is-gravel {
  background-color: rgb(var(--c-ink-950) / .30);
  background-image:
    radial-gradient(circle at 18% 22%, rgb(var(--c-ink-950) / .55) 0 2.6px, transparent 3px),
    radial-gradient(circle at 62% 48%, rgb(var(--c-paper) / .55) 0 3px, transparent 3.4px),
    radial-gradient(circle at 38% 78%, rgb(var(--c-paper) / .38) 0 2.6px, transparent 3px),
    radial-gradient(circle at 86% 84%, rgb(var(--c-ink-950) / .45) 0 2.4px, transparent 2.8px);
  background-size: 15px 15px, 21px 21px, 18px 18px, 25px 25px;
}

/* ── The board grid ────────────────────────────────────────────── */
.fs-st-board-head { position: relative; max-width: min(46rem, var(--fs-layout-clamp, 46rem)); }
.fs-st-board-grid {
  display: grid; gap: clamp(.85rem, 2vw, 1.4rem);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: clamp(1.75rem, 4vw, 2.75rem);
}
@media (min-width: 640px) {
  .fs-st-board-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .fs-st-board-grid[data-n='5'], .fs-st-board-grid[data-n='6'] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.fs-st-sample { margin: 0; }
.fs-st-plate {
  display: block;
  margin-top: .5rem;
  padding: .4rem .55rem;
  border: 1px solid rgb(var(--c-ink-950) / .20);
  border-radius: var(--fs-radius-control, 2px);
  background: rgb(var(--c-paper));
}
.fs-st-plate-n {
  display: block;
  font-family: var(--font-sans);
  font-size: .68rem; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase;
  color: rgb(var(--c-ink-950)); line-height: 1.3;
}
.fs-st-plate-m {
  display: block; margin-top: .15rem;
  font-size: .68rem; letter-spacing: .04em;
  color: rgb(var(--c-ink-400)); font-variant-numeric: tabular-nums;
}

/* ── The spec schedule ─────────────────────────────────────────── */
.fs-st-spec { border-top: 2px solid rgb(var(--c-ink-950)); }
.fs-st-spec-hd, .fs-st-spec-row {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.2fr) minmax(0, .7fr) minmax(0, 1.1fr) minmax(0, .6fr);
  gap: .75rem;
  align-items: baseline;
  padding: .7rem .25rem;
  border-bottom: 1px solid rgb(var(--c-line));
}
.fs-st-spec-hd {
  font-family: var(--font-sans);
  font-size: .66rem; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-st-spec-name {
  display: flex; align-items: center; gap: .55rem;
  font-weight: 700; color: rgb(var(--c-ink-950));
  font-size: var(--fs-type-body, .95rem);
}
.fs-st-spec-c {
  font-size: var(--fs-type-caption, .8125rem);
  color: rgb(var(--c-ink-700));
}
.fs-st-spec-p {
  font-family: var(--font-display);
  font-size: 1.15rem; font-weight: 700;
  color: rgb(var(--c-ink-950));
  font-variant-numeric: tabular-nums; text-align: right;
}
.fs-st-num { text-align: right; }
/* The material, at the size a bullet would have been. */
.fs-st-chip {
  flex: none; width: 1.15rem; height: 1.15rem;
  border: 1px solid rgb(var(--c-ink-950) / .32);
  border-radius: 1px;
}
.fs-st-chip.is-granite { background-color: rgb(var(--c-ink-950) / .34); background-image: radial-gradient(circle at 30% 30%, rgb(var(--c-paper) / .6) 0 1.1px, transparent 1.3px); background-size: 5px 5px; }
.fs-st-chip.is-limestone { background-color: rgb(var(--c-ink-950) / .15); background-image: repeating-linear-gradient(177deg, rgb(var(--c-ink-950) / .16) 0 1px, transparent 1px 4px); }
.fs-st-chip.is-slate { background-color: rgb(var(--c-ink-950) / .62); background-image: repeating-linear-gradient(64deg, rgb(var(--c-paper) / .2) 0 1px, transparent 1px 4px); }
.fs-st-chip.is-setts { background-color: rgb(var(--c-ink-950) / .42); background-image: linear-gradient(rgb(var(--c-ink-950) / .7) 1px, transparent 1px), linear-gradient(90deg, rgb(var(--c-ink-950) / .7) 1px, transparent 1px); background-size: 6px 5px; }
.fs-st-chip.is-porcelain { background-color: rgb(var(--c-ink-950) / .11); background-image: linear-gradient(202deg, rgb(var(--c-paper) / .8), transparent 60%); }
.fs-st-chip.is-gravel { background-color: rgb(var(--c-ink-950) / .30); background-image: radial-gradient(circle at 40% 40%, rgb(var(--c-paper) / .5) 0 1.5px, transparent 1.8px); background-size: 6px 6px; }

@media (max-width: 720px) {
  .fs-st-spec-hd { display: none; }
  .fs-st-spec-row {
    grid-template-columns: minmax(0, 1fr) auto;
    row-gap: .2rem;
  }
  .fs-st-spec-name { grid-column: 1; }
  .fs-st-spec-p { grid-column: 2; grid-row: 1; }
  .fs-st-spec-c { grid-column: 1 / -1; }
}

/* ── Weathering ────────────────────────────────────────────────── */
.fs-st-weather {
  display: grid; gap: clamp(1rem, 2.5vw, 1.75rem);
  grid-template-columns: repeat(auto-fit, minmax(min(15rem, 100%), 1fr));
}
.fs-st-age { margin: 0; }
/* One drawn tile, three ages: the overlay lightens and greys with
   data-age, which is what four winters actually do to limestone. */
.fs-st-aged::after {
  content: ''; position: absolute; inset: 0;
  background: rgb(var(--c-paper) / var(--fs-st-fade, 0));
}
.fs-st-aged[data-age='1'] { --fs-st-fade: 0; }
.fs-st-aged[data-age='2'] { --fs-st-fade: .30; }
.fs-st-aged[data-age='3'] { --fs-st-fade: .52; }
.fs-st-aged[data-age='4'] { --fs-st-fade: .66; }
.fs-st-age figcaption { display: block; margin-top: .7rem; }
.fs-st-age-t {
  display: block;
  font-family: var(--font-display);
  font-size: 1.05rem; font-weight: 700; color: rgb(var(--c-ink-950));
}
.fs-st-age-b {
  display: block; margin-top: .2rem;
  font-size: var(--fs-type-caption, .8125rem); line-height: 1.6;
  color: rgb(var(--c-ink-700));
}

/* ── The section drawing ───────────────────────────────────────── */
.fs-st-build {
  display: grid; gap: clamp(1rem, 2.5vw, 1.6rem);
  grid-template-columns: repeat(auto-fit, minmax(min(16rem, 100%), 1fr));
}
.fs-st-case {
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-card, 2px);
  background: rgb(var(--c-paper));
  padding: 1rem;
}
.fs-st-case-hd {
  display: flex; align-items: baseline; justify-content: space-between; gap: .75rem;
}
.fs-st-case-u {
  font-family: var(--font-sans);
  font-size: .68rem; font-weight: 700;
  letter-spacing: .11em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-st-case-d {
  font-family: var(--font-display);
  font-size: 1.35rem; font-weight: 700; color: rgb(var(--c-ink-950));
  font-variant-numeric: tabular-nums;
}
/* The bar is the section: a thin surface course on top of a sub-base
   drawn to its real depth relative to the deepest case on the page. */
.fs-st-sect {
  position: relative;
  height: 7rem; margin: .7rem 0 .6rem;
  border: 1px solid rgb(var(--c-ink-950) / .22);
  border-radius: 1px;
  background: rgb(var(--c-ink-950) / .04);
  overflow: hidden;
}
.fs-st-sect-top {
  position: absolute; inset: 0 0 auto 0; height: .85rem;
  background: rgb(var(--c-brand-600));
}
.fs-st-sect-base {
  position: absolute; inset: .85rem 0 auto 0;
  height: var(--fs-st-depth, 40%);
  background-color: rgb(var(--c-ink-950) / .13);
  background-image:
    radial-gradient(circle at 25% 30%, rgb(var(--c-ink-950) / .30) 0 2px, transparent 2.4px),
    radial-gradient(circle at 70% 65%, rgb(var(--c-ink-950) / .24) 0 2.4px, transparent 2.8px);
  background-size: 14px 14px, 20px 20px;
}
.fs-st-sect-l {
  position: absolute; left: .55rem; bottom: .45rem;
  font-family: var(--font-sans);
  font-size: .64rem; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase;
  color: rgb(var(--c-ink-700));
}
.fs-st-case-m {
  font-size: var(--fs-type-caption, .8125rem); line-height: 1.6;
  color: rgb(var(--c-ink-700));
}

/* ── The take-off docket ───────────────────────────────────────── */
.fs-st-docket {
  border: 1px solid rgb(var(--c-ink-950) / .24);
  border-radius: var(--fs-radius-card, 2px);
  background: rgb(var(--c-paper-soft));
  overflow: hidden;
}
.fs-st-docket-bar {
  display: flex; align-items: baseline; justify-content: space-between; gap: 1rem;
  padding: .55rem clamp(.9rem, 2vw, 1.4rem);
  background: rgb(var(--c-ink-950));
  color: rgb(var(--c-paper));
}
.fs-st-docket-t, .fs-st-docket-r {
  font-family: var(--font-sans);
  font-size: .68rem; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase;
}
.fs-st-docket-r { opacity: .72; }
.fs-st-docket-body {
  display: grid; gap: clamp(1.25rem, 3vw, 2.5rem);
  padding: clamp(1.25rem, 3vw, 2.25rem);
}
@media (min-width: 820px) {
  .fs-st-docket-body { grid-template-columns: minmax(0, 1.2fr) minmax(0, .9fr); align-items: start; }
}
.fs-st-take { margin: 0; display: block; }
.fs-st-take > div {
  display: flex; align-items: baseline; justify-content: space-between; gap: 1rem;
  padding: .55rem 0;
  border-bottom: 1px solid rgb(var(--c-line));
}
.fs-st-take > div:last-child {
  border-bottom: 0; border-top: 2px solid rgb(var(--c-ink-950));
  margin-top: .3rem; padding-top: .7rem;
}
.fs-st-take dt {
  font-size: var(--fs-type-caption, .8125rem);
  color: rgb(var(--c-ink-700));
}
.fs-st-take dd {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1rem; font-weight: 700;
  color: rgb(var(--c-ink-950));
  font-variant-numeric: tabular-nums; text-align: right;
}
.fs-st-take > div:last-child dd { font-size: 1.3rem; }
.fs-st-docket-foot {
  display: flex; align-items: center; gap: .75rem;
  padding: .8rem clamp(.9rem, 2vw, 1.4rem);
  border-top: 1px dashed rgb(var(--c-ink-950) / .35);
}
.fs-st-docket-l, .fs-st-docket-m {
  font-family: var(--font-sans);
  font-size: .64rem; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-st-rule { flex: 1 1 4rem; border-bottom: 1px solid rgb(var(--c-ink-950) / .4); min-width: 3rem; }

/* ── favStoneFooter (theme-chrome batch 6, Northstone) ─────────────
   The yard's own board. fs-st-ft: the full-bleed band on the page
   ground under a soft rule (named container); fs-st-ft-in: the content
   box, which narrows with the Layout (named container). The board's four
   screws are painted as backgrounds; the chips are this family's own
   .fs-st-chip.is-*, sized down to the design's 11px. */
.fs-st-ft{container-type:inline-size;container-name:fs-st-ft;padding:0 clamp(1rem,4vw,2.5rem);background:rgb(var(--c-paper));border-top:1px solid var(--st-ft-rule);--st-ft-edge:rgb(var(--c-ink-950) / .22);--st-ft-plate-edge:rgb(var(--c-ink-950) / .2);--st-ft-rule:rgb(var(--c-ink-950) / .16);--st-ft-note:color-mix(in srgb, rgb(var(--c-ink-950)) 76%, rgb(var(--c-paper)));--st-ft-fix:color-mix(in srgb, rgb(var(--c-ink-950)) 34%, rgb(var(--c-paper-soft)));--st-ft-fix-rim:color-mix(in srgb, rgb(var(--c-ink-950)) 12%, rgb(var(--c-paper-soft)))}
.fs-st-ft:is(.dark *):not(.fs-preview-light *){--st-ft-edge:rgb(var(--c-ink-950) / .24);--st-ft-rule:rgb(var(--c-ink-950) / .18)}
.fs-st-ft-in{container-type:inline-size;container-name:fs-st-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:48px 34px}
.fs-st-ft-board{padding:28px 32px 30px;background:radial-gradient(circle at 12px 12px,var(--st-ft-fix) 0 2.7px,var(--st-ft-fix-rim) 3.1px 3.7px,transparent 4.2px),radial-gradient(circle at calc(100% - 12px) 12px,var(--st-ft-fix) 0 2.7px,var(--st-ft-fix-rim) 3.1px 3.7px,transparent 4.2px),radial-gradient(circle at 12px calc(100% - 12px),var(--st-ft-fix) 0 2.7px,var(--st-ft-fix-rim) 3.1px 3.7px,transparent 4.2px),radial-gradient(circle at calc(100% - 12px) calc(100% - 12px),var(--st-ft-fix) 0 2.7px,var(--st-ft-fix-rim) 3.1px 3.7px,transparent 4.2px),rgb(var(--c-paper-soft));border:1px solid var(--st-ft-edge)}
.fs-st-ft-chip{flex:none;width:11px;height:11px}
.fs-st-ft-plate{display:flex;flex-wrap:wrap;align-items:center;gap:8px 28px;padding:15px 20px;background:rgb(var(--c-paper));border:1px solid var(--st-ft-plate-edge)}
.fs-st-ft-id{display:grid;gap:4px;min-width:0}
.fs-st-ft-name{margin:0;font-family:var(--font-display, Rokkitt, 'Roboto Slab', Georgia, serif);font-weight:700;font-size:27px;line-height:1.05;color:rgb(var(--c-ink-950))}
.fs-st-ft-meta{margin:0;font-family:var(--font-sans);font-weight:700;font-size:11px;line-height:1.35;letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--c-ink-700))}
.fs-st-ft-blurb{margin:0;flex:1 1 16rem;max-width:36ch;font-size:13.5px;line-height:1.5;color:var(--st-ft-note)}
.fs-st-ft-tel{margin-left:auto;font-family:var(--font-display, Rokkitt, 'Roboto Slab', Georgia, serif);font-weight:700;font-size:22px;line-height:1;color:rgb(var(--c-ink-950));white-space:nowrap;font-variant-numeric:tabular-nums;text-decoration:none}
.fs-st-ft-cols{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr);gap:26px 36px;margin-top:26px}
.fs-st-ft-col{min-width:0}
.fs-st-ft-h{display:block;margin:0 0 14px;padding-bottom:9px;border-bottom:2px solid rgb(var(--c-ink-950));font-family:var(--font-sans);font-weight:700;font-size:11px;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--c-ink-700))}
.fs-st-ft-list{list-style:none;padding:0;margin:0}
.fs-st-ft-li{display:flex;align-items:center;gap:10px;padding-block:8px;border-bottom:1px solid var(--st-ft-rule);font-size:14.5px}
.fs-st-ft-link{color:rgb(var(--c-ink-950));text-decoration:none}
.fs-st-ft-link:hover{text-decoration:underline;text-underline-offset:3px}
.fs-st-ft-hrow{display:contents}
.fs-st-ft-more{margin:12px 0 0;display:flex;flex-wrap:wrap;gap:4px 16px;font-size:13.5px;color:var(--st-ft-note)}
.fs-st-ft-more-a{color:rgb(var(--c-ink-950));font-weight:600;text-decoration:none}
.fs-st-ft-more-a:hover{text-decoration:underline;text-underline-offset:3px}
.fs-st-ft-hours{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);font-size:14.5px;font-variant-numeric:tabular-nums}
.fs-st-ft-dt{padding:8px 16px 8px 0;border-bottom:1px solid var(--st-ft-rule);font-weight:700}
.fs-st-ft-dd{margin:0;padding-block:8px;border-bottom:1px solid var(--st-ft-rule)}
.fs-st-ft-p{margin:12px 0 0;max-width:40ch;font-size:13.5px;line-height:1.5;color:var(--st-ft-note)}
.fs-st-ft-certs{display:grid;gap:10px}
.fs-st-ft-cert{display:grid;gap:5px;min-width:0;padding:10px 13px 11px;background:rgb(var(--c-paper));border:1px solid var(--st-ft-plate-edge);color:rgb(var(--c-ink-950));text-decoration:none}
.fs-st-ft-cert-n{font-family:var(--font-sans);font-weight:700;font-size:10.5px;line-height:1.25;letter-spacing:.12em;text-transform:uppercase;color:rgb(var(--c-ink-700))}
.fs-st-ft-cert-v{font-family:var(--font-display, Rokkitt, 'Roboto Slab', Georgia, serif);font-weight:700;font-size:20px;line-height:1;font-variant-numeric:tabular-nums}
.fs-st-ft-cert:hover{border-color:rgb(var(--c-ink-950))}
.fs-st-ft-legal{margin-top:16px;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:12.5px;color:var(--st-ft-note)}
.fs-st-ft-legal-t{margin-right:auto}
.fs-st-ft-reg,.fs-st-ft-legal-a{color:rgb(var(--c-ink-950));text-decoration:none}
.fs-st-ft-reg:hover,.fs-st-ft-legal-a:hover{text-decoration:underline}
@container fs-st-ft (max-width: 40rem){
  .fs-st-ft-in{padding-block:34px 24px}
}
@container fs-st-ft-in (max-width: 56rem){
  .fs-st-ft-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-st-ft-col:nth-child(3){grid-column:1/-1}
  .fs-st-ft-certs{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@container fs-st-ft (max-width: 48rem){
  .fs-st-ft-board{padding:24px 22px 24px}
  .fs-st-ft-cols{grid-template-columns:minmax(0,1fr);gap:24px}
}
@container fs-st-ft (max-width: 30rem){
  .fs-st-ft-board{padding:22px 18px}
  .fs-st-ft-plate{padding:14px 16px}
  .fs-st-ft-tel{margin-left:0}
  .fs-st-ft-certs{grid-template-columns:minmax(0,1fr)}
}

/* ── Wireframe ─────────────────────────────────────────────────── */
[data-render="wireframe"] .fs-st .fs-st-tile,
[data-render="wireframe"] .fs-st .fs-st-chip,
[data-render="wireframe"] .fs-st .fs-st-sect-base { background-image: none !important; }
[data-render="wireframe"] .fs-st .fs-st-docket-bar { background: #111 !important; }


/* ── The card ──────────────────────────────────────────────────── */
.fs-sl {
  position: relative;
  isolation: isolate;
  background: rgb(var(--c-paper));
  color: rgb(var(--c-ink-950));
}
.fs-sl * { box-sizing: border-box; }
.fs-sl-shell {
  max-width:var(--fs-layout-max,68rem);
  margin-inline: auto;
  padding: var(--fs-space-section, clamp(2.5rem, 5vw, 4rem)) clamp(1rem, 4vw, 2.5rem);
}
.fs-sl-tariff-section, .fs-sl-column-section { background: rgb(var(--c-paper-soft)); }
/* R3 (theme-chrome batch 1, Task 10): each of these three roots is its
   own inline-size container so the price matrix, the formula rows and
   the completed-card columns collapse correctly inside the editor's
   simulated mobile/tablet canvas, where a viewport @media never fires
   (it only resizes a div, not the window) — see the @container blocks
   below, which replace this theme's old @media(max-width/min-width)
   rules at the same breakpoints, in rem. */
.fs-sl-tariff-section, .fs-sl-formula-section, .fs-sl-signoff-section { container-type: inline-size; }

/* Two soft-ground sections back to back stack two lots of section
   padding, which reads as a hole rather than as air. */
:is([data-fs-blocktype='favSalonTariff'], [data-fs-blocktype='favSalonColumn'])
  + :is([data-fs-blocktype='favSalonTariff'], [data-fs-blocktype='favSalonColumn'])
  .fs-sl-shell { padding-top: 0; }

.fs-sl-card {
  position: relative;
  margin-top: 1.1rem;             /* room for the tab to sit above it */
  padding: clamp(1.5rem, 4vw, 2.75rem);
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-card, 1rem);
  background: rgb(var(--c-paper-soft));
  box-shadow: var(--fs-shadow-card, none);
}
.fs-sl-card.is-flat { background: rgb(var(--c-paper)); }
.fs-sl-card.is-done { background: rgb(var(--c-paper-soft)); }

/* The tab. A filing tab overlaps the top edge of its card — that
   overlap is the whole signal, so it is offset out of the card rather
   than tucked inside it. */
.fs-sl-tab {
  position: absolute; top: -1.1rem; left: clamp(1.25rem, 4vw, 2.5rem);
  display: inline-block;
  padding: .3rem .95rem;
  border: 1px solid rgb(var(--c-line));
  border-bottom: 0;
  border-radius: var(--fs-radius-control, .5rem) var(--fs-radius-control, .5rem) 0 0;
  /* theme-chrome batch 1 (Task 10): raw brand behind paper text fails AA
     on some palettes (e.g. Rose Nude, 4.1:1) — deep brand, the same fill
     the header's maneTabs current tab and CTA use (--ms-deep, defined in
     mane-studio-chrome-styles.ts), clears it. */
  background: var(--ms-deep, color-mix(in srgb, rgb(var(--c-brand-600)) 78%, rgb(var(--c-ink-950))));
  color: var(--fs-on-brand, rgb(var(--c-paper)));
  font-family: var(--font-sans);
  font-size: .64rem; font-weight: 700;
  letter-spacing: .16em; text-transform: uppercase;
}

/* ── Type ──────────────────────────────────────────────────────── */
.fs-sl-eyebrow {
  display: block;
  font-family: var(--font-sans);
  font-size: .68rem; font-weight: 700;
  letter-spacing: .18em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-sl-h1 {
  font-family: var(--font-display);
  margin: 0;
  font-size: clamp(1.9rem, 4.8vw, 3.15rem);
  line-height: 1.08; letter-spacing: -.02em; font-weight: 700;
  color: rgb(var(--c-ink-950)); text-wrap: balance; max-width: 21ch;
}
.fs-sl-h2 {
  font-family: var(--font-display);
  margin: .45rem 0 0;
  font-size: clamp(1.35rem, 2.8vw, 2rem);
  line-height: 1.12; letter-spacing: -.015em; font-weight: 700;
  color: rgb(var(--c-ink-950)); text-wrap: balance; max-width: 26ch;
}
.fs-sl-lede {
  margin: .8rem 0 0;
  font-size: var(--fs-type-body, 1rem); line-height: 1.65;
  color: rgb(var(--c-ink-700)); max-width: 56ch;
}
.fs-sl-head { margin-bottom: clamp(1.4rem, 3vw, 2rem); }
.fs-sl-note {
  margin-top: 1.35rem; max-width: 62ch;
  font-size: var(--fs-type-caption, .8125rem); line-height: 1.65;
  color: rgb(var(--c-ink-400));
}

/* ── Actions ───────────────────────────────────────────────────── */
.fs-sl-acts { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.6rem; }
.fs-sl-btn {
  display: inline-flex; align-items: center; gap: .45rem;
  padding: .72rem 1.4rem;
  border: 1px solid transparent;
  border-radius: var(--fs-radius-pill, 999px);
  /* theme-chrome batch 1 (Task 10): same AA fix as .fs-sl-tab above —
     the "Book a chair" / "Book online" button. */
  background: var(--ms-deep, color-mix(in srgb, rgb(var(--c-brand-600)) 78%, rgb(var(--c-ink-950))));
  color: var(--fs-on-brand, rgb(var(--c-paper)));
  font-family: var(--font-sans);
  font-size: .8rem; font-weight: 700;
  letter-spacing: .05em; text-decoration: none;
  transition: opacity var(--fs-motion-fast, 170ms) var(--fs-ease-out, ease);
}
.fs-sl-btn:hover { opacity: .88; }
.fs-sl-btn-ghost {
  background: transparent;
  border-color: rgb(var(--c-ink-950) / .3);
  color: rgb(var(--c-ink-950));
}

/* ── The card head ─────────────────────────────────────────────── */
.fs-sl-card-meta {
  display: flex; flex-wrap: wrap; gap: .35rem 2rem;
  padding-bottom: 1.1rem;
  border-bottom: 1px solid rgb(var(--c-line));
}
.fs-sl-mrow { display: flex; align-items: baseline; gap: .5rem; }
.fs-sl-mk {
  font-family: var(--font-sans);
  font-size: .62rem; font-weight: 700;
  letter-spacing: .15em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-sl-mv {
  font-size: var(--fs-type-caption, .8125rem); font-weight: 600;
  color: rgb(var(--c-ink-950));
}

/* The ruled writing area. The rules run BEHIND the type at the card's
   own line height, which is what makes it read as written on rather
   than set into. */
.fs-sl-ruled {
  position: relative;
  padding: clamp(1.25rem, 3vw, 2rem) 0 clamp(1rem, 2.5vw, 1.5rem);
}
.fs-sl-ruled::before {
  content: ''; position: absolute; inset: 0;
  background-image: repeating-linear-gradient(
    to bottom,
    transparent 0 calc(1.75rem - 1px),
    rgb(var(--c-ink-950) / .07) calc(1.75rem - 1px) 1.75rem
  );
  pointer-events: none;
}
.fs-sl-ruled > * { position: relative; }

/* ── The shade ladder ──────────────────────────────────────────── */
/* Six steps of the theme's brand hue: the deep end mixed toward ink,
   the light end mixed toward paper. color-mix keeps every step on the
   palette, so the ladder is right in a warm theme and a cool one. */
.fs-sl-ladder {
  display: flex; align-items: center; flex-wrap: wrap; gap: .6rem 1rem;
  padding-top: 1.1rem;
  border-top: 1px solid rgb(var(--c-line));
}
.fs-sl-ladder-l, .fs-sl-ladder-r {
  font-family: var(--font-sans);
  font-size: .62rem; font-weight: 700;
  letter-spacing: .15em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-sl-discs { display: inline-flex; gap: .4rem; }
.fs-sl-shade { display: inline-flex; flex-direction: column; align-items: center; gap: .3rem; }
.fs-sl-disc {
  display: block; width: 1.6rem; height: 1.6rem;
  border-radius: 50%;
  border: 1px solid rgb(var(--c-ink-950) / .18);
  background: rgb(var(--c-brand-600));
}
.fs-sl-disc.is-l1 { background: color-mix(in srgb, rgb(var(--c-brand-600)) 55%, rgb(var(--c-ink-950))); }
.fs-sl-disc.is-l2 { background: color-mix(in srgb, rgb(var(--c-brand-600)) 78%, rgb(var(--c-ink-950))); }
.fs-sl-disc.is-l3 { background: rgb(var(--c-brand-600)); }
.fs-sl-disc.is-l4 { background: color-mix(in srgb, rgb(var(--c-brand-600)) 72%, rgb(var(--c-paper))); }
.fs-sl-disc.is-l5 { background: color-mix(in srgb, rgb(var(--c-brand-600)) 46%, rgb(var(--c-paper))); }
.fs-sl-disc.is-l6 { background: color-mix(in srgb, rgb(var(--c-brand-600)) 24%, rgb(var(--c-paper))); }
.fs-sl-disc-l {
  font-size: .6rem; font-weight: 700; letter-spacing: .06em;
  color: rgb(var(--c-ink-400)); font-variant-numeric: tabular-nums;
}

/* ── The price matrix ──────────────────────────────────────────── */
.fs-sl-matrix { border-top: 1px solid rgb(var(--c-ink-950) / .5); }
.fs-sl-mx-hd, .fs-sl-mx-row {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) repeat(3, minmax(0, .8fr));
  gap: .75rem;
  align-items: baseline;
  padding: .72rem .25rem;
  border-bottom: 1px solid rgb(var(--c-line));
}
.fs-sl-mx-hd {
  font-family: var(--font-sans);
  font-size: .6rem; font-weight: 700;
  letter-spacing: .13em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-sl-mx-s {
  font-weight: 600; color: rgb(var(--c-ink-950));
  font-size: var(--fs-type-body, .95rem);
}
.fs-sl-mx-v {
  font-family: var(--font-display);
  font-size: 1.05rem; font-weight: 700;
  color: rgb(var(--c-ink-950));
  font-variant-numeric: tabular-nums; text-align: right;
}
.fs-sl-num { text-align: right; }

/* R3 (theme-chrome batch 1, Task 10): a container query on the
   section's own root (.fs-sl-tariff-section, above) in place of the old
   @media(max-width:720px) — 45rem = the same 720px, queried on
   descendants only. */
@container (max-width: 45rem) {
  .fs-sl-mx-hd { display: none; }
  .fs-sl-mx-row { grid-template-columns: minmax(0, 1fr) repeat(3, auto); row-gap: .25rem; }
  .fs-sl-mx-s { grid-column: 1 / -1; }
  /* Without the header row the three figures need naming, so each
     carries its own length label on small screens. */
  .fs-sl-mx-v::before {
    content: attr(data-l);
    display: block;
    font-family: var(--font-sans);
    font-size: .55rem; font-weight: 700;
    letter-spacing: .12em; text-transform: uppercase;
    color: rgb(var(--c-ink-400));
  }
}

/* ── The formula rows ──────────────────────────────────────────── */
.fs-sl-formula { border-top: 1px solid rgb(var(--c-line)); }
.fs-sl-frow {
  display: grid;
  grid-template-columns: auto minmax(0, 1.3fr) minmax(0, 1.1fr) minmax(0, .6fr) minmax(0, .7fr);
  gap: .9rem; align-items: center;
  padding: .8rem .25rem;
  border-bottom: 1px solid rgb(var(--c-line));
}
.fs-sl-fstage { font-weight: 600; color: rgb(var(--c-ink-950)); font-size: var(--fs-type-body, .95rem); }
/* The mix is shorthand a colourist reads at a glance — tabular and
   monospaced, the way it is actually written on the card. */
.fs-sl-fmix {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: .8rem; letter-spacing: -.01em;
  color: rgb(var(--c-brand-700));
}
.fs-sl-fdev, .fs-sl-ftime {
  font-size: var(--fs-type-caption, .8125rem);
  color: rgb(var(--c-ink-700));
  font-variant-numeric: tabular-nums;
}
.fs-sl-ftime { text-align: right; }
/* R3, same as the price matrix above — the root is .fs-sl-formula-section. */
@container (max-width: 45rem) {
  .fs-sl-frow { grid-template-columns: auto minmax(0, 1fr); row-gap: .3rem; }
  .fs-sl-fmix, .fs-sl-fdev, .fs-sl-ftime { grid-column: 2; text-align: left; }
}

/* ── The column book ───────────────────────────────────────────── */
.fs-sl-columns {
  display: grid; gap: clamp(.9rem, 2vw, 1.4rem);
  grid-template-columns: repeat(auto-fit, minmax(min(14rem, 100%), 1fr));
}
.fs-sl-person {
  padding: 1.1rem;
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-card, 1rem);
  background: rgb(var(--c-paper));
}
.fs-sl-person-hd { padding-bottom: .6rem; border-bottom: 1px solid rgb(var(--c-line)); }
.fs-sl-person-n {
  display: block;
  font-family: var(--font-display);
  font-size: 1.1rem; font-weight: 700; color: rgb(var(--c-ink-950));
}
.fs-sl-person-r {
  display: block; margin-top: .1rem;
  font-family: var(--font-sans);
  font-size: .6rem; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-sl-person-d {
  margin-top: .7rem;
  font-size: var(--fs-type-caption, .8125rem); font-weight: 600;
  color: rgb(var(--c-brand-700)); letter-spacing: .02em;
}
.fs-sl-person-w, .fs-sl-person-k {
  margin-top: .3rem;
  font-size: var(--fs-type-caption, .8125rem); line-height: 1.55;
  color: rgb(var(--c-ink-700));
}
.fs-sl-person-k { color: rgb(var(--c-ink-400)); }

/* ── The completed card ────────────────────────────────────────── */
.fs-sl-done-body { display: grid; gap: clamp(1.25rem, 3vw, 2.5rem); }
/* R3, same as above — the root is .fs-sl-signoff-section; 51.25rem =
   the same 820px. */
@container (min-width: 51.25rem) {
  .fs-sl-done-body { grid-template-columns: minmax(0, 1.25fr) minmax(0, .85fr); align-items: start; }
}
.fs-sl-facts { margin: 0; display: block; }
.fs-sl-facts > div {
  display: flex; align-items: baseline; justify-content: space-between; gap: 1rem;
  padding: .55rem 0;
  border-bottom: 1px solid rgb(var(--c-line));
}
.fs-sl-facts > div:last-child { border-bottom: 0; }
.fs-sl-facts dt {
  font-family: var(--font-sans);
  font-size: .62rem; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-sl-facts dd {
  margin: 0; font-weight: 700; color: rgb(var(--c-ink-950));
  font-size: var(--fs-type-caption, .8125rem); text-align: right;
}
.fs-sl-sign {
  display: flex; align-items: center; gap: .75rem;
  margin-top: clamp(1.25rem, 3vw, 2rem);
  padding-top: 1rem;
  border-top: 1px dashed rgb(var(--c-ink-950) / .3);
}
.fs-sl-sign-l, .fs-sl-sign-m {
  font-family: var(--font-sans);
  font-size: .6rem; font-weight: 700;
  letter-spacing: .13em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-sl-sign-rule { flex: 1 1 4rem; border-bottom: 1px solid rgb(var(--c-ink-950) / .35); min-width: 3rem; }

/* ── Wireframe ─────────────────────────────────────────────────── */
[data-render="wireframe"] .fs-sl .fs-sl-tab { background: #111 !important; }
[data-render="wireframe"] .fs-sl .fs-sl-ruled::before { background-image: none !important; }

/* ── favSalonFooter — the completed record card ───────────────────
   Ported from the mockup's .ms-ftr/.ms-fcard family (lines 632–658),
   renamed to this file's .fs-sl-ft-* convention. */
.fs-sl-ft {
  container-type: inline-size;
  padding: 64px clamp(1rem, 4vw, 2.5rem) 36px;
  background: rgb(var(--c-paper));
}
.fs-sl-ft-in { max-width: var(--fs-layout-max, 68rem); margin-inline: auto; }
.fs-sl-ft-card {
  position: relative;
  margin-top: 18px;
  padding: 30px 34px 18px;
  background: rgb(var(--c-paper-soft));
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-card, 20px);
}
/* theme-chrome batch 1 (Task 10/11): raw brand behind paper text fails
   AA on some palettes (e.g. Rose Nude) — deep brand, the same fill the
   header's maneTabs current tab and CTA use, clears it. Never the raw
   --c-brand-600. */
.fs-sl-ft-tab {
  position: absolute; top: -19px; left: 28px;
  padding: 5px 15px 4px;
  border: 1px solid var(--ms-deep, color-mix(in srgb, rgb(var(--c-brand-600)) 78%, rgb(var(--c-ink-950))));
  border-bottom: 0;
  border-radius: var(--fs-radius-control, 9px) var(--fs-radius-control, 9px) 0 0;
  background: var(--ms-deep, color-mix(in srgb, rgb(var(--c-brand-600)) 78%, rgb(var(--c-ink-950))));
  color: var(--fs-on-brand, rgb(var(--c-paper)));
  font-family: var(--font-sans);
  font-size: 10.5px; font-weight: 700;
  letter-spacing: .16em; text-transform: uppercase; white-space: nowrap;
}
.fs-sl-ft-meta {
  display: flex; flex-wrap: wrap; gap: 6px 28px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgb(var(--c-line));
}
.fs-sl-ft-mrow { display: inline-flex; align-items: baseline; gap: 8px; }
.fs-sl-ft-mk {
  font-family: var(--font-sans);
  font-size: 10px; font-weight: 700;
  letter-spacing: .15em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-sl-ft-mv { font-size: 13.5px; font-weight: 600; color: rgb(var(--c-ink-950)); }

/* The ruled writing area: four tracks over horizontal rules run at the
   text's own 28px line height, so every column reads as written on the
   card rather than laid out beside it. */
.fs-sl-ft-grid {
  display: grid;
  grid-template-columns: 1.35fr 1fr 1fr 1fr;
  gap: 0 26px;
  margin-top: 14px;
  background-image: repeating-linear-gradient(
    to bottom, transparent 0 27px, rgb(var(--c-ink-950) / .08) 27px 28px
  );
}
.fs-sl-ft-grid, .fs-sl-ft-grid * { line-height: 28px; }
.fs-sl-ft-col { min-width: 0; }
.fs-sl-ft-h { margin: 0; font-family: var(--font-sans); font-size: 10px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; color: rgb(var(--c-ink-400)); }
.fs-sl-ft-name {
  margin: 0;
  font-family: var(--font-display);
  font-size: 18px; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase;
  color: rgb(var(--c-ink-950));
}
.fs-sl-ft-statement { margin: 0; font-family: var(--font-display); font-size: 22px; font-weight: 700; letter-spacing: -.015em; color: rgb(var(--c-ink-950)); }
.fs-sl-ft-list { list-style: none; margin: 0; padding: 0; font-size: 14.5px; }
.fs-sl-ft-li { padding-block: 0; }
.fs-sl-ft-link { color: rgb(var(--c-ink-700)); text-decoration: none; }
.fs-sl-ft-link:hover { color: rgb(var(--c-ink-950)); text-decoration: underline; }
.fs-sl-ft-p { margin: 0; font-size: 14.5px; color: rgb(var(--c-ink-700)); }
.fs-sl-ft-p + .fs-sl-ft-p { color: rgb(var(--c-ink-400)); }

/* ── The shade ladder — same six-step brand hue as .fs-sl-disc above,
   at the header strip's own 20px size. ── */
.fs-sl-ft-ladder {
  display: flex; align-items: center; flex-wrap: wrap; gap: 6px 14px;
  margin-top: 6px; padding-top: 8px;
}
.fs-sl-ft-discs { display: inline-flex; gap: 6px; }
.fs-sl-ft-disc {
  display: block; width: 20px; height: 20px;
  border-radius: 50%;
  border: 1px solid rgb(var(--c-ink-950) / .18);
}
.fs-sl-ft-disc:nth-child(1) { background: color-mix(in srgb, rgb(var(--c-brand-600)) 55%, rgb(var(--c-ink-950))); }
.fs-sl-ft-disc:nth-child(2) { background: color-mix(in srgb, rgb(var(--c-brand-600)) 78%, rgb(var(--c-ink-950))); }
.fs-sl-ft-disc:nth-child(3) { background: rgb(var(--c-brand-600)); }
.fs-sl-ft-disc:nth-child(4) { background: color-mix(in srgb, rgb(var(--c-brand-600)) 72%, rgb(var(--c-paper))); }
.fs-sl-ft-disc:nth-child(5) { background: color-mix(in srgb, rgb(var(--c-brand-600)) 46%, rgb(var(--c-paper))); }
.fs-sl-ft-disc:nth-child(6) { background: color-mix(in srgb, rgb(var(--c-brand-600)) 24%, rgb(var(--c-paper))); }

.fs-sl-ft-sign {
  display: flex; align-items: center; flex-wrap: wrap; gap: 10px 14px;
  margin-top: 12px; padding-top: 12px;
  border-top: 1px dashed rgb(var(--c-ink-950) / .3);
}
.fs-sl-ft-sign-rule { flex: 1 1 60px; min-width: 40px; border-bottom: 1px solid rgb(var(--c-ink-950) / .35); }
.fs-sl-ft-legal {
  display: flex; flex-wrap: wrap; gap: 6px 18px;
  margin-top: 16px; font-size: 12.5px; color: rgb(var(--c-ink-400));
}
.fs-sl-ft-legal-t { color: inherit; }
.fs-sl-ft-legal-a { color: inherit; text-decoration: none; }
.fs-sl-ft-legal-a:hover { color: rgb(var(--c-ink-950)); }

/* R3 (theme-chrome batch 1, Task 11): the footer's own root is the
   container (.fs-sl-ft, above), never the layout-capped .fs-sl-ft-in —
   64rem → two columns, 48rem → one, against this band's own box
   (measured editor-tablet content box: 686px — from the probe). */
@container (max-width: 64rem) {
  .fs-sl-ft-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container (max-width: 48rem) {
  .fs-sl-ft-grid { grid-template-columns: 1fr; }
  .fs-sl-ft-meta { flex-direction: column; }
  .fs-sl-ft-sign { flex-wrap: wrap; }
}

[data-render="wireframe"] .fs-sl-ft .fs-sl-ft-tab { background: #111 !important; border-color: #111 !important; }
[data-render="wireframe"] .fs-sl-ft .fs-sl-ft-grid { background-image: none !important; }


/* ── Ground ────────────────────────────────────────────────────── */
.fs-hx {
  position: relative;
  isolation: isolate;
  background: rgb(var(--c-paper));
  color: rgb(var(--c-ink-950));
  /* The data voice, read from the theme rather than named here.
     --font-mono is emitted by themeFontVars() in site-shell.ts when a
     theme declares fonts.mono, and that same declaration is what gets
     the family into the webfont href — hardcoding the name here loaded
     nothing and rendered Consolas. The fallback stack stays so a site
     that repaints HelixDesk with a theme naming no mono face still
     reads as machine facts. */
  --fs-hx-mono: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);
}
.fs-hx * { box-sizing: border-box; }
/* --fs-shell-max FIRST, then the customer's layout preset, then 60rem.
   Now that headerVariant governs the header separately, shellMaxPx means
   CONTENT width and nothing else — which is what lets this design's
   narrower pages (Live chat 680, FAQ and Ticket status 760, System
   status 820, About and Contact 880) be declared per page without
   shrinking the shared full-bleed nav along with them. Before the split
   those two facts shared one lever and only one of them could be right. */
.fs-hx-shell {
  max-width:var(--fs-layout-max, var(--fs-shell-max,60rem));
  margin-inline: auto;
  padding: var(--fs-space-section, clamp(2.5rem, 5vw, 4rem)) clamp(1rem, 4vw, 2.5rem);
}
/* is-narrow is a per-BLOCK cap; it must still yield to a page that has
   declared a narrower content width, or Live chat renders at 736px
   against the design's 680. */
.fs-hx-shell.is-narrow { max-width: min(46rem, var(--fs-shell-max, 46rem), var(--fs-layout-clamp, 46rem)); }
.fs-hx-status-section, .fs-hx-kb-section { background: rgb(var(--c-paper-soft)); }

:is([data-fs-blocktype='favHelixStatus'], [data-fs-blocktype='favHelixKb'])
  + :is([data-fs-blocktype='favHelixStatus'], [data-fs-blocktype='favHelixKb'])
  .fs-hx-shell { padding-top: 0; }

/* ── Type ──────────────────────────────────────────────────────── */
.fs-hx-mono { font-family: var(--fs-hx-mono); font-variant-numeric: tabular-nums; }
.fs-hx-eyebrow {
  display: block;
  font-size: .7rem; font-weight: 500;
  letter-spacing: .12em; text-transform: uppercase;
  color: rgb(var(--c-brand-600));
}
.fs-hx-h2 {
  font-family: var(--font-display);
  margin: .5rem 0 0;
  font-size: clamp(1.5rem, 3vw, 2.05rem);
  line-height: 1.12; letter-spacing: -.02em; font-weight: 700;
  color: rgb(var(--c-ink-950)); text-wrap: balance; max-width: 24ch;
}
.fs-hx-lede {
  margin: .7rem 0 0;
  font-size: var(--fs-type-body, 1rem); line-height: 1.6;
  color: rgb(var(--c-ink-700)); max-width: 56ch;
}
.fs-hx-head { margin-bottom: clamp(1.25rem, 3vw, 1.9rem); }
.fs-hx-head.is-mid { text-align: center; }
.fs-hx-head.is-mid .fs-hx-h2, .fs-hx-head.is-mid .fs-hx-lede { margin-inline: auto; }
/* Header suppressed because the page carries its own above: the
   search box is then the first thing in the section and needs no
   top gap of its own. */
.fs-hx-head.is-bare { margin-bottom: clamp(1rem, 2vw, 1.4rem); }
.fs-hx-head.is-bare .fs-hx-searchbox { margin-top: 0; }
.fs-hx-foot {
  margin-top: 1rem; text-align: center;
  font-size: var(--fs-type-caption, .8125rem); color: rgb(var(--c-ink-400));
}

/* ── Cards ─────────────────────────────────────────────────────── */
.fs-hx-card {
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-card, .75rem);
  background: rgb(var(--c-paper));
  overflow: hidden;
}
.fs-hx-card-hd {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: 1rem 1.35rem;
  border-bottom: 1px solid rgb(var(--c-line));
}
.fs-hx-card-t { font-family: var(--font-display); font-weight: 600; font-size: .95rem; color: rgb(var(--c-ink-950)); }
.fs-hx-link { font-family: var(--font-display); font-weight: 600; font-size: .78rem; color: rgb(var(--c-brand-600)); }

/* ── Controls ──────────────────────────────────────────────────── */
.fs-hx-btn {
  display: inline-flex; align-items: center; justify-content: center;
  padding: .7rem 1.25rem; flex: none;
  border: 0; border-radius: var(--fs-radius-control, .5rem);
  background: rgb(var(--c-brand-600));
  color: var(--fs-on-brand, rgb(var(--c-paper)));
  font-family: var(--font-display);
  font-size: .85rem; font-weight: 600; cursor: pointer; white-space: nowrap;
  transition: background-color var(--fs-motion-fast, 170ms) var(--fs-ease-out, ease);
}
.fs-hx-btn:hover { background: rgb(var(--c-brand-700)); }
.fs-hx-btn.is-sm { padding: .5rem .9rem; font-size: .78rem; }
/* Two-channel focus: the fill changes as well as the border, so the
   signal survives a colour-blind reader and a greyscale print. */
.fs-hx-input {
  width: 100%;
  padding: .72rem .9rem;
  border: 1.5px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-control, .5rem);
  background: rgb(var(--c-paper-soft));
  color: rgb(var(--c-ink-950));
  font-family: var(--font-sans); font-size: .92rem;
  outline: none;
}
.fs-hx-input:focus { border-color: rgb(var(--c-brand-600)); background: rgb(var(--c-paper)); }
.fs-hx-input::placeholder { color: rgb(var(--c-ink-400)); }

/* ── Status: lozenges, dots, semantics ─────────────────────────── */
/* Dot AND label, always. The tint carries no meaning on its own. */
.fs-hx-pill {
  display: inline-flex; align-items: center; gap: .4rem; flex: none;
  padding: .25rem .65rem;
  border-radius: var(--fs-radius-pill, 999px);
  font-family: var(--fs-hx-mono);
  font-size: .7rem; font-weight: 500; white-space: nowrap;
}
.fs-hx-dot { width: .45rem; height: .45rem; border-radius: 50%; flex: none; background: currentColor; }
.fs-hx-pill.is-ok   { background: rgb(var(--fs-status-ok-tint));   color: rgb(var(--fs-status-ok-on)); }
.fs-hx-pill.is-warn { background: rgb(var(--fs-status-warn-tint)); color: rgb(var(--fs-status-warn-on)); }
.fs-hx-pill.is-bad  { background: rgb(var(--fs-status-bad-tint));  color: rgb(var(--fs-status-bad-on)); }
.fs-hx-pill.is-info { background: rgb(var(--fs-status-info-tint)); color: rgb(var(--fs-status-info-on)); }
.fs-hx-dot.is-ok { background: rgb(var(--fs-status-ok)); }
/* Live pulse — a ring expanding off the OK dot, on a console theme's
   own console: it reads as "being watched", the same idea the status
   page's live banner already states in words. var(--fs-anim-statuspulse):
   Site Settings -> Micro-animations toggle contract (themes/format.ts,
   site-shell.ts's microAnimationVars). is-ok only — a warn/bad dot
   pulsing would read as an alarm, which the design reserves for colour
   alone, not motion. */
@keyframes fs-hx-statuspulse { 0% { transform: scale(1); opacity: .55; } 100% { transform: scale(2.2); opacity: 0; } }
.fs-hx-anim .fs-hx-dot.is-ok { position: relative; }
.fs-hx-anim .fs-hx-dot.is-ok::after {
  content: ''; position: absolute; inset: -3px; border-radius: 50%;
  background: rgb(var(--fs-status-ok)); pointer-events: none;
  animation: var(--fs-anim-statuspulse, fs-hx-statuspulse 2.2s ease-out infinite);
}
.fs-hx-wire .fs-hx-dot.is-ok::after { animation: none; content: none; }
@media (prefers-reduced-motion: reduce) {
  .fs-hx-dot.is-ok::after { animation: none !important; content: none; }
}

/* ── The portal shell ──────────────────────────────────────────── */
/* A console inverts the usual figure/ground: the soft tone is the room
   and the white panels float in it. */
.fs-hx-portal {
  margin: clamp(1.25rem, 3vw, 2.5rem) auto;
  max-width:var(--fs-layout-max,72rem);
  width: calc(100% - clamp(1.5rem, 6vw, 4rem));
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-card, .75rem);
  background: rgb(var(--c-paper-soft));
  overflow: hidden;
  box-shadow: var(--fs-shadow-card, none);
}
.fs-hx-topbar {
  display: flex; align-items: center; gap: .7rem;
  padding: .7rem 1rem;
  background: rgb(var(--c-paper));
  border-bottom: 1px solid rgb(var(--c-line));
}
.fs-hx-brand {
  font-family: var(--font-display);
  font-size: 1rem; font-weight: 700; letter-spacing: -.01em;
  color: rgb(var(--c-ink-950));
}
.fs-hx-chip {
  font-family: var(--fs-hx-mono);
  font-size: .66rem; color: rgb(var(--c-ink-400));
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-control, .35rem);
  padding: .15rem .45rem; white-space: nowrap;
}
.fs-hx-spacer { flex: 1; }
.fs-hx-body { display: flex; align-items: stretch; min-height: 22rem; }
.fs-hx-side {
  width: 14.5rem; flex: none;
  background: rgb(var(--c-paper));
  border-right: 1px solid rgb(var(--c-line));
  padding: 1rem .7rem;
  display: flex; flex-direction: column; gap: 1rem;
}
.fs-hx-sgroup { display: flex; flex-direction: column; gap: .1rem; }
.fs-hx-sgroup-t {
  font-family: var(--fs-hx-mono);
  font-size: .62rem; letter-spacing: .12em; text-transform: uppercase;
  color: rgb(var(--c-ink-400)); padding: 0 .7rem .35rem;
}
/* One fixed glyph column so the labels align into a scannable rail. */
.fs-hx-snav {
  display: flex; align-items: center; gap: .6rem; width: 100%;
  padding: .5rem .7rem;
  border: 0; border-radius: var(--fs-radius-control, .5rem);
  background: transparent; color: rgb(var(--c-ink-700));
  font-family: var(--font-sans); font-size: .82rem; font-weight: 500;
  text-align: left; cursor: pointer; white-space: nowrap;
  transition: background-color var(--fs-motion-fast, 170ms) var(--fs-ease-out, ease);
}
.fs-hx-snav:hover { background: rgb(var(--c-brand-50)); }
.fs-hx-snav.is-on { background: rgb(var(--c-brand-50)); color: rgb(var(--c-brand-700)); font-weight: 600; }
.fs-hx-sico { width: 1rem; height: 1rem; flex: none; }
.fs-hx-ico { width: 1.35rem; height: 1.35rem; flex: none; color: rgb(var(--c-brand-600)); }
.fs-hx-signed {
  margin-top: auto;
  display: flex; flex-direction: column; gap: .2rem;
  padding: .8rem;
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-control, .5rem);
  background: rgb(var(--c-paper-soft));
}
.fs-hx-signed-t { font-family: var(--font-display); font-size: .7rem; font-weight: 600; color: rgb(var(--c-ink-950)); }
.fs-hx-signed-e { font-size: .72rem; color: rgb(var(--c-ink-700)); overflow-wrap: anywhere; }
.fs-hx-signed-n { font-size: .66rem; color: rgb(var(--c-ink-400)); }
.fs-hx-main { flex: 1; min-width: 0; padding: clamp(1rem, 2.5vw, 1.75rem); }
.fs-hx-tickets { margin-top: 1.2rem; }
.fs-hx-trow {
  display: flex; align-items: center; gap: .85rem;
  padding: .8rem 1.35rem;
  border-bottom: 1px solid rgb(var(--c-line));
}
.fs-hx-trow:last-child { border-bottom: 0; }
.fs-hx-tid { font-size: .72rem; color: rgb(var(--c-ink-400)); flex: none; }
.fs-hx-tmain { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.fs-hx-tt { font-family: var(--font-display); font-weight: 600; font-size: .86rem; color: rgb(var(--c-ink-950)); }
.fs-hx-tm { font-size: .74rem; color: rgb(var(--c-ink-400)); }
.fs-hx-quick {
  display: grid; gap: .8rem; margin-top: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(min(11rem, 100%), 1fr));
}
.fs-hx-qcard { display: flex; flex-direction: column; gap: .4rem; padding: 1rem; }
.fs-hx-qt { font-family: var(--font-display); font-weight: 600; font-size: .85rem; color: rgb(var(--c-ink-950)); }
.fs-hx-qm { font-size: .72rem; color: rgb(var(--c-ink-400)); }

/* ── Tracker ───────────────────────────────────────────────────── */
.fs-hx-lookup { padding: 1.25rem; }
.fs-hx-lookrow { display: flex; gap: .6rem; }
.fs-hx-chips { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem; margin-top: .8rem; }
.fs-hx-chips-l { font-size: .74rem; color: rgb(var(--c-ink-400)); }
.fs-hx-sample {
  border: 0; border-radius: var(--fs-radius-pill, 999px);
  background: rgb(var(--c-brand-50)); color: rgb(var(--c-brand-700));
  font-size: .7rem; padding: .25rem .7rem; cursor: pointer;
}
.fs-hx-error {
  margin-top: .8rem; padding: .6rem .85rem;
  border-radius: var(--fs-radius-control, .5rem);
  background: rgb(var(--fs-status-bad-tint));
  color: rgb(var(--fs-status-bad-on));
  font-size: .8rem; line-height: 1.5;
}
.fs-hx-result { margin-top: 1rem; }
.fs-hx-result-hd {
  display: flex; align-items: center; flex-wrap: wrap; gap: .8rem;
  padding: 1.1rem 1.35rem;
  border-bottom: 1px solid rgb(var(--c-line));
}
.fs-hx-result-t { flex: 1; min-width: 12rem; font-family: var(--font-display); font-weight: 700; font-size: 1rem; color: rgb(var(--c-ink-950)); }
.fs-hx-time { list-style: none; margin: 0; padding: 1.35rem 1.35rem 0; }
/* The rail is drawn per step so a completed leg can be teal while the
   leg after it stays grey — one gradient across the whole list could
   not say that. */
.fs-hx-step {
  position: relative;
  display: grid; grid-template-columns: auto 1fr; column-gap: .9rem;
  padding-bottom: 1.15rem;
}
.fs-hx-node {
  grid-column: 1; grid-row: 1 / span 2;
  width: .85rem; height: .85rem; margin-top: .2rem; border-radius: 50%;
  box-sizing: border-box;
  background: rgb(var(--c-paper-soft));
  border: 3px solid rgb(var(--c-line));
}
.fs-hx-step.is-done .fs-hx-node { background: rgb(var(--fs-status-ok)); border-color: rgb(var(--fs-status-ok)); }
/* Node pop — the moment a tracker step turns solid, per the Tracker's
   own job ("has anyone looked at my thing?"): a step landing should
   feel like an answer arriving, not a colour swap. var(--fs-anim-nodefill):
   same toggle contract as statuspulse above. */
@keyframes fs-hx-nodefill { 0% { transform: scale(.4); } 60% { transform: scale(1.25); } 100% { transform: scale(1); } }
.fs-hx-anim .fs-hx-step.is-done .fs-hx-node {
  animation: var(--fs-anim-nodefill, fs-hx-nodefill .45s cubic-bezier(.34,1.56,.64,1) both);
}
@media (prefers-reduced-motion: reduce) {
  .fs-hx-step.is-done .fs-hx-node { animation: none !important; }
}
.fs-hx-step.is-now .fs-hx-node { background: rgb(var(--c-paper)); border-color: rgb(var(--c-brand-600)); }
.fs-hx-rail {
  position: absolute; left: .38rem; top: 1.25rem; bottom: -.15rem;
  width: 2px; background: rgb(var(--c-line));
}
.fs-hx-step.is-done .fs-hx-rail { background: rgb(var(--fs-status-ok)); }
.fs-hx-step-t { grid-column: 2; font-family: var(--font-display); font-weight: 600; font-size: .88rem; color: rgb(var(--c-ink-400)); }
.fs-hx-step.is-done .fs-hx-step-t, .fs-hx-step.is-now .fs-hx-step-t { color: rgb(var(--c-ink-950)); }
.fs-hx-step-d { grid-column: 2; font-size: .76rem; line-height: 1.5; color: rgb(var(--c-ink-400)); }
.fs-hx-result-ft {
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: .6rem;
  padding: .9rem 1.35rem;
  border-top: 1px solid rgb(var(--c-line));
  font-size: .76rem; color: rgb(var(--c-ink-400));
}
.fs-hx-result-ft b { color: rgb(var(--c-ink-950)); font-weight: 600; }

/* ── System status ─────────────────────────────────────────────── */
.fs-hx-banner {
  display: flex; align-items: center; gap: .8rem;
  padding: 1.1rem 1.35rem;
  border-radius: var(--fs-radius-card, .75rem);
  border: 1px solid rgb(var(--c-line));
}
.fs-hx-banner.is-ok   { background: rgb(var(--fs-status-ok-tint));   color: rgb(var(--fs-status-ok-on)); }
.fs-hx-banner.is-warn { background: rgb(var(--fs-status-warn-tint)); color: rgb(var(--fs-status-warn-on)); }
.fs-hx-banner.is-bad  { background: rgb(var(--fs-status-bad-tint));  color: rgb(var(--fs-status-bad-on)); }
.fs-hx-banner.is-info { background: rgb(var(--fs-status-info-tint)); color: rgb(var(--fs-status-info-on)); }
.fs-hx-banner .fs-hx-dot { width: .7rem; height: .7rem; }
.fs-hx-banner-b { flex: 1; display: flex; flex-direction: column; gap: .1rem; }
.fs-hx-banner-t { font-family: var(--font-display); font-weight: 700; font-size: 1.05rem; }
.fs-hx-banner-m { font-size: .78rem; opacity: .85; }
.fs-hx-live { font-size: .68rem; letter-spacing: .1em; }
.fs-hx-svcs { margin-top: 1rem; }
.fs-hx-svc { padding: 1rem 1.35rem; border-bottom: 1px solid rgb(var(--c-line)); }
.fs-hx-svc-hd { display: flex; align-items: center; gap: .8rem; }
.fs-hx-svc-n { flex: 1; font-family: var(--font-display); font-weight: 600; font-size: .9rem; color: rgb(var(--c-ink-950)); }
.fs-hx-svc-u { font-size: .74rem; color: rgb(var(--c-ink-400)); }
/* 30 bars, readable as a texture from across the room. */
.fs-hx-bars { display: flex; gap: 2px; margin-top: .7rem; }
.fs-hx-bar { flex: 1; height: 1.6rem; border-radius: 2px; min-width: 2px; }
.fs-hx-bar.is-ok   { background: rgb(var(--fs-status-ok) / .78); }
.fs-hx-bar.is-warn { background: rgb(var(--fs-status-warn)); }
.fs-hx-bar.is-bad  { background: rgb(var(--fs-status-bad)); }
.fs-hx-scale {
  display: flex; justify-content: space-between;
  padding: .7rem 1.35rem; font-size: .7rem; color: rgb(var(--c-ink-400));
}
.fs-hx-incidents { margin-top: 1rem; padding: 1.25rem 1.35rem; display: flex; flex-direction: column; gap: .9rem; }
.fs-hx-inc { display: flex; gap: .9rem; }
.fs-hx-inc-d { flex: none; width: 4rem; font-size: .74rem; }
.fs-hx-inc-d.is-ok { color: rgb(var(--fs-status-ok)); }
.fs-hx-inc-d.is-warn { color: rgb(var(--fs-status-warn)); }
.fs-hx-inc-d.is-bad { color: rgb(var(--fs-status-bad)); }
.fs-hx-inc-d.is-info { color: rgb(var(--fs-status-info)); }
.fs-hx-inc-b { display: flex; flex-direction: column; gap: .1rem; }
.fs-hx-inc-t { font-family: var(--font-display); font-weight: 600; font-size: .84rem; color: rgb(var(--c-ink-950)); }
.fs-hx-inc-m { font-size: .76rem; line-height: 1.5; color: rgb(var(--c-ink-400)); }

/* ── Live chat ─────────────────────────────────────────────────── */
.fs-hx-chat { display: flex; flex-direction: column; }
.fs-hx-chat-hd {
  display: flex; align-items: center; gap: .7rem;
  padding: .85rem 1.1rem;
  background: rgb(var(--c-brand-600));
  color: var(--fs-on-brand, rgb(var(--c-paper)));
}
.fs-hx-avatar {
  width: 2.1rem; height: 2.1rem; flex: none; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: rgb(var(--c-paper) / .22);
  font-family: var(--font-display); font-weight: 700; font-size: .85rem;
}
.fs-hx-chat-who { flex: 1; display: flex; flex-direction: column; }
.fs-hx-chat-n { font-family: var(--font-display); font-weight: 600; font-size: .86rem; }
.fs-hx-chat-p { font-size: .7rem; opacity: .8; }
.fs-hx-pane {
  display: flex; flex-direction: column; gap: .65rem;
  padding: 1.1rem;
  min-height: 15rem; max-height: 22rem; overflow-y: auto;
  background: rgb(var(--c-paper));
}
/* Messenger convention: mine right, theirs left, and a squared tail
   corner pointing at the sender so the model needs no explaining. */
.fs-hx-bub {
  align-self: flex-start; max-width: 80%; margin: 0;
  padding: .65rem .9rem;
  border-radius: var(--fs-radius-card, .75rem) var(--fs-radius-card, .75rem) var(--fs-radius-card, .75rem) 4px;
  background: rgb(var(--c-paper-soft));
  color: rgb(var(--c-ink-950));
  font-size: .84rem; line-height: 1.55;
}
.fs-hx-bub.is-me {
  align-self: flex-end;
  border-radius: var(--fs-radius-card, .75rem) var(--fs-radius-card, .75rem) 4px var(--fs-radius-card, .75rem);
  background: rgb(var(--c-brand-600));
  color: var(--fs-on-brand, rgb(var(--c-paper)));
}
.fs-hx-typing { align-self: flex-start; font-size: .74rem; color: rgb(var(--c-ink-400)); }
.fs-hx-compose {
  display: flex; gap: .6rem; padding: .8rem;
  border-top: 1px solid rgb(var(--c-line));
}
.fs-hx-send {
  width: 2.6rem; flex: none;
  display: flex; align-items: center; justify-content: center;
  border: 0; border-radius: var(--fs-radius-control, .5rem);
  background: rgb(var(--c-brand-600));
  color: var(--fs-on-brand, rgb(var(--c-paper)));
  cursor: pointer;
}
.fs-hx-send:hover { background: rgb(var(--c-brand-700)); }
.fs-hx-send .fs-hx-ico { color: currentColor; width: 1.05rem; height: 1.05rem; }

/* ── Knowledge base ────────────────────────────────────────────── */
.fs-hx-searchbox {
  display: flex; align-items: center; gap: .6rem;
  margin: 1.1rem auto 0; max-width: 34rem;
  padding: .8rem 1.05rem;
  border: 1.5px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-control, .5rem);
  background: rgb(var(--c-paper));
}
.fs-hx-searchbox:focus-within { border-color: rgb(var(--c-brand-600)); }
.fs-hx-searchbox .fs-hx-ico { color: rgb(var(--c-ink-400)); width: 1.1rem; height: 1.1rem; }
.fs-hx-searchin {
  flex: 1; border: 0; outline: none; background: transparent;
  font-family: var(--font-sans); font-size: .92rem; color: rgb(var(--c-ink-950));
}
.fs-hx-searchin::placeholder { color: rgb(var(--c-ink-400)); }
.fs-hx-cats {
  display: grid; gap: .85rem;
  grid-template-columns: repeat(auto-fit, minmax(min(13rem, 100%), 1fr));
}
.fs-hx-cat { display: flex; flex-direction: column; gap: .5rem; padding: 1.15rem; }
.fs-hx-cat-tile {
  width: 2.4rem; height: 2.4rem;
  display: flex; align-items: center; justify-content: center;
  border-radius: var(--fs-radius-control, .5rem);
  background: rgb(var(--c-brand-50));
}
.fs-hx-cat-n { font-family: var(--font-display); font-weight: 600; font-size: .93rem; color: rgb(var(--c-ink-950)); }
.fs-hx-cat-b { font-size: .78rem; line-height: 1.5; color: rgb(var(--c-ink-400)); }
.fs-hx-cat-c { margin-top: auto; font-size: .72rem; color: rgb(var(--c-brand-600)); }
.fs-hx-reads { margin-top: 1rem; }
.fs-hx-reads > .fs-hx-eyebrow {
  padding: .85rem 1.35rem;
  background: rgb(var(--c-paper-soft));
  border-bottom: 1px solid rgb(var(--c-line));
  color: rgb(var(--c-ink-400));
}
.fs-hx-read {
  display: flex; align-items: center; gap: .85rem;
  padding: .8rem 1.35rem;
  border-bottom: 1px solid rgb(var(--c-line));
}
.fs-hx-read:last-child { border-bottom: 0; }
.fs-hx-read .fs-hx-ico { width: 1rem; height: 1rem; }
.fs-hx-read-t { flex: 1; font-size: .86rem; font-weight: 500; color: rgb(var(--c-ink-950)); }
.fs-hx-read-c { font-size: .72rem; color: rgb(var(--c-ink-400)); }

/* ── The helix motif ─────────────────────────────────── */
/* Two strands crossing: the request and the response. Kept faint — the
   package specifies 8–12% — because it is a ground, not a graphic, and
   anything louder competes with the status colour that has to carry
   meaning. Strand colours come from the palette, so it re-tints. */
.fs-hx-strand-a { stroke: rgb(var(--c-brand-600)); fill: none; }
.fs-hx-strand-b { stroke: rgb(var(--c-accent)); fill: none; }
.fs-hx-ribbon {
  position: absolute; left: 0; right: 0; bottom: -.5rem;
  width: 100%; height: 7.5rem;
  opacity: .10; pointer-events: none;
}
.fs-hx-coil {
  position: absolute; right: -3rem; top: -3rem;
  width: 22rem; height: 22rem;
  opacity: .14; pointer-events: none;
}

/* ── Hero ─────────────────────────────────────────── */
.fs-hx-hero-section {
  position: relative;
  overflow: hidden;
  background: rgb(var(--c-paper-soft));
  border-bottom: 1px solid rgb(var(--c-line));
}
.fs-hx-hero {
  position: relative;
  display: flex; flex-direction: column; align-items: center;
  text-align: center; gap: .85rem;
  max-width: min(52rem, var(--fs-layout-clamp, 52rem));
}
.fs-hx-h1 {
  font-family: var(--font-display);
  margin: .35rem 0 0;
  font-size: clamp(2.1rem, 5.4vw, 3.25rem);
  line-height: 1.08; letter-spacing: -.025em; font-weight: 800;
  color: rgb(var(--c-ink-950)); text-wrap: balance; max-width: 18ch;
}
.fs-hx-hero-lede {
  margin: 0;
  font-size: clamp(1rem, 1.6vw, 1.12rem); line-height: 1.6;
  color: rgb(var(--c-ink-700)); max-width: 46ch;
}
.fs-hx-acts { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; margin-top: .5rem; }
.fs-hx-btn.is-ghost {
  background: rgb(var(--c-paper));
  color: rgb(var(--c-brand-600));
  border: 1.5px solid rgb(var(--c-brand-600));
}
.fs-hx-btn.is-ghost:hover { background: rgb(var(--c-brand-50)); }
/* The falsifiable claim, in the data voice so it reads as a measurement
   rather than a promise. */
.fs-hx-trust {
  font-family: var(--fs-hx-mono);
  font-size: .76rem; color: rgb(var(--c-ink-400));
  font-variant-numeric: tabular-nums;
}

/* ── Channels ───────────────────────────────────── */
.fs-hx-chans {
  display: grid; gap: .9rem;
  grid-template-columns: repeat(auto-fit, minmax(min(15rem, 100%), 1fr));
}
.fs-hx-chan {
  display: flex; flex-direction: column; gap: .6rem;
  padding: 1.4rem;
  transition: border-color var(--fs-motion-fast, 170ms) var(--fs-ease-out, ease),
              box-shadow var(--fs-motion-fast, 170ms) var(--fs-ease-out, ease);
}
/* Border shift and a soft tinted lift, never a background repaint — the
   package's hover grammar, and it keeps motion calm on a page whose job
   is to reassure. */
.fs-hx-anim .fs-hx-chan:hover {
  border-color: rgb(var(--c-brand-600));
  box-shadow: 0 6px 18px rgb(var(--c-brand-600) / .09);
}
.fs-hx-chan-t { font-family: var(--font-display); font-weight: 600; font-size: 1rem; color: rgb(var(--c-ink-950)); }
.fs-hx-chan-b { font-size: .85rem; line-height: 1.6; color: rgb(var(--c-ink-700)); }

/* ── The dark register band ──────────────────────────── */
/* Ink ground with paper type: the one place the page inverts. Both come
   from the palette, so a warm theme gets a warm dark panel rather than
   a borrowed navy. */
.fs-hx-band {
  position: relative; overflow: hidden;
  display: grid; gap: clamp(1.25rem, 3vw, 2.5rem);
  padding: clamp(1.6rem, 4vw, 2.6rem);
  border-radius: var(--fs-radius-card, .75rem);
  background: rgb(var(--c-ink-950));
  color: rgb(var(--c-paper));
}
@media (min-width: 820px) {
  .fs-hx-band { grid-template-columns: minmax(0, 1.3fr) minmax(0, .9fr); align-items: center; }
}
.fs-hx-band-copy { position: relative; display: flex; flex-direction: column; gap: .5rem; }
.fs-hx-band-eyebrow {
  font-size: .68rem; letter-spacing: .12em; text-transform: uppercase;
  color: rgb(var(--c-accent));
}
.fs-hx-band-h {
  font-family: var(--font-display);
  margin: 0;
  font-size: clamp(1.35rem, 2.6vw, 1.85rem);
  line-height: 1.15; letter-spacing: -.018em; font-weight: 700;
  color: rgb(var(--c-paper)); text-wrap: balance;
}
/* Muted-on-dark: the palette's own paper, held back. --c-ink-400 is
   solved against the PAGE, so on an inverted panel it is the wrong
   direction entirely and would come out near-black on near-black. */
.fs-hx-band-b {
  font-size: .92rem; line-height: 1.65;
  color: rgb(var(--c-paper) / .74); max-width: 48ch;
}
.fs-hx-stats {
  position: relative;
  display: grid; gap: 1.1rem 1.4rem;
  grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr));
}

/* ── favHelixAbout — single-column variant of the dark band (no stats
   sibling), plus its closing CTA row ─────────────────────────── */
.fs-hx-about-hero { grid-template-columns: 1fr !important; }
.fs-hx-about-cta {
  display: flex; align-items: center; flex-wrap: wrap; gap: 1.2rem;
  padding: 1.5rem 1.7rem;
}
.fs-hx-about-cta-copy { flex: 1; min-width: 15rem; display: flex; flex-direction: column; gap: .2rem; }
.fs-hx-about-cta-t { font-family: var(--font-display); font-weight: 600; font-size: .95rem; color: rgb(var(--c-ink-950)); }
.fs-hx-about-cta-b { font-size: .82rem; color: rgb(var(--c-ink-700)); }
.fs-hx-stat { display: flex; flex-direction: column; gap: .15rem; }
.fs-hx-stat-v {
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 3vw, 2.05rem); font-weight: 800;
  letter-spacing: -.02em; color: rgb(var(--c-accent));
  font-variant-numeric: tabular-nums;
}
.fs-hx-stat-l { font-size: .76rem; color: rgb(var(--c-paper) / .68); }

/* ── Interior page header ─────────────────────────────── */
/* Six pages opened on a generic textBlock, so every interior page of a
   premium theme looked like the builder rather than like HelixDesk. */
.fs-hx-head-section { background: rgb(var(--c-paper-soft)); border-bottom: 1px solid rgb(var(--c-line)); }
.fs-hx-pagehead { display: flex; flex-direction: column; gap: .55rem; }
.fs-hx-crumb {
  font-size: .7rem; letter-spacing: .1em; text-transform: uppercase;
  color: rgb(var(--c-brand-600));
}
.fs-hx-pagehead-h {
  font-family: var(--font-display);
  margin: 0;
  font-size: clamp(1.75rem, 3.6vw, 2.4rem);
  line-height: 1.1; letter-spacing: -.022em; font-weight: 800;
  color: rgb(var(--c-ink-950)); text-wrap: balance; max-width: 22ch;
}
.fs-hx-pagehead-b {
  font-size: var(--fs-type-body, 1rem); line-height: 1.6;
  color: rgb(var(--c-ink-700)); max-width: 58ch;
}
.fs-hx-pagehead-p { margin-top: .2rem; }

/* ── The sidebar drawer ──────────────────────────────── */
/* Hidden at desktop — the rail is always there — and the only control
   that appears when the rail cannot be. */
.fs-hx-burger {
  display: none;
  width: 2rem; height: 2rem; flex: none;
  align-items: center; justify-content: center;
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-control, .4rem);
  background: rgb(var(--c-paper)); color: rgb(var(--c-ink-700));
  cursor: pointer; padding: 0;
}
.fs-hx-burger svg { width: 1.05rem; height: 1.05rem; }

@media (max-width: 760px) {
  .fs-hx-burger { display: inline-flex; }
  /* The bar carries burger + brand + chip + status pill + CTA, which is
     one item too many below ~520px: the Submit button was pushed off the
     right edge. The chip is the only decorative one of the five, so it
     goes first and the action survives. Wrapping is the backstop for a
     long brand name. */
  .fs-hx-topbar { flex-wrap: wrap; }
  .fs-hx-topbar .fs-hx-chip { display: none; }
  /* Overlaid rather than in flow, so opening it does not shove the
     dashboard down the page and lose the reader's place. */
  .fs-hx-side {
    position: absolute; z-index: 3; inset: 0 auto 0 0;
    width: min(15rem, 82%);
    transform: translateX(-101%);
    transition: transform var(--fs-motion, 220ms) var(--fs-ease-out, cubic-bezier(.2,.7,.3,1));
    box-shadow: 0 0 0 100vmax rgb(var(--c-ink-950) / 0);
  }
  .fs-hx-side.is-open { transform: translateX(0); }
  .fs-hx-body { position: relative; }
}
@media (prefers-reduced-motion: reduce) {
  .fs-hx-side { transition: none !important; }
}

/* ── Reduced motion ────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  .fs-hx-btn, .fs-hx-snav, .fs-hx-send, .fs-hx-chan { transition: none !important; }
}

/* ── Site footer (favHelixFooter) ───────────────────────────────
   The export: background #fff, 1px top rule in #DBE4F0, 16px/24px
   padding, 12px muted type, and the two halves pushed apart with
   flex-wrap so a narrow viewport stacks them rather than crushing
   the status readout. Full-bleed, exactly like this design's header
   — neither is capped, so the footer takes no shell width. */
.fs-hx-ft {
  background: rgb(var(--c-paper));
  border-top: 1px solid rgb(var(--c-line));
}
.fs-hx-ft-row {
  display: flex; justify-content: space-between; align-items: center;
  flex-wrap: wrap; gap: 8px;
  padding: 16px 24px;
  font-size: 12px; color: rgb(var(--c-ink-500));
}
/* rgb(var(--fs-status-ok)), not var(--fs-status-ok): apply.ts emits
   these as a space-separated "R G B" triple, not a colour. Written the
   wrong way first, and it failed SILENTLY — the declaration was simply
   invalid, so the word inherited body ink and looked deliberate in both
   modes. Caught by measuring the computed colour, not by looking. */
.fs-hx-ft-state { color: rgb(var(--fs-status-ok)); }

/* ── Wireframe ─────────────────────────────────────────────────── */
[data-render="wireframe"] .fs-hx .fs-hx-chat-hd,
[data-render="wireframe"] .fs-hx .fs-hx-btn,
[data-render="wireframe"] .fs-hx .fs-hx-send { background: #111 !important; }

/* ── THE FIVE KIT MENUS, IN THIS THEME'S LANGUAGE ───────────────
   Every premium kit draws the same five archetypes and each maps to a
   platform style: Column Directory -> columns, Feature Spotlight ->
   feature, Tile Grid -> showcase, Split Preview -> tabbed, Full-Bleed
   Canvas -> promo. The CONTENT for each lives in this theme's
   megaMenus.byStyle; what follows is only how each shape wears this
   theme's clothes.

   THE METRIC TREATMENT is the one that needs saying. In the Canvas
   menu a text block is a NUMBER over a label — '98.4%' then 'CSAT this
   quarter'. The platform's mega-text heading is 13px/700, which renders
   a statistic at the size of a sub-heading and loses the whole point of
   the panel. So inside the flooded cell the heading becomes the figure.

   KNOWN LIMIT, not styled around: the tabbed style builds its RAIL from the nav
   item's CHILD PAGES, not from the tab headings authored in blocks. An
   item with one child shows one tab, and content authored for cols 1-3
   is unreachable. Measured on CreatorFlow, whose Marketplace has a
   single child. Fixing it means letting a linkList or a block heading
   name a tab, which is an engine change. */
[data-fs-theme='helixdesk'] .fsdrop-panel-promo .fsdrop-mega-content .fsdrop-mega-text-heading{
  font-family:var(--font-display);
  font-size:30px;
  font-weight:800;
  letter-spacing:-1.2px;
  line-height:1;
  margin:0 0 4px;
}
[data-fs-theme='helixdesk'] .fsdrop-panel-promo .fsdrop-mega-content .fsdrop-mega-text{
  margin-bottom:16px;
}
/* The first block in the flooded cell is the ARGUMENT, not a figure —
   it keeps sentence size so the numbers beside it stay the loud thing. */
[data-fs-theme='helixdesk'] .fsdrop-panel-promo .fsdrop-mega-content-col:first-child .fsdrop-mega-text-heading{
  font-size:19px;
  letter-spacing:-.5px;
  line-height:1.2;
}
/* The link column beside a flooded cell is usually one or two child
   pages, so it should not hold a third of the panel. */
[data-fs-theme='helixdesk'] .fsdrop-panel-promo .fsdrop-mega-col{
  min-width:0;
}
[data-fs-theme='helixdesk'] .fsdrop-panel-tabbed .fsdrop-tab-panel .fsdrop-mega-text-heading{
  font-family:var(--font-display);
  font-size:17px;
  letter-spacing:-.3px;
}
[data-fs-theme='helixdesk'] .fsdrop-panel-showcase .fsdrop-mega-content{
  padding-top:4px;
}

/* HelixDesk keeps machine facts in mono — the theme's own rule that
   anything monospaced is trackable truth — so a Canvas figure is set in
   the mono face rather than the display one. */
/* The DISPLAY face, not mono — and this is a deliberate exception to
   this theme's own "mono means machine truth" rule. At 27px the mono
   face sets 98.4% with a visible gap either side of the point and
   turns "< 2h" into "<  2h", because mono gives a full advance to a
   period and a space alike. The rule earns its keep at 12-13px inline,
   where a ticket reference has to look trackable; a headline statistic
   is a different job. */
[data-fs-theme='helixdesk'] .fsdrop-panel-promo .fsdrop-mega-content .fsdrop-mega-text-heading{
  font-family:var(--font-display);
  font-size:30px;
  letter-spacing:-1px;
}
[data-fs-theme='helixdesk'] .fsdrop-panel-promo .fsdrop-mega-content-col:first-child .fsdrop-mega-text-heading{
  font-family:var(--font-display);
  font-size:19px;
  letter-spacing:-.4px;
}

/* ════════════════════════════════════════════════════════════════
   THE KIT'S MEGA MENU — M1 Column Directory.

   Generated by verify-menu.mjs --emit-css from helixdesk-m1.html and
   pasted after review, which is why every number here is odd: 16.275px
   and 20.925px are the design's own computed line-heights, not values
   anyone would choose. That is the point. This theme previously had
   eight menu rules against RealtyWave's forty-five, so the panel drew
   the platform default and looked nothing like the sheet it shipped
   with -- 63 measured differences, every one a font, a line-height, a
   padding or a radius the design states and the theme never set.

   Re-generate rather than hand-edit: if a value here looks wrong, the
   design file is wrong, and editing this to make the gate pass is how a
   parity gate quietly becomes a no-op.
   ════════════════════════════════════════════════════════════════ */

/* panel */
[data-fs-theme='helixdesk'] [data-fs-nav-panel]{
  margin-top: 0px;
}

/* navItem */
/* TOP-LEVEL nav links only. The mega panel lives inside .fs-hdr-nav,
   so .fs-hdr-nav a also matches all forty menu rows -- which is
   exactly what happened: the nav's 8px/11px padding and 8px radius
   landed on every row in the panel. verify-menu now reports this
   class of selector overlap before any CSS is generated from it. */
[data-fs-theme='helixdesk'] .fs-hdr-nav > a:not([aria-current]):not([aria-current='false']),
[data-fs-theme='helixdesk'] .fs-hdr-nav > .fs-hdr-group > a:not([aria-current]):not([aria-current='false']){
  border-radius: 8px;
  padding: 8px 11px;
  line-height: 18px;
}

/* navItemOn */
[data-fs-theme='helixdesk'] .fs-hdr-group:has(> a[aria-current]:not([aria-current='false'])){
  border-radius: 8px;
  padding: 8px 11px;
}

/* caret */
[data-fs-theme='helixdesk'] .fs-hdr-group[data-open] .fs-hdr-caret svg{
  transition-duration: 0.2s;
}

/* grid */
[data-fs-theme='helixdesk'] [data-fs-nav-panel] .fsdrop-mega-content{
  gap: 0px;
}

/* column */
[data-fs-theme='helixdesk'] [data-fs-nav-panel] .fsdrop-mega-content-col{
  padding: 24px 22px;
  border-right-width: 1px;
}

/* eyebrow */
/* color was missing from the generated rule -- the base style brands
   every eyebrow blue by default (.fsdrop-mega-linklist-heading in
   dropdown-styles.ts), right for a theme whose eyebrow IS the accent
   and wrong for this kit's muted, mono-face label. Without an explicit
   override it fell straight through to brand blue.

   A first attempt at this fix was written with Python string-replace
   against LF line endings on a file the repo stores as CRLF. All three
   replaces silently matched nothing, the script printed success anyway,
   and the write re-saved the file byte-identical -- no exception, no
   diff, nothing to notice short of re-measuring. Redone with the Edit
   tool, which reads the file's actual on-disk text first. */
[data-fs-theme='helixdesk'] [data-fs-nav-panel] .fsdrop-mega-linklist-heading{
  margin-bottom: 12px;
  font-family: 'IBM Plex Mono', ui-monospace, monospace;
  font-weight: 600;
  line-height: 16.275px;
  color: rgb(var(--c-ink-400));
}

/* row */
[data-fs-theme='helixdesk'] [data-fs-nav-panel] .fsdrop-mega-linklist-link{
  border-radius: 7px;
  padding-top: 7px;
  padding-bottom: 7px;
  font-weight: 400;
  line-height: 20.925px;
}

/* rowList */
[data-fs-theme='helixdesk'] [data-fs-nav-panel] .fsdrop-mega-linklist-items{
  gap: 2px;
}

/* count */
[data-fs-theme='helixdesk'] [data-fs-nav-panel] .fsdrop-mega-linklist-count{
  font-family: 'IBM Plex Mono', ui-monospace, monospace;
  font-size: 12px;
  font-weight: 400;
  line-height: 17.05px;
}

/* foot */
[data-fs-theme='helixdesk'] [data-fs-nav-panel] .fsdrop-mega-content-col:nth-child(5){
  padding: 14px 22px;
  gap: 14px;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

/* footText */
/* Same gap as eyebrow: the base rule sets ink-700, the kit's foot line
   is the more muted ink-400, and nothing here said so. */
[data-fs-theme='helixdesk'] [data-fs-nav-panel] .fsdrop-mega-text-body{
  font-weight: 400;
  line-height: 19.375px;
  color: rgb(var(--c-ink-400));
}

/* footLink */
/* STEP 3. .fsdrop-mega-button's BASE style is a filled brand button --
   background, radius, inline-flex centring -- because that is what
   every other kit's foot link draws. HelixDesk's is .linkarrow: plain
   coloured text, no fill, no padding box. That is a ROLE mismatch, not a
   value drift, so the generated padding/font rules alone left a
   button-shaped button in the brand-text colour rather than a link.
   Unset the button's box model explicitly rather than only adding type. */
[data-fs-theme='helixdesk'] [data-fs-nav-panel] .fsdrop-mega-button{
  display: inline;
  align-items: initial;
  justify-content: initial;
  background: none;
  border-radius: 0;
  padding: 0;
  color: rgb(var(--c-brand-600));
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 13px;
  font-weight: 600;
}
[data-fs-theme='helixdesk'] [data-fs-nav-panel] .fsdrop-mega-button:hover,
[data-fs-theme='helixdesk'] [data-fs-nav-panel] .fsdrop-mega-button:focus-visible{
  background: none;
  text-decoration: underline;
}

/* ── THE HEADER, which had never been ported at all ──────────────
   The kit draws the header WITH the menu -- same frame, same rule
   between them -- so it is part of the design, not chrome around it.
   Nothing measured it until now, and it was running platform defaults:
   the wordmark in the body face at weight 400 where the design sets the
   display face at 800, a 69.6px row where the design sets 60, and no
   bottom rule at all. Twenty-three differences in the one part of the
   sheet a visitor sees before anything opens.

   The border COLOUR is inherited from the theme's own line token rather
   than emitted, so this recolours with the site. */

/* navRow */
/* background was missing entirely -- the generated rule only carried
   box and border properties, so the row stayed transparent and showed
   whatever sits behind the header rather than the kit's own white. */
[data-fs-theme='helixdesk'] .fs-hdr-row{
  padding: 0px 20px;
  height: 60px;
  border-bottom-width: 1px;
  background: rgb(var(--c-paper));
}

/* brandmark */
[data-fs-theme='helixdesk'] .fs-hdr-row > a:first-child{
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: -0.3px;
  line-height: 23.25px;
}

/* headerCta */
/* DOUBLED ON PURPOSE, the same trick forecourt-styles.ts documents at
   its own button family: HEADER_CONTACT_CSS ships '.fs-typo
   .fs-hdr-cta' at (0,2,0) to beat the global link colour, and it is
   injected AFTER this sheet -- so a plain [data-fs-theme] .fs-hdr-cta
   ties at (0,2,0) and loses on source order. The attribute and the
   class sit on the SAME element, hence '].fs-typo' with no space:
   (0,3,0), which wins without !important -- and !important would
   block the customer's own Button style panel. */
[data-fs-theme='helixdesk'] .fs-hdr-cta,
[data-fs-theme='helixdesk'].fs-typo .fs-hdr-cta{
  border-radius: 8px;
  padding: 8px 14px;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 13px;
  font-weight: 600;
  line-height: 16px;
}

/* The generated rule sets a width but a border needs a colour and a
   style to draw. Same token the panel's own hairlines use. */
[data-fs-theme='helixdesk'] .fs-hdr-row{
  border-bottom-style:solid;
  border-bottom-color:rgb(var(--c-line));
}


/* ── STEP 1: THE PANEL'S SHAPE ───────────────────────────────────
   Geometry only. Everything here was plain in a screenshot and
   invisible to the gate, because the menu config ignores panel width
   ("1180 mock vs the live band") and every INDIVIDUAL element measured
   correctly while the layout around them was wrong.

   THE TWO LINES THAT MAKE IT POSSIBLE come first, and the first attempt
   at this failed for want of them. .fs-hdr-group is position:relative,
   so it is the containing block for the absolutely-positioned panel --
   left:0;right:0 resolves against a 118px TRIGGER, not the header, and
   produced a single narrow column worse than what it replaced. Making
   the group static hands the panel to .fs-hdr-row instead. */
[data-fs-theme='helixdesk'] .fs-hdr-row{
  position:relative;
}
[data-fs-theme='helixdesk'] .fs-hdr-group:has(.fsdrop-mega-content){
  position:static;
}
[data-fs-theme='helixdesk'] .fsdrop-panel-columns:has(.fsdrop-mega-content){
  left:0 !important;
  right:0 !important;
  width:auto !important;
  max-width:none !important;
  transform:none !important;
  /* Flush to the header: the kit draws one continuous surface with a
     single hairline between nav and panel, where the platform hangs the
     panel 8px below its trigger and bridges the gap for hover. */
  margin-top:0 !important;
  border-top:1px solid rgb(var(--c-line-soft)) !important;
  border-left:0 !important;
  border-right:0 !important;
  border-radius:0 0 14px 14px !important;
  background:rgb(var(--c-paper)) !important;
  /* Not cosmetic -- without clipping, column text ran out over the hero
     behind the panel. */
  overflow:hidden;
  padding:0 !important;
  /* NavGroup sets tracks INLINE from the theme's column count, so this
     needs !important or it silently does nothing. */
  grid-template-columns:1fr !important;
  gap:0 !important;
}
/* The child-page column is hidden: all four columns are authored, and
   rows that map to a real page carry a pageType, so nothing becomes
   unreachable. Without this the panel opens with a stray "Knowledge
   base" heading down the left. */
[data-fs-theme='helixdesk'] .fsdrop-panel-columns > .fsdrop-mega-col{
  display:none;
}
/* The content cell IS the grid: four columns, then the foot strip on
   its own full-width row.

   STEP 2, and the fix for the dead track the first pass of step 1 left
   behind: NavGroup sets gridTemplateColumns INLINE from the theme's own
   columns: 5 -- four link columns plus the foot's own index -- so
   without !important this rule's repeat(4,1fr) was silently beaten by
   the inline repeat(5,1fr), exactly as the comment on the panel rule
   above already warned. Measured: five 280.6px tracks where four were
   wanted, the fifth an empty column of dead space nobody drew into,
   because nth-child(5) spans 1/-1 and never occupies its own track. */
/* :not(:has()) because these four tracks are for the GENERIC-BLOCK
   directory, which is still the fallback panel. A composite is one
   thing, not four columns, and this rule's !important at (0,3,0) was
   beating the platform's composite rule -- M1's columns came out
   135/124/136/119px in the left 514px of a 1360px panel. */
[data-fs-theme='helixdesk'] .fsdrop-panel-columns > .fsdrop-mega-content:not(:has(.fsdrop-mega-composite)){
  display:grid;
  grid-template-columns:repeat(4, 1fr) !important;
  gap:0;
}
[data-fs-theme='helixdesk'] .fsdrop-panel-columns .fsdrop-mega-content:not(:has(.fsdrop-mega-composite)) .fsdrop-mega-content-col:nth-child(5){
  grid-column:1 / -1;
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:14px;
  padding:14px 22px;
  border-top:1px solid rgb(var(--c-line-soft));
  background:rgb(var(--c-paper-soft));
}

/* ── THE COMPOSITE PANEL — helixdesk.m1 ─────────────────────────
   The design's own CSS, transplanted alongside its markup (see
   themes/helixdesk-menus.tsx). Values are the kit's; colours are the
   platform's TOKENS rather than the kit's literals, so the panel
   recolours with the customer's palette and the AA solvers still apply.

   Scoped under [data-fs-theme='helixdesk'] and prefixed fs-hxm-, which
   is the isolation guarantee: this cannot reach another theme's panel,
   and another theme's rules cannot reach this one. */
[data-fs-theme='helixdesk'] .fsdrop-mega-composite{
  display:block;
}
/* The design's inherited context, re-established at the panel root.
   Every value below is one the kit set on <body> and its descendants
   relied on without restating. */
[data-fs-theme='helixdesk'] .fs-hlxm-wrap {
  font-family:'IBM Plex Sans', system-ui, sans-serif;
  font-size:15px;
  font-weight:initial;
  font-style:initial;
  line-height:1.55;
  letter-spacing:initial;
  word-spacing:initial;
  color:rgb(var(--c-ink-950));
  text-transform:initial;
  -webkit-font-smoothing:antialiased;
  font-variant-numeric:initial;
}

/* The design's inheritance model, re-established for descendants.
   Inheritance never beats a direct declaration, so a root baseline
   alone cannot undo a platform rule that targets a bare tag. */
[data-fs-theme='helixdesk'] .fs-hlxm-wrap *:not(button):not(input):not(select):not(textarea) {
  line-height:inherit;
  letter-spacing:inherit;
  word-spacing:inherit;
  text-transform:inherit;
  font-variant-numeric:inherit;
}

/* What the UA gives a form control on the design page, said out
   loud, because the port's CSS reset does not give the same thing. */
[data-fs-theme='helixdesk'] .fs-hlxm-wrap :is(button,input,select,textarea) {
  line-height:normal;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-mono {
  font-family:'IBM Plex Mono', ui-monospace, monospace;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-eyebrow {
  font-family:'IBM Plex Mono', ui-monospace, monospace;
  font-size:12px;
  font-weight:600;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:rgb(var(--c-ink-400));
  margin:0 0 12px;
  display:block;
  line-height:16.275px;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-cols {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  padding:0;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-col {
  padding:24px 22px;
  border-right:1px solid rgb(var(--c-line-soft));
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-col:last-child {
  border-right:none;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-col ul {
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-col a {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  text-decoration:none;
  color:rgb(var(--c-ink-950));
  font-size:13.5px;
  padding:7px 8px;
  border-radius:7px;
  margin:0 -8px;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-col a:hover {
  background:rgb(var(--c-line-soft));
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-col a .fs-hlxm-n {
  font-family:'IBM Plex Mono', ui-monospace, monospace;
  font-size:12px;
  color:rgb(var(--c-ink-400));
  line-height:17.050px;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-colfoot {
  background:rgb(var(--c-paper-soft));
  padding:14px 22px;
  border-top:1px solid rgb(var(--c-line-soft));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-colfoot span {
  font-size:12.5px;
  color:rgb(var(--c-ink-400));
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-linkarrow {
  color:rgb(var(--c-brand-600));
  font-size:13px;
  font-weight:600;
  text-decoration:none;
  font-family:'Plus Jakarta Sans', system-ui, sans-serif;
}

@media (max-width:820px) {
  [data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-cols {
    grid-template-columns:repeat(2,1fr);
  }
}

/* A COMPOSITE IS THE WHOLE PANEL, so the content grid stops being a grid.
   Phase 1's rule gives this panel four tracks and 24px/22px of padding
   per column, which is right for generic blocks and wrong for a
   transplanted design: the composite landed in track one at 559px of a
   1425px band, with every link wrapping, and the column's padding
   doubling the design's own.

   Scoped with :has() so a panel of generic blocks keeps the four-column
   treatment exactly as it is -- both shapes coexist, which is the point
   of a composite being a block kind rather than a replacement. */
/* Moved to dropdown-styles.ts: it is true of every theme with a
   composite, not of this one, and it was scoped to a single mega style. */

/* The header status pill, from the kit. Colour comes from the SOLVED
   status tokens rather than the sheet's literal green -- themes/apply.ts
   solves --fs-status-ok and -tint per palette to clear AA, which is this
   theme's own thesis: a status colour only ever means state. */
[data-fs-theme='helixdesk'] .fs-hdr-composite{
  display:inline-flex;
  align-items:center;
}
[data-fs-theme='helixdesk'] .fs-hxm-statuspill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-family:'IBM Plex Mono', ui-monospace, monospace;
  font-size:12px;
  font-weight:500;
  color:rgb(var(--fs-status-ok, var(--c-accent)));
  background:rgb(var(--fs-status-ok-tint, var(--c-paper-soft)));
  padding:5px 9px;
  border-radius:99px;
  white-space:nowrap;
}
[data-fs-theme='helixdesk'] .fs-hxm-statuspill::before{
  content:'';
  width:6px;
  height:6px;
  border-radius:99px;
  background:rgb(var(--fs-status-ok, var(--c-accent)));
}
/* Below the nav breakpoint the pill is the first thing to give up room,
   same rule the trust note beside it follows. */
@media (max-width: 1023px){
  [data-fs-theme='helixdesk'] .fs-hdr-composite{ display:none; }
}
/* ---- M2, generated by scripts/port-menu.mjs ---- */
/* The design's inherited context, re-established at the panel root.
   Every value below is one the kit set on <body> and its descendants
   relied on without restating. */
[data-fs-theme='helixdesk'] .fs-hlxm-wrap {
  font-family:'IBM Plex Sans', system-ui, sans-serif;
  font-size:15px;
  font-weight:initial;
  font-style:initial;
  line-height:1.55;
  letter-spacing:initial;
  word-spacing:initial;
  color:rgb(var(--c-ink-950));
  text-transform:initial;
  -webkit-font-smoothing:antialiased;
  font-variant-numeric:initial;
}

/* The design's inheritance model, re-established for descendants.
   Inheritance never beats a direct declaration, so a root baseline
   alone cannot undo a platform rule that targets a bare tag. */
[data-fs-theme='helixdesk'] .fs-hlxm-wrap *:not(button):not(input):not(select):not(textarea) {
  line-height:inherit;
  letter-spacing:inherit;
  word-spacing:inherit;
  text-transform:inherit;
  font-variant-numeric:inherit;
}

/* What the UA gives a form control on the design page, said out
   loud, because the port's CSS reset does not give the same thing. */
[data-fs-theme='helixdesk'] .fs-hlxm-wrap :is(button,input,select,textarea) {
  line-height:normal;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-eyebrow {
  font-family:'IBM Plex Mono', ui-monospace, monospace;
  font-size:12px;
  font-weight:600;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:rgb(var(--c-ink-400));
  margin:0 0 12px;
  display:block;
  line-height:16.275px;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-col {
  padding:24px 22px;
  border-right:1px solid rgb(var(--c-line-soft));
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-col:last-child {
  border-right:none;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-col ul {
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-col a {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  text-decoration:none;
  color:rgb(var(--c-ink-950));
  font-size:13.5px;
  padding:7px 8px;
  border-radius:7px;
  margin:0 -8px;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-col a:hover {
  background:rgb(var(--c-line-soft));
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-spot {
  display:grid;
  grid-template-columns:1fr 1fr 340px;
  gap:0;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-spot .fs-hlxm-col {
  border-right:1px solid rgb(var(--c-line-soft));
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-spotcard {
  padding:22px;
  background:rgb(var(--c-paper-soft));
  display:flex;
  flex-direction:column;
  gap:12px;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-spotimg {
  height:104px;
  border-radius:10px;
  background:linear-gradient(140deg,rgb(var(--c-brand-600)),#0E9F7E);
  position:relative;
  overflow:hidden;
  flex:none;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-spotimg::after {
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(120px 60px at 78% 20%, rgba(255,255,255,.35), transparent 70%);
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-spotimg b {
  position:absolute;
  left:14px;
  bottom:12px;
  color:#fff;
  font-family:'Plus Jakarta Sans', system-ui, sans-serif;
  font-weight:700;
  font-size:15px;
  letter-spacing:-.2px;
  z-index:1;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-spotcard h4 {
  font-family:'Plus Jakarta Sans', system-ui, sans-serif;
  font-size:14.5px;
  font-weight:700;
  margin:0;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-spotcard p {
  margin:0;
  font-size:13px;
  color:rgb(var(--c-ink-400));
  line-height:1.5;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-linkarrow {
  color:rgb(var(--c-brand-600));
  font-size:13px;
  font-weight:600;
  text-decoration:none;
  font-family:'Plus Jakarta Sans', system-ui, sans-serif;
}

@media (max-width:820px) {
  [data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-spot {
    grid-template-columns:1fr;
  }
}

/* ---- M3, generated by scripts/port-menu.mjs ---- */
/* The design's inherited context, re-established at the panel root.
   Every value below is one the kit set on <body> and its descendants
   relied on without restating. */
[data-fs-theme='helixdesk'] .fs-hlxm-wrap {
  font-family:'IBM Plex Sans', system-ui, sans-serif;
  font-size:15px;
  font-weight:initial;
  font-style:initial;
  line-height:1.55;
  letter-spacing:initial;
  word-spacing:initial;
  color:rgb(var(--c-ink-950));
  text-transform:initial;
  -webkit-font-smoothing:antialiased;
  font-variant-numeric:initial;
}

/* The design's inheritance model, re-established for descendants.
   Inheritance never beats a direct declaration, so a root baseline
   alone cannot undo a platform rule that targets a bare tag. */
[data-fs-theme='helixdesk'] .fs-hlxm-wrap *:not(button):not(input):not(select):not(textarea) {
  line-height:inherit;
  letter-spacing:inherit;
  word-spacing:inherit;
  text-transform:inherit;
  font-variant-numeric:inherit;
}

/* What the UA gives a form control on the design page, said out
   loud, because the port's CSS reset does not give the same thing. */
[data-fs-theme='helixdesk'] .fs-hlxm-wrap :is(button,input,select,textarea) {
  line-height:normal;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-tiles {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  padding:22px;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-tile {
  border:1px solid rgb(var(--c-line));
  border-radius:12px;
  padding:16px;
  background:rgb(var(--c-paper));
  display:flex;
  flex-direction:column;
  gap:9px;
  cursor:pointer;
  text-decoration:none;
  color:inherit;
  transition:border-color .16s ease, transform .16s ease;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-tile:hover {
  border-color:rgb(var(--c-brand-600));
  transform:translateY(-2px);
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-ticon {
  width:34px;
  height:34px;
  border-radius:9px;
  display:grid;
  place-items:center;
  background:rgb(var(--c-brand-50));
  color:rgb(var(--c-brand-600));
  flex:none;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-tile b {
  font-family:'Plus Jakarta Sans', system-ui, sans-serif;
  font-size:13.5px;
  font-weight:700;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-tile span {
  font-size:12px;
  color:rgb(var(--c-ink-400));
  line-height:1.45;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-tile .fs-hlxm-badge {
  font-family:'IBM Plex Mono', ui-monospace, monospace;
  font-size:12px;
  padding:2px 6px;
  border-radius:5px;
  align-self:flex-start;
  font-weight:500;
  line-height:15.500px;
}

@media (max-width:820px) {
  [data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-tiles {
    grid-template-columns:repeat(2,1fr);
  }
}

/* ---- M4, generated by scripts/port-menu.mjs ---- */
/* The design's inherited context, re-established at the panel root.
   Every value below is one the kit set on <body> and its descendants
   relied on without restating. */
[data-fs-theme='helixdesk'] .fs-hlxm-wrap {
  font-family:'IBM Plex Sans', system-ui, sans-serif;
  font-size:15px;
  font-weight:initial;
  font-style:initial;
  line-height:1.55;
  letter-spacing:initial;
  word-spacing:initial;
  color:rgb(var(--c-ink-950));
  text-transform:initial;
  -webkit-font-smoothing:antialiased;
  font-variant-numeric:initial;
}

/* The design's inheritance model, re-established for descendants.
   Inheritance never beats a direct declaration, so a root baseline
   alone cannot undo a platform rule that targets a bare tag. */
[data-fs-theme='helixdesk'] .fs-hlxm-wrap *:not(button):not(input):not(select):not(textarea) {
  line-height:inherit;
  letter-spacing:inherit;
  word-spacing:inherit;
  text-transform:inherit;
  font-variant-numeric:inherit;
}

/* What the UA gives a form control on the design page, said out
   loud, because the port's CSS reset does not give the same thing. */
[data-fs-theme='helixdesk'] .fs-hlxm-wrap :is(button,input,select,textarea) {
  line-height:normal;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-statuspill {
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-family:'IBM Plex Mono', ui-monospace, monospace;
  font-size:12px;
  font-weight:500;
  color:rgb(var(--fs-status-ok));
  background:rgb(var(--fs-status-ok-tint));
  padding:5px 9px;
  border-radius:99px;
  line-height:17.050px;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-statuspill::before {
  content:'';
  width:6px;
  height:6px;
  border-radius:99px;
  background:rgb(var(--fs-status-ok));
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-mono {
  font-family:'IBM Plex Mono', ui-monospace, monospace;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-split {
  display:grid;
  grid-template-columns:236px 1fr;
  min-height:288px;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-rail {
  background:rgb(var(--c-paper-soft));
  border-right:1px solid rgb(var(--c-line));
  padding:16px 12px;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-railitem {
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 11px;
  border-radius:8px;
  font-size:13.5px;
  cursor:pointer;
  color:rgb(var(--c-ink-700));
  border:none;
  background:none;
  width:100%;
  text-align:left;
  font-family:'IBM Plex Sans', system-ui, sans-serif;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-railitem:hover {
  background:rgb(var(--c-line-soft));
  color:rgb(var(--c-ink-950));
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-railitem.fs-hlxm-on {
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
  font-weight:600;
  box-shadow:0 1px 2px rgba(15,33,56,.05), 0 12px 28px rgba(15,33,56,.08);
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-railitem .fs-hlxm-g {
  width:20px;
  height:20px;
  border-radius:6px;
  background:rgb(var(--c-brand-50));
  color:rgb(var(--c-brand-600));
  display:grid;
  place-items:center;
  flex:none;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-preview {
  padding:24px;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-pv[hidden] {
  display:none;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-pv h4 {
  font-family:'Plus Jakarta Sans', system-ui, sans-serif;
  font-size:17px;
  font-weight:700;
  margin:0 0 6px;
  letter-spacing:-.2px;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-pv > p {
  margin:0 0 16px;
  color:rgb(var(--c-ink-400));
  font-size:13.5px;
  max-width:58ch;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-pvgrid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-pvcard {
  border:1px solid rgb(var(--c-line));
  border-radius:10px;
  padding:13px;
  background:rgb(var(--c-paper));
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-pvcard b {
  display:block;
  font-family:'Plus Jakarta Sans', system-ui, sans-serif;
  font-size:13px;
  font-weight:700;
  margin-bottom:4px;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-pvcard span {
  font-size:12px;
  color:rgb(var(--c-ink-400));
  line-height:16.675px;
  display:block;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-slabar {
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid rgb(var(--c-line-soft));
  flex-wrap:wrap;
}

@media (max-width:820px) {
  [data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-pvgrid {
    grid-template-columns:repeat(2,1fr);
  }
}

@media (max-width:820px) {
  [data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-split {
    grid-template-columns:1fr;
  }
}

/* ---- M5, generated by scripts/port-menu.mjs ---- */
/* The design's inherited context, re-established at the panel root.
   Every value below is one the kit set on <body> and its descendants
   relied on without restating. */
[data-fs-theme='helixdesk'] .fs-hlxm-wrap {
  font-family:'IBM Plex Sans', system-ui, sans-serif;
  font-size:15px;
  font-weight:initial;
  font-style:initial;
  line-height:1.55;
  letter-spacing:initial;
  word-spacing:initial;
  color:rgb(var(--c-ink-950));
  text-transform:initial;
  -webkit-font-smoothing:antialiased;
  font-variant-numeric:initial;
}

/* The design's inheritance model, re-established for descendants.
   Inheritance never beats a direct declaration, so a root baseline
   alone cannot undo a platform rule that targets a bare tag. */
[data-fs-theme='helixdesk'] .fs-hlxm-wrap *:not(button):not(input):not(select):not(textarea) {
  line-height:inherit;
  letter-spacing:inherit;
  word-spacing:inherit;
  text-transform:inherit;
  font-variant-numeric:inherit;
}

/* What the UA gives a form control on the design page, said out
   loud, because the port's CSS reset does not give the same thing. */
[data-fs-theme='helixdesk'] .fs-hlxm-wrap :is(button,input,select,textarea) {
  line-height:normal;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-linkarrow {
  color:rgb(var(--c-brand-600));
  font-size:13px;
  font-weight:600;
  text-decoration:none;
  font-family:'Plus Jakarta Sans', system-ui, sans-serif;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-canvas {
  background:linear-gradient(160deg,rgb(var(--c-ink-950)) 0%,#16304D 60%,#123A4E 100%);
  color:#E8EFF8;
  padding:30px 26px;
  position:relative;
  overflow:hidden;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-canvas::before {
  content:'';
  position:absolute;
  right:-80px;
  top:-90px;
  width:340px;
  height:340px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(143,230,206,.22),transparent 65%);
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-canvas::after {
  content:'';
  position:absolute;
  left:20%;
  bottom:-140px;
  width:300px;
  height:300px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(35,83,224,.35),transparent 68%);
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-canvas > * {
  position:relative;
  z-index:1;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-canvashead {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:20px;
  flex-wrap:wrap;
  margin-bottom:22px;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-canvashead h3 {
  font-family:'Plus Jakarta Sans', system-ui, sans-serif;
  font-weight:800;
  font-size:23px;
  margin:0;
  letter-spacing:-.5px;
  color:#fff;
  text-wrap:balance;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-canvashead p {
  margin:5px 0 0;
  color:#9FB4CE;
  font-size:13.5px;
  max-width:46ch;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-cgrid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-ccard {
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.11);
  border-radius:12px;
  padding:16px;
  backdrop-filter:blur(6px);
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-ccard b {
  display:block;
  font-family:'Plus Jakarta Sans', system-ui, sans-serif;
  font-size:14px;
  font-weight:700;
  color:#fff;
  margin-bottom:5px;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-ccard span {
  font-size:12.5px;
  color:#9FB4CE;
  line-height:1.5;
  display:block;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-metric {
  font-family:'IBM Plex Mono', ui-monospace, monospace;
  font-size:26px;
  font-weight:600;
  color:#8FE6CE;
  letter-spacing:-1px;
  display:block;
  margin-bottom:2px;
}

@media (max-width:820px) {
  [data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-cgrid {
    grid-template-columns:repeat(2,1fr);
  }
}



/* ── The two pinned constants ──────────────────────────────────── */
/* Declared on the theme AND on the family root, because the hero is a
   universal block (it carries no .fs-gate class) while the ride lozenge
   is one of ours. */
[data-fs-theme='turnstile'], .fs-gate {
  --fs-gate-scrim: 24 15 8;
  --fs-gate-on-scrim: 251 244 231;
}

/* THE SCRIM IS NOT A PALETTE COLOUR, and this is the whole reason it is
   pinned. The platform hero paints its scrim from ink-950, which is the
   INK token — in a dark palette ink-950 is nearly white, so the gradient
   that exists to keep white type readable over a photograph inverts and
   washes the type out instead. Verified by shooting the hero in dark
   mode: the headline survived, the intro line and the second CTA did
   not. A scrim protects type from an image and has no business tracking
   the palette in either direction. */
[data-fs-theme='turnstile'] .fs-hero-full-scrim {
  background-image: linear-gradient(
    to top,
    rgb(var(--fs-gate-scrim) / 0.88) 0%,
    rgb(var(--fs-gate-scrim) / 0.62) 45%,
    rgb(var(--fs-gate-scrim) / 0.34) 100%
  );
}

/* ── Shared vocabulary ─────────────────────────────────────────── */
.fs-gate {
  position: relative;
  isolation: isolate;
  color: rgb(var(--c-ink-950));
}
.fs-gate *, .fs-gate *::before, .fs-gate *::after { box-sizing: border-box; }
.fs-gate-shell {
  width: min(100% - 2.5rem, var(--fs-shell, 72rem));
  margin-inline: auto;
}
.fs-gate-head { margin-bottom: var(--fs-space-heading, 2rem); }
.fs-gate-eyebrow {
  font-size: var(--fs-type-eyebrow, 0.75rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgb(var(--c-brand-600));
  margin-bottom: 0.5rem;
}
.fs-gate-lede {
  color: rgb(var(--c-ink-700));
  max-width: 60ch;
  margin-top: 0.6rem;
}

/* The height-band chip. Shared by the roster and the finder on purpose:
   it is the same vocabulary the gate wristbands use, so a visitor who
   learns it once on the roster reads the finder without a legend. */
.fs-gate-chip {
  display: inline-flex; align-items: center; gap: 0.45em;
  padding: 0.22em 0.9em;
  border-radius: var(--fs-radius-pill, 999px);
  font-size: var(--fs-type-caption, 0.875rem);
  font-weight: 700;
  border: 2px solid rgb(var(--c-ink-950) / 0.14);
  background: rgb(var(--c-paper));
  white-space: nowrap;
}
.fs-gate-chip::before {
  content: ''; width: 0.55em; height: 0.55em; border-radius: 999px;
  background: var(--fs-gate-chip-ink, rgb(var(--c-brand-600)));
  flex: none;
}
.fs-gate-chip.is-acorn  { --fs-gate-chip-ink: rgb(var(--c-brand-600)); }
.fs-gate-chip.is-sapling { --fs-gate-chip-ink: rgb(var(--c-accent)); }
.fs-gate-chip.is-rowan  { --fs-gate-chip-ink: rgb(var(--c-brand-700)); }
.fs-gate-chip.is-oak    { --fs-gate-chip-ink: rgb(var(--c-ink-950)); }

/* ── favGateRides — the ride roster ────────────────────────────── */
.fs-gate-rides {
  display: grid; gap: var(--fs-space-gap, 1.25rem);
  grid-template-columns: repeat(auto-fit, minmax(min(17rem, 100%), 1fr));
}
.fs-gate-ride {
  display: flex; flex-direction: column;
  background: rgb(var(--c-paper-soft));
  border: 1px solid rgb(var(--c-ink-950) / 0.12);
  border-radius: var(--fs-radius-card, 1rem);
  box-shadow: var(--fs-shadow-card, 0 1px 2px rgb(0 0 0 / 0.08));
  overflow: hidden;
}
.fs-gate-ride-photo { aspect-ratio: 3 / 2; position: relative; overflow: hidden; }
/* The picture is absolutely placed so the FRAME's aspect ratio rules.
   Letting the image participate in layout stretches the frame to the
   photo's intrinsic height and every card comes out a different shape. */
.fs-gate-ride-photo picture,
.fs-gate-ride-photo img { position: absolute; inset: 0; }
.fs-gate-ride-photo img { width: 100%; height: 100%; object-fit: cover; }
.fs-gate-ride-zone {
  position: absolute; left: 0.8rem; top: 0.8rem; z-index: 1;
  padding: 0.2em 0.85em;
  border-radius: var(--fs-radius-pill, 999px);
  background: rgb(var(--fs-gate-scrim) / 0.72);
  color: rgb(var(--fs-gate-on-scrim));
  font-size: var(--fs-type-eyebrow, 0.75rem);
  font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase;
}
.fs-gate-ride-body { display: grid; gap: 0.45rem; padding: var(--fs-space-card, 1.25rem); }
.fs-gate-ride-body h3 { display: flex; align-items: center; gap: 0.5em; flex-wrap: wrap; }
.fs-gate-ride-body p { font-size: var(--fs-type-caption, 0.875rem); color: rgb(var(--c-ink-700)); }
.fs-gate-ride-foot {
  display: flex; align-items: center; gap: 0.6rem; flex-wrap: wrap;
  margin-top: auto;
  padding: 0 var(--fs-space-card, 1.25rem) var(--fs-space-card, 1.25rem);
}
/* Thrill rating: filled dots against unfilled, so it reads at a glance
   without a number and without depending on hue. */
.fs-gate-thrill { display: inline-flex; gap: 0.22em; align-items: center; }
.fs-gate-thrill i {
  width: 0.5em; height: 0.5em; border-radius: 999px;
  background: rgb(var(--c-accent)); font-style: normal;
}
.fs-gate-thrill i.is-off { background: rgb(var(--c-ink-950) / 0.16); }

/* ── favGateHeights — the ride finder ──────────────────────────── */
.fs-gate-picker {
  display: flex; flex-wrap: wrap; gap: var(--fs-space-gap, 1.25rem);
  margin-bottom: var(--fs-space-heading, 2rem);
}
.fs-gate-picker button {
  display: inline-flex; align-items: center; gap: 0.5em;
  min-height: 44px; padding: 0.4em 1.2em;
  border-radius: var(--fs-radius-pill, 999px);
  border: 2px solid rgb(var(--c-ink-950) / 0.12);
  font: inherit; font-weight: 700; cursor: pointer;
  background: rgb(var(--c-paper-soft));
  color: rgb(var(--c-ink-950));
  transition: border-color var(--fs-motion-hover, 160ms) ease,
              background var(--fs-motion-hover, 160ms) ease;
}
.fs-gate-picker button[aria-pressed='true'] {
  border-color: rgb(var(--c-brand-600));
  background: rgb(var(--c-brand-50) / 0.55);
}
.fs-gate-picker button:focus-visible {
  outline: none;
  box-shadow: 0 0 0 4px rgb(var(--c-brand-600) / 0.35);
}
.fs-gate-bands {
  display: grid; gap: var(--fs-space-gap, 1.25rem);
  grid-template-columns: repeat(auto-fit, minmax(min(15rem, 100%), 1fr));
}
.fs-gate-band {
  border: 2px solid rgb(var(--c-ink-950) / 0.12);
  border-radius: var(--fs-radius-card, 1rem);
  background: rgb(var(--c-paper-soft));
  padding: var(--fs-space-card, 1.25rem);
  transition: opacity var(--fs-motion-hover, 160ms) ease,
              border-color var(--fs-motion-hover, 160ms) ease,
              transform var(--fs-motion-hover, 160ms) ease;
}
/* Dimmed, not hidden: a parent still wants to see what the next band up
   would unlock, which is the whole argument for booking the taller
   child's ticket. */
.fs-gate-band.is-out { opacity: 0.45; }
.fs-gate-band.is-edge {
  border-color: rgb(var(--c-brand-600));
  transform: translateY(-3px);
}
.fs-gate-band-head {
  display: flex; align-items: center; justify-content: space-between;
  gap: 0.5rem; margin-bottom: var(--fs-space-stack, 0.75rem);
}
.fs-gate-band ul {
  list-style: none; margin: 0; padding: 0;
  display: grid; gap: 0.28rem;
  font-size: var(--fs-type-caption, 0.875rem); font-weight: 600;
}
.fs-gate-band li { display: flex; gap: 0.5em; align-items: center; }
.fs-gate-band li::before {
  content: ''; width: 0.4em; height: 0.4em; border-radius: 999px;
  background: var(--fs-gate-chip-ink, rgb(var(--c-brand-600)));
  flex: none;
}
.fs-gate-band-note {
  margin-top: var(--fs-space-stack, 0.75rem);
  font-size: var(--fs-type-eyebrow, 0.75rem);
  font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
/* The count line answers the question in words. The finder exists so a
   parent can plan, and "14 of our 24 rides" is the plan. */
.fs-gate-count { margin-top: var(--fs-space-heading, 2rem); font-weight: 700; }

/* ── favGateBoard — the painted price board ────────────────────── */
.fs-gate-board {
  position: relative; isolation: isolate; overflow: hidden;
  background: rgb(var(--c-paper-soft));
  border: 2px solid rgb(var(--c-ink-950) / 0.55);
  border-radius: var(--fs-radius-card, 1rem);
  box-shadow: var(--fs-shadow-lift, 0 8px 24px rgb(0 0 0 / 0.12));
  padding: var(--fs-space-card, 1.25rem);
  display: grid; gap: var(--fs-space-gap, 1.25rem);
}
.fs-gate-sunburst {
  position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1;
}
.fs-gate-prices {
  display: grid; gap: var(--fs-space-gap, 1.25rem);
  grid-template-columns: repeat(auto-fit, minmax(min(13rem, 100%), 1fr));
}
.fs-gate-price {
  border: 1px solid rgb(var(--c-ink-950) / 0.12);
  border-radius: var(--fs-radius-card, 1rem);
  background: rgb(var(--c-paper) / 0.6);
  padding: var(--fs-space-card, 1.25rem);
  text-align: center; display: grid; gap: 0.3rem;
}
/* The one number the design exists to show. Display face, h2 size: a
   from-price in body copy is what every competitor does. */
.fs-gate-price b {
  font-family: var(--font-display, Georgia, serif);
  font-weight: 400;
  font-size: var(--fs-type-h2, 2rem);
  line-height: 1.1;
  color: rgb(var(--c-brand-600));
}
.fs-gate-price small {
  font-size: var(--fs-type-caption, 0.875rem);
  font-weight: 600; color: rgb(var(--c-ink-700));
}
/* The family total, in a dashed ticket. No competitor totals a family;
   this is the block's reason to exist, so it gets the same type size as
   the individual prices rather than being a footnote under them. */
.fs-gate-family {
  position: relative;
  border: 2px dashed rgb(var(--c-accent));
  border-radius: var(--fs-radius-card, 1rem);
  background: rgb(var(--c-brand-50) / 0.45);
  padding: var(--fs-space-card, 1.25rem);
  display: grid; gap: 0.35rem;
}
.fs-gate-family b {
  font-family: var(--font-display, Georgia, serif);
  font-weight: 400;
  font-size: var(--fs-type-h2, 2rem);
  color: rgb(var(--c-brand-600));
}
.fs-gate-small {
  font-size: var(--fs-type-caption, 0.875rem);
  color: rgb(var(--c-ink-700));
}
.fs-gate-small ul { margin: 0; padding: 0; display: grid; gap: 0.3rem; }
.fs-gate-small li { list-style: none; display: flex; gap: 0.5em; align-items: flex-start; }
.fs-gate-small svg {
  width: 1.1em; height: 1.1em; flex: none;
  margin-top: 0.15em; color: rgb(var(--c-accent));
}

/* ── favGatePlanner — the season strip and the promises ────────── */
.fs-gate-season {
  display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 0.3rem;
  margin-bottom: var(--fs-space-heading, 2rem);
}
.fs-gate-month {
  display: grid; place-items: center; gap: 0.15rem;
  padding: 0.5em 0.2em;
  border-radius: var(--fs-radius-control, 0.5rem);
  font-size: var(--fs-type-eyebrow, 0.75rem);
  font-weight: 700; letter-spacing: 0.04em;
  border: 1px solid rgb(var(--c-ink-950) / 0.12);
  background: rgb(var(--c-paper-soft));
  color: rgb(var(--c-ink-400));
  text-align: center;
}
.fs-gate-month i { font-style: normal; font-size: 0.85em; }
/* Open-ness differs by fill AND border style, never fill alone: three
   states at this size need a second channel to stay readable. */
.fs-gate-month.is-daily {
  background: rgb(var(--c-brand-50) / 0.7);
  border-color: rgb(var(--c-brand-600) / 0.5);
  color: rgb(var(--c-ink-950));
}
.fs-gate-month.is-weekends {
  background: rgb(var(--c-paper-soft));
  border-color: rgb(var(--c-accent) / 0.6);
  color: rgb(var(--c-ink-700));
}
.fs-gate-month.is-events {
  border-style: dashed; border-color: rgb(var(--c-accent));
  color: rgb(var(--c-ink-700));
}
.fs-gate-key {
  display: flex; flex-wrap: wrap; gap: var(--fs-space-gap, 1.25rem);
  font-size: var(--fs-type-caption, 0.875rem); font-weight: 600;
  color: rgb(var(--c-ink-700));
  margin-bottom: var(--fs-space-heading, 2rem);
}
.fs-gate-key span { display: inline-flex; align-items: center; gap: 0.45em; }
.fs-gate-key i {
  width: 0.9em; height: 0.9em; border-radius: 0.25em; font-style: normal;
  border: 1px solid rgb(var(--c-ink-950) / 0.12);
}
.fs-gate-key .k-daily { background: rgb(var(--c-brand-50) / 0.7); border-color: rgb(var(--c-brand-600) / 0.5); }
.fs-gate-key .k-weekends { border-color: rgb(var(--c-accent) / 0.7); }
.fs-gate-key .k-events { border-style: dashed; border-color: rgb(var(--c-accent)); }
.fs-gate-promises {
  display: grid; gap: var(--fs-space-gap, 1.25rem);
  grid-template-columns: repeat(auto-fit, minmax(min(16rem, 100%), 1fr));
}
.fs-gate-promise {
  display: grid; grid-template-columns: 2.6rem minmax(0, 1fr); gap: 0.8rem;
  align-items: start;
  background: rgb(var(--c-paper-soft));
  border: 1px solid rgb(var(--c-ink-950) / 0.12);
  border-radius: var(--fs-radius-card, 1rem);
  box-shadow: var(--fs-shadow-card, 0 1px 2px rgb(0 0 0 / 0.08));
  padding: var(--fs-space-card, 1.25rem);
}
.fs-gate-promise svg { width: 2.6rem; height: 2.6rem; color: rgb(var(--c-brand-600)); }
.fs-gate-promise h3 {
  font-size: var(--fs-type-body, 1rem);
  font-family: var(--font-sans, system-ui, sans-serif);
  font-weight: 700; margin-bottom: 0.2rem;
}
.fs-gate-promise p { font-size: var(--fs-type-caption, 0.875rem); color: rgb(var(--c-ink-700)); }

/* ── favGateSafety — the checked-every-morning panel ───────────── */
.fs-gate-safety {
  /* The one deliberately dark band per page: the change of register from
     the painted front-of-house to the engineering shed behind it.
     Painted with palette tokens, so dark mode inverts it gracefully. */
  background: rgb(var(--c-ink-950));
  color: rgb(var(--c-paper));
  border-radius: var(--fs-radius-card, 1rem);
  padding: calc(var(--fs-space-card, 1.25rem) * 1.6);
  display: grid; gap: var(--fs-space-heading, 2rem);
}
.fs-gate-safety .fs-gate-eyebrow { color: rgb(var(--c-accent)); }
.fs-gate-safety h2 { color: rgb(var(--c-paper)); }
.fs-gate-safety p { color: rgb(var(--c-paper) / 0.8); }
.fs-gate-safety a { color: rgb(var(--c-accent)); }
.fs-gate-facts {
  display: grid; gap: var(--fs-space-gap, 1.25rem);
  grid-template-columns: repeat(auto-fit, minmax(min(13rem, 100%), 1fr));
}
.fs-gate-fact {
  border: 1px solid rgb(var(--c-paper) / 0.22);
  border-radius: var(--fs-radius-card, 1rem);
  padding: var(--fs-space-card, 1.25rem);
  display: grid; gap: 0.3rem;
}
.fs-gate-fact b {
  font-family: var(--font-display, Georgia, serif);
  font-weight: 400;
  font-size: var(--fs-type-h3, 1.5rem);
  color: rgb(var(--c-accent));
}
.fs-gate-fact span { font-size: var(--fs-type-caption, 0.875rem); color: rgb(var(--c-paper) / 0.75); }

/* ── Reduced motion ────────────────────────────────────────────── */
/* SCOPED to animation and transition only, deliberately. The blanket
   opacity/transform reset used elsewhere in the registry would repaint
   the finder's dimmed bands to full opacity and flatten the selected
   band's lift, erasing the one piece of state this family carries.
   Found live in the prototype; recorded in PITFALLS. */
@media (prefers-reduced-motion: reduce) {
  .fs-gate-band,
  .fs-gate-picker button {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* ── favGateFooter (theme-chrome batch 6, Turnstile) ───────────────
   The board at the gate. fs-gate-ft: the full-bleed band on the page
   ground (named container); fs-gate-ft-in: the content box, which
   narrows with the Layout (named container). One plywood board with
   the sunburst rising from below its foot and a hard 7px shadow; the
   big wheel on its brand halo; the fourth column the dark plaque (ink
   ground and page words in both modes, so it turns light at night, as
   favGateSafety does). */
.fs-gate-ft{container-type:inline-size;container-name:fs-gate-ft;padding:0 clamp(1rem,4vw,2.5rem);background:rgb(var(--c-paper));--gate-ft-rule:rgb(var(--c-ink-950) / .13);--gate-ft-edge:rgb(var(--c-ink-950) / .55);--gate-ft-ray:rgb(var(--c-ink-950) / .05);--gate-ft-ray-hdr:rgb(var(--c-brand-600) / .24);--gate-ft-stud:rgb(var(--c-ink-950) / .28);--gate-ft-tile-hi:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 45%, rgb(var(--c-paper)));--gate-ft-sh-m:7px 7px 0 rgb(var(--c-ink-950) / .2)}
.fs-gate-ft:is(.dark *):not(.fs-preview-light *){--gate-ft-rule:rgb(var(--c-ink-950) / .16);--gate-ft-edge:rgb(var(--c-ink-950) / .42);--gate-ft-ray:rgb(var(--c-ink-950) / .07);--gate-ft-ray-hdr:rgb(var(--c-brand-600) / .26);--gate-ft-sh-m:7px 7px 0px rgb(0 0 0 / .45)}
.fs-gate-ft-in{container-type:inline-size;container-name:fs-gate-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:52px 30px}
.fs-gate-ft-board{overflow:hidden;border:2px solid var(--gate-ft-edge);border-radius:20px;background:repeating-conic-gradient(from -4.7deg at 50% 135%,var(--gate-ft-ray) 0deg 9.45deg,transparent 9.45deg 22.5deg),rgb(var(--c-paper-soft));box-shadow:var(--gate-ft-sh-m)}
.fs-gate-ft-mark{position:relative;isolation:isolate;display:block;flex:none;width:46px;height:46px}
.fs-gate-ft-mark::before{content:"";position:absolute;inset:-32%;z-index:-1;border-radius:50%;background:repeating-conic-gradient(from -4.7deg at 50% 48%,var(--gate-ft-ray-hdr) 0deg 9.45deg,transparent 9.45deg 22.5deg);-webkit-mask:radial-gradient(closest-side,rgb(var(--c-ink-950)) 38%,transparent);mask:radial-gradient(closest-side,rgb(var(--c-ink-950)) 38%,transparent)}
.fs-gate-ft-mark svg{display:block;width:100%;height:100%}
.fs-gate-ft-mk-b{fill:rgb(var(--c-brand-600))}
.fs-gate-ft-mk-a{fill:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-gate-ft-mk-s{fill:none;stroke:rgb(var(--c-brand-600));stroke-linecap:round}
.fs-gate-ft-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.15fr)}
.fs-gate-ft-col{min-width:0;padding:28px 24px 26px;border-left:1px solid var(--gate-ft-rule)}
.fs-gate-ft-col:first-child{border-left:0}
.fs-gate-ft-logo{display:flex;align-items:center;gap:10px}
.fs-gate-ft-name{max-width:7.4em;margin:0;font-family:var(--font-display, 'Alfa Slab One', Georgia, serif);font-weight:400;font-size:20px;line-height:.98;color:rgb(var(--c-ink-950))}
.fs-gate-ft-addr{margin:16px 0 0;font-weight:600;font-size:14px;line-height:1.5;color:rgb(var(--c-ink-700))}
.fs-gate-ft-tel{display:inline-block;margin-top:10px;font-family:var(--font-display, 'Alfa Slab One', Georgia, serif);font-weight:400;font-size:23px;line-height:1.1;color:rgb(var(--c-brand-text));text-decoration:none}
.fs-gate-ft-since{max-width:30ch;margin:10px 0 0;font-weight:500;font-size:13.5px;line-height:1.5;color:rgb(var(--c-ink-700))}
.fs-gate-ft-h{margin:0 0 12px;font-weight:700;font-size:11.5px;line-height:1.2;letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--c-brand-text))}
.fs-gate-ft-list{display:grid;gap:2px;list-style:none;margin:0;padding:0}
.fs-gate-ft-li{margin:0;padding:0}
.fs-gate-ft-link{display:inline-flex;align-items:baseline;gap:9px;padding-block:3px;font-weight:600;font-size:14.5px;line-height:1.35;color:rgb(var(--c-ink-950));text-decoration:none}
.fs-gate-ft-link::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--gate-ft-stud);transform:translateY(-1px);transition:background var(--fs-motion-hover, 160ms) ease}
.fs-gate-ft-link:hover{color:rgb(var(--c-brand-text))}
.fs-gate-ft-link:hover::before{background:rgb(var(--c-brand-600))}
.fs-gate-ft-big{margin:0;font-family:var(--font-display, 'Alfa Slab One', Georgia, serif);font-weight:400;font-size:26px;line-height:1.05;color:rgb(var(--c-brand-text));font-variant-numeric:tabular-nums}
.fs-gate-ft-p{max-width:32ch;margin:8px 0 0;font-weight:600;font-size:14px;line-height:1.5;color:rgb(var(--c-ink-700))}
.fs-gate-ft-safe-cell{padding:12px}
.fs-gate-ft-safe{height:100%;padding:18px;border-radius:14px;background:rgb(var(--c-ink-950));color:rgb(var(--c-paper))}
.fs-gate-ft-safe .fs-gate-ft-h{color:var(--gate-ft-tile-hi)}
.fs-gate-ft-facts{display:grid;gap:10px;list-style:none;margin:0;padding:0}
.fs-gate-ft-fact{display:grid;gap:2px;padding:10px 12px;border:1px solid rgb(var(--c-paper) / .24);border-radius:10px}
.fs-gate-ft-fact-v{font-family:var(--font-display, 'Alfa Slab One', Georgia, serif);font-weight:400;font-size:22px;line-height:1.05;color:var(--gate-ft-tile-hi)}
.fs-gate-ft-fact-l{font-weight:600;font-size:13px;line-height:1.4;color:rgb(var(--c-paper) / .82)}
.fs-gate-ft-certs{display:flex;flex-wrap:wrap;gap:4px 14px;margin:12px 0 0;font-weight:700;font-size:13px;line-height:1.4}
.fs-gate-ft-cert{color:rgb(var(--c-paper));text-decoration:underline;text-decoration-color:var(--gate-ft-tile-hi);text-decoration-thickness:2px;text-underline-offset:3px}
.fs-gate-ft-legal{display:flex;flex-wrap:wrap;gap:6px 18px;margin:18px 0 0;font-weight:600;font-size:13px;line-height:1.4;color:rgb(var(--c-ink-700))}
.fs-gate-ft-legal-t{margin-right:auto}
.fs-gate-ft-legal-a{color:rgb(var(--c-ink-700));text-decoration:none}
.fs-gate-ft-legal-a:hover{color:rgb(var(--c-ink-950))}
@container fs-gate-ft (max-width: 40rem){
  .fs-gate-ft-in{padding-block:36px 24px}
}
@container fs-gate-ft-in (max-width: 56rem){
  .fs-gate-ft-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-gate-ft-col:nth-child(3){border-left:0;border-top:1px solid var(--gate-ft-rule)}
  .fs-gate-ft-col:nth-child(2){border-left:1px solid var(--gate-ft-rule)}
}
@container fs-gate-ft (max-width: 48rem){
  .fs-gate-ft-grid{grid-template-columns:minmax(0,1fr)}
  .fs-gate-ft-col{border-left:0;padding:22px 20px}
  .fs-gate-ft-col + .fs-gate-ft-col{border-top:1px solid var(--gate-ft-rule)}
  .fs-gate-ft-col:nth-child(2){border-left:0}
  .fs-gate-ft-safe-cell{padding:0 12px 12px}
  .fs-gate-ft-col + .fs-gate-ft-safe-cell{border-top:0}
  .fs-gate-ft-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container fs-gate-ft (max-width: 26rem){
  .fs-gate-ft-facts{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion: reduce){
  .fs-gate-ft-link::before{transition:none}
}


/* overflow:CLIP, not hidden, and this one line is load-bearing twice
   over. "hidden" makes an element a scroll container; "clip" clips
   identically without becoming one. A scroll-container ancestor
   (a) silently kills position:sticky on descendants, and (b) captures
   any descendant's "view()" animation timeline, binding it to a box
   that never scrolls — so the animation attaches, reports as running,
   and sits frozen at a constant progress forever. Both were live bugs
   here, found by measuring motion rather than reading CSS. */
.fs-au{
  position:relative;overflow:clip;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-au *{box-sizing:border-box;}

/* ── Type ─────────────────────────────────────────────────────── */
.fs-au-eyebrow{
  display:inline-flex;align-items:center;
  padding:.35rem .85rem;
  border-radius:var(--fs-radius-pill, 999px);
  background:rgb(var(--c-brand-600) / .12);
  color:rgb(var(--c-brand-600));
  font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
}
.fs-au-title{
  margin:1.2rem 0 0;
  font-family:var(--font-display, 'Space Grotesk', sans-serif);
  font-size:clamp(2.6rem,6vw,4.6rem);
  line-height:1.04;font-weight:600;letter-spacing:-.01em;
}
.fs-au-accent{color:rgb(var(--c-brand-600));}
.fs-au-sub{
  margin:1.4rem 0 0;max-width:48ch;
  font-size:clamp(1rem,1.6vw,1.15rem);line-height:1.7;
  color:rgb(var(--c-ink-700));
}
.fs-au-h{
  margin:0;
  font-family:var(--font-display, 'Space Grotesk', sans-serif);
  font-size:clamp(2rem,3.8vw,2.9rem);
  line-height:1.12;font-weight:600;letter-spacing:-.01em;
}

/* ── Buttons ──────────────────────────────────────────────────── */
.fs-au-ctas{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.2rem;align-items:center;}
.fs-au-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.95rem 1.9rem;
  border-radius:var(--fs-radius-pill, 999px);
  font-size:.95rem;font-weight:600;line-height:1;white-space:nowrap;
  color:var(--fs-on-brand, rgb(var(--c-paper)));
  background:rgb(var(--c-brand-600));
  box-shadow:var(--fs-shadow-card, 0 12px 28px rgba(0,0,0,.18));
  transition:transform .2s ease, box-shadow .2s ease;
}
.fs-au-btn:hover{transform:translateY(-2px);}
.fs-au-btn2{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.95rem 1.9rem;
  border-radius:var(--fs-radius-pill, 999px);
  font-size:.95rem;font-weight:600;line-height:1;white-space:nowrap;
  color:rgb(var(--c-ink-950));
  background:transparent;
  border:1.5px solid rgb(var(--c-line));
  transition:border-color .2s ease, background .2s ease;
}
.fs-au-btn2:hover{border-color:rgb(var(--c-brand-600));background:rgb(var(--c-brand-600) / .06);}

/* ═════════ HERO (favAuroraHero) — MULTI-LAYER DEPTH ═════════
   Three planes drifting at three different rates, with the text at
   full speed, so four things travel differently as the hero passes.

   WHY NOT THE perspective + translateZ TRICK. That is the technique
   every "CSS parallax" article reaches for, and it was what this hero
   shipped with — but it only produces relative motion when the element
   carrying the perspective IS the scroll container. Here the window
   scrolls and the stage rides along inside it, so the projection never
   changes and every layer moves in lockstep with the page. Measured:
   at 300px of scroll, all four layers moved exactly 300px. It looked
   like a zoomed photo and nothing else. Making it work that way would
   mean giving the scroll container itself a perspective, which on this
   platform means the page shell — invasive, and it would fight the
   editor's own scrolling.

   So the backdrop STICKS instead: the whole stage pins to the viewport
   while the copy scrolls up and off it. Two genuinely different rates
   (stage 0, text full) which is exactly what the eye reads as
   parallax, and position:sticky needs nothing from the scroll
   container and no newer CSS feature at all. Measured: 60px of
   backdrop movement against 300px of text over the same scroll. */
.fs-au-hero{
  position:relative;
  /* Belt and braces. .fs-au is overflow:clip now, which does NOT make
     a scroll container and so no longer threatens the sticky stage
     below — but this stayed explicit because the failure it guards
     against (stage silently rides with the page, zero parallax) was a
     real bug here and is invisible in a screenshot. */
  overflow:visible;
  /* Deliberately taller than the viewport: that surplus IS the scroll
     distance the sticky stage below holds still for. No surplus, no
     parallax — but every extra vh is also empty backdrop after the
     copy has scrolled off, so this is a real trade. 180vh left an
     80vh void that read as a mistake; 150vh gives about half a screen
     of hold, which is plenty to see and not long enough to feel
     abandoned. */
  min-height:150vh;
  padding:0;
}
/* The whole backdrop sticks to the viewport while the copy scrolls up
   and off it. Two genuinely different rates — stage 0, text full —
   which is what the eye reads as parallax. */
.fs-au-hero-stage{
  position:sticky;top:0;
  height:100vh;width:100%;
  overflow:clip;z-index:0;
}
.fs-au-hero-layer{position:absolute;inset:0;display:block;}
.fs-au-hero-layer img,
.fs-au-hero-far > *{width:100%;height:100%;object-fit:cover;display:block;}

/* The two drawn layers. Painted from palette variables rather than
   shipped as art, so they re-tint with the colour switcher and cost
   nothing to load. */
.fs-au-hero-mid{
  /* Base version: two of the three blobs are the SAME colour
     (--c-brand-600) at different opacities. On Aurora's own palette
     that reads fine because --c-accent supplies real hue contrast on
     the first blob. On a theme with no distinct accent (--c-accent
     falls back to brand-600 too) or one whose brand/accent are close
     in tone, all three blobs collapse toward one hue and the glow
     reads as a flat, muddy wash instead of light — measured on
     RealtyWave, screenshot 2026-08-21. This declaration is the
     fallback for a browser without color-mix(); every browser that
     has it gets the @supports version below instead. */
  background:
    radial-gradient(closest-side, rgb(var(--c-accent, var(--c-brand-600)) / .55), transparent 72%) 16% 26% / 44% 50% no-repeat,
    radial-gradient(closest-side, rgb(var(--c-brand-600) / .6), transparent 72%) 82% 20% / 40% 46% no-repeat,
    radial-gradient(closest-side, rgb(var(--c-brand-600) / .4), transparent 72%) 50% 88% / 52% 44% no-repeat;
}
@supports (color: color-mix(in srgb, red, blue)){
  .fs-au-hero-mid{
    /* Lightened and darkened DERIVATIVES of the theme's own brand
       colour, not a second independent token — so there is always a
       light/dark spread even when a theme never defines a distinct
       --c-accent, or defines one close in tone to its brand colour.
       A theme that DOES have real accent contrast (Aurora itself)
       keeps that on the first blob and gains the same light/dark
       depth on the other two, rather than two flat brand-only blobs. */
    background:
      radial-gradient(closest-side, rgb(var(--c-accent, var(--c-brand-600)) / .55), transparent 72%) 16% 26% / 44% 50% no-repeat,
      radial-gradient(closest-side, color-mix(in srgb, color-mix(in srgb, rgb(var(--c-brand-600)) 55%, white 45%) 55%, transparent), transparent 72%) 82% 20% / 40% 46% no-repeat,
      radial-gradient(closest-side, color-mix(in srgb, color-mix(in srgb, rgb(var(--c-brand-600)) 65%, black 35%) 50%, transparent), transparent 72%) 50% 88% / 52% 44% no-repeat;
  }
}
.fs-au-hero-near{
  background:
    radial-gradient(closest-side, rgb(var(--c-accent, var(--c-brand-600)) / .5), transparent 68%) 26% 72% / 15% 15% no-repeat,
    radial-gradient(closest-side, rgb(255 255 255 / .16), transparent 68%) 72% 64% / 11% 11% no-repeat,
    radial-gradient(closest-side, rgb(var(--c-brand-600) / .55), transparent 68%) 60% 18% / 9% 9% no-repeat;
}

/* Static fallback — an ordinary one-screen hero, no hold, no surplus
   height. Also the phone case: a 180vh hero that pins its backdrop is
   a lot of scrolling on a small screen for one headline. */
@media (max-width:760px), (prefers-reduced-motion:reduce){
  .fs-au-hero{min-height:min(46rem,92vh);}
  .fs-au-hero-stage{position:absolute;inset:0;height:auto;}
  .fs-au-hero-inner{margin-top:0;height:auto;min-height:min(46rem,92vh);}
}
.fs-au-wire .fs-au-hero{min-height:min(46rem,92vh);}
.fs-au-wire .fs-au-hero-stage{position:absolute;inset:0;height:auto;}
.fs-au-wire .fs-au-hero-inner{margin-top:0;height:auto;}
.fs-au-wire .fs-au-hero-mid,
.fs-au-wire .fs-au-hero-near{display:none;}
.fs-au-hero-fallback{
  display:block;position:absolute;inset:0;
  /* The REAL cause of the muddy look on another theme (measured on
     RealtyWave, 2026-08-21): this had no solid backing of its own, just
     a faint tint, so the glow blobs above it were really blending
     against whatever the ACTIVE THEME's own page background happens to
     be. Changing the blob COLOURS (the first attempt, still below on
     .fs-au-hero-mid) could not fix that on its own.

     Two wrong fixes tried and measured before this one:
     - --c-ink-950 — that is the TEXT token, light-on-dark in dark mode,
       measured resolving to near-white (237 235 250). Backwards.
     - --c-paper — the right IDEA (a surface token) but the wrong
       assumption. Both realtywave.ts and aurora.ts declare
       defaultMode: 'light', and in that mode RealtyWave's own --c-paper
       is a genuinely light cream (247 242 233, measured) — that is its
       actual brand colour, not a bug. Using it here just recreated the
       same washed-out look, because the glow was never designed to sit
       on a light surface at all: Aurora's own paper (19 18 31) is only
       dark because THAT theme separately chose near-black as its
       surface colour, not because of anything mode-related. A theme
       token was never going to give this effect the dark canvas it was
       designed for, because theme tokens are allowed to be light.

     So: a fixed dark, deliberately NOT theme-derived. This one effect
     needs to always sit on a dark canvas regardless of what the hosting
     theme's own palette happens to choose — the same reason a photo
     backdrop (slots?.backdrop, the other branch here) would also read
     fine: a real photo supplies its own depth the way this solid fill
     now does for the no-photo-yet state. */
  background:
    linear-gradient(135deg, rgb(var(--c-brand-600) / .35), rgb(var(--c-accent, var(--c-brand-600)) / .2)),
    rgb(17 17 27);
}
.fs-au-hero-scrim{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg, rgb(var(--c-ink-950) / .55), rgb(var(--c-ink-950) / .3) 55%, rgb(var(--c-ink-950) / .6));
}
/* Pulled back up over the sticky stage, then scrolls away normally.
   The -100vh is what puts the copy ON the backdrop rather than after
   it; without it the text would sit in the empty space below. */
.fs-au-hero-inner{
  position:relative;z-index:2;
  margin:-100vh auto 0;height:100vh;max-width:min(52rem,var(--fs-layout-clamp,52rem));
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:0 clamp(1.25rem,4vw,2.5rem);
  text-align:center;
}
.fs-au-hero .fs-au-eyebrow{background:rgb(255 255 255 / .16);color:#fff;}
.fs-au-hero .fs-au-title{color:#fff;}
.fs-au-hero .fs-au-accent{color:rgb(var(--c-accent, var(--c-brand-600)));}
.fs-au-hero .fs-au-sub{color:rgb(255 255 255 / .82);margin-left:auto;margin-right:auto;}
.fs-au-hero .fs-au-ctas{justify-content:center;}
.fs-au-proof{
  display:flex;flex-wrap:wrap;justify-content:center;gap:2rem;
  margin-top:2.6rem;padding-top:1.6rem;
  border-top:1px solid rgb(255 255 255 / .2);
}
.fs-au-proof-item{font-size:.92rem;color:rgb(255 255 255 / .8);}
.fs-au-proof-item strong{display:block;font-family:var(--font-display, 'Space Grotesk', sans-serif);font-size:1.5rem;color:#fff;font-weight:600;}
/* Pinned to the bottom of the FIRST screen, not the bottom of the
   whole 150vh section — otherwise the cue sits a screen and a half
   down, below the fold it is meant to be inviting you past. */
.fs-au-scrollcue{
  position:absolute;left:50%;top:calc(100vh - 3.2rem);z-index:2;transform:translateX(-50%);
  color:rgb(255 255 255 / .7);font-size:1.3rem;
  animation:fs-au-bob 2.2s ease-in-out infinite;
}
.fs-au-wire .fs-au-scrollcue{animation:none;}
@keyframes fs-au-bob{0%,100%{transform:translate(-50%,0);}50%{transform:translate(-50%,8px);}}
@media (prefers-reduced-motion:reduce){.fs-au-scrollcue{animation:none;}}

/* ═════════ SHOWCASE (favAuroraShowcase) ═════════
   Three tiles, each image on the SAME 3D-layer trick as the hero but
   a gentler depth (contained tiles, not full-bleed, so the drift
   should read as a subtle wobble, not a full parallax sweep). */
.fs-au-sc{view-timeline-name:--auSc;padding:var(--fs-space-section, clamp(4rem,9vw,6.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-au-sc-head{max-width:min(42rem,var(--fs-layout-clamp,42rem));margin:0 auto 3rem;text-align:center;}
.fs-au-sc-head .fs-au-sub{margin-left:auto;margin-right:auto;}
.fs-au-sc-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:clamp(1.25rem,3vw,2rem);
  max-width:var(--fs-layout-max,78rem);margin:0 auto;
}
@media (max-width:900px){.fs-au-sc-grid{grid-template-columns:1fr;}}
.fs-au-sc-tile{margin:0;}
/* margin-top, NOT transform, for the offset: the cascade animation
   below animates transform to none, which would silently cancel a
   static transform offset here the moment that toggle is on. */
.fs-au-sc-tile--2{margin-top:clamp(0px, 3vw, 28px);}
.fs-au-wire .fs-au-sc-tile--2{margin-top:0;}
/* Each tile's picture drifts inside its own frame. Same correction as
   the hero: this was perspective + translateZ, which cannot parallax
   when the page (not the stage) is the scroll container — the picture
   just sat there enlarged. Scroll-driven translate instead, and the
   picture is oversized so it never pulls its edge into the frame. */
.fs-au-sc-stage{
  display:block;position:relative;overflow:clip;
  border-radius:var(--fs-radius-card, 1rem);
  aspect-ratio:4 / 5;
  box-shadow:var(--fs-shadow-card, 0 12px 28px rgba(0,0,0,.14));
}
.fs-au-sc-stage img,
.fs-au-sc-stage > *{
  position:absolute;inset:-14% 0;width:100%;height:128%;object-fit:cover;display:block;
}
/* MOTION DEPTH — every magnitude below is multiplied by --fs-au-depth,
   a unitless factor defaulting to 1 (the values these effects were
   designed at). The editor's per-block Motion control writes it onto the
   section wrapper; custom properties inherit through the wrapper's
   display:contents, so it reaches these rules without any new element.
   0 flattens the movement without disabling the block, and nothing here
   can hide content at any value — only distances change. */
@keyframes fs-au-tiledrift{
  from{ transform:translate3d(0,calc(-9% * var(--fs-au-depth, 1)),0); }
  to{ transform:translate3d(0,calc(9% * var(--fs-au-depth, 1)),0); }
}
@media (prefers-reduced-motion: no-preference){
  @supports (animation-timeline: view()){
    .fs-au-anim .fs-au-sc-stage img,
    .fs-au-anim .fs-au-sc-stage > *{
      animation:fs-au-tiledrift linear both;
      animation-timeline:--auSc;
      animation-range:cover 0% cover 100%;
    }
  }
}
@media (hover:none), (prefers-reduced-motion:reduce){
  .fs-au-sc-stage img,
  .fs-au-sc-stage > *{inset:0;height:100%;animation:none;transform:none;}
}
.fs-au-wire .fs-au-sc-stage img,
.fs-au-wire .fs-au-sc-stage > *{inset:0;height:100%;animation:none;transform:none;}
.fs-au-sc-fallback{
  display:block;position:absolute;inset:0;
  background:linear-gradient(160deg, rgb(var(--c-brand-600) / .3), rgb(var(--c-accent, var(--c-brand-600)) / .18));
}
.fs-au-sc-tile figcaption{display:flex;flex-direction:column;gap:.2rem;margin-top:1rem;}
.fs-au-sc-title{font-weight:600;color:rgb(var(--c-ink-950));}
.fs-au-sc-tag{font-size:.85rem;color:rgb(var(--c-ink-400));}

/* ═════════ PINNED (favAuroraPinned) ═════════
   The image column holds still while the copy scrolls past it. Pure
   position:sticky — no scroll-driven animation, so no @supports gate
   and no fallback needed; it works everywhere sticky works.

   NOTE the overflow override below, and do not remove it: the family
   root .fs-au sets overflow:clip (every other block needs it to clip
   its own art), and an ancestor with overflow:clip silently kills
   position:sticky the same way overflow:hidden would — it becomes the
   scroll container, and since it does not scroll, the sticky child has
   nothing to stick within. This is the single easiest way to "break"
   this block while changing something unrelated. */
.fs-au-pin{
  overflow:visible;
  view-timeline-name:--auPin;
  padding:var(--fs-space-section, clamp(4rem,9vw,6.5rem)) clamp(1rem,4vw,2.5rem);
}
.fs-au-pin-inner{
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(2rem,5vw,4.5rem);
  max-width:var(--fs-layout-max,78rem);margin:0 auto;
  /* align-items MUST stay stretch (the grid default) — see below. */
  align-items:stretch;
}
/* The media COLUMN stretches to the full height of the taller copy
   column; the stage INSIDE it is what actually sticks. This split
   matters and is the second classic way to get a dead sticky element:
   a sticky box can only travel within its own containing block, so
   making the grid item itself sticky (with align-items:start sizing it
   to its own content) leaves it exactly zero room to move and it just
   scrolls away like normal content. */
.fs-au-pin-media{position:relative;}
.fs-au-pin-stage{
  display:block;overflow:clip;
  position:sticky;top:clamp(1.5rem,8vh,5rem);
  border-radius:var(--fs-radius-card, 1rem);
  aspect-ratio:4 / 5;
  /* Two jobs, both load-bearing. Correctness: a sticky box TALLER than
     the viewport can never be fully seen — it pins with its own bottom
     off-screen. Effect: the pin is only as visible as the gap between
     this height and the copy column's, so letting the image grow to
     the full column height would leave nearly nothing to travel and
     the effect would read as broken rather than subtle. Measured: 4/5
     uncapped left 236px of travel; capped here it is ~350px. */
  max-height:62vh;
  box-shadow:var(--fs-shadow-card, 0 12px 28px rgba(0,0,0,.14));
}
.fs-au-pin-stage img,
.fs-au-pin-stage > *{width:100%;height:100%;object-fit:cover;}
.fs-au-pin-fallback{
  display:block;width:100%;height:100%;
  background:linear-gradient(150deg, rgb(var(--c-brand-600) / .32), rgb(var(--c-accent, var(--c-brand-600)) / .18));
}
.fs-au-pin-copy .fs-au-h{margin-top:1.1rem;}
.fs-au-pin-step{
  padding:clamp(1.8rem,3.5vw,2.6rem) 0;
  border-top:1px solid rgb(var(--c-line));
}
.fs-au-pin-step:first-of-type{margin-top:clamp(1.5rem,3vw,2.4rem);}
.fs-au-pin-num{
  display:block;
  font-family:var(--font-display, 'Space Grotesk', sans-serif);
  font-size:.9rem;font-weight:600;letter-spacing:.12em;
  color:rgb(var(--c-brand-600));
}
.fs-au-pin-t{
  margin:.5rem 0 0;
  font-family:var(--font-display, 'Space Grotesk', sans-serif);
  font-size:clamp(1.15rem,2vw,1.4rem);font-weight:600;line-height:1.25;
  color:rgb(var(--c-ink-950));
}
.fs-au-pin-b{
  margin:.6rem 0 0;
  font-size:1rem;line-height:1.7;color:rgb(var(--c-ink-700));
}
/* One column on a phone — there is no second column to scroll past, so
   sticky would just pin the photo over its own copy. */
@media (max-width:900px){
  .fs-au-pin-inner{grid-template-columns:1fr;}
  .fs-au-pin-stage{position:static;aspect-ratio:16 / 10;}
}
.fs-au-wire .fs-au-pin-stage{position:static;}

/* ═════════ STACK (favAuroraStack) ═════════
   Cards layer over one another as you scroll. Each item sticks at a
   slightly LOWER offset than the one before (--fs-au-i is its index),
   so the top edge of every card underneath stays visible and the group
   reads as a deck rather than a single card.

   Deliberately NO scroll-driven animation here — the stagger alone
   carries the effect, which keeps this block on plain position:sticky
   with universal support and no @supports fallback to get wrong.

   Same overflow note as the pinned block: .fs-au sets overflow:hidden
   and that silently kills sticky, hence the override. */
.fs-au-stack{
  overflow:visible;
  /* A brand-tinted ground so the cards read as OBJECTS sitting on the
     page. Two goes at this: first --c-paper (identical to the card, so
     the strip peeking above each card looked like a stray hairline),
     then --c-paper-soft, which on this palette is #FAFAFA against a
     #FFFFFF card — a 2% difference, still invisible. A faint brand
     wash is the first value that actually separates card from ground,
     and being alpha-over-paper it re-tints per palette and works in
     dark mode too. */
  background:rgb(var(--c-brand-600) / .07);
  padding:var(--fs-space-section, clamp(4rem,9vw,6.5rem)) clamp(1rem,4vw,2.5rem);
}
.fs-au-stack-head{max-width:min(44rem,var(--fs-layout-clamp,44rem));margin:0 auto clamp(2rem,4vw,3rem);text-align:center;}
.fs-au-stack-head .fs-au-sub{margin-left:auto;margin-right:auto;}
.fs-au-stack-head .fs-au-h{margin-top:1.1rem;}
.fs-au-stack-track{max-width:var(--fs-layout-max,62rem);margin:0 auto;}
.fs-au-stack-item{
  position:sticky;
  /* 24px of stagger per card. Measured at 18px first and the peeking
     edge was too thin to read as a card — this is the smallest value
     that still looks deliberate. */
  top:calc(clamp(4.5rem,10vh,6rem) + (var(--fs-au-i, 0) * 24px));
  /* The item is taller than its card; that surplus is the scroll
     distance before the next card rides over this one. */
  min-height:min(70vh, 540px);
}
.fs-au-stack-card{
  background:rgb(var(--c-paper));
  border:1px solid rgb(var(--c-line));
  border-radius:var(--fs-radius-card, 1rem);
  /* Explicit rather than var(--fs-shadow-card): this block's whole
     legibility rests on the cards reading as separate sheets lifted off
     the ground, so it sets its own floor for depth instead of inheriting
     a theme's shadow dial that might resolve to 'flat' and collapse the
     deck into a flat list. Palette-aware via --c-ink-950, so it still
     re-tints and stays sane in dark mode. */
  box-shadow:0 18px 40px -12px rgb(var(--c-ink-950) / .28);
  padding:clamp(1.8rem,4vw,3rem);
}
.fs-au-stack-num{
  display:block;
  font-family:var(--font-display, 'Space Grotesk', sans-serif);
  font-size:.9rem;font-weight:600;letter-spacing:.12em;
  color:rgb(var(--c-brand-600));
}
.fs-au-stack-t{
  margin:.6rem 0 0;
  font-family:var(--font-display, 'Space Grotesk', sans-serif);
  font-size:clamp(1.35rem,2.6vw,1.9rem);font-weight:600;line-height:1.2;
  color:rgb(var(--c-ink-950));
}
.fs-au-stack-b{
  margin:.85rem 0 0;max-width:52ch;
  font-size:1.02rem;line-height:1.7;color:rgb(var(--c-ink-700));
}
/* On a phone the stagger has nowhere to go and a stuck card would sit
   over its own successor's text — plain stacked cards instead. */
@media (max-width:760px){
  .fs-au-stack-item{position:static;min-height:0;margin-bottom:1rem;}
}
.fs-au-wire .fs-au-stack-item{position:static;min-height:0;margin-bottom:1rem;}

/* ═════════ STRIP (favAuroraStrip) ═════════
   A sideways-scrolling gallery. Native overflow + scroll-snap, so
   touch, trackpad and a real scrollbar all work with no JS.

   The track is focusable (tabIndex on the element) BECAUSE a scroll
   container that cannot take focus cannot be scrolled by keyboard —
   every card past the first would be unreachable without a mouse. The
   focus ring below is therefore load-bearing, not decoration. */
.fs-au-strip{view-timeline-name:--auStrip;padding:var(--fs-space-section, clamp(4rem,9vw,6.5rem)) 0;}
.fs-au-strip-head{
  max-width:min(44rem,var(--fs-layout-clamp,44rem));margin:0 auto clamp(2rem,4vw,3rem);
  padding:0 clamp(1rem,4vw,2.5rem);text-align:center;
}
.fs-au-strip-head .fs-au-sub{margin-left:auto;margin-right:auto;}
.fs-au-strip-head .fs-au-h{margin-top:1.1rem;}
.fs-au-strip-track{
  display:flex;gap:clamp(1rem,2.5vw,1.75rem);
  overflow-x:auto;overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-padding-left:clamp(1rem,4vw,2.5rem);
  padding:.5rem clamp(1rem,4vw,2.5rem) 1.5rem;
  -webkit-overflow-scrolling:touch;
}
.fs-au-strip-track:focus-visible{
  outline:3px solid rgb(var(--c-brand-600));
  outline-offset:-3px;
  border-radius:var(--fs-radius-card, 1rem);
}
.fs-au-strip-item{
  flex:0 0 clamp(15rem, 26vw, 20rem);
  scroll-snap-align:start;
  margin:0;
}
.fs-au-strip-panel{
  display:block;height:clamp(9rem,16vw,12rem);
  border-radius:var(--fs-radius-card, 1rem);
  box-shadow:var(--fs-shadow-card, 0 12px 28px rgba(0,0,0,.14));
  background:linear-gradient(145deg, rgb(var(--c-brand-600) / .9), rgb(var(--c-accent, var(--c-brand-600)) / .55));
}
/* A little hue variation across the run so five panels do not read as
   one repeated tile. Palette-derived, so it still re-tints per theme. */
.fs-au-strip-item--2 .fs-au-strip-panel{background:linear-gradient(145deg, rgb(var(--c-accent, var(--c-brand-600)) / .85), rgb(var(--c-brand-600) / .6));}
.fs-au-strip-item--3 .fs-au-strip-panel{background:linear-gradient(200deg, rgb(var(--c-brand-600) / .75), rgb(var(--c-accent, var(--c-brand-600)) / .8));}
.fs-au-strip-item--4 .fs-au-strip-panel{background:linear-gradient(120deg, rgb(var(--c-accent, var(--c-brand-600)) / .7), rgb(var(--c-brand-600) / .9));}
.fs-au-strip-item--5 .fs-au-strip-panel{background:linear-gradient(165deg, rgb(var(--c-brand-600) / .85), rgb(var(--c-accent, var(--c-brand-600)) / .5));}
.fs-au-strip-item figcaption{display:flex;flex-direction:column;gap:.3rem;margin-top:1rem;}
.fs-au-strip-t{
  font-family:var(--font-display, 'Space Grotesk', sans-serif);
  font-size:1.05rem;font-weight:600;color:rgb(var(--c-ink-950));
}
.fs-au-strip-b{font-size:.92rem;line-height:1.6;color:rgb(var(--c-ink-700));}

/* ═════════ RAIL (favAuroraRail) — SIDEWAYS TRAVEL ═════════
   Vertical scrolling reads as horizontal travel: the section is tall,
   its stage pins, and the track slides left across the section's own
   progress.

   Section height is what sets the PACE — 320vh gives 220vh of scroll
   for the whole sideways run. Shorten it and the panels whip past;
   lengthen it and it drags.

   The travel is calc(-100% + 100vw): 100% is the track's own width, so
   the last panel always lands flush at the right edge no matter how
   many panels there are or how wide they render. A pixel figure here
   would need re-tuning every time the content changed. */
.fs-au-rail{
  position:relative;overflow:visible;
  view-timeline-name:--auRail;
  min-height:320vh;
}
.fs-au-rail-stage{
  position:sticky;top:0;
  height:100vh;width:100%;
  overflow:clip;
  display:flex;flex-direction:column;justify-content:center;
  gap:clamp(1.5rem,3vw,2.5rem);
}
.fs-au-rail-head{
  padding:0 clamp(1.25rem,5vw,4rem);max-width:min(52rem,var(--fs-layout-clamp,52rem));
}
.fs-au-rail-head .fs-au-h{margin-top:.9rem;}
.fs-au-rail-track{
  display:flex;align-items:stretch;
  gap:clamp(1rem,2.5vw,2rem);
  padding:0 clamp(1.25rem,5vw,4rem);
  width:max-content;
}
@keyframes fs-au-railmove{
  from{ transform:translate3d(0,0,0); }
  to{ transform:translate3d(calc(-100% + 100vw), 0, 0); }
}
@media (prefers-reduced-motion: no-preference){
  @supports (animation-timeline: view()){
    .fs-au-anim .fs-au-rail-track{
      animation:fs-au-railmove linear both;
      animation-timeline:--auRail;
      animation-range:cover 12% cover 92%;
    }
  }
}
.fs-au-rail-panel{
  position:relative;flex:0 0 clamp(17rem,32vw,26rem);
  display:flex;flex-direction:column;
  padding:clamp(1.4rem,2.4vw,2rem);
  border-radius:var(--fs-radius-card, 1rem);
  background:rgb(var(--c-paper));
  border:1px solid rgb(var(--c-line));
  box-shadow:0 18px 40px -14px rgb(var(--c-ink-950) / .3);
}
.fs-au-rail-art{
  display:block;height:clamp(8rem,15vh,11rem);
  border-radius:var(--fs-radius-card, .75rem);
  margin-bottom:1.1rem;
  background:linear-gradient(145deg, rgb(var(--c-brand-600) / .85), rgb(var(--c-accent, var(--c-brand-600)) / .5));
}
.fs-au-rail-panel--2 .fs-au-rail-art{background:linear-gradient(200deg, rgb(var(--c-accent, var(--c-brand-600)) / .8), rgb(var(--c-brand-600) / .65));}
.fs-au-rail-panel--3 .fs-au-rail-art{background:linear-gradient(120deg, rgb(var(--c-brand-600) / .7), rgb(var(--c-accent, var(--c-brand-600)) / .85));}
.fs-au-rail-panel--4 .fs-au-rail-art{background:linear-gradient(165deg, rgb(var(--c-accent, var(--c-brand-600)) / .6), rgb(var(--c-brand-600) / .9));}
.fs-au-rail-num{
  font-family:var(--font-display, 'Space Grotesk', sans-serif);
  font-size:.85rem;font-weight:600;letter-spacing:.12em;color:rgb(var(--c-brand-600));
}
.fs-au-rail-t{
  margin:.45rem 0 0;
  font-family:var(--font-display, 'Space Grotesk', sans-serif);
  font-size:clamp(1.1rem,1.9vw,1.35rem);font-weight:600;line-height:1.25;
  color:rgb(var(--c-ink-950));
}
.fs-au-rail-b{margin:.55rem 0 0;font-size:.95rem;line-height:1.6;color:rgb(var(--c-ink-700));}
/* A phone has no room for a sideways run and no patience for 320vh of
   scroll to see four cards — plain stacked cards instead. */
@media (max-width:860px), (prefers-reduced-motion:reduce){
  .fs-au-rail{min-height:0;}
  .fs-au-rail-stage{position:static;height:auto;padding:var(--fs-space-section, clamp(3.5rem,8vw,5rem)) 0;}
  .fs-au-rail-track{flex-direction:column;width:auto;animation:none;transform:none;}
  .fs-au-rail-panel{flex:1 1 auto;}
}
.fs-au-wire .fs-au-rail{min-height:0;}
.fs-au-wire .fs-au-rail-stage{position:static;height:auto;}
.fs-au-wire .fs-au-rail-track{flex-direction:column;width:auto;animation:none;transform:none;}

/* ═════════ FLY (favAuroraFly) — CAMERA PUSH-IN ═════════
   A panel that grows from small to filling the screen as you pass it.
   Scale ONLY — never faded out — so there is no scroll position where
   this section reads as empty. */
.fs-au-fly{
  position:relative;overflow:visible;
  view-timeline-name:--auFly;
  min-height:260vh;
}
.fs-au-fly-stage{
  position:sticky;top:0;
  height:100vh;width:100%;overflow:clip;
  display:flex;align-items:center;justify-content:center;
  padding:clamp(1.25rem,4vw,2.5rem);
  background:rgb(var(--c-brand-600) / .06);
}
.fs-au-fly-panel{
  max-width:min(44rem,var(--fs-layout-clamp,44rem));text-align:center;
  padding:clamp(2rem,5vw,3.5rem);
  border-radius:var(--fs-radius-card, 1rem);
  background:linear-gradient(150deg, rgb(var(--c-brand-600)), rgb(var(--c-accent, var(--c-brand-600))));
  box-shadow:0 30px 80px -24px rgb(var(--c-ink-950) / .5);
  transform-origin:center center;
}
.fs-au-fly-panel .fs-au-eyebrow{background:rgb(255 255 255 / .2);color:#fff;}
.fs-au-fly-h{
  margin:1.1rem 0 0;
  font-family:var(--font-display, 'Space Grotesk', sans-serif);
  font-size:clamp(1.8rem,4vw,3rem);line-height:1.14;font-weight:600;letter-spacing:-.01em;color:#fff;
}
.fs-au-fly-sub{
  margin:1.2rem auto 0;max-width:40ch;
  font-size:clamp(.98rem,1.5vw,1.1rem);line-height:1.7;color:rgb(255 255 255 / .85);
}
/* Travel is symmetric about 1.12 so depth scales how FAR the panel flies
   without changing where it passes through. Depth 1 reproduces the
   original .34 -> 1.9 exactly. */
@keyframes fs-au-flyin{
  from{ transform:scale(calc(1.12 - .78 * var(--fs-au-depth, 1))); }
  to{ transform:scale(calc(1.12 + .78 * var(--fs-au-depth, 1))); }
}
@media (prefers-reduced-motion: no-preference){
  @supports (animation-timeline: view()){
    .fs-au-anim .fs-au-fly-panel{
      animation:fs-au-flyin linear both;
      animation-timeline:--auFly;
      animation-range:cover 10% cover 90%;
    }
  }
}
@media (max-width:860px), (prefers-reduced-motion:reduce){
  .fs-au-fly{min-height:0;}
  .fs-au-fly-stage{position:static;height:auto;padding:var(--fs-space-section, clamp(3.5rem,8vw,5rem)) clamp(1.25rem,4vw,2.5rem);}
  .fs-au-fly-panel{animation:none;transform:none;}
}
.fs-au-wire .fs-au-fly{min-height:0;}
.fs-au-wire .fs-au-fly-stage{position:static;height:auto;}
.fs-au-wire .fs-au-fly-panel{animation:none;transform:none;}

/* ═════════ STORY (favAuroraStory) — SCROLLYTELLING ═════════
   The visual frame holds while the copy beside it advances, the shot
   inside cross-fading as each step takes over.

   All three shots are stacked in one frame and timed against the
   SECTION's progress, so exactly one is up at a time. Note shot 1
   starts at opacity 1: with fill-mode both, an un-run timeline rests
   on the 0% keyframe, so the frame is never empty even before any
   animation has happened. */
.fs-au-story{
  position:relative;overflow:visible;
  view-timeline-name:--auStory;
  padding:var(--fs-space-section, clamp(4rem,9vw,6.5rem)) clamp(1rem,4vw,2.5rem);
}
.fs-au-story-inner{
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(2rem,5vw,4.5rem);
  max-width:var(--fs-layout-max,78rem);margin:0 auto;align-items:stretch;
}
.fs-au-story-visual{position:relative;}
.fs-au-story-frame{
  display:block;position:sticky;top:clamp(1.5rem,10vh,6rem);
  aspect-ratio:4 / 5;max-height:66vh;
  border-radius:var(--fs-radius-card, 1rem);
  overflow:clip;
  box-shadow:0 22px 50px -16px rgb(var(--c-ink-950) / .34);
}
.fs-au-story-shot{position:absolute;inset:0;display:block;}
.fs-au-story-shot--1{background:linear-gradient(150deg, rgb(var(--c-brand-600) / .9), rgb(var(--c-accent, var(--c-brand-600)) / .5));}
.fs-au-story-shot--2{background:linear-gradient(210deg, rgb(var(--c-accent, var(--c-brand-600)) / .85), rgb(var(--c-brand-600) / .7));}
.fs-au-story-shot--3{background:linear-gradient(115deg, rgb(var(--c-brand-600)), rgb(var(--c-accent, var(--c-brand-600)) / .8));}
@keyframes fs-au-shot1{ 0%{opacity:1;} 30%{opacity:1;} 40%{opacity:0;} 100%{opacity:0;} }
@keyframes fs-au-shot2{ 0%{opacity:0;} 30%{opacity:0;} 40%{opacity:1;} 64%{opacity:1;} 74%{opacity:0;} 100%{opacity:0;} }
@keyframes fs-au-shot3{ 0%{opacity:0;} 64%{opacity:0;} 74%{opacity:1;} 100%{opacity:1;} }
@media (prefers-reduced-motion: no-preference){
  @supports (animation-timeline: view()){
    .fs-au-anim .fs-au-story-shot{
      animation-timeline:--auStory;
      animation-range:cover 0% cover 100%;
      animation-timing-function:linear;
      animation-fill-mode:both;
    }
    .fs-au-anim .fs-au-story-shot--1{animation-name:fs-au-shot1;}
    .fs-au-anim .fs-au-story-shot--2{animation-name:fs-au-shot2;}
    .fs-au-anim .fs-au-story-shot--3{animation-name:fs-au-shot3;}
  }
}
.fs-au-story-copy .fs-au-h{margin-top:1rem;}
.fs-au-story-step{
  padding:clamp(2.2rem,5vw,3.4rem) 0;
  border-top:1px solid rgb(var(--c-line));
}
.fs-au-story-step:first-of-type{margin-top:clamp(1.5rem,3vw,2.4rem);}
.fs-au-story-num{
  display:block;
  font-family:var(--font-display, 'Space Grotesk', sans-serif);
  font-size:.9rem;font-weight:600;letter-spacing:.12em;color:rgb(var(--c-brand-600));
}
.fs-au-story-t{
  margin:.5rem 0 0;
  font-family:var(--font-display, 'Space Grotesk', sans-serif);
  font-size:clamp(1.2rem,2.1vw,1.5rem);font-weight:600;line-height:1.24;color:rgb(var(--c-ink-950));
}
.fs-au-story-b{margin:.6rem 0 0;font-size:1rem;line-height:1.7;color:rgb(var(--c-ink-700));}
@media (max-width:900px){
  .fs-au-story-inner{grid-template-columns:1fr;}
  .fs-au-story-frame{position:static;max-height:none;}
}
.fs-au-wire .fs-au-story-frame{position:static;}
.fs-au-wire .fs-au-story-shot{animation:none;}
.fs-au-wire .fs-au-story-shot--2,
.fs-au-wire .fs-au-story-shot--3{display:none;}

/* ═════════ FLIP (favAuroraFlip) — 3D CARD ROTATION ═════════
   Real perspective rotation as the cards cross the screen. The
   perspective here is a genuine viewing DISTANCE on the grid (1200px),
   which is what makes the rotation read as depth. This is unrelated to
   the 1px-perspective parallax trick that failed earlier: that one
   needed the perspective element to be the scroll container; this one
   only needs a rotation driven by scroll progress, which the named
   timeline supplies. */
.fs-au-flip{
  position:relative;overflow:visible;
  view-timeline-name:--auFlip;
  padding:var(--fs-space-section, clamp(4rem,9vw,6.5rem)) clamp(1rem,4vw,2.5rem);
  background:rgb(var(--c-brand-600) / .05);
}
.fs-au-flip-head{max-width:min(44rem,var(--fs-layout-clamp,44rem));margin:0 auto clamp(2.5rem,5vw,3.5rem);text-align:center;}
.fs-au-flip-head .fs-au-h{margin-top:1rem;}
.fs-au-flip-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));
  gap:clamp(1.25rem,3vw,2rem);
  max-width:var(--fs-layout-max,76rem);margin:0 auto;
  perspective:1200px;perspective-origin:50% 50%;
}
@media (max-width:900px){.fs-au-flip-grid{grid-template-columns:1fr;perspective:none;}}
.fs-au-flip-card{
  padding:clamp(1.6rem,3vw,2.4rem);
  border-radius:var(--fs-radius-card, 1rem);
  background:rgb(var(--c-paper));
  border:1px solid rgb(var(--c-line));
  box-shadow:0 20px 44px -16px rgb(var(--c-ink-950) / .3);
  transform-origin:center center;
}
@keyframes fs-au-flipin{
  from{ transform:rotateY(calc(-38deg * var(--fs-au-depth, 1))) rotateX(calc(9deg * var(--fs-au-depth, 1))) translateZ(calc(-120px * var(--fs-au-depth, 1))); }
  to{ transform:rotateY(calc(24deg * var(--fs-au-depth, 1))) rotateX(calc(-6deg * var(--fs-au-depth, 1))) translateZ(0); }
}
@media (prefers-reduced-motion: no-preference){
  @supports (animation-timeline: view()){
    .fs-au-anim .fs-au-flip-card{
      animation:fs-au-flipin linear both;
      animation-timeline:--auFlip;
    }
    .fs-au-anim .fs-au-flip-card--1{animation-range:cover 8% cover 62%;}
    .fs-au-anim .fs-au-flip-card--2{animation-range:cover 14% cover 70%;}
    .fs-au-anim .fs-au-flip-card--3{animation-range:cover 20% cover 78%;}
  }
}
@media (max-width:900px), (prefers-reduced-motion:reduce){
  .fs-au-flip-card{animation:none;transform:none;}
}
.fs-au-wire .fs-au-flip-card{animation:none;transform:none;}
.fs-au-flip-num{
  display:block;
  font-family:var(--font-display, 'Space Grotesk', sans-serif);
  font-size:.85rem;font-weight:600;letter-spacing:.12em;color:rgb(var(--c-brand-600));
}
.fs-au-flip-t{
  margin:.5rem 0 0;
  font-family:var(--font-display, 'Space Grotesk', sans-serif);
  font-size:clamp(1.15rem,2vw,1.4rem);font-weight:600;line-height:1.24;color:rgb(var(--c-ink-950));
}
.fs-au-flip-b{margin:.6rem 0 0;font-size:.98rem;line-height:1.7;color:rgb(var(--c-ink-700));}

/* ═════════ SWAP (favAuroraSwap) — IMAGE-SWAP PARALLAX ═════════
   One held frame, three real photos. Each wipes upward to reveal the
   one beneath, and each drifts inside the frame at its own rate while
   it is up, so the swap and the parallax happen together.

   Stacking order is the whole mechanism: shot 1 sits on top, shot 3 at
   the bottom. Clipping the top one away exposes the next. Shot 3 is
   never clipped at all — it is the floor that guarantees the frame
   always holds a picture, at any scroll position, and even with no
   animation running.

   The drift rates deliberately differ per shot (6/11/16%) — identical
   rates would read as one image sliding, not three at different
   depths. Each photo is oversized so drifting never pulls its own edge
   into the frame. */
.fs-au-swap{
  position:relative;overflow:visible;
  view-timeline-name:--auSwap;
  min-height:300vh;
}
.fs-au-swap-stage{
  position:sticky;top:0;
  height:100vh;width:100%;overflow:clip;
  display:flex;align-items:center;justify-content:center;
  padding:clamp(1rem,4vw,3rem);
  background:rgb(var(--c-brand-600) / .06);
}
.fs-au-swap-frame{
  position:relative;
  width:min(72rem, 100%);height:min(78vh, 46rem);
  border-radius:var(--fs-radius-card, 1rem);
  overflow:clip;
  box-shadow:0 30px 70px -22px rgb(var(--c-ink-950) / .45);
}
.fs-au-swap-shot{position:absolute;inset:0;display:block;overflow:clip;}
/* Stack: 1 on top, 3 underneath. */
.fs-au-swap-shot--1{z-index:3;}
.fs-au-swap-shot--2{z-index:2;}
.fs-au-swap-shot--3{z-index:1;}
.fs-au-swap-shot img,
.fs-au-swap-shot > *{
  position:absolute;inset:-15% 0;width:100%;height:130%;
  object-fit:cover;display:block;
}
.fs-au-swap-fallback--1{background:linear-gradient(150deg, rgb(var(--c-brand-600) / .9), rgb(var(--c-accent, var(--c-brand-600)) / .5));}
.fs-au-swap-fallback--2{background:linear-gradient(210deg, rgb(var(--c-accent, var(--c-brand-600)) / .85), rgb(var(--c-brand-600) / .7));}
.fs-au-swap-fallback--3{background:linear-gradient(115deg, rgb(var(--c-brand-600)), rgb(var(--c-accent, var(--c-brand-600)) / .8));}
/* Weighted to the BOTTOM only. A full-height scrim was muddying the
   whole photo to protect a caption that lives in the last quarter of
   the frame — the picture is the point of this block, so the scrim
   earns its keep only where the text actually sits. */
.fs-au-swap-scrim{
  position:absolute;inset:0;z-index:4;
  background:linear-gradient(180deg,
    transparent 0%, transparent 42%,
    rgb(var(--c-ink-950) / .45) 74%,
    rgb(var(--c-ink-950) / .82) 100%);
}
.fs-au-swap-caps{
  position:absolute;z-index:5;left:0;right:0;bottom:0;
  padding:clamp(1.25rem,3vw,2.5rem);
}
.fs-au-swap-cap{
  position:absolute;left:clamp(1.25rem,3vw,2.5rem);right:clamp(1.25rem,3vw,2.5rem);
  bottom:clamp(1.25rem,3vw,2.5rem);
  display:flex;flex-direction:column;gap:.35rem;max-width:min(44rem,var(--fs-layout-clamp,44rem));
}
/* NO opacity:0 here on purpose. These three captions used to start
   hidden unconditionally, revealed only by the scroll animation further
   down — which meant that anywhere the animation could not run, two
   thirds of the copy was permanently invisible with no way to reach it.
   Three real cases hit that: a browser without animation-timeline
   support at a desktop width (the phone and reduced-motion fallbacks
   below did not apply), and any renderStyle that does not add
   .fs-au-anim. The hidden start state now lives inside the same guard
   as the animation that undoes it, so the two cannot come apart. */
.fs-au-swap-cap--1{opacity:1;}
.fs-au-swap-num{
  font-family:var(--font-display, 'Space Grotesk', sans-serif);
  font-size:.85rem;font-weight:600;letter-spacing:.14em;color:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-au-swap-t{
  font-family:var(--font-display, 'Space Grotesk', sans-serif);
  font-size:clamp(1.4rem,3vw,2.2rem);font-weight:600;line-height:1.16;color:#fff;
}
.fs-au-swap-b{font-size:clamp(.95rem,1.4vw,1.05rem);line-height:1.65;color:rgb(255 255 255 / .84);}

/* Wipe upward. Shot 3 has no wipe — it is the floor. */
@keyframes fs-au-swipe1{
  0%{clip-path:inset(0 0 0 0);} 28%{clip-path:inset(0 0 0 0);}
  44%{clip-path:inset(0 0 100% 0);} 100%{clip-path:inset(0 0 100% 0);}
}
@keyframes fs-au-swipe2{
  0%{clip-path:inset(0 0 0 0);} 62%{clip-path:inset(0 0 0 0);}
  78%{clip-path:inset(0 0 100% 0);} 100%{clip-path:inset(0 0 100% 0);}
}
@keyframes fs-au-swapdrift1{from{transform:translate3d(0,calc(-6% * var(--fs-au-depth, 1)),0);}to{transform:translate3d(0,calc(6% * var(--fs-au-depth, 1)),0);}}
@keyframes fs-au-swapdrift2{from{transform:translate3d(0,calc(-11% * var(--fs-au-depth, 1)),0);}to{transform:translate3d(0,calc(11% * var(--fs-au-depth, 1)),0);}}
@keyframes fs-au-swapdrift3{from{transform:translate3d(0,calc(-16% * var(--fs-au-depth, 1)),0);}to{transform:translate3d(0,calc(16% * var(--fs-au-depth, 1)),0);}}
@keyframes fs-au-swapcap1{0%{opacity:1;}28%{opacity:1;}38%{opacity:0;}100%{opacity:0;}}
@keyframes fs-au-swapcap2{0%{opacity:0;}34%{opacity:0;}46%{opacity:1;}62%{opacity:1;}72%{opacity:0;}100%{opacity:0;}}
@keyframes fs-au-swapcap3{0%{opacity:0;}68%{opacity:0;}80%{opacity:1;}100%{opacity:1;}}

@media (prefers-reduced-motion: no-preference){
  @supports (animation-timeline: view()){
    .fs-au-anim .fs-au-swap-shot,
    .fs-au-anim .fs-au-swap-cap,
    .fs-au-anim .fs-au-swap-shot img,
    .fs-au-anim .fs-au-swap-shot > *{
      animation-timeline:--auSwap;
      animation-range:cover 8% cover 94%;
      animation-timing-function:linear;
      animation-fill-mode:both;
    }
    .fs-au-anim .fs-au-swap-shot--1{animation-name:fs-au-swipe1;}
    .fs-au-anim .fs-au-swap-shot--2{animation-name:fs-au-swipe2;}
    .fs-au-anim .fs-au-swap-shot--1 img,
    .fs-au-anim .fs-au-swap-shot--1 > *{animation-name:fs-au-swapdrift1;}
    .fs-au-anim .fs-au-swap-shot--2 img,
    .fs-au-anim .fs-au-swap-shot--2 > *{animation-name:fs-au-swapdrift2;}
    .fs-au-anim .fs-au-swap-shot--3 img,
    .fs-au-anim .fs-au-swap-shot--3 > *{animation-name:fs-au-swapdrift3;}
    .fs-au-anim .fs-au-swap-cap--1{animation-name:fs-au-swapcap1;}
    .fs-au-anim .fs-au-swap-cap--2{animation-name:fs-au-swapcap2;}
    .fs-au-anim .fs-au-swap-cap--3{animation-name:fs-au-swapcap3;}
    /* The hidden start state, scoped to exactly the conditions under
       which the animation above will reveal it again. animation-fill-mode
       both would supply this from the 0% keyframe anyway; stating it
       keeps the intent legible next to the rules that depend on it. */
    .fs-au-anim .fs-au-swap-cap--2,
    .fs-au-anim .fs-au-swap-cap--3{opacity:0;}
  }
}
/* No scroll-timeline support: fall back to the same single-photo,
   single-caption presentation the phone gets, rather than leaving three
   captions stacked on one another. Mirrors the block below deliberately
   — CSS has no way to share a declaration list between a @media and a
   @supports, and duplicating six lines is preferable to content that
   depends on which browser opened it. */
@supports not (animation-timeline: view()){
  .fs-au-swap{min-height:0;}
  .fs-au-swap-stage{position:static;height:auto;padding:var(--fs-space-section, clamp(3.5rem,8vw,5rem)) clamp(1rem,4vw,2rem);}
  .fs-au-swap-frame{height:auto;aspect-ratio:4 / 5;}
  .fs-au-swap-shot--1,.fs-au-swap-shot--2{display:none;}
  .fs-au-swap-shot img,.fs-au-swap-shot > *{inset:0;height:100%;animation:none;transform:none;}
  .fs-au-swap-cap--1,.fs-au-swap-cap--2{display:none;}
  .fs-au-swap-cap--3{opacity:1;animation:none;}
}
/* Un-held on a phone: one photo, its caption, no 300vh of scrolling. */
@media (max-width:860px), (prefers-reduced-motion:reduce){
  .fs-au-swap{min-height:0;}
  .fs-au-swap-stage{position:static;height:auto;padding:var(--fs-space-section, clamp(3.5rem,8vw,5rem)) clamp(1rem,4vw,2rem);}
  .fs-au-swap-frame{height:auto;aspect-ratio:4 / 5;}
  .fs-au-swap-shot--1,.fs-au-swap-shot--2{display:none;}
  .fs-au-swap-shot img,.fs-au-swap-shot > *{inset:0;height:100%;animation:none;transform:none;}
  .fs-au-swap-cap--1,.fs-au-swap-cap--2{display:none;}
  .fs-au-swap-cap--3{opacity:1;animation:none;}
}
.fs-au-wire .fs-au-swap{min-height:0;}
.fs-au-wire .fs-au-swap-stage{position:static;height:auto;}
.fs-au-wire .fs-au-swap-shot--1,.fs-au-wire .fs-au-swap-shot--2{display:none;}
.fs-au-wire .fs-au-swap-cap--1,.fs-au-wire .fs-au-swap-cap--2{display:none;}
.fs-au-wire .fs-au-swap-cap--3{opacity:1;}
.fs-au-wire .fs-au-swap-shot img,.fs-au-wire .fs-au-swap-shot > *{animation:none;transform:none;inset:0;height:100%;}

/* ═════════ ZOOM (favAuroraZoom) ═════════
   A full-bleed statement band; the photo pushes in slowly as the
   section crosses the viewport. Scroll-driven animation, gated behind
   @supports — without it the photo sits at its natural scale, fully
   visible. The un-animated state is the READABLE state, never a
   hidden one waiting to be revealed. */
.fs-au-zoom{
  position:relative;
  view-timeline-name:--auZoom;
  min-height:min(34rem, 80vh);
  display:flex;align-items:center;justify-content:center;
  padding:clamp(3rem,8vw,5rem) clamp(1.25rem,4vw,2.5rem);
  text-align:center;
}
.fs-au-zoom-stage{position:absolute;inset:0;z-index:0;overflow:clip;}
.fs-au-zoom-stage img,
.fs-au-zoom-stage > *:not(.fs-au-zoom-scrim){
  width:100%;height:100%;object-fit:cover;
  transform-origin:center;
}
.fs-au-zoom-fallback{
  display:block;
  background:linear-gradient(135deg, rgb(var(--c-brand-600) / .5), rgb(var(--c-accent, var(--c-brand-600)) / .3));
}
.fs-au-zoom-scrim{
  position:absolute;inset:0;
  background:linear-gradient(180deg, rgb(var(--c-ink-950) / .6), rgb(var(--c-ink-950) / .45));
}
.fs-au-zoom-inner{position:relative;z-index:1;max-width:min(46rem,var(--fs-layout-clamp,46rem));}
.fs-au-zoom .fs-au-eyebrow{background:rgb(255 255 255 / .16);color:#fff;}
.fs-au-zoom-h{
  margin:1.1rem 0 0;
  font-family:var(--font-display, 'Space Grotesk', sans-serif);
  font-size:clamp(2rem,4.5vw,3.2rem);
  line-height:1.12;font-weight:600;letter-spacing:-.01em;color:#fff;
}
.fs-au-zoom-sub{
  margin:1.3rem auto 0;max-width:44ch;
  font-size:clamp(1rem,1.6vw,1.12rem);line-height:1.7;
  color:rgb(255 255 255 / .82);
}
/* Depth scales the TRAVEL, not the start: at depth 0 the photo simply
   holds at its natural size instead of pushing in. */
@keyframes fs-au-pushin{from{transform:scale(1);}to{transform:scale(calc(1 + .16 * var(--fs-au-depth, 1)));}}
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference){
    .fs-au-anim .fs-au-zoom-stage img,
    .fs-au-anim .fs-au-zoom-stage > *:not(.fs-au-zoom-scrim){
      animation:fs-au-pushin linear both;
      animation-timeline:--auZoom;
      animation-range:entry 0% exit 100%;
    }
  }
}
.fs-au-wire .fs-au-zoom-stage img,
.fs-au-wire .fs-au-zoom-stage > *{animation:none;transform:none;}

/* ═══════════════════════════════════════════════════════════════
   MICRO-ANIMATIONS — the two toggleable effects Aurora declares in
   its own theme file (themes/aurora.ts microAnimations).

   THE CONTRACT (themes/format.ts, enforced by npm run check:anim):
   declaring an id promises some stylesheet reads the custom property
   --fs-anim-<id>. Switching it off in Site Settings sets that var to
   'none', so the shorthand collapses to "animation: none" and the
   effect stops — while the element keeps its ordinary, visible
   resting state. Ids are deliberately UNPREFIXED: the "fs-" prefix
   belongs to the platform's own four (motion-base.ts) and the gate
   rejects a theme id that borrows it.

   Both are wrapped in @supports (animation-timeline: view()) and
   prefers-reduced-motion. Where either fails the rules never apply,
   so the image is simply there — which is the correct fallback and
   needs no script to arrange.

   Note the "opacity:.001" start, copied from motion-base.ts rather
   than a plain 0: a genuinely zero-opacity element reads as hidden,
   and if a range is ever mis-set that is a blank page instead of a
   missed animation. .001 keeps it painted.
   ═══════════════════════════════════════════════════════════════ */

@keyframes fs-au-wipe{
  from{ clip-path:inset(0 0 100% 0); }
  to{ clip-path:inset(0 0 0 0); }
}
/* The fade is NOT scaled by depth — only the distance travelled. At
   depth 0 the lines still arrive, they simply do not slide. Fading is
   the reveal itself; removing it would leave text stranded invisible
   for anyone who set depth to 0. */
@keyframes fs-au-cascade{
  from{ opacity:.001; transform:translate3d(0, calc(26px * var(--fs-au-depth, 1)), 0); }
  to{ opacity:1; transform:none; }
}

@media (prefers-reduced-motion: no-preference){
  @supports (animation-timeline: view()){

    /* ── Image reveal (id: 'wipe') ──────────────────────────────
       The pinned photo uncovers upward as it enters. Applied to the
       IMG rather than its .fs-au-pin-stage parent on purpose — that
       parent is the position:sticky element, and clipping the very
       box that sticks is asking for trouble; the frame stays put and
       the picture inside it reveals. */
    .fs-au-anim .fs-au-pin-stage img{
      animation:var(--fs-anim-wipe, fs-au-wipe .7s cubic-bezier(.22,.61,.36,1) both);
      animation-timeline:--auPin;
      animation-range:cover 0% cover 55%;
    }

    /* The strip's five panels wipe in on staggered ranges, so the row
       reveals left-to-right rather than all at once. */
    .fs-au-anim .fs-au-strip-panel{
      animation:var(--fs-anim-wipe, fs-au-wipe .7s cubic-bezier(.22,.61,.36,1) both);
      animation-timeline:--auStrip;
    }
    .fs-au-anim .fs-au-strip-item--1 .fs-au-strip-panel{animation-range:entry 0% cover 18%;}
    .fs-au-anim .fs-au-strip-item--2 .fs-au-strip-panel{animation-range:entry 5% cover 24%;}
    .fs-au-anim .fs-au-strip-item--3 .fs-au-strip-panel{animation-range:entry 10% cover 30%;}
    .fs-au-anim .fs-au-strip-item--4 .fs-au-strip-panel{animation-range:entry 15% cover 36%;}
    .fs-au-anim .fs-au-strip-item--5 .fs-au-strip-panel{animation-range:entry 20% cover 42%;}

    /* ── Staggered entrance (id: 'cascade') ─────────────────────
       The three work tiles sit side by side, so they cross into view
       at the same moment — the stagger comes from each one's RANGE
       finishing later, not from a delay (a scroll-driven animation
       has no time axis to delay along). Ranges are written out per
       tile rather than computed with calc() in animation-range,
       which is far less well supported. */
    .fs-au-anim .fs-au-sc-tile{
      animation:var(--fs-anim-cascade, fs-au-cascade .6s cubic-bezier(.22,.61,.36,1) both);
      animation-timeline:--auSc;
    }
    .fs-au-anim .fs-au-sc-tile--1{animation-range:entry 0% cover 18%;}
    .fs-au-anim .fs-au-sc-tile--2{animation-range:entry 7% cover 27%;}
    .fs-au-anim .fs-au-sc-tile--3{animation-range:entry 14% cover 36%;}
  }
}

/* The builder canvas re-renders on every keystroke; wireframe strips
   decoration. Neither should be animating. */
.fs-au-wire .fs-au-pin-stage img,
.fs-au-wire .fs-au-strip-panel,
.fs-au-wire .fs-au-sc-tile{animation:none;clip-path:none;opacity:1;transform:none;}

/* ── favAuroraFooter (theme-chrome batch 7, Aurora) ─────────────────
   Under the aurora: fs-au-ft is the full-bleed night band (named
   container) with the header's 2px ribbon along its top and the hero's
   two glows in its corners, sized to the band's width (R-B7-17);
   fs-au-ft-in is the content box (named container). Night in light mode
   too — the page ends as the hero begins. The root also carries .fs-au
   from rootCls(); these rules come later, so they win. */
.fs-au-ft{container-type:inline-size;container-name:fs-au-ft;padding:0 clamp(1rem,4vw,2.5rem);--au-ft-night:color-mix(in srgb, rgb(var(--c-ink-950)) 88%, rgb(var(--c-brand-600)));--au-ft-on:rgb(var(--c-paper));--au-ft-on-2:color-mix(in srgb, var(--au-ft-on) 72%, var(--au-ft-night));--au-ft-rule:color-mix(in srgb, var(--au-ft-on) 16%, transparent);--au-ft-glow-k:30%;--au-ft-glow-a:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) var(--au-ft-glow-k), transparent);--au-ft-glow-b:color-mix(in srgb, color-mix(in srgb, rgb(var(--c-brand-600)) 60%, var(--au-ft-on)) var(--au-ft-glow-k), transparent);--au-ft-disc-a:color-mix(in srgb, rgb(var(--c-brand-600)) 55%, var(--au-ft-on));--au-ft-disc-b:rgb(var(--c-accent, var(--c-brand-600)));--au-ft-gw:clamp(440px, 100% - 148px, 620px);background:linear-gradient(90deg,transparent,rgb(var(--c-brand-600)) 18%,rgb(var(--c-accent, var(--c-brand-600))) 50%,rgb(var(--c-brand-600)) 82%,transparent) 0 0/100% 2px no-repeat,radial-gradient(closest-side,var(--au-ft-glow-a),transparent) calc(100% + 150px) -170px/var(--au-ft-gw) 440px no-repeat,radial-gradient(closest-side,var(--au-ft-glow-b),transparent) -200px calc(100% + 190px)/var(--au-ft-gw) 460px no-repeat,var(--au-ft-night);color:var(--au-ft-on)}
.fs-au-ft:is(.dark *):not(.fs-preview-light *){--au-ft-night:color-mix(in srgb, rgb(var(--c-paper)) 86%, rgb(var(--c-brand-600)));--au-ft-on:rgb(var(--c-ink-950));--au-ft-glow-k:24%}
.fs-au-ft-in{container-type:inline-size;container-name:fs-au-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:68px 30px}
/* The logo: the two discs (stops coloured by class) and the name. */
.fs-au-ft-logo{display:inline-flex;align-items:center;gap:5px;margin:0}
.fs-au-ft-mark{flex:none;width:38px;height:38px}
.fs-au-ft-sa{stop-color:var(--au-ft-disc-a)}
.fs-au-ft-sa0{stop-color:var(--au-ft-disc-a);stop-opacity:0}
.fs-au-ft-sb{stop-color:var(--au-ft-disc-b)}
.fs-au-ft-sb0{stop-color:var(--au-ft-disc-b);stop-opacity:0}
.fs-au-ft-name{font-family:var(--font-display, 'Space Grotesk', system-ui, sans-serif);font-weight:700;font-size:17.5px;line-height:1;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;color:var(--au-ft-on)}
.fs-au-ft-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:26px 48px;padding-bottom:42px;border-bottom:1px solid var(--au-ft-rule)}
.fs-au-ft-head-l,.fs-au-ft-head-r{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.fs-au-ft-state{margin:20px 0 0;max-width:19ch;font-weight:600;font-size:var(--au-ft-fs,40px);line-height:1.08;font-family:var(--font-display, 'Space Grotesk', system-ui, sans-serif);letter-spacing:-.02em}
.fs-au-ft-accent{font-style:normal;color:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-au-ft-cta{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;border-radius:999px;background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)));font-weight:600;font-size:14.5px;line-height:1;white-space:nowrap;text-decoration:none;box-shadow:0 12px 26px -12px rgb(var(--c-brand-600) / .55);transition:transform .2s ease;margin:0}
.fs-au-ft-cta:hover{transform:translateY(-2px)}
.fs-au-ft-mail{margin:0;color:inherit;font-weight:500;font-size:16px;line-height:1.3;text-decoration:underline;text-decoration-color:var(--au-ft-rule);text-underline-offset:5px}
.fs-au-ft-mail:hover{text-decoration-color:currentColor}
.fs-au-ft-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr) minmax(0,1.05fr) minmax(0,1.1fr);gap:34px var(--au-ft-fg,40px);padding-block:38px}
.fs-au-ft-col{min-width:0}
.fs-au-ft-h{margin:0 0 14px;font-weight:700;font-size:10.5px;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;color:var(--au-ft-on-2)}
.fs-au-ft-big{margin:0;font-weight:600;font-size:18px;line-height:1.35;font-family:var(--font-display, 'Space Grotesk', system-ui, sans-serif)}
.fs-au-ft-p{margin:8px 0 0;max-width:30ch;font-size:14px;line-height:1.6;color:var(--au-ft-on-2)}
.fs-au-ft-p.is-top{margin-top:0}
.fs-au-ft-hrs{color:var(--au-ft-on);font-weight:600}
.fs-au-ft-list{margin:0;padding:0;list-style:none}
.fs-au-ft-list.is-after{margin-top:8px}
.fs-au-ft-li{margin:0;padding-block:5px;font-size:14.5px}
.fs-au-ft-link{color:inherit;text-decoration:none}
.fs-au-ft-link:hover{text-decoration:underline;text-underline-offset:4px}
.fs-au-ft-steps{margin:0;padding:0;list-style:none;counter-reset:au-ft-step}
.fs-au-ft-step{margin:0;display:flex;align-items:baseline;gap:12px;padding-block:5px;font-size:14.5px}
.fs-au-ft-step::before{counter-increment:au-ft-step;content:counter(au-ft-step,decimal-leading-zero);flex:none;font-weight:600;font-size:12px;line-height:1;font-family:var(--font-display, 'Space Grotesk', system-ui, sans-serif);letter-spacing:.12em;color:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-au-ft-proof{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:18px 32px;padding-block:26px;border-top:1px solid var(--au-ft-rule)}
.fs-au-ft-proof-i{margin:0;font-size:13.5px;line-height:1.4;color:var(--au-ft-on-2)}
.fs-au-ft-proof-v{display:block;margin-bottom:4px;font-weight:600;font-size:30px;line-height:1;letter-spacing:-.015em;color:var(--au-ft-on)}
.fs-au-ft-legal{margin:0;padding-top:18px;border-top:1px solid var(--au-ft-rule);display:flex;flex-wrap:wrap;gap:6px 20px;font-size:12.5px;color:var(--au-ft-on-2)}
.fs-au-ft-legal-t{margin-right:auto}
.fs-au-ft-legal-a{color:inherit;text-decoration:none}
.fs-au-ft-legal-a:hover{text-decoration:underline;text-underline-offset:4px}
@container fs-au-ft (max-width: 40rem){
  .fs-au-ft-in{padding-block:48px 24px}
}
@container fs-au-ft-in (max-width: 56rem){
  .fs-au-ft-cols{grid-template-columns:repeat(2,minmax(0,1fr));--au-ft-fg:32px}
  .fs-au-ft-state{--au-ft-fs:36px}
}
@container fs-au-ft (max-width: 48rem){
  .fs-au-ft-cols{grid-template-columns:minmax(0,1fr);gap:28px}
  .fs-au-ft-head{padding-bottom:34px}
  .fs-au-ft-state{--au-ft-fs:32px}
}
@container fs-au-ft (max-width: 30rem){
  .fs-au-ft-legal-t{flex-basis:100%}
  .fs-au-ft-state{--au-ft-fs:28px}
  .fs-au-ft-proof{gap:14px 16px}
  .fs-au-ft-proof-v{font-size:24px}
  .fs-au-ft-proof-i{font-size:12.5px}
}
@media (prefers-reduced-motion: reduce){
  .fs-au-ft-cta{transition:none}
  .fs-au-ft-cta:hover{transform:none}
}


[data-fs-divider] {
  --fs-div-color: #d4d4d8;
  --fs-div-color-strong: #71717a;
  --fs-div-label-color: var(--fs-divider-label, #52525b);
  --fs-div-accent: rgb(var(--c-brand-600, 109 40 217));
  --fs-div-thick: 1px;
  --fs-div-radius: 0px;
  --fs-div-shadow: none;
  --fs-div-spacing: 32px;
  --fs-div-label-font: inherit;
  --fs-div-label-size: 13px;
  --fs-div-label-weight: 600;
  --fs-div-track-width: 100%;
  display: block;
  padding: var(--fs-div-spacing) 0;
  font-family: var(--fs-div-label-font);
}

/* ── Thickness ──────────────────────────────────────────────── */
[data-fs-divider][data-thick="thin"]   { --fs-div-thick: 1px; }
[data-fs-divider][data-thick="medium"] { --fs-div-thick: 2px; }
[data-fs-divider][data-thick="thick"]  { --fs-div-thick: 4px; }

/* ── Width ──────────────────────────────────────────────────── */
[data-fs-divider][data-width="25"]  { --fs-div-track-width: 25%; }
[data-fs-divider][data-width="50"]  { --fs-div-track-width: 50%; }
[data-fs-divider][data-width="75"]  { --fs-div-track-width: 75%; }
[data-fs-divider][data-width="100"] { --fs-div-track-width: 100%; }

/* ── Spacing ────────────────────────────────────────────────── */
[data-fs-divider][data-spacing="small"]  { --fs-div-spacing: 12px; }
[data-fs-divider][data-spacing="medium"] { --fs-div-spacing: 32px; }
[data-fs-divider][data-spacing="large"]  { --fs-div-spacing: 64px; }

/* ── Corners (line end caps) ───────────────────────────────── */
[data-fs-divider][data-corners="square"]  { --fs-div-radius: 0px; }
[data-fs-divider][data-corners="rounded"] { --fs-div-radius: 4px; }
[data-fs-divider][data-corners="pill"]    { --fs-div-radius: 999px; }

/* ── Shadow on the line ────────────────────────────────────── */
[data-fs-divider][data-shadow="none"]   { --fs-div-shadow: none; }
[data-fs-divider][data-shadow="soft"]   { --fs-div-shadow: 0 2px 6px -2px rgba(24,24,27,0.20); }
[data-fs-divider][data-shadow="strong"] { --fs-div-shadow: 0 6px 14px -4px rgba(24,24,27,0.36); }

/* ── Colour presets ────────────────────────────────────────── */
[data-fs-divider][data-color="light"] {
  --fs-div-color: #d4d4d8; --fs-div-color-strong: #71717a;
  --fs-div-label-color: var(--fs-divider-label, #52525b);
}
[data-fs-divider][data-color="dark"] {
  --fs-div-color: #3f3f46; --fs-div-color-strong: #18181b;
  --fs-div-label-color: #18181b;
}
[data-fs-divider][data-color="accent"] {
  --fs-div-color: #C4B5FD; --fs-div-color-strong: #6D28D9;
  --fs-div-label-color: #6D28D9;
}
[data-fs-divider][data-color="retro"] {
  --fs-div-color: #DC2626; --fs-div-color-strong: #DC2626;
  --fs-div-label-color: #451A03; --fs-div-accent: #DC2626;
}

/* ── Track & line ──────────────────────────────────────────── */
[data-fs-divider] [data-fs-div-track] {
  display: flex; align-items: center;
  width: var(--fs-div-track-width);
  gap: 12px;
}
[data-fs-divider][data-align="left"] [data-fs-div-track]   { margin-right: auto; }
[data-fs-divider][data-align="center"] [data-fs-div-track] { margin-left: auto; margin-right: auto; }
[data-fs-divider][data-align="right"] [data-fs-div-track]  { margin-left: auto; }

[data-fs-divider] [data-fs-div-line] {
  flex: 1 1 0;
  height: var(--fs-div-thick);
  border-radius: var(--fs-div-radius);
  box-shadow: var(--fs-div-shadow);
  background: var(--fs-div-color);
  min-width: 8px;
}
/* Dotted / dashed styles: swap the background for a border-top so
   CSS's dotted/dashed pattern draws crisply at 1–4px. */
[data-fs-divider][data-linestyle="dotted"] [data-fs-div-line],
[data-fs-divider][data-linestyle="dashed"] [data-fs-div-line] {
  background: transparent !important; height: 0;
  border-top-width: var(--fs-div-thick);
  border-top-color: var(--fs-div-color-strong);
}
[data-fs-divider][data-linestyle="dotted"] [data-fs-div-line] { border-top-style: dotted; }
[data-fs-divider][data-linestyle="dashed"] [data-fs-div-line] { border-top-style: dashed; }
/* Double line uses border-top with double style — thickness needs to
   be ≥ 3px for double to render, so we clamp. */
[data-fs-divider][data-linestyle="double"] [data-fs-div-line] {
  background: transparent !important; height: 0;
  border-top-style: double;
  border-top-width: max(3px, var(--fs-div-thick));
  border-top-color: var(--fs-div-color-strong);
}
/* Pixel line: repeating block gradient — deliberately blocky. */
[data-fs-divider][data-linestyle="pixel"] [data-fs-div-line] {
  background: repeating-linear-gradient(
    to right,
    var(--fs-div-color-strong) 0 6px,
    transparent 6px 10px
  ) !important;
  border-radius: 0 !important;
  height: max(4px, var(--fs-div-thick));
  image-rendering: pixelated;
}

/* ── Label ─────────────────────────────────────────────────── */
[data-fs-divider] [data-fs-div-label] {
  display: inline-flex; align-items: center; gap: 6px;
  color: var(--fs-div-label-color);
  font-size: var(--fs-div-label-size);
  font-weight: var(--fs-div-label-weight);
  font-family: var(--fs-div-label-font);
  white-space: nowrap;
  padding: 0 4px;
}
[data-fs-divider] [data-fs-div-label-icon] { flex: none; display: inline-flex; }

/* Label positions above / below stack the label + line vertically. */
[data-fs-divider][data-label-pos="above"] [data-fs-div-wrap],
[data-fs-divider][data-label-pos="below"] [data-fs-div-wrap] {
  display: flex; flex-direction: column; gap: 8px;
}
[data-fs-divider][data-label-pos="below"] [data-fs-div-label-row] { order: 2; }
[data-fs-divider][data-label-align="left"] [data-fs-div-label-row]   { text-align: left; }
[data-fs-divider][data-label-align="center"] [data-fs-div-label-row] { text-align: center; }
[data-fs-divider][data-label-align="right"] [data-fs-div-label-row]  { text-align: right; }

/* When labelPosition = center, the label sits INSIDE the track with
   the line broken either side. The block renderer emits the label
   between two [data-fs-div-line] segments. */
[data-fs-divider][data-label-pos="center"] [data-fs-div-label] {
  background: var(--fs-div-card-bg, transparent);
}

/* Badges attached to the label */
[data-fs-divider] [data-fs-div-badge] {
  display: inline-flex; align-items: center;
  padding: 1px 8px; border-radius: var(--fs-radius-pill, 999px);
  font-size: 12px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.05em;
}
[data-fs-divider] [data-fs-div-badge][data-badge="new"]     { background: #DBEAFE; color: #1E40AF; }
[data-fs-divider] [data-fs-div-badge][data-badge="info"]    { background: #ECFDF5; color: #047857; }
[data-fs-divider] [data-fs-div-badge][data-badge="section"] { background: #F5F3FF; color: #6D28D9; }

/* Icon-in-divider — inserts a bordered icon along the line. */
[data-fs-divider] [data-fs-div-line-icon] {
  display: inline-flex; align-items: center; justify-content: center;
  width: 28px; height: 28px; flex: none;
  border-radius: 999px;
  color: var(--fs-div-label-color);
  background: var(--fs-div-card-bg, #ffffff);
  border: 1px solid var(--fs-div-color);
}

/* ── Animations (reveal) ──────────────────────────────────── */
@keyframes fs-div-fade  { from { opacity: 0; } to { opacity: 1; } }
@keyframes fs-div-slide { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } }
@keyframes fs-div-grow  { from { transform: scaleX(0); } to { transform: scaleX(1); } }
[data-fs-divider][data-anim="fade"] [data-fs-div-wrap]  { animation: fs-div-fade 600ms ease-out both; }
[data-fs-divider][data-anim="slide"] [data-fs-div-wrap] { animation: fs-div-slide 500ms ease-out both; }
[data-fs-divider][data-anim="grow"] [data-fs-div-track] { transform-origin: left center; animation: fs-div-grow 500ms ease-out both; }
[data-fs-divider][data-anim="grow"][data-align="center"] [data-fs-div-track] { transform-origin: center; }
[data-fs-divider][data-anim="grow"][data-align="right"] [data-fs-div-track]  { transform-origin: right; }
@media (prefers-reduced-motion: reduce) {
  [data-fs-divider] [data-fs-div-wrap],
  [data-fs-divider] [data-fs-div-track] { animation: none !important; }
}

/* ── Section Break mode ───────────────────────────────────── */
[data-fs-divider][data-mode="sectionBreak"] { padding: calc(var(--fs-div-spacing) * 1.5) 0; }
[data-fs-divider][data-mode="sectionBreak"] [data-fs-div-line] {
  min-height: max(3px, var(--fs-div-thick));
}

/* ── Page Break mode ──────────────────────────────────────── */
[data-fs-divider][data-mode="pageBreak"] [data-fs-div-pagebreak] {
  display: flex; align-items: center; gap: 16px;
  padding: 20px;
  border-top: 2px solid var(--fs-div-color-strong);
  border-bottom: 2px solid var(--fs-div-color-strong);
  color: var(--fs-div-label-color);
  page-break-after: always;    /* honoured when printed */
  break-after: page;
}
[data-fs-divider][data-mode="pageBreak"] [data-fs-div-page-num] {
  display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 999px;
  background: var(--fs-div-accent); color: #ffffff;
  font-weight: 700; font-size: 14px;
  flex: none;
}
[data-fs-divider][data-mode="pageBreak"] [data-fs-div-page-title] {
  font-weight: 700; font-size: 16px; flex: 1; min-width: 0;
}
[data-fs-divider][data-mode="pageBreak"] [data-fs-div-continue] {
  display: inline-flex; align-items: center; gap: 6px;
  color: var(--fs-div-accent); font-size: 12px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.05em;
}

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 720px) {
  [data-fs-divider][data-responsive="stack"] [data-fs-div-track]      { flex-direction: column; align-items: stretch; }
  [data-fs-divider][data-responsive="fullWidth"]                       { --fs-div-track-width: 100% !important; }
}

/* ── Accessibility ────────────────────────────────────────── */
[data-fs-divider] [data-fs-div-editable]:focus-visible {
  outline: 2px solid var(--fs-div-accent); outline-offset: 2px;
}
@media (prefers-contrast: more) {
  [data-fs-divider] [data-fs-div-line] { --fs-div-thick: max(2px, var(--fs-div-thick)) !important; }
  [data-fs-divider] [data-fs-div-label] { text-shadow: 0 0 1px currentColor; }
}

/* ── Editing mode ─────────────────────────────────────────── */
[data-fs-divider][data-editing="1"] [data-fs-div-handle] {
  position: absolute; z-index: 4;
  width: 12px; height: 12px; border-radius: 999px;
  background: var(--fs-div-accent);
  border: 2px solid #ffffff; box-shadow: 0 1px 3px rgba(0,0,0,0.3);
  cursor: ew-resize;
  opacity: 0; transition: opacity 120ms ease;
}
[data-fs-divider][data-editing="1"]:hover [data-fs-div-handle],
[data-fs-divider][data-editing="1"][data-selected="1"] [data-fs-div-handle] { opacity: 1; }
[data-fs-divider][data-editing="1"] [data-fs-div-handle-thick] {
  right: -6px; top: 50%; transform: translateY(-50%);
  cursor: ns-resize;
}
[data-fs-divider][data-editing="1"] [data-fs-div-wrap] { position: relative; }


/* Registering the angle lets the conic border ROTATE. Browsers without
   @property simply show the gradient static — a graceful fallback. */
@property --fs-lx-angle {
  syntax: '<angle>';
  initial-value: 0deg;
  inherits: false;
}

.fs-lx{
  position:relative;overflow:hidden;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-lx *{box-sizing:border-box;}

/* ── Shared decor: aurora field ─────────────────────────────────
   Two blurred orbs. The second is the SAME brand colour pushed round
   the wheel with hue-rotate, so every palette gets a two-tone
   blue→purple-style gradient without the theme naming a second hue. */
.fs-lx-aurora{
  position:absolute;border-radius:50%;pointer-events:none;
  filter:blur(72px);opacity:.5;
}
.fs-lx-aurora-a{
  width:34rem;height:34rem;top:-12rem;left:-8rem;
  background:radial-gradient(circle at 40% 40%, rgb(var(--c-brand-600) / .55), transparent 70%);
}
.fs-lx-aurora-b{
  width:30rem;height:30rem;bottom:-14rem;right:-6rem;
  background:radial-gradient(circle at 60% 60%, rgb(var(--c-accent, var(--c-brand-600)) / .45), transparent 70%);
}
.fs-lx-anim .fs-lx-aurora-a{animation:fs-lx-drift 18s ease-in-out infinite alternate;}
.fs-lx-anim .fs-lx-aurora-b{animation:fs-lx-drift 22s ease-in-out infinite alternate-reverse;}
@keyframes fs-lx-drift{
  from{transform:translate3d(0,0,0) scale(1);}
  to{transform:translate3d(3.5rem,-2rem,0) scale(1.18);}
}
/* A faint dot lattice over the aurora reads as "engineered", not decorative. */
.fs-lx-grid{
  position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(rgb(var(--c-ink-950) / .07) 1px, transparent 1px);
  background-size:26px 26px;
  mask-image:radial-gradient(70rem 40rem at 50% 0%, #000 30%, transparent 75%);
  -webkit-mask-image:radial-gradient(70rem 40rem at 50% 0%, #000 30%, transparent 75%);
}
.fs-lx-wire .fs-lx-aurora,.fs-lx-wire .fs-lx-grid{display:none;}

/* ── Type ───────────────────────────────────────────────────────── */
.fs-lx-eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.4rem .9rem;border-radius:var(--fs-radius-pill, 999px);
  border:1px solid rgb(var(--c-brand-600) / .3);
  background:rgb(var(--c-brand-600) / .08);
  color:rgb(var(--c-brand-600));
  font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
}
.fs-lx-eyebrow::before{
  content:'';width:.45rem;height:.45rem;border-radius:50%;
  background:linear-gradient(120deg, rgb(var(--c-brand-600)), rgb(var(--c-accent, var(--c-brand-600))));
}
.fs-lx-title{
  margin:1.2rem 0 0;
  font-family:var(--font-display, inherit);
  font-size:clamp(2.6rem,6vw,4.6rem);
  line-height:1.04;font-weight:800;letter-spacing:-.02em;
  color:rgb(var(--c-ink-950));
}
.fs-lx-grad-text{
  background:linear-gradient(100deg, rgb(var(--c-brand-600)), rgb(var(--c-accent, var(--c-brand-700))));
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.fs-lx-sub{
  margin:1.4rem 0 0;max-width:46ch;
  font-size:clamp(1rem,1.7vw,1.15rem);line-height:1.65;
  color:rgb(var(--c-ink-700));
}

/* ── Buttons ────────────────────────────────────────────────────── */
.fs-lx-ctas{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem;align-items:center;}
.fs-lx-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.85rem 1.6rem;border-radius:var(--fs-radius-pill, 999px);
  font-size:.95rem;font-weight:600;line-height:1;white-space:nowrap;
  transition:transform .25s ease, box-shadow .25s ease;
}
.fs-lx-btn-primary{
  color:rgb(var(--c-paper));
  background:linear-gradient(120deg, rgb(var(--c-brand-600)), rgb(var(--c-accent, var(--c-brand-700))));
  box-shadow:0 10px 30px rgb(var(--c-brand-600) / .35), inset 0 1px 0 rgb(255 255 255 / .18);
}
.fs-lx-btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgb(var(--c-brand-600) / .45), inset 0 1px 0 rgb(255 255 255 / .18);}
.fs-lx-btn-ghost{
  color:rgb(var(--c-ink-950));
  border:1px solid rgb(var(--c-line));
  background:rgb(var(--c-paper-soft) / .6);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.fs-lx-btn-ghost:hover{transform:translateY(-2px);border-color:rgb(var(--c-brand-600) / .5);}
.fs-lx-wire .fs-lx-btn-primary{background:rgb(var(--c-ink-950));box-shadow:none;}

/* ═════════ HERO (favLuxeHero) ═════════ */
.fs-lx-hero{padding:var(--fs-space-section, clamp(3.5rem,8vw,6.5rem)) clamp(1rem,4vw,2.5rem);position:relative;overflow:hidden;}
/* Optional hero backdrop, sitting UNDER the aurora/grid decor layers.
   Dimmed and slightly desaturated so oversized type stays readable over
   it — the art is atmosphere here, not the subject. The wrapper carries
   the dimming so the <img> itself is untouched and the customer's own
   replacement photo gets the same treatment. */
.fs-lx-hero-bg{position:absolute;inset:0;z-index:0;pointer-events:none;}
.fs-lx-hero-bg > *{width:100%;height:100%;}
.fs-lx-hero-bg img{width:100%;height:100%;object-fit:cover;}
.fs-lx-hero-bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgb(var(--c-paper) / .72), rgb(var(--c-paper) / .88));
}
.fs-lx-wire .fs-lx-hero-bg{display:none;}
.fs-lx-hero-inner{
  position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(2rem,5vw,4rem);align-items:center;
}
@media (max-width:920px){.fs-lx-hero-inner{grid-template-columns:1fr;gap:3rem;}}

/* Stat strip under the hero copy. */
.fs-lx-stats{
  display:flex;gap:clamp(1.2rem,3vw,2.4rem);margin-top:2.6rem;flex-wrap:wrap;
  border-top:1px solid rgb(var(--c-line));padding-top:1.4rem;
}
.fs-lx-stat-v{
  font-family:var(--font-display, inherit);
  font-size:1.45rem;font-weight:800;color:rgb(var(--c-ink-950));
}
.fs-lx-stat-l{
  margin-top:.15rem;font-size:.72rem;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--c-ink-400));
}

/* The layered right side: a glass panel with a floating stat card
   OVERLAPPING its corner. */
.fs-lx-hero-stage{position:relative;min-height:22rem;}
.fs-lx-glass{
  position:relative;border-radius:var(--fs-radius-card, 1.4rem);padding:1.6rem;
  border:1px solid rgb(var(--c-line) / .9);
  background:linear-gradient(160deg, rgb(var(--c-paper-soft) / .72), rgb(var(--c-paper-soft) / .38));
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  box-shadow:0 30px 60px rgb(var(--c-ink-950) / .12), inset 0 1px 0 rgb(255 255 255 / .12);
}
.fs-lx-glass-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.2rem;}
.fs-lx-glass-title{font-size:.85rem;font-weight:700;color:rgb(var(--c-ink-950));letter-spacing:.02em;}
.fs-lx-badge{
  display:inline-flex;align-items:center;gap:.4rem;
  padding:.3rem .7rem;border-radius:var(--fs-radius-pill, 999px);
  font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:rgb(var(--c-brand-600));background:rgb(var(--c-brand-600) / .1);
}
.fs-lx-badge::before{
  content:'';width:.4rem;height:.4rem;border-radius:50%;
  background:rgb(var(--c-brand-600));
}
.fs-lx-anim .fs-lx-badge::before{animation:fs-lx-pulse 2.2s ease-in-out infinite;}
@keyframes fs-lx-pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.45;transform:scale(.8);}}

.fs-lx-metric-v{
  font-family:var(--font-display, inherit);
  font-size:2.6rem;font-weight:800;letter-spacing:-.02em;color:rgb(var(--c-ink-950));
}
.fs-lx-metric-delta{font-size:.95rem;font-weight:700;color:rgb(var(--c-brand-600));margin-left:.5rem;}
.fs-lx-metric-l{margin-top:.2rem;font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgb(var(--c-ink-400));}

/* Deterministic equaliser bars — motion without a chart library. */
.fs-lx-bars{display:flex;align-items:flex-end;gap:.45rem;height:5.5rem;margin-top:1.3rem;}
.fs-lx-bar{
  flex:1;border-radius:.4rem .4rem .15rem .15rem;
  background:linear-gradient(to top, rgb(var(--c-brand-600) / .25), rgb(var(--c-brand-600)));
  transform-origin:bottom;
}
.fs-lx-anim .fs-lx-bar{animation:fs-lx-eq 3.4s ease-in-out infinite alternate;}
@keyframes fs-lx-eq{from{transform:scaleY(.82);}to{transform:scaleY(1);}}

.fs-lx-glass-rows{margin-top:1.3rem;display:grid;gap:.55rem;}
.fs-lx-glass-row{
  display:flex;align-items:center;gap:.7rem;
  padding:.6rem .8rem;border-radius:.8rem;
  border:1px solid rgb(var(--c-line) / .7);
  background:rgb(var(--c-paper) / .5);
  font-size:.82rem;font-weight:600;color:rgb(var(--c-ink-700));
}
.fs-lx-glass-row::before{
  content:'';width:.55rem;height:.55rem;border-radius:.2rem;flex:none;
  background:linear-gradient(120deg, rgb(var(--c-brand-600)), rgb(var(--c-accent, var(--c-brand-700))));
}

/* The floating card that OVERLAPS the panel's bottom-left corner. */
.fs-lx-float{
  position:absolute;left:-1.6rem;bottom:-1.4rem;z-index:2;
  border-radius:var(--fs-radius-card, 1.1rem);padding:.95rem 1.25rem;
  border:1px solid rgb(var(--c-line) / .9);
  background:rgb(var(--c-paper-soft) / .9);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:var(--fs-shadow-lift, 0 18px 40px rgb(var(--c-ink-950) / .18));
}
@media (max-width:480px){.fs-lx-float{left:.5rem;}}
.fs-lx-anim .fs-lx-float{animation:fs-lx-hover 6s ease-in-out infinite alternate;}
@keyframes fs-lx-hover{from{transform:translateY(0);}to{transform:translateY(-.6rem);}}
.fs-lx-float-v{
  font-family:var(--font-display, inherit);
  font-size:1.35rem;font-weight:800;
  background:linear-gradient(100deg, rgb(var(--c-brand-600)), rgb(var(--c-accent, var(--c-brand-700))));
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.fs-lx-float-l{margin-top:.1rem;font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--c-ink-400));}
.fs-lx-wire .fs-lx-glass,.fs-lx-wire .fs-lx-float{backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;background:rgb(var(--c-paper));}

/* ═════════ BENTO (favLuxeBento) ═════════ */
.fs-lx-bento{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-lx-bento-head{position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto 2.6rem;}
.fs-lx-bento-head .fs-lx-title{font-size:clamp(2rem,4.4vw,3.2rem);}
.fs-lx-bento-grid{
  position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;gap:var(--fs-space-gap, 1.1rem);
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-auto-rows:minmax(10.5rem,auto);
}
@media (max-width:920px){.fs-lx-bento-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:540px){.fs-lx-bento-grid{grid-template-columns:1fr;}}
.fs-lx-card{
  position:relative;overflow:hidden;
  border-radius:var(--fs-radius-card, 1.25rem);padding:1.5rem;
  border:1px solid rgb(var(--c-line) / .9);
  background:linear-gradient(160deg, rgb(var(--c-paper-soft)), rgb(var(--c-paper-soft) / .55));
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.fs-lx-card:hover{
  transform:translateY(-4px);
  border-color:rgb(var(--c-brand-600) / .45);
  box-shadow:var(--fs-shadow-lift, 0 22px 44px rgb(var(--c-brand-600) / .14));
}
/* The feature card spans 2×2 and carries the two-tone wash + conic ring. */
.fs-lx-card-lead{grid-column:span 2;grid-row:span 2;padding:2rem;}
@media (max-width:540px){.fs-lx-card-lead{grid-column:span 1;grid-row:span 1;}}
.fs-lx-card-wash{
  position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(26rem 16rem at 100% 0%, rgb(var(--c-brand-600) / .16), transparent 65%),
    radial-gradient(22rem 14rem at 0% 100%, rgb(var(--c-accent, var(--c-brand-600)) / .13), transparent 65%);
}
.fs-lx-card-t{
  position:relative;margin:0;
  font-family:var(--font-display, inherit);
  font-size:1.12rem;font-weight:700;color:rgb(var(--c-ink-950));
}
.fs-lx-card-lead .fs-lx-card-t{font-size:1.55rem;}
.fs-lx-card-b{position:relative;margin:.55rem 0 0;font-size:.92rem;line-height:1.6;color:rgb(var(--c-ink-700));}
.fs-lx-card-num{
  position:relative;display:inline-block;margin-bottom:.9rem;
  font-family:var(--font-display, inherit);
  font-size:.78rem;font-weight:800;letter-spacing:.18em;
  color:rgb(var(--c-brand-600));
}
.fs-lx-wire .fs-lx-card-wash{display:none;}
.fs-lx-wire .fs-lx-card:hover{transform:none;box-shadow:none;}

/* ═════════ CTA (favLuxeCta) ═════════ */
.fs-lx-cta{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
/* The 1px-padded wrapper IS the animated border: a rotating conic
   gradient shows through around the inner card. */
.fs-lx-cta-ring{
  position:relative;max-width:var(--fs-layout-max,64rem);margin:0 auto;
  border-radius:var(--fs-radius-card, 1.6rem);padding:1px;
  background:conic-gradient(from var(--fs-lx-angle, 0deg),
    rgb(var(--c-brand-600)),
    rgb(var(--c-accent, var(--c-brand-700))),
    rgb(var(--c-brand-600) / .15),
    rgb(var(--c-brand-600)));
}
.fs-lx-anim .fs-lx-cta-ring{animation:fs-lx-spin 7s linear infinite;}
@keyframes fs-lx-spin{to{--fs-lx-angle:360deg;}}
.fs-lx-cta-card{
  position:relative;overflow:hidden;text-align:center;
  border-radius:calc(1.6rem - 1px);
  padding:var(--fs-space-section, clamp(2.5rem,6vw,4.5rem)) clamp(1.25rem,5vw,3.5rem);
  background:rgb(var(--c-paper));
}
.fs-lx-cta-card .fs-lx-title{font-size:clamp(2rem,4.6vw,3.4rem);}
.fs-lx-cta-card .fs-lx-sub{margin-left:auto;margin-right:auto;}
.fs-lx-cta-card .fs-lx-ctas{justify-content:center;}
.fs-lx-cta-note{margin:1.4rem 0 0;font-size:.78rem;color:rgb(var(--c-ink-400));}
.fs-lx-wire .fs-lx-cta-ring{background:rgb(var(--c-line));animation:none;}

/* ═════════ PAGE HEADER (favLuxeHeader) ═════════
   The hero's opening statement, sized for interior pages — same aurora
   field and gradient clause, no metrics panel. */
.fs-lx-hd{padding:clamp(3rem,7vw,5rem) clamp(1rem,4vw,2.5rem) clamp(1.5rem,3vw,2.5rem);}
.fs-lx-hd-inner{position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-lx-hd .fs-lx-title{font-size:clamp(2.3rem,5vw,3.8rem);max-width:22ch;}
.fs-lx-hd .fs-lx-sub{max-width:54ch;}

/* ═════════ PRICING (favLuxePricing) ═════════ */
.fs-lx-pr{padding:clamp(2rem,5vw,3.5rem) clamp(1rem,4vw,2.5rem) clamp(3rem,7vw,5.5rem);}
.fs-lx-pr-grid{
  position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;gap:var(--fs-space-gap, 1.1rem);grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
}
@media (max-width:920px){.fs-lx-pr-grid{grid-template-columns:1fr;max-width:28rem;}}
/* The featured tier sits inside a rotating conic ring (same device as
   the CTA) and lifts slightly above its neighbours. */
.fs-lx-pr-ring{
  border-radius:var(--fs-radius-card, 1.35rem);padding:1px;align-self:stretch;
  background:conic-gradient(from var(--fs-lx-angle, 0deg),
    rgb(var(--c-brand-600)),
    rgb(var(--c-accent, var(--c-brand-700))),
    rgb(var(--c-brand-600) / .15),
    rgb(var(--c-brand-600)));
}
.fs-lx-anim .fs-lx-pr-ring{animation:fs-lx-spin 7s linear infinite;}
@media (min-width:921px){.fs-lx-pr-ring{transform:translateY(-.9rem);}}
.fs-lx-pr-card{
  position:relative;overflow:hidden;height:100%;
  display:flex;flex-direction:column;
  border-radius:var(--fs-radius-card, 1.25rem);padding:1.7rem;
  border:1px solid rgb(var(--c-line) / .9);
  background:linear-gradient(160deg, rgb(var(--c-paper-soft)), rgb(var(--c-paper-soft) / .55));
}
.fs-lx-pr-ring .fs-lx-pr-card{border:none;border-radius:calc(1.35rem - 1px);background:rgb(var(--c-paper));}
.fs-lx-pr-name{
  font-family:var(--font-display, inherit);
  font-size:1.05rem;font-weight:700;color:rgb(var(--c-ink-950));
}
.fs-lx-pr-blurb{margin-top:.3rem;font-size:.82rem;line-height:1.5;color:rgb(var(--c-ink-400));}
.fs-lx-pr-price{
  margin-top:1.1rem;display:flex;align-items:baseline;gap:.4rem;
  font-family:var(--font-display, inherit);
  font-size:2.5rem;font-weight:800;letter-spacing:-.02em;color:rgb(var(--c-ink-950));
}
.fs-lx-pr-ring .fs-lx-pr-price{
  background:linear-gradient(100deg, rgb(var(--c-brand-600)), rgb(var(--c-accent, var(--c-brand-700))));
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.fs-lx-pr-per{font-size:.8rem;font-weight:600;color:rgb(var(--c-ink-400));letter-spacing:.02em;}
.fs-lx-pr-feats{margin-top:1.2rem;display:grid;gap:.5rem;flex:1;}
.fs-lx-pr-feat{
  display:flex;align-items:center;gap:.65rem;
  font-size:.86rem;font-weight:500;color:rgb(var(--c-ink-700));
}
.fs-lx-pr-feat::before{
  content:'';width:.5rem;height:.5rem;border-radius:.15rem;flex:none;
  background:linear-gradient(120deg, rgb(var(--c-brand-600)), rgb(var(--c-accent, var(--c-brand-700))));
}
.fs-lx-pr-card .fs-lx-ctas{margin-top:1.4rem;}
.fs-lx-pr-card .fs-lx-btn{width:100%;}
.fs-lx-wire .fs-lx-pr-ring{background:rgb(var(--c-line));animation:none;transform:none;}

/* ═════════ CASE STUDY (favLuxeCase) ═════════ */
.fs-lx-cs{padding:var(--fs-space-section, clamp(2rem,5vw,3rem)) clamp(1rem,4vw,2.5rem);}
.fs-lx-cs-inner{
  position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(1.75rem,4vw,3.5rem);align-items:center;
}
@media (max-width:920px){.fs-lx-cs-inner{grid-template-columns:1fr;gap:2.5rem;}}
.fs-lx-cs-client{
  margin-top:1.1rem;font-size:.78rem;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;color:rgb(var(--c-ink-400));
}
.fs-lx-cs .fs-lx-title{font-size:clamp(1.7rem,3.4vw,2.5rem);margin-top:.5rem;}
.fs-lx-cs-metrics{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.6rem;}
.fs-lx-cs-metric{
  border-radius:1rem;padding:.8rem 1.1rem;
  border:1px solid rgb(var(--c-line) / .8);
  background:rgb(var(--c-paper-soft) / .6);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.fs-lx-cs-mv{
  font-family:var(--font-display, inherit);
  font-size:1.3rem;font-weight:800;
  background:linear-gradient(100deg, rgb(var(--c-brand-600)), rgb(var(--c-accent, var(--c-brand-700))));
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.fs-lx-cs-ml{margin-top:.1rem;font-size:.66rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--c-ink-400));}
/* The cover: a two-tone gradient plate with the dot lattice and one
   oversized result, plus the client quote OVERLAPPING its base. */
.fs-lx-cs-stage{position:relative;}
.fs-lx-cs-cover{
  position:relative;overflow:hidden;border-radius:var(--fs-radius-card, 1.4rem);
  min-height:20rem;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;
  background:
    radial-gradient(26rem 18rem at 85% 0%, rgb(var(--c-accent, var(--c-brand-600)) / .35), transparent 65%),
    radial-gradient(30rem 20rem at 0% 100%, rgb(var(--c-brand-600) / .45), transparent 70%),
    rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line) / .8);
}
.fs-lx-cs-cover .fs-lx-grid{mask-image:none;-webkit-mask-image:none;}
.fs-lx-cs-cover-v{
  position:relative;
  font-family:var(--font-display, inherit);
  font-size:clamp(3rem,7vw,4.6rem);font-weight:800;letter-spacing:-.03em;
  background:linear-gradient(100deg, rgb(var(--c-brand-600)), rgb(var(--c-accent, var(--c-brand-700))));
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.fs-lx-cs-cover-l{
  position:relative;margin-top:.3rem;
  font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-lx-cs-quote{
  position:absolute;left:1.4rem;right:1.4rem;bottom:-1.5rem;z-index:2;
  border-radius:var(--fs-radius-card, 1.1rem);padding:1rem 1.3rem;
  border:1px solid rgb(var(--c-line) / .9);
  background:rgb(var(--c-paper-soft) / .92);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:var(--fs-shadow-lift, 0 18px 40px rgb(var(--c-ink-950) / .18));
  font-size:.88rem;line-height:1.55;color:rgb(var(--c-ink-700));
}
.fs-lx-cs-quote-by{margin-top:.35rem;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgb(var(--c-brand-600));}
.fs-lx-wire .fs-lx-cs-cover{background:rgb(var(--c-paper));}
.fs-lx-wire .fs-lx-cs-quote,.fs-lx-wire .fs-lx-cs-metric{backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;}

/* ═════════ TEAM (favLuxeTeam) ═════════ */
.fs-lx-tm{padding:clamp(2rem,5vw,3.5rem) clamp(1rem,4vw,2.5rem) clamp(3rem,7vw,5rem);}
.fs-lx-tm-grid{
  position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;gap:var(--fs-space-gap, 1.1rem);grid-template-columns:repeat(4,minmax(0,1fr));
}
@media (max-width:920px){.fs-lx-tm-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:540px){.fs-lx-tm-grid{grid-template-columns:1fr;}}
.fs-lx-tm-card{
  position:relative;overflow:hidden;text-align:center;
  border-radius:var(--fs-radius-card, 1.25rem);padding:1.7rem 1.4rem;
  border:1px solid rgb(var(--c-line) / .9);
  background:linear-gradient(160deg, rgb(var(--c-paper-soft)), rgb(var(--c-paper-soft) / .55));
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.fs-lx-tm-card:hover{
  transform:translateY(-4px);
  border-color:rgb(var(--c-brand-600) / .45);
  box-shadow:var(--fs-shadow-lift, 0 22px 44px rgb(var(--c-brand-600) / .14));
}
/* Monogram avatar: initials on the two-tone gradient. A luxury house
   leads with names, not stock photography. */
.fs-lx-tm-avatar{
  width:4.4rem;height:4.4rem;margin:0 auto;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(130deg, rgb(var(--c-brand-600)), rgb(var(--c-accent, var(--c-brand-700))));
  box-shadow:0 10px 26px rgb(var(--c-brand-600) / .35), inset 0 1px 0 rgb(255 255 255 / .25);
  font-family:var(--font-display, inherit);
  font-size:1.25rem;font-weight:800;letter-spacing:.04em;color:#fff;
}
.fs-lx-tm-name{
  margin-top:1rem;font-family:var(--font-display, inherit);
  font-size:1.02rem;font-weight:700;color:rgb(var(--c-ink-950));
}
.fs-lx-tm-role{
  margin-top:.2rem;font-size:.7rem;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;color:rgb(var(--c-brand-600));
}
.fs-lx-tm-bio{margin-top:.6rem;font-size:.84rem;line-height:1.55;color:rgb(var(--c-ink-700));}
/* Portrait variant: same circle, but the image fills it and the
   gradient becomes a thin ring rather than the fill. Keeps the monogram
   version's exact footprint so a card with a photo and one without sit
   level in the same row. */
.fs-lx-tm-avatar-photo{overflow:hidden;padding:2px;}
.fs-lx-tm-avatar-photo > *{width:100%;height:100%;border-radius:50%;overflow:hidden;display:block;}
.fs-lx-tm-avatar-photo img{width:100%;height:100%;object-fit:cover;border-radius:50%;}
.fs-lx-wire .fs-lx-tm-avatar{background:rgb(var(--c-ink-950));box-shadow:none;}
.fs-lx-wire .fs-lx-tm-card:hover{transform:none;box-shadow:none;}

/* Reduced motion: honour the OS preference everywhere. */
@media (prefers-reduced-motion: reduce){
  .fs-lx-anim .fs-lx-aurora-a,.fs-lx-anim .fs-lx-aurora-b,
  .fs-lx-anim .fs-lx-bar,.fs-lx-anim .fs-lx-float,
  .fs-lx-anim .fs-lx-cta-ring,.fs-lx-anim .fs-lx-pr-ring,
  .fs-lx-anim .fs-lx-badge::before{animation:none;}
}

/* ── favBrutalFooter (theme-chrome batch 7, Brutal) ─────────────────
   fs-br-ft: the full-bleed band (named container), opened by a 4px ink
   rule; fs-br-ft-in: the content box, which narrows with the Layout
   (named container). The root also carries .fs-lx from rootCls(). */
.fs-br-ft{container-type:inline-size;container-name:fs-br-ft;padding:0 clamp(1rem,4vw,2.5rem);background:rgb(var(--c-paper));border-top:4px solid rgb(var(--c-ink-950));--br-ft-rule:rgb(var(--c-ink-950) / .22);--br-ft-note:color-mix(in srgb, rgb(var(--c-ink-950)) 74%, rgb(var(--c-paper)));--br-ft-sig:rgb(var(--fs-nav-active-on))}
.fs-br-ft:is(.dark *):not(.fs-preview-light *){--br-ft-rule:rgb(var(--c-ink-950) / .26);--br-ft-note:color-mix(in srgb, rgb(var(--c-ink-950)) 78%, rgb(var(--c-paper)))}
.fs-br-ft-in{container-type:inline-size;container-name:fs-br-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:34px 26px}
.fs-br-ft-ring{padding:3px;background:conic-gradient(from var(--fs-lx-angle, 0deg), rgb(var(--c-brand-600)), rgb(var(--c-accent, var(--c-brand-600))), rgb(var(--c-brand-600) / .15), rgb(var(--c-brand-600)))}
.fs-br-ft.fs-lx-anim .fs-br-ft-ring{animation:fs-lx-spin 9s linear infinite}
.fs-br-ft-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:14px 32px;padding-bottom:22px}
.fs-br-ft-name{margin:0;font:700 clamp(56px,12.5cqi,168px)/.8 var(--font-display, 'Space Grotesk', Arial, sans-serif);letter-spacing:-.065em;margin-left:-.03em}
.fs-br-ft-state{max-width:26ch;margin:0;padding-bottom:4px;font:500 19px/1.3 var(--font-display, 'Space Grotesk', Arial, sans-serif);letter-spacing:-.015em;color:var(--br-ft-note)}
.fs-br-ft-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) minmax(0,.9fr) minmax(0,1.15fr);gap:12px}
.fs-br-ft-cell{display:flex;flex-direction:column;gap:9px;min-width:0;height:100%;padding:14px 16px 18px;border:2px solid rgb(var(--c-ink-950));background:rgb(var(--c-paper-soft))}
.fs-br-ft-ring > .fs-br-ft-cell{border:0;background:rgb(var(--c-paper))}
.fs-br-ft-h{display:flex;align-items:baseline;gap:10px;margin:0 0 3px;font:700 19px/1.1 var(--font-display, 'Space Grotesk', Arial, sans-serif);letter-spacing:-.025em}
.fs-br-ft-num{font:700 12px/1 var(--font-display, 'Space Grotesk', Arial, sans-serif);letter-spacing:.18em;color:var(--br-ft-sig);font-variant-numeric:tabular-nums}
.fs-br-ft-list{list-style:none;margin:0;padding:0}
.fs-br-ft-li{padding-block:3px;font-size:15px}
.fs-br-ft-link{color:inherit;text-decoration:none}
.fs-br-ft-link:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.fs-br-ft-p{margin:0;max-width:34ch;font-size:14.5px;line-height:1.5;color:var(--br-ft-note)}
.fs-br-ft-stats{list-style:none;margin:0;padding:0}
.fs-br-ft-stat{display:flex;align-items:baseline;gap:9px;padding-block:5px;border-bottom:1px solid var(--br-ft-rule)}
.fs-br-ft-stat:last-child{border-bottom:0}
.fs-br-ft-sv{font:700 26px/1 var(--font-display, 'Space Grotesk', Arial, sans-serif);letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.fs-br-ft-sl{font:600 11px/1 var(--font-body, inherit);letter-spacing:.14em;text-transform:uppercase;color:var(--br-ft-note)}
.fs-br-ft-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;align-self:flex-start;padding:12px 16px;background:rgb(var(--c-brand-600));color:rgb(var(--fs-on-brand));border:2px solid rgb(var(--c-ink-950));font:600 15px/1 var(--font-display, 'Space Grotesk', Arial, sans-serif);letter-spacing:-.005em;white-space:nowrap;text-decoration:none}
.fs-br-ft-btn::after{content:"\2192";font-weight:500}
.fs-br-ft-btn:hover{background:rgb(var(--c-ink-950));color:rgb(var(--c-paper))}
.fs-br-ft-legal{display:flex;flex-wrap:wrap;gap:6px 18px;margin:18px 0 0;padding-top:12px;border-top:2px solid rgb(var(--c-ink-950));font-size:13px;color:var(--br-ft-note)}
.fs-br-ft-legal-t{margin:0}
.fs-br-ft-legal-a{color:inherit;text-decoration:none}
.fs-br-ft-legal-a:hover{color:rgb(var(--c-ink-950))}
@container fs-br-ft (max-width: 40rem){
  .fs-br-ft-in{padding-block:28px 22px}
}
@container fs-br-ft-in (max-width: 56rem){
  .fs-br-ft-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container fs-br-ft (max-width: 48rem){
  .fs-br-ft-grid{grid-template-columns:minmax(0,1fr)}
  .fs-br-ft-head{flex-direction:column;align-items:flex-start}
}
/* A tablet's one-column cells are ~700px wide: the links run in two
   columns and the three figures sit side by side. */
@container fs-br-ft (min-width: 30rem) and (max-width: 48rem){
  .fs-br-ft-list{columns:2;column-gap:24px}
  .fs-br-ft-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:16px}
  .fs-br-ft-stat{flex-direction:column;align-items:flex-start;gap:6px;border-bottom:0}
}
@media (prefers-reduced-motion: reduce){
  .fs-br-ft-ring{animation:none}
}

/* ── favLuxeFooter (theme-chrome batch 7, Lumina) ───────────────────
   The studio at night: fs-lx-ft is the full-bleed band (named
   container) — the lit hairline as its first pixel, the brand and accent
   glows rising from the bottom corners, the dot lattice fading in from
   the middle under a page-coloured fade; fs-lx-ft-in is the content box
   (named container). The root also carries .fs-lx from rootCls(). */
.fs-lx-ft{container-type:inline-size;container-name:fs-lx-ft;padding:0 clamp(1rem,4vw,2.5rem);--lx-ft-rule:rgb(var(--c-ink-950) / .12);--lx-ft-rule-2:rgb(var(--c-ink-950) / .22);--lx-ft-note:color-mix(in srgb, rgb(var(--c-ink-950)) 74%, rgb(var(--c-paper)));--lx-ft-ink-hi:color-mix(in srgb, rgb(var(--c-brand-600)) 82%, rgb(var(--c-ink-950)));--lx-ft-acc-hi:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 66%, rgb(var(--c-ink-950)));--lx-ft-glow-a:rgb(var(--c-brand-600) / .15);--lx-ft-glow-b:rgb(var(--c-accent, var(--c-brand-600)) / .12);--lx-ft-dot:rgb(var(--c-ink-950) / .08);--lx-ft-halo:rgb(var(--c-brand-600) / .38);--lx-ft-pearl:rgb(var(--c-paper));--lx-ft-grad:linear-gradient(120deg,rgb(var(--c-brand-600)),rgb(var(--c-accent, var(--c-brand-600))));background:linear-gradient(90deg,transparent,rgb(var(--c-brand-600)) 24%,rgb(var(--c-accent, var(--c-brand-600))) 76%,transparent) 0 0/100% 1px no-repeat,radial-gradient(46rem 22rem at 0% 100%,var(--lx-ft-glow-a),transparent 70%),radial-gradient(40rem 22rem at 100% 100%,var(--lx-ft-glow-b),transparent 70%),linear-gradient(rgb(var(--c-paper)) 18%,transparent 70%),radial-gradient(var(--lx-ft-dot) 1px,transparent 1.6px) 13px 13px/26px 26px,rgb(var(--c-paper))}
.fs-lx-ft:is(.dark *):not(.fs-preview-light *){--lx-ft-rule:rgb(var(--c-ink-950) / .13);--lx-ft-note:color-mix(in srgb, rgb(var(--c-ink-950)) 76%, rgb(var(--c-paper)));--lx-ft-ink-hi:rgb(var(--c-brand-600));--lx-ft-acc-hi:rgb(var(--c-accent, var(--c-brand-600)));--lx-ft-glow-a:rgb(var(--c-brand-600) / .22);--lx-ft-glow-b:rgb(var(--c-accent, var(--c-brand-600)) / .16);--lx-ft-dot:rgb(var(--c-ink-950) / .07);--lx-ft-halo:rgb(var(--c-brand-600) / .45);--lx-ft-pearl:rgb(var(--c-ink-950))}
.fs-lx-ft-in{container-type:inline-size;container-name:fs-lx-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:76px 30px}
/* The gem, drawn in CSS as the mockup draws it (a rounded square turned
   45°, brand to accent, a lit centre). */
.fs-lx-ft-logo{display:inline-flex;align-items:center;gap:14px;margin:0}
.fs-lx-ft-gem{position:relative;flex:none;width:26px;height:26px;margin:5.5px;border-radius:30%;background:linear-gradient(135deg,rgb(var(--c-brand-600)),rgb(var(--c-accent, var(--c-brand-600))));transform:rotate(45deg);box-shadow:0 6px 16px -5px var(--lx-ft-halo)}
.fs-lx-ft-gem::after{content:"";position:absolute;inset:33%;border-radius:50%;background:var(--lx-ft-pearl);opacity:.92}
.fs-lx-ft-name{font-family:var(--font-display, Sora, system-ui, sans-serif);font-weight:600;font-size:19px;line-height:1;letter-spacing:.3em;margin-right:-.3em;text-transform:uppercase;white-space:nowrap;color:rgb(var(--c-ink-950))}
.fs-lx-ft-house{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:end;gap:26px 48px;margin-bottom:64px}
.fs-lx-ft-state{margin-top:24px;margin-bottom:0;max-width:17ch;font-family:var(--font-display, Sora, system-ui, sans-serif);font-weight:600;font-size:var(--lx-ft-fs,40px);line-height:1.06;letter-spacing:-.03em;color:rgb(var(--c-ink-950));text-wrap:balance}
.fs-lx-ft-grad{color:var(--lx-ft-ink-hi);background:linear-gradient(100deg,var(--lx-ft-ink-hi),var(--lx-ft-acc-hi));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.fs-lx-ft-sub{margin-top:14px;margin-bottom:0;font-size:15px;color:var(--lx-ft-note)}
.fs-lx-ft-contact{display:grid;justify-items:end;gap:10px;text-align:right}
.fs-lx-ft-mail,.fs-lx-ft-tel{font-family:var(--font-display, Sora, system-ui, sans-serif);font-weight:600;font-size:21px;line-height:1.2;letter-spacing:-.01em;color:rgb(var(--c-ink-950));font-variant-numeric:tabular-nums;text-decoration:none}
.fs-lx-ft-mail{border-bottom:1px solid rgb(var(--c-brand-600) / .4)}
.fs-lx-ft-mail:hover{border-bottom-color:var(--lx-ft-ink-hi)}
.fs-lx-ft-badge{display:inline-flex;align-items:center;gap:8px;padding:5px 11px;border-radius:999px;background:rgb(var(--fs-nav-active-tint));color:rgb(var(--fs-nav-active-on));font:600 11px/1.1 var(--font-body, Inter, system-ui, sans-serif);letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}
.fs-lx-ft-pulse{flex:none;width:6px;height:6px;border-radius:50%;background:rgb(var(--c-brand-600));box-shadow:0 0 0 3px rgb(var(--c-brand-600) / .22)}
.fs-lx-ft-glass{position:relative;padding:30px 32px 28px;border:1px solid var(--lx-ft-rule-2);border-radius:28px;background:linear-gradient(160deg,color-mix(in srgb, rgb(var(--c-paper-soft)) 82%, transparent),color-mix(in srgb, rgb(var(--c-paper-soft)) 46%, transparent));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 34px 64px -36px rgb(0 0 0 / .45),inset 0 1px 0 rgb(255 255 255 / .14)}
.fs-lx-ft-float{position:absolute;z-index:2;top:-40px;right:36px;display:flex;flex-direction:column;gap:5px;padding:12px 16px 13px;border:1px solid var(--lx-ft-rule-2);border-radius:16px;background:rgb(var(--c-paper-soft));box-shadow:0 18px 40px -14px rgb(0 0 0 / .38),inset 0 1px 0 rgb(255 255 255 / .12)}
.fs-lx-ft-float-v{font-family:var(--font-display, Sora, system-ui, sans-serif);font-weight:800;font-size:26px;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.fs-lx-ft-float-l{font:600 10.5px/1.3 var(--font-body, Inter, system-ui, sans-serif);letter-spacing:.1em;text-transform:uppercase;color:var(--lx-ft-note);white-space:nowrap}
.fs-lx-ft-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1.05fr)}
.fs-lx-ft-col{min-width:0;padding-inline:28px;border-left:1px solid var(--lx-ft-rule)}
.fs-lx-ft-col:first-child{padding-left:0;border-left:0}
.fs-lx-ft-col:last-child{padding-right:0}
.fs-lx-ft-h{display:flex;align-items:center;gap:8px;margin:0 0 12px;font:700 10.5px/1.3 var(--font-body, Inter, system-ui, sans-serif);letter-spacing:.15em;text-transform:uppercase;color:var(--lx-ft-note)}
.fs-lx-ft-h::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--lx-ft-grad)}
.fs-lx-ft-list{list-style:none;margin:0;padding:0}
.fs-lx-ft-li{padding-block:6px}
.fs-lx-ft-link{font:500 15.5px/1.3 var(--font-display, Sora, system-ui, sans-serif);color:rgb(var(--c-ink-950));text-decoration:none}
.fs-lx-ft-link:hover{color:var(--lx-ft-ink-hi)}
.fs-lx-ft-plist{list-style:none;margin:8px 0 0;padding:0}
.fs-lx-ft-person{display:flex;align-items:center;gap:11px;min-width:0;padding-block:9px;border-bottom:1px solid var(--lx-ft-rule)}
.fs-lx-ft-person:last-child{border-bottom:0}
.fs-lx-ft-mono{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(130deg,rgb(var(--c-brand-600)),var(--lx-ft-acc-hi));color:rgb(var(--fs-on-brand));font:700 11.5px/1 var(--font-display, Sora, system-ui, sans-serif);letter-spacing:.04em;box-shadow:0 8px 18px -8px var(--lx-ft-halo),inset 0 1px 0 rgb(255 255 255 / .25)}
.fs-lx-ft-pw{min-width:0}
.fs-lx-ft-pn{display:block;margin:0;font:600 14px/1.25 var(--font-display, Sora, system-ui, sans-serif);color:rgb(var(--c-ink-950));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fs-lx-ft-pr{display:block;margin-top:2px;font-size:12px;line-height:1.3;color:var(--lx-ft-note)}
.fs-lx-ft-more{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font:600 13.5px/1.3 var(--font-display, Sora, system-ui, sans-serif);color:var(--lx-ft-ink-hi);border-bottom:1px solid rgb(var(--c-brand-600) / .4);text-decoration:none}
.fs-lx-ft-more:hover{border-bottom-color:currentColor}
.fs-lx-ft-grows+.fs-lx-ft-more{margin-top:14px}
.fs-lx-ft-grows{display:grid;gap:8px}
.fs-lx-ft-grow{display:flex;align-items:center;gap:11px;margin:0;padding:10px 13px;border:1px solid var(--lx-ft-rule);border-radius:13px;background:color-mix(in srgb, rgb(var(--c-paper)) 55%, transparent);font-size:13.5px;line-height:1.4;font-weight:500;color:rgb(var(--c-ink-950))}
.fs-lx-ft-grow::before{content:"";flex:none;width:8px;height:8px;border-radius:2.5px;background:var(--lx-ft-grad)}
.fs-lx-ft-legal{display:flex;flex-wrap:wrap;gap:6px 22px;margin:28px 0 0;font-size:12.5px;color:var(--lx-ft-note)}
.fs-lx-ft-legal-t{margin:0;margin-right:auto}
.fs-lx-ft-legal-a{color:inherit;text-decoration:none}
.fs-lx-ft-legal-a:hover{color:rgb(var(--c-ink-950))}
@container fs-lx-ft (max-width: 40rem){
  .fs-lx-ft-in{padding-block:56px 26px}
}
@container fs-lx-ft-in (max-width: 62rem){
  .fs-lx-ft-state{--lx-ft-fs:36px}
  .fs-lx-ft-col{padding-inline:22px}
  .fs-lx-ft-glass{padding-inline:26px}
}
@container fs-lx-ft-in (max-width: 56rem){
  .fs-lx-ft-house{grid-template-columns:minmax(0,1fr);gap:22px}
  .fs-lx-ft-contact{grid-auto-flow:column;justify-content:start;justify-items:start;align-items:center;gap:10px 26px;text-align:left}
  .fs-lx-ft-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-lx-ft-col:nth-child(2){padding-right:0}
  .fs-lx-ft-col:nth-child(3){grid-column:1/-1;margin-top:22px;padding:22px 0 0;border-left:0;border-top:1px solid var(--lx-ft-rule)}
  .fs-lx-ft-col:nth-child(3) .fs-lx-ft-grows{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@container fs-lx-ft (max-width: 48rem){
  .fs-lx-ft-state{--lx-ft-fs:30px}
  .fs-lx-ft-contact{grid-auto-flow:row}
  .fs-lx-ft-glass{padding:26px 20px 22px;border-radius:24px}
  .fs-lx-ft-float{right:16px;top:-36px}
  .fs-lx-ft-cols{grid-template-columns:minmax(0,1fr)}
  .fs-lx-ft-col,.fs-lx-ft-col:nth-child(3){grid-column:auto;padding-inline:0;border-left:0}
  .fs-lx-ft-col + .fs-lx-ft-col{margin-top:20px;padding-top:20px;border-top:1px solid var(--lx-ft-rule)}
  .fs-lx-ft-col:nth-child(3) .fs-lx-ft-grows{grid-template-columns:minmax(0,1fr)}
  .fs-lx-ft-list{columns:2;column-gap:24px}
  .fs-lx-ft-plist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}
  .fs-lx-ft-person:nth-last-child(2){border-bottom:0}
}
@container fs-lx-ft (max-width: 30rem){
  .fs-lx-ft-list{columns:1}
  .fs-lx-ft-plist{grid-template-columns:minmax(0,1fr)}
  .fs-lx-ft-person:nth-last-child(2){border-bottom:1px solid var(--lx-ft-rule)}
  .fs-lx-ft-state{--lx-ft-fs:27px}
  .fs-lx-ft-mail,.fs-lx-ft-tel{font-size:19px}
  .fs-lx-ft-legal-t{flex-basis:100%}
}
/* Motion in the rich render style only (the family's .fs-lx-anim gate). */
.fs-lx-ft.fs-lx-anim .fs-lx-ft-pulse{animation:fs-lx-pulse 2.2s ease-in-out infinite}
.fs-lx-ft.fs-lx-anim .fs-lx-ft-float{animation:fs-lx-ft-drift 6s ease-in-out infinite alternate}
@keyframes fs-lx-ft-drift{from{transform:translateY(0)}to{transform:translateY(-6px)}}
@media (prefers-reduced-motion: reduce){
  .fs-lx-ft-pulse,.fs-lx-ft-float{animation:none}
}


.fs-cm{
  position:relative;overflow:hidden;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-cm *{box-sizing:border-box;}

/* ── Shared decor: drawn circles ────────────────────────────────
   Two large, thin-bordered circles — a hand-drawn enso gesture, not a
   glow. They sit far off-canvas so only an arc is visible. */
.fs-cm-ring{
  position:absolute;border-radius:50%;pointer-events:none;
  border:1.5px solid rgb(var(--c-brand-600) / .18);
}
.fs-cm-ring-a{width:36rem;height:36rem;top:-22rem;right:-10rem;}
.fs-cm-ring-b{
  width:26rem;height:26rem;bottom:-16rem;left:-8rem;
  border-color:rgb(var(--c-accent, var(--c-brand-600)) / .22);
}
.fs-cm-anim .fs-cm-ring-a{animation:fs-cm-breathe 14s ease-in-out infinite alternate;}
.fs-cm-anim .fs-cm-ring-b{animation:fs-cm-breathe 18s ease-in-out infinite alternate-reverse;}
@keyframes fs-cm-breathe{
  from{transform:scale(1);}
  to{transform:scale(1.06);}
}
.fs-cm-wire .fs-cm-ring{display:none;}

/* ── Type ─────────────────────────────────────────────────────────
   The eyebrow is bare letterspaced small caps with a leaf tick — no
   pill, no border (the Luxe eyebrow is a bordered pill; this must not
   read as that). */
.fs-cm-eyebrow{
  display:inline-flex;align-items:center;gap:.55rem;
  color:rgb(var(--c-ink-700));
  font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
}
.fs-cm-eyebrow::before{
  content:'';width:.65rem;height:.4rem;border-radius:50%;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  transform:rotate(-32deg);
}
.fs-cm-title{
  margin:1.1rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(2.4rem,5.5vw,4rem);
  line-height:1.12;font-weight:500;letter-spacing:.005em;
  color:rgb(var(--c-ink-950));
}
.fs-cm-accent{
  font-style:italic;font-weight:400;
  color:rgb(var(--c-brand-600));
}
.fs-cm-sub{
  margin:1.3rem 0 0;max-width:44ch;
  font-size:clamp(1rem,1.6vw,1.12rem);line-height:1.7;
  color:rgb(var(--c-ink-700));
}
.fs-cm-title-center{text-align:center;margin-left:auto;margin-right:auto;}
.fs-cm-sub-center{text-align:center;margin-left:auto;margin-right:auto;}

/* ── Buttons: one quiet solid + one underlined text link ───────── */
.fs-cm-ctas{display:flex;flex-wrap:wrap;gap:1.2rem;margin-top:2rem;align-items:center;}
.fs-cm-ctas-center{justify-content:center;}
.fs-cm-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.9rem 1.9rem;border-radius:var(--fs-radius-pill, 999px);
  font-size:.95rem;font-weight:600;line-height:1;white-space:nowrap;letter-spacing:.02em;
  color:rgb(var(--c-paper));
  background:rgb(var(--c-brand-600));
  box-shadow:var(--fs-shadow-card, 0 12px 28px rgb(var(--c-ink-950) / .12));
  transition:transform .3s ease, background .3s ease;
}
.fs-cm-btn:hover{transform:translateY(-2px);background:rgb(var(--c-brand-700, var(--c-brand-600)));}
.fs-cm-link{
  display:inline-flex;align-items:center;gap:.4rem;
  font-size:.95rem;font-weight:600;color:rgb(var(--c-ink-950));
  border-bottom:1.5px solid rgb(var(--c-accent, var(--c-brand-600)));
  padding-bottom:.15rem;white-space:nowrap;
  transition:color .3s ease, border-color .3s ease;
}
.fs-cm-link::after{content:'→';font-weight:400;}
.fs-cm-link:hover{color:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));}
.fs-cm-wire .fs-cm-btn{background:rgb(var(--c-ink-950));box-shadow:none;}

/* ═════════ HERO (favCalmHero) ═════════ */
.fs-cm-hero{padding:var(--fs-space-section, clamp(3.5rem,8vw,6rem)) clamp(1rem,4vw,2.5rem);}
.fs-cm-hero-inner{
  position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:1.1fr .9fr;
  gap:clamp(2rem,5vw,4.5rem);align-items:center;
}
@media (max-width:920px){.fs-cm-hero-inner{grid-template-columns:1fr;gap:3.5rem;}}
.fs-cm-chips{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2rem;}
.fs-cm-chip{
  display:inline-flex;align-items:center;
  padding:.45rem .95rem;border-radius:var(--fs-radius-pill, 999px);
  border:1px solid rgb(var(--c-line));
  background:rgb(var(--c-paper-soft));
  font-size:.8rem;font-weight:500;color:rgb(var(--c-ink-700));
}

/* The arch: the set's signature. A portrait image masked into a
   round-topped arch, with a thin offset "ghost" arch drawn behind it
   and a small floating card overlapping its base. */
.fs-cm-hero-stage{position:relative;display:flex;justify-content:center;}
.fs-cm-arch{
  position:relative;z-index:1;
  width:min(23rem, 88%);aspect-ratio:3 / 4;
  border-radius:999px 999px var(--fs-radius-card, 22px) var(--fs-radius-card, 22px);
  overflow:hidden;
  background:rgb(var(--c-paper-soft));
  box-shadow:var(--fs-shadow-card, 0 18px 44px rgb(var(--c-ink-950) / .14));
}
.fs-cm-arch img{width:100%;height:100%;object-fit:cover;}
.fs-cm-arch > *{width:100%;height:100%;}
.fs-cm-arch-ghost{
  position:absolute;z-index:0;pointer-events:none;
  width:min(23rem, 88%);aspect-ratio:3 / 4;
  border-radius:999px 999px var(--fs-radius-card, 22px) var(--fs-radius-card, 22px);
  border:1.5px solid rgb(var(--c-accent, var(--c-brand-600)) / .55);
  transform:translate(1.4rem, 1.4rem);
}
/* No image set: a soft wash with a rising sun, so the block never
   opens as an empty frame. */
.fs-cm-arch-fallback{
  display:block;position:relative;width:100%;height:100%;
  background:linear-gradient(180deg, rgb(var(--c-accent, var(--c-brand-600)) / .22), rgb(var(--c-paper-soft)));
}
.fs-cm-arch-sun{
  position:absolute;left:50%;top:34%;
  width:38%;aspect-ratio:1;border-radius:50%;
  transform:translate(-50%,-50%);
  background:rgb(var(--c-brand-600) / .75);
}
.fs-cm-float{
  position:absolute;z-index:2;left:clamp(0rem,2vw,1rem);bottom:-1.2rem;
  padding:.9rem 1.2rem;border-radius:var(--fs-radius-card, 18px);
  background:rgb(var(--c-paper));
  border:1px solid rgb(var(--c-line));
  box-shadow:var(--fs-shadow-card, 0 14px 34px rgb(var(--c-ink-950) / .14));
}
.fs-cm-anim .fs-cm-float{animation:fs-cm-bob 6s ease-in-out infinite alternate;}
@keyframes fs-cm-bob{from{transform:translateY(0);}to{transform:translateY(-.45rem);}}
.fs-cm-float-v{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.15rem;color:rgb(var(--c-brand-600));
}
.fs-cm-float-l{margin-top:.15rem;font-size:.74rem;letter-spacing:.06em;color:rgb(var(--c-ink-400));}
.fs-cm-wire .fs-cm-arch-ghost,.fs-cm-wire .fs-cm-arch-fallback{display:none;}

/* ═════════ PAGE HEADER (favCalmHeader) ═════════ */
.fs-cm-hd{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-cm-hd-inner{
  position:relative;max-width:min(46rem, var(--fs-layout-clamp, 46rem));margin:0 auto;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.fs-cm-hd .fs-cm-title{font-size:clamp(2.2rem,4.5vw,3.4rem);}
/* The flourish: line — leaf — line, drawn rather than decorated. */
.fs-cm-flourish{display:inline-flex;align-items:center;gap:.9rem;margin-top:2rem;}
.fs-cm-flourish::before,.fs-cm-flourish::after{
  content:'';width:3.6rem;height:1px;background:rgb(var(--c-ink-950) / .22);
}
.fs-cm-flourish-leaf{
  width:.75rem;height:.45rem;border-radius:50%;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  transform:rotate(-32deg);
}
.fs-cm-wire .fs-cm-flourish{display:none;}

/* ═════════ PRICE MENU (favCalmMenu) ═════════
   A printed spa menu: name … dotted leader … price, a quiet note under
   each. Nothing else in the block library sets prices this way. */
.fs-cm-menu{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-cm-menu-head{max-width:min(46rem, var(--fs-layout-clamp, 46rem));margin:0 auto;text-align:center;}
.fs-cm-h{
  margin:0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(1.9rem,3.6vw,2.7rem);
  line-height:1.15;font-weight:500;color:rgb(var(--c-ink-950));
}
.fs-cm-menu-card{
  max-width:var(--fs-layout-max,56rem);margin:2.6rem auto 0;
  padding:clamp(1.6rem,4vw,3rem);
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line));
  border-radius:var(--fs-radius-card, 22px);
}
.fs-cm-menu-grid{
  display:grid;grid-template-columns:1fr 1fr;
  column-gap:clamp(2rem,5vw,3.5rem);row-gap:1.5rem;
}
@media (max-width:760px){.fs-cm-menu-grid{grid-template-columns:1fr;}}
.fs-cm-row{padding:.35rem .2rem;border-radius:10px;transition:background .3s ease;}
.fs-cm-row:hover{background:rgb(var(--c-brand-600) / .05);}
.fs-cm-row-top{display:flex;align-items:baseline;gap:.6rem;}
.fs-cm-row-name{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.08rem;color:rgb(var(--c-ink-950));
}
.fs-cm-row-dots{
  flex:1;min-width:1.5rem;
  border-bottom:2px dotted rgb(var(--c-ink-400) / .55);
  transform:translateY(-.3rem);
}
.fs-cm-row-price{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.02rem;font-weight:600;white-space:nowrap;
  color:rgb(var(--c-brand-600));
}
.fs-cm-row-note{margin-top:.3rem;font-size:.84rem;line-height:1.55;color:rgb(var(--c-ink-400));}
.fs-cm-menu-note{
  margin-top:2rem;padding-top:1.4rem;
  border-top:1px solid rgb(var(--c-line));
  text-align:center;font-size:.84rem;letter-spacing:.04em;color:rgb(var(--c-ink-400));
}

/* ═════════ TREATMENT CARDS (favCalmTreatments) ═════════
   The rich treatment grid: name, duration/price chip, description and
   a benefits line per card. The premium replacement for listing a spa
   menu in an accordion. */
.fs-cm-tr{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-cm-tr-head{max-width:min(46rem, var(--fs-layout-clamp, 46rem));margin:0 auto 2.6rem;text-align:center;}
.fs-cm-tr-grid{
  max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:repeat(3, minmax(0,1fr));
  gap:clamp(1rem,2.5vw,1.6rem);
}
@media (max-width:980px){.fs-cm-tr-grid{grid-template-columns:repeat(2, minmax(0,1fr));}}
@media (max-width:640px){.fs-cm-tr-grid{grid-template-columns:1fr;}}
.fs-cm-tr-card{
  display:flex;flex-direction:column;
  padding:1.6rem 1.5rem 1.4rem;
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line));
  border-radius:var(--fs-radius-card, 20px);
  transition:transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.fs-cm-tr-card:hover{
  transform:translateY(-4px);
  border-color:rgb(var(--c-brand-600) / .4);
  box-shadow:var(--fs-shadow-card, 0 16px 36px rgb(var(--c-ink-950) / .1));
}
.fs-cm-tr-meta{
  display:inline-flex;align-self:flex-start;align-items:center;gap:.5rem;
  padding:.35rem .85rem;border-radius:var(--fs-radius-pill, 999px);
  background:rgb(var(--c-brand-600) / .08);
  color:rgb(var(--c-brand-600));
  font-size:.76rem;font-weight:600;letter-spacing:.05em;
}
.fs-cm-tr-name{
  margin:1rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:1.35rem;line-height:1.25;font-weight:500;
  color:rgb(var(--c-ink-950));
}
.fs-cm-tr-desc{margin-top:.6rem;font-size:.92rem;line-height:1.65;color:rgb(var(--c-ink-700));flex:1;}
.fs-cm-tr-benefits{
  display:flex;align-items:baseline;gap:.55rem;
  margin-top:1.1rem;padding-top:1rem;
  border-top:1px solid rgb(var(--c-line));
  font-size:.8rem;line-height:1.55;color:rgb(var(--c-ink-400));
}
.fs-cm-tr-benefits::before{
  content:'';flex:none;width:.6rem;height:.38rem;border-radius:50%;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  transform:rotate(-32deg) translateY(-.05rem);
}

/* ═════════ CONTACT DETAILS (favCalmContact) ═════════
   Three quiet channels — call, write, visit — with the value set large
   in the display serif, so a phone number reads as considered type
   rather than an afterthought in a paragraph. */
.fs-cm-ct{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-cm-ct-head{max-width:min(46rem, var(--fs-layout-clamp, 46rem));margin:0 auto 2.4rem;text-align:center;}
.fs-cm-ct-grid{
  max-width:var(--fs-layout-max,64rem);margin:0 auto;
  display:grid;grid-template-columns:repeat(3, minmax(0,1fr));
  gap:clamp(1rem,2.5vw,1.6rem);
}
@media (max-width:860px){.fs-cm-ct-grid{grid-template-columns:1fr;}}
.fs-cm-ct-card{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:2rem 1.5rem 1.8rem;
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line));
  border-radius:var(--fs-radius-card, 20px);
  transition:transform .35s ease, border-color .35s ease;
}
.fs-cm-ct-card:hover{transform:translateY(-3px);border-color:rgb(var(--c-brand-600) / .4);}
.fs-cm-ct-label{
  display:inline-flex;align-items:center;gap:.5rem;
  font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-cm-ct-label::before{
  content:'';width:.55rem;height:.35rem;border-radius:50%;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  transform:rotate(-32deg);
}
.fs-cm-ct-value{
  margin-top:.9rem;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(1.2rem,2.4vw,1.55rem);line-height:1.3;
  color:rgb(var(--c-brand-600));
  overflow-wrap:anywhere;
}
.fs-cm-ct-note{margin-top:.6rem;font-size:.84rem;line-height:1.6;color:rgb(var(--c-ink-700));}

/* ═════════ CTA (favCalmCta) ═════════ */
.fs-cm-cta{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-cm-cta-card{
  position:relative;max-width:min(46rem, var(--fs-layout-clamp, 46rem));margin:0 auto;
  padding:clamp(2.2rem,5vw,3.6rem) clamp(1.4rem,4vw,3rem);
  display:flex;flex-direction:column;align-items:center;text-align:center;
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line));
  border-radius:999px 999px var(--fs-radius-card, 26px) var(--fs-radius-card, 26px);
}
.fs-cm-cta-card .fs-cm-title{font-size:clamp(1.9rem,4vw,2.9rem);}
.fs-cm-note{margin-top:1.6rem;font-size:.8rem;letter-spacing:.05em;color:rgb(var(--c-ink-400));}

/* ── favCalmFooter (theme-chrome batch 3, Studio Calm) ───────────────
   fs-cm-ft: the surface band (named container) with two drawn circles
   painted in its corners — their size steps with the screen through
   clamp() on 100cqi, because the band cannot query itself (plan
   R-B3-19). fs-cm-ft-in: the content box (named container), which
   narrows with the Layout. */
.fs-cm-ft{container-type:inline-size;container-name:fs-cm-ft;padding:0 clamp(1rem,4vw,2.5rem);--cm-ft-rule:rgb(var(--c-ink-950) / .14);--cm-ft-deep:color-mix(in srgb, rgb(var(--c-brand-600)) 70%, rgb(var(--c-ink-950)));--cm-ft-ring:rgb(var(--c-brand-600) / .22);--cm-ft-arch:rgb(var(--c-accent, var(--c-brand-600)) / .62);--cm-ft-wash:rgb(var(--c-accent, var(--c-brand-600)) / .2);--cm-ft-dots:rgb(var(--c-ink-400) / .5);--cm-ft-flo:rgb(var(--c-ink-950) / .24);--cm-ft-r1:clamp(11rem, (100cqi - 760px) * 100, 24rem);--cm-ft-o1:clamp(3rem, (100cqi - 760px) * 100, 6rem);--cm-ft-r2:clamp(7rem, (100cqi - 760px) * 100, 16rem);--cm-ft-o2:clamp(5rem, (100cqi - 760px) * 100, 8rem);background:radial-gradient(circle at calc(100% + var(--cm-ft-o1)) calc(-1 * var(--cm-ft-o1)),transparent calc(var(--cm-ft-r1) - 1.5px),var(--cm-ft-ring) calc(var(--cm-ft-r1) - 1px) var(--cm-ft-r1),transparent calc(var(--cm-ft-r1) + .5px)),radial-gradient(circle at calc(-1 * var(--cm-ft-o2)) calc(100% + var(--cm-ft-o2) / 2),transparent calc(var(--cm-ft-r2) - 1.5px),var(--cm-ft-ring) calc(var(--cm-ft-r2) - 1px) var(--cm-ft-r2),transparent calc(var(--cm-ft-r2) + .5px)),rgb(var(--c-paper-soft))}
.fs-cm-ft:is(.dark *):not(.fs-preview-light *){--cm-ft-rule:rgb(var(--c-ink-950) / .15);--cm-ft-deep:rgb(var(--c-brand-600));--cm-ft-ring:rgb(var(--c-brand-600) / .2);--cm-ft-arch:rgb(var(--c-accent, var(--c-brand-600)) / .6);--cm-ft-wash:rgb(var(--c-accent, var(--c-brand-600)) / .16);--cm-ft-dots:rgb(var(--c-ink-400) / .45);--cm-ft-flo:rgb(var(--c-ink-950) / .26)}
.fs-cm-ft-in{container-type:inline-size;container-name:fs-cm-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:60px 30px}
.fs-cm-ft-mark{display:block;width:44px;height:44px}
.fs-cm-ft-mk-a{fill:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-cm-ft-mk-b{fill:rgb(var(--c-brand-600))}
.fs-cm-ft-mk-w{fill:none;stroke:rgb(var(--c-brand-600));stroke-width:2.5;stroke-linecap:round}
.fs-cm-ft-head{display:flex;align-items:flex-end;margin-bottom:46px}
.fs-cm-ft-head::before,.fs-cm-ft-head::after{content:'';flex:1 1 0;min-width:12px;height:1px;background:var(--cm-ft-flo)}
.fs-cm-ft-arch{position:relative;flex:none;display:flex;flex-direction:column;align-items:center;width:min(23rem,calc(100% - 40px));padding:34px 26px 26px;text-align:center;background:linear-gradient(180deg,var(--cm-ft-wash),transparent 72%);border:1.5px solid var(--cm-ft-arch);border-bottom:0;border-radius:999px 999px 0 0}
.fs-cm-ft-arch::before{content:'';position:absolute;inset:-13px -13px 0;border:1px solid var(--cm-ft-ring);border-bottom:0;border-radius:999px 999px 0 0;pointer-events:none}
.fs-cm-ft-name{margin:12px 0 0;font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:32px;line-height:1.1;letter-spacing:.04em;color:rgb(var(--c-ink-950))}
.fs-cm-ft-tag{margin:10px 0 0;max-width:22ch;font-size:15.5px;line-height:1.5;color:rgb(var(--c-ink-400));text-wrap:balance}
.fs-cm-ft-accent{font-family:var(--font-display, Georgia, serif);font-style:italic;color:var(--cm-ft-deep)}
.fs-cm-ft-cols{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.1fr) minmax(0,.85fr) minmax(0,1fr);gap:34px clamp(24px,3.4cqi,48px)}
.fs-cm-ft-col{min-width:0}
.fs-cm-ft-h{display:inline-flex;align-items:center;gap:9px;margin:0 0 16px;font-weight:600;font-size:11px;line-height:1.2;letter-spacing:.22em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
.fs-cm-ft-h::before{content:'';flex:none;width:10.5px;height:6.5px;border-radius:50%;background:rgb(var(--c-accent, var(--c-brand-600)));transform:rotate(-32deg)}
.fs-cm-ft-big{margin:0;font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:21px;line-height:1.3;color:rgb(var(--c-ink-950))}
.fs-cm-ft-tel{display:block;margin-top:12px;font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:21px;line-height:1.3;letter-spacing:.02em;color:var(--cm-ft-deep);text-decoration:none}
.fs-cm-ft-mail{display:block;margin-top:2px;font-size:14.5px;color:rgb(var(--c-ink-950));overflow-wrap:anywhere;text-decoration:none}
.fs-cm-ft-mail:hover{color:var(--cm-ft-deep)}
.fs-cm-ft-p{margin:10px 0 0;max-width:34ch;font-size:14px;line-height:1.6;color:rgb(var(--c-ink-400))}
.fs-cm-ft-col .fs-cm-ft-link{margin-top:14px}
.fs-cm-ft-link{display:inline-flex;align-items:center;gap:6px;padding-bottom:2px;border-bottom:1.5px solid rgb(var(--c-accent, var(--c-brand-600)));font-weight:600;font-size:14px;line-height:1.25;color:rgb(var(--c-ink-950));white-space:nowrap;text-decoration:none;transition:color .3s ease,border-color .3s ease}
.fs-cm-ft-link::after{content:'→';font-weight:400}
.fs-cm-ft-link:hover{color:var(--cm-ft-deep);border-color:var(--cm-ft-deep)}
.fs-cm-ft-hrs{list-style:none;margin:0;padding:0;display:grid;row-gap:9px}
.fs-cm-ft-hrow{display:flex;align-items:baseline;gap:8px}
.fs-cm-ft-hday{font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:15.5px;line-height:1.3;color:rgb(var(--c-ink-950));white-space:nowrap}
.fs-cm-ft-dots{flex:1;min-width:18px;border-bottom:2px dotted var(--cm-ft-dots);transform:translateY(-4px)}
.fs-cm-ft-htime{font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:15.5px;line-height:1.3;color:var(--cm-ft-deep);white-space:nowrap}
.fs-cm-ft-list{list-style:none;margin:0;padding:0;display:grid;row-gap:8px}
.fs-cm-ft-plink{font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:16.5px;line-height:1.3;color:rgb(var(--c-ink-950));text-decoration:none;transition:color .3s ease}
.fs-cm-ft-plink:hover{color:var(--cm-ft-deep)}
.fs-cm-ft-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:7px}
.fs-cm-ft-chip{padding:6px 13px;border:1px solid var(--cm-ft-rule);border-radius:999px;background:rgb(var(--c-paper));font-size:12.5px;font-weight:500;line-height:1.2;color:rgb(var(--c-ink-400))}
.fs-cm-ft-legal{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;margin:48px 0 0;padding-top:18px;border-top:1px solid var(--cm-ft-rule);font-size:13px;color:rgb(var(--c-ink-400))}
.fs-cm-ft-legal-t{margin-right:auto;color:inherit}
.fs-cm-ft-legal-a{color:inherit;text-decoration:none}
.fs-cm-ft-legal-a:hover{color:rgb(var(--c-ink-950))}
@container fs-cm-ft (max-width: 40rem){
  .fs-cm-ft-in{padding-block:44px 24px}
  .fs-cm-ft-arch{width:min(23rem,calc(100% - 64px))}
}
@container fs-cm-ft-in (max-width: 56rem){
  .fs-cm-ft-cols{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:38px}
}
@container fs-cm-ft (max-width: 48rem){
  .fs-cm-ft-cols{grid-template-columns:minmax(0,1fr);row-gap:32px}
  .fs-cm-ft-head{margin-bottom:36px}
  .fs-cm-ft-name{font-size:29px}
}
@container fs-cm-ft (max-width: 30rem){
  .fs-cm-ft-arch{padding:30px 18px 22px}
  .fs-cm-ft-legal-t{flex-basis:100%}
}
@media (prefers-reduced-motion: reduce){
  .fs-cm-ft-link,.fs-cm-ft-plink{transition:none}
}

/* Never-ending drift with no way out. WCAG 2.2.2 asks that motion which
   runs for more than five seconds can be stopped, and these loop for
   ever; a visitor who has asked their OS for less motion was getting it
   anyway. It also made the theme unshootable — the preview caught the
   loop at a different phase every run, so no two captures ever agreed. */
@media (prefers-reduced-motion: reduce) {
  .fs-cm-anim .fs-cm-ring-a,
  .fs-cm-anim .fs-cm-ring-b,
  .fs-cm-anim .fs-cm-float { animation: none !important; }
}


.fs-pl{
  position:relative;overflow:hidden;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-pl *{box-sizing:border-box;}

/* ── Type ─────────────────────────────────────────────────────────
   The eyebrow sits BETWEEN two diamonds — a menu-card ornament, not
   the Luxe pill and not the Calm leaf. */
.fs-pl-eyebrow{
  display:inline-flex;align-items:center;gap:.7rem;
  color:rgb(var(--c-ink-700));
  font-size:.72rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;
}
.fs-pl-eyebrow::before,.fs-pl-eyebrow::after{
  content:'';width:.42rem;height:.42rem;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  transform:rotate(45deg);
}
.fs-pl-title{
  margin:1.1rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(2.4rem,5.5vw,4rem);
  line-height:1.08;font-weight:600;letter-spacing:-.01em;
  color:rgb(var(--c-ink-950));
}
.fs-pl-accent{color:rgb(var(--c-accent, var(--c-brand-600)));}
.fs-pl-sub{
  margin:1.3rem 0 0;max-width:44ch;
  font-size:clamp(1rem,1.6vw,1.12rem);line-height:1.7;
  color:rgb(var(--c-ink-700));
}
.fs-pl-center{text-align:center;margin-left:auto;margin-right:auto;}
.fs-pl-h{
  margin:0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(1.9rem,3.6vw,2.7rem);
  line-height:1.15;font-weight:600;color:rgb(var(--c-ink-950));
}

/* ── Buttons — uppercase, squared-off, bistro-poster confident ──── */
.fs-pl-ctas{display:flex;flex-wrap:wrap;gap:1.1rem;margin-top:2rem;align-items:center;}
.fs-pl-ctas-center{justify-content:center;}
.fs-pl-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.9rem 1.9rem;border-radius:var(--fs-radius-control, 10px);
  font-size:.92rem;font-weight:700;line-height:1;white-space:nowrap;letter-spacing:.06em;
  text-transform:uppercase;
  color:rgb(var(--c-paper));
  background:rgb(var(--c-brand-600));
  box-shadow:var(--fs-shadow-card, 0 10px 24px rgb(var(--c-ink-950) / .14));
  transition:transform .3s ease, background .3s ease;
}
.fs-pl-btn:hover{transform:translateY(-2px);background:rgb(var(--c-brand-700, var(--c-brand-600)));}
.fs-pl-btn2{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.9rem 1.9rem;border-radius:var(--fs-radius-control, 10px);
  font-size:.92rem;font-weight:700;line-height:1;white-space:nowrap;letter-spacing:.06em;
  text-transform:uppercase;
  color:rgb(var(--c-ink-950));
  border:1.5px solid rgb(var(--c-ink-950) / .35);
  background:transparent;
  transition:border-color .3s ease, color .3s ease, transform .3s ease;
}
.fs-pl-btn2:hover{transform:translateY(-2px);border-color:rgb(var(--c-brand-600));color:rgb(var(--c-brand-600));}
.fs-pl-wire .fs-pl-btn{background:rgb(var(--c-ink-950));box-shadow:none;}

/* ═════════ HERO (favPlateHero) ═════════ */
.fs-pl-hero{container-type:inline-size;padding:var(--fs-space-section, clamp(3.5rem,8vw,6rem)) clamp(1rem,4vw,2.5rem);}
.fs-pl-hero-inner{
  position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(2rem,5vw,4.5rem);align-items:center;
}
/* Collapsed via the hero's own inline-size container (R3, theme-chrome
   batch 1, Task 8 — precedent care-styles.ts .fs-ca-hero): a viewport
   @media(max-width:920px) never fires inside the editor's simulated
   canvas, which is why the mobile probe overflowed sideways here.
   57.5rem = the same 920px breakpoint. */
@container (max-width: 57.5rem){
  .fs-pl-hero-inner{grid-template-columns:1fr;gap:3.5rem;}
}
/* Service times over a double rule — a line of set type, not chips. */
.fs-pl-services{
  display:flex;flex-wrap:wrap;align-items:center;column-gap:.9rem;row-gap:.5rem;
  margin-top:2.1rem;padding-top:1.4rem;
  border-top:4px double rgb(var(--c-ink-950) / .25);
  font-size:.88rem;font-weight:600;letter-spacing:.03em;color:rgb(var(--c-ink-700));
}
.fs-pl-service-sep{
  width:.42rem;height:.42rem;flex:none;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  transform:rotate(45deg);
}
/* The plate: a perfect-circle crop with an offset outer ring, like a
   plate set on a charger. The set's signature frame. */
.fs-pl-hero-stage{position:relative;display:flex;justify-content:center;padding:1rem;}
.fs-pl-plate{
  position:relative;z-index:1;
  width:min(22rem, 82%);aspect-ratio:1 / 1;
  border-radius:50%;overflow:hidden;
  background:rgb(var(--c-paper-soft));
  box-shadow:var(--fs-shadow-card, 0 18px 44px rgb(var(--c-ink-950) / .16));
  outline:1.5px solid rgb(var(--c-accent, var(--c-brand-600)) / .55);
  outline-offset:14px;
}
.fs-pl-plate img{width:100%;height:100%;object-fit:cover;}
.fs-pl-plate > *{width:100%;height:100%;}
/* No image set: a drawn dish, so the plate never arrives empty. */
.fs-pl-plate-fallback{
  display:block;position:relative;width:100%;height:100%;
  background:radial-gradient(circle at 50% 42%, rgb(var(--c-accent, var(--c-brand-600)) / .3), rgb(var(--c-paper-soft)) 72%);
}
.fs-pl-plate-food{
  position:absolute;left:50%;top:47%;width:52%;aspect-ratio:1 / 1;border-radius:50%;
  transform:translate(-50%,-50%);
  background:rgb(var(--c-brand-600) / .8);
}
/* Tonight's note from the pass, overlapping the plate's edge. */
.fs-pl-float{
  position:absolute;z-index:2;right:clamp(-.5rem,1vw,.5rem);bottom:-.9rem;
  padding:.9rem 1.2rem;border-radius:var(--fs-radius-card, 14px);
  background:rgb(var(--c-paper));
  border:1px solid rgb(var(--c-line));
  border-top:4px double rgb(var(--c-ink-950) / .35);
  box-shadow:var(--fs-shadow-card, 0 14px 34px rgb(var(--c-ink-950) / .14));
  max-width:15rem;
}
.fs-pl-anim .fs-pl-float{animation:fs-pl-bob 7s ease-in-out infinite alternate;}
@keyframes fs-pl-bob{from{transform:translateY(0);}to{transform:translateY(-.4rem);}}
.fs-pl-float-t{
  font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-pl-float-b{
  margin-top:.3rem;
  font-family:var(--font-display, Georgia, serif);
  font-size:1.02rem;line-height:1.4;color:rgb(var(--c-ink-950));
}
.fs-pl-wire .fs-pl-plate-fallback,.fs-pl-wire .fs-pl-float{display:none;}
.fs-pl-wire .fs-pl-plate{outline:none;}

/* ═════════ PAGE HEADER (favPlateHeader) ═════════ */
.fs-pl-hd{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-pl-hd-inner{
  position:relative;max-width:min(46rem, var(--fs-layout-clamp, 46rem));margin:0 auto;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.fs-pl-hd .fs-pl-title{font-size:clamp(2.2rem,4.5vw,3.4rem);}
.fs-pl-hd-rule{
  width:9rem;margin-top:2rem;
  border:none;height:0;border-top:4px double rgb(var(--c-ink-950) / .3);
}
.fs-pl-wire .fs-pl-hd-rule{display:none;}

/* ═════════ MENU BOARD (favPlateMenu) ═════════
   The printed menu: course titles between double rules, dish rows
   with dotted leaders, a description under each dish. */
.fs-pl-menu{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-pl-menu-head{max-width:min(46rem, var(--fs-layout-clamp, 46rem));margin:0 auto 2.4rem;text-align:center;}
.fs-pl-menu-card{
  max-width:min(44rem, var(--fs-layout-clamp, 44rem));margin:0 auto;
  padding:clamp(1.8rem,4.5vw,3.2rem) clamp(1.4rem,4vw,3rem);
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line));
  border-radius:var(--fs-radius-card, 14px);
}
.fs-pl-course{margin-top:2.4rem;}
.fs-pl-course:first-child{margin-top:0;}
.fs-pl-course-title{
  display:flex;align-items:center;gap:1rem;
  margin:0 0 1.4rem;
  font-size:.8rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase;
  color:rgb(var(--c-brand-600));
}
.fs-pl-course-title::before,.fs-pl-course-title::after{
  content:'';flex:1;height:0;
  border-top:4px double rgb(var(--c-ink-950) / .22);
}
.fs-pl-dish{margin-top:1.15rem;}
.fs-pl-dish:first-of-type{margin-top:0;}
.fs-pl-dish-top{display:flex;align-items:baseline;gap:.6rem;}
.fs-pl-dish-name{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.12rem;color:rgb(var(--c-ink-950));
}
.fs-pl-dish-dots{
  flex:1;min-width:1.5rem;
  border-bottom:2px dotted rgb(var(--c-ink-400) / .5);
  transform:translateY(-.3rem);
}
.fs-pl-dish-price{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.05rem;font-weight:600;white-space:nowrap;
  color:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-pl-dish-desc{margin-top:.25rem;font-size:.86rem;line-height:1.6;color:rgb(var(--c-ink-400));max-width:52ch;}
.fs-pl-menu-note{
  margin-top:2.4rem;padding-top:1.3rem;
  border-top:4px double rgb(var(--c-ink-950) / .22);
  text-align:center;font-size:.82rem;letter-spacing:.04em;color:rgb(var(--c-ink-400));
}

/* ═════════ HOURS BOARD (favPlateHours) ═════════ */
.fs-pl-hr{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-pl-hr-head{max-width:min(46rem, var(--fs-layout-clamp, 46rem));margin:0 auto 2.2rem;text-align:center;}
.fs-pl-hr-card{
  max-width:min(38rem, var(--fs-layout-clamp, 38rem));margin:0 auto;
  padding:clamp(1.6rem,4vw,2.6rem) clamp(1.4rem,4vw,2.8rem);
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line));
  border-block:4px double rgb(var(--c-ink-950) / .3);
  border-radius:var(--fs-radius-card, 14px);
}
.fs-pl-hr-row{
  display:flex;align-items:baseline;gap:1rem;justify-content:space-between;
  padding:.85rem 0;
}
.fs-pl-hr-row + .fs-pl-hr-row{border-top:1px solid rgb(var(--c-line));}
.fs-pl-hr-label{
  font-size:.78rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:rgb(var(--c-ink-700));
}
.fs-pl-hr-value{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.05rem;text-align:right;color:rgb(var(--c-ink-950));
}
.fs-pl-hr-note{margin-top:1.3rem;text-align:center;font-size:.82rem;letter-spacing:.03em;color:rgb(var(--c-ink-400));}

/* ═════════ CTA (favPlateCta) ═════════
   A full-width reservation band bounded by double rules — the bottom
   of the menu card, scaled up to a section. */
.fs-pl-cta{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-pl-cta-band{
  position:relative;max-width:var(--fs-layout-max,56rem);margin:0 auto;
  padding:clamp(2.2rem,5vw,3.4rem) clamp(1.4rem,4vw,3rem);
  display:flex;flex-direction:column;align-items:center;text-align:center;
  background:rgb(var(--c-brand-600) / .06);
  border-block:4px double rgb(var(--c-ink-950) / .35);
}
.fs-pl-cta-band .fs-pl-title{font-size:clamp(1.9rem,4vw,2.9rem);}
.fs-pl-note{margin-top:1.6rem;font-size:.8rem;letter-spacing:.05em;color:rgb(var(--c-ink-400));}

/* ═════════ FOOTER (favPlateFooter) — the back of the menu ═════════
   A centred card between double rules, the plate mark in a ringed
   disc straddling its top edge, three columns (find us / hours board
   / visit us) under small-caps titles, and house notes between
   diamonds. */
.fs-pl-ft{container-type:inline-size;padding:72px clamp(1rem,4vw,2.5rem) 36px}
.fs-pl-ft-in{max-width:var(--fs-layout-max,72rem);margin-inline:auto}
.fs-pl-ft-card{
  position:relative;max-width:min(62.5rem, var(--fs-layout-max,62.5rem));margin:0 auto;
  padding:clamp(2.6rem,6vw,3.5rem) clamp(1.1rem,4vw,2.75rem) clamp(1.1rem,3vw,1.4rem);
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line));
  border-block:4px double rgb(var(--c-ink-950) / .3);
  border-radius:var(--fs-radius-card, 18px);
  text-align:center;
}
/* The plate mark: a 64px ringed disc straddling the card's top edge. */
.fs-pl-ft-plate{
  position:absolute;top:-32px;left:50%;margin-left:-32px;
  display:grid;place-items:center;
  width:64px;height:64px;border-radius:50%;
  background:rgb(var(--c-paper));
  border:1.5px solid rgb(var(--c-brand-600) / .6);
  box-shadow:inset 0 0 0 9px rgb(var(--c-paper-soft)), inset 0 0 0 11.5px rgb(var(--c-brand-600));
}
.fs-pl-ft-plate-dot{width:.85rem;height:.85rem;border-radius:50%;background:rgb(var(--c-accent, var(--c-brand-600)));}
.fs-pl-ft-eyebrow{
  display:inline-flex;align-items:center;gap:.7rem;
  font-size:.72rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;
  color:rgb(var(--c-ink-700));
}
.fs-pl-ft-eyebrow::before,.fs-pl-ft-eyebrow::after{
  content:'';width:.42rem;height:.42rem;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  transform:rotate(45deg);
}
.fs-pl-ft-name{
  margin-top:.9rem;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(2.1rem,5vw,3.1rem);line-height:1;font-weight:600;letter-spacing:-.01em;
  color:rgb(var(--c-ink-950));
}
.fs-pl-ft-statement{max-width:46ch;margin:.85rem auto 0;font-size:1rem;line-height:1.6;color:rgb(var(--c-ink-700));}
.fs-pl-ft-cols{
  display:grid;grid-template-columns:1fr 1.25fr 1fr;margin-top:1.9rem;
  border-top:1px solid rgb(var(--c-line));text-align:left;
}
.fs-pl-ft-col{padding:1.4rem 1.5rem .5rem;}
.fs-pl-ft-col+.fs-pl-ft-col{border-left:1px solid rgb(var(--c-line));}
.fs-pl-ft-h{
  margin:0 0 .75rem;
  font-size:.7rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:rgb(var(--c-ink-950));
}
.fs-pl-ft-p{margin:0;font-size:.9rem;line-height:1.5;color:rgb(var(--c-ink-700));}
.fs-pl-ft-p+.fs-pl-ft-p{margin-top:.4rem;}
/* The email field (last of the three in "Find us") is the one whose
   long address ("hello@plateful.co.uk") cannot always fit at 390px —
   the old generic PLATEFUL_FOOTER overflowed the mobile canvas by 31px
   here because it could not wrap. All three share this rule, so the
   email field always can. */
.fs-pl-ft-p{overflow-wrap:anywhere;}
.fs-pl-ft-hours{margin:0;}
.fs-pl-ft-hrow{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;padding-block:.3rem;font-size:.9rem;}
.fs-pl-ft-hk{margin:0;color:rgb(var(--c-ink-700));}
.fs-pl-ft-hv{margin:0;font-family:var(--font-display, Georgia, serif);text-align:right;color:rgb(var(--c-ink-950));}
.fs-pl-ft-list{list-style:none;margin:0;padding:0;font-size:.9rem;}
.fs-pl-ft-li{padding-block:.25rem;}
.fs-pl-ft-link{color:rgb(var(--c-ink-700));text-decoration:none;}
.fs-pl-ft-link:hover{color:rgb(var(--c-ink-950));text-decoration:underline;}
.fs-pl-ft-notes{
  display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.4rem .9rem;
  margin-top:1.4rem;padding-top:.9rem;
  border-top:4px double rgb(var(--c-ink-950) / .22);
  font-size:.82rem;color:rgb(var(--c-ink-400));
}
.fs-pl-ft-dia{width:.4rem;height:.4rem;flex:none;background:rgb(var(--c-accent, var(--c-brand-600)));transform:rotate(45deg);}
.fs-pl-ft-legal{
  display:flex;justify-content:center;flex-wrap:wrap;gap:.4rem 1.1rem;
  margin-top:1.1rem;font-size:.78rem;color:rgb(var(--c-ink-400));
}
.fs-pl-ft-legal-t{color:inherit;}
.fs-pl-ft-legal-a{color:inherit;text-decoration:none;}
.fs-pl-ft-legal-a:hover{color:rgb(var(--c-ink-950));}
.fs-pl-wire .fs-pl-ft-plate{box-shadow:none;border-color:rgb(var(--c-ink-950) / .35);}
.fs-pl-wire .fs-pl-ft-plate-dot{background:rgb(var(--c-ink-950) / .35);}
/* 48rem against this band's own box (editor-tablet content box: 686px
   — from the probe). */
@container (max-width: 48rem){
  .fs-pl-ft-cols{grid-template-columns:1fr}
  .fs-pl-ft-col+.fs-pl-ft-col{border-left:0;border-top:1px solid rgb(var(--c-line));}
  .fs-pl-ft-notes{flex-direction:column}
  .fs-pl-ft-notes .fs-pl-ft-dia{display:none}
}

/* Never-ending drift with no way out. WCAG 2.2.2 asks that motion which
   runs for more than five seconds can be stopped, and these loop for
   ever; a visitor who has asked their OS for less motion was getting it
   anyway. It also made the theme unshootable — the preview caught the
   loop at a different phase every run, so no two captures ever agreed. */
@media (prefers-reduced-motion: reduce) {
  .fs-pl-anim .fs-pl-float { animation: none !important; }
}


.fs-gf{
  position:relative;overflow:hidden;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-gf *{box-sizing:border-box;}

/* ── Shared motifs ──────────────────────────────────────────────
   The striped bar — brand colour over transparent at 45°. */
.fs-gf-stripe{
  height:.55rem;
  background:repeating-linear-gradient(
    -45deg,
    rgb(var(--c-accent, var(--c-brand-600))),
    rgb(var(--c-accent, var(--c-brand-600))) .6rem,
    transparent .6rem,
    transparent 1.2rem
  );
}
.fs-gf-wire .fs-gf-stripe{display:none;}

/* ── Type ─────────────────────────────────────────────────────────
   The eyebrow is a solid tag — set INTO a brand chip with squared
   corners, like a stamped job number. */
.fs-gf-eyebrow{
  display:inline-flex;align-items:center;
  padding:.4rem .8rem;
  background:rgb(var(--c-ink-950));
  color:rgb(var(--c-paper));
  font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;
}
.fs-gf-title{
  margin:1.1rem 0 0;
  font-family:var(--font-display, 'Arial Narrow', Arial, sans-serif);
  font-size:clamp(2.5rem,6vw,4.4rem);
  line-height:1.02;font-weight:700;letter-spacing:.01em;text-transform:uppercase;
  color:rgb(var(--c-ink-950));
}
.fs-gf-accent{color:rgb(var(--c-brand-600));}
.fs-gf-sub{
  margin:1.3rem 0 0;max-width:46ch;
  font-size:clamp(1rem,1.6vw,1.12rem);line-height:1.65;
  color:rgb(var(--c-ink-700));
}
.fs-gf-h{
  margin:0;
  font-family:var(--font-display, 'Arial Narrow', Arial, sans-serif);
  font-size:clamp(1.9rem,3.8vw,2.8rem);
  line-height:1.1;font-weight:700;text-transform:uppercase;letter-spacing:.01em;
  color:rgb(var(--c-ink-950));
}

/* ── Buttons — squared, thick-edged, hard offset shadow ─────────── */
.fs-gf-ctas{display:flex;flex-wrap:wrap;gap:1.1rem;margin-top:2rem;align-items:center;}
.fs-gf-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.95rem 1.9rem;
  font-size:.95rem;font-weight:800;line-height:1;white-space:nowrap;letter-spacing:.06em;
  text-transform:uppercase;
  color:rgb(var(--c-paper));
  background:rgb(var(--c-brand-600));
  box-shadow:4px 4px 0 rgb(var(--c-ink-950));
  transition:transform .2s ease, box-shadow .2s ease;
}
.fs-gf-btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 rgb(var(--c-ink-950));}
.fs-gf-btn:active{transform:translate(2px,2px);box-shadow:2px 2px 0 rgb(var(--c-ink-950));}
.fs-gf-btn2{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.95rem 1.9rem;
  font-size:.95rem;font-weight:800;line-height:1;white-space:nowrap;letter-spacing:.06em;
  text-transform:uppercase;
  color:rgb(var(--c-ink-950));
  background:transparent;
  border:2.5px solid rgb(var(--c-ink-950));
  transition:background .2s ease, color .2s ease;
}
.fs-gf-btn2:hover{background:rgb(var(--c-ink-950));color:rgb(var(--c-paper));}
.fs-gf-wire .fs-gf-btn{box-shadow:none;}

/* ═════════ HERO (favGraftHero) ═════════ */
.fs-gf-hero{padding:var(--fs-space-section, clamp(3.5rem,8vw,6rem)) clamp(1rem,4vw,2.5rem);}
.fs-gf-hero-inner{
  position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(2rem,5vw,4rem);align-items:center;
}
@media (max-width:920px){.fs-gf-hero-inner{grid-template-columns:1fr;gap:3rem;}}
/* Proof chips: plain, bordered, squared — facts, not decoration. */
.fs-gf-proof{
  display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2rem;
}
.fs-gf-proof-chip{
  display:inline-flex;align-items:center;
  padding:.5rem .9rem;
  border:2px solid rgb(var(--c-ink-950) / .8);
  font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  color:rgb(var(--c-ink-950));
  background:rgb(var(--c-paper-soft));
}
/* The frame: a rectangle with ONE clipped corner — the set's
   signature cut — over an offset solid panel. */
.fs-gf-hero-stage{position:relative;display:flex;justify-content:center;}
.fs-gf-frame{
  position:relative;z-index:1;
  width:min(26rem, 92%);aspect-ratio:4 / 3;
  overflow:hidden;
  background:rgb(var(--c-paper-soft));
  clip-path:polygon(0 0, 100% 0, 100% calc(100% - 3.5rem), calc(100% - 3.5rem) 100%, 0 100%);
  box-shadow:none;
}
.fs-gf-frame img{width:100%;height:100%;object-fit:cover;}
.fs-gf-frame > *{width:100%;height:100%;}
.fs-gf-frame-back{
  position:absolute;z-index:0;pointer-events:none;
  width:min(26rem, 92%);aspect-ratio:4 / 3;
  transform:translate(1.1rem, 1.1rem);
  background:rgb(var(--c-brand-600) / .25);
  clip-path:polygon(0 0, 100% 0, 100% calc(100% - 3.5rem), calc(100% - 3.5rem) 100%, 0 100%);
}
/* No image set: layered ground strata, so the frame never sits empty. */
.fs-gf-frame-fallback{
  display:block;position:relative;width:100%;height:100%;
  background:
    linear-gradient(180deg,
      rgb(var(--c-paper-soft)) 0 46%,
      rgb(var(--c-accent, var(--c-brand-600)) / .5) 46% 60%,
      rgb(var(--c-brand-600) / .75) 60% 100%);
}
.fs-gf-wire .fs-gf-frame-back,.fs-gf-wire .fs-gf-frame-fallback{display:none;}
.fs-gf-wire .fs-gf-frame{clip-path:none;}

/* ═════════ PAGE HEADER (favGraftHeader) ═════════
   LEFT-aligned — every other family's header is centred; this one
   reads like the top of a job sheet. */
.fs-gf-hd{padding:var(--fs-space-section, clamp(3rem,7vw,4.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-gf-hd-inner{position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-gf-hd .fs-gf-title{font-size:clamp(2.2rem,5vw,3.6rem);}
.fs-gf-hd-bar{width:8rem;margin-top:1.8rem;}

/* ═════════ BEFORE / AFTER (favGraftBeforeAfter) ═════════
   The trades pitch in one control: drag the slider, see the job. */
.fs-gf-ba{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-gf-ba-head{max-width:var(--fs-layout-max,72rem);margin:0 auto 2rem;}
.fs-gf-ba-stage{
  position:relative;max-width:var(--fs-layout-max,64rem);margin:0 auto;
  aspect-ratio:16 / 9;overflow:hidden;
  background:rgb(var(--c-paper-soft));
  border:2.5px solid rgb(var(--c-ink-950));
}
.fs-gf-ba-pane{position:absolute;inset:0;}
.fs-gf-ba-pane img{width:100%;height:100%;object-fit:cover;}
.fs-gf-ba-pane > *{width:100%;height:100%;}
/* Drawn fallbacks: a rough plot vs a finished one. */
.fs-gf-ba-fallback-before{
  display:block;width:100%;height:100%;
  background:
    radial-gradient(1.4rem 1rem at 20% 70%, rgb(var(--c-ink-950) / .25), transparent 70%),
    radial-gradient(1.8rem 1.2rem at 45% 78%, rgb(var(--c-ink-950) / .2), transparent 70%),
    radial-gradient(1.2rem .9rem at 70% 66%, rgb(var(--c-ink-950) / .28), transparent 70%),
    linear-gradient(180deg, rgb(var(--c-ink-400) / .35) 0 55%, rgb(var(--c-ink-700) / .45) 55% 100%);
}
.fs-gf-ba-fallback-after{
  display:block;width:100%;height:100%;
  background:
    linear-gradient(90deg, transparent 0 30%, rgb(var(--c-paper) / .5) 30% 31%, transparent 31% 60%, rgb(var(--c-paper) / .5) 60% 61%, transparent 61%),
    linear-gradient(180deg, rgb(var(--c-accent, var(--c-brand-600)) / .4) 0 55%, rgb(var(--c-brand-600) / .7) 55% 100%);
}
.fs-gf-ba-divider{
  position:absolute;top:0;bottom:0;width:4px;margin-left:-2px;
  background:rgb(var(--c-paper));
  box-shadow:0 0 0 1.5px rgb(var(--c-ink-950));
  pointer-events:none;
}
.fs-gf-ba-tag{
  position:absolute;top:1rem;
  padding:.35rem .7rem;
  background:rgb(var(--c-ink-950));
  color:rgb(var(--c-paper));
  font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  pointer-events:none;
}
.fs-gf-ba-tag-before{left:1rem;}
.fs-gf-ba-tag-after{right:1rem;background:rgb(var(--c-brand-600));}
/* The visible slider control, under the stage — deliberately NOT an
   invisible overlay, so click-to-replace on the images keeps working
   in the editor. */
.fs-gf-ba-control{
  max-width:var(--fs-layout-max,64rem);margin:.9rem auto 0;
  display:flex;align-items:center;gap:.9rem;
}
.fs-gf-ba-control label{
  font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));white-space:nowrap;
}
.fs-gf-ba-range{
  flex:1;appearance:none;height:.55rem;cursor:ew-resize;
  background:repeating-linear-gradient(
    -45deg,
    rgb(var(--c-accent, var(--c-brand-600))),
    rgb(var(--c-accent, var(--c-brand-600))) .6rem,
    rgb(var(--c-paper-soft)) .6rem,
    rgb(var(--c-paper-soft)) 1.2rem
  );
  border:1.5px solid rgb(var(--c-ink-950));
}
.fs-gf-ba-range::-webkit-slider-thumb{
  appearance:none;width:1.5rem;height:1.5rem;
  background:rgb(var(--c-ink-950));
  border:2.5px solid rgb(var(--c-paper));
  box-shadow:0 0 0 1.5px rgb(var(--c-ink-950));
  cursor:ew-resize;
}
.fs-gf-ba-range::-moz-range-thumb{
  width:1.4rem;height:1.4rem;border-radius:0;
  background:rgb(var(--c-ink-950));
  border:2.5px solid rgb(var(--c-paper));
  cursor:ew-resize;
}
.fs-gf-ba-caption{
  max-width:var(--fs-layout-max,64rem);margin:.9rem auto 0;
  font-size:.86rem;color:rgb(var(--c-ink-400));
}

/* ═════════ BADGES (favGraftBadges) ═════════
   Guarantees and tickets as stamped plates: thick border, hard
   shadow, no fluff. */
.fs-gf-bd{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-gf-bd-grid{
  max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:repeat(4, minmax(0,1fr));
  gap:clamp(.9rem,2vw,1.4rem);
}
@media (max-width:980px){.fs-gf-bd-grid{grid-template-columns:repeat(2, minmax(0,1fr));}}
@media (max-width:520px){.fs-gf-bd-grid{grid-template-columns:1fr;}}
.fs-gf-bd-card{
  padding:1.4rem 1.3rem;
  background:rgb(var(--c-paper-soft));
  border:2.5px solid rgb(var(--c-ink-950));
  box-shadow:4px 4px 0 rgb(var(--c-ink-950) / .85);
  transition:transform .2s ease, box-shadow .2s ease;
}
.fs-gf-bd-card:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 rgb(var(--c-ink-950) / .85);}
.fs-gf-bd-t{
  font-family:var(--font-display, 'Arial Narrow', Arial, sans-serif);
  font-size:1.15rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;
  color:rgb(var(--c-brand-600));
}
.fs-gf-bd-b{margin-top:.45rem;font-size:.86rem;line-height:1.55;color:rgb(var(--c-ink-700));}
.fs-gf-wire .fs-gf-bd-card{box-shadow:none;}

/* ═════════ STEPS (favGraftSteps) ═════════
   How a job runs: four numbered stages with slab numerals. */
.fs-gf-st{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-gf-st-head{max-width:var(--fs-layout-max,72rem);margin:0 auto 2.2rem;}
.fs-gf-st-grid{
  max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:repeat(4, minmax(0,1fr));
  gap:clamp(1rem,2.5vw,1.8rem);
}
@media (max-width:980px){.fs-gf-st-grid{grid-template-columns:repeat(2, minmax(0,1fr));}}
@media (max-width:520px){.fs-gf-st-grid{grid-template-columns:1fr;}}
.fs-gf-st-num{
  font-family:var(--font-display, 'Arial Narrow', Arial, sans-serif);
  font-size:clamp(2.6rem,5vw,3.6rem);line-height:1;font-weight:700;
  color:rgb(var(--c-brand-600) / .35);
}
.fs-gf-st-t{
  margin-top:.5rem;
  font-family:var(--font-display, 'Arial Narrow', Arial, sans-serif);
  font-size:1.2rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;
  color:rgb(var(--c-ink-950));
  border-top:2.5px solid rgb(var(--c-ink-950));
  padding-top:.7rem;
}
.fs-gf-st-b{margin-top:.5rem;font-size:.9rem;line-height:1.6;color:rgb(var(--c-ink-700));}

/* ═════════ CALLOUT (favGraftCallout) ═════════
   The phone-first band: striped top edge, clipped corner, number set
   huge. For "storm damage, ring now" and "free quotes" alike. */
.fs-gf-co{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-gf-co-band{
  position:relative;max-width:var(--fs-layout-max,64rem);margin:0 auto;
  background:rgb(var(--c-ink-950));
  color:rgb(var(--c-paper));
  clip-path:polygon(0 0, 100% 0, 100% calc(100% - 2.6rem), calc(100% - 2.6rem) 100%, 0 100%);
}
.fs-gf-co-inner{
  padding:clamp(2rem,5vw,3.2rem) clamp(1.4rem,4vw,3rem) clamp(2.6rem,6vw,3.8rem);
  display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;
}
.fs-gf-co-title{
  margin:.9rem 0 0;
  font-family:var(--font-display, 'Arial Narrow', Arial, sans-serif);
  font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.08;font-weight:700;text-transform:uppercase;
  color:rgb(var(--c-paper));
}
.fs-gf-co-body{margin-top:.8rem;max-width:52ch;font-size:1rem;line-height:1.65;color:rgb(var(--c-paper) / .8);}
.fs-gf-co-phone{
  margin-top:1.2rem;
  font-family:var(--font-display, 'Arial Narrow', Arial, sans-serif);
  font-size:clamp(2rem,5vw,3.2rem);line-height:1;font-weight:700;letter-spacing:.02em;
  color:rgb(var(--c-brand-600));
}
.fs-gf-co-band .fs-gf-eyebrow{background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));}
.fs-gf-co-band .fs-gf-btn{box-shadow:4px 4px 0 rgb(var(--c-paper) / .35);}
.fs-gf-co-note{margin-top:1.2rem;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--c-paper) / .55);}
.fs-gf-wire .fs-gf-co-band{clip-path:none;}

/* ── favGraftFooter (theme-chrome batch 2, Groundwork) ─────────────
   The root is the full-bleed band (container fs-gf-ft) with the striped
   ground line in its top 9px; three strata run full-bleed past its side
   padding, each with an inner box (container fs-gf-ft-in) at the
   Layout's width. Strata inks: topsoil brand, sub-base brand into ink,
   foundation ink; at night a dark brand tint, the surface, and the page
   pushed toward black (the one colour keyword this file allows). */
.fs-gf-ft{container-type:inline-size;container-name:fs-gf-ft;padding:9px clamp(1rem,4vw,2.5rem) 0;background:var(--gf-ft-stripe) left top/100% 9px no-repeat,rgb(var(--c-paper));--gf-ft-stripe:repeating-linear-gradient(-45deg,rgb(var(--c-accent, var(--c-brand-600))) 0 .6rem,transparent .6rem 1.2rem);--gf-ft-s1:rgb(var(--c-brand-600));--gf-ft-s2:color-mix(in srgb, rgb(var(--c-brand-600)) 37%, rgb(var(--c-ink-950)));--gf-ft-s3:rgb(var(--c-ink-950));--gf-ft-on:rgb(var(--c-paper));--gf-ft-mute:rgb(var(--c-paper) / .86);--gf-ft-hi:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 50%, var(--gf-ft-on))}
.fs-gf-ft:is(.dark *):not(.fs-preview-light *){--gf-ft-s1:color-mix(in srgb, rgb(var(--c-brand-600)) 18%, rgb(var(--c-paper)));--gf-ft-s2:rgb(var(--c-paper-soft));--gf-ft-s3:color-mix(in srgb, rgb(var(--c-paper)) 55%, black);--gf-ft-on:rgb(var(--c-ink-950));--gf-ft-mute:rgb(var(--c-ink-950) / .86)}
.fs-gf-ft-s{margin-inline:calc(-1 * clamp(1rem,4vw,2.5rem));padding-inline:clamp(1rem,4vw,2.5rem);background:var(--gf-ft-sx);color:var(--gf-ft-on)}
.fs-gf-ft-s1{--gf-ft-sx:var(--gf-ft-s1);--gf-ft-on:var(--fs-on-brand, rgb(var(--c-paper)));--gf-ft-mute:color-mix(in srgb, var(--fs-on-brand, rgb(var(--c-paper))) 86%, transparent)}
.fs-gf-ft-s1:is(.dark *):not(.fs-preview-light *){--gf-ft-on:rgb(var(--c-ink-950));--gf-ft-mute:rgb(var(--c-ink-950) / .86)}
.fs-gf-ft-s2{--gf-ft-sx:var(--gf-ft-s2)}
.fs-gf-ft-s3{--gf-ft-sx:var(--gf-ft-s3)}
.fs-gf-ft-in{container-type:inline-size;container-name:fs-gf-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto}
.fs-gf-ft-s1 > .fs-gf-ft-in{padding-block:34px}
.fs-gf-ft-s2 > .fs-gf-ft-in{padding-block:36px 40px}
.fs-gf-ft-s3 > .fs-gf-ft-in{padding-block:16px 18px}
.fs-gf-ft-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px 36px}
.fs-gf-ft-id{display:flex;align-items:center;gap:13px}
.fs-gf-ft-mark{display:grid;gap:4px;flex:none;width:32px}
.fs-gf-ft-bar{display:block;height:7px;background:var(--gf-ft-on)}
.fs-gf-ft-bar:nth-child(2){opacity:.7}
.fs-gf-ft-bar:nth-child(3){opacity:.45}
.fs-gf-ft-name{font:700 30px/1 var(--font-display, 'Arial Narrow', sans-serif);letter-spacing:.07em;text-transform:uppercase}
.fs-gf-ft-state{margin:0;max-width:54ch;font-size:15.5px;line-height:1.5;color:var(--gf-ft-mute)}
.fs-gf-ft-proof{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.fs-gf-ft-chip{padding:6px 10px;border:2px solid color-mix(in srgb, var(--gf-ft-on) 80%, transparent);font-weight:700;font-size:12px;line-height:1.1;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
.fs-gf-ft-cols{display:grid;grid-template-columns:minmax(0,1.25fr) repeat(3,minmax(0,1fr));gap:30px 34px}
.fs-gf-ft-col{min-width:0}
.fs-gf-ft-h{display:inline-flex;margin:0 0 15px;padding:6px 11px 6px 10px;background:var(--gf-ft-on);color:var(--gf-ft-s3);font-weight:800;font-size:11.5px;line-height:1;letter-spacing:.18em;text-transform:uppercase;clip-path:polygon(0 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%)}
.fs-gf-ft-tel{display:block;margin-bottom:10px;font:700 32px/1 var(--font-display, 'Arial Narrow', sans-serif);letter-spacing:.03em;color:var(--gf-ft-hi);white-space:nowrap;text-decoration:none}
.fs-gf-ft-p{margin:0;font-size:14.5px;line-height:1.55;color:var(--gf-ft-mute)}
.fs-gf-ft-p + .fs-gf-ft-p{margin-top:8px}
.fs-gf-ft-mail{color:var(--gf-ft-on);border-bottom:1px solid color-mix(in srgb, var(--gf-ft-on) 45%, transparent);text-decoration:none}
.fs-gf-ft-list{margin:0;padding:0;list-style:none}
.fs-gf-ft-li{padding-block:4px}
.fs-gf-ft-link{font:500 15.5px/1.3 var(--font-display, 'Arial Narrow', sans-serif);letter-spacing:.04em;text-transform:uppercase;color:var(--gf-ft-on);text-decoration:none}
:is(.fs-gf-ft-link,.fs-gf-ft-more):hover{text-decoration:underline;text-decoration-color:var(--gf-ft-hi);text-decoration-thickness:2px;text-underline-offset:4px}
.fs-gf-ft-more{display:inline-block;margin-top:12px;font:600 14px/1.3 var(--font-display, 'Arial Narrow', sans-serif);letter-spacing:.05em;text-transform:uppercase;color:var(--gf-ft-on);border-bottom:2px solid var(--gf-ft-hi);text-decoration:none}
.fs-gf-ft-more::after{content:" →"}
.fs-gf-ft-legal{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0;font-size:13px;color:var(--gf-ft-mute)}
.fs-gf-ft-legal-t{margin-right:auto;color:inherit}
.fs-gf-ft-legal-a{color:inherit;text-decoration:none}
.fs-gf-ft-legal-a:hover{color:var(--gf-ft-on);text-decoration:underline}
@container fs-gf-ft (max-width: 40rem){
  .fs-gf-ft-s1 > .fs-gf-ft-in{padding-block:28px}
  .fs-gf-ft-s2 > .fs-gf-ft-in{padding-block:30px 32px}
}
@container fs-gf-ft-in (max-width: 56rem){
  .fs-gf-ft-top{grid-template-columns:auto minmax(0,1fr)}
  .fs-gf-ft-proof{justify-content:flex-end}
  .fs-gf-ft-state{grid-column:1/-1;grid-row:2}
  .fs-gf-ft-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container fs-gf-ft (max-width: 48rem){
  .fs-gf-ft-top{grid-template-columns:minmax(0,1fr)}
  .fs-gf-ft-proof{justify-content:flex-start}
  .fs-gf-ft-state{grid-row:auto}
  .fs-gf-ft-cols{grid-template-columns:minmax(0,1fr);gap:28px}
}


.fs-cs{
  position:relative;overflow:hidden;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
  font-variant-numeric:oldstyle-nums;
}
.fs-cs *{box-sizing:border-box;}

/* ── Motifs ─────────────────────────────────────────────────────
   The hairline — one true rule, used everywhere. */
.fs-cs-rule{border:none;height:0;border-top:1px solid rgb(var(--c-ink-950) / .25);margin:0;}

/* ── Type ─────────────────────────────────────────────────────────
   The eyebrow: wide-tracked small caps between two long en-rules —
   letterhead, not label. */
.fs-cs-eyebrow{
  display:inline-flex;align-items:center;gap:.9rem;
  color:rgb(var(--c-brand-600));
  font-size:.72rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;
}
.fs-cs-eyebrow::before,.fs-cs-eyebrow::after{
  content:'';width:2.4rem;height:1px;
  background:rgb(var(--c-ink-950) / .3);
}
.fs-cs-title{
  margin:1.2rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(2.3rem,5vw,3.8rem);
  line-height:1.14;font-weight:500;letter-spacing:.002em;
  color:rgb(var(--c-ink-950));
}
.fs-cs-accent{color:rgb(var(--c-brand-600));}
.fs-cs-sub{
  margin:1.4rem 0 0;max-width:52ch;
  font-size:clamp(1rem,1.5vw,1.1rem);line-height:1.75;
  color:rgb(var(--c-ink-700));
}
.fs-cs-center{text-align:center;margin-left:auto;margin-right:auto;}
.fs-cs-h{
  margin:0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(1.8rem,3.4vw,2.5rem);
  line-height:1.2;font-weight:500;color:rgb(var(--c-ink-950));
}

/* ── Buttons — quiet: one filled rectangle, one plain-text link ── */
.fs-cs-ctas{display:flex;flex-wrap:wrap;gap:1.3rem;margin-top:2.1rem;align-items:center;}
.fs-cs-ctas-center{justify-content:center;}
.fs-cs-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.9rem 2rem;
  font-size:.88rem;font-weight:600;line-height:1;white-space:nowrap;letter-spacing:.1em;
  text-transform:uppercase;
  color:rgb(var(--c-paper));
  background:rgb(var(--c-brand-600));
  transition:background .3s ease;
}
.fs-cs-btn:hover{background:rgb(var(--c-brand-700, var(--c-brand-600)));}
.fs-cs-link{
  display:inline-flex;align-items:center;gap:.45rem;
  font-size:.88rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:rgb(var(--c-ink-950));
  transition:color .3s ease;
}
.fs-cs-link::after{content:'—';color:rgb(var(--c-brand-600));}
.fs-cs-link:hover{color:rgb(var(--c-brand-600));}

/* ═════════ HERO (favCounselHero) ═════════
   Type on the left, the fact sheet on the right — the only hero in
   the library with no image stage, on principle. */
.fs-cs-hero{padding:var(--fs-space-section, clamp(3.5rem,8vw,6rem)) clamp(1rem,4vw,2.5rem);}
.fs-cs-hero-inner{
  position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:1.15fr .85fr;
  gap:clamp(2.5rem,6vw,5rem);align-items:start;
}
@media (max-width:920px){.fs-cs-hero-inner{grid-template-columns:1fr;gap:3rem;}}
/* The fact sheet: a keyline box of ledger rows. */
.fs-cs-facts{
  border:1px solid rgb(var(--c-ink-950) / .3);
  padding:clamp(1.4rem,3vw,2.2rem);
  background:rgb(var(--c-paper-soft) / .5);
}
.fs-cs-facts-title{
  font-size:.72rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-cs-fact{
  display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  padding:.95rem 0;
}
.fs-cs-fact + .fs-cs-fact{border-top:1px solid rgb(var(--c-ink-950) / .12);}
.fs-cs-facts-title + .fs-cs-fact{margin-top:.6rem;border-top:1px solid rgb(var(--c-ink-950) / .25);}
.fs-cs-fact-l{font-size:.86rem;color:rgb(var(--c-ink-700));}
.fs-cs-fact-v{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.25rem;color:rgb(var(--c-brand-600));white-space:nowrap;
}

/* ═════════ PAGE HEADER (favCounselHeader) ═════════ */
.fs-cs-hd{padding:var(--fs-space-section, clamp(3rem,7vw,4.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-cs-hd-inner{
  position:relative;max-width:min(52rem, var(--fs-layout-clamp, 52rem));margin:0 auto;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.fs-cs-hd .fs-cs-title{font-size:clamp(2.1rem,4.4vw,3.2rem);}
.fs-cs-hd-rule{width:100%;max-width:min(52rem, var(--fs-layout-clamp, 52rem));margin:2.2rem auto 0;}

/* ═════════ CREDENTIALS (favCounselCreds) ═════════
   Qualifications and memberships as ruled text columns — no badges,
   no borders per item: the restraint is the credibility. */
.fs-cs-cr{padding:var(--fs-space-section, clamp(2.6rem,6vw,4.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-cs-cr-inner{max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-cs-cr-grid{
  display:grid;grid-template-columns:repeat(4, minmax(0,1fr));
  border-top:1px solid rgb(var(--c-ink-950) / .3);
  border-bottom:1px solid rgb(var(--c-ink-950) / .3);
}
@media (max-width:920px){.fs-cs-cr-grid{grid-template-columns:repeat(2, minmax(0,1fr));}}
@media (max-width:520px){.fs-cs-cr-grid{grid-template-columns:1fr;}}
.fs-cs-cr-item{padding:1.6rem 1.4rem;}
.fs-cs-cr-item + .fs-cs-cr-item{border-left:1px solid rgb(var(--c-ink-950) / .12);}
@media (max-width:920px){.fs-cs-cr-item:nth-child(3){border-left:none;}}
@media (max-width:520px){.fs-cs-cr-item + .fs-cs-cr-item{border-left:none;border-top:1px solid rgb(var(--c-ink-950) / .12);}}
.fs-cs-cr-t{
  font-size:.74rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:rgb(var(--c-brand-600));
}
.fs-cs-cr-b{margin-top:.55rem;font-size:.88rem;line-height:1.6;color:rgb(var(--c-ink-700));}

/* ═════════ FEE GUIDANCE (favCounselFees) ═════════
   A ledger, not a pricing table: service, basis, figure — ruled rows,
   old-style numerals, and the promise in writing underneath. */
.fs-cs-fe{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-cs-fe-head{max-width:min(52rem, var(--fs-layout-clamp, 52rem));margin:0 auto 2.4rem;text-align:center;}
.fs-cs-fe-ledger{
  max-width:min(52rem, var(--fs-layout-clamp, 52rem));margin:0 auto;
  border:1px solid rgb(var(--c-ink-950) / .3);
  padding:clamp(1.4rem,3.5vw,2.6rem);
  background:rgb(var(--c-paper-soft) / .5);
}
.fs-cs-fe-row{padding:1.05rem 0;}
.fs-cs-fe-row + .fs-cs-fe-row{border-top:1px solid rgb(var(--c-ink-950) / .12);}
.fs-cs-fe-top{display:flex;align-items:baseline;justify-content:space-between;gap:1.2rem;}
.fs-cs-fe-s{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.12rem;color:rgb(var(--c-ink-950));
}
.fs-cs-fe-p{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.12rem;color:rgb(var(--c-brand-600));white-space:nowrap;
}
.fs-cs-fe-d{margin-top:.3rem;font-size:.85rem;line-height:1.6;color:rgb(var(--c-ink-400));max-width:56ch;}
.fs-cs-fe-note{
  max-width:min(52rem, var(--fs-layout-clamp, 52rem));margin:1.2rem auto 0;
  font-size:.82rem;line-height:1.6;letter-spacing:.02em;text-align:center;
  color:rgb(var(--c-ink-400));
}

/* ═════════ PROCESS (favCounselProcess) ═════════
   How an engagement runs: a ruled spine with roman numerals in the
   margin — counsel's answer to Graft's stamped 01–04. */
.fs-cs-pr{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-cs-pr-head{max-width:min(52rem, var(--fs-layout-clamp, 52rem));margin:0 auto 2.4rem;text-align:center;}
.fs-cs-pr-list{max-width:min(44rem, var(--fs-layout-clamp, 44rem));margin:0 auto;border-left:1px solid rgb(var(--c-ink-950) / .3);}
.fs-cs-pr-step{position:relative;padding:0 0 2rem 2.6rem;}
.fs-cs-pr-step:last-child{padding-bottom:0;}
.fs-cs-pr-num{
  position:absolute;left:-1px;top:.15rem;transform:translateX(-100%);
  padding-right:1rem;
  font-family:var(--font-display, Georgia, serif);
  font-style:italic;font-size:1.1rem;color:rgb(var(--c-brand-600));
}
.fs-cs-pr-step::before{
  content:'';position:absolute;left:-4px;top:.5rem;
  width:7px;height:7px;border-radius:50%;
  background:rgb(var(--c-brand-600));
}
.fs-cs-pr-t{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.25rem;color:rgb(var(--c-ink-950));
}
.fs-cs-pr-b{margin-top:.45rem;font-size:.92rem;line-height:1.7;color:rgb(var(--c-ink-700));max-width:52ch;}

/* ═════════ CTA (favCounselCta) ═════════ */
.fs-cs-cta{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-cs-cta-box{
  position:relative;max-width:min(46rem, var(--fs-layout-clamp, 46rem));margin:0 auto;
  padding:clamp(2.2rem,5vw,3.4rem) clamp(1.4rem,4vw,3rem);
  display:flex;flex-direction:column;align-items:center;text-align:center;
  border:1px solid rgb(var(--c-ink-950) / .3);
  background:rgb(var(--c-paper-soft) / .5);
}
/* The double-keyline inset — engraved stationery's one flourish. */
.fs-cs-cta-box::after{
  content:'';position:absolute;inset:.45rem;pointer-events:none;
  border:1px solid rgb(var(--c-ink-950) / .12);
}
.fs-cs-cta-box .fs-cs-title{font-size:clamp(1.8rem,3.8vw,2.7rem);}
.fs-cs-note{margin-top:1.6rem;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:rgb(var(--c-ink-400));}
.fs-cs-wire .fs-cs-cta-box::after{display:none;}

/* ═════════ FOOTER (favCounselFooter) — the with-compliments slip ═════════ */
.fs-cs-ft{container-type:inline-size;padding:56px clamp(1rem,4vw,2.5rem) 40px}
.fs-cs-ft-in{max-width:var(--fs-layout-max,72rem);margin-inline:auto}
.fs-cs-ft-slip{
  position:relative;padding:44px 40px 24px;
  border:1px solid rgb(var(--c-ink-950) / .3);
  background:color-mix(in srgb, rgb(var(--c-paper-soft)) 55%, rgb(var(--c-paper)));
}
.fs-cs-ft-slip::after{content:'';position:absolute;inset:8px;border:1px solid rgb(var(--c-ink-950) / .12);pointer-events:none;}
.fs-cs-ft-top{display:grid;justify-items:center;gap:10px;text-align:center;}
.fs-cs-ft-seal{
  display:grid;place-items:center;width:40px;height:40px;border-radius:50%;
  border:1.2px solid rgb(var(--c-brand-600));
  box-shadow:inset 0 0 0 3.5px rgb(var(--c-paper)), inset 0 0 0 4.3px rgb(var(--c-accent, var(--c-brand-600)));
  font-family:var(--font-display, Georgia, serif);font-weight:600;font-size:17px;color:rgb(var(--c-brand-600));
}
.fs-cs-ft-with{font:italic 400 18px/1 var(--font-display, Georgia, serif);color:rgb(var(--c-ink-700));}
.fs-cs-ft-name{font:500 48px/1 var(--font-display, Georgia, serif);letter-spacing:.02em;color:rgb(var(--c-ink-950));}
.fs-cs-ft-tagline{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:rgb(var(--c-ink-400));}
.fs-cs-ft-statement{max-width:46ch;font:italic 400 19px/1.45 var(--font-display, Georgia, serif);color:rgb(var(--c-ink-700));}
.fs-cs-ft-cols{
  display:grid;grid-template-columns:repeat(4,1fr);margin-top:30px;
  border-top:1px solid rgb(var(--c-ink-950) / .3);border-bottom:1px solid rgb(var(--c-ink-950) / .3);
}
.fs-cs-ft-col{padding:20px 20px 22px;}
.fs-cs-ft-col+.fs-cs-ft-col{border-left:1px solid rgb(var(--c-ink-950) / .12);}
.fs-cs-ft-h{margin:0 0 12px;font:600 10.5px/1.3 var(--font-body, inherit);letter-spacing:.22em;text-transform:uppercase;color:rgb(var(--c-ink-950));}
.fs-cs-ft-p{margin:0;font-size:14px;line-height:1.6;color:rgb(var(--c-ink-700));}
.fs-cs-ft-p+.fs-cs-ft-p{margin-top:8px;}
.fs-cs-ft-list{list-style:none;margin:0;padding:0;}
.fs-cs-ft-li{padding-block:3px;font-size:14px;line-height:1.6;color:rgb(var(--c-ink-700));}
.fs-cs-ft-link{color:rgb(var(--c-ink-950));text-decoration:none;}
.fs-cs-ft-link:hover{color:rgb(var(--c-ink-950));text-decoration:underline;}
.fs-cs-ft-note{margin-top:18px;text-align:center;font:600 10.5px/1.6 var(--font-body, inherit);letter-spacing:.2em;text-transform:uppercase;color:rgb(var(--c-ink-400));}
.fs-cs-ft-legal{
  display:flex;justify-content:center;flex-wrap:wrap;gap:6px 16px;margin-top:18px;
  font-size:12.5px;color:rgb(var(--c-ink-700));font-variant-numeric:oldstyle-nums;
}
.fs-cs-ft-legal-t{color:inherit;}
.fs-cs-ft-legal-a{color:inherit;text-decoration:none;}
.fs-cs-ft-legal-a:hover{color:rgb(var(--c-ink-950));}

/* 64rem → two columns, 48rem → one, both against this band's own box
   (measured editor-tablet content box: 686px). */
@container (max-width: 64rem){
  .fs-cs-ft-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-cs-ft-col:nth-child(3){border-left:0}
}
@container (max-width: 48rem){
  .fs-cs-ft-cols{grid-template-columns:1fr}
  .fs-cs-ft-col+.fs-cs-ft-col{border-left:0;border-top:1px solid rgb(var(--c-ink-950) / .12)}
}


.fs-bs{
  position:relative;overflow:hidden;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-bs *{box-sizing:border-box;}

/* ── Shared decor: confetti dots ────────────────────────────────
   A sparse scatter of soft dots — hand-placed, never a grid. */
.fs-bs-dot{
  position:absolute;border-radius:50%;pointer-events:none;
}
.fs-bs-dot-a{width:.9rem;height:.9rem;top:14%;right:8%;background:rgb(var(--c-accent, var(--c-brand-600)) / .5);}
.fs-bs-dot-b{width:.6rem;height:.6rem;top:26%;right:16%;background:rgb(var(--c-brand-600) / .35);}
.fs-bs-dot-c{width:.7rem;height:.7rem;bottom:18%;left:6%;background:rgb(var(--c-accent, var(--c-brand-600)) / .4);}
.fs-bs-anim .fs-bs-dot{animation:fs-bs-drift 9s ease-in-out infinite alternate;}
.fs-bs-anim .fs-bs-dot-b{animation-duration:12s;}
.fs-bs-anim .fs-bs-dot-c{animation-duration:10s;animation-direction:alternate-reverse;}
@keyframes fs-bs-drift{from{transform:translateY(0);}to{transform:translateY(-.6rem);}}
.fs-bs-wire .fs-bs-dot{display:none;}

/* ── Type ─────────────────────────────────────────────────────────
   The eyebrow is a soft rounded chip — a name-tag, not a stamp. */
.fs-bs-eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.45rem 1rem;border-radius:var(--fs-radius-pill, 999px);
  background:rgb(var(--c-accent, var(--c-brand-600)) / .18);
  color:rgb(var(--c-ink-950));
  font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
}
.fs-bs-eyebrow::before{
  content:'';width:.5rem;height:.5rem;border-radius:50%;
  background:rgb(var(--c-brand-600));
}
.fs-bs-title{
  margin:1.1rem 0 0;
  font-family:var(--font-display, 'Trebuchet MS', Verdana, sans-serif);
  font-size:clamp(2.3rem,5.4vw,3.9rem);
  line-height:1.1;font-weight:700;letter-spacing:-.01em;
  color:rgb(var(--c-ink-950));
}
/* The crayon underline — a thick wavy stroke in the accent colour. */
.fs-bs-accent{
  color:rgb(var(--c-brand-600));
  text-decoration:underline wavy rgb(var(--c-accent, var(--c-brand-600)));
  text-decoration-thickness:3px;
  text-underline-offset:.18em;
}
.fs-bs-sub{
  margin:1.3rem 0 0;max-width:46ch;
  font-size:clamp(1rem,1.6vw,1.12rem);line-height:1.7;
  color:rgb(var(--c-ink-700));
}
.fs-bs-center{text-align:center;margin-left:auto;margin-right:auto;}
.fs-bs-h{
  margin:0;
  font-family:var(--font-display, 'Trebuchet MS', Verdana, sans-serif);
  font-size:clamp(1.8rem,3.5vw,2.6rem);
  line-height:1.15;font-weight:700;color:rgb(var(--c-ink-950));
}

/* ── Buttons — big, round, unmissable ───────────────────────────── */
.fs-bs-ctas{display:flex;flex-wrap:wrap;gap:1.1rem;margin-top:2rem;align-items:center;}
.fs-bs-ctas-center{justify-content:center;}
.fs-bs-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.95rem 2rem;border-radius:var(--fs-radius-pill, 999px);
  font-size:.98rem;font-weight:800;line-height:1;white-space:nowrap;
  color:rgb(var(--c-paper));
  background:rgb(var(--c-brand-600));
  box-shadow:var(--fs-shadow-card, 0 12px 28px rgb(var(--c-brand-600) / .35));
  transition:transform .25s ease, box-shadow .25s ease;
}
.fs-bs-btn:hover{transform:translateY(-2px) rotate(-.5deg);box-shadow:0 16px 34px rgb(var(--c-brand-600) / .4);}
.fs-bs-btn2{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.95rem 2rem;border-radius:var(--fs-radius-pill, 999px);
  font-size:.98rem;font-weight:700;line-height:1;white-space:nowrap;
  color:rgb(var(--c-brand-600));
  border:2.5px dashed rgb(var(--c-brand-600) / .55);
  background:transparent;
  transition:border-color .25s ease, transform .25s ease;
}
.fs-bs-btn2:hover{transform:translateY(-2px);border-color:rgb(var(--c-brand-600));}
.fs-bs-wire .fs-bs-btn{background:rgb(var(--c-ink-950));box-shadow:none;}

/* The sticker: a rounded chip at a slight tilt. Tilts vary by
   position so a row reads as hand-placed. */
.fs-bs-sticker{
  display:inline-flex;align-items:center;
  padding:.5rem 1rem;border-radius:var(--fs-radius-pill, 999px);
  background:rgb(var(--c-paper-soft));
  border:2px solid rgb(var(--c-brand-600) / .35);
  font-size:.82rem;font-weight:700;color:rgb(var(--c-ink-950));
  transform:rotate(-1.5deg);
}
.fs-bs-sticker:nth-child(2n){transform:rotate(1.2deg);border-color:rgb(var(--c-accent, var(--c-brand-600)) / .5);}
.fs-bs-sticker:nth-child(3n){transform:rotate(-.8deg);}
.fs-bs-wire .fs-bs-sticker{transform:none;}

/* ═════════ HERO (favBrightHero) ═════════ */
.fs-bs-hero{padding:var(--fs-space-section, clamp(3.5rem,8vw,6rem)) clamp(1rem,4vw,2.5rem);}
.fs-bs-hero-inner{
  position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(2rem,5vw,4.5rem);align-items:center;
}
@media (max-width:920px){.fs-bs-hero-inner{grid-template-columns:1fr;gap:3.5rem;}}
.fs-bs-stickers{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2rem;}
/* The blob: an organic asymmetric frame — the set's signature. */
.fs-bs-hero-stage{position:relative;display:flex;justify-content:center;}
.fs-bs-blob{
  position:relative;z-index:1;
  width:min(23rem, 86%);aspect-ratio:1 / 1;
  border-radius:62% 38% 55% 45% / 54% 49% 51% 46%;
  overflow:hidden;
  background:rgb(var(--c-paper-soft));
  box-shadow:var(--fs-shadow-card, 0 18px 44px rgb(var(--c-ink-950) / .14));
}
.fs-bs-blob img{width:100%;height:100%;object-fit:cover;}
.fs-bs-blob > *{width:100%;height:100%;}
.fs-bs-blob-ghost{
  position:absolute;z-index:0;pointer-events:none;
  width:min(23rem, 86%);aspect-ratio:1 / 1;
  border-radius:45% 55% 40% 60% / 48% 44% 56% 52%;
  background:rgb(var(--c-accent, var(--c-brand-600)) / .25);
  transform:translate(1.3rem, 1.1rem) rotate(4deg);
}
.fs-bs-anim .fs-bs-blob-ghost{animation:fs-bs-squish 11s ease-in-out infinite alternate;}
@keyframes fs-bs-squish{
  from{border-radius:45% 55% 40% 60% / 48% 44% 56% 52%;}
  to{border-radius:55% 45% 52% 48% / 42% 54% 46% 58%;}
}
/* No photo set: a drawn sun over hills, so the blob never sits empty. */
.fs-bs-blob-fallback{
  display:block;position:relative;width:100%;height:100%;
  background:linear-gradient(180deg, rgb(var(--c-accent, var(--c-brand-600)) / .3) 0 62%, rgb(var(--c-brand-600) / .5) 62% 100%);
}
.fs-bs-blob-sun{
  position:absolute;left:50%;top:38%;
  width:36%;aspect-ratio:1 / 1;border-radius:50%;
  transform:translate(-50%,-50%);
  background:rgb(var(--c-brand-600) / .85);
}
.fs-bs-float{
  position:absolute;z-index:2;left:clamp(-.5rem,1vw,.5rem);bottom:-.9rem;
  padding:.9rem 1.2rem;border-radius:var(--fs-radius-card, 18px);
  background:rgb(var(--c-paper));
  border:2px solid rgb(var(--c-accent, var(--c-brand-600)) / .5);
  box-shadow:var(--fs-shadow-card, 0 14px 34px rgb(var(--c-ink-950) / .14));
  transform:rotate(-1.5deg);
  max-width:15rem;
}
.fs-bs-anim .fs-bs-float{animation:fs-bs-drift 8s ease-in-out infinite alternate;}
.fs-bs-float-t{
  font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:rgb(var(--c-brand-600));
}
.fs-bs-float-b{margin-top:.3rem;font-size:.95rem;font-weight:600;line-height:1.45;color:rgb(var(--c-ink-950));}
.fs-bs-wire .fs-bs-blob-ghost,.fs-bs-wire .fs-bs-blob-fallback,.fs-bs-wire .fs-bs-float{display:none;}
.fs-bs-wire .fs-bs-blob{border-radius:0;}

/* ═════════ PAGE HEADER (favBrightHeader) ═════════ */
.fs-bs-hd{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-bs-hd-inner{
  position:relative;max-width:min(46rem, var(--fs-layout-clamp, 46rem));margin:0 auto;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.fs-bs-hd .fs-bs-title{font-size:clamp(2.1rem,4.4vw,3.2rem);}

/* ═════════ QUALIFICATIONS STRIP (favBrightQuals) ═════════
   The reassurance row: DBS, first aid, insurance — as stickers,
   worn like the lanyard badges they are. */
.fs-bs-ql{padding:var(--fs-space-section, clamp(2.4rem,6vw,4rem)) clamp(1rem,4vw,2.5rem);}
.fs-bs-ql-inner{max-width:var(--fs-layout-max,64rem);margin:0 auto;text-align:center;}
.fs-bs-ql-title{
  font-size:.76rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-bs-ql-row{
  display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem;
  margin-top:1.2rem;
}
.fs-bs-ql .fs-bs-sticker{font-size:.9rem;padding:.65rem 1.25rem;}

/* ═════════ PRICE CARDS (favBrightPrices) ═════════ */
.fs-bs-pc{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-bs-pc-head{max-width:min(46rem, var(--fs-layout-clamp, 46rem));margin:0 auto 2.4rem;text-align:center;}
.fs-bs-pc-grid{
  max-width:var(--fs-layout-max,64rem);margin:0 auto;
  display:grid;grid-template-columns:repeat(3, minmax(0,1fr));
  gap:clamp(1rem,2.5vw,1.6rem);align-items:start;
}
@media (max-width:860px){.fs-bs-pc-grid{grid-template-columns:1fr;}}
.fs-bs-pc-card{
  position:relative;
  padding:1.8rem 1.6rem;
  background:rgb(var(--c-paper-soft));
  border:2px solid rgb(var(--c-line));
  border-radius:var(--fs-radius-card, 24px);
  transition:transform .3s ease, border-color .3s ease;
}
.fs-bs-pc-card:hover{transform:translateY(-4px) rotate(-.4deg);border-color:rgb(var(--c-brand-600) / .5);}
.fs-bs-pc-card-star{border-color:rgb(var(--c-brand-600));box-shadow:var(--fs-shadow-card, 0 16px 38px rgb(var(--c-brand-600) / .18));}
.fs-bs-pc-badge{
  position:absolute;top:-1rem;right:1.2rem;
  padding:.4rem .9rem;border-radius:var(--fs-radius-pill, 999px);
  background:rgb(var(--c-accent, var(--c-brand-600)));
  color:rgb(var(--c-ink-950));
  font-size:.74rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  transform:rotate(2deg);
}
.fs-bs-pc-name{
  font-family:var(--font-display, 'Trebuchet MS', Verdana, sans-serif);
  font-size:1.25rem;font-weight:700;color:rgb(var(--c-ink-950));
}
.fs-bs-pc-price{
  margin-top:.9rem;
  font-family:var(--font-display, 'Trebuchet MS', Verdana, sans-serif);
  font-size:2.1rem;font-weight:700;line-height:1;color:rgb(var(--c-brand-600));
}
.fs-bs-pc-per{margin-left:.35rem;font-size:.85rem;font-weight:600;color:rgb(var(--c-ink-400));}
.fs-bs-pc-lines{margin-top:1.2rem;display:flex;flex-direction:column;gap:.55rem;}
.fs-bs-pc-line{
  display:flex;align-items:baseline;gap:.55rem;
  font-size:.9rem;line-height:1.55;color:rgb(var(--c-ink-700));
}
.fs-bs-pc-line::before{
  content:'';flex:none;width:.5rem;height:.5rem;border-radius:50%;
  background:rgb(var(--c-accent, var(--c-brand-600)) / .7);
  transform:translateY(-.05rem);
}
.fs-bs-pc-note{
  max-width:min(46rem, var(--fs-layout-clamp, 46rem));margin:1.6rem auto 0;text-align:center;
  font-size:.84rem;line-height:1.6;color:rgb(var(--c-ink-400));
}

/* ═════════ NOTES WALL (favBrightNotes) ═════════
   What the parents say, pinned to the hallway board. */
.fs-bs-nt{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-bs-nt-head{max-width:min(46rem, var(--fs-layout-clamp, 46rem));margin:0 auto 2.6rem;text-align:center;}
.fs-bs-nt-grid{
  max-width:var(--fs-layout-max,64rem);margin:0 auto;
  display:grid;grid-template-columns:repeat(3, minmax(0,1fr));
  gap:clamp(1.2rem,3vw,2rem);align-items:start;
}
@media (max-width:860px){.fs-bs-nt-grid{grid-template-columns:1fr;}}
.fs-bs-note{
  position:relative;
  padding:1.7rem 1.5rem 1.5rem;
  background:rgb(var(--c-paper-soft));
  border-radius:var(--fs-radius-card, 6px) var(--fs-radius-card, 6px) var(--fs-radius-card, 22px) var(--fs-radius-card, 6px);
  box-shadow:var(--fs-shadow-card, 0 12px 30px rgb(var(--c-ink-950) / .12));
  transform:rotate(-1.6deg);
}
.fs-bs-note:nth-child(2){transform:rotate(1.2deg);}
.fs-bs-note:nth-child(3){transform:rotate(-.6deg);}
/* The pin. */
.fs-bs-note::before{
  content:'';position:absolute;top:-.55rem;left:50%;
  width:1.1rem;height:1.1rem;border-radius:50%;
  transform:translateX(-50%);
  background:rgb(var(--c-brand-600));
  box-shadow:0 2px 4px rgb(var(--c-ink-950) / .3);
}
.fs-bs-note-q{font-size:.98rem;line-height:1.7;color:rgb(var(--c-ink-950));}
.fs-bs-note-a{
  margin-top:1rem;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:rgb(var(--c-brand-600));
}
.fs-bs-wire .fs-bs-note{transform:none;box-shadow:none;border:1px solid rgb(var(--c-line));}
.fs-bs-wire .fs-bs-note::before{display:none;}

/* ═════════ CTA (favBrightCta) ═════════
   The come-and-visit band with a scalloped top edge — the page's
   paper cut into bunting. */
.fs-bs-cta{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem) 0;}
.fs-bs-cta-band{
  position:relative;
  margin:0 calc(-1 * clamp(1rem,4vw,2.5rem));
  padding:clamp(3rem,7vw,4.5rem) clamp(1.4rem,4vw,3rem) clamp(3.2rem,7vw,4.8rem);
  display:flex;flex-direction:column;align-items:center;text-align:center;
  background:rgb(var(--c-brand-600) / .1);
}
.fs-bs-cta-band::before{
  content:'';position:absolute;top:0;left:0;right:0;height:.8rem;
  background:radial-gradient(.8rem .8rem at .8rem 0, rgb(var(--c-paper)) 97%, transparent 100%);
  background-size:1.6rem .8rem;background-repeat:repeat-x;
}
.fs-bs-cta-band .fs-bs-title{font-size:clamp(1.9rem,4vw,2.9rem);}
.fs-bs-note-line{margin-top:1.6rem;font-size:.82rem;font-weight:600;letter-spacing:.04em;color:rgb(var(--c-ink-400));}
.fs-bs-wire .fs-bs-cta-band::before{display:none;}

/* Never-ending drift with no way out. WCAG 2.2.2 asks that motion which
   runs for more than five seconds can be stopped, and these loop for
   ever; a visitor who has asked their OS for less motion was getting it
   anyway. It also made the theme unshootable — the preview caught the
   loop at a different phase every run, so no two captures ever agreed. */
@media (prefers-reduced-motion: reduce) {
  .fs-bs-anim .fs-bs-dot,
  .fs-bs-anim .fs-bs-blob-ghost,
  .fs-bs-anim .fs-bs-float { animation: none !important; }
}

/* ── favBrightFooter (theme-chrome batch 2, Bright Start) ───────────
   The root is the full-bleed band (container fs-bs-ft): it rises on
   scallops of its own colour, painted in its first 14px, with two
   confetti dots; the content box is fs-bs-ft-in (narrows with the Layout).
   RECIPE FIX (final batch2 fix pass, 2026-09-30): this footer was built
   after the header's own --bs-band contrast fix (bright-start-chrome-
   styles.ts, "RECIPE FIX" above) but still shipped with the mockup's
   original 11% brand-into-paper mix for --bs-ft-band — .fs-bs-ft-more
   (14.5px/800, counts as normal-size text, needs 4.5:1) measured 4.45:1
   against it on Tangerine & Teal light, a real AA failure the header's
   fix never reached. --bs-ft-band now walks down to 9%, the exact same
   recipe as --bs-band, so both bands share one contrast story instead of
   two. Verified: Tangerine & Teal light now measures ~4.56:1; no other
   palette regresses (see check:theme-chrome and check:contrast). */
.fs-bs-ft{container-type:inline-size;container-name:fs-bs-ft;padding:0 clamp(1rem,4vw,2.5rem);--bs-ft-band:color-mix(in srgb, rgb(var(--c-brand-600)) 9%, rgb(var(--c-paper)));--bs-ft-dot:rgb(var(--c-accent, var(--c-brand-600)) / .75);--bs-ft-ink-hi:color-mix(in srgb, rgb(var(--c-brand-600)) 78%, rgb(var(--c-ink-950)));--bs-ft-ink2:color-mix(in srgb, rgb(var(--c-ink-950)) 78%, rgb(var(--c-paper)));--bs-ft-rule:rgb(var(--c-ink-950) / .15);--bs-ft-chip:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 24%, rgb(var(--c-paper)));--bs-ft-rim:rgb(var(--c-brand-600) / .35);--bs-ft-rim2:rgb(var(--c-accent, var(--c-brand-600)) / .55);--bs-ft-lift:0 14px 30px -14px rgb(var(--c-ink-950) / .38);background:radial-gradient(circle,var(--bs-ft-dot) 6px,transparent 6.5px) left 5% top 36px/14px 14px no-repeat,radial-gradient(circle,rgb(var(--c-brand-600) / .38) 4px,transparent 4.5px) right 8% top 30px/10px 10px no-repeat,radial-gradient(circle at 12px 14px,var(--bs-ft-band) 11.5px,transparent 12px) 0 0/24px 14px repeat-x,linear-gradient(var(--bs-ft-band),var(--bs-ft-band)) 0 14px/100% calc(100% - 14px) no-repeat}
.fs-bs-ft:is(.dark *):not(.fs-preview-light *){--bs-ft-ink2:color-mix(in srgb, rgb(var(--c-ink-950)) 74%, rgb(var(--c-paper)));--bs-ft-rule:rgb(var(--c-ink-950) / .16);--bs-ft-chip:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 16%, rgb(var(--c-paper)));--bs-ft-rim:rgb(var(--c-brand-600) / .4);--bs-ft-lift:0 16px 34px -14px rgb(0 0 0 / .6)}
.fs-bs-ft-in{container-type:inline-size;container-name:fs-bs-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:70px 30px}
.fs-bs-ft-logo{display:inline-flex;align-items:center;gap:4px;color:rgb(var(--c-ink-950));text-decoration:none}
.fs-bs-ft-mark{flex:none;width:34px;height:34px}
.fs-bs-ft-sun-a{stop-color:rgb(var(--c-brand-600))}
.fs-bs-ft-sun-b{stop-color:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-bs-ft-name{font-family:var(--font-display, 'Trebuchet MS', sans-serif);font-weight:700;font-size:20.7px;line-height:1}
.fs-bs-ft-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,.95fr) minmax(0,1.25fr);gap:36px 40px;align-items:start}
.fs-bs-ft-card{position:relative;border-radius:8px 8px 26px 8px;box-shadow:var(--bs-ft-lift);padding:30px 24px 24px;background:rgb(var(--c-paper));transform:rotate(-1.2deg)}
.fs-bs-ft-card::before{content:'';position:absolute;top:-9px;left:50%;width:18px;height:18px;border-radius:50%;transform:translateX(-50%);background:rgb(var(--c-brand-600));box-shadow:0 2px 4px rgb(0 0 0 / .3),inset -3px -3px 0 rgb(0 0 0 / .14)}
.fs-bs-ft-state{margin:0;margin-top:12px;font-size:14.5px;line-height:1.55;color:var(--bs-ft-ink2)}
.fs-bs-ft-addr{margin:0;margin-top:16px;padding-top:14px;border-top:1.5px dashed var(--bs-ft-rule);font-size:14.5px;line-height:1.5}
.fs-bs-ft-addr-n{display:block;color:var(--bs-ft-ink2);font-size:13.5px}
.fs-bs-ft-tel{display:inline-block;margin-top:12px;font:700 25px/1.1 var(--font-display, 'Trebuchet MS', sans-serif);color:var(--bs-ft-ink-hi);font-variant-numeric:tabular-nums;text-decoration:none}
.fs-bs-ft-mail{display:block;margin-top:4px;font-weight:700;font-size:14.5px;color:rgb(var(--c-ink-950));text-decoration:none}
.fs-bs-ft-col{min-width:0;padding-top:4px}
.fs-bs-ft-cell{padding-top:10px}
.fs-bs-ft-tag{display:inline-flex;align-items:center;gap:8px;padding:6px 13px;border-radius:999px;background:var(--bs-ft-chip);color:rgb(var(--c-ink-950));font-weight:800;font-size:11.5px;line-height:1.2;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;margin-bottom:14px}
.fs-bs-ft-tag::before{content:'';flex:none;width:7px;height:7px;border-radius:50%;background:rgb(var(--c-brand-600))}
.fs-bs-ft-list{list-style:none;margin:0;padding:0}
.fs-bs-ft-li{display:flex;align-items:baseline;gap:10px;padding-block:5px;font-size:15px;line-height:1.4}
.fs-bs-ft-li::before{content:'';flex:none;width:8px;height:8px;border-radius:50%;background:var(--bs-ft-dot);transform:translateY(-1px)}
.fs-bs-ft-link{text-decoration:underline wavy transparent;text-decoration-thickness:2px;text-underline-offset:4px;text-decoration-skip-ink:none;transition:text-decoration-color .2s ease}
.fs-bs-ft-link:hover{text-decoration-color:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-bs-ft-big{margin:0;font:700 22px/1.2 var(--font-display, 'Trebuchet MS', sans-serif)}
.fs-bs-ft-p{margin:0;margin-top:8px;font-size:14px;line-height:1.55;color:var(--bs-ft-ink2)}
.fs-bs-ft-stickers{list-style:none;margin:0;padding:0;margin-top:2px;display:flex;flex-wrap:wrap;gap:9px 8px}
.fs-bs-ft-sticker{display:inline-flex;align-items:center;padding:6px 13px;border-radius:999px;background:rgb(var(--c-paper));border:2px solid var(--bs-ft-rim);font-weight:700;font-size:13px;line-height:1.2;color:rgb(var(--c-ink-950));white-space:nowrap;transform:rotate(-1.5deg)}
.fs-bs-ft-sticker:nth-child(2n){transform:rotate(1.2deg);border-color:var(--bs-ft-rim2)}
.fs-bs-ft-sticker:nth-child(3n){transform:rotate(-.8deg)}
.fs-bs-ft-more{display:inline-block;margin-top:16px;font-weight:800;font-size:14.5px;color:var(--bs-ft-ink-hi);text-decoration:underline wavy rgb(var(--c-accent, var(--c-brand-600)));text-decoration-thickness:3px;text-underline-offset:.2em;text-decoration-skip-ink:none}
.fs-bs-ft-legal{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0;margin-top:40px;padding-top:16px;border-top:1.5px dashed var(--bs-ft-rule);font-size:13px;color:var(--bs-ft-ink2)}
.fs-bs-ft-legal-t{margin-right:auto;color:inherit}
.fs-bs-ft-legal-a{color:inherit;text-decoration:none}
.fs-bs-ft-legal-a:hover{color:rgb(var(--c-ink-950))}
@container fs-bs-ft (max-width: 40rem){
  .fs-bs-ft-in{padding-block:56px 24px}
}
@container fs-bs-ft-in (max-width: 56rem){
  .fs-bs-ft-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 36px}
}
@container fs-bs-ft (max-width: 48rem){
  .fs-bs-ft-grid{grid-template-columns:minmax(0,1fr);gap:30px}
  .fs-bs-ft-card{margin-inline:4px;transform:rotate(-.6deg)}
}
@media (prefers-reduced-motion: reduce){
  .fs-bs-ft-link{transition:none}
}


.fs-ca{
  position:relative;overflow:hidden;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-ca *{box-sizing:border-box;}

/* ── Shared motifs ──────────────────────────────────────────────
   The petal cross: two crossing capsule bars — a medical plus with
   its corners rounded off. Sized by font-size on the element. */
.fs-ca-plus{
  position:relative;display:inline-block;flex:none;
  width:1em;height:1em;vertical-align:-0.12em;
}
.fs-ca-plus::before,.fs-ca-plus::after{
  content:'';position:absolute;border-radius:999px;
  background:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-ca-plus::before{left:0;right:0;top:50%;height:.34em;transform:translateY(-50%);}
.fs-ca-plus::after{top:0;bottom:0;left:50%;width:.34em;transform:translateX(-50%);}
.fs-ca-plus-brand::before,.fs-ca-plus-brand::after{background:rgb(var(--c-brand-600));}
@keyframes fs-ca-breathe{from{transform:scale(1);}to{transform:scale(1.12);}}
.fs-ca-anim .fs-ca-hero .fs-ca-eyebrow .fs-ca-plus{animation:fs-ca-breathe 3.2s ease-in-out infinite alternate;}
@media (prefers-reduced-motion: reduce){
  .fs-ca,.fs-ca *{animation:none !important;transition:none !important;}
}
.fs-ca-wire .fs-ca-plus{display:none;}

/* The stitched rule — a dashed accent thread. */
.fs-ca-thread{
  border:none;border-top:2px dashed rgb(var(--c-accent, var(--c-brand-600)) / .6);
  margin:0;
}
.fs-ca-wire .fs-ca-thread{border-top-color:rgb(var(--c-ink-400));}

/* ── Type ─────────────────────────────────────────────────────── */
.fs-ca-eyebrow{
  display:inline-flex;align-items:center;gap:.5em;
  padding:.42rem .95rem;
  border-radius:var(--fs-radius-pill, 999px);
  background:rgb(var(--c-accent, var(--c-brand-600)) / .14);
  color:rgb(var(--c-ink-950));
  font-size:.78rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
}
.fs-ca-title{
  margin:1.2rem 0 0;
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(2.3rem,5.2vw,3.7rem);
  line-height:1.08;font-weight:600;letter-spacing:-0.01em;
  color:rgb(var(--c-ink-950));
  text-wrap:balance;
}
.fs-ca-accent{color:rgb(var(--c-brand-600));font-style:italic;}
.fs-ca-sub{
  margin:1.25rem 0 0;max-width:52ch;
  font-size:clamp(1rem,1.5vw,1.13rem);line-height:1.7;
  color:rgb(var(--c-ink-700));
}
.fs-ca-h{
  margin:0;
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(1.8rem,3.4vw,2.6rem);
  line-height:1.12;font-weight:600;letter-spacing:-0.008em;
  color:rgb(var(--c-ink-950));
  text-wrap:balance;
}

/* ── Buttons — softly rounded, warm lift ────────────────────────── */
.fs-ca-ctas{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.9rem;align-items:center;}
.fs-ca-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.9rem 1.7rem;
  border-radius:var(--fs-radius-control, .65rem);
  font-size:.95rem;font-weight:700;line-height:1;white-space:nowrap;
  color:#fff;
  background:rgb(var(--c-brand-600));
  box-shadow:var(--fs-shadow-lift, 0 10px 24px rgb(var(--c-ink-950) / .18));
  transition:transform .2s ease, background .2s ease;
}
.fs-ca-btn:hover{transform:translateY(-2px);background:rgb(var(--c-brand-700, var(--c-brand-600)));}
.fs-ca-btn:focus-visible,.fs-ca-btn2:focus-visible{
  outline:3px solid rgb(var(--c-brand-600));outline-offset:2px;
}
.fs-ca-btn2{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.9rem 1.7rem;
  border-radius:var(--fs-radius-control, .65rem);
  font-size:.95rem;font-weight:700;line-height:1.25;
  /* R3 (theme-chrome batch 1): letting this wrap, rather than
     white-space:nowrap, is what stops it overflowing the editor's
     390px mobile canvas — the real fix belongs here, not in a
     viewport media query. */
  color:rgb(var(--c-brand-600));
  background:transparent;
  border:2px solid rgb(var(--c-brand-600) / .45);
  transition:border-color .2s ease, background .2s ease;
}
.fs-ca-btn2:hover{border-color:rgb(var(--c-brand-600));background:rgb(var(--c-brand-600) / .07);}
.fs-ca-wire .fs-ca-btn{box-shadow:none;}

/* ═════════ HERO (favCareHero) ═════════ */
.fs-ca-hero{container-type:inline-size;padding:var(--fs-space-section, clamp(3.5rem,8vw,6rem)) clamp(1rem,4vw,2.5rem);}
.fs-ca-hero-inner{
  position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:1.04fr .96fr;
  gap:clamp(2rem,5vw,4.5rem);align-items:center;
}
/* Collapsed via the hero's own inline-size container (R3, theme-chrome
   batch 1) — a viewport @media(max-width:920px) never fires inside the
   editor's simulated canvas, which is why the tablet/mobile probe used
   to overflow sideways here. 57.5rem = the same 920px breakpoint. */
@container (max-width: 57.5rem){
  .fs-ca-hero-inner{grid-template-columns:1fr;gap:3.4rem;}
}
/* Reassurance ticks: quiet facts with petal-cross markers. */
.fs-ca-ticks{display:flex;flex-direction:column;gap:.65rem;margin-top:2rem;}
.fs-ca-tick{
  display:flex;align-items:baseline;gap:.65rem;
  font-size:.95rem;font-weight:600;color:rgb(var(--c-ink-700));
}
.fs-ca-tick .fs-ca-plus{font-size:.8rem;}
/* The stage: a softly rounded frame over a tilted tint panel, with
   an appointment card overlapping the lower corner. */
.fs-ca-hero-stage{position:relative;display:flex;justify-content:center;padding-bottom:3.2rem;}
.fs-ca-frame{
  position:relative;z-index:1;
  width:min(26rem, 100%);aspect-ratio:4 / 3.1;
  overflow:hidden;
  border-radius:var(--fs-radius-card, 1.1rem);
  background:rgb(var(--c-paper-soft));
  box-shadow:var(--fs-shadow-card, 0 18px 44px rgb(var(--c-ink-950) / .14));
}
.fs-ca-frame img{width:100%;height:100%;object-fit:cover;}
.fs-ca-frame > *{width:100%;height:100%;}
.fs-ca-frame-back{
  position:absolute;z-index:0;pointer-events:none;
  width:min(26rem, 100%);aspect-ratio:4 / 3.1;
  border-radius:var(--fs-radius-card, 1.1rem);
  transform:rotate(-3deg) translate(-1rem,.6rem);
  background:rgb(var(--c-accent, var(--c-brand-600)) / .22);
}
/* No image set: warm layered-hills fallback so the frame never
   opens empty. */
.fs-ca-frame-fallback{
  display:block;position:relative;width:100%;height:100%;
  background:
    radial-gradient(120% 68% at 50% -12%, rgb(var(--c-brand-600) / .14) 0 55%, transparent 56%),
    radial-gradient(150% 75% at 18% 108%, rgb(var(--c-accent, var(--c-brand-600)) / .38) 0 52%, transparent 53%),
    radial-gradient(150% 66% at 88% 112%, rgb(var(--c-brand-600) / .5) 0 46%, transparent 47%),
    rgb(var(--c-paper-soft));
}
/* The appointment card, pinned over the frame's lower-left. */
.fs-ca-hero-card{
  position:absolute;z-index:2;left:0;bottom:0;
  width:min(17rem, 88%);
  padding:1.05rem 1.2rem 1.1rem;
  border-radius:var(--fs-radius-card, 1rem);
  background:rgb(var(--c-paper));
  border:1.5px solid rgb(var(--c-line));
  border-top:2px dashed rgb(var(--c-accent, var(--c-brand-600)) / .6);
  box-shadow:var(--fs-shadow-lift, 0 14px 34px rgb(var(--c-ink-950) / .16));
}
.fs-ca-hero-card-t{
  display:flex;align-items:baseline;gap:.5rem;
  font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:rgb(var(--c-brand-600));
}
.fs-ca-hero-card-t .fs-ca-plus{font-size:.72rem;}
.fs-ca-hero-card-l{
  margin-top:.5rem;
  font-size:.88rem;line-height:1.55;font-weight:600;
  color:rgb(var(--c-ink-700));
}
.fs-ca-wire .fs-ca-frame-back,.fs-ca-wire .fs-ca-frame-fallback{display:none;}
.fs-ca-wire .fs-ca-frame,.fs-ca-wire .fs-ca-hero-card{box-shadow:none;}

/* ═════════ PAGE HEADER (favCareHeader) ═════════
   Left-aligned, closed by a stitched rule the petal cross sits on —
   a signature line, not a banner. */
.fs-ca-hd{padding:var(--fs-space-section, clamp(3rem,7vw,4.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-ca-hd-inner{position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-ca-hd .fs-ca-title{font-size:clamp(2.1rem,4.6vw,3.3rem);}
.fs-ca-hd-rule{
  position:relative;margin-top:2rem;max-width:22rem;
}
.fs-ca-hd-rule .fs-ca-plus{
  position:absolute;left:0;top:50%;transform:translateY(-58%);
  font-size:.95rem;
  background:rgb(var(--c-paper));
  box-shadow:0 0 0 .45rem rgb(var(--c-paper));
}
.fs-ca-hd-rule .fs-ca-thread{margin-left:1.9rem;}

/* ═════════ CARE PLAN BUILDER (favCarePlan) ═════════
   The signature interactive element: tick the checks you want, watch
   the plan card total itself. Deterministic — every figure parses
   from the block's own authored text. */
.fs-ca-pl{container-type:inline-size;padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-ca-pl-head{max-width:var(--fs-layout-max,72rem);margin:0 auto 2.2rem;}
.fs-ca-pl-grid{
  max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:clamp(1.6rem,4vw,3rem);align-items:start;
}
.fs-ca-pl-grid > *{min-width:0;}
/* Collapsed via .fs-ca-pl's own inline-size container (R3 parity, same
   pattern as the hero above) — a viewport @media(max-width:920px)
   never fires inside the editor's simulated canvas. 57.5rem = 920px. */
@container (max-width: 57.5rem){
  .fs-ca-pl-grid{grid-template-columns:minmax(0,1fr);}
}
.fs-ca-pl-list{display:flex;flex-direction:column;gap:.7rem;}
/* The base row — always included, not a control. */
.fs-ca-pl-base{
  display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .9rem;
  padding:1rem 1.15rem;
  border-radius:var(--fs-radius-card, .9rem);
  background:rgb(var(--c-brand-600) / .09);
  border:1.5px solid rgb(var(--c-brand-600) / .3);
}
/* Phone width: the "always included" tag drops to its own line rather
   than forcing the row wider than the screen. */
@media (max-width:560px){
  .fs-ca-pl-base-tag{order:3;flex-basis:100%;}
}
.fs-ca-pl-base .fs-ca-plus{font-size:.9rem;}
.fs-ca-pl-base-l{flex:1;font-weight:700;font-size:.98rem;color:rgb(var(--c-ink-950));}
.fs-ca-pl-base-tag{
  font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:rgb(var(--c-brand-600));white-space:nowrap;
}
/* Option rows — real switches. The tick well fills with a petal
   cross when on. */
.fs-ca-pl-opt{
  display:flex;align-items:center;gap:.9rem;width:100%;
  padding:1rem 1.15rem;text-align:left;
  border-radius:var(--fs-radius-card, .9rem);
  background:rgb(var(--c-paper-soft));
  border:1.5px solid rgb(var(--c-line));
  cursor:pointer;font:inherit;color:inherit;
  transition:border-color .18s ease, transform .18s ease;
}
.fs-ca-pl-opt:not([aria-disabled="true"]):hover{border-color:rgb(var(--c-brand-600) / .55);transform:translateY(-1px);}
.fs-ca-pl-opt:focus-visible{
  outline:3px solid rgb(var(--c-brand-600));outline-offset:2px;
}
.fs-ca-pl-opt[aria-checked="true"]{
  border-color:rgb(var(--c-brand-600));
  background:rgb(var(--c-brand-600) / .07);
}
.fs-ca-pl-opt[aria-disabled="true"]{cursor:default;transform:none;}
.fs-ca-pl-well{
  flex:none;width:1.55rem;height:1.55rem;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:.45rem;
  border:2px solid rgb(var(--c-ink-400));
  background:rgb(var(--c-paper));
  transition:border-color .18s ease;
}
.fs-ca-pl-opt[aria-checked="true"] .fs-ca-pl-well{border-color:rgb(var(--c-brand-600));}
.fs-ca-pl-well .fs-ca-plus{font-size:.72rem;opacity:0;transform:scale(.4);transition:opacity .18s ease, transform .18s ease;}
.fs-ca-pl-opt[aria-checked="true"] .fs-ca-pl-well .fs-ca-plus{opacity:1;transform:scale(1);}
.fs-ca-pl-opt-l{flex:1;min-width:0;}
.fs-ca-pl-opt-t{display:block;font-weight:700;font-size:.98rem;color:rgb(var(--c-ink-950));}
.fs-ca-pl-opt-m{display:block;margin-top:.15rem;font-size:.8rem;color:rgb(var(--c-ink-400));}
.fs-ca-pl-price{
  flex:none;font-family:var(--font-display, Georgia, serif);
  font-size:1.05rem;font-weight:700;color:rgb(var(--c-brand-600));white-space:nowrap;
}
/* The plan card — the running total, laid out like something printed
   at the front desk. */
.fs-ca-pl-card{
  position:sticky;top:1.2rem;
  padding:1.5rem 1.5rem 1.6rem;
  border-radius:var(--fs-radius-card, 1rem);
  background:rgb(var(--c-paper));
  border:1.5px solid rgb(var(--c-line));
  border-top:2px dashed rgb(var(--c-accent, var(--c-brand-600)) / .6);
  box-shadow:var(--fs-shadow-card, 0 16px 40px rgb(var(--c-ink-950) / .12));
}
@container (max-width: 57.5rem){
  .fs-ca-pl-card{position:static;}
}
.fs-ca-pl-card-t{
  display:flex;align-items:baseline;gap:.55rem;
  font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:rgb(var(--c-brand-600));
}
.fs-ca-pl-card-t .fs-ca-plus{font-size:.74rem;}
.fs-ca-pl-lines{margin:1.05rem 0 0;display:flex;flex-direction:column;gap:.5rem;}
.fs-ca-pl-line{
  display:flex;justify-content:space-between;gap:1rem;
  font-size:.9rem;color:rgb(var(--c-ink-700));
}
.fs-ca-pl-line strong{font-weight:600;color:rgb(var(--c-ink-950));}
.fs-ca-pl-card .fs-ca-thread{margin:1.05rem 0;}
.fs-ca-pl-total{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;}
.fs-ca-pl-total-l{font-size:.82rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--c-ink-400));}
.fs-ca-pl-total-v{
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(1.9rem,3.4vw,2.5rem);line-height:1;font-weight:700;
  color:rgb(var(--c-ink-950));
}
@keyframes fs-ca-pop{0%{transform:scale(1);}45%{transform:scale(1.07);}100%{transform:scale(1);}}
.fs-ca-anim .fs-ca-pl-total-v[data-pop="1"]{animation:fs-ca-pop .3s ease;}
.fs-ca-pl-time{margin-top:.5rem;display:flex;justify-content:space-between;gap:1rem;font-size:.9rem;color:rgb(var(--c-ink-700));}
.fs-ca-pl-note{margin-top:1rem;font-size:.8rem;line-height:1.55;color:rgb(var(--c-ink-400));}
.fs-ca-pl-card .fs-ca-ctas{margin-top:1.2rem;}
.fs-ca-pl-card .fs-ca-btn{width:100%;}
.fs-ca-wire .fs-ca-pl-card{box-shadow:none;position:static;}

/* ═════════ TEAM (favCareTeam) ═════════
   Clinician cards: portrait, name, a credentials line set like a
   lanyard badge, and a bio that talks like a person. */
.fs-ca-tm{container-type:inline-size;padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-ca-tm-head{max-width:var(--fs-layout-max,72rem);margin:0 auto 2.2rem;}
.fs-ca-tm-grid{
  max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:repeat(3, minmax(0,1fr));
  gap:clamp(1.1rem,2.5vw,1.8rem);
}
/* Collapsed via .fs-ca-tm's own inline-size container (R3 parity). */
@container (max-width: 57.5rem){
  .fs-ca-tm-grid{grid-template-columns:1fr;max-width:26rem;}
}
.fs-ca-tm-card{
  padding:1.15rem 1.15rem 1.4rem;
  border-radius:var(--fs-radius-card, 1rem);
  background:rgb(var(--c-paper-soft));
  border:1.5px solid rgb(var(--c-line));
  transition:transform .2s ease, box-shadow .2s ease;
}
.fs-ca-tm-card:hover{transform:translateY(-3px);box-shadow:var(--fs-shadow-lift, 0 14px 34px rgb(var(--c-ink-950) / .14));}
.fs-ca-tm-photo{
  aspect-ratio:1 / 1;overflow:hidden;
  border-radius:var(--fs-radius-card, .85rem);
  background:rgb(var(--c-accent, var(--c-brand-600)) / .16);
}
.fs-ca-tm-photo img{width:100%;height:100%;object-fit:cover;}
.fs-ca-tm-photo > *{width:100%;height:100%;}
.fs-ca-tm-n{
  margin-top:1rem;
  font-family:var(--font-display, Georgia, serif);
  font-size:1.28rem;font-weight:600;color:rgb(var(--c-ink-950));
}
.fs-ca-tm-r{margin-top:.15rem;font-size:.9rem;font-weight:600;color:rgb(var(--c-brand-600));}
.fs-ca-tm-c{
  display:inline-block;margin-top:.6rem;
  padding:.3rem .7rem;
  border-radius:var(--fs-radius-pill, 999px);
  background:rgb(var(--c-accent, var(--c-brand-600)) / .14);
  font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;
  color:rgb(var(--c-ink-700));
}
.fs-ca-tm-b{margin-top:.7rem;font-size:.88rem;line-height:1.6;color:rgb(var(--c-ink-700));}
.fs-ca-wire .fs-ca-tm-card:hover{box-shadow:none;transform:none;}

/* ═════════ CTA (favCareCta) ═════════
   The appointment card, full width: a tear-off line, a warm ask,
   the phone number set large enough to read across a kitchen. */
.fs-ca-ct{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-ca-ct-band{
  position:relative;max-width:var(--fs-layout-max,64rem);margin:0 auto;
  padding:clamp(2.2rem,5vw,3.4rem) clamp(1.4rem,4vw,3rem) clamp(2.4rem,5vw,3.2rem);
  border-radius:var(--fs-radius-card, 1.2rem);
  background:
    radial-gradient(130% 120% at 88% -20%, rgb(var(--c-accent, var(--c-brand-600)) / .16) 0 45%, transparent 46%),
    rgb(var(--c-brand-600) / .08);
  border:1.5px solid rgb(var(--c-brand-600) / .25);
}
.fs-ca-ct-band > .fs-ca-thread{
  position:absolute;left:clamp(1.4rem,4vw,3rem);right:clamp(1.4rem,4vw,3rem);top:1.1rem;
}
.fs-ca-ct-phone{
  margin-top:1.4rem;
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(1.9rem,4.5vw,3rem);line-height:1;font-weight:700;letter-spacing:.01em;
  color:rgb(var(--c-brand-600));
}
.fs-ca-ct-note{
  margin-top:1.3rem;display:flex;align-items:baseline;gap:.6rem;
  font-size:.85rem;font-weight:600;color:rgb(var(--c-ink-700));
}
.fs-ca-ct-note .fs-ca-plus{font-size:.72rem;}
.fs-ca-wire .fs-ca-ct-band{background:rgb(var(--c-paper-soft));}
/* Dark pages: the decorative corner wash reads muddier on near-black,
   so it steps down rather than off.
   :is(.dark *):not(.fs-preview-light *), not the ambient ".dark ANCESTOR"
   form: layout.tsx's boot script puts .dark on <html> from the visitor's
   OS/dashboard preference alone, unrelated to this SITE's own resolved
   mode -- siteShell() is what marks the site wrapper .dark or
   .fs-preview-light correctly. The old form fired this treatment on a
   LIGHT site for any visitor whose OS prefers dark. Same fix as
   LedgerLite (2026-09-03) and the pattern member-prime already uses. */
.fs-ca-ct-band:is(.dark *):not(.fs-preview-light *){
  background:
    radial-gradient(130% 120% at 88% -20%, rgb(var(--c-accent, var(--c-brand-600)) / .09) 0 45%, transparent 46%),
    rgb(var(--c-brand-600) / .07);
}

/* ═════════ FOOTER (favCareFooter) — the appointment card ═════════
   A rising paper-soft band (34px top corners over the page above)
   holding an appointment card and three columns under petal-cross
   small-caps titles. */
/* The band rises with 34px top corners over the page above. */
.fs-ca-ft{container-type:inline-size;padding:56px clamp(1rem,4vw,2.5rem) 36px;background:rgb(var(--c-paper-soft));border-radius:34px 34px 0 0}
.fs-ca-ft-in{max-width:var(--fs-layout-max,72rem);margin-inline:auto}
.fs-ca-ft-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:30px;align-items:start}
.fs-ca-ft-card{
  padding:22px 22px 20px;
  border-radius:var(--fs-radius-card, 22px);
  background:rgb(var(--c-paper));
  border:1.5px solid rgb(var(--c-line));
  border-top:2px dashed rgb(var(--c-accent, var(--c-brand-600)) / .6);
  box-shadow:var(--fs-shadow-lift, 0 16px 34px rgb(var(--c-ink-950) / .18));
}
.fs-ca-ft-name{font:600 20px/1.2 var(--font-display, Georgia, serif);color:rgb(var(--c-ink-950));}
.fs-ca-ft-statement{margin-top:14px;font:500 17px/1.4 var(--font-display, Georgia, serif);color:rgb(var(--c-ink-950));}
.fs-ca-ft-address{margin-top:10px;font-style:normal;font-size:14px;color:rgb(var(--c-ink-400));}
.fs-ca-ft-tel{display:block;margin-top:14px;font:700 28px/1 var(--font-display, Georgia, serif);color:rgb(var(--c-brand-600));}
.fs-ca-ft-mail{display:inline-block;margin-top:8px;font-size:14px;font-weight:600;color:rgb(var(--c-ink-700));overflow-wrap:anywhere;}
.fs-ca-ft-col p,.fs-ca-ft-col li{font-size:14.5px;}
.fs-ca-ft-h{
  display:flex;align-items:center;gap:.5em;margin:0 0 12px;
  font-size:11.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:rgb(var(--c-ink-950));
}
.fs-ca-ft-plus{display:inline-block;flex:none;width:12px;height:12px;background:rgb(var(--c-accent, var(--c-brand-600)));-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Crect x='0' y='4' width='12' height='4' rx='2'/%3E%3Crect x='4' y='0' width='4' height='12' rx='2'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Crect x='0' y='4' width='12' height='4' rx='2'/%3E%3Crect x='4' y='0' width='4' height='12' rx='2'/%3E%3C/svg%3E") center/contain no-repeat}
.fs-ca-ft-p{margin:0;line-height:1.6;color:rgb(var(--c-ink-700));}
.fs-ca-ft-p+.fs-ca-ft-p{margin-top:8px;}
.fs-ca-ft-slots{
  display:inline-block;margin-top:8px;padding:7px 12px;
  border-radius:var(--fs-radius-pill, 14px);
  background:rgb(var(--c-accent, var(--c-brand-600)) / .14);
  font-weight:700;font-size:13px !important;color:rgb(var(--c-ink-950)) !important;
}
.fs-ca-ft-list{list-style:none;margin:0;padding:0;}
.fs-ca-ft-li{padding-block:4px;}
.fs-ca-ft-link{color:rgb(var(--c-ink-700));text-decoration:none;}
.fs-ca-ft-link:hover{color:rgb(var(--c-ink-950));text-decoration:underline;}
.fs-ca-ft-legal{
  display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:30px;padding-top:14px;
  border-top:1.5px solid rgb(var(--c-line));
  font-size:12.5px;color:rgb(var(--c-ink-400));
}
.fs-ca-ft-legal-t{color:inherit;}
.fs-ca-ft-legal-a{color:inherit;text-decoration:none;}
.fs-ca-ft-legal-a:hover{color:rgb(var(--c-ink-950));}
.fs-ca-wire .fs-ca-ft-card{box-shadow:none;}
/* 64rem → two columns, 48rem → one, both against this band's own box
   (editor-tablet content box: 686px in the pilot/batch-1 footers — well
   below the 48rem trigger, so the tablet canvas collapses to 1 column
   here too). */
@container (max-width: 64rem){
  .fs-ca-ft-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container (max-width: 48rem){
  .fs-ca-ft-grid{grid-template-columns:1fr}
}


.fs-ar{
  position:relative;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-ar *{box-sizing:border-box;}

/* ── Type ───────────────────────────────────────────────────────
   A high-contrast display face at 400 with tight leading is the
   whole voice: quiet-luxury is set, not shouted. The accent is
   ITALIC rather than coloured — one register change, not two. */
.fs-ar-eyebrow{
  display:inline-flex;align-items:center;gap:.7rem;
  color:rgb(var(--c-accent, var(--c-brand-600)));
  font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
}
.fs-ar-eyebrow::before{
  content:'';width:1.6rem;height:1.6rem;flex:none;
  border-left:1px solid rgb(var(--c-accent, var(--c-brand-600)) / .8);
  border-top:1px solid rgb(var(--c-accent, var(--c-brand-600)) / .8);
  border-radius:100% 0 0 0;
  transform:translateY(.15rem);
}
.fs-ar-title{
  margin:1.1rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(2.4rem,5.4vw,4.2rem);
  line-height:1.06;font-weight:400;letter-spacing:-.012em;
  color:rgb(var(--c-ink-950));
  text-wrap:balance;
}
.fs-ar-accent{font-style:italic;color:rgb(var(--c-brand-600));}
.fs-ar-h{
  margin:.9rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(1.9rem,3.6vw,2.9rem);
  line-height:1.14;font-weight:400;letter-spacing:-.01em;
  color:rgb(var(--c-ink-950));
  text-wrap:balance;
}
.fs-ar-sub{
  margin:1.2rem 0 0;max-width:54ch;
  font-size:clamp(1rem,1.4vw,1.09rem);line-height:1.72;
  color:rgb(var(--c-ink-700));
  text-wrap:pretty;
}
.fs-ar-note{
  margin-top:1.4rem;
  font-size:.78rem;line-height:1.6;letter-spacing:.04em;
  color:rgb(var(--c-ink-400));
}

/* ── Buttons — a pill and a struck link, nothing else ─────────── */
.fs-ar-ctas{display:flex;flex-wrap:wrap;gap:1.1rem 1.6rem;margin-top:2rem;align-items:center;}
.fs-ar-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.95rem 1.9rem;
  border-radius:var(--fs-radius-pill, 999px);
  font-size:.9rem;font-weight:600;line-height:1;white-space:nowrap;letter-spacing:.01em;
  color:rgb(var(--c-paper));
  background:rgb(var(--c-brand-600));
  border:1px solid rgb(var(--c-brand-600));
  transition:background .25s ease, color .25s ease, border-color .25s ease;
}
.fs-ar-btn:hover{background:rgb(var(--c-brand-700, var(--c-brand-600)));border-color:rgb(var(--c-brand-700, var(--c-brand-600)));}
.fs-ar-link{
  display:inline-flex;align-items:center;gap:.5rem;
  min-height:2.75rem;
  font-size:.9rem;font-weight:600;
  color:rgb(var(--c-ink-950));
  border-bottom:1px solid rgb(var(--c-ink-950) / .28);
  padding:.72rem 0 .45rem;
  transition:color .25s ease, border-color .25s ease;
}
.fs-ar-link::after{
  content:'';width:.55rem;height:.55rem;flex:none;
  border-right:1.5px solid currentColor;border-top:1.5px solid currentColor;
  border-radius:0 100% 0 0;
  transform:rotate(45deg) translateY(.06rem);
}
.fs-ar-link:hover{color:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600) / .6);}

/* ═════════ HERO (favArcHero) ═════════
   Type on the left; on the right an arc-cut stage with a struck
   hairline arc set behind it and a standing fact in front. Three
   planes, no shadow — the depth is entirely overlap. */
.fs-ar-hero{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-ar-hero-inner{
  position:relative;max-width:var(--fs-layout-max,74rem);margin:0 auto;
  display:grid;grid-template-columns:1.08fr .92fr;
  gap:clamp(2.5rem,5vw,4.5rem);align-items:center;
}
@media (max-width:940px){.fs-ar-hero-inner{grid-template-columns:1fr;gap:2.75rem;}}
.fs-ar-creds{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,auto));
  justify-content:start;align-items:center;gap:.7rem 1.8rem;
  margin-top:2.4rem;padding-top:1.4rem;
  border-top:1px solid rgb(var(--c-line));
}
.fs-ar-cred{
  position:relative;display:inline-flex;align-items:center;gap:.55rem;
  font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-ar-cred::before{
  content:'';width:4px;height:4px;flex:none;border-radius:50%;
  background:rgb(var(--c-accent, var(--c-brand-600)) / .75);
}
.fs-ar-hero-stage{position:relative;padding:2.4rem 0 3.4rem 2.4rem;}
/* The struck arc behind the stage — motif 2. */
.fs-ar-ring{
  position:absolute;inset:0 2.4rem 3.4rem 0;
  border-left:1px solid rgb(var(--c-accent, var(--c-brand-600)) / .55);
  border-top:1px solid rgb(var(--c-accent, var(--c-brand-600)) / .55);
  border-radius:100% 0 0 0;
  pointer-events:none;
}
/* The arc cut — motif 1. */
.fs-ar-cut{
  position:relative;overflow:hidden;
  aspect-ratio:4 / 5;
  border-radius:14rem 0 0 0;
  border:1px solid rgb(var(--c-line));
  background:rgb(var(--c-paper-soft));
}
.fs-ar-cut img{width:100%;height:100%;object-fit:cover;display:block;}
.fs-ar-cut-fallback{
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 78% 26%, rgb(var(--c-accent, var(--c-brand-600)) / .55) 0 12%, transparent 12.5%),
    linear-gradient(150deg, rgb(var(--c-brand-600) / .22), rgb(var(--c-paper-soft)) 70%);
}
/* The disc — motif 3 — carried by the standing fact. */
.fs-ar-badge{
  position:absolute;left:0;bottom:0;
  display:flex;flex-direction:column;gap:.3rem;
  padding:.95rem 1.5rem .95rem 2.5rem;
  border-radius:var(--fs-radius-pill, 999px);
  border:1px solid rgb(var(--c-line));
  background:rgb(var(--c-paper));
  max-width:88%;
}
.fs-ar-badge::before{
  content:'';position:absolute;left:1rem;top:50%;transform:translateY(-50%);
  width:.6rem;height:.6rem;border-radius:50%;
  background:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-ar-badge-t{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:rgb(var(--c-ink-400));}
.fs-ar-badge-v{font-size:.92rem;font-weight:600;color:rgb(var(--c-ink-950));}

/* ═════════ PAGE HEADER (favArcHeader) ═════════
   Left-aligned and closed by a quarter-arc rule: the same struck
   corner, run out flat. */
.fs-ar-hd{padding:var(--fs-space-section, clamp(2.6rem,6vw,4rem)) clamp(1rem,4vw,2.5rem);}
.fs-ar-hd-inner{position:relative;max-width:var(--fs-layout-max,56rem);margin:0 auto;}
.fs-ar-hd-title{font-size:clamp(2.1rem,4.4vw,3.3rem);}
.fs-ar-hd-rule{
  display:block;height:2.2rem;margin-top:2.2rem;
  border-left:1px solid rgb(var(--c-line));
  border-top:1px solid rgb(var(--c-line));
  border-radius:100% 0 0 0;
}

/* ═════════ PROGRAMME CONFIGURATOR (favArcProgramme) ═════════
   Two columns: the questions on the left, the summary that answers
   them on the right. The card is the only surface in the set with a
   tinted fill, because it is the one thing a visitor is meant to
   watch change. */
.fs-ar-pg{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-ar-pg-head{max-width:var(--fs-layout-max,56rem);margin:0 auto 2.6rem;}
.fs-ar-pg-grid{
  max-width:var(--fs-layout-max,74rem);margin:0 auto;
  display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(2rem,4vw,3.5rem);align-items:start;
}
@media (max-width:940px){.fs-ar-pg-grid{grid-template-columns:1fr;}}
.fs-ar-pg-form{display:flex;flex-direction:column;gap:2.1rem;min-width:0;}
.fs-ar-pg-q{border:0;padding:0;margin:0;min-width:0;}
.fs-ar-pg-l{
  display:flex;align-items:baseline;gap:.8rem;padding:0;
  font-size:1.02rem;font-weight:600;color:rgb(var(--c-ink-950));
}
.fs-ar-pg-n{
  font-family:var(--font-display, Georgia, serif);
  font-size:.86rem;font-weight:400;letter-spacing:.08em;
  color:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-ar-pg-hint{margin-top:.75rem;font-size:.83rem;line-height:1.6;color:rgb(var(--c-ink-400));max-width:46ch;}

/* Chips — multi-select. */
.fs-ar-chips{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem;}
.fs-ar .fs-ar-chip{
  display:inline-flex;align-items:center;justify-content:flex-start;gap:.55rem;
  min-height:2.75rem;padding:.62rem 1.15rem;
  border-radius:var(--fs-radius-pill, 999px);
  border:1px solid rgb(var(--c-line));
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-700));
  font:inherit;font-size:.88rem;line-height:1.3;text-align:left;
  cursor:pointer;
  transition:border-color .2s ease, color .2s ease, background .2s ease;
}
.fs-ar .fs-ar-chip:hover{border-color:rgb(var(--c-brand-600) / .55);color:rgb(var(--c-ink-950));}
.fs-ar .fs-ar-chip[data-on="1"]{
  border-color:rgb(var(--c-brand-600));
  background:rgb(var(--c-brand-50));
  color:rgb(var(--c-ink-950));
}
.fs-ar-tick{
  width:.9rem;height:.9rem;flex:none;border-radius:50%;
  border:1px solid rgb(var(--c-line));
  transition:background .2s ease, border-color .2s ease;
}
.fs-ar .fs-ar-chip[data-on="1"] .fs-ar-tick{
  background:rgb(var(--c-brand-600));
  border-color:rgb(var(--c-brand-600));
}

/* Segments — single-select. */
.fs-ar-seg{
  display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1rem;
  padding:.35rem;
  border-radius:var(--fs-radius-pill, 999px);
  border:1px solid rgb(var(--c-line));
  background:rgb(var(--c-paper-soft));
}
.fs-ar .fs-ar-seg-b{
  flex:1 1 auto;
  min-height:2.75rem;padding:.62rem 1rem;
  border:0;border-radius:var(--fs-radius-pill, 999px);
  background:transparent;color:rgb(var(--c-ink-700));
  font:inherit;font-size:.88rem;line-height:1.3;white-space:nowrap;
  cursor:pointer;
  transition:background .2s ease, color .2s ease;
}
.fs-ar .fs-ar-seg-b:hover{color:rgb(var(--c-ink-950));}
.fs-ar .fs-ar-seg-b[data-on="1"]{
  background:rgb(var(--c-brand-600));
  color:rgb(var(--c-paper));
  font-weight:600;
}

/* Focus states — visible on every control, in the accent. */
.fs-ar .fs-ar-chip:focus-visible,.fs-ar .fs-ar-seg-b:focus-visible{
  outline:2px solid rgb(var(--c-accent, var(--c-brand-600)));
  outline-offset:2px;
}

/* The summary card — the arc cut again, at panel scale. */
.fs-ar-pg-card{
  position:relative;min-width:0;
  padding:clamp(1.6rem,3vw,2.3rem);
  border-radius:5rem 0 0 0;
  border:1px solid rgb(var(--c-line));
  background:rgb(var(--c-paper-soft));
}
.fs-ar-pg-card-t{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:rgb(var(--c-ink-400));}
.fs-ar-pg-figure{
  margin-top:.5rem;
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(2.6rem,5vw,3.6rem);line-height:1;font-weight:400;
  letter-spacing:-.02em;
  color:rgb(var(--c-brand-600));
}
.fs-ar-pg-figure-l{margin-top:.5rem;font-size:.86rem;color:rgb(var(--c-ink-700));}
.fs-ar-pg-rows{margin:1.5rem 0 0;padding:0;border-top:1px solid rgb(var(--c-line));}
.fs-ar-pg-row{
  display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  padding:.7rem 0;
  border-bottom:1px solid rgb(var(--c-line));
}
.fs-ar-pg-row dt{margin:0;font-size:.85rem;color:rgb(var(--c-ink-400));}
.fs-ar-pg-row dd{margin:0;font-size:.9rem;font-weight:600;color:rgb(var(--c-ink-950));}
.fs-ar-pg-inc-t{margin-top:1.5rem;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:rgb(var(--c-ink-400));}
.fs-ar-pg-inc{margin:.8rem 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.6rem;}
.fs-ar-pg-inc li{
  position:relative;padding-left:1.5rem;
  font-size:.87rem;line-height:1.6;color:rgb(var(--c-ink-700));
}
.fs-ar-pg-inc li::before{
  content:'';position:absolute;left:0;top:.42rem;
  width:.62rem;height:.62rem;
  border-left:1.5px solid rgb(var(--c-accent, var(--c-brand-600)));
  border-top:1.5px solid rgb(var(--c-accent, var(--c-brand-600)));
  border-radius:100% 0 0 0;
}
.fs-ar-pg-focus{
  margin-top:1.5rem;padding-top:1.1rem;
  border-top:1px solid rgb(var(--c-line));
  display:flex;flex-direction:column;gap:.35rem;
}
.fs-ar-pg-focus-t{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:rgb(var(--c-ink-400));}
.fs-ar-pg-focus-v{font-size:.88rem;line-height:1.55;color:rgb(var(--c-ink-950));}
.fs-ar-pg-focus-empty{font-size:.88rem;line-height:1.55;font-style:italic;color:rgb(var(--c-ink-400));}
.fs-ar-pg-cta{margin-top:1.6rem;width:100%;}
.fs-ar-pg-note{margin-top:1rem;font-size:.76rem;line-height:1.6;color:rgb(var(--c-ink-400));}

/* ═════════ PATH (favArcPath) ═════════
   Four milestones down a hairline spine, each opened by a filled
   disc — the set's one circle, used four times because the spine is
   one composition. */
.fs-ar-pt{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-ar-pt-head{max-width:var(--fs-layout-max,56rem);margin:0 auto 2.6rem;}
.fs-ar-pt-list{
  max-width:min(52rem, var(--fs-layout-clamp, 52rem));margin:0 auto;padding:0 0 0 2.6rem;list-style:none;
  border-left:1px solid rgb(var(--c-line));
}
.fs-ar-pt-step{position:relative;padding-bottom:2.2rem;}
.fs-ar-pt-step:last-child{padding-bottom:0;}
.fs-ar-pt-disc{
  position:absolute;left:-2.6rem;top:0;transform:translateX(-50%);
  display:flex;align-items:center;justify-content:center;
  width:2rem;height:2rem;border-radius:50%;
  background:rgb(var(--c-brand-600));
  color:rgb(var(--c-paper));
  font-family:var(--font-display, Georgia, serif);
  font-size:.95rem;line-height:1;
}
.fs-ar-pt-mark{
  display:block;
  font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;
  color:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-ar-pt-t{
  margin:.5rem 0 0;
  font-family:var(--font-display, Georgia, serif);
  font-size:1.4rem;line-height:1.25;font-weight:400;
  color:rgb(var(--c-ink-950));
}
.fs-ar-pt-b{margin-top:.5rem;font-size:.95rem;line-height:1.72;color:rgb(var(--c-ink-700));max-width:56ch;}
@media (max-width:520px){
  .fs-ar-pt-list{padding-left:1.9rem;}
  .fs-ar-pt-disc{left:-1.9rem;width:1.7rem;height:1.7rem;font-size:.85rem;}
}

/* ═════════ CTA (favArcCta) ═════════
   The arc cut at full width, with a struck arc drawn inside it. */
.fs-ar-cta{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-ar-cta-panel{
  position:relative;overflow:hidden;
  max-width:var(--fs-layout-max,66rem);margin:0 auto;
  padding:clamp(2.4rem,5vw,4rem) clamp(1.5rem,4vw,3.5rem);
  border-radius:11rem 0 0 0;
  border:1px solid rgb(var(--c-line));
  background:rgb(var(--c-paper-soft));
}
.fs-ar-cta-arc{
  position:absolute;right:-9rem;bottom:-11rem;
  width:26rem;height:26rem;
  border-left:1px solid rgb(var(--c-accent, var(--c-brand-600)) / .35);
  border-top:1px solid rgb(var(--c-accent, var(--c-brand-600)) / .35);
  border-radius:100% 0 0 0;
  pointer-events:none;
}
.fs-ar-cta-inner{position:relative;max-width:min(44rem, var(--fs-layout-clamp, 44rem));}
.fs-ar-cta-title{font-size:clamp(2rem,4vw,3rem);}

/* ═════════ OFFERS (favArcOffers) ═════════
   Three arc-cut cards. Flat like the rest of the set, so the marked
   one is signalled by a heavier border and a small flag rather than
   by a shadow or a scale-up — quiet luxury does not shout about the
   middle tier, it just tells you the truth about which one people
   pick. An empty price field collapses its own line, so the same
   block carries a comparison with no figures in it. */
.fs-ar-of{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-ar-of-head{max-width:var(--fs-layout-max,56rem);margin:0 auto 2.6rem;}
.fs-ar-of-grid{
  max-width:var(--fs-layout-max,74rem);margin:0 auto;
  display:grid;grid-template-columns:repeat(3, minmax(0,1fr));
  gap:clamp(1rem,2vw,1.6rem);align-items:stretch;
}
@media (max-width:900px){.fs-ar-of-grid{grid-template-columns:1fr;}}
.fs-ar-of-card{
  position:relative;display:flex;flex-direction:column;
  padding:clamp(1.5rem,2.6vw,2.1rem);
  padding-top:calc(clamp(1.5rem,2.6vw,2.1rem) + 1.6rem);
  border-radius:4.5rem 0 0 0;
  border:1px solid rgb(var(--c-line));
  background:rgb(var(--c-paper));
  transition:border-color .25s ease;
}
.fs-ar-of-card:hover{border-color:rgb(var(--c-brand-600) / .5);}
.fs-ar-of-card[data-marked="1"]{
  border-color:rgb(var(--c-brand-600) / .75);
  background:rgb(var(--c-paper-soft));
}
.fs-ar-of-flag{
  position:absolute;top:clamp(1.5rem,2.6vw,2.1rem);left:clamp(1.5rem,2.6vw,2.1rem);
  display:inline-flex;align-items:center;gap:.45rem;
  font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;
  color:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-ar-of-flag::before{
  content:'';width:5px;height:5px;border-radius:50%;
  background:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-ar-of-n{
  margin:0;font-size:.74rem;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-ar-of-p{
  margin-top:.7rem;
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(2rem,3.4vw,2.6rem);line-height:1;font-weight:400;
  letter-spacing:-.02em;
  color:rgb(var(--c-brand-600));
}
.fs-ar-of-p:empty{display:none;}
.fs-ar-of-m{
  margin-top:.55rem;padding-bottom:1rem;
  border-bottom:1px solid rgb(var(--c-line));
  font-size:.8rem;letter-spacing:.04em;
  color:rgb(var(--c-ink-400));
}
.fs-ar-of-b{
  margin-top:1rem;flex:1;
  font-size:.93rem;line-height:1.68;
  color:rgb(var(--c-ink-700));
}
.fs-ar-of-c{margin-top:1.4rem;align-self:flex-start;}

/* ── Wireframe, in the EDITOR ────────────────────────────────────
   Two surfaces express wireframe differently: a published page gets
   [data-render="wireframe"] on an ancestor (see ARC_WIRE_CSS at the
   foot of this file), while the editor canvas gets the .fs-ar-wire
   class the block roots already carry. The decoration comes off in
   both, so a wireframe describes the LAYOUT and nothing else —
   which is the whole point of the mode. */
.fs-ar-wire .fs-ar-ring,
.fs-ar-wire .fs-ar-cta-arc,
.fs-ar-wire .fs-ar-cut-fallback,
.fs-ar-wire .fs-ar-eyebrow::before,
.fs-ar-wire .fs-ar-badge::before,
.fs-ar-wire .fs-ar-cred::before,
.fs-ar-wire .fs-ar-pg-inc li::before,
.fs-ar-wire .fs-ar-link::after{display:none;}
.fs-ar-wire .fs-ar-cut,
.fs-ar-wire .fs-ar-badge,
.fs-ar-wire .fs-ar-pg-card,
.fs-ar-wire .fs-ar-cta-panel,
.fs-ar-wire .fs-ar-seg,
.fs-ar-wire .fs-ar-chip,
.fs-ar-wire .fs-ar-of-card,
.fs-ar-wire .fs-ar-btn{
  background:transparent;
  border:1px dashed rgb(var(--c-ink-950) / .55);
}
.fs-ar-wire .fs-ar-btn,
.fs-ar-wire .fs-ar-seg-b[data-on="1"],
.fs-ar-wire .fs-ar-pt-disc{
  background:transparent;color:rgb(var(--c-ink-950));
}
.fs-ar-wire .fs-ar-pt-disc{border:1px dashed rgb(var(--c-ink-950) / .55);}
.fs-ar-wire .fs-ar-accent,
.fs-ar-wire .fs-ar-pg-figure,
.fs-ar-wire .fs-ar-eyebrow,
.fs-ar-wire .fs-ar-pt-mark,
.fs-ar-wire .fs-ar-pg-n,
.fs-ar-wire .fs-ar-of-p,
.fs-ar-wire .fs-ar-of-flag{color:rgb(var(--c-ink-950));}
.fs-ar-wire .fs-ar-of-flag::before{display:none;}
.fs-ar-wire .fs-ar-pg-inc li{padding-left:0;}
.fs-ar-wire .fs-ar .fs-ar-chip[data-on="1"],
.fs-ar-wire.fs-ar .fs-ar-chip[data-on="1"]{
  background:transparent;border:1px dashed rgb(var(--c-ink-950) / .55);
}

/* ── Motion — one flourish, and it respects the system setting ──
   The struck arc behind the hero draws itself in once, on a
   compositor-only transform. Nothing else on the page moves without
   a pointer or a key. */
@keyframes fs-ar-strike{
  from{opacity:0;transform:scale(.9) translateY(1rem);}
  to{opacity:1;transform:none;}
}
.fs-ar-anim .fs-ar-ring{
  animation:fs-ar-strike .9s cubic-bezier(.22,.61,.36,1) both;
  transform-origin:bottom left;
}
.fs-ar-anim .fs-ar-badge{
  animation:fs-ar-strike .9s cubic-bezier(.22,.61,.36,1) .25s both;
}
@media (prefers-reduced-motion: reduce){
  .fs-ar *,.fs-ar *::before,.fs-ar *::after{
    animation:none !important;
    transition:none !important;
  }
}

/* ── favArcFooter (theme-chrome batch 5, Meridian) ──────────────────
   The band is the full-bleed container fs-ar-ft (the page colour); the
   content box is the named container fs-ar-ft-in. The panel's struck
   arcs and the horizon's disc are painted backgrounds, never positioned
   children (nothing can scroll sideways). */
.fs-ar-ft{container-type:inline-size;container-name:fs-ar-ft;padding:0 clamp(1rem,4vw,2.5rem);background:rgb(var(--c-paper));--ar-ft-rule:rgb(var(--c-ink-950) / .22);--ar-ft-gilt:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 86%, rgb(var(--c-ink-950)));--ar-ft-mark:rgb(var(--c-accent, var(--c-brand-600)));--ar-ft-disc:rgb(var(--c-accent, var(--c-brand-600)));--ar-ft-arc1:rgb(var(--c-accent, var(--c-brand-600)) / .58);--ar-ft-arc2:rgb(var(--c-accent, var(--c-brand-600)) / .4);--ar-ft-arc3:rgb(var(--c-accent, var(--c-brand-600)) / .26);--ar-ft-arc4:rgb(var(--c-accent, var(--c-brand-600)) / .15)}
.fs-ar-ft:is(.dark *):not(.fs-preview-light *){--ar-ft-gilt:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-ar-ft-in{container-type:inline-size;container-name:fs-ar-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:56px 30px;font-size:15px;line-height:1.55}
.fs-ar-ft-panel{--ar-ft-r1:4.5rem;--ar-ft-r2:7rem;--ar-ft-r3:9.5rem;--ar-ft-r4:12rem;--ar-ft-fp:clamp(24px,4.4cqi,52px);padding:calc(var(--ar-ft-fp) + 6px) var(--ar-ft-fp) calc(var(--ar-ft-fp) - 6px);border:1px solid var(--ar-ft-rule);border-radius:clamp(4rem,11cqi,9rem) 0 0 0;background:radial-gradient(circle at 100% 100%,transparent calc(var(--ar-ft-r1) - 1.4px),var(--ar-ft-arc1) calc(var(--ar-ft-r1) - 1px) var(--ar-ft-r1),transparent calc(var(--ar-ft-r1) + .4px) calc(var(--ar-ft-r2) - 1.4px),var(--ar-ft-arc2) calc(var(--ar-ft-r2) - 1px) var(--ar-ft-r2),transparent calc(var(--ar-ft-r2) + .4px) calc(var(--ar-ft-r3) - 1.4px),var(--ar-ft-arc3) calc(var(--ar-ft-r3) - 1px) var(--ar-ft-r3),transparent calc(var(--ar-ft-r3) + .4px) calc(var(--ar-ft-r4) - 1.4px),var(--ar-ft-arc4) calc(var(--ar-ft-r4) - 1px) var(--ar-ft-r4),transparent calc(var(--ar-ft-r4) + .4px)),rgb(var(--c-paper-soft))}
.fs-ar-ft-horizon{height:15px;margin-block:clamp(26px,3.6cqi,40px) clamp(22px,3cqi,34px);background:radial-gradient(circle at 62% 50%,var(--ar-ft-disc) 0 6.5px,transparent 7px),linear-gradient(var(--ar-ft-rule),var(--ar-ft-rule)) 0 50%/100% 1px no-repeat}
.fs-ar-ft-mark{display:block;flex:none;width:38px;height:38px}
.fs-ar-ft-mark-l{stroke:rgb(var(--c-brand-600))}
.fs-ar-ft-mark-d{fill:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-ar-ft-logo{display:inline-flex;align-items:center;gap:8px;color:rgb(var(--c-ink-950));text-decoration:none}
.fs-ar-ft-name{font-family:var(--font-display, "Instrument Serif",Georgia,"Times New Roman",serif);font-weight:400;font-size:21.6px;line-height:1;letter-spacing:.012em}
.fs-ar-ft-head{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);align-items:end;gap:22px clamp(24px,4cqi,56px)}
.fs-ar-ft-idc{min-width:0}
.fs-ar-ft-state{margin-top:18px;max-width:24ch;font-family:var(--font-display, "Instrument Serif",Georgia,"Times New Roman",serif);font-weight:400;font-size:clamp(27px,3.3cqi,40px);line-height:1.1;letter-spacing:-.012em;color:rgb(var(--c-ink-950));text-wrap:balance}
.fs-ar-ft-em{font-style:italic;color:rgb(var(--c-brand-text))}
.fs-ar-ft-reach{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.fs-ar-ft-tel{display:inline-block;font-family:var(--font-display, "Instrument Serif",Georgia,"Times New Roman",serif);font-weight:400;font-size:clamp(28px,3cqi,36px);line-height:1;letter-spacing:.01em;color:rgb(var(--c-brand-text));text-decoration:none}
.fs-ar-ft-when{font-size:13.5px;line-height:1.5;color:rgb(var(--c-ink-700))}
.fs-ar-ft-mail{display:inline-flex;align-items:center;gap:9px;padding-bottom:4px;border-bottom:1px solid var(--ar-ft-rule);font-size:13.5px;font-weight:600;line-height:1.3;color:rgb(var(--c-ink-950));overflow-wrap:anywhere;text-decoration:none;transition:color .25s ease,border-color .25s ease}
.fs-ar-ft-mail::after{content:'';flex:none;width:6px;height:6px;border-right:1.5px solid currentColor;border-top:1.5px solid currentColor;border-radius:0 100% 0 0;transform:rotate(45deg)}
.fs-ar-ft-mail:hover{color:rgb(var(--c-brand-text));border-color:rgb(var(--c-brand-text))}
.fs-ar-ft-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px clamp(20px,3cqi,40px)}
.fs-ar-ft-col{min-width:0}
.fs-ar-ft-h{margin:0 0 12px;font-size:11px;font-weight:600;line-height:1.2;letter-spacing:.2em;text-transform:uppercase;color:var(--ar-ft-gilt)}
.fs-ar-ft-p{margin:0;font-size:14.5px;line-height:1.6;color:rgb(var(--c-ink-950))}
.fs-ar-ft-p + .fs-ar-ft-p{margin-top:8px;font-size:13.5px;color:rgb(var(--c-ink-700))}
.fs-ar-ft-list{list-style:none;margin:0;padding:0}
.fs-ar-ft-li{padding-block:4px}
.fs-ar-ft-link{display:inline-block;font-family:var(--font-display, "Instrument Serif",Georgia,"Times New Roman",serif);font-weight:400;font-size:19px;line-height:1.25;color:rgb(var(--c-ink-950));text-decoration:none}
.fs-ar-ft-link:hover{font-style:italic;color:rgb(var(--c-brand-text))}
.fs-ar-ft-creds{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.fs-ar-ft-cred{position:relative;padding-left:20px;font-size:14px;line-height:1.5;color:rgb(var(--c-ink-700))}
.fs-ar-ft-cred::before{content:'';position:absolute;left:0;top:6px;width:10px;height:10px;border-left:1.5px solid var(--ar-ft-mark);border-top:1.5px solid var(--ar-ft-mark);border-radius:100% 0 0 0}
.fs-ar-ft-legal{display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:16px;padding-left:4px;font-size:12.5px;color:rgb(var(--c-ink-400))}
.fs-ar-ft-legal-t{margin-right:auto}
.fs-ar-ft-legal-a{color:inherit;text-decoration:none}
.fs-ar-ft-legal-a:hover{color:rgb(var(--c-ink-950))}
@container fs-ar-ft (max-width: 40rem){
  .fs-ar-ft-in{padding-block:36px 24px}
}
@container fs-ar-ft-in (max-width: 56rem){
  .fs-ar-ft-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container fs-ar-ft (max-width: 48rem){
  .fs-ar-ft-head{grid-template-columns:minmax(0,1fr)}
  .fs-ar-ft-cols{grid-template-columns:minmax(0,1fr);gap:22px}
  .fs-ar-ft-panel{--ar-ft-r1:3.5rem;--ar-ft-r2:5.5rem;--ar-ft-r3:7.5rem;--ar-ft-r4:9.5rem}
}
@media (prefers-reduced-motion: reduce){
  .fs-ar-ft-mail,.fs-ar-ft-link{transition:none}
}


.fs-sp{
  position:relative;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
  overflow:hidden;
}
.fs-sp *{box-sizing:border-box;}

@keyframes fs-sp-reveal{from{clip-path:circle(0% at 50% 30%);opacity:.35;}to{clip-path:circle(130% at 50% 30%);opacity:1;}}
@keyframes fs-sp-ripple{to{transform:scale(1);opacity:0;}}
@keyframes fs-sp-float{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}
/* var(--fs-anim-reveal, ...) / var(--fs-anim-ripple, ...): the Site
   Settings -> Micro-animations toggle contract (themes/format.ts's
   microAnimations field, site-shell.ts's microAnimationVars). Off sets
   the var to none at the site-shell root; on leaves it undefined, so
   the real default after the comma plays exactly as before this
   feature existed. fs-sp-float has NO var indirection: the keyframe is
   defined but never applied to an element in this port (the hero logo
   it would drift lives in shared header chrome, not a Sphere-owned
   component), so it is deliberately absent from homesphere.ts's
   microAnimations list — nothing to toggle that does not exist. */
.fs-sp-anim .fs-sp-reveal-in{animation:var(--fs-anim-reveal, fs-sp-reveal .7s ease-out both);}
@media (prefers-reduced-motion: reduce){
  .fs-sp-reveal-in{animation:none !important;}
  .fs-sp-float{animation:none !important;}
}
.fs-sp-wire .fs-sp-reveal-in{animation:none;}

/* ── Type ─────────────────────────────────────────────────────── */
/* The design's second voice: Inter for labels, captions, eyebrows and
   data (DESIGN-LANGUAGE.md). The theme carries Inter in its mono slot —
   format.ts's "data voice" — so these classes read --font-mono, with
   Inter named as the literal fallback for surfaces that render the
   blocks without this theme's fonts loaded. */
.fs-sp-eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;
  color:rgb(var(--c-brand-600));
  font-family:var(--font-mono, 'Inter', sans-serif);
  font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
}
/* MEASURED against source/Website.dc.html line 89: "All homes →" is
   Inter 13px/600, not the page's Manrope body font. */
.fs-sp-link{
  font-family:var(--font-mono, 'Inter', sans-serif);
  color:rgb(var(--c-brand-600));font-weight:600;font-size:.84rem;white-space:nowrap;
}
/* Source H1 is a FIXED 50px above 760px (36px below, hard breakpoint —
   [data-m-h1]). clamp() keeps that as a smooth curve between the same
   two endpoints rather than the source's single snap, which is a
   defensible improvement, not a deviation — the desktop and mobile
   values it lands on are the source's own. */
.fs-sp-title{
  margin:.85rem 0 0;
  font-family:var(--font-display, 'Manrope', sans-serif);
  font-size:clamp(2.25rem,4.2vw + 1rem,3.125rem);
  line-height:1.05;font-weight:800;letter-spacing:-.02em;
  color:rgb(var(--c-ink-950));
  text-wrap:balance;
}
.fs-sp-h{
  margin:.7rem 0 0;
  font-family:var(--font-display, 'Manrope', sans-serif);
  font-size:clamp(1.6rem,3vw + .6rem,2.125rem);
  line-height:1.12;font-weight:800;letter-spacing:-.015em;
  color:rgb(var(--c-ink-950));
  text-wrap:balance;
}
.fs-sp-sub{
  margin:1rem 0 0;max-width:52ch;
  font-size:1.125rem;line-height:1.6;
  color:rgb(var(--c-ink-700));
  text-wrap:pretty;
}

/* ── Buttons — a filled pill, always ─────────────────────────── */
.fs-sp-ctas{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:1.7rem;align-items:center;}
.fs-sp-btn{
  position:relative;overflow:hidden;
  display:inline-flex;align-items:center;justify-content:center;
  padding:.95rem 1.9rem;
  border-radius:var(--fs-radius-pill, 999px);
  font-size:.92rem;font-weight:700;line-height:1;white-space:nowrap;
  /* --fs-on-brand, not --c-paper: apply.ts SOLVES this token per palette
     (onBrandChannels picks whichever of the palette's paper/ink reads
     better on the brand fill, falling back to a pure extreme when
     neither clears AA). Hardcoding paper is the exact bug that token
     exists to fix — it is right on a light palette, where brand is the
     darker of the pair, and wrong on a dark one. */
  color:var(--fs-on-brand, rgb(var(--c-paper)));
  background:rgb(var(--c-brand-600));
  border:1px solid rgb(var(--c-brand-600));
  transition:background .25s ease, border-color .25s ease, transform .2s ease;
}
.fs-sp-btn:hover{background:rgb(var(--c-brand-700, var(--c-brand-600)));border-color:rgb(var(--c-brand-700, var(--c-brand-600)));transform:translateY(-1px);}
.fs-sp-btn-ghost{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.9rem 1.7rem;
  border-radius:var(--fs-radius-pill, 999px);
  font-size:.92rem;font-weight:700;
  color:rgb(var(--c-ink-950));
  background:rgb(var(--c-surface, var(--c-paper)));
  border:1px solid rgb(var(--c-ink-950) / .14);
  transition:border-color .2s ease, transform .2s ease;
}
.fs-sp-btn-ghost:hover{border-color:rgb(var(--c-brand-600));transform:translateY(-1px);}
.fs-sp-ripple-mark{position:absolute;border-radius:50%;pointer-events:none;background:rgb(var(--c-paper) / .4);transform:scale(0);animation:var(--fs-anim-ripple, fs-sp-ripple .6s ease-out forwards);}

/* ═════════ HERO (favSphereHero) ═════════
   Centred copy over a soft radial glow, with two concentric orbit
   rings behind it — the source file's signature "step inside the
   sphere" hero, minus the app-tier switcher (that lives in Settings,
   not the page). */
.fs-sp-hero{padding:clamp(3.2rem,7vw,5.6rem) 1.5rem clamp(2.6rem,5vw,4rem);text-align:center;}
/* Two glow treatments, not one — source draws them differently per tier
   (Website.dc.html: Mini glow 640px at top 46% plus a 460px ring;
   Standard glow 760px at top 30%, no ring at all). favSphereHero's
   hasSearch flag selects the Standard layout, so the same flag adds
   the fs-sp-hero-std class to the root section (see SphereBlocks.tsx)
   and these overrides key off it. */
.fs-sp-hero-orbit{
  position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);
  width:min(640px,92vw);height:min(640px,92vw);border-radius:50%;
  background:radial-gradient(circle at 45% 38%, rgb(var(--c-brand-600) / .14), transparent 68%);
  pointer-events:none;
}
.fs-sp-hero-ring{
  position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);
  width:min(460px,68vw);height:min(460px,68vw);border-radius:50%;
  border:1px solid rgb(var(--c-ink-950) / .1);
  pointer-events:none;
}
.fs-sp-hero-std .fs-sp-hero-orbit{
  top:30%;width:min(760px,94vw);height:min(760px,94vw);
  background:radial-gradient(circle at 45% 38%, rgb(var(--c-brand-600) / .14), transparent 66%);
}
.fs-sp-hero-std .fs-sp-hero-ring{display:none;}
.fs-sp-hero-inner{position:relative;max-width:min(620px, var(--fs-layout-clamp, 620px));margin:0 auto;}
.fs-sp-hero-std .fs-sp-hero-inner{max-width:min(760px, var(--fs-layout-clamp, 760px));}
.fs-sp-hero .fs-sp-title,
.fs-sp-hero .fs-sp-sub,
.fs-sp-hero .fs-sp-eyebrow{margin-left:auto;margin-right:auto;}
.fs-sp-hero .fs-sp-ctas{justify-content:center;}
.fs-sp-hero-stats{display:flex;gap:1.75rem;justify-content:center;flex-wrap:wrap;margin-top:2.125rem;}
.fs-sp-hero-stat{text-align:center;}
.fs-sp-hero-stat-v{font-family:var(--font-display, 'Manrope', sans-serif);font-weight:800;font-size:1.5rem;}
.fs-sp-hero-stat-l{font-family:var(--font-mono, 'Inter', sans-serif);font-size:.78rem;color:rgb(var(--c-ink-500, var(--c-ink-700)));margin-top:.15rem;}
.fs-sp-hero-divider{width:1px;background:rgb(var(--c-ink-950) / .12);}

/* The Standard tier's pill search bar — MEASURED against source line 141:
   max-width 680px, padding 8px 8px 8px 24px, gap 10px. */
.fs-sp-hero-search{
  display:flex;align-items:center;gap:.625rem;
  max-width:min(680px, var(--fs-layout-clamp, 680px));margin:1.9rem auto 0;
  background:rgb(var(--c-surface, var(--c-paper)));
  border:1px solid rgb(var(--c-ink-950) / .08);
  border-radius:999px;
  padding:.5rem .5rem .5rem 1.5rem;
  box-shadow:var(--fs-shadow-card, 0 14px 34px rgb(var(--c-ink-950) / .08));
  text-align:left;
}
.fs-sp-hero-search-icon{width:18px;height:18px;flex:none;color:rgb(var(--c-ink-500, var(--c-ink-700)));}
.fs-sp-hero-search-ph{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9375rem;color:rgb(var(--c-ink-500, var(--c-ink-700)));}
.fs-sp-hero-search-btn{flex:none;padding:.8125rem 1.625rem;font-size:.875rem;}

/* ═════════ HEADER (favSphereHeader) ═════════
   A plain page opener with the same orbit-ring backdrop, scaled down. */
.fs-sp-hd{padding:clamp(2.4rem,5vw,3.6rem) 1.5rem;text-align:center;}
.fs-sp-hd-inner{position:relative;max-width:min(620px, var(--fs-layout-clamp, 620px));margin:0 auto;}
.fs-sp-hd .fs-sp-title,.fs-sp-hd .fs-sp-eyebrow,.fs-sp-hd .fs-sp-sub{margin-left:auto;margin-right:auto;}

/* ═════════ LISTINGS (favSphereListings) ═════════
   A grid of property cards: circular map-pin icon, price pill overlaid
   bottom-right on the photo, spec row beneath. Cards lift + soften their
   shadow on hover, matching the source file's PropertyCard component. */
.fs-sp-listings{padding:clamp(2.4rem,5vw,3.6rem) 1.5rem;}
.fs-sp-listings-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem;max-width:var(--fs-layout-max, var(--fs-shell-max,1180px));margin-left:auto;margin-right:auto;}
.fs-sp-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.4rem;
  max-width:var(--fs-layout-max, var(--fs-shell-max,1180px));margin:0 auto;
}
.fs-sp-card{
  background:rgb(var(--c-surface, var(--c-paper)));
  border:1px solid rgb(var(--c-ink-950) / .1);
  border-radius:var(--fs-radius-card, 28px);
  overflow:hidden;
  box-shadow:var(--fs-shadow-card, 0 14px 34px rgb(var(--c-ink-950) / .08));
  transition:transform .3s ease, box-shadow .3s ease;
}
.fs-sp-card:hover{transform:translateY(-5px);box-shadow:0 22px 44px rgb(var(--c-brand-600) / .16);}
/* Every value below is MEASURED against source/PropertyCard.dc.html. */
.fs-sp-card-photo{position:relative;height:186px;background:rgb(var(--c-brand-600) / .1);}
.fs-sp-card-tag{
  position:absolute;top:14px;left:14px;
  background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)));
  font-family:var(--font-mono, 'Inter', sans-serif);
  font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  padding:.375rem .75rem;border-radius:999px;
}
.fs-sp-card-price{
  position:absolute;bottom:14px;right:14px;
  background:rgb(var(--c-paper) / .88);backdrop-filter:blur(8px);
  border:1px solid rgb(var(--c-ink-950) / .1);
  color:rgb(var(--c-ink-950));font-weight:800;font-size:.9375rem;
  padding:.4375rem .875rem;border-radius:999px;
}
.fs-sp-card-body{padding:1rem 1.25rem 1.25rem;}
.fs-sp-card-name{font-weight:800;font-size:1.125rem;letter-spacing:-.01em;}
.fs-sp-card-area{display:flex;align-items:center;gap:.375rem;font-family:var(--font-mono, 'Inter', sans-serif);font-size:.78rem;color:rgb(var(--c-ink-700));margin:.3rem 0 .75rem;}
.fs-sp-card-pin{width:13px;height:13px;flex:none;color:rgb(var(--c-brand-600));}
.fs-sp-card-specs{
  display:flex;gap:.875rem;font-family:var(--font-mono, 'Inter', sans-serif);font-size:.78rem;font-weight:500;color:rgb(var(--c-ink-700));
  border-top:1px solid rgb(var(--c-ink-950) / .08);padding-top:.75rem;
}
.fs-sp-card-view{margin-left:auto;color:rgb(var(--c-brand-600));font-weight:600;}

/* ═════════ MORTGAGE (favSphereMortgage) — THE interactive piece ═════════
   Two live sliders (price, deposit) drive a conic-gradient donut split
   between principal and interest, priced with an ordinary amortisation
   formula. Rate and term are authored fields (not sliders) so the same
   block prices any market without a settings panel. */
.fs-sp-mort{padding:clamp(2.4rem,5vw,3.6rem) 1.5rem;}
.fs-sp-mort-card{
  max-width:var(--fs-layout-max,1040px);margin:0 auto;
  background:rgb(var(--c-surface, var(--c-paper)));
  border:1px solid rgb(var(--c-ink-950) / .1);
  border-radius:var(--fs-radius-card, 32px);
  box-shadow:var(--fs-shadow-card, 0 14px 34px rgb(var(--c-ink-950) / .08));
  padding:clamp(1.6rem,4vw,2.75rem);
  display:grid;grid-template-columns:1.15fr .85fr;gap:2.75rem;
}
@media (max-width:760px){.fs-sp-mort-card{grid-template-columns:1fr;}}
.fs-sp-mort-field{margin-bottom:1.375rem;}
.fs-sp-mort-field:last-child{margin-bottom:0;}
.fs-sp-mort-row{display:flex;justify-content:space-between;font-size:.8125rem;font-weight:600;margin-bottom:.5rem;}
.fs-sp-mort-row span:last-child{color:rgb(var(--c-brand-600));}
.fs-sp-mort-slider{width:100%;accent-color:rgb(var(--c-brand-600));}
.fs-sp-mort-result{
  border-radius:var(--fs-radius-card, 28px);
  background:radial-gradient(circle at 30% 20%, rgb(var(--c-brand-600) / .12), transparent 70%), rgb(var(--c-paper));
  border:1px solid rgb(var(--c-ink-950) / .08);
  padding:2rem;display:flex;flex-direction:column;align-items:center;gap:1.125rem;text-align:center;
}
.fs-sp-donut{
  position:relative;width:158px;height:158px;border-radius:50%;display:grid;place-items:center;
}
.fs-sp-donut-hole{
  width:118px;height:118px;border-radius:50%;
  background:rgb(var(--c-surface, var(--c-paper)));
  display:grid;place-items:center;text-align:center;
}
.fs-sp-donut-v{font-weight:800;font-size:1.375rem;}
.fs-sp-donut-l{font-family:var(--font-mono, 'Inter', sans-serif);font-size:.68rem;color:rgb(var(--c-ink-500, var(--c-ink-700)));}
.fs-sp-mort-legend{font-size:.78rem;color:rgb(var(--c-ink-700));line-height:1.9;}
.fs-sp-mort-legend b{color:rgb(var(--c-ink-950));}

/* ═════════ AGENTS (favSphereAgents) ═════════
   Circular outlined portraits, a badge pill, a Contact link. */
.fs-sp-agents{padding:clamp(2.4rem,5vw,3.6rem) 1.5rem;}
.fs-sp-agents-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.4rem;
  max-width:var(--fs-layout-max,1040px);margin:0 auto;
}
.fs-sp-agent{
  background:rgb(var(--c-surface, var(--c-paper)));
  border:1px solid rgb(var(--c-ink-950) / .1);
  border-radius:var(--fs-radius-card, 32px);
  box-shadow:var(--fs-shadow-card, 0 14px 34px rgb(var(--c-ink-950) / .08));
  padding:2rem;text-align:center;
  transition:transform .3s ease;
}
.fs-sp-agent:hover{transform:translateY(-4px);}
.fs-sp-agent-photo{
  width:104px;height:104px;border-radius:50%;margin:0 auto 1rem;overflow:hidden;
  outline:3px solid rgb(var(--c-brand-600));outline-offset:4px;
  background:rgb(var(--c-brand-600) / .12);
}
.fs-sp-agent-name{font-weight:800;font-size:1.1875rem;}
.fs-sp-agent-role{font-family:var(--font-mono, 'Inter', sans-serif);font-size:.78rem;color:rgb(var(--c-ink-700));margin:.25rem 0 .75rem;}
.fs-sp-agent-badge{
  display:inline-block;background:rgb(var(--c-brand-600) / .12);color:rgb(var(--c-brand-600));
  font-family:var(--font-mono, 'Inter', sans-serif);
  font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  padding:.375rem .875rem;border-radius:999px;margin-bottom:.875rem;
}
.fs-sp-agent-stat{
  font-family:var(--font-mono, 'Inter', sans-serif);
  font-size:.8125rem;color:rgb(var(--c-ink-700));line-height:1.7;
}
.fs-sp-agent-contact{
  display:block;margin-top:1rem;
  border:1px solid rgb(var(--c-ink-950) / .14);border-radius:999px;
  padding:.625rem 1.375rem;font-size:.8125rem;font-weight:700;color:rgb(var(--c-ink-950));
}

/* ═════════ CTA (favSphereCta) ═════════
   Full-bleed brand-filled panel with two soft decorative discs. */
.fs-sp-cta{padding:clamp(2rem,4vw,3rem) 1.5rem;}
.fs-sp-cta-panel{
  position:relative;overflow:hidden;max-width:var(--fs-layout-max,1040px);margin:0 auto;
  border-radius:var(--fs-radius-card, 32px);
  background:radial-gradient(circle at 20% 20%, rgb(var(--c-brand-500, var(--c-brand-600))), rgb(var(--c-brand-600)) 60%, rgb(var(--c-brand-800, var(--c-brand-600))));
  color:var(--fs-on-brand, rgb(var(--c-paper)));
  padding:clamp(2.25rem,5vw,3.25rem) 2.5rem;text-align:center;
}
.fs-sp-cta-disc-a{position:absolute;right:-70px;bottom:-90px;width:280px;height:280px;border-radius:50%;background:rgb(255 255 255 / .14);pointer-events:none;}
.fs-sp-cta-disc-b{position:absolute;left:-50px;top:-60px;width:200px;height:200px;border-radius:50%;border:1px solid rgb(255 255 255 / .3);pointer-events:none;}
.fs-sp-cta-inner{position:relative;max-width:560px;margin:0 auto;}
.fs-sp-cta .fs-sp-h{color:var(--fs-on-brand, rgb(var(--c-paper)));}
.fs-sp-cta-body{margin-top:.6rem;font-size:.98rem;opacity:.9;}
.fs-sp-cta-btn{
  display:inline-flex;align-items:center;justify-content:center;margin-top:1.6rem;
  padding:.95rem 2rem;border-radius:999px;
  background:rgb(var(--c-paper));color:rgb(var(--c-brand-700, var(--c-brand-600)));
  font-weight:800;font-size:.94rem;
}

/* ═════════ MAP (favSphereMap) ═════════
   The source design's "On the map" canvas: grid paper drawn as two
   repeating-linear-gradients (52px cells, 1px --c-line) over a radial
   accent glow, with pill price markers positioned in PER CENT so they
   stay put at any width and survive a customer editing the figures.
   Selecting a marker opens a preview card beneath the canvas.

   NOT a real map, deliberately — the prototype's is a drawn abstraction,
   and favMapEmbed already exists for anyone wanting real coordinates. */
.fs-sp-map{padding:clamp(2.4rem,5vw,3.6rem) 1.5rem;}
.fs-sp-map-head{max-width:var(--fs-layout-max, var(--fs-shell-max,1180px));margin:0 auto 1.5rem;}
.fs-sp-map-canvas{
  position:relative;max-width:var(--fs-layout-max, var(--fs-shell-max,1180px));margin:0 auto;
  height:clamp(320px,46vw,460px);
  border-radius:32px;
  border:1px solid rgb(var(--c-ink-950) / .1);
  background:
    radial-gradient(circle at 70% 30%, rgb(var(--c-brand-600) / .16), transparent 45%),
    repeating-linear-gradient(to right,  rgb(var(--c-ink-950) / .07) 0 1px, transparent 1px 52px),
    repeating-linear-gradient(to bottom, rgb(var(--c-ink-950) / .07) 0 1px, transparent 1px 52px),
    rgb(var(--c-paper-soft, var(--c-paper)));
  overflow:hidden;
}
.fs-sp-map-badge{
  display:flex;align-items:center;gap:.75rem;
  position:absolute;top:24px;left:24px;z-index:2;
  background:rgb(var(--c-surface, var(--c-paper)));
  border:1px solid rgb(var(--c-ink-950) / .1);
  border-radius:999px;padding:.625rem 1.25rem .625rem .75rem;
  box-shadow:var(--fs-shadow-card, 0 14px 34px rgb(var(--c-ink-950) / .08));
}
.fs-sp-map-badge-icon{
  width:30px;height:30px;flex:none;border-radius:50%;
  background:radial-gradient(circle at 32% 26%, rgb(var(--c-brand-500, var(--c-brand-600))), rgb(var(--c-brand-600)));
}
.fs-sp-map-badge-t{font-weight:800;font-size:.875rem;line-height:1.2;}
.fs-sp-map-badge-s{font-family:var(--font-mono, 'Inter', sans-serif);font-size:.71875rem;color:rgb(var(--c-ink-700));margin-top:.1rem;}
/* A marker is a real <button>: it is the block's interactive control, so
   it has to be reachable by keyboard, not only by pointer. The sheet
   writes its colours at (0,2,0) — typography.ts paints every canvas
   <button> with --fs-btn-color at (0,1,1), which has eaten button labels
   in three previous families (Rally, Torque, Milestone). */
.fs-sp-map .fs-sp-marker,
.fs-sp-map .fs-sp-marker[data-on="0"]{
  position:absolute;transform:translate(-50%,-50%);z-index:3;
  display:inline-flex;align-items:center;
  min-height:34px;padding:.5rem .8125rem;
  border-radius:999px;cursor:pointer;
  font-family:var(--font-mono, 'Inter', sans-serif);font-size:.71875rem;font-weight:700;line-height:1;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
  border:1px solid rgb(var(--c-ink-950) / .14);
  box-shadow:0 6px 16px rgb(var(--c-ink-950) / .14);
  transition:background .2s ease, color .2s ease, transform .25s ease;
}
/* The pill is 34px tall by design — a 44px price marker crowds the canvas
   at 390px, where six of them share it. So the TARGET is expanded past
   the paint instead: a transparent ::after guarantees the spec's 44px
   minimum without changing what is drawn. MEASURED at 390px, which is
   how the 34px shortfall was found in the first place. */
.fs-sp-map .fs-sp-marker::after{
  content:'';position:absolute;left:50%;top:50%;
  transform:translate(-50%,-50%);
  width:100%;height:44px;min-width:44px;
  border-radius:999px;
}
.fs-sp-map .fs-sp-marker:hover{transform:translate(-50%,-58%) scale(1.1);}
.fs-sp-map .fs-sp-marker[data-on="1"]{
  background:rgb(var(--c-brand-600));
  color:var(--fs-on-brand, rgb(var(--c-paper)));
  border-color:rgb(var(--c-brand-600));
}
.fs-sp-marker:focus-visible{outline:2px solid rgb(var(--c-brand-600));outline-offset:3px;}
.fs-sp-map-preview{
  max-width:var(--fs-layout-max, var(--fs-shell-max,1180px));margin:1.1rem auto 0;
  display:flex;align-items:center;gap:.875rem;flex-wrap:wrap;
  background:rgb(var(--c-surface, var(--c-paper)));
  border:1px solid rgb(var(--c-ink-950) / .1);
  border-radius:22px;
  box-shadow:var(--fs-shadow-card, 0 14px 34px rgb(var(--c-ink-950) / .08));
  padding:.875rem 1rem;
}
.fs-sp-map-thumb{
  width:82px;height:66px;flex:none;border-radius:14px;overflow:hidden;
  background:rgb(var(--c-brand-600) / .12);
}
.fs-sp-map-pv-name{font-weight:800;font-size:.9375rem;}
.fs-sp-map-pv-meta{font-family:var(--font-mono, 'Inter', sans-serif);font-size:.75rem;color:rgb(var(--c-ink-700));margin-top:.125rem;}
.fs-sp-map-pv-price{margin-left:auto;font-weight:800;color:rgb(var(--c-brand-600));font-size:.875rem;}
/* Source draws "View home" as a small SOLID accent pill, not the
   outlined fs-sp-btn-ghost the block used before — MEASURED at line 283. */
.fs-sp-map-pv-btn{
  flex:none;border:none;cursor:pointer;
  background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)));
  font-weight:700;font-size:.78125rem;
  padding:.6875rem 1.25rem;border-radius:999px;
}
.fs-sp-map-hint{
  max-width:var(--fs-layout-max, var(--fs-shell-max,1180px));margin:.8rem auto 0;
  font-size:.74rem;color:rgb(var(--c-ink-700));
}

/* ═════════ DETAIL (favSphereDetail) ═════════
   One home, full width: a 340px hero with the tag pill overlaid, the
   name/price row, accent-soft spec pills, the blurb, outlined feature
   chips, then the two closing actions. */
.fs-sp-dt{padding:clamp(2rem,4vw,3rem) 1.5rem;}
.fs-sp-dt-inner{max-width:var(--fs-layout-max,1040px);margin:0 auto;}
.fs-sp-dt-back{
  display:inline-block;margin-bottom:1rem;
  font-size:.8rem;font-weight:700;color:rgb(var(--c-brand-600));
}
.fs-sp-dt-hero{
  position:relative;height:clamp(220px,34vw,340px);
  border-radius:var(--fs-radius-card, 32px);
  background:rgb(var(--c-brand-600) / .1);
  border:1px solid rgb(var(--c-ink-950) / .08);
  overflow:hidden;
}
.fs-sp-dt-tag{
  position:absolute;top:16px;left:16px;z-index:2;
  background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)));
  font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  padding:.42rem .85rem;border-radius:999px;
}
.fs-sp-dt-row{
  display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap;margin-top:1.5rem;
}
.fs-sp-dt-name{
  font-family:var(--font-display, 'Manrope', sans-serif);
  font-size:clamp(1.7rem,3.4vw,2.15rem);font-weight:800;letter-spacing:-.015em;
  line-height:1.1;
}
.fs-sp-dt-price{
  margin-left:auto;font-weight:800;font-size:clamp(1.2rem,2.2vw,1.6rem);
  color:rgb(var(--c-brand-600));
}
.fs-sp-dt-area{font-size:.84rem;color:rgb(var(--c-ink-700));margin-top:.35rem;}
.fs-sp-dt-pills{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.2rem;}
.fs-sp-dt-pill{
  background:rgb(var(--c-brand-600) / .12);color:rgb(var(--c-brand-600));
  font-size:.76rem;font-weight:700;
  padding:.5rem 1rem;border-radius:999px;
}
.fs-sp-dt-blurb{
  margin-top:1.3rem;max-width:64ch;
  font-size:1rem;line-height:1.7;color:rgb(var(--c-ink-700));
  text-wrap:pretty;
}
.fs-sp-dt-chips{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.2rem;}
.fs-sp-dt-chip{
  border:1px solid rgb(var(--c-ink-950) / .16);
  border-radius:999px;padding:.45rem .95rem;
  font-size:.76rem;font-weight:600;color:rgb(var(--c-ink-950));
}
.fs-sp-dt-rule{height:1px;background:rgb(var(--c-ink-950) / .1);margin:1.6rem 0 0;}
@media (max-width:600px){
  .fs-sp-dt-price{margin-left:0;}
}

/* ═════════ FOOTER (favSphereFooter) ═════════
   A theme-owned block — see themes/format.ts's FOOTER_REGION_TYPES
   comment for why this exists instead of the shared layoutColumns
   section. Every value MEASURED against source/Website.dc.html's
   own <footer>, lines 438-451. */
.fs-sp-ft{
  border-top:1px solid rgb(var(--c-ink-950) / .1);
}
.fs-sp-ft-grid{
  max-width:var(--fs-layout-max, var(--fs-shell-max,1180px));margin:0 auto;
  padding:3.5rem 2rem 2.5rem;
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:2.25rem;
}
@media (max-width:760px){
  .fs-sp-ft-grid{grid-template-columns:1fr;gap:2rem;}
}
.fs-sp-ft-brand{display:flex;align-items:center;gap:.625rem;margin-bottom:.875rem;}
.fs-sp-ft-icon{
  position:relative;flex-shrink:0;width:32px;height:32px;border-radius:50%;
  background:radial-gradient(circle at 32% 26%, rgb(var(--c-brand-500, var(--c-brand-600))), rgb(var(--c-brand-600)));
}
.fs-sp-ft-icon-svg{position:absolute;inset:0;}
.fs-sp-ft-brand-name{font-weight:800;font-size:1.0625rem;}
.fs-sp-ft-blurb{
  font-family:var(--font-mono, 'Inter', sans-serif);
  font-size:.8125rem;color:rgb(var(--c-ink-700));line-height:1.7;
  max-width:260px;
}
.fs-sp-ft-heading{
  font-family:var(--font-mono, 'Inter', sans-serif);
  font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:rgb(var(--c-ink-700));margin-bottom:.875rem;
}
.fs-sp-ft-links{display:flex;flex-direction:column;gap:.625rem;align-items:flex-start;}
.fs-sp-ft-link{
  font-family:var(--font-mono, 'Inter', sans-serif);
  font-size:.84375rem;color:rgb(var(--c-ink-950));
  text-decoration:none;
}
.fs-sp-ft-link:hover{color:rgb(var(--c-brand-600));}
.fs-sp-ft-news{display:flex;gap:.5rem;}
.fs-sp-ft-news-input{
  flex:1;min-width:0;
  background:rgb(var(--c-surface, var(--c-paper)));
  border:1px solid rgb(var(--c-ink-950) / .12);
  border-radius:999px;padding:.75rem 1.125rem;
  font-size:.8125rem;color:rgb(var(--c-ink-950));
}
.fs-sp-ft-news-input::placeholder{color:rgb(var(--c-ink-500, var(--c-ink-700)));}
.fs-sp-ft-news-btn{
  flex-shrink:0;padding:.75rem 1.25rem;font-size:.8125rem;margin-top:0;
}
.fs-sp-ft-joined{
  font-family:var(--font-mono, 'Inter', sans-serif);
  font-size:.8125rem;font-weight:600;color:rgb(var(--c-brand-600));
  padding:.75rem 0;
}
.fs-sp-ft-bar{
  max-width:var(--fs-layout-max, var(--fs-shell-max,1180px));margin:0 auto;
  padding:0 2rem 2rem;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:.75rem;
  font-family:var(--font-mono, 'Inter', sans-serif);
  font-size:.75rem;color:rgb(var(--c-ink-700));
}
.fs-sp-ft-legal{display:flex;align-items:center;}
.fs-sp-ft-legal-link{
  font:inherit;color:inherit;text-decoration:none;
}
.fs-sp-ft-legal-link:hover{color:rgb(var(--c-brand-600));}
.fs-sp-ft-legal-link + .fs-sp-ft-legal-link{position:relative;padding-left:.75rem;}
.fs-sp-ft-legal-link + .fs-sp-ft-legal-link::before{
  content:'·';position:absolute;left:0;color:inherit;
}

/* HEADER CTA — pixel-verified against source/Website.dc.html: 13px
   text, 11px/20px padding. The platform's shared .fs-hdr-cta (menu-
   styles.ts) reads --fs-type-body, which resolves larger for this
   theme (1rem) — correct as a sane DEFAULT for a theme that doesn't
   care, wrong for one whose own design draws this button smaller than
   its body text on purpose. This theme-scoped override is the fix,
   not reverting to a hand-rolled per-surface copy: every surface still
   reads the ONE shared .fs-hdr-cta rule, this just refines it for the
   one theme whose source disagrees with the platform default — same
   pattern Stanhope's own nav-active override in optic-styles.ts uses
   for the same reason. Three selector parts (attr+class+class) so this
   reliably outranks the two-part base rule regardless of stylesheet
   load order, without reaching for !important.

   THE ACCESSIBILITY TRADE, made explicit rather than silently taken:
   13px/11px-20px alone computes to roughly 38px tall, under the 44px
   tap-target floor DESIGN-HANDOFF-SPEC §9 makes global. Rather than
   choosing between "match the source" and "meet the floor", both are
   kept — the pseudo-element below expands the CLICKABLE area to 44px
   without touching the visible pill's size. This is §9's own
   prescribed fix for exactly this situation ("expand the target past
   the paint … not inflate the artwork"), applied for real for the
   first time in this codebase rather than only documented. */
[data-fs-theme='homesphere'] .fs-hdr-row .fs-hdr-cta{
  font-size:.8125rem;
  padding:.6875rem 1.25rem;
  /* Overrides the base rule's 44px FLOOR, not just its padding/font —
     a min-height surviving this override would force the visible pill
     back up to 44px regardless of the smaller padding, silently
     undoing the whole point. The pseudo-element below is what actually
     carries the accessible tap target now. */
  min-height:0;
  position:relative;
}
[data-fs-theme='homesphere'] .fs-hdr-row .fs-hdr-cta::after{
  content:'';
  position:absolute;
  inset:-4px;
}

/* ── THE FIVE KIT MENUS, IN THIS THEME'S LANGUAGE ───────────────
   Every premium kit draws the same five archetypes and each maps to a
   platform style: Column Directory -> columns, Feature Spotlight ->
   feature, Tile Grid -> showcase, Split Preview -> tabbed, Full-Bleed
   Canvas -> promo. The CONTENT for each lives in this theme's
   megaMenus.byStyle; what follows is only how each shape wears this
   theme's clothes.

   THE METRIC TREATMENT is the one that needs saying. In the Canvas
   menu a text block is a NUMBER over a label — '98.4%' then 'CSAT this
   quarter'. The platform's mega-text heading is 13px/700, which renders
   a statistic at the size of a sub-heading and loses the whole point of
   the panel. So inside the flooded cell the heading becomes the figure.

   KNOWN LIMIT, not styled around: the tabbed style builds its RAIL from the nav
   item's CHILD PAGES, not from the tab headings authored in blocks. An
   item with one child shows one tab, and content authored for cols 1-3
   is unreachable. Measured on CreatorFlow, whose Marketplace has a
   single child. Fixing it means letting a linkList or a block heading
   name a tab, which is an engine change. */
[data-fs-theme='homesphere'] .fsdrop-panel-promo .fsdrop-mega-content .fsdrop-mega-text-heading{
  font-family:var(--font-display);
  font-size:30px;
  font-weight:800;
  letter-spacing:-1.2px;
  line-height:1;
  margin:0 0 4px;
}
[data-fs-theme='homesphere'] .fsdrop-panel-promo .fsdrop-mega-content .fsdrop-mega-text{
  margin-bottom:16px;
}
/* The first block in the flooded cell is the ARGUMENT, not a figure —
   it keeps sentence size so the numbers beside it stay the loud thing. */
[data-fs-theme='homesphere'] .fsdrop-panel-promo .fsdrop-mega-content-col:first-child .fsdrop-mega-text-heading{
  font-size:19px;
  letter-spacing:-.5px;
  line-height:1.2;
}
/* The link column beside a flooded cell is usually one or two child
   pages, so it should not hold a third of the panel. */
[data-fs-theme='homesphere'] .fsdrop-panel-promo .fsdrop-mega-col{
  min-width:0;
}
[data-fs-theme='homesphere'] .fsdrop-panel-tabbed .fsdrop-tab-panel .fsdrop-mega-text-heading{
  font-family:var(--font-display);
  font-size:17px;
  letter-spacing:-.3px;
}
[data-fs-theme='homesphere'] .fsdrop-panel-showcase .fsdrop-mega-content{
  padding-top:4px;
}

/* HomeSphere is a one-face theme, so a Canvas figure separates from its
   label by weight and size alone — there is no second family to reach
   for. 800 against the label's 400 is the whole hierarchy. */
[data-fs-theme='homesphere'] .fsdrop-panel-promo .fsdrop-mega-content .fsdrop-mega-text-heading{
  font-weight:800;
  letter-spacing:-1.4px;
}
/* ---- M1, generated by scripts/port-menu.mjs ---- */
/* The design's inherited context, re-established at the panel root.
   Every value below is one the kit set on <body> and its descendants
   relied on without restating. */
[data-fs-theme='homesphere'] .fs-hmsm-wrap {
  font-family:'Manrope', system-ui, sans-serif;
  font-size:15px;
  font-weight:initial;
  font-style:initial;
  line-height:1.6;
  letter-spacing:initial;
  word-spacing:initial;
  color:rgb(var(--c-ink-950));
  text-transform:initial;
  -webkit-font-smoothing:antialiased;
  font-variant-numeric:initial;
}

/* The design's inheritance model, re-established for descendants.
   Inheritance never beats a direct declaration, so a root baseline
   alone cannot undo a platform rule that targets a bare tag. */
[data-fs-theme='homesphere'] .fs-hmsm-wrap *:not(button):not(input):not(select):not(textarea) {
  line-height:inherit;
  letter-spacing:inherit;
  word-spacing:inherit;
  text-transform:inherit;
  font-variant-numeric:inherit;
}

/* What the UA gives a form control on the design page, said out
   loud, because the port's CSS reset does not give the same thing. */
[data-fs-theme='homesphere'] .fs-hmsm-wrap :is(button,input,select,textarea) {
  line-height:normal;
}

[data-fs-theme='homesphere'] .fs-hmsm-wrap .fs-hmsm-eyebrow {
  font-family:'Inter', system-ui, sans-serif;
  font-size:12px;
  font-weight:600;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:rgb(var(--c-ink-400));
  margin:0 0 14px;
  display:block;
  line-height:16.800px;
}

[data-fs-theme='homesphere'] .fs-hmsm-wrap .fs-hmsm-linkarrow {
  color:rgb(var(--c-brand-600));
  font-size:14px;
  font-weight:700;
  text-decoration:none;
}

[data-fs-theme='homesphere'] .fs-hmsm-wrap .fs-hmsm-cols {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  padding:8px;
}

[data-fs-theme='homesphere'] .fs-hmsm-wrap .fs-hmsm-col {
  padding:20px 18px;
}

[data-fs-theme='homesphere'] .fs-hmsm-wrap .fs-hmsm-col ul {
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:1px;
}

[data-fs-theme='homesphere'] .fs-hmsm-wrap .fs-hmsm-col a {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  text-decoration:none;
  color:rgb(var(--c-ink-950));
  font-size:14.5px;
  padding:9px 12px;
  border-radius:12px;
  font-weight:500;
}

[data-fs-theme='homesphere'] .fs-hmsm-wrap .fs-hmsm-col a:hover {
  background:rgb(var(--c-brand-50));
  color:rgb(var(--c-brand-600));
}

[data-fs-theme='homesphere'] .fs-hmsm-wrap .fs-hmsm-col a .fs-hmsm-n {
  font-family:'Inter', system-ui, sans-serif;
  font-size:12px;
  color:rgb(var(--c-ink-400));
  line-height:18.400px;
}

[data-fs-theme='homesphere'] .fs-hmsm-wrap .fs-hmsm-colfoot {
  background:rgb(var(--c-paper));
  padding:16px 26px;
  border-top:1px solid rgb(var(--c-line-soft));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}

[data-fs-theme='homesphere'] .fs-hmsm-wrap .fs-hmsm-colfoot span {
  font-size:13.5px;
  color:rgb(var(--c-ink-400));
}

@media (max-width:820px) {
  [data-fs-theme='homesphere'] .fs-hmsm-wrap .fs-hmsm-cols {
    grid-template-columns:repeat(2,1fr);
  }
}



.fs-rw{position:relative;background:rgb(var(--c-paper));color:rgb(var(--c-ink-950));font-family:var(--font-body,'Figtree',sans-serif);}
.fs-rw *{box-sizing:border-box;}
.fs-rw-wire{filter:grayscale(1) contrast(.5);}

/* ── shared voice ── */
.fs-rw-kick{font-size:12px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:rgb(var(--c-brand-600));}
.fs-rw-disp{font-family:var(--font-display,'Bricolage Grotesque',sans-serif);font-weight:800;letter-spacing:-.02em;margin:0;}
.fs-rw-head{font-family:var(--font-display,'Bricolage Grotesque',sans-serif);font-weight:700;letter-spacing:-.01em;margin:0;}
.fs-rw-card{background:rgb(var(--c-paper-soft,var(--c-paper)));border:1px solid rgb(var(--c-line));border-radius:16px;}
.fs-rw-btn{display:inline-block;border:none;border-radius:9999px;font-weight:700;cursor:pointer;text-decoration:none;text-align:center;}
.fs-rw-btn-brand{background:rgb(var(--c-brand-600));color:var(--fs-on-brand,rgb(var(--c-paper)));}
.fs-rw-btn-brand:hover{background:rgb(var(--c-brand-700));}
/* Accent CTA: white 700-weight >=14px only — 3.67:1 clears AA for bold
   text sizes and the design confines it to exactly that use. */
.fs-rw-btn-accent{background:rgb(var(--c-accent));color:#FFFFFF;}
.fs-rw-btn-accent:hover{filter:brightness(.9);}
.fs-rw-sub{color:rgb(var(--c-ink-700));}

/* Card hover lift — the design's card-lift motion, toggleable. */
.fs-rw-anim a.fs-rw-card{transition:box-shadow .2s ease;}
.fs-rw-anim a.fs-rw-card:hover{box-shadow:var(--fs-anim-cardlift, 0 16px 40px rgba(12,34,51,.12));}

/* Wave drift — the seafoam band-bottom wave (BandWave/.fs-rw-wave, drawn
   40px wider than its own viewBox on purpose) creeps a few pixels side
   to side so the "coastal" motif reads as water instead of wallpaper.
   Small enough that the drawn overflow always covers the shift. */
.fs-rw-anim .fs-rw-wave{animation:var(--fs-anim-wavedrift, fs-rw-wavedrift 15s ease-in-out infinite alternate);}
@keyframes fs-rw-wavedrift{from{transform:translateX(0);}to{transform:translateX(-10px);}}
@media (prefers-reduced-motion: reduce){
  .fs-rw-wave{animation:none !important;}
}

/* Save-heart pop — plays once whenever fs-rw-heart-on is added (the
   card's saved-state click), not a loop. */
.fs-rw-anim .fs-rw-heart-on svg{animation:var(--fs-anim-heartpop, fs-rw-heart-pop .45s cubic-bezier(.34,1.56,.64,1) both);}
@keyframes fs-rw-heart-pop{0%{transform:scale(1);}35%{transform:scale(1.35);}60%{transform:scale(.92);}100%{transform:scale(1);}}
@media (prefers-reduced-motion: reduce){
  .fs-rw-heart-on svg{animation:none !important;}
}

/* FIXED BRAND CHROME (see header comment — deliberately not vars). */
.fs-rw-navy{background:#0C2233;color:#FFFFFF;}
.fs-rw-navy .fs-rw-kick{color:#9FD8CB;}
.fs-rw-navy-sub{color:#BFD2DA;}
.fs-rw-wave{position:absolute;left:0;bottom:0;width:100%;pointer-events:none;}

/* ── favWaveHero ── */
.fs-rw-hero{padding:72px 40px 88px;position:relative;overflow:hidden;}
.fs-rw-hero-in{max-width:var(--fs-layout-max,1180px);margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;position:relative;}
.fs-rw-hero-l{display:flex;flex-direction:column;gap:24px;}
.fs-rw-hero-pill{align-self:flex-start;background:rgba(159,216,203,.12);border:1px solid rgba(159,216,203,.3);color:#9FD8CB;border-radius:9999px;padding:7px 16px;font-size:13px;font-weight:600;}
.fs-rw-hero-title{font-size:clamp(2.25rem,3.1vw + 1rem,3.625rem);line-height:1.04;color:#FFFFFF;}
.fs-rw-hero-sub{font-size:18px;line-height:1.6;max-width:480px;margin:0;}
/* The search card is a floating SURFACE — role colours, so dark mode
   repaints it per the design's own ROLE map (only the navy chrome is
   fixed). */
.fs-rw-search{background:rgb(var(--c-paper-soft,var(--c-paper)));border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:14px;box-shadow:0 24px 60px rgba(0,0,0,.3);color:rgb(var(--c-ink-950));}
.fs-rw-tabs{display:flex;gap:8px;}
.fs-rw-tab{border:none;border-radius:9999px;padding:9px 22px;font-size:14px;font-weight:700;cursor:pointer;background:rgb(var(--c-paper));color:rgb(var(--c-ink-700));}
.fs-rw-tab-on{background:#0C2233;color:#FFFFFF;}
.fs-rw-search-row{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:10px;}
.fs-rw-select{border:1.5px solid rgb(var(--c-line));border-radius:12px;padding:13px 14px;font-size:14px;font-weight:600;color:rgb(var(--c-ink-950));background:rgb(var(--c-paper));appearance:none;font-family:inherit;}
.fs-rw-search-btn{padding:13px 26px;font-size:15px;}
.fs-rw-hero-stats{display:flex;gap:36px;}
.fs-rw-hero-stat-v{font-family:var(--font-display,'Bricolage Grotesque',sans-serif);font-weight:700;letter-spacing:-.01em;font-size:22px;color:#FFFFFF;display:block;}
.fs-rw-hero-stat-l{font-size:14px;color:#BFD2DA;}
.fs-rw-hero-photo{height:460px;border-radius:20px;background:linear-gradient(135deg,#146C77,#0C2233);overflow:hidden;}
.fs-rw-hero-photo img{width:100%;height:100%;object-fit:cover;display:block;}

/* ── band sections (shared shell) ── */
.fs-rw-sec{max-width:var(--fs-layout-max,1180px);margin:0 auto;padding:72px 40px;display:flex;flex-direction:column;gap:28px;}
.fs-rw-band{background:rgb(var(--c-paper-soft,var(--c-paper)));border-top:1px solid rgb(var(--c-line));border-bottom:1px solid rgb(var(--c-line));}
.fs-rw-sechead{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;}
.fs-rw-sechead-t{display:flex;flex-direction:column;gap:8px;}
.fs-rw-h2{font-size:36px;}
.fs-rw-seclink{font-size:15px;font-weight:700;color:rgb(var(--c-brand-600));text-decoration:none;white-space:nowrap;}
.fs-rw-seclink:hover{text-decoration:underline;}

/* ── favWaveListings: the canonical listing card ── */
/* ── GRIDS THAT SIZE THEMSELVES ─────────────────────────────────
   Every grid below was a fixed column count with one viewport media
   query at 700px underneath it, which is the house style across 48 of
   our 53 stylesheets and is wrong the moment Site Settings narrows the
   MEASURE rather than the window. Measured on this theme at a 1425px
   viewport: under "Minimalist" the column is 656px and a 5-up grid was
   still drawing five, at 116px a tile.

   auto-fit + minmax fixes it without containment. Two properties of
   auto-fit make it the right tool rather than container queries, which
   is where this started:

     • it responds to the ELEMENT's width, whatever narrowed it — site
       layout, viewport, or a narrow column in some future split — so
       there is one rule instead of one per layout per grid;
     • it COLLAPSES empty tracks, so the item count caps the columns.
       Three steps can never draw four columns however wide the page is,
       which is why these minimums are safe to set generously.

   And critically it needs no container-type, which would have applied
   contain:layout and made every section a containing block for
   absolutely-positioned descendants — the mega panel anchors to
   .fs-hdr-row, and the property-detail summary card is sticky at 88px
   and pinned LOAD-BEARING in verify-theme. Not creating that risk beats
   testing for it.

   The minimum is the DESIGN decision: it says how narrow this card may
   get before it stops working. That is a far better thing to ask a
   designer for than a set of breakpoints. */
.fs-rw-grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;}
.fs-rw-lcard{overflow:hidden;display:flex;flex-direction:column;color:rgb(var(--c-ink-950));text-decoration:none;}
.fs-rw-lphoto{height:200px;position:relative;background:linear-gradient(135deg,#146C77,#0C2233);}
.fs-rw-lphoto img{width:100%;height:100%;object-fit:cover;display:block;}
/* Save-heart: drawn 38px ON PURPOSE (design flag) — the ::after expands
   the tap target past 44px without touching the artwork, SPEC §9. */
.fs-rw-heart{position:absolute;top:12px;right:12px;width:38px;height:38px;border:none;border-radius:9999px;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;cursor:pointer;color:rgb(var(--c-accent));}
.fs-rw-heart::after{content:'';position:absolute;inset:-4px;}
.fs-rw-heart svg{width:18px;height:18px;}
.fs-rw-heart-on svg{fill:rgb(var(--c-accent));}
.fs-rw-lbadge{position:absolute;top:12px;left:12px;background:#0C2233;color:#9FD8CB;border-radius:9999px;padding:5px 12px;font-size: 12px;font-weight:700;letter-spacing:.7px;}
.fs-rw-lbody{padding:18px;display:flex;flex-direction:column;gap:8px;}
.fs-rw-lprice-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;}
.fs-rw-lprice{font-size:22px;}
.fs-rw-lref{font-size:12px;font-weight:600;color:rgb(var(--c-ink-700));}
.fs-rw-ltitle{font-size:15px;font-weight:700;}
.fs-rw-lloc{font-size:13.5px;color:rgb(var(--c-ink-700));}
.fs-rw-lspecs{display:flex;gap:14px;font-size:13px;color:rgb(var(--c-ink-700));border-top:1px solid rgb(var(--c-line));padding-top:10px;margin-top:4px;}

/* ── favWaveFilter ── */
/* Empty result set. Muted, centred, and given real vertical room: a
   one-line apology jammed under a filter bar reads as an error, not an
   outcome. */
.fs-rw-lempty {
  margin: 2.5rem auto 0; max-width: 34ch; text-align: center;
  font-size: .95rem; line-height: 1.6; color: rgb(var(--c-ink-700));
}

.fs-rw-filter{padding:14px 16px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.fs-rw-fselect{border:1.5px solid rgb(var(--c-line));border-radius:10px;padding:11px 13px;font-size:13.5px;font-weight:600;color:rgb(var(--c-ink-950));background:rgb(var(--c-paper));appearance:none;font-family:inherit;}
/* chips: 34px tall by design (flagged small); tap area expanded */
.fs-rw-chip{position:relative;background:rgba(159,216,203,.3);color:#0C5560;border:none;border-radius:9999px;padding:8px 15px;font-size:12.5px;font-weight:700;cursor:pointer;}
.fs-rw-chip::after{content:'';position:absolute;inset:-5px;}
.fs-rw-chip-ghost{background:transparent;border:1.5px dashed #C9BFA8;color:rgb(var(--c-ink-700));}

/* ── favWaveLocations ── */
.fs-rw-loc5{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;}
.fs-rw-loctile{background:linear-gradient(160deg,rgb(var(--c-brand-600)),#0C2233);border-radius:14px;padding:22px 18px;height:150px;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;color:#FFFFFF;text-decoration:none;}
.fs-rw-locname{font-size:19px;color:#FFFFFF;}
.fs-rw-loccount{font-size:13px;font-weight:600;color:#9FD8CB;}
/* big variant (locations page): 3-col, first tile spans 2 */
/* locbig's first tile spans two columns, so this cannot fall to a
   single track without that span overflowing — minmax floors it at two
   real columns and the span stays valid. */
.fs-rw-locbig{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,calc(50% - 9px)),1fr));gap:18px;}
.fs-rw-locbig .fs-rw-loctile{border-radius:18px;padding:26px;height:190px;}
.fs-rw-locbig .fs-rw-loctile:first-child{grid-column:span 2;height:220px;}
.fs-rw-locbig .fs-rw-loctile:nth-child(2){height:220px;}
.fs-rw-locbig .fs-rw-locname{font-size:24px;}
.fs-rw-locbig .fs-rw-loctile:first-child .fs-rw-locname{font-size:30px;}
.fs-rw-locdesc{font-size:13.5px;color:#BFE3DB;line-height:1.5;}

/* ── favWaveMap ── */
.fs-rw-map{display:block;height:190px;border-radius:16px;background:#DDEBE6;position:relative;overflow:hidden;text-decoration:none;}
.fs-rw-map-island{height:230px;border-radius:18px;}
.fs-rw-pin{position:absolute;background:#9FD8CB;color:#0C2233;border-radius:9999px;padding:6px 12px;font-size:12px;font-weight:800;}
.fs-rw-pin-hi{background:#0C2233;color:#9FD8CB;border:2px solid #9FD8CB;padding:8px 14px;font-size:13px;}
.fs-rw-map-cta{position:absolute;left:16px;bottom:16px;background:#0C2233;color:#FFFFFF;border-radius:9999px;padding:10px 20px;font-size:13.5px;font-weight:700;}

/* ── favWaveWhy (+ steps variant) ── */
.fs-rw-why{max-width:var(--fs-layout-max,1180px);margin:0 auto;padding:80px 40px;display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center;}
.fs-rw-why-photo{height:380px;border-radius:20px;background:linear-gradient(135deg,#146C77,#0C2233);overflow:hidden;}
.fs-rw-why-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.fs-rw-why-r{display:flex;flex-direction:column;gap:24px;}
.fs-rw-props{display:flex;flex-direction:column;gap:18px;}
.fs-rw-prop{display:flex;gap:16px;}
.fs-rw-chipnum{flex:none;width:44px;height:44px;border-radius:12px;background:rgb(var(--c-brand-600));color:var(--fs-on-brand,rgb(var(--c-paper)));display:flex;align-items:center;justify-content:center;font-family:var(--font-display,'Bricolage Grotesque',sans-serif);font-weight:700;font-size:17px;}
.fs-rw-prop-t{font-size:16px;font-weight:700;}
.fs-rw-prop-b{font-size:14.5px;color:rgb(var(--c-ink-700));line-height:1.55;margin:2px 0 0;}
/* steps variant: 3 cards */
.fs-rw-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;}
.fs-rw-step{padding:24px;display:flex;flex-direction:column;gap:10px;}

/* ── favWaveAgents ── */
.fs-rw-agents4{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;}
.fs-rw-agent{display:flex;flex-direction:column;align-items:center;gap:12px;color:rgb(var(--c-ink-950));text-decoration:none;text-align:center;}
.fs-rw-aphoto{width:120px;height:120px;border-radius:9999px;background:linear-gradient(135deg,#146C77,#0C2233);overflow:hidden;}
.fs-rw-aphoto img{width:100%;height:100%;object-fit:cover;display:block;}
.fs-rw-aname{font-size:16px;font-weight:700;}
.fs-rw-arole{font-size:13.5px;color:rgb(var(--c-ink-700));}
/* detail variant (agents page): cards with stats */
.fs-rw-agents-detail .fs-rw-agent{border:1px solid rgb(var(--c-line));background:rgb(var(--c-paper-soft,var(--c-paper)));border-radius:18px;padding:26px 20px;}
.fs-rw-agents-detail .fs-rw-aphoto{width:110px;height:110px;}
.fs-rw-astats{display:flex;gap:14px;font-size:12px;color:rgb(var(--c-ink-700));border-top:1px solid rgb(var(--c-line));padding-top:10px;width:100%;justify-content:center;}
.fs-rw-astats b{color:rgb(var(--c-brand-600));}
.fs-rw-aview{font-size:13px;font-weight:700;color:rgb(var(--c-brand-600));}

/* ── favWaveTestimonials ── */
.fs-rw-quote{padding:26px;display:flex;flex-direction:column;gap:16px;}
.fs-rw-squiggle{color:rgb(var(--c-accent));}
.fs-rw-quote-b{font-size:15px;line-height:1.65;margin:0;}
.fs-rw-quote-a{font-size:13.5px;font-weight:600;color:rgb(var(--c-ink-700));}

/* ── favWaveCta (navy panel + light banner variant) ── */
.fs-rw-cta-wrap{max-width:var(--fs-layout-max,1180px);margin:0 auto;padding:0 40px 80px;}
.fs-rw-cta{background:#0C2233;border-radius:22px;padding:56px 60px;display:flex;justify-content:space-between;align-items:center;gap:40px;}
.fs-rw-cta-t{display:flex;flex-direction:column;gap:10px;}
.fs-rw-cta-h{font-size:34px;color:#FFFFFF;}
.fs-rw-cta-s{font-size:16px;color:#BFD2DA;max-width:480px;line-height:1.55;margin:0;}
.fs-rw-cta-btn{padding:16px 32px;font-size:16px;}
/* light banner variant */
.fs-rw-banner{border-radius:18px;padding:28px 32px;display:flex;justify-content:space-between;align-items:center;gap:24px;}
.fs-rw-banner-h{font-size:17px;font-weight:700;}
.fs-rw-banner-s{font-size:14px;color:rgb(var(--c-ink-700));margin:2px 0 0;}
.fs-rw-btn-ghost{background:transparent;color:rgb(var(--c-brand-600));border:1.5px solid rgb(var(--c-brand-600));padding:12px 24px;font-size:14px;}

/* ── favWaveHeader (light page opener) ── */
.fs-rw-hd{max-width:var(--fs-layout-max,1180px);margin:0 auto;padding:48px 40px 0;display:flex;flex-direction:column;gap:8px;}
.fs-rw-h1{font-size:42px;}
.fs-rw-hd-sub{font-size:15px;color:rgb(var(--c-ink-700));max-width:560px;line-height:1.6;margin:0;}

/* ── favWaveBand (navy page hero) ── */
.fs-rw-bband{padding:72px 40px;position:relative;overflow:hidden;}
.fs-rw-bband-in{max-width:var(--fs-layout-max,1180px);margin:0 auto;display:flex;flex-direction:column;gap:16px;position:relative;}
.fs-rw-back{font-weight:700;font-size:14px;color:#9FD8CB;text-decoration:none;align-self:flex-start;}
.fs-rw-bband-title{font-size:clamp(2rem,2.6vw + 1rem,3.125rem);line-height:1.08;color:#FFFFFF;max-width:min(640px, var(--fs-layout-clamp, 640px));}
.fs-rw-bband-sub{font-size:17px;line-height:1.6;max-width:460px;margin:0;}
.fs-rw-bband-stats{display:flex;gap:44px;margin-top:8px;flex-wrap:wrap;}
.fs-rw-bband-stat-v{font-family:var(--font-display,'Bricolage Grotesque',sans-serif);font-weight:700;font-size:26px;color:#FFFFFF;display:block;}
.fs-rw-bband-stat-l{font-size:14px;color:#BFD2DA;}

/* ── favWaveDetail ── */
.fs-rw-dt{max-width:var(--fs-layout-max,1180px);margin:0 auto;padding:36px 40px 72px;display:flex;flex-direction:column;gap:26px;}
/* The way back, above the gallery. Sized as a control rather than body
   copy so it reads as navigation, and given a real hit area. */
.fs-rw-dt-back {
  display: inline-block; margin-bottom: 1rem;
  font-size: .875rem; font-weight: 600; text-decoration: none;
  color: rgb(var(--c-brand-600)); padding: .35rem 0;
}
.fs-rw-dt-back:hover { text-decoration: underline; text-underline-offset: 4px; }

.fs-rw-dt-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:24px;align-items:start;}
.fs-rw-dt-gallery{display:flex;flex-direction:column;gap:10px;}
.fs-rw-dt-main{height:430px;border-radius:18px;position:relative;overflow:hidden;background:linear-gradient(135deg,#146C77,#0C2233);cursor:pointer;}
.fs-rw-dt-main img{width:100%;height:100%;object-fit:cover;display:block;}
.fs-rw-dt-count{position:absolute;bottom:14px;right:14px;background:rgba(12,34,51,.85);color:#FFFFFF;border-radius:9999px;padding:6px 14px;font-size:12px;font-weight:700;}
.fs-rw-dt-thumbs{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;}
.fs-rw-dt-thumb{height:104px;border-radius:12px;background:linear-gradient(135deg,#146C77,#0C2233);overflow:hidden;border:none;cursor:pointer;padding:0;}
.fs-rw-dt-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
/* sticky top 88 = 72px nav + 16 gap (LOAD-BEARING per design) */
.fs-rw-dt-card{border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:14px;position:sticky;top:88px;}
.fs-rw-dt-badge{background:#0C2233;color:#9FD8CB;border-radius:9999px;padding:5px 12px;font-size: 12px;font-weight:700;}
.fs-rw-dt-price{font-size:34px;}
.fs-rw-dt-stats{display:flex;gap:8px;}
.fs-rw-dt-stat{flex:1;background:rgb(var(--c-paper));border-radius:11px;padding:10px 6px;text-align:center;}
.fs-rw-dt-stat-v{font-family:var(--font-display,'Bricolage Grotesque',sans-serif);font-weight:700;font-size:17px;display:block;}
.fs-rw-dt-stat-l{font-size: 12px;font-weight:600;color:rgb(var(--c-ink-700));}
.fs-rw-dt-chips{display:flex;gap:6px;flex-wrap:wrap;}
.fs-rw-dt-chip{background:rgba(159,216,203,.3);color:#0C5560;border-radius:9999px;padding:6px 12px;font-size: 12px;font-weight:700;}
.fs-rw-dt-div{height:1px;background:rgb(var(--c-line));}
.fs-rw-dt-agent{display:flex;align-items:center;gap:12px;color:rgb(var(--c-ink-950));text-decoration:none;}
.fs-rw-dt-ahead{width:44px;height:44px;border-radius:9999px;background:linear-gradient(135deg,#146C77,#0C2233);color:#FFFFFF;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;flex:none;}
.fs-rw-dt-btns{display:flex;gap:10px;}
.fs-rw-dt-book{flex:1;padding:14px;font-size:14.5px;}
.fs-rw-dt-mort{padding:14px 18px;font-size:14.5px;}
.fs-rw-dt-about{display:grid;grid-template-columns:2fr 1fr;gap:24px;align-items:start;}
.fs-rw-dt-para{font-size:15px;line-height:1.7;margin:0;}
.fs-rw-facts{padding:20px;display:flex;flex-direction:column;gap:10px;}
.fs-rw-fact{display:flex;justify-content:space-between;font-size:13.5px;border-bottom:1px solid rgb(var(--c-line));padding-bottom:8px;}
.fs-rw-fact:last-child{border-bottom:none;padding-bottom:0;}
.fs-rw-fact b{font-weight:700;}
.fs-rw-fact span{color:rgb(var(--c-ink-700));}
/* compact/similar cards */
.fs-rw-mini{padding:12px;display:flex;gap:12px;align-items:center;color:rgb(var(--c-ink-950));text-decoration:none;}
.fs-rw-mini-photo{width:84px;height:70px;border-radius:10px;background:linear-gradient(135deg,#146C77,#0C2233);flex:none;overflow:hidden;}
.fs-rw-mini-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.fs-rw-mini-t{display:flex;flex-direction:column;gap:2px;min-width:0;}
.fs-rw-mini-price{font-size:16px;}
.fs-rw-mini-title{font-weight:700;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.fs-rw-mini-meta{font-size:12px;color:rgb(var(--c-ink-700));}
/* lightbox */
.fs-rw-lightbox{position:fixed;inset:0;z-index:80;background:rgba(12,34,51,.92);display:flex;align-items:center;justify-content:center;}
.fs-rw-lightbox-img{max-width:86vw;max-height:82vh;border-radius:12px;background:linear-gradient(135deg,#146C77,#0C2233);width:900px;height:560px;}
.fs-rw-lightbox-btn{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:9999px;border:none;background:rgba(255,255,255,.15);color:#FFFFFF;font-size:20px;cursor:pointer;}
.fs-rw-lightbox-x{position:absolute;top:24px;right:24px;width:44px;height:44px;border-radius:9999px;border:none;background:rgba(255,255,255,.15);color:#FFFFFF;font-size:18px;cursor:pointer;}

/* ── favWaveMortgage ── */
.fs-rw-mort{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start;}
.fs-rw-mort-card{border-radius:18px;padding:28px;display:flex;flex-direction:column;gap:22px;}
.fs-rw-mort-lab{display:flex;justify-content:space-between;font-size:14px;font-weight:700;}
.fs-rw-mort-lab b{color:rgb(var(--c-brand-600));font-weight:700;}
.fs-rw-mort-range{width:100%;accent-color:rgb(var(--c-brand-600));}
.fs-rw-mort-note{font-size:12.5px;color:rgb(var(--c-ink-700));line-height:1.55;margin:0;}
.fs-rw-mort-res{background:linear-gradient(150deg,rgb(var(--c-brand-600)),#0C2233);border-radius:18px;padding:32px;display:flex;flex-direction:column;gap:18px;position:relative;overflow:hidden;color:#FFFFFF;}
.fs-rw-mort-eyebrow{font-size:12px;font-weight:700;letter-spacing:1.2px;color:#9FD8CB;text-transform:uppercase;}
.fs-rw-mort-big{font-size:52px;color:#FFFFFF;}
.fs-rw-mort-per{font-size:20px;font-weight:600;color:#BFE3DB;}
.fs-rw-mort-break{display:flex;gap:28px;flex-wrap:wrap;}
.fs-rw-mort-bl{font-size: 12px;font-weight:700;color:#9FD8CB;display:block;text-transform:uppercase;}
.fs-rw-mort-bv{font-size:17px;font-weight:700;color:#FFFFFF;}
.fs-rw-mort-cta{margin-top:8px;padding:15px 28px;font-size:15px;align-self:flex-start;}

/* ── favWaveStories ── */
.fs-rw-featured{display:flex;flex-direction:column;gap:12px;background:linear-gradient(150deg,rgb(var(--c-brand-600)),#0C2233);border-radius:20px;padding:44px 48px;position:relative;overflow:hidden;color:#FFFFFF;text-decoration:none;}
.fs-rw-featured-t{font-size:38px;color:#FFFFFF;max-width:560px;line-height:1.1;}
.fs-rw-featured-s{font-size:16px;color:#BFD2DA;max-width:520px;line-height:1.6;margin:0;}
.fs-rw-featured-m{font-size:13.5px;color:#9FD8CB;font-weight:700;}
.fs-rw-scard{overflow:hidden;color:rgb(var(--c-ink-950));text-decoration:none;display:flex;flex-direction:column;}
.fs-rw-scard-photo{height:150px;background:linear-gradient(135deg,#146C77,#0C2233);}
.fs-rw-scard-b{padding:18px 20px;display:flex;flex-direction:column;gap:6px;}
.fs-rw-scard-k{font-size: 12px;}
.fs-rw-scard-t{font-size:19px;line-height:1.2;}
.fs-rw-scard-x{font-size:13.5px;color:rgb(var(--c-ink-700));line-height:1.55;margin:0;}
.fs-rw-scard-r{font-size:12.5px;color:rgb(var(--c-brand-600));font-weight:700;margin-top:2px;}

/* ── favWaveBlog ── */
.fs-rw-chips{display:flex;gap:8px;flex-wrap:wrap;}
.fs-rw-bchip{position:relative;border:1px solid rgb(var(--c-line));background:rgb(var(--c-paper-soft,var(--c-paper)));color:rgb(var(--c-ink-950));border-radius:9999px;padding:9px 18px;font-size:13px;font-weight:700;cursor:pointer;}
.fs-rw-bchip::after{content:'';position:absolute;inset:-4px;}
.fs-rw-bchip-on{background:#0C2233;color:#FFFFFF;border-color:#0C2233;}
.fs-rw-bfeat{border-radius:20px;overflow:hidden;display:grid;grid-template-columns:1.05fr .95fr;color:rgb(var(--c-ink-950));text-decoration:none;}
.fs-rw-bfeat-photo{height:320px;background:linear-gradient(135deg,#146C77,#0C2233);}
.fs-rw-bfeat-b{padding:34px 38px;display:flex;flex-direction:column;gap:12px;justify-content:center;}
.fs-rw-bpill{align-self:flex-start;background:rgba(159,216,203,.3);color:#0C5560;border-radius:9999px;padding:6px 14px;font-size: 12px;font-weight:700;}
.fs-rw-bfeat-t{font-size:29px;line-height:1.15;}
.fs-rw-bx{font-size:14.5px;color:rgb(var(--c-ink-700));line-height:1.6;margin:0;}
.fs-rw-bmeta{font-size:13px;color:rgb(var(--c-ink-700));font-weight:600;}
.fs-rw-bread{font-size:14px;color:rgb(var(--c-brand-600));font-weight:700;}
.fs-rw-bgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;}
.fs-rw-bcard{padding:24px 26px;display:flex;flex-direction:column;gap:9px;color:rgb(var(--c-ink-950));text-decoration:none;}
.fs-rw-bcard-top{display:flex;justify-content:space-between;align-items:center;gap:12px;}
.fs-rw-bcard-t{font-size:20px;line-height:1.2;}

/* ── favWaveArticle ── */
.fs-rw-art{max-width:min(760px, var(--fs-layout-clamp, 760px));margin:0 auto;padding:56px 40px 24px;display:flex;flex-direction:column;gap:22px;}
.fs-rw-art-band-in{max-width:min(760px, var(--fs-layout-clamp, 760px));margin:0 auto;display:flex;flex-direction:column;gap:16px;position:relative;}
.fs-rw-art-title{font-size:48px;line-height:1.08;color:#FFFFFF;}
.fs-rw-art-by{font-size:14px;color:#BFD2DA;}
.fs-rw-art-p{font-size:17px;line-height:1.75;margin:0;}
.fs-rw-art-photo{height:340px;border-radius:16px;background:linear-gradient(135deg,#146C77,#0C2233);overflow:hidden;}
.fs-rw-art-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.fs-rw-pull{display:flex;flex-direction:column;gap:10px;padding:8px 0;}
.fs-rw-pull-q{font-size:26px;line-height:1.3;}
.fs-rw-art-rel{max-width:min(760px, var(--fs-layout-clamp, 760px));margin:0 auto;padding:24px 40px 72px;display:flex;flex-direction:column;gap:16px;width:100%;}
.fs-rw-rel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;}

/* ── favWaveProfile ── */
.fs-rw-prof-row{display:flex;gap:28px;align-items:center;flex-wrap:wrap;}
.fs-rw-prof-photo{width:130px;height:130px;border-radius:9999px;background:linear-gradient(135deg,#146C77,#9FD8CB);flex:none;overflow:hidden;}
.fs-rw-prof-name{font-size:40px;color:#FFFFFF;}
.fs-rw-prof-cred{font-size:15px;font-weight:600;color:#9FD8CB;}
.fs-rw-prof-ctas{display:flex;gap:10px;flex-wrap:wrap;}
.fs-rw-prof-call{background:#9FD8CB;color:#0C2233;padding:11px 24px;font-size:13.5px;}
.fs-rw-prof-ghost{background:transparent;color:#FFFFFF;border:1.5px solid rgba(159,216,203,.5);padding:11px 24px;font-size:13.5px;}
.fs-rw-prof-chips{display:flex;gap:14px;margin-left:auto;}
.fs-rw-prof-chip{background:rgba(159,216,203,.1);border:1px solid rgba(159,216,203,.3);border-radius:14px;padding:16px 22px;text-align:center;}
.fs-rw-prof-chip-v{font-family:var(--font-display,'Bricolage Grotesque',sans-serif);font-weight:800;font-size:26px;color:#FFFFFF;display:block;}
.fs-rw-prof-chip-l{font-size: 12px;font-weight:700;color:#9FD8CB;text-transform:uppercase;}
.fs-rw-prof-bio{max-width:var(--fs-layout-max,1180px);margin:0 auto;padding:56px 40px;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:start;width:100%;}
.fs-rw-prof-bio-t{display:flex;flex-direction:column;gap:12px;}
.fs-rw-h3{font-size:26px;}
.fs-rw-prof-p{font-size:15px;line-height:1.7;margin:0;}
.fs-rw-prof-list{max-width:var(--fs-layout-max,1180px);margin:0 auto;padding:0 40px 72px;display:flex;flex-direction:column;gap:16px;width:100%;}

/* ── favWaveOffices ── */
.fs-rw-offices{display:flex;flex-direction:column;gap:14px;}
.fs-rw-office{border-radius:14px;padding:18px 20px;display:flex;flex-direction:column;gap:4px;}
.fs-rw-office-n{font-weight:700;font-size:15px;}
.fs-rw-office-a{font-size:13.5px;color:rgb(var(--c-ink-700));line-height:1.5;}
.fs-rw-office-p{font-size:13.5px;font-weight:700;color:rgb(var(--c-brand-600));text-decoration:none;}
.fs-rw-contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:start;}

/* ── favWaveFooter ── */
.fs-rw-ft{background:rgb(var(--c-paper-soft,var(--c-paper)));border-top:1px solid rgb(var(--c-line));padding:56px 40px 32px;}
.fs-rw-ft-grid{max-width:var(--fs-layout-max,1180px);margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;}
.fs-rw-ft-col{display:flex;flex-direction:column;gap:10px;}
.fs-rw-ft-brand{display:flex;align-items:center;gap:10px;}
.fs-rw-ft-mark{width:30px;height:30px;flex:none;}
.fs-rw-ft-name{font-family:var(--font-display,'Bricolage Grotesque',sans-serif);font-weight:800;font-size:19px;letter-spacing:-.3px;}
.fs-rw-ft-name b{color:rgb(var(--c-brand-600));font-weight:800;}
.fs-rw-ft-blurb{font-size:14px;color:rgb(var(--c-ink-700));line-height:1.6;max-width:280px;}
.fs-rw-ft-h{font-weight:700;margin-bottom:4px;font-size:15px;}
.fs-rw-ft-link{font-size:14.5px;color:rgb(var(--c-brand-600));text-decoration:none;}
.fs-rw-ft-link:hover{color:rgb(var(--c-brand-700));text-decoration:underline;}
.fs-rw-ft-office{font-size:14.5px;color:rgb(var(--c-ink-700));line-height:1.6;}
.fs-rw-ft-bar{max-width:var(--fs-layout-max,1180px);margin:20px auto 0;border-top:1px solid rgb(var(--c-line));padding-top:20px;font-size:13px;color:rgb(var(--c-ink-700));display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}
.fs-rw-ft-legal{display:flex;align-items:center;}
.fs-rw-ft-legal-link{font:inherit;color:inherit;text-decoration:none;}
.fs-rw-ft-legal-link:hover{color:rgb(var(--c-brand-600));}
.fs-rw-ft-legal-link + .fs-rw-ft-legal-link{position:relative;padding-left:.75rem;}
.fs-rw-ft-legal-link + .fs-rw-ft-legal-link::before{content:'\00b7';position:absolute;left:.25rem;}

/* ── SPLIT SECTIONS UNDER A NARROW MEASURE ──────────────────────
   The two-column sections cannot use auto-fit: their whole point is an
   asymmetric ratio (1.1fr .9fr — image and copy, not equal cards), and
   auto-fit would flatten that to equal tracks the moment it acted.

   So where each one STACKS is stated, per layout, on purpose. The
   RealtyWave layout set puts the cliff between Boxed (928px) and
   Centered (832px): at 928 a 1.1/.9 split still gives the narrow half
   ~400px, which a search card or a photo can live in; at 832 minus a
   40px gutter it gives ~340px, which is where the hero's search card
   starts wrapping its own fields.

   Not a media query, because the viewport has not changed — the
   MEASURE has. Not auto-fit, because this is a composition decision
   rather than a fitting one. And not a magic breakpoint applied to all
   44 themes, because where a split gives up is a property of what is
   inside it: the theme says, the platform does not guess. */
[data-fs-layout="centered"] .fs-rw-hero-in,
[data-fs-layout="minimal"]  .fs-rw-hero-in,
[data-fs-layout="centered"] .fs-rw-why,
[data-fs-layout="minimal"]  .fs-rw-why,
[data-fs-layout="centered"] .fs-rw-mort,
[data-fs-layout="minimal"]  .fs-rw-mort,
[data-fs-layout="centered"] .fs-rw-dt-about,
[data-fs-layout="minimal"]  .fs-rw-dt-about,
[data-fs-layout="centered"] .fs-rw-contact-grid,
[data-fs-layout="minimal"]  .fs-rw-contact-grid,
[data-fs-layout="centered"] .fs-rw-prof-bio,
[data-fs-layout="minimal"]  .fs-rw-prof-bio,
[data-fs-layout="centered"] .fs-rw-bfeat,
[data-fs-layout="minimal"]  .fs-rw-bfeat{
  grid-template-columns:1fr;
}
/* The hero's two halves stacked need less air between them than they
   did side by side, and the photo has to stop being 460px tall when it
   is no longer beside anything. */
[data-fs-layout="centered"] .fs-rw-hero-in,
[data-fs-layout="minimal"]  .fs-rw-hero-in{ gap:28px; }
[data-fs-layout="centered"] .fs-rw-hero-photo,
[data-fs-layout="minimal"]  .fs-rw-hero-photo{ height:280px; }
[data-fs-layout="centered"] .fs-rw-why-photo,
[data-fs-layout="minimal"]  .fs-rw-why-photo{ height:260px; }
[data-fs-layout="centered"] .fs-rw-why,
[data-fs-layout="minimal"]  .fs-rw-why{ gap:28px; }

/* The property-detail summary column stops being a sidebar. Sticky is
   dropped WITH it: a sticky element in a stacked single column follows
   you down a page it is no longer beside, which reads as a bug. The
   700px mobile block already does exactly this, for the same reason. */
[data-fs-layout="centered"] .fs-rw-dt-grid,
[data-fs-layout="minimal"]  .fs-rw-dt-grid{ grid-template-columns:1fr; }
[data-fs-layout="centered"] .fs-rw-dt-card,
[data-fs-layout="minimal"]  .fs-rw-dt-card{ position:static; }

/* The footer's four columns are the one grid where a narrow measure
   should reflow rather than stack — four link lists in one column is a
   long scroll to nothing. */
[data-fs-layout="centered"] .fs-rw-ft-grid,
[data-fs-layout="minimal"]  .fs-rw-ft-grid{
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:28px;
}

/* Centred mode centres every h1/h2/h3 in a section (site-layouts.ts,
   a documented and accepted cost). A section header built as "title
   left, link right" comes apart under that, so it recomposes: the
   cluster stacks and centres, and the link sits under it rather than
   floating off one side of a centred title. */
[data-fs-layout="centered"] .fs-rw-sechead{
  flex-direction:column;
  align-items:center;
  text-align:center;
}
[data-fs-layout="centered"] .fs-rw-sechead-t{ align-items:center; }

/* ...and the HERO has to finish the job the platform started. This is
   the generalisable finding of the whole layout pass, and it will be
   true of all 44 themes: site-layouts.ts centres h1/h2/h3 and nothing
   else, because those are the only elements it can name without
   knowing a theme's markup. So a hero comes out with its HEADLINE
   centred over a left-aligned pill, sub-heading, search card and stat
   row — half-centred, which reads worse than either whole.
   The platform cannot fix this generically; only the theme knows which
   of its own elements form the cluster. So the theme says. */
/* text-align only — NOT justify-items:center. That centres grid ITEMS
   by shrinking them to their content, and the hero photo is an empty
   div whose content is nothing, so it collapsed to zero width and the
   hero lost its image entirely. Caught on screen; it would have passed
   every measurement in the gate, because a 0px element is not an
   overflow and not a wrong colour. */
[data-fs-layout="centered"] .fs-rw-hero-in{ text-align:center; }
[data-fs-layout="centered"] .fs-rw-hero-l{ align-items:center; }
[data-fs-layout="centered"] .fs-rw-hero-pill{ align-self:center; }
[data-fs-layout="centered"] .fs-rw-hero-sub{ margin-left:auto; margin-right:auto; }
[data-fs-layout="centered"] .fs-rw-hero-stats{ justify-content:center; }
/* The search card keeps its own internal alignment — a centred form is
   harder to fill in, and this is a control rather than a message. */
[data-fs-layout="centered"] .fs-rw-search{ text-align:left; width:100%; }

/* Same completion for the two other centred clusters. */
[data-fs-layout="centered"] .fs-rw-why-r{ align-items:center; text-align:center; }
[data-fs-layout="centered"] .fs-rw-prop{ text-align:left; }
[data-fs-layout="centered"] .fs-rw-agents-detail .fs-rw-astats{ justify-content:center; }
[data-fs-layout="centered"] .fs-rw-cta{
  flex-direction:column;
  align-items:center;
  text-align:center;
}

/* The hero SEARCH ROW, found by audit-layouts.mjs and not by me.
   Four tracks (1.2fr 1fr 1fr auto) inside the hero's narrow half. At
   Boxed the hero is still two columns and that half is ~400px, so the
   selects came out at 96px — a dropdown too narrow to show "All of
   Cyprus", which is its own default value.

   This corrects a call I made in the RealtyWave layout set, where I
   wrote that 928px "still gives the narrow half ~400px, which a search
   card or a photo can live in". A photo can. A four-field search row
   cannot, and the audit measured it rather than agreeing with me.

   Two-up rather than stacked: four controls in two rows reads as one
   compact form, where four full-width rows reads as a long one. The
   hero itself still splits at Boxed — only this control reflows. */
[data-fs-layout="boxed"] .fs-rw-search-row{
  grid-template-columns:1fr 1fr;
}

/* ── NARROW MEASURES GET A DIFFERENT CARD, NOT A SMALLER ONE ────
   The layout pass made the theme SURVIVE all six. This is the part
   that makes two of them read properly, and it is a composition
   change rather than a width one.

   The defect, measured: the home page carries THREE listings, and a
   two-column grid leaves the third alone beside a hole. Five location
   tiles across three columns leave two more. Orphans are not a
   narrow-layout problem in general — they are what happens when an odd
   count meets an even grid, and every count on this page is odd.

   So at the two narrowest measures the listing card stops being a
   TILE and becomes a ROW: photo left, details right, one per line.
   That is the canonical property-search result, it reads better at
   736px than any tile does, the photo actually gets larger rather than
   smaller, and a single column cannot orphan anything.

   The location tiles switch from grid to flex-wrap with grow, so the
   last row fills the width instead of leaving empty cells. Same fix,
   simpler shape: they are small enough to stay tiles. */
[data-fs-layout="centered"] .fs-rw-grid3,
[data-fs-layout="minimal"]  .fs-rw-grid3{
  grid-template-columns:1fr;
  gap:16px;
}
[data-fs-layout="centered"] .fs-rw-lcard,
[data-fs-layout="minimal"]  .fs-rw-lcard{
  flex-direction:row;
  align-items:stretch;
  text-align:left;
}
[data-fs-layout="centered"] .fs-rw-lphoto,
[data-fs-layout="minimal"]  .fs-rw-lphoto{
  flex:0 0 38%;
  height:auto;
  min-height:172px;
}
[data-fs-layout="centered"] .fs-rw-lbody,
[data-fs-layout="minimal"]  .fs-rw-lbody{
  flex:1 1 auto;
  justify-content:center;
  padding:20px 22px;
}
/* The row is wide enough for the spec strip to sit on one line with the
   price, which a 318px tile never was. */
[data-fs-layout="centered"] .fs-rw-lspecs,
[data-fs-layout="minimal"]  .fs-rw-lspecs{
  margin-top:10px;
}

/* Locations: flex-wrap with grow, so a five-tile row of three fills its
   second line instead of leaving two empty cells. */
[data-fs-layout="centered"] .fs-rw-loc5,
[data-fs-layout="minimal"]  .fs-rw-loc5{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}
[data-fs-layout="centered"] .fs-rw-loc5 > *,
[data-fs-layout="minimal"]  .fs-rw-loc5 > *{
  flex:1 1 180px;
}

/* Minimalist drops the section link entirely rather than centring it.
   The layout's whole thesis is one quiet sheet; a "View all 1,240 →"
   floating under a centred heading is the loudest thing on the page,
   and the cards beneath it already go to the same place. */
[data-fs-layout="minimal"] .fs-rw-seclink{ display:none; }

/* ── MOBILE (390 canvas measured; breakpoint chosen at 700px) ── */
@media (max-width:700px){
  .fs-rw-hero{padding:40px 20px 52px;}
  .fs-rw-hero-in{grid-template-columns:1fr;gap:20px;}
  .fs-rw-hero-pill,.fs-rw-hero-stats{display:none;}
  .fs-rw-hero-sub{font-size:15.5px;}
  .fs-rw-search{border-radius:16px;padding:16px;gap:10px;}
  .fs-rw-tab{flex:1;height:44px;}
  .fs-rw-search-row{grid-template-columns:1fr;}
  .fs-rw-hero-photo{height:200px;border-radius:16px;}
  .fs-rw-sec{padding:40px 16px;gap:18px;}
  .fs-rw-h2{font-size:26px;}
  .fs-rw-h1{font-size:30px;}
  .fs-rw-grid3,.fs-rw-bgrid,.fs-rw-rel-grid,.fs-rw-steps{grid-template-columns:1fr;}
  .fs-rw-loc5{display:flex;overflow-x:auto;gap:10px;padding-bottom:6px;}
  .fs-rw-loc5 .fs-rw-loctile{flex:none;width:150px;height:120px;padding:16px 14px;}
  .fs-rw-locbig{grid-template-columns:1fr;}
  .fs-rw-locbig .fs-rw-loctile,.fs-rw-locbig .fs-rw-loctile:first-child,.fs-rw-locbig .fs-rw-loctile:nth-child(2){grid-column:auto;height:140px;border-radius:16px;padding:20px;}
  .fs-rw-why{grid-template-columns:1fr;padding:40px 16px;gap:16px;}
  .fs-rw-why-photo{height:210px;border-radius:16px;}
  .fs-rw-agents4{grid-template-columns:1fr;}
  .fs-rw-cta-wrap{padding:0 16px 44px;}
  .fs-rw-cta{border-radius:18px;padding:28px 24px;flex-direction:column;align-items:flex-start;}
  .fs-rw-cta-h{font-size:24px;}
  .fs-rw-cta-btn{width:100%;}
  .fs-rw-hd{padding:28px 16px 0;}
  .fs-rw-bband{padding:40px 20px;}
  .fs-rw-dt{padding:20px 16px 44px;}
  .fs-rw-dt-grid,.fs-rw-dt-about,.fs-rw-mort,.fs-rw-prof-bio,.fs-rw-contact-grid{grid-template-columns:1fr;}
  .fs-rw-dt-main{height:240px;}
  .fs-rw-dt-card{position:static;}
  .fs-rw-bfeat{grid-template-columns:1fr;}
  .fs-rw-bfeat-photo{height:163px;}
  .fs-rw-bfeat-b{padding:18px 20px;gap:7px;}
  .fs-rw-featured{border-radius:18px;padding:26px 24px;gap:8px;}
  .fs-rw-featured-t{font-size:26px;}
  .fs-rw-mort-big{font-size:40px;}
  .fs-rw-art{padding:32px 20px 24px;gap:18px;}
  .fs-rw-art-p{font-size:16px;}
  .fs-rw-art-photo{height:200px;border-radius:14px;}
  .fs-rw-art-title{font-size:30px;}
  .fs-rw-art-rel{padding:12px 20px 44px;}
  .fs-rw-prof-photo{width:88px;height:88px;}
  .fs-rw-prof-name{font-size:26px;}
  .fs-rw-prof-chips{margin-left:0;width:100%;}
  .fs-rw-prof-chip{flex:1;padding:12px 6px;border-radius:12px;}
  .fs-rw-prof-chip-v{font-size:20px;}
  .fs-rw-ft{padding:36px 20px 28px;}
  .fs-rw-ft-grid{grid-template-columns:1fr 1fr;gap:20px;}
  .fs-rw-map-island{display:none;}
  .fs-rw-lightbox-img{width:92vw;height:52vw;}
}

/* HEADER CTA — pixel-verified against the static-site export's own nav
   ("List your property"): 14px text, 11px/20px padding. The platform's
   shared .fs-hdr-cta (menu-styles.ts) reads --fs-type-body, which
   resolves to 1rem/16px for this theme — a sane DEFAULT for a theme
   that doesn't care, wrong for one whose own design draws this button
   smaller than its body text on purpose. Same bug, same fix HomeSphere
   already carries in sphere-styles.ts: a theme-scoped override, not a
   hand-rolled per-surface copy — every surface still reads the ONE
   shared .fs-hdr-cta rule, this just refines it for the one theme whose
   source disagrees with the platform default. Three selector parts
   (attr+class+class) so this reliably outranks the two-part base rule.

   The base rule's 44px min-height is a real accessibility floor and is
   NOT simply dropped: the ::after pseudo-element below extends the tap
   target by 4px on every side (to ~48px) without touching the visible
   pill's size — SPEC §9's own prescribed fix ("expand the target past
   the paint … not inflate the artwork"). */
[data-fs-theme='realtywave'] .fs-hdr-row .fs-hdr-cta{
  font-size:14px;
  padding:11px 20px;
  min-height:0;
  position:relative;
}
[data-fs-theme='realtywave'] .fs-hdr-row .fs-hdr-cta::after{
  content:'';
  position:absolute;
  inset:-4px;
}

/* ── M1 "Column Directory" — the theme's mega panel ────────────────
   Every value here is measured off the RealtyWave menu kit, not
   invented. What the shared 'columns' base style already gets right —
   the ruled band, the vertical hairlines, the 22px gutters — is not
   restated: rewriting it would pin this theme to today's values and
   cost it tomorrow's fixes.

   Scoped to this theme, never edited into dropdown-styles.ts, because
   those classes are shared by all 44 themes.  */

/* The design's panel is a BAND under a full-bleed header, so it takes
   the header's own 1180 rather than the wide class's 900. !important
   because dropdownLook sets width inline, and an inline value beats
   every selector. */
/* ── THE OTHER FOUR MEGA STYLES, IN THIS THEME'S LANGUAGE ───────
   The kit drew five menus and the platform already has a style for
   each: Column Directory -> columns (above), Feature Spotlight ->
   feature, Tile Grid -> showcase, Split Preview -> tabbed, Full-Bleed
   Canvas -> promo. So a customer switching between them is changing a
   SETTING, not choosing between five builds.

   WHAT THIS IS AND IS NOT, because the distinction matters. These are
   the five platform layouts wearing RealtyWave's clothes, rendering
   THIS theme's declared content. They are not pixel copies of the kit's
   five specimens, because those specimens are five different MENUS, not
   five skins of one: M1 lists places, M2 sells one house with a price,
   M5 shows four numbers about the agency. Same-content-different-layout
   is what the engine can do today; different-content-per-style would
   need megaMenus keyed by style as well as by page, which is a data
   model change and a decision rather than a detail.

   Everything below is therefore about making this theme's OWN content
   read well in each shape. */

/* FEATURE — the kit's Spotlight. Its own card slot is the point, so the
   content cell gets the room and the columns tighten. */
[data-fs-theme='realtywave'] .fsdrop-panel-feature{
  border-radius:16px;
}
[data-fs-theme='realtywave'] .fsdrop-panel-feature .fsdrop-mega-content{
  gap:0 22px;
}
[data-fs-theme='realtywave'] .fsdrop-panel-feature .fsdrop-mega-pagecard{
  border:1px solid rgb(var(--c-line-soft));
  border-radius:14px;
  overflow:hidden;
  background:rgb(var(--c-paper));
}
/* A SPOTLIGHT card pads itself and spaces its own parts, because the kit
   draws it that way: 24px inside the card, 13px between the well, the
   price, the sentence and the link. The plain card keeps the old
   geometry (no padding here, 12/14 on the body), so :has() is what
   separates them — the spotlight fields are exactly what makes it one. */
[data-fs-theme='realtywave'] .fsdrop-panel-feature .fsdrop-mega-pagecard:has(.fsdrop-featured-figure){
  padding:24px;
  gap:13px;
}
[data-fs-theme='realtywave'] .fsdrop-panel-feature .fsdrop-mega-pagecard:has(.fsdrop-featured-figure) .fsdrop-featured-body{
  padding:0;
  background:none;
  display:flex;
  flex-direction:column;
  gap:13px;
}
[data-fs-theme='realtywave'] .fsdrop-panel-feature .fsdrop-featured-image{
  height:132px;
  background:linear-gradient(165deg, rgb(var(--c-brand-600)), #0C2233);
}
/* The kit's photo well is 150px, not the 132px the plain card uses — a
   spotlight leads with its picture. Scoped the same way. */
[data-fs-theme='realtywave'] .fsdrop-panel-feature .fsdrop-mega-pagecard:has(.fsdrop-featured-figure) .fsdrop-featured-image{
  height:150px;
  border-radius:14px;
}
[data-fs-theme='realtywave'] .fsdrop-panel-feature .fsdrop-featured-badge{
  background:rgb(var(--c-accent));
  color:#FFFFFF;
  border-radius:9999px;
  padding:5px 10px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
[data-fs-theme='realtywave'] .fsdrop-panel-feature .fsdrop-featured-title{
  font-family:var(--font-display);
  font-weight:800;
  font-size:17px;
  letter-spacing:-.4px;
}
[data-fs-theme='realtywave'] .fsdrop-panel-feature .fsdrop-featured-cta{
  color:rgb(var(--c-brand-600));
  font-weight:700;
  font-size:13px;
}
/* The kit sets its link arrow a size larger than the plain card's CTA. */
[data-fs-theme='realtywave'] .fsdrop-panel-feature .fsdrop-mega-pagecard:has(.fsdrop-featured-figure) .fsdrop-featured-cta{
  font-size:14px;
  line-height:1.55;
}

/* SHOWCASE — the kit's Tile Grid. The platform already draws each child
   page as a tinted plate; RealtyWave's tiles are its location cards, so
   they take the same 14px radius and the navy-to-brand wash the real
   .fs-rw-loctile uses rather than the generic brand tint. */
[data-fs-theme='realtywave'] .fsdrop-panel-showcase{
  border-radius:16px;
}
[data-fs-theme='realtywave'] .fsdrop-link-showcase::before{
  border-radius:14px;
  background:linear-gradient(160deg, rgb(var(--c-brand-600)), #0C2233);
}
[data-fs-theme='realtywave'] .fsdrop-link-showcase{
  font-size:14.5px;
  font-weight:700;
}

/* TABBED — the kit's Split Preview. A region rail beside content that
   swaps. The rail is the theme's own sand, the active tab lifts onto
   paper, and the brand keyline marks it rather than a fill. */
[data-fs-theme='realtywave'] .fsdrop-panel-tabbed{
  border-radius:16px;
}
[data-fs-theme='realtywave'] .fsdrop-tab-rail{
  background:rgb(var(--c-paper));
  border-right:1px solid rgb(var(--c-line-soft));
  padding:14px;
}
[data-fs-theme='realtywave'] .fsdrop-link-tabbed{
  border-radius:10px;
  padding:10px 12px;
  font-size:14px;
  font-weight:600;
}
[data-fs-theme='realtywave'] .fsdrop-link-tabbed[data-tab-active='1']{
  background:rgb(var(--c-paper-soft));
  color:rgb(var(--c-brand-600));
  box-shadow:0 1px 2px rgb(var(--c-ink-950) / .06);
}
[data-fs-theme='realtywave'] .fsdrop-tab-panel{
  padding:20px 22px;
}

/* PROMO — the kit's Full-Bleed Canvas, and the one variant that
   inverts. The platform already floods the content cell with a brand
   gradient; RealtyWave's own canvas is the FIXED navy chrome rather
   than the palette brand, because that navy is a brand constant this
   theme deliberately does not repaint (see the file header). */
[data-fs-theme='realtywave'] .fsdrop-panel-promo{
  border-radius:16px;
}
[data-fs-theme='realtywave'] .fsdrop-panel-promo .fsdrop-mega-content{
  background:linear-gradient(155deg,#0B1D28 0%,#122836 55%,#16414A 100%);
  padding:24px 26px;
}
[data-fs-theme='realtywave'] .fsdrop-panel-promo .fsdrop-mega-linklist-heading{
  color:#9FD8CB;
}
[data-fs-theme='realtywave'] .fsdrop-panel-promo .fsdrop-mega-linklist-link{
  color:#FFFFFF;
}
[data-fs-theme='realtywave'] .fsdrop-panel-promo .fsdrop-mega-linklist-count{
  color:#9FB6B8;
}
[data-fs-theme='realtywave'] .fsdrop-panel-promo .fsdrop-mega-linklist-link:hover{
  background:rgb(255 255 255 / .08);
  color:#9FD8CB;
}

/* ANCHORING. A mega panel is absolutely positioned inside the nav ITEM
   that opened it, so left:50% centres it on the TRIGGER. Listings sits
   near the left of the header, so a wide band anchored that way hung
   off the left edge with 'South coast' cut in two.

   megaWidth:'full' does not fix it, and finding out why is worth
   recording: .fsdrop-w-full corrects with margin-left: calc(50vw -
   50%), but a percentage margin resolves against the CONTAINING
   BLOCK's width — the 69px trigger — not the panel's. The correction
   therefore only lands when the trigger is already at viewport x=0.
   Measured here: a 1440px band at left:281px, which is exactly the
   trigger's own offset. That is a platform bug, not a theme one, and
   fixing it properly means changing what a full-width mega anchors to
   for all 44 themes.

   So this theme anchors to the HEADER ROW instead — which is the true
   containing block for a band under a full-bleed header, needs no
   arithmetic, and is exactly the kit's own geometry. :has() keeps it to
   the ONE panel that carries authored blocks: every other item in this
   header (Sell with us, Agents, Blog, About) opens the same 'columns'
   style and must stay a normal drop-down under its own trigger. */
[data-fs-theme='realtywave'] .fs-hdr-row{
  position:relative;
}
[data-fs-theme='realtywave'] .fs-hdr-group:has(.fsdrop-mega-content){
  position:static;
}
[data-fs-theme='realtywave'] .fsdrop-panel-columns:has(.fsdrop-mega-content){
  left:0 !important;
  right:0 !important;
  width:auto !important;
  /* Opts OUT of the site-layout clamp, deliberately and on the owner's
     call (2026-08-27): this band reads better full-bleed in every
     layout, including the narrow ones.
     The reasoning that put the clamp there was sound for a panel that
     is CONTENT — a 1425px menu over a 736px page is absurd. It is the
     premise that was wrong: this menu is CHROME, hanging off a header
     that is itself edge to edge, and a header does not narrow when the
     measure does. The page looking wrong under a narrow layout is a
     page-design problem, not something the menu should compensate for
     by shrinking. The clamp stays in site-layouts.ts as the platform
     default for stretched panels; this is the one theme that declines
     it, and says so.
     Auto margins are kept so the opt-out is one property to delete if
     that call is ever reversed. */
  max-width:none !important;
  margin-inline:auto !important;
  transform:none !important;
  /* Rounded where it can be seen. Full-bleed, only the bottom corners
     are ever off an edge; under a narrowing layout the panel pulls in
     and all four read. The kit's frame radius is 20px and the panel
     sits at its foot, so the bottom pair carry it. */
  border-radius:0 0 20px 20px !important;
  overflow:hidden;
  border-left:0 !important;
  border-right:0 !important;
  background:rgb(var(--c-paper-soft)) !important;
  border-top:1px solid rgb(var(--c-line-soft)) !important;
  padding:0 !important;
  /* FLUSH to the header. The platform hangs a mega panel 8px below its
     trigger and bridges the gap with .fs-hdr-drop::before so the
     pointer does not lose hover crossing it. On a full-bleed band that
     8px is a stripe of page showing between the nav and the panel,
     where the kit draws one continuous surface. Zeroing it also
     retires the problem the bridge existed to solve. */
  margin-top:0 !important;
}
/* The BAND is the theme's panel, not one style's panel. M1 and M2 are
   drawn as the same continuous surface in the kit — same flush top,
   same full-bleed, same bottom radius — and only their CONTENTS differ.
   Keeping the geometry in one rule is what stops the two drifting: the
   feature panel was still the platform's 640px floating card hung 8px
   below the header, which is a different object entirely. */
[data-fs-theme='realtywave'] .fsdrop-panel-feature:has(.fsdrop-mega-content){
  left:0 !important;
  right:0 !important;
  width:auto !important;
  max-width:none !important;
  margin-inline:auto !important;
  transform:none !important;
  border-radius:0 0 20px 20px !important;
  overflow:hidden;
  border-left:0 !important;
  border-right:0 !important;
  background:rgb(var(--c-paper-soft)) !important;
  border-top:1px solid rgb(var(--c-line-soft)) !important;
  margin-top:0 !important;
}
/* Four authored columns, then the foot strip's own cell. The base sets
   tracks inline from the theme's column count, so this needs !important
   too. COLUMNS ONLY — the feature panel lays out two link columns beside
   a card and sets its own tracks below. */
/* Four tracks for the GENERIC-BLOCK directory only. A composite is one
   thing and takes the whole panel; leaving this unqualified gave the
   composite one track of four. */
[data-fs-theme='realtywave'] .fsdrop-panel-columns:has(.fsdrop-mega-content):not(:has(.fsdrop-mega-composite)){
  padding:0 !important;
  grid-template-columns:repeat(4, 1fr) !important;
  gap:0 !important;
}
/* A composite panel: full bleed, no padding of the platform's own.
   Same band geometry, one track. */
[data-fs-theme='realtywave'] .fsdrop-panel-columns:has(.fsdrop-mega-composite){
  padding:0 !important;
  gap:0 !important;
}
/* The child-page column is HIDDEN on this theme: all four columns are
   authored, and the rows that map to a real page carry a pageType, so
   nothing becomes unreachable. Without this the panel opens with a
   column of raw sub-page links in front of the directory. */
[data-fs-theme='realtywave'] .fsdrop-panel-columns > .fsdrop-mega-col{
  display:none;
}
/* The content cell spans the whole band and lays its own blocks out as
   the four columns plus a full-width foot row. */
/* :not(:has()) because those four tracks are for the GENERIC-BLOCK
   directory, not for a composite -- which is ONE thing and takes the
   whole row. At (0,3,0) with !important this was beating the platform's
   composite rule and squeezing all four columns into the left 638px of a
   1425px panel, which is what 'too narrow and broken' looked like. */
[data-fs-theme='realtywave'] .fsdrop-panel-columns > .fsdrop-mega-content:not(:has(.fsdrop-mega-composite)){
  grid-column:1 / -1 !important;
  grid-template-columns:repeat(4, 1fr) !important;
  border-right:0;
  padding:0;
  gap:0;
}
[data-fs-theme='realtywave'] .fsdrop-panel-columns .fsdrop-mega-content-col{
  padding:26px 24px;
  border-right:1px solid rgb(var(--c-line-soft));
}
[data-fs-theme='realtywave'] .fsdrop-panel-columns .fsdrop-mega-content-col:nth-child(4){
  border-right:0;
}

/* The columns themselves. The base linkList is close; these are the
   kit's own numbers — 14.5px rows at 8px/10px, a 9px hover radius, and
   the coral eyebrow that is RealtyWave's accent rather than its brand. */
[data-fs-theme='realtywave'] .fsdrop-mega-linklist-heading{
  font-size:12px;
  letter-spacing:.16em;
  color:rgb(var(--c-accent, var(--c-brand-600)));
  margin:0 0 14px;
}
[data-fs-theme='realtywave'] .fsdrop-mega-linklist-link{
  font-size:14.5px;
  /* 1.55, not the base style's 1.35. The platform default is a compact
     menu row and this design is a directory you read down — measured
     22.475px in the kit against 19.575px ported, which is 2.9px per row
     and 12px of drift down a four-row column. The count inherits it,
     so both come right together. verify-menu.mjs found this; nobody
     was ever going to catch it by eye. */
  line-height:1.55;
  padding:8px 10px;
  margin:0 -10px;
  border-radius:9px;
}
[data-fs-theme='realtywave'] .fsdrop-mega-linklist-link:hover,
[data-fs-theme='realtywave'] .fsdrop-mega-linklist-link:focus-visible{
  background:rgb(var(--c-paper));
}

/* The foot strip. The fifth content column, spanning the band on its
   own row — the same "wrap to a full-width row" the panel grid gives
   any cell past the fourth, made deliberate. */
[data-fs-theme='realtywave'] .fsdrop-panel-columns .fsdrop-mega-content-col:nth-child(5){
  grid-column:1 / -1;
  border-right:0;
  border-top:1px solid rgb(var(--c-line-soft));
  background:rgb(var(--c-paper));
  padding:16px 24px;
  display:flex;
  /* flex-direction, explicitly: the base content column is a COLUMN
     flex, so inheriting it stacked the status line above the link and
     centred both. The strip is one row — text left, link right. */
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}
[data-fs-theme='realtywave'] .fsdrop-panel-columns .fsdrop-mega-content-col:nth-child(5) .fsdrop-mega-text-body{
  font-size:13.5px;
  font-weight:400;
  line-height:1.5;
  color:rgb(var(--c-ink-400, var(--c-ink-700)));
  margin:0;
}
/* The foot link is a LINK, not a button. The base .fsdrop-mega-button
   is a filled brand pill and carries a darker fill on hover; stripping
   the resting fill without stripping the hover left it painting a
   brand-700 block behind the words the moment the pointer touched
   them. Both states, or neither. */
[data-fs-theme='realtywave'] .fsdrop-mega-button,
[data-fs-theme='realtywave'] .fsdrop-mega-button:hover,
[data-fs-theme='realtywave'] .fsdrop-mega-button:focus-visible{
  background:none;
  border:0;
  padding:0;
  font-size:14px;
  font-weight:700;
  color:rgb(var(--fs-menu-color, var(--c-brand-600)));
}
[data-fs-theme='realtywave'] .fsdrop-mega-button:hover{
  text-decoration:underline;
  text-underline-offset:4px;
  text-decoration-thickness:1.5px;
}

/* THE TRIGGER, and the one structural difference between the kit and
   the platform. The kit writes the caret INSIDE the trigger —
   <button class="navlink">Locations <span class="caret">-</span></button>
   — so the pill wraps both and they sit 6px apart. The platform makes
   the caret a SIBLING button after the link, which is the right call
   for a tap target but means the link's own 13px padding pushes the
   caret 15px away and the pill stops before it. Both were visible the
   moment waveNav gained a pill.

   So the pill moves up one level, onto the group, and the link inside
   it goes padding-free. Plain items with no children keep theirs on
   the anchor, which is the same box either way. */
[data-fs-theme='realtywave'] .fs-hdr-group{
  gap:6px;
  padding:9px 13px;
  border-radius:10px;
  transition:background-color .2s cubic-bezier(.2,.7,.3,1);
}
[data-fs-theme='realtywave'] .fs-hdr-group > a.fsmenu-waveNav{
  padding:0 !important;
  border-radius:0;
  background:none !important;
}
[data-fs-theme='realtywave'] .fs-hdr-group:hover{
  background:rgb(var(--c-ink-950) / .05);
}
[data-fs-theme='realtywave'] .fs-hdr-group:has(> a[aria-current]:not([aria-current='false'])){
  background:rgb(var(--fs-menu-color, var(--c-brand-600)) / .13);
}

/* The caret itself. The platform dims it to .65 and fades it in on
   group hover — sensible where the caret is a discovery affordance,
   wrong here: the kit draws a small mark that is simply always there
   and rotates. Full strength, a shade smaller, and the kit's own .2s. */
[data-fs-theme='realtywave'] .fs-hdr-caret{
  opacity:1;
}
[data-fs-theme='realtywave'] .fs-hdr-caret svg{
  width:9px;
  height:6px;
  transition:transform .2s ease;
}
[data-fs-theme='realtywave'] .fs-hdr-caret svg path{
  stroke-width:2;
}
/* ---- M1, generated by scripts/port-menu.mjs ---- */
/* The design's inherited context, re-established at the panel root.
   Every value below is one the kit set on <body> and its descendants
   relied on without restating. */
[data-fs-theme='realtywave'] .fs-rltm-wrap {
  font-family:'Figtree', system-ui, sans-serif;
  font-size:15px;
  font-weight:initial;
  font-style:initial;
  line-height:1.55;
  letter-spacing:initial;
  word-spacing:initial;
  color:rgb(var(--c-ink-950));
  text-transform:initial;
  -webkit-font-smoothing:antialiased;
  font-variant-numeric:initial;
}

/* The design's inheritance model, re-established for descendants.
   Inheritance never beats a direct declaration, so a root baseline
   alone cannot undo a platform rule that targets a bare tag. */
[data-fs-theme='realtywave'] .fs-rltm-wrap *:not(button):not(input):not(select):not(textarea) {
  line-height:inherit;
  letter-spacing:inherit;
  word-spacing:inherit;
  text-transform:inherit;
  font-variant-numeric:inherit;
}

/* What the UA gives a form control on the design page, said out
   loud, because the port's CSS reset does not give the same thing. */
[data-fs-theme='realtywave'] .fs-rltm-wrap :is(button,input,select,textarea) {
  line-height:normal;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-eyebrow {
  font-size:12px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgb(var(--c-accent));
  margin:0 0 14px;
  display:block;
  line-height:16.275px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-cols {
  display:grid;
  grid-template-columns:repeat(4,1fr);
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-col {
  padding:26px 24px;
  border-right:1px solid rgb(var(--c-line-soft));
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-col:last-child {
  border-right:none;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-col ul {
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:1px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-col a {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  text-decoration:none;
  color:rgb(var(--c-ink-950));
  font-size:14.5px;
  padding:8px 10px;
  border-radius:9px;
  margin:0 -10px;
  font-weight:500;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-col a .fs-rltm-n {
  font-size:12px;
  color:rgb(var(--c-ink-400));
  font-weight:500;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-colfoot {
  background:rgb(var(--c-paper));
  padding:16px 24px;
  border-top:1px solid rgb(var(--c-line-soft));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-colfoot span {
  font-size:13.5px;
  color:rgb(var(--c-ink-400));
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-linkarrow {
  color:rgb(var(--c-brand-600));
  font-size:14px;
  font-weight:700;
  text-decoration:none;
  font-family:'Figtree', system-ui, sans-serif;
}

/* The kit drew no narrow state. Stacked below 560px so the panel cannot
   run off a phone; everything else is left exactly as drawn. */
@media (max-width: 560px) {
  [data-fs-theme='realtywave'] .fs-rltm-wrap [class*='fs-rltm-'] { grid-template-columns: 1fr !important; }
}

/* ---- M2, generated by scripts/port-menu.mjs ---- */
/* The design's inherited context, re-established at the panel root.
   Every value below is one the kit set on <body> and its descendants
   relied on without restating. */
[data-fs-theme='realtywave'] .fs-rltm-wrap {
  font-family:'Figtree', system-ui, sans-serif;
  font-size:15px;
  font-weight:initial;
  font-style:initial;
  line-height:1.55;
  letter-spacing:initial;
  word-spacing:initial;
  color:rgb(var(--c-ink-950));
  text-transform:initial;
  -webkit-font-smoothing:antialiased;
  font-variant-numeric:initial;
}

/* The design's inheritance model, re-established for descendants.
   Inheritance never beats a direct declaration, so a root baseline
   alone cannot undo a platform rule that targets a bare tag. */
[data-fs-theme='realtywave'] .fs-rltm-wrap *:not(button):not(input):not(select):not(textarea) {
  line-height:inherit;
  letter-spacing:inherit;
  word-spacing:inherit;
  text-transform:inherit;
  font-variant-numeric:inherit;
}

/* What the UA gives a form control on the design page, said out
   loud, because the port's CSS reset does not give the same thing. */
[data-fs-theme='realtywave'] .fs-rltm-wrap :is(button,input,select,textarea) {
  line-height:normal;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-eyebrow {
  font-size:12px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgb(var(--c-accent));
  margin:0 0 14px;
  display:block;
  line-height:16.275px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-price {
  font-family:'Bricolage Grotesque', system-ui, sans-serif;
  font-weight:700;
  letter-spacing:-.6px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-col {
  padding:26px 24px;
  border-right:1px solid rgb(var(--c-line-soft));
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-col:last-child {
  border-right:none;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-col ul {
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:1px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-col a {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  text-decoration:none;
  color:rgb(var(--c-ink-950));
  font-size:14.5px;
  padding:8px 10px;
  border-radius:9px;
  margin:0 -10px;
  font-weight:500;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-col a:hover {
  background:rgb(var(--c-paper));
  color:rgb(var(--c-brand-600));
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-col a .fs-rltm-n {
  font-size:12px;
  color:rgb(var(--c-ink-400));
  font-weight:500;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-linkarrow {
  color:rgb(var(--c-brand-600));
  font-size:14px;
  font-weight:700;
  text-decoration:none;
  font-family:'Figtree', system-ui, sans-serif;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-spot {
  display:grid;
  grid-template-columns:1fr 1fr 360px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-spotcard {
  padding:24px;
  background:rgb(var(--c-paper));
  display:flex;
  flex-direction:column;
  gap:13px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-shot {
  height:150px;
  border-radius:14px;
  position:relative;
  overflow:hidden;
  flex:none;
  background:linear-gradient(165deg,#1E6E78 0%, #2F8F92 42%, #9FD8CB 100%);
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-shot::after {
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:64%;
  background:linear-gradient(transparent, rgba(11,29,40,.72));
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-shot .fs-rltm-tag {
  position:absolute;
  top:12px;
  left:12px;
  z-index:2;
  background:rgb(var(--c-accent));
  color:#fff;
  font-size:12px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  padding:5px 10px;
  border-radius:99px;
  line-height:16.275px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-shot .fs-rltm-meta {
  position:absolute;
  left:14px;
  bottom:12px;
  z-index:2;
  color:#fff;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-shot .fs-rltm-meta b {
  display:block;
  font-family:'Bricolage Grotesque', system-ui, sans-serif;
  font-size:19px;
  font-weight:700;
  letter-spacing:-.6px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-shot .fs-rltm-meta span {
  display:block;
  font-size:12.5px;
  opacity:.86;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-spotcard h4 {
  font-family:'Bricolage Grotesque', system-ui, sans-serif;
  font-size:16px;
  font-weight:700;
  margin:0;
  letter-spacing:-.3px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-spotcard p {
  margin:0;
  font-size:13.5px;
  color:rgb(var(--c-ink-400));
  line-height:1.5;
}

@media (max-width:820px) {
  [data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-spot {
    grid-template-columns:1fr;
  }
}

/* ---- M3, generated by scripts/port-menu.mjs ---- */
/* The design's inherited context, re-established at the panel root.
   Every value below is one the kit set on <body> and its descendants
   relied on without restating. */
[data-fs-theme='realtywave'] .fs-rltm-wrap {
  font-family:'Figtree', system-ui, sans-serif;
  font-size:15px;
  font-weight:initial;
  font-style:initial;
  line-height:1.55;
  letter-spacing:initial;
  word-spacing:initial;
  color:rgb(var(--c-ink-950));
  text-transform:initial;
  -webkit-font-smoothing:antialiased;
  font-variant-numeric:initial;
}

/* The design's inheritance model, re-established for descendants.
   Inheritance never beats a direct declaration, so a root baseline
   alone cannot undo a platform rule that targets a bare tag. */
[data-fs-theme='realtywave'] .fs-rltm-wrap *:not(button):not(input):not(select):not(textarea) {
  line-height:inherit;
  letter-spacing:inherit;
  word-spacing:inherit;
  text-transform:inherit;
  font-variant-numeric:inherit;
}

/* What the UA gives a form control on the design page, said out
   loud, because the port's CSS reset does not give the same thing. */
[data-fs-theme='realtywave'] .fs-rltm-wrap :is(button,input,select,textarea) {
  line-height:normal;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-tiles {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  padding:24px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-tile {
  border:1px solid rgb(var(--c-line));
  border-radius:16px;
  overflow:hidden;
  background:rgb(var(--c-paper));
  text-decoration:none;
  color:inherit;
  transition:transform .18s ease, box-shadow .18s ease;
  display:flex;
  flex-direction:column;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-tile:hover {
  transform:translateY(-3px);
  box-shadow:0 1px 2px rgba(12,34,51,.05), 0 14px 34px rgba(12,34,51,.09);
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-tband {
  height:74px;
  position:relative;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-t1 {
  background:linear-gradient(150deg,#1E6E78,#66B7B4);
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-tbody {
  padding:15px 17px;
  display:flex;
  flex-direction:column;
  gap:5px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-tbody b {
  font-family:'Bricolage Grotesque', system-ui, sans-serif;
  font-size:16px;
  font-weight:700;
  letter-spacing:-.35px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-tbody span {
  font-size:12.5px;
  color:rgb(var(--c-ink-400));
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-tbody .fs-rltm-cnt {
  font-family:'Bricolage Grotesque', system-ui, sans-serif;
  font-weight:700;
  font-size:13px;
  color:rgb(var(--c-brand-600));
}

@media (max-width:820px) {
  [data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-tiles {
    grid-template-columns:repeat(2,1fr);
  }
}

/* ---- M4, generated by scripts/port-menu.mjs ---- */
/* The design's inherited context, re-established at the panel root.
   Every value below is one the kit set on <body> and its descendants
   relied on without restating. */
[data-fs-theme='realtywave'] .fs-rltm-wrap {
  font-family:'Figtree', system-ui, sans-serif;
  font-size:15px;
  font-weight:initial;
  font-style:initial;
  line-height:1.55;
  letter-spacing:initial;
  word-spacing:initial;
  color:rgb(var(--c-ink-950));
  text-transform:initial;
  -webkit-font-smoothing:antialiased;
  font-variant-numeric:initial;
}

/* The design's inheritance model, re-established for descendants.
   Inheritance never beats a direct declaration, so a root baseline
   alone cannot undo a platform rule that targets a bare tag. */
[data-fs-theme='realtywave'] .fs-rltm-wrap *:not(button):not(input):not(select):not(textarea) {
  line-height:inherit;
  letter-spacing:inherit;
  word-spacing:inherit;
  text-transform:inherit;
  font-variant-numeric:inherit;
}

/* What the UA gives a form control on the design page, said out
   loud, because the port's CSS reset does not give the same thing. */
[data-fs-theme='realtywave'] .fs-rltm-wrap :is(button,input,select,textarea) {
  line-height:normal;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-t1 {
  background:linear-gradient(150deg,#1E6E78,#66B7B4);
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-split {
  display:grid;
  grid-template-columns:250px 1fr;
  min-height:310px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-rail {
  background:rgb(var(--c-paper));
  border-right:1px solid rgb(var(--c-line));
  padding:18px 14px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-railitem {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:11px 13px;
  border-radius:11px;
  font-size:14.5px;
  cursor:pointer;
  color:rgb(var(--c-ink-700));
  border:none;
  background:none;
  width:100%;
  text-align:left;
  font-family:'Figtree', system-ui, sans-serif;
  font-weight:500;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-railitem:hover {
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-railitem.fs-rltm-on {
  background:rgb(var(--c-paper));
  color:rgb(var(--c-brand-600));
  font-weight:700;
  box-shadow:0 1px 2px rgba(12,34,51,.05), 0 14px 34px rgba(12,34,51,.09);
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-railitem em {
  font-style:normal;
  font-size:12px;
  color:rgb(var(--c-ink-400));
  font-weight:500;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-preview {
  padding:26px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-pv[hidden] {
  display:none;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-pv h4 {
  font-family:'Bricolage Grotesque', system-ui, sans-serif;
  font-size:20px;
  font-weight:700;
  margin:0 0 6px;
  letter-spacing:-.5px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-pv > p {
  margin:0 0 18px;
  color:rgb(var(--c-ink-400));
  font-size:14px;
  max-width:56ch;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-pvgrid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-pvcard {
  border:1px solid rgb(var(--c-line));
  border-radius:13px;
  overflow:hidden;
  background:rgb(var(--c-paper));
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-pvcard .fs-rltm-strip {
  height:56px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-pvcard .fs-rltm-pc {
  padding:11px 13px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-pvcard b {
  display:block;
  font-family:'Bricolage Grotesque', system-ui, sans-serif;
  font-size:14px;
  font-weight:700;
  letter-spacing:-.3px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-pvcard span {
  font-size:12px;
  color:rgb(var(--c-ink-400));
  display:block;
  margin-top:2px;
  line-height:17.825px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-pvcard .fs-rltm-p {
  font-family:'Bricolage Grotesque', system-ui, sans-serif;
  font-weight:700;
  font-size:14px;
  color:rgb(var(--c-accent));
  margin-top:5px;
  display:block;
  line-height:21.700px;
}

@media (max-width:820px) {
  [data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-pvgrid {
    grid-template-columns:repeat(2,1fr);
  }
}

@media (max-width:820px) {
  [data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-split {
    grid-template-columns:1fr;
  }
}

/* ---- M5, generated by scripts/port-menu.mjs ---- */
/* The design's inherited context, re-established at the panel root.
   Every value below is one the kit set on <body> and its descendants
   relied on without restating. */
[data-fs-theme='realtywave'] .fs-rltm-wrap {
  font-family:'Figtree', system-ui, sans-serif;
  font-size:15px;
  font-weight:initial;
  font-style:initial;
  line-height:1.55;
  letter-spacing:initial;
  word-spacing:initial;
  color:rgb(var(--c-ink-950));
  text-transform:initial;
  -webkit-font-smoothing:antialiased;
  font-variant-numeric:initial;
}

/* The design's inheritance model, re-established for descendants.
   Inheritance never beats a direct declaration, so a root baseline
   alone cannot undo a platform rule that targets a bare tag. */
[data-fs-theme='realtywave'] .fs-rltm-wrap *:not(button):not(input):not(select):not(textarea) {
  line-height:inherit;
  letter-spacing:inherit;
  word-spacing:inherit;
  text-transform:inherit;
  font-variant-numeric:inherit;
}

/* What the UA gives a form control on the design page, said out
   loud, because the port's CSS reset does not give the same thing. */
[data-fs-theme='realtywave'] .fs-rltm-wrap :is(button,input,select,textarea) {
  line-height:normal;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-linkarrow {
  color:rgb(var(--c-brand-600));
  font-size:14px;
  font-weight:700;
  text-decoration:none;
  font-family:'Figtree', system-ui, sans-serif;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-canvas {
  background:linear-gradient(155deg,#0B1D28 0%, #122836 55%, #16414A 100%);
  color:#EDF3F2;
  padding:34px 28px;
  position:relative;
  overflow:hidden;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-canvas::before {
  content:'';
  position:absolute;
  right:-70px;
  top:-110px;
  width:380px;
  height:380px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(159,216,203,.2),transparent 66%);
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-canvas::after {
  content:'';
  position:absolute;
  left:12%;
  bottom:-160px;
  width:340px;
  height:340px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(226,89,59,.28),transparent 68%);
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-canvas > * {
  position:relative;
  z-index:1;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-canvashead {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:22px;
  flex-wrap:wrap;
  margin-bottom:24px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-canvashead h3 {
  font-family:'Bricolage Grotesque', system-ui, sans-serif;
  font-weight:800;
  font-size:28px;
  margin:0;
  letter-spacing:-1px;
  color:#fff;
  text-wrap:balance;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-canvashead p {
  margin:7px 0 0;
  color:#9FB6B8;
  font-size:14px;
  max-width:48ch;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-cgrid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-ccard {
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  padding:17px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-ccard .fs-rltm-metric {
  font-family:'Bricolage Grotesque', system-ui, sans-serif;
  font-size:30px;
  font-weight:800;
  color:#9FD8CB;
  letter-spacing:-1.4px;
  display:block;
  line-height:1;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-ccard b {
  display:block;
  font-family:'Bricolage Grotesque', system-ui, sans-serif;
  font-size:14px;
  font-weight:700;
  color:#fff;
  margin:7px 0 3px;
  letter-spacing:-.2px;
}

[data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-ccard span {
  font-size:12.5px;
  color:#9FB6B8;
  line-height:1.5;
  display:block;
}

@media (max-width:820px) {
  [data-fs-theme='realtywave'] .fs-rltm-wrap .fs-rltm-cgrid {
    grid-template-columns:repeat(2,1fr);
  }
}



/* THE HEADER CTA IS NOT STYLED HERE ANY MORE. The export's Subscribe is
   a sage-tint pill rather than the platform's brand fill; that started
   as four custom properties set under [data-fs-theme='writerwave'] in
   this sheet, and is now a real lever — headerCtaStyle: 'tint' on the
   theme, overridable by the customer in Site Settings → Menu styles.
   The look lives in menu-styles.ts with the rest of the header chrome.

   Kept as a note rather than deleted silently: a reader who greps this
   file for the CTA should find out where it went, not conclude the
   design's button was dropped. Height stays the platform's 44px against
   the design's 38 — the tap-target floor, a recorded deviation. */
/* NOTE FOR ANYONE EDITING THIS FILE: no backticks in these comments,
   ever. The whole sheet is one template literal, so a backtick ends the
   string and the next token parses as a tagged template. That is
   exactly how a rule here shipped broken for one run, with the app
   throwing ".dark is not a function".

   AND NO MODE-SCOPED RULE HERE EITHER, deliberately. The obvious way to
   give dark mode its own value is a .dark ancestor selector — the class
   site-shell.ts puts on the scope. It does not work: the FastSites app
   chrome ALSO carries .dark, so the rule matched in light mode too and
   quietly served the dark value on a light page. A single alpha that
   clears the bar in BOTH modes has no such failure mode, and is what
   --ww-ink3 below uses. */


.fs-ww{
  position:relative;background:rgb(var(--c-paper));color:rgb(var(--c-ink-950));
  font-family:var(--font-body,'Nunito',system-ui,sans-serif);font-size:17px;line-height:1.65;
  -webkit-font-smoothing:antialiased;
  --ww-s2:color-mix(in srgb, rgb(var(--c-paper)) 95%, rgb(var(--c-ink-950)));
  --ww-tint:color-mix(in srgb, rgb(var(--c-accent)) 22%, rgb(var(--c-paper)));
  --ww-btint:color-mix(in srgb, rgb(var(--c-brand-600)) 16%, rgb(var(--c-paper)));
  --ww-ink2:rgb(var(--c-ink-950) / .8);
  /* --ww-ink-3 CARRIES MOST OF THE SMALL TYPE in this design — bylines,
     dates, read times, captions, meta rows, footer labels — and the
     design's own value fails AA on every ground it sits on, in both
     modes (2.76–3.90:1; scripts/check-kit-contrast.mjs). Reproducing it
     faithfully reproduced the failure at 3.13:1.

     Solved here rather than taken from the platform's --c-ink-400,
     which cannot do it for this theme: mutedChannels() probes the
     background, the surface, and one step BEYOND the surface — it
     assumes a card is LIGHTER than the page. WriterWave inverts that
     (its panel is paper mixed toward ink, so DARKER than the page), and
     the platform's solved value lands at 4.12:1 on those panels. Still
     failing, just less obviously — the exact failure mode that
     function's own comments describe fixing twice before.

     .705 is the quietest ink that clears 4.5:1 against all three of
     THIS theme's grounds in LIGHT — page, surface and the darker panel
     — at 4.76 / 4.91 / 4.56. It is deliberately ONE value for both
     modes: dark inverts both the ink (to parchment) and the grounds, so
     the same alpha lands around 6:1 there — brighter than the design's
     minimum, but comfortably passing, and with none of the failure
     modes a mode-scoped selector has (see the note above the theme
     block). Ledgered as a deviation, and raised with the designer so
     the KIT gets fixed upstream; if better values come back, this one
     number changes. */
  --ww-ink3:rgb(var(--c-ink-950) / .705);
  --ww-line:rgb(var(--c-ink-950) / .10);
  --ww-line2:rgb(var(--c-ink-950) / .18);
  --ww-ease:cubic-bezier(.4,0,.2,1);
}
.fs-ww *{box-sizing:border-box;}
.fs-ww-wire{filter:grayscale(1) contrast(.5);}
.fs-ww p{margin:0;text-wrap:pretty;}
.fs-ww h1,.fs-ww h2,.fs-ww h3{margin:0;font-family:var(--font-display,'Lora',Georgia,serif);font-weight:500;letter-spacing:-.012em;line-height:1.12;text-wrap:balance;color:rgb(var(--c-ink-950));}
/* Every text renders through an editable span, and the platform styles
   that span (body face, ink colour) at a specificity that beats a
   descendant rule from here. Headings and serif runs force inheritance
   so a card title inside <h3><a><span> is Lora like the design, not the
   body face it measured as before this rule. */
.fs-ww h1 *,.fs-ww h2 *,.fs-ww h3 *,.fs-ww .fs-ww-serif *,.fs-ww .fs-ww-num *,.fs-ww .fs-ww-dek *{font-family:inherit !important;font-weight:inherit !important;font-style:inherit !important;letter-spacing:inherit !important;color:inherit !important;}
/* The platform's link typography is emitted at runtime AFTER this sheet
   (body face + brand colour on every <a>; the platform button face on
   anything whose class contains "btn"). Measured: a card title's <a>
   read Nunito/brand inside a Lora h3, and the ink button's label read
   ink-on-ink. Anchors in this set therefore take their face and colour
   from their own classes, with !important — the same tool menu-styles
   uses for the same reason. */
.fs-ww a{font-family:inherit !important;}
.fs-ww h1 a,.fs-ww h2 a,.fs-ww h3 a,.fs-ww a.fs-ww-essay,.fs-ww a.fs-ww-issue,.fs-ww a.fs-ww-letter,.fs-ww a.fs-ww-result,.fs-ww a.fs-ww-read-t,.fs-ww a.fs-ww-byline-n,.fs-ww a.fs-ww-card-media{color:inherit !important;}
.fs-ww h1 a:hover,.fs-ww h2 a:hover,.fs-ww h3 a:hover,.fs-ww a.fs-ww-essay:hover,.fs-ww a.fs-ww-issue:hover,.fs-ww a.fs-ww-letter:hover,.fs-ww a.fs-ww-result:hover,.fs-ww a.fs-ww-read-t:hover{color:rgb(var(--c-brand-600)) !important;}
.fs-ww a.fs-ww-quiet,.fs-ww .fs-ww-fbar a{color:var(--ww-ink3) !important;}
.fs-ww a.fs-ww-quiet:hover,.fs-ww .fs-ww-fbar a:hover{color:rgb(var(--c-ink-950)) !important;}
.fs-ww a.fs-ww-link,.fs-ww .fs-ww-fcol a{color:var(--ww-ink2) !important;}
.fs-ww a.fs-ww-link:hover,.fs-ww .fs-ww-fcol a:hover{color:rgb(var(--c-ink-950)) !important;}
.fs-ww .fs-ww-entry-f a{color:rgb(var(--c-brand-600)) !important;}
.fs-ww .fs-ww-entry-f a:hover{color:rgb(var(--c-ink-950)) !important;}
.fs-ww a{color:inherit;text-decoration:none;transition:color .35s var(--ww-ease),border-color .35s var(--ww-ease),background-color .35s var(--ww-ease);}
.fs-ww button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;}
.fs-ww img{max-width:100%;display:block;}

/* ── the shared voice ── */
.fs-ww-wrap{width:100%;max-width:var(--fs-layout-max,1160px);margin-inline:auto;padding-inline:clamp(20px,4vw,48px);}
.fs-ww-kick{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--c-brand-600));}
.fs-ww-kick-dot{width:4px;height:4px;border-radius:50%;background:rgb(var(--c-brand-600));display:inline-block;}
.fs-ww-kick-2{color:var(--ww-ink3);}
.fs-ww-kick-meta{color:var(--ww-ink3);letter-spacing:.04em;text-transform:none;font-weight:600;}
.fs-ww-disp{font-size:clamp(2.375rem,1.6rem + 2.8vw,3.75rem);}
.fs-ww-h3xl{font-size:42px;}
.fs-ww-h2xl{font-size:32px;}
.fs-ww-hxl{font-size:24px;line-height:1.3;}
.fs-ww-hlg{font-size:19px;line-height:1.3;}
.fs-ww-sub{color:var(--ww-ink2);}
.fs-ww-lg{font-size:19px;}
.fs-ww-sm{font-size:15px;}
.fs-ww-xs{font-size:13px;}
.fs-ww-ink3{color:var(--ww-ink3);}
.fs-ww-serif{font-family:var(--font-display,'Lora',Georgia,serif);}
.fs-ww-num{font-family:var(--font-display,'Lora',Georgia,serif);color:rgb(var(--c-brand-600));}
.fs-ww-rule{border-top:1px solid var(--ww-line);}
/* buttons — INK-filled primary, tint secondary, exactly as designed */
.fs-ww-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:44px;padding:0 22px;border-radius:6px;font-weight:700;font-size:15px;text-decoration:none;cursor:pointer;transition:background-color .35s var(--ww-ease),color .35s var(--ww-ease);}
/* Button labels are editable spans too — the same forced inheritance,
   or the ink button ships as an ink block with ink text (measured). */
.fs-ww .fs-ww-btn,.fs-ww .fs-ww-btn *{font-family:inherit !important;font-weight:700 !important;font-size:15px !important;}
.fs-ww .fs-ww-btn *{color:inherit !important;}
.fs-ww .fs-ww-btn-ink{background:rgb(var(--c-ink-950)) !important;color:rgb(var(--c-paper)) !important;}
.fs-ww .fs-ww-btn-ink:hover{background:rgb(var(--c-brand-600)) !important;color:rgb(var(--c-paper)) !important;}
.fs-ww .fs-ww-btn-brand{background:rgb(var(--c-brand-600)) !important;color:rgb(var(--c-paper)) !important;}
.fs-ww .fs-ww-btn-brand:hover{background:rgb(var(--c-ink-950)) !important;}
.fs-ww .fs-ww-btn-tint{height:40px;padding:0 18px;background:var(--ww-tint) !important;color:rgb(var(--c-brand-600)) !important;}
.fs-ww .fs-ww-btn-tint:hover{background:rgb(var(--c-accent)) !important;color:rgb(var(--c-paper)) !important;}
.fs-ww-link{color:var(--ww-ink2);font-weight:600;font-size:15px;border-bottom:1px solid var(--ww-line2);padding-bottom:2px;}
.fs-ww-link:hover{color:rgb(var(--c-ink-950));border-bottom-color:rgb(var(--c-ink-950));}
.fs-ww-quiet{font-size:15px;font-weight:600;color:var(--ww-ink3);}
.fs-ww-quiet:hover{color:rgb(var(--c-ink-950));}
/* avatar disc — the design's clay-tint disc with clay initials */
.fs-ww-avatar{width:40px;height:40px;border-radius:50%;background:var(--ww-btint);color:rgb(var(--c-brand-600));display:grid;place-items:center;font-family:var(--font-display,'Lora',serif);font-size:15px;font-weight:600;flex-shrink:0;}
.fs-ww-byline{display:flex;align-items:center;gap:12px;}
.fs-ww-byline-t{display:flex;flex-direction:column;gap:2px;line-height:1.3;}
.fs-ww-byline-n{font-weight:700;color:rgb(var(--c-ink-950));font-size:15px;text-align:left;}
.fs-ww-byline-m{font-size:13px;color:var(--ww-ink3);}
/* image slots — the design's <image-slot>: a surface-2 field with a caption */
.fs-ww-media{position:relative;width:100%;border-radius:6px;overflow:hidden;background:var(--ww-s2);}
.fs-ww-media img{width:100%;height:100%;object-fit:cover;}
.fs-ww-media-ph{position:absolute;inset:0;display:grid;place-items:center;padding:16px;text-align:center;font-size:13px;color:var(--ww-ink3);}
/* the surface-2 panel */
.fs-ww-panel{background:var(--ww-s2);border-radius:10px;transition:background-color .35s var(--ww-ease);}
/* form fields, as designed: 44px, hairline-strong border, focus = accent */
.fs-ww-field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;color:var(--ww-ink3);letter-spacing:.06em;}
.fs-ww-input{height:44px;padding:0 14px;border-radius:6px;border:1px solid var(--ww-line2);background:rgb(var(--c-paper));color:rgb(var(--c-ink-950));font:inherit;font-size:15px;letter-spacing:0;outline:none;width:100%;}
.fs-ww-input:focus{border-color:rgb(var(--c-accent));}
.fs-ww-textarea{height:auto;min-height:150px;padding:12px 14px;font-family:var(--font-display,'Lora',serif);font-size:17px;line-height:1.6;resize:vertical;}

/* ── rise: the one entry motion (fade + 10px up), toggleable ── */
.fs-ww-anim .fs-ww-rise{animation:var(--fs-anim-rise, fs-ww-rise .5s var(--ww-ease) both);}
@keyframes fs-ww-rise{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}

/* ── favWriterHero ── */
.fs-ww-hero{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:64px;align-items:center;padding-block:96px 64px;}
.fs-ww-hero-body{display:flex;flex-direction:column;gap:24px;max-width:640px;}
.fs-ww-hero-sub{font-size:19px;line-height:1.65;max-width:56ch;}
.fs-ww-hero-ctas{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:8px;}
.fs-ww-hero-media{aspect-ratio:4/5;}

/* ── favWriterGrid ── */
.fs-ww-gridsec{padding-block:32px 96px;}
.fs-ww-gridhead{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-bottom:24px;margin-bottom:48px;border-bottom:1px solid var(--ww-line);}
.fs-ww-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:64px 48px;}
.fs-ww-card{display:flex;flex-direction:column;gap:16px;min-width:0;}
.fs-ww-card-lead{grid-column:span 2;}
.fs-ww-card-media{aspect-ratio:3/2;transition:opacity .35s var(--ww-ease);}
.fs-ww-card-lead .fs-ww-card-media{aspect-ratio:16/9;}
.fs-ww-card-media:hover{opacity:.92;}
.fs-ww-card h3 a:hover{color:rgb(var(--c-brand-600));}
.fs-ww-card-x{color:var(--ww-ink2);font-size:15px;}
.fs-ww-card-foot{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ww-ink3);margin-top:auto;}
.fs-ww-card-foot b{font-weight:700;color:var(--ww-ink2);}

/* ── favWriterNewsletter (band on home; page variant without the panel) ── */
.fs-ww-nlsec{padding-block:0 96px;}
.fs-ww-nl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center;padding:64px 48px;}
.fs-ww-nl-page{padding:96px 0 0;background:transparent;border-radius:0;}
.fs-ww-nl-body{display:flex;flex-direction:column;gap:12px;max-width:46ch;}
.fs-ww-nl-page .fs-ww-nl-body{gap:16px;}
.fs-ww-nl-form{display:flex;flex-direction:column;gap:12px;width:100%;max-width:440px;}
.fs-ww-nl-row{display:flex;gap:8px;flex-wrap:wrap;}
.fs-ww-nl-row .fs-ww-input{flex:1 1 200px;height:48px;padding:0 16px;}
.fs-ww-nl-row .fs-ww-btn{height:48px;}
.fs-ww-nl-ok{display:flex;align-items:center;gap:12px;height:48px;padding:0 16px;border-radius:6px;background:var(--ww-tint);color:rgb(var(--c-brand-600));font-weight:600;font-size:15px;}
.fs-ww-issues{display:flex;flex-direction:column;gap:16px;max-width:760px;padding-top:96px;}
.fs-ww-issue{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:16px;align-items:baseline;padding:16px 0;border-top:1px solid var(--ww-line);color:rgb(var(--c-ink-950));text-align:left;}
.fs-ww-issue:hover{color:rgb(var(--c-brand-600));}

/* ── favWriterArticle — the reading view ── */
.fs-ww-article{max-width:720px;margin-inline:auto;padding-block:64px 96px;display:flex;flex-direction:column;gap:48px;}
.fs-ww-back{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;}
.fs-ww-ahead{display:flex;flex-direction:column;gap:24px;}
/* Classed and triple-qualified: the platform's own heading ramp styles
   bare h1/h2 inside a themed page at higher specificity than a
   descendant selector, and measured 36px/30px here before this. */
.fs-ww .fs-ww-ahead .fs-ww-ah1{font-size:clamp(2.125rem,1.4rem + 2.4vw,3.25rem);}
.fs-ww-dek{font-family:var(--font-display,'Lora',serif);font-style:italic;font-size:24px;line-height:1.3;color:var(--ww-ink2);}
.fs-ww-ahead .fs-ww-byline{padding-top:16px;border-top:1px solid var(--ww-line);}
.fs-ww-amedia{aspect-ratio:16/9;}
.fs-ww-prose{max-width:68ch;width:100%;margin-inline:auto;font-size:19px;line-height:1.8;color:rgb(var(--c-ink-950));}
.fs-ww-prose p + p,.fs-ww-prose .fs-ww-ph2 + p,.fs-ww-prose blockquote + p{margin-top:1.4em;}
.fs-ww .fs-ww-prose .fs-ww-ph2{font-size:32px;margin-top:2.2em;margin-bottom:.6em;}
.fs-ww-prose blockquote{margin:2em 0;padding-left:24px;border-left:2px solid rgb(var(--c-accent));font-family:var(--font-display,'Lora',serif);font-style:italic;color:var(--ww-ink2);}
.fs-ww-dropcap::first-letter{font-family:var(--font-display,'Lora',serif);font-size:3.4em;float:left;line-height:.85;padding:.08em .12em 0 0;color:rgb(var(--c-brand-600));}
.fs-ww-afoot{display:flex;flex-direction:column;gap:24px;padding-top:32px;border-top:1px solid var(--ww-line);max-width:68ch;width:100%;margin-inline:auto;}
.fs-ww-tags{display:flex;gap:8px;flex-wrap:wrap;}
.fs-ww-tag{font-size:13px;font-weight:700;padding:6px 12px;border-radius:999px;background:var(--ww-s2);color:var(--ww-ink2);}
.fs-ww-bio{display:flex;gap:16px;align-items:flex-start;padding:24px;border-radius:6px;background:var(--ww-s2);}
.fs-ww-bio .fs-ww-avatar{width:52px;height:52px;font-size:18px;}
.fs-ww-bio-t{display:flex;flex-direction:column;gap:6px;}
/* reading progress — sticky to the block's top edge rather than the
   viewport, so it behaves inside the editor canvas; 2px accent, fills
   with scroll, hidden until 1% (the design's own rule). */
.fs-ww-progress{position:sticky;top:0;z-index:5;height:2px;width:100%;pointer-events:none;transform-origin:left;background:rgb(var(--c-accent));opacity:0;transition:var(--fs-anim-progress, opacity .35s var(--ww-ease));}
.fs-ww-progress-on{opacity:1;}

/* ── favWriterAuthor ── */
.fs-ww-authorsec{padding-block:64px 96px;}
.fs-ww-2col{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:64px;align-items:start;}
.fs-ww-acol{display:flex;flex-direction:column;gap:24px;}
.fs-ww-portrait{width:128px;height:128px;border-radius:50%;overflow:hidden;background:var(--ww-btint);}
.fs-ww-portrait img{width:100%;height:100%;object-fit:cover;}
.fs-ww-ident{display:flex;flex-direction:column;gap:6px;}
.fs-ww-arow{display:flex;gap:12px;align-items:center;}
.fs-ww-list{display:flex;flex-direction:column;gap:16px;}
.fs-ww-listh{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ww-ink3);}
.fs-ww-essay{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:baseline;padding:16px 0;border-top:1px solid var(--ww-line);color:rgb(var(--c-ink-950));text-align:left;width:100%;}
.fs-ww-essay:hover{color:rgb(var(--c-brand-600));}
.fs-ww-essay-t{display:flex;flex-direction:column;gap:2px;}

/* ── favWriterContact ── */
.fs-ww-contactsec{padding-block:96px;}
.fs-ww-clines{display:flex;flex-direction:column;gap:12px;font-size:15px;color:var(--ww-ink2);padding-top:16px;border-top:1px solid var(--ww-line);}
.fs-ww-clines b{color:rgb(var(--c-ink-950));}
.fs-ww-form{display:flex;flex-direction:column;gap:16px;padding:32px;border-radius:10px;background:var(--ww-s2);}
.fs-ww-form-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;}
.fs-ww-sent{display:flex;flex-direction:column;gap:12px;padding:16px 0;}

/* ── favWriterJournal ── */
.fs-ww-journalsec{padding-block:64px 96px;display:flex;flex-direction:column;gap:48px;}
.fs-ww-intro{display:flex;flex-direction:column;gap:12px;max-width:60ch;}
.fs-ww-entry{display:grid;grid-template-columns:160px minmax(0,1fr);gap:48px;padding:48px;border-radius:10px;background:var(--ww-s2);}
.fs-ww-entry-d{display:flex;flex-direction:column;gap:8px;}
.fs-ww-entry-day{font-family:var(--font-display,'Lora',serif);font-size:56px;line-height:1;color:rgb(var(--c-ink-950));}
.fs-ww-entry-mo{font-family:var(--font-display,'Lora',serif);font-size:19px;color:var(--ww-ink2);}
.fs-ww-entry-meta{font-size:13px;color:var(--ww-ink3);line-height:1.6;margin-top:8px;}
.fs-ww-entry-b{display:flex;flex-direction:column;gap:16px;max-width:60ch;}
.fs-ww-entry-t{font-family:var(--font-display,'Lora',serif);font-size:19px;line-height:1.75;color:rgb(var(--c-ink-950));}
.fs-ww-entry-f{display:flex;justify-content:space-between;padding-top:16px;border-top:1px solid var(--ww-line);font-size:13px;color:var(--ww-ink3);}
.fs-ww-entry-f a{font-weight:700;color:rgb(var(--c-brand-600));}
.fs-ww-entry-f a:hover{color:rgb(var(--c-ink-950));}

/* ── favWriterReadingList ── */
.fs-ww-readsec{padding-block:64px 96px;}
.fs-ww-read{max-width:760px;display:flex;flex-direction:column;gap:24px;}
.fs-ww-readhead{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;}
.fs-ww-bar{height:2px;border-radius:1px;background:var(--ww-line);overflow:hidden;}
.fs-ww-bar i{display:block;height:100%;background:rgb(var(--c-accent));transition:width .5s var(--ww-ease);}
.fs-ww-read ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;}
.fs-ww-read li{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:16px;align-items:center;padding-block:16px;border-bottom:1px solid var(--ww-line);}
.fs-ww-read-t{display:flex;flex-direction:column;gap:2px;color:rgb(var(--c-ink-950));text-align:left;transition:opacity .35s var(--ww-ease);}
.fs-ww-read-t:hover{color:rgb(var(--c-brand-600));}
.fs-ww-read-done .fs-ww-read-t{opacity:.55;}
.fs-ww-read-done .fs-ww-read-tt{text-decoration:line-through;text-decoration-color:var(--ww-ink3);}
.fs-ww-check{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--ww-line2);background:transparent;color:rgb(var(--c-paper));display:grid;place-items:center;transition:background-color .35s var(--ww-ease),border-color .35s var(--ww-ease);}
.fs-ww-check:hover{border-color:rgb(var(--c-accent));}
.fs-ww-check svg{opacity:0;}
.fs-ww-read-done .fs-ww-check{background:rgb(var(--c-accent));border-color:rgb(var(--c-accent));}
.fs-ww-read-done .fs-ww-check svg{opacity:1;}

/* ── favWriterAbout + favWriterMasthead ── */
.fs-ww-aboutsec{padding-block:96px 0;display:flex;flex-direction:column;gap:96px;}
.fs-ww-about-in{max-width:720px;display:flex;flex-direction:column;gap:24px;}
.fs-ww-hl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 48px;}
.fs-ww-hl-i{display:flex;flex-direction:column;gap:12px;padding-top:16px;border-top:1px solid var(--ww-line);}
.fs-ww-mastsec{padding-block:96px;display:flex;flex-direction:column;gap:24px;}
.fs-ww-cards3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.fs-ww-person{display:flex;align-items:center;gap:12px;padding:16px;border-radius:6px;background:var(--ww-s2);}
.fs-ww-person .fs-ww-avatar{width:44px;height:44px;font-size:14px;}

/* ── favWriterLetters ── */
.fs-ww-lettersec{padding-block:64px 96px;display:flex;flex-direction:column;gap:48px;}
.fs-ww-letters{max-width:760px;display:flex;flex-direction:column;}
.fs-ww-letter{display:flex;flex-direction:column;gap:12px;padding:32px 0;border-top:1px solid var(--ww-line);text-align:left;color:rgb(var(--c-ink-950));}
.fs-ww-letter:hover{color:rgb(var(--c-brand-600));}
.fs-ww-letter-m{display:flex;justify-content:space-between;gap:16px;font-size:13px;color:var(--ww-ink3);}
.fs-ww-letter-m b{color:var(--ww-ink2);}
.fs-ww-letter-t{font-family:var(--font-display,'Lora',serif);font-size:32px;line-height:1.25;}
.fs-ww-letter-x{font-family:var(--font-display,'Lora',serif);font-style:italic;color:var(--ww-ink2);line-height:1.6;}

/* ── favWriterSearch ── */
.fs-ww-searchsec{padding-block:64px 96px;display:flex;flex-direction:column;gap:32px;}
.fs-ww-search{max-width:760px;display:flex;flex-direction:column;gap:16px;}
.fs-ww-searchbox{display:flex;align-items:center;gap:12px;height:56px;padding:0 18px;border-radius:6px;border:1px solid var(--ww-line2);background:var(--ww-s2);color:var(--ww-ink3);}
.fs-ww-searchbox input{flex:1;border:0;background:transparent;color:rgb(var(--c-ink-950));font:inherit;font-family:var(--font-display,'Lora',serif);font-size:19px;outline:none;min-width:0;}
.fs-ww-results{max-width:760px;display:flex;flex-direction:column;}
.fs-ww-result{display:flex;flex-direction:column;gap:6px;padding:16px 0;border-top:1px solid var(--ww-line);text-align:left;color:rgb(var(--c-ink-950));}
.fs-ww-result:hover{color:rgb(var(--c-brand-600));}

/* ── favWriterFooter — the core file's four columns ── */
.fs-ww-footer{border-top:1px solid var(--ww-line);margin-top:auto;}
.fs-ww-footer-in{padding-block:64px 32px;display:flex;flex-direction:column;gap:64px;}
.fs-ww-fgrid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;}
.fs-ww-fbrand{display:flex;flex-direction:column;gap:12px;max-width:34ch;}
.fs-ww-flogo{display:flex;align-items:center;gap:10px;color:rgb(var(--c-ink-950));}
.fs-ww-flogo svg{width:28px;height:28px;flex-shrink:0;}
.fs-ww-fname{font-family:var(--font-display,'Lora',serif);font-size:22px;font-weight:500;letter-spacing:-.02em;line-height:1;}
.fs-ww-fname em{font-weight:400;}
.fs-ww-fcol{display:flex;flex-direction:column;gap:12px;font-size:15px;}
.fs-ww-fcol a{color:var(--ww-ink2);}
.fs-ww-fcol a:hover{color:rgb(var(--c-ink-950));}
.fs-ww-fcol span:not(.fs-ww-listh){color:var(--ww-ink2);}
.fs-ww-fbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-top:24px;border-top:1px solid var(--ww-line);font-size:13px;color:var(--ww-ink3);}
.fs-ww-fbar nav{display:flex;gap:24px;}
.fs-ww-fbar a{color:var(--ww-ink3);}
.fs-ww-fbar a:hover{color:rgb(var(--c-ink-950));}

/* ═══ FRESH LOOK (2026-10-26) — "paper and ink". A visual pass only:
   same blocks, same fields plus a few optional ones, same palette
   tokens. Drawn art replaces the grey photo fields, buttons go pill and
   ink everywhere, the newsletter band inverts to ink with the form on a
   letter card, the contact form becomes ruled letter paper. Every
   colour below is a platform token or a color-mix of two, so all six
   palettes repaint in both modes; the same no-mode-scoped-rules rule
   as the rest of this sheet applies (see the note at the top). ═══ */

/* buttons: pill, a larger size for the hero, an outline variant */
.fs-ww .fs-ww-btn{border-radius:999px;transition:background-color .35s var(--ww-ease),color .35s var(--ww-ease),transform .2s var(--ww-ease),box-shadow .2s var(--ww-ease);}
.fs-ww .fs-ww-btn-ink:hover{transform:translateY(-1px);box-shadow:0 10px 22px -12px rgb(var(--c-ink-950) / .6);}
.fs-ww .fs-ww-btn-lg{height:52px;padding:0 28px;}
.fs-ww .fs-ww-btn-lg,.fs-ww .fs-ww-btn-lg *{font-size:16px !important;}
.fs-ww .fs-ww-btn-line{background:transparent !important;color:rgb(var(--c-ink-950)) !important;box-shadow:inset 0 0 0 1.5px rgb(var(--c-ink-950));}
.fs-ww .fs-ww-btn-line:hover{background:rgb(var(--c-ink-950)) !important;color:rgb(var(--c-paper)) !important;}
.fs-ww .fs-ww-btn-saved,.fs-ww .fs-ww-btn-saved:hover{background:var(--ww-tint) !important;color:rgb(var(--c-ink-950)) !important;box-shadow:none;}
.fs-ww .fs-ww-btn-saved svg{color:rgb(var(--c-brand-600));}

/* drawn art — the classes RiverArt / CoverArt / SealedLetter paint with */
.fs-ww-art{display:block;width:100%;height:100%;}
.fs-ww-art-sky{fill:color-mix(in srgb, rgb(var(--c-accent)) 14%, rgb(var(--c-paper)));}
.fs-ww-art-sun{fill:color-mix(in srgb, rgb(var(--c-brand-600)) 58%, rgb(var(--c-paper)));}
.fs-ww-art-halo{fill:none;stroke:color-mix(in srgb, rgb(var(--c-brand-600)) 40%, rgb(var(--c-paper)));stroke-width:1.2;stroke-dasharray:2 6;}
.fs-ww-art-h1{fill:color-mix(in srgb, rgb(var(--c-accent)) 34%, rgb(var(--c-paper)));}
.fs-ww-art-h2{fill:color-mix(in srgb, rgb(var(--c-accent)) 60%, rgb(var(--c-paper)));}
.fs-ww-art-h3{fill:color-mix(in srgb, rgb(var(--c-brand-600)) 70%, rgb(var(--c-accent)));}
.fs-ww-art-water{fill:color-mix(in srgb, rgb(var(--c-paper)) 90%, rgb(var(--c-ink-950)));}
.fs-ww-art-glint{fill:none;stroke:rgb(var(--c-paper));stroke-width:2.5;stroke-linecap:round;}
.fs-ww-art-paper{fill:rgb(var(--c-paper));stroke:rgb(var(--c-ink-950));stroke-width:1.6;stroke-linejoin:round;}
.fs-ww-art-flap{fill:var(--ww-s2);stroke:rgb(var(--c-ink-950));stroke-width:1.6;stroke-linejoin:round;}
.fs-ww-art-line,.fs-ww-art-ink-line{fill:none;stroke:rgb(var(--c-ink-950));stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.fs-ww-art-rule{fill:none;stroke:rgb(var(--c-ink-950) / .28);stroke-width:1.4;stroke-linecap:round;}
.fs-ww-art-ink{fill:rgb(var(--c-ink-950));}
.fs-ww-art-seal{fill:rgb(var(--c-brand-600));}
.fs-ww-art-sealmark{fill:none;stroke:rgb(var(--c-paper));stroke-width:3;stroke-linecap:round;stroke-linejoin:round;}

/* the issue line under the header — a magazine masthead strip */
.fs-ww-issueline{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 20px;margin-top:20px;padding:9px 0;border-top:1px solid rgb(var(--c-ink-950));border-bottom:1px solid var(--ww-line);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ww-ink3);}
.fs-ww-issueline-m{font-family:var(--font-display,'Lora',serif);font-style:italic;font-weight:400;font-size:15px;letter-spacing:0;text-transform:none;color:var(--ww-ink2);}
.fs-ww-issueline-m *{font-family:inherit !important;font-style:inherit !important;}

/* hero: a bigger headline, a serif deck, the art as a tilted plate */
.fs-ww-hero{padding-block:64px 80px;}
.fs-ww-kick-bar{display:inline-block;width:28px;height:2px;background:rgb(var(--c-brand-600));}
.fs-ww .fs-ww-hero .fs-ww-hero-h{font-size:clamp(2.6rem,1.5rem + 3.6vw,4.6rem);line-height:1.04;letter-spacing:-.02em;}
.fs-ww-hero-sub{font-family:var(--font-display,'Lora',serif);font-size:21px;line-height:1.55;}
.fs-ww-hero-sub *{font-family:inherit !important;}
.fs-ww-plate{position:relative;margin:0;}
.fs-ww-plate-in{padding:14px 14px 10px;background:rgb(var(--c-paper));border:1px solid var(--ww-line2);box-shadow:0 1px 0 var(--ww-line2),0 22px 44px -26px rgb(var(--c-ink-950) / .45);transform:rotate(-1.2deg);transition:transform .35s var(--ww-ease),box-shadow .35s var(--ww-ease);}
.fs-ww-plate:hover .fs-ww-plate-in{transform:rotate(0deg) translateY(-3px);box-shadow:0 1px 0 var(--ww-line2),0 32px 54px -30px rgb(var(--c-ink-950) / .5);}
.fs-ww-plate .fs-ww-media{border-radius:2px;}
.fs-ww-plate-cap{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:12px 2px 2px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ww-ink3);}
.fs-ww-plate-cap .fs-ww-serif{font-size:15px;font-weight:400;letter-spacing:0;text-transform:none;}
.fs-ww-plate-cap .fs-ww-serif *{font-family:inherit !important;font-style:italic !important;}
.fs-ww-margin-note{position:absolute;top:-38px;right:18px;transform:rotate(3deg);font-family:var(--font-display,'Lora',serif);font-style:italic;font-size:19px;color:rgb(var(--c-brand-600));}
.fs-ww-margin-note *{font-family:inherit !important;font-style:inherit !important;color:inherit !important;}

/* grid: numbered cards, drawn covers when a card has no photo */
.fs-ww-card-top{display:flex;align-items:baseline;gap:14px;}
.fs-ww-card-n{font-family:var(--font-display,'Lora',serif);font-style:italic;font-size:30px;line-height:1;color:rgb(var(--c-brand-600));}
.fs-ww-card{transition:transform .3s var(--ww-ease);}
.fs-ww-card:hover{transform:translateY(-3px);}
.fs-ww-gridhead{border-bottom-color:rgb(var(--c-ink-950));}
.fs-ww .fs-ww-gridhead .fs-ww-hxl{font-size:36px;}

/* newsletter band: inverted to ink, the form on a letter card */
.fs-ww-nl-band{background:rgb(var(--c-ink-950));color:rgb(var(--c-paper));border-radius:10px;padding:72px 56px;}
.fs-ww .fs-ww-nl-band .fs-ww-nl-h{color:rgb(var(--c-paper)) !important;font-size:clamp(2rem,1.4rem + 2vw,3.1rem);line-height:1.08;}
.fs-ww-nl-band .fs-ww-kick{color:rgb(var(--c-paper) / .78);}
.fs-ww-nl-band .fs-ww-nl-sub{color:rgb(var(--c-paper) / .8);font-family:var(--font-display,'Lora',serif);font-size:19px;}
.fs-ww-nl-band .fs-ww-nl-sub *{font-family:inherit !important;}
.fs-ww-nl-wave{color:color-mix(in srgb, rgb(var(--c-accent)) 65%, rgb(var(--c-paper)));margin-bottom:6px;}
.fs-ww-lettercard{position:relative;max-width:480px;padding:32px;border-radius:8px;background:rgb(var(--c-paper));color:rgb(var(--c-ink-950));box-shadow:0 30px 60px -30px rgb(0 0 0 / .6);}
.fs-ww-nl-page .fs-ww-lettercard{border:1px solid var(--ww-line2);box-shadow:0 24px 48px -30px rgb(var(--c-ink-950) / .4);}
.fs-ww-lettercard .fs-ww-field{padding-right:64px;}
.fs-ww-stampbox{position:absolute;top:14px;right:14px;width:50px;height:50px;display:grid;place-items:center;border:1.5px dashed var(--ww-line2);border-radius:4px;transform:rotate(6deg);color:var(--ww-ink3);}
.fs-ww-stampbox svg{width:28px;height:28px;}
.fs-ww-lettercard .fs-ww-nl-row .fs-ww-input{height:52px;border-radius:999px;padding:0 20px;}
.fs-ww-lettercard .fs-ww-nl-row .fs-ww-btn{height:52px;padding:0 26px;}
.fs-ww-lettercard .fs-ww-input:focus,.fs-ww-letterpaper .fs-ww-input:focus{border-color:rgb(var(--c-ink-950));box-shadow:0 0 0 4px color-mix(in srgb, rgb(var(--c-accent)) 30%, transparent);}
.fs-ww-nl-done{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:4px 0;}
.fs-ww-env{width:180px;height:120px;}
.fs-ww-env-seal{transform-box:fill-box;transform-origin:center;}
.fs-ww-anim .fs-ww-env-seal{animation:var(--fs-anim-rise, fs-ww-seal .55s .2s cubic-bezier(.2,.9,.3,1.3) both);}
@keyframes fs-ww-seal{0%{transform:scale(0);opacity:0;}60%{transform:scale(1.15);opacity:1;}100%{transform:scale(1);}}
.fs-ww-nl-done-t{font-size:19px;line-height:1.5;max-width:30ch;}

/* contact: the form is ruled letter paper with a Received stamp */
.fs-ww-letterpaper{position:relative;padding:40px 44px 36px;border-radius:4px;background-color:rgb(var(--c-paper));background-image:repeating-linear-gradient(to bottom, transparent 0 35px, var(--ww-line) 35px 36px);border:1px solid var(--ww-line2);box-shadow:0 1px 0 var(--ww-line2),0 24px 48px -30px rgb(var(--c-ink-950) / .45);transform:rotate(.5deg);}
.fs-ww-letter-to{padding-bottom:10px;border-bottom:1px solid rgb(var(--c-ink-950));font-size:18px;font-weight:600;}
.fs-ww-letterpaper .fs-ww-input{height:48px;padding:0 2px;border:0;border-bottom:1.5px solid rgb(var(--c-ink-950) / .55);border-radius:0;background:transparent;font-family:var(--font-display,'Lora',serif);font-size:19px;}
.fs-ww-letterpaper .fs-ww-input:focus{box-shadow:0 2px 0 rgb(var(--c-brand-600));}
.fs-ww-letterpaper .fs-ww-textarea{height:auto;min-height:180px;padding:4px 2px;line-height:36px;border-bottom:0;}
.fs-ww-stamp{position:absolute;top:24px;right:28px;padding:8px 16px;border:3px solid rgb(var(--c-brand-600));border-radius:6px;color:rgb(var(--c-brand-600));font-size:14px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;transform:rotate(-12deg);opacity:.9;}
.fs-ww-stamp *{color:inherit !important;}
.fs-ww-anim .fs-ww-stamp{animation:var(--fs-anim-rise, fs-ww-stamp .5s cubic-bezier(.2,.9,.3,1.2) both);}
@keyframes fs-ww-stamp{0%{transform:scale(.6) rotate(-16deg);opacity:0;}70%{transform:scale(1.08) rotate(-12deg);opacity:.9;}100%{transform:scale(1) rotate(-12deg);opacity:.9;}}

/* footer sits on the tinted band */
.fs-ww-footer{background:var(--ww-s2);}

@media (max-width:640px){
  .fs-ww-nl-band{padding:40px 22px;}
  .fs-ww-lettercard{padding:26px 20px;}
  .fs-ww-letterpaper{padding:28px 22px;transform:none;}
  .fs-ww-plate-in{transform:none;}
  .fs-ww-margin-note{top:-28px;}
}

/* ── breakpoints, transcribed from writerwave.css ── */
@media (max-width:960px){
  .fs-ww-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:860px){
  .fs-ww-hero{grid-template-columns:1fr;gap:32px;padding-block:48px;}
  .fs-ww-hero-media{aspect-ratio:3/2;}
  .fs-ww-2col{grid-template-columns:1fr;}
  .fs-ww-entry{grid-template-columns:1fr;}
  .fs-ww-hl{grid-template-columns:1fr;}
  .fs-ww-cards3{grid-template-columns:1fr 1fr;}
}
@media (max-width:800px){
  .fs-ww-nl{grid-template-columns:1fr;}
  .fs-ww-fgrid{grid-template-columns:1fr 1fr;}
}
@media (max-width:640px){
  .fs-ww-grid{grid-template-columns:1fr;}
  .fs-ww-card-lead{grid-column:auto;}
  .fs-ww-cards3{grid-template-columns:1fr;}
  .fs-ww-nl{padding:32px 24px;}
  .fs-ww-entry{padding:24px;}
  .fs-ww-h3xl{font-size:34px;}
}
/* ═══ BLOCK LIBRARY (WriterWaveLibraryBlocks.tsx + WriterWaveAdvancedBlocks.tsx)
   — every literal from the export's spec sheets and writerwave.css ═══ */
.fs-ww-secpad{padding-block:48px;}
.fs-ww-ital{font-style:italic;}
.fs-ww-fquiet{}
.fs-ww-tintcard{background:var(--ww-tint);border-radius:10px;padding:48px;}
/* pull-quote / epigraph */
.fs-ww-pq{max-width:760px;margin-inline:auto;padding-block:48px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:24px;}
.fs-ww-pq-left{align-items:flex-start;text-align:left;}
.fs-ww-pq-epi{max-width:780px;padding-block:64px;}
.fs-ww-pq-mark{font-family:var(--font-display,'Lora',serif);font-size:72px;line-height:.6;color:rgb(var(--c-brand-600));}
.fs-ww-pq-q{margin:0;font-family:var(--font-display,'Lora',serif);font-style:italic;font-size:clamp(1.5rem,1.2rem + 1.2vw,2.25rem);line-height:1.35;text-wrap:balance;color:rgb(var(--c-ink-950));}
.fs-ww-pq-epi .fs-ww-pq-q{min-height:4.2em;}
.fs-ww-pq-cap{display:flex;flex-direction:column;align-items:center;gap:16px;font-size:15px;font-weight:700;}
.fs-ww-pq-left .fs-ww-pq-cap{align-items:flex-start;}
.fs-ww-pq-cap em{font-style:italic;font-weight:400;color:var(--ww-ink3);}
.fs-ww-pq-rule{display:block;width:32px;height:1px;background:rgb(var(--c-accent));transform-origin:left;animation:var(--fs-anim-rise, fs-ww-draw .5s var(--ww-ease) .15s both);}
@keyframes fs-ww-draw{from{transform:scaleX(0);}to{transform:scaleX(1);}}
.fs-ww-pq-ctl{display:flex;align-items:center;gap:24px;}
/* spotlight surfaces */
.fs-ww-spot{padding:48px;}
.fs-ww-portrait-112{width:112px;height:112px;}
/* timeline */
.fs-ww-tl{max-width:760px;display:flex;flex-direction:column;gap:32px;}
.fs-ww-tl-list{list-style:none;margin:0;padding:0;position:relative;display:flex;flex-direction:column;}
.fs-ww-tl-rail{position:absolute;left:7px;top:8px;bottom:8px;width:1px;background:var(--ww-line2);transform-origin:top;animation:var(--fs-anim-rise, fs-ww-drawy 1.2s var(--ww-ease) both);}
@keyframes fs-ww-drawy{from{transform:scaleY(0);}to{transform:scaleY(1);}}
.fs-ww-tl-row{display:grid;grid-template-columns:15px 120px 1fr;gap:24px;align-items:start;padding:16px 0;}
.fs-ww-tl-btn{display:grid;grid-template-columns:15px 110px 1fr;gap:24px;align-items:start;width:100%;text-align:left;padding:10px;border-radius:6px;margin:-10px;transition:background-color .35s var(--ww-ease);}
.fs-ww-tl-select .fs-ww-tl-row{display:block;}
.fs-ww-tl-btn:hover{background:var(--ww-s2);}
.fs-ww-tl-on .fs-ww-tl-btn{background:var(--ww-s2);color:rgb(var(--c-brand-600));}
.fs-ww-tl-dot{width:15px;height:15px;border-radius:50%;border:2px solid rgb(var(--c-accent));background:rgb(var(--c-paper));margin-top:4px;}
.fs-ww-tl-done .fs-ww-tl-dot{background:rgb(var(--c-accent));}
.fs-ww-tl-date{font-family:var(--font-display,'Lora',serif);font-size:15px;color:var(--ww-ink3);padding-top:2px;}
.fs-ww-tl-body{display:flex;flex-direction:column;gap:4px;color:rgb(var(--c-ink-950));}
.fs-ww-tl-body:hover{color:rgb(var(--c-brand-600));}
/* categories */
.fs-ww-cats{display:flex;flex-direction:column;gap:32px;}
.fs-ww-chips{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:16px;border-bottom:1px solid var(--ww-line);}
.fs-ww-chip{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:999px;font-size:15px;font-weight:600;color:var(--ww-ink2);transition:background-color .35s var(--ww-ease),color .35s var(--ww-ease);}
.fs-ww-chip-n{font-family:var(--font-display,'Lora',serif);font-size:13px;opacity:.7;}
.fs-ww-chip-on{background:var(--ww-tint);color:rgb(var(--c-brand-600));}
.fs-ww-cats-desc{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:end;animation:var(--fs-anim-rise, fs-ww-rise .3s var(--ww-ease) both);}
/* carousel */
.fs-ww-car{display:flex;flex-direction:column;gap:24px;}
.fs-ww-car-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;}
.fs-ww-car-ctl{display:flex;align-items:center;gap:12px;}
.fs-ww-arrow{width:40px;height:40px;border-radius:50%;border:1px solid var(--ww-line2);display:grid;place-items:center;color:var(--ww-ink2);transition:color .35s,border-color .35s;}
.fs-ww-arrow:hover{color:rgb(var(--c-ink-950));border-color:rgb(var(--c-ink-950));}
.fs-ww-car-view{overflow:hidden;}
.fs-ww-car-track{display:grid;grid-auto-flow:column;grid-auto-columns:72%;gap:24px;transition:transform .5s var(--ww-ease);}
.fs-ww-car-card{display:flex;flex-direction:column;gap:16px;padding:32px;min-height:300px;transition:opacity .5s var(--ww-ease);}
.fs-ww-car-dim{opacity:.55;}
.fs-ww-car-top{display:flex;justify-content:space-between;align-items:baseline;}
.fs-ww-car-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:auto;padding-top:16px;}
.fs-ww-dots{display:flex;gap:6px;align-items:center;}
.fs-ww-dot{width:8px;height:4px;border-radius:999px;background:var(--ww-line2);transition:width .35s var(--ww-ease),background-color .35s var(--ww-ease);}
.fs-ww-dot-on{width:24px;background:rgb(var(--c-accent));}
/* prompt */
.fs-ww-prompt{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:48px;align-items:end;padding:64px 48px;border-radius:10px;background:var(--ww-tint);}
.fs-ww-prompt-b{display:flex;flex-direction:column;gap:16px;}
.fs-ww-prompt-t{font-family:var(--font-display,'Lora',serif);font-size:clamp(1.5rem,1.2rem + 1vw,2.125rem);line-height:1.3;max-width:24ch;min-height:2.6em;color:rgb(var(--c-ink-950));animation:var(--fs-anim-rise, fs-ww-rise .35s var(--ww-ease) both);}
.fs-ww-prompt-a{display:flex;flex-direction:column;align-items:flex-start;gap:12px;}
/* highlights */
.fs-ww-hlx{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:64px;}
.fs-ww-picks{display:grid;grid-template-columns:1fr 1fr;gap:32px 48px;}
.fs-ww-pick{display:flex;flex-direction:column;gap:8px;padding-top:16px;border-top:1px solid var(--ww-line);color:rgb(var(--c-ink-950));transition:color .35s var(--ww-ease);}
.fs-ww-pick:hover{color:rgb(var(--c-brand-600));}
.fs-ww-pick-top{display:flex;align-items:baseline;gap:12px;}
.fs-ww-mrow{display:grid;grid-template-columns:auto 1fr 1fr;gap:32px;align-items:start;padding:16px 0;border-top:1px solid var(--ww-line);transition:color .35s var(--ww-ease);}
.fs-ww-mrow:hover{color:rgb(var(--c-brand-600));}
.fs-ww-margin{display:flex;flex-direction:column;gap:6px;padding-left:24px;border-left:2px solid var(--ww-tint);}
/* spread / symposium / two-up / three-up */
.fs-ww-spread{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,5fr) minmax(0,3fr);gap:48px;align-items:start;padding-block:48px;border-top:1px solid var(--ww-line);border-bottom:1px solid var(--ww-line);}
.fs-ww-spread-media{aspect-ratio:5/4;}
.fs-ww-symp{display:flex;flex-direction:column;gap:32px;}
.fs-ww-symp-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;}
.fs-ww-symp-col{display:flex;flex-direction:column;gap:16px;padding-top:16px;border-top:2px solid rgb(var(--c-accent));}
.fs-ww-x2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start;}
.fs-ww-x3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;}
.fs-ww-dossier{padding:32px;display:flex;flex-direction:column;gap:16px;animation:var(--fs-anim-rise, fs-ww-rise .35s var(--ww-ease) both);}
.fs-ww-dossier-meta{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--ww-ink2);}
.fs-ww-dossier-meta b{color:rgb(var(--c-ink-950));}
/* reading list pro */
.fs-ww-est{display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right;}
.fs-ww-read-pro{display:grid;grid-template-columns:32px minmax(0,1fr) auto auto;gap:24px;align-items:center;padding-block:16px;border-bottom:1px solid var(--ww-line);}
/* chapters */
.fs-ww-chap{display:grid;grid-template-columns:240px minmax(0,1fr);gap:48px;align-items:start;}
.fs-ww-chap-rail{position:sticky;top:96px;display:flex;flex-direction:column;gap:2px;}
.fs-ww-chap-rail .fs-ww-listh{margin-bottom:8px;}
.fs-ww-chap-row{display:grid;grid-template-columns:2px 1fr auto;gap:12px;align-items:center;padding:10px 12px;border-radius:6px;text-align:left;color:var(--ww-ink2);transition:background-color .35s,color .35s;}
.fs-ww-chap-on{background:var(--ww-s2);color:rgb(var(--c-ink-950));}
.fs-ww-chap-mark{width:2px;border-radius:1px;transition:height .35s var(--ww-ease);}
.fs-ww-chap-tick{color:rgb(var(--c-accent));}
.fs-ww-chap-prog{display:flex;flex-direction:column;gap:8px;padding-top:16px;margin-top:8px;border-top:1px solid var(--ww-line);}
.fs-ww-chap-prog .fs-ww-bar{display:block;}
.fs-ww-pager{display:flex;justify-content:space-between;gap:16px;padding-top:24px;}
/* comments / reply */
.fs-ww-ccard{padding:24px;display:flex;flex-direction:column;gap:16px;}
.fs-ww-reply{display:flex;flex-direction:column;gap:4px;margin-left:16px;padding-left:16px;border-left:2px solid rgb(var(--c-accent));}
/* reader spotlight */
.fs-ww-stats{display:flex;gap:32px;padding-top:16px;}
.fs-ww-stat{display:flex;flex-direction:column;}
/* newsletter pro */
.fs-ww-previewcard{display:flex;flex-direction:column;gap:12px;padding:24px;border-radius:6px;background:rgb(var(--c-paper));}
/* ama */
.fs-ww-ama{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,4fr);gap:48px;align-items:start;}
.fs-ww-ama-form{position:sticky;top:96px;}
.fs-ww-q{display:grid;grid-template-columns:auto 1fr;gap:24px;padding:16px 0;border-top:1px solid var(--ww-line);}
.fs-ww-vote{width:46px;height:46px;border-radius:6px;display:grid;place-items:center;color:var(--ww-ink3);transition:background-color .35s,color .35s;}
.fs-ww-vote-on{background:var(--ww-tint);color:rgb(var(--c-brand-600));}
/* footers */
.fs-ww-end{text-align:center;padding-block:32px 0;font-family:var(--font-display,'Lora',serif);font-style:italic;color:var(--ww-ink3);}
.fs-ww-fmin{display:flex;flex-direction:column;gap:48px;padding-block:64px 48px;}
.fs-ww-fmin-tag{font-family:var(--font-display,'Lora',serif);font-style:italic;font-size:24px;line-height:1.4;max-width:40ch;text-wrap:balance;color:var(--ww-ink2);}
.fs-ww-fmin-nav{display:flex;flex-wrap:wrap;gap:32px;font-size:15px;font-weight:600;}
.fs-ww-fmin-nav a{color:var(--ww-ink2) !important;border-bottom:1.5px solid transparent;padding-bottom:4px;transition:border-color .35s;}
.fs-ww-fmin-nav a:hover{border-bottom-color:rgb(var(--c-accent));}
.fs-ww-fmin-row{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap;}
.fs-ww-fband{background:var(--ww-s2);border-top:0;}
.fs-ww-fdir{display:grid;grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));gap:48px;}
.fs-ww-fnow{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--ww-ink3);}
.fs-ww-fnow a{color:rgb(var(--c-brand-600)) !important;}
.fs-ww-fsec{display:flex;justify-content:space-between;align-items:baseline;gap:12px;}
.fs-ww-fwriter{display:flex;align-items:center;gap:10px;}
.fs-ww-fcom{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,4fr);gap:64px;align-items:start;padding:64px 48px;}
.fs-ww-fcom-links{display:grid;grid-template-columns:1fr 1fr;gap:24px 32px;}
.fs-ww-input-46{height:46px;}
.fs-ww-faces{display:flex;align-items:center;padding-top:8px;}
/* The reader face pile. Sized from the TYPE, not the other way round:
   two initials at the 12px floor need ~15px of clear width, so a 26px
   disc overlapped by 8px left ~4px visible per neighbour and the row
   read as one clump — "RKDWLF SBAN" — rather than five people. 32px
   discs at -6px keep every pair legible while still reading as a pile.
   The ring is the ground colour, so the overlap looks cut rather than
   muddy. */
.fs-ww-face{width:32px;height:32px;font-size:12px;border:2px solid var(--ww-tint);margin-left:-6px;}
.fs-ww-face:first-child{margin-left:0;}
@media (max-width:1000px){.fs-ww-spread,.fs-ww-symp-cols,.fs-ww-x3{grid-template-columns:1fr 1fr;}}
@media (max-width:900px){.fs-ww-fdir{grid-template-columns:1fr 1fr;}.fs-ww-fcom{grid-template-columns:1fr;}}
@media (max-width:860px){.fs-ww-hlx,.fs-ww-prompt,.fs-ww-picks,.fs-ww-cats-desc{grid-template-columns:1fr;}.fs-ww-car-track{grid-auto-columns:92%;}.fs-ww-mrow{grid-template-columns:auto 1fr;}.fs-ww-margin{grid-column:2;}}
@media (max-width:760px){.fs-ww-spread,.fs-ww-symp-cols,.fs-ww-x2,.fs-ww-x3,.fs-ww-chap,.fs-ww-ama{grid-template-columns:1fr;}.fs-ww-chap-rail,.fs-ww-ama-form{position:static;}.fs-ww-tl-row,.fs-ww-tl-btn{grid-template-columns:15px 1fr;}.fs-ww-tl-date{grid-column:2;}.fs-ww-tintcard,.fs-ww-prompt,.fs-ww-spot,.fs-ww-fcom{padding:32px 24px;}}
@media (max-width:640px){.fs-ww-fdir,.fs-ww-fcom-links{grid-template-columns:1fr;}}
@media (prefers-reduced-motion: reduce){
  .fs-ww *,.fs-ww *::before,.fs-ww *::after{animation:none !important;transition-duration:.01ms !important;}
}


.fs-fd{
  position:relative;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-fd *{box-sizing:border-box;}

/* ── Shared type ────────────────────────────────────────────────
   A heavy heritage-sign slab at 400 carries the shopfront register
   on its own. The accent is italic, same ink, same trick every set
   uses so a customer can mix families without the type going feral. */
.fs-fd-eyebrow{
  display:inline-flex;align-items:center;gap:.6rem;
  color:rgb(var(--c-accent, var(--c-brand-600)));
  font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
}
.fs-fd-eyebrow::before{
  content:'';width:1.4rem;height:2px;flex:none;
  background:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-fd-title{
  margin:1.05rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-weight:400;
  font-size:clamp(2rem, 4.6vw, 3.5rem);
  line-height:1.04;
  letter-spacing:.002em;
  text-wrap:balance;
}
.fs-fd-accent{font-style:italic;font-weight:400;}
.fs-fd-h{
  margin:.9rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-weight:400;
  font-size:clamp(1.65rem, 3.2vw, 2.35rem);
  line-height:1.08;
  text-wrap:balance;
}
.fs-fd-sub{
  margin-top:1rem;max-width:56ch;
  font-size:1.02rem;line-height:1.65;
  color:rgb(var(--c-ink-700));
}

/* ── Buttons & links ────────────────────────────────────────────*/
.fs-fd-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:2.75rem;padding:.62em 1.5em;cursor:pointer;
  background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));
  border-radius:var(--fs-radius-control, 2px);
  font-weight:700;font-size:.92rem;letter-spacing:.03em;text-transform:uppercase;
  transition:background-color .18s ease, transform .09s cubic-bezier(.2,.7,.3,1);
}
.fs-fd-btn:hover{background:rgb(var(--c-brand-700));}
/* Motif: the "clipper" press — a fast, tiny jitter distinct from every
   other set's plain scale-down, standing in for the mechanical snap
   of a clipper switching on. Two keyframes, ~90ms total. */
@keyframes fs-fd-clipper{0%{transform:translateX(0);}30%{transform:translateX(-1px) scale(.99);}60%{transform:translateX(1px) scale(.99);}100%{transform:translateX(0) scale(.985);}}
.fs-fd-anim .fs-fd-btn:active{animation:fs-fd-clipper .09s steps(3, end);}
.fs-fd-link{
  display:inline-flex;align-items:center;gap:.4em;cursor:pointer;
  color:rgb(var(--c-ink-950));font-weight:700;font-size:.92rem;
  box-shadow:inset 0 -1px 0 rgb(var(--c-accent, var(--c-brand-600)));
  padding-bottom:2px;
  transition:color .18s ease, box-shadow .18s ease;
}
.fs-fd-link:hover{color:rgb(var(--c-brand-600));box-shadow:inset 0 -2px 0 rgb(var(--c-accent, var(--c-brand-600)));}
.fs-fd-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:1.4rem;margin-top:1.7rem;}

/* ── Motif 1 · THE BEVEL EDGE — cut top-RIGHT, mirrors Arc/Gem ────*/
.fs-fd-card{
  --fs-fd-cut: 1.1rem;
  position:relative;
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line));
  clip-path:polygon(0 0,calc(100% - var(--fs-fd-cut)) 0,100% var(--fs-fd-cut),100% 100%,0 100%);
  box-shadow:var(--fs-shadow-card, none);
}
.fs-fd-card::after{
  content:'';position:absolute;top:0;right:0;
  width:calc(var(--fs-fd-cut) * 1.42);height:1px;
  background:rgb(var(--c-accent, var(--c-brand-600)) / .7);
  transform:rotate(45deg);
  transform-origin:100% 0;
  pointer-events:none;
}

/* ── Motif 2 · THE STROP STITCH — a divider of two dashed lines
   flanking a solid centre ───────────────────────────────────────*/
.fs-fd-stitch{ display:flex; align-items:center; gap:.4rem; }
.fs-fd-stitch::before, .fs-fd-stitch::after{
  content:''; flex:1; height:0;
  border-top:1px dashed rgb(var(--c-line));
}
.fs-fd-stitch-core{ flex:none; width:2.4rem; height:2px; background:rgb(var(--c-accent, var(--c-brand-600))); }

/* ── Motif 3 · THE SNIP — two strokes closing together, once ─────*/
@keyframes fs-fd-snip-a{ from{ transform:rotate(-28deg) scaleX(1); } to{ transform:rotate(-8deg) scaleX(.86); } }
@keyframes fs-fd-snip-b{ from{ transform:rotate(28deg) scaleX(1); } to{ transform:rotate(8deg) scaleX(.86); } }

/* The RazorMark device — every hero, card fallback and CTA device
   draws the same open blade. */
.fs-fd-razor{ display:block; overflow:visible; }
.fs-fd-razor-blade{ fill:var(--fs-fd-blade, rgb(var(--c-paper))); fill-opacity:.92; stroke:rgb(var(--c-accent, var(--c-brand-600))); stroke-width:.6; }
.fs-fd-razor-bolster{ fill:rgb(var(--c-accent, var(--c-brand-600))); }
.fs-fd-razor-scale{ fill:none; stroke:rgb(var(--c-paper)); stroke-opacity:.7; stroke-width:1; }
.fs-fd-razor-pin{ fill:rgb(var(--c-accent, var(--c-brand-600))); }
/* Signature micro-animation 1: the edge glint. The blade's fill
   brightens in a slow held loop (fs-fd-blade-shimmer, declared where
   it's used below) — light catching a cutting edge, not a stone's
   facets. Gated to .fs-fd-razor-glint instances only (the hero and
   CTA devices), never the static work-card fallback. */

/* ═══ HERO ══════════════════════════════════════════════════════*/
.fs-fd-hero{padding:clamp(3rem, 7vw, 5.5rem) clamp(1.25rem, 5vw, 4rem);}
.fs-fd-hero-inner{
  max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:minmax(0, 7fr) minmax(0, 5fr);
  gap:3.5rem;align-items:center;
}
.fs-fd-hero-copy{min-width:0;}
.fs-fd-creds{
  display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;margin-top:2rem;
  padding-top:1.1rem;border-top:1px solid rgb(var(--c-line));
}
.fs-fd-cred{
  position:relative;padding-left:1.1rem;
  font-size:.8rem;font-weight:700;letter-spacing:.04em;
  color:rgb(var(--c-ink-700));
}
.fs-fd-cred::before{
  content:'';position:absolute;left:0;top:.5em;
  width:.6em;height:2px;
  background:rgb(var(--c-accent, var(--c-brand-600)));
}

.fs-fd-hero-stage{position:relative;min-width:0;min-height:24rem;}
.fs-fd-hero-art{
  position:absolute;inset:0 0 0 14%;
  border:1px solid rgb(var(--c-line));
  clip-path:polygon(0 0,calc(100% - 1.4rem) 0,100% 1.4rem,100% 100%,0 100%);
  overflow:hidden;
  box-shadow:var(--fs-shadow-card, none);
}
.fs-fd-hero-art img{width:100%;height:100%;object-fit:cover;display:block;}
.fs-fd-hero-art-fallback{
  position:absolute;inset:0;display:block;
  background:linear-gradient(200deg, rgb(var(--c-brand-600) / .16), rgb(var(--c-brand-600) / .42)), rgb(var(--c-paper-soft));
}
.fs-fd-hero-razor{
  position:absolute;left:2%;bottom:12%;
  color:rgb(var(--c-brand-600));
  filter:drop-shadow(0 12px 20px rgb(var(--c-ink-950) / .35));
  --fs-fd-blade: rgb(var(--c-paper-soft));
}
.fs-fd-razor-glint .fs-fd-razor-blade{
  fill-opacity: .95;
}
.fs-fd-anim .fs-fd-razor-glint .fs-fd-razor-blade{
  animation: fs-fd-blade-shimmer 6.4s ease-in-out infinite;
}
@keyframes fs-fd-blade-shimmer{ 0%, 86%, 100%{ filter:brightness(1); } 44%{ filter:brightness(1.55); } }

.fs-fd-badge{
  position:absolute;right:-.5rem;top:6%;
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line));
  clip-path:polygon(0 0,calc(100% - .8rem) 0,100% .8rem,100% 100%,0 100%);
  padding:.7rem .95rem;
  box-shadow:var(--fs-shadow-lift, 0 10px 24px -10px rgb(var(--c-ink-950) / .3));
  max-width:12rem;
}
.fs-fd-badge-t{display:block;font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--c-ink-400));}
.fs-fd-badge-v{display:block;margin-top:.2rem;font-size:.85rem;font-weight:700;}

/* ═══ PAGE HEADER ═══════════════════════════════════════════════*/
.fs-fd-hd{padding:clamp(2.6rem, 6vw, 4.5rem) clamp(1.25rem, 5vw, 4rem) clamp(1.8rem, 4vw, 2.8rem);}
.fs-fd-hd-inner{max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-fd-hd-title{font-size:clamp(1.9rem, 4vw, 3rem);}
.fs-fd-hd-rule{
  display:block;margin-top:1.6rem;height:0;
  border-top:1px dashed rgb(var(--c-line));
  position:relative;
}
.fs-fd-hd-rule::after{
  content:'';position:absolute;left:0;top:-1.5px;width:2.4rem;height:3px;
  background:rgb(var(--c-accent, var(--c-brand-600)));
}

/* ═══ WORK — the three signature cuts ═══════════════════════════*/
.fs-fd-wk{padding:clamp(2.75rem, 6vw, 4.75rem) clamp(1.25rem, 5vw, 4rem);}
.fs-fd-wk-head{max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-fd-wk-grid{
  max-width:var(--fs-layout-max,72rem);margin:2.2rem auto 0;
  display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:1.4rem;
}
.fs-fd-wk-card{display:flex;flex-direction:column;overflow:visible;}
.fs-fd-wk-photo{
  position:relative;margin:0;aspect-ratio:1 / 1;overflow:hidden;
  background:rgb(var(--c-ink-950));
  display:grid;place-items:center;
  color:rgb(var(--c-brand-600));
}
.fs-fd-wk-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.fs-fd-wk-photo-fallback{display:grid;place-items:center;}
/* Signature micro-animation 2: the razor-edge sweep. A hard diagonal
   clip-path reveals a lighter "after" tint on hover — one stroke
   uncovering the finished look, not a tilt or a shine. */
.fs-fd-wk-edge{
  position:absolute;inset:0;pointer-events:none;
  background:rgb(var(--c-accent, var(--c-brand-600)) / .22);
  clip-path:polygon(0 100%,0 100%,0 100%);
  transition:clip-path .5s cubic-bezier(.2,.7,.3,1);
}
.fs-fd-anim .fs-fd-wk-card:hover .fs-fd-wk-edge{
  clip-path:polygon(0 100%,100% 0,100% 100%);
}
.fs-fd-wk-body{display:flex;flex-direction:column;flex:1;padding:1.1rem 1.25rem 1.35rem;}
.fs-fd-wk-name{
  font-family:var(--font-display, Georgia, serif);
  font-weight:400;font-size:1.2rem;line-height:1.15;
}
.fs-fd-wk-price{
  margin-top:.35rem;font-family:var(--font-display, Georgia, serif);
  font-size:1.4rem;color:rgb(var(--c-brand-600));
}
.fs-fd-wk-meta{
  margin-top:.5rem;padding-top:.5rem;
  border-top:1px dashed rgb(var(--c-line));
  font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-fd-wk-blurb{margin-top:.65rem;font-size:.88rem;line-height:1.58;color:rgb(var(--c-ink-700));}
.fs-fd-wk-cta{margin-top:auto;padding-top:1rem;align-self:flex-start;font-size:.86rem;}

/* ═══ BUILDER — the live cut configurator ════════════════════════*/
.fs-fd-bd{padding:clamp(2.75rem, 6vw, 4.75rem) clamp(1.25rem, 5vw, 4rem);}
.fs-fd-bd-head{max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-fd-bd-grid{
  max-width:var(--fs-layout-max,72rem);margin:2.2rem auto 0;
  display:grid;grid-template-columns:minmax(0, 7fr) minmax(0, 5fr);
  gap:2.4rem;align-items:start;
}
.fs-fd-bd-form{min-width:0;display:grid;gap:1.7rem;}
.fs-fd-bd-q{border:0;margin:0;padding:0;min-width:0;}
.fs-fd-bd-l{display:flex;align-items:baseline;gap:.65rem;margin-bottom:.8rem;padding:0;font-weight:700;font-size:1.02rem;}
.fs-fd-bd-n{font-family:var(--font-display, Georgia, serif);font-size:.85rem;color:rgb(var(--c-accent, var(--c-brand-600)));letter-spacing:.04em;}
.fs-fd-seg{display:flex;flex-wrap:wrap;gap:.55rem;}
.fs-fd-seg-b{
  appearance:none;cursor:pointer;
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line));
  clip-path:polygon(0 0,calc(100% - .5rem) 0,100% .5rem,100% 100%,0 100%);
  color:rgb(var(--c-ink-700));
  font:inherit;font-size:.92rem;font-weight:600;
  padding:.55em 1.05em;min-height:2.5rem;
  transition:border-color .16s ease, background-color .16s ease, color .16s ease, transform .12s ease;
}
.fs-fd-seg-b:hover{border-color:rgb(var(--c-brand-600) / .6);color:rgb(var(--c-ink-950));}
.fs-fd-seg-b:focus-visible{outline:2px solid rgb(var(--c-accent, var(--c-brand-600)));outline-offset:2px;}
.fs-fd-seg-b[data-on="1"]{
  background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));
  color:rgb(var(--c-paper));font-weight:700;
}
.fs-fd-anim .fs-fd-seg-b:active{transform:scale(.96);}
.fs-fd-bd-hint{font-size:.86rem;color:rgb(var(--c-ink-400));font-style:italic;}

.fs-fd-bd-card{padding:1.6rem 1.7rem 1.7rem;}
/* Signature micro-animation 3: the fade preview. --fs-fd-fade-stop is
   set inline by the component per instance — a CSS custom property
   scoped to THIS element, so two builders on one page never fight
   over each other's preview (same discipline as Gem's stone-hue
   props). The gradient's stop ANIMATES to its new position rather
   than jumping, the literal tonal blend a "fade" is named for. */
.fs-fd-bd-preview{
  height:3.4rem;margin:-.2rem 0 1.1rem;
  border:1px solid rgb(var(--c-line));
  overflow:hidden;
  position:relative;
}
.fs-fd-bd-preview-fade{
  position:absolute;inset:0;
  background:linear-gradient(90deg,
    rgb(var(--c-ink-950)) 0%,
    rgb(var(--c-ink-950)) var(--fs-fd-fade-stop, 20%),
    rgb(var(--c-paper-soft)) calc(var(--fs-fd-fade-stop, 20%) + 34%),
    rgb(var(--c-paper-soft)) 100%);
  transition: background .5s cubic-bezier(.2,.7,.3,1);
}
.fs-fd-bd-card-t{
  font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-fd-bd-figure{
  margin-top:.6rem;
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(1.8rem, 3.6vw, 2.5rem);line-height:1.05;
  font-variant-numeric:tabular-nums;
}
.fs-fd-bd-figure-l{margin-top:.45rem;font-size:.86rem;color:rgb(var(--c-ink-700));}
.fs-fd-bd-inc-t{
  margin-top:1.3rem;padding-top:1.1rem;border-top:1px dashed rgb(var(--c-line));
  font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-fd-bd-inc{list-style:none;margin:.7rem 0 0;padding:0;display:grid;gap:.55rem;}
.fs-fd-bd-inc li{position:relative;padding-left:1.1rem;font-size:.9rem;line-height:1.55;color:rgb(var(--c-ink-700));}
.fs-fd-bd-inc li::before{
  content:'';position:absolute;left:0;top:.55em;
  width:.55em;height:2px;background:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-fd-bd-cta{margin-top:1.4rem;width:100%;}
.fs-fd-bd-note{margin-top:.9rem;font-size:.8rem;line-height:1.55;color:rgb(var(--c-ink-400));}

/* ═══ CARE — qualifications / hygiene / patch-test panel ═════════*/
.fs-fd-cr{padding:clamp(2.75rem, 6vw, 4.75rem) clamp(1.25rem, 5vw, 4rem);}
.fs-fd-cr-head{max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-fd-cr-grid{
  max-width:var(--fs-layout-max,72rem);margin:2.2rem auto 0;
  display:grid;grid-template-columns:repeat(auto-fit, minmax(15rem, 1fr));gap:1.4rem;
}
.fs-fd-cr-card{padding:1.4rem 1.5rem 1.55rem;display:flex;flex-direction:column;gap:.55rem;}
.fs-fd-cr-t{font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:1.15rem;margin:0;}
.fs-fd-cr-b{font-size:.88rem;line-height:1.6;color:rgb(var(--c-ink-700));}
.fs-fd-cr-card .fs-fd-link{margin-top:auto;padding-top:.4rem;font-size:.82rem;align-self:flex-start;}

/* ═══ JOURNEY — the snip spine ════════════════════════════════════*/
.fs-fd-jn{padding:clamp(2.75rem, 6vw, 4.75rem) clamp(1.25rem, 5vw, 4rem);}
.fs-fd-jn-head{max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-fd-jn-list{
  max-width:var(--fs-layout-max,72rem);margin:2.4rem auto 0;padding:0;list-style:none;
  display:grid;grid-template-columns:repeat(5, minmax(0, 1fr));gap:1.3rem;
  position:relative;
}
.fs-fd-jn-list::before{content:'';position:absolute;left:0;right:0;top:1.15rem;border-top:1px dashed rgb(var(--c-line));}
.fs-fd-jn-step{position:relative;min-width:0;padding-top:3.3rem;}
.fs-fd-jn-mark-icon{
  position:absolute;left:0;top:0;
  width:2.3rem;height:2.3rem;
  display:block;
  background:rgb(var(--c-paper));
  box-shadow:0 0 0 5px rgb(var(--c-paper));
}
.fs-fd-jn-snip-a, .fs-fd-jn-snip-b{
  position:absolute;left:50%;top:50%;
  width:1.7rem;height:2px;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  transform-origin:0 50%;
}
.fs-fd-jn-snip-a{ transform:translate(-1px,-1px) rotate(-28deg); }
.fs-fd-jn-snip-b{ transform:translate(-1px,1px) rotate(28deg); }
.fs-fd-anim .fs-fd-jn-step:nth-child(1) .fs-fd-jn-snip-a{ animation:fs-fd-snip-a .5s cubic-bezier(.2,.7,.3,1) .1s both; }
.fs-fd-anim .fs-fd-jn-step:nth-child(1) .fs-fd-jn-snip-b{ animation:fs-fd-snip-b .5s cubic-bezier(.2,.7,.3,1) .1s both; }
.fs-fd-anim .fs-fd-jn-step:nth-child(2) .fs-fd-jn-snip-a{ animation:fs-fd-snip-a .5s cubic-bezier(.2,.7,.3,1) .2s both; }
.fs-fd-anim .fs-fd-jn-step:nth-child(2) .fs-fd-jn-snip-b{ animation:fs-fd-snip-b .5s cubic-bezier(.2,.7,.3,1) .2s both; }
.fs-fd-anim .fs-fd-jn-step:nth-child(3) .fs-fd-jn-snip-a{ animation:fs-fd-snip-a .5s cubic-bezier(.2,.7,.3,1) .3s both; }
.fs-fd-anim .fs-fd-jn-step:nth-child(3) .fs-fd-jn-snip-b{ animation:fs-fd-snip-b .5s cubic-bezier(.2,.7,.3,1) .3s both; }
.fs-fd-anim .fs-fd-jn-step:nth-child(4) .fs-fd-jn-snip-a{ animation:fs-fd-snip-a .5s cubic-bezier(.2,.7,.3,1) .4s both; }
.fs-fd-anim .fs-fd-jn-step:nth-child(4) .fs-fd-jn-snip-b{ animation:fs-fd-snip-b .5s cubic-bezier(.2,.7,.3,1) .4s both; }
.fs-fd-anim .fs-fd-jn-step:nth-child(5) .fs-fd-jn-snip-a{ animation:fs-fd-snip-a .5s cubic-bezier(.2,.7,.3,1) .5s both; }
.fs-fd-anim .fs-fd-jn-step:nth-child(5) .fs-fd-jn-snip-b{ animation:fs-fd-snip-b .5s cubic-bezier(.2,.7,.3,1) .5s both; }
.fs-fd-jn-mark{display:block;font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgb(var(--c-accent, var(--c-brand-600)));}
.fs-fd-jn-t{margin:.35rem 0 0;font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:1.2rem;}
.fs-fd-jn-b{margin-top:.5rem;font-size:.88rem;line-height:1.6;color:rgb(var(--c-ink-700));}

/* ═══ CTA — the closing card ═══════════════════════════════════════*/
.fs-fd-cta{padding:clamp(2.75rem, 6vw, 4.75rem) clamp(1.25rem, 5vw, 4rem);}
.fs-fd-cta-panel{
  position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto;
  background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));
  clip-path:polygon(0 0,calc(100% - 1.8rem) 0,100% 1.8rem,100% 100%,0 100%);
  padding:clamp(2.2rem, 5vw, 3.6rem);
  display:grid;grid-template-columns:minmax(0, 8fr) minmax(0, 3fr);
  gap:2rem;align-items:center;
  box-shadow:var(--fs-shadow-lift, none);
}
.fs-fd-cta-inner{position:relative;z-index:1;min-width:0;}
.fs-fd-cta-eyebrow{color:rgb(var(--c-paper) / .85);}
.fs-fd-cta-eyebrow::before{background:rgb(var(--c-paper) / .75);}
.fs-fd-cta-title{font-size:clamp(1.9rem, 4vw, 2.9rem);}
.fs-fd-cta-sub{color:rgb(var(--c-paper) / .85);}
.fs-fd-btn-oncta{background:rgb(var(--c-paper));color:rgb(var(--c-brand-700));}
.fs-fd-btn-oncta:hover{background:rgb(var(--c-paper) / .88);}
.fs-fd-link-oncta{color:rgb(var(--c-paper));box-shadow:inset 0 -1px 0 rgb(var(--c-paper) / .6);font-variant-numeric:tabular-nums;}
.fs-fd-link-oncta:hover{color:rgb(var(--c-paper));box-shadow:inset 0 -2px 0 rgb(var(--c-paper));}
.fs-fd-cta-note{margin-top:1.1rem;font-size:.8rem;color:rgb(var(--c-paper) / .7);}
.fs-fd-cta-device{
  position:relative;z-index:1;min-width:0;justify-self:center;
  color:rgb(var(--c-paper));
  --fs-fd-blade: rgb(var(--c-paper));
}
.fs-fd-cta-device .fs-fd-razor-bolster,
.fs-fd-cta-device .fs-fd-razor-pin{ fill:rgb(var(--c-paper)); }
.fs-fd-cta-device .fs-fd-razor-scale{ stroke:rgb(var(--c-paper) / .55); }

/* ── Entrance motion — one grammar, applied to whole panels on
   first reveal, separate from the per-block micro-animations above.
   Deliberately small. ────────────────────────────────────────────*/
@keyframes fs-fd-mount{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
.fs-fd-anim .fs-fd-hero-copy{animation:fs-fd-mount .55s cubic-bezier(.2,.7,.3,1) both;}
.fs-fd-anim .fs-fd-hero-razor{animation:fs-fd-mount .55s cubic-bezier(.2,.7,.3,1) .15s both;}
.fs-fd-anim .fs-fd-wk-card:nth-child(1){animation:fs-fd-mount .5s cubic-bezier(.2,.7,.3,1) both;}
.fs-fd-anim .fs-fd-wk-card:nth-child(2){animation:fs-fd-mount .5s cubic-bezier(.2,.7,.3,1) .08s both;}
.fs-fd-anim .fs-fd-wk-card:nth-child(3){animation:fs-fd-mount .5s cubic-bezier(.2,.7,.3,1) .16s both;}

@media (prefers-reduced-motion: reduce){
  .fs-fd-anim .fs-fd-hero-copy, .fs-fd-anim .fs-fd-hero-razor,
  .fs-fd-anim .fs-fd-wk-card, .fs-fd-anim .fs-fd-btn:active,
  .fs-fd-anim .fs-fd-seg-b:active,
  .fs-fd-anim .fs-fd-razor-glint .fs-fd-razor-blade,
  .fs-fd-anim .fs-fd-jn-snip-a, .fs-fd-anim .fs-fd-jn-snip-b{ animation:none !important; }
  .fs-fd-anim .fs-fd-wk-card{ transform:none !important; }
  .fs-fd-wk-edge{ transition:none !important; }
  .fs-fd-bd-preview-fade{ transition:none !important; }
  .fs-fd-jn-snip-a{ transform:translate(-1px,-1px) rotate(-8deg) scaleX(.86) !important; }
  .fs-fd-jn-snip-b{ transform:translate(-1px,1px) rotate(8deg) scaleX(.86) !important; }
}

/* ── Responsive ─────────────────────────────────────────────────*/
@media (max-width:960px){
  .fs-fd-hero-inner{grid-template-columns:1fr;gap:2.6rem;}
  .fs-fd-hero-stage{min-height:20rem;}
  .fs-fd-bd-grid{grid-template-columns:1fr;}
  .fs-fd-jn-list{grid-template-columns:1fr;gap:0;}
  .fs-fd-jn-list::before{left:1.15rem;right:auto;top:0;bottom:0;border-top:0;border-left:1px dashed rgb(var(--c-line));}
  .fs-fd-jn-step{padding:0 0 1.6rem 3.4rem;}
  .fs-fd-jn-step:last-child{padding-bottom:0;}
  .fs-fd-cta-panel{grid-template-columns:1fr;}
  .fs-fd-cta-device{display:none;}
}
@media (max-width:900px){
  .fs-fd-wk-grid{grid-template-columns:1fr;}
}

/* ── favFadeFooter (theme-chrome batch 3, Strop) ────────────────────
   fs-fd-ft: the full-bleed band on the page ground (named container) —
   never a second green panel under favFadeCta; fs-fd-ft-in: the content
   box, which narrows with the Layout (named container). The heading
   numerals are a counter reset on .fs-fd-ft-body, a plain box: a counter
   reset on a container does not reach its headings. */
.fs-fd-ft{container-type:inline-size;container-name:fs-fd-ft;padding:0 clamp(1rem,4vw,2.5rem);background:rgb(var(--c-paper));--fd-ft-rule:rgb(var(--c-ink-950) / .14);--fd-ft-line:rgb(var(--c-ink-950) / .34);--fd-ft-brass:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 73%, rgb(var(--c-ink-950)));--fd-ft-ink-hi:rgb(var(--c-brand-text))}
.fs-fd-ft:is(.dark *):not(.fs-preview-light *){--fd-ft-ink-hi:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-fd-ft-in{container-type:inline-size;container-name:fs-fd-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:36px 30px}
.fs-fd-ft-body{counter-reset:fs-fd-ft}
.fs-fd-ft-mark{flex:none;width:54px;height:54px}
.fs-fd-ft-mk-b{stroke:rgb(var(--c-brand-600))}
.fs-fd-ft-mk-a{stroke:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-fd-ft-razor{display:block;flex:none;width:72px;height:24px;overflow:visible}
.fs-fd-ft-rz-b{fill:currentColor;fill-opacity:.9}
.fs-fd-ft-rz-o{fill:currentColor}
.fs-fd-ft-rz-s{fill:none;stroke:currentColor;stroke-opacity:.72;stroke-width:1.6}
.fs-fd-ft-stitch{display:flex;align-items:center;gap:14px;margin-bottom:34px;color:var(--fd-ft-brass)}
.fs-fd-ft-stitch::before,.fs-fd-ft-stitch::after{content:'';flex:1;border-top:1px dashed var(--fd-ft-line)}
.fs-fd-ft-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,.8fr);gap:32px clamp(28px,4.5cqi,64px)}
.fs-fd-ft-col{min-width:0}
.fs-fd-ft-brand{margin:0;display:flex;align-items:center;gap:14px}
.fs-fd-ft-name{font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:32px;line-height:1.02;color:var(--fd-ft-ink-hi)}
.fs-fd-ft-sub{margin:10px 0 0;display:flex;align-items:center;gap:10px;font-weight:700;font-size:11px;line-height:1;letter-spacing:.24em;text-transform:uppercase;color:var(--fd-ft-brass)}
.fs-fd-ft-sub::before{content:'';flex:none;width:22px;height:2px;background:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-fd-ft-state{margin:16px 0 0;max-width:38ch;font-size:15px;line-height:1.6;color:rgb(var(--c-ink-400))}
.fs-fd-ft-addr{margin:14px 0 0;font-size:15px;line-height:1.65}
.fs-fd-ft-tel{display:inline-block;margin-top:2px;font-weight:700;letter-spacing:.04em;box-shadow:inset 0 -1.5px 0 rgb(var(--c-accent, var(--c-brand-600)));color:inherit;text-decoration:none}
.fs-fd-ft-h{margin:0 0 4px;display:flex;align-items:baseline;gap:9px;padding-bottom:10px;font-weight:700;font-size:12px;line-height:1;letter-spacing:.18em;text-transform:uppercase;background:linear-gradient(rgb(var(--c-accent, var(--c-brand-600))),rgb(var(--c-accent, var(--c-brand-600)))) 0 100%/38px 3px no-repeat,repeating-linear-gradient(90deg,var(--fd-ft-line) 0 6px,transparent 6px 10px) 0 calc(100% - 1px)/100% 1px no-repeat}
.fs-fd-ft-h::before{counter-increment:fs-fd-ft;content:counter(fs-fd-ft,decimal-leading-zero);font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:14px;line-height:1;letter-spacing:.04em;color:var(--fd-ft-brass)}
.fs-fd-ft-week{margin:0}
.fs-fd-ft-hrow{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding-block:9px;border-bottom:1px dashed var(--fd-ft-line)}
.fs-fd-ft-dt{font-weight:600;font-size:15px;line-height:1.3}
.fs-fd-ft-dd{margin:0;font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:17px;line-height:1.2;color:var(--fd-ft-ink-hi);font-variant-numeric:tabular-nums;white-space:nowrap}
.fs-fd-ft-hrow.is-off .fs-fd-ft-dt{color:rgb(var(--c-ink-400))}
.fs-fd-ft-hrow.is-off .fs-fd-ft-dd{font-weight:700;font-size:11.5px;line-height:1.2;letter-spacing:.16em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
.fs-fd-ft-note{margin:10px 0 0;font-size:13.5px;line-height:1.5;color:rgb(var(--c-ink-400))}
.fs-fd-ft-links{list-style:none;margin:0;padding:0}
.fs-fd-ft-li{padding-block:2px}
.fs-fd-ft-link{position:relative;display:inline-block;padding:5px 0 5px 19px;font-size:15px;color:rgb(var(--c-ink-950));text-decoration:none}
.fs-fd-ft-link::before{content:'';position:absolute;left:0;top:50%;width:9px;height:2px;background:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-fd-ft-link:hover{color:var(--fd-ft-ink-hi);text-decoration:underline;text-underline-offset:3px}
.fs-fd-ft-checks{margin-top:38px}
.fs-fd-ft-cards{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.fs-fd-ft-card{--fd-ft-c:14px;position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;padding:16px 18px 18px;background:rgb(var(--c-paper-soft));box-shadow:inset 0 0 0 1px var(--fd-ft-line);clip-path:polygon(0 0,calc(100% - var(--fd-ft-c)) 0,100% var(--fd-ft-c),100% 100%,0 100%)}
.fs-fd-ft-card::after{content:'';position:absolute;top:0;left:calc(100% - var(--fd-ft-c));width:calc(var(--fd-ft-c) * 1.4142);height:1.5px;background:rgb(var(--c-accent, var(--c-brand-600)));transform-origin:0 0;transform:rotate(45deg)}
.fs-fd-ft-cfig{font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:19px;line-height:1.1;color:var(--fd-ft-ink-hi);font-variant-numeric:tabular-nums}
.fs-fd-ft-cbody{font-size:13.5px;line-height:1.5;color:rgb(var(--c-ink-400))}
.fs-fd-ft-clink{margin-top:auto;padding:4px 0 2px;font-weight:700;font-size:13px;line-height:1.3;color:rgb(var(--c-ink-950));box-shadow:inset 0 -1.5px 0 rgb(var(--c-accent, var(--c-brand-600)));text-decoration:none}
.fs-fd-ft-clink:hover{color:var(--fd-ft-ink-hi)}
.fs-fd-ft-legal{margin:30px 0 0;display:flex;flex-wrap:wrap;gap:6px 18px;padding-top:16px;border-top:1px solid var(--fd-ft-rule);font-size:12.5px;color:rgb(var(--c-ink-400))}
.fs-fd-ft-legal-a{color:inherit;text-decoration:none}
.fs-fd-ft-legal-a:hover{color:rgb(var(--c-ink-950))}
@container fs-fd-ft (max-width: 40rem){
  .fs-fd-ft-in{padding-block:30px 24px}
}
@container fs-fd-ft-in (max-width: 56rem){
  .fs-fd-ft-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-fd-ft-id{grid-column:1/-1}
  .fs-fd-ft-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container fs-fd-ft (max-width: 48rem){
  .fs-fd-ft-grid{grid-template-columns:minmax(0,1fr);gap:28px}
  .fs-fd-ft-links{columns:2;column-gap:20px}
  .fs-fd-ft-li{break-inside:avoid}
  .fs-fd-ft-name{font-size:28px}
}
@container fs-fd-ft (max-width: 30rem){
  .fs-fd-ft-cards{grid-template-columns:minmax(0,1fr)}
  .fs-fd-ft-stitch{margin-bottom:26px}
}


.fs-gm{
  position:relative;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-gm *{box-sizing:border-box;}

/* ── Shared type ────────────────────────────────────────────────
   A high-contrast Didone at 400 carries the "cut" register on its
   own — thick-thin strokes read as light catching an edge before a
   single facet is drawn. The accent is italic, same ink. */
.fs-gm-eyebrow{
  display:inline-flex;align-items:center;gap:.6rem;
  color:rgb(var(--c-accent, var(--c-brand-600)));
  font-size:.7rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
}
.fs-gm-eyebrow::before{
  content:'';width:.5rem;height:.5rem;flex:none;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);
}
.fs-gm-title{
  margin:1.05rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-weight:400;
  font-size:clamp(2rem, 4.6vw, 3.5rem);
  line-height:1.06;
  letter-spacing:-0.005em;
  text-wrap:balance;
}
.fs-gm-accent{font-style:italic;font-weight:400;}
.fs-gm-h{
  margin:.9rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-weight:400;
  font-size:clamp(1.65rem, 3.2vw, 2.35rem);
  line-height:1.1;
  text-wrap:balance;
}
.fs-gm-sub{
  margin-top:1rem;max-width:56ch;
  font-size:1.02rem;line-height:1.65;
  color:rgb(var(--c-ink-700));
}

/* ── Buttons & links ────────────────────────────────────────────*/
.fs-gm-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:2.75rem;padding:.62em 1.5em;cursor:pointer;
  background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));
  border-radius:var(--fs-radius-control, 2px);
  font-weight:600;font-size:.95rem;letter-spacing:.02em;
  transition:background-color .18s ease, transform .16s cubic-bezier(.2,.7,.3,1);
}
.fs-gm-btn:hover{background:rgb(var(--c-brand-700));}
.fs-gm-btn:active{transform:scale(.97);}
.fs-gm-link{
  display:inline-flex;align-items:center;gap:.4em;cursor:pointer;
  color:rgb(var(--c-ink-950));font-weight:600;font-size:.95rem;
  box-shadow:inset 0 -1px 0 rgb(var(--c-accent, var(--c-brand-600)));
  padding-bottom:2px;
  transition:color .18s ease, box-shadow .18s ease;
}
.fs-gm-link:hover{color:rgb(var(--c-brand-600));box-shadow:inset 0 -2px 0 rgb(var(--c-accent, var(--c-brand-600)));}
.fs-gm-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:1.4rem;margin-top:1.7rem;}

/* ── Motif 1 · THE FACET BEVEL ──────────────────────────────────
   A card is a surface whose top-left corner is cut on the diagonal.
   The cut distance scales with the card, so small chips and large
   panels both read as the same cut angle. */
.fs-gm-card{
  --fs-gm-cut: 1.1rem;
  position:relative;
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line));
  clip-path:polygon(var(--fs-gm-cut) 0,100% 0,100% 100%,0 100%,0 var(--fs-gm-cut));
  box-shadow:var(--fs-shadow-card, none);
}
.fs-gm-card::after{
  content:'';position:absolute;top:0;left:0;
  width:calc(var(--fs-gm-cut) * 1.42);height:1px;
  background:rgb(var(--c-accent, var(--c-brand-600)) / .7);
  transform:rotate(-45deg) translate(0, 0);
  transform-origin:0 0;
  pointer-events:none;
}

/* ── Motif 3 · THE SET — one expanding ring, played once ─────────*/
@keyframes fs-gm-set{
  0%{ box-shadow:0 0 0 0 rgb(var(--c-accent, var(--c-brand-600)) / .55); }
  100%{ box-shadow:0 0 0 .55rem rgb(var(--c-accent, var(--c-brand-600)) / 0); }
}

/* The CutGem mark — every hero, card fallback, builder preview and
   CTA device draws the same octagon, coloured by inherited
   currentColor/tokens unless overridden inline for the morph. */
.fs-gm-cutgem{ display:block; overflow:visible; }
.fs-gm-cutgem-body{
  fill: var(--fs-gm-stone, rgb(var(--c-paper)));
  fill-opacity:.14;
}
.fs-gm-cutgem-facet{
  fill: var(--fs-gm-stone, rgb(var(--c-paper)));
  fill-opacity:.22;
  stroke: var(--fs-gm-metal, rgb(var(--c-accent, var(--c-brand-600))));
  stroke-width:.6;
}
.fs-gm-cutgem-table{
  fill:none;
  stroke: var(--fs-gm-metal, rgb(var(--c-accent, var(--c-brand-600))));
  stroke-width:1.1;
}

/* ═══ HERO ══════════════════════════════════════════════════════*/
.fs-gm-hero{padding:clamp(3rem, 7vw, 5.5rem) clamp(1.25rem, 5vw, 4rem);}
.fs-gm-hero-inner{
  max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:minmax(0, 7fr) minmax(0, 5fr);
  gap:3.5rem;align-items:center;
}
.fs-gm-hero-copy{min-width:0;}
.fs-gm-creds{
  display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;margin-top:2rem;
  padding-top:1.1rem;border-top:1px solid rgb(var(--c-line));
}
.fs-gm-cred{
  position:relative;padding-left:1rem;
  font-size:.8rem;font-weight:600;letter-spacing:.06em;
  color:rgb(var(--c-ink-700));
}
.fs-gm-cred::before{
  content:'';position:absolute;left:0;top:.42em;
  width:.4em;height:.4em;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);
}

.fs-gm-hero-stage{position:relative;min-width:0;min-height:24rem;}
.fs-gm-hero-art{
  position:absolute;inset:0 0 0 14%;
  border:1px solid rgb(var(--c-line));
  clip-path:polygon(1.4rem 0,100% 0,100% 100%,0 100%,0 1.4rem);
  overflow:hidden;
  box-shadow:var(--fs-shadow-card, none);
}
.fs-gm-hero-art img{width:100%;height:100%;object-fit:cover;display:block;}
.fs-gm-hero-art-fallback{
  position:absolute;inset:0;display:block;
  background:linear-gradient(160deg, rgb(var(--c-brand-600) / .16), rgb(var(--c-brand-600) / .42)), rgb(var(--c-paper-soft));
}
/* the hero gem — sits over the art, own drop shadow so it separates
   from the backdrop regardless of palette */
.fs-gm-hero-gem{
  position:absolute;left:0;bottom:10%;
  color:rgb(var(--c-brand-600));
  filter:drop-shadow(0 14px 22px rgb(var(--c-ink-950) / .35));
}
.fs-gm-hero-gem .fs-gm-cutgem-body{ fill:rgb(var(--c-paper-soft)); fill-opacity:.9; }
.fs-gm-hero-gem .fs-gm-cutgem-facet{ fill:rgb(var(--c-paper-soft)); fill-opacity:.55; stroke:rgb(var(--c-brand-600)); stroke-width:.5; }
.fs-gm-hero-gem .fs-gm-cutgem-table{ stroke:rgb(var(--c-accent, var(--c-brand-600))); stroke-width:1; }
.fs-gm-badge{
  position:absolute;right:-.5rem;top:6%;
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line));
  clip-path:polygon(.8rem 0,100% 0,100% 100%,0 100%,0 .8rem);
  padding:.7rem .95rem;
  box-shadow:var(--fs-shadow-lift, 0 10px 24px -10px rgb(var(--c-ink-950) / .3));
  max-width:12rem;
}
.fs-gm-badge-t{display:block;font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--c-ink-400));}
.fs-gm-badge-v{display:block;margin-top:.2rem;font-size:.85rem;font-weight:600;}

/* Signature micro-animation 1: the idle facet shimmer. Each facet
   polygon takes its turn brightening, staggered by the inline
   animation-delay set in the component — a light travelling once
   round the stone, then holding, then repeating on a slow ambient
   period so it never reads as looping chatter. */
@keyframes fs-gm-facet-glint{
  0%, 92%, 100%{ fill-opacity:.22; }
  4%{ fill-opacity:.68; }
}
.fs-gm-anim .fs-gm-hero-gem .fs-gm-cutgem-facet{
  animation:fs-gm-facet-glint 5.6s ease-in-out infinite;
}

/* ═══ PAGE HEADER ═══════════════════════════════════════════════*/
.fs-gm-hd{padding:clamp(2.6rem, 6vw, 4.5rem) clamp(1.25rem, 5vw, 4rem) clamp(1.8rem, 4vw, 2.8rem);}
.fs-gm-hd-inner{max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-gm-hd-title{font-size:clamp(1.9rem, 4vw, 3rem);}
.fs-gm-hd-rule{
  display:block;margin-top:1.6rem;height:0;
  border-top:2px solid rgb(var(--c-ink-950));
  position:relative;
}
.fs-gm-hd-rule::after{
  content:'';position:absolute;left:0;top:-1px;width:2.4rem;height:3px;
  background:rgb(var(--c-accent, var(--c-brand-600)));
}

/* ═══ PIECES — tilt-and-sheen cards ═════════════════════════════*/
.fs-gm-pc{padding:clamp(2.75rem, 6vw, 4.75rem) clamp(1.25rem, 5vw, 4rem);}
.fs-gm-pc-head{max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-gm-pc-grid{
  max-width:var(--fs-layout-max,72rem);margin:2.2rem auto 0;
  display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:1.4rem;
  perspective:1400px;
}
.fs-gm-pc-card{display:flex;flex-direction:column;overflow:visible;}
.fs-gm-pc-photo{
  position:relative;margin:0;aspect-ratio:1 / 1;overflow:hidden;
  background:rgb(var(--c-ink-950));
  display:grid;place-items:center;
  color:rgb(var(--c-brand-600));
}
.fs-gm-pc-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.fs-gm-pc-photo-fallback{display:grid;place-items:center;}
/* Signature micro-animation 2: the sheen. A diagonal light band sits
   just off-canvas and sweeps across on hover — the single glint this
   composition is allowed, timed to arrive with the tilt. */
.fs-gm-pc-sheen{
  position:absolute;inset:-60% -80%;pointer-events:none;
  background:linear-gradient(115deg, transparent 42%, rgb(255 255 255 / .16) 50%, transparent 58%);
  transform:translateX(-120%);
  transition:transform .6s cubic-bezier(.2,.7,.3,1);
}
.fs-gm-anim .fs-gm-pc-card{
  transition:transform .35s cubic-bezier(.2,.7,.3,1), box-shadow .35s ease;
  transform-style:preserve-3d;
}
.fs-gm-anim .fs-gm-pc-card:hover{
  transform:rotateX(3deg) rotateY(-4deg) translateY(-3px);
  box-shadow:var(--fs-shadow-lift, 0 18px 30px -16px rgb(var(--c-ink-950) / .4));
}
.fs-gm-anim .fs-gm-pc-card:hover .fs-gm-pc-sheen{transform:translateX(120%);}
.fs-gm-pc-body{display:flex;flex-direction:column;flex:1;padding:1.1rem 1.25rem 1.35rem;}
.fs-gm-pc-name{
  font-family:var(--font-display, Georgia, serif);
  font-weight:400;font-size:1.25rem;line-height:1.15;
}
.fs-gm-pc-price{
  margin-top:.35rem;font-family:var(--font-display, Georgia, serif);
  font-size:1.15rem;color:rgb(var(--c-brand-600));
}
.fs-gm-pc-meta{
  margin-top:.5rem;padding-top:.5rem;
  border-top:1px solid rgb(var(--c-line) / .7);
  font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-gm-pc-blurb{margin-top:.65rem;font-size:.88rem;line-height:1.58;color:rgb(var(--c-ink-700));}
.fs-gm-pc-cta{margin-top:auto;padding-top:1rem;align-self:flex-start;font-size:.86rem;}

/* ═══ BUILDER — the live commission configurator ════════════════*/
.fs-gm-bd{padding:clamp(2.75rem, 6vw, 4.75rem) clamp(1.25rem, 5vw, 4rem);}
.fs-gm-bd-head{max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-gm-bd-grid{
  max-width:var(--fs-layout-max,72rem);margin:2.2rem auto 0;
  display:grid;grid-template-columns:minmax(0, 7fr) minmax(0, 5fr);
  gap:2.4rem;align-items:start;
}
.fs-gm-bd-form{min-width:0;display:grid;gap:1.7rem;}
.fs-gm-bd-q{border:0;margin:0;padding:0;min-width:0;}
.fs-gm-bd-l{display:flex;align-items:baseline;gap:.65rem;margin-bottom:.8rem;padding:0;font-weight:600;font-size:1.02rem;}
.fs-gm-bd-n{font-family:var(--font-display, Georgia, serif);font-size:.85rem;color:rgb(var(--c-accent, var(--c-brand-600)));letter-spacing:.08em;}
.fs-gm-seg{display:flex;flex-wrap:wrap;gap:.55rem;}
.fs-gm-seg-b{
  appearance:none;cursor:pointer;
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line));
  clip-path:polygon(.5rem 0,100% 0,100% 100%,0 100%,0 .5rem);
  color:rgb(var(--c-ink-700));
  font:inherit;font-size:.92rem;font-weight:500;
  padding:.55em 1.05em;min-height:2.5rem;
  transition:border-color .16s ease, background-color .16s ease, color .16s ease, transform .12s ease;
}
.fs-gm-seg-b:hover{border-color:rgb(var(--c-brand-600) / .6);color:rgb(var(--c-ink-950));}
.fs-gm-seg-b:focus-visible{outline:2px solid rgb(var(--c-accent, var(--c-brand-600)));outline-offset:2px;}
.fs-gm-seg-b[data-on="1"]{
  background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));
  color:rgb(var(--c-paper));font-weight:600;
}
.fs-gm-anim .fs-gm-seg-b:active{transform:scale(.96);}
.fs-gm-bd-hint{font-size:.86rem;color:rgb(var(--c-ink-400));font-style:italic;}

.fs-gm-bd-card{padding:1.6rem 1.7rem 1.7rem;text-align:center;}
.fs-gm-bd-preview{
  display:grid;place-items:center;
  margin:-.4rem auto 1rem;
  color:rgb(var(--c-brand-600));
}
/* Signature micro-animation 3: the builder's live morph. Choosing a
   stone or metal changes the CSS custom properties on THIS gem only
   (set inline by the component); the colour transition below is what
   makes the change read as a real material swap rather than a swap
   cut. A small sparkle burst plays once on every change. */
.fs-gm-bd-preview-gem .fs-gm-cutgem-body,
.fs-gm-bd-preview-gem .fs-gm-cutgem-facet{
  transition:fill .45s ease;
}
.fs-gm-bd-preview-gem .fs-gm-cutgem-table{
  transition:stroke .45s ease;
}
.fs-gm-anim .fs-gm-bd-preview-gem{animation:fs-gm-set .5s ease-out;}
.fs-gm-bd-card-t{
  font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));text-align:left;
}
.fs-gm-bd-figure{
  margin-top:.6rem;text-align:left;
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(1.8rem, 3.6vw, 2.5rem);line-height:1.05;
  font-variant-numeric:tabular-nums;
}
.fs-gm-bd-figure-l{margin-top:.45rem;text-align:left;font-size:.86rem;color:rgb(var(--c-ink-700));}
.fs-gm-bd-inc-t{
  margin-top:1.3rem;padding-top:1.1rem;border-top:1px solid rgb(var(--c-line) / .7);
  text-align:left;
  font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-gm-bd-inc{list-style:none;margin:.7rem 0 0;padding:0;display:grid;gap:.55rem;text-align:left;}
.fs-gm-bd-inc li{position:relative;padding-left:1.15rem;font-size:.9rem;line-height:1.55;color:rgb(var(--c-ink-700));}
.fs-gm-bd-inc li::before{
  content:'';position:absolute;left:0;top:.5em;
  width:.4em;height:.4em;background:rgb(var(--c-accent, var(--c-brand-600)));
  clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);
}
.fs-gm-bd-cta{margin-top:1.4rem;width:100%;}
.fs-gm-bd-note{margin-top:.9rem;font-size:.8rem;line-height:1.55;color:rgb(var(--c-ink-400));}

/* ═══ CARE — hallmark / grading / sourcing panel ════════════════*/
.fs-gm-cr{padding:clamp(2.75rem, 6vw, 4.75rem) clamp(1.25rem, 5vw, 4rem);}
.fs-gm-cr-head{max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-gm-cr-grid{
  max-width:var(--fs-layout-max,72rem);margin:2.2rem auto 0;
  display:grid;grid-template-columns:repeat(auto-fit, minmax(15rem, 1fr));gap:1.4rem;
}
.fs-gm-cr-card{padding:1.4rem 1.5rem 1.55rem;display:flex;flex-direction:column;gap:.55rem;}
.fs-gm-cr-t{font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:1.15rem;margin:0;}
.fs-gm-cr-b{font-size:.88rem;line-height:1.6;color:rgb(var(--c-ink-700));}
.fs-gm-cr-card .fs-gm-link{margin-top:auto;padding-top:.4rem;font-size:.82rem;align-self:flex-start;}

/* ═══ JOURNEY — roundels on a spine ═════════════════════════════*/
.fs-gm-jn{padding:clamp(2.75rem, 6vw, 4.75rem) clamp(1.25rem, 5vw, 4rem);}
.fs-gm-jn-head{max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-gm-jn-list{
  max-width:var(--fs-layout-max,72rem);margin:2.4rem auto 0;padding:0;list-style:none;
  display:grid;grid-template-columns:repeat(5, minmax(0, 1fr));gap:1.3rem;
  position:relative;
}
.fs-gm-jn-list::before{content:'';position:absolute;left:0;right:0;top:1.15rem;border-top:1px solid rgb(var(--c-line));}
.fs-gm-jn-step{position:relative;min-width:0;padding-top:3.3rem;}
.fs-gm-jn-roundel{
  position:absolute;left:0;top:0;
  width:2.3rem;height:2.3rem;
  display:grid;place-items:center;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  color:rgb(var(--c-paper));
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);
  font-family:var(--font-display, Georgia, serif);
  font-size:1.02rem;
  box-shadow:0 0 0 5px rgb(var(--c-paper));
}
/* the ring device the SET keyframe animates */
.fs-gm-jn-ring{
  position:absolute;inset:0;
  clip-path:inherit;
  box-shadow:0 0 0 0 rgb(var(--c-accent, var(--c-brand-600)) / 0);
}
.fs-gm-anim .fs-gm-jn-step:nth-child(1) .fs-gm-jn-ring{animation:fs-gm-set .7s ease-out .1s both;}
.fs-gm-anim .fs-gm-jn-step:nth-child(2) .fs-gm-jn-ring{animation:fs-gm-set .7s ease-out .22s both;}
.fs-gm-anim .fs-gm-jn-step:nth-child(3) .fs-gm-jn-ring{animation:fs-gm-set .7s ease-out .34s both;}
.fs-gm-anim .fs-gm-jn-step:nth-child(4) .fs-gm-jn-ring{animation:fs-gm-set .7s ease-out .46s both;}
.fs-gm-anim .fs-gm-jn-step:nth-child(5) .fs-gm-jn-ring{animation:fs-gm-set .7s ease-out .58s both;}
.fs-gm-jn-mark{display:block;font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgb(var(--c-accent, var(--c-brand-600)));}
.fs-gm-jn-t{margin:.35rem 0 0;font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:1.2rem;}
.fs-gm-jn-b{margin-top:.5rem;font-size:.88rem;line-height:1.6;color:rgb(var(--c-ink-700));}

/* ═══ CTA — the closing card ════════════════════════════════════*/
.fs-gm-cta{padding:clamp(2.75rem, 6vw, 4.75rem) clamp(1.25rem, 5vw, 4rem);}
.fs-gm-cta-panel{
  position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto;
  background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));
  clip-path:polygon(1.8rem 0,100% 0,100% 100%,0 100%,0 1.8rem);
  padding:clamp(2.2rem, 5vw, 3.6rem);
  display:grid;grid-template-columns:minmax(0, 8fr) minmax(0, 3fr);
  gap:2rem;align-items:center;
  box-shadow:var(--fs-shadow-lift, none);
}
.fs-gm-cta-inner{position:relative;z-index:1;min-width:0;}
.fs-gm-cta-eyebrow{color:rgb(var(--c-paper) / .85);}
.fs-gm-cta-eyebrow::before{background:rgb(var(--c-paper) / .75);}
.fs-gm-cta-title{font-size:clamp(1.9rem, 4vw, 2.9rem);}
.fs-gm-cta-sub{color:rgb(var(--c-paper) / .85);}
.fs-gm-btn-oncta{background:rgb(var(--c-paper));color:rgb(var(--c-brand-700));}
.fs-gm-btn-oncta:hover{background:rgb(var(--c-paper) / .88);}
.fs-gm-link-oncta{color:rgb(var(--c-paper));box-shadow:inset 0 -1px 0 rgb(var(--c-paper) / .6);font-variant-numeric:tabular-nums;}
.fs-gm-link-oncta:hover{color:rgb(var(--c-paper));box-shadow:inset 0 -2px 0 rgb(var(--c-paper));}
.fs-gm-cta-note{margin-top:1.1rem;font-size:.8rem;color:rgb(var(--c-paper) / .7);}
.fs-gm-cta-device{
  position:relative;z-index:1;min-width:0;justify-self:center;
  color:rgb(var(--c-paper));
}
.fs-gm-cta-device .fs-gm-cutgem-body{fill:rgb(var(--c-paper));fill-opacity:.16;}
.fs-gm-cta-device .fs-gm-cutgem-facet{fill:rgb(var(--c-paper));fill-opacity:.24;stroke:rgb(var(--c-paper) / .8);}
.fs-gm-cta-device .fs-gm-cutgem-table{stroke:rgb(var(--c-paper));}
.fs-gm-anim .fs-gm-cta-device .fs-gm-cutgem-facet{animation:fs-gm-facet-glint 5.6s ease-in-out infinite;}

/* ── Entrance motion — one grammar, the SET applied to whole panels
   on first reveal (a piece settling into its mount), separate from
   the per-block micro-animations above. Deliberately small. ────── */
@keyframes fs-gm-mount{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
.fs-gm-anim .fs-gm-hero-copy{animation:fs-gm-mount .55s cubic-bezier(.2,.7,.3,1) both;}
.fs-gm-anim .fs-gm-hero-gem{animation:fs-gm-mount .55s cubic-bezier(.2,.7,.3,1) .15s both, fs-gm-facet-glint 5.6s ease-in-out .55s infinite;}
.fs-gm-anim .fs-gm-pc-card:nth-child(1){animation:fs-gm-mount .5s cubic-bezier(.2,.7,.3,1) both;}
.fs-gm-anim .fs-gm-pc-card:nth-child(2){animation:fs-gm-mount .5s cubic-bezier(.2,.7,.3,1) .08s both;}
.fs-gm-anim .fs-gm-pc-card:nth-child(3){animation:fs-gm-mount .5s cubic-bezier(.2,.7,.3,1) .16s both;}

@media (prefers-reduced-motion: reduce){
  .fs-gm-anim .fs-gm-hero-copy, .fs-gm-anim .fs-gm-hero-gem,
  .fs-gm-anim .fs-gm-pc-card, .fs-gm-anim .fs-gm-bd-preview-gem,
  .fs-gm-anim .fs-gm-jn-ring{ animation:none !important; }
  .fs-gm-anim .fs-gm-hero-gem .fs-gm-cutgem-facet,
  .fs-gm-anim .fs-gm-cta-device .fs-gm-cutgem-facet{ animation:none !important; fill-opacity:.4 !important; }
  .fs-gm-anim .fs-gm-pc-card{ transform:none !important; }
  .fs-gm-pc-sheen{ transition:none !important; }
  .fs-gm-seg-b{ transition:border-color .01s, background-color .01s, color .01s !important; }
  .fs-gm-btn:active{ transform:none; }
}

/* ── Responsive ─────────────────────────────────────────────────*/
@media (max-width:960px){
  .fs-gm-hero-inner{grid-template-columns:1fr;gap:2.6rem;}
  .fs-gm-hero-stage{min-height:20rem;}
  .fs-gm-bd-grid{grid-template-columns:1fr;}
  .fs-gm-jn-list{grid-template-columns:1fr;gap:0;}
  .fs-gm-jn-list::before{left:1.15rem;right:auto;top:0;bottom:0;border-top:0;border-left:1px solid rgb(var(--c-line));}
  .fs-gm-jn-step{padding:0 0 1.6rem 3.4rem;}
  .fs-gm-jn-step:last-child{padding-bottom:0;}
  .fs-gm-cta-panel{grid-template-columns:1fr;}
  .fs-gm-cta-device{display:none;}
}
@media (max-width:900px){
  .fs-gm-pc-grid{grid-template-columns:1fr;}
}

/* ── favGemFooter (theme-chrome batch 3, Facet) ─────────────────────
   fs-gm-ft: the velvet band (named container) — the strip's ground, dark
   in every palette and mode; fs-gm-ft-in: the content box (named
   container). The tray's compartments are bevel-cut cases with the cut
   drawn in sapphire (a background layer, so it survives the clip). */
.fs-gm-ft{container-type:inline-size;container-name:fs-gm-ft;padding:0 clamp(1rem,4vw,2.5rem);--gm-ft-velvet:rgb(var(--c-ink-950));--gm-ft-on:color-mix(in srgb, rgb(var(--c-paper)) 95%, rgb(var(--c-ink-950)));--gm-ft-muted:color-mix(in srgb, var(--gm-ft-on) 72%, var(--gm-ft-velvet));--gm-ft-gold:color-mix(in srgb, rgb(var(--c-brand-600)) 50%, var(--gm-ft-on));--gm-ft-sapph:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 40%, var(--gm-ft-on));--gm-ft-line:color-mix(in srgb, var(--gm-ft-gold) 30%, transparent);--gm-ft-lift:color-mix(in srgb, var(--gm-ft-on) 3.5%, transparent);background:var(--gm-ft-velvet);color:var(--gm-ft-on)}
.fs-gm-ft:is(.dark *):not(.fs-preview-light *){--gm-ft-velvet:rgb(var(--c-paper));--gm-ft-on:rgb(var(--c-ink-950));--gm-ft-gold:rgb(var(--c-brand-600));--gm-ft-sapph:rgb(var(--c-accent, var(--c-brand-600)));--gm-ft-line:color-mix(in srgb, var(--gm-ft-gold) 28%, transparent);--gm-ft-lift:color-mix(in srgb, var(--gm-ft-on) 3%, transparent)}
.fs-gm-ft-in{container-type:inline-size;container-name:fs-gm-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:58px 30px}
.fs-gm-ft-comp{--gm-ft-cut:16px;min-width:0;padding:20px 20px 22px;border:1px solid var(--gm-ft-line);clip-path:polygon(var(--gm-ft-cut) 0,100% 0,100% 100%,0 100%,0 var(--gm-ft-cut));background:linear-gradient(135deg,transparent 50%,var(--gm-ft-sapph) 50%,var(--gm-ft-sapph) calc(50% + 1px),transparent calc(50% + 1px)) 0 0/var(--gm-ft-cut) var(--gm-ft-cut) no-repeat border-box,var(--gm-ft-lift)}
.fs-gm-ft-mark{display:block;width:var(--gm-ft-fmark,64px);height:var(--gm-ft-fmark,64px)}
.fs-gm-ft-m-line{stroke:var(--gm-ft-gold)}
.fs-gm-ft-m-table{fill:var(--gm-ft-sapph);fill-opacity:.55;animation:fs-gm-ft-table 5.6s ease-in-out infinite}
@keyframes fs-gm-ft-table{0%,90%,100%{fill-opacity:.55}5%{fill-opacity:.95}}
.fs-gm-ft-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px 26px;padding-bottom:28px;background:linear-gradient(var(--gm-ft-sapph),var(--gm-ft-sapph)) 0 100%/2.4rem 3px no-repeat,linear-gradient(var(--gm-ft-line),var(--gm-ft-line)) 0 calc(100% - 1px)/100% 1px no-repeat}
.fs-gm-ft-name{margin:0;font-family:var(--font-display, 'Didot', 'Bodoni 72', Georgia, serif);font-weight:400;font-size:var(--gm-ft-fname,36px);line-height:1.05;letter-spacing:.15em;text-transform:uppercase;color:var(--gm-ft-on)}
.fs-gm-ft-state{margin:8px 0 0;max-width:52ch;font-size:15px;line-height:1.5;color:var(--gm-ft-muted)}
.fs-gm-ft-call{text-align:right}
.fs-gm-ft-tel{display:block;font-family:var(--font-display, 'Didot', 'Bodoni 72', Georgia, serif);font-weight:400;font-size:var(--gm-ft-ftel,32px);line-height:1.05;letter-spacing:.02em;color:var(--gm-ft-gold);white-space:nowrap;font-variant-numeric:lining-nums;text-decoration:none}
.fs-gm-ft-callnote{margin:6px 0 0;font-size:13px;color:var(--gm-ft-muted)}
.fs-gm-ft-tray{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr) minmax(0,1fr) minmax(0,1.1fr);gap:12px;margin-top:30px}
.fs-gm-ft-h{margin:0 0 12px;display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:11px;line-height:1.25;letter-spacing:.22em;text-transform:uppercase;color:var(--gm-ft-sapph)}
.fs-gm-ft-h::before{content:"";flex:none;width:7px;height:7px;background:currentColor;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.fs-gm-ft-rep{margin:0}
.fs-gm-ft-rrow{padding-block:7px;border-bottom:1px solid var(--gm-ft-line)}
.fs-gm-ft-rrow:first-child{padding-top:0}
.fs-gm-ft-rrow:last-child{border-bottom:0;padding-bottom:0}
.fs-gm-ft-dt{font-weight:600;font-size:10.5px;line-height:1.3;letter-spacing:.16em;text-transform:uppercase;color:var(--gm-ft-muted)}
.fs-gm-ft-dd{margin:3px 0 0;font-size:14.5px;line-height:1.45;color:var(--gm-ft-on)}
.fs-gm-ft-links{list-style:none;margin:0;padding:0}
.fs-gm-ft-li + .fs-gm-ft-li{border-top:1px solid var(--gm-ft-line)}
.fs-gm-ft-link{display:block;margin:0;padding-block:8px;font-weight:400;font-size:19px;line-height:1.2;font-family:var(--font-display, 'Didot', 'Bodoni 72', Georgia, serif);letter-spacing:.01em;color:var(--gm-ft-on);text-decoration:none;transition:color .18s ease}
.fs-gm-ft-li:first-child .fs-gm-ft-link{padding-top:0}
.fs-gm-ft-link:is(:hover,:focus-visible){color:var(--gm-ft-gold)}
.fs-gm-ft-p{margin:0;font-size:14px;line-height:1.55;color:var(--gm-ft-muted)}
.fs-gm-ft-benches{list-style:none;margin:12px 0 0;padding:0}
.fs-gm-ft-bench{padding-block:7px;border-top:1px solid var(--gm-ft-line)}
.fs-gm-ft-bname{display:block;margin:0;font-family:var(--font-display, 'Didot', 'Bodoni 72', Georgia, serif);font-weight:400;font-size:19px;line-height:1.2;color:var(--gm-ft-on)}
.fs-gm-ft-brole{display:block;margin-top:2px;font-size:12.5px;letter-spacing:.04em;color:var(--gm-ft-muted)}
.fs-gm-ft-creds{display:grid;gap:5px;margin-top:12px}
.fs-gm-ft-cred{position:relative;padding-left:14px;font-size:12.5px;font-weight:600;letter-spacing:.05em;color:var(--gm-ft-on);white-space:normal}
.fs-gm-ft-cred::before{content:"";position:absolute;left:0;top:calc(.65em - 3px);width:6px;height:6px;background:var(--gm-ft-sapph);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.fs-gm-ft-ico{display:inline-block;margin-top:12px;padding-bottom:2px;font-weight:600;font-size:13.5px;line-height:1.3;color:var(--gm-ft-on);box-shadow:inset 0 -1px 0 var(--gm-ft-sapph);text-decoration:none;transition:color .18s ease}
.fs-gm-ft-ico:is(:hover,:focus-visible){color:var(--gm-ft-gold)}
.fs-gm-ft-legal{display:flex;flex-wrap:wrap;gap:6px 20px;margin:26px 0 0;font-size:12.5px;color:var(--gm-ft-muted)}
.fs-gm-ft-legal-t{margin-right:auto;color:inherit}
.fs-gm-ft-legal-a{color:inherit;text-decoration:none}
.fs-gm-ft-legal-a:is(:hover,:focus-visible){color:var(--gm-ft-on);text-decoration:underline}
.fs-gm-ft :focus-visible{outline-color:var(--gm-ft-gold)}
@container fs-gm-ft (max-width: 40rem){
  .fs-gm-ft-in{padding-block:42px 26px}
}
/* Boxed (928) keeps the four compartments; they tighten so the Explore
   links hold one line. */
@container fs-gm-ft-in (max-width: 62rem){
  .fs-gm-ft-comp{padding-inline:16px}
  .fs-gm-ft-link{font-size:17px}
  .fs-gm-ft-tray{grid-template-columns:minmax(0,1.1fr) minmax(0,.95fr) minmax(0,1fr) minmax(0,1.05fr)}
}
@container fs-gm-ft-in (max-width: 56rem){
  .fs-gm-ft-tray{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-gm-ft-top{grid-template-columns:auto minmax(0,1fr);--gm-ft-fname:32px}
  .fs-gm-ft-call{grid-column:2;text-align:left}
}
@container fs-gm-ft (max-width: 48rem){
  .fs-gm-ft-tray{grid-template-columns:minmax(0,1fr)}
  .fs-gm-ft-top{align-items:start;--gm-ft-fname:28px;--gm-ft-fmark:48px;column-gap:16px}
}
@container fs-gm-ft (max-width: 30rem){
  .fs-gm-ft-top{--gm-ft-fname:24px;--gm-ft-ftel:30px}
  .fs-gm-ft-legal-t{flex-basis:100%}
}
@media (prefers-reduced-motion: reduce){
  .fs-gm-ft-m-table{animation:none}
  .fs-gm-ft-link,.fs-gm-ft-ico{transition:none}
}


.fs-bd{
  position:relative;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-bd *{box-sizing:border-box;}

/* ── Shared type ────────────────────────────────────────────────
   Serif display at 400 with tight leading; the accent is ITALIC in
   the same ink — stationery raises its voice with an italic, not a
   colour. Labels are small caps with wide tracking. */
.fs-bd-eyebrow{
  display:inline-flex;align-items:center;gap:.65rem;
  color:rgb(var(--c-accent, var(--c-brand-600)));
  font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
}
.fs-bd-eyebrow::before{
  content:'';width:2rem;height:1px;flex:none;
  background:rgb(var(--c-accent, var(--c-brand-600)) / .85);
}
.fs-bd-title{
  margin:1.05rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-weight:400;
  font-size:clamp(2rem, 4.6vw, 3.4rem);
  line-height:1.08;
  letter-spacing:-0.01em;
  text-wrap:balance;
}
.fs-bd-accent{font-style:italic;font-weight:400;}
.fs-bd-h{
  margin:.9rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-weight:400;
  font-size:clamp(1.65rem, 3.2vw, 2.4rem);
  line-height:1.12;
  text-wrap:balance;
}
.fs-bd-sub{
  margin-top:1rem;
  max-width:56ch;
  font-size:1.02rem;line-height:1.65;
  color:rgb(var(--c-ink-700));
}

/* ── Buttons & links ────────────────────────────────────────────*/
.fs-bd-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:2.75rem;padding:.62em 1.5em;cursor:pointer;
  background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));
  border-radius:var(--fs-radius-control, 2px);
  font-weight:600;font-size:.95rem;letter-spacing:.02em;
  transition:background-color .18s ease, transform .18s cubic-bezier(.2,.7,.3,1);
}
.fs-bd-btn:hover{background:rgb(var(--c-brand-700));}
.fs-bd-btn:active{transform:translateY(1px);}
.fs-bd-link{
  display:inline-flex;align-items:center;gap:.45em;cursor:pointer;
  color:rgb(var(--c-ink-950));font-weight:600;font-size:.95rem;
  box-shadow:inset 0 -1px 0 rgb(var(--c-accent, var(--c-brand-600)));
  padding-bottom:2px;
  transition:color .18s ease, box-shadow .18s ease;
}
.fs-bd-link:hover{
  color:rgb(var(--c-brand-600));
  box-shadow:inset 0 -2px 0 rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-bd-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:1.4rem;margin-top:1.7rem;}

/* ── Motif 1 · THE KEYLINE MOUNT ────────────────────────────────
   A card is a surface with a hairline mounted 9px inside its edge.
   The inner line, not the outer border, is what says "Board". */
.fs-bd-card{
  position:relative;
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line));
  border-radius:var(--fs-radius-card, 2px);
  box-shadow:var(--fs-shadow-card, none);
}
.fs-bd-card::after{
  content:'';position:absolute;inset:9px;pointer-events:none;
  border:1px solid rgb(var(--c-line) / .7);
  border-radius:calc(var(--fs-radius-card, 2px) / 2);
}

/* ── Motif 2 · THE SLIP ─────────────────────────────────────────*/
.fs-bd-slip{
  display:inline-block;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  color:rgb(var(--c-paper));
  font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  padding:.42em 1em;
  transform:rotate(-3.5deg);
  box-shadow:0 2px 8px -2px rgb(var(--c-ink-950) / .3);
}

/* ═══ HERO ══════════════════════════════════════════════════════*/
.fs-bd-hero{padding:clamp(3rem, 7vw, 5.5rem) clamp(1.25rem, 5vw, 4rem);}
.fs-bd-hero-inner{
  max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:minmax(0, 7fr) minmax(0, 5fr);
  gap:3.5rem;align-items:center;
}
.fs-bd-hero-copy{min-width:0;}
.fs-bd-creds{
  display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;margin-top:2rem;
  padding-top:1.1rem;border-top:1px solid rgb(var(--c-line));
}
.fs-bd-cred{
  position:relative;padding-left:1rem;
  font-size:.8rem;font-weight:600;letter-spacing:.06em;
  color:rgb(var(--c-ink-700));
}
.fs-bd-cred::before{
  content:'';position:absolute;left:0;top:.42em;
  width:.42em;height:.42em;border-radius:50%;
  background:rgb(var(--c-accent, var(--c-brand-600)));
}

/* The stage: art behind, the BOARD standing in front. */
.fs-bd-hero-stage{position:relative;min-width:0;min-height:24rem;}
.fs-bd-hero-art{
  position:absolute;inset:0 0 0 18%;
  border:1px solid rgb(var(--c-line));
  border-radius:var(--fs-radius-card, 2px);
  overflow:hidden;
  box-shadow:var(--fs-shadow-card, none);
}
.fs-bd-hero-art img{width:100%;height:100%;object-fit:cover;display:block;}
.fs-bd-hero-art-fallback{
  position:absolute;inset:0;display:block;
  background:
    linear-gradient(180deg, rgb(var(--c-brand-600) / .16), rgb(var(--c-brand-600) / .5)),
    rgb(var(--c-paper-soft));
}
/* the board itself — palette-aware CSS drawing */
.fs-bd-board{
  position:absolute;left:0;bottom:14%;
  width:min(15rem, 72%);
  background:rgb(var(--c-paper-soft));
  border:2px solid rgb(var(--c-ink-950));
  border-radius:var(--fs-radius-card, 2px);
  padding:0 0 1.1rem;
  box-shadow:var(--fs-shadow-lift, 0 10px 28px -12px rgb(var(--c-ink-950) / .35));
}
.fs-bd-board-head{
  background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));
  font-family:var(--font-display, Georgia, serif);
  font-size:1rem;letter-spacing:.34em;text-transform:uppercase;text-align:center;
  padding:.55em 0 .5em .34em;
}
.fs-bd-board-line1{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.9rem;line-height:1.1;text-align:center;margin-top:.55em;
}
.fs-bd-board-line2{
  font-size:.72rem;color:rgb(var(--c-ink-700));text-align:center;margin-top:.45em;
  letter-spacing:.04em;
}
.fs-bd-board-slip{position:absolute;left:-1rem;bottom:2.1rem;}
.fs-bd-board-post{
  position:absolute;left:50%;top:100%;transform:translateX(-50%);
  width:7px;height:3.4rem;
  background:rgb(var(--c-ink-950) / .85);
}

/* ═══ PAGE HEADER ═══════════════════════════════════════════════*/
.fs-bd-hd{padding:clamp(2.6rem, 6vw, 4.5rem) clamp(1.25rem, 5vw, 4rem) clamp(1.8rem, 4vw, 2.8rem);}
.fs-bd-hd-inner{max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-bd-hd-title{font-size:clamp(1.9rem, 4vw, 3rem);}
.fs-bd-hd-rule{
  display:block;margin-top:1.6rem;height:5px;
  border-top:2px solid rgb(var(--c-ink-950));
  border-bottom:1px solid rgb(var(--c-ink-950) / .45);
}

/* ═══ LISTINGS — the window cards ═══════════════════════════════*/
.fs-bd-ls{padding:clamp(2.75rem, 6vw, 4.75rem) clamp(1.25rem, 5vw, 4rem);}
.fs-bd-ls-head{max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-bd-ls-grid{
  max-width:var(--fs-layout-max,72rem);margin:2.2rem auto 0;
  display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:1.4rem;
}
.fs-bd-ls-card{display:flex;flex-direction:column;overflow:visible;}
.fs-bd-ls-photo{
  position:relative;margin:9px 9px 0;
  aspect-ratio:4 / 3;
  overflow:visible;
}
.fs-bd-ls-photo img{
  width:100%;height:100%;object-fit:cover;display:block;
  border:1px solid rgb(var(--c-line));
}
.fs-bd-ls-photo-fallback{
  position:absolute;inset:0;display:block;
  border:1px solid rgb(var(--c-line));
  background:
    linear-gradient(160deg, rgb(var(--c-brand-600) / .12), rgb(var(--c-brand-600) / .34)),
    rgb(var(--c-paper));
}
.fs-bd-ls-slip{position:absolute;top:.8rem;left:-.9rem;}
.fs-bd-ls-body{display:flex;flex-direction:column;flex:1;padding:1.1rem 1.25rem 1.35rem;}
.fs-bd-ls-price{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.7rem;line-height:1.1;
}
.fs-bd-ls-addr{margin-top:.3rem;font-weight:600;font-size:.95rem;}
.fs-bd-ls-meta{
  margin-top:.55rem;padding-top:.55rem;
  border-top:1px solid rgb(var(--c-line) / .7);
  font-size:.74rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-bd-ls-blurb{margin-top:.7rem;font-size:.9rem;line-height:1.6;color:rgb(var(--c-ink-700));}
.fs-bd-ls-cta{margin-top:auto;padding-top:1rem;align-self:flex-start;font-size:.88rem;}

/* ═══ VALUATION — the guide-range builder ═══════════════════════*/
.fs-bd-vl{padding:clamp(2.75rem, 6vw, 4.75rem) clamp(1.25rem, 5vw, 4rem);}
.fs-bd-vl-head{max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-bd-vl-grid{
  max-width:var(--fs-layout-max,72rem);margin:2.2rem auto 0;
  display:grid;grid-template-columns:minmax(0, 7fr) minmax(0, 5fr);
  gap:2.4rem;align-items:start;
}
.fs-bd-vl-form{min-width:0;display:grid;gap:1.7rem;}
.fs-bd-vl-q{border:0;margin:0;padding:0;min-width:0;}
.fs-bd-vl-l{
  display:flex;align-items:baseline;gap:.7rem;margin-bottom:.8rem;padding:0;
  font-weight:600;font-size:1.02rem;
}
.fs-bd-vl-n{
  font-family:var(--font-display, Georgia, serif);
  font-size:.85rem;color:rgb(var(--c-accent, var(--c-brand-600)));
  letter-spacing:.08em;
}
.fs-bd-seg{display:flex;flex-wrap:wrap;gap:.55rem;}
.fs-bd-seg-b{
  appearance:none;cursor:pointer;
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line));
  border-radius:var(--fs-radius-control, 2px);
  color:rgb(var(--c-ink-700));
  font:inherit;font-size:.92rem;font-weight:500;
  padding:.55em 1.05em;min-height:2.5rem;
  transition:border-color .16s ease, background-color .16s ease, color .16s ease;
}
.fs-bd-seg-b:hover{border-color:rgb(var(--c-brand-600) / .6);color:rgb(var(--c-ink-950));}
.fs-bd-seg-b:focus-visible{outline:2px solid rgb(var(--c-accent, var(--c-brand-600)));outline-offset:2px;}
.fs-bd-seg-b[data-on="1"]{
  background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));
  color:rgb(var(--c-paper));font-weight:600;
}
.fs-bd-vl-hint{font-size:.86rem;color:rgb(var(--c-ink-400));font-style:italic;}

.fs-bd-vl-card{padding:1.6rem 1.7rem 1.7rem;}
.fs-bd-vl-card-t{
  font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-bd-vl-figure{
  margin-top:.7rem;
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(1.7rem, 3.4vw, 2.4rem);line-height:1.1;
  font-variant-numeric:tabular-nums;
}
.fs-bd-vl-dash{padding:0 .18em;color:rgb(var(--c-accent, var(--c-brand-600)));}
.fs-bd-vl-figure-l{margin-top:.5rem;font-size:.88rem;color:rgb(var(--c-ink-700));}
.fs-bd-vl-inc-t{
  margin-top:1.3rem;padding-top:1.1rem;border-top:1px solid rgb(var(--c-line) / .7);
  font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-bd-vl-inc{list-style:none;margin:.7rem 0 0;padding:0;display:grid;gap:.55rem;}
.fs-bd-vl-inc li{
  position:relative;padding-left:1.2rem;
  font-size:.9rem;line-height:1.55;color:rgb(var(--c-ink-700));
}
.fs-bd-vl-inc li::before{
  content:'';position:absolute;left:0;top:.5em;
  width:.42em;height:.42em;border-radius:50%;
  background:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-bd-vl-cta{margin-top:1.4rem;width:100%;}
.fs-bd-vl-note{margin-top:.9rem;font-size:.8rem;line-height:1.55;color:rgb(var(--c-ink-400));}

/* ═══ FEES — the ledger ═════════════════════════════════════════*/
.fs-bd-fe{padding:clamp(2.75rem, 6vw, 4.75rem) clamp(1.25rem, 5vw, 4rem);}
.fs-bd-fe-head{max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-bd-fe-grid{
  max-width:var(--fs-layout-max,72rem);margin:2.2rem auto 0;
  display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.4rem;
  align-items:stretch;
}
.fs-bd-fe-sales, .fs-bd-fe-lets{padding:1.6rem 1.7rem 1.7rem;}
.fs-bd-fe-col-t{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.3rem;
  padding-bottom:.8rem;margin-bottom:1.1rem;
  border-bottom:2px solid rgb(var(--c-ink-950));
}
.fs-bd-fe-big{
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(2.6rem, 5vw, 3.6rem);line-height:1;
  color:rgb(var(--c-brand-600));
  font-variant-numeric:tabular-nums;
}
.fs-bd-fe-big-m{
  margin-top:.5rem;font-size:.78rem;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-bd-fe-body{margin-top:1rem;font-size:.94rem;line-height:1.62;color:rgb(var(--c-ink-700));}
.fs-bd-fe-list{list-style:none;margin:1.1rem 0 0;padding:0;display:grid;gap:.55rem;}
.fs-bd-fe-list li{
  position:relative;padding-left:1.2rem;
  font-size:.9rem;line-height:1.55;color:rgb(var(--c-ink-700));
}
.fs-bd-fe-list li::before{
  content:'';position:absolute;left:0;top:.5em;
  width:.42em;height:.42em;border-radius:50%;
  background:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-bd-fe-row{padding:1rem 0;border-bottom:1px solid rgb(var(--c-line) / .7);}
.fs-bd-fe-row:last-child{border-bottom:0;padding-bottom:0;}
.fs-bd-fe-row-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;}
.fs-bd-fe-row-n{font-weight:600;font-size:1rem;}
.fs-bd-fe-row-p{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.5rem;color:rgb(var(--c-brand-600));
  font-variant-numeric:tabular-nums;
}
.fs-bd-fe-row-m{
  margin-top:.15rem;font-size:.72rem;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;color:rgb(var(--c-ink-400));
}
.fs-bd-fe-row-b{margin-top:.5rem;font-size:.88rem;line-height:1.58;color:rgb(var(--c-ink-700));}
.fs-bd-fe-compliance{
  max-width:var(--fs-layout-max,72rem);margin:1.4rem auto 0;
  padding:.9rem 1.1rem;
  border:1px solid rgb(var(--c-line));
  border-left:3px solid rgb(var(--c-accent, var(--c-brand-600)));
  font-size:.82rem;line-height:1.6;color:rgb(var(--c-ink-700));
  background:rgb(var(--c-brand-50) / .5);
}

/* ═══ JOURNEY — roundels on a spine ═════════════════════════════*/
.fs-bd-jn{padding:clamp(2.75rem, 6vw, 4.75rem) clamp(1.25rem, 5vw, 4rem);}
.fs-bd-jn-head{max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-bd-jn-list{
  max-width:var(--fs-layout-max,72rem);margin:2.4rem auto 0;padding:0;list-style:none;
  display:grid;grid-template-columns:repeat(5, minmax(0, 1fr));gap:1.3rem;
  position:relative;
}
.fs-bd-jn-list::before{
  content:'';position:absolute;left:0;right:0;top:1.15rem;
  border-top:1px solid rgb(var(--c-line));
}
.fs-bd-jn-step{position:relative;min-width:0;padding-top:3.3rem;}
.fs-bd-jn-roundel{
  position:absolute;left:0;top:0;
  width:2.3rem;height:2.3rem;
  display:grid;place-items:center;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  color:rgb(var(--c-paper));
  border-radius:50%;
  font-family:var(--font-display, Georgia, serif);
  font-size:1.05rem;
  box-shadow:0 0 0 5px rgb(var(--c-paper));
}
.fs-bd-jn-mark{
  display:block;font-size:.7rem;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;
  color:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-bd-jn-t{
  margin:.35rem 0 0;
  font-family:var(--font-display, Georgia, serif);
  font-weight:400;font-size:1.2rem;
}
.fs-bd-jn-b{margin-top:.5rem;font-size:.88rem;line-height:1.6;color:rgb(var(--c-ink-700));}

/* ═══ CTA — the closing card ════════════════════════════════════*/
.fs-bd-cta{padding:clamp(2.75rem, 6vw, 4.75rem) clamp(1.25rem, 5vw, 4rem);}
.fs-bd-cta-panel{
  position:relative;
  max-width:var(--fs-layout-max,72rem);margin:0 auto;
  background:rgb(var(--c-brand-600));
  color:rgb(var(--c-paper));
  border-radius:var(--fs-radius-card, 2px);
  padding:clamp(2.2rem, 5vw, 3.6rem);
  overflow:hidden;
  display:grid;grid-template-columns:minmax(0, 8fr) minmax(0, 3fr);
  gap:2rem;align-items:center;
  box-shadow:var(--fs-shadow-lift, none);
}
/* the mount, reversed: hairline in paper on brand ground */
.fs-bd-cta-panel::after{
  content:'';position:absolute;inset:10px;pointer-events:none;
  border:1px solid rgb(var(--c-paper) / .35);
  border-radius:calc(var(--fs-radius-card, 2px) / 2);
}
.fs-bd-cta-inner{position:relative;z-index:1;min-width:0;}
.fs-bd-cta-eyebrow{color:rgb(var(--c-paper) / .85);}
.fs-bd-cta-eyebrow::before{background:rgb(var(--c-paper) / .6);}
.fs-bd-cta-title{font-size:clamp(1.9rem, 4vw, 2.9rem);}
.fs-bd-cta-sub{color:rgb(var(--c-paper) / .85);}
.fs-bd-btn-oncta{
  background:rgb(var(--c-paper));color:rgb(var(--c-brand-700));
}
.fs-bd-btn-oncta:hover{background:rgb(var(--c-paper) / .88);}
.fs-bd-link-oncta{
  color:rgb(var(--c-paper));
  box-shadow:inset 0 -1px 0 rgb(var(--c-paper) / .6);
  font-variant-numeric:tabular-nums;
}
.fs-bd-link-oncta:hover{color:rgb(var(--c-paper));box-shadow:inset 0 -2px 0 rgb(var(--c-paper));}
.fs-bd-cta-note{margin-top:1.1rem;font-size:.8rem;color:rgb(var(--c-paper) / .7);}

/* the miniature board, drawn in paper keylines */
.fs-bd-cta-device{
  position:relative;z-index:1;min-width:0;
  justify-self:center;
  width:9.5rem;height:8.5rem;
  border:2px solid rgb(var(--c-paper));
  border-radius:var(--fs-radius-card, 2px);
  background:rgb(var(--c-paper) / .08);
  padding:.7rem .8rem;
}
.fs-bd-cta-mini-head{
  display:block;height:1.1rem;
  background:rgb(var(--c-paper) / .9);
}
.fs-bd-cta-mini-line{
  display:block;height:.45rem;margin-top:.7rem;
  background:rgb(var(--c-paper) / .55);
}
.fs-bd-cta-mini-line2{width:62%;}
.fs-bd-cta-mini-slip{position:absolute;left:-1.1rem;bottom:1.6rem;}
.fs-bd-cta-mini-post{
  position:absolute;left:50%;top:100%;transform:translateX(-50%);
  width:6px;height:2.2rem;
  background:rgb(var(--c-paper) / .8);
}

/* ── Entrance motion — gated on .fs-bd-anim ─────────────────────
   One grammar: the card settles upward a few pixels as it mounts.
   Deliberately small; stationery does not tumble in. */
@keyframes fs-bd-mount{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
.fs-bd-anim .fs-bd-hero-copy{animation:fs-bd-mount .55s cubic-bezier(.2,.7,.3,1) both;}
.fs-bd-anim .fs-bd-board{animation:fs-bd-mount .55s cubic-bezier(.2,.7,.3,1) .15s both;}
.fs-bd-anim .fs-bd-ls-card:nth-child(1){animation:fs-bd-mount .5s cubic-bezier(.2,.7,.3,1) both;}
.fs-bd-anim .fs-bd-ls-card:nth-child(2){animation:fs-bd-mount .5s cubic-bezier(.2,.7,.3,1) .08s both;}
.fs-bd-anim .fs-bd-ls-card:nth-child(3){animation:fs-bd-mount .5s cubic-bezier(.2,.7,.3,1) .16s both;}
@media (prefers-reduced-motion: reduce){
  .fs-bd-anim .fs-bd-hero-copy, .fs-bd-anim .fs-bd-board,
  .fs-bd-anim .fs-bd-ls-card{animation:none;}
}

/* ── Responsive ─────────────────────────────────────────────────*/
@media (max-width:960px){
  .fs-bd-hero-inner{grid-template-columns:1fr;gap:2.6rem;}
  .fs-bd-hero-stage{min-height:20rem;}
  .fs-bd-vl-grid{grid-template-columns:1fr;}
  .fs-bd-fe-grid{grid-template-columns:1fr;}
  .fs-bd-jn-list{grid-template-columns:1fr;gap:0;}
  .fs-bd-jn-list::before{left:1.15rem;right:auto;top:0;bottom:0;border-top:0;border-left:1px solid rgb(var(--c-line));}
  .fs-bd-jn-step{padding:0 0 1.6rem 3.4rem;}
  .fs-bd-jn-step:last-child{padding-bottom:0;}
  .fs-bd-cta-panel{grid-template-columns:1fr;}
  .fs-bd-cta-device{display:none;}
}
@media (max-width:900px){
  .fs-bd-ls-grid{grid-template-columns:1fr;}
}

/* ── favBoardFooter (theme-chrome batch 5, Portico) ────────────────
   The band is the full-bleed container fs-bd-ft; the content box is the
   named container fs-bd-ft-in and carries the double keyline on its top
   edge, so its vertical spacing is margin, not padding. Tokens mirror
   the header's paint + metal: brand + brass in light, a deep accent
   board + gold in dark. */
.fs-bd-ft{container-type:inline-size;container-name:fs-bd-ft;padding:0 clamp(1rem,4vw,2.5rem);background:rgb(var(--c-paper));--bd-ft-paint:rgb(var(--c-brand-600));--bd-ft-on-paint:var(--fs-on-brand, rgb(var(--c-paper)));--bd-ft-brass:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 75%, rgb(var(--c-ink-950)));--bd-ft-on-brass:rgb(var(--c-paper));--bd-ft-rule:rgb(var(--c-ink-950) / .16);--bd-ft-note:color-mix(in srgb, rgb(var(--c-ink-950)) 76%, rgb(var(--c-paper)));--bd-ft-ink-hi:rgb(var(--c-brand-text))}
.fs-bd-ft:is(.dark *):not(.fs-preview-light *){--bd-ft-paint:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 20%, rgb(var(--c-paper)));--bd-ft-on-paint:rgb(var(--c-brand-600));--bd-ft-brass:rgb(var(--c-brand-600));--bd-ft-on-brass:var(--fs-on-brand, rgb(var(--c-paper)));--bd-ft-rule:rgb(var(--c-ink-950) / .18);--bd-ft-ink-hi:rgb(var(--c-brand-600))}
.fs-bd-ft-in{container-type:inline-size;container-name:fs-bd-ft-in;max-width:var(--fs-layout-max,72rem);margin:60px auto 30px;padding-top:36px;border-top:2px solid rgb(var(--c-ink-950));background:linear-gradient(rgb(var(--c-ink-950) / .45),rgb(var(--c-ink-950) / .45)) 0 3px/100% 1px no-repeat;font-size:15px;line-height:1.55}
.fs-bd-ft-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.05fr) minmax(0,1fr);gap:36px 44px}
.fs-bd-ft-col{min-width:0}
.fs-bd-ft-stand{display:grid;justify-items:center;align-content:start;padding-left:10px}
.fs-bd-ft-board{position:relative;width:100%;max-width:17.5rem;padding-bottom:26px;background:rgb(var(--c-paper-soft));border:2px solid rgb(var(--c-ink-950));text-align:center;box-shadow:0 12px 26px -16px rgb(0 0 0 / .45)}
.fs-bd-ft-head{display:block;margin:0;padding:9px 0 8px .34em;background:var(--bd-ft-paint);color:var(--bd-ft-on-paint);font:400 15px/1 var(--font-display, "Playfair Display",Georgia,serif);letter-spacing:.34em;text-transform:uppercase}
.fs-bd-ft-l1{display:block;margin:11px 0 0;font:400 30px/1.1 var(--font-display, "Playfair Display",Georgia,serif);color:rgb(var(--c-ink-950));font-variant-numeric:lining-nums}
.fs-bd-ft-l2{display:block;margin:6px 0 0;padding-inline:10px;font-size:12.5px;line-height:1.4;letter-spacing:.03em;color:var(--bd-ft-note)}
.fs-bd-ft-tel{color:inherit;text-decoration:none}
.fs-bd-ft-slip{position:absolute;left:-10px;bottom:-11px;display:inline-block;padding:6px 12px;background:var(--bd-ft-brass);color:var(--bd-ft-on-brass);font-weight:700;font-size:10.5px;line-height:1;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;transform:rotate(-3.5deg);box-shadow:0 3px 9px -3px rgb(0 0 0 / .35)}
.fs-bd-ft-post{display:block;width:7px;height:44px;background:rgb(var(--c-ink-950) / .85)}
.fs-bd-ft-ground{display:block;width:62%;height:1px;background:var(--bd-ft-rule)}
.fs-bd-ft-h{margin:0 0 14px;padding-bottom:10px;border-bottom:2px solid rgb(var(--c-ink-950));font:400 20px/1.2 var(--font-display, "Playfair Display",Georgia,serif)}
.fs-bd-ft-list{display:grid;gap:9px;list-style:none;margin:0;padding:0}
.fs-bd-ft-link{font-size:14.5px;line-height:1.4;color:rgb(var(--c-ink-950));text-decoration:none;box-shadow:inset 0 -1px 0 transparent;transition:box-shadow .18s ease}
.fs-bd-ft-link:hover{box-shadow:inset 0 -1px 0 var(--bd-ft-brass)}
.fs-bd-ft-p{margin:0;font-size:14.5px;line-height:1.5}
.fs-bd-ft-p+.fs-bd-ft-p{margin-top:10px}
.fs-bd-ft-note{font-size:13.5px;color:var(--bd-ft-note)}
.fs-bd-ft-b{font-weight:600}
.fs-bd-ft-checks{display:grid;gap:10px;list-style:none;margin:0;padding:0}
.fs-bd-ft-check{padding:9px 12px;border:1px solid var(--bd-ft-rule);border-left:3px solid var(--bd-ft-brass);font-size:13.5px;line-height:1.45;color:var(--bd-ft-note)}
.fs-bd-ft-check-n{display:block;font:400 17px/1.25 var(--font-display, "Playfair Display",Georgia,serif);color:rgb(var(--c-ink-950));text-decoration:none}
.fs-bd-ft-check-n:hover{color:var(--bd-ft-ink-hi)}
.fs-bd-ft-check-b{display:block}
.fs-bd-ft-legal{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 20px;margin-top:40px;padding-top:14px;border-top:1px solid var(--bd-ft-rule);font-size:12.5px;color:var(--bd-ft-note)}
.fs-bd-ft-legal-t{margin-right:auto}
.fs-bd-ft-legal-a{color:inherit;text-decoration:none}
.fs-bd-ft-legal-a:hover{color:rgb(var(--c-ink-950))}
@container fs-bd-ft (max-width: 40rem){
  .fs-bd-ft-in{margin-block:40px 24px}
}
@container fs-bd-ft-in (max-width: 56rem){
  .fs-bd-ft-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 36px}
}
@container fs-bd-ft (max-width: 48rem){
  .fs-bd-ft-grid{grid-template-columns:minmax(0,1fr);gap:34px}
  .fs-bd-ft-stand{padding-left:0}
  .fs-bd-ft-legal-t{flex-basis:100%}
}
@media (prefers-reduced-motion: reduce){
  .fs-bd-ft-link{transition:none}
}


.fs-cv{
  position:relative;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-cv *{box-sizing:border-box;}

/* ── The three motifs ───────────────────────────────────────────── */

/* THE NOTCH — the set's signature cut. Two variants so a run of plates
   never reads as a repeated stamp: tail cuts bottom-right, head cuts
   top-left. Kept at 1.15rem: big enough to be a decision, small enough
   to stay a detail. */
.fs-cv-notch{clip-path:polygon(0 0, 100% 0, 100% calc(100% - 1.15rem), calc(100% - 1.15rem) 100%, 0 100%);}
.fs-cv-notch-head{clip-path:polygon(1.15rem 0, 100% 0, 100% 100%, 0 100%, 0 1.15rem);}
.fs-cv-wire .fs-cv-notch,.fs-cv-wire .fs-cv-notch-head{clip-path:none;}

/* THE DOUBLE KEYLINE — thick border, hairline inset. Drawn with an
   inset box-shadow rather than a second element so it survives the
   notch's clip-path. */
.fs-cv-keyline{
  border:2px solid rgb(var(--c-ink-950));
  box-shadow:inset 0 0 0 1px rgb(var(--c-paper)), inset 0 0 0 2.6px rgb(var(--c-ink-950) / .38);
}
.fs-cv-wire .fs-cv-keyline{box-shadow:none;}

/* THE STITCH — the sewn edge of a patch. */
.fs-cv-stitch{
  height:0;border-top:2px dashed rgb(var(--c-accent, var(--c-brand-600)) / .75);
}
.fs-cv-wire .fs-cv-stitch{border-top-color:#111;}

/* ── Type ────────────────────────────────────────────────────────
   Slab small-caps: institutional without shouting. Graft's eyebrow is
   a solid stamped chip; this one is a bordered plate, because the whole
   set is screwed to a wall rather than sprayed on. */
.fs-cv-eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.38rem .8rem;
  border:2px solid rgb(var(--c-brand-600));
  color:rgb(var(--c-brand-600));
  background:rgb(var(--c-paper));
  font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
}
.fs-cv-title{
  margin:1.15rem 0 0;
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(2.15rem,5vw,3.5rem);
  line-height:1.08;font-weight:700;letter-spacing:-0.015em;
  color:rgb(var(--c-ink-950));
}
.fs-cv-accent{color:rgb(var(--c-brand-600));}
.fs-cv-sub{
  margin:1.1rem 0 0;max-width:var(--fs-measure, 58ch);
  font-size:clamp(1rem,1.4vw,1.1rem);line-height:1.62;
  color:rgb(var(--c-ink-700));
}
.fs-cv-h{
  margin:0;
  font-family:var(--font-display, Georgia, serif);
  font-size:var(--fs-type-h2, clamp(1.75rem,3.2vw,2.4rem));
  line-height:1.16;font-weight:700;letter-spacing:-0.012em;
  color:rgb(var(--c-ink-950));
}
.fs-cv-lede{margin:.75rem 0 0;max-width:var(--fs-measure, 62ch);font-size:1rem;line-height:1.62;color:rgb(var(--c-ink-700));}

/* ── Buttons — squared plates, no offset shadow (that is Graft's) ── */
.fs-cv-ctas{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.6rem;align-items:center;}
.fs-cv-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.85rem 1.6rem;
  font-size:.92rem;font-weight:700;line-height:1;white-space:nowrap;letter-spacing:.04em;
  color:rgb(var(--c-paper));
  background:rgb(var(--c-brand-600));
  border:2px solid rgb(var(--c-brand-600));
  transition:background .18s ease, color .18s ease, border-color .18s ease;
}
.fs-cv-btn:hover{background:rgb(var(--c-brand-700, var(--c-brand-600)));border-color:rgb(var(--c-brand-700, var(--c-brand-600)));}
.fs-cv-btn2{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.85rem 1.6rem;
  font-size:.92rem;font-weight:700;line-height:1;white-space:nowrap;letter-spacing:.04em;
  color:rgb(var(--c-ink-950));
  background:transparent;
  border:2px solid rgb(var(--c-ink-950));
  transition:background .18s ease, color .18s ease;
}
.fs-cv-btn2:hover{background:rgb(var(--c-ink-950));color:rgb(var(--c-paper));}

/* Focus is a REAL ring on everything interactive — this set is used by
   organisations with a legal duty to be reachable by keyboard. */
.fs-cv :focus-visible{
  outline:3px solid rgb(var(--c-accent, var(--c-brand-600)));
  outline-offset:2px;
}

/* ═════════ HERO (favCivicHero) ═════════ */
.fs-cv-hero{padding:var(--fs-space-section, clamp(2rem,4vw,3rem)) clamp(1rem,4vw,2.5rem);}
.fs-cv-hero-inner{
  position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(1.75rem,4vw,3.25rem);align-items:center;
}
@media (max-width:940px){.fs-cv-hero-inner{grid-template-columns:1fr;gap:2.25rem;}}

/* The founding plate — the one fact a heritage organisation leads on. */
.fs-cv-est{
  display:inline-flex;align-items:center;gap:.6rem;
  padding:.45rem .9rem .45rem .7rem;
  background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));
  font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
}
.fs-cv-est::before{
  content:"";width:.7rem;height:.85rem;background:currentColor;
  clip-path:polygon(0 0,100% 0,100% 100%,50% 74%,0 100%);
}

/* Stat plates: facts in a row of bordered tiles, the noticeboard idea
   the whole theme is built on. */
.fs-cv-stats{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.6rem;margin-top:1.9rem;max-width:34rem;
}
@media (max-width:520px){.fs-cv-stats{grid-template-columns:1fr 1fr;}}
.fs-cv-stat{
  padding:.8rem .85rem;
  background:rgb(var(--c-paper-soft));
  border:2px solid rgb(var(--c-ink-950) / .14);
  border-left:4px solid rgb(var(--c-brand-600));
}
.fs-cv-stat-v{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.5rem;line-height:1;font-weight:700;color:rgb(var(--c-brand-600));
}
.fs-cv-stat-l{margin-top:.35rem;font-size:.76rem;line-height:1.35;letter-spacing:.04em;text-transform:uppercase;color:rgb(var(--c-ink-700));}

/* The stage: art in a notched, double-keylined frame with a rosette
   plate overlapping the corner — the badge pinned to the photograph. */
/* Bottom padding reserves the room the seal hangs into, so it can
   overlap the frame without colliding with whatever follows. */
.fs-cv-hero-stage{position:relative;display:flex;justify-content:center;padding-bottom:2rem;}
.fs-cv-frame{
  position:relative;z-index:1;
  width:min(27rem,100%);aspect-ratio:4 / 3;overflow:hidden;
  background:rgb(var(--c-paper-soft));
}
.fs-cv-frame img{width:100%;height:100%;object-fit:cover;}
.fs-cv-frame > *{width:100%;height:100%;}
/* No image set: the theme's own bunting-over-roofline, in CSS, so the
   frame is never an empty box. */
.fs-cv-frame-fallback{
  display:block;width:100%;height:100%;
  background:
    linear-gradient(-45deg,transparent 0 48%,rgb(var(--c-accent, var(--c-brand-600)) / .5) 48% 52%,transparent 52%) 0 0/2.4rem 2.4rem,
    linear-gradient(180deg,rgb(var(--c-paper-soft)) 0 62%,rgb(var(--c-brand-600) / .68) 62% 100%);
}
/* Sized to the words rather than the other way round: at 6.2rem the
   default caption wrapped to four lines and lost its last one. */
.fs-cv-seal{
  position:absolute;z-index:2;right:.2rem;bottom:0;
  width:7.4rem;height:7.4rem;
  display:flex;align-items:center;justify-content:center;text-align:center;
  padding:.9rem;
  background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));
  border:2px solid rgb(var(--c-paper));
  font-size:.66rem;font-weight:700;line-height:1.32;letter-spacing:.06em;text-transform:uppercase;
  /* The SAME rosette geometry as the impact badges, deliberately: one
     object at two scales reads as a house mark, two near-miss objects
     read as a mistake. (The first pass used a coarser 16-point path
     here and it rendered as a lump rather than a badge.) */
  clip-path:polygon(50% 0,61% 7%,73% 3%,80% 14%,92% 15%,94% 27%,100% 37%,96% 48%,100% 59%,94% 69%,92% 81%,80% 82%,73% 93%,61% 89%,50% 96%,39% 89%,27% 93%,20% 82%,8% 81%,6% 69%,0 59%,4% 48%,0 37%,6% 27%,8% 15%,20% 14%,27% 3%,39% 7%);
}
.fs-cv-wire .fs-cv-seal{clip-path:none;background:transparent;color:#111;border:1px dashed #111;}
/* The one ambient flourish on the page: the seal settles into place
   once, on entrance. Compositor-only, and it never runs under
   reduced-motion or outside 'rich'. */
.fs-cv-anim .fs-cv-seal{animation:fs-cv-pin .7s cubic-bezier(.2,.9,.3,1.2) both;}
@keyframes fs-cv-pin{from{transform:rotate(-16deg) scale(.82);opacity:0;}to{transform:rotate(-8deg) scale(1);opacity:1;}}
.fs-cv-seal{transform:rotate(-8deg);}
@media (prefers-reduced-motion:reduce){
  .fs-cv-anim .fs-cv-seal{animation:none;}
}

/* ═════════ PAGE HEADER (favCivicHeader) ═════════
   The whole header sits INSIDE a keylined plate — an interior page
   opens like a sign on a door. */
.fs-cv-hd{padding:var(--fs-space-section, clamp(2rem,4vw,3rem)) clamp(1rem,4vw,2.5rem);}
.fs-cv-hd-plate{
  max-width:var(--fs-layout-max,60rem);margin:0 auto;
  padding:clamp(1.6rem,4vw,2.6rem) clamp(1.2rem,4vw,2.6rem);
  background:rgb(var(--c-paper-soft));
  text-align:center;
}
.fs-cv-hd-plate .fs-cv-title{font-size:clamp(1.9rem,4vw,2.9rem);}
.fs-cv-hd-plate .fs-cv-sub{margin-left:auto;margin-right:auto;}
.fs-cv-hd-rule{margin:1.35rem auto 0;width:min(16rem,60%);}

/* ═════════ PROGRAMME FINDER (favCivicFinder) ═════════
   The set's tool. A week board that answers the only two questions a
   parent or a fourteen-year-old actually has: is there something for
   ME, and does it cost anything. */
.fs-cv-fd{padding:var(--fs-space-section, clamp(2rem,4vw,3rem)) clamp(1rem,4vw,2.5rem);}
.fs-cv-fd-inner{max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-cv-fd-head{margin-bottom:1.5rem;}

.fs-cv-fd-controls{
  padding:1rem 1.1rem;
  background:rgb(var(--c-paper-soft));
  border:2px solid rgb(var(--c-ink-950) / .16);
}
.fs-cv-fd-legend{
  display:block;
  font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:rgb(var(--c-ink-700));
}
.fs-cv-fd-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.7rem;}
/* The .fs-cv prefix here is load-bearing, not tidiness: the site-wide
   typography layer ships a rule on ".fs-typo button" setting color to
   var(--fs-btn-color), which at (0,1,1) outranks a bare .fs-cv-fd-chip
   (0,1,0) and painted every unpressed chip in the BUTTON text colour —
   a white label on a cream chip, i.e. invisible. Two classes puts this
   back in front of it. Any real button element added to this set needs
   the same treatment; the family's other "buttons" are spans and never
   hit that rule. */
.fs-cv .fs-cv-fd-chip{
  display:inline-flex;align-items:center;gap:.45rem;
  /* 44px minimum tap target — this is used on phones, in a corridor. */
  min-height:2.75rem;padding:.5rem 1rem;
  font-family:inherit;font-size:.86rem;font-weight:700;line-height:1.2;text-align:left;
  color:rgb(var(--c-ink-950));
  background:rgb(var(--c-paper));
  border:2px solid rgb(var(--c-ink-950) / .28);
  cursor:pointer;
  transition:background .16s ease, color .16s ease, border-color .16s ease;
}
.fs-cv .fs-cv-fd-chip:hover{border-color:rgb(var(--c-brand-600));}
.fs-cv .fs-cv-fd-chip[aria-pressed="true"]{
  background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));border-color:rgb(var(--c-brand-600));
}
/* A tick appears in the pressed chip — state is never colour alone. */
.fs-cv .fs-cv-fd-chip::before{
  content:"";width:.55rem;height:.55rem;flex:0 0 auto;
  background:currentColor;opacity:0;
  clip-path:polygon(0 52%,38% 100%,100% 12%,86% 0,36% 70%,12% 40%);
}
.fs-cv .fs-cv-fd-chip[aria-pressed="true"]::before{opacity:1;}
.fs-cv .fs-cv-fd-chip[disabled]{cursor:default;opacity:.75;}

.fs-cv-fd-result{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;
  margin-top:1.1rem;padding-top:.9rem;
  border-top:2px dashed rgb(var(--c-accent, var(--c-brand-600)) / .75);
  font-size:.92rem;color:rgb(var(--c-ink-700));
}
.fs-cv-fd-count{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.15rem;font-weight:700;color:rgb(var(--c-brand-600));
}

/* The board: one column per day. */
.fs-cv-fd-board{
  display:grid;grid-template-columns:repeat(6,minmax(0,1fr));
  gap:.55rem;margin-top:1.3rem;
}
@media (max-width:1020px){.fs-cv-fd-board{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:680px){.fs-cv-fd-board{grid-template-columns:1fr;gap:.75rem;}}
.fs-cv-fd-col{display:flex;flex-direction:column;gap:.55rem;min-width:0;}
.fs-cv-fd-day{
  padding:.55rem .6rem;
  background:rgb(var(--c-ink-950));color:rgb(var(--c-paper));
  font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-align:center;
}
@media (max-width:680px){.fs-cv-fd-day{text-align:left;}}
/* A column with nothing left in it after filtering still holds its
   place, so the board does not reflow under the pointer. */
.fs-cv-fd-empty{
  padding:.8rem .6rem;text-align:center;
  font-size:.76rem;line-height:1.4;color:rgb(var(--c-ink-400));
  border:2px dashed rgb(var(--c-ink-950) / .16);
}
.fs-cv-fd-card{
  padding:.8rem .8rem .85rem;
  background:rgb(var(--c-paper-soft));
  border:2px solid rgb(var(--c-ink-950) / .16);
  border-top:4px solid rgb(var(--c-brand-600));
  transition:border-color .16s ease, transform .16s ease;
}
.fs-cv-fd-card:hover{border-color:rgb(var(--c-brand-600) / .55);border-top-color:rgb(var(--c-brand-600));}
.fs-cv-fd-time{
  font-family:var(--font-display, Georgia, serif);
  font-size:1rem;font-weight:700;line-height:1.1;color:rgb(var(--c-brand-600));
}
.fs-cv-fd-name{margin-top:.3rem;font-size:.9rem;font-weight:700;line-height:1.3;color:rgb(var(--c-ink-950));}
.fs-cv-fd-meta{margin-top:.35rem;font-size:.76rem;line-height:1.45;color:rgb(var(--c-ink-700));}
.fs-cv-fd-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.5rem;}
.fs-cv-fd-tag{
  padding:.2rem .45rem;
  font-size:.64rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:rgb(var(--c-ink-700));
  border:1.5px solid rgb(var(--c-ink-950) / .28);
}
.fs-cv-fd-tag-free{color:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));}
.fs-cv-fd-note{margin-top:1.1rem;font-size:.82rem;line-height:1.5;color:rgb(var(--c-ink-400));}

/* ═════════ IMPACT BADGES (favCivicBadges) ═════════
   Numbers as sewn badges: a toothed rosette drawn in CSS, the same
   object as the rosette in the theme's art. */
/* This one section sits on the TINT rather than on paper. Reviewing the
   home page as a whole, the hero, the impact numbers and the finder were
   three consecutive cream bands carrying bordered plates, and the page
   read flat until the ink CTA arrived at the very bottom. Alternating
   the proof band gives the scroll a tonal beat without adding a second
   heavy ink section. The cards invert to paper so they keep their edge
   against it. */
.fs-cv-bd{
  padding:var(--fs-space-section, clamp(2rem,4vw,3rem)) clamp(1rem,4vw,2.5rem);
  background:rgb(var(--c-paper-soft));
}
.fs-cv-bd .fs-cv-bd-card{background:rgb(var(--c-paper));}
.fs-cv-bd-inner{max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-cv-bd-head{margin-bottom:1.6rem;}
.fs-cv-bd-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(.6rem,1.6vw,1.1rem);
}
@media (max-width:900px){.fs-cv-bd-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:460px){.fs-cv-bd-grid{grid-template-columns:1fr;}}
.fs-cv-bd-card{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:1.3rem 1rem 1.2rem;
  background:rgb(var(--c-paper-soft));
}
.fs-cv-bd-rosette{
  position:relative;width:4.6rem;height:4.6rem;flex:0 0 auto;
  display:flex;align-items:center;justify-content:center;
  background:rgb(var(--c-brand-600));
  clip-path:polygon(50% 0,61% 7%,73% 3%,80% 14%,92% 15%,94% 27%,100% 37%,96% 48%,100% 59%,94% 69%,92% 81%,80% 82%,73% 93%,61% 89%,50% 96%,39% 89%,27% 93%,20% 82%,8% 81%,6% 69%,0 59%,4% 48%,0 37%,6% 27%,8% 15%,20% 14%,27% 3%,39% 7%);
}
.fs-cv-bd-rosette::after{
  content:"";position:absolute;inset:.5rem;
  border:2px solid rgb(var(--c-paper) / .5);border-radius:50%;
}
.fs-cv-bd-v{
  position:relative;z-index:1;
  font-family:var(--font-display, Georgia, serif);
  font-size:1.3rem;line-height:1;font-weight:700;color:rgb(var(--c-paper));
}
.fs-cv-bd-t{
  margin-top:.85rem;
  font-family:var(--font-display, Georgia, serif);
  font-size:1rem;font-weight:700;line-height:1.25;color:rgb(var(--c-ink-950));
}
.fs-cv-bd-b{margin-top:.4rem;font-size:.84rem;line-height:1.5;color:rgb(var(--c-ink-700));}
.fs-cv-wire .fs-cv-bd-rosette{clip-path:none;background:transparent;border:1px dashed #111;}
.fs-cv-wire .fs-cv-bd-rosette::after{display:none;}
.fs-cv-wire .fs-cv-bd-v{color:#111;}

/* ═════════ APPEAL (favCivicCta) ═════════
   The ask, on ink. A community organisation's CTA is never one action:
   it is give, give time, or come in — so the band carries two buttons
   and a third quiet line, and never pretends there is only one door. */
.fs-cv-ct{padding:var(--fs-space-section, clamp(2rem,4vw,3rem)) clamp(1rem,4vw,2.5rem);}
.fs-cv-ct-band{
  position:relative;max-width:var(--fs-layout-max,66rem);margin:0 auto;
  padding:clamp(1.8rem,4.5vw,3rem) clamp(1.3rem,4vw,2.8rem);
  background:rgb(var(--c-ink-950));color:rgb(var(--c-paper));
}
.fs-cv-ct-band .fs-cv-eyebrow{border-color:rgb(var(--c-paper) / .5);color:rgb(var(--c-paper));background:transparent;}
.fs-cv-ct-title{
  margin:1.1rem 0 0;
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(1.8rem,3.6vw,2.6rem);line-height:1.12;font-weight:700;letter-spacing:-0.015em;
  color:rgb(var(--c-paper));
}
.fs-cv-ct-body{margin-top:.9rem;max-width:56ch;font-size:1rem;line-height:1.62;color:rgb(var(--c-paper) / .82);}
.fs-cv-ct-band .fs-cv-btn{background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));color:rgb(var(--c-paper));}
.fs-cv-ct-band .fs-cv-btn2{color:rgb(var(--c-paper));border-color:rgb(var(--c-paper) / .7);}
.fs-cv-ct-band .fs-cv-btn2:hover{background:rgb(var(--c-paper));color:rgb(var(--c-ink-950));}
/* The giving ladder — three amounts and what each one buys. Specific
   sums convert; "please donate" does not. */
.fs-cv-ct-ladder{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.6rem;margin-top:1.8rem;
}
@media (max-width:640px){.fs-cv-ct-ladder{grid-template-columns:1fr;}}
.fs-cv-ct-rung{
  padding:.85rem .9rem;
  border:2px solid rgb(var(--c-paper) / .28);
  border-left:4px solid rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-cv-ct-amt{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.35rem;line-height:1;font-weight:700;color:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-cv-ct-buys{margin-top:.35rem;font-size:.82rem;line-height:1.45;color:rgb(var(--c-paper) / .8);}
.fs-cv-ct-note{margin-top:1.4rem;font-size:.78rem;letter-spacing:.05em;color:rgb(var(--c-paper) / .6);}

/* ── favCivicFooter (theme-chrome batch 6, Pennant) ────────────────
   The plate by the door. fs-cv-ft: the full-bleed band (named
   container), opened by the double keyline that closes the header, so
   the page sits in one keylined frame; fs-cv-ft-in: the content box
   (named container), which narrows with the Layout. */
.fs-cv-ft{container-type:inline-size;container-name:fs-cv-ft;padding:0 clamp(1rem,4vw,2.5rem);background:linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) 0 0/100% 2px no-repeat,linear-gradient(var(--cv-ft-key-in),var(--cv-ft-key-in)) 0 5px/100% 1px no-repeat,rgb(var(--c-paper-soft));--cv-ft-rule:rgb(var(--c-ink-950) / .14);--cv-ft-edge:rgb(var(--c-ink-950) / .16);--cv-ft-edge2:rgb(var(--c-ink-950) / .28);--cv-ft-key-in:rgb(var(--c-ink-950) / .38);--cv-ft-stitch:rgb(var(--c-accent, var(--c-brand-600)) / .75)}
.fs-cv-ft:is(.dark *):not(.fs-preview-light *){--cv-ft-rule:rgb(var(--c-ink-950) / .18);--cv-ft-edge:rgb(var(--c-ink-950) / .22);--cv-ft-edge2:rgb(var(--c-ink-950) / .34);--cv-ft-key-in:rgb(var(--c-ink-950) / .45)}
.fs-cv-ft-in{container-type:inline-size;container-name:fs-cv-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:54px 30px}
.fs-cv-ft-mark{display:block;width:40px;height:40px;margin-top:16px}
.fs-cv-ft-mk-a{stop-color:rgb(var(--c-brand-600))}
.fs-cv-ft-mk-b{stop-color:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-cv-ft-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:34px clamp(24px,3cqi,40px)}
.fs-cv-ft-col{min-width:0}
.fs-cv-ft-plate{
  align-self:start;padding:20px 20px 22px;background:rgb(var(--c-paper));
  border:2px solid rgb(var(--c-ink-950));
  box-shadow:inset 0 0 0 1px rgb(var(--c-paper)), inset 0 0 0 2.6px var(--cv-ft-key-in);
  clip-path:polygon(0 0,100% 0,100% calc(100% - 1.15rem),calc(100% - 1.15rem) 100%,0 100%);
}
.fs-cv-ft-est{display:inline-flex;align-items:center;gap:8px;padding:6px 11px 6px 9px;background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)));font:700 10.5px/1 var(--font-body, inherit);letter-spacing:.18em;text-transform:uppercase}
.fs-cv-ft-est::before{content:"";flex:none;width:9px;height:12px;background:currentColor;clip-path:polygon(0 0,100% 0,100% 100%,50% 74%,0 100%)}
.fs-cv-ft-name{margin-top:10px;font:700 22px/1.15 var(--font-display, Bitter, Georgia, serif);color:rgb(var(--c-ink-950))}
.fs-cv-ft-addr{margin-top:8px;font-size:14.5px;line-height:1.5;color:rgb(var(--c-ink-700))}
.fs-cv-ft-tel{display:block;margin-top:14px;padding-top:12px;border-top:2px dashed var(--cv-ft-stitch);font:700 21px/1 var(--font-display, Bitter, Georgia, serif);color:rgb(var(--c-brand-text));font-variant-numeric:lining-nums;text-decoration:none}
.fs-cv-ft-mail{display:inline-block;margin-top:9px;font-size:14px;color:rgb(var(--c-ink-950));border-bottom:1px solid var(--cv-ft-edge2);text-decoration:none}
.fs-cv-ft-h{margin:0 0 12px;padding-bottom:10px;border-bottom:2px dashed var(--cv-ft-stitch);font:700 17px/1.2 var(--font-display, Bitter, Georgia, serif);color:rgb(var(--c-ink-950))}
.fs-cv-ft-links{margin:0;padding:0;list-style:none}
.fs-cv-ft-li{margin:0}
.fs-cv-ft-link{display:block;padding-block:5px;font-size:15px;color:rgb(var(--c-ink-950));text-decoration:none}
.fs-cv-ft-link:hover{color:rgb(var(--c-brand-text));text-decoration:underline;text-decoration-style:dashed;text-underline-offset:4px}
.fs-cv-ft-tiles{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.fs-cv-ft-tile{padding:8px 12px 9px;background:rgb(var(--c-paper));border:2px solid var(--cv-ft-edge);border-left:4px solid rgb(var(--c-brand-600))}
.fs-cv-ft-tile-d{display:block;margin:0;font:700 10.5px/1.2 var(--font-body, inherit);letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--c-ink-700))}
.fs-cv-ft-tile-t{display:block;margin-top:4px;font:700 17px/1.1 var(--font-display, Bitter, Georgia, serif);color:rgb(var(--c-ink-950));font-variant-numeric:lining-nums}
.fs-cv-ft-note{margin-top:10px;font-size:13.5px;line-height:1.5;color:rgb(var(--c-ink-700))}
.fs-cv-ft-seal{position:relative;display:flex;align-items:center;justify-content:center;width:6.6rem;height:6.6rem;margin:2px 0 14px 4px;padding:16px;background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)));font:700 10.5px/1.3 var(--font-body, inherit);letter-spacing:.06em;text-transform:uppercase;text-align:center;transform:rotate(-8deg);clip-path:polygon(50% 0,61% 7%,73% 3%,80% 14%,92% 15%,94% 27%,100% 37%,96% 48%,100% 59%,94% 69%,92% 81%,80% 82%,73% 93%,61% 89%,50% 96%,39% 89%,27% 93%,20% 82%,8% 81%,6% 69%,0 59%,4% 48%,0 37%,6% 27%,8% 15%,20% 14%,27% 3%,39% 7%)}
.fs-cv-ft-seal::after{content:"";position:absolute;inset:8px;border:1.5px solid color-mix(in srgb, var(--fs-on-brand, rgb(var(--c-paper))) 50%, transparent);border-radius:50%}
.fs-cv-ft-p{margin:0;font-size:14.5px;line-height:1.5;color:rgb(var(--c-ink-700))}
.fs-cv-ft-more{display:inline-block;margin-top:10px;padding-bottom:1px;font:700 14px/1.3 var(--font-body, inherit);color:rgb(var(--c-brand-text));border-bottom:2px dashed var(--cv-ft-stitch);text-decoration:none}
.fs-cv-ft-more:hover{border-bottom-style:solid}
.fs-cv-ft-legal{display:flex;flex-wrap:wrap;gap:6px 20px;margin:34px 0 0;padding-top:14px;border-top:1px solid var(--cv-ft-rule);font-size:13px;color:rgb(var(--c-ink-700))}
.fs-cv-ft-legal-t{margin-right:auto}
.fs-cv-ft-legal-a{color:rgb(var(--c-ink-700));text-decoration:none}
.fs-cv-ft-legal-a:hover{color:rgb(var(--c-ink-950))}
@container fs-cv-ft (max-width: 40rem){
  .fs-cv-ft-in{padding-block:38px 24px}
}
@container fs-cv-ft-in (max-width: 56rem){
  .fs-cv-ft-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container fs-cv-ft (max-width: 48rem){
  .fs-cv-ft-grid{grid-template-columns:minmax(0,1fr);gap:30px}
  .fs-cv-ft-plate{max-width:26rem}
  .fs-cv-ft-legal-t{flex-basis:100%}
}


.fs-gg{
  position:relative;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-gg *{box-sizing:border-box;}

/* ── The motifs ─────────────────────────────────────────────────── */

/* THE CENTRE LINE — long dash, short dash, the convention for an axis
   of symmetry. Used wherever another family would put a plain rule, so
   even the horizontal rules on this site read as drawn. */
.fs-gg-centreline{
  height:0;border-top:1px dashed rgb(var(--c-ink-950) / .45);
  border-image:none;
}
.fs-gg-rule{
  height:1px;background:
    repeating-linear-gradient(90deg,
      rgb(var(--c-ink-950) / .5) 0 14px,
      transparent 14px 20px,
      rgb(var(--c-ink-950) / .5) 20px 24px,
      transparent 24px 30px);
}
.fs-gg-wire .fs-gg-rule{background:#111;}

/* THE DATUM TRIANGLE — the ISO mark for a reference face. The set's
   section marker, and the only place the accent metal is spent. */
.fs-gg-datum{
  display:inline-flex;align-items:center;gap:.55rem;
  font-size:.68rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-gg-datum::before{
  content:"";width:.7rem;height:.6rem;flex:0 0 auto;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  clip-path:polygon(0 0,100% 0,50% 100%);
}

/* TABULAR FIGURES — every number in this set lines up in its column. */
.fs-gg-fig{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;}

/* ── Type ────────────────────────────────────────────────────────
   Quiet luxury is mostly restraint: one large display size, one body
   size, and a lot of tracking on the small stuff. Nothing shouts. */
.fs-gg-eyebrow{
  display:block;
  font-size:.68rem;font-weight:600;letter-spacing:.26em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-gg-title{
  margin:1.4rem 0 0;
  font-family:var(--font-display, Helvetica, Arial, sans-serif);
  font-size:clamp(2.3rem,5.4vw,3.9rem);
  line-height:1.04;font-weight:600;letter-spacing:-0.028em;
  color:rgb(var(--c-ink-950));
}
.fs-gg-accent{color:rgb(var(--c-ink-400));}
.fs-gg-sub{
  margin:1.4rem 0 0;max-width:var(--fs-measure, 56ch);
  font-size:clamp(1rem,1.3vw,1.09rem);line-height:1.72;
  color:rgb(var(--c-ink-700));
}
.fs-gg-h{
  margin:0;
  font-family:var(--font-display, Helvetica, Arial, sans-serif);
  font-size:var(--fs-type-h2, clamp(1.7rem,3vw,2.3rem));
  line-height:1.18;font-weight:600;letter-spacing:-0.022em;
  color:rgb(var(--c-ink-950));
}
.fs-gg-lede{margin:.9rem 0 0;max-width:var(--fs-measure, 62ch);font-size:1rem;line-height:1.7;color:rgb(var(--c-ink-700));}

/* ── Buttons — quiet: a filled graphite primary, a hairline ghost ── */
.fs-gg-ctas{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem;align-items:center;}
.fs-gg-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.9rem 1.7rem;border-radius:var(--fs-radius-control, .5rem);
  font-size:.9rem;font-weight:600;line-height:1;white-space:nowrap;letter-spacing:.02em;
  color:rgb(var(--c-paper));
  background:rgb(var(--c-brand-600));
  border:1px solid rgb(var(--c-brand-600));
  transition:background .2s ease, border-color .2s ease;
}
.fs-gg-btn:hover{background:rgb(var(--c-brand-700, var(--c-brand-600)));border-color:rgb(var(--c-brand-700, var(--c-brand-600)));}
.fs-gg-btn2{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.9rem 1.7rem;border-radius:var(--fs-radius-control, .5rem);
  font-size:.9rem;font-weight:600;line-height:1;white-space:nowrap;letter-spacing:.02em;
  color:rgb(var(--c-ink-950));
  background:transparent;
  border:1px solid rgb(var(--c-ink-950) / .32);
  transition:border-color .2s ease, background .2s ease;
}
.fs-gg-btn2:hover{border-color:rgb(var(--c-ink-950));background:rgb(var(--c-ink-950) / .04);}

/* Focus is a real ring on everything interactive. */
.fs-gg :focus-visible{
  outline:2px solid rgb(var(--c-accent, var(--c-brand-600)));
  outline-offset:3px;
}

/* ═════════ HERO (favGaugeHero) ═════════ */
.fs-gg-hero{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-gg-hero-inner{
  position:relative;max-width:var(--fs-layout-max,74rem);margin:0 auto;
  display:grid;grid-template-columns:1.02fr .98fr;
  gap:clamp(2rem,5vw,4rem);align-items:center;
}
@media (max-width:940px){.fs-gg-hero-inner{grid-template-columns:1fr;gap:2.5rem;}}

/* The spec strip: the three numbers a buyer scans for, set as a drawing
   would set them — label above, figure below, hairline between. */
.fs-gg-specs{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:2.4rem;border-top:1px solid rgb(var(--c-ink-950) / .16);
}
@media (max-width:520px){.fs-gg-specs{grid-template-columns:1fr;}}
.fs-gg-spec{
  padding:1.1rem 1.2rem 0 0;
}
.fs-gg-spec + .fs-gg-spec{
  padding-left:1.2rem;border-left:1px solid rgb(var(--c-ink-950) / .16);
}
@media (max-width:520px){
  .fs-gg-spec + .fs-gg-spec{padding-left:0;border-left:0;border-top:1px solid rgb(var(--c-ink-950) / .16);margin-top:.2rem;}
}
.fs-gg-spec-l{
  font-size:.66rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-gg-spec-v{
  margin-top:.5rem;
  font-family:var(--font-display, Helvetica, Arial, sans-serif);
  font-size:1.7rem;line-height:1;font-weight:600;letter-spacing:-0.02em;
  font-variant-numeric:tabular-nums;
  color:rgb(var(--c-ink-950));
}

/* The stage: the drawing sits in a plain frame with a hairline, no
   shadow — quiet luxury never fakes depth. */
.fs-gg-hero-stage{position:relative;}
.fs-gg-frame{
  /* z-index 1 so the frame paints OVER the centre-mark ring behind it.
     The ring was previously pushed to z-index:-1, which put it behind
     the section's own background and made it invisible — the ambient
     flourish existed in the DOM and never once appeared on screen. */
  position:relative;z-index:1;overflow:hidden;
  border-radius:var(--fs-radius-card, .75rem);
  border:1px solid rgb(var(--c-ink-950) / .16);
  background:rgb(var(--c-paper-soft));
  aspect-ratio:4 / 3;
}
.fs-gg-frame img{width:100%;height:100%;object-fit:cover;}
.fs-gg-frame > *{width:100%;height:100%;}
/* No image set: a drawn centre mark, so the frame is never an empty box. */
.fs-gg-frame-fallback{
  display:block;width:100%;height:100%;position:relative;
  background:
    linear-gradient(90deg,transparent calc(50% - .5px),rgb(var(--c-ink-950) / .3) calc(50% - .5px) calc(50% + .5px),transparent calc(50% + .5px)),
    linear-gradient(0deg,transparent calc(50% - .5px),rgb(var(--c-ink-950) / .3) calc(50% - .5px) calc(50% + .5px),transparent calc(50% + .5px));
}
.fs-gg-frame-fallback::after{
  content:"";position:absolute;left:50%;top:50%;
  width:34%;aspect-ratio:1;transform:translate(-50%,-50%);
  border-radius:50%;border:1px solid rgb(var(--c-ink-950) / .3);
}

/* THE ONE AMBIENT FLOURISH on the page: a centre-mark ring that turns
   once a minute behind the frame's corner. Compositor-only (transform),
   and it never runs outside 'rich' or under reduced-motion. */
.fs-gg-orbit{
  position:absolute;right:-2.2rem;top:-2.2rem;width:9rem;height:9rem;
  pointer-events:none;z-index:0;
  border-radius:50%;
  border:1px dashed rgb(var(--c-accent, var(--c-brand-600)) / .5);
}
.fs-gg-orbit::after{
  content:"";position:absolute;left:50%;top:-.28rem;width:.55rem;height:.55rem;
  margin-left:-.275rem;border-radius:50%;
  background:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-gg-anim .fs-gg-orbit{animation:fs-gg-turn 60s linear infinite;}
@keyframes fs-gg-turn{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
@media (prefers-reduced-motion:reduce){
  .fs-gg-anim .fs-gg-orbit{animation:none;}
}
.fs-gg-wire .fs-gg-orbit{display:none;}

/* ═════════ PAGE HEADER (favGaugeHeader) ═════════
   A title block: the strip along the bottom of a drawing sheet that
   says what the sheet is. Left-aligned, hairline over and under. */
.fs-gg-hd{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-gg-hd-inner{max-width:var(--fs-layout-max,74rem);margin:0 auto;}
.fs-gg-hd .fs-gg-title{font-size:clamp(2rem,4.4vw,3.1rem);}
.fs-gg-hd-block{
  display:flex;flex-wrap:wrap;gap:0;margin-top:2.4rem;
  border-top:1px solid rgb(var(--c-ink-950) / .16);
  border-bottom:1px solid rgb(var(--c-ink-950) / .16);
}
.fs-gg-hd-cell{
  padding:.9rem 1.4rem .9rem 0;min-width:9rem;
}
.fs-gg-hd-cell + .fs-gg-hd-cell{padding-left:1.4rem;border-left:1px solid rgb(var(--c-ink-950) / .16);}
.fs-gg-hd-k{font-size:.62rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:rgb(var(--c-ink-400));}
.fs-gg-hd-v{margin-top:.4rem;font-size:.95rem;font-weight:600;font-variant-numeric:tabular-nums;color:rgb(var(--c-ink-950));}

/* ═════════ SPEC DIAGRAM (favGaugeSpec) ═════════
   The set's interactive piece — see the long note in GaugeBlocks.tsx.
   Drawing left, callout list right; pointing at a callout lights its
   dimension on the drawing and dims the others. */
.fs-gg-sp{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-gg-sp-inner{max-width:var(--fs-layout-max,74rem);margin:0 auto;}
.fs-gg-sp-head{margin-bottom:2rem;}
.fs-gg-sp-grid{
  display:grid;grid-template-columns:1.15fr .85fr;
  gap:clamp(1.5rem,4vw,3rem);align-items:start;
}
@media (max-width:900px){.fs-gg-sp-grid{grid-template-columns:1fr;}}

.fs-gg-sp-stage{
  border-radius:var(--fs-radius-card, .75rem);
  border:1px solid rgb(var(--c-ink-950) / .16);
  background:rgb(var(--c-paper-soft));
  padding:clamp(.75rem,2vw,1.4rem);
}
.fs-gg-sp-svg{display:block;width:100%;height:auto;}

/* Drawing element classes — every one resolves through theme tokens, so
   the drawing re-tints with the palette in both modes. */
.fs-gg-sp-outline{fill:none;stroke:rgb(var(--c-ink-950));stroke-width:2.2;}
.fs-gg-sp-thin{fill:none;stroke:rgb(var(--c-ink-950) / .55);stroke-width:1;}
.fs-gg-sp-hatch{stroke:rgb(var(--c-ink-950) / .3);stroke-width:1;}
.fs-gg-sp-centre{
  fill:none;stroke:rgb(var(--c-ink-950) / .5);stroke-width:1;
  stroke-dasharray:16 4 4 4;
}
.fs-gg-sp-fill{fill:rgb(var(--c-paper-soft));}

/* A dimension group: quiet by default, lit when its callout is active,
   faded when a sibling is. Opacity and stroke only — nothing reflows,
   so pointing down the list never nudges the drawing. */
.fs-gg-sp-dim{
  fill:none;stroke:rgb(var(--c-ink-950) / .62);stroke-width:1.4;
  transition:opacity .18s ease, stroke .18s ease;
}
.fs-gg-sp-dim text{fill:rgb(var(--c-ink-700));stroke:none;font-size:15px;font-weight:600;}
.fs-gg-sp-dim polygon{fill:rgb(var(--c-ink-950) / .62);stroke:none;transition:fill .18s ease;}
.fs-gg-sp-dim.is-off{opacity:.16;}
.fs-gg-sp-dim.is-on{stroke:rgb(var(--c-accent, var(--c-brand-600)));stroke-width:2;}
.fs-gg-sp-dim.is-on polygon{fill:rgb(var(--c-accent, var(--c-brand-600)));}
.fs-gg-sp-dim.is-on text{fill:rgb(var(--c-accent, var(--c-brand-600)));}

/* The callout list — rows of a specification table. */
.fs-gg-sp-list{list-style:none;margin:0;padding:0;border-top:1px solid rgb(var(--c-ink-950) / .16);}
.fs-gg-sp-row{
  display:block;width:100%;text-align:left;
  font-family:inherit;color:inherit;background:transparent;
  border:0;border-bottom:1px solid rgb(var(--c-ink-950) / .16);
  border-radius:0;
  padding:.95rem .8rem .95rem .1rem;
  cursor:pointer;
  transition:background .18s ease, padding-left .18s ease;
}
.fs-gg-sp-row:hover,.fs-gg-sp-row.is-on{
  background:rgb(var(--c-ink-950) / .035);
  padding-left:.7rem;
}
.fs-gg-sp-row[aria-pressed="true"]{background:rgb(var(--c-ink-950) / .055);}
.fs-gg-sp-rowtop{display:flex;align-items:baseline;gap:.7rem;}
.fs-gg-sp-no{
  flex:0 0 auto;width:1.45rem;height:1.45rem;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:50%;
  border:1px solid rgb(var(--c-ink-950) / .3);
  font-size:.66rem;font-weight:600;font-variant-numeric:tabular-nums;
  color:rgb(var(--c-ink-700));
  transition:background .18s ease, color .18s ease, border-color .18s ease;
}
.fs-gg-sp-row.is-on .fs-gg-sp-no{
  background:rgb(var(--c-accent, var(--c-brand-600)));
  border-color:rgb(var(--c-accent, var(--c-brand-600)));
  color:rgb(var(--c-paper));
}
.fs-gg-sp-name{font-size:.98rem;font-weight:600;color:rgb(var(--c-ink-950));}
.fs-gg-sp-val{
  margin-left:auto;font-size:.9rem;font-weight:600;
  font-variant-numeric:tabular-nums;
  color:rgb(var(--c-ink-950));white-space:nowrap;
}
.fs-gg-sp-note{margin-top:.4rem;padding-left:2.15rem;font-size:.82rem;line-height:1.55;color:rgb(var(--c-ink-700));}
.fs-gg-sp-foot{margin-top:1.2rem;font-size:.8rem;line-height:1.55;color:rgb(var(--c-ink-400));}

/* ═════════ PROCESS (favGaugeProcess) ═════════
   Route card: the numbered operations a part passes through, in order,
   the way a works order lists them. */
/* The one section that sits on the TINT rather than on paper. Reviewing
   the home page whole, five consecutive paper bands ran before the ink
   CTA arrived at the very bottom and the scroll read flat. The route
   card is the right one to lift: it is a full-width ruled grid with no
   cards of its own, so a tint separates it cleanly instead of fighting
   a surface that is already raised. */
.fs-gg-pr{
  padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);
  background:rgb(var(--c-paper-soft));
}
.fs-gg-pr-inner{max-width:var(--fs-layout-max,74rem);margin:0 auto;}
.fs-gg-pr-head{margin-bottom:2.2rem;}
.fs-gg-pr-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;border-top:1px solid rgb(var(--c-ink-950) / .16);
}
@media (max-width:900px){.fs-gg-pr-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:520px){.fs-gg-pr-grid{grid-template-columns:1fr;}}
.fs-gg-pr-step{padding:1.5rem 1.4rem 1.6rem 0;}
.fs-gg-pr-step + .fs-gg-pr-step{padding-left:1.4rem;border-left:1px solid rgb(var(--c-ink-950) / .16);}
@media (max-width:900px){
  .fs-gg-pr-step:nth-child(3){border-left:0;padding-left:0;}
  .fs-gg-pr-step:nth-child(n+3){border-top:1px solid rgb(var(--c-ink-950) / .16);}
}
@media (max-width:520px){
  .fs-gg-pr-step + .fs-gg-pr-step{border-left:0;padding-left:0;border-top:1px solid rgb(var(--c-ink-950) / .16);}
}
.fs-gg-pr-op{
  font-size:.64rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  font-variant-numeric:tabular-nums;
  color:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-gg-pr-t{
  margin-top:.7rem;
  font-family:var(--font-display, Helvetica, Arial, sans-serif);
  font-size:1.16rem;font-weight:600;line-height:1.25;letter-spacing:-0.015em;
  color:rgb(var(--c-ink-950));
}
.fs-gg-pr-b{margin-top:.55rem;font-size:.9rem;line-height:1.65;color:rgb(var(--c-ink-700));}

/* ═════════ CONTACT BAND (favGaugeCta) ═════════
   On ink, and deliberately the only heavy tone in the set. */
.fs-gg-ct{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-gg-ct-band{
  max-width:var(--fs-layout-max,68rem);margin:0 auto;
  padding:clamp(2rem,5vw,3.4rem) clamp(1.4rem,4vw,3rem);
  border-radius:var(--fs-radius-card, .75rem);
  background:rgb(var(--c-ink-950));color:rgb(var(--c-paper));
}
.fs-gg-ct-band .fs-gg-eyebrow{color:rgb(var(--c-paper) / .6);}
.fs-gg-ct-title{
  margin:1.3rem 0 0;
  font-family:var(--font-display, Helvetica, Arial, sans-serif);
  font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1.14;font-weight:600;letter-spacing:-0.025em;
  color:rgb(var(--c-paper));
}
.fs-gg-ct-body{margin-top:1.1rem;max-width:56ch;font-size:1rem;line-height:1.72;color:rgb(var(--c-paper) / .78);}
.fs-gg-ct-band .fs-gg-btn{background:rgb(var(--c-paper));border-color:rgb(var(--c-paper));color:rgb(var(--c-ink-950));}
.fs-gg-ct-band .fs-gg-btn:hover{background:rgb(var(--c-paper) / .88);border-color:rgb(var(--c-paper) / .88);}
.fs-gg-ct-band .fs-gg-btn2{color:rgb(var(--c-paper));border-color:rgb(var(--c-paper) / .42);}
.fs-gg-ct-band .fs-gg-btn2:hover{border-color:rgb(var(--c-paper));background:rgb(var(--c-paper) / .08);}
/* The accreditation row — for a manufacturer these ARE the credentials,
   and a buyer looks for them before anything else on the page. */
.fs-gg-ct-accs{
  display:flex;flex-wrap:wrap;gap:0;margin-top:2.2rem;
  border-top:1px solid rgb(var(--c-paper) / .22);
}
.fs-gg-ct-acc{padding:1.1rem 1.4rem 0 0;}
.fs-gg-ct-acc + .fs-gg-ct-acc{padding-left:1.4rem;border-left:1px solid rgb(var(--c-paper) / .22);}
.fs-gg-ct-acc-k{
  font-family:var(--font-display, Helvetica, Arial, sans-serif);
  font-size:1.02rem;font-weight:600;font-variant-numeric:tabular-nums;color:rgb(var(--c-paper));
}
.fs-gg-ct-acc-v{margin-top:.3rem;font-size:.76rem;letter-spacing:.06em;color:rgb(var(--c-paper) / .6);}
.fs-gg-ct-note{margin-top:1.6rem;font-size:.78rem;letter-spacing:.04em;color:rgb(var(--c-paper) / .55);}

/* ═════════ FOOTER (favGaugeFooter) ═════════
   Datum's own footer — the strip along the bottom of a drawing sheet,
   drawn as a title block: a zone strip, a three-column grid (company /
   capability links / hours), the title-block cells themselves (company /
   tel / approvals / founded / sheet) and a legal row carrying the
   platform's legal links plus the scale note. Ported from the mockup's
   '.d-ftr' family (docs/superpowers/specs/2026-09-27-theme-chrome-mockup.html).
   UNSCOPED, like the rest of this file (see the header note above) — a
   family block, theme-locked by themeBlocks/FOOTER_REGION_TYPES rather
   than by a [data-fs-theme] prefix (ledger ruling R1). */
.fs-gg-ft{padding:56px clamp(1rem,4vw,2.5rem) 40px;container-type:inline-size;}
.fs-gg-ft-frame{
  max-width:var(--fs-layout-max,74rem);margin:0 auto;
  padding:7px;border:1.5px solid rgb(var(--c-ink-950));
  box-shadow:inset 0 0 0 6px rgb(var(--c-paper)),inset 0 0 0 7px rgb(var(--c-ink-950) / .15);
}
.fs-gg-ft-zones{
  display:grid;grid-template-columns:repeat(6,1fr);height:17px;
  border-bottom:1px solid rgb(var(--c-ink-950) / .15);
  font-size:9.5px;line-height:16px;color:rgb(var(--c-ink-700));
  text-align:center;font-variant-numeric:tabular-nums;
}
.fs-gg-ft-zones span+span{border-left:1px solid rgb(var(--c-ink-950) / .15);}
.fs-gg-ft-grid{
  display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:1px;
  background:rgb(var(--c-ink-950) / .15);
}
.fs-gg-ft-grid>div{padding:26px 28px;background:rgb(var(--c-paper));}
/* The company name — replaces the mockup's SVG wordmark, since this
   block ships to any business, not just Datum's own demo. */
.fs-gg-ft-company{
  display:block;
  font-family:var(--font-display, Helvetica, Arial, sans-serif);
  font-size:15px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;
  color:rgb(var(--c-ink-950));
}
.fs-gg-ft-main .fs-gg-ft-statement{
  max-width:26ch;margin-top:18px;
  font-family:var(--font-display, Helvetica, Arial, sans-serif);
  font-size:20px;line-height:1.3;font-weight:600;letter-spacing:-.01em;
  color:rgb(var(--c-ink-950));
}
.fs-gg-ft-main address{
  display:block;margin-top:12px;font-style:normal;font-size:14px;color:rgb(var(--c-ink-700));
}
/* R18 (ledger ruling, fix round 1 — reviewer-confirmed pre-existing bug
   from Task 7): capHeading/hoursHeading were bare <h5>s, the capability
   links were bare <a>s and the legal row's links were bare <a>s — the
   exact shape EditWpClient's global typography ramp targets via
   '.fs-typo h5:not([class])' / 'a:not([class])'. At (0,2,1) specificity
   those beat a '.fs-gg-ft-col h5' / '.fs-gg-ft-col li a' descendant
   selector outright regardless of stylesheet order (the same mechanism
   Task 10 found and reported for favBillFooter). Fixed the platform's
   own way: every heading, paragraph and link in this footer now carries
   its own class, so ':not([class])' never matches and there is no
   specificity contest to win. */
.fs-gg-ft-h5{
  display:flex;align-items:center;gap:10px;margin-bottom:12px;
  font-family:var(--font-display, Helvetica, Arial, sans-serif);
  font-size:11.5px;font-weight:700;line-height:1;letter-spacing:.16em;text-transform:uppercase;
  color:rgb(var(--c-ink-950));
}
.fs-gg-ft-col ul{list-style:none;margin:0;padding:0;}
.fs-gg-ft-col li{padding-block:5px;font-size:14.5px;}
.fs-gg-ft-link{color:rgb(var(--c-ink-950));text-decoration:none;}
.fs-gg-ft-link:hover{text-decoration:underline;}
.fs-gg-ft-hoursp{margin:0;font-size:14.5px;font-variant-numeric:tabular-nums;color:rgb(var(--c-ink-950));}
.fs-gg-ft-note{margin-top:8px;color:rgb(var(--c-ink-700));font-size:13.5px;}
.fs-gg-ft-balloon{
  display:inline-grid;place-items:center;flex:none;
  width:22px;height:22px;
  border:1.3px solid rgb(var(--c-ink-950));border-radius:50%;
  font-weight:600;font-size:11px;line-height:1;font-variant-numeric:tabular-nums;
  color:rgb(var(--c-ink-950));
}
.fs-gg-ft-tb{
  display:grid;grid-template-columns:1.1fr 1fr 2fr .6fr .6fr;gap:1px;
  background:rgb(var(--c-ink-950) / .15);
  border-top:1.5px solid rgb(var(--c-ink-950));
}
.fs-gg-ft-tb>div{padding:10px 14px;background:rgb(var(--c-paper));}
.fs-gg-ft-tb span{
  display:block;margin-bottom:3px;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;
  color:rgb(var(--c-ink-700));
}
.fs-gg-ft-tb b{font-weight:600;font-size:14px;font-variant-numeric:tabular-nums;color:rgb(var(--c-ink-950));}
.fs-gg-ft-legal{
  display:flex;flex-wrap:wrap;gap:8px 18px;padding:10px 14px 4px;
  border-top:1px solid rgb(var(--c-ink-950) / .15);
  font-size:12.5px;color:rgb(var(--c-ink-700));
}
.fs-gg-ft-legallink{color:inherit;text-decoration:none;}
.fs-gg-ft-legallink:hover{color:rgb(var(--c-ink-950));}
.fs-gg-ft-scale{margin-left:auto;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;}

/* The footer's OWN padding stays a viewport query: .fs-gg-ft is the
   container itself, and a container never matches its own @container
   block (a rule there silently never applies). Only descendants below. */
@media (max-width: 760px){
  .fs-gg-ft{padding:36px clamp(1rem,4vw,2.5rem) 28px;}
}
@container (max-width: 48rem){
  .fs-gg-ft-grid{grid-template-columns:1fr;}
  .fs-gg-ft-grid>div{padding:22px 18px;}
  .fs-gg-ft-tb{grid-template-columns:1fr 1fr;}
  .fs-gg-ft-tb .fs-gg-ft-w2{grid-column:span 2;}
  .fs-gg-ft-scale{width:100%;margin-left:0;}
  .fs-gg-ft-zones{grid-template-columns:repeat(4,1fr);}
  .fs-gg-ft-zones span:nth-child(n+5){display:none;}
}


[data-fs-theme='datum'] .fs-hdr-util{background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;font-variant-numeric:tabular-nums}
[data-fs-theme='datum']:is(.dark *):not(.fs-preview-light):not(.fs-preview-light *) .fs-hdr-util{background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-700))}
/* The measuring-rule edge: a hairline with 8px minor and 40px major ticks
   hanging from it, painted as the band's last 10px so no positioning of
   the (possibly sticky) band changes. */
[data-fs-theme='datum'] .fs-hdr-band{border-bottom-width:0;padding-bottom:10px;background-image:
  linear-gradient(rgb(var(--c-ink-950) / .55),rgb(var(--c-ink-950) / .55)),
  repeating-linear-gradient(90deg,rgb(var(--c-ink-950) / .55) 0 1px,transparent 1px 40px),
  repeating-linear-gradient(90deg,rgb(var(--c-ink-950) / .15) 0 1px,transparent 1px 8px);
  background-size:100% 1px,100% 9px,100% 5px;
  background-position:0 calc(100% - 9px),0 100%,0 calc(100% - 4px);
  background-repeat:no-repeat}
[data-fs-theme='datum'] .fs-hdr-cta::after{content:"";display:inline-block;width:7px;height:7px;margin-left:.6rem;background:rgb(var(--c-accent, var(--c-brand-600)));transform:rotate(45deg)}
[data-fs-theme='datum'] .fs-hdr-menu-btn{border:1px solid rgb(var(--c-ink-950) / .55)}
/* Phone menu: a drawing sheet with numbered balloons on top-level links. */
[data-fs-theme='datum'] .fs-hdr-mobile{background-color:rgb(var(--c-paper));background-image:linear-gradient(rgb(var(--c-brand-600) / .055) 1px,transparent 1px),linear-gradient(90deg,rgb(var(--c-brand-600) / .055) 1px,transparent 1px);background-size:20px 20px}
[data-fs-theme='datum'] .fs-hdr-mobile-head{border-bottom:1.5px solid rgb(var(--c-ink-950))}
[data-fs-theme='datum'] .fs-hdr-mobile-list{counter-reset:datum-balloon}
[data-fs-theme='datum'] .fs-hdr-mobile-link:not(.is-sub){display:flex;align-items:center;gap:14px;padding-block:14px;border-bottom:1px solid rgb(var(--c-ink-950) / .15);font-family:var(--font-display, Helvetica, Arial, sans-serif);font-weight:600;font-size:1.25rem;letter-spacing:-.01em}
[data-fs-theme='datum'] .fs-hdr-mobile-link:not(.is-sub)::before{counter-increment:datum-balloon;content:counter(datum-balloon);display:inline-grid;place-items:center;flex:none;width:22px;height:22px;border:1.3px solid currentColor;border-radius:50%;font-weight:600;font-size:11px;line-height:1;letter-spacing:0;font-variant-numeric:tabular-nums}
[data-fs-theme='datum'] .fs-hdr-mobile-link[aria-current]:not([aria-current='false'])::after{content:"";margin-left:auto;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:8px solid rgb(var(--c-accent, var(--c-brand-600)))}
[data-fs-theme='datum'] .fs-hdr-mobile-link.is-sub{font-size:.9375rem;padding-block:7px}
/* Services mega panel — a drawing sheet: zone letters, numbered balloons,
   processes with tolerances, materials in stock, and a title block.
   Composite: datum-mega.tsx (fs-dtm- prefix). Also renders inside the
   phone menu (composites carry into MobileNavRow), hence the narrow rules
   at the end mirroring the @container ones. */
[data-fs-theme='datum'] .fs-dtm-sheet{position:relative;padding:30px 30px 0;background-color:rgb(var(--c-paper-soft));background-image:linear-gradient(rgb(var(--c-brand-600) / .055) 1px,transparent 1px),linear-gradient(90deg,rgb(var(--c-brand-600) / .055) 1px,transparent 1px);background-size:16px 16px;border:1.5px solid rgb(var(--c-ink-950));box-shadow:inset 0 0 0 6px rgb(var(--c-paper-soft)),inset 0 0 0 7px rgb(var(--c-ink-950) / .15),0 26px 50px -14px rgba(0,0,0,.25)}
[data-fs-theme='datum'] .fs-dtm-zones{display:grid;grid-template-columns:repeat(6,1fr);height:17px;border-bottom:1px solid rgb(var(--c-ink-950) / .15);font-size:9.5px;line-height:16px;color:rgb(var(--c-ink-700));text-align:center;font-variant-numeric:tabular-nums}
[data-fs-theme='datum'] .fs-dtm-zones span+span{border-left:1px solid rgb(var(--c-ink-950) / .15)}
[data-fs-theme='datum'] .fs-dtm-sheet>.fs-dtm-zones{position:absolute;left:7px;right:7px;top:7px}
[data-fs-theme='datum'] .fs-dtm-grid{display:grid;grid-template-columns:1.25fr 1fr 1.1fr}
[data-fs-theme='datum'] .fs-dtm-grid>section{padding:18px 24px 6px}
[data-fs-theme='datum'] .fs-dtm-grid>section+section{border-left:1px solid rgb(var(--c-ink-950) / .15)}
[data-fs-theme='datum'] .fs-dtm-h{display:flex;align-items:center;gap:10px;margin-bottom:12px;font:700 11.5px/1 var(--font-display, Georgia, serif);letter-spacing:.16em;text-transform:uppercase}
[data-fs-theme='datum'] .fs-dtm-balloon{display:inline-grid;place-items:center;flex:none;width:22px;height:22px;border:1.3px solid rgb(var(--c-ink-950));border-radius:50%;font-weight:600;font-size:11px;line-height:1;letter-spacing:0;font-variant-numeric:tabular-nums}
[data-fs-theme='datum'] .fs-dtm-spec-row{display:flex;align-items:baseline;gap:8px;padding-block:7px;font-size:14px}
[data-fs-theme='datum'] .fs-dtm-spec i{flex:1;min-width:12px;border-bottom:1px dotted rgb(var(--c-ink-950) / .55);transform:translateY(-4px)}
[data-fs-theme='datum'] .fs-dtm-spec b{font-weight:600;font-variant-numeric:tabular-nums}
[data-fs-theme='datum'] .fs-dtm-mat-row{display:flex;justify-content:space-between;gap:10px;padding-block:7px;border-bottom:1px solid rgb(var(--c-ink-950) / .15);font-size:14px}
[data-fs-theme='datum'] .fs-dtm-mat span{color:rgb(var(--c-ink-700));font-size:12.5px}
[data-fs-theme='datum'] .fs-dtm-tb{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgb(var(--c-ink-950) / .55);border:1px solid rgb(var(--c-ink-950) / .55)}
[data-fs-theme='datum'] .fs-dtm-tb div{padding:8px 10px;background:rgb(var(--c-paper-soft))}
[data-fs-theme='datum'] .fs-dtm-tb dt{font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:rgb(var(--c-ink-700))}
[data-fs-theme='datum'] .fs-dtm-tb dd{font-weight:600;font-size:14px;font-variant-numeric:tabular-nums}
[data-fs-theme='datum'] .fs-dtm-link{display:inline-block;margin-top:14px;font-weight:600;font-size:14px;border-bottom:1px solid rgb(var(--c-ink-950) / .55)}
[data-fs-theme='datum'] .fs-dtm-foot{display:flex;align-items:center;gap:10px;margin-top:12px;padding-block:12px 16px;border-top:1px solid rgb(var(--c-ink-950) / .15);font-size:13px;color:rgb(var(--c-ink-700))}
[data-fs-theme='datum'] .fs-dtm-diamond{flex:none;width:7px;height:7px;background:rgb(var(--c-accent, var(--c-brand-600)));transform:rotate(45deg)}
@container (max-width: 40rem){
  [data-fs-theme='datum'] .fs-dtm-grid{grid-template-columns:1fr}
  [data-fs-theme='datum'] .fs-dtm-grid>section+section{border-left:0;border-top:1px solid rgb(var(--c-ink-950) / .15)}
  [data-fs-theme='datum'] .fs-dtm-sheet{box-shadow:none;padding:24px 12px 0}
}
[data-fs-theme='datum'] .fs-hdr-mobile .fs-dtm-grid{grid-template-columns:1fr}
[data-fs-theme='datum'] .fs-hdr-mobile .fs-dtm-grid>section+section{border-left:0;border-top:1px solid rgb(var(--c-ink-950) / .15)}
/* M2 (final review): mirrors the @container block's own box-shadow:none
   and reduced padding, which the narrow .fs-hdr-mobile copy above used
   to drop — leaving the sheet's desktop shadow and padding stacked
   inside the phone menu sheet's own background/edges. */
[data-fs-theme='datum'] .fs-hdr-mobile .fs-dtm-sheet{box-shadow:none;padding:24px 12px 0}

/* Phone-menu bottom section (owner decision 2026-09-28, mockup .d-mfoot):
   the title-block Tel/Open cells, then the quote button full width. */
[data-fs-theme='datum'] .fs-pmf-datum{display:grid;gap:14px;margin-top:18px;padding:16px 0 6px;border-top:1.5px solid rgb(var(--c-ink-950))}
[data-fs-theme='datum'] .fs-pmf-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:0;background:rgb(var(--c-ink-950))}
[data-fs-theme='datum'] .fs-pmf-cell{padding:8px 10px;background:rgb(var(--c-paper-soft))}
[data-fs-theme='datum'] .fs-pmf-dt{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--c-ink-700))}
[data-fs-theme='datum'] .fs-pmf-dd{margin:2px 0 0;font-size:14px;font-weight:600;color:rgb(var(--c-ink-950))}
[data-fs-theme='datum'] .fs-pmf-tel{color:inherit;text-decoration:none}
[data-fs-theme='datum'] .fs-pmf-cta{display:flex;align-items:center;justify-content:center;width:100%;padding-block:15px}


/* "Gilt" is the accent in light mode and the brand in dark mode (the
   dark palettes lead with the lighter partner of the pair — see
   themes/limelight.ts's own palette notes). "Hot" is the reverse pairing,
   used for the ticket fill so it stays the same read in both modes.
   "Bar" is the dark backing the marquee bulbs sit on — near-black on
   paper, and paper mixed toward black so it still reads as a bar rather
   than vanishing on an already-dark page. */
/* FIX (found verifying Task 9's Bill panel colours on /preview/view,
   light mode): ':not(.fs-preview-light *)' is the platform's own dark-scope
   idiom (site-colors.ts documents it deliberately as "excludes DESCENDANTS
   of a light canvas", not the scope element itself — see that file's own
   comment on why the opposite reading was tried and reverted). Every other
   consumer of the idiom in this codebase targets a DESCENDANT selector
   ('.fs-hdr-util', '.fs-hdr-mobile', the universal '*' in
   SITE_COLOR_SCHEME_CSS), so the self-vs-descendant distinction never
   mattered before. These two lines are the exception: siteShell() puts
   BOTH the data-fs-theme='limelight' attribute AND the mode class on the
   SAME element (site-shell.ts:251), so the bare [data-fs-theme='limelight']
   selector IS that element, not a descendant of it. Measured on
   /preview/view: with ?mode=light, the editor shell's own <html> still
   carries .dark (its default UI mode) and the scope root carries
   .fs-preview-light — ':is(.dark *)' is true (root is a descendant of
   html.dark) and ':not(.fs-preview-light *)' is ALSO true for the root
   itself (it is not a descendant of a DIFFERENT element carrying that
   class), so this dark declaration won on specificity even in light mode:
   --ll-gilt / --ll-hot resolved to the dark mapping (accent/brand swapped)
   and cascaded by inheritance to every child, including the Bill panel's
   flags and stamps. Dark mode was unaffected (the root never carries
   .fs-preview-light there). Added ':not(.fs-preview-light)' (self, no
   descendant combinator) so the dark rule excludes the scope root exactly
   when IT carries the class, alongside the existing exclusion for its
   descendants. Scoped to this theme's own two lines only — the shared
   idiom in site-colors.ts and every descendant-selector consumer of it is
   untouched. */
/* F7 (final review): "--ll-gilt-ink" is a DARKER gilt for small text in
   light mode only — measured against all four Limelight light palettes
   (themes/limelight.ts's own accent/background/surface hexes): raw gilt
   (--ll-gilt) on paper/paper-soft ranged 3.34–4.56:1, below WCAG AA's
   4.5:1 floor for the 10.5–11px text that uses it (.fs-llm-flag,
   .fs-llm-aside-h, the Ledger footer's est/h5/serial). Mixing 75% gilt
   with 25% ink-950 (color-mix, not a new hex — spec forbids hex) put the
   WORST of the four palettes at 4.86:1 on paper and 5.28:1 on
   paper-soft, with headroom. Border/underline/decorative gilt is
   UNCHANGED — this token is for text colour only. In dark mode
   --ll-gilt already equals --ll-hot's opposite number (brand), which
   measured 6.98–8.67:1 against paper/paper-soft — already passing, so
   --ll-gilt-ink is simply --ll-gilt there (self-reference resolves
   against this SAME selector's own --ll-gilt below, not the light one). */
[data-fs-theme='limelight']{--ll-gilt:var(--c-accent, var(--c-brand-600));--ll-hot:var(--c-brand-600);--ll-bar:rgb(var(--c-ink-950));--ll-gilt-ink:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 75%, rgb(var(--c-ink-950)))}
[data-fs-theme='limelight']:is(.dark *):not(.fs-preview-light):not(.fs-preview-light *){--ll-gilt:var(--c-brand-600);--ll-hot:var(--c-accent, var(--c-brand-600));--ll-bar:color-mix(in srgb, rgb(var(--c-paper)) 55%, black);--ll-gilt-ink:rgb(var(--ll-gilt))}

/* Marquee bulbs across the top of the band, then a double gilt rule
   under it — painted as band BACKGROUNDS so the band's own positioning
   (sticky) is untouched. A dim layer at every bulb, a lit layer at
   every other bulb that steps 12px on each animation frame: the chase.
   The border-bottom plus the fourth background layer (a hairline 4px
   above it) are the "double rule" — two thin gilt lines with a paper
   gap between them, the letterpress poster's own emphasis. */
[data-fs-theme='limelight'] .fs-hdr-band{padding-top:18px;padding-bottom:5px;border-bottom:1px solid rgb(var(--ll-gilt));background-image:
  radial-gradient(circle,color-mix(in srgb, rgb(var(--ll-gilt)) 45%, white) 0 2.4px,rgb(var(--ll-gilt) / .5) 3.4px,transparent 6.5px),
  radial-gradient(circle,rgb(var(--ll-gilt) / .35) 0 2.2px,transparent 3px),
  linear-gradient(var(--ll-bar),var(--ll-bar)),
  linear-gradient(rgb(var(--ll-gilt)),rgb(var(--ll-gilt)));
  background-size:24px 18px,12px 18px,100% 18px,100% 1px;
  background-position:0 0,0 0,0 0,0 calc(100% - 4px);
  background-repeat:repeat-x,repeat-x,no-repeat,no-repeat;
  animation:limelight-chase 1.4s steps(1,end) infinite}
@keyframes limelight-chase{0%{background-position:0 0,0 0,0 0,0 calc(100% - 4px)}50%{background-position:12px 0,0 0,0 0,0 calc(100% - 4px)}}
@media (prefers-reduced-motion: reduce){[data-fs-theme='limelight'] .fs-hdr-band{animation:none}}

/* The "Tonight" strip: the show, the doors time and the box office
   number, on a solid brand band above the nav row. */
[data-fs-theme='limelight'] .fs-hdr-util{background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));font-weight:600;font-size:.6875rem;letter-spacing:.2em;text-transform:uppercase;text-align:center}
[data-fs-theme='limelight']:is(.dark *):not(.fs-preview-light):not(.fs-preview-light *) .fs-hdr-util{background:rgb(var(--c-paper-soft));color:rgb(var(--ll-gilt))}

/* Tickets: a ticket — notched sides (the mask) and a dashed
   perforation a fifth of the way in. The masks use transparent/black
   rather than a hex triple, because they are mask ALPHA, not colour.
   "[data-fs-theme='limelight'].fs-typo .fs-hdr-cta" (compound, no space
   before .fs-typo) is the same beat-the-tie convention forecourt/
   helixdesk/keyway/nightbell/payflow/stanhope already use for this exact
   collision: HEADER_CONTACT_CSS's own base rule is
   ".fs-typo .fs-hdr-cta, .fs-hdr-cta { padding: ... }" at (0,2,0) — the
   same specificity a plain "[data-fs-theme] .fs-hdr-cta" reaches — and it
   sits LATER in block-stylesheets.ts's aggregate, so an equal-specificity
   tie would win the padding back. site-shell.ts puts BOTH the
   data-fs-theme attribute and .fs-typo on the theme root, so the compound
   selector is (0,3,0) and wins outright, no !important (which would in
   turn block the customer's own Button style panel). Measured: without
   it, padding-left was silently overridden to the shared 0.625em/1.25em
   default (20px) on the read-only preview route. */
[data-fs-theme='limelight'].fs-typo .fs-hdr-cta{position:relative;padding-left:2.1rem;background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));border-radius:0;letter-spacing:.22em;text-transform:uppercase;font-weight:700;
  -webkit-mask:radial-gradient(circle 7px at 0 50%,transparent 97%,black),radial-gradient(circle 7px at 100% 50%,transparent 97%,black);-webkit-mask-composite:source-in;
  mask:radial-gradient(circle 7px at 0 50%,transparent 97%,black),radial-gradient(circle 7px at 100% 50%,transparent 97%,black);mask-composite:intersect}
[data-fs-theme='limelight'] .fs-hdr-cta::before{content:"";position:absolute;left:1.15rem;top:7px;bottom:7px;border-left:1.5px dashed currentColor;opacity:.55}
[data-fs-theme='limelight'] .fs-hdr-brand img,[data-fs-theme='limelight'] .fs-hdr-brand svg{max-height:44px;width:auto}
[data-fs-theme='limelight'] .fs-hdr-menu-btn{border:1px solid rgb(var(--ll-gilt))}
/* FIX ROUND 1 (R15/R14) — the menu button must ALWAYS win the row.
   The platform already hides .fs-hdr-phone below 56rem and the whole
   .fs-hdr-contact wrapper below 34rem (menu-styles.ts), and the preview's
   bare .fs-hdr-cta span carries its own "hidden ... sm:inline-flex" —
   THREE independent safety nets that all exist so a narrow row keeps the
   burger fully clickable. The first pass overrode every one of them
   UNCONDITIONALLY (no container query at all), which — measured via CDP
   at the harness's own 390px MOBILE width — pushed the burger's right
   edge to 512px against a 390px viewport (123px off-screen), and forced
   headerPhone to render at every width too (Important finding: Limelight
   sets headerPhone, and the override showed it beside the CTA
   regardless of room, which the theme's own "Tonight" utility strip
   already carries the number in).

   The fix is tiered and scoped only to this theme:
     • below 20rem (320px content-box) — NO override at all. The
       platform's own hide applies exactly as it does for every other
       theme, and the burger gets the entire row. This is the "very
       narrowest widths" floor R15 asks for.
     • 20rem–56rem — a COMPACT ticket only (the phone number stays
       hidden — headerPhone already lives in the utility strip), with
       the ticket's own padding/font/letter-spacing shrunk further, and
       the brand mark's icon shrunk too (R15: "let the brand/logo
       shrink if needed") to buy the burger room.
     • above 56rem — the normal desktop ticket, unaffected.

   56rem is the platform's own fs-hdr-phone hide threshold (menu-styles.ts) — the natural top edge of 'the row might be tight' for this theme, since above that the platform itself already gives the row more room. Measured: at 48rem (768px) the normal-size ticket, brand and mode toggle overflowed the row and pushed the menu button 91px past the viewport.

   This tier reacts to the row's OWN width, and a narrowing site Layout
   (Boxed/Centered/Minimal, via --fs-layout-max) shrinks that row even on
   a wide desktop screen — e.g. ~42.5rem under Minimal at a real 1440px
   window — so the ticket goes compact there too. That is intended: the
   header genuinely has less room, and it adapts exactly as it would on
   an actually-narrower device. The menu button is never clipped (R15).

   20rem was measured, not guessed — and measured TWICE, because
   'container-type: inline-size' queries the container's CONTENT box
   (.fs-hdr-row's own padding is excluded), not the viewport: a probe at
   the harness's 390px MOBILE width read the actual container size as
   ~20.9rem, not 24.4rem. A first attempt at a 22rem floor silently never
   activated at 390px at all for exactly that reason. At the real
   ~20.9rem the harness renders, a REAL site's own header — brand + mode
   toggle + this compact ticket + burger, with NO further chrome — needs
   ~19.8rem and fits with a few rem's margin at 40rem down to 20rem; only
   the read-only preview's OWN debug-only "Edit Template" link (113px,
   present on no real site — grep confirms it exists in
   TemplateViewClient.tsx alone) pushes the row over budget at that exact
   width — real sites (published, editor) fit fine; only the preview
   doesn't. FIX ROUND 2 (R16) handles that surface specifically, below. */
@container (max-width: 56rem) and (min-width: 20rem){
  [data-fs-theme='limelight'] .fs-hdr-contact{display:flex}
  /* The wrapper shows; the phone number inside it never does. */
  [data-fs-theme='limelight'] .fs-hdr-contact > .fs-hdr-phone{display:none}
  [data-fs-theme='limelight'] .fs-hdr-cta{display:inline-flex}
  [data-fs-theme='limelight'].fs-typo .fs-hdr-cta{padding:.5rem .625rem .5rem 1.125rem;font-size:.625rem;letter-spacing:.12em}
  [data-fs-theme='limelight'] .fs-hdr-cta::before{left:.75rem}
  [data-fs-theme='limelight'] .fs-hdr-brand svg{max-height:28px}
  /* The icon's own flex box is a fixed Tailwind size (h-9 w-9); shrinking
     only the svg inside it (max-height above) leaves dead space and
     saves nothing, since the BOX, not the glyph, is what claims the
     row's width. Proven by measurement: without this line the brand
     saved 0px; with it, 8px. */
  [data-fs-theme='limelight'] .fs-hdr-brand span.block{width:28px;height:28px}
  /* FIX ROUND 2 (R16) — the read-only template preview is a prospect's
     shop window, browsed on a real phone, so pushing ITS menu button
     off-screen is still Critical even though the cause (the preview's
     own "Edit Template" link, TemplateViewClient.tsx) is not this
     theme's chrome and not present on any real site. There is no width
     this rule could pick that both shows the ticket AND clears that
     link's fixed 113px on the one surface that renders it — so this
     detects the surface instead: [data-fs-preview-edit] is a small,
     otherwise-inert hook that link alone carries (see its own comment;
     its Tailwind classes and computed href were not stable enough to
     select on). :has() reaches up from it to the row, so ONLY a row that
     actually contains that link loses its ticket — published and editor
     markup never has the hook, so they keep the compact ticket exactly
     as fix round 1 left it. Specificity (0,4,0) beats the plain
     .fs-hdr-cta{display:inline-flex} four lines up on its own merits;
     order does not decide it. Removing the ticket alone still left the
     burger 0.52px past the viewport edge at the harness's 390px width
     (measured) — a genuine sub-pixel remainder from three fixed-width
     siblings and their gaps, not a rounding mistake in this comment's
     own arithmetic. The row's shared "gap-4" (1rem, Tailwind, on the
     one div HeaderSplitRow wraps as .fs-hdr-end) is tightened only in
     this same gated, preview-only case, which clears it with margin to
     spare (measured: burger's right edge moves from 390.52px to
     378.52px, 11.5px inside a 390px viewport). */
  [data-fs-theme='limelight'] .fs-hdr-row:has([data-fs-preview-edit]) .fs-hdr-cta{display:none}
  [data-fs-theme='limelight'] .fs-hdr-row:has([data-fs-preview-edit]) .fs-hdr-end > div{gap:.625rem}
}

/* Phone menu: the marquee bulbs again at the top of the sheet, starred
   playbill labels centred down the middle, and a double-ruled box round
   any open sub-list — ported from the mockup's .l-msheet / .l-mtop /
   .l-mlist / .l-mnext. PrimaryNav's actual DOM nests each top-level row
   in its own <li> (.fs-hdr-mobile-list > li > .fs-hdr-mobile-row), so
   the ".l-mlist>*+*::before" adjacent-sibling rule from the mockup
   cannot be ported literally — those rows are never siblings of each
   other. ":not(:first-child)" on the <li> is the equivalent that
   actually matches this app's markup; confirmed against the phone-menu
   screenshot. */
[data-fs-theme='limelight'] .fs-hdr-mobile{background-image:
  radial-gradient(circle,color-mix(in srgb, rgb(var(--ll-gilt)) 45%, white) 0 2.4px,rgb(var(--ll-gilt) / .5) 3.4px,transparent 6.5px),
  radial-gradient(circle,rgb(var(--ll-gilt) / .35) 0 2.2px,transparent 3px),
  linear-gradient(var(--ll-bar),var(--ll-bar));
  background-size:24px 18px,12px 18px,100% 18px;
  background-position:0 0,0 0,0 0;
  background-repeat:repeat-x,repeat-x,no-repeat;
  animation:limelight-chase 1.4s steps(1,end) infinite}
@media (prefers-reduced-motion: reduce){[data-fs-theme='limelight'] .fs-hdr-mobile{animation:none}}
[data-fs-theme='limelight'] .fs-hdr-mobile-head{border-bottom:1px solid rgb(var(--ll-gilt))}
[data-fs-theme='limelight'] .fs-hdr-mobile-list{text-align:center}
[data-fs-theme='limelight'] .fs-hdr-mobile-list > li:not(:first-child)::before{content:"\2726";display:block;margin-bottom:.375rem;font-size:10px;color:rgb(var(--ll-gilt))}
[data-fs-theme='limelight'] .fs-hdr-mobile-link:not(.is-sub){padding-block:.5rem;font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:1.875rem;line-height:1.15}
[data-fs-theme='limelight'] .fs-hdr-mobile-link[aria-current]:not([aria-current='false']){color:rgb(var(--ll-gilt))}
[data-fs-theme='limelight'] .fs-hdr-mobile-sub{border:3px double rgb(var(--ll-gilt));margin:.25rem 0 .5rem;padding:.5rem .875rem;text-align:left}
[data-fs-theme='limelight'] .fs-hdr-mobile-link.is-sub{padding-block:.4375rem;text-align:left}

/* What's On mega panel — "The Bill": torn date stamps, acts and On sale /
   Few left / Sold out flags, ported from the mockup's .l-bill family.
   Composite: limelight-mega.tsx (fs-llm- prefix). Also renders inside
   the phone menu (composites carry into MobileNavRow), hence the narrow
   rules at the end mirroring the @container ones. gilt-ink in the
   mockup (a darker gilt in light mode, equal to gilt in dark mode) has
   no dedicated token here — status-flag colours use --ll-gilt / --ll-hot
   directly per the pilot's own token-map ruling. */
[data-fs-theme='limelight'] .fs-llm-bill{padding:22px 30px 26px;background:rgb(var(--c-paper-soft));border:3px double rgb(var(--ll-gilt));box-shadow:0 30px 60px -18px rgba(0,0,0,.45)}
[data-fs-theme='limelight'] .fs-llm-head{display:flex;align-items:center;gap:18px;margin-bottom:10px}
[data-fs-theme='limelight'] .fs-llm-title{font:400 28px/1 var(--font-display, Georgia, serif);white-space:nowrap}
[data-fs-theme='limelight'] .fs-llm-rule{flex:1;height:5px;border-top:1px solid rgb(var(--ll-gilt));border-bottom:1px solid rgb(var(--ll-gilt))}
[data-fs-theme='limelight'] .fs-llm-grid{display:grid;grid-template-columns:1fr 250px;gap:34px}
/* Wide tier (theme-chrome mega-width retrofit, 2026-09-29): see
   linen-chrome-styles.ts's identical comment — same reasoning, this
   theme's own fixed side column. */
@container (min-width: 72rem) {
  [data-fs-theme='limelight'] .fs-llm-grid{grid-template-columns:1fr clamp(250px, 22cqi, 320px)}
}
[data-fs-theme='limelight'] .fs-llm-row{display:grid;grid-template-columns:66px 1fr auto;align-items:center;gap:18px;padding-block:12px;border-bottom:1px dotted rgb(var(--c-ink-950) / .15)}
[data-fs-theme='limelight'] .fs-llm-stamp{display:grid;justify-items:center;padding:6px 0 11px;border:2px solid rgb(var(--ll-hot));color:rgb(var(--ll-hot));text-transform:uppercase;transform:rotate(-3deg);clip-path:polygon(0 0,100% 0,100% 90%,92% 100%,84% 91%,76% 100%,68% 91%,60% 100%,52% 91%,44% 100%,36% 91%,28% 100%,20% 91%,12% 100%,4% 91%,0 97%)}
[data-fs-theme='limelight'] .fs-llm-row:nth-child(even) .fs-llm-stamp{transform:rotate(2deg)}
[data-fs-theme='limelight'] .fs-llm-stamp small{font-weight:700;font-size:9.5px;line-height:1.2;letter-spacing:.16em}
[data-fs-theme='limelight'] .fs-llm-stamp b{font:400 27px/1 var(--font-display, Georgia, serif);font-variant-numeric:tabular-nums}
[data-fs-theme='limelight'] .fs-llm-act strong{display:block;font:400 21px/1.15 var(--font-display, Georgia, serif)}
[data-fs-theme='limelight'] .fs-llm-act span{font-size:12.5px;color:rgb(var(--c-ink-700))}
/* F7: border stays the brighter --ll-gilt (decorative, not text); the
   LABEL colour is the darker --ll-gilt-ink so the "On sale" state clears
   4.5:1 on paper/paper-soft in every light palette. is-few/is-out below
   are unaffected — neither uses raw gilt as a text colour. */
[data-fs-theme='limelight'] .fs-llm-flag{padding:5px 9px;border:1.5px solid rgb(var(--ll-gilt));color:var(--ll-gilt-ink, rgb(var(--c-accent, var(--c-brand-600))));font-weight:700;font-size:10.5px;line-height:1;letter-spacing:.16em;text-transform:uppercase;font-style:normal;white-space:nowrap}
[data-fs-theme='limelight'] .fs-llm-flag.is-few{background:rgb(var(--ll-hot));border-color:rgb(var(--ll-hot));color:rgb(var(--c-paper))}
[data-fs-theme='limelight'] .fs-llm-flag.is-out{border-color:rgb(var(--c-ink-950) / .15);color:rgb(var(--c-ink-700));text-decoration:line-through}
[data-fs-theme='limelight'] .fs-llm-aside-h{margin-bottom:8px;font-weight:600;font-size:11px;line-height:1;letter-spacing:.2em;text-transform:uppercase;color:var(--ll-gilt-ink, rgb(var(--c-accent, var(--c-brand-600))))}
[data-fs-theme='limelight'] .fs-llm-genre{padding-block:7px;border-bottom:1px dotted rgb(var(--c-ink-950) / .15);font:400 18px/1.2 var(--font-display, Georgia, serif)}
[data-fs-theme='limelight'] .fs-llm-more{display:inline-block;margin-top:14px;border-bottom:3px double rgb(var(--ll-gilt));font-weight:700;font-size:11.5px;line-height:1.6;letter-spacing:.18em;text-transform:uppercase}
[data-fs-theme='limelight'] .fs-llm-mini{margin-top:18px;padding:12px 14px;border:1px solid rgb(var(--c-ink-950) / .15)}
[data-fs-theme='limelight'] .fs-llm-mini small{display:block;color:rgb(var(--c-ink-700));font-size:12.5px}
[data-fs-theme='limelight'] .fs-llm-hire{font:400 18px/1.3 var(--font-display, Georgia, serif)}
@container (max-width: 40rem){
  [data-fs-theme='limelight'] .fs-llm-grid{grid-template-columns:1fr}
  [data-fs-theme='limelight'] .fs-llm-bill{box-shadow:none;padding:18px 16px 20px}
}
[data-fs-theme='limelight'] .fs-hdr-mobile .fs-llm-grid{grid-template-columns:1fr}
/* M2 (final review): the narrow .fs-hdr-mobile copy of this block only
   ever mirrored the grid change, not the desktop padding/box-shadow the
   @container block ALSO drops — so the panel kept its heavy outer
   shadow and desktop padding inside the phone menu sheet, which already
   has its own background and edges. */
[data-fs-theme='limelight'] .fs-hdr-mobile .fs-llm-bill{box-shadow:none;padding:18px 16px 20px}

/* Phone-menu bottom section (Task 6) — ported from the mockup's
   .l-mfoot: a big ticket button and the box-office line, bulbs above
   and below (reusing the header band's own bulb layers, minus its
   double-gilt-rule fourth layer, so the strip reads as a thin repeat of
   the same marquee rather than a second band). */
[data-fs-theme='limelight'] .fs-pmf-limelight{display:grid;justify-items:center;gap:10px;padding:12px 18px 16px}
[data-fs-theme='limelight'] .fs-pmf-limelight .fs-pmf-ticket{margin-left:0;padding:15px 36px 15px 50px;font-size:13px}
[data-fs-theme='limelight'] .fs-pmf-limelight .fs-pmf-ticket::before{left:28px}
[data-fs-theme='limelight'] .fs-pmf-line{font-size:13px;color:rgb(var(--c-ink-700))}
[data-fs-theme='limelight'] .fs-pmf-bulbs{display:block;width:100%;height:18px;background-image:
  radial-gradient(circle,color-mix(in srgb, rgb(var(--ll-gilt)) 45%, white) 0 2.4px,rgb(var(--ll-gilt) / .5) 3.4px,transparent 6.5px),
  radial-gradient(circle,rgb(var(--ll-gilt) / .35) 0 2.2px,transparent 3px),
  linear-gradient(var(--ll-bar),var(--ll-bar));
  background-size:24px 18px,12px 18px,100% 18px;
  background-position:0 0,0 0,0 0;
  background-repeat:repeat-x,repeat-x,no-repeat;
  animation:limelight-chase 1.4s steps(1,end) infinite}
@media (prefers-reduced-motion: reduce){[data-fs-theme='limelight'] .fs-pmf-bulbs{animation:none}}


[data-fs-theme='linen']{--ln-stitch:var(--c-accent, var(--c-brand-600))}
/* The "person answers" strip above the nav row. */
[data-fs-theme='linen'] .fs-hdr-util{background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));font-size:.8125rem}
/* The stitched hem: a dashed line in the accent colour, painted as the
   band's own last few pixels so the band's positioning (possibly
   sticky) is untouched -- the same technique Datum's ruler edge and
   Limelight's double gilt rule use. */
[data-fs-theme='linen'] .fs-hdr-band{border-bottom:1px solid rgb(var(--c-ink-950) / .13);padding-bottom:12px;background-color:rgb(var(--c-paper-soft));
  background-image:repeating-linear-gradient(90deg,rgb(var(--ln-stitch) / .75) 0 6px,transparent 6px 10px);
  background-size:100% 1.5px;background-position:0 calc(100% - 4px);background-repeat:no-repeat}
/* Book a visit: a folded top-right corner, like every Hearth card.
   "[data-fs-theme='linen'].fs-typo .fs-hdr-cta" (compound, no space
   before .fs-typo) is the same beat-the-tie convention forecourt/
   helixdesk/keyway/nightbell/payflow/stanhope/limelight already use for
   this exact collision: HEADER_CONTACT_CSS's own base rule is
   ".fs-typo .fs-hdr-cta, .fs-hdr-cta { border-radius: ...; }" at (0,2,0)
   -- the same specificity a plain "[data-fs-theme='linen'] .fs-hdr-cta"
   reaches -- and it sits LATER in block-stylesheets.ts's aggregate, so
   an equal-specificity tie would win the radius back to the platform's
   plain pill. site-shell.ts puts BOTH the data-fs-theme attribute and
   .fs-typo on the theme root, so the compound selector is (0,3,0) and
   wins outright, no !important. Measured: without it, the button
   rendered as an ordinary full pill with the fold sitting on top of a
   round corner rather than cutting a square one. */
[data-fs-theme='linen'].fs-typo .fs-hdr-cta{position:relative;border-radius:10px 0 10px 10px;box-shadow:0 3px 0 rgb(var(--c-ink-950) / .22)}
[data-fs-theme='linen'] .fs-hdr-cta::after{content:"";position:absolute;top:0;right:0;width:13px;height:13px;border-bottom-left-radius:3px;
  background:linear-gradient(225deg,rgb(var(--c-paper-soft)) 50%,color-mix(in srgb, rgb(var(--c-brand-600)), white 35%) 50%)}
[data-fs-theme='linen'] .fs-hdr-menu-btn{background:rgb(var(--c-paper));border:1px solid rgb(var(--c-ink-950) / .13);border-radius:12px}

/* The town hand-off box -- ported from the mockup's .n-check: the form
   becomes a pill, the button becomes a round accent circle. The
   composite itself decides whether it renders at all (no coverage page
   on this tier -> no box); this is only its LOOK.
   Hidden below the phone breakpoint (R15): the row cannot hold logo +
   town box + Book + menu button at 390px. Nothing is lost -- Task 12's
   Services mega panel carries its own copy of this question into the
   phone menu (composites carry into MobileNavRow), so a phone visitor
   still finds it, one tap into Services rather than in the header row. */
[data-fs-theme='linen'] .fs-hdr-composite{display:inline-flex;align-items:center}
[data-fs-theme='linen'] .fs-lnm-box{display:flex;align-items:center;padding:3px 3px 3px 14px;background:rgb(var(--c-paper));border:1px solid rgb(var(--c-ink-950) / .13);border-radius:9999px}
[data-fs-theme='linen'] .fs-lnm-box:focus-within{outline:2px solid rgb(var(--ln-stitch) / .75);outline-offset:2px}
[data-fs-theme='linen'] .fs-lnm-box input{width:112px;padding:0;border:0;outline:0;background:transparent;color:rgb(var(--c-ink-950));font-weight:500;font-size:.875rem}
[data-fs-theme='linen'] .fs-lnm-box input::placeholder{color:rgb(var(--c-ink-700))}
[data-fs-theme='linen'] .fs-lnm-go{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:rgb(var(--c-accent, var(--c-brand-600)));color:rgb(var(--c-paper));font-size:1rem;line-height:1}
/* Visually hidden -- the mockup's own .sr utility, so the box's real
   label is announced without a second visible caption beside the
   placeholder text. */
[data-fs-theme='linen'] .fs-lnm-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@container (max-width: 40rem){
  [data-fs-theme='linen'] .fs-hdr-composite{display:none}
}

/* R15 — the menu button must ALWAYS win the row, and Book must stay
   COMPACT rather than disappear. The platform already hides .fs-hdr-cta
   below Tailwind's sm breakpoint by default (menu-styles.ts's own
   "hidden ... sm:inline-flex" on the span) -- one of the safety nets
   that exists so a narrow row keeps the burger clickable, and exactly
   the trap Limelight's own fix round 1 documents: overriding it
   UNCONDITIONALLY would force the button to show with no regard for
   how little room is actually left. So the override is tiered, and
   scoped only to this theme, matching Limelight's own proven shape:
     - below 20rem (content-box) -- no override at all. The platform's
       own hide applies exactly as it does for every other theme, and
       the burger gets the entire row.
     - 20rem-40rem -- a compact pill: smaller padding and font only,
       min-height stays at the platform's 44px hit-target floor.
     - above 40rem -- the normal desktop button, unaffected. */
@container (max-width: 40rem) and (min-width: 20rem){
  /* M3 (final review): .fs-hdr-cta lives INSIDE .fs-hdr-contact (the same
     wrapper the phone number sits in — EditWpClient/PublicSiteClient
     both render them together), and that wrapper carries the platform's
     own "hidden ... lg:flex" — a VIEWPORT (not container) breakpoint
     that stays display:none for the entire phone/tablet range this
     query targets. Overriding .fs-hdr-cta's own display did nothing
     while its display:none ancestor kept the whole subtree invisible;
     "Book a visit" never actually showed on the published site or the
     editor. Mirrors Limelight's own proven fix: show the WRAPPER as
     flex (this external rule's [data-fs-theme='linen'] .fs-hdr-contact
     beats the plain-class .hidden utility on specificity), keep the
     phone number hidden inside it (Linen's headerUtility strip already
     carries the number — same one-number-one-tier rule Limelight's own
     fix documents). */
  [data-fs-theme='linen'] .fs-hdr-contact{display:flex}
  [data-fs-theme='linen'] .fs-hdr-contact > .fs-hdr-phone{display:none}
  /* display needs no tie-break (the base rule only ever sets it via a
     LOWER-specificity Tailwind utility class), but padding/font-size
     collide with the same HEADER_CONTACT_CSS base rule as the desktop
     fold above, so this needs the same compound beat-the-tie selector. */
  [data-fs-theme='linen'] .fs-hdr-cta{display:inline-flex}
  [data-fs-theme='linen'].fs-typo .fs-hdr-cta{padding:.5rem .625rem;font-size:.6875rem}
  /* The read-only preview's own "Edit Template" debug link (present on
     no real site -- TemplateViewClient.tsx alone) claims fixed width a
     compact pill would otherwise fit in. Same technique as Limelight's
     own fix round 2: detect the SURFACE via the link's stable hook
     (data-fs-preview-edit) with :has(), and drop the pill only there --
     published and editor markup never carries the hook, so they keep
     the compact pill exactly as the rule above leaves it. */
  [data-fs-theme='linen'] .fs-hdr-row:has([data-fs-preview-edit]) .fs-hdr-cta{display:none}
}

/* Phone menu: the sheet gets the woven ground (the mockup's .n-weave,
   also on its own .n-msheet), the head bar gets the stitched hem
   underneath it, top-level links get a dashed stitched divider in
   Spectral, and a sub-item (a real dropdown child, if a customer adds
   one) becomes a small folded card -- ported from .n-msheet / .n-mtop /
   .n-mlist>a / .n-msub a. */
[data-fs-theme='linen'] .fs-hdr-mobile{background-color:rgb(var(--c-paper-soft));background-image:repeating-linear-gradient(0deg,rgb(var(--c-brand-600) / .055) 0 2px,transparent 2px 5px),repeating-linear-gradient(90deg,rgb(var(--c-brand-600) / .055) 0 2px,transparent 2px 5px)}
[data-fs-theme='linen'] .fs-hdr-mobile-head{position:relative;border-bottom:1px solid rgb(var(--c-ink-950) / .13)}
[data-fs-theme='linen'] .fs-hdr-mobile-head::after{content:"";position:absolute;left:0;right:0;bottom:5px;border-top:1.5px dashed rgb(var(--ln-stitch) / .75)}
[data-fs-theme='linen'] .fs-hdr-mobile-link:not(.is-sub){padding-block:.8125rem;border-bottom:1.5px dashed rgb(var(--ln-stitch) / .4);font-family:var(--font-display, Georgia, serif);font-weight:500;font-size:1.4375rem;line-height:1.1}
[data-fs-theme='linen'] .fs-hdr-mobile-link[aria-current]:not([aria-current='false']){color:rgb(var(--c-brand-600))}
[data-fs-theme='linen'] .fs-hdr-mobile-link.is-sub{position:relative;padding:.75rem 1.625rem .75rem .875rem;background:rgb(var(--c-paper));border-radius:10px 0 10px 10px;font-size:.9375rem}
[data-fs-theme='linen'] .fs-hdr-mobile-link.is-sub::after{content:"";position:absolute;top:0;right:0;width:14px;height:14px;border-bottom-left-radius:3px;background:linear-gradient(225deg,rgb(var(--c-paper-soft)) 50%,color-mix(in srgb, rgb(var(--c-paper-soft)), rgb(var(--c-ink-950)) 10%) 50%)}

/* Services mega panel — three folded-corner service cards with prices,
   and a woven "Do we cover you?" aside whose town box hands the town to
   the site's own coverage checker as ?area= (the panel's own copy of
   the header box above -- same R19 contract, same .fs-lnm-box /
   .fs-lnm-go / .fs-lnm-sr classes, reused rather than duplicated).
   Ported from the mockup's .n-panel family. Composite: linen-mega.tsx
   (fs-lnm- prefix). Also renders inside the phone menu (composites
   carry into MobileNavRow) -- this is how a phone visitor reaches the
   town question at all, since .fs-hdr-composite hides below the phone
   breakpoint above -- hence the narrow rules at the end mirroring the
   @container ones, the same technique Datum's and Limelight's own mega
   panels use. */
[data-fs-theme='linen'] .fs-lnm-panel{display:grid;grid-template-columns:1fr 1fr 1fr 290px;gap:18px;padding:26px;background:rgb(var(--c-paper));border-radius:18px;outline:1.5px dashed rgb(var(--ln-stitch) / .75);outline-offset:-10px;box-shadow:0 30px 60px -20px rgba(0,0,0,.38)}
/* Wide tier (theme-chrome mega-width retrofit, 2026-09-29): the panel
   now spans the full header row (1152px at Theme, up to 1392px at Full
   width), not a fixed 900px card. The three fr columns already grow to
   fill that on their own; only the town-box's own fixed 290px would
   otherwise stay rigid and read as an afterthought beside them, so it
   grows too, capped so it never crowds the three main columns. */
@container (min-width: 72rem) {
  [data-fs-theme='linen'] .fs-lnm-panel{grid-template-columns:1fr 1fr 1fr clamp(290px, 24cqi, 360px)}
}
[data-fs-theme='linen'] .fs-lnm-card{position:relative;display:flex;flex-direction:column;gap:8px;padding:22px 20px 18px;background:rgb(var(--c-paper-soft));border-radius:12px 0 12px 12px;box-shadow:0 10px 22px -12px rgba(0,0,0,.4);transition:transform .18s ease}
[data-fs-theme='linen'] .fs-lnm-card:hover{transform:translateY(-3px)}
@media (prefers-reduced-motion: reduce){
  [data-fs-theme='linen'] .fs-lnm-card{transition:none}
  [data-fs-theme='linen'] .fs-lnm-card:hover{transform:none}
}
[data-fs-theme='linen'] .fs-lnm-card::after{content:"";position:absolute;top:0;right:0;width:22px;height:22px;border-bottom-left-radius:4px;background:linear-gradient(225deg,rgb(var(--c-paper)) 50%,color-mix(in srgb, rgb(var(--c-paper-soft)), rgb(var(--c-ink-950)) 10%) 50%)}
[data-fs-theme='linen'] .fs-lnm-h{padding-right:18px;font-family:var(--font-display, Georgia, serif);font-weight:500;font-size:21px;line-height:1.2}
[data-fs-theme='linen'] .fs-lnm-p{font-size:14px;color:rgb(var(--c-ink-700))}
[data-fs-theme='linen'] .fs-lnm-price{margin-top:auto;padding-top:10px;border-top:1.5px dashed rgb(var(--ln-stitch) / .4);font-weight:700;font-size:13.5px;color:rgb(var(--c-brand-600))}
[data-fs-theme='linen'] .fs-lnm-cover{padding:18px;border-radius:12px;background-color:rgb(var(--c-paper-soft));background-image:repeating-linear-gradient(0deg,rgb(var(--c-brand-600) / .055) 0 2px,transparent 2px 5px),repeating-linear-gradient(90deg,rgb(var(--c-brand-600) / .055) 0 2px,transparent 2px 5px)}
[data-fs-theme='linen'] .fs-lnm-cover-h{margin-bottom:10px;font-family:var(--font-display, Georgia, serif);font-weight:500;font-size:19px;line-height:1.2}
/* The cover's own copy of the box is narrower (the panel's fourth
   column is 290px) and its button carries visible text ("Check") rather
   than the header's round arrow glyph -- the exact override the
   mockup's own ".n-cover .n-check" makes over the base ".n-check",
   ported the same way onto the shared .fs-lnm-box/.fs-lnm-go classes. */
[data-fs-theme='linen'] .fs-lnm-cover .fs-lnm-box{padding-left:12px}
[data-fs-theme='linen'] .fs-lnm-cover .fs-lnm-box input{flex:1;width:auto;min-width:0}
/* F7 (final review): this is the ONE .fs-lnm-go with a real visible word
   ("Check") rather than the header box's decorative "→" glyph (that one
   is unchanged — "Keep decorative (non-text) gilt as is"). The base
   rule's paper-on-accent pairing measured 3.53–6.64:1 across Linen's
   four light palettes (themes/linen.ts hexes) — Bay & Beeswax at 3.53
   and Flax & Slate at 3.89 both fail WCAG AA's 4.5:1 floor for 13px
   text. paper-on-brand measured 6.12–10.52:1, comfortably passing all
   four in both light AND dark mode (8.28–8.76:1 dark) with no mode
   branching needed — brand/paper are already app tokens, no new hex. */
[data-fs-theme='linen'] .fs-lnm-cover .fs-lnm-go{width:auto;height:32px;padding:0 12px;border-radius:999px;font-weight:700;font-size:13px;background:rgb(var(--c-brand-600))}
[data-fs-theme='linen'] .fs-lnm-towns{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
[data-fs-theme='linen'] .fs-lnm-towns li{padding:3px 10px;border:1px dashed rgb(var(--ln-stitch) / .75);border-radius:999px;font-size:12.5px}
[data-fs-theme='linen'] .fs-lnm-inc{display:inline-block;margin-top:12px;border-bottom:1.5px dashed rgb(var(--ln-stitch) / .75);font-weight:700;font-size:14px}
[data-fs-theme='linen'] .fs-lnm-foot{grid-column:1/-1;display:flex;align-items:center;gap:10px;padding-top:14px;border-top:1.5px dashed rgb(var(--ln-stitch) / .4);font-size:13.5px;color:rgb(var(--c-ink-700))}
@container (max-width: 40rem){
  [data-fs-theme='linen'] .fs-lnm-panel{grid-template-columns:1fr;box-shadow:none;padding:16px}
}
/* M2 (final review): the narrow .fs-hdr-mobile copy used to mirror only
   the grid-column change and drop the @container block's own
   box-shadow:none/padding:16px, leaving the panel's desktop shadow and
   padding stacked inside the phone menu sheet's own background/edges. */
[data-fs-theme='linen'] .fs-hdr-mobile .fs-lnm-panel{grid-template-columns:1fr;box-shadow:none;padding:16px}

/* Phone-menu bottom section (Task 6) — ported from the mockup's
   .n-mfoot: the town box (full width here, unlike the header's fixed-
   width pill), Book a visit as a full-width button, and the
   "A person answers" line. */
[data-fs-theme='linen'] .fs-pmf-linen{display:grid;gap:10px;padding:14px 18px 20px}
[data-fs-theme='linen'] .fs-pmf-linen .fs-lnm-box{width:100%}
[data-fs-theme='linen'] .fs-pmf-linen .fs-lnm-box input{flex:1;width:auto;min-width:0}
[data-fs-theme='linen'] .fs-pmf-linen .fs-pmf-cta{width:100%;padding-block:15px}
[data-fs-theme='linen'] .fs-pmf-line{text-align:center;font-size:13.5px;color:rgb(var(--c-ink-700))}


/* Stamp: brand in light mode, accent in dark (spec "Contrast": light
   mode's own accent is 3.7:1 on white). Channels, read as rgb(var(..)).
   favJobFooter (tradesman-styles.ts) reads it too, with a brand fallback. */
[data-fs-theme='tradesman-pro']{--tp-stamp:var(--c-brand-600)}
[data-fs-theme='tradesman-pro']:is(.dark *):not(.fs-preview-light):not(.fs-preview-light *){--tp-stamp:var(--c-accent, var(--c-brand-600))}
[data-fs-theme='tradesman-pro'] .fs-hdr-util{container-type:inline-size;background:rgb(var(--c-ink-950));color:rgb(var(--c-paper));font-family:var(--font-display, Georgia, serif);font-weight:600;font-size:12px;line-height:1.2;letter-spacing:.16em;text-transform:uppercase;font-variant-numeric:tabular-nums}
[data-fs-theme='tradesman-pro'] .fs-hdr-util-in{display:flex;align-items:center;gap:22px;padding-block:9px}
[data-fs-theme='tradesman-pro'] .fs-hdr-util-note{order:-1;margin-right:auto}
[data-fs-theme='tradesman-pro'] .fs-hdr-util-hours{display:inline-flex;align-items:center;gap:9px}
[data-fs-theme='tradesman-pro'] .fs-hdr-util-dot{width:7px;height:7px;border-radius:0;background:rgb(var(--c-accent, var(--c-brand-600)))}
[data-fs-theme='tradesman-pro'] .fs-hdr-util-tel{font-weight:700;letter-spacing:.12em}
@container (max-width: 40rem){
  [data-fs-theme='tradesman-pro'] .fs-hdr-util-item:not(.fs-hdr-util-tel){display:none}
  [data-fs-theme='tradesman-pro'] .fs-hdr-util-in{justify-content:center}
}
/* The row ends in a 2px ink rule, then a 10px band carrying a dashed
   tear-off line — painted as the band's last 12px, so no positioning of
   the (possibly sticky) band changes. */
[data-fs-theme='tradesman-pro'] .fs-hdr-band{border-bottom-width:0;padding-bottom:12px;background-image:linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))),linear-gradient(90deg,rgb(var(--c-ink-700)) 0 8px,transparent 8px 13px);background-size:100% 2px,13px 2px;background-position:0 calc(100% - 10px),0 calc(100% - 4px);background-repeat:no-repeat,repeat-x}
[data-fs-theme='tradesman-pro'] .fs-hdr-row{min-height:72px;align-items:stretch}
[data-fs-theme='tradesman-pro'] .fs-hdr-cta{align-self:center;margin-left:22px;padding:12px 18px;border-radius:0;background:rgb(var(--tp-stamp));color:rgb(var(--c-paper));font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:14px;line-height:1;letter-spacing:.14em;text-transform:uppercase;transform:rotate(-2deg);box-shadow:inset 0 0 0 2px rgb(var(--tp-stamp)),inset 0 0 0 3.5px rgb(var(--c-paper))}
@container (max-width: 40rem){
  [data-fs-theme='tradesman-pro'] .fs-hdr-cta{margin-left:10px;padding:9px 12px;font-size:12px}
}
[data-fs-theme='tradesman-pro'] .fs-hdr-menu-btn{border:2px solid rgb(var(--c-ink-950));border-radius:0}
/* R16 (theme-chrome fix round 2, precedent in limelight-chrome-styles.ts
   and linen-chrome-styles.ts): the read-only preview alone renders a
   fixed-width "Edit Template" link (TemplateViewClient.tsx) beside the
   trailing controls, present on no real site. At the preview's own
   narrow widths (measured: 390px and 320px) that link plus the visitor
   dark/light toggle push the menu button off-screen even though
   .fs-hdr-contact/.fs-hdr-cta are already hidden by the platform's own
   ≤34rem rule — neither of those two guarded selectors is involved, so
   this does not touch R15. [data-fs-preview-edit] is the stable,
   surface-only hook that link alone carries; :has() reaches up from it
   so only a row that actually contains it is affected — published and
   editor markup never has the hook. The mode toggle is itself a
   preview-only affordance on this route (shown unconditionally here,
   unlike the published/editor surfaces), so hiding it ONLY on this
   surface, ONLY this narrow, costs a real site nothing. */
@container (max-width: 40rem){
  [data-fs-theme='tradesman-pro'] .fs-hdr-row:has([data-fs-preview-edit]) .fs-hdr-mode{display:none}
}
/* Measured: hiding the mode toggle alone clears the preview's own 390px
   width (the harness's MOBILE viewport) but not its 320px width — the
   wordmark text ("Tradesman Pro", ~130px with its gap) is the next
   fixed-width sibling, and there is no stable class on it to shrink
   instead (unlike Limelight's split-layout '.fs-hdr-brand svg', this
   theme's standard-layout brand link carries only Tailwind utilities).
   '> a:first-child' is the header's own logo link, always the row's
   first child regardless of the customer's business name, so this does
   not depend on "Tradesman Pro" as text; 'span:last-child' inside it is
   always the wordmark (the mark's own span is first). The brand MARK
   (36px) stays, so the header is never unbranded, even on this one
   preview-only, extreme-narrow case. */
@container (max-width: 22rem){
  [data-fs-theme='tradesman-pro'] .fs-hdr-row:has([data-fs-preview-edit]) > a:first-child span:last-child{display:none}
}
/* ── Phone menu ── ink header bar, one 2px-bordered sheet of numbered
   rows, the current row tinted with a left bar. */
[data-fs-theme='tradesman-pro'] .fs-hdr-mobile-head{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:rgb(var(--c-ink-950));color:rgb(var(--c-paper))}
[data-fs-theme='tradesman-pro'] .fs-hdr-mobile-title{font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:13px;line-height:1;letter-spacing:.2em;text-transform:uppercase}
[data-fs-theme='tradesman-pro'] .fs-hdr-mobile-close{display:grid;place-items:center;width:38px;height:38px;border:2px solid rgb(var(--c-paper));border-radius:0;font-size:15px;line-height:1;color:rgb(var(--c-paper))}
[data-fs-theme='tradesman-pro'] .fs-hdr-mobile-list{margin:14px 16px 0;border:2px solid rgb(var(--c-ink-950));counter-reset:tpjob}
[data-fs-theme='tradesman-pro'] .fs-hdr-mobile-row{border-bottom:1px solid rgb(var(--c-ink-950) / .16)}
[data-fs-theme='tradesman-pro'] .fs-hdr-mobile-list > li:last-child .fs-hdr-mobile-row{border-bottom:0}
[data-fs-theme='tradesman-pro'] .fs-hdr-mobile-link{position:relative;display:flex;align-items:stretch;gap:14px;width:100%;min-height:52px;font-family:var(--font-display, Georgia, serif);font-weight:600;font-size:19px;line-height:1.1;letter-spacing:.05em;text-transform:uppercase;text-align:left;color:rgb(var(--c-ink-950))}
[data-fs-theme='tradesman-pro'] .fs-hdr-mobile-link:not(.is-sub)::before{counter-increment:tpjob;content:counter(tpjob, decimal-leading-zero);display:grid;place-items:center;flex:none;align-self:stretch;width:44px;border-right:1px solid rgb(var(--c-ink-950) / .16);font-family:system-ui, sans-serif;font-weight:600;font-size:11px;line-height:1;letter-spacing:.06em;color:rgb(var(--c-ink-700))}
[data-fs-theme='tradesman-pro'] .fs-hdr-mobile-link[aria-current]:not([aria-current='false']){background:rgb(var(--c-brand-600) / .08);color:rgb(var(--c-brand-600));box-shadow:inset 4px 0 0 rgb(var(--c-brand-600))}

/* ── Phone-menu bottom section ── */
[data-fs-theme='tradesman-pro'] .fs-pmf-tradesman-pro{display:grid;gap:14px;margin:14px 16px 20px;padding-top:14px;border-top:2px dashed rgb(var(--c-ink-700))}
[data-fs-theme='tradesman-pro'] .fs-pmf-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0;border:2px solid rgb(var(--c-ink-950))}
[data-fs-theme='tradesman-pro'] .fs-pmf-cell{padding:8px 10px}
[data-fs-theme='tradesman-pro'] .fs-pmf-cell+.fs-pmf-cell{border-left:1px solid rgb(var(--c-ink-950) / .16)}
[data-fs-theme='tradesman-pro'] .fs-pmf-dt{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--c-ink-700))}
[data-fs-theme='tradesman-pro'] .fs-pmf-dd{margin:3px 0 0;font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:15px;color:rgb(var(--c-ink-950))}
[data-fs-theme='tradesman-pro'] .fs-pmf-tel{color:inherit;text-decoration:none}
[data-fs-theme='tradesman-pro'] .fs-pmf-cta{display:flex;justify-content:center;width:100%;margin-left:0;padding-block:15px;transform:none}

/* ── The Services mega panel — the job sheet ── */
[data-fs-theme='tradesman-pro'] .fs-tpm-sheet{container-type:inline-size;background:rgb(var(--c-paper));border:2px solid rgb(var(--c-ink-950));box-shadow:0 26px 50px -18px rgb(var(--c-ink-950) / .4)}
[data-fs-theme='tradesman-pro'] .fs-tpm-bar{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:9px 18px;background:rgb(var(--c-ink-950));color:rgb(var(--c-paper))}
[data-fs-theme='tradesman-pro'] .fs-tpm-bar-t{font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:13px;line-height:1.2;letter-spacing:.18em;text-transform:uppercase}
[data-fs-theme='tradesman-pro'] .fs-tpm-bar-r{font-size:11px;line-height:1.2;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
[data-fs-theme='tradesman-pro'] .fs-tpm-grid{display:grid;grid-template-columns:repeat(3,1fr) 1.05fr}
[data-fs-theme='tradesman-pro'] .fs-tpm-cell{position:relative;display:flex;flex-direction:column;gap:6px;min-width:0;padding:28px 18px 0;border-right:1px solid rgb(var(--c-ink-950) / .16)}
[data-fs-theme='tradesman-pro'] .fs-tpm-cell:last-child{border-right:0}
[data-fs-theme='tradesman-pro'] .fs-tpm-fl{position:absolute;top:10px;left:18px;font-size:10px;line-height:1;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--c-ink-700))}
[data-fs-theme='tradesman-pro'] .fs-tpm-name{display:block;font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:21px;line-height:1.12;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='tradesman-pro'] .fs-tpm-name:hover,[data-fs-theme='tradesman-pro'] .fs-tpm-name:focus-visible{text-decoration:underline}
[data-fs-theme='tradesman-pro'] .fs-tpm-note{margin:0;font-size:13.5px;line-height:1.5;color:rgb(var(--c-ink-700))}
[data-fs-theme='tradesman-pro'] .fs-tpm-mf{display:grid;grid-template-columns:minmax(0,1fr) 96px;margin:auto -18px 0;border-top:1px solid rgb(var(--c-ink-950) / .16)}
[data-fs-theme='tradesman-pro'] .fs-tpm-mf-cell{position:relative;padding:22px 18px 12px}
[data-fs-theme='tradesman-pro'] .fs-tpm-mf-cell+.fs-tpm-mf-cell{border-left:1px solid rgb(var(--c-ink-950) / .16)}
[data-fs-theme='tradesman-pro'] .fs-tpm-mf-k{position:absolute;top:8px;left:18px;margin:0;font-size:10px;line-height:1;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--c-ink-700))}
[data-fs-theme='tradesman-pro'] .fs-tpm-mf-v{margin:0;font-family:var(--font-display, Georgia, serif);font-weight:600;font-size:15px;line-height:1.2;font-variant-numeric:tabular-nums;white-space:nowrap;color:rgb(var(--c-ink-950))}
[data-fs-theme='tradesman-pro'] .fs-tpm-callout{background:rgb(var(--c-paper-soft));padding-bottom:16px}
[data-fs-theme='tradesman-pro'] .fs-tpm-resp{list-style:none;margin:0;padding:0}
[data-fs-theme='tradesman-pro'] .fs-tpm-resp-row{display:flex;justify-content:space-between;gap:10px;padding-block:7px;border-bottom:1px solid rgb(var(--c-ink-950) / .16);font-size:13.5px;color:rgb(var(--c-ink-950))}
[data-fs-theme='tradesman-pro'] .fs-tpm-resp-time{font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:15px;line-height:1.2;font-variant-numeric:tabular-nums;white-space:nowrap}
[data-fs-theme='tradesman-pro'] .fs-tpm-big{margin:10px 0 0;font-size:13px;color:rgb(var(--c-ink-700))}
[data-fs-theme='tradesman-pro'] .fs-tpm-big-n{display:block;font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:28px;line-height:1;color:rgb(var(--c-ink-950));font-variant-numeric:tabular-nums}
[data-fs-theme='tradesman-pro'] .fs-tpm-link{display:inline-block;align-self:flex-start;margin-top:10px;font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:14px;line-height:1.3;letter-spacing:.04em;color:rgb(var(--c-brand-600));border-bottom:1.5px solid currentColor;text-decoration:none}
[data-fs-theme='tradesman-pro'] .fs-tpm-sign{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;padding:12px 18px;border-top:2px dashed rgb(var(--c-ink-700))}
[data-fs-theme='tradesman-pro'] .fs-tpm-sign-l{font-size:10px;line-height:1;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--c-ink-700))}
[data-fs-theme='tradesman-pro'] .fs-tpm-sign-rule{flex:1 1 90px;min-width:60px;border-bottom:1px solid rgb(var(--c-ink-950))}
[data-fs-theme='tradesman-pro'] .fs-tpm-sign-m{font-size:12.5px;color:rgb(var(--c-ink-700));font-variant-numeric:tabular-nums}
[data-fs-theme='tradesman-pro'] .fs-tpm-stamp{padding:5px 10px;background:rgb(var(--tp-stamp));color:rgb(var(--c-paper));font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:12px;line-height:1;letter-spacing:.12em;text-transform:uppercase;transform:rotate(-3deg);white-space:nowrap}

@container (max-width: 50rem){
  [data-fs-theme='tradesman-pro'] .fs-tpm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container (max-width: 30rem){
  [data-fs-theme='tradesman-pro'] .fs-tpm-grid{grid-template-columns:1fr}
}
/* Phone menu: the three cells and the call-out; notes, the signature
   strip and the out-of-hours figure are hidden (design notes). */
[data-fs-theme='tradesman-pro'] .fs-hdr-mobile .fs-tpm-sheet{box-shadow:none;border-width:0}
[data-fs-theme='tradesman-pro'] .fs-hdr-mobile .fs-tpm-note,
[data-fs-theme='tradesman-pro'] .fs-hdr-mobile .fs-tpm-sign,
[data-fs-theme='tradesman-pro'] .fs-hdr-mobile .fs-tpm-big{display:none}
@media (prefers-reduced-motion: reduce){
  [data-fs-theme='tradesman-pro'] .fs-hdr-cta,[data-fs-theme='tradesman-pro'] .fs-tpm-cell{transition:none}
}


[data-fs-theme='counsel'] .fs-hdr-util{container-type:inline-size;border-bottom:1px solid rgb(var(--c-ink-950) / .12);color:rgb(var(--c-ink-700));font-weight:600;font-size:10.5px;line-height:1.3;letter-spacing:.24em;text-transform:uppercase;font-variant-numeric:oldstyle-nums}
[data-fs-theme='counsel'] .fs-hdr-util-in{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:4px 18px;padding-block:10px;text-align:center}
[data-fs-theme='counsel'] .fs-hdr-util-item{display:inline-flex;align-items:center;gap:18px}
[data-fs-theme='counsel'] .fs-hdr-util-item+.fs-hdr-util-item::before{content:"";width:24px;height:1px;background:rgb(var(--c-ink-950) / .28)}
[data-fs-theme='counsel'] .fs-hdr-util-dot{display:none}
[data-fs-theme='counsel'] .fs-hdr-util-tel{color:rgb(var(--c-ink-950))}
@container (max-width: 40rem){
  [data-fs-theme='counsel'] .fs-hdr-util-item:not(.fs-hdr-util-tel){display:none}
  [data-fs-theme='counsel'] .fs-hdr-util-item+.fs-hdr-util-item::before{display:none}
}
/* The double hairline edge: 1px ink/.28, a 3px gap, 1px ink/.12 —
   painted as the band's last 5px. */
[data-fs-theme='counsel'] .fs-hdr-band{border-bottom-width:0;padding-bottom:5px;background-image:linear-gradient(rgb(var(--c-ink-950) / .28),rgb(var(--c-ink-950) / .28)),linear-gradient(rgb(var(--c-ink-950) / .12),rgb(var(--c-ink-950) / .12));background-size:100% 1px,100% 1px;background-position:0 calc(100% - 4px),0 100%;background-repeat:no-repeat}
[data-fs-theme='counsel'] .fs-hdr-row{min-height:88px;align-items:stretch}
[data-fs-theme='counsel'] .fs-hdr-cta{align-self:center;padding:15px 20px;border-radius:0;background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));font-weight:600;font-size:11px;line-height:1;letter-spacing:.17em;text-transform:uppercase;box-shadow:inset 0 0 0 3px rgb(var(--c-brand-600)),inset 0 0 0 4px color-mix(in srgb, rgb(var(--c-paper)) 55%, transparent)}
[data-fs-theme='counsel'] .fs-hdr-menu-btn{border:1px solid rgb(var(--c-ink-950) / .28);border-radius:0;box-shadow:inset 0 0 0 3px rgb(var(--c-paper)),inset 0 0 0 4px rgb(var(--c-ink-950) / .12)}
/* R16 (theme-chrome fix round 2, precedent in tradesman-pro-chrome-
   styles.ts and others): the read-only preview alone renders a fixed-
   width "Edit Template" link (TemplateViewClient.tsx), present on no
   real site. Measured: at the preview's own 320px width the trailing
   group (mode toggle + Edit Template link + menu button, plus the
   row's own brand wordmark) needed more room than the row had, even
   though .fs-hdr-contact/.fs-hdr-cta are already hidden by the
   platform's own ≤34rem rule. [data-fs-preview-edit] is the stable,
   surface-only hook that link alone carries. Unlike Tradesman Pro,
   this route's own brand markup gives the wordmark a real, stable
   attribute hook (TemplateViewClient's data-fs-wordmark), so no
   positional selector is needed here. The brand MARK
   (data-fs-logo-mark, the 36px roundel) stays, so the header is
   never unbranded, even on this one preview-only, extreme-narrow
   case. */
@container (max-width: 22rem){
  [data-fs-theme='counsel'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{display:none}
}

/* ── Phone menu ── paper ground, the title in small caps after an
   en-rule, a double hairline under the head, top-level links in the
   display face at 25px numbered with a roman-numeral spine, and
   hollow dots — the current page's dot filled brand. */
[data-fs-theme='counsel'] .fs-hdr-mobile{background:rgb(var(--c-paper))}
[data-fs-theme='counsel'] .fs-hdr-mobile-head{border-bottom-width:0;padding-bottom:5px;background-image:linear-gradient(rgb(var(--c-ink-950) / .28),rgb(var(--c-ink-950) / .28)),linear-gradient(rgb(var(--c-ink-950) / .12),rgb(var(--c-ink-950) / .12));background-size:100% 1px,100% 1px;background-position:0 calc(100% - 4px),0 100%;background-repeat:no-repeat}
[data-fs-theme='counsel'] .fs-hdr-mobile-title{display:inline-flex;align-items:center;gap:12px;font-weight:600;font-size:11px;line-height:1;letter-spacing:.28em;text-transform:uppercase;color:rgb(var(--c-brand-600))}
[data-fs-theme='counsel'] .fs-hdr-mobile-title::before{content:"";width:22px;height:1px;background:rgb(var(--c-ink-950) / .28)}
[data-fs-theme='counsel'] .fs-hdr-mobile-close{border:1px solid rgb(var(--c-ink-950) / .28)}
[data-fs-theme='counsel'] .fs-hdr-mobile-list{counter-reset:counselnum;margin-left:44px;border-left:1px solid rgb(var(--c-ink-950) / .28)}
[data-fs-theme='counsel'] .fs-hdr-mobile-link:not(.is-sub){position:relative;padding:10px 0 10px 20px;font-family:var(--font-display, Georgia, serif);font-weight:500;font-size:25px;line-height:1.15;text-align:left}
[data-fs-theme='counsel'] .fs-hdr-mobile-link:not(.is-sub)::before{counter-increment:counselnum;content:counter(counselnum, lower-roman) ".";position:absolute;right:100%;top:15px;padding-right:16px;font-family:var(--font-display, Georgia, serif);font-style:italic;font-weight:400;font-size:17px;line-height:1;color:rgb(var(--c-brand-600))}
[data-fs-theme='counsel'] .fs-hdr-mobile-link:not(.is-sub)::after{content:"";position:absolute;left:-4.5px;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;border:1px solid rgb(var(--c-brand-600));background:rgb(var(--c-paper))}
[data-fs-theme='counsel'] .fs-hdr-mobile-link[aria-current]:not([aria-current='false']){color:rgb(var(--c-brand-600))}
[data-fs-theme='counsel'] .fs-hdr-mobile-link[aria-current]:not([aria-current='false'])::after{background:rgb(var(--c-brand-600))}

/* ── Phone-menu bottom section ── a double-keyline box. */
[data-fs-theme='counsel'] .fs-pmf-counsel{border:1px solid rgb(var(--c-ink-950) / .28);box-shadow:inset 0 0 0 4px rgb(var(--c-paper)),inset 0 0 0 5px rgb(var(--c-ink-950) / .12);padding:18px;display:grid;gap:10px;text-align:center}
[data-fs-theme='counsel'] .fs-pmf-big{font-family:var(--font-display, Georgia, serif);font-weight:500;font-size:28px;line-height:1.1;font-variant-numeric:oldstyle-nums}
[data-fs-theme='counsel'] .fs-pmf-hours{margin:0;font-weight:600;font-size:10.5px;line-height:1.5;letter-spacing:.16em;text-transform:uppercase;color:rgb(var(--c-ink-700))}
[data-fs-theme='counsel'] .fs-pmf-cta{display:flex;justify-content:center;width:100%}
[data-fs-theme='counsel'] .fs-pmf-tel{color:inherit;text-decoration:none}

/* ── The Services mega panel — the disciplines, on stationery ── */
[data-fs-theme='counsel'] .fs-csm-panel{container-type:inline-size;position:relative;padding:30px 38px 22px;background:rgb(var(--c-paper));border:1px solid rgb(var(--c-ink-950) / .28);box-shadow:0 30px 60px -28px rgb(var(--c-ink-950) / .4)}
[data-fs-theme='counsel'] .fs-csm-panel::after{content:"";position:absolute;inset:7px;border:1px solid rgb(var(--c-ink-950) / .12);pointer-events:none}
[data-fs-theme='counsel'] .fs-csm-eyebrow{display:flex;align-items:center;justify-content:center;gap:14px;margin:0;font-weight:600;font-size:11px;line-height:1.3;letter-spacing:.28em;text-transform:uppercase;color:rgb(var(--c-brand-600));text-align:center}
[data-fs-theme='counsel'] .fs-csm-eyebrow::before,[data-fs-theme='counsel'] .fs-csm-eyebrow::after{content:"";flex:none;width:38px;height:1px;background:rgb(var(--c-ink-950) / .28)}
[data-fs-theme='counsel'] .fs-csm-grid{display:grid;grid-template-columns:1.75fr 1fr;gap:44px;margin-top:24px}
[data-fs-theme='counsel'] .fs-csm-spine{counter-reset:csm;margin:0 0 0 44px;padding:0;list-style:none;border-left:1px solid rgb(var(--c-ink-950) / .28)}
[data-fs-theme='counsel'] .fs-csm-area{position:relative;display:grid;grid-template-columns:1fr auto;gap:5px 24px;padding:0 0 20px 26px}
[data-fs-theme='counsel'] .fs-csm-area:last-child{padding-bottom:4px}
[data-fs-theme='counsel'] .fs-csm-area::before{counter-increment:csm;content:counter(csm, lower-roman) ".";position:absolute;right:100%;top:2px;padding-right:15px;font-family:var(--font-display, Georgia, serif);font-style:italic;font-weight:400;font-size:19px;line-height:1;color:rgb(var(--c-brand-600))}
[data-fs-theme='counsel'] .fs-csm-area::after{content:"";position:absolute;left:-4px;top:9px;width:7px;height:7px;border-radius:50%;background:rgb(var(--c-brand-600))}
[data-fs-theme='counsel'] .fs-csm-mt{font-family:var(--font-display, Georgia, serif);font-weight:500;font-size:23px;line-height:1.15;text-decoration:none;color:rgb(var(--c-ink-950))}
[data-fs-theme='counsel'] .fs-csm-mt:hover,[data-fs-theme='counsel'] .fs-csm-mt:focus-visible{color:rgb(var(--c-brand-600))}
[data-fs-theme='counsel'] .fs-csm-fee{grid-column:2;grid-row:1;align-self:baseline;font-family:var(--font-display, Georgia, serif);font-weight:500;font-size:19px;line-height:1.15;color:rgb(var(--c-brand-600));white-space:nowrap;font-variant-numeric:oldstyle-nums}
[data-fs-theme='counsel'] .fs-csm-body{grid-column:1/-1;max-width:56ch;margin:0;font-size:13.5px;line-height:1.6;color:rgb(var(--c-ink-700))}
[data-fs-theme='counsel'] .fs-csm-by{grid-column:1/-1;font-weight:600;font-size:10.5px;line-height:1.3;letter-spacing:.18em;text-transform:uppercase;color:rgb(var(--c-ink-700))}
[data-fs-theme='counsel'] .fs-csm-cap{margin:0;font-weight:600;font-size:10.5px;line-height:1.3;letter-spacing:.24em;text-transform:uppercase;color:rgb(var(--c-ink-700))}
/* The aside sits beside the spine at the wide tier, so it earns its own
   hairline in place of the spine's — reset when the panel collapses
   below (R1's 30rem tier), just under the "collapse" comment. */
[data-fs-theme='counsel'] .fs-csm-aside{border-left:1px solid rgb(var(--c-ink-950) / .12);padding-left:32px}
[data-fs-theme='counsel'] .fs-csm-people{margin:8px 0 0;padding:0;list-style:none;border-top:1px solid rgb(var(--c-ink-950) / .28)}
[data-fs-theme='counsel'] .fs-csm-person{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-block:9px;border-bottom:1px solid rgb(var(--c-ink-950) / .12)}
[data-fs-theme='counsel'] .fs-csm-pn{font-family:var(--font-display, Georgia, serif);font-weight:500;font-size:18px;line-height:1.2}
[data-fs-theme='counsel'] .fs-csm-pf{font-weight:600;font-size:10.5px;line-height:1.2;letter-spacing:.16em;text-transform:uppercase;color:rgb(var(--c-ink-700));white-space:nowrap}
[data-fs-theme='counsel'] .fs-csm-first{position:relative;margin-top:18px;padding:14px 16px 16px;border:1px solid rgb(var(--c-ink-950) / .28)}
[data-fs-theme='counsel'] .fs-csm-firstv{margin:6px 0 0;font-family:var(--font-display, Georgia, serif);font-style:italic;font-weight:400;font-size:22px;line-height:1.2;color:rgb(var(--c-brand-600))}
[data-fs-theme='counsel'] .fs-csm-link{display:inline-flex;align-items:center;gap:8px;margin-top:10px;font-weight:600;font-size:11px;line-height:1.3;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:rgb(var(--c-ink-950))}
[data-fs-theme='counsel'] .fs-csm-link::after{content:"\2014";color:rgb(var(--c-brand-600))}
[data-fs-theme='counsel'] .fs-csm-foot{margin-top:10px;padding-top:14px;border-top:1px solid rgb(var(--c-ink-950) / .12);text-align:center;font-weight:600;font-size:10.5px;line-height:1.5;letter-spacing:.2em;text-transform:uppercase;color:rgb(var(--c-ink-700))}
@container (max-width: 30rem){
  [data-fs-theme='counsel'] .fs-csm-grid{grid-template-columns:1fr}
  [data-fs-theme='counsel'] .fs-csm-aside{border-left:0;padding-left:0;border-top:1px solid rgb(var(--c-ink-950) / .12)}
}
/* Phone menu: a plain ledger — title, fee and partner only. */
[data-fs-theme='counsel'] .fs-hdr-mobile .fs-csm-panel{border:0;box-shadow:none;padding:6px 0 0}
[data-fs-theme='counsel'] .fs-hdr-mobile .fs-csm-body,
[data-fs-theme='counsel'] .fs-hdr-mobile .fs-csm-aside,
[data-fs-theme='counsel'] .fs-hdr-mobile .fs-csm-eyebrow,
[data-fs-theme='counsel'] .fs-hdr-mobile .fs-csm-area::before{display:none}
@media (prefers-reduced-motion: reduce){
  [data-fs-theme='counsel'] .fs-hdr-cta,[data-fs-theme='counsel'] .fs-csm-mt{transition:none}
}


[data-fs-theme='hale'] .fs-hdr-util{container-type:inline-size;background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));font-weight:600;font-size:13px;line-height:1.3}
[data-fs-theme='hale'] .fs-hdr-util-in{display:flex;flex-wrap:wrap;align-items:center;gap:6px 22px;padding-block:10px}
[data-fs-theme='hale'] .fs-hdr-util-note{order:-1;display:inline-flex;align-items:center;gap:9px;margin-right:auto}
[data-fs-theme='hale'] .fs-hdr-util-note::before{content:"";flex:none;width:12px;height:12px;background:rgb(var(--c-accent, var(--c-brand-600)));-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Crect x='0' y='4' width='12' height='4' rx='2'/%3E%3Crect x='4' y='0' width='4' height='12' rx='2'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Crect x='0' y='4' width='12' height='4' rx='2'/%3E%3Crect x='4' y='0' width='4' height='12' rx='2'/%3E%3C/svg%3E") center/contain no-repeat}
[data-fs-theme='hale'] .fs-hdr-util-hours{color:rgb(var(--c-ink-700))}
[data-fs-theme='hale'] .fs-hdr-util-dot{display:none}
[data-fs-theme='hale'] .fs-hdr-util-tel{font-weight:800;letter-spacing:.02em;color:rgb(var(--c-brand-600))}
@container (max-width: 40rem){
  [data-fs-theme='hale'] .fs-hdr-util-item:not(.fs-hdr-util-tel){display:none}
  [data-fs-theme='hale'] .fs-hdr-util-in{justify-content:center}
}
/* The "hanging card": the band stays paper-soft, the row is a paper card
   with the appointment card's dashed accent top edge. The row keeps the
   Layout's own max-width, so the card narrows with boxed/centered/minimal. */
[data-fs-theme='hale'] .fs-hdr-band{background:rgb(var(--c-paper-soft));border-bottom-width:0;padding-bottom:14px}
/* --row-pad pinned to Hale's own real 22px, on Hale's own selector:
   'bar' megaWidth anchors the mega panel to --row-pad (dropdown-styles.ts),
   and without this the panel would track the PLATFORM's borrowed value
   (1.5rem) instead of Hale's actual padding — this selector's specificity
   already beats the platform's unscoped .fs-hdr-row{--row-pad:1.5rem}
   rule, so no !important is needed for the real/published/editor site. On
   /preview/view specifically, TemplateViewClient.tsx re-pins --row-pad to
   1.75rem via an INLINE style, which beats any stylesheet declaration
   regardless of specificity — !important is the only thing that outranks
   it (the same idiom .fsdrop-w-bar/.fsdrop-w-full use below for this
   exact problem), so it's needed here too, to keep the preview route's
   panel aligned with Hale's real 22px rather than the borrowed 1.75rem.
   padding-inline itself stays a literal 22px — Hale's own established
   value, unchanged by any of this (owner decision 2026-09-29, "the
   panel's edges equal the row's own content-box edges"). */
[data-fs-theme='hale'] .fs-hdr-row{--row-pad:22px !important;min-height:76px;padding-inline:22px;background:rgb(var(--c-paper));border:1.5px solid rgb(var(--c-ink-950) / .15);border-top:2px dashed rgb(var(--c-accent, var(--c-brand-600)) / .62);border-radius:0 0 24px 24px;box-shadow:0 14px 30px -20px rgb(var(--c-ink-950) / .45)}
[data-fs-theme='hale'] .fs-hdr-cta{align-items:center;gap:10px;padding:13px 18px;border-radius:14px;background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));font-weight:700;font-size:14.5px;line-height:1;box-shadow:0 10px 20px -10px rgb(var(--c-brand-600) / .6),0 2px 0 rgb(var(--c-ink-950) / .14);transition:transform .2s ease}
[data-fs-theme='hale'] .fs-hdr-cta:hover{transform:translateY(-2px)}
[data-fs-theme='hale'] .fs-hdr-cta::before{content:"";flex:none;width:12px;height:12px;background:rgb(var(--c-paper));-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Crect x='0' y='4' width='12' height='4' rx='2'/%3E%3Crect x='4' y='0' width='4' height='12' rx='2'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Crect x='0' y='4' width='12' height='4' rx='2'/%3E%3Crect x='4' y='0' width='4' height='12' rx='2'/%3E%3C/svg%3E") center/contain no-repeat}
@container (max-width: 40rem){
  /* Lives in the phone menu's bottom section instead (design notes). */
  [data-fs-theme='hale'] .fs-hdr-row .fs-hdr-cta{display:none}
  /* .fs-hdr-row is itself the inline-size container this query measures
     against, so a rule styling .fs-hdr-row here would silently query
     the NEXT container up instead (the self-query bug, see
     header-layout.ts's own note on .fs-hdr-split). The row's own
     22px padding-inline (set above) is close enough to the narrow-width
     14px this used to force that no descendant override is needed —
     confirmed visually at 320-375px in the editor and a real browser. */
}
[data-fs-theme='hale'] .fs-hdr-menu-btn{border-radius:14px;background:rgb(var(--c-paper-soft))}
/* R16 (theme-chrome fix round 2, precedent in counsel-chrome-styles.ts
   and others): the read-only preview alone renders a fixed-width "Edit
   Template" link (TemplateViewClient.tsx), present on no real site.
   Measured: at the preview's own 320px width the trailing group (mode
   toggle + Edit Template link + menu button) needed more room than the
   row had, pushing the menu button's right edge past the viewport,
   even though .fs-hdr-contact/.fs-hdr-cta are already hidden by the
   platform's own ≤34rem rule. [data-fs-preview-edit] is the stable,
   surface-only hook that link alone carries; TemplateViewClient's own
   data-fs-wordmark gives the wordmark a real, stable attribute hook, so
   no positional selector is needed. The brand MARK (data-fs-logo-mark)
   stays, so the header is never unbranded, even on this one
   preview-only, extreme-narrow case. */
@container (max-width: 22rem){
  [data-fs-theme='hale'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{display:none}
}
@media (prefers-reduced-motion: reduce){ [data-fs-theme='hale'] .fs-hdr-cta{transition:none} [data-fs-theme='hale'] .fs-hdr-cta:hover{transform:none} }

/* ── Phone menu ── paper-soft ground, a cross-marked title, links as
   rounded paper rows with a trailing "›", the current row a tinted
   pill with its own cross, and the open group split by a dashed seam.
   PrimaryNav's real DOM is .fs-hdr-mobile-list > li > .fs-hdr-mobile-row
   (the <a>.fs-hdr-mobile-link plus, for a parent, a sibling
   .fs-hdr-mobile-toggle button), with .fs-hdr-mobile-sub the row's own
   next sibling inside the <li> — so the card lives on the ROW, the
   "no toggle" test for the chevron and the "sub not hidden" test for
   the open seam are both :has() reads of that real shape (precedent:
   limelight-chrome-styles.ts's note on this exact DOM). */
[data-fs-theme='hale'] .fs-hdr-mobile{background:rgb(var(--c-paper-soft))}
[data-fs-theme='hale'] .fs-hdr-mobile-title{display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:20px;line-height:1;font-family:var(--font-display, Georgia, serif)}
[data-fs-theme='hale'] .fs-hdr-mobile-title::before{content:"";flex:none;width:14px;height:14px;background:rgb(var(--c-accent, var(--c-brand-600)));-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Crect x='0' y='4' width='12' height='4' rx='2'/%3E%3Crect x='4' y='0' width='4' height='12' rx='2'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Crect x='0' y='4' width='12' height='4' rx='2'/%3E%3Crect x='4' y='0' width='4' height='12' rx='2'/%3E%3C/svg%3E") center/contain no-repeat}
[data-fs-theme='hale'] .fs-hdr-mobile-close{border-radius:14px;background:rgb(var(--c-paper));border:1.5px solid rgb(var(--c-ink-950) / .15)}
[data-fs-theme='hale'] .fs-hdr-mobile-list{gap:8px}
[data-fs-theme='hale'] .fs-hdr-mobile-row{border-radius:16px;background:rgb(var(--c-paper));border:1.5px solid rgb(var(--c-ink-950) / .15)}
[data-fs-theme='hale'] .fs-hdr-mobile-link:not(.is-sub){display:flex;align-items:center;padding:13px 16px;font-family:var(--font-display, Georgia, serif);font-weight:500;font-size:19px;line-height:1.15;text-align:left}
[data-fs-theme='hale'] .fs-hdr-mobile-row:not(:has(.fs-hdr-mobile-toggle)) .fs-hdr-mobile-link:not(.is-sub)::after{content:"\203A";margin-left:auto;font-family:system-ui, sans-serif;font-weight:400;font-size:22px;line-height:1;color:rgb(var(--c-ink-700))}
[data-fs-theme='hale'] .fs-hdr-mobile-link[aria-current]:not([aria-current='false'])::before{content:"";flex:none;width:12px;height:12px;margin-right:1px;background:rgb(var(--c-accent, var(--c-brand-600)));-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Crect x='0' y='4' width='12' height='4' rx='2'/%3E%3Crect x='4' y='0' width='4' height='12' rx='2'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Crect x='0' y='4' width='12' height='4' rx='2'/%3E%3Crect x='4' y='0' width='4' height='12' rx='2'/%3E%3C/svg%3E") center/contain no-repeat}
[data-fs-theme='hale'] .fs-hdr-mobile-row:has(.fs-hdr-mobile-link[aria-current]:not([aria-current='false'])){background:rgb(var(--c-accent, var(--c-brand-600)) / .15);border-color:rgb(var(--c-accent, var(--c-brand-600)) / .62)}
[data-fs-theme='hale'] .fs-hdr-mobile-row:has(+ .fs-hdr-mobile-sub:not([hidden])){border-radius:16px 16px 0 0;border-bottom-style:dashed}
[data-fs-theme='hale'] .fs-hdr-mobile-sub{padding:10px;background:rgb(var(--c-paper));border:1.5px solid rgb(var(--c-ink-950) / .15);border-top:0;border-radius:0 0 16px 16px}

/* ── Phone-menu bottom section ── the appointment card. */
[data-fs-theme='hale'] .fs-pmf-hale{display:grid;gap:12px}
[data-fs-theme='hale'] .fs-pmf-card{padding:14px 16px 16px;border-radius:18px;background:rgb(var(--c-paper));border:1.5px solid rgb(var(--c-ink-950) / .15);border-top:2px dashed rgb(var(--c-accent, var(--c-brand-600)) / .62)}
[data-fs-theme='hale'] .fs-pmf-hours{display:flex;align-items:center;gap:9px;margin:0;font-weight:800;font-size:11.5px;line-height:1.3;letter-spacing:.12em;text-transform:uppercase;color:rgb(var(--c-brand-600))}
[data-fs-theme='hale'] .fs-pmf-cross{flex:none;width:12px;height:12px;background:rgb(var(--c-accent, var(--c-brand-600)));-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Crect x='0' y='4' width='12' height='4' rx='2'/%3E%3Crect x='4' y='0' width='4' height='12' rx='2'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Crect x='0' y='4' width='12' height='4' rx='2'/%3E%3Crect x='4' y='0' width='4' height='12' rx='2'/%3E%3C/svg%3E") center/contain no-repeat}
[data-fs-theme='hale'] .fs-pmf-big{display:block;margin:10px 0 0;font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:28px;line-height:1;color:rgb(var(--c-brand-600))}
[data-fs-theme='hale'] .fs-pmf-tel{color:inherit;text-decoration:none}
[data-fs-theme='hale'] .fs-pmf-cta{display:flex;justify-content:center;width:100%;padding-block:17px}

/* ── The Services mega panel — appointment cards ── */
[data-fs-theme='hale'] .fs-hlm-panel{container-type:inline-size;padding:24px 26px 16px;background:rgb(var(--c-paper));border:1.5px solid rgb(var(--c-ink-950) / .15);border-top:2px dashed rgb(var(--c-accent, var(--c-brand-600)) / .62);border-radius:22px;box-shadow:0 30px 60px -24px rgb(var(--c-ink-950) / .5)}
[data-fs-theme='hale'] .fs-hlm-grid{display:grid;grid-template-columns:1fr 1fr .9fr;gap:24px}
[data-fs-theme='hale'] .fs-hlm-cardt{display:flex;align-items:center;gap:9px;margin-bottom:12px;font-weight:800;font-size:11.5px;line-height:1.3;letter-spacing:.12em;text-transform:uppercase;color:rgb(var(--c-brand-600))}
[data-fs-theme='hale'] .fs-hlm-plus{flex:none;width:12px;height:12px;background:rgb(var(--c-accent, var(--c-brand-600)));-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Crect x='0' y='4' width='12' height='4' rx='2'/%3E%3Crect x='4' y='0' width='4' height='12' rx='2'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Crect x='0' y='4' width='12' height='4' rx='2'/%3E%3Crect x='4' y='0' width='4' height='12' rx='2'/%3E%3C/svg%3E") center/contain no-repeat}
[data-fs-theme='hale'] .fs-hlm-treat{display:grid;gap:8px}
[data-fs-theme='hale'] .fs-hlm-row-a{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 14px;padding:12px 14px;border-radius:14px;background:rgb(var(--c-paper-soft));border:1.5px solid rgb(var(--c-ink-950) / .15);text-decoration:none;transition:border-color .2s ease,transform .2s ease}
[data-fs-theme='hale'] .fs-hlm-row-a:hover,[data-fs-theme='hale'] .fs-hlm-row-a:focus-visible{border-color:rgb(var(--c-brand-600));transform:translateY(-1px)}
[data-fs-theme='hale'] .fs-hlm-tn{font-family:var(--font-display, Georgia, serif);font-weight:600;font-size:16.5px;line-height:1.25;color:rgb(var(--c-ink-950))}
[data-fs-theme='hale'] .fs-hlm-tm{grid-column:1;font-size:13px;line-height:1.4;color:rgb(var(--c-ink-700))}
[data-fs-theme='hale'] .fs-hlm-tp{grid-column:2;grid-row:1/3;font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:17px;line-height:1;color:rgb(var(--c-brand-600));white-space:nowrap}
[data-fs-theme='hale'] .fs-hlm-who{padding:16px 16px 8px;border-radius:18px;background:rgb(var(--c-paper-soft))}
[data-fs-theme='hale'] .fs-hlm-person{display:grid;grid-template-columns:40px 1fr;align-items:center;gap:2px 12px;padding-block:9px;border-top:1.5px solid rgb(var(--c-ink-950) / .15)}
[data-fs-theme='hale'] .fs-hlm-person:first-child{border-top:0}
[data-fs-theme='hale'] .fs-hlm-av{grid-row:span 3;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:rgb(var(--c-accent, var(--c-brand-600)) / .15);font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:14px;line-height:1;color:rgb(var(--c-ink-950))}
[data-fs-theme='hale'] .fs-hlm-pn{font-family:var(--font-display, Georgia, serif);font-weight:600;font-size:15.5px;line-height:1.2;color:rgb(var(--c-ink-950))}
[data-fs-theme='hale'] .fs-hlm-pr{font-size:13px;font-weight:700;color:rgb(var(--c-brand-600))}
[data-fs-theme='hale'] .fs-hlm-pc{justify-self:start;padding:3px 9px;border-radius:999px;background:rgb(var(--c-accent, var(--c-brand-600)) / .15);font-weight:700;font-size:10.5px;line-height:1.3;letter-spacing:.07em;text-transform:uppercase;color:rgb(var(--c-ink-700))}
[data-fs-theme='hale'] .fs-hlm-foot{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-top:16px;padding-top:12px;border-top:1.5px solid rgb(var(--c-ink-950) / .15);font-size:13.5px;color:rgb(var(--c-ink-700))}
[data-fs-theme='hale'] .fs-hlm-foot-t{}
[data-fs-theme='hale'] .fs-hlm-link{margin-left:auto;font-weight:800;color:rgb(var(--c-brand-600));text-decoration:none}
@container (max-width: 50rem){
  [data-fs-theme='hale'] .fs-hlm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  [data-fs-theme='hale'] .fs-hlm-who{grid-column:1 / -1}
}
@container (max-width: 30rem){
  [data-fs-theme='hale'] .fs-hlm-grid{grid-template-columns:1fr}
}
/* Phone menu: both groups as compact price rows; the people card, the
   meta lines and the foot's sentence are hidden (design notes). */
[data-fs-theme='hale'] .fs-hdr-mobile .fs-hlm-who,
[data-fs-theme='hale'] .fs-hdr-mobile .fs-hlm-tm,
[data-fs-theme='hale'] .fs-hdr-mobile .fs-hlm-foot-t,
[data-fs-theme='hale'] .fs-hdr-mobile .fs-hlm-foot .fs-hlm-plus{display:none}
@media (prefers-reduced-motion: reduce){ [data-fs-theme='hale'] .fs-hlm-row-a{transition:none} }


[data-fs-theme='plateful'] .fs-hdr-util{container-type:inline-size;background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));font-weight:600;font-size:13px;line-height:1.3}
[data-fs-theme='plateful'] .fs-hdr-util-in{display:flex;align-items:center;flex-wrap:wrap;gap:6px 16px;padding-block:9px}
[data-fs-theme='plateful'] .fs-hdr-util-note{order:-1;margin-right:auto;font-family:var(--font-display, Georgia, serif);font-style:italic;font-weight:400;font-size:15px}
[data-fs-theme='plateful'] .fs-hdr-util-dot{display:none}
[data-fs-theme='plateful'] .fs-hdr-util-tel{display:inline-flex;align-items:center;gap:16px;font-weight:800;letter-spacing:.04em}
[data-fs-theme='plateful'] .fs-hdr-util-tel::before{content:"";width:6px;height:6px;background:rgb(var(--c-accent, var(--c-brand-600)));transform:rotate(45deg)}
@container (max-width: 40rem){
  /* On phones only the chalkboard special shows (design notes). */
  [data-fs-theme='plateful'] .fs-hdr-util-item:not(.fs-hdr-util-note){display:none}
  [data-fs-theme='plateful'] .fs-hdr-util-in{justify-content:center;text-align:center}
  [data-fs-theme='plateful'] .fs-hdr-util-note{margin-right:0}
}
/* The edge: a 4px double rule painted as the band's last 7px; the
   diamond "knot" sits on the ROW (positioned for the R11 re-anchor
   anyway) so the possibly-sticky band is never repositioned. */
[data-fs-theme='plateful'] .fs-hdr-band{border-bottom:4px double rgb(var(--c-ink-950) / .32)}
[data-fs-theme='plateful'] .fs-hdr-row{position:relative;min-height:82px}
[data-fs-theme='plateful'] .fs-hdr-row::after{content:"";position:absolute;left:50%;bottom:-8px;width:10px;height:10px;margin-left:-5px;background:rgb(var(--c-accent, var(--c-brand-600)));transform:rotate(45deg);box-shadow:0 0 0 5px rgb(var(--c-paper));pointer-events:none}
[data-fs-theme='plateful'] .fs-hdr-cta{padding:14px 20px;border-radius:10px;background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));font-weight:800;font-size:12.5px;line-height:1;letter-spacing:.14em;text-transform:uppercase;outline:1.5px solid color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 75%, transparent);outline-offset:3px;box-shadow:0 12px 22px -14px rgb(var(--c-ink-950) / .55);transition:transform .3s ease}
[data-fs-theme='plateful'] .fs-hdr-cta:hover{transform:translateY(-2px)}
[data-fs-theme='plateful'] .fs-hdr-menu-btn{border-radius:50%;border:1.5px solid rgb(var(--c-ink-950) / .32);outline:1px solid color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 70%, transparent);outline-offset:3px}
@media (prefers-reduced-motion: reduce){ [data-fs-theme='plateful'] .fs-hdr-cta{transition:none} [data-fs-theme='plateful'] .fs-hdr-cta:hover{transform:none} }
/* R16 (theme-chrome fix round 2, precedent in counsel-chrome-styles.ts
   and hale-chrome-styles.ts): the read-only preview alone renders a
   fixed-width "Edit Template" link (TemplateViewClient.tsx), present on
   no real site. At the preview's own 320px width the trailing group
   (mode toggle + Edit Template link + menu button) needs more room
   than the row has, even though .fs-hdr-contact/.fs-hdr-cta are already
   hidden by the platform's own ≤34rem rule. [data-fs-preview-edit] is
   the stable, surface-only hook that link alone carries; TemplateView
   Client's own data-fs-wordmark gives the wordmark a real, stable
   attribute hook, so no positional selector is needed. The brand MARK
   (data-fs-logo-mark) stays, so the header is never unbranded, even on
   this one preview-only, extreme-narrow case. */
@container (max-width: 22rem){
  [data-fs-theme='plateful'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{display:none}
}

/* ── Phone menu ── the title between diamonds, a double-rule head with
   its own diamond knot, links as dish rows (display face at 23px, a
   dotted leader to a diamond in place of a price), the current page's
   diamond filled and its label deep brand. */
[data-fs-theme='plateful'] .fs-hdr-mobile-head{position:relative;border-bottom:4px double rgb(var(--c-ink-950) / .32)}
[data-fs-theme='plateful'] .fs-hdr-mobile-head::after{content:"";position:absolute;left:50%;bottom:-5px;width:10px;height:10px;margin-left:-5px;background:rgb(var(--c-accent, var(--c-brand-600)));transform:rotate(45deg);box-shadow:0 0 0 5px rgb(var(--c-paper))}
[data-fs-theme='plateful'] .fs-hdr-mobile-title{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:11.5px;line-height:1;letter-spacing:.26em;text-transform:uppercase;color:rgb(var(--c-ink-700))}
[data-fs-theme='plateful'] .fs-hdr-mobile-title::before,[data-fs-theme='plateful'] .fs-hdr-mobile-title::after{content:"";flex:none;width:6px;height:6px;background:rgb(var(--c-accent, var(--c-brand-600)));transform:rotate(45deg)}
[data-fs-theme='plateful'] .fs-hdr-mobile-link:not(.is-sub){display:flex;align-items:baseline;gap:10px;padding-block:12px;font-family:var(--font-display, Georgia, serif);font-weight:500;font-size:23px;line-height:1.15;text-align:left;color:rgb(var(--c-ink-950))}
[data-fs-theme='plateful'] .fs-hdr-mobile-link:not(.is-sub)::after{content:"";order:1;flex:1;min-width:16px;border-bottom:2px dotted rgb(var(--c-ink-700) / .5);transform:translateY(-5px)}
[data-fs-theme='plateful'] .fs-hdr-mobile-link:not(.is-sub)::before{content:"";order:2;flex:none;width:8px;height:8px;border:1.5px solid rgb(var(--c-accent, var(--c-brand-600)));transform:rotate(45deg) translateY(-3px)}
[data-fs-theme='plateful'] .fs-hdr-mobile-link[aria-current]:not([aria-current='false']){color:color-mix(in srgb, rgb(var(--c-brand-600)) 78%, rgb(var(--c-ink-950)))}
[data-fs-theme='plateful'] .fs-hdr-mobile-link[aria-current]:not([aria-current='false'])::before{background:rgb(var(--c-accent, var(--c-brand-600)))}

/* ── Phone-menu bottom section ── an italic hours line, the ringed
   button, and a phone whose gold is the underline, never the text. */
[data-fs-theme='plateful'] .fs-pmf-plateful{border-top:4px double rgb(var(--c-ink-950) / .32);padding-top:14px;display:grid;gap:12px;text-align:center}
[data-fs-theme='plateful'] .fs-pmf-hours{margin:0;font-family:var(--font-display, Georgia, serif);font-style:italic;font-weight:400;font-size:16px;line-height:1.4;color:rgb(var(--c-ink-700))}
[data-fs-theme='plateful'] .fs-pmf-cta{display:flex;justify-content:center;width:100%}
[data-fs-theme='plateful'] .fs-pmf-tel{color:rgb(var(--c-ink-950));text-decoration:underline;text-decoration-color:rgb(var(--c-accent, var(--c-brand-600)));text-decoration-thickness:2px;text-underline-offset:5px}

/* ── The Menu mega panel — the printed menu card ── */
[data-fs-theme='plateful'] .fs-plf-card{container-type:inline-size;padding:26px 30px 18px;background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-ink-950) / .16);border-block:4px double rgb(var(--c-ink-950) / .32);border-radius:16px;box-shadow:0 30px 60px -24px rgb(var(--c-ink-950) / .45)}
[data-fs-theme='plateful'] .fs-plf-grid{display:grid;grid-template-columns:repeat(3,1fr) 270px;gap:28px}
/* Wide tier (theme-chrome mega-width retrofit, 2026-09-29): see
   linen-chrome-styles.ts's identical comment — same reasoning, this
   theme's own fixed side column (the hours board / booking aside).

   Final-review fix (2026-09-29): .fs-plf-grid's query container is
   .fs-plf-card (container-type:inline-size, set above), NOT the row —
   and the card is narrower than the row by its own 30px+1px
   padding/border on each side (62px total). Live-measured on this
   preview at 1440px viewport: Full-Width layout puts the row at
   ~1425px but the card's CONTENT box (what cqi actually measures) at
   only ~1307px, so the original 21cqi resolved to ~274px — 4px past
   the 270px floor out of the whole 60px range up to 330px, i.e.
   basically nothing. 24cqi resolves to ~314px at that same measured
   1307px, a real, visible increase, while still landing well under
   the 330px cap (not clipped) and staying sane at the 72rem threshold
   itself (0.24 × 1152px ≈ 276px, just off the floor as intended). */
@container (min-width: 72rem) {
  [data-fs-theme='plateful'] .fs-plf-grid{grid-template-columns:repeat(3,1fr) clamp(270px, 24cqi, 330px)}
}
[data-fs-theme='plateful'] .fs-plf-course-t{display:flex;align-items:center;gap:12px;margin:0 0 14px;font-weight:800;font-size:11px;line-height:1;letter-spacing:.24em;text-transform:uppercase;color:color-mix(in srgb, rgb(var(--c-brand-600)) 78%, rgb(var(--c-ink-950)));white-space:nowrap}
[data-fs-theme='plateful'] .fs-plf-course-t::before,[data-fs-theme='plateful'] .fs-plf-course-t::after{content:"";flex:1;min-width:12px;border-top:4px double rgb(var(--c-ink-950) / .32)}
[data-fs-theme='plateful'] .fs-plf-dish{display:block;margin-bottom:14px;text-decoration:none}
[data-fs-theme='plateful'] .fs-plf-dish:hover .fs-plf-dname,[data-fs-theme='plateful'] .fs-plf-dish:focus-visible .fs-plf-dname{color:color-mix(in srgb, rgb(var(--c-brand-600)) 78%, rgb(var(--c-ink-950)))}
[data-fs-theme='plateful'] .fs-plf-dtop{display:flex;align-items:last baseline;gap:8px}
[data-fs-theme='plateful'] .fs-plf-dname{font-family:var(--font-display, Georgia, serif);font-weight:500;font-size:17px;line-height:1.25;color:rgb(var(--c-ink-950))}
[data-fs-theme='plateful'] .fs-plf-dots{flex:1;min-width:14px;border-bottom:2px dotted rgb(var(--c-ink-700) / .5);transform:translateY(-4px)}
[data-fs-theme='plateful'] .fs-plf-dprice{font-family:var(--font-display, Georgia, serif);font-weight:600;font-size:16px;line-height:1;color:rgb(var(--c-ink-950));white-space:nowrap}
[data-fs-theme='plateful'] .fs-plf-ddesc{display:block;margin-top:3px;font-size:13px;line-height:1.5;color:rgb(var(--c-ink-700))}
[data-fs-theme='plateful'] .fs-plf-aside{align-self:start;padding:16px 18px 18px;border-radius:14px;background:rgb(var(--c-paper));border:1px solid rgb(var(--c-ink-950) / .16)}
[data-fs-theme='plateful'] .fs-plf-hours{display:block;margin:0 0 14px}
[data-fs-theme='plateful'] .fs-plf-hrow{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-block:7px;border-bottom:1px solid rgb(var(--c-ink-950) / .16)}
[data-fs-theme='plateful'] .fs-plf-hk{font-weight:800;font-size:10.5px;line-height:1.3;letter-spacing:.18em;text-transform:uppercase;color:rgb(var(--c-ink-700))}
[data-fs-theme='plateful'] .fs-plf-hv{font-family:var(--font-display, Georgia, serif);font-weight:500;font-size:14.5px;line-height:1.3;text-align:right;color:rgb(var(--c-ink-950))}
[data-fs-theme='plateful'] .fs-plf-book{display:flex;align-items:center;justify-content:center;width:100%;margin-top:14px;padding:15px 20px;border-radius:10px;background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));font-weight:800;font-size:12.5px;line-height:1;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;white-space:nowrap;outline:1.5px solid color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 75%, transparent);outline-offset:3px;box-shadow:0 12px 22px -14px rgb(var(--c-ink-950) / .55);transition:transform .3s ease}
[data-fs-theme='plateful'] .fs-plf-book:hover{transform:translateY(-2px)}
[data-fs-theme='plateful'] .fs-plf-more{display:inline-block;margin-top:14px;font-weight:800;font-size:13.5px;line-height:1.3;color:rgb(var(--c-ink-950));text-decoration:none;border-bottom:1.5px solid rgb(var(--c-accent, var(--c-brand-600)))}
[data-fs-theme='plateful'] .fs-plf-foot{display:flex;align-items:center;justify-content:center;gap:12px;margin:8px 0 0;padding-top:12px;border-top:4px double rgb(var(--c-ink-950) / .32);font-family:var(--font-display, Georgia, serif);font-style:italic;font-weight:400;font-size:15px;line-height:1.4;color:rgb(var(--c-ink-700));text-align:center}
[data-fs-theme='plateful'] .fs-plf-dia{display:inline-block;flex:none;width:7px;height:7px;background:rgb(var(--c-accent, var(--c-brand-600)));transform:rotate(45deg)}
@container (max-width: 50rem){
  [data-fs-theme='plateful'] .fs-plf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container (max-width: 30rem){
  [data-fs-theme='plateful'] .fs-plf-grid{grid-template-columns:1fr}
}
/* Phone menu: the courses as dish rows; descriptions and the side card hidden. */
[data-fs-theme='plateful'] .fs-hdr-mobile .fs-plf-ddesc,
[data-fs-theme='plateful'] .fs-hdr-mobile .fs-plf-aside{display:none}
[data-fs-theme='plateful'] .fs-hdr-mobile .fs-plf-card{box-shadow:none;border-left:0;border-right:0}
@media (prefers-reduced-motion: reduce){ [data-fs-theme='plateful'] .fs-plf-book{transition:none} [data-fs-theme='plateful'] .fs-plf-book:hover{transform:none} }


/* Deep brand for fills with paper text (spec "Contrast": the raw brand
   fails AA against both white and ink). Dark palettes lead with the
   lighter brand, which carries paper (dark) text itself. FULL colours,
   not channels — read as var(--ms-deep). --fs-tab-deep re-points the
   maneTabs menu style's current tab to the same fill. */
[data-fs-theme='mane-studio']{--ms-deep:color-mix(in srgb, rgb(var(--c-brand-600)) 78%, rgb(var(--c-ink-950)));--fs-tab-deep:var(--ms-deep)}
[data-fs-theme='mane-studio']:is(.dark *):not(.fs-preview-light):not(.fs-preview-light *){--ms-deep:rgb(var(--c-brand-600));--fs-tab-deep:var(--ms-deep)}
[data-fs-theme='mane-studio'] .fs-hdr-util{container-type:inline-size;background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));font-weight:600;font-size:12.5px;line-height:1.3;border-bottom:1px solid rgb(var(--c-ink-950) / .15)}
[data-fs-theme='mane-studio'] .fs-hdr-util-in{display:flex;align-items:center;flex-wrap:wrap;gap:6px 22px;padding-block:9px}
[data-fs-theme='mane-studio'] .fs-hdr-util-note{order:-1;display:inline-flex;align-items:center;gap:12px;margin-right:auto}
/* The shade ladder: six discs, brand stepped toward ink and toward paper. */
[data-fs-theme='mane-studio'] .fs-hdr-util-note::before{content:"";flex:none;width:92px;height:12px;background:
  radial-gradient(circle 6px at 6px 6px, color-mix(in srgb, rgb(var(--c-brand-600)) 55%, rgb(var(--c-ink-950))) 5.5px, transparent 6px),
  radial-gradient(circle 6px at 22px 6px, color-mix(in srgb, rgb(var(--c-brand-600)) 78%, rgb(var(--c-ink-950))) 5.5px, transparent 6px),
  radial-gradient(circle 6px at 38px 6px, rgb(var(--c-brand-600)) 5.5px, transparent 6px),
  radial-gradient(circle 6px at 54px 6px, color-mix(in srgb, rgb(var(--c-brand-600)) 72%, rgb(var(--c-paper))) 5.5px, transparent 6px),
  radial-gradient(circle 6px at 70px 6px, color-mix(in srgb, rgb(var(--c-brand-600)) 46%, rgb(var(--c-paper))) 5.5px, transparent 6px),
  radial-gradient(circle 6px at 86px 6px, color-mix(in srgb, rgb(var(--c-brand-600)) 24%, rgb(var(--c-paper))) 5.5px, transparent 6px)}
[data-fs-theme='mane-studio'] .fs-hdr-util-hours{color:rgb(var(--c-ink-700))}
[data-fs-theme='mane-studio'] .fs-hdr-util-dot{display:none}
[data-fs-theme='mane-studio'] .fs-hdr-util-tel{font-weight:800;letter-spacing:.04em}
@container (max-width: 40rem){
  [data-fs-theme='mane-studio'] .fs-hdr-util-item:not(.fs-hdr-util-tel){display:none}
  [data-fs-theme='mane-studio'] .fs-hdr-util-in{justify-content:center}
}
/* The tabs sit on the band's 1px rule; under it, 16px of faint ruled
   writing lines — painted as the band's bottom, no positioning. */
[data-fs-theme='mane-studio'] .fs-hdr-band{border-bottom-width:0;padding-bottom:17px;background-image:linear-gradient(rgb(var(--c-ink-950) / .42),rgb(var(--c-ink-950) / .42)),repeating-linear-gradient(to bottom,transparent 0 7px,rgb(var(--c-ink-950) / .08) 7px 8px);background-size:100% 1px,100% 16px;background-position:0 calc(100% - 16px),0 100%;background-repeat:no-repeat}
[data-fs-theme='mane-studio'] .fs-hdr-row{min-height:82px;align-items:stretch}
[data-fs-theme='mane-studio'] .fs-hdr-cta{align-self:center;align-items:center;gap:10px;padding:12px 20px 12px 13px;border-radius:999px;background:var(--ms-deep);color:rgb(var(--c-paper));font-weight:700;font-size:13.5px;line-height:1;letter-spacing:.04em;transition:opacity .17s ease}
[data-fs-theme='mane-studio'] .fs-hdr-cta:hover{opacity:.9}
/* Three overlapping swatch discs before the label. */
[data-fs-theme='mane-studio'] .fs-hdr-cta::before{content:"";flex:none;width:32px;height:14px;background:
  radial-gradient(circle 7px at 7px 7px, color-mix(in srgb, rgb(var(--c-brand-600)) 72%, rgb(var(--c-paper))) 5.5px, rgb(var(--c-paper)) 6px, transparent 7px),
  radial-gradient(circle 7px at 16px 7px, color-mix(in srgb, rgb(var(--c-brand-600)) 46%, rgb(var(--c-paper))) 5.5px, rgb(var(--c-paper)) 6px, transparent 7px),
  radial-gradient(circle 7px at 25px 7px, color-mix(in srgb, rgb(var(--c-brand-600)) 22%, rgb(var(--c-paper))) 5.5px, rgb(var(--c-paper)) 6px, transparent 7px)}
[data-fs-theme='mane-studio'] .fs-hdr-menu-btn{border-radius:999px;border:1px solid rgb(var(--c-ink-950) / .42)}
/* R16 (theme-chrome fix round 2, precedent in counsel/hale/plateful-
   chrome-styles.ts): the read-only preview alone renders a fixed-width
   "Edit Template" link (TemplateViewClient.tsx), present on no real
   site. At the preview's own 390/320px widths the trailing group (mode
   toggle + Edit Template link + menu button, plus the row's own brand
   wordmark) needs more room than the row has, even though
   .fs-hdr-contact/.fs-hdr-cta are already hidden by the platform's own
   ≤34rem rule. [data-fs-preview-edit] is the stable, surface-only hook
   that link alone carries; TemplateViewClient's own data-fs-wordmark
   gives the wordmark a real, stable attribute hook, so no positional
   selector is needed. The brand MARK (data-fs-logo-mark) stays, so the
   header is never unbranded, even on this one preview-only,
   extreme-narrow case. */
@container (max-width: 22rem){
  [data-fs-theme='mane-studio'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{display:none}
}
@media (prefers-reduced-motion: reduce){ [data-fs-theme='mane-studio'] .fs-hdr-cta{transition:none} }

/* ── Phone menu ── paper-soft ground, the title after the six discs, a
   double hairline under the head, ruled writing lines behind the list,
   top-level links in the display face at 21px, and the current page's
   deep filing tab sticking out of the left edge. */
[data-fs-theme='mane-studio'] .fs-hdr-mobile{background:rgb(var(--c-paper-soft))}
[data-fs-theme='mane-studio'] .fs-hdr-mobile-head{border-bottom:1px solid rgb(var(--c-ink-950) / .42)}
[data-fs-theme='mane-studio'] .fs-hdr-mobile-title{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:11px;line-height:1;letter-spacing:.16em;text-transform:uppercase;color:rgb(var(--c-ink-700))}
[data-fs-theme='mane-studio'] .fs-hdr-mobile-title::before{content:"";flex:none;width:92px;height:12px;background:
  radial-gradient(circle 6px at 6px 6px, color-mix(in srgb, rgb(var(--c-brand-600)) 55%, rgb(var(--c-ink-950))) 5.5px, transparent 6px),
  radial-gradient(circle 6px at 22px 6px, color-mix(in srgb, rgb(var(--c-brand-600)) 78%, rgb(var(--c-ink-950))) 5.5px, transparent 6px),
  radial-gradient(circle 6px at 38px 6px, rgb(var(--c-brand-600)) 5.5px, transparent 6px),
  radial-gradient(circle 6px at 54px 6px, color-mix(in srgb, rgb(var(--c-brand-600)) 72%, rgb(var(--c-paper))) 5.5px, transparent 6px),
  radial-gradient(circle 6px at 70px 6px, color-mix(in srgb, rgb(var(--c-brand-600)) 46%, rgb(var(--c-paper))) 5.5px, transparent 6px),
  radial-gradient(circle 6px at 86px 6px, color-mix(in srgb, rgb(var(--c-brand-600)) 24%, rgb(var(--c-paper))) 5.5px, transparent 6px)}
[data-fs-theme='mane-studio'] .fs-hdr-mobile-close{border:1px solid rgb(var(--c-ink-950) / .42)}
[data-fs-theme='mane-studio'] .fs-hdr-mobile-list{padding:0 18px;background:repeating-linear-gradient(to bottom,transparent 0 13px,rgb(var(--c-ink-950) / .08) 13px 14px)}
[data-fs-theme='mane-studio'] .fs-hdr-mobile-link:not(.is-sub){position:relative;display:flex;align-items:center;min-height:56px;padding:10px 0 10px 16px;border-bottom:1px solid rgb(var(--c-ink-950) / .15);font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:21px;line-height:1.1;letter-spacing:-.01em;text-align:left}
[data-fs-theme='mane-studio'] .fs-hdr-mobile-link[aria-current]:not([aria-current='false'])::before{content:"";position:absolute;left:-18px;top:13px;bottom:13px;width:10px;border-radius:0 6px 6px 0;background:var(--ms-deep)}
[data-fs-theme='mane-studio'] .fs-hdr-mobile-link[aria-current]:not([aria-current='false']){color:var(--ms-deep)}

/* ── Phone-menu bottom section ── a small record card with its tab. */
[data-fs-theme='mane-studio'] .fs-pmf-mane-studio{display:grid;gap:12px;margin:18px 18px 20px}
[data-fs-theme='mane-studio'] .fs-pmf-card{position:relative;padding:18px 14px 12px;border-radius:12px;background:rgb(var(--c-paper));border:1px solid rgb(var(--c-ink-950) / .15)}
[data-fs-theme='mane-studio'] .fs-pmf-tab{position:absolute;top:-9px;left:16px;width:56px;height:10px;border-radius:6px 6px 0 0;background:var(--ms-deep)}
[data-fs-theme='mane-studio'] .fs-pmf-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;margin:0}
[data-fs-theme='mane-studio'] .fs-pmf-dt{font-weight:700;font-size:10px;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--c-ink-700))}
[data-fs-theme='mane-studio'] .fs-pmf-dd{margin:3px 0 0;font-weight:700;font-size:14.5px;line-height:1.2;color:rgb(var(--c-ink-950))}
[data-fs-theme='mane-studio'] .fs-pmf-tel{color:inherit;text-decoration:none}
[data-fs-theme='mane-studio'] .fs-pmf-discs{display:inline-flex;gap:4px;margin-top:10px}
[data-fs-theme='mane-studio'] .fs-pmf-disc{display:block;width:12px;height:12px;border-radius:50%;border:1px solid rgb(var(--c-ink-950) / .18)}
[data-fs-theme='mane-studio'] .fs-pmf-disc:nth-child(1){background:color-mix(in srgb, rgb(var(--c-brand-600)) 55%, rgb(var(--c-ink-950)))}
[data-fs-theme='mane-studio'] .fs-pmf-disc:nth-child(2){background:color-mix(in srgb, rgb(var(--c-brand-600)) 78%, rgb(var(--c-ink-950)))}
[data-fs-theme='mane-studio'] .fs-pmf-disc:nth-child(3){background:rgb(var(--c-brand-600))}
[data-fs-theme='mane-studio'] .fs-pmf-disc:nth-child(4){background:color-mix(in srgb, rgb(var(--c-brand-600)) 72%, rgb(var(--c-paper)))}
[data-fs-theme='mane-studio'] .fs-pmf-disc:nth-child(5){background:color-mix(in srgb, rgb(var(--c-brand-600)) 46%, rgb(var(--c-paper)))}
[data-fs-theme='mane-studio'] .fs-pmf-disc:nth-child(6){background:color-mix(in srgb, rgb(var(--c-brand-600)) 24%, rgb(var(--c-paper)))}
[data-fs-theme='mane-studio'] .fs-pmf-cta{display:flex;justify-content:center;width:100%}

/* ── The "What we do" mega panel — the colour record card ── */
[data-fs-theme='mane-studio'] .fs-mnm-card{container-type:inline-size;position:relative;margin-top:18px;padding:28px 30px 18px;background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-ink-950) / .42);border-radius:18px;box-shadow:0 30px 60px -26px rgb(var(--c-ink-950) / .45)}
[data-fs-theme='mane-studio'] .fs-mnm-tab{position:absolute;top:-19px;left:28px;padding:5px 15px 4px;border:1px solid var(--ms-deep);border-bottom:0;border-radius:9px 9px 0 0;background:var(--ms-deep);color:rgb(var(--c-paper));font-weight:700;font-size:10.5px;line-height:1.2;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}
[data-fs-theme='mane-studio'] .fs-mnm-meta{display:flex;flex-wrap:wrap;gap:6px 28px;padding-bottom:12px;border-bottom:1px solid rgb(var(--c-ink-950) / .15)}
[data-fs-theme='mane-studio'] .fs-mnm-mrow{display:inline-flex;align-items:baseline;gap:8px}
[data-fs-theme='mane-studio'] .fs-mnm-mk{font-weight:700;font-size:10px;line-height:1.2;letter-spacing:.15em;text-transform:uppercase;color:rgb(var(--c-ink-700))}
[data-fs-theme='mane-studio'] .fs-mnm-mv{font-weight:600;font-size:13.5px;line-height:1.2}
[data-fs-theme='mane-studio'] .fs-mnm-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:30px;margin-top:16px}
[data-fs-theme='mane-studio'] .fs-mnm-mx{border-top:1px solid rgb(var(--c-ink-950) / .42)}
[data-fs-theme='mane-studio'] .fs-mnm-mxh,[data-fs-theme='mane-studio'] .fs-mnm-mxr{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,.8fr));gap:10px;align-items:baseline;padding:10px 4px;border-bottom:1px solid rgb(var(--c-ink-950) / .15)}
[data-fs-theme='mane-studio'] .fs-mnm-mxh{font-weight:700;font-size:10px;line-height:1.25;letter-spacing:.12em;text-transform:uppercase;color:rgb(var(--c-ink-700))}
[data-fs-theme='mane-studio'] .fs-mnm-mxh-c+.fs-mnm-mxh-c,[data-fs-theme='mane-studio'] .fs-mnm-price{text-align:right}
[data-fs-theme='mane-studio'] .fs-mnm-mxr:hover{background:color-mix(in srgb, rgb(var(--c-brand-600)) 8%, transparent)}
[data-fs-theme='mane-studio'] .fs-mnm-svc{font-weight:600;font-size:14.5px}
[data-fs-theme='mane-studio'] .fs-mnm-price{font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:15px;line-height:1;font-variant-numeric:tabular-nums}
[data-fs-theme='mane-studio'] .fs-mnm-book{padding-top:1px}
[data-fs-theme='mane-studio'] .fs-mnm-person{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding-block:9px;border-bottom:1px solid rgb(var(--c-ink-950) / .15)}
[data-fs-theme='mane-studio'] .fs-mnm-person:first-of-type{margin-top:8px;border-top:1px solid rgb(var(--c-ink-950) / .42)}
[data-fs-theme='mane-studio'] .fs-mnm-pn{font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:15px;line-height:1.2}
[data-fs-theme='mane-studio'] .fs-mnm-pr{grid-column:2;grid-row:1;align-self:baseline}
[data-fs-theme='mane-studio'] .fs-mnm-pd{font-weight:600;font-size:12.5px;line-height:1.3;color:var(--ms-deep)}
[data-fs-theme='mane-studio'] .fs-mnm-pw{grid-column:2;grid-row:2;font-size:12.5px;color:rgb(var(--c-ink-700));text-align:right}
[data-fs-theme='mane-studio'] .fs-mnm-ladder{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin-top:14px;padding-top:12px;border-top:1px solid rgb(var(--c-ink-950) / .15)}
[data-fs-theme='mane-studio'] .fs-mnm-discs{display:inline-flex;gap:4px}
[data-fs-theme='mane-studio'] .fs-mnm-disc{display:block;width:12px;height:12px;border-radius:50%;border:1px solid rgb(var(--c-ink-950) / .18)}
[data-fs-theme='mane-studio'] .fs-mnm-discs.is-big{gap:6px}
[data-fs-theme='mane-studio'] .fs-mnm-discs.is-big .fs-mnm-disc{width:20px;height:20px}
[data-fs-theme='mane-studio'] .fs-mnm-disc:nth-child(1){background:color-mix(in srgb, rgb(var(--c-brand-600)) 55%, rgb(var(--c-ink-950)))}
[data-fs-theme='mane-studio'] .fs-mnm-disc:nth-child(2){background:color-mix(in srgb, rgb(var(--c-brand-600)) 78%, rgb(var(--c-ink-950)))}
[data-fs-theme='mane-studio'] .fs-mnm-disc:nth-child(3){background:rgb(var(--c-brand-600))}
[data-fs-theme='mane-studio'] .fs-mnm-disc:nth-child(4){background:color-mix(in srgb, rgb(var(--c-brand-600)) 72%, rgb(var(--c-paper)))}
[data-fs-theme='mane-studio'] .fs-mnm-disc:nth-child(5){background:color-mix(in srgb, rgb(var(--c-brand-600)) 46%, rgb(var(--c-paper)))}
[data-fs-theme='mane-studio'] .fs-mnm-disc:nth-child(6){background:color-mix(in srgb, rgb(var(--c-brand-600)) 24%, rgb(var(--c-paper)))}
[data-fs-theme='mane-studio'] .fs-mnm-more{margin-left:auto;font-weight:800;font-size:13.5px;text-decoration:none;border-bottom:1.5px solid rgb(var(--c-brand-600))}
/* Ruling R1 (controller): collapse the matrix/book grid to one column
   only at 30rem — not 50rem/44rem. The narrowest wide panel under the
   "minimal" layout (approx 736px, i.e. 46rem) still comfortably holds
   both. */
@container (max-width: 30rem){
  [data-fs-theme='mane-studio'] .fs-mnm-grid{grid-template-columns:1fr}
  [data-fs-theme='mane-studio'] .fs-mnm-book{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}
}
/* Phone menu: the card with its tab; the matrix becomes rows — service,
   then three prices — with the length labels on the first row only.
   Meta, column book and ladder hidden (design notes). */
[data-fs-theme='mane-studio'] .fs-hdr-mobile .fs-mnm-meta,
[data-fs-theme='mane-studio'] .fs-hdr-mobile .fs-mnm-book,
[data-fs-theme='mane-studio'] .fs-hdr-mobile .fs-mnm-ladder,
[data-fs-theme='mane-studio'] .fs-hdr-mobile .fs-mnm-mxh{display:none}
[data-fs-theme='mane-studio'] .fs-hdr-mobile .fs-mnm-mxr{grid-template-columns:1fr repeat(3,auto);gap:4px 12px}
[data-fs-theme='mane-studio'] .fs-hdr-mobile .fs-mnm-mxr:first-of-type .fs-mnm-price::before{content:attr(data-l);display:block;margin-bottom:3px;font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--c-ink-700))}
@media (prefers-reduced-motion: reduce){
  [data-fs-theme='mane-studio'] .fs-mnm-mxr,[data-fs-theme='mane-studio'] .fs-mnm-more{transition:none}
}


/* Tokens (mockup 53–54), FULL colours. --en-sub: the design's own
   secondary ink; --en-gilt(-r/-f): the accent, only ever a rule, ring or
   keyline (3.3:1 on ivory); --en-plaque/--en-brass-ink: a deep brass
   (accent 62% into ink) that carries paper type, the accent itself in
   dark mode; --en-fascia: the strip board, brand in light, a deep tint
   of the dark brand in dark. */
[data-fs-theme='enamel']{--fs-chrome-mode:light;--en-rule:rgb(var(--c-ink-950) / .15);--en-sub:color-mix(in srgb, rgb(var(--c-ink-950)) 77%, rgb(var(--c-paper)));--en-tint:rgb(var(--c-brand-600) / .07);--en-ring:rgb(var(--c-paper) / .78);--en-plaque:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 62%, rgb(var(--c-ink-950)));--en-brass-ink:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 62%, rgb(var(--c-ink-950)));--en-fascia:rgb(var(--c-brand-600));--en-on-fascia:rgb(var(--c-paper));--en-gilt:rgb(var(--c-accent, var(--c-brand-600)));--en-gilt-r:rgb(var(--c-accent, var(--c-brand-600)) / .75);--en-gilt-f:rgb(var(--c-accent, var(--c-brand-600)) / .38)}
[data-fs-theme='enamel'].dark{--fs-chrome-mode:dark;--en-sub:color-mix(in srgb, rgb(var(--c-ink-950)) 70%, rgb(var(--c-paper)));--en-tint:rgb(var(--c-brand-600) / .1);--en-ring:rgb(var(--c-paper) / .7);--en-plaque:rgb(var(--c-accent, var(--c-brand-600)));--en-brass-ink:rgb(var(--c-accent, var(--c-brand-600)));--en-fascia:color-mix(in srgb, rgb(var(--c-brand-600)) 18%, rgb(var(--c-paper)));--en-on-fascia:rgb(var(--c-ink-950));--en-gilt-r:rgb(var(--c-accent, var(--c-brand-600)) / .7);--en-gilt-f:rgb(var(--c-accent, var(--c-brand-600)) / .34)}
/* The fascia strip: a gilt keyline 4px above its foot, a hollow gilt
   oval before the note, the phone in Caslon. --en-strip-gap is the
   mockup's own 28px everywhere except a narrow container range (fix
   round 2): the live probe measured the editor's own tablet canvas
   (a container width of roughly 775–790px) wrapping to two lines at
   28px — the platform's own item font-size is bigger than the theme's
   own 12px on .fs-hdr-util suggests (that 12px is inherited by
   .fs-hdr-util-in's children only as a LINE-HEIGHT ratio; each item's
   own font-size comes from the platform's base item class instead) —
   so the gap only tightens to 14px inside that one failing range
   (@container max-width: 50rem, comfortably above the ~790px crossover
   measured live), never at Full/Theme/Boxed/Centered or any ordinary
   desktop width, which all measure well above it and keep the spec's
   28px. .fs-hdr-util-tel's line-height is 1.2 (not the mockup's 1) at
   every width: at 1 its box is shorter than the other two items', so
   align-items:center gave it a different (rounded) top even on the
   same visual line — this one is a one-line vertical-centering fix
   with no visible width dependency, so it stays global. */
[data-fs-theme='enamel'] .fs-hdr-util{container-type:inline-size;background:linear-gradient(var(--en-gilt-r),var(--en-gilt-r)) 0 calc(100% - 4px)/100% 1px no-repeat,var(--en-fascia);color:var(--en-on-fascia);font-weight:500;font-size:12px;line-height:1.2;letter-spacing:.14em;text-transform:uppercase}
[data-fs-theme='enamel'] .fs-hdr-util-in{display:flex;align-items:center;gap:28px;min-height:0;padding-block:10px 13px;border-bottom:0;color:inherit}
[data-fs-theme='enamel'] .fs-hdr-util-note{order:-1;display:inline-flex;align-items:center;gap:10px;margin-right:auto}
[data-fs-theme='enamel'] .fs-hdr-util-note::before{content:"";flex:none;width:12px;height:7px;border-radius:50%;border:1.5px solid var(--en-gilt)}
[data-fs-theme='enamel'] .fs-hdr-util-dot{display:none}
[data-fs-theme='enamel'] .fs-hdr-util-tel{margin-left:0;font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:14.5px;line-height:1.2;letter-spacing:.05em;text-transform:none;color:inherit}
@container (max-width: 50rem){
  [data-fs-theme='enamel'] .fs-hdr-util-in{gap:14px}
}
@container (max-width: 40rem){
  [data-fs-theme='enamel'] .fs-hdr-util-in{display:flex;justify-content:center}
  [data-fs-theme='enamel'] .fs-hdr-util-item:not(.fs-hdr-util-tel){display:none}
}
/* The band: a named container (the desktop gate for the row tiers) that
   ends in the gilt double rule with its centre oval, PAINTED as its last
   16px — no positioned child of the sticky band draws it. */
[data-fs-theme='enamel'] .fs-hdr-band{container-type:inline-size;container-name:fs-band;border-bottom-width:0;padding-bottom:16px;background:radial-gradient(6.5px 3px at 50% calc(100% - 8px),rgb(var(--c-paper)) 96%,transparent 100%),radial-gradient(8.5px 4.8px at 50% calc(100% - 8px),var(--en-gilt) 96%,transparent 100%),linear-gradient(var(--en-gilt-r),var(--en-gilt-r)) 0 calc(100% - 11px)/100% 1px no-repeat,linear-gradient(var(--en-gilt-r),var(--en-gilt-r)) 0 calc(100% - 6px)/100% 1px no-repeat,rgb(var(--c-paper))}
[data-fs-theme='enamel'] .fs-hdr-row{min-height:clamp(70px, (100cqi - 760px) * 100, 86px)}
/* The lockup: the enamel oval (a 48px box = the design's 40px-tall oval)
   and the name in Caslon bold 21px; links and button grouped right. */
[data-fs-theme='enamel'] .fs-hdr-row > :first-child{gap:12px;margin-right:auto;padding-right:20px}
[data-fs-theme='enamel'] .fs-hdr-row [data-fs-logo-mark]{width:48px;height:48px}
[data-fs-theme='enamel'] .fs-hdr-row [data-fs-wordmark]{font-size:21px;line-height:1;letter-spacing:.012em;white-space:nowrap}
/* The button: the Guild's engraved enamel panel set in a gilt frame. */
[data-fs-theme='enamel'] .fs-hdr-cta{--fs-hdr-cta-bg:rgb(var(--c-brand-600));--fs-hdr-cta-fg:rgb(var(--c-paper));--fs-hdr-cta-bg-hover:rgb(var(--c-brand-600));--fs-hdr-cta-fg-hover:rgb(var(--c-paper))}
[data-fs-theme='enamel'] .fs-hdr-cta.fs-hdr-cta{flex:none;padding:15px 22px 14px;border-radius:0;font-weight:700;font-size:14.5px;line-height:1;letter-spacing:.06em;white-space:nowrap;box-shadow:inset 0 0 0 1px var(--en-ring),0 0 0 2px rgb(var(--c-paper)),0 0 0 3.5px var(--en-gilt);transition:filter .2s ease}
[data-fs-theme='enamel'] .fs-hdr-cta.fs-hdr-cta:hover{filter:brightness(1.08)}
[data-fs-theme='enamel'] .fs-hdr-row .fs-hdr-cta{margin-left:24px}
/* The menu button: a 58x44 enamel oval with three paper lines (the
   middle one short), drawn as backgrounds; the lucide icon is hidden. */
[data-fs-theme='enamel'] .fs-hdr-menu-btn{width:58px;height:44px;margin-left:16px;border-radius:50%;background:linear-gradient(rgb(var(--c-paper)),rgb(var(--c-paper))) center calc(50% - 5.5px)/18px 1.5px no-repeat,linear-gradient(rgb(var(--c-paper)),rgb(var(--c-paper))) center/11px 1.5px no-repeat,linear-gradient(rgb(var(--c-paper)),rgb(var(--c-paper))) center calc(50% + 5.5px)/18px 1.5px no-repeat,rgb(var(--c-brand-600));box-shadow:inset 0 0 0 3.5px rgb(var(--c-brand-600)),inset 0 0 0 4.5px var(--en-ring)}
[data-fs-theme='enamel'] .fs-hdr-menu-btn svg{display:none}
/* The mega shell: no frame of its own (the composite draws the sign),
   26px below the row (clear of the 16px rule), the composite's shadow. */
[data-fs-theme='enamel'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite){margin-top:26px !important;background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:0 30px 60px -26px rgb(0 0 0 / .5) !important}
[data-fs-theme='enamel'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite)::before{top:-26px;height:26px}
/* Layout tiers (mockup 227–259). Desktop only: a tablet row (720) holds
   no nav and keeps the full-size logo and button.
   R17 (final batch2 fix pass, 2026-09-30): the Centered and Minimalist
   button values were tightened past the mockup's own static figures
   after the live probe measured a 10px/24px spill — but that spill was
   measured on /preview/view, whose row carries an extra gap-5 px-7
   (TemplateViewClient.tsx) neither the editor nor the published site
   apply to their .fs-hdr-row (px-6, no gap). The button's margin is now
   kept well clear of zero at every tier (a positive margin can only ever
   shrink the button's own gap, never overlap the nav beside it); the
   rest of what the probe still needs comes from the button's own
   padding/font-size, never a margin pulled to (or past) zero. Verified
   live: 0px spill on /preview/view at every tier x 1280/1440, and a
   real, unforced gap ahead of the last nav item on /preview/editor at
   the same combinations. */
@container fs-band (min-width: 62rem){
  /* Boxed (row 880). */
  @container (max-width: 60rem){
    [data-fs-theme='enamel'] .fs-hdr-row > :first-child{gap:10px;padding-right:12px}
    [data-fs-theme='enamel'] .fs-hdr-row [data-fs-logo-mark]{width:43px;height:43px}
    [data-fs-theme='enamel'] .fs-hdr-row [data-fs-wordmark]{font-size:18px}
    [data-fs-theme='enamel'] .fsmenu-enamelSign-nav{--en-gap:0px}
    [data-fs-theme='enamel'] .fsmenu-enamelSign{--en-px:12px;--en-fs:15px;--en-track:0em}
    [data-fs-theme='enamel'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:16px;padding-inline:16px;letter-spacing:.04em}
  }
  /* Centered (784): the name stacks beside the oval, like a signboard. */
  @container (max-width: 50rem){
    [data-fs-theme='enamel'] .fs-hdr-row [data-fs-logo-mark]{width:41px;height:41px}
    [data-fs-theme='enamel'] .fs-hdr-row [data-fs-wordmark]{max-width:6.2em;font-size:17px;line-height:1.04;white-space:normal}
    [data-fs-theme='enamel'] .fsmenu-enamelSign{--en-px:11px;--en-fs:14.5px}
    [data-fs-theme='enamel'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:6px;padding:13px 6px 12px;font-size:13.5px;letter-spacing:.03em}
  }
  /* Minimalist (688), the tightest. The frame and the ovals stay. */
  @container (max-width: 44rem){
    [data-fs-theme='enamel'] .fs-hdr-row > :first-child{gap:8px;padding-right:6px}
    [data-fs-theme='enamel'] .fs-hdr-row [data-fs-logo-mark]{width:36px;height:36px}
    [data-fs-theme='enamel'] .fs-hdr-row [data-fs-wordmark]{font-size:16px}
    [data-fs-theme='enamel'] .fsmenu-enamelSign{--en-px:9px;--en-fs:13px;gap:6px}
    [data-fs-theme='enamel'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:4px;padding-inline:3px;font-size:12.5px;letter-spacing:.02em}
  }
}
/* Phones: the platform hides the button at row 34rem; the lockup steps down. */
@container (max-width: 34rem){
  [data-fs-theme='enamel'] .fs-hdr-row [data-fs-logo-mark]{width:38px;height:38px}
  [data-fs-theme='enamel'] .fs-hdr-row [data-fs-wordmark]{font-size:17.5px}
}
/* R16 (theme-chrome fix round 2, precedent in counsel/hale/plateful/
   mane-studio-chrome-styles.ts): the read-only preview alone renders a
   fixed-width "Edit Template" link plus a visitor dark/light toggle
   (TemplateViewClient.tsx), present on no real site. Measured: Enamel's
   own 58x44 oval menu button (larger than the platform's default) needs
   more headroom than the other themes' fix rounds assumed, so this
   theme needs BOTH steps rather than one. At the preview's own 390px
   width, hiding the mode toggle alone already clears the menu button;
   at 320px neither alone is enough and both are needed together — the
   brand MARK (data-fs-logo-mark) stays throughout, so the header is
   never unbranded, even on this one preview-only, extreme-narrow case.
   [data-fs-preview-edit] is the stable, surface-only hook the Edit
   Template link alone carries; :has() reaches up from it so only a row
   that actually contains it is affected — published and editor markup
   never has the hook. */
@container (max-width: 34rem){
  [data-fs-theme='enamel'] .fs-hdr-row:has([data-fs-preview-edit]) .fs-hdr-mode{display:none}
}
@container (max-width: 22rem){
  [data-fs-theme='enamel'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{display:none}
}

/* ── Phone menu ── Ivory; "Menu" in a gilt lozenge; the close button a
   small enamel oval; the gilt double rule painted under both; Caslon
   links with no rules between them; the current page in its oval. */
[data-fs-theme='enamel'] .fs-hdr-mobile-head{height:auto;padding:16px 18px 24px;border-bottom:0;background:radial-gradient(6.5px 3px at 50% calc(100% - 5px),rgb(var(--c-paper)) 96%,transparent 100%),radial-gradient(8.5px 4.8px at 50% calc(100% - 5px),var(--en-gilt) 96%,transparent 100%),linear-gradient(var(--en-gilt-r),var(--en-gilt-r)) 18px calc(100% - 7px)/calc(100% - 36px) 1px no-repeat,linear-gradient(var(--en-gilt-r),var(--en-gilt-r)) 18px calc(100% - 2px)/calc(100% - 36px) 1px no-repeat,rgb(var(--c-paper))}
[data-fs-theme='enamel'] .fs-hdr-mobile-title{display:inline-flex;align-items:center;padding:7px 16px 6px;border-radius:999px;border:1.5px solid var(--en-gilt);font-family:inherit;font-weight:700;font-size:11.5px;line-height:1;letter-spacing:.17em;text-transform:uppercase;color:rgb(var(--c-ink-950))}
[data-fs-theme='enamel'] .fs-hdr-mobile-close{width:54px;height:42px;border-radius:50%;background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));box-shadow:inset 0 0 0 3.5px rgb(var(--c-brand-600)),inset 0 0 0 4.5px var(--en-ring)}
[data-fs-theme='enamel'] .fs-hdr-mobile-close svg{width:16px;height:16px}
[data-fs-theme='enamel'] .fs-hdr-mobile > nav{padding:12px 18px 0}
[data-fs-theme='enamel'] .fs-hdr-mobile-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
[data-fs-theme='enamel'] .fs-hdr-mobile-link:not(.is-sub){padding:11px 4px;font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:23px;line-height:1.2;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='enamel'] .fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false']){margin-left:-6px;padding:13px 24px 12px;border-radius:50%;background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));box-shadow:inset 0 0 0 3.5px rgb(var(--c-brand-600)),inset 0 0 0 4.5px var(--en-ring)}
[data-fs-theme='enamel'] .fs-hdr-mobile-toggle{margin-right:10px;color:rgb(var(--c-ink-950))}
[data-fs-theme='enamel'] .fs-hdr-mobile-sub{padding:4px 0 10px}

/* ── Phone-menu bottom section ── The phone and hours on a brass plaque
   (engraved keyline, slow glint), then the framed enamel button, full
   width. No fixed words. */
[data-fs-theme='enamel'] .fs-pmf-enamel{display:grid;gap:18px;margin-top:auto;padding:22px 0 24px}
[data-fs-theme='enamel'] .fs-pmf-plaque{position:relative;overflow:hidden;display:grid;justify-items:center;gap:7px;padding:20px 16px 18px;text-align:center;background:var(--en-plaque);color:rgb(var(--c-paper));box-shadow:0 14px 30px -16px rgb(0 0 0 / .55)}
[data-fs-theme='enamel'] .fs-pmf-plaque::before{content:"";position:absolute;inset:5px;border:1px solid rgb(var(--c-paper) / .62);pointer-events:none}
[data-fs-theme='enamel'] .fs-pmf-plaque::after{content:"";position:absolute;top:-30%;bottom:-30%;left:-25%;width:18%;background:linear-gradient(105deg,transparent,rgb(255 255 255 / .2),transparent);transform:translateX(-120%) rotate(8deg);animation:enamel-glint 7s ease-in-out infinite;pointer-events:none}
[data-fs-theme='enamel'] .fs-pmf-plaque > *{position:relative}
[data-fs-theme='enamel'] .fs-pmf-big{margin:0;font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:29px;line-height:1;letter-spacing:.02em}
[data-fs-theme='enamel'] .fs-pmf-hours{margin:0;font-weight:700;font-size:11px;line-height:1.4;letter-spacing:.15em;text-transform:uppercase}
[data-fs-theme='enamel'] .fs-pmf-tel{color:inherit;text-decoration:none}
[data-fs-theme='enamel'] .fs-pmf .fs-hdr-cta.fs-pmf-cta{display:flex;width:100%;margin:0;padding-block:17px 16px;font-size:15px}
@keyframes enamel-glint{0%,74%{transform:translateX(-120%) rotate(8deg)}88%,100%{transform:translateX(820%) rotate(8deg)}}

/* ── The Treatments mega panel — the treatment map in miniature ──
   Ported from the mockup's shared devices (61–75: the gilt double rule,
   the lozenge, the enamel oval, the brass plaque, the link) and its own
   panel rules (115–157), onto the platform's colour and font tokens. */
[data-fs-theme='enamel'] .fs-enm-panel{container-type:inline-size;position:relative;padding:20px 28px 22px;background:rgb(var(--c-paper));border:1.5px solid var(--en-gilt-r)}
[data-fs-theme='enamel'] .fs-enm-panel::before{content:"";position:absolute;inset:6px;border:1px solid var(--en-gilt-f);pointer-events:none}
[data-fs-theme='enamel'] .fs-enm-rule{--rb:rgb(var(--c-paper));height:10px;background:radial-gradient(6.5px 3px at 50% 50%,var(--rb) 96%,transparent 100%),radial-gradient(8.5px 4.8px at 50% 50%,var(--en-gilt) 96%,transparent 100%),linear-gradient(var(--en-gilt-r),var(--en-gilt-r)) 0 2px/100% 1px no-repeat,linear-gradient(var(--en-gilt-r),var(--en-gilt-r)) 0 7px/100% 1px no-repeat}
[data-fs-theme='enamel'] .fs-enm-panel > .fs-enm-rule{margin:16px 0 18px}
[data-fs-theme='enamel'] .fs-enm-lozenge{display:inline-flex;align-items:center;padding:7px 16px 6px;border-radius:999px;border:1.5px solid var(--en-gilt);color:rgb(var(--c-ink-950));font-weight:700;font-size:11.5px;line-height:1;letter-spacing:.17em;text-transform:uppercase;white-space:nowrap}
[data-fs-theme='enamel'] .fs-enm-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 20px}
[data-fs-theme='enamel'] .fs-enm-ref{font-style:italic;font-weight:400;font-size:15px;line-height:1.35;font-family:var(--font-display, Georgia, serif);color:var(--en-sub)}
[data-fs-theme='enamel'] .fs-enm-grid{display:grid;grid-template-columns:184px minmax(0,1fr) minmax(0,288px);gap:22px 40px;align-items:start}
[data-fs-theme='enamel'] .fs-enm-arch{align-self:center;padding-bottom:6px}
[data-fs-theme='enamel'] .fs-enm-arch svg{display:block;width:100%;height:auto;overflow:visible}
[data-fs-theme='enamel'] .fs-enm-gum{fill:none;stroke:var(--en-gilt);stroke-width:3;stroke-dasharray:1 9;stroke-linecap:round}
[data-fs-theme='enamel'] .fs-enm-ar path{fill:rgb(var(--c-brand-600) / .1);stroke:rgb(var(--c-brand-600) / .55);stroke-width:2.4;transition:fill .2s ease,stroke .2s ease}
[data-fs-theme='enamel'] .fs-enm-ar text{fill:rgb(var(--c-brand-text));font-weight:700;font-size:30px;font-family:var(--font-display, Georgia, serif);text-anchor:middle}
[data-fs-theme='enamel'] .fs-enm-regions{list-style:none;margin:0;padding:0;counter-reset:enm}
[data-fs-theme='enamel'] .fs-enm-reg{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:14px;padding:11px 8px;border-bottom:1px solid var(--en-rule);transition:background-color .2s ease}
[data-fs-theme='enamel'] .fs-enm-reg:hover{background:var(--en-tint)}
[data-fs-theme='enamel'] .fs-enm-num{display:grid;place-items:center;width:38px;height:29px;font-weight:700;font-size:14px;line-height:1;font-family:var(--font-display, Georgia, serif);border-radius:50%;background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));box-shadow:inset 0 0 0 3.5px rgb(var(--c-brand-600)),inset 0 0 0 4.5px var(--en-ring)}
[data-fs-theme='enamel'] .fs-enm-num::before{counter-increment:enm;content:counter(enm);padding-top:2px}
[data-fs-theme='enamel'] .fs-enm-rname{font-weight:700;font-size:18px;line-height:1.2;font-family:var(--font-display, Georgia, serif);color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='enamel'] .fs-enm-rname:hover{text-decoration:underline 1.5px var(--en-gilt);text-underline-offset:4px}
[data-fs-theme='enamel'] .fs-enm-rs{margin:3px 0 0;max-width:46ch;font-size:14px;line-height:1.45;color:var(--en-sub)}
[data-fs-theme='enamel'] .fs-enm-fee{margin:0;text-align:right;white-space:nowrap}
[data-fs-theme='enamel'] .fs-enm-from{display:block;font-weight:700;font-size:10.5px;line-height:1;letter-spacing:.15em;text-transform:uppercase;color:var(--en-brass-ink)}
[data-fs-theme='enamel'] .fs-enm-feev{display:block;margin-top:4px;font-weight:700;font-size:22px;line-height:1;font-family:var(--font-display, Georgia, serif);color:rgb(var(--c-brand-text))}
/* Hovering a region's row lights its part of the arch (CSS :has(), no script). */
[data-fs-theme='enamel'] .fs-enm-panel:has(.fs-enm-reg[data-r='1']:hover) .fs-enm-ar[data-r='1'] path,
[data-fs-theme='enamel'] .fs-enm-panel:has(.fs-enm-reg[data-r='2']:hover) .fs-enm-ar[data-r='2'] path,
[data-fs-theme='enamel'] .fs-enm-panel:has(.fs-enm-reg[data-r='3']:hover) .fs-enm-ar[data-r='3'] path,
[data-fs-theme='enamel'] .fs-enm-panel:has(.fs-enm-reg[data-r='4']:hover) .fs-enm-ar[data-r='4'] path{fill:rgb(var(--c-brand-600) / .32);stroke:rgb(var(--c-brand-600))}
[data-fs-theme='enamel'] .fs-enm-side{display:grid;gap:16px;align-content:start}
[data-fs-theme='enamel'] .fs-enm-plaque{position:relative;overflow:hidden;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:end;column-gap:12px;padding:18px 20px 19px;background:var(--en-plaque);color:rgb(var(--c-paper));box-shadow:0 14px 30px -16px rgb(0 0 0 / .55)}
[data-fs-theme='enamel'] .fs-enm-plaque::before{content:"";position:absolute;inset:5px;border:1px solid rgb(var(--c-paper) / .62);pointer-events:none}
[data-fs-theme='enamel'] .fs-enm-plaque::after{content:"";position:absolute;top:-30%;bottom:-30%;left:-25%;width:18%;background:linear-gradient(105deg,transparent,rgb(255 255 255 / .2),transparent);transform:translateX(-120%) rotate(8deg);animation:enamel-glint 7s ease-in-out infinite;pointer-events:none}
[data-fs-theme='enamel'] .fs-enm-plaque > *{position:relative}
[data-fs-theme='enamel'] .fs-enm-pl-l{grid-column:1/-1;margin:0;font-weight:700;font-size:11px;line-height:1.3;letter-spacing:.16em;text-transform:uppercase}
[data-fs-theme='enamel'] .fs-enm-pl-fig{margin:8px 0 0;font-weight:700;font-size:38px;line-height:1;font-family:var(--font-display, Georgia, serif)}
[data-fs-theme='enamel'] .fs-enm-pl-s{margin:0;padding-bottom:4px;font-size:14px}
[data-fs-theme='enamel'] .fs-enm-pl-n{grid-column:1/-1;margin:13px 0 0;padding-top:12px;border-top:1px solid rgb(var(--c-paper) / .45);font-size:14.5px;line-height:1.45}
[data-fs-theme='enamel'] .fs-enm-newp{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:end;column-gap:12px;padding-inline:2px}
[data-fs-theme='enamel'] .fs-enm-np-l{grid-column:1/-1;margin:0;font-weight:700;font-size:11px;line-height:1.3;letter-spacing:.16em;text-transform:uppercase;color:var(--en-brass-ink)}
[data-fs-theme='enamel'] .fs-enm-np-fig{margin:8px 0 0;font-weight:700;font-size:32px;line-height:1;font-family:var(--font-display, Georgia, serif);color:rgb(var(--c-brand-text))}
[data-fs-theme='enamel'] .fs-enm-np-s{margin:0;padding-bottom:3px;font-size:14px;line-height:1.3;color:rgb(var(--c-ink-950))}
[data-fs-theme='enamel'] .fs-enm-np-n{grid-column:1/-1;margin:8px 0 0;font-size:14px;line-height:1.5;color:var(--en-sub)}
[data-fs-theme='enamel'] .fs-enm-base{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;margin-top:18px}
[data-fs-theme='enamel'] .fs-enm-note{margin:0;font-style:italic;font-weight:400;font-size:14.5px;line-height:1.45;font-family:var(--font-display, Georgia, serif);color:var(--en-sub)}
[data-fs-theme='enamel'] .fs-enm-link{display:inline-flex;align-items:baseline;gap:7px;font-weight:700;font-size:14.5px;line-height:1.3;letter-spacing:.03em;color:rgb(var(--c-brand-text));text-decoration:underline 1.5px var(--en-gilt);text-underline-offset:5px;white-space:nowrap}
[data-fs-theme='enamel'] .fs-enm-link::after{content:"→";text-decoration:none}
/* The panel matches the menu bar (688–1392px) and reflows on its own box
   (content = panel − edges − 56px padding: 1334 / 1174 / 1094 / 822 /
   726 / 630; phone-menu copies 698 and 320). */
@container (min-width: 76rem){
  [data-fs-theme='enamel'] .fs-enm-grid{grid-template-columns:232px minmax(0,1fr) minmax(0,336px);column-gap:56px}
  [data-fs-theme='enamel'] .fs-enm-reg{padding-block:13px 12px;column-gap:18px}
  [data-fs-theme='enamel'] .fs-enm-rname{font-size:19px}
}
@container (max-width: 60rem){
  [data-fs-theme='enamel'] .fs-enm-grid{grid-template-columns:156px minmax(0,1fr);gap:20px 30px}
  [data-fs-theme='enamel'] .fs-enm-side{grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,15rem);align-items:center;column-gap:30px}
  [data-fs-theme='enamel'] .fs-enm-side > .fs-enm-rule{display:none}
  [data-fs-theme='enamel'] .fs-enm-plaque{grid-template-columns:auto auto minmax(0,1fr);align-items:center;column-gap:18px;padding:17px 24px 16px}
  [data-fs-theme='enamel'] .fs-enm-pl-fig{margin-top:4px;font-size:36px}
  [data-fs-theme='enamel'] .fs-enm-pl-s{align-self:end;margin-top:4px}
  [data-fs-theme='enamel'] .fs-enm-pl-n{grid-row:2;grid-column:3;margin:0;padding:0 0 0 18px;border-top:0;border-left:1px solid rgb(var(--c-paper) / .45)}
}
@container (max-width: 46rem){
  [data-fs-theme='enamel'] .fs-enm-side{grid-template-columns:minmax(0,1fr)}
  [data-fs-theme='enamel'] .fs-enm-newp{display:none}
}
@container (max-width: 30rem){
  [data-fs-theme='enamel'] .fs-enm-grid{grid-template-columns:minmax(0,1fr)}
  [data-fs-theme='enamel'] .fs-enm-arch{display:none}
  [data-fs-theme='enamel'] .fs-enm-plaque{grid-template-columns:auto minmax(0,1fr)}
  [data-fs-theme='enamel'] .fs-enm-plaque .fs-enm-pl-n{grid-row:3;grid-column:1/-1;margin-top:10px;padding:10px 0 0;border-left:0;border-top:1px solid rgb(var(--c-paper) / .45)}
  [data-fs-theme='enamel'] .fs-enm-reg{padding-inline:2px;column-gap:12px}
  [data-fs-theme='enamel'] .fs-enm-rname{font-size:17px}
}
/* The same composite in the phone menu: the side column (the foot has
   the phone), the region descriptions, the ref and the note leave. */
[data-fs-theme='enamel'] .fs-hdr-mobile .fs-enm-panel{padding:14px 16px 16px}
[data-fs-theme='enamel'] .fs-hdr-mobile :is(.fs-enm-side,.fs-enm-rs,.fs-enm-ref,.fs-enm-note){display:none}
[data-fs-theme='enamel'] .fs-hdr-mobile .fs-enm-panel > .fs-enm-rule{margin:12px 0 10px}
[data-fs-theme='enamel'] .fs-hdr-mobile .fs-enm-base{margin-top:12px}
@media (prefers-reduced-motion: reduce){
  [data-fs-theme='enamel'] .fs-hdr-cta,[data-fs-theme='enamel'] .fs-enm-reg,[data-fs-theme='enamel'] .fs-enm-ar path{transition:none}
  [data-fs-theme='enamel'] .fs-enm-plaque::after,[data-fs-theme='enamel'] .fs-pmf-plaque::after{animation:none;display:none}
}


/* Tokens (mockup 44–45). --vn-hair: the soft divider; --vn-sub: the
   design's secondary ink; --vn-rule: the dimension-line ink; --vn-echo:
   the offset keyline; --vn-tint: the current/hover wash. Small labels use
   the platform's solved rgb(var(--c-ink-400)). */
[data-fs-theme='vernier']{--fs-chrome-mode:light;--vn-hair:rgb(var(--c-ink-950) / .15);--vn-sub:color-mix(in srgb, rgb(var(--c-ink-950)) 76%, rgb(var(--c-paper)));--vn-rule:rgb(var(--c-ink-950) / .55);--vn-echo:rgb(var(--c-ink-950) / .28);--vn-tint:rgb(var(--c-brand-600) / .07)}
[data-fs-theme='vernier'].dark{--fs-chrome-mode:dark;--vn-sub:color-mix(in srgb, rgb(var(--c-ink-950)) 73%, rgb(var(--c-paper)));--vn-rule:rgb(var(--c-ink-950) / .5);--vn-echo:rgb(var(--c-ink-950) / .26);--vn-tint:rgb(var(--c-brand-600) / .12)}
/* The strip: paper-soft, sentence case, readings parted by the spec
   strip's vertical hairlines; a brass diamond leads the note. */
[data-fs-theme='vernier'] .fs-hdr-util{container-type:inline-size;background:rgb(var(--c-paper-soft));border-bottom:1px solid var(--vn-hair);font-weight:600;font-size:12.5px;line-height:1.3;font-variant-numeric:tabular-nums}
[data-fs-theme='vernier'] .fs-hdr-util-in{display:flex;align-items:center;gap:0;min-height:0;padding-block:8px;border-bottom:0;color:var(--vn-sub)}
[data-fs-theme='vernier'] .fs-hdr-util-note{order:-1;display:inline-flex;align-items:center;gap:9px;margin-right:auto;padding-right:16px}
[data-fs-theme='vernier'] .fs-hdr-util-note::before{content:"";flex:none;width:7px;height:7px;background:rgb(var(--c-accent, var(--c-brand-600)));transform:rotate(45deg)}
[data-fs-theme='vernier'] .fs-hdr-util-dot{display:none}
[data-fs-theme='vernier'] :is(.fs-hdr-util-hours,.fs-hdr-util-address,.fs-hdr-util-tel){margin-left:16px;padding-left:16px;border-left:1.5px solid var(--vn-hair);white-space:nowrap}
[data-fs-theme='vernier'] .fs-hdr-util-tel{font-family:var(--font-display, 'Helvetica Neue', Arial, sans-serif);font-weight:700;font-size:13.5px;letter-spacing:.02em;color:rgb(var(--c-brand-text))}
/* Measured live: the editor's own tablet canvas (a container width of
   roughly 47.9rem) wraps the strip to two lines at the mockup's own
   16px+16px margin/padding per divider — narrower than Full/Theme/Boxed
   or any ordinary desktop width, which all measure above 50rem and keep
   the spec's full spacing. The fix stays local to this one range. */
@container (max-width: 50rem){
  [data-fs-theme='vernier'] :is(.fs-hdr-util-hours,.fs-hdr-util-address,.fs-hdr-util-tel){margin-left:8px;padding-left:8px}
}
@container (max-width: 40rem){
  [data-fs-theme='vernier'] .fs-hdr-util-in{display:flex;justify-content:center}
  [data-fs-theme='vernier'] .fs-hdr-util-item:not(.fs-hdr-util-tel){display:none}
  [data-fs-theme='vernier'] .fs-hdr-util-tel{margin-left:0;padding-left:0;border-left:0}
}
/* The band is the desktop gate; the ROW is the dimension line: its last
   12px carry a 1.5px rule with a tick at each end, inset 8px, painted as
   its own background (never a positioned child). The row's bottom
   padding is zeroed so the nav's spans sit on the line (notes' build
   note); logo, button and menu button sit 12px up, clear of it. */
[data-fs-theme='vernier'] .fs-hdr-band{container-type:inline-size;container-name:fs-band;border-bottom-width:0;background:rgb(var(--c-paper))}
[data-fs-theme='vernier'] .fs-hdr-row{min-height:clamp(70px, (100cqi - 760px) * 100, 82px);padding-bottom:0;align-items:stretch;background:linear-gradient(var(--vn-rule),var(--vn-rule)) 8px calc(100% - 5.25px)/calc(100% - 16px) 1.5px no-repeat,linear-gradient(var(--vn-rule),var(--vn-rule)) 8px 100%/1.5px 12px no-repeat,linear-gradient(var(--vn-rule),var(--vn-rule)) calc(100% - 8px) 100%/1.5px 12px no-repeat}
[data-fs-theme='vernier'] .fs-hdr-row > :first-child{gap:9px;margin-right:auto;padding:0 22px 12px 0}
[data-fs-theme='vernier'] .fs-hdr-row [data-fs-logo-mark]{width:34px;height:34px}
[data-fs-theme='vernier'] .fs-hdr-row [data-fs-wordmark]{font-size:15px;line-height:1;letter-spacing:.2125em;text-transform:uppercase}
/* The button: the theme's outline button as a keyline box with its
   offset echo (a box-shadow ring, so a focus outline still shows) and
   the brass datum on the echo's corner; filled only when touched. */
[data-fs-theme='vernier'] .fs-hdr-cta{--fs-hdr-cta-bg:transparent;--fs-hdr-cta-fg:rgb(var(--c-brand-text));--fs-hdr-cta-bg-hover:rgb(var(--c-brand-600));--fs-hdr-cta-fg-hover:var(--fs-on-brand, rgb(var(--c-paper)))}
[data-fs-theme='vernier'] .fs-hdr-cta.fs-hdr-cta{position:relative;align-self:center;flex:none;padding:11px 18px;border:2px solid rgb(var(--c-brand-600));border-radius:0;font-family:var(--font-display, 'Helvetica Neue', Arial, sans-serif);font-weight:700;font-size:14.5px;line-height:1;letter-spacing:.01em;box-shadow:0 0 0 4px rgb(var(--c-paper)),0 0 0 5.5px var(--vn-echo);transition:background-color .15s ease,color .15s ease}
[data-fs-theme='vernier'] .fs-hdr-cta.fs-hdr-cta::after{content:"";position:absolute;top:-10.75px;right:-10.75px;width:8px;height:8px;background:rgb(var(--c-accent, var(--c-brand-600)));transform:rotate(45deg)}
[data-fs-theme='vernier'] .fs-hdr-row .fs-hdr-cta{margin:0 0 12px 26px}
/* The menu button: a keyline box with its echo; the middle bar is a
   small dimension rule with its brass diamond. */
[data-fs-theme='vernier'] .fs-hdr-menu-btn{position:relative;align-self:center;width:44px;height:44px;margin:0 0 12px 24px;border:1.5px solid rgb(var(--c-ink-950));border-radius:0;box-shadow:0 0 0 3px rgb(var(--c-paper)),0 0 0 4.5px var(--vn-echo);background:linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) center calc(50% - 9.75px)/18px 1.5px no-repeat,linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) center/22px 1.5px no-repeat,linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) calc(50% - 10.25px) center/1.5px 8px no-repeat,linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) calc(50% + 10.25px) center/1.5px 8px no-repeat,linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) center calc(50% + 9.75px)/18px 1.5px no-repeat}
[data-fs-theme='vernier'] .fs-hdr-menu-btn::after{content:"";position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;background:rgb(var(--c-accent, var(--c-brand-600)));transform:rotate(45deg)}
[data-fs-theme='vernier'] .fs-hdr-menu-btn svg{display:none}
[data-fs-theme='vernier'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite){margin-top:12px !important;background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:0 22px 44px -26px rgb(0 0 0 / .4) !important}
[data-fs-theme='vernier'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite)::before{top:-12px;height:12px}
/* Layout tiers (mockup 234–261); desktop only. */
@container fs-band (min-width: 62rem){
  /* Boxed (880). */
  @container (max-width: 60rem){
    [data-fs-theme='vernier'] .fs-hdr-row > :first-child{gap:8px;padding-right:16px}
    [data-fs-theme='vernier'] .fs-hdr-row [data-fs-logo-mark]{width:31px;height:31px}
    [data-fs-theme='vernier'] .fs-hdr-row [data-fs-wordmark]{font-size:13.8px}
    [data-fs-theme='vernier'] .fsmenu-vernierSpan{--vn-pad:12px}
    [data-fs-theme='vernier'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:4px}
  }
  /* Centered (784). R17 (final batch2 fix pass, 2026-09-30): the button's
     margin/padding/font-size here were tightened past the mockup's own
     static figures (vernier.html) during row-fit tuning that was measured
     on /preview/view, whose row carries an extra gap-5 px-7
     (TemplateViewClient.tsx) neither the editor nor the published site
     apply to their .fs-hdr-row (px-6, no gap) — so the SAME spill number
     read differently on each surface: on /preview/view (this gate's own
     probe) it is real and still needs closing; on /preview/editor and the
     published site the row already has 14-31px more room per tier than
     preview reports, purely from that missing Tailwind gap. The margin
     here is now kept well clear of zero (a positive margin can only ever
     shrink the button's own gap, never overlap a neighbour), and the rest
     of the squeeze needed to satisfy the probe comes from the button's
     own padding/font-size — never a negative margin pulling it into the
     nav. Verified live: 0px spill on /preview/view, and a real, unforced
     gap ahead of the last nav item on /preview/editor at both 1280/1440. */
  @container (max-width: 50rem){
    [data-fs-theme='vernier'] .fs-hdr-row > :first-child{gap:7px;padding-right:12px}
    [data-fs-theme='vernier'] .fs-hdr-row [data-fs-logo-mark]{width:28px;height:28px}
    [data-fs-theme='vernier'] .fs-hdr-row [data-fs-wordmark]{font-size:12.4px}
    [data-fs-theme='vernier'] .fsmenu-vernierSpan{--vn-pad:9px;--vn-fs:14.5px}
    [data-fs-theme='vernier'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:4px;padding-inline:6px;font-size:13.5px}
  }
  /* Minimalist (688): only the spacing gives; the echo and diamond stay.
     Same R17 fix shape as Centered above. */
  @container (max-width: 44rem){
    [data-fs-theme='vernier'] .fs-hdr-row > :first-child{gap:6px}
    [data-fs-theme='vernier'] .fs-hdr-row [data-fs-logo-mark]{width:23px;height:23px}
    [data-fs-theme='vernier'] .fs-hdr-row [data-fs-wordmark]{font-size:10.2px}
    [data-fs-theme='vernier'] .fsmenu-vernierSpan{--vn-pad:6px;--vn-track:-.01em;--vn-fs:13.5px}
    [data-fs-theme='vernier'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:2px;padding:10px 2px;font-size:12px;letter-spacing:0}
  }
}
@container (max-width: 34rem){
  [data-fs-theme='vernier'] .fs-hdr-row [data-fs-logo-mark]{width:29px;height:29px}
  [data-fs-theme='vernier'] .fs-hdr-row [data-fs-wordmark]{font-size:12.9px}
}
/* R16 (theme-chrome fix round 2, precedent in counsel/hale/plateful/
   mane-studio/enamel-chrome-styles.ts): the read-only preview alone
   renders a fixed-width "Edit Template" link plus a visitor dark/light
   toggle (TemplateViewClient.tsx), present on no real site. At the
   preview's own 390/320px widths the trailing group (mode toggle + Edit
   Template link + menu button) needs more room than the row has, even
   though .fs-hdr-contact/.fs-hdr-cta are already hidden by the
   platform's own ≤34rem rule. Measured live: hiding the mode toggle
   alone clears 390px; at 320px the wordmark (already spaced at .2125em
   for this theme) also has to go. The brand MARK (data-fs-logo-mark)
   stays throughout, so the header is never unbranded, even on this one
   preview-only, extreme-narrow case. [data-fs-preview-edit] is the
   stable, surface-only hook the Edit Template link alone carries; :has()
   reaches up from it so only a row that actually contains it is
   affected — published and editor markup never has the hook. */
@container (max-width: 34rem){
  [data-fs-theme='vernier'] .fs-hdr-row:has([data-fs-preview-edit]) .fs-hdr-mode{display:none}
}
@container (max-width: 22rem){
  [data-fs-theme='vernier'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{display:none}
}

/* "Menu" as the title-block eyebrow; the close as a keyline box with its
   echo; the header's dimension line under both; a measured list with a
   hairline mark at each row's origin, the brass datum at the current. */
[data-fs-theme='vernier'] .fs-hdr-mobile-head{height:auto;padding:16px 18px 26px;border-bottom:0;background:linear-gradient(var(--vn-rule),var(--vn-rule)) 18px calc(100% - 5.25px)/calc(100% - 36px) 1.5px no-repeat,linear-gradient(var(--vn-rule),var(--vn-rule)) 18px 100%/1.5px 12px no-repeat,linear-gradient(var(--vn-rule),var(--vn-rule)) calc(100% - 18px) 100%/1.5px 12px no-repeat,rgb(var(--c-paper))}
[data-fs-theme='vernier'] .fs-hdr-mobile-title{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border:1.5px solid var(--vn-rule);background:rgb(var(--c-paper));font-family:inherit;font-weight:800;font-size:12px;line-height:1;letter-spacing:.18em;text-transform:uppercase;color:rgb(var(--c-ink-950))}
[data-fs-theme='vernier'] .fs-hdr-mobile-title::before{content:"";flex:none;width:7px;height:7px;background:rgb(var(--c-accent, var(--c-brand-600)));transform:rotate(45deg)}
[data-fs-theme='vernier'] .fs-hdr-mobile-close{width:42px;height:42px;border:1.5px solid rgb(var(--c-ink-950));border-radius:0;box-shadow:0 0 0 3px rgb(var(--c-paper)),0 0 0 4.5px var(--vn-echo);color:rgb(var(--c-ink-950))}
[data-fs-theme='vernier'] .fs-hdr-mobile > nav{padding:8px 18px 0}
[data-fs-theme='vernier'] .fs-hdr-mobile-row{display:flex;align-items:center;border-top:1px solid var(--vn-hair)}
[data-fs-theme='vernier'] .fs-hdr-mobile-list > li:first-child > .fs-hdr-mobile-row{border-top:0}
[data-fs-theme='vernier'] .fs-hdr-mobile-link:not(.is-sub){position:relative;display:flex;align-items:center;flex:1;min-height:56px;padding-left:24px;font-family:var(--font-display, 'Helvetica Neue', Arial, sans-serif);font-weight:600;font-size:20px;line-height:1.15;letter-spacing:-.01em;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='vernier'] .fs-hdr-mobile-link:not(.is-sub)::before{content:"";position:absolute;left:0;top:50%;width:10px;height:1.5px;background:var(--vn-rule)}
[data-fs-theme='vernier'] .fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false']){font-weight:700;color:rgb(var(--c-brand-text))}
[data-fs-theme='vernier'] .fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false'])::before{left:1px;width:9px;height:9px;margin-top:-4.5px;background:rgb(var(--c-accent, var(--c-brand-600)));transform:rotate(45deg)}
[data-fs-theme='vernier'] .fs-hdr-mobile-toggle{margin-right:8px;color:rgb(var(--c-ink-950))}
[data-fs-theme='vernier'] .fs-hdr-mobile-sub{padding:2px 0 18px}

/* The Spec Sheet CTA in small: a 2px ink keyline panel on paper-soft,
   its echo 6px out, the brass datum seated on the top edge; hours as the
   uppercase note, the phone set large, then the button FILLED. */
[data-fs-theme='vernier'] .fs-pmf-vernier{position:relative;display:grid;justify-items:center;gap:8px;margin:30px 6px;padding:24px 18px 18px;border:2px solid rgb(var(--c-ink-950));background:rgb(var(--c-paper-soft));box-shadow:0 0 0 6px rgb(var(--c-paper)),0 0 0 7.5px var(--vn-echo);text-align:center}
[data-fs-theme='vernier'] .fs-pmf-vernier::before{content:"";position:absolute;top:-6.5px;left:50%;width:10px;height:10px;margin-left:-5px;background:rgb(var(--c-accent, var(--c-brand-600)));transform:rotate(45deg)}
[data-fs-theme='vernier'] .fs-pmf-hours{margin:0;font-weight:700;font-size:11.5px;line-height:1.45;letter-spacing:.07em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
[data-fs-theme='vernier'] .fs-pmf-big{margin:0;font-family:var(--font-display, 'Helvetica Neue', Arial, sans-serif);font-weight:800;font-size:29px;line-height:1.1;letter-spacing:.005em;font-variant-numeric:tabular-nums;color:rgb(var(--c-brand-text))}
[data-fs-theme='vernier'] .fs-pmf-tel{color:inherit;text-decoration:none}
[data-fs-theme='vernier'] .fs-pmf .fs-hdr-cta.fs-pmf-cta{--fs-hdr-cta-bg:rgb(var(--c-brand-600));--fs-hdr-cta-fg:var(--fs-on-brand, rgb(var(--c-paper)));--fs-hdr-cta-bg-hover:transparent;--fs-hdr-cta-fg-hover:rgb(var(--c-brand-text));display:flex;width:100%;margin:8px 0 0;padding-block:15px;box-shadow:none}
[data-fs-theme='vernier'] .fs-pmf .fs-hdr-cta.fs-pmf-cta::after{display:none}

/* The estimator mega panel (mockup 51–55 shared devices + 113–147). The
   panel root is the ECHO with a 9px paper gap, the shadow on the shell
   (the mega dropdown's own box-shadow, set above); the frame inside it
   is the 2px keyline. The brass datum sits on the echo's top-right
   corner. Left pane = the estimator's controls (paper-soft, rate chips);
   right pane = its result side (paper, three readings, the button). */
[data-fs-theme='vernier'] .fs-vnm-panel{container-type:inline-size;position:relative;padding:9px;background:rgb(var(--c-paper));border:1.5px solid var(--vn-echo)}
[data-fs-theme='vernier'] .fs-vnm-panel::after{content:"";position:absolute;top:-5.5px;right:-5.5px;width:9px;height:9px;background:rgb(var(--c-accent, var(--c-brand-600)));transform:rotate(45deg)}
[data-fs-theme='vernier'] .fs-vnm-frame{border:2px solid rgb(var(--c-ink-950));background:rgb(var(--c-paper))}
[data-fs-theme='vernier'] .fs-vnm-grid{display:grid;grid-template-columns:minmax(0,1.34fr) minmax(0,1fr)}
[data-fs-theme='vernier'] .fs-vnm-pane{min-width:0;padding:22px 24px 24px;background:rgb(var(--c-paper-soft));border-right:1.5px solid var(--vn-hair)}
[data-fs-theme='vernier'] .fs-vnm-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 11px;border:1.5px solid var(--vn-rule);background:rgb(var(--c-paper));font-weight:800;font-size:11px;line-height:1;letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--c-ink-950))}
[data-fs-theme='vernier'] .fs-vnm-eyebrow::before{content:"";flex:none;width:7px;height:7px;background:rgb(var(--c-accent, var(--c-brand-600)));transform:rotate(45deg)}
[data-fs-theme='vernier'] .fs-vnm-lede{margin:12px 0 0;max-width:46ch;font-size:14px;line-height:1.5;color:var(--vn-sub)}
[data-fs-theme='vernier'] .fs-vnm-chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}
[data-fs-theme='vernier'] .fs-vnm-chip{position:relative;display:flex;flex-direction:column;gap:3px;min-width:0;padding:12px 14px 13px;border:1.5px solid var(--vn-rule);background:rgb(var(--c-paper));text-decoration:none;color:rgb(var(--c-ink-950));transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}
[data-fs-theme='vernier'] .fs-vnm-chip-n{font-family:var(--font-display, 'Helvetica Neue', Arial, sans-serif);font-weight:700;font-size:16px;line-height:1.2;letter-spacing:-.005em;color:rgb(var(--c-ink-950))}
[data-fs-theme='vernier'] .fs-vnm-chip-r{font-weight:700;font-size:13px;line-height:1.3;font-variant-numeric:tabular-nums;color:rgb(var(--c-brand-text))}
[data-fs-theme='vernier'] .fs-vnm-chip-note{margin-top:5px;font-size:13px;line-height:1.45;color:var(--vn-sub)}
[data-fs-theme='vernier'] .fs-vnm-chip:hover{border-color:rgb(var(--c-brand-600));box-shadow:inset 0 0 0 1.5px rgb(var(--c-brand-600));background:color-mix(in srgb, rgb(var(--c-brand-600)) 6%, rgb(var(--c-paper)))}
[data-fs-theme='vernier'] .fs-vnm-chip:hover::after{content:"";position:absolute;top:-5px;right:-5px;width:9px;height:9px;background:rgb(var(--c-accent, var(--c-brand-600)));transform:rotate(45deg)}
[data-fs-theme='vernier'] .fs-vnm-chip.fs-vnm-prep{grid-column:1/-1;flex-direction:row;align-items:baseline;justify-content:space-between;gap:12px}
[data-fs-theme='vernier'] .fs-vnm-prep .fs-vnm-chip-n{font-size:15px}
[data-fs-theme='vernier'] .fs-vnm-prep .fs-vnm-chip-note{display:none}
[data-fs-theme='vernier'] .fs-vnm-side{display:flex;flex-direction:column;min-width:0;padding:22px 24px 24px;background:rgb(var(--c-paper))}
[data-fs-theme='vernier'] .fs-vnm-legend{font-weight:700;font-size:11px;line-height:1.2;letter-spacing:.12em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
[data-fs-theme='vernier'] .fs-vnm-side-t{margin-top:9px;font-family:var(--font-display, 'Helvetica Neue', Arial, sans-serif);font-weight:700;font-size:19px;line-height:1.3;letter-spacing:-.01em;text-wrap:balance}
[data-fs-theme='vernier'] .fs-vnm-reads{list-style:none;margin:14px 0 0;padding:0;border-top:1.5px solid var(--vn-hair)}
[data-fs-theme='vernier'] .fs-vnm-read{display:grid;grid-template-columns:86px minmax(0,1fr);align-items:baseline;gap:12px;padding-block:10px;border-bottom:1.5px solid var(--vn-hair)}
[data-fs-theme='vernier'] .fs-vnm-read-v{font-family:var(--font-display, 'Helvetica Neue', Arial, sans-serif);font-weight:800;font-size:22px;line-height:1;letter-spacing:-.01em;font-variant-numeric:tabular-nums;white-space:nowrap}
[data-fs-theme='vernier'] .fs-vnm-read-l{font-weight:700;font-size:11px;line-height:1.35;letter-spacing:.07em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
[data-fs-theme='vernier'] .fs-vnm-btn{display:flex;align-items:center;justify-content:center;margin-top:18px;padding:13px 18px;background:rgb(var(--c-brand-600));border:2px solid rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)));font-family:var(--font-display, 'Helvetica Neue', Arial, sans-serif);font-weight:700;font-size:14.5px;line-height:1;letter-spacing:.01em;white-space:nowrap;text-decoration:none}
[data-fs-theme='vernier'] .fs-vnm-btn:hover{background:transparent;color:rgb(var(--c-brand-text))}
[data-fs-theme='vernier'] .fs-vnm-tlink{align-self:flex-start;margin-top:13px;font-family:var(--font-display, 'Helvetica Neue', Arial, sans-serif);font-weight:700;font-size:14px;line-height:1.3;color:rgb(var(--c-brand-text));border-bottom:1.5px solid currentColor;text-decoration:none}
[data-fs-theme='vernier'] .fs-vnm-foot{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;padding:12px 24px;border-top:1.5px solid var(--vn-hair);font-size:13.5px;color:var(--vn-sub)}
[data-fs-theme='vernier'] .fs-vnm-foot .fs-vnm-dim{flex:1 1 90px;min-width:70px}
[data-fs-theme='vernier'] .fs-vnm-foot-a{font-family:var(--font-display, 'Helvetica Neue', Arial, sans-serif);font-weight:700;font-size:14px;line-height:1.3;color:rgb(var(--c-brand-text));white-space:nowrap;text-decoration:none}
[data-fs-theme='vernier'] .fs-vnm-foot-a:hover{text-decoration:underline}
[data-fs-theme='vernier'] .fs-vnm-dim{position:relative;display:block;height:12px;background:linear-gradient(var(--vn-rule),var(--vn-rule)) 0 50%/100% 1.5px no-repeat,linear-gradient(var(--vn-rule),var(--vn-rule)) 0 0/1.5px 100% no-repeat,linear-gradient(var(--vn-rule),var(--vn-rule)) 100% 0/1.5px 100% no-repeat}
[data-fs-theme='vernier'] .fs-vnm-dim::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px 0 0 -4px;background:rgb(var(--c-accent, var(--c-brand-600)));transform:rotate(45deg)}
/* The panel matches the bar; its content box is the panel minus 21px of
   echo border and gap: 1371 / 1211 / 1131 / 859 / 763 / 667. */
@container (min-width: 68rem){
  [data-fs-theme='vernier'] .fs-vnm-grid{grid-template-columns:minmax(0,1fr) minmax(0,.48fr)}
  [data-fs-theme='vernier'] .fs-vnm-pane{padding:26px 32px 30px}
  [data-fs-theme='vernier'] .fs-vnm-side{padding:26px 28px 30px}
  [data-fs-theme='vernier'] .fs-vnm-lede{max-width:64ch}
  [data-fs-theme='vernier'] .fs-vnm-chips{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
  [data-fs-theme='vernier'] .fs-vnm-chip{padding:14px 16px 15px}
  [data-fs-theme='vernier'] .fs-vnm-chip-note{max-width:36ch}
  [data-fs-theme='vernier'] .fs-vnm-chip.fs-vnm-prep{grid-column:span 2;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:3px}
  [data-fs-theme='vernier'] .fs-vnm-prep .fs-vnm-chip-n{font-size:16px}
  [data-fs-theme='vernier'] .fs-vnm-prep .fs-vnm-chip-note{display:block;max-width:60ch}
  [data-fs-theme='vernier'] .fs-vnm-side-t{font-size:20px}
  [data-fs-theme='vernier'] .fs-vnm-read{grid-template-columns:88px minmax(0,1fr)}
  [data-fs-theme='vernier'] .fs-vnm-read-v{font-size:24px}
  [data-fs-theme='vernier'] .fs-vnm-foot{padding:13px 32px;font-size:14px}
}
@container (max-width: 50rem){
  [data-fs-theme='vernier'] .fs-vnm-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
  [data-fs-theme='vernier'] :is(.fs-vnm-pane,.fs-vnm-side){padding:18px 18px 20px}
  [data-fs-theme='vernier'] .fs-vnm-chips{gap:8px}
  [data-fs-theme='vernier'] .fs-vnm-chip{padding:10px 12px 11px}
  [data-fs-theme='vernier'] .fs-vnm-chip-n{font-size:15px}
  [data-fs-theme='vernier'] .fs-vnm-chip-note{font-size:12.5px}
  [data-fs-theme='vernier'] .fs-vnm-side-t{font-size:17px}
  [data-fs-theme='vernier'] .fs-vnm-read{grid-template-columns:74px minmax(0,1fr);gap:10px}
  [data-fs-theme='vernier'] .fs-vnm-read-v{font-size:20px}
  [data-fs-theme='vernier'] .fs-vnm-foot{padding-inline:18px}
}
@container (max-width: 44rem){
  [data-fs-theme='vernier'] .fs-vnm-chips{grid-template-columns:minmax(0,1fr);gap:6px;margin-top:14px}
  [data-fs-theme='vernier'] .fs-vnm-chip{flex-direction:row;align-items:baseline;justify-content:space-between;gap:10px;padding-block:11px}
  [data-fs-theme='vernier'] .fs-vnm-chip-note{display:none}
}
@container (max-width: 30rem){
  [data-fs-theme='vernier'] .fs-vnm-grid{grid-template-columns:minmax(0,1fr)}
  [data-fs-theme='vernier'] .fs-vnm-pane{border-right:0;border-bottom:1.5px solid var(--vn-hair)}
  [data-fs-theme='vernier'] .fs-vnm-chips{grid-template-columns:minmax(0,1fr);gap:6px}
  [data-fs-theme='vernier'] .fs-vnm-chip{flex-direction:row;align-items:baseline;justify-content:space-between;gap:10px}
}
/* The same composite in the phone menu: no echo or lift; the survey
   side, notes, lede and the areas foot leave; the keyline frame stays. */
[data-fs-theme='vernier'] .fs-hdr-mobile .fs-vnm-panel{padding:0;border:0;background:transparent}
[data-fs-theme='vernier'] .fs-hdr-mobile .fs-vnm-panel::after{display:none}
[data-fs-theme='vernier'] .fs-hdr-mobile :is(.fs-vnm-side,.fs-vnm-chip-note,.fs-vnm-lede,.fs-vnm-foot){display:none}
[data-fs-theme='vernier'] .fs-hdr-mobile .fs-vnm-grid{grid-template-columns:minmax(0,1fr)}
[data-fs-theme='vernier'] .fs-hdr-mobile .fs-vnm-pane{padding:16px;border-right:0}
[data-fs-theme='vernier'] .fs-hdr-mobile .fs-vnm-chips{margin-top:14px}
@media (prefers-reduced-motion: reduce){
  [data-fs-theme='vernier'] .fs-hdr-cta,[data-fs-theme='vernier'] .fs-vnm-chip,[data-fs-theme='vernier'] .fs-vnm-btn{transition:none}
}


/* Tokens (mockup 39–40). --gw-ink-hi: brand mixed 70% into ink (bare
   brand fails as text in Safety Amber); --gw-hard: the offset-shadow ink
   (pale at night, as the Graft blocks); --gw-slab: the callout's ink slab,
   a dark brand tint at night; --gw-slab-hi: the slab's phone, the accent
   mixed half into the slab's own ink so it reads in every palette. */
[data-fs-theme='groundwork']{--fs-chrome-mode:light;--gw-ink-hi:color-mix(in srgb, rgb(var(--c-brand-600)) 70%, rgb(var(--c-ink-950)));--gw-hard:rgb(var(--c-ink-950));--gw-rule:rgb(var(--c-ink-950) / .16);--gw-note:color-mix(in srgb, rgb(var(--c-ink-950)) 75%, rgb(var(--c-paper)));--gw-slab:rgb(var(--c-ink-950));--gw-on-slab:rgb(var(--c-paper));--gw-slab-mute:rgb(var(--c-paper) / .8);--gw-slab-hi:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 50%, var(--gw-on-slab));--gw-stripe:repeating-linear-gradient(-45deg,rgb(var(--c-accent, var(--c-brand-600))) 0 .6rem,transparent .6rem 1.2rem)}
[data-fs-theme='groundwork'].dark{--fs-chrome-mode:dark;--gw-rule:rgb(var(--c-ink-950) / .18);--gw-slab:color-mix(in srgb, rgb(var(--c-brand-600)) 18%, rgb(var(--c-paper)));--gw-on-slab:rgb(var(--c-ink-950));--gw-slab-mute:rgb(var(--c-ink-950) / .8)}
/* The strip: paper-soft; the note in a squared proof chip; the hours
   behind a small striped swatch (the platform's hours dot, restyled);
   the phone in Oswald. */
[data-fs-theme='groundwork'] .fs-hdr-util{container-type:inline-size;background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));font-weight:600;font-size:13px;line-height:1.2}
[data-fs-theme='groundwork'] .fs-hdr-util-in{display:flex;align-items:center;gap:22px;min-height:0;padding-block:7px;border-bottom:0;color:inherit}
[data-fs-theme='groundwork'] .fs-hdr-util-note{order:-1;margin-right:auto;padding:4px 9px;border:2px solid rgb(var(--c-ink-950) / .8);font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}
[data-fs-theme='groundwork'] .fs-hdr-util-hours{gap:9px;color:var(--gw-note);white-space:nowrap}
[data-fs-theme='groundwork'] .fs-hdr-util-dot{width:18px;height:9px;border-radius:0;background:repeating-linear-gradient(-45deg,rgb(var(--c-accent, var(--c-brand-600))) 0 3px,transparent 3px 6px);box-shadow:inset 0 0 0 1px rgb(var(--c-accent, var(--c-brand-600)) / .6)}
[data-fs-theme='groundwork'] .fs-hdr-util-tel{margin-left:0;font-family:var(--font-display, 'Arial Narrow', sans-serif);font-weight:600;font-size:16px;line-height:1;letter-spacing:.05em;color:inherit}
@container (max-width: 40rem){
  [data-fs-theme='groundwork'] .fs-hdr-util-in{display:flex;justify-content:center}
  [data-fs-theme='groundwork'] .fs-hdr-util-item:not(.fs-hdr-util-tel){display:none}
}
/* Measured live: the editor's own tablet canvas (a container width of
   roughly 47.9rem) keeps all three items above the 40rem cutoff, so none
   are hidden — but the proof chip's border+padding make it taller than
   the plain-text hours/tel items, and centring the row on that extra
   height reads as a second line to a script measuring each item's own
   top edge (never happens once the note is hidden below 40rem, so this
   band alone needs it). The chip keeps its look (a box-shadow ring
   instead of a border draws the same edge without adding to the box),
   just shorter, so its centred top lines up with its neighbours. */
@container (max-width: 50rem){
  [data-fs-theme='groundwork'] .fs-hdr-util-note{padding:2.5px 9px;border:0;box-shadow:inset 0 0 0 2px rgb(var(--c-ink-950) / .8);line-height:1}
}
/* The band (the desktop gate) ends in the striped bar, painted as its
   last 9px. */
[data-fs-theme='groundwork'] .fs-hdr-band{container-type:inline-size;container-name:fs-band;border-bottom-width:0;padding-bottom:9px;background:var(--gw-stripe) left bottom/100% 9px no-repeat,rgb(var(--c-paper))}
[data-fs-theme='groundwork'] .fs-hdr-row{min-height:clamp(66px, (100cqi - 760px) * 100, 78px)}
/* The lockup: the strata mark (38px box; its own 8-unit inset stands in
   for the design's gap) and GROUNDWORK in Oswald caps. */
[data-fs-theme='groundwork'] .fs-hdr-row > :first-child{gap:1px;margin-right:auto;padding-right:18px}
[data-fs-theme='groundwork'] .fs-hdr-row [data-fs-logo-mark]{width:38px;height:38px}
[data-fs-theme='groundwork'] .fs-hdr-row [data-fs-wordmark]{font-size:21.4px;line-height:1;letter-spacing:.071em;text-transform:uppercase}
/* The button: the Graft primary button, squared, a 4px hard offset
   shadow, lifting on hover and pressing on click. */
[data-fs-theme='groundwork'] .fs-hdr-cta{--fs-hdr-cta-bg:rgb(var(--c-brand-600));--fs-hdr-cta-fg:var(--fs-on-brand, rgb(var(--c-paper)));--fs-hdr-cta-bg-hover:rgb(var(--c-brand-600));--fs-hdr-cta-fg-hover:var(--fs-on-brand, rgb(var(--c-paper)))}
[data-fs-theme='groundwork'] .fs-hdr-cta.fs-hdr-cta{flex:none;padding:14px 20px;border-radius:0;font-weight:800;font-size:14px;line-height:1;letter-spacing:.07em;text-transform:uppercase;box-shadow:4px 4px 0 var(--gw-hard);transition:transform .2s ease,box-shadow .2s ease}
[data-fs-theme='groundwork'] .fs-hdr-cta.fs-hdr-cta:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--gw-hard)}
[data-fs-theme='groundwork'] .fs-hdr-cta.fs-hdr-cta:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--gw-hard)}
[data-fs-theme='groundwork'] .fs-hdr-row .fs-hdr-cta{margin-left:22px}
/* The menu button is the mark itself: three strata bars, fading. */
[data-fs-theme='groundwork'] .fs-hdr-menu-btn{width:44px;height:44px;margin-left:16px;border:2.5px solid rgb(var(--c-ink-950));border-radius:0;box-shadow:3px 3px 0 var(--gw-hard);background:linear-gradient(var(--gw-ink-hi),var(--gw-ink-hi)) center calc(50% - 7px)/20px 4px no-repeat,linear-gradient(color-mix(in srgb, var(--gw-ink-hi) 72%, transparent),color-mix(in srgb, var(--gw-ink-hi) 72%, transparent)) center/20px 4px no-repeat,linear-gradient(color-mix(in srgb, var(--gw-ink-hi) 50%, transparent),color-mix(in srgb, var(--gw-ink-hi) 50%, transparent)) center calc(50% + 7px)/20px 4px no-repeat,rgb(var(--c-paper))}
[data-fs-theme='groundwork'] .fs-hdr-menu-btn svg{display:none}
/* The shell: no frame; 19px below the row (clear of the 9px stripe); the
   panel's hard 6px shadow follows the cut corner (drop-shadow). */
[data-fs-theme='groundwork'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite){margin-top:19px !important;background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;filter:drop-shadow(6px 6px 0 var(--gw-hard))}
[data-fs-theme='groundwork'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite)::before{top:-19px;height:19px}
/* Layout tiers (mockup 216–242); desktop only. */
@container fs-band (min-width: 62rem){
  /* Boxed (880). */
  @container (max-width: 60rem){
    [data-fs-theme='groundwork'] .fs-hdr-row > :first-child{padding-right:14px}
    [data-fs-theme='groundwork'] .fs-hdr-row [data-fs-logo-mark]{width:34px;height:34px}
    [data-fs-theme='groundwork'] .fs-hdr-row [data-fs-wordmark]{font-size:19.1px}
    [data-fs-theme='groundwork'] .fsmenu-graftTag{--gw-px:10px;--gw-track:.05em}
    [data-fs-theme='groundwork'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:18px;padding-inline:17px}
  }
  /* Centered (784). */
  @container (max-width: 50rem){
    [data-fs-theme='groundwork'] .fs-hdr-row > :first-child{padding-right:10px}
    [data-fs-theme='groundwork'] .fs-hdr-row [data-fs-logo-mark]{width:30px;height:30px}
    [data-fs-theme='groundwork'] .fs-hdr-row [data-fs-wordmark]{font-size:16.9px}
    [data-fs-theme='groundwork'] .fsmenu-graftTag{--gw-px:8px;--gw-track:.04em;--gw-fs:14px}
    [data-fs-theme='groundwork'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:14px;padding:12px 14px;font-size:13px;letter-spacing:.05em}
  }
  /* Minimalist (688): the button keeps its hard shadow. */
  @container (max-width: 44rem){
    [data-fs-theme='groundwork'] .fs-hdr-row [data-fs-logo-mark]{width:27px;height:27px}
    [data-fs-theme='groundwork'] .fs-hdr-row [data-fs-wordmark]{font-size:15.2px}
    [data-fs-theme='groundwork'] .fsmenu-graftTag{--gw-px:6px;--gw-track:.03em;--gw-fs:13.5px;gap:5px}
    [data-fs-theme='groundwork'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:11px;padding:11px 11px;font-size:12.5px;letter-spacing:.04em}
  }
  /* R17 (final batch2 fix pass, 2026-09-30): six full nav labels, a
     longer CTA phrase ("Get a free quote") and a ten-letter wordmark
     measured ~40px wider than the row even at the Minimalist tier's own
     numbers above — but that measurement was taken on /preview/view,
     whose row carries an extra gap-5 px-7 (TemplateViewClient.tsx)
     neither the editor (EditWpClient.tsx) nor the published site
     (PublicSiteClient.tsx) apply to their .fs-hdr-row (px-6, no gap).
     Real surfaces still needed SOME of this squeeze (unlike Bright
     Start's Minimalist tier, whose own numbers turned out to be enough
     alone) — every knob here only shrinks an element's own box (the
     nav's own padding/gap, the button's own size, the menu button's own
     margin), never a margin pulled to/past zero that would rely on
     preview's extra gap to stay clear of a neighbour. Verified live: 0px
     spill on /preview/view (this gate's own probe) at every tier x
     1280/1440, and a real, unforced gap ahead of the last nav item on
     /preview/editor at the same combinations. */
  @container (max-width: 44rem){
    [data-fs-theme='groundwork'] .fs-hdr-row > :first-child{padding-right:10px}
    [data-fs-theme='groundwork'] .fs-hdr-row [data-fs-wordmark]{letter-spacing:.035em}
    [data-fs-theme='groundwork'] .fsmenu-graftTag-nav{gap:2px}
    [data-fs-theme='groundwork'] .fsmenu-graftTag{--gw-px:5px}
    [data-fs-theme='groundwork'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:4px;padding:10px 5px;font-size:11.5px;letter-spacing:.02em}
    [data-fs-theme='groundwork'] .fs-hdr-menu-btn{margin-left:10px}
  }
}
@container (max-width: 34rem){
  [data-fs-theme='groundwork'] .fs-hdr-row [data-fs-logo-mark]{width:30px;height:30px}
  [data-fs-theme='groundwork'] .fs-hdr-row [data-fs-wordmark]{font-size:16.9px}
}
/* R16 (theme-chrome fix round 2, precedent in counsel/hale/plateful/
   mane-studio/enamel/vernier-chrome-styles.ts): the read-only preview
   alone renders a fixed-width "Edit Template" link plus a visitor
   dark/light toggle (TemplateViewClient.tsx), present on no real site.
   At the preview's own 390/320px widths the trailing group (mode toggle
   + Edit Template link + menu button) needs more room than the row has,
   even though .fs-hdr-contact/.fs-hdr-cta are already hidden by the
   platform's own ≤34rem rule. Measured live: hiding the mode toggle
   alone clears 390px; at 320px the wordmark also has to go. The brand
   MARK (data-fs-logo-mark) stays throughout, so the header is never
   unbranded, even on this one preview-only, extreme-narrow case.
   [data-fs-preview-edit] is the stable, surface-only hook the Edit
   Template link alone carries; :has() reaches up from it so only a row
   that actually contains it is affected — published and editor markup
   never has the hook. */
@container (max-width: 34rem){
  [data-fs-theme='groundwork'] .fs-hdr-row:has([data-fs-preview-edit]) .fs-hdr-mode{display:none}
}
@container (max-width: 22rem){
  [data-fs-theme='groundwork'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{display:none}
}

/* "Menu" as the ink tag with the cut; a boxed close with the hard shadow;
   the striped bar under the head; big Oswald caps; the current page a
   full-width ink tag with a 14px cut; the open group a 3px accent line. */
[data-fs-theme='groundwork'] .fs-hdr-mobile-head{height:auto;padding:14px 16px 23px;border-bottom:0;background:var(--gw-stripe) left bottom/100% 9px no-repeat,rgb(var(--c-paper))}
[data-fs-theme='groundwork'] .fs-hdr-mobile-title{display:inline-flex;padding:8px 13px 8px 12px;background:rgb(var(--c-ink-950));color:rgb(var(--c-paper));font-family:inherit;font-weight:800;font-size:13px;line-height:1;letter-spacing:.2em;text-transform:uppercase;clip-path:polygon(0 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%)}
[data-fs-theme='groundwork'] .fs-hdr-mobile-close{width:42px;height:42px;margin-right:3px;border:2.5px solid rgb(var(--c-ink-950));border-radius:0;box-shadow:3px 3px 0 var(--gw-hard);color:rgb(var(--c-ink-950))}
[data-fs-theme='groundwork'] .fs-hdr-mobile > nav{padding:10px 16px 0}
[data-fs-theme='groundwork'] .fs-hdr-mobile-row{display:flex;align-items:center;border-bottom:1px solid var(--gw-rule)}
[data-fs-theme='groundwork'] .fs-hdr-mobile-row:has(.fs-hdr-mobile-link[aria-current]:not([aria-current='false'])){border-bottom-color:transparent}
[data-fs-theme='groundwork'] .fs-hdr-mobile-link:not(.is-sub){display:flex;align-items:center;flex:1;min-height:56px;padding:10px 14px;font-family:var(--font-display, 'Arial Narrow', sans-serif);font-weight:600;font-size:24px;line-height:1.1;letter-spacing:.04em;text-transform:uppercase;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='groundwork'] .fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false']){background:rgb(var(--c-ink-950));color:rgb(var(--c-paper));clip-path:polygon(0 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%)}
[data-fs-theme='groundwork'] .fs-hdr-mobile-row:has(.fs-hdr-mobile-toggle[aria-expanded='true']){background:linear-gradient(rgb(var(--c-accent, var(--c-brand-600))),rgb(var(--c-accent, var(--c-brand-600)))) left bottom/100% 3px no-repeat}
[data-fs-theme='groundwork'] .fs-hdr-mobile-toggle{margin-right:6px;color:rgb(var(--c-ink-950))}
[data-fs-theme='groundwork'] .fs-hdr-mobile-sub{padding:14px 4px 18px 0;border-bottom:1px solid var(--gw-rule)}

/* The callout in miniature: the stripe over the slab with a 20px cut,
   the hours small, the phone huge; then the button full width. */
[data-fs-theme='groundwork'] .fs-pmf-groundwork{display:grid;gap:16px;margin:24px 3px 26px 0}
[data-fs-theme='groundwork'] .fs-pmf-call{display:grid;gap:8px;padding:25px 18px 22px;background:var(--gw-stripe) left top/100% 9px no-repeat,var(--gw-slab);color:var(--gw-on-slab);clip-path:polygon(0 0,100% 0,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%)}
[data-fs-theme='groundwork'] .fs-pmf-hours{margin:0;font-weight:700;font-size:12px;line-height:1.3;letter-spacing:.14em;text-transform:uppercase;color:var(--gw-slab-mute)}
[data-fs-theme='groundwork'] .fs-pmf-big{margin:0;font-family:var(--font-display, 'Arial Narrow', sans-serif);font-weight:700;font-size:36px;line-height:1;letter-spacing:.03em;white-space:nowrap;color:var(--gw-slab-hi)}
[data-fs-theme='groundwork'] .fs-pmf-tel{color:inherit;text-decoration:none}
[data-fs-theme='groundwork'] .fs-pmf .fs-hdr-cta.fs-pmf-cta{display:flex;width:100%;margin:0;padding-block:17px;font-size:15px}

/* The panel matches the bar (688–1392). Tiers: WIDE 68rem+ (1152, 1232),
   XL 80rem+ (1392), base (no Layout lands), NARROW <=56rem (880, 784),
   <=44rem (688), <=30rem (the phone copy). .fs-gwm-left drops out
   (display:contents) so plates, card and chips sit on named areas. */
[data-fs-theme='groundwork'] .fs-gwm-panel{container-type:inline-size}
[data-fs-theme='groundwork'] .fs-gwm-card{background:rgb(var(--c-paper));border:2.5px solid rgb(var(--c-ink-950));clip-path:polygon(0 0,100% 0,100% calc(100% - 28px),calc(100% - 28px) 100%,0 100%)}
[data-fs-theme='groundwork'] .fs-gwm-tag{display:inline-flex;align-items:center;flex:none;padding:6px 11px 6px 10px;background:rgb(var(--c-ink-950));color:rgb(var(--c-paper));font-weight:800;font-size:11.5px;line-height:1;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;clip-path:polygon(0 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%)}
[data-fs-theme='groundwork'] .fs-gwm-tag.is-brand{background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)))}
[data-fs-theme='groundwork'] .fs-gwm-head{display:flex;align-items:center;gap:10px 16px;padding:20px 22px 18px}
[data-fs-theme='groundwork'] .fs-gwm-lede{margin:0;font-size:14.5px;line-height:1.45;color:var(--gw-note);text-wrap:pretty}
[data-fs-theme='groundwork'] .fs-gwm-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1.3fr);gap:26px;padding:0 22px 22px}
[data-fs-theme='groundwork'] .fs-gwm-left{display:flex;flex-direction:column;gap:20px;min-width:0}
[data-fs-theme='groundwork'] .fs-gwm-plates{list-style:none;margin:0;padding:0 4px 4px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
[data-fs-theme='groundwork'] .fs-gwm-plate{display:flex;flex-direction:column;gap:8px;height:100%;padding:15px 14px 16px;background:rgb(var(--c-paper-soft));border:2.5px solid rgb(var(--c-ink-950));text-decoration:none;color:inherit;box-shadow:4px 4px 0 color-mix(in srgb, var(--gw-hard) 85%, transparent);transition:transform .2s ease,box-shadow .2s ease}
[data-fs-theme='groundwork'] .fs-gwm-plate:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 color-mix(in srgb, var(--gw-hard) 85%, transparent)}
[data-fs-theme='groundwork'] .fs-gwm-pt{font-family:var(--font-display, 'Arial Narrow', sans-serif);font-weight:700;font-size:18px;line-height:1.12;letter-spacing:.02em;text-transform:uppercase;color:var(--gw-ink-hi)}
[data-fs-theme='groundwork'] .fs-gwm-pb{font-size:13.5px;line-height:1.5;color:var(--gw-note)}
[data-fs-theme='groundwork'] .fs-gwm-ba{margin:0;display:flex;flex-direction:column;gap:9px;min-width:0}
[data-fs-theme='groundwork'] .fs-gwm-ba-stage{position:relative;margin:0 10px 10px 0}
[data-fs-theme='groundwork'] .fs-gwm-ba-back{position:absolute;inset:0;transform:translate(10px,10px);background:rgb(var(--c-brand-600) / .25);clip-path:polygon(0 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%)}
[data-fs-theme='groundwork'] .fs-gwm-ba-frame{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:rgb(var(--c-paper-soft));clip-path:polygon(0 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%)}
[data-fs-theme='groundwork'] .fs-gwm-ba-frame > i{position:absolute;inset:0}
[data-fs-theme='groundwork'] .fs-gwm-ba-after{background:linear-gradient(90deg,transparent 0 30%,rgb(var(--c-paper) / .55) 30% 31.5%,transparent 31.5% 60%,rgb(var(--c-paper) / .55) 60% 61.5%,transparent 61.5%) 0 100%/100% 45% no-repeat,linear-gradient(180deg,rgb(var(--c-accent, var(--c-brand-600)) / .45) 0 55%,rgb(var(--c-brand-600) / .75) 55% 100%),rgb(var(--c-paper-soft))}
[data-fs-theme='groundwork'] .fs-gwm-ba-before{clip-path:inset(0 45% 0 0);background:radial-gradient(22px 15px at 20% 72%,rgb(var(--c-ink-950) / .28),transparent 70%),radial-gradient(28px 18px at 45% 80%,rgb(var(--c-ink-950) / .24),transparent 70%),radial-gradient(18px 13px at 70% 66%,rgb(var(--c-ink-950) / .3),transparent 70%),linear-gradient(180deg,color-mix(in srgb, rgb(var(--c-ink-400)) 38%, rgb(var(--c-paper-soft))) 0 55%,color-mix(in srgb, rgb(var(--c-ink-950)) 48%, rgb(var(--c-paper-soft))) 55% 100%)}
[data-fs-theme='groundwork'] .fs-gwm-ba-frame > .fs-gwm-ba-div{left:55%;right:auto;width:4px;margin-left:-2px;background:rgb(var(--c-paper));box-shadow:0 0 0 1.5px rgb(var(--c-ink-950))}
[data-fs-theme='groundwork'] .fs-gwm-ba-tag{position:absolute;top:8px;left:8px;padding:4px 7px;background:rgb(var(--c-ink-950));color:rgb(var(--c-paper));font-weight:800;font-size:10.5px;line-height:1;letter-spacing:.16em;text-transform:uppercase}
[data-fs-theme='groundwork'] .fs-gwm-ba-tag.is-after{left:auto;right:8px;background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)))}
[data-fs-theme='groundwork'] .fs-gwm-ba-cap{margin:0;font-size:13px;line-height:1.45;color:var(--gw-note)}
[data-fs-theme='groundwork'] .fs-gwm-ba-t{display:block;margin-bottom:2px;font-family:var(--font-display, 'Arial Narrow', sans-serif);font-weight:600;font-size:14px;line-height:1.25;letter-spacing:.03em;text-transform:uppercase;color:rgb(var(--c-ink-950))}
[data-fs-theme='groundwork'] .fs-gwm-link{align-self:flex-start;font-family:var(--font-display, 'Arial Narrow', sans-serif);font-weight:600;font-size:14px;line-height:1.3;letter-spacing:.05em;text-transform:uppercase;color:var(--gw-ink-hi);text-decoration:none;border-bottom:2px solid currentColor}
[data-fs-theme='groundwork'] .fs-gwm-link::after{content:" →"}
[data-fs-theme='groundwork'] .fs-gwm-rest{display:grid;gap:9px}
[data-fs-theme='groundwork'] .fs-gwm-rest-h{flex:none;font-weight:700;font-size:11.5px;line-height:1.3;letter-spacing:.14em;text-transform:uppercase;color:var(--gw-note)}
[data-fs-theme='groundwork'] .fs-gwm-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:7px}
[data-fs-theme='groundwork'] .fs-gwm-chip{padding:5px 9px;border:2px solid rgb(var(--c-ink-950) / .8);background:rgb(var(--c-paper-soft));font-weight:700;font-size:12px;line-height:1.1;letter-spacing:.04em;text-transform:uppercase}
[data-fs-theme='groundwork'] .fs-gwm-call{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;padding:24px 48px 18px 22px;background:var(--gw-stripe) left top/100% 9px no-repeat,var(--gw-slab);color:var(--gw-on-slab)}
[data-fs-theme='groundwork'] .fs-gwm-call-t{margin:0;font-family:var(--font-display, 'Arial Narrow', sans-serif);font-weight:600;font-size:19px;line-height:1.15;letter-spacing:.03em;text-transform:uppercase}
[data-fs-theme='groundwork'] .fs-gwm-call-n{display:block;margin-top:3px;font-weight:500;font-size:13.5px;line-height:1.3;letter-spacing:0;text-transform:none;color:var(--gw-slab-mute)}
[data-fs-theme='groundwork'] .fs-gwm-call-tel{margin-left:auto;font-family:var(--font-display, 'Arial Narrow', sans-serif);font-weight:700;font-size:30px;line-height:1;letter-spacing:.03em;color:var(--gw-slab-hi);white-space:nowrap;text-decoration:none}
@container (min-width: 68rem){
  [data-fs-theme='groundwork'] .fs-gwm-head{gap:10px 20px;padding:22px 28px 20px}
  [data-fs-theme='groundwork'] .fs-gwm-lede{max-width:none;text-wrap:balance}
  [data-fs-theme='groundwork'] .fs-gwm-left{display:contents}
  [data-fs-theme='groundwork'] .fs-gwm-grid{grid-template-columns:minmax(0,3fr) minmax(0,2fr);grid-template-areas:"plates ba" "rest rest";gap:24px 34px;padding:0 28px 24px}
  [data-fs-theme='groundwork'] .fs-gwm-plates{grid-area:plates}
  [data-fs-theme='groundwork'] .fs-gwm-rest{grid-area:rest;display:flex;flex-direction:column;align-items:flex-start;gap:10px 16px;padding-top:18px;border-top:1px solid var(--gw-rule)}
  [data-fs-theme='groundwork'] .fs-gwm-ba{grid-area:ba;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);grid-template-rows:auto 1fr;gap:12px 20px;align-content:start}
  [data-fs-theme='groundwork'] .fs-gwm-ba-stage{grid-row:1/span 2;align-self:start}
  [data-fs-theme='groundwork'] .fs-gwm-ba-cap{max-width:34ch}
  [data-fs-theme='groundwork'] .fs-gwm-ba .fs-gwm-link{grid-column:2;align-self:start;justify-self:start}
  [data-fs-theme='groundwork'] .fs-gwm-call{gap:10px 22px;padding:25px 60px 19px 28px}
}
@container (min-width: 80rem){
  [data-fs-theme='groundwork'] .fs-gwm-head{padding:26px 34px 22px}
  [data-fs-theme='groundwork'] .fs-gwm-grid{grid-template-columns:minmax(0,3fr) minmax(0,2.1fr);gap:26px 42px;padding:0 34px 28px}
  [data-fs-theme='groundwork'] .fs-gwm-plates{gap:22px}
  [data-fs-theme='groundwork'] .fs-gwm-rest{flex-direction:row;align-items:center}
  [data-fs-theme='groundwork'] .fs-gwm-plate{gap:10px;padding:18px 18px 20px}
  [data-fs-theme='groundwork'] .fs-gwm-pt{font-size:20px}
  [data-fs-theme='groundwork'] .fs-gwm-pb{max-width:34ch;font-size:14px}
  [data-fs-theme='groundwork'] .fs-gwm-ba .fs-gwm-ba-t{font-size:15px}
  [data-fs-theme='groundwork'] .fs-gwm-call{padding:26px 66px 20px 34px}
  [data-fs-theme='groundwork'] .fs-gwm-call-t{font-size:21px}
  [data-fs-theme='groundwork'] .fs-gwm-call-tel{font-size:34px}
}
@container (max-width: 56rem){
  [data-fs-theme='groundwork'] .fs-gwm-left{display:contents}
  [data-fs-theme='groundwork'] .fs-gwm-grid{grid-template-areas:"plates ba" "rest rest";gap:22px 26px}
  [data-fs-theme='groundwork'] .fs-gwm-plates{grid-area:plates;grid-template-columns:minmax(0,1fr);gap:14px}
  [data-fs-theme='groundwork'] .fs-gwm-ba{grid-area:ba}
  [data-fs-theme='groundwork'] .fs-gwm-rest{grid-area:rest}
  [data-fs-theme='groundwork'] .fs-gwm-plate{display:grid;grid-template-columns:minmax(0,10.5rem) minmax(0,1fr);align-items:center;gap:6px 16px;padding:13px 14px}
  [data-fs-theme='groundwork'] .fs-gwm-call{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 18px;padding-right:40px}
  [data-fs-theme='groundwork'] .fs-gwm-call > .fs-gwm-tag{justify-self:start}
  [data-fs-theme='groundwork'] .fs-gwm-call-tel{grid-column:2;grid-row:1/span 2;align-self:center}
}
@container (max-width: 44rem){
  [data-fs-theme='groundwork'] .fs-gwm-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
  [data-fs-theme='groundwork'] .fs-gwm-plate{display:flex;align-items:flex-start;gap:6px;padding:13px 14px 14px}
}
@container (max-width: 30rem){
  [data-fs-theme='groundwork'] .fs-gwm-plates{grid-template-columns:minmax(0,1fr) !important}
  [data-fs-theme='groundwork'] .fs-gwm-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"plates" "ba" "rest"}
  [data-fs-theme='groundwork'] .fs-gwm-head{flex-direction:column;align-items:flex-start}
  [data-fs-theme='groundwork'] .fs-gwm-call{grid-template-columns:minmax(0,1fr)}
  [data-fs-theme='groundwork'] .fs-gwm-call-tel{grid-column:1;grid-row:auto;margin-left:0}
}
/* The same composite in the phone menu: no border, clip or shadow; the
   lede, plate bodies, before-and-after and callout leave (the foot is
   the callout); plates keep their border and shadow; chips stay. */
[data-fs-theme='groundwork'] .fs-hdr-mobile .fs-gwm-card{border:0;background:none;clip-path:none}
[data-fs-theme='groundwork'] .fs-hdr-mobile :is(.fs-gwm-head,.fs-gwm-pb,.fs-gwm-ba,.fs-gwm-call){display:none}
[data-fs-theme='groundwork'] .fs-hdr-mobile .fs-gwm-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"plates" "rest";gap:20px;padding:0 0 16px}
[data-fs-theme='groundwork'] .fs-hdr-mobile .fs-gwm-plates{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
[data-fs-theme='groundwork'] .fs-hdr-mobile .fs-gwm-plate{padding:12px 13px;box-shadow:3px 3px 0 color-mix(in srgb, var(--gw-hard) 85%, transparent)}
[data-fs-theme='groundwork'] .fs-hdr-mobile .fs-gwm-pt{font-size:17px}
@media (prefers-reduced-motion: reduce){
  [data-fs-theme='groundwork'] .fs-hdr-cta,[data-fs-theme='groundwork'] .fs-gwm-plate{transition:none}
  [data-fs-theme='groundwork'] .fs-hdr-cta.fs-hdr-cta:hover,[data-fs-theme='groundwork'] .fs-gwm-plate:hover{transform:none}
}


/* Tokens (mockup 43–44). --bs-ink-hi: brand 78% into ink (bare brand is
   too light on the tints); --bs-band: the header's tinted band; --bs-ink2:
   the design's secondary ink; --bs-chip: the name-tag ground; --bs-rim /
   --bs-rim2: sticker rims; --bs-dot: bullet dots; --bs-lift: the pinned
   notes' shadow; --bs-badge-bg / --bs-on-accent: the "Most families"
   badge (a lighter accent under a fixed dark label).
   RECIPE FIX (theme-chrome batch 2, contrast gate): the mockup's own
   --band mix (brand 11% into paper) measured 4.44:1 for "brand ink on
   the header band" on Tangerine & Teal light — under the 4.5:1 floor —
   because the mockup was only ever eyeballed against Sunshine & Sky.
   Per the plan's Global Constraints ("fix the recipe, never the
   palette"), --bs-band walks down to 9% brand (comfortably lighter,
   never the Tangerine & Teal hex) so every palette, light and dark,
   clears 4.5:1 with margin — see the task report for the measured
   table. */
[data-fs-theme='bright-start']{--fs-chrome-mode:light;--bs-ink-hi:color-mix(in srgb, rgb(var(--c-brand-600)) 78%, rgb(var(--c-ink-950)));--bs-rule:rgb(var(--c-ink-950) / .15);--bs-ink2:color-mix(in srgb, rgb(var(--c-ink-950)) 78%, rgb(var(--c-paper)));--bs-chip:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 24%, rgb(var(--c-paper)));--bs-rim:rgb(var(--c-brand-600) / .35);--bs-rim2:rgb(var(--c-accent, var(--c-brand-600)) / .55);--bs-dot:rgb(var(--c-accent, var(--c-brand-600)) / .75);--bs-lift:0 14px 30px -14px rgb(var(--c-ink-950) / .38);--bs-band:color-mix(in srgb, rgb(var(--c-brand-600)) 9%, rgb(var(--c-paper)));--bs-on-accent:rgb(var(--c-ink-950));--bs-badge-bg:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 68%, rgb(var(--c-paper)))}
[data-fs-theme='bright-start'].dark{--fs-chrome-mode:dark;--bs-rule:rgb(var(--c-ink-950) / .16);--bs-ink2:color-mix(in srgb, rgb(var(--c-ink-950)) 74%, rgb(var(--c-paper)));--bs-chip:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 16%, rgb(var(--c-paper)));--bs-rim:rgb(var(--c-brand-600) / .4);--bs-lift:0 16px 34px -14px rgb(0 0 0 / .6);--bs-on-accent:var(--fs-on-brand, rgb(var(--c-paper)));--bs-badge-bg:rgb(var(--c-accent, var(--c-brand-600)))}
/* The band (the desktop gate) is the tinted board; its last 14px hang a
   scalloped valance over the page, painted (never a positioned child). */
[data-fs-theme='bright-start'] .fs-hdr-band{container-type:inline-size;container-name:fs-band;border-bottom-width:0;padding-bottom:14px;background:radial-gradient(circle at 12px 0,var(--bs-band) 11.5px,transparent 12px) 0 100%/24px 14px repeat-x,linear-gradient(var(--bs-band),var(--bs-band)) 0 0/100% calc(100% - 14px) no-repeat}
/* The strip sits on the band: a row of dots along its foot; the note as a
   name-tag chip; the hours in the secondary ink; the phone in brand ink. */
[data-fs-theme='bright-start'] .fs-hdr-util{container-type:inline-size;background:radial-gradient(circle,rgb(var(--c-brand-600) / .32) 1.6px,transparent 2.1px) 0 100%/11px 5px repeat-x}
[data-fs-theme='bright-start'] .fs-hdr-util-in{display:flex;align-items:center;gap:20px;min-height:0;padding-block:10px 11px;border-bottom:0;font-weight:700;font-size:13.5px;line-height:1.3;color:rgb(var(--c-ink-950))}
[data-fs-theme='bright-start'] .fs-hdr-util-note{order:-1;display:inline-flex;align-items:center;gap:8px;margin-right:auto;padding:6px 13px;border-radius:999px;background:var(--bs-chip);font-weight:800;font-size:13px;letter-spacing:.01em;white-space:nowrap}
[data-fs-theme='bright-start'] .fs-hdr-util-note::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:rgb(var(--c-brand-600))}
[data-fs-theme='bright-start'] .fs-hdr-util-hours{color:var(--bs-ink2)}
[data-fs-theme='bright-start'] .fs-hdr-util-dot{display:none}
[data-fs-theme='bright-start'] .fs-hdr-util-tel{margin-left:0;font-weight:800;color:var(--bs-ink-hi)}
@container (max-width: 40rem){
  [data-fs-theme='bright-start'] .fs-hdr-util-in{display:flex;justify-content:center}
  [data-fs-theme='bright-start'] .fs-hdr-util-item:not(.fs-hdr-util-tel){display:none}
}
[data-fs-theme='bright-start'] .fs-hdr-row{min-height:clamp(66px, (100cqi - 760px) * 100, 78px)}
/* The lockup: the rising sun (a 38px box = the design's 42px logo) and
   the name in Baloo 700. */
[data-fs-theme='bright-start'] .fs-hdr-row > :first-child{gap:4px;margin-right:auto;padding-right:20px}
[data-fs-theme='bright-start'] .fs-hdr-row [data-fs-logo-mark]{width:38px;height:38px}
[data-fs-theme='bright-start'] .fs-hdr-row [data-fs-wordmark]{font-size:22.9px;line-height:1}
/* The button: the big round brand button, a sunshine dot before the
   label, a tinted shadow, a lift and a half-degree turn on hover. */
[data-fs-theme='bright-start'] .fs-hdr-cta{--fs-hdr-cta-bg:rgb(var(--c-brand-600));--fs-hdr-cta-fg:var(--fs-on-brand, rgb(var(--c-paper)));--fs-hdr-cta-bg-hover:rgb(var(--c-brand-600));--fs-hdr-cta-fg-hover:var(--fs-on-brand, rgb(var(--c-paper)))}
[data-fs-theme='bright-start'] .fs-hdr-cta.fs-hdr-cta{flex:none;gap:9px;padding:14px 24px;border-radius:999px;font-weight:800;font-size:15px;line-height:1;box-shadow:0 10px 22px -8px rgb(var(--c-brand-600) / .65);transition:transform .25s ease,box-shadow .25s ease}
[data-fs-theme='bright-start'] .fs-hdr-cta.fs-hdr-cta::before{content:"";flex:none;width:9px;height:9px;border-radius:50%;background:rgb(var(--c-accent, var(--c-brand-600)))}
[data-fs-theme='bright-start'] .fs-hdr-cta.fs-hdr-cta:hover{transform:translateY(-2px) rotate(-.5deg);box-shadow:0 14px 28px -8px rgb(var(--c-brand-600) / .7)}
[data-fs-theme='bright-start'] .fs-hdr-row .fs-hdr-cta{margin-left:18px}
/* The menu button: a round paper sticker with a brand rim; three lines
   tilted together, the short middle one in the accent. */
[data-fs-theme='bright-start'] .fs-hdr-menu-btn{position:relative;width:46px;height:46px;margin-left:14px;border-radius:50%;background:rgb(var(--c-paper));border:2px solid var(--bs-rim)}
[data-fs-theme='bright-start'] .fs-hdr-menu-btn::before{content:"";position:absolute;left:50%;top:50%;width:18px;height:15.5px;margin:-7.75px 0 0 -9px;background:linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) 0 0/18px 2.5px no-repeat,linear-gradient(rgb(var(--c-accent, var(--c-brand-600))),rgb(var(--c-accent, var(--c-brand-600)))) center/12px 2.5px no-repeat,linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) 0 100%/18px 2.5px no-repeat;transform:rotate(-4deg)}
[data-fs-theme='bright-start'] .fs-hdr-menu-btn svg{display:none}
/* The shell: no frame; 24px below the row (10px under the scallop tips);
   the board's tamed-blob corners and its deep soft shadow. */
[data-fs-theme='bright-start'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite){margin-top:24px !important;background:transparent !important;border:0 !important;border-radius:30px 38px 32px 26px/34px 28px 38px 30px !important;box-shadow:0 30px 60px -24px rgb(var(--c-ink-950) / .45) !important}
[data-fs-theme='bright-start'].dark .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite){box-shadow:0 30px 60px -20px rgb(0 0 0 / .7) !important}
[data-fs-theme='bright-start'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite)::before{top:-24px;height:24px}
/* Layout tiers (mockup 219–240); desktop only. */
@container fs-band (min-width: 62rem){
  /* Boxed (880): a safety margin. */
  @container (max-width: 60rem){
    [data-fs-theme='bright-start'] .fs-hdr-row > :first-child{padding-right:14px}
    [data-fs-theme='bright-start'] .fs-hdr-row [data-fs-logo-mark]{width:35px;height:35px}
    [data-fs-theme='bright-start'] .fs-hdr-row [data-fs-wordmark]{font-size:20.7px}
    [data-fs-theme='bright-start'] .fsmenu-brightCrayon{--bs-pad:10px}
    [data-fs-theme='bright-start'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:12px;padding-inline:20px}
  }
  /* Centered (784). */
  @container (max-width: 50rem){
    [data-fs-theme='bright-start'] .fs-hdr-row > :first-child{padding-right:10px}
    [data-fs-theme='bright-start'] .fs-hdr-row [data-fs-logo-mark]{width:31px;height:31px}
    [data-fs-theme='bright-start'] .fs-hdr-row [data-fs-wordmark]{font-size:18.5px}
    [data-fs-theme='bright-start'] .fsmenu-brightCrayon{--bs-pad:8px;--bs-fs:16px}
    [data-fs-theme='bright-start'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:10px;padding:12px 17px;font-size:14px}
  }
  /* Minimalist (688): the button keeps its sun dot. */
  @container (max-width: 44rem){
    [data-fs-theme='bright-start'] .fs-hdr-row [data-fs-logo-mark]{width:28px;height:28px}
    [data-fs-theme='bright-start'] .fs-hdr-row [data-fs-wordmark]{font-size:16.9px}
    [data-fs-theme='bright-start'] .fsmenu-brightCrayon{--bs-pad:6px;--bs-fs:15.5px;gap:5px}
    [data-fs-theme='bright-start'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:6px;padding:11px 14px;gap:7px;font-size:13.5px}
  }
  /* R17 (final batch2 fix pass, 2026-09-30): six full nav labels, the
     longer "Book a first visit" phrase and a ten-letter wordmark
     measured ~21px wider than the row even at the Minimalist tier's own
     numbers above — but that measurement was taken on /preview/view,
     whose row carries an extra gap-5 px-7 (TemplateViewClient.tsx)
     neither the editor (EditWpClient.tsx) nor the published site
     (PublicSiteClient.tsx) apply to their .fs-hdr-row (px-6, no gap).
     Real surfaces still needed SOME of this squeeze — every knob here
     only shrinks an element's own box (the nav's own padding/gap, the
     button's own size and its own inner gap, the lockup's own gap),
     never a margin pulled to/past zero that would rely on preview's
     extra gap to stay clear of a neighbour. Verified live: 0px spill on
     /preview/view (this gate's own probe) at every tier x 1280/1440,
     and a real, unforced gap ahead of the last nav item on
     /preview/editor at the same combinations. */
  @container (max-width: 44rem){
    [data-fs-theme='bright-start'] .fs-hdr-row > :first-child{gap:4px;padding-right:10px}
    [data-fs-theme='bright-start'] .fsmenu-brightCrayon-nav{gap:1px}
    [data-fs-theme='bright-start'] .fsmenu-brightCrayon{--bs-pad:4px}
    [data-fs-theme='bright-start'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:4px;padding:10px 10px;gap:5px;font-size:12.5px}
    [data-fs-theme='bright-start'] .fs-hdr-menu-btn{margin-left:6px}
  }
}
@container (max-width: 34rem){
  [data-fs-theme='bright-start'] .fs-hdr-row [data-fs-logo-mark]{width:31px;height:31px}
  [data-fs-theme='bright-start'] .fs-hdr-row [data-fs-wordmark]{font-size:18.5px}
}
/* R16 (theme-chrome fix round 2, precedent in counsel/hale/plateful/
   mane-studio/enamel/vernier/groundwork-chrome-styles.ts): the read-only
   preview alone renders a fixed-width "Edit Template" link plus a visitor
   dark/light toggle (TemplateViewClient.tsx), present on no real site.
   At the preview's own 390/320px widths the trailing group (mode toggle +
   Edit Template link + menu button) needs more room than the row has,
   even though .fs-hdr-contact/.fs-hdr-cta are already hidden by the
   platform's own ≤34rem rule. The brand MARK (data-fs-logo-mark) stays
   throughout, so the header is never unbranded, even on this one
   preview-only, extreme-narrow case. [data-fs-preview-edit] is the
   stable, surface-only hook the Edit Template link alone carries; :has()
   reaches up from it so only a row that actually contains it is
   affected — published and editor markup never has the hook. */
@container (max-width: 34rem){
  [data-fs-theme='bright-start'] .fs-hdr-row:has([data-fs-preview-edit]) .fs-hdr-mode{display:none}
}
@container (max-width: 22rem){
  [data-fs-theme='bright-start'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{display:none}
}
/* Measured live: the editor's own tablet canvas (a container width of
   roughly 47.9rem) sits above the 40rem cutoff that hides the note, so
   all three strip items show — but the note chip's own vertical padding
   makes it taller than the plain-text hours/tel items, and centring the
   row on that extra height reads as a second line to a script measuring
   each item's own top edge. A shorter chip below 50rem keeps its look,
   just closer in height to its neighbours. */
@container (max-width: 50rem){
  [data-fs-theme='bright-start'] .fs-hdr-util-note{padding:0 12px;line-height:1.35}
}

/* The same band and scalloped valance as the header, "Menu" as a name
   tag, a round sticker close; Baloo rows with dot bullets on dashed
   rules; the current row wears the crayon squiggle. */
[data-fs-theme='bright-start'] .fs-hdr-mobile-head{height:auto;padding:14px 20px 28px;border-bottom:0;background:radial-gradient(circle at 12px 0,var(--bs-band) 11.5px,transparent 12px) 0 100%/24px 14px repeat-x,linear-gradient(var(--bs-band),var(--bs-band)) 0 0/100% calc(100% - 14px) no-repeat}
[data-fs-theme='bright-start'] .fs-hdr-mobile-title{display:inline-flex;align-items:center;gap:8px;padding:8px 15px;border-radius:999px;background:var(--bs-chip);font-family:inherit;font-weight:800;font-size:12.5px;line-height:1.2;letter-spacing:.09em;text-transform:uppercase;color:rgb(var(--c-ink-950))}
[data-fs-theme='bright-start'] .fs-hdr-mobile-title::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:rgb(var(--c-brand-600))}
[data-fs-theme='bright-start'] .fs-hdr-mobile-close{width:44px;height:44px;border-radius:50%;background:rgb(var(--c-paper));border:2px solid var(--bs-rim);color:rgb(var(--c-ink-950));transform:rotate(4deg)}
[data-fs-theme='bright-start'] .fs-hdr-mobile > nav{padding:4px 20px 0}
[data-fs-theme='bright-start'] .fs-hdr-mobile-row{display:flex;align-items:center;border-bottom:1.5px dashed var(--bs-rule)}
[data-fs-theme='bright-start'] .fs-hdr-mobile-row:has(.fs-hdr-mobile-toggle[aria-expanded='true']){border-bottom:0}
[data-fs-theme='bright-start'] .fs-hdr-mobile-link:not(.is-sub){display:flex;align-items:center;gap:14px;flex:1;padding:13px 2px;font-family:var(--font-display, 'Trebuchet MS', sans-serif);font-weight:600;font-size:22px;line-height:1.2;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='bright-start'] .fs-hdr-mobile-link:not(.is-sub)::before{content:"";flex:none;width:10px;height:10px;border-radius:50%;background:var(--bs-dot)}
[data-fs-theme='bright-start'] .fs-hdr-mobile-link.fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false']){color:var(--bs-ink-hi);text-decoration:underline wavy rgb(var(--c-accent, var(--c-brand-600)));text-decoration-thickness:3px;text-underline-offset:7px;text-decoration-skip-ink:none}
[data-fs-theme='bright-start'] .fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false'])::before{width:12px;height:12px;background:rgb(var(--c-brand-600))}
[data-fs-theme='bright-start'] .fs-hdr-mobile-toggle{margin-right:8px;color:rgb(var(--c-ink-950))}
[data-fs-theme='bright-start'] .fs-hdr-mobile-sub{padding:6px 0 14px;border-bottom:1.5px dashed var(--bs-rule)}

/* A pinned note (surface, a brand pin, tilted) with the hours small and
   the phone large; then the big round button, full width. */
[data-fs-theme='bright-start'] .fs-pmf-bright-start{display:grid;gap:16px;margin-top:auto;padding:34px 0 24px}
[data-fs-theme='bright-start'] .fs-pmf-note{position:relative;padding:24px 20px 18px;border-radius:8px 8px 26px 8px;background:rgb(var(--c-paper-soft));box-shadow:var(--bs-lift);transform:rotate(-.7deg);text-align:center}
[data-fs-theme='bright-start'] .fs-pmf-note::before{content:"";position:absolute;top:-9px;left:50%;width:18px;height:18px;border-radius:50%;transform:translateX(-50%);background:rgb(var(--c-brand-600));box-shadow:0 2px 4px rgb(0 0 0 / .3),inset -3px -3px 0 rgb(0 0 0 / .14)}
[data-fs-theme='bright-start'] .fs-pmf-hours{margin:0;font-weight:800;font-size:12px;line-height:1.3;letter-spacing:.14em;text-transform:uppercase;color:var(--bs-ink-hi)}
[data-fs-theme='bright-start'] .fs-pmf-big{margin:4px 0 0;font-family:var(--font-display, 'Trebuchet MS', sans-serif);font-weight:700;font-size:30px;line-height:1.1;font-variant-numeric:tabular-nums;color:rgb(var(--c-ink-950))}
[data-fs-theme='bright-start'] .fs-pmf-tel{color:inherit;text-decoration:none}
[data-fs-theme='bright-start'] .fs-pmf .fs-hdr-cta.fs-pmf-cta{display:flex;width:100%;margin:0;padding-block:17px;font-size:16px}

/* The hallway board — devices ported from the mockup's shared kit (the
   name tag, the crayon underline, the sticker, the pin and its brand dot,
   the big round button and the dashed button) plus the panel's own
   markup (mockup 110–144). The shell's border/radius/overflow sits here;
   the outer box-shadow is on the fsdrop shell above so it never clips. */
[data-fs-theme='bright-start'] .fs-bsm-panel{container-type:inline-size;overflow:clip;background:rgb(var(--c-paper));border:2px solid var(--bs-rule);border-radius:30px 38px 32px 26px/34px 28px 38px 30px}
[data-fs-theme='bright-start'] .fs-bsm-grid{display:grid;grid-template-columns:minmax(0,1fr) 272px;gap:26px 34px;padding:26px 30px 0}
[data-fs-theme='bright-start'] .fs-bsm-tag{display:inline-flex;align-items:center;gap:8px;padding:6px 13px;border-radius:999px;background:var(--bs-chip);color:rgb(var(--c-ink-950));font-weight:800;font-size:11.5px;line-height:1.2;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}
[data-fs-theme='bright-start'] .fs-bsm-tag::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:rgb(var(--c-brand-600))}
[data-fs-theme='bright-start'] .fs-bsm-title{margin:12px 0 0;font-weight:700;font-size:27px;line-height:1.15;font-family:var(--font-display, 'Trebuchet MS', sans-serif);color:rgb(var(--c-ink-950))}
[data-fs-theme='bright-start'] .fs-bsm-crayon{color:var(--bs-ink-hi);text-decoration:underline wavy rgb(var(--c-accent, var(--c-brand-600)));text-decoration-thickness:3px;text-underline-offset:.2em;text-decoration-skip-ink:none}
[data-fs-theme='bright-start'] .fs-bsm-intro{margin:6px 0 0;max-width:48ch;font-size:14.5px;line-height:1.55;color:var(--bs-ink2)}
[data-fs-theme='bright-start'] .fs-bsm-ways{list-style:none;margin:14px 0 0;padding:0;counter-reset:bsm}
[data-fs-theme='bright-start'] .fs-bsm-way{display:grid;grid-template-columns:46px minmax(0,1fr);column-gap:14px;align-items:center;padding:11px 0;border-top:1.5px dashed var(--bs-rule)}
[data-fs-theme='bright-start'] .fs-bsm-way:first-child{border-top:0}
[data-fs-theme='bright-start'] .fs-bsm-blob{grid-row:span 2;display:grid;place-items:center;width:46px;height:46px;border-radius:62% 38% 55% 45%/54% 49% 51% 46%;background:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 34%, rgb(var(--c-paper)))}
[data-fs-theme='bright-start'] .fs-bsm-blob::before{counter-increment:bsm;content:counter(bsm);font-weight:700;font-size:20px;line-height:1;font-family:var(--font-display, 'Trebuchet MS', sans-serif);color:rgb(var(--c-ink-950))}
[data-fs-theme='bright-start'] .fs-bsm-way:nth-child(2) .fs-bsm-blob{border-radius:45% 55% 40% 60%/48% 44% 56% 52%;background:color-mix(in srgb, rgb(var(--c-brand-600)) 20%, rgb(var(--c-paper)))}
[data-fs-theme='bright-start'] .fs-bsm-way:nth-child(3) .fs-bsm-blob{border-radius:55% 45% 52% 48%/42% 54% 46% 58%}
[data-fs-theme='bright-start'] .fs-bsm-wn{justify-self:start;font-weight:700;font-size:19.5px;line-height:1.2;font-family:var(--font-display, 'Trebuchet MS', sans-serif);color:rgb(var(--c-ink-950));text-decoration:underline wavy transparent;text-decoration-thickness:2.5px;text-underline-offset:5px;text-decoration-skip-ink:none;transition:text-decoration-color .2s ease}
[data-fs-theme='bright-start'] .fs-bsm-wn:hover{text-decoration-color:rgb(var(--c-accent, var(--c-brand-600)))}
[data-fs-theme='bright-start'] .fs-bsm-wb{margin:2px 0 0;font-size:14px;line-height:1.5;color:var(--bs-ink2)}
/* The visit row: shown only on the wide board (see the tiers below). */
[data-fs-theme='bright-start'] .fs-bsm-visit{display:none;align-items:center;gap:22px;margin-top:24px;padding-top:20px;border-top:1.5px dashed var(--bs-rule)}
[data-fs-theme='bright-start'] .fs-bsm-visit-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;flex:none;padding:14px 24px;border-radius:999px;background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)));font-weight:800;font-size:15px;line-height:1;white-space:nowrap;text-decoration:none;box-shadow:0 10px 22px -8px rgb(var(--c-brand-600) / .65);transition:transform .25s ease,box-shadow .25s ease}
[data-fs-theme='bright-start'] .fs-bsm-visit-btn::before{content:"";flex:none;width:9px;height:9px;border-radius:50%;background:rgb(var(--c-accent, var(--c-brand-600)))}
[data-fs-theme='bright-start'] .fs-bsm-visit-btn:hover{transform:translateY(-2px) rotate(-.5deg);box-shadow:0 14px 28px -8px rgb(var(--c-brand-600) / .7)}
[data-fs-theme='bright-start'] .fs-bsm-visit-n{margin:0;max-width:52ch;font-size:14px;line-height:1.5;color:var(--bs-ink2)}
[data-fs-theme='bright-start'] .fs-bsm-visit-t{display:block;font-weight:700;font-size:18px;line-height:1.3;font-family:var(--font-display, 'Trebuchet MS', sans-serif);color:rgb(var(--c-ink-950))}
/* The fee note, pinned: paper-soft, tilted, one soft corner, a brand pin. */
[data-fs-theme='bright-start'] .fs-bsm-note{position:relative;align-self:start;margin-top:12px;padding:26px 20px 20px;border-radius:8px 8px 26px 8px;background:rgb(var(--c-paper-soft));box-shadow:var(--bs-lift);transform:rotate(1.4deg)}
[data-fs-theme='bright-start'] .fs-bsm-note::before{content:"";position:absolute;top:-9px;left:50%;width:18px;height:18px;border-radius:50%;transform:translateX(-50%);background:rgb(var(--c-brand-600));box-shadow:0 2px 4px rgb(0 0 0 / .3),inset -3px -3px 0 rgb(0 0 0 / .14)}
[data-fs-theme='bright-start'] .fs-bsm-note-t{margin:0;font-weight:700;font-size:19px;line-height:1.2;font-family:var(--font-display, 'Trebuchet MS', sans-serif);color:rgb(var(--c-ink-950))}
[data-fs-theme='bright-start'] .fs-bsm-fees{list-style:none;margin:8px 0 0;padding:0}
[data-fs-theme='bright-start'] .fs-bsm-fee{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 10px;padding-block:9px;border-bottom:1.5px dashed var(--bs-rule)}
[data-fs-theme='bright-start'] .fs-bsm-fee-n{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0;font-weight:700;font-size:14.5px;line-height:1.3}
[data-fs-theme='bright-start'] .fs-bsm-fee-p{display:flex;flex-direction:column;align-items:flex-end;gap:1px;font-weight:700;font-size:22px;line-height:1;font-family:var(--font-display, 'Trebuchet MS', sans-serif);color:var(--bs-ink-hi);white-space:nowrap}
[data-fs-theme='bright-start'] .fs-bsm-fee-per{font-weight:700;font-size:12px;line-height:1.2;color:var(--bs-ink2)}
[data-fs-theme='bright-start'] .fs-bsm-badge{display:inline-block;padding:3px 8px;border-radius:999px;background:var(--bs-badge-bg);color:var(--bs-on-accent);font-weight:800;font-size:10.5px;line-height:1.2;letter-spacing:.06em;text-transform:uppercase;transform:rotate(-2deg)}
[data-fs-theme='bright-start'] .fs-bsm-note-n{margin:10px 0 0;font-size:13px;line-height:1.5;color:var(--bs-ink2)}
[data-fs-theme='bright-start'] .fs-bsm-btn2{display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border-radius:999px;border:2.5px dashed rgb(var(--c-brand-600) / .55);color:var(--bs-ink-hi);font-weight:800;font-size:14px;line-height:1;white-space:nowrap;text-decoration:none;transition:border-color .25s ease}
[data-fs-theme='bright-start'] .fs-bsm-btn2:hover{border-color:rgb(var(--c-brand-600))}
[data-fs-theme='bright-start'] .fs-bsm-note .fs-bsm-btn2{margin-top:14px}
/* The sticker band along the bottom (favBrightQuals, in brief). */
[data-fs-theme='bright-start'] .fs-bsm-quals{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:24px;padding:16px 30px 20px;background:rgb(var(--c-paper-soft))}
[data-fs-theme='bright-start'] .fs-bsm-quals-l{font-weight:800;font-size:11.5px;line-height:1.3;letter-spacing:.16em;text-transform:uppercase;color:var(--bs-ink2)}
[data-fs-theme='bright-start'] .fs-bsm-stickers{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:9px 8px}
[data-fs-theme='bright-start'] .fs-bsm-sticker{display:inline-flex;align-items:center;padding:6px 13px;border-radius:999px;background:rgb(var(--c-paper));border:2px solid var(--bs-rim);font-weight:700;font-size:13px;line-height:1.2;color:rgb(var(--c-ink-950));white-space:nowrap;transform:rotate(-1.5deg)}
[data-fs-theme='bright-start'] .fs-bsm-sticker:nth-child(2n){transform:rotate(1.2deg);border-color:var(--bs-rim2)}
[data-fs-theme='bright-start'] .fs-bsm-sticker:nth-child(3n){transform:rotate(-.8deg)}
/* The board matches the bar; content box = panel − 4px border: 1388 /
   1228 / 1148 / 876 / 780 / 684; phone-menu copies 728 and 350. BASE
   (Boxed, Centered) is the list board; 66rem+ the wide board; 82rem+
   Full at 1440 only; <=46rem a 240px note; <=30rem one column. */
@container (min-width: 66rem){
  [data-fs-theme='bright-start'] .fs-bsm-grid{grid-template-columns:minmax(0,1fr) 300px;column-gap:44px;padding:30px 36px 0}
  [data-fs-theme='bright-start'] .fs-bsm-head{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:end;column-gap:40px}
  [data-fs-theme='bright-start'] .fs-bsm-head .fs-bsm-tag{grid-column:1/-1;justify-self:start}
  [data-fs-theme='bright-start'] .fs-bsm-intro{max-width:46ch;margin-top:0;padding-bottom:3px}
  [data-fs-theme='bright-start'] .fs-bsm-ways{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:24px}
  [data-fs-theme='bright-start'] .fs-bsm-way{grid-template-columns:minmax(0,1fr);align-content:start;row-gap:4px;padding:2px 20px 4px;border-top:0;border-left:1.5px dashed var(--bs-rule)}
  [data-fs-theme='bright-start'] .fs-bsm-wn{font-size:18.5px}
  [data-fs-theme='bright-start'] .fs-bsm-visit{display:flex}
  [data-fs-theme='bright-start'] .fs-bsm-way:first-child{padding-left:0;border-left:0}
  [data-fs-theme='bright-start'] .fs-bsm-blob{grid-row:auto;margin-bottom:8px}
  [data-fs-theme='bright-start'] .fs-bsm-wb{max-width:36ch}
  [data-fs-theme='bright-start'] .fs-bsm-note{margin-top:4px}
  [data-fs-theme='bright-start'] .fs-bsm-quals{margin-top:30px;padding-inline:36px}
}
@container (min-width: 82rem){
  [data-fs-theme='bright-start'] .fs-bsm-grid{grid-template-columns:minmax(0,1fr) 320px;column-gap:60px;padding-inline:48px}
  [data-fs-theme='bright-start'] .fs-bsm-way{padding-inline:32px}
  [data-fs-theme='bright-start'] .fs-bsm-wn{font-size:19.5px}
  [data-fs-theme='bright-start'] .fs-bsm-way:first-child{padding-left:0}
  [data-fs-theme='bright-start'] .fs-bsm-quals{padding-inline:48px}
}
@container (max-width: 46rem){
  [data-fs-theme='bright-start'] .fs-bsm-grid{grid-template-columns:minmax(0,1fr) 240px;column-gap:26px;padding-inline:24px}
  [data-fs-theme='bright-start'] .fs-bsm-quals{padding-inline:24px}
  [data-fs-theme='bright-start'] .fs-bsm-title{font-size:24px}
}
@container (max-width: 30rem){
  [data-fs-theme='bright-start'] .fs-bsm-grid{grid-template-columns:minmax(0,1fr)}
}
/* The same composite in the phone menu: the opener, the way bodies, the
   stickers and the fee footnote leave; the ways (names, 36px blobs) and
   the pinned fees stay — the fees are what parents open Sessions for. */
[data-fs-theme='bright-start'] .fs-hdr-mobile .fs-bsm-panel{border:0;border-radius:0;background:transparent;overflow:visible}
[data-fs-theme='bright-start'] .fs-hdr-mobile :is(.fs-bsm-head,.fs-bsm-wb,.fs-bsm-quals,.fs-bsm-note-n){display:none}
[data-fs-theme='bright-start'] .fs-hdr-mobile .fs-bsm-grid{padding:0 0 4px;gap:18px}
[data-fs-theme='bright-start'] .fs-hdr-mobile .fs-bsm-ways{margin-top:0}
[data-fs-theme='bright-start'] .fs-hdr-mobile .fs-bsm-way{grid-template-columns:36px minmax(0,1fr);padding:8px 0}
[data-fs-theme='bright-start'] .fs-hdr-mobile .fs-bsm-blob{width:36px;height:36px}
[data-fs-theme='bright-start'] .fs-hdr-mobile .fs-bsm-blob::before{font-size:17px}
[data-fs-theme='bright-start'] .fs-hdr-mobile .fs-bsm-wn{font-size:18px}
[data-fs-theme='bright-start'] .fs-hdr-mobile .fs-bsm-note{margin:14px 6px 6px;transform:rotate(-1deg)}
@media (prefers-reduced-motion: reduce){
  [data-fs-theme='bright-start'] .fs-hdr-cta,[data-fs-theme='bright-start'] .fs-bsm-visit-btn,[data-fs-theme='bright-start'] .fs-bsm-btn2,[data-fs-theme='bright-start'] .fs-bsm-wn{transition:none}
  [data-fs-theme='bright-start'] .fs-hdr-cta.fs-hdr-cta:hover,[data-fs-theme='bright-start'] .fs-bsm-visit-btn:hover{transform:none}
}


/* Tokens (mockup 44–45). --st-rule: the register hairline; --st-tint: the
   urgent block's wash; --st-axis: the vision diagram's axis (accent at
   .55); --st-shade: the panel's shadow (pure black at .6 in dark). */
[data-fs-theme='stanhope']{--fs-chrome-mode:light;--st-rule:rgb(var(--c-ink-950) / .16);--st-tint:rgb(var(--c-brand-600) / .08);--st-axis:rgb(var(--c-accent, var(--c-brand-600)) / .55);--st-shade:rgb(var(--c-ink-950) / .26)}
[data-fs-theme='stanhope'].dark{--fs-chrome-mode:dark;--st-tint:rgb(var(--c-brand-600) / .1);--st-shade:rgb(0 0 0 / .6)}
/* The strip: the urgent block's wash; the note on its 4px accent edge;
   the hours in ink-700; the phone in Spectral, brand. The strip is
   full-bleed, so its line cannot see a Layout: Minimalist drops the hours
   by Layout, a tablet by width (notes: the strip-in rule). */
[data-fs-theme='stanhope'] .fs-hdr-util{container-type:inline-size;background:var(--st-tint);font-size:13px;line-height:1.3}
[data-fs-theme='stanhope'] .fs-hdr-util-in{display:flex;align-items:center;gap:8px 24px;min-height:0;padding-block:8px;border-bottom:0;color:rgb(var(--c-ink-950))}
[data-fs-theme='stanhope'] .fs-hdr-util-note{order:-1;margin-right:auto;padding-left:10px;border-left:4px solid rgb(var(--c-accent, var(--c-brand-600)));font-weight:700}
[data-fs-theme='stanhope'] .fs-hdr-util-hours{color:rgb(var(--c-ink-700))}
[data-fs-theme='stanhope'] .fs-hdr-util-dot{display:none}
[data-fs-theme='stanhope'] .fs-hdr-util-tel{margin-left:0;font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:16px;line-height:1.2;letter-spacing:.01em;font-variant-numeric:tabular-nums;white-space:nowrap;color:rgb(var(--c-brand-text))}
[data-fs-theme='stanhope'][data-fs-layout='minimal'] .fs-hdr-util-hours{display:none}
@container (max-width: 48rem){
  [data-fs-theme='stanhope'] .fs-hdr-util-hours{display:none}
}
@container (max-width: 40rem){
  [data-fs-theme='stanhope'] .fs-hdr-util-in{display:flex;justify-content:center}
  [data-fs-theme='stanhope'] .fs-hdr-util-item:not(.fs-hdr-util-tel){display:none}
  [data-fs-theme='stanhope'] .fs-hdr-util-tel{padding-left:10px;border-left:4px solid rgb(var(--c-accent, var(--c-brand-600)))}
}
/* The band (the desktop gate) keeps one plain hairline for its edge. */
[data-fs-theme='stanhope'] .fs-hdr-band{container-type:inline-size;container-name:fs-band;border-bottom:1px solid var(--st-rule);background:rgb(var(--c-paper))}
[data-fs-theme='stanhope'] .fs-hdr-row{min-height:clamp(64px, (100cqi - 760px) * 100, 78px)}
/* THE AXIS: the row's ::after, flex order 1 between the logo (0) and
   everything else (2), taking up the difference in every Layout, 2px
   above centre (the mark's own datum line), ending in the focal dot. */
[data-fs-theme='stanhope'] .fs-hdr-row::after{content:"";order:1;flex:1 1 0;min-width:24px;height:9px;margin-inline:18px;translate:0 -2px;background:radial-gradient(circle at calc(100% - 4.5px) 50%,rgb(var(--c-accent, var(--c-brand-600))) 3.4px,transparent 4px),linear-gradient(var(--st-axis),var(--st-axis)) 0 50%/calc(100% - 9px) 1px no-repeat}
[data-fs-theme='stanhope'] .fs-hdr-row > :not(:first-child){order:2}
/* The lockup: the lens mark (a 42px box) and STANHOPE in Spectral caps
   (weight 500 comes from themeDefaults — it is an inline setting). */
[data-fs-theme='stanhope'] .fs-hdr-row > :first-child{flex:none;gap:4px}
[data-fs-theme='stanhope'] .fs-hdr-row [data-fs-logo-mark]{width:42px;height:42px}
[data-fs-theme='stanhope'] .fs-hdr-row [data-fs-wordmark]{font-size:16.6px;line-height:1;letter-spacing:.142em;text-transform:uppercase}
/* The button keeps optic-styles.ts's plain control; only its colours and
   spacing are the design's here (0,4,0 beats optic's 0,3,0). */
[data-fs-theme='stanhope'] .fs-hdr-cta{--fs-hdr-cta-bg:rgb(var(--c-brand-600));--fs-hdr-cta-fg:var(--fs-on-brand, rgb(var(--c-paper)));--fs-hdr-cta-bg-hover:rgb(var(--c-brand-600));--fs-hdr-cta-fg-hover:var(--fs-on-brand, rgb(var(--c-paper)))}
[data-fs-theme='stanhope'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:28px;padding:.7rem 1.35rem;border-color:rgb(var(--c-brand-600));font-size:15px}
/* The menu button: three bars set to the right (decentration); the
   short middle one in the accent. */
[data-fs-theme='stanhope'] .fs-hdr-menu-btn{width:44px;height:44px;margin-left:14px;border:1px solid var(--st-rule);border-radius:0;background:linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) right 11px top 13px/20px 2px no-repeat,linear-gradient(rgb(var(--c-accent, var(--c-brand-600))),rgb(var(--c-accent, var(--c-brand-600)))) right 11px top 20px/12px 2px no-repeat,linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) right 11px top 27px/20px 2px no-repeat}
[data-fs-theme='stanhope'] .fs-hdr-menu-btn svg{display:none}
/* The shell: no frame; the default 10px gap; the panel's soft shadow. */
[data-fs-theme='stanhope'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite){margin-top:10px !important;background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:0 26px 48px -26px var(--st-shade) !important}
[data-fs-theme='stanhope'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite)::before{top:-10px;height:10px}
/* Layout tiers (mockup 217–243); desktop only. The axis is the give, so
   only the fixed parts step down; its side gaps tighten in Centered and
   Minimalist, and on screens of 760px and under. */
@container fs-band (min-width: 62rem){
  /* Boxed (880). */
  @container (max-width: 60rem){
    [data-fs-theme='stanhope'] .fs-hdr-row [data-fs-logo-mark]{width:38px;height:38px}
    [data-fs-theme='stanhope'] .fs-hdr-row [data-fs-wordmark]{font-size:15px}
    [data-fs-theme='stanhope'] .fsmenu-stanhopeDatum-nav{--st-gap:22px}
    [data-fs-theme='stanhope'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:22px;padding-inline:1.15rem}
  }
  /* Centered (784). */
  @container (max-width: 50rem){
    [data-fs-theme='stanhope'] .fs-hdr-row::after{margin-inline:14px}
    [data-fs-theme='stanhope'] .fs-hdr-row [data-fs-logo-mark]{width:34px;height:34px}
    [data-fs-theme='stanhope'] .fs-hdr-row [data-fs-wordmark]{font-size:13.5px}
    [data-fs-theme='stanhope'] .fsmenu-stanhopeDatum-nav{--st-gap:18px}
    [data-fs-theme='stanhope'] .fsmenu-stanhopeDatum{--st-fs:14.5px}
    [data-fs-theme='stanhope'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:18px;padding-inline:1rem;font-size:14.5px}
  }
  /* Minimalist (688): the axis shrinks to its 24px stub and its dot. */
  @container (max-width: 44rem){
    [data-fs-theme='stanhope'] .fs-hdr-row [data-fs-logo-mark]{width:31px;height:31px}
    [data-fs-theme='stanhope'] .fs-hdr-row [data-fs-wordmark]{font-size:12.3px}
    [data-fs-theme='stanhope'] .fsmenu-stanhopeDatum-nav{--st-gap:15px}
    [data-fs-theme='stanhope'] .fsmenu-stanhopeDatum{--st-fs:14px;--st-track:.01em}
    [data-fs-theme='stanhope'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:14px;padding-inline:.85rem;font-size:14px}
  }
  /* R17 (final batch2 fix pass, 2026-09-30): at Centered (784) five nav
     labels — Home, Eyecare, Fees, The practice, Find us — plus the lockup
     and the button overrun the ROW by ~43px, but that number was measured
     on /preview/view, whose row carries gap-5 px-7 (TemplateViewClient.
     tsx) — a Tailwind gap and extra padding neither the editor
     (EditWpClient.tsx) nor the published site (PublicSiteClient.tsx)
     apply to their .fs-hdr-row (px-6, no gap). That mandatory gap alone
     is worth 2x20px between this row's three top-level flex children
     (logo | axis | nav+cta+button), so the FIRST version of this squeeze
     (a negative margin-left pulling the nav and the button leftward) was
     calibrated against a cushion that is real in preview and DOESN'T
     EXIST on the editor/published row — on those surfaces the same
     negative margin pulled the nav straight into the axis's own box and
     the button straight into the nav's last link ("Find us"), a real
     overlap on customer sites, not just a preview artefact (caught by
     re-measuring bounding boxes against /preview/editor, whose row
     shares the real surfaces' spacing). Fixed the same way both times:
     every knob below only SHRINKS an element's own box (the axis's
     margin-inline, the nav's own --st-gap, the button's own margin/
     padding/font-size) rather than pulling one element's box across a
     neighbour's boundary, so the gap between any two elements can
     shrink toward zero but can never go negative on a row with no
     compensating Tailwind gap. Verified live on both surfaces:
     /preview/view (this gate's own probe) shows 0px spill at every
     Layout x 1280/1440, and /preview/editor (the real row spacing)
     shows every adjacent gap — nav-to-button, axis-to-nav — still
     positive (2-22px) at the same combinations. */
  @container (max-width: 50rem){
    [data-fs-theme='stanhope'] .fsmenu-stanhopeDatum-nav{--st-gap:12px}
    [data-fs-theme='stanhope'] .fs-hdr-row::after{margin-inline:8px}
    [data-fs-theme='stanhope'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:6px;padding:.6rem .85rem;font-size:13.5px}
  }
  /* Minimalist (688): same overrun, ~96px on /preview/view, same fix
     shape — the axis's own margin, the nav's own item gap and the
     button's own size all step down further, none of them ever crossing
     into a neighbour's box. See the Centered comment above for the full
     story (R17, final batch2 fix pass). */
  @container (max-width: 44rem){
    [data-fs-theme='stanhope'] .fs-hdr-row::after{margin-inline:2px}
    [data-fs-theme='stanhope'] .fsmenu-stanhopeDatum-nav{--st-gap:4px}
    [data-fs-theme='stanhope'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:4px;padding:.5rem .5rem;font-size:12px}
  }
}
@container (max-width: 34rem){
  [data-fs-theme='stanhope'] .fs-hdr-row [data-fs-logo-mark]{width:32px;height:32px}
  [data-fs-theme='stanhope'] .fs-hdr-row [data-fs-wordmark]{font-size:12.7px}
}
/* R16 precedent (theme-chrome fix round 2, also in counsel/hale/
   plateful/mane-studio/enamel/vernier/groundwork/bright-start-chrome-
   styles.ts): the read-only preview alone renders a fixed-width "Edit
   Template" link plus a visitor dark/light toggle (TemplateViewClient.
   tsx), present on no real site. At the preview's own 390/320px widths
   this trailing group needs more room than the row has, even with
   .fs-hdr-cta already hidden by the platform's own <=34rem rule. The
   brand MARK (data-fs-logo-mark) stays throughout, so the header is
   never unbranded, even on this one preview-only, extreme-narrow case.
   [data-fs-preview-edit] is the stable, surface-only hook the Edit
   Template link alone carries; :has() reaches up from it so only a row
   that actually contains it is affected — published and editor markup
   never has the hook. */
@container (max-width: 34rem){
  [data-fs-theme='stanhope'] .fs-hdr-row:has([data-fs-preview-edit]) .fs-hdr-mode{display:none}
}
@container (max-width: 25rem){
  [data-fs-theme='stanhope'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{display:none}
}
/* Measured live (probe-theme-chrome-layouts.mjs): the nav switches to
   the phone menu below the platform's own 1024px breakpoint (a real
   viewport width, Tailwind's own lg:flex, not a container query) — the
   axis has no such rule of its own, so it kept rendering at
   768/390/320px, pushing the mode toggle, the phone quick-link and the
   menu button past the edge of the row. fs-band's own inline-size
   tracks real viewport width closely enough, and, unlike a viewport-
   width rule, also tracks the editor's own simulated canvas — so a
   bounded container query at the same cutoff retires the axis exactly
   when the nav beside it disappears, on every surface. */
@container fs-band (max-width: 63.99rem){
  [data-fs-theme='stanhope'] .fs-hdr-row::after{display:none}
}
/* Measured live: between the hours hiding (48rem) and the strip's own
   compact, tel-only mode (40rem), the note's full sentence and the
   phone do not both fit on one line — the note has no min-width:0, so
   flexbox will not shrink it, and it pushes the phone number half off
   the strip instead of wrapping. A bounded fix in the same window lets
   the note truncate instead of overflowing. */
@container (max-width: 48rem){
  [data-fs-theme='stanhope'] .fs-hdr-util-note{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
/* Measured live: the note (13px, the body face) and the phone (16px,
   Georgia) have different font metrics, so centring them under the
   strip's default line-height lands their boxes a pixel apart on the
   cross axis — read as two lines by a pixel-exact probe even though
   nothing wraps. Giving both the same fixed line-box height removes the
   pixel regardless of the two faces' own metrics. */
[data-fs-theme='stanhope'] .fs-hdr-util-note,
[data-fs-theme='stanhope'] .fs-hdr-util-tel{line-height:20px}
/* "MENU" as a datum eyebrow whose hairline runs to the close button; the
   pages as a ruled register in Spectral; the current page brand ink with
   a 2px brand underline. */
[data-fs-theme='stanhope'] .fs-hdr-mobile-head{height:auto;gap:14px;padding:14px 16px 10px;border-bottom:0}
[data-fs-theme='stanhope'] .fs-hdr-mobile-title{display:flex;align-items:center;gap:14px;flex:1;font-family:inherit;font-weight:700;font-size:12.5px;line-height:1;letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--c-brand-text))}
[data-fs-theme='stanhope'] .fs-hdr-mobile-title::after{content:"";flex:1;border-top:1px solid var(--st-rule)}
[data-fs-theme='stanhope'] .fs-hdr-mobile-close{flex:none;width:44px;height:44px;border:1px solid var(--st-rule);border-radius:0;color:rgb(var(--c-ink-950))}
[data-fs-theme='stanhope'] .fs-hdr-mobile > nav{padding:2px 16px 0}
[data-fs-theme='stanhope'] .fs-hdr-mobile-row{display:flex;align-items:center;border-bottom:1px solid var(--st-rule)}
[data-fs-theme='stanhope'] .fs-hdr-mobile-row:has(.fs-hdr-mobile-toggle[aria-expanded='true']){border-bottom:0}
[data-fs-theme='stanhope'] .fs-hdr-mobile-link:not(.is-sub){display:flex;align-items:center;flex:1;min-height:56px;font-family:var(--font-display, Georgia, serif);font-weight:600;font-size:23px;line-height:1.2;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='stanhope'] .fs-hdr-mobile-link.fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false']){color:rgb(var(--c-brand-text));text-decoration:underline 2px rgb(var(--c-brand-600));text-underline-offset:7px}
[data-fs-theme='stanhope'] .fs-hdr-mobile-toggle{margin-right:6px;color:rgb(var(--c-ink-950))}
[data-fs-theme='stanhope'] .fs-hdr-mobile-sub{padding:4px 0 14px;border-bottom:1px solid var(--st-rule)}
/* The urgent block itself: the wash with the 4px accent edge, the hours
   in small caps, the phone in Spectral 30px; then the button, full width. */
[data-fs-theme='stanhope'] .fs-pmf-stanhope{display:grid;gap:12px;margin:22px 0 24px}
[data-fs-theme='stanhope'] .fs-pmf-card{padding:14px 16px 14px 14px;background:var(--st-tint);border-left:4px solid rgb(var(--c-accent, var(--c-brand-600)))}
[data-fs-theme='stanhope'] .fs-pmf-hours{margin:0;font-weight:700;font-size:12px;line-height:1.35;letter-spacing:.08em;text-transform:uppercase;color:rgb(var(--c-ink-700))}
[data-fs-theme='stanhope'] .fs-pmf-big{margin:4px 0 0;font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:30px;line-height:1.1;font-variant-numeric:tabular-nums;color:rgb(var(--c-brand-text))}
[data-fs-theme='stanhope'] .fs-pmf-tel{color:inherit;text-decoration:none}
[data-fs-theme='stanhope'] .fs-pmf .fs-hdr-cta.fs-pmf-cta{display:flex;width:100%;margin:0;padding-block:.95rem}
/* The panel (mockup 94–136, ported): a paper-soft sheet, a datum eyebrow
   with a keyline chip at its far end, the six clinics as a ruled
   register beside the entitlement box on paper with lens-mark bullets,
   the voucher row (wide layouts only) and a ruled foot. The shadow
   lives on the shell (above), not here. */
[data-fs-theme='stanhope'] .fs-sth-panel{container-type:inline-size;background:rgb(var(--c-paper-soft));border:1px solid var(--st-rule)}
[data-fs-theme='stanhope'] .fs-sth-body{padding:var(--st-mpt,24px) var(--st-mp,28px) 0}
[data-fs-theme='stanhope'] .fs-sth-datum{display:flex;align-items:center;gap:14px}
[data-fs-theme='stanhope'] .fs-sth-eyebrow{display:flex;align-items:center;gap:14px;flex:1;min-width:0;font-weight:700;font-size:12px;line-height:1.3;letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--c-brand-text))}
[data-fs-theme='stanhope'] .fs-sth-eyebrow::after{content:"";flex:1;min-width:16px;border-top:1px solid var(--st-rule)}
[data-fs-theme='stanhope'] .fs-sth-chip{display:inline-block;flex:none;padding:.14em .55em;border:1px solid var(--st-rule);font-size:13px;line-height:1.35;letter-spacing:.04em;color:rgb(var(--c-ink-700));font-variant-numeric:tabular-nums;white-space:nowrap}
[data-fs-theme='stanhope'] .fs-sth-split{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:34px;align-items:start;margin-top:18px}
[data-fs-theme='stanhope'] .fs-sth-fees{list-style:none;margin:0;padding:0}
[data-fs-theme='stanhope'] .fs-sth-fee{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:6px 18px;padding-block:10px;border-bottom:1px solid var(--st-rule)}
[data-fs-theme='stanhope'] .fs-sth-fee:first-child{border-top:1px solid var(--st-rule)}
[data-fs-theme='stanhope'] .fs-sth-fee-n{display:inline-block;font-weight:700;font-size:15.5px;line-height:1.3;color:rgb(var(--c-ink-950));text-decoration:none;background:linear-gradient(rgb(var(--c-brand-600)),rgb(var(--c-brand-600))) no-repeat center bottom/0% 2px;transition:background-size .22s cubic-bezier(.2,.7,.3,1)}
[data-fs-theme='stanhope'] .fs-sth-fee-n:hover,[data-fs-theme='stanhope'] .fs-sth-fee-n:focus-visible{background-size:100% 2px}
[data-fs-theme='stanhope'] .fs-sth-fee-d{display:block;margin-top:2px;font-size:13.5px;line-height:1.45;color:rgb(var(--c-ink-700))}
[data-fs-theme='stanhope'] .fs-sth-fee-p{margin:0;font-family:var(--font-display, Georgia, serif);font-weight:600;font-size:21px;line-height:1.1;color:rgb(var(--c-ink-950));text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
[data-fs-theme='stanhope'] .fs-sth-fee-u{display:block;margin-top:3px;font-weight:400;font-size:12px;line-height:1.2;color:rgb(var(--c-ink-400))}
[data-fs-theme='stanhope'] .fs-sth-ent{padding:20px 20px 18px;background:rgb(var(--c-paper));border:1px solid var(--st-rule)}
[data-fs-theme='stanhope'] .fs-sth-ent-h{margin:0;font-family:var(--font-display, Georgia, serif);font-weight:600;font-size:19px;line-height:1.25;color:rgb(var(--c-ink-950));text-wrap:balance}
[data-fs-theme='stanhope'] .fs-sth-ent-list{list-style:none;margin:10px 0 0;padding:0}
[data-fs-theme='stanhope'] .fs-sth-ent-li{position:relative;padding:6px 0 6px 22px;border-bottom:1px solid var(--st-rule);font-size:13.5px;line-height:1.4;color:rgb(var(--c-ink-700))}
[data-fs-theme='stanhope'] .fs-sth-ent-li:last-child{border-bottom:0}
[data-fs-theme='stanhope'] .fs-sth-ent-li::before{content:"";position:absolute;left:0;top:calc(6px + .7em - 5px);width:10px;height:10px;border:1px solid rgb(var(--c-brand-600));border-radius:50%}
[data-fs-theme='stanhope'] .fs-sth-ent-li::after{content:"";position:absolute;left:4px;top:calc(6px + .7em - 1px);width:4px;height:4px;background:rgb(var(--c-brand-600));border-radius:50%}
[data-fs-theme='stanhope'] .fs-sth-ent-note{margin:12px 0 0;padding-top:12px;border-top:1px solid var(--st-rule);font-size:13px;line-height:1.45;color:rgb(var(--c-ink-400))}
[data-fs-theme='stanhope'] .fs-sth-ent-tel{display:block;margin-top:4px;font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:24px;line-height:1.15;color:rgb(var(--c-brand-text));font-variant-numeric:tabular-nums;text-decoration:none}
[data-fs-theme='stanhope'] .fs-sth-foot{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 20px;margin-top:20px;padding:13px var(--st-mp,28px) 15px;border-top:1px solid var(--st-rule)}
[data-fs-theme='stanhope'] .fs-sth-foot-t{flex:1 1 260px;margin:0;font-size:13.5px;line-height:1.45;color:rgb(var(--c-ink-700))}
[data-fs-theme='stanhope'] .fs-sth-vouch{display:none;margin-top:24px}
[data-fs-theme='stanhope'] .fs-sth-vouch .fs-sth-eyebrow{font-size:11.5px}
[data-fs-theme='stanhope'] .fs-sth-vgrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:10px 0 0;padding:0}
[data-fs-theme='stanhope'] .fs-sth-v{min-width:0;padding:8px 10px 9px;background:rgb(var(--c-paper));border:1px solid var(--st-rule)}
[data-fs-theme='stanhope'] .fs-sth-v-l{margin:0;font-weight:700;font-size:11px;line-height:1.2;letter-spacing:.08em;text-transform:uppercase;color:rgb(var(--c-ink-400));white-space:nowrap}
[data-fs-theme='stanhope'] .fs-sth-v-v{margin:3px 0 0;font-family:var(--font-display, Georgia, serif);font-weight:600;font-size:19px;line-height:1.1;color:rgb(var(--c-ink-950));font-variant-numeric:tabular-nums;white-space:nowrap}
[data-fs-theme='stanhope'] .fs-sth-link{font-weight:700;font-size:14.5px;line-height:1.4;color:rgb(var(--c-brand-text));white-space:nowrap;text-decoration:none;background:linear-gradient(rgb(var(--c-brand-600)),rgb(var(--c-brand-600))) no-repeat center bottom/100% 1px;transition:background-size .22s cubic-bezier(.2,.7,.3,1)}
[data-fs-theme='stanhope'] .fs-sth-link:hover,[data-fs-theme='stanhope'] .fs-sth-link:focus-visible{background-size:100% 2px}
/* The panel matches the bar; content box = panel − 1px border: 1390 /
   1230 / 1150 / 878 / 782 / 686; phone-menu copies 736 and 358. WIDE
   64rem+: 40px gutters, 7/3, clinics in two columns of three, the voucher
   row. BASE (Boxed): 7/5, one column. 50rem: tighter. 30rem: stacks. */
@container (min-width: 64rem){
  [data-fs-theme='stanhope'] :is(.fs-sth-body,.fs-sth-foot){--st-mp:40px}
  [data-fs-theme='stanhope'] .fs-sth-body{--st-mpt:28px}
  [data-fs-theme='stanhope'] .fs-sth-split{grid-template-columns:minmax(0,7fr) minmax(0,3fr);gap:48px;margin-top:22px}
  [data-fs-theme='stanhope'] .fs-sth-fees{display:grid;grid-template-rows:repeat(3,auto);grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);column-gap:36px}
  [data-fs-theme='stanhope'] .fs-sth-fee:nth-child(4){border-top:1px solid var(--st-rule)}
  [data-fs-theme='stanhope'] .fs-sth-vouch{display:block}
  [data-fs-theme='stanhope'] .fs-sth-foot-t{flex:0 1 80ch;margin-right:auto}
}
@container (max-width: 50rem){
  [data-fs-theme='stanhope'] .fs-sth-split{gap:24px}
  [data-fs-theme='stanhope'] .fs-sth-ent{padding-inline:16px}
}
@container (max-width: 30rem){
  [data-fs-theme='stanhope'] .fs-sth-split{grid-template-columns:minmax(0,1fr)}
  [data-fs-theme='stanhope'] .fs-sth-datum{flex-wrap:wrap}
}
/* A tablet's phone-menu copy (736px) runs the register in two columns. */
@container (min-width: 36rem){
  [data-fs-theme='stanhope'] .fs-hdr-mobile .fs-sth-fees{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:36px}
  [data-fs-theme='stanhope'] .fs-hdr-mobile .fs-sth-fee:nth-child(2){border-top:1px solid var(--st-rule)}
}
/* The same composite in the phone menu: no sheet, chip, descriptions,
   entitlement box, voucher row or foot line; the register runs the full
   width and keeps its prices and the fees link. */
[data-fs-theme='stanhope'] .fs-hdr-mobile .fs-sth-panel{background:transparent;border:0}
[data-fs-theme='stanhope'] .fs-hdr-mobile .fs-sth-body{--st-mp:0;--st-mpt:0}
[data-fs-theme='stanhope'] .fs-hdr-mobile :is(.fs-sth-head .fs-sth-chip,.fs-sth-fee-d,.fs-sth-ent,.fs-sth-foot-t,.fs-sth-vouch){display:none}
[data-fs-theme='stanhope'] .fs-hdr-mobile .fs-sth-split{grid-template-columns:minmax(0,1fr);margin-top:12px}
[data-fs-theme='stanhope'] .fs-hdr-mobile .fs-sth-fee{padding-block:9px}
[data-fs-theme='stanhope'] .fs-hdr-mobile .fs-sth-fee-n{font-size:15px}
[data-fs-theme='stanhope'] .fs-hdr-mobile .fs-sth-fee-p{font-size:18px}
[data-fs-theme='stanhope'] .fs-hdr-mobile .fs-sth-foot{margin:12px 0 0;padding:0;border-top:0}
[data-fs-theme='stanhope'] .fs-hdr-mobile .fs-sth-foot .fs-sth-link{white-space:normal}
@media (prefers-reduced-motion: reduce){
  [data-fs-theme='stanhope'] .fs-sth-fee-n,[data-fs-theme='stanhope'] .fs-sth-link{transition:none}
}


/* Tokens (mockup 52–53), FULL colours. --sc-deep: brand 70% into ink,
   the design's brand-as-text and pill fill (the brand itself in dark);
   --sc-rule: the soft hairline; --sc-ring / --sc-arch / --sc-wash /
   --sc-sun: the drawn circles, the arch outline, its inner glow and the
   crown sun; --sc-dots: the menu's dotted leader; --sc-flo: the
   line–leaf–line flourish; --sc-shadow: the panel's lift (pure black at
   alpha in dark). Quiet words read the platform's solved ink-400. */
[data-fs-theme='studio-calm']{--fs-chrome-mode:light;--sc-rule:rgb(var(--c-ink-950) / .14);--sc-deep:color-mix(in srgb, rgb(var(--c-brand-600)) 70%, rgb(var(--c-ink-950)));--sc-on-deep:rgb(var(--c-paper));--sc-ring:rgb(var(--c-brand-600) / .22);--sc-arch:rgb(var(--c-accent, var(--c-brand-600)) / .62);--sc-wash:rgb(var(--c-accent, var(--c-brand-600)) / .2);--sc-sun:rgb(var(--c-brand-600) / .5);--sc-dots:rgb(var(--c-ink-400) / .5);--sc-flo:rgb(var(--c-ink-950) / .24);--sc-shadow:0 34px 60px -34px rgb(var(--c-ink-950) / .4)}
[data-fs-theme='studio-calm'].dark{--fs-chrome-mode:dark;--sc-rule:rgb(var(--c-ink-950) / .15);--sc-deep:rgb(var(--c-brand-600));--sc-ring:rgb(var(--c-brand-600) / .2);--sc-arch:rgb(var(--c-accent, var(--c-brand-600)) / .6);--sc-wash:rgb(var(--c-accent, var(--c-brand-600)) / .16);--sc-sun:rgb(var(--c-brand-600) / .45);--sc-dots:rgb(var(--c-ink-400) / .45);--sc-flo:rgb(var(--c-ink-950) / .26);--sc-shadow:0 34px 60px -30px rgb(0 0 0 / .7)}
/* The strip: the surface tint, quiet ink; the note as the leaf-tick
   eyebrow, the hours, then the phone in the serif after a hairline. Its
   LINE is the container fs-strip-in (R-B3-1): the platform's 44rem rule
   now answers to it, so the three items are restored first. */
[data-fs-theme='studio-calm'] .fs-hdr-util{container-type:inline-size;background:rgb(var(--c-paper-soft))}
[data-fs-theme='studio-calm'] .fs-hdr-util-in{container-type:inline-size;container-name:fs-strip-in;display:flex;align-items:center;gap:22px;min-height:0;padding-block:9px;border-bottom:0;color:rgb(var(--c-ink-400))}
[data-fs-theme='studio-calm'] :is(.fs-hdr-util-address,.fs-hdr-util-hours,.fs-hdr-util-note){display:inline-flex}
[data-fs-theme='studio-calm'] .fs-hdr-util-note{order:-1;align-items:center;gap:9px;margin-right:auto;font-weight:600;font-size:11px;line-height:1.2;letter-spacing:.2em;text-transform:uppercase}
[data-fs-theme='studio-calm'] .fs-hdr-util-note::before{content:"";flex:none;width:10.5px;height:6.5px;border-radius:50%;background:rgb(var(--c-accent, var(--c-brand-600)));transform:rotate(-32deg)}
[data-fs-theme='studio-calm'] .fs-hdr-util-hours{font-size:13.5px;line-height:1.2}
[data-fs-theme='studio-calm'] .fs-hdr-util-dot{display:none}
[data-fs-theme='studio-calm'] .fs-hdr-util-tel{margin-left:0;padding-left:22px;border-left:1px solid var(--sc-rule);font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:15.5px;line-height:1.2;letter-spacing:.05em;color:var(--sc-deep)}
@container fs-strip-in (max-width: 52rem){
  [data-fs-theme='studio-calm'] .fs-hdr-util-note{display:none}
  [data-fs-theme='studio-calm'] .fs-hdr-util-hours{margin-right:auto}
  /* Live-measured (editor, tablet canvas): the hours (13.5px Figtree) and
     the phone (15.5px Marcellus) have different line-box heights, so
     align-items:center's usual sub-pixel rounding put them a hair apart
     vertically — read as two lines by a strict top-edge check. Pinning
     both to the same line-height equalises their boxes so centering
     lands them on the exact same row. */
  [data-fs-theme='studio-calm'] .fs-hdr-util-hours,
  [data-fs-theme='studio-calm'] .fs-hdr-util-tel{line-height:18px}
}
/* R-B3-1 named the strip's LINE fs-strip-in; this rule used to be an
   unnamed @container, which resolved against the FULL STRIP (fs-hdr-util,
   the ambient container) for .fs-hdr-util-in's own justify-content but
   against fs-strip-in (the line, ~48px narrower) for the item it hides —
   two different containers crossing their thresholds at two different
   physical widths, so in the gap between them the lone phone item showed
   but landed left, not centred. Both rules now query fs-strip-in, and the
   phone centres itself with margin-inline:auto instead of depending on
   the (differently-sized) outer container's justify-content. */
@container fs-strip-in (max-width: 40rem){
  [data-fs-theme='studio-calm'] .fs-hdr-util-item:not(.fs-hdr-util-tel){display:none}
  [data-fs-theme='studio-calm'] .fs-hdr-util-tel{margin-inline:auto;padding-left:0;border-left:0}
}
/* The band: the desktop gate (fs-band), paper, closed by one hairline
   painted as its own last pixel. */
[data-fs-theme='studio-calm'] .fs-hdr-band{container-type:inline-size;container-name:fs-band;border-bottom-width:0;background:linear-gradient(var(--sc-rule),var(--sc-rule)) 0 100%/100% 1px no-repeat,rgb(var(--c-paper))}
[data-fs-theme='studio-calm'] .fs-hdr-row{min-height:clamp(70px, (100cqi - 760px) * 100, 90px)}
/* The lockup (mockup logo 206x44 at 40px high: the lotus is a 36px box,
   STUDIO CALM 15px at .2em, 5px apart); links and button grouped right. */
[data-fs-theme='studio-calm'] .fs-hdr-row > :first-child{gap:5px;margin-right:auto;padding-right:24px}
[data-fs-theme='studio-calm'] .fs-hdr-row [data-fs-logo-mark]{width:36px;height:36px}
[data-fs-theme='studio-calm'] .fs-hdr-row [data-fs-wordmark]{font-size:15px;line-height:1;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap}
/* The button: the quiet pill in the deep brand, the ghost arch's
   gesture as a 1.5px ring 5px down-right BEHIND it — two box-shadows
   (paper inside the ring, then the ring), never a z-index:-1 pseudo
   that would fall under a non-sticky band (R-B3-8). */
[data-fs-theme='studio-calm'] .fs-hdr-cta{--fs-hdr-cta-bg:var(--sc-deep);--fs-hdr-cta-fg:var(--sc-on-deep);--fs-hdr-cta-bg-hover:var(--sc-deep);--fs-hdr-cta-fg-hover:var(--sc-on-deep)}
[data-fs-theme='studio-calm'] .fs-hdr-cta.fs-hdr-cta{flex:none;padding:14px 26px;border-radius:999px;font-weight:600;font-size:14.5px;line-height:1;letter-spacing:.03em;white-space:nowrap;box-shadow:5px 5px 0 -1.5px rgb(var(--c-paper)),5px 5px 0 0 var(--sc-arch);transition:transform .3s ease,box-shadow .3s ease}
[data-fs-theme='studio-calm'] .fs-hdr-cta.fs-hdr-cta:hover{transform:translateY(-2px);box-shadow:3px 3px 0 -1.5px rgb(var(--c-paper)),3px 3px 0 0 var(--sc-arch)}
[data-fs-theme='studio-calm'] .fs-hdr-row .fs-hdr-cta{margin-left:26px}
/* The menu button: a 42x48 arched doorway, two lines at its threshold
   (the second short, in brand); the lucide icon is hidden. */
[data-fs-theme='studio-calm'] .fs-hdr-menu-btn{width:42px;height:48px;margin-left:16px;border:1.5px solid rgb(var(--c-ink-950));border-radius:21px 21px 6px 6px;background:linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) center bottom 20.5px/16px 1.5px no-repeat,linear-gradient(rgb(var(--c-brand-600)),rgb(var(--c-brand-600))) center bottom 14px/10px 1.5px no-repeat}
[data-fs-theme='studio-calm'] .fs-hdr-menu-btn svg{display:none}
/* The mega shell: no frame (the composite draws the paper, the rings
   and the 1px rule), the default 10px gap, the design's lift. */
[data-fs-theme='studio-calm'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite){margin-top:10px !important;background:transparent !important;border:0 !important;border-radius:22px !important;box-shadow:var(--sc-shadow) !important}
[data-fs-theme='studio-calm'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite)::before{top:-10px;height:10px}
/* Layout tiers (mockup 246–270); desktop only — a tablet row keeps the
   full-size lockup and pill. */
@container fs-band (min-width: 62rem){
  /* Boxed (880). */
  @container (max-width: 60rem){
    [data-fs-theme='studio-calm'] .fs-hdr-row > :first-child{padding-right:18px}
    [data-fs-theme='studio-calm'] .fs-hdr-row [data-fs-logo-mark]{width:32px;height:32px}
    [data-fs-theme='studio-calm'] .fs-hdr-row [data-fs-wordmark]{font-size:13.1px}
    /* /preview/view (the theme's own shop window) re-pins the wordmark to
       a fixed 21px via an inline style (theme-wordmark.tsx's
       WORDMARK_FALLBACK, a documented, pre-existing gap on that one
       route — the editor and the published site read the theme's own
       font-size with no inline style in the way, so this never touches
       them). [data-fs-preview-edit] is the platform's own "I am on the
       preview, not a real site" hook (TemplateViewClient.tsx) — the same
       idiom Hale's --row-pad fix uses for this exact problem. Scoped to
       it so a customer's own headerFontSize choice on a real site is
       never overridden. */
    [data-fs-theme='studio-calm'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{font-size:13.1px !important}
    [data-fs-theme='studio-calm'] .fsmenu-calmFlourish{--sc-pad:10px;--sc-fs:15.5px;--sc-track:.02em}
    [data-fs-theme='studio-calm'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:18px;padding-inline:22px}
  }
  /* Centered (784). */
  @container (max-width: 50rem){
    [data-fs-theme='studio-calm'] .fs-hdr-row > :first-child{gap:4px;padding-right:14px}
    [data-fs-theme='studio-calm'] .fs-hdr-row [data-fs-logo-mark]{width:28px;height:28px}
    [data-fs-theme='studio-calm'] .fs-hdr-row [data-fs-wordmark]{font-size:11.6px}
    [data-fs-theme='studio-calm'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{font-size:11.6px !important}
    [data-fs-theme='studio-calm'] .fsmenu-calmFlourish{--sc-pad:8px;--sc-fs:14.5px;--sc-track:.01em}
    [data-fs-theme='studio-calm'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:14px;padding-inline:18px;font-size:14px}
  }
  /* Minimalist (688), the tightest; the flourish and the ring stay. */
  @container (max-width: 44rem){
    [data-fs-theme='studio-calm'] .fs-hdr-row > :first-child{gap:4px;padding-right:10px}
    [data-fs-theme='studio-calm'] .fs-hdr-row [data-fs-logo-mark]{width:25px;height:25px}
    [data-fs-theme='studio-calm'] .fs-hdr-row [data-fs-wordmark]{font-size:10.5px}
    [data-fs-theme='studio-calm'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{font-size:10.5px !important}
    [data-fs-theme='studio-calm'] .fsmenu-calmFlourish{--sc-pad:5.5px;--sc-fs:14px;--sc-track:0em;gap:6px}
    [data-fs-theme='studio-calm'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:10px;padding-inline:14px;font-size:13.5px;letter-spacing:.01em}
    /* The plan's own 10px margin (restored above) fits the REAL row
       (editor/published, px-6, no gap) with room to spare; only
       /preview/view's tighter row (px-7 plus its own gap) needs it
       squeezed to 8px — scoped to the preview-only hook, same split as
       nightbell/emberlight-chrome-styles.ts's own Minimalist fix. */
    [data-fs-theme='studio-calm'] .fs-hdr-row:has([data-fs-preview-edit]) .fs-hdr-cta.fs-hdr-cta{margin-left:8px}
  }
}
/* Phones: the platform hides the button at row 34rem; the lockup steps
   down beside the doorway. */
@container (max-width: 34rem){
  [data-fs-theme='studio-calm'] .fs-hdr-row > :first-child{gap:4px}
  [data-fs-theme='studio-calm'] .fs-hdr-row [data-fs-logo-mark]{width:29px;height:29px}
  [data-fs-theme='studio-calm'] .fs-hdr-row [data-fs-wordmark]{font-size:12px}
}
/* R16 (theme-chrome fix round 2, precedent in counsel/hale/plateful/
   mane-studio/enamel/vernier/groundwork/bright-start-chrome-styles.ts):
   the read-only preview alone renders a fixed-width "Edit Template" link
   plus a visitor dark/light toggle (TemplateViewClient.tsx), present on
   no real site. At the preview's own 390/320px widths the trailing group
   (mode toggle + Edit Template link + menu button) needs more room than
   the row has, even though .fs-hdr-contact/.fs-hdr-cta are already
   hidden by the platform's own ≤34rem rule. Measured live: hiding the
   mode toggle alone clears 390px; at 320px the wordmark also has to go.
   The brand MARK (data-fs-logo-mark) stays throughout, so the header is
   never unbranded, even on this one preview-only, extreme-narrow case.
   [data-fs-preview-edit] is the stable, surface-only hook the Edit
   Template link alone carries; :has() reaches up from it so only a row
   that actually contains it is affected — published and editor markup
   never has the hook. */
@container (max-width: 34rem){
  [data-fs-theme='studio-calm'] .fs-hdr-row:has([data-fs-preview-edit]) .fs-hdr-mode{display:none}
}
@container (max-width: 22rem){
  [data-fs-theme='studio-calm'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{display:none}
}
/* Paper with one ring arc in the top corner; "Menu" as the leaf-tick
   eyebrow; the close as the arched doorway with its X at the threshold;
   Marcellus links, each reserving a leaf's width; the current page in
   the italic accent with its leaf showing. */
[data-fs-theme='studio-calm'] .fs-hdr-mobile{background:radial-gradient(circle at calc(100% + 4rem) -6rem,transparent 15.9rem,var(--sc-ring) 16rem 16.1rem,transparent 16.2rem),rgb(var(--c-paper))}
[data-fs-theme='studio-calm'] .fs-hdr-mobile-head{height:auto;padding:14px 20px 12px 24px;border-bottom:1px solid var(--sc-rule)}
[data-fs-theme='studio-calm'] .fs-hdr-mobile-title{display:inline-flex;align-items:center;gap:9px;font-family:inherit;font-weight:600;font-size:11px;line-height:1.2;letter-spacing:.22em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
[data-fs-theme='studio-calm'] .fs-hdr-mobile-title::before{content:"";flex:none;width:10.5px;height:6.5px;border-radius:50%;background:rgb(var(--c-accent, var(--c-brand-600)));transform:rotate(-32deg)}
[data-fs-theme='studio-calm'] .fs-hdr-mobile-close{display:grid;place-items:end center;width:40px;height:46px;padding-bottom:10px;border:1.5px solid rgb(var(--c-ink-950));border-radius:20px 20px 6px 6px;color:rgb(var(--c-ink-950))}
[data-fs-theme='studio-calm'] .fs-hdr-mobile-close svg{width:15px;height:15px}
[data-fs-theme='studio-calm'] .fs-hdr-mobile > nav{padding:12px 0 8px}
[data-fs-theme='studio-calm'] .fs-hdr-mobile-row{display:flex;align-items:center}
[data-fs-theme='studio-calm'] .fs-hdr-mobile-link:not(.is-sub){display:flex;align-items:center;gap:14px;flex:1;padding:10px 24px;font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:25px;line-height:1.2;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='studio-calm'] .fs-hdr-mobile-link:not(.is-sub)::before{content:"";flex:none;width:11px;height:6.5px;border-radius:50%;background:rgb(var(--c-accent, var(--c-brand-600)));transform:rotate(-32deg);opacity:0}
[data-fs-theme='studio-calm'] .fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false']){font-style:italic;color:var(--sc-deep)}
[data-fs-theme='studio-calm'] .fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false'])::before{opacity:1}
[data-fs-theme='studio-calm'] .fs-hdr-mobile-toggle{margin-right:20px;color:rgb(var(--c-ink-950))}
[data-fs-theme='studio-calm'] .fs-hdr-mobile-sub{padding:4px 20px 12px 49px}
/* The arch again (max 23rem, centred): the wash and the sun in its
   crown, a second outline 9px out, the phone large in the serif, the
   hours, then the pill full width. No fixed words. */
[data-fs-theme='studio-calm'] .fs-pmf-studio-calm{position:relative;display:flex;flex-direction:column;align-items:center;width:calc(100% - 48px);max-width:23rem;margin:30px auto;padding:78px 22px 24px;text-align:center;background:linear-gradient(180deg,var(--sc-wash),transparent 60%),rgb(var(--c-paper-soft));border:1px solid var(--sc-rule);border-radius:999px 999px 18px 18px}
[data-fs-theme='studio-calm'] .fs-pmf-studio-calm::before{content:"";position:absolute;inset:-9px;border:1.5px solid var(--sc-arch);border-radius:999px 999px 24px 24px;pointer-events:none}
[data-fs-theme='studio-calm'] .fs-pmf-studio-calm > *{position:relative}
[data-fs-theme='studio-calm'] .fs-pmf-studio-calm > .fs-pmf-sun{position:absolute;top:32px;left:50%;width:30px;height:30px;transform:translateX(-50%);border-radius:50%;background:var(--sc-sun)}
[data-fs-theme='studio-calm'] .fs-pmf-big{margin:0;font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:29px;line-height:1.15;letter-spacing:.02em;color:var(--sc-deep)}
[data-fs-theme='studio-calm'] .fs-pmf-tel{color:inherit;text-decoration:none}
[data-fs-theme='studio-calm'] .fs-pmf-hours{margin:8px 0 0;font-size:14px;line-height:1.5;color:rgb(var(--c-ink-400))}
[data-fs-theme='studio-calm'] .fs-pmf .fs-hdr-cta.fs-pmf-cta{display:flex;align-self:stretch;margin:18px 0 0;padding-block:16px;box-shadow:none}
/* The leaf eyebrow, the italic accent, the quiet pill and the
   accent-underlined link (mockup 58–68): shared devices, used by the
   strip, the phone-menu head and every slot below. */
[data-fs-theme='studio-calm'] .fs-scm-eyebrow{display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:11px;line-height:1.2;letter-spacing:.22em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
[data-fs-theme='studio-calm'] .fs-scm-eyebrow::before{content:"";flex:none;width:10.5px;height:6.5px;border-radius:50%;background:rgb(var(--c-accent, var(--c-brand-600)));transform:rotate(-32deg)}
[data-fs-theme='studio-calm'] .fs-scm-accent{font-family:var(--font-display, Georgia, serif);font-style:italic;color:var(--sc-deep)}
[data-fs-theme='studio-calm'] .fs-scm-pill{display:inline-flex;align-items:center;justify-content:center;padding:13px 24px;border-radius:999px;background:var(--sc-deep);color:var(--sc-on-deep);font-weight:600;font-size:14px;line-height:1;letter-spacing:.02em;white-space:nowrap;text-decoration:none;transition:transform .3s ease}
[data-fs-theme='studio-calm'] .fs-scm-pill:hover{transform:translateY(-2px)}
[data-fs-theme='studio-calm'] .fs-scm-link{display:inline-flex;align-items:center;gap:6px;padding-bottom:2px;border-bottom:1.5px solid rgb(var(--c-accent, var(--c-brand-600)));font-weight:600;font-size:14px;line-height:1.25;color:rgb(var(--c-ink-950));white-space:nowrap;text-decoration:none;transition:color .3s ease,border-color .3s ease}
[data-fs-theme='studio-calm'] .fs-scm-link::after{content:"→";font-weight:400}
[data-fs-theme='studio-calm'] .fs-scm-link:hover{color:var(--sc-deep);border-color:var(--sc-deep)}
/* The mega panel (mockup 122–159): isolated so the ring backgrounds and
   the arch's ::before z-index stay inside it; two ring arcs in the
   top-right and bottom-left corners, painted like the header and phone
   menu's own rings. Its box-shadow is on the shell (part a). */
[data-fs-theme='studio-calm'] .fs-scm-panel{--scm-mg:clamp(24px,3cqi,46px);isolation:isolate;container-type:inline-size;background:radial-gradient(circle at calc(100% + 2rem) -4rem,transparent calc(12rem - 1.5px),var(--sc-ring) calc(12rem - 1px) 12rem,transparent calc(12rem + .5px)),radial-gradient(circle at -3rem calc(100% + 3rem),transparent calc(8rem - 1.5px),var(--sc-ring) calc(8rem - 1px) 8rem,transparent calc(8rem + .5px)),rgb(var(--c-paper));border:1px solid var(--sc-rule);border-radius:22px}
[data-fs-theme='studio-calm'] .fs-scm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,.95fr);grid-template-rows:auto 1fr;column-gap:var(--scm-mg);row-gap:24px;padding:30px var(--scm-mg) 0}
[data-fs-theme='studio-calm'] .fs-scm-head{grid-column:1/4;grid-row:1;display:flex;align-items:flex-end;justify-content:space-between;gap:12px 40px;padding-bottom:4px}
[data-fs-theme='studio-calm'] .fs-scm-title{margin-top:10px;font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:27px;line-height:1.15;color:rgb(var(--c-ink-950))}
[data-fs-theme='studio-calm'] .fs-scm-intro{margin:0;max-width:46ch;font-size:14.5px;line-height:1.6;color:rgb(var(--c-ink-400))}
/* Rooms. */
[data-fs-theme='studio-calm'] .fs-scm-grp{grid-row:2;min-width:0}
[data-fs-theme='studio-calm'] .fs-scm-ghead{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding-bottom:10px;border-bottom:1px solid var(--sc-rule)}
[data-fs-theme='studio-calm'] .fs-scm-gname{font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:20px;line-height:1.2;color:rgb(var(--c-ink-950));text-decoration:none;transition:color .2s ease}
[data-fs-theme='studio-calm'] .fs-scm-gname:hover{color:var(--sc-deep)}
[data-fs-theme='studio-calm'] .fs-scm-ghands{font-size:13.5px;font-style:italic;color:var(--sc-deep)}
[data-fs-theme='studio-calm'] .fs-scm-rows{display:grid;row-gap:14px;list-style:none;margin-top:14px;padding:0}
[data-fs-theme='studio-calm'] .fs-scm-rtop{display:flex;align-items:baseline;gap:8px}
[data-fs-theme='studio-calm'] .fs-scm-rname{font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:16px;line-height:1.3;color:rgb(var(--c-ink-950));white-space:nowrap}
[data-fs-theme='studio-calm'] .fs-scm-dots{flex:1;min-width:18px;border-bottom:2px dotted var(--sc-dots);transform:translateY(-4px)}
[data-fs-theme='studio-calm'] .fs-scm-rprice{font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:16px;line-height:1.3;color:var(--sc-deep);white-space:nowrap}
[data-fs-theme='studio-calm'] .fs-scm-rnote{display:block;max-width:40ch;margin-top:3px;font-size:13px;line-height:1.5;color:rgb(var(--c-ink-400))}
/* The arch (mockup .sc-march): the crown wash and sun, a second 9px
   outline; never offset, so it never runs off the panel. isolation on
   the panel gives this z-index:-1 a stacking context (fine, R-B3-8 is
   about the header row and strip, not the mega panel). */
[data-fs-theme='studio-calm'] .fs-scm-arch{grid-column:4;grid-row:1/3;position:relative;display:flex;flex-direction:column;align-items:center;min-width:0;padding:74px 20px 22px;text-align:center;background:linear-gradient(180deg,var(--sc-wash),transparent 58%),rgb(var(--c-paper-soft));border:1px solid var(--sc-rule);border-radius:999px 999px 18px 18px}
[data-fs-theme='studio-calm'] .fs-scm-arch::before{content:"";position:absolute;inset:-9px;z-index:-1;border:1.5px solid var(--sc-arch);border-radius:999px 999px 24px 24px;pointer-events:none}
[data-fs-theme='studio-calm'] .fs-scm-sun{position:absolute;top:var(--scm-sun-top,30px);left:50%;width:var(--scm-sun-size,30px);height:var(--scm-sun-size,30px);transform:translateX(-50%);border-radius:50%;background:var(--sc-sun)}
[data-fs-theme='studio-calm'] .fs-scm-atitle{margin-top:12px;font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:23px;line-height:1.2;color:rgb(var(--c-ink-950));text-wrap:balance}
[data-fs-theme='studio-calm'] .fs-scm-ahours{margin-top:12px;font-size:13.5px;line-height:1.55;color:rgb(var(--c-ink-400));text-wrap:balance}
[data-fs-theme='studio-calm'] .fs-scm-ahours-l{display:block}
[data-fs-theme='studio-calm'] .fs-scm-arch .fs-scm-pill{margin-top:16px}
[data-fs-theme='studio-calm'] .fs-scm-anote{margin-top:12px;font-size:12.5px;line-height:1.5;letter-spacing:.02em;color:rgb(var(--c-ink-400));text-wrap:balance}
/* Foot: the small line–leaf–line flourish opens it, then the note and
   the link to every price. */
[data-fs-theme='studio-calm'] .fs-scm-base{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:26px;padding:16px var(--scm-mg) 20px;border-top:1px solid var(--sc-rule)}
[data-fs-theme='studio-calm'] .fs-scm-flo{position:relative;flex:none;width:46px;height:8px;background:linear-gradient(90deg,var(--sc-flo) 0 16px,transparent 16px 30px,var(--sc-flo) 30px) 0 50%/100% 1px no-repeat}
[data-fs-theme='studio-calm'] .fs-scm-flo::before{content:"";position:absolute;left:18px;top:1px;width:10px;height:6px;border-radius:50%;background:rgb(var(--c-accent, var(--c-brand-600)));transform:rotate(-32deg)}
[data-fs-theme='studio-calm'] .fs-scm-note{flex:0 1 auto;min-width:0;margin:0;font-size:13.5px;line-height:1.5;color:rgb(var(--c-ink-400))}
[data-fs-theme='studio-calm'] .fs-scm-base .fs-scm-link{margin-left:auto}
/* The panel matches the menu bar and reflows on its own box (the panel
   minus its 1px border: 1390 / 1230 / 1150 / 878 / 782 / 686; phone-menu
   copies 699 and 321). The phone-menu context rules come first so the
   tiers below can still narrow them. */
[data-fs-theme='studio-calm'] .fs-hdr-mobile .fs-scm-panel{border:0;border-radius:0;box-shadow:none;background:transparent;overflow:visible}
[data-fs-theme='studio-calm'] .fs-hdr-mobile :is(.fs-scm-head,.fs-scm-arch,.fs-scm-rnote,.fs-scm-note,.fs-scm-flo){display:none}
[data-fs-theme='studio-calm'] .fs-hdr-mobile .fs-scm-grid{grid-template-columns:minmax(0,1fr);row-gap:20px;padding:0}
[data-fs-theme='studio-calm'] .fs-hdr-mobile .fs-scm-grp{grid-column:auto;grid-row:auto}
[data-fs-theme='studio-calm'] .fs-hdr-mobile .fs-scm-ghead{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:2px 10px}
[data-fs-theme='studio-calm'] .fs-hdr-mobile .fs-scm-rows{row-gap:8px;margin-top:10px}
[data-fs-theme='studio-calm'] .fs-hdr-mobile .fs-scm-gname{font-size:19px}
[data-fs-theme='studio-calm'] .fs-hdr-mobile .fs-scm-base{margin-top:18px;padding:14px 0 4px}
[data-fs-theme='studio-calm'] .fs-hdr-mobile .fs-scm-base .fs-scm-link{margin-left:0}
/* MIDDLE (under 64rem: Boxed, Centered, Minimalist): two columns, the
   rooms as bands down the left, the arch standing full height on the
   right like an arched window. */
@container (max-width: 64rem){
  [data-fs-theme='studio-calm'] .fs-scm-head{grid-column:1;flex-direction:column;align-items:flex-start;gap:8px}
  [data-fs-theme='studio-calm'] .fs-scm-intro{max-width:60ch}
  [data-fs-theme='studio-calm'] .fs-scm-grid{grid-template-columns:minmax(0,1fr) minmax(12rem,15rem);grid-template-rows:none;row-gap:24px}
  [data-fs-theme='studio-calm'] .fs-scm-grp{grid-column:1;grid-row:auto}
  [data-fs-theme='studio-calm'] .fs-scm-arch{grid-column:2;grid-row:1/span 4;justify-content:flex-end;padding-bottom:26px;background:linear-gradient(180deg,var(--sc-wash),transparent 70%),rgb(var(--c-paper-soft));--scm-sun-size:58px;--scm-sun-top:64px}
  [data-fs-theme='studio-calm'] .fs-scm-rows{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
}
@container (max-width: 52rem){
  [data-fs-theme='studio-calm'] .fs-scm-grid{grid-template-columns:minmax(0,1fr) 12.5rem}
}
@container (max-width: 46rem){
  [data-fs-theme='studio-calm'] .fs-scm-grid{grid-template-columns:minmax(0,1fr) minmax(11.5rem,13rem)}
  [data-fs-theme='studio-calm'] .fs-scm-rows{grid-template-columns:minmax(0,1fr)}
  [data-fs-theme='studio-calm'] .fs-scm-title{font-size:24px}
}
@container (max-width: 30rem){
  [data-fs-theme='studio-calm'] .fs-scm-grid{grid-template-columns:minmax(0,1fr)}
  [data-fs-theme='studio-calm'] :is(.fs-scm-head,.fs-scm-grp,.fs-scm-arch){grid-column:auto;grid-row:auto}
}
/* The tablet's phone menu (699) has room for each room's two rows side
   by side. Sheet only. */
@container (min-width: 36rem){
  [data-fs-theme='studio-calm'] .fs-hdr-mobile .fs-scm-rows{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
}
@media (prefers-reduced-motion: reduce){
  [data-fs-theme='studio-calm'] .fs-hdr-cta.fs-hdr-cta,[data-fs-theme='studio-calm'] .fs-scm-pill,[data-fs-theme='studio-calm'] .fs-scm-link,[data-fs-theme='studio-calm'] .fs-scm-gname{transition:none}
  [data-fs-theme='studio-calm'] .fs-hdr-cta.fs-hdr-cta:hover,[data-fs-theme='studio-calm'] .fs-scm-pill:hover{transform:none}
}


/* Tokens (mockup 75–76), FULL colours. --sr-board: the price board and
   the strop — a dark band in every palette and mode (brand in light, a
   deep brand shade in dark, never the pale dark-mode brand); --sr-board-ink
   / -muted / -line: its own pale ink and washes; --sr-gilt: the
   sign-writer's gold ON the board only (accent lifted toward the board
   ink in light, the accent in dark); --sr-brass: small print on paper
   (accent 73% into ink); --sr-rule / --sr-line-strong: the soft and
   strong hairlines; --sr-ink-hi: brand as text (the accent in dark);
   --sr-hair / --sr-skin: the fade swatch's two stops; --sr-drop: the
   board's drop-shadow (pure black at alpha); --sr-razor: RazorMark as a
   mask (alpha only: currentColor strokes, default fills). */
[data-fs-theme='strop']{--fs-chrome-mode:light;--sr-rule:rgb(var(--c-ink-950) / .14);--sr-line-strong:rgb(var(--c-ink-950) / .34);--sr-brass:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 73%, rgb(var(--c-ink-950)));--sr-board:rgb(var(--c-brand-600));--sr-board-ink:rgb(var(--c-paper));--sr-board-muted:color-mix(in srgb, var(--sr-board-ink) 80%, transparent);--sr-board-line:color-mix(in srgb, var(--sr-board-ink) 26%, transparent);--sr-gilt:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 50%, var(--sr-board-ink));--sr-gilt-line:color-mix(in srgb, var(--sr-gilt) 62%, transparent);--sr-stitch:color-mix(in srgb, var(--sr-gilt) 70%, transparent);--sr-card:rgb(var(--c-paper));--sr-hair:rgb(var(--c-ink-950));--sr-skin:rgb(var(--c-paper));--sr-stripe-a:rgb(var(--c-brand-600) / .2);--sr-stripe-b:rgb(var(--c-accent, var(--c-brand-600)) / .2);--sr-ink-hi:rgb(var(--c-brand-text));--sr-drop:rgb(0 0 0 / .42);--sr-razor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 40'%3E%3Cpath d='M2 20 L70 6 L82 14 L82 28 L2 22 Z' fill-opacity='.9'/%3E%3Crect x='82' y='12' width='8' height='18'/%3E%3Crect x='90' y='10' width='28' height='22' rx='1' fill='none' stroke='currentColor' stroke-opacity='.72' stroke-width='1.6'/%3E%3Ccircle cx='104' cy='21' r='2.6'/%3E%3C/svg%3E")}
[data-fs-theme='strop'].dark{--fs-chrome-mode:dark;--sr-board:color-mix(in srgb, rgb(var(--c-brand-600)) 14%, rgb(var(--c-paper)));--sr-board-ink:rgb(var(--c-ink-950));--sr-gilt:rgb(var(--c-accent, var(--c-brand-600)));--sr-ink-hi:rgb(var(--c-accent, var(--c-brand-600)));--sr-drop:rgb(0 0 0 / .6)}
/* The strip is the STROP: the board ground, both edges stitched with gilt
   dashes 4px in; a gilt razor before the note; the phone in gilt. Its
   line is the container fs-strip-in (R-B3-1). */
[data-fs-theme='strop'] .fs-hdr-util{container-type:inline-size;background:repeating-linear-gradient(90deg,var(--sr-stitch) 0 6px,transparent 6px 10px) 0 4px/100% 1px no-repeat,repeating-linear-gradient(90deg,var(--sr-stitch) 0 6px,transparent 6px 10px) 0 calc(100% - 4px)/100% 1px no-repeat,var(--sr-board);color:var(--sr-board-ink);font-weight:600;font-size:12px;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;font-variant-numeric:tabular-nums}
[data-fs-theme='strop'] .fs-hdr-util-in{container-type:inline-size;container-name:fs-strip-in;display:flex;align-items:center;gap:24px;min-height:0;padding-block:12px;border-bottom:0;color:inherit}
[data-fs-theme='strop'] :is(.fs-hdr-util-address,.fs-hdr-util-hours,.fs-hdr-util-note){display:inline-flex}
[data-fs-theme='strop'] .fs-hdr-util-note{order:-1;align-items:center;gap:10px;margin-right:auto}
[data-fs-theme='strop'] .fs-hdr-util-note::before{content:"";flex:none;width:26px;height:9px;background:var(--sr-gilt);-webkit-mask:var(--sr-razor) center/contain no-repeat;mask:var(--sr-razor) center/contain no-repeat}
[data-fs-theme='strop'] .fs-hdr-util-dot{display:none}
[data-fs-theme='strop'] .fs-hdr-util-tel{margin-left:0;font-weight:700;letter-spacing:.1em;color:var(--sr-gilt)}
/* Live-measured (editor, tablet canvas: the strip's own width lands at
   ~47.9rem there, wider than the 44rem tier the gate's own R-B3-1 check
   once required): at Barlow's actual set widths, "Walk-ins welcome ·
   closed Mondays" plus the hours plus the phone no longer fit in three
   items above 44rem, and the platform's flex-wrap:wrap (HEADER_UTIL_CSS)
   wraps the phone onto a second line rather than holding it — read as two
   lines by a strict one-line check. Widening the SAME drop to 48rem
   clears it (measured against the real editor canvas, not /preview/view
   alone — batch 2's px-6/no-gap precedent). There is only ONE real drop
   now, at 48rem: the gate's own strip tier list (check-theme-chrome.tsx's
   batch3Chrome('strop', ...) call) was changed to strip:[48] to match, so
   this file no longer needs a byte-identical 44rem block that existed
   only to satisfy a stale strip:[44] in that call. */
@container fs-strip-in (max-width: 48rem){
  [data-fs-theme='strop'] .fs-hdr-util-note{display:none}
  [data-fs-theme='strop'] .fs-hdr-util-hours{margin-right:auto}
}
/* Both rules now query fs-strip-in (the strip's LINE, R-B3-1) rather than
   leaving .fs-hdr-util-in's centring on an unnamed query that resolved
   against the full strip instead — see studio-calm-chrome-styles.ts's own
   fix of this same mismatch for the full rationale. */
@container fs-strip-in (max-width: 40rem){
  [data-fs-theme='strop'] .fs-hdr-util-item:not(.fs-hdr-util-tel){display:none}
  [data-fs-theme='strop'] .fs-hdr-util-tel{margin-inline:auto}
}
/* The band (the desktop gate) closes on the STROP STITCH, painted as its
   last 9px: a dashed rule with a 46x3 brass core at the centre and a 9px
   paper gap either side. Rows are centred, so the core sits under the
   middle of the bar in every Layout. */
[data-fs-theme='strop'] .fs-hdr-band{container-type:inline-size;container-name:fs-band;border-bottom-width:0;padding-bottom:9px;background:linear-gradient(var(--sr-brass),var(--sr-brass)) 50% calc(100% - 3px)/46px 3px no-repeat,linear-gradient(rgb(var(--c-paper)),rgb(var(--c-paper))) 50% calc(100% - 3px)/64px 3px no-repeat,repeating-linear-gradient(90deg,var(--sr-line-strong) 0 7px,transparent 7px 12px) 0 calc(100% - 4px)/100% 1px no-repeat,rgb(var(--c-paper))}
[data-fs-theme='strop'] .fs-hdr-row{min-height:clamp(66px, (100cqi - 760px) * 100, 80px)}
/* The lockup (mockup logo 238x46 at 44px high): the ring-and-razor mark
   in a 44px box; HOYLE & SONS in the logo's own Georgia caps, 16.3px at
   .141em, 8px apart (R-B3-9: the second line is not mapped). */
[data-fs-theme='strop'] .fs-hdr-row > :first-child{gap:8px;margin-right:auto;padding-right:20px}
[data-fs-theme='strop'] .fs-hdr-row [data-fs-logo-mark]{width:44px;height:44px}
[data-fs-theme='strop'] .fs-hdr-row [data-fs-wordmark]{font-family:Georgia,'Times New Roman',serif;font-size:16.3px;line-height:1;letter-spacing:.141em;text-transform:uppercase;white-space:nowrap}
/* The button: a bevel-cut brand plate (12px, a gilt hairline across the
   cut), the razor before the label, the family's clipper press. Its
   focus ring is drawn inside (the clip would cut an outside one). */
[data-fs-theme='strop'] .fs-hdr-cta{--fs-hdr-cta-bg:rgb(var(--c-brand-600));--fs-hdr-cta-fg:var(--fs-on-brand, rgb(var(--c-paper)));--fs-hdr-cta-bg-hover:rgb(var(--c-brand-600));--fs-hdr-cta-fg-hover:var(--fs-on-brand, rgb(var(--c-paper)))}
[data-fs-theme='strop'] .fs-hdr-cta.fs-hdr-cta{position:relative;flex:none;gap:10px;padding:14px 22px 14px 16px;border-radius:0;font-weight:700;font-size:13.5px;line-height:1;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%);transition:filter .18s ease}
[data-fs-theme='strop'] .fs-hdr-cta.fs-hdr-cta::before{content:"";flex:none;width:28px;height:9.33px;background:currentColor;-webkit-mask:var(--sr-razor) center/contain no-repeat;mask:var(--sr-razor) center/contain no-repeat}
[data-fs-theme='strop'] .fs-hdr-cta.fs-hdr-cta::after{content:"";position:absolute;top:0;left:calc(100% - 12px);width:16.97px;height:1.5px;background:var(--sr-gilt);transform-origin:0 0;transform:rotate(45deg)}
[data-fs-theme='strop'] .fs-hdr-cta.fs-hdr-cta:hover{filter:brightness(1.12)}
[data-fs-theme='strop'] .fs-hdr-cta.fs-hdr-cta:active{animation:strop-clipper .09s steps(3,end)}
[data-fs-theme='strop'] .fs-hdr-cta.fs-hdr-cta:focus-visible{outline:2px solid currentColor;outline-offset:-5px}
[data-fs-theme='strop'] .fs-hdr-row .fs-hdr-cta{margin-left:18px}
@keyframes strop-clipper{0%{transform:translateX(0)}30%{transform:translateX(-1px) scale(.99)}60%{transform:translateX(1px) scale(.99)}100%{transform:translateX(0) scale(.985)}}
/* The menu button: a 44px square, 1.5px ink keyline, 9px bevel; three
   bars, the middle one short and brass; the lucide icon is hidden. */
[data-fs-theme='strop'] .fs-hdr-menu-btn{width:44px;height:44px;margin-left:14px;border:0;border-radius:0;clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,0 100%);box-shadow:inset 0 0 0 1.5px rgb(var(--c-ink-950));background:linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) center calc(50% - 6px)/18px 2px no-repeat,linear-gradient(var(--sr-brass),var(--sr-brass)) center/10px 2px no-repeat,linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) center calc(50% + 6px)/18px 2px no-repeat,rgb(var(--c-paper-soft))}
[data-fs-theme='strop'] .fs-hdr-menu-btn svg{display:none}
/* The shell: no frame; 16px below the row (clear of the 9px stitch); the
   board's bevel is a clip-path, so its shadow is a drop-shadow here. */
[data-fs-theme='strop'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite){margin-top:16px !important;background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;filter:drop-shadow(0 22px 22px var(--sr-drop))}
[data-fs-theme='strop'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite)::before{top:-16px;height:16px}
/* Layout tiers (mockup 306–332); desktop only. */
@container fs-band (min-width: 62rem){
  /* Boxed (880). */
  @container (max-width: 60rem){
    [data-fs-theme='strop'] .fs-hdr-row > :first-child{gap:6px;padding-right:14px}
    [data-fs-theme='strop'] .fs-hdr-row [data-fs-logo-mark]{width:36px;height:36px}
    [data-fs-theme='strop'] .fs-hdr-row [data-fs-wordmark]{font-size:13.3px}
    [data-fs-theme='strop'] .fsmenu-stropBand{--sr-pad:9.5px;--sr-track:.06em}
    [data-fs-theme='strop'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:12px;padding-inline:12px 17px;letter-spacing:.08em}
    [data-fs-theme='strop'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta::before{width:24px;height:8px}
  }
  /* Centered (784): the razor leaves the button. */
  @container (max-width: 50rem){
    [data-fs-theme='strop'] .fs-hdr-row > :first-child{gap:6px;padding-right:10px}
    [data-fs-theme='strop'] .fs-hdr-row [data-fs-logo-mark]{width:33px;height:33px}
    [data-fs-theme='strop'] .fs-hdr-row [data-fs-wordmark]{font-size:12.2px}
    [data-fs-theme='strop'] .fsmenu-stropBand{--sr-pad:8.5px;--sr-track:.05em;--sr-fs:13px}
    [data-fs-theme='strop'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:10px;padding:13px 16px 13px 13px;font-size:13px;letter-spacing:.06em}
    [data-fs-theme='strop'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta::before{display:none}
  }
  /* Minimalist (688): the strap, its stitches, the current fill and the
     button's bevel all stay. */
  @container (max-width: 44rem){
    [data-fs-theme='strop'] .fs-hdr-row > :first-child{gap:5px;padding-right:8px}
    [data-fs-theme='strop'] .fs-hdr-row [data-fs-logo-mark]{width:29px;height:29px}
    [data-fs-theme='strop'] .fs-hdr-row [data-fs-wordmark]{font-size:10.7px}
    [data-fs-theme='strop'] .fsmenu-stropBand-nav{padding:4px 3px;gap:1px}
    [data-fs-theme='strop'] .fsmenu-stropBand{--sr-pad:6px;--sr-track:.03em;--sr-fs:12.5px;gap:5px}
    [data-fs-theme='strop'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:7px;padding:12px 12px 12px 10px;font-size:12.5px;letter-spacing:.03em}
  }
}
@container (max-width: 34rem){
  [data-fs-theme='strop'] .fs-hdr-row > :first-child{gap:6px}
  [data-fs-theme='strop'] .fs-hdr-row [data-fs-logo-mark]{width:36px;height:36px}
  [data-fs-theme='strop'] .fs-hdr-row [data-fs-wordmark]{font-size:13.3px}
}
/* R16 (theme-chrome fix round 2, precedent in counsel/hale/plateful/
   mane-studio/enamel/vernier/groundwork/bright-start/studio-calm-chrome-
   styles.ts): the read-only preview alone renders a fixed-width "Edit
   Template" link plus a visitor dark/light toggle (TemplateViewClient.tsx),
   present on no real site. At the preview's own 390/320px widths the
   trailing group (mode toggle + Edit Template link + menu button) needs
   more room than the row has, even though .fs-hdr-cta is already hidden
   by the platform's own ≤34rem rule. Measured live: hiding the mode
   toggle alone clears 390px; at 320px the wordmark also has to go. The
   brand MARK (data-fs-logo-mark) stays throughout, so the header is
   never unbranded, even on this one preview-only, extreme-narrow case.
   [data-fs-preview-edit] is the stable, surface-only hook the Edit
   Template link alone carries; :has() reaches up from it so only a row
   that actually contains it is affected — published and editor markup
   never has the hook. */
@container (max-width: 34rem){
  [data-fs-theme='strop'] .fs-hdr-row:has([data-fs-preview-edit]) .fs-hdr-mode{display:none}
}
@container (max-width: 22rem){
  [data-fs-theme='strop'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{display:none}
}
/* The head is the strop again (the board, both edges stitched, a gilt
   razor before "Menu"); the close a 40px square with a board-ink keyline
   and a 9px bevel; the pages lettered in Rye on dashed rules; the current
   page is the selected segment, a brand fill with a 10px bevel. */
[data-fs-theme='strop'] .fs-hdr-mobile{background:rgb(var(--c-paper))}
[data-fs-theme='strop'] .fs-hdr-mobile-head{height:auto;padding:12px 16px 12px 20px;border-bottom:0;background:repeating-linear-gradient(90deg,var(--sr-stitch) 0 6px,transparent 6px 10px) 0 4px/100% 1px no-repeat,repeating-linear-gradient(90deg,var(--sr-stitch) 0 6px,transparent 6px 10px) 0 calc(100% - 4px)/100% 1px no-repeat,var(--sr-board);color:var(--sr-board-ink)}
[data-fs-theme='strop'] .fs-hdr-mobile-title{display:inline-flex;align-items:center;gap:12px;font-family:inherit;font-weight:700;font-size:13px;line-height:1;letter-spacing:.26em;text-transform:uppercase;color:var(--sr-board-ink)}
[data-fs-theme='strop'] .fs-hdr-mobile-title::before{content:"";flex:none;width:32px;height:10.67px;background:var(--sr-gilt);-webkit-mask:var(--sr-razor) center/contain no-repeat;mask:var(--sr-razor) center/contain no-repeat}
[data-fs-theme='strop'] .fs-hdr-mobile-close{width:40px;height:40px;border-radius:0;clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,0 100%);box-shadow:inset 0 0 0 1.5px var(--sr-board-ink);color:var(--sr-board-ink)}
[data-fs-theme='strop'] .fs-hdr-mobile-close svg{width:15px;height:15px}
[data-fs-theme='strop'] .fs-hdr-mobile > nav{padding:8px 12px 0}
[data-fs-theme='strop'] .fs-hdr-mobile-row{display:flex;align-items:center;border-bottom:1px dashed var(--sr-line-strong)}
[data-fs-theme='strop'] .fs-hdr-mobile-row:has(> .fs-hdr-mobile-link[aria-current]:not([aria-current='false'])){margin-block:5px;border-bottom-color:transparent}
[data-fs-theme='strop'] .fs-hdr-mobile-link:not(.is-sub){display:flex;align-items:center;flex:1;min-height:56px;padding:12px 14px;font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:22px;line-height:1.15;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='strop'] .fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false']){background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)));clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%)}
[data-fs-theme='strop'] .fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false']):focus-visible{outline:2px solid currentColor;outline-offset:-5px}
[data-fs-theme='strop'] .fs-hdr-mobile-toggle{margin-right:4px;color:rgb(var(--c-ink-950))}
[data-fs-theme='strop'] .fs-hdr-mobile-sub{padding:4px 0 14px;border-bottom:1px dashed var(--sr-line-strong)}
/* The strop stitch with the razor as its core; the bevel-cut card with
   Tel and Open (two cells on a tablet, two rows on a phone — the foot is
   its own container, standing in for the mockup's site <= 560px query);
   then the button full width, razor and all. */
[data-fs-theme='strop'] .fs-pmf-strop{container-type:inline-size;display:grid;gap:14px;padding:22px 0 24px}
[data-fs-theme='strop'] .fs-pmf-stitch{display:flex;align-items:center;gap:8px;color:var(--sr-brass)}
[data-fs-theme='strop'] .fs-pmf-stitch::before,[data-fs-theme='strop'] .fs-pmf-stitch::after{content:"";flex:1;border-top:1px dashed var(--sr-line-strong)}
[data-fs-theme='strop'] .fs-pmf-razor{display:block;flex:none;width:46px;height:15.33px;overflow:visible}
[data-fs-theme='strop'] .fs-pmf-razor-b{fill:currentColor;fill-opacity:.9}
[data-fs-theme='strop'] .fs-pmf-razor-o{fill:currentColor}
[data-fs-theme='strop'] .fs-pmf-razor-s{fill:none;stroke:currentColor;stroke-opacity:.72;stroke-width:1.6}
[data-fs-theme='strop'] .fs-pmf-card{position:relative;background:rgb(var(--c-paper-soft));box-shadow:inset 0 0 0 1px var(--sr-line-strong);clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%)}
[data-fs-theme='strop'] .fs-pmf-card::after{content:"";position:absolute;top:0;left:calc(100% - 14px);width:19.8px;height:1.5px;background:rgb(var(--c-accent, var(--c-brand-600)));transform-origin:0 0;transform:rotate(45deg)}
[data-fs-theme='strop'] .fs-pmf-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);margin:0}
[data-fs-theme='strop'] .fs-pmf-cell{min-width:0;padding:11px 14px 12px}
[data-fs-theme='strop'] .fs-pmf-cell + .fs-pmf-cell{border-left:1px dashed var(--sr-line-strong)}
[data-fs-theme='strop'] .fs-pmf-dt{display:block;margin:0;font-weight:700;font-size:10.5px;line-height:1.2;letter-spacing:.16em;text-transform:uppercase;color:var(--sr-brass)}
[data-fs-theme='strop'] .fs-pmf-dd{display:block;margin:4px 0 0;font-weight:600;font-size:15px;line-height:1.3;font-variant-numeric:tabular-nums;color:rgb(var(--c-ink-950))}
[data-fs-theme='strop'] .fs-pmf-tel{color:inherit;text-decoration:none}
[data-fs-theme='strop'] .fs-pmf .fs-hdr-cta.fs-pmf-cta{display:flex;width:100%;margin:0;padding-block:17px}
@container (max-width: 30rem){
  [data-fs-theme='strop'] .fs-pmf-grid{grid-template-columns:minmax(0,1fr)}
  [data-fs-theme='strop'] .fs-pmf-cell{display:flex;align-items:baseline;gap:14px;padding-block:10px}
  [data-fs-theme='strop'] .fs-pmf-cell + .fs-pmf-cell{border-left:0;border-top:1px dashed var(--sr-line-strong)}
  [data-fs-theme='strop'] .fs-pmf-dt{flex:none;width:40px}
  [data-fs-theme='strop'] .fs-pmf-dd{margin-top:0}
}
/* The board (mockup 149–206, minus .mega-panel — its drop-shadow is on
   the shell above). A racing-green board lettered in gilt Rye, bevel-cut
   top right, a sign-writer's keyline 7px inside; numbered legends
   (a CSS counter, 'strop-board', reset on the grid); a price line's name
   over its time, the price in gilt Rye beside both; a cut's line carries
   the fade swatch — hair ink blending into skin at the cut's own stop.
   What every visit includes, then the combined price in a dashed gilt
   box; the walk-in card (paper on the board, bevel-cut, a brass hairline
   across the cut); the foot's closing rule, dashed either side of a gilt
   stitch core. */
[data-fs-theme='strop'] .fs-srm-panel{--srm-g:clamp(20px,2.4cqi,40px);--srm-cut:30px;position:relative;isolation:isolate;container-type:inline-size;background:var(--sr-board);color:var(--sr-board-ink);clip-path:polygon(0 0,calc(100% - var(--srm-cut)) 0,100% var(--srm-cut),100% 100%,0 100%)}
[data-fs-theme='strop'] .fs-srm-panel::after{content:"";position:absolute;inset:7px;z-index:-1;pointer-events:none;box-shadow:inset 0 0 0 1px var(--sr-gilt-line);background:linear-gradient(to top right,transparent calc(50% - 1px),var(--sr-gilt-line) 0 calc(50% + 1px),transparent 0) 100% 0/calc(var(--srm-cut) - 4px) calc(var(--srm-cut) - 4px) no-repeat;clip-path:polygon(0 0,calc(100% - var(--srm-cut) + 4px) 0,100% calc(var(--srm-cut) - 4px),100% 100%,0 100%)}
[data-fs-theme='strop'] .fs-srm-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 32px;padding:28px calc(var(--srm-g) + 20px) 18px var(--srm-g)}
[data-fs-theme='strop'] .fs-srm-eye{display:flex;align-items:center;gap:10px;margin:0;font-weight:700;font-size:11px;line-height:1;letter-spacing:.2em;text-transform:uppercase;color:var(--sr-board-muted)}
[data-fs-theme='strop'] .fs-srm-eye::before{content:"";flex:none;width:22px;height:2px;background:var(--sr-gilt)}
[data-fs-theme='strop'] .fs-srm-title{margin:10px 0 0;font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:27px;line-height:1.12;color:var(--sr-board-ink);text-wrap:balance}
[data-fs-theme='strop'] .fs-srm-accent{font-style:italic;color:var(--sr-gilt)}
[data-fs-theme='strop'] .fs-srm-note{max-width:34ch;margin:0;padding-bottom:3px;font-size:14px;line-height:1.5;color:var(--sr-board-muted)}
[data-fs-theme='strop'] .fs-srm-grid{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(0,1.9fr);counter-reset:strop-board;gap:26px var(--srm-g);padding:4px var(--srm-g) 22px}
[data-fs-theme='strop'] .fs-srm-prices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px var(--srm-g);align-content:start}
[data-fs-theme='strop'] .fs-srm-side{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1fr);gap:22px var(--srm-g);align-items:start}
[data-fs-theme='strop'] .fs-srm-bh{display:flex;align-items:baseline;gap:9px;padding-bottom:10px;margin-bottom:2px;font-weight:700;font-size:12px;line-height:1;letter-spacing:.18em;text-transform:uppercase;color:var(--sr-board-ink);background:linear-gradient(var(--sr-gilt),var(--sr-gilt)) 0 100%/38px 3px no-repeat,repeating-linear-gradient(90deg,var(--sr-board-line) 0 6px,transparent 6px 10px) 0 calc(100% - 1px)/100% 1px no-repeat}
[data-fs-theme='strop'] .fs-srm-bh::before{counter-increment:strop-board;content:counter(strop-board,decimal-leading-zero);font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:14px;line-height:1;letter-spacing:.04em;color:var(--sr-gilt)}
[data-fs-theme='strop'] .fs-srm-list{list-style:none;margin:0;padding:0}
[data-fs-theme='strop'] .fs-srm-li{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:14px;row-gap:4px;padding-block:10px 11px;border-bottom:1px dashed var(--sr-board-line)}
[data-fs-theme='strop'] .fs-srm-pn{grid-column:1;font-weight:500;font-size:15.5px;line-height:1.3;color:var(--sr-board-ink)}
[data-fs-theme='strop'] .fs-srm-pp{grid-column:2;grid-row:1/3;align-self:center;font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:21px;line-height:1;color:var(--sr-gilt);font-variant-numeric:tabular-nums}
[data-fs-theme='strop'] .fs-srm-pm{grid-column:1;display:flex;align-items:center;gap:9px;min-width:0;font-weight:600;font-size:11px;line-height:1.3;letter-spacing:.13em;text-transform:uppercase;color:var(--sr-board-muted)}
[data-fs-theme='strop'] .fs-srm-fade{flex:none;width:34px;height:9px;box-shadow:0 0 0 1px var(--sr-gilt-line);background:linear-gradient(90deg,var(--sr-hair) 0,var(--sr-hair) var(--fs-srm-stop),var(--sr-skin) calc(var(--fs-srm-stop) + 34%),var(--sr-skin) 100%)}
[data-fs-theme='strop'] .fs-srm-key{display:flex;align-items:center;gap:9px;margin-top:10px;font-size:12.5px;color:var(--sr-board-muted)}
[data-fs-theme='strop'] .fs-srm-incl{list-style:none;margin:0;padding:0}
[data-fs-theme='strop'] .fs-srm-inc-li{position:relative;padding:8px 0 8px 19px;font-size:14.5px;line-height:1.45;color:var(--sr-board-ink);border-bottom:1px dashed var(--sr-board-line)}
[data-fs-theme='strop'] .fs-srm-inc-li::before{content:"";position:absolute;left:0;top:17px;width:9px;height:2px;background:var(--sr-gilt)}
[data-fs-theme='strop'] .fs-srm-combo{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:4px;margin-top:14px;padding:11px 13px;border:1px dashed var(--sr-gilt-line)}
[data-fs-theme='strop'] .fs-srm-combo .fs-srm-ck{grid-column:1/-1;font-weight:700;font-size:10.5px;line-height:1.2;letter-spacing:.12em;text-transform:uppercase;color:var(--sr-board-muted)}
[data-fs-theme='strop'] .fs-srm-combo .fs-srm-pn{font-size:14.5px}
[data-fs-theme='strop'] .fs-srm-combo .fs-srm-pp{grid-row:2/4}
[data-fs-theme='strop'] .fs-srm-walk{--srm-c:16px;position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:18px 20px 20px;background:var(--sr-card);color:rgb(var(--c-ink-950));clip-path:polygon(0 0,calc(100% - var(--srm-c)) 0,100% var(--srm-c),100% 100%,0 100%)}
[data-fs-theme='strop'] .fs-srm-walk::after{content:"";position:absolute;top:0;left:calc(100% - var(--srm-c));width:calc(var(--srm-c) * 1.4142);height:1.5px;background:rgb(var(--c-accent, var(--c-brand-600)));transform-origin:0 0;transform:rotate(45deg)}
[data-fs-theme='strop'] .fs-srm-wt{font-weight:700;font-size:11px;line-height:1;letter-spacing:.16em;text-transform:uppercase;color:var(--sr-brass)}
[data-fs-theme='strop'] .fs-srm-wv{max-width:30ch;margin:0;font-weight:600;font-size:16px;line-height:1.38}
[data-fs-theme='strop'] .fs-srm-wn{max-width:32ch;margin:0;font-size:13.5px;line-height:1.5;color:rgb(var(--c-ink-400))}
[data-fs-theme='strop'] .fs-srm-walk .fs-srm-btn{margin:8px 0 0}
[data-fs-theme='strop'] .fs-srm-link{font-weight:700;font-size:13.5px;line-height:1.3;color:rgb(var(--c-ink-950));box-shadow:inset 0 -1.5px 0 rgb(var(--c-accent, var(--c-brand-600)));padding-bottom:2px;text-decoration:none}
[data-fs-theme='strop'] .fs-srm-link:hover{color:var(--sr-ink-hi)}
[data-fs-theme='strop'] .fs-srm-btn{--srm-bcut:12px;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;flex:none;margin:0;padding:14px 22px 14px 16px;background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)));font-weight:700;font-size:13.5px;line-height:1;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;clip-path:polygon(0 0,calc(100% - var(--srm-bcut)) 0,100% var(--srm-bcut),100% 100%,0 100%);transition:filter .18s ease;text-decoration:none}
[data-fs-theme='strop'] .fs-srm-btn::after{content:"";position:absolute;top:0;left:calc(100% - var(--srm-bcut));width:calc(var(--srm-bcut) * 1.4142);height:1.5px;background:var(--sr-gilt);transform-origin:0 0;transform:rotate(45deg)}
[data-fs-theme='strop'] .fs-srm-btn:hover{filter:brightness(1.12)}
[data-fs-theme='strop'] .fs-srm-btn:active{animation:strop-clipper .09s steps(3,end)}
[data-fs-theme='strop'] .fs-srm-btn:focus-visible{outline:2px solid currentColor;outline-offset:-5px}
[data-fs-theme='strop'] .fs-srm-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;padding:4px var(--srm-g) 22px;font-size:13.5px;color:var(--sr-board-muted)}
[data-fs-theme='strop'] .fs-srm-foot-t{margin:0}
[data-fs-theme='strop'] .fs-srm-stitch{flex:1 1 60px;display:flex;align-items:center;gap:6px;min-width:40px}
[data-fs-theme='strop'] .fs-srm-stitch::before,[data-fs-theme='strop'] .fs-srm-stitch::after{content:"";flex:1;border-top:1px dashed var(--sr-board-line)}
[data-fs-theme='strop'] .fs-srm-stitch-core{flex:none;width:38px;height:2px;background:var(--sr-gilt)}
[data-fs-theme='strop'] .fs-srm-foot-a{font-weight:700;color:var(--sr-gilt);box-shadow:inset 0 -1.5px 0 currentColor;padding-bottom:1px;white-space:nowrap;text-decoration:none}
/* The SAME board in the phone menu: its head and the two price lists;
   the side, the long note and the foot's words go ("The full price list"
   stays). A smaller cut. Context rules, not width rules. */
[data-fs-theme='strop'] .fs-hdr-mobile .fs-srm-panel{--srm-cut:20px}
[data-fs-theme='strop'] .fs-hdr-mobile :is(.fs-srm-side,.fs-srm-note,.fs-srm-foot-t,.fs-srm-stitch){display:none}
[data-fs-theme='strop'] .fs-hdr-mobile .fs-srm-head{padding-top:22px}
[data-fs-theme='strop'] .fs-hdr-mobile .fs-srm-title{font-size:22px}
[data-fs-theme='strop'] .fs-hdr-mobile .fs-srm-grid{grid-template-columns:minmax(0,1fr);padding-bottom:14px}
[data-fs-theme='strop'] .fs-hdr-mobile .fs-srm-prices{grid-template-columns:repeat(2,minmax(0,1fr))}
/* The board reflows on its own box (the panel: 1392 / 1232 / 1152 / 880
   / 784 / 688; phone-menu copies 744 and 366). MIDDLE (70rem, Boxed):
   three columns, the combined price over the walk-in card. NARROW (52rem,
   Centered, Minimalist): the two price lists side by side, the walk-in
   card a band under them. ONE COLUMN at 30rem (the phone's menu only). */
@container (max-width: 70rem){
  [data-fs-theme='strop'] .fs-srm-grid{grid-template-columns:minmax(0,2.05fr) minmax(0,1fr)}
  [data-fs-theme='strop'] .fs-srm-side{grid-template-columns:minmax(0,1fr)}
  [data-fs-theme='strop'] :is(.fs-srm-inc > .fs-srm-bh,.fs-srm-incl,.fs-srm-note,.fs-srm-wn){display:none}
  [data-fs-theme='strop'] .fs-srm-combo{margin-top:0}
}
@container (max-width: 52rem){
  [data-fs-theme='strop'] .fs-srm-grid{grid-template-columns:minmax(0,1fr);row-gap:20px}
  [data-fs-theme='strop'] .fs-srm-inc{display:none}
  [data-fs-theme='strop'] .fs-srm-head{padding-top:24px}
  [data-fs-theme='strop'] .fs-srm-title{font-size:23px}
  [data-fs-theme='strop'] .fs-srm-pm{letter-spacing:.08em}
  [data-fs-theme='strop'] .fs-srm-walk{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:24px;row-gap:6px;align-items:center;padding:16px 22px 16px 20px}
  [data-fs-theme='strop'] :is(.fs-srm-wt,.fs-srm-wv,.fs-srm-walk .fs-srm-link){grid-column:1;justify-self:start}
  [data-fs-theme='strop'] .fs-srm-wv{max-width:none}
  [data-fs-theme='strop'] .fs-srm-walk .fs-srm-btn{grid-column:2;grid-row:1/4;margin:0}
}
@container (max-width: 30rem){
  [data-fs-theme='strop'] .fs-srm-prices,[data-fs-theme='strop'] .fs-hdr-mobile .fs-srm-prices{grid-template-columns:minmax(0,1fr)}
  [data-fs-theme='strop'] .fs-srm-head{padding-right:calc(var(--srm-g) + 10px)}
}
@media (prefers-reduced-motion: reduce){
  [data-fs-theme='strop'] .fs-hdr-cta.fs-hdr-cta,[data-fs-theme='strop'] .fs-hdr-cta.fs-hdr-cta:active,[data-fs-theme='strop'] .fs-srm-btn,[data-fs-theme='strop'] .fs-srm-btn:active{animation:none;transition:none}
}


/* Tokens (mockup 81–82), FULL colours. --fc-rule / --fc-line-2: the soft
   hairline and the cut-line; --fc-faint: a secondary ink; --fc-tint: the
   set case's wash; --fc-velvet: the strip, the well and the footer — a
   dark ground in every palette and mode (the ink in light, the page in
   dark); --fc-on-velvet / --fc-velvet-muted / --fc-gold-lit /
   --fc-sapph-lit: pale ink, muted ink, brand and accent AS TEXT on the
   velvet; --fc-velvet-line / --fc-velvet-lift: its rim and the tray's
   faint lift; --fc-shade: the drawer's drop-shadow (pure black at alpha
   in dark); --fc-eyebrow: the accent as small caps, darkened in light.
   The glint is the one literal (white at .3/.2; plan Global Constraints). */
[data-fs-theme='facet']{--fs-chrome-mode:light;--fc-rule:rgb(var(--c-ink-950) / .15);--fc-line-2:rgb(var(--c-ink-950) / .3);--fc-faint:color-mix(in srgb, rgb(var(--c-ink-950)) 65%, rgb(var(--c-paper)));--fc-tint:rgb(var(--c-brand-600) / .08);--fc-velvet:rgb(var(--c-ink-950));--fc-on-velvet:color-mix(in srgb, rgb(var(--c-paper)) 95%, rgb(var(--c-ink-950)));--fc-velvet-muted:color-mix(in srgb, var(--fc-on-velvet) 72%, var(--fc-velvet));--fc-gold-lit:color-mix(in srgb, rgb(var(--c-brand-600)) 50%, var(--fc-on-velvet));--fc-sapph-lit:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 40%, var(--fc-on-velvet));--fc-velvet-line:color-mix(in srgb, var(--fc-gold-lit) 30%, transparent);--fc-velvet-lift:color-mix(in srgb, var(--fc-on-velvet) 3.5%, transparent);--fc-shade:rgb(var(--c-ink-950) / .3);--fc-eyebrow:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 70%, rgb(var(--c-ink-950)))}
[data-fs-theme='facet'].dark{--fs-chrome-mode:dark;--fc-rule:rgb(var(--c-ink-950) / .14);--fc-line-2:rgb(var(--c-ink-950) / .28);--fc-tint:rgb(var(--c-brand-600) / .1);--fc-velvet:rgb(var(--c-paper));--fc-on-velvet:rgb(var(--c-ink-950));--fc-gold-lit:rgb(var(--c-brand-600));--fc-sapph-lit:rgb(var(--c-accent, var(--c-brand-600)));--fc-velvet-line:color-mix(in srgb, var(--fc-gold-lit) 28%, transparent);--fc-velvet-lift:color-mix(in srgb, var(--fc-on-velvet) 3%, transparent);--fc-shade:rgb(0 0 0 / .62);--fc-eyebrow:rgb(var(--c-accent, var(--c-brand-600)))}
/* The strip: velvet with a gold rim; the note as the eyebrow with a
   sapphire diamond; the address and hours muted; the phone in gold. Its
   line (fs-strip-in) drops the hours at 60rem and the address at 44rem. */
[data-fs-theme='facet'] .fs-hdr-util{container-type:inline-size;background:var(--fc-velvet);box-shadow:inset 0 -1px 0 var(--fc-velvet-line);color:var(--fc-on-velvet)}
[data-fs-theme='facet'] .fs-hdr-util-in{container-type:inline-size;container-name:fs-strip-in;display:flex;align-items:center;gap:8px 28px;min-height:38px;padding-block:8px;border-bottom:0;font-weight:400;font-size:12.5px;line-height:1.3;letter-spacing:.03em;color:inherit}
[data-fs-theme='facet'] :is(.fs-hdr-util-address,.fs-hdr-util-hours,.fs-hdr-util-note){display:inline-flex}
[data-fs-theme='facet'] .fs-hdr-util-note{order:-1;align-items:center;gap:10px;margin-right:auto;font-weight:600;font-size:11px;line-height:16.25px;letter-spacing:.2em;text-transform:uppercase;color:var(--fc-on-velvet)}
[data-fs-theme='facet'] .fs-hdr-util-note::before{content:"";flex:none;width:7px;height:7px;background:var(--fc-sapph-lit);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
[data-fs-theme='facet'] :is(.fs-hdr-util-address,.fs-hdr-util-hours){color:var(--fc-velvet-muted)}
[data-fs-theme='facet'] .fs-hdr-util-dot{display:none}
[data-fs-theme='facet'] .fs-hdr-util-tel{margin-left:0;font-weight:600;letter-spacing:.09em;color:var(--fc-gold-lit)}
@container fs-strip-in (max-width: 60rem){
  [data-fs-theme='facet'] .fs-hdr-util-hours{display:none}
}
@container fs-strip-in (max-width: 44rem){
  [data-fs-theme='facet'] .fs-hdr-util-address{display:none}
}
/* Both rules now query fs-strip-in (the strip's LINE, R-B3-1) rather than
   leaving .fs-hdr-util-in's centring on an unnamed query that resolved
   against the full strip instead — see studio-calm-chrome-styles.ts's own
   fix of this same mismatch for the full rationale. */
@container fs-strip-in (max-width: 40rem){
  [data-fs-theme='facet'] .fs-hdr-util-item:not(.fs-hdr-util-tel){display:none}
  [data-fs-theme='facet'] .fs-hdr-util-tel{margin-inline:auto}
}
/* The band (the desktop gate) ends on the cut rule, painted: the band a
   full-width line-2 hairline as its last pixel, the row the 2.4rem x 3px
   accent segment on it at its own content edge, under the mark. */
[data-fs-theme='facet'] .fs-hdr-band{container-type:inline-size;container-name:fs-band;border-bottom-width:0;background:linear-gradient(var(--fc-line-2),var(--fc-line-2)) 0 100%/100% 1px no-repeat,rgb(var(--c-paper))}
[data-fs-theme='facet'] .fs-hdr-row{min-height:clamp(68px, (100cqi - 760px) * 100, 86px);background:linear-gradient(rgb(var(--c-accent, var(--c-brand-600))),rgb(var(--c-accent, var(--c-brand-600)))) var(--row-pad, 1.5rem) 100%/2.4rem 3px no-repeat}
/* The lockup: the cut-table mark (42px) and the name in Italiana 23px
   caps at .17em, 13px apart; the cases' 24px lead is the brand's right
   padding, so the cases and the button group right. */
[data-fs-theme='facet'] .fs-hdr-row > :first-child{gap:13px;margin-right:auto;padding-right:24px}
[data-fs-theme='facet'] .fs-hdr-row [data-fs-logo-mark]{width:42px;height:42px}
[data-fs-theme='facet'] .fs-hdr-row [data-fs-wordmark]{font-size:23px;line-height:1;letter-spacing:.17em;text-transform:uppercase;white-space:nowrap}
/* facetTabs, finished (R-B3-15): each page its own case — 40px tall, a
   10px cut with the cut-line as a background layer (it survives the
   clip; ::before stays free for the glint), paper-soft, a 1px rule,
   Outfit 500 in ink-400. Hover, focus and open: gold border, gold cut,
   brand ink, the glint sweeps. The current page is the SET case: gold
   border, the gold wash, brand ink, the cut in sapphire. The style's
   inline padding, border and clip are overridden here. */
[data-fs-theme='facet'] .fs-hdr-row > .fsmenu-facetTabs-nav{flex:0 0 auto;gap:var(--fc-gap,7px)}
[data-fs-theme='facet'] .fsmenu-facetTabs{--fc-cut:10px;display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 var(--fc-pad,16px) !important;border:1px solid var(--fc-rule) !important;clip-path:polygon(var(--fc-cut) 0,100% 0,100% 100%,0 100%,0 var(--fc-cut)) !important;background:linear-gradient(135deg,transparent 50%,var(--fc-cutline, var(--fc-line-2)) 50%,var(--fc-cutline, var(--fc-line-2)) calc(50% + 1px),transparent calc(50% + 1px)) 0 0/var(--fc-cut) var(--fc-cut) no-repeat border-box,var(--fc-case-bg, rgb(var(--c-paper-soft)));font-weight:500;font-size:var(--fc-fs,14px);line-height:1;letter-spacing:var(--fc-tr,.03em);white-space:nowrap;color:rgb(var(--c-ink-400));transition:color .2s cubic-bezier(.2,.7,.3,1),border-color .2s cubic-bezier(.2,.7,.3,1)}
[data-fs-theme='facet'] .fsmenu-facetTabs::before{inset:-40% -70%;background:linear-gradient(115deg,transparent 42%,rgb(255 255 255 / .3) 50%,transparent 58%);transition:transform .6s cubic-bezier(.2,.7,.3,1)}
[data-fs-theme='facet'] .fsmenu-facetTabs:is(:hover,:focus-visible),[data-fs-theme='facet'] .fs-hdr-group[data-open] > .fsmenu-facetTabs{--fc-cutline:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600)) !important;color:rgb(var(--c-brand-text))}
[data-fs-theme='facet'] .fsmenu-facetTabs[aria-current]:not([aria-current='false']){--fc-cutline:rgb(var(--c-accent, var(--c-brand-600)));--fc-case-bg:linear-gradient(var(--fc-tint),var(--fc-tint)),rgb(var(--c-paper-soft));border-color:rgb(var(--c-brand-600)) !important;color:rgb(var(--c-brand-text))}
[data-fs-theme='facet'] .fsmenu-facetTabs:focus-visible{outline:2px solid currentColor;outline-offset:-4px}
/* The button: a gold case, cut 12px, the glint on hover; its focus ring
   inside, in the on-brand ink. */
[data-fs-theme='facet'] .fs-hdr-cta{--fs-hdr-cta-bg:rgb(var(--c-brand-600));--fs-hdr-cta-fg:var(--fs-on-brand, rgb(var(--c-paper)));--fs-hdr-cta-bg-hover:rgb(var(--c-brand-600));--fs-hdr-cta-fg-hover:var(--fs-on-brand, rgb(var(--c-paper)))}
[data-fs-theme='facet'] .fs-hdr-cta.fs-hdr-cta{position:relative;overflow:hidden;flex:none;min-height:46px;padding:0 24px;border-radius:0;clip-path:polygon(12px 0,100% 0,100% 100%,0 100%,0 12px);font-weight:600;font-size:14.5px;line-height:1;letter-spacing:.05em;white-space:nowrap}
[data-fs-theme='facet'] .fs-hdr-cta.fs-hdr-cta::before{content:"";position:absolute;inset:-40% -70%;pointer-events:none;background:linear-gradient(115deg,transparent 42%,rgb(255 255 255 / .3) 50%,transparent 58%);transform:translateX(-120%);transition:transform .6s cubic-bezier(.2,.7,.3,1)}
[data-fs-theme='facet'] .fs-hdr-cta.fs-hdr-cta:is(:hover,:focus-visible)::before{transform:translateX(120%)}
[data-fs-theme='facet'] .fs-hdr-cta.fs-hdr-cta:focus-visible{outline:2px solid var(--fs-on-brand, rgb(var(--c-paper)));outline-offset:-5px}
[data-fs-theme='facet'] .fs-hdr-row .fs-hdr-cta{margin-left:20px}
/* The menu button: a 46px case with the cut and a line-2 border; three
   bars, the middle one short, gold and set right; the icon hidden. */
[data-fs-theme='facet'] .fs-hdr-menu-btn{width:46px;height:46px;margin-left:14px;border:1px solid var(--fc-line-2);border-radius:0;clip-path:polygon(10px 0,100% 0,100% 100%,0 100%,0 10px);background:linear-gradient(135deg,transparent 50%,var(--fc-line-2) 50%,var(--fc-line-2) calc(50% + 1px),transparent calc(50% + 1px)) 0 0/10px 10px no-repeat border-box,linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) center calc(50% - 6.5px)/18px 1.5px no-repeat,linear-gradient(rgb(var(--c-brand-600)),rgb(var(--c-brand-600))) calc(50% + 3px) center/12px 1.5px no-repeat,linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) center calc(50% + 6.5px)/18px 1.5px no-repeat,rgb(var(--c-paper-soft))}
[data-fs-theme='facet'] .fs-hdr-menu-btn svg{display:none}
/* The shell: no frame, 12px below the row; the drawer's shadow is a
   filter on the composite root (it follows the cut). */
[data-fs-theme='facet'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite){margin-top:12px !important;background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:none !important}
[data-fs-theme='facet'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite)::before{top:-12px;height:12px}
/* Layout tiers (mockup 285–310); desktop only. */
@container fs-band (min-width: 62rem){
  /* Boxed (880). */
  @container (max-width: 60rem){
    [data-fs-theme='facet'] .fs-hdr-row > :first-child{gap:11px;padding-right:16px}
    [data-fs-theme='facet'] .fs-hdr-row [data-fs-logo-mark]{width:36px;height:36px}
    [data-fs-theme='facet'] .fs-hdr-row [data-fs-wordmark]{font-size:19px;letter-spacing:.13em}
    [data-fs-theme='facet'] .fs-hdr-row > .fsmenu-facetTabs-nav{--fc-gap:6px}
    [data-fs-theme='facet'] .fsmenu-facetTabs{--fc-pad:13px}
    [data-fs-theme='facet'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:16px;padding-inline:19px}
  }
  /* Centered (784). */
  @container (max-width: 50rem){
    [data-fs-theme='facet'] .fs-hdr-row > :first-child{gap:9px;padding-right:12px}
    [data-fs-theme='facet'] .fs-hdr-row [data-fs-logo-mark]{width:32px;height:32px}
    [data-fs-theme='facet'] .fs-hdr-row [data-fs-wordmark]{font-size:17px;letter-spacing:.11em}
    [data-fs-theme='facet'] .fs-hdr-row > .fsmenu-facetTabs-nav{--fc-gap:5px}
    [data-fs-theme='facet'] .fsmenu-facetTabs{--fc-pad:11px;--fc-fs:13.5px;--fc-tr:.01em}
    [data-fs-theme='facet'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:12px;padding-inline:15px;font-size:13.5px;letter-spacing:.03em}
  }
  /* Minimalist (688), the tightest. */
  @container (max-width: 44rem){
    [data-fs-theme='facet'] .fs-hdr-row > :first-child{gap:8px;padding-right:8px}
    [data-fs-theme='facet'] .fs-hdr-row [data-fs-logo-mark]{width:28px;height:28px}
    [data-fs-theme='facet'] .fs-hdr-row [data-fs-wordmark]{font-size:15px;letter-spacing:.09em}
    [data-fs-theme='facet'] .fs-hdr-row > .fsmenu-facetTabs-nav{--fc-gap:4px}
    [data-fs-theme='facet'] .fsmenu-facetTabs{--fc-pad:9px;--fc-fs:13px;--fc-tr:0em}
    [data-fs-theme='facet'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:8px;padding-inline:12px;font-size:13px;letter-spacing:.02em}
  }
}
@container (max-width: 34rem){
  [data-fs-theme='facet'] .fs-hdr-row > :first-child{gap:9px}
  [data-fs-theme='facet'] .fs-hdr-row [data-fs-logo-mark]{width:32px;height:32px}
  [data-fs-theme='facet'] .fs-hdr-row [data-fs-wordmark]{font-size:17px;letter-spacing:.12em}
}
/* R16 (theme-chrome fix round 2, precedent in counsel/hale/plateful/
   mane-studio/enamel/vernier/groundwork/bright-start/studio-calm/strop-
   chrome-styles.ts): the read-only preview alone renders a fixed-width
   "Edit Template" link plus a visitor dark/light toggle
   (TemplateViewClient.tsx), present on no real site. At the preview's own
   390/320px widths the trailing group (mode toggle + Edit Template link +
   menu button) needs more room than the row has, even though .fs-hdr-cta
   is already hidden by the platform's own ≤34rem rule. Measured live:
   hiding the mode toggle alone clears 390px; at 320px the wordmark also
   has to go. The brand MARK (data-fs-logo-mark) stays throughout, so the
   header is never unbranded, even on this one preview-only, extreme-
   narrow case. [data-fs-preview-edit] is the stable, surface-only hook
   the Edit Template link alone carries; :has() reaches up from it so only
   a row that actually contains it is affected — published and editor
   markup never has the hook. */
@container (max-width: 34rem){
  [data-fs-theme='facet'] .fs-hdr-row:has([data-fs-preview-edit]) .fs-hdr-mode{display:none}
}
@container (max-width: 22rem){
  [data-fs-theme='facet'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{display:none}
}
/* Phone menu (mockup 198–213). Paper. "MENU" is the eyebrow over the cut
   rule (a line-2 hairline with the accent segment at 16px); a 44px close
   case. The pages are the desktop's cases stacked full width (the ROW is
   the case, so the toggle sits inside it), named in the Didone; your
   page is the set case; an open group gets the gold border. */
[data-fs-theme='facet'] .fs-hdr-mobile{background:rgb(var(--c-paper))}
[data-fs-theme='facet'] .fs-hdr-mobile-head{height:auto;gap:14px;padding:12px 16px 14px;border-bottom:0;background:linear-gradient(rgb(var(--c-accent, var(--c-brand-600))),rgb(var(--c-accent, var(--c-brand-600)))) 16px 100%/2.4rem 3px no-repeat,linear-gradient(var(--fc-line-2),var(--fc-line-2)) 0 100%/100% 1px no-repeat}
[data-fs-theme='facet'] .fs-hdr-mobile-title{display:inline-flex;align-items:center;gap:10px;font-family:inherit;font-weight:600;font-size:11px;line-height:1.25;letter-spacing:.22em;text-transform:uppercase;color:var(--fc-eyebrow)}
[data-fs-theme='facet'] .fs-hdr-mobile-title::before{content:"";flex:none;width:7px;height:7px;background:currentColor;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
[data-fs-theme='facet'] .fs-hdr-mobile-close{width:44px;height:44px;border:1px solid var(--fc-line-2);border-radius:0;clip-path:polygon(9px 0,100% 0,100% 100%,0 100%,0 9px);background:linear-gradient(135deg,transparent 50%,var(--fc-line-2) 50%,var(--fc-line-2) calc(50% + 1px),transparent calc(50% + 1px)) 0 0/9px 9px no-repeat border-box,rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950))}
[data-fs-theme='facet'] .fs-hdr-mobile-close svg{width:15px;height:15px}
[data-fs-theme='facet'] .fs-hdr-mobile > nav{padding:18px 16px 0}
[data-fs-theme='facet'] .fs-hdr-mobile-list{display:grid;gap:8px}
[data-fs-theme='facet'] .fs-hdr-mobile-row{--fc-cut:12px;display:flex;align-items:center;min-height:56px;border:1px solid var(--fc-rule);clip-path:polygon(var(--fc-cut) 0,100% 0,100% 100%,0 100%,0 var(--fc-cut));background:linear-gradient(135deg,transparent 50%,var(--fc-cutline, var(--fc-line-2)) 50%,var(--fc-cutline, var(--fc-line-2)) calc(50% + 1px),transparent calc(50% + 1px)) 0 0/var(--fc-cut) var(--fc-cut) no-repeat border-box,var(--fc-case-bg, rgb(var(--c-paper-soft)))}
[data-fs-theme='facet'] .fs-hdr-mobile-row:has(> .fs-hdr-mobile-link[aria-current]:not([aria-current='false'])){--fc-cutline:rgb(var(--c-accent, var(--c-brand-600)));--fc-case-bg:linear-gradient(var(--fc-tint),var(--fc-tint)),rgb(var(--c-paper-soft));border-color:rgb(var(--c-brand-600))}
[data-fs-theme='facet'] .fs-hdr-mobile-row:has(.fs-hdr-mobile-toggle[aria-expanded='true']){--fc-cutline:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600))}
[data-fs-theme='facet'] .fs-hdr-mobile-link:not(.is-sub){display:flex;align-items:center;flex:1;align-self:stretch;padding:0 18px;font-family:var(--font-display, 'Didot', 'Bodoni 72', Georgia, serif);font-weight:400;font-size:24px;line-height:1.1;letter-spacing:.01em;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='facet'] .fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false']){color:rgb(var(--c-brand-text))}
[data-fs-theme='facet'] .fs-hdr-mobile-toggle{margin-right:12px;color:rgb(var(--c-ink-950))}
[data-fs-theme='facet'] .fs-hdr-mobile-sub{padding:2px 2px 8px}
/* Bottom section (mockup 358–361): a velvet case (cut 16px): the hours in
   small caps, the phone in Italiana gold, the strip's address, the cut
   gem (54px) at the right; then the gold button full width (54px). No
   fixed words. */
[data-fs-theme='facet'] .fs-pmf-facet{display:grid;gap:10px;margin:20px 0 24px}
[data-fs-theme='facet'] .fs-pmf-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 16px;padding:16px 16px 16px 18px;background:var(--fc-velvet);color:var(--fc-on-velvet);clip-path:polygon(16px 0,100% 0,100% 100%,0 100%,0 16px)}
[data-fs-theme='facet'] .fs-pmf-hours{grid-column:1;margin:0;font-weight:600;font-size:11px;line-height:1.35;letter-spacing:.18em;text-transform:uppercase;color:var(--fc-velvet-muted)}
[data-fs-theme='facet'] .fs-pmf-big{grid-column:1;margin:4px 0 0;font-family:var(--font-display, 'Didot', 'Bodoni 72', Georgia, serif);font-weight:400;font-size:31px;line-height:1.05;letter-spacing:.02em;font-variant-numeric:lining-nums;color:var(--fc-gold-lit)}
[data-fs-theme='facet'] .fs-pmf-tel{color:inherit;text-decoration:none}
[data-fs-theme='facet'] .fs-pmf-addr{grid-column:1;margin:5px 0 0;font-size:13px;color:var(--fc-velvet-muted)}
[data-fs-theme='facet'] .fs-pmf-gem{grid-row:1/span 3;grid-column:2;display:block;width:54px;height:54px;overflow:visible}
[data-fs-theme='facet'] :is(.fs-pmf-gem,.fs-fcm-gem) .fs-fcg-body{fill:var(--fc-on-velvet);fill-opacity:.12}
[data-fs-theme='facet'] :is(.fs-pmf-gem,.fs-fcm-gem) .fs-fcg-facet{fill:var(--fc-on-velvet);fill-opacity:.22;stroke:var(--fc-gold-lit);stroke-width:.7}
[data-fs-theme='facet'] :is(.fs-pmf-gem,.fs-fcm-gem) .fs-fcg-facet:is(:nth-of-type(3),:nth-of-type(7)){fill:var(--fc-sapph-lit);fill-opacity:.42}
[data-fs-theme='facet'] :is(.fs-pmf-gem,.fs-fcm-gem) .fs-fcg-table{fill:none;stroke:var(--fc-gold-lit);stroke-width:1.2}
[data-fs-theme='facet'] .fs-pmf .fs-hdr-cta.fs-pmf-cta{display:flex;width:100%;margin:0;min-height:54px;font-size:15px}

/* ── The Collections mega panel — the cabinet drawer (mockup 140–196) ──
   One bevel-cut case on card white, cut in sapphire, hung on a deep
   drop-shadow (a filter on the root, so it follows the cut). Ported from
   the mockup's .fc-mega family with the theme's own token map and the
   geometry variables renamed to --fcm-* so they never collide with the
   header's own --fc-cut/--fc-cutline/--fc-case-bg. */
[data-fs-theme='facet'] .fs-fcm-panel{container-type:inline-size;filter:drop-shadow(0 28px 30px var(--fc-shade))}
[data-fs-theme='facet'] .fs-fcm-case{--fcm-cut:26px;--fcm-cutline:rgb(var(--c-accent, var(--c-brand-600)));padding:var(--fcm-pt,26px) var(--fcm-p,30px) var(--fcm-pb,26px);border:1px solid var(--fc-rule);clip-path:polygon(var(--fcm-cut) 0,100% 0,100% 100%,0 100%,0 var(--fcm-cut));background:linear-gradient(135deg,transparent 50%,var(--fcm-cutline, var(--fc-line-2)) 50%,var(--fcm-cutline, var(--fc-line-2)) calc(50% + 1px),transparent calc(50% + 1px)) 0 0/var(--fcm-cut) var(--fcm-cut) no-repeat border-box,var(--fcm-case-bg, rgb(var(--c-paper-soft)))}
[data-fs-theme='facet'] .fs-fcm-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 24px;padding-bottom:15px;margin:0;background:linear-gradient(rgb(var(--c-accent, var(--c-brand-600))),rgb(var(--c-accent, var(--c-brand-600)))) 0 100%/2.4rem 3px no-repeat,linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) 0 calc(100% - .5px)/100% 2px no-repeat}
[data-fs-theme='facet'] .fs-fcm-cap{margin-left:auto;font-size:13px;color:rgb(var(--c-ink-400))}
[data-fs-theme='facet'] .fs-fcm-eyebrow{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:11px;line-height:1.25;letter-spacing:.22em;text-transform:uppercase;color:var(--fc-eyebrow)}
[data-fs-theme='facet'] .fs-fcm-eyebrow::before{content:"";flex:none;width:7px;height:7px;background:currentColor;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
[data-fs-theme='facet'] .fs-fcm-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);grid-template-areas:"ready guide" "card card";column-gap:var(--fcm-colgap,32px)}
[data-fs-theme='facet'] .fs-fcm-list{min-width:0;padding-top:20px}
[data-fs-theme='facet'] .fs-fcm-ready{grid-area:ready}
[data-fs-theme='facet'] .fs-fcm-guide{grid-area:guide}
[data-fs-theme='facet'] .fs-fcm-lh{margin:0;padding-bottom:10px;border-bottom:1px solid var(--fc-rule);font-weight:600;font-size:11px;line-height:1.25;letter-spacing:.2em;text-transform:uppercase;color:var(--fc-faint)}
[data-fs-theme='facet'] .fs-fcm-ul{list-style:none;margin:0;padding:0}
[data-fs-theme='facet'] .fs-fcm-li{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;column-gap:14px;padding-block:13px 12px;border-bottom:1px solid var(--fc-rule)}
[data-fs-theme='facet'] .fs-fcm-pn{font-family:var(--font-display, 'Didot', 'Bodoni 72', Georgia, serif);font-weight:400;font-size:21px;line-height:1.15;color:rgb(var(--c-ink-950));text-decoration:none;box-shadow:inset 0 -1px 0 transparent;transition:box-shadow .18s ease}
[data-fs-theme='facet'] .fs-fcm-pp{flex:none;font-weight:500;font-size:15px;line-height:1.2;letter-spacing:.03em;color:rgb(var(--c-brand-text));white-space:nowrap;font-variant-numeric:lining-nums tabular-nums}
[data-fs-theme='facet'] .fs-fcm-pm{flex-basis:100%;margin-top:8px;padding-top:7px;background:linear-gradient(var(--fc-line-2),var(--fc-line-2)) 0 0/28px 1px no-repeat;font-size:12.5px;line-height:1.45;color:rgb(var(--c-ink-400))}
[data-fs-theme='facet'] .fs-fcm-gi{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding-block:11px;border-bottom:1px solid var(--fc-rule)}
[data-fs-theme='facet'] .fs-fcm-gn{font-weight:400;font-size:14.5px;line-height:1.35;color:rgb(var(--c-ink-950));text-decoration:none;box-shadow:inset 0 -1px 0 transparent;transition:box-shadow .18s ease}
[data-fs-theme='facet'] :is(.fs-fcm-li,.fs-fcm-gi):hover :is(.fs-fcm-pn,.fs-fcm-gn),[data-fs-theme='facet'] :is(.fs-fcm-pn,.fs-fcm-gn):focus-visible{box-shadow:inset 0 -1px 0 rgb(var(--c-accent, var(--c-brand-600)))}
[data-fs-theme='facet'] .fs-fcm-card{--fcm-cut:18px;--fcm-cutline:rgb(var(--c-accent, var(--c-brand-600)));--fcm-case-bg:rgb(var(--c-paper));grid-area:card;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"well text btn";align-items:center;gap:14px 22px;margin-top:22px;padding:18px 22px 18px 18px;border:1px solid var(--fc-rule);clip-path:polygon(var(--fcm-cut) 0,100% 0,100% 100%,0 100%,0 var(--fcm-cut));background:linear-gradient(135deg,transparent 50%,var(--fcm-cutline, var(--fc-line-2)) 50%,var(--fcm-cutline, var(--fc-line-2)) calc(50% + 1px),transparent calc(50% + 1px)) 0 0/var(--fcm-cut) var(--fcm-cut) no-repeat border-box,var(--fcm-case-bg, rgb(var(--c-paper-soft)))}
[data-fs-theme='facet'] .fs-fcm-well{--fcm-cut:10px;grid-area:well;position:relative;overflow:hidden;display:grid;place-items:center;width:var(--fcm-well,78px);aspect-ratio:1;background:var(--fc-velvet);box-shadow:inset 0 0 0 1px var(--fc-velvet-line);clip-path:polygon(var(--fcm-cut) 0,100% 0,100% 100%,0 100%,0 var(--fcm-cut))}
[data-fs-theme='facet'] .fs-fcm-well::before{content:"";position:absolute;inset:-40% -70%;pointer-events:none;background:linear-gradient(115deg,transparent 42%,rgb(255 255 255 / .2) 50%,transparent 58%);transform:translateX(-120%);animation:facet-glint 1.2s cubic-bezier(.2,.7,.3,1) .35s both}
[data-fs-theme='facet'] .fs-fcm-well .fs-fcm-gem{display:block;width:74%;height:74%;overflow:visible}
[data-fs-theme='facet'] .fs-fcm-ctext{grid-area:text;min-width:0}
[data-fs-theme='facet'] .fs-fcm-ck{margin:0;font-weight:600;font-size:11px;line-height:1.25;letter-spacing:.2em;text-transform:uppercase;color:var(--fc-faint)}
[data-fs-theme='facet'] .fs-fcm-ct{margin:6px 0 0;max-width:22ch;font-family:var(--font-display, 'Didot', 'Bodoni 72', Georgia, serif);font-weight:400;font-size:25px;line-height:1.12;color:rgb(var(--c-ink-950));text-wrap:balance}
[data-fs-theme='facet'] .fs-fcm-accent{font-style:italic}
[data-fs-theme='facet'] .fs-fcm-inc{display:none;grid-area:inc}
[data-fs-theme='facet'] .fs-fcm-inc-li{position:relative;padding:4px 0 4px 17px;font-size:13px;line-height:1.45;color:rgb(var(--c-ink-400))}
[data-fs-theme='facet'] .fs-fcm-inc-li::before{content:"";position:absolute;left:0;top:calc(4px + .52em);width:6px;height:6px;background:rgb(var(--c-accent, var(--c-brand-600)));clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
[data-fs-theme='facet'] .fs-fcm-cbtn{grid-area:btn;display:grid;gap:8px;justify-items:stretch;text-align:center}
[data-fs-theme='facet'] .fs-fcm-cbtn .fs-fcm-btn{margin:0}
[data-fs-theme='facet'] .fs-fcm-btn{--fcm-cut:12px;position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;flex:none;min-height:46px;padding-inline:24px;background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)));font-weight:600;font-size:14.5px;line-height:1;letter-spacing:.05em;white-space:nowrap;text-decoration:none;clip-path:polygon(var(--fcm-cut) 0,100% 0,100% 100%,0 100%,0 var(--fcm-cut))}
[data-fs-theme='facet'] .fs-fcm-btn::before{content:"";position:absolute;inset:-40% -70%;pointer-events:none;background:linear-gradient(115deg,transparent 42%,rgb(255 255 255 / .3) 50%,transparent 58%);transform:translateX(-120%);transition:transform .6s cubic-bezier(.2,.7,.3,1)}
[data-fs-theme='facet'] .fs-fcm-btn:is(:hover,:focus-visible)::before{transform:translateX(120%)}
[data-fs-theme='facet'] .fs-fcm-btn:focus-visible{outline:2px solid var(--fs-on-brand, rgb(var(--c-paper)));outline-offset:-5px}
[data-fs-theme='facet'] .fs-fcm-cn{margin:0;max-width:30ch;font-size:12.5px;line-height:1.45;color:var(--fc-faint)}
[data-fs-theme='facet'] .fs-fcm-foot{grid-area:foot;display:none;align-items:center;padding-top:20px}
[data-fs-theme='facet'] .fs-fcm-creds{display:flex;flex-wrap:wrap;gap:6px 22px}
[data-fs-theme='facet'] .fs-fcm-cred{position:relative;padding-left:14px;font-size:12.5px;font-weight:600;letter-spacing:.05em;color:rgb(var(--c-ink-400));white-space:nowrap}
[data-fs-theme='facet'] .fs-fcm-cred::before{content:"";position:absolute;left:0;top:calc(.65em - 3px);width:6px;height:6px;background:rgb(var(--c-accent, var(--c-brand-600)));clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
[data-fs-theme='facet'] .fs-fcm-link{display:inline-block;margin-top:14px;padding-bottom:2px;font-weight:600;font-size:14px;line-height:1.3;color:rgb(var(--c-ink-950));text-decoration:none;box-shadow:inset 0 -1px 0 rgb(var(--c-accent, var(--c-brand-600)));transition:box-shadow .18s ease,color .18s ease}
[data-fs-theme='facet'] .fs-fcm-link:is(:hover,:focus-visible){color:rgb(var(--c-brand-text));box-shadow:inset 0 -2px 0 rgb(var(--c-accent, var(--c-brand-600)))}
/* The phone-menu copy: no case, no shadow, no head, card or foot; the
   tickets lose their meta lines; two columns on a tablet, one on a phone
   (the width tiers below). Context rules, not width rules. */
[data-fs-theme='facet'] .fs-hdr-mobile .fs-fcm-panel{filter:none}
[data-fs-theme='facet'] .fs-hdr-mobile .fs-fcm-case{--fcm-p:0;--fcm-pt:0;--fcm-pb:0;clip-path:none;border:0;background:none}
[data-fs-theme='facet'] .fs-hdr-mobile :is(.fs-fcm-head,.fs-fcm-card,.fs-fcm-foot,.fs-fcm-pm){display:none}
[data-fs-theme='facet'] .fs-hdr-mobile .fs-fcm-li{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-block:10px}
[data-fs-theme='facet'] .fs-hdr-mobile .fs-fcm-pn{font-size:19px}
[data-fs-theme='facet'] .fs-hdr-mobile .fs-fcm-pp{font-size:14.5px}
/* The drawer reflows on its own box (no border or padding: the panel
   itself, 688–1392). BASE (Boxed, Centered, Minimalist): ready beside the
   guide, the card a band under both. WIDE (64rem+): a third column, the
   card standing on the right with its "includes" list; 80rem+ (Full at
   1440) opens the gutters. NARROW (30rem, the phone menu): one column. */
@container (min-width: 64rem){
  [data-fs-theme='facet'] .fs-fcm-case{--fcm-p:40px;--fcm-pt:30px;--fcm-pb:32px}
  [data-fs-theme='facet'] .fs-fcm-grid{grid-template-columns:minmax(0,.96fr) minmax(0,1fr) minmax(0,1.04fr);grid-template-areas:"ready guide card" "foot foot card";column-gap:40px}
  [data-fs-theme='facet'] .fs-fcm-foot{display:flex}
  [data-fs-theme='facet'] .fs-fcm-card{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"well text" "inc inc" "btn btn";align-items:center;align-self:stretch;gap:18px;margin-top:20px;padding:22px 24px 22px 22px}
  [data-fs-theme='facet'] .fs-fcm-well{--fcm-well:88px}
  [data-fs-theme='facet'] .fs-fcm-ct{font-size:24px}
  [data-fs-theme='facet'] .fs-fcm-inc{display:block;align-self:start;padding-top:14px;border-top:1px solid var(--fc-rule)}
  [data-fs-theme='facet'] .fs-fcm-inc .fs-fcm-ul{margin-top:6px}
  [data-fs-theme='facet'] .fs-fcm-cbtn{align-self:end}
  [data-fs-theme='facet'] .fs-fcm-cn{max-width:none}
}
@container (min-width: 80rem){
  [data-fs-theme='facet'] .fs-fcm-case{--fcm-p:48px}
  [data-fs-theme='facet'] .fs-fcm-grid{column-gap:52px}
  [data-fs-theme='facet'] .fs-fcm-card{padding-inline:28px 30px}
}
@container (max-width: 50rem){
  [data-fs-theme='facet'] .fs-fcm-case{--fcm-p:24px}
  [data-fs-theme='facet'] .fs-fcm-grid{column-gap:24px}
  [data-fs-theme='facet'] .fs-fcm-pn{font-size:19.5px}
  [data-fs-theme='facet'] .fs-fcm-card{--fcm-well:68px;gap:12px 18px;padding:16px 18px 16px 16px}
  [data-fs-theme='facet'] .fs-fcm-ct{font-size:22px}
}
@container (max-width: 30rem){
  [data-fs-theme='facet'] .fs-fcm-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"ready" "guide" "card"}
  [data-fs-theme='facet'] .fs-fcm-guide{padding-top:22px}
}
@keyframes facet-glint{from{transform:translateX(-120%)}to{transform:translateX(120%)}}
@media (prefers-reduced-motion: reduce){
  [data-fs-theme='facet'] .fsmenu-facetTabs::before,[data-fs-theme='facet'] .fs-hdr-cta.fs-hdr-cta::before,[data-fs-theme='facet'] .fs-fcm-btn::before,[data-fs-theme='facet'] .fs-fcm-well::before{transition:none;animation:none;transform:translateX(-120%)}
  [data-fs-theme='facet'] :is(.fsmenu-facetTabs,.fs-fcm-pn,.fs-fcm-gn,.fs-fcm-link){transition:none}
}


/* Tokens (mockup 62–63), FULL colours. --nb-hair: the soft hairline;
   --nb-wash: a lit window (room hover); --nb-glow / --nb-glow-soft: the
   theme's warm hover bloom; --nb-lamp: the lamplight; --nb-glass: the
   frosted band; --nb-shade: the panel's shadow (pure black at alpha in
   dark). The heavy rule is the ink itself. --nb-key / --nb-bell:
   favStayArrival's key and bell as masks for the strip (alpha only).
   RECIPE FIX (contrast gate): light --nb-lamp walked from the mockup's
   accent/.15 to accent/.12 — the mockup's own 15% measured 4.37:1 for
   ink-700 at the glow's strongest on Harbour Green light, under the
   4.5:1 floor. Per the plan's Global Constraints ("fix the recipe, never
   the palette"), the lamp reads a shade quieter here; dark keeps its
   original accent/.2 (already 4.8:1 or better in every palette). */
[data-fs-theme='nightbell']{--fs-chrome-mode:light;--nb-hair:rgb(var(--c-ink-950) / .2);--nb-wash:rgb(var(--c-accent, var(--c-brand-600)) / .07);--nb-glow:rgb(var(--c-accent, var(--c-brand-600)) / .34);--nb-glow-soft:rgb(var(--c-accent, var(--c-brand-600)) / .18);--nb-lamp:rgb(var(--c-accent, var(--c-brand-600)) / .12);--nb-glass:rgb(var(--c-paper) / .86);--nb-shade:rgb(var(--c-ink-950) / .24);--nb-key:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.75'%3E%3Ccircle cx='6.6' cy='10.5' r='3.2'/%3E%3Cpath d='M9.8 10.5 H20'/%3E%3Cpath d='M16.4 10.5 V14'/%3E%3Cpath d='M19.4 10.5 V13'/%3E%3Cpath d='M2.5 19.5 H21.5' stroke-width='1.4'/%3E%3C/svg%3E");--nb-bell:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.75'%3E%3Cpath d='M6 14.5 A6 6 0 0 1 18 14.5'/%3E%3Cpath d='M6 14.5 H18'/%3E%3Cpath d='M12 8.5 V6'/%3E%3Cpath d='M2.5 19.5 H21.5' stroke-width='1.4'/%3E%3Ccircle cx='12' cy='4.6' r='1.5' fill='currentColor' stroke='none'/%3E%3C/svg%3E")}
[data-fs-theme='nightbell'].dark{--fs-chrome-mode:dark;--nb-hair:rgb(var(--c-ink-950) / .18);--nb-wash:rgb(var(--c-accent, var(--c-brand-600)) / .09);--nb-glow:rgb(var(--c-accent, var(--c-brand-600)) / .38);--nb-glow-soft:rgb(var(--c-accent, var(--c-brand-600)) / .2);--nb-lamp:rgb(var(--c-accent, var(--c-brand-600)) / .2);--nb-shade:rgb(0 0 0 / .62)}
/* The strip: the soft band, 13px, ink-700; the key before the note, the
   bell before the phone (Newsreader, tabular). Its line (fs-strip-in)
   drops the answering hours at 46rem. */
[data-fs-theme='nightbell'] .fs-hdr-util{container-type:inline-size;background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-700));font-weight:500;font-size:13px;line-height:1.3}
[data-fs-theme='nightbell'] .fs-hdr-util-in{container-type:inline-size;container-name:fs-strip-in;display:flex;align-items:center;gap:8px 28px;min-height:0;padding-block:7px;border-bottom:0;color:inherit}
[data-fs-theme='nightbell'] :is(.fs-hdr-util-address,.fs-hdr-util-hours,.fs-hdr-util-note){display:inline-flex}
[data-fs-theme='nightbell'] .fs-hdr-util-note{order:-1;align-items:center;gap:9px;margin-right:auto;color:rgb(var(--c-ink-950))}
[data-fs-theme='nightbell'] :is(.fs-hdr-util-note,.fs-hdr-util-tel)::before{content:"";flex:none;width:19px;height:19px;background:rgb(var(--c-brand-600));-webkit-mask:var(--nb-key) center/contain no-repeat;mask:var(--nb-key) center/contain no-repeat}
[data-fs-theme='nightbell'] .fs-hdr-util-tel::before{-webkit-mask-image:var(--nb-bell);mask-image:var(--nb-bell)}
[data-fs-theme='nightbell'] .fs-hdr-util-dot{display:none}
[data-fs-theme='nightbell'] .fs-hdr-util-tel{align-items:center;gap:8px;margin-left:0;font-family:var(--font-display, Georgia, serif);font-weight:600;font-size:16.5px;line-height:1.2;font-variant-numeric:tabular-nums lining-nums;color:rgb(var(--c-ink-950))}
@container fs-strip-in (max-width: 46rem){
  [data-fs-theme='nightbell'] .fs-hdr-util-hours{display:none}
}
/* Both rules now query fs-strip-in (the strip's LINE, R-B3-1) rather than
   leaving .fs-hdr-util-in's centring on an unnamed query that resolved
   against the full strip instead — see studio-calm-chrome-styles.ts's own
   fix of this same mismatch for the full rationale. */
@container fs-strip-in (max-width: 40rem){
  [data-fs-theme='nightbell'] .fs-hdr-util-item:not(.fs-hdr-util-tel){display:none}
  [data-fs-theme='nightbell'] .fs-hdr-util-tel{margin-inline:auto}
}
/* The band (the desktop gate) is frosted paper — the prototype's glass
   header, what lets the hero photograph start at the top. The ROW stands
   on THE OVERHANGING RULE: 2px of ink painted as its own last pixels
   across its padding box, so it runs 1.5rem past the logo and the button.
   Both row paddings are zeroed (R-B3-16): the plinth sits on the rule and
   the logo and button stay centred as the mockup's. */
[data-fs-theme='nightbell'] .fs-hdr-band{container-type:inline-size;container-name:fs-band;border-bottom-width:0;background:var(--nb-glass);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4)}
[data-fs-theme='nightbell'] .fs-hdr-row{min-height:clamp(66px, (100cqi - 760px) * 100, 78px);padding-block:0;background:linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) 0 100%/100% 2px no-repeat}
/* The lockup (mockup logo 214x48 at 44px high): the bell on its plinth in
   a 44px box; MARRAM HOUSE in Newsreader 13.75px caps at .173em, 11px
   apart (R-B3-9: the logo's second line is not mapped; weight 500 comes
   from themeDefaults). */
[data-fs-theme='nightbell'] .fs-hdr-row > :first-child{gap:11px;margin-right:auto;padding-right:20px}
[data-fs-theme='nightbell'] .fs-hdr-row [data-fs-logo-mark]{width:44px;height:44px}
[data-fs-theme='nightbell'] .fs-hdr-row [data-fs-wordmark]{font-size:13.75px;line-height:1;letter-spacing:.173em;text-transform:uppercase;white-space:nowrap}
/* The button keeps nightbell-styles.ts's control (0,3,0); its colours,
   size and spacing are the design's here, at 0,4,0. */
[data-fs-theme='nightbell'] .fs-hdr-cta{--fs-hdr-cta-bg:rgb(var(--c-brand-600));--fs-hdr-cta-fg:var(--fs-on-brand, rgb(var(--c-paper)));--fs-hdr-cta-bg-hover:rgb(var(--c-brand-600));--fs-hdr-cta-fg-hover:var(--fs-on-brand, rgb(var(--c-paper)))}
[data-fs-theme='nightbell'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{align-self:center;flex:none;margin-left:24px;padding:.7rem 1.4rem;border-color:rgb(var(--c-brand-600));font-size:13px;line-height:1.2;letter-spacing:.08em;white-space:nowrap}
/* The menu button: two short ink bars over a longer accent one — the
   bell on its plinth in three strokes; the icon hidden. */
[data-fs-theme='nightbell'] .fs-hdr-menu-btn{align-self:center;width:44px;height:44px;margin-left:14px;border:1px solid var(--nb-hair);border-radius:0;background:linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) center calc(50% - 7px)/16px 2px no-repeat,linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) center/16px 2px no-repeat,linear-gradient(rgb(var(--c-accent, var(--c-brand-600))),rgb(var(--c-accent, var(--c-brand-600)))) center calc(50% + 7px)/26px 2px no-repeat}
[data-fs-theme='nightbell'] .fs-hdr-menu-btn svg{display:none}
/* The shell: no frame (the composite draws the paper, the hairline and
   the 2px ink top), 12px below the row, the soft shadow. */
[data-fs-theme='nightbell'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite){margin-top:12px !important;background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:0 30px 60px -32px var(--nb-shade) !important}
[data-fs-theme='nightbell'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite)::before{top:-12px;height:12px}
/* Layout tiers (mockup 283–302); desktop only. The plinth keeps its 7px
   overhang in every tier. */
@container fs-band (min-width: 62rem){
  /* Boxed (880). */
  @container (max-width: 60rem){
    [data-fs-theme='nightbell'] .fs-hdr-row > :first-child{gap:10px;padding-right:16px}
    [data-fs-theme='nightbell'] .fs-hdr-row [data-fs-logo-mark]{width:40px;height:40px}
    [data-fs-theme='nightbell'] .fs-hdr-row [data-fs-wordmark]{font-size:12.5px}
    [data-fs-theme='nightbell'] .fsmenu-nightbellPlinth{--nb-ip:12px}
    [data-fs-theme='nightbell'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:18px;padding-inline:1.2rem}
  }
  /* Centered (784). Plan's own values (this block) fit the REAL row
     (editor EditWpClient.tsx / published PublicSiteClient.tsx — both
     px-6, no gap) with room to spare. Only /preview/view's row
     (TemplateViewClient.tsx:1009 — px-7 PLUS a gap the real rows don't
     have) is tight enough to need the button's margin-left to drop
     toward 0; that squeeze is scoped below to [data-fs-preview-edit],
     the preview-only hook (R16 pattern), so it never reaches the real
     surfaces it was never measured against. */
  @container (max-width: 50rem){
    [data-fs-theme='nightbell'] .fs-hdr-row > :first-child{gap:9px;padding-right:12px}
    [data-fs-theme='nightbell'] .fs-hdr-row [data-fs-logo-mark]{width:36px;height:36px}
    [data-fs-theme='nightbell'] .fs-hdr-row [data-fs-wordmark]{font-size:11.25px}
    [data-fs-theme='nightbell'] .fsmenu-nightbellPlinth{--nb-ip:10px;--nb-tr:.1em}
    [data-fs-theme='nightbell'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:14px;padding-inline:1rem;font-size:12.5px}
    [data-fs-theme='nightbell'] .fs-hdr-row:has([data-fs-preview-edit]) .fsmenu-nightbellPlinth{--nb-ip:9px;--nb-tr:.09em}
    [data-fs-theme='nightbell'] .fs-hdr-row:has([data-fs-preview-edit]) .fs-hdr-cta.fs-hdr-cta{margin-left:0;padding-inline:.9rem}
  }
  /* Minimalist (688), the tightest; same real-row-vs-preview split as
     Centered above — the plan's values (this block) are what the real
     row needs; the preview-only squeeze (measured live against
     /preview/view's own tighter row: the mockup's 10px button gap and
     9px item padding spilled 53px over the PREVIEW row's content width)
     moves below, scoped to [data-fs-preview-edit]. */
  @container (max-width: 44rem){
    [data-fs-theme='nightbell'] .fs-hdr-row > :first-child{gap:8px;padding-right:8px}
    [data-fs-theme='nightbell'] .fs-hdr-row [data-fs-logo-mark]{width:32px;height:32px}
    [data-fs-theme='nightbell'] .fs-hdr-row [data-fs-wordmark]{font-size:10px}
    [data-fs-theme='nightbell'] .fsmenu-nightbellPlinth{--nb-ip:9px;--nb-fs:12px;--nb-tr:.08em}
    [data-fs-theme='nightbell'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:10px;padding-inline:.8rem;font-size:12px;letter-spacing:.06em}
    [data-fs-theme='nightbell'] .fs-hdr-row:has([data-fs-preview-edit]) > :first-child{gap:7px;padding-right:6px}
    [data-fs-theme='nightbell'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-logo-mark]{width:28px;height:28px}
    [data-fs-theme='nightbell'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{font-size:9px}
    [data-fs-theme='nightbell'] .fs-hdr-row:has([data-fs-preview-edit]) .fsmenu-nightbellPlinth{--nb-ip:6px;--nb-fs:11.5px;--nb-tr:.05em}
    [data-fs-theme='nightbell'] .fs-hdr-row:has([data-fs-preview-edit]) .fs-hdr-cta.fs-hdr-cta{margin-left:0;padding-inline:.6rem;font-size:11.5px;letter-spacing:.04em}
  }
}
@container (max-width: 34rem){
  [data-fs-theme='nightbell'] .fs-hdr-row > :first-child{gap:9px}
  [data-fs-theme='nightbell'] .fs-hdr-row [data-fs-logo-mark]{width:36px;height:36px}
  [data-fs-theme='nightbell'] .fs-hdr-row [data-fs-wordmark]{font-size:11.25px}
}
/* R16 (theme-chrome fix round 2, precedent in counsel/hale/plateful/
   mane-studio/enamel/vernier/groundwork/bright-start/studio-calm/strop/
   facet-chrome-styles.ts): the read-only preview alone renders a fixed-
   width "Edit Template" link plus a visitor dark/light toggle
   (TemplateViewClient.tsx), present on no real site. At the preview's own
   390/320px widths the trailing group (mode toggle + Edit Template link +
   menu button) needs more room than the row has, even though .fs-hdr-cta
   is already hidden by the platform's own ≤34rem rule. Measured live:
   hiding the mode toggle alone clears 390px; at 320px the wordmark also
   has to go. The brand MARK stays throughout, so the header is never
   unbranded, even on this one preview-only, extreme-narrow case.
   [data-fs-preview-edit] is the stable, surface-only hook the Edit
   Template link alone carries; :has() reaches up from it so only a row
   that actually contains it is affected — published and editor markup
   never has the hook. */
@container (max-width: 34rem){
  [data-fs-theme='nightbell'] .fs-hdr-row:has([data-fs-preview-edit]) .fs-hdr-mode{display:none}
}
@container (max-width: 22rem){
  [data-fs-theme='nightbell'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{display:none}
}
/* Phone menu (mockup 195–220). Paper. "MENU" and the close stand on the
   2px ink rule, which runs from the screen's edge to the close button;
   links are ruled rows in Newsreader; the current page carries the 3px
   accent plinth under its name. */
[data-fs-theme='nightbell'] .fs-hdr-mobile{background:rgb(var(--c-paper))}
[data-fs-theme='nightbell'] .fs-hdr-mobile-head{height:auto;gap:12px;padding:14px 16px 12px;border-bottom:0;background:linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) 0 100%/calc(100% - 16px) 2px no-repeat}
[data-fs-theme='nightbell'] .fs-hdr-mobile-title{font-family:inherit;font-weight:600;font-size:12.5px;line-height:1;letter-spacing:.16em;text-transform:uppercase;color:rgb(var(--c-ink-950))}
[data-fs-theme='nightbell'] .fs-hdr-mobile-close{width:44px;height:44px;border:1px solid var(--nb-hair);border-radius:0;color:rgb(var(--c-ink-950))}
[data-fs-theme='nightbell'] .fs-hdr-mobile-close svg{width:16px;height:16px}
[data-fs-theme='nightbell'] .fs-hdr-mobile > nav{padding:4px 16px 0}
[data-fs-theme='nightbell'] .fs-hdr-mobile-row{display:flex;align-items:center;border-bottom:1px solid var(--nb-hair)}
[data-fs-theme='nightbell'] .fs-hdr-mobile-row:has(.fs-hdr-mobile-toggle[aria-expanded='true']){border-bottom:0}
[data-fs-theme='nightbell'] .fs-hdr-mobile-link:not(.is-sub){display:flex;align-items:center;flex:1;min-height:58px;font-family:var(--font-display, Georgia, serif);font-weight:500;font-size:24px;line-height:1.2;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='nightbell'] .fs-hdr-mobile-link.fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false']){text-decoration:underline 3px rgb(var(--c-accent, var(--c-brand-600)));text-underline-offset:9px;text-decoration-skip-ink:none}
[data-fs-theme='nightbell'] .fs-hdr-mobile-toggle{margin-right:6px;color:rgb(var(--c-ink-950))}
[data-fs-theme='nightbell'] .fs-hdr-mobile-sub{padding:14px 0 18px;border-bottom:1px solid var(--nb-hair)}
/* Bottom section (mockup 224–232): the night bell — the overhanging rule,
   then the bell icon beside the phone in Newsreader with its answering
   hours, the key icon beside the strip's note, then the button full
   width; the lamp glows behind it (a slow opacity flicker, only when
   motion is allowed). No fixed words. */
[data-fs-theme='nightbell'] .fs-pmf-nightbell{position:relative;isolation:isolate;display:grid;gap:14px;margin:28px 0 26px;padding-top:18px}
[data-fs-theme='nightbell'] .fs-pmf-nightbell::before{content:"";position:absolute;top:0;left:-16px;right:0;height:2px;background:rgb(var(--c-ink-950))}
[data-fs-theme='nightbell'] .fs-pmf-nightbell::after{content:"";position:absolute;z-index:-1;top:0;right:-16px;width:78%;height:100%;background:radial-gradient(closest-side,var(--nb-lamp),transparent);opacity:.9}
[data-fs-theme='nightbell'] .fs-pmf-row{display:grid;grid-template-columns:28px minmax(0,1fr);gap:0 12px;align-items:start}
[data-fs-theme='nightbell'] .fs-pmf-ico{display:block;width:28px;height:28px;color:rgb(var(--c-brand-600))}
[data-fs-theme='nightbell'] .fs-pmf-big{margin:0;font-family:var(--font-display, Georgia, serif);font-weight:600;font-size:28px;line-height:1.1;font-variant-numeric:tabular-nums lining-nums;color:rgb(var(--c-brand-text))}
[data-fs-theme='nightbell'] .fs-pmf-tel{color:inherit;text-decoration:none}
[data-fs-theme='nightbell'] .fs-pmf-hours{margin:4px 0 0;font-size:14px;color:rgb(var(--c-ink-700))}
[data-fs-theme='nightbell'] .fs-pmf-note{align-self:center;margin:0;font-size:14.5px;line-height:1.45;color:rgb(var(--c-ink-950))}
[data-fs-theme='nightbell'] .fs-pmf .fs-hdr-cta.fs-pmf-cta{display:flex;width:100%;margin:4px 0 0;padding-block:.95rem}
@keyframes nightbell-lamplight{0%{opacity:.78}21%{opacity:.66}34%{opacity:1}57%{opacity:.9}69%{opacity:.7}100%{opacity:.78}}
/* The legacy single-colon :after (identical to ::after in every evergreen
   browser) only here, so the animation is textually distinct from the
   unconditional glow rule above it — the no-preference guard below is
   the only place this element ever gains an animation declaration. */
@media (prefers-reduced-motion: no-preference){
  [data-fs-theme='nightbell'] .fs-pmf-nightbell:after{animation:nightbell-lamplight 9s ease-in-out infinite}
}

/* ── The house in section — the Rooms & tariff mega panel (mockup 69–76,
   132–193) ──────────────────────────────────────────────────────────
   Ported from the mockup's shared .nb-eyebrow / .nb-ruled / .nb-ico /
   .nb-link and .nb-mega family, with the theme's token map and the
   geometry variables renamed --nbm-* so they never collide with a menu
   style's or another panel's own custom properties. .fs-nbm-storey is
   NOT a literal port: the mockup's three-column grid assumes exactly two
   rooms a floor, but the composite groups a real 'rooms' repeater by its
   'floor' field (R-B3-20), so it lays the stair and any further rooms out
   with grid-auto-flow instead. */
[data-fs-theme='nightbell'] .fs-nbm-eyebrow{margin:0;font-weight:600;font-size:11.5px;line-height:1.3;letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
[data-fs-theme='nightbell'] .fs-nbm-ruled{position:relative;padding-top:13px}
[data-fs-theme='nightbell'] .fs-nbm-ruled::before{content:"";position:absolute;top:0;left:calc(-1 * var(--nbm-oh,10px));right:0;height:2px;background:rgb(var(--c-ink-950))}
[data-fs-theme='nightbell'] .fs-nbm-ico{flex:none;display:block;width:22px;height:22px;color:rgb(var(--c-brand-600))}
[data-fs-theme='nightbell'] .fs-nbm-link{font-weight:600;font-size:13.5px;line-height:1.3;color:rgb(var(--c-brand-text));text-decoration:underline 1px;text-underline-offset:.28em;transition:text-shadow .22s cubic-bezier(.2,.7,.3,1)}
[data-fs-theme='nightbell'] .fs-nbm-link:hover,[data-fs-theme='nightbell'] .fs-nbm-link:focus-visible{text-shadow:0 0 12px var(--nb-glow)}
[data-fs-theme='nightbell'] .fs-nbm-panel{container-type:inline-size;background:rgb(var(--c-paper));border:1px solid var(--nb-hair);border-top:2px solid rgb(var(--c-ink-950))}
[data-fs-theme='nightbell'] .fs-nbm-body{padding:var(--nbm-pt,20px) var(--nbm-p,28px) 0}
[data-fs-theme='nightbell'] .fs-nbm-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:8px 28px;padding-bottom:18px}
[data-fs-theme='nightbell'] .fs-nbm-title{margin:3px 0 0;font-weight:600;font-size:25px;line-height:1.15;font-family:var(--font-display, Georgia, serif);letter-spacing:-.012em;color:rgb(var(--c-ink-950))}
[data-fs-theme='nightbell'] .fs-nbm-cap{margin:0;max-width:46ch;font-size:13.5px;line-height:1.45;color:rgb(var(--c-ink-700));text-align:right}
[data-fs-theme='nightbell'] .fs-nbm-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);gap:26px var(--nbm-gap,34px);align-items:start}
[data-fs-theme='nightbell'] .fs-nbm-house{--nbm-lw:var(--nbm-lvl-w,70px);min-width:0}
[data-fs-theme='nightbell'] .fs-nbm-roof,[data-fs-theme='nightbell'] .fs-nbm-floor{display:grid;grid-template-columns:var(--nbm-lw) minmax(0,1fr)}
[data-fs-theme='nightbell'] .fs-nbm-roof svg{grid-column:2;display:block;width:calc(100% + 20px);height:var(--nbm-roof-h,30px);margin-left:-10px;color:rgb(var(--c-ink-950));overflow:visible}
[data-fs-theme='nightbell'] .fs-nbm-lvl{display:flex;flex-direction:column;justify-content:space-between;gap:6px;padding:9px 8px 8px 0;border-top:1px dashed var(--nb-hair);font-weight:500;font-size:11px;line-height:1.2;font-family:var(--font-display, Georgia, serif);letter-spacing:.16em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
[data-fs-theme='nightbell'] .fs-nbm-storey{display:grid;grid-template-columns:minmax(0,1fr) 16px;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;border:2px solid rgb(var(--c-ink-950));border-top:0}
[data-fs-theme='nightbell'] .fs-nbm-stair{display:block;width:100%;height:100%;min-height:40px;color:rgb(var(--c-ink-400))}
[data-fs-theme='nightbell'] .fs-nbm-room{position:relative;min-width:0;padding:10px 12px 12px;transition:background-color .22s cubic-bezier(.2,.7,.3,1)}
[data-fs-theme='nightbell'] .fs-nbm-room:hover,[data-fs-theme='nightbell'] .fs-nbm-room:focus-within{background:var(--nb-wash)}
[data-fs-theme='nightbell'] .fs-nbm-tab{float:right;display:flex;flex-direction:column;align-items:flex-end;margin:-10px -12px 6px 10px;padding:6px 9px 6px 10px;background:rgb(var(--c-paper));border-left:1px solid var(--nb-hair);border-bottom:1px solid var(--nb-hair);font-weight:600;font-size:18px;line-height:1;font-family:var(--font-display, Georgia, serif);color:rgb(var(--c-ink-950));font-variant-numeric:tabular-nums lining-nums}
[data-fs-theme='nightbell'] .fs-nbm-tab-l{margin-top:4px;font-weight:600;font-size:9.5px;line-height:1;letter-spacing:.12em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
[data-fs-theme='nightbell'] .fs-nbm-rname{display:block;font-weight:600;font-size:var(--nbm-rn,17px);line-height:1.2;font-family:var(--font-display, Georgia, serif);color:rgb(var(--c-ink-950));text-decoration:none;transition:text-shadow .22s cubic-bezier(.2,.7,.3,1)}
[data-fs-theme='nightbell'] a.fs-nbm-rname:hover,[data-fs-theme='nightbell'] a.fs-nbm-rname:focus-visible{text-shadow:0 0 12px var(--nb-glow)}
[data-fs-theme='nightbell'] .fs-nbm-rmeta{display:block;margin-top:3px;font-size:12.5px;line-height:1.4;color:rgb(var(--c-ink-700))}
[data-fs-theme='nightbell'] .fs-nbm-marks{display:flex;gap:4px;margin-top:6px}
[data-fs-theme='nightbell'] .fs-nbm-marks .fs-nbm-ico{width:18px;height:18px}
[data-fs-theme='nightbell'] .fs-nbm-floor.is-quay .fs-nbm-storey{border-bottom:0}
[data-fs-theme='nightbell'] .fs-nbm-floor.is-quay::after{content:"";grid-column:1/-1;height:3px;margin-right:-14px;background:rgb(var(--c-ink-950))}
[data-fs-theme='nightbell'] .fs-nbm-quay{font-style:italic;letter-spacing:.1em;text-transform:none;font-size:12.5px}
[data-fs-theme='nightbell'] .fs-nbm-floor.is-single .fs-nbm-lvl{border-top:0}
[data-fs-theme='nightbell'] .fs-nbm-floor.is-single .fs-nbm-storey{grid-template-columns:minmax(0,1fr);border-bottom-width:3px}
[data-fs-theme='nightbell'] .fs-nbm-floor.is-single .fs-nbm-room{padding-block:9px 10px}
[data-fs-theme='nightbell'] .fs-nbm-floor.is-single .fs-nbm-rname{font-size:15.5px}
[data-fs-theme='nightbell'] .fs-nbm-door,[data-fs-theme='nightbell'] .fs-nbm-bnotes{min-width:0}
[data-fs-theme='nightbell'] .fs-nbm-ch{margin:3px 0 0;font-weight:600;font-size:19px;line-height:1.25;font-family:var(--font-display, Georgia, serif);color:rgb(var(--c-ink-950))}
[data-fs-theme='nightbell'] .fs-nbm-facts{list-style:none;margin:8px 0 0;padding:0}
[data-fs-theme='nightbell'] .fs-nbm-fact{display:grid;grid-template-columns:24px minmax(0,1fr);gap:0 12px;padding-block:10px;border-bottom:1px solid var(--nb-hair)}
[data-fs-theme='nightbell'] .fs-nbm-fact-h{display:block;font-weight:600;font-size:15px;line-height:1.25;font-family:var(--font-display, Georgia, serif);color:rgb(var(--c-ink-950))}
[data-fs-theme='nightbell'] .fs-nbm-fact-b{display:block;margin-top:2px;font-size:13px;line-height:1.45;color:rgb(var(--c-ink-700))}
[data-fs-theme='nightbell'] .fs-nbm-ring{margin:14px 0 0}
[data-fs-theme='nightbell'] .fs-nbm-ring-l{display:block;font-weight:600;font-size:11.5px;line-height:1.3;letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
[data-fs-theme='nightbell'] .fs-nbm-ring-tel{display:block;margin-top:3px;font-weight:600;font-size:23px;line-height:1.15;font-family:var(--font-display, Georgia, serif);color:rgb(var(--c-brand-text));font-variant-numeric:tabular-nums lining-nums;text-decoration:none}
[data-fs-theme='nightbell'] .fs-nbm-ring-h{display:block;margin-top:2px;font-size:13px;color:rgb(var(--c-ink-700))}
[data-fs-theme='nightbell'] .fs-nbm-bnotes{display:none}
[data-fs-theme='nightbell'] .fs-nbm-notes{list-style:none;margin:8px 0 0;padding:0}
[data-fs-theme='nightbell'] .fs-nbm-note{position:relative;padding:10px 0 10px 28px;border-bottom:1px solid var(--nb-hair);font-size:13.5px;line-height:1.45;color:rgb(var(--c-ink-700))}
[data-fs-theme='nightbell'] .fs-nbm-note::before{content:"";position:absolute;left:0;top:calc(10px + .72em);width:18px;height:1px;background:rgb(var(--c-ink-400))}
[data-fs-theme='nightbell'] .fs-nbm-bnotes .fs-nbm-link{display:inline-block;margin-top:12px}
[data-fs-theme='nightbell'] .fs-nbm-total{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 22px;margin:24px var(--nbm-p,28px) 0;padding:13px 0 17px;border-top:2px solid rgb(var(--c-ink-950))}
[data-fs-theme='nightbell'] .fs-nbm-total-t{font-weight:600;font-size:17.5px;line-height:1.3;font-family:var(--font-display, Georgia, serif);color:rgb(var(--c-ink-950))}
[data-fs-theme='nightbell'] .fs-nbm-total-n{flex:1 1 300px;max-width:64ch;font-size:13.5px;line-height:1.45;color:rgb(var(--c-ink-700))}
[data-fs-theme='nightbell'] .fs-nbm-total .fs-nbm-link{margin-left:auto;white-space:nowrap}
/* The SAME drawing in the phone menu: the house and its prices and the
   tariff link; the head, arrival, the notes and the total's sentence go
   (the foot carries the phone and the key safe). Context rules. */
[data-fs-theme='nightbell'] .fs-hdr-mobile .fs-nbm-panel{background:transparent;border:0;box-shadow:none}
[data-fs-theme='nightbell'] .fs-hdr-mobile .fs-nbm-body{--nbm-p:0;--nbm-pt:0}
[data-fs-theme='nightbell'] .fs-hdr-mobile :is(.fs-nbm-head,.fs-nbm-door,.fs-nbm-bnotes,.fs-nbm-total-t,.fs-nbm-total-n){display:none}
[data-fs-theme='nightbell'] .fs-hdr-mobile .fs-nbm-grid{grid-template-columns:minmax(0,1fr)}
[data-fs-theme='nightbell'] .fs-hdr-mobile .fs-nbm-total{margin:14px 0 0;padding:0;border-top:0}
[data-fs-theme='nightbell'] .fs-hdr-mobile .fs-nbm-total .fs-nbm-link{margin-left:0;white-space:normal}
/* The house reflows on its own box (the panel minus its 1px sides: 1390
   / 1230 / 1150 / 878 / 782 / 686; phone-menu copies 736 and 358). WIDE
   (68rem+): a third column, the tariff's notes; 80rem+ opens the gutters.
   BASE (Boxed): the house beside arrival. 52rem and under (Centered,
   Minimalist): the level names turn and run up the wall and each price
   sits under its room's name, so the rooms keep their width. 30rem (the
   phone menu only): the house alone. */
@container (min-width: 68rem){
  [data-fs-theme='nightbell'] :is(.fs-nbm-body,.fs-nbm-total){--nbm-p:36px}
  [data-fs-theme='nightbell'] .fs-nbm-body{--nbm-pt:22px}
  [data-fs-theme='nightbell'] .fs-nbm-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,.86fr);--nbm-gap:40px}
  [data-fs-theme='nightbell'] .fs-nbm-bnotes{display:block}
  [data-fs-theme='nightbell'] .fs-nbm-house{--nbm-lvl-w:74px;--nbm-roof-h:40px}
  [data-fs-theme='nightbell'] .fs-nbm-room{padding:13px 12px 16px}
  [data-fs-theme='nightbell'] .fs-nbm-tab{margin:-13px -12px 8px 8px}
}
@container (min-width: 80rem){
  [data-fs-theme='nightbell'] :is(.fs-nbm-body,.fs-nbm-total){--nbm-p:44px}
  [data-fs-theme='nightbell'] .fs-nbm-grid{--nbm-gap:48px}
  [data-fs-theme='nightbell'] .fs-nbm-house{--nbm-lvl-w:84px}
}
@container (max-width: 52rem){
  [data-fs-theme='nightbell'] :is(.fs-nbm-body,.fs-nbm-total){--nbm-p:22px}
  [data-fs-theme='nightbell'] .fs-nbm-body{--nbm-pt:18px}
  [data-fs-theme='nightbell'] .fs-nbm-grid{--nbm-gap:24px}
  [data-fs-theme='nightbell'] .fs-nbm-house{--nbm-lvl-w:26px}
  [data-fs-theme='nightbell'] .fs-nbm-lvl{flex-direction:row-reverse;padding:9px 0 8px;writing-mode:vertical-rl;transform:rotate(180deg);justify-content:space-between;align-items:center;border-top:0;border-bottom:1px dashed var(--nb-hair)}
  [data-fs-theme='nightbell'] .fs-nbm-floor.is-single .fs-nbm-lvl{border-bottom:0}
  [data-fs-theme='nightbell'] .fs-nbm-tab{float:none;flex-direction:row;align-items:baseline;gap:6px;width:max-content;margin:6px 0 0;padding:0;background:none;border:0;font-size:17px}
  [data-fs-theme='nightbell'] .fs-nbm-room{display:flex;flex-direction:column;align-items:flex-start}
  [data-fs-theme='nightbell'] .fs-nbm-tab{order:1;margin:3px 0 0}
  [data-fs-theme='nightbell'] .fs-nbm-rmeta{order:2}
  [data-fs-theme='nightbell'] .fs-nbm-marks{order:3}
  [data-fs-theme='nightbell'] .fs-nbm-rname{--nbm-rn:16px}
  [data-fs-theme='nightbell'] .fs-nbm-cap{text-align:left}
}
@container (max-width: 30rem){
  [data-fs-theme='nightbell'] .fs-nbm-grid{grid-template-columns:minmax(0,1fr)}
  [data-fs-theme='nightbell'] .fs-nbm-room{padding:9px 9px 10px}
  [data-fs-theme='nightbell'] .fs-nbm-rname{--nbm-rn:15.5px}
}
/* The tablet's phone menu (736) has room for the paper tabs and the
   horizontal level names again. Sheet only. */
@container (min-width: 36rem){
  [data-fs-theme='nightbell'] .fs-hdr-mobile .fs-nbm-house{--nbm-lvl-w:76px}
  [data-fs-theme='nightbell'] .fs-hdr-mobile .fs-nbm-room{display:block}
  [data-fs-theme='nightbell'] .fs-hdr-mobile .fs-nbm-lvl{flex-direction:column;writing-mode:horizontal-tb;transform:none;align-items:flex-start;padding:9px 8px 8px 0;border-top:1px dashed var(--nb-hair);border-bottom:0}
  [data-fs-theme='nightbell'] .fs-hdr-mobile .fs-nbm-floor.is-single .fs-nbm-lvl{border-top:0}
  [data-fs-theme='nightbell'] .fs-hdr-mobile .fs-nbm-tab{float:right;flex-direction:column;align-items:flex-end;gap:0;margin:-10px -12px 6px 10px;padding:6px 9px 6px 10px;background:rgb(var(--c-paper));border-left:1px solid var(--nb-hair);border-bottom:1px solid var(--nb-hair);font-size:18px}
}
@media (prefers-reduced-motion: reduce){
  [data-fs-theme='nightbell'] :is(.fs-nbm-link,.fs-nbm-room,.fs-nbm-rname){transition:none}
  /* .fs-hdr-cta split out at higher specificity: this chrome stylesheet
     loads BEFORE the family stylesheet (block-stylesheets.ts lists
     NIGHTBELL_CHROME_CSS ahead of NIGHTBELL_CSS), so a tie would lose to
     nightbell-styles.ts's own [data-fs-theme='nightbell'].fs-typo
     .fs-hdr-cta transition rule (0,3,0) regardless of this rule's
     position in THIS file. .fs-hdr-row .fs-hdr-cta.fs-hdr-cta (the same
     selector shape the tier rules above already use) is (0,4,0), which
     beats it outright. */
  [data-fs-theme='nightbell'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{transition:none}
}


/* Tokens (mockup 65–66), FULL colours. --el-hair: the hairline; --el-ink2:
   the stronger secondary ink; --el-land / --el-sun: the light timeline's
   two drawing roles (brand toward the ink / accent toward the page in
   light, the other way round in dark, so the valley never inverts);
   --el-film: the film strip's base; --el-sheet: the contact strip's
   ground; --el-card / --el-lift: the family's two shadows (pure black at
   alpha in dark). */
[data-fs-theme='emberlight']{--fs-chrome-mode:light;--el-hair:rgb(var(--c-ink-950) / .15);--el-ink2:color-mix(in srgb, rgb(var(--c-ink-950)) 76%, rgb(var(--c-paper)));--el-land:color-mix(in srgb, rgb(var(--c-brand-600)) 30%, rgb(var(--c-ink-950)));--el-sun:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 24%, rgb(var(--c-paper)));--el-film:var(--el-land);--el-sheet:color-mix(in srgb, rgb(var(--c-ink-950)) 6%, rgb(var(--c-paper)));--el-card:0 4px 16px -6px rgb(var(--c-ink-950) / .2);--el-lift:0 26px 52px -18px rgb(var(--c-ink-950) / .34),0 6px 14px -8px rgb(var(--c-ink-950) / .18)}
[data-fs-theme='emberlight'].dark{--fs-chrome-mode:dark;--el-hair:rgb(var(--c-ink-950) / .16);--el-ink2:color-mix(in srgb, rgb(var(--c-ink-950)) 79%, rgb(var(--c-paper)));--el-land:color-mix(in srgb, rgb(var(--c-brand-600)) 37%, rgb(var(--c-paper)));--el-sun:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 24%, rgb(var(--c-ink-950)));--el-film:color-mix(in srgb, rgb(var(--c-brand-600)) 22%, rgb(var(--c-paper)));--el-card:0 4px 16px -6px rgb(0 0 0 / .55);--el-lift:0 26px 52px -18px rgb(0 0 0 / .7),0 6px 14px -8px rgb(0 0 0 / .5)}
/* The strip is a strip of FILM: sprocket holes (8px on a 17px pitch, 5px
   tall, 4px in) along both edges, edge-printed in --el-sun. Its line
   (fs-strip-in) drops the address below 80rem and the note below 60rem;
   film-edge arrows part the right-hand items. Markup order is address,
   hours, note, tel: the note leads, then the hours. */
[data-fs-theme='emberlight'] .fs-hdr-util{container-type:inline-size;background:repeating-linear-gradient(90deg,var(--el-sun) 0 8px,transparent 8px 17px) 0 4px/100% 5px repeat-x,repeating-linear-gradient(90deg,var(--el-sun) 0 8px,transparent 8px 17px) 0 calc(100% - 4px)/100% 5px repeat-x,var(--el-film);color:var(--el-sun);font-weight:700;font-size:11px;line-height:1.2;letter-spacing:.17em;text-transform:uppercase;font-variant-numeric:lining-nums}
[data-fs-theme='emberlight'] .fs-hdr-util-in{container-type:inline-size;container-name:fs-strip-in;display:flex;align-items:center;gap:0;min-height:0;padding-block:15px;border-bottom:0;color:inherit}
[data-fs-theme='emberlight'] :is(.fs-hdr-util-address,.fs-hdr-util-hours,.fs-hdr-util-note){display:inline-flex}
[data-fs-theme='emberlight'] .fs-hdr-util-note{order:-2;margin-right:auto}
[data-fs-theme='emberlight'] .fs-hdr-util-hours{order:-1}
/* Measured live in the editor's tablet canvas (~768px): with only the
   hours and the phone left on the line (note and address already
   dropped by the tiers below), the phone's own 14px/1 line box (R-B3-1's
   prescribed font) and the hours item's inherited 11px/1.2 line box
   differ by under a pixel, which centred cross-axis alignment can still
   round to two different integer tops — read by automated layout checks
   as a wrapped second line even though nothing visibly moves. Pinning
   the hours item to the SAME 14px line box removes the rounding, with
   no visible change (the text itself is unaffected, only its line box
   height). */
[data-fs-theme='emberlight'] .fs-hdr-util-hours{line-height:14px}
[data-fs-theme='emberlight'] .fs-hdr-util-dot{display:none}
[data-fs-theme='emberlight'] :is(.fs-hdr-util-address,.fs-hdr-util-tel)::before{content:"";flex:none;width:0;height:0;margin-inline:16px 14px;border-left:6px solid currentColor;border-block:4px solid transparent;opacity:.75}
[data-fs-theme='emberlight'] .fs-hdr-util-tel{align-items:center;margin-left:0;font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:14px;line-height:1;letter-spacing:.06em;text-transform:none;font-variant-numeric:lining-nums tabular-nums;color:inherit}
@container fs-strip-in (max-width: 80rem){
  [data-fs-theme='emberlight'] .fs-hdr-util-address{display:none}
}
@container fs-strip-in (max-width: 60rem){
  [data-fs-theme='emberlight'] .fs-hdr-util-note{display:none}
  [data-fs-theme='emberlight'] .fs-hdr-util-hours{margin-right:auto}
}
/* Both rules now query fs-strip-in (the strip's LINE, R-B3-1) rather than
   leaving .fs-hdr-util-in's centring on an unnamed query that resolved
   against the full strip instead — see studio-calm-chrome-styles.ts's own
   fix of this same mismatch for the full rationale. */
@container fs-strip-in (max-width: 40rem){
  [data-fs-theme='emberlight'] .fs-hdr-util-item:not(.fs-hdr-util-tel){display:none}
  [data-fs-theme='emberlight'] .fs-hdr-util-tel{margin-inline:auto}
  [data-fs-theme='emberlight'] .fs-hdr-util-tel::before{display:none}
}
/* The band (the desktop gate): paper, its bottom edge one hairline
   painted as an inset shadow. */
[data-fs-theme='emberlight'] .fs-hdr-band{container-type:inline-size;container-name:fs-band;border-bottom-width:0;background:rgb(var(--c-paper));box-shadow:inset 0 -1px 0 var(--el-hair)}
[data-fs-theme='emberlight'] .fs-hdr-row{min-height:clamp(68px, (100cqi - 760px) * 100, 84px)}
/* The lockup (mockup logo 208x46 at 44px high): the film-frame mark in a
   44px box, the name in Alegreya 700 21px, 8px apart. */
[data-fs-theme='emberlight'] .fs-hdr-row > :first-child{gap:8px;margin-right:auto;padding-right:24px}
[data-fs-theme='emberlight'] .fs-hdr-row [data-fs-logo-mark]{width:44px;height:44px}
[data-fs-theme='emberlight'] .fs-hdr-row [data-fs-wordmark]{font-size:21px;line-height:1;letter-spacing:.01em;white-space:nowrap}
/* The button: .fs-fr-btn (brand plate, paper type, 8px corners) set in a
   paper mount ring; lifting 2px on hover to the platform's own solved
   hover fill (R-B3-7). */
[data-fs-theme='emberlight'] .fs-hdr-cta{--fs-hdr-cta-bg:rgb(var(--c-brand-600));--fs-hdr-cta-fg:var(--fs-on-brand, rgb(var(--c-paper)));--fs-hdr-cta-bg-hover:rgb(var(--c-brand-700));--fs-hdr-cta-fg-hover:var(--fs-on-brand, rgb(var(--c-paper)))}
[data-fs-theme='emberlight'] .fs-hdr-cta.fs-hdr-cta{flex:none;padding:13px 21px;border-radius:8px;font-weight:700;font-size:15px;line-height:1;letter-spacing:.02em;white-space:nowrap;box-shadow:0 0 0 4px rgb(var(--c-paper-soft)),0 0 0 5px var(--el-hair),var(--el-card);transition:background-color .25s ease,transform .25s ease}
[data-fs-theme='emberlight'] .fs-hdr-cta.fs-hdr-cta:hover{transform:translateY(-2px)}
[data-fs-theme='emberlight'] .fs-hdr-row .fs-hdr-cta{margin-left:34px}
/* The menu button is a film frame: a 2px ink border, 9px corners, three
   brand sprocket teeth along its top and bottom inner edges and two ink
   bars between; the icon hidden. */
[data-fs-theme='emberlight'] .fs-hdr-menu-btn{width:44px;height:44px;margin-left:16px;border:2px solid rgb(var(--c-ink-950));border-radius:9px;background:repeating-linear-gradient(90deg,rgb(var(--c-brand-text)) 0 6px,transparent 6px 9px) 8px 4px/calc(100% - 16px) 3px no-repeat,repeating-linear-gradient(90deg,rgb(var(--c-brand-text)) 0 6px,transparent 6px 9px) 8px calc(100% - 4px)/calc(100% - 16px) 3px no-repeat,linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) center calc(50% - 3px)/17px 2px no-repeat,linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) center calc(50% + 3px)/17px 2px no-repeat}
[data-fs-theme='emberlight'] .fs-hdr-menu-btn svg{display:none}
/* The shell: no frame (the composite IS the mount); 12px below the row;
   the dramatic lift; the mount's 12px corners. */
[data-fs-theme='emberlight'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite){margin-top:12px !important;background:transparent !important;border:0 !important;border-radius:12px !important;box-shadow:var(--el-lift) !important}
[data-fs-theme='emberlight'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite)::before{top:-12px;height:12px}
/* Layout tiers (mockup 264–290); desktop only. The ring keeps its shape,
   drawn closer to the word as the gaps tighten. */
@container fs-band (min-width: 62rem){
  /* Boxed (880). */
  @container (max-width: 60rem){
    [data-fs-theme='emberlight'] .fs-hdr-row > :first-child{gap:6px;padding-right:18px}
    [data-fs-theme='emberlight'] .fs-hdr-row [data-fs-logo-mark]{width:36px;height:36px}
    [data-fs-theme='emberlight'] .fs-hdr-row [data-fs-wordmark]{font-size:17.2px}
    [data-fs-theme='emberlight'] .fsmenu-greasePencil-nav{--el-gap:21px}
    [data-fs-theme='emberlight'] .fsmenu-greasePencil{--el-fs:16px;--el-rx:9px}
    [data-fs-theme='emberlight'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:24px;padding-inline:17px}
  }
  /* Centered (784). */
  @container (max-width: 50rem){
    [data-fs-theme='emberlight'] .fs-hdr-row > :first-child{gap:6px;padding-right:14px}
    [data-fs-theme='emberlight'] .fs-hdr-row [data-fs-logo-mark]{width:32px;height:32px}
    [data-fs-theme='emberlight'] .fs-hdr-row [data-fs-wordmark]{font-size:15.3px}
    [data-fs-theme='emberlight'] .fsmenu-greasePencil-nav{--el-gap:16px}
    [data-fs-theme='emberlight'] .fsmenu-greasePencil{--el-fs:15.5px;--el-rx:7px}
    [data-fs-theme='emberlight'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:18px;padding:11px 14px;font-size:14px}
  }
  /* Minimalist (688), the tightest; a thinner mount ring. The plan's own
     values (this block) are what the REAL row (editor/published, px-6,
     no gap) needs. The note below about /preview/view's spill is real —
     that route's row is px-7 PLUS a gap the real rows don't carry — but
     the fix for it belongs on the preview surface alone, scoped via
     [data-fs-preview-edit] (R16 pattern), not baked into the values every
     surface reads. */
  @container (max-width: 44rem){
    [data-fs-theme='emberlight'] .fs-hdr-row > :first-child{gap:5px;padding-right:10px}
    [data-fs-theme='emberlight'] .fs-hdr-row [data-fs-logo-mark]{width:29px;height:29px}
    [data-fs-theme='emberlight'] .fs-hdr-row [data-fs-wordmark]{font-size:13.9px}
    [data-fs-theme='emberlight'] .fsmenu-greasePencil-nav{--el-gap:12px}
    [data-fs-theme='emberlight'] .fsmenu-greasePencil{--el-fs:15px;--el-rx:5px;gap:5px}
    [data-fs-theme='emberlight'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:14px;padding:10px 12px;font-size:13.5px;letter-spacing:0;box-shadow:0 0 0 3px rgb(var(--c-paper-soft)),0 0 0 4px var(--el-hair),var(--el-card)}
    /* Measured live on /preview/view (px-7 row padding PLUS the row's own
       native inter-group flex gap, ~20px, stacking on top of whatever
       margin/padding this tier sets): the brief's own tier math (which
       assumed no such gap) spilled 20px past THAT row at this width.
       Fixed there only: drop the button's margin-left to 0 (the native
       gap already separates it from the nav) and trim the lockup's own
       trailing padding by the remaining 6px — same fix shape as
       nightbell-chrome-styles.ts's Centered/Minimalist preview split. */
    [data-fs-theme='emberlight'] .fs-hdr-row:has([data-fs-preview-edit]) > :first-child{padding-right:4px}
    [data-fs-theme='emberlight'] .fs-hdr-row:has([data-fs-preview-edit]) .fs-hdr-cta.fs-hdr-cta{margin-left:0}
  }
}
@container (max-width: 34rem){
  [data-fs-theme='emberlight'] .fs-hdr-row > :first-child{gap:6px}
  [data-fs-theme='emberlight'] .fs-hdr-row [data-fs-logo-mark]{width:32px;height:32px}
  [data-fs-theme='emberlight'] .fs-hdr-row [data-fs-wordmark]{font-size:15.3px}
}
/* R16 (theme-chrome fix round 2, precedent in counsel/hale/plateful/
   mane-studio/enamel/vernier/groundwork/bright-start/studio-calm/strop/
   facet/nightbell-chrome-styles.ts): the read-only preview alone renders
   a fixed-width "Edit Template" link plus a visitor dark/light toggle
   (TemplateViewClient.tsx), present on no real site. At the preview's own
   390/320px widths the trailing group (mode toggle + Edit Template link +
   menu button) needs more room than the row has, even though .fs-hdr-cta
   is already hidden by the platform's own ≤34rem rule. Measured live:
   hiding the mode toggle alone clears 390px; at 320px the wordmark also
   has to go. The brand MARK (data-fs-logo-mark) stays throughout, so the
   header is never unbranded, even on this one preview-only, extreme-
   narrow case. [data-fs-preview-edit] is the stable, surface-only hook
   the Edit Template link alone carries; :has() reaches up from it so only
   a row that actually contains it is affected — published and editor
   markup never has the hook. */
@container (max-width: 34rem){
  [data-fs-theme='emberlight'] .fs-hdr-row:has([data-fs-preview-edit]) .fs-hdr-mode{display:none}
}
@container (max-width: 22rem){
  [data-fs-theme='emberlight'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{display:none}
}
/* The top is a short strip of the same film with "Menu" edge-printed on
   it; the close a 38px frame in the sun colour. The rows carry film-edge
   frame numbers (a counter on the list from 12; every second row adds
   "A": 12, 12A, 13, 13A …) and the current row's number is ringed. */
[data-fs-theme='emberlight'] .fs-hdr-mobile{background:rgb(var(--c-paper))}
[data-fs-theme='emberlight'] .fs-hdr-mobile-head{height:auto;padding:17px 16px;border-bottom:0;background:repeating-linear-gradient(90deg,var(--el-sun) 0 8px,transparent 8px 17px) 0 4px/100% 5px repeat-x,repeating-linear-gradient(90deg,var(--el-sun) 0 8px,transparent 8px 17px) 0 calc(100% - 4px)/100% 5px repeat-x,var(--el-film);color:var(--el-sun)}
[data-fs-theme='emberlight'] .fs-hdr-mobile-title{font-family:inherit;font-weight:700;font-size:12px;line-height:1;letter-spacing:.24em;text-transform:uppercase;color:var(--el-sun)}
[data-fs-theme='emberlight'] .fs-hdr-mobile-close{width:38px;height:38px;border:1.5px solid var(--el-sun);border-radius:8px;color:var(--el-sun)}
[data-fs-theme='emberlight'] .fs-hdr-mobile-close svg{width:15px;height:15px}
[data-fs-theme='emberlight'] .fs-hdr-mobile > nav{padding:6px 16px 0}
[data-fs-theme='emberlight'] .fs-hdr-mobile-list{counter-reset:emberlight-frame 11}
[data-fs-theme='emberlight'] .fs-hdr-mobile-list > li:nth-child(odd){counter-increment:emberlight-frame}
[data-fs-theme='emberlight'] .fs-hdr-mobile-row{display:flex;align-items:center;border-bottom:1px solid var(--el-hair)}
[data-fs-theme='emberlight'] .fs-hdr-mobile-link:not(.is-sub){display:flex;align-items:center;gap:14px;flex:1;min-height:56px;font-family:var(--font-display, Georgia, serif);font-weight:500;font-size:22px;line-height:1.15;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='emberlight'] .fs-hdr-mobile-list > li > .fs-hdr-mobile-row > .fs-hdr-mobile-link::before{content:counter(emberlight-frame);display:grid;place-items:center;flex:none;width:44px;height:28px;font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:13px;line-height:1;font-variant-numeric:tabular-nums;color:rgb(var(--c-brand-text))}
[data-fs-theme='emberlight'] .fs-hdr-mobile-list > li:nth-child(even) > .fs-hdr-mobile-row > .fs-hdr-mobile-link::before{content:counter(emberlight-frame) "A"}
[data-fs-theme='emberlight'] .fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false'])::before{border:2px solid rgb(var(--c-accent, var(--c-brand-600)));border-radius:52% 48% 46% 54% / 49% 52% 48% 51%;transform:rotate(-4deg)}
[data-fs-theme='emberlight'] .fs-hdr-mobile-toggle{margin-right:12px;color:rgb(var(--c-ink-950))}
[data-fs-theme='emberlight'] .fs-hdr-mobile-sub{padding:12px 0 16px;border-bottom:1px solid var(--el-hair)}
/* A small mount (paper-soft 9px border, the card shadow, a hairlined
   plate) holding the phone in Alegreya 700 and the studio hours; then
   the button full width, mount ring and all. No fixed labels. */
[data-fs-theme='emberlight'] .fs-pmf-emberlight{display:grid;gap:16px;margin:22px 0 24px}
[data-fs-theme='emberlight'] .fs-pmf-mount{padding:9px;background:rgb(var(--c-paper-soft));border-radius:10px;box-shadow:var(--el-card)}
[data-fs-theme='emberlight'] .fs-pmf-plate{display:grid;gap:6px;padding:14px 16px;background:rgb(var(--c-paper));border-radius:5px;outline:1px solid var(--el-hair);outline-offset:-1px}
[data-fs-theme='emberlight'] .fs-pmf-big{margin:0;font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:26px;line-height:1.1;letter-spacing:.01em;font-variant-numeric:tabular-nums;color:rgb(var(--c-ink-950))}
[data-fs-theme='emberlight'] .fs-pmf-tel{color:inherit;text-decoration:none}
[data-fs-theme='emberlight'] .fs-pmf-hours{margin:0;font-size:14.5px;line-height:1.45;color:var(--el-ink2)}
[data-fs-theme='emberlight'] .fs-pmf .fs-hdr-cta.fs-pmf-cta{display:flex;width:100%;margin:0;padding-block:16px;font-size:16px}
/* The mount — ported from the mockup's shared family pieces (71–79) and
   .el-mega block (132–189). The eyebrow, frame number, link and ring are
   shared pieces used across both the frame caption and the mount's own
   caption. */
[data-fs-theme='emberlight'] .fs-elm-panel{--elm-g:clamp(16px,2.2cqi,30px);container-type:inline-size;padding:12px 12px 0;background:rgb(var(--c-paper-soft));border-radius:12px}
[data-fs-theme='emberlight'] .fs-elm-plate{padding:var(--elm-g);background:rgb(var(--c-paper));border-radius:5px;outline:1px solid var(--el-hair);outline-offset:-1px}
[data-fs-theme='emberlight'] .fs-elm-grid{display:grid;grid-template-columns:minmax(0,1fr) clamp(250px,26cqi,350px);grid-template-areas:"main side" "others others";gap:var(--elm-g)}
[data-fs-theme='emberlight'] .fs-elm-main{grid-area:main;min-width:0}
[data-fs-theme='emberlight'] .fs-elm-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin-bottom:18px}
[data-fs-theme='emberlight'] .fs-elm-h{margin:0;font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:clamp(19px,1.75cqi,23px);line-height:1.2;letter-spacing:-.01em;text-wrap:balance}
[data-fs-theme='emberlight'] .fs-elm-eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-weight:700;font-size:11.5px;line-height:1.2;letter-spacing:.16em;text-transform:uppercase;color:rgb(var(--c-brand-text))}
[data-fs-theme='emberlight'] .fs-elm-eyebrow::before{content:"";flex:none;width:1.5rem;height:2px;background:rgb(var(--c-accent, var(--c-brand-600)))}
[data-fs-theme='emberlight'] .fs-elm-no{flex:none;font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:13.5px;line-height:1;letter-spacing:.02em;color:rgb(var(--c-brand-text));font-variant-numeric:tabular-nums}
[data-fs-theme='emberlight'] .fs-elm-link{display:inline-flex;align-items:center;padding-bottom:3px;border-bottom:2px solid rgb(var(--c-accent, var(--c-brand-600)));font-weight:700;font-size:14px;line-height:1.3;color:rgb(var(--c-ink-950));text-decoration:none;transition:color .25s ease}
[data-fs-theme='emberlight'] .fs-elm-link:hover{color:rgb(var(--c-brand-text))}
[data-fs-theme='emberlight'] .fs-elm-ring{position:absolute;border:2px solid rgb(var(--c-accent, var(--c-brand-600)));border-radius:52% 48% 46% 54% / 49% 52% 48% 51%;transform:rotate(-2.5deg);pointer-events:none}
[data-fs-theme='emberlight'] .fs-elm-strip{--elm-hx:clamp(12px,1.5cqi,20px);list-style:none;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.5cqi,20px);padding:27px var(--elm-hx);border-radius:10px;background:repeating-linear-gradient(90deg,rgb(var(--c-paper)) 0 10px,transparent 10px 21px) left var(--elm-hx) top 8px/calc(100% - 2 * var(--elm-hx)) 7px no-repeat,repeating-linear-gradient(90deg,rgb(var(--c-paper)) 0 10px,transparent 10px 21px) left var(--elm-hx) bottom 8px/calc(100% - 2 * var(--elm-hx)) 7px no-repeat,var(--el-sheet)}
[data-fs-theme='emberlight'] .fs-elm-frame{position:relative;display:flex;flex-direction:column;min-width:0;padding:9px 9px 14px;background:rgb(var(--c-paper-soft));border-radius:9px;box-shadow:var(--el-card);transition:transform .3s ease,box-shadow .3s ease}
[data-fs-theme='emberlight'] .fs-elm-frame:hover,[data-fs-theme='emberlight'] .fs-elm-frame:focus-within{transform:translateY(-5px);box-shadow:var(--el-lift)}
[data-fs-theme='emberlight'] .fs-elm-scene{display:block;aspect-ratio:3/1;overflow:hidden;border-radius:4px;outline:1px solid var(--el-hair);outline-offset:-1px;background:var(--el-sun)}
[data-fs-theme='emberlight'] .fs-elm-scene svg{display:block;width:100%;height:100%}
[data-fs-theme='emberlight'] .fs-elm-frame > .fs-elm-fring{top:5px;left:5px;right:5px;aspect-ratio:3/1;opacity:0;transform:rotate(-2.5deg) scale(.96);transition:opacity .25s ease,transform .25s ease}
[data-fs-theme='emberlight'] .fs-elm-frame:hover > .fs-elm-fring,[data-fs-theme='emberlight'] .fs-elm-frame:focus-within > .fs-elm-fring{opacity:.9;transform:rotate(-2.5deg) scale(1)}
[data-fs-theme='emberlight'] .fs-elm-fcap{display:flex;align-items:baseline;gap:9px;min-width:0;padding:11px 3px 0}
[data-fs-theme='emberlight'] .fs-elm-fname{min-width:0;font-weight:700;font-size:12px;line-height:1.25;letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='emberlight'] .fs-elm-fname:hover{color:rgb(var(--c-brand-text))}
[data-fs-theme='emberlight'] .fs-elm-price{margin:9px 0 0;padding-inline:3px;font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:clamp(26px,2.4cqi,33px);line-height:1;letter-spacing:-.02em;color:rgb(var(--c-brand-text));font-variant-numeric:tabular-nums}
[data-fs-theme='emberlight'] .fs-elm-meta{margin:7px 0 0;padding:0 3px 10px;border-bottom:1px solid var(--el-hair);font-size:13.5px;line-height:1.4;color:var(--el-ink2)}
[data-fs-theme='emberlight'] .fs-elm-inc{margin:9px 0 0;padding-inline:3px;font-size:13px;line-height:1.5;color:var(--el-ink2)}
[data-fs-theme='emberlight'] .fs-elm-others{grid-area:others;min-width:0}
[data-fs-theme='emberlight'] .fs-elm-olist{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:var(--elm-g);border-top:1px solid var(--el-hair)}
[data-fs-theme='emberlight'] .fs-elm-oli{display:grid;grid-template-columns:minmax(0,1fr) auto;align-content:start;column-gap:10px;min-width:0;padding-top:12px}
[data-fs-theme='emberlight'] .fs-elm-oname{font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:16px;line-height:1.25;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='emberlight'] .fs-elm-oname:hover{color:rgb(var(--c-brand-text))}
[data-fs-theme='emberlight'] .fs-elm-oprice{font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:16px;line-height:1.25;color:rgb(var(--c-brand-text));font-variant-numeric:tabular-nums;white-space:nowrap}
[data-fs-theme='emberlight'] .fs-elm-ometa{grid-column:1/-1;margin-top:4px;font-size:13px;line-height:1.45;color:var(--el-ink2)}
[data-fs-theme='emberlight'] .fs-elm-date{grid-area:side;display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding-left:var(--elm-g);border-left:1px solid var(--el-hair)}
[data-fs-theme='emberlight'] .fs-elm-dh{margin:12px 0 0;font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:clamp(21px,1.95cqi,26px);line-height:1.18;letter-spacing:-.012em;text-wrap:balance}
[data-fs-theme='emberlight'] .fs-elm-accent{font-style:normal;color:rgb(var(--c-brand-text))}
[data-fs-theme='emberlight'] .fs-elm-dsub{margin:10px 0 0;max-width:34ch;font-size:14px;line-height:1.6;color:var(--el-ink2)}
[data-fs-theme='emberlight'] .fs-elm-dctas{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:18px}
[data-fs-theme='emberlight'] .fs-elm-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:8px;background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)));font-weight:700;font-size:14.5px;line-height:1;letter-spacing:.02em;white-space:nowrap;text-decoration:none;box-shadow:var(--el-card);transition:background-color .25s ease,transform .25s ease}
[data-fs-theme='emberlight'] .fs-elm-btn:hover{background:rgb(var(--c-brand-700));transform:translateY(-2px)}
[data-fs-theme='emberlight'] .fs-elm-dctas .fs-elm-link{font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:15px;line-height:1.3;font-variant-numeric:tabular-nums}
[data-fs-theme='emberlight'] .fs-elm-light{width:100%;margin-top:24px;padding-top:20px;border-top:1px solid var(--el-hair)}
[data-fs-theme='emberlight'] .fs-elm-ticks{margin:10px 0 0;display:flex;justify-content:space-between;gap:4px;padding:8px 10px;border:1px solid var(--el-hair);border-radius:8px;background:rgb(var(--c-paper-soft))}
[data-fs-theme='emberlight'] .fs-elm-tick{position:relative;padding:3px 1px;font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:12.5px;line-height:1;color:var(--el-ink2);font-variant-numeric:tabular-nums}
[data-fs-theme='emberlight'] .fs-elm-tick.is-pick{color:rgb(var(--c-ink-950))}
[data-fs-theme='emberlight'] .fs-elm-tick > .fs-elm-tring{inset:-5px -8px}
[data-fs-theme='emberlight'] .fs-elm-lnote{margin:10px 0 0;font-size:13px;line-height:1.5;color:var(--el-ink2)}
[data-fs-theme='emberlight'] .fs-elm-lead{color:rgb(var(--c-ink-950))}
[data-fs-theme='emberlight'] .fs-elm-cap{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 11px;padding:12px 5px 13px}
[data-fs-theme='emberlight'] .fs-elm-cap-t{font-size:13.5px;line-height:1.45;color:var(--el-ink2)}
[data-fs-theme='emberlight'] .fs-elm-cap .fs-elm-link{margin-left:auto;font-size:13.5px}
/* The scene's two drawing roles, and the warm band in the accent. */
[data-fs-theme='emberlight'] .fs-elm-sc-sun{fill:var(--el-sun)}
[data-fs-theme='emberlight'] .fs-elm-sc-land{fill:var(--el-land)}
[data-fs-theme='emberlight'] .fs-elm-sc-warm{fill:rgb(var(--c-accent, var(--c-brand-600)))}
[data-fs-theme='emberlight'] .fs-elm-sc-line{fill:none;stroke:var(--el-land);stroke-width:1.6}
/* The SAME composite in the phone menu: no mount or shadow, no head, no
   side column (the foot carries the date and the button), no "included"
   lines and no caption; its own container still reflows it. */
[data-fs-theme='emberlight'] .fs-hdr-mobile .fs-elm-panel{padding:0;background:none;box-shadow:none;border-radius:0}
[data-fs-theme='emberlight'] .fs-hdr-mobile .fs-elm-plate{padding:0;outline:0;background:none}
[data-fs-theme='emberlight'] .fs-hdr-mobile .fs-elm-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"main" "others"}
[data-fs-theme='emberlight'] .fs-hdr-mobile :is(.fs-elm-head,.fs-elm-date,.fs-elm-inc,.fs-elm-cap){display:none}
/* The mount reflows on its own box (the panel minus its 12px mount:
   1368 / 1208 / 1128 / 856 / 760 / 664; phone-menu copies ~704 and
   ~326). WIDE, the base (62rem+): three prints across the strip beside
   a side column that grows with the panel, the four others in a row
   under both. MIDDLE (62rem and under): the strip turns upright, each
   collection a row; the others two by two; the side column runs beside
   both. 44rem (Minimalist): a 222px side, smaller pictures and prices.
   30rem (the phone menu): one column, no pictures. */
@container (max-width: 62rem){
  [data-fs-theme='emberlight'] .fs-elm-grid{grid-template-areas:"main side" "others side"}
  [data-fs-theme='emberlight'] .fs-elm-olist{grid-template-columns:repeat(2,minmax(0,1fr))}
  [data-fs-theme='emberlight'] .fs-elm-oli{padding-bottom:12px;border-bottom:1px solid var(--el-hair)}
  [data-fs-theme='emberlight'] .fs-elm-oli:nth-last-child(-n+2){border-bottom:0;padding-bottom:0}
  [data-fs-theme='emberlight'] .fs-elm-strip{--elm-hy:14px;grid-template-columns:minmax(0,1fr);gap:12px;padding:16px 28px;background:repeating-linear-gradient(180deg,rgb(var(--c-paper)) 0 10px,transparent 10px 21px) left 9px top var(--elm-hy)/7px calc(100% - 2 * var(--elm-hy)) no-repeat,repeating-linear-gradient(180deg,rgb(var(--c-paper)) 0 10px,transparent 10px 21px) right 9px top var(--elm-hy)/7px calc(100% - 2 * var(--elm-hy)) no-repeat,var(--el-sheet)}
  [data-fs-theme='emberlight'] .fs-elm-frame{--elm-th:clamp(66px,11cqi,100px);display:grid;grid-template-columns:var(--elm-th) minmax(0,1fr) auto;column-gap:14px;align-items:center;padding:8px 14px 8px 8px}
  [data-fs-theme='emberlight'] .fs-elm-scene{grid-column:1;grid-row:1/span 2;aspect-ratio:2/1}
  [data-fs-theme='emberlight'] .fs-elm-frame > .fs-elm-fring{top:50%;right:auto;width:calc(var(--elm-th) + 6px);aspect-ratio:2/1;margin-top:calc((var(--elm-th) + 6px) / -4)}
  [data-fs-theme='emberlight'] .fs-elm-fcap{grid-column:2;grid-row:1;align-self:end;padding:0}
  [data-fs-theme='emberlight'] .fs-elm-meta{grid-column:2;grid-row:2;align-self:start;margin-top:4px;padding:0;border:0;font-size:13px}
  [data-fs-theme='emberlight'] .fs-elm-price{grid-column:3;grid-row:1/span 2;margin:0;font-size:25px}
  [data-fs-theme='emberlight'] .fs-elm-inc{display:none}
}
@container (max-width: 44rem){
  [data-fs-theme='emberlight'] .fs-elm-grid{grid-template-columns:minmax(0,1fr) 222px}
  [data-fs-theme='emberlight'] .fs-elm-frame{--elm-th:64px;column-gap:12px;padding-right:12px}
  [data-fs-theme='emberlight'] .fs-elm-price{font-size:22px}
  [data-fs-theme='emberlight'] .fs-elm-fname{letter-spacing:.1em}
  [data-fs-theme='emberlight'] .fs-elm-dh{font-size:20px}
  [data-fs-theme='emberlight'] .fs-elm-ticks{padding-inline:7px}
  [data-fs-theme='emberlight'] .fs-elm-tick > .fs-elm-tring{inset:-5px -5px}
}
@container (max-width: 30rem){
  [data-fs-theme='emberlight'] .fs-elm-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"main" "side" "others"}
  [data-fs-theme='emberlight'] .fs-elm-strip{padding-inline:24px}
  [data-fs-theme='emberlight'] .fs-elm-frame{grid-template-columns:minmax(0,1fr) auto;padding:10px 12px}
  [data-fs-theme='emberlight'] :is(.fs-elm-scene,.fs-elm-frame > .fs-elm-fring){display:none}
  [data-fs-theme='emberlight'] .fs-elm-fcap{grid-column:1}
  [data-fs-theme='emberlight'] .fs-elm-meta{grid-column:1}
  [data-fs-theme='emberlight'] .fs-elm-price{grid-column:2;font-size:21px}
  [data-fs-theme='emberlight'] .fs-elm-olist{grid-template-columns:minmax(0,1fr)}
  [data-fs-theme='emberlight'] .fs-elm-oli,[data-fs-theme='emberlight'] .fs-elm-oli:nth-last-child(2){padding-bottom:12px;border-bottom:1px solid var(--el-hair)}
  [data-fs-theme='emberlight'] .fs-elm-oli:last-child{border-bottom:0;padding-bottom:0}
  [data-fs-theme='emberlight'] .fs-elm-ometa{display:none}
}
@media (prefers-reduced-motion: reduce){
  [data-fs-theme='emberlight'] :is(.fs-hdr-cta,.fs-elm-btn,.fs-elm-frame,.fs-elm-frame > .fs-elm-fring,.fs-elm-link){transition:none}
  /* :is()'s specificity is the MAX of its arguments, not their sum — the
     plain .fs-hdr-cta argument this used to carry gave the whole selector
     only (0,3,0) (attribute + :is() + :hover), losing to the button's own
     hover rule above at .fs-hdr-cta.fs-hdr-cta:hover (0,4,0): the button
     still jumped 2px on hover under reduced motion, just without a
     transition easing it. Repeating the class inside :is(), matching
     studio-calm-chrome-styles.ts's own working reduced-motion selector
     shape, raises the argument's (and so the whole selector's) specificity
     to (0,4,0) — tied with the hover rule, and this block is later in the
     file, so it wins the cascade. */
  [data-fs-theme='emberlight'] :is(.fs-hdr-cta.fs-hdr-cta,.fs-elm-btn,.fs-elm-frame):hover{transform:none}
}


/* Tokens (mockup 31–53), FULL colours. Torque's own alphas: --cw-rule
   rows, --cw-keyline frames, --cw-arm dimension arms, --cw-tick ticks,
   --cw-grid graph ground, --cw-plate-* the riveted plate, --cw-perf the
   card's perforation, --cw-hole the punch holes; --cw-mark the accent,
   marks only; --cw-brass the accent when it is read (the stamp);
   --cw-numeral the faded 01–03; --cw-rail the strip (brand in light, a
   brand-stained ground in dark). */
[data-fs-theme='coachwork']{--fs-chrome-mode:light;--cw-rule:rgb(var(--c-ink-950) / .13);--cw-keyline:rgb(var(--c-ink-950) / .2);--cw-arm:rgb(var(--c-ink-950) / .3);--cw-tick:rgb(var(--c-ink-950) / .5);--cw-grid:rgb(var(--c-ink-950) / .06);--cw-plate-line:rgb(var(--c-brand-600) / .55);--cw-plate-fill:rgb(var(--c-brand-600) / .08);--cw-perf:rgb(var(--c-brand-600) / .5);--cw-hole:rgb(var(--c-ink-950) / .3);--cw-mark:rgb(var(--c-accent, var(--c-brand-600)));--cw-brass:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 62%, rgb(var(--c-ink-950)));--cw-numeral:color-mix(in srgb, rgb(var(--c-brand-600)) 70%, rgb(var(--c-paper)));--cw-rail:rgb(var(--c-brand-600));--cw-on-rail:var(--fs-on-brand, rgb(var(--c-paper)));--cw-rail-tick:color-mix(in srgb, var(--fs-on-brand, rgb(var(--c-paper))) 50%, transparent)}
[data-fs-theme='coachwork'].dark{--fs-chrome-mode:dark;--cw-rule:rgb(var(--c-ink-950) / .15);--cw-keyline:rgb(var(--c-ink-950) / .22);--cw-grid:rgb(var(--c-ink-950) / .07);--cw-plate-fill:rgb(var(--c-brand-600) / .12);--cw-brass:rgb(var(--c-accent, var(--c-brand-600)));--cw-rail:color-mix(in srgb, rgb(var(--c-brand-600)) 20%, rgb(var(--c-paper)));--cw-on-rail:rgb(var(--c-ink-950));--cw-rail-tick:rgb(var(--c-brand-600) / .7)}
/* The strip, the walnut rail: the note first, then the hours and the
   phone, each divided by a dimension tick (1px x 11px). Its inner line
   is the named container fs-strip-in (R-B4-3). */
[data-fs-theme='coachwork'] .fs-hdr-util{container-type:inline-size;background:var(--cw-rail);color:var(--cw-on-rail);font-weight:600;font-size:12px;line-height:1.2;letter-spacing:.12em;text-transform:uppercase}
[data-fs-theme='coachwork'] .fs-hdr-util-in{container-type:inline-size;container-name:fs-strip-in;display:flex;align-items:center;gap:0;min-height:0;padding-block:9px;border-bottom:0;color:inherit}
[data-fs-theme='coachwork'] .fs-hdr-util-item{display:inline-flex}
[data-fs-theme='coachwork'] .fs-hdr-util-dot{display:none}
[data-fs-theme='coachwork'] .fs-hdr-util-note{order:-1;margin-right:auto}
[data-fs-theme='coachwork'] .fs-hdr-util-hours{margin-left:18px;padding-left:18px;background:linear-gradient(var(--cw-rail-tick),var(--cw-rail-tick)) 0 50%/1px 11px no-repeat}
[data-fs-theme='coachwork'] .fs-hdr-util-tel{margin-left:18px;padding-left:18px;background:linear-gradient(var(--cw-rail-tick),var(--cw-rail-tick)) 0 50%/1px 11px no-repeat;font-weight:700;letter-spacing:.1em;color:inherit}
[data-fs-theme='coachwork'] .fs-hdr-util-in:not(:has(.fs-hdr-util-note)) .fs-hdr-util-hours{margin:0 auto 0 0;padding-left:0;background:none}
@container fs-strip-in (max-width: 50rem){
  [data-fs-theme='coachwork'] .fs-hdr-util-note{display:none}
  [data-fs-theme='coachwork'] .fs-hdr-util-hours{margin:0 auto 0 0;padding-left:0;background:none}
}
@container (max-width: 40rem){
  [data-fs-theme='coachwork'] .fs-hdr-util-in{display:flex}
}
/* Both rules now query fs-strip-in (the strip's LINE, R-B3-1) rather than
   leaving .fs-hdr-util-in's centring on an unnamed query that resolved
   against the full strip instead — see studio-calm-chrome-styles.ts's own
   fix of this same mismatch for the full rationale. */
@container fs-strip-in (max-width: 40rem){
  [data-fs-theme='coachwork'] .fs-hdr-util-item:not(.fs-hdr-util-tel){display:none}
  [data-fs-theme='coachwork'] .fs-hdr-util-tel{margin-inline:auto;padding-left:0;background:none}
}
/* The band: the named container (the desktop gate) whose last 12px are
   the steel rule — a 1px baseline, 40px majors 10px tall, 8px minors 5px
   tall, centred — PAINTED, never a positioned child. */
[data-fs-theme='coachwork'] .fs-hdr-band{container-type:inline-size;container-name:fs-band;border-bottom-width:0;padding-bottom:12px;background:linear-gradient(var(--cw-arm),var(--cw-arm)) 0 100%/100% 1px no-repeat,linear-gradient(90deg,var(--cw-tick) 0 1px,transparent 1px) 50% 100%/40px 10px repeat-x,linear-gradient(90deg,var(--cw-arm) 0 1px,transparent 1px) 50% 100%/8px 5px repeat-x,rgb(var(--c-paper))}
[data-fs-theme='coachwork'] .fs-hdr-row{min-height:clamp(64px, (100cqi - 760px) * 100, 78px)}
/* The lockup (R-B4-9): the hex mark in a 44px box and the name in Zilla
   Slab caps, wrapping to two lines like ASHCOMBE / MOTOR WORKS. */
[data-fs-theme='coachwork'] .fs-hdr-row > :first-child{gap:8px;margin-right:auto;padding-right:20px;color:rgb(var(--c-ink-950))}
[data-fs-theme='coachwork'] .fs-hdr-row [data-fs-logo-mark]{width:44px;height:44px}
[data-fs-theme='coachwork'] .fs-hdr-row [data-fs-wordmark]{max-width:8em;font-size:19.5px;line-height:1.02;letter-spacing:.08em;text-transform:uppercase;white-space:normal}
/* The button: Torque's slab on a 3px ledge of the deeper brand; it lifts
   2px on hover (the platform's hover fill is the deep brand). */
[data-fs-theme='coachwork'] .fs-hdr-cta{--fs-hdr-cta-bg:rgb(var(--c-brand-600));--fs-hdr-cta-fg:var(--fs-on-brand, rgb(var(--c-paper)));--fs-hdr-cta-fg-hover:var(--fs-on-brand, rgb(var(--c-paper)))}
[data-fs-theme='coachwork'] .fs-hdr-cta.fs-hdr-cta{flex:none;padding:14px 22px;border-radius:7px;font-weight:700;font-size:13px;line-height:1;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;box-shadow:0 3px 0 rgb(var(--c-brand-700)),0 12px 22px -12px rgb(0 0 0 / .55);transition:transform .25s cubic-bezier(.2,.8,.3,1),background-color .25s ease}
[data-fs-theme='coachwork'] .fs-hdr-cta.fs-hdr-cta:hover{transform:translateY(-2px)}
[data-fs-theme='coachwork'] .fs-hdr-row .fs-hdr-cta{margin-left:26px}
/* The menu button: a 44px keyline square on the card; top and bottom
   bars in ink, the middle one a small brand dimension with end ticks. */
[data-fs-theme='coachwork'] .fs-hdr-menu-btn{width:44px;height:44px;margin-left:14px;border:1px solid var(--cw-keyline);border-radius:8px;background:linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) center calc(50% - 10px)/20px 2px no-repeat,linear-gradient(rgb(var(--c-brand-600)),rgb(var(--c-brand-600))) center/22px 2px no-repeat,linear-gradient(rgb(var(--c-brand-600)),rgb(var(--c-brand-600))) calc(50% - 10.25px) center/1.5px 8px no-repeat,linear-gradient(rgb(var(--c-brand-600)),rgb(var(--c-brand-600))) calc(50% + 10.25px) center/1.5px 8px no-repeat,linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) center calc(50% + 10px)/20px 2px no-repeat,rgb(var(--c-paper-soft))}
[data-fs-theme='coachwork'] .fs-hdr-menu-btn svg{display:none}
/* The mega shell: no frame of its own (the composite is the sheet), 20px
   below the row (clear of the 12px steel rule), the sheet's shadow. */
[data-fs-theme='coachwork'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite){margin-top:20px !important;background:transparent !important;border:0 !important;border-radius:12px !important;box-shadow:0 28px 56px -22px rgb(0 0 0 / .45) !important}
[data-fs-theme='coachwork'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite)::before{top:-20px;height:20px}
/* Layout tiers (mockup 264–286), desktop only. Every tick, the current
   segment and the button's ledge stay. */
@container fs-band (min-width: 62rem){
  /* Boxed (row 880). */
  @container (max-width: 60rem){
    [data-fs-theme='coachwork'] .fs-hdr-row > :first-child{padding-right:14px}
    [data-fs-theme='coachwork'] .fs-hdr-row [data-fs-logo-mark]{width:38px;height:38px}
    [data-fs-theme='coachwork'] .fs-hdr-row [data-fs-wordmark]{font-size:17px}
    /* /preview/view (the theme's own shop window) re-pins the wordmark to
       a fixed 21px via an inline style (theme-wordmark.tsx's
       WORDMARK_FALLBACK, a documented, pre-existing gap on that one
       route — the editor and the published site read the theme's own
       font-size with no inline style in the way, so this never touches
       them). [data-fs-preview-edit] is the platform's own "I am on the
       preview, not a real site" hook (TemplateViewClient.tsx) — the same
       idiom studio-calm/nightbell/emberlight-chrome-styles.ts use for
       this exact problem. Scoped to it so a customer's own headerFontSize
       choice on a real site is never overridden. */
    [data-fs-theme='coachwork'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{font-size:17px !important}
    [data-fs-theme='coachwork'] .fsmenu-dimensionChain{--cw-pad:10px;--cw-track:.09em}
    [data-fs-theme='coachwork'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:16px;padding-inline:16px;letter-spacing:.1em}
    /* The plan's own --cw-pad (this block) fits the REAL row (editor
       EditWpClient.tsx / published PublicSiteClient.tsx — both px-6, no
       gap) with room to spare. Only /preview/view's own row (px-7 plus a
       gap the real rows don't have) is tight enough to spill at six nav
       items; that squeeze is scoped to [data-fs-preview-edit], the
       preview-only hook (R16 pattern, precedent in nightbell/studio-calm/
       emberlight-chrome-styles.ts), so it never reaches the real surfaces
       it was never measured against. */
    [data-fs-theme='coachwork'] .fs-hdr-row:has([data-fs-preview-edit]) .fsmenu-dimensionChain{--cw-pad:7px}
  }
  /* Centered (784). */
  @container (max-width: 50rem){
    [data-fs-theme='coachwork'] .fs-hdr-row > :first-child{padding-right:10px}
    [data-fs-theme='coachwork'] .fs-hdr-row [data-fs-logo-mark]{width:34px;height:34px}
    [data-fs-theme='coachwork'] .fs-hdr-row [data-fs-wordmark]{font-size:15px}
    [data-fs-theme='coachwork'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{font-size:15px !important}
    [data-fs-theme='coachwork'] .fsmenu-dimensionChain{--cw-pad:8px;--cw-track:.07em;--cw-gap:6px;--cw-fs:12px}
    [data-fs-theme='coachwork'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:14px;padding:12px 13px;font-size:12px;letter-spacing:.08em}
    [data-fs-theme='coachwork'] .fs-hdr-row:has([data-fs-preview-edit]) .fsmenu-dimensionChain{--cw-pad:5px}
    [data-fs-theme='coachwork'] .fs-hdr-row:has([data-fs-preview-edit]) .fs-hdr-cta.fs-hdr-cta{margin-left:8px}
  }
  /* Minimalist (688), the tightest. */
  @container (max-width: 44rem){
    [data-fs-theme='coachwork'] .fs-hdr-row [data-fs-logo-mark]{width:30px;height:30px}
    [data-fs-theme='coachwork'] .fs-hdr-row [data-fs-wordmark]{font-size:13.5px}
    [data-fs-theme='coachwork'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{font-size:13.5px !important}
    [data-fs-theme='coachwork'] .fsmenu-dimensionChain{--cw-pad:6px;--cw-track:.04em;--cw-gap:5px;--cw-fs:11.5px}
    [data-fs-theme='coachwork'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:10px;padding:11px 10px;font-size:11.5px;letter-spacing:.05em}
    [data-fs-theme='coachwork'] .fs-hdr-row:has([data-fs-preview-edit]) .fsmenu-dimensionChain{--cw-pad:3px}
    [data-fs-theme='coachwork'] .fs-hdr-row:has([data-fs-preview-edit]) .fs-hdr-cta.fs-hdr-cta{margin-left:4px;padding:11px 6px}
  }
}
/* Phones: the platform hides the button at row 34rem; the lockup steps down. */
@container (max-width: 34rem){
  [data-fs-theme='coachwork'] .fs-hdr-row [data-fs-logo-mark]{width:36px;height:36px}
  [data-fs-theme='coachwork'] .fs-hdr-row [data-fs-wordmark]{font-size:16px}
  [data-fs-theme='coachwork'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{font-size:16px !important}
}
/* R16 (theme-chrome fix round 2, precedent in counsel/hale/plateful/
   mane-studio/enamel/vernier/groundwork/bright-start-chrome-styles.ts):
   the read-only preview alone renders a fixed-width "Edit Template" link
   plus a visitor dark/light toggle (TemplateViewClient.tsx), present on
   no real site. At the preview's own 390/320px widths the trailing group
   (mode toggle + Edit Template link + menu button) needs more room than
   the row has, even though .fs-hdr-contact/.fs-hdr-cta are already
   hidden by the platform's own ≤34rem rule. The brand MARK
   (data-fs-logo-mark) stays throughout, so the header is never
   unbranded, even on this one preview-only, extreme-narrow case.
   [data-fs-preview-edit] is the stable, surface-only hook the Edit
   Template link alone carries; :has() reaches up from it so only a row
   that actually contains it is affected — published and editor markup
   never has the hook. */
@container (max-width: 34rem){
  [data-fs-theme='coachwork'] .fs-hdr-row:has([data-fs-preview-edit]) .fs-hdr-mode{display:none}
}
@container (max-width: 22rem){
  [data-fs-theme='coachwork'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{display:none}
}

/* The riveted "Menu" plate and a keyline close over the steel rule; the
   pages as a VERTICAL chain dimension: one arm 14px in, a tick and an
   extension line at every boundary, the last page closes it, the
   current page's segment in the brand. */
[data-fs-theme='coachwork'] .fs-hdr-mobile{background:rgb(var(--c-paper))}
[data-fs-theme='coachwork'] .fs-hdr-mobile-head{height:auto;padding:14px 16px 26px;border-bottom:0;background:linear-gradient(var(--cw-arm),var(--cw-arm)) 0 100%/100% 1px no-repeat,linear-gradient(90deg,var(--cw-tick) 0 1px,transparent 1px) 50% 100%/40px 10px repeat-x,linear-gradient(90deg,var(--cw-arm) 0 1px,transparent 1px) 50% 100%/8px 5px repeat-x,rgb(var(--c-paper))}
[data-fs-theme='coachwork'] .fs-hdr-mobile-title{display:inline-flex;align-items:center;padding:7px 20px;border:1px solid var(--cw-plate-line);border-radius:5px;background:radial-gradient(circle,var(--cw-plate-line) 0 1.5px,transparent 2px) left 5px center/5px 5px no-repeat,radial-gradient(circle,var(--cw-plate-line) 0 1.5px,transparent 2px) right 5px center/5px 5px no-repeat,var(--cw-plate-fill);font-family:inherit;font-weight:700;font-size:12px;line-height:1.2;letter-spacing:.28em;text-transform:uppercase;color:rgb(var(--c-brand-text))}
[data-fs-theme='coachwork'] .fs-hdr-mobile-close{width:42px;height:42px;border:1px solid var(--cw-keyline);border-radius:8px;background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950))}
[data-fs-theme='coachwork'] .fs-hdr-mobile > nav{padding:12px 16px 0}
[data-fs-theme='coachwork'] .fs-hdr-mobile-list{background:linear-gradient(var(--cw-arm),var(--cw-arm)) 14px 0/1px 100% no-repeat}
[data-fs-theme='coachwork'] .fs-hdr-mobile-row{--cw-seg:transparent;display:flex;align-items:center;min-height:54px;padding-left:36px;background:linear-gradient(var(--cw-tick),var(--cw-tick)) 10px 0/9px 1px no-repeat,linear-gradient(var(--cw-rule),var(--cw-rule)) 36px 0/calc(100% - 36px) 1px no-repeat,linear-gradient(var(--cw-seg),var(--cw-seg)) 13.5px 0/2px 100% no-repeat}
[data-fs-theme='coachwork'] .fs-hdr-mobile-list > li:last-child > .fs-hdr-mobile-row{background:linear-gradient(var(--cw-tick),var(--cw-tick)) 10px 0/9px 1px no-repeat,linear-gradient(var(--cw-tick),var(--cw-tick)) 10px 100%/9px 1px no-repeat,linear-gradient(var(--cw-rule),var(--cw-rule)) 36px 0/calc(100% - 36px) 1px no-repeat,linear-gradient(var(--cw-rule),var(--cw-rule)) 36px 100%/calc(100% - 36px) 1px no-repeat,linear-gradient(var(--cw-seg),var(--cw-seg)) 13.5px 0/2px 100% no-repeat}
[data-fs-theme='coachwork'] .fs-hdr-mobile-row:has(> .fs-hdr-mobile-link[aria-current]:not([aria-current='false'])){--cw-seg:rgb(var(--c-brand-600))}
[data-fs-theme='coachwork'] .fs-hdr-mobile-link:not(.is-sub){flex:1;padding:0 4px;font-family:var(--font-display, 'Zilla Slab', Georgia, serif);font-weight:600;font-size:21px;line-height:1.15;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='coachwork'] .fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false']){color:rgb(var(--c-brand-text))}
[data-fs-theme='coachwork'] .fs-hdr-mobile-toggle{margin-right:12px;color:rgb(var(--c-ink-950))}
[data-fs-theme='coachwork'] .fs-hdr-mobile-sub{padding:2px 0 16px 36px}

/* A punched card: perforated top edge and two punch holes (background
   layers, the holes show the page colour), the phone as a ruled figure,
   the hours in plate caps, the slab button full width. */
[data-fs-theme='coachwork'] .fs-pmf-coachwork{margin:22px 0 24px}
[data-fs-theme='coachwork'] .fs-pmf-punch{display:grid;justify-items:center;gap:10px;padding:36px 18px 18px;text-align:center;border:1px solid var(--cw-keyline);border-radius:10px;background:radial-gradient(circle,rgb(var(--c-paper)) 0 4.5px,var(--cw-hole) 4.5px 5.5px,transparent 6px) calc(50% - 16px) 13px/12px 12px no-repeat,radial-gradient(circle,rgb(var(--c-paper)) 0 4.5px,var(--cw-hole) 4.5px 5.5px,transparent 6px) calc(50% + 16px) 13px/12px 12px no-repeat,radial-gradient(circle at 5px 0,transparent 4px,var(--cw-perf) 4px 5px,transparent 5px) 0 0/10px 6px repeat-x,rgb(var(--c-paper-soft));box-shadow:0 16px 30px -20px rgb(0 0 0 / .4)}
[data-fs-theme='coachwork'] .fs-pmf-big{margin:0;padding-bottom:3px;border-bottom:2px solid var(--cw-mark);font-family:var(--font-display, 'Zilla Slab', Georgia, serif);font-weight:700;font-size:26px;line-height:1.1;font-variant-numeric:tabular-nums}
[data-fs-theme='coachwork'] .fs-pmf-tel{color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='coachwork'] .fs-pmf-hours{margin:0;font-weight:600;font-size:11.5px;line-height:1.45;letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
[data-fs-theme='coachwork'] .fs-pmf .fs-hdr-cta.fs-pmf-cta{display:flex;width:100%;margin:6px 0 0}

/* ── The panel: coachwork.services, the drawing sheet (mockup 96–169,
   renamed fs-cwm-*). The root carries no padding, so its container
   width IS the panel minus its 1px border; the inner box pads with --g,
   2.6% of the panel (22–40px). The sheet: graph ground, registration
   ticks in the accent at the four corners, all background layers — the
   whole thing, bar the shadow (which lives on the shell above). */
[data-fs-theme='coachwork'] .fs-cwm-sheet{container-type:inline-size;border:1px solid var(--cw-keyline);border-radius:12px;background:linear-gradient(var(--cw-mark),var(--cw-mark)) 10px 10px/16px 2px no-repeat,linear-gradient(var(--cw-mark),var(--cw-mark)) 10px 10px/2px 16px no-repeat,linear-gradient(var(--cw-mark),var(--cw-mark)) right 10px top 10px/16px 2px no-repeat,linear-gradient(var(--cw-mark),var(--cw-mark)) right 10px top 10px/2px 16px no-repeat,linear-gradient(var(--cw-mark),var(--cw-mark)) left 10px bottom 10px/16px 2px no-repeat,linear-gradient(var(--cw-mark),var(--cw-mark)) left 10px bottom 10px/2px 16px no-repeat,linear-gradient(var(--cw-mark),var(--cw-mark)) right 10px bottom 10px/16px 2px no-repeat,linear-gradient(var(--cw-mark),var(--cw-mark)) right 10px bottom 10px/2px 16px no-repeat,linear-gradient(90deg,var(--cw-grid) 0 1px,transparent 1px) 50% 0/40px 40px,linear-gradient(var(--cw-grid) 0 1px,transparent 1px) 50% 0/40px 40px,rgb(var(--c-paper))}
[data-fs-theme='coachwork'] .fs-cwm-in{--g:clamp(22px,2.6cqi,40px);padding:30px var(--g) 30px}
/* Head: the plate, the slab title with its accent line, the intro. */
[data-fs-theme='coachwork'] .fs-cwm-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px 40px;padding-bottom:20px;border-bottom:1px solid var(--cw-arm)}
[data-fs-theme='coachwork'] .fs-cwm-head-l{display:grid;justify-items:start;gap:12px;min-width:0}
[data-fs-theme='coachwork'] .fs-cwm-plate{display:inline-flex;align-items:center;padding:7px 20px;border:1px solid var(--cw-plate-line);border-radius:5px;background:radial-gradient(circle,var(--cw-plate-line) 0 1.5px,transparent 2px) left 5px center/5px 5px no-repeat,radial-gradient(circle,var(--cw-plate-line) 0 1.5px,transparent 2px) right 5px center/5px 5px no-repeat,var(--cw-plate-fill);color:rgb(var(--c-brand-text));font-weight:700;font-size:11px;line-height:1.2;letter-spacing:.24em;text-transform:uppercase;white-space:nowrap}
[data-fs-theme='coachwork'] .fs-cwm-title{margin:0;font-weight:700;font-size:27px;line-height:1.12;letter-spacing:-.01em;color:rgb(var(--c-ink-950));text-wrap:balance}
[data-fs-theme='coachwork'] .fs-cwm-acc{color:rgb(var(--c-brand-text))}
[data-fs-theme='coachwork'] .fs-cwm-intro{margin:0;flex:0 1 42ch;max-width:42ch;font-size:14.5px;line-height:1.6;color:rgb(var(--c-ink-700));text-wrap:pretty}
/* Body: kinds of work | the job card | the readout. */
[data-fs-theme='coachwork'] .fs-cwm-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr) minmax(0,.9fr);grid-template-areas:"kinds card read";gap:20px var(--g);align-items:start;padding-block:24px}
[data-fs-theme='coachwork'] .fs-cwm-kinds{grid-area:kinds}
[data-fs-theme='coachwork'] .fs-cwm-card{grid-area:card}
[data-fs-theme='coachwork'] .fs-cwm-read{grid-area:read}
[data-fs-theme='coachwork'] .fs-cwm-klabel,[data-fs-theme='coachwork'] .fs-cwm-rlabel{margin:0;font-weight:600;font-size:11px;line-height:1.2;letter-spacing:.2em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
/* The counter resets on the LIST, never on the sheet (the batch 3 trap:
   a reset on a container does not reach the items). */
[data-fs-theme='coachwork'] .fs-cwm-klist{display:grid;margin-top:6px;counter-reset:cwk;list-style:none;padding:0}
[data-fs-theme='coachwork'] .fs-cwm-kind{counter-increment:cwk;display:grid;grid-template-columns:44px minmax(0,1fr);align-items:baseline;padding-block:13px;border-bottom:1px solid var(--cw-rule)}
[data-fs-theme='coachwork'] .fs-cwm-kind:last-child{border-bottom:0}
[data-fs-theme='coachwork'] .fs-cwm-kind::before{content:counter(cwk,decimal-leading-zero);grid-row:span 2;font-family:var(--font-display, 'Zilla Slab', Georgia, serif);font-weight:700;font-size:26px;line-height:1;color:var(--cw-numeral);font-variant-numeric:tabular-nums}
[data-fs-theme='coachwork'] .fs-cwm-kname{font-family:var(--font-display, 'Zilla Slab', Georgia, serif);font-weight:600;font-size:18px;line-height:1.25;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='coachwork'] .fs-cwm-kname:hover{color:rgb(var(--c-brand-text));text-decoration:underline;text-underline-offset:3px}
[data-fs-theme='coachwork'] .fs-cwm-kdesc{grid-column:2;margin:4px 0 0;max-width:36ch;font-size:13.5px;line-height:1.55;color:rgb(var(--c-ink-700))}
/* The job card: punched card stock — the perforated top edge and the
   two punch holes are background layers, so the holes show the page
   colour and nothing is positioned. */
[data-fs-theme='coachwork'] .fs-cwm-card{border:1px solid var(--cw-keyline);border-radius:10px;background:radial-gradient(circle,rgb(var(--c-paper)) 0 4.5px,var(--cw-hole) 4.5px 5.5px,transparent 6px) calc(50% - 16px) 13px/12px 12px no-repeat,radial-gradient(circle,rgb(var(--c-paper)) 0 4.5px,var(--cw-hole) 4.5px 5.5px,transparent 6px) calc(50% + 16px) 13px/12px 12px no-repeat,radial-gradient(circle at 5px 0,transparent 4px,var(--cw-perf) 4px 5px,transparent 5px) 0 0/10px 6px repeat-x,rgb(var(--c-paper-soft));box-shadow:0 16px 30px -20px rgb(0 0 0 / .4);padding:34px 22px 16px}
[data-fs-theme='coachwork'] .fs-cwm-ctop{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:2px solid var(--cw-arm)}
[data-fs-theme='coachwork'] .fs-cwm-ctitle{font-weight:700;font-size:11.5px;line-height:1;letter-spacing:.26em;text-transform:uppercase;color:rgb(var(--c-brand-text))}
[data-fs-theme='coachwork'] .fs-cwm-cref{font-weight:600;font-size:11px;line-height:1;letter-spacing:.16em;text-transform:uppercase;color:rgb(var(--c-ink-400));white-space:nowrap}
[data-fs-theme='coachwork'] .fs-cwm-rows{list-style:none;padding:0;margin:0}
[data-fs-theme='coachwork'] .fs-cwm-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:baseline;column-gap:12px;padding-block:10px}
/* Each job's note shows only in the WIDEST tier (80rem, Full at 1440),
   where it runs under the whole row on one line; below that the card is
   name, time and price, which keeps the sheet about 610px tall. */
[data-fs-theme='coachwork'] .fs-cwm-row + .fs-cwm-row{border-top:1px solid var(--cw-rule)}
[data-fs-theme='coachwork'] .fs-cwm-rj{font-family:var(--font-display, 'Zilla Slab', Georgia, serif);font-weight:700;font-size:16px;line-height:1.3;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='coachwork'] .fs-cwm-rd{display:none;grid-column:1/-1;margin-top:2px;font-size:13px;line-height:1.5;color:rgb(var(--c-ink-400))}
[data-fs-theme='coachwork'] .fs-cwm-rt{padding:3px 7px;border:1px solid var(--cw-keyline);border-radius:4px;font-weight:600;font-size:10.5px;line-height:1;letter-spacing:.12em;text-transform:uppercase;color:rgb(var(--c-ink-400));white-space:nowrap}
[data-fs-theme='coachwork'] .fs-cwm-rp{min-width:4.6em;font-family:var(--font-display, 'Zilla Slab', Georgia, serif);font-weight:700;font-size:18px;line-height:1.2;color:rgb(var(--c-brand-text));text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
[data-fs-theme='coachwork'] .fs-cwm-cfoot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:4px;padding-top:14px;border-top:2px solid var(--cw-arm)}
/* The ruled link: ink, with an accent underline. */
[data-fs-theme='coachwork'] .fs-cwm-link{padding-bottom:3px;border-bottom:2px solid var(--cw-mark);font-weight:700;font-size:12.5px;line-height:1.2;letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='coachwork'] .fs-cwm-link:hover{color:rgb(var(--c-brand-text));border-color:rgb(var(--c-brand-600))}
/* The stamp: a rotated keyline, inked in brass. */
[data-fs-theme='coachwork'] .fs-cwm-stamp{margin-left:auto;padding:6px 11px;border:2px solid color-mix(in srgb, var(--cw-brass) 70%, transparent);border-radius:5px;color:var(--cw-brass);font-weight:700;font-size:11px;line-height:1;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;transform:rotate(-3deg)}
/* The readout: an accent bar down its left edge, a slab figure, and a
   two-cell fact strip. */
[data-fs-theme='coachwork'] .fs-cwm-read{display:flex;flex-direction:column;align-items:flex-start;padding:2px 0 4px 22px;border-left:3px solid var(--cw-mark)}
[data-fs-theme='coachwork'] .fs-cwm-rfig{margin:8px 0 0;font-family:var(--font-display, 'Zilla Slab', Georgia, serif);font-weight:700;font-size:28px;line-height:1.1;color:rgb(var(--c-ink-950))}
[data-fs-theme='coachwork'] .fs-cwm-rbody{margin:10px 0 0;max-width:34ch;font-size:14px;line-height:1.6;color:rgb(var(--c-ink-700))}
[data-fs-theme='coachwork'] .fs-cwm-facts{align-self:stretch;display:grid;margin:16px 0 0;border:1px solid var(--cw-keyline);border-radius:8px;background:rgb(var(--c-paper-soft))}
[data-fs-theme='coachwork'] .fs-cwm-fact{display:grid;gap:4px;padding:10px 14px}
[data-fs-theme='coachwork'] .fs-cwm-fact + .fs-cwm-fact{border-top:1px solid var(--cw-rule)}
[data-fs-theme='coachwork'] .fs-cwm-fdt{margin:0;font-weight:600;font-size:10.5px;line-height:1.2;letter-spacing:.18em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
[data-fs-theme='coachwork'] .fs-cwm-fdd{margin:0;font-family:var(--font-display, 'Zilla Slab', Georgia, serif);font-weight:700;font-size:16px;line-height:1.25;color:rgb(var(--c-brand-text))}
/* Foot: how a job runs, drawn as a chain dimension (the hero's own
   dimLabel, one segment per step), then the slab button and the phone
   as a ruled link. */
[data-fs-theme='coachwork'] .fs-cwm-foot{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;padding-top:20px;border-top:1px solid var(--cw-arm)}
[data-fs-theme='coachwork'] .fs-cwm-chain{display:flex;flex:1 1 360px;min-width:0;list-style:none;padding:0;margin:0}
[data-fs-theme='coachwork'] .fs-cwm-step{--end:linear-gradient(transparent,transparent);flex:1 1 0;min-width:0;padding:0 6px 14px;font-weight:600;font-size:11px;line-height:1.2;letter-spacing:.18em;text-transform:uppercase;text-align:center;white-space:nowrap;color:rgb(var(--c-ink-400));background:var(--end),linear-gradient(var(--cw-tick),var(--cw-tick)) 0 100%/1px 9px no-repeat,linear-gradient(var(--cw-arm),var(--cw-arm)) 0 calc(100% - 4px)/100% 1px no-repeat}
[data-fs-theme='coachwork'] .fs-cwm-step:last-child{--end:linear-gradient(var(--cw-tick),var(--cw-tick)) 100% 100%/1px 9px no-repeat}
[data-fs-theme='coachwork'] .fs-cwm-cta{display:inline-flex;align-items:center;justify-content:center;flex:none;padding:14px 22px;border-radius:7px;background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)));font-weight:700;font-size:13px;line-height:1;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;text-decoration:none;box-shadow:0 3px 0 rgb(var(--c-brand-700)),0 12px 22px -12px rgb(0 0 0 / .55);transition:transform .25s cubic-bezier(.2,.8,.3,1),background-color .25s ease}
[data-fs-theme='coachwork'] .fs-cwm-cta:hover{background:rgb(var(--c-brand-700));transform:translateY(-2px)}
[data-fs-theme='coachwork'] .fs-cwm-ruled{padding-bottom:2px;border-bottom:2px solid var(--cw-mark);font-family:var(--font-display, 'Zilla Slab', Georgia, serif);font-weight:700;font-size:19px;line-height:1.1;color:rgb(var(--c-ink-950));white-space:nowrap;font-variant-numeric:tabular-nums;text-decoration:none}
/* The sheet reflows on its own box (the root has no padding: content =
   panel - 2px of border: 1390 / 1230 / 1150 / 878 / 782 / 686; phone
   menu 700 and 322). */
@container (min-width: 80rem){
  [data-fs-theme='coachwork'] .fs-cwm-rd{display:block}
}
@container (max-width: 70rem){
  [data-fs-theme='coachwork'] .fs-cwm-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);grid-template-areas:"kinds card" "read read";row-gap:24px}
  [data-fs-theme='coachwork'] .fs-cwm-intro,[data-fs-theme='coachwork'] .fs-cwm-rbody{display:none}
  [data-fs-theme='coachwork'] .fs-cwm-read{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);grid-template-areas:"label facts" "fig facts";align-items:center;column-gap:var(--g)}
  [data-fs-theme='coachwork'] .fs-cwm-rlabel{grid-area:label;align-self:end}
  [data-fs-theme='coachwork'] .fs-cwm-rfig{grid-area:fig;align-self:start;margin-top:6px}
  [data-fs-theme='coachwork'] .fs-cwm-facts{grid-area:facts;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}
  [data-fs-theme='coachwork'] .fs-cwm-fact + .fs-cwm-fact{border-top:0;border-left:1px solid var(--cw-rule)}
}
@container (max-width: 52rem){
  [data-fs-theme='coachwork'] .fs-cwm-grid{grid-template-areas:"kinds card" "read card";row-gap:22px}
  [data-fs-theme='coachwork'] .fs-cwm-read{display:flex;align-items:flex-start}
  [data-fs-theme='coachwork'] .fs-cwm-rlabel,[data-fs-theme='coachwork'] .fs-cwm-rfig{align-self:auto}
  [data-fs-theme='coachwork'] .fs-cwm-rfig{margin-top:8px;font-size:24px}
  [data-fs-theme='coachwork'] .fs-cwm-facts{grid-template-columns:minmax(0,1fr);margin-top:16px}
  [data-fs-theme='coachwork'] .fs-cwm-fact + .fs-cwm-fact{border-left:0;border-top:1px solid var(--cw-rule)}
  [data-fs-theme='coachwork'] .fs-cwm-kdesc{display:none}
  [data-fs-theme='coachwork'] .fs-cwm-title{font-size:23px}
  [data-fs-theme='coachwork'] .fs-cwm-kind{padding-block:10px}
  [data-fs-theme='coachwork'] .fs-cwm-card{padding-inline:18px}
  [data-fs-theme='coachwork'] .fs-cwm-chain{flex-basis:300px}
  [data-fs-theme='coachwork'] .fs-cwm-foot .fs-cwm-ruled{display:none}
}
@container (max-width: 30rem){
  [data-fs-theme='coachwork'] .fs-cwm-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"kinds" "card" "read"}
  [data-fs-theme='coachwork'] .fs-cwm-card{padding-inline:14px}
  [data-fs-theme='coachwork'] .fs-cwm-row{column-gap:8px}
  [data-fs-theme='coachwork'] .fs-hdr-mobile .fs-cwm-read{display:none}
}
/* The same composite in the phone menu: the head, the foot and every
   sentence go; the kinds, the priced card and the readout's figure and
   facts stay (the readout goes on a phone, above). */
[data-fs-theme='coachwork'] .fs-hdr-mobile .fs-cwm-sheet{border:0;border-radius:0;box-shadow:none;background:none}
[data-fs-theme='coachwork'] .fs-hdr-mobile .fs-cwm-head,[data-fs-theme='coachwork'] .fs-hdr-mobile .fs-cwm-foot,[data-fs-theme='coachwork'] .fs-hdr-mobile .fs-cwm-kdesc,[data-fs-theme='coachwork'] .fs-hdr-mobile .fs-cwm-rd,[data-fs-theme='coachwork'] .fs-hdr-mobile .fs-cwm-rbody{display:none}
[data-fs-theme='coachwork'] .fs-hdr-mobile .fs-cwm-in{padding:0}
[data-fs-theme='coachwork'] .fs-hdr-mobile .fs-cwm-grid{padding-block:4px 0}
[data-fs-theme='coachwork'] .fs-hdr-mobile .fs-cwm-kname{font-size:17px}
@media (prefers-reduced-motion: reduce){
  [data-fs-theme='coachwork'] .fs-hdr-cta,[data-fs-theme='coachwork'] .fs-cwm-cta{transition:none}
  [data-fs-theme='coachwork'] .fs-hdr-cta.fs-hdr-cta:hover,[data-fs-theme='coachwork'] .fs-cwm-cta:hover{transform:none}
}


/* Tokens (mockup 45–67). --fo-hair: the family's rgb(var(--c-line) / .5),
   row hairlines and cell dividers; the icon masks are the family's line
   icons (a mask reads alpha only). No dark overrides are needed. */
[data-fs-theme='forecourt']{--fs-chrome-mode:light;--fo-hair:rgb(var(--c-line) / .5);--fo-pin-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='butt' stroke-linejoin='miter'%3E%3Cpath d='M12 21.6s7.2-6.4 7.2-11.6a7.2 7.2 0 1 0-14.4 0c0 5.2 7.2 11.6 7.2 11.6z'/%3E%3Ccircle cx='12' cy='9.8' r='2.6'/%3E%3C/svg%3E");--fo-clock-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='butt' stroke-linejoin='miter'%3E%3Ccircle cx='12' cy='12' r='9.2'/%3E%3Cpath d='M12 6.4V12l4 2.6'/%3E%3C/svg%3E");--fo-mot-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='butt' stroke-linejoin='miter'%3E%3Cpath d='M3.6 4.4h16.8v15.2H3.6z'/%3E%3Cpath d='M3.6 8.6h16.8'/%3E%3Cpath d='M7.8 2.6v3.6M16.2 2.6v3.6'/%3E%3Cpath d='M8.2 14.2 10.8 16.8 15.8 11.8'/%3E%3C/svg%3E")}
[data-fs-theme='forecourt'].dark{--fs-chrome-mode:dark}
/* The strip, cut into cells like the lot card's spec strip: full-height
   hairlines between the cells, the phone pushed right in the display
   face at full ink. The family sheet styles the line and the phone too
   and loads later on the published site, so those rules carry
   .fs-hdr-band (R-B4-6). The phone's glyph is the family's own. */
[data-fs-theme='forecourt'] .fs-hdr-util{container-type:inline-size;border-bottom:1px solid var(--fo-hair)}
[data-fs-theme='forecourt'] .fs-hdr-band .fs-hdr-util-in{display:flex;align-items:stretch;flex-wrap:nowrap;gap:0;min-height:38px;border-bottom:0;font-size:13px;line-height:1.2;color:rgb(var(--c-ink-700))}
[data-fs-theme='forecourt'] .fs-hdr-band .fs-hdr-util-item{align-items:center;gap:.5em;padding-inline:16px;border-left:1px solid var(--fo-hair)}
[data-fs-theme='forecourt'] .fs-hdr-band .fs-hdr-util-item:first-child{padding-left:0;border-left:0}
[data-fs-theme='forecourt'] .fs-hdr-util-address::before{content:"";flex:none;width:14px;height:14px;background:rgb(var(--c-ink-400));-webkit-mask:var(--fo-pin-icon) center/contain no-repeat;mask:var(--fo-pin-icon) center/contain no-repeat}
[data-fs-theme='forecourt'] .fs-hdr-util-hours::before{content:"";flex:none;width:14px;height:14px;background:rgb(var(--c-ink-400));-webkit-mask:var(--fo-clock-icon) center/contain no-repeat;mask:var(--fo-clock-icon) center/contain no-repeat}
[data-fs-theme='forecourt'] .fs-hdr-util-dot{width:7px;height:7px;border-radius:50%;background:rgb(var(--c-accent, var(--c-brand-600)))}
[data-fs-theme='forecourt'] .fs-hdr-band .fs-hdr-util-tel{margin-left:auto;padding-right:0;font-family:var(--font-display, Antonio, 'Arial Narrow', sans-serif);font-weight:600;font-size:15px;line-height:1;letter-spacing:.06em;color:rgb(var(--c-ink-950))}
[data-fs-theme='forecourt'] .fs-hdr-band .fs-hdr-util-tel:hover{color:rgb(var(--c-brand-text))}
@container (max-width: 40rem){
  [data-fs-theme='forecourt'] .fs-hdr-band .fs-hdr-util-in{display:flex;justify-content:center}
  [data-fs-theme='forecourt'] .fs-hdr-util-item:not(.fs-hdr-util-tel){display:none}
  [data-fs-theme='forecourt'] .fs-hdr-band .fs-hdr-util-tel{margin-left:0;padding-left:0;border-left:0}
}
/* The band: the card colour for both tiers, closed by ONE rule — its own
   border — on which the split bar sits and from which the panel hangs. */
[data-fs-theme='forecourt'] .fs-hdr-band{container-type:inline-size;container-name:fs-band;border-bottom:1px solid rgb(var(--c-line));background:rgb(var(--c-paper-soft))}
[data-fs-theme='forecourt'] .fs-hdr-row{min-height:clamp(62px, (100cqi - 760px) * 100, 74px);padding-block:0;align-items:stretch}
/* The lockup (R-B4-9): the V5C mark in a 40px box and the name in
   Antonio caps, brand as text, stacked RAVENSDALE / MOTOR COMPANY. */
[data-fs-theme='forecourt'] .fs-hdr-row > :first-child{gap:10px;margin-right:auto;padding-right:20px;color:rgb(var(--c-brand-text))}
[data-fs-theme='forecourt'] .fs-hdr-row [data-fs-logo-mark]{width:40px;height:40px}
[data-fs-theme='forecourt'] .fs-hdr-row [data-fs-wordmark]{max-width:7.4em;font-size:17px;line-height:1.05;letter-spacing:.08em;text-transform:uppercase;white-space:normal}
/* splitBar, seated on the header's rule (R-B4-5): the nav's two short
   inline rules and padding go, the items run the row's full height, the
   2px accent bar sits at bottom:-1px on the band's rule, and the current
   page and the open trigger keep theirs. The family's nav sweep and its
   clip are switched off on these items (the mockup has neither). */
[data-fs-theme='forecourt'] .fs-hdr-row > .fsmenu-splitBar-nav{flex:0 0 auto;align-self:stretch;align-items:stretch;gap:0;padding:0 !important;box-shadow:none !important}
[data-fs-theme='forecourt'] .fsmenu-splitBar-nav > .fs-hdr-group{display:flex;align-self:stretch}
[data-fs-theme='forecourt'] .fs-hdr-row .fsmenu-splitBar{display:flex;align-items:center;gap:8px;padding:0 14px !important;overflow:visible;font-size:15.5px;line-height:1;white-space:nowrap}
[data-fs-theme='forecourt'] .fs-hdr-row .fsmenu-splitBar::before{content:none}
[data-fs-theme='forecourt'] .fs-hdr-row .fsmenu-splitBar::after{left:14px;right:14px;bottom:-1px}
[data-fs-theme='forecourt'] .fsmenu-splitBar[aria-current]:not([aria-current='false']),[data-fs-theme='forecourt'] .fs-hdr-group[data-open] > .fsmenu-splitBar{color:rgb(var(--c-ink-950))}
[data-fs-theme='forecourt'] .fsmenu-splitBar[aria-current]:not([aria-current='false'])::after{transform:scaleX(1)}
[data-fs-theme='forecourt'] .fs-hdr-group[data-open] > .fsmenu-splitBar::after{transform:scaleX(1)}
/* The button: the family's control with the MOT-calendar icon in front
   (::after, ordered first — ::before is the family's sweep). */
[data-fs-theme='forecourt'] .fs-hdr-cta{--fs-hdr-cta-bg:rgb(var(--c-brand-600));--fs-hdr-cta-fg:var(--fs-on-brand, rgb(var(--c-paper)));--fs-hdr-cta-bg-hover:rgb(var(--c-brand-600));--fs-hdr-cta-fg-hover:var(--fs-on-brand, rgb(var(--c-paper)))}
[data-fs-theme='forecourt'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{flex:none;gap:.5em;min-height:44px;margin-left:18px;padding:0 20px;border-radius:.5rem;font-family:var(--font-display, Antonio, 'Arial Narrow', sans-serif);font-weight:600;font-size:16px;line-height:1;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
[data-fs-theme='forecourt'] .fs-hdr-cta::after{content:"";order:-1;flex:none;width:17px;height:17px;background:currentColor;-webkit-mask:var(--fo-mot-icon) center/contain no-repeat;mask:var(--fo-mot-icon) center/contain no-repeat}
/* The menu button: a 44px line box, three 2px ink bars with butt ends. */
[data-fs-theme='forecourt'] .fs-hdr-menu-btn{align-self:center;width:44px;height:44px;margin-left:12px;border:1px solid rgb(var(--c-line));border-radius:.5rem;background:linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) center calc(50% - 7px)/18px 2px no-repeat,linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) center/18px 2px no-repeat,linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) center calc(50% + 7px)/18px 2px no-repeat}
[data-fs-theme='forecourt'] .fs-hdr-menu-btn svg{display:none}
/* The mega shell hangs from the rule: 1px below the row (the rule's own
   pixel), no top edge, bottom corners .75rem, the panel's soft shadow. */
[data-fs-theme='forecourt'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite){margin-top:1px !important;background:transparent !important;border:0 !important;border-radius:0 0 .75rem .75rem !important;box-shadow:0 28px 46px -30px rgb(0 0 0 / .42) !important}
[data-fs-theme='forecourt'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite)::before{top:-1px;height:1px}
/* No narrowed-Layout tiers (mockup 266–275, forecourt-notes.md R-B4-1):
   the full-size header fits every Layout, Minimalist's 688px row included
   (644px used, 44px spare on the mockup's own numbers; live-measured on
   the real editor/published row, 65px spare). The ONLY place the
   full-size header is genuinely tight is /preview/view, whose own row
   carries extra chrome no real surface has (R16, below) — that is a
   preview-only problem with a preview-only fix, never a reason to shrink
   the real row. Phones: the lockup steps down. */
@container (max-width: 34rem){
  [data-fs-theme='forecourt'] .fs-hdr-row [data-fs-logo-mark]{width:34px;height:34px}
  [data-fs-theme='forecourt'] .fs-hdr-row [data-fs-wordmark]{font-size:14.5px}
}
/* R16 (precedent in coachwork/counsel/hale/plateful/mane-studio/enamel/
   vernier/groundwork/bright-start-chrome-styles.ts): the read-only
   preview alone renders a fixed-width "Edit Template" link plus a
   visitor dark/light toggle (TemplateViewClient.tsx), present on no real
   site. At the preview's own 390/320px widths that trailing group, next
   to the menu button, needs more room than the row has, so the menu
   button runs past the edge even though .fs-hdr-contact/.fs-hdr-cta are
   already hidden by the platform's own ≤34rem rule. [data-fs-preview-edit]
   is the stable, surface-only hook the Edit Template link alone carries;
   :has() reaches up from it so only a row that actually contains it is
   affected — published and editor markup never has the hook. */
@container (max-width: 34rem){
  [data-fs-theme='forecourt'] .fs-hdr-row:has([data-fs-preview-edit]) .fs-hdr-mode{display:none}
}
@container (max-width: 22rem){
  [data-fs-theme='forecourt'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{display:none}
}
/* /preview/view's own wordmark is NOT drawn at the theme's own 17px
   (WORDMARK_FALLBACK, theme-wordmark.tsx: 21px/800/-0.3, an inline style
   that beats any non-!important rule) — a pre-existing, documented gap
   between that route and the editor/published site, which both render
   this theme's actual 17px. At every other Layout the header has enough
   spare width (forecourt-notes.md, R-B4-1: no narrowed-Layout tier,
   644px used of 688px even at Minimalist) that the extra ~4px the
   inflated wordmark costs never shows up; at Minimalist's 688px row it
   is exactly what turns "fits" into an 8px spill. Restoring the real
   17px with !important (not a smaller, tier-specific number — the
   plan's header never shrinks for any Layout) fixes the preview to
   match every real surface; it needs no @container fs-band wrapper
   (and deliberately has none — that wrapper is what the static check's
   R-B4-1 assertion reads as a narrowed-Layout tier) because the real
   value is constant for every desktop width. min-width:34rem only
   keeps it off the phone tier above, which already sets its own
   (correct, smaller) phone-only wordmark size. */
@container (min-width: 34rem){
  [data-fs-theme='forecourt'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{font-size:17px !important}
}

/* The card colour; "Menu" is the family eyebrow whose hairline runs to
   the close button; the links are ruled rows in the split bar's caps,
   the current page's accent bar lying on its row's rule. */
[data-fs-theme='forecourt'] .fs-hdr-mobile{background:rgb(var(--c-paper-soft))}
[data-fs-theme='forecourt'] .fs-hdr-mobile-head{align-items:center;gap:14px;height:auto;padding:12px 16px 12px 20px;border-bottom:1px solid rgb(var(--c-line));background:rgb(var(--c-paper-soft))}
[data-fs-theme='forecourt'] .fs-hdr-mobile-title{display:flex;align-items:center;gap:.6em;flex:1;font-family:var(--font-display, Antonio, 'Arial Narrow', sans-serif);font-weight:600;font-size:12px;line-height:1.2;letter-spacing:.18em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
[data-fs-theme='forecourt'] .fs-hdr-mobile-title::after{content:"";flex:1 1 auto;min-width:1.5rem;height:1px;background:rgb(var(--c-line))}
[data-fs-theme='forecourt'] .fs-hdr-mobile-close{flex:none;width:44px;height:44px;border:1px solid rgb(var(--c-line));border-radius:.5rem;color:rgb(var(--c-ink-950))}
[data-fs-theme='forecourt'] .fs-hdr-mobile > nav{padding:2px 20px 0}
[data-fs-theme='forecourt'] .fs-hdr-mobile-row{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;border-bottom:1px solid var(--fo-hair)}
[data-fs-theme='forecourt'] .fs-hdr-mobile-link:not(.is-sub){flex:1;font-family:var(--font-display, Antonio, 'Arial Narrow', sans-serif);font-weight:600;font-size:22px;line-height:1;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--c-ink-700));text-decoration:none}
[data-fs-theme='forecourt'] .fs-hdr-mobile-row:has(> .fs-hdr-mobile-toggle) > .fs-hdr-mobile-link{color:rgb(var(--c-ink-950))}
[data-fs-theme='forecourt'] .fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false']){color:rgb(var(--c-ink-950))}
[data-fs-theme='forecourt'] .fs-hdr-mobile-row:has(> .fs-hdr-mobile-link[aria-current]:not([aria-current='false']))::after{content:"";position:absolute;left:0;bottom:-1px;width:2.4rem;height:2px;background:rgb(var(--c-accent, var(--c-brand-600)))}
[data-fs-theme='forecourt'] .fs-hdr-mobile-toggle{margin-right:6px;color:rgb(var(--c-ink-950))}
[data-fs-theme='forecourt'] .fs-hdr-mobile-sub{padding-bottom:10px;border-bottom:1px solid var(--fo-hair)}

/* A two-cell spec strip (the phone with the family's glyph; the clock,
   the accent dot and the hours), the pin and the address, then the
   button full width with its calendar icon. */
[data-fs-theme='forecourt'] .fs-pmf-forecourt{display:grid;gap:12px;margin-top:auto;padding:22px 0 24px}
[data-fs-theme='forecourt'] .fs-pmf-spec{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-block:1px solid rgb(var(--c-line))}
[data-fs-theme='forecourt'] .fs-pmf-spec > *{display:flex;align-items:center;gap:8px;min-width:0;margin:0;padding:11px 12px}
[data-fs-theme='forecourt'] .fs-pmf-spec > :first-child{padding-left:0}
[data-fs-theme='forecourt'] .fs-pmf-spec > * + *{border-left:1px solid var(--fo-hair)}
[data-fs-theme='forecourt'] .fs-pmf-big{font-family:var(--font-display, Antonio, 'Arial Narrow', sans-serif);font-weight:600;font-size:19px;line-height:1.1;letter-spacing:.05em}
[data-fs-theme='forecourt'] .fs-pmf-big::before{content:"";flex:none;width:16px;height:16px;background:rgb(var(--c-ink-400));-webkit-mask:var(--fs-fc-tel-icon) center/contain no-repeat;mask:var(--fs-fc-tel-icon) center/contain no-repeat}
[data-fs-theme='forecourt'] .fs-pmf-tel{color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='forecourt'] .fs-pmf-hours{font-size:13px;line-height:1.3;color:rgb(var(--c-ink-700))}
[data-fs-theme='forecourt'] .fs-pmf-hours::before{content:"";order:-2;flex:none;width:16px;height:16px;background:rgb(var(--c-ink-400));-webkit-mask:var(--fo-clock-icon) center/contain no-repeat;mask:var(--fo-clock-icon) center/contain no-repeat}
[data-fs-theme='forecourt'] .fs-pmf-hours::after{content:"";order:-1;flex:none;width:7px;height:7px;border-radius:50%;background:rgb(var(--c-accent, var(--c-brand-600)))}
[data-fs-theme='forecourt'] .fs-pmf-addr{display:flex;align-items:center;gap:8px;margin:0;font-size:13px;color:rgb(var(--c-ink-700))}
[data-fs-theme='forecourt'] .fs-pmf-addr::before{content:"";flex:none;width:15px;height:15px;background:rgb(var(--c-ink-400));-webkit-mask:var(--fo-pin-icon) center/contain no-repeat;mask:var(--fo-pin-icon) center/contain no-repeat}
[data-fs-theme='forecourt'] .fs-pmf .fs-hdr-cta.fs-pmf-cta{display:flex;align-items:center;justify-content:center;gap:.5em;width:100%;min-height:50px;margin:4px 0 0;padding:0 20px;border-radius:.5rem;font-family:var(--font-display, Antonio, 'Arial Narrow', sans-serif);font-weight:600;font-size:16px;letter-spacing:.05em;text-transform:uppercase}

/* ── The panel: forecourt.services (mockup 72–77, 123–173, renamed
   fs-fom-*). The root carries no padding of its own, so its container
   width IS the panel minus its 1px border; --fo-gut (2.2% of it,
   18-30px) is resolved on each box that uses it. */
[data-fs-theme='forecourt'] .fs-fom-panel{--fo-gut:clamp(18px,2.2cqi,30px);container-type:inline-size;background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));border-top:0;border-radius:0 0 .75rem .75rem}
[data-fs-theme='forecourt'] .fs-fom-eyebrow{display:flex;align-items:center;gap:.6em;width:100%;max-width:58ch;margin:0;font-family:var(--font-display, Antonio, 'Arial Narrow', sans-serif);font-weight:600;font-size:12px;line-height:1.2;letter-spacing:.18em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
[data-fs-theme='forecourt'] .fs-fom-eyebrow::after{content:"";flex:1 1 auto;min-width:1.5rem;height:1px;background:rgb(var(--c-line))}
[data-fs-theme='forecourt'] .fs-fom-ic{display:block;flex:none;width:1em;height:1em}
[data-fs-theme='forecourt'] .fs-fom-head{display:grid;gap:8px;padding:22px var(--fo-gut) 4px}
[data-fs-theme='forecourt'] .fs-fom-title{margin:0;font-family:var(--font-display, Antonio, 'Arial Narrow', sans-serif);font-weight:700;font-size:25px;line-height:1.15;letter-spacing:.004em;color:rgb(var(--c-ink-950));text-wrap:balance}
[data-fs-theme='forecourt'] .fs-fom-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,22rem);gap:0 var(--fo-gut);padding:6px var(--fo-gut) 22px;align-items:start}
[data-fs-theme='forecourt'] .fs-fom-ways{list-style:none;padding:0;margin:0}
/* The four ways to buy: RULED ROWS, not cards — glyph, name and note,
   then two spec cells, the same anatomy as a check row. */
[data-fs-theme='forecourt'] .fs-fom-way{display:grid;grid-template-columns:22px minmax(0,1fr) minmax(0,16rem);grid-template-areas:"ic name spec" ". note spec";gap:4px 14px;align-items:start;padding-block:15px;border-bottom:1px solid var(--fo-hair)}
[data-fs-theme='forecourt'] .fs-fom-way:last-child{border-bottom:0}
[data-fs-theme='forecourt'] .fs-fom-way > .fs-fom-ic{grid-area:ic;width:21px;height:21px;margin-top:1px;color:rgb(var(--c-brand-600))}
[data-fs-theme='forecourt'] .fs-fom-way-name{grid-area:name;justify-self:start;min-width:0;font-family:var(--font-display, Antonio, 'Arial Narrow', sans-serif);font-weight:700;font-size:19px;line-height:1.2;letter-spacing:.01em;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='forecourt'] .fs-fom-way-name:hover{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
[data-fs-theme='forecourt'] .fs-fom-way-note{grid-area:note;margin:0;max-width:46ch;font-size:13.5px;line-height:1.5;color:rgb(var(--c-ink-700))}
/* The spec cells: the lot card's dt/dd pair, hairline-divided. */
[data-fs-theme='forecourt'] .fs-fom-spec{grid-area:spec;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}
[data-fs-theme='forecourt'] .fs-fom-cell{min-width:0;padding:1px 12px 2px;border-left:1px solid var(--fo-hair)}
[data-fs-theme='forecourt'] .fs-fom-dt{margin:0;font-size:10.5px;line-height:1.3;letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
[data-fs-theme='forecourt'] .fs-fom-dd{margin-top:3px;font-family:var(--font-display, Antonio, 'Arial Narrow', sans-serif);font-weight:600;font-size:19px;line-height:1.1;letter-spacing:.02em;color:rgb(var(--c-ink-950));white-space:nowrap}
/* The six questions (the WIDE tier only). */
[data-fs-theme='forecourt'] .fs-fom-asks{display:none;min-width:0;padding-top:15px}
[data-fs-theme='forecourt'] .fs-fom-asks-list{list-style:none;padding:0;margin-top:8px}
[data-fs-theme='forecourt'] .fs-fom-ask{border-bottom:1px solid var(--fo-hair)}
[data-fs-theme='forecourt'] .fs-fom-ask:last-child{border-bottom:0}
[data-fs-theme='forecourt'] .fs-fom-ask-a{display:block;padding-block:9px;font-size:13.5px;line-height:1.4;color:rgb(var(--c-ink-700));text-decoration:none}
[data-fs-theme='forecourt'] .fs-fom-ask-a:hover{color:rgb(var(--c-ink-950));text-decoration:underline;text-underline-offset:3px}
/* The build-up card, verbatim in anatomy from favLotPrep's aside. */
[data-fs-theme='forecourt'] .fs-fom-otr{min-width:0;margin-top:14px;padding:18px 18px 16px;background:rgb(var(--c-paper));border:1px solid rgb(var(--c-line));border-radius:.75rem}
[data-fs-theme='forecourt'] .fs-fom-otr-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
[data-fs-theme='forecourt'] .fs-fom-otr-t{margin:0;font-family:var(--font-display, Antonio, 'Arial Narrow', sans-serif);font-weight:700;font-size:18px;line-height:1.2;color:rgb(var(--c-ink-950))}
[data-fs-theme='forecourt'] .fs-fom-plate{display:inline-grid;grid-template-columns:9px auto;align-items:stretch;overflow:hidden;border:2px solid rgb(var(--c-ink-950));border-radius:5px;background:rgb(var(--c-paper-soft));font-family:var(--font-display, Antonio, 'Arial Narrow', sans-serif);font-weight:700;font-size:14px;line-height:1;letter-spacing:.09em;color:rgb(var(--c-ink-950));white-space:nowrap}
[data-fs-theme='forecourt'] .fs-fom-plate-band{background:rgb(var(--c-brand-600))}
[data-fs-theme='forecourt'] .fs-fom-plate-reg{padding:4px 7px 4px 6px}
[data-fs-theme='forecourt'] .fs-fom-otr-meta{margin:6px 0 0;font-size:13px;color:rgb(var(--c-ink-400))}
[data-fs-theme='forecourt'] .fs-fom-otr-rows{margin:10px 0 0}
[data-fs-theme='forecourt'] .fs-fom-otr-row{display:flex;justify-content:space-between;gap:14px;padding-block:7px;border-bottom:1px solid var(--fo-hair);font-size:13.5px;line-height:1.35}
[data-fs-theme='forecourt'] .fs-fom-otr-row:last-child{border-bottom:0}
[data-fs-theme='forecourt'] .fs-fom-otr-dt{margin:0;color:rgb(var(--c-ink-700))}
[data-fs-theme='forecourt'] .fs-fom-otr-dd{margin:0;font-weight:600;text-align:right;color:rgb(var(--c-ink-950))}
[data-fs-theme='forecourt'] .fs-fom-otr-row[data-zero] .fs-fom-otr-dd{color:rgb(var(--c-brand-text))}
[data-fs-theme='forecourt'] .fs-fom-otr-total{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin:4px 0 0;padding-top:9px;border-top:2px solid rgb(var(--c-ink-950))}
[data-fs-theme='forecourt'] .fs-fom-otr-tl{font-size:14px;font-weight:600;color:rgb(var(--c-ink-950))}
[data-fs-theme='forecourt'] .fs-fom-otr-tv{font-family:var(--font-display, Antonio, 'Arial Narrow', sans-serif);font-weight:700;font-size:27px;line-height:1;color:rgb(var(--c-ink-950))}
[data-fs-theme='forecourt'] .fs-fom-otr-none{margin:12px 0 0;padding-left:10px;border-left:2px solid rgb(var(--c-accent, var(--c-brand-600)));font-size:13px;line-height:1.45;color:rgb(var(--c-ink-700))}
[data-fs-theme='forecourt'] .fs-fom-otr-nt{color:rgb(var(--c-ink-950))}
/* The foot: the FCA statement beside the APR it qualifies, in the
   statutory treatment, and the page link. */
[data-fs-theme='forecourt'] .fs-fom-foot{display:flex;align-items:center;flex-wrap:wrap;gap:12px 28px;padding:14px var(--fo-gut) 16px;border-top:1px solid rgb(var(--c-line));background:rgb(var(--c-paper));border-radius:0 0 .75rem .75rem}
[data-fs-theme='forecourt'] .fs-fom-stat{flex:1 1 30rem;max-width:92ch;margin:0;padding:1px 0 1px 12px;border-left:2px solid rgb(var(--c-brand-600));font-size:13.5px;line-height:1.55;color:rgb(var(--c-ink-700))}
[data-fs-theme='forecourt'] .fs-fom-stat-lead{font-weight:600;color:rgb(var(--c-ink-950))}
[data-fs-theme='forecourt'] .fs-fom-stat-a{color:rgb(var(--c-brand-text));text-decoration:underline;text-underline-offset:2px}
[data-fs-theme='forecourt'] .fs-fom-page{flex:none;margin-left:auto;font-family:var(--font-display, Antonio, 'Arial Narrow', sans-serif);font-weight:600;font-size:15px;line-height:1.2;letter-spacing:.05em;text-transform:uppercase;color:rgb(var(--c-brand-text));white-space:nowrap;text-decoration:none}
[data-fs-theme='forecourt'] .fs-fom-page:hover{text-decoration:underline;text-underline-offset:3px}
/* The panel matches the bar (content = panel - 2px of side border: 1390
   / 1230 / 1214 / 878 / 782 / 686; phone menu 728 and 350). */
@container (min-width: 80rem){
  [data-fs-theme='forecourt'] .fs-fom-grid{grid-template-columns:minmax(0,1fr) minmax(0,16.5rem) minmax(0,22rem)}
  [data-fs-theme='forecourt'] .fs-fom-asks{display:block}
}
@container (max-width: 60rem){
  [data-fs-theme='forecourt'] .fs-fom-grid{grid-template-columns:minmax(0,1fr) minmax(0,17rem)}
  [data-fs-theme='forecourt'] .fs-fom-way{grid-template-columns:22px minmax(0,1fr) auto;grid-template-areas:"ic name spec" ". note note";row-gap:7px}
  [data-fs-theme='forecourt'] .fs-fom-way-name{align-self:end}
  [data-fs-theme='forecourt'] .fs-fom-way > .fs-fom-ic{align-self:end;margin:0 0 2px}
  [data-fs-theme='forecourt'] .fs-fom-spec{grid-template-columns:repeat(2,6.1rem)}
  [data-fs-theme='forecourt'] .fs-fom-cell{padding-inline:11px 0}
  [data-fs-theme='forecourt'] .fs-fom-title{font-size:23px}
}
@container (max-width: 46rem){
  [data-fs-theme='forecourt'] .fs-fom-grid{grid-template-columns:minmax(0,1fr) minmax(0,15rem)}
  [data-fs-theme='forecourt'] .fs-fom-otr{padding:15px 14px 14px}
  [data-fs-theme='forecourt'] .fs-fom-otr-row{font-size:13px}
}
@container (max-width: 30rem){
  [data-fs-theme='forecourt'] .fs-fom-grid{grid-template-columns:minmax(0,1fr)}
  [data-fs-theme='forecourt'] .fs-fom-way{grid-template-columns:22px minmax(0,1fr);grid-template-areas:"ic name" ". spec" ". note";padding-block:12px}
  [data-fs-theme='forecourt'] .fs-fom-spec{grid-template-columns:repeat(2,minmax(0,1fr))}
  [data-fs-theme='forecourt'] .fs-fom-cell:first-child{padding-left:0;border-left:0}
  [data-fs-theme='forecourt'] .fs-fom-dd{font-size:18px}
}
/* The same composite in the phone menu: no panel edge, no title, no
   build-up card, no questions, no notes. */
[data-fs-theme='forecourt'] .fs-hdr-mobile .fs-fom-panel{border:0;border-radius:0;box-shadow:none;background:transparent}
[data-fs-theme='forecourt'] .fs-hdr-mobile .fs-fom-head,[data-fs-theme='forecourt'] .fs-hdr-mobile .fs-fom-otr,[data-fs-theme='forecourt'] .fs-hdr-mobile .fs-fom-asks,[data-fs-theme='forecourt'] .fs-hdr-mobile .fs-fom-way-note{display:none}
[data-fs-theme='forecourt'] .fs-hdr-mobile .fs-fom-grid{grid-template-columns:minmax(0,1fr);padding:0}
[data-fs-theme='forecourt'] .fs-hdr-mobile .fs-fom-foot{padding:12px 0 4px;border-top:1px solid var(--fo-hair);background:transparent}
[data-fs-theme='forecourt'] .fs-hdr-mobile .fs-fom-page{margin-left:0}
@media (prefers-reduced-motion: reduce){
  [data-fs-theme='forecourt'] .fsmenu-splitBar,[data-fs-theme='forecourt'] .fsmenu-splitBar::after{transition:none}
}


/* Tokens (mockup 32–49). --kw-hair: row separators (the family keylines
   what you operate with the solved --c-line); --kw-ring: the urgent
   door's inner ring; --kw-glow / --kw-glow-a: the family's hover grammar
   in the brand / the accent; --kw-lit: the lit dot's halo. */
[data-fs-theme='keyway']{--fs-chrome-mode:light;--kw-hair:rgb(var(--c-ink-950) / .13);--kw-ring:rgb(var(--c-accent, var(--c-brand-600)) / .35);--kw-glow:0 0 0 2px rgb(var(--c-brand-600) / .3),0 0 20px -3px rgb(var(--c-brand-600) / .6);--kw-glow-a:0 0 0 2px rgb(var(--c-accent, var(--c-brand-600)) / .34),0 0 22px -3px rgb(var(--c-accent, var(--c-brand-600)) / .6);--kw-lit:rgb(var(--c-brand-600) / .22)}
[data-fs-theme='keyway'].dark{--fs-chrome-mode:dark;--kw-hair:rgb(var(--c-ink-950) / .16)}
/* The strip: the sunk ground; the address you can stand outside, the
   answering hours behind a lit dot, the three-band total in the display
   face, and the phone boxed as the urgent door in miniature. */
[data-fs-theme='keyway'] .fs-hdr-util{container-type:inline-size;background:rgb(var(--c-paper-sunk));border-bottom:1px solid var(--kw-hair)}
[data-fs-theme='keyway'] .fs-hdr-util-in{container-type:inline-size;container-name:fs-strip-in;display:flex;align-items:stretch;gap:22px;min-height:2.375rem;padding-block:5px;border-bottom:0;font-weight:500;font-size:12.5px;line-height:1.2;color:rgb(var(--c-ink-700));white-space:nowrap}
/* align-items:stretch above (not the mockup's visual "center"), with
   every item re-centring its OWN content here: the boxed phone pill is
   taller than the plain hours/note text once its border and padding are
   drawn, so a plain centred row leaves it sitting a few px proud of the
   others — enough for the probe's per-item top-edge measurement to read
   as two lines even though nothing wraps. Stretching the items and
   centring each one's own content keeps every item's outer box the same
   height, so they measure as one line regardless of content height. */
[data-fs-theme='keyway'] .fs-hdr-util-item{display:inline-flex;align-items:center}
[data-fs-theme='keyway'] .fs-hdr-util-address{margin-right:auto}
[data-fs-theme='keyway'] .fs-hdr-util-in:not(:has(.fs-hdr-util-address)) .fs-hdr-util-hours{margin-right:auto}
[data-fs-theme='keyway'] .fs-hdr-util-hours{gap:9px}
[data-fs-theme='keyway'] .fs-hdr-util-dot{width:7px;height:7px;border-radius:50%;background:rgb(var(--c-brand-600));box-shadow:0 0 0 3px var(--kw-lit)}
[data-fs-theme='keyway'] .fs-hdr-util-note{font-family:var(--font-display, 'Martian Mono', ui-monospace, monospace);font-size:11.5px;letter-spacing:.01em;color:rgb(var(--c-ink-950));font-variant-numeric:tabular-nums}
[data-fs-theme='keyway'] .fs-hdr-util-tel{margin-left:0;padding:5px 10px 4px;border:1px solid rgb(var(--c-accent, var(--c-brand-600)));border-radius:6px;background:rgb(var(--c-paper-soft));box-shadow:inset 0 0 0 1px var(--kw-ring);font-family:var(--font-display, 'Martian Mono', ui-monospace, monospace);font-weight:700;font-size:13px;line-height:1.1;letter-spacing:-.01em;color:rgb(var(--c-ink-950));transition:box-shadow .22s cubic-bezier(.2,.7,.3,1)}
[data-fs-theme='keyway'] .fs-hdr-util-tel:hover{box-shadow:inset 0 0 0 1px var(--kw-ring),var(--kw-glow-a)}
@container fs-strip-in (max-width: 60rem){
  [data-fs-theme='keyway'] .fs-hdr-util-address{display:none}
  [data-fs-theme='keyway'] .fs-hdr-util-hours{margin-right:auto}
}
@container fs-strip-in (max-width: 46rem){
  [data-fs-theme='keyway'] .fs-hdr-util-note{display:none}
}
@container (max-width: 40rem){
  [data-fs-theme='keyway'] .fs-hdr-util-in{display:flex}
}
/* Both rules now query fs-strip-in (the strip's LINE, R-B3-1) rather than
   leaving .fs-hdr-util-in's centring on an unnamed query that resolved
   against the full strip instead — see studio-calm-chrome-styles.ts's own
   fix of this same mismatch for the full rationale. */
@container fs-strip-in (max-width: 40rem){
  [data-fs-theme='keyway'] .fs-hdr-util-item:not(.fs-hdr-util-tel){display:none}
  [data-fs-theme='keyway'] .fs-hdr-util-tel{margin-inline:auto;font-size:14px}
}
/* The band ends in ONE rule, painted in its last pixel (never a border,
   never a positioned child): a tab whose fill reaches the row's foot
   covers it. The row's bottom padding goes so the tabs stand on it. */
[data-fs-theme='keyway'] .fs-hdr-band{container-type:inline-size;container-name:fs-band;border-bottom-width:0;background:linear-gradient(rgb(var(--c-line)),rgb(var(--c-line))) 0 100%/100% 1px no-repeat,rgb(var(--c-paper-soft))}
[data-fs-theme='keyway'] .fs-hdr-row{min-height:clamp(60px, (100cqi - 760px) * 100, 64px);padding-bottom:0}
/* The lockup: the keyway mark in a 36px box and the name in Martian
   Mono caps on one line (the mockup draws KEYWAY as stroked letters). */
[data-fs-theme='keyway'] .fs-hdr-row > :first-child{gap:10px;margin-right:auto;padding-right:20px;color:rgb(var(--c-ink-950))}
[data-fs-theme='keyway'] .fs-hdr-row [data-fs-logo-mark]{width:36px;height:36px}
[data-fs-theme='keyway'] .fs-hdr-row [data-fs-wordmark]{font-size:14px;line-height:1;letter-spacing:-.01em;text-transform:uppercase;white-space:nowrap}
/* The button: the family's control in the brand (its hover glow and
   press are the family sheet's own); the family sheet also styles
   .fs-hdr-cta at (0,3,0) and loads later, hence (0,4,0) (R-B4-6). */
[data-fs-theme='keyway'] .fs-hdr-cta{--fs-hdr-cta-bg:rgb(var(--c-brand-600));--fs-hdr-cta-fg:var(--fs-on-brand, rgb(var(--c-paper)));--fs-hdr-cta-bg-hover:rgb(var(--c-brand-600));--fs-hdr-cta-fg-hover:var(--fs-on-brand, rgb(var(--c-paper)))}
[data-fs-theme='keyway'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{flex:none;margin-left:18px;padding:0 17px;border:1.5px solid rgb(var(--c-brand-600));border-radius:8px;font-family:var(--font-display, 'Martian Mono', ui-monospace, monospace);font-weight:700;font-size:13px;line-height:1;letter-spacing:.02em;text-transform:none;white-space:nowrap}
/* The menu button: a 44px keyline square, three 18x2 bars, the glow. */
[data-fs-theme='keyway'] .fs-hdr-menu-btn{width:44px;height:44px;margin-left:12px;border:1px solid rgb(var(--c-line));border-radius:8px;background:linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) center calc(50% - 6px)/18px 2px no-repeat,linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) center/18px 2px no-repeat,linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) center calc(50% + 6px)/18px 2px no-repeat;transition:box-shadow .22s cubic-bezier(.2,.7,.3,1)}
[data-fs-theme='keyway'] .fs-hdr-menu-btn:hover{box-shadow:var(--kw-glow)}
[data-fs-theme='keyway'] .fs-hdr-menu-btn svg{display:none}
/* The panel hangs straight from the rule: no gap, no top edge. */
[data-fs-theme='keyway'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite){margin-top:0px !important;background:transparent !important;border:0 !important;border-radius:0 0 10px 10px !important;box-shadow:0 26px 48px -22px rgb(0 0 0 / .38) !important}
[data-fs-theme='keyway'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite)::before{top:0;height:0px}
/* Desktop (mockup 243–262): everything stands on the rule — the logo and
   the button 4px and 3px above it, the button at its drawn 38px (R-B4-14);
   then the Centered and Minimalist tiers. Below 62rem the row centres. */
@container fs-band (min-width: 62rem){
  [data-fs-theme='keyway'] .fs-hdr-row > :first-child{align-self:flex-end;margin-bottom:4px}
  [data-fs-theme='keyway'] .fs-hdr-row .fs-hdr-contact{align-self:flex-end;margin-bottom:3px}
  [data-fs-theme='keyway'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{min-height:38px}
  /* Centered (784). */
  @container (max-width: 50rem){
    [data-fs-theme='keyway'] .fs-hdr-row > :first-child{padding-right:14px}
    [data-fs-theme='keyway'] .fs-hdr-row [data-fs-logo-mark]{width:31px;height:31px}
    [data-fs-theme='keyway'] .fs-hdr-row [data-fs-wordmark]{font-size:12.5px}
    [data-fs-theme='keyway'] .fsmenu-keyTabs{--kw-tab:11px;--kw-trk:-.03em}
    [data-fs-theme='keyway'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:12px;padding-inline:13px;letter-spacing:0}
  }
  /* Minimalist (688): one row, the tabs still on the rule. */
  @container (max-width: 44rem){
    [data-fs-theme='keyway'] .fs-hdr-row > :first-child{padding-right:10px}
    [data-fs-theme='keyway'] .fs-hdr-row [data-fs-logo-mark]{width:28px;height:28px}
    [data-fs-theme='keyway'] .fs-hdr-row [data-fs-wordmark]{font-size:11.5px}
    [data-fs-theme='keyway'] .fsmenu-keyTabs{--kw-tab:9px;--kw-tab-fs:12.5px;--kw-trk:-.04em;gap:6px}
    [data-fs-theme='keyway'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:9px;padding-inline:11px;font-size:12.5px;letter-spacing:-.02em}
  }
}
@container (max-width: 34rem){
  [data-fs-theme='keyway'] .fs-hdr-row [data-fs-logo-mark]{width:31px;height:31px}
  [data-fs-theme='keyway'] .fs-hdr-row [data-fs-wordmark]{font-size:12.5px}
}
/* R16 (precedent in coachwork/forecourt-chrome-styles.ts): the read-only
   preview alone renders a fixed-width "Edit Template" link plus a
   visitor dark/light toggle (TemplateViewClient.tsx), present on no real
   site. At the preview's own 390/320px widths that trailing group, next
   to the menu button, needs more room than the row has, so the menu
   button runs past the edge even though .fs-hdr-contact/.fs-hdr-cta are
   already hidden by the platform's own ≤34rem rule. [data-fs-preview-edit]
   is the stable, surface-only hook the Edit Template link alone carries;
   :has() reaches up from it so only a row that actually contains it is
   affected — published and editor markup never has the hook. */
@container (max-width: 34rem){
  [data-fs-theme='keyway'] .fs-hdr-row:has([data-fs-preview-edit]) .fs-hdr-mode{display:none}
}
@container (max-width: 22rem){
  [data-fs-theme='keyway'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{display:none}
}
/* The same rule, with "Menu" as the one tab standing on it; the pages as
   the numbered track's step tiles (nav tint, keyline, a leading-zero
   counter reset on the list), the current page's tile filled. */
[data-fs-theme='keyway'] .fs-hdr-mobile{background:rgb(var(--c-paper))}
[data-fs-theme='keyway'] .fs-hdr-mobile-head{align-items:flex-end;height:auto;min-height:64px;padding:0 14px 0 16px;border-bottom:0;background:linear-gradient(rgb(var(--c-line)),rgb(var(--c-line))) 0 100%/100% 1px no-repeat,rgb(var(--c-paper-soft))}
[data-fs-theme='keyway'] .fs-hdr-mobile-title{display:inline-flex;align-items:center;height:42px;padding:0 18px;border:1px solid rgb(var(--c-line));border-bottom:0;border-radius:8px 8px 0 0;background:rgb(var(--c-paper));font-family:var(--font-display, 'Martian Mono', ui-monospace, monospace);font-weight:700;font-size:12px;line-height:1;letter-spacing:.16em;text-transform:uppercase;color:rgb(var(--c-ink-950))}
[data-fs-theme='keyway'] .fs-hdr-mobile-close{align-self:center;width:44px;height:44px;border:1px solid rgb(var(--c-line));border-radius:8px;color:rgb(var(--c-ink-950))}
[data-fs-theme='keyway'] .fs-hdr-mobile > nav{padding:6px 16px 0}
[data-fs-theme='keyway'] .fs-hdr-mobile-list{counter-reset:kwm}
[data-fs-theme='keyway'] .fs-hdr-mobile-list > li{border-bottom:1px solid var(--kw-hair)}
[data-fs-theme='keyway'] .fs-hdr-mobile-list > li:last-child{border-bottom:0}
[data-fs-theme='keyway'] .fs-hdr-mobile-row{display:flex;align-items:center;min-height:58px}
[data-fs-theme='keyway'] .fs-hdr-mobile-link:not(.is-sub){display:flex;align-items:center;gap:14px;flex:1;padding-block:9px;font-family:var(--font-display, 'Martian Mono', ui-monospace, monospace);font-weight:500;font-size:16px;line-height:1.2;letter-spacing:-.03em;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='keyway'] .fs-hdr-mobile-link:not(.is-sub)::before{counter-increment:kwm;content:counter(kwm,decimal-leading-zero);display:grid;place-items:center;flex:none;width:38px;height:38px;border:1px solid rgb(var(--c-line));border-radius:8px;background:rgb(var(--fs-nav-active-tint));font-weight:700;font-size:12.5px;line-height:1;letter-spacing:0;color:rgb(var(--fs-nav-active-on))}
[data-fs-theme='keyway'] .fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false']){font-weight:700}
[data-fs-theme='keyway'] .fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false'])::before{background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)))}
[data-fs-theme='keyway'] .fs-hdr-mobile-toggle{margin-right:8px;color:rgb(var(--c-ink-950))}
[data-fs-theme='keyway'] .fs-hdr-mobile-sub{padding:2px 0 14px}
/* The urgent door in miniature, then the planned door: the header
   button as the family's ghost control. */
[data-fs-theme='keyway'] .fs-pmf-keyway{display:grid;gap:12px;margin:18px 0 24px}
[data-fs-theme='keyway'] .fs-pmf-door{display:grid;gap:6px;padding:14px 16px 13px;border:1px solid rgb(var(--c-accent, var(--c-brand-600)));border-radius:10px;background:rgb(var(--c-paper-soft));box-shadow:inset 0 0 0 1px var(--kw-ring)}
[data-fs-theme='keyway'] .fs-pmf-big{justify-self:start;margin:0;font-family:var(--font-display, 'Martian Mono', ui-monospace, monospace);font-weight:700;font-size:25px;line-height:1.15;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
[data-fs-theme='keyway'] .fs-pmf-tel{color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='keyway'] .fs-pmf-hours{display:flex;align-items:center;gap:9px;margin:0;font-size:13.5px;line-height:1.4;color:rgb(var(--c-ink-700))}
[data-fs-theme='keyway'] .fs-pmf-hours::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:rgb(var(--c-brand-600));box-shadow:0 0 0 3px var(--kw-lit)}
[data-fs-theme='keyway'] .fs-pmf .fs-hdr-cta.fs-pmf-cta{--fs-hdr-cta-bg:rgb(var(--c-paper-soft));--fs-hdr-cta-fg:rgb(var(--c-ink-950));--fs-hdr-cta-bg-hover:rgb(var(--c-paper-soft));--fs-hdr-cta-fg-hover:rgb(var(--c-ink-950));display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;margin:0;border:1.5px solid rgb(var(--c-line));border-radius:8px;font-family:var(--font-display, 'Martian Mono', ui-monospace, monospace);font-weight:700;font-size:13px;letter-spacing:.02em;text-transform:none}
/* The panel (mockup 49, 99–156): the open tab's own page — page ground,
   keylined left/right/bottom, no top edge (its shadow is on the shell,
   drawn above on the columns wrapper). Row rules for the schedule and
   the services, never cards — the urgent door is the one card, and the
   one field carrying the accent. */
[data-fs-theme='keyway'] .fs-kwm-ico{display:block;flex:none;width:18px;height:18px}
[data-fs-theme='keyway'] .fs-kwm-panel{--kw-gut:clamp(18px,2.2cqi,32px);container-type:inline-size;background:rgb(var(--c-paper));border:1px solid rgb(var(--c-line));border-top:0;border-radius:0 0 10px 10px}
[data-fs-theme='keyway'] .fs-kwm-eyebrow{margin:0;font-family:var(--font-display, 'Martian Mono', ui-monospace, monospace);font-weight:700;font-size:11px;line-height:1.2;letter-spacing:.12em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
[data-fs-theme='keyway'] .fs-kwm-head{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px 40px;padding:calc(var(--kw-gut) * .85) var(--kw-gut) 15px;border-bottom:1px solid var(--kw-hair)}
[data-fs-theme='keyway'] .fs-kwm-title{margin:8px 0 0;font-family:var(--font-display, 'Martian Mono', ui-monospace, monospace);font-weight:700;font-size:21px;line-height:1.15;letter-spacing:-.03em;color:rgb(var(--c-ink-950))}
[data-fs-theme='keyway'] .fs-kwm-terms{margin:0 0 0 auto;max-width:46ch;font-size:13.5px;line-height:1.5;color:rgb(var(--c-ink-700))}
[data-fs-theme='keyway'] .fs-kwm-body{display:grid;grid-template-columns:minmax(0,1fr) clamp(17rem,27cqi,23.5rem);grid-template-areas:"bands door" "svc door";grid-template-rows:auto 1fr;gap:16px var(--kw-gut);padding:18px var(--kw-gut) var(--kw-gut)}
[data-fs-theme='keyway'] .fs-kwm-bands{grid-area:bands;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
[data-fs-theme='keyway'] .fs-kwm-band{display:flex;flex-direction:column;gap:6px;min-width:0;padding:14px 16px 13px;border:1px solid rgb(var(--c-line));border-radius:10px;background:rgb(var(--c-paper-soft))}
[data-fs-theme='keyway'] .fs-kwm-band.is-night{border-color:rgb(var(--c-brand-600));box-shadow:inset 0 0 0 1px rgb(var(--c-brand-600) / .3)}
[data-fs-theme='keyway'] .fs-kwm-band-t{margin:0;display:flex;align-items:center;gap:7px;font-family:var(--font-display, 'Martian Mono', ui-monospace, monospace);font-weight:700;font-size:13px;line-height:1.2;letter-spacing:-.01em;color:rgb(var(--c-ink-950))}
[data-fs-theme='keyway'] .fs-kwm-band-t .fs-kwm-ico{width:16px;height:16px;color:rgb(var(--c-brand-text))}
[data-fs-theme='keyway'] .fs-kwm-band-hrs{margin:0;font-family:var(--font-display, 'Martian Mono', ui-monospace, monospace);font-weight:500;font-size:10.5px;line-height:1.35;letter-spacing:.05em;text-transform:uppercase;color:rgb(var(--c-ink-400));font-variant-numeric:tabular-nums}
[data-fs-theme='keyway'] .fs-kwm-band-v{margin:4px 0 0;font-family:var(--font-display, 'Martian Mono', ui-monospace, monospace);font-weight:700;font-size:30px;line-height:1;letter-spacing:-.04em;color:rgb(var(--c-ink-950));font-variant-numeric:tabular-nums}
[data-fs-theme='keyway'] .fs-kwm-svc{grid-area:svc;list-style:none;padding:0;margin:0;display:grid;align-content:start;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--kw-gut)}
[data-fs-theme='keyway'] .fs-kwm-svc-li{min-width:0;border-top:1px solid var(--kw-hair)}
[data-fs-theme='keyway'] .fs-kwm-svc-i{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:start;gap:3px 12px;padding:11px 0 10px;text-decoration:none}
[data-fs-theme='keyway'] .fs-kwm-svc-i .fs-kwm-ico{width:22px;height:22px;color:rgb(var(--c-brand-text))}
[data-fs-theme='keyway'] .fs-kwm-svc-b{min-width:0}
[data-fs-theme='keyway'] .fs-kwm-svc-n{display:block;font-family:var(--font-display, 'Martian Mono', ui-monospace, monospace);font-weight:700;font-size:13.5px;line-height:1.3;letter-spacing:-.02em;color:rgb(var(--c-ink-950));transition:text-shadow .22s cubic-bezier(.2,.7,.3,1)}
[data-fs-theme='keyway'] .fs-kwm-svc-i:hover .fs-kwm-svc-n{text-shadow:0 0 14px rgb(var(--c-brand-600) / .55)}
[data-fs-theme='keyway'] .fs-kwm-svc-d{display:block;margin-top:3px;max-width:44ch;font-size:13px;line-height:1.45;color:rgb(var(--c-ink-700))}
[data-fs-theme='keyway'] .fs-kwm-svc-p{padding-top:1px;font-family:var(--font-display, 'Martian Mono', ui-monospace, monospace);font-weight:700;font-size:12.5px;line-height:1.3;letter-spacing:-.01em;color:rgb(var(--c-ink-950));text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
[data-fs-theme='keyway'] .fs-kwm-door{grid-area:door;display:flex;flex-direction:column;gap:9px;min-width:0;padding:20px 20px 18px;border:1px solid rgb(var(--c-accent, var(--c-brand-600)));border-radius:10px;background:rgb(var(--c-paper-soft));box-shadow:inset 0 0 0 1px var(--kw-ring)}
[data-fs-theme='keyway'] .fs-kwm-door-k{margin:0;font-family:var(--font-display, 'Martian Mono', ui-monospace, monospace);font-weight:700;font-size:11px;line-height:1.2;letter-spacing:.09em;text-transform:uppercase;color:rgb(var(--c-accent, var(--c-brand-600)))}
[data-fs-theme='keyway'] .fs-kwm-door-h{margin:0;font-family:var(--font-display, 'Martian Mono', ui-monospace, monospace);font-weight:700;font-size:16px;line-height:1.25;letter-spacing:-.02em;color:rgb(var(--c-ink-950))}
[data-fs-theme='keyway'] .fs-kwm-door-tel{align-self:flex-start;margin-block:2px;font-family:var(--font-display, 'Martian Mono', ui-monospace, monospace);font-weight:700;font-size:27px;line-height:1.1;letter-spacing:-.04em;color:rgb(var(--c-ink-950));font-variant-numeric:tabular-nums;text-decoration:none}
[data-fs-theme='keyway'] .fs-kwm-door-tel:hover{color:rgb(var(--c-brand-text))}
[data-fs-theme='keyway'] .fs-kwm-door-p{margin:0;font-size:13.5px;line-height:1.5;color:rgb(var(--c-ink-700))}
[data-fs-theme='keyway'] .fs-kwm-track{list-style:none;padding:0;display:grid;gap:10px;margin:4px 0 6px;padding-top:12px;border-top:1px solid var(--kw-hair);counter-reset:kws}
[data-fs-theme='keyway'] .fs-kwm-step{display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:11px;row-gap:2px}
[data-fs-theme='keyway'] .fs-kwm-step-n{counter-increment:kws;grid-row:span 2;display:grid;place-items:center;width:28px;height:28px;border:1px solid rgb(var(--c-line));border-radius:7px;background:rgb(var(--fs-nav-active-tint));font-family:var(--font-display, 'Martian Mono', ui-monospace, monospace);font-weight:700;font-size:11px;line-height:1;color:rgb(var(--fs-nav-active-on))}
[data-fs-theme='keyway'] .fs-kwm-step-n::before{content:counter(kws,decimal-leading-zero)}
[data-fs-theme='keyway'] .fs-kwm-step-t{margin:0;display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 10px;font-family:var(--font-display, 'Martian Mono', ui-monospace, monospace);font-weight:700;font-size:12.5px;line-height:1.3;letter-spacing:-.02em;color:rgb(var(--c-ink-950))}
[data-fs-theme='keyway'] .fs-kwm-step-w{font-family:var(--font-display, 'Martian Mono', ui-monospace, monospace);font-weight:500;font-size:10.5px;line-height:1.3;letter-spacing:.07em;text-transform:uppercase;color:rgb(var(--c-accent, var(--c-brand-600)));font-variant-numeric:tabular-nums}
[data-fs-theme='keyway'] .fs-kwm-step-b{margin:0;font-size:12.5px;line-height:1.4;color:rgb(var(--c-ink-700))}
[data-fs-theme='keyway'] .fs-kwm-btn{display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 14px;border:1.5px solid rgb(var(--c-brand-600));border-radius:8px;background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)));font-family:var(--font-display, 'Martian Mono', ui-monospace, monospace);font-weight:700;font-size:12.5px;line-height:1.3;letter-spacing:.01em;text-align:center;text-decoration:none;transition:box-shadow .22s cubic-bezier(.2,.7,.3,1)}
[data-fs-theme='keyway'] .fs-kwm-btn .fs-kwm-ico{width:17px;height:17px}
[data-fs-theme='keyway'] .fs-kwm-door .fs-kwm-btn{margin-top:auto}
[data-fs-theme='keyway'] .fs-kwm-door .fs-kwm-btn:hover{box-shadow:var(--kw-glow-a)}
[data-fs-theme='keyway'] .fs-kwm-door-terms{margin:0;font-size:12px;line-height:1.45;color:rgb(var(--c-ink-400))}
[data-fs-theme='keyway'] .fs-kwm-foot{display:flex;align-items:center;flex-wrap:wrap;gap:8px 28px;padding:12px var(--kw-gut) 13px;border-top:1px solid var(--kw-hair);border-radius:0 0 9px 9px;background:rgb(var(--c-paper-soft))}
[data-fs-theme='keyway'] .fs-kwm-promise{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display, 'Martian Mono', ui-monospace, monospace);font-weight:700;font-size:12px;line-height:1.3;letter-spacing:-.01em;color:rgb(var(--c-ink-950))}
[data-fs-theme='keyway'] .fs-kwm-promise .fs-kwm-ico{width:17px;height:17px;color:rgb(var(--c-brand-text))}
[data-fs-theme='keyway'] .fs-kwm-more{margin-left:auto;font-family:var(--font-display, 'Martian Mono', ui-monospace, monospace);font-weight:700;font-size:12.5px;line-height:1.3;letter-spacing:-.01em;color:rgb(var(--c-brand-text));text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
[data-fs-theme='keyway'] .fs-kwm-more:hover{text-shadow:0 0 14px rgb(var(--c-brand-600) / .55)}
/* The panel matches the bar (content = panel - 2px of side keyline: 1390
   / 1230 / 1150 / 878 / 782 / 686; phone menu 736 and 358). */
@container (max-width: 70rem){
  [data-fs-theme='keyway'] .fs-kwm-body{grid-template-columns:minmax(0,1fr);grid-template-areas:"bands" "svc" "door";grid-template-rows:none}
  [data-fs-theme='keyway'] .fs-kwm-door{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,15.5rem);grid-auto-flow:column;grid-template-rows:auto auto 1fr;gap:8px 28px;padding:18px 20px}
  [data-fs-theme='keyway'] .fs-kwm-door > .fs-kwm-door-k,[data-fs-theme='keyway'] .fs-kwm-door > .fs-kwm-door-h,[data-fs-theme='keyway'] .fs-kwm-door > .fs-kwm-door-p{grid-column:1}
  [data-fs-theme='keyway'] .fs-kwm-door > .fs-kwm-door-tel{grid-column:2;grid-row:1/3;align-self:end;justify-self:start}
  [data-fs-theme='keyway'] .fs-kwm-door > .fs-kwm-btn{grid-column:2;grid-row:3;align-self:end;margin-top:0}
  [data-fs-theme='keyway'] .fs-kwm-door-terms,[data-fs-theme='keyway'] .fs-kwm-track,[data-fs-theme='keyway'] .fs-kwm-svc-d{display:none}
}
@container (max-width: 52rem){
  [data-fs-theme='keyway'] .fs-kwm-terms,[data-fs-theme='keyway'] .fs-kwm-promise + .fs-kwm-promise{display:none}
  [data-fs-theme='keyway'] .fs-kwm-head{padding-bottom:13px}
  [data-fs-theme='keyway'] .fs-kwm-svc-i{padding-block:9px 8px}
  [data-fs-theme='keyway'] .fs-kwm-band{padding:12px 13px 11px}
  [data-fs-theme='keyway'] .fs-kwm-band-t{font-size:12px;gap:6px}
  [data-fs-theme='keyway'] .fs-kwm-band-hrs{font-size:10px;letter-spacing:.03em}
  [data-fs-theme='keyway'] .fs-kwm-band-v{font-size:26px}
}
@container (max-width: 30rem){
  [data-fs-theme='keyway'] .fs-kwm-title{font-size:18px}
  [data-fs-theme='keyway'] .fs-kwm-bands{grid-template-columns:minmax(0,1fr);gap:8px}
  [data-fs-theme='keyway'] .fs-kwm-band{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;padding:10px 14px}
  [data-fs-theme='keyway'] .fs-kwm-band-v{grid-column:2;grid-row:1/3;align-self:center;margin-top:0;font-size:24px}
  [data-fs-theme='keyway'] .fs-kwm-svc{grid-template-columns:minmax(0,1fr)}
  [data-fs-theme='keyway'] .fs-kwm-svc-i{padding-block:10px 9px}
}
/* The same composite in the phone menu: the door and the promises go
   (the bottom section carries the phone), and so do the long notes. */
[data-fs-theme='keyway'] .fs-hdr-mobile .fs-kwm-panel{border:0;border-radius:0;box-shadow:none}
[data-fs-theme='keyway'] .fs-hdr-mobile .fs-kwm-terms,[data-fs-theme='keyway'] .fs-hdr-mobile .fs-kwm-svc-d,[data-fs-theme='keyway'] .fs-hdr-mobile .fs-kwm-door,[data-fs-theme='keyway'] .fs-hdr-mobile .fs-kwm-promise{display:none}
[data-fs-theme='keyway'] .fs-hdr-mobile .fs-kwm-head{padding:6px 0 12px}
[data-fs-theme='keyway'] .fs-hdr-mobile .fs-kwm-body{padding:14px 0 6px}
[data-fs-theme='keyway'] .fs-hdr-mobile .fs-kwm-foot{padding:10px 0 0;border-radius:0;background:none}
[data-fs-theme='keyway'] .fs-hdr-mobile .fs-kwm-more{margin-left:0}
@media (prefers-reduced-motion: reduce){
  [data-fs-theme='keyway'] .fs-hdr-util-tel,[data-fs-theme='keyway'] .fs-hdr-menu-btn,[data-fs-theme='keyway'] .fs-kwm-btn,[data-fs-theme='keyway'] .fs-kwm-svc-n{transition:none}
}


/* Tokens (mockup 32–53). --wd-rule hairlines; --wd-keyline a plate's
   engraved edge; --wd-note-ink notes (darker than the solved muted);
   --wd-brand-rule the ledger's 2px rules; --wd-cut-ink the inked cut;
   --wd-bit-ink the bitting stroke; --wd-accent-ink the accent as small
   text; --wd-accent-ring rings; --wd-plate-rule / --wd-plate-cut on the
   brand plates. */
[data-fs-theme='ward']{--fs-chrome-mode:light;--wd-rule:rgb(var(--c-ink-950) / .13);--wd-keyline:rgb(var(--c-ink-950) / .16);--wd-note-ink:color-mix(in srgb, rgb(var(--c-ink-950)) 74%, rgb(var(--c-paper)));--wd-brand-rule:rgb(var(--c-brand-600) / .5);--wd-cut-ink:rgb(var(--c-brand-600) / .62);--wd-bit-ink:rgb(var(--c-brand-600) / .8);--wd-accent-ink:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 72%, rgb(var(--c-ink-950)));--wd-accent-ring:rgb(var(--c-accent, var(--c-brand-600)) / .7);--wd-plate-rule:color-mix(in srgb, var(--fs-on-brand, rgb(var(--c-paper))) 30%, transparent);--wd-plate-cut:color-mix(in srgb, var(--fs-on-brand, rgb(var(--c-paper))) 55%, transparent)}
[data-fs-theme='ward'].dark{--fs-chrome-mode:dark;--wd-rule:rgb(var(--c-ink-950) / .17);--wd-keyline:rgb(var(--c-ink-950) / .2);--wd-cut-ink:rgb(var(--c-brand-600) / .78);--wd-accent-ink:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 82%, rgb(var(--c-ink-950)))}
/* The strip, the hero's assurance strip moved to the top: a 2px brand
   rule over the line, a hairline under it; the incident-line note first
   after the accent pip (the ward cut at 9px), then the hours and the
   phone behind a hairline. */
[data-fs-theme='ward'] .fs-hdr-util{container-type:inline-size;background:linear-gradient(var(--wd-brand-rule),var(--wd-brand-rule)) 0 0/100% 2px no-repeat,rgb(var(--c-paper));box-shadow:inset 0 -1px 0 var(--wd-rule)}
[data-fs-theme='ward'] .fs-hdr-util-in{container-type:inline-size;container-name:fs-strip-in;display:flex;align-items:center;gap:0;min-height:0;padding-block:11px 9px;border-bottom:0;font-weight:500;font-size:12.5px;line-height:1.2;color:var(--wd-note-ink)}
/* A fixed height, not just display:inline-flex: note (12.5px text, a
   15px line box) and tel (13.5px/700, a 16.1875px line box) are
   align-items:center'd individually, so two items of slightly different
   natural height land at different fractional offsets inside the row
   (measured: tops 88.59375 vs 88 — a real, if sub-pixel, 0.6px
   misalignment, not a rendering artefact). 16px comfortably covers both
   (tallest natural height 16.1875, so nothing clips) and gives every
   item THE SAME centering fraction, so they land pixel-identical. */
[data-fs-theme='ward'] .fs-hdr-util-item{display:inline-flex;height:16px}
[data-fs-theme='ward'] .fs-hdr-util-dot{display:none}
[data-fs-theme='ward'] .fs-hdr-util-note{order:-1;gap:9px;margin-right:auto;color:rgb(var(--c-ink-950))}
[data-fs-theme='ward'] .fs-hdr-util-note::before{content:"";flex:none;width:9px;height:9px;background:rgb(var(--c-accent, var(--c-brand-600)));clip-path:polygon(3.5px 0,100% 0,100% 100%,0 100%,0 3.5px)}
[data-fs-theme='ward'] .fs-hdr-util-hours{margin-left:22px}
[data-fs-theme='ward'] .fs-hdr-util-tel{margin-left:18px;padding-left:18px;border-left:1px solid var(--wd-rule);font-family:var(--font-display, Manrope, system-ui, sans-serif);font-weight:700;font-size:13.5px;letter-spacing:.01em;color:rgb(var(--c-ink-950))}
[data-fs-theme='ward'] .fs-hdr-util-in:not(:has(.fs-hdr-util-note)) .fs-hdr-util-hours{margin-left:0;margin-right:auto}
@container fs-strip-in (max-width: 46rem){
  [data-fs-theme='ward'] .fs-hdr-util-hours{display:none}
  [data-fs-theme='ward'] .fs-hdr-util-tel{padding-left:0;border-left:0}
}
@container (max-width: 40rem){
  [data-fs-theme='ward'] .fs-hdr-util-in{display:flex}
}
/* Both rules now query fs-strip-in (the strip's LINE, R-B3-1) rather than
   leaving .fs-hdr-util-in's centring on an unnamed query that resolved
   against the full strip instead — see studio-calm-chrome-styles.ts's own
   fix of this same mismatch for the full rationale. */
@container fs-strip-in (max-width: 40rem){
  [data-fs-theme='ward'] .fs-hdr-util-item:not(.fs-hdr-util-tel){display:none}
  [data-fs-theme='ward'] .fs-hdr-util-tel{margin-inline:auto;padding-left:0;border-left:0}
}
/* The band closes on a hairline painted on itself (an inset shadow). */
[data-fs-theme='ward'] .fs-hdr-band{container-type:inline-size;container-name:fs-band;border-bottom-width:0;background:rgb(var(--c-paper));box-shadow:inset 0 -1px 0 var(--wd-rule)}
[data-fs-theme='ward'] .fs-hdr-row{min-height:clamp(66px, (100cqi - 760px) * 100, 80px)}
/* The lockup: the mark (38px) and the name in Manrope 800 20px (the
   weight is themeDefaults.headerFontWeight — an inline setting). */
[data-fs-theme='ward'] .fs-hdr-row > :first-child{gap:11px;margin-right:auto;padding-right:20px;color:rgb(var(--c-ink-950))}
[data-fs-theme='ward'] .fs-hdr-row [data-fs-logo-mark]{width:38px;height:38px}
[data-fs-theme='ward'] .fs-hdr-row [data-fs-wordmark]{font-size:20px;line-height:1;letter-spacing:-.02em;white-space:nowrap}
/* The button: the family's solid plate, cut 11px, the cut inked in the
   label colour; the platform's hover fill is the deep brand. The hover
   rule re-states the ink (the platform's hover is a background shorthand). */
[data-fs-theme='ward'] .fs-hdr-cta{--fs-hdr-cta-bg:rgb(var(--c-brand-600));--fs-hdr-cta-fg:var(--fs-on-brand, rgb(var(--c-paper)));--fs-hdr-cta-fg-hover:var(--fs-on-brand, rgb(var(--c-paper)))}
[data-fs-theme='ward'] .fs-hdr-cta.fs-hdr-cta{--wd-cut:11px;flex:none;padding:15px 22px 15px 25px;border-radius:0;clip-path:polygon(var(--wd-cut) 0,100% 0,100% 100%,0 100%,0 var(--wd-cut));background-image:linear-gradient(135deg,transparent calc(var(--wd-cut) * .7071),var(--wd-plate-cut) 0 calc(var(--wd-cut) * .7071 + 1.5px),transparent 0);font-family:var(--font-display, Manrope, system-ui, sans-serif);font-weight:700;font-size:12.5px;line-height:1;letter-spacing:var(--wd-cta-track,.13em);text-transform:uppercase;white-space:nowrap;box-shadow:none;transition:background-color .25s ease}
[data-fs-theme='ward'] .fs-hdr-cta.fs-hdr-cta:hover{background-image:linear-gradient(135deg,transparent calc(var(--wd-cut) * .7071),var(--wd-plate-cut) 0 calc(var(--wd-cut) * .7071 + 1.5px),transparent 0)}
[data-fs-theme='ward'] .fs-hdr-cta.fs-hdr-cta:focus-visible{outline:2px solid currentColor;outline-offset:-5px}
[data-fs-theme='ward'] .fs-hdr-row .fs-hdr-cta{margin-left:18px}
/* The menu button: a 46px ward-cut plate on the card with an operable
   (3:1) edge; three bars stepped like a key's bitting, the middle brand. */
[data-fs-theme='ward'] .fs-hdr-menu-btn{--wd-cut:10px;width:46px;height:46px;margin-left:14px;border-radius:0;clip-path:polygon(var(--wd-cut) 0,100% 0,100% 100%,0 100%,0 var(--wd-cut));box-shadow:inset 0 0 0 1.5px rgb(var(--c-line));background:linear-gradient(135deg,transparent calc(var(--wd-cut) * .7071),rgb(var(--c-line)) 0 calc(var(--wd-cut) * .7071 + 1.5px),transparent 0),linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) 13px calc(50% - 6px)/19px 2px no-repeat,linear-gradient(rgb(var(--c-brand-600)),rgb(var(--c-brand-600))) 13px 50%/11px 2px no-repeat,linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) 13px calc(50% + 6px)/15px 2px no-repeat,rgb(var(--c-paper-soft))}
[data-fs-theme='ward'] .fs-hdr-menu-btn:focus-visible{outline:2px solid currentColor;outline-offset:-5px}
[data-fs-theme='ward'] .fs-hdr-menu-btn svg{display:none}
/* The mega shell: 12px below the row; the plate's clip-path would cut a
   box-shadow, so its shadow is a drop-shadow on the shell (R-B4-20). */
[data-fs-theme='ward'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite){margin-top:12px !important;background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;filter:drop-shadow(0 24px 30px rgb(0 0 0 / .16))}
[data-fs-theme='ward'].dark .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite){filter:drop-shadow(0 24px 30px rgb(0 0 0 / .5))}
[data-fs-theme='ward'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite)::before{top:-12px;height:12px}
/* Layout tiers (mockup 279–305), desktop only. The tag plate, the
   underline and the button's plate all stay. */
@container fs-band (min-width: 62rem){
  /* Boxed (880). */
  @container (max-width: 60rem){
    [data-fs-theme='ward'] .fs-hdr-row > :first-child{gap:10px;padding-right:14px}
    [data-fs-theme='ward'] .fs-hdr-row [data-fs-logo-mark]{width:34px;height:34px}
    [data-fs-theme='ward'] .fs-hdr-row [data-fs-wordmark]{font-size:18.5px}
    [data-fs-theme='ward'] .fsmenu-wardCut{--wd-pad:11px}
    [data-fs-theme='ward'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{--wd-cta-track:.1em;margin-left:14px;padding-inline:18px 17px}
  }
  /* Centered (784). */
  @container (max-width: 50rem){
    [data-fs-theme='ward'] .fs-hdr-row [data-fs-logo-mark]{width:31px;height:31px}
    [data-fs-theme='ward'] .fs-hdr-row [data-fs-wordmark]{font-size:17px}
    [data-fs-theme='ward'] .fsmenu-wardCut{--wd-pad:8px;--wd-fs:14px}
    [data-fs-theme='ward'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{--wd-cta-track:.07em;margin-left:10px;padding:13px 14px 13px 17px;font-size:12px}
  }
  /* Minimalist (688), the tightest. */
  @container (max-width: 44rem){
    [data-fs-theme='ward'] .fs-hdr-row > :first-child{gap:8px;padding-right:8px}
    [data-fs-theme='ward'] .fs-hdr-row [data-fs-logo-mark]{width:28px;height:28px}
    [data-fs-theme='ward'] .fs-hdr-row [data-fs-wordmark]{font-size:15px}
    [data-fs-theme='ward'] .fsmenu-wardCut{--wd-pad:6px;--wd-fs:13px;gap:4px}
    [data-fs-theme='ward'] .fsmenu-wardCut[aria-current]:not([aria-current='false']){padding-left:8px}
    [data-fs-theme='ward'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{--wd-cut:9px;--wd-cta-track:.04em;margin-left:8px;padding:12px 9px 12px 12px;font-size:11.5px}
  }
}
/* Phones: the platform hides the button at row 34rem; the lockup steps down. */
@container (max-width: 34rem){
  [data-fs-theme='ward'] .fs-hdr-row [data-fs-logo-mark]{width:32px;height:32px}
  [data-fs-theme='ward'] .fs-hdr-row [data-fs-wordmark]{font-size:18px}
}
/* R16 (precedent in coachwork/forecourt/keyway-chrome-styles.ts): the
   read-only preview alone renders a visitor dark/light toggle
   (.fs-hdr-mode) plus a fixed-width "Edit Template" link
   (TemplateViewClient.tsx), present on no real site. At the preview's
   own 390/320px widths that trailing pair, next to the menu button,
   needs more room than the row has, so the button ran 14px (390) /
   84px (320) past the edge even though .fs-hdr-cta is already hidden
   by the platform's own ≤34rem rule. Measured: hiding .fs-hdr-mode
   alone frees 36px (enough at 390, short at 320); hiding the wordmark
   too at ≤22rem closes the rest. [data-fs-preview-edit] is the stable,
   surface-only hook the Edit Template link alone carries; :has() reaches
   up from it so only a row that actually contains it is affected —
   published and editor markup never has the hook. */
@container (max-width: 34rem){
  [data-fs-theme='ward'] .fs-hdr-row:has([data-fs-preview-edit]) .fs-hdr-mode{display:none}
}
@container (max-width: 22rem){
  [data-fs-theme='ward'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{display:none}
}

/* ── Phone menu ──────────────────────────────────────────────────────
   "Menu" on a ward-cut tag plate, the close a cut plate like the menu
   button; the pages as large display rows on hairlines, the current one
   on the tag (11px cut), an open group in brand as text. */
[data-fs-theme='ward'] .fs-hdr-mobile{background:rgb(var(--c-paper))}
[data-fs-theme='ward'] .fs-hdr-mobile-head{height:auto;padding:14px 18px 14px 20px;border-bottom:0;box-shadow:inset 0 -1px 0 var(--wd-rule);background:rgb(var(--c-paper))}
[data-fs-theme='ward'] .fs-hdr-mobile-title{--wd-cut:8px;display:inline-flex;align-items:center;padding:8px 14px 8px 16px;clip-path:polygon(var(--wd-cut) 0,100% 0,100% 100%,0 100%,0 var(--wd-cut));background:linear-gradient(135deg,transparent calc(var(--wd-cut) * .7071),var(--wd-cut-ink) 0 calc(var(--wd-cut) * .7071 + 1.5px),transparent 0) rgb(var(--fs-nav-active-tint));font-family:inherit;font-weight:700;font-size:11.5px;line-height:1;letter-spacing:.24em;text-transform:uppercase;color:rgb(var(--fs-nav-active-on))}
[data-fs-theme='ward'] .fs-hdr-mobile-close{--wd-cut:10px;width:44px;height:44px;border-radius:0;clip-path:polygon(var(--wd-cut) 0,100% 0,100% 100%,0 100%,0 var(--wd-cut));box-shadow:inset 0 0 0 1.5px rgb(var(--c-line));background:linear-gradient(135deg,transparent calc(var(--wd-cut) * .7071),rgb(var(--c-line)) 0 calc(var(--wd-cut) * .7071 + 1.5px),transparent 0) rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950))}
[data-fs-theme='ward'] .fs-hdr-mobile-close:focus-visible{outline:2px solid currentColor;outline-offset:-5px}
[data-fs-theme='ward'] .fs-hdr-mobile > nav{padding:10px 12px 0}
[data-fs-theme='ward'] .fs-hdr-mobile-row{display:flex;align-items:center;min-height:56px;border-bottom:1px solid var(--wd-rule)}
[data-fs-theme='ward'] .fs-hdr-mobile-link:not(.is-sub){--wd-cut:11px;display:flex;align-items:center;flex:1;align-self:stretch;padding:0 12px 0 14px;font-family:var(--font-display, Manrope, system-ui, sans-serif);font-weight:700;font-size:21px;line-height:1.1;letter-spacing:-.015em;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='ward'] .fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false']){clip-path:polygon(var(--wd-cut) 0,100% 0,100% 100%,0 100%,0 var(--wd-cut));background:linear-gradient(135deg,transparent calc(var(--wd-cut) * .7071),var(--wd-cut-ink) 0 calc(var(--wd-cut) * .7071 + 1.5px),transparent 0) rgb(var(--fs-nav-active-tint));color:rgb(var(--fs-nav-active-on))}
[data-fs-theme='ward'] .fs-hdr-mobile-row:has(> .fs-hdr-mobile-link[aria-current]:not([aria-current='false'])){border-bottom-color:transparent}
[data-fs-theme='ward'] .fs-hdr-mobile-row:has(.fs-hdr-mobile-toggle[aria-expanded='true']){border-bottom-color:transparent}
[data-fs-theme='ward'] .fs-hdr-mobile-row:has(.fs-hdr-mobile-toggle[aria-expanded='true']) > .fs-hdr-mobile-link{color:rgb(var(--c-brand-text))}
[data-fs-theme='ward'] .fs-hdr-mobile-toggle{margin-right:6px;color:rgb(var(--c-ink-950))}
[data-fs-theme='ward'] .fs-hdr-mobile-sub{padding:6px 0 14px}

/* ── Phone-menu bottom section ──────────────────────────────────────
   The bitting rule (up to 15rem), Tel and Open on a 14px-cut plate (the
   first cell sized to its number so the hours stay on one line), the
   incident note after the pip, the plate button full width. */
[data-fs-theme='ward'] .fs-pmf-ward{display:grid;gap:14px;margin-top:auto;padding:20px 8px 26px}
[data-fs-theme='ward'] .fs-pmf-bit{display:block;width:100%;max-width:15rem;height:14px;fill:none;stroke:var(--wd-bit-ink);stroke-width:1.6;stroke-linejoin:miter;vector-effect:non-scaling-stroke}
[data-fs-theme='ward'] .fs-pmf-grid{--wd-cut:14px;display:grid;grid-template-columns:max-content minmax(0,1fr);margin:0;clip-path:polygon(var(--wd-cut) 0,100% 0,100% 100%,0 100%,0 var(--wd-cut));box-shadow:inset 0 0 0 1px var(--wd-keyline);background:linear-gradient(135deg,transparent calc(var(--wd-cut) * .7071),var(--wd-cut-ink) 0 calc(var(--wd-cut) * .7071 + 1.5px),transparent 0) rgb(var(--c-paper-soft))}
[data-fs-theme='ward'] .fs-pmf-cell{min-width:0;padding:13px 14px 12px 16px}
[data-fs-theme='ward'] .fs-pmf-cell + .fs-pmf-cell{border-left:1px solid var(--wd-rule)}
[data-fs-theme='ward'] .fs-pmf-dt{font-weight:600;font-size:10px;line-height:1.2;letter-spacing:.18em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
[data-fs-theme='ward'] .fs-pmf-dd{margin:5px 0 0;font-family:var(--font-display, Manrope, system-ui, sans-serif);font-weight:700;font-size:15.5px;line-height:1.3;color:rgb(var(--c-ink-950));font-variant-numeric:tabular-nums}
[data-fs-theme='ward'] .fs-pmf-tel{color:inherit;text-decoration:none}
[data-fs-theme='ward'] .fs-pmf-note{display:flex;align-items:baseline;gap:9px;margin:0;font-size:13.5px;line-height:1.45;color:var(--wd-note-ink)}
[data-fs-theme='ward'] .fs-pmf-note::before{content:"";flex:none;width:9px;height:9px;background:rgb(var(--c-accent, var(--c-brand-600)));clip-path:polygon(3.5px 0,100% 0,100% 100%,0 100%,0 3.5px);transform:translateY(-1px)}
[data-fs-theme='ward'] .fs-pmf .fs-hdr-cta.fs-pmf-cta{display:flex;width:100%;margin:0;padding-block:17px}

/* ── Mega: ward.services, the schedule plate (mockup 118–180, and for
   .fs-wdm-tag the ward-cut recipe of line 62) ───────────────────────
   ONE ward-cut plate on the card colour with an engraved keyline, cut
   26px and inked (shell drop-shadow above, R-B4-20). Left: the schedule
   under the page's own title. Right: the planner's brand summary plate,
   a full-height column. --wd-g, the one gutter, is declared here but
   resolved where it is used, so its cqi measures this plate. */
[data-fs-theme='ward'] .fs-wdm-plate{--wd-g:clamp(20px,2.3cqi,34px);--wd-cut:26px;container-type:inline-size;background:linear-gradient(135deg,transparent calc(var(--wd-cut) * .7071),var(--wd-cut-ink) 0 calc(var(--wd-cut) * .7071 + 1.5px),transparent 0) rgb(var(--c-paper-soft));box-shadow:inset 0 0 0 1px var(--wd-keyline);clip-path:polygon(var(--wd-cut) 0,100% 0,100% 100%,0 100%,0 var(--wd-cut))}
[data-fs-theme='ward'] .fs-wdm-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,clamp(17rem,25cqi,23rem))}
[data-fs-theme='ward'] .fs-wdm-led{display:flex;flex-direction:column;min-width:0;padding:calc(var(--wd-g) + 4px) var(--wd-g) 0 calc(var(--wd-g) + 6px)}
[data-fs-theme='ward'] .fs-wdm-lh{display:flex;align-items:flex-end;justify-content:space-between;gap:12px 28px;padding-bottom:16px;border-bottom:2px solid var(--wd-brand-rule)}
[data-fs-theme='ward'] .fs-wdm-tag{--wd-cut:7px;display:inline-flex;align-items:center;padding:6px 12px 6px 14px;clip-path:polygon(var(--wd-cut) 0,100% 0,100% 100%,0 100%,0 var(--wd-cut));background:linear-gradient(135deg,transparent calc(var(--wd-cut) * .7071),var(--wd-cut-ink) 0 calc(var(--wd-cut) * .7071 + 1.5px),transparent 0) rgb(var(--fs-nav-active-tint));color:rgb(var(--fs-nav-active-on));font-weight:700;font-size:10.5px;line-height:1.2;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap}
[data-fs-theme='ward'] .fs-wdm-title{margin:12px 0 0;font-family:var(--font-display, Manrope, system-ui, sans-serif);font-weight:800;font-size:23px;line-height:1.16;letter-spacing:-.022em;color:rgb(var(--c-ink-950));text-wrap:balance}
[data-fs-theme='ward'] .fs-wdm-acc{font-style:normal;color:rgb(var(--c-brand-text))}
[data-fs-theme='ward'] .fs-wdm-ref{flex:none;padding-bottom:3px;font-weight:600;font-size:10.5px;line-height:1.2;letter-spacing:.16em;text-transform:uppercase;color:rgb(var(--c-ink-400));white-space:nowrap}
/* The table: a grid with subgrid rows, so the engineer, turnaround and
   price columns line up down the schedule and with their heads. */
[data-fs-theme='ward'] .fs-wdm-table{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;column-gap:clamp(18px,2.2cqi,40px)}
[data-fs-theme='ward'] .fs-wdm-heads, [data-fs-theme='ward'] .fs-wdm-r{grid-column:1/-1;display:grid;grid-template-columns:subgrid;align-items:baseline}
[data-fs-theme='ward'] .fs-wdm-heads{padding:13px 0 9px;font-weight:600;font-size:10px;line-height:1.2;letter-spacing:.16em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
[data-fs-theme='ward'] .fs-wdm-hd:last-child{text-align:right}
[data-fs-theme='ward'] .fs-wdm-r{padding:11px 0 12px;border-top:1px solid var(--wd-rule);text-decoration:none;transition:background-color .2s ease}
[data-fs-theme='ward'] .fs-wdm-heads + .fs-wdm-r{border-top-color:transparent}
[data-fs-theme='ward'] .fs-wdm-r:hover{background:linear-gradient(90deg,transparent,rgb(var(--c-brand-600) / .07) 20%)}
[data-fs-theme='ward'] .fs-wdm-r-main{grid-column:1;min-width:0}
[data-fs-theme='ward'] .fs-wdm-r-j{display:block;font-family:var(--font-display, Manrope, system-ui, sans-serif);font-weight:700;font-size:15.5px;line-height:1.3;letter-spacing:-.005em;color:rgb(var(--c-ink-950))}
[data-fs-theme='ward'] .fs-wdm-r:hover .fs-wdm-r-j{color:rgb(var(--c-brand-text))}
[data-fs-theme='ward'] .fs-wdm-r-d{display:block;max-width:56ch;margin-top:3px;font-size:13px;line-height:1.5;color:var(--wd-note-ink)}
[data-fs-theme='ward'] .fs-wdm-r-who{grid-column:2;font-size:13.5px;color:rgb(var(--c-ink-700));white-space:nowrap}
[data-fs-theme='ward'] .fs-wdm-r-role{display:none;margin-top:3px;font-size:12.5px;color:var(--wd-note-ink)}
[data-fs-theme='ward'] .fs-wdm-r-t{grid-column:3;justify-self:start;padding:4px 8px;border:1px solid var(--wd-keyline);border-radius:4px;font-weight:600;font-size:10px;line-height:1.2;letter-spacing:.12em;text-transform:uppercase;color:rgb(var(--c-ink-400));white-space:nowrap}
[data-fs-theme='ward'] .fs-wdm-r-p{grid-column:4;justify-self:end;font-family:var(--font-display, Manrope, system-ui, sans-serif);font-weight:800;font-size:16.5px;line-height:1.2;letter-spacing:-.01em;color:rgb(var(--c-brand-text));white-space:nowrap;font-variant-numeric:tabular-nums}
/* The foot: the bitting rule with its label, and the keyline stamp. */
[data-fs-theme='ward'] .fs-wdm-lf{display:flex;align-items:center;gap:14px 24px;margin-top:auto;padding:15px 0 calc(var(--wd-g) - 2px);border-top:2px solid var(--wd-brand-rule)}
[data-fs-theme='ward'] .fs-wdm-bit{display:flex;align-items:center;gap:14px;flex:1 1 auto;min-width:0}
[data-fs-theme='ward'] .fs-wdm-bit-svg{display:block;flex:0 1 12rem;min-width:4.5rem;height:14px;fill:none;stroke:var(--wd-bit-ink);stroke-width:1.6;stroke-linejoin:miter;vector-effect:non-scaling-stroke}
[data-fs-theme='ward'] .fs-wdm-bit-l{font-weight:600;font-size:10.5px;line-height:1.2;letter-spacing:.2em;text-transform:uppercase;color:rgb(var(--c-ink-400));white-space:nowrap}
[data-fs-theme='ward'] .fs-wdm-stamp{flex:none;padding:7px 12px;border:2px solid var(--wd-accent-ring);border-radius:5px;color:var(--wd-accent-ink);font-weight:700;font-size:10.5px;line-height:1;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;transform:rotate(-2.5deg)}
/* The side: the planner's summary plate, brand to brand-deep. Every
   word on it is the full on-brand colour: Copper Mill's brand clears
   only 5.1:1 against its page colour, so no softened label survives. */
[data-fs-theme='ward'] .fs-wdm-side{min-width:0;padding:var(--wd-g) var(--wd-g) var(--wd-g) 0}
[data-fs-theme='ward'] .fs-wdm-sum{--wd-cut:22px;display:flex;flex-direction:column;height:100%;padding:28px clamp(20px,2.1cqi,30px) 22px;background:linear-gradient(135deg,transparent calc(var(--wd-cut) * .7071),var(--wd-plate-cut) 0 calc(var(--wd-cut) * .7071 + 1.5px),transparent 0),linear-gradient(160deg,rgb(var(--c-brand-600)) 35%,rgb(var(--c-brand-700)));background-color:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)));clip-path:polygon(var(--wd-cut) 0,100% 0,100% 100%,0 100%,0 var(--wd-cut))}
[data-fs-theme='ward'] .fs-wdm-sum-l{font-weight:700;font-size:10.5px;line-height:1.2;letter-spacing:.2em;text-transform:uppercase}
[data-fs-theme='ward'] .fs-wdm-sum-p{margin:12px 0 0}
[data-fs-theme='ward'] .fs-wdm-sum-fig{display:block;font-family:var(--font-display, Manrope, system-ui, sans-serif);font-weight:800;font-size:clamp(34px,3.4cqi,44px);line-height:1;letter-spacing:-.035em;font-variant-numeric:tabular-nums;white-space:nowrap}
[data-fs-theme='ward'] .fs-wdm-sum-dash{padding-inline:.12em;font-style:normal;font-weight:400}
[data-fs-theme='ward'] .fs-wdm-sum-note{max-width:30ch;margin:12px 0 0;font-size:12.5px;line-height:1.5}
/* The planner's two sliders, drawn read-only: its label and readout,
   its track (on-brand at 30%, filled to the value in full on-brand) and
   its thumb, the ward cut at 14px; the range's ends under it. The group
   takes the card's spare height as equal space above and below
   (margin-block:auto). --at is the row's own (value − min) / (max −
   min), set inline by the composite — no arithmetic here (R-B4-22). */
[data-fs-theme='ward'] .fs-wdm-sum-bars{display:grid;gap:18px;margin-block:auto;padding-block:24px}
[data-fs-theme='ward'] .fs-wdm-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;row-gap:9px}
[data-fs-theme='ward'] .fs-wdm-bar-l{font-size:13px;line-height:1.35}
[data-fs-theme='ward'] .fs-wdm-bar-v{font-family:var(--font-display, Manrope, system-ui, sans-serif);font-weight:800;font-size:20px;line-height:1;font-variant-numeric:tabular-nums}
[data-fs-theme='ward'] .fs-wdm-bar-t{grid-column:1/-1;position:relative;height:6px;border-radius:3px;background:linear-gradient(var(--fs-on-brand, rgb(var(--c-paper))),var(--fs-on-brand, rgb(var(--c-paper)))) 0 0/var(--at) 100% no-repeat var(--wd-plate-rule)}
[data-fs-theme='ward'] .fs-wdm-bar-k{position:absolute;top:50%;left:var(--at);width:14px;height:14px;background:var(--fs-on-brand, rgb(var(--c-paper)));clip-path:polygon(4.5px 0,100% 0,100% 100%,0 100%,0 4.5px);transform:translate(-50%,-50%)}
[data-fs-theme='ward'] .fs-wdm-bar-s{grid-column:1/-1;display:flex;justify-content:space-between;margin-top:-2px;font-size:11px;line-height:1;font-variant-numeric:tabular-nums}
[data-fs-theme='ward'] .fs-wdm-sum-lines{list-style:none;margin:0 0 22px;padding:0;border-top:1px solid var(--wd-plate-rule)}
[data-fs-theme='ward'] .fs-wdm-sum-li{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-block:9px;border-bottom:1px solid var(--wd-plate-rule);font-size:13.5px;line-height:1.35}
[data-fs-theme='ward'] .fs-wdm-sum-lf{font-family:var(--font-display, Manrope, system-ui, sans-serif);font-weight:700;font-size:15px;line-height:1.2;font-variant-numeric:tabular-nums;white-space:nowrap}
/* Inverted, as the planner's own button is: a brand button on a brand
   plate would disappear. The solved pair, swapped, passes everywhere. */
[data-fs-theme='ward'] .fs-wdm-sum-btn{--wd-cut:9px;display:flex;align-items:center;justify-content:center;padding:14px 12px 14px 16px;background:var(--fs-on-brand, rgb(var(--c-paper)));color:rgb(var(--c-brand-600));clip-path:polygon(var(--wd-cut) 0,100% 0,100% 100%,0 100%,0 var(--wd-cut));font-family:var(--font-display, Manrope, system-ui, sans-serif);font-weight:700;font-size:12px;line-height:1;letter-spacing:var(--wd-sb-track,.13em);text-transform:uppercase;white-space:nowrap;text-decoration:none}
[data-fs-theme='ward'] .fs-wdm-sum-btn:focus-visible{outline:2px solid currentColor;outline-offset:-5px}
[data-fs-theme='ward'] .fs-wdm-sum-fine{margin:12px 0 0;font-size:12px;line-height:1.5}
/* The plate reflows on its own box (no padding on the root: content =
   the panel: 1392 / 1232 / 1152 / 880 / 784 / 688; phone menu 744 and 366). */
@container (min-width: 76rem){
  [data-fs-theme='ward'] .fs-wdm-r-role{display:block}
  [data-fs-theme='ward'] .fs-wdm-r-who{font-weight:500;color:rgb(var(--c-ink-950))}
}
@container (max-width: 70rem){
  [data-fs-theme='ward'] .fs-wdm-lf .fs-wdm-bit-l{display:none}
  [data-fs-theme='ward'] .fs-wdm-table{grid-template-columns:minmax(0,1fr) auto}
  [data-fs-theme='ward'] .fs-wdm-heads,[data-fs-theme='ward'] .fs-wdm-r-d{display:none}
  [data-fs-theme='ward'] .fs-wdm-heads + .fs-wdm-r{border-top-color:transparent}
  [data-fs-theme='ward'] .fs-wdm-r-main{grid-column:1;grid-row:1}
  [data-fs-theme='ward'] .fs-wdm-r-who{grid-column:1;grid-row:2;margin-top:3px;font-size:12.5px}
  [data-fs-theme='ward'] .fs-wdm-r-p{grid-column:2;grid-row:1}
  [data-fs-theme='ward'] .fs-wdm-r-t{grid-column:2;grid-row:2;justify-self:end;margin-top:5px}
}
@container (max-width: 52rem){
  [data-fs-theme='ward'] .fs-wdm-grid{grid-template-columns:minmax(0,1fr) minmax(0,15rem)}
  [data-fs-theme='ward'] .fs-wdm-title{font-size:19.5px}
  [data-fs-theme='ward'] .fs-wdm-ref{display:none}
  [data-fs-theme='ward'] .fs-wdm-sum{padding-inline:18px 16px}
  [data-fs-theme='ward'] .fs-wdm-sum-fig{font-size:28px}
  [data-fs-theme='ward'] .fs-wdm-sum-btn{--wd-sb-track:.07em;font-size:11.5px}
  [data-fs-theme='ward'] .fs-wdm-sum-li{font-size:13px}
}
@container (max-width: 30rem){
  [data-fs-theme='ward'] .fs-wdm-grid{grid-template-columns:minmax(0,1fr)}
  [data-fs-theme='ward'] .fs-wdm-r-t{margin-top:4px}
}
/* The same composite in the phone menu: the tag and the rows only
   (names, prices, turnaround chips), on an 18px cut. */
[data-fs-theme='ward'] .fs-hdr-mobile .fs-wdm-plate{--wd-cut:18px}
[data-fs-theme='ward'] .fs-hdr-mobile .fs-wdm-grid{grid-template-columns:minmax(0,1fr)}
[data-fs-theme='ward'] .fs-hdr-mobile .fs-wdm-side,[data-fs-theme='ward'] .fs-hdr-mobile .fs-wdm-title,[data-fs-theme='ward'] .fs-hdr-mobile .fs-wdm-ref,[data-fs-theme='ward'] .fs-hdr-mobile .fs-wdm-heads,[data-fs-theme='ward'] .fs-hdr-mobile .fs-wdm-r-d,[data-fs-theme='ward'] .fs-hdr-mobile .fs-wdm-r-who,[data-fs-theme='ward'] .fs-hdr-mobile .fs-wdm-lf{display:none}
[data-fs-theme='ward'] .fs-hdr-mobile .fs-wdm-led{padding:18px 16px 6px 20px}
[data-fs-theme='ward'] .fs-hdr-mobile .fs-wdm-lh{padding-bottom:12px}
[data-fs-theme='ward'] .fs-hdr-mobile .fs-wdm-r-j{font-size:15px}

@media (prefers-reduced-motion: reduce){
  [data-fs-theme='ward'] .fs-hdr-cta,[data-fs-theme='ward'] .fs-wdm-r{transition:none}
}


/* Tokens (mockup 28–45). --mt-rule kerb hairlines; --mt-edge stone and
   panel outlines; --mt-pin unvisited rings; --mt-dash the route's
   dashes; --mt-road the carriageway (solid, so pins sit on it);
   --mt-verge the soft band round it; --mt-lead the lead stone's wash;
   --mt-keyline the enamel keyline inside a filled plate. */
[data-fs-theme='milestone']{--fs-chrome-mode:light;--mt-rule:rgb(var(--c-ink-950) / .16);--mt-edge:rgb(var(--c-ink-950) / .2);--mt-pin:rgb(var(--c-ink-950) / .35);--mt-dash:rgb(var(--c-brand-600) / .75);--mt-road:color-mix(in srgb, rgb(var(--c-ink-950)) 22%, rgb(var(--c-paper)));--mt-verge:rgb(var(--c-ink-950) / .08);--mt-lead:color-mix(in srgb, rgb(var(--c-brand-600)) 6%, rgb(var(--c-paper-soft)));--mt-keyline:color-mix(in srgb, var(--fs-on-brand, rgb(var(--c-paper))) 85%, transparent)}
[data-fs-theme='milestone'].dark{--fs-chrome-mode:dark;--mt-rule:rgb(var(--c-ink-950) / .18);--mt-edge:rgb(var(--c-ink-950) / .24);--mt-road:color-mix(in srgb, rgb(var(--c-ink-950)) 26%, rgb(var(--c-paper)));--mt-lead:color-mix(in srgb, rgb(var(--c-brand-600)) 9%, rgb(var(--c-paper-soft)))}
/* The strip, an enamel band: the note first, the hours behind a
   waypoint ring in the word colour, the phone in Vollkorn; spaced caps
   that tighten on a narrower line (R-B4-3). */
[data-fs-theme='milestone'] .fs-hdr-util{container-type:inline-size;background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)))}
[data-fs-theme='milestone'] .fs-hdr-util-in{container-type:inline-size;container-name:fs-strip-in;display:flex;align-items:center;gap:0;min-height:0;padding-block:9px;border-bottom:0;color:inherit;white-space:nowrap}
[data-fs-theme='milestone'] .fs-hdr-util-item{display:inline-flex;font-weight:600;font-size:11.5px;line-height:1.2;letter-spacing:var(--mt-strack,.14em);text-transform:uppercase}
[data-fs-theme='milestone'] .fs-hdr-util-note{order:-1;margin-right:auto}
[data-fs-theme='milestone'] .fs-hdr-util-hours{gap:9px;margin-left:var(--mt-sgap,26px)}
[data-fs-theme='milestone'] .fs-hdr-util-dot{width:9px;height:9px;border:2px solid currentColor;border-radius:50%;background:transparent}
[data-fs-theme='milestone'] .fs-hdr-util-tel{margin-left:var(--mt-sgap,26px);font-family:var(--font-display, Vollkorn, Georgia, serif);font-weight:700;font-size:14.5px;line-height:1;letter-spacing:.05em;text-transform:none;color:inherit;font-variant-numeric:lining-nums tabular-nums}
[data-fs-theme='milestone'] .fs-hdr-util-in:not(:has(.fs-hdr-util-note)) .fs-hdr-util-hours{margin-left:0;margin-right:auto}
@container fs-strip-in (max-width: 52rem){
  [data-fs-theme='milestone'] .fs-hdr-util-item{--mt-strack:.06em;--mt-sgap:18px}
}
@container (max-width: 40rem){
  [data-fs-theme='milestone'] .fs-hdr-util-in{display:flex}
}
/* Both rules now query fs-strip-in (the strip's LINE, R-B3-1) rather than
   leaving .fs-hdr-util-in's centring on an unnamed query that resolved
   against the full strip instead — see studio-calm-chrome-styles.ts's own
   fix of this same mismatch for the full rationale. */
@container fs-strip-in (max-width: 40rem){
  [data-fs-theme='milestone'] .fs-hdr-util-item:not(.fs-hdr-util-tel){display:none}
  [data-fs-theme='milestone'] .fs-hdr-util-tel{margin-inline:auto}
}
/* The band closes on a plain kerb line; the panel hangs straight off it. */
[data-fs-theme='milestone'] .fs-hdr-band{container-type:inline-size;container-name:fs-band;border-bottom:1px solid var(--mt-rule);background:rgb(var(--c-paper))}
[data-fs-theme='milestone'] .fs-hdr-row{min-height:clamp(64px, (100cqi - 760px) * 100, 78px);padding-block:0}
/* The lockup (R-B4-9): the milestone mark in a 44px box and the name in
   Vollkorn 700, wrapping to two lines like BRAMWELL / SCHOOL OF MOTORING. */
[data-fs-theme='milestone'] .fs-hdr-row > :first-child{gap:8px;margin-right:auto;padding-right:20px;color:rgb(var(--c-ink-950))}
[data-fs-theme='milestone'] .fs-hdr-row [data-fs-logo-mark]{width:44px;height:44px}
[data-fs-theme='milestone'] .fs-hdr-row [data-fs-wordmark]{max-width:8em;font-size:18px;line-height:1.05;white-space:normal}
/* The button: an enamel fingerpost arm — brand fill, on-brand caps, a
   16px point, and a keyline 3px in that follows the point (::before in
   the keyline colour, ::after in the brand, both clipped to the arrow,
   under the words). The platform's hover fill is the deep brand; the
   inner arrow follows it. Focus underlines the words (the clip would cut
   an outline). */
[data-fs-theme='milestone'] .fs-hdr-cta{--fs-hdr-cta-bg:rgb(var(--c-brand-600));--fs-hdr-cta-fg:var(--fs-on-brand, rgb(var(--c-paper)));--fs-hdr-cta-fg-hover:var(--fs-on-brand, rgb(var(--c-paper)))}
[data-fs-theme='milestone'] .fs-hdr-cta.fs-hdr-cta{--mt-pt:16px;position:relative;isolation:isolate;flex:none;height:var(--mt-ch,46px);padding:0 calc(var(--mt-pt) + var(--mt-cpr,20px)) 0 var(--mt-cpl,20px);border-radius:0;clip-path:polygon(0 0,calc(100% - var(--mt-pt)) 0,100% 50%,calc(100% - var(--mt-pt)) 100%,0 100%);font-weight:700;font-size:var(--mt-cfs,12.5px);line-height:1;letter-spacing:var(--mt-ctrack,.14em);text-transform:uppercase;white-space:nowrap;transition:background-color .2s ease}
[data-fs-theme='milestone'] .fs-hdr-cta.fs-hdr-cta::before{content:"";position:absolute;z-index:-1;inset:3px;background:var(--mt-keyline);clip-path:polygon(0 0,calc(100% - var(--mt-pt) * .87) 0,100% 50%,calc(100% - var(--mt-pt) * .87) 100%,0 100%)}
[data-fs-theme='milestone'] .fs-hdr-cta.fs-hdr-cta::after{content:"";position:absolute;z-index:-1;inset:4.5px;background:rgb(var(--c-brand-600));clip-path:polygon(0 0,calc(100% - var(--mt-pt) * .8) 0,100% 50%,calc(100% - var(--mt-pt) * .8) 100%,0 100%);transition:background-color .2s ease}
[data-fs-theme='milestone'] .fs-hdr-cta.fs-hdr-cta:hover::after{background:rgb(var(--c-brand-700))}
[data-fs-theme='milestone'] .fs-hdr-cta.fs-hdr-cta:focus-visible{outline:none;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
[data-fs-theme='milestone'] .fs-hdr-row .fs-hdr-cta{margin-left:var(--mt-cgap,24px)}
/* The menu button: a roundel ring; its middle bar is a road marking. */
[data-fs-theme='milestone'] .fs-hdr-menu-btn{width:44px;height:44px;margin-left:14px;border:2px solid rgb(var(--c-ink-950));border-radius:50%;background:linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) center calc(50% - 6px)/18px 2px no-repeat,repeating-linear-gradient(90deg,rgb(var(--c-brand-600)) 0 5px,transparent 5px 8px) center/18px 2px no-repeat,linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) center calc(50% + 6px)/18px 2px no-repeat}
[data-fs-theme='milestone'] .fs-hdr-menu-btn svg{display:none}
/* The panel hangs straight off the kerb line: no gap, no top edge. */
[data-fs-theme='milestone'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite){margin-top:0px !important;background:transparent !important;border:0 !important;border-radius:0 0 10px 10px !important;box-shadow:0 24px 46px -24px rgb(0 0 0 / .34) !important}
[data-fs-theme='milestone'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite)::before{top:0;height:0px}
/* Layout tiers (mockup 261–283), desktop only. The fingerpost keeps its
   point and keyline; the route keeps every ring. From Centered the
   fingerpost is drawn 42px tall (R-B4-14). */
@container fs-band (min-width: 62rem){
  /* Boxed (880). */
  @container (max-width: 60rem){
    [data-fs-theme='milestone'] .fs-hdr-row > :first-child{padding-right:14px}
    [data-fs-theme='milestone'] .fs-hdr-row [data-fs-logo-mark]{width:40px;height:40px}
    [data-fs-theme='milestone'] .fs-hdr-row [data-fs-wordmark]{font-size:16.5px}
    [data-fs-theme='milestone'] .fsmenu-waypoint{--mt-pad:12px}
    [data-fs-theme='milestone'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{--mt-cgap:18px;--mt-cpl:16px;--mt-cpr:15px;--mt-ctrack:.1em}
  }
  /* Centered (784). */
  @container (max-width: 50rem){
    [data-fs-theme='milestone'] .fs-hdr-row [data-fs-logo-mark]{width:36px;height:36px}
    [data-fs-theme='milestone'] .fs-hdr-row [data-fs-wordmark]{font-size:15px}
    [data-fs-theme='milestone'] .fsmenu-waypoint{--mt-pad:9px;--mt-fs:14.5px}
    [data-fs-theme='milestone'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{--mt-pt:14px;--mt-ch:42px;--mt-cgap:14px;--mt-cpl:14px;--mt-cpr:12px;--mt-cfs:12px;--mt-ctrack:.07em;min-height:42px}
  }
  /* Minimalist (688), the tightest — the plan's own numbers (mockup
     line 277-282), matching the mockup's .ms-logo/.ms-item/.ms-cta
     Minimalist tier verbatim. The nested @container rules in this whole
     62rem block are unnamed, so per spec they resolve against the
     NEAREST ancestor container for the elements they style — which is
     .fs-hdr-row itself (menu-styles.ts sets 'container-type: inline-size'
     on it globally), not the named fs-band container the outer rule
     queries. That is harmless under the default/full site Layout, where
     the row tracks the band's width 1:1 — but under a NARROWING site
     Layout (boxed/centered/minimal) the row's own content box is
     clamped far below the band's (measured live: layout=minimal narrows
     the row to a 680px content box while the band itself stays 1265px,
     so this tier's max-width: 44rem check fires off the row, correctly,
     while the band is still "full"). Live-measured on the REAL row
     (editor/published, these values): 48px to spare — these numbers
     were never tight here. The only surface where this tier was ever
     actually short of room is /preview/view, whose own row carries
     extra chrome (the "Edit Template" link and the dark/light toggle,
     R16 below, both still drawn at this width — R16's own hide only
     fires at 34rem and under) that no real row has; that preview-only
     shortfall gets a preview-only fix, scoped behind
     [data-fs-preview-edit], immediately below this block — not a
     squeeze baked into the numbers every real site also renders. */
  @container (max-width: 44rem){
    [data-fs-theme='milestone'] .fs-hdr-row > :first-child{padding-right:10px}
    [data-fs-theme='milestone'] .fs-hdr-row [data-fs-logo-mark]{width:32px;height:32px}
    [data-fs-theme='milestone'] .fs-hdr-row [data-fs-wordmark]{font-size:13.5px}
    [data-fs-theme='milestone'] .fsmenu-waypoint{--mt-pad:7px;--mt-fs:14px;--mt-track:0}
    [data-fs-theme='milestone'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{--mt-cgap:10px;--mt-cpl:12px;--mt-cpr:9px;--mt-cfs:11.5px;--mt-ctrack:.04em}
  }
  /* The preview-only compensation for the above: /preview/view's own row
     (TemplateViewClient.tsx) renders the dark/light toggle and the "Edit
     Template" link alongside the menu button, plus forces the wordmark
     to a fixed size via an inline style — none of which the editor or
     published row ever carries — so only ITS row is short of room at
     this tier. Scoped behind [data-fs-preview-edit] (the stable,
     surface-only hook the Edit Template link alone carries; :has()
     reaches up from it) so a real site's own Minimalist Layout always
     renders the plan's full numbers above. */
  @container (max-width: 44rem){
    [data-fs-theme='milestone'] .fs-hdr-row:has([data-fs-preview-edit]) > :first-child{padding-right:8px}
    [data-fs-theme='milestone'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{font-size:12.5px}
    [data-fs-theme='milestone'] .fs-hdr-row:has([data-fs-preview-edit]) .fsmenu-waypoint{--mt-pad:4px}
    [data-fs-theme='milestone'] .fs-hdr-row:has([data-fs-preview-edit]) .fs-hdr-cta.fs-hdr-cta{--mt-cgap:4px;--mt-cpl:10px;--mt-cpr:7px}
  }
}
/* Phones: the platform hides the button at row 34rem; the lockup steps down. */
@container (max-width: 34rem){
  [data-fs-theme='milestone'] .fs-hdr-row [data-fs-logo-mark]{width:36px;height:36px}
  [data-fs-theme='milestone'] .fs-hdr-row [data-fs-wordmark]{font-size:15px}
}
/* R16 (precedent in coachwork/forecourt/keyway/ward-chrome-styles.ts): the
   read-only preview alone renders a visitor dark/light toggle
   (.fs-hdr-mode) plus a fixed-width "Edit Template" link
   (TemplateViewClient.tsx), present on no real site. At the preview's own
   390/320px widths that trailing pair, next to the menu button, needs
   more room than the row has, so the button ran 59px (390) / 129px
   (320) past the edge even though .fs-hdr-cta is already hidden by the
   platform's own <=34rem rule. Measured: hiding .fs-hdr-mode alone frees
   36px (not enough at either width here); hiding the wordmark too at
   <=22rem closes the rest. [data-fs-preview-edit] is the stable,
   surface-only hook the Edit Template link alone carries; :has() reaches
   up from it so only a row that actually contains it is affected —
   published and editor markup never has the hook. */
@container (max-width: 34rem){
  [data-fs-theme='milestone'] .fs-hdr-row:has([data-fs-preview-edit]) .fs-hdr-mode{display:none}
}
@container (max-width: 22rem){
  [data-fs-theme='milestone'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{display:none}
}
/* "Menu" on a fingerpost plate beside a roundel close; the pages as
   stops on a vertical route — a dashed brand line down the list's left,
   a 13px ring per page, yours the marker, an open group's ring filled. */
[data-fs-theme='milestone'] .fs-hdr-mobile{background:rgb(var(--c-paper))}
[data-fs-theme='milestone'] .fs-hdr-mobile-head{height:auto;padding:14px 16px;border-bottom:1px solid var(--mt-rule)}
[data-fs-theme='milestone'] .fs-hdr-mobile-title{display:inline-flex;align-items:center;padding:8px 30px 8px 14px;background:rgb(var(--c-brand-600));clip-path:polygon(0 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,0 100%);font-family:inherit;font-weight:700;font-size:12px;line-height:1.2;letter-spacing:.22em;text-transform:uppercase;color:var(--fs-on-brand, rgb(var(--c-paper)))}
[data-fs-theme='milestone'] .fs-hdr-mobile-close{width:42px;height:42px;border:2px solid rgb(var(--c-ink-950));border-radius:50%;color:rgb(var(--c-ink-950))}
[data-fs-theme='milestone'] .fs-hdr-mobile > nav{padding:6px 16px 0}
[data-fs-theme='milestone'] .fs-hdr-mobile-list{padding-left:38px;background:repeating-linear-gradient(180deg,var(--mt-dash) 0 1rem,transparent 1rem 1.7rem) 14px 27px/3px calc(100% - 54px) no-repeat}
[data-fs-theme='milestone'] .fs-hdr-mobile-row{position:relative;display:flex;align-items:center;min-height:54px;border-bottom:1px solid var(--mt-rule)}
[data-fs-theme='milestone'] .fs-hdr-mobile-list > li:last-child > .fs-hdr-mobile-row{border-bottom:0}
[data-fs-theme='milestone'] .fs-hdr-mobile-row::before{content:"";position:absolute;left:-29px;top:50%;width:13px;height:13px;margin-top:-6.5px;border-radius:50%;background:rgb(var(--c-paper));box-shadow:inset 0 0 0 2px var(--mt-pin)}
[data-fs-theme='milestone'] .fs-hdr-mobile-row:has(> .fs-hdr-mobile-link[aria-current]:not([aria-current='false']))::before{left:-31px;width:17px;height:17px;margin-top:-8.5px;background:radial-gradient(circle,rgb(var(--c-brand-600)) 0 3.5px,rgb(var(--c-paper)) 4px);box-shadow:inset 0 0 0 3px rgb(var(--c-brand-600))}
[data-fs-theme='milestone'] .fs-hdr-mobile-row:has(.fs-hdr-mobile-toggle[aria-expanded='true'])::before{background:rgb(var(--c-brand-600));box-shadow:inset 0 0 0 2px rgb(var(--c-brand-600))}
[data-fs-theme='milestone'] .fs-hdr-mobile-link:not(.is-sub){flex:1;font-family:var(--font-display, Vollkorn, Georgia, serif);font-weight:600;font-size:21px;line-height:1.15;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='milestone'] .fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false']){color:rgb(var(--c-brand-text))}
[data-fs-theme='milestone'] .fs-hdr-mobile-toggle{margin-right:8px;color:rgb(var(--c-ink-950))}
[data-fs-theme='milestone'] .fs-hdr-mobile-sub{padding:16px 0 20px;border-bottom:1px solid var(--mt-rule)}
/* A cast milestone (arched top, the card colour) carrying the strip's
   note, the phone as its figure, a dashed route rule and the hours; the
   fingerpost button full width under it. */
[data-fs-theme='milestone'] .fs-pmf-milestone{display:grid;gap:14px;margin:22px 0 24px}
[data-fs-theme='milestone'] .fs-pmf-stone{display:flex;flex-direction:column;align-items:center;gap:8px;padding:28px 18px 18px;border:1px solid var(--mt-edge);border-radius:8rem 8rem 10px 10px;background:rgb(var(--c-paper-soft));text-align:center}
[data-fs-theme='milestone'] .fs-pmf-note{margin:0;font-weight:700;font-size:10px;line-height:1.35;letter-spacing:.16em;text-transform:uppercase;color:rgb(var(--c-ink-700))}
[data-fs-theme='milestone'] .fs-pmf-big{margin:0;font-family:var(--font-display, Vollkorn, Georgia, serif);font-weight:700;font-size:28px;line-height:1.05;font-variant-numeric:lining-nums tabular-nums}
[data-fs-theme='milestone'] .fs-pmf-tel{color:rgb(var(--c-brand-text));text-decoration:none}
[data-fs-theme='milestone'] .fs-pmf-dash{display:block;width:100%;max-width:14rem;height:6px;background:repeating-linear-gradient(90deg,var(--mt-dash) 0 1.2rem,transparent 1.2rem 2rem) 0 0/100% 3px no-repeat,linear-gradient(var(--mt-rule),var(--mt-rule)) 0 100%/100% 1px no-repeat}
[data-fs-theme='milestone'] .fs-pmf-hours{margin:0;font-weight:600;font-size:14px;color:rgb(var(--c-ink-950))}
[data-fs-theme='milestone'] .fs-pmf .fs-hdr-cta.fs-pmf-cta{display:flex;width:100%;height:52px;margin:0}
/* The panel: the fingerpost plate, the dashed route rule and the enamel
   roundel (mockup's shared pieces, 51–60), then the route card itself
   (mockup 113–168). The shadow lives on the shell (above); the panel
   contributes only its edge and background. */
[data-fs-theme='milestone'] .fs-mtm-plate{display:inline-flex;align-items:center;justify-self:start;padding:7px 28px 7px 13px;background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)));font-weight:700;font-size:10.5px;line-height:1.2;letter-spacing:.22em;text-transform:uppercase;white-space:nowrap;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,0 100%)}
[data-fs-theme='milestone'] .fs-mtm-dash{display:block;align-self:stretch;height:6px;background:repeating-linear-gradient(90deg,var(--mt-dash) 0 1.2rem,transparent 1.2rem 2rem) 0 0/100% 3px no-repeat,linear-gradient(var(--mt-rule),var(--mt-rule)) 0 100%/100% 1px no-repeat}
[data-fs-theme='milestone'] .fs-mtm-roundel{display:flex;flex:none;flex-direction:column;align-items:center;justify-content:center;width:6.2rem;height:6.2rem;border-radius:50%;background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)));box-shadow:inset 0 0 0 3px rgb(var(--c-brand-600)),inset 0 0 0 4.5px var(--mt-keyline);text-align:center}
[data-fs-theme='milestone'] .fs-mtm-rt{font-family:var(--font-display, Vollkorn, Georgia, serif);font-weight:700;font-size:17px;line-height:1.1}
[data-fs-theme='milestone'] .fs-mtm-rb{max-width:4.6rem;margin-top:4px;padding-top:4px;border-top:1px solid color-mix(in srgb, var(--fs-on-brand, rgb(var(--c-paper))) 55%, transparent);font-weight:700;font-size:8.5px;line-height:1.25;letter-spacing:.13em;text-transform:uppercase}
[data-fs-theme='milestone'] .fs-mtm-panel{container-type:inline-size;background:rgb(var(--c-paper));border:1px solid var(--mt-edge);border-top:0;border-radius:0 0 10px 10px}
[data-fs-theme='milestone'] .fs-mtm-grid{--mt-gut:clamp(20px,2.3cqi,32px);display:grid;grid-template-columns:minmax(0,1fr) clamp(15rem,25%,19.5rem);grid-template-areas:"head side" "ways side" "route side";gap:24px calc(var(--mt-gut) * 1.25);padding:calc(var(--mt-gut) * .9) var(--mt-gut) var(--mt-gut)}
[data-fs-theme='milestone'] .fs-mtm-head{grid-area:head;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px 28px}
[data-fs-theme='milestone'] .fs-mtm-head .fs-mtm-plate{grid-column:1/-1}
[data-fs-theme='milestone'] .fs-mtm-title{margin:0;font-family:var(--font-display, Vollkorn, Georgia, serif);font-weight:700;font-size:25px;line-height:1.2;color:rgb(var(--c-ink-950));text-wrap:balance}
[data-fs-theme='milestone'] .fs-mtm-title .fs-mtm-acc{font-style:normal;color:rgb(var(--c-brand-text))}
[data-fs-theme='milestone'] .fs-mtm-hnote{margin:0;max-width:44ch;font-size:13.5px;line-height:1.5;color:rgb(var(--c-ink-700))}
[data-fs-theme='milestone'] .fs-mtm-stones{list-style:none;margin:0;padding:0;grid-area:ways;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:clamp(12px,1.5cqi,20px)}
[data-fs-theme='milestone'] .fs-mtm-stone{display:flex;flex-direction:column;align-items:center;min-width:0;padding:32px 16px 18px;border:1px solid var(--mt-edge);border-radius:8rem 8rem 8px 8px;background:rgb(var(--c-paper-soft));text-align:center}
[data-fs-theme='milestone'] .fs-mtm-stone:first-child{border:2px solid rgb(var(--c-brand-600));background:var(--mt-lead)}
[data-fs-theme='milestone'] .fs-mtm-st-n{font-weight:700;font-size:10.5px;line-height:1.35;letter-spacing:.16em;text-transform:uppercase;color:rgb(var(--c-ink-700));text-decoration:none}
[data-fs-theme='milestone'] .fs-mtm-st-n:hover{color:rgb(var(--c-ink-950))}
[data-fs-theme='milestone'] .fs-mtm-st-p{margin-top:8px;font-family:var(--font-display, Vollkorn, Georgia, serif);font-weight:700;font-size:34px;line-height:1;color:rgb(var(--c-brand-text));font-variant-numeric:lining-nums}
[data-fs-theme='milestone'] .fs-mtm-st-u{margin-top:6px;font-size:12.5px;line-height:1.35;color:rgb(var(--c-ink-700))}
[data-fs-theme='milestone'] .fs-mtm-stone .fs-mtm-dash{margin:14px 0 12px}
[data-fs-theme='milestone'] .fs-mtm-st-note{margin:0;max-width:28ch;font-size:13.5px;line-height:1.5;color:rgb(var(--c-ink-700))}
[data-fs-theme='milestone'] .fs-mtm-route{grid-area:route;min-width:0;padding-top:18px;border-top:1px solid var(--mt-rule)}
[data-fs-theme='milestone'] .fs-mtm-route-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px}
[data-fs-theme='milestone'] .fs-mtm-route-t{font-weight:700;font-size:10.5px;line-height:1.2;letter-spacing:.18em;text-transform:uppercase;color:rgb(var(--c-brand-text))}
[data-fs-theme='milestone'] .fs-mtm-route-m{font-family:var(--font-display, Vollkorn, Georgia, serif);font-weight:600;font-size:17px;line-height:1.3;color:rgb(var(--c-ink-950))}
[data-fs-theme='milestone'] .fs-mtm-link{display:inline-flex;align-items:center;margin-left:auto;padding-bottom:3px;border-bottom:2px dashed rgb(var(--c-accent, var(--c-brand-600)));font-weight:700;font-size:11.5px;line-height:1.2;letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='milestone'] .fs-mtm-link:hover{border-color:rgb(var(--c-brand-600))}
[data-fs-theme='milestone'] .fs-mtm-stops{list-style:none;position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin:18px 0 0;padding:0}
[data-fs-theme='milestone'] .fs-mtm-stops::before{content:"";position:absolute;left:calc(100% / 12);right:calc(100% / 12);top:9px;height:14px;border-radius:7px;background:repeating-linear-gradient(90deg,rgb(var(--c-paper)) 0 9px,transparent 9px 18px) 0 50%/100% 2px no-repeat,var(--mt-road);box-shadow:0 0 0 6px var(--mt-verge)}
[data-fs-theme='milestone'] .fs-mtm-stop{position:relative;z-index:1;display:grid;justify-items:center;align-content:start;gap:3px;min-width:0;padding-inline:6px;text-align:center}
[data-fs-theme='milestone'] .fs-mtm-pin{display:grid;place-items:center;width:32px;height:32px;margin-bottom:7px;border:2px solid var(--mt-pin);border-radius:50%;background:rgb(var(--c-paper));color:rgb(var(--c-ink-700));font-weight:800;font-size:12px;line-height:1;font-variant-numeric:tabular-nums}
[data-fs-theme='milestone'] .fs-mtm-stop:first-child .fs-mtm-pin{border-color:rgb(var(--c-brand-600));background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)));box-shadow:0 0 0 3px rgb(var(--c-paper)),0 0 0 5px rgb(var(--c-brand-600))}
[data-fs-theme='milestone'] .fs-mtm-stop-h{font-weight:700;font-size:10px;line-height:1.3;letter-spacing:.12em;text-transform:uppercase;color:rgb(var(--c-brand-text));text-wrap:balance}
[data-fs-theme='milestone'] .fs-mtm-stop-t{max-width:16ch;font-size:13px;font-weight:600;line-height:1.35;color:rgb(var(--c-ink-950))}
[data-fs-theme='milestone'] .fs-mtm-side{grid-area:side;display:flex;flex-direction:column;align-items:center;min-width:0;padding:20px 20px 22px;border:1px solid var(--mt-edge);border-radius:999px 999px 10px 10px;background:rgb(var(--c-paper-soft));text-align:center}
[data-fs-theme='milestone'] .fs-mtm-side-t{margin:16px 0 0;font-family:var(--font-display, Vollkorn, Georgia, serif);font-weight:700;font-size:20px;line-height:1.25;color:rgb(var(--c-ink-950));text-wrap:balance}
[data-fs-theme='milestone'] .fs-mtm-side-t .fs-mtm-acc{font-style:normal;color:rgb(var(--c-brand-text))}
[data-fs-theme='milestone'] .fs-mtm-side-n{margin:8px 0 0;max-width:30ch;font-size:13.5px;line-height:1.5;color:rgb(var(--c-ink-700))}
[data-fs-theme='milestone'] .fs-mtm-side-a{color:rgb(var(--c-ink-950));font-weight:600;text-decoration:underline dashed rgb(var(--c-accent, var(--c-brand-600))) 1.5px;text-underline-offset:4px}
[data-fs-theme='milestone'] .fs-mtm-side-l{list-style:none;align-self:stretch;margin:16px 0 0;padding:0;text-align:left}
[data-fs-theme='milestone'] .fs-mtm-side-li{position:relative;padding:8px 0 8px 18px;border-top:1px solid var(--mt-rule);font-size:13.5px;line-height:1.4;color:rgb(var(--c-ink-700))}
[data-fs-theme='milestone'] .fs-mtm-side-li::before{content:"";position:absolute;left:2px;top:calc(50% - 3.5px);width:7px;height:7px;border-radius:50%;background:rgb(var(--c-accent, var(--c-brand-600)))}
[data-fs-theme='milestone'] .fs-mtm-side .fs-mtm-dash{flex:none;height:22px;margin:auto 0 16px;border-top:16px solid transparent;background-origin:padding-box;background-clip:padding-box}
[data-fs-theme='milestone'] .fs-mtm-btn{display:flex;align-items:center;justify-content:center;align-self:stretch;padding:14px 12px;border:2px solid rgb(var(--c-brand-600));border-radius:6px;background:rgb(var(--c-brand-600));box-shadow:inset 0 0 0 2px var(--mt-keyline);color:var(--fs-on-brand, rgb(var(--c-paper)));font-weight:700;font-size:12px;line-height:1;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;text-decoration:none;transition:box-shadow .25s ease}
[data-fs-theme='milestone'] .fs-mtm-btn:hover{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--fs-on-brand, rgb(var(--c-paper))) 35%, transparent)}
[data-fs-theme='milestone'] .fs-mtm-tel{margin-top:14px;padding-bottom:3px;border-bottom:2px dashed rgb(var(--c-accent, var(--c-brand-600)));font-family:var(--font-display, Vollkorn, Georgia, serif);font-weight:700;font-size:14px;line-height:1.2;letter-spacing:.06em;color:rgb(var(--c-ink-950));font-variant-numeric:lining-nums tabular-nums;text-decoration:none}
/* The panel matches the bar (content = panel - 2px of side border: 1390
   / 1230 / 1150 / 878 / 782 / 686; phone menu 698 and 320). */
@container (max-width: 64rem){
  [data-fs-theme='milestone'] .fs-mtm-grid{grid-template-columns:minmax(0,1fr) 13.5rem;grid-template-areas:"head side" "ways side" "route route";row-gap:22px}
  [data-fs-theme='milestone'] .fs-mtm-head{grid-template-columns:minmax(0,1fr)}
  [data-fs-theme='milestone'] .fs-mtm-title{font-size:22px}
  [data-fs-theme='milestone'] .fs-mtm-side{padding:16px 14px 18px}
  [data-fs-theme='milestone'] .fs-mtm-side .fs-mtm-roundel{width:5.2rem;height:5.2rem}
  [data-fs-theme='milestone'] .fs-mtm-side .fs-mtm-rt{font-size:15px}
  [data-fs-theme='milestone'] .fs-mtm-side-t{margin-top:12px;font-size:17px}
  [data-fs-theme='milestone'] .fs-mtm-btn{padding-inline:8px;font-size:11px;letter-spacing:.08em}
  [data-fs-theme='milestone'] .fs-mtm-side-l{display:none}
}
@container (max-width: 50rem){
  [data-fs-theme='milestone'] .fs-mtm-st-note,[data-fs-theme='milestone'] .fs-mtm-hnote,[data-fs-theme='milestone'] .fs-mtm-side-n{display:none}
  [data-fs-theme='milestone'] .fs-mtm-stone{padding:24px 10px 16px}
  [data-fs-theme='milestone'] .fs-mtm-st-p{font-size:28px}
  [data-fs-theme='milestone'] .fs-mtm-stone .fs-mtm-dash{margin-bottom:0}
  [data-fs-theme='milestone'] .fs-mtm-stop-t{font-size:12.5px}
}
@container (max-width: 30rem){
  [data-fs-theme='milestone'] .fs-mtm-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "ways" "route" "side"}
  [data-fs-theme='milestone'] .fs-mtm-stones{gap:8px}
  [data-fs-theme='milestone'] .fs-mtm-stone{padding:20px 6px 12px;border-radius:5rem 5rem 6px 6px}
  [data-fs-theme='milestone'] .fs-mtm-st-n{font-size:9.5px;letter-spacing:.08em}
  [data-fs-theme='milestone'] .fs-mtm-st-p{margin-top:6px;font-size:22px}
  [data-fs-theme='milestone'] .fs-mtm-st-u,[data-fs-theme='milestone'] .fs-mtm-stone .fs-mtm-dash{display:none}
  [data-fs-theme='milestone'] .fs-mtm-route{padding-top:14px}
  [data-fs-theme='milestone'] .fs-mtm-link{margin-left:0}
  [data-fs-theme='milestone'] .fs-mtm-stops{grid-template-columns:minmax(0,1fr);row-gap:8px;margin-top:14px}
  [data-fs-theme='milestone'] .fs-mtm-stops::before{left:9px;right:auto;top:16px;bottom:16px;width:14px;height:auto;background:repeating-linear-gradient(180deg,rgb(var(--c-paper)) 0 8px,transparent 8px 16px) 50% 0/2px 100% no-repeat,var(--mt-road);box-shadow:0 0 0 5px var(--mt-verge)}
  [data-fs-theme='milestone'] .fs-mtm-stop{grid-template-columns:32px minmax(0,1fr);justify-items:start;align-items:center;column-gap:12px;row-gap:1px;padding:0;text-align:left}
  [data-fs-theme='milestone'] .fs-mtm-pin{grid-row:1/3;margin:0}
  [data-fs-theme='milestone'] .fs-mtm-stop-t{max-width:none}
  [data-fs-theme='milestone'] .fs-hdr-mobile .fs-mtm-stops::before{display:none}
}
/* The same composite in the phone menu: no head, notes, side milestone
   or route title; the stones on a lower 5rem arch. */
[data-fs-theme='milestone'] .fs-hdr-mobile .fs-mtm-panel{border:0;border-radius:0;box-shadow:none;background:transparent}
[data-fs-theme='milestone'] .fs-hdr-mobile .fs-mtm-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"ways" "route";row-gap:20px;padding:0}
[data-fs-theme='milestone'] .fs-hdr-mobile .fs-mtm-head,[data-fs-theme='milestone'] .fs-hdr-mobile .fs-mtm-side,[data-fs-theme='milestone'] .fs-hdr-mobile .fs-mtm-st-note,[data-fs-theme='milestone'] .fs-hdr-mobile .fs-mtm-route-m{display:none}
[data-fs-theme='milestone'] .fs-hdr-mobile .fs-mtm-stone{border-radius:5rem 5rem 8px 8px}
@media (prefers-reduced-motion: reduce){
  [data-fs-theme='milestone'] .fs-hdr-cta,[data-fs-theme='milestone'] .fs-hdr-cta::after,[data-fs-theme='milestone'] .fs-mtm-btn{transition:none}
}


/* Tokens (mockup 43–44). --or-rule: the platform's solved line (the rows
   and dotted leaders OrielBlocks draws); --or-hair: the soft edge;
   --or-ink2/--or-ref: descriptions and references; --or-eye: the accent
   eyebrow; --or-wash: the marked row (brand-50 at 55%, 90% in dark);
   --or-glass: the translucent header ground; --or-deep: the button hover
   (R-B5-5); --or-shadow: the panel (dramatic dial); --or-arrow: the
   family's arrow as a mask. */
[data-fs-theme='oriel']{--fs-chrome-mode:light;--or-rule:rgb(var(--c-line));--or-hair:rgb(var(--c-line-soft));--or-ink2:rgb(var(--c-ink-700));--or-ref:rgb(var(--c-ink-400));--or-eye:rgb(var(--c-accent, var(--c-brand-600)));--or-wash:rgb(var(--c-brand-50) / .55);--or-glass:rgb(var(--c-paper) / .9);--or-deep:color-mix(in srgb, rgb(var(--c-brand-600)) 86%, rgb(var(--c-ink-950)));--or-shadow:0 34px 64px -28px rgb(0 0 0 / .42);--or-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h16M14 6l6 6-6 6'/%3E%3C/svg%3E")}
[data-fs-theme='oriel'].dark{--fs-chrome-mode:dark;--or-wash:rgb(var(--c-brand-50) / .9);--or-deep:color-mix(in srgb, rgb(var(--c-brand-600)) 86%, rgb(var(--c-paper)));--or-shadow:0 34px 64px -24px rgb(0 0 0 / .75)}
/* The strip IS the sheet bar: the eyebrow left in the accent, the address
   and hours as references split by hairlines, the phone in ink; the 2px
   ink rule painted in the strip line's CONTENT box so it lines up with the
   logo and the button in every Layout. The inner line is the named
   container fs-strip-in (R-B5-1). */
[data-fs-theme='oriel'] .fs-hdr-util{container-type:inline-size;background:transparent;color:rgb(var(--c-ink-950));font-weight:600;font-size:10.5px;line-height:1.3;letter-spacing:.12em;text-transform:uppercase;font-variant-numeric:tabular-nums}
[data-fs-theme='oriel'] .fs-hdr-util-in{container-type:inline-size;container-name:fs-strip-in;display:flex;align-items:baseline;gap:18px;min-height:0;padding-block:12px 0;border-bottom:0;color:inherit;background:linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) 0 100%/100% 2px no-repeat content-box}
[data-fs-theme='oriel'] .fs-hdr-util-item{display:inline-flex;align-items:baseline;gap:0;padding-bottom:10px;white-space:nowrap}
[data-fs-theme='oriel'] .fs-hdr-util-note{order:-1;margin-right:auto;font-weight:700;letter-spacing:.16em;color:var(--or-eye)}
[data-fs-theme='oriel'] .fs-hdr-util-address,[data-fs-theme='oriel'] .fs-hdr-util-hours{color:var(--or-ref)}
[data-fs-theme='oriel'] .fs-hdr-util-address::after,[data-fs-theme='oriel'] .fs-hdr-util-hours::after{content:"";align-self:center;flex:none;width:1px;height:.9em;margin-left:18px;background:var(--or-rule)}
[data-fs-theme='oriel'] .fs-hdr-util-dot{display:none}
[data-fs-theme='oriel'] .fs-hdr-util-tel{margin-left:0;font-weight:800;letter-spacing:.1em;color:rgb(var(--c-ink-950))}
@container fs-strip-in (max-width: 62rem){
  [data-fs-theme='oriel'] .fs-hdr-util-address{display:none}
}
/* FIX ROUND 1 (2026-10-02): the mockup's own comment estimates the
   note+hours+phone trio (address dropped) at 681px, but CDP-measured
   real rendering (same 10.5px/600/.12em/uppercase caps, same copy) is
   336+367+115+2*18px gaps = 854px — "Phones answered until 8pm, seven
   days" alone renders far wider than the napkin figure. At 44rem
   (704px) hours stayed visible well below that 854px floor, and on
   the editor's tablet canvas (718px content-box) note+hours alone
   (336+18+367=721) still doesn't fit, so the shared .fs-hdr-util-in's
   flex-wrap:wrap (menu-styles.ts, never overridden here) wrapped the
   strip onto 2 lines. Raised to 54rem (864px, 854 + a 10px buffer) so
   hours only ever shows where the full trio actually fits on one line. */
@container fs-strip-in (max-width: 54rem){
  [data-fs-theme='oriel'] .fs-hdr-util-hours{display:none}
}
@container (max-width: 40rem){
  [data-fs-theme='oriel'] .fs-hdr-util-in{display:flex;justify-content:flex-end}
  [data-fs-theme='oriel'] .fs-hdr-util-item:not(.fs-hdr-util-tel){display:none}
}
/* The band: translucent paper with a blur (the hero photograph reads
   under the sticky bar), closed by a soft hairline; the named container
   fs-band (the desktop gate). The row inside stays the panel's anchor. */
[data-fs-theme='oriel'] .fs-hdr-band{container-type:inline-size;container-name:fs-band;border-bottom-width:0;background:var(--or-glass);-webkit-backdrop-filter:blur(12px) saturate(1.2);backdrop-filter:blur(12px) saturate(1.2);box-shadow:inset 0 -1px 0 var(--or-hair)}
/* The row: flush top and bottom (the cells run full height), no gap. */
[data-fs-theme='oriel'] .fs-hdr-row{column-gap:0;padding-block:0;min-height:clamp(66px, (100cqi - 760px) * 100, 78px)}
/* THE LEADER: the row's ::after, flex order 1 between the logo (0) and
   everything else (2): a 2px dotted rule from the name to the menu, as a
   printed index runs an entry to its folio; it takes whatever the Layout
   leaves, so a Full-width bar still reads as one set line. */
[data-fs-theme='oriel'] .fs-hdr-row::after{content:"";order:1;flex:1 1 auto;min-width:28px;height:0;margin-inline:18px;border-bottom:2px dotted var(--or-rule);transform:translateY(7px)}
[data-fs-theme='oriel'] .fs-hdr-row > :not(:first-child){order:2}
/* The lockup: the bay-window mark (a 40px box = the design's 40px logo),
   a hairline, the name in Bodoni caps. --or-ls scales all three. */
[data-fs-theme='oriel'] .fs-hdr-row > :first-child{--or-ls:1;flex:none;gap:calc(18px * var(--or-ls))}
[data-fs-theme='oriel'] .fs-hdr-row [data-fs-logo-mark]{width:calc(40px * var(--or-ls));height:calc(40px * var(--or-ls))}
[data-fs-theme='oriel'] .fs-hdr-row [data-fs-wordmark]{display:inline-flex;align-items:center;gap:.4em;font-size:calc(21px * var(--or-ls));line-height:1;letter-spacing:.136em;text-transform:uppercase;white-space:nowrap}
[data-fs-theme='oriel'] .fs-hdr-row [data-fs-wordmark]::before{content:"";flex:none;width:1px;height:.86em;background:rgb(var(--c-ink-950) / .45)}
/* The button: the family's solid button, 2px corners, with its arrow. */
[data-fs-theme='oriel'] .fs-hdr-cta{--fs-hdr-cta-bg:rgb(var(--c-brand-600));--fs-hdr-cta-fg:var(--fs-on-brand, rgb(var(--c-paper)));--fs-hdr-cta-bg-hover:var(--or-deep);--fs-hdr-cta-fg-hover:var(--fs-on-brand, rgb(var(--c-paper)))}
[data-fs-theme='oriel'] .fs-hdr-cta.fs-hdr-cta{flex:none;gap:9px;padding:13px 18px;border-radius:2px;font-weight:700;font-size:14px;line-height:1;letter-spacing:.01em;white-space:nowrap;transition:background-color .18s ease}
[data-fs-theme='oriel'] .fs-hdr-cta.fs-hdr-cta::after{content:"";flex:none;width:16px;height:16px;background:currentColor;-webkit-mask:var(--or-arrow) center/contain no-repeat;mask:var(--or-arrow) center/contain no-repeat}
[data-fs-theme='oriel'] .fs-hdr-row .fs-hdr-cta{margin-left:18px}
/* The menu button: the ghost button's 1px ink frame, three ruled lines
   set right, the last one short in the accent (the tariff's tick). */
[data-fs-theme='oriel'] .fs-hdr-menu-btn{width:44px;height:44px;margin-left:14px;border:1px solid rgb(var(--c-ink-950));border-radius:2px;background:linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) right 11px top calc(50% - 6.75px)/20px 1.5px no-repeat,linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) right 11px center/20px 1.5px no-repeat,linear-gradient(rgb(var(--c-accent, var(--c-brand-600))),rgb(var(--c-accent, var(--c-brand-600)))) right 11px top calc(50% + 6.5px)/11px 2px no-repeat}
[data-fs-theme='oriel'] .fs-hdr-menu-btn svg{display:none}
/* The mega shell: no frame (the composite draws the sheet), 12px under
   the header's hairline, the dramatic shadow. */
[data-fs-theme='oriel'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite){margin-top:12px !important;background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:var(--or-shadow) !important}
[data-fs-theme='oriel'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite)::before{top:-12px;height:12px}
/* Layout tiers (mockup 246–269). Desktop only: a tablet row holds only
   the logo, the leader, the button and the menu button, full size. */
@container fs-band (min-width: 62rem){
  /* Boxed (880). */
  @container (max-width: 60rem){
    [data-fs-theme='oriel'] .fs-hdr-row > :first-child{--or-ls:.9}
    [data-fs-theme='oriel'] .fs-hdr-row::after{margin-inline:14px}
    [data-fs-theme='oriel'] .fsmenu-orielIndex{--or-pad:10px}
    [data-fs-theme='oriel'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:14px;padding-inline:15px}
  }
  /* Centered (784): the arrow goes, the button keeps its fill. */
  @container (max-width: 50rem){
    [data-fs-theme='oriel'] .fs-hdr-row > :first-child{--or-ls:.8}
    [data-fs-theme='oriel'] .fs-hdr-row::after{min-width:20px;margin-inline:11px}
    [data-fs-theme='oriel'] .fsmenu-orielIndex{--or-pad:8px;--or-fs:14px}
    [data-fs-theme='oriel'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:10px;padding:12px 13px}
    [data-fs-theme='oriel'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta::after{display:none}
  }
  /* Minimalist (688), the tightest cells; the leader a short run.
     FIX ROUND 1 (2026-10-02): CDP-measured at the preview's real 1280/
     1440 widths with layout=minimal (content-box 680px there): logo
     (115) + leader + nav's seven cells (400, already at this tier's
     smallest --or-pad/--or-fs) + the button (138 incl. margin) need
     695px even with the leader at its floor. R-B5-4's 26px/8px margins
     (42px floor) still left a 15px spill — not a preview-only artifact:
     the real surface (24px row padding vs preview's 28px) is narrower
     by the same CSS either way and still falls 7px short. 14px/5px
     (30px floor) closes both with a few px to spare. */
  @container (max-width: 44rem){
    [data-fs-theme='oriel'] .fs-hdr-row > :first-child{--or-ls:.675}
    [data-fs-theme='oriel'] .fs-hdr-row::after{min-width:14px;margin-inline:5px}
    [data-fs-theme='oriel'] .fsmenu-orielIndex{--or-pad:6px;--or-fs:13px;--or-track:0em;gap:5px}
    [data-fs-theme='oriel'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:8px;padding:11px 9px;font-size:13px}
  }
}
/* Phones: the platform hides the button at row 34rem; the logo steps
   down and the leader runs to the menu button. */
@container (max-width: 34rem){
  [data-fs-theme='oriel'] .fs-hdr-row > :first-child{--or-ls:.8}
  [data-fs-theme='oriel'] .fs-hdr-row::after{margin-inline:12px;transform:translateY(6px)}
}
/* FIX ROUND 1 (2026-10-02), R16 (precedent in coachwork/forecourt/
   keyway/ward-chrome-styles.ts etc.): the read-only preview alone
   renders a visitor dark/light toggle (.fs-hdr-mode) plus a
   fixed-width "Edit Template" link (TemplateViewClient.tsx), present
   on no real site. CDP-measured at 390/320: that trailing pair sits
   between the CTA (already hidden by the platform's own ≤34rem rule)
   and the menu button, pushing it 52.5px past the edge at both widths
   — the row's own content is identical at 390 and 320, only the
   viewport edge moves. Hiding .fs-hdr-mode alone frees enough at 390;
   320 needs the wordmark gone too. [data-fs-preview-edit] is the
   stable, surface-only hook the Edit Template link alone carries;
   :has() reaches up from it so only a row that actually contains it
   is affected — published and editor markup never has the hook. */
@container (max-width: 34rem){
  [data-fs-theme='oriel'] .fs-hdr-row:has([data-fs-preview-edit]) .fs-hdr-mode{display:none}
}
@container (max-width: 22rem){
  [data-fs-theme='oriel'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{display:none}
}

/* The contents page: the sheet bar again ("Menu" as the accent eyebrow
   over the 2px ink rule, the close button in a 1px ink frame), then the
   index: Bodoni names numbered 01–07 in the accent by a counter on the
   list (not a container), ruled rows, your page the marked row. */
[data-fs-theme='oriel'] .fs-hdr-mobile{color:rgb(var(--c-ink-950))}
[data-fs-theme='oriel'] .fs-hdr-mobile-head{height:auto;margin:0 20px;padding:16px 0 10px;border-bottom:2px solid rgb(var(--c-ink-950))}
[data-fs-theme='oriel'] .fs-hdr-mobile-title{font-family:inherit;font-weight:700;font-size:11.5px;line-height:1;letter-spacing:.2em;text-transform:uppercase;color:var(--or-eye)}
[data-fs-theme='oriel'] .fs-hdr-mobile-close{width:40px;height:40px;border:1px solid rgb(var(--c-ink-950));border-radius:2px;color:rgb(var(--c-ink-950))}
[data-fs-theme='oriel'] .fs-hdr-mobile-close svg{width:15px;height:15px}
[data-fs-theme='oriel'] .fs-hdr-mobile > nav{padding:0 20px}
[data-fs-theme='oriel'] .fs-hdr-mobile-list{counter-reset:oriel-m}
[data-fs-theme='oriel'] .fs-hdr-mobile-row{display:flex;align-items:center;border-bottom:1px solid var(--or-rule)}
[data-fs-theme='oriel'] .fs-hdr-mobile-link:not(.is-sub){display:flex;align-items:baseline;gap:14px;padding:14px 10px 13px;font-family:var(--font-display, "Bodoni Moda","Bodoni 72",Didot,Georgia,serif);font-weight:600;font-size:23px;line-height:1.15;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='oriel'] .fs-hdr-mobile-link:not(.is-sub)::before{counter-increment:oriel-m;content:counter(oriel-m, decimal-leading-zero);flex:none;width:1.7rem;font-family:var(--font-display, "Bodoni Moda","Bodoni 72",Didot,Georgia,serif);font-weight:600;font-size:13px;line-height:1;color:var(--or-eye);font-variant-numeric:tabular-nums}
[data-fs-theme='oriel'] .fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false']){background:var(--or-wash);color:rgb(var(--c-brand-text));box-shadow:inset 3px 0 0 rgb(var(--c-accent, var(--c-brand-600)))}
[data-fs-theme='oriel'] .fs-hdr-mobile-toggle{margin-right:6px;color:rgb(var(--c-ink-950))}
[data-fs-theme='oriel'] .fs-hdr-mobile-sub{margin:0;padding:2px 0 12px;border-left:0;border-bottom:1px solid var(--or-rule)}

/* The phone as the sheet's hanging figure: the answering hours as its
   qualifier above, the number in Bodoni 31px, on the 2px ink rule; then
   the button, full width, with its arrow. No fixed words. */
[data-fs-theme='oriel'] .fs-pmf-oriel{display:grid;gap:16px;margin-top:auto;padding:26px 0;font-size:15px;line-height:1.55}
[data-fs-theme='oriel'] .fs-pmf-fig{display:grid;gap:7px;padding-top:11px;border-top:2px solid rgb(var(--c-ink-950))}
[data-fs-theme='oriel'] .fs-pmf-hours{margin:0;font-weight:600;font-size:10.5px;line-height:1.3;letter-spacing:.12em;text-transform:uppercase;color:var(--or-ref)}
[data-fs-theme='oriel'] .fs-pmf-big{margin:0;font-family:var(--font-display, "Bodoni Moda","Bodoni 72",Didot,Georgia,serif);font-weight:600;font-size:31px;line-height:1;font-variant-numeric:tabular-nums;color:rgb(var(--c-ink-950))}
[data-fs-theme='oriel'] .fs-pmf-tel{color:inherit;text-decoration:none}
[data-fs-theme='oriel'] .fs-pmf .fs-hdr-cta.fs-pmf-cta{display:flex;align-items:center;justify-content:center;width:100%;margin:0;padding-block:16px}

/* ── Mega: oriel.services, the fee index (mockup 46, 97–164) ─────────
   One sheet on the panel colour with an ink frame (shell shadow above).
   ONE gutter, --or-gut, spaces everything: 2.2% of the panel, 20 to
   32px, resolved where it is used so the cqi measures the panel itself. */
[data-fs-theme='oriel'] .fs-orm-ico{display:block;flex:none;width:1em;height:1em}
[data-fs-theme='oriel'] .fs-orm-panel{--or-gut:clamp(20px,2.2cqi,32px);container-type:inline-size;background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-ink-950));color:rgb(var(--c-ink-950));font-size:15px;line-height:1.55}
/* The sheet bar, shared by the mega and the foot. */
[data-fs-theme='oriel'] .fs-orm-sbar{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px 18px;padding-bottom:9px;border-bottom:2px solid rgb(var(--c-ink-950))}
[data-fs-theme='oriel'] .fs-orm-eyebrow{font-weight:700;font-size:11px;line-height:1.3;letter-spacing:.16em;text-transform:uppercase;color:var(--or-eye)}
[data-fs-theme='oriel'] .fs-orm-ref{font-weight:600;font-size:10.5px;line-height:1.3;letter-spacing:.12em;text-transform:uppercase;color:var(--or-ref);font-variant-numeric:tabular-nums}
[data-fs-theme='oriel'] .fs-orm-panel > .fs-orm-sbar{margin:22px var(--or-gut) 0}
[data-fs-theme='oriel'] .fs-orm-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(15rem,17.5rem);grid-template-areas:"ix memo" "reg reg";gap:0 var(--or-gut);padding:0 var(--or-gut) var(--or-gut)}
[data-fs-theme='oriel'] .fs-orm-ix{grid-area:ix;min-width:0}
/* Column heads, like the particulars' own (Plate · Property · Price). */
[data-fs-theme='oriel'] .fs-orm-cols{display:flex;justify-content:space-between;gap:12px;margin:0;padding:13px 10px 7px;border-bottom:1px solid var(--or-rule);font-weight:700;font-size:9.5px;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;color:var(--or-ref)}
[data-fs-theme='oriel'] .fs-orm-list{list-style:none;margin:0;padding:0}
/* An index line: number, name and note held to a measure (26rem, the
   block's own), the leader taking the rest, the figure hanging right.
   Baseline-aligned, so the dots sit on the name's line. */
[data-fs-theme='oriel'] .fs-orm-row{display:grid;grid-template-columns:2rem minmax(0,26rem) minmax(1.5rem,1fr) auto;align-items:baseline;column-gap:14px;padding:15px 10px 14px;border-bottom:1px solid var(--or-rule);transition:background-color .18s ease,box-shadow .18s ease}
[data-fs-theme='oriel'] .fs-orm-row:hover{background:var(--or-wash);box-shadow:inset 3px 0 0 rgb(var(--c-accent, var(--c-brand-600)))}
[data-fs-theme='oriel'] .fs-orm-n{font-family:var(--font-display, "Bodoni Moda","Bodoni 72",Didot,Georgia,serif);font-weight:600;font-size:14px;line-height:1;color:var(--or-eye);font-variant-numeric:tabular-nums}
[data-fs-theme='oriel'] .fs-orm-name{font-family:var(--font-display, "Bodoni Moda","Bodoni 72",Didot,Georgia,serif);font-weight:600;font-size:21px;line-height:1.2;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='oriel'] .fs-orm-name:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
/* The ribbon: brand fill, the solved label colour. */
[data-fs-theme='oriel'] .fs-orm-mark{display:inline-block;margin-left:10px;padding:3px 7px 2px;background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)));font-weight:700;font-size:9.5px;line-height:1.3;letter-spacing:.1em;text-transform:uppercase;vertical-align:4px;white-space:nowrap}
[data-fs-theme='oriel'] .fs-orm-note{margin-top:5px;font-size:13px;line-height:1.5;color:var(--or-ink2)}
[data-fs-theme='oriel'] .fs-orm-dots{align-self:baseline;height:0;border-bottom:2px dotted var(--or-rule);transform:translateY(-.3em)}
/* The hanging figure: the inc-VAT figure at display size, what it
   covers under it, the ex-VAT figure under that. */
[data-fs-theme='oriel'] .fs-orm-fig{margin:0;text-align:right;white-space:nowrap}
[data-fs-theme='oriel'] .fs-orm-fee{display:block;font-family:var(--font-display, "Bodoni Moda","Bodoni 72",Didot,Georgia,serif);font-weight:600;font-size:27px;line-height:1;font-variant-numeric:tabular-nums;color:rgb(var(--c-ink-950))}
[data-fs-theme='oriel'] .fs-orm-unit{display:block;margin-top:6px;font-size:11.5px;line-height:1.35;color:var(--or-ink2)}
[data-fs-theme='oriel'] .fs-orm-ex{display:block;font-size:11.5px;line-height:1.35;color:var(--or-ref);font-variant-numeric:tabular-nums}
/* The register extract: name linked to the body's own register with an
   accent underline and arrow, the number right in tabular figures, what
   it protects under both. */
[data-fs-theme='oriel'] .fs-orm-reg{grid-area:reg;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;column-gap:var(--or-gut);min-width:0;margin-top:10px}
[data-fs-theme='oriel'] .fs-orm-reg > .fs-orm-cols{grid-column:1/-1}
[data-fs-theme='oriel'] .fs-orm-regr{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:3px 12px;padding:12px 0 11px;border-bottom:1px solid var(--or-rule)}
[data-fs-theme='oriel'] .fs-orm-reg .fs-orm-cols{padding-inline:0}
[data-fs-theme='oriel'] .fs-orm-regn{font-family:var(--font-display, "Bodoni Moda","Bodoni 72",Didot,Georgia,serif);font-weight:600;font-size:15.5px;line-height:1.3;color:rgb(var(--c-ink-950));text-decoration:underline;text-decoration-color:rgb(var(--c-accent, var(--c-brand-600)));text-decoration-thickness:1px;text-underline-offset:4px}
[data-fs-theme='oriel'] .fs-orm-regn .fs-orm-ico{display:inline-block;width:11px;height:11px;margin-left:4px;vertical-align:0;color:rgb(var(--c-accent, var(--c-brand-600)))}
[data-fs-theme='oriel'] .fs-orm-regno{font-weight:700;font-size:12px;line-height:1.3;letter-spacing:.06em;font-variant-numeric:tabular-nums;color:rgb(var(--c-ink-950))}
[data-fs-theme='oriel'] .fs-orm-regw{grid-column:1/-1;font-size:12.5px;line-height:1.45;color:var(--or-ink2)}
/* The memorandum, in miniature: the ink title bar with its reference,
   the heading, three ruled facts, the solid button. */
[data-fs-theme='oriel'] .fs-orm-memo{grid-area:memo;display:flex;flex-direction:column;margin-top:13px;border:1px solid rgb(var(--c-ink-950));background:rgb(var(--c-paper))}
[data-fs-theme='oriel'] .fs-orm-memo-bar{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:9px 16px;background:rgb(var(--c-ink-950));color:rgb(var(--c-paper))}
[data-fs-theme='oriel'] .fs-orm-memo-t{font-weight:700;font-size:10.5px;line-height:1.2;letter-spacing:.18em;text-transform:uppercase}
[data-fs-theme='oriel'] .fs-orm-memo-ref{font-weight:600;font-size:10px;line-height:1.2;letter-spacing:.12em;text-transform:uppercase;color:rgb(var(--c-paper) / .72)}
[data-fs-theme='oriel'] .fs-orm-memo-b{display:flex;flex:1;flex-direction:column;padding:16px 16px 18px}
[data-fs-theme='oriel'] .fs-orm-memo-h{font-family:var(--font-display, "Bodoni Moda","Bodoni 72",Didot,Georgia,serif);font-weight:600;font-size:22px;line-height:1.15;text-wrap:balance}
[data-fs-theme='oriel'] .fs-orm-memo-p{margin-top:8px;font-size:13px;line-height:1.5;color:var(--or-ink2)}
[data-fs-theme='oriel'] .fs-orm-facts{margin-top:14px;margin-bottom:18px}
[data-fs-theme='oriel'] .fs-orm-fact{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:7px 0;border-bottom:1px solid var(--or-rule);font-size:13px}
[data-fs-theme='oriel'] .fs-orm-fact:first-child{border-top:1px solid var(--or-rule)}
/* When the memorandum stretches beside a taller index, its ruled lines
   share the height, each entry sitting on its rule like a filled-in
   form line; at its natural height they are the plain 7px rows. */
[data-fs-theme='oriel'] .fs-orm-memo .fs-orm-facts{display:flex;flex:1 0 auto;flex-direction:column}
[data-fs-theme='oriel'] .fs-orm-memo .fs-orm-fact{flex:1 0 auto;align-items:center}
[data-fs-theme='oriel'] .fs-orm-fk{color:var(--or-ref)}
[data-fs-theme='oriel'] .fs-orm-fv{font-weight:700;text-align:right;font-variant-numeric:tabular-nums}
[data-fs-theme='oriel'] .fs-orm-btn{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:auto;padding:13px 14px;background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)));font-weight:700;font-size:14px;line-height:1;border-radius:2px;white-space:nowrap;transition:background-color .18s ease}
[data-fs-theme='oriel'] .fs-orm-btn:hover{background:var(--or-deep)}
[data-fs-theme='oriel'] .fs-orm-btn .fs-orm-ico{width:16px;height:16px}
/* The foot: the no-extras line on the statutory strip's accent square,
   and the link to the fee page. */
[data-fs-theme='oriel'] .fs-orm-base{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;padding:13px var(--or-gut) 14px;border-top:1px solid var(--or-rule);background:rgb(var(--c-paper))}
[data-fs-theme='oriel'] .fs-orm-bnote{position:relative;padding-left:15px;font-size:12.5px;color:var(--or-ink2)}
[data-fs-theme='oriel'] .fs-orm-bnote::before{content:"";position:absolute;left:0;top:.42em;width:6px;height:6px;background:rgb(var(--c-accent, var(--c-brand-600)))}
[data-fs-theme='oriel'] .fs-orm-link{display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:13.5px;line-height:1.3;color:rgb(var(--c-brand-text));text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
[data-fs-theme='oriel'] .fs-orm-link .fs-orm-ico{width:14px;height:14px}
/* The SAME composite inside the phone menu: context rules only. */
[data-fs-theme='oriel'] .fs-hdr-mobile .fs-orm-panel{border:0;background:transparent}
[data-fs-theme='oriel'] .fs-hdr-mobile .fs-orm-sbar{display:none}
[data-fs-theme='oriel'] .fs-hdr-mobile .fs-orm-note{display:none}
[data-fs-theme='oriel'] .fs-hdr-mobile .fs-orm-dots{display:none}
[data-fs-theme='oriel'] .fs-hdr-mobile .fs-orm-unit{display:none}
[data-fs-theme='oriel'] .fs-hdr-mobile .fs-orm-memo{display:none}
[data-fs-theme='oriel'] .fs-hdr-mobile .fs-orm-cols{display:none}
[data-fs-theme='oriel'] .fs-hdr-mobile .fs-orm-regw{display:none}
[data-fs-theme='oriel'] .fs-hdr-mobile .fs-orm-base{display:none}
[data-fs-theme='oriel'] .fs-hdr-mobile .fs-orm-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"ix" "reg";padding:0 0 0 2.4rem}
[data-fs-theme='oriel'] .fs-hdr-mobile .fs-orm-row{grid-template-columns:minmax(0,1fr) auto;padding:10px 0 9px}
[data-fs-theme='oriel'] .fs-hdr-mobile .fs-orm-n{display:none}
[data-fs-theme='oriel'] .fs-hdr-mobile .fs-orm-name{font-size:18px}
[data-fs-theme='oriel'] .fs-hdr-mobile .fs-orm-fee{font-size:20px}
[data-fs-theme='oriel'] .fs-hdr-mobile .fs-orm-mark{display:none}
[data-fs-theme='oriel'] .fs-hdr-mobile .fs-orm-reg{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto;margin-top:12px}
[data-fs-theme='oriel'] .fs-hdr-mobile .fs-orm-regr{padding:8px 0 7px}
[data-fs-theme='oriel'] .fs-hdr-mobile .fs-orm-regn{font-size:14.5px}
[data-fs-theme='oriel'] .fs-hdr-mobile .fs-orm-regr:last-child{border-bottom:0}
/* The panel matches the menu bar and reflows on its own box (content =
   panel − 2px border: 1390 / 1230 / 1150 / 878 / 782 / 686; phone-menu
   copies 728 and 350). WIDE (the base): index | memorandum, registers
   in a row under both. MIDDLE (66rem): the index full width, registers
   and memorandum side by side under it. NARROW (44rem): the leaders go.
   30rem: one column. */
@container (max-width: 66rem){
  [data-fs-theme='oriel'] .fs-orm-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"ix ix" "reg memo"}
  [data-fs-theme='oriel'] .fs-orm-reg{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;grid-auto-rows:1fr;margin-top:13px}
  [data-fs-theme='oriel'] .fs-orm-regr{align-content:center}
}
@container (max-width: 44rem){
  [data-fs-theme='oriel'] .fs-orm-row{grid-template-columns:2rem minmax(0,1fr) auto}
  [data-fs-theme='oriel'] .fs-orm-dots{display:none}
}
@container (max-width: 30rem){
  [data-fs-theme='oriel'] .fs-orm-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"ix" "reg" "memo"}
}
@media (prefers-reduced-motion: reduce){
  [data-fs-theme='oriel'] .fs-hdr-cta.fs-hdr-cta,[data-fs-theme='oriel'] .fs-orm-row,[data-fs-theme='oriel'] .fs-orm-btn{transition:none}
}


/* Tokens (mockup 58–59). Each palette is paint + metal: in light the paint
   is the brand and the metal the accent; in dark the paint is a deep
   board mixed from the accent and the metal is the brand (gold).
   --pc-gilt: the gold leaf, the mark, keylines on the paint; --pc-brass:
   the slip, the roundels, the eyebrow (a darker brass: the raw accent is
   3.4–4.4:1 on the page); --pc-card/-ink: the header button, a window
   card hung on the fascia; --pc-ink-hi: brand as text. */
[data-fs-theme='portico']{--fs-chrome-mode:light;--pc-paint:rgb(var(--c-brand-600));--pc-on-paint:var(--fs-on-brand, rgb(var(--c-paper)));--pc-paint-soft:color-mix(in srgb, var(--pc-on-paint) 80%, var(--pc-paint));--pc-gilt:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 62%, rgb(var(--c-paper)));--pc-brass:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 75%, rgb(var(--c-ink-950)));--pc-on-brass:rgb(var(--c-paper));--pc-card:rgb(var(--c-paper));--pc-card-ink:rgb(var(--c-brand-text));--pc-rule:rgb(var(--c-ink-950) / .16);--pc-edge:rgb(var(--c-ink-950) / .2);--pc-mount:rgb(var(--c-ink-950) / .24);--pc-note:color-mix(in srgb, rgb(var(--c-ink-950)) 76%, rgb(var(--c-paper)));--pc-eyebrow:var(--pc-brass);--pc-ink-hi:rgb(var(--c-brand-text))}
[data-fs-theme='portico'].dark{--fs-chrome-mode:dark;--pc-paint:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 20%, rgb(var(--c-paper)));--pc-on-paint:rgb(var(--c-brand-600));--pc-paint-soft:color-mix(in srgb, rgb(var(--c-ink-950)) 82%, var(--pc-paint));--pc-gilt:rgb(var(--c-brand-600));--pc-brass:rgb(var(--c-brand-600));--pc-on-brass:var(--fs-on-brand, rgb(var(--c-paper)));--pc-card:rgb(var(--c-brand-600));--pc-card-ink:var(--fs-on-brand, rgb(var(--c-paper)));--pc-rule:rgb(var(--c-ink-950) / .18);--pc-eyebrow:rgb(var(--c-accent, var(--c-brand-600)));--pc-ink-hi:rgb(var(--c-brand-600))}
/* The strip: the window's small print on the page ground, spaced caps in
   the note ink; the note led by a brass hairline; the phone in Playfair. */
[data-fs-theme='portico'] .fs-hdr-util{container-type:inline-size;background:rgb(var(--c-paper));color:var(--pc-note);font-weight:600;font-size:11px;line-height:1.2;letter-spacing:.16em;text-transform:uppercase}
[data-fs-theme='portico'] .fs-hdr-util-in{container-type:inline-size;container-name:fs-strip-in;display:flex;align-items:center;gap:26px;min-height:0;padding-block:9px;border-bottom:0;color:inherit}
[data-fs-theme='portico'] .fs-hdr-util-item{display:inline-flex;align-items:center;white-space:nowrap}
[data-fs-theme='portico'] .fs-hdr-util-note{order:-1;gap:10px;margin-right:auto}
[data-fs-theme='portico'] .fs-hdr-util-note::before{content:"";flex:none;width:1.6rem;height:1px;background:var(--pc-brass)}
[data-fs-theme='portico'] .fs-hdr-util-dot{display:none}
[data-fs-theme='portico'] .fs-hdr-util-tel{margin-left:0;font-family:var(--font-display, "Playfair Display",Georgia,serif);font-weight:400;font-size:16px;line-height:1;letter-spacing:.03em;text-transform:none;font-variant-numeric:lining-nums;color:rgb(var(--c-ink-950))}
/* The mockup's strip-in rules on .pc-strip-in / .pc-strip never applied
   (they style the container or its ancestor, R-B5-2); only the item
   rules are kept. */
@container fs-strip-in (max-width: 50rem){
  [data-fs-theme='portico'] .fs-hdr-util-note{letter-spacing:.1em}
  [data-fs-theme='portico'] .fs-hdr-util-hours{letter-spacing:.08em}
}
/* CDP-measured (editor tablet canvas, 766px inner line): note + hours +
   tel together need ~830px even at the tier above's tighter tracking —
   the note alone (Portico's compliance line, the longest of the three)
   is what doesn't fit. Dropping it here, a width above the 46rem tier's
   own further compression, is the same move oriel-chrome-styles.ts makes
   for its own longest secondary item (.fs-hdr-util-address, R-B5-1's
   strip) rather than let the strip wrap to a second line. */
@container fs-strip-in (max-width: 48rem){
  [data-fs-theme='portico'] .fs-hdr-util-note{display:none}
}
@container fs-strip-in (max-width: 46rem){
  [data-fs-theme='portico'] .fs-hdr-util-note{letter-spacing:.05em}
  [data-fs-theme='portico'] .fs-hdr-util-note::before{width:1rem}
  [data-fs-theme='portico'] .fs-hdr-util-hours{letter-spacing:.04em}
}
@container (max-width: 40rem){
  [data-fs-theme='portico'] .fs-hdr-util-in{display:flex;justify-content:center}
  [data-fs-theme='portico'] .fs-hdr-util-item:not(.fs-hdr-util-tel){display:none}
}
/* The fascia: the whole band is the paint, with one 1.5px line of gold
   leaf 5px above its foot (a sliver of paint under it, like a moulding);
   the strip covers the band's top with its own ground. Painted, never a
   positioned child of the sticky band. */
[data-fs-theme='portico'] .fs-hdr-band{container-type:inline-size;container-name:fs-band;border-bottom-width:0;background:linear-gradient(var(--pc-gilt),var(--pc-gilt)) 0 calc(100% - 5px)/100% 1.5px no-repeat,var(--pc-paint);color:var(--pc-on-paint)}
/* The row: 80px, the words centred above the gold line (6px under). */
[data-fs-theme='portico'] .fs-hdr-row{column-gap:0;padding-block:0 6px;min-height:clamp(68px, (100cqi - 760px) * 100, 80px)}
/* The lockup: the keyline portico gilt on the paint (R-B5-6), the name in
   Playfair capitals, 5.5px tracking, in the on-paint colour. --pc-ls
   scales the lockup (the design's logo is 40px tall). The preview writes
   an inline ink colour on the wordmark, hence !important (R-B5-7). */
[data-fs-theme='portico'] .fs-hdr-row > :first-child{--pc-ls:1;flex:none;gap:calc(9px * var(--pc-ls));margin-right:auto;padding-right:22px}
[data-fs-theme='portico'] .fs-hdr-row [data-fs-logo-mark]{width:calc(40px * var(--pc-ls));height:calc(40px * var(--pc-ls))}
[data-fs-theme='portico'] .fs-hdr-row [data-fs-logo-mark] stop{stop-color:var(--pc-gilt)}
[data-fs-theme='portico'] .fs-hdr-row [data-fs-wordmark]{font-size:calc(18.2px * var(--pc-ls));line-height:1;letter-spacing:.275em;text-transform:uppercase;white-space:nowrap;color:var(--pc-on-paint) !important}
/* The button: a window card hung on the fascia, the family's keyline
   mount 4px inside its edge; it lifts 1px on hover. */
[data-fs-theme='portico'] .fs-hdr-cta{--fs-hdr-cta-bg:var(--pc-card);--fs-hdr-cta-fg:var(--pc-card-ink);--fs-hdr-cta-bg-hover:var(--pc-card);--fs-hdr-cta-fg-hover:var(--pc-card-ink)}
[data-fs-theme='portico'] .fs-hdr-cta.fs-hdr-cta{flex:none;padding:14px 20px;border-radius:0;font-weight:600;font-size:12.5px;line-height:1;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;box-shadow:inset 0 0 0 var(--pc-cm,4px) var(--pc-card),inset 0 0 0 calc(var(--pc-cm,4px) + 1px) color-mix(in srgb, var(--pc-card-ink) 42%, transparent);transition:transform .18s cubic-bezier(.2,.7,.3,1)}
[data-fs-theme='portico'] .fs-hdr-cta.fs-hdr-cta:hover{transform:translateY(-1px)}
[data-fs-theme='portico'] .fs-hdr-row .fs-hdr-cta{margin-left:24px}
/* The menu button: a 44px square, a 1px on-paint keyline, two on-paint
   bars and a shorter gilt one between. */
[data-fs-theme='portico'] .fs-hdr-menu-btn{width:44px;height:44px;margin-left:14px;border-radius:0;color:var(--pc-on-paint);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--pc-on-paint) 55%, transparent);background:linear-gradient(var(--pc-on-paint),var(--pc-on-paint)) center calc(50% - 6.5px)/18px 1.5px no-repeat,linear-gradient(var(--pc-gilt),var(--pc-gilt)) center/12px 1.5px no-repeat,linear-gradient(var(--pc-on-paint),var(--pc-on-paint)) center calc(50% + 6.5px)/18px 1.5px no-repeat}
[data-fs-theme='portico'] .fs-hdr-menu-btn svg{display:none}
/* The mega shell: the window hangs straight off the fascia (gap 0), its
   deep soft shadow on the shell. */
[data-fs-theme='portico'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite){margin-top:0px !important;background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:0 30px 60px -26px rgb(0 0 0 / .38) !important}
[data-fs-theme='portico'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite)::before{top:0;height:0px}
/* Layout tiers (mockup 236–261); desktop only. */
@container fs-band (min-width: 62rem){
  /* Boxed (880): needs 964px untouched; this brings it to about 850. */
  @container (max-width: 60rem){
    [data-fs-theme='portico'] .fs-hdr-row > :first-child{--pc-ls:.8;padding-right:14px}
    [data-fs-theme='portico'] .fsmenu-fasciaBoard{--pc-pad:9px;--pc-track:.08em;--pc-fs:11.5px;gap:6px}
    [data-fs-theme='portico'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:14px;padding-inline:14px;font-size:11.5px;letter-spacing:.08em}
  }
  /* Centered (784). */
  @container (max-width: 50rem){
    [data-fs-theme='portico'] .fs-hdr-row > :first-child{--pc-ls:.7;padding-right:10px}
    [data-fs-theme='portico'] .fsmenu-fasciaBoard{--pc-pad:7px;--pc-track:.05em;--pc-fs:11px;gap:5px}
    [data-fs-theme='portico'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:10px;padding:12px 11px;font-size:11px;letter-spacing:.05em}
  }
  /* Minimalist (688): the tightest; the dots shrink, the card keeps its
     mount at 3px. */
  @container (max-width: 44rem){
    [data-fs-theme='portico'] .fs-hdr-row > :first-child{--pc-ls:.6;padding-right:8px}
    [data-fs-theme='portico'] .fsmenu-fasciaBoard{--pc-pad:5px;--pc-track:.02em;--pc-fs:10.5px;--pc-dot:3px;gap:4px}
    [data-fs-theme='portico'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{--pc-cm:3px;margin-left:8px;padding:11px 8px;font-size:10.5px;letter-spacing:.03em}
  }
}
/* Phones: the platform hides the button at row 34rem; the logo steps
   down beside the menu button. */
@container (max-width: 34rem){
  [data-fs-theme='portico'] .fs-hdr-row > :first-child{--pc-ls:.8}
}
/* FIX ROUND 1 (same shape as oriel-chrome-styles.ts, R16): the read-only
   preview alone renders a visitor dark/light toggle (.fs-hdr-mode) plus a
   fixed-width "Edit Template" link (TemplateViewClient.tsx), present on
   no real site. CDP-measured at 390/320: that trailing pair sits between
   the lockup and the menu button, pushing it past the edge at both
   widths — the row's own content is identical at 390 and 320, only the
   viewport edge moves. Hiding .fs-hdr-mode alone frees enough at 390;
   320 needs the wordmark gone too. [data-fs-preview-edit] is the stable,
   surface-only hook the Edit Template link alone carries; :has() reaches
   up from it so only a row that actually contains it is affected —
   published and editor markup never has the hook. */
@container (max-width: 34rem){
  [data-fs-theme='portico'] .fs-hdr-row:has([data-fs-preview-edit]) .fs-hdr-mode{display:none}
}
@container (max-width: 22rem){
  [data-fs-theme='portico'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{display:none}
}
/* The fascia again as the head (paint, gold leaf 5px above its foot),
   "Menu" in spaced capitals, a square close button with an on-paint
   keyline; Playfair rows on hairlines, your page italic in brand ink led
   by the brass hairline. The panel resets its ink: in the editor it sits
   inside the painted band. */
[data-fs-theme='portico'] .fs-hdr-mobile{color:rgb(var(--c-ink-950))}
[data-fs-theme='portico'] .fs-hdr-mobile-head{height:auto;min-height:66px;padding:0 16px 5px 20px;border-bottom:0;background:linear-gradient(var(--pc-gilt),var(--pc-gilt)) 0 calc(100% - 5px)/100% 1.5px no-repeat,var(--pc-paint);color:var(--pc-on-paint)}
[data-fs-theme='portico'] .fs-hdr-mobile-title{font-family:inherit;font-weight:600;font-size:12.5px;line-height:1;letter-spacing:.28em;text-transform:uppercase;color:var(--pc-on-paint)}
[data-fs-theme='portico'] .fs-hdr-mobile-close{width:42px;height:42px;border-radius:0;color:var(--pc-on-paint);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--pc-on-paint) 55%, transparent)}
[data-fs-theme='portico'] .fs-hdr-mobile-close svg{width:15px;height:15px}
[data-fs-theme='portico'] .fs-hdr-mobile > nav{padding:6px 20px 0}
[data-fs-theme='portico'] .fs-hdr-mobile-row{display:flex;align-items:center;border-bottom:1px solid var(--pc-rule)}
[data-fs-theme='portico'] .fs-hdr-mobile-row:has(.fs-hdr-mobile-toggle[aria-expanded='true']){border-bottom:0}
[data-fs-theme='portico'] .fs-hdr-mobile-link:not(.is-sub){display:flex;align-items:center;gap:12px;min-height:58px;padding:0;font-family:var(--font-display, "Playfair Display",Georgia,serif);font-weight:400;font-size:23px;line-height:1.15;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='portico'] .fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false']){font-style:italic;color:var(--pc-ink-hi)}
[data-fs-theme='portico'] .fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false'])::before{content:"";flex:none;width:1.4rem;height:1px;background:var(--pc-brass)}
[data-fs-theme='portico'] .fs-hdr-mobile-toggle{margin-right:6px;color:rgb(var(--c-ink-950))}
[data-fs-theme='portico'] .fs-hdr-mobile-sub{margin:0;padding:16px 0 18px;border-left:0;border-bottom:1px solid var(--pc-rule)}
/* The agency's board: 2px ink border on the surface, the painted head
   band with the business name in spaced Playfair capitals, the phone in
   Playfair 27px and the hours under it; a 7px ink post; then the header
   button as a full-width painted card (gilt mount, 3px ink rule on top)
   that the post stands on. No fixed labels. */
[data-fs-theme='portico'] .fs-pmf-portico{display:grid;justify-items:center;margin-top:auto;padding:26px 0 24px;font-size:15px;line-height:1.55}
[data-fs-theme='portico'] .fs-pmf-board{position:relative;width:100%;max-width:19rem;padding-bottom:14px;background:rgb(var(--c-paper-soft));border:2px solid rgb(var(--c-ink-950));text-align:center;box-shadow:0 12px 26px -16px rgb(0 0 0 / .45)}
[data-fs-theme='portico'] .fs-pmf-board-head{margin:0;padding:9px 0 8px .34em;background:var(--pc-paint);color:var(--pc-on-paint);font-family:var(--font-display, "Playfair Display",Georgia,serif);font-weight:400;font-size:15px;line-height:1;letter-spacing:.34em;text-transform:uppercase}
[data-fs-theme='portico'] .fs-pmf-num{display:grid;justify-items:center}
[data-fs-theme='portico'] .fs-pmf-big{margin:11px 0 0;font-family:var(--font-display, "Playfair Display",Georgia,serif);font-weight:400;font-size:27px;line-height:1.1;font-variant-numeric:lining-nums;color:rgb(var(--c-ink-950))}
[data-fs-theme='portico'] .fs-pmf-hours{margin:6px 0 0;padding-inline:10px;font-size:12.5px;line-height:1.4;letter-spacing:.03em;color:var(--pc-note)}
[data-fs-theme='portico'] .fs-pmf-tel{color:inherit;text-decoration:none}
[data-fs-theme='portico'] .fs-pmf-post{display:block;width:7px;height:22px;background:rgb(var(--c-ink-950) / .85)}
[data-fs-theme='portico'] .fs-pmf .fs-hdr-cta.fs-pmf-cta{--pc-card:var(--pc-paint);--pc-card-ink:var(--pc-on-paint);display:flex;align-items:center;justify-content:center;width:100%;max-width:26rem;margin:0;padding-block:16px;border-top:3px solid rgb(var(--c-ink-950));box-shadow:inset 0 0 0 4px var(--pc-paint),inset 0 0 0 5px color-mix(in srgb, var(--pc-gilt) 80%, transparent)}
/* The panel: the mounted window under the fascia, keyline-edged
   (ported from the mockup's .pc-mega and friends, R-B5-2 — see the chrome
   comment header for which mockup rules were left out and why). */
[data-fs-theme='portico'] .fs-pcm-eyebrow{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:11px;line-height:1.2;letter-spacing:.22em;text-transform:uppercase;white-space:nowrap;color:var(--pc-eyebrow)}
[data-fs-theme='portico'] .fs-pcm-eyebrow::before{content:"";flex:none;width:2rem;height:1px;background:currentColor}
[data-fs-theme='portico'] .fs-pcm-link{display:inline-flex;align-items:center;gap:6px;padding-bottom:2px;font-weight:600;font-size:13.5px;line-height:1.3;color:rgb(var(--c-ink-950));box-shadow:inset 0 -1px 0 var(--pc-brass);white-space:nowrap;transition:color .18s ease,box-shadow .18s ease}
[data-fs-theme='portico'] .fs-pcm-link:hover{color:var(--pc-ink-hi);box-shadow:inset 0 -2px 0 var(--pc-brass)}
[data-fs-theme='portico'] .fs-pcm-panel{container-type:inline-size;isolation:isolate;padding:22px;background:rgb(var(--c-paper));color:rgb(var(--c-ink-950));border:1px solid var(--pc-edge);border-top:0;font-size:15px;line-height:1.55}
[data-fs-theme='portico'] .fs-pcm-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 22px;margin-bottom:22px;padding-bottom:16px;border-bottom:1px solid var(--pc-rule)}
[data-fs-theme='portico'] .fs-pcm-title{flex:1 1 auto;margin:0;min-width:14rem;font-family:var(--font-display, "Playfair Display",Georgia,serif);font-weight:400;font-size:24px;line-height:1.15;color:rgb(var(--c-ink-950))}
[data-fs-theme='portico'] .fs-pcm-em{font-style:italic}
[data-fs-theme='portico'] .fs-pcm-hlink{flex:none;margin-left:auto}
[data-fs-theme='portico'] .fs-pcm-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr) minmax(0,1fr) minmax(0,1.12fr);gap:14px}
[data-fs-theme='portico'] .fs-pcm-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:24px 24px 26px;background:rgb(var(--c-paper-soft));border:1px solid var(--pc-edge)}
[data-fs-theme='portico'] .fs-pcm-card::after{content:"";position:absolute;inset:8px;border:1px solid var(--pc-mount);pointer-events:none}
[data-fs-theme='portico'] .fs-pcm-ct{margin:0 0 14px;padding-bottom:10px;border-bottom:2px solid rgb(var(--c-ink-950));font-family:var(--font-display, "Playfair Display",Georgia,serif);font-weight:400;font-size:19px;line-height:1.2}
[data-fs-theme='portico'] .fs-pcm-big{margin:0;font-family:var(--font-display, "Playfair Display",Georgia,serif);font-weight:400;font-size:46px;line-height:1;color:var(--pc-ink-hi);font-variant-numeric:lining-nums tabular-nums}
[data-fs-theme='portico'] .fs-pcm-bigm{margin:9px 0 0;font-weight:600;font-size:10.5px;line-height:1.5;letter-spacing:.13em;text-transform:uppercase;color:var(--pc-note)}
[data-fs-theme='portico'] .fs-pcm-dots{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:7px}
[data-fs-theme='portico'] .fs-pcm-dot{position:relative;max-width:34ch;padding-left:15px;font-size:13.5px;line-height:1.45;color:var(--pc-note)}
[data-fs-theme='portico'] .fs-pcm-dot::before{content:"";position:absolute;left:0;top:.52em;width:6px;height:6px;border-radius:50%;background:var(--pc-brass)}
[data-fs-theme='portico'] .fs-pcm-card .fs-pcm-link{align-self:flex-start;margin-top:auto;padding-top:14px}
[data-fs-theme='portico'] .fs-pcm-lrow{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px;padding-block:9px;border-bottom:1px solid var(--pc-rule)}
[data-fs-theme='portico'] .fs-pcm-lrow:first-of-type{padding-top:0}
[data-fs-theme='portico'] .fs-pcm-lname{font-weight:600;font-size:14.5px;color:rgb(var(--c-ink-950))}
[data-fs-theme='portico'] .fs-pcm-lprice{grid-row:span 2;align-self:center;font-family:var(--font-display, "Playfair Display",Georgia,serif);font-weight:400;font-size:24px;line-height:1;font-style:normal;color:var(--pc-ink-hi);font-variant-numeric:lining-nums tabular-nums}
[data-fs-theme='portico'] .fs-pcm-lmeta{font-weight:600;font-size:10px;line-height:1.5;letter-spacing:.12em;text-transform:uppercase;color:var(--pc-note)}
[data-fs-theme='portico'] .fs-pcm-lnote{margin:10px 0 0;font-size:13px;line-height:1.45;color:var(--pc-note)}
[data-fs-theme='portico'] .fs-pcm-steps{list-style:none;margin:0;padding:0;position:relative;display:grid;gap:11px;counter-reset:pcs}
[data-fs-theme='portico'] .fs-pcm-steps::before{content:"";position:absolute;left:13px;top:6px;bottom:6px;border-left:1px solid var(--pc-rule)}
[data-fs-theme='portico'] .fs-pcm-step{position:relative;display:grid;grid-template-columns:27px minmax(0,1fr);column-gap:12px;align-items:center}
[data-fs-theme='portico'] .fs-pcm-rd{grid-row:span 2;display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--pc-brass);color:var(--pc-on-brass);font-family:var(--font-display, "Playfair Display",Georgia,serif);font-weight:400;font-size:14px;line-height:1;box-shadow:0 0 0 4px rgb(var(--c-paper-soft));font-variant-numeric:lining-nums}
[data-fs-theme='portico'] .fs-pcm-stitle{font-family:var(--font-display, "Playfair Display",Georgia,serif);font-weight:400;font-size:16px;line-height:1.15;color:rgb(var(--c-ink-950))}
[data-fs-theme='portico'] .fs-pcm-smark{font-weight:600;font-size:10px;line-height:1.4;letter-spacing:.13em;text-transform:uppercase;color:var(--pc-note)}
[data-fs-theme='portico'] .fs-pcm-offer{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:34px 26px 26px;background:var(--pc-paint);color:var(--pc-on-paint)}
[data-fs-theme='portico'] .fs-pcm-offer::after{content:"";position:absolute;inset:9px;border:1px solid color-mix(in srgb, var(--pc-on-paint) 38%, transparent);pointer-events:none}
[data-fs-theme='portico'] .fs-pcm-offer .fs-pcm-eyebrow{--pc-eyebrow:var(--pc-paint-soft)}
[data-fs-theme='portico'] .fs-pcm-offer-t{margin:12px 0 0;max-width:16ch;font-family:var(--font-display, "Playfair Display",Georgia,serif);font-weight:400;font-size:23px;line-height:1.18;color:var(--pc-on-paint);text-wrap:balance}
[data-fs-theme='portico'] .fs-pcm-offer-b{margin:10px 0 0;max-width:34ch;font-size:13.5px;line-height:1.5;color:var(--pc-paint-soft)}
[data-fs-theme='portico'] .fs-pcm-offer-go{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:auto;padding-top:18px}
[data-fs-theme='portico'] .fs-pcm-cta{display:inline-flex;align-items:center;justify-content:center;flex:none;padding:14px 20px;border-radius:0;font-weight:600;font-size:12.5px;line-height:1;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;background:var(--pc-card, rgb(var(--c-paper)));color:var(--pc-card-ink, rgb(var(--c-brand-text)));box-shadow:inset 0 0 0 4px var(--pc-card, rgb(var(--c-paper))),inset 0 0 0 5px color-mix(in srgb, var(--pc-card-ink, rgb(var(--c-brand-text))) 42%, transparent);text-decoration:none;transition:transform .18s cubic-bezier(.2,.7,.3,1)}
[data-fs-theme='portico'] .fs-pcm-cta:hover{transform:translateY(-1px)}
[data-fs-theme='portico'] .fs-pcm-offer .fs-pcm-cta{margin:0;padding:13px 16px;font-size:12px}
[data-fs-theme='portico'] .fs-pcm-slip{display:inline-block;padding:6px 12px;background:var(--pc-brass);color:var(--pc-on-brass);font-weight:700;font-size:10.5px;line-height:1;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;transform:rotate(-3.5deg);box-shadow:0 3px 9px -3px rgb(0 0 0 / .35)}
[data-fs-theme='portico'] .fs-pcm-offer .fs-pcm-slip{position:absolute;top:-9px;right:16px;z-index:1}
[data-fs-theme='portico'] .fs-pcm-offer-tel{padding-bottom:2px;font-family:var(--font-display, "Playfair Display",Georgia,serif);font-weight:400;font-size:17px;line-height:1.2;color:var(--pc-on-paint);box-shadow:inset 0 -1px 0 var(--pc-gilt);white-space:nowrap;font-variant-numeric:lining-nums;text-decoration:none}
[data-fs-theme='portico'] .fs-pcm-comply{margin-top:16px;padding:10px 14px;border:1px solid var(--pc-rule);border-left:3px solid var(--pc-brass);background:rgb(var(--c-brand-50));font-size:12.5px;line-height:1.5;color:var(--pc-note)}
/* Phone-menu context (mockup 183–187): the panel sits inside the sheet,
   the fascia already painted the head, so it resets to the page ground.
   The heading, the stages card, the valuation card (the bottom board
   carries its own button+phone) and the compliance line all go; only
   the two fee cards stay (R16: re-port, batch-5 final review). */
[data-fs-theme='portico'] .fs-hdr-mobile .fs-pcm-panel{padding:0;border:0;box-shadow:none;background:transparent}
[data-fs-theme='portico'] .fs-hdr-mobile .fs-pcm-head,[data-fs-theme='portico'] .fs-hdr-mobile .fs-pcm-run,[data-fs-theme='portico'] .fs-hdr-mobile .fs-pcm-offer,[data-fs-theme='portico'] .fs-hdr-mobile .fs-pcm-comply{display:none}
[data-fs-theme='portico'] .fs-hdr-mobile .fs-pcm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
[data-fs-theme='portico'] .fs-hdr-mobile .fs-pcm-card{padding:20px 20px 20px}
[data-fs-theme='portico'] .fs-hdr-mobile .fs-pcm-big{font-size:38px}
/* The panel = the menu bar; content box = panel − 2px edges − 44px:
   1346 / 1186 / 1106 / 834 / 738 / 642; phone-menu copies 728 and 350.
   WIDE (base): four across. EXTRA WIDE (80rem, Full at 1440): the
   valuation card grows, button and phone side by side. MIDDLE (60rem):
   three cards, the valuation card a band under them. NARROW (42rem,
   Minimalist): Selling and Letting over the band; the stages card and
   the head's link step out (the panel stays on a 900px screen). */
@container (min-width: 80rem){
  [data-fs-theme='portico'] .fs-pcm-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr) minmax(0,1fr) minmax(0,1.45fr);gap:16px}
  [data-fs-theme='portico'] .fs-pcm-offer{padding:38px 32px 30px}
  [data-fs-theme='portico'] .fs-pcm-offer-t{font-size:26px}
}
@container (max-width: 60rem){
  [data-fs-theme='portico'] .fs-pcm-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  [data-fs-theme='portico'] .fs-pcm-offer{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:28px;align-items:end;padding:30px 28px 26px}
  [data-fs-theme='portico'] .fs-pcm-offer > :not(.fs-pcm-offer-go):not(.fs-pcm-slip){grid-column:1}
  [data-fs-theme='portico'] .fs-pcm-offer-t{max-width:none}
  [data-fs-theme='portico'] .fs-pcm-offer-go{grid-column:2;grid-row:1/span 3;flex-direction:column;align-items:stretch;margin:0;padding:0}
  [data-fs-theme='portico'] .fs-pcm-offer-tel{align-self:center}
  [data-fs-theme='portico'] .fs-pcm-card{padding:22px 20px 24px}
  [data-fs-theme='portico'] .fs-pcm-big{font-size:40px}
}
@container (max-width: 42rem){
  [data-fs-theme='portico'] .fs-pcm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  [data-fs-theme='portico'] .fs-pcm-run{display:none}
  [data-fs-theme='portico'] .fs-pcm-hlink{display:none}
}
@container (max-width: 30rem){
  [data-fs-theme='portico'] .fs-pcm-grid,[data-fs-theme='portico'] .fs-hdr-mobile .fs-pcm-grid{grid-template-columns:minmax(0,1fr)}
  [data-fs-theme='portico'] .fs-hdr-mobile .fs-pcm-dots,[data-fs-theme='portico'] .fs-hdr-mobile .fs-pcm-lnote{display:none}
}
@media (prefers-reduced-motion: reduce){
  [data-fs-theme='portico'] .fs-hdr-cta.fs-hdr-cta,[data-fs-theme='portico'] .fs-pcm-cta,[data-fs-theme='portico'] .fs-pcm-link{transition:none}
  [data-fs-theme='portico'] .fs-hdr-cta.fs-hdr-cta:hover,[data-fs-theme='portico'] .fs-pcm-cta:hover{transform:none}
}


/* Tokens (mockup 58–59). --al-rulec: the double rule, the rings and the
   milestone dot (the accent); --al-hair: soft rules; --al-edge: the
   plate's half-ink hairline; the lift and card shadows (deeper in dark). */
[data-fs-theme='almanac']{--fs-chrome-mode:light;--al-rulec:rgb(var(--c-accent, var(--c-brand-600)));--al-hair:rgb(var(--c-ink-950) / .15);--al-edge:rgb(var(--c-ink-950) / .5);--al-shadow:0 26px 48px -20px rgb(0 0 0 / .45);--al-shadow-card:0 10px 22px -10px rgb(0 0 0 / .42)}
[data-fs-theme='almanac'].dark{--fs-chrome-mode:dark;--al-hair:rgb(var(--c-ink-950) / .18);--al-edge:rgb(var(--c-ink-950) / .34);--al-shadow:0 28px 52px -18px rgb(0 0 0 / .85);--al-shadow-card:0 12px 26px -10px rgb(0 0 0 / .8)}
/* The strip: the plate stock (surface) with a soft rule, a running head —
   the note in small capitals left, then hours, street and phone, each
   after the milestone's 5px accent dot. */
[data-fs-theme='almanac'] .fs-hdr-util{container-type:inline-size;background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-700));border-bottom:1px solid var(--al-hair)}
[data-fs-theme='almanac'] .fs-hdr-util-in{container-type:inline-size;container-name:fs-strip-in;display:flex;align-items:center;gap:24px;min-height:0;padding-block:8px;border-bottom:0;font-size:12.5px;line-height:1.3;white-space:nowrap;color:inherit}
[data-fs-theme='almanac'] .fs-hdr-util-item{display:inline-flex;align-items:center;gap:12px;min-height:17px}
[data-fs-theme='almanac'] .fs-hdr-util-note{order:-1;margin-right:auto;font-weight:700;font-size:10.5px;line-height:1.3;letter-spacing:.18em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
[data-fs-theme='almanac'] .fs-hdr-util-hours{order:0}
[data-fs-theme='almanac'] .fs-hdr-util-address{order:1}
[data-fs-theme='almanac'] .fs-hdr-util-tel{order:2;margin-left:0;font-family:var(--font-display, "Libre Baskerville",Georgia,serif);font-weight:400;font-size:14px;line-height:1.2;font-variant-numeric:tabular-nums;color:rgb(var(--c-brand-text))}
[data-fs-theme='almanac'] .fs-hdr-util-dot{display:none}
[data-fs-theme='almanac'] .fs-hdr-util-hours::before,[data-fs-theme='almanac'] .fs-hdr-util-address::before,[data-fs-theme='almanac'] .fs-hdr-util-tel::before{content:"";flex:none;width:5px;height:5px;border-radius:50%;background:var(--al-rulec);-webkit-mask:none;mask:none}
@container fs-strip-in (max-width: 50rem){
  [data-fs-theme='almanac'] .fs-hdr-util-address{display:none}
}
@container (max-width: 40rem){
  [data-fs-theme='almanac'] .fs-hdr-util-in{display:flex;justify-content:center}
  [data-fs-theme='almanac'] .fs-hdr-util-item:not(.fs-hdr-util-tel){display:none}
  [data-fs-theme='almanac'] .fs-hdr-util-tel::before{display:none}
}
/* The band (the desktop gate); the row, flush top and bottom, carries the
   THIN half of the double rule — 1px of accent painted across its content
   box, logo to button. The page you are on adds the thick half. */
[data-fs-theme='almanac'] .fs-hdr-band{container-type:inline-size;container-name:fs-band;border-bottom-width:0;background:rgb(var(--c-paper))}
[data-fs-theme='almanac'] .fs-hdr-row{column-gap:0;padding-block:0;min-height:clamp(68px, (100cqi - 760px) * 100, 84px);background:linear-gradient(var(--al-rulec),var(--al-rulec)) 0 100%/100% 1px no-repeat content-box}
/* The lockup: the theme's roundel (40px) and the name as real text in
   Baskerville 20px; links and button grouped right. The mark's gradient
   ends in the accent, as the design paints it (R-B5-6). */
[data-fs-theme='almanac'] .fs-hdr-row > :first-child{flex:none;gap:12px;margin-right:auto;padding-right:20px}
[data-fs-theme='almanac'] .fs-hdr-row [data-fs-logo-mark]{width:40px;height:40px}
[data-fs-theme='almanac'] .fs-hdr-row [data-fs-logo-mark] stop:last-child{stop-color:rgb(var(--c-accent, var(--c-brand-600)))}
[data-fs-theme='almanac'] .fs-hdr-row [data-fs-wordmark]{font-size:20px;line-height:1.1;letter-spacing:.01em;white-space:nowrap}
/* The button: Crest's printed button, brand fill, the card shadow, a 2px
   lift on hover. */
[data-fs-theme='almanac'] .fs-hdr-cta{--fs-hdr-cta-bg:rgb(var(--c-brand-600));--fs-hdr-cta-fg:var(--fs-on-brand, rgb(var(--c-paper)));--fs-hdr-cta-bg-hover:rgb(var(--c-brand-600));--fs-hdr-cta-fg-hover:var(--fs-on-brand, rgb(var(--c-paper)))}
[data-fs-theme='almanac'] .fs-hdr-cta.fs-hdr-cta{flex:none;padding:14px 20px;border-radius:0;font-weight:700;font-size:12px;line-height:1;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;box-shadow:var(--al-shadow-card);transition:transform .16s ease,box-shadow .16s ease}
[data-fs-theme='almanac'] .fs-hdr-cta.fs-hdr-cta:hover{transform:translateY(-2px);box-shadow:var(--al-shadow)}
[data-fs-theme='almanac'] .fs-hdr-row .fs-hdr-cta{margin-left:30px}
/* The menu button: a 46px roundel (2px accent ring, paper and hairline
   rings inside) carrying the rule — thick, thin, thick. */
[data-fs-theme='almanac'] .fs-hdr-menu-btn{width:46px;height:46px;margin-left:16px;border:2px solid var(--al-rulec);border-radius:50%;box-shadow:inset 0 0 0 2px rgb(var(--c-paper)),inset 0 0 0 3px var(--al-edge);background:linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) center calc(50% - 5px)/18px 3px no-repeat,linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) center/18px 1px no-repeat,linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) center calc(50% + 5px)/18px 3px no-repeat}
[data-fs-theme='almanac'] .fs-hdr-menu-btn svg{display:none}
/* The mega shell: no frame; 12px under the rule; the lift shadow. */
[data-fs-theme='almanac'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite){margin-top:12px !important;background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:var(--al-shadow) !important}
[data-fs-theme='almanac'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite)::before{top:-12px;height:12px}
/* Layout tiers (mockup 233–259); desktop only. The rule, the italic
   current page and the button's shadow all stay. */
@container fs-band (min-width: 62rem){
  /* Boxed (880). */
  @container (max-width: 60rem){
    [data-fs-theme='almanac'] .fs-hdr-row > :first-child{gap:10px;padding-right:16px}
    [data-fs-theme='almanac'] .fs-hdr-row [data-fs-logo-mark]{width:36px;height:36px}
    [data-fs-theme='almanac'] .fs-hdr-row [data-fs-wordmark]{font-size:18px}
    [data-fs-theme='almanac'] .fsmenu-crestRule-nav{--al-gap:18px;--al-fs:14.5px}
    [data-fs-theme='almanac'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:22px;padding-inline:16px;letter-spacing:.12em}
  }
  /* Centered (784). */
  @container (max-width: 50rem){
    [data-fs-theme='almanac'] .fs-hdr-row > :first-child{gap:8px;padding-right:12px}
    [data-fs-theme='almanac'] .fs-hdr-row [data-fs-logo-mark]{width:32px;height:32px}
    [data-fs-theme='almanac'] .fs-hdr-row [data-fs-wordmark]{font-size:16px}
    [data-fs-theme='almanac'] .fsmenu-crestRule-nav{--al-gap:14px;--al-fs:13.5px}
    [data-fs-theme='almanac'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:16px;padding:12px 12px;font-size:11px;letter-spacing:.08em}
  }
  /* Minimalist (688), the tightest. */
  @container (max-width: 44rem){
    [data-fs-theme='almanac'] .fs-hdr-row > :first-child{gap:8px;padding-right:10px}
    [data-fs-theme='almanac'] .fs-hdr-row [data-fs-logo-mark]{width:30px;height:30px}
    [data-fs-theme='almanac'] .fs-hdr-row [data-fs-wordmark]{font-size:14px;letter-spacing:0}
    [data-fs-theme='almanac'] .fsmenu-crestRule-nav{--al-gap:9px;--al-fs:13px}
    [data-fs-theme='almanac'] .fsmenu-crestRule{gap:5px}
    [data-fs-theme='almanac'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:12px;padding:11px 8px;font-size:10.5px;letter-spacing:.04em}
  }
}
/* Phones: the platform hides the button at row 34rem; the logo steps
   down beside the menu roundel. */
@container (max-width: 34rem){
  [data-fs-theme='almanac'] .fs-hdr-row > :first-child{gap:10px;padding-right:10px}
  [data-fs-theme='almanac'] .fs-hdr-row [data-fs-logo-mark]{width:34px;height:34px}
  [data-fs-theme='almanac'] .fs-hdr-row [data-fs-wordmark]{font-size:17px}
}
/* FIX ROUND 1 (2026-10-02), R16 (precedent in oriel/portico-chrome-
   styles.ts etc.): the read-only preview alone renders a visitor
   dark/light toggle (.fs-hdr-mode) plus a fixed-width "Edit Template"
   link (TemplateViewClient.tsx), present on no real site. CDP-measured
   at 390/320: the CTA is already hidden by the platform's own ≤34rem
   rule, but that trailing pair still sits between it and the menu
   button, pushing the button 23px past the edge at 390 and 93px at
   320 — the row's own content is identical at both widths, only the
   viewport edge moves. Hiding .fs-hdr-mode alone frees enough at 390;
   320 needs the wordmark gone too. [data-fs-preview-edit] is the
   stable, surface-only hook the Edit Template link alone carries;
   :has() reaches up from it so only a row that actually contains it
   is affected — published and editor markup never has the hook. */
@container (max-width: 34rem){
  [data-fs-theme='almanac'] .fs-hdr-row:has([data-fs-preview-edit]) .fs-hdr-mode{display:none}
}
@container (max-width: 22rem){
  [data-fs-theme='almanac'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{display:none}
}
/* "Menu" in the italic clause (Baskerville 24px, brand) beside a roundel
   close button, over a 1px accent rule; Baskerville rows on soft rules;
   your page italic in brand ink, underlined with the full double rule. */
[data-fs-theme='almanac'] .fs-hdr-mobile{color:rgb(var(--c-ink-950))}
[data-fs-theme='almanac'] .fs-hdr-mobile-head{height:auto;gap:12px;margin:0 20px;padding:14px 0 16px;border-bottom:1px solid var(--al-rulec)}
[data-fs-theme='almanac'] .fs-hdr-mobile-title{font-family:var(--font-display, "Libre Baskerville",Georgia,serif);font-style:italic;font-weight:400;font-size:24px;line-height:1;color:rgb(var(--c-brand-text))}
[data-fs-theme='almanac'] .fs-hdr-mobile-close{flex:none;width:44px;height:44px;border:2px solid var(--al-rulec);border-radius:50%;box-shadow:inset 0 0 0 2px rgb(var(--c-paper)),inset 0 0 0 3px var(--al-edge);color:rgb(var(--c-ink-950))}
[data-fs-theme='almanac'] .fs-hdr-mobile-close svg{width:15px;height:15px}
[data-fs-theme='almanac'] .fs-hdr-mobile > nav{padding:2px 20px 0}
[data-fs-theme='almanac'] .fs-hdr-mobile-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--al-hair)}
[data-fs-theme='almanac'] .fs-hdr-mobile-row:has(.fs-hdr-mobile-link[aria-current]:not([aria-current='false'])){border-bottom-color:var(--al-rulec);background:linear-gradient(var(--al-rulec),var(--al-rulec)) 0 calc(100% - 3px)/100% 3px no-repeat}
[data-fs-theme='almanac'] .fs-hdr-mobile-link:not(.is-sub){display:flex;align-items:center;min-height:54px;padding:0;font-family:var(--font-display, "Libre Baskerville",Georgia,serif);font-weight:400;font-size:21px;line-height:1.15;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='almanac'] .fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false']){font-style:italic;color:rgb(var(--c-brand-text))}
[data-fs-theme='almanac'] .fs-hdr-mobile-toggle{margin-right:6px;color:rgb(var(--c-ink-950))}
[data-fs-theme='almanac'] .fs-hdr-mobile-sub{margin:0;padding:6px 0 16px;border-left:0;border-bottom:1px solid var(--al-hair)}
/* A small plate on the surface (hairline, card shadow): the strip's note
   in small capitals, a short double rule, the phone as a 27px figure, the
   hours, the button full width. No fixed words. */
[data-fs-theme='almanac'] .fs-pmf-almanac{margin:24px 0 28px;font-size:15px;line-height:1.55}
[data-fs-theme='almanac'] .fs-pmf-plate{display:flex;flex-direction:column;align-items:center;padding:20px 18px 18px;text-align:center;background:rgb(var(--c-paper-soft));border:1px solid var(--al-edge);box-shadow:var(--al-shadow-card)}
[data-fs-theme='almanac'] .fs-pmf-note{margin:0;font-weight:700;font-size:10.5px;line-height:1.35;letter-spacing:.2em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
[data-fs-theme='almanac'] .fs-pmf-rule{display:block;width:5.5rem;margin-top:12px}
[data-fs-theme='almanac'] .fs-pmf-rule-a{display:block;height:3px;background:var(--al-rulec)}
[data-fs-theme='almanac'] .fs-pmf-rule-b{display:block;height:1px;margin-top:3px;background:var(--al-rulec)}
[data-fs-theme='almanac'] .fs-pmf-num{display:flex;flex-direction:column;align-items:center}
[data-fs-theme='almanac'] .fs-pmf-big{margin:14px 0 0;font-family:var(--font-display, "Libre Baskerville",Georgia,serif);font-weight:400;font-size:27px;line-height:1;font-variant-numeric:tabular-nums;color:rgb(var(--c-brand-text))}
[data-fs-theme='almanac'] .fs-pmf-hours{margin:9px 0 0;font-size:13.5px;color:rgb(var(--c-ink-700))}
[data-fs-theme='almanac'] .fs-pmf-tel{color:inherit;text-decoration:none}
[data-fs-theme='almanac'] .fs-pmf .fs-hdr-cta.fs-pmf-cta{display:flex;align-items:center;justify-content:center;align-self:stretch;margin:16px 0 0;padding-block:15px}
/* The panel: the plate with a plate tipped in (ported from the mockup's
   .al-mega and friends, R-B5-2 — see the chrome comment header for which
   mockup rules were left out and why). */
[data-fs-theme='almanac'] .fs-alm-label{display:block;font-weight:700;font-size:10.5px;line-height:1.35;letter-spacing:.2em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
[data-fs-theme='almanac'] .fs-alm-acc{font-style:italic;color:rgb(var(--c-brand-text))}
[data-fs-theme='almanac'] .fs-alm-rule{display:block;width:5.5rem}
[data-fs-theme='almanac'] .fs-alm-rule-a{display:block;height:3px;background:var(--al-rulec)}
[data-fs-theme='almanac'] .fs-alm-rule-b{display:block;height:1px;margin-top:3px;background:var(--al-rulec)}
[data-fs-theme='almanac'] .fs-alm-roundel{display:inline-flex;align-items:center;justify-content:center;flex:none;width:3.1rem;height:3.1rem;border-radius:50%;background:rgb(var(--c-paper));border:3px solid var(--al-rulec);box-shadow:inset 0 0 0 1px rgb(var(--c-paper)),inset 0 0 0 2px rgb(var(--c-brand-600) / .55);font-family:var(--font-display, "Libre Baskerville",Georgia,serif);font-weight:400;font-size:1.35rem;line-height:1;color:rgb(var(--c-brand-text))}
[data-fs-theme='almanac'] .fs-alm-panel{--al-mpad:clamp(20px,2.6cqi,36px);container-type:inline-size;padding:var(--al-mpad);background:rgb(var(--c-paper-soft));border:1px solid var(--al-edge);color:rgb(var(--c-ink-950));font-size:15px;line-height:1.55}
[data-fs-theme='almanac'] .fs-alm-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(15.5rem,.3fr);grid-template-areas:"head plate" "svcs plate";column-gap:clamp(24px,3cqi,44px);row-gap:24px}
[data-fs-theme='almanac'] .fs-alm-head{grid-area:head;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 36px}
[data-fs-theme='almanac'] .fs-alm-title{margin-top:8px;font-family:var(--font-display, "Libre Baskerville",Georgia,serif);font-weight:400;font-size:25px;line-height:1.22;color:rgb(var(--c-ink-950));text-wrap:balance}
[data-fs-theme='almanac'] .fs-alm-note{max-width:34ch;font-family:var(--font-display, "Libre Baskerville",Georgia,serif);font-style:italic;font-weight:400;font-size:13.5px;line-height:1.5;color:rgb(var(--c-ink-700))}
[data-fs-theme='almanac'] .fs-alm-svcs{grid-area:svcs;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px clamp(18px,2.2cqi,30px);list-style:none;margin:0;padding:0;counter-reset:fs-alm}
[data-fs-theme='almanac'] .fs-alm-svc{display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:8px;min-width:0;padding-top:16px;border-top:3px solid var(--al-rulec);background:linear-gradient(var(--al-rulec),var(--al-rulec)) 0 3px/100% 1px no-repeat}
[data-fs-theme='almanac'] .fs-alm-svc-h{display:flex;align-items:center;gap:10px}
[data-fs-theme='almanac'] .fs-alm-svc-h::before{counter-increment:fs-alm;content:counter(fs-alm);flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgb(var(--c-paper));border:2px solid rgb(var(--c-brand-text));font-family:var(--font-display, "Libre Baskerville",Georgia,serif);font-weight:400;font-size:13px;line-height:1;color:rgb(var(--c-brand-text));box-shadow:0 3px 8px -2px rgb(0 0 0 / .35)}
[data-fs-theme='almanac'] .fs-alm-svc-t{font-family:var(--font-display, "Libre Baskerville",Georgia,serif);font-weight:400;font-size:19px;line-height:1.2;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='almanac'] .fs-alm-svc-t:hover{color:rgb(var(--c-brand-text));text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
[data-fs-theme='almanac'] .fs-alm-svc-b{max-width:34ch;font-size:13.5px;line-height:1.55;color:rgb(var(--c-ink-700))}
[data-fs-theme='almanac'] .fs-alm-fee{display:grid;align-content:start;gap:5px;margin-top:4px;padding-top:12px;border-top:1px solid var(--al-hair)}
[data-fs-theme='almanac'] .fs-alm-fee-v{font-family:var(--font-display, "Libre Baskerville",Georgia,serif);font-weight:400;font-size:26px;line-height:1;color:rgb(var(--c-brand-text));font-variant-numeric:tabular-nums}
[data-fs-theme='almanac'] .fs-alm-fee-l{font-weight:700;font-size:10px;line-height:1.35;letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
[data-fs-theme='almanac'] .fs-alm-by{font-family:var(--font-display, "Libre Baskerville",Georgia,serif);font-style:italic;font-weight:400;font-size:13px;line-height:1.45;color:rgb(var(--c-ink-700))}
[data-fs-theme='almanac'] .fs-alm-plate{grid-area:plate;align-self:start;display:flex;flex-direction:column;align-items:center;min-width:0;padding:22px 20px 20px;text-align:center;background:rgb(var(--c-paper));border:1px solid var(--al-edge);box-shadow:var(--al-shadow-card)}
[data-fs-theme='almanac'] .fs-alm-plate .fs-alm-label{margin-top:12px}
[data-fs-theme='almanac'] .fs-alm-plate-t{margin-top:6px;font-family:var(--font-display, "Libre Baskerville",Georgia,serif);font-weight:400;font-size:19px;line-height:1.25;text-wrap:balance}
[data-fs-theme='almanac'] .fs-alm-plate .fs-alm-rule{margin-top:12px}
[data-fs-theme='almanac'] .fs-alm-plate-tel{margin-top:14px;font-family:var(--font-display, "Libre Baskerville",Georgia,serif);font-weight:400;font-size:23px;line-height:1;color:rgb(var(--c-brand-text));font-variant-numeric:tabular-nums;white-space:nowrap;text-decoration:none}
[data-fs-theme='almanac'] .fs-alm-cta{align-self:stretch;display:flex;align-items:center;justify-content:center;margin:14px 0 0;padding:14px 20px;background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)));font-weight:700;font-size:12px;line-height:1;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;text-decoration:none;box-shadow:var(--al-shadow-card);transition:transform .16s ease,box-shadow .16s ease}
[data-fs-theme='almanac'] .fs-alm-cta:hover{transform:translateY(-2px);box-shadow:var(--al-shadow)}
[data-fs-theme='almanac'] .fs-alm-plate-note{margin-top:12px;font-size:12.5px;line-height:1.45;color:rgb(var(--c-ink-700))}
/* Phone-menu context (mockup 170–180): the panel sits inside the sheet,
   so it resets to transparent and narrows to one column; the head, the
   plate and the descriptive/by lines go, leaving a price list (R-B5-20:
   four scoped selectors rather than one :is() list). */
[data-fs-theme='almanac'] .fs-hdr-mobile .fs-alm-panel{padding:0;background:transparent;border:0;box-shadow:none}
[data-fs-theme='almanac'] .fs-hdr-mobile .fs-alm-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"svcs"}
[data-fs-theme='almanac'] .fs-hdr-mobile .fs-alm-head{display:none}
[data-fs-theme='almanac'] .fs-hdr-mobile .fs-alm-plate{display:none}
[data-fs-theme='almanac'] .fs-hdr-mobile .fs-alm-svc-b{display:none}
[data-fs-theme='almanac'] .fs-hdr-mobile .fs-alm-by{display:none}
[data-fs-theme='almanac'] .fs-hdr-mobile .fs-alm-svcs{row-gap:0}
[data-fs-theme='almanac'] .fs-hdr-mobile .fs-alm-svc{grid-row:auto;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:none;grid-template-areas:"h fee" "lbl fee";align-items:center;gap:4px 14px;padding:12px 0;border-top:0;border-bottom:1px solid var(--al-hair);background:none}
[data-fs-theme='almanac'] .fs-hdr-mobile .fs-alm-svc:last-child{border-bottom:0}
[data-fs-theme='almanac'] .fs-hdr-mobile .fs-alm-svc-h{grid-area:h}
[data-fs-theme='almanac'] .fs-hdr-mobile .fs-alm-svc-t{font-size:17px}
[data-fs-theme='almanac'] .fs-hdr-mobile .fs-alm-fee{display:contents}
[data-fs-theme='almanac'] .fs-hdr-mobile .fs-alm-fee-v{grid-area:fee;font-size:22px}
[data-fs-theme='almanac'] .fs-hdr-mobile .fs-alm-fee-l{grid-area:lbl;padding-left:38px}
/* The panel = the menu bar; content box = panel − hairline − padding:
   1318 / 1166 / 1090 / 832 / 741 / 646; phone-menu copies 728 and 350.
   WIDE (base, above 64rem): four services in a row beside the plate
   (.3fr, from 15.5rem). MIDDLE (64rem): two by two beside a 15rem plate.
   TIGHT (44rem): 13.5rem plate, smaller title, the side note goes.
   30rem: one column. */
@container (max-width: 64rem){
  [data-fs-theme='almanac'] .fs-alm-svcs{grid-template-columns:repeat(2,minmax(0,1fr))}
  [data-fs-theme='almanac'] .fs-alm-grid{grid-template-columns:minmax(0,1fr) 15rem}
  [data-fs-theme='almanac'] .fs-hdr-mobile .fs-alm-svc:nth-last-child(2):nth-child(odd){border-bottom:0}
}
@container (max-width: 44rem){
  [data-fs-theme='almanac'] .fs-alm-grid{grid-template-columns:minmax(0,1fr) 13.5rem;column-gap:22px}
  [data-fs-theme='almanac'] .fs-alm-title{font-size:21px}
  [data-fs-theme='almanac'] .fs-alm-note{display:none}
  [data-fs-theme='almanac'] .fs-alm-svcs{column-gap:18px}
  [data-fs-theme='almanac'] .fs-alm-svc-t{font-size:17.5px}
  [data-fs-theme='almanac'] .fs-alm-plate{padding-inline:14px}
  [data-fs-theme='almanac'] .fs-alm-plate-tel{font-size:20px}
}
@container (max-width: 30rem){
  [data-fs-theme='almanac'] .fs-alm-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "svcs" "plate"}
  [data-fs-theme='almanac'] .fs-alm-svcs{grid-template-columns:minmax(0,1fr);row-gap:18px}
  [data-fs-theme='almanac'] .fs-hdr-mobile .fs-alm-svcs{row-gap:0}
  [data-fs-theme='almanac'] .fs-hdr-mobile .fs-alm-svc:nth-last-child(2):nth-child(odd){border-bottom:1px solid var(--al-hair)}
}
@media (prefers-reduced-motion: reduce){
  [data-fs-theme='almanac'] .fs-hdr-cta.fs-hdr-cta,[data-fs-theme='almanac'] .fs-alm-cta{transition:none}
  [data-fs-theme='almanac'] .fs-hdr-cta.fs-hdr-cta:hover,[data-fs-theme='almanac'] .fs-alm-cta:hover{transform:none}
}


/* Tokens (mockup 65–66, renamed). --cc-rule: every hairline; --cc-rule2:
   drawn outlines and the hover arc; --cc-note: notes and small print;
   --cc-metal: the accent as a MARK, never text; --cc-metal-ink: the
   accent as text (the micron figures); --cc-ring: the offset keyline;
   --cc-well: the appointment card; --cc-leader: the dotted leaders;
   --cc-deep: the filled button's hover (R-B5-5). */
[data-fs-theme='concours']{--fs-chrome-mode:light;--cc-rule:rgb(var(--c-ink-950) / .14);--cc-rule2:rgb(var(--c-ink-950) / .48);--cc-note:color-mix(in srgb, rgb(var(--c-ink-950)) 74%, rgb(var(--c-paper)));--cc-metal:rgb(var(--c-accent, var(--c-brand-600)));--cc-metal-ink:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 78%, rgb(var(--c-ink-950)));--cc-ring:rgb(var(--c-accent, var(--c-brand-600)) / .55);--cc-well:rgb(var(--c-paper-soft));--cc-leader:rgb(var(--c-ink-400));--cc-deep:color-mix(in srgb, rgb(var(--c-brand-600)) 86%, rgb(var(--c-ink-950)))}
[data-fs-theme='concours'].dark{--fs-chrome-mode:dark;--cc-rule:rgb(var(--c-ink-950) / .16);--cc-rule2:rgb(var(--c-ink-950) / .5);--cc-metal-ink:rgb(var(--c-accent, var(--c-brand-600)));--cc-ring:rgb(var(--c-accent, var(--c-brand-600)) / .5);--cc-deep:color-mix(in srgb, rgb(var(--c-brand-600)) 86%, rgb(var(--c-paper)))}
/* The strip: the surface tone, Jost caps tracked .2em, centred; each item
   after the first is led by a small swept arc (16x6) instead of a dot. */
[data-fs-theme='concours'] .fs-hdr-util{container-type:inline-size;background:rgb(var(--c-paper-soft));color:var(--cc-note);font-family:var(--font-display, Jost,Futura,"Century Gothic",sans-serif);font-weight:500;font-size:10.5px;line-height:1.2;letter-spacing:.2em;text-transform:uppercase}
[data-fs-theme='concours'] .fs-hdr-util-in{container-type:inline-size;container-name:fs-strip-in;display:flex;align-items:center;justify-content:center;gap:14px;min-height:0;padding-block:10px;border-bottom:0;white-space:nowrap;color:inherit}
[data-fs-theme='concours'] .fs-hdr-util-item{display:inline-flex;align-items:center;gap:14px}
[data-fs-theme='concours'] .fs-hdr-util-note{order:-1}
[data-fs-theme='concours'] .fs-hdr-util-address{order:0}
[data-fs-theme='concours'] .fs-hdr-util-hours{order:1}
[data-fs-theme='concours'] .fs-hdr-util-tel{order:2;margin-left:0;font-weight:600;letter-spacing:.14em;font-variant-numeric:tabular-nums;color:rgb(var(--c-ink-950))}
[data-fs-theme='concours'] .fs-hdr-util-dot{display:none}
[data-fs-theme='concours'] .fs-hdr-util-address::before,[data-fs-theme='concours'] .fs-hdr-util-hours::before,[data-fs-theme='concours'] .fs-hdr-util-tel::before{content:"";display:inline-block;flex:none;width:16px;height:6px;border-top:1.5px solid var(--cc-metal);border-radius:50%/100% 100% 0 0;background:none;-webkit-mask:none;mask:none;transform:translateY(2px)}
@container fs-strip-in (max-width: 62rem){
  [data-fs-theme='concours'] .fs-hdr-util-address{display:none}
}
@container fs-strip-in (max-width: 50rem){
  [data-fs-theme='concours'] .fs-hdr-util-note{display:none}
  [data-fs-theme='concours'] .fs-hdr-util-hours::before{display:none}
}
@container (max-width: 40rem){
  [data-fs-theme='concours'] .fs-hdr-util-in{display:flex;justify-content:center}
  [data-fs-theme='concours'] .fs-hdr-util-item:not(.fs-hdr-util-tel){display:none}
  [data-fs-theme='concours'] .fs-hdr-util-tel::before{display:none}
}
/* The band (the desktop gate) closed by one hairline; the row on paper. */
[data-fs-theme='concours'] .fs-hdr-band{container-type:inline-size;container-name:fs-band;border-bottom:1px solid var(--cc-rule);background:rgb(var(--c-paper))}
[data-fs-theme='concours'] .fs-hdr-row{column-gap:0;min-height:clamp(66px, (100cqi - 760px) * 100, 84px)}
/* The lockup: the monogram (outer arc in the metal, inner in the brand —
   R-B5-6) and the two-line nameplate: the wordmark wraps at 106px, its
   first line large in ink, the rest small in ink-700 (R-B5-7; the preview
   writes an inline ink colour, hence !important). --cc-ls scales it. */
[data-fs-theme='concours'] .fs-hdr-row > :first-child{--cc-ls:1;flex:none;gap:calc(8px * var(--cc-ls));margin-right:auto;padding-right:24px}
[data-fs-theme='concours'] .fs-hdr-row [data-fs-logo-mark]{width:calc(36px * var(--cc-ls));height:calc(36px * var(--cc-ls))}
[data-fs-theme='concours'] .fs-hdr-row [data-fs-logo-mark] path:first-of-type{stroke:rgb(var(--c-accent, var(--c-brand-600)))}
[data-fs-theme='concours'] .fs-hdr-row [data-fs-logo-mark] path:last-of-type{stroke:rgb(var(--c-brand-600));opacity:1}
[data-fs-theme='concours'] .fs-hdr-row [data-fs-wordmark]{display:block;max-width:calc(106px * var(--cc-ls));font-size:calc(8.3px * var(--cc-ls));line-height:1.45;letter-spacing:.57em;text-transform:uppercase;white-space:normal;color:rgb(var(--c-ink-700)) !important}
[data-fs-theme='concours'] .fs-hdr-row [data-fs-wordmark]::first-line{font-size:calc(17px * var(--cc-ls));letter-spacing:.43em;color:rgb(var(--c-ink-950))}
/* The button: a drawn pill (pillOutline) with the offset keyline ring —
   4px of page colour, then 1px of the ring — filling with the brand on
   hover. */
[data-fs-theme='concours'] .fs-hdr-cta{--fs-hdr-cta-bg:transparent;--fs-hdr-cta-fg:rgb(var(--c-ink-950));--fs-hdr-cta-bg-hover:rgb(var(--c-brand-600));--fs-hdr-cta-fg-hover:var(--fs-on-brand, rgb(var(--c-paper)))}
[data-fs-theme='concours'] .fs-hdr-cta.fs-hdr-cta{flex:none;padding:13px 26px;border:1px solid var(--cc-rule2);border-radius:999px;font-family:var(--font-display, Jost,Futura,"Century Gothic",sans-serif);font-weight:500;font-size:12.5px;line-height:1;letter-spacing:.22em;text-transform:uppercase;white-space:nowrap;box-shadow:0 0 0 4px rgb(var(--c-paper)),0 0 0 5px var(--cc-ring);transition:background-color .25s ease,color .25s ease,border-color .25s ease}
[data-fs-theme='concours'] .fs-hdr-cta.fs-hdr-cta:hover{border-color:rgb(var(--c-brand-600))}
[data-fs-theme='concours'] .fs-hdr-row .fs-hdr-cta{margin-left:22px}
/* The menu button: a 44px hairline circle, two short lines, the second in
   the metal. */
[data-fs-theme='concours'] .fs-hdr-menu-btn{width:44px;height:44px;margin-left:18px;border:1px solid var(--cc-rule2);border-radius:50%;background:linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) center calc(50% - 3.25px)/18px 1.5px no-repeat,linear-gradient(var(--cc-metal),var(--cc-metal)) center calc(50% + 3.25px)/11px 1.5px no-repeat}
[data-fs-theme='concours'] .fs-hdr-menu-btn svg{display:none}
/* The mega shell: no frame; 12px under the hairline; the panel's round
   shape and its one soft shadow (the only drop shadow in the theme). */
[data-fs-theme='concours'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite){margin-top:12px !important;background:transparent !important;border:0 !important;border-radius:22px !important;box-shadow:0 34px 60px -34px rgb(0 0 0 / .45) !important}
[data-fs-theme='concours'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite)::before{top:-12px;height:12px}
/* Layout tiers (mockup 246–266); desktop only. The tiers turn --cc-pad and
   --cc-track, which set both the item's padding and its arc's inset. */
@container fs-band (min-width: 62rem){
  /* Boxed (880; 794 used). */
  @container (max-width: 60rem){
    [data-fs-theme='concours'] .fs-hdr-row > :first-child{padding-right:18px}
    [data-fs-theme='concours'] .fsmenu-sweptArc{--cc-pad:12px;--cc-track:.16em}
    [data-fs-theme='concours'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:16px;padding-inline:22px;letter-spacing:.18em}
  }
  /* Centered (784; 721 used). */
  @container (max-width: 50rem){
    [data-fs-theme='concours'] .fs-hdr-row > :first-child{--cc-ls:.9}
    [data-fs-theme='concours'] .fsmenu-sweptArc{--cc-pad:10px;--cc-track:.13em;--cc-size:12.5px}
    [data-fs-theme='concours'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:14px;padding-inline:19px;letter-spacing:.14em}
  }
  /* Minimalist (688; 662 used): still one row, the pill keeps its ring. */
  @container (max-width: 44rem){
    [data-fs-theme='concours'] .fs-hdr-row > :first-child{--cc-ls:.85;padding-right:12px}
    [data-fs-theme='concours'] .fsmenu-sweptArc{--cc-pad:9px;--cc-track:.1em;--cc-size:12px}
    [data-fs-theme='concours'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:12px;padding:12px 17px;font-size:12px;letter-spacing:.12em}
  }
}
/* Phones: the platform hides the pill at row 34rem; the logo steps down. */
@container (max-width: 34rem){
  [data-fs-theme='concours'] .fs-hdr-row > :first-child{--cc-ls:.85}
}
/* FIX ROUND 1 (2026-10-03), R16 (precedent in oriel/portico/almanac-
   chrome-styles.ts etc.): the read-only preview alone renders a visitor
   dark/light toggle (.fs-hdr-mode) plus a fixed-width "Edit Template"
   link (TemplateViewClient.tsx), present on no real site. CDP-measured
   at 390/320: the menu button's right edge sits at 423.8px at 390
   (33.8px past the edge) with both present; hiding .fs-hdr-mode alone
   brings it to 371.8px, inside 390, but 320 still overflows by 51.8px
   until the wordmark goes too, landing it at 292px. [data-fs-preview-
   edit] is the stable, surface-only hook the Edit Template link alone
   carries; :has() reaches up from it so only a row that actually
   contains it is affected — published and editor markup never has the
   hook. */
@container (max-width: 34rem){
  [data-fs-theme='concours'] .fs-hdr-row:has([data-fs-preview-edit]) .fs-hdr-mode{display:none}
}
@container (max-width: 22rem){
  [data-fs-theme='concours'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{display:none}
}

/* The page colour, hairline rows, Jost 400 22px; "Menu" in caps tracked
   .32em, muted; a hairline-circle close button; your page with a small
   swept arc before its word. A group row keeps no divider while closed
   (the mockup's transparent group border). */
[data-fs-theme='concours'] .fs-hdr-mobile{color:rgb(var(--c-ink-950))}
[data-fs-theme='concours'] .fs-hdr-mobile-head{height:auto;padding:13px 18px 13px 24px;border-bottom:1px solid var(--cc-rule)}
[data-fs-theme='concours'] .fs-hdr-mobile-title{font-family:var(--font-display, Jost,Futura,"Century Gothic",sans-serif);font-weight:500;font-size:11px;line-height:1;letter-spacing:.32em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
[data-fs-theme='concours'] .fs-hdr-mobile-close{width:42px;height:42px;border:1px solid var(--cc-rule2);border-radius:50%;color:rgb(var(--c-ink-950))}
[data-fs-theme='concours'] .fs-hdr-mobile-close svg{width:13px;height:13px}
[data-fs-theme='concours'] .fs-hdr-mobile > nav{padding:6px 12px 24px}
[data-fs-theme='concours'] .fs-hdr-mobile-row{display:flex;align-items:center;border-bottom:1px solid var(--cc-rule)}
[data-fs-theme='concours'] .fs-hdr-mobile-row:has(.fs-hdr-mobile-toggle){border-bottom-color:transparent}
[data-fs-theme='concours'] .fs-hdr-mobile-link:not(.is-sub){display:flex;align-items:center;gap:12px;min-height:56px;padding:10px 12px;font-family:var(--font-display, Jost,Futura,"Century Gothic",sans-serif);font-weight:400;font-size:22px;line-height:1.15;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='concours'] .fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false']){color:rgb(var(--c-brand-text))}
[data-fs-theme='concours'] .fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false'])::before{content:"";flex:none;width:18px;height:7px;border-top:1.5px solid var(--cc-metal);border-radius:50%/100% 100% 0 0;transform:translateY(3px)}
[data-fs-theme='concours'] .fs-hdr-mobile-toggle{margin-right:8px;color:rgb(var(--c-ink-950))}
[data-fs-theme='concours'] .fs-hdr-mobile-sub{margin:0;padding:0 0 12px;border-left:0;border-bottom:1px solid var(--cc-rule)}

/* favMarqueCta in miniature: a surface-toned rounded panel, centred — the
   swept arc, the phone in Jost 500 27px (brand ink), the hours in caps,
   then the pill filled with the brand, keeping its offset ring. */
[data-fs-theme='concours'] .fs-pmf-concours{display:flex;flex-direction:column;align-items:center;gap:8px;margin:auto 4px 20px;padding:18px 20px 22px;background:rgb(var(--c-paper-soft));border-radius:20px;text-align:center;font-size:15px;line-height:1.55}
[data-fs-theme='concours'] .fs-pmf-arc{display:block;width:5rem;height:.9rem;margin-bottom:2px;border-top:1.5px solid var(--cc-metal);border-radius:50%/100% 100% 0 0}
[data-fs-theme='concours'] .fs-pmf-num{display:flex;flex-direction:column;align-items:center;gap:8px}
[data-fs-theme='concours'] .fs-pmf-big{margin:0;font-family:var(--font-display, Jost,Futura,"Century Gothic",sans-serif);font-weight:500;font-size:27px;line-height:1.1;letter-spacing:.02em;font-variant-numeric:tabular-nums;color:rgb(var(--c-brand-text))}
[data-fs-theme='concours'] .fs-pmf-hours{margin:0;font-family:var(--font-display, Jost,Futura,"Century Gothic",sans-serif);font-weight:500;font-size:10.5px;line-height:1.6;letter-spacing:.16em;text-transform:uppercase;color:var(--cc-note)}
[data-fs-theme='concours'] .fs-pmf-tel{color:inherit;text-decoration:none}
[data-fs-theme='concours'] .fs-pmf .fs-hdr-cta.fs-pmf-cta{--fs-hdr-cta-bg:rgb(var(--c-brand-600));--fs-hdr-cta-fg:var(--fs-on-brand, rgb(var(--c-paper)));--fs-hdr-cta-bg-hover:var(--cc-deep);display:flex;align-items:center;justify-content:center;width:100%;margin:12px 0 0;padding-block:16px;border-color:rgb(var(--c-brand-600));box-shadow:0 0 0 4px rgb(var(--c-paper-soft)),0 0 0 5px var(--cc-ring)}

/* The panel: ported from the mockup's .cc-arc/.cc-label/.cc-accent
   (73–79, the separator is not used in the panel) and .cc-mega and
   friends (121–170, R-B5-2), then the phone-menu context rules
   (192–197, R-B5-20: five scoped selectors instead of one :is() list). */
[data-fs-theme='concours'] .fs-ccm-arc{display:block;width:7rem;height:1.1rem;border-top:1.5px solid var(--cc-metal);border-radius:50%/100% 100% 0 0}
[data-fs-theme='concours'] .fs-ccm-label{display:block;font-family:var(--font-display, Jost,Futura,"Century Gothic",sans-serif);font-weight:500;font-size:10.5px;line-height:1.3;letter-spacing:.24em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
[data-fs-theme='concours'] .fs-ccm-accent{color:rgb(var(--c-brand-text))}
[data-fs-theme='concours'] .fs-ccm-panel{--cc-gut:clamp(22px,2.5cqi,36px);container-type:inline-size;padding:calc(var(--cc-gut) - 2px) var(--cc-gut) var(--cc-gut);background:rgb(var(--c-paper));border:1px solid var(--cc-rule);border-radius:22px;color:rgb(var(--c-ink-950));font-size:15px;line-height:1.55}
[data-fs-theme='concours'] .fs-ccm-head{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:end;gap:14px clamp(24px,4cqi,64px);padding-bottom:20px;margin-bottom:6px;border-bottom:1px solid var(--cc-rule)}
[data-fs-theme='concours'] .fs-ccm-title{margin-top:10px;max-width:26ch;font-family:var(--font-display, Jost,Futura,"Century Gothic",sans-serif);font-weight:400;font-size:28px;line-height:1.16;letter-spacing:-.01em;color:rgb(var(--c-ink-950));text-wrap:balance}
[data-fs-theme='concours'] .fs-ccm-title .fs-ccm-accent{display:block}
[data-fs-theme='concours'] .fs-ccm-harc{margin-top:14px;animation:concours-sweep 1s cubic-bezier(.22,.61,.36,1) both}
[data-fs-theme='concours'] .fs-ccm-intro{justify-self:end;max-width:46ch;font-size:14px;line-height:1.6;color:var(--cc-note)}
[data-fs-theme='concours'] .fs-ccm-body{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,.95fr);gap:0 clamp(28px,3.4cqi,56px);align-items:start}
[data-fs-theme='concours'] .fs-ccm-ledger{list-style:none;margin:0;padding:0}
[data-fs-theme='concours'] .fs-ccm-lrow{display:grid;grid-template-columns:auto minmax(16px,1fr) auto;grid-template-areas:"n r p" "d d d";align-items:baseline;gap:3px 10px;padding-block:11px 10px;border-bottom:1px solid var(--cc-rule)}
[data-fs-theme='concours'] .fs-ccm-lname{grid-area:n;font-family:var(--font-display, Jost,Futura,"Century Gothic",sans-serif);font-weight:500;font-size:16px;line-height:1.25;color:rgb(var(--c-ink-950));text-decoration:underline 1px transparent;text-underline-offset:5px;transition:text-decoration-color .2s ease}
[data-fs-theme='concours'] .fs-ccm-lname:hover{text-decoration-color:var(--cc-metal)}
[data-fs-theme='concours'] .fs-ccm-lrule{grid-area:r;align-self:center;height:1px;background-image:radial-gradient(circle,var(--cc-leader) .65px,transparent .75px);background-size:5px 1px;background-repeat:repeat-x}
[data-fs-theme='concours'] .fs-ccm-lprice{grid-area:p;font-weight:600;font-size:14.5px;line-height:1.25;font-variant-numeric:tabular-nums;white-space:nowrap;color:rgb(var(--c-brand-text))}
[data-fs-theme='concours'] .fs-ccm-lnote{grid-area:d;max-width:54ch;font-size:13px;line-height:1.5;color:var(--cc-note)}
[data-fs-theme='concours'] .fs-ccm-lfoot{margin-top:14px;max-width:62ch;font-size:12.5px;line-height:1.55;color:rgb(var(--c-ink-400))}
[data-fs-theme='concours'] .fs-ccm-fin{display:flex;flex-direction:column;padding-top:18px}
[data-fs-theme='concours'] .fs-ccm-fin-art{display:block;width:100%;height:auto;margin-top:16px;overflow:visible}
[data-fs-theme='concours'] .fs-ccm-st-sub{fill:color-mix(in srgb, rgb(var(--c-ink-950)) 58%, rgb(var(--c-paper)))}
[data-fs-theme='concours'] .fs-ccm-st-pri{fill:color-mix(in srgb, rgb(var(--c-ink-950)) 24%, rgb(var(--c-paper)))}
[data-fs-theme='concours'] .fs-ccm-st-base{fill:rgb(var(--c-brand-600))}
[data-fs-theme='concours'] .fs-ccm-st-clear{fill:rgb(var(--c-accent, var(--c-brand-600)) / .3)}
[data-fs-theme='concours'] .fs-ccm-st-gloss{fill:none;stroke:var(--cc-metal);stroke-width:1.25px}
[data-fs-theme='concours'] .fs-ccm-layers{list-style:none;margin:14px 0 0;padding:0}
[data-fs-theme='concours'] .fs-ccm-layer{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:10px;padding-block:9px;border-top:1px solid var(--cc-rule)}
[data-fs-theme='concours'] .fs-ccm-chip{width:10px;height:10px;border-radius:50%;transform:translateY(1px)}
[data-fs-theme='concours'] .fs-ccm-chip.fs-ccm-st-sub{background:color-mix(in srgb, rgb(var(--c-ink-950)) 58%, rgb(var(--c-paper)))}
[data-fs-theme='concours'] .fs-ccm-chip.fs-ccm-st-pri{background:color-mix(in srgb, rgb(var(--c-ink-950)) 24%, rgb(var(--c-paper)))}
[data-fs-theme='concours'] .fs-ccm-chip.fs-ccm-st-base{background:rgb(var(--c-brand-600))}
[data-fs-theme='concours'] .fs-ccm-chip.fs-ccm-st-clear{background:rgb(var(--c-accent, var(--c-brand-600)) / .3);box-shadow:inset 0 0 0 1.25px var(--cc-metal)}
[data-fs-theme='concours'] .fs-ccm-layer-n{font-family:var(--font-display, Jost,Futura,"Century Gothic",sans-serif);font-weight:500;font-size:14.5px;line-height:1.2;color:rgb(var(--c-ink-950))}
[data-fs-theme='concours'] .fs-ccm-um{font-size:12.5px;letter-spacing:.08em;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--cc-metal-ink)}
[data-fs-theme='concours'] .fs-ccm-depth{margin-top:10px;font-size:12px;letter-spacing:.12em;font-variant-numeric:tabular-nums;color:rgb(var(--c-ink-400))}
[data-fs-theme='concours'] .fs-ccm-link{align-self:flex-start;margin-top:14px;padding-bottom:4px;border-bottom:1px solid var(--cc-metal);font-family:var(--font-display, Jost,Futura,"Century Gothic",sans-serif);font-weight:500;font-size:11.5px;line-height:1.3;letter-spacing:.18em;text-transform:uppercase;color:rgb(var(--c-ink-950))}
[data-fs-theme='concours'] .fs-ccm-link:hover{color:rgb(var(--c-brand-text))}
[data-fs-theme='concours'] .fs-ccm-appt{display:flex;flex-direction:column;align-items:flex-start;margin:26px 8px 8px;padding:24px 24px 22px;background:var(--cc-well);border-radius:18px;box-shadow:0 0 0 7px rgb(var(--c-paper)),0 0 0 8px var(--cc-ring)}
[data-fs-theme='concours'] .fs-ccm-appt .fs-ccm-arc{width:4.5rem;height:.8rem;margin-bottom:4px}
[data-fs-theme='concours'] .fs-ccm-appt-h{margin-top:10px;font-family:var(--font-display, Jost,Futura,"Century Gothic",sans-serif);font-weight:400;font-size:21px;line-height:1.25;color:rgb(var(--c-ink-950));text-wrap:balance}
[data-fs-theme='concours'] .fs-ccm-appt-tel{margin-top:14px;font-family:var(--font-display, Jost,Futura,"Century Gothic",sans-serif);font-weight:500;font-size:25px;line-height:1.1;letter-spacing:.02em;font-variant-numeric:tabular-nums;white-space:nowrap;color:rgb(var(--c-brand-text))}
[data-fs-theme='concours'] .fs-ccm-btn{display:flex;align-items:center;justify-content:center;align-self:stretch;margin-top:18px;padding:13px 16px;border:1px solid rgb(var(--c-brand-600));border-radius:999px;background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)));font-family:var(--font-display, Jost,Futura,"Century Gothic",sans-serif);font-weight:500;font-size:11.5px;line-height:1.25;letter-spacing:.12em;text-transform:uppercase;text-align:center;transition:background-color .2s ease,border-color .2s ease}
[data-fs-theme='concours'] .fs-ccm-btn:hover{background:var(--cc-deep);border-color:var(--cc-deep)}
[data-fs-theme='concours'] .fs-ccm-appt-note{margin-top:14px;font-family:var(--font-display, Jost,Futura,"Century Gothic",sans-serif);font-weight:500;font-size:10.5px;line-height:1.6;letter-spacing:.14em;text-transform:uppercase;color:var(--cc-note)}
/* Phone-menu context (mockup 192–197): the panel sits inside the sheet,
   so it resets to transparent and narrows to one column; the head, the
   appointment card, the drawn finish and the ledger's notes go, leaving
   names and prices only (R-B5-20: five scoped selectors). */
[data-fs-theme='concours'] .fs-hdr-mobile .fs-ccm-panel{padding:0 12px;background:transparent;border:0;border-radius:0;box-shadow:none}
[data-fs-theme='concours'] .fs-hdr-mobile .fs-ccm-head{display:none}
[data-fs-theme='concours'] .fs-hdr-mobile .fs-ccm-appt{display:none}
[data-fs-theme='concours'] .fs-hdr-mobile .fs-ccm-fin{display:none}
[data-fs-theme='concours'] .fs-hdr-mobile .fs-ccm-lnote{display:none}
[data-fs-theme='concours'] .fs-hdr-mobile .fs-ccm-lfoot{display:none}
[data-fs-theme='concours'] .fs-hdr-mobile .fs-ccm-body{grid-template-columns:minmax(0,1fr)}
[data-fs-theme='concours'] .fs-hdr-mobile .fs-ccm-body .fs-ccm-lrow{padding-block:10px;border-bottom-color:transparent;border-top:1px solid var(--cc-rule)}
[data-fs-theme='concours'] .fs-hdr-mobile .fs-ccm-body .fs-ccm-lrow:first-child{border-top:0}
[data-fs-theme='concours'] .fs-hdr-mobile .fs-ccm-body .fs-ccm-lname{font-size:16.5px}
/* The panel = the menu bar; content box = panel − border − --cc-gut:
   1320 / 1168 / 1092 / 834 / 738 / 642; phone-menu copies 720 and 342.
   WIDE (base): ledger | the finish upright | the card. MIDDLE (60rem):
   ledger | card, notes gone, the finish lying down as a band across the
   foot. NARROW (48rem): depths under the layer names, the insurance line
   goes, the card tightens. 30rem: one column. */
@container (max-width: 60rem){
  [data-fs-theme='concours'] .fs-ccm-body{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
  [data-fs-theme='concours'] .fs-ccm-lnote{display:none}
  [data-fs-theme='concours'] .fs-ccm-appt{margin-top:22px}
  [data-fs-theme='concours'] .fs-ccm-fin{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"lab dep link" "art art art" "lay lay lay";align-items:baseline;column-gap:18px;margin-top:22px;padding-top:16px;border-top:1px solid var(--cc-rule)}
  [data-fs-theme='concours'] .fs-ccm-fin > .fs-ccm-label{grid-area:lab}
  [data-fs-theme='concours'] .fs-ccm-fin > .fs-ccm-depth{grid-area:dep;margin-top:0}
  [data-fs-theme='concours'] .fs-ccm-fin > .fs-ccm-link{grid-area:link;margin-top:0}
  [data-fs-theme='concours'] .fs-ccm-fin-art{grid-area:art;height:30px;margin-top:14px}
  [data-fs-theme='concours'] .fs-ccm-layers{grid-area:lay;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:18px;margin-top:8px}
  [data-fs-theme='concours'] .fs-ccm-layer{grid-template-columns:auto auto minmax(0,1fr);border-top:0;padding-block:4px 0}
}
@container (max-width: 48rem){
  [data-fs-theme='concours'] .fs-ccm-title{font-size:25px}
  [data-fs-theme='concours'] .fs-ccm-lfoot{display:none}
  [data-fs-theme='concours'] .fs-ccm-intro{font-size:13.5px}
  [data-fs-theme='concours'] .fs-ccm-layer{grid-template-columns:auto minmax(0,1fr);row-gap:2px}
  [data-fs-theme='concours'] .fs-ccm-layer .fs-ccm-um{grid-column:2}
  [data-fs-theme='concours'] .fs-ccm-appt{padding:20px 20px 18px}
  [data-fs-theme='concours'] .fs-ccm-appt-h{font-size:19px}
  [data-fs-theme='concours'] .fs-ccm-appt-tel{font-size:23px}
  [data-fs-theme='concours'] .fs-ccm-appt-note{letter-spacing:.1em}
}
@container (max-width: 30rem){
  [data-fs-theme='concours'] .fs-ccm-body{grid-template-columns:minmax(0,1fr)}
}
@keyframes concours-sweep{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@media (prefers-reduced-motion: reduce){
  [data-fs-theme='concours'] .fs-hdr-cta.fs-hdr-cta,[data-fs-theme='concours'] .fs-ccm-lname,[data-fs-theme='concours'] .fs-ccm-btn{transition:none}
  [data-fs-theme='concours'] .fs-ccm-harc{animation:none}
}


/* Tokens (mockup 61–62, renamed). --mr-rule / --mr-rule-soft: panel
   outlines and inner dividers; --mr-gilt: the accent as small text;
   --mr-mark: struck corners; --mr-disc: the one filled circle; --mr-arc1–4:
   struck arcs at 58/40/26/15%; --mr-band (+ on-band, band2, band-rule,
   band-disc, band-arc): the ink stage — the brand in light, a deep brand
   tint in dark; --mr-glass: the nav bar's frosted ground; --mr-deep: the
   pill's hover (R-B5-5). */
[data-fs-theme='meridian']{--fs-chrome-mode:light;--mr-rule:rgb(var(--c-ink-950) / .22);--mr-rule-soft:rgb(var(--c-ink-950) / .12);--mr-gilt:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 86%, rgb(var(--c-ink-950)));--mr-mark:rgb(var(--c-accent, var(--c-brand-600)));--mr-disc:rgb(var(--c-accent, var(--c-brand-600)));--mr-arc1:rgb(var(--c-accent, var(--c-brand-600)) / .58);--mr-arc2:rgb(var(--c-accent, var(--c-brand-600)) / .4);--mr-arc3:rgb(var(--c-accent, var(--c-brand-600)) / .26);--mr-arc4:rgb(var(--c-accent, var(--c-brand-600)) / .15);--mr-band:rgb(var(--c-brand-600));--mr-on-band:var(--fs-on-brand, rgb(var(--c-paper)));--mr-band2:color-mix(in srgb, var(--mr-on-band) 78%, var(--mr-band));--mr-band-rule:color-mix(in srgb, var(--mr-on-band) 20%, transparent);--mr-band-disc:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 55%, var(--mr-on-band));--mr-band-arc:color-mix(in srgb, var(--mr-band-disc) 34%, transparent);--mr-glass:rgb(var(--c-paper-soft) / .72);--mr-deep:color-mix(in srgb, rgb(var(--c-brand-600)) 86%, rgb(var(--c-ink-950)))}
[data-fs-theme='meridian'].dark{--fs-chrome-mode:dark;--mr-rule-soft:rgb(var(--c-ink-950) / .13);--mr-gilt:rgb(var(--c-accent, var(--c-brand-600)));--mr-band:color-mix(in srgb, rgb(var(--c-brand-600)) 20%, rgb(var(--c-paper)));--mr-on-band:rgb(var(--c-ink-950));--mr-band2:color-mix(in srgb, rgb(var(--c-ink-950)) 76%, var(--mr-band));--mr-band-disc:rgb(var(--c-accent, var(--c-brand-600)));--mr-band-arc:rgb(var(--c-accent, var(--c-brand-600)) / .3);--mr-deep:color-mix(in srgb, rgb(var(--c-brand-600)) 86%, rgb(var(--c-paper)))}
/* Struck arcs, painted (mockup 69): four hairline rings struck from the
   box's bottom-right corner, radii --mr-r1..4 declared on the same
   element; a background LAYER over a real background colour. */
[data-fs-theme='meridian'] .fs-mrm-rate,[data-fs-theme='meridian'] .fs-pmf-meridian{--mr-arcs:radial-gradient(circle at 100% 100%,transparent calc(var(--mr-r1) - 1.4px),var(--mr-c1,var(--mr-arc1)) calc(var(--mr-r1) - 1px) var(--mr-r1),transparent calc(var(--mr-r1) + .4px) calc(var(--mr-r2) - 1.4px),var(--mr-c2,var(--mr-arc2)) calc(var(--mr-r2) - 1px) var(--mr-r2),transparent calc(var(--mr-r2) + .4px) calc(var(--mr-r3) - 1.4px),var(--mr-c3,var(--mr-arc3)) calc(var(--mr-r3) - 1px) var(--mr-r3),transparent calc(var(--mr-r3) + .4px) calc(var(--mr-r4) - 1.4px),var(--mr-c4,var(--mr-arc4)) calc(var(--mr-r4) - 1px) var(--mr-r4),transparent calc(var(--mr-r4) + .4px))}
/* The strip is the ink stage: the note after the stage's disc, the hours
   in the stage's secondary ink, the phone in Instrument Serif after a thin
   rule. */
[data-fs-theme='meridian'] .fs-hdr-util{container-type:inline-size;background:var(--mr-band);color:var(--mr-on-band);font-weight:400;font-size:13px;line-height:1.2;letter-spacing:.02em}
[data-fs-theme='meridian'] .fs-hdr-util-in{container-type:inline-size;container-name:fs-strip-in;display:flex;align-items:center;gap:26px;min-height:0;padding-block:9px;border-bottom:0;white-space:nowrap;color:inherit}
[data-fs-theme='meridian'] .fs-hdr-util-item{display:inline-flex;align-items:center}
[data-fs-theme='meridian'] .fs-hdr-util-note{order:-1;gap:10px;margin-right:auto}
[data-fs-theme='meridian'] .fs-hdr-util-note::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--mr-band-disc)}
[data-fs-theme='meridian'] .fs-hdr-util-hours{color:var(--mr-band2)}
[data-fs-theme='meridian'] .fs-hdr-util-dot{display:none}
[data-fs-theme='meridian'] .fs-hdr-util-tel{margin-left:0;padding-left:26px;border-left:1px solid var(--mr-band-rule);font-family:var(--font-display, "Instrument Serif",Georgia,"Times New Roman",serif);font-weight:400;font-size:17px;line-height:1;letter-spacing:.03em;color:var(--mr-on-band)}
@container fs-strip-in (max-width: 46rem){
  [data-fs-theme='meridian'] .fs-hdr-util-hours{display:none}
}
@container (max-width: 40rem){
  [data-fs-theme='meridian'] .fs-hdr-util-in{display:flex;justify-content:center}
  [data-fs-theme='meridian'] .fs-hdr-util-item:not(.fs-hdr-util-tel){display:none}
  [data-fs-theme='meridian'] .fs-hdr-util-tel{padding-left:0;border-left:0}
}
/* The band (the desktop gate) closes on one soft hairline painted as its
   own last pixel. */
[data-fs-theme='meridian'] .fs-hdr-band{container-type:inline-size;container-name:fs-band;border-bottom-width:0;background:linear-gradient(var(--mr-rule-soft),var(--mr-rule-soft)) 0 100%/100% 1px no-repeat,rgb(var(--c-paper))}
[data-fs-theme='meridian'] .fs-hdr-row{column-gap:0;min-height:clamp(70px, (100cqi - 760px) * 100, 88px)}
/* The lockup: the keyline globe (lines in the brand, the pole disc in the
   accent — R-B5-6; a 42px box) and the name in Instrument Serif; the bar
   and the pill grouped right. --mr-ls scales the lockup. */
[data-fs-theme='meridian'] .fs-hdr-row > :first-child{--mr-ls:1;flex:none;gap:calc(9px * var(--mr-ls));margin-right:auto;padding-right:20px}
[data-fs-theme='meridian'] .fs-hdr-row [data-fs-logo-mark]{width:calc(42px * var(--mr-ls));height:calc(42px * var(--mr-ls))}
[data-fs-theme='meridian'] .fs-hdr-row [data-fs-logo-mark] g{stroke:rgb(var(--c-brand-600))}
[data-fs-theme='meridian'] .fs-hdr-row [data-fs-logo-mark] svg > circle{fill:rgb(var(--c-accent, var(--c-brand-600)))}
[data-fs-theme='meridian'] .fs-hdr-row [data-fs-wordmark]{font-size:calc(23.9px * var(--mr-ls));line-height:1;letter-spacing:.012em;white-space:nowrap}
/* The button: the set's pill, as tall as the bar. */
[data-fs-theme='meridian'] .fs-hdr-cta{--fs-hdr-cta-bg:rgb(var(--c-brand-600));--fs-hdr-cta-fg:var(--fs-on-brand, rgb(var(--c-paper)));--fs-hdr-cta-bg-hover:var(--mr-deep);--fs-hdr-cta-fg-hover:var(--fs-on-brand, rgb(var(--c-paper)))}
[data-fs-theme='meridian'] .fs-hdr-cta.fs-hdr-cta{flex:none;height:var(--mr-cta-h,48px);padding:0 var(--mr-cta-pad,24px);border-radius:999px;font-weight:600;font-size:var(--mr-cta-fs,14px);line-height:1;letter-spacing:.01em;white-space:nowrap;transition:background-color .25s ease}
[data-fs-theme='meridian'] .fs-hdr-row .fs-hdr-cta{margin-left:var(--mr-cta-gap,16px)}
/* The menu button: a 46px square cut at its top-left corner, two strokes
   set right, the short one in the accent. */
[data-fs-theme='meridian'] .fs-hdr-menu-btn{width:46px;height:46px;margin-left:14px;border:1px solid var(--mr-rule);border-radius:28px 0 0 0;background:linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) right 11px top calc(50% - 3.75px)/18px 1.5px no-repeat,linear-gradient(var(--mr-mark),var(--mr-mark)) right 11px top calc(50% + 3.75px)/11px 1.5px no-repeat}
[data-fs-theme='meridian'] .fs-hdr-menu-btn svg{display:none}
/* The mega shell: no frame, the default 10px gap, and no shadow — the
   set is flat (notes flag 1). */
[data-fs-theme='meridian'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite){margin-top:10px !important;background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:none !important}
[data-fs-theme='meridian'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite)::before{top:-10px;height:10px}
/* Layout tiers (mockup 249–271); desktop only. */
@container fs-band (min-width: 62rem){
  /* Boxed (880). */
  @container (max-width: 60rem){
    [data-fs-theme='meridian'] .fs-hdr-row > :first-child{--mr-ls:.905;padding-right:14px}
    [data-fs-theme='meridian'] .fsmenu-arcCut{--mr-pad:10px;--mr-fs:18px}
    [data-fs-theme='meridian'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{--mr-cta-gap:12px;--mr-cta-pad:20px}
  }
  /* Centered (784): the bar 44px tall (its cut follows). */
  @container (max-width: 50rem){
    [data-fs-theme='meridian'] .fs-hdr-row > :first-child{--mr-ls:.762;padding-right:10px}
    [data-fs-theme='meridian'] .fsmenu-arcCut-nav{--mr-h:44px;--mr-nav-l:11px;--mr-nav-r:4px}
    [data-fs-theme='meridian'] .fsmenu-arcCut{--mr-pad:8px;--mr-fs:17px;--mr-track:0}
    [data-fs-theme='meridian'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{--mr-cta-gap:10px;--mr-cta-pad:16px;--mr-cta-fs:13px;--mr-cta-h:44px}
  }
  /* Minimalist (688): the tightest; the bar keeps its cut and your page
     its corner mark. The pill keeps the platform's 44px floor (R-B5-13). */
  @container (max-width: 44rem){
    [data-fs-theme='meridian'] .fs-hdr-row > :first-child{--mr-ls:.643;padding-right:8px}
    [data-fs-theme='meridian'] .fsmenu-arcCut-nav{--mr-h:42px;--mr-nav-l:10px;--mr-nav-r:3px}
    [data-fs-theme='meridian'] .fsmenu-arcCut{--mr-pad:6.5px;--mr-fs:16px;gap:6px}
    [data-fs-theme='meridian'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{--mr-cta-gap:8px;--mr-cta-pad:13px;--mr-cta-fs:12.5px}
  }
}
/* Phones: the platform hides the pill at row 34rem; the logo steps down
   beside the menu button. */
@container (max-width: 34rem){
  [data-fs-theme='meridian'] .fs-hdr-row > :first-child{--mr-ls:.81}
}
/* FIX ROUND 1 (2026-10-03), R16 (precedent in oriel/portico/almanac/
   concours-chrome-styles.ts etc.): the read-only preview alone renders a
   visitor dark/light toggle (.fs-hdr-mode) plus a fixed-width "Edit
   Template" link (TemplateViewClient.tsx), present on no real site. CDP-
   measured at 390/320 (preview/view?template=meridian): the menu
   button's right edge sits at 396.56px at 390 (6.56px past the edge,
   since the row itself doesn't shrink below 390 — only the viewport
   does) with .fs-hdr-mode present; hiding it alone brings the edge to
   362px, inside 390. At 320 that same single fix still leaves the edge
   at 344.56px (24.56px over) until the wordmark goes too, landing it at
   292px, inside 320. [data-fs-preview-edit] is the stable, surface-only
   hook the Edit Template link alone carries; :has() reaches up from it
   so only a row that actually contains it is affected — published and
   editor markup never has the hook. */
@container (max-width: 34rem){
  [data-fs-theme='meridian'] .fs-hdr-row:has([data-fs-preview-edit]) .fs-hdr-mode{display:none}
}
@container (max-width: 22rem){
  [data-fs-theme='meridian'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{display:none}
}

/* Paper. "Menu" is the eyebrow (a struck corner, then small caps); the
   close button is the arc-cut square; Instrument Serif 27px links on soft
   hairlines, your page italic in brand ink with its 13px struck arc. */
[data-fs-theme='meridian'] .fs-hdr-mobile{color:rgb(var(--c-ink-950))}
[data-fs-theme='meridian'] .fs-hdr-mobile-head{height:auto;padding:14px 20px 12px 24px;border-bottom:1px solid var(--mr-rule-soft)}
[data-fs-theme='meridian'] .fs-hdr-mobile-title{display:inline-flex;align-items:center;gap:10px;font-family:inherit;font-weight:600;font-size:11px;line-height:1.2;letter-spacing:.2em;text-transform:uppercase;color:var(--mr-gilt)}
[data-fs-theme='meridian'] .fs-hdr-mobile-title::before{content:"";flex:none;width:17px;height:17px;border-left:1px solid var(--mr-mark);border-top:1px solid var(--mr-mark);border-radius:100% 0 0 0;transform:translateY(3px)}
[data-fs-theme='meridian'] .fs-hdr-mobile-close{width:44px;height:44px;padding:4px 0 0 4px;border:1px solid var(--mr-rule);border-radius:26px 0 0 0;color:rgb(var(--c-ink-950))}
[data-fs-theme='meridian'] .fs-hdr-mobile-close svg{width:15px;height:15px}
[data-fs-theme='meridian'] .fs-hdr-mobile > nav{padding:6px 24px 26px}
[data-fs-theme='meridian'] .fs-hdr-mobile-row{display:flex;align-items:center;border-bottom:1px solid var(--mr-rule-soft)}
[data-fs-theme='meridian'] .fs-hdr-mobile-row:has(.fs-hdr-mobile-toggle[aria-expanded='true']){border-bottom:0}
[data-fs-theme='meridian'] .fs-hdr-mobile-link:not(.is-sub){position:relative;display:flex;align-items:center;gap:12px;padding:12px 0 12px 22px;font-family:var(--font-display, "Instrument Serif",Georgia,"Times New Roman",serif);font-weight:400;font-size:27px;line-height:1.15;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='meridian'] .fs-hdr-mobile-link:not(.is-sub)::before{content:"";position:absolute;left:0;top:13px;width:13px;height:13px;border-left:1px solid var(--mr-mark);border-top:1px solid var(--mr-mark);border-radius:100% 0 0 0;opacity:0}
[data-fs-theme='meridian'] .fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false']){font-style:italic;color:rgb(var(--c-brand-text))}
[data-fs-theme='meridian'] .fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false'])::before{opacity:1}
[data-fs-theme='meridian'] .fs-hdr-mobile-toggle{margin-right:6px;color:rgb(var(--c-ink-950))}
[data-fs-theme='meridian'] .fs-hdr-mobile-sub{margin:0;padding:2px 0 16px;border-left:0;border-bottom:1px solid var(--mr-rule-soft)}

/* The arc cut again (4.5rem), on the surface, with small arcs struck from
   its far corner: the strip's note after the one disc, the phone in the
   serif (brand ink), the hours, the pill full width. No fixed words. */
[data-fs-theme='meridian'] .fs-pmf-meridian{--mr-r1:3.25rem;--mr-r2:5rem;--mr-r3:6.75rem;--mr-r4:8.5rem;display:flex;flex-direction:column;align-items:flex-start;margin:auto 0 28px;padding:30px 22px 22px 28px;border:1px solid var(--mr-rule);border-radius:4.5rem 0 0 0;background:var(--mr-arcs),rgb(var(--c-paper-soft));font-size:15px;line-height:1.55}
[data-fs-theme='meridian'] .fs-pmf-note{display:inline-flex;align-items:flex-start;gap:9px;margin:0;font-size:13px;line-height:1.4;color:rgb(var(--c-ink-700))}
[data-fs-theme='meridian'] .fs-pmf-note::before{content:"";flex:none;width:8px;height:8px;margin-top:5px;border-radius:50%;background:var(--mr-disc)}
[data-fs-theme='meridian'] .fs-pmf-num{display:flex;flex-direction:column}
[data-fs-theme='meridian'] .fs-pmf-big{margin:14px 0 0;font-family:var(--font-display, "Instrument Serif",Georgia,"Times New Roman",serif);font-weight:400;font-size:32px;line-height:1.05;letter-spacing:.01em;color:rgb(var(--c-brand-text))}
[data-fs-theme='meridian'] .fs-pmf-hours{margin:6px 0 0;font-size:14px;line-height:1.5;color:rgb(var(--c-ink-700))}
[data-fs-theme='meridian'] .fs-pmf-tel{color:inherit;text-decoration:none}
[data-fs-theme='meridian'] .fs-pmf .fs-hdr-cta.fs-pmf-cta{display:flex;align-items:center;justify-content:center;align-self:stretch;height:auto;margin:20px 0 0;padding-block:16px}

/* The panel: ported from the mockup's .mr-eyebrow/.mr-link (73–79) and
   .mr-mega and friends (130–165, R-B5-2), then the phone-menu context
   rules (188–196, R-B5-20: five scoped selectors instead of one :is()
   list). */
[data-fs-theme='meridian'] .fs-mrm-eyebrow{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:11px;line-height:1.2;letter-spacing:.2em;text-transform:uppercase;color:var(--mr-gilt)}
[data-fs-theme='meridian'] .fs-mrm-eyebrow::before{content:"";flex:none;width:17px;height:17px;border-left:1px solid var(--mr-mark);border-top:1px solid var(--mr-mark);border-radius:100% 0 0 0;transform:translateY(3px)}
[data-fs-theme='meridian'] .fs-mrm-link{display:inline-flex;align-items:center;gap:9px;padding-bottom:4px;border-bottom:1px solid var(--mr-rule);font-weight:600;font-size:13.5px;line-height:1.3;color:rgb(var(--c-ink-950));white-space:nowrap;transition:color .25s ease,border-color .25s ease}
[data-fs-theme='meridian'] .fs-mrm-link::after{content:"";flex:none;width:6px;height:6px;border-right:1.5px solid currentColor;border-top:1.5px solid currentColor;border-radius:0 100% 0 0;transform:rotate(45deg)}
[data-fs-theme='meridian'] .fs-mrm-link:hover{color:rgb(var(--c-brand-text));border-color:rgb(var(--c-brand-text))}
[data-fs-theme='meridian'] .fs-mrm-panel{--mr-g:clamp(22px,3cqi,44px);--mr-cg:clamp(16px,1.9cqi,28px);container-type:inline-size;background:rgb(var(--c-paper));border:1px solid var(--mr-rule);border-radius:clamp(3.5rem,8cqi,6.5rem) 0 0 0;color:rgb(var(--c-ink-950));font-size:15px;line-height:1.55}
[data-fs-theme='meridian'] .fs-mrm-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px 48px;padding:34px var(--mr-g) 24px;border-bottom:1px solid var(--mr-rule-soft)}
[data-fs-theme='meridian'] .fs-mrm-title{margin-top:12px;max-width:31ch;font-family:var(--font-display, "Instrument Serif",Georgia,"Times New Roman",serif);font-weight:400;font-size:clamp(25px,2.7cqi,34px);line-height:1.12;letter-spacing:-.01em;color:rgb(var(--c-ink-950));text-wrap:balance}
[data-fs-theme='meridian'] .fs-mrm-em{font-style:italic;color:rgb(var(--c-brand-text))}
[data-fs-theme='meridian'] .fs-mrm-intro{flex:0 1 40ch;font-size:14px;line-height:1.6;color:rgb(var(--c-ink-700))}
[data-fs-theme='meridian'] .fs-mrm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,.94fr);padding:0 calc(var(--mr-g) - var(--mr-cg))}
[data-fs-theme='meridian'] .fs-mrm-prog{position:relative;display:flex;flex-direction:column;min-width:0;padding:46px var(--mr-cg) 26px}
[data-fs-theme='meridian'] .fs-mrm-prog + .fs-mrm-prog{border-left:1px solid var(--mr-rule-soft)}
[data-fs-theme='meridian'] .fs-mrm-prog.is-marked,[data-fs-theme='meridian'] .fs-mrm-prog.is-marked + .fs-mrm-prog{border-left-color:transparent}
[data-fs-theme='meridian'] .fs-mrm-prog.is-marked{background:rgb(var(--c-paper-soft));border-radius:2.75rem 0 0 0}
[data-fs-theme='meridian'] .fs-mrm-flag{position:absolute;top:19px;left:var(--mr-cg);display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:10.5px;line-height:1.2;letter-spacing:.18em;text-transform:uppercase;color:var(--mr-gilt)}
[data-fs-theme='meridian'] .fs-mrm-flag::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--mr-disc)}
[data-fs-theme='meridian'] .fs-mrm-pname{font-weight:600;font-size:12px;line-height:1.3;letter-spacing:.18em;text-transform:uppercase;color:rgb(var(--c-ink-700))}
[data-fs-theme='meridian'] .fs-mrm-pname-a{color:inherit;text-decoration:none}
[data-fs-theme='meridian'] .fs-mrm-pname-a:hover{color:rgb(var(--c-brand-text))}
[data-fs-theme='meridian'] .fs-mrm-price{margin-top:10px;font-family:var(--font-display, "Instrument Serif",Georgia,"Times New Roman",serif);font-weight:400;font-size:clamp(34px,3.5cqi,44px);line-height:1;letter-spacing:-.02em;color:rgb(var(--c-brand-text))}
[data-fs-theme='meridian'] .fs-mrm-meta{margin-top:10px;padding-bottom:14px;border-bottom:1px solid var(--mr-rule-soft);font-size:13px;line-height:1.45;color:rgb(var(--c-ink-400))}
[data-fs-theme='meridian'] .fs-mrm-body{margin-top:13px;max-width:36ch;font-size:14px;line-height:1.62;color:rgb(var(--c-ink-700))}
[data-fs-theme='meridian'] .fs-mrm-prog .fs-mrm-link{align-self:flex-start;margin-top:auto}
[data-fs-theme='meridian'] .fs-mrm-body{margin-bottom:20px}
[data-fs-theme='meridian'] .fs-mrm-rate{--mr-r1:5.5rem;--mr-r2:8.5rem;--mr-r3:11.5rem;--mr-r4:14.5rem;--mr-c1:var(--mr-band-arc);--mr-c2:var(--mr-band-arc);--mr-c3:var(--mr-band-arc);--mr-c4:var(--mr-band-arc);display:flex;flex-direction:column;min-width:0;margin:18px var(--mr-cg);padding:26px clamp(18px,2cqi,28px) 24px;border-radius:3rem 0 0 0;background:var(--mr-arcs),var(--mr-band);color:var(--mr-on-band)}
[data-fs-theme='meridian'] .fs-mrm-rate .fs-mrm-eyebrow{letter-spacing:.15em;color:var(--mr-band2)}
[data-fs-theme='meridian'] .fs-mrm-rate .fs-mrm-eyebrow::before{border-color:var(--mr-band-disc)}
[data-fs-theme='meridian'] .fs-mrm-rows{margin-top:14px;border-top:1px solid var(--mr-band-rule)}
[data-fs-theme='meridian'] .fs-mrm-rrow{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-block:10px;border-bottom:1px solid var(--mr-band-rule)}
[data-fs-theme='meridian'] .fs-mrm-rl{min-width:0;font-size:13.5px;color:var(--mr-band2)}
[data-fs-theme='meridian'] .fs-mrm-rf{font-family:var(--font-display, "Instrument Serif",Georgia,"Times New Roman",serif);font-weight:400;font-size:23px;line-height:1;white-space:nowrap}
[data-fs-theme='meridian'] .fs-mrm-rnote{margin-top:14px;max-width:30ch;font-size:13px;line-height:1.5;color:var(--mr-band2)}
[data-fs-theme='meridian'] .fs-mrm-rate .fs-mrm-link{align-self:flex-start;margin-top:auto;padding-top:16px;border-color:var(--mr-band-rule);color:var(--mr-on-band)}
[data-fs-theme='meridian'] .fs-mrm-rate .fs-mrm-link:hover{border-color:var(--mr-on-band)}
[data-fs-theme='meridian'] .fs-mrm-base{display:flex;flex-wrap:wrap;align-items:center;gap:10px 32px;padding:16px var(--mr-g) 18px;border-top:1px solid var(--mr-rule-soft)}
[data-fs-theme='meridian'] .fs-mrm-note{flex:1 1 32ch;max-width:84ch;font-size:13.5px;line-height:1.55;color:rgb(var(--c-ink-700))}
[data-fs-theme='meridian'] .fs-mrm-base .fs-mrm-link{margin-left:auto}
[data-fs-theme='meridian'] .fs-hdr-mobile .fs-mrm-panel{border:0;border-radius:0;background:transparent}
[data-fs-theme='meridian'] .fs-hdr-mobile .fs-mrm-head{display:none}
[data-fs-theme='meridian'] .fs-hdr-mobile .fs-mrm-rate{display:none}
[data-fs-theme='meridian'] .fs-hdr-mobile .fs-mrm-body{display:none}
[data-fs-theme='meridian'] .fs-hdr-mobile .fs-mrm-note{display:none}
[data-fs-theme='meridian'] .fs-hdr-mobile .fs-mrm-prog .fs-mrm-link{display:none}
[data-fs-theme='meridian'] .fs-hdr-mobile .fs-mrm-grid{grid-template-columns:minmax(0,1fr);padding:0}
[data-fs-theme='meridian'] .fs-hdr-mobile .fs-mrm-prog{padding:12px 14px 12px 22px}
[data-fs-theme='meridian'] .fs-hdr-mobile .fs-mrm-prog.is-marked{border-radius:1.75rem 0 0 0}
[data-fs-theme='meridian'] .fs-hdr-mobile .fs-mrm-price{font-size:26px}
[data-fs-theme='meridian'] .fs-hdr-mobile .fs-mrm-meta{font-size:12.5px}
[data-fs-theme='meridian'] .fs-hdr-mobile .fs-mrm-base{padding:12px 0 0 22px;border-top:0}
[data-fs-theme='meridian'] .fs-hdr-mobile .fs-mrm-base .fs-mrm-link{margin-left:0}
/* The panel = the menu bar; content box = panel − 2px border: 1390 /
   1230 / 1150 / 878 / 782 / 686; phone-menu copies 720 and 342. WIDE
   (base, over 64rem): three programmes and the rate card in one row.
   MIDDLE (64rem): ledger rows beside the rate card. 50rem: the
   descriptions go, the intro wraps under the title. 30rem: one column. */
@container (max-width: 64rem){
  [data-fs-theme='meridian'] .fs-mrm-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
  [data-fs-theme='meridian'] .fs-mrm-prog{grid-column:1;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"flag flag" "name price" "meta price" "body body" "link link";column-gap:18px;padding:18px var(--mr-cg) 18px}
  [data-fs-theme='meridian'] .fs-mrm-prog + .fs-mrm-prog{border-left:0;border-top:1px solid var(--mr-rule-soft)}
  [data-fs-theme='meridian'] .fs-mrm-prog.is-marked,[data-fs-theme='meridian'] .fs-mrm-prog.is-marked + .fs-mrm-prog{border-top-color:transparent}
  [data-fs-theme='meridian'] .fs-mrm-prog.is-marked{border-radius:2rem 0 0 0}
  [data-fs-theme='meridian'] .fs-mrm-flag{position:static;grid-area:flag;margin-bottom:8px}
  [data-fs-theme='meridian'] .fs-mrm-pname{grid-area:name;align-self:end}
  [data-fs-theme='meridian'] .fs-mrm-price{grid-area:price;align-self:center;margin:0;font-size:34px}
  [data-fs-theme='meridian'] .fs-mrm-meta{grid-area:meta;margin-top:5px;padding-bottom:0;border-bottom:0}
  [data-fs-theme='meridian'] .fs-mrm-body{grid-area:body;max-width:52ch;margin:9px 0 0;font-size:13.5px;line-height:1.55}
  [data-fs-theme='meridian'] .fs-mrm-prog .fs-mrm-link{grid-area:link;justify-self:start;margin-top:12px}
  [data-fs-theme='meridian'] .fs-mrm-rate{grid-column:2;grid-row:1/span 3;margin:18px 0 18px var(--mr-cg)}
  [data-fs-theme='meridian'] .fs-mrm-title{font-size:26px}
}
@container (max-width: 50rem){
  [data-fs-theme='meridian'] .fs-mrm-body{display:none}
  [data-fs-theme='meridian'] .fs-mrm-intro{flex-basis:100%}
}
@container (max-width: 30rem){
  [data-fs-theme='meridian'] .fs-mrm-grid{grid-template-columns:minmax(0,1fr)}
  [data-fs-theme='meridian'] .fs-mrm-rate{grid-column:1;grid-row:auto;margin:14px var(--mr-cg)}
  [data-fs-theme='meridian'] .fs-mrm-price{font-size:28px}
}
@media (prefers-reduced-motion: reduce){
  [data-fs-theme='meridian'] .fs-hdr-cta.fs-hdr-cta,[data-fs-theme='meridian'] .fs-mrm-link{transition:none}
}


/* Tokens (mockup 55–56), FULL colours. --wy-hair: the plate's inner
   hairline; --wy-rule: soft rules; --wy-fig-rule: the rule over a figure
   caption; --wy-hatch(-img): the hatched ground (1px in 9px, 45deg);
   --wy-hatch-cur(-img): the deeper hatch on the phone menu's current
   page; --wy-note-ink: captions and small print; --wy-acc-ink: the
   accent as text; --wy-shadow / --wy-lift: the mounted print's drop. */
[data-fs-theme='waymark']{--fs-chrome-mode:light;--wy-hair:rgb(var(--c-ink-950) / .55);--wy-rule:rgb(var(--c-ink-950) / .2);--wy-fig-rule:rgb(var(--c-ink-950) / .45);--wy-hatch:rgb(var(--c-ink-950) / .07);--wy-hatch-cur:rgb(var(--c-ink-950) / .13);--wy-hatch-img:repeating-linear-gradient(45deg,var(--wy-hatch) 0 1px,transparent 1px 9px);--wy-hatch-cur-img:repeating-linear-gradient(45deg,var(--wy-hatch-cur) 0 1px,transparent 1px 7px);--wy-note-ink:color-mix(in srgb, rgb(var(--c-ink-950)) 74%, rgb(var(--c-paper)));--wy-acc-ink:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 88%, rgb(var(--c-ink-950)));--wy-shadow:0 30px 60px -26px rgb(0 0 0 / .45);--wy-lift:0 18px 40px -22px rgb(0 0 0 / .35)}
[data-fs-theme='waymark'].dark{--fs-chrome-mode:dark;--wy-rule:rgb(var(--c-ink-950) / .24);--wy-hatch:rgb(var(--c-ink-950) / .09);--wy-hatch-cur:rgb(var(--c-ink-950) / .16);--wy-shadow:0 30px 60px -24px rgb(0 0 0 / .8);--wy-lift:0 18px 40px -20px rgb(0 0 0 / .7)}
/* The strip: the hatched ground on the surface, tracked Lato capitals;
   the season note leads with its lozenge after the last word, then the
   hours, then the phone behind a hairline. The line is the named
   container fs-strip-in (R-B6-5). */
[data-fs-theme='waymark'] .fs-hdr-util{container-type:inline-size;background:var(--wy-hatch-img),rgb(var(--c-paper-soft));border-bottom:1px solid var(--wy-rule);font-weight:700;font-size:11px;line-height:1.2;letter-spacing:.2em;text-transform:uppercase;color:var(--wy-note-ink);font-variant-numeric:lining-nums}
[data-fs-theme='waymark'] .fs-hdr-util-in{container-type:inline-size;container-name:fs-strip-in;display:flex;align-items:center;gap:18px;min-height:0;padding-block:9px;border-bottom:0;color:inherit}
[data-fs-theme='waymark'] .fs-hdr-util-note,[data-fs-theme='waymark'] .fs-hdr-util-hours,[data-fs-theme='waymark'] .fs-hdr-util-address{display:inline-flex}
[data-fs-theme='waymark'] .fs-hdr-util-note{order:-1;gap:12px;margin-right:auto}
[data-fs-theme='waymark'] .fs-hdr-util-note::after{content:"";flex:none;width:6px;height:6px;background:rgb(var(--c-accent, var(--c-brand-600)));transform:rotate(45deg)}
[data-fs-theme='waymark'] .fs-hdr-util-dot{display:none}
[data-fs-theme='waymark'] .fs-hdr-util-tel{margin-left:0;padding-left:18px;border-left:1px solid var(--wy-hair);font-weight:700;letter-spacing:.14em;color:rgb(var(--c-ink-950))}
@container fs-strip-in (max-width: 56rem){
  [data-fs-theme='waymark'] .fs-hdr-util-note{display:none}
  [data-fs-theme='waymark'] .fs-hdr-util-hours{margin-left:auto}
}
@container (max-width: 40rem){
  [data-fs-theme='waymark'] .fs-hdr-util-in{display:flex;justify-content:center}
  [data-fs-theme='waymark'] .fs-hdr-util-item:not(.fs-hdr-util-tel){display:none}
  [data-fs-theme='waymark'] .fs-hdr-util-tel{padding-left:0;border-left:0}
}
/* The band: the desktop gate (fs-band), closed by the plate's double
   keyline PAINTED in its last 9px: the hairline, a 4px gap, the 3px
   ink rule — no positioned child of the sticky band draws it. */
[data-fs-theme='waymark'] .fs-hdr-band{container-type:inline-size;container-name:fs-band;border-bottom-width:0;padding-bottom:9px;background:linear-gradient(var(--wy-hair),var(--wy-hair)) 0 calc(100% - 7px)/100% 1px no-repeat,linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) 0 100%/100% 3px no-repeat,rgb(var(--c-paper))}
[data-fs-theme='waymark'] .fs-hdr-row{min-height:clamp(70px, (100cqi - 760px) * 100, 88px)}
/* The lockup: the compass rose in its keyline (46px) and the name in
   Cardo 700 23px. The drawing is scaled 1.3x inside an unchanged box
   (the theme mark's viewBox carries a margin the design crops, R-B6-9);
   its second gradient stop reads the palette's accent (R-B6-8). */
[data-fs-theme='waymark'] .fs-hdr-row > :first-child{gap:12px;margin-right:auto;padding-right:20px}
[data-fs-theme='waymark'] .fs-hdr-row [data-fs-logo-mark]{width:46px;height:46px}
[data-fs-theme='waymark'] .fs-hdr-row [data-fs-logo-mark] svg{transform:scale(1.3)}
[data-fs-theme='waymark'] .fs-hdr-row [data-fs-logo-mark] stop[stop-color*='accent-600']{stop-color:rgb(var(--c-accent, var(--c-brand-600)))}
[data-fs-theme='waymark'] .fs-hdr-row [data-fs-wordmark]{font-size:23px;line-height:1;letter-spacing:.005em;white-space:nowrap}
/* The button: the Wayfare double-border button: brand fill, a 2px
   border and a 1px outline 3px out, opening to 5px on hover. */
[data-fs-theme='waymark'] .fs-hdr-cta{--fs-hdr-cta-bg:rgb(var(--c-brand-600));--fs-hdr-cta-fg:var(--fs-on-brand, rgb(var(--c-paper)));--fs-hdr-cta-bg-hover:rgb(var(--c-brand-600));--fs-hdr-cta-fg-hover:var(--fs-on-brand, rgb(var(--c-paper)))}
[data-fs-theme='waymark'] .fs-hdr-cta.fs-hdr-cta{flex:none;padding:14px 24px;border:2px solid rgb(var(--c-brand-600));border-radius:0;outline:1px solid rgb(var(--c-brand-600));outline-offset:3px;font-weight:700;font-size:12.5px;line-height:1;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;transition:outline-offset .25s ease}
[data-fs-theme='waymark'] .fs-hdr-cta.fs-hdr-cta:hover{outline-offset:5px}
[data-fs-theme='waymark'] .fs-hdr-cta.fs-hdr-cta:focus-visible{outline:2px solid rgb(var(--c-accent, var(--c-brand-600)));outline-offset:4px}
[data-fs-theme='waymark'] .fs-hdr-row .fs-hdr-cta{margin:0 4px 0 26px}
/* The menu button: a small plate (2px ink border, a hairline inside);
   three ink lines drawn as backgrounds; the lucide icon is hidden. */
[data-fs-theme='waymark'] .fs-hdr-menu-btn{width:44px;height:44px;margin-left:14px;border:2px solid rgb(var(--c-ink-950));border-radius:0;box-shadow:inset 0 0 0 3px rgb(var(--c-paper)),inset 0 0 0 4px var(--wy-hair);background:linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) center calc(50% - 5.5px)/16px 1.5px no-repeat,linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) center/16px 1.5px no-repeat,linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) center calc(50% + 5.5px)/16px 1.5px no-repeat,rgb(var(--c-paper))}
[data-fs-theme='waymark'] .fs-hdr-menu-btn svg{display:none}
/* The mega shell: no frame of its own (the composite is the plate);
   18px below the row, clear of the 9px keyline; the plate's drop. */
[data-fs-theme='waymark'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite){margin-top:18px !important;background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:var(--wy-shadow) !important}
[data-fs-theme='waymark'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite)::before{top:-18px;height:18px}
/* Layout tiers (mockup 234–260). Desktop only: a tablet row (720) holds
   no nav and keeps the full-size lockup and button. */
@container fs-band (min-width: 62rem){
  /* Boxed (row 880; 864px used). */
  @container (max-width: 60rem){
    [data-fs-theme='waymark'] .fs-hdr-row > :first-child{gap:10px;padding-right:14px}
    [data-fs-theme='waymark'] .fs-hdr-row [data-fs-logo-mark]{width:40px;height:40px}
    [data-fs-theme='waymark'] .fs-hdr-row [data-fs-wordmark]{font-size:21px}
    [data-fs-theme='waymark'] .fsmenu-wayfareFolio{--wy-ip:10px;--wy-fs:17.5px}
    [data-fs-theme='waymark'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:18px;padding-inline:18px;letter-spacing:.11em}
  }
  /* Centered (784; 768px used). */
  @container (max-width: 50rem){
    [data-fs-theme='waymark'] .fs-hdr-row > :first-child{gap:9px;padding-right:10px}
    [data-fs-theme='waymark'] .fs-hdr-row [data-fs-logo-mark]{width:36px;height:36px}
    [data-fs-theme='waymark'] .fs-hdr-row [data-fs-wordmark]{font-size:19.5px}
    [data-fs-theme='waymark'] .fsmenu-wayfareFolio{--wy-ip:7px;--wy-gap:6px;--wy-fs:16.5px}
    [data-fs-theme='waymark'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:14px;padding:12px 13px;font-size:12px;letter-spacing:.08em}
  }
  /* Minimalist (688; 667px used): the name stacks on two lines, the way
     a title page sets it. FIX ROUND 1 (2026-10-03): tighter than the
     mockup's own numbers — the real row (not the preview) measured the
     CTA button overflowing by 27px at this tier with the mockup's
     values; these values are CDP-measured against the real row to clear
     it, same deviation pattern as oriel-chrome-styles.ts's own Round 1. */
  @container (max-width: 44rem){
    [data-fs-theme='waymark'] .fs-hdr-row > :first-child{gap:6px;padding-right:6px}
    [data-fs-theme='waymark'] .fs-hdr-row [data-fs-logo-mark]{width:34px;height:34px}
    [data-fs-theme='waymark'] .fs-hdr-row [data-fs-wordmark]{max-width:5.4em;font-size:18px;line-height:1.02;white-space:normal}
    [data-fs-theme='waymark'] .fsmenu-wayfareFolio{--wy-ip:4px;--wy-gap:4px;--wy-fs:14.5px}
    [data-fs-theme='waymark'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:6px;padding:11px 8px;font-size:11px;letter-spacing:.03em}
  }
}
/* Phones: the platform hides the button at row 34rem; the lockup steps
   down beside the menu button. */
@container (max-width: 34rem){
  [data-fs-theme='waymark'] .fs-hdr-row [data-fs-logo-mark]{width:38px;height:38px}
  [data-fs-theme='waymark'] .fs-hdr-row [data-fs-wordmark]{font-size:20px}
}
/* FIX ROUND 1 (2026-10-03), R16 (precedent in oriel/portico/almanac/
   concours/meridian-chrome-styles.ts etc.): the read-only preview alone
   renders a visitor dark/light toggle (.fs-hdr-mode) plus a fixed-width
   "Edit Template" link (TemplateViewClient.tsx), present on no real
   site. CDP-measured at 390/320 (preview/view?template=waymark): the
   menu button's right edge sits at 445px at 390 (55px past the edge)
   with .fs-hdr-mode present; hiding it alone brings the edge to 393px —
   still 3px over, because this theme's own lockup (46px mark + Cardo
   wordmark) is wider than the row leaves room for once the preview
   bar's toggle and link are added. The wordmark must go too, and at
   390 already (not just 320, unlike the precedent themes) — 25rem
   covers both: with both hidden the edge lands at 362px (390) / 292px
   (320), comfortably inside. [data-fs-preview-edit] is the stable,
   surface-only hook the Edit Template link alone carries; :has()
   reaches up from it so only a row that actually contains it is
   affected — published and editor markup never has the hook. */
@container (max-width: 34rem){
  [data-fs-theme='waymark'] .fs-hdr-row:has([data-fs-preview-edit]) .fs-hdr-mode{display:none}
}
@container (max-width: 25rem){
  [data-fs-theme='waymark'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{display:none}
}

/* "Menu" as the Wayfare eyebrow with its lozenge; the close button a
   small plate; the head closes on the header's double keyline. Each page
   is an entry in a list of plates: its numeral (I. to V., a counter
   reset on the plain list — never on a container, batch 3 trap) in
   Cardo bold, its name at 22px; the current page shaded by the deeper
   hatch and set in the italic accent with a lozenge after it. */
[data-fs-theme='waymark'] .fs-hdr-mobile-head{height:auto;padding:14px 18px 23px;border-bottom:0;background:linear-gradient(var(--wy-hair),var(--wy-hair)) 0 calc(100% - 7px)/100% 1px no-repeat,linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) 0 100%/100% 3px no-repeat,rgb(var(--c-paper))}
[data-fs-theme='waymark'] .fs-hdr-mobile-title{display:inline-flex;align-items:center;gap:11px;font-family:inherit;font-weight:700;font-size:12px;line-height:1;letter-spacing:.28em;text-transform:uppercase;color:rgb(var(--c-brand-text))}
[data-fs-theme='waymark'] .fs-hdr-mobile-title::after{content:"";flex:none;width:7px;height:7px;background:rgb(var(--c-accent, var(--c-brand-600)));transform:rotate(45deg)}
[data-fs-theme='waymark'] .fs-hdr-mobile-close{width:42px;height:42px;border:2px solid rgb(var(--c-ink-950));border-radius:0;box-shadow:inset 0 0 0 3px rgb(var(--c-paper)),inset 0 0 0 4px var(--wy-hair);color:rgb(var(--c-ink-950))}
[data-fs-theme='waymark'] .fs-hdr-mobile > nav{padding:10px 18px 0}
[data-fs-theme='waymark'] .fs-hdr-mobile-list{counter-reset:wy-plate}
[data-fs-theme='waymark'] .fs-hdr-mobile-row{display:flex;align-items:center;border-bottom:1px solid var(--wy-rule)}
[data-fs-theme='waymark'] .fs-hdr-mobile-row:has(.fs-hdr-mobile-toggle[aria-expanded='true']){border-bottom-color:transparent}
[data-fs-theme='waymark'] .fs-hdr-mobile-link:not(.is-sub){display:flex;align-items:center;gap:12px;flex:1;min-height:56px;padding-right:8px;font-family:var(--font-display, Cardo, Georgia, serif);font-weight:400;font-size:22px;line-height:1.15;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='waymark'] .fs-hdr-mobile-link:not(.is-sub)::before{counter-increment:wy-plate;content:counter(wy-plate, upper-roman) ".";flex:none;width:40px;padding-left:6px;font-family:var(--font-display, Cardo, Georgia, serif);font-weight:700;font-size:12.5px;line-height:1;letter-spacing:.08em;color:var(--wy-acc-ink)}
[data-fs-theme='waymark'] .fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false']){font-style:italic;color:rgb(var(--c-brand-text));background-image:var(--wy-hatch-cur-img)}
[data-fs-theme='waymark'] .fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false'])::after{content:"";flex:none;width:7px;height:7px;margin-left:6px;background:rgb(var(--c-accent, var(--c-brand-600)));transform:rotate(45deg)}
[data-fs-theme='waymark'] .fs-hdr-mobile-toggle{margin-right:6px;color:rgb(var(--c-ink-950))}
[data-fs-theme='waymark'] .fs-hdr-mobile-sub{padding:0 0 2px;border-bottom:1px solid var(--wy-rule)}

/* A small plate (3px ink border, a hairline 6px inside, the hatched
   surface): the hours as an italic Cardo caption, the phone in Cardo
   30px, then the header button full width INSIDE it. No fixed words.
   The foot sits in the nav, whose 18px side padding it keeps. */
[data-fs-theme='waymark'] .fs-pmf-waymark{margin-top:auto;padding:24px 0 22px}
[data-fs-theme='waymark'] .fs-pmf-plate{position:relative;display:grid;justify-items:start;gap:6px;padding:20px 20px 22px;background:var(--wy-hatch-img),rgb(var(--c-paper-soft));border:3px solid rgb(var(--c-ink-950))}
[data-fs-theme='waymark'] .fs-pmf-plate::after{content:"";position:absolute;inset:6px;border:1px solid var(--wy-hair);pointer-events:none}
[data-fs-theme='waymark'] .fs-pmf-hours{margin:0;font-family:var(--font-display, Cardo, Georgia, serif);font-style:italic;font-weight:400;font-size:15.5px;line-height:1.4;color:var(--wy-note-ink)}
[data-fs-theme='waymark'] .fs-pmf-big{margin:0;font-family:var(--font-display, Cardo, Georgia, serif);font-weight:700;font-size:30px;line-height:1.1;font-variant-numeric:lining-nums;color:rgb(var(--c-ink-950))}
[data-fs-theme='waymark'] .fs-pmf-tel{color:inherit;text-decoration:none}
[data-fs-theme='waymark'] .fs-pmf .fs-hdr-cta.fs-pmf-cta{position:relative;z-index:1;display:flex;justify-self:stretch;margin:10px 4px 4px;padding-block:16px}

/* The plate (the mega panel): the 3px keyline with the hairline inside
   it, the eyebrow and heading with its italic accent, the four walks as
   figure-numbered cells, the built-to-order rates on the hatched
   ground, and the figure caption along the foot. */
[data-fs-theme='waymark'] .fs-wmm-panel{--wmm-mp:clamp(22px,2.4cqi,34px);--wmm-cp:18px;--wmm-gut:clamp(20px,2cqi,30px);container-type:inline-size;position:relative;isolation:isolate;padding:var(--wmm-mp) var(--wmm-mp) calc(var(--wmm-mp) - 4px);background:rgb(var(--c-paper));border:3px solid rgb(var(--c-ink-950))}
[data-fs-theme='waymark'] .fs-wmm-panel::after{content:"";position:absolute;inset:7px;border:1px solid var(--wy-hair);pointer-events:none}
[data-fs-theme='waymark'] .fs-wmm-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px 32px;padding-bottom:16px;border-bottom:1px solid var(--wy-rule)}
[data-fs-theme='waymark'] .fs-wmm-eyebrow{display:inline;font-weight:700;font-size:11px;line-height:1.2;letter-spacing:.24em;text-transform:uppercase;color:rgb(var(--c-brand-text))}
[data-fs-theme='waymark'] .fs-wmm-eyebrow::after{content:"";display:inline-block;width:7px;height:7px;margin-left:11px;vertical-align:.08em;background:rgb(var(--c-accent, var(--c-brand-600)));transform:rotate(45deg)}
[data-fs-theme='waymark'] .fs-wmm-title{max-width:46ch;margin:9px 0 0;font-weight:700;font-size:26px;line-height:1.15;font-family:var(--font-display, Cardo, Georgia, serif);color:rgb(var(--c-ink-950));text-wrap:balance}
[data-fs-theme='waymark'] .fs-wmm-acc{font-style:italic;color:rgb(var(--c-brand-text))}
[data-fs-theme='waymark'] .fs-wmm-link{display:inline-flex;align-items:center;flex:none;min-height:40px;padding-top:8px;border-bottom:2px solid rgb(var(--c-accent, var(--c-brand-600)));font-weight:700;font-size:12.5px;line-height:1.2;letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--c-ink-950));white-space:nowrap;transition:color .2s ease;text-decoration:none}
[data-fs-theme='waymark'] .fs-wmm-link:hover{color:rgb(var(--c-brand-text))}
[data-fs-theme='waymark'] .fs-wmm-mg{display:grid;grid-template-columns:minmax(0,1fr) minmax(14rem,.4fr);gap:0 var(--wmm-gut);align-items:start}
[data-fs-theme='waymark'] .fs-wmm-walks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-left:calc(-1 * var(--wmm-cp));background:var(--wy-rule)}
[data-fs-theme='waymark'] .fs-wmm-walk{display:grid;grid-template-columns:minmax(0,1fr) auto;align-content:start;gap:3px 14px;min-width:0;padding:18px var(--wmm-cp) 18px;background-color:rgb(var(--c-paper));transition:background-color .2s ease;color:inherit;text-decoration:none}
[data-fs-theme='waymark'] .fs-wmm-walk:hover{background-image:var(--wy-hatch-img)}
[data-fs-theme='waymark'] .fs-wmm-wfig{grid-column:1;grid-row:1;align-self:end;font-weight:700;font-size:13px;line-height:1;font-family:var(--font-display, Cardo, Georgia, serif);letter-spacing:.1em;color:var(--wy-acc-ink)}
[data-fs-theme='waymark'] .fs-wmm-wprice{grid-column:2;grid-row:1 / span 2;align-self:start;font-weight:700;font-size:34px;line-height:1;font-family:var(--font-display, Cardo, Georgia, serif);color:rgb(var(--c-brand-text));font-variant-numeric:lining-nums}
[data-fs-theme='waymark'] .fs-wmm-wname{grid-column:1;grid-row:2;font-weight:700;font-size:21px;line-height:1.2;font-family:var(--font-display, Cardo, Georgia, serif);color:rgb(var(--c-ink-950))}
[data-fs-theme='waymark'] .fs-wmm-walk:hover .fs-wmm-wname{text-decoration:underline 2px rgb(var(--c-accent, var(--c-brand-600)));text-underline-offset:5px}
[data-fs-theme='waymark'] .fs-wmm-wmeta{grid-column:1 / -1;margin-top:8px;padding-bottom:10px;border-bottom:1px solid var(--wy-rule);font-size:13px;letter-spacing:.02em;color:var(--wy-note-ink)}
[data-fs-theme='waymark'] .fs-wmm-winc{grid-column:1 / -1;max-width:38ch;margin-top:7px;font-size:12.5px;line-height:1.5;color:var(--wy-note-ink)}
[data-fs-theme='waymark'] .fs-wmm-side{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-top:18px;padding:18px 20px 20px;background:var(--wy-hatch-img),rgb(var(--c-paper-soft));border:2px solid rgb(var(--c-ink-950));box-shadow:inset 0 0 0 4px rgb(var(--c-paper-soft)),inset 0 0 0 5px var(--wy-hair)}
[data-fs-theme='waymark'] .fs-wmm-side-t{margin:0;font-weight:700;font-size:20px;line-height:1.2;font-family:var(--font-display, Cardo, Georgia, serif);color:rgb(var(--c-ink-950))}
[data-fs-theme='waymark'] .fs-wmm-rates{align-self:stretch;list-style:none;margin:6px 0 0;padding:0}
[data-fs-theme='waymark'] .fs-wmm-rate{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:2px 10px;padding-block:9px;border-bottom:1px solid var(--wy-rule)}
[data-fs-theme='waymark'] .fs-wmm-rn{font-weight:700;font-size:14px;line-height:1.3;color:rgb(var(--c-ink-950))}
[data-fs-theme='waymark'] .fs-wmm-rp{font-weight:700;font-size:21px;line-height:1;font-family:var(--font-display, Cardo, Georgia, serif);color:rgb(var(--c-brand-text));font-variant-numeric:lining-nums}
[data-fs-theme='waymark'] .fs-wmm-rx{grid-column:1 / -1;font-size:12.5px;line-height:1.45;color:var(--wy-note-ink)}
[data-fs-theme='waymark'] .fs-wmm-side .fs-wmm-link{margin-top:6px}
[data-fs-theme='waymark'] .fs-wmm-fig{display:flex;align-items:baseline;gap:14px;margin-top:18px;padding-top:11px;border-top:1px solid var(--wy-fig-rule)}
[data-fs-theme='waymark'] .fs-wmm-fig-no{flex:none;font-weight:700;font-size:14px;line-height:1;font-family:var(--font-display, Cardo, Georgia, serif);letter-spacing:.08em;color:rgb(var(--c-brand-text))}
[data-fs-theme='waymark'] .fs-wmm-fig-t{max-width:80ch;font-size:13px;line-height:1.5;color:var(--wy-note-ink)}
/* The plate matches the bar (688–1392px) and reflows on its own box
   (content = panel − 6px of keyline − 2 × --wmm-mp: 1319 / 1167 /
   1091 / 830 / 734 / 638; the phone-menu copies 732 and 354). WIDE: the
   four walks in one row and the built-to-order plate as a band under
   them; BASE: two by two beside the side plate; MIDDLE: the head stacks,
   still two by two; NARROW (the phone menu): one column. */
@container (min-width: 72rem){
  [data-fs-theme='waymark'] .fs-wmm-mg{grid-template-columns:minmax(0,1fr)}
  [data-fs-theme='waymark'] .fs-wmm-walks{grid-template-columns:repeat(4,minmax(0,1fr))}
  [data-fs-theme='waymark'] .fs-wmm-side{display:grid;grid-template-columns:minmax(12.5rem,1.05fr) repeat(3,minmax(0,1fr)) auto;align-items:center;gap:0 26px;margin-top:20px;padding:18px 26px}
  [data-fs-theme='waymark'] .fs-wmm-rates{display:contents}
  [data-fs-theme='waymark'] .fs-wmm-rate{padding:2px 0 2px 26px;border-bottom:0;border-left:1px solid var(--wy-rule)}
  [data-fs-theme='waymark'] .fs-wmm-side .fs-wmm-link{margin-top:0}
}
@container (max-width: 48rem){
  [data-fs-theme='waymark'] .fs-wmm-head{flex-direction:column;align-items:flex-start}
  [data-fs-theme='waymark'] .fs-wmm-title{font-size:23px}
  [data-fs-theme='waymark'] .fs-wmm-mg{grid-template-columns:minmax(0,1fr) minmax(12.5rem,.42fr)}
  [data-fs-theme='waymark'] .fs-wmm-walks{--wmm-cp:14px}
  [data-fs-theme='waymark'] .fs-wmm-walk{--wmm-cp:14px}
  [data-fs-theme='waymark'] .fs-wmm-wname{font-size:19px}
  [data-fs-theme='waymark'] .fs-wmm-wprice{font-size:29px}
  [data-fs-theme='waymark'] .fs-wmm-side{padding:16px 16px 18px}
}
@container (max-width: 30rem){
  [data-fs-theme='waymark'] .fs-wmm-mg{grid-template-columns:minmax(0,1fr)}
  [data-fs-theme='waymark'] .fs-wmm-walks{grid-template-columns:minmax(0,1fr);margin-left:0}
  [data-fs-theme='waymark'] .fs-wmm-walk{padding:12px 4px 12px 6px}
  [data-fs-theme='waymark'] .fs-wmm-wfig{display:none}
  [data-fs-theme='waymark'] .fs-wmm-wname{grid-row:1;align-self:center;font-size:18px}
  [data-fs-theme='waymark'] .fs-wmm-wprice{grid-row:1;align-self:center;font-size:25px}
  [data-fs-theme='waymark'] .fs-wmm-wmeta{margin-top:2px;padding-bottom:0;border-bottom:0}
}
/* The same composite in the phone menu: the frame, head, side plate,
   caption and inclusions come off; the walks keep reflowing on the
   composite's own container (two by two on a tablet, one column on a
   phone). */
[data-fs-theme='waymark'] .fs-hdr-mobile .fs-wmm-panel{padding:0;border:0;background:transparent}
[data-fs-theme='waymark'] .fs-hdr-mobile .fs-wmm-panel::after{display:none}
[data-fs-theme='waymark'] .fs-hdr-mobile .fs-wmm-head,[data-fs-theme='waymark'] .fs-hdr-mobile .fs-wmm-side,[data-fs-theme='waymark'] .fs-hdr-mobile .fs-wmm-fig,[data-fs-theme='waymark'] .fs-hdr-mobile .fs-wmm-winc{display:none}
[data-fs-theme='waymark'] .fs-hdr-mobile .fs-wmm-mg{grid-template-columns:minmax(0,1fr)}
[data-fs-theme='waymark'] .fs-hdr-mobile .fs-wmm-walks{margin-left:0;border-top:1px solid var(--wy-rule)}
[data-fs-theme='waymark'] .fs-hdr-mobile .fs-wmm-wname{font-size:19px}
@media (prefers-reduced-motion: reduce){
  [data-fs-theme='waymark'] .fs-hdr-cta,[data-fs-theme='waymark'] .fs-wmm-walk,[data-fs-theme='waymark'] .fs-wmm-link{transition:none}
}


/* Tokens (mockup 46–47), FULL colours. --pn-rule: row hairlines;
   --pn-edge / --pn-edge2: card and tag outlines; --pn-key-in: the double
   keyline's inner hairline; --pn-stitch: the stitch (accent at 75%);
   --pn-hem: the felt strip's sewn hem (the on-brand label at 55%);
   --pn-band-amt / --pn-band-soft / --pn-band-line: the giving amounts,
   secondary words and outlines on the ink band. */
[data-fs-theme='pennant']{--fs-chrome-mode:light;--pn-rule:rgb(var(--c-ink-950) / .14);--pn-edge:rgb(var(--c-ink-950) / .16);--pn-edge2:rgb(var(--c-ink-950) / .28);--pn-key-in:rgb(var(--c-ink-950) / .38);--pn-stitch:rgb(var(--c-accent, var(--c-brand-600)) / .75);--pn-hem:color-mix(in srgb, var(--fs-on-brand, rgb(var(--c-paper))) 55%, transparent);--pn-band-amt:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 40%, rgb(var(--c-paper)));--pn-band-soft:rgb(var(--c-paper) / .8);--pn-band-line:rgb(var(--c-paper) / .28)}
[data-fs-theme='pennant'].dark{--fs-chrome-mode:dark;--pn-rule:rgb(var(--c-ink-950) / .18);--pn-edge:rgb(var(--c-ink-950) / .22);--pn-edge2:rgb(var(--c-ink-950) / .34);--pn-key-in:rgb(var(--c-ink-950) / .45)}
/* The felt banner: brand ground, the solved on-brand label colour, a
   sewn hem (2px dashes, 6 on 4 off) painted 4px above its foot; the note
   after a swallowtail; the phone in Bitter. The line is the named
   container fs-strip-in (R-B6-5). */
[data-fs-theme='pennant'] .fs-hdr-util{container-type:inline-size;background:linear-gradient(90deg,var(--pn-hem) 0 6px,transparent 6px 10px) 0 calc(100% - 4px)/10px 2px repeat-x,rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)))}
[data-fs-theme='pennant'] .fs-hdr-util-in{container-type:inline-size;container-name:fs-strip-in;display:flex;align-items:center;gap:26px;min-height:0;padding-block:9px 13px;border-bottom:0;font-weight:700;font-size:11.5px;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;color:inherit}
[data-fs-theme='pennant'] .fs-hdr-util-note,[data-fs-theme='pennant'] .fs-hdr-util-hours,[data-fs-theme='pennant'] .fs-hdr-util-address{display:inline-flex}
[data-fs-theme='pennant'] .fs-hdr-util-note{order:-1;gap:9px;margin-right:auto}
[data-fs-theme='pennant'] .fs-hdr-util-note::before{content:"";flex:none;width:9px;height:12px;background:currentColor;clip-path:polygon(0 0,100% 0,100% 100%,50% 74%,0 100%)}
[data-fs-theme='pennant'] .fs-hdr-util-dot{display:none}
[data-fs-theme='pennant'] .fs-hdr-util-tel{margin-left:0;font-family:var(--font-display, Bitter, Georgia, serif);font-weight:700;font-size:14.5px;line-height:1;letter-spacing:.03em;font-variant-numeric:lining-nums;color:inherit}
@container fs-strip-in (max-width: 60rem){
  [data-fs-theme='pennant'] .fs-hdr-util-note{display:none}
  [data-fs-theme='pennant'] .fs-hdr-util-hours{margin-right:auto}
}
@container (max-width: 40rem){
  [data-fs-theme='pennant'] .fs-hdr-util-in{display:flex;justify-content:center}
  [data-fs-theme='pennant'] .fs-hdr-util-item:not(.fs-hdr-util-tel){display:none}
}
/* The band: the desktop gate, closed by the family's double keyline
   PAINTED in its last 7px (2px ink, a gap, the inner hairline). */
[data-fs-theme='pennant'] .fs-hdr-band{container-type:inline-size;container-name:fs-band;border-bottom-width:0;padding-bottom:7px;background:linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) 0 calc(100% - 5px)/100% 2px no-repeat,linear-gradient(var(--pn-key-in),var(--pn-key-in)) 0 100%/100% 1px no-repeat,rgb(var(--c-paper))}
/* The row: the pennant must reach the strip, so the row's py-4 is zeroed
   and the nav stretches (pennantHang); the lockup, the button and the
   menu button centre themselves. 80px, 72px on a tablet, 66px on a
   phone (the clamp nested in the max slot is the tablet step). */
[data-fs-theme='pennant'] .fs-hdr-row{padding-block:0;align-items:stretch;min-height:clamp(66px, (100cqi - 760px) * 100, clamp(72px, (100cqi - 1024px) * 100, 80px))}
/* The lockup: the notched plate with the pennant knocked out (46px) and
   the name in Bitter 700 18px, held to 11ch so it stacks like a plate;
   the mark's second stop reads the palette's accent (R-B6-8). */
[data-fs-theme='pennant'] .fs-hdr-row > :first-child{align-self:center;gap:11px;margin-right:auto;padding-right:20px}
[data-fs-theme='pennant'] .fs-hdr-row [data-fs-logo-mark]{width:46px;height:46px}
[data-fs-theme='pennant'] .fs-hdr-row [data-fs-logo-mark] stop[stop-color*='accent-600']{stop-color:rgb(var(--c-accent, var(--c-brand-600)))}
[data-fs-theme='pennant'] .fs-hdr-row [data-fs-wordmark]{max-width:11ch;font-size:18px;line-height:1.06;letter-spacing:-.005em;white-space:normal;text-wrap:balance}
/* The button, Donate: the appeal band in miniature — ink ground, page
   words, a keyline 3px inside, an 11px notch in its tail, a 14px brass
   rosette. Focus draws inside (the clip would cut a ring). In dark mode
   the ink band turns light, as the family's own does. */
[data-fs-theme='pennant'] .fs-hdr-cta{--fs-hdr-cta-bg:rgb(var(--c-ink-950));--fs-hdr-cta-fg:rgb(var(--c-paper));--fs-hdr-cta-bg-hover:color-mix(in srgb, rgb(var(--c-ink-950)) 84%, rgb(var(--c-brand-600)));--fs-hdr-cta-fg-hover:rgb(var(--c-paper))}
[data-fs-theme='pennant'] .fs-hdr-cta.fs-hdr-cta{align-self:center;gap:9px;flex:none;padding:13px 22px 13px 18px;border-radius:0;font-family:var(--font-display, Bitter, Georgia, serif);font-weight:700;font-size:15px;line-height:1;letter-spacing:.02em;white-space:nowrap;box-shadow:inset 0 0 0 3px rgb(var(--c-ink-950)),inset 0 0 0 4px rgb(var(--c-paper) / .6);clip-path:polygon(0 0,100% 0,100% calc(100% - 11px),calc(100% - 11px) 100%,0 100%);transition:background-color .18s ease}
[data-fs-theme='pennant'] .fs-hdr-cta.fs-hdr-cta::before{content:"";flex:none;width:14px;height:14px;background:var(--pn-band-amt);clip-path:polygon(50% 0,61% 7%,73% 3%,80% 14%,92% 15%,94% 27%,100% 37%,96% 48%,100% 59%,94% 69%,92% 81%,80% 82%,73% 93%,61% 89%,50% 96%,39% 89%,27% 93%,20% 82%,8% 81%,6% 69%,0 59%,4% 48%,0 37%,6% 27%,8% 15%,20% 14%,27% 3%,39% 7%)}
[data-fs-theme='pennant'] .fs-hdr-cta.fs-hdr-cta:focus-visible{outline:2px solid rgb(var(--c-paper));outline-offset:-7px}
[data-fs-theme='pennant'] .fs-hdr-row .fs-hdr-cta{margin-left:22px}
/* The menu button: a keylined plate (2px ink, a page gap, the ink/.38
   hairline); three ink bars, the middle one a stitch in the accent. */
[data-fs-theme='pennant'] .fs-hdr-menu-btn{align-self:center;width:46px;height:46px;margin-left:14px;border:2px solid rgb(var(--c-ink-950));border-radius:0;box-shadow:inset 0 0 0 1px rgb(var(--c-paper)),inset 0 0 0 2.6px var(--pn-key-in);background:linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) center calc(50% - 6px)/18px 2px no-repeat,repeating-linear-gradient(90deg,rgb(var(--c-accent, var(--c-brand-600))) 0 4px,transparent 4px 7px) center/18px 2px no-repeat,linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) center calc(50% + 6px)/18px 2px no-repeat,rgb(var(--c-paper))}
[data-fs-theme='pennant'] .fs-hdr-menu-btn svg{display:none}
/* The shell: no frame; 18px below the row (clear of the 7px keyline);
   the board's drop follows its notch, so it is a filter. */
[data-fs-theme='pennant'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite){margin-top:18px !important;background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;filter:drop-shadow(0 24px 30px rgb(0 0 0 / .26))}
[data-fs-theme='pennant'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite)::before{top:-18px;height:18px}
/* Layout tiers (mockup 253–273); desktop only.
   FIX ROUND 1 (2026-10-03), precedent in waymark/oriel/portico/almanac/
   concours/meridian-chrome-styles.ts: the mockup's own numbers (kept in
   the comments above) measured a few px of real spill against the REAL
   row (not the preview's own markup) at these three tiers once the
   six-item nav and the Donate button actually sit beside each other —
   CDP-measured at /preview/view?template=pennant&layout=<id>, 1440px:
   Boxed spilled 4px, Centered 10px, Minimalist 24px. The values below
   are tightened from the mockup's own just enough to clear it (margin,
   gap, padding and --pn-px only — no font-size below the mockup's). */
@container fs-band (min-width: 62rem){
  /* Boxed (880; 874px used). */
  @container (max-width: 60rem){
    [data-fs-theme='pennant'] .fs-hdr-row > :first-child{padding-right:14px}
    [data-fs-theme='pennant'] .fsmenu-pennantHang{--pn-px:10px}
    [data-fs-theme='pennant'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:12px;padding-inline:16px 18px}
  }
  /* Centered (784; 774px used). */
  @container (max-width: 50rem){
    [data-fs-theme='pennant'] .fs-hdr-row > :first-child{gap:9px;padding-right:10px}
    [data-fs-theme='pennant'] .fs-hdr-row [data-fs-logo-mark]{width:40px;height:40px}
    [data-fs-theme='pennant'] .fs-hdr-row [data-fs-wordmark]{font-size:16.5px}
    [data-fs-theme='pennant'] .fsmenu-pennantHang{--pn-px:6px;--pn-fs:14.5px}
    [data-fs-theme='pennant'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{gap:7px;margin-left:10px;padding:12px 15px 12px 13px;font-size:14px}
  }
  /* Minimalist (688; 680px used): the rosette leaves the button. */
  @container (max-width: 44rem){
    [data-fs-theme='pennant'] .fs-hdr-row > :first-child{gap:6px;padding-right:5px}
    [data-fs-theme='pennant'] .fs-hdr-row [data-fs-logo-mark]{width:36px;height:36px}
    [data-fs-theme='pennant'] .fs-hdr-row [data-fs-wordmark]{font-size:15px}
    [data-fs-theme='pennant'] .fsmenu-pennantHang{--pn-px:4px;--pn-fs:13.5px;gap:5px}
    [data-fs-theme='pennant'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:6px;padding-inline:10px 12px}
    [data-fs-theme='pennant'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta::before{display:none}
  }
}
@container (max-width: 34rem){
  [data-fs-theme='pennant'] .fs-hdr-row [data-fs-logo-mark]{width:40px;height:40px}
  [data-fs-theme='pennant'] .fs-hdr-row [data-fs-wordmark]{font-size:16.5px}
}
/* FIX ROUND 1 (2026-10-03), precedent in waymark/oriel/portico/almanac/
   concours/meridian-chrome-styles.ts etc.: the read-only preview alone
   renders a visitor dark/light toggle (.fs-hdr-mode) plus a fixed-width
   "Edit Template" link (TemplateViewClient.tsx), present on no real
   site. CDP-measured at /preview/view?template=pennant, 390/320: with
   both still shown the menu button's right edge sat at 437px — 47px
   past the edge even at 390 — because this theme's own 11ch lockup is
   wider than the row leaves room for once the preview bar's toggle and
   link are added. [data-fs-preview-edit] is the stable, surface-only
   hook the Edit Template link alone carries; :has() reaches up from it
   so only a row that actually contains it is affected — published and
   editor markup never has the hook. */
@container (max-width: 34rem){
  [data-fs-theme='pennant'] .fs-hdr-row:has([data-fs-preview-edit]) .fs-hdr-mode{display:none}
  [data-fs-theme='pennant'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{display:none}
}
/* The felt banner across the top (brand ground and its hem), the
   platform's "Menu" in the founding plate's caps behind a swallowtail, a
   close button keylined in the label colour; slab-serif rows, each with
   an 11×15 swallowtail slot: brand on the current page, the accent on
   the open group. */
[data-fs-theme='pennant'] .fs-hdr-mobile-head{height:auto;padding:12px 16px 16px;border-bottom:0;background:linear-gradient(90deg,var(--pn-hem) 0 6px,transparent 6px 10px) 0 calc(100% - 5px)/10px 2px repeat-x,rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)))}
[data-fs-theme='pennant'] .fs-hdr-mobile-title{display:inline-flex;align-items:center;gap:10px;font-family:inherit;font-weight:700;font-size:13px;line-height:1;letter-spacing:.22em;text-transform:uppercase;color:inherit}
[data-fs-theme='pennant'] .fs-hdr-mobile-title::before{content:"";flex:none;width:9px;height:12px;background:currentColor;clip-path:polygon(0 0,100% 0,100% 100%,50% 74%,0 100%)}
[data-fs-theme='pennant'] .fs-hdr-mobile-close{width:40px;height:40px;border:2px solid var(--fs-on-brand, rgb(var(--c-paper)));border-radius:0;color:var(--fs-on-brand, rgb(var(--c-paper)))}
[data-fs-theme='pennant'] .fs-hdr-mobile > nav{padding:4px 0 0}
[data-fs-theme='pennant'] .fs-hdr-mobile-row{display:flex;align-items:center;border-bottom:1px solid var(--pn-rule)}
[data-fs-theme='pennant'] .fs-hdr-mobile-link:not(.is-sub){display:flex;align-items:center;gap:13px;flex:1;min-height:54px;padding:0 20px;font-family:var(--font-display, Bitter, Georgia, serif);font-weight:600;font-size:20px;line-height:1.15;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='pennant'] .fs-hdr-mobile-link:not(.is-sub)::before{content:"";flex:none;width:11px;height:15px;background:transparent;clip-path:polygon(0 0,100% 0,100% 100%,50% 74%,0 100%)}
[data-fs-theme='pennant'] .fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false']){color:rgb(var(--c-brand-text))}
[data-fs-theme='pennant'] .fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false'])::before{background:rgb(var(--c-brand-600))}
[data-fs-theme='pennant'] .fs-hdr-mobile-row:has(.fs-hdr-mobile-toggle[aria-expanded='true']) .fs-hdr-mobile-link:not(.is-sub)::before{background:rgb(var(--c-accent, var(--c-brand-600)))}
[data-fs-theme='pennant'] .fs-hdr-mobile-toggle{margin-right:16px;color:rgb(var(--c-ink-950))}
[data-fs-theme='pennant'] .fs-hdr-mobile-sub{padding:14px 16px 18px;border-bottom:1px solid var(--pn-rule)}
/* A head-notched, keylined plate on the surface: the strip's note in
   caps, the phone as the figure, a stitch, the hours; then Donate, full
   width (it keeps the header button's ink, notch and rosette). No fixed
   labels. The nav has no side padding here, so the foot keeps 16px. */
[data-fs-theme='pennant'] .fs-pmf-pennant{display:grid;gap:12px;margin:22px 16px 24px}
[data-fs-theme='pennant'] .fs-pmf-plate{padding:18px 18px 16px;background:rgb(var(--c-paper-soft));border:2px solid rgb(var(--c-ink-950));box-shadow:inset 0 0 0 1px rgb(var(--c-paper)),inset 0 0 0 2.6px var(--pn-key-in);clip-path:polygon(1.15rem 0,100% 0,100% 100%,0 100%,0 1.15rem)}
[data-fs-theme='pennant'] .fs-pmf-note{margin:0;font-weight:700;font-size:10.5px;line-height:1.35;letter-spacing:.16em;text-transform:uppercase;color:rgb(var(--c-ink-700))}
[data-fs-theme='pennant'] .fs-pmf-big{margin:8px 0 0;font-family:var(--font-display, Bitter, Georgia, serif);font-weight:700;font-size:28px;line-height:1;font-variant-numeric:lining-nums;color:rgb(var(--c-brand-text))}
[data-fs-theme='pennant'] .fs-pmf-tel{color:inherit;text-decoration:none}
[data-fs-theme='pennant'] .fs-pmf-hours{margin:12px 0 0;padding-top:11px;border-top:2px dashed var(--pn-stitch);font-size:14.5px;line-height:1.45;color:rgb(var(--c-ink-700))}
[data-fs-theme='pennant'] .fs-pmf .fs-hdr-cta.fs-pmf-cta{display:flex;width:100%;margin:0;padding-block:16px}
/* The mega panel (ported from mockup 115–172 + the shared shapes
   52–56): one keylined board, notched in its tail. --pnm-g is the
   gutter (2% of the panel, 18–30px); --pnm-rows / --pnm-span are set
   per render from the week's own session counts (R-B6-19). */
[data-fs-theme='pennant'] .fs-pnm-panel{--pnm-g:clamp(18px,2cqi,30px);container-type:inline-size}
[data-fs-theme='pennant'] .fs-pnm-plate{padding:var(--pnm-g);background:rgb(var(--c-paper));border:2px solid rgb(var(--c-ink-950));box-shadow:inset 0 0 0 1px rgb(var(--c-paper)),inset 0 0 0 2.6px var(--pn-key-in);clip-path:polygon(0 0,100% 0,100% calc(100% - 1.15rem),calc(100% - 1.15rem) 100%,0 100%)}
/* Four flat parts placed by grid areas, so one composite reflows without
   moving anything in its markup: the head, the cost rosette, the week
   and the side plate. WIDE: the cost sits at the head's right, over the
   week; the side plate runs the full height. */
[data-fs-theme='pennant'] .fs-pnm-mg{display:grid;grid-template-columns:minmax(0,1fr) auto clamp(15rem,22%,21rem);grid-template-areas:"head cost join" "week week join";gap:0 var(--pnm-g)}
[data-fs-theme='pennant'] .fs-pnm-head{grid-area:head;align-self:end;min-width:0;padding-bottom:16px}
[data-fs-theme='pennant'] .fs-pnm-eyebrow{display:inline-flex;align-items:center;padding:5px 10px;border:2px solid rgb(var(--c-brand-600));background:rgb(var(--c-paper));color:rgb(var(--c-brand-text));font-weight:700;font-size:11px;line-height:1;font-family:var(--font-body, "Source Sans 3", system-ui, sans-serif);letter-spacing:.2em;text-transform:uppercase;white-space:nowrap}
[data-fs-theme='pennant'] .fs-pnm-title{margin:11px 0 0;font-weight:700;font-size:27px;line-height:1.12;font-family:var(--font-display, Bitter, Georgia, serif);letter-spacing:-.012em;color:rgb(var(--c-ink-950))}
[data-fs-theme='pennant'] .fs-pnm-acc{color:rgb(var(--c-brand-text))}
[data-fs-theme='pennant'] .fs-pnm-link{display:inline-block;margin-top:9px;padding-bottom:1px;font-weight:700;font-size:14.5px;line-height:1.3;color:rgb(var(--c-brand-text));border-bottom:2px dashed var(--pn-stitch);text-decoration:none}
[data-fs-theme='pennant'] .fs-pnm-link:hover{border-bottom-style:solid}
/* The week: six days, one column each, as the finder's board. Each day
   is a subgrid of the week's rows (heading, then its sessions), so the
   cards line up across the board however their names wrap. */
[data-fs-theme='pennant'] .fs-pnm-week{grid-area:week;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(var(--pnm-rows,3),auto);gap:8px;min-width:0;padding-top:16px;border-top:2px dashed var(--pn-stitch)}
[data-fs-theme='pennant'] .fs-pnm-day{display:grid;grid-row:span var(--pnm-rows,3);grid-template-rows:subgrid;min-width:0}
[data-fs-theme='pennant'] .fs-pnm-day-h{margin:0;padding:7px 6px;background:rgb(var(--c-ink-950));color:rgb(var(--c-paper));font-weight:700;font-size:11px;line-height:1.2;font-family:var(--font-body, "Source Sans 3", system-ui, sans-serif);letter-spacing:.14em;text-transform:uppercase;text-align:center}
[data-fs-theme='pennant'] .fs-pnm-sess{min-width:0;padding:9px 9px 10px;background:rgb(var(--c-paper-soft));border:2px solid var(--pn-edge);border-top:4px solid rgb(var(--c-brand-600))}
[data-fs-theme='pennant'] .fs-pnm-sess-t{margin:0;font-weight:700;font-size:13.5px;line-height:1.2;font-family:var(--font-display, Bitter, Georgia, serif);color:rgb(var(--c-brand-text));font-variant-numeric:lining-nums}
[data-fs-theme='pennant'] .fs-pnm-sess-n{display:block;margin-top:4px;font-weight:700;font-size:14.5px;line-height:1.25;font-family:var(--font-body, "Source Sans 3", system-ui, sans-serif);color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='pennant'] .fs-pnm-sess-n:hover{text-decoration:underline;text-decoration-style:dashed;text-underline-offset:3px}
[data-fs-theme='pennant'] .fs-pnm-sess-r{margin:2px 0 0;font-size:12.5px;line-height:1.35;color:rgb(var(--c-ink-700))}
[data-fs-theme='pennant'] .fs-pnm-tags{margin:7px 0 0;display:flex;flex-wrap:wrap;gap:4px}
[data-fs-theme='pennant'] .fs-pnm-tag{padding:2px 5px;border:1.5px solid var(--pn-edge2);font-weight:700;font-size:10px;line-height:1.3;font-family:var(--font-body, "Source Sans 3", system-ui, sans-serif);letter-spacing:.07em;text-transform:uppercase;color:rgb(var(--c-ink-700));white-space:nowrap}
[data-fs-theme='pennant'] .fs-pnm-tag.is-free{border-color:rgb(var(--c-brand-600));color:rgb(var(--c-brand-text))}
/* The side plate: "Can I just turn up?", a header plate in miniature
   (surface, keylined, notched at its head). The rosette is the hero
   seal's geometry at badge size. */
[data-fs-theme='pennant'] .fs-pnm-join{grid-area:join;display:flex;flex-direction:column;min-width:0;padding:22px 20px 18px;background:rgb(var(--c-paper-soft));border:2px solid rgb(var(--c-ink-950));box-shadow:inset 0 0 0 1px rgb(var(--c-paper)),inset 0 0 0 2.6px var(--pn-key-in);clip-path:polygon(1.15rem 0,100% 0,100% 100%,0 100%,0 1.15rem)}
[data-fs-theme='pennant'] .fs-pnm-join-q{margin:0;font-weight:700;font-size:11px;line-height:1.25;font-family:var(--font-body, "Source Sans 3", system-ui, sans-serif);letter-spacing:.18em;text-transform:uppercase;color:rgb(var(--c-ink-700))}
[data-fs-theme='pennant'] .fs-pnm-join-a{margin:6px 0 0;font-weight:700;font-size:38px;line-height:1;font-family:var(--font-display, Bitter, Georgia, serif);letter-spacing:-.01em;color:rgb(var(--c-brand-text))}
[data-fs-theme='pennant'] .fs-pnm-join-n{margin:6px 0 0;font-size:14px;line-height:1.45;color:rgb(var(--c-ink-700))}
[data-fs-theme='pennant'] .fs-pnm-steps{margin:12px 0 14px;list-style:none;padding:0}
[data-fs-theme='pennant'] .fs-pnm-step{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;align-items:baseline;padding-block:8px;border-top:1px solid var(--pn-rule);font-size:14px;line-height:1.4}
[data-fs-theme='pennant'] .fs-pnm-step-n{font-weight:700;font-size:16px;line-height:1;font-family:var(--font-display, Bitter, Georgia, serif);color:rgb(var(--c-brand-text))}
/* Who it is for: the hero's stat tile (page ground, ink/.16 edge, a 4px
   brand bar on its left). */
[data-fs-theme='pennant'] .fs-pnm-ages{margin-top:auto;padding:8px 11px 9px;background:rgb(var(--c-paper));border:2px solid var(--pn-edge);border-left:4px solid rgb(var(--c-brand-600))}
[data-fs-theme='pennant'] .fs-pnm-ages-f{display:block;font-weight:700;font-size:17px;line-height:1.15;font-family:var(--font-display, Bitter, Georgia, serif);color:rgb(var(--c-ink-950))}
[data-fs-theme='pennant'] .fs-pnm-ages-n{display:block;margin-top:3px;font-size:13px;line-height:1.35;color:rgb(var(--c-ink-700))}
/* The cost: the badge rosette with what it means. */
[data-fs-theme='pennant'] .fs-pnm-cost{grid-area:cost;align-self:end;display:flex;align-items:center;gap:14px;max-width:18rem;padding-bottom:16px}
[data-fs-theme='pennant'] .fs-pnm-rosette{position:relative;display:grid;place-items:center;flex:none;width:62px;height:62px;background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)));font-weight:700;font-size:19px;line-height:1;font-family:var(--font-display, Bitter, Georgia, serif);clip-path:polygon(50% 0,61% 7%,73% 3%,80% 14%,92% 15%,94% 27%,100% 37%,96% 48%,100% 59%,94% 69%,92% 81%,80% 82%,73% 93%,61% 89%,50% 96%,39% 89%,27% 93%,20% 82%,8% 81%,6% 69%,0 59%,4% 48%,0 37%,6% 27%,8% 15%,20% 14%,27% 3%,39% 7%)}
[data-fs-theme='pennant'] .fs-pnm-rosette::after{content:"";position:absolute;inset:7px;border:2px solid color-mix(in srgb, var(--fs-on-brand, rgb(var(--c-paper))) 50%, transparent);border-radius:50%}
[data-fs-theme='pennant'] .fs-pnm-cost-n{margin:0;font-size:13.5px;line-height:1.45;color:rgb(var(--c-ink-700))}
/* The appeal band along the foot: the favCivicCta band in miniature, ink
   ground, its own notch, the giving ladder (amount + what it buys). */
[data-fs-theme='pennant'] .fs-pnm-appeal{display:grid;grid-template-columns:minmax(0,1.2fr) repeat(3,minmax(0,1fr)) auto;align-items:center;gap:14px var(--pnm-g);margin-top:var(--pnm-g);padding:18px var(--pnm-g) 20px;background:rgb(var(--c-ink-950));color:rgb(var(--c-paper));clip-path:polygon(0 0,100% 0,100% calc(100% - 1.15rem),calc(100% - 1.15rem) 100%,0 100%)}
[data-fs-theme='pennant'] .fs-pnm-appeal .fs-pnm-eyebrow{border-color:var(--pn-band-line);background:transparent;color:rgb(var(--c-paper))}
[data-fs-theme='pennant'] .fs-pnm-appeal-t{margin:9px 0 0;max-width:24ch;font-weight:700;font-size:19px;line-height:1.2;font-family:var(--font-display, Bitter, Georgia, serif);color:rgb(var(--c-paper))}
[data-fs-theme='pennant'] .fs-pnm-rung{align-self:stretch;min-width:0;padding:9px 12px 10px;border:2px solid var(--pn-band-line);border-left:4px solid var(--pn-band-amt)}
[data-fs-theme='pennant'] .fs-pnm-rung-a{display:block;font-weight:700;font-size:19px;line-height:1.05;font-family:var(--font-display, Bitter, Georgia, serif);color:var(--pn-band-amt);font-variant-numeric:lining-nums}
[data-fs-theme='pennant'] .fs-pnm-rung-b{display:block;margin-top:5px;font-size:12.5px;line-height:1.4;color:var(--pn-band-soft)}
[data-fs-theme='pennant'] .fs-pnm-appeal-cta{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;background:rgb(var(--c-paper));color:rgb(var(--c-ink-950));font-weight:700;font-size:14px;line-height:1;font-family:var(--font-display, Bitter, Georgia, serif);white-space:nowrap;text-decoration:none;box-shadow:inset 0 0 0 2px rgb(var(--c-paper)),inset 0 0 0 3px var(--pn-key-in)}
[data-fs-theme='pennant'] .fs-pnm-appeal-cta:hover{background:rgb(var(--c-paper-soft))}
/* The same composite in the phone menu: the side plate, the head's
   eyebrow and the appeal band go (the foot carries the button); the
   week keeps reflowing on the composite's own container. */
[data-fs-theme='pennant'] .fs-hdr-mobile .fs-pnm-plate{padding:0;border:0;box-shadow:none;clip-path:none;background:transparent}
[data-fs-theme='pennant'] .fs-hdr-mobile .fs-pnm-join,[data-fs-theme='pennant'] .fs-hdr-mobile .fs-pnm-appeal,[data-fs-theme='pennant'] .fs-hdr-mobile .fs-pnm-head .fs-pnm-eyebrow{display:none}
[data-fs-theme='pennant'] .fs-hdr-mobile .fs-pnm-mg{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "cost" "week"}
[data-fs-theme='pennant'] .fs-hdr-mobile .fs-pnm-head{display:block;padding-bottom:12px}
[data-fs-theme='pennant'] .fs-hdr-mobile .fs-pnm-head .fs-pnm-link{margin-top:8px}
[data-fs-theme='pennant'] .fs-hdr-mobile .fs-pnm-title{margin-top:0;font-size:20px}
[data-fs-theme='pennant'] .fs-hdr-mobile .fs-pnm-cost{flex-direction:row;max-width:34rem;padding:0 0 14px}
/* The panel reflows on its own box (no border or padding: 1392 / 1232 /
   1152 / 880 / 784 / 688; the phone-menu copies 736 and 358). WIDE (over
   70rem, the base rules above): the six days side by side. MIDDLE: the
   week becomes the finder's own timetable, the side plate a narrower
   column, the appeal's title and button on one line. 50rem: the age tag
   and the join note go. 30rem: one column (phone menu). */
@container (max-width: 70rem){
  [data-fs-theme='pennant'] .fs-pnm-mg{grid-template-columns:minmax(0,1fr) clamp(12.5rem,28%,16rem);grid-template-areas:"head join" "week join" "week cost"}
  [data-fs-theme='pennant'] .fs-pnm-head{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:16px}
  [data-fs-theme='pennant'] .fs-pnm-head .fs-pnm-link{grid-column:2;grid-row:1;justify-self:end;margin-top:0}
  [data-fs-theme='pennant'] .fs-pnm-title{grid-column:1/-1;margin-top:9px;font-size:23px}
  [data-fs-theme='pennant'] .fs-pnm-cost{align-self:start;padding:16px 0 0}
  [data-fs-theme='pennant'] .fs-pnm-week{grid-template-columns:minmax(0,1fr);grid-template-rows:none;gap:0}
  [data-fs-theme='pennant'] .fs-pnm-day{grid-row:auto;grid-template-rows:none;grid-template-columns:5.4rem minmax(0,1fr);column-gap:12px;padding-block:3px;border-top:1px solid var(--pn-rule)}
  [data-fs-theme='pennant'] .fs-pnm-day:last-child{border-bottom:1px solid var(--pn-rule)}
  [data-fs-theme='pennant'] .fs-pnm-day-h{grid-row:1/span var(--pnm-span,2);align-self:stretch;display:flex;align-items:center;padding:4px 8px;font-size:10.5px;letter-spacing:.08em;text-align:left}
  [data-fs-theme='pennant'] .fs-pnm-sess{grid-column:2;display:grid;grid-template-columns:6.9rem minmax(0,1fr) auto auto;align-items:center;column-gap:10px;padding:4px 0;background:none;border:0}
  [data-fs-theme='pennant'] .fs-pnm-sess + .fs-pnm-sess{border-top:1px dashed var(--pn-rule)}
  [data-fs-theme='pennant'] .fs-pnm-sess-t{font-size:13px}
  [data-fs-theme='pennant'] .fs-pnm-sess-n{margin-top:0;font-size:14px}
  [data-fs-theme='pennant'] .fs-pnm-sess-r{display:none}
  [data-fs-theme='pennant'] .fs-pnm-tags{display:contents}
  [data-fs-theme='pennant'] .fs-pnm-join{padding:18px 16px 16px}
  [data-fs-theme='pennant'] .fs-pnm-join-a{font-size:32px}
  [data-fs-theme='pennant'] .fs-pnm-appeal{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:12px;padding-block:14px 16px}
  [data-fs-theme='pennant'] .fs-pnm-appeal .fs-pnm-eyebrow{display:none}
  [data-fs-theme='pennant'] .fs-pnm-appeal-h{grid-column:1/3}
  [data-fs-theme='pennant'] .fs-pnm-appeal-t{margin-top:0;max-width:none}
  [data-fs-theme='pennant'] .fs-pnm-appeal-cta{grid-column:3;grid-row:1;justify-self:end}
}
@container (max-width: 50rem){
  [data-fs-theme='pennant'] .fs-pnm-join-n{display:none}
  [data-fs-theme='pennant'] .fs-pnm-sess{grid-template-columns:6.9rem minmax(0,1fr) auto}
  [data-fs-theme='pennant'] .fs-pnm-tag:not(:last-child){display:none}
  [data-fs-theme='pennant'] .fs-pnm-title{font-size:21px}
  [data-fs-theme='pennant'] .fs-pnm-head{padding-bottom:12px}
  [data-fs-theme='pennant'] .fs-pnm-week{padding-top:10px}
  [data-fs-theme='pennant'] .fs-pnm-cost{flex-direction:column;align-items:flex-start;gap:10px}
  [data-fs-theme='pennant'] .fs-pnm-rosette{width:54px;height:54px;font-size:17px}
  [data-fs-theme='pennant'] .fs-pnm-ages{padding-inline:9px}
  [data-fs-theme='pennant'] .fs-pnm-ages-f{font-size:14.5px}
  [data-fs-theme='pennant'] .fs-pnm-appeal-t{font-size:17px}
}
@container (max-width: 30rem){
  [data-fs-theme='pennant'] .fs-pnm-mg{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "cost" "week" "join"}
  [data-fs-theme='pennant'] .fs-pnm-cost{flex-direction:row;padding:0 0 14px}
  [data-fs-theme='pennant'] .fs-pnm-rosette{width:48px;height:48px;font-size:16px}
  [data-fs-theme='pennant'] .fs-pnm-day{grid-template-columns:4.6rem minmax(0,1fr)}
  [data-fs-theme='pennant'] .fs-pnm-sess{grid-template-columns:minmax(0,1fr) auto;row-gap:1px}
  [data-fs-theme='pennant'] .fs-pnm-sess-t{grid-column:1/-1}
  [data-fs-theme='pennant'] .fs-pnm-appeal{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion: reduce){
  [data-fs-theme='pennant'] .fs-hdr-cta{transition:none}
}


/* Tokens (mockup 58–59), FULL colours. --fw-brass: brackets, rules and
   the aperture ring (the accent pulled a quarter toward the ink in
   light, so it clears 3:1 as a mark in every palette; the plain accent
   in dark); --fw-brass-ink: the accent as text (55% into ink in light);
   --fw-hair / --fw-edge: row separators and the frames' outline and
   bevel; --fw-ink2: secondary words; --fw-drama: the dramatic shadow
   (ink in light, black in dark); --fw-corners / --fw-corner-at: the
   eight brass layers of the corner brackets and where they sit (each
   element sets its own sizes). */
[data-fs-theme='fenwick']{--fs-chrome-mode:light;--fw-brass:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 75%, rgb(var(--c-ink-950)));--fw-brass-ink:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 55%, rgb(var(--c-ink-950)));--fw-hair:rgb(var(--c-ink-950) / .14);--fw-edge:rgb(var(--c-ink-950) / .3);--fw-ink2:color-mix(in srgb, rgb(var(--c-ink-950)) 76%, rgb(var(--c-paper)));--fw-drama:0 34px 64px -28px rgb(var(--c-ink-950) / .48),0 10px 24px -14px rgb(var(--c-ink-950) / .26);--fw-corners:linear-gradient(var(--fw-brass),var(--fw-brass)),linear-gradient(var(--fw-brass),var(--fw-brass)),linear-gradient(var(--fw-brass),var(--fw-brass)),linear-gradient(var(--fw-brass),var(--fw-brass)),linear-gradient(var(--fw-brass),var(--fw-brass)),linear-gradient(var(--fw-brass),var(--fw-brass)),linear-gradient(var(--fw-brass),var(--fw-brass)),linear-gradient(var(--fw-brass),var(--fw-brass));--fw-corner-at:0 0,0 0,100% 0,100% 0,0 100%,0 100%,100% 100%,100% 100%}
[data-fs-theme='fenwick'].dark{--fs-chrome-mode:dark;--fw-brass:rgb(var(--c-accent, var(--c-brand-600)));--fw-brass-ink:rgb(var(--c-accent, var(--c-brand-600)));--fw-hair:rgb(var(--c-ink-950) / .16);--fw-edge:rgb(var(--c-ink-950) / .32);--fw-ink2:color-mix(in srgb, rgb(var(--c-ink-950)) 80%, rgb(var(--c-paper)));--fw-drama:0 34px 64px -28px rgb(0 0 0 / .72),0 10px 24px -14px rgb(0 0 0 / .5)}
/* The strip: the mount colour with a hairline under it, tracked Caslon
   Text capitals in the secondary ink; the note after the established
   line's brass rule; the hours after a small aperture (the platform's
   hours dot, redrawn); the phone in ink. The line is the named
   container fs-strip-in (R-B6-5).
   FIX ROUND 1 (2026-10-03): font-size/line-height were only declared on
   .fs-hdr-util (the outer, non-flex container), not on .fs-hdr-util-in
   (the actual flex row that is the items' direct parent). The platform's
   own unscoped base rule sets a font-size directly on .fs-hdr-util-in,
   which wins over an ancestor's inherited value for that one property —
   so .fs-hdr-util-hours (which sets no font-size of its own) rendered at
   the platform's caption size instead of this theme's 10.5px, while
   .fs-hdr-util-tel (which does set its own font-size) was unaffected.
   The mismatched line-box heights then threw .fs-hdr-util-hours and
   .fs-hdr-util-tel a few px apart under align-items:center, reading as
   two strip lines instead of one. Carrying font-size onto .fs-hdr-util-in
   itself (the same "re-declare rather than rely on inheritance" pattern
   this rule already uses for color) fixes it for hours/note/address
   alike, without touching tel's own deliberately larger size. */
[data-fs-theme='fenwick'] .fs-hdr-util{container-type:inline-size;background:rgb(var(--c-paper-soft));box-shadow:inset 0 -1px 0 var(--fw-hair);font-weight:700;font-size:10.5px;line-height:1.25;letter-spacing:.2em;text-transform:uppercase;color:rgb(var(--c-ink-700))}
[data-fs-theme='fenwick'] .fs-hdr-util-in{container-type:inline-size;container-name:fs-strip-in;display:flex;align-items:center;gap:30px;min-height:0;padding-block:9px;border-bottom:0;font-size:10.5px;white-space:nowrap;color:inherit}
[data-fs-theme='fenwick'] .fs-hdr-util-note,[data-fs-theme='fenwick'] .fs-hdr-util-hours,[data-fs-theme='fenwick'] .fs-hdr-util-address{display:inline-flex}
[data-fs-theme='fenwick'] .fs-hdr-util-note{order:-1;gap:12px;margin-right:auto}
[data-fs-theme='fenwick'] .fs-hdr-util-note::before{content:"";flex:none;width:1.6rem;height:1px;background:var(--fw-brass)}
[data-fs-theme='fenwick'] .fs-hdr-util-hours{gap:9px}
[data-fs-theme='fenwick'] .fs-hdr-util-dot{width:11px;height:11px;border:1px solid var(--fw-brass);border-radius:50%;background:radial-gradient(circle,var(--fw-brass) 0 29%,transparent 31%)}
[data-fs-theme='fenwick'] .fs-hdr-util-tel{margin-left:0;font-weight:700;font-size:12.5px;line-height:1;letter-spacing:.1em;color:rgb(var(--c-ink-950))}
@container fs-strip-in (max-width: 60rem){
  [data-fs-theme='fenwick'] .fs-hdr-util-address{display:none}
}
@container fs-strip-in (max-width: 46rem){
  [data-fs-theme='fenwick'] .fs-hdr-util-note{display:none}
  [data-fs-theme='fenwick'] .fs-hdr-util-hours{margin-right:auto}
}
@container (max-width: 40rem){
  [data-fs-theme='fenwick'] .fs-hdr-util-in{display:flex;justify-content:center}
  [data-fs-theme='fenwick'] .fs-hdr-util-item:not(.fs-hdr-util-tel){display:none}
}
/* The band: the desktop gate, closed by the mat's bevel — two hairlines
   3px apart, PAINTED in its last 5px. */
[data-fs-theme='fenwick'] .fs-hdr-band{container-type:inline-size;container-name:fs-band;border-bottom-width:0;padding-bottom:5px;background:linear-gradient(var(--fw-edge),var(--fw-edge)) 0 100%/100% 1px no-repeat,linear-gradient(var(--fw-edge),var(--fw-edge)) 0 calc(100% - 4px)/100% 1px no-repeat,rgb(var(--c-paper))}
[data-fs-theme='fenwick'] .fs-hdr-row{min-height:clamp(70px, (100cqi - 760px) * 100, 86px)}
/* The lockup: the aperture mark (44px) painted as the design draws it —
   blades in the brand, the ring in brass at full strength (R-B6-8) — and
   the name in Caslon Text italic 25px (R-B6-10; the italic and the 400
   weight are the theme's themeDefaults). */
[data-fs-theme='fenwick'] .fs-hdr-row > :first-child{gap:3px;margin-right:auto;padding-right:28px}
[data-fs-theme='fenwick'] .fs-hdr-row [data-fs-logo-mark]{width:44px;height:44px}
[data-fs-theme='fenwick'] .fs-hdr-row [data-fs-logo-mark] ellipse{fill:rgb(var(--c-brand-600))}
[data-fs-theme='fenwick'] .fs-hdr-row [data-fs-logo-mark] circle{stroke:var(--fw-brass);opacity:1}
[data-fs-theme='fenwick'] .fs-hdr-row [data-fs-wordmark]{font-family:var(--font-sans, 'Libre Caslon Text', Georgia, serif);font-size:25px;line-height:1;white-space:nowrap}
/* The button: the theme's double-border button, a 5px double mat in the
   brand with the brand's words; on hover the print develops: it fills
   with the brand and the words turn to the solved on-brand. */
[data-fs-theme='fenwick'] .fs-hdr-cta{--fs-hdr-cta-bg:transparent;--fs-hdr-cta-fg:rgb(var(--c-brand-text));--fs-hdr-cta-bg-hover:rgb(var(--c-brand-600));--fs-hdr-cta-fg-hover:var(--fs-on-brand, rgb(var(--c-paper)))}
[data-fs-theme='fenwick'] .fs-hdr-cta.fs-hdr-cta{flex:none;padding:11px 19px;border:5px double rgb(var(--c-brand-600));border-radius:0;font-weight:700;font-size:14.5px;line-height:1;letter-spacing:.03em;white-space:nowrap;transition:background-color .25s ease,color .25s ease}
[data-fs-theme='fenwick'] .fs-hdr-row .fs-hdr-cta{margin-left:24px}
/* The menu button: a viewfinder — brass corner brackets (11px arms, 2px)
   round two ink lines (18px and 11px), all painted as backgrounds. */
[data-fs-theme='fenwick'] .fs-hdr-menu-btn{width:44px;height:44px;margin-left:14px;border-radius:0;background-color:transparent;background-image:var(--fw-corners),linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))),linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950)));background-repeat:no-repeat;background-origin:border-box;background-position:var(--fw-corner-at),center calc(50% - 3.25px),center calc(50% + 3.25px);background-size:11px 2px,2px 11px,11px 2px,2px 11px,11px 2px,2px 11px,11px 2px,2px 11px,18px 1.5px,11px 1.5px}
[data-fs-theme='fenwick'] .fs-hdr-menu-btn svg{display:none}
/* The shell: no frame of its own (the composite is the mounted card).
   The card's plate tag straddles its top edge and every mega shell
   scrolls (overflow-y:auto would clip the tag's upper half), so the
   shell keeps 13px of transparent padding above the card and sits 5px
   below the row — still below the 5px bevel; the card opens 18px below
   the row (R-B6-22). The card's dramatic shadow is on the shell. */
[data-fs-theme='fenwick'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite){margin-top:5px !important;padding-top:13px !important;background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:var(--fw-drama) !important}
[data-fs-theme='fenwick'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite)::before{top:-5px;height:5px}
/* Layout tiers (mockup 226–250); desktop only. The brackets are painted
   on the items' own boxes and add no width. */
@container fs-band (min-width: 62rem){
  /* Boxed (880; 860px used). */
  @container (max-width: 60rem){
    [data-fs-theme='fenwick'] .fs-hdr-row > :first-child{padding-right:20px}
    [data-fs-theme='fenwick'] .fs-hdr-row [data-fs-logo-mark]{width:40px;height:40px}
    [data-fs-theme='fenwick'] .fs-hdr-row [data-fs-wordmark]{font-size:22.7px}
    [data-fs-theme='fenwick'] .fsmenu-matCorners{--fw-pad:10px}
    [data-fs-theme='fenwick'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:16px;padding-inline:15px}
  }
  /* Centered (784; 754px used). */
  @container (max-width: 50rem){
    [data-fs-theme='fenwick'] .fs-hdr-row > :first-child{padding-right:14px}
    [data-fs-theme='fenwick'] .fs-hdr-row [data-fs-logo-mark]{width:36px;height:36px}
    [data-fs-theme='fenwick'] .fs-hdr-row [data-fs-wordmark]{font-size:20.5px}
    [data-fs-theme='fenwick'] .fsmenu-matCorners{--fw-pad:7px;--fw-fs:14.5px}
    [data-fs-theme='fenwick'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:12px;padding:10px 12px;border-width:4px;font-size:13.5px;letter-spacing:.01em}
  }
  /* Minimalist (688; 666px used): the current page's corners shorten
     with the pad. */
  @container (max-width: 44rem){
    [data-fs-theme='fenwick'] .fs-hdr-row > :first-child{padding-right:10px}
    [data-fs-theme='fenwick'] .fs-hdr-row [data-fs-logo-mark]{width:32px;height:32px}
    [data-fs-theme='fenwick'] .fs-hdr-row [data-fs-wordmark]{font-size:18.2px}
    [data-fs-theme='fenwick'] .fsmenu-matCorners-nav{--fw-gap:1px}
    [data-fs-theme='fenwick'] .fsmenu-matCorners{--fw-pad:5px;--fw-fs:14px;gap:6px}
    [data-fs-theme='fenwick'] .fsmenu-matCorners[aria-current]:not([aria-current='false']){--fw-arm:7px}
    [data-fs-theme='fenwick'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:8px;padding-inline:9px;font-size:13px}
  }
}
@container (max-width: 34rem){
  [data-fs-theme='fenwick'] .fs-hdr-row [data-fs-logo-mark]{width:36px;height:36px}
  [data-fs-theme='fenwick'] .fs-hdr-row [data-fs-wordmark]{font-size:20.5px}
}
/* FIX ROUND 1 (2026-10-03), precedent in waymark/pennant-chrome-styles.ts
   etc.: the read-only preview alone renders a visitor dark/light toggle
   (.fs-hdr-mode) plus a fixed-width "Edit Template" link
   (TemplateViewClient.tsx), present on no real site. CDP-measured at
   /preview/view?template=fenwick, 390/320: with both still shown the
   menu button's right edge sat at 448px — 58px past the edge even at
   390 — because this theme's own 11ch-capped lockup plus the preview
   bar's toggle and link leave no room. [data-fs-preview-edit] is the
   stable, surface-only hook the Edit Template link alone carries;
   :has() reaches up from it so only a row that actually contains it is
   affected — published and editor markup never has the hook. */
@container (max-width: 34rem){
  [data-fs-theme='fenwick'] .fs-hdr-row:has([data-fs-preview-edit]) .fs-hdr-mode{display:none}
  [data-fs-theme='fenwick'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{display:none}
}
/* The mount-coloured head closed by the header's two-hairline bevel;
   the aperture mark and "Menu" in eyebrow type; a viewfinder close
   (9px brass corners round the ✕); Caslon Display rows at 24px; the
   current row mounted in brass corners (13px) and set in Caslon Text
   italic 22px in brand ink. */
[data-fs-theme='fenwick'] .fs-hdr-mobile-head{height:auto;padding:12px 16px 17px 22px;border-bottom:0;background:linear-gradient(var(--fw-edge),var(--fw-edge)) 0 100%/100% 1px no-repeat,linear-gradient(var(--fw-edge),var(--fw-edge)) 0 calc(100% - 4px)/100% 1px no-repeat,rgb(var(--c-paper-soft))}
[data-fs-theme='fenwick'] .fs-hdr-mobile-title{display:inline-flex;align-items:center;gap:11px;font-family:inherit;font-weight:700;font-size:10.5px;line-height:1.25;letter-spacing:.22em;text-transform:uppercase;color:rgb(var(--c-ink-700))}
[data-fs-theme='fenwick'] .fs-hdr-mobile-title::before{content:"";flex:none;width:14px;height:14px;border:1.25px solid var(--fw-brass);border-radius:50%;background:radial-gradient(circle,var(--fw-brass) 0 29%,transparent 31%)}
[data-fs-theme='fenwick'] .fs-hdr-mobile-close{width:42px;height:42px;border-radius:0;color:rgb(var(--c-ink-950));background-color:transparent;background-image:var(--fw-corners);background-repeat:no-repeat;background-origin:border-box;background-position:var(--fw-corner-at);background-size:9px 2px,2px 9px,9px 2px,2px 9px,9px 2px,2px 9px,9px 2px,2px 9px}
[data-fs-theme='fenwick'] .fs-hdr-mobile > nav{padding:12px 16px 0}
[data-fs-theme='fenwick'] .fs-hdr-mobile-row{display:flex;align-items:center;border-bottom:1px solid var(--fw-hair)}
[data-fs-theme='fenwick'] .fs-hdr-mobile-row:has(.fs-hdr-mobile-link[aria-current]:not([aria-current='false'])){border-bottom-color:transparent}
[data-fs-theme='fenwick'] .fs-hdr-mobile-link:not(.is-sub){display:flex;align-items:center;gap:12px;flex:1;min-height:56px;padding:0 12px;font-family:var(--font-display, 'Libre Caslon Display', Georgia, serif);font-weight:400;font-size:24px;line-height:1.15;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='fenwick'] .fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false']){font-family:var(--font-sans, 'Libre Caslon Text', Georgia, serif);font-style:italic;font-size:22px;color:rgb(var(--c-brand-text));background-image:var(--fw-corners);background-repeat:no-repeat;background-origin:border-box;background-position:var(--fw-corner-at);background-size:13px 2px,2px 13px,13px 2px,2px 13px,13px 2px,2px 13px,13px 2px,2px 13px}
[data-fs-theme='fenwick'] .fs-hdr-mobile-toggle{margin-right:4px;color:rgb(var(--c-ink-950))}
[data-fs-theme='fenwick'] .fs-hdr-mobile-sub{padding:2px 12px 16px;border-bottom:1px solid var(--fw-hair)}
/* The booking card in small: a double mat in the mount colour, centred —
   the aperture (the card's ::before), the phone in Caslon Display 29px,
   the hours in the italic; then the double-border button full width,
   15.5px. No fixed labels. The foot sits in the nav's 16px padding. */
[data-fs-theme='fenwick'] .fs-pmf-fenwick{display:grid;gap:14px;margin:26px 0}
[data-fs-theme='fenwick'] .fs-pmf-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px 16px 18px;background:rgb(var(--c-paper-soft));border:5px double var(--fw-edge);text-align:center}
[data-fs-theme='fenwick'] .fs-pmf-card::before{content:"";flex:none;width:20px;height:20px;margin-bottom:6px;border:1.5px solid var(--fw-brass);border-radius:50%;background:radial-gradient(circle,var(--fw-brass) 0 29%,transparent 31%)}
[data-fs-theme='fenwick'] .fs-pmf-big{margin:0;font-family:var(--font-display, 'Libre Caslon Display', Georgia, serif);font-weight:400;font-size:29px;line-height:1.1;letter-spacing:.01em;font-variant-numeric:lining-nums;color:rgb(var(--c-ink-950))}
[data-fs-theme='fenwick'] .fs-pmf-tel{color:inherit;text-decoration:none}
[data-fs-theme='fenwick'] .fs-pmf-hours{margin:0;font-style:italic;font-size:15px;line-height:1.45;color:var(--fw-ink2)}
[data-fs-theme='fenwick'] .fs-pmf .fs-hdr-cta.fs-pmf-cta{display:flex;width:100%;margin:0;padding-block:15px;font-size:15.5px}
/* The panel is the frame: paper, a 1px edge, brass corner brackets at
   its four corners (30px arms, 2.5px), the plate tag across its top
   edge. --fwm-g, the one gutter (2.4% of the panel, 20 to 34px), is
   resolved where it is used, so inside the panel its cqi reads the
   panel. Its shadow is on the shell. */
[data-fs-theme='fenwick'] .fs-fwm-panel{--fwm-g:clamp(20px,2.4cqi,34px);container-type:inline-size;position:relative;padding:calc(var(--fwm-g) + 10px) var(--fwm-g) var(--fwm-g);background-color:rgb(var(--c-paper));border:1px solid var(--fw-edge);background-image:var(--fw-corners);background-repeat:no-repeat;background-origin:border-box;background-position:var(--fw-corner-at);background-size:30px 2.5px,2.5px 30px,30px 2.5px,2.5px 30px,30px 2.5px,2.5px 30px,30px 2.5px,2.5px 30px}
/* The panel's own parts, ported from the mockup's mega (120–149) and
   the shared pieces it draws on (70 the aperture, 72 the eyebrow, 73
   the established rule, 76 the italic accent, 78 the plate tag, 82–83
   the double-mat button). The tag doubles as the eyebrow (mockup 443:
   one element, both classes); the aperture and the button are each
   used once here, so their one-off sizes are written straight in. */
[data-fs-theme='fenwick'] .fs-fwm-tag{margin:0;position:absolute;top:0;left:50%;z-index:1;transform:translate(-50%,-50%);padding:5px 12px;background:rgb(var(--c-paper));border:1px solid var(--fw-edge);white-space:nowrap;font-weight:700;font-size:10.5px;line-height:1.25;letter-spacing:.22em;text-transform:uppercase;color:rgb(var(--c-ink-700))}
[data-fs-theme='fenwick'] .fs-fwm-grid{display:grid;grid-template-columns:minmax(0,1fr) clamp(232px,25cqi,330px);gap:var(--fwm-g)}
[data-fs-theme='fenwick'] .fs-fwm-main{display:flex;flex-direction:column;min-width:0}
[data-fs-theme='fenwick'] .fs-fwm-head{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:end;gap:10px clamp(24px,3cqi,44px);padding-bottom:18px;border-bottom:1px solid var(--fw-edge)}
[data-fs-theme='fenwick'] .fs-fwm-title{margin:0;font-family:var(--font-display, 'Libre Caslon Display', Georgia, serif);font-weight:400;font-size:clamp(26px,2.4cqi,32px);line-height:1.08;letter-spacing:-.005em;white-space:nowrap;color:rgb(var(--c-ink-950))}
[data-fs-theme='fenwick'] .fs-fwm-acc{font-family:var(--font-sans, 'Libre Caslon Text', Georgia, serif);font-style:italic;color:var(--fw-brass-ink)}
[data-fs-theme='fenwick'] .fs-fwm-intro{margin:0;justify-self:end;max-width:52ch;font-style:italic;font-weight:400;font-size:14px;line-height:1.55;color:var(--fw-ink2);text-align:right}
[data-fs-theme='fenwick'] .fs-fwm-ledger{margin:0;list-style:none;padding:0;display:grid;grid-template-columns:repeat(var(--fwm-cols,2),minmax(0,1fr));column-gap:clamp(24px,3.2cqi,48px)}
[data-fs-theme='fenwick'] .fs-fwm-sess{min-width:0;padding:15px 0 16px;border-bottom:1px solid var(--fw-hair)}
[data-fs-theme='fenwick'] .fs-fwm-sess-top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 14px}
[data-fs-theme='fenwick'] .fs-fwm-sess-name{font-family:var(--font-display, 'Libre Caslon Display', Georgia, serif);font-weight:400;font-size:19.5px;line-height:1.2;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='fenwick'] .fs-fwm-sess-name:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:var(--fw-brass)}
[data-fs-theme='fenwick'] .fs-fwm-sess-price{font-family:var(--font-display, 'Libre Caslon Display', Georgia, serif);font-weight:400;font-size:19px;line-height:1.2;color:var(--fw-brass-ink);white-space:nowrap;font-variant-numeric:lining-nums}
[data-fs-theme='fenwick'] .fs-fwm-sess-meta{margin:4px 0 0;font-size:12.5px;line-height:1.4;letter-spacing:.03em;color:var(--fw-ink2)}
[data-fs-theme='fenwick'] .fs-fwm-sess-desc{margin:6px 0 0;max-width:46ch;font-size:13.5px;line-height:1.6;color:var(--fw-ink2)}
[data-fs-theme='fenwick'] .fs-fwm-foot{display:flex;align-items:center;gap:10px 14px;margin-top:auto;padding-top:16px}
[data-fs-theme='fenwick'] .fs-fwm-rule{display:inline-block;flex:none;width:1.6rem;height:1px;background:var(--fw-brass)}
[data-fs-theme='fenwick'] .fs-fwm-note{margin:0;min-width:0;font-style:italic;font-size:13px;line-height:1.5;color:var(--fw-ink2)}
[data-fs-theme='fenwick'] .fs-fwm-link{flex:none;margin-left:auto;padding-bottom:2px;border-bottom:1px solid currentColor;font-weight:700;font-size:13.5px;line-height:1.3;color:var(--fw-brass-ink);white-space:nowrap;text-decoration:none}
[data-fs-theme='fenwick'] .fs-fwm-link:hover{color:rgb(var(--c-ink-950))}
[data-fs-theme='fenwick'] .fs-fwm-book{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;padding:26px clamp(16px,2cqi,26px) 22px;background:rgb(var(--c-paper-soft));border:5px double var(--fw-edge);text-align:center}
[data-fs-theme='fenwick'] .fs-fwm-ap{display:inline-block;flex:none;width:24px;height:24px;margin-bottom:14px;border:1.5px solid var(--fw-brass);border-radius:50%;background:radial-gradient(circle,var(--fw-brass) 0 29%,transparent 31%)}
[data-fs-theme='fenwick'] .fs-fwm-eyebrow{font-weight:700;font-size:10.5px;line-height:1.25;letter-spacing:.22em;text-transform:uppercase;color:rgb(var(--c-ink-700))}
[data-fs-theme='fenwick'] .fs-fwm-bh{margin:10px 0 0;font-family:var(--font-display, 'Libre Caslon Display', Georgia, serif);font-weight:400;font-size:clamp(23px,2.2cqi,28px);line-height:1.14;text-wrap:balance}
[data-fs-theme='fenwick'] .fs-fwm-bbody{margin:10px 0 0;max-width:30ch;font-size:13.5px;line-height:1.6;color:var(--fw-ink2)}
[data-fs-theme='fenwick'] .fs-fwm-cta{display:inline-flex;align-items:center;justify-content:center;margin:18px 0 0;padding:11px 19px;border:5px double rgb(var(--c-brand-600));color:rgb(var(--c-brand-text));font-weight:700;font-size:14.5px;line-height:1;letter-spacing:.03em;white-space:nowrap;text-decoration:none;transition:background-color .25s ease,color .25s ease}
[data-fs-theme='fenwick'] .fs-fwm-cta:hover{background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)))}
[data-fs-theme='fenwick'] .fs-fwm-bcall{margin-top:12px;font-weight:700;font-size:14px;line-height:1.3;letter-spacing:.02em;color:rgb(var(--c-ink-950));font-variant-numeric:lining-nums;text-decoration:none}
[data-fs-theme='fenwick'] .fs-fwm-bcall:hover{color:rgb(var(--c-brand-text))}
[data-fs-theme='fenwick'] .fs-fwm-bnote{margin:16px 0 0;align-self:stretch;padding-top:12px;border-top:1px solid var(--fw-hair);font-style:italic;font-size:12.5px;line-height:1.5;color:var(--fw-ink2)}
/* The same composite in the phone menu: no frame, corners, tag or
   head, no booking card (the foot carries the phone and the button),
   no descriptions or note; the ledger two across on a tablet. */
[data-fs-theme='fenwick'] .fs-hdr-mobile .fs-fwm-panel{padding:0;background:none;border:0}
[data-fs-theme='fenwick'] .fs-hdr-mobile .fs-fwm-grid{grid-template-columns:minmax(0,1fr)}
[data-fs-theme='fenwick'] .fs-hdr-mobile .fs-fwm-tag,[data-fs-theme='fenwick'] .fs-hdr-mobile .fs-fwm-head,[data-fs-theme='fenwick'] .fs-hdr-mobile .fs-fwm-book,[data-fs-theme='fenwick'] .fs-hdr-mobile .fs-fwm-sess-desc,[data-fs-theme='fenwick'] .fs-hdr-mobile .fs-fwm-note{display:none}
[data-fs-theme='fenwick'] .fs-hdr-mobile .fs-fwm-ledger{--fwm-cols:2}
[data-fs-theme='fenwick'] .fs-hdr-mobile .fs-fwm-sess-name{font-size:18px}
[data-fs-theme='fenwick'] .fs-hdr-mobile .fs-fwm-sess-price{font-size:17.5px}
[data-fs-theme='fenwick'] .fs-hdr-mobile .fs-fwm-foot{padding-top:14px}
[data-fs-theme='fenwick'] .fs-hdr-mobile .fs-fwm-link{margin-left:0}
/* The card reflows on its own box (the panel less its 1px edge and the
   --fwm-g padding: 1323 / 1171 / 1095 / 836 / 742 / 646; the phone-menu
   copies 712 and 334). BASE: two ledger columns of three beside the
   booking card. 76rem up (Full at 1440): three columns of two. 60rem
   and under: the head stacks; descriptions, the note and the card's
   body go. Boxed only (50–60rem): one column, each sitting on ONE line.
   50rem and under: one column. 44rem: the intro goes. 30rem: the phone
   menu's one column. */
@container (min-width: 76rem){
  [data-fs-theme='fenwick'] .fs-fwm-ledger{--fwm-cols:3}
}
@container (max-width: 60rem){
  [data-fs-theme='fenwick'] .fs-fwm-head{grid-template-columns:minmax(0,1fr)}
  [data-fs-theme='fenwick'] .fs-fwm-intro{justify-self:start;max-width:56ch;text-align:left}
  [data-fs-theme='fenwick'] .fs-fwm-sess-desc{display:none}
  [data-fs-theme='fenwick'] .fs-fwm-sess{padding-block:13px 14px}
  [data-fs-theme='fenwick'] .fs-fwm-note{display:none}
  [data-fs-theme='fenwick'] .fs-fwm-bbody{display:none}
}
@container (min-width: 50.0625rem) and (max-width: 60rem){
  [data-fs-theme='fenwick'] .fs-fwm-ledger{--fwm-cols:1}
  [data-fs-theme='fenwick'] .fs-fwm-sess{display:grid;grid-template-columns:minmax(0,11rem) minmax(0,1fr) auto;align-items:baseline;column-gap:18px}
  [data-fs-theme='fenwick'] .fs-fwm-sess-top{display:contents}
  [data-fs-theme='fenwick'] .fs-fwm-sess-name{grid-column:1;grid-row:1;font-size:18.5px}
  [data-fs-theme='fenwick'] .fs-fwm-sess-meta{grid-column:2;grid-row:1;margin-top:0}
  [data-fs-theme='fenwick'] .fs-fwm-sess-price{grid-column:3;grid-row:1;font-size:18px}
}
@container (max-width: 50rem){
  [data-fs-theme='fenwick'] .fs-fwm-ledger{--fwm-cols:1}
  [data-fs-theme='fenwick'] .fs-fwm-sess{padding-block:11px 12px}
  [data-fs-theme='fenwick'] .fs-fwm-sess-name{font-size:18.5px}
  [data-fs-theme='fenwick'] .fs-fwm-sess-price{font-size:18px}
}
@container (max-width: 44rem){
  [data-fs-theme='fenwick'] .fs-fwm-intro{display:none}
}
@container (max-width: 30rem){
  [data-fs-theme='fenwick'] .fs-hdr-mobile .fs-fwm-ledger{--fwm-cols:1}
}
@media (prefers-reduced-motion: reduce){
  [data-fs-theme='fenwick'] .fs-hdr-cta,[data-fs-theme='fenwick'] .fs-fwm-cta{transition:none}
}


/* Tokens (mockup 54–59), FULL colours. --ns-edge: the board's hairline;
   --ns-plate-edge / --ns-tile-edge: a plate's and a chip's edge;
   --ns-rule: schedule rows; --ns-note-ink: secondary words; --ns-fix /
   --ns-fix-rim: a screw head; --ns-ink-hi: brand as a word (70% brand
   into ink in light, the brand itself in dark); --ns-cta-fix: the
   button's screws; --ns-screws / --ns-cta-screws: four screws at a
   board's corners and two at the button's ends, painted as backgrounds
   (never positioned children). */
[data-fs-theme='northstone']{--fs-chrome-mode:light;--ns-edge:rgb(var(--c-ink-950) / .22);--ns-plate-edge:rgb(var(--c-ink-950) / .2);--ns-tile-edge:rgb(var(--c-ink-950) / .3);--ns-rule:rgb(var(--c-ink-950) / .16);--ns-note-ink:color-mix(in srgb, rgb(var(--c-ink-950)) 76%, rgb(var(--c-paper)));--ns-fix:color-mix(in srgb, rgb(var(--c-ink-950)) 34%, rgb(var(--c-paper-soft)));--ns-fix-rim:color-mix(in srgb, rgb(var(--c-ink-950)) 12%, rgb(var(--c-paper-soft)));--ns-ink-hi:color-mix(in srgb, rgb(var(--c-brand-600)) 70%, rgb(var(--c-ink-950)));--ns-cta-fix:color-mix(in srgb, var(--fs-on-brand, rgb(var(--c-paper))) 50%, rgb(var(--c-brand-600)));--ns-screws:radial-gradient(circle at 12px 12px,var(--ns-fix) 0 2.7px,var(--ns-fix-rim) 3.1px 3.7px,transparent 4.2px),radial-gradient(circle at calc(100% - 12px) 12px,var(--ns-fix) 0 2.7px,var(--ns-fix-rim) 3.1px 3.7px,transparent 4.2px),radial-gradient(circle at 12px calc(100% - 12px),var(--ns-fix) 0 2.7px,var(--ns-fix-rim) 3.1px 3.7px,transparent 4.2px),radial-gradient(circle at calc(100% - 12px) calc(100% - 12px),var(--ns-fix) 0 2.7px,var(--ns-fix-rim) 3.1px 3.7px,transparent 4.2px);--ns-cta-screws:radial-gradient(circle at 11px 50%,var(--ns-cta-fix) 0 2.3px,transparent 2.9px),radial-gradient(circle at calc(100% - 11px) 50%,var(--ns-cta-fix) 0 2.3px,transparent 2.9px)}
[data-fs-theme='northstone'].dark{--fs-chrome-mode:dark;--ns-edge:rgb(var(--c-ink-950) / .24);--ns-rule:rgb(var(--c-ink-950) / .18);--ns-ink-hi:rgb(var(--c-brand-600))}
/* The strip: the yard's own line on the sunk ground, each item led by a
   chip of stone instead of the platform's dot (granite, limestone,
   slate — the Stone set's chip drawings, ported: pseudo-elements have no
   class to reuse); the note first, then the hours, the road and the
   phone in the slab. The line is the named container fs-strip-in. */
[data-fs-theme='northstone'] .fs-hdr-util{container-type:inline-size;background:rgb(var(--c-paper-sunk));border-bottom:1px solid var(--ns-rule);font-weight:600;font-size:12.5px;line-height:1.2;color:var(--ns-note-ink)}
[data-fs-theme='northstone'] .fs-hdr-util-in{container-type:inline-size;container-name:fs-strip-in;display:flex;align-items:center;gap:22px;min-height:0;padding-block:8px;border-bottom:0;color:inherit}
[data-fs-theme='northstone'] .fs-hdr-util-note,[data-fs-theme='northstone'] .fs-hdr-util-hours,[data-fs-theme='northstone'] .fs-hdr-util-address{display:inline-flex}
[data-fs-theme='northstone'] .fs-hdr-util-item{gap:8px}
[data-fs-theme='northstone'] .fs-hdr-util-note{order:-1;margin-right:auto;color:rgb(var(--c-ink-950))}
[data-fs-theme='northstone'] .fs-hdr-util-address{order:1}
[data-fs-theme='northstone'] .fs-hdr-util-tel{order:2;margin-left:0;font-family:var(--font-display, Rokkitt, Georgia, serif);font-weight:700;font-size:16px;line-height:1;letter-spacing:.02em;color:rgb(var(--c-ink-950))}
[data-fs-theme='northstone'] .fs-hdr-util-dot{display:none}
[data-fs-theme='northstone'] .fs-hdr-util-note::before,[data-fs-theme='northstone'] .fs-hdr-util-hours::before,[data-fs-theme='northstone'] .fs-hdr-util-address::before{content:"";flex:none;width:11px;height:11px;border:1px solid var(--ns-tile-edge)}
[data-fs-theme='northstone'] .fs-hdr-util-note::before{background-color:rgb(var(--c-ink-950) / .34);background-image:radial-gradient(circle at 30% 30%,rgb(var(--c-paper) / .6) 0 1.1px,transparent 1.3px);background-size:5px 5px}
[data-fs-theme='northstone'] .fs-hdr-util-hours::before{background-color:rgb(var(--c-ink-950) / .15);background-image:repeating-linear-gradient(177deg,rgb(var(--c-ink-950) / .16) 0 1px,transparent 1px 4px)}
[data-fs-theme='northstone'] .fs-hdr-util-address::before{background-color:rgb(var(--c-ink-950) / .62);background-image:repeating-linear-gradient(64deg,rgb(var(--c-paper) / .2) 0 1px,transparent 1px 4px)}
@container fs-strip-in (max-width: 58rem){
  [data-fs-theme='northstone'] .fs-hdr-util-address{display:none}
}
@container fs-strip-in (max-width: 47rem){
  [data-fs-theme='northstone'] .fs-hdr-util-note{display:none}
  [data-fs-theme='northstone'] .fs-hdr-util-hours{margin-right:auto}
}
@container (max-width: 40rem){
  [data-fs-theme='northstone'] .fs-hdr-util-in{display:flex;justify-content:center}
  [data-fs-theme='northstone'] .fs-hdr-util-item:not(.fs-hdr-util-tel){display:none}
}
/* The band IS the board: paper-soft, closed by the board's 22% hairline
   (the band's own border). The row keeps the platform's py-4. */
[data-fs-theme='northstone'] .fs-hdr-band{container-type:inline-size;container-name:fs-band;border-bottom:1px solid var(--ns-edge);background:rgb(var(--c-paper-soft))}
[data-fs-theme='northstone'] .fs-hdr-row{min-height:clamp(64px, (100cqi - 760px) * 100, 76px)}
/* The lockup: the walling course (38px) and the name in Rokkitt 700
   capitals, tracked like the engraved plate. */
[data-fs-theme='northstone'] .fs-hdr-row > :first-child{gap:10px;margin-right:auto;padding-right:20px}
[data-fs-theme='northstone'] .fs-hdr-row [data-fs-logo-mark]{width:38px;height:38px}
[data-fs-theme='northstone'] .fs-hdr-row [data-fs-wordmark]{font-size:18px;line-height:1;letter-spacing:.067em;text-transform:uppercase;white-space:nowrap}
/* The button: the family's button (brand fill, tracked Public Sans
   capitals) held by two screws painted at its ends. Its hover fill is
   the platform's own default, --c-brand-700 (R-B6-7), so no hover
   colour is set here; the screws are re-laid over it. */
[data-fs-theme='northstone'] .fs-hdr-cta{--fs-hdr-cta-bg:rgb(var(--c-brand-600));--fs-hdr-cta-fg:var(--fs-on-brand, rgb(var(--c-paper)));--fs-hdr-cta-fg-hover:var(--fs-on-brand, rgb(var(--c-paper)))}
[data-fs-theme='northstone'] .fs-hdr-cta.fs-hdr-cta{flex:none;padding:13px 27px 12px;border-radius:0;background-image:var(--ns-cta-screws);font-weight:700;font-size:12.5px;line-height:1;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
[data-fs-theme='northstone'] .fs-hdr-cta.fs-hdr-cta:hover{background-image:var(--ns-cta-screws)}
[data-fs-theme='northstone'] .fs-hdr-row .fs-hdr-cta{margin-left:18px}
/* The menu button: a small paper plate with the board's hairline; its
   middle bar two stones broken-bonded, like the mark's walling. */
[data-fs-theme='northstone'] .fs-hdr-menu-btn{width:44px;height:44px;margin-left:14px;border:1px solid var(--ns-edge);border-radius:0;background:linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) center calc(50% - 6px)/18px 2px no-repeat,linear-gradient(90deg,rgb(var(--c-brand-600)) 0 7px,transparent 7px 9px,rgb(var(--c-brand-600)) 9px) center/18px 2px no-repeat,linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) center calc(50% + 6px)/18px 2px no-repeat,rgb(var(--c-paper))}
[data-fs-theme='northstone'] .fs-hdr-menu-btn svg{display:none}
/* The shell: no frame; 12px below the band's hairline; the board hangs
   in front of the page, so it throws a shadow. */
[data-fs-theme='northstone'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite){margin-top:12px !important;background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:0 26px 50px -18px rgb(0 0 0 / .35) !important}
[data-fs-theme='northstone'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite)::before{top:-12px;height:12px}
/* Layout tiers (mockup 243–272); desktop only. */
@container fs-band (min-width: 62rem){
  /* Boxed (880; measured against live Rokkitt, not the brief's own
     mockup reference — the static spec page's Google Fonts link has no
     network in this environment and silently falls back to a system
     serif, so its "874px used" was never checked against the real,
     wider face. Padding/gaps/button tightened until the row actually
     fit live (R-B6, Boxed), never the nav's own type size. The same
     live-Rokkitt gap reproduces at Centered and Minimalist below (7
     items is this batch's widest nav), tightened the same way there. */
  @container (max-width: 60rem){
    [data-fs-theme='northstone'] .fs-hdr-row > :first-child{gap:8px;padding-right:14px}
    [data-fs-theme='northstone'] .fs-hdr-row [data-fs-logo-mark]{width:31px;height:31px}
    [data-fs-theme='northstone'] .fs-hdr-row [data-fs-wordmark]{font-size:14.8px}
    /* /preview/view re-pins the wordmark to a fixed 21px/800 via an
       inline style (theme-wordmark.tsx's WORDMARK_FALLBACK, a
       documented, pre-existing gap on that one route only — the editor
       and the published site read this rule with no inline style in
       the way). [data-fs-preview-edit] is the platform's own preview
       hook; precedent in coachwork/forecourt/studio-calm-chrome-styles.ts. */
    [data-fs-theme='northstone'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{font-size:14.8px !important}
    [data-fs-theme='northstone'] .fsmenu-stonePlate-nav{--ns-gap:0px}
    [data-fs-theme='northstone'] .fsmenu-stonePlate{--ns-pad:5px;--ns-fs:16px}
    [data-fs-theme='northstone'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:6px;padding-inline:16px;letter-spacing:.07em}
  }
  /* Centered (784; 777px used): at this spacing a word gap and an item
     gap look alike, so the schedule's column rule divides the items. */
  @container (max-width: 50rem){
    [data-fs-theme='northstone'] .fs-hdr-row > :first-child{gap:7px;padding-right:10px}
    [data-fs-theme='northstone'] .fs-hdr-row [data-fs-logo-mark]{width:26px;height:26px}
    [data-fs-theme='northstone'] .fs-hdr-row [data-fs-wordmark]{font-size:12.4px}
    [data-fs-theme='northstone'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{font-size:12.4px !important}
    [data-fs-theme='northstone'] .fsmenu-stonePlate-nav{--ns-gap:0px}
    [data-fs-theme='northstone'] .fsmenu-stonePlate{--ns-pad:4px;--ns-fs:15px;--ns-igap:4px}
    [data-fs-theme='northstone'] .fsmenu-stonePlate-nav > * + *{box-shadow:-1px 0 0 var(--ns-rule)}
    [data-fs-theme='northstone'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:0;padding-inline:11px;font-size:12px;letter-spacing:.04em}
  }
  /* Minimalist (688; 681px used): the current plate keeps its chip, the
     button keeps both screws. */
  @container (max-width: 44rem){
    [data-fs-theme='northstone'] .fs-hdr-row > :first-child{gap:6px;padding-right:8px}
    [data-fs-theme='northstone'] .fs-hdr-row [data-fs-logo-mark]{width:25px;height:25px}
    [data-fs-theme='northstone'] .fs-hdr-row [data-fs-wordmark]{font-size:11.9px}
    [data-fs-theme='northstone'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{font-size:11.9px !important}
    [data-fs-theme='northstone'] .fsmenu-stonePlate{--ns-pad:1px;--ns-fs:14px;--ns-igap:3px;--ns-chip:8px}
    [data-fs-theme='northstone'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:0;padding-inline:6px;font-size:11.5px;letter-spacing:0}
  }
}
@container (max-width: 34rem){
  [data-fs-theme='northstone'] .fs-hdr-row > :first-child{gap:8px}
  [data-fs-theme='northstone'] .fs-hdr-row [data-fs-logo-mark]{width:30px;height:30px}
  [data-fs-theme='northstone'] .fs-hdr-row [data-fs-wordmark]{font-size:14.3px}
}
/* FIX ROUND 1 (2026-10-03), precedent in waymark/pennant/fenwick-
   chrome-styles.ts etc.: the read-only preview alone renders a visitor
   dark/light toggle (.fs-hdr-mode) plus a fixed-width "Edit Template"
   link (TemplateViewClient.tsx), present on no real site. CDP-measured
   at /preview/view?template=northstone, 390/320: with both still shown
   the menu button's right edge sat at 483px — 93px past the edge even
   at 390 — because this theme's own tracked-capitals wordmark (longer
   than most of this batch's) leaves no room once the preview bar's
   toggle and link are added. [data-fs-preview-edit] is the stable,
   surface-only hook the Edit Template link alone carries; :has()
   reaches up from it so only a row that actually contains it is
   affected — published and editor markup never has the hook. */
@container (max-width: 34rem){
  [data-fs-theme='northstone'] .fs-hdr-row:has([data-fs-preview-edit]) .fs-hdr-mode{display:none}
  [data-fs-theme='northstone'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{display:none}
}
/* A board bar (paper-soft, the hairline under it) with the platform's
   "Menu" on its own engraved plate and a square paper close button;
   then the schedule: a 2px ink rule on top, Rokkitt rows at 52px with
   soft rules between, the current row tinted and led by a 13px chip of
   granite. */
[data-fs-theme='northstone'] .fs-hdr-mobile-head{height:auto;padding:12px 16px;border-bottom:1px solid var(--ns-edge);background:rgb(var(--c-paper-soft))}
[data-fs-theme='northstone'] .fs-hdr-mobile-title{padding:8px 13px 7px;background:rgb(var(--c-paper));border:1px solid var(--ns-plate-edge);font-family:inherit;font-weight:700;font-size:12px;line-height:1;letter-spacing:.2em;text-transform:uppercase;color:rgb(var(--c-ink-950))}
[data-fs-theme='northstone'] .fs-hdr-mobile-close{width:40px;height:40px;background:rgb(var(--c-paper));border:1px solid var(--ns-edge);border-radius:0;color:rgb(var(--c-ink-950))}
[data-fs-theme='northstone'] .fs-hdr-mobile > nav{padding:18px 16px 0}
[data-fs-theme='northstone'] .fs-hdr-mobile-list{border-top:2px solid rgb(var(--c-ink-950))}
[data-fs-theme='northstone'] .fs-hdr-mobile-row{display:flex;align-items:center;border-bottom:1px solid var(--ns-rule)}
[data-fs-theme='northstone'] .fs-hdr-mobile-link:not(.is-sub){display:flex;align-items:center;gap:12px;flex:1;min-height:52px;padding:0 6px;font-family:var(--font-display, Rokkitt, Georgia, serif);font-weight:600;font-size:20px;line-height:1.1;letter-spacing:.01em;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='northstone'] .fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false']){padding-left:12px;background:rgb(var(--fs-nav-active-tint));color:rgb(var(--fs-nav-active-on))}
[data-fs-theme='northstone'] .fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false'])::before{content:"";flex:none;width:13px;height:13px;border:1px solid var(--ns-tile-edge);background-color:rgb(var(--c-ink-950) / .34);background-image:radial-gradient(circle at 30% 30%,rgb(var(--c-paper) / .6) 0 1.2px,transparent 1.5px);background-size:5px 5px}
[data-fs-theme='northstone'] .fs-hdr-mobile-toggle{margin-right:4px;color:rgb(var(--c-ink-950))}
[data-fs-theme='northstone'] .fs-hdr-mobile-sub{padding:12px 0 14px;border-bottom:1px solid var(--ns-rule)}
/* A small board with four screws: the phone in the slab, the yard's
   hours by the family's limestone chip (R-B6-15), then the screwed
   button full width. No fixed labels. The foot sits in the nav's 16px
   padding. */
[data-fs-theme='northstone'] .fs-pmf-northstone{display:grid;gap:10px;margin:18px 0 22px;padding:22px 22px 20px;background:var(--ns-screws),rgb(var(--c-paper-soft));border:1px solid var(--ns-edge)}
[data-fs-theme='northstone'] .fs-pmf-big{margin:0;font-family:var(--font-display, Rokkitt, Georgia, serif);font-weight:700;font-size:26px;line-height:1;font-variant-numeric:tabular-nums;color:rgb(var(--c-ink-950))}
[data-fs-theme='northstone'] .fs-pmf-tel{color:inherit;text-decoration:none}
[data-fs-theme='northstone'] .fs-pmf-hours{display:flex;align-items:flex-start;gap:9px;margin:0;font-size:13.5px;line-height:1.4;color:var(--ns-note-ink);text-wrap:balance}
[data-fs-theme='northstone'] .fs-pmf-chip{flex:none;width:11px;height:11px;margin-top:3px}
[data-fs-theme='northstone'] .fs-pmf .fs-hdr-cta.fs-pmf-cta{display:flex;width:100%;margin:6px 0 0;padding-block:14px 13px}
/* The sample-board mega panel (mapped port of mockup 122–175; the
   family's own .fs-st-tile.is-* / .fs-st-fix / .fs-st-chip draw the
   stones and chips, per R-B6-15 — the drawn-materials rules at 67–79
   are NOT ported here). */
[data-fs-theme='northstone'] .fs-nsm-panel{container-type:inline-size;padding:24px 30px 28px;background:var(--ns-screws),rgb(var(--c-paper-soft));border:1px solid var(--ns-edge)}
[data-fs-theme='northstone'] .fs-nsm-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;padding:0 4px 16px;border-bottom:1px solid var(--ns-rule)}
[data-fs-theme='northstone'] .fs-nsm-eyebrow{font-weight:700;font-size:11px;line-height:1.2;letter-spacing:.18em;text-transform:uppercase;color:rgb(var(--c-ink-700))}
[data-fs-theme='northstone'] .fs-nsm-title{margin:0;font-family:var(--font-display, Rokkitt, 'Roboto Slab', Georgia, serif);font-weight:700;font-size:24px;line-height:1.1;color:rgb(var(--c-ink-950))}
[data-fs-theme='northstone'] .fs-nsm-ref{margin-left:auto;font-weight:600;font-size:12.5px;line-height:1.3;color:var(--ns-note-ink)}
[data-fs-theme='northstone'] .fs-nsm-body{display:grid;grid-template-columns:minmax(0,2.5fr) minmax(0,1.2fr) minmax(0,.95fr);grid-template-rows:auto 1fr;grid-template-areas:"board lay yard" "board dug yard";gap:0 clamp(22px,2.6cqi,40px);padding-top:18px}
[data-fs-theme='northstone'] .fs-nsm-colh{display:block;padding-bottom:9px;margin-bottom:14px;border-bottom:2px solid rgb(var(--c-ink-950));font-weight:700;font-size:11px;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--c-ink-700))}
[data-fs-theme='northstone'] .fs-nsm-board{grid-area:board}
[data-fs-theme='northstone'] .fs-nsm-lay{grid-area:lay}
[data-fs-theme='northstone'] .fs-nsm-dugbox{grid-area:dug}
[data-fs-theme='northstone'] .fs-nsm-yard{grid-area:yard;align-self:start;display:flex;flex-direction:column;gap:8px;padding:16px 18px 18px;background:rgb(var(--c-paper));border:1px solid var(--ns-plate-edge)}
[data-fs-theme='northstone'] .fs-nsm-samples{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.2cqi,20px)}
[data-fs-theme='northstone'] .fs-nsm-sample:nth-child(n+5){display:none}
[data-fs-theme='northstone'] .fs-nsm-sample{display:flex;margin:0}
[data-fs-theme='northstone'] .fs-nsm-sample-a{display:flex;flex-direction:column;width:100%;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='northstone'] .fs-nsm-tile{display:block}
[data-fs-theme='northstone'] .fs-nsm-tile .fs-st-fix{width:7px;height:7px;background:var(--ns-fix);box-shadow:inset 0 0 0 1px var(--ns-fix-rim)}
[data-fs-theme='northstone'] .fs-nsm-tile .fs-st-fix.is-tl{top:7px;left:7px}
[data-fs-theme='northstone'] .fs-nsm-tile .fs-st-fix.is-br{right:7px;bottom:7px}
[data-fs-theme='northstone'] .fs-nsm-sample-a:hover .fs-nsm-tile{border-color:rgb(var(--c-ink-950))}
[data-fs-theme='northstone'] .fs-nsm-bnote{margin:14px 0 0;max-width:60ch;font-size:12.5px;line-height:1.5;color:var(--ns-note-ink)}
[data-fs-theme='northstone'] .fs-nsm-plate{flex:1;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto 1fr;row-gap:3px;margin-top:8px;padding:8px 8px 9px;background:rgb(var(--c-paper));border:1px solid var(--ns-plate-edge)}
[data-fs-theme='northstone'] .fs-nsm-plate-n{font-weight:700;font-size:11px;line-height:1.3;letter-spacing:.1em;text-transform:uppercase}
[data-fs-theme='northstone'] .fs-nsm-sample-a:hover .fs-nsm-plate-n{text-decoration:underline;text-underline-offset:2px}
[data-fs-theme='northstone'] .fs-nsm-plate-m{font-size:11.5px;line-height:1.35;color:var(--ns-note-ink);font-variant-numeric:tabular-nums}
[data-fs-theme='northstone'] .fs-nsm-price{align-self:end;display:flex;align-items:baseline;gap:5px;margin-top:4px;font-family:var(--font-display, Rokkitt, 'Roboto Slab', Georgia, serif);font-weight:700;font-size:22px;line-height:1;font-style:normal;font-variant-numeric:tabular-nums;color:rgb(var(--c-ink-950))}
[data-fs-theme='northstone'] .fs-nsm-unit{font-weight:600;font-size:11.5px;line-height:1;color:var(--ns-note-ink)}
[data-fs-theme='northstone'] .fs-nsm-lay-list{list-style:none;margin:0;padding:0}
[data-fs-theme='northstone'] .fs-nsm-lay-li{padding:0 0 11px;margin-bottom:11px;border-bottom:1px solid var(--ns-rule)}
[data-fs-theme='northstone'] .fs-nsm-lay-a{font-family:var(--font-display, Rokkitt, 'Roboto Slab', Georgia, serif);font-weight:700;font-size:18px;line-height:1.2;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='northstone'] .fs-nsm-lay-a:hover{text-decoration:underline;text-underline-offset:3px}
[data-fs-theme='northstone'] .fs-nsm-lay-p{margin:3px 0 0;max-width:38ch;font-size:13px;line-height:1.45;color:var(--ns-note-ink)}
[data-fs-theme='northstone'] .fs-nsm-dug-h{display:block;margin:4px 0 8px;font-weight:600;font-size:12.5px;line-height:1.3;color:var(--ns-note-ink)}
[data-fs-theme='northstone'] .fs-nsm-dug{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:2px 0 0}
[data-fs-theme='northstone'] .fs-nsm-dug-c{min-width:0;padding:2px 10px 0}
[data-fs-theme='northstone'] .fs-nsm-dug-c:first-child{padding-left:0}
[data-fs-theme='northstone'] .fs-nsm-dug-c + .fs-nsm-dug-c{border-left:1px solid var(--ns-rule)}
[data-fs-theme='northstone'] .fs-nsm-dug-dt{font-weight:700;font-size:10.5px;line-height:1.2;letter-spacing:.12em;text-transform:uppercase;color:rgb(var(--c-ink-700))}
[data-fs-theme='northstone'] .fs-nsm-dug-dd{margin:4px 0 0;font-family:var(--font-display, Rokkitt, 'Roboto Slab', Georgia, serif);font-weight:700;font-size:19px;line-height:1;font-variant-numeric:tabular-nums;color:rgb(var(--c-ink-950))}
[data-fs-theme='northstone'] .fs-nsm-link{display:inline-block;margin-top:14px;font-weight:700;font-size:13px;line-height:1.3;letter-spacing:.02em;color:var(--ns-ink-hi);border-bottom:1.5px solid currentColor;text-decoration:none}
[data-fs-theme='northstone'] .fs-nsm-yard-t{font-family:var(--font-display, Rokkitt, 'Roboto Slab', Georgia, serif);font-weight:700;font-size:19px;line-height:1.15;color:rgb(var(--c-ink-950))}
[data-fs-theme='northstone'] .fs-nsm-yard-n{margin:0;font-size:13px;line-height:1.5;color:var(--ns-note-ink)}
[data-fs-theme='northstone'] .fs-nsm-yard-f{display:flex;align-items:flex-start;gap:9px;margin:0;font-size:13px;line-height:1.4;color:rgb(var(--c-ink-950));font-variant-numeric:tabular-nums}
[data-fs-theme='northstone'] .fs-nsm-chip{flex:none;width:11px;height:11px;margin-top:3px}
[data-fs-theme='northstone'] .fs-nsm-cta{display:flex;align-items:center;justify-content:center;width:100%;margin:6px 0 0;padding:14px 27px 13px;background:var(--ns-cta-screws),rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)));font-weight:700;font-size:12.5px;line-height:1;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;transition:background-color .18s ease}
[data-fs-theme='northstone'] .fs-nsm-cta:hover{background:var(--ns-cta-screws),rgb(var(--c-brand-700))}
/* The board reflows on its own box (the panel less its 1px edge and
   30px padding: 1330 / 1170 / 1090 / 818 / 722 / 626; the phone-menu
   copies ~702 and ~324). BASE (60–76rem): four stones, what we lay, the
   yard plate. WIDE (76rem up): a fifth stone, the tiles the same size.
   MIDDLE (60rem and under): two columns — the stones as schedule rows
   beside what we lay; the yard plate one line across the foot. NARROW
   (30rem, the phone menu): one column. */
@container (min-width: 76rem){
  [data-fs-theme='northstone'] .fs-nsm-body{grid-template-columns:minmax(0,3fr) minmax(0,1.15fr) minmax(0,.95fr)}
  [data-fs-theme='northstone'] .fs-nsm-samples{grid-template-columns:repeat(5,minmax(0,1fr))}
  [data-fs-theme='northstone'] .fs-nsm-sample:nth-child(5){display:flex}
}
@container (max-width: 60rem){
  [data-fs-theme='northstone'] .fs-nsm-body{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-rows:auto 1fr auto;grid-template-areas:"board lay" "board dug" "yard yard"}
  [data-fs-theme='northstone'] .fs-nsm-samples{grid-template-columns:minmax(0,1fr);gap:0}
  [data-fs-theme='northstone'] .fs-nsm-sample-a{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:14px;padding-bottom:9px;margin-bottom:9px;border-bottom:1px solid var(--ns-rule)}
  [data-fs-theme='northstone'] .fs-nsm-tile .fs-st-fix{width:5px;height:5px}
  [data-fs-theme='northstone'] .fs-nsm-tile .fs-st-fix.is-tl{top:4px;left:4px}
  [data-fs-theme='northstone'] .fs-nsm-tile .fs-st-fix.is-br{right:4px;bottom:4px}
  [data-fs-theme='northstone'] .fs-nsm-plate{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:12px;margin:0;padding:0;background:none;border:0}
  [data-fs-theme='northstone'] .fs-nsm-plate-m{grid-column:1}
  [data-fs-theme='northstone'] .fs-nsm-price{grid-column:2;grid-row:1/span 2;align-self:center;flex-direction:column;align-items:flex-end;gap:3px;margin:0}
  [data-fs-theme='northstone'] .fs-nsm-yard{margin-top:20px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px 26px;padding:14px 18px}
  [data-fs-theme='northstone'] .fs-nsm-yard > .fs-nsm-eyebrow{grid-column:1;grid-row:1;align-self:end}
  [data-fs-theme='northstone'] .fs-nsm-yard-t{grid-column:1;grid-row:2;align-self:start;font-size:17px}
  [data-fs-theme='northstone'] .fs-nsm-yard-n{display:none}
  [data-fs-theme='northstone'] .fs-nsm-yard-h{grid-column:2;grid-row:1;align-self:end}
  [data-fs-theme='northstone'] .fs-nsm-yard-a{grid-column:2;grid-row:2;align-self:start}
  [data-fs-theme='northstone'] .fs-nsm-yard .fs-nsm-cta{grid-column:3;grid-row:1/span 2;width:auto;margin:0;padding-inline:28px}
}
@container (max-width: 30rem){
  [data-fs-theme='northstone'] .fs-nsm-body{grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-template-areas:"board" "lay" "dug" "yard"}
  [data-fs-theme='northstone'] .fs-nsm-sample-a{grid-template-columns:40px minmax(0,1fr);gap:12px}
}
/* The same board in the phone menu: the head, the notes, the depths and
   the yard plate go; the stones become rows with their prices, then the
   three things we lay. */
[data-fs-theme='northstone'] .fs-hdr-mobile .fs-nsm-panel{padding:18px 16px 16px;border-color:var(--ns-plate-edge)}
[data-fs-theme='northstone'] .fs-hdr-mobile .fs-nsm-head,[data-fs-theme='northstone'] .fs-hdr-mobile .fs-nsm-yard,[data-fs-theme='northstone'] .fs-hdr-mobile .fs-nsm-lay-p,[data-fs-theme='northstone'] .fs-hdr-mobile .fs-nsm-dugbox,[data-fs-theme='northstone'] .fs-hdr-mobile .fs-nsm-bnote{display:none}
[data-fs-theme='northstone'] .fs-hdr-mobile .fs-nsm-body{padding-top:0}
[data-fs-theme='northstone'] .fs-hdr-mobile .fs-nsm-lay-a{font-size:17px}
@media (prefers-reduced-motion: reduce){
  [data-fs-theme='northstone'] .fs-hdr-cta,[data-fs-theme='northstone'] .fs-nsm-cta{transition:none}
}


/* Tokens (mockup 46–47), FULL colours. --ts-rule: hairlines and chip
   edges; --ts-edge: the boards' 2px outline; --ts-ray / --ts-ray-hdr:
   the sunburst and the halo behind the mark; --ts-stud: a resting
   wristband dot; --ts-band: the current page's band edge; --ts-wash:
   the family ticket's ground; --ts-tray: the price tiles' ground;
   --ts-sh-s / --ts-sh-xs / --ts-sh-m: the plywood cutout's hard shadows
   (ink in light, black at alpha in dark). */
[data-fs-theme='turnstile']{--fs-chrome-mode:light;--ts-rule:rgb(var(--c-ink-950) / .13);--ts-edge:rgb(var(--c-ink-950) / .55);--ts-ray:rgb(var(--c-ink-950) / .05);--ts-ray-hdr:rgb(var(--c-brand-600) / .24);--ts-stud:rgb(var(--c-ink-950) / .28);--ts-band:rgb(var(--c-brand-600) / .55);--ts-wash:color-mix(in srgb, rgb(var(--c-brand-600)) 9%, rgb(var(--c-paper-soft)));--ts-tray:color-mix(in srgb, rgb(var(--c-paper)) 60%, rgb(var(--c-paper-soft)));--ts-sh-s:3px 3px 0 rgb(var(--c-ink-950) / .88);--ts-sh-xs:1px 1px 0 rgb(var(--c-ink-950) / .88);--ts-sh-m:7px 7px 0 rgb(var(--c-ink-950) / .2)}
[data-fs-theme='turnstile'].dark{--fs-chrome-mode:dark;--ts-rule:rgb(var(--c-ink-950) / .16);--ts-edge:rgb(var(--c-ink-950) / .42);--ts-ray:rgb(var(--c-ink-950) / .07);--ts-ray-hdr:rgb(var(--c-brand-600) / .26);--ts-sh-s:3px 3px 0px rgb(0 0 0 / .7);--ts-sh-xs:1px 1px 0px rgb(0 0 0 / .7);--ts-sh-m:7px 7px 0px rgb(0 0 0 / .45)}
/* The strip: the gatehouse notice on the surface. The note rides in the
   ride-zone lozenge (an ink pill of spaced page capitals); the hours
   follow the planner's clock (the platform's hours dot, redrawn as a
   masked icon in brand ink); the village and the phone in the slab sit
   at the right. The line is the named container fs-strip-in. */
[data-fs-theme='turnstile'] .fs-hdr-util{container-type:inline-size;background:rgb(var(--c-paper-soft));border-bottom:1px solid var(--ts-rule);font-weight:600;font-size:13px;line-height:1.2;color:rgb(var(--c-ink-700))}
[data-fs-theme='turnstile'] .fs-hdr-util-in{container-type:inline-size;container-name:fs-strip-in;display:flex;align-items:center;gap:20px;min-height:0;padding-block:7px;border-bottom:0;color:inherit}
[data-fs-theme='turnstile'] .fs-hdr-util-note,[data-fs-theme='turnstile'] .fs-hdr-util-hours,[data-fs-theme='turnstile'] .fs-hdr-util-address{display:inline-flex}
[data-fs-theme='turnstile'] .fs-hdr-util-note{order:-2;flex:none;padding:5px 12px;border-radius:999px;background:rgb(var(--c-ink-950));color:rgb(var(--c-paper));font-weight:700;font-size:11px;line-height:1.1;letter-spacing:.09em;text-transform:uppercase}
[data-fs-theme='turnstile'] .fs-hdr-util-hours{order:-1;gap:7px}
[data-fs-theme='turnstile'] .fs-hdr-util-dot{width:17px;height:17px;border-radius:0;background:rgb(var(--c-brand-text));-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 7v5.2l3.2 2'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 7v5.2l3.2 2'/%3E%3C/svg%3E") center/contain no-repeat}
[data-fs-theme='turnstile'] .fs-hdr-util-address{margin-left:auto}
[data-fs-theme='turnstile'] .fs-hdr-util-tel{margin-left:0;font-family:var(--font-display, 'Alfa Slab One', Georgia, serif);font-weight:400;font-size:14.5px;line-height:1;letter-spacing:.02em;color:rgb(var(--c-ink-950))}
@container fs-strip-in (max-width: 50rem){
  [data-fs-theme='turnstile'] .fs-hdr-util-address{display:none}
  [data-fs-theme='turnstile'] .fs-hdr-util-tel{margin-left:auto}
}
/* FIX ROUND 1 (2026-10-03), precedent in northstone-chrome-styles.ts's
   own equivalent 47rem rule: CDP-measured on the editor's simulated
   tablet canvas (768px/48rem, inside the 50rem address-hide above but
   outside the 40rem tel-only below) — the note and the hours still
   wrapped onto three lines there, and dropping the note alone left
   hours (a long sentence) and the phone fighting over two. Both the
   note and the hours go at this width, same as the address, leaving
   only the phone — effectively widening the 40rem tel-only rule below
   to cover the tablet canvas too. */
@container fs-strip-in (max-width: 48.5rem){
  [data-fs-theme='turnstile'] .fs-hdr-util-note,[data-fs-theme='turnstile'] .fs-hdr-util-hours{display:none}
  [data-fs-theme='turnstile'] .fs-hdr-util-tel{margin-left:auto}
}
@container (max-width: 40rem){
  [data-fs-theme='turnstile'] .fs-hdr-util-in{display:flex;justify-content:center}
  [data-fs-theme='turnstile'] .fs-hdr-util-item:not(.fs-hdr-util-tel){display:none}
  [data-fs-theme='turnstile'] .fs-hdr-util-tel{margin-left:0}
}
/* The band: the desktop gate, closed by the board's 2px outline (its own
   border). The row keeps the platform's py-4. */
[data-fs-theme='turnstile'] .fs-hdr-band{container-type:inline-size;container-name:fs-band;border-bottom:2px solid var(--ts-edge);background:rgb(var(--c-paper))}
[data-fs-theme='turnstile'] .fs-hdr-row{min-height:clamp(70px, (100cqi - 760px) * 100, 84px)}
/* The lockup: the big wheel (54px) IS the sun — the board's sixteen rays
   fan out from its hub in the brand and fade a third of its width beyond
   it (a masked ::before, so the halo has no edge); its missing accent
   fills read the palette's accent (R-B6-8). The name in Alfa Slab One,
   held to 7.4em so it stacks into a two-line signboard. */
[data-fs-theme='turnstile'] .fs-hdr-row > :first-child{gap:12px;margin-right:auto;padding-right:20px}
[data-fs-theme='turnstile'] .fs-hdr-row [data-fs-logo-mark]{position:relative;isolation:isolate;width:54px;height:54px}
[data-fs-theme='turnstile'] .fs-hdr-row [data-fs-logo-mark]::before{content:"";position:absolute;inset:-32%;z-index:-1;border-radius:50%;background:repeating-conic-gradient(from -4.7deg at 50% 48%,var(--ts-ray-hdr) 0deg 9.45deg,transparent 9.45deg 22.5deg);-webkit-mask:radial-gradient(closest-side,rgb(var(--c-ink-950)) 38%,transparent);mask:radial-gradient(closest-side,rgb(var(--c-ink-950)) 38%,transparent)}
[data-fs-theme='turnstile'] .fs-hdr-row [data-fs-logo-mark] [fill*='accent-600']{fill:rgb(var(--c-accent, var(--c-brand-600)))}
[data-fs-theme='turnstile'] .fs-hdr-row [data-fs-wordmark]{max-width:7.4em;font-size:21px;line-height:.98;white-space:normal;text-wrap:balance}
/* The button: a painted plywood sign — brand fill, the solved label
   colour in the slab, 12px corners, a hard 3px shadow; on hover it sinks
   onto its shadow and darkens through the platform's own default hover
   shade, left deliberately unset here (R-B6-7). */
[data-fs-theme='turnstile'] .fs-hdr-cta{--fs-hdr-cta-bg:rgb(var(--c-brand-600));--fs-hdr-cta-fg:var(--fs-on-brand, rgb(var(--c-paper)));--fs-hdr-cta-fg-hover:var(--fs-on-brand, rgb(var(--c-paper)))}
[data-fs-theme='turnstile'] .fs-hdr-cta.fs-hdr-cta{flex:none;padding:13px 18px 14px;border-radius:12px;font-family:var(--font-display, 'Alfa Slab One', Georgia, serif);font-weight:400;font-size:15.5px;line-height:1;letter-spacing:.015em;white-space:nowrap;box-shadow:var(--ts-sh-s);transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease}
[data-fs-theme='turnstile'] .fs-hdr-cta.fs-hdr-cta:hover{transform:translate(2px,2px);box-shadow:var(--ts-sh-xs)}
[data-fs-theme='turnstile'] .fs-hdr-row .fs-hdr-cta{margin-left:18px}
/* The menu button: a round sign (2px edge, the surface, the hard
   shadow); its middle bar shorter and in the brand. */
[data-fs-theme='turnstile'] .fs-hdr-menu-btn{width:46px;height:46px;margin-left:14px;border:2px solid var(--ts-edge);border-radius:50%;box-shadow:var(--ts-sh-s);background:linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) center calc(50% - 6.5px)/18px 2.5px no-repeat,linear-gradient(rgb(var(--c-brand-600)),rgb(var(--c-brand-600))) center/10px 2.5px no-repeat,linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) center calc(50% + 6.5px)/18px 2.5px no-repeat,rgb(var(--c-paper-soft))}
[data-fs-theme='turnstile'] .fs-hdr-menu-btn svg{display:none}
/* The shell: no frame; 14px below the band's edge; the board's round
   corners and its hard 7px shadow plus a soft drop. */
[data-fs-theme='turnstile'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite){margin-top:14px !important;background:transparent !important;border:0 !important;border-radius:18px !important;box-shadow:var(--ts-sh-m),0 30px 60px -30px rgb(0 0 0 / .35) !important}
[data-fs-theme='turnstile'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite)::before{top:-14px;height:14px}
/* Layout tiers (mockup 263–291); desktop only. */
@container fs-band (min-width: 62rem){
  /* Boxed (880; 872px used). */
  @container (max-width: 60rem){
    [data-fs-theme='turnstile'] .fs-hdr-row > :first-child{padding-right:14px}
    [data-fs-theme='turnstile'] .fs-hdr-row [data-fs-wordmark]{font-size:20px}
    /* /preview/view re-pins the wordmark to a fixed 21px via an inline
       style (theme-wordmark.tsx's WORDMARK_FALLBACK, a documented,
       pre-existing gap on that one route only — precedent in
       coachwork/northstone/studio-calm-chrome-styles.ts). [data-fs-preview-edit]
       is the platform's own preview hook. */
    [data-fs-theme='turnstile'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{font-size:20px !important}
    [data-fs-theme='turnstile'] .fsmenu-wristband-nav{--ts-gap:2px}
    [data-fs-theme='turnstile'] .fsmenu-wristband{--ts-px:11px}
    [data-fs-theme='turnstile'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:14px;padding-inline:16px}
  }
  /* Centered (784; 780px used). FIX ROUND 1 (2026-10-03), precedent in
     waymark/oriel-chrome-styles.ts's own Round 1: the mockup's own
     50rem boundary assumed the row's OUTER width tracks its CONTENT
     width; live CDP measurement (not the preview route) found this
     platform's real Centered row at 832px/52rem outer (776px content —
     within a few px of the mockup's own 780), so the 50rem query below
     never fired on its own and the row sat in Boxed's wider spacing,
     overflowing the CTA by 13px. The same numbers are duplicated onto
     this wider 52.5rem query so they actually apply at the real width;
     the canonical 50rem query stays, unchanged from the mockup, both
     for a container that genuinely does reach it and for engine-README
     §4's own tier-boundary check. Never the nav item's own font-size. */
  @container (max-width: 52.5rem){
    [data-fs-theme='turnstile'] .fs-hdr-row > :first-child{gap:10px;padding-right:10px}
    [data-fs-theme='turnstile'] .fs-hdr-row [data-fs-logo-mark]{width:46px;height:46px}
    [data-fs-theme='turnstile'] .fs-hdr-row [data-fs-wordmark]{font-size:18px}
    [data-fs-theme='turnstile'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{font-size:18px !important}
    [data-fs-theme='turnstile'] .fsmenu-wristband{--ts-px:9px;--ts-igap:7px;--ts-fs:14px}
    [data-fs-theme='turnstile'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:10px;padding:12px 13px 13px;font-size:14px}
  }
  @container (max-width: 50rem){
    [data-fs-theme='turnstile'] .fs-hdr-row > :first-child{gap:10px;padding-right:10px}
    [data-fs-theme='turnstile'] .fs-hdr-row [data-fs-logo-mark]{width:46px;height:46px}
    [data-fs-theme='turnstile'] .fs-hdr-row [data-fs-wordmark]{font-size:18px}
    [data-fs-theme='turnstile'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{font-size:18px !important}
    [data-fs-theme='turnstile'] .fsmenu-wristband{--ts-px:9px;--ts-igap:7px;--ts-fs:14px}
    [data-fs-theme='turnstile'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:10px;padding:12px 13px 13px;font-size:14px}
  }
  /* Minimalist (688; 679px used, 9px to spare on the mockup's own
     model): the resting studs go; the current page, a hovered link and
     the open trigger keep theirs. FIX ROUND 1 (2026-10-03), same cause
     and precedent as Centered just above — live CDP measurement found
     this platform's real Minimalist row at 736px/46rem outer (680px
     content), past the mockup's 44rem boundary, so it sat in Centered's
     spacing (sized for a 776px row) and overflowed by 10px. The same
     numbers are duplicated onto this wider 46.5rem query so they
     actually apply at the real width; the canonical 44rem query stays
     below, unchanged from the mockup. */
  @container (max-width: 46.5rem){
    [data-fs-theme='turnstile'] .fs-hdr-row > :first-child{gap:8px;padding-right:8px}
    [data-fs-theme='turnstile'] .fs-hdr-row [data-fs-logo-mark]{width:42px;height:42px}
    [data-fs-theme='turnstile'] .fs-hdr-row [data-fs-wordmark]{font-size:16px}
    [data-fs-theme='turnstile'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{font-size:16px !important}
    [data-fs-theme='turnstile'] .fsmenu-wristband{--ts-px:8px;--ts-igap:6px;--ts-fs:13px}
    [data-fs-theme='turnstile'] .fsmenu-wristband::before{display:none}
    [data-fs-theme='turnstile'] .fsmenu-wristband:hover::before,[data-fs-theme='turnstile'] .fsmenu-wristband:focus-visible::before,[data-fs-theme='turnstile'] .fs-hdr-group[data-open] > .fsmenu-wristband::before{display:block}
    [data-fs-theme='turnstile'] .fsmenu-wristband[aria-current]:not([aria-current='false'])::before{display:block;width:7px;height:7px}
    [data-fs-theme='turnstile'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:8px;padding:11px 10px 12px;font-size:13px}
  }
  @container (max-width: 44rem){
    [data-fs-theme='turnstile'] .fs-hdr-row > :first-child{gap:8px;padding-right:8px}
    [data-fs-theme='turnstile'] .fs-hdr-row [data-fs-logo-mark]{width:42px;height:42px}
    [data-fs-theme='turnstile'] .fs-hdr-row [data-fs-wordmark]{font-size:16px}
    [data-fs-theme='turnstile'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{font-size:16px !important}
    [data-fs-theme='turnstile'] .fsmenu-wristband{--ts-px:8px;--ts-igap:6px;--ts-fs:13px}
    [data-fs-theme='turnstile'] .fsmenu-wristband::before{display:none}
    [data-fs-theme='turnstile'] .fsmenu-wristband:hover::before,[data-fs-theme='turnstile'] .fsmenu-wristband:focus-visible::before,[data-fs-theme='turnstile'] .fs-hdr-group[data-open] > .fsmenu-wristband::before{display:block}
    [data-fs-theme='turnstile'] .fsmenu-wristband[aria-current]:not([aria-current='false'])::before{display:block;width:7px;height:7px}
    [data-fs-theme='turnstile'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{margin-left:8px;padding:11px 10px 12px;font-size:13px}
  }
}
@container (max-width: 34rem){
  [data-fs-theme='turnstile'] .fs-hdr-row [data-fs-logo-mark]{width:44px;height:44px}
  [data-fs-theme='turnstile'] .fs-hdr-row [data-fs-wordmark]{font-size:18px}
}
/* The read-only preview alone renders a visitor dark/light toggle
   (.fs-hdr-mode) plus a fixed-width "Edit Template" link
   (TemplateViewClient.tsx), present on no real site. CDP-measured at
   /preview/view?template=turnstile, 390/320: with both still shown the
   menu button's right edge sits past the window edge, because the gap
   they need is never reclaimed from a published page. [data-fs-preview-edit]
   is the stable, surface-only hook the Edit Template link alone
   carries; :has() reaches up from it so only a row that actually
   contains it is affected — published and editor markup never has the
   hook. Precedent in waymark/pennant/fenwick/northstone-chrome-styles.ts. */
@container (max-width: 34rem){
  [data-fs-theme='turnstile'] .fs-hdr-row:has([data-fs-preview-edit]) .fs-hdr-mode{display:none}
  [data-fs-theme='turnstile'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{display:none}
}
/* The head: the platform's "Menu" in the slab, led by an 11px brand
   stud, on the surface over the board's 2px edge; the close button the
   round sign. Slab lines with a resting stud each; the current page
   wears the band across its row; an open group's stud fills. */
[data-fs-theme='turnstile'] .fs-hdr-mobile-head{height:auto;padding:14px 18px;border-bottom:2px solid var(--ts-edge);background:rgb(var(--c-paper-soft))}
[data-fs-theme='turnstile'] .fs-hdr-mobile-title{display:inline-flex;align-items:center;gap:11px;font-family:var(--font-display, 'Alfa Slab One', Georgia, serif);font-weight:400;font-size:24px;line-height:1;color:rgb(var(--c-ink-950))}
[data-fs-theme='turnstile'] .fs-hdr-mobile-title::before{content:"";flex:none;width:11px;height:11px;border-radius:50%;background:rgb(var(--c-brand-600))}
[data-fs-theme='turnstile'] .fs-hdr-mobile-close{width:44px;height:44px;border:2px solid var(--ts-edge);border-radius:50%;background:rgb(var(--c-paper-soft));box-shadow:var(--ts-sh-s);color:rgb(var(--c-ink-950))}
[data-fs-theme='turnstile'] .fs-hdr-mobile > nav{padding:8px 16px 0}
[data-fs-theme='turnstile'] .fs-hdr-mobile-row{display:flex;align-items:center;border-bottom:1px solid var(--ts-rule)}
[data-fs-theme='turnstile'] .fs-hdr-mobile-row:has(.fs-hdr-mobile-link[aria-current]:not([aria-current='false'])){border-bottom-color:transparent}
[data-fs-theme='turnstile'] .fs-hdr-mobile-link:not(.is-sub){display:flex;align-items:center;gap:13px;flex:1;min-height:56px;padding-inline:14px;border:2px solid transparent;font-family:var(--font-display, 'Alfa Slab One', Georgia, serif);font-weight:400;font-size:21px;line-height:1.1;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='turnstile'] .fs-hdr-mobile-link:not(.is-sub)::before{content:"";flex:none;width:10px;height:10px;border-radius:50%;background:var(--ts-stud)}
[data-fs-theme='turnstile'] .fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false']){margin-block:4px;border-color:var(--ts-band);border-radius:999px;background:rgb(var(--fs-nav-active-tint));color:rgb(var(--fs-nav-active-on))}
[data-fs-theme='turnstile'] .fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false'])::before,[data-fs-theme='turnstile'] .fs-hdr-mobile-row:has(.fs-hdr-mobile-toggle[aria-expanded='true']) .fs-hdr-mobile-link:not(.is-sub)::before{background:rgb(var(--c-brand-600))}
[data-fs-theme='turnstile'] .fs-hdr-mobile-toggle{margin-right:6px;color:rgb(var(--c-ink-950))}
[data-fs-theme='turnstile'] .fs-hdr-mobile-sub{padding:12px 0 14px;border-bottom:1px solid var(--ts-rule)}
/* A small gate board (2px edge, 16px corners, the sunburst rising from
   below its foot, the hard 7px shadow): the strip's note in the lozenge,
   the hours by the clock, the phone in the slab; then the plywood sign
   full width, 17px. No fixed labels. The foot sits in the nav's 16px
   padding. */
[data-fs-theme='turnstile'] .fs-pmf-turnstile{display:grid;gap:16px;margin-top:auto;padding:20px 0 26px}
[data-fs-theme='turnstile'] .fs-pmf-gate{display:grid;justify-items:start;gap:8px;padding:16px 18px 18px;border:2px solid var(--ts-edge);border-radius:16px;background:repeating-conic-gradient(from -4.7deg at 50% 125%,var(--ts-ray) 0deg 9.45deg,transparent 9.45deg 22.5deg),rgb(var(--c-paper-soft));box-shadow:var(--ts-sh-m)}
[data-fs-theme='turnstile'] .fs-pmf-note{margin:0;padding:5px 12px;border-radius:999px;background:rgb(var(--c-ink-950));color:rgb(var(--c-paper));font-weight:700;font-size:11px;line-height:1.1;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}
[data-fs-theme='turnstile'] .fs-pmf-hours{display:inline-flex;align-items:center;gap:7px;margin:0;font-weight:700;font-size:14.5px;line-height:1.35;color:rgb(var(--c-ink-700))}
[data-fs-theme='turnstile'] .fs-pmf-clock{flex:none;width:18px;height:18px;fill:none;stroke:rgb(var(--c-brand-text));stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
[data-fs-theme='turnstile'] .fs-pmf-big{margin:0;font-family:var(--font-display, 'Alfa Slab One', Georgia, serif);font-weight:400;font-size:28px;line-height:1.05;color:rgb(var(--c-brand-text))}
[data-fs-theme='turnstile'] .fs-pmf-tel{color:inherit;text-decoration:none}
[data-fs-theme='turnstile'] .fs-pmf .fs-hdr-cta.fs-pmf-cta{display:flex;width:100%;margin:0;padding-block:16px 17px;font-size:17px}
/* The panel is the board: a 2px edge, 18px corners, the sunburst on the
   surface (its point at 17% 44%, behind the price board). --tsm-gut, the
   one gutter (2.2% of the panel, 18 to 32px), is resolved where it is
   used, so its cqi reads the panel. The shadows are on the shell. */
[data-fs-theme='turnstile'] .fs-tsm-panel{--tsm-gut:clamp(18px,2.2cqi,32px);container-type:inline-size;position:relative;isolation:isolate;overflow:hidden;border:2px solid var(--ts-edge);border-radius:18px;background:repeating-conic-gradient(from -4.7deg at 17% 44%,var(--ts-ray) 0deg 9.45deg,transparent 9.45deg 22.5deg),rgb(var(--c-paper-soft))}
/* The board, mapped port of mockup 106–176. --tsm-months (default 4)
   sets the season's column count; the phone menu and the narrowest tier
   turn it up. The band chip is geometry/type only — its dot's ink per
   band is the Gate set's own .fs-gate-chip.is-* (R-B6-16), not ported
   here (mockup 130–134 skipped, per the brief). */
[data-fs-theme='turnstile'] .fs-tsm-grid{display:grid;grid-template-columns:minmax(0,1.35fr) repeat(3,minmax(0,1fr))}
[data-fs-theme='turnstile'] .fs-tsm-col{display:flex;flex-direction:column;min-width:0;padding:22px var(--tsm-gut) 22px;border-left:1px solid var(--ts-rule)}
[data-fs-theme='turnstile'] .fs-tsm-col:first-child{border-left:0}
[data-fs-theme='turnstile'] .fs-tsm-eyebrow{margin:0;font-weight:700;font-size:11.5px;line-height:1.2;letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--c-brand-text))}
[data-fs-theme='turnstile'] .fs-tsm-mh{margin:6px 0 0;max-width:16em;font-weight:400;font-size:19px;line-height:1.18;font-family:var(--font-display, 'Alfa Slab One', Georgia, serif);color:rgb(var(--c-ink-950));text-wrap:balance}
[data-fs-theme='turnstile'] .fs-tsm-prices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}
[data-fs-theme='turnstile'] .fs-tsm-price{display:grid;align-content:start;gap:3px;padding:12px 10px 13px;border:1px solid var(--ts-rule);border-radius:14px;background:var(--ts-tray);text-align:center}
[data-fs-theme='turnstile'] .fs-tsm-price-l{font-weight:700;font-size:12.5px;line-height:1.3;color:rgb(var(--c-ink-700))}
[data-fs-theme='turnstile'] .fs-tsm-price-v{font-weight:400;font-size:31px;line-height:1.05;font-family:var(--font-display, 'Alfa Slab One', Georgia, serif);color:rgb(var(--c-brand-text))}
[data-fs-theme='turnstile'] .fs-tsm-price-n{margin:0;font-weight:600;font-size:12px;line-height:1.3;font-style:normal;color:rgb(var(--c-ink-700))}
[data-fs-theme='turnstile'] .fs-tsm-family{display:grid;gap:4px;margin-top:12px;padding:13px 16px 14px;border:2px dashed rgb(var(--c-accent, var(--c-brand-600)));border-radius:14px;background:var(--ts-wash)}
[data-fs-theme='turnstile'] .fs-tsm-fam-v{font-weight:400;font-size:21px;line-height:1.15;font-family:var(--font-display, 'Alfa Slab One', Georgia, serif);color:rgb(var(--c-brand-text))}
[data-fs-theme='turnstile'] .fs-tsm-fam-n{max-width:40ch;font-weight:600;font-size:13px;line-height:1.45;color:rgb(var(--c-ink-700))}
[data-fs-theme='turnstile'] .fs-tsm-bands{display:grid;list-style:none;padding:0;margin:14px 0 0}
[data-fs-theme='turnstile'] .fs-tsm-band{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px 9px;padding-block:9px;border-bottom:1px solid var(--ts-rule)}
[data-fs-theme='turnstile'] .fs-tsm-band:first-child{border-top:1px solid var(--ts-rule)}
[data-fs-theme='turnstile'] .fs-tsm-chip{gap:.45em;padding:.2em .8em .22em .65em;border-color:var(--ts-rule);background:rgb(var(--c-paper));font-weight:700;font-size:13px;line-height:1.2;color:rgb(var(--c-ink-950))}
[data-fs-theme='turnstile'] .fs-tsm-chip::before{width:.6em;height:.6em}
[data-fs-theme='turnstile'] .fs-tsm-bh{font-weight:600;font-size:13px;line-height:1.3;color:rgb(var(--c-ink-700))}
[data-fs-theme='turnstile'] .fs-tsm-bc{margin:0;font-weight:400;font-size:15px;line-height:1;font-family:var(--font-display, 'Alfa Slab One', Georgia, serif);color:rgb(var(--c-ink-950));white-space:nowrap}
[data-fs-theme='turnstile'] .fs-tsm-br{grid-column:1/-1;margin-top:-1px;font-weight:600;font-size:12.5px;line-height:1.35;color:rgb(var(--c-ink-700))}
[data-fs-theme='turnstile'] .fs-tsm-bands{margin-bottom:14px}
[data-fs-theme='turnstile'] .fs-tsm-bnote{display:grid;justify-items:start;margin-top:auto}
[data-fs-theme='turnstile'] .fs-tsm-bnote-p{margin:0;max-width:30ch;font-weight:600;font-size:13px;line-height:1.45;color:rgb(var(--c-ink-700))}
[data-fs-theme='turnstile'] .fs-tsm-link{align-self:flex-start;margin-top:10px;font-weight:700;font-size:14px;line-height:1.3;color:rgb(var(--c-brand-text));text-decoration-line:underline;text-decoration-color:rgb(var(--c-accent, var(--c-brand-600)));text-decoration-thickness:2px;text-underline-offset:4px}
[data-fs-theme='turnstile'] .fs-tsm-season{display:grid;grid-template-columns:repeat(var(--tsm-months,4),minmax(0,1fr));gap:5px;margin-top:16px}
[data-fs-theme='turnstile'] .fs-tsm-month{display:grid;place-items:center;gap:1px;padding:6px 2px 5px;border:1px solid var(--ts-rule);border-radius:8px;background:rgb(var(--c-paper-soft));font-weight:700;font-size:12px;line-height:1.15;color:rgb(var(--c-ink-400));text-align:center}
[data-fs-theme='turnstile'] .fs-tsm-month-s{font-size:10.5px;font-style:normal;font-weight:600}
[data-fs-theme='turnstile'] .fs-tsm-month.is-daily{border-color:rgb(var(--c-brand-600) / .5);background:rgb(var(--c-brand-50));color:rgb(var(--c-ink-950))}
[data-fs-theme='turnstile'] .fs-tsm-month.is-weekends{border-color:rgb(var(--c-accent, var(--c-brand-600)) / .65);color:rgb(var(--c-ink-700))}
[data-fs-theme='turnstile'] .fs-tsm-month.is-events{border-style:dashed;border-color:rgb(var(--c-accent, var(--c-brand-600)));color:rgb(var(--c-ink-700))}
[data-fs-theme='turnstile'] .fs-tsm-key{display:grid;gap:5px;margin-top:12px;font-weight:600;font-size:12.5px;line-height:1.3;color:rgb(var(--c-ink-700))}
[data-fs-theme='turnstile'] .fs-tsm-key-i{display:inline-flex;align-items:center;gap:7px}
[data-fs-theme='turnstile'] .fs-tsm-sw{margin:0;flex:none;width:12px;height:12px;border:1px solid var(--ts-rule);border-radius:3px;font-style:normal}
[data-fs-theme='turnstile'] .fs-tsm-sw.is-daily{border-color:rgb(var(--c-brand-600) / .5);background:rgb(var(--c-brand-50))}
[data-fs-theme='turnstile'] .fs-tsm-sw.is-weekends{border-color:rgb(var(--c-accent, var(--c-brand-600)))}
[data-fs-theme='turnstile'] .fs-tsm-sw.is-events{border:1.5px dashed rgb(var(--c-accent, var(--c-brand-600)))}
[data-fs-theme='turnstile'] .fs-tsm-today{display:grid;gap:4px;margin:auto 0 0;padding-top:14px;border-top:1px solid var(--ts-rule)}
[data-fs-theme='turnstile'] .fs-tsm-col-season .fs-tsm-key{margin-bottom:16px}
[data-fs-theme='turnstile'] .fs-tsm-today-v{font-weight:400;font-size:24px;line-height:1.05;font-family:var(--font-display, 'Alfa Slab One', Georgia, serif);color:rgb(var(--c-brand-text));font-variant-numeric:tabular-nums}
[data-fs-theme='turnstile'] .fs-tsm-today-n{max-width:30ch;font-weight:600;font-size:13px;line-height:1.45;color:rgb(var(--c-ink-700))}
[data-fs-theme='turnstile'] .fs-tsm-proms{display:grid;list-style:none;padding:0;margin:12px 0 0}
[data-fs-theme='turnstile'] .fs-tsm-prom{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;padding-block:9px;border-bottom:1px solid var(--ts-rule)}
[data-fs-theme='turnstile'] .fs-tsm-prom:last-child{border-bottom:0}
[data-fs-theme='turnstile'] .fs-tsm-ico{width:24px;height:24px;color:rgb(var(--c-brand-text))}
[data-fs-theme='turnstile'] .fs-tsm-prom-t{display:block;margin:0;font-weight:700;font-size:14.5px;line-height:1.3;color:rgb(var(--c-ink-950))}
[data-fs-theme='turnstile'] .fs-tsm-prom-p{margin:2px 0 0;max-width:34ch;font-weight:500;font-size:13px;line-height:1.45;color:rgb(var(--c-ink-700))}
[data-fs-theme='turnstile'] .fs-tsm-small{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;padding:12px var(--tsm-gut) 13px;border-top:1px solid var(--ts-rule);background:var(--ts-tray)}
[data-fs-theme='turnstile'] .fs-tsm-sp{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:13px;line-height:1.3;color:rgb(var(--c-ink-700))}
[data-fs-theme='turnstile'] .fs-tsm-sp::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:rgb(var(--c-accent, var(--c-brand-600)))}
[data-fs-theme='turnstile'] .fs-tsm-sp.is-x{display:none}
[data-fs-theme='turnstile'] .fs-tsm-small .fs-tsm-link{margin:0 0 0 auto}
/* The same composite in the phone menu: the board keeps its edge; its
   heads, price notes, the family sentence, the ride lines, the finder's
   note, the promises, the key, today's hours and the small print go;
   the season runs across the board. */
[data-fs-theme='turnstile'] .fs-hdr-mobile .fs-tsm-panel{border-radius:14px}
[data-fs-theme='turnstile'] .fs-hdr-mobile .fs-tsm-mh,[data-fs-theme='turnstile'] .fs-hdr-mobile .fs-tsm-price-n,[data-fs-theme='turnstile'] .fs-hdr-mobile .fs-tsm-fam-n,[data-fs-theme='turnstile'] .fs-hdr-mobile .fs-tsm-col-plan,[data-fs-theme='turnstile'] .fs-hdr-mobile .fs-tsm-key,[data-fs-theme='turnstile'] .fs-hdr-mobile .fs-tsm-today,[data-fs-theme='turnstile'] .fs-hdr-mobile .fs-tsm-small,[data-fs-theme='turnstile'] .fs-hdr-mobile .fs-tsm-bnote-p,[data-fs-theme='turnstile'] .fs-hdr-mobile .fs-tsm-br{display:none}
[data-fs-theme='turnstile'] .fs-hdr-mobile .fs-tsm-bands{margin-bottom:4px}
[data-fs-theme='turnstile'] .fs-hdr-mobile .fs-tsm-col{padding-block:16px}
[data-fs-theme='turnstile'] .fs-hdr-mobile .fs-tsm-col-season{grid-column:1/-1;border-left:0;border-top:1px solid var(--ts-rule)}
[data-fs-theme='turnstile'] .fs-hdr-mobile .fs-tsm-season{--tsm-months:12}
[data-fs-theme='turnstile'] .fs-hdr-mobile .fs-tsm-prices{margin-top:12px}
[data-fs-theme='turnstile'] .fs-hdr-mobile .fs-tsm-price-v{font-size:27px}
/* The board reflows on its own box (the panel less its 2px edge: 1388 /
   1228 / 1148 / 876 / 780 / 684; the phone-menu copies 732 and 354).
   WIDE (76rem up): the season in two rows of six and a fourth line of
   small print. BASE (70–76rem): four columns, the price board widest.
   MIDDLE (70rem and under): prices beside the finder, the season and
   the promises as bands across. 50rem: the family sentence and one
   small-print line go, promises two by two. 30rem: one column. */
@container (min-width: 76rem){
  [data-fs-theme='turnstile'] .fs-tsm-season{--tsm-months:6}
  [data-fs-theme='turnstile'] .fs-tsm-sp.is-x{display:inline-flex}
}
@container (max-width: 70rem){
  [data-fs-theme='turnstile'] .fs-tsm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  [data-fs-theme='turnstile'] .fs-tsm-price-n,[data-fs-theme='turnstile'] .fs-tsm-br,[data-fs-theme='turnstile'] .fs-tsm-bnote-p{display:none}
  [data-fs-theme='turnstile'] .fs-tsm-bnote .fs-tsm-link{margin-top:0}
  [data-fs-theme='turnstile'] .fs-tsm-col-season,[data-fs-theme='turnstile'] .fs-tsm-col-plan{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,10.5rem) minmax(0,1fr);grid-template-rows:auto auto 1fr;column-gap:var(--tsm-gut);align-content:start;padding-block:18px;border-left:0;border-top:1px solid var(--ts-rule)}
  [data-fs-theme='turnstile'] .fs-tsm-col-season > .fs-tsm-eyebrow,[data-fs-theme='turnstile'] .fs-tsm-col-plan > .fs-tsm-eyebrow{grid-area:1/1}
  [data-fs-theme='turnstile'] .fs-tsm-col-season > .fs-tsm-mh,[data-fs-theme='turnstile'] .fs-tsm-col-plan > .fs-tsm-mh{grid-area:2/1/4/2}
  [data-fs-theme='turnstile'] .fs-tsm-col-season > .fs-tsm-season{grid-area:1/2/3/3;margin-top:0;--tsm-months:12}
  [data-fs-theme='turnstile'] .fs-tsm-col-season > .fs-tsm-key{grid-area:3/2;display:flex;flex-wrap:wrap;gap:4px 18px;margin:10px 0 0}
  [data-fs-theme='turnstile'] .fs-tsm-col-season > .fs-tsm-today{display:none}
  [data-fs-theme='turnstile'] .fs-tsm-col-plan > .fs-tsm-proms{grid-area:1/2/4/3;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:16px;margin-top:0}
  [data-fs-theme='turnstile'] .fs-tsm-prom{align-items:center;padding-block:4px;border-bottom:0}
  [data-fs-theme='turnstile'] .fs-tsm-prom-p{display:none}
}
@container (max-width: 50rem){
  [data-fs-theme='turnstile'] .fs-tsm-fam-n{display:none}
  [data-fs-theme='turnstile'] .fs-tsm-sp:nth-child(3){display:none}
  [data-fs-theme='turnstile'] .fs-tsm-col-plan > .fs-tsm-proms{grid-template-columns:repeat(2,minmax(0,1fr))}
  [data-fs-theme='turnstile'] .fs-tsm-mh{font-size:17.5px}
  [data-fs-theme='turnstile'] .fs-tsm-col-season,[data-fs-theme='turnstile'] .fs-tsm-col-plan{grid-template-columns:minmax(0,8.5rem) minmax(0,1fr)}
}
@container (max-width: 30rem){
  [data-fs-theme='turnstile'] .fs-tsm-grid{grid-template-columns:minmax(0,1fr)}
  [data-fs-theme='turnstile'] .fs-tsm-col{border-left:0}
  [data-fs-theme='turnstile'] .fs-tsm-col + .fs-tsm-col{border-top:1px solid var(--ts-rule)}
  [data-fs-theme='turnstile'] .fs-tsm-col-season,[data-fs-theme='turnstile'] .fs-tsm-col-plan{display:flex}
  [data-fs-theme='turnstile'] .fs-tsm-col-season > .fs-tsm-season{margin-top:12px}
  [data-fs-theme='turnstile'] .fs-hdr-mobile .fs-tsm-season{--tsm-months:6}
}
@media (prefers-reduced-motion: reduce){
  [data-fs-theme='turnstile'] .fs-hdr-cta{transition:none}
  [data-fs-theme='turnstile'] .fs-hdr-cta.fs-hdr-cta:hover{transform:none}
}


/* Tokens (mockup 58–59), FULL colours. --br-rule: soft internal dividers
   only (every structural rule is the ink itself); --br-note: secondary
   ink; --br-sig: brand as text, the platform's solved nav-on (Acid's raw
   brand is 2.8:1 on its page); --br-sig-inv: brand on an ink ground,
   pulled toward the page; --br-wash: the tag's ground. */
[data-fs-theme='brutal']{--fs-chrome-mode:light;--br-rule:rgb(var(--c-ink-950) / .22);--br-note:color-mix(in srgb, rgb(var(--c-ink-950)) 74%, rgb(var(--c-paper)));--br-sig:rgb(var(--fs-nav-active-on));--br-sig-inv:color-mix(in srgb, rgb(var(--c-brand-600)) 70%, rgb(var(--c-paper)));--br-wash:rgb(var(--c-brand-600) / .09)}
[data-fs-theme='brutal'].dark{--fs-chrome-mode:dark;--br-rule:rgb(var(--c-ink-950) / .26);--br-note:color-mix(in srgb, rgb(var(--c-ink-950)) 78%, rgb(var(--c-paper)));--br-sig-inv:color-mix(in srgb, rgb(var(--c-brand-600)) 45%, rgb(var(--c-paper)));--br-wash:rgb(var(--c-brand-600) / .12)}
/* The strip: an ink band, the note left, the reply time right behind a
   square. A phone keeps the reply time (and a customer's phone, if set). */
[data-fs-theme='brutal'] .fs-hdr-util{container-type:inline-size;background:rgb(var(--c-ink-950));color:rgb(var(--c-paper));font-family:var(--font-display, 'Space Grotesk', Arial, sans-serif);font-weight:500;font-size:12.5px;line-height:1.2;letter-spacing:.01em}
[data-fs-theme='brutal'] .fs-hdr-util-in{display:flex;align-items:center;gap:20px;min-height:0;padding-block:8px;border-bottom:0;color:inherit}
[data-fs-theme='brutal'] .fs-hdr-util-in .fs-hdr-util-item{display:inline-flex}
[data-fs-theme='brutal'] .fs-hdr-util-note{order:-1;margin-right:auto}
[data-fs-theme='brutal'] .fs-hdr-util-hours{gap:8px}
[data-fs-theme='brutal'] .fs-hdr-util-dot{width:8px;height:8px;border-radius:0;background:var(--br-sig-inv)}
[data-fs-theme='brutal'] .fs-hdr-util-tel{margin-left:0;font-weight:700;color:inherit}
@container (max-width: 40rem){
  [data-fs-theme='brutal'] .fs-hdr-util-in{display:flex;justify-content:center}
  [data-fs-theme='brutal'] .fs-hdr-util-in .fs-hdr-util-item:not(.fs-hdr-util-hours):not(.fs-hdr-util-tel){display:none}
}
/* The band: the desktop gate (fs-band); its last 4px are the ink rule
   the panel hangs from, PAINTED (no positioned child of the sticky band). */
[data-fs-theme='brutal'] .fs-hdr-band{container-type:inline-size;container-name:fs-band;border-bottom-width:0;padding-bottom:4px;background:linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) 0 100%/100% 4px no-repeat,rgb(var(--c-paper))}
/* The row: 68px (60px at 760px and under), its own padding zeroed so the
   slab runs from the strip to the rule; the button's wrappers stretch on
   all three surfaces, everything else in them stays centred (R-B7-13). */
[data-fs-theme='brutal'] .fs-hdr-row{min-height:clamp(60px, (100cqi - 760px) * 100, 68px);padding-block:0;align-items:stretch}
[data-fs-theme='brutal'] .fs-hdr-row :has(> .fs-hdr-cta){align-self:stretch;align-items:stretch}
[data-fs-theme='brutal'] .fs-hdr-row > :has(.fs-hdr-cta){align-items:stretch}
[data-fs-theme='brutal'] .fs-hdr-row :has(> .fs-hdr-cta) > :not(.fs-hdr-cta),[data-fs-theme='brutal'] .fs-hdr-row > :has(.fs-hdr-cta) > :not(.fs-hdr-cta):not(:has(.fs-hdr-cta)){align-self:center}
/* The name, set as type (Brutal ships no logo): big and tight. Its face
   and weight are the theme's header settings (themeDefaults). */
[data-fs-theme='brutal'] .fs-hdr-row > :first-child{align-items:center;margin-right:auto;padding-right:20px}
[data-fs-theme='brutal'] .fs-hdr-row [data-fs-wordmark]{font-size:var(--br-logo,31px);line-height:1;letter-spacing:-.06em;white-space:nowrap}
/* The button: the header's one loud block — a brand slab the full row
   height, ink sides, the solved label and a drawn arrow; hover inverts
   to ink, instantly. */
[data-fs-theme='brutal'] .fs-hdr-cta{--fs-hdr-cta-bg:rgb(var(--c-brand-600));--fs-hdr-cta-fg:var(--fs-on-brand, rgb(var(--c-paper)));--fs-hdr-cta-bg-hover:rgb(var(--c-ink-950));--fs-hdr-cta-fg-hover:rgb(var(--c-paper))}
[data-fs-theme='brutal'] .fs-hdr-cta.fs-hdr-cta{flex:none;gap:10px;padding:0 var(--br-cta-pad,22px);border:0;border-inline:2px solid rgb(var(--c-ink-950));border-radius:0;box-shadow:none;font-family:var(--font-display, 'Space Grotesk', Arial, sans-serif);font-weight:600;font-size:var(--br-cta-fs,15px);line-height:1;letter-spacing:-.005em;white-space:nowrap;transition:none}
[data-fs-theme='brutal'] .fs-hdr-cta.fs-hdr-cta::after{content:"→";font-weight:500}
[data-fs-theme='brutal'] .fs-hdr-row .fs-hdr-cta{margin-left:var(--br-cta-gap,20px)}
/* The menu button: a 44px square, a 2px ink box, two 3px bars. */
[data-fs-theme='brutal'] .fs-hdr-menu-btn{align-self:center;width:44px;height:44px;margin-left:12px;border:2px solid rgb(var(--c-ink-950));border-radius:0;background:linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) center calc(50% - 4.5px)/20px 3px no-repeat,linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) center calc(50% + 4.5px)/20px 3px no-repeat}
[data-fs-theme='brutal'] .fs-hdr-menu-btn svg{display:none}
/* The mega shell: no frame of its own, square, flat (the dials say no
   shadow); 4px below the row, so the panel hangs from the ink rule. */
[data-fs-theme='brutal'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite){margin-top:4px !important;background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:none !important}
[data-fs-theme='brutal'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite)::before{top:-4px;height:4px}
/* Layout tiers (mockup 203–219), desktop only: a tablet row keeps the
   full-size name and slab. The knobs are set on the row's children. */
@container fs-band (min-width: 62rem){
  /* Boxed (880): a little air, not need. */
  @container (max-width: 60rem){
    [data-fs-theme='brutal'] .fs-hdr-row > *{--br-pad:10px}
  }
  /* Centered (784): 677px used. */
  @container (max-width: 50rem){
    [data-fs-theme='brutal'] .fs-hdr-row > *{--br-logo:27px;--br-pad:8px;--br-fs:15px;--br-cta-gap:14px;--br-cta-pad:16px}
  }
  /* Minimalist (688): the tightest, 618px used. */
  @container (max-width: 44rem){
    [data-fs-theme='brutal'] .fs-hdr-row > *{--br-logo:25px;--br-pad:6px;--br-fs:14.5px;--br-cta-gap:10px;--br-cta-pad:12px;--br-cta-fs:14px}
  }
}
/* Phones: the platform hides the slab at row 34rem; the name steps down. */
@container (max-width: 34rem){
  [data-fs-theme='brutal'] .fs-hdr-row > *{--br-logo:26px}
}
/* The read-only preview alone renders a visitor dark/light toggle
   (.fs-hdr-mode) plus a fixed-width "Edit Template" link
   (TemplateViewClient.tsx), present on no real site. CDP-measured at
   /preview/view?template=brutal, 320: with both still shown the menu
   button's right edge sat 53px past the window edge, because the gap
   they need is never reclaimed from a published page. [data-fs-preview-edit]
   is the stable, surface-only hook the Edit Template link alone
   carries; :has() reaches up from it so only a row that actually
   contains it is affected — published and editor markup never has the
   hook. Precedent in waymark/pennant/fenwick/northstone/turnstile-
   chrome-styles.ts. */
@container (max-width: 34rem){
  [data-fs-theme='brutal'] .fs-hdr-row:has([data-fs-preview-edit]) .fs-hdr-mode{display:none}
  [data-fs-theme='brutal'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{display:none}
}
/* "Menu" as the squared tag, an ink close box, the 4px ink rule under
   the head; big grotesk rows on 2px ink rules, each with its index (a
   counter on the plain list); the current page inverted edge to edge. */
[data-fs-theme='brutal'] .fs-hdr-mobile-head{height:auto;padding:12px 16px 16px;border-bottom:0;background:linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) 0 100%/100% 4px no-repeat}
[data-fs-theme='brutal'] .fs-hdr-mobile-title{display:inline-flex;align-items:center;gap:7px;padding:5px 9px 5px 8px;border:1.5px solid currentColor;background:var(--br-wash);color:var(--br-sig);font-family:var(--font-display, 'Space Grotesk', Arial, sans-serif);font-weight:700;font-size:11px;line-height:1;letter-spacing:.16em;text-transform:uppercase}
[data-fs-theme='brutal'] .fs-hdr-mobile-title::before{content:"";flex:none;width:7px;height:7px;background:currentColor}
[data-fs-theme='brutal'] .fs-hdr-mobile-close{width:44px;height:44px;border-radius:0;background:rgb(var(--c-ink-950));color:rgb(var(--c-paper))}
[data-fs-theme='brutal'] .fs-hdr-mobile > nav{padding:4px 16px 0}
[data-fs-theme='brutal'] .fs-hdr-mobile-list{counter-reset:brm}
[data-fs-theme='brutal'] .fs-hdr-mobile-row{display:flex;align-items:center;border-bottom:2px solid rgb(var(--c-ink-950))}
[data-fs-theme='brutal'] .fs-hdr-mobile-link:not(.is-sub){display:flex;align-items:flex-start;gap:12px;flex:1;padding:14px 0 12px;font-family:var(--font-display, 'Space Grotesk', Arial, sans-serif);font-weight:700;font-size:28px;line-height:1;letter-spacing:-.04em;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='brutal'] .fs-hdr-mobile-link:not(.is-sub)::before{counter-increment:brm;content:counter(brm, decimal-leading-zero);flex:none;width:24px;margin-top:3px;font-size:11px;line-height:1;letter-spacing:.14em;color:var(--br-sig)}
[data-fs-theme='brutal'] .fs-hdr-mobile-row:has(> .fs-hdr-mobile-link[aria-current]:not([aria-current='false'])){margin-inline:-16px;padding-inline:16px;background:rgb(var(--c-ink-950))}
[data-fs-theme='brutal'] .fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false']),[data-fs-theme='brutal'] .fs-hdr-mobile-row:has(> .fs-hdr-mobile-link[aria-current]:not([aria-current='false'])) .fs-hdr-mobile-toggle{color:rgb(var(--c-paper))}
[data-fs-theme='brutal'] .fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false'])::before{color:var(--br-sig-inv)}
[data-fs-theme='brutal'] .fs-hdr-mobile-toggle{margin-right:6px;color:rgb(var(--c-ink-950))}
[data-fs-theme='brutal'] .fs-hdr-mobile-row:has(.fs-hdr-mobile-toggle[aria-expanded='true']){border-bottom:1px solid var(--br-rule)}
[data-fs-theme='brutal'] .fs-hdr-mobile-sub{padding:12px 0 14px;border-bottom:2px solid rgb(var(--c-ink-950))}
/* Under a 4px ink rule across the whole sheet: the reply time behind a
   brand square, a customer's phone if one is set, then the slab full
   width, ink-framed. No fixed words; no phone in the design. */
[data-fs-theme='brutal'] .fs-pmf-brutal{display:grid;gap:14px;margin:8px -16px 0;padding:22px 16px;background:linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) 0 0/100% 4px no-repeat}
[data-fs-theme='brutal'] .fs-pmf-hours{display:flex;align-items:center;gap:10px;margin:0;font-family:var(--font-display, 'Space Grotesk', Arial, sans-serif);font-weight:500;font-size:18px;line-height:1.2;letter-spacing:-.01em;color:rgb(var(--c-ink-950))}
[data-fs-theme='brutal'] .fs-pmf-sq{flex:none;width:10px;height:10px;background:var(--br-sig)}
[data-fs-theme='brutal'] .fs-pmf-line{margin:0;font-family:var(--font-display, 'Space Grotesk', Arial, sans-serif);font-weight:700;font-size:20px;line-height:1.2;color:rgb(var(--c-ink-950))}
[data-fs-theme='brutal'] .fs-pmf-tel{color:inherit;text-decoration:none}
[data-fs-theme='brutal'] .fs-pmf .fs-hdr-cta.fs-pmf-cta{display:flex;width:100%;margin:0;padding:17px 16px;border:2px solid rgb(var(--c-ink-950));font-size:16px}
/* The panel (mockup 68–83 shared devices + 116–137): page-coloured,
   3px ink sides, no top border — the header rule is its top. */
[data-fs-theme='brutal'] .fs-brm-panel{container-type:inline-size;isolation:isolate;padding:16px;background:rgb(var(--c-paper));border:3px solid rgb(var(--c-ink-950));border-top:0}
[data-fs-theme='brutal'] .fs-brm-head{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;padding-bottom:14px}
[data-fs-theme='brutal'] .fs-brm-title{margin:0;font-weight:700;font-size:28px;line-height:1;font-family:var(--font-display, 'Space Grotesk', Arial, sans-serif);letter-spacing:-.04em}
[data-fs-theme='brutal'] .fs-brm-more{margin-left:auto;font-weight:600;font-size:14px;line-height:1.2;font-family:var(--font-display, 'Space Grotesk', Arial, sans-serif);border-bottom:2px solid currentColor;white-space:nowrap;color:inherit;text-decoration:none}
[data-fs-theme='brutal'] .fs-brm-more::after{content:" →"}
[data-fs-theme='brutal'] .fs-brm-tag{display:inline-flex;align-items:center;gap:7px;flex:none;padding:5px 9px 5px 8px;border:1.5px solid currentColor;background:var(--br-wash);color:var(--br-sig);font-weight:700;font-size:11px;line-height:1;font-family:var(--font-display, 'Space Grotesk', Arial, sans-serif);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}
[data-fs-theme='brutal'] .fs-brm-tag::before{content:"";width:7px;height:7px;background:currentColor}
[data-fs-theme='brutal'] .fs-brm-bento{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.15fr);gap:12px}
[data-fs-theme='brutal'] .fs-brm-cell{display:flex;flex-direction:column;gap:7px;min-width:0;padding:14px 16px 16px;border:2px solid rgb(var(--c-ink-950));background:rgb(var(--c-paper-soft));color:inherit;text-decoration:none}
[data-fs-theme='brutal'] .fs-brm-cell:hover{background:rgb(var(--c-ink-950));color:rgb(var(--c-paper))}
[data-fs-theme='brutal'] .fs-brm-cell:hover .fs-brm-num{color:inherit}
[data-fs-theme='brutal'] .fs-brm-cell:hover .fs-brm-cb{color:inherit}
[data-fs-theme='brutal'] .fs-brm-num{font-weight:700;font-size:12px;line-height:1;font-family:var(--font-display, 'Space Grotesk', Arial, sans-serif);letter-spacing:.18em;color:var(--br-sig);font-variant-numeric:tabular-nums}
[data-fs-theme='brutal'] .fs-brm-ct{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-weight:700;font-size:22px;line-height:1.1;font-family:var(--font-display, 'Space Grotesk', Arial, sans-serif);letter-spacing:-.03em}
[data-fs-theme='brutal'] .fs-brm-ct::after{content:"→";font-weight:500}
[data-fs-theme='brutal'] .fs-brm-cb{max-width:34ch;font-size:14px;line-height:1.45;color:var(--br-note)}
[data-fs-theme='brutal'] .fs-brm-ring{padding:3px;background:conic-gradient(from var(--fs-lx-angle, 0deg), rgb(var(--c-brand-600)), rgb(var(--c-accent, var(--c-brand-600))), rgb(var(--c-brand-600) / .15), rgb(var(--c-brand-600)));animation:fs-lx-spin 9s linear infinite}
[data-fs-theme='brutal'] .fs-brm-bento > .fs-brm-ring{grid-column:3;grid-row:1/span 2}
[data-fs-theme='brutal'] .fs-brm-lead{display:flex;flex-direction:column;align-items:flex-start;gap:10px;height:100%;padding:16px 18px 18px;background:rgb(var(--c-paper))}
[data-fs-theme='brutal'] .fs-brm-lt{margin:0;max-width:14ch;font-weight:700;font-size:30px;line-height:1.02;font-family:var(--font-display, 'Space Grotesk', Arial, sans-serif);letter-spacing:-.04em}
[data-fs-theme='brutal'] .fs-brm-lb{margin:0;max-width:36ch;font-size:14.5px;line-height:1.5;color:var(--br-note)}
[data-fs-theme='brutal'] .fs-brm-lead .fs-brm-btn{margin-top:auto}
[data-fs-theme='brutal'] .fs-brm-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)));border:2px solid rgb(var(--c-ink-950));font-weight:600;font-size:15px;line-height:1;font-family:var(--font-display, 'Space Grotesk', Arial, sans-serif);letter-spacing:-.005em;white-space:nowrap;text-decoration:none}
[data-fs-theme='brutal'] .fs-brm-btn::after{content:"→";font-weight:500}
[data-fs-theme='brutal'] .fs-brm-btn:hover{background:rgb(var(--c-ink-950));color:rgb(var(--c-paper))}
[data-fs-theme='brutal'] .fs-brm-line{display:flex;align-items:center;flex-wrap:wrap;gap:10px 24px;margin-top:14px;padding-top:12px;border-top:2px solid rgb(var(--c-ink-950))}
[data-fs-theme='brutal'] .fs-brm-stats{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}
[data-fs-theme='brutal'] .fs-brm-stat{display:flex;align-items:baseline;gap:7px;padding-inline:16px;border-left:2px solid rgb(var(--c-ink-950))}
[data-fs-theme='brutal'] .fs-brm-stat:first-child{padding-left:0;border-left:0}
[data-fs-theme='brutal'] .fs-brm-sv{font-weight:700;font-size:22px;line-height:1;font-family:var(--font-display, 'Space Grotesk', Arial, sans-serif);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
[data-fs-theme='brutal'] .fs-brm-sl{font-weight:600;font-size:11px;line-height:1;letter-spacing:.14em;text-transform:uppercase;color:var(--br-note)}
[data-fs-theme='brutal'] .fs-brm-note{margin-left:auto;font-size:13px;color:var(--br-note)}
/* The panel matches the menu bar; its content box is the panel minus 38px
   (1354 / 1194 / 1114 / 842 / 746 / 650; phone-menu copies 736 and 358).
   WIDE (Full): four cells in one row with the frame as a fifth column,
   each index dropped to its cell's foot as an editorial numeral. */
@container (min-width: 72rem){
  [data-fs-theme='brutal'] .fs-brm-bento{grid-template-columns:repeat(4,minmax(0,1fr)) minmax(0,1.45fr);gap:14px}
  [data-fs-theme='brutal'] .fs-brm-bento > .fs-brm-ring{grid-column:5;grid-row:1}
  [data-fs-theme='brutal'] .fs-brm-lt{font-size:32px}
  [data-fs-theme='brutal'] .fs-brm-cell .fs-brm-num{order:3;margin-top:auto;padding-top:14px;font-size:44px;letter-spacing:-.04em;line-height:.8}
}
/* MIDDLE (Centered, Minimalist): the same bento, the card heading a size down. */
@container (max-width: 50rem){
  [data-fs-theme='brutal'] .fs-brm-lead{padding:14px 14px 16px}
  [data-fs-theme='brutal'] .fs-brm-lt{font-size:25px}
  [data-fs-theme='brutal'] .fs-brm-cell{padding-inline:13px}
  [data-fs-theme='brutal'] .fs-brm-ct{font-size:20px}
}
/* The same composite in the phone menu: the cells only, as titles — two
   by two on a phone, four across on a tablet. */
[data-fs-theme='brutal'] .fs-hdr-mobile .fs-brm-panel{border:0;padding:0;background:transparent}
[data-fs-theme='brutal'] .fs-hdr-mobile .fs-brm-head,[data-fs-theme='brutal'] .fs-hdr-mobile .fs-brm-line,[data-fs-theme='brutal'] .fs-hdr-mobile .fs-brm-ring,[data-fs-theme='brutal'] .fs-hdr-mobile .fs-brm-cb{display:none}
[data-fs-theme='brutal'] .fs-hdr-mobile .fs-brm-bento{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
[data-fs-theme='brutal'] .fs-hdr-mobile .fs-brm-cell{gap:6px;padding:10px 12px 12px}
[data-fs-theme='brutal'] .fs-hdr-mobile .fs-brm-ct{font-size:19px}
@container (min-width: 40rem){
  [data-fs-theme='brutal'] .fs-hdr-mobile .fs-brm-bento{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (prefers-reduced-motion: reduce){
  [data-fs-theme='brutal'] .fs-brm-ring{animation:none}
}


/* Tokens, FULL colours, as the mockup's palette() maps onto the theme's
   variables (lumina-styles.ts does the same): --lm-ink / --lm-muted the words,
   --lm-bg the page, --lm-surface the panel and the hover wash, --lm-surface2 a
   hovered tile, --lm-line / --lm-line2 the hairlines and the stronger border,
   --lm-lamp the brand (the words on it: --lm-onlamp), --lm-lampdeep the lamp read
   as text on the page. --lm-night is the dark base the showroom card's photograph
   sits on (dark in both modes); --lm-light the palette's light end for the words
   over it, --lm-lamphi the lamp solved for a dark ground. --lm-i-tel: the handset
   mask (seo-icon-masks.ts). */
[data-fs-theme='lumina']{--fs-chrome-mode:light;--lm-ink:rgb(var(--c-ink-950));--lm-muted:rgb(var(--c-ink-700));--lm-bg:rgb(var(--c-paper));--lm-surface:rgb(var(--c-paper-soft));--lm-surface2:color-mix(in srgb, rgb(var(--c-paper-soft)) 94%, rgb(var(--c-ink-950)));--lm-line:rgb(var(--c-line));--lm-line2:color-mix(in srgb, rgb(var(--c-ink-950)) 24%, rgb(var(--c-paper)));--lm-lamp:rgb(var(--c-brand-600));--lm-lampdeep:rgb(var(--c-brand-text, var(--c-brand-600)));--lm-onlamp:var(--fs-on-brand, rgb(var(--c-ink-950)));--lm-glow:color-mix(in srgb, rgb(var(--c-brand-600)) 45%, transparent);--lm-night:color-mix(in oklab, rgb(var(--c-ink-950)), black 30%);--lm-light:rgb(var(--c-paper));--lm-lamphi:rgb(var(--c-brand-on-shade, var(--c-brand-600)));--lm-soft:color-mix(in srgb, var(--lm-light) 80%, var(--lm-night));--lm-i-tel:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1z'/%3E%3C/svg%3E")}
[data-fs-theme='lumina'].dark{--fs-chrome-mode:dark;--lm-night:color-mix(in oklab, rgb(var(--c-paper)), black 40%);--lm-light:rgb(var(--c-ink-950))}
/* The strip: the note on the left, the hours and then the phone (bold) on the
   right, closed by a hairline. Its line (fs-strip) drops the note at 46rem, and
   on a phone (30rem) drops the hours too, but only where a phone number follows
   them to take their place; a site with hours and no number keeps its hours. The
   platform's own hours dot is not drawn. */
[data-fs-theme='lumina'] .fs-hdr-util{container-type:inline-size;background:var(--lm-bg);border-bottom:1px solid var(--lm-line);font-size:13.5px;line-height:1.4;color:var(--lm-muted)}
[data-fs-theme='lumina'] .fs-hdr-util-in{container-type:inline-size;container-name:fs-strip;display:flex;flex-wrap:nowrap;align-items:center;gap:8px;min-height:40px;padding-block:0;border-bottom:0;font-size:13.5px;color:inherit}
[data-fs-theme='lumina'] .fs-hdr-util-in .fs-hdr-util-item{display:inline-flex}
[data-fs-theme='lumina'] .fs-hdr-util-item{gap:8px}
[data-fs-theme='lumina'] .fs-hdr-util-note{order:-1;min-width:0}
[data-fs-theme='lumina'] .fs-hdr-util-dot{display:none}
[data-fs-theme='lumina'] .fs-hdr-util-hours{margin-left:auto}
[data-fs-theme='lumina'] .fs-hdr-util-hours:has(~ .fs-hdr-util-tel)::after{content:"·";margin-left:8px}
[data-fs-theme='lumina'] .fs-hdr-util-hours ~ .fs-hdr-util-tel{margin-left:0}
[data-fs-theme='lumina'] .fs-hdr-util-tel{font-weight:600;color:var(--lm-ink)}
@container fs-strip (max-width: 46rem){
  [data-fs-theme='lumina'] .fs-hdr-util-in .fs-hdr-util-item.fs-hdr-util-note{display:none}
}
@container (max-width: 40rem){
  [data-fs-theme='lumina'] .fs-hdr-util-in{display:flex;justify-content:center}
  [data-fs-theme='lumina'] .fs-hdr-util-in .fs-hdr-util-item:not(.fs-hdr-util-hours):not(.fs-hdr-util-tel){display:none}
  [data-fs-theme='lumina'] .fs-hdr-util-in .fs-hdr-util-item.fs-hdr-util-hours{margin-left:0}
}
/* The hours ("Support line, every day") and the phone need about 330px side by
   side; a phone has 358 minus the gaps, so there the strip keeps the number to tap
   and the hours are in the menu's foot. Only when there IS a number after the
   hours (the :has, as the dot above): with hours alone the strip would be an
   empty bar, and the hours alone fit. */
@container fs-strip (max-width: 30rem){
  [data-fs-theme='lumina'] .fs-hdr-util-in .fs-hdr-util-item.fs-hdr-util-hours:has(~ .fs-hdr-util-tel){display:none}
}
/* The band: the desktop gate; the row sits on the page colour with a hairline. */
[data-fs-theme='lumina'] .fs-hdr-band{container-type:inline-size;container-name:fs-band;background:var(--lm-bg);border-bottom:1px solid var(--lm-line)}
[data-fs-theme='lumina'] .fs-hdr-row{min-height:clamp(66px, (100cqi - 760px) * 100, 86px)}
/* The lockup: the lamp mark (the theme's logoMarkSvg, R-B7-6) and the name in
   Cormorant Garamond 600 (the header font setting) at 31px. The /preview/view
   route pins the wordmark with an inline style, which only an !important rule
   scoped to its own hook ([data-fs-preview-edit]) can beat. */
[data-fs-theme='lumina'] .fs-hdr-row > :first-child{gap:var(--lm-lgap,12px);margin-right:auto;padding-right:var(--lm-lpad,28px)}
[data-fs-theme='lumina'] .fs-hdr-row [data-fs-logo-mark]{width:var(--lm-mw,40px);height:var(--lm-mw,40px)}
[data-fs-theme='lumina'] .fs-hdr-row [data-fs-wordmark]{font-size:var(--lm-wf,31px);line-height:1;letter-spacing:.02em;white-space:nowrap}
[data-fs-theme='lumina'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{font-size:var(--lm-wf,31px) !important;letter-spacing:.02em !important}
/* The nav: pills. The capsule glass menu-styles.ts draws around them is taken
   off (no frame, fill, shadow or padding); hover and the open item take the
   surface wash, the page you are on reads in the lamp colour, no plate or dot.
   (menu-styles.ts's luminaCapsule, restyled here; --lm-ip / --lm-pg / --lm-fs
   are the knobs the Layout tiers turn.) The selector doubles the class so it
   outranks the capsule's dark-mode rule. */
[data-fs-theme='lumina'] .fs-hdr-row > .fsmenu-luminaCapsule-nav.fsmenu-luminaCapsule-nav{gap:var(--lm-ng,2px);padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
[data-fs-theme='lumina'] .fsmenu-luminaCapsule{gap:var(--lm-pg,6px);padding:10px var(--lm-ip,14px);border-radius:999px;font-weight:500;font-size:var(--lm-fs,15.5px);line-height:1.2;letter-spacing:0;text-transform:none;color:var(--lm-ink)}
[data-fs-theme='lumina'] .fsmenu-luminaCapsule:hover,[data-fs-theme='lumina'] .fsmenu-luminaCapsule:focus-visible{background:var(--lm-surface);color:var(--lm-ink)}
[data-fs-theme='lumina'] .fs-hdr-group[data-open] > .fsmenu-luminaCapsule{background:var(--lm-surface);color:var(--lm-lamp)}
[data-fs-theme='lumina'] .fsmenu-luminaCapsule[aria-current]:not([aria-current='false']){background:transparent;color:var(--lm-lamp);box-shadow:none}
[data-fs-theme='lumina'] .fsmenu-luminaCapsule[aria-current]:not([aria-current='false']):hover{background:var(--lm-surface)}
[data-fs-theme='lumina'] .fsmenu-luminaCapsule[aria-current]:not([aria-current='false'])::before{display:none}
[data-fs-theme='lumina'][data-fs-motion='on'] .fsmenu-luminaCapsule{transition:background-color .2s ease,color .2s ease}
/* An item with a panel (What we do) is ONE pill, as the mockup: the label, 6px, the
   chevron, then the pill's own padding, with the wash on the whole pill. The
   platform draws the chevron as its own button beside the link, so the group
   becomes the pill and the link and the chevron give up their own wash. */
[data-fs-theme='lumina'] .fs-hdr-row .fs-hdr-group{gap:0;border-radius:999px}
[data-fs-theme='lumina'] .fs-hdr-row .fs-hdr-group > .fsmenu-luminaCapsule{padding-right:var(--lm-pg,6px)}
[data-fs-theme='lumina'] .fs-hdr-row .fs-hdr-group > .fsmenu-luminaCapsule:is(:hover,:focus-visible),[data-fs-theme='lumina'] .fs-hdr-row .fs-hdr-group[data-open] > .fsmenu-luminaCapsule{background:transparent}
[data-fs-theme='lumina'] .fs-hdr-row .fs-hdr-group > .fs-hdr-caret{align-self:stretch;box-sizing:content-box;padding:0 var(--lm-ip,14px) 0 0;opacity:1;color:var(--lm-ink)}
[data-fs-theme='lumina'] .fs-hdr-row .fs-hdr-group > .fs-hdr-caret svg{width:12px;height:8px}
[data-fs-theme='lumina'] .fs-hdr-row .fs-hdr-group:is(:hover,:has(:focus-visible),[data-open]){background:var(--lm-surface)}
[data-fs-theme='lumina'] .fs-hdr-row .fs-hdr-group[data-open] > .fs-hdr-caret,[data-fs-theme='lumina'] .fs-hdr-row .fs-hdr-group:has(> [aria-current]:not([aria-current='false'])) > .fs-hdr-caret{color:var(--lm-lamp)}
[data-fs-theme='lumina'][data-fs-motion='on'] .fs-hdr-row .fs-hdr-group{transition:background-color .2s ease}
/* The button: the lamp, dark words (light in light mode), a pill with the lamp's
   glow under it, lifting 2px on hover (the blocks' button). */
[data-fs-theme='lumina'] .fs-hdr-cta{--fs-hdr-cta-bg:var(--lm-lamp);--fs-hdr-cta-fg:var(--lm-onlamp);--fs-hdr-cta-bg-hover:var(--lm-lamp);--fs-hdr-cta-fg-hover:var(--lm-onlamp)}
[data-fs-theme='lumina'] .fs-hdr-cta.fs-hdr-cta{flex:none;padding:var(--lm-cpy,18px) var(--lm-cp,26px);border:0;border-radius:999px;font-family:inherit;font-weight:600;font-size:var(--lm-cf,15.5px);line-height:1;letter-spacing:.01em;white-space:nowrap;box-shadow:0 10px 30px -10px var(--lm-glow)}
[data-fs-theme='lumina'][data-fs-motion='on'] .fs-hdr-cta.fs-hdr-cta{transition:transform .2s ease,box-shadow .3s ease}
[data-fs-theme='lumina'][data-fs-motion='on'] .fs-hdr-cta.fs-hdr-cta:hover{transform:translateY(-2px);box-shadow:0 14px 40px -8px var(--lm-glow)}
[data-fs-theme='lumina'] .fs-hdr-row .fs-hdr-cta{margin-left:var(--lm-cm,24px)}
/* The menu button: 44px, 12px corners, the 3:1 border, two ink bars, as the
   phone mockup's icon. */
[data-fs-theme='lumina'] .fs-hdr-menu-btn{width:44px;height:44px;margin-left:12px;border:1px solid var(--lm-line2);border-radius:12px;background:linear-gradient(var(--lm-ink),var(--lm-ink)) 15px 18px/14px 2px no-repeat,linear-gradient(var(--lm-ink),var(--lm-ink)) 15px 24px/14px 2px no-repeat,var(--lm-bg)}
[data-fs-theme='lumina'] .fs-hdr-menu-btn svg{display:none}
/* The mega shell: no frame of its own; the panel's 24px corners and the
   mockup's long shadow, 12px below the row. */
[data-fs-theme='lumina'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite){margin-top:12px !important;background:transparent !important;border:0 !important;border-radius:24px !important;box-shadow:0 40px 90px -30px rgb(0 0 0 / .8) !important}
[data-fs-theme='lumina'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite)::before{top:-12px;height:12px}
/* Layout tiers, desktop only. Full size needs about 1000px (six nav items, the
   lockup and the button). Each narrowed Layout shrinks the nav type, its
   padding, the lockup and the button together; nothing goes below 12px. The
   ladder is Sunline's (the same six-item nav and a button of the same length);
   it is to be re-measured with the real fonts in the Task 6b headless shots.
   --lm-ng is the gap between nav items. */
@container fs-band (min-width: 62rem){
  /* Boxed (880). */
  @container (max-width: 60rem){
    [data-fs-theme='lumina'] .fs-hdr-row > *{--lm-lpad:12px;--lm-mw:34px;--lm-lgap:8px;--lm-wf:25px;--lm-ip:7px;--lm-pg:5px;--lm-fs:14px;--lm-ng:2px;--lm-cm:10px;--lm-cp:15px;--lm-cpy:16px;--lm-cf:14px}
  }
  /* Centered (784). */
  @container (max-width: 50rem){
    [data-fs-theme='lumina'] .fs-hdr-row > *{--lm-lpad:8px;--lm-mw:30px;--lm-lgap:6px;--lm-wf:22px;--lm-ip:5px;--lm-pg:5px;--lm-fs:13px;--lm-ng:2px;--lm-cm:8px;--lm-cp:13px;--lm-cpy:15.5px;--lm-cf:13.5px}
  }
  /* Minimalist (688): the nav, the lockup and the button all stay. */
  @container (max-width: 44rem){
    [data-fs-theme='lumina'] .fs-hdr-row > *{--lm-lpad:6px;--lm-mw:26px;--lm-lgap:5px;--lm-wf:19px;--lm-ip:3px;--lm-pg:4px;--lm-fs:12px;--lm-ng:0px;--lm-cm:4px;--lm-cp:10px;--lm-cpy:15px;--lm-cf:12.5px}
  }
}
@container (max-width: 34rem){
  [data-fs-theme='lumina'] .fs-hdr-row > *{--lm-mw:34px;--lm-wf:27px}
}
/* The read-only preview alone renders a visitor dark/light toggle
   (.fs-hdr-mode) plus a fixed-width "Edit Template" link
   (TemplateViewClient.tsx), present on no real site; [data-fs-preview-edit] is
   the platform's own hook on that link. On a phone-width row the toggle and the
   wordmark give way so the menu button stays on screen (the mark stays). */
@container (max-width: 34rem){
  [data-fs-theme='lumina'] .fs-hdr-row:has([data-fs-preview-edit]) .fs-hdr-mode{display:none}
  [data-fs-theme='lumina'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{display:none}
}
/* The phone menu (PhoneMenu.dc.html): the head carries "Menu" in the serif
   behind the small lamp mark, and a 44px close with a 12px-cornered border; the
   rows are the serif at 500 on hairlines, the current page in the lamp colour
   and italic, the chevron in the lamp colour. */
[data-fs-theme='lumina'] .fs-hdr-mobile{background:var(--lm-bg);color:var(--lm-ink)}
[data-fs-theme='lumina'] .fs-hdr-mobile-head{height:auto;min-height:66px;gap:10px;padding:0 12px 0 16px;border-bottom:1px solid var(--lm-line);background:transparent}
[data-fs-theme='lumina'] .fs-hdr-mobile-title{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display, Georgia, serif);font-weight:600;font-size:27px;line-height:1;color:var(--lm-ink)}
[data-fs-theme='lumina'] .fs-hdr-mobile-title::before{content:"";flex:none;box-sizing:border-box;width:34px;height:34px;border:1.2px solid color-mix(in srgb, var(--lm-lamp) 22%, transparent);border-radius:50%;background:radial-gradient(circle at center, var(--lm-lamp) 0 4.7px, transparent 5.2px 9.4px, color-mix(in srgb, var(--lm-lamp) 50%, transparent) 9.8px 10.9px, transparent 11.3px)}
[data-fs-theme='lumina'] .fs-hdr-mobile-close{width:44px;height:44px;margin-left:auto;border:1px solid var(--lm-line2);border-radius:12px;color:var(--lm-ink)}
[data-fs-theme='lumina'] .fs-hdr-mobile > nav{display:flex;flex-direction:column;padding:8px 18px 18px}
[data-fs-theme='lumina'] .fs-hdr-mobile-list{display:flex;flex:none;flex-direction:column;margin:0 0 16px;padding:0;list-style:none}
[data-fs-theme='lumina'] .fs-hdr-mobile-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--lm-line)}
[data-fs-theme='lumina'] .fs-hdr-mobile-link:not(.is-sub){display:flex;align-items:center;flex:1;min-height:58px;padding:0;font-family:var(--font-display, Georgia, serif);font-weight:500;font-size:31px;line-height:1.1;color:var(--lm-ink);text-decoration:none}
[data-fs-theme='lumina'] .fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false']){color:var(--lm-lamp);font-style:italic}
[data-fs-theme='lumina'] .fs-hdr-mobile-link.is-sub{display:block;padding:10px 0;font-size:15.5px;color:var(--lm-muted);text-decoration:none}
[data-fs-theme='lumina'] .fs-hdr-mobile-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--lm-lamp)}
[data-fs-theme='lumina'] .fs-hdr-mobile-sub{margin:0;padding:6px 0 10px;border-left:0;list-style:none}
/* The foot: a row of downlights, the lamp button, then the phone as an outlined
   button with its handset (a tel: link: the hero's call button hides on a phone),
   then one line of small print. No fixed words. */
[data-fs-theme='lumina'] .fs-pmf-lumina{display:flex;flex-direction:column;gap:10px;margin-top:auto;padding-top:16px;border-top:1px solid var(--lm-line)}
[data-fs-theme='lumina'] .fs-pmf-dl{display:flex;justify-content:space-between;padding:4px 6px 12px}
[data-fs-theme='lumina'] .fs-pmf-dl i{width:6px;height:6px;border-radius:50%;background:var(--lm-lamp);box-shadow:0 0 12px 4px var(--lm-glow)}
[data-fs-theme='lumina'] .fs-pmf .fs-hdr-cta.fs-pmf-cta{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;margin:0;padding:0 24px;border-radius:999px;font-size:15.5px;line-height:1.2}
[data-fs-theme='lumina'] .fs-pmf-lumina .fs-pmf-big{margin:0}
[data-fs-theme='lumina'] .fs-pmf-lumina .fs-pmf-tel{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;border:1.5px solid var(--lm-line2);border-radius:999px;font-weight:600;font-size:15.5px;line-height:1.2;font-variant-numeric:tabular-nums;color:var(--lm-ink);text-decoration:none}
[data-fs-theme='lumina'] .fs-pmf-lumina .fs-pmf-tel::before{content:"";flex:none;width:18px;height:18px;background:currentColor;-webkit-mask:var(--lm-i-tel) center/contain no-repeat;mask:var(--lm-i-tel) center/contain no-repeat}
[data-fs-theme='lumina'] .fs-pmf-lumina .fs-pmf-hours{margin:0;font-size:13px;line-height:1.4;text-align:center;color:var(--lm-muted)}
/* The "What we do" panel (lumina.services): the content box; the shell's shadow
   sits on the columns panel (the rule above). The tiles on the left, the
   showroom card on the right. */
[data-fs-theme='lumina'] .fs-lumm-panel{container-type:inline-size;padding:26px;overflow:hidden;background:var(--lm-surface);border:1px solid var(--lm-line2);border-radius:24px;color:var(--lm-ink)}
[data-fs-theme='lumina'] .fs-lumm-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,340px);gap:26px}
[data-fs-theme='lumina'] .fs-lumm-body:not(:has(.fs-lumm-side)){grid-template-columns:minmax(0,1fr)}
[data-fs-theme='lumina'] .fs-lumm-panel ul{margin:0;padding:0;list-style:none}
[data-fs-theme='lumina'] .fs-lumm-panel a{text-decoration:none}
[data-fs-theme='lumina'] .fs-lumm-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-content:start}
[data-fs-theme='lumina'] .fs-lumm-tile{display:flex;flex-direction:column;gap:10px;height:100%;padding:10px;border:1px solid transparent;border-radius:18px;color:inherit}
[data-fs-theme='lumina'] .fs-lumm-tile:hover{background:var(--lm-surface2);border-color:var(--lm-line2)}
[data-fs-theme='lumina'] .fs-lumm-tile:focus-visible{outline:2px solid var(--lm-lampdeep);outline-offset:2px}
[data-fs-theme='lumina'][data-fs-motion='on'] .fs-lumm-tile{transition:background-color .2s ease,border-color .2s ease}
[data-fs-theme='lumina'] .fs-lumm-img{display:block;width:100%;height:120px;border-radius:12px;object-fit:cover;background:var(--lm-bg)}
[data-fs-theme='lumina'] .fs-lumm-tile-t{display:flex;flex-direction:column;gap:10px;min-width:0}
[data-fs-theme='lumina'] .fs-lumm-price{font-weight:600;font-size:12px;line-height:1.2;letter-spacing:.16em;text-transform:uppercase;color:var(--lm-lampdeep)}
[data-fs-theme='lumina'] .fs-lumm-name{font-family:var(--font-display, Georgia, serif);font-weight:500;font-size:24px;line-height:1.05;color:var(--lm-ink)}
[data-fs-theme='lumina'] .fs-lumm-snip{font-size:13.5px;line-height:1.4;color:var(--lm-muted)}
[data-fs-theme='lumina'] .fs-lumm-side{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:16px;min-height:100%;padding:22px;border-radius:18px;background:var(--lm-night);color:var(--lm-light)}
[data-fs-theme='lumina'] .fs-lumm-side::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg, color-mix(in srgb, var(--lm-night) 92%, transparent) 15%, color-mix(in srgb, var(--lm-night) 20%, transparent) 70%)}
[data-fs-theme='lumina'] .fs-lumm-side > .fs-lumm-side-img{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover}
[data-fs-theme='lumina'] .fs-lumm-side > .fs-lumm-side-in,[data-fs-theme='lumina'] .fs-lumm-side > .fs-lumm-btn{position:relative;z-index:2}
[data-fs-theme='lumina'] .fs-lumm-side-in{display:flex;flex-direction:column;align-items:flex-start;gap:10px;color:inherit}
[data-fs-theme='lumina'] .fs-lumm-k{display:flex;align-items:center;gap:10px;font-weight:600;font-size:12px;line-height:1.2;letter-spacing:.2em;text-transform:uppercase;color:var(--lm-lamphi)}
[data-fs-theme='lumina'] .fs-lumm-lights{display:inline-flex;gap:5px}
[data-fs-theme='lumina'] .fs-lumm-lights i{width:6px;height:6px;border-radius:50%;background:var(--lm-lamp);box-shadow:0 0 8px 2px var(--lm-glow)}
[data-fs-theme='lumina'] .fs-lumm-side-h{font-family:var(--font-display, Georgia, serif);font-weight:500;font-size:34px;line-height:1.05;color:var(--lm-light)}
[data-fs-theme='lumina'] .fs-lumm-em{font-style:italic;color:var(--lm-lamphi)}
[data-fs-theme='lumina'] .fs-lumm-side-p{font-size:14px;line-height:1.5;color:var(--lm-soft)}
[data-fs-theme='lumina'] .fs-lumm-btn{display:inline-flex;align-items:center;min-height:46px;padding:0 24px;border-radius:999px;background:var(--lm-lamp);font-weight:600;font-size:14px;line-height:1.2;color:var(--lm-onlamp)}
[data-fs-theme='lumina'] .fs-lumm-btn:focus-visible,[data-fs-theme='lumina'] .fs-lumm-side-in:focus-visible{outline:2px solid var(--lm-lamphi);outline-offset:3px}
[data-fs-theme='lumina'][data-fs-motion='on'] .fs-lumm-btn{transition:transform .2s ease,box-shadow .3s ease}
[data-fs-theme='lumina'][data-fs-motion='on'] .fs-lumm-btn:hover{transform:translateY(-2px);box-shadow:0 14px 40px -8px var(--lm-glow)}
[data-fs-theme='lumina'] .fs-lumm-mark{display:inline-block;padding:3px 8px;border-radius:999px;background:color-mix(in srgb, var(--lm-lamp) 18%, transparent);font-weight:700;font-size:12px;line-height:1.3;letter-spacing:0;text-transform:none;color:var(--lm-lamphi)}
/* Narrower panels (the bar follows the Layout): two tiles across, then the card
   under the tiles, then one column. */
@container (max-width: 60rem){
  [data-fs-theme='lumina'] .fs-lumm-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container (max-width: 56rem){
  [data-fs-theme='lumina'] .fs-lumm-body{grid-template-columns:minmax(0,1fr)}
  [data-fs-theme='lumina'] .fs-lumm-side{min-height:260px}
}
@container (max-width: 34rem){
  [data-fs-theme='lumina'] .fs-lumm-tiles{grid-template-columns:minmax(0,1fr)}
}
/* The same composite in the phone menu: name-and-price rows under the "What we
   do" item (PhoneMenu.dc.html's .sub: the name on the left, the price in small
   caps in the lamp colour on the right, a hairline under the list); the photos,
   the lines and the card stand down (the foot has the buttons). */
[data-fs-theme='lumina'] .fs-hdr-mobile .fs-lumm-body{display:block}
[data-fs-theme='lumina'] .fs-hdr-mobile .fs-lumm-panel{padding:0;overflow:visible;border:0;border-radius:0;background:transparent}
[data-fs-theme='lumina'] .fs-hdr-mobile .fs-lumm-img,[data-fs-theme='lumina'] .fs-hdr-mobile .fs-lumm-snip,[data-fs-theme='lumina'] .fs-hdr-mobile .fs-lumm-side{display:none}
[data-fs-theme='lumina'] .fs-hdr-mobile .fs-lumm-tiles{display:flex;flex-direction:column;gap:0}
[data-fs-theme='lumina'] .fs-hdr-mobile .fs-lumm-tile{flex-direction:row;align-items:center;justify-content:space-between;gap:12px;height:auto;min-height:44px;padding:0;border:0;border-radius:0;background:transparent}
[data-fs-theme='lumina'] .fs-hdr-mobile .fs-lumm-tile-t{display:contents}
[data-fs-theme='lumina'] .fs-hdr-mobile .fs-lumm-name{order:1;flex:1;font-family:var(--font-sans, system-ui, sans-serif);font-weight:500;font-size:15.5px;line-height:1.3;color:var(--lm-muted)}
[data-fs-theme='lumina'] .fs-hdr-mobile .fs-lumm-price{order:2;font-size:11.5px;letter-spacing:.14em;text-align:right;color:var(--lm-lamp)}
@media (prefers-reduced-motion: reduce){
  [data-fs-theme='lumina'] .fs-hdr-cta.fs-hdr-cta,[data-fs-theme='lumina'] .fsmenu-luminaCapsule,[data-fs-theme='lumina'] .fs-hdr-row .fs-hdr-group,[data-fs-theme='lumina'] .fs-lumm-tile,[data-fs-theme='lumina'] .fs-lumm-btn{transition:none}
  [data-fs-theme='lumina'] .fs-hdr-cta.fs-hdr-cta:hover,[data-fs-theme='lumina'] .fs-lumm-btn:hover{transform:none}
}


/* Tokens (mockup 55–57), FULL colours. --au-night: the night band (ink
   with 12% brand in light, the page with 14% brand in dark) and its words
   (--au-on-night, --au-on-night-2); --au-glow-a/-b: the hero's two glow
   blobs at --au-glow-k; --au-glint / --au-deep: the art panels' blobs;
   --au-disc-a/-b: the logo's two discs (the brand disc lifted on a night
   ground); --au-deck-1/-2: the two cards peeking above the stacked card;
   --au-lift / --au-drama: the family's two shadow depths. */
[data-fs-theme='aurora']{--fs-chrome-mode:light;--au-rule:rgb(var(--c-ink-950) / .12);--au-note:rgb(var(--c-ink-700));--au-hover:rgb(var(--c-brand-600) / .07);--au-night:color-mix(in srgb, rgb(var(--c-ink-950)) 88%, rgb(var(--c-brand-600)));--au-on-night:rgb(var(--c-paper));--au-on-night-2:color-mix(in srgb, var(--au-on-night) 72%, var(--au-night));--au-night-rule:color-mix(in srgb, var(--au-on-night) 16%, transparent);--au-glow-k:30%;--au-glow-a:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) var(--au-glow-k), transparent);--au-glow-b:color-mix(in srgb, color-mix(in srgb, rgb(var(--c-brand-600)) 60%, var(--au-on-night)) var(--au-glow-k), transparent);--au-glint:color-mix(in srgb, var(--au-on-night) 42%, transparent);--au-deep:color-mix(in srgb, color-mix(in srgb, rgb(var(--c-brand-600)) 55%, var(--au-night)) 55%, transparent);--au-disc-a:rgb(var(--c-brand-600));--au-disc-b:rgb(var(--c-accent, var(--c-brand-600)));--au-deck-1:color-mix(in srgb, rgb(var(--c-brand-600)) 34%, rgb(var(--c-paper)));--au-deck-2:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 34%, rgb(var(--c-paper)));--au-lift:0 18px 40px -18px rgb(0 0 0 / .24);--au-drama:0 34px 70px -26px rgb(0 0 0 / .42);--au-btn-glow:0 12px 26px -12px rgb(var(--c-brand-600) / .55)}
[data-fs-theme='aurora'].dark{--fs-chrome-mode:dark;--au-rule:rgb(var(--c-ink-950) / .16);--au-hover:rgb(var(--c-brand-600) / .12);--au-night:color-mix(in srgb, rgb(var(--c-paper)) 86%, rgb(var(--c-brand-600)));--au-on-night:rgb(var(--c-ink-950));--au-glow-k:24%;--au-deck-1:color-mix(in srgb, rgb(var(--c-brand-600)) 48%, rgb(var(--c-paper)));--au-deck-2:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 40%, rgb(var(--c-paper)));--au-lift:0 18px 40px -16px rgb(0 0 0 / .6);--au-drama:0 34px 70px -24px rgb(0 0 0 / .7)}
/* The night strip: the hero's dark stage, lit by its two glows — the
   note (small caps, quiet), the hours after the logo's two discs (the
   platform's hours dot, re-drawn), the address, quiet. Its line
   (fs-strip) drops the address at 40rem, a safety net for a longer note;
   a phone keeps the hours (and a customer's phone).
   FIX ROUND 1 (CDP-measured, precedent in fenwick-chrome-styles.ts's own
   Round 1): font-size was only declared on .fs-hdr-util (the outer,
   non-flex container), not on .fs-hdr-util-in (the flex row that is the
   items' direct parent). The platform's own unscoped base rule
   (menu-styles.ts) sets a font-size directly on .fs-hdr-util-in, which
   wins over an ancestor's inherited value for that one property — so
   .fs-hdr-util-hours/-address (which set no font-size of their own)
   rendered at the platform's caption size instead of this theme's
   12.5px, throwing them a couple of px apart from .fs-hdr-util-note
   under align-items:center and reading as two strip lines in the
   editor's narrower canvas. Re-declaring font-size on .fs-hdr-util-in
   itself fixes it for hours/address alike; .fs-hdr-util-note then also
   needs an absolute line-height (15px, matching 12.5px*1.2) rather than
   its own smaller font-size's relative 1.2, so its own line box is the
   same height as theirs and all three share one baseline row
   (precedent: emberlight-chrome-styles.ts's own .fs-hdr-util-hours{
   line-height:14px}). */
[data-fs-theme='aurora'] .fs-hdr-util{container-type:inline-size;--au-disc-a:color-mix(in srgb, rgb(var(--c-brand-600)) 55%, var(--au-on-night));background:radial-gradient(26% 240% at 86% 50%,var(--au-glow-a),transparent 70%),radial-gradient(20% 240% at 8% 50%,var(--au-glow-b),transparent 70%),var(--au-night);color:var(--au-on-night);font-weight:500;font-size:12.5px;line-height:1.2}
[data-fs-theme='aurora'] .fs-hdr-util-in{container-type:inline-size;container-name:fs-strip;display:flex;align-items:center;gap:24px;min-height:0;padding-block:9px;border-bottom:0;font-size:12.5px;color:inherit}
[data-fs-theme='aurora'] .fs-hdr-util-in .fs-hdr-util-item{display:inline-flex}
[data-fs-theme='aurora'] .fs-hdr-util-note{order:-2;margin-right:auto;font-weight:600;font-size:10.5px;line-height:15px;letter-spacing:.14em;text-transform:uppercase;color:var(--au-on-night-2)}
[data-fs-theme='aurora'] .fs-hdr-util-hours{order:-1;gap:8px;font-weight:600}
[data-fs-theme='aurora'] .fs-hdr-util-dot{width:15px;height:9px;border-radius:0;background:radial-gradient(circle at 4.5px 50%,var(--au-disc-a) 0 3.2px,transparent 4.4px),radial-gradient(circle at 10.5px 50%,var(--au-disc-b) 0 3.2px,transparent 4.4px)}
[data-fs-theme='aurora'] .fs-hdr-util-address{color:var(--au-on-night-2)}
[data-fs-theme='aurora'] .fs-hdr-util-tel{margin-left:0;font-weight:700;color:inherit}
@container fs-strip (max-width: 40rem){
  [data-fs-theme='aurora'] .fs-hdr-util-in .fs-hdr-util-item.fs-hdr-util-address{display:none}
}
@container (max-width: 40rem){
  [data-fs-theme='aurora'] .fs-hdr-util-in{display:flex;justify-content:center}
  [data-fs-theme='aurora'] .fs-hdr-util-in .fs-hdr-util-item:not(.fs-hdr-util-hours):not(.fs-hdr-util-tel){display:none}
}
/* The band: the desktop gate; its edge is the aurora on the horizon — a
   2px ribbon (brand, accent, brand, fading at both ends) and a faint
   accent glow rising 30px from it, both painted on its own background. */
[data-fs-theme='aurora'] .fs-hdr-band{container-type:inline-size;container-name:fs-band;border-bottom-width:0;padding-bottom:2px;background:linear-gradient(90deg,transparent,rgb(var(--c-brand-600)) 18%,rgb(var(--c-accent, var(--c-brand-600))) 50%,rgb(var(--c-brand-600)) 82%,transparent) 0 100%/100% 2px no-repeat,radial-gradient(44% 100% at 50% 100%,rgb(var(--c-accent, var(--c-brand-600)) / .13),transparent 78%) 0 100%/100% 30px no-repeat,rgb(var(--c-paper))}
/* The row: 80px on a desktop, 72px on a tablet, 66px at 760px and under
   (three steps from the band's width, no query on the row). */
[data-fs-theme='aurora'] .fs-hdr-row{min-height:max(clamp(66px, (100cqi - 760px) * 100, 72px), clamp(0px, (100cqi - 1023.98px) * 10000, 80px))}
/* The lockup: the two glow discs (the theme's mark, 36px) and AURORA in
   Space Grotesk caps. */
[data-fs-theme='aurora'] .fs-hdr-row > :first-child{gap:var(--au-lgap,5px);margin-right:auto;padding-right:var(--au-lpad,20px)}
[data-fs-theme='aurora'] .fs-hdr-row [data-fs-logo-mark]{width:var(--au-lh,36px);height:var(--au-lh,36px)}
[data-fs-theme='aurora'] .fs-hdr-row [data-fs-wordmark]{font-size:var(--au-wf,16.5px);line-height:1;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}
/* The button: the family's pill (brand, the solved label), a glow in its
   own colour, lifting 2px on hover. */
[data-fs-theme='aurora'] .fs-hdr-cta{--fs-hdr-cta-bg:rgb(var(--c-brand-600));--fs-hdr-cta-fg:var(--fs-on-brand, rgb(var(--c-paper)));--fs-hdr-cta-bg-hover:rgb(var(--c-brand-600));--fs-hdr-cta-fg-hover:var(--fs-on-brand, rgb(var(--c-paper)))}
[data-fs-theme='aurora'] .fs-hdr-cta.fs-hdr-cta{flex:none;padding:14px var(--au-cp,24px);border-radius:999px;font-family:inherit;font-weight:600;font-size:var(--au-cf,14.5px);line-height:1;white-space:nowrap;box-shadow:var(--au-btn-glow);transition:transform .2s ease,box-shadow .2s ease}
[data-fs-theme='aurora'] .fs-hdr-cta.fs-hdr-cta:hover{transform:translateY(-2px)}
[data-fs-theme='aurora'] .fs-hdr-row .fs-hdr-cta{margin-left:var(--au-cm,18px)}
/* The menu button: a 46px outline circle, two lines — the second short,
   in the brand, set right. */
[data-fs-theme='aurora'] .fs-hdr-menu-btn{width:46px;height:46px;margin-left:14px;border:1.5px solid rgb(var(--c-line));border-radius:50%;background:linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) 12.5px 17px/18px 2px no-repeat,linear-gradient(rgb(var(--c-brand-600)),rgb(var(--c-brand-600))) 19.5px 24px/11px 2px no-repeat}
[data-fs-theme='aurora'] .fs-hdr-menu-btn svg{display:none}
/* The mega shell: no frame of its own; the panel's soft corners and the
   dramatic shadow, 14px below the row (clear of the ribbon). */
[data-fs-theme='aurora'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite){margin-top:14px !important;background:transparent !important;border:0 !important;border-radius:22px !important;box-shadow:var(--au-drama) !important}
[data-fs-theme='aurora'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite)::before{top:-14px;height:14px}
/* Layout tiers (mockup 240–254), desktop only. The full-size header needs
   745px, so Theme, Full, Boxed and Centered keep it; Minimalist (688)
   takes the one tier: 653px used, the pills, discs and glow all stay. */
@container fs-band (min-width: 62rem){
  @container (max-width: 44rem){
    [data-fs-theme='aurora'] .fs-hdr-row > *{--au-lh:32px;--au-wf:14.8px;--au-lgap:4px;--au-lpad:12px;--au-ip:11px;--au-if:14px;--au-ig:6px;--au-cm:12px;--au-cp:11px;--au-cf:14px}
  }
}
@container (max-width: 34rem){
  [data-fs-theme='aurora'] .fs-hdr-row > *{--au-lh:31px;--au-wf:14.3px}
}
/* FIX ROUND 1 (CDP-measured, precedent in waymark/pennant/fenwick/
   northstone/turnstile-chrome-styles.ts etc.): the read-only preview
   alone renders a visitor dark/light toggle (.fs-hdr-mode) plus a
   fixed-width "Edit Template" link (TemplateViewClient.tsx), present on
   no real site. [data-fs-preview-edit] is the platform's own hook on
   that link; :has() reaches up from it so only a row that actually
   contains it is affected — published and editor markup never has it. */
@container (max-width: 34rem){
  [data-fs-theme='aurora'] .fs-hdr-row:has([data-fs-preview-edit]) .fs-hdr-mode{display:none}
}
@container (max-width: 25rem){
  [data-fs-theme='aurora'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{display:none}
}
/* Phone menu (mockup 168–192): the page colour with one faint accent glow
   in the top-right corner; "Menu" as the pill label; the close as the
   outline circle; big Space Grotesk links, each after its number (the
   pinned block's steps, a counter on the plain list); the current page
   in the brand with the logo's two discs for its number. */
[data-fs-theme='aurora'] .fs-hdr-mobile{background-image:radial-gradient(60% 30% at 100% 0%,rgb(var(--c-accent, var(--c-brand-600)) / .09),transparent 70%)}
[data-fs-theme='aurora'] .fs-hdr-mobile-head{height:auto;padding:16px 18px;border-bottom:0}
[data-fs-theme='aurora'] .fs-hdr-mobile-title{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;background:rgb(var(--fs-nav-active-tint));color:rgb(var(--fs-nav-active-on));font-family:inherit;font-weight:700;font-size:10.5px;line-height:1.2;letter-spacing:.14em;text-transform:uppercase}
[data-fs-theme='aurora'] .fs-hdr-mobile-close{width:42px;height:42px;border:1.5px solid rgb(var(--c-line));border-radius:50%;color:rgb(var(--c-ink-950))}
[data-fs-theme='aurora'] .fs-hdr-mobile > nav{padding:4px 18px 0}
[data-fs-theme='aurora'] .fs-hdr-mobile-list{border-top:1px solid var(--au-rule);counter-reset:aum}
[data-fs-theme='aurora'] .fs-hdr-mobile-row{display:flex;align-items:center;border-bottom:1px solid var(--au-rule)}
[data-fs-theme='aurora'] .fs-hdr-mobile-link:not(.is-sub){display:flex;align-items:center;gap:14px;flex:1;min-height:60px;font-family:var(--font-display, 'Space Grotesk', system-ui, sans-serif);font-weight:500;font-size:24px;line-height:1.1;letter-spacing:-.01em;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='aurora'] .fs-hdr-mobile-link:not(.is-sub)::before{counter-increment:aum;content:counter(aum, decimal-leading-zero);flex:none;width:26px;font-weight:600;font-size:12px;line-height:1;letter-spacing:.12em;color:rgb(var(--c-brand-text))}
[data-fs-theme='aurora'] .fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false']){color:rgb(var(--c-brand-text))}
[data-fs-theme='aurora'] .fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false'])::before{content:"";height:9px;background:radial-gradient(circle at 4.5px 50%,var(--au-disc-a) 0 3.2px,transparent 4.4px),radial-gradient(circle at 10.5px 50%,var(--au-disc-b) 0 3.2px,transparent 4.4px)}
[data-fs-theme='aurora'] .fs-hdr-mobile-toggle{margin-right:8px;color:rgb(var(--c-ink-950))}
[data-fs-theme='aurora'] .fs-hdr-mobile-row:has(.fs-hdr-mobile-toggle[aria-expanded='true']){border-bottom:0}
[data-fs-theme='aurora'] .fs-hdr-mobile-sub{padding:2px 0 14px;border-bottom:1px solid var(--au-rule)}
/* Bottom section (mockup 188–192, via FEET.aurora): a small night card —
   the footer's night in miniature, lit by the two glows, the dramatic
   shadow: the hours after the two discs, a customer's phone if set, then
   the button full width. No email, no fixed words (R-B7-1). */
[data-fs-theme='aurora'] .fs-pmf-aurora{margin:22px 0}
[data-fs-theme='aurora'] .fs-pmf-night{--au-disc-a:color-mix(in srgb, rgb(var(--c-brand-600)) 55%, var(--au-on-night));display:grid;gap:16px;padding:20px;border-radius:22px;background:radial-gradient(50% 90% at 100% 0%,var(--au-glow-a),transparent 72%),radial-gradient(50% 90% at 0% 100%,var(--au-glow-b),transparent 72%),var(--au-night);color:var(--au-on-night);box-shadow:var(--au-drama)}
[data-fs-theme='aurora'] .fs-pmf-hours{display:flex;align-items:center;gap:10px;margin:0;font-family:var(--font-display, 'Space Grotesk', system-ui, sans-serif);font-weight:600;font-size:20px;line-height:1.2}
[data-fs-theme='aurora'] .fs-pmf-hours::before{content:"";flex:none;width:15px;height:9px;background:radial-gradient(circle at 4.5px 50%,var(--au-disc-a) 0 3.2px,transparent 4.4px),radial-gradient(circle at 10.5px 50%,var(--au-disc-b) 0 3.2px,transparent 4.4px)}
[data-fs-theme='aurora'] .fs-pmf-line{margin:0;font-weight:600;font-size:17px;line-height:1.3}
[data-fs-theme='aurora'] .fs-pmf-tel{color:inherit;text-decoration:none}
[data-fs-theme='aurora'] .fs-pmf .fs-hdr-cta.fs-pmf-cta{display:flex;width:100%;margin:0;padding-block:16px}
/* The panel (mockup 63–69 for the discs, 113–160 for the rest): the page
   colour, a soft hairline, 22px corners (its shadow is on the shell
   above), two faint glows in the top-right and bottom-left corners. The
   three service cards (gradient art, the 01/02/03 counter, the name, a
   line and the recent project — the showcase's middle-card offset) beside
   the stacked card (how-we-work, the ticks with the logo's two discs, the
   full-width button); the hero's proof row under a full-width hairline. */
[data-fs-theme='aurora'] .fs-aum-panel{--au-g:clamp(16px,2.2cqi,30px);container-type:inline-size;isolation:isolate;padding:26px 28px 0;border:1px solid var(--au-rule);border-radius:22px;background:radial-gradient(36% 70% at 100% 0%,rgb(var(--c-accent, var(--c-brand-600)) / .1),transparent 72%),radial-gradient(30% 60% at 0% 100%,rgb(var(--c-brand-600) / .08),transparent 72%),rgb(var(--c-paper))}
[data-fs-theme='aurora'] .fs-aum-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px var(--au-g);padding-bottom:22px}
[data-fs-theme='aurora'] .fs-aum-pill{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:999px;background:rgb(var(--fs-nav-active-tint));color:rgb(var(--fs-nav-active-on));font-weight:700;font-size:10.5px;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
[data-fs-theme='aurora'] .fs-aum-title{margin:12px 0 0;font-family:var(--font-display, 'Space Grotesk', system-ui, sans-serif);font-weight:600;font-size:26px;line-height:1.12;letter-spacing:-.01em}
[data-fs-theme='aurora'] .fs-aum-intro{margin:0;max-width:46ch;font-size:14px;line-height:1.6;color:var(--au-note);text-wrap:pretty}
[data-fs-theme='aurora'] .fs-aum-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1.12fr);gap:var(--au-g);align-items:start}
[data-fs-theme='aurora'] .fs-aum-svcs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--au-g);align-items:start;counter-reset:aus}
[data-fs-theme='aurora'] .fs-aum-svc{display:flex;flex-direction:column;min-width:0;padding:9px 9px 16px;background:rgb(var(--c-paper-soft));border:1px solid var(--au-rule);border-radius:18px;box-shadow:var(--au-lift);transition:transform .25s ease}
[data-fs-theme='aurora'] .fs-aum-svc:nth-child(2){margin-top:18px}
[data-fs-theme='aurora'] .fs-aum-svc:hover{transform:translateY(-3px)}
[data-fs-theme='aurora'] .fs-aum-art{display:block;height:var(--au-ah,94px);border-radius:12px;transition:background-position .8s cubic-bezier(.22,.61,.36,1)}
[data-fs-theme='aurora'] .fs-aum-svc:hover .fs-aum-art{background-position:48% 52%,30% 70%,100% 80%}
[data-fs-theme='aurora'] .fs-aum-art--1{background:radial-gradient(closest-side,var(--au-glint),transparent) 74% 26%/34% 58% no-repeat,radial-gradient(closest-side,var(--au-deep),transparent) 12% 100%/60% 90% no-repeat,linear-gradient(145deg,color-mix(in srgb, rgb(var(--c-brand-600)) 88%, transparent),color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 58%, transparent)) 0 0/170% 170%}
[data-fs-theme='aurora'] .fs-aum-art--2{background:radial-gradient(closest-side,var(--au-glint),transparent) 22% 68%/30% 54% no-repeat,radial-gradient(closest-side,var(--au-deep),transparent) 100% 0%/56% 90% no-repeat,linear-gradient(200deg,color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 80%, transparent),color-mix(in srgb, rgb(var(--c-brand-600)) 68%, transparent)) 0 0/170% 170%}
[data-fs-theme='aurora'] .fs-aum-art--3{background:radial-gradient(closest-side,var(--au-glint),transparent) 84% 74%/28% 50% no-repeat,radial-gradient(closest-side,var(--au-deep),transparent) 30% 0%/62% 90% no-repeat,linear-gradient(120deg,color-mix(in srgb, rgb(var(--c-brand-600)) 72%, transparent),color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 86%, transparent)) 0 0/170% 170%}
[data-fs-theme='aurora'] .fs-aum-svc-b{display:flex;flex-direction:column;min-width:0;padding:15px 8px 0}
[data-fs-theme='aurora'] .fs-aum-svc-b::before{counter-increment:aus;content:counter(aus,decimal-leading-zero);font-family:var(--font-display, 'Space Grotesk', system-ui, sans-serif);font-weight:600;font-size:12.5px;line-height:1;letter-spacing:.12em;color:rgb(var(--c-brand-text))}
[data-fs-theme='aurora'] .fs-aum-name{margin-top:8px;font-family:var(--font-display, 'Space Grotesk', system-ui, sans-serif);font-weight:600;font-size:20px;line-height:1.2;letter-spacing:-.005em;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='aurora'] .fs-aum-name:hover{color:rgb(var(--c-brand-text))}
[data-fs-theme='aurora'] .fs-aum-desc{margin:7px 0 0;max-width:34ch;font-size:13.5px;line-height:1.55;color:var(--au-note);text-wrap:pretty}
[data-fs-theme='aurora'] .fs-aum-recent{margin:14px 0 0;display:flex;flex-direction:column;gap:3px;padding-top:11px;border-top:1px solid var(--au-rule)}
[data-fs-theme='aurora'] .fs-aum-recent-t{font-weight:600;font-size:14px;line-height:1.3}
[data-fs-theme='aurora'] .fs-aum-recent-g{font-size:12.5px;line-height:1.3;color:rgb(var(--c-ink-400))}
[data-fs-theme='aurora'] .fs-aum-recent-l{margin-right:6px;font-weight:700;font-size:10px;line-height:1;font-style:normal;letter-spacing:.14em;text-transform:uppercase}
[data-fs-theme='aurora'] .fs-aum-deck{display:flex;flex-direction:column;align-items:flex-start;min-width:0;margin-top:18px;padding:22px 22px 20px;background:rgb(var(--c-paper-soft));border:1px solid var(--au-rule);border-radius:18px;box-shadow:0 -14px 0 -8px var(--au-deck-1),0 -27px 0 -15px var(--au-deck-2),var(--au-lift)}
[data-fs-theme='aurora'] .fs-aum-deck-t{margin:14px 0 0;font-family:var(--font-display, 'Space Grotesk', system-ui, sans-serif);font-weight:600;font-size:21px;line-height:1.2;letter-spacing:-.005em;text-wrap:pretty}
[data-fs-theme='aurora'] .fs-aum-ticks{margin:14px 0 0;display:grid;gap:8px;font-size:13.5px;line-height:1.35;list-style:none;padding:0}
[data-fs-theme='aurora'] .fs-aum-tick{display:flex;align-items:baseline;gap:9px}
[data-fs-theme='aurora'] .fs-aum-tick::before{content:"";flex:none;width:15px;height:9px;background:radial-gradient(circle at 4.5px 50%,var(--au-disc-a) 0 3.2px,transparent 4.4px),radial-gradient(circle at 10.5px 50%,var(--au-disc-b) 0 3.2px,transparent 4.4px)}
[data-fs-theme='aurora'] .fs-aum-cta{display:flex;align-items:center;justify-content:center;width:100%;margin:18px 0 0;padding:14px 24px;border-radius:999px;background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)));font-weight:600;font-size:14.5px;line-height:1;white-space:nowrap;box-shadow:var(--au-btn-glow);transition:transform .2s ease;text-decoration:none}
[data-fs-theme='aurora'] .fs-aum-cta:hover{transform:translateY(-2px)}
[data-fs-theme='aurora'] .fs-aum-deck-note{margin:10px 0 0;align-self:center;font-size:12.5px;color:rgb(var(--c-ink-400));text-align:center;text-wrap:balance}
[data-fs-theme='aurora'] .fs-aum-proof{margin:24px -28px 0;display:flex;flex-wrap:wrap;align-items:baseline;gap:12px var(--au-g);padding:17px 28px 19px;border-top:1px solid var(--au-rule)}
[data-fs-theme='aurora'] .fs-aum-proof-i{margin:0;display:flex;align-items:baseline;gap:8px;font-size:13.5px;color:var(--au-note);white-space:nowrap}
[data-fs-theme='aurora'] .fs-aum-proof-v{font-family:var(--font-display, 'Space Grotesk', system-ui, sans-serif);font-weight:600;font-size:24px;line-height:1;letter-spacing:-.01em;color:rgb(var(--c-ink-950))}
[data-fs-theme='aurora'] .fs-aum-proof-links{display:flex;flex-wrap:wrap;gap:6px 20px;margin-left:auto}
[data-fs-theme='aurora'] .fs-aum-link{font-weight:600;font-size:14px;line-height:1.3;color:rgb(var(--c-brand-text));text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px;text-decoration-color:color-mix(in srgb, rgb(var(--c-brand-text)) 40%, transparent);white-space:nowrap}
[data-fs-theme='aurora'] .fs-aum-link:hover{text-decoration-color:currentColor}
/* The panel matches the bar; content box = panel − 2px − 56px (1334 /
   1174 / 1094 / 822 / 726 / 630; phone-menu copies 732 and 354).
   WIDE (Full at 1440): a bigger rail, not the same one stretched. */
@container (min-width: 78rem){
  [data-fs-theme='aurora'] .fs-aum-art{--au-ah:118px}
  [data-fs-theme='aurora'] .fs-aum-svc{padding:10px 10px 20px}
  [data-fs-theme='aurora'] .fs-aum-svc-b{padding:18px 12px 0}
  [data-fs-theme='aurora'] .fs-aum-name{font-size:22px}
  [data-fs-theme='aurora'] .fs-aum-title{font-size:30px}
  [data-fs-theme='aurora'] .fs-aum-deck{padding:26px 26px 22px}
  [data-fs-theme='aurora'] .fs-aum-deck-t{font-size:23px}
}
/* MIDDLE (Boxed, Centered, Minimalist, the tablet menu): the services as
   rows (a 68px art square) beside the stacked card; two columns at 630. */
@container (max-width: 64rem){
  [data-fs-theme='aurora'] .fs-aum-grid{grid-template-columns:minmax(0,1fr) minmax(13rem,.62fr)}
  [data-fs-theme='aurora'] .fs-aum-svcs{grid-template-columns:minmax(0,1fr);gap:12px}
  [data-fs-theme='aurora'] .fs-aum-svc{display:grid;grid-template-columns:68px minmax(0,1fr);gap:0 16px;padding:9px 16px 12px 9px;border-radius:16px}
  [data-fs-theme='aurora'] .fs-aum-svc:nth-child(2){margin-top:0}
  [data-fs-theme='aurora'] .fs-aum-art{height:68px;border-radius:10px;background-size:56% 56%,96% 96%,170% 170%}
  [data-fs-theme='aurora'] .fs-aum-svc-b{padding:5px 0 0}
  [data-fs-theme='aurora'] .fs-aum-name{margin-top:6px;font-size:18px}
  [data-fs-theme='aurora'] .fs-aum-desc{margin-top:4px;max-width:none}
  [data-fs-theme='aurora'] .fs-aum-recent{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:2px 8px;margin-top:8px;padding-top:0;border-top:0}
  [data-fs-theme='aurora'] .fs-aum-recent-t{font-size:13px}
  [data-fs-theme='aurora'] .fs-aum-deck{margin-top:18px}
  [data-fs-theme='aurora'] .fs-aum-title{font-size:23px}
}
@container (max-width: 46rem){
  [data-fs-theme='aurora'] .fs-aum-grid{grid-template-columns:minmax(0,1fr) minmax(12rem,.58fr)}
  [data-fs-theme='aurora'] .fs-aum-deck{padding:20px 18px 18px}
  [data-fs-theme='aurora'] .fs-aum-deck-t{font-size:19px}
  [data-fs-theme='aurora'] .fs-aum-proof-v{font-size:21px}
}
/* Minimalist (630): the rows keep name and recent project. */
@container (max-width: 40rem){
  [data-fs-theme='aurora'] .fs-aum-desc{display:none}
}
/* The same composite in the phone menu: the head, stacked card, proof
   row, lines and the cards' own numbers leave (the list is numbered). */
[data-fs-theme='aurora'] .fs-hdr-mobile .fs-aum-panel{padding:0;border:0;border-radius:0;background:transparent}
[data-fs-theme='aurora'] .fs-hdr-mobile .fs-aum-head,[data-fs-theme='aurora'] .fs-hdr-mobile .fs-aum-deck,[data-fs-theme='aurora'] .fs-hdr-mobile .fs-aum-proof,[data-fs-theme='aurora'] .fs-hdr-mobile .fs-aum-desc{display:none}
[data-fs-theme='aurora'] .fs-hdr-mobile .fs-aum-grid{grid-template-columns:minmax(0,1fr)}
[data-fs-theme='aurora'] .fs-hdr-mobile .fs-aum-svc{box-shadow:none}
[data-fs-theme='aurora'] .fs-hdr-mobile .fs-aum-svc-b::before{display:none}
/* The tablet menu (732): the three services side by side again, as small
   rail cards. */
@container (min-width: 36rem){
  [data-fs-theme='aurora'] .fs-hdr-mobile .fs-aum-svcs{grid-template-columns:repeat(3,minmax(0,1fr))}
  [data-fs-theme='aurora'] .fs-hdr-mobile .fs-aum-svc{display:flex;flex-direction:column;padding:9px 9px 14px}
  [data-fs-theme='aurora'] .fs-hdr-mobile .fs-aum-art{height:74px;min-height:0}
  [data-fs-theme='aurora'] .fs-hdr-mobile .fs-aum-svc-b{padding:10px 6px 0}
  [data-fs-theme='aurora'] .fs-hdr-mobile .fs-aum-recent{flex-direction:column;gap:2px}
}
@container (max-width: 30rem){
  [data-fs-theme='aurora'] .fs-aum-grid{grid-template-columns:minmax(0,1fr)}
  [data-fs-theme='aurora'] .fs-aum-svc{grid-template-columns:56px minmax(0,1fr);gap:0 13px}
  [data-fs-theme='aurora'] .fs-aum-art{height:56px}
  [data-fs-theme='aurora'] .fs-aum-name{font-size:17.5px}
}
@media (prefers-reduced-motion: reduce){
  [data-fs-theme='aurora'] .fs-hdr-cta.fs-hdr-cta,[data-fs-theme='aurora'] .fs-aum-svc,[data-fs-theme='aurora'] .fs-aum-art,[data-fs-theme='aurora'] .fs-aum-cta{transition:none}
  [data-fs-theme='aurora'] .fs-hdr-cta.fs-hdr-cta:hover,[data-fs-theme='aurora'] .fs-aum-svc:hover,[data-fs-theme='aurora'] .fs-aum-cta:hover{transform:none}
}


/* Tokens, FULL colours, as the mockup's palette() maps onto the theme's
   variables (sunline-styles.ts does the same): --sl-ink / --sl-muted the words,
   --sl-surface the header and the panel, --sl-bg the page, --sl-wash the hover,
   --sl-line the hairlines, --sl-sun the brand (dark words on it:
   --sl-onsun), --sl-deep the deeper step of the same hue for words on a light
   ground (the accent). --sl-cell is the navy: the ink in light, the page colour
   deepened in dark; --sl-paper the words on it; --sl-cell2 the lighter navy of a
   card on it; --sl-invmuted / --sl-invline its muted words and hairlines;
   --sl-i-*: the colourless icon masks (seo-icon-masks.ts). */
[data-fs-theme='analytics']{--fs-chrome-mode:light;--sl-ink:rgb(var(--c-ink-950));--sl-muted:rgb(var(--c-ink-700));--sl-surface:rgb(var(--c-paper-soft));--sl-bg:rgb(var(--c-paper));--sl-wash:rgb(var(--c-paper-sunk));--sl-line:rgb(var(--c-line));--sl-rule:rgb(var(--c-ink-950) / .12);--sl-sun:rgb(var(--c-brand-600));--sl-onsun:var(--fs-on-brand, rgb(var(--c-ink-950)));--sl-deep:rgb(var(--c-accent, var(--c-brand-600)));--sl-cell:rgb(var(--c-ink-950));--sl-paper:rgb(var(--c-paper));--sl-cell2:color-mix(in oklab, var(--sl-cell), var(--sl-paper) 10%);--sl-invmuted:color-mix(in srgb, var(--sl-paper) 72%, var(--sl-cell));--sl-invline:color-mix(in srgb, var(--sl-paper) 14%, transparent);--sl-i-tel:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1z'/%3E%3C/svg%3E");--sl-i-pin:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M12 1.5C7.3 1.5 3.5 5.2 3.5 9.9c0 6.1 8.5 12.6 8.5 12.6s8.5-6.5 8.5-12.6C20.5 5.2 16.7 1.5 12 1.5zm0 11.6a3.2 3.2 0 1 1 0-6.4 3.2 3.2 0 0 1 0 6.4z'/%3E%3C/svg%3E")}
[data-fs-theme='analytics'].dark{--fs-chrome-mode:dark;--sl-rule:rgb(var(--c-ink-950) / .16);--sl-cell:color-mix(in oklab, rgb(var(--c-paper)), black 40%);--sl-paper:rgb(var(--c-ink-950));--sl-cell2:rgb(var(--c-paper-soft))}
/* The strip is the navy line above the row: the pulsing sun dot before the
   note on the left, the hours and the phone (bold, after a dot) at the right.
   Its line (fs-strip) drops the note at 46rem, and on a phone (30rem) drops the
   hours too, but only where a phone number follows them to take their place; a
   site with hours and no number keeps its hours. The platform's own hours dot is
   not drawn: the note carries the sun's.
   The dot answers to Site Settings → Motion (sunPulse). */
[data-fs-theme='analytics'] .fs-hdr-util{container-type:inline-size;background:var(--sl-cell);font-size:14px;line-height:1.4;color:var(--sl-invmuted)}
[data-fs-theme='analytics'] .fs-hdr-util-in{container-type:inline-size;container-name:fs-strip;display:flex;flex-wrap:nowrap;align-items:center;gap:8px;min-height:40px;padding-block:0;border-bottom:0;font-size:14px;color:inherit}
[data-fs-theme='analytics'] .fs-hdr-util-in .fs-hdr-util-item{display:inline-flex}
[data-fs-theme='analytics'] .fs-hdr-util-item{gap:8px}
[data-fs-theme='analytics'] .fs-hdr-util-note{order:-1;min-width:0}
[data-fs-theme='analytics'] .fs-hdr-util-note::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--sl-sun);box-shadow:0 0 0 0 var(--sl-sun);animation:var(--fs-anim-sunPulse, sunline-pulse 2.4s ease-out infinite)}
[data-fs-theme='analytics'] .fs-hdr-util-dot{display:none}
[data-fs-theme='analytics'] .fs-hdr-util-hours{margin-left:auto}
[data-fs-theme='analytics'] .fs-hdr-util-hours:has(~ .fs-hdr-util-tel)::after{content:"·";margin-left:8px}
[data-fs-theme='analytics'] .fs-hdr-util-hours ~ .fs-hdr-util-tel{margin-left:0}
[data-fs-theme='analytics'] .fs-hdr-util-tel{font-weight:600;color:var(--sl-paper)}
@container fs-strip (max-width: 46rem){
  [data-fs-theme='analytics'] .fs-hdr-util-in .fs-hdr-util-item.fs-hdr-util-note{display:none}
}
@container (max-width: 40rem){
  [data-fs-theme='analytics'] .fs-hdr-util-in{display:flex;justify-content:center}
  [data-fs-theme='analytics'] .fs-hdr-util-in .fs-hdr-util-item:not(.fs-hdr-util-hours):not(.fs-hdr-util-tel){display:none}
  [data-fs-theme='analytics'] .fs-hdr-util-in .fs-hdr-util-item.fs-hdr-util-hours{margin-left:0}
}
/* The two-part hours ("Mon–Fri 8:00–18:00 · Sat 9:00–14:00") and the phone need about 420px side by side;
   a phone has 358, so there the strip keeps the number to tap and the hours are in the menu's foot.
   Only when there IS a number after the hours (the :has, as the dot above): with hours alone the strip
   would be an empty bar, and the hours alone fit. */
@container fs-strip (max-width: 30rem){
  [data-fs-theme='analytics'] .fs-hdr-util-in .fs-hdr-util-item.fs-hdr-util-hours:has(~ .fs-hdr-util-tel){display:none}
}
@keyframes sunline-pulse{0%{box-shadow:0 0 0 0 var(--sl-sun)}70%,100%{box-shadow:0 0 0 9px transparent}}
/* The band: the desktop gate; the row is white (the surface) with a hairline. */
[data-fs-theme='analytics'] .fs-hdr-band{container-type:inline-size;container-name:fs-band;background:var(--sl-surface);border-bottom:1px solid var(--sl-line)}
[data-fs-theme='analytics'] .fs-hdr-row{min-height:clamp(64px, (100cqi - 760px) * 100, 84px)}
/* The lockup: the sun-arc mark (the theme's logoMarkSvg, R-B7-6) and the name
   in Bricolage Grotesque 800 (the header font setting) at 88% width, wrapping
   at a 9em measure so a long name has room. */
[data-fs-theme='analytics'] .fs-hdr-row > :first-child{gap:var(--an-lgap,12px);margin-right:auto;padding-right:var(--an-lpad,28px)}
[data-fs-theme='analytics'] .fs-hdr-row [data-fs-logo-mark]{width:var(--an-mw,44px);height:var(--an-mh,40px)}
[data-fs-theme='analytics'] .fs-hdr-row [data-fs-wordmark]{max-width:9em;font-size:var(--an-wf,25px);font-stretch:88%;line-height:1;letter-spacing:-.01em;white-space:normal}
/* The nav: pills. Hover and the open item take the wash; the page you are on
   reads in the deep sun, no plate. (menu-styles.ts's insightsTab, restyled
   here; --an-ip / --an-pg / --an-fs are the knobs the Layout tiers turn.) */
[data-fs-theme='analytics'] .fsmenu-insightsTab-nav{gap:var(--an-ng,4px)}
[data-fs-theme='analytics'] .fsmenu-insightsTab{gap:var(--an-pg,6px);padding:10px var(--an-ip,14px);border-radius:999px;font-weight:500;font-size:var(--an-fs,16px);line-height:1.2;color:var(--sl-ink)}
[data-fs-theme='analytics'] .fsmenu-insightsTab::before{display:none}
[data-fs-theme='analytics'] .fsmenu-insightsTab:hover,[data-fs-theme='analytics'] .fsmenu-insightsTab:focus-visible,[data-fs-theme='analytics'] .fs-hdr-group[data-open] > .fsmenu-insightsTab{background:var(--sl-wash);color:var(--sl-ink)}
[data-fs-theme='analytics'] .fs-hdr-group[data-open] > .fsmenu-insightsTab{font-weight:600}
[data-fs-theme='analytics'] .fsmenu-insightsTab[aria-current]:not([aria-current='false']){background:transparent;color:var(--sl-deep);font-weight:600}
[data-fs-theme='analytics'] .fsmenu-insightsTab[aria-current]:not([aria-current='false']):hover{background:var(--sl-wash)}
/* The button: the sun, dark words, a pill, lifting 2px on hover (the blocks'). */
[data-fs-theme='analytics'] .fs-hdr-cta{--fs-hdr-cta-bg:var(--sl-sun);--fs-hdr-cta-fg:var(--sl-onsun);--fs-hdr-cta-bg-hover:var(--sl-sun);--fs-hdr-cta-fg-hover:var(--sl-onsun)}
[data-fs-theme='analytics'] .fs-hdr-cta.fs-hdr-cta{flex:none;padding:var(--an-cpy,16.5px) var(--an-cp,22px);border-radius:999px;font-family:inherit;font-weight:600;font-size:var(--an-cf,15px);line-height:1;white-space:nowrap;box-shadow:none;transition:transform .2s ease,background-color .2s ease}
[data-fs-theme='analytics'] .fs-hdr-cta.fs-hdr-cta:hover{transform:translateY(-2px)}
[data-fs-theme='analytics'] .fs-hdr-row .fs-hdr-cta{margin-left:var(--an-cm,22px)}
/* The menu button: 44px, 12px corners, the 3:1 border, three ink bars, the last
   one short, as the mockup's icon. */
[data-fs-theme='analytics'] .fs-hdr-menu-btn{width:44px;height:44px;margin-left:12px;border:1px solid var(--sl-line);border-radius:12px;background:linear-gradient(var(--sl-ink),var(--sl-ink)) 14px 16px/13px 2px no-repeat,linear-gradient(var(--sl-ink),var(--sl-ink)) 14px 20px/13px 2px no-repeat,linear-gradient(var(--sl-ink),var(--sl-ink)) 14px 24px/8px 2px no-repeat,var(--sl-surface)}
[data-fs-theme='analytics'] .fs-hdr-menu-btn svg{display:none}
/* The mega shell: no frame of its own; the panel's 22px corners and the
   mockup's long shadow, 12px below the row. */
[data-fs-theme='analytics'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite){margin-top:12px !important;background:transparent !important;border:0 !important;border-radius:22px !important;box-shadow:0 40px 80px -30px rgb(0 0 0 / .55),0 2px 8px rgb(0 0 0 / .15) !important}
[data-fs-theme='analytics'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite)::before{top:-12px;height:12px}
/* Layout tiers, desktop only. Full size needs about 1000px (six nav items, the
   lockup and the button). Each narrowed Layout shrinks the nav type, its
   padding, the lockup and the button together; nothing goes below 12px.
   Budgets (measured with the real fonts in a headless browser on a static
   render of the real CSS, 2026-10-28; not yet on the live editor): Boxed 880px
   of row, ~820 used; Centered 784, ~730; Minimalist 688, ~630. --an-ng is the
   gap between nav items. */
@container fs-band (min-width: 62rem){
  /* Boxed (880). */
  @container (max-width: 60rem){
    [data-fs-theme='analytics'] .fs-hdr-row > *{--an-lpad:12px;--an-mw:34px;--an-mh:31px;--an-wf:20px;--an-lgap:8px;--an-ip:7px;--an-pg:5px;--an-fs:14px;--an-ng:2px;--an-cm:10px;--an-cp:15px;--an-cpy:15px;--an-cf:14px}
  }
  /* Centered (784). */
  @container (max-width: 50rem){
    [data-fs-theme='analytics'] .fs-hdr-row > *{--an-lpad:8px;--an-mw:30px;--an-mh:27px;--an-wf:18px;--an-lgap:6px;--an-ip:5px;--an-pg:5px;--an-fs:13px;--an-ng:2px;--an-cm:8px;--an-cp:13px;--an-cpy:15.25px;--an-cf:13.5px}
  }
  /* Minimalist (688): the nav, the lockup and the button all stay. */
  @container (max-width: 44rem){
    [data-fs-theme='analytics'] .fs-hdr-row > *{--an-lpad:6px;--an-mw:24px;--an-mh:22px;--an-wf:15px;--an-lgap:5px;--an-ip:3px;--an-pg:4px;--an-fs:12px;--an-ng:0px;--an-cm:4px;--an-cp:10px;--an-cpy:15.5px;--an-cf:12.5px}
  }
}
@container (max-width: 34rem){
  [data-fs-theme='analytics'] .fs-hdr-row > *{--an-mw:36px;--an-mh:33px;--an-wf:21px}
}
/* The read-only preview alone renders a visitor dark/light toggle
   (.fs-hdr-mode) plus a fixed-width "Edit Template" link
   (TemplateViewClient.tsx), present on no real site; [data-fs-preview-edit] is
   the platform's own hook on that link. On a phone-width row the toggle and the
   wordmark give way so the menu button stays on screen (the mark stays). */
@container (max-width: 34rem){
  [data-fs-theme='analytics'] .fs-hdr-row:has([data-fs-preview-edit]) .fs-hdr-mode{display:none}
  [data-fs-theme='analytics'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{display:none}
}
/* The phone menu is a navy sheet (PhoneMenu.dc.html): the head carries "Menu"
   in the display face behind a small sun arc, and a 44px close with a hairline
   border; the rows are the display face at 700 on invline hairlines, the
   current page in the sun, the chevron in the sun. */
[data-fs-theme='analytics'] .fs-hdr-mobile{background:var(--sl-cell);color:var(--sl-paper)}
[data-fs-theme='analytics'] .fs-hdr-mobile-head{height:auto;min-height:64px;gap:10px;padding:0 12px 0 16px;border-bottom:1px solid var(--sl-invline);background:transparent}
[data-fs-theme='analytics'] .fs-hdr-mobile-title{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display, system-ui, sans-serif);font-weight:800;font-size:21px;font-stretch:88%;line-height:1;letter-spacing:-.01em;color:var(--sl-paper)}
[data-fs-theme='analytics'] .fs-hdr-mobile-title::before{content:"";flex:none;box-sizing:border-box;width:30px;height:15px;border:3px solid var(--sl-sun);border-bottom:0;border-radius:15px 15px 0 0;background:radial-gradient(circle at 80% 18%, var(--sl-sun) 0 2.6px, transparent 3px)}
[data-fs-theme='analytics'] .fs-hdr-mobile-close{width:44px;height:44px;margin-left:auto;border:1px solid color-mix(in srgb, var(--sl-paper) 20%, transparent);border-radius:12px;color:var(--sl-paper)}
[data-fs-theme='analytics'] .fs-hdr-mobile > nav{display:flex;flex-direction:column;padding:12px 16px 16px}
[data-fs-theme='analytics'] .fs-hdr-mobile-list{display:flex;flex:none;flex-direction:column;gap:6px;margin:0 0 16px;padding:0;list-style:none}
[data-fs-theme='analytics'] .fs-hdr-mobile-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--sl-invline)}
[data-fs-theme='analytics'] .fs-hdr-mobile-link:not(.is-sub){display:flex;align-items:center;flex:1;min-height:56px;padding:0 6px;font-family:var(--font-display, system-ui, sans-serif);font-weight:700;font-size:26px;font-stretch:86%;line-height:1.1;color:var(--sl-paper);text-decoration:none}
[data-fs-theme='analytics'] .fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false']){color:var(--sl-sun)}
[data-fs-theme='analytics'] .fs-hdr-mobile-link.is-sub{display:block;padding:10px 6px;font-size:16px;color:var(--sl-paper);text-decoration:none}
[data-fs-theme='analytics'] .fs-hdr-mobile-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--sl-sun)}
[data-fs-theme='analytics'] .fs-hdr-mobile-sub{margin:0;padding:10px 0 12px;border-left:0;list-style:none}
/* The foot: the sun button, then the phone as an outlined button with its
   handset (a tel: link: the hero's call button hides on a phone), then the
   hours. No fixed words. */
[data-fs-theme='analytics'] .fs-pmf-analytics{display:flex;flex-direction:column;gap:10px;margin-top:auto;padding-top:16px;border-top:1px solid var(--sl-invline)}
[data-fs-theme='analytics'] .fs-pmf .fs-hdr-cta.fs-pmf-cta{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;margin:0;padding:0 24px;border-radius:999px;font-size:16px;line-height:1.2}
[data-fs-theme='analytics'] .fs-pmf-analytics .fs-pmf-big{margin:0}
[data-fs-theme='analytics'] .fs-pmf-analytics .fs-pmf-tel{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;border:2px solid var(--sl-paper);border-radius:999px;font-weight:600;font-size:16px;line-height:1.2;font-variant-numeric:tabular-nums;color:var(--sl-paper);text-decoration:none}
[data-fs-theme='analytics'] .fs-pmf-analytics .fs-pmf-tel::before{content:"";flex:none;width:18px;height:18px;background:currentColor;-webkit-mask:var(--sl-i-tel) center/contain no-repeat;mask:var(--sl-i-tel) center/contain no-repeat}
[data-fs-theme='analytics'] .fs-pmf-analytics .fs-pmf-hours{margin:0;font-size:13px;line-height:1.4;text-align:center;color:var(--sl-invmuted)}
/* The Systems panel (analytics.services): the content box; the shell's shadow
   sits on the columns panel (the rule above). */
[data-fs-theme='analytics'] .fs-sunm-panel{container-type:inline-size;padding:28px;overflow:hidden;background:var(--sl-surface);border:1px solid var(--sl-rule);border-radius:22px;color:var(--sl-ink)}
[data-fs-theme='analytics'] .fs-sunm-body{display:grid;grid-template-columns:minmax(0,330px) minmax(0,1fr);gap:28px}
[data-fs-theme='analytics'] .fs-sunm-panel p,[data-fs-theme='analytics'] .fs-sunm-panel ul{margin:0}
[data-fs-theme='analytics'] .fs-sunm-panel ul{list-style:none;padding:0}
[data-fs-theme='analytics'] .fs-sunm-panel a{text-decoration:none}
[data-fs-theme='analytics'] .fs-sunm-intro{display:flex;flex-direction:column;align-items:flex-start;gap:14px;min-width:0;padding:8px 4px}
[data-fs-theme='analytics'] .fs-sunm-eyebrow{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:12.5px;line-height:1;letter-spacing:.14em;text-transform:uppercase;color:var(--sl-deep)}
[data-fs-theme='analytics'] .fs-sunm-arc{flex:none;width:24px;height:14px}
[data-fs-theme='analytics'] .fs-sunm-title{font-family:var(--font-display, system-ui, sans-serif);font-weight:700;font-stretch:84%;font-size:36px;line-height:1.02;letter-spacing:-.01em;color:var(--sl-ink)}
[data-fs-theme='analytics'] .fs-sunm-lede{font-size:15.5px;line-height:1.55;color:var(--sl-muted)}
[data-fs-theme='analytics'] .fs-sunm-link{display:inline-flex;gap:8px;align-self:flex-start;padding-bottom:2px;border-bottom:2px solid currentColor;font-weight:600;font-size:15px;line-height:1.3;color:var(--sl-deep)}
[data-fs-theme='analytics'] .fs-sunm-link:hover{opacity:.8}
[data-fs-theme='analytics'] .fs-sunm-link.is-bar{padding:0;border:0;white-space:nowrap}
[data-fs-theme='analytics'] .fs-sunm-mini{align-self:stretch;display:flex;flex-direction:column;gap:10px;margin-top:auto;padding:18px;border-radius:16px;background:var(--sl-cell);color:var(--sl-paper)}
[data-fs-theme='analytics'] .fs-sunm-mini-k{display:flex;align-items:center;gap:8px;font-weight:700;font-size:12px;line-height:1;letter-spacing:.12em;text-transform:uppercase;color:var(--sl-invmuted)}
[data-fs-theme='analytics'] .fs-sunm-mini-k::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--sl-sun);box-shadow:0 0 0 0 var(--sl-sun);animation:var(--fs-anim-sunPulse, sunline-pulse 2.4s ease-out infinite)}
[data-fs-theme='analytics'] .fs-sunm-mini-row{display:flex;flex-wrap:wrap;gap:10px 22px}
[data-fs-theme='analytics'] .fs-sunm-fig{display:flex;flex-direction:column;gap:2px}
[data-fs-theme='analytics'] .fs-sunm-fig-n{font-family:var(--font-display, system-ui, sans-serif);font-weight:700;font-stretch:84%;font-size:32px;line-height:1;color:var(--sl-sun)}
[data-fs-theme='analytics'] .fs-sunm-fig-l{font-size:13px;line-height:1.3;color:var(--sl-invmuted)}
[data-fs-theme='analytics'] .fs-sunm-mark{align-self:flex-start;display:inline-block;padding:3px 8px;border-radius:999px;background:rgb(var(--c-brand-600) / .14);font-weight:700;font-size:12px;line-height:1.3;letter-spacing:0;text-transform:none;color:var(--sl-deep)}
[data-fs-theme='analytics'] .fs-sunm-mini .fs-sunm-mark{color:var(--sl-sun)}
[data-fs-theme='analytics'] .fs-sunm-main{display:flex;flex-direction:column;gap:14px;min-width:0}
[data-fs-theme='analytics'] .fs-sunm-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-content:start}
[data-fs-theme='analytics'] .fs-sunm-tile{display:flex;align-items:center;gap:14px;padding:10px;border:1px solid transparent;border-radius:16px;color:inherit;transition:background-color .2s ease,border-color .2s ease}
[data-fs-theme='analytics'] .fs-sunm-tile:hover{background:var(--sl-wash);border-color:var(--sl-line)}
[data-fs-theme='analytics'] .fs-sunm-img{display:block;flex:none;width:92px;height:78px;border-radius:12px;object-fit:cover;background:var(--sl-wash)}
[data-fs-theme='analytics'] .fs-sunm-tile-t{display:flex;flex-direction:column;gap:3px;min-width:0}
[data-fs-theme='analytics'] .fs-sunm-name{font-family:var(--font-display, system-ui, sans-serif);font-weight:700;font-stretch:90%;font-size:19px;line-height:1.1;color:var(--sl-ink)}
[data-fs-theme='analytics'] .fs-sunm-price{font-weight:600;font-size:14px;line-height:1.2;color:var(--sl-deep)}
[data-fs-theme='analytics'] .fs-sunm-snip{font-size:13.5px;line-height:1.35;color:var(--sl-muted)}
[data-fs-theme='analytics'] .fs-sunm-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding:14px 18px;border:1px solid var(--sl-line);border-radius:14px;background:var(--sl-bg);font-size:14.5px;line-height:1.35;color:var(--sl-muted)}
[data-fs-theme='analytics'] .fs-sunm-bar.is-solo{justify-content:flex-end}
[data-fs-theme='analytics'] .fs-sunm-cover{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}
[data-fs-theme='analytics'] .fs-sunm-pin{display:inline-block;flex:none;width:16px;height:16px;background:var(--sl-deep);-webkit-mask:var(--sl-i-pin) center/contain no-repeat;mask:var(--sl-i-pin) center/contain no-repeat}
[data-fs-theme='analytics'] .fs-sunm-cover-b{color:var(--sl-ink)}
/* Narrower panels (the bar follows the Layout): two tiles across, then the
   intro above the tiles, then one column. */
@container (max-width: 70rem){
  [data-fs-theme='analytics'] .fs-sunm-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container (max-width: 56rem){
  [data-fs-theme='analytics'] .fs-sunm-body{grid-template-columns:minmax(0,1fr)}
}
@container (max-width: 34rem){
  [data-fs-theme='analytics'] .fs-sunm-tiles{grid-template-columns:minmax(0,1fr)}
}
/* The same composite in the phone menu: name-and-price cards in two columns
   under the Systems item (the lighter navy); the intro, the photos, the lines
   and the bar stand down (the foot has the button and the phone). */
[data-fs-theme='analytics'] .fs-hdr-mobile .fs-sunm-body{display:block}
[data-fs-theme='analytics'] .fs-hdr-mobile .fs-sunm-panel{padding:0;overflow:visible;border:0;border-radius:0;background:transparent}
[data-fs-theme='analytics'] .fs-hdr-mobile .fs-sunm-intro,[data-fs-theme='analytics'] .fs-hdr-mobile .fs-sunm-img,[data-fs-theme='analytics'] .fs-hdr-mobile .fs-sunm-snip,[data-fs-theme='analytics'] .fs-hdr-mobile .fs-sunm-bar{display:none}
[data-fs-theme='analytics'] .fs-hdr-mobile .fs-sunm-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
[data-fs-theme='analytics'] .fs-hdr-mobile .fs-sunm-tile{flex-direction:column;align-items:stretch;gap:2px;padding:12px;border:0;border-radius:14px;background:var(--sl-cell2)}
[data-fs-theme='analytics'] .fs-hdr-mobile .fs-sunm-tile-t{gap:2px}
[data-fs-theme='analytics'] .fs-hdr-mobile .fs-sunm-name{font-family:var(--font-sans, system-ui, sans-serif);font-weight:600;font-stretch:100%;font-size:15px;line-height:1.25;letter-spacing:0;color:var(--sl-paper)}
[data-fs-theme='analytics'] .fs-hdr-mobile .fs-sunm-price{font-size:12.5px;color:var(--sl-sun)}
@media (prefers-reduced-motion: reduce){
  [data-fs-theme='analytics'] .fs-hdr-util-note::before,[data-fs-theme='analytics'] .fs-sunm-mini-k::before{animation:none}
  [data-fs-theme='analytics'] .fs-hdr-cta.fs-hdr-cta,[data-fs-theme='analytics'] .fs-sunm-tile{transition:none}
  [data-fs-theme='analytics'] .fs-hdr-cta.fs-hdr-cta:hover{transform:none}
}


/* Tokens, FULL colours. --lt-rule: soft rules; --lt-note: secondary words;
   --lt-link: brand as a link word (84% brand in light, the brand itself in
   dark; the 'pinned' menu reads it for the current page); --lt-pin: pins;
   --lt-sunk: the panel's strip and a tile's hover; --lt-strip / -fg /
   -note / -pin: the slate strip and the slate card (the palette's ink as a
   ground in light, the card colour in dark); --lt-i-*: the colourless icon
   masks (seo-icon-masks.ts). */
[data-fs-theme='seo']{--fs-chrome-mode:light;--lt-rule:rgb(var(--c-ink-950) / .12);--lt-note:color-mix(in srgb, rgb(var(--c-ink-950)) 72%, rgb(var(--c-paper)));--lt-link:color-mix(in srgb, rgb(var(--c-brand-600)) 84%, rgb(var(--c-ink-950)));--lt-pin:rgb(var(--c-brand-600));--lt-sunk:rgb(var(--c-paper-sunk));--lt-strip:rgb(var(--c-ink-950));--lt-strip-fg:rgb(var(--c-paper));--lt-strip-note:color-mix(in srgb, rgb(var(--c-paper)) 74%, rgb(var(--c-ink-950)));--lt-strip-pin:color-mix(in oklab, rgb(var(--c-brand-600)) 58%, rgb(var(--c-paper)));--lt-i-pin:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M12 1.5C7.3 1.5 3.5 5.2 3.5 9.9c0 6.1 8.5 12.6 8.5 12.6s8.5-6.5 8.5-12.6C20.5 5.2 16.7 1.5 12 1.5zm0 11.6a3.2 3.2 0 1 1 0-6.4 3.2 3.2 0 0 1 0 6.4z'/%3E%3C/svg%3E");--lt-i-clock:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm0 2.2a7.8 7.8 0 1 1 0 15.6 7.8 7.8 0 0 1 0-15.6zM11 6.5v6.1l4.6 2.8 1-1.7-3.6-2.1V6.5z'/%3E%3C/svg%3E");--lt-i-tel:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1z'/%3E%3C/svg%3E");--lt-i-ok:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm-1.3 14.2-4.4-4.4 1.5-1.5 2.9 2.9 6-6 1.5 1.5z'/%3E%3C/svg%3E");--lt-i-star:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1.8l3.1 6.4 7 1-5.1 4.9 1.2 7-6.2-3.3-6.2 3.3 1.2-7L1.9 9.2l7-1z'/%3E%3C/svg%3E");--lt-i-chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5.6 8.3 12 14.7l6.4-6.4 1.6 1.6-8 8-8-8z'/%3E%3C/svg%3E")}
[data-fs-theme='seo'].dark{--fs-chrome-mode:dark;--lt-rule:rgb(var(--c-ink-950) / .16);--lt-link:rgb(var(--c-brand-600));--lt-strip:rgb(var(--c-paper-soft));--lt-strip-fg:rgb(var(--c-ink-950));--lt-strip-note:color-mix(in srgb, rgb(var(--c-ink-950)) 74%, rgb(var(--c-paper-soft)));--lt-strip-pin:rgb(var(--c-brand-600))}
/* The strip is the NAP line on slate: the note behind a tick, the address
   behind a pin, the hours behind the clock (the platform's hours dot,
   re-drawn), the phone behind a handset. Its line (fs-strip) drops the
   note at 62rem and the address at 44rem; a phone keeps the phone. */
[data-fs-theme='seo'] .fs-hdr-util{container-type:inline-size;background:var(--lt-strip);border-bottom:0;font-weight:500;font-size:13.5px;line-height:1.2;color:var(--lt-strip-note)}
[data-fs-theme='seo'] .fs-hdr-util-in{container-type:inline-size;container-name:fs-strip;display:flex;align-items:center;gap:26px;min-height:0;padding-block:11px;border-bottom:0;color:inherit;white-space:nowrap}
[data-fs-theme='seo'] .fs-hdr-util-in .fs-hdr-util-item{display:inline-flex}
[data-fs-theme='seo'] .fs-hdr-util-item{gap:8px}
[data-fs-theme='seo'] .fs-hdr-util-note::before,[data-fs-theme='seo'] .fs-hdr-util-address::before,[data-fs-theme='seo'] .fs-hdr-util-tel::before{content:"";flex:none;width:15px;height:15px;background:var(--lt-strip-pin);-webkit-mask:var(--lt-i) center/contain no-repeat;mask:var(--lt-i) center/contain no-repeat}
[data-fs-theme='seo'] .fs-hdr-util-note{--lt-i:var(--lt-i-ok);order:-1}
[data-fs-theme='seo'] .fs-hdr-util-address{--lt-i:var(--lt-i-pin)}
[data-fs-theme='seo'] .fs-hdr-util-hours{margin-right:auto}
[data-fs-theme='seo'] .fs-hdr-util-tel{--lt-i:var(--lt-i-tel);margin-left:0;font-weight:700;color:var(--lt-strip-fg)}
[data-fs-theme='seo'] .fs-hdr-util-dot{width:15px;height:15px;border-radius:0;background:var(--lt-strip-pin);-webkit-mask:var(--lt-i-clock) center/contain no-repeat;mask:var(--lt-i-clock) center/contain no-repeat}
@container fs-strip (max-width: 62rem){
  [data-fs-theme='seo'] .fs-hdr-util-in .fs-hdr-util-item.fs-hdr-util-note{display:none}
}
@container fs-strip (max-width: 44rem){
  [data-fs-theme='seo'] .fs-hdr-util-in .fs-hdr-util-item.fs-hdr-util-address{display:none}
}
@container (max-width: 40rem){
  [data-fs-theme='seo'] .fs-hdr-util-in{display:flex;justify-content:center}
  [data-fs-theme='seo'] .fs-hdr-util-in .fs-hdr-util-item:not(.fs-hdr-util-tel){display:none}
}
/* The band: the desktop gate; a plain hairline closes the header. */
[data-fs-theme='seo'] .fs-hdr-band{container-type:inline-size;container-name:fs-band;border-bottom:1px solid var(--lt-rule);background:rgb(var(--c-paper))}
[data-fs-theme='seo'] .fs-hdr-row{min-height:clamp(70px, (100cqi - 760px) * 100, 86px)}
/* The lockup: the roof pin (the theme's logoMarkSvg, R-B7-6) and the name
   in Sofia Sans Condensed (the header font setting), wrapping to two lines
   at an 8em measure — room for a long name. */
[data-fs-theme='seo'] .fs-hdr-row > :first-child{gap:var(--lt-lgap,12px);margin-right:auto;padding-right:var(--lt-lpad,20px)}
[data-fs-theme='seo'] .fs-hdr-row [data-fs-logo-mark]{width:var(--lt-mw,30px);height:var(--lt-mh,41px)}
[data-fs-theme='seo'] .fs-hdr-row [data-fs-wordmark]{max-width:8em;font-size:var(--lt-wf,25px);line-height:1;letter-spacing:-.005em;white-space:normal}
/* The button: signal fill, squared 6px corners, the body face at 700. */
[data-fs-theme='seo'] .fs-hdr-cta{--fs-hdr-cta-bg:rgb(var(--c-brand-600));--fs-hdr-cta-fg:var(--fs-on-brand, rgb(var(--c-paper)));--fs-hdr-cta-bg-hover:rgb(var(--c-brand-700));--fs-hdr-cta-fg-hover:var(--fs-on-brand, rgb(var(--c-paper)))}
[data-fs-theme='seo'] .fs-hdr-cta.fs-hdr-cta{flex:none;gap:var(--lt-cgap,8px);padding:var(--lt-cpy,15px) var(--lt-cp,22px);border-radius:6px;font-family:var(--font-body, system-ui, sans-serif);font-weight:700;font-size:var(--lt-cf,16px);line-height:1;white-space:nowrap;box-shadow:none;transition:background-color .18s ease}
[data-fs-theme='seo'] .fs-hdr-row .fs-hdr-cta{margin-left:var(--lt-cm,18px)}
/* The menu button: 44px, 6px corners, the surface with the 3:1 border,
   three ink bars. */
[data-fs-theme='seo'] .fs-hdr-menu-btn{width:44px;height:44px;margin-left:14px;border:1px solid rgb(var(--c-line));border-radius:6px;background:linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) center 14px/18px 2px no-repeat,linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) center 20px/18px 2px no-repeat,linear-gradient(rgb(var(--c-ink-950)),rgb(var(--c-ink-950))) center 26px/18px 2px no-repeat,rgb(var(--c-paper-soft))}
[data-fs-theme='seo'] .fs-hdr-menu-btn svg{display:none}
/* The mega shell: no frame of its own; the panel's signal top edge, 10px
   corners and a soft shadow, 12px below the row. */
[data-fs-theme='seo'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite){margin-top:12px !important;background:transparent !important;border:0 !important;border-radius:10px !important;box-shadow:0 30px 50px -26px rgb(0 0 0 / .4) !important}
[data-fs-theme='seo'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite)::before{top:-12px;height:12px}
/* Layout tiers, desktop only. Full size needs 959px. The six-item nav and
   the button are sized down tier by tier (the batch 7 budgets, measured
   live 2026-10-04: --lt-fs is the knob that closes each row). */
@container fs-band (min-width: 62rem){
  @container (max-width: 60rem){
    [data-fs-theme='seo'] .fs-hdr-row > *{--lt-lpad:14px;--lt-mw:26px;--lt-mh:36px;--lt-wf:21px;--lt-lgap:9px;--lt-px:8px;--lt-fs:12px;--lt-cm:12px;--lt-cp:16px;--lt-cpy:13px}
  }
  @container (max-width: 50rem){
    [data-fs-theme='seo'] .fs-hdr-row > *{--lt-lpad:10px;--lt-mw:22px;--lt-mh:30px;--lt-wf:18px;--lt-lgap:7px;--lt-navgap:0px;--lt-px:6px;--lt-fs:11px;--lt-cm:8px;--lt-cp:13px;--lt-cpy:12px;--lt-cf:14px;--lt-cgap:6px}
  }
  @container (max-width: 44rem){
    [data-fs-theme='seo'] .fs-hdr-row > *{--lt-lpad:8px;--lt-mw:20px;--lt-mh:27px;--lt-wf:16px;--lt-px:2px;--lt-igap:4px;--lt-fs:10.5px;--lt-pinw:11px;--lt-pinh:14px;--lt-cm:6px;--lt-cp:12px;--lt-cpy:11px;--lt-cf:13.5px}
  }
}
@container (max-width: 34rem){
  [data-fs-theme='seo'] .fs-hdr-row > *{--lt-mw:24px;--lt-mh:33px;--lt-wf:20px}
}
/* FIX ROUND 1 (CDP-measured, precedent in aurora/analytics-chrome-styles.ts
   etc.): the read-only preview alone renders a visitor dark/light toggle
   (.fs-hdr-mode) plus a fixed-width "Edit Template" link
   (TemplateViewClient.tsx), present on no real site. [data-fs-preview-edit]
   is the platform's own hook on that link; :has() reaches up from it so
   only a row that actually contains it is affected. */
@container (max-width: 34rem){
  [data-fs-theme='seo'] .fs-hdr-row:has([data-fs-preview-edit]) .fs-hdr-mode{display:none}
}
@container (max-width: 25rem){
  [data-fs-theme='seo'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{display:none}
}
/* The phone menu head: "Menu" in the display face on the sunk grey; a
   round close in slate. Rows in the display face at 800 on soft rules;
   the current page in --lt-link, wearing the pin. */
[data-fs-theme='seo'] .fs-hdr-mobile-head{height:auto;padding:12px 16px 12px 20px;border-bottom:1px solid var(--lt-rule);background:var(--lt-sunk)}
[data-fs-theme='seo'] .fs-hdr-mobile-title{font-family:var(--font-display, system-ui, sans-serif);font-weight:800;font-size:22px;line-height:1;letter-spacing:-.005em;color:rgb(var(--c-ink-950))}
[data-fs-theme='seo'] .fs-hdr-mobile-close{width:44px;height:44px;border:0;border-radius:6px;background:var(--lt-strip);color:var(--lt-strip-fg)}
[data-fs-theme='seo'] .fs-hdr-mobile > nav{padding:6px 0 0}
[data-fs-theme='seo'] .fs-hdr-mobile-row{display:flex;align-items:center;border-bottom:1px solid var(--lt-rule)}
[data-fs-theme='seo'] .fs-hdr-mobile-link:not(.is-sub){display:flex;align-items:center;gap:10px;flex:1;min-height:56px;padding:0 20px;font-family:var(--font-display, system-ui, sans-serif);font-weight:800;font-size:26px;line-height:1;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='seo'] .fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false']){color:var(--lt-link)}
[data-fs-theme='seo'] .fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false'])::before{content:"";flex:none;width:15px;height:20px;background:var(--lt-pin);-webkit-mask:var(--lt-i-pin) center/contain no-repeat;mask:var(--lt-i-pin) center/contain no-repeat}
[data-fs-theme='seo'] .fs-hdr-mobile-toggle{margin-right:20px;color:rgb(var(--c-ink-950))}
[data-fs-theme='seo'] .fs-hdr-mobile-sub{padding:4px 20px 14px;border-bottom:1px solid var(--lt-rule)}
/* The LocalBusiness card: the phone large behind its handset, the hours
   behind the clock, then the header button full width. The icons do the
   labelling: no fixed words. */
[data-fs-theme='seo'] .fs-pmf-seo{display:grid;gap:12px;margin:18px 16px 20px;padding:16px;border:1px solid var(--lt-rule);border-radius:10px;background:var(--lt-sunk)}
[data-fs-theme='seo'] .fs-pmf-big,[data-fs-theme='seo'] .fs-pmf-hours{display:flex;align-items:center;gap:10px;min-width:0;margin:0}
[data-fs-theme='seo'] .fs-pmf-big::before,[data-fs-theme='seo'] .fs-pmf-hours::before{content:"";flex:none;width:18px;height:18px;background:var(--lt-pin);-webkit-mask:var(--lt-i) center/contain no-repeat;mask:var(--lt-i) center/contain no-repeat}
[data-fs-theme='seo'] .fs-pmf-big{--lt-i:var(--lt-i-tel);font-family:var(--font-display, system-ui, sans-serif);font-weight:800;font-size:26px;line-height:1.1;font-variant-numeric:tabular-nums;color:rgb(var(--c-ink-950))}
[data-fs-theme='seo'] .fs-pmf-hours{--lt-i:var(--lt-i-clock);font-size:14px;line-height:1.4;color:var(--lt-note)}
[data-fs-theme='seo'] .fs-pmf-tel{color:inherit;text-decoration:none}
[data-fs-theme='seo'] .fs-pmf .fs-hdr-cta.fs-pmf-cta{display:flex;width:100%;margin:4px 0 0;padding-block:16px;font-size:16px}
/* The Services panel (seo.services): the content box; the shell's shadow
   sits on the columns panel (the rule above). */
[data-fs-theme='seo'] .fs-ltm-panel{--lt-gut:clamp(18px,2.6cqi,40px);container-type:inline-size;display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:var(--lt-gut);padding:30px var(--lt-gut) 26px;overflow:hidden;background:rgb(var(--c-paper));border:1px solid var(--lt-rule);border-top:3px solid rgb(var(--c-brand-600));border-radius:10px}
[data-fs-theme='seo'] .fs-ltm-panel p,[data-fs-theme='seo'] .fs-ltm-panel ul{margin:0}
[data-fs-theme='seo'] .fs-ltm-panel ul{list-style:none;padding:0}
[data-fs-theme='seo'] .fs-ltm-panel a{text-decoration:none}
[data-fs-theme='seo'] .fs-ltm-i{--lt-ic:var(--lt-i-pin);display:inline-block;flex:none;width:1em;height:1em;background:currentColor;-webkit-mask:var(--lt-ic) center/contain no-repeat;mask:var(--lt-ic) center/contain no-repeat}
[data-fs-theme='seo'] .fs-ltm-i-pin{--lt-ic:var(--lt-i-pin)}
[data-fs-theme='seo'] .fs-ltm-i-tel{--lt-ic:var(--lt-i-tel)}
[data-fs-theme='seo'] .fs-ltm-intro{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:0}
[data-fs-theme='seo'] .fs-ltm-eyebrow{font-weight:700;font-size:12.5px;line-height:1;letter-spacing:.14em;text-transform:uppercase;color:var(--lt-link)}
[data-fs-theme='seo'] .fs-ltm-title{font-family:var(--font-display, system-ui, sans-serif);font-weight:800;font-size:36px;line-height:1;letter-spacing:-.005em;color:rgb(var(--c-ink-950))}
[data-fs-theme='seo'] .fs-ltm-lede{font-size:15px;line-height:1.45;color:var(--lt-note)}
[data-fs-theme='seo'] .fs-ltm-all{font-weight:700;font-size:15px;color:var(--lt-link)}
[data-fs-theme='seo'] .fs-ltm-all::after{content:" →"}
[data-fs-theme='seo'] .fs-ltm-all:hover{text-decoration:underline}
[data-fs-theme='seo'] .fs-ltm-urgent{align-self:stretch;display:flex;flex-direction:column;gap:8px;margin-top:8px;padding:20px;border-radius:10px;background:var(--lt-strip);color:var(--lt-strip-fg)}
[data-fs-theme='seo'] .fs-ltm-urgent-h{font-family:var(--font-display, system-ui, sans-serif);font-weight:800;font-size:25px;line-height:1}
[data-fs-theme='seo'] .fs-ltm-urgent-b{font-size:14.5px;line-height:1.45;color:var(--lt-strip-note)}
[data-fs-theme='seo'] .fs-ltm-tel{display:inline-flex;align-items:center;gap:9px;margin-top:2px;font-family:var(--font-display, system-ui, sans-serif);font-weight:800;font-size:27px;line-height:1;font-variant-numeric:tabular-nums;color:var(--lt-strip-pin)}
[data-fs-theme='seo'] .fs-ltm-tel .fs-ltm-i{font-size:19px}
[data-fs-theme='seo'] .fs-ltm-tel:hover{text-decoration:underline}
[data-fs-theme='seo'] .fs-ltm-main{display:flex;flex-direction:column;gap:12px;min-width:0}
[data-fs-theme='seo'] .fs-ltm-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 8px}
[data-fs-theme='seo'] .fs-ltm-tile{display:flex;align-items:flex-start;gap:14px;padding:12px;border-radius:8px;color:inherit;transition:background-color .18s ease}
[data-fs-theme='seo'] .fs-ltm-tile:hover{background:var(--lt-sunk)}
[data-fs-theme='seo'] .fs-ltm-img{flex:none;width:84px;height:84px;border-radius:6px;object-fit:cover;background:var(--lt-sunk)}
[data-fs-theme='seo'] .fs-ltm-tile-t{display:flex;flex-direction:column;gap:4px;min-width:0}
[data-fs-theme='seo'] .fs-ltm-name{font-weight:700;font-size:16px;line-height:1.25;color:rgb(var(--c-ink-950))}
[data-fs-theme='seo'] .fs-ltm-tile:hover .fs-ltm-name{text-decoration:underline;text-underline-offset:3px}
[data-fs-theme='seo'] .fs-ltm-price{font-weight:700;font-size:14px;line-height:1.2;color:var(--lt-link)}
[data-fs-theme='seo'] .fs-ltm-snip{font-size:13.5px;line-height:1.4;color:var(--lt-note)}
[data-fs-theme='seo'] .fs-ltm-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px;margin:0 12px;padding:15px 18px;border-radius:8px;background:var(--lt-sunk);font-size:14.5px;line-height:1.35;color:var(--lt-note)}
[data-fs-theme='seo'] .fs-ltm-extra{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}
[data-fs-theme='seo'] .fs-ltm-extra-t{font-weight:700;color:rgb(var(--c-ink-950))}
[data-fs-theme='seo'] .fs-ltm-extra-a{font-weight:700;color:var(--lt-link)}
[data-fs-theme='seo'] .fs-ltm-extra-a::after{content:" →"}
[data-fs-theme='seo'] .fs-ltm-extra-a:hover{text-decoration:underline}
[data-fs-theme='seo'] .fs-ltm-areas{display:inline-flex;align-items:center;gap:7px}
[data-fs-theme='seo'] .fs-ltm-areas .fs-ltm-i{color:var(--lt-pin)}
/* Narrower panels (the bar follows the Layout): two tiles across, then
   the intro above the tiles; the snippets go first. */
@container (max-width: 64rem){
  [data-fs-theme='seo'] .fs-ltm-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container (max-width: 52rem){
  [data-fs-theme='seo'] .fs-ltm-snip{display:none}
  [data-fs-theme='seo'] .fs-ltm-img{width:64px;height:64px}
}
/* The same composite in the phone menu: name-and-price rows under the
   Services item; the intro, the photos, the snippets and the strip stand
   down (the foot has the phone and the button). */
[data-fs-theme='seo'] .fs-hdr-mobile .fs-ltm-panel{display:block;padding:0;border:0;border-radius:0;background:transparent}
[data-fs-theme='seo'] .fs-hdr-mobile .fs-ltm-intro,[data-fs-theme='seo'] .fs-hdr-mobile .fs-ltm-img,[data-fs-theme='seo'] .fs-hdr-mobile .fs-ltm-snip,[data-fs-theme='seo'] .fs-hdr-mobile .fs-ltm-strip{display:none}
[data-fs-theme='seo'] .fs-hdr-mobile .fs-ltm-tiles{grid-template-columns:minmax(0,1fr);gap:0;padding-left:12px;border-left:3px solid rgb(var(--c-brand-600))}
[data-fs-theme='seo'] .fs-hdr-mobile .fs-ltm-tile{padding:11px 0;border-radius:0}
[data-fs-theme='seo'] .fs-hdr-mobile .fs-ltm-tile-t{flex:1;flex-direction:row;align-items:baseline;justify-content:space-between;gap:12px}
[data-fs-theme='seo'] .fs-hdr-mobile .fs-ltm-name{font-weight:600;color:rgb(var(--c-ink-700))}
@media (prefers-reduced-motion: reduce){
  [data-fs-theme='seo'] .fs-hdr-cta.fs-hdr-cta,[data-fs-theme='seo'] .fs-ltm-tile{transition:none}
}


.fs-ry{
  --fs-block-max:72rem;
  position:relative;
  padding-block:var(--fs-space-section, clamp(3rem,7vw,5rem));
  padding-inline:clamp(1.25rem,5vw,3rem);
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-ry *{box-sizing:border-box;}
.fs-ry-inner{max-width:var(--fs-layout-max,72rem);margin-inline:auto;width:100%;}
.fs-ry-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}

.fs-ry-tally{display:flex;gap:.26rem;align-items:center;width:100%;}
.fs-ry-tally i{
  display:block;flex:1 1 0;min-width:.2rem;height:.34rem;border-radius:99px;
  background:rgb(var(--c-brand-600));opacity:.15;transform-origin:left center;
}
.fs-ry-tally i.is-on{opacity:1;}
.fs-ry-tally-sm{width:4.25rem;flex:0 0 auto;}
.fs-ry-tally-lg i{height:1.1rem;border-radius:.3rem;}
.fs-ry-anim .fs-ry-tally i.is-on{
  animation:fs-ry-tick .44s cubic-bezier(.2,.85,.3,1) both;
  animation-delay:calc(var(--i,0) * 26ms);
}
@keyframes fs-ry-tick{from{transform:scaleX(.12);opacity:0;}to{transform:scaleX(1);opacity:1;}}

.fs-ry-eyebrow{
  display:block;
  font-size:var(--fs-type-eyebrow,.75rem);font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;
  color:rgb(var(--c-brand-600));
}
.fs-ry-h{
  margin:0;
  font-size:var(--fs-type-h2,clamp(1.9rem,4vw,2.6rem));
  font-weight:var(--fs-type-h2-weight,650);
  letter-spacing:var(--fs-type-h2-tracking,-.015em);
  line-height:var(--fs-type-h2-leading,1.15);
  color:rgb(var(--c-ink-950));text-wrap:balance;
}
.fs-ry-sub{
  margin:0;max-width:62ch;
  font-size:var(--fs-type-body,1.0625rem);line-height:var(--fs-type-body-leading,1.62);
  color:rgb(var(--c-ink-700));text-wrap:pretty;
}
.fs-ry-head{display:flex;flex-direction:column;align-items:center;gap:.85rem;text-align:center;margin-bottom:var(--fs-space-heading,2.25rem);}
.fs-ry-head .fs-ry-sub{margin-inline:auto;}
.fs-ry-card{
  border-radius:var(--fs-radius-card,.85rem);
  padding:var(--fs-space-card,1.5rem);
  background:var(--fs-surface-bg, rgb(var(--c-paper)));
  border:var(--fs-surface-border, 1px solid rgb(var(--c-line)));
  box-shadow:var(--fs-surface-shadow, none);
  backdrop-filter:var(--fs-surface-blur, none);
}
.fs-ry-icon{
  display:flex;align-items:center;justify-content:center;
  width:2.75rem;height:2.75rem;flex:0 0 auto;border-radius:99px;
  background:rgb(var(--c-brand-600) / .1);
  color:rgb(var(--c-brand-600));
}
.fs-ry-icon svg{width:1.4rem;height:1.4rem;}
.fs-ry-num{
  font-variant-numeric:tabular-nums;
  font-size:clamp(2.1rem,4.6vw,3rem);line-height:1;font-weight:700;
  letter-spacing:-.02em;color:rgb(var(--c-ink-950));
}
.fs-ry-note{font-size:.82rem;line-height:1.5;color:rgb(var(--c-ink-400));}

.fs-ry .fs-ry-ctl{
  font-family:inherit;font-weight:650;letter-spacing:normal;text-transform:none;
}

.fs-ry-dots{
  position:absolute;inset:0;pointer-events:none;border-radius:inherit;
  background-image:radial-gradient(rgb(var(--c-ink-950) / .13) 1px, transparent 1px);
  background-size:14px 14px;
  -webkit-mask-image:linear-gradient(180deg, rgb(0 0 0 / .55), transparent 62%);
  mask-image:linear-gradient(180deg, rgb(0 0 0 / .55), transparent 62%);
}

/* ═════════ RESULTS COUNTER (favRallyCounters) ═════════ */
.fs-ry-ct-grid{display:grid;gap:clamp(1rem,2.4vw,1.6rem);grid-template-columns:repeat(2,minmax(0,1fr));}
@media (min-width:56rem){.fs-ry-ct-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}
.fs-ry-ct-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.6rem;position:relative;}
.fs-ry-ct-l{font-size:.95rem;font-weight:600;line-height:1.35;color:rgb(var(--c-ink-950));}
.fs-ry-ct-item .fs-ry-tally{width:2.6rem;}

/* ═════════ PROGRESS METER (favRallyMeter) ═════════ */
.fs-ry-mt-band{position:relative;overflow:hidden;}
.fs-ry-mt-fig{display:flex;flex-wrap:wrap;align-items:baseline;gap:.55rem;margin-bottom:1.1rem;}
.fs-ry-mt-of{font-size:1rem;color:rgb(var(--c-ink-400));}
.fs-ry-mt-goal{font-size:1.35rem;font-weight:650;color:rgb(var(--c-ink-700));font-variant-numeric:tabular-nums;}
.fs-ry-mt-pct{
  margin-left:auto;display:inline-flex;align-items:center;
  padding:.34rem .7rem;border-radius:99px;
  background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));
  font-size:.8rem;font-weight:700;letter-spacing:.04em;
}
.fs-ry-mt-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem;margin-top:.95rem;}
.fs-ry-mt-cta{
  display:inline-flex;align-items:center;padding:.5rem 1rem;border-radius:99px;
  background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));
  font-size:.88rem;font-weight:650;
}
.fs-ry-mt-facts{display:grid;gap:clamp(.8rem,2vw,1.2rem);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1.75rem;}
@media (max-width:34rem){.fs-ry-mt-facts{grid-template-columns:1fr;}}
.fs-ry-mt-fact{display:flex;flex-direction:column;gap:.2rem;padding-left:.9rem;border-left:2px solid rgb(var(--c-brand-600) / .35);}
.fs-ry-mt-ft{font-size:1.3rem;font-weight:700;line-height:1.1;color:rgb(var(--c-ink-950));font-variant-numeric:tabular-nums;}
.fs-ry-mt-fb{font-size:.85rem;line-height:1.45;color:rgb(var(--c-ink-700));}

/* ═════════ VALUES STATEMENT (favRallyManifesto) ═════════ */
.fs-ry-mf-inner{max-width:var(--fs-layout-max,72rem);margin-inline:auto;}
.fs-ry-mf-say{
  margin:1rem 0 0;max-width:20ch;
  font-size:clamp(2.3rem,6.4vw,4.3rem);line-height:1.04;font-weight:700;letter-spacing:-.03em;
  color:rgb(var(--c-ink-950));text-wrap:balance;
}
.fs-ry-mf-accent{color:rgb(var(--c-brand-600));}
.fs-ry-mf-list{display:grid;gap:clamp(1.4rem,3vw,2.4rem);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(2.4rem,5vw,3.4rem);}
@media (max-width:52rem){.fs-ry-mf-list{grid-template-columns:1fr;}}
.fs-ry-mf-item{display:flex;flex-direction:column;gap:.7rem;}

.fs-ry-mf-mark{display:flex;align-items:center;gap:.7rem;}
.fs-ry-mf-i{
  font-size:.78rem;font-weight:700;letter-spacing:.14em;line-height:1;
  color:rgb(var(--c-brand-600));font-variant-numeric:tabular-nums;
}
.fs-ry-mf-t{margin:0;font-size:1.2rem;font-weight:650;line-height:1.25;color:rgb(var(--c-ink-950));}
.fs-ry-mf-b{font-size:.95rem;line-height:1.62;color:rgb(var(--c-ink-700));}
.fs-ry-mf-foot{margin-top:clamp(2rem,4vw,2.8rem);display:flex;align-items:center;gap:.8rem;}
.fs-ry-mf-link{font-size:.95rem;font-weight:650;color:rgb(var(--c-brand-600));border-bottom:2px solid rgb(var(--c-brand-600) / .35);padding-bottom:.1rem;}

/* ═════════ OBJECTION GRID (favRallyObjections) ═════════ */
.fs-ry-ob-grid{display:grid;gap:clamp(.9rem,2vw,1.3rem);grid-template-columns:1fr;}
@media (min-width:52rem){.fs-ry-ob-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
.fs-ry-ob-card{display:flex;flex-direction:column;gap:.85rem;}

.fs-ry-ob-mark{display:flex;align-items:center;gap:.9rem;}
.fs-ry-ob-q{margin:0;font-size:1.05rem;font-weight:650;line-height:1.35;color:rgb(var(--c-ink-950));}
.fs-ry-ob-a{font-size:.94rem;line-height:1.6;color:rgb(var(--c-ink-700));}
.fs-ry-ob-cta{
  position:relative;overflow:hidden;display:flex;flex-wrap:wrap;align-items:center;
  gap:1rem 1.5rem;margin-top:clamp(.9rem,2vw,1.3rem);
  background:rgb(var(--c-brand-600) / .1) !important;
  border:1px solid rgb(var(--c-brand-600) / .3) !important;
  box-shadow:none !important;
}

.fs-ry-ob-cta .fs-ry-icon{background:rgb(var(--c-brand-600) / .18);}
@media (min-width:52rem){.fs-ry-ob-cta{grid-column:1 / -1;margin-top:0;}}
.fs-ry-ob-ctext{flex:1 1 18rem;display:flex;flex-direction:column;gap:.35rem;}
.fs-ry-ob-ct{margin:0;font-size:1.1rem;font-weight:700;color:rgb(var(--c-ink-950));}
.fs-ry-ob-cb{font-size:.92rem;line-height:1.55;color:rgb(var(--c-ink-700));max-width:52ch;}
.fs-ry-ob-cnum{
  font-size:clamp(1.3rem,3vw,1.7rem);font-weight:700;letter-spacing:-.01em;
  color:rgb(var(--c-brand-600));font-variant-numeric:tabular-nums;white-space:nowrap;
}

/* ═════════ TABBED PANELS (favRallyTabs) ═════════ */
.fs-ry-tb-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-bottom:1.6rem;}
@media (min-width:52rem){.fs-ry-tb-list{grid-template-columns:repeat(4,minmax(0,1fr));}}
.fs-ry .fs-ry-tb-tab{
  appearance:none;display:flex;flex-direction:column;gap:.6rem;width:100%;
  min-height:3.1rem;padding:.7rem .85rem;text-align:left;cursor:pointer;
  background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));
  border-radius:var(--fs-radius-card,.85rem);
  font-size:.95rem;color:rgb(var(--c-ink-700));
  transition:color .2s ease, background-color .2s ease, border-color .2s ease;
}
.fs-ry .fs-ry-tb-tab[aria-selected="true"]{
  color:rgb(var(--c-ink-950));
  background:rgb(var(--c-brand-600) / .1);
  border-color:rgb(var(--c-brand-600) / .45);
}
.fs-ry .fs-ry-tb-tab:hover{color:rgb(var(--c-ink-950));border-color:rgb(var(--c-brand-600) / .45);}
.fs-ry .fs-ry-tb-tab:focus-visible{outline:2px solid rgb(var(--c-brand-600));outline-offset:2px;}
.fs-ry-tb-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,18rem);gap:clamp(1.4rem,4vw,2.6rem);align-items:center;}

.fs-ry-tb-panel[hidden]{display:none;}
@media (max-width:52rem){.fs-ry-tb-panel{grid-template-columns:1fr;}}
.fs-ry-tb-panel:focus-visible{outline:2px solid rgb(var(--c-brand-600));outline-offset:4px;border-radius:var(--fs-radius-card,.85rem);}

.fs-ry-anim .fs-ry-tb-panel:not([hidden]) .fs-ry-tb-copy{animation:fs-ry-fade .34s ease both;}
@keyframes fs-ry-fade{from{opacity:0;transform:translateY(.5rem);}to{opacity:1;transform:none;}}
.fs-ry-tb-h{margin:0 0 .7rem;font-size:clamp(1.3rem,2.6vw,1.7rem);font-weight:650;line-height:1.2;color:rgb(var(--c-ink-950));}
.fs-ry-tb-b{font-size:1rem;line-height:1.62;color:rgb(var(--c-ink-700));}
.fs-ry-tb-points{list-style:none;margin:1.1rem 0 0;padding:0;display:flex;flex-direction:column;gap:.6rem;}
.fs-ry-tb-points li{display:flex;gap:.65rem;align-items:flex-start;font-size:.94rem;line-height:1.5;color:rgb(var(--c-ink-700));}
.fs-ry-tb-points svg{width:1.05rem;height:1.05rem;flex:0 0 auto;margin-top:.15rem;color:rgb(var(--c-brand-600));}
.fs-ry-tb-art{position:relative;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;background:rgb(var(--c-brand-600) / .07);}
.fs-ry-tb-art svg{width:78%;height:78%;color:rgb(var(--c-brand-600));}

/* ═════════ HOVER CARDS (favRallyReveal) ═════════ */
.fs-ry-rv-grid{display:grid;gap:clamp(.9rem,2vw,1.3rem);grid-template-columns:1fr;}
@media (min-width:40rem){.fs-ry-rv-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (min-width:64rem){.fs-ry-rv-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}

.fs-ry-rv-card{
  position:relative;overflow:hidden;display:flex;flex-direction:column;gap:.75rem;
  min-height:16rem;
  transition:transform .28s cubic-bezier(.2,.8,.3,1), box-shadow .28s ease;
}
.fs-ry-rv-card.is-open{transform:translateY(-.3rem);}

.fs-ry-rv-front{
  display:flex;flex-direction:column;gap:.75rem;flex:1;
  transition:opacity .22s ease;
}
.fs-ry-rv-card.is-open .fs-ry-rv-front{opacity:0;}
.fs-ry-rv-t{margin:0 0 .1rem;padding-right:2.4rem;font-size:1.08rem;font-weight:650;line-height:1.28;color:rgb(var(--c-ink-950));}
.fs-ry-rv-k{margin-top:auto;font-size:.8rem;font-weight:650;letter-spacing:.02em;color:rgb(var(--c-brand-600));}

.fs-ry-rv-back{
  position:absolute;left:0;right:0;top:42%;bottom:0;z-index:40;
  padding:1.1rem var(--fs-space-card,1.5rem) 1.2rem;
  background:rgb(var(--c-paper));
  border-top:1px solid rgb(var(--c-brand-600) / .3);
  overflow-y:auto;overscroll-behavior:contain;
  transform:translateY(101%);opacity:0;
  transition:transform .3s cubic-bezier(.2,.8,.3,1), opacity .22s ease;
}
.fs-ry-rv-card.is-open .fs-ry-rv-back{transform:none;opacity:1;}
.fs-ry-rv-b{font-size:.92rem;line-height:1.58;color:rgb(var(--c-ink-700));}
.fs-ry .fs-ry-rv-btn{
  appearance:none;position:absolute;top:.9rem;right:.9rem;z-index:41;
  display:inline-flex;align-items:center;justify-content:center;
  width:2.5rem;height:2.5rem;padding:0;cursor:pointer;
  background:rgb(var(--c-brand-600) / .12);border:0;border-radius:99px;
  color:rgb(var(--c-brand-600));
  transition:transform .28s cubic-bezier(.2,.8,.3,1), background-color .2s ease;
}
.fs-ry .fs-ry-rv-btn svg{width:1.1rem;height:1.1rem;}
.fs-ry .fs-ry-rv-btn:hover{background:rgb(var(--c-brand-600) / .22);}
.fs-ry .fs-ry-rv-btn:focus-visible{outline:2px solid rgb(var(--c-brand-600));outline-offset:2px;}
.fs-ry-rv-card.is-open .fs-ry-rv-btn{transform:rotate(180deg);}

@media (prefers-reduced-motion: reduce){
  .fs-ry *,.fs-ry *::before,.fs-ry *::after{animation:none !important;transition:none !important;}

  .fs-ry-rv-back{position:static !important;transform:none !important;opacity:1 !important;padding-inline:0 !important;margin-top:.9rem;}
  .fs-ry-rv-front{opacity:1 !important;}
  .fs-ry-rv-k{margin-top:0 !important;}
}


.fs-md{
  --fs-block-max:74rem;
  --md-ring:rgb(var(--c-brand-600) / .09);
  --md-contour:repeating-radial-gradient(circle at 88% 8%,
    transparent 0 26px, var(--md-ring) 26px 27px);
  position:relative;
  padding-block:var(--fs-space-section, clamp(3rem,7vw,5rem));
  padding-inline:clamp(1.25rem,5vw,3rem);
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
  overflow:hidden;
}
.fs-md *{box-sizing:border-box;}
/* signature wash */
.fs-md::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:var(--md-contour);
  -webkit-mask-image:radial-gradient(70% 60% at 88% 8%, currentColor 0%, transparent 72%);
  mask-image:radial-gradient(70% 60% at 88% 8%, currentColor 0%, transparent 72%);
}
.fs-md-inner{max-width:var(--fs-layout-max,74rem);margin-inline:auto;width:100%;position:relative;}
.fs-md-head{
  display:flex;flex-direction:column;gap:var(--fs-space-stack,.75rem);
  margin-block-end:var(--fs-space-heading,2.25rem);
}
.fs-md-eyebrow{color:rgb(var(--c-brand-600));}
.fs-md-h{color:rgb(var(--c-ink-950));margin:0;}
.fs-md-sub{color:rgb(var(--c-ink-700));margin:0;}

/* The pin */
.fs-md-pin{
  width:.5rem;height:.5rem;border-radius:50%;flex:0 0 auto;
  background:rgb(var(--c-brand-600));
  box-shadow:0 0 0 3px rgb(var(--c-brand-600) / .16);
  display:inline-block;margin-inline-end:.55rem;vertical-align:middle;
}
.fs-md-tick{width:1rem;height:1rem;flex:0 0 auto;color:rgb(var(--c-brand-600));}
.fs-md-cross{width:1rem;height:1rem;flex:0 0 auto;color:rgb(var(--c-ink-400));}


/* drawn art: one ground, one ink */
.fs-md-art{display:block;width:100%;height:100%;color:rgb(var(--c-brand-700));}
.fs-md-art-bg{fill:rgb(var(--c-brand-600) / .07);}

/* see header note 1 */
.fs-md .fs-md-ctl{
  font-family:inherit;font-weight:500;letter-spacing:normal;text-transform:none;
  text-align:left;color:rgb(var(--c-ink-950));background:transparent;
  border:0;cursor:pointer;padding:0;
}
.fs-md .fs-md-ctl:focus-visible{
  outline:2px solid rgb(var(--c-brand-600));outline-offset:3px;border-radius:.5rem;
}

/* 1. Spec cards */
.fs-md-sp-grid{display:grid;gap:1.25rem;grid-template-columns:1fr;list-style:none;margin:0;padding:0;}
@media(min-width:52rem){.fs-md-sp-grid{grid-template-columns:repeat(3,1fr);}}
.fs-md-sp-card{
  display:flex;flex-direction:column;overflow:hidden;
  border:1px solid rgb(var(--c-line));border-radius:var(--fs-radius-card,.75rem);
  background:rgb(var(--c-paper));box-shadow:var(--fs-shadow-card,none);
  transition:transform .25s ease, box-shadow .25s ease;
}
.fs-md-anim .fs-md-sp-card:hover{transform:translateY(-3px);box-shadow:var(--fs-shadow-lift,0 12px 28px rgb(var(--c-ink-950) / .10));}
.fs-md-sp-media{position:relative;aspect-ratio:16/10;background:rgb(var(--c-paper-soft));}
.fs-md-sp-media img{width:100%;height:100%;object-fit:cover;display:block;}
.fs-md-sp-price{
  position:absolute;left:.75rem;bottom:.75rem;z-index:2;
  background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));
  font-weight:700;font-size:.95rem;padding:.3rem .7rem;border-radius:999px;
  box-shadow:0 2px 10px rgb(var(--c-ink-950) / .18);
}
.fs-md-sp-body{padding:1.1rem 1.15rem 1.25rem;display:flex;flex-direction:column;gap:.5rem;flex:1;}
.fs-md-sp-t{margin:0;color:rgb(var(--c-ink-950));}
.fs-md-sp-s{margin:0;font-size:.9rem;color:rgb(var(--c-ink-700));display:flex;align-items:center;}
.fs-md-sp-chips{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:.15rem 0 0;padding:0;}
.fs-md-chip{
  font-size:.78rem;font-weight:600;letter-spacing:.01em;
  color:rgb(var(--c-ink-700));background:rgb(var(--c-brand-600) / .08);
  border:1px solid rgb(var(--c-brand-600) / .18);
  padding:.22rem .55rem;border-radius:999px;white-space:nowrap;
}
.fs-md-sp-n{margin:auto 0 0;padding-top:.6rem;font-size:.82rem;color:rgb(var(--c-ink-400));border-top:1px solid rgb(var(--c-line));}
.fs-md-sp-foot{margin:1.4rem 0 0;text-align:center;font-size:.9rem;color:rgb(var(--c-ink-700));}

/* 2. Expanding gallery */
.fs-md-rl-rail{display:flex;flex-direction:column;gap:.6rem;}
@media(min-width:52rem){
  .fs-md-rl-rail{flex-direction:row;height:26rem;gap:.7rem;}
}
.fs-md .fs-md-rl-panel{
  position:relative;overflow:hidden;display:block;width:100%;
  border:1px solid rgb(var(--c-line));border-radius:var(--fs-radius-card,.75rem);
  background:rgb(var(--c-paper-soft));min-height:7.5rem;
}
@media(min-width:52rem){
  .fs-md .fs-md-rl-panel{flex:1 1 0;min-width:0;height:100%;min-height:0;}
  /* see header note 2 */
  .fs-md-anim .fs-md-rl-panel{transition:flex-grow .38s cubic-bezier(.4,0,.2,1);}
  .fs-md .fs-md-rl-panel.is-open{flex-grow:3.4;}
}
.fs-md-rl-media{position:absolute;inset:0;display:block;}
.fs-md-rl-media img{width:100%;height:100%;object-fit:cover;display:block;}
.fs-md-rl-panel::after{
  content:'';position:absolute;inset:0;z-index:35;pointer-events:none;
  background:linear-gradient(180deg,transparent 34%,rgb(0 0 0 / .78) 100%);
}
/* see header note 3 */
.fs-md-rl-cap{
  position:absolute;left:0;right:0;bottom:0;z-index:40;
  display:flex;flex-direction:column;gap:.3rem;padding:.9rem 1rem;
}
.fs-md-rl-t{
  display:flex;align-items:center;font-weight:650;font-size:1rem;
  color:#fff;text-shadow:0 1px 3px rgb(0 0 0 / .55);
}
.fs-md-rl-t .fs-md-pin{background:#fff;box-shadow:0 0 0 3px rgb(255 255 255 / .3);}
.fs-md-rl-b{
  font-size:.85rem;line-height:1.45;color:rgb(255 255 255 / .94);
  text-shadow:0 1px 3px rgb(0 0 0 / .6);
}
@media(min-width:52rem){
  /* collapsed keeps title, drops sentence (text stays in DOM) */
  .fs-md-rl-b{opacity:0;transform:translateY(6px);max-height:0;overflow:hidden;}
  .fs-md-anim .fs-md-rl-b{transition:opacity .3s ease .06s, transform .3s ease .06s;}
  .fs-md-rl-panel.is-open .fs-md-rl-b{opacity:1;transform:none;max-height:8rem;}
}

/* 3. Area map */
.fs-md-mp-wrap{display:grid;gap:1.5rem;grid-template-columns:1fr;align-items:start;}
@media(min-width:56rem){.fs-md-mp-wrap{grid-template-columns:1.35fr 1fr;}}
.fs-md-mp-figure{
  border:1px solid rgb(var(--c-line));border-radius:var(--fs-radius-card,.75rem);
  overflow:hidden;background:rgb(var(--c-paper-soft));
}
.fs-md-mp-svg{display:block;width:100%;height:auto;}
.fs-md-mp-contours{color:rgb(var(--c-brand-600));opacity:.28;}
.fs-md-mp-roads{color:rgb(var(--c-ink-400));opacity:.5;}
.fs-md-mp-water{stroke:rgb(var(--c-ink-400) / .38);}
.fs-md-mp-halo{fill:rgb(var(--c-brand-600) / .14);opacity:0;transform-box:fill-box;transform-origin:center;}
.fs-md-anim .fs-md-mp-halo{transition:opacity .25s ease;}
.fs-md-mp-pin.is-on .fs-md-mp-halo{opacity:1;}
.fs-md-mp-dot{fill:rgb(var(--c-ink-400));}
.fs-md-mp-pin.is-on .fs-md-mp-dot{fill:rgb(var(--c-brand-600));}
.fs-md-mp-num{
  font-size:7px;font-weight:700;fill:rgb(var(--c-paper));
  font-family:inherit;pointer-events:none;
}
.fs-md-mp-list{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0;}
.fs-md .fs-md-mp-item{
  display:flex;gap:.75rem;align-items:flex-start;width:100%;
  padding:.7rem .8rem;border-radius:var(--fs-radius-card,.75rem);
  border:1px solid rgb(var(--c-line));background:rgb(var(--c-paper));
}
.fs-md-anim .fs-md-mp-item{transition:border-color .2s ease, background-color .2s ease;}
.fs-md .fs-md-mp-item.is-on{
  border-color:rgb(var(--c-brand-600) / .5);background:rgb(var(--c-brand-600) / .06);
}
.fs-md-mp-badge{
  flex:0 0 auto;width:1.55rem;height:1.55rem;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:.78rem;font-weight:700;
  background:rgb(var(--c-brand-600) / .12);color:rgb(var(--c-ink-950));
}
.fs-md .fs-md-mp-item.is-on .fs-md-mp-badge{background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));}
.fs-md-mp-copy{display:flex;flex-direction:column;gap:.15rem;min-width:0;}
.fs-md-mp-t{font-weight:650;font-size:.95rem;color:rgb(var(--c-ink-950));}
.fs-md-mp-d{font-size:.82rem;color:rgb(var(--c-ink-700));}

/* 4. What's included */
.fs-md-in-cols{display:grid;gap:1.25rem;grid-template-columns:1fr;align-items:start;}
@media(min-width:52rem){.fs-md-in-cols{grid-template-columns:1.25fr 1fr;}}
.fs-md-in-col{
  padding:1.25rem 1.3rem;border-radius:var(--fs-radius-card,.75rem);
  border:1px solid rgb(var(--c-line));background:rgb(var(--c-paper));
}
.fs-md-in-yes{background:rgb(var(--c-brand-600) / .05);border-color:rgb(var(--c-brand-600) / .22);}
.fs-md-in-no{background:rgb(var(--c-paper-soft));}
.fs-md-in-ct{
  margin:0 0 .85rem;font-size:.78rem;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:rgb(var(--c-ink-700));
}
.fs-md-in-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem;}
.fs-md-in-col li{display:flex;gap:.6rem;align-items:flex-start;font-size:.95rem;line-height:1.45;color:rgb(var(--c-ink-700));}
.fs-md-in-yes li{color:rgb(var(--c-ink-950));}
.fs-md-in-note{
  display:flex;align-items:flex-start;margin:1.25rem 0 0;
  font-size:.9rem;color:rgb(var(--c-ink-700));
}
.fs-md-in-note .fs-md-pin{margin-top:.42rem;}

/* 6. Result cards */
.fs-md-rs-grid{display:grid;gap:1.25rem;grid-template-columns:1fr;list-style:none;margin:0;padding:0;}
@media(min-width:52rem){.fs-md-rs-grid{grid-template-columns:repeat(3,1fr);}}
.fs-md-rs-card{
  position:relative;overflow:hidden;display:flex;flex-direction:column;gap:.35rem;
  padding:1.4rem 1.35rem;border-radius:var(--fs-radius-card,.75rem);
  border:1px solid rgb(var(--c-line));background:rgb(var(--c-paper));
  box-shadow:var(--fs-shadow-card,none);
}
/* motif as target */
.fs-md-rs-target{
  position:absolute;top:-3.2rem;right:-3.2rem;width:11rem;height:11rem;
  border-radius:50%;pointer-events:none;
  background:repeating-radial-gradient(circle at center,
    transparent 0 14px, rgb(var(--c-brand-600) / .14) 14px 15px);
}
.fs-md-rs-f{
  font-size:clamp(2rem,4.4vw,2.7rem);font-weight:750;line-height:1.05;
  letter-spacing:-.02em;color:rgb(var(--c-brand-700));
}
.fs-md-rs-l{
  font-size:.75rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-md-rs-b{margin:.5rem 0 0;font-size:.93rem;line-height:1.5;color:rgb(var(--c-ink-700));}
.fs-md-rs-w{
  display:flex;align-items:center;margin:auto 0 0;padding-top:.85rem;
  font-size:.8rem;color:rgb(var(--c-ink-400));border-top:1px solid rgb(var(--c-line));
}
.fs-md-rs-note{margin:1.25rem 0 0;font-size:.85rem;color:rgb(var(--c-ink-400));}

/* 8. Distances */
.fs-md-di-rail{
  list-style:none;margin:0;padding:0;display:grid;gap:1rem;grid-template-columns:1fr;
}
@media(min-width:52rem){
  .fs-md-di-rail{grid-template-columns:repeat(5,1fr);gap:.6rem;position:relative;}
  /* contour line */
  .fs-md-di-rail::before{
    content:'';position:absolute;left:8%;right:8%;top:.62rem;height:2px;
    background:repeating-linear-gradient(90deg,
      rgb(var(--c-brand-600) / .35) 0 8px, transparent 8px 14px);
  }
}
.fs-md-di-stop{
  display:flex;flex-direction:column;gap:.2rem;position:relative;
  padding:0 0 0 1.6rem;
}
@media(min-width:52rem){
  .fs-md-di-stop{padding:2.1rem .3rem 0;text-align:center;align-items:center;}
}
.fs-md-di-mark{
  position:absolute;left:0;top:.28rem;width:.85rem;height:.85rem;border-radius:50%;
  background:rgb(var(--c-brand-600));box-shadow:0 0 0 4px rgb(var(--c-brand-600) / .15), 0 0 0 8px rgb(var(--c-paper));
}
@media(min-width:52rem){
  .fs-md-di-mark{left:50%;top:.2rem;transform:translateX(-50%);}
}
.fs-md-di-t{font-weight:650;font-size:.95rem;color:rgb(var(--c-ink-950));}
.fs-md-di-d{
  font-size:1.15rem;font-weight:700;letter-spacing:-.01em;color:rgb(var(--c-ink-950));
}
.fs-md-di-bar{
  display:block;width:100%;max-width:7rem;height:3px;border-radius:999px;
  background:rgb(var(--c-brand-600) / .14);overflow:hidden;margin:.35rem 0 .1rem;
}
.fs-md-di-bar i{
  display:block;height:100%;border-radius:999px;
  width:var(--md-at,50%);background:rgb(var(--c-brand-600) / .7);
}
.fs-md-di-n{font-size:.8rem;color:rgb(var(--c-ink-400));}
.fs-md-di-note{margin:1.4rem 0 0;font-size:.85rem;color:rgb(var(--c-ink-400));}

/* ── Hosted inside a fluid column ─────────────────────────────
   the chrome only stacks [data-fs-grid]; these grids stack themselves */
.fs-nested-block .fs-md-sp-grid,
.fs-nested-block .fs-md-rs-grid,
.fs-nested-block .fs-md-in-cols,
.fs-nested-block .fs-md-mp-wrap,
.fs-nested-block .fs-md-di-rail{grid-template-columns:1fr !important;}
.fs-nested-block .fs-md-rl-rail{flex-direction:column !important;height:auto !important;}
.fs-nested-block .fs-md-rl-panel{flex:1 1 auto !important;min-height:7.5rem !important;height:auto !important;}
.fs-nested-block .fs-md-rl-b{opacity:1 !important;transform:none !important;max-height:8rem !important;}
.fs-nested-block .fs-md-di-rail::before{display:none !important;}
.fs-nested-block .fs-md-di-stop{padding:0 0 0 1.6rem !important;text-align:left !important;align-items:flex-start !important;}
.fs-nested-block .fs-md-di-mark{left:0 !important;top:.28rem !important;transform:none !important;}

/* Motion */
@media (prefers-reduced-motion: reduce){
  .fs-md *{transition:none !important;animation:none !important;}
  /* Finished state, never half-drawn — but only where it fits: a
     collapsed panel is ~127px wide and would clip the sentence. */
  .fs-md-rl-panel.is-open .fs-md-rl-b{opacity:1 !important;transform:none !important;max-height:8rem !important;}
}


.fs-mq{
  position:relative;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-mq *{box-sizing:border-box;}

/* ── Shared motifs ──────────────────────────────────────────────
   The swept arc: a top edge curved by an elliptical radius. */
.fs-mq-arc{
  display:block;width:9rem;height:2rem;
  border-top:1.5px solid rgb(var(--c-accent, var(--c-brand-600)));
  border-radius:50% / 100% 100% 0 0;
}
@keyframes fs-mq-sweep{from{clip-path:inset(0 100% 0 0);}to{clip-path:inset(0 0 0 0);}}
.fs-mq-anim .fs-mq-arc{animation:fs-mq-sweep 1s cubic-bezier(.22,.61,.36,1) both;}
.fs-mq-wire .fs-mq-arc{border-color:rgb(var(--c-ink-950));}

/* Small-caps label, tracked wide — the set's only "badge". */
.fs-mq-label{
  display:block;
  font-size:.68rem;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}

/* Type */
.fs-mq-title{
  margin:1.2rem 0 0;
  font-family:var(--font-display, ui-sans-serif, system-ui, sans-serif);
  font-size:clamp(2.1rem,4.6vw,3.4rem);
  font-weight:400;line-height:1.14;letter-spacing:-0.012em;
  text-wrap:balance;
}
.fs-mq-accent{color:rgb(var(--c-brand-600));}
.fs-mq-sub{
  margin-top:1rem;max-width:36rem;
  font-size:1rem;line-height:1.7;
  color:rgb(var(--c-ink-700));
}
.fs-mq-h{
  margin:0;
  font-family:var(--font-display, ui-sans-serif, system-ui, sans-serif);
  font-size:var(--fs-type-h2, clamp(1.7rem,3vw,2.4rem));
  font-weight:var(--fs-type-h2-weight, 400);
  letter-spacing:var(--fs-type-h2-tracking, -0.012em);
  line-height:var(--fs-type-h2-leading, 1.2);
  text-wrap:balance;
}

/* Buttons — spans in previews. Quiet: outline first, fill on hover. */
.fs-mq-ctas{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.8rem;}
.fs-mq-btn,.fs-mq-btn2{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.8rem 1.6rem;cursor:pointer;
  border-radius:var(--fs-radius-pill, 999px);
  font-size:.82rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  transition:background-color .2s ease, color .2s ease, border-color .2s ease;
}
.fs-mq-btn{
  background:rgb(var(--c-brand-600));
  color:rgb(var(--c-paper));
  border:1px solid rgb(var(--c-brand-600));
}
.fs-mq-btn:hover{background:rgb(var(--c-brand-700));border-color:rgb(var(--c-brand-700));}
.fs-mq-btn2{
  background:transparent;
  color:rgb(var(--c-ink-950));
  border:1px solid rgb(var(--c-ink-950) / .45);
}
.fs-mq-btn2:hover{border-color:rgb(var(--c-brand-600));color:rgb(var(--c-brand-600));}
.fs-mq-btn:focus-visible,.fs-mq-btn2:focus-visible{outline:2px solid rgb(var(--c-brand-600));outline-offset:3px;}

/* ═════════ HERO (favMarqueHero) ═════════ */
.fs-mq-hero{padding:var(--fs-space-section, clamp(2.4rem,5vw,3.8rem)) clamp(1rem,4vw,2.5rem);}
.fs-mq-hero-inner{
  max-width:var(--fs-layout-max,74rem);margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(2rem,5vw,3.5rem);align-items:center;
}
@media (max-width:940px){.fs-mq-hero-inner{grid-template-columns:1fr;gap:2.4rem;}}
.fs-mq-hero-arc{margin-top:1.6rem;}
/* The stat row: hairline-separated, tabular, no cards. */
.fs-mq-stats{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1.2rem;margin:2.2rem 0 0;padding-top:1.2rem;
  border-top:1px solid rgb(var(--c-line));
}
.fs-mq-stat{display:flex;flex-direction:column;gap:.2rem;margin:0;}
.fs-mq-stat-v{
  font-family:var(--font-display, ui-sans-serif, system-ui, sans-serif);
  font-size:1.4rem;font-weight:500;font-variant-numeric:tabular-nums;
  color:rgb(var(--c-ink-950));
}
.fs-mq-stat-l{
  margin:0;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
@media (max-width:560px){.fs-mq-stats{grid-template-columns:1fr;gap:.9rem;}}

/* The frame: a hairline keyline offset behind the image, no shadow. */
.fs-mq-stage{position:relative;display:flex;justify-content:center;padding:.9rem;}
.fs-mq-frame{
  position:relative;
  width:min(30rem,100%);aspect-ratio:4 / 3;overflow:hidden;
  border-radius:var(--fs-radius-card, 1.75rem);
  background:rgb(var(--c-paper-soft));
}
.fs-mq-frame img{width:100%;height:100%;object-fit:cover;display:block;}
.fs-mq-frame > *{width:100%;height:100%;}
.fs-mq-frame-key{
  position:absolute;inset:-.9rem;width:auto;height:auto;
  border:1px solid rgb(var(--c-line));
  border-radius:calc(var(--fs-radius-card, 1.75rem) + .6rem);
  pointer-events:none;
}
.fs-mq-frame-fallback{
  display:block;width:100%;height:100%;
  background:
    radial-gradient(120% 90% at 20% 0%, rgb(var(--c-accent, var(--c-brand-600)) / .35), transparent 60%),
    linear-gradient(160deg, rgb(var(--c-brand-600) / .5), rgb(var(--c-ink-950) / .55));
}
.fs-mq-wire .fs-mq-frame-key,.fs-mq-wire .fs-mq-frame-fallback{display:none;}

/* ═════════ PAGE HEADER (favMarqueHeader) ═════════ */
.fs-mq-hd{padding:var(--fs-space-section, clamp(2.2rem,4.5vw,3.4rem)) clamp(1rem,4vw,2.5rem);}
.fs-mq-hd-inner{max-width:var(--fs-layout-max,74rem);margin:0 auto;}
.fs-mq-hd-title{font-size:clamp(1.9rem,4vw,3rem);}
.fs-mq-hd-arc{margin-top:1.4rem;}
.fs-mq-hd .fs-mq-sub{max-width:min(42rem, var(--fs-layout-clamp, 42rem));}

/* ═════════ FINISH — the interactive cross-section ═════════ */
.fs-mq-fin{padding:var(--fs-space-section, clamp(2.4rem,5vw,3.8rem)) clamp(1rem,4vw,2.5rem);}
.fs-mq-fin-head{max-width:var(--fs-layout-max,66rem);margin:0 auto 1.8rem;}
.fs-mq-fin-body{
  max-width:var(--fs-layout-max,66rem);margin:0 auto;
  display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(1.4rem,3.5vw,2.8rem);align-items:center;
}
@media (max-width:880px){.fs-mq-fin-body{grid-template-columns:1fr;}}
.fs-mq-fin-figure{position:relative;}
.fs-mq-fin-svg{width:100%;height:auto;display:block;overflow:visible;}
/* Strata: separated by tone, raised a hair when selected. */
.fs-mq-fin-band{
  opacity:.42;
  transition:opacity .35s ease, transform .35s ease;
  transform-box:fill-box;transform-origin:center;
}
.fs-mq-fin-band.is-on{opacity:1;transform:translateY(-6px);}
.fs-mq-fin-caliper{
  transition:transform .35s cubic-bezier(.22,.61,.36,1);
  stroke:rgb(var(--c-accent, var(--c-brand-600)));
  stroke-width:1.6;fill:none;
}
/* NO text-transform here. Uppercasing this line turns "µm" into
   "ΜM", which reads as millimetres — a thousandfold error on a
   figure the whole block exists to state precisely. Small-caps
   tracking without the transform gets the same look safely. */
.fs-mq-fin-depth{
  display:block;margin-top:.7rem;
  font-size:.72rem;letter-spacing:.14em;
  font-variant-numeric:tabular-nums;
  color:rgb(var(--c-ink-400));
}
.fs-mq-fin-list{display:flex;flex-direction:column;}
/* Double-classed: the editor's typography layer paints every canvas
   <button> with --fs-btn-color (white by default), which would wash
   these rows out entirely. */
.fs-mq .fs-mq-fin-tab{
  display:flex;flex-direction:column;gap:.35rem;
  padding:.95rem .2rem;cursor:pointer;text-align:left;
  font-family:inherit;font-size:inherit;letter-spacing:0;text-transform:none;
  background:transparent;border:0;
  border-top:1px solid rgb(var(--c-line));
  color:rgb(var(--c-ink-950));
  transition:padding-left .25s ease, border-color .25s ease;
}
.fs-mq .fs-mq-fin-tab:last-child{border-bottom:1px solid rgb(var(--c-line));}
.fs-mq .fs-mq-fin-tab.is-on{
  padding-left:.9rem;
  border-top-color:rgb(var(--c-brand-600));
}
.fs-mq .fs-mq-fin-tab:focus-visible{outline:2px solid rgb(var(--c-brand-600));outline-offset:2px;}
.fs-mq-fin-tab-top{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;}
.fs-mq-fin-tab-name{
  font-family:var(--font-display, ui-sans-serif, system-ui, sans-serif);
  font-size:1.05rem;font-weight:500;
}
.fs-mq .fs-mq-fin-tab.is-on .fs-mq-fin-tab-name{color:rgb(var(--c-brand-600));}
.fs-mq-fin-tab-um{
  font-size:.76rem;letter-spacing:.1em;font-variant-numeric:tabular-nums;
  color:rgb(var(--c-ink-400));
}
.fs-mq-fin-tab-body{
  font-size:.88rem;line-height:1.6;color:rgb(var(--c-ink-700));
  max-height:0;opacity:0;overflow:hidden;
  transition:max-height .35s ease, opacity .3s ease;
}
.fs-mq .fs-mq-fin-tab.is-on .fs-mq-fin-tab-body{max-height:12rem;opacity:1;}
.fs-mq-fin-note{
  max-width:var(--fs-layout-max,66rem);margin:1.4rem auto 0;
  font-size:.8rem;line-height:1.6;color:rgb(var(--c-ink-400));
}
/* Wireframe / reduced motion: every stratum shown, nothing hidden. */
.fs-mq-wire .fs-mq-fin-band{opacity:1;transform:none;}
.fs-mq-wire .fs-mq-fin-tab-body{max-height:none;opacity:1;}

/* ═════════ LEDGER (favMarqueLedger) ═════════ */
.fs-mq-lg{padding:var(--fs-space-section, clamp(2.4rem,5vw,3.8rem)) clamp(1rem,4vw,2.5rem);}
.fs-mq-lg-head{max-width:var(--fs-layout-max,60rem);margin:0 auto 1.8rem;}
.fs-mq-lg-table{max-width:var(--fs-layout-max,60rem);margin:0 auto;}
.fs-mq-lg-row{
  display:grid;
  grid-template-columns:auto 1fr auto;
  grid-template-areas:'name rule price' 'note note note';
  align-items:baseline;gap:.2rem .8rem;
  padding:1rem 0;
  border-top:1px solid rgb(var(--c-line));
}
.fs-mq-lg-row:last-child{border-bottom:1px solid rgb(var(--c-line));}
.fs-mq-lg-name{
  grid-area:name;
  font-family:var(--font-display, ui-sans-serif, system-ui, sans-serif);
  font-size:1.02rem;font-weight:500;
}
/* The dotted leader — a ledger, not a table. */
.fs-mq-lg-rule{
  grid-area:rule;height:1px;align-self:center;
  background-image:radial-gradient(circle, rgb(var(--c-ink-400)) .5px, transparent .5px);
  background-size:5px 1px;background-repeat:repeat-x;
}
.fs-mq-lg-price{
  grid-area:price;
  font-size:1rem;font-weight:600;font-variant-numeric:tabular-nums;
  color:rgb(var(--c-brand-600));
}
.fs-mq-lg-note{
  grid-area:note;margin-top:.15rem;
  font-size:.86rem;line-height:1.55;color:rgb(var(--c-ink-700));
  max-width:min(44rem, var(--fs-layout-clamp, 44rem));
}
.fs-mq-lg-foot{
  max-width:var(--fs-layout-max,60rem);margin:1.2rem auto 0;
  font-size:.8rem;line-height:1.6;color:rgb(var(--c-ink-400));
}
.fs-mq-wire .fs-mq-lg-rule{background:none;border-bottom:1px dashed rgb(var(--c-ink-950));}

/* ═════════ CTA (favMarqueCta) ═════════ */
.fs-mq-cta{padding:var(--fs-space-section, clamp(2.4rem,5vw,3.8rem)) clamp(1rem,4vw,2.5rem);}
.fs-mq-cta-panel{
  position:relative;max-width:min(52rem, var(--fs-layout-clamp, 52rem));margin:0 auto;
  padding:clamp(1.8rem,4vw,3rem);
  border:1px solid rgb(var(--c-line));
  border-radius:var(--fs-radius-card, 1.75rem);
  background:rgb(var(--c-paper-soft));
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.fs-mq-cta-arc{margin:0 auto .4rem;}
.fs-mq-cta-title{margin-top:.9rem;font-size:clamp(1.7rem,3.4vw,2.6rem);}
.fs-mq-cta-sub{max-width:34rem;}
.fs-mq-cta-phone{
  margin-top:1.2rem;
  font-family:var(--font-display, ui-sans-serif, system-ui, sans-serif);
  font-size:clamp(1.5rem,3vw,2.2rem);
  font-weight:500;letter-spacing:.02em;font-variant-numeric:tabular-nums;
  color:rgb(var(--c-brand-600));
}
.fs-mq-cta-actions{margin-top:1.2rem;justify-content:center;}
.fs-mq-cta-note{
  margin-top:1rem;
  font-size:.7rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:rgb(var(--c-ink-700));
}

/* Motion discipline: nothing in the set moves without input. */
@media (prefers-reduced-motion: reduce){
  .fs-mq,.fs-mq *,.fs-mq *::before,.fs-mq *::after{
    animation:none !important;transition:none !important;
  }
  .fs-mq-fin-band{opacity:1 !important;transform:none !important;}
  .fs-mq-fin-tab-body{max-height:none !important;opacity:1 !important;}
}

/* ── favMarqueFooter (theme-chrome batch 5, Concours) ──────────────
   The band is the full-bleed container fs-mq-ft (the surface tone under
   one hairline); the content box is the named container fs-mq-ft-in.
   Never uppercase a line holding µm. */
.fs-mq-ft{container-type:inline-size;container-name:fs-mq-ft;padding:0 clamp(1rem,4vw,2.5rem);background:rgb(var(--c-paper-soft));border-top:1px solid var(--mq-ft-rule);--mq-ft-rule:rgb(var(--c-ink-950) / .14);--mq-ft-note:color-mix(in srgb, rgb(var(--c-ink-950)) 74%, rgb(var(--c-paper)));--mq-ft-metal:rgb(var(--c-accent, var(--c-brand-600)));--mq-ft-leader:rgb(var(--c-ink-400))}
.fs-mq-ft:is(.dark *):not(.fs-preview-light *){--mq-ft-rule:rgb(var(--c-ink-950) / .16)}
.fs-mq-ft-in{container-type:inline-size;container-name:fs-mq-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:44px 28px;font-size:15px;line-height:1.55}
.fs-mq-ft-st-sub{fill:color-mix(in srgb, rgb(var(--c-ink-950)) 58%, rgb(var(--c-paper)))}
.fs-mq-ft-st-pri{fill:color-mix(in srgb, rgb(var(--c-ink-950)) 24%, rgb(var(--c-paper)))}
.fs-mq-ft-st-base{fill:rgb(var(--c-brand-600))}
.fs-mq-ft-st-clear{fill:rgb(var(--c-accent, var(--c-brand-600)) / .3)}
.fs-mq-ft-st-gloss{fill:none;stroke:var(--mq-ft-metal);stroke-width:1.25px}
.fs-mq-ft-sect{display:grid;gap:8px}
.fs-mq-ft-art{display:block;width:100%;height:38px}
.fs-mq-ft-depth{justify-self:end;margin-top:0;text-align:right;font-size:12px;letter-spacing:.12em;font-variant-numeric:tabular-nums;color:rgb(var(--c-ink-400))}
.fs-mq-ft-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.85fr) minmax(0,1fr) minmax(0,1.1fr);gap:34px clamp(28px,3.4cqi,52px);margin-top:34px}
.fs-mq-ft-col{min-width:0}
.fs-mq-ft-label{display:block;padding-bottom:12px;margin-bottom:6px;border-bottom:1px solid var(--mq-ft-rule);font:500 10.5px/1.3 var(--font-display, Jost,Futura,"Century Gothic",sans-serif);letter-spacing:.24em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
.fs-mq-ft-name{margin-top:2px;font:400 24px/1.15 var(--font-display, Jost,Futura,"Century Gothic",sans-serif);letter-spacing:-.005em;color:rgb(var(--c-ink-950))}
.fs-mq-ft-arc{display:block;width:5rem;height:.85rem;margin-top:10px;border-top:1.5px solid var(--mq-ft-metal);border-radius:50%/100% 100% 0 0}
.fs-mq-ft-p{margin-top:6px;max-width:34ch;font-size:14px;line-height:1.6;color:var(--mq-ft-note)}
.fs-mq-ft-tel{display:inline-block;margin-top:12px;font:500 21px/1.1 var(--font-display, Jost,Futura,"Century Gothic",sans-serif);letter-spacing:.02em;font-variant-numeric:tabular-nums;color:rgb(var(--c-brand-text))}
.fs-mq-ft-mail{display:block;margin-top:6px;font-size:14px;color:rgb(var(--c-ink-950));overflow-wrap:anywhere}
.fs-mq-ft-links{list-style:none;margin:0;padding:0}
.fs-mq-ft-li{border-bottom:1px solid var(--mq-ft-rule)}
.fs-mq-ft-link{display:block;padding-block:8px;font:400 15.5px/1.35 var(--font-display, Jost,Futura,"Century Gothic",sans-serif);color:rgb(var(--c-ink-950))}
.fs-mq-ft-link:hover{color:rgb(var(--c-brand-text))}
.fs-mq-ft-ledger{list-style:none;margin:0;padding:0}
.fs-mq-ft-lrow{display:grid;grid-template-columns:auto minmax(12px,1fr) auto;align-items:baseline;gap:10px;padding-block:8px;border-bottom:1px solid var(--mq-ft-rule);font-size:14px}
.fs-mq-ft-lrule{height:1px;align-self:center;background-image:radial-gradient(circle,var(--mq-ft-leader) .65px,transparent .75px);background-size:5px 1px;background-repeat:repeat-x}
.fs-mq-ft-lk{font:400 15.5px/1.35 var(--font-display, Jost,Futura,"Century Gothic",sans-serif);color:rgb(var(--c-ink-950))}
.fs-mq-ft-lv{font-weight:600;font-size:14px;line-height:1.35;font-variant-numeric:tabular-nums;white-space:nowrap;color:rgb(var(--c-brand-text))}
.fs-mq-ft-cert{display:inline-block;align-self:flex-start;margin-top:14px;padding-bottom:4px;border-bottom:1px solid var(--mq-ft-metal);font:500 11.5px/1.3 var(--font-display, Jost,Futura,"Century Gothic",sans-serif);letter-spacing:.18em;text-transform:uppercase;color:rgb(var(--c-ink-950))}
.fs-mq-ft-cert:hover{color:rgb(var(--c-brand-text))}
.fs-mq-ft-legal{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:38px;padding-top:16px;border-top:1px solid var(--mq-ft-rule);font:500 10.5px/1.5 var(--font-display, Jost,Futura,"Century Gothic",sans-serif);letter-spacing:.16em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
.fs-mq-ft-sep{display:inline-block;flex:none;width:16px;height:6px;border-top:1.5px solid var(--mq-ft-metal);border-radius:50%/100% 100% 0 0;transform:translateY(1px)}
.fs-mq-ft-legal-a{color:var(--mq-ft-note);white-space:nowrap}
.fs-mq-ft-legal-a:hover{color:rgb(var(--c-ink-950))}
.fs-mq-ft-lg-first{display:inline-flex;align-items:center;gap:14px;flex-wrap:wrap;margin-right:auto}
.fs-mq-ft-lg-links{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px 14px;min-width:0}
@container fs-mq-ft (max-width: 40rem){
  .fs-mq-ft-in{padding-block:34px 24px}
}
@container fs-mq-ft-in (max-width: 60rem){
  .fs-mq-ft-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-mq-ft-lg-first{flex-basis:100%}
}
@container fs-mq-ft (max-width: 48rem){
  .fs-mq-ft-grid{grid-template-columns:minmax(0,1fr);gap:30px}
  .fs-mq-ft-art{height:30px}
}
@media (prefers-reduced-motion: reduce){
  .fs-mq-ft-link,.fs-mq-ft-cert{transition:none}
}


.fs-fr{
  position:relative;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));

  /* ── The two scene roles the light timeline draws with ──────────
     A landscape has dark ground and a bright sun in BOTH modes — a
     night scene is not a photographic negative of a day one. So the
     illustration cannot reach for --c-ink-950 and --c-paper, because
     those swap meaning when the palette flips: in dark mode ink is
     the near-white and paper the near-black, which turned the first
     cut of this scene into cream hills under a black sun.

     Swapping them behind a .dark selector was the obvious fix and
     the wrong one — the editor shell and the published page both
     carry dark-mode classes of their own, so the scene inverted
     whenever the DASHBOARD was dark regardless of the preview.

     Mixing instead makes it true by construction: land is always the
     brand pulled most of the way to black, sun is always the accent
     pulled most of the way to white. Both stay tinted by the active
     palette, neither can invert, and no ancestor class is involved.
     Depth comes from element opacity rather than colour alpha, so
     these stay plain colours the SVG can use directly. */
  --fr-land: color-mix(in srgb, rgb(var(--c-brand-600)) 40%, #0E0B08);
  --fr-sun: color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 24%, #FFFFFF);
}
.fs-fr *{box-sizing:border-box;}

/* ── Type ─────────────────────────────────────────────────────── */
.fs-fr-eyebrow{
  display:inline-flex;align-items:center;gap:.6rem;
  color:rgb(var(--c-brand-600));
  font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
}
.fs-fr-eyebrow::before{
  content:'';width:1.5rem;height:2px;flex:none;
  background:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-fr-title{
  margin:1rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(2.2rem,4.8vw,3.7rem);
  line-height:1.1;font-weight:700;letter-spacing:-.015em;
  color:rgb(var(--c-ink-950));
  text-wrap:balance;
}
.fs-fr-accent{color:rgb(var(--c-brand-600));}
.fs-fr-h{
  margin:.85rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(1.75rem,3.2vw,2.6rem);
  line-height:1.16;font-weight:700;letter-spacing:-.012em;
  color:rgb(var(--c-ink-950));
  text-wrap:balance;
}
.fs-fr-sub{
  margin:1.1rem 0 0;max-width:56ch;
  font-size:clamp(1rem,1.4vw,1.08rem);line-height:1.72;
  color:rgb(var(--c-ink-700));
  text-wrap:pretty;
}
.fs-fr-note{
  margin:1.6rem auto 0;max-width:var(--fs-layout-max,60rem);
  font-size:.82rem;line-height:1.6;
  color:rgb(var(--c-ink-400));
}

/* ── Buttons ──────────────────────────────────────────────────── */
.fs-fr-ctas{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;margin-top:1.9rem;align-items:center;}
.fs-fr-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:2.9rem;padding:.9rem 1.85rem;
  border-radius:var(--fs-radius-control, .5rem);
  font-size:.9rem;font-weight:700;line-height:1;letter-spacing:.02em;white-space:nowrap;
  color:rgb(var(--c-paper));
  background:rgb(var(--c-brand-600));
  box-shadow:var(--fs-shadow-card, 0 4px 16px -6px rgb(var(--c-ink-950) / .16));
  transition:background .25s ease, transform .25s ease, box-shadow .25s ease;
}
.fs-fr-btn:hover{
  background:rgb(var(--c-brand-700, var(--c-brand-600)));
  transform:translateY(-2px);
  box-shadow:var(--fs-shadow-lift, 0 22px 44px rgb(var(--c-ink-950) / .18));
}
.fs-fr .fs-fr-link{
  display:inline-flex;align-items:center;gap:.45rem;min-height:2.75rem;
  padding:.7rem 0 .45rem;
  font-size:.9rem;font-weight:700;
  color:rgb(var(--c-ink-950));
  border-bottom:2px solid rgb(var(--c-accent, var(--c-brand-600)));
  transition:color .25s ease;
}
.fs-fr .fs-fr-link:hover{color:rgb(var(--c-brand-600));}

/* ── Motif 1 — THE MOUNT ──────────────────────────────────────── */
.fs-fr-mount{
  /* Published as a variable because the grease-pencil ring has to start
     at the plate's edge, which is exactly one padding in from the mount.
     Reading it back beats repeating the clamp() in two places and having
     them drift. */
  --fs-fr-pad:clamp(.85rem,1.6vw,1.15rem);
  position:relative;margin:0;
  padding:var(--fs-fr-pad);
  border-radius:var(--fs-radius-card, .75rem);
  background:rgb(var(--c-paper-soft));
  box-shadow:var(--fs-shadow-card, 0 4px 16px -6px rgb(var(--c-ink-950) / .16));
}
.fs-fr-plate{
  position:relative;overflow:hidden;
  border-radius:calc(var(--fs-radius-card, .75rem) * .4);
  outline:1px solid rgb(var(--c-line));
  outline-offset:-1px;
  background:rgb(var(--c-brand-50));
}
.fs-fr-plate img{display:block;width:100%;height:100%;object-fit:cover;}
.fs-fr-plate-fallback{
  display:block;aspect-ratio:4 / 3;
  background:
    radial-gradient(circle at 70% 26%, rgb(var(--c-paper) / .85) 0 9%, transparent 9.5%),
    linear-gradient(180deg, rgb(var(--c-ink-950) / .34), rgb(var(--c-accent, var(--c-brand-600)) / .5));
}
/* Motif 2 — the frame number, in the caption under every mount. */
.fs-fr-cap{
  display:flex;align-items:baseline;gap:.7rem;
  padding:.75rem .15rem 0;
}
.fs-fr-no{
  flex:none;
  font-family:var(--font-display, Georgia, serif);
  font-size:.86rem;font-weight:700;letter-spacing:.02em;
  color:rgb(var(--c-brand-600));
  font-variant-numeric:tabular-nums;
}
.fs-fr-cap-t{
  font-size:.8rem;line-height:1.45;
  color:rgb(var(--c-ink-400));
}

/* ═════════ HERO (favFrameHero) ═════════ */
.fs-fr-hero{
  overflow:hidden;
  padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);
}
.fs-fr-hero-inner{
  position:relative;max-width:var(--fs-layout-max,74rem);margin:0 auto;
  display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(2.25rem,5vw,4rem);align-items:center;
}
@media (max-width:940px){.fs-fr-hero-inner{grid-template-columns:1fr;gap:2.5rem;}}
.fs-fr-mount-hero .fs-fr-plate{aspect-ratio:4 / 5;}
.fs-fr-mount-hero .fs-fr-plate-fallback{aspect-ratio:4 / 5;}
.fs-fr-chips{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:2rem;}
.fs-fr-chip{
  display:inline-flex;align-items:center;
  padding:.45rem .85rem;
  border-radius:var(--fs-radius-pill, 999px);
  border:1px solid rgb(var(--c-line));
  background:rgb(var(--c-paper-soft));
  font-size:.78rem;letter-spacing:.02em;
  color:rgb(var(--c-ink-700));
}
/* The one ambient flourish in the set: a light leak drifting across
   the hero, the way one crosses the first frame of a roll. */
.fs-fr-leak{
  position:absolute;top:-30%;left:-20%;
  width:70%;height:160%;
  pointer-events:none;
  background:linear-gradient(78deg,
    rgb(var(--c-accent, var(--c-brand-600)) / 0) 0%,
    rgb(var(--c-accent, var(--c-brand-600)) / .16) 45%,
    rgb(var(--c-brand-600) / .1) 62%,
    rgb(var(--c-accent, var(--c-brand-600)) / 0) 100%);
  filter:blur(28px);
  opacity:.9;
}
.fs-fr-anim .fs-fr-leak{animation:fs-fr-drift 26s ease-in-out infinite alternate;}
@keyframes fs-fr-drift{
  from{transform:translate3d(0,0,0) rotate(0deg);}
  to{transform:translate3d(38%,-6%,0) rotate(7deg);}
}

/* ═════════ PAGE HEADER (favFrameHeader) ═════════ */
.fs-fr-hd{padding:var(--fs-space-section, clamp(2.6rem,6vw,4rem)) clamp(1rem,4vw,2.5rem);}
.fs-fr-hd-inner{position:relative;max-width:var(--fs-layout-max,56rem);margin:0 auto;}
.fs-fr-hd-title{font-size:clamp(2rem,4.2vw,3.1rem);}
.fs-fr-hd-rule{
  position:relative;left:auto;right:auto;display:block;
  width:100%;height:.7rem;margin-top:2rem;
  background-image:repeating-linear-gradient(90deg,
    rgb(var(--c-accent, var(--c-brand-600)) / .55) 0 .62rem,
    transparent .62rem 1.34rem);
}

/* ═════════ CONTACT SHEET (favFrameSheet) ═════════ */
.fs-fr-sh{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-fr-sh-head{max-width:var(--fs-layout-max,56rem);margin:0 auto 2.4rem;}
.fs-fr-strip{
  position:relative;max-width:var(--fs-layout-max,74rem);margin:0 auto;
  padding:1.9rem clamp(.85rem,2vw,1.6rem);
  border-radius:var(--fs-radius-card, .75rem);
  background:rgb(var(--c-ink-950) / .06);
}
/* Motif 3 — the sprocket edge. */
.fs-fr-sprocket{
  position:absolute;left:clamp(.85rem,2vw,1.6rem);right:clamp(.85rem,2vw,1.6rem);
  height:.7rem;
  background-image:repeating-linear-gradient(90deg,
    rgb(var(--c-paper)) 0 .62rem,
    transparent .62rem 1.34rem);
  border-radius:2px;
}
.fs-fr-sprocket-top{top:.6rem;}
.fs-fr-sprocket-bottom{bottom:.6rem;}
.fs-fr-sh-grid{
  display:grid;grid-template-columns:repeat(3, minmax(0,1fr));
  gap:clamp(.85rem,1.8vw,1.35rem);
}
@media (max-width:860px){.fs-fr-sh-grid{grid-template-columns:repeat(2, minmax(0,1fr));}}
@media (max-width:520px){.fs-fr-sh-grid{grid-template-columns:1fr;}}
.fs-fr-sh-item{
  transition:transform .3s ease, box-shadow .3s ease;
  cursor:pointer;
}
.fs-fr-sh-item{--fs-fr-plate-ratio:4 / 3;}
.fs-fr-sh-item .fs-fr-plate{aspect-ratio:var(--fs-fr-plate-ratio);}
.fs-fr-sh-item:hover,.fs-fr-sh-item:focus-visible{
  transform:translateY(-6px);
  box-shadow:var(--fs-shadow-lift, 0 22px 44px rgb(var(--c-ink-950) / .18));
  outline:none;
}
/* Motif 4 — the grease-pencil ring on the marked frame.

   Sized to the PHOTO, not to the mount. It used to be inset:.35rem on
   the mount, which is the whole card — so it drew a big lopsided ellipse
   around the picture AND its caption, and (being absolute, so painted
   above its static siblings) sliced across the photo's corners on the
   way past. It read as a stray circle dropped on the image rather than a
   mark made around the frame.

   The plate starts one --fs-fr-pad in from the mount and carries the
   sheet's own aspect ratio, so matching those two puts the ring on the
   photo's edge; the small negative gap lets it sit just outside, the way
   a hand-drawn mark overshoots what it is circling. bottom:auto is what
   hands height over to aspect-ratio — leaving the old inset's bottom in
   place would stretch it back over the caption. */
.fs-fr-ring{
  position:absolute;
  top:calc(var(--fs-fr-pad, .95rem) - .3rem);
  left:calc(var(--fs-fr-pad, .95rem) - .3rem);
  right:calc(var(--fs-fr-pad, .95rem) - .3rem);
  bottom:auto;
  aspect-ratio:var(--fs-fr-plate-ratio, 4 / 3);
  border:3px solid rgb(var(--c-accent, var(--c-brand-600)));
  border-radius:52% 48% 46% 54% / 49% 52% 48% 51%;
  transform:rotate(-2.5deg) scale(.96);
  opacity:0;
  pointer-events:none;
  transition:opacity .25s ease, transform .25s ease;
}
.fs-fr-sh-item:hover .fs-fr-ring,
.fs-fr-sh-item:focus-visible .fs-fr-ring{opacity:.9;transform:rotate(-2.5deg) scale(1);}
.fs-fr-sh-item:focus-visible{
  outline:2px solid rgb(var(--c-brand-600));
  outline-offset:3px;
}

/* ═════════ LIGHT TIMELINE (favFrameLight) ═════════
   The interactive illustration. The scene is one mount; the ticks and
   the reading sit beside it so a change is visible without scrolling. */
.fs-fr-lt{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-fr-lt-head{max-width:var(--fs-layout-max,56rem);margin:0 auto 2.4rem;}
.fs-fr-lt-stage{
  max-width:var(--fs-layout-max,74rem);margin:0 auto;
  display:grid;grid-template-columns:1.15fr .85fr;
  gap:clamp(1.5rem,3vw,2.5rem);align-items:start;
}
@media (max-width:940px){.fs-fr-lt-stage{grid-template-columns:1fr;}}
.fs-fr-lt-svg{display:block;width:100%;height:auto;}
.fs-fr-lt-sun,.fs-fr-lt-shadow{transition:cx .5s ease, cy .5s ease, r .5s ease, rx .5s ease;}
.fs-fr-lt-side{display:flex;flex-direction:column;gap:1.4rem;min-width:0;}
.fs-fr-lt-ticks{
  display:grid;grid-template-columns:repeat(5, minmax(0,1fr));
  gap:.4rem;
  padding:.4rem;
  border-radius:var(--fs-radius-card, .75rem);
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line));
}
@media (max-width:520px){.fs-fr-lt-ticks{grid-template-columns:repeat(2, minmax(0,1fr));}}
.fs-fr .fs-fr-tick{
  display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;
  min-height:2.75rem;padding:.6rem .5rem;
  border:0;border-radius:calc(var(--fs-radius-card, .75rem) * .55);
  background:transparent;
  color:rgb(var(--c-ink-700));
  font:inherit;text-align:left;cursor:pointer;
  transition:background .2s ease, color .2s ease;
}
.fs-fr .fs-fr-tick:hover{background:rgb(var(--c-brand-50));color:rgb(var(--c-ink-950));}
.fs-fr .fs-fr-tick[data-on="1"]{
  background:rgb(var(--c-brand-600));
  color:rgb(var(--c-paper));
}
.fs-fr .fs-fr-tick:focus-visible{
  outline:2px solid rgb(var(--c-accent, var(--c-brand-600)));
  outline-offset:2px;
}
.fs-fr-tick-h{
  font-family:var(--font-display, Georgia, serif);
  font-size:.95rem;font-weight:700;font-variant-numeric:tabular-nums;
}
.fs-fr-tick-l{font-size:.7rem;letter-spacing:.04em;opacity:.85;}
.fs-fr-lt-read{
  padding:clamp(1.1rem,2vw,1.5rem);
  border-radius:var(--fs-radius-card, .75rem);
  border:1px solid rgb(var(--c-line));
  background:rgb(var(--c-paper-soft));
}
.fs-fr-lt-c{font-size:1rem;line-height:1.7;color:rgb(var(--c-ink-950));}
.fs-fr-lt-r{
  margin-top:.85rem;padding-top:.85rem;
  border-top:1px solid rgb(var(--c-line));
  font-size:.88rem;line-height:1.6;font-weight:700;
  color:rgb(var(--c-brand-600));
}

/* ═════════ COLLECTIONS (favFrameCollections) ═════════ */
.fs-fr-co{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-fr-co-head{max-width:var(--fs-layout-max,56rem);margin:0 auto 2.4rem;}
.fs-fr-co-grid{
  max-width:var(--fs-layout-max,74rem);margin:0 auto;
  display:grid;grid-template-columns:repeat(3, minmax(0,1fr));
  gap:clamp(1rem,2vw,1.6rem);align-items:stretch;
}
@media (max-width:900px){.fs-fr-co-grid{grid-template-columns:1fr;}}
.fs-fr-co-card{
  display:flex;flex-direction:column;
  padding:clamp(1.4rem,2.4vw,1.9rem);
  border-radius:var(--fs-radius-card, .75rem);
  background:rgb(var(--c-paper-soft));
  box-shadow:var(--fs-shadow-card, 0 4px 16px -6px rgb(var(--c-ink-950) / .16));
  transition:transform .3s ease, box-shadow .3s ease;
}
.fs-fr-co-card:hover{
  transform:translateY(-5px);
  box-shadow:var(--fs-shadow-lift, 0 22px 44px rgb(var(--c-ink-950) / .18));
}
.fs-fr-co-n{
  font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-fr-co-p{
  margin-top:.6rem;
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(2rem,3.2vw,2.5rem);line-height:1;font-weight:700;letter-spacing:-.02em;
  color:rgb(var(--c-brand-600));
}
.fs-fr-co-m{
  margin-top:.5rem;padding-bottom:.95rem;
  border-bottom:1px solid rgb(var(--c-line));
  font-size:.8rem;color:rgb(var(--c-ink-400));
}
.fs-fr-co-b{margin-top:.95rem;flex:1;font-size:.93rem;line-height:1.68;color:rgb(var(--c-ink-700));}
.fs-fr-co-i{
  margin-top:1rem;padding-top:.85rem;
  border-top:1px solid rgb(var(--c-line));
  font-size:.82rem;line-height:1.55;color:rgb(var(--c-ink-400));
}
.fs-fr-co-a{margin-top:1.1rem;align-self:flex-start;}

/* ═════════ CTA (favFrameCta) ═════════ */
.fs-fr-cta{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-fr-cta-mount{max-width:var(--fs-layout-max,62rem);margin:0 auto;box-shadow:var(--fs-shadow-lift, 0 22px 44px rgb(var(--c-ink-950) / .18));}
.fs-fr-cta-plate{
  padding:clamp(2rem,4.5vw,3.4rem) clamp(1.4rem,4vw,3rem);
  border-radius:calc(var(--fs-radius-card, .75rem) * .4);
  outline:1px solid rgb(var(--c-line));
  outline-offset:-1px;
  background:rgb(var(--c-paper));
}
.fs-fr-cta-title{font-size:clamp(1.9rem,3.8vw,2.9rem);}
.fs-fr-cta-note{margin-left:0;}

/* ── Motion respects the system setting ───────────────────────── */
@media (prefers-reduced-motion: reduce){
  .fs-fr *,.fs-fr *::before,.fs-fr *::after{
    animation:none !important;
    transition:none !important;
  }
}

/* ── Wireframe, in the EDITOR ────────────────────────────────────
   Two surfaces express wireframe differently: a published page gets
   [data-render="wireframe"] on an ancestor (FRAME_WIRE_CSS below),
   while the editor canvas gets the .fs-fr-wire class the block roots
   already carry. Decoration comes off in both. */
.fs-fr-wire .fs-fr-leak,
.fs-fr-wire .fs-fr-ring,
.fs-fr-wire .fs-fr-plate-fallback,
.fs-fr-wire .fs-fr-eyebrow::before{display:none;}
.fs-fr-wire .fs-fr-mount,
.fs-fr-wire .fs-fr-co-card,
.fs-fr-wire .fs-fr-lt-read,
.fs-fr-wire .fs-fr-lt-ticks,
.fs-fr-wire .fs-fr-cta-plate,
.fs-fr-wire .fs-fr-chip,
.fs-fr-wire .fs-fr-btn{
  background:transparent;
  box-shadow:none;
  border:1px dashed rgb(var(--c-ink-950) / .55);
}
.fs-fr-wire .fs-fr-btn,
.fs-fr-wire .fs-fr-tick[data-on="1"]{background:transparent;color:rgb(var(--c-ink-950));}
.fs-fr-wire .fs-fr-strip{background:transparent;border:1px dashed rgb(var(--c-ink-950) / .35);}
.fs-fr-wire .fs-fr-sprocket{opacity:.35;}
.fs-fr-wire .fs-fr-hd-rule{opacity:.5;}
.fs-fr-wire .fs-fr-lt-svg{filter:grayscale(1) contrast(.55);opacity:.5;}
.fs-fr-wire .fs-fr-accent,
.fs-fr-wire .fs-fr-no,
.fs-fr-wire .fs-fr-co-p,
.fs-fr-wire .fs-fr-lt-r,
.fs-fr-wire .fs-fr-eyebrow{color:rgb(var(--c-ink-950));}

/* ── favFrameFooter (theme-chrome batch 3, Emberlight) ───────────────
   fs-fr-ft: the paper band with a hairline top edge (named container);
   fs-fr-ft-in: the content box (named container). The mount lifts on
   the family's dramatic shadow, which stays pure black at alpha in dark
   (a pale ink would turn it into a glow). */
.fs-fr-ft{container-type:inline-size;container-name:fs-fr-ft;padding:0 clamp(1rem,4vw,2.5rem);background:rgb(var(--c-paper));box-shadow:inset 0 1px 0 var(--fr-ft-hair);--fr-ft-hair:rgb(var(--c-ink-950) / .15);--fr-ft-ink2:color-mix(in srgb, rgb(var(--c-ink-950)) 76%, rgb(var(--c-paper)));--fr-ft-lift:0 26px 52px -18px rgb(var(--c-ink-950) / .34),0 6px 14px -8px rgb(var(--c-ink-950) / .18)}
.fs-fr-ft:is(.dark *):not(.fs-preview-light *){--fr-ft-hair:rgb(var(--c-ink-950) / .16);--fr-ft-ink2:color-mix(in srgb, rgb(var(--c-ink-950)) 79%, rgb(var(--c-paper)));--fr-ft-lift:0 26px 52px -18px rgb(0 0 0 / .7),0 6px 14px -8px rgb(0 0 0 / .5)}
.fs-fr-ft-in{container-type:inline-size;container-name:fs-fr-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:64px 34px}
.fs-fr-ft-eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-weight:700;font-size:11.5px;line-height:1.2;letter-spacing:.16em;text-transform:uppercase;color:rgb(var(--c-brand-text))}
.fs-fr-ft-eyebrow::before{content:'';flex:none;width:1.5rem;height:2px;background:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-fr-ft-no{flex:none;font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:13.5px;line-height:1;letter-spacing:.02em;color:rgb(var(--c-brand-text));font-variant-numeric:tabular-nums}
.fs-fr-ft-mail{display:inline-flex;align-items:center;padding-bottom:3px;border-bottom:2px solid rgb(var(--c-accent, var(--c-brand-600)));font-weight:700;font-size:14.5px;line-height:1.3;color:rgb(var(--c-ink-950));text-decoration:none;transition:color .25s ease}
.fs-fr-ft-mail:hover{color:rgb(var(--c-brand-text))}
.fs-fr-ft-cap-t{font-size:13.5px;line-height:1.45;color:var(--fr-ft-ink2)}
.fs-fr-ft-mount{padding:clamp(10px,1.3cqi,15px) clamp(10px,1.3cqi,15px) 0;background:rgb(var(--c-paper-soft));border-radius:12px;box-shadow:var(--fr-ft-lift)}
.fs-fr-ft-plate{padding:clamp(20px,3.2cqi,42px);background:rgb(var(--c-paper));border-radius:5px;outline:1px solid var(--fr-ft-hair);outline-offset:-1px}
.fs-fr-ft-head{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:18px 32px;align-items:end}
.fs-fr-ft-ttl{margin:0;font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:clamp(26px,2.6cqi,34px);line-height:1.1;letter-spacing:-.015em}
.fs-fr-ft-accent{font-style:normal;color:rgb(var(--c-brand-text))}
.fs-fr-ft-state{margin:10px 0 0;max-width:46ch;font-size:15.5px;line-height:1.6;color:var(--fr-ft-ink2)}
.fs-fr-ft-call{display:flex;flex-direction:column;align-items:flex-start;gap:8px;justify-self:end}
.fs-fr-ft-tel{margin-top:4px;font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:clamp(26px,2.6cqi,34px);line-height:1;color:rgb(var(--c-brand-text));font-variant-numeric:tabular-nums;letter-spacing:.005em;text-decoration:none}
.fs-fr-ft-rule{display:block;height:11px;margin-block:clamp(22px,2.8cqi,34px);background:repeating-linear-gradient(90deg,rgb(var(--c-accent, var(--c-brand-600)) / .55) 0 10px,transparent 10px 21px)}
.fs-fr-ft-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr);gap:26px clamp(20px,2.6cqi,36px)}
.fs-fr-ft-col{min-width:0}
.fs-fr-ft-col .fs-fr-ft-eyebrow{margin-bottom:13px}
.fs-fr-ft-p{margin:0;font-size:14.5px;line-height:1.6;color:var(--fr-ft-ink2)}
.fs-fr-ft-p+.fs-fr-ft-p{margin-top:8px}
.fs-fr-ft-hours{font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:17px;line-height:1.35;color:rgb(var(--c-ink-950))}
.fs-fr-ft-links{margin:0;list-style:none;padding:0;columns:2;column-gap:18px}
.fs-fr-ft-li{break-inside:avoid;padding-block:3px;font-size:14.5px}
.fs-fr-ft-link{color:rgb(var(--c-ink-950));text-decoration:none;background:linear-gradient(rgb(var(--c-accent, var(--c-brand-600))),rgb(var(--c-accent, var(--c-brand-600)))) 0 100%/0 1.5px no-repeat;transition:background-size .25s ease}
.fs-fr-ft-link:hover{background-size:100% 1.5px}
.fs-fr-ft-cap{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 11px;padding:12px 5px 13px}
.fs-fr-ft-mount>.fs-fr-ft-cap{flex-wrap:nowrap;padding-inline:6px}
.fs-fr-ft-legal{display:flex;flex-wrap:wrap;gap:6px 18px;margin:22px 0 0;padding-inline:4px;font-size:13px;color:var(--fr-ft-ink2)}
.fs-fr-ft-legal-t{margin-right:auto;color:inherit}
.fs-fr-ft-legal-a{color:inherit;text-decoration:none}
.fs-fr-ft-legal-a:hover{color:rgb(var(--c-ink-950))}
@container fs-fr-ft (max-width: 40rem){
  .fs-fr-ft-in{padding-block:40px 26px}
}
@container fs-fr-ft-in (max-width: 56rem){
  .fs-fr-ft-head{grid-template-columns:minmax(0,1fr)}
  .fs-fr-ft-call{justify-self:start}
  .fs-fr-ft-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container fs-fr-ft (max-width: 48rem){
  .fs-fr-ft-head{grid-template-columns:minmax(0,1fr)}
  .fs-fr-ft-call{justify-self:start}
  .fs-fr-ft-cols{grid-template-columns:minmax(0,1fr)}
}
@container fs-fr-ft (max-width: 30rem){
  .fs-fr-ft-rule{margin-block:20px}
  .fs-fr-ft-cap{padding-bottom:12px}
}
@media (prefers-reduced-motion: reduce){
  .fs-fr-ft-link,.fs-fr-ft-mail{transition:none}
}


.fs-tq{
  position:relative;overflow:hidden;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-tq *{box-sizing:border-box;}
.fs-tq-sr{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

/* ── Motif: the dimension rule ──────────────────────────────────
   Hairline arms with perpendicular ticks at the outer ends, label in
   the gap. The set's signature, used on the hero, the page header and
   under every major heading. */
.fs-tq-dim{
  display:flex;align-items:center;gap:.85rem;
  margin:1.9rem 0 0;
}
.fs-tq-dim-arm{
  position:relative;flex:1 1 auto;height:1px;min-width:1.5rem;
  background:rgb(var(--c-ink-950) / .28);
}
.fs-tq-dim-arm::before,.fs-tq-dim-arm::after{
  content:'';position:absolute;top:-4px;
  width:1px;height:9px;background:rgb(var(--c-ink-950) / .45);
}
.fs-tq-dim-arm::before{left:0;}
.fs-tq-dim-arm::after{right:0;}
.fs-tq-dim-label{
  flex:0 0 auto;
  font-size:.68rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));white-space:nowrap;
}
/* Left-aligned contexts only need one arm running away to the right. */
.fs-tq-hero-copy .fs-tq-dim .fs-tq-dim-arm:first-of-type{flex:0 0 2.5rem;}

/* ── Motif: the stamped plate ───────────────────────────────────
   A bordered label with two rivet dots — the little brass plaque
   riveted to a machine, not a rounded pill. */
.fs-tq-plate{
  position:relative;display:inline-flex;align-items:center;
  padding:.5rem 1.5rem;
  border:1px solid rgb(var(--c-brand-600) / .55);
  border-radius:var(--fs-radius-control, .35rem);
  background:rgb(var(--c-brand-600) / .08);
  color:rgb(var(--c-brand-600));
  font-size:.7rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;
}
.fs-tq-plate::before,.fs-tq-plate::after{
  content:'';position:absolute;top:50%;
  width:3px;height:3px;border-radius:50%;
  background:rgb(var(--c-brand-600) / .55);transform:translateY(-50%);
}
.fs-tq-plate::before{left:.5rem;}
.fs-tq-plate::after{right:.5rem;}

/* ── Motif: punched card stock ──────────────────────────────────
   A perforated tear edge along the top and two punch holes. The
   holes are drawn as ring shadows rather than knockouts so the card
   sits correctly on any section background. */
.fs-tq-card{
  position:relative;
  border:1px solid rgb(var(--c-line, var(--c-ink-950) / .18));
  border-radius:var(--fs-radius-card, .75rem);
  background:rgb(var(--c-paper-soft, var(--c-paper)));
  box-shadow:var(--fs-shadow-card, 0 1px 2px rgb(0 0 0 / .06));
  padding:clamp(1.5rem,4vw,2.6rem);
}
.fs-tq-card::before{
  content:'';position:absolute;left:0;right:0;top:0;height:6px;
  border-radius:var(--fs-radius-card, .75rem) var(--fs-radius-card, .75rem) 0 0;
  background:radial-gradient(circle at 5px 0, transparent 4px, rgb(var(--c-brand-600) / .5) 4px 5px, transparent 5px) repeat-x;
  background-size:10px 6px;
  pointer-events:none;
}
.fs-tq-punch{
  position:absolute;top:1rem;
  width:.7rem;height:.7rem;border-radius:50%;
  background:rgb(var(--c-paper));
  box-shadow:inset 0 0 0 1px rgb(var(--c-ink-950) / .3);
}
.fs-tq-punch-l{left:calc(50% - 1.6rem);}
.fs-tq-punch-r{left:calc(50% + .9rem);}

/* ── Type ───────────────────────────────────────────────────────
   The slab face carries the register; the body face stays quiet. */
.fs-tq-title{
  margin:1.35rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(2.2rem,4.8vw,3.5rem);
  line-height:1.1;font-weight:700;letter-spacing:-.012em;
  color:rgb(var(--c-ink-950));
}
.fs-tq-accent{color:rgb(var(--c-brand-600));}
.fs-tq-h{
  margin:1rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(1.7rem,3.2vw,2.4rem);
  line-height:1.18;font-weight:700;letter-spacing:-.008em;
  color:rgb(var(--c-ink-950));
}
.fs-tq-sub{
  margin:1.25rem 0 0;max-width:54ch;
  font-size:clamp(1rem,1.4vw,1.08rem);line-height:1.72;
  color:rgb(var(--c-ink-700));
}
.fs-tq-center{text-align:center;margin-left:auto;margin-right:auto;}

/* ── Buttons — one solid slab, one ruled link ───────────────── */
.fs-tq-ctas{display:flex;flex-wrap:wrap;gap:1.4rem;margin-top:2rem;align-items:center;}
.fs-tq-ctas-center{justify-content:center;}
.fs-tq-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.95rem 2.1rem;
  border-radius:var(--fs-radius-control, .4rem);
  font-size:.86rem;font-weight:700;line-height:1;white-space:nowrap;
  letter-spacing:.12em;text-transform:uppercase;
  color:rgb(var(--c-paper));
  background:rgb(var(--c-brand-600));
  box-shadow:var(--fs-shadow-card, 0 2px 6px rgb(0 0 0 / .12));
  transition:transform .25s cubic-bezier(.2,.8,.3,1), background-color .25s ease;
}
.fs-tq-btn:hover{background:rgb(var(--c-brand-700, var(--c-brand-600)));transform:translateY(-2px);}
.fs-tq-link{
  display:inline-flex;align-items:center;gap:.5rem;
  padding-bottom:.25rem;
  border-bottom:2px solid rgb(var(--c-accent, var(--c-brand-600)));
  font-size:.86rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:rgb(var(--c-ink-950));
  transition:color .25s ease, border-color .25s ease;
}
.fs-tq-link:hover{color:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));}
.fs-tq-note{
  margin-top:1.6rem;
  font-size:.76rem;letter-spacing:.09em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}

/* ═════════ HERO (favTorqueHero) ═════════
   Copy left, a dimensioned drawing frame right. */
.fs-tq-hero{padding:var(--fs-space-section, clamp(3.5rem,8vw,6rem)) clamp(1rem,4vw,2.5rem);}
.fs-tq-hero::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(to right, rgb(var(--c-ink-950) / .06) 1px, transparent 1px),
    linear-gradient(to bottom, rgb(var(--c-ink-950) / .06) 1px, transparent 1px);
  background-size:2.5rem 2.5rem;
  -webkit-mask-image:linear-gradient(to bottom, #000 0%, transparent 78%);
  mask-image:linear-gradient(to bottom, #000 0%, transparent 78%);
}
.fs-tq-hero-inner{
  position:relative;max-width:var(--fs-layout-max,74rem);margin:0 auto;
  display:grid;grid-template-columns:1.02fr .98fr;
  gap:clamp(2.5rem,5vw,4.5rem);align-items:center;
}
@media (max-width:940px){.fs-tq-hero-inner{grid-template-columns:1fr;gap:2.8rem;}}

/* The job-card fact strip. */
.fs-tq-facts{
  display:grid;grid-template-columns:repeat(3, minmax(0,1fr));
  margin-top:2.6rem;
  border:1px solid rgb(var(--c-ink-950) / .18);
  border-radius:var(--fs-radius-card, .6rem);
  background:rgb(var(--c-paper-soft, var(--c-paper)) / .7);
  overflow:hidden;
}
@media (max-width:520px){.fs-tq-facts{grid-template-columns:1fr;}}
.fs-tq-fact{display:flex;flex-direction:column;gap:.35rem;padding:1rem 1.15rem;}
.fs-tq-fact + .fs-tq-fact{border-left:1px solid rgb(var(--c-ink-950) / .13);}
@media (max-width:520px){
  .fs-tq-fact + .fs-tq-fact{border-left:none;border-top:1px solid rgb(var(--c-ink-950) / .13);}
}
.fs-tq-fact-l{
  font-size:.66rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-tq-fact-v{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.2rem;font-weight:700;line-height:1.2;
  color:rgb(var(--c-brand-600));
}

/* The stage: a drawing frame with dimension rules on two edges. */
.fs-tq-stage{position:relative;padding:1.6rem 0 1.9rem 1.6rem;}
@media (max-width:940px){.fs-tq-stage{padding:1.4rem 0 1.7rem 1.4rem;}}
.fs-tq-stage-dim{position:absolute;background:rgb(var(--c-ink-950) / .3);}
.fs-tq-stage-dim-top{left:1.6rem;right:0;top:.7rem;height:1px;}
.fs-tq-stage-dim-side{left:.7rem;top:1.6rem;bottom:1.9rem;width:1px;}
.fs-tq-stage-dim::before,.fs-tq-stage-dim::after{
  content:'';position:absolute;background:rgb(var(--c-brand-600) / .8);
}
.fs-tq-stage-dim-top::before,.fs-tq-stage-dim-top::after{top:-4px;width:1px;height:9px;}
.fs-tq-stage-dim-top::before{left:0;} .fs-tq-stage-dim-top::after{right:0;}
.fs-tq-stage-dim-side::before,.fs-tq-stage-dim-side::after{left:-4px;height:1px;width:9px;}
.fs-tq-stage-dim-side::before{top:0;} .fs-tq-stage-dim-side::after{bottom:0;}
.fs-tq-stage-frame{
  position:relative;overflow:hidden;
  border:1px solid rgb(var(--c-ink-950) / .22);
  border-radius:var(--fs-radius-card, .75rem);
  background:rgb(var(--c-paper-soft, var(--c-paper)));
  box-shadow:var(--fs-shadow-lift, 0 12px 30px rgb(0 0 0 / .12));
  aspect-ratio:3 / 2;
}
/* The image sits in its own layer so the registration ticks and the
   light sweep can stay siblings above it. EditableImage wraps its
   <img>, hence the > * rule as well as the img one. */
.fs-tq-stage-img{position:absolute;inset:0;}
.fs-tq-stage-img > *{display:block;width:100%;height:100%;}
.fs-tq-stage-img img{width:100%;height:100%;object-fit:cover;display:block;}
.fs-tq-stage-fallback{
  position:absolute;inset:0;
  background-image:
    linear-gradient(to right, rgb(var(--c-brand-600) / .14) 1px, transparent 1px),
    linear-gradient(to bottom, rgb(var(--c-brand-600) / .14) 1px, transparent 1px);
  background-size:1.5rem 1.5rem;
}
.fs-tq-tick{position:absolute;z-index:2;width:14px;height:14px;pointer-events:none;
  border-color:rgb(var(--c-accent, var(--c-brand-600)));}
.fs-tq-tick-tl{top:8px;left:8px;border-top:2px solid;border-left:2px solid;}
.fs-tq-tick-tr{top:8px;right:8px;border-top:2px solid;border-right:2px solid;}
.fs-tq-tick-bl{bottom:8px;left:8px;border-bottom:2px solid;border-left:2px solid;}
.fs-tq-tick-br{bottom:8px;right:8px;border-bottom:2px solid;border-right:2px solid;}
/* The shop light — one slow warm sweep. Transform only. */
.fs-tq-sweep{
  position:absolute;top:-25%;left:-40%;width:32%;height:150%;
  pointer-events:none;opacity:0;
  background:linear-gradient(100deg, transparent, rgb(var(--c-accent, var(--c-brand-600)) / .3), transparent);
  transform:translateX(0) skewX(-14deg);
}
.fs-tq-anim .fs-tq-sweep{opacity:1;animation:fs-tq-sweep 9s ease-in-out infinite;}
@keyframes fs-tq-sweep{
  0%{transform:translateX(0) skewX(-14deg);}
  55%,100%{transform:translateX(430%) skewX(-14deg);}
}
.fs-tq-stage-tag{
  position:absolute;right:0;bottom:0;
  padding:.3rem .7rem;
  border:1px solid rgb(var(--c-ink-950) / .2);
  border-radius:var(--fs-radius-control, .3rem);
  background:rgb(var(--c-paper));
  font-size:.64rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}

/* ═════════ PAGE HEADER (favTorqueHeader) ═════════ */
.fs-tq-hd{padding:var(--fs-space-section, clamp(3rem,7vw,4.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-tq-hd::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(to right, rgb(var(--c-ink-950) / .05) 1px, transparent 1px),
    linear-gradient(to bottom, rgb(var(--c-ink-950) / .05) 1px, transparent 1px);
  background-size:2.5rem 2.5rem;
  -webkit-mask-image:linear-gradient(to bottom, #000 0%, transparent 85%);
  mask-image:linear-gradient(to bottom, #000 0%, transparent 85%);
}
.fs-tq-hd-inner{
  position:relative;max-width:min(54rem, var(--fs-layout-clamp, 54rem));margin:0 auto;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.fs-tq-hd .fs-tq-title{font-size:clamp(2rem,4.2vw,3rem);}
.fs-tq-hd .fs-tq-dim{width:100%;}

/* ═════════ INTERACTIVE DIAGRAM (favTorqueDiagram) ═════════
   The drawing on the left, the readout on the right. Hotspots are
   real buttons laid over the SVG, so hover, focus and touch all work
   and the drawing itself stays decorative. */
.fs-tq-dg{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-tq-dg-head{
  position:relative;max-width:var(--fs-layout-max,56rem);margin:0 auto 2.6rem;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.fs-tq-dg-inner{
  position:relative;max-width:var(--fs-layout-max,74rem);margin:0 auto;
  display:grid;grid-template-columns:1.3fr .7fr;
  gap:clamp(1.8rem,4vw,3rem);align-items:center;
}
@media (max-width:940px){.fs-tq-dg-inner{grid-template-columns:1fr;}}

.fs-tq-dg-stage{
  position:relative;
  border:1px solid rgb(var(--c-ink-950) / .2);
  border-radius:var(--fs-radius-card, .75rem);
  background:rgb(var(--c-paper-soft, var(--c-paper)));
  padding:1.2rem;
}
/* Pinned to the drawing's own ratio so the hotspot percentages land on
   the parts they name at every width. */
.fs-tq-dg-art{position:relative;width:100%;aspect-ratio:7 / 3;}
.fs-tq-dg-svg{display:block;width:100%;height:100%;}
.fs-tq-dg-grid line{stroke:rgb(var(--c-ink-950) / .09);stroke-width:1;}
.fs-tq-dg-g-top{stop-color:rgb(var(--c-brand-600));stop-opacity:.9;}
.fs-tq-dg-g-bottom{stop-color:rgb(var(--c-brand-600));stop-opacity:.62;}
.fs-tq-dg-g-glass-a{stop-color:rgb(var(--c-accent, var(--c-brand-600)));stop-opacity:.5;}
.fs-tq-dg-g-glass-b{stop-color:rgb(var(--c-accent, var(--c-brand-600)));stop-opacity:.22;}
.fs-tq-dg-shell{stroke:rgb(var(--c-ink-950) / .55);stroke-width:1.5;}
.fs-tq-dg-glass{stroke:rgb(var(--c-ink-950) / .35);stroke-width:1.2;}
.fs-tq-dg-line path{stroke:rgb(var(--c-paper) / .75);stroke-width:1.6;fill:none;stroke-linecap:round;}
.fs-tq-dg-wheel circle{fill:rgb(var(--c-ink-950) / .82);}
.fs-tq-dg-rim circle{fill:rgb(var(--c-paper));stroke:rgb(var(--c-accent, var(--c-brand-600)));stroke-width:2.5;}
.fs-tq-dg-ground{stroke:rgb(var(--c-ink-950) / .35);stroke-width:2;stroke-linecap:round;}

/* The hotspots.
   These are the set's only real <button> elements, which matters: the
   rule ".fs-typo button" in the global typography sheet sets colour at
   specificity (0,1,1) and paints them the site's button-label colour.
   A single-class rule here LOSES that cascade and the numbers vanish
   into white-on-white, so every colour below is written through
   ".fs-tq .fs-tq-dg-spot" (0,2,0) to win it back. */
.fs-tq .fs-tq-dg-spot{
  position:absolute;z-index:3;transform:translate(-50%,-50%);
  display:inline-flex;align-items:center;justify-content:center;
  width:2.15rem;height:2.15rem;padding:0;cursor:pointer;
  border:2px solid rgb(var(--c-brand-600));border-radius:50%;
  /* Opaque paper, not a tint: several hotspots sit over the tyres, and
     a translucent chip there loses its number entirely. */
  background:rgb(var(--c-paper));
  box-shadow:0 1px 4px rgb(0 0 0 / .18);
  color:rgb(var(--c-brand-600));
  font-size:.72rem;font-weight:800;letter-spacing:.01em;font-variant-numeric:tabular-nums;
  transition:background-color .22s ease, color .22s ease, transform .22s cubic-bezier(.2,.8,.3,1);
}
.fs-tq .fs-tq-dg-spot .fs-tq-dg-spot-n{position:relative;z-index:2;color:inherit;}
.fs-tq .fs-tq-dg-spot:hover{transform:translate(-50%,-50%) scale(1.08);}
.fs-tq .fs-tq-dg-spot:focus-visible{outline:2px solid rgb(var(--c-accent, var(--c-brand-600)));outline-offset:3px;}
.fs-tq .fs-tq-dg-spot.is-active{
  background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));
  transform:translate(-50%,-50%) scale(1.12);
}
.fs-tq-dg-ping{
  position:absolute;inset:-2px;border-radius:50%;pointer-events:none;
  border:2px solid rgb(var(--c-brand-600) / .55);opacity:0;
}
.fs-tq-anim .fs-tq-dg-spot.is-active .fs-tq-dg-ping{animation:fs-tq-ping 2.1s ease-out infinite;}
@keyframes fs-tq-ping{
  0%{opacity:.75;transform:scale(1);}
  70%,100%{opacity:0;transform:scale(2.1);}
}

/* The readout. */
.fs-tq-dg-read{
  position:relative;
  border-left:3px solid rgb(var(--c-accent, var(--c-brand-600)));
  padding:.4rem 0 .4rem 1.6rem;
}
@media (max-width:940px){
  .fs-tq-dg-read{border-left:none;border-top:3px solid rgb(var(--c-accent, var(--c-brand-600)));padding:1.5rem 0 0;}
}
.fs-tq-dg-read-n{
  display:block;
  font-family:var(--font-display, Georgia, serif);
  font-size:2.4rem;font-weight:700;line-height:1;
  color:rgb(var(--c-brand-600) / .32);
}
.fs-tq-dg-read-t{
  margin:.5rem 0 0;
  font-family:var(--font-display, Georgia, serif);
  font-size:1.32rem;font-weight:700;line-height:1.25;
  color:rgb(var(--c-ink-950));
}
.fs-tq-dg-read-b{
  margin-top:.75rem;
  font-size:.94rem;line-height:1.72;color:rgb(var(--c-ink-700));
}
.fs-tq-dg-read-f{
  margin-top:1.2rem;padding-top:1rem;
  border-top:1px solid rgb(var(--c-ink-950) / .15);
  font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}

/* ═════════ JOB SHEET (favTorqueJobs) ═════════
   Priced work on punched card stock: task and method on the left,
   time and price stacked right. */
.fs-tq-jb{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-tq-jb-head{
  position:relative;max-width:min(54rem, var(--fs-layout-clamp, 54rem));margin:0 auto 2.4rem;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.fs-tq-jb-card{max-width:var(--fs-layout-max,56rem);margin:0 auto;}
.fs-tq-jb-top{
  display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  padding-bottom:.9rem;margin-bottom:.4rem;
  border-bottom:2px solid rgb(var(--c-ink-950) / .28);
}
.fs-tq-jb-title{
  font-size:.72rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase;
  color:rgb(var(--c-brand-600));
}
.fs-tq-jb-ref{
  font-size:.68rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-tq-jb-row{
  display:grid;grid-template-columns:1fr auto;gap:1.4rem;
  padding:1.15rem 0;align-items:start;
}
.fs-tq-jb-row + .fs-tq-jb-row{border-top:1px solid rgb(var(--c-ink-950) / .13);}
.fs-tq-jb-main{display:flex;flex-direction:column;gap:.35rem;}
.fs-tq-jb-j{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.1rem;font-weight:700;line-height:1.3;
  color:rgb(var(--c-ink-950));
}
.fs-tq-jb-d{font-size:.87rem;line-height:1.62;color:rgb(var(--c-ink-400));max-width:60ch;}
.fs-tq-jb-nums{
  display:flex;flex-direction:column;align-items:flex-end;gap:.3rem;
  min-width:6.5rem;
}
.fs-tq-jb-t{
  padding:.2rem .55rem;
  border:1px solid rgb(var(--c-ink-950) / .2);
  border-radius:var(--fs-radius-control, .3rem);
  font-size:.66rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));white-space:nowrap;
}
.fs-tq-jb-p{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.2rem;font-weight:700;line-height:1.2;
  color:rgb(var(--c-brand-600));white-space:nowrap;
}
.fs-tq-jb-foot{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.2rem;
  margin-top:1.3rem;padding-top:1.2rem;
  border-top:2px solid rgb(var(--c-ink-950) / .28);
}
.fs-tq-jb-note{font-size:.82rem;line-height:1.6;color:rgb(var(--c-ink-700));max-width:44ch;}
/* The stamp — a rotated keyline mark, as if inked onto the sheet. */
.fs-tq-stamp{
  flex:0 0 auto;padding:.5rem 1rem;
  border:2px solid rgb(var(--c-accent, var(--c-brand-600)) / .7);
  border-radius:var(--fs-radius-control, .3rem);
  color:rgb(var(--c-accent, var(--c-brand-600)));
  font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  transform:rotate(-3deg);
}

/* ═════════ CTA (favTorqueCta) ═════════ */
.fs-tq-cta{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-tq-cta-card{
  max-width:min(48rem, var(--fs-layout-clamp, 48rem));margin:0 auto;
  display:flex;flex-direction:column;align-items:center;text-align:center;
  padding-top:clamp(2.2rem,5vw,3.2rem);
}
.fs-tq-cta-card .fs-tq-title{font-size:clamp(1.8rem,3.6vw,2.6rem);}

/* ── Phones ─────────────────────────────────────────────────────
   Two things break below ~560px and both were measured, not guessed:

   1. The dimension label is nowrap by design (a measurement that
      wraps stops reading as a measurement), but at 340px the hero's
      "Booked in · Diagnosed · Priced · Agreed" is 412px wide and the
      section clipped it. Below this width the label is allowed to
      wrap and shrink, and the rule keeps its ticks.
   2. The job-sheet row is a 1fr/auto grid with a nowrap price. At
      340px "from £1,850" no longer fits its column, so the row
      stacks and the time chip and price sit side by side instead. */
@media (max-width:560px){
  .fs-tq-dim{gap:.65rem;}
  .fs-tq-dim-label{flex:0 1 auto;min-width:0;white-space:normal;}
  .fs-tq-hero-copy .fs-tq-dim .fs-tq-dim-arm:first-of-type{flex:0 0 1.5rem;}

  .fs-tq-jb-row{grid-template-columns:1fr;gap:.75rem;}
  .fs-tq-jb-nums{
    flex-direction:row;align-items:baseline;justify-content:flex-start;
    gap:.85rem;min-width:0;
  }
  .fs-tq-jb-foot{gap:1rem;}
}

/* ── Dark mode ──────────────────────────────────────────────────
   The stage art is a static SVG and cannot re-tint with the palette
   (see themes/art.ts). On near-black it would otherwise glare like a
   lightbox, so it gets the same gentle knock-back a photograph would
   need behind glass. */
/* :is(.dark *):not(.fs-preview-light *) -- the ambient .dark on
   <html> (layout.tsx's boot script, the visitor's OS preference) is
   not this site's resolved mode; siteShell() marks the site wrapper
   .dark or .fs-preview-light correctly. The old ".dark ANCESTOR"
   form dimmed this image on a LIGHT site for any dark-OS visitor.
   Same fix as LedgerLite (2026-09-03). */
.fs-tq-stage-img:is(.dark *):not(.fs-preview-light *){filter:brightness(.88) saturate(.94);}

/* ── Reduced motion: the sweep and the ping are the only motion in
      the set, and both are decorative. ── */
@media (prefers-reduced-motion: reduce){
  .fs-tq *,.fs-tq *::before,.fs-tq *::after{animation:none !important;transition:none !important;}
  .fs-tq-sweep{display:none !important;}
}

/* ── favTorqueFooter (theme-chrome batch 4, Coachwork) ────────────
   fs-tq-ft: the full-bleed band (named container), opened by the steel
   rule with its ticks hanging, over the graph ground fading out;
   fs-tq-ft-in: the content box, which narrows with the Layout. */
.fs-tq-ft{container-type:inline-size;container-name:fs-tq-ft;padding:0 clamp(1rem,4vw,2.5rem);--tq-ft-rule:rgb(var(--c-ink-950) / .13);--tq-ft-keyline:rgb(var(--c-ink-950) / .2);--tq-ft-arm:rgb(var(--c-ink-950) / .3);--tq-ft-tick:rgb(var(--c-ink-950) / .5);--tq-ft-grid:rgb(var(--c-ink-950) / .06);--tq-ft-plate-line:rgb(var(--c-brand-600) / .55);--tq-ft-plate-fill:rgb(var(--c-brand-600) / .08);--tq-ft-mark:rgb(var(--c-accent, var(--c-brand-600)));background:linear-gradient(var(--tq-ft-arm),var(--tq-ft-arm)) 0 0/100% 1px no-repeat,linear-gradient(90deg,var(--tq-ft-tick) 0 1px,transparent 1px) 50% 0/40px 10px repeat-x,linear-gradient(90deg,var(--tq-ft-arm) 0 1px,transparent 1px) 50% 0/8px 5px repeat-x,linear-gradient(to bottom,transparent,rgb(var(--c-paper)) 75%),linear-gradient(90deg,var(--tq-ft-grid) 0 1px,transparent 1px) 50% 0/40px 40px,linear-gradient(var(--tq-ft-grid) 0 1px,transparent 1px) 50% 0/40px 40px,rgb(var(--c-paper))}
.fs-tq-ft:is(.dark *):not(.fs-preview-light *){--tq-ft-rule:rgb(var(--c-ink-950) / .15);--tq-ft-keyline:rgb(var(--c-ink-950) / .22);--tq-ft-grid:rgb(var(--c-ink-950) / .07);--tq-ft-plate-fill:rgb(var(--c-brand-600) / .12)}
.fs-tq-ft-in{container-type:inline-size;container-name:fs-tq-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:44px 28px}
.fs-tq-ft-mark{flex:none;width:46px;height:46px}
.fs-tq-ft-mk-a{stop-color:rgb(var(--c-brand-600))}
.fs-tq-ft-mk-b{stop-color:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-tq-ft-names{min-width:0}
.fs-tq-ft-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 40px}
.fs-tq-ft-plate{display:inline-flex;align-items:center;gap:14px;min-width:0;padding:14px 28px 14px 18px;border:1px solid var(--tq-ft-plate-line);border-radius:8px;background:radial-gradient(circle,var(--tq-ft-plate-line) 0 1.6px,transparent 2.1px) left 6px top 6px/6px 6px no-repeat,radial-gradient(circle,var(--tq-ft-plate-line) 0 1.6px,transparent 2.1px) right 6px top 6px/6px 6px no-repeat,radial-gradient(circle,var(--tq-ft-plate-line) 0 1.6px,transparent 2.1px) left 6px bottom 6px/6px 6px no-repeat,radial-gradient(circle,var(--tq-ft-plate-line) 0 1.6px,transparent 2.1px) right 6px bottom 6px/6px 6px no-repeat,var(--tq-ft-plate-fill)}
.fs-tq-ft-name{margin:0;font:700 26px/1.1 var(--font-display, 'Zilla Slab', Georgia, serif);color:rgb(var(--c-ink-950))}
.fs-tq-ft-sub{margin:5px 0 0;font-weight:700;font-size:11px;line-height:1.2;letter-spacing:.22em;text-transform:uppercase;color:rgb(var(--c-brand-text))}
.fs-tq-ft-state{margin:0;max-width:42ch;font:500 17px/1.45 var(--font-display, 'Zilla Slab', Georgia, serif);color:rgb(var(--c-ink-700))}
.fs-tq-ft-dim{display:flex;align-items:center;gap:14px;margin-top:28px}
.fs-tq-ft-arm{flex:1 1 auto;min-width:24px;height:9px;background:linear-gradient(var(--tq-ft-arm),var(--tq-ft-arm)) 0 50%/100% 1px no-repeat,linear-gradient(var(--tq-ft-tick),var(--tq-ft-tick)) 0 0/1px 100% no-repeat,linear-gradient(var(--tq-ft-tick),var(--tq-ft-tick)) 100% 0/1px 100% no-repeat}
.fs-tq-ft-dim-l{flex:0 1 auto;min-width:0;font-weight:600;font-size:12px;line-height:1.35;letter-spacing:.18em;text-transform:uppercase;text-align:center;color:rgb(var(--c-ink-700));white-space:nowrap}
.fs-tq-ft-cols{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr) minmax(0,1fr) minmax(0,1fr);gap:28px 34px;margin-top:30px}
.fs-tq-ft-col{min-width:0}
.fs-tq-ft-h{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-weight:700;font-size:11.5px;line-height:1;letter-spacing:.22em;text-transform:uppercase;color:rgb(var(--c-ink-950))}
.fs-tq-ft-h::after{content:'';flex:1 1 auto;min-width:16px;height:9px;background:linear-gradient(var(--tq-ft-arm),var(--tq-ft-arm)) 0 50%/100% 1px no-repeat,linear-gradient(var(--tq-ft-tick),var(--tq-ft-tick)) 100% 0/1px 100% no-repeat}
.fs-tq-ft-hours{list-style:none;margin:0;padding:0}
.fs-tq-ft-hrow{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:5px 12px;padding-block:7px}
.fs-tq-ft-hd{font:700 15px/1.3 var(--font-display, 'Zilla Slab', Georgia, serif);color:rgb(var(--c-ink-950));white-space:nowrap}
.fs-tq-ft-ht{font-size:13.5px;line-height:1.4;color:rgb(var(--c-ink-700));text-align:right;font-variant-numeric:tabular-nums}
.fs-tq-ft-hbar{grid-column:1/-1;position:relative;display:block;height:9px;background:linear-gradient(var(--tq-ft-rule),var(--tq-ft-rule)) 0 50%/100% 1px no-repeat,linear-gradient(90deg,var(--tq-ft-arm) 0 1px,transparent 1px) 0 100%/calc(100% / 11) 4px repeat-x}
.fs-tq-ft-hbar::before{content:'';position:absolute;top:0;bottom:0;left:calc(var(--a) * 1%);width:calc((var(--b) - var(--a)) * 1%);background:linear-gradient(rgb(var(--c-brand-600)),rgb(var(--c-brand-600))) 0 50%/100% 2px no-repeat,linear-gradient(rgb(var(--c-brand-600)),rgb(var(--c-brand-600))) 0 0/1.5px 100% no-repeat,linear-gradient(rgb(var(--c-brand-600)),rgb(var(--c-brand-600))) 100% 0/1.5px 100% no-repeat}
.fs-tq-ft-hrow.is-arr .fs-tq-ft-hbar::before{background:repeating-linear-gradient(90deg,rgb(var(--c-brand-600)) 0 5px,transparent 5px 9px) 0 50%/100% 2px no-repeat,linear-gradient(rgb(var(--c-brand-600)),rgb(var(--c-brand-600))) 0 0/1.5px 100% no-repeat,linear-gradient(rgb(var(--c-brand-600)),rgb(var(--c-brand-600))) 100% 0/1.5px 100% no-repeat}
.fs-tq-ft-note{margin:10px 0 0;font-size:13px;line-height:1.5;color:rgb(var(--c-ink-700))}
.fs-tq-ft-links{list-style:none;margin:0;padding:0}
.fs-tq-ft-li{padding-block:4px}
.fs-tq-ft-link{font-size:14.5px;color:rgb(var(--c-ink-950));text-decoration:none}
.fs-tq-ft-link:hover{color:rgb(var(--c-brand-text));text-decoration:underline;text-underline-offset:3px}
.fs-tq-ft-facts{display:grid;list-style:none;margin:0;padding:0;border:1px solid var(--tq-ft-keyline);border-radius:8px;background:rgb(var(--c-paper-soft, var(--c-paper)))}
.fs-tq-ft-fact{display:grid;gap:3px;padding:10px 14px}
.fs-tq-ft-fact + .fs-tq-ft-fact{border-top:1px solid var(--tq-ft-rule)}
.fs-tq-ft-fv{font:700 18px/1.2 var(--font-display, 'Zilla Slab', Georgia, serif);color:rgb(var(--c-brand-text))}
.fs-tq-ft-fc{font-size:13px;line-height:1.45;color:rgb(var(--c-ink-700))}
.fs-tq-ft-ring{display:grid;justify-items:start;align-content:start;gap:9px}
.fs-tq-ft-ring .fs-tq-ft-h{margin-bottom:5px}
.fs-tq-ft-tel{padding-bottom:2px;border-bottom:2px solid var(--tq-ft-mark);font:700 22px/1.1 var(--font-display, 'Zilla Slab', Georgia, serif);color:rgb(var(--c-ink-950));white-space:nowrap;font-variant-numeric:tabular-nums;text-decoration:none}
.fs-tq-ft-p{margin:0;font-size:14px;line-height:1.5;color:rgb(var(--c-ink-700))}
.fs-tq-ft-mail{color:rgb(var(--c-ink-950));text-decoration:none}
.fs-tq-ft-legal{display:flex;flex-wrap:wrap;gap:6px 18px;margin:30px 0 0;padding-top:14px;border-top:1px solid var(--tq-ft-rule);font-size:12.5px;color:rgb(var(--c-ink-400))}
.fs-tq-ft-legal-t{margin-right:auto;color:inherit}
.fs-tq-ft-legal-a{color:inherit;text-decoration:none}
.fs-tq-ft-legal-a:hover{color:rgb(var(--c-ink-950))}
@container fs-tq-ft (max-width: 40rem){
  .fs-tq-ft-in{padding-block:38px 24px}
}
@container fs-tq-ft-in (max-width: 56rem){
  .fs-tq-ft-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container fs-tq-ft (max-width: 48rem){
  .fs-tq-ft-head{flex-direction:column;align-items:flex-start}
  .fs-tq-ft-cols{grid-template-columns:minmax(0,1fr)}
  .fs-tq-ft-dim-l{white-space:normal}
}
@container fs-tq-ft (max-width: 30rem){
  .fs-tq-ft-plate{gap:12px;padding:12px 20px 12px 14px}
  .fs-tq-ft-mark{width:38px;height:38px}
  .fs-tq-ft-name{font-size:22px}
  .fs-tq-ft-sub{letter-spacing:.14em}
  .fs-tq-ft-state{font-size:16px}
  .fs-tq-ft-legal-t{flex-basis:100%}
}


.fs-bl{
  position:relative;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-bl *{box-sizing:border-box;}

/* ── Motifs ─────────────────────────────────────────────────────
   The double rule: heavy over fine. Two spans rather than a border
   so the two weights can differ. */
.fs-bl-rule{display:flex;flex-direction:column;gap:3px;width:100%;margin:1.35rem 0;}
.fs-bl-rule span{display:block;width:100%;}
.fs-bl-rule span:first-child{height:3px;background:rgb(var(--c-ink-950) / .8);}
.fs-bl-rule span:last-child{height:1px;background:rgb(var(--c-ink-950) / .4);}
.fs-bl-rule-tight{margin:1rem 0 1.1rem;}

/* The marquee bulb strip — the sign above the door, in CSS. */
.fs-bl-bulbs{
  display:flex;align-items:center;justify-content:space-between;
  gap:.35rem;padding:.62rem clamp(.7rem,2.2vw,1.4rem);
  border-bottom:1px solid rgb(var(--c-ink-950) / .22);
}
.fs-bl-bulbs:last-child{border-bottom:none;border-top:1px solid rgb(var(--c-ink-950) / .22);}
.fs-bl-bulb{
  flex:0 0 auto;width:.5rem;height:.5rem;border-radius:50%;
  background:rgb(var(--c-accent));
  box-shadow:0 0 0 1px rgb(var(--c-ink-950) / .2);
  opacity:.42;
}
.fs-bl-anim .fs-bl-bulb{animation:fs-bl-chase 1.7s ease-in-out infinite;}
@keyframes fs-bl-chase{
  0%,100%{opacity:.28;transform:scale(.76);}
  50%{opacity:1;transform:scale(1);}
}

/* The printer's flourish between billing blocks. */
.fs-bl-stars{
  display:flex;align-items:center;justify-content:center;gap:.75rem;
  margin:1.05rem 0;font-size:.68rem;letter-spacing:.2em;
  color:rgb(var(--c-brand-600));
}
.fs-bl-stars i{font-style:normal;font-size:.86rem;color:rgb(var(--c-accent));}

/* ── Type ─────────────────────────────────────────────────────── */
/* The stamp: the line of small print along the very top of a bill,
   boxed in a keyline the way a printer's imprint always was. */
.fs-bl-stamp{
  display:inline-block;
  padding:.34rem .8rem;
  border:1px solid rgb(var(--c-ink-950) / .38);
  font-size:.64rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;
  color:rgb(var(--c-ink-700));
}
.fs-bl-kicker{
  display:block;
  font-size:.72rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;
  color:rgb(var(--c-brand-600));
}
/* Uppercase and tight: a playbill has always been a wall of capitals,
   and weight is left at 400 because the display faces this register
   wants (fat faces, heavy slabs) carry their weight in the drawing —
   asking for 700 only invites a synthesised fake bold. */
.fs-bl-title{
  margin:.9rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(2.2rem,6vw,4.4rem);
  line-height:1.02;font-weight:400;letter-spacing:-.012em;
  text-transform:uppercase;text-wrap:balance;
  color:rgb(var(--c-ink-950));
}
.fs-bl-title-sm{font-size:clamp(1.9rem,4.4vw,3.2rem);}
.fs-bl-accent{color:rgb(var(--c-brand-600));}
.fs-bl-h{
  margin:.55rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(1.7rem,3.6vw,2.7rem);
  line-height:1.1;font-weight:400;letter-spacing:-.008em;
  text-transform:uppercase;text-wrap:balance;
  color:rgb(var(--c-ink-950));
}
.fs-bl-lede{
  margin:1.15rem auto 0;max-width:54ch;
  font-size:clamp(1rem,1.4vw,1.08rem);line-height:1.68;
  color:rgb(var(--c-ink-700));
}
.fs-bl-sub{
  margin:.85rem auto 0;max-width:60ch;
  font-size:clamp(.95rem,1.3vw,1.02rem);line-height:1.7;
  color:rgb(var(--c-ink-700));
}
.fs-bl-note{
  margin:1.1rem auto 0;max-width:64ch;
  font-size:.8rem;line-height:1.65;letter-spacing:.01em;text-align:center;
  color:rgb(var(--c-ink-400));
}
.fs-bl-head{max-width:var(--fs-layout-max,56rem);margin:0 auto;text-align:center;}

/* ── Buttons — one printed block, one ruled link ───────────────── */
.fs-bl-ctas{display:flex;flex-wrap:wrap;gap:1.1rem;margin-top:1.7rem;align-items:center;}
.fs-bl-ctas-center{justify-content:center;}
.fs-bl-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.92rem 2.1rem;border-radius:var(--fs-radius-control, 0);
  font-size:.8rem;font-weight:700;line-height:1;white-space:nowrap;
  letter-spacing:.16em;text-transform:uppercase;
  color:rgb(var(--c-paper));
  background:rgb(var(--c-brand-600));
  box-shadow:0 0 0 1px rgb(var(--c-ink-950) / .55), 3px 3px 0 0 rgb(var(--c-ink-950) / .55);
  transition:background .25s ease, box-shadow .25s ease, transform .25s ease;
}
.fs-bl-btn:hover{
  background:rgb(var(--c-brand-700, var(--c-brand-600)));
  box-shadow:0 0 0 1px rgb(var(--c-ink-950) / .55), 1px 1px 0 0 rgb(var(--c-ink-950) / .55);
  transform:translate(2px,2px);
}
.fs-bl-link{
  display:inline-flex;align-items:center;
  padding-bottom:.18rem;
  border-bottom:2px solid rgb(var(--c-accent));
  font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:rgb(var(--c-ink-950));
  transition:color .25s ease, border-color .25s ease;
}
.fs-bl-link:hover{color:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));}

/* ═════════ HERO (favBillHero) ═════════
   The bill itself: a ruled sheet pasted to the wall, bulb-lit top and
   foot, with the doors/stage/curfew strip along the bottom. */
.fs-bl-hero{
  overflow:hidden;
  padding:var(--fs-space-section, clamp(2.6rem,6vw,4.5rem)) clamp(.85rem,3.5vw,2rem);
}
.fs-bl-hero-bg{position:absolute;inset:0;overflow:hidden;}
.fs-bl-hero-bg img{width:100%;height:100%;object-fit:cover;display:block;}
/* The paste-up wash: the backdrop is the WALL, not the poster, so it
   is knocked back far enough that the type always wins. */
.fs-bl-hero-bg::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:rgb(var(--c-paper) / .76);
}
.fs-bl-sheet{
  position:relative;z-index:1;max-width:var(--fs-layout-max,60rem);margin:0 auto;
  background:rgb(var(--c-paper-soft));
  border:3px solid rgb(var(--c-ink-950) / .82);
  border-radius:var(--fs-radius-card, 0);
  box-shadow:var(--fs-shadow-card, 0 2px 12px rgb(0 0 0 / .1));
}
.fs-bl-hero-inner{
  padding:clamp(1.5rem,4vw,3rem) clamp(1.1rem,4vw,3rem) clamp(1.3rem,3vw,2.2rem);
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.fs-bl-times{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;
}
.fs-bl-time{
  display:flex;flex-direction:column;align-items:center;gap:.28rem;
  padding:.55rem .4rem;
}
.fs-bl-time + .fs-bl-time{border-left:1px solid rgb(var(--c-ink-950) / .16);}
.fs-bl-time-l{
  font-size:.62rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-bl-time-v{
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(1.05rem,2vw,1.4rem);line-height:1;
  color:rgb(var(--c-brand-600));
}

/* ═════════ PAGE HEADER (favBillHeader) ═════════
   The hero's sheet without its bulbs or its times strip: an interior
   page opens in the same voice without carrying a second poster. */
.fs-bl-hd{padding:var(--fs-space-section, clamp(2.2rem,5vw,3.6rem)) clamp(1rem,4vw,2.5rem);}
.fs-bl-hd-inner{
  max-width:min(52rem, var(--fs-layout-clamp, 52rem));margin:0 auto;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.fs-bl-hd .fs-bl-title{font-size:clamp(1.8rem,4.2vw,3rem);}
.fs-bl-hd .fs-bl-lede{margin-bottom:.2rem;}

/* ═════════ LISTING (favBillListing) ═════════
   The line-up: a torn date stamp in the margin, the billing in the
   middle, the price and its status flag on the right. */
.fs-bl-lst{padding:var(--fs-space-section, clamp(2.6rem,6vw,4.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-bl-lst-inner{max-width:var(--fs-layout-max,60rem);margin:0 auto;}
.fs-bl-rows{display:flex;flex-direction:column;}
.fs-bl-row{
  display:grid;grid-template-columns:4.4rem 1fr auto;
  gap:clamp(.9rem,2.5vw,1.6rem);align-items:center;
  padding:1.05rem .2rem;
}
.fs-bl-row + .fs-bl-row{border-top:1px solid rgb(var(--c-ink-950) / .14);}
/* The date stamp — three stacked lines in a keyline box, the way a
   box office has always written a date on a ticket. */
.fs-bl-date{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:.42rem .2rem .5rem;
  border:2px solid rgb(var(--c-ink-950) / .72);
  border-radius:var(--fs-radius-control, 0);
  background:rgb(var(--c-paper-soft));
}
.fs-bl-date-d{
  font-size:.6rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:rgb(var(--c-brand-600));
}
.fs-bl-date-n{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.55rem;line-height:1.05;color:rgb(var(--c-ink-950));
}
.fs-bl-date-m{
  font-size:.6rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-bl-act-t{
  margin:0;
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(1.1rem,2.2vw,1.42rem);line-height:1.16;font-weight:400;
  text-transform:uppercase;letter-spacing:-.005em;
  color:rgb(var(--c-ink-950));
}
.fs-bl-act-b{margin-top:.28rem;font-size:.86rem;line-height:1.55;color:rgb(var(--c-ink-700));max-width:52ch;}
.fs-bl-genre{
  display:inline-block;margin-top:.5rem;
  padding:.2rem .55rem;
  border:1px solid rgb(var(--c-ink-950) / .3);
  border-radius:var(--fs-radius-pill, 0);
  font-size:.6rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-bl-buy{display:flex;flex-direction:column;align-items:flex-end;gap:.42rem;text-align:right;}
.fs-bl-price{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.18rem;line-height:1;white-space:nowrap;
  color:rgb(var(--c-ink-950));
}
.fs-bl-flag{
  padding:.26rem .6rem;
  border-radius:var(--fs-radius-pill, 0);
  font-size:.6rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  white-space:nowrap;
}
.fs-bl-flag[data-tone="on"]{background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));}
.fs-bl-flag[data-tone="low"]{background:rgb(var(--c-accent));color:rgb(var(--c-ink-950));}
.fs-bl-flag[data-tone="out"]{
  background:transparent;color:rgb(var(--c-ink-400));
  border:1px solid rgb(var(--c-ink-950) / .28);
}
@media (max-width:640px){
  .fs-bl-row{grid-template-columns:3.7rem 1fr;row-gap:.7rem;}
  .fs-bl-buy{grid-column:2;flex-direction:row;align-items:center;gap:.7rem;justify-content:flex-start;text-align:left;}
}

/* ═════════ TICKET STUBS (favBillStubs) ═════════
   Perforated and punched: a dashed rule between the tab and the body,
   with two notches taken out of the card where the rule meets it. */
.fs-bl-st{padding:var(--fs-space-section, clamp(2.6rem,6vw,4.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-bl-st-inner{max-width:var(--fs-layout-max,66rem);margin:0 auto;}
.fs-bl-st-grid{
  margin-top:clamp(1.6rem,4vw,2.6rem);
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--fs-space-gap, clamp(1rem,2.5vw,1.6rem));
}
@media (max-width:900px){.fs-bl-st-grid{grid-template-columns:1fr;}}
.fs-bl-stub{
  position:relative;
  display:grid;grid-template-columns:2.5rem 1fr;
  background:rgb(var(--c-paper-soft));
  border:2px solid rgb(var(--c-ink-950) / .78);
  border-radius:var(--fs-radius-card, 0);
  box-shadow:var(--fs-shadow-card, none);
}
.fs-bl-stub-tab{
  display:flex;align-items:center;justify-content:center;
  border-right:2px dashed rgb(var(--c-ink-950) / .42);
  background:rgb(var(--c-brand-600) / .09);
}
.fs-bl-stub-k{
  writing-mode:vertical-rl;transform:rotate(180deg);
  font-size:.6rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;
  white-space:nowrap;color:rgb(var(--c-brand-600));
}
/* The punched notches, half in and half out of the card. */
.fs-bl-stub::before,.fs-bl-stub::after{
  content:'';position:absolute;left:2.5rem;
  width:14px;height:14px;border-radius:50%;
  background:rgb(var(--c-paper));
  border:2px solid rgb(var(--c-ink-950) / .78);
  transform:translate(-50%,-50%);
}
.fs-bl-stub::before{top:0;}
.fs-bl-stub::after{top:100%;}
.fs-bl-stub-body{padding:clamp(1.1rem,2.6vw,1.6rem);}
.fs-bl-stub-t{
  margin:0;
  font-family:var(--font-display, Georgia, serif);
  font-size:1.3rem;line-height:1.12;font-weight:400;text-transform:uppercase;
  color:rgb(var(--c-ink-950));
}
.fs-bl-stub-p{
  margin-top:.35rem;
  font-family:var(--font-display, Georgia, serif);
  font-size:1.55rem;line-height:1;color:rgb(var(--c-brand-600));
}
.fs-bl-stub-b{margin-top:.75rem;font-size:.88rem;line-height:1.65;color:rgb(var(--c-ink-700));}
.fs-bl-stub-f{
  margin-top:.9rem;padding-top:.7rem;
  border-top:1px dashed rgb(var(--c-ink-950) / .28);
  font-size:.66rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}

/* ═════════ INTERACTIVE FLOOR PLAN (favBillStage) ═════════
   The cutaway drawing on the left, the specification on the right,
   and the chips underneath as the keyboard (and mobile) path. */
.fs-bl-pl{padding:var(--fs-space-section, clamp(2.6rem,6vw,4.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-bl-pl-inner{max-width:var(--fs-layout-max,70rem);margin:0 auto;}
.fs-bl-pl-stage{
  margin-top:clamp(1.5rem,3.5vw,2.4rem);
  display:grid;grid-template-columns:1.4fr .6fr;
  gap:clamp(1.2rem,3vw,2rem);align-items:stretch;
}
@media (max-width:900px){.fs-bl-pl-stage{grid-template-columns:1fr;}}
.fs-bl-pl-draw{
  border:2px solid rgb(var(--c-ink-950) / .78);
  border-radius:var(--fs-radius-card, 0);
  background:rgb(var(--c-paper-soft));
  overflow:hidden;
}
.fs-bl-pl-draw svg{display:block;width:100%;height:auto;}

/* SVG paint — every value a theme variable, so the drawing re-tints. */
.fs-bl-pl-wash-a{stop-color:rgb(var(--c-paper-soft));}
.fs-bl-pl-wash-b{stop-color:rgb(var(--c-brand-600) / .14);}
.fs-bl-pl-glow-a{stop-color:rgb(var(--c-accent) / .38);}
.fs-bl-pl-glow-b{stop-color:rgb(var(--c-accent) / 0);}
.fs-bl-pl-shell{stroke:rgb(var(--c-ink-950) / .22);stroke-width:1.5;}
.fs-bl-pl-roof{stroke:rgb(var(--c-ink-950) / .5);stroke-width:2.5;}
.fs-bl-pl-ground{stroke:rgb(var(--c-ink-950) / .55);stroke-width:2.5;}
.fs-bl-pl-hit{fill:transparent;}
.fs-bl-zone{opacity:.55;cursor:pointer;transition:opacity .3s ease;}
.fs-bl-zone[data-on="1"]{opacity:1;}
.fs-bl-pl-truss{stroke:rgb(var(--c-ink-950) / .55);stroke-width:2;}
.fs-bl-pl-lamp-body{fill:rgb(var(--c-ink-950) / .78);}
.fs-bl-pl-arch{stroke:rgb(var(--c-ink-950) / .72);stroke-width:3;}
.fs-bl-pl-arch-in{stroke:rgb(var(--c-ink-950) / .3);stroke-width:1.2;}
.fs-bl-pl-drape{fill:rgb(var(--c-brand-600) / .55);}
.fs-bl-pl-deck{fill:rgb(var(--c-ink-950) / .82);}
.fs-bl-pl-figure{fill:rgb(var(--c-accent));}
.fs-bl-pl-floor{fill:rgb(var(--c-ink-950) / .6);}
.fs-bl-pl-head circle,.fs-bl-pl-head path{fill:rgb(var(--c-ink-950) / .58);}
.fs-bl-pl-balc{fill:rgb(var(--c-brand-600) / .2);stroke:rgb(var(--c-ink-950) / .55);stroke-width:2;}
.fs-bl-pl-rail{stroke:rgb(var(--c-accent));stroke-width:2.5;}
.fs-bl-pl-soffit{stroke:rgb(var(--c-ink-950) / .55);stroke-width:2.5;}
.fs-bl-pl-seat circle,.fs-bl-pl-seat path{fill:rgb(var(--c-ink-950) / .6);}
.fs-bl-pl-bar{fill:rgb(var(--c-ink-950) / .74);}
.fs-bl-pl-bar-top{stroke:rgb(var(--c-accent));stroke-width:3;}
.fs-bl-pl-bottle{fill:rgb(var(--c-brand-600) / .75);}
.fs-bl-pl-shelf{stroke:rgb(var(--c-ink-950) / .4);stroke-width:1.5;}
.fs-bl-pl-stair{stroke:rgb(var(--c-ink-950) / .4);stroke-width:1.5;stroke-dasharray:5 5;}
.fs-bl-pl-pin{cursor:pointer;}
.fs-bl-pl-pin circle{
  fill:rgb(var(--c-paper));stroke:rgb(var(--c-ink-950) / .8);stroke-width:2;
  transition:fill .25s ease;
}
.fs-bl-pl-pin text{
  font-family:var(--font-display, Georgia, serif);
  font-size:14px;fill:rgb(var(--c-ink-950));
  transition:fill .25s ease;
}
.fs-bl-pl-pin[data-on="1"] circle{fill:rgb(var(--c-brand-600));}
.fs-bl-pl-pin[data-on="1"] text{fill:rgb(var(--c-paper));}

/* The readout beside the drawing. */
.fs-bl-pl-spec{
  display:flex;flex-direction:column;
  padding:clamp(1.2rem,3vw,1.7rem);
  border:2px solid rgb(var(--c-ink-950) / .78);
  border-radius:var(--fs-radius-card, 0);
  background:rgb(var(--c-paper-soft));
}
.fs-bl-pl-spec-n{
  font-family:var(--font-display, Georgia, serif);
  font-size:2.1rem;line-height:1;color:rgb(var(--c-brand-600) / .35);
}
.fs-bl-pl-spec-t{
  margin:.45rem 0 0;
  font-family:var(--font-display, Georgia, serif);
  font-size:1.4rem;line-height:1.1;font-weight:400;text-transform:uppercase;
  color:rgb(var(--c-ink-950));
}
.fs-bl-pl-spec-s{
  margin-top:.5rem;padding:.28rem .6rem;align-self:flex-start;
  background:rgb(var(--c-accent));
  border-radius:var(--fs-radius-pill, 0);
  font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:rgb(var(--c-ink-950));
}
.fs-bl-pl-spec-b{margin-top:.9rem;font-size:.88rem;line-height:1.66;color:rgb(var(--c-ink-700));}

.fs-bl-pl-chips{
  margin-top:clamp(1rem,2.5vw,1.5rem);
  display:flex;flex-wrap:wrap;gap:.55rem;justify-content:center;
}
.fs-bl-pl-chip{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.5rem .95rem;
  border:1px solid rgb(var(--c-ink-950) / .32);
  border-radius:var(--fs-radius-pill, 0);
  background:transparent;cursor:pointer;
  font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:rgb(var(--c-ink-700));
  transition:background .25s ease, color .25s ease, border-color .25s ease;
}
.fs-bl-pl-chip-n{font-family:var(--font-display, Georgia, serif);opacity:.6;}
.fs-bl-pl-chip:hover{border-color:rgb(var(--c-brand-600));color:rgb(var(--c-brand-600));}
.fs-bl-pl-chip[data-on="1"]{
  background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));
  color:rgb(var(--c-paper));
}
.fs-bl-pl-chip[data-on="1"] .fs-bl-pl-chip-n{opacity:.75;}

/* ═════════ CTA (favBillCta) ═════════ */
.fs-bl-cta{padding:var(--fs-space-section, clamp(2.6rem,6vw,4.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-bl-cta-sheet{
  position:relative;max-width:min(48rem, var(--fs-layout-clamp, 48rem));margin:0 auto;
  background:rgb(var(--c-paper-soft));
  border:3px solid rgb(var(--c-ink-950) / .82);
  border-radius:var(--fs-radius-card, 0);
  box-shadow:var(--fs-shadow-card, 0 2px 12px rgb(0 0 0 / .1));
}
.fs-bl-cta-inner{
  padding:clamp(1.6rem,4vw,2.6rem) clamp(1.1rem,4vw,2.6rem);
  display:flex;flex-direction:column;align-items:center;text-align:center;
}

/* ── Motion, all of it optional ────────────────────────────────── */
.fs-bl-anim .fs-bl-pl-lamp{animation:fs-bl-flicker 3.6s ease-in-out infinite;}
@keyframes fs-bl-flicker{0%,100%{opacity:.72;}45%{opacity:1;}}
.fs-bl-anim .fs-bl-pl-head{animation:fs-bl-bob 2.8s ease-in-out infinite;}
@keyframes fs-bl-bob{0%,100%{transform:translateY(0);}50%{transform:translateY(-3px);}}

@media (prefers-reduced-motion:reduce){
  .fs-bl-anim .fs-bl-bulb,
  .fs-bl-anim .fs-bl-pl-lamp,
  .fs-bl-anim .fs-bl-pl-head,
  .fs-bl-anim .fs-bl-ft-bulbs{animation:none;}
  .fs-bl-anim .fs-bl-bulb{opacity:.72;transform:none;}
  .fs-bl-anim .fs-bl-pl-head{transform:none;}
  .fs-bl-anim .fs-bl-ft-bulbs{opacity:.72;background-position:0 50%;}
  .fs-bl-btn,.fs-bl-link,.fs-bl-zone,.fs-bl-pl-chip,
  .fs-bl-pl-pin circle,.fs-bl-pl-pin text{transition:none;}
  .fs-bl-btn:hover{transform:none;}
}

/* ═════════ FOOTER (favBillFooter) ═════════
   Limelight's own footer — a perforated ticket: the main stub (name,
   lede, three info columns), a vertical dotted perforation, and a
   tear-off stub (Admit one, the box-office number, the email sign-up
   LINK — never a form, see BillBlocks.tsx's own note — and a serial
   number), with the footer nav and the platform's legal row beneath.
   Ported from the mockup's '.l-ftr' family
   (docs/superpowers/specs/2026-09-27-theme-chrome-mockup.html, lines
   170–279). UNSCOPED, like the rest of this file (see the header note
   above) — a family block, theme-locked by themeBlocks/
   FOOTER_REGION_TYPES rather than by a [data-fs-theme] prefix (ledger
   ruling R1). '--ll-gilt' / '--ll-hot' are Limelight's own theme-local
   tokens (limelight-chrome-styles.ts) — safe to read unscoped here
   because this block only ever renders under that theme (R1's own
   reasoning); 'gilt-ink' in the mockup (a darker gilt in light mode,
   equal to gilt in dark mode) has no dedicated token, same ruling
   limelight-chrome-styles.ts already made for its own status flags —
   every '--gilt-ink' below reads '--ll-gilt' directly. */
.fs-bl-ft{padding:0 0 36px;container-type:inline-size;}
.fs-bl-ft>.fs-bl-ft-bulbs{margin-bottom:44px;}
.fs-bl-ft-wrap{max-width:var(--fs-layout-max,66rem);margin:0 auto;padding-inline:clamp(1rem,4vw,2.5rem);}

/* The bulb strip — an empty div here (unlike Bulbs()'s span-per-bulb
   elsewhere in this set: see BillBlocks.tsx), so the row of bulbs is
   painted as a repeating background dot instead, coloured exactly like
   .fs-bl-bulb (~line 60: the accent fill, the ink ring) and animated
   between the same .42 dim / 1 lit opacities that span already uses,
   rather than porting the mockup's own bespoke '--bulb'/'--bulbbar'
   pair or the header's theme-scoped marquee technique
   (limelight-chrome-styles.ts) — this file stays palette-token-driven
   and theme-agnostic (R1). */
.fs-bl-ft-bulbs{
  height:14px;
  border-bottom:1px solid rgb(var(--c-ink-950) / .22);
  background-image:radial-gradient(circle,rgb(var(--c-accent)) 0 3px,rgb(var(--c-ink-950) / .2) 3.6px,transparent 5.2px);
  background-size:22px 14px;background-repeat:repeat-x;background-position:0 50%;
  opacity:.42;
}
.fs-bl-anim .fs-bl-ft-bulbs{animation:fs-bl-ft-chase 1.7s ease-in-out infinite;}
@keyframes fs-bl-ft-chase{
  0%,100%{opacity:.42;background-position:0 50%;}
  50%{opacity:1;background-position:11px 50%;}
}

/* The ticket card. The mask cuts two circular notches out of the card
   at the perforation column's centre (290px stub + half of the 26px
   gap = 303px from the right edge) — the same formula the mockup
   uses, unconverted, since it is pure geometry, not a colour. The
   drop-shadow lives on '.fs-bl-ft-tkt' scoped through its wrapper
   (mockup's own '.l-tktwrap', which has no separate element here) so
   it renders around the masked (notched) shape rather than the card's
   unmasked rectangle. */
.fs-bl-ft-tkt{
  display:grid;grid-template-columns:1fr 26px 290px;
  background:rgb(var(--c-paper-soft));
  box-shadow:inset 0 0 0 10px rgb(var(--c-paper-soft)),inset 0 0 0 11px rgb(var(--c-ink-950) / .15);
  -webkit-mask:radial-gradient(circle 13px at calc(100% - 303px) 0,#0000 97%,#000),radial-gradient(circle 13px at calc(100% - 303px) 100%,#0000 97%,#000);
  -webkit-mask-composite:source-in;
  mask:radial-gradient(circle 13px at calc(100% - 303px) 0,#0000 97%,#000),radial-gradient(circle 13px at calc(100% - 303px) 100%,#0000 97%,#000);
  mask-composite:intersect;
}
.fs-bl-ft-wrap .fs-bl-ft-tkt{filter:drop-shadow(0 18px 26px rgb(0 0 0 / .2));}

.fs-bl-ft-main{padding:40px 44px;}
/* F7 (final review): 11px text at raw gilt measured 3.3–4.2:1 on paper
   across Limelight's four light palettes — below WCAG AA's 4.5:1 floor.
   --ll-gilt-ink (limelight-chrome-styles.ts, this theme's own scope)
   is the darker, ≥4.5:1 mix; falls back to plain accent outside that
   scope, matching every other --ll-* fallback in this file. */
.fs-bl-ft-est{
  margin:0;font-size:11px;font-weight:600;line-height:1;
  letter-spacing:.24em;text-transform:uppercase;
  color:var(--ll-gilt-ink, rgb(var(--c-accent, var(--c-brand-600))));
}
/* R18 (ledger ruling, fix round 1): the venue name and the column
   labels/paragraphs are the mockup's own plain <h3>/<h5>/<p> markup.
   EditWpClient's global typography ramp styles exactly that shape —
   '.fs-typo h3:not([class])' / 'h5:not([class])' etc. (see its own
   comment: bare headings/paragraphs get the customer's global ramp;
   a block gives an element its OWN class specifically to keep its
   designed look and skip the ramp entirely). The first version here
   fought those rules with an ancestor-class specificity chain, which
   worked but was fragile and the wrong tool — R18 is simpler and is
   what the platform actually expects: every heading, paragraph and
   link gets its own class, so ':not([class])' never matches it and no
   specificity contest exists at all. */
.fs-bl-ft-name{
  margin:12px 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:54px;line-height:1;font-weight:400;
  color:rgb(var(--c-ink-950));
}
.fs-bl-ft-lede{max-width:48ch;margin:12px 0 0;font-size:14px;line-height:1.6;color:rgb(var(--c-ink-700));}
.fs-bl-ft-cols{
  display:grid;grid-template-columns:repeat(3,1fr);gap:26px;
  margin-top:26px;padding-top:20px;
  border-top:1px solid rgb(var(--c-ink-950) / .15);
}
/* F7 — same gilt-ink swap as .fs-bl-ft-est above. */
.fs-bl-ft-h5{
  margin:0 0 8px;font-size:11px;font-weight:600;line-height:1;
  letter-spacing:.2em;text-transform:uppercase;
  color:var(--ll-gilt-ink, rgb(var(--c-accent, var(--c-brand-600))));
}
.fs-bl-ft-colp{margin:0;font-size:14px;color:rgb(var(--c-ink-950));}
.fs-bl-ft-muted{margin-top:6px;color:rgb(var(--c-ink-700));}

.fs-bl-ft-perf{
  margin-block:18px;
  background:radial-gradient(circle,rgb(var(--ll-gilt, var(--c-accent))) 0 1.7px,transparent 2.2px) 50% 0/26px 11px repeat-y;
}

.fs-bl-ft-stub{display:flex;flex-direction:column;gap:12px;padding:40px 30px 30px;}
.fs-bl-ft-admit{
  font-size:11px;font-weight:600;line-height:1;
  letter-spacing:.3em;text-transform:uppercase;
  color:rgb(var(--ll-hot, var(--c-brand-600)));
}
.fs-bl-ft-tel{
  margin:0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:30px;line-height:1;font-weight:400;
  font-variant-numeric:tabular-nums;
  color:rgb(var(--c-ink-950));
}
.fs-bl-ft-signup{
  display:inline-flex;align-self:flex-start;align-items:center;gap:.4rem;
  padding:.6rem 1rem;
  background:rgb(var(--c-brand-600));
  color:rgb(var(--c-paper));
  font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  transition:background .25s ease;
}
.fs-bl-ft-signup:hover{background:rgb(var(--c-brand-700, var(--c-brand-600)));}
/* F7 — same gilt-ink swap as .fs-bl-ft-est above. */
.fs-bl-ft-serial{
  align-self:flex-end;margin-top:auto;
  font-size:11px;font-weight:600;line-height:1;
  letter-spacing:.2em;font-variant-numeric:tabular-nums;
  color:var(--ll-gilt-ink, rgb(var(--c-accent, var(--c-brand-600))));
}

.fs-bl-ft-links{
  display:flex;flex-wrap:wrap;justify-content:center;gap:10px 14px;
  margin:34px 0 0;
  font-size:11.5px;font-weight:600;line-height:1;letter-spacing:.2em;text-transform:uppercase;
}
/* Same R18 fight as the headings above — the global ramp's link rule
   ('.fs-typo a:not([class])') ships a default '--fs-link-color' of
   brand-600, which otherwise wins over a bare <a> regardless of the
   parent selector's specificity. Both the nav links and the legal
   row's links (below) now carry their own class, so the ramp never
   matches them at all. */
.fs-bl-ft-link{color:rgb(var(--c-ink-950));text-decoration:none;}
.fs-bl-ft-link:hover{color:rgb(var(--ll-gilt, var(--c-accent)));}
/* The ✦ between links, the way the mockup's own '.l-flinks i' reads,
   without a separate DOM node for it (BillBlocks.tsx renders plain
   <a>s) — an ::before on every link but the first. */
.fs-bl-ft-link+.fs-bl-ft-link::before{
  content:'✦';display:inline-block;margin-right:8px;
  color:rgb(var(--ll-gilt, var(--c-accent)));
}

.fs-bl-ft-legal{
  display:flex;flex-wrap:wrap;justify-content:center;gap:4px 10px;
  margin:14px 0 0;font-size:12.5px;color:rgb(var(--c-ink-700));
}
.fs-bl-ft-legallink{color:inherit;text-decoration:none;}
.fs-bl-ft-legallink:hover{color:rgb(var(--c-ink-950));}

@container (max-width: 48rem){
  .fs-bl-ft-tkt{grid-template-columns:1fr;-webkit-mask:none;mask:none;}
  .fs-bl-ft-perf{
    height:14px;margin:0 16px;
    background:radial-gradient(circle,rgb(var(--ll-gilt, var(--c-accent))) 0 1.7px,transparent 2.2px) 0 50%/11px 14px repeat-x;
  }
  .fs-bl-ft-main{padding:28px 22px;}
  .fs-bl-ft-name{font-size:40px;}
  .fs-bl-ft-cols{grid-template-columns:1fr;gap:16px;}
  .fs-bl-ft-stub{padding:22px;}
  .fs-bl-ft>.fs-bl-ft-bulbs{margin-bottom:28px;}
}


.fs-lp{
  position:relative;overflow:hidden;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-lp *{box-sizing:border-box;}

/* ── Type ─────────────────────────────────────────────────────── */
.fs-lp-eyebrow{
  display:block;
  color:rgb(var(--c-ink-700));
  font-size:.72rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
}
.fs-lp-title{
  margin:.9rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(2.3rem,5.2vw,3.8rem);
  line-height:1.1;font-weight:600;letter-spacing:-.005em;
  color:rgb(var(--c-ink-950));
}
.fs-lp-accent{color:rgb(var(--c-accent, var(--c-brand-600)));font-style:italic;}
.fs-lp-sub{
  margin:1.2rem 0 0;max-width:46ch;
  font-size:clamp(1rem,1.6vw,1.1rem);line-height:1.7;
  color:rgb(var(--c-ink-700));
}
.fs-lp-center{text-align:center;margin-left:auto;margin-right:auto;}
.fs-lp-h{
  margin:0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(1.85rem,3.4vw,2.6rem);
  line-height:1.15;font-weight:600;color:rgb(var(--c-ink-950));
  text-align:center;
}

/* ── Buttons ──────────────────────────────────────────────────── */
.fs-lp-ctas{display:flex;flex-wrap:wrap;gap:1.1rem;margin-top:2rem;align-items:center;}
.fs-lp-ctas-center{justify-content:center;}
.fs-lp-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.85rem 1.8rem;border-radius:var(--fs-radius-control, 8px);
  font-size:.9rem;font-weight:600;line-height:1;white-space:nowrap;letter-spacing:.02em;
  color:rgb(var(--c-paper));
  background:rgb(var(--c-brand-600));
  box-shadow:var(--fs-shadow-card, 0 10px 24px rgb(var(--c-ink-950) / .16));
  transition:transform .3s ease, background .3s ease;
}
.fs-lp-btn:hover{transform:translateY(-2px);background:rgb(var(--c-brand-700, var(--c-brand-600)));}
.fs-lp-btn2{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.85rem 1.8rem;border-radius:var(--fs-radius-control, 8px);
  font-size:.9rem;font-weight:600;line-height:1;white-space:nowrap;letter-spacing:.02em;
  color:rgb(var(--c-ink-950));
  border:1.5px solid rgb(var(--c-ink-950) / .3);
  background:transparent;
  transition:border-color .3s ease, color .3s ease, transform .3s ease;
}
.fs-lp-btn2:hover{transform:translateY(-2px);border-color:rgb(var(--c-brand-600));color:rgb(var(--c-brand-600));}
.fs-lp-wire .fs-lp-btn{background:rgb(var(--c-ink-950));box-shadow:none;}

/* ── The aperture mark — a drawn lens ring, used as a flourish on
   the header and the CTA. Pure CSS: a ring with a filled iris dot. ── */
.fs-lp-aperture{
  display:block;width:1.6rem;height:1.6rem;margin:0 auto 1.3rem;
  border-radius:50%;position:relative;
  border:1.5px solid rgb(var(--c-accent, var(--c-brand-600)) / .6);
}
.fs-lp-aperture::before{
  content:'';position:absolute;inset:32%;border-radius:50%;
  background:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-lp-wire .fs-lp-aperture{display:none;}

/* ── Corner brackets — the mounted-print motif, shared by the hero
   frame, the sessions ledger and the CTA band. The parent must be
   position:relative. ── */
.fs-lp-corner{position:absolute;width:1.7rem;height:1.7rem;pointer-events:none;}
.fs-lp-corner-tl{top:-2px;left:-2px;border-top:2.5px solid rgb(var(--c-accent, var(--c-brand-600)));border-left:2.5px solid rgb(var(--c-accent, var(--c-brand-600)));}
.fs-lp-corner-tr{top:-2px;right:-2px;border-top:2.5px solid rgb(var(--c-accent, var(--c-brand-600)));border-right:2.5px solid rgb(var(--c-accent, var(--c-brand-600)));}
.fs-lp-corner-bl{bottom:-2px;left:-2px;border-bottom:2.5px solid rgb(var(--c-accent, var(--c-brand-600)));border-left:2.5px solid rgb(var(--c-accent, var(--c-brand-600)));}
.fs-lp-corner-br{bottom:-2px;right:-2px;border-bottom:2.5px solid rgb(var(--c-accent, var(--c-brand-600)));border-right:2.5px solid rgb(var(--c-accent, var(--c-brand-600)));}
.fs-lp-wire .fs-lp-corner{border-color:rgb(var(--c-ink-950)) !important;}

/* ═════════ HERO (favFrameHero) ═════════ */
.fs-lp-hero{padding:var(--fs-space-section, clamp(3.5rem,8vw,6rem)) clamp(1rem,4vw,2.5rem);}
.fs-lp-hero-inner{
  position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(2rem,5vw,4.5rem);align-items:center;
}
@media (max-width:920px){.fs-lp-hero-inner{grid-template-columns:1fr;gap:3rem;}}
.fs-lp-est{
  display:flex;align-items:center;gap:.9rem;
  margin-top:2.2rem;padding-top:1.3rem;border-top:1px solid rgb(var(--c-line));
  font-size:.82rem;font-weight:600;letter-spacing:.04em;color:rgb(var(--c-ink-700));
}
.fs-lp-est-rule{width:1.6rem;height:1px;background:rgb(var(--c-accent, var(--c-brand-600)));flex:none;}
/* The mounted portrait: a mat border implied by padding, brass corner
   brackets, and a small negative-number tag overlapping the top edge. */
.fs-lp-hero-stage{position:relative;display:flex;flex-direction:column;align-items:center;}
.fs-lp-frame{
  position:relative;width:100%;max-width:24rem;
  padding:.9rem;
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line));
  border-radius:var(--fs-radius-card, 4px);
  box-shadow:var(--fs-shadow-card, 0 20px 46px rgb(var(--c-ink-950) / .18));
}
.fs-lp-frame-no{
  position:absolute;top:-.7rem;left:1.1rem;z-index:2;
  padding:.15rem .55rem;
  background:rgb(var(--c-paper));
  border:1px solid rgb(var(--c-line));
  font-size:.68rem;font-weight:700;letter-spacing:.14em;
  color:rgb(var(--c-ink-700));
}
.fs-lp-frame-photo{
  position:relative;width:100%;aspect-ratio:4 / 5;overflow:hidden;
  background:rgb(var(--c-paper));
}
.fs-lp-frame-photo img{width:100%;height:100%;object-fit:cover;}
.fs-lp-frame-photo > *{width:100%;height:100%;}
.fs-lp-frame-fallback{
  display:block;width:100%;height:100%;
  background:radial-gradient(circle at 50% 38%, rgb(var(--c-accent, var(--c-brand-600)) / .28), rgb(var(--c-paper)) 74%);
}
.fs-lp-anim .fs-lp-frame-photo{animation:fs-lp-develop 1.1s ease both;}
@keyframes fs-lp-develop{from{filter:brightness(0.4) contrast(0.7) saturate(0.3);}to{filter:none;}}
.fs-lp-caption{
  margin-top:1.1rem;max-width:22rem;text-align:center;
  font-size:.82rem;font-style:italic;line-height:1.6;color:rgb(var(--c-ink-400));
}
.fs-lp-wire .fs-lp-frame-fallback,.fs-lp-wire .fs-lp-caption{display:none;}
.fs-lp-wire .fs-lp-frame{box-shadow:none;}

/* ═════════ PAGE HEADER (favFrameHeader) ═════════ */
.fs-lp-hd{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-lp-hd-inner{
  position:relative;max-width:min(44rem, var(--fs-layout-clamp, 44rem));margin:0 auto;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.fs-lp-hd .fs-lp-title{font-size:clamp(2.1rem,4.4vw,3.2rem);}
.fs-lp-hd .fs-lp-aperture:last-child{margin:2rem auto 0;}

/* ═════════ CONTACT SHEET (favFrameReel) ═════════
   Six sprocketed frames in a strip. Hover/focus lifts one under a
   drawn loupe ring (React state, not CSS-only :hover) and updates the
   "now viewing" readout above the strip. */
.fs-lp-reel{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-lp-reel-head{max-width:min(46rem, var(--fs-layout-clamp, 46rem));margin:0 auto 1.6rem;text-align:center;}
.fs-lp-reel-readout{
  display:flex;align-items:center;justify-content:center;gap:.7rem;
  max-width:var(--fs-layout-max,56rem);margin:0 auto 1.6rem;
  font-size:.82rem;color:rgb(var(--c-ink-700));
}
.fs-lp-reel-readout-no{font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--c-accent, var(--c-brand-600)));}
.fs-lp-reel-readout-sep{width:1px;height:.9rem;background:rgb(var(--c-line));}
.fs-lp-reel-readout-cap{font-style:italic;}
.fs-lp-strip{
  max-width:var(--fs-layout-max,64rem);margin:0 auto;
  display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(.7rem,1.6vw,1.1rem);
}
@media (max-width:820px){.fs-lp-strip{grid-template-columns:repeat(3,1fr);}}
@media (max-width:480px){.fs-lp-strip{grid-template-columns:repeat(2,1fr);}}
.fs-lp-thumb{
  position:relative;cursor:pointer;outline:none;
  padding:0 0 .7rem;
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line));
  border-radius:var(--fs-radius-card, 4px);
  transition:transform .35s cubic-bezier(.2,.7,.3,1), box-shadow .35s ease, z-index 0s;
}
.fs-lp-thumb.is-active,.fs-lp-thumb:focus-visible{
  transform:translateY(-.5rem) scale(1.045);
  box-shadow:var(--fs-shadow-card, 0 18px 34px rgb(var(--c-ink-950) / .22));
  z-index:2;
}
.fs-lp-sprockets{height:8px;opacity:.55;
  background-image:radial-gradient(circle, rgb(var(--c-ink-950) / .6) 1.5px, transparent 1.6px);
  background-size:11px 8px;background-repeat:repeat-x;background-position:4px center;
}
.fs-lp-thumb-no{
  position:absolute;top:.55rem;left:.5rem;z-index:1;
  font-size:.62rem;font-weight:700;letter-spacing:.08em;
  color:rgb(var(--c-paper));
  background:rgb(var(--c-ink-950) / .55);
  padding:.05rem .3rem;
}
.fs-lp-thumb-img{position:relative;aspect-ratio:1 / 1;margin:0 .5rem;overflow:hidden;background:rgb(var(--c-paper));}
.fs-lp-thumb-img img{width:100%;height:100%;object-fit:cover;}
.fs-lp-thumb-img > *{width:100%;height:100%;}
.fs-lp-thumb-fallback{
  display:block;width:100%;height:100%;
  background:linear-gradient(155deg, rgb(var(--c-accent, var(--c-brand-600)) / .3), rgb(var(--c-paper)) 78%);
}
.fs-lp-loupe-ring{
  position:absolute;inset:.5rem .5rem 1.15rem .5rem;
  border-radius:50%;border:2px solid rgb(var(--c-accent, var(--c-brand-600)));
  opacity:0;transform:scale(.85);pointer-events:none;
  transition:opacity .3s ease, transform .3s ease;
}
.fs-lp-thumb.is-active .fs-lp-loupe-ring{opacity:.9;transform:scale(1);}
.fs-lp-thumb-cap{
  margin-top:.5rem;padding:0 .55rem;
  font-size:.76rem;line-height:1.45;color:rgb(var(--c-ink-700));
}
.fs-lp-reel-note{margin-top:2rem;text-align:center;font-size:.8rem;letter-spacing:.02em;color:rgb(var(--c-ink-400));}
.fs-lp-wire .fs-lp-thumb-fallback,.fs-lp-wire .fs-lp-loupe-ring,.fs-lp-wire .fs-lp-sprockets{display:none;}
.fs-lp-wire .fs-lp-thumb.is-active{transform:none;box-shadow:none;}

/* ═════════ SESSIONS LEDGER (favFrameSessions) ═════════ */
.fs-lp-sess{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-lp-sess-head{max-width:min(46rem, var(--fs-layout-clamp, 46rem));margin:0 auto 2.2rem;text-align:center;}
.fs-lp-sess-card{
  position:relative;max-width:min(46rem, var(--fs-layout-clamp, 46rem));margin:0 auto;
  padding:clamp(1.8rem,4.5vw,3rem) clamp(1.4rem,4vw,2.6rem);
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-line));
  border-radius:var(--fs-radius-card, 4px);
}
.fs-lp-sess-row{display:flex;gap:1.1rem;padding:1.1rem 0;align-items:flex-start;}
.fs-lp-sess-row + .fs-lp-sess-row{border-top:1px solid rgb(var(--c-line));}
.fs-lp-sess-tag{
  flex:none;margin-top:.15rem;
  font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-lp-sess-main{flex:1;min-width:0;}
.fs-lp-sess-top{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:baseline;justify-content:space-between;}
.fs-lp-sess-name{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.14rem;color:rgb(var(--c-ink-950));
}
.fs-lp-sess-price{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.05rem;font-weight:600;white-space:nowrap;
  color:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-lp-sess-meta{margin-top:.2rem;font-size:.78rem;letter-spacing:.03em;color:rgb(var(--c-ink-400));}
.fs-lp-sess-desc{margin-top:.4rem;font-size:.87rem;line-height:1.6;color:rgb(var(--c-ink-700));max-width:54ch;}
.fs-lp-sess-note{
  margin-top:1.8rem;padding-top:1.2rem;border-top:1px solid rgb(var(--c-line));
  font-size:.82rem;line-height:1.6;color:rgb(var(--c-ink-400));
}

/* ═════════ CTA (favFrameCta) ═════════ */
.fs-lp-cta{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-lp-cta-band{
  position:relative;max-width:min(52rem, var(--fs-layout-clamp, 52rem));margin:0 auto;
  padding:clamp(2.4rem,5vw,3.6rem) clamp(1.6rem,4vw,3.2rem);
  display:flex;flex-direction:column;align-items:center;text-align:center;
  background:rgb(var(--c-brand-600) / .05);
  border:1px solid rgb(var(--c-line));
  border-radius:var(--fs-radius-card, 4px);
}
.fs-lp-cta-band .fs-lp-title{font-size:clamp(1.85rem,3.8vw,2.7rem);}
.fs-lp-note{margin-top:1.6rem;font-size:.8rem;letter-spacing:.03em;color:rgb(var(--c-ink-400));}

/* Anyone who asked the OS for less motion gets the developed print
   instantly and no lift-on-hover transform. */
@media (prefers-reduced-motion:reduce){
  .fs-lp-anim .fs-lp-frame-photo{animation:none;}
  .fs-lp-thumb,.fs-lp-loupe-ring{transition:none !important;}
}

/* ── favLoupeFooter (theme-chrome batch 6, Fenwick) ────────────────
   The mounted portrait. fs-lp-ft: the full-bleed band in the mount
   colour, its top edge the header's two-hairline bevel (named
   container); fs-lp-ft-in: the content box, which narrows with the
   Layout (named container). The frame's brass corners are eight
   gradient layers on its own background, never positioned children. */
.fs-lp-ft{container-type:inline-size;container-name:fs-lp-ft;padding:0 clamp(1rem,4vw,2.5rem);background:linear-gradient(var(--lp-ft-edge),var(--lp-ft-edge)) 0 0/100% 1px no-repeat,linear-gradient(var(--lp-ft-edge),var(--lp-ft-edge)) 0 4px/100% 1px no-repeat,rgb(var(--c-paper-soft));--lp-ft-brass:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 75%, rgb(var(--c-ink-950)));--lp-ft-brass-ink:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 55%, rgb(var(--c-ink-950)));--lp-ft-hair:rgb(var(--c-ink-950) / .14);--lp-ft-edge:rgb(var(--c-ink-950) / .3);--lp-ft-ink2:color-mix(in srgb, rgb(var(--c-ink-950)) 76%, rgb(var(--c-paper)));--lp-ft-drama:0 34px 64px -28px rgb(var(--c-ink-950) / .48),0 10px 24px -14px rgb(var(--c-ink-950) / .26)}
.fs-lp-ft:is(.dark *):not(.fs-preview-light *){--lp-ft-brass:rgb(var(--c-accent, var(--c-brand-600)));--lp-ft-brass-ink:rgb(var(--c-accent, var(--c-brand-600)));--lp-ft-hair:rgb(var(--c-ink-950) / .16);--lp-ft-edge:rgb(var(--c-ink-950) / .32);--lp-ft-ink2:color-mix(in srgb, rgb(var(--c-ink-950)) 80%, rgb(var(--c-paper)));--lp-ft-drama:0 34px 64px -28px rgb(0 0 0 / .72),0 10px 24px -14px rgb(0 0 0 / .5)}
.fs-lp-ft-in{container-type:inline-size;container-name:fs-lp-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:58px 30px}
.fs-lp-ft-frame{position:relative;padding:44px clamp(20px,3.2cqi,44px) 34px;background-color:rgb(var(--c-paper));border:1px solid var(--lp-ft-edge);box-shadow:var(--lp-ft-drama);background-image:linear-gradient(var(--lp-ft-brass),var(--lp-ft-brass)),linear-gradient(var(--lp-ft-brass),var(--lp-ft-brass)),linear-gradient(var(--lp-ft-brass),var(--lp-ft-brass)),linear-gradient(var(--lp-ft-brass),var(--lp-ft-brass)),linear-gradient(var(--lp-ft-brass),var(--lp-ft-brass)),linear-gradient(var(--lp-ft-brass),var(--lp-ft-brass)),linear-gradient(var(--lp-ft-brass),var(--lp-ft-brass)),linear-gradient(var(--lp-ft-brass),var(--lp-ft-brass));background-repeat:no-repeat;background-origin:border-box;background-position:0 0,0 0,100% 0,100% 0,0 100%,0 100%,100% 100%,100% 100%;background-size:30px 2.5px,2.5px 30px,30px 2.5px,2.5px 30px,30px 2.5px,2.5px 30px,30px 2.5px,2.5px 30px}
.fs-lp-ft-ap{display:inline-block;flex:none;width:26px;height:26px;margin-bottom:16px;border:1.5px solid var(--lp-ft-brass);border-radius:50%;background:radial-gradient(circle,var(--lp-ft-brass) 0 29%,transparent 31%)}
.fs-lp-ft-rule{display:inline-block;flex:none;width:1.6rem;height:1px;background:var(--lp-ft-brass)}
.fs-lp-ft-head{display:flex;flex-direction:column;align-items:center;margin-bottom:40px;text-align:center}
.fs-lp-ft-eyebrow,.fs-lp-ft-h,.fs-lp-ft-tag,.fs-lp-ft-est{font:700 10.5px/1.25 var(--font-sans, 'Libre Caslon Text', Georgia, serif);letter-spacing:.22em;text-transform:uppercase;color:rgb(var(--c-ink-700))}
.fs-lp-ft-title{margin:12px 0 0;font:400 clamp(28px,3.1cqi,40px)/1.12 var(--font-display, 'Libre Caslon Display', Georgia, serif);letter-spacing:-.005em;text-wrap:balance;color:rgb(var(--c-ink-950))}
.fs-lp-ft-acc{font-family:var(--font-sans, 'Libre Caslon Text', Georgia, serif);font-style:italic;color:var(--lp-ft-brass-ink)}
.fs-lp-ft-tag{position:absolute;top:0;left:50%;z-index:1;transform:translate(-50%,-50%);padding:5px 12px;background:rgb(var(--c-paper));border:1px solid var(--lp-ft-edge);white-space:nowrap}
.fs-lp-ft-cols{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.1fr);gap:30px clamp(22px,3.2cqi,48px)}
.fs-lp-ft-col{min-width:0}
.fs-lp-ft-h{margin:0 0 14px;padding-bottom:11px;border-bottom:1px solid var(--lp-ft-hair)}
.fs-lp-ft-p{margin:0;font-size:14.5px;line-height:1.6;color:var(--lp-ft-ink2)}
.fs-lp-ft-p+.fs-lp-ft-p{margin-top:10px}
.fs-lp-ft-big{display:block;margin-bottom:4px;font:400 23px/1.15 var(--font-display, 'Libre Caslon Display', Georgia, serif);color:rgb(var(--c-ink-950));font-variant-numeric:lining-nums;text-decoration:none}
.fs-lp-ft-mail{display:inline-block;margin-top:10px;padding-bottom:1px;border-bottom:1px solid var(--lp-ft-brass);font-size:14px;color:rgb(var(--c-ink-950));overflow-wrap:anywhere;text-decoration:none}
.fs-lp-ft-mail:hover{color:rgb(var(--c-brand-text))}
.fs-lp-ft-list{margin:0;padding:0;list-style:none}
.fs-lp-ft-li{padding-block:4px;font-size:15px;line-height:1.35}
.fs-lp-ft-link{display:inline-flex;align-items:center;gap:10px;color:rgb(var(--c-ink-950));text-decoration:none}
.fs-lp-ft-link::before{content:'';flex:none;width:10px;height:1px;background:var(--lp-ft-brass);transition:width .25s ease}
.fs-lp-ft-link:hover{color:rgb(var(--c-brand-text))}
.fs-lp-ft-link:hover::before{width:16px}
.fs-lp-ft-fig{display:block;font:400 38px/1 var(--font-display, 'Libre Caslon Display', Georgia, serif);color:var(--lp-ft-brass-ink);font-variant-numeric:lining-nums}
.fs-lp-ft-base{display:flex;flex-wrap:wrap;align-items:center;gap:10px 24px;margin-top:26px;font-size:13px;color:var(--lp-ft-ink2)}
.fs-lp-ft-est{margin:0;display:inline-flex;align-items:center;gap:12px;margin-right:auto}
.fs-lp-ft-legal{margin:0;display:flex;flex-wrap:wrap;gap:6px 18px}
.fs-lp-ft-legal-a{text-decoration:none}
.fs-lp-ft-legal-a:hover{color:rgb(var(--c-ink-950))}
@container fs-lp-ft (max-width: 40rem){
  .fs-lp-ft-in{padding-block:44px 24px}
}
@container fs-lp-ft-in (max-width: 56rem){
  .fs-lp-ft-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container fs-lp-ft (max-width: 48rem){
  .fs-lp-ft-cols{grid-template-columns:minmax(0,1fr);gap:26px}
  .fs-lp-ft-frame{padding:38px 22px 26px;background-size:22px 2px,2px 22px,22px 2px,2px 22px,22px 2px,2px 22px,22px 2px,2px 22px}
  .fs-lp-ft-head{margin-bottom:34px}
}
@container fs-lp-ft (max-width: 30rem){
  .fs-lp-ft-base{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion: reduce){
  .fs-lp-ft-link::before{transition:none}
}


.fs-cr{
  position:relative;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-cr *{box-sizing:border-box;}

/* ── Shared motifs ──────────────────────────────────────────────
   The double rule: thick over thin. */
.fs-cr-rule{display:block;width:11rem;}
.fs-cr-rule i{display:block;background:rgb(var(--c-accent, var(--c-brand-600)));}
.fs-cr-rule i:nth-child(1){height:3px;}
.fs-cr-rule i:nth-child(2){height:1px;margin-top:3px;}
@keyframes fs-cr-draw{from{transform:scaleX(0);}}
.fs-cr-anim .fs-cr-rule i{transform-origin:left center;animation:fs-cr-draw .8s cubic-bezier(.22,.61,.36,1) both;}
.fs-cr-anim .fs-cr-rule i:nth-child(2){animation-delay:.12s;}

/* The roundel — two rings around a letter. */
.fs-cr-roundel{
  display:inline-flex;align-items:center;justify-content:center;
  width:3.4rem;height:3.4rem;border-radius:999px;
  border:3px solid rgb(var(--c-accent, var(--c-brand-600)));
  box-shadow:inset 0 0 0 1px rgb(var(--c-paper)), inset 0 0 0 2px rgb(var(--c-brand-600) / .55);
  font-family:var(--font-display, Georgia, serif);
  font-size:1.5rem;line-height:1;
  color:rgb(var(--c-brand-600));
}
.fs-cr-wire .fs-cr-roundel{box-shadow:none;border-color:rgb(var(--c-ink-950));}

/* Small-caps label. */
.fs-cr-label{
  display:block;margin-top:1.2rem;
  font-size:.7rem;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}

/* Type — a book face at display sizes. */
.fs-cr-title{
  margin:.9rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(2rem,4.4vw,3.2rem);
  font-weight:400;line-height:1.16;letter-spacing:-0.005em;
  text-wrap:balance;
}
.fs-cr-accent{color:rgb(var(--c-brand-600));font-style:italic;}
.fs-cr-sub{
  margin-top:1rem;max-width:36rem;
  font-size:1rem;line-height:1.72;
  color:rgb(var(--c-ink-700));
}
.fs-cr-h{
  margin:0;
  font-family:var(--font-display, Georgia, serif);
  font-size:var(--fs-type-h2, clamp(1.7rem,3vw,2.4rem));
  font-weight:var(--fs-type-h2-weight, 400);
  line-height:var(--fs-type-h2-leading, 1.2);
  text-wrap:balance;
}

/* Buttons — spans in previews. Sharp, weighted, printed. */
.fs-cr-ctas{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.7rem;}
.fs-cr-btn,.fs-cr-btn2{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.82rem 1.5rem;cursor:pointer;
  border-radius:var(--fs-radius-control, 0);
  font-size:.8rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  transition:transform .16s ease, box-shadow .16s ease, background-color .16s ease, color .16s ease;
}
.fs-cr-btn{
  background:rgb(var(--c-brand-600));
  color:rgb(var(--c-paper));
  border:1px solid rgb(var(--c-brand-600));
  box-shadow:var(--fs-shadow-card, 0 8px 20px -8px rgb(var(--c-ink-950) / .4));
}
.fs-cr-btn:hover{transform:translateY(-2px);box-shadow:var(--fs-shadow-lift, 0 18px 34px -14px rgb(var(--c-ink-950) / .5));}
.fs-cr-btn2{
  background:transparent;color:rgb(var(--c-ink-950));
  border:1px solid rgb(var(--c-ink-950) / .5);
}
.fs-cr-btn2:hover{border-color:rgb(var(--c-brand-600));color:rgb(var(--c-brand-600));}
.fs-cr-btn:focus-visible,.fs-cr-btn2:focus-visible{outline:2px solid rgb(var(--c-brand-600));outline-offset:3px;}
.fs-cr-wire .fs-cr-btn{box-shadow:none;transform:none;}

/* ═════════ HERO ═════════ */
.fs-cr-hero{padding:var(--fs-space-section, clamp(2.4rem,5vw,3.6rem)) clamp(1rem,4vw,2.5rem);}
.fs-cr-hero-inner{
  max-width:var(--fs-layout-max,74rem);margin:0 auto;
  display:grid;grid-template-columns:1.02fr .98fr;
  gap:clamp(2rem,5vw,3.4rem);align-items:center;
}
@media (max-width:940px){.fs-cr-hero-inner{grid-template-columns:1fr;gap:2.4rem;}}
.fs-cr-hero-rule{margin-top:1.5rem;}
.fs-cr-facts{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;
  margin:2rem 0 0;padding-top:1.1rem;
  border-top:1px solid rgb(var(--c-line));
}
.fs-cr-fact{display:flex;flex-direction:column;gap:.15rem;margin:0;}
.fs-cr-fact-v{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.5rem;font-variant-numeric:tabular-nums;
  color:rgb(var(--c-brand-600));
}
.fs-cr-fact-l{margin:0;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--c-ink-400));}
@media (max-width:560px){.fs-cr-facts{grid-template-columns:1fr;gap:.8rem;}}

/* The plate: sharp, weighted, with a real shadow. */
.fs-cr-stage{position:relative;display:flex;justify-content:center;}
.fs-cr-plate{
  position:relative;width:min(30rem,100%);aspect-ratio:4 / 3;overflow:hidden;
  border-radius:var(--fs-radius-card, 0);
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-ink-950) / .5);
  box-shadow:var(--fs-shadow-lift, 0 26px 48px -20px rgb(var(--c-ink-950) / .45));
}
.fs-cr-plate img{width:100%;height:100%;object-fit:cover;display:block;}
.fs-cr-plate > *{width:100%;height:100%;}
.fs-cr-plate-fallback{
  display:block;width:100%;height:100%;
  background:
    repeating-linear-gradient(38deg, rgb(var(--c-ink-950) / .07) 0 1px, transparent 1px 9px),
    linear-gradient(165deg, rgb(var(--c-brand-50)), rgb(var(--c-brand-600) / .35));
}
.fs-cr-wire .fs-cr-plate{box-shadow:none;}
.fs-cr-wire .fs-cr-plate-fallback{display:none;}

/* ═════════ PAGE HEADER ═════════ */
.fs-cr-hd{padding:var(--fs-space-section, clamp(2.2rem,4.5vw,3.2rem)) clamp(1rem,4vw,2.5rem);}
.fs-cr-hd-inner{max-width:var(--fs-layout-max,74rem);margin:0 auto;}
.fs-cr-hd-title{font-size:clamp(1.9rem,4vw,2.9rem);}
.fs-cr-hd-rule{margin-top:1.3rem;}
.fs-cr-hd .fs-cr-sub{max-width:min(42rem, var(--fs-layout-clamp, 42rem));}

/* ═════════ ANNOTATED DIAGRAM (favCrestExam) ═════════ */
.fs-cr-ex{padding:var(--fs-space-section, clamp(2.4rem,5vw,3.6rem)) clamp(1rem,4vw,2.5rem);}
.fs-cr-ex-head{max-width:var(--fs-layout-max,68rem);margin:0 auto 1.7rem;}
.fs-cr-ex-body{
  max-width:var(--fs-layout-max,68rem);margin:0 auto;
  display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(1.4rem,3.5vw,2.6rem);align-items:start;
}
@media (max-width:900px){.fs-cr-ex-body{grid-template-columns:1fr;}}
.fs-cr-ex-plate{
  position:relative;aspect-ratio:9 / 7;overflow:hidden;
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-ink-950) / .5);
  box-shadow:var(--fs-shadow-card, 0 16px 34px -16px rgb(var(--c-ink-950) / .4));
}
.fs-cr-ex-plate img{width:100%;height:100%;object-fit:contain;display:block;}
.fs-cr-ex-plate > img,.fs-cr-ex-plate > span:first-child,.fs-cr-ex-plate > div:first-child{width:100%;height:100%;}
.fs-cr-ex-fallback{
  display:block;width:100%;height:100%;
  background:
    repeating-linear-gradient(38deg, rgb(var(--c-ink-950) / .08) 0 1px, transparent 1px 10px),
    rgb(var(--c-brand-50));
}
/* The pins. Double-classed: the editor's typography layer paints
   every canvas <button> with --fs-btn-color, white by default. */
.fs-cr .fs-cr-ex-pin{
  position:absolute;transform:translate(-50%,-50%);
  width:2rem;height:2rem;border-radius:999px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display, Georgia, serif);
  font-size:.86rem;line-height:1;letter-spacing:0;text-transform:none;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-brand-600));
  border:2px solid rgb(var(--c-brand-600));
  box-shadow:0 3px 8px -2px rgb(var(--c-ink-950) / .45);
  transition:background-color .2s ease, color .2s ease, transform .2s ease;
}
.fs-cr .fs-cr-ex-pin.is-on{
  background:rgb(var(--c-brand-600));
  color:rgb(var(--c-paper));
  transform:translate(-50%,-50%) scale(1.18);
}
.fs-cr .fs-cr-ex-pin:focus-visible{outline:2px solid rgb(var(--c-accent, var(--c-brand-600)));outline-offset:3px;}

.fs-cr-ex-list{list-style:none;margin:0;padding:0;}
.fs-cr-ex-row{border-top:1px solid rgb(var(--c-line));}
.fs-cr-ex-row:last-child{border-bottom:1px solid rgb(var(--c-line));}
.fs-cr .fs-cr-ex-rowbtn{
  display:flex;align-items:baseline;gap:.7rem;width:100%;
  padding:.85rem .1rem;cursor:pointer;text-align:left;
  background:transparent;border:0;
  font-family:inherit;font-size:inherit;letter-spacing:0;text-transform:none;
  color:rgb(var(--c-ink-950));
}
.fs-cr .fs-cr-ex-rowbtn:focus-visible{outline:2px solid rgb(var(--c-brand-600));outline-offset:2px;}
.fs-cr-ex-rownum{
  flex:none;font-family:var(--font-display, Georgia, serif);
  font-size:.86rem;font-variant-numeric:tabular-nums;
  color:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-cr-ex-rowname{font-family:var(--font-display, Georgia, serif);font-size:1.05rem;}
.fs-cr-ex-row.is-on .fs-cr-ex-rowname{color:rgb(var(--c-brand-600));}
.fs-cr-ex-rowbody{
  font-size:.9rem;line-height:1.62;color:rgb(var(--c-ink-700));
  max-height:0;opacity:0;overflow:hidden;
  transition:max-height .35s ease, opacity .3s ease;
}
.fs-cr-ex-row.is-on .fs-cr-ex-rowbody{max-height:16rem;opacity:1;padding-bottom:.9rem;}
.fs-cr-ex-note{
  max-width:var(--fs-layout-max,68rem);margin:1.3rem auto 0;
  font-size:.82rem;line-height:1.6;color:rgb(var(--c-ink-400));
}
.fs-cr-wire .fs-cr-ex-rowbody{max-height:none;opacity:1;}
.fs-cr-wire .fs-cr-ex-plate{box-shadow:none;}
.fs-cr-wire .fs-cr-ex-fallback{display:none;}

/* ═════════ MILESTONES ═════════ */
.fs-cr-ms{padding:var(--fs-space-section, clamp(2.4rem,5vw,3.6rem)) clamp(1rem,4vw,2.5rem);}
.fs-cr-ms-head{max-width:var(--fs-layout-max,62rem);margin:0 auto 1.6rem;}
.fs-cr-ms-list{
  list-style:none;max-width:var(--fs-layout-max,62rem);margin:0 auto;padding:0;
  display:grid;grid-template-columns:repeat(4,1fr);gap:var(--fs-space-gap, .9rem);
}
@media (max-width:860px){.fs-cr-ms-list{grid-template-columns:1fr 1fr;}}
@media (max-width:520px){.fs-cr-ms-list{grid-template-columns:1fr;}}
.fs-cr-ms-item{
  position:relative;padding-top:1.3rem;
  border-top:3px solid rgb(var(--c-accent, var(--c-brand-600)));
}
/* The thin half of the double rule, offset beneath the thick one. */
.fs-cr-ms-item::before{
  content:'';position:absolute;top:3px;left:0;right:0;height:1px;
  margin-top:3px;background:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-cr-ms-year{
  display:block;
  font-family:var(--font-display, Georgia, serif);
  font-size:1.6rem;font-variant-numeric:tabular-nums;
  color:rgb(var(--c-brand-600));
}
.fs-cr-ms-dot{
  display:block;width:.45rem;height:.45rem;border-radius:999px;margin:.5rem 0;
  background:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-cr-ms-body{display:block;font-size:.92rem;line-height:1.6;color:rgb(var(--c-ink-700));}
.fs-cr-wire .fs-cr-ms-item::before,.fs-cr-wire .fs-cr-ms-dot{display:none;}

/* ═════════ CTA ═════════ */
.fs-cr-cta{padding:var(--fs-space-section, clamp(2.4rem,5vw,3.6rem)) clamp(1rem,4vw,2.5rem);}
.fs-cr-cta-panel{
  position:relative;max-width:min(52rem, var(--fs-layout-clamp, 52rem));margin:0 auto;
  padding:clamp(1.8rem,4vw,3rem);
  background:rgb(var(--c-paper-soft));
  border:1px solid rgb(var(--c-ink-950) / .45);
  border-radius:var(--fs-radius-card, 0);
  box-shadow:var(--fs-shadow-lift, 0 28px 52px -22px rgb(var(--c-ink-950) / .5));
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.fs-cr-cta-roundel{margin-bottom:.2rem;}
.fs-cr-cta-rule{margin:1.1rem auto 0;}
.fs-cr-cta-title{margin-top:.8rem;font-size:clamp(1.7rem,3.4vw,2.5rem);}
.fs-cr-cta-sub{max-width:34rem;}
.fs-cr-cta-phone{
  margin-top:1.1rem;
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(1.5rem,3vw,2.2rem);
  font-variant-numeric:tabular-nums;
  color:rgb(var(--c-brand-600));
}
.fs-cr-cta-actions{margin-top:1.1rem;justify-content:center;}
.fs-cr-cta-note{
  margin-top:.9rem;
  font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:rgb(var(--c-ink-700));
}
.fs-cr-wire .fs-cr-cta-panel{box-shadow:none;}

/* Motion discipline: nothing moves without input. */
@media (prefers-reduced-motion: reduce){
  .fs-cr,.fs-cr *,.fs-cr *::before,.fs-cr *::after{
    animation:none !important;transition:none !important;
  }
  .fs-cr-ex-rowbody{max-height:none !important;opacity:1 !important;}
}

/* ── favCrestFooter (theme-chrome batch 5, Almanac) ────────────────
   The band is the full-bleed container fs-cr-ft (the surface tone); the
   content box is the named container fs-cr-ft-in. */
.fs-cr-ft{container-type:inline-size;container-name:fs-cr-ft;padding:0 clamp(1rem,4vw,2.5rem);background:rgb(var(--c-paper-soft));--cr-ft-rulec:rgb(var(--c-accent, var(--c-brand-600)));--cr-ft-hair:rgb(var(--c-ink-950) / .15);--cr-ft-edge:rgb(var(--c-ink-950) / .5)}
.fs-cr-ft:is(.dark *):not(.fs-preview-light *){--cr-ft-hair:rgb(var(--c-ink-950) / .18);--cr-ft-edge:rgb(var(--c-ink-950) / .34)}
.fs-cr-ft-in{container-type:inline-size;container-name:fs-cr-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:54px 30px;font-size:15px;line-height:1.55}

.fs-cr-ft-mast{display:flex;flex-wrap:wrap;align-items:center;gap:16px 22px;padding-bottom:24px;background:linear-gradient(var(--cr-ft-rulec),var(--cr-ft-rulec)) 0 calc(100% - 4px)/100% 3px no-repeat,linear-gradient(var(--cr-ft-rulec),var(--cr-ft-rulec)) 0 100%/100% 1px no-repeat}
.fs-cr-ft-seal{display:inline-flex;align-items:center;justify-content:center;flex:none;width:3.7rem;height:3.7rem;border-radius:50%;background:rgb(var(--c-paper));border:3px solid var(--cr-ft-rulec);box-shadow:inset 0 0 0 1px rgb(var(--c-paper)),inset 0 0 0 2px rgb(var(--c-brand-600) / .55);font:400 1.65rem/1 var(--font-display, "Libre Baskerville",Georgia,serif);color:rgb(var(--c-brand-text))}
.fs-cr-ft-id{min-width:0}
.fs-cr-ft-name{font:400 26px/1.2 var(--font-display, "Libre Baskerville",Georgia,serif);color:rgb(var(--c-ink-950));text-wrap:balance}
.fs-cr-ft-label{display:block;margin-top:7px;font:700 10.5px/1.35 var(--font-body, inherit);letter-spacing:.2em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
.fs-cr-ft-acc{font-style:italic;color:rgb(var(--c-brand-text))}
.fs-cr-ft-pull{margin-left:auto;max-width:27ch;font:italic 400 17px/1.45 var(--font-display, "Libre Baskerville",Georgia,serif);color:rgb(var(--c-brand-text));text-align:right;text-wrap:balance}

.fs-cr-ft-dates{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px clamp(20px,3cqi,44px);padding-block:22px 24px;border-bottom:1px solid var(--cr-ft-hair)}
.fs-cr-ft-date{display:grid;align-content:start;gap:6px;min-width:0}
.fs-cr-ft-yr{display:flex;align-items:center;gap:10px;font:400 22px/1 var(--font-display, "Libre Baskerville",Georgia,serif);color:rgb(var(--c-brand-text));font-variant-numeric:tabular-nums}
.fs-cr-ft-yr::after{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--cr-ft-rulec)}
.fs-cr-ft-dp{max-width:32ch;margin:0;font-size:13.5px;line-height:1.5;color:rgb(var(--c-ink-700))}

.fs-cr-ft-cols{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr) minmax(0,1.35fr) minmax(0,1fr);gap:26px clamp(20px,3cqi,44px);padding-block:26px 30px}
.fs-cr-ft-col{min-width:0}
.fs-cr-ft-h{margin:0 0 12px;font:700 10.5px/1.35 var(--font-body, inherit);letter-spacing:.2em;text-transform:uppercase;color:rgb(var(--c-ink-950))}
.fs-cr-ft-p,.fs-cr-ft-li{font-size:14px;line-height:1.55;color:rgb(var(--c-ink-700));margin:0}
.fs-cr-ft-p + .fs-cr-ft-p{margin-top:9px}
.fs-cr-ft-link,.fs-cr-ft-mail{color:rgb(var(--c-ink-950));text-decoration:none}
.fs-cr-ft-link:hover,.fs-cr-ft-mail:hover{color:rgb(var(--c-brand-text));text-decoration:underline;text-underline-offset:3px}
.fs-cr-ft-tel{font:400 18px/1.2 var(--font-display, "Libre Baskerville",Georgia,serif);font-variant-numeric:tabular-nums;text-decoration:none}
a.fs-cr-ft-tel{color:rgb(var(--c-brand-text))}
a.fs-cr-ft-tel:hover{color:rgb(var(--c-brand-text));text-decoration:underline;text-underline-offset:3px}
.fs-cr-ft-note{font-size:13px}

.fs-cr-ft-links{list-style:none;margin:0;padding:0;columns:2;column-gap:20px}
.fs-cr-ft-links .fs-cr-ft-li{padding-block:3px;break-inside:avoid}
.fs-cr-ft-std{list-style:none;margin:0;padding:0}
.fs-cr-ft-std .fs-cr-ft-li{padding-block:3px}

.fs-cr-ft-legal{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;margin:0;padding-top:16px;border-top:1px solid var(--cr-ft-hair);font-size:12.5px;color:rgb(var(--c-ink-700))}
.fs-cr-ft-legal-t{margin-right:auto}
.fs-cr-ft-legal-a{color:rgb(var(--c-ink-700));text-decoration:none}
.fs-cr-ft-legal-a:hover{color:rgb(var(--c-ink-950));text-decoration:underline}

@container fs-cr-ft (max-width: 40rem){
  .fs-cr-ft-in{padding-block:38px 24px}
}
@container fs-cr-ft-in (max-width: 56rem){
  .fs-cr-ft-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-cr-ft-dates{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-cr-ft-pull{flex-basis:100%;max-width:none;margin-left:0;text-align:left}
}
@container fs-cr-ft (max-width: 48rem){
  .fs-cr-ft-cols{grid-template-columns:minmax(0,1fr)}
  .fs-cr-ft-name{font-size:23px}
}
@container fs-cr-ft (max-width: 30rem){
  .fs-cr-ft-dates{grid-template-columns:minmax(0,1fr);row-gap:14px}
  .fs-cr-ft-date{grid-template-columns:auto minmax(0,1fr);align-items:baseline;column-gap:12px}
  .fs-cr-ft-mast{gap:14px 16px}
  .fs-cr-ft-seal{width:3.2rem;height:3.2rem;font-size:1.4rem}
  .fs-cr-ft-name{font-size:21px}
  .fs-cr-ft-pull{font-size:16px}
}


.fs-rt{
  position:relative;overflow:hidden;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-rt *{box-sizing:border-box;}
.fs-rt-sr{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

/* ── Motif: the dashed route rule ───────────────────────────────
   Road markings, not a hairline: a long dash, a long gap, and a
   thin solid kerb line sitting under it. */
.fs-rt-dash{
  display:block;height:6px;width:100%;
  background:
    repeating-linear-gradient(to right,
      rgb(var(--c-brand-600) / .75) 0 1.6rem,
      transparent 1.6rem 2.8rem) top left / 100% 3px no-repeat,
    linear-gradient(rgb(var(--c-ink-950) / .16), rgb(var(--c-ink-950) / .16)) bottom left / 100% 1px no-repeat;
}
.fs-rt-dash-copy{margin:1.9rem 0 0;max-width:22rem;}
.fs-rt-dash-wide{margin:2rem 0 0;}
.fs-rt-dash-tier{margin:1.1rem 0;}

/* ── Motif: the fingerpost plate ────────────────────────────────
   A label with one pointed end, the way a fingerpost arm is cut. */
.fs-rt-plate{
  display:inline-flex;align-items:center;
  padding:.5rem 2rem .5rem 1.1rem;
  clip-path:polygon(0 0, calc(100% - .85rem) 0, 100% 50%, calc(100% - .85rem) 100%, 0 100%);
  background:rgb(var(--c-brand-600));
  color:rgb(var(--c-paper));
  font-size:.7rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
}

/* ── Motif: the cast milestone ──────────────────────────────────
   Semicircular top, flat foot — the mile-marker silhouette. */
.fs-rt-stone{
  display:flex;flex-direction:column;align-items:center;justify-content:flex-end;
  gap:.15rem;padding:1.15rem .7rem .85rem;
  border:1px solid rgb(var(--c-ink-950) / .2);
  border-radius:999px 999px var(--fs-radius-card, .5rem) var(--fs-radius-card, .5rem);
  background:rgb(var(--c-paper-soft, var(--c-paper)));
  text-align:center;
}
.fs-rt-stone-v{
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:1.45rem;font-weight:700;line-height:1.1;
  color:rgb(var(--c-brand-600));
}
.fs-rt-stone-l{
  font-size:.62rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  line-height:1.35;color:rgb(var(--c-ink-400));
}

/* ── Motif: the enamel roundel ──────────────────────────────────
   A ring-bordered disc with a bar of type across it. */
.fs-rt-roundel{
  position:absolute;right:-1.1rem;top:-1.1rem;z-index:3;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  width:6.2rem;height:6.2rem;border-radius:50%;
  background:rgb(var(--c-brand-600));
  color:rgb(var(--c-paper));
  box-shadow:inset 0 0 0 3px rgb(var(--c-paper)), inset 0 0 0 4.5px rgb(var(--c-brand-600));
  text-align:center;
}
.fs-rt-roundel-t{
  font-family:var(--font-display, Georgia, serif);
  font-size:.95rem;font-weight:700;line-height:1.1;
}
.fs-rt-roundel-b{
  margin-top:.15rem;padding-top:.25rem;
  border-top:1px solid rgb(var(--c-paper) / .55);
  font-size:.53rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  line-height:1.25;max-width:4.4rem;
}
/* On the CTA the roundel is part of the flow, not pinned to a frame. */
.fs-rt-roundel-static{position:relative;right:auto;top:auto;margin:0 auto 1.4rem;}

/* ── Type ───────────────────────────────────────────────────────
   The serif carries the heritage; the body face stays civic. */
.fs-rt-title{
  margin:1.4rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(2.1rem,4.6vw,3.4rem);
  line-height:1.16;font-weight:700;letter-spacing:-.008em;
  color:rgb(var(--c-ink-950));
}
.fs-rt-accent{color:rgb(var(--c-brand-600));}
.fs-rt-h{
  margin:1rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(1.6rem,3.1vw,2.3rem);
  line-height:1.22;font-weight:700;color:rgb(var(--c-ink-950));
}
.fs-rt-sub{
  margin:1.3rem 0 0;max-width:56ch;
  font-size:clamp(1rem,1.4vw,1.06rem);line-height:1.78;
  color:rgb(var(--c-ink-700));
}
.fs-rt-center{text-align:center;margin-left:auto;margin-right:auto;}

/* ── Buttons — one enamel plate, one ruled link ───────────────── */
.fs-rt-ctas{display:flex;flex-wrap:wrap;gap:1.1rem 1.6rem;margin-top:2rem;align-items:center;}
.fs-rt-ctas-center{justify-content:center;}
.fs-rt-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.9rem 1.7rem;
  border:2px solid rgb(var(--c-brand-600));
  border-radius:var(--fs-radius-control, .35rem);
  box-shadow:inset 0 0 0 2px rgb(var(--c-paper) / .85);
  font-size:.84rem;font-weight:700;line-height:1;white-space:nowrap;
  letter-spacing:.12em;text-transform:uppercase;
  color:rgb(var(--c-paper));
  background:rgb(var(--c-brand-600));
  transition:box-shadow .25s ease, background-color .25s ease;
}
.fs-rt-btn:hover{box-shadow:inset 0 0 0 2px rgb(var(--c-paper) / .35);}
.fs-rt-link{
  display:inline-flex;align-items:center;gap:.5rem;padding-bottom:.2rem;
  border-bottom:2px dashed rgb(var(--c-accent, var(--c-brand-600)));
  font-size:.84rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:rgb(var(--c-ink-950));
  transition:color .25s ease, border-color .25s ease;
}
.fs-rt-link:hover{color:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));}
.fs-rt-note{
  margin-top:1.5rem;
  font-size:.75rem;letter-spacing:.09em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}

/* ═════════ HERO (favRouteHero) ═════════ */
.fs-rt-hero{padding:var(--fs-space-section, clamp(3.5rem,8vw,6rem)) clamp(1rem,4vw,2.5rem);}
.fs-rt-hero-inner{
  position:relative;max-width:var(--fs-layout-max,74rem);margin:0 auto;
  display:grid;grid-template-columns:1.04fr .96fr;
  gap:clamp(2.5rem,5vw,4.5rem);align-items:center;
}
@media (max-width:940px){.fs-rt-hero-inner{grid-template-columns:1fr;gap:3rem;}}

.fs-rt-stones{
  display:grid;grid-template-columns:repeat(3, minmax(0,1fr));
  gap:var(--fs-space-gap, 1rem);margin-top:2.4rem;max-width:30rem;
}
@media (max-width:520px){.fs-rt-stones{grid-template-columns:1fr;}}

/* The image stage, framed with the milestone's own silhouette. */
.fs-rt-stage{position:relative;padding:1.1rem 1.1rem 2.6rem 0;}
.fs-rt-stage-frame{
  position:relative;overflow:hidden;
  aspect-ratio:4 / 5;
  border:1px solid rgb(var(--c-ink-950) / .2);
  border-radius:14rem 14rem var(--fs-radius-card, .6rem) var(--fs-radius-card, .6rem);
  background:rgb(var(--c-paper-soft, var(--c-paper)));
  box-shadow:var(--fs-shadow-card, none);
}
.fs-rt-stage-img{position:absolute;inset:0;}
.fs-rt-stage-img > *{display:block;width:100%;height:100%;}
.fs-rt-stage-img img{width:100%;height:100%;object-fit:cover;display:block;}
.fs-rt-stage-fallback{
  position:absolute;inset:0;
  background:
    linear-gradient(rgb(var(--c-brand-600) / .16), rgb(var(--c-brand-600) / .05)),
    repeating-linear-gradient(115deg,
      rgb(var(--c-ink-950) / .05) 0 1.4rem, transparent 1.4rem 2.8rem);
}
/* The road running past the foot of the frame. The inner <i> is one
   period wider than its box and slides by exactly one period, so the
   dashes appear to run forever off a single compositor transform. */
.fs-rt-road{
  position:absolute;left:0;right:0;bottom:0;height:1.5rem;overflow:hidden;
  border-top:1px solid rgb(var(--c-ink-950) / .18);
}
.fs-rt-road i{
  position:absolute;inset:0 -6rem 0 0;display:block;
  background:repeating-linear-gradient(to right,
    rgb(var(--c-accent, var(--c-brand-600)) / .8) 0 2rem,
    transparent 2rem 4rem);
  background-position:0 50%;background-size:100% 3px;background-repeat:repeat-x;
}
.fs-rt-anim .fs-rt-road i{animation:fs-rt-run 3.2s linear infinite;}
@keyframes fs-rt-run{from{transform:translateX(0);}to{transform:translateX(-4rem);}}

/* ═════════ PAGE HEADER (favRouteHeader) ═════════ */
.fs-rt-hd{padding:var(--fs-space-section, clamp(3rem,7vw,4.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-rt-hd-inner{
  position:relative;max-width:min(54rem, var(--fs-layout-clamp, 54rem));margin:0 auto;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.fs-rt-hd .fs-rt-title{font-size:clamp(1.9rem,4vw,2.9rem);}

/* ═════════ JOURNEY STEPPER (favRouteJourney) ═════════
   The road fills in up to the chosen stage. pathLength="100" on every
   copy of the path makes the fill arithmetic exact and unit-free. */
.fs-rt-jr{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-rt-jr-head{
  position:relative;max-width:var(--fs-layout-max,56rem);margin:0 auto 2.6rem;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.fs-rt-jr-map{position:relative;max-width:var(--fs-layout-max,74rem);margin:0 auto;}
/* Pinned to the drawing's own ratio so the pin percentages land on the
   waypoints they name at every width. */
.fs-rt-jr-art{position:relative;width:100%;aspect-ratio:900 / 166;}
.fs-rt-jr-svg{display:block;width:100%;height:100%;}
.fs-rt-jr-verge{
  fill:none;stroke:rgb(var(--c-ink-950) / .08);
  stroke-width:34;stroke-linecap:round;
}
.fs-rt-jr-road{
  fill:none;stroke:rgb(var(--c-ink-950) / .22);
  stroke-width:22;stroke-linecap:round;
}
.fs-rt-jr-marks{
  fill:none;stroke:rgb(var(--c-paper));
  stroke-width:2.5;stroke-linecap:round;
  stroke-dasharray:2.2 3.2;
}
.fs-rt-jr-done{
  fill:none;stroke-width:22;stroke-linecap:round;
  transition:stroke-dashoffset .55s cubic-bezier(.3,.8,.3,1);
}
.fs-rt-jr-g-a{stop-color:rgb(var(--c-brand-600));}
.fs-rt-jr-g-b{stop-color:rgb(var(--c-accent, var(--c-brand-600)));}
.fs-rt-jr-here{fill:rgb(var(--c-paper));stroke:rgb(var(--c-brand-600));stroke-width:3;}
.fs-rt-jr-here-in{fill:rgb(var(--c-brand-600));}

/* The waypoint pins. These are the set's only real <button> elements
   in the drawing, which matters: the rule ".fs-typo button" in the
   global typography sheet sets colour at specificity (0,1,1) and
   paints them the site's button-label colour. A single-class rule
   here LOSES that cascade and the numbers vanish, so every colour
   below is written through ".fs-rt .fs-rt-jr-pin" (0,2,0). */
.fs-rt .fs-rt-jr-pin{
  position:absolute;z-index:3;transform:translate(-50%,-50%);
  display:inline-flex;align-items:center;justify-content:center;
  width:2rem;height:2rem;padding:0;cursor:pointer;
  border:2px solid rgb(var(--c-ink-950) / .35);border-radius:50%;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-700));
  font-size:.72rem;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;
  transition:background-color .25s ease, color .25s ease, border-color .25s ease, transform .25s cubic-bezier(.2,.8,.3,1);
}
.fs-rt .fs-rt-jr-pin .fs-rt-jr-pin-n{color:inherit;}
.fs-rt .fs-rt-jr-pin.is-done{border-color:rgb(var(--c-brand-600));color:rgb(var(--c-brand-600));}
.fs-rt .fs-rt-jr-pin.is-active{
  background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));
  color:rgb(var(--c-paper));transform:translate(-50%,-50%) scale(1.22);
}
.fs-rt .fs-rt-jr-pin:hover{transform:translate(-50%,-50%) scale(1.14);}
.fs-rt .fs-rt-jr-pin.is-active:hover{transform:translate(-50%,-50%) scale(1.22);}
.fs-rt .fs-rt-jr-pin:focus-visible{outline:2px solid rgb(var(--c-accent, var(--c-brand-600)));outline-offset:3px;}

/* The stage card sits under the map. */
.fs-rt-jr-card{
  max-width:min(52rem, var(--fs-layout-clamp, 52rem));margin:clamp(1.2rem,3vw,2rem) auto 0;
  padding:clamp(1.3rem,3vw,2rem);
  border:1px solid rgb(var(--c-ink-950) / .18);
  border-radius:var(--fs-radius-card, .6rem);
  background:rgb(var(--c-paper-soft, var(--c-paper)));
}
.fs-rt-jr-card-top{
  display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.8rem;
  padding-bottom:.7rem;border-bottom:1px solid rgb(var(--c-ink-950) / .14);
}
.fs-rt-jr-meta{
  font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:rgb(var(--c-brand-600));
}
.fs-rt-jr-count{
  font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-rt-jr-t{
  margin:.9rem 0 0;
  font-family:var(--font-display, Georgia, serif);
  font-size:1.35rem;font-weight:700;line-height:1.25;color:rgb(var(--c-ink-950));
}
.fs-rt-jr-b{margin-top:.6rem;font-size:.95rem;line-height:1.75;color:rgb(var(--c-ink-700));}
.fs-rt-jr-nav{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;margin-top:1.3rem;}
.fs-rt .fs-rt-jr-nav-b{
  display:inline-flex;align-items:center;justify-content:center;
  width:2.3rem;height:2.3rem;padding:0;cursor:pointer;
  border:1px solid rgb(var(--c-ink-950) / .28);
  border-radius:var(--fs-radius-control, .3rem);
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
  font-size:1rem;line-height:1;
  transition:background-color .2s ease, color .2s ease;
}
.fs-rt .fs-rt-jr-nav-b:hover:not(:disabled){background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));}
.fs-rt .fs-rt-jr-nav-b:disabled{opacity:.35;cursor:default;}
.fs-rt .fs-rt-jr-nav-b:focus-visible{outline:2px solid rgb(var(--c-accent, var(--c-brand-600)));outline-offset:2px;}
.fs-rt-jr-note{
  flex:1 1 14rem;min-width:0;
  font-size:.76rem;line-height:1.5;color:rgb(var(--c-ink-400));
}

/* ═════════ QUIZ CARD (favRouteQuiz) ═════════ */
.fs-rt-qz{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-rt-qz-head{
  position:relative;max-width:var(--fs-layout-max,56rem);margin:0 auto 2.4rem;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.fs-rt-qz-card{
  max-width:min(46rem, var(--fs-layout-clamp, 46rem));margin:0 auto;
  padding:clamp(1.4rem,3.5vw,2.3rem);
  border:1px solid rgb(var(--c-ink-950) / .2);
  border-radius:var(--fs-radius-card, .6rem);
  background:rgb(var(--c-paper-soft, var(--c-paper)));
}
.fs-rt-qz-top{
  display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.8rem;
  padding-bottom:.8rem;border-bottom:2px solid rgb(var(--c-ink-950) / .2);
}
.fs-rt-qz-n{
  font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:rgb(var(--c-brand-600));
}
.fs-rt-qz-src{
  font-size:.66rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-rt-qz-q{
  margin:1.2rem 0 0;
  font-family:var(--font-display, Georgia, serif);
  font-size:1.2rem;font-weight:700;line-height:1.45;color:rgb(var(--c-ink-950));
}
.fs-rt-qz-opts{list-style:none;margin:1.3rem 0 0;padding:0;display:grid;gap:.6rem;}
.fs-rt .fs-rt-qz-opt{
  display:flex;align-items:flex-start;gap:.9rem;width:100%;
  padding:.85rem 1rem;cursor:pointer;text-align:left;
  border:1px solid rgb(var(--c-ink-950) / .2);
  border-radius:var(--fs-radius-control, .35rem);
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
  font-size:.94rem;font-weight:400;line-height:1.55;
  transition:border-color .2s ease, background-color .2s ease;
}
.fs-rt .fs-rt-qz-opt:hover:not(:disabled){border-color:rgb(var(--c-brand-600));}
.fs-rt .fs-rt-qz-opt:focus-visible{outline:2px solid rgb(var(--c-accent, var(--c-brand-600)));outline-offset:2px;}
.fs-rt .fs-rt-qz-opt:disabled{cursor:default;}
.fs-rt .fs-rt-qz-opt .fs-rt-qz-key{
  flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;
  width:1.6rem;height:1.6rem;border-radius:50%;
  border:1px solid rgb(var(--c-ink-950) / .28);
  font-size:.68rem;font-weight:800;line-height:1;
  color:rgb(var(--c-ink-700));
}
.fs-rt .fs-rt-qz-opt .fs-rt-qz-txt{color:inherit;font-weight:400;}
/* Marked states. Colour alone never carries the answer — the key disc
   fills and the border thickens too, so it reads without hue. */
.fs-rt .fs-rt-qz-opt.is-right{
  border-color:rgb(var(--c-brand-600));border-width:2px;
  background:rgb(var(--c-brand-600) / .1);
}
.fs-rt .fs-rt-qz-opt.is-right .fs-rt-qz-key{
  background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));
  border-color:rgb(var(--c-brand-600));
}
.fs-rt .fs-rt-qz-opt.is-wrong{
  border-color:rgb(var(--c-accent, var(--c-brand-600)));border-width:2px;
  border-style:dashed;
}
.fs-rt .fs-rt-qz-opt.is-wrong .fs-rt-qz-key{
  border-color:rgb(var(--c-accent, var(--c-brand-600)));border-style:dashed;
  color:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-rt .fs-rt-qz-opt.is-dim{opacity:.5;}
.fs-rt-qz-why{
  margin-top:1.2rem;padding:1rem 1.1rem;
  border-left:4px solid rgb(var(--c-brand-600));
  background:rgb(var(--c-brand-600) / .07);
  font-size:.92rem;line-height:1.72;color:rgb(var(--c-ink-700));
}
.fs-rt-qz-why.is-wrong{
  border-left-color:rgb(var(--c-accent, var(--c-brand-600)));
  background:rgb(var(--c-accent, var(--c-brand-600)) / .09);
}
.fs-rt-qz-verdict{
  display:block;margin-bottom:.3rem;
  font-family:var(--font-display, Georgia, serif);
  font-size:1.02rem;font-weight:700;color:rgb(var(--c-ink-950));
}
.fs-rt-qz-why-b{display:block;}
.fs-rt-qz-foot{
  display:flex;flex-wrap:wrap;align-items:center;gap:1rem;
  margin-top:1.4rem;padding-top:1.1rem;
  border-top:1px solid rgb(var(--c-ink-950) / .14);
}
.fs-rt .fs-rt-qz-next{
  flex:0 0 auto;padding:.7rem 1.4rem;cursor:pointer;
  border:2px solid rgb(var(--c-brand-600));
  border-radius:var(--fs-radius-control, .35rem);
  background:transparent;
  color:rgb(var(--c-brand-600));
  font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  transition:background-color .2s ease, color .2s ease;
}
.fs-rt .fs-rt-qz-next:hover{background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));}
.fs-rt .fs-rt-qz-next:focus-visible{outline:2px solid rgb(var(--c-accent, var(--c-brand-600)));outline-offset:2px;}
.fs-rt-qz-note{flex:1 1 15rem;min-width:0;font-size:.76rem;line-height:1.55;color:rgb(var(--c-ink-400));}

/* ═════════ RATE CARD (favRouteRates) ═════════ */
.fs-rt-rc{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-rt-rc-head{
  position:relative;max-width:var(--fs-layout-max,56rem);margin:0 auto 2.6rem;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.fs-rt-rc-tiers{
  max-width:var(--fs-layout-max,66rem);margin:0 auto;
  display:grid;grid-template-columns:repeat(3, minmax(0,1fr));
  gap:var(--fs-space-gap, 1.2rem);align-items:start;
}
@media (max-width:860px){.fs-rt-rc-tiers{grid-template-columns:1fr;}}
.fs-rt-rc-tier{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:1.8rem 1.3rem 1.5rem;
  border:1px solid rgb(var(--c-ink-950) / .2);
  border-radius:8rem 8rem var(--fs-radius-card, .5rem) var(--fs-radius-card, .5rem);
  background:rgb(var(--c-paper-soft, var(--c-paper)));
}
.fs-rt-rc-tier.is-lead{
  border-color:rgb(var(--c-brand-600));border-width:2px;
  background:rgb(var(--c-brand-600) / .06);
}
.fs-rt-rc-n{
  font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-rt-rc-p{
  margin-top:.5rem;
  font-family:var(--font-display, Georgia, serif);
  font-size:2.1rem;font-weight:700;line-height:1;color:rgb(var(--c-brand-600));
}
.fs-rt-rc-u{margin-top:.25rem;font-size:.78rem;color:rgb(var(--c-ink-400));}
.fs-rt-rc-list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem;}
.fs-rt-rc-list li{
  position:relative;padding-left:1.1rem;
  font-size:.88rem;line-height:1.55;color:rgb(var(--c-ink-700));text-align:left;
}
.fs-rt-rc-list li::before{
  content:'';position:absolute;left:0;top:.55rem;
  width:.45rem;height:.45rem;border-radius:50%;
  background:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-rt-rc-extras{
  max-width:min(52rem, var(--fs-layout-clamp, 52rem));margin:clamp(1.5rem,4vw,2.6rem) auto 0;
  padding:clamp(1.2rem,3vw,1.9rem);
  border:1px solid rgb(var(--c-ink-950) / .18);
  border-radius:var(--fs-radius-card, .5rem);
}
.fs-rt-rc-extras-t{
  display:block;padding-bottom:.7rem;margin-bottom:.3rem;
  border-bottom:2px solid rgb(var(--c-ink-950) / .2);
  font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:rgb(var(--c-brand-600));
}
.fs-rt-rc-x{
  display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  padding:.75rem 0;
}
.fs-rt-rc-x + .fs-rt-rc-x{border-top:1px solid rgb(var(--c-ink-950) / .12);}
.fs-rt-rc-xn{font-size:.92rem;line-height:1.5;color:rgb(var(--c-ink-950));}
.fs-rt-rc-xp{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.05rem;font-weight:700;color:rgb(var(--c-brand-600));white-space:nowrap;
}
.fs-rt-rc-note{
  display:block;margin-top:1rem;padding-top:.9rem;
  border-top:2px solid rgb(var(--c-ink-950) / .2);
  font-size:.8rem;line-height:1.6;color:rgb(var(--c-ink-400));
}

/* ═════════ CTA (favRouteCta) ═════════ */
.fs-rt-cta{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-rt-cta-panel{
  position:relative;max-width:min(46rem, var(--fs-layout-clamp, 46rem));margin:0 auto;
  padding:clamp(2rem,5vw,3rem) clamp(1.4rem,4vw,2.6rem);
  display:flex;flex-direction:column;align-items:center;text-align:center;
  border:1px solid rgb(var(--c-ink-950) / .2);
  border-radius:var(--fs-radius-card, .6rem);
  background:rgb(var(--c-paper-soft, var(--c-paper)));
}
.fs-rt-cta-panel .fs-rt-title{margin-top:0;font-size:clamp(1.7rem,3.4vw,2.5rem);}

/* ── Phones ─────────────────────────────────────────────────────
   Measured, not guessed: at 340px the roundel overhangs the frame
   far enough to clip, and the hero's stones read better stacked. */
@media (max-width:560px){
  .fs-rt-roundel{width:5rem;height:5rem;right:-.4rem;top:-.4rem;}
  .fs-rt-roundel-t{font-size:.82rem;}
  .fs-rt-roundel-b{font-size:.48rem;max-width:3.6rem;}
  .fs-rt-stage{padding-right:.4rem;}
  .fs-rt-plate{padding-right:1.7rem;letter-spacing:.16em;}
  .fs-rt-jr-card-top{gap:.4rem;}
  .fs-rt-rc-x{flex-direction:column;align-items:flex-start;gap:.15rem;}
}

/* ── Reduced motion: the running road is the only motion in the set,
      and it is pure decoration. ── */
@media (prefers-reduced-motion: reduce){
  .fs-rt *,.fs-rt *::before,.fs-rt *::after{animation:none !important;transition:none !important;}
}

/* ── favRouteFooter (theme-chrome batch 4, Milestone) ─────────────
   fs-rt-ft: the full-bleed band (named container); the road along its
   top — two kerb lines 26px apart and the accent centre line between
   them, running slowly left (stopped for reduced motion); fs-rt-ft-in:
   the content box, which narrows with the Layout. */
.fs-rt-ft{container-type:inline-size;container-name:fs-rt-ft;padding:0 clamp(1rem,4vw,2.5rem);--rt-ft-rule:rgb(var(--c-ink-950) / .16);--rt-ft-edge:rgb(var(--c-ink-950) / .2);--rt-ft-dash:rgb(var(--c-brand-600) / .75);--rt-ft-lane:rgb(var(--c-accent, var(--c-brand-600)) / .8);--rt-ft-keyline:color-mix(in srgb, var(--fs-on-brand, rgb(var(--c-paper))) 85%, transparent);background:linear-gradient(var(--rt-ft-rule),var(--rt-ft-rule)) 0 0/100% 1px no-repeat,linear-gradient(90deg,var(--rt-ft-lane) 0 2rem,transparent 2rem) 0 12px/4rem 3px repeat-x,linear-gradient(var(--rt-ft-rule),var(--rt-ft-rule)) 0 26px/100% 1px no-repeat,rgb(var(--c-paper));animation:fs-rt-ft-run 3.2s linear infinite}
.fs-rt-ft:is(.dark *):not(.fs-preview-light *){--rt-ft-rule:rgb(var(--c-ink-950) / .18);--rt-ft-edge:rgb(var(--c-ink-950) / .24)}
@keyframes fs-rt-ft-run{from{background-position:0 0,0 12px,0 26px,0 0}to{background-position:0 0,-4rem 12px,0 26px,0 0}}
.fs-rt-ft-in{container-type:inline-size;container-name:fs-rt-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:74px 30px}
.fs-rt-ft-mk-a{stop-color:rgb(var(--c-brand-600))}
.fs-rt-ft-mk-b{stop-color:rgb(var(--c-accent, var(--c-brand-600)))}
/* Shared pieces (mockup 53–60): the dashed route rule and the enamel
   roundel, ported with local tokens so this file still works from any
   theme — the plate is unused here. */
.fs-rt-ft-dash{display:block;align-self:stretch;height:6px;background:repeating-linear-gradient(90deg,var(--rt-ft-dash) 0 1.2rem,transparent 1.2rem 2rem) 0 0/100% 3px no-repeat,linear-gradient(var(--rt-ft-rule),var(--rt-ft-rule)) 0 100%/100% 1px no-repeat}
.fs-rt-ft-roundel{display:flex;flex:none;flex-direction:column;align-items:center;justify-content:center;width:6.2rem;height:6.2rem;border-radius:50%;background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)));box-shadow:inset 0 0 0 3px rgb(var(--c-brand-600)),inset 0 0 0 4.5px var(--rt-ft-keyline);text-align:center}
.fs-rt-ft-rt{font-family:var(--font-display, Vollkorn, Georgia, serif);font-weight:700;font-size:17px;line-height:1.1}
.fs-rt-ft-rb{max-width:4.6rem;margin-top:4px;padding-top:4px;border-top:1px solid color-mix(in srgb, var(--fs-on-brand, rgb(var(--c-paper))) 55%, transparent);font-weight:700;font-size:8.5px;line-height:1.25;letter-spacing:.13em;text-transform:uppercase}
/* The footer body (mockup 216–252). */
.fs-rt-ft-grid{display:grid;grid-template-columns:minmax(0,1.1fr) repeat(3,minmax(0,1fr));align-items:start;gap:36px clamp(28px,3.4cqi,52px)}
.fs-rt-ft-stone{display:flex;flex-direction:column;align-items:center;min-width:0;max-width:21rem;padding:26px 22px 24px;border:1px solid var(--rt-ft-edge);border-radius:9rem 9rem 10px 10px;background:rgb(var(--c-paper-soft, var(--c-paper)));text-align:center}
.fs-rt-ft-fmark{display:block;width:46px;height:52px}
.fs-rt-ft-fmark svg{display:block;width:100%;height:100%}
.fs-rt-ft-name{margin-top:10px;font-family:var(--font-display, Vollkorn, Georgia, serif);font-weight:700;font-size:21px;line-height:1.2;text-wrap:balance}
.fs-rt-ft-addr{max-width:26ch;margin-top:8px;font-size:14px;line-height:1.5;color:rgb(var(--c-ink-700))}
.fs-rt-ft-stone .fs-rt-ft-dash{margin:14px 0}
.fs-rt-ft-tel{font-family:var(--font-display, Vollkorn, Georgia, serif);font-weight:700;font-size:22px;line-height:1;color:rgb(var(--c-brand-text));font-variant-numeric:lining-nums tabular-nums}
.fs-rt-ft-since{max-width:28ch;margin-top:12px;font-size:13px;line-height:1.5;color:rgb(var(--c-ink-700))}
.fs-rt-ft-col{min-width:0}
.fs-rt-ft-h{margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid var(--rt-ft-edge);font-weight:700;font-size:11px;line-height:1.2;letter-spacing:.2em;text-transform:uppercase;color:rgb(var(--c-brand-text))}
.fs-rt-ft-arms{position:relative;display:grid;justify-items:start;gap:9px;margin-top:22px;padding:14px 0 4px 7px;background:linear-gradient(rgb(var(--c-ink-700)),rgb(var(--c-ink-700))) 0 0/7px 100% no-repeat}
.fs-rt-ft-arms::before{content:"";position:absolute;left:-3.5px;top:-8px;width:14px;height:14px;border-radius:50%;background:rgb(var(--c-ink-700))}
.fs-rt-ft-arm{--pt:13px;position:relative;isolation:isolate;display:inline-flex;align-items:center;min-height:34px;padding:0 calc(var(--pt) + 14px) 0 12px;background:rgb(var(--c-paper-soft, var(--c-paper)));color:rgb(var(--c-ink-950));font-weight:700;font-size:11.5px;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;clip-path:polygon(0 0,calc(100% - var(--pt)) 0,100% 50%,calc(100% - var(--pt)) 100%,0 100%);transition:background-color .2s ease,color .2s ease}
.fs-rt-ft-arm::before,.fs-rt-ft-arm::after{content:"";position:absolute;z-index:-1}
.fs-rt-ft-arm::before{inset:0;background:rgb(var(--c-ink-950));clip-path:polygon(0 0,calc(100% - var(--pt)) 0,100% 50%,calc(100% - var(--pt)) 100%,0 100%)}
.fs-rt-ft-arm::after{inset:1.5px 1.5px 1.5px 0;background:rgb(var(--c-paper-soft, var(--c-paper)));clip-path:polygon(0 0,calc(100% - var(--pt) * .9) 0,100% 50%,calc(100% - var(--pt) * .9) 100%,0 100%);transition:background-color .2s ease}
.fs-rt-ft-arm:hover,.fs-rt-ft-arm:hover::after{background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)))}
.fs-rt-ft-hrow{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-block:9px}
.fs-rt-ft-hrow + .fs-rt-ft-hrow{border-top:1px solid var(--rt-ft-rule)}
.fs-rt-ft-dt{font-size:14px;color:rgb(var(--c-ink-950))}
.fs-rt-ft-dd{font-family:var(--font-display, Vollkorn, Georgia, serif);font-weight:700;font-size:16px;line-height:1.2;color:rgb(var(--c-brand-text));white-space:nowrap;font-variant-numeric:lining-nums tabular-nums}
.fs-rt-ft-note{margin-top:12px;font-size:13px;line-height:1.5;color:rgb(var(--c-ink-700))}
.fs-rt-ft-check{display:flex;align-items:flex-start;gap:14px}
.fs-rt-ft-check .fs-rt-ft-roundel{width:5.2rem;height:5.2rem}
.fs-rt-ft-check .fs-rt-ft-rt{font-size:15px}
.fs-rt-ft-links{display:grid;gap:9px;padding-top:6px}
.fs-rt-ft-k{font-size:14px;font-weight:600;line-height:1.4;color:rgb(var(--c-ink-950));text-decoration:underline dashed rgb(var(--c-accent, var(--c-brand-600))) 1.5px;text-underline-offset:4px}
.fs-rt-ft-k:hover{text-decoration-color:rgb(var(--c-brand-600))}
.fs-rt-ft-k.is-plain{text-decoration:none}
.fs-rt-ft-legal{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:42px;padding-top:18px;font-size:12.5px;color:rgb(var(--c-ink-700));background:repeating-linear-gradient(90deg,var(--rt-ft-dash) 0 1.6rem,transparent 1.6rem 2.8rem) 0 0/100% 3px no-repeat,linear-gradient(var(--rt-ft-rule),var(--rt-ft-rule)) 0 5px/100% 1px no-repeat}
.fs-rt-ft-legal-t{color:inherit}
.fs-rt-ft-legal-a{color:inherit;text-decoration:none}
.fs-rt-ft-legal-a:hover{color:rgb(var(--c-ink-950))}
@container fs-rt-ft (max-width: 40rem){
  .fs-rt-ft-in{padding-block:62px 24px}
}
@container fs-rt-ft-in (max-width: 56rem){
  .fs-rt-ft-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 36px}
}
@container fs-rt-ft (max-width: 48rem){
  .fs-rt-ft-grid{grid-template-columns:minmax(0,1fr);gap:34px}
  .fs-rt-ft-stone{max-width:24rem}
}
@media (prefers-reduced-motion: reduce){
  .fs-rt-ft{animation:none}
  .fs-rt-ft-arm,.fs-rt-ft-arm::after{transition:none}
}


.fs-wf{
  position:relative;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-wf *{box-sizing:border-box;}

/* ── Type ─────────────────────────────────────────────────────── */
.fs-wf-eyebrow{
  display:inline;
  color:rgb(var(--c-brand-600));
  font-size:.7rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;
}
/* Inline rather than a flex item, so the lozenge follows the last
   word onto whichever line it lands on instead of being stranded at
   the end of the first one. */
.fs-wf-eyebrow::after{
  content:'';display:inline-block;
  width:.45rem;height:.45rem;margin-left:.75rem;
  vertical-align:.08em;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  transform:rotate(45deg);
}
.fs-wf-title{
  margin:1.1rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(2.15rem,4.6vw,3.5rem);
  line-height:1.12;font-weight:700;letter-spacing:-.008em;
  color:rgb(var(--c-ink-950));
  text-wrap:balance;
}
.fs-wf-accent{color:rgb(var(--c-brand-600));font-style:italic;}
.fs-wf-h{
  margin:.9rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(1.7rem,3.1vw,2.45rem);
  line-height:1.18;font-weight:700;
  color:rgb(var(--c-ink-950));
  text-wrap:balance;
}
.fs-wf-sub{
  margin:1.15rem 0 0;max-width:58ch;
  font-size:clamp(1rem,1.4vw,1.08rem);line-height:1.75;
  color:rgb(var(--c-ink-700));
  text-wrap:pretty;
}
.fs-wf-note{
  margin:1.7rem auto 0;max-width:var(--fs-layout-max,62rem);
  font-size:.82rem;line-height:1.65;
  color:rgb(var(--c-ink-400));
}

/* ── Buttons ──────────────────────────────────────────────────── */
.fs-wf-ctas{display:flex;flex-wrap:wrap;gap:1rem 1.6rem;margin-top:2rem;align-items:center;}
.fs-wf-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:2.9rem;padding:.9rem 1.9rem;
  border:2px solid rgb(var(--c-brand-600));
  outline:1px solid rgb(var(--c-brand-600));
  outline-offset:3px;
  font-size:.86rem;font-weight:700;line-height:1;letter-spacing:.1em;text-transform:uppercase;
  white-space:nowrap;
  color:rgb(var(--c-paper));
  background:rgb(var(--c-brand-600));
  transition:background .25s ease, color .25s ease, outline-offset .25s ease;
}
.fs-wf-btn:hover{
  background:rgb(var(--c-brand-700, var(--c-brand-600)));
  outline-offset:5px;
}
.fs-wf .fs-wf-link{
  display:inline-flex;align-items:center;gap:.5rem;min-height:2.75rem;
  padding:.72rem 0 .45rem;
  font-size:.86rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:rgb(var(--c-ink-950));
  border-bottom:2px solid rgb(var(--c-accent, var(--c-brand-600)));
  transition:color .25s ease;
}
.fs-wf .fs-wf-link:hover{color:rgb(var(--c-brand-600));}

/* ── Motifs 1 + 2 — THE DOUBLE KEYLINE over a HATCHED GROUND ──── */
.fs-wf-plate{
  position:relative;margin:0;
  padding:clamp(.9rem,1.7vw,1.25rem);
  border:3px solid rgb(var(--c-ink-950));
  background:rgb(var(--c-paper-soft));
  box-shadow:var(--fs-shadow-card, 0 4px 16px -6px rgb(var(--c-ink-950) / .16));
}
.fs-wf-plate::after{
  content:'';position:absolute;inset:.42rem;pointer-events:none;
  border:1px solid rgb(var(--c-ink-950) / .55);
}
.fs-wf-plate-in{
  position:relative;overflow:hidden;
  background-color:rgb(var(--c-paper));
  background-image:repeating-linear-gradient(45deg,
    rgb(var(--c-ink-950) / .07) 0 1px, transparent 1px 9px);
}
.fs-wf-plate-in img{display:block;width:100%;height:100%;object-fit:cover;}
.fs-wf-plate-fallback{
  display:block;aspect-ratio:4 / 3;
  background:
    repeating-linear-gradient(45deg, rgb(var(--c-ink-950) / .14) 0 1px, transparent 1px 10px),
    linear-gradient(160deg, rgb(var(--c-accent, var(--c-brand-600)) / .3), rgb(var(--c-brand-600) / .18));
}
/* Motif 3 — the figure number under every plate. */
.fs-wf-fig{
  display:flex;align-items:baseline;gap:.75rem;
  margin-top:.8rem;padding-top:.7rem;
  border-top:1px solid rgb(var(--c-ink-950) / .5);
}
.fs-wf-fig-no{
  flex:none;
  font-family:var(--font-display, Georgia, serif);
  font-size:.85rem;font-weight:700;letter-spacing:.08em;
  color:rgb(var(--c-brand-600));
}
.fs-wf-fig-t{font-size:.8rem;line-height:1.5;color:rgb(var(--c-ink-400));}

/* ═════════ HERO (favWayfareHero) ═════════ */
.fs-wf-hero{padding:var(--fs-space-section, clamp(3.5rem,8vw,6rem)) clamp(1rem,4vw,2.5rem);}
.fs-wf-hero-inner{
  position:relative;max-width:var(--fs-layout-max,75rem);margin:0 auto;
  display:grid;grid-template-columns:1.02fr .98fr;
  gap:clamp(2.5rem,5vw,4.5rem);align-items:center;
}
@media (max-width:940px){.fs-wf-hero-inner{grid-template-columns:1fr;gap:2.75rem;}}
.fs-wf-plate-hero .fs-wf-plate-in{aspect-ratio:4 / 5;}
.fs-wf-plate-hero .fs-wf-plate-fallback{aspect-ratio:4 / 5;}
.fs-wf-facts{
  margin:2.2rem 0 0;padding:1.3rem 0 0;list-style:none;
  border-top:1px solid rgb(var(--c-line));
  display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,auto));
  justify-content:start;gap:.8rem 2rem;
}
.fs-wf-fact{
  position:relative;display:flex;align-items:center;gap:.6rem;
  font-size:.79rem;letter-spacing:.06em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-wf-fact::before{
  content:'';width:.4rem;height:.4rem;flex:none;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  transform:rotate(45deg);
}

/* ═════════ PAGE HEADER (favWayfareHeader) ═════════ */
.fs-wf-hd{padding:var(--fs-space-section, clamp(2.8rem,6vw,4.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-wf-hd-inner{position:relative;max-width:var(--fs-layout-max,58rem);margin:0 auto;}
.fs-wf-hd-title{font-size:clamp(1.95rem,4vw,3rem);}
/* Motif 4 — the lozenge rule. */
.fs-wf-lozenge{
  position:relative;display:block;height:1px;margin-top:2.4rem;
  background:rgb(var(--c-ink-950) / .45);
}
.fs-wf-lozenge::after{
  content:'';position:absolute;left:50%;top:50%;
  width:.65rem;height:.65rem;
  margin:-.325rem 0 0 -.325rem;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  transform:rotate(45deg);
}

/* ═════════ ROUTE MAP (favWayfareRoute) ═════════ */
.fs-wf-rt{padding:var(--fs-space-section, clamp(3.5rem,8vw,6rem)) clamp(1rem,4vw,2.5rem);}
.fs-wf-rt-head{max-width:var(--fs-layout-max,58rem);margin:0 auto 2.6rem;}
.fs-wf-rt-stage{
  max-width:var(--fs-layout-max,75rem);margin:0 auto;
  display:grid;grid-template-columns:1.18fr .82fr;
  gap:clamp(1.6rem,3vw,2.6rem);align-items:start;
}
@media (max-width:940px){.fs-wf-rt-stage{grid-template-columns:1fr;}}
.fs-wf-map{display:block;width:100%;height:auto;}
.fs-wf-map-walked{transition:stroke-dashoffset .55s ease;}
.fs-wf-rt-side{display:flex;flex-direction:column;gap:1.4rem;min-width:0;}
.fs-wf-stops{display:flex;flex-direction:column;gap:.35rem;}
.fs-wf .fs-wf-stop{
  display:flex;align-items:center;gap:.85rem;
  min-height:2.75rem;padding:.6rem .85rem;
  border:1px solid rgb(var(--c-line));
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-700));
  font:inherit;font-size:.9rem;text-align:left;cursor:pointer;
  transition:border-color .2s ease, background .2s ease, color .2s ease;
}
.fs-wf .fs-wf-stop:hover{border-color:rgb(var(--c-brand-600) / .6);color:rgb(var(--c-ink-950));}
.fs-wf .fs-wf-stop[data-on="1"]{
  border-color:rgb(var(--c-brand-600));
  background:rgb(var(--c-brand-50));
  color:rgb(var(--c-ink-950));
  font-weight:700;
}
.fs-wf .fs-wf-stop:focus-visible{
  outline:2px solid rgb(var(--c-accent, var(--c-brand-600)));
  outline-offset:2px;
}
.fs-wf-stop-n{
  flex:none;
  display:inline-flex;align-items:center;justify-content:center;
  width:1.6rem;height:1.6rem;
  border:1px solid rgb(var(--c-brand-600));
  font-family:var(--font-display, Georgia, serif);
  font-size:.82rem;font-weight:700;
  color:rgb(var(--c-brand-600));
}
.fs-wf .fs-wf-stop[data-on="1"] .fs-wf-stop-n{
  background:rgb(var(--c-brand-600));
  color:rgb(var(--c-paper));
}
.fs-wf-rt-read{
  padding:clamp(1.1rem,2vw,1.5rem);
  border:2px solid rgb(var(--c-ink-950));
  background:rgb(var(--c-paper-soft));
}
.fs-wf-rt-meta{
  display:flex;justify-content:space-between;gap:1rem;
  padding-bottom:.75rem;margin-bottom:.9rem;
  border-bottom:1px solid rgb(var(--c-ink-950) / .35);
  font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;
  color:rgb(var(--c-brand-600));font-weight:700;
}
.fs-wf-rt-w{font-size:1rem;line-height:1.72;color:rgb(var(--c-ink-950));}

/* ═════════ TOURS (favWayfareTours) ═════════ */
.fs-wf-to{padding:var(--fs-space-section, clamp(3.5rem,8vw,6rem)) clamp(1rem,4vw,2.5rem);}
.fs-wf-to-head{max-width:var(--fs-layout-max,58rem);margin:0 auto 2.6rem;}
.fs-wf-to-grid{
  max-width:var(--fs-layout-max,75rem);margin:0 auto;
  display:grid;grid-template-columns:repeat(3, minmax(0,1fr));
  gap:clamp(1.1rem,2vw,1.8rem);align-items:stretch;
}
@media (max-width:900px){.fs-wf-to-grid{grid-template-columns:1fr;}}
.fs-wf-to-card{
  position:relative;display:flex;flex-direction:column;
  padding:clamp(1.5rem,2.5vw,2rem);
  border:3px solid rgb(var(--c-ink-950));
  background:rgb(var(--c-paper-soft));
  box-shadow:var(--fs-shadow-card, 0 4px 16px -6px rgb(var(--c-ink-950) / .16));
  transition:transform .3s ease, box-shadow .3s ease;
}
.fs-wf-to-card::after{
  content:'';position:absolute;inset:.42rem;pointer-events:none;
  border:1px solid rgb(var(--c-ink-950) / .5);
}
.fs-wf-to-card:hover{
  transform:translateY(-5px);
  box-shadow:var(--fs-shadow-lift, 0 22px 44px rgb(var(--c-ink-950) / .18));
}
.fs-wf-to-fig{
  font-family:var(--font-display, Georgia, serif);
  font-size:.8rem;font-weight:700;letter-spacing:.1em;
  color:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-wf-to-n{
  margin:.5rem 0 0;
  font-family:var(--font-display, Georgia, serif);
  font-size:1.35rem;line-height:1.25;font-weight:700;
  color:rgb(var(--c-ink-950));
}
.fs-wf-to-p{
  margin-top:.6rem;
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(1.9rem,3vw,2.35rem);line-height:1;font-weight:700;
  color:rgb(var(--c-brand-600));
}
.fs-wf-to-m{
  margin-top:.5rem;padding-bottom:1rem;
  border-bottom:1px solid rgb(var(--c-ink-950) / .35);
  font-size:.79rem;letter-spacing:.03em;color:rgb(var(--c-ink-400));
}
.fs-wf-to-b{margin-top:1rem;flex:1;font-size:.93rem;line-height:1.7;color:rgb(var(--c-ink-700));}
.fs-wf-to-i{
  margin-top:1.1rem;padding-top:.9rem;
  border-top:1px solid rgb(var(--c-ink-950) / .2);
  font-size:.8rem;line-height:1.6;color:rgb(var(--c-ink-400));
}
.fs-wf-to-a{margin-top:1.2rem;align-self:flex-start;}

/* ═════════ CTA (favWayfareCta) ═════════ */
.fs-wf-cta{padding:var(--fs-space-section, clamp(3.5rem,8vw,6rem)) clamp(1rem,4vw,2.5rem);}
.fs-wf-cta-panel{
  position:relative;max-width:var(--fs-layout-max,64rem);margin:0 auto;
  padding:clamp(.9rem,1.7vw,1.25rem);
  border:3px solid rgb(var(--c-ink-950));
  background:rgb(var(--c-paper-soft));
  box-shadow:var(--fs-shadow-lift, 0 22px 44px rgb(var(--c-ink-950) / .18));
}
.fs-wf-cta-panel::after{
  content:'';position:absolute;inset:.42rem;pointer-events:none;
  border:1px solid rgb(var(--c-ink-950) / .5);
}
.fs-wf-cta-inner{
  position:relative;
  padding:clamp(2rem,4.5vw,3.4rem) clamp(1.3rem,4vw,3rem);
  background-image:repeating-linear-gradient(45deg,
    rgb(var(--c-ink-950) / .05) 0 1px, transparent 1px 10px);
}
.fs-wf-cta-title{font-size:clamp(1.85rem,3.6vw,2.8rem);}
.fs-wf-cta-note{margin-left:0;}

/* ── Motion — one ambient flourish, system setting respected ──── */
@keyframes fs-wf-ink{
  from{opacity:0;transform:translateY(.5rem);}
  to{opacity:1;transform:none;}
}
.fs-wf-anim .fs-wf-plate{animation:fs-wf-ink .8s cubic-bezier(.22,.61,.36,1) both;}
@media (prefers-reduced-motion: reduce){
  .fs-wf *,.fs-wf *::before,.fs-wf *::after{
    animation:none !important;
    transition:none !important;
  }
}

/* ── Wireframe, in the EDITOR ────────────────────────────────────
   Two surfaces express wireframe differently: a published page gets
   [data-render="wireframe"] on an ancestor (WAYFARE_WIRE_CSS below),
   while the editor canvas gets the .fs-wf-wire class the block roots
   already carry. The hatching and the lozenge come off in both,
   because texture is decoration; the keylines stay, because they are
   the layout. */
.fs-wf-wire .fs-wf-plate-in,
.fs-wf-wire .fs-wf-cta-inner{background-image:none;}
.fs-wf-wire .fs-wf-plate-fallback,
.fs-wf-wire .fs-wf-eyebrow::after,
.fs-wf-wire .fs-wf-fact::before,
.fs-wf-wire .fs-wf-lozenge::after{display:none;}
.fs-wf-wire .fs-wf-plate,
.fs-wf-wire .fs-wf-to-card,
.fs-wf-wire .fs-wf-cta-panel,
.fs-wf-wire .fs-wf-rt-read,
.fs-wf-wire .fs-wf-stop,
.fs-wf-wire .fs-wf-btn{
  background:transparent;
  box-shadow:none;
  border:1px dashed rgb(var(--c-ink-950) / .6);
  outline:none;
}
.fs-wf-wire .fs-wf-plate::after,
.fs-wf-wire .fs-wf-to-card::after,
.fs-wf-wire .fs-wf-cta-panel::after{display:none;}
.fs-wf-wire .fs-wf-btn,
.fs-wf-wire .fs-wf-stop[data-on="1"],
.fs-wf-wire .fs-wf-stop[data-on="1"] .fs-wf-stop-n{background:transparent;color:rgb(var(--c-ink-950));}
.fs-wf-wire .fs-wf-accent,
.fs-wf-wire .fs-wf-fig-no,
.fs-wf-wire .fs-wf-to-p,
.fs-wf-wire .fs-wf-to-fig,
.fs-wf-wire .fs-wf-rt-meta,
.fs-wf-wire .fs-wf-eyebrow{color:rgb(var(--c-ink-950));}
/* The editor's own wireframe sheet paints filters on descendants, so
   this one has to be able to win. */
.fs-wf-wire .fs-wf-map,
.fs-wf.fs-wf-wire .fs-wf-map{filter:grayscale(1) contrast(.6) !important;opacity:.6 !important;}

/* ── favWayfareFooter (theme-chrome batch 6, Waymark) ──────────────
   The last plate. The band is the full-bleed container fs-wf-ft (the
   hatched surface; plain paper under the Minimalist Layout, which has
   no tinted bands); the content box is the named container fs-wf-ft-in,
   which narrows with the Layout. */
.fs-wf-ft{container-type:inline-size;container-name:fs-wf-ft;padding:0 clamp(1rem,4vw,2.5rem);background:var(--wf-ft-hatch-img),rgb(var(--c-paper-soft));--wf-ft-hair:rgb(var(--c-ink-950) / .55);--wf-ft-rule:rgb(var(--c-ink-950) / .2);--wf-ft-fig-rule:rgb(var(--c-ink-950) / .45);--wf-ft-hatch:rgb(var(--c-ink-950) / .07);--wf-ft-hatch-img:repeating-linear-gradient(45deg,var(--wf-ft-hatch) 0 1px,transparent 1px 9px);--wf-ft-note:color-mix(in srgb, rgb(var(--c-ink-950)) 74%, rgb(var(--c-paper)));--wf-ft-lift:0 18px 40px -22px rgb(0 0 0 / .35)}
.fs-wf-ft:is(.dark *):not(.fs-preview-light *){--wf-ft-rule:rgb(var(--c-ink-950) / .24);--wf-ft-hatch:rgb(var(--c-ink-950) / .09);--wf-ft-lift:0 18px 40px -20px rgb(0 0 0 / .7)}
[data-fs-layout='minimal'] .fs-wf-ft{background:rgb(var(--c-paper))}
.fs-wf-ft-in{container-type:inline-size;container-name:fs-wf-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:56px 30px}
.fs-wf-ft-mark{display:block;flex:none;width:54px;height:54px}
.fs-wf-ft-mk-kb{fill:none;stroke:rgb(var(--c-brand-600))}
.fs-wf-ft-mk-ka{fill:none;stroke:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-wf-ft-mk-fa{fill:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-wf-ft-mk-fb{fill:rgb(var(--c-brand-600))}
.fs-wf-ft-plate{position:relative;padding:clamp(22px,3cqi,38px);background:rgb(var(--c-paper));border:3px solid rgb(var(--c-ink-950));box-shadow:var(--wf-ft-lift)}
.fs-wf-ft-plate::after{content:"";position:absolute;inset:7px;border:1px solid var(--wf-ft-hair);pointer-events:none}
.fs-wf-ft-head{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px 40px;padding-bottom:24px;border-bottom:1px solid var(--wf-ft-rule)}
.fs-wf-ft-logo{display:flex;align-items:center;gap:12px}
.fs-wf-ft-name{margin:0;font:700 27px/1 var(--font-display, Cardo, Georgia, serif);letter-spacing:.005em;color:rgb(var(--c-ink-950))}
.fs-wf-ft-state{margin:0;max-width:56ch;font:400 19px/1.45 var(--font-display, Cardo, Georgia, serif);color:rgb(var(--c-ink-950));text-wrap:pretty}
.fs-wf-ft-acc{font-style:italic;color:rgb(var(--c-brand-text))}
.fs-wf-ft-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr)}
.fs-wf-ft-col{min-width:0;padding:24px 24px 6px;border-left:1px solid var(--wf-ft-rule)}
.fs-wf-ft-col:first-child{padding-left:0;border-left:0}
.fs-wf-ft-col:last-child{padding-right:0}
.fs-wf-ft-h{margin:0 0 12px;font-weight:700;font-size:11px;line-height:1.3;letter-spacing:.22em;text-transform:uppercase;color:rgb(var(--c-brand-text))}
.fs-wf-ft-h::after{content:"";display:inline-block;width:6px;height:6px;margin-left:10px;vertical-align:.1em;background:rgb(var(--c-accent, var(--c-brand-600)));transform:rotate(45deg)}
.fs-wf-ft-list{margin:0;list-style:none;padding:0}
.fs-wf-ft-li{padding-block:4px;font-size:14.5px;line-height:1.45}
.fs-wf-ft-link{color:rgb(var(--c-ink-950));text-decoration:none;background:linear-gradient(rgb(var(--c-accent, var(--c-brand-600))),rgb(var(--c-accent, var(--c-brand-600)))) 0 100%/0 1.5px no-repeat;transition:background-size .25s ease}
.fs-wf-ft-link:hover{background-size:100% 1.5px}
.fs-wf-ft-list.is-read .fs-wf-ft-li{display:flex;flex-direction:column;padding-block:5px}
.fs-wf-ft-rnote{font:italic 400 14.5px/1.35 var(--font-display, Cardo, Georgia, serif);color:var(--wf-ft-note)}
.fs-wf-ft-p{margin:0;font-size:14.5px;line-height:1.55;color:rgb(var(--c-ink-950))}
.fs-wf-ft-p + .fs-wf-ft-p{margin-top:9px}
.fs-wf-ft-p.is-note{font-size:13.5px;color:var(--wf-ft-note)}
.fs-wf-ft-tel,.fs-wf-ft-mail{border-bottom:1px solid var(--wf-ft-hair);color:inherit;text-decoration:none}
.fs-wf-ft-fig{margin:22px 0 0;display:flex;align-items:baseline;gap:14px;padding-top:11px;border-top:1px solid var(--wf-ft-fig-rule)}
.fs-wf-ft-fig-no{flex:none;font:700 14px/1 var(--font-display, Cardo, Georgia, serif);letter-spacing:.08em;color:rgb(var(--c-brand-text))}
.fs-wf-ft-fig-t{max-width:80ch;font-size:13px;line-height:1.5;color:var(--wf-ft-note)}
.fs-wf-ft-lrule{display:block;position:relative;height:1px;margin-top:30px;background:var(--wf-ft-fig-rule)}
.fs-wf-ft-lrule::after{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;background:rgb(var(--c-accent, var(--c-brand-600)));transform:rotate(45deg)}
.fs-wf-ft-legal{margin:18px 0 0;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 22px;font-size:12.5px;color:var(--wf-ft-note)}
.fs-wf-ft-legal-l{display:inline-flex;gap:18px}
.fs-wf-ft-legal-a{color:rgb(var(--c-ink-950));text-decoration:none}
.fs-wf-ft-legal-a:hover{text-decoration:underline}
@container fs-wf-ft (max-width: 40rem){
  .fs-wf-ft-in{padding-block:36px 24px}
}
@container fs-wf-ft-in (max-width: 56rem){
  .fs-wf-ft-head{grid-template-columns:minmax(0,1fr)}
  .fs-wf-ft-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-wf-ft-col:nth-child(odd){padding-left:0;border-left:0}
  .fs-wf-ft-col:nth-child(even){padding-right:0}
  .fs-wf-ft-col:nth-child(n+3){margin-top:14px;border-top:1px solid var(--wf-ft-rule)}
}
@container fs-wf-ft (max-width: 48rem){
  .fs-wf-ft-cols{grid-template-columns:minmax(0,1fr)}
  .fs-wf-ft-col{padding:20px 0 4px;border-left:0}
  .fs-wf-ft-col:nth-child(n+2){margin-top:0;border-top:1px solid var(--wf-ft-rule)}
  .fs-wf-ft-state{font-size:17.5px}
  .fs-wf-ft-fig{flex-direction:column;gap:6px}
}
@media (prefers-reduced-motion: reduce){
  .fs-wf-ft-link{transition:none}
}


.fs-vt{
  position:relative;overflow:hidden;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-vt *{box-sizing:border-box;}
.fs-vt-sr{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

/* ── Motif: the ward cut ────────────────────────────────────────
   The top-left corner chamfered off every plate in the set. Drawn
   with a clip-path rather than a pseudo-element so the cut survives
   any background, including the gradients below it. */
.fs-vt-plate{
  position:relative;
  --fs-vt-cut:1.6rem;
  clip-path:polygon(var(--fs-vt-cut) 0, 100% 0, 100% 100%, 0 100%, 0 var(--fs-vt-cut));
  border-radius:var(--fs-radius-card, .75rem);
  background:rgb(var(--c-paper-soft, var(--c-paper)));
  box-shadow:var(--fs-shadow-card, 0 1px 2px rgb(0 0 0 / .06));
  padding:clamp(1.6rem,4vw,2.8rem);
}
/* The cut edge itself, inked so it reads as a cut and not a crop. */
.fs-vt-plate::before{
  content:'';position:absolute;top:0;left:0;
  width:calc(var(--fs-vt-cut) * 1.42);height:1px;
  transform-origin:0 0;transform:rotate(45deg);
  background:rgb(var(--c-brand-600) / .55);
  pointer-events:none;
}
/* A hairline keyline just inside the plate — the engraved border. */
.fs-vt-plate::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  border:1px solid rgb(var(--c-line, var(--c-ink-950) / .16));
  border-radius:inherit;
  clip-path:polygon(var(--fs-vt-cut) 0, 100% 0, 100% 100%, 0 100%, 0 var(--fs-vt-cut));
}

/* ── Motif: the bitting rule ────────────────────────────────────
   A stepped key profile drawn as an SVG path, used as the set's
   divider. Stretched to the container width, so the steps read as a
   cut edge rather than as a chart. */
.fs-vt-bit{display:flex;align-items:center;gap:1rem;margin:1.6rem 0 0;width:100%;}
.fs-vt-bit-svg{
  flex:1 1 auto;min-width:3rem;height:16px;display:block;
  fill:none;stroke:rgb(var(--c-brand-600) / .8);
  stroke-width:1.6;stroke-linejoin:miter;stroke-linecap:butt;
  vector-effect:non-scaling-stroke;
}
.fs-vt-bit-label{
  flex:0 0 auto;
  font-size:.68rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));white-space:nowrap;
}
.fs-vt-center + .fs-vt-bit .fs-vt-bit-svg{opacity:.85;}
/* The rule is drawn with preserveAspectRatio="none" so it stretches to
   whatever it is given. Left uncapped in a centred page header it ran to
   ~700px, which flattens a 240-unit key profile until the steps read as a
   decorative squiggle rather than as a cut key. Capping the SVG keeps the
   steps near their drawn proportions; the label still sits beside it. */
.fs-vt-hd .fs-vt-bit,
.fs-vt-cta-plate .fs-vt-bit{justify-content:center;max-width:34rem;margin-left:auto;margin-right:auto;}
.fs-vt-hd .fs-vt-bit-svg{max-width:22rem;}

/* ── Motif: the tag plate ───────────────────────────────────────
   The eyebrow, on its own small ward-cut plate. */
.fs-vt-tag{
  position:relative;display:inline-flex;align-items:center;
  padding:.5rem 1.2rem .5rem 1.35rem;
  --fs-vt-cut:.62rem;
  clip-path:polygon(var(--fs-vt-cut) 0, 100% 0, 100% 100%, 0 100%, 0 var(--fs-vt-cut));
  background:rgb(var(--c-brand-600) / .1);
  color:rgb(var(--c-brand-600));
  font-size:.7rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
}
.fs-vt-tag::before{
  content:'';position:absolute;top:0;left:0;
  width:calc(var(--fs-vt-cut) * 1.42);height:1px;
  transform-origin:0 0;transform:rotate(45deg);
  background:rgb(var(--c-brand-600) / .75);
}

/* ── Motif: the keyline seal ────────────────────────────────────
   A double-ruled rondel — the assessor's stamp, not a badge sticker. */
.fs-vt-seal{
  position:absolute;right:-.4rem;bottom:-1rem;z-index:3;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  width:6.4rem;height:6.4rem;border-radius:50%;
  border:2px solid rgb(var(--c-accent, var(--c-brand-600)));
  background:rgb(var(--c-paper));
  box-shadow:var(--fs-shadow-card, 0 2px 8px rgb(0 0 0 / .12));
  text-align:center;
}
.fs-vt-seal::before{
  content:'';position:absolute;inset:.32rem;border-radius:50%;
  border:1px solid rgb(var(--c-accent, var(--c-brand-600)) / .5);
}
.fs-vt-seal-t,.fs-vt-seal-b{
  font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  line-height:1.35;color:rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-vt-seal-b{color:rgb(var(--c-ink-700));}

/* ── Type ───────────────────────────────────────────────────────
   The geometric display face carries the register; the body face
   stays quiet and technical under it. */
.fs-vt-title{
  margin:1.35rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(2.15rem,4.6vw,3.4rem);
  line-height:1.12;font-weight:800;letter-spacing:-.02em;
  color:rgb(var(--c-ink-950));
}
.fs-vt-accent{color:rgb(var(--c-brand-600));}
.fs-vt-h{
  margin:1rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(1.7rem,3.2vw,2.35rem);
  line-height:1.2;font-weight:800;letter-spacing:-.015em;
  color:rgb(var(--c-ink-950));
}
.fs-vt-sub{
  margin:1.3rem 0 0;max-width:56ch;
  font-size:clamp(1rem,1.4vw,1.08rem);line-height:1.75;
  color:rgb(var(--c-ink-700));
}
.fs-vt-center{text-align:center;margin-left:auto;margin-right:auto;}

/* ── Buttons — one solid plate, one ruled link ───────────────── */
.fs-vt-ctas{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:2.1rem;align-items:center;}
.fs-vt-ctas-center{justify-content:center;}
.fs-vt-btn{
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  padding:1rem 2.2rem;
  --fs-vt-cut:.7rem;
  clip-path:polygon(var(--fs-vt-cut) 0, 100% 0, 100% 100%, 0 100%, 0 var(--fs-vt-cut));
  font-size:.84rem;font-weight:700;line-height:1;white-space:nowrap;
  letter-spacing:.13em;text-transform:uppercase;
  color:rgb(var(--c-paper));
  background:rgb(var(--c-brand-600));
  box-shadow:var(--fs-shadow-card, 0 2px 6px rgb(0 0 0 / .12));
  transition:transform .25s cubic-bezier(.2,.8,.3,1), background-color .25s ease;
}
.fs-vt-btn:hover{background:rgb(var(--c-brand-700, var(--c-brand-600)));transform:translateY(-2px);}
.fs-vt-link{
  display:inline-flex;align-items:center;gap:.5rem;
  padding-bottom:.3rem;
  border-bottom:2px solid rgb(var(--c-accent, var(--c-brand-600)));
  font-size:.84rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:rgb(var(--c-ink-950));
  transition:color .25s ease, border-color .25s ease;
}
.fs-vt-link:hover{color:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));}
.fs-vt-note{
  margin-top:1.7rem;
  font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}

/* ═════════ HERO (favVaultHero) ═════════
   Copy left, a ward-cut plate around the image stage right. */
.fs-vt-hero{padding:var(--fs-space-section, clamp(3.5rem,8vw,6rem)) clamp(1rem,4vw,2.5rem);}
/* The ground: a fine grid, faded out downward — the bench surface. */
.fs-vt-hero::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(to right, rgb(var(--c-ink-950) / .05) 1px, transparent 1px),
    linear-gradient(to bottom, rgb(var(--c-ink-950) / .05) 1px, transparent 1px);
  background-size:2.75rem 2.75rem;
  -webkit-mask-image:linear-gradient(to bottom, #000 0%, transparent 80%);
  mask-image:linear-gradient(to bottom, #000 0%, transparent 80%);
}
/* One soft brand bloom behind the stage — the set's only ambient wash. */
.fs-vt-hero::after{
  content:'';position:absolute;right:-12%;top:-18%;
  width:56%;aspect-ratio:1;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle, rgb(var(--c-brand-600) / .13), transparent 68%);
}
.fs-vt-hero-inner{
  position:relative;z-index:1;max-width:var(--fs-layout-max,74rem);margin:0 auto;
  display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(2.5rem,5vw,4.5rem);align-items:center;
}
@media (max-width:940px){.fs-vt-hero-inner{grid-template-columns:1fr;gap:3rem;}}

/* The assurance strip. */
.fs-vt-assure{
  display:grid;grid-template-columns:repeat(3, minmax(0,1fr));
  margin-top:2.8rem;
  border-top:2px solid rgb(var(--c-brand-600) / .5);
  border-bottom:1px solid rgb(var(--c-ink-950) / .13);
}
@media (max-width:560px){.fs-vt-assure{grid-template-columns:1fr;}}
.fs-vt-assure-cell{display:flex;flex-direction:column;gap:.4rem;padding:1.1rem 1.15rem 1.1rem 0;}
.fs-vt-assure-cell + .fs-vt-assure-cell{padding-left:1.15rem;border-left:1px solid rgb(var(--c-ink-950) / .13);}
@media (max-width:560px){
  .fs-vt-assure-cell + .fs-vt-assure-cell{
    border-left:none;padding-left:0;border-top:1px solid rgb(var(--c-ink-950) / .13);
  }
}
.fs-vt-assure-l{
  font-size:.65rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-vt-assure-v{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.02rem;font-weight:700;line-height:1.3;
  color:rgb(var(--c-ink-950));
}

/* The stage. */
.fs-vt-stage{position:relative;padding:0 .5rem 1.6rem 0;}
.fs-vt-stage-plate{
  position:relative;overflow:hidden;
  --fs-vt-cut:2.4rem;
  clip-path:polygon(var(--fs-vt-cut) 0, 100% 0, 100% 100%, 0 100%, 0 var(--fs-vt-cut));
  border-radius:var(--fs-radius-card, .75rem);
  background:rgb(var(--c-paper-soft, var(--c-paper)));
  box-shadow:var(--fs-shadow-lift, 0 14px 34px rgb(0 0 0 / .14));
  aspect-ratio:3 / 2;
}
/* The image sits in its own layer so the sweep can stay a sibling
   above it. EditableImage wraps its <img>, hence the > * rule too. */
.fs-vt-stage-img{position:absolute;inset:0;}
.fs-vt-stage-img > *{display:block;width:100%;height:100%;}
.fs-vt-stage-img img{width:100%;height:100%;object-fit:cover;display:block;}
.fs-vt-stage-fallback{
  position:absolute;inset:0;
  background-image:
    linear-gradient(to right, rgb(var(--c-brand-600) / .14) 1px, transparent 1px),
    linear-gradient(to bottom, rgb(var(--c-brand-600) / .14) 1px, transparent 1px);
  background-size:1.6rem 1.6rem;
}
.fs-vt-sweep{
  position:absolute;top:-25%;left:-40%;width:30%;height:150%;
  pointer-events:none;opacity:0;
  background:linear-gradient(100deg, transparent, rgb(var(--c-accent, var(--c-brand-600)) / .28), transparent);
  transform:translateX(0) skewX(-12deg);
}
.fs-vt-anim .fs-vt-sweep{opacity:1;animation:fs-vt-sweep 11s ease-in-out infinite;}
@keyframes fs-vt-sweep{
  0%{transform:translateX(0) skewX(-12deg);}
  55%,100%{transform:translateX(455%) skewX(-12deg);}
}

/* ═════════ PAGE HEADER (favVaultHeader) ═════════ */
.fs-vt-hd{padding:var(--fs-space-section, clamp(3rem,7vw,4.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-vt-hd::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(to right, rgb(var(--c-ink-950) / .045) 1px, transparent 1px),
    linear-gradient(to bottom, rgb(var(--c-ink-950) / .045) 1px, transparent 1px);
  background-size:2.75rem 2.75rem;
  -webkit-mask-image:linear-gradient(to bottom, #000 0%, transparent 88%);
  mask-image:linear-gradient(to bottom, #000 0%, transparent 88%);
}
.fs-vt-hd-inner{
  position:relative;max-width:min(54rem, var(--fs-layout-clamp, 54rem));margin:0 auto;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.fs-vt-hd .fs-vt-title{font-size:clamp(2rem,4.2vw,3rem);}

/* ═════════ PLAN CONFIGURATOR (favVaultPlanner) ═════════
   The set's interactive piece: controls left, a summary that builds
   as you choose on the right. */
.fs-vt-pl{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-vt-pl-head{
  position:relative;max-width:var(--fs-layout-max,56rem);margin:0 auto 2.8rem;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.fs-vt-pl-inner{
  position:relative;max-width:var(--fs-layout-max,74rem);margin:0 auto;
  display:grid;grid-template-columns:1.15fr .85fr;
  gap:clamp(1.6rem,3.5vw,2.6rem);align-items:start;
}
@media (max-width:940px){.fs-vt-pl-inner{grid-template-columns:1fr;}}

.fs-vt-pl-panel{
  position:relative;
  --fs-vt-cut:1.4rem;
  clip-path:polygon(var(--fs-vt-cut) 0, 100% 0, 100% 100%, 0 100%, 0 var(--fs-vt-cut));
  border-radius:var(--fs-radius-card, .75rem);
  background:rgb(var(--c-paper-soft, var(--c-paper)));
  box-shadow:var(--fs-shadow-card, 0 1px 3px rgb(0 0 0 / .07));
  padding:clamp(1.5rem,3.5vw,2.4rem);
}
.fs-vt .fs-vt-pl-field + .fs-vt-pl-field{margin-top:1.9rem;}
.fs-vt .fs-vt-pl-label{
  display:block;
  font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:rgb(var(--c-ink-700));
}
.fs-vt .fs-vt-pl-stepper{display:flex;align-items:center;gap:.85rem;margin-top:.95rem;}
.fs-vt .fs-vt-pl-hint{
  display:block;margin-top:.7rem;
  font-size:.82rem;line-height:1.6;color:rgb(var(--c-ink-400));
}

/* The −/+ buttons and the readout. Written through ".fs-vt " so they
   beat ".fs-typo button", which otherwise repaints every button on
   the page the site's button-label colour and loses the numbers. */
.fs-vt .fs-vt-pl-step{
  flex:0 0 auto;
  display:inline-flex;align-items:center;justify-content:center;
  width:2.3rem;height:2.3rem;padding:0;cursor:pointer;
  border:1.5px solid rgb(var(--c-brand-600) / .55);
  border-radius:var(--fs-radius-control, .4rem);
  background:rgb(var(--c-paper));
  color:rgb(var(--c-brand-600));
  font-size:1.05rem;font-weight:700;line-height:1;
  transition:background-color .2s ease, color .2s ease, border-color .2s ease;
}
.fs-vt .fs-vt-pl-step:hover:not(:disabled){background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));}
.fs-vt .fs-vt-pl-step:focus-visible{outline:2px solid rgb(var(--c-accent, var(--c-brand-600)));outline-offset:3px;}
.fs-vt .fs-vt-pl-step:disabled{opacity:.4;cursor:not-allowed;}
.fs-vt .fs-vt-pl-out{
  flex:0 0 auto;min-width:2.9rem;text-align:right;
  font-family:var(--font-display, Georgia, serif);
  font-size:1.45rem;font-weight:800;line-height:1;
  font-variant-numeric:tabular-nums;
  color:rgb(var(--c-brand-600));
}

/* The range. Styled on both engines rather than left native, because
   a default slider is the one control that makes a designed page look
   like a form. The thumb is the ward cut again, at 12px. */
.fs-vt .fs-vt-pl-range{
  flex:1 1 auto;min-width:0;height:1.5rem;padding:0;margin:0;cursor:pointer;
  background:transparent;-webkit-appearance:none;appearance:none;
}
.fs-vt .fs-vt-pl-range:focus-visible{outline:2px solid rgb(var(--c-accent, var(--c-brand-600)));outline-offset:4px;border-radius:.2rem;}
.fs-vt .fs-vt-pl-range::-webkit-slider-runnable-track{
  height:.4rem;border-radius:.2rem;
  background:linear-gradient(to right, rgb(var(--c-brand-600) / .55), rgb(var(--c-accent, var(--c-brand-600)) / .55));
}
.fs-vt .fs-vt-pl-range::-moz-range-track{
  height:.4rem;border-radius:.2rem;
  background:linear-gradient(to right, rgb(var(--c-brand-600) / .55), rgb(var(--c-accent, var(--c-brand-600)) / .55));
}
.fs-vt .fs-vt-pl-range::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;
  width:1.3rem;height:1.3rem;margin-top:-.45rem;
  clip-path:polygon(.42rem 0, 100% 0, 100% 100%, 0 100%, 0 .42rem);
  background:rgb(var(--c-brand-600));
  box-shadow:0 1px 4px rgb(0 0 0 / .28);
}
.fs-vt .fs-vt-pl-range::-moz-range-thumb{
  width:1.3rem;height:1.3rem;border:0;
  clip-path:polygon(.42rem 0, 100% 0, 100% 100%, 0 100%, 0 .42rem);
  background:rgb(var(--c-brand-600));
  box-shadow:0 1px 4px rgb(0 0 0 / .28);
}
.fs-vt .fs-vt-pl-range:disabled{opacity:.5;cursor:not-allowed;}

/* The module toggles — a real checkbox, visually hidden behind a
   drawn box, so the whole row stays one click target and the keyboard
   path is the native one. */
.fs-vt .fs-vt-pl-mods{margin:2.2rem 0 0;padding:1.6rem 0 0;border:0;border-top:1px solid rgb(var(--c-ink-950) / .14);}
.fs-vt .fs-vt-pl-legend{
  padding:0;
  font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:rgb(var(--c-ink-700));
}
.fs-vt .fs-vt-pl-mod{
  position:relative;
  display:grid;grid-template-columns:auto 1fr;gap:.95rem;align-items:start;
  margin-top:1.15rem;padding:.95rem 1rem;cursor:pointer;
  --fs-vt-cut:.6rem;
  clip-path:polygon(var(--fs-vt-cut) 0, 100% 0, 100% 100%, 0 100%, 0 var(--fs-vt-cut));
  background:rgb(var(--c-ink-950) / .035);
  transition:background-color .2s ease;
}
.fs-vt .fs-vt-pl-mod:hover{background:rgb(var(--c-brand-600) / .08);}
.fs-vt .fs-vt-pl-mod.is-on{background:rgb(var(--c-brand-600) / .11);}
/* The native checkbox sits behind the drawn box.
   Note that taking it OUT OF FLOW is done with an inline style on the
   element itself (see VaultBlocks.tsx), not here: the editor canvas
   carries its own input[type=checkbox] styling that beat every
   reasonable selector, and the input then laid out as a third grid item,
   pushing the tick to the top right and the label onto a second row.
   What is left here is only the appearance reset.
   NOTE: this sheet is a template literal — no backticks in comments. */
.fs-vt .fs-vt-pl-mod input.fs-vt-pl-check{
  appearance:none;-webkit-appearance:none;
}
.fs-vt .fs-vt-pl-mod .fs-vt-pl-box{
  position:relative;flex:0 0 auto;
  width:1.25rem;height:1.25rem;margin-top:.12rem;
  border:1.5px solid rgb(var(--c-ink-950) / .4);
  /* A FIXED small radius, deliberately not the control token: at 20px
     square the token's 8px rounds the box into a circle, and a circle
     reads as a radio button — single choice — when these are genuinely
     multi-select. Shape carries meaning here, so it does not follow the
     theme's radius dial. */
  border-radius:3px;
  background:rgb(var(--c-paper));
  transition:background-color .18s ease, border-color .18s ease;
}
.fs-vt .fs-vt-pl-mod .fs-vt-pl-box::after{
  content:'';position:absolute;left:.36rem;top:.13rem;
  width:.32rem;height:.62rem;opacity:0;
  border:solid rgb(var(--c-paper));border-width:0 2px 2px 0;
  transform:rotate(42deg);
  transition:opacity .18s ease;
}
.fs-vt .fs-vt-pl-mod.is-on .fs-vt-pl-box{background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600));}
.fs-vt .fs-vt-pl-mod.is-on .fs-vt-pl-box::after{opacity:1;}
.fs-vt .fs-vt-pl-mod input.fs-vt-pl-check:focus-visible ~ .fs-vt-pl-box{outline:2px solid rgb(var(--c-accent, var(--c-brand-600)));outline-offset:3px;}
.fs-vt .fs-vt-pl-mod-txt{display:flex;flex-direction:column;gap:.3rem;min-width:0;}
.fs-vt .fs-vt-pl-mod-n{
  font-size:.95rem;font-weight:700;line-height:1.35;
  color:rgb(var(--c-ink-950));
}
.fs-vt .fs-vt-pl-mod-b{font-size:.83rem;line-height:1.6;color:rgb(var(--c-ink-400));}

/* The summary. The one place the set uses a filled brand plate. */
.fs-vt-pl-summary{
  /* Sticky so the figure stays beside the controls while the module
     list is worked down on a tall viewport. */
  position:sticky;top:1.5rem;
  --fs-vt-cut:1.4rem;
  clip-path:polygon(var(--fs-vt-cut) 0, 100% 0, 100% 100%, 0 100%, 0 var(--fs-vt-cut));
  border-radius:var(--fs-radius-card, .75rem);
  background:linear-gradient(160deg, rgb(var(--c-brand-600)), rgb(var(--c-brand-700, var(--c-brand-600))));
  box-shadow:var(--fs-shadow-lift, 0 14px 34px rgb(0 0 0 / .16));
  padding:clamp(1.5rem,3.5vw,2.2rem);
  color:rgb(var(--c-paper));
}
@media (max-width:940px){.fs-vt-pl-summary{position:static;}}
.fs-vt-pl-sum-label{
  display:block;
  font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:rgb(var(--c-paper) / .78);
}
.fs-vt-pl-sum-price{
  display:block;margin-top:.55rem;
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(1.9rem,4vw,2.5rem);font-weight:800;line-height:1.05;
  letter-spacing:-.025em;font-variant-numeric:tabular-nums;
  color:rgb(var(--c-paper));
}
.fs-vt-pl-sum-dash{padding:0 .22em;opacity:.65;font-weight:400;}
.fs-vt-pl-sum-note{
  display:block;margin-top:.7rem;
  font-size:.76rem;line-height:1.55;color:rgb(var(--c-paper) / .8);
}
.fs-vt-pl-lines{
  list-style:none;margin:1.5rem 0 0;padding:1.35rem 0 0;
  border-top:1px solid rgb(var(--c-paper) / .28);
}
.fs-vt-pl-line{
  display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  padding:.5rem 0;font-size:.86rem;line-height:1.5;
  color:rgb(var(--c-paper) / .92);
}
.fs-vt-pl-line + .fs-vt-pl-line{border-top:1px solid rgb(var(--c-paper) / .14);}
.fs-vt-pl-line b{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;}
.fs-vt-pl-line-empty{color:rgb(var(--c-paper) / .72);font-style:italic;}
.fs-vt-pl-sum-foot{margin-top:1.6rem;padding-top:1.35rem;border-top:1px solid rgb(var(--c-paper) / .28);}
/* Inverted: a solid brand button on a brand plate would disappear. */
.fs-vt-pl-summary .fs-vt-pl-btn{
  background:rgb(var(--c-paper));color:rgb(var(--c-brand-700, var(--c-brand-600)));
  width:100%;
}
.fs-vt-pl-summary .fs-vt-pl-btn:hover{background:rgb(var(--c-paper));transform:translateY(-2px);}
.fs-vt-pl-fine{
  display:block;margin-top:1rem;
  font-size:.74rem;line-height:1.6;color:rgb(var(--c-paper) / .78);
}

/* ═════════ COVERAGE LEDGER (favVaultLedger) ═════════ */
.fs-vt-lg{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-vt-lg-head{
  position:relative;max-width:min(54rem, var(--fs-layout-clamp, 54rem));margin:0 auto 2.6rem;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.fs-vt-lg-plate{max-width:var(--fs-layout-max,58rem);margin:0 auto;}
.fs-vt-lg-top{
  display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  padding-bottom:.95rem;margin-bottom:.4rem;
  border-bottom:2px solid rgb(var(--c-brand-600) / .5);
}
.fs-vt-lg-title{
  font-size:.72rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;
  color:rgb(var(--c-brand-600));
}
.fs-vt-lg-ref{
  font-size:.68rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-vt-lg-row{
  display:grid;grid-template-columns:1fr auto;gap:1.5rem;
  padding:1.2rem 0;align-items:start;
}
.fs-vt-lg-row + .fs-vt-lg-row{border-top:1px solid rgb(var(--c-ink-950) / .12);}
.fs-vt-lg-main{display:flex;flex-direction:column;gap:.38rem;}
.fs-vt-lg-j{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.08rem;font-weight:700;line-height:1.32;
  color:rgb(var(--c-ink-950));
}
.fs-vt-lg-d{font-size:.87rem;line-height:1.65;color:rgb(var(--c-ink-400));max-width:60ch;}
.fs-vt-lg-nums{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;min-width:7rem;}
.fs-vt-lg-t{
  padding:.22rem .6rem;
  border:1px solid rgb(var(--c-ink-950) / .2);
  border-radius:var(--fs-radius-control, .3rem);
  font-size:.66rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));white-space:nowrap;
}
.fs-vt-lg-p{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.16rem;font-weight:800;line-height:1.2;
  color:rgb(var(--c-brand-600));white-space:nowrap;
}
.fs-vt-lg-foot{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.2rem;
  margin-top:1.4rem;padding-top:1.3rem;
  border-top:2px solid rgb(var(--c-brand-600) / .5);
}
.fs-vt-lg-note{font-size:.83rem;line-height:1.65;color:rgb(var(--c-ink-700));max-width:46ch;}
/* The stamp — a keyline mark, inked slightly off-square. */
.fs-vt-stamp{
  flex:0 0 auto;padding:.5rem 1rem;
  border:2px solid rgb(var(--c-accent, var(--c-brand-600)) / .7);
  border-radius:var(--fs-radius-control, .3rem);
  color:rgb(var(--c-accent, var(--c-brand-600)));
  font-size:.67rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  transform:rotate(-2.5deg);
}

/* ═════════ CTA (favVaultCta) ═════════ */
.fs-vt-cta{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-vt-cta-plate{
  max-width:min(48rem, var(--fs-layout-clamp, 48rem));margin:0 auto;
  display:flex;flex-direction:column;align-items:center;text-align:center;
  padding-top:clamp(2.4rem,5vw,3.4rem);
}
.fs-vt-cta-plate .fs-vt-title{font-size:clamp(1.8rem,3.6vw,2.6rem);}
.fs-vt-cta-plate .fs-vt-bit{max-width:22rem;}

/* ── Phones ─────────────────────────────────────────────────────
   Three things break below ~560px, all measured rather than guessed:

   1. The ledger row is a 1fr/auto grid with a nowrap price. At 340px
      "£39 / person / yr" no longer fits its column, so the row stacks
      and the time chip and price sit side by side instead.
   2. The planner's summary price is a range with two five-figure-wide
      numbers; below this width it is allowed to wrap at the dash.
   3. The hero seal overlaps the stage corner, which is fine at
      desktop and crowds the copy beneath it on a phone. */
@media (max-width:560px){
  .fs-vt-lg-row{grid-template-columns:1fr;gap:.8rem;}
  .fs-vt-lg-nums{flex-direction:row;align-items:baseline;justify-content:flex-start;gap:.9rem;min-width:0;}
  .fs-vt-lg-foot{gap:1rem;}
  .fs-vt-pl-sum-price{white-space:normal;}
  /* The steppers are 37px at desktop, which is fine for a mouse and
     under the 44px minimum for a thumb. Measured on a 390px viewport. */
  .fs-vt .fs-vt-pl-step{width:2.75rem;height:2.75rem;font-size:1.15rem;}
  .fs-vt .fs-vt-pl-stepper{gap:.7rem;}
  .fs-vt-seal{width:5.2rem;height:5.2rem;right:.2rem;bottom:-.7rem;}
  .fs-vt-seal-t,.fs-vt-seal-b{font-size:.55rem;letter-spacing:.1em;}
  .fs-vt-bit-label{white-space:normal;}
}

/* ── Dark mode ──────────────────────────────────────────────────
   The stage art is a static SVG and cannot re-tint with the palette
   (see themes/art.ts). On near-black it would otherwise glare, so it
   gets the same knock-back a photograph would need behind glass. */
/* :is(.dark *):not(.fs-preview-light *) -- same fix as torque-styles.ts
   above and LedgerLite (2026-09-03): the ambient .dark on <html> is
   the visitor's OS preference, not this site's resolved mode. */
.fs-vt-stage-img:is(.dark *):not(.fs-preview-light *){filter:brightness(.72) saturate(.9) contrast(1.04);}

/* ── Reduced motion ─────────────────────────────────────────────
   The sweep is the set's only ambient motion and it is decorative.
   The planner's own transitions go too — the numbers still update,
   they simply arrive without the ease. */
@media (prefers-reduced-motion: reduce){
  .fs-vt *,.fs-vt *::before,.fs-vt *::after{animation:none !important;transition:none !important;}
  .fs-vt-sweep{display:none !important;}
}

/* ── favVaultFooter (theme-chrome batch 4, Ward) ──────────────────
   fs-vt-ft: the full-bleed band (named container) on the page ground,
   opened by a hairline, with the bench grid rising from the bottom edge
   (a ::before behind the content, masked by a gradient painted in a
   token — a mask reads only alpha); fs-vt-ft-in: the content box. */
.fs-vt-ft{position:relative;isolation:isolate;container-type:inline-size;container-name:fs-vt-ft;padding:0 clamp(1rem,4vw,2.5rem);background:rgb(var(--c-paper));box-shadow:inset 0 1px 0 var(--vt-ft-rule);--vt-ft-rule:rgb(var(--c-ink-950) / .13);--vt-ft-keyline:rgb(var(--c-ink-950) / .16);--vt-ft-note:color-mix(in srgb, rgb(var(--c-ink-950)) 74%, rgb(var(--c-paper)));--vt-ft-brand-rule:rgb(var(--c-brand-600) / .5);--vt-ft-cut-ink:rgb(var(--c-brand-600) / .62);--vt-ft-bit-ink:rgb(var(--c-brand-600) / .8);--vt-ft-accent-ink:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 72%, rgb(var(--c-ink-950)));--vt-ft-accent-ring:rgb(var(--c-accent, var(--c-brand-600)) / .7);--vt-ft-grid:rgb(var(--c-ink-950) / .05)}
.fs-vt-ft:is(.dark *):not(.fs-preview-light *){--vt-ft-rule:rgb(var(--c-ink-950) / .17);--vt-ft-keyline:rgb(var(--c-ink-950) / .2);--vt-ft-cut-ink:rgb(var(--c-brand-600) / .78);--vt-ft-accent-ink:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 82%, rgb(var(--c-ink-950)));--vt-ft-grid:rgb(var(--c-ink-950) / .06)}
.fs-vt-ft::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(90deg,var(--vt-ft-grid) 1px,transparent 1px),linear-gradient(var(--vt-ft-grid) 1px,transparent 1px);background-size:2.75rem 2.75rem;-webkit-mask-image:linear-gradient(to top,rgb(var(--c-ink-950)),transparent 75%);mask-image:linear-gradient(to top,rgb(var(--c-ink-950)),transparent 75%)}
.fs-vt-ft-in{container-type:inline-size;container-name:fs-vt-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:54px 30px}
.fs-vt-ft-mark{flex:none;width:36px;height:36px}
.fs-vt-ft-mk-a{stop-color:rgb(var(--c-brand-600))}
.fs-vt-ft-mk-b{stop-color:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-vt-ft-assure{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:2px solid var(--vt-ft-brand-rule);border-bottom:1px solid var(--vt-ft-rule);margin:0}
.fs-vt-ft-fact{display:flex;flex-direction:column;gap:6px;min-width:0;padding:16px 18px 16px 0}
.fs-vt-ft-fact + .fs-vt-ft-fact{padding-left:18px;border-left:1px solid var(--vt-ft-rule)}
.fs-vt-ft-fdt{font-weight:600;font-size:10px;line-height:1.3;letter-spacing:.18em;text-transform:uppercase;color:var(--vt-ft-note);margin:0}
.fs-vt-ft-fdd{font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:17px;line-height:1.25;letter-spacing:-.01em;color:rgb(var(--c-ink-950));margin:0}
.fs-vt-ft-grid{display:grid;grid-template-columns:minmax(0,1.35fr) repeat(3,minmax(0,1fr));gap:40px clamp(24px,3cqi,44px);margin-top:40px}
.fs-vt-ft-pc{min-width:0}
.fs-vt-ft-plate{--vt-ft-cut:22px;padding:26px 24px 54px 28px;background:linear-gradient(135deg,transparent calc(var(--vt-ft-cut) * .7071),var(--vt-ft-cut-ink) 0 calc(var(--vt-ft-cut) * .7071 + 1.5px),transparent 0) rgb(var(--c-paper-soft));box-shadow:inset 0 0 0 1px var(--vt-ft-keyline);clip-path:polygon(var(--vt-ft-cut) 0,100% 0,100% 100%,0 100%,0 var(--vt-ft-cut))}
.fs-vt-ft-logo{display:flex;align-items:center;gap:11px;margin:0}
.fs-vt-ft-name{font-family:var(--font-display, Georgia, serif);font-weight:800;font-size:19px;line-height:1.2;letter-spacing:-.02em;color:rgb(var(--c-ink-950))}
.fs-vt-ft-state{max-width:34ch;margin:14px 0 0;font-size:14.5px;line-height:1.55;color:var(--vt-ft-note)}
.fs-vt-ft-addr{max-width:30ch;margin:14px 0 0;padding-top:14px;border-top:1px solid var(--vt-ft-rule);font-size:14px;line-height:1.55;color:rgb(var(--c-ink-950));font-style:normal}
.fs-vt-ft-tel{display:inline-block;margin-top:12px;padding-bottom:3px;border-bottom:2px solid rgb(var(--c-accent, var(--c-brand-600)));font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:17px;line-height:1.2;color:rgb(var(--c-ink-950));font-variant-numeric:tabular-nums;text-decoration:none}
.fs-vt-ft-mail{display:block;margin-top:9px;font-size:14px;color:rgb(var(--c-ink-950));text-decoration:none}
.fs-vt-ft-tel:hover,.fs-vt-ft-mail:hover{color:var(--vt-ft-accent-ink)}
/* The keyline seal (.fs-vt-ft-seal): a double-ruled rondel pulled up to
   sit half off the plate's lower-right corner. In normal flow (a
   negative top margin), so nothing is absolutely positioned. */
.fs-vt-ft-seal{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:92px;height:92px;margin:-46px 22px 0 auto;border:2px solid var(--vt-ft-accent-ring);border-radius:50%;background:rgb(var(--c-paper));box-shadow:inset 0 0 0 5px rgb(var(--c-paper)),inset 0 0 0 6px var(--vt-ft-accent-ring),0 6px 16px -8px rgb(0 0 0 / .3);text-align:center}
.fs-vt-ft-seal-t{font-weight:800;font-size:11px;line-height:1.3;letter-spacing:.14em;text-transform:uppercase;color:var(--vt-ft-accent-ink)}
.fs-vt-ft-seal-b{font-weight:600;font-size:9.5px;line-height:1.35;letter-spacing:.12em;text-transform:uppercase;color:var(--vt-ft-note)}
.fs-vt-ft-col{min-width:0}
.fs-vt-ft-h{margin:0 0 14px;padding-bottom:10px;border-bottom:2px solid var(--vt-ft-brand-rule);font-weight:700;font-size:10.5px;line-height:1.2;letter-spacing:.22em;text-transform:uppercase;color:rgb(var(--c-ink-950))}
.fs-vt-ft-links{list-style:none;padding:0;margin:0}
.fs-vt-ft-li{padding-block:5px;font-size:14.5px;line-height:1.4}
.fs-vt-ft-link{color:rgb(var(--c-ink-950));text-decoration:none}
.fs-vt-ft-link:hover{color:var(--vt-ft-accent-ink);text-decoration:underline;text-underline-offset:3px}
.fs-vt-ft-more{margin-top:6px;padding-top:10px;border-top:1px solid var(--vt-ft-rule);font-size:13.5px;color:var(--vt-ft-note)}
.fs-vt-ft-hours{font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:16px;line-height:1.35;color:rgb(var(--c-ink-950));margin:0}
.fs-vt-ft-p{margin:6px 0 0;font-size:13.5px;line-height:1.55;color:var(--vt-ft-note)}
.fs-vt-ft-inc{margin:16px 0 0;padding-top:14px;border-top:1px solid var(--vt-ft-rule)}
.fs-vt-ft-inc-l{font-weight:600;font-size:10px;line-height:1.3;letter-spacing:.18em;text-transform:uppercase;color:var(--vt-ft-note);margin:0}
.fs-vt-ft-inc-v{margin:5px 0 0;font-family:var(--font-display, Georgia, serif);font-weight:800;font-size:17px;line-height:1.2;color:rgb(var(--c-ink-950));font-variant-numeric:tabular-nums}
.fs-vt-ft-inc-a{color:inherit;text-decoration:none}
.fs-vt-ft-checks{list-style:none;padding:0;margin:0}
.fs-vt-ft-check{display:flex;flex-direction:column;gap:2px;padding-block:8px;border-bottom:1px solid var(--vt-ft-rule)}
.fs-vt-ft-check:first-child{padding-top:0}
.fs-vt-ft-cf{font-family:var(--font-display, Georgia, serif);font-weight:800;font-size:16px;line-height:1.25;letter-spacing:-.005em;color:rgb(var(--c-ink-950));font-variant-numeric:tabular-nums}
.fs-vt-ft-cb{font-size:13px;line-height:1.45;color:var(--vt-ft-note)}
.fs-vt-ft-flink{display:inline-block;margin-top:12px;padding-bottom:3px;border-bottom:2px solid rgb(var(--c-accent, var(--c-brand-600)));font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:11px;line-height:1.3;letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--c-ink-950));text-decoration:none}
.fs-vt-ft-base{display:flex;flex-wrap:wrap;align-items:center;gap:12px 32px;margin-top:40px;padding-top:18px;border-top:1px solid var(--vt-ft-rule)}
.fs-vt-ft-base .fs-vt-ft-bit{flex:1 1 20rem}
.fs-vt-ft-bit{display:flex;align-items:center;gap:14px;flex:1 1 auto;min-width:0}
.fs-vt-ft-bit-svg{display:block;flex:0 1 12rem;min-width:4.5rem;height:14px;fill:none;stroke:var(--vt-ft-bit-ink);stroke-width:1.6;stroke-linejoin:miter;vector-effect:non-scaling-stroke}
.fs-vt-ft-bit-l{font-weight:600;font-size:10.5px;line-height:1.2;letter-spacing:.2em;text-transform:uppercase;color:var(--vt-ft-note);white-space:nowrap}
.fs-vt-ft-legal{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:12.5px;color:var(--vt-ft-note);margin:0}
.fs-vt-ft-legal-a{color:rgb(var(--c-ink-950));text-decoration:none}
.fs-vt-ft-legal-a:hover{color:var(--vt-ft-accent-ink)}
@container fs-vt-ft (max-width: 40rem){
  .fs-vt-ft-in{padding-block:40px 26px}
}
@container fs-vt-ft-in (max-width: 62rem){
  .fs-vt-ft-grid{grid-template-columns:minmax(0,1.25fr) repeat(3,minmax(0,1fr));column-gap:26px}
  .fs-vt-ft-plate{padding-inline:24px 20px}
  .fs-vt-ft-fdd{font-size:16px}
}
@container fs-vt-ft-in (max-width: 56rem){
  .fs-vt-ft-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:36px}
  .fs-vt-ft-assure{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-vt-ft-fact:nth-child(3){padding-left:0;border-left:0}
  .fs-vt-ft-fact:nth-child(n+3){border-top:1px solid var(--vt-ft-rule)}
}
@container fs-vt-ft (max-width: 48rem){
  .fs-vt-ft-grid{grid-template-columns:minmax(0,1fr);row-gap:34px;margin-top:32px}
  .fs-vt-ft-base{margin-top:32px}
  .fs-vt-ft-state,.fs-vt-ft-addr{max-width:none}
}
@container fs-vt-ft (max-width: 30rem){
  .fs-vt-ft-fact{padding-right:12px}
  .fs-vt-ft-fact + .fs-vt-ft-fact{padding-left:12px}
  .fs-vt-ft-fact:nth-child(3){padding-left:0}
  .fs-vt-ft-fdd{font-size:15.5px}
  .fs-vt-ft-plate{padding:24px 20px 52px 24px}
  .fs-vt-ft-legal-t{flex-basis:100%}
  .fs-vt-ft-base .fs-vt-ft-bit-l{white-space:normal}
}


.fs-ht{
  position:relative;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-ht *{box-sizing:border-box;}

/* ── Shared motifs ──────────────────────────────────────────────
   The tapering pile — the logo mark drawn flat, used as a rule. */
.fs-ht-pile{display:flex;flex-direction:column;gap:.28rem;width:7.5rem;}
.fs-ht-pile i{
  display:block;height:.3rem;border-radius:999px;
  background:rgb(var(--c-brand-600));
}
.fs-ht-pile i:nth-child(1){width:100%;}
.fs-ht-pile i:nth-child(2){width:78%;opacity:.62;}
.fs-ht-pile i:nth-child(3){width:52%;opacity:.38;}
@keyframes fs-ht-settle{from{opacity:0;transform:translateY(-.4rem);}}
.fs-ht-anim .fs-ht-pile i{animation:fs-ht-settle .5s ease-out both;}
.fs-ht-anim .fs-ht-pile i:nth-child(2){animation-delay:.09s;}
.fs-ht-anim .fs-ht-pile i:nth-child(3){animation-delay:.18s;}
.fs-ht-wire .fs-ht-pile i{background:rgb(var(--c-ink-950));opacity:1;}

/* The label eyebrow: a stitched tag, not a badge. */
.fs-ht-eyebrow{
  display:inline-block;
  padding:.4rem .8rem;
  border:1.5px dashed rgb(var(--c-ink-950) / .4);
  border-radius:var(--fs-radius-control, .5rem);
  background:rgb(var(--c-paper-soft));
  font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:rgb(var(--c-ink-700));
}

/* Type — a warm serif carries the display sizes. */
.fs-ht-title{
  margin:1.1rem 0 0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:clamp(2.2rem,5vw,3.6rem);
  font-weight:600;line-height:1.12;letter-spacing:-0.015em;
  text-wrap:balance;
}
.fs-ht-accent{color:rgb(var(--c-brand-600));font-style:italic;}
.fs-ht-sub{
  margin-top:1rem;max-width:min(38rem, var(--fs-layout-clamp, 38rem));
  font-size:1.02rem;line-height:1.68;
  color:rgb(var(--c-ink-700));
}
.fs-ht-h{
  margin:0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:var(--fs-type-h2, clamp(1.75rem,3.2vw,2.5rem));
  font-weight:var(--fs-type-h2-weight, 600);
  letter-spacing:var(--fs-type-h2-tracking, -0.015em);
  line-height:var(--fs-type-h2-leading, 1.2);
  text-wrap:balance;
}

/* Buttons (spans in previews — the site-wide buttonStyle covers the
   real button blocks; these are the set's own). */
.fs-ht-ctas{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.6rem;}
.fs-ht-btn,.fs-ht-btn2{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.8rem 1.5rem;cursor:pointer;
  border-radius:var(--fs-radius-control, .5rem);
  font-size:.94rem;font-weight:700;letter-spacing:.01em;
  transition:transform .16s ease, box-shadow .16s ease, background-color .16s ease, color .16s ease;
}
.fs-ht-btn{
  background:rgb(var(--c-brand-600));
  color:rgb(var(--c-paper));
  border:1.5px solid rgb(var(--c-brand-600));
  box-shadow:var(--fs-shadow-card, 0 6px 16px -6px rgb(var(--c-ink-950) / .35));
}
.fs-ht-btn:hover{transform:translateY(-2px);box-shadow:var(--fs-shadow-lift, 0 16px 30px -12px rgb(var(--c-ink-950) / .45));}
.fs-ht-btn2{
  background:rgb(var(--c-paper-soft));
  color:rgb(var(--c-ink-950));
  border:1.5px solid rgb(var(--c-ink-950) / .35);
}
.fs-ht-btn2:hover{border-color:rgb(var(--c-brand-600));color:rgb(var(--c-brand-600));}
.fs-ht-btn:focus-visible,.fs-ht-btn2:focus-visible{outline:2px solid rgb(var(--c-brand-600));outline-offset:2px;}
.fs-ht-wire .fs-ht-btn,.fs-ht-wire .fs-ht-btn2{box-shadow:none;transform:none;}

/* ═════════ HERO (favHearthHero) ═════════ */
.fs-ht-hero{padding:var(--fs-space-section, clamp(2.5rem,6vw,4rem)) clamp(1rem,4vw,2.5rem);}
.fs-ht-hero-inner{
  position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:1.02fr .98fr;
  gap:clamp(2rem,5vw,3.5rem);align-items:center;
}
@media (max-width:920px){.fs-ht-hero-inner{grid-template-columns:1fr;gap:2.5rem;}}
.fs-ht-hero-pile{margin-top:1.5rem;}
.fs-ht-proof{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.8rem;}
.fs-ht-proof-chip{
  display:inline-flex;align-items:center;
  padding:.45rem .85rem;
  border-radius:var(--fs-radius-pill, 999px);
  background:rgb(var(--c-brand-50));
  color:rgb(var(--c-ink-950));
  font-size:.8rem;font-weight:650;
}

/* The frame: a folded card with a hem stitched inside it. */
.fs-ht-stage{position:relative;display:flex;justify-content:center;}
.fs-ht-frame{
  position:relative;
  width:min(28rem,100%);aspect-ratio:4 / 3;
  overflow:hidden;
  background:rgb(var(--c-paper-soft));
  border-radius:var(--fs-radius-card, .75rem);
  box-shadow:var(--fs-shadow-lift, 0 24px 48px -20px rgb(var(--c-ink-950) / .4));
}
.fs-ht-frame img{width:100%;height:100%;object-fit:cover;display:block;}
.fs-ht-frame > *{width:100%;height:100%;}
/* The turned-down corner itself. */
.fs-ht-frame::after{
  content:'';position:absolute;top:0;right:0;z-index:2;
  border-width:0 1.9rem 1.9rem 0;border-style:solid;
  border-color:transparent rgb(var(--c-brand-600) / .6) transparent transparent;filter:drop-shadow(-1px 1px 0 rgb(var(--c-ink-950) / .18));
  pointer-events:none;
}
.fs-ht-frame-hem{
  position:absolute;inset:.75rem;z-index:2;width:auto;height:auto;
  border:1.5px dashed rgb(var(--c-paper) / .6);
  border-radius:calc(var(--fs-radius-card, .75rem) - .2rem);
  pointer-events:none;
}
/* No image set: drawn folded cloth, so the frame never sits empty. */
.fs-ht-frame-fallback{
  display:block;width:100%;height:100%;
  background:
    linear-gradient(135deg, transparent 46%, rgb(var(--c-accent, var(--c-brand-600)) / .35) 46% 54%, transparent 54%),
    linear-gradient(160deg,
      rgb(var(--c-brand-50)) 0 42%,
      rgb(var(--c-accent, var(--c-brand-600)) / .3) 42% 68%,
      rgb(var(--c-brand-600) / .45) 68% 100%);
}
.fs-ht-wire .fs-ht-frame{clip-path:none;box-shadow:none;}
.fs-ht-wire .fs-ht-frame::after,
.fs-ht-wire .fs-ht-frame-hem,
.fs-ht-wire .fs-ht-frame-fallback{display:none;}

/* ═════════ PAGE HEADER (favHearthHeader) ═════════ */
.fs-ht-hd{padding:var(--fs-space-section, clamp(2.2rem,5vw,3.6rem)) clamp(1rem,4vw,2.5rem);}
.fs-ht-hd-inner{max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-ht-hd-title{font-size:clamp(2rem,4.2vw,3.1rem);}
.fs-ht-hd-pile{margin-top:1.3rem;}
.fs-ht-hd .fs-ht-sub{max-width:min(44rem, var(--fs-layout-clamp, 44rem));}

/* ═════════ COVERAGE CHECKER (favHearthCoverage) ═════════
   The working instrument: type a town, get a straight answer. */
.fs-ht-cv{padding:var(--fs-space-section, clamp(2.5rem,6vw,4rem)) clamp(1rem,4vw,2.5rem);}
.fs-ht-cv-head{max-width:var(--fs-layout-max,64rem);margin:0 auto 1.6rem;}
.fs-ht-cv-card{
  position:relative;max-width:var(--fs-layout-max,64rem);margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(1.2rem,3vw,2rem);
  padding:clamp(1.3rem,3vw,2rem);
  background:rgb(var(--c-paper-soft));
  border-radius:var(--fs-radius-card, .75rem);
  box-shadow:var(--fs-shadow-card, 0 8px 22px -10px rgb(var(--c-ink-950) / .3));
}
.fs-ht-cv-card::after{
  content:'';position:absolute;top:0;right:0;
  border-width:0 1.9rem 1.9rem 0;border-style:solid;
  border-color:transparent rgb(var(--c-brand-600) / .55) transparent transparent;filter:drop-shadow(-1px 1px 0 rgb(var(--c-ink-950) / .18));
  pointer-events:none;
}
@media (max-width:820px){.fs-ht-cv-card{grid-template-columns:1fr;}}
.fs-ht-cv-field{position:relative;display:flex;flex-direction:column;gap:.5rem;}
.fs-ht-cv-label{
  font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-ht-cv-input{
  width:100%;padding:.85rem 1rem;
  font-family:inherit;font-size:1rem;
  color:rgb(var(--c-ink-950));
  background:rgb(var(--c-paper));
  border:1.5px solid rgb(var(--c-ink-950) / .62);
  border-radius:var(--fs-radius-control, .5rem);
}
.fs-ht-cv-input::placeholder{color:rgb(var(--c-ink-400));}
.fs-ht-cv-input:focus-visible{
  outline:2px solid rgb(var(--c-brand-600));outline-offset:2px;
  border-color:rgb(var(--c-brand-600));
}
.fs-ht-cv-input:disabled{opacity:.65;}
/* The type-ahead list sits over the card, so it needs a real
   surface and a stacking context above the folded corner. */
.fs-ht-cv-list{
  position:absolute;top:100%;left:0;right:0;z-index:5;
  margin:.35rem 0 0;padding:.3rem;list-style:none;
  max-height:15rem;overflow:auto;
  background:rgb(var(--c-paper));
  border:1.5px solid rgb(var(--c-ink-950) / .3);
  border-radius:var(--fs-radius-control, .5rem);
  box-shadow:var(--fs-shadow-lift, 0 18px 34px -14px rgb(var(--c-ink-950) / .45));
}
.fs-ht-cv-option{
  display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  padding:.55rem .7rem;cursor:pointer;
  border-radius:calc(var(--fs-radius-control, .5rem) - .15rem);
}
.fs-ht-cv-option[aria-selected="true"]{background:rgb(var(--c-brand-50));box-shadow:inset 3px 0 0 rgb(var(--c-brand-600));}
.fs-ht-cv-option[aria-selected="true"] .fs-ht-cv-option-town{color:rgb(var(--c-brand-600));}
.fs-ht-cv-option-town{font-weight:700;color:rgb(var(--c-ink-950));}
.fs-ht-cv-option-round{font-size:.82rem;color:rgb(var(--c-ink-400));}

.fs-ht-cv-answer{display:flex;align-items:center;min-height:8.5rem;}
@media (max-width:820px){.fs-ht-cv-answer{min-height:0;}}
.fs-ht-cv-idle{display:flex;flex-direction:column;gap:.3rem;}
.fs-ht-cv-idle-count{
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(1.15rem,2.2vw,1.5rem);font-weight:600;
  color:rgb(var(--c-ink-950));
}
.fs-ht-cv-idle-hint{
  font-size:.86rem;color:rgb(var(--c-ink-400));font-style:italic;
}
.fs-ht-cv-yes{display:flex;flex-direction:column;gap:.7rem;width:100%;}
.fs-ht-cv-yes-head{
  display:flex;align-items:center;gap:.5rem;
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(1.2rem,2.4vw,1.6rem);font-weight:600;
  color:rgb(var(--c-ink-950));
}
.fs-ht-cv-tick{
  flex:none;width:1.15rem;height:1.15rem;border-radius:999px;
  background:rgb(var(--c-brand-600));
  position:relative;
}
.fs-ht-cv-tick::after{
  content:'';position:absolute;left:.34rem;top:.17rem;
  width:.32rem;height:.6rem;
  border:solid rgb(var(--c-paper));border-width:0 2px 2px 0;
  transform:rotate(42deg);
}
.fs-ht-cv-facts{display:flex;flex-wrap:wrap;gap:1.4rem;}
.fs-ht-cv-facts span{display:flex;flex-direction:column;gap:.15rem;font-weight:650;color:rgb(var(--c-ink-950));}
.fs-ht-cv-facts i{
  font-style:normal;font-size:.7rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-ht-cv-cta{align-self:flex-start;}
.fs-ht-cv-miss{display:flex;flex-direction:column;gap:.45rem;}
.fs-ht-cv-miss-head{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.2rem;font-weight:600;color:rgb(var(--c-ink-950));
}
.fs-ht-cv-miss-body{font-size:.92rem;line-height:1.6;color:rgb(var(--c-ink-700));}
.fs-ht-cv-miss-phone{
  margin-top:.35rem;
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(1.25rem,2.4vw,1.6rem);font-weight:600;
  color:rgb(var(--c-brand-600));
}

.fs-ht-cv-chips{
  max-width:var(--fs-layout-max,64rem);margin:1.1rem auto 0;
  display:flex;flex-wrap:wrap;gap:.45rem;
}
/* Double-classed on purpose: the editor's typography layer styles
   every canvas <button> at (0,1,1) via --fs-btn-color, which is
   white by default and would wash these chips out. */
.fs-ht .fs-ht-cv-chip{
  padding:.45rem .85rem;cursor:pointer;
  font-family:inherit;font-size:.84rem;font-weight:650;
  letter-spacing:0;text-transform:none;
  color:rgb(var(--c-ink-950));
  background:rgb(var(--c-paper-soft));
  border:1.5px solid rgb(var(--c-brand-600) / .55);
  border-radius:var(--fs-radius-pill, 999px);
  transition:border-color .15s ease, background-color .15s ease, color .15s ease;
}
.fs-ht .fs-ht-cv-chip:hover{border-color:rgb(var(--c-brand-600));color:rgb(var(--c-brand-600));}
.fs-ht .fs-ht-cv-chip[aria-current="true"]{
  background:rgb(var(--c-brand-600));
  border-color:rgb(var(--c-brand-600));
  color:rgb(var(--c-paper));
}
.fs-ht .fs-ht-cv-chip:focus-visible{outline:2px solid rgb(var(--c-brand-600));outline-offset:2px;}
@media (max-width:820px){.fs-ht .fs-ht-cv-chip{padding:.6rem 1rem;}}
.fs-ht-wire .fs-ht-cv-card{clip-path:none;box-shadow:none;}
.fs-ht-wire .fs-ht-cv-card::after,.fs-ht-wire .fs-ht-cv-tick::after{display:none;}

/* ═════════ CHECKLIST (favHearthChecklist) ═════════ */
.fs-ht-ck{padding:var(--fs-space-section, clamp(2.5rem,6vw,4rem)) clamp(1rem,4vw,2.5rem);}
.fs-ht-ck-head{max-width:var(--fs-layout-max,64rem);margin:0 auto 1.6rem;}
.fs-ht-ck-card{
  position:relative;max-width:var(--fs-layout-max,64rem);margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(1rem,3vw,2.4rem);
  padding:clamp(1.4rem,3vw,2.2rem);
  background:rgb(var(--c-paper-soft));
  border-radius:var(--fs-radius-card, .75rem);
  box-shadow:var(--fs-shadow-card, 0 8px 22px -10px rgb(var(--c-ink-950) / .3));
}
.fs-ht-ck-card::before{
  content:'';position:absolute;inset:.65rem;
  border:1.5px dashed rgb(var(--c-ink-950) / .2);
  border-radius:calc(var(--fs-radius-card, .75rem) - .2rem);
  pointer-events:none;
}
.fs-ht-ck-card::after{
  content:'';position:absolute;top:0;right:0;
  border-width:0 1.9rem 1.9rem 0;border-style:solid;
  border-color:transparent rgb(var(--c-brand-600) / .55) transparent transparent;filter:drop-shadow(-1px 1px 0 rgb(var(--c-ink-950) / .18));
  pointer-events:none;
}
@media (max-width:760px){.fs-ht-ck-card{grid-template-columns:1fr;gap:.2rem;}}
.fs-ht-ck-col{list-style:none;margin:0;padding:.4rem;display:flex;flex-direction:column;gap:.7rem;}
.fs-ht-ck-item{
  display:flex;align-items:flex-start;gap:.65rem;
  font-size:.95rem;line-height:1.5;color:rgb(var(--c-ink-950));
}
.fs-ht-ck-tick{
  flex:none;margin-top:.18rem;width:1rem;height:1rem;border-radius:999px;
  background:rgb(var(--c-accent, var(--c-brand-600)) / .28);
  position:relative;
}
.fs-ht-ck-tick::after{
  content:'';position:absolute;left:.31rem;top:.14rem;
  width:.26rem;height:.5rem;
  border:solid rgb(var(--c-brand-600));border-width:0 2px 2px 0;
  transform:rotate(42deg);
}
.fs-ht-ck-note{
  max-width:var(--fs-layout-max,64rem);margin:1.1rem auto 0;
  font-size:.88rem;line-height:1.6;color:rgb(var(--c-ink-400));
}
.fs-ht-wire .fs-ht-ck-card{clip-path:none;box-shadow:none;}
.fs-ht-wire .fs-ht-ck-card::before,.fs-ht-wire .fs-ht-ck-card::after,
.fs-ht-wire .fs-ht-ck-tick::after{display:none;}

/* ═════════ CTA (favHearthCta) ═════════ */
.fs-ht-cta{padding:var(--fs-space-section, clamp(2.5rem,6vw,4rem)) clamp(1rem,4vw,2.5rem);}
.fs-ht-cta-panel{
  position:relative;max-width:min(54rem, var(--fs-layout-clamp, 54rem));margin:0 auto;
  padding:clamp(1.8rem,4.5vw,3rem);
  background:rgb(var(--c-brand-50));
  border-radius:var(--fs-radius-card, .75rem);
  box-shadow:var(--fs-shadow-lift, 0 26px 50px -22px rgb(var(--c-ink-950) / .4));
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.fs-ht-cta-panel::after{
  content:'';position:absolute;top:0;right:0;
  border-width:0 1.9rem 1.9rem 0;border-style:solid;
  border-color:transparent rgb(var(--c-brand-600) / .6) transparent transparent;filter:drop-shadow(-1px 1px 0 rgb(var(--c-ink-950) / .18));
  pointer-events:none;
}
.fs-ht-cta-hem{
  position:absolute;inset:.7rem;
  border:1.5px dashed rgb(var(--c-ink-950) / .22);
  border-radius:calc(var(--fs-radius-card, .75rem) - .2rem);
  pointer-events:none;
}
.fs-ht-cta-title{margin-top:1rem;font-size:clamp(1.8rem,3.6vw,2.7rem);}
.fs-ht-cta-sub{max-width:34rem;}
.fs-ht-cta-phone{
  margin-top:1rem;
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(1.6rem,3.4vw,2.4rem);
  font-weight:600;letter-spacing:.01em;
  color:rgb(var(--c-brand-600));
}
.fs-ht-cta-actions{margin-top:1.1rem;justify-content:center;}
/* ink-700, not ink-400: the muted ink is solved for contrast against
   the page background and surface, but this note sits on the brand-50
   panel, where it measured 4.39:1 in light mode — just under AA for
   text this size. ink-700 puts it at 4.65:1. */
.fs-ht-cta-note{
  margin-top:.9rem;
  font-size:.78rem;font-weight:650;letter-spacing:.05em;
  color:rgb(var(--c-ink-700));
}
.fs-ht-wire .fs-ht-cta-panel{clip-path:none;box-shadow:none;background:transparent;}
.fs-ht-wire .fs-ht-cta-panel::after,.fs-ht-wire .fs-ht-cta-hem{display:none;}

/* Motion discipline: nothing in the set moves without input. */
@media (prefers-reduced-motion: reduce){
  .fs-ht,.fs-ht *,.fs-ht *::before,.fs-ht *::after{
    animation:none !important;transition:none !important;
  }
}

/* ═════════ FOOTER (favHearthFooter) ═════════
   Linen's own footer — a woven ground (the family's fine cross-hatch
   texture) with a stitched top edge, a folded-corner business card
   (name / statement / address / phone·email) and three columns (What
   we do / Office hours / Trust), with a legal row beneath carrying the
   platform's legal links. Ported from the mockup's '.n-ftr' family
   (docs/superpowers/specs/2026-09-27-theme-chrome-mockup.html, lines
   671-678, rules 280-369). UNSCOPED, like the rest of this file (see
   the header note above) — a family block, theme-locked by
   themeBlocks/FOOTER_REGION_TYPES rather than by a [data-fs-theme]
   prefix (ledger ruling R1). '--ln-stitch' is Linen's own theme-local
   token (linen-chrome-styles.ts) — safe to read unscoped here because
   this block only ever renders under that theme (R1's own reasoning,
   the same one favBillFooter's '--ll-gilt'/'--ll-hot' already rely on).
   Every heading, paragraph, link and the address carry their own class
   (R18) rather than a descendant selector, so EditWpClient's global
   typography ramp ('.fs-typo h5:not([class])' / 'p:not([class])' /
   'a:not([class])') never has a bare element to restyle. */
.fs-ht-ft{
  position:relative;
  background-color:rgb(var(--c-paper-soft));
  background-image:
    repeating-linear-gradient(0deg,rgb(var(--c-brand-600) / .055) 0 2px,transparent 2px 5px),
    repeating-linear-gradient(90deg,rgb(var(--c-brand-600) / .055) 0 2px,transparent 2px 5px);
  border-top:1px solid rgb(var(--c-ink-950) / .15);
  container-type:inline-size;
}
.fs-ht-ft::before{
  content:'';position:absolute;left:0;right:0;top:6px;
  border-top:1.5px dashed rgb(var(--ln-stitch, var(--c-accent)) / .75);
  pointer-events:none;
}
.fs-ht-ft-grid{
  max-width:var(--fs-layout-max,74rem);margin:0 auto;
  padding:clamp(2.5rem,6vw,52px) clamp(1rem,4vw,2.5rem) 34px;
  display:grid;grid-template-columns:1.35fr 1fr 1fr 1.1fr;gap:34px;
}
.fs-ht-ft-card{
  position:relative;align-self:start;padding:24px;
  background:rgb(var(--c-paper));
  border-radius:14px 0 14px 14px;
  box-shadow:0 14px 30px -14px rgb(var(--c-ink-950) / .45);
}
/* The dog-ear fold — the same treatment as .fs-ht-frame::after and
   every other card in the set (see the DOG-EAR note above), except the
   fold sits against the CARD's own surface rather than the page. */
.fs-ht-ft-card::after{
  content:'';position:absolute;top:0;right:0;width:24px;height:24px;
  background:linear-gradient(225deg,rgb(var(--c-paper-soft)) 50%,color-mix(in srgb, rgb(var(--c-paper-soft)), rgb(var(--c-ink-950)) 10%) 50%);
  border-bottom-left-radius:4px;
}
/* The business name — replaces the mockup's SVG wordmark, since this
   block ships to any business, not just Linen's own demo (same reason
   Gauge's .fs-gg-ft-company and Bill's .fs-bl-ft-name exist). Set in
   the display face at 22px, distinct from the italic statement below. */
.fs-ht-ft-name{
  margin:0;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:22px;line-height:1.2;font-weight:600;
  color:rgb(var(--c-ink-950));
}
.fs-ht-ft-statement{
  margin-top:14px;
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-style:italic;font-weight:400;font-size:18px;line-height:1.35;
  color:rgb(var(--c-ink-950));
}
.fs-ht-ft-address{margin-top:10px;font-style:normal;font-size:14px;color:rgb(var(--c-ink-700));}
.fs-ht-ft-contact{margin-top:12px;font-size:14px;color:rgb(var(--c-ink-950));}
.fs-ht-ft-contact b{font-size:16px;}

.fs-ht-ft-h5{
  margin:0 0 12px;padding-bottom:8px;
  border-bottom:1.5px dashed rgb(var(--ln-stitch, var(--c-accent)) / .75);
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-size:19px;font-weight:500;line-height:1.2;
  color:rgb(var(--c-ink-950));
}
.fs-ht-ft-col ul{list-style:none;margin:0;padding:0;}
.fs-ht-ft-col li{padding-block:5px;font-size:14.5px;}
.fs-ht-ft-link{color:rgb(var(--c-ink-950));text-decoration:none;}
.fs-ht-ft-link:hover{text-decoration:underline dashed rgb(var(--ln-stitch, var(--c-accent)) / .75);}
/* Generic column paragraph — the mockup's own '.n-fcol p' is a single
   uniform rule for every plain paragraph in a column (hours, trust);
   the quote gets its own additional class below for the italic/brand
   override, exactly as the mockup layers '.n-quote' on top of it. */
.fs-ht-ft-colp{margin:0;font-size:14.5px;color:rgb(var(--c-ink-950));}
.fs-ht-ft-colp + .fs-ht-ft-colp{margin-top:8px;}
.fs-ht-ft-quote{
  font-family:var(--font-display, Georgia, 'Times New Roman', serif);
  font-style:italic;font-weight:400;font-size:17px;line-height:1.35;
  color:rgb(var(--c-brand-600));
}

.fs-ht-ft-legal{
  max-width:var(--fs-layout-max,74rem);margin:0 auto;
  display:flex;flex-wrap:wrap;gap:8px 18px;
  padding:14px clamp(1rem,4vw,2.5rem) 26px;
  border-top:1px solid rgb(var(--c-ink-950) / .15);
  font-size:13px;color:rgb(var(--c-ink-700));
}
.fs-ht-ft-legallink{color:inherit;text-decoration:none;}
.fs-ht-ft-legallink:hover{color:rgb(var(--c-ink-950));}

@container (max-width: 48rem){
  .fs-ht-ft-grid{grid-template-columns:1fr;gap:26px;padding:38px clamp(1rem,4vw,2.5rem) 26px;}
}


.fs-gu{
  position:relative;overflow:hidden;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-gu *{box-sizing:border-box;}

/* ── Shared motifs ──────────────────────────────────────────────
   The gilt double rule, with a small enamel oval at its centre. */
.fs-gu-rule{
  position:relative;height:7px;border:none;margin:0;
  border-top:1px solid rgb(var(--c-accent, var(--c-brand-600)) / .75);
  border-bottom:1px solid rgb(var(--c-accent, var(--c-brand-600)) / .75);
  background:transparent;
}
.fs-gu-rule::after{
  content:'';position:absolute;left:50%;top:50%;
  width:1rem;height:.55rem;transform:translate(-50%,-50%);
  border-radius:999px;
  background:rgb(var(--c-paper));
  border:1.5px solid rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-gu-wire .fs-gu-rule::after{border-color:rgb(var(--c-ink-400));}

/* The stadium lozenge eyebrow — an enamel sign label. */
.fs-gu-eyebrow{
  display:inline-flex;align-items:center;
  padding:.45rem 1.15rem;
  border-radius:999px;
  border:1.5px solid rgb(var(--c-accent, var(--c-brand-600)) / .8);
  color:rgb(var(--c-ink-950));
  font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
}

/* The est. oval badge. */
.fs-gu-oval{
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  padding:.7rem 1.5rem;
  border-radius:50%;
  background:rgb(var(--c-brand-600));
  color:rgb(var(--c-paper));
  font-family:var(--font-display, Georgia, serif);
  font-size:.82rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  white-space:nowrap;
}
.fs-gu-oval::after{
  content:'';position:absolute;inset:4px;border-radius:50%;
  border:1px solid rgb(var(--c-paper) / .8);
}

/* ── Type ─────────────────────────────────────────────────────── */
.fs-gu-title{
  margin:1.2rem 0 0;
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(2.2rem,5vw,3.6rem);
  line-height:1.12;font-weight:700;letter-spacing:.002em;
  color:rgb(var(--c-ink-950));
  text-wrap:balance;
}
.fs-gu-accent{color:rgb(var(--c-brand-600));}
.fs-gu-sub{
  margin:1.3rem 0 0;max-width:54ch;
  font-size:clamp(1rem,1.5vw,1.12rem);line-height:1.72;
  color:rgb(var(--c-ink-700));
}
.fs-gu-h{
  margin:0;
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(1.75rem,3.3vw,2.5rem);
  line-height:1.15;font-weight:700;
  color:rgb(var(--c-ink-950));
  text-wrap:balance;
}

/* ── Buttons — twin-border, engraved ────────────────────────────── */
.fs-gu-ctas{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2rem;align-items:center;}
.fs-gu-btn{
  position:relative;
  display:inline-flex;align-items:center;justify-content:center;
  padding:.95rem 1.9rem;
  border-radius:var(--fs-radius-control, .4rem);
  font-size:.92rem;font-weight:700;letter-spacing:.05em;line-height:1;white-space:nowrap;
  color:#fff;
  background:rgb(var(--c-brand-600));
  box-shadow:inset 0 0 0 1px rgb(var(--c-paper) / .55), inset 0 0 0 4px rgb(var(--c-brand-600)), var(--fs-shadow-card, 0 10px 26px rgb(var(--c-ink-950) / .16));
  transition:transform .2s ease, filter .2s ease;
}
.fs-gu-btn:hover{transform:translateY(-2px);filter:brightness(1.08);}
.fs-gu-btn2{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.95rem 1.9rem;
  border-radius:var(--fs-radius-control, .4rem);
  font-size:.92rem;font-weight:700;letter-spacing:.05em;line-height:1;white-space:nowrap;
  color:rgb(var(--c-brand-600));
  background:transparent;
  border:1.5px solid rgb(var(--c-brand-600));
  box-shadow:inset 0 0 0 3px rgb(var(--c-paper)), inset 0 0 0 4px rgb(var(--c-brand-600) / .5);
  transition:background .2s ease;
}
.fs-gu-btn2:hover{background:rgb(var(--c-brand-600) / .08);}
.fs-gu-btn:focus-visible,.fs-gu-btn2:focus-visible{
  outline:3px solid rgb(var(--c-brand-600));outline-offset:2px;
}
.fs-gu-wire .fs-gu-btn{box-shadow:none;}

/* ═════════ HERO (favGuildHero) ═════════
   The shopfront: copy beside an oval portrait window, the practice
   plaque overlapping its lower corner. */
.fs-gu-hero{padding:var(--fs-space-section, clamp(3.5rem,8vw,6rem)) clamp(1rem,4vw,2.5rem);}
.fs-gu-hero-inner{
  position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(2rem,5vw,4.5rem);align-items:center;
}
@media (max-width:920px){.fs-gu-hero-inner{grid-template-columns:minmax(0,1fr);gap:3.2rem;}}
.fs-gu-hero-proof{
  display:flex;flex-wrap:wrap;gap:1rem 1.6rem;margin-top:2rem;align-items:center;
}
.fs-gu-hero-proof-item{
  display:flex;align-items:baseline;gap:.5rem;
  font-size:.92rem;font-weight:600;color:rgb(var(--c-ink-700));
}
.fs-gu-hero-proof-item::before{
  content:'';width:.6rem;height:.38rem;border-radius:999px;flex:none;
  align-self:center;
  border:1.5px solid rgb(var(--c-accent, var(--c-brand-600)));
}
/* The oval portrait window over a keyline backplate. */
.fs-gu-hero-stage{position:relative;display:flex;justify-content:center;padding:1.5rem 0 3rem;}
.fs-gu-hero-back{
  position:absolute;inset:0 8% 1.4rem;pointer-events:none;
  border:1.5px solid rgb(var(--c-accent, var(--c-brand-600)) / .55);
  border-radius:var(--fs-radius-card, .6rem);
}
.fs-gu-window{
  position:relative;z-index:1;
  width:min(21rem, 84%);aspect-ratio:4 / 4.7;
  border-radius:50%;
  overflow:hidden;
  background:rgb(var(--c-paper-soft));
  box-shadow:0 0 0 3px rgb(var(--c-accent, var(--c-brand-600))), 0 0 0 7px rgb(var(--c-paper)), 0 0 0 8.5px rgb(var(--c-accent, var(--c-brand-600)) / .6), var(--fs-shadow-card, 0 18px 44px rgb(var(--c-ink-950) / .16));
}
.fs-gu-window img{width:100%;height:100%;object-fit:cover;}
.fs-gu-window > *{width:100%;height:100%;}
/* No image: layered heritage-interior fallback. */
.fs-gu-window-fallback{
  display:block;width:100%;height:100%;
  background:
    radial-gradient(120% 90% at 50% 0%, rgb(var(--c-brand-600) / .16) 0 46%, transparent 47%),
    linear-gradient(180deg, transparent 0 58%, rgb(var(--c-brand-600) / .55) 58% 100%),
    rgb(var(--c-paper-soft));
}
/* The practice plaque, pinned over the window's lower edge. */
.fs-gu-hero-plaque{
  position:absolute;z-index:2;left:4%;bottom:0;
  min-width:14rem;max-width:88%;
  padding:1rem 1.3rem 1.05rem;
  border-radius:var(--fs-radius-card, .5rem);
  background:rgb(var(--c-accent, var(--c-brand-600)));
  color:rgb(var(--c-paper));
  box-shadow:var(--fs-shadow-lift, 0 14px 34px rgb(var(--c-ink-950) / .2));
  overflow:hidden;
}
.fs-gu-hero-plaque::before{
  content:'';position:absolute;inset:5px;border-radius:inherit;
  border:1px solid rgb(var(--c-paper) / .65);pointer-events:none;
}
/* The glint: a soft light band sweeping the plaque now and then.
   Compositor-only transform; killed under reduced motion. */
.fs-gu-hero-plaque::after{
  content:'';position:absolute;top:-30%;bottom:-30%;left:-25%;width:18%;
  background:linear-gradient(105deg, transparent, rgb(255 255 255 / .28), transparent);
  transform:translateX(-120%) rotate(8deg);
}
.fs-gu-anim .fs-gu-hero-plaque::after{animation:fs-gu-glint 7s ease-in-out infinite;}
@keyframes fs-gu-glint{
  0%, 74%{transform:translateX(-120%) rotate(8deg);}
  88%{transform:translateX(820%) rotate(8deg);}
  100%{transform:translateX(820%) rotate(8deg);}
}
@media (prefers-reduced-motion: reduce){
  .fs-gu,.fs-gu *{animation:none !important;transition:none !important;}
  .fs-gu .fs-gu-hero-plaque::after{display:none;}
}
.fs-gu-hero-plaque-name{
  font-family:var(--font-display, Georgia, serif);
  font-size:1.08rem;font-weight:700;letter-spacing:.03em;
}
.fs-gu-hero-plaque-sub{
  margin-top:.3rem;
  font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  opacity:.9;
}
.fs-gu-wire .fs-gu-hero-plaque{background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));box-shadow:none;}
.fs-gu-wire .fs-gu-hero-plaque::after{display:none;}
.fs-gu-wire .fs-gu-window{box-shadow:none;border:1.5px solid rgb(var(--c-ink-400));}
.fs-gu-wire .fs-gu-window-fallback,.fs-gu-wire .fs-gu-hero-back{display:none;}

/* ═════════ PAGE HEADER (favGuildHeader) ═════════
   Centred, closed by the gilt double rule — the top of a letterhead. */
.fs-gu-hd{padding:var(--fs-space-section, clamp(3rem,7vw,4.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-gu-hd-inner{
  position:relative;max-width:min(52rem, var(--fs-layout-clamp, 52rem));margin:0 auto;text-align:center;
  display:flex;flex-direction:column;align-items:center;
}
.fs-gu-hd .fs-gu-title{font-size:clamp(2rem,4.4vw,3.2rem);}
.fs-gu-hd .fs-gu-sub{margin-left:auto;margin-right:auto;}
.fs-gu-hd-rule{width:min(20rem, 70%);margin-top:2rem;}

/* ═════════ TREATMENT MAP (favGuildMap) ═════════
   The signature interactive: an illustrated diagram whose regions
   highlight on hover/focus and drive the detail card beside it. */
.fs-gu-mp{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-gu-mp-head{max-width:var(--fs-layout-max,72rem);margin:0 auto 2.4rem;}
.fs-gu-mp-grid{
  max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(1.8rem,4vw,3.4rem);align-items:center;
}
@media (max-width:920px){.fs-gu-mp-grid{grid-template-columns:minmax(0,1fr);}}
.fs-gu-mp-stage{position:relative;}
.fs-gu-mp-svg{display:block;width:100%;height:auto;}
/* Region hotspots are real buttons rendered as SVG groups. */
.fs-gu-mp-region{cursor:pointer;}
.fs-gu-mp-region .fs-gu-mp-fill{
  fill:rgb(var(--c-brand-600) / .1);
  stroke:rgb(var(--c-brand-600) / .55);stroke-width:1.6;
  transition:fill .2s ease, stroke .2s ease;
}
.fs-gu-mp-region:hover .fs-gu-mp-fill,
.fs-gu-mp-region[data-active="1"] .fs-gu-mp-fill{
  fill:rgb(var(--c-brand-600) / .32);
  stroke:rgb(var(--c-brand-600));
}
.fs-gu-mp-region:focus-visible{outline:none;}
.fs-gu-mp-region:focus-visible .fs-gu-mp-fill{
  stroke:rgb(var(--c-brand-600));stroke-width:3;
  fill:rgb(var(--c-brand-600) / .32);
}
.fs-gu-mp-region text{
  font-family:var(--font-display, Georgia, serif);
  font-size:15px;font-weight:700;letter-spacing:.05em;
  fill:rgb(var(--c-ink-700));
}
.fs-gu-mp-region:hover text,
.fs-gu-mp-region[data-active="1"] text{fill:rgb(var(--c-brand-600));}
.fs-gu-mp-gum{fill:none;stroke:rgb(var(--c-accent, var(--c-brand-600)) / .8);stroke-width:2;stroke-dasharray:1 7;stroke-linecap:round;}
/* The detail card — an enamel-sign panel. */
.fs-gu-mp-card{
  position:relative;
  padding:1.6rem 1.7rem 1.7rem;
  border-radius:var(--fs-radius-card, .6rem);
  background:rgb(var(--c-paper));
  border:1.5px solid rgb(var(--c-accent, var(--c-brand-600)) / .7);
  box-shadow:var(--fs-shadow-card, 0 16px 40px rgb(var(--c-ink-950) / .12));
}
.fs-gu-mp-card::before{
  content:'';position:absolute;inset:6px;border-radius:inherit;pointer-events:none;
  border:1px solid rgb(var(--c-accent, var(--c-brand-600)) / .35);
}
.fs-gu-mp-card-region{
  font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  color:rgb(var(--c-brand-600));
}
.fs-gu-mp-card-t{
  margin-top:.45rem;
  font-family:var(--font-display, Georgia, serif);
  font-size:1.5rem;font-weight:700;color:rgb(var(--c-ink-950));
}
.fs-gu-mp-card-b{margin-top:.6rem;font-size:.94rem;line-height:1.65;color:rgb(var(--c-ink-700));}
.fs-gu-mp-card-s{margin-top:.8rem;font-size:.88rem;line-height:1.6;font-weight:600;color:rgb(var(--c-ink-700));}
.fs-gu-mp-card .fs-gu-rule{margin:1.1rem 0;}
.fs-gu-mp-card-price{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;}
.fs-gu-mp-card-price-l{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgb(var(--c-ink-400));}
.fs-gu-mp-card-price-v{
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(1.6rem,3vw,2.1rem);line-height:1;font-weight:700;
  color:rgb(var(--c-brand-600));
}
.fs-gu-mp-note{margin-top:1rem;font-size:.8rem;line-height:1.55;color:rgb(var(--c-ink-400));}
.fs-gu-mp-card .fs-gu-ctas{margin-top:1.2rem;}
.fs-gu-wire .fs-gu-mp-card{box-shadow:none;}

/* ═════════ HERITAGE STRIP (favGuildHeritage) ═════════
   Four milestones on a keyline, oval nodes, years in the display face. */
.fs-gu-ht{padding:var(--fs-space-section, clamp(3rem,7vw,5.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-gu-ht-head{max-width:var(--fs-layout-max,72rem);margin:0 auto 2.6rem;text-align:center;display:flex;flex-direction:column;align-items:center;}
.fs-gu-ht-grid{
  position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:repeat(4, minmax(0,1fr));
  gap:clamp(1.2rem,2.5vw,2rem);
}
.fs-gu-ht-grid::before{
  content:'';position:absolute;left:2%;right:2%;top:.55rem;
  border-top:1px solid rgb(var(--c-accent, var(--c-brand-600)) / .6);
}
@media (max-width:920px){
  .fs-gu-ht-grid{grid-template-columns:minmax(0,1fr);max-width:26rem;gap:2rem;}
  .fs-gu-ht-grid::before{display:none;}
}
.fs-gu-ht-item{position:relative;padding-top:1.6rem;}
.fs-gu-ht-item::before{
  content:'';position:absolute;left:0;top:0;
  width:1.1rem;height:.7rem;border-radius:999px;
  background:rgb(var(--c-paper));
  border:1.5px solid rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-gu-ht-y{
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(1.6rem,3vw,2.1rem);line-height:1;font-weight:700;
  color:rgb(var(--c-brand-600));
}
.fs-gu-ht-t{
  margin-top:.5rem;
  font-size:.95rem;font-weight:700;color:rgb(var(--c-ink-950));
}
.fs-gu-ht-b{margin-top:.4rem;font-size:.88rem;line-height:1.6;color:rgb(var(--c-ink-700));}

/* ═════════ CTA (favGuildCta) ═════════
   The letterpress band: ink panel, twin gilt keylines, oval badge. */
.fs-gu-ct{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-gu-ct-band{
  position:relative;max-width:var(--fs-layout-max,64rem);margin:0 auto;
  padding:clamp(2.4rem,5vw,3.6rem) clamp(1.5rem,4vw,3.2rem);
  border-radius:var(--fs-radius-card, .6rem);
  background:rgb(var(--c-ink-950));
  color:rgb(var(--c-paper));
  text-align:center;
}
.fs-gu-ct-band::before{
  content:'';position:absolute;inset:9px;border-radius:inherit;pointer-events:none;
  border:1px solid rgb(var(--c-accent, var(--c-brand-600)) / .8);
}
.fs-gu-ct-band::after{
  content:'';position:absolute;inset:14px;border-radius:inherit;pointer-events:none;
  border:1px solid rgb(var(--c-accent, var(--c-brand-600)) / .35);
}
.fs-gu-ct-band .fs-gu-eyebrow{
  border-color:rgb(var(--c-accent, var(--c-brand-600)) / .9);
  color:rgb(var(--c-paper));
}
.fs-gu-ct-band .fs-gu-title{color:rgb(var(--c-paper));}
.fs-gu-ct-band .fs-gu-accent{color:rgb(var(--c-accent, var(--c-brand-600)));filter:brightness(1.35) saturate(.9);}
.fs-gu-ct-band .fs-gu-sub{color:rgb(var(--c-paper) / .82);margin-left:auto;margin-right:auto;}
.fs-gu-ct-phone{
  margin-top:1.5rem;
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(1.9rem,4.4vw,2.9rem);line-height:1;font-weight:700;letter-spacing:.02em;
}
.fs-gu-ct-band .fs-gu-ctas{justify-content:center;}
.fs-gu-ct-band .fs-gu-btn{
  background:rgb(var(--c-accent, var(--c-brand-600)));
  color:rgb(var(--c-ink-950));
  box-shadow:inset 0 0 0 1px rgb(var(--c-ink-950) / .35), inset 0 0 0 4px rgb(var(--c-accent, var(--c-brand-600)));
}
.fs-gu-ct-band .fs-gu-btn2{
  color:rgb(var(--c-paper));
  border-color:rgb(var(--c-paper) / .6);
  box-shadow:none;
}
.fs-gu-ct-band .fs-gu-btn2:hover{background:rgb(var(--c-paper) / .08);}
.fs-gu-ct-note{
  margin-top:1.4rem;
  font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:rgb(var(--c-paper) / .65);
}
/* Dark pages: ink-950 flips light, which would turn the band into an
   ivory panel and wash the gilt accent out on it. Keep the band a
   raised DARK surface instead, with the light ink for type — the twin
   gilt keylines still carry the letterpress identity. */
/* :is(.dark *):not(.fs-preview-light *), not ".dark ANCESTOR" -- the
   ambient .dark on <html> (layout.tsx's boot script, the visitor's OS
   preference) is not this SITE's resolved mode; siteShell() marks the
   site wrapper .dark or .fs-preview-light correctly, and this rule
   used to fire on a LIGHT site for any dark-OS visitor. Same fix as
   LedgerLite (2026-09-03) and the pattern member-prime already uses. */
.fs-gu-ct-band:is(.dark *):not(.fs-preview-light *){background:rgb(var(--c-paper-soft));}
.fs-gu-ct-band:is(.dark *):not(.fs-preview-light *) .fs-gu-title,
.fs-gu-ct-band:is(.dark *):not(.fs-preview-light *) .fs-gu-eyebrow,
.fs-gu-ct-band:is(.dark *):not(.fs-preview-light *) .fs-gu-ct-phone{color:rgb(var(--c-ink-950));}
.fs-gu-ct-band:is(.dark *):not(.fs-preview-light *) .fs-gu-sub{color:rgb(var(--c-ink-700));}
.fs-gu-ct-band:is(.dark *):not(.fs-preview-light *) .fs-gu-accent{filter:none;}
.fs-gu-ct-band:is(.dark *):not(.fs-preview-light *) .fs-gu-btn{color:rgb(var(--c-paper));box-shadow:inset 0 0 0 1px rgb(var(--c-paper) / .4), inset 0 0 0 4px rgb(var(--c-accent, var(--c-brand-600)));}
.fs-gu-ct-band:is(.dark *):not(.fs-preview-light *) .fs-gu-btn2{color:rgb(var(--c-ink-950));border-color:rgb(var(--c-ink-950) / .55);}
.fs-gu-ct-band:is(.dark *):not(.fs-preview-light *) .fs-gu-btn2:hover{background:rgb(var(--c-ink-950) / .08);}
.fs-gu-ct-note:is(.dark *):not(.fs-preview-light *){color:rgb(var(--c-ink-400));}
.fs-gu-wire .fs-gu-ct-band{background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));}
.fs-gu-wire .fs-gu-ct-band .fs-gu-title,.fs-gu-wire .fs-gu-ct-band .fs-gu-eyebrow{color:rgb(var(--c-ink-950));}
.fs-gu-wire .fs-gu-ct-band .fs-gu-sub{color:rgb(var(--c-ink-700));}

/* ── favGuildFooter (theme-chrome batch 2, Enamel) ─────────────────
   The band is the full-bleed container fs-gu-ft; the content box is the
   named container fs-gu-ft-in, which narrows with the site's Layout. */
.fs-gu-ft{container-type:inline-size;container-name:fs-gu-ft;padding:0 clamp(1rem,4vw,2.5rem);background:rgb(var(--c-paper-soft));--gu-ft-gilt:rgb(var(--c-accent, var(--c-brand-600)));--gu-ft-gilt-r:rgb(var(--c-accent, var(--c-brand-600)) / .75);--gu-ft-sub:color-mix(in srgb, rgb(var(--c-ink-950)) 77%, rgb(var(--c-paper)));--gu-ft-rule:rgb(var(--c-ink-950) / .15);--gu-ft-plaque:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 62%, rgb(var(--c-ink-950)))}
.fs-gu-ft:is(.dark *):not(.fs-preview-light *){--gu-ft-gilt-r:rgb(var(--c-accent, var(--c-brand-600)) / .7);--gu-ft-sub:color-mix(in srgb, rgb(var(--c-ink-950)) 70%, rgb(var(--c-paper)));--gu-ft-plaque:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-gu-ft-in{container-type:inline-size;container-name:fs-gu-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:54px 28px}
.fs-gu-ft-plate{display:flex;align-items:center;}
.fs-gu-ft-fr{flex:1 1 0;min-width:20px;height:7px;background:linear-gradient(var(--gu-ft-gilt-r),var(--gu-ft-gilt-r)) 0 0/100% 1px no-repeat,linear-gradient(var(--gu-ft-gilt-r),var(--gu-ft-gilt-r)) 0 6px/100% 1px no-repeat;}
.fs-gu-ft-plaque{position:relative;overflow:hidden;flex:none;max-width:78%;padding:16px 30px 15px;text-align:center;background:var(--gu-ft-plaque);color:rgb(var(--c-paper));box-shadow:0 14px 30px -16px rgb(0 0 0 / .55);}
.fs-gu-ft-plaque::before{content:'';position:absolute;inset:5px;border:1px solid rgb(var(--c-paper) / .62);pointer-events:none;}
.fs-gu-ft-plaque::after{content:'';position:absolute;top:-30%;bottom:-30%;left:-25%;width:18%;background:linear-gradient(105deg,transparent,rgb(255 255 255 / .2),transparent);transform:translateX(-120%) rotate(8deg);pointer-events:none;}
.fs-gu-anim .fs-gu-ft-plaque::after{animation:fs-gu-ft-glint 7s ease-in-out infinite;}
.fs-gu-ft-plaque>*{position:relative;}
.fs-gu-ft-name{margin:0;font-family:var(--font-display, Georgia, serif);font-size:22px;font-weight:700;line-height:1.15;letter-spacing:.03em;}
.fs-gu-ft-sub{margin:6px 0 0;font-size:11px;font-weight:700;line-height:1.3;letter-spacing:.16em;text-transform:uppercase;}
.fs-gu-ft-state{max-width:38rem;margin:18px auto 0;text-align:center;font-family:var(--font-display, Georgia, serif);font-style:italic;font-weight:400;font-size:17px;line-height:1.5;color:var(--gu-ft-sub);text-wrap:balance;}
.fs-gu-ft-cols{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,.85fr) minmax(0,1.05fr);margin:42px 0 0;}
.fs-gu-ft-col{position:relative;min-width:0;padding:30px 28px 6px 0;background:linear-gradient(var(--gu-ft-gilt-r),var(--gu-ft-gilt-r)) 0 8px/100% 1px no-repeat;}
.fs-gu-ft-col::before{content:'';position:absolute;left:0;top:3px;width:18px;height:11px;border-radius:50%;background:rgb(var(--c-paper-soft));border:1.5px solid var(--gu-ft-gilt);}
.fs-gu-ft-h{margin:0;font-family:var(--font-display, Georgia, serif);font-size:19px;font-weight:700;line-height:1.2;color:rgb(var(--c-brand-text));}
.fs-gu-ft-p{margin:9px 0 0;font-size:15px;line-height:1.55;color:var(--gu-ft-sub);overflow-wrap:anywhere;}
.fs-gu-ft-tel{display:inline-block;margin:9px 0 0;font-family:var(--font-display, Georgia, serif);font-size:21px;font-weight:700;line-height:1.2;letter-spacing:.02em;color:rgb(var(--c-ink-950));text-decoration:none;}
.fs-gu-ft-mail{color:inherit;text-decoration:none;}
.fs-gu-ft-link:hover,.fs-gu-ft-mail:hover{text-decoration:underline 1px var(--gu-ft-gilt);text-underline-offset:4px;}
.fs-gu-ft-list{list-style:none;margin:5px 0 0;padding:0;font-size:15px;}
.fs-gu-ft-li{padding-block:3px;line-height:1.5;}
.fs-gu-ft-link{color:rgb(var(--c-ink-950));text-decoration:none;}
.fs-gu-ft-hours{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:9px 0 0;font-size:15px;}
.fs-gu-ft-hrow{display:contents;}
.fs-gu-ft-dt{margin:0;color:rgb(var(--c-ink-950));font-weight:500;}
.fs-gu-ft-dd{margin:0;color:var(--gu-ft-sub);}
.fs-gu-ft-legal{display:flex;flex-wrap:wrap;gap:6px 20px;margin:40px 0 0;padding-top:16px;border-top:1px solid var(--gu-ft-rule);font-size:13.5px;color:var(--gu-ft-sub);}
.fs-gu-ft-legal-t{margin-right:auto;color:inherit;}
.fs-gu-ft-legal-a{color:inherit;text-decoration:none;}
.fs-gu-ft-legal-a:hover{color:rgb(var(--c-ink-950));}
@container fs-gu-ft (max-width: 40rem){
  .fs-gu-ft-in{padding-block:40px 24px}
}
@container fs-gu-ft-in (max-width: 56rem){
  .fs-gu-ft-cols{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:22px}
}
@container fs-gu-ft (max-width: 48rem){
  .fs-gu-ft-cols{grid-template-columns:minmax(0,1fr);row-gap:18px;margin-top:32px}
  .fs-gu-ft-col{padding-right:0}
  .fs-gu-ft-plaque{padding:14px 22px 13px}
  .fs-gu-ft-name{font-size:20px}
  .fs-gu-ft-legal-t{margin-right:0;flex-basis:100%}
}
@keyframes fs-gu-ft-glint{0%,74%{transform:translateX(-120%) rotate(8deg)}88%,100%{transform:translateX(820%) rotate(8deg)}}
@media (prefers-reduced-motion: reduce){
  .fs-gu-ft-plaque::after{animation:none;display:none}
}


.fs-sv{
  position:relative;overflow:hidden;
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
}
.fs-sv *{box-sizing:border-box;}
.fs-sv-num{font-variant-numeric:tabular-nums;}

/* ── Shared motifs ──────────────────────────────────────────────
   The dimension rule: hairline, tick ends, brass datum diamond. */
.fs-sv-rule{
  display:block;position:relative;height:1.5px;
  background:rgb(var(--c-ink-950) / .6);
}
.fs-sv-rule::before,.fs-sv-rule::after{
  content:'';position:absolute;top:-0.34rem;
  width:1.5px;height:.75rem;
  background:rgb(var(--c-ink-950) / .6);
}
.fs-sv-rule::before{left:0;}
.fs-sv-rule::after{right:0;}
.fs-sv-rule i{
  position:absolute;left:50%;top:50%;
  width:.55rem;height:.55rem;margin:-.275rem 0 0 -.275rem;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  transform:rotate(45deg);
}
@keyframes fs-sv-draw{from{transform:scaleX(0);}}
.fs-sv-anim .fs-sv-rule{
  transform-origin:left center;
  animation:fs-sv-draw .9s cubic-bezier(.22,.61,.36,1) both;
}
.fs-sv-wire .fs-sv-rule i{display:none;}

/* The title-block eyebrow: a drawing label, not a badge. */
.fs-sv-eyebrow{
  display:inline-flex;align-items:center;gap:.55rem;
  padding:.45rem .85rem;
  border:1.5px solid rgb(var(--c-ink-950) / .75);
  background:rgb(var(--c-paper-soft));
  font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
}
.fs-sv-eyebrow::before{
  content:'';width:.5rem;height:.5rem;flex:none;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  transform:rotate(45deg);
}
.fs-sv-wire .fs-sv-eyebrow::before{display:none;}

/* Type */
.fs-sv-title{
  margin:1.4rem 0 0;
  font-family:var(--font-display, ui-sans-serif, system-ui, sans-serif);
  font-size:clamp(2.4rem,5.5vw,4rem);
  font-weight:800;line-height:1.05;letter-spacing:-0.02em;
  text-wrap:balance;
}
.fs-sv-accent{color:rgb(var(--c-brand-600));}
.fs-sv-sub{
  margin-top:1.2rem;max-width:min(40rem, var(--fs-layout-clamp, 40rem));
  font-size:1.02rem;line-height:1.65;
  color:rgb(var(--c-ink-700));
}
.fs-sv-h{
  margin:0;
  font-family:var(--font-display, ui-sans-serif, system-ui, sans-serif);
  font-size:var(--fs-type-h2, clamp(1.75rem,3.2vw,2.5rem));
  font-weight:var(--fs-type-h2-weight, 700);
  letter-spacing:var(--fs-type-h2-tracking, -0.015em);
  line-height:var(--fs-type-h2-leading, 1.2);
  text-wrap:balance;
}

/* Buttons (spans in previews — the theme's buttonStyle covers real
   button blocks; these are the set's own drawn controls). */
.fs-sv-ctas{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem;}
.fs-sv-btn,.fs-sv-btn2{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.85rem 1.5rem;cursor:pointer;
  font-size:.92rem;font-weight:700;letter-spacing:.02em;
  transition:transform .15s ease, box-shadow .15s ease, background-color .15s ease, color .15s ease;
}
.fs-sv-btn{
  background:rgb(var(--c-brand-600));
  border:2px solid rgb(var(--c-brand-600));
  color:rgb(var(--c-paper));
}
.fs-sv-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 18px -8px rgb(var(--c-ink-950) / .45);
}
.fs-sv-btn2{
  background:transparent;
  border:2px solid rgb(var(--c-ink-950));
  color:rgb(var(--c-ink-950));
}
.fs-sv-btn2:hover{
  background:rgb(var(--c-ink-950));
  color:rgb(var(--c-paper));
}
.fs-sv-wire .fs-sv-btn,.fs-sv-wire .fs-sv-btn2{box-shadow:none;transform:none;}

/* ═════════ HERO (favSpecHero) ═════════ */
.fs-sv-hero{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-sv-hero-inner{
  position:relative;max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(2rem,5vw,4rem);align-items:center;
}
@media (max-width:920px){.fs-sv-hero-inner{grid-template-columns:1fr;gap:3rem;}}
.fs-sv-hero-rule{margin-top:1.7rem;width:min(21rem,100%);}

/* The spec strip: three readings off the job sheet. */
.fs-sv-specs{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1rem;margin-top:2.2rem;padding-top:1rem;
  border-top:1.5px solid rgb(var(--c-line));
}
.fs-sv-spec{display:flex;flex-direction:column;gap:.25rem;}
.fs-sv-spec + .fs-sv-spec{border-left:1.5px solid rgb(var(--c-line));padding-left:1rem;}
.fs-sv-spec-v{
  font-family:var(--font-display, ui-sans-serif, system-ui, sans-serif);
  font-size:1.55rem;font-weight:800;letter-spacing:-0.01em;
}
.fs-sv-spec-l{
  font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
@media (max-width:520px){
  .fs-sv-specs{grid-template-columns:1fr;}
  .fs-sv-spec + .fs-sv-spec{border-left:none;padding-left:0;border-top:1.5px solid rgb(var(--c-line));padding-top:.8rem;}
}

/* The stage: a keyline frame with an offset hairline echo and the
   brass datum diamond seated on its corner. */
.fs-sv-stage{position:relative;display:flex;justify-content:center;padding:1.2rem;}
.fs-sv-frame{
  position:relative;z-index:1;
  width:min(27rem,100%);aspect-ratio:4 / 3;
  overflow:visible;
  background:rgb(var(--c-paper-soft));
  border:2px solid rgb(var(--c-ink-950));
}
.fs-sv-frame img{width:100%;height:100%;object-fit:cover;display:block;}
.fs-sv-frame > *{width:100%;height:100%;}
.fs-sv-frame-marks{
  position:absolute;inset:-.9rem;width:auto;height:auto;
  border:1.5px solid rgb(var(--c-ink-950) / .3);
  pointer-events:none;
}
.fs-sv-frame-datum{
  position:absolute;top:-1.2rem;right:-1.2rem;
  width:.65rem;height:.65rem;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  transform:rotate(45deg);
  pointer-events:none;
}
/* No image set: a drawn two-tone herringbone wash. */
.fs-sv-frame-fallback{
  display:block;position:relative;width:100%;height:100%;
  background:
    repeating-linear-gradient(45deg,
      rgb(var(--c-brand-600) / .28) 0 1.1rem,
      transparent 1.1rem 2.2rem),
    repeating-linear-gradient(-45deg,
      rgb(var(--c-brand-600) / .5) 0 1.1rem,
      rgb(var(--c-accent, var(--c-brand-600)) / .25) 1.1rem 2.2rem);
}
.fs-sv-wire .fs-sv-frame-marks,
.fs-sv-wire .fs-sv-frame-datum,
.fs-sv-wire .fs-sv-frame-fallback{display:none;}

/* ═════════ PAGE HEADER (favSpecHeader) ═════════ */
.fs-sv-hd{padding:var(--fs-space-section, clamp(2.6rem,6vw,4.5rem)) clamp(1rem,4vw,2.5rem);}
.fs-sv-hd-inner{max-width:var(--fs-layout-max,72rem);margin:0 auto;}
.fs-sv-hd-title{font-size:clamp(2.1rem,4.5vw,3.4rem);}
.fs-sv-hd-rule{margin-top:1.5rem;width:10rem;}
.fs-sv-hd .fs-sv-sub{max-width:min(46rem, var(--fs-layout-clamp, 46rem));}

/* ═════════ ESTIMATOR (favSpecEstimator) ═════════
   The working instrument: chips, a ruler slider, a live figure. */
.fs-sv-est{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-sv-est-head{max-width:var(--fs-layout-max,64rem);margin:0 auto 1.8rem;}
.fs-sv-est-card{
  position:relative;max-width:var(--fs-layout-max,64rem);margin:0 auto;
  display:grid;grid-template-columns:1.15fr .85fr;
  border:2px solid rgb(var(--c-ink-950));
  background:rgb(var(--c-paper-soft));
}
.fs-sv-est-card::before{
  content:'';position:absolute;inset:-.8rem;
  border:1.5px solid rgb(var(--c-ink-950) / .28);
  pointer-events:none;
}
@media (max-width:860px){.fs-sv-est-card{grid-template-columns:1fr;}}
.fs-sv-est-controls{
  padding:clamp(1.4rem,3vw,2.2rem);
  border-right:1.5px solid rgb(var(--c-line));
  display:flex;flex-direction:column;gap:.9rem;
}
@media (max-width:860px){.fs-sv-est-controls{border-right:none;border-bottom:1.5px solid rgb(var(--c-line));}}
.fs-sv-est-legend{
  font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-sv-est-chips{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;}
@media (max-width:520px){.fs-sv-est-chips{grid-template-columns:1fr;}}
/* Chip selectors are double-classed (.fs-sv .fs-sv-est-chip) on
   purpose: the editor's typography layer styles EVERY canvas
   <button> at (0,1,1) — ".fs-typo button" reads --fs-btn-color,
   which defaults to white for filled site CTAs — so the chip needs
   (0,2,0) to keep its own ink. The label spans also carry explicit
   colour as a second line of defence. */
.fs-sv .fs-sv-est-chip{
  position:relative;
  display:flex;flex-direction:column;gap:.2rem;align-items:flex-start;text-align:left;
  padding:.7rem .85rem;cursor:pointer;
  font-family:inherit;font-size:inherit;letter-spacing:0;text-transform:none;
  border:1.5px solid rgb(var(--c-ink-950) / .55);
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
  transition:border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
}
.fs-sv .fs-sv-est-chip:hover{border-color:rgb(var(--c-brand-600));}
.fs-sv .fs-sv-est-chip[aria-pressed="true"]{
  border-color:rgb(var(--c-brand-600));
  box-shadow:inset 0 0 0 1.5px rgb(var(--c-brand-600));
  background:rgb(var(--c-brand-50));
}
/* The selected chip carries a non-colour cue too: the brass datum
   diamond on its top-right corner — same mark as the rules and logo. */
.fs-sv .fs-sv-est-chip[aria-pressed="true"]::after{
  content:'';position:absolute;top:-.3rem;right:-.3rem;
  width:.55rem;height:.55rem;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  transform:rotate(45deg);
}
.fs-sv .fs-sv-est-chip:focus-visible{
  outline:2px solid rgb(var(--c-brand-600));outline-offset:2px;
}
.fs-sv .fs-sv-est-chip-name{font-size:.92rem;font-weight:700;color:rgb(var(--c-ink-950));}
.fs-sv .fs-sv-est-chip-rate{font-size:.78rem;color:rgb(var(--c-ink-400));}
/* On the brand-50 selected tint the muted ink can drop below AA —
   step the rate up to mid ink there. */
.fs-sv .fs-sv-est-chip[aria-pressed="true"] .fs-sv-est-chip-rate{color:rgb(var(--c-ink-700));}
.fs-sv .fs-sv-est-prep{flex-direction:row;justify-content:space-between;align-items:center;width:100%;}
.fs-sv-wire .fs-sv-est-chip[aria-pressed="true"]::after{display:none;}

.fs-sv-est-arearow{
  display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-top:.4rem;
}
.fs-sv-est-areaval{
  font-family:var(--font-display, ui-sans-serif, system-ui, sans-serif);
  font-size:1.35rem;font-weight:800;
}
/* The ruler: baseline + repeating ticks; the thumb is the gauge. */
/* Tall input on purpose: the whole 2.2rem strip is the pointer target
   (WCAG 2.5.8 needs ≥24px; thumbs on phones need more), while the
   drawn ruler stays a slim baseline at the bottom of it. */
.fs-sv-est-range{
  appearance:none;-webkit-appearance:none;width:100%;height:2.2rem;margin:0;
  cursor:ew-resize;background:transparent;
  border-bottom:2px solid rgb(var(--c-ink-950));
  background-image:repeating-linear-gradient(90deg,
    rgb(var(--c-ink-950) / .45) 0 1.5px, transparent 1.5px calc(100% / 11));
  background-size:100% .55rem;
  background-position:0 bottom;
  background-repeat:no-repeat;
}
.fs-sv-est-range::-webkit-slider-thumb{
  appearance:none;-webkit-appearance:none;
  width:1.2rem;height:1.8rem;
  background:rgb(var(--c-brand-600));
  border:2px solid rgb(var(--c-paper));
  box-shadow:0 0 0 1.5px rgb(var(--c-ink-950));
  cursor:ew-resize;
}
.fs-sv-est-range::-moz-range-thumb{
  width:1.15rem;height:1.7rem;border-radius:0;
  background:rgb(var(--c-brand-600));
  border:2px solid rgb(var(--c-paper));
  box-shadow:0 0 0 1.5px rgb(var(--c-ink-950));
  cursor:ew-resize;
}
.fs-sv-est-range:focus-visible{
  outline:2px solid rgb(var(--c-brand-600));outline-offset:4px;
}
.fs-sv-est-range:disabled{cursor:default;opacity:.6;}
.fs-sv-wire .fs-sv-est-range{background-image:none;}

.fs-sv-est-result{
  padding:clamp(1.4rem,3vw,2.2rem);
  display:flex;flex-direction:column;justify-content:center;gap:.55rem;
  background:rgb(var(--c-paper));
}
.fs-sv-est-figure{
  display:block;
  font-family:var(--font-display, ui-sans-serif, system-ui, sans-serif);
  font-size:clamp(1.9rem,3.4vw,2.6rem);
  font-weight:800;letter-spacing:-0.01em;line-height:1.1;
}
.fs-sv-est-recap{
  display:block;margin-top:.3rem;
  font-size:.85rem;color:rgb(var(--c-ink-400));
}
.fs-sv-est-note{font-size:.82rem;line-height:1.5;color:rgb(var(--c-ink-400));}
.fs-sv-est-cta{margin-top:.6rem;align-self:flex-start;}

/* ═════════ PROCESS (favSpecProcess) ═════════ */
.fs-sv-pr{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-sv-pr-head{max-width:var(--fs-layout-max,72rem);margin:0 auto 2rem;}
.fs-sv-pr-grid{
  max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:var(--fs-space-gap, 1.1rem);
}
@media (max-width:980px){.fs-sv-pr-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.fs-sv-pr-grid{grid-template-columns:1fr;}}
/* Each step is a station on the measured line: hairline top, datum
   diamond at the origin, the reading number in brand. */
.fs-sv-pr-step{
  position:relative;padding-top:1.3rem;
  border-top:1.5px solid rgb(var(--c-ink-950) / .5);
}
.fs-sv-pr-step::before{
  content:'';position:absolute;top:-.3rem;left:0;
  width:.55rem;height:.55rem;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  transform:rotate(45deg);
}
.fs-sv-wire .fs-sv-pr-step::before{display:none;}
.fs-sv-pr-num{
  font-family:var(--font-display, ui-sans-serif, system-ui, sans-serif);
  font-size:.95rem;font-weight:800;letter-spacing:.12em;
  color:rgb(var(--c-brand-600));
}
.fs-sv-pr-t{
  margin:.45rem 0 .4rem;
  font-size:.95rem;font-weight:750;letter-spacing:.05em;text-transform:uppercase;
}
.fs-sv-pr-b{font-size:.92rem;line-height:1.6;color:rgb(var(--c-ink-700));}

/* ═════════ SPEC SHEET CTA (favSpecCta) ═════════ */
.fs-sv-cta{padding:var(--fs-space-section, clamp(3rem,7vw,5rem)) clamp(1rem,4vw,2.5rem);}
.fs-sv-cta-panel{
  position:relative;max-width:var(--fs-layout-max,56rem);margin:0 auto;
  padding:clamp(1.8rem,4.5vw,3.2rem);
  border:2px solid rgb(var(--c-ink-950));
  background:rgb(var(--c-paper-soft));
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.fs-sv-cta-panel::before{
  content:'';position:absolute;inset:-.8rem;
  border:1.5px solid rgb(var(--c-ink-950) / .28);
  pointer-events:none;
}
/* The datum diamond, seated on the top edge like a dimension marker. */
.fs-sv-cta-panel::after{
  content:'';position:absolute;top:-.34rem;left:50%;margin-left:-.34rem;
  width:.68rem;height:.68rem;
  background:rgb(var(--c-accent, var(--c-brand-600)));
  transform:rotate(45deg);
}
.fs-sv-wire .fs-sv-cta-panel::before,.fs-sv-wire .fs-sv-cta-panel::after{display:none;}
.fs-sv-cta-title{margin-top:1.2rem;font-size:clamp(1.9rem,4vw,3rem);}
.fs-sv-cta-sub{max-width:36rem;}
.fs-sv-cta-phone{
  margin-top:1.1rem;
  font-family:var(--font-display, ui-sans-serif, system-ui, sans-serif);
  font-size:clamp(1.7rem,3.6vw,2.6rem);
  font-weight:800;letter-spacing:.01em;
  color:rgb(var(--c-brand-600));
}
.fs-sv-cta-actions{margin-top:1.2rem;justify-content:center;}
.fs-sv-cta-note{
  margin-top:1rem;
  font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}

/* ── favSpecFooter (theme-chrome batch 2, Vernier) ─────────────────
   fs-sv-ft: the full-bleed band (named container); fs-sv-ft-in: the
   content box, which narrows with the Layout (named container). */
.fs-sv-ft{container-type:inline-size;container-name:fs-sv-ft;padding:0 clamp(1rem,4vw,2.5rem);background:rgb(var(--c-paper-soft));border-top:1.5px solid var(--sv-ft-hair);--sv-ft-hair:rgb(var(--c-ink-950) / .15);--sv-ft-sub:color-mix(in srgb, rgb(var(--c-ink-950)) 76%, rgb(var(--c-paper)));--sv-ft-rule:rgb(var(--c-ink-950) / .55)}
.fs-sv-ft:is(.dark *):not(.fs-preview-light *){--sv-ft-sub:color-mix(in srgb, rgb(var(--c-ink-950)) 73%, rgb(var(--c-paper)));--sv-ft-rule:rgb(var(--c-ink-950) / .5)}
.fs-sv-ft-in{container-type:inline-size;container-name:fs-sv-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:54px 30px}
.fs-sv-ft-mark{flex:none;width:34px;height:34px}
.fs-sv-ft-mark-v{fill:rgb(var(--c-brand-600))}
.fs-sv-ft-mark-d{fill:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-sv-ft-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);align-items:end;gap:26px 56px}
.fs-sv-ft-name{display:flex;align-items:center;gap:12px;margin:0;font-family:var(--font-display, 'Helvetica Neue', Arial, sans-serif);font-size:27px;font-weight:800;line-height:1.1;letter-spacing:-.02em}
.fs-sv-ft-state{margin:12px 0 0;max-width:44ch;font-size:15px;line-height:1.6;color:var(--sv-ft-sub)}
.fs-sv-ft-reads{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none}
.fs-sv-ft-read{display:flex;flex-direction:column;gap:6px;min-width:0;padding-left:18px;border-left:1.5px solid var(--sv-ft-rule)}
.fs-sv-ft-read-v{font-family:var(--font-display, 'Helvetica Neue', Arial, sans-serif);font-size:31px;font-weight:800;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}
.fs-sv-ft-read-l{font-size:11px;font-weight:700;line-height:1.4;letter-spacing:.07em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
.fs-sv-ft-rule{display:block;position:relative;height:12px;margin-block:34px 36px;background:linear-gradient(var(--sv-ft-rule),var(--sv-ft-rule)) 0 50%/100% 1.5px no-repeat,linear-gradient(var(--sv-ft-rule),var(--sv-ft-rule)) 0 0/1.5px 100% no-repeat,linear-gradient(var(--sv-ft-rule),var(--sv-ft-rule)) 100% 0/1.5px 100% no-repeat}
.fs-sv-ft-rule::after{content:'';position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px 0 0 -4px;background:rgb(var(--c-accent, var(--c-brand-600)));transform:rotate(45deg)}
.fs-sv-ft-cols{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1.15fr) minmax(0,.9fr) minmax(0,.9fr);gap:30px 36px}
.fs-sv-ft-col{position:relative;min-width:0;padding-top:16px;border-top:1.5px solid var(--sv-ft-rule)}
.fs-sv-ft-col::before{content:'';position:absolute;top:-5.25px;left:0;width:9px;height:9px;background:rgb(var(--c-accent, var(--c-brand-600)));transform:rotate(45deg)}
.fs-sv-ft-h{margin:0 0 12px;font-size:12px;font-weight:800;line-height:1.2;letter-spacing:.12em;text-transform:uppercase}
.fs-sv-ft-p{margin:0;font-size:14.5px;line-height:1.55;color:var(--sv-ft-sub)}
.fs-sv-ft-tel{display:block;margin-top:10px;font-family:var(--font-display, 'Helvetica Neue', Arial, sans-serif);font-size:23px;font-weight:800;line-height:1.1;letter-spacing:.005em;color:rgb(var(--c-brand-text));font-variant-numeric:tabular-nums;white-space:nowrap;text-decoration:none}
.fs-sv-ft-mail{display:block;margin-top:6px;font-size:14px;color:rgb(var(--c-ink-950));border-bottom:1px solid var(--sv-ft-rule);overflow-wrap:anywhere;text-decoration:none}
.fs-sv-ft-rates{margin:0;padding:0;list-style:none}
.fs-sv-ft-rate{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-block:6px;border-bottom:1px solid var(--sv-ft-hair);font-size:14.5px}
.fs-sv-ft-rate:first-child{padding-top:0}
.fs-sv-ft-rate-v{font-weight:700;font-variant-numeric:tabular-nums;color:rgb(var(--c-brand-text));white-space:nowrap}
.fs-sv-ft-note{margin:9px 0 0;font-size:13px;line-height:1.5;color:var(--sv-ft-sub)}
.fs-sv-ft-est{display:inline-block;margin-top:8px;font-family:var(--font-display, 'Helvetica Neue', Arial, sans-serif);font-size:13.5px;font-weight:700;line-height:1.3;color:rgb(var(--c-brand-text));border-bottom:1.5px solid currentColor;text-decoration:none}
.fs-sv-ft-links{margin:0;padding:0;list-style:none}
.fs-sv-ft-li{padding-block:4px;font-size:14.5px}
.fs-sv-ft-link{text-decoration:none}
:is(.fs-sv-ft-links,.fs-sv-ft-rates) .fs-sv-ft-link:hover{text-decoration:underline}
.fs-sv-ft-hours{margin:0}
.fs-sv-ft-hrow{display:flex;justify-content:space-between;gap:12px;padding-block:6px;border-bottom:1px solid var(--sv-ft-hair);font-size:14.5px}
.fs-sv-ft-hrow:first-child{padding-top:0}
.fs-sv-ft-dt{margin:0;color:var(--sv-ft-sub)}
.fs-sv-ft-dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.fs-sv-ft-legal{display:flex;flex-wrap:wrap;gap:6px 20px;margin:40px 0 0;padding-top:16px;border-top:1px solid var(--sv-ft-hair);font-size:12.5px;color:var(--sv-ft-sub)}
.fs-sv-ft-legal-t{margin-right:auto}
.fs-sv-ft-legal-a{text-decoration:none}
.fs-sv-ft-legal-a:hover{color:rgb(var(--c-ink-950));text-decoration:underline}
@container fs-sv-ft (max-width: 40rem){
  .fs-sv-ft-in{padding-block:40px 24px}
}
@container fs-sv-ft-in (max-width: 56rem){
  .fs-sv-ft-top{grid-template-columns:minmax(0,1fr)}
  .fs-sv-ft-cols{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:34px}
}
@container fs-sv-ft (max-width: 48rem){
  .fs-sv-ft-cols{grid-template-columns:minmax(0,1fr);row-gap:30px}
  .fs-sv-ft-rule{margin-block:28px 30px}
}
@container fs-sv-ft (max-width: 30rem){
  .fs-sv-ft-name{font-size:24px}
  .fs-sv-ft-reads{grid-template-columns:minmax(0,1fr)}
  .fs-sv-ft-read{flex-direction:row;align-items:baseline;gap:14px;padding:10px 0;border-left:0;border-top:1.5px solid var(--sv-ft-hair)}
  .fs-sv-ft-read:last-child{border-bottom:1.5px solid var(--sv-ft-hair)}
  .fs-sv-ft-read-v{flex:none;width:96px;font-size:25px}
  .fs-sv-ft-legal-t{flex-basis:100%}
}

/* Motion discipline: nothing in the set moves without input. */
@media (prefers-reduced-motion: reduce){
  .fs-sv,.fs-sv *,.fs-sv *::before,.fs-sv *::after{
    animation:none !important;transition:none !important;
  }
}


.fs-pm{
  position:relative;
  background:rgb(var(--c-paper, 255 255 255));
  color:rgb(var(--c-ink-950, 15 14 23));
}
.fs-pm *{box-sizing:border-box;}
.fs-pm-inner{max-width:var(--fs-layout-max,64rem);margin:0 auto;}
.fs-pm-narrow{max-width:min(42rem, var(--fs-layout-clamp, 42rem));margin:0 auto;}

/* ── Shared type ─────────────────────────────────────────────────── */
.fs-pm-eyebrow{
  display:inline-block;padding:.25rem .75rem;border-radius:999px;
  background:rgb(var(--c-brand-600, 101 163 13) / .15);
  color:rgb(var(--c-brand-600, 77 124 15));
  font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
}
.fs-pm-h1{
  margin:1rem 0 0;font-family:var(--font-display, inherit);
  font-size:clamp(2.25rem,5vw,3rem);line-height:1.1;font-weight:700;
  color:rgb(var(--c-ink-950, 15 14 23));
}
.fs-pm-h2{
  margin:0;font-family:var(--font-display, inherit);
  font-size:clamp(1.75rem,3.5vw,1.875rem);line-height:1.2;font-weight:700;
  color:rgb(var(--c-ink-950, 15 14 23));
}
.fs-pm-h3{
  margin:0;font-family:var(--font-display, inherit);
  font-size:1.125rem;font-weight:700;color:rgb(var(--c-ink-950, 15 14 23));
}
.fs-pm-body{
  margin:.75rem 0 0;font-size:1rem;line-height:1.6;
  color:rgb(var(--c-ink-700, 82 82 91));
}
.fs-pm-lead{font-size:1.125rem;}
.fs-pm-muted{font-size:.875rem;color:rgb(var(--c-ink-400, 113 113 122));}

/* ── Shared surfaces ─────────────────────────────────────────────── */
.fs-pm-card{
  border-radius:var(--fs-radius-card, .75rem);
  border:1px solid rgb(var(--c-line, 228 228 231));
  background:rgb(var(--c-paper-soft, 255 255 255));
  padding:1.5rem;
}
.fs-pm-wash{
  border-radius:var(--fs-radius-card, .75rem);
  background:linear-gradient(140deg,
    rgb(var(--c-brand-600, 101 163 13) / .18),
    rgb(var(--c-accent, var(--c-brand-600, 16 185 129)) / .10));
}

/* ── Shared buttons ──────────────────────────────────────────────── */
.fs-pm-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.75rem 1.5rem;border-radius:var(--fs-radius-control, .5rem);
  font-size:.875rem;font-weight:700;line-height:1;white-space:nowrap;
  border:none;cursor:default;transition:background-color .2s ease,border-color .2s ease;
}
.fs-pm-btn-primary{
  background:rgb(var(--c-brand-600, 101 163 13));
  color:rgb(var(--c-paper, 255 255 255));
}
.fs-pm-btn-primary:hover{background:rgb(var(--c-brand-700, 77 124 15));}
.fs-pm-btn-ghost{
  background:transparent;
  border:1px solid rgb(var(--c-line, 228 228 231));
  color:rgb(var(--c-ink-950, 15 14 23));
}
.fs-pm-btn-ghost:hover{border-color:rgb(var(--c-brand-600, 101 163 13) / .5);}
.fs-pm-btn-block{width:100%;}

/* ── Shared bullet list ──────────────────────────────────────────── */
.fs-pm-list{margin:1.25rem 0 0;padding:0;list-style:none;display:grid;gap:.5rem;}
.fs-pm-list li{
  display:flex;align-items:center;gap:.5rem;
  font-size:.875rem;color:rgb(var(--c-ink-700, 82 82 91));
}
.fs-pm-tick{color:rgb(var(--c-brand-600, 101 163 13));flex:none;}
.fs-pm-cross{color:rgb(var(--c-ink-400, 113 113 122));flex:none;}

/* ═════════ HERO ═════════ */
.fs-pm-hero{padding:5rem 1.5rem;}
.fs-pm-hero-grid{display:grid;gap:2.5rem;align-items:center;}
@media (min-width:768px){.fs-pm-hero-grid{grid-template-columns:1fr 1fr;}}
.fs-pm-hero-ctas{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.75rem;}
.fs-pm-hero-panel{padding:2rem;}
.fs-pm-stat{
  display:flex;align-items:center;gap:.75rem;
  padding:.75rem 1rem;margin-bottom:.75rem;
  border-radius:var(--fs-radius-control, .5rem);
  background:rgb(var(--c-paper, 255 255 255) / .8);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
}
.fs-pm-stat:last-child{margin-bottom:0;}
.fs-pm-stat-dot{
  display:inline-flex;align-items:center;justify-content:center;flex:none;
  width:2rem;height:2rem;border-radius:50%;
  background:rgb(var(--c-brand-600, 101 163 13));
  color:rgb(var(--c-paper, 255 255 255));
}
.fs-pm-stat-t{font-size:.875rem;font-weight:600;color:rgb(var(--c-ink-950, 15 14 23));}

/* ═════════ SPLIT ═════════ */
.fs-pm-split{padding:4rem 1.5rem;}
.fs-pm-split-row{display:flex;flex-direction:column;gap:2.5rem;align-items:center;}
@media (min-width:768px){
  .fs-pm-split-row{flex-direction:row;}
  .fs-pm-split-row[data-reverse="yes"]{flex-direction:row-reverse;}
}
.fs-pm-split-media{width:100%;flex:1;aspect-ratio:4/3;}
.fs-pm-split-copy{flex:1;}

/* ═════════ FEATURE GRID ═════════ */
.fs-pm-fg{padding:4rem 1.5rem;}
.fs-pm-fg-head{text-align:center;margin-bottom:2.5rem;}
.fs-pm-fg-grid{display:grid;gap:1.25rem;grid-template-columns:1fr;list-style:none;margin:0;padding:0;}
@media (min-width:640px){.fs-pm-fg-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (min-width:1024px){.fs-pm-fg-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
.fs-pm-fg-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:2.75rem;height:2.75rem;margin-bottom:1rem;
  border-radius:var(--fs-radius-control, .5rem);
  background:rgb(var(--c-brand-600, 101 163 13) / .15);
  color:rgb(var(--c-brand-600, 101 163 13));
}

/* ═════════ COMPARISON ═════════ */
.fs-pm-cmp{padding:4rem 1.5rem;}
.fs-pm-cmp-head{text-align:center;margin-bottom:2rem;}
.fs-pm-cmp-table{
  width:100%;border-collapse:collapse;text-align:left;
  border:1px solid rgb(var(--c-line, 228 228 231));
  border-radius:var(--fs-radius-card, .75rem);
  overflow:hidden;
}
.fs-pm-cmp-table th,.fs-pm-cmp-table td{padding:.75rem 1rem;font-size:.875rem;}
.fs-pm-cmp-table thead tr{
  background:rgb(var(--c-paper-soft, 244 244 245));
  border-bottom:1px solid rgb(var(--c-line, 228 228 231));
}
.fs-pm-cmp-table th{font-weight:600;color:rgb(var(--c-ink-700, 82 82 91));}
.fs-pm-cmp-us{text-align:center;font-weight:700;color:rgb(var(--c-brand-600, 77 124 15));}
.fs-pm-cmp-them{text-align:center;color:rgb(var(--c-ink-400, 113 113 122));}
.fs-pm-cmp-table tbody tr{border-bottom:1px solid rgb(var(--c-line, 228 228 231));}
.fs-pm-cmp-table tbody tr:last-child{border-bottom:0;}
.fs-pm-cmp-table td:first-child{color:rgb(var(--c-ink-700, 82 82 91));}
.fs-pm-cmp-cell{text-align:center;}

/* ═════════ TESTIMONIAL ═════════ */
.fs-pm-ts{padding:5rem 1.5rem;text-align:center;}
.fs-pm-ts-stars{display:flex;justify-content:center;gap:.25rem;margin-bottom:1rem;color:rgb(var(--c-brand-600, 101 163 13));}
.fs-pm-ts-quote{
  margin:0;font-family:var(--font-display, inherit);
  font-size:1.5rem;line-height:1.6;font-weight:500;
  color:rgb(var(--c-ink-950, 15 14 23));
  transition:opacity .5s ease;
}
.fs-pm-ts-author{margin-top:1rem;font-size:.875rem;font-weight:600;color:rgb(var(--c-ink-400, 113 113 122));}
.fs-pm-ts-dots{display:flex;justify-content:center;gap:.375rem;margin-top:1.5rem;}
.fs-pm-ts-dot{
  height:.375rem;width:.375rem;border-radius:999px;
  background:rgb(var(--c-ink-400, 212 212 216) / .5);
  transition:width .3s ease,background-color .3s ease;
}
.fs-pm-ts-dot[data-on="1"]{width:1.5rem;background:rgb(var(--c-brand-600, 101 163 13));}

/* ═════════ PRODUCT SHOWCASE ═════════ */
.fs-pm-ps{padding:4rem 1.5rem;}
.fs-pm-ps-grid{display:grid;gap:2.5rem;align-items:center;max-width:var(--fs-layout-max,56rem);margin:0 auto;}
@media (min-width:768px){.fs-pm-ps-grid{grid-template-columns:1fr 1fr;}}
.fs-pm-ps-media{width:100%;aspect-ratio:1/1;}
.fs-pm-price{margin:.5rem 0 0;font-size:1.5rem;font-weight:700;color:rgb(var(--c-brand-600, 77 124 15));}

/* ═════════ COURSE SHOWCASE ═════════ */
.fs-pm-cs{padding:4rem 1.5rem;}
.fs-pm-cs-card{max-width:min(48rem, var(--fs-layout-clamp, 48rem));margin:0 auto;padding:2rem;}
.fs-pm-cs-modules{margin:1.25rem 0 0;padding:0;list-style:none;display:grid;gap:.5rem;counter-reset:fspm;}
.fs-pm-cs-mod{
  display:flex;align-items:center;gap:.75rem;
  padding:.625rem 1rem;
  border-radius:var(--fs-radius-control, .5rem);
  border:1px solid rgb(var(--c-line, 228 228 231));
}
.fs-pm-cs-num{
  display:inline-flex;align-items:center;justify-content:center;flex:none;
  width:1.5rem;height:1.5rem;border-radius:50%;
  background:rgb(var(--c-brand-600, 101 163 13));
  color:rgb(var(--c-paper, 255 255 255));
  font-size:.75rem;font-weight:700;
}
.fs-pm-cs-mod-t{font-size:.875rem;font-weight:500;color:rgb(var(--c-ink-950, 15 14 23));}
.fs-pm-cs-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.5rem;}

/* ═════════ RETRO PIXEL ═════════
   Deliberately NOT palette-derived: this block's whole premise is the
   flat 4px-border arcade look, and it opts out of theme colour the way
   a designer would expect a "retro pixel" preset to. Only the plate
   colour follows the brand so it does not clash outright. */
.fs-pm-rp{padding:4rem 1.5rem;text-align:center;}
.fs-pm-rp-plate{
  max-width:36rem;margin:0 auto;padding:2rem;
  border:4px solid rgb(var(--c-ink-950, 15 14 23));
  background:rgb(var(--c-brand-600, 163 230 53));
  box-shadow:8px 8px 0 0 rgb(var(--c-ink-950, 0 0 0) / .85);
}
.fs-pm-rp-h{
  margin:0;font-family:'Press Start 2P', monospace;
  font-size:1.5rem;line-height:1.4;font-weight:700;
  text-transform:uppercase;letter-spacing:.1em;
  color:rgb(var(--c-paper, 15 14 23));
}
.fs-pm-rp-sub{margin:1rem 0 0;font-family:monospace;font-size:.875rem;color:rgb(var(--c-paper, 39 39 42) / .85);}
.fs-pm-rp-btn{
  display:inline-block;margin-top:1.5rem;padding:.5rem 1.25rem;
  border:4px solid rgb(var(--c-ink-950, 15 14 23));
  background:rgb(var(--c-paper, 255 255 255));
  color:rgb(var(--c-ink-950, 15 14 23));
  font-family:monospace;font-size:.75rem;font-weight:700;
  text-transform:uppercase;
  box-shadow:4px 4px 0 0 rgb(var(--c-ink-950, 0 0 0) / .85);
  transition:transform .15s ease;
}
.fs-pm-rp-btn:hover{transform:translateY(-2px);}

/* ═════════ COUNTDOWN ═════════ */
.fs-pm-cd{padding:4rem 1.5rem;text-align:center;}
.fs-pm-cd-row{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:1.5rem;}
.fs-pm-cd-cell{display:flex;flex-direction:column;align-items:center;}
.fs-pm-cd-v{
  min-width:3.5rem;padding:.5rem .75rem;
  border-radius:var(--fs-radius-card, .75rem);
  background:rgb(var(--c-ink-950, 15 14 23));
  color:rgb(var(--c-brand-600, 163 230 53));
  font-family:var(--font-display, inherit);
  font-size:1.875rem;font-weight:700;
}
.fs-pm-cd-l{
  margin-top:.25rem;font-size:.625rem;font-weight:600;
  letter-spacing:.05em;text-transform:uppercase;
  color:rgb(var(--c-ink-400, 113 113 122));
}

/* ── Wireframe: strip colour and decoration ──────────────────────── */
.fs-wire .fs-pm-wash{background:rgb(var(--c-paper-soft, 244 244 245));}
.fs-wire .fs-pm-btn-primary{background:rgb(var(--c-ink-950, 15 14 23));}
.fs-wire .fs-pm-stat{backdrop-filter:none;-webkit-backdrop-filter:none;}


/* ── The shell ─────────────────────────────────────────────────── */
/* Signature blocks own their section padding and inner measure — the
   renderer does NOT supply them (see the .fs-cs- rules in
   counsel-styles.ts). Without this the grids ran past the right edge
   of the preview canvas, which is exactly what happened first time. */
.fs-op {
  --fs-op-caption: .875rem;
  position: relative;
  padding: var(--fs-space-section, clamp(3.5rem, 8vw, 6rem)) clamp(1rem, 4vw, 2.5rem);
  background: rgb(var(--c-paper));
  color: rgb(var(--c-ink-950));
}
.fs-op * { box-sizing: border-box; }
.fs-op > * { max-width:var(--fs-layout-max,72rem); margin-inline: auto; }
/* The urgent panel butts against its neighbours — their padding
   supplies the rhythm, and adding more doubled the gap both sides. */
.fs-op-ur { padding-block: 0; }
/* The hero runs tighter than a mid-page section, as on the prototype. */
.fs-op-hero { padding-block: clamp(2rem, 5vw, 3.5rem) clamp(2.5rem, 5vw, 4rem); overflow: hidden; }
.fs-op-reg,
.fs-op-fee-price,
.fs-op-range-price,
.fs-op-voucher-grid dd,
.fs-op-rx-table,
.fs-op-call a,
.fs-op-chip {
  font-variant-numeric: tabular-nums;
  font-feature-settings: 'tnum' 1;
}
.fs-op-chip {
  display: inline-block;
  font-size: var(--fs-op-caption, .875rem);
  letter-spacing: .04em;
  padding: .14em .5em;
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-control);
  color: rgb(var(--c-ink-700));
  white-space: nowrap;
}
.fs-op-chip-brand {
  border-color: rgb(var(--c-brand-600));
  color: rgb(var(--c-brand-600));
}
.fs-op-eyebrow {
  display: block;
  font-size: var(--fs-type-eyebrow, .75rem);
  font-weight: var(--fs-type-eyebrow-weight, 600);
  letter-spacing: var(--fs-type-eyebrow-tracking, .08em);
  text-transform: uppercase;
  color: rgb(var(--c-brand-600));
  margin-bottom: .6rem;
}
.fs-op-h {
  font-family: var(--font-display);
  font-size: var(--fs-type-h2, 2.5rem);
  font-weight: var(--fs-type-h2-weight, 650);
  line-height: var(--fs-type-h2-leading, 1.2);
  letter-spacing: var(--fs-type-h2-tracking, -.015em);
  color: rgb(var(--c-ink-950));
}
.fs-op-h3 {
  font-family: var(--font-display);
  font-size: var(--fs-type-h3, 1.5rem);
  font-weight: var(--fs-type-h3-weight, 600);
  line-height: var(--fs-type-h3-leading, 1.2);
  color: rgb(var(--c-ink-950));
}
.fs-op-sub {
  margin-top: .75rem;
  max-width: var(--fs-measure, 68ch);
  font-size: var(--fs-type-body, 1.125rem);
  line-height: var(--fs-type-body-leading, 1.6);
  color: rgb(var(--c-ink-700));
}
.fs-op-head { margin-bottom: var(--fs-space-heading, 2rem); }
/* DECENTRATION — device 1. 7/5, never 6/6. min-width:0 on the
   children is load-bearing: a grid item defaults to min-content
   width, so without it a scrolling table widens the page instead. */
.fs-op-split {
  display: grid;
  gap: calc(var(--fs-space-gap) * 1.5);
  grid-template-columns: 7fr 5fr;
  align-items: start;
}
.fs-op-split > * { min-width: 0; }
@media (max-width: 860px) {
  .fs-op-split { grid-template-columns: 1fr; }
}

/* THE DATUM EYEBROW — device 4. Small caps with a hairline running
   right, broken by the label. The prototype's signature section
   opener. The gap is painted with --c-paper because the app owns the
   page background and emits no --c-bg. */
.fs-op-datum { position: relative; margin-bottom: var(--fs-space-heading, 2rem); }
.fs-op-datum::before {
  content: '';
  position: absolute; left: 0; right: 0; top: .85em;
  border-top: 1px solid rgb(var(--c-line));
}
.fs-op-datum > * { position: relative; }
.fs-op-eyebrow-datum { background: rgb(var(--c-paper)); padding-right: .9rem; }

/* ── favOpticVision — the drawn hero ───────────────────────────── */
.fs-op-sr {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0;
}
.fs-op-hero-grid {
  display: grid; gap: calc(var(--fs-space-gap) * 1.5);
  grid-template-columns: 7fr 5fr; align-items: center;
}
.fs-op-hero-grid > * { min-width: 0; }
@media (max-width:900px) { .fs-op-hero-grid { grid-template-columns: 1fr; } }
.fs-op-display {
  font-family: var(--font-display);
  font-size: clamp(2.1rem, 4.6vw, 3.5rem);
  font-weight: 650; line-height: 1.1;
  letter-spacing: -.015em;
  color: rgb(var(--c-ink-950));
  margin-bottom: var(--fs-space-stack);
}
.fs-op-lede {
  font-size: clamp(1.125rem, 1.7vw, 1.4rem);
  line-height: 1.5;
  color: rgb(var(--c-ink-700));
  max-width: var(--fs-measure, 68ch);
  margin-top: var(--fs-space-stack);
}
.fs-op-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: var(--fs-space-gap); }
.fs-op-btn, .fs-op-btn-ghost {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px; padding: .7rem 1.4rem;
  font-size: 1rem; font-weight: 700;
  border-radius: var(--fs-radius-control);
  border: 1px solid rgb(var(--c-brand-600));
}
.fs-op-btn { background: rgb(var(--c-brand-600)); color: rgb(var(--c-paper)); }
.fs-op-btn-ghost { background: none; color: rgb(var(--c-brand-600)); }
/* The fact strip under the CTAs — open now, NHS, registration. */
/* Four across when there is room, a clean 2x2 when there is not —
   never a 3 + 1 orphan.
   A CONTAINER query, not a media query, and deliberately: the editor
   renders this preview at a canvas width that has nothing to do with
   the viewport (the chrome eats ~230px, and the tablet/mobile toggles
   narrow it further). A media query reads 1280px and lays out four
   columns into a 560px column. auto-fit gets the arithmetic right but
   picks 3 at exactly this width, which is the ugly case. */
.fs-op-hero-col { container-type: inline-size; }
.fs-op-facts {
  display: grid; gap: .6rem 1.6rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: var(--fs-space-gap);
  padding-top: var(--fs-space-gap);
  border-top: 1px solid rgb(var(--c-line));
}
@container (min-width: 33rem) {
  .fs-op-facts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.fs-op-facts > div { padding-block: .35rem; }
.fs-op-facts dt {
  font-size: var(--fs-type-eyebrow, .75rem); font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-op-facts dd {
  margin: .15rem 0 0; font-weight: 700;
  color: rgb(var(--c-ink-950));
}
.fs-op-vision-fig { margin: 0; position: relative; }
.fs-op-vision { border: 0; padding: 0; margin: 0; min-width: 0; }
.fs-op-vision svg.vr {
  width: 100%; height: auto; display: block;
  background: rgb(var(--c-paper));
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-card);
}
/* the drawing */
.vr-axis   { stroke: rgb(var(--c-accent)); stroke-width: 1; opacity: .55; }
.vr-globe  { fill: rgb(var(--c-brand-600) / .05); stroke: rgb(var(--c-ink-950)); stroke-width: 2; }
.vr-cornea { fill: none; stroke: rgb(var(--c-ink-950)); stroke-width: 2; }
.vr-crys   { fill: rgb(var(--c-paper)); stroke: rgb(var(--c-ink-950)); stroke-width: 2; }
.vr-retina { fill: none; stroke: rgb(var(--c-brand-600)); stroke-width: 3; stroke-linecap: round; }
.vr-fovea  { fill: rgb(var(--c-brand-600)); }
.vr-lbl    { fill: rgb(var(--c-ink-400)); letter-spacing: .12em; text-transform: uppercase; }
/* rays and states — selected on [data-vr], not #ids, so two of these
   on one page cannot cross-wire. */
.vr-state { opacity: 0; transition: opacity .3s ease-in-out; }
[data-vr='myo']:checked  ~ svg .vr-state--myo,
[data-vr='corr']:checked ~ svg .vr-state--corr,
[data-vr='hyp']:checked  ~ svg .vr-state--hyp { opacity: 1; }
.vr-ray   { fill: none; stroke: rgb(var(--c-brand-600)); stroke-width: 2; stroke-linecap: round; opacity: .9; }
.vr-ray--virtual { stroke: rgb(var(--c-ink-400)); stroke-dasharray: 4 6; }
.vr-focus { fill: rgb(var(--c-accent)); transform-box: fill-box; transform-origin: center; }
.vr-focus--virtual { fill: none; stroke: rgb(var(--c-accent)); stroke-width: 1.5; stroke-dasharray: 3 3; }
.vr-smear { stroke: rgb(var(--c-accent)); stroke-width: 5; stroke-linecap: round; opacity: .5; }
.vr-spec {
  fill: rgb(var(--c-brand-50)); stroke: rgb(var(--c-brand-600)); stroke-width: 2;
  transform: translateX(-12px); transition: transform .35s cubic-bezier(.2,.7,.3,1);
}
[data-vr='corr']:checked ~ svg .vr-spec { transform: none; }
/* the chart: blurred when sight is uncorrected — the whole point */
.vr-chart-card { fill: rgb(var(--c-paper)); stroke: rgb(var(--c-line)); }
.vr-chart-lbl  { fill: rgb(var(--c-ink-400)); letter-spacing: .12em; text-transform: uppercase; text-anchor: middle; }
.vr-chart-letters text { fill: rgb(var(--c-ink-950)); font-family: var(--font-display); font-weight: 700; text-anchor: middle; }
.vr-chart-letters { filter: blur(0); transition: filter .35s ease-in-out; }
[data-vr='myo']:checked ~ svg .vr-chart-letters,
[data-vr='hyp']:checked ~ svg .vr-chart-letters { filter: blur(4.5px); }
/* the state chips */
.fs-op-vision-chips { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: .8rem; }
.fs-op-vision-chips label {
  display: inline-flex; align-items: center;
  min-height: 44px; padding: .3em .95em;
  font-size: var(--fs-op-caption, .875rem); font-weight: 700;
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-pill);
  background: rgb(var(--c-paper));
  color: rgb(var(--c-ink-950));
  cursor: pointer; user-select: none;
}
.fs-op-vision-chips label:hover { border-color: rgb(var(--c-brand-600)); }
[data-vr='myo']:checked  ~ .fs-op-vision-chips label[for$='vr-myo'],
[data-vr='corr']:checked ~ .fs-op-vision-chips label[for$='vr-corr'],
[data-vr='hyp']:checked  ~ .fs-op-vision-chips label[for$='vr-hyp'] {
  background: rgb(var(--c-brand-600));
  border-color: rgb(var(--c-brand-600));
  color: rgb(var(--c-paper));
}
[data-vr='myo']:focus-visible  ~ .fs-op-vision-chips label[for$='vr-myo'],
[data-vr='corr']:focus-visible ~ .fs-op-vision-chips label[for$='vr-corr'],
[data-vr='hyp']:focus-visible  ~ .fs-op-vision-chips label[for$='vr-hyp'] {
  outline: 2px solid rgb(var(--c-brand-600)); outline-offset: 2px;
}
/* the caption swaps with the state; min-height so it cannot reflow */
.fs-op-vision-cap {
  margin: .7rem 0 0; min-height: 2.8em;
  font-size: var(--fs-op-caption, .875rem); color: rgb(var(--c-ink-700));
}
.fs-op-vision-cap .cap { display: none; }
[data-vr='myo']:checked  ~ .fs-op-vision-cap .cap-myo,
[data-vr='corr']:checked ~ .fs-op-vision-cap .cap-corr,
[data-vr='hyp']:checked  ~ .fs-op-vision-cap .cap-hyp { display: block; }
/* motion: photons ride the axis, the focal point breathes */
.vr-photon { fill: rgb(var(--c-accent)); opacity: 0; }
@media (prefers-reduced-motion: no-preference) {
  .fs-op-anim .vr-photon {
    opacity: .85;
    offset-path: path('M8 210 L375 210');
    animation: fs-op-photon 7s linear infinite;
  }
  .fs-op-anim .vr-photon--2 { animation-delay: 3.5s; }
  .fs-op-anim .vr-focus:not(.vr-focus--virtual) { animation: fs-op-pulse 3.2s ease-in-out infinite; }
  @keyframes fs-op-photon { from { offset-distance: 0%; } to { offset-distance: 100%; } }
  @keyframes fs-op-pulse  { 0%,100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.55); opacity: .55; } }
}

/* ── favOpticClinics — six cards, icon, copy, price chip ───────── */
.fs-op-services {
  display: grid; gap: var(--fs-space-gap);
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
}
@media (min-width: 64rem) { .fs-op-services { grid-template-columns: repeat(3, 1fr); } }
.fs-op-service {
  padding: var(--fs-space-card);
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-card);
  background: rgb(var(--c-paper));
  display: flex; flex-direction: column;
}
.fs-op-service > svg {
  width: 2.5rem; height: 2.5rem; display: block;
  margin-bottom: var(--fs-space-stack);
  color: rgb(var(--c-brand-600));
}
.fs-op-service .fs-op-h3 { margin-bottom: .4rem; }
.fs-op-service p {
  font-size: var(--fs-op-caption, .875rem);
  color: rgb(var(--c-ink-700));
  flex: 1; margin-bottom: var(--fs-space-stack);
}
.fs-op-service .fs-op-chip { align-self: flex-start; }

/* ── favOpticFigures — the practice, in numbers ────────────────── */
.fs-op-figures {
  display: grid; gap: 0;
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
  border-top: 1px solid rgb(var(--c-line));
}
.fs-op-figures > div {
  padding: var(--fs-space-gap) var(--fs-space-gap) var(--fs-space-gap) 0;
  border-bottom: 1px solid rgb(var(--c-line));
}
.fs-op-figures dt {
  font-family: var(--font-display);
  font-size: clamp(1.9rem, 3.4vw, 2.8rem);
  font-weight: 700; line-height: 1;
  color: rgb(var(--c-brand-600));
}
.fs-op-figures dd {
  margin: .5rem 0 0;
  font-size: var(--fs-op-caption, .875rem);
  color: rgb(var(--c-ink-700));
}

/* ── favOpticUrgent — triage above all commercial content ─────── */
.fs-op-urgent {
  border: 1px solid rgb(var(--c-line));
  border-left: 4px solid rgb(var(--c-accent));
  background: rgb(var(--c-brand-50));
  border-radius: var(--fs-radius-card);
  padding: var(--fs-space-card);
  display: grid;
  gap: var(--fs-space-gap);
  grid-template-columns: 7fr 5fr;
  align-items: center;
  /* No margin: the neighbouring sections' own padding supplies the
     rhythm. Adding margin here doubled the gap on both sides. */
  margin-block: 0;
}
.fs-op-urgent > * { min-width: 0; }
@media (max-width: 860px) {
  .fs-op-urgent { grid-template-columns: 1fr; }
}
.fs-op-urgent .fs-op-h { font-size: var(--fs-type-h3, 1.5rem); }
.fs-op-urgent .fs-op-sub { margin-bottom: .6rem; }
.fs-op-symptoms {
  display: flex; flex-wrap: wrap; gap: .45rem;
  list-style: none; margin: .8rem 0 0; padding: 0;
}
.fs-op-symptoms li {
  font-size: var(--fs-op-caption, .875rem); font-weight: 700;
  padding: .25em .65em;
  border: 1px solid rgb(var(--c-accent));
  border-radius: var(--fs-radius-pill);
  color: rgb(var(--c-ink-950));
}
.fs-op-call { text-align: right; }
@media (max-width: 860px) { .fs-op-call { text-align: left; } }
/* The number is a <span>, not an <a> — see OpticBlocks.tsx. The
   editor's global anchor colour beat this rule on specificity and
   rendered it in the app's default link violet. */
.fs-op-call-num {
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 3.4vw, 2.4rem);
  font-weight: 700; line-height: 1.1;
  color: rgb(var(--c-brand-600));
  display: inline-block; min-height: 44px;
}
.fs-op-call small {
  display: block; margin-top: .35rem;
  font-size: var(--fs-op-caption, .875rem);
  color: rgb(var(--c-ink-700));
}

/* ── favOpticChart — the fee schedule AND the entitlement list ── */
.fs-op-fees { list-style: none; margin: 0; padding: 0; }
.fs-op-fees > li {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: baseline;
  gap: .5rem;
  padding-block: .85rem;
  border-bottom: 1px solid rgb(var(--c-line));
}
.fs-op-fees > li:first-child { border-top: 1px solid rgb(var(--c-line)); }
.fs-op-fee-name { font-weight: 700; color: rgb(var(--c-ink-950)); }
.fs-op-fee-desc {
  display: block; font-weight: 400;
  font-size: var(--fs-op-caption, .875rem);
  color: rgb(var(--c-ink-700));
  margin-top: .15rem; max-width: 46ch;
}
.fs-op-fee-price {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--fs-type-h3, 1.5rem);
  white-space: nowrap;
  text-align: right;
  color: rgb(var(--c-ink-950));
}
.fs-op-fee-price small {
  display: block; text-align: right;
  font-family: inherit; font-weight: 400;
  font-size: var(--fs-op-caption, .875rem);
  color: rgb(var(--c-ink-400));
}
.fs-op-entitle {
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-card);
  padding: var(--fs-space-card);
  background: rgb(var(--c-paper));
}
.fs-op-entitle .fs-op-h3 { margin-bottom: var(--fs-space-stack); }
.fs-op-entitle ul { list-style: none; margin: 0; padding: 0; }
.fs-op-entitle li {
  position: relative;
  padding-left: 1.5rem;
  padding-block: .4rem;
  font-size: var(--fs-op-caption, .875rem);
  color: rgb(var(--c-ink-700));
  border-bottom: 1px solid rgb(var(--c-line) / .6);
}
.fs-op-entitle li:last-child { border-bottom: 0; }
/* The mark, in miniature, as the list bullet — a lens and its datum. */
.fs-op-entitle li::before {
  content: '';
  position: absolute; left: 0; top: .85em;
  width: .62rem; height: .62rem;
  border: 1px solid rgb(var(--c-brand-600));
  border-radius: 50%;
}
.fs-op-entitle li::after {
  content: '';
  position: absolute; left: .34rem; top: 1.02em;
  width: .26rem; height: .26rem;
  background: rgb(var(--c-brand-600));
  border-radius: 50%;
}
.fs-op-note {
  margin: var(--fs-space-stack) 0 0;
  font-size: var(--fs-op-caption, .875rem);
  color: rgb(var(--c-ink-400));
}
.fs-op-chart-img {
  margin-top: var(--fs-space-gap);
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-card);
  overflow: hidden;
}

/* ── favOpticRegister — a register extract, never a team grid ─── */
/* NO PHOTOGRAPHS, deliberately: the fix for a sector that substitutes
   stock portraits for registration is the NUMBER, not a nicer photo. */
.fs-op-register { border-top: 1px solid rgb(var(--c-line)); }
.fs-op-register-row {
  display: grid;
  grid-template-columns: 6fr 3fr 3fr;
  gap: var(--fs-space-gap);
  align-items: start;
  padding-block: var(--fs-space-gap);
  border-bottom: 1px solid rgb(var(--c-line));
}
@media (max-width: 860px) {
  .fs-op-register-row { grid-template-columns: 1fr; gap: .5rem; }
}
.fs-op-register-name {
  font-family: var(--font-display);
  font-size: var(--fs-type-h3, 1.5rem); font-weight: 600;
  line-height: 1.2;
  color: rgb(var(--c-ink-950));
}
.fs-op-register-quals {
  display: block;
  font-size: var(--fs-op-caption, .875rem); font-weight: 400;
  letter-spacing: .04em; text-transform: uppercase;
  color: rgb(var(--c-brand-600));
  margin-top: .3rem;
}
.fs-op-register-role {
  font-size: var(--fs-op-caption, .875rem);
  color: rgb(var(--c-ink-700));
}
.fs-op-register-goc { text-align: right; }
@media (max-width: 860px) { .fs-op-register-goc { text-align: left; } }
.fs-op-register-goc .fs-op-chip { font-weight: 700; }
.fs-op-register-goc small {
  display: block; margin-top: .35rem;
  font-size: var(--fs-type-eyebrow, .75rem); letter-spacing: .06em;
  text-transform: uppercase; color: rgb(var(--c-ink-400));
}
.fs-op-register-foot {
  margin-top: var(--fs-space-gap);
  font-size: var(--fs-op-caption, .875rem);
  color: rgb(var(--c-ink-700));
}

/* ── favOpticFrames — the only block here that sells ──────────── */
.fs-op-ranges {
  display: grid; gap: var(--fs-space-gap);
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
}
.fs-op-range {
  display: flex; flex-direction: column;
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-card);
  overflow: hidden;
  background: rgb(var(--c-paper));
}
.fs-op-range img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.fs-op-range-body {
  padding: var(--fs-space-card);
  display: flex; flex-direction: column; flex: 1;
}
.fs-op-range-body .fs-op-h3 { margin-bottom: .4rem; }
.fs-op-range-body p {
  font-size: var(--fs-op-caption, .875rem);
  color: rgb(var(--c-ink-700)); flex: 1;
}
.fs-op-range-price {
  margin-top: var(--fs-space-stack);
  padding-top: var(--fs-space-stack);
  border-top: 1px solid rgb(var(--c-line));
  font-family: var(--font-display);
  font-size: var(--fs-type-h3, 1.5rem); font-weight: 700;
  color: rgb(var(--c-ink-950));
}
/* The voucher strip is what keeps the selling block honest. */
.fs-op-voucher {
  margin-top: var(--fs-space-gap);
  border: 1px solid rgb(var(--c-brand-600));
  border-radius: var(--fs-radius-card);
  padding: var(--fs-space-card);
  background: rgb(var(--c-brand-50));
}
.fs-op-voucher .fs-op-h3 { margin-bottom: var(--fs-space-stack); }
.fs-op-voucher-grid {
  display: grid; gap: .5rem;
  grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));
  margin-top: var(--fs-space-stack);
}
.fs-op-voucher-grid > div {
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-control);
  /* --c-bg does not exist in the app; the page chrome paints the
     background, so this falls back to the surface token. */
  padding: .6rem .75rem;
  background: rgb(var(--c-paper));
}
.fs-op-voucher-grid dt {
  font-size: var(--fs-type-eyebrow, .75rem); font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-op-voucher-grid dd {
  margin: .2rem 0 0;
  font-family: var(--font-display); font-weight: 700;
  font-size: var(--fs-type-h3, 1.5rem);
  color: rgb(var(--c-ink-950));
}

/* ── favOpticRx — the prescription decoded, and s.26 ───────────── */
/* A six-column prescription table has a real minimum width and cannot
   reflow — SPH/CYL/AXIS/ADD/PRISM are meaningless stacked. So it
   scrolls inside its OWN box and the page never scrolls sideways. */
.fs-op-rx-scroll { overflow-x: auto; min-width: 0; max-width: 100%; }
.fs-op-rx-table {
  width: 100%; border-collapse: collapse;
  min-width: 22rem;
}
.fs-op-rx-table caption {
  text-align: left; padding-bottom: var(--fs-space-stack);
  font-size: var(--fs-op-caption, .875rem); color: rgb(var(--c-ink-700));
}
.fs-op-rx-table th, .fs-op-rx-table td {
  border: 1px solid rgb(var(--c-line));
  padding: .6rem .7rem;
  text-align: right;
  font-size: var(--fs-op-caption, .875rem);
  color: rgb(var(--c-ink-700));
}
.fs-op-rx-table thead th {
  background: rgb(var(--c-paper-soft));
  font-weight: 700; letter-spacing: .04em;
  color: rgb(var(--c-ink-950));
}
.fs-op-rx-table tbody th {
  text-align: left; font-weight: 700;
  color: rgb(var(--c-ink-950));
}
.fs-op-rx-key { list-style: none; margin: var(--fs-space-gap) 0 0; padding: 0; }
.fs-op-rx-key li {
  display: grid; grid-template-columns: 5.5rem 1fr; gap: .8rem;
  padding-block: .5rem;
  border-bottom: 1px solid rgb(var(--c-line));
  font-size: var(--fs-op-caption, .875rem);
  color: rgb(var(--c-ink-700));
}
.fs-op-rx-key dfn {
  font-style: normal; font-weight: 700;
  letter-spacing: .04em;
  color: rgb(var(--c-brand-600));
}
.fs-op-statute {
  border: 1px solid rgb(var(--c-line));
  border-top: 3px solid rgb(var(--c-brand-600));
  border-radius: var(--fs-radius-card);
  padding: var(--fs-space-card);
  background: rgb(var(--c-paper));
}
.fs-op-statute .fs-op-h3 { margin-bottom: var(--fs-space-stack); }
.fs-op-statute p {
  font-size: var(--fs-op-caption, .875rem);
  color: rgb(var(--c-ink-700));
}
.fs-op-statute p + p { margin-top: .6rem; }
.fs-op-statute cite {
  display: block; margin-top: var(--fs-space-stack);
  font-style: normal; font-size: var(--fs-type-eyebrow, .75rem);
  letter-spacing: .06em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-op-rx-img {
  margin-top: var(--fs-space-gap);
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-card);
  overflow: hidden;
}

/* ── Section bands ─────────────────────────────────────────────── */
/* The prototype alternates a pale wash behind the fee schedule and
   the testimonials. On a washed section the eyebrow's datum gap has
   to match the wash, not the page. */
.fs-op-ch { background: rgb(var(--c-paper-soft)); }
.fs-op-ch .fs-op-eyebrow-datum { background: rgb(var(--c-paper-soft)); }

/* ── Theme-scoped refinements ──────────────────────────────────── */
/* [data-fs-theme] is stamped on the preview root by EditWpClient —
   a generic hook so a theme can refine the UNIVERSAL blocks without
   restyling them for every other theme. Everything below is Stanhope
   only, and is the section finish the prototype has that the builder
   blocks do not: the alternating band under testimonials, and the
   quote/CTA reading as ruled bench work rather than soft cards. */
[data-fs-theme='stanhope'] [data-fs-role='quote'] {
  background: rgb(var(--c-paper));
  border-block: 1px solid rgb(var(--c-line));
}
[data-fs-theme='stanhope'] [data-fs-role='quote'] [data-fs-surface='card'] {
  border: 0; box-shadow: none; background: none;
}
[data-fs-theme='stanhope'] [data-fs-role='gallery'] img { border-radius: var(--fs-radius-card); }
/* The testimonials band: the pale wash the prototype alternates in,
   and its heading in the display serif rather than the block's own
   sans — every other heading on the page is Spectral. */
[data-fs-theme='stanhope'] .fs-testimonials-section { background: rgb(var(--c-paper-soft)); }
[data-fs-theme='stanhope'] .fs-testimonials-section .fs-head-slot {
  font-family: var(--font-display);
  font-weight: 650;
  letter-spacing: -.015em;
}

/* ── Header ────────────────────────────────────────────────────── */
/* The prototype's nav, measured off theme-lab/stanhope/theme.css and
   reproduced here rather than pushed into menu-styles.ts: 'minimal',
   'underlineCenter' and the other seventeen looks are shared by 29
   shipped themes, and Stanhope wants a heavier, larger, blacker nav
   than any of them ship by default. Scoping it keeps the other 28
   navs byte-for-byte unchanged.

   The face is NOT set here and must not be: the nav already inherits
   Atkinson Hyperlegible from the preview root, which carries the
   theme's body font as an inline fontFamily (EditWpClient →
   themeFontStyle). Measured, not assumed — getComputedStyle on a nav
   item reports the theme's own body stack. Only weight, size, tracking
   and ink were wrong. */
[data-fs-theme='stanhope'] .fs-hdr-row { padding-block: .7rem; }
[data-fs-theme='stanhope'] .fs-hdr-row .fsmenu-underlineCenter {
  /* 0.9375rem = the prototype's --fs-type-caption; 700 because
     Atkinson ships 400 and 700 only, so the shared styles' 500 was
     being rendered as 400 and read a full grade too light. */
  font-size: .9375rem;
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1.6;
  /* Ink stays ink THROUGH the hover, which the shared style does not do
     — this rule outranks its .fsmenu-underlineCenter:hover colour, and
     that is the intended reading, not an accident to be tidied away.
     In the prototype a hovered nav link only DRAWS THE RULE; the label
     itself never changes colour, because brand ink is reserved for the
     page you are actually on. */
  color: rgb(var(--c-ink-950));
  /* The prototype's 44px hit box, with the rule sitting on its floor
     rather than 4px under the label. */
  display: inline-flex; align-items: center;
  min-height: 44px;
  padding-block: .7rem;
}
/* Square, and exactly as wide as the label — this is a 'sharp' theme,
   and the shared style's rounded 76%-width rule reads as a highlighter
   mark rather than as the optical datum the mark is built from. */
[data-fs-theme='stanhope'] .fs-hdr-row .fsmenu-underlineCenter::after {
  left: 0; right: 0; border-radius: 0;
}
/* The page you are on: brand ink, with the underline already drawn —
   the same gesture the hover animates to, held open. */
[data-fs-theme='stanhope'] .fs-hdr-row .fsmenu-underlineCenter.fsmw-active {
  color: rgb(var(--c-brand-600));
}
[data-fs-theme='stanhope'] .fs-hdr-row .fsmenu-underlineCenter.fsmw-active::after {
  transform: scaleX(1);
}

/* ════════════════════════════════════════════════════════════════
   BUTTONS AND HOVER — theme.css CONTROLS + the underline-draw grammar

   The nav already carried a theme-scoped refinement; the BUTTONS did
   not. Nothing in this file reached .fs-hdr-cta, .fsbtn or the cta
   block's own control, so every button on a Stanhope page drew the
   app's default and had no hover state at all — while the prototype's
   whole motion argument is that ONE gesture answers the pointer
   everywhere.

   The control, measured off theme-lab/stanhope/theme.css CONTROLS:

     min-height 44px · padding .7rem 1.4rem · 1px border
     the BODY face (font-family: inherit) at body size · 700
     line-height 1.2 · no tracking and no uppercase — deliberately
     plain, because this theme's voice is the datum rule, not the label

   THE GRAMMAR IS 'underline-draw', and it is drawn with background-size
   on a gradient rather than a pseudo-element — the prototype's own
   choice, so it needs no markup and stacks with anything already using
   ::before. Three tuned parameters, all preserved here: it grows from
   the CENTRE OUT (background-position: center bottom, to rhyme with the
   theme's underlineCenter menu style), it is the same 2px brand
   hairline as the section rule, and it arrives in 220ms on ease-out
   with no overshoot.

   On a filled brand button a brand underline is invisible, so the rule
   inverts to the page colour — theme.css does exactly this with
   --c-bg, which this app spells --c-paper (PITFALLS J1).

   No lift, no glow, no shadow: the prototype removes those by name. */
[data-fs-theme='stanhope'] .fsbtn,
[data-fs-theme='stanhope'] .fs-hdr-cta,
[data-fs-theme='stanhope'].fs-typo .fs-hdr-cta,
[data-fs-theme='stanhope'] [data-fs-role='cta'] a,
[data-fs-theme='stanhope'] [data-fs-role='cta'] span[class*='rounded-control'],
[data-fs-theme='stanhope'] .fs-hero-full span[class*='rounded-control'],
[data-fs-theme='stanhope'] .fs-op-btn,
[data-fs-theme='stanhope'] .fs-op-btn-ghost,
[data-fs-theme='stanhope'] [data-fs-fm-submit],
[data-fs-theme='stanhope'] [data-fs-fm-next] {
  font-family: inherit;
  font-size: var(--fs-type-body, 1rem);
  font-weight: 700;
  letter-spacing: normal;
  text-transform: none;
  line-height: 1.2;
  gap: .5em;
  min-height: 44px;
  padding: .7rem 1.4rem;
  border-radius: var(--fs-radius-control, 0);
  border-width: 1px;
  border-style: solid;
  background-image: linear-gradient(rgb(var(--c-brand-600)), rgb(var(--c-brand-600)));
  background-repeat: no-repeat;
  background-position: center bottom;
  background-origin: border-box;
  background-size: 0% 2px;
  transition: background-size .22s cubic-bezier(.2, .7, .3, 1),
              background-color .22s cubic-bezier(.2, .7, .3, 1),
              border-color .22s cubic-bezier(.2, .7, .3, 1),
              color .22s cubic-bezier(.2, .7, .3, 1);
}
/* The filled controls invert the rule to the page colour so the gesture
   is visible on their own brand fill. */
[data-fs-theme='stanhope'] .fsbtn,
[data-fs-theme='stanhope'] .fs-hdr-cta,
[data-fs-theme='stanhope'].fs-typo .fs-hdr-cta,
[data-fs-theme='stanhope'] [data-fs-role='cta'] a,
[data-fs-theme='stanhope'] .fs-op-btn,
[data-fs-theme='stanhope'] [data-fs-fm-submit] {
  background-image: linear-gradient(rgb(var(--c-paper)), rgb(var(--c-paper)));
}
/* The header CTA's hover needs the doubled selector too, and this one is
   not theoretical: HEADER_CONTACT_CSS ships
   .fs-typo .fs-hdr-cta:hover { background: ... } — the SHORTHAND, which
   resets background-image to none and so wiped the underline gradient
   the instant the pointer arrived. Measured: background-size went 0% 2px
   → auto and background-image → none on hover, i.e. the grammar
   vanished exactly when it was meant to appear. That rule is (0,3,0) and
   is injected after this sheet, so a plain scoped hover ties and loses;
   ].fs-typo takes it to (0,4,0). */
[data-fs-theme='stanhope'].fs-typo .fs-hdr-cta:hover,
[data-fs-theme='stanhope'].fs-typo .fs-hdr-cta:focus-visible,
[data-fs-theme='stanhope'] .fsbtn:hover,
[data-fs-theme='stanhope'] .fs-hdr-cta:hover,
[data-fs-theme='stanhope'] [data-fs-role='cta'] a:hover,
[data-fs-theme='stanhope'] [data-fs-role='cta'] span[class*='rounded-control']:hover,
[data-fs-theme='stanhope'] .fs-hero-full span[class*='rounded-control']:hover,
[data-fs-theme='stanhope'] .fs-op-btn:hover,
[data-fs-theme='stanhope'] .fs-op-btn-ghost:hover,
[data-fs-theme='stanhope'] [data-fs-fm-submit]:hover,
[data-fs-theme='stanhope'] .fsbtn:focus-visible,
[data-fs-theme='stanhope'] .fs-hdr-cta:focus-visible,
[data-fs-theme='stanhope'] .fs-op-btn:focus-visible {
  /* background-image RESTATED here, not only on the base rule: the
     shorthand described above lands on :hover, so a gradient declared
     only at rest is gone by the time this rule's background-size has
     anything to size. */
  background-image: linear-gradient(rgb(var(--c-paper)), rgb(var(--c-paper)));
  background-repeat: no-repeat;
  background-position: center bottom;
  background-origin: border-box;
  background-size: 100% 2px;
  transform: none;
  box-shadow: none;
}
/* The outlined controls draw the rule in BRAND, not paper — restated on
   hover for the same reason, after the filled block above so it wins. */
[data-fs-theme='stanhope'] [data-fs-role='cta'] span[class*='rounded-control']:not(.fsbtn):hover,
[data-fs-theme='stanhope'] .fs-hero-full span[class*='rounded-control']:not(.fsbtn):hover,
[data-fs-theme='stanhope'] .fs-op-btn-ghost:hover {
  background-image: linear-gradient(rgb(var(--c-brand-600)), rgb(var(--c-brand-600)));
}
[data-fs-theme='stanhope'] .fsbtn:active,
[data-fs-theme='stanhope'] .fs-hdr-cta:active,
[data-fs-theme='stanhope'] [data-fs-role='cta'] a:active { transform: none; }
@media (prefers-reduced-motion: reduce) {
  [data-fs-theme='stanhope'] .fsbtn,
  [data-fs-theme='stanhope'] .fs-hdr-cta,
  [data-fs-theme='stanhope'] [data-fs-role='cta'] a { transition: none; }
}

/* ── Motion — resolves, never bounces. Gated by .fs-op-anim ────── */
@media (prefers-reduced-motion: no-preference) {
  .fs-op-anim .fs-op-fees > li,
  .fs-op-anim .fs-op-register-row {
    animation: fs-op-settle .5s cubic-bezier(.2,.7,.3,1) both;
  }
}
@keyframes fs-op-settle {
  from { opacity: 0; transform: translateY(4px); }
  to   { opacity: 1; transform: none; }
}

/* ── Wireframe — strip colour to lines, as every other set ─────── */
.fs-op-wire .fs-op-urgent,
.fs-op-wire .fs-op-voucher { background: none; }
.fs-op-wire .fs-op-urgent { border-left-color: rgb(var(--c-line)); }
.fs-op-wire .fs-op-symptoms li { border-color: rgb(var(--c-line)); }
.fs-op-wire .fs-op-entitle li::before,
.fs-op-wire .fs-op-entitle li::after { border-color: rgb(var(--c-line)); background: none; }
.fs-op-wire .fs-op-statute { border-top-color: rgb(var(--c-line)); }

/* ── Print — a fee schedule is a thing people actually print ───── */
@media print {
  .fs-op-anim .fs-op-fees > li,
  .fs-op-anim .fs-op-register-row { animation: none; opacity: 1; transform: none; }
  .fs-op-urgent, .fs-op-voucher, .fs-op-entitle, .fs-op-statute { background: none; }
  .fs-op-rx-scroll { overflow: visible; }
}

/* ── favOpticFooter (theme-chrome batch 2, Stanhope) ───────────────
   fs-op-ft: the full-bleed band (named container); fs-op-ft-in: the
   content box, which narrows with the Layout (named container). */
.fs-op-ft{container-type:inline-size;container-name:fs-op-ft;padding:0 clamp(1rem,4vw,2.5rem);background:rgb(var(--c-paper-soft));border-top:1px solid var(--op-ft-rule);--op-ft-rule:rgb(var(--c-ink-950) / .16);--op-ft-tint:rgb(var(--c-brand-600) / .08)}
.fs-op-ft:is(.dark *):not(.fs-preview-light *){--op-ft-tint:rgb(var(--c-brand-600) / .1)}
.fs-op-ft-in{container-type:inline-size;container-name:fs-op-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:52px 30px}

/* The datum eyebrow device (mockup 99–102) and the register link
   (mockup 135–136), ported under the footer's own namespace. */
.fs-op-ft-datum{display:flex;align-items:center;gap:14px}
.fs-op-ft-eyebrow{display:flex;align-items:center;gap:14px;flex:1;min-width:0;font-weight:700;font-size:12px;line-height:1.3;letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--c-brand-text))}
.fs-op-ft-eyebrow::after{content:"";flex:1;min-width:16px;border-top:1px solid var(--op-ft-rule)}
.fs-op-ft-chip{display:inline-block;flex:none;padding:.14em .55em;border:1px solid var(--op-ft-rule);font-size:13px;line-height:1.35;letter-spacing:.04em;color:rgb(var(--c-ink-700));font-variant-numeric:tabular-nums;white-space:nowrap}
.fs-op-ft-link{font-weight:700;font-size:14.5px;line-height:1.4;color:rgb(var(--c-brand-text));white-space:nowrap;text-decoration:none;background:linear-gradient(rgb(var(--c-brand-600)),rgb(var(--c-brand-600))) no-repeat center bottom/100% 1px;transition:background-size .22s cubic-bezier(.2,.7,.3,1)}
.fs-op-ft-link:hover,.fs-op-ft-link:focus-visible{background-size:100% 2px}

/* The register-extract body (mockup 183–206). */
.fs-op-ft-head .fs-op-ft-eyebrow{font-size:12.5px;letter-spacing:.14em}
.fs-op-ft-top{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:22px 40px;align-items:start;margin-top:22px}
.fs-op-ft-state{max-width:30ch;font-weight:500;font-size:var(--op-ft-state-fs,27px);line-height:1.3;font-family:var(--font-display, Georgia, serif);letter-spacing:-.01em;color:rgb(var(--c-ink-950))}
.fs-op-ft-addr{font-size:15px;line-height:1.5}
.fs-op-ft-tel{display:block;margin-top:2px;font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:30px;line-height:1.15;color:rgb(var(--c-brand-text));font-variant-numeric:tabular-nums;text-decoration:none}
.fs-op-ft-ooh{margin-top:14px;padding:9px 12px 9px 12px;background:var(--op-ft-tint);border-left:4px solid rgb(var(--c-accent, var(--c-brand-600)));font-size:13.5px;line-height:1.45}
.fs-op-ft-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,.9fr);gap:28px 40px;margin-top:40px}
.fs-op-ft-col{min-width:0}
.fs-op-ft-h{margin-bottom:6px}
.fs-op-ft-hours{margin:0;padding:0}
.fs-op-ft-hrow{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-block:8px;border-bottom:1px solid var(--op-ft-rule)}
.fs-op-ft-dt{font-size:14px;color:rgb(var(--c-ink-700))}
.fs-op-ft-dd{margin:0;font-family:var(--font-display, Georgia, serif);font-weight:600;font-size:15.5px;line-height:1.2;font-variant-numeric:tabular-nums;white-space:nowrap}
.fs-op-ft-note{margin-top:10px;font-size:13.5px;line-height:1.5;color:rgb(var(--c-ink-700))}
.fs-op-ft-reg{list-style:none;margin:0;padding:0}
.fs-op-ft-person{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-block:7px;border-bottom:1px solid var(--op-ft-rule)}
.fs-op-ft-pn{display:block;font-weight:700;font-size:14.5px;line-height:1.3}
.fs-op-ft-pc{display:block;font-size:11.5px;line-height:1.3;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
.fs-op-ft-person .fs-op-ft-chip{font-weight:700;color:rgb(var(--c-ink-950))}
.fs-op-ft-col .fs-op-ft-link{display:inline-block;margin-top:12px;white-space:normal}
.fs-op-ft-links{list-style:none;margin:0;padding:0}
.fs-op-ft-li{border-bottom:1px solid var(--op-ft-rule)}
.fs-op-ft-page{display:inline-block;padding-block:8px;font-size:14.5px;line-height:1.3;color:rgb(var(--c-ink-950));text-decoration:none;background:linear-gradient(rgb(var(--c-brand-600)),rgb(var(--c-brand-600))) no-repeat center calc(100% - 5px)/0% 2px;transition:background-size .22s cubic-bezier(.2,.7,.3,1)}
.fs-op-ft-page:hover,.fs-op-ft-page:focus-visible{background-size:100% 2px}
.fs-op-ft-legal{display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:36px;padding-top:14px;border-top:1px solid var(--op-ft-rule);font-size:12.5px;color:rgb(var(--c-ink-700))}
.fs-op-ft-legal-t{margin-right:auto}
.fs-op-ft-legal-a{color:inherit;text-decoration:none}
.fs-op-ft-legal-a:hover{color:rgb(var(--c-ink-950));text-decoration:underline}

@container fs-op-ft (max-width: 40rem){
  .fs-op-ft-in{padding-block:38px 24px}
}
@container fs-op-ft-in (max-width: 56rem){
  .fs-op-ft-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-op-ft-col:nth-child(3){grid-column:1/-1}
  .fs-op-ft-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:28px}
  .fs-op-ft-state{--op-ft-state-fs:23px}
}
@container fs-op-ft (max-width: 48rem){
  .fs-op-ft-top{grid-template-columns:minmax(0,1fr)}
  .fs-op-ft-cols{grid-template-columns:minmax(0,1fr);margin-top:32px}
  .fs-op-ft-col:nth-child(3){grid-column:auto}
  .fs-op-ft-links{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-op-ft-state{--op-ft-state-fs:22px}
}
@container fs-op-ft (max-width: 30rem){
  .fs-op-ft-links{grid-template-columns:minmax(0,1fr)}
  .fs-op-ft-head .fs-op-ft-chip{font-size:12px}
  .fs-op-ft-legal-t{flex-basis:100%}
}
@media (prefers-reduced-motion: reduce){
  .fs-op-ft-link,.fs-op-ft-page{transition:none}
}


/* ── The shell ─────────────────────────────────────────────────── */
/* Signature blocks own their section padding and inner measure — the
   renderer does NOT supply them (PORTING pitfall 5). */
.fs-nb {
  position: relative;
  background: rgb(var(--c-paper));
  color: rgb(var(--c-ink-950));
}
.fs-nb * { box-sizing: border-box; }
.fs-nb-shell {
  max-width:var(--fs-layout-max,72rem);
  margin-inline: auto;
  padding: var(--fs-space-section, clamp(3.5rem, 8vw, 6rem)) clamp(1rem, 4vw, 2.5rem);
}
.fs-nb-direct-section .fs-nb-shell { padding-block: calc(var(--fs-space-section, 4rem) * 0.6); }

/* ── The overhanging rule — the theme's signature device ─────────── */
.fs-nb-ruled {
  position: relative;
  padding-top: 1.1rem;
  margin-bottom: var(--fs-space-heading, 2rem);
}
.fs-nb-ruled::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: rgb(var(--c-ink-950));
}
.fs-nb-eyebrow {
  font-size: var(--fs-type-eyebrow, .75rem);
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgb(var(--c-ink-400));
  margin: 0 0 .5rem;
}
.fs-nb-h2 {
  font-family: var(--font-display);
  font-size: var(--fs-type-h2, 2.5rem);
  font-weight: 650;
  line-height: 1.2;
  letter-spacing: -.015em;
  color: rgb(var(--c-ink-950));
}
.fs-nb-h3 {
  font-family: var(--font-display);
  font-size: var(--fs-type-h3, 1.5rem);
  font-weight: 600;
  line-height: 1.25;
  color: rgb(var(--c-ink-950));
}
.fs-nb-lead {
  margin-top: var(--fs-space-stack, .75rem);
  font-family: var(--font-display);
  font-size: var(--fs-type-h3, 1.5rem);
  line-height: 1.45;
  color: rgb(var(--c-ink-700));
}
.fs-nb-body { color: rgb(var(--c-ink-700)); margin-top: var(--fs-space-stack, .75rem); }

/* ── favStayTariff ─────────────────────────────────────────────── */
.fs-nb-table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.fs-nb-tariff { width: 100%; border-collapse: collapse; }
.fs-nb-tariff caption {
  text-align: left;
  font-size: .875rem;
  color: rgb(var(--c-ink-400));
  padding-bottom: var(--fs-space-gap, 1rem);
}
.fs-nb-tariff th, .fs-nb-tariff td { padding: 1.1rem .75rem; vertical-align: baseline; }
.fs-nb-tariff th:first-child, .fs-nb-tariff tbody th { text-align: left; }
.fs-nb-tariff thead th:not(:first-child), .fs-nb-tariff td { text-align: right; }
.fs-nb-tariff th:first-child, .fs-nb-tariff td:first-child { padding-inline-start: 0; }
.fs-nb-tariff th:last-child, .fs-nb-tariff td:last-child { padding-inline-end: 0; }
.fs-nb-tariff thead th {
  font-size: var(--fs-type-eyebrow, .75rem);
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgb(var(--c-ink-400));
  border-bottom: 2px solid rgb(var(--c-ink-950));
  padding-bottom: .7rem;
}
.fs-nb-tariff tbody tr { border-bottom: 1px solid rgb(var(--c-line) / .5); }
.fs-nb-tariff tbody th { font-family: var(--font-display); font-size: var(--fs-type-h3, 1.5rem); font-weight: 600; }
.fs-nb-tariff tbody th span {
  display: block;
  font-family: inherit; font-size: .875rem; font-weight: 400;
  color: rgb(var(--c-ink-400));
  margin-top: .2rem;
}
.fs-nb-rate {
  font-family: var(--font-display);
  font-size: var(--fs-type-h3, 1.5rem);
  font-variant-numeric: tabular-nums lining-nums;
  white-space: nowrap;
}
.fs-nb-total {
  margin-top: var(--fs-space-gap, 1rem);
  padding-top: 1.1rem;
  border-top: 2px solid rgb(var(--c-ink-950));
  display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; align-items: baseline;
}
.fs-nb-total strong { font-family: var(--font-display); font-size: var(--fs-type-h3, 1.5rem); font-weight: 600; }
.fs-nb-total span { font-size: .875rem; color: rgb(var(--c-ink-700)); }
.fs-nb-notes { margin-top: var(--fs-space-gap, 1rem); display: grid; gap: var(--fs-space-stack, .75rem); padding: 0; list-style: none; }
.fs-nb-notes li { position: relative; padding-left: 1.75rem; font-size: .875rem; color: rgb(var(--c-ink-700)); }
.fs-nb-notes li::before {
  content: ''; position: absolute; left: 0; top: .72em;
  width: 1.25rem; height: 1px; background: rgb(var(--c-ink-400));
}
/* The mobile restack — one room per card, each rate on its own
   labelled row. A four-column rate table cannot fit 320px, and a
   guest should never have to scroll sideways to read a price. */
@media (max-width: 39.99em) {
  .fs-nb-tariff, .fs-nb-tariff tbody, .fs-nb-tariff tr,
  .fs-nb-tariff tbody th, .fs-nb-tariff td { display: block; width: 100%; }
  .fs-nb-tariff caption { display: block; }
  .fs-nb-tariff thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .fs-nb-tariff tbody tr { border-top: 2px solid rgb(var(--c-ink-950)); border-bottom: 0; padding-block: var(--fs-space-gap, 1rem); }
  .fs-nb-tariff tbody th { padding: 0 0 .75rem; }
  .fs-nb-tariff td {
    display: flex; justify-content: space-between; align-items: baseline;
    gap: var(--fs-space-gap, 1rem); padding: .45rem 0; text-align: right;
    border-top: 1px solid rgb(var(--c-line) / .4);
  }
  .fs-nb-tariff td::before {
    content: attr(data-label);
    font-size: .875rem; font-weight: 400; letter-spacing: .02em;
    color: rgb(var(--c-ink-400)); text-align: left;
  }
}

/* ── favStayRooms ──────────────────────────────────────────────── */
.fs-nb-diagram {
  margin: 0 0 var(--fs-space-section, 3.5rem);
  padding: var(--fs-space-card, 1.5rem);
  border: 1px solid rgb(var(--c-line));
}
.fs-nb-diagram svg.fs-nb-section { width: 100%; height: auto; display: block; color: rgb(var(--c-ink-950)); }
.fs-nb-diagram figcaption { margin-top: var(--fs-space-stack, .75rem); font-size: .875rem; color: rgb(var(--c-ink-700)); }
.fs-nb-room-grid { display: grid; gap: var(--fs-space-section, 3.5rem); }
.fs-nb-room { display: grid; gap: var(--fs-space-card, 1.5rem); align-items: start; }
@media (min-width: 48rem) { .fs-nb-room { grid-template-columns: 1fr 1fr; } }
.fs-nb-room-media { position: relative; }
.fs-nb-room-media img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border: 1px solid rgb(var(--c-line) / .5); display: block; }
.fs-nb-room-price {
  position: absolute; top: 0; right: 0;
  background: rgb(var(--c-paper));
  border-left: 1px solid rgb(var(--c-line) / .5);
  border-bottom: 1px solid rgb(var(--c-line) / .5);
  padding: .6rem .9rem; margin: 0;
  font-family: var(--font-display); font-size: var(--fs-type-h3, 1.5rem);
  font-variant-numeric: tabular-nums;
}
.fs-nb-room-price span {
  display: block; font-family: inherit; font-size: var(--fs-type-eyebrow, .75rem);
  letter-spacing: .1em; text-transform: uppercase; color: rgb(var(--c-ink-400));
}
.fs-nb-facts { margin: var(--fs-space-gap, 1rem) 0 0; display: grid; grid-template-columns: 1fr; }
.fs-nb-facts > div {
  display: flex; justify-content: space-between; gap: var(--fs-space-gap, 1rem);
  padding-block: .6rem; border-top: 1px solid rgb(var(--c-line) / .45);
}
.fs-nb-facts > div:last-child { border-bottom: 1px solid rgb(var(--c-line) / .45); }
.fs-nb-facts dt { font-size: .8125rem; color: rgb(var(--c-ink-400)); letter-spacing: .04em; }
.fs-nb-facts dd { margin: 0; font-size: .8125rem; font-weight: 600; color: rgb(var(--c-ink-950)); text-align: right; }

/* ── favStayArrival ────────────────────────────────────────────── */
.fs-nb-arrival-grid { display: grid; grid-template-columns: 1fr; }
@media (min-width: 48rem) { .fs-nb-arrival-grid { grid-template-columns: 1fr 1fr; column-gap: var(--fs-space-section, 3rem); } }
.fs-nb-arrival-item {
  display: grid; grid-template-columns: 2.25rem 1fr; gap: var(--fs-space-gap, 1rem);
  align-items: start; padding-block: var(--fs-space-gap, 1rem);
  border-top: 1px solid rgb(var(--c-line) / .55);
}
.fs-nb-arrival-item svg { width: 1.75rem; height: 1.75rem; color: rgb(var(--c-brand-600)); }
.fs-nb-arrival-item h3 { font-family: var(--font-display); font-size: var(--fs-type-h3, 1.5rem); font-weight: 600; color: rgb(var(--c-ink-950)); }
.fs-nb-arrival-item p { margin-top: .35rem; color: rgb(var(--c-ink-700)); font-size: .875rem; }

/* ── favStayDirect — the book-direct argument ─────────────────── */
.fs-nb-direct { background: rgb(var(--c-brand-600)); padding: var(--fs-space-card, 2rem); }
.fs-nb-on-direct { color: rgb(255 255 255 / .94); }
.fs-nb-eyebrow-on-direct { color: rgb(255 255 255 / .72); }
.fs-nb-direct .fs-nb-h2 { color: #fff; margin-top: var(--fs-space-stack, .5rem); }
.fs-nb-direct-split { display: grid; gap: var(--fs-space-section, 2.5rem); }
@media (min-width: 56rem) { .fs-nb-direct-split { grid-template-columns: 1fr 1fr; align-items: start; } }
.fs-nb-direct-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.fs-nb-direct-list li {
  display: grid; grid-template-columns: 1.5rem 1fr; gap: .85rem;
  padding-block: .85rem; border-top: 1px solid rgb(255 255 255 / .28);
  color: #fff; font-size: .875rem;
}
.fs-nb-direct-list li:last-child { border-bottom: 1px solid rgb(255 255 255 / .28); }
.fs-nb-direct-list li::before {
  content: ''; width: 1.1rem; height: .6rem; margin-top: .35em;
  border-left: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(-45deg);
}
.fs-nb-direct-foot { margin-top: var(--fs-space-gap, 1rem); padding-top: var(--fs-space-gap, 1rem); border-top: 2px solid rgb(255 255 255 / .5); }
.fs-nb-btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px; padding: .75rem 1.5rem; font-size: .9375rem; font-weight: 600;
  border: 1px solid #fff;
}
.fs-nb-btn-reverse { background: rgb(var(--c-paper)); color: rgb(var(--c-brand-700)); border-color: rgb(var(--c-paper)); }

/* ── favStayNearby ─────────────────────────────────────────────── */
.fs-nb-nearby-grid { display: grid; gap: 0; }
.fs-nb-near {
  display: grid; grid-template-columns: 1fr auto; gap: var(--fs-space-gap, 1rem);
  align-items: baseline; padding-block: .95rem; border-top: 1px solid rgb(var(--c-line) / .5);
}
.fs-nb-nearby-grid .fs-nb-near:last-child { border-bottom: 1px solid rgb(var(--c-line) / .5); }
.fs-nb-near-name { margin: 0; font-family: var(--font-display); font-size: var(--fs-type-h3, 1.5rem); color: rgb(var(--c-ink-950)); }
.fs-nb-near-name span { display: block; font-family: var(--font-body, inherit); font-size: .875rem; color: rgb(var(--c-ink-400)); margin-top: .15rem; }
.fs-nb-near-dist { margin: 0; font-size: .875rem; font-variant-numeric: tabular-nums; font-weight: 600; white-space: nowrap; color: rgb(var(--c-ink-700)); }

/* ── favStayCredentials ────────────────────────────────────────── */
.fs-nb-cred-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--fs-space-gap, 1.5rem);
  margin-top: var(--fs-space-stack, 1.5rem);
}
.fs-nb-cred-item { padding-top: .95rem; border-top: 1px solid rgb(var(--c-line) / .5); }
.fs-nb-cred-num { margin: 0; font-family: var(--font-display); font-size: var(--fs-type-h3, 1.25rem); color: rgb(var(--c-ink-950)); }
.fs-nb-cred-body { margin: .35rem 0 0; font-size: .875rem; line-height: 1.5; color: rgb(var(--c-ink-700)); }
.fs-nb-cred-link {
  display: inline-block; margin-top: .5rem; font-size: .8125rem; font-weight: 600;
  color: rgb(var(--c-brand-600)); text-underline-offset: .2em;
}
.fs-nb-cred-link:hover { color: rgb(var(--c-brand-700)); }
@media (max-width: 40rem) {
  .fs-nb-cred-grid { grid-template-columns: 1fr 1fr; }
}

/* ══ THEME-SCOPED REFINEMENT OF THE UNIVERSAL BLOCKS ══════════
   [data-fs-theme] is stamped on the preview root by EditWpClient and on
   the published page by PublicSiteClient — the generic hook that lets a
   theme refine the SHARED blocks without restyling them for the other
   twenty-nine themes. Nothing below is unscoped.

   Why this section is long. Half of every Nightbell page is universal
   blocks (services, cta, textBlock, quote, gallery, about, the
   accordion, testimonials, the team grid, the form, the map), and the
   app draws them in its own register: centred, rounded, card-filled,
   headings at a flat 24px. The prototype's register is the opposite of
   all four — left-aligned, sharp, unfilled, and every section opening
   under the same overhanging 2px rule the signature family uses. A port
   that leaves them alone is not a mirror of the prototype, it is the
   theme's own blocks pasted into somebody else's page.

   The hooks used here are the ones the shared blocks already publish:
   [data-fs-role] on the SectionRenderer cases, .fs-heading / .fs-prose /
   .fs-head / .fs-card-title on their parts, .fs-head-slot on the
   testimonials and team headings, [data-fs-acc] on the accordion,
   .fs-section-shell on the form. No new markup, except data-fs-role on
   MapBlock, which was the one block publishing no hook at all. */

/* ── The heading register ─────────────────────────────── */
/* Every shared block's section heading, in the theme's display serif at
   the theme's own h2 step — the app ships them at a flat text-2xl,
   which is what made a Nightbell page read as two designs stapled
   together. */
[data-fs-theme='nightbell'] [data-fs-role='services'] .fs-heading,
[data-fs-theme='nightbell'] [data-fs-role='textBlock'] .fs-heading,
[data-fs-theme='nightbell'] [data-fs-role='about'] .fs-heading,
[data-fs-theme='nightbell'] [data-fs-role='gallery'] .fs-heading,
[data-fs-theme='nightbell'] [data-fs-role='showcase'] .fs-heading,
[data-fs-theme='nightbell'] [data-fs-role='cta'] .fs-heading,
[data-fs-theme='nightbell'] [data-fs-role='map'] .fs-heading,
[data-fs-theme='nightbell'] .fs-section-shell > .fs-heading,
[data-fs-theme='nightbell'] .fs-head-slot,
[data-fs-theme='nightbell'] [data-fs-acc] > h2 {
  font-family: var(--font-display);
  font-size: var(--fs-type-h2, 2.5rem);
  font-weight: 650;
  line-height: 1.2;
  letter-spacing: -.015em;
  text-align: left;
  margin-inline: 0;
  color: rgb(var(--c-ink-950));
}
/* The app centres these blocks with data-align="center". The hero keeps
   its own centring — it is a full-bleed photograph, not a ruled band. */
[data-fs-theme='nightbell'] [data-fs-block][data-align='center']:not([data-fs-role='hero']),
[data-fs-theme='nightbell'] [data-fs-block][data-align='center']:not([data-fs-role='hero']) .fs-prose,
[data-fs-theme='nightbell'] .fs-section-shell > p {
  text-align: left;
  margin-inline: 0;
}
[data-fs-theme='nightbell'] .fs-prose { max-width: var(--fs-measure, 68ch); }
/* block-chrome.ts centres the heading CLUSTER at (0,2,1) —
   [data-fs-block][data-align="center"] .fs-head — and pushes every child
   to margin-inline:auto, which is why setting text-align on the block
   alone left the heading centred. Beat it on its own terms. */
[data-fs-theme='nightbell'] [data-fs-block][data-align='center']:not([data-fs-role='hero']) .fs-head,
[data-fs-theme='nightbell'] [data-fs-block][data-align='center']:not([data-fs-role='hero']) [data-fs-head] {
  text-align: left;
  align-items: flex-start;
}
[data-fs-theme='nightbell'] [data-fs-block][data-align='center']:not([data-fs-role='hero']) .fs-head > *,
[data-fs-theme='nightbell'] [data-fs-block][data-align='center']:not([data-fs-role='hero']) [data-fs-head] > * {
  margin-inline: 0;
}
[data-fs-theme='nightbell'] .fs-head-slot > * {
  font-family: var(--font-display);
  text-align: left;
}

/* ── The overhanging rule, on the shared blocks too ─────────── */
/* Same device as .fs-nb-ruled: a 2px rule across the top of the heading
   cluster. Applied to the block's inner measure so it lines up with the
   signature family's shell above and below it. */
[data-fs-theme='nightbell'] [data-fs-role='services'] .fs-head,
[data-fs-theme='nightbell'] [data-fs-role='textBlock'] [data-fs-inner],
[data-fs-theme='nightbell'] [data-fs-role='gallery'] [data-fs-inner],
[data-fs-theme='nightbell'] [data-fs-role='cta'] > div:last-child,
[data-fs-theme='nightbell'] .fs-testimonials-section .fs-head-slot,
[data-fs-theme='nightbell'] .fs-team-section .fs-head-slot,
[data-fs-theme='nightbell'] .fs-section-shell,
[data-fs-theme='nightbell'] [data-fs-acc] {
  position: relative;
  padding-top: 1.1rem;
}
[data-fs-theme='nightbell'] [data-fs-role='services'] .fs-head::before,
[data-fs-theme='nightbell'] [data-fs-role='textBlock'] [data-fs-inner]::before,
[data-fs-theme='nightbell'] [data-fs-role='gallery'] [data-fs-inner]::before,
[data-fs-theme='nightbell'] [data-fs-role='cta'] > div:last-child::before,
[data-fs-theme='nightbell'] .fs-testimonials-section .fs-head-slot::before,
[data-fs-theme='nightbell'] .fs-team-section .fs-head-slot::before,
[data-fs-theme='nightbell'] .fs-section-shell::before,
[data-fs-theme='nightbell'] [data-fs-acc]::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: rgb(var(--c-ink-950));
}

/* ── No card fills, anywhere ───────────────────────── */
/* A card in this theme is a keyline and a column, never a filled box
   with a lifted shadow. The hover lift goes with them: nothing on a
   Nightbell page moves under the pointer except a link's colour. */
[data-fs-theme='nightbell'] [data-fs-block] [data-fs-surface='card'] {
  background: none;
  border: 0;
  border-top: 1px solid rgb(var(--c-line) / .55);
  border-radius: 0;
  box-shadow: none;
  padding: .95rem 0 0;
  transform: none;
}
[data-fs-theme='nightbell'] [data-fs-block] [data-fs-surface='card']:hover {
  transform: none;
  box-shadow: none;
}
[data-fs-theme='nightbell'] .fs-card-title {
  font-family: var(--font-display);
  font-size: var(--fs-type-h3, 1.5rem);
  font-weight: 600;
  margin-top: 0;
  color: rgb(var(--c-ink-950));
}
[data-fs-theme='nightbell'] [data-fs-role='services'] { background: rgb(var(--c-paper-soft)); }
/* The app's rounded brand-tinted icon chip and the 4px brand bar across
   the card's top edge. The prototype's rate columns carry neither: the
   keyline does that work, and a decorative star above "Breakfast, cooked
   to order" is exactly the stock-photography register this theme is
   arguing against. */
[data-fs-theme='nightbell'] [data-fs-role='services'] [data-fs-surface='card'] > span {
  display: none;
}

/* ── cta ────────────────────────────────────── */
/* The prototype closes every page on PAPER, not on a brand fill — the
   one brand-filled panel in the theme is favStayDirect, and having two
   of them on a page spends the emphasis twice. */
[data-fs-theme='nightbell'] [data-fs-role='cta'] {
  background: rgb(var(--c-paper));
  border-top: 0;
  text-align: left;
}
[data-fs-theme='nightbell'] [data-fs-role='cta'] > div[aria-hidden],
[data-fs-theme='nightbell'] [data-fs-role='cta'] > div.pointer-events-none {
  display: none; /* the two blurred brand blobs */
}
[data-fs-theme='nightbell'] [data-fs-role='cta'] .fs-heading {
  color: rgb(var(--c-ink-950)) !important;
}
[data-fs-theme='nightbell'] [data-fs-role='cta'] .fs-prose {
  color: rgb(var(--c-ink-700)) !important;
  margin-inline: 0;
}
[data-fs-theme='nightbell'] [data-fs-role='cta'] a,
[data-fs-theme='nightbell'] [data-fs-role='cta'] span[class*='rounded-control'] {
  background: rgb(var(--c-brand-600));
  color: #fff;
}

/* ════════════════════════════════════════════════════════════════
   BUTTONS AND HOVER — theme.css "Buttons", on every button the app draws

   This scope reached the cta block's button and nothing else: the
   header call-to-action, the hero's pair and the form's submit drew the
   app's default control, and NO button on a Nightbell page had a hover
   state at all. The prototype's rule set, measured off
   theme-lab/nightbell/theme.css:

     min-height 2.75rem · padding .7rem 1.5rem · 1px border
     BODY face, not the display one · caption size · 600
     uppercase at .08em — the quiet, wide-tracked control of the theme

   And its grammar: a warm accent bloom, no ring, arriving on hover and
   softening on press. The prototype is explicit that nothing moves —
   "a control that moves under a thumb is a missed tap, and this
   theme's whole argument is that nothing on the page shifts" — so the
   app preset's translateY(1px) on :active is neutralised rather than
   left to contradict it.

   Values inlined from tokens.css: --nb-glow / --nb-glow-soft are
   theme-lab tokens apply.ts does not emit, and an undefined var() with
   no fallback draws no shadow at all. */
[data-fs-theme='nightbell'] .fsbtn,
[data-fs-theme='nightbell'] .fs-hdr-cta,
[data-fs-theme='nightbell'].fs-typo .fs-hdr-cta,
[data-fs-theme='nightbell'] [data-fs-role='cta'] a,
[data-fs-theme='nightbell'] [data-fs-role='cta'] span[class*='rounded-control'],
[data-fs-theme='nightbell'] .fs-hero-full span[class*='rounded-control'],
[data-fs-theme='nightbell'] [data-fs-fm-submit],
[data-fs-theme='nightbell'] [data-fs-fm-next] {
  font-family: var(--font-sans, inherit);
  font-size: var(--fs-type-caption, .875rem);
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  gap: .5rem;
  min-height: 2.75rem;
  padding: .7rem 1.5rem;
  /* Sharp — the theme's radius dial, and the reason the old rule set
     border-radius: 0 by hand. */
  border-radius: var(--fs-radius-control, 0);
  border-width: 1px;
  border-style: solid;
  transition: background-color .22s cubic-bezier(.2, .7, .3, 1),
              color .22s cubic-bezier(.2, .7, .3, 1),
              border-color .22s cubic-bezier(.2, .7, .3, 1),
              box-shadow .22s cubic-bezier(.2, .7, .3, 1);
}
[data-fs-theme='nightbell'] .fsbtn:hover,
[data-fs-theme='nightbell'] .fs-hdr-cta:hover,
[data-fs-theme='nightbell'] [data-fs-role='cta'] a:hover,
[data-fs-theme='nightbell'] [data-fs-role='cta'] span[class*='rounded-control']:hover,
[data-fs-theme='nightbell'] .fs-hero-full span[class*='rounded-control']:hover,
[data-fs-theme='nightbell'] [data-fs-fm-submit]:hover,
[data-fs-theme='nightbell'] .fsbtn:focus-visible,
[data-fs-theme='nightbell'] .fs-hdr-cta:focus-visible {
  box-shadow: 0 0 26px -6px rgb(var(--c-accent, var(--c-brand-600)) / .34),
              0 1px 10px -4px rgb(var(--c-accent, var(--c-brand-600)) / .22);
  transform: none;
}
[data-fs-theme='nightbell'] .fsbtn:active,
[data-fs-theme='nightbell'] .fs-hdr-cta:active,
[data-fs-theme='nightbell'] [data-fs-role='cta'] a:active,
[data-fs-theme='nightbell'] [data-fs-fm-submit]:active {
  box-shadow: 0 0 18px -6px rgb(var(--c-accent, var(--c-brand-600)) / .22);
  transform: none;
}
/* The ghost half of the pair warms its border to the accent. */
[data-fs-theme='nightbell'] .fs-hero-full span[class*='rounded-control']:not(.fsbtn):hover {
  border-color: rgb(var(--c-accent, var(--c-brand-600)));
}

/* ── quote ──────────────────────────────────── */
[data-fs-theme='nightbell'] [data-fs-role='quote'] [data-fs-surface='card'] {
  border: 0; box-shadow: none; background: none; border-radius: 0;
  max-width: min(46rem, var(--fs-layout-clamp, 46rem));
  margin-inline: 0;
  text-align: left;
  padding: 0;
}
/* The block renders the quotation as a <p>, not a <blockquote> — measured
   in the canvas, not assumed from the name. */
[data-fs-theme='nightbell'] [data-fs-role='quote'] blockquote,
[data-fs-theme='nightbell'] [data-fs-role='quote'] [data-fs-surface='card'] > p {
  font-family: var(--font-display);
  font-style: italic;
  font-size: var(--fs-type-h2, 2.25rem);
  line-height: 1.25;
  letter-spacing: -.01em;
  color: rgb(var(--c-ink-950));
  max-width: min(40rem, var(--fs-layout-clamp, 40rem));
  margin-inline: 0;
  margin-top: 0;
  text-align: left;
}
[data-fs-theme='nightbell'] [data-fs-role='quote'] [data-fs-surface='card'] > span {
  color: rgb(var(--c-ink-400));
  font-size: .8125rem;
  letter-spacing: .1em;
  text-transform: uppercase;
}
[data-fs-theme='nightbell'] [data-fs-role='quote'] svg { display: none; }

/* ── Photography ─────────────────────────────── */
/* The tile WRAPPER carries the rounding and the ring, not the <img>. */
[data-fs-theme='nightbell'] [data-fs-role='gallery'] [class*='rounded-'],
[data-fs-theme='nightbell'] [data-fs-role='gallery'] img,
[data-fs-theme='nightbell'] [data-fs-role='about'] img,
[data-fs-theme='nightbell'] [data-fs-role='showcase'] img,
[data-fs-theme='nightbell'] .fs-team-section img {
  border-radius: 0 !important;
}

/* ── favAccordion ────────────────────────────── */
/* The prototype's FAQ is a stack of ruled rows with a chevron — no
   boxes, no fills, no rounding. The block already offers a 'divider'
   layout; these are the theme's own tokens on top of it. */
[data-fs-theme='nightbell'] [data-fs-acc] {
  --fs-acc-radius: 0px;
  --fs-acc-gap: 0px;
}
[data-fs-theme='nightbell'] [data-fs-acc] [class*='rounded'] { border-radius: 0 !important; }
[data-fs-theme='nightbell'] [data-fs-acc] > h2 { margin-bottom: .5rem; }

/* ── favTestimonials / favTeam ────────────────────── */
[data-fs-theme='nightbell'] .fs-testimonials-section,
[data-fs-theme='nightbell'] .fs-team-section {
  background: rgb(var(--c-paper-soft));
}
[data-fs-theme='nightbell'] .fs-testimonials-section [class*='rounded'],
[data-fs-theme='nightbell'] .fs-team-section [class*='rounded'] {
  border-radius: 0 !important;
}
/* The keyline, restated ABOVE the card's own border:0 — the theme wants
   no box but it does want the rule the rest of the page is ruled by. */
[data-fs-theme='nightbell'] [data-fs-tm] [data-fs-tm-card],
[data-fs-theme='nightbell'] [data-fs-ts] [data-fs-ts-card],
[data-fs-theme='nightbell'] .fs-team-section [data-fs-tm-card],
[data-fs-theme='nightbell'] .fs-testimonials-section [data-fs-ts-card] {
  border: 0;
  border-top: 1px solid rgb(var(--c-line) / .55);
  background: none;
  box-shadow: none;
  padding-inline: 0;
}
/* The prototype's three quotations are ruled columns of running prose —
   no star row, no avatar, no source badge. Those are the review-widget
   furniture of a different kind of business; here the quotation itself
   and who wrote it is the whole content, and the stars would be the
   fifth decorative element on a page that has none. */
[data-fs-theme='nightbell'] .fs-testimonials-section [data-fs-ts-stars],
[data-fs-theme='nightbell'] .fs-testimonials-section [data-fs-ts-avatar],
[data-fs-theme='nightbell'] .fs-testimonials-section [data-fs-ts-avatar-placeholder],
[data-fs-theme='nightbell'] .fs-testimonials-section [data-fs-ts-source-badge],
[data-fs-theme='nightbell'] .fs-testimonials-section [data-fs-ts-logo] {
  display: none;
}
[data-fs-theme='nightbell'] .fs-testimonials-section [data-fs-ts-quote] {
  font-family: var(--font-display);
  font-size: 1.0625rem;
  line-height: 1.55;
  color: rgb(var(--c-ink-950));
}
[data-fs-theme='nightbell'] .fs-testimonials-section [data-fs-ts-name] {
  font-family: var(--font-display);
  color: rgb(var(--c-ink-950));
}
[data-fs-theme='nightbell'] .fs-testimonials-section [data-fs-ts-role] {
  font-size: .8125rem;
  letter-spacing: .04em;
  color: rgb(var(--c-ink-400));
}

/* ── favForm ──────────────────────────────── */
/* The prototype's enquiry form is left-aligned under the rule, with
   square fields on a visible keyline — --c-line is deliberately strong
   in this theme precisely so form borders read (see the palette note in
   themes/nightbell.ts). */
[data-fs-theme='nightbell'] .fs-section-shell { max-width: min(46rem, var(--fs-layout-clamp, 46rem)); margin-inline: 0; }
[data-fs-theme='nightbell'] .fs-fm input,
[data-fs-theme='nightbell'] .fs-fm textarea,
[data-fs-theme='nightbell'] .fs-fm select,
[data-fs-theme='nightbell'] .fs-section-shell input,
[data-fs-theme='nightbell'] .fs-section-shell textarea,
[data-fs-theme='nightbell'] .fs-section-shell select {
  border-radius: 0;
  border-color: rgb(var(--c-line));
}
[data-fs-theme='nightbell'] .fs-section-shell button[type='submit'] { border-radius: 0; }

/* ── Motion — resolves, never bounces. Gated by .fs-nb-anim ───── */
@media (prefers-reduced-motion: no-preference) {
  .fs-nb-anim .fs-nb-arrival-item,
  .fs-nb-anim .fs-nb-direct-list li,
  .fs-nb-anim .fs-nb-near { animation: fs-nb-settle .5s cubic-bezier(.2,.7,.3,1) both; }
}
@keyframes fs-nb-settle {
  from { opacity: 0; transform: translateY(4px); }
  to   { opacity: 1; transform: none; }
}

/* ── Wireframe — strip colour to lines ─────────────────────────── */
.fs-nb-wire .fs-nb-direct { background: none; border: 1px solid rgb(var(--c-line)); }
.fs-nb-wire .fs-nb-on-direct,
.fs-nb-wire .fs-nb-eyebrow-on-direct,
.fs-nb-wire .fs-nb-direct .fs-nb-h2 { color: rgb(var(--c-ink-950)); }
.fs-nb-wire .fs-nb-direct-list li,
.fs-nb-wire .fs-nb-direct-list li::before,
.fs-nb-wire .fs-nb-direct-foot { border-color: rgb(var(--c-line)); }
.fs-nb-wire .fs-nb-btn-reverse { background: none; color: rgb(var(--c-ink-950)); border-color: rgb(var(--c-line)); }

/* ── Print ─────────────────────────────────────────────────────── */
@media print {
  .fs-nb-anim .fs-nb-arrival-item,
  .fs-nb-anim .fs-nb-direct-list li,
  .fs-nb-anim .fs-nb-near { animation: none; opacity: 1; transform: none; }
  .fs-nb-direct { background: none; }
  .fs-nb-on-direct, .fs-nb-eyebrow-on-direct, .fs-nb-direct .fs-nb-h2 { color: #000; }
  .fs-nb-table-scroll { overflow: visible; }
}

/* ── favStayFooter (theme-chrome batch 3, Nightbell) ─────────────────
   fs-nb-ft: the soft band (named container); fs-nb-ft-in: the content box
   (named container). The overhanging rule, the eyebrow and the lamp are
   the footer's own copies of the prototype's (.nb-ruled, .nb-lamp).
   RECIPE FIX (contrast gate): light --nb-ft-lamp walked from the mockup's
   accent/.15 to accent/.12, matching the HEADER lamp's own already-fixed
   recipe (nightbell-chrome-styles.ts's --nb-lamp) exactly — same target
   colour, same percentage, same reason (the mockup's 15% measured under
   4.5:1 for the eyebrow text at the glow's strongest on Harbour Green
   light). Dark keeps its original accent/.2 (already 4.8:1 or better). */
.fs-nb-ft{container-type:inline-size;container-name:fs-nb-ft;padding:0 clamp(1rem,4vw,2.5rem);background:rgb(var(--c-paper-soft));--nb-ft-hair:rgb(var(--c-ink-950) / .2);--nb-ft-glow:rgb(var(--c-accent, var(--c-brand-600)) / .34);--nb-ft-lamp:rgb(var(--c-accent, var(--c-brand-600)) / .12)}
.fs-nb-ft:is(.dark *):not(.fs-preview-light *){--nb-ft-hair:rgb(var(--c-ink-950) / .18);--nb-ft-glow:rgb(var(--c-accent, var(--c-brand-600)) / .38);--nb-ft-lamp:rgb(var(--c-accent, var(--c-brand-600)) / .2)}
.fs-nb-ft-in{container-type:inline-size;container-name:fs-nb-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:58px 30px}
.fs-nb-ft-logo{display:flex;align-items:center;gap:12px;margin:0}
.fs-nb-ft-mark{display:block;flex:none;width:46px;height:46px}
.fs-nb-ft-mk-b{stroke:rgb(var(--c-brand-600))}
.fs-nb-ft-mk-a{stroke:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-nb-ft-mk-c{fill:rgb(var(--c-brand-600))}
.fs-nb-ft-name{font-family:var(--font-display, Georgia, serif);font-weight:500;font-size:15px;line-height:1;letter-spacing:.173em;text-transform:uppercase;color:rgb(var(--c-ink-950))}
.fs-nb-ft-top{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:34px 56px;align-items:start}
.fs-nb-ft-state{max-width:32ch;margin:18px 0 0;font:500 var(--nb-ft-fst,25px)/1.3 var(--font-display, Georgia, serif);letter-spacing:-.01em;color:rgb(var(--c-ink-950))}
.fs-nb-ft-nap{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 24px;margin-top:18px}
.fs-nb-ft-addr{flex-basis:100%;margin:0;font-size:15px;line-height:1.5;color:rgb(var(--c-ink-950));font-style:normal}
.fs-nb-ft-tel{font:600 27px/1.15 var(--font-display, Georgia, serif);color:rgb(var(--c-brand-text));font-variant-numeric:tabular-nums lining-nums;text-decoration:none}
.fs-nb-ft-mail{font-size:15px;color:rgb(var(--c-ink-950));text-decoration:underline 1px;text-underline-offset:.28em}
.fs-nb-ft-bell{position:relative;isolation:isolate;--nb-ft-oh:0px}
.fs-nb-ft-bell::after{content:"";position:absolute;z-index:-1;inset:-30px 0 -30px -40px;background:radial-gradient(60% 58% at 62% 44%,var(--nb-ft-lamp),transparent 74%)}
.fs-nb-ft-ruled{position:relative;padding-top:13px}
.fs-nb-ft-ruled::before{content:"";position:absolute;top:0;left:calc(-1 * var(--nb-ft-oh,10px));right:0;height:2px;background:rgb(var(--c-ink-950))}
.fs-nb-ft-bell-h{display:flex;align-items:center;gap:10px}
.fs-nb-ft-ico{flex:none;display:block;width:22px;height:22px;color:rgb(var(--c-brand-600))}
.fs-nb-ft-eyebrow{margin:0;font-weight:600;font-size:11.5px;line-height:1.3;letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
.fs-nb-ft-bell .fs-nb-ft-eyebrow{color:rgb(var(--c-ink-700))}
.fs-nb-ft-bell-t{margin:14px 0 0;font:italic 500 25px/1.2 var(--font-display, Georgia, serif);letter-spacing:-.01em;color:rgb(var(--c-ink-950))}
.fs-nb-ft-bell-b{max-width:44ch;margin:10px 0 0;font-size:14.5px;line-height:1.55;color:rgb(var(--c-ink-950))}
.fs-nb-ft-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.15fr);gap:30px 44px;margin-top:48px}
.fs-nb-ft-col{min-width:0}
.fs-nb-ft-links{margin:8px 0 0;list-style:none;padding:0}
.fs-nb-ft-link{display:inline-block;padding-block:6px;font-size:15px;line-height:1.35;color:rgb(var(--c-ink-950));text-decoration:none;transition:text-shadow .22s cubic-bezier(.2,.7,.3,1)}
.fs-nb-ft-link:hover,.fs-nb-ft-link:focus-visible{text-shadow:0 0 12px var(--nb-ft-glow)}
.fs-nb-ft-creds{margin:6px 0 0;list-style:none;padding:0}
.fs-nb-ft-cred{padding-block:9px;border-bottom:1px solid var(--nb-ft-hair)}
.fs-nb-ft-cred:last-child{border-bottom:0}
.fs-nb-ft-cnum{display:block;margin:0;font:600 18px/1.2 var(--font-display, Georgia, serif);color:rgb(var(--c-ink-950));font-variant-numeric:tabular-nums lining-nums}
.fs-nb-ft-creg{display:inline-block;margin-top:3px;font-weight:600;font-size:13px;line-height:1.3;color:rgb(var(--c-brand-text));text-decoration:underline 1px;text-underline-offset:.28em;transition:text-shadow .22s cubic-bezier(.2,.7,.3,1)}
.fs-nb-ft-creg:hover,.fs-nb-ft-creg:focus-visible{text-shadow:0 0 12px var(--nb-ft-glow)}
.fs-nb-ft-small{margin-top:44px;padding-top:12px;border-top:1px solid var(--nb-ft-hair)}
.fs-nb-ft-small-p{max-width:110ch;margin:6px 0 0;font-size:13px;line-height:1.55;color:rgb(var(--c-ink-700))}
.fs-nb-ft-legal{display:flex;flex-wrap:wrap;gap:6px 20px;margin:18px 0 0;font-size:12.5px;color:rgb(var(--c-ink-700))}
.fs-nb-ft-legal-t{margin-right:auto}
.fs-nb-ft-legal-a{color:rgb(var(--c-ink-700));text-decoration:none}
.fs-nb-ft-legal-a:hover{color:rgb(var(--c-ink-950));text-decoration:underline}
@container fs-nb-ft (max-width: 40rem){
  .fs-nb-ft-in{padding-block:40px 24px}
}
@container fs-nb-ft-in (max-width: 56rem){
  .fs-nb-ft-top{gap:30px 40px}
  .fs-nb-ft-state{--nb-ft-fst:22px}
  .fs-nb-ft-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-nb-ft-col:nth-child(3){grid-column:1/-1}
  .fs-nb-ft-creds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:28px}
  .fs-nb-ft-cred{border-bottom:0}
}
@container fs-nb-ft (max-width: 48rem){
  .fs-nb-ft-top{grid-template-columns:minmax(0,1fr)}
  .fs-nb-ft-cols{grid-template-columns:minmax(0,1fr);margin-top:36px}
  .fs-nb-ft-col:nth-child(3){grid-column:auto}
  .fs-nb-ft-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,auto);grid-auto-flow:column;column-gap:24px}
}
@container fs-nb-ft (max-width: 30rem){
  .fs-nb-ft-state{--nb-ft-fst:21px}
  .fs-nb-ft-links,.fs-nb-ft-creds{grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-auto-flow:row}
  .fs-nb-ft-cred{border-bottom:1px solid var(--nb-ft-hair)}
  .fs-nb-ft-cred:last-child{border-bottom:0}
  .fs-nb-ft-legal-t{flex-basis:100%}
}
@keyframes fs-nb-ft-lamplight{0%{opacity:.78}21%{opacity:.66}34%{opacity:1}57%{opacity:.9}69%{opacity:.7}100%{opacity:.78}}
@media (prefers-reduced-motion: no-preference){
  .fs-nb-ft-bell::after{animation:fs-nb-ft-lamplight 9s ease-in-out infinite}
}
@media (prefers-reduced-motion: reduce){
  .fs-nb-ft-link,.fs-nb-ft-creg{transition:none}
}


/* ── The shell ─────────────────────────────────────────────────── */
/* Signature blocks own their section padding and inner measure — the
   renderer does NOT supply them (PORTING pitfall 5). */
.fs-fc {
  position: relative;
  background: rgb(var(--c-paper));
  color: rgb(var(--c-ink-950));
  /* This theme is mostly figures. */
  font-variant-numeric: tabular-nums;
}
.fs-fc * { box-sizing: border-box; }
.fs-fc-shell {
  max-width:var(--fs-layout-max,72rem);
  margin-inline: auto;
  padding: var(--fs-space-section, clamp(3rem, 6vw, 4.5rem)) clamp(1rem, 4vw, 2.5rem);
}
/* WHICH SECTIONS SIT ON THE SURFACE COLOUR IS A PROPERTY OF THE
   PAGE, NOT OF THE BLOCK. This used to paint favLotProvenance and
   favLotFinance soft wherever they appeared, which is right on home
   and wrong on services.html, where the prototype puts the band on
   favLotPrep and favTable instead and leaves finance on the page
   colour. Both are now section-level band: 'soft' in forecourt.ts,
   painted by block-chrome. */

/* ── The heading cluster ───────────────────────────────────────── */
.fs-fc-head { margin-bottom: var(--fs-space-gap, 1.75rem); }
/* THE MEASURE IS THE POINT — see --fs-fc-eyebrow-measure at the theme
   root for the whole reasoning and the numbers. Every eyebrow in this
   theme gets it: the signature blocks here, the shared blocks below,
   and the hero.
   width:100% is not redundant. block-chrome centres the heading CLUSTER
   with a flex .fs-head, and a flex item shrink-to-fits — the about
   page's gallery eyebrow measured a 77.7px box with a 24px stub of
   rule, the opposite failure to the one below. Filling first and
   capping second reproduces what a <p> does in the prototype. */
.fs-fc-eyebrow {
  display: flex; align-items: center; gap: .6em;
  width: 100%;
  max-width: var(--fs-fc-eyebrow-measure);
  font-family: var(--font-display);
  font-size: var(--fs-type-eyebrow, .75rem);
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgb(var(--c-ink-400));
  margin: 0 0 .55rem;
}
.fs-fc-eyebrow::after {
  content: ''; flex: 1 1 auto; height: 1px; min-width: 1.5rem;
  background: rgb(var(--c-line));
}
.fs-fc-h2 {
  font-family: var(--font-display);
  font-size: var(--fs-type-h2, 2.25rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: .004em;
  text-wrap: balance;
  color: rgb(var(--c-ink-950));
  margin: 0;
}
.fs-fc-h3 {
  font-family: var(--font-display);
  font-size: var(--fs-type-h3, 1.25rem);
  font-weight: 700;
  line-height: 1.2;
  color: rgb(var(--c-ink-950));
  margin: 0 0 .55rem;
}
.fs-fc-lede {
  margin-top: .9rem;
  font-size: 1.08em;
  line-height: 1.6;
  color: rgb(var(--c-ink-700));
  max-width: var(--fs-measure, 62ch);
}
.fs-fc-meta {
  font-size: var(--fs-type-caption, .875rem);
  line-height: 1.55;
  color: rgb(var(--c-ink-400));
  margin: .85rem 0 0;
}
.fs-fc-panel {
  padding: var(--fs-space-card, 1.35rem);
  background: rgb(var(--c-paper-soft));
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-card, 10px);
  box-shadow: none;
}
/* On a soft band the card must not disappear into the band it sits on:
   it goes back to the page colour. Keyed off the BAND rather than off a
   list of block classes, so it follows whichever sections the page
   actually bands. */
[data-fs-band='soft'] .fs-fc-panel { background: rgb(var(--c-paper)); }

/* ── favLotGrid ────────────────────────────────────────────────── */
.fs-fc-lots {
  display: grid; gap: var(--fs-space-gap, 1.25rem);
  grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
}
.fs-fc-lot {
  display: flex; flex-direction: column; min-width: 0; overflow: hidden;
  background: rgb(var(--c-paper-soft));
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-card, 10px);
}
.fs-fc-lot-media {
  position: relative; aspect-ratio: 3 / 2;
  background: rgb(var(--c-brand-50));
  overflow: hidden;
}
/* :not(.fs-fc-lot-flag) is load-bearing. The image arrives as a wrapper
   the renderer supplies, so the wrapper has to be told to fill the
   frame — but a bare > * also caught the status flag, which then
   filled the whole 3:2 frame with a solid brand or accent block and
   hid the photograph behind it. Measured in the editor, not assumed. */
.fs-fc-lot-media > :not(.fs-fc-lot-flag) { width: 100%; height: 100%; display: block; }
.fs-fc-lot-media img, .fs-fc-lot-media picture { width: 100%; height: 100%; display: block; }
.fs-fc-lot-media img { object-fit: cover; }
.fs-fc-lot-flag {
  position: absolute; top: .7rem; left: .7rem; z-index: 2;
  font-family: var(--font-display);
  font-size: var(--fs-type-eyebrow, .72rem);
  font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
  padding: .3em .6em; border-radius: var(--fs-radius-control, 6px);
  background: rgb(var(--c-paper)); color: rgb(var(--c-ink-950));
  border: 1px solid rgb(var(--c-line));
}
.fs-fc-lot-flag[data-state='new'] {
  background: rgb(var(--c-brand-600)); color: rgb(var(--c-paper));
  border-color: rgb(var(--c-brand-600));
}
.fs-fc-lot-flag[data-state='reserved'] {
  background: rgb(var(--c-accent, var(--c-brand-700))); color: rgb(var(--c-paper));
  border-color: rgb(var(--c-accent, var(--c-brand-700)));
}
.fs-fc-lot-body {
  padding: var(--fs-space-card, 1.1rem);
  display: flex; flex-direction: column; gap: .8rem; flex: 1;
}
.fs-fc-lot-title {
  font-family: var(--font-display);
  margin: 0; font-size: 1.12rem; line-height: 1.2; font-weight: 700;
  color: rgb(var(--c-ink-950));
}
.fs-fc-lot-variant { font-size: var(--fs-type-caption, .8125rem); color: rgb(var(--c-ink-400)); }
/* Price on its own line, monthly beneath: a wrapping inline pair gave
   the four cards three different heights and broke the spec-strip
   alignment across the row. */
.fs-fc-lot-price { display: flex; flex-direction: column; align-items: flex-start; gap: .15rem; }
/* PITFALLS U13/U49, and the one number this whole block exists to show.
   Every field arrives wrapped — t(field,'span') renders a <span> — so the
   price is <b><span>£17,995</span></b>, and the caption rule below,
   written as a DESCENDANT selector for the monthly figure's sibling
   <span>, reached inside the <b> and won on being later. Measured: the
   <b> computed 26.4px and the text rendered at 14px on all four cards,
   53% of the drawn size, while every other field on the card was right.
   Direct children on both halves, and the size restated on whatever
   wrapper the field arrives in. */
.fs-fc-lot-price > b,
.fs-fc-lot-price > b > * {
  font-family: var(--font-display);
  font-size: 1.65rem; font-weight: 700; line-height: 1;
  color: rgb(var(--c-ink-950));
}
.fs-fc-lot-price > span,
.fs-fc-lot-price > span > * { font-size: var(--fs-type-caption, .8125rem); color: rgb(var(--c-ink-700)); }
.fs-fc-lot-otr {
  font-size: var(--fs-type-eyebrow, .7rem); letter-spacing: .1em;
  text-transform: uppercase; color: rgb(var(--c-ink-400));
}
.fs-fc-lot-spec {
  display: grid; grid-template-columns: repeat(4, 1fr); margin: 0;
  border-top: 1px solid rgb(var(--c-line));
  border-bottom: 1px solid rgb(var(--c-line));
}
.fs-fc-lot-spec > div { min-width: 0; padding: .55rem .3rem; border-right: 1px solid rgb(var(--c-line) / .5); }
.fs-fc-lot-spec > div:last-child { border-right: 0; }
.fs-fc-lot-spec dt {
  font-size: .62rem; letter-spacing: .1em; text-transform: uppercase;
  color: rgb(var(--c-ink-400)); margin: 0;
}
.fs-fc-lot-spec dd {
  margin: 0; font-size: .88rem; font-weight: 600; color: rgb(var(--c-ink-950));
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
/* The differentiator, at card scale: no competitor card carries any of
   these four facts. */
.fs-fc-lot-prov { display: flex; flex-wrap: wrap; gap: .3rem; margin-top: auto; }
.fs-fc-chip {
  display: inline-flex; align-items: center; gap: .3em;
  font-size: .7rem; font-weight: 500; letter-spacing: .02em; line-height: 1.3;
  padding: .28em .55em; border-radius: var(--fs-radius-control, 5px);
  background: rgb(var(--c-brand-50)); color: rgb(var(--c-ink-700));
  border: 1px solid rgb(var(--c-brand-600) / .18);
}
.fs-fc-chip svg { width: .85em; height: .85em; flex: none; color: rgb(var(--c-brand-600)); }

/* ── favLotProvenance ──────────────────────────────────────────── */
.fs-fc-prov {
  display: grid; gap: var(--fs-space-gap, 1.5rem);
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  align-items: start;
}
@media (max-width:60rem) { .fs-fc-prov { grid-template-columns: 1fr; } }
/* The editor's mobile/tablet canvas is a narrow box inside a real
   1440px window (menu-styles.ts's HEADER_NAV_CSS sets up the same
   fs-editor-canvas container for the same reason) — the @media
   above never fires there, so this column pair never collapses and
   the panel column overflows the canvas. Added alongside, not instead
   of, the @media: real pages still resize the viewport and need
   nothing extra. */
@container fs-editor-canvas (max-width:60rem) { [data-fs-editor-frame] .fs-fc-prov { grid-template-columns: 1fr; } }
.fs-fc-prov-head {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: 1rem; flex-wrap: wrap; margin-bottom: .8rem;
}
.fs-fc-prov-head .fs-fc-h3 { margin: 0; }
.fs-fc-plate-tag {
  font-family: var(--font-display);
  font-weight: 700; letter-spacing: .09em; font-size: 1.05rem;
  padding: .2em .5em; white-space: nowrap;
  border: 2px solid rgb(var(--c-ink-950));
  border-radius: var(--fs-radius-control, 5px);
  color: rgb(var(--c-ink-950));
}
/* The MOT recorded-mileage series, drawn in CSS rather than SVG so it
   inherits all six palettes in both modes with no per-palette art. */
.fs-fc-mot { display: grid; gap: .1rem; }
.fs-fc-mot-row {
  display: grid; grid-template-columns: 4.4rem 1fr 5.2rem;
  align-items: center; gap: .6rem;
  padding: .42rem 0; border-bottom: 1px solid rgb(var(--c-line) / .5);
}
.fs-fc-mot-row:last-child { border-bottom: 0; }
.fs-fc-mot-row > * { min-width: 0; }
.fs-fc-mot-date { font-size: var(--fs-type-caption, .8125rem); color: rgb(var(--c-ink-700)); }
.fs-fc-mot-bar {
  position: relative; height: .62rem; border-radius: 2px; overflow: hidden;
  background: rgb(var(--c-brand-50));
}
.fs-fc-mot-bar i {
  position: absolute; inset: 0 auto 0 0; display: block; border-radius: 2px;
  background: rgb(var(--c-brand-600));
}
.fs-fc-mot-row[data-result='fail'] .fs-fc-mot-bar i { background: rgb(var(--c-accent, var(--c-brand-700))); }
.fs-fc-mot-miles {
  font-size: var(--fs-type-caption, .8125rem); font-weight: 600;
  text-align: right; white-space: nowrap; color: rgb(var(--c-ink-950));
}
.fs-fc-mot-note {
  grid-column: 1 / -1; margin: 0;
  font-size: var(--fs-type-caption, .8125rem); color: rgb(var(--c-ink-400));
}
.fs-fc-checks { display: grid; gap: 0; }
.fs-fc-check {
  display: grid; grid-template-columns: 1.4rem 1fr auto; gap: .7rem;
  align-items: baseline; padding: .62rem 0;
  border-bottom: 1px solid rgb(var(--c-line) / .5);
}
.fs-fc-check:last-child { border-bottom: 0; }
.fs-fc-check > * { min-width: 0; }
.fs-fc-check > svg { width: 1.1rem; height: 1.1rem; align-self: center; color: rgb(var(--c-brand-600)); }
.fs-fc-check b { font-weight: 600; color: rgb(var(--c-ink-950)); }
.fs-fc-check p { margin: .1rem 0 0; font-size: var(--fs-type-caption, .8125rem); color: rgb(var(--c-ink-700)); }
.fs-fc-check-src { font-size: var(--fs-type-caption, .8125rem); white-space: nowrap; }
.fs-fc-check-src a { color: rgb(var(--c-brand-600)); text-decoration: none; }
.fs-fc-check-src a:hover { text-decoration: underline; }
/* A row whose source is not a link renders visibly WEAKER than one that
   is. That is the point: an unverifiable claim should look worse than a
   verifiable one. */
.fs-fc-check:not(:has(a)) .fs-fc-check-src { color: rgb(var(--c-ink-400)); font-style: italic; }

/* ── favLotPrep ────────────────────────────────────────────────── */
.fs-fc-prep {
  display: grid; gap: var(--fs-space-gap, 1.75rem);
  grid-template-columns: minmax(0, 1fr) minmax(0, 22rem);
  align-items: start;
}
@media (max-width:60rem) { .fs-fc-prep { grid-template-columns: 1fr; } }
/* Same editor-canvas gap as .fs-fc-prov above. */
@container fs-editor-canvas (max-width:60rem) { [data-fs-editor-frame] .fs-fc-prep { grid-template-columns: 1fr; } }
.fs-fc-prep > *, .fs-fc-prep-list > *, .fs-fc-prep-item > * { min-width: 0; }
.fs-fc-prep-list { display: grid; gap: 0; counter-reset: fsfcprep; }
.fs-fc-prep-item {
  display: grid; grid-template-columns: 2.2rem 1fr; gap: .9rem;
  padding: .85rem 0; border-bottom: 1px solid rgb(var(--c-line) / .5);
}
.fs-fc-prep-item:last-child { border-bottom: 0; }
/* counter-increment on ::before, so rows can be added or removed
   without renumbering anything in the content. */
.fs-fc-prep-item::before {
  counter-increment: fsfcprep;
  content: counter(fsfcprep, decimal-leading-zero);
  font-family: var(--font-display); font-weight: 700; font-size: 1rem;
  line-height: 1.5; color: rgb(var(--c-accent, var(--c-brand-700)));
}
.fs-fc-prep-item h3 {
  font-family: var(--font-display);
  font-size: 1rem; font-weight: 700; margin: 0 0 .1rem;
  color: rgb(var(--c-ink-950));
}
.fs-fc-prep-item p { margin: 0; font-size: var(--fs-type-caption, .8125rem); color: rgb(var(--c-ink-700)); }
.fs-fc-otr-row {
  display: flex; justify-content: space-between; gap: 1rem;
  padding: .5rem 0; font-size: .95rem;
  border-bottom: 1px solid rgb(var(--c-line) / .5);
}
/* NOT nowrap: most values are currency and would be safe, but the
   build-up also carries "We do not charge one", and at 320px an
   unwrappable phrase in a two-column row took the page sideways. */
.fs-fc-otr-row span:last-child { font-weight: 600; text-align: right; }
.fs-fc-otr-row[data-zero] span:last-child { color: rgb(var(--c-brand-600)); }
.fs-fc-otr-total {
  display: flex; justify-content: space-between; gap: 1rem; align-items: baseline;
  padding-top: .8rem; margin-top: .3rem;
  border-top: 2px solid rgb(var(--c-ink-950));
}
.fs-fc-otr-total b { font-family: var(--font-display); font-size: 1.55rem; font-weight: 700; }
.fs-fc-otr-none {
  margin: .9rem 0 0; padding-left: .7rem;
  font-size: var(--fs-type-caption, .8125rem); color: rgb(var(--c-ink-700));
  border-left: 2px solid rgb(var(--c-accent, var(--c-brand-700)));
}
.fs-fc-otr-none strong { color: rgb(var(--c-ink-950)); }

/* ── favLotFinance ─────────────────────────────────────────────── */
.fs-fc-fin {
  display: grid; gap: var(--fs-space-gap, 1.75rem);
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: start;
}
@media (max-width:60rem) { .fs-fc-fin { grid-template-columns: 1fr; } }
/* Same editor-canvas gap as .fs-fc-prov above. */
@container fs-editor-canvas (max-width:60rem) { [data-fs-editor-frame] .fs-fc-fin { grid-template-columns: 1fr; } }
.fs-fc-fin > * { min-width: 0; }
.fs-fc-fin-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr));
  margin: 1rem 0 0; border-top: 1px solid rgb(var(--c-line));
}
.fs-fc-fin-grid > div {
  min-width: 0; padding: .7rem .7rem .7rem 0;
  border-bottom: 1px solid rgb(var(--c-line) / .5);
}
.fs-fc-fin-grid dt {
  font-size: var(--fs-type-eyebrow, .7rem); letter-spacing: .12em;
  text-transform: uppercase; color: rgb(var(--c-ink-400)); margin: 0;
}
.fs-fc-fin-grid dd {
  margin: .1rem 0 0; font-family: var(--font-display);
  font-weight: 700; font-size: 1.25rem; color: rgb(var(--c-ink-950));
}
.fs-fc-fin-grid > div[data-emph] dd { color: rgb(var(--c-brand-600)); }
.fs-fc-fin-apr {
  display: flex; align-items: baseline; gap: .6rem; flex-wrap: wrap;
  padding: .85rem 0 0; margin-top: .85rem;
  border-top: 2px solid rgb(var(--c-ink-950));
}
/* Same U13 shape as the lot price, found by sweeping the file for it
   rather than by looking: the APR is the second number this theme is
   FOR, and it measured 14px against the prototype's 30.4px for exactly
   the same reason. .fs-fc-otr-total and .fs-fc-fig were checked in the
   same sweep and were already right — the first has no sibling-span
   rule to leak, the second was written with > b already. */
.fs-fc-fin-apr > b,
.fs-fc-fin-apr > b > * { font-family: var(--font-display); font-size: 1.9rem; font-weight: 700; line-height: 1; }
.fs-fc-fin-apr > span,
.fs-fc-fin-apr > span > * { font-size: var(--fs-type-caption, .875rem); color: rgb(var(--c-ink-700)); }
/* The shared treatment for any text that is there because a regulator
   requires it: a brand-coloured left rule, body size, never small print. */
.fs-fc-statutory {
  margin-top: 1.1rem; padding: .1rem 0 .1rem .8rem;
  border-left: 2px solid rgb(var(--c-brand-600));
  font-size: var(--fs-type-caption, .9rem); line-height: 1.6;
  color: rgb(var(--c-ink-700));
}
.fs-fc-statutory p { margin: 0; }
.fs-fc-statutory strong { color: rgb(var(--c-ink-950)); }
.fs-fc-statutory a { color: rgb(var(--c-brand-600)); }

/* ── favLotValuation ───────────────────────────────────────────── */
.fs-fc-val {
  display: grid; gap: var(--fs-space-gap, 1.75rem);
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  align-items: center;
}
@media (max-width:60rem) { .fs-fc-val { grid-template-columns: 1fr; align-items: start; } }
/* Same editor-canvas gap as .fs-fc-prov above — this is the one the
   probe actually catches: at the editor's mobile canvas (390px inside
   a 1440px window) the grid stays two-column, squeezing
   .fs-fc-val-form to roughly half-width, and its .fs-fc-val-stage row
   ("Step 1 · Your registration ··· Step 2 · your details", a flex row
   whose items default to min-width:auto) can't shrink to fit — a 19px
   scrollWidth overflow on the canvas. */
@container fs-editor-canvas (max-width:60rem) { [data-fs-editor-frame] .fs-fc-val { grid-template-columns: 1fr; align-items: start; } }
.fs-fc-val > * { min-width: 0; }
.fs-fc-choice { display: grid; gap: .5rem; margin-top: 1.1rem; }
.fs-fc-choice-opt {
  display: grid; grid-template-columns: 1.1rem 1fr; gap: .7rem; align-items: start;
  padding: .75rem; border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-control, 8px);
}
.fs-fc-choice-opt[data-selected] {
  border-color: rgb(var(--c-brand-600));
  background: rgb(var(--c-brand-50));
}
.fs-fc-radio {
  width: 1.05rem; height: 1.05rem; margin-top: .2rem; border-radius: 50%;
  border: 1px solid rgb(var(--c-ink-400)); display: block; flex: none;
}
.fs-fc-choice-opt[data-selected] .fs-fc-radio {
  border-color: rgb(var(--c-brand-600));
  box-shadow: inset 0 0 0 3px rgb(var(--c-paper)), inset 0 0 0 9px rgb(var(--c-brand-600));
}
.fs-fc-choice-opt b { display: block; font-size: .95rem; color: rgb(var(--c-ink-950)); }
.fs-fc-choice-opt > span > span { font-size: var(--fs-type-caption, .8125rem); color: rgb(var(--c-ink-700)); }
.fs-fc-val-stage {
  display: flex; align-items: center; gap: .5rem; margin-bottom: .85rem;
  font-size: var(--fs-type-caption, .8125rem); color: rgb(var(--c-ink-400));
}
.fs-fc-val-stage b { color: rgb(var(--c-ink-950)); }
.fs-fc-val-stage i { flex: 1; height: 1px; background: rgb(var(--c-line)); font-style: normal; }
/* The UK number plate — the single most recognisable input in this
   sector, and it costs nine lines. */
.fs-fc-plate {
  display: grid; grid-template-columns: 2.2rem 1fr; align-items: stretch;
  border: 2px solid rgb(var(--c-ink-950));
  border-radius: var(--fs-radius-control, 6px);
  overflow: hidden; margin-bottom: .85rem;
}
.fs-fc-plate-band { background: rgb(var(--c-brand-600)); }
.fs-fc-plate input {
  font-family: var(--font-display); font-weight: 700; font-size: 1.5rem;
  letter-spacing: .12em; text-transform: uppercase; text-align: center;
  border: 0; padding: .55rem .4rem; min-height: 44px; width: 100%;
  background: rgb(var(--c-paper)); color: rgb(var(--c-ink-950));
}
.fs-fc-plate input::placeholder { color: rgb(var(--c-ink-400)); }
.fs-fc-field { display: grid; gap: .3rem; margin-bottom: .85rem; }
.fs-fc-field label { font-size: var(--fs-type-caption, .8125rem); font-weight: 600; color: rgb(var(--c-ink-950)); }
.fs-fc-field input, .fs-fc-field select {
  font: inherit; font-size: 1rem; padding: .62rem .7rem; min-height: 44px; width: 100%;
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-control, 8px);
  background: rgb(var(--c-paper)); color: rgb(var(--c-ink-950));
}
.fs-fc-field-hint { font-size: var(--fs-type-caption, .8125rem); color: rgb(var(--c-ink-400)); }
.fs-fc-field-row { display: grid; gap: 1rem; grid-template-columns: 1fr 1fr; }
@media (max-width: 34rem) { .fs-fc-field-row { grid-template-columns: 1fr; } }
/* Same editor-canvas gap as .fs-fc-prov above. */
@container fs-editor-canvas (max-width: 34rem) { [data-fs-editor-frame] .fs-fc-field-row { grid-template-columns: 1fr; } }
.fs-fc-btn {
  display: flex; align-items: center; justify-content: center; gap: .5em;
  width: 100%; min-height: 44px; padding: .82em 1.35em;
  font-family: var(--font-display); font-weight: 600; font-size: 1rem;
  letter-spacing: .05em; text-transform: uppercase;
  background: rgb(var(--c-brand-600)); color: rgb(var(--c-paper));
  border-radius: var(--fs-radius-control, 8px);
}
.fs-fc-btn svg { width: 1.1em; height: 1.1em; flex: none; }

/* ── favLotFigures ─────────────────────────────────────────────── */
/* theme.css section 14's .fc-stats: four figures on one ruled band,
   the numeral in the display face and the caption under it in the body
   face. No card, no icon, no chart — a rule above, a rule below, and
   hairlines between the columns.
   Measured in the prototype at a 1600px canvas and matched here:
     .fc-stat b     Antonio 700, clamp(2rem, 1.4rem + 2vw, 3rem) = 48px,
                    line-height 1, display block, tabular figures
     .fc-stat span  Golos Text at --fs-type-caption = 14.72px,
                    --c-ink-700, display block, margin-top .3rem
   The column padding uses the family's own --fs-space-card so the band
   tracks the theme's density dial with every other block in the set,
   rather than pinning the prototype's 24.8px. */
.fs-fc-figs {
  display: grid; gap: 0;
  grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
  border-top: 1px solid rgb(var(--c-line));
}
.fs-fc-figs > * { min-width: 0; }
.fs-fc-fig {
  min-width: 0;
  padding: var(--fs-space-card, 1.35rem) 1rem var(--fs-space-card, 1.35rem) 0;
  border-bottom: 1px solid rgb(var(--c-line));
  border-right: 1px solid rgb(var(--c-line) / .45);
}
.fs-fc-fig:last-child { border-right: 0; }
/* DIRECT CHILD, not descendant, and it is load-bearing. theme.css can
   write .fc-stat b / .fc-stat span because its markup is exactly that;
   here every field arrives wrapped in an <Editable>, which renders a
   real <span> of its own. A descendant .fs-fc-fig span therefore also
   matched the wrapper INSIDE the <b> and set the 48px numeral at
   caption size — measured in the editor, where all four figures came
   out the size of their captions. */
.fs-fc-fig > b {
  display: block;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(2rem, 1.4rem + 2vw, 3rem);
  line-height: 1;
  color: rgb(var(--c-ink-950));
  font-variant-numeric: tabular-nums;
}
.fs-fc-fig > span {
  display: block;
  font-size: var(--fs-type-caption, .875rem);
  line-height: 1.6;
  color: rgb(var(--c-ink-700));
  margin-top: .3rem;
}

/* ════════════════════════════════════════════════════════════════
   THEME-SCOPED REFINEMENT OF THE SHARED BLOCKS

   [data-fs-theme] is stamped on the preview root by EditWpClient and on
   the published page by PublicSiteClient — the generic hook that lets a
   theme refine the SHARED blocks without restyling them for the other
   thirty. Nothing below is unscoped.

   Half of a Forecourt page is universal blocks (services, cta, quote,
   gallery, about, showcase, the table, the accordion, testimonials, the
   team grid, the form, the map), and the app draws them centred,
   rounded and card-filled with headings at a flat 24px. The prototype's
   register is left-aligned, ruled, and every heading in Antonio at the
   theme's own h2 step. A port that leaves them alone is not a mirror of
   the prototype; it is the theme's five blocks pasted into somebody
   else's page.
   ════════════════════════════════════════════════════════════════ */

/* ── The heading register ──────────────────────────────────────── */
[data-fs-theme='forecourt'] [data-fs-role='services'] .fs-heading,
[data-fs-theme='forecourt'] [data-fs-role='textBlock'] .fs-heading,
[data-fs-theme='forecourt'] [data-fs-role='about'] .fs-heading,
[data-fs-theme='forecourt'] [data-fs-role='gallery'] .fs-heading,
[data-fs-theme='forecourt'] [data-fs-role='showcase'] .fs-heading,
[data-fs-theme='forecourt'] [data-fs-role='cta'] .fs-heading,
[data-fs-theme='forecourt'] [data-fs-role='map'] .fs-heading,
[data-fs-theme='forecourt'] .fs-section-shell > .fs-heading,
[data-fs-theme='forecourt'] [data-fs-acc] > h2 {
  font-family: var(--font-display);
  font-size: var(--fs-type-h2, 2.25rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: .004em;
  text-align: left;
  margin-inline: 0;
  color: rgb(var(--c-ink-950));
}
/* The app centres these blocks with data-align="center". The hero keeps
   its own centring — it is a full-bleed photograph, not a ruled band. */
[data-fs-theme='forecourt'] [data-fs-block][data-align='center']:not([data-fs-role='hero']),
[data-fs-theme='forecourt'] [data-fs-block][data-align='center']:not([data-fs-role='hero']) .fs-prose,
[data-fs-theme='forecourt'] .fs-section-shell > p {
  text-align: left;
  margin-inline: 0;
}
[data-fs-theme='forecourt'] .fs-prose { max-width: var(--fs-measure, 62ch); }
/* block-chrome.ts centres the heading CLUSTER at (0,2,1) —
   [data-fs-block][data-align="center"] .fs-head — and pushes every
   child to margin-inline:auto, which is why setting text-align on the
   block alone leaves the heading centred. Beat it on its own terms. */
[data-fs-theme='forecourt'] [data-fs-block][data-align='center']:not([data-fs-role='hero']) .fs-head,
[data-fs-theme='forecourt'] [data-fs-block][data-align='center']:not([data-fs-role='hero']) [data-fs-head] {
  text-align: left;
  align-items: flex-start;
}
[data-fs-theme='forecourt'] [data-fs-block][data-align='center']:not([data-fs-role='hero']) .fs-head > *,
[data-fs-theme='forecourt'] [data-fs-block][data-align='center']:not([data-fs-role='hero']) [data-fs-head] > * {
  margin-inline: 0;
}
/* .fs-head-slot takes the register but NOT margin-inline:0. It used to
   be in the list above, and inside .fs-team-section / -testimonials- /
   -table- the chrome centres every direct child with margin-inline:auto
   — so zeroing it left the heading hard against the section padding
   while the grid under it stayed centred. Measured at 1440: heading at
   49px, cards at 144px, three times a page. text-align does the
   left-hanging on its own. */
[data-fs-theme='forecourt'] .fs-head-slot {
  font-family: var(--font-display);
  font-size: var(--fs-type-h2, 2.25rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: .004em;
  text-align: left;
  color: rgb(var(--c-ink-950));
}
[data-fs-theme='forecourt'] .fs-head-slot > * {
  font-family: var(--font-display);
  text-align: left;
}

/* The 'about' block opens on a 48x4 brand bar. about.html opens on an
   eyebrow and a hairline instead — a label, not a dash. The block has no
   eyebrow slot (and only two theme sections in the whole repo author
   one, so adding it would not have been inert), so the bar goes and the
   label is a recorded residual rather than an invented decoration. */
[data-fs-theme='forecourt'] [data-fs-role='about'] > [data-fs-inner] span[aria-hidden][class*='bg-brand-600'] { display: none; }

/* ── Cards: a hairline and a soft corner, never a lifted box ───── */
[data-fs-theme='forecourt'] [data-fs-block] [data-fs-surface='card'] {
  background: rgb(var(--c-paper-soft));
  border: 1px solid rgb(var(--c-line));
  box-shadow: none;
  transform: none;
}
[data-fs-theme='forecourt'] [data-fs-block] [data-fs-surface='card']:hover {
  transform: none;
  box-shadow: none;
  border-color: rgb(var(--c-brand-600) / .45);
}
[data-fs-theme='forecourt'] .fs-card-title {
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 700;
  color: rgb(var(--c-ink-950));
}
/* services.html §75 carries no data-fs-bg: the four cards open on the
   page colour, straight off the hero. */

/* ── The services grid, as .fc-grid--4 ─────────────────────────── */
/* services.html 77 is a four-across row of icon cards. The chrome's
   grid is three, so the fourth card dropped to a second row on its own.
   Only when there IS a fourth: a three-card services section keeps the
   three-column grid it has. */
[data-fs-theme='forecourt'] [data-fs-role='services'] [data-fs-grid]:has(> :nth-child(4)) {
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
}

/* about.html §133's closing action on the workshop panel: .fc-btn--ghost,
   which is transparent on a hairline in page ink, with the preparation
   glyph in front of the label. The button treatment further down gives it
   the display face, the tracking and the 44px target; this is the ghost
   variant and the glyph. Same masked-::after as the telephone actions —
   one pseudo per element, PITFALLS U32. */
[data-fs-theme='forecourt'] [data-fs-role='showcase'] [data-fs-showcase-cta] {
  background: transparent;
  color: rgb(var(--c-ink-950));
  border-color: rgb(var(--c-line));
}
[data-fs-theme='forecourt'] [data-fs-role='showcase'] [data-fs-showcase-cta]:hover {
  border-color: rgb(var(--c-brand-600));
  color: rgb(var(--c-brand-600));
}
[data-fs-theme='forecourt'] [data-fs-role='showcase'] [data-fs-showcase-cta]::after {
  content: '';
  position: static;
  order: -1;
  width: 1.1em; height: 1.1em; flex: none;
  background-color: currentColor;
  -webkit-mask: var(--fs-fc-prep-icon) center / contain no-repeat;
  mask: var(--fs-fc-prep-icon) center / contain no-repeat;
}

/* THE ICON IS INLINE WITH THE TITLE, AND THERE IS NO ACCENT RULE.
   services.html §77 writes the glyph INSIDE the heading —
   "<h3><svg/>Buying outright</h3>", .fc-card h3 { display: flex; gap:
   .5rem } with a 1.25rem brand-600 svg — and the card has no top edge
   on it at all. The shared block stacks a 48px rounded chip on
   bg-brand-50 ABOVE the title and paints a 4px brand bar across the
   top, so the port's card read as two decorations the prototype has not
   got and lost the one it has.

   The card becomes a two-track grid: glyph, then title, then the body
   under both. The chip keeps its element (it is what carries the mask
   below) and gives up its box. */
[data-fs-theme='forecourt'] [data-fs-role='services'] [data-fs-surface='card'] {
  display: grid;
  /* The glyph track is FIXED, not auto. An auto track takes the
     intrinsic contribution of anything spanning it, and the body spans
     both columns on row 2, so an auto track grew to the body's 229px and
     title's track computed to 0px. Everything still measured as correct
     (grid-column 2, icon inline, accent hidden) and the heading rendered
     as a clipped stack at the card's right edge, which is why this was
     caught by looking at it and not by the assertions. */
  grid-template-columns: 1.25rem minmax(0, 1fr);
  align-items: center;
  column-gap: .5rem;
}
[data-fs-theme='forecourt'] [data-fs-role='services'] [data-fs-surface='card'] > span[aria-hidden] {
  display: none;
}
[data-fs-theme='forecourt'] [data-fs-role='services'] [data-fs-surface='card'] > h4 {
  grid-column: 2; grid-row: 1;
  margin-top: 0;
}
/* EVERY other child, not just a <p>. The body is whatever element
   Editable chose — a <div> in the editor and a <p> when published — so a
   p-only rule left it to auto-place, and it landed in the icon track
   and grew it to 229px. Measured: the title's column collapsed to 0 and
   the heading rendered as a clipped stack at the card's right edge, in a
   card whose computed values all still read as correct. */
[data-fs-theme='forecourt'] [data-fs-role='services'] [data-fs-surface='card'] > :not(span):not(h4) {
  grid-column: 1 / -1; grid-row: 2;
}

/* THE FOUR ICONS, one per card, from the prototype's own sprite.
   The shared block draws the same lucide Star in every card; the
   prototype gives each service the glyph that belongs to it —
   provenance, finance, part-exchange, delivery. A mask on the chip and
   the block's own svg hidden, so the glyph takes a palette colour and
   is right in both modes, exactly as the telephone glyph does. */
[data-fs-theme='forecourt'] [data-fs-role='services'] [data-fs-surface='card'] > span:first-of-type svg,
[data-fs-theme='forecourt'] [data-fs-role='services'] [data-fs-surface='card'] > span:nth-of-type(2) svg { display: none; }
[data-fs-theme='forecourt'] [data-fs-role='services'] [data-fs-surface='card'] span[class*='bg-brand-50'] {
  position: relative;
  /* No chip: services.html sets the glyph on the heading's own line at
     1.25rem, with nothing behind it. */
  grid-column: 1; grid-row: 1;
  width: 1.25rem; height: 1.25rem;
  min-width: 0;
  background: none;
  border-radius: 0;
}
[data-fs-theme='forecourt'] [data-fs-role='services'] [data-fs-surface='card'] span[class*='bg-brand-50']::after {
  content: '';
  position: absolute; inset: 0; margin: auto;
  width: 1.25rem; height: 1.25rem;
  background-color: rgb(var(--c-brand-600));
  -webkit-mask: var(--fs-fc-svc-icon) center / contain no-repeat;
  mask: var(--fs-fc-svc-icon) center / contain no-repeat;
}
[data-fs-theme='forecourt'] [data-fs-role='services'] [data-fs-surface='card']:nth-child(1) { --fs-fc-svc-icon: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.9'%20stroke-linecap='butt'%20stroke-linejoin='miter'%3E%3Cpath%20d='M4.6%202.6h8.6l6.2%206.2v12.6H4.6z'/%3E%3Cpath%20d='M13.2%202.6v6.2h6.2'/%3E%3Cpath%20d='M7.8%2012.4h8.4M7.8%2015.6h8.4M7.8%2018.8h5.2'/%3E%3C/svg%3E"); }
[data-fs-theme='forecourt'] [data-fs-role='services'] [data-fs-surface='card']:nth-child(2) { --fs-fc-svc-icon: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.9'%20stroke-linecap='butt'%20stroke-linejoin='miter'%3E%3Cpath%20d='M2.6%206.2h18.8v11.6H2.6z'/%3E%3Ccircle%20cx='12'%20cy='12'%20r='2.9'/%3E%3Cpath%20d='M2.6%209.4h2.6M18.8%2014.6h2.6'/%3E%3C/svg%3E"); }
[data-fs-theme='forecourt'] [data-fs-role='services'] [data-fs-surface='card']:nth-child(3) { --fs-fc-svc-icon: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.9'%20stroke-linecap='butt'%20stroke-linejoin='miter'%3E%3Cpath%20d='M2.8%209.2h15.6M14.6%205.4l3.8%203.8'/%3E%3Cpath%20d='M21.2%2014.8H5.6M9.4%2018.6l-3.8-3.8'/%3E%3C/svg%3E"); }
[data-fs-theme='forecourt'] [data-fs-role='services'] [data-fs-surface='card']:nth-child(4) { --fs-fc-svc-icon: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.9'%20stroke-linecap='butt'%20stroke-linejoin='miter'%3E%3Cpath%20d='M3.4%2014.6%205.2%209.8a1.8%201.8%200%200%201%201.7-1.2h10.2a1.8%201.8%200%200%201%201.7%201.2l1.8%204.8v3.4H3.4z'/%3E%3Cpath%20d='M6.8%2017.8v1.8M17.2%2017.8v1.8M3.4%2014.6h17.2'/%3E%3C/svg%3E"); }


/* ── ONE MEASURE FOR THE WHOLE PAGE ────────────────────────────── */
/* theme.css §225: every section on every page is inside the SAME
   .fc-shell, min(100% - 2gap, 76rem). The port had two: the signature
   blocks on .fs-fc-shell at 72rem, and every shared block on the
   chrome's default 64rem. Measured at 1440 in the preview: the stock
   grid's left edge sat at 144px and the testimonial grid's at 208px —
   a 64px step in the page's left margin, three times per page, which is
   the kind of thing that reads as "not quite right" without ever
   announcing itself. The editor's own preview pane is ~1074px wide and
   never showed it; a published site at 1440 does.
   Set once, inherited. Blocks that declare their own width on
   themselves (wide / narrow / full) still win on specificity. */
[data-fs-theme='forecourt'] {
  /* --fs-on-brand is no longer declared here: the platform's solved
     value is the page colour in all six palettes, for buttons and the
     form alike (theme-chrome batch 4, R-B4-17). */
  /* THE EYEBROW MEASURE. theme.css never writes a width on .fc-eyebrow:
     it is a <p>, and "p { max-width: var(--fs-measure) }" catches it.
     The prototype's --fs-measure is 68ch, resolved against the
     eyebrow's OWN font — Antonio at 12px — so the box is 341px whatever
     the band is doing, and the trailing hairline is a short 87–290px
     gesture rather than a divider. Without it the same rule ran the
     width of the section: measured on the port before this fix,
     452–1163px across four pages in both modes, three to seven times
     the drawn length, and a markup diff shows nothing at all.

     Not var(--fs-measure): that would be 62ch here, because the app
     picks the measure off the DENSITY dial and forecourt is compact.
     And not 68ch either — the port draws its eyebrows at weight 600
     where the prototype leaves them at the body weight, and Antonio's
     zero is wider at 600, so 1ch measures 5.906px in the port against
     the prototype's 5.016px. 68ch would be 402px. The number below is
     the count that reproduces the PROTOTYPE'S DRAWN BOX in the port's
     own font: 58 × 5.906 = 342.6px against 341.1px measured on
     theme.css. Kept in ch rather than rem so it tracks the eyebrow's
     own clamped font-size across the breakpoints, exactly as the
     prototype's does. */
  --fs-fc-eyebrow-measure: 58ch;
  /* art/icon-prep.svg, hoisted the same way the telephone path is: the
     showcase's closing action is the only thing that reads it. */
  --fs-fc-prep-icon: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.9'%20stroke-linecap='butt'%20stroke-linejoin='miter'%3E%3Cpath%20d='M17.4%203.4a4.6%204.6%200%200%200-6.1%205.9L3.2%2017.4%206.6%2020.8l8.1-8.1a4.6%204.6%200%200%200%205.9-6.1l-3%203-2.4-2.4z'/%3E%3C/svg%3E");
  --fs-block-max: 76rem;
  /* The same number under a name the chrome cannot narrow.
     [data-fs-block][data-width='narrow'] re-declares --fs-block-max
     as 48rem ON THE BLOCK, so any rule inside a cta or a textBlock
     that reads it gets 768px, not 1216 — which is how the closing
     band ended up 336px from the page's left edge while the section
     above it started at 112. --fs-fc-measure is this theme's own
     and nothing re-declares it. */
  --fs-fc-measure: 76rem;
  /* The sprite's #fc-i-phone path, hoisted to the theme root so the
     header slot and the closing band's ghost button share one copy. */
  --fs-fc-tel-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='butt' stroke-linejoin='miter'%3E%3Cpath d='M7.4 2.8c-1.1 0-3.1 1.3-3.3 3.4-.3 3.3 2.1 7.8 4.9 10.6s7.3 5.2 10.6 4.9c2.1-.2 3.4-2.2 3.4-3.3 0-.5-.3-1-.8-1.2l-3.5-1.7c-.6-.3-1.4-.1-1.8.4l-1.1 1.4c-1.8-.9-4.2-3.2-5-5l1.4-1.1c.5-.4.7-1.2.4-1.8L10.9 3.6c-.2-.5-.7-.8-1.2-.8z'/%3E%3C/svg%3E");
}

/* ── THE VERTICAL RHYTHM, AS THE PROTOTYPE SETS IT ────────────── */
/* tokens.css §24: --fs-space-section is clamp(3.25rem, 2.4rem + 4vw,
   6rem), which is 96px from 1440 up. The app's 'compact' density dial
   writes clamp(2rem,4vw,3rem) — 48px, exactly half — so every band on
   every page sat at half the prototype's height and the pages read as
   cramped rather than as the same design. The gap, card and stack
   tokens are the same story: 12 / 17.6 / 8 against 22.2 / 24.4 / 14.4.
   Measured, not guessed: the two token sets were computed side by side
   at 1440.

   ON A DESCENDANT SELECTOR, AND IT HAS TO BE. apply.ts writes these
   four as an INLINE style on the same element that carries
   [data-fs-theme] (themeStyleVars → React.CSSProperties), and an inline
   declaration beats any stylesheet rule for the same property on the
   same element however specific. Declaring them on the scope's children
   re-inherits them down the whole tree and never fights the inline set —
   the same trap form-themes.ts documents for --fs-fm-*.

   The density: 'compact' dial itself is untouched: it is one of the
   three identity levers check-themes enforces, and it stays exactly what
   the theme declares. This is the theme drawing its own spacing over the
   dial's, which is what every other value in this sheet does. */
[data-fs-theme='forecourt'] > * {
  --fs-space-section: clamp(3.25rem, 2.4rem + 4vw, 6rem);
  --fs-space-gap: clamp(1rem, 0.85rem + 0.6vw, 1.5rem);
  --fs-space-card: clamp(1.1rem, 0.95rem + 0.6vw, 1.6rem);
  --fs-space-stack: clamp(0.7rem, 0.63rem + 0.3vw, 1rem);
}

/* ── THE EYEBROW, EVERYWHERE ONE IS DRAWN ─────────────────────── */
/* Every h2 in the prototype opens on a small uppercase label whose
   trailing hairline runs to the end of the line — theme.css §.fc-eyebrow,
   and .fs-fc-eyebrow above draws it in all five signature blocks. The
   shared blocks drew it in brand-600 Golos Text at .96px tracking with
   no rule, when they drew it at all: measured on 'about', font-family
   "Golos Text", colour rgb(23,57,75), ::after content none.

   The .fs-hero-* variants keep their own rule (on-media ink), so the
   :not() is what stops this repainting the hero's. */
[data-fs-theme='forecourt'] .fs-eyebrow:not(.fs-hero-eyebrow) {
  display: flex;
  align-items: center;
  gap: .6em;
  /* See .fs-fc-eyebrow above: the measure is what makes the trailing
     hairline a gesture rather than a full-width divider. */
  width: 100%;
  max-width: var(--fs-fc-eyebrow-measure);
  font-family: var(--font-display);
  font-size: var(--fs-type-eyebrow, .75rem);
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgb(var(--c-ink-400));
  margin: 0 0 .55rem;
}
[data-fs-theme='forecourt'] .fs-eyebrow:not(.fs-hero-eyebrow)::after {
  content: '';
  flex: 1 1 auto;
  min-width: 1.5rem;
  height: 1px;
  background: rgb(var(--c-line));
}

/* ── THE ALTERNATING BAND ─────────────────────────────────────── */
/* Sections that carry band: 'soft' are painted by block-chrome. The
   signature blocks paint --c-paper on themselves, which would cover the
   band, so inside one they go transparent and let it through. */
[data-fs-theme='forecourt'] [data-fs-band='soft'] .fs-fc,
[data-fs-theme='forecourt'] [data-fs-band='soft'] .fs-team-section,
[data-fs-theme='forecourt'] [data-fs-band='soft'] .fs-testimonials-section { background: transparent; }
/* MapBlock and AccordionBlock hardcode py-12 on their own root -- they
   are not [data-fs-block] and do not read the density dial, so they
   were the only two sections on a contact page still at 48px while
   everything round them had moved to 96. */
[data-fs-theme='forecourt'] [data-fs-role='map'],
[data-fs-theme='forecourt'] [data-fs-acc] { padding-block: var(--fs-space-section, 6rem); }

/* ── favMapEmbed IS TWO COLUMNS ───────────────────────────────── */
/* contact.html §130 is .fc-map: minmax(0,1.2fr) minmax(0,1fr),
   align-items:center — the map on the left, everything you need to
   actually get here on the right. MapBlock stacks a heading, one grey
   14px line and then a 4:3 frame the full width of the measure, which at
   1216 is a 912px-tall map with a caption floating above it.

   The block's own inner div is the grid; the eyebrow and the heading
   span both tracks, the frame takes the wide one and the text the
   narrow one.

   The right column is now three things, in the prototype's order: the
   opening-hours card (§139 .fc-otr), the address block (§145) and the
   .fc-meta line (§149). The first two are the block's optional aside;
   the third is its description string, moved to the row below so the
   two do not collide. The frame spans both of those rows. The extra
   row is auto, so a map with no aside lays out exactly as it did. */
@media (min-width: 60rem) {
  [data-fs-theme='forecourt'] [data-fs-role='map'] > div {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    grid-template-rows: auto auto auto 1fr;
    column-gap: var(--fs-space-gap, 1.4rem);
    align-items: start;
  }
  [data-fs-theme='forecourt'] [data-fs-role='map'] > div > .fs-eyebrow { grid-column: 1 / -1; grid-row: 1; }
  [data-fs-theme='forecourt'] [data-fs-role='map'] > div > h2 { grid-column: 1 / -1; grid-row: 2; }
  [data-fs-theme='forecourt'] [data-fs-role='map'] > div > [data-fs-map-aside] { grid-column: 2; grid-row: 3; }
  [data-fs-theme='forecourt'] [data-fs-role='map'] > div > p { grid-column: 2; grid-row: 4; align-self: start; }
  [data-fs-theme='forecourt'] [data-fs-role='map'] > div > div { grid-column: 1; grid-row: 3 / span 2; }
}
/* §139 .fc-otr is a data-fs-surface="card" with --fs-space-card of
   padding, and its rows are the theme's soft rule. The generic aside is
   a bare ruled list; this is what makes it the card the prototype
   draws. */
/* paper-soft, NOT paper: --fs-surface="card" resolves to paper-soft in
   this palette (PITFALLS J1) and that is the same fill the form card two
   sections up already uses. Measured on both sides — prototype and port
   agree that paper is 245 243 239 / 14 20 24 and paper-soft is
   255 255 255 / 22 30 35 — so the prototype's hours card is exactly its
   soft band with a hairline round it, and paper here would have drawn a
   darker box the prototype does not have. */
[data-fs-theme='forecourt'] [data-fs-role='map'] [data-fs-map-hours] {
  background: rgb(var(--c-paper-soft));
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-card, 10px);
  padding: var(--fs-space-card, 1.35rem);
}
[data-fs-theme='forecourt'] [data-fs-role='map'] [data-fs-map-hours-title] {
  font-family: var(--font-display);
  font-size: var(--fs-type-h3, 1.15rem);
  letter-spacing: .004em;
  color: rgb(var(--c-ink-950));
}
[data-fs-theme='forecourt'] [data-fs-role='map'] [data-fs-map-hours-row] {
  border-bottom-color: rgb(var(--c-line) / .6);
}
[data-fs-theme='forecourt'] [data-fs-role='map'] [data-fs-map-address] { color: rgb(var(--c-ink-700)); }
[data-fs-theme='forecourt'] [data-fs-role='map'] [data-fs-map-address-name] { color: rgb(var(--c-ink-950)); }
/* The right-hand column is the address and the opening hours, not a
   caption: body size in the reading ink, on the page's own leading. */
[data-fs-theme='forecourt'] [data-fs-role='map'] > div > p {
  margin-top: var(--fs-space-stack, .9rem);
  font-size: 1em;
  line-height: 1.6;
  color: rgb(var(--c-ink-700));
  max-width: var(--fs-measure, 62ch);
}
[data-fs-theme='forecourt'] [data-fs-role='map'] > div > div { margin-top: var(--fs-space-gap, 1.4rem); }
/* .fc-map-fig is a card round the map, not a bare frame. */
[data-fs-theme='forecourt'] [data-fs-map-frame] {
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-card, 10px);
}

/* ── THE FOOTER BAND ──────────────────────────────────────────── */
/* theme.css [data-fs-chrome='footer']: paper-soft, with a hairline over
   it. The port's footer sat on the page colour, so the four columns and
   the small print ran on from the last section with no edge at all. */
[data-fs-theme='forecourt'] [role='contentinfo'] {
  background: rgb(var(--c-paper-soft));
  border-top: 1px solid rgb(var(--c-line));
}

/* ── cta ───────────────────────────────────────────────────────── */
/* The prototype closes every page on a soft band with the type left and
   a photograph right — not on a brand fill with two blurred blobs. */
[data-fs-theme='forecourt'] [data-fs-role='cta'] {
  background: rgb(var(--c-paper-soft));
  text-align: left;
}
[data-fs-theme='forecourt'] [data-fs-role='cta'] > div[aria-hidden],
[data-fs-theme='forecourt'] [data-fs-role='cta'] > div.pointer-events-none { display: none; }
/* The block's own inner is mx-auto max-w-2xl text-center — three
   Tailwind utilities that between them centre the whole cluster in a
   narrow column. Setting text-align on the block alone left the type
   left-aligned INSIDE a centred 42rem box, which read as an indent
   rather than as the prototype's left-hung close.

   TWO COLUMNS NOW, matching theme.css §888:
   grid-template-columns: minmax(0,1fr) minmax(0,20rem), one gap,
   align-items:center, collapsing to one column under 60rem. The block
   supplies the grid when a photograph is set; this restates the
   prototype's exact track sizes over the shared sm:grid-cols. */
[data-fs-theme='forecourt'] [data-fs-role='cta'] > div:last-child {
  margin-inline: auto;
  max-width: var(--fs-fc-measure, 76rem);
  text-align: left;
}
[data-fs-theme='forecourt'] [data-fs-role='cta'] .fs-heading,
[data-fs-theme='forecourt'] [data-fs-role='cta'] .fs-prose { margin-inline: 0; }
[data-fs-theme='forecourt'] [data-fs-role='cta'][data-fs-cta-media] > div:last-child {
  grid-template-columns: minmax(0, 1fr) minmax(0, 20rem);
  align-items: center;
  gap: var(--fs-space-gap, 1.75rem);
}
@media (max-width:60rem) {
  [data-fs-theme='forecourt'] [data-fs-role='cta'][data-fs-cta-media] > div:last-child {
    grid-template-columns: 1fr;
  }
}
[data-fs-theme='forecourt'] [data-fs-role='cta'] [data-fs-cta-figure] img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: var(--fs-radius-card, .5rem);
}
[data-fs-theme='forecourt'] [data-fs-role='cta'] .fs-heading { color: rgb(var(--c-ink-950)) !important; }
[data-fs-theme='forecourt'] [data-fs-role='cta'] .fs-prose {
  color: rgb(var(--c-ink-700)) !important;
  margin-inline: 0;
}
/* theme.css §389's .fc-meta — the address line under the actions. The
   block hands it out as white/70 for a brand panel; this band is paper,
   so it takes the theme's own small print. */
[data-fs-theme='forecourt'] [data-fs-role='cta'] .fs-cta-meta {
  color: rgb(var(--c-ink-400)) !important;
  font-size: var(--fs-type-caption, .8125rem);
  margin-inline: 0;
}
/* .fc-hero-actions — flex, wrapping, .7rem apart. The two buttons each
   carry their own mt-8 from the block, so the row's own margin is 0. */
[data-fs-theme='forecourt'] [data-fs-role='cta'] [data-fs-cta-actions] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: .7rem;
}
[data-fs-theme='forecourt'] [data-fs-role='cta'] [data-fs-cta-primary] {
  background: rgb(var(--c-brand-600));
  color: rgb(var(--c-paper));
  box-shadow: none;
  font-family: var(--font-display);
  font-weight: 600;
  letter-spacing: .05em;
  text-transform: uppercase;
}
/* The ghost. The shared block outlines it in white/60 because it expects
   a brand panel underneath; forecourt's closing band is paper, so white
   on paper would have been an invisible button with a faint edge —
   exactly the dark-mode class of bug this pass is about, only inverted. */
[data-fs-theme='forecourt'] [data-fs-role='cta'] [data-fs-cta-secondary] {
  background: transparent;
  border-color: rgb(var(--c-ink-400)) !important;
  color: rgb(var(--c-ink-950)) !important;
  box-shadow: none;
  font-family: var(--font-display);
  font-weight: 600;
  letter-spacing: .05em;
  text-transform: uppercase;
}
[data-fs-theme='forecourt'] [data-fs-role='cta'] [data-fs-cta-secondary]:hover {
  border-color: rgb(var(--c-ink-950)) !important;
}
/* index.html 387 puts the phone glyph in front of the number. Same
   sprite path and the same mask technique as the header's opt-in glyph,
   so it takes a palette colour and is right in dark mode; keyed on the
   href, so a secondary action that is not a telephone number gets none.

   ::after, NOT ::before, and measured before it was moved: the hover
   sweep in section 19 already owns ::before on every control inside a
   cta ([data-fs-role='cta'] a::before). Declaring the glyph there did
   not add a second pseudo-element — there is only ever one — it
   REPLACED the sweep's background with an opaque currentColor and
   masked the sliding layer into the shape of a telephone. The button
   is inline-flex, so the pseudo is a flex item and order:-1 puts it
   back in front of the label where the prototype has it. */
[data-fs-theme='forecourt'] [data-fs-role='cta'] [data-fs-cta-secondary][href^='tel:']::after {
  content: '';
  /* MEASURED: something upstream gives this pseudo position:absolute,
     which takes it out of the flex flow — order stops applying and a
     16px masked box lands on top of the label instead of in front of
     it. Stated explicitly rather than inherited. */
  position: static;
  order: -1;
  width: 1em; height: 1em; flex: none;
  background-color: currentColor;
  -webkit-mask: var(--fs-fc-tel-icon) center / contain no-repeat;
  mask: var(--fs-fc-tel-icon) center / contain no-repeat;
}

/* ── quote ─────────────────────────────────────────────────────── */
/* The prototype's quotation is centred display type on the page, with
   no card and no glyph — the one centred thing in the whole theme. */
[data-fs-theme='forecourt'] [data-fs-role='quote'] [data-fs-surface='card'] {
  border: 0; box-shadow: none; background: none; padding: 0;
  max-width: min(52rem, var(--fs-layout-clamp, 52rem)); margin-inline: auto; text-align: center;
}
[data-fs-theme='forecourt'] [data-fs-role='quote'] blockquote,
[data-fs-theme='forecourt'] [data-fs-role='quote'] [data-fs-surface='card'] > p {
  font-family: var(--font-display);
  font-size: var(--fs-type-h2, 2.25rem);
  font-weight: 700;
  line-height: 1.2;
  color: rgb(var(--c-ink-950));
  margin-top: 0;
  text-align: center;
  max-width: none;
}
[data-fs-theme='forecourt'] [data-fs-role='quote'] [data-fs-surface='card'] > span {
  color: rgb(var(--c-ink-400));
  font-size: .8125rem;
  letter-spacing: .1em;
  text-transform: uppercase;
}
[data-fs-theme='forecourt'] [data-fs-role='quote'] svg { display: none; }

/* ── favTable ──────────────────────────────────────────────────── */
/* The regulator register and the warranty comparison are the theme's
   two tables, and both are read left to right — the app's centred cells
   turn a "what it does for you" column into a caption. */
[data-fs-theme='forecourt'] [data-fs-tbl-scroll] th,
[data-fs-theme='forecourt'] [data-fs-tbl-scroll] td { text-align: left; }
[data-fs-theme='forecourt'] [data-fs-tbl-scroll] thead th {
  font-family: var(--font-display);
  font-size: var(--fs-type-eyebrow, .72rem);
  letter-spacing: .12em;
  text-transform: uppercase;
}
/* theme.css §824: the row headings are <th scope="row" font-weight:500>
   — medium, not bold, and on no band of their own. The app draws that
   column as a plain <td>, so the weight is restated here rather than by
   turning on data-header-col, which would also paint a grey bar the
   prototype does not have. */
[data-fs-theme='forecourt'] [data-fs-tbl-scroll] tbody td:first-child { font-weight: 500; }
/* theme.css §821: the whole table sits in a ruled, radiused box, and
   §823's caption sits INSIDE it at caption size. */
[data-fs-theme='forecourt'] [data-fs-tbl-scroll] {
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-card, .5rem);
}
[data-fs-theme='forecourt'] [data-fs-tbl-caption] {
  padding: var(--fs-space-card, 1.1rem) var(--fs-space-card, 1.1rem) .6rem;
  font-size: var(--fs-type-caption, .8125rem);
  color: rgb(var(--c-ink-700));
}
[data-fs-theme='forecourt'] .fs-table-intro {
  color: rgb(var(--c-ink-700));
  font-size: 1.08em;
  max-width: var(--fs-fc-measure, 76rem);
  margin-inline: auto;
  text-align: left;
}
[data-fs-theme='forecourt'] .fs-table-intro > * {
  margin-inline: 0;
  max-width: var(--fs-measure, 62ch);
}

/* ── favAccordion ──────────────────────────────────────────────── */
[data-fs-theme='forecourt'] [data-fs-acc] > h2 { margin-bottom: .5rem; }

/* ── favTestimonials / favTeam ─────────────────────────────────── */
[data-fs-theme='forecourt'] .fs-testimonials-section,
[data-fs-theme='forecourt'] .fs-team-section { background: rgb(var(--c-paper)); }
/* THE AVATAR AND STAR HIDING IS GONE, and its going is the fix.
   The first port could not switch them off from the payload and said
   so in a comment — "setting fields.showAvatar / showStars false does
   NOT remove them". True, but only because 'fields' is not a key the
   model reads: the flags are per-ITEM and named 'display'. They are set
   correctly in forecourt.ts now, the elements are never rendered, and
   five display:none rules that were fighting the block are deleted.

   The card SHAPE is likewise no longer theme CSS. theme.css §.fc-quote
   is a <figure> whose <figcaption> is pushed to the foot of the card on
   margin-top:auto under a hairline — a shape the block could not
   express, and the fourth theme-lab prototype to draw it by hand. It is
   now template:'ruled' in the shared block (testimonials-styles.ts),
   so the ordering, the pin and the rule all come from there.

   What is left here is the part that really is this theme's: the
   accent quotation mark. */
[data-fs-theme='forecourt'] .fs-testimonials-section [data-fs-ts-quote] {
  color: rgb(var(--c-ink-950));
  font-size: 1rem;
}
/* theme.css §816 — a 2rem display-face " in the accent, hung on the
   first line with a zero line-height so it cannot open the leading. */
[data-fs-theme='forecourt'] .fs-testimonials-section [data-fs-ts-quote]::before {
  content: '\201C';
  font-family: var(--font-display);
  font-size: 2rem;
  line-height: 0;
  vertical-align: -.35em;
  color: rgb(var(--c-accent));
  margin-right: .1em;
}
/* The caption's own register: caption size, ink-400, the name on its
   own line at full ink strength. */
[data-fs-theme='forecourt'] .fs-testimonials-section [data-fs-ts-attribution] {
  font-size: var(--fs-type-caption, .8125rem);
  color: rgb(var(--c-ink-400));
}
[data-fs-theme='forecourt'] .fs-testimonials-section [data-fs-ts-name] {
  font-family: var(--font-display);
  color: rgb(var(--c-ink-950));
}
[data-fs-theme='forecourt'] .fs-testimonials-section [data-fs-ts-role],
[data-fs-theme='forecourt'] .fs-team-section [data-fs-tm-role] {
  font-size: .8125rem;
  color: rgb(var(--c-accent, var(--c-brand-700)));
  font-weight: 600;
}

/* ── textBlock ─────────────────────────────────────────────────── */
/* block-chrome centres the content column with margin-inline:auto at a
   48rem measure for data-width="narrow". Left-hung is this theme's whole
   posture, and it matters most in the footer, where the small print
   otherwise floats in from the left of a four-column grid. */
[data-fs-theme='forecourt'] [data-fs-role='textBlock'] [data-fs-inner] {
  margin-inline: auto;
  max-width: var(--fs-fc-measure, 76rem);
}
/* The small print keeps a reading measure INSIDE the page's shell,
   rather than being a 68ch column hard against the footer padding. */
[data-fs-theme='forecourt'] [data-fs-role='textBlock'] .fs-heading,
[data-fs-theme='forecourt'] [data-fs-role='textBlock'] .fs-prose {
  margin-inline: 0;
  max-width: var(--fs-measure, 68ch);
}

/* ── favForm ───────────────────────────────────────────────────── */
/* FormBlock marks a required field with a hardcoded text-red-600
   asterisk. Measured on the dark page: 3.84:1 at 12px, under the 4.5
   a glyph that size needs. Scoped rather than fixed in the block,
   because red is a deliberate convention there and repainting every
   theme's forms is not this pass's business — here it takes the
   theme's own accent, which is solved against both modes. */
[data-fs-theme='forecourt'] [data-fs-fm] {
  /* form-styles now reads this, with its old #dc2626 as the fallback.
     A fixed red cannot be right in both modes; this theme's accent is
     solved against all six palettes and is already the colour it uses
     for the one other "something is wrong" state it has, the failed
     MOT bar in favLotProvenance. */
  --fs-fm-danger: rgb(var(--c-accent));
}
/* The form shell used to be margin-inline:0, which put its heading at
   25px while every other heading on the page sat at 112. It takes the
   page measure now and left-hangs its contents inside it; the fields
   keep a form's own measure, because a 1216px-wide text input is not a
   form, it is a horizon. */
[data-fs-theme='forecourt'] .fs-section-shell {
  margin-inline: auto;
  max-width: calc(var(--fs-fc-measure, 76rem) + 3rem);
  text-align: left;
}
/* FormBlock's lede is a centred 14px opacity-80 line. theme.css's
   .fc-lede is 1.08em in ink-700 with the heading's own gap under it. */
[data-fs-theme='forecourt'] .fs-section-shell > p {
  max-width: var(--fs-measure, 62ch);
  margin-inline: 0;
  margin-top: var(--fs-space-stack, .75rem);
  margin-bottom: var(--fs-space-gap, 1.75rem);
  /* 1.08REM, not 1.08em: FormBlock's shell is text-sm, so an em here
     measured 15.12px while .fc-lede is 1.08 of a 16px body -- 17.28. */
  font-size: 1.08rem;
  line-height: 1.6;
  font-weight: 400;
  opacity: 1;
  color: rgb(var(--c-ink-700));
}

/* ── THE FORM SECTION IS TWO COLUMNS ──────────────────────────── */
/* contact.html §77 is .fc-val: the argument on the left, the enquiry
   card on the right, grid-template-columns minmax(0,1fr)
   minmax(0,1.05fr), align-items:center, collapsing to one column under
   60rem. The port drew a heading, a paragraph and a 544px form stacked
   down the left of a 1216px band, so half the section was empty and the
   form read as an afterthought rather than as the point of the page.
   Measured at 1600: form at x=177 w=544 with 672px of nothing to its
   right.

   grid-template-rows is EXPLICIT and load-bearing: grid-row: 1 / -1
   resolves against the EXPLICIT grid only, so with implicit rows the
   card would have spanned one row and sat beside the eyebrow. FIVE
   named rows now — eyebrow, heading, lede, the numbered points and the
   two actions — and the card spans all of them. The last two rows are
   auto, so on a form that writes no points and no actions they collapse
   to zero and the section lays out exactly as it did. */
@media (min-width: 60rem) {
  [data-fs-theme='forecourt'] [data-fs-fm] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
    grid-template-rows: auto auto auto auto 1fr;
    column-gap: var(--fs-space-gap, 1.4rem);
    align-items: start;
  }
  [data-fs-theme='forecourt'] [data-fs-fm] > .fs-eyebrow { grid-column: 1; grid-row: 1; }
  [data-fs-theme='forecourt'] [data-fs-fm] > h2 { grid-column: 1; grid-row: 2; }
  [data-fs-theme='forecourt'] [data-fs-fm] > p { grid-column: 1; grid-row: 3; }
  [data-fs-theme='forecourt'] [data-fs-fm] > [data-fs-fm-points] { grid-column: 1; grid-row: 4; }
  [data-fs-theme='forecourt'] [data-fs-fm] > [data-fs-fm-links] { grid-column: 1; grid-row: 5; align-self: start; }
  [data-fs-theme='forecourt'] [data-fs-fm] > form,
  [data-fs-theme='forecourt'] [data-fs-fm] > [data-fs-fm-success],
  [data-fs-theme='forecourt'] [data-fs-fm] > [data-fs-fm-schedule] {
    grid-column: 2;
    grid-row: 1 / -1;
    align-self: center;
  }
}
/* contact.html §83 .fc-prep-list and §94 .fc-hero-actions, restated on
   the block's generic aside. The prototype's numeral is a 2.2rem column
   in the display face at 1rem, accent-coloured, with a soft hairline
   between rows and none under the last; the two actions are the theme's
   own .fc-btn, primary then ghost. */
[data-fs-theme='forecourt'] [data-fs-fm] [data-fs-fm-point] {
  grid-template-columns: 2.2rem minmax(0, 1fr);
  column-gap: .9rem;
  padding: var(--fs-space-stack, .75rem) 0;
  border-bottom: 1px solid rgb(var(--c-line) / .6);
}
[data-fs-theme='forecourt'] [data-fs-fm] [data-fs-fm-point]::before {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.5;
  color: rgb(var(--c-accent));
}
[data-fs-theme='forecourt'] [data-fs-fm] [data-fs-fm-point-title] {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .004em;
  margin-bottom: .1rem;
  color: rgb(var(--c-ink-950));
}
[data-fs-theme='forecourt'] [data-fs-fm] [data-fs-fm-link][data-variant='primary'] {
  background: rgb(var(--c-brand-600));
  color: var(--fs-on-brand, rgb(var(--c-paper)));
  border-color: rgb(var(--c-brand-600));
}
[data-fs-theme='forecourt'] [data-fs-fm] [data-fs-fm-link][data-variant='ghost'] {
  background: transparent;
  color: rgb(var(--c-ink-950));
  border-color: rgb(var(--c-line));
}
[data-fs-theme='forecourt'] [data-fs-fm] [data-fs-fm-link][data-variant='ghost']:hover {
  border-color: rgb(var(--c-brand-600));
  color: rgb(var(--c-brand-600));
}
/* contact.html §95 puts the phone glyph in front of the number. Same
   masked-::after treatment as the closing band's tel: action, and for
   the same PITFALLS U32 reason — one pseudo per element, and ::before
   is where a sweep would go if this control ever joins that list. */
[data-fs-theme='forecourt'] [data-fs-fm] [data-fs-fm-link][href^='tel:']::after {
  content: '';
  position: static;
  order: -1;
  width: 1em; height: 1em; flex: none;
  background-color: currentColor;
  -webkit-mask: var(--fs-fc-tel-icon) center / contain no-repeat;
  mask: var(--fs-fc-tel-icon) center / contain no-repeat;
}

/* The card itself — .fc-val-form is data-fs-surface="card" with
   --fs-space-card of padding, which is the same hairline-and-soft-corner
   surface every other card on the site has. The port's form had no
   background, no border and no padding at all. */
[data-fs-theme='forecourt'] [data-fs-fm] > form {
  max-width: none;
  margin-inline: 0;
  background: rgb(var(--c-paper-soft));
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-card, 10px);
  padding: var(--fs-space-card, 1.35rem);
}
[data-fs-theme='forecourt'] .fs-section-shell [data-fs-fm-success],
[data-fs-theme='forecourt'] .fs-section-shell [data-fs-fm-schedule] { max-width: 34rem; }

/* .fc-field-row is 1fr 1fr and holds ONLY name and telephone; email,
   the car select and the message run the full width of the card. The
   block's two-col layout puts every non-message field in a column, so
   the two that are not paired are pulled back out. */
[data-fs-theme='forecourt'] [data-fs-fm][data-layout='two-col'] [data-fs-fm-field][data-type='email'],
[data-fs-theme='forecourt'] [data-fs-fm][data-layout='two-col'] [data-fs-fm-field][data-type='dropdown'],
[data-fs-theme='forecourt'] [data-fs-fm][data-layout='two-col'] [data-fs-fm-field][data-type='section'] {
  grid-column: 1 / -1;
}
/* The card's own heading. The block's 'section' field is a small
   uppercase label over a rule; contact.html §100 is an <h3> with no rule
   under it, so the first one takes the h3 register and drops its
   separator. Any LATER section field in the same form keeps the block's
   own divider look. */
[data-fs-theme='forecourt'] [data-fs-fm] [data-fs-fm-section-title] {
  font-family: var(--font-display);
  font-size: var(--fs-type-h3, 1.25rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: normal;
  text-transform: none;
  color: rgb(var(--c-ink-950));
  margin-bottom: 0;
}
[data-fs-theme='forecourt'] [data-fs-fm] [data-fs-fm-field][data-type='section']:first-child [data-fs-fm-section-rule] { display: none; }
/* contact.html §117: style="width:100%" on the submit. */
[data-fs-theme='forecourt'] [data-fs-fm] [data-fs-fm-actions]:not([data-multistep]) { display: block; }
[data-fs-theme='forecourt'] [data-fs-fm] [data-fs-fm-actions]:not([data-multistep]) [data-fs-fm-submit] { width: 100%; }
/* THE SUBMIT'S OWN REGISTER, RESTATED AT (0,4,0). The theme's button
   list further down names [data-fs-fm-submit] at (0,2,0), and
   form-styles.ts ships '[data-fs-fm] [data-fs-fm-submit]' at the same
   (0,2,0) and is injected AFTER this sheet — so the theme lost the tie
   on source order and the one button on the contact page drew in Golos
   Text, sentence case, with the block's own label colour. Measured:
   font-family "Golos Text", text-transform none, and a near-white label
   on Claro Night's #6FB4D0 fill, which is 2.1:1. The page colour is
   8.7:1 on the same fill and is what every other button here uses. */
[data-fs-theme='forecourt'] [data-fs-fm] [data-fs-fm-actions] [data-fs-fm-submit],
[data-fs-theme='forecourt'] [data-fs-fm] [data-fs-fm-actions] [data-fs-fm-next] {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 1rem;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--fs-on-brand, #fff);
}
/* .fc-meta under the button — the retention line, at caption size. */
[data-fs-theme='forecourt'] [data-fs-fm] [data-fs-fm-note] {
  margin-top: var(--fs-space-stack, .9rem);
  font-size: var(--fs-type-caption, .8125rem);
  line-height: 1.55;
  color: rgb(var(--c-ink-400));
}

/* ── THE SHELLS THAT WERE NOT ON THE PAGE'S MEASURE ───────────── */
/* .fs-fc-shell caps its BORDER box at 76rem while every shared block
   caps its CONTENT box, so the signature blocks sat 40px inside
   everything else. content-box, and the chrome's own gutter, put every
   section on one left edge. */
[data-fs-theme='forecourt'] .fs-fc-shell {
  box-sizing: content-box;
  max-width: var(--fs-fc-measure, 76rem);
  padding-inline: clamp(1.25rem, 5vw, 3rem);
}
/* Every shared block on the same shell, whatever its data-width says.
   theme.css has exactly one .fc-shell and puts every section in it. */
[data-fs-theme='forecourt'] [data-fs-block] [data-fs-inner],
[data-fs-theme='forecourt'] [data-fs-block] .fs-inner {
  margin-inline: auto;
  max-width: var(--fs-fc-measure, 76rem);
}
/* The footer's column band caps at max-w-5xl (64rem) of its own, which
   put the four columns 120px inside every heading above them. */
[data-fs-theme='forecourt'] [data-fs-role='layoutColumns'] {
  max-width: calc(var(--fs-fc-measure, 76rem) + 3rem);
}
/* …and the header's two tiers, which cap at 75rem of their own. */
[data-fs-theme='forecourt'] .fs-hdr-util-in,
[data-fs-theme='forecourt'] .fs-hdr-row {
  max-width: calc(var(--fs-fc-measure, 76rem) + 3rem);
}
/* The hero's copy column is max-w-6xl + px-6 = a 24px inset from the
   page measure. theme.css puts the hero body in the same .fc-shell as
   everything else. */
[data-fs-theme='forecourt'] .fs-hero-full-body {
  max-width: calc(var(--fs-fc-measure, 76rem) + 3rem);
}
[data-fs-theme='forecourt'] .fs-hero-full-body > div { max-width: min(46rem, var(--fs-layout-clamp, 46rem)); }
/* theme.css §229 .fc-shell--narrow = 56rem, and it is what the FAQ and
   the quotation sit in. The accordion's own max-w-3xl is 48rem. */
[data-fs-theme='forecourt'] [data-fs-acc] { max-width: calc(56rem + 3rem); }
[data-fs-theme='forecourt'] [data-fs-role='quote'] [data-fs-surface='card'] { max-width:var(--fs-layout-max,56rem); }

/* ════════════════════════════════════════════════════════════════
   BUTTONS — the theme's own control, everywhere one is drawn

   The prototype's '.fc-btn' is not the app's default button and never
   was: display face, 600, uppercase at .05em, .82em/1.35em of padding
   on a 44px touch target. Left alone, a Forecourt page drew Golos Text
   at 14px in sentence case — the app's button sitting in the theme's
   header. Measured, not assumed: font-family "Golos Text",
   text-transform none, letter-spacing normal.

   THE SELECTOR LIST IS THE POINT. There is no single button class in
   this app; a page draws them through four different hooks —
   '.fsbtn' (the site-wide button look, which the hero and most blocks
   spread), '.fs-hdr-cta' (the header call-to-action), the cta block's
   own anchor/span pair, and this family's '.fs-fc-btn'. A theme that
   styles one of them and not the others has a page of buttons that
   disagree with each other.

   '[data-fs-theme='forecourt'].fs-typo .fs-hdr-cta' IS DOUBLED ON
   PURPOSE. HEADER_CONTACT_CSS ships '.fs-typo .fs-hdr-cta' at (0,2,0)
   specifically to beat the global link colour, and it is injected
   AFTER this sheet — so a plain '[data-fs-theme='forecourt']
   .fs-hdr-cta' ties at (0,2,0) and loses on source order. The attribute
   and the class sit on the SAME element (the preview root carries both),
   hence '].fs-typo' with no space: (0,3,0), which wins on its own
   merits without !important — and !important would in turn block the
   customer's own Button style panel.

   Colour is deliberately NOT restated. The fill is the palette's
   brand-600 and the label its paper, which the app already paints and
   the prototype also asks for; the divergence was never the colour. */
[data-fs-theme='forecourt'] .fsbtn,
[data-fs-theme='forecourt'] .fs-hdr-cta,
[data-fs-theme='forecourt'].fs-typo .fs-hdr-cta,
[data-fs-theme='forecourt'] .fs-fc-btn,
[data-fs-theme='forecourt'] .fs-hero-full span[class*='rounded-control']:not(.fsbtn),
[data-fs-theme='forecourt'] [data-fs-role='cta'] a,
[data-fs-theme='forecourt'] [data-fs-role='cta'] span[class*='rounded-control'],
[data-fs-theme='forecourt'] [data-fs-fm-submit],
[data-fs-theme='forecourt'] [data-fs-fm] [data-fs-fm-link],
[data-fs-theme='forecourt'] [data-fs-role='showcase'] [data-fs-showcase-cta],
[data-fs-theme='forecourt'] [data-fs-fm-next] {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 1rem;
  letter-spacing: .05em;
  text-transform: uppercase;
  padding: .82em 1.35em;
  min-height: 44px;
  gap: .5em;
  border-radius: var(--fs-radius-control, 8px);
  /* The three the sweep below needs to exist at all: a box to be
     positioned against, a stacking context so a z-index:-1 layer lands
     ABOVE the button's own background rather than behind the page, and
     a clip so the raked edge is cut by the button and not the section. */
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

/* ════════════════════════════════════════════════════════════════
   HOVER GRAMMAR — 'sweep', the one this theme claims

   theme.css §19: a raked tint enters from the left and crosses. Nothing
   lifts, nothing glows, nothing draws an underline — the prototype
   removed exactly those treatments to leave one gesture. The rake is
   -14deg, the same angle as the theme's ambient shine, so the pointer
   and the ambient speak the same language; the tint is the element's
   OWN colour, which is why the primary sweeps in paper (its label) and
   everything else in brand.

   INSIDE the no-preference query on purpose, and this is the bug the
   prototype's own comment warns about: a reduced-motion reset forces
   transform:none, which would park a resting sweep at its FINISHED
   position and paint the tint permanently across every button.
   Declaring the layer only where it can move avoids that entirely.
   Reduced-motion users keep the colour and border states, which are
   declared outside.

   Timing is literal rather than tokenised: --fs-motion-hover and
   --fs-ease-out are theme-lab tokens that apply.ts does not emit
   (checked in the rendered preview — both resolve to the empty string),
   so a var() here would produce an invalid transition and no animation
   at all. */
[data-fs-theme='forecourt'] {
  --fs-fc-sweep-skew: -14deg;
  --fs-fc-sweep-tint: var(--c-brand-600);
  --fs-fc-sweep-alpha: .12;
}
[data-fs-theme='forecourt'] .fsbtn,
[data-fs-theme='forecourt'] .fs-hdr-cta,
[data-fs-theme='forecourt'] .fs-fc-btn,
[data-fs-theme='forecourt'] [data-fs-role='cta'] a,
[data-fs-theme='forecourt'] [data-fs-fm-submit] {
  /* A filled brand button sweeps in its own label colour. */
  --fs-fc-sweep-tint: var(--c-paper);
  --fs-fc-sweep-alpha: .2;
}
/* The closing band's SECOND action is a ghost on paper, not a filled
   brand button: sweeping it in --c-paper at .2 would wash paper over
   paper and read as nothing happening. It takes the theme's default
   brand tint back, which is what theme.css gives .fc-btn--ghost. */
[data-fs-theme='forecourt'] [data-fs-role='cta'] a[data-fs-cta-secondary] {
  --fs-fc-sweep-tint: var(--c-brand-600);
  --fs-fc-sweep-alpha: .12;
}
/* The hero's second button is outlined on a photograph — its own
   colour there is the on-media white, not the brand. */
[data-fs-theme='forecourt'] .fs-hero-full span[class*='rounded-control']:not(.fsbtn) {
  --fs-fc-sweep-tint: 255 255 255;
  --fs-fc-sweep-alpha: .18;
}
@media (prefers-reduced-motion: no-preference) {
  [data-fs-theme='forecourt'] .fsbtn::before,
  [data-fs-theme='forecourt'] .fs-hdr-cta::before,
  [data-fs-theme='forecourt'] .fs-fc-btn::before,
  [data-fs-theme='forecourt'] .fs-hero-full span[class*='rounded-control']:not(.fsbtn)::before,
  [data-fs-theme='forecourt'] [data-fs-role='cta'] a::before,
  [data-fs-theme='forecourt'] [data-fs-role='cta'] span[class*='rounded-control']::before,
  [data-fs-theme='forecourt'] [data-fs-fm-submit]::before,
  [data-fs-theme='forecourt'] [data-fs-fm-next]::before {
    content: '';
    position: absolute; z-index: -1;
    top: -1px; bottom: -1px; left: -18%; width: 136%;
    background: rgb(var(--fs-fc-sweep-tint) / var(--fs-fc-sweep-alpha));
    transform: translateX(-108%) skewX(var(--fs-fc-sweep-skew));
    transition: transform .22s cubic-bezier(.2, .7, .3, 1);
    pointer-events: none;
  }
  [data-fs-theme='forecourt'] .fsbtn:hover::before,
  [data-fs-theme='forecourt'] .fs-hdr-cta:hover::before,
  [data-fs-theme='forecourt'] .fs-fc-btn:hover::before,
  [data-fs-theme='forecourt'] .fs-hero-full span[class*='rounded-control']:not(.fsbtn):hover::before,
  [data-fs-theme='forecourt'] [data-fs-role='cta'] a:hover::before,
  [data-fs-theme='forecourt'] [data-fs-role='cta'] span[class*='rounded-control']:hover::before,
  [data-fs-theme='forecourt'] [data-fs-fm-submit]:hover::before,
  [data-fs-theme='forecourt'] [data-fs-fm-next]:hover::before,
  [data-fs-theme='forecourt'] .fsbtn:focus-visible::before,
  [data-fs-theme='forecourt'] .fs-hdr-cta:focus-visible::before,
  [data-fs-theme='forecourt'] .fs-fc-btn:focus-visible::before,
  [data-fs-theme='forecourt'] [data-fs-role='cta'] a:focus-visible::before,
  [data-fs-theme='forecourt'] [data-fs-fm-submit]:focus-visible::before {
    transform: translateX(0) skewX(var(--fs-fc-sweep-skew));
  }
}
/* ── The sweep, on everything else that answers the pointer ──────
   theme.css §19 lists NINE selectors, not one. The first port took the
   buttons and stopped; a theme whose buttons sweep and whose navigation,
   accordion, valuation choices and footer links do nothing has no hover
   grammar, it has a styled button.

   Measured in the prototype and matched here exactly:
     ::before  content ''  z-index -1  top -1px  bottom -1px
               left -18%   width 136%
               background rgb(tint / alpha)
               transform  translateX(-108%) skewX(-14deg)
                       -> translateX(0)     skewX(-14deg)
               transition transform 220ms cubic-bezier(.2,.7,.3,1)
     alphas    .12 root  .1 nav link  .09 valuation choice
               .07 accordion summary  .2 filled button

   The host needs all three of position/isolation/overflow or the layer
   lands behind the page (no stacking context) or bleeds past the raked
   edge (no clip). Same three the button rule above sets. */
[data-fs-theme='forecourt'] .fs-hdr-nav a,
[data-fs-theme='forecourt'] .fs-hdr-nav span,
[data-fs-theme='forecourt'] .fs-hdr-util-tel,
[data-fs-theme='forecourt'] .fs-fc-choice-opt,
[data-fs-theme='forecourt'] [data-fs-acc-header],
[data-fs-theme='forecourt'] .fs-fc-check-src a,
[data-fs-theme='forecourt'] [role='contentinfo'] [data-fs-role='layoutColumns'] a {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
/* An inline anchor has no box for a layer to fill until it is given one. */
[data-fs-theme='forecourt'] .fs-fc-check-src a,
[data-fs-theme='forecourt'] [role='contentinfo'] [data-fs-role='layoutColumns'] a { display: inline-block; }
[data-fs-theme='forecourt'] .fs-hdr-nav a,
[data-fs-theme='forecourt'] .fs-hdr-nav span { --fs-fc-sweep-alpha: .1; }
[data-fs-theme='forecourt'] .fs-fc-choice-opt { --fs-fc-sweep-alpha: .09; }
[data-fs-theme='forecourt'] [data-fs-acc-header] { --fs-fc-sweep-alpha: .07; }

@media (prefers-reduced-motion: no-preference) {
  [data-fs-theme='forecourt'] .fs-hdr-nav a::before,
  [data-fs-theme='forecourt'] .fs-hdr-nav span::before,
  [data-fs-theme='forecourt'] .fs-hdr-util-tel::after,
  [data-fs-theme='forecourt'] [data-fs-cta-secondary]::after,
  [data-fs-theme='forecourt'] .fs-fc-choice-opt::before,
  [data-fs-theme='forecourt'] [data-fs-acc-header]::before,
  [data-fs-theme='forecourt'] .fs-fc-check-src a::before,
  [data-fs-theme='forecourt'] [role='contentinfo'] [data-fs-role='layoutColumns'] a::before {
    content: '';
    position: absolute; z-index: -1;
    top: -1px; bottom: -1px; left: -18%; width: 136%;
    background: rgb(var(--fs-fc-sweep-tint) / var(--fs-fc-sweep-alpha));
    transform: translateX(-108%) skewX(var(--fs-fc-sweep-skew));
    transition: transform .22s cubic-bezier(.2, .7, .3, 1);
    pointer-events: none;
  }
  [data-fs-theme='forecourt'] .fs-hdr-nav a:hover::before,
  [data-fs-theme='forecourt'] .fs-hdr-nav span:hover::before,
  [data-fs-theme='forecourt'] .fs-hdr-util-tel:hover::after,
  [data-fs-theme='forecourt'] .fs-fc-choice-opt:hover::before,
  [data-fs-theme='forecourt'] [data-fs-acc-header]:hover::before,
  [data-fs-theme='forecourt'] .fs-fc-check-src a:hover::before,
  [data-fs-theme='forecourt'] [role='contentinfo'] [data-fs-role='layoutColumns'] a:hover::before,
  [data-fs-theme='forecourt'] .fs-hdr-nav a:focus-visible::before,
  [data-fs-theme='forecourt'] .fs-fc-choice-opt:focus-within::before,
  [data-fs-theme='forecourt'] [data-fs-acc-header]:focus-visible::before,
  [data-fs-theme='forecourt'] .fs-fc-check-src a:focus-visible::before,
  [data-fs-theme='forecourt'] [role='contentinfo'] [data-fs-role='layoutColumns'] a:focus-visible::before {
    transform: translateX(0) skewX(var(--fs-fc-sweep-skew));
  }

  /* THE CARD VARIANT OF THE SAME GESTURE, at card scale — theme.css §19's
     second half. A document does not get flooded with colour, it gets
     ruled: a 2px accent rule grows along the top edge from the left.
     scaleX(0) -> scaleX(1), transform-origin 0 50%, same 220ms and the
     same curve as the tint, so the two read as one grammar.

     ::after, not ::before, because ::before is the tint layer on the
     elements that carry both, and because a card's own ::before is
     already spoken for by the app's block chrome in several blocks.

     The prototype's four are .fc-lot, .fc-card, .fc-team-card and
     .fc-quote. Mapped: the stock card, the services card, the team card
     and the TESTIMONIAL card — the quote panels. The 'quote' BLOCK is
     deliberately not in the list: this theme strips it to bare centred
     display type with no card at all, and a rule across the top of
     nothing is a stray line. */
  [data-fs-theme='forecourt'] .fs-fc-lot,
  [data-fs-theme='forecourt'] [data-fs-ts-card],
  [data-fs-theme='forecourt'] [data-fs-tm-card],
  [data-fs-theme='forecourt'] [data-fs-role='services'] [data-fs-surface='card'] {
    position: relative;
  }
  [data-fs-theme='forecourt'] .fs-fc-lot::after,
  [data-fs-theme='forecourt'] [data-fs-ts-card]::after,
  [data-fs-theme='forecourt'] [data-fs-tm-card]::after,
  [data-fs-theme='forecourt'] [data-fs-role='services'] [data-fs-surface='card']::after {
    content: '';
    position: absolute; left: 0; right: 0; top: 0; height: 2px;
    background: rgb(var(--c-accent, var(--c-brand-700)));
    transform: scaleX(0); transform-origin: 0 50%;
    transition: transform .22s cubic-bezier(.2, .7, .3, 1);
    pointer-events: none;
  }
  [data-fs-theme='forecourt'] .fs-fc-lot:hover::after,
  [data-fs-theme='forecourt'] .fs-fc-lot:focus-within::after,
  [data-fs-theme='forecourt'] [data-fs-ts-card]:hover::after,
  [data-fs-theme='forecourt'] [data-fs-ts-card]:focus-within::after,
  [data-fs-theme='forecourt'] [data-fs-tm-card]:hover::after,
  [data-fs-theme='forecourt'] [data-fs-tm-card]:focus-within::after,
  [data-fs-theme='forecourt'] [data-fs-role='services'] [data-fs-surface='card']:hover::after,
  [data-fs-theme='forecourt'] [data-fs-role='services'] [data-fs-surface='card']:focus-within::after {
    transform: scaleX(1);
  }
}

/* No lift and no shadow anywhere near a control — the theme's whole
   posture is ruled, not raised, and the app's own button presets add a
   translate on :active that reads as a different grammar. */
[data-fs-theme='forecourt'] .fsbtn:hover,
[data-fs-theme='forecourt'] .fsbtn:active,
[data-fs-theme='forecourt'] .fs-hdr-cta:hover,
[data-fs-theme='forecourt'] [data-fs-role='cta'] a:hover,
/* The cta block's own button is a bare span carrying Tailwind's
   hover:scale-[1.03] and a lift shadow — a different grammar shipped
   inline, which no amount of styling the OTHER buttons would have
   caught. (0,4,0) here against the utility's (0,2,0). */
[data-fs-theme='forecourt'] [data-fs-role='cta'] span[class*='rounded-control']:hover,
[data-fs-theme='forecourt'] .fs-hero-full span[class*='rounded-control']:hover {
  transform: none;
  box-shadow: none;
}

/* ════════════════════════════════════════════════════════════════
   THE HERO — the prototype's, not the shared block's defaults

   The shared full-bleed hero centres its column and runs the headline
   to the width of the copy box. theme.css §8 hangs the type off the
   BOTTOM of the photograph (align-items:end) at 18ch of headline and
   46ch of lede, which is what makes a forecourt photograph read as a
   forecourt rather than as a background. */
[data-fs-theme='forecourt'] .fs-hero-full-body {
  justify-content: flex-end;
  /* theme.css §8: clamp(2.5rem, 8vh, 5rem), not the shared block's
     py-36. At 144px of bottom padding under a bottom-hung strip the
     hero ended in a quarter-screen of empty scrim. */
  padding-block: clamp(2.5rem, 8vh, 5rem);
  min-height: clamp(30rem, 74vh, 44rem);
}
/* The headline is the THEME's h1 step, not the shared block's display
   size. Measured against the prototype at a 1074px canvas: theme-lab
   renders 54.6px from clamp(2.15rem, 1.6rem + 2.7vw, 3.9rem); the
   shared hero's clamp(2.75rem, 7vw, 5.5rem) gave 75px there and 88px at
   1600 — a headline half again as large as the design it is copying. */
[data-fs-theme='forecourt'] .fs-hero-full h2 {
  font-size: clamp(2.15rem, 1.6rem + 2.7vw, 3.9rem);
  line-height: 1.1;
  max-width: 18ch;
}
[data-fs-theme='forecourt'] .fs-hero-full p { max-width: 46ch; }
/* The eyebrow's trailing hairline — the theme's heading cluster, the
   same gesture .fs-fc-eyebrow draws in every signature block, so the
   hero opens the way the rest of the page continues. On media, so the
   rule is the on-media ink rather than --c-line. */
[data-fs-theme='forecourt'] .fs-hero-full .fs-hero-eyebrow {
  display: flex;
  align-items: center;
  gap: .6em;
  /* index.html §66 puts the hero's eyebrow on the same .fc-eyebrow as
     every other band, measure included — so it gets the same 341px box.
     Without it the hero's hairline ran the full width of the shell.

     The display face is part of that and was missing: the hero eyebrow
     was the one label on the site still in Golos Text, which the measure
     then made visible, because ch resolves against the element's own
     font and 58ch of Golos came out 452px against 343 everywhere else.
     Two divergences from the prototype, one rule. */
  font-family: var(--font-display);
  width: 100%;
  max-width: var(--fs-fc-eyebrow-measure);
  letter-spacing: .18em;
}
[data-fs-theme='forecourt'] .fs-hero-full .fs-hero-eyebrow::after {
  content: '';
  flex: 1 1 auto;
  min-width: 1.5rem;
  height: 1px;
  background: rgb(255 255 255 / .35);
}
/* The nav's call-to-action is the ONE control the prototype sets
   smaller than a body button: it inherits .fc-nav-links a's .95rem and
   .55rem/.7rem padding at (0,1,1), which out-specifies .fc-btn.
   Measured in the prototype at 15.2px / 8.8px / 11.2px. The 44px touch
   target still comes from the button rule above. */
[data-fs-theme='forecourt'] .fs-hdr-cta,
[data-fs-theme='forecourt'].fs-typo .fs-hdr-cta {
  font-size: .95rem;
  padding: .55rem .7rem;
}
/* The star row is a block-catalogue default ("Trusted by 200+ local
   customers") that no Forecourt page ever asked for — this theme's
   argument is documents, not testimonials, and the prototype's hero has
   no such line. Hidden rather than blanked so the editor does not show
   an orphaned row of stars either. */
[data-fs-theme='forecourt'] .fs-hero-trust { display: none; }

/* The commitment strip at the foot of the hero — theme.css §8's
   .fc-hero-strip, ruled off the type above it and divided into columns
   by hairlines, dt at eyebrow size and dd in the display face. */
[data-fs-theme='forecourt'] .fs-hero-facts { border-top-color: rgb(255 255 255 / .28); }
[data-fs-theme='forecourt'] .fs-hero-fact { border-right: 1px solid rgb(255 255 255 / .18); }
[data-fs-theme='forecourt'] .fs-hero-fact:last-child { border-right: 0; }
[data-fs-theme='forecourt'] .fs-hero-facts dt {
  font-size: var(--fs-type-eyebrow, .75rem);
  letter-spacing: .14em;
  color: rgb(255 255 255 / .72);
}
[data-fs-theme='forecourt'] .fs-hero-facts dd {
  font-size: 1.4rem;
  color: rgb(255 255 255);
}

/* ════════════════════════════════════════════════════════════════
   THE HERO PHOTOGRAPH IN DARK MODE — theme.css §15

   MEASURED, both sides. The prototype's hero scrim is
   linear-gradient(to top, rgb(8 12 15 / .93), .74 at 38%, .30 at 72%,
   .12 at 100%) and it is BYTE-IDENTICAL in light and dark: --fc-scrim
   is declared once at :root as a constant, deliberately outside the
   palette, because type over a photograph does not flip when the page
   does. §15 and §5.6 of PORTING.md both say so in as many words, and
   four sibling builds reported the same missing token.

   The app's shared hero draws its scrim with Tailwind's ink-950 ramp
   (from-ink-950/85 via/55 to/25), and --c-ink-950 is a palette channel.
   Measured in the editor: light mode rgba(18,24,27,.85), dark mode
   rgba(233,238,241,.85) — the scrim INVERTS to a near-white wash over
   the photograph while the headline stays white on top of it. That is
   not a fidelity nicety, it is an unreadable hero.

   Fixed by pinning the gradient to the prototype's constant. Raw
   channels, not tokens, because being mode-invariant IS the
   requirement — a token here would reintroduce the bug the moment a
   palette changed. Everything else on the page still flips.

   This is theme-scoped, so the other thirty-one keep the palette scrim
   they were designed against. The generic fix — a --c-scrim /
   --c-on-media pair emitted by apply.ts — is now the FIFTH independent
   request and is recorded as such in PORTING.md. */
[data-fs-theme='forecourt'] .fs-hero-full-scrim {
  background-image: linear-gradient(
    to top,
    rgb(8 12 15 / .93) 0%,
    rgb(8 12 15 / .74) 38%,
    rgb(8 12 15 / .30) 72%,
    rgb(8 12 15 / .12) 100%);
}

/* ════════════════════════════════════════════════════════════════
   AMBIENT SIGNATURE — 'chrome shine', theme.css §18

   The theme's claimed ambient lever (MOTION.md §4). One decorative
   layer: a narrow raked highlight that travels across the hero the way
   a light source travels along a wing as you walk past a car.

   Measured off the prototype and matched here:
     box        top -12%  bottom -12%  left -34%  width 22%
     gradient   90deg, white 0 -> .19 at 46% -> .0665 at 63% -> 0
     transform  translateX(0) skewX(-14deg)
     keyframes  0% 0  ->  46% translateX(700%)  ->  100% held
     timing     8s linear infinite, will-change: transform

   The 54% of dead time is the tuning, not an accident: a specular
   highlight that loops without rest reads as a loading shimmer, which
   is the opposite of what a used-car buyer should feel. The rake is the
   same -14deg as the hover sweep, so the ambient and the pointer speak
   one language.

   NO MARKUP. The prototype's .fc-shine is a bare aria-hidden div
   between the media and the body; here it is ::after on
   .fs-hero-full-media, which is the same position in the box tree —
   generated as that element's LAST child, so it paints above the
   photograph AND above .fs-hero-full-scrim, and below .fs-hero-full-body
   (z-10). A pseudo-element is never in the accessibility tree at all,
   which is strictly stronger than aria-hidden, and it means the shared
   hero component needs no forecourt branch.

   No layout shift: the layer is absolutely positioned inside a box that
   already exists, and .fs-hero-full is overflow-hidden, so nothing it
   does can change the hero's size. will-change is on this one element
   and nowhere else in the sheet (MOTION.md 2 rule 8): it is the only
   persistent animator the theme has.

   The loop is deliberately NOT on the photograph — that is the LCP
   element and an animation on it delays paint metrics. */
[data-fs-theme='forecourt'] .fs-hero-full-media::after {
  content: '';
  position: absolute;
  top: -12%; bottom: -12%; left: -34%; width: 22%;
  z-index: 1;
  pointer-events: none;
  transform: translateX(0) skewX(var(--fs-fc-sweep-skew));
  background: linear-gradient(90deg,
    rgb(255 255 255 / 0) 0%,
    rgb(255 255 255 / .19) 46%,
    rgb(255 255 255 / .0665) 63%,
    rgb(255 255 255 / 0) 100%);
}
@media (prefers-reduced-motion: no-preference) {
  [data-fs-theme='forecourt'] .fs-hero-full-media::after {
    animation: fs-fc-chrome-shine 8s linear infinite;
    will-change: transform;
  }
}
@keyframes fs-fc-chrome-shine {
  0%   { transform: translateX(0)    skewX(-14deg); }
  46%  { transform: translateX(700%) skewX(-14deg); }
  100% { transform: translateX(700%) skewX(-14deg); }
}

/* ════════════════════════════════════════════════════════════════
   THE HEADER'S SECOND TIER

   The shared strip is neutral by design; this is the prototype's
   .fc-utility — caption size, ink-700, a soft rule, the number set in
   the display face at full ink strength beside the rest. */
[data-fs-theme='forecourt'] .fs-hdr-util-in {
  color: rgb(var(--c-ink-700));
  border-bottom-color: rgb(var(--c-line));
}
[data-fs-theme='forecourt'] .fs-hdr-util-tel {
  font-family: var(--font-display);
  letter-spacing: .06em;
}
/* The phone glyph, index.html's <use href="#fc-i-phone"/>. The path is
   the sprite symbol verbatim, at its own 1.9 stroke weight and butt/miter
   joins, which is what makes this theme's line icons read as one set.

   Turned on through the shared switch in HEADER_CONTACT_CSS rather than
   drawn here, so it is an affordance any theme can claim and not a
   forecourt special case — and so that the thirty-one that do not claim
   it generate no pseudo-element at all.

   Measured in the prototype: 1em box (14.72px at the strip's caption
   size), --c-ink-400 against the number's --c-ink-950, .4em of space.
   The ink is a palette channel, so the glyph tracks the palette and
   both modes exactly as the number beside it does. Both slots are set
   because a customer who clears the utility strip drops the number back
   into the nav row, and the glyph should go with it. */
[data-fs-theme='forecourt'] .fs-hdr-util-tel,
[data-fs-theme='forecourt'] .fs-hdr-phone {
  --fs-hdr-tel-icon-on: '';
  --fs-hdr-tel-icon-ink: rgb(var(--c-ink-400));
  --fs-hdr-tel-icon: var(--fs-fc-tel-icon);
}
/* The number's own sweep is ::after here, not ::before: ::before is the
   glyph. Same layer, same tint, same 220ms — only the pseudo differs,
   and it is the one element on the page that needs both. */

/* ════════════════════════════════════════════════════════════════
   THE FOOTER'S REGULATED PARAGRAPH

   theme.css .fc-foot-legal: a rule, then the whole block at caption
   size in --c-ink-400 to a 70ch measure. The port put the FCA, Motor
   Ombudsman, CTSI and DMCC wording into the footer band's textBlock,
   which draws an h3 at the theme's full h2 step and the body at prose
   size — measured 40px and 17.6px, i.e. the small print set larger than
   the page it qualifies.

   FIXED IN SCOPE RATHER THAN GENERICALLY, deliberately. The alternative
   was a size variant on textBlock, a new content field on a block that
   32 themes and every customer site render, whose only consumer would
   be this theme — and this is precisely the job [data-fs-theme] exists
   for. It also cannot touch a character of the wording, which matters
   more here than anywhere else on the page: it is regulatory text.

   The heading stays, at the same size as the paragraph it introduces,
   which is what the heading itself claims. */
/* The RULE spans the page's shell, as .fc-foot-legal's does — it is the
   footer's dividing line, not an underline for one paragraph. The 70ch
   measure moves down onto the text itself, left-hung inside the shell,
   so the small print starts on the same 112px edge as everything above
   it instead of floating in the middle of the band. */
[data-fs-theme='forecourt'] [role='contentinfo'] [data-fs-role='textBlock'] [data-fs-inner] {
  border-top: 1px solid rgb(var(--c-line) / .55);
  padding-top: var(--fs-space-gap, 1.5rem);
  max-width: var(--fs-fc-measure, 76rem);
  margin-inline: auto;
}
[data-fs-theme='forecourt'] [role='contentinfo'] [data-fs-role='textBlock'] .fs-heading {
  max-width: 70ch;
  margin-inline: 0;
  font-size: var(--fs-type-caption, .875rem);
  font-weight: 700;
  line-height: 1.5;
  color: rgb(var(--c-ink-400));
}
[data-fs-theme='forecourt'] [role='contentinfo'] [data-fs-role='textBlock'] .fs-prose {
  font-size: var(--fs-type-caption, .875rem);
  line-height: 1.6;
  color: rgb(var(--c-ink-400));
  max-width: 70ch;
  margin-inline: 0;
  margin-top: .5rem;
}

/* ════════════════════════════════════════════════════════════════
   SCROLL REVEALS — theme.css §17, ported as it is written

   CSS-only view timelines, so this is a stylesheet and not an
   IntersectionObserver (PITFALLS B5). Two guards, both load-bearing:
   the @supports so a browser without view() gets the FINISHED state
   rather than blank content, and the no-preference query so a
   reduced-motion reader gets it too.

   Measured off the prototype:
     .fc-reveal    fc-reveal-in  linear  both  view()  entry 8%  -> 46%
     .fc-stagger>* fc-reveal-in  linear  both  view()  entry 6%  -> 44%
                   and +5% per child, to :nth-child(6)
     @keyframes    from { opacity: 0; transform: translateY(16px) }

   WHICH ELEMENTS, read off the prototype's markup rather than chosen:
   a section whose content is a GRID staggers its children and its shell
   does not reveal; a section whose content is one block reveals its
   shell. index.html has fc-stagger on the stock grid, the team grid and
   the quotation grid, and fc-reveal on the provenance, preparation,
   finance, valuation, figures and closing shells. That is the mapping
   below, one for one.

   The above-the-fold rule (MOTION.md 2 / PITFALLS B11) needs no special
   case here and that is a property of view timelines, not luck: an
   element already inside the scrollport at load sits PAST its entry
   range, and 'both' fill therefore holds the finished keyframe. An
   opacity-0 start is only dangerous with animation-delay. */
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    [data-fs-theme='forecourt'] .fs-fc-prov-section .fs-fc-shell,
    [data-fs-theme='forecourt'] .fs-fc-prep-section .fs-fc-shell,
    [data-fs-theme='forecourt'] .fs-fc-fin-section .fs-fc-shell,
    [data-fs-theme='forecourt'] .fs-fc-val-section .fs-fc-shell,
    [data-fs-theme='forecourt'] .fs-fc-figs-section .fs-fc-shell {
      animation: fs-fc-reveal-in linear both;
      animation-timeline: view();
      animation-range: entry 8% entry 46%;
    }
    /* Stagger with animation-range, never animation-delay: cards in a
       row share a y position and a delay lands them as one slab
       (PITFALLS B12). */
    [data-fs-theme='forecourt'] .fs-fc-lots > *,
    [data-fs-theme='forecourt'] .fs-testimonials-section [data-fs-ts-card],
    [data-fs-theme='forecourt'] .fs-team-section [data-fs-tm-card],
    [data-fs-theme='forecourt'] [data-fs-role='services'] [data-fs-surface='card'] {
      animation: fs-fc-reveal-in linear both;
      animation-timeline: view();
      animation-range: entry 6% entry 44%;
    }
    [data-fs-theme='forecourt'] .fs-fc-lots > :nth-child(2),
    [data-fs-theme='forecourt'] .fs-testimonials-section [data-fs-ts-card]:nth-child(2),
    [data-fs-theme='forecourt'] .fs-team-section [data-fs-tm-card]:nth-child(2),
    [data-fs-theme='forecourt'] [data-fs-role='services'] [data-fs-surface='card']:nth-child(2) { animation-range: entry 11% entry 49%; }
    [data-fs-theme='forecourt'] .fs-fc-lots > :nth-child(3),
    [data-fs-theme='forecourt'] .fs-testimonials-section [data-fs-ts-card]:nth-child(3),
    [data-fs-theme='forecourt'] .fs-team-section [data-fs-tm-card]:nth-child(3),
    [data-fs-theme='forecourt'] [data-fs-role='services'] [data-fs-surface='card']:nth-child(3) { animation-range: entry 16% entry 54%; }
    [data-fs-theme='forecourt'] .fs-fc-lots > :nth-child(4),
    [data-fs-theme='forecourt'] .fs-team-section [data-fs-tm-card]:nth-child(4),
    [data-fs-theme='forecourt'] [data-fs-role='services'] [data-fs-surface='card']:nth-child(4) { animation-range: entry 21% entry 59%; }
    [data-fs-theme='forecourt'] .fs-fc-lots > :nth-child(5) { animation-range: entry 26% entry 64%; }
    [data-fs-theme='forecourt'] .fs-fc-lots > :nth-child(6) { animation-range: entry 31% entry 69%; }
  }
}
@keyframes fs-fc-reveal-in {
  from { opacity: 0; transform: translateY(16px); }
}

/* The two load-time animations this port had invented — a 4px settle on
   every lot, prep row and check row, and a clip-path wipe across the MOT
   bars — are GONE. Neither exists in theme.css: the prototype's stock
   cards are staggered by the scroll timeline above and its provenance
   rows do not animate at all. Keeping them would have meant the theme
   performing motion its own design never asked for, on top of the
   reveals that replace them. .fs-fc-anim survives as the family's
   render-style hook; nothing in this sheet reads it any more. */

/* ════════════════════════════════════════════════════════════════
   THE INTERIOR-PAGE HERO — theme.css §3, [data-fs-bg='spotlight']

   about.html, services.html and contact.html all open on the SAME
   band and it is not the home page's photograph: eyebrow, h1, lede, on
   a radial wash of brand-50 thrown from the top left of a paper page.
   No picture, no scrim, no white type.

   The app's shared hero has one imageless path and it is a brand
   gradient with two blurred blobs and white type — right for a theme
   that wants to shout on page two, wrong for this one, which spends the
   whole site arguing that it is not shouting. So the three interior
   heroes are re-dressed here, and ONLY when there is no photograph,
   which is what data-fs-hero-photo="0" says.

   THAT ATTRIBUTE EXISTS BECAUSE THE OBVIOUS SELECTOR IS INVALID. The
   first version of this block asked for
   .fs-hero-full:has(.fs-hero-full-media:not(:has(img))) — :has() is not
   permitted inside :not(), the whole rule block is dropped at parse
   time, and nothing anywhere reports it. The three interior heroes
   rendered white type on a light page and looked like a colour bug
   rather than a syntax one. Measured with Element.matches(), which
   throws on an invalid selector where the cascade just shrugs. */
[data-fs-theme='forecourt'] .fs-hero-full[data-fs-hero-photo='0'] {
  background:
    radial-gradient(120% 74% at 12% 0%, rgb(var(--c-brand-50)) 0%, transparent 62%),
    rgb(var(--c-paper));
  border-bottom: 1px solid rgb(var(--c-line));
}
[data-fs-theme='forecourt'] .fs-hero-full[data-fs-hero-photo='0'] .fs-hero-full-media { background: none !important; }
[data-fs-theme='forecourt'] .fs-hero-full[data-fs-hero-photo='0'] .fs-hero-full-media > div { display: none; }
/* No ambient shine on a band with nothing to rake light across. */
[data-fs-theme='forecourt'] .fs-hero-full[data-fs-hero-photo='0'] .fs-hero-full-media::after { display: none; }
/* Page ink, and the prototype's own vertical rhythm: an interior hero is
   a section, not a 32rem stage. */
[data-fs-theme='forecourt'] .fs-hero-full[data-fs-hero-photo='0'] .fs-hero-full-body {
  min-height: 0;
  padding-block: var(--fs-space-section, 4.5rem);
  max-width: none;
  margin-inline: auto;
  width: min(100% - 2 * var(--fs-space-gap, 1.75rem), var(--fs-fc-measure, 76rem));
  /* SectionRenderer puts px-6 on this element, and the width above already
     lays the gutter in — so the two stacked and the interior hero's copy
     started 24px inside every other section on the page. Measured on all
     three interior pages: content at x=136 where the section below it,
     and the header above it, were at 112. An interior hero opens the page
     and it was the one band that did not line up. */
  padding-inline: 0;
}
[data-fs-theme='forecourt'] .fs-hero-full[data-fs-hero-photo='0'] .fs-hero-full-body > div {
  max-width: none;
}
[data-fs-theme='forecourt'] .fs-hero-full[data-fs-hero-photo='0'] h2 {
  color: rgb(var(--c-ink-950));
  /* The prototype writes NO measure on an interior h1 — it takes the
     shell, 1216, and text-wrap: balance does the rest, which is two
     lines on contact and one on about and services. 22ch capped it at
     677px and cost a line on every one of the three: contact ran to
     three. The cap is the shell now, as it is on the other side. */
  max-width: none;
}
[data-fs-theme='forecourt'] .fs-hero-full[data-fs-hero-photo='0'] .fs-hero-eyebrow {
  color: rgb(var(--c-ink-400));
}
[data-fs-theme='forecourt'] .fs-hero-full[data-fs-hero-photo='0'] .fs-hero-eyebrow::after {
  background: rgb(var(--c-line));
}
/* The lede is whatever element Editable chose — a <div> in the editor,
   a <p> when published — so this cannot key on the tag. Everything in
   the copy column that is not the headline takes page ink; white on a
   paper band is the same unreadable pairing the dark-mode scrim bug
   was, only the other way up. */
[data-fs-theme='forecourt'] .fs-hero-full[data-fs-hero-photo='0'] .fs-hero-full-body p,
[data-fs-theme='forecourt'] .fs-hero-full[data-fs-hero-photo='0'] .fs-hero-full-body > div > :not(h1):not(h2):not(.fs-hero-eyebrow) {
  color: rgb(var(--c-ink-700)) !important;
  max-width: 52ch;
}

/* ════════════════════════════════════════════════════════════════
   THE REVEALS THE OTHER THREE PAGES WERE MISSING

   §17 above ported index.html's reveals and only index.html's, so
   about, services and contact scrolled dead — the single largest
   difference between the port and the prototype away from the home
   page. Read off the three files' markup the same way, one for one:

     about.html     figures, quote, showcase, table, cta  = fc-reveal
                    gallery, team                          = fc-stagger
     services.html  prep, finance, table, valuation,
                    accordion, cta                         = fc-reveal
                    the four service cards                 = fc-stagger
     contact.html   map, accordion, cta                    = fc-reveal
                    (the form deliberately does NOT reveal)

   The signature-block shells and the three staggered grids are already
   covered above; these are the shared blocks the home page never used.
   Same guards, same keyframe, same range — a second grammar would be a
   worse bug than no motion. */
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    [data-fs-theme='forecourt'] [data-fs-role='cta'] > div:last-child,
    [data-fs-theme='forecourt'] [data-fs-role='quote'] [data-fs-surface='card'],
    [data-fs-theme='forecourt'] [data-fs-role='showcase'] [data-fs-inner],
    [data-fs-theme='forecourt'] .fs-table-section,
    [data-fs-theme='forecourt'] [data-fs-map],
    [data-fs-theme='forecourt'] [data-fs-acc] {
      animation: fs-fc-reveal-in linear both;
      animation-timeline: view();
      animation-range: entry 8% entry 46%;
    }
    /* about.html's gallery is a fc-stagger grid, like the stock and team
       grids on the home page. */
    [data-fs-theme='forecourt'] [data-fs-role='gallery'] [data-fs-inner] > div > * {
      animation: fs-fc-reveal-in linear both;
      animation-timeline: view();
      animation-range: entry 6% entry 44%;
    }
    [data-fs-theme='forecourt'] [data-fs-role='gallery'] [data-fs-inner] > div > :nth-child(2) { animation-range: entry 11% entry 49%; }
    [data-fs-theme='forecourt'] [data-fs-role='gallery'] [data-fs-inner] > div > :nth-child(3) { animation-range: entry 16% entry 54%; }
  }
}

/* ── Wireframe — strip colour to lines ─────────────────────────── */
.fs-fc-wire .fs-fc-lot,
.fs-fc-wire .fs-fc-panel { background: none; border-color: rgb(var(--c-line)); }
.fs-fc-wire .fs-fc-chip,
.fs-fc-wire .fs-fc-lot-flag,
.fs-fc-wire .fs-fc-choice-opt[data-selected] { background: none; color: rgb(var(--c-ink-950)); border-color: rgb(var(--c-line)); }
.fs-fc-wire .fs-fc-mot-bar i,
.fs-fc-wire .fs-fc-plate-band { background: rgb(var(--c-ink-400)); }
.fs-fc-wire .fs-fc-btn { background: none; color: rgb(var(--c-ink-950)); border: 1px solid rgb(var(--c-line)); }

/* ── Print ─────────────────────────────────────────────────────── */
/* theme.css §21: a scroll timeline does not advance when printing, so
   anything driven by view() prints at its 0% keyframe — i.e. invisible.
   The reset has to name the finished state explicitly.
   The two layers that animate OUT of sight rather than into place — the
   ambient shine and the resting hover sweeps — are removed instead of
   neutralised: transform:none would park them at their FINISHED
   position and print a tint band across every button, which is the
   prototype's own warning. */
@media print {
  [data-fs-theme='forecourt'] *,
  [data-fs-theme='forecourt'] *::before,
  [data-fs-theme='forecourt'] *::after {
    animation: none !important; transition: none !important;
    opacity: 1 !important; transform: none !important;
  }
  [data-fs-theme='forecourt'] .fs-hero-full-media::after { display: none !important; }
  [data-fs-theme='forecourt'] .fsbtn::before,
  [data-fs-theme='forecourt'] .fs-hdr-cta::before,
  [data-fs-theme='forecourt'] .fs-fc-btn::before,
  [data-fs-theme='forecourt'] .fs-hdr-nav a::before,
  [data-fs-theme='forecourt'] .fs-hdr-nav span::before,
  [data-fs-theme='forecourt'] .fs-hdr-util-tel::after,
  [data-fs-theme='forecourt'] .fs-fc-choice-opt::before,
  [data-fs-theme='forecourt'] [data-fs-acc-header]::before,
  [data-fs-theme='forecourt'] .fs-fc-check-src a::before,
  [data-fs-theme='forecourt'] .fs-fc-lot::after,
  [data-fs-theme='forecourt'] [data-fs-ts-card]::after,
  [data-fs-theme='forecourt'] [data-fs-tm-card]::after { content: none !important; }
  [data-fs-band='soft'] { background: none; }
}
/* ── favLotFooter (theme-chrome batch 4, Forecourt) ───────────────
   fs-fc-ft: the full-bleed band (named container), the card colour
   under one rule; fs-fc-ft-in: the content box, which narrows with the
   Layout (named container), on the theme's one 76rem measure. */
.fs-fc-ft{container-type:inline-size;container-name:fs-fc-ft;padding:0 clamp(1rem,4vw,2.5rem);background:rgb(var(--c-paper-soft));border-top:1px solid rgb(var(--c-line));--fc-ft-hair:rgb(var(--c-line) / .5)}
.fs-fc-ft-in{container-type:inline-size;container-name:fs-fc-ft-in;max-width:var(--fs-layout-max,76rem);margin-inline:auto;padding-block:44px 26px}
.fs-fc-ft-ic{display:block;flex:none;width:17px;height:17px}
.fs-fc-ft-logo{display:inline-flex;align-items:center;gap:10px;margin:0}
.fs-fc-ft-mark{flex:none;width:44px;height:44px}
.fs-fc-ft-mk-doc{fill:none;stroke:rgb(var(--c-brand-600));stroke-width:3.4}
.fs-fc-ft-mk-band{fill:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-fc-ft-mk-bar{fill:rgb(var(--c-brand-600))}
.fs-fc-ft-name{max-width:7.4em;font-family:var(--font-display, Antonio, 'Arial Narrow', sans-serif);font-weight:700;font-size:19px;line-height:1.05;letter-spacing:.08em;text-transform:uppercase;color:rgb(var(--c-brand-text))}
/* The eyebrow (mockup 72-77): Antonio caps in ink-400, a hairline
   running to the end of a 58ch measure, 12px under it before the
   column content (folding in .fo-fcol>.fo-eyebrow's margin-bottom). */
.fs-fc-ft-eyebrow{display:flex;align-items:center;gap:.6em;width:100%;max-width:58ch;margin:0 0 12px;font:600 12px/1.2 var(--font-display, Antonio, 'Arial Narrow', sans-serif);letter-spacing:.18em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
.fs-fc-ft-eyebrow::after{content:"";flex:1 1 auto;min-width:1.5rem;height:1px;background:rgb(var(--c-line))}
.fs-fc-ft-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.55fr);gap:20px 40px;align-items:end}
.fs-fc-ft-line{max-width:38ch;margin:12px 0 0;font-size:14px;line-height:1.5;color:rgb(var(--c-ink-700))}
/* The business, specced like a lot: four fixed cells, the hero's own
   commitment strip. */
.fs-fc-ft-spec{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;border-block:1px solid rgb(var(--c-line))}
.fs-fc-ft-cell{min-width:0;padding:10px 14px 11px;border-left:1px solid var(--fc-ft-hair)}
.fs-fc-ft-cell:first-child{border-left:0;padding-left:0}
.fs-fc-ft-sdt{margin:0;font-size:10.5px;line-height:1.3;letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
.fs-fc-ft-sdd{margin:4px 0 0;font:700 23px/1.05 var(--font-display, Antonio, 'Arial Narrow', sans-serif);letter-spacing:.01em;color:rgb(var(--c-ink-950));white-space:nowrap}
.fs-fc-ft-cols{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr) minmax(0,.95fr) minmax(0,1.35fr);gap:34px 36px;margin-top:38px}
.fs-fc-ft-col{min-width:0}
.fs-fc-ft-addr{margin:0;font-size:14px;line-height:1.5;color:rgb(var(--c-ink-700))}
.fs-fc-ft-tel{display:inline-flex;align-items:center;gap:8px;margin-top:10px;font:600 22px/1.1 var(--font-display, Antonio, 'Arial Narrow', sans-serif);letter-spacing:.05em;text-decoration:none;color:rgb(var(--c-ink-950))}
.fs-fc-ft-tel .fs-fc-ft-ic{width:17px;height:17px;color:rgb(var(--c-ink-400))}
.fs-fc-ft-mail{display:block;margin-top:6px;font-size:14px;text-decoration:none;color:rgb(var(--c-ink-700));overflow-wrap:anywhere}
.fs-fc-ft-tel:hover,.fs-fc-ft-mail:hover{color:rgb(var(--c-brand-text))}
.fs-fc-ft-note{margin:10px 0 0;font-size:13px;line-height:1.5;color:rgb(var(--c-ink-400))}
/* Hours: the map block's card of ruled rows. */
.fs-fc-ft-hours{margin:0}
.fs-fc-ft-hrow{display:flex;justify-content:space-between;gap:12px;padding-block:6px;border-bottom:1px solid var(--fc-ft-hair);font-size:14px;line-height:1.35}
.fs-fc-ft-hrow:first-child{padding-top:0}
.fs-fc-ft-dt{margin:0;color:rgb(var(--c-ink-700))}
.fs-fc-ft-dd{margin:0;font-weight:600;text-align:right;color:rgb(var(--c-ink-950))}
.fs-fc-ft-links{list-style:none;margin:0;padding:0}
.fs-fc-ft-li{padding-block:4px}
.fs-fc-ft-link{font-size:14px;line-height:1.4;text-decoration:none;color:rgb(var(--c-ink-700))}
.fs-fc-ft-link:hover{color:rgb(var(--c-ink-950));text-decoration:underline;text-underline-offset:3px}
/* Checkable: the source column. Each register is a check row — glyph,
   the body and its number, and the link that proves it on the right. */
.fs-fc-ft-checks{list-style:none;margin:0;padding:0}
.fs-fc-ft-check{display:grid;grid-template-columns:17px minmax(0,1fr) auto;gap:10px;align-items:center;padding-block:7px;border-bottom:1px solid var(--fc-ft-hair)}
.fs-fc-ft-check:first-child{padding-top:0}
.fs-fc-ft-check:last-child{border-bottom:0}
.fs-fc-ft-check .fs-fc-ft-ic{width:17px;height:17px;color:rgb(var(--c-brand-600))}
.fs-fc-ft-ck{min-width:0;font-size:13.5px;line-height:1.3;color:rgb(var(--c-ink-950))}
.fs-fc-ft-ckno{display:block;margin-top:1px;font-size:12.5px;color:rgb(var(--c-ink-400))}
.fs-fc-ft-src{font-size:13px;white-space:nowrap;text-decoration:none;color:rgb(var(--c-brand-text))}
.fs-fc-ft-src:hover{text-decoration:underline;text-underline-offset:3px}
/* The regulated part, at the same size as everything else: the
   statutory treatment, not small print. */
.fs-fc-ft-stat{margin:34px 0 0;padding:1px 0 1px 14px;border-left:2px solid rgb(var(--c-brand-600));max-width:96ch;font-size:13.5px;line-height:1.6;color:rgb(var(--c-ink-700))}
.fs-fc-ft-stat-t{font-weight:600;color:rgb(var(--c-ink-950))}
.fs-fc-ft-stat-a{text-decoration:underline;text-underline-offset:2px;color:rgb(var(--c-brand-text))}
.fs-fc-ft-legal{display:flex;flex-wrap:wrap;gap:6px 18px;margin:22px 0 0;padding-top:14px;border-top:1px solid var(--fc-ft-hair);font-size:12.5px;color:rgb(var(--c-ink-400))}
.fs-fc-ft-legal-a{text-decoration:none;color:rgb(var(--c-ink-700))}
.fs-fc-ft-legal-a:hover{color:rgb(var(--c-ink-950))}
@container fs-fc-ft (max-width: 40rem){
  .fs-fc-ft-in{padding-block:34px 22px}
}
/* Two by two from Boxed down, on purpose (notes: at 928 the four columns
   measured 176–264px and the e-mail broke mid-word). */
@container fs-fc-ft-in (max-width: 60rem){
  .fs-fc-ft-head{grid-template-columns:minmax(0,1fr)}
  .fs-fc-ft-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container fs-fc-ft (max-width: 48rem){
  .fs-fc-ft-cols{grid-template-columns:minmax(0,1fr);gap:28px}
  .fs-fc-ft-col{max-width:34rem}
}
@container fs-fc-ft (max-width: 34rem){
  .fs-fc-ft-spec{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-fc-ft-cell:nth-child(3){border-left:0;padding-left:0}
  .fs-fc-ft-cell:nth-child(n+3){border-top:1px solid var(--fc-ft-hair)}
}


/* ── The shell ─────────────────────────────────────────────────── */
/* Signature blocks own their section padding and inner measure — the
   renderer does NOT supply them. */
.fs-kw {
  position: relative;
  isolation: isolate;
  background: rgb(var(--c-paper));
  color: rgb(var(--c-ink-950));
}
.fs-kw * { box-sizing: border-box; }
.fs-kw-shell {
  max-width:var(--fs-layout-max,72rem);
  margin-inline: auto;
  padding: var(--fs-space-section, clamp(3rem, 6vw, 4.5rem)) clamp(1rem, 4vw, 2.5rem);
}
.fs-kw-callout-section { padding-block: 0; }
.fs-kw-std-section, .fs-kw-route-section { background: rgb(var(--c-paper-soft)); }

/* ── The heading cluster ───────────────────────────────────────── */
.fs-kw-head { margin-bottom: var(--fs-space-gap, 1.75rem); }
.fs-kw-eyebrow {
  font-family: var(--font-display);
  font-size: var(--fs-type-eyebrow, .75rem);
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgb(var(--c-ink-400));
  margin: 0 0 .6rem;
}
.fs-kw-h2 {
  font-family: var(--font-display);
  font-size: var(--fs-type-h2, 2.25rem);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -.03em;
  color: rgb(var(--c-ink-950));
  margin: 0;
}
.fs-kw-h3 {
  font-family: var(--font-display);
  font-size: var(--fs-type-h3, 1.25rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.02em;
  color: rgb(var(--c-ink-950));
  margin: 0 0 .55rem;
}
.fs-kw-lede {
  margin-top: .9rem;
  font-size: 1.05em;
  line-height: 1.6;
  color: rgb(var(--c-ink-700));
  max-width: var(--fs-measure, 62ch);
}
.fs-kw-meta {
  margin: 1rem 0 0;
  font-size: var(--fs-type-caption, .875rem);
  line-height: 1.55;
  color: rgb(var(--c-ink-400));
  max-width: 46ch;
}
.fs-kw-ico { width: 1.15rem; height: 1.15rem; flex: none; }

/* ── Buttons ───────────────────────────────────────────────────── */
.fs-kw-btn {
  display: flex; align-items: center; justify-content: center; gap: .5em;
  width: 100%; min-height: 44px; padding: .8em 1.2em;
  font-family: var(--font-display);
  font-size: var(--fs-type-caption, .9rem);
  font-weight: 700;
  letter-spacing: -.01em;
  border-radius: var(--fs-radius-control, 8px);
  text-align: center;
}
.fs-kw-btn-solid { background: rgb(var(--c-brand-600)); color: rgb(var(--c-paper)); }
.fs-kw-btn-ghost {
  background: rgb(var(--c-paper));
  color: rgb(var(--c-ink-950));
  border: 1px solid rgb(var(--c-line));
}

/* ── favBoltCallout ────────────────────────────────────────────── */
.fs-kw-callout { display: grid; gap: var(--fs-space-gap, 1.25rem); }
@media (min-width: 52rem) { .fs-kw-callout { grid-template-columns: 1.15fr 1fr; } }
.fs-kw-callout > * { min-width: 0; }
.fs-kw-door {
  display: flex; flex-direction: column; gap: .7rem;
  padding: var(--fs-space-card, 1.35rem);
  border-radius: var(--fs-radius-card, 10px);
  border: 1px solid rgb(var(--c-line));
  background: rgb(var(--c-paper-soft));
}
/* The one element on the page carrying the accent as a field. */
.fs-kw-door-urgent {
  border-color: rgb(var(--c-accent, var(--c-brand-600)));
  box-shadow: inset 0 0 0 1px rgb(var(--c-accent, var(--c-brand-600)) / .35);
}
.fs-kw-door-k {
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--fs-type-eyebrow, .72rem);
  font-weight: 700; letter-spacing: .09em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-kw-door-urgent .fs-kw-door-k { color: rgb(var(--c-accent, var(--c-brand-600))); }
.fs-kw-door-h {
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--fs-type-h3, 1.35rem);
  font-weight: 700; line-height: 1.2; letter-spacing: -.02em;
  color: rgb(var(--c-ink-950));
}
.fs-kw-door-tel {
  display: block; margin: .3rem 0;
  font-family: var(--font-display);
  font-size: var(--fs-type-h2, 2.25rem);
  font-weight: 700; letter-spacing: -.03em;
  font-variant-numeric: tabular-nums;
  color: rgb(var(--c-ink-950));
  text-decoration: none;
}
.fs-kw-door-tel:hover { color: rgb(var(--c-brand-600)); }
.fs-kw-door-p { margin: 0; font-size: var(--fs-type-caption, .875rem); color: rgb(var(--c-ink-700)); line-height: 1.55; }
.fs-kw-door-act { margin-top: auto; padding-top: var(--fs-space-card, 1.1rem); }
.fs-kw-door-terms {
  margin: .5rem 0 0;
  font-size: var(--fs-type-eyebrow, .75rem);
  line-height: 1.5;
  color: rgb(var(--c-ink-400));
}

/* ── favBoltSchedule ───────────────────────────────────────────── */
/* The ward texture: the mark's own keyway profile, repeated. Drawn from
   --c-line so it re-tints with every palette and in both modes, which
   an SVG file with baked colours cannot. */
.fs-kw-ward {
  position: absolute; inset: 0; z-index: -1; pointer-events: none;
  /* A ward PROFILE, not graph paper: paired vertical cuts at the width
     of a key blade, with a short step between them, repeated. A full
     grid was the first attempt and it ruled straight through the
     promise strip's prose, which is the opposite of a texture. */
  opacity: .34;
  background-image:
    repeating-linear-gradient(90deg,
      rgb(var(--c-line)) 0 1px, transparent 1px 7px,
      rgb(var(--c-line) / .6) 7px 8px, transparent 8px 96px);
  background-position: 0 0;
}
.fs-kw-bands { display: grid; gap: var(--fs-space-gap, 1.25rem); }
@media (min-width: 44rem) { .fs-kw-bands { grid-template-columns: repeat(3, 1fr); } }
.fs-kw-bands > * { min-width: 0; }
.fs-kw-band {
  display: flex; flex-direction: column; gap: .45rem;
  padding: var(--fs-space-card, 1.25rem);
  border-radius: var(--fs-radius-card, 10px);
  border: 1px solid rgb(var(--c-line));
  background: rgb(var(--c-paper-soft));
}
.fs-kw-band-night { border-color: rgb(var(--c-brand-600)); }
.fs-kw-band-t {
  display: flex; align-items: center; gap: .45rem; margin: 0;
  font-family: var(--font-display);
  font-size: var(--fs-type-caption, .9rem); font-weight: 700;
  color: rgb(var(--c-ink-950));
}
.fs-kw-band-t svg { color: rgb(var(--c-brand-600)); }
.fs-kw-band-hrs {
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--fs-type-eyebrow, .72rem);
  letter-spacing: .06em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-kw-band-v {
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--fs-type-h2, 2.25rem);
  font-weight: 700; letter-spacing: -.03em; line-height: 1.1;
  font-variant-numeric: tabular-nums;
  color: rgb(var(--c-ink-950));
}
.fs-kw-band-n { margin: 0; font-size: var(--fs-type-eyebrow, .78rem); color: rgb(var(--c-ink-700)); line-height: 1.5; }
.fs-kw-promises { display: grid; gap: var(--fs-space-gap, 1.25rem); margin-top: var(--fs-space-gap, 1.75rem); }
@media (min-width: 44rem) { .fs-kw-promises { grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); } }
.fs-kw-promises > * { min-width: 0; }
.fs-kw-promise { display: flex; gap: .6rem; align-items: flex-start; font-size: var(--fs-type-caption, .875rem); }
.fs-kw-promise > svg { color: rgb(var(--c-brand-600)); margin-top: .1rem; }
.fs-kw-promise b {
  display: block; font-family: var(--font-display); font-weight: 700;
  letter-spacing: -.01em; color: rgb(var(--c-ink-950));
}
.fs-kw-promise > span > span { color: rgb(var(--c-ink-700)); line-height: 1.55; }

/* ── favBoltEnRoute ────────────────────────────────────────────── */
.fs-kw-track { display: grid; gap: 0; counter-reset: fskwstep; }
.fs-kw-step {
  display: grid; grid-template-columns: 2.5rem 1fr;
  gap: .5rem var(--fs-space-card, 1.25rem);
  padding-block: var(--fs-space-card, 1.25rem);
}
.fs-kw-step > * { min-width: 0; }
.fs-kw-step + .fs-kw-step { border-top: 1px solid rgb(var(--c-line)); }
.fs-kw-step-n {
  counter-increment: fskwstep;
  grid-row: span 2;
  width: 2.5rem; height: 2.5rem;
  display: grid; place-items: center;
  border-radius: var(--fs-radius-control, 8px);
  background: rgb(var(--c-brand-50));
  border: 1px solid rgb(var(--c-line));
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--fs-type-caption, .875rem);
  color: rgb(var(--c-brand-700));
}
.fs-kw-step-n::before { content: counter(fskwstep, decimal-leading-zero); }
.fs-kw-step-t {
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--fs-type-eyebrow, .72rem);
  letter-spacing: .07em; text-transform: uppercase;
  font-variant-numeric: tabular-nums;
  color: rgb(var(--c-accent, var(--c-brand-700)));
}
.fs-kw-step-b p { margin: 0; font-size: var(--fs-type-caption, .875rem); color: rgb(var(--c-ink-700)); line-height: 1.6; max-width: 62ch; }
@media (min-width: 52rem) {
  .fs-kw-step { grid-template-columns: 2.5rem 9rem 1fr; align-items: start; }
  .fs-kw-step-t { padding-top: .15rem; }
}

/* ── favBoltStandards ──────────────────────────────────────────── */
.fs-kw-decoder {
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-card, 10px);
  background: rgb(var(--c-paper));
  padding: var(--fs-space-card, 1.35rem);
  overflow-x: auto;
}
.fs-kw-decoder-grid {
  display: grid;
  grid-template-columns: minmax(15rem, 1.1fr) minmax(11rem, 1fr) minmax(12rem, 1fr);
  min-width: 40rem;
  column-gap: var(--fs-space-gap, 1.25rem);
}
.fs-kw-decoder-hd {
  margin: 0 0 .6rem;
  font-family: var(--font-display);
  font-size: var(--fs-type-eyebrow, .72rem);
  font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
  border-bottom: 1px solid rgb(var(--c-line));
  padding-bottom: .6rem;
}
.fs-kw-decoder-row {
  display: contents;
}
.fs-kw-decoder-door,
.fs-kw-decoder-std,
.fs-kw-decoder-fit {
  padding-block: 1rem;
  border-bottom: 1px solid rgb(var(--c-line) / .5);
  min-width: 0;
}
.fs-kw-decoder-row:last-of-type .fs-kw-decoder-door,
.fs-kw-decoder-row:last-of-type .fs-kw-decoder-std,
.fs-kw-decoder-row:last-of-type .fs-kw-decoder-fit { border-bottom: 0; }
.fs-kw-decoder-door { display: flex; gap: .9rem; align-items: center; }
.fs-kw-decoder-door > svg { width: 2.6rem; height: 3.25rem; flex: none; color: rgb(var(--c-ink-950)); }
.fs-kw-decoder-door b, .fs-kw-decoder-std b {
  display: block;
  font-family: var(--font-display); font-weight: 700; letter-spacing: -.02em;
  color: rgb(var(--c-ink-950));
}
.fs-kw-decoder-std b { font-size: 1.25rem; color: rgb(var(--c-brand-600)); }
.fs-kw-decoder-door > span > span,
.fs-kw-decoder-std > span {
  display: block; margin-top: .15rem;
  font-size: var(--fs-type-caption, .875rem); color: rgb(var(--c-ink-700)); line-height: 1.5;
}
.fs-kw-decoder-fit { font-size: var(--fs-type-caption, .9rem); color: rgb(var(--c-ink-950)); line-height: 1.5; }
.fs-kw-decoder-foot {
  grid-column: 1 / -1;
  margin: 1rem 0 0; padding-top: 1rem;
  border-top: 1px solid rgb(var(--c-line));
  font-size: var(--fs-type-caption, .875rem); color: rgb(var(--c-ink-700));
}

/* ── favBoltRegister ───────────────────────────────────────────── */
.fs-kw-reg { display: grid; gap: var(--fs-space-gap, 1.25rem); }
@media (min-width: 44rem) { .fs-kw-reg { grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); } }
.fs-kw-reg > * { min-width: 0; }
.fs-kw-reg-i {
  display: flex; gap: .7rem;
  padding: var(--fs-space-card, 1.25rem);
  border-radius: var(--fs-radius-card, 10px);
  border: 1px solid rgb(var(--c-line));
  background: rgb(var(--c-paper-soft));
  text-decoration: none;
  color: inherit;
  transition: border-color .2s ease, box-shadow .2s ease;
}
a.fs-kw-reg-i:hover {
  border-color: rgb(var(--c-brand-600));
  box-shadow: 0 0 0 3px rgb(var(--c-brand-600) / .12);
}
.fs-kw-reg-i > svg { color: rgb(var(--c-brand-600)); flex: none; margin-top: .1rem; }
.fs-kw-reg-b { min-width: 0; }
.fs-kw-reg-t {
  display: block;
  font-family: var(--font-display); font-weight: 700;
  font-size: var(--fs-type-caption, .9rem); letter-spacing: -.01em;
  color: rgb(var(--c-ink-950));
}
.fs-kw-reg-d {
  display: block; margin-top: .2rem;
  font-size: var(--fs-type-eyebrow, .78rem); color: rgb(var(--c-ink-700)); line-height: 1.5;
}
.fs-kw-reg-no {
  display: block; margin-top: .55rem;
  font-family: var(--font-display);
  font-size: var(--fs-type-eyebrow, .72rem);
  font-variant-numeric: tabular-nums; letter-spacing: .04em;
  color: rgb(var(--c-ink-400));
  word-break: break-word;
}
a.fs-kw-reg-i .fs-kw-reg-no::after {
  content: '\0000a0\002197\0000a0check';
  color: rgb(var(--c-brand-600));
  white-space: nowrap;
}
/* A row without a link renders visibly WEAKER — dashed keyline, no
   hover, no check suffix. On purpose: an unverifiable claim should look
   worse than a checkable one. */
.fs-kw-reg-unverified {
  border-style: dashed;
  border-color: rgb(var(--c-line) / .7);
  background: none;
}
.fs-kw-reg-unverified > svg { color: rgb(var(--c-ink-400)); }
.fs-kw-reg-unverified .fs-kw-reg-no { font-style: italic; }

/* ════════════════════════════════════════════════════════════════
   THEME-SCOPED REFINEMENT OF THE SHARED BLOCKS

   [data-fs-theme] is stamped on the preview root by EditWpClient and on
   the published page by PublicSiteClient — the hook that lets a theme
   refine the SHARED blocks without restyling them for the other
   thirty-one. Nothing below is unscoped.

   Half a Keyway page is universal blocks (services, gallery, about,
   showcase, quote, the table, the accordion, testimonials, the team
   grid, the form, the map, the cta), and the app draws them centred,
   rounded and card-filled with headings at a flat 24px in the body
   face. The prototype's register is left-aligned and monospaced, with
   every heading in Martian Mono at the theme's own h2 step.
   ════════════════════════════════════════════════════════════════ */

/* ── The heading register ──────────────────────────────────────── */
[data-fs-theme='keyway'] [data-fs-role='services'] .fs-heading,
[data-fs-theme='keyway'] [data-fs-role='textBlock'] .fs-heading,
[data-fs-theme='keyway'] [data-fs-role='about'] .fs-heading,
[data-fs-theme='keyway'] [data-fs-role='gallery'] .fs-heading,
[data-fs-theme='keyway'] [data-fs-role='showcase'] .fs-heading,
[data-fs-theme='keyway'] [data-fs-role='cta'] .fs-heading,
[data-fs-theme='keyway'] [data-fs-role='map'] .fs-heading,
[data-fs-theme='keyway'] .fs-section-shell > .fs-heading,
[data-fs-theme='keyway'] .fs-head-slot,
[data-fs-theme='keyway'] [data-fs-acc] > h2 {
  font-family: var(--font-display);
  font-size: var(--fs-type-h2, 2.25rem);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -.03em;
  text-align: left;
  margin-inline: 0;
  color: rgb(var(--c-ink-950));
}
/* The app centres these blocks with data-align="center". The hero keeps
   its own centring — it is a full-bleed photograph, not a ruled band. */
[data-fs-theme='keyway'] [data-fs-block][data-align='center']:not([data-fs-role='hero']),
[data-fs-theme='keyway'] [data-fs-block][data-align='center']:not([data-fs-role='hero']) .fs-prose,
[data-fs-theme='keyway'] .fs-section-shell > p {
  text-align: left;
  margin-inline: 0;
}
[data-fs-theme='keyway'] .fs-prose { max-width: var(--fs-measure, 62ch); }
/* block-chrome centres the heading CLUSTER at (0,2,1) and pushes every
   child to margin-inline:auto, which is why setting text-align on the
   block alone leaves the heading centred. Beat it on its own terms. */
[data-fs-theme='keyway'] [data-fs-block][data-align='center']:not([data-fs-role='hero']) .fs-head,
[data-fs-theme='keyway'] [data-fs-block][data-align='center']:not([data-fs-role='hero']) [data-fs-head] {
  text-align: left;
  align-items: flex-start;
}
[data-fs-theme='keyway'] [data-fs-block][data-align='center']:not([data-fs-role='hero']) .fs-head > *,
[data-fs-theme='keyway'] [data-fs-block][data-align='center']:not([data-fs-role='hero']) [data-fs-head] > * {
  margin-inline: 0;
}
[data-fs-theme='keyway'] .fs-head-slot > * {
  font-family: var(--font-display);
  text-align: left;
}
/* Left-hung, in the footer band as much as on the page. */
[data-fs-theme='keyway'] [data-fs-role='textBlock'] [data-fs-inner] {
  margin-inline: 0;
  max-width: var(--fs-measure, 68ch);
}

/* ── Cards: a keyline and a soft corner, no lift ───────────────── */
[data-fs-theme='keyway'] [data-fs-block] [data-fs-surface='card'] {
  background: rgb(var(--c-paper-soft));
  border: 1px solid rgb(var(--c-line));
  box-shadow: none;
  transform: none;
}
[data-fs-theme='keyway'] [data-fs-block] [data-fs-surface='card']:hover {
  transform: none;
  box-shadow: 0 0 0 3px rgb(var(--c-brand-600) / .12);
  border-color: rgb(var(--c-brand-600));
}
/* The app puts a rounded brand-tinted chip with a generic star above
   each service card. The prototype's cards carry the theme's own line
   icon, and a star on "Emergency entry" reads as a review rating on a
   page whose whole argument is that ratings are not the evidence. */
[data-fs-theme='keyway'] [data-fs-role='services'] [data-fs-surface='card'] > span {
  display: none;
}
[data-fs-theme='keyway'] .fs-card-title {
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -.02em;
  color: rgb(var(--c-ink-950));
}

/* ── cta ───────────────────────────────────────────────────────── */
/* The prototype's close is a quiet band with the type CENTRED and two
   actions — the one centred thing in the theme, and the only place the
   brand fill would be a second shout after the emergency door. */
[data-fs-theme='keyway'] [data-fs-role='cta'] { background: rgb(var(--c-paper-soft)); }
[data-fs-theme='keyway'] [data-fs-role='cta'] > div[aria-hidden],
[data-fs-theme='keyway'] [data-fs-role='cta'] > div.pointer-events-none { display: none; }
[data-fs-theme='keyway'] [data-fs-role='cta'] .fs-heading {
  color: rgb(var(--c-ink-950)) !important;
  text-align: center;
  font-family: var(--font-display);
}
[data-fs-theme='keyway'] [data-fs-role='cta'] .fs-prose { color: rgb(var(--c-ink-700)) !important; }
[data-fs-theme='keyway'] [data-fs-role='cta'] a,
[data-fs-theme='keyway'] [data-fs-role='cta'] span[class*='rounded-control'] {
  background: rgb(var(--c-brand-600));
  color: rgb(var(--c-paper));
  box-shadow: none;
}

/* ════════════════════════════════════════════════════════════════
   BUTTONS AND HOVER — theme.css 3 and 3b, on every button the app draws

   This scope used to cover the cta block's button and nothing else: the
   header call-to-action, the hero's pair and the form's submit all drew
   the app's default control, and NO button on a Keyway page had a hover
   state at all. The prototype's rule set, measured off
   theme-lab/keyway/theme.css 3:

     min-height 2.75rem · padding .6rem 1.15rem · 1.5px border
     display face (Martian Mono) · caption size · 700 · .02em
     sentence case — this theme does NOT uppercase its controls

   And the grammar it claims (3b, 'glow'): a crisp 2px brand ring plus a
   soft halo, arriving on hover and PULLING IN on press. Explicitly no
   translate and no scale — the prototype's own reason is that this
   theme's primary button carries a phone number somebody is trying to
   hit in the dark, and a control that moves under a thumb is a missed
   tap. The app's default preset does translateY(1px) on :active, so
   that is neutralised here rather than left to fight the grammar.

   The glow values are the tokens.css pair inlined: --kw-glow-ring and
   --kw-glow-halo are theme-lab tokens the app's apply.ts does not emit,
   and a var() with no definition and no fallback produces no shadow. */
[data-fs-theme='keyway'] .fsbtn,
[data-fs-theme='keyway'] .fs-hdr-cta,
[data-fs-theme='keyway'].fs-typo .fs-hdr-cta,
[data-fs-theme='keyway'] [data-fs-role='cta'] a,
[data-fs-theme='keyway'] [data-fs-role='cta'] span[class*='rounded-control'],
[data-fs-theme='keyway'] .fs-hero-full span[class*='rounded-control'],
[data-fs-theme='keyway'] [data-fs-fm-submit],
[data-fs-theme='keyway'] [data-fs-fm-next] {
  font-family: var(--font-display);
  font-size: var(--fs-type-caption, .875rem);
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: none;
  gap: .55rem;
  min-height: 2.75rem;
  padding: .6rem 1.15rem;
  border-radius: var(--fs-radius-control, 8px);
  border-width: 1.5px;
  border-style: solid;
  transition: box-shadow .22s cubic-bezier(.2, .7, .3, 1),
              border-color .22s cubic-bezier(.2, .7, .3, 1);
}
[data-fs-theme='keyway'] .fsbtn:hover,
[data-fs-theme='keyway'] .fs-hdr-cta:hover,
[data-fs-theme='keyway'] [data-fs-role='cta'] a:hover,
[data-fs-theme='keyway'] [data-fs-role='cta'] span[class*='rounded-control']:hover,
[data-fs-theme='keyway'] .fs-hero-full span[class*='rounded-control']:hover,
[data-fs-theme='keyway'] [data-fs-fm-submit]:hover,
[data-fs-theme='keyway'] .fsbtn:focus-visible,
[data-fs-theme='keyway'] .fs-hdr-cta:focus-visible {
  box-shadow: 0 0 0 2px rgb(var(--c-brand-600) / .30), 0 0 20px -3px rgb(var(--c-brand-600) / .60);
  transform: none;
}
[data-fs-theme='keyway'] .fsbtn:active,
[data-fs-theme='keyway'] .fs-hdr-cta:active,
[data-fs-theme='keyway'] [data-fs-role='cta'] a:active,
[data-fs-theme='keyway'] [data-fs-fm-submit]:active {
  box-shadow: 0 0 0 2px rgb(var(--c-brand-600) / .30);
  transform: none;
}
/* The outlined half of the pair — a ghost warms its border to brand
   rather than filling. */
[data-fs-theme='keyway'] .fs-hero-full span[class*='rounded-control']:not(.fsbtn):hover {
  border-color: rgb(var(--c-brand-600));
}

/* ── quote ─────────────────────────────────────────────────────── */
[data-fs-theme='keyway'] [data-fs-role='quote'] [data-fs-surface='card'] {
  border: 0; box-shadow: none; background: none; padding: 0;
  max-width: min(46rem, var(--fs-layout-clamp, 46rem)); margin-inline: 0; text-align: left;
}
[data-fs-theme='keyway'] [data-fs-role='quote'] blockquote,
[data-fs-theme='keyway'] [data-fs-role='quote'] [data-fs-surface='card'] > p {
  font-family: var(--font-display);
  font-size: var(--fs-type-h3, 1.5rem);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: -.02em;
  color: rgb(var(--c-ink-950));
  margin-top: 0; margin-inline: 0; text-align: left; max-width: min(40rem, var(--fs-layout-clamp, 40rem));
}
[data-fs-theme='keyway'] [data-fs-role='quote'] [data-fs-surface='card'] > span {
  color: rgb(var(--c-ink-400));
  font-family: var(--font-display);
  font-size: .78rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
[data-fs-theme='keyway'] [data-fs-role='quote'] svg { display: none; }

/* ── favTable ──────────────────────────────────────────────────── */
/* The parts list is read left to right — a centred "purpose" column
   turns an explanation into a caption. Prices set in the display face
   at tabular widths, like every other figure in the theme. */
[data-fs-theme='keyway'] [data-fs-tbl-scroll] th,
[data-fs-theme='keyway'] [data-fs-tbl-scroll] td { text-align: left; }
[data-fs-theme='keyway'] [data-fs-tbl-scroll] thead th {
  font-family: var(--font-display);
  font-size: var(--fs-type-eyebrow, .72rem);
  letter-spacing: .1em;
  text-transform: uppercase;
}
[data-fs-theme='keyway'] [data-fs-tbl-scroll] td:last-child {
  font-family: var(--font-display);
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  white-space: nowrap;
}

/* ── favTestimonials / favTeam ─────────────────────────────────── */
/* The prototype's three quotations are running prose with a name and a
   place underneath — no stars, no avatar, no source badge. Those are
   review-widget furniture; here the quotation and who said it is the
   whole content. */
[data-fs-theme='keyway'] .fs-testimonials-section [data-fs-ts-stars],
[data-fs-theme='keyway'] .fs-testimonials-section [data-fs-ts-avatar],
[data-fs-theme='keyway'] .fs-testimonials-section [data-fs-ts-avatar-placeholder],
[data-fs-theme='keyway'] .fs-testimonials-section [data-fs-ts-source-badge],
[data-fs-theme='keyway'] .fs-testimonials-section [data-fs-ts-logo] {
  display: none;
}
[data-fs-theme='keyway'] .fs-testimonials-section [data-fs-ts-quote] { color: rgb(var(--c-ink-950)); }
[data-fs-theme='keyway'] .fs-testimonials-section [data-fs-ts-name],
[data-fs-theme='keyway'] .fs-team-section [data-fs-tm-name] {
  font-family: var(--font-display);
  letter-spacing: -.02em;
  color: rgb(var(--c-ink-950));
}
/* The qualification line: a full name, a face AND a checkable number is
   the whole argument of the team block in this trade. */
[data-fs-theme='keyway'] .fs-team-section [data-fs-tm-role] {
  font-size: .8125rem;
  color: rgb(var(--c-ink-700));
}
[data-fs-theme='keyway'] .fs-team-section [data-fs-tm-bio] {
  font-family: var(--font-display);
  font-size: .75rem;
  letter-spacing: .02em;
  font-variant-numeric: tabular-nums;
  color: rgb(var(--c-ink-400));
}

/* ── favForm ───────────────────────────────────────────────────── */
[data-fs-theme='keyway'] .fs-section-shell { margin-inline: 0; }

/* ── Motion — decisive, never bouncy. Gated by .fs-kw-anim ─────── */
@media (prefers-reduced-motion: no-preference) {
  .fs-kw-anim .fs-kw-band,
  .fs-kw-anim .fs-kw-reg-i,
  .fs-kw-anim .fs-kw-step { animation: fs-kw-settle .45s cubic-bezier(.2,.7,.3,1) both; }
  /* The heading motion the theme claims: a lock opening from the
     centre outward. Applied to the family's own headings only, so it
     cannot leak onto another theme's page. */
  .fs-kw-anim .fs-kw-h2 { animation: fs-kw-shutter .5s cubic-bezier(.2,.7,.3,1) both; }
}
@keyframes fs-kw-settle {
  from { opacity: 0; transform: translateY(4px); }
  to   { opacity: 1; transform: none; }
}
@keyframes fs-kw-shutter {
  from { clip-path: inset(0 50% 0 50%); }
  to   { clip-path: inset(0 0 0 0); }
}

/* ── Wireframe — strip colour to lines ─────────────────────────── */
.fs-kw-wire .fs-kw-door,
.fs-kw-wire .fs-kw-band,
.fs-kw-wire .fs-kw-reg-i,
.fs-kw-wire .fs-kw-decoder { background: none; border-color: rgb(var(--c-line)); }
.fs-kw-wire .fs-kw-door-urgent { box-shadow: none; border-color: rgb(var(--c-line)); }
.fs-kw-wire .fs-kw-btn-solid { background: none; color: rgb(var(--c-ink-950)); border: 1px solid rgb(var(--c-line)); }
.fs-kw-wire .fs-kw-ward { display: none; }
.fs-kw-wire .fs-kw-decoder-std b { color: rgb(var(--c-ink-950)); }

/* ── Print ─────────────────────────────────────────────────────── */
@media print {
  .fs-kw-anim .fs-kw-band,
  .fs-kw-anim .fs-kw-reg-i,
  .fs-kw-anim .fs-kw-step { animation: none; opacity: 1; transform: none; }
  .fs-kw-anim .fs-kw-h2 { animation: none; clip-path: none; }
  .fs-kw-ward { display: none; }
  .fs-kw-std-section, .fs-kw-route-section { background: none; }
}

/* ── favBoltFooter (theme-chrome batch 4, Keyway) ─────────────────
   fs-kw-ft: the full-bleed band (named container) on the sunk ground
   under one rule; fs-kw-ft-in: the content box (named container) — the
   business's tab is positioned from it and stands on the rule. */
.fs-kw-ft{container-type:inline-size;container-name:fs-kw-ft;padding:0 clamp(1rem,4vw,2.5rem);background:rgb(var(--c-paper-sunk));border-top:1px solid rgb(var(--c-line));--kw-ft-hair:rgb(var(--c-ink-950) / .13)}
.fs-kw-ft:is(.dark *):not(.fs-preview-light *){--kw-ft-hair:rgb(var(--c-ink-950) / .16)}
.fs-kw-ft-in{position:relative;container-type:inline-size;container-name:fs-kw-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:64px 26px}
.fs-kw-ft-tab{position:absolute;left:0;bottom:100%;display:inline-flex;align-items:center;gap:10px;height:44px;margin:0;padding:0 18px 0 12px;border:1px solid rgb(var(--c-line));border-bottom:0;border-radius:8px 8px 0 0;background:rgb(var(--c-paper-sunk));font-family:var(--font-display, 'Martian Mono', ui-monospace, monospace);font-weight:700;font-size:14px;line-height:1;letter-spacing:-.02em;color:rgb(var(--c-ink-950));white-space:nowrap}
.fs-kw-ft-mark{display:block;width:26px;height:26px}
.fs-kw-ft-mk-a{stop-color:rgb(var(--c-brand-600))}
.fs-kw-ft-mk-b{stop-color:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-kw-ft-ico{display:block;flex:none;width:18px;height:18px}
a.fs-kw-ft-reg-i .fs-kw-ft-reg-no::after{content:'\0000a0\002197\0000a0check';color:rgb(var(--c-brand-text));white-space:nowrap}
.fs-kw-ft-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1fr);gap:28px var(--kw-ft-gap,44px)}
.fs-kw-ft-col{min-width:0}
.fs-kw-ft-h{margin:0 0 12px;padding-bottom:9px;border-bottom:1px solid var(--kw-ft-hair);font-family:var(--font-display, 'Martian Mono', ui-monospace, monospace);font-weight:700;font-size:11px;line-height:1.2;letter-spacing:.12em;text-transform:uppercase;color:rgb(var(--c-ink-700))}
.fs-kw-ft-addr{margin:0;font-size:15.5px;line-height:1.45;color:rgb(var(--c-ink-950))}
.fs-kw-ft-note{margin:8px 0 0;max-width:36ch;font-size:14px;line-height:1.5;color:rgb(var(--c-ink-700))}
.fs-kw-ft-tel{display:inline-block;margin-top:14px;font-family:var(--font-display, 'Martian Mono', ui-monospace, monospace);font-weight:700;font-size:22px;line-height:1.1;letter-spacing:-.04em;color:rgb(var(--c-ink-950));font-variant-numeric:tabular-nums;text-decoration:none}
.fs-kw-ft-tel:hover{color:rgb(var(--c-brand-600))}
.fs-kw-ft-hours{display:grid;gap:12px;margin:0}
.fs-kw-ft-dt{margin:0;font-family:var(--font-display, 'Martian Mono', ui-monospace, monospace);font-weight:700;font-size:12.5px;line-height:1.3;letter-spacing:-.01em;color:rgb(var(--c-ink-950))}
.fs-kw-ft-dd{margin:3px 0 0;font-size:14px;line-height:1.5;color:rgb(var(--c-ink-700));font-variant-numeric:tabular-nums}
.fs-kw-ft-hrow{display:block}
.fs-kw-ft-links{display:grid;gap:1px;margin:0;padding:0;list-style:none}
.fs-kw-ft-li{display:block}
.fs-kw-ft-link{display:inline-block;padding-block:4px;font-size:14.5px;color:rgb(var(--c-ink-950));text-decoration:none;transition:text-shadow .22s cubic-bezier(.2,.7,.3,1)}
.fs-kw-ft-link:hover{text-shadow:0 0 14px rgb(var(--c-brand-600) / .55)}
.fs-kw-ft-freg{margin-top:34px}
.fs-kw-ft-reg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.fs-kw-ft-reg-i{display:flex;align-items:flex-start;gap:11px;min-width:0;padding:12px 14px 11px;border:1px solid rgb(var(--c-line));border-radius:10px;background:rgb(var(--c-paper-soft));text-decoration:none;color:inherit;transition:box-shadow .22s cubic-bezier(.2,.7,.3,1),border-color .22s cubic-bezier(.2,.7,.3,1)}
a.fs-kw-ft-reg-i:hover{border-color:rgb(var(--c-brand-600));box-shadow:0 0 0 3px rgb(var(--c-brand-600) / .12)}
.fs-kw-ft-reg-i .fs-kw-ft-ico{margin-top:1px;color:rgb(var(--c-brand-600))}
.fs-kw-ft-reg-b{min-width:0}
.fs-kw-ft-reg-t{display:block;font-family:var(--font-display, 'Martian Mono', ui-monospace, monospace);font-weight:700;font-size:12.5px;line-height:1.3;letter-spacing:-.02em;color:rgb(var(--c-ink-950))}
.fs-kw-ft-reg-no{display:block;margin-top:4px;font-family:var(--font-display, 'Martian Mono', ui-monospace, monospace);font-weight:500;font-size:11.5px;line-height:1.35;letter-spacing:.01em;color:rgb(var(--c-ink-400));font-variant-numeric:tabular-nums}
.fs-kw-ft-reg-un{border-style:dashed;background:transparent}
.fs-kw-ft-reg-un .fs-kw-ft-ico{color:rgb(var(--c-ink-400))}
.fs-kw-ft-reg-un .fs-kw-ft-reg-no{font-style:italic;color:rgb(var(--c-ink-700))}
.fs-kw-ft-legal{display:flex;flex-wrap:wrap;gap:6px 18px;margin:26px 0 0;padding-top:14px;border-top:1px solid var(--kw-ft-hair);font-size:12.5px;line-height:1.5;color:rgb(var(--c-ink-700))}
.fs-kw-ft-legal-a{color:rgb(var(--c-ink-950));text-decoration:none}
.fs-kw-ft-legal-a:hover{text-decoration:underline}
@container fs-kw-ft (max-width: 40rem){
  .fs-kw-ft-in{padding-block:56px 22px}
}
@container fs-kw-ft-in (min-width: 80rem){
  .fs-kw-ft-grid{--kw-ft-gap:64px}
  .fs-kw-ft-reg{gap:12px}
}
@container fs-kw-ft-in (max-width: 56rem){
  .fs-kw-ft-grid{grid-template-columns:repeat(2,minmax(0,1fr));--kw-ft-gap:32px}
  .fs-kw-ft-shop{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:32px}
  .fs-kw-ft-shop > .fs-kw-ft-h{grid-column:1/-1}
  .fs-kw-ft-shop > .fs-kw-ft-tel{grid-column:2;grid-row:2/4;align-self:start;margin-top:0}
  .fs-kw-ft-reg{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container fs-kw-ft (max-width: 48rem){
  .fs-kw-ft-grid{grid-template-columns:minmax(0,1fr)}
  .fs-kw-ft-shop{display:block}
  .fs-kw-ft-shop > .fs-kw-ft-tel{margin-top:14px}
}
@container fs-kw-ft (max-width: 30rem){
  .fs-kw-ft-reg{grid-template-columns:minmax(0,1fr)}
  .fs-kw-ft-tab{height:42px;font-size:13px}
}
@media (prefers-reduced-motion: reduce){
  .fs-kw-ft-link,.fs-kw-ft-reg-i{transition:none}
}


/* ── The sheet ─────────────────────────────────────────────────── */
.fs-or {
  position: relative;
  isolation: isolate;
  background: rgb(var(--c-paper));
  color: rgb(var(--c-ink-950));
}
.fs-or * { box-sizing: border-box; }
.fs-or-shell {
  max-width:var(--fs-layout-max,74rem);
  margin-inline: auto;
  padding: var(--fs-space-section, clamp(3rem, 6vw, 4.5rem)) clamp(1rem, 4vw, 2.5rem);
}
.fs-or-tariff-section, .fs-or-reg-section { background: rgb(var(--c-paper-soft)); }
.fs-or-ico { width: 1em; height: 1em; flex: none; }

/* ── The sheet head: a titled rule with a reference ────────────── */
.fs-or-sheet-head { margin-bottom: clamp(1.5rem, 3vw, 2.25rem); }
.fs-or-sheet-bar {
  display: flex; align-items: baseline; justify-content: space-between; gap: 1rem;
  padding-bottom: .6rem;
  border-bottom: 2px solid rgb(var(--c-ink-950));
  margin-bottom: 1.1rem;
}
.fs-or-eyebrow {
  font-family: var(--font-sans, inherit);
  font-size: var(--fs-type-eyebrow, .75rem);
  letter-spacing: .16em; text-transform: uppercase;
  color: rgb(var(--c-accent)); margin: 0;
}
/* The reference: always tabular, always in the corner. */
.fs-or-ref {
  font-size: .6875rem; letter-spacing: .12em; text-transform: uppercase;
  color: rgb(var(--c-ink-400)); margin: 0;
  font-variant-numeric: tabular-nums;
}
.fs-or-h2 {
  font-family: var(--font-display);
  font-size: var(--fs-type-h2, clamp(1.6rem, 3.2vw, 2.4rem));
  font-weight: 600; line-height: 1.14; letter-spacing: -.01em;
  margin: 0; text-wrap: balance; color: rgb(var(--c-ink-950));
  max-width: 34ch;
}
.fs-or-lede {
  font-size: var(--fs-type-body, 1rem); line-height: 1.6;
  color: rgb(var(--c-ink-700)); margin-top: .8rem;
  max-width: var(--fs-measure, 68ch);
}
.fs-or-note {
  font-size: .8125rem; color: rgb(var(--c-ink-400));
  margin: 1.2rem 0 0; max-width: var(--fs-measure, 68ch);
}
.fs-or-ph {
  width: 100%; height: 100%;
  background:
    linear-gradient(rgb(var(--c-line) / .5), rgb(var(--c-line) / .5)) center/1px 100% no-repeat,
    linear-gradient(rgb(var(--c-line) / .5), rgb(var(--c-line) / .5)) center/100% 1px no-repeat,
    rgb(var(--c-paper-soft));
}

/* ── Buttons ───────────────────────────────────────────────────── */
.fs-or-btn {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .8rem 1.35rem;
  border-radius: var(--fs-radius-control, 2px);
  font-size: .9375rem; font-weight: 600;
  border: 1px solid transparent; white-space: nowrap;
}
.fs-or-btn-solid {
  background: rgb(var(--c-brand-600));
  color: var(--fs-on-brand, rgb(var(--c-paper)));
}
.fs-or-btn-ghost {
  border-color: rgb(var(--c-ink-950));
  color: rgb(var(--c-ink-950));
  font-variant-numeric: tabular-nums;
}

/* ══ favOrielListing — particulars ROWS ═════════════════════════ */
.fs-or-parts-cols,
.fs-or-part {
  display: grid;
  grid-template-columns: 13rem 1fr 7rem 11rem;
  gap: clamp(1rem, 2.5vw, 2rem);
  align-items: start;
}
.fs-or-parts-cols {
  padding-bottom: .5rem;
  border-bottom: 1px solid rgb(var(--c-line));
  font-size: .625rem; letter-spacing: .14em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-or-parts-cols > span:last-child { text-align: right; }
.fs-or-part {
  padding: clamp(1rem, 2.2vw, 1.5rem) 0;
  border-bottom: 1px solid rgb(var(--c-line));
}
.fs-or-part-plate { position: relative; aspect-ratio: 4 / 3; overflow: hidden; }
.fs-or-part-plate > * { width: 100%; height: 100%; display: block; }
.fs-or-part-plate img, .fs-or-part-plate picture { width: 100%; height: 100%; object-fit: cover; display: block; }
.fs-or-flag {
  position: absolute; top: 0; left: 0;
  background: rgb(var(--c-ink-950) / .84);
  color: rgb(var(--c-paper));
  font-size: .625rem; letter-spacing: .1em; text-transform: uppercase;
  padding: .28rem .55rem;
}
.fs-or-part-a,
.fs-or-part-a > span {
  font-family: var(--font-display);
  font-size: 1.25rem; font-weight: 600; line-height: 1.2;
  margin: 0; color: rgb(var(--c-ink-950));
}
/* The spec as a dimension run on a rule, not a chip row. */
.fs-or-dim {
  list-style: none; margin: .8rem 0 0; padding: .55rem 0 0;
  border-top: 1px solid rgb(var(--c-line));
  display: flex; flex-wrap: wrap; gap: .2rem 1.3rem;
}
.fs-or-dim > li {
  display: flex; align-items: center; gap: .4rem;
  font-size: .8125rem; color: rgb(var(--c-ink-700));
  font-variant-numeric: tabular-nums;
}
.fs-or-dim > li > svg { color: rgb(var(--c-ink-400)); }
.fs-or-part-t {
  display: flex; align-items: center; flex-wrap: wrap; gap: .5rem;
  margin: .7rem 0 0;
  font-size: .75rem; color: rgb(var(--c-ink-400));
}
.fs-or-sep { width: 1px; height: .8em; background: rgb(var(--c-line)); display: inline-block; }
.fs-or-part-ref { font-variant-numeric: tabular-nums; letter-spacing: .06em; }

/* The stepped EPC graph — the certificate's own form. */
.fs-or-epcg { display: grid; gap: 2px; }
.fs-or-epcg-r {
  height: .5rem; border-radius: 0 1px 1px 0;
  opacity: .3;
  display: flex; align-items: center; justify-content: flex-end;
  padding-right: .2rem;
}
.fs-or-epcg-r.is-on {
  opacity: 1; height: .95rem;
  /* The active band is the only one that carries its letter. */
}
/* The band letter. Fixed dark, and it has to be: it sits ON the
   statutory band colour, which is not a palette value either, so a
   token here would be resolving against the wrong surface. Solved
   against the lightest band (D, #ffd500) at 11.4:1 and the darkest
   it ever lands on (A, #008054) at 3.1:1. The block guard flags this
   line and it is baselined deliberately — same exception as the band
   colours themselves. */
.fs-or-epcg-r > b {
  font-size: .625rem; font-weight: 700; color: #14202b; line-height: 1;
}

/* The figure hangs in the margin — the strongest move in the form. */
.fs-or-part-fig { text-align: right; }
.fs-or-part-q {
  font-size: .6875rem; letter-spacing: .08em; text-transform: uppercase;
  color: rgb(var(--c-ink-400)); margin: 0 0 .2rem;
}
.fs-or-part-v,
.fs-or-part-v > span {
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 2.6vw, 2rem); font-weight: 600; line-height: 1;
  margin: 0; color: rgb(var(--c-ink-950));
  font-variant-numeric: tabular-nums;
}

/* ══ favOrielFeeTable — the tariff SCHEDULE ═════════════════════ */
.fs-or-sched { border-top: 2px solid rgb(var(--c-ink-950)); }
.fs-or-line {
  display: grid;
  grid-template-columns: 1fr 12rem;
  gap: clamp(1rem, 3vw, 2.5rem);
  padding: clamp(1.1rem, 2.4vw, 1.6rem) 0;
  border-bottom: 1px solid rgb(var(--c-line));
  align-items: start;
}
.fs-or-line.is-marked { background: rgb(var(--c-brand-50) / .55); }
.fs-or-line-t,
/* :not() excludes the ribbon — otherwise this rule catches it and the
   small sans label renders at 1.3rem in the display face. Same class of
   trap as PITFALLS U13, except self-inflicted: the > span combinator
   that protects against <Editable> wrappers also grabs any span the
   component itself puts inside. */
.fs-or-line-t > span:not(.fs-or-mark) {
  font-family: var(--font-display);
  font-size: 1.3rem; font-weight: 600; line-height: 1.2;
  margin: 0; color: rgb(var(--c-ink-950));
}
.fs-or-line-t { display: flex; align-items: baseline; gap: .7rem; flex-wrap: wrap; }
.fs-or-mark {
  font-family: var(--font-sans, inherit);
  font-size: .625rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: var(--fs-on-brand, rgb(var(--c-paper)));
  background: rgb(var(--c-brand-600));
  padding: .2rem .45rem;
}
.fs-or-line-f {
  list-style: none; margin: .75rem 0 0; padding: 0;
  display: flex; flex-wrap: wrap; gap: .25rem 1.1rem;
  max-width: var(--fs-measure, 68ch);
}
.fs-or-line-f > li {
  font-size: .8125rem; color: rgb(var(--c-ink-700));
  position: relative; padding-left: .85rem;
}
.fs-or-line-f > li::before {
  content: ''; position: absolute; left: 0; top: .55em;
  width: .3rem; height: 1px; background: rgb(var(--c-accent));
}
.fs-or-line-r { text-align: right; }
.fs-or-line-v,
.fs-or-line-v > span {
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 3.2vw, 2.5rem); font-weight: 600; line-height: 1;
  margin: 0; color: rgb(var(--c-ink-950));
  font-variant-numeric: tabular-nums;
}
.fs-or-line-u { font-size: .75rem; color: rgb(var(--c-ink-700)); margin: .3rem 0 0; }
.fs-or-line-x {
  font-size: .75rem; color: rgb(var(--c-ink-400)); margin: .1rem 0 0;
  font-variant-numeric: tabular-nums;
}
.fs-or-statutory {
  margin-top: 1.4rem; padding-top: 1.1rem;
  border-top: 1px solid rgb(var(--c-line));
  display: grid; gap: .4rem;
}
.fs-or-statutory > p {
  font-size: .75rem; line-height: 1.5; color: rgb(var(--c-ink-700)); margin: 0;
  padding-left: .9rem; position: relative;
}
.fs-or-statutory > p::before {
  content: ''; position: absolute; left: 0; top: .55em;
  width: .35rem; height: .35rem; background: rgb(var(--c-accent));
}

/* ══ favOrielRedress — a register EXTRACT ═══════════════════════ */
.fs-or-reg { border-top: 2px solid rgb(var(--c-ink-950)); }
.fs-or-reg-cols,
.fs-or-reg-row {
  display: grid;
  grid-template-columns: 16rem 1fr 11rem;
  gap: clamp(.75rem, 2.5vw, 2rem);
  align-items: baseline;
}
.fs-or-reg-cols {
  padding: .5rem 0;
  border-bottom: 1px solid rgb(var(--c-line));
  font-size: .625rem; letter-spacing: .14em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-or-reg-cols > span:last-child { text-align: right; }
.fs-or-reg-row {
  padding: .95rem 0;
  border-bottom: 1px solid rgb(var(--c-line));
}
.fs-or-reg-n,
.fs-or-reg-n > span {
  font-family: var(--font-display);
  font-size: 1.0625rem; font-weight: 600; line-height: 1.25;
  margin: 0; color: rgb(var(--c-ink-950));
}
.fs-or-reg-n > a {
  color: inherit; text-decoration: none;
  display: inline-flex; align-items: baseline; gap: .35rem;
  border-bottom: 1px solid rgb(var(--c-accent));
}
.fs-or-reg-n > a > svg { color: rgb(var(--c-accent)); align-self: center; }
.fs-or-reg-w { font-size: .8125rem; line-height: 1.5; color: rgb(var(--c-ink-700)); margin: 0; }
.fs-or-reg-no,
.fs-or-reg-no > span {
  margin: 0; text-align: right;
  font-size: .8125rem; letter-spacing: .06em;
  color: rgb(var(--c-ink-950));
  font-variant-numeric: tabular-nums;
}

/* ══ favOrielArea — the comparison SCHEDULE ═════════════════════ */
.fs-or-areas { border-top: 2px solid rgb(var(--c-ink-950)); }
.fs-or-arow {
  display: grid;
  grid-template-columns: 8rem 1fr 16rem;
  gap: clamp(1rem, 2.5vw, 2rem);
  padding: clamp(1.1rem, 2.4vw, 1.5rem) 0;
  border-bottom: 1px solid rgb(var(--c-line));
  align-items: start;
}
.fs-or-arow-plate { aspect-ratio: 1 / 1; overflow: hidden; }
.fs-or-arow-plate > * { width: 100%; height: 100%; display: block; }
.fs-or-arow-plate img, .fs-or-arow-plate picture { width: 100%; height: 100%; object-fit: cover; display: block; }
.fs-or-arow-n,
.fs-or-arow-n > span {
  font-family: var(--font-display);
  font-size: 1.1875rem; font-weight: 600; line-height: 1.2;
  margin: 0; color: rgb(var(--c-ink-950));
}
.fs-or-arow-m { font-size: .75rem; letter-spacing: .04em; color: rgb(var(--c-ink-400)); margin: .25rem 0 0; }
.fs-or-arow-p { font-size: .8125rem; line-height: 1.5; color: rgb(var(--c-ink-700)); margin: .6rem 0 0; }
/* Facts read across on rules, not down a card. */
.fs-or-arow-facts { margin: 0; display: grid; gap: 0; align-self: stretch; }
.fs-or-arow-facts > div {
  display: flex; justify-content: space-between; gap: .75rem;
  padding: .3rem 0;
  border-bottom: 1px dotted rgb(var(--c-line));
  font-size: .75rem;
}
.fs-or-arow-facts > div:last-child { border-bottom: 0; }
.fs-or-arow-facts dt { color: rgb(var(--c-ink-400)); margin: 0; letter-spacing: .06em; text-transform: uppercase; font-size: .625rem; align-self: center; }
.fs-or-arow-facts dd {
  margin: 0; color: rgb(var(--c-ink-950)); font-weight: 600;
  font-variant-numeric: tabular-nums; text-align: right;
}

/* ══ favOrielValuation — the appraisal docket ═══════════════════ */
.fs-or-docket {
  border: 1px solid rgb(var(--c-ink-950));
  border-radius: var(--fs-radius-card, 2px);
  overflow: hidden;
  background: rgb(var(--c-paper-soft));
}
.fs-or-docket-bar {
  display: flex; align-items: baseline; justify-content: space-between; gap: 1rem;
  padding: .7rem clamp(1rem, 2.5vw, 1.75rem);
  border-bottom: 1px solid rgb(var(--c-ink-950));
  background: rgb(var(--c-paper));
}
.fs-or-docket-body { display: grid; grid-template-columns: 1.15fr 1fr; }
.fs-or-docket-l { padding: clamp(1.35rem, 3vw, 2.5rem); }
.fs-or-docket-r { position: relative; min-height: 21rem; border-left: 1px solid rgb(var(--c-line)); }
/* The image arrives wrapped: EditableImage renders its own element
   around a <picture>, so targeting '> img' matched nothing and the
   photograph sat at its intrinsic height with white below it. Fill the
   direct child whatever it is, then make anything image-shaped inside
   it cover. Same reasoning as the direct-child text rules — in this app
   a slot is never the bare element you wrote. */
.fs-or-docket-r > * {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
}
.fs-or-docket-r img,
.fs-or-docket-r picture {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
}
/* Numbered clauses, like a form's terms. */
.fs-or-clauses { list-style: none; margin: 1.4rem 0 0; padding: 0; display: grid; gap: 0; }
.fs-or-clauses > li {
  display: grid; grid-template-columns: 2.2rem 1fr; gap: .6rem;
  padding: .65rem 0;
  border-top: 1px solid rgb(var(--c-line));
  font-size: .875rem; line-height: 1.5; color: rgb(var(--c-ink-700));
}
.fs-or-clause-n {
  font-family: var(--font-display);
  font-size: .8125rem; font-weight: 600; color: rgb(var(--c-accent));
  font-variant-numeric: tabular-nums;
}
.fs-or-val-form {
  display: flex; gap: .7rem; align-items: flex-end; flex-wrap: wrap;
  margin-top: 1.4rem; padding-top: 1.2rem;
  border-top: 1px solid rgb(var(--c-ink-950));
}
.fs-or-field { display: grid; gap: .35rem; flex: 1 1 11rem; min-width: 0; }
.fs-or-field-l {
  font-size: .625rem; letter-spacing: .12em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-or-input {
  width: 100%;
  /* 16px floor or iOS zooms on focus; 44px for the hit target. */
  font-size: 1rem; min-height: 44px;
  padding: .55rem .75rem;
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-control, 2px);
  background: rgb(var(--c-paper));
  color: rgb(var(--c-ink-950));
}

/* ══ favOrielMemo — the closing memorandum ══════════════════════ */
.fs-or-memo {
  border: 1px solid rgb(var(--c-ink-950));
  border-radius: var(--fs-radius-card, 2px);
  overflow: hidden;
  background: rgb(var(--c-paper-soft));
}
.fs-or-memo-bar {
  display: flex; align-items: baseline; justify-content: space-between; gap: 1rem;
  padding: .7rem clamp(1rem, 2.5vw, 1.75rem);
  background: rgb(var(--c-ink-950));
}
.fs-or-memo-t,
.fs-or-memo-t > span {
  font-family: var(--font-sans, inherit);
  font-size: .6875rem; letter-spacing: .18em; text-transform: uppercase;
  color: rgb(var(--c-paper)); margin: 0; font-weight: 600;
}
.fs-or-memo-bar > .fs-or-ref { color: rgb(var(--c-paper) / .7); }
.fs-or-memo-body {
  display: grid; grid-template-columns: 1.3fr 1fr;
  gap: clamp(1.25rem, 3vw, 2.5rem);
  padding: clamp(1.35rem, 3vw, 2.25rem);
}
.fs-or-memo-facts { margin: 0; display: grid; gap: 0; align-content: start; }
.fs-or-memo-facts > div {
  display: flex; justify-content: space-between; gap: 1rem;
  padding: .5rem 0;
  border-bottom: 1px solid rgb(var(--c-line));
  font-size: .8125rem;
}
.fs-or-memo-facts > div:first-child { border-top: 1px solid rgb(var(--c-line)); }
.fs-or-memo-facts dt { margin: 0; color: rgb(var(--c-ink-400)); }
.fs-or-memo-facts dd { margin: 0; color: rgb(var(--c-ink-950)); font-weight: 600; text-align: right; }
.fs-or-memo-foot {
  display: flex; align-items: center; gap: .75rem; flex-wrap: wrap;
  padding: clamp(1rem, 2.5vw, 1.4rem) clamp(1.35rem, 3vw, 2.25rem);
  border-top: 1px solid rgb(var(--c-ink-950));
  background: rgb(var(--c-paper));
}
.fs-or-memo-sign {
  margin: 0 0 0 auto;
  font-size: .6875rem; letter-spacing: .04em; color: rgb(var(--c-ink-400));
}

/* favOrielIndex - the document index */
.fs-or-index { list-style: none; margin: 0; padding: 0; border-top: 2px solid rgb(var(--c-ink-950)); }
.fs-or-ix {
  display: grid;
  grid-template-columns: 3rem minmax(14rem, 26rem) 1fr auto;
  gap: clamp(.75rem, 2vw, 1.5rem);
  align-items: baseline;
  padding: clamp(1rem, 2.2vw, 1.4rem) 0;
  border-bottom: 1px solid rgb(var(--c-line));
}
.fs-or-ix-n {
  font-family: var(--font-display);
  font-size: .875rem; font-weight: 600;
  color: rgb(var(--c-accent));
  font-variant-numeric: tabular-nums;
}
.fs-or-ix-t,
.fs-or-ix-t > span {
  font-family: var(--font-display);
  font-size: 1.375rem; font-weight: 600; line-height: 1.2;
  margin: 0; color: rgb(var(--c-ink-950));
}
.fs-or-ix-d { font-size: .8125rem; line-height: 1.5; color: rgb(var(--c-ink-700)); margin: .3rem 0 0; }
/* The leader: a dotted rule filling the gap to the folio, centred on the
   entry's own baseline row, exactly as a printed index sets it. */
.fs-or-ix-lead {
  align-self: center;
  border-bottom: 2px dotted rgb(var(--c-line));
  transform: translateY(-.2em);
  min-width: 2rem;
}
.fs-or-ix-v,
.fs-or-ix-v > span {
  font-family: var(--font-display);
  font-size: 1.25rem; font-weight: 600;
  margin: 0; color: rgb(var(--c-ink-950));
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* ── Responsive ────────────────────────────────────────────────── */
@media (max-width:68rem) {
  .fs-or-parts-cols { display: none; }
  .fs-or-part { grid-template-columns: 11rem 1fr; grid-template-areas: 'plate body' 'epc fig'; }
  .fs-or-part-plate { grid-area: plate; }
  .fs-or-part-body { grid-area: body; }
  .fs-or-part-epc { grid-area: epc; }
  .fs-or-part-fig { grid-area: fig; text-align: right; align-self: end; }
  .fs-or-arow { grid-template-columns: 7rem 1fr; }
  .fs-or-arow-facts { grid-column: 1 / -1; }
  .fs-or-docket-body, .fs-or-memo-body { grid-template-columns: 1fr; }
  .fs-or-docket-r { order: -1; min-height: 14rem; border-left: 0; border-bottom: 1px solid rgb(var(--c-line)); }
}
@media (max-width: 44rem) {
  .fs-or-ix { grid-template-columns: 2.2rem 1fr auto; }
  .fs-or-ix-lead { display: none; }
  .fs-or-reg-cols { display: none; }
  .fs-or-reg-row { grid-template-columns: 1fr; gap: .3rem; }
  .fs-or-reg-no { text-align: left; }
  .fs-or-line { grid-template-columns: 1fr; }
  .fs-or-line-r { text-align: left; }
}
@media (max-width: 30rem) {
  .fs-or-part { grid-template-columns: 1fr; grid-template-areas: 'plate' 'body' 'fig' 'epc'; }
  .fs-or-part-fig { text-align: left; }
  .fs-or-arow { grid-template-columns: 1fr; }
  .fs-or-val-form { flex-direction: column; align-items: stretch; }
  .fs-or-btn { justify-content: center; }
  .fs-or-memo-sign { margin-left: 0; }
}
/* FIX ROUND 1 (2026-10-02), theme-chrome batch 5 Task 2: the above is a
   viewport @media query, blind to the editor's simulated mobile canvas
   the same way HEADER_NAV_CSS's nav-hide rule was (menu-styles.ts) —
   the device toggle sets a maxWidth on an in-page wrapper while the
   real browser viewport stays wide, so @media never fires there.
   CDP-measured: on the editor's mobile canvas .fs-or-part stayed on
   its UNNARROWED 4-column grid (13rem 1fr 7rem 11rem), 335px wider
   than the canvas. fs-editor-canvas is the named container
   HEADER_NAV_CSS already declares (always loaded); reusing it here
   needs no new container-type declaration. Scoped to
   [data-fs-editor-frame] so real pages keep using the @media rule
   above untouched. */
@container fs-editor-canvas (max-width: 30rem) {
  [data-fs-editor-frame] .fs-or-part { grid-template-columns: 1fr; grid-template-areas: 'plate' 'body' 'fig' 'epc'; }
  [data-fs-editor-frame] .fs-or-part-fig { text-align: left; }
  [data-fs-editor-frame] .fs-or-arow { grid-template-columns: 1fr; }
}

/* ── Motion ────────────────────────────────────────────────────── */
/* One grammar: a row's rule thickens and the sheet lifts a hair, the
   way a page separates when you lift it. No scale, no rotation. */
.fs-or-anim .fs-or-part,
.fs-or-anim .fs-or-line,
.fs-or-anim .fs-or-reg-row,
.fs-or-anim .fs-or-arow,
.fs-or-anim .fs-or-ix {
  transition: background-color var(--fs-motion-fast, 180ms) var(--fs-ease-out, cubic-bezier(.2,.7,.3,1)),
              box-shadow var(--fs-motion-fast, 180ms) var(--fs-ease-out, cubic-bezier(.2,.7,.3,1));
}
.fs-or-anim .fs-or-part:hover,
.fs-or-anim .fs-or-line:hover,
.fs-or-anim .fs-or-reg-row:hover,
.fs-or-anim .fs-or-arow:hover,
.fs-or-anim .fs-or-ix:hover {
  background-color: rgb(var(--c-brand-50) / .5);
  box-shadow: inset 3px 0 0 rgb(var(--c-accent));
}
@media (prefers-reduced-motion: reduce) {
  .fs-or-anim .fs-or-part,
  .fs-or-anim .fs-or-line,
  .fs-or-anim .fs-or-reg-row,
  .fs-or-anim .fs-or-arow { transition: none; }
}

/* ── The hero photograph in dark mode ──────────────────────────── */
/* MEASURED, both modes. The shared hero draws its scrim from the
   ink-950 ramp, and --c-ink-950 is a PALETTE channel: near-black on a
   light palette, near-white on a dark one. In dark mode the scrim
   inverted to a pale wash under white type and the headline was barely
   legible. Pinned to a constant — raw channels, not tokens, BECAUSE
   being mode-invariant is the requirement. Type over a photograph does
   not flip when the page does. Sixth independent request for a shared
   --c-scrim / --c-on-media pair in apply.ts; the generic fix belongs
   there, not in a seventh theme-scoped override. */
[data-fs-theme='oriel'] .fs-hero-full-scrim {
  background-image: linear-gradient(
    to top,
    rgb(12 18 26 / .90) 0%,
    rgb(12 18 26 / .68) 40%,
    rgb(12 18 26 / .28) 74%,
    rgb(12 18 26 / .10) 100%);
}

/* ── Wireframe ─────────────────────────────────────────────────── */
[data-render="wireframe"] .fs-or,
.fs-or-wire { background: #fff !important; color: #111 !important; }
[data-render="wireframe"] .fs-or .fs-or-docket,
[data-render="wireframe"] .fs-or .fs-or-memo {
  background: #fff !important; border: 1px solid #111 !important;
}
[data-render="wireframe"] .fs-or .fs-or-memo-bar { background: #111 !important; }
[data-render="wireframe"] .fs-or .fs-or-ph {
  background: repeating-linear-gradient(45deg, #eee 0 6px, #fff 6px 12px) !important;
}

/* ── favOrielFooter (theme-chrome batch 5, Oriel) ──────────────────
   The band is the full-bleed container fs-or-ft; the content box is the
   named container fs-or-ft-in, which narrows with the site's Layout. */
.fs-or-ft{container-type:inline-size;container-name:fs-or-ft;padding:0 clamp(1rem,4vw,2.5rem);background:rgb(var(--c-paper));box-shadow:inset 0 1px 0 rgb(var(--c-line-soft));--or-ft-rule:rgb(var(--c-line));--or-ft-ink2:rgb(var(--c-ink-700));--or-ft-ref:rgb(var(--c-ink-400));--or-ft-eye:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-or-ft-in{container-type:inline-size;container-name:fs-or-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:58px 30px;font-size:15px;line-height:1.55}
.fs-or-ft-bar{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px 18px;padding-bottom:9px;border-bottom:2px solid rgb(var(--c-ink-950))}
.fs-or-ft-eyebrow{margin:0;font-weight:700;font-size:11px;line-height:1.3;letter-spacing:.16em;text-transform:uppercase;color:var(--or-ft-eye)}
.fs-or-ft-ref{margin:0;font-weight:600;font-size:10.5px;line-height:1.3;letter-spacing:.12em;text-transform:uppercase;color:var(--or-ft-ref);font-variant-numeric:tabular-nums}
.fs-or-ft-part{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px 40px;padding:22px 0 24px;border-bottom:1px solid var(--or-ft-rule)}
.fs-or-ft-name{margin:0;font-family:var(--font-display, "Bodoni Moda","Bodoni 72",Didot,Georgia,serif);font-weight:600;font-size:31px;line-height:1.12;letter-spacing:-.01em;text-wrap:balance}
.fs-or-ft-sub{margin:9px 0 0;font-size:14px;color:var(--or-ft-ink2)}
.fs-or-ft-fig{margin:0;text-align:right}
.fs-or-ft-q{display:block;font-weight:600;font-size:10.5px;line-height:1.3;letter-spacing:.12em;text-transform:uppercase;color:var(--or-ft-ref)}
.fs-or-ft-v{display:block;margin-top:7px;font-family:var(--font-display, "Bodoni Moda","Bodoni 72",Didot,Georgia,serif);font-weight:600;font-size:38px;line-height:1;font-variant-numeric:tabular-nums;color:rgb(var(--c-ink-950));text-decoration:none}
.fs-or-ft-cols{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr) minmax(0,1.3fr);gap:0 clamp(24px,3.5cqi,48px);padding-top:26px}
.fs-or-ft-col{min-width:0}
.fs-or-ft-h{margin:0 0 8px;padding-bottom:8px;border-bottom:1px solid var(--or-ft-rule);font-weight:700;font-size:10px;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;color:var(--or-ft-ref)}
.fs-or-ft-list{list-style:none;margin:0;padding-top:6px}
.fs-or-ft-li{position:relative;padding:6px 0 6px 16px;font-size:14.5px}
.fs-or-ft-li::before{content:"";position:absolute;left:0;top:1.02em;width:7px;height:1px;background:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-or-ft-link{color:rgb(var(--c-ink-950));text-decoration:none}
.fs-or-ft-link:hover{text-decoration:underline;text-underline-offset:3px}
.fs-or-ft-more .fs-or-ft-link,
.fs-or-ft-more .fs-or-ft-dot{color:var(--or-ft-ink2)}
.fs-or-ft-facts{margin:0}
.fs-or-ft-fact{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 0;border-bottom:1px solid var(--or-ft-rule);font-size:14px}
.fs-or-ft-fact:first-child{border-top:0}
.fs-or-ft-fk{margin:0;color:var(--or-ft-ref)}
.fs-or-ft-fv{margin:0;font-weight:700;text-align:right;font-variant-numeric:tabular-nums}
.fs-or-ft-p{margin:12px 0 0;font-size:13.5px;line-height:1.55;color:var(--or-ft-ink2)}
.fs-or-ft-chk{display:grid;align-content:start}
.fs-or-ft-chk .fs-or-ft-regr{padding:11px 0 10px}
.fs-or-ft-chk .fs-or-ft-regr:last-child{border-bottom:0}
.fs-or-ft-regr{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:3px 12px;padding:12px 0 11px;border-bottom:1px solid var(--or-ft-rule)}
.fs-or-ft-regn{font-weight:600;font-size:15.5px;line-height:1.3;font-family:var(--font-display, "Bodoni Moda","Bodoni 72",Didot,Georgia,serif);color:rgb(var(--c-ink-950));text-decoration:underline;text-decoration-color:rgb(var(--c-accent, var(--c-brand-600)));text-decoration-thickness:1px;text-underline-offset:4px}
.fs-or-ft-regn .fs-or-ico{display:inline-block;width:11px;height:11px;margin-left:4px;vertical-align:0;color:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-or-ft-regno{font-weight:700;font-size:12px;line-height:1.3;letter-spacing:.06em;font-variant-numeric:tabular-nums;color:rgb(var(--c-ink-950))}
.fs-or-ft-legal{display:flex;flex-wrap:wrap;gap:6px 20px;margin:26px 0 0;padding-top:13px;border-top:2px solid rgb(var(--c-ink-950));font-size:12.5px;color:var(--or-ft-ref)}
.fs-or-ft-legal-t{margin-right:auto;color:inherit}
.fs-or-ft-legal-a{color:inherit;text-decoration:none}
.fs-or-ft-legal-a:hover{color:rgb(var(--c-ink-950))}
@container fs-or-ft (max-width: 40rem){
  .fs-or-ft-in{padding-block:40px 26px}
}
@container fs-or-ft-in (max-width: 56rem){
  .fs-or-ft-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-or-ft-chk{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px;margin-top:22px}
  .fs-or-ft-chk .fs-or-ft-h{grid-column:1/-1}
  .fs-or-ft-chk .fs-or-ft-regr{grid-template-columns:minmax(0,1fr);border-bottom:0}
}
@container fs-or-ft (max-width: 48rem){
  .fs-or-ft-part{grid-template-columns:minmax(0,1fr)}
  .fs-or-ft-fig{text-align:left}
  .fs-or-ft-cols{grid-template-columns:minmax(0,1fr);row-gap:26px}
  .fs-or-ft-chk{grid-column:auto;margin-top:0}
}
@container fs-or-ft (max-width: 30rem){
  .fs-or-ft-name{font-size:25px}
  .fs-or-ft-v{font-size:32px}
  .fs-or-ft-chk{grid-template-columns:minmax(0,1fr)}
  .fs-or-ft-chk .fs-or-ft-regr{grid-template-columns:minmax(0,1fr) auto;border-bottom:1px solid var(--or-ft-rule)}
  .fs-or-ft-chk .fs-or-ft-regr:last-child{border-bottom:0}
  .fs-or-ft-legal-t{flex-basis:100%}
}


/* ── The sheet ─────────────────────────────────────────────────── */
.fs-jb {
  position: relative;
  isolation: isolate;
  background: rgb(var(--c-paper));
  color: rgb(var(--c-ink-950));
}
.fs-jb * { box-sizing: border-box; }
.fs-jb-shell {
  max-width:var(--fs-layout-max,72rem);
  margin-inline: auto;
  padding: var(--fs-space-section, clamp(2.5rem, 5vw, 4rem)) clamp(1rem, 4vw, 2.5rem);
}
.fs-jb-rates-section, .fs-jb-steps-section { background: rgb(var(--c-paper-soft)); }

/* Two soft-ground sheets stacked directly on top of each other put their
   two lots of section padding back to back — 128px of empty grey that
   reads as a hole in the band rather than as breathing room. Where the
   ground CHANGES between sections the same gap reads as intended, so
   this only collapses the join between two of the soft ones.
   data-fs-blocktype is SectionRenderer's own per-section stamp and is
   the only place these are DOM siblings: the anchor div inside it is a
   child, so an adjacent-sibling selector cannot see across two sections
   at any level below this one. (No backticks in this file's comments —
   the whole sheet is one template literal, PITFALLS U12.) */
:is([data-fs-blocktype='favJobRates'], [data-fs-blocktype='favJobSteps'])
  + :is([data-fs-blocktype='favJobRates'], [data-fs-blocktype='favJobSteps'])
  .fs-jb-shell { padding-top: 0; }

.fs-jb-ico { width: 1em; height: 1em; flex: none; }

/* The pad itself: a bordered sheet with a ruled title bar. */
.fs-jb-sheet {
  border: 2px solid rgb(var(--c-ink-950));
  border-radius: var(--fs-radius-card, 2px);
  background: rgb(var(--c-paper));
  overflow: hidden;
}
.fs-jb-sheet-done { background: rgb(var(--c-paper-soft)); }
.fs-jb-bar {
  display: flex; align-items: baseline; justify-content: space-between; gap: 1rem;
  padding: .55rem clamp(.85rem, 2vw, 1.35rem);
  background: rgb(var(--c-ink-950));
  color: rgb(var(--c-paper));
}
.fs-jb-bar-t,
.fs-jb-bar-t > span {
  font-family: var(--font-display);
  font-size: .8125rem; font-weight: 700;
  letter-spacing: .18em; text-transform: uppercase;
}
.fs-jb-bar-r {
  font-size: .6875rem; letter-spacing: .12em; text-transform: uppercase;
  color: rgb(var(--c-paper) / .72);
  font-variant-numeric: tabular-nums;
}
.fs-jb-lede {
  font-size: .9375rem; line-height: 1.55; color: rgb(var(--c-ink-700));
  margin: 0; padding: clamp(.85rem, 2vw, 1.25rem) clamp(.85rem, 2vw, 1.35rem) 0;
  max-width: var(--fs-measure, 68ch);
}

/* ── The worksheet FIELD — the unit everything is built from ───── */
.fs-jb-field {
  position: relative;
  border-right: 1px solid rgb(var(--c-line));
  border-bottom: 1px solid rgb(var(--c-line));
  padding: 1.4rem .9rem .8rem;
  min-width: 0;
}
.fs-jb-field-l {
  position: absolute; top: .4rem; left: .9rem;
  font-size: .5625rem; letter-spacing: .14em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-jb-field-v,
.fs-jb-field-v > span {
  font-family: var(--font-display);
  font-size: 1.0625rem; font-weight: 600; line-height: 1.25;
  color: rgb(var(--c-ink-950));
}

/* ── Buttons ───────────────────────────────────────────────────── */
.fs-jb-btn {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .75rem 1.25rem;
  border-radius: var(--fs-radius-control, 2px);
  font-family: var(--font-display);
  font-size: .9375rem; font-weight: 700; letter-spacing: .04em;
  border: 2px solid transparent; text-decoration: none;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.fs-jb-btn-solid {
  background: rgb(var(--c-brand-600));
  color: var(--fs-on-brand, rgb(var(--c-paper)));
  border-color: rgb(var(--c-brand-600));
}
.fs-jb-btn-ghost { border-color: rgb(var(--c-ink-950)); color: rgb(var(--c-ink-950)); }
/* The rubber stamp: set at an angle, outlined, the way one lands. */
.fs-jb-stamp {
  margin-left: auto;
  border: 2px solid rgb(var(--c-accent));
  color: rgb(var(--c-accent));
  font-family: var(--font-display);
  font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
  padding: .3rem .6rem;
  transform: rotate(-3deg);
}

/* ══ favJobHero ════════════════════════════════════════════════ */
.fs-jb-hero-grid {
  display: grid; grid-template-columns: repeat(4, 1fr);
  border-bottom: 0;
}
.fs-jb-hero-grid > .fs-jb-field:last-child { border-right: 0; }
.fs-jb-hero-main > .fs-jb-field { border-right: 0; padding: 1.6rem clamp(.9rem, 2.5vw, 1.5rem) 1.4rem; }
.fs-jb-h1,
.fs-jb-h1 > span {
  font-family: var(--font-display);
  font-size: var(--fs-type-display, clamp(2rem, 5.2vw, 3.4rem));
  font-weight: 700; line-height: 1.04; letter-spacing: -.015em;
  margin: 0; color: rgb(var(--c-ink-950)); text-wrap: balance;
}
.fs-jb-hero-p {
  font-size: 1rem; line-height: 1.55; color: rgb(var(--c-ink-700));
  margin: .9rem 0 0; max-width: var(--fs-measure, 62ch);
}
.fs-jb-hero-foot {
  display: flex; align-items: center; gap: .7rem; flex-wrap: wrap;
  padding: clamp(.85rem, 2vw, 1.2rem) clamp(.85rem, 2vw, 1.35rem);
  border-top: 2px dashed rgb(var(--c-line));
}

/* ══ favJobRates — worksheet cells ═════════════════════════════ */
.fs-jb-cells {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  margin-top: clamp(.85rem, 2vw, 1.25rem);
  border-top: 1px solid rgb(var(--c-line));
}
.fs-jb-cell {
  position: relative;
  padding: 1.5rem 1rem 1.1rem;
  border-right: 1px solid rgb(var(--c-line));
  border-bottom: 1px solid rgb(var(--c-line));
  min-width: 0;
}
.fs-jb-cell-l {
  position: absolute; top: .45rem; left: 1rem;
  font-size: .5625rem; letter-spacing: .14em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-jb-cell-v,
.fs-jb-cell-v > span {
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 3.4vw, 2.5rem); font-weight: 700; line-height: 1;
  margin: 0; color: rgb(var(--c-ink-950));
  font-variant-numeric: tabular-nums;
}
.fs-jb-cell-n { font-size: .75rem; line-height: 1.45; color: rgb(var(--c-ink-700)); margin: .5rem 0 0; }

/* ══ favJobCert — certificate cells ════════════════════════════ */
.fs-jb-certs {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  margin-top: clamp(.85rem, 2vw, 1.25rem);
  border-top: 1px solid rgb(var(--c-line));
}
.fs-jb-cert {
  padding: 1.1rem 1rem;
  border-right: 1px solid rgb(var(--c-line));
  border-bottom: 1px solid rgb(var(--c-line));
  min-width: 0;
}
/* The number is the point of the block, so it is the biggest thing in
   the cell — not the body's name and not a logo. */
.fs-jb-cert-no,
.fs-jb-cert-no > span {
  display: block;
  font-family: var(--font-display);
  font-size: 1.375rem; font-weight: 700; line-height: 1;
  color: rgb(var(--c-accent));
  font-variant-numeric: tabular-nums; letter-spacing: .02em;
}
.fs-jb-cert-b,
.fs-jb-cert-b > span {
  font-family: var(--font-display);
  font-size: .9375rem; font-weight: 600; line-height: 1.25;
  margin: .45rem 0 0; color: rgb(var(--c-ink-950));
}
.fs-jb-cert-b > a {
  color: inherit; text-decoration: none;
  display: inline-flex; align-items: center; gap: .3rem;
  border-bottom: 1px solid rgb(var(--c-accent));
}
.fs-jb-cert-w { font-size: .75rem; line-height: 1.45; color: rgb(var(--c-ink-700)); margin: .4rem 0 0; }

/* ══ favJobSteps — numbered worksheet stages ═══════════════════ */
.fs-jb-steps { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgb(var(--c-line)); }
.fs-jb-step {
  display: grid; grid-template-columns: 3.2rem 1fr 6rem;
  gap: .75rem; align-items: baseline;
  padding: .95rem clamp(.85rem, 2vw, 1.35rem);
  border-bottom: 1px solid rgb(var(--c-line));
}
.fs-jb-step-n {
  font-family: var(--font-display);
  font-size: 1.125rem; font-weight: 700;
  color: rgb(var(--c-accent));
  font-variant-numeric: tabular-nums;
}
.fs-jb-step-t,
.fs-jb-step-t > span {
  font-family: var(--font-display);
  font-size: 1.0625rem; font-weight: 600; line-height: 1.25;
  margin: 0; color: rgb(var(--c-ink-950));
}
.fs-jb-step-d { font-size: .8125rem; line-height: 1.5; color: rgb(var(--c-ink-700)); margin: .25rem 0 0; }
.fs-jb-step-m {
  display: inline-flex; align-items: center; gap: .3rem; justify-content: flex-end;
  font-size: .75rem; color: rgb(var(--c-ink-400));
  font-variant-numeric: tabular-nums;
}

/* ══ favJobSignoff — the completed sheet ═══════════════════════ */
.fs-jb-signoff {
  display: grid; grid-template-columns: 1.35fr 1fr;
  gap: clamp(1rem, 3vw, 2.25rem);
  padding: clamp(1.1rem, 2.6vw, 1.9rem) clamp(.85rem, 2vw, 1.35rem);
}
.fs-jb-h2,
.fs-jb-h2 > span {
  font-family: var(--font-display);
  font-size: var(--fs-type-h2, clamp(1.5rem, 3vw, 2.1rem));
  font-weight: 700; line-height: 1.12; letter-spacing: -.01em;
  margin: 0; color: rgb(var(--c-ink-950)); text-wrap: balance;
}
.fs-jb-signoff-l > .fs-jb-lede { padding: .7rem 0 0; }
.fs-jb-signoff-act { display: flex; gap: .7rem; flex-wrap: wrap; margin-top: 1.2rem; }
.fs-jb-signoff-facts { margin: 0; display: grid; gap: 0; align-content: start; }
.fs-jb-signoff-facts > div {
  display: flex; justify-content: space-between; gap: 1rem;
  padding: .5rem 0;
  border-bottom: 1px solid rgb(var(--c-line));
  font-size: .8125rem;
}
.fs-jb-signoff-facts > div:first-child { border-top: 1px solid rgb(var(--c-line)); }
.fs-jb-signoff-facts dt { margin: 0; color: rgb(var(--c-ink-400)); }
.fs-jb-signoff-facts dd {
  margin: 0; color: rgb(var(--c-ink-950)); font-weight: 700;
  font-variant-numeric: tabular-nums; text-align: right;
}
/* The signature strip, on a perforation. */
.fs-jb-sign {
  display: flex; align-items: baseline; gap: .9rem; flex-wrap: wrap;
  padding: .9rem clamp(.85rem, 2vw, 1.35rem);
  border-top: 2px dashed rgb(var(--c-line));
}
.fs-jb-sign-l {
  font-size: .5625rem; letter-spacing: .14em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-jb-sign-rule { flex: 1 1 8rem; border-bottom: 1px solid rgb(var(--c-ink-950)); min-width: 6rem; }
.fs-jb-sign-d { font-size: .6875rem; color: rgb(var(--c-ink-400)); font-variant-numeric: tabular-nums; }

/* ── Responsive ────────────────────────────────────────────────── */
@media (max-width:60rem) {
  .fs-jb-hero-grid { grid-template-columns: repeat(2, 1fr); }
  .fs-jb-hero-grid > .fs-jb-field:nth-child(2n) { border-right: 0; }
  .fs-jb-signoff { grid-template-columns: 1fr; }
}
@media (max-width: 40rem) {
  .fs-jb-step { grid-template-columns: 2.4rem 1fr; }
  .fs-jb-step-m { grid-column: 2; justify-content: flex-start; }
  .fs-jb-hero-foot { flex-direction: column; align-items: stretch; }
  .fs-jb-btn { justify-content: center; }
  .fs-jb-stamp { margin-left: 0; align-self: flex-start; }
}
@media (max-width: 26rem) {
  .fs-jb-hero-grid { grid-template-columns: 1fr; }
  .fs-jb-hero-grid > .fs-jb-field { border-right: 0; }
}

/* ── Motion ────────────────────────────────────────────────────── */
/* One grammar: a cell fills, like a highlighter passing over the pad. */
.fs-jb-anim .fs-jb-cell,
.fs-jb-anim .fs-jb-cert,
.fs-jb-anim .fs-jb-step {
  transition: background-color var(--fs-motion-fast, 170ms) var(--fs-ease-out, cubic-bezier(.2,.7,.3,1));
}
.fs-jb-anim .fs-jb-cell:hover,
.fs-jb-anim .fs-jb-cert:hover,
.fs-jb-anim .fs-jb-step:hover { background-color: rgb(var(--c-brand-50) / .6); }
@media (prefers-reduced-motion: reduce) {
  .fs-jb-anim .fs-jb-cell,
  .fs-jb-anim .fs-jb-cert,
  .fs-jb-anim .fs-jb-step { transition: none; }
}

/* ══ favJobFooter — the customer copy of the job sheet ═════════ */
.fs-jb-ft{container-type:inline-size;padding:48px clamp(1rem,4vw,2.5rem) 36px;background:rgb(var(--c-paper-soft))}
.fs-jb-ft-in{max-width:var(--fs-layout-max,72rem);margin-inline:auto}
.fs-jb-ft-sheet{background:rgb(var(--c-paper));border:2px solid rgb(var(--c-ink-950))}
.fs-jb-ft-bar{
  display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  padding:.55rem clamp(.85rem,2vw,1.35rem);
  background:rgb(var(--c-ink-950));color:rgb(var(--c-paper));
}
.fs-jb-ft-bar-t{
  font-family:var(--font-display);font-size:.8125rem;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;
}
.fs-jb-ft-bar-r{
  font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;
  color:rgb(var(--c-paper) / .72);
}
.fs-jb-ft-fields{
  display:grid;grid-template-columns:1fr 1.7fr 1fr .6fr;
  border-bottom:1px solid rgb(var(--c-line));
}
.fs-jb-ft-field{position:relative;min-width:0;padding:28px 18px 14px;border-right:1px solid rgb(var(--c-line))}
.fs-jb-ft-field:last-child{border-right:0}
.fs-jb-ft-fl{
  position:absolute;top:.4rem;left:.9rem;
  font-size:.5625rem;letter-spacing:.14em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-jb-ft-fv{
  font-family:var(--font-display);font-weight:600;font-size:18px;line-height:1.3;
  font-variant-numeric:tabular-nums;color:rgb(var(--c-ink-950));margin:0;
}
.fs-jb-ft-cols{display:grid;grid-template-columns:1fr 1.15fr 1.1fr}
.fs-jb-ft-col{padding:20px 18px 22px;border-right:1px solid rgb(var(--c-line))}
.fs-jb-ft-col:last-child{border-right:0}
.fs-jb-ft-col+.fs-jb-ft-col{border-left:0}
.fs-jb-ft-h{
  margin:0 0 10px;padding-bottom:9px;border-bottom:1px solid rgb(var(--c-line));
  font-family:var(--font-display);font-weight:700;font-size:12.5px;line-height:1;
  letter-spacing:.18em;text-transform:uppercase;color:rgb(var(--c-ink-950));
}
.fs-jb-ft-list{list-style:none;margin:0;padding:0}
.fs-jb-ft-li{padding-block:5px;font-size:14.5px;color:rgb(var(--c-ink-700))}
.fs-jb-ft-link{color:rgb(var(--c-ink-950));text-decoration:none}
.fs-jb-ft-link:hover{text-decoration:underline}
.fs-jb-ft-p{margin:0;font-size:14.5px;color:rgb(var(--c-ink-950))}
.fs-jb-ft-p.fs-jb-ft-note{margin-top:8px;font-size:13.5px;color:rgb(var(--c-ink-700))}
.fs-jb-ft-certs{list-style:none;margin:0;padding:0}
.fs-jb-ft-cert{
  display:flex;flex-direction:column;align-items:flex-start;gap:3px;
  padding-block:8px;border-bottom:1px solid rgb(var(--c-line));
}
.fs-jb-ft-cert:last-child{border-bottom:0}
.fs-jb-ft-cert-no{
  font-family:var(--font-display);font-weight:700;font-size:21px;line-height:1;
  color:rgb(var(--c-ink-950));font-variant-numeric:tabular-nums;letter-spacing:.02em;
}
.fs-jb-ft-cert-body{font-size:13.5px;color:rgb(var(--c-ink-700))}
.fs-jb-ft-sign{
  display:flex;align-items:baseline;gap:.9rem;flex-wrap:wrap;
  padding:.9rem clamp(.85rem,2vw,1.35rem);
  border-top:2px dashed rgb(var(--c-line));
}
.fs-jb-ft-sign-l{
  font-size:.5625rem;letter-spacing:.14em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));
}
.fs-jb-ft-sign-rule{flex:1 1 8rem;border-bottom:1px solid rgb(var(--c-ink-950));min-width:6rem}
.fs-jb-ft-sign-m{font-size:.6875rem;color:rgb(var(--c-ink-400))}
.fs-jb-ft-stamp{
  margin-left:auto;background:rgb(var(--tp-stamp, var(--c-brand-600)));color:rgb(var(--c-paper));
  font-family:var(--font-display);font-weight:700;font-size:.75rem;letter-spacing:.12em;
  text-transform:uppercase;padding:.3rem .6rem;transform:rotate(-3deg);
}
.fs-jb-ft-legal{
  display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:14px;
  font-size:12.5px;color:rgb(var(--c-ink-700));
}
.fs-jb-ft-legal-t{color:inherit}
.fs-jb-ft-legal-a{color:inherit;text-decoration:none}
.fs-jb-ft-legal-a:hover{color:rgb(var(--c-ink-950))}

/* 48rem, chosen against the editor tablet canvas's measured footer
   content box (probe: 686px) — a margin of at least 24px either side
   of any real layout width. */
@container (max-width: 48rem){
  .fs-jb-ft-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-jb-ft-cols{grid-template-columns:1fr}
  .fs-jb-ft-col+.fs-jb-ft-col{border-left:0;border-top:1px solid rgb(var(--c-ink-950) / .16)}
  .fs-jb-ft-sign{flex-wrap:wrap}
}

/* ── Wireframe ─────────────────────────────────────────────────── */
[data-render="wireframe"] .fs-jb,
.fs-jb-wire { background: #fff !important; color: #111 !important; }
[data-render="wireframe"] .fs-jb .fs-jb-sheet { background: #fff !important; border-color: #111 !important; }
[data-render="wireframe"] .fs-jb .fs-jb-bar { background: #111 !important; }
[data-render="wireframe"] .fs-jb .fs-jb-stamp { border-color: #111 !important; color: #111 !important; }


/* ── The board ─────────────────────────────────────────────────── */
.fs-st {
  position: relative;
  isolation: isolate;
  background: rgb(var(--c-paper));
  color: rgb(var(--c-ink-950));
}
.fs-st * { box-sizing: border-box; }
.fs-st-shell {
  max-width:var(--fs-layout-max,74rem);
  margin-inline: auto;
  padding: var(--fs-space-section, clamp(2.5rem, 5vw, 4rem)) clamp(1rem, 4vw, 2.5rem);
}
.fs-st-spec-section, .fs-st-build-section { background: rgb(var(--c-paper-soft)); }

/* Two soft-ground sections stacked put two lots of section padding back
   to back, which reads as a hole rather than as air. Where the ground
   changes the same gap reads as intended, so only this join closes. */
:is([data-fs-blocktype='favStoneSpec'], [data-fs-blocktype='favStoneBuild'])
  + :is([data-fs-blocktype='favStoneSpec'], [data-fs-blocktype='favStoneBuild'])
  .fs-st-shell { padding-top: 0; }

.fs-st-board {
  position: relative;
  border: 1px solid rgb(var(--c-ink-950) / .22);
  border-radius: var(--fs-radius-card, 2px);
  background: rgb(var(--c-paper-soft));
  padding: clamp(1.5rem, 4vw, 3rem);
}
/* The screws that hold a real board together. Four on the board, two on
   each tile — enough to read as fixings, not so many it becomes a
   pattern. */
.fs-st-fix {
  position: absolute; width: .5rem; height: .5rem; border-radius: 50%;
  background: rgb(var(--c-ink-950) / .30);
  box-shadow: inset 0 0 0 1px rgb(var(--c-paper) / .55);
}
.fs-st-fix.is-tl { top: .6rem; left: .6rem; }
.fs-st-fix.is-tr { top: .6rem; right: .6rem; }
.fs-st-fix.is-bl { bottom: .6rem; left: .6rem; }
.fs-st-fix.is-br { bottom: .6rem; right: .6rem; }

/* ── Type ──────────────────────────────────────────────────────── */
.fs-st-eyebrow {
  display: block;
  font-family: var(--font-sans);
  font-size: .7rem; font-weight: 700;
  letter-spacing: .18em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-st-h1 {
  font-family: var(--font-display);
  margin: .6rem 0 0;
  font-size: clamp(2rem, 5.4vw, 3.6rem);
  line-height: 1.02; letter-spacing: -.015em; font-weight: 700;
  color: rgb(var(--c-ink-950)); text-wrap: balance; max-width: 20ch;
}
.fs-st-h2 {
  font-family: var(--font-display);
  margin: .5rem 0 0;
  font-size: clamp(1.4rem, 2.9vw, 2.1rem);
  line-height: 1.1; letter-spacing: -.012em; font-weight: 700;
  color: rgb(var(--c-ink-950)); text-wrap: balance; max-width: 26ch;
}
.fs-st-lede {
  margin: .75rem 0 0;
  font-size: var(--fs-type-body, 1rem); line-height: 1.6;
  color: rgb(var(--c-ink-700)); max-width: 56ch;
}
.fs-st-head { margin-bottom: clamp(1.5rem, 3vw, 2.25rem); }
.fs-st-note {
  margin-top: 1.25rem; max-width: 62ch;
  font-size: var(--fs-type-caption, .8125rem); line-height: 1.6;
  color: rgb(var(--c-ink-400));
}

/* ── Actions ───────────────────────────────────────────────────── */
.fs-st-acts { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.5rem; }
.fs-st-btn {
  display: inline-flex; align-items: center; gap: .45rem;
  padding: .7rem 1.25rem;
  border: 1px solid transparent;
  border-radius: var(--fs-radius-control, 2px);
  background: rgb(var(--c-brand-600));
  color: var(--fs-on-brand, rgb(var(--c-paper)));
  font-family: var(--font-sans);
  font-size: .8rem; font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase; text-decoration: none;
  transition: opacity var(--fs-motion-fast, 170ms) var(--fs-ease-out, ease);
}
.fs-st-btn:hover { opacity: .88; }
.fs-st-btn-ghost {
  background: transparent;
  border-color: rgb(var(--c-ink-950) / .35);
  color: rgb(var(--c-ink-950));
}

/* ── The drawn materials ───────────────────────────────────────── */
/* Each tile is layered gradients over the theme's ink, so it reads as
   the material in ANY palette. A photograph could not do that, and a
   photograph is also what this theme deliberately does not have. */
.fs-st-tile {
  position: relative;
  aspect-ratio: 1 / 1;
  border: 1px solid rgb(var(--c-ink-950) / .30);
  border-radius: var(--fs-radius-control, 2px);
  overflow: hidden;
}
/* Each material carries its OWN base tone as well as its own pattern.
   A single shared base with only the overlay changing produced six
   near-identical pale squares — limestone, granite and porcelain were
   indistinguishable at tile size, which defeats the entire block.
   Slate is genuinely dark, limestone genuinely light, and the drawing
   has to say so before the pattern is even legible. */
.fs-st-tile.is-granite {
  background-color: rgb(var(--c-ink-950) / .34);
  background-image:
    radial-gradient(circle at 22% 28%, rgb(var(--c-ink-950) / .55) 0 1.6px, transparent 1.9px),
    radial-gradient(circle at 68% 62%, rgb(var(--c-paper) / .60) 0 1.8px, transparent 2.1px),
    radial-gradient(circle at 44% 84%, rgb(var(--c-paper) / .42) 0 1.5px, transparent 1.8px),
    radial-gradient(circle at 86% 16%, rgb(var(--c-ink-950) / .45) 0 1.3px, transparent 1.6px);
  background-size: 13px 13px, 19px 19px, 17px 17px, 11px 11px;
}
.fs-st-tile.is-limestone {
  background-color: rgb(var(--c-ink-950) / .15);
  background-image:
    repeating-linear-gradient(177deg,
      rgb(var(--c-ink-950) / .13) 0 3px,
      transparent 3px 14px),
    radial-gradient(circle at 30% 40%, rgb(var(--c-ink-950) / .20) 0 2.4px, transparent 2.8px),
    radial-gradient(circle at 74% 70%, rgb(var(--c-paper) / .55) 0 3px, transparent 3.4px);
  background-size: auto, 27px 27px, 34px 34px;
}
.fs-st-tile.is-slate {
  background-color: rgb(var(--c-ink-950) / .62);
  background-image:
    repeating-linear-gradient(64deg,
      rgb(var(--c-paper) / .16) 0 2px,
      transparent 2px 9px),
    linear-gradient(150deg, rgb(var(--c-ink-950) / .45), transparent 68%);
}
.fs-st-tile.is-setts {
  background-color: rgb(var(--c-ink-950) / .42);
  background-image:
    linear-gradient(rgb(var(--c-ink-950) / .70) 2px, transparent 2px),
    linear-gradient(90deg, rgb(var(--c-ink-950) / .70) 2px, transparent 2px),
    radial-gradient(circle at 50% 42%, rgb(var(--c-paper) / .30) 0 5px, transparent 6px);
  background-size: 26px 20px, 26px 20px, 26px 20px;
  background-position: 0 0, 13px 0, 0 0;
}
.fs-st-tile.is-porcelain {
  background-color: rgb(var(--c-ink-950) / .11);
  background-image:
    repeating-linear-gradient(92deg,
      rgb(var(--c-ink-950) / .10) 0 1px,
      transparent 1px 19px),
    linear-gradient(202deg, rgb(var(--c-paper) / .75), transparent 58%);
}
.fs-st-tile.is-gravel {
  background-color: rgb(var(--c-ink-950) / .30);
  background-image:
    radial-gradient(circle at 18% 22%, rgb(var(--c-ink-950) / .55) 0 2.6px, transparent 3px),
    radial-gradient(circle at 62% 48%, rgb(var(--c-paper) / .55) 0 3px, transparent 3.4px),
    radial-gradient(circle at 38% 78%, rgb(var(--c-paper) / .38) 0 2.6px, transparent 3px),
    radial-gradient(circle at 86% 84%, rgb(var(--c-ink-950) / .45) 0 2.4px, transparent 2.8px);
  background-size: 15px 15px, 21px 21px, 18px 18px, 25px 25px;
}

/* ── The board grid ────────────────────────────────────────────── */
.fs-st-board-head { position: relative; max-width: min(46rem, var(--fs-layout-clamp, 46rem)); }
.fs-st-board-grid {
  display: grid; gap: clamp(.85rem, 2vw, 1.4rem);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: clamp(1.75rem, 4vw, 2.75rem);
}
@media (min-width: 640px) {
  .fs-st-board-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .fs-st-board-grid[data-n='5'], .fs-st-board-grid[data-n='6'] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.fs-st-sample { margin: 0; }
.fs-st-plate {
  display: block;
  margin-top: .5rem;
  padding: .4rem .55rem;
  border: 1px solid rgb(var(--c-ink-950) / .20);
  border-radius: var(--fs-radius-control, 2px);
  background: rgb(var(--c-paper));
}
.fs-st-plate-n {
  display: block;
  font-family: var(--font-sans);
  font-size: .68rem; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase;
  color: rgb(var(--c-ink-950)); line-height: 1.3;
}
.fs-st-plate-m {
  display: block; margin-top: .15rem;
  font-size: .68rem; letter-spacing: .04em;
  color: rgb(var(--c-ink-400)); font-variant-numeric: tabular-nums;
}

/* ── The spec schedule ─────────────────────────────────────────── */
.fs-st-spec { border-top: 2px solid rgb(var(--c-ink-950)); }
.fs-st-spec-hd, .fs-st-spec-row {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.2fr) minmax(0, .7fr) minmax(0, 1.1fr) minmax(0, .6fr);
  gap: .75rem;
  align-items: baseline;
  padding: .7rem .25rem;
  border-bottom: 1px solid rgb(var(--c-line));
}
.fs-st-spec-hd {
  font-family: var(--font-sans);
  font-size: .66rem; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-st-spec-name {
  display: flex; align-items: center; gap: .55rem;
  font-weight: 700; color: rgb(var(--c-ink-950));
  font-size: var(--fs-type-body, .95rem);
}
.fs-st-spec-c {
  font-size: var(--fs-type-caption, .8125rem);
  color: rgb(var(--c-ink-700));
}
.fs-st-spec-p {
  font-family: var(--font-display);
  font-size: 1.15rem; font-weight: 700;
  color: rgb(var(--c-ink-950));
  font-variant-numeric: tabular-nums; text-align: right;
}
.fs-st-num { text-align: right; }
/* The material, at the size a bullet would have been. */
.fs-st-chip {
  flex: none; width: 1.15rem; height: 1.15rem;
  border: 1px solid rgb(var(--c-ink-950) / .32);
  border-radius: 1px;
}
.fs-st-chip.is-granite { background-color: rgb(var(--c-ink-950) / .34); background-image: radial-gradient(circle at 30% 30%, rgb(var(--c-paper) / .6) 0 1.1px, transparent 1.3px); background-size: 5px 5px; }
.fs-st-chip.is-limestone { background-color: rgb(var(--c-ink-950) / .15); background-image: repeating-linear-gradient(177deg, rgb(var(--c-ink-950) / .16) 0 1px, transparent 1px 4px); }
.fs-st-chip.is-slate { background-color: rgb(var(--c-ink-950) / .62); background-image: repeating-linear-gradient(64deg, rgb(var(--c-paper) / .2) 0 1px, transparent 1px 4px); }
.fs-st-chip.is-setts { background-color: rgb(var(--c-ink-950) / .42); background-image: linear-gradient(rgb(var(--c-ink-950) / .7) 1px, transparent 1px), linear-gradient(90deg, rgb(var(--c-ink-950) / .7) 1px, transparent 1px); background-size: 6px 5px; }
.fs-st-chip.is-porcelain { background-color: rgb(var(--c-ink-950) / .11); background-image: linear-gradient(202deg, rgb(var(--c-paper) / .8), transparent 60%); }
.fs-st-chip.is-gravel { background-color: rgb(var(--c-ink-950) / .30); background-image: radial-gradient(circle at 40% 40%, rgb(var(--c-paper) / .5) 0 1.5px, transparent 1.8px); background-size: 6px 6px; }

@media (max-width: 720px) {
  .fs-st-spec-hd { display: none; }
  .fs-st-spec-row {
    grid-template-columns: minmax(0, 1fr) auto;
    row-gap: .2rem;
  }
  .fs-st-spec-name { grid-column: 1; }
  .fs-st-spec-p { grid-column: 2; grid-row: 1; }
  .fs-st-spec-c { grid-column: 1 / -1; }
}

/* ── Weathering ────────────────────────────────────────────────── */
.fs-st-weather {
  display: grid; gap: clamp(1rem, 2.5vw, 1.75rem);
  grid-template-columns: repeat(auto-fit, minmax(min(15rem, 100%), 1fr));
}
.fs-st-age { margin: 0; }
/* One drawn tile, three ages: the overlay lightens and greys with
   data-age, which is what four winters actually do to limestone. */
.fs-st-aged::after {
  content: ''; position: absolute; inset: 0;
  background: rgb(var(--c-paper) / var(--fs-st-fade, 0));
}
.fs-st-aged[data-age='1'] { --fs-st-fade: 0; }
.fs-st-aged[data-age='2'] { --fs-st-fade: .30; }
.fs-st-aged[data-age='3'] { --fs-st-fade: .52; }
.fs-st-aged[data-age='4'] { --fs-st-fade: .66; }
.fs-st-age figcaption { display: block; margin-top: .7rem; }
.fs-st-age-t {
  display: block;
  font-family: var(--font-display);
  font-size: 1.05rem; font-weight: 700; color: rgb(var(--c-ink-950));
}
.fs-st-age-b {
  display: block; margin-top: .2rem;
  font-size: var(--fs-type-caption, .8125rem); line-height: 1.6;
  color: rgb(var(--c-ink-700));
}

/* ── The section drawing ───────────────────────────────────────── */
.fs-st-build {
  display: grid; gap: clamp(1rem, 2.5vw, 1.6rem);
  grid-template-columns: repeat(auto-fit, minmax(min(16rem, 100%), 1fr));
}
.fs-st-case {
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-card, 2px);
  background: rgb(var(--c-paper));
  padding: 1rem;
}
.fs-st-case-hd {
  display: flex; align-items: baseline; justify-content: space-between; gap: .75rem;
}
.fs-st-case-u {
  font-family: var(--font-sans);
  font-size: .68rem; font-weight: 700;
  letter-spacing: .11em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-st-case-d {
  font-family: var(--font-display);
  font-size: 1.35rem; font-weight: 700; color: rgb(var(--c-ink-950));
  font-variant-numeric: tabular-nums;
}
/* The bar is the section: a thin surface course on top of a sub-base
   drawn to its real depth relative to the deepest case on the page. */
.fs-st-sect {
  position: relative;
  height: 7rem; margin: .7rem 0 .6rem;
  border: 1px solid rgb(var(--c-ink-950) / .22);
  border-radius: 1px;
  background: rgb(var(--c-ink-950) / .04);
  overflow: hidden;
}
.fs-st-sect-top {
  position: absolute; inset: 0 0 auto 0; height: .85rem;
  background: rgb(var(--c-brand-600));
}
.fs-st-sect-base {
  position: absolute; inset: .85rem 0 auto 0;
  height: var(--fs-st-depth, 40%);
  background-color: rgb(var(--c-ink-950) / .13);
  background-image:
    radial-gradient(circle at 25% 30%, rgb(var(--c-ink-950) / .30) 0 2px, transparent 2.4px),
    radial-gradient(circle at 70% 65%, rgb(var(--c-ink-950) / .24) 0 2.4px, transparent 2.8px);
  background-size: 14px 14px, 20px 20px;
}
.fs-st-sect-l {
  position: absolute; left: .55rem; bottom: .45rem;
  font-family: var(--font-sans);
  font-size: .64rem; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase;
  color: rgb(var(--c-ink-700));
}
.fs-st-case-m {
  font-size: var(--fs-type-caption, .8125rem); line-height: 1.6;
  color: rgb(var(--c-ink-700));
}

/* ── The take-off docket ───────────────────────────────────────── */
.fs-st-docket {
  border: 1px solid rgb(var(--c-ink-950) / .24);
  border-radius: var(--fs-radius-card, 2px);
  background: rgb(var(--c-paper-soft));
  overflow: hidden;
}
.fs-st-docket-bar {
  display: flex; align-items: baseline; justify-content: space-between; gap: 1rem;
  padding: .55rem clamp(.9rem, 2vw, 1.4rem);
  background: rgb(var(--c-ink-950));
  color: rgb(var(--c-paper));
}
.fs-st-docket-t, .fs-st-docket-r {
  font-family: var(--font-sans);
  font-size: .68rem; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase;
}
.fs-st-docket-r { opacity: .72; }
.fs-st-docket-body {
  display: grid; gap: clamp(1.25rem, 3vw, 2.5rem);
  padding: clamp(1.25rem, 3vw, 2.25rem);
}
@media (min-width: 820px) {
  .fs-st-docket-body { grid-template-columns: minmax(0, 1.2fr) minmax(0, .9fr); align-items: start; }
}
.fs-st-take { margin: 0; display: block; }
.fs-st-take > div {
  display: flex; align-items: baseline; justify-content: space-between; gap: 1rem;
  padding: .55rem 0;
  border-bottom: 1px solid rgb(var(--c-line));
}
.fs-st-take > div:last-child {
  border-bottom: 0; border-top: 2px solid rgb(var(--c-ink-950));
  margin-top: .3rem; padding-top: .7rem;
}
.fs-st-take dt {
  font-size: var(--fs-type-caption, .8125rem);
  color: rgb(var(--c-ink-700));
}
.fs-st-take dd {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1rem; font-weight: 700;
  color: rgb(var(--c-ink-950));
  font-variant-numeric: tabular-nums; text-align: right;
}
.fs-st-take > div:last-child dd { font-size: 1.3rem; }
.fs-st-docket-foot {
  display: flex; align-items: center; gap: .75rem;
  padding: .8rem clamp(.9rem, 2vw, 1.4rem);
  border-top: 1px dashed rgb(var(--c-ink-950) / .35);
}
.fs-st-docket-l, .fs-st-docket-m {
  font-family: var(--font-sans);
  font-size: .64rem; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-st-rule { flex: 1 1 4rem; border-bottom: 1px solid rgb(var(--c-ink-950) / .4); min-width: 3rem; }

/* ── favStoneFooter (theme-chrome batch 6, Northstone) ─────────────
   The yard's own board. fs-st-ft: the full-bleed band on the page
   ground under a soft rule (named container); fs-st-ft-in: the content
   box, which narrows with the Layout (named container). The board's four
   screws are painted as backgrounds; the chips are this family's own
   .fs-st-chip.is-*, sized down to the design's 11px. */
.fs-st-ft{container-type:inline-size;container-name:fs-st-ft;padding:0 clamp(1rem,4vw,2.5rem);background:rgb(var(--c-paper));border-top:1px solid var(--st-ft-rule);--st-ft-edge:rgb(var(--c-ink-950) / .22);--st-ft-plate-edge:rgb(var(--c-ink-950) / .2);--st-ft-rule:rgb(var(--c-ink-950) / .16);--st-ft-note:color-mix(in srgb, rgb(var(--c-ink-950)) 76%, rgb(var(--c-paper)));--st-ft-fix:color-mix(in srgb, rgb(var(--c-ink-950)) 34%, rgb(var(--c-paper-soft)));--st-ft-fix-rim:color-mix(in srgb, rgb(var(--c-ink-950)) 12%, rgb(var(--c-paper-soft)))}
.fs-st-ft:is(.dark *):not(.fs-preview-light *){--st-ft-edge:rgb(var(--c-ink-950) / .24);--st-ft-rule:rgb(var(--c-ink-950) / .18)}
.fs-st-ft-in{container-type:inline-size;container-name:fs-st-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:48px 34px}
.fs-st-ft-board{padding:28px 32px 30px;background:radial-gradient(circle at 12px 12px,var(--st-ft-fix) 0 2.7px,var(--st-ft-fix-rim) 3.1px 3.7px,transparent 4.2px),radial-gradient(circle at calc(100% - 12px) 12px,var(--st-ft-fix) 0 2.7px,var(--st-ft-fix-rim) 3.1px 3.7px,transparent 4.2px),radial-gradient(circle at 12px calc(100% - 12px),var(--st-ft-fix) 0 2.7px,var(--st-ft-fix-rim) 3.1px 3.7px,transparent 4.2px),radial-gradient(circle at calc(100% - 12px) calc(100% - 12px),var(--st-ft-fix) 0 2.7px,var(--st-ft-fix-rim) 3.1px 3.7px,transparent 4.2px),rgb(var(--c-paper-soft));border:1px solid var(--st-ft-edge)}
.fs-st-ft-chip{flex:none;width:11px;height:11px}
.fs-st-ft-plate{display:flex;flex-wrap:wrap;align-items:center;gap:8px 28px;padding:15px 20px;background:rgb(var(--c-paper));border:1px solid var(--st-ft-plate-edge)}
.fs-st-ft-id{display:grid;gap:4px;min-width:0}
.fs-st-ft-name{margin:0;font-family:var(--font-display, Rokkitt, 'Roboto Slab', Georgia, serif);font-weight:700;font-size:27px;line-height:1.05;color:rgb(var(--c-ink-950))}
.fs-st-ft-meta{margin:0;font-family:var(--font-sans);font-weight:700;font-size:11px;line-height:1.35;letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--c-ink-700))}
.fs-st-ft-blurb{margin:0;flex:1 1 16rem;max-width:36ch;font-size:13.5px;line-height:1.5;color:var(--st-ft-note)}
.fs-st-ft-tel{margin-left:auto;font-family:var(--font-display, Rokkitt, 'Roboto Slab', Georgia, serif);font-weight:700;font-size:22px;line-height:1;color:rgb(var(--c-ink-950));white-space:nowrap;font-variant-numeric:tabular-nums;text-decoration:none}
.fs-st-ft-cols{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr);gap:26px 36px;margin-top:26px}
.fs-st-ft-col{min-width:0}
.fs-st-ft-h{display:block;margin:0 0 14px;padding-bottom:9px;border-bottom:2px solid rgb(var(--c-ink-950));font-family:var(--font-sans);font-weight:700;font-size:11px;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--c-ink-700))}
.fs-st-ft-list{list-style:none;padding:0;margin:0}
.fs-st-ft-li{display:flex;align-items:center;gap:10px;padding-block:8px;border-bottom:1px solid var(--st-ft-rule);font-size:14.5px}
.fs-st-ft-link{color:rgb(var(--c-ink-950));text-decoration:none}
.fs-st-ft-link:hover{text-decoration:underline;text-underline-offset:3px}
.fs-st-ft-hrow{display:contents}
.fs-st-ft-more{margin:12px 0 0;display:flex;flex-wrap:wrap;gap:4px 16px;font-size:13.5px;color:var(--st-ft-note)}
.fs-st-ft-more-a{color:rgb(var(--c-ink-950));font-weight:600;text-decoration:none}
.fs-st-ft-more-a:hover{text-decoration:underline;text-underline-offset:3px}
.fs-st-ft-hours{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);font-size:14.5px;font-variant-numeric:tabular-nums}
.fs-st-ft-dt{padding:8px 16px 8px 0;border-bottom:1px solid var(--st-ft-rule);font-weight:700}
.fs-st-ft-dd{margin:0;padding-block:8px;border-bottom:1px solid var(--st-ft-rule)}
.fs-st-ft-p{margin:12px 0 0;max-width:40ch;font-size:13.5px;line-height:1.5;color:var(--st-ft-note)}
.fs-st-ft-certs{display:grid;gap:10px}
.fs-st-ft-cert{display:grid;gap:5px;min-width:0;padding:10px 13px 11px;background:rgb(var(--c-paper));border:1px solid var(--st-ft-plate-edge);color:rgb(var(--c-ink-950));text-decoration:none}
.fs-st-ft-cert-n{font-family:var(--font-sans);font-weight:700;font-size:10.5px;line-height:1.25;letter-spacing:.12em;text-transform:uppercase;color:rgb(var(--c-ink-700))}
.fs-st-ft-cert-v{font-family:var(--font-display, Rokkitt, 'Roboto Slab', Georgia, serif);font-weight:700;font-size:20px;line-height:1;font-variant-numeric:tabular-nums}
.fs-st-ft-cert:hover{border-color:rgb(var(--c-ink-950))}
.fs-st-ft-legal{margin-top:16px;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:12.5px;color:var(--st-ft-note)}
.fs-st-ft-legal-t{margin-right:auto}
.fs-st-ft-reg,.fs-st-ft-legal-a{color:rgb(var(--c-ink-950));text-decoration:none}
.fs-st-ft-reg:hover,.fs-st-ft-legal-a:hover{text-decoration:underline}
@container fs-st-ft (max-width: 40rem){
  .fs-st-ft-in{padding-block:34px 24px}
}
@container fs-st-ft-in (max-width: 56rem){
  .fs-st-ft-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-st-ft-col:nth-child(3){grid-column:1/-1}
  .fs-st-ft-certs{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@container fs-st-ft (max-width: 48rem){
  .fs-st-ft-board{padding:24px 22px 24px}
  .fs-st-ft-cols{grid-template-columns:minmax(0,1fr);gap:24px}
}
@container fs-st-ft (max-width: 30rem){
  .fs-st-ft-board{padding:22px 18px}
  .fs-st-ft-plate{padding:14px 16px}
  .fs-st-ft-tel{margin-left:0}
  .fs-st-ft-certs{grid-template-columns:minmax(0,1fr)}
}

/* ── Wireframe ─────────────────────────────────────────────────── */
[data-render="wireframe"] .fs-st .fs-st-tile,
[data-render="wireframe"] .fs-st .fs-st-chip,
[data-render="wireframe"] .fs-st .fs-st-sect-base { background-image: none !important; }
[data-render="wireframe"] .fs-st .fs-st-docket-bar { background: #111 !important; }


/* ── The card ──────────────────────────────────────────────────── */
.fs-sl {
  position: relative;
  isolation: isolate;
  background: rgb(var(--c-paper));
  color: rgb(var(--c-ink-950));
}
.fs-sl * { box-sizing: border-box; }
.fs-sl-shell {
  max-width:var(--fs-layout-max,68rem);
  margin-inline: auto;
  padding: var(--fs-space-section, clamp(2.5rem, 5vw, 4rem)) clamp(1rem, 4vw, 2.5rem);
}
.fs-sl-tariff-section, .fs-sl-column-section { background: rgb(var(--c-paper-soft)); }
/* R3 (theme-chrome batch 1, Task 10): each of these three roots is its
   own inline-size container so the price matrix, the formula rows and
   the completed-card columns collapse correctly inside the editor's
   simulated mobile/tablet canvas, where a viewport @media never fires
   (it only resizes a div, not the window) — see the @container blocks
   below, which replace this theme's old @media(max-width/min-width)
   rules at the same breakpoints, in rem. */
.fs-sl-tariff-section, .fs-sl-formula-section, .fs-sl-signoff-section { container-type: inline-size; }

/* Two soft-ground sections back to back stack two lots of section
   padding, which reads as a hole rather than as air. */
:is([data-fs-blocktype='favSalonTariff'], [data-fs-blocktype='favSalonColumn'])
  + :is([data-fs-blocktype='favSalonTariff'], [data-fs-blocktype='favSalonColumn'])
  .fs-sl-shell { padding-top: 0; }

.fs-sl-card {
  position: relative;
  margin-top: 1.1rem;             /* room for the tab to sit above it */
  padding: clamp(1.5rem, 4vw, 2.75rem);
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-card, 1rem);
  background: rgb(var(--c-paper-soft));
  box-shadow: var(--fs-shadow-card, none);
}
.fs-sl-card.is-flat { background: rgb(var(--c-paper)); }
.fs-sl-card.is-done { background: rgb(var(--c-paper-soft)); }

/* The tab. A filing tab overlaps the top edge of its card — that
   overlap is the whole signal, so it is offset out of the card rather
   than tucked inside it. */
.fs-sl-tab {
  position: absolute; top: -1.1rem; left: clamp(1.25rem, 4vw, 2.5rem);
  display: inline-block;
  padding: .3rem .95rem;
  border: 1px solid rgb(var(--c-line));
  border-bottom: 0;
  border-radius: var(--fs-radius-control, .5rem) var(--fs-radius-control, .5rem) 0 0;
  /* theme-chrome batch 1 (Task 10): raw brand behind paper text fails AA
     on some palettes (e.g. Rose Nude, 4.1:1) — deep brand, the same fill
     the header's maneTabs current tab and CTA use (--ms-deep, defined in
     mane-studio-chrome-styles.ts), clears it. */
  background: var(--ms-deep, color-mix(in srgb, rgb(var(--c-brand-600)) 78%, rgb(var(--c-ink-950))));
  color: var(--fs-on-brand, rgb(var(--c-paper)));
  font-family: var(--font-sans);
  font-size: .64rem; font-weight: 700;
  letter-spacing: .16em; text-transform: uppercase;
}

/* ── Type ──────────────────────────────────────────────────────── */
.fs-sl-eyebrow {
  display: block;
  font-family: var(--font-sans);
  font-size: .68rem; font-weight: 700;
  letter-spacing: .18em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-sl-h1 {
  font-family: var(--font-display);
  margin: 0;
  font-size: clamp(1.9rem, 4.8vw, 3.15rem);
  line-height: 1.08; letter-spacing: -.02em; font-weight: 700;
  color: rgb(var(--c-ink-950)); text-wrap: balance; max-width: 21ch;
}
.fs-sl-h2 {
  font-family: var(--font-display);
  margin: .45rem 0 0;
  font-size: clamp(1.35rem, 2.8vw, 2rem);
  line-height: 1.12; letter-spacing: -.015em; font-weight: 700;
  color: rgb(var(--c-ink-950)); text-wrap: balance; max-width: 26ch;
}
.fs-sl-lede {
  margin: .8rem 0 0;
  font-size: var(--fs-type-body, 1rem); line-height: 1.65;
  color: rgb(var(--c-ink-700)); max-width: 56ch;
}
.fs-sl-head { margin-bottom: clamp(1.4rem, 3vw, 2rem); }
.fs-sl-note {
  margin-top: 1.35rem; max-width: 62ch;
  font-size: var(--fs-type-caption, .8125rem); line-height: 1.65;
  color: rgb(var(--c-ink-400));
}

/* ── Actions ───────────────────────────────────────────────────── */
.fs-sl-acts { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.6rem; }
.fs-sl-btn {
  display: inline-flex; align-items: center; gap: .45rem;
  padding: .72rem 1.4rem;
  border: 1px solid transparent;
  border-radius: var(--fs-radius-pill, 999px);
  /* theme-chrome batch 1 (Task 10): same AA fix as .fs-sl-tab above —
     the "Book a chair" / "Book online" button. */
  background: var(--ms-deep, color-mix(in srgb, rgb(var(--c-brand-600)) 78%, rgb(var(--c-ink-950))));
  color: var(--fs-on-brand, rgb(var(--c-paper)));
  font-family: var(--font-sans);
  font-size: .8rem; font-weight: 700;
  letter-spacing: .05em; text-decoration: none;
  transition: opacity var(--fs-motion-fast, 170ms) var(--fs-ease-out, ease);
}
.fs-sl-btn:hover { opacity: .88; }
.fs-sl-btn-ghost {
  background: transparent;
  border-color: rgb(var(--c-ink-950) / .3);
  color: rgb(var(--c-ink-950));
}

/* ── The card head ─────────────────────────────────────────────── */
.fs-sl-card-meta {
  display: flex; flex-wrap: wrap; gap: .35rem 2rem;
  padding-bottom: 1.1rem;
  border-bottom: 1px solid rgb(var(--c-line));
}
.fs-sl-mrow { display: flex; align-items: baseline; gap: .5rem; }
.fs-sl-mk {
  font-family: var(--font-sans);
  font-size: .62rem; font-weight: 700;
  letter-spacing: .15em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-sl-mv {
  font-size: var(--fs-type-caption, .8125rem); font-weight: 600;
  color: rgb(var(--c-ink-950));
}

/* The ruled writing area. The rules run BEHIND the type at the card's
   own line height, which is what makes it read as written on rather
   than set into. */
.fs-sl-ruled {
  position: relative;
  padding: clamp(1.25rem, 3vw, 2rem) 0 clamp(1rem, 2.5vw, 1.5rem);
}
.fs-sl-ruled::before {
  content: ''; position: absolute; inset: 0;
  background-image: repeating-linear-gradient(
    to bottom,
    transparent 0 calc(1.75rem - 1px),
    rgb(var(--c-ink-950) / .07) calc(1.75rem - 1px) 1.75rem
  );
  pointer-events: none;
}
.fs-sl-ruled > * { position: relative; }

/* ── The shade ladder ──────────────────────────────────────────── */
/* Six steps of the theme's brand hue: the deep end mixed toward ink,
   the light end mixed toward paper. color-mix keeps every step on the
   palette, so the ladder is right in a warm theme and a cool one. */
.fs-sl-ladder {
  display: flex; align-items: center; flex-wrap: wrap; gap: .6rem 1rem;
  padding-top: 1.1rem;
  border-top: 1px solid rgb(var(--c-line));
}
.fs-sl-ladder-l, .fs-sl-ladder-r {
  font-family: var(--font-sans);
  font-size: .62rem; font-weight: 700;
  letter-spacing: .15em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-sl-discs { display: inline-flex; gap: .4rem; }
.fs-sl-shade { display: inline-flex; flex-direction: column; align-items: center; gap: .3rem; }
.fs-sl-disc {
  display: block; width: 1.6rem; height: 1.6rem;
  border-radius: 50%;
  border: 1px solid rgb(var(--c-ink-950) / .18);
  background: rgb(var(--c-brand-600));
}
.fs-sl-disc.is-l1 { background: color-mix(in srgb, rgb(var(--c-brand-600)) 55%, rgb(var(--c-ink-950))); }
.fs-sl-disc.is-l2 { background: color-mix(in srgb, rgb(var(--c-brand-600)) 78%, rgb(var(--c-ink-950))); }
.fs-sl-disc.is-l3 { background: rgb(var(--c-brand-600)); }
.fs-sl-disc.is-l4 { background: color-mix(in srgb, rgb(var(--c-brand-600)) 72%, rgb(var(--c-paper))); }
.fs-sl-disc.is-l5 { background: color-mix(in srgb, rgb(var(--c-brand-600)) 46%, rgb(var(--c-paper))); }
.fs-sl-disc.is-l6 { background: color-mix(in srgb, rgb(var(--c-brand-600)) 24%, rgb(var(--c-paper))); }
.fs-sl-disc-l {
  font-size: .6rem; font-weight: 700; letter-spacing: .06em;
  color: rgb(var(--c-ink-400)); font-variant-numeric: tabular-nums;
}

/* ── The price matrix ──────────────────────────────────────────── */
.fs-sl-matrix { border-top: 1px solid rgb(var(--c-ink-950) / .5); }
.fs-sl-mx-hd, .fs-sl-mx-row {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) repeat(3, minmax(0, .8fr));
  gap: .75rem;
  align-items: baseline;
  padding: .72rem .25rem;
  border-bottom: 1px solid rgb(var(--c-line));
}
.fs-sl-mx-hd {
  font-family: var(--font-sans);
  font-size: .6rem; font-weight: 700;
  letter-spacing: .13em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-sl-mx-s {
  font-weight: 600; color: rgb(var(--c-ink-950));
  font-size: var(--fs-type-body, .95rem);
}
.fs-sl-mx-v {
  font-family: var(--font-display);
  font-size: 1.05rem; font-weight: 700;
  color: rgb(var(--c-ink-950));
  font-variant-numeric: tabular-nums; text-align: right;
}
.fs-sl-num { text-align: right; }

/* R3 (theme-chrome batch 1, Task 10): a container query on the
   section's own root (.fs-sl-tariff-section, above) in place of the old
   @media(max-width:720px) — 45rem = the same 720px, queried on
   descendants only. */
@container (max-width: 45rem) {
  .fs-sl-mx-hd { display: none; }
  .fs-sl-mx-row { grid-template-columns: minmax(0, 1fr) repeat(3, auto); row-gap: .25rem; }
  .fs-sl-mx-s { grid-column: 1 / -1; }
  /* Without the header row the three figures need naming, so each
     carries its own length label on small screens. */
  .fs-sl-mx-v::before {
    content: attr(data-l);
    display: block;
    font-family: var(--font-sans);
    font-size: .55rem; font-weight: 700;
    letter-spacing: .12em; text-transform: uppercase;
    color: rgb(var(--c-ink-400));
  }
}

/* ── The formula rows ──────────────────────────────────────────── */
.fs-sl-formula { border-top: 1px solid rgb(var(--c-line)); }
.fs-sl-frow {
  display: grid;
  grid-template-columns: auto minmax(0, 1.3fr) minmax(0, 1.1fr) minmax(0, .6fr) minmax(0, .7fr);
  gap: .9rem; align-items: center;
  padding: .8rem .25rem;
  border-bottom: 1px solid rgb(var(--c-line));
}
.fs-sl-fstage { font-weight: 600; color: rgb(var(--c-ink-950)); font-size: var(--fs-type-body, .95rem); }
/* The mix is shorthand a colourist reads at a glance — tabular and
   monospaced, the way it is actually written on the card. */
.fs-sl-fmix {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: .8rem; letter-spacing: -.01em;
  color: rgb(var(--c-brand-700));
}
.fs-sl-fdev, .fs-sl-ftime {
  font-size: var(--fs-type-caption, .8125rem);
  color: rgb(var(--c-ink-700));
  font-variant-numeric: tabular-nums;
}
.fs-sl-ftime { text-align: right; }
/* R3, same as the price matrix above — the root is .fs-sl-formula-section. */
@container (max-width: 45rem) {
  .fs-sl-frow { grid-template-columns: auto minmax(0, 1fr); row-gap: .3rem; }
  .fs-sl-fmix, .fs-sl-fdev, .fs-sl-ftime { grid-column: 2; text-align: left; }
}

/* ── The column book ───────────────────────────────────────────── */
.fs-sl-columns {
  display: grid; gap: clamp(.9rem, 2vw, 1.4rem);
  grid-template-columns: repeat(auto-fit, minmax(min(14rem, 100%), 1fr));
}
.fs-sl-person {
  padding: 1.1rem;
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-card, 1rem);
  background: rgb(var(--c-paper));
}
.fs-sl-person-hd { padding-bottom: .6rem; border-bottom: 1px solid rgb(var(--c-line)); }
.fs-sl-person-n {
  display: block;
  font-family: var(--font-display);
  font-size: 1.1rem; font-weight: 700; color: rgb(var(--c-ink-950));
}
.fs-sl-person-r {
  display: block; margin-top: .1rem;
  font-family: var(--font-sans);
  font-size: .6rem; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-sl-person-d {
  margin-top: .7rem;
  font-size: var(--fs-type-caption, .8125rem); font-weight: 600;
  color: rgb(var(--c-brand-700)); letter-spacing: .02em;
}
.fs-sl-person-w, .fs-sl-person-k {
  margin-top: .3rem;
  font-size: var(--fs-type-caption, .8125rem); line-height: 1.55;
  color: rgb(var(--c-ink-700));
}
.fs-sl-person-k { color: rgb(var(--c-ink-400)); }

/* ── The completed card ────────────────────────────────────────── */
.fs-sl-done-body { display: grid; gap: clamp(1.25rem, 3vw, 2.5rem); }
/* R3, same as above — the root is .fs-sl-signoff-section; 51.25rem =
   the same 820px. */
@container (min-width: 51.25rem) {
  .fs-sl-done-body { grid-template-columns: minmax(0, 1.25fr) minmax(0, .85fr); align-items: start; }
}
.fs-sl-facts { margin: 0; display: block; }
.fs-sl-facts > div {
  display: flex; align-items: baseline; justify-content: space-between; gap: 1rem;
  padding: .55rem 0;
  border-bottom: 1px solid rgb(var(--c-line));
}
.fs-sl-facts > div:last-child { border-bottom: 0; }
.fs-sl-facts dt {
  font-family: var(--font-sans);
  font-size: .62rem; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-sl-facts dd {
  margin: 0; font-weight: 700; color: rgb(var(--c-ink-950));
  font-size: var(--fs-type-caption, .8125rem); text-align: right;
}
.fs-sl-sign {
  display: flex; align-items: center; gap: .75rem;
  margin-top: clamp(1.25rem, 3vw, 2rem);
  padding-top: 1rem;
  border-top: 1px dashed rgb(var(--c-ink-950) / .3);
}
.fs-sl-sign-l, .fs-sl-sign-m {
  font-family: var(--font-sans);
  font-size: .6rem; font-weight: 700;
  letter-spacing: .13em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-sl-sign-rule { flex: 1 1 4rem; border-bottom: 1px solid rgb(var(--c-ink-950) / .35); min-width: 3rem; }

/* ── Wireframe ─────────────────────────────────────────────────── */
[data-render="wireframe"] .fs-sl .fs-sl-tab { background: #111 !important; }
[data-render="wireframe"] .fs-sl .fs-sl-ruled::before { background-image: none !important; }

/* ── favSalonFooter — the completed record card ───────────────────
   Ported from the mockup's .ms-ftr/.ms-fcard family (lines 632–658),
   renamed to this file's .fs-sl-ft-* convention. */
.fs-sl-ft {
  container-type: inline-size;
  padding: 64px clamp(1rem, 4vw, 2.5rem) 36px;
  background: rgb(var(--c-paper));
}
.fs-sl-ft-in { max-width: var(--fs-layout-max, 68rem); margin-inline: auto; }
.fs-sl-ft-card {
  position: relative;
  margin-top: 18px;
  padding: 30px 34px 18px;
  background: rgb(var(--c-paper-soft));
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-card, 20px);
}
/* theme-chrome batch 1 (Task 10/11): raw brand behind paper text fails
   AA on some palettes (e.g. Rose Nude) — deep brand, the same fill the
   header's maneTabs current tab and CTA use, clears it. Never the raw
   --c-brand-600. */
.fs-sl-ft-tab {
  position: absolute; top: -19px; left: 28px;
  padding: 5px 15px 4px;
  border: 1px solid var(--ms-deep, color-mix(in srgb, rgb(var(--c-brand-600)) 78%, rgb(var(--c-ink-950))));
  border-bottom: 0;
  border-radius: var(--fs-radius-control, 9px) var(--fs-radius-control, 9px) 0 0;
  background: var(--ms-deep, color-mix(in srgb, rgb(var(--c-brand-600)) 78%, rgb(var(--c-ink-950))));
  color: var(--fs-on-brand, rgb(var(--c-paper)));
  font-family: var(--font-sans);
  font-size: 10.5px; font-weight: 700;
  letter-spacing: .16em; text-transform: uppercase; white-space: nowrap;
}
.fs-sl-ft-meta {
  display: flex; flex-wrap: wrap; gap: 6px 28px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgb(var(--c-line));
}
.fs-sl-ft-mrow { display: inline-flex; align-items: baseline; gap: 8px; }
.fs-sl-ft-mk {
  font-family: var(--font-sans);
  font-size: 10px; font-weight: 700;
  letter-spacing: .15em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
.fs-sl-ft-mv { font-size: 13.5px; font-weight: 600; color: rgb(var(--c-ink-950)); }

/* The ruled writing area: four tracks over horizontal rules run at the
   text's own 28px line height, so every column reads as written on the
   card rather than laid out beside it. */
.fs-sl-ft-grid {
  display: grid;
  grid-template-columns: 1.35fr 1fr 1fr 1fr;
  gap: 0 26px;
  margin-top: 14px;
  background-image: repeating-linear-gradient(
    to bottom, transparent 0 27px, rgb(var(--c-ink-950) / .08) 27px 28px
  );
}
.fs-sl-ft-grid, .fs-sl-ft-grid * { line-height: 28px; }
.fs-sl-ft-col { min-width: 0; }
.fs-sl-ft-h { margin: 0; font-family: var(--font-sans); font-size: 10px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; color: rgb(var(--c-ink-400)); }
.fs-sl-ft-name {
  margin: 0;
  font-family: var(--font-display);
  font-size: 18px; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase;
  color: rgb(var(--c-ink-950));
}
.fs-sl-ft-statement { margin: 0; font-family: var(--font-display); font-size: 22px; font-weight: 700; letter-spacing: -.015em; color: rgb(var(--c-ink-950)); }
.fs-sl-ft-list { list-style: none; margin: 0; padding: 0; font-size: 14.5px; }
.fs-sl-ft-li { padding-block: 0; }
.fs-sl-ft-link { color: rgb(var(--c-ink-700)); text-decoration: none; }
.fs-sl-ft-link:hover { color: rgb(var(--c-ink-950)); text-decoration: underline; }
.fs-sl-ft-p { margin: 0; font-size: 14.5px; color: rgb(var(--c-ink-700)); }
.fs-sl-ft-p + .fs-sl-ft-p { color: rgb(var(--c-ink-400)); }

/* ── The shade ladder — same six-step brand hue as .fs-sl-disc above,
   at the header strip's own 20px size. ── */
.fs-sl-ft-ladder {
  display: flex; align-items: center; flex-wrap: wrap; gap: 6px 14px;
  margin-top: 6px; padding-top: 8px;
}
.fs-sl-ft-discs { display: inline-flex; gap: 6px; }
.fs-sl-ft-disc {
  display: block; width: 20px; height: 20px;
  border-radius: 50%;
  border: 1px solid rgb(var(--c-ink-950) / .18);
}
.fs-sl-ft-disc:nth-child(1) { background: color-mix(in srgb, rgb(var(--c-brand-600)) 55%, rgb(var(--c-ink-950))); }
.fs-sl-ft-disc:nth-child(2) { background: color-mix(in srgb, rgb(var(--c-brand-600)) 78%, rgb(var(--c-ink-950))); }
.fs-sl-ft-disc:nth-child(3) { background: rgb(var(--c-brand-600)); }
.fs-sl-ft-disc:nth-child(4) { background: color-mix(in srgb, rgb(var(--c-brand-600)) 72%, rgb(var(--c-paper))); }
.fs-sl-ft-disc:nth-child(5) { background: color-mix(in srgb, rgb(var(--c-brand-600)) 46%, rgb(var(--c-paper))); }
.fs-sl-ft-disc:nth-child(6) { background: color-mix(in srgb, rgb(var(--c-brand-600)) 24%, rgb(var(--c-paper))); }

.fs-sl-ft-sign {
  display: flex; align-items: center; flex-wrap: wrap; gap: 10px 14px;
  margin-top: 12px; padding-top: 12px;
  border-top: 1px dashed rgb(var(--c-ink-950) / .3);
}
.fs-sl-ft-sign-rule { flex: 1 1 60px; min-width: 40px; border-bottom: 1px solid rgb(var(--c-ink-950) / .35); }
.fs-sl-ft-legal {
  display: flex; flex-wrap: wrap; gap: 6px 18px;
  margin-top: 16px; font-size: 12.5px; color: rgb(var(--c-ink-400));
}
.fs-sl-ft-legal-t { color: inherit; }
.fs-sl-ft-legal-a { color: inherit; text-decoration: none; }
.fs-sl-ft-legal-a:hover { color: rgb(var(--c-ink-950)); }

/* R3 (theme-chrome batch 1, Task 11): the footer's own root is the
   container (.fs-sl-ft, above), never the layout-capped .fs-sl-ft-in —
   64rem → two columns, 48rem → one, against this band's own box
   (measured editor-tablet content box: 686px — from the probe). */
@container (max-width: 64rem) {
  .fs-sl-ft-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container (max-width: 48rem) {
  .fs-sl-ft-grid { grid-template-columns: 1fr; }
  .fs-sl-ft-meta { flex-direction: column; }
  .fs-sl-ft-sign { flex-wrap: wrap; }
}

[data-render="wireframe"] .fs-sl-ft .fs-sl-ft-tab { background: #111 !important; border-color: #111 !important; }
[data-render="wireframe"] .fs-sl-ft .fs-sl-ft-grid { background-image: none !important; }


/* ── Ground ────────────────────────────────────────────────────── */
.fs-hx {
  position: relative;
  isolation: isolate;
  background: rgb(var(--c-paper));
  color: rgb(var(--c-ink-950));
  /* The data voice, read from the theme rather than named here.
     --font-mono is emitted by themeFontVars() in site-shell.ts when a
     theme declares fonts.mono, and that same declaration is what gets
     the family into the webfont href — hardcoding the name here loaded
     nothing and rendered Consolas. The fallback stack stays so a site
     that repaints HelixDesk with a theme naming no mono face still
     reads as machine facts. */
  --fs-hx-mono: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);
}
.fs-hx * { box-sizing: border-box; }
/* --fs-shell-max FIRST, then the customer's layout preset, then 60rem.
   Now that headerVariant governs the header separately, shellMaxPx means
   CONTENT width and nothing else — which is what lets this design's
   narrower pages (Live chat 680, FAQ and Ticket status 760, System
   status 820, About and Contact 880) be declared per page without
   shrinking the shared full-bleed nav along with them. Before the split
   those two facts shared one lever and only one of them could be right. */
.fs-hx-shell {
  max-width:var(--fs-layout-max, var(--fs-shell-max,60rem));
  margin-inline: auto;
  padding: var(--fs-space-section, clamp(2.5rem, 5vw, 4rem)) clamp(1rem, 4vw, 2.5rem);
}
/* is-narrow is a per-BLOCK cap; it must still yield to a page that has
   declared a narrower content width, or Live chat renders at 736px
   against the design's 680. */
.fs-hx-shell.is-narrow { max-width: min(46rem, var(--fs-shell-max, 46rem), var(--fs-layout-clamp, 46rem)); }
.fs-hx-status-section, .fs-hx-kb-section { background: rgb(var(--c-paper-soft)); }

:is([data-fs-blocktype='favHelixStatus'], [data-fs-blocktype='favHelixKb'])
  + :is([data-fs-blocktype='favHelixStatus'], [data-fs-blocktype='favHelixKb'])
  .fs-hx-shell { padding-top: 0; }

/* ── Type ──────────────────────────────────────────────────────── */
.fs-hx-mono { font-family: var(--fs-hx-mono); font-variant-numeric: tabular-nums; }
.fs-hx-eyebrow {
  display: block;
  font-size: .7rem; font-weight: 500;
  letter-spacing: .12em; text-transform: uppercase;
  color: rgb(var(--c-brand-600));
}
.fs-hx-h2 {
  font-family: var(--font-display);
  margin: .5rem 0 0;
  font-size: clamp(1.5rem, 3vw, 2.05rem);
  line-height: 1.12; letter-spacing: -.02em; font-weight: 700;
  color: rgb(var(--c-ink-950)); text-wrap: balance; max-width: 24ch;
}
.fs-hx-lede {
  margin: .7rem 0 0;
  font-size: var(--fs-type-body, 1rem); line-height: 1.6;
  color: rgb(var(--c-ink-700)); max-width: 56ch;
}
.fs-hx-head { margin-bottom: clamp(1.25rem, 3vw, 1.9rem); }
.fs-hx-head.is-mid { text-align: center; }
.fs-hx-head.is-mid .fs-hx-h2, .fs-hx-head.is-mid .fs-hx-lede { margin-inline: auto; }
/* Header suppressed because the page carries its own above: the
   search box is then the first thing in the section and needs no
   top gap of its own. */
.fs-hx-head.is-bare { margin-bottom: clamp(1rem, 2vw, 1.4rem); }
.fs-hx-head.is-bare .fs-hx-searchbox { margin-top: 0; }
.fs-hx-foot {
  margin-top: 1rem; text-align: center;
  font-size: var(--fs-type-caption, .8125rem); color: rgb(var(--c-ink-400));
}

/* ── Cards ─────────────────────────────────────────────────────── */
.fs-hx-card {
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-card, .75rem);
  background: rgb(var(--c-paper));
  overflow: hidden;
}
.fs-hx-card-hd {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: 1rem 1.35rem;
  border-bottom: 1px solid rgb(var(--c-line));
}
.fs-hx-card-t { font-family: var(--font-display); font-weight: 600; font-size: .95rem; color: rgb(var(--c-ink-950)); }
.fs-hx-link { font-family: var(--font-display); font-weight: 600; font-size: .78rem; color: rgb(var(--c-brand-600)); }

/* ── Controls ──────────────────────────────────────────────────── */
.fs-hx-btn {
  display: inline-flex; align-items: center; justify-content: center;
  padding: .7rem 1.25rem; flex: none;
  border: 0; border-radius: var(--fs-radius-control, .5rem);
  background: rgb(var(--c-brand-600));
  color: var(--fs-on-brand, rgb(var(--c-paper)));
  font-family: var(--font-display);
  font-size: .85rem; font-weight: 600; cursor: pointer; white-space: nowrap;
  transition: background-color var(--fs-motion-fast, 170ms) var(--fs-ease-out, ease);
}
.fs-hx-btn:hover { background: rgb(var(--c-brand-700)); }
.fs-hx-btn.is-sm { padding: .5rem .9rem; font-size: .78rem; }
/* Two-channel focus: the fill changes as well as the border, so the
   signal survives a colour-blind reader and a greyscale print. */
.fs-hx-input {
  width: 100%;
  padding: .72rem .9rem;
  border: 1.5px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-control, .5rem);
  background: rgb(var(--c-paper-soft));
  color: rgb(var(--c-ink-950));
  font-family: var(--font-sans); font-size: .92rem;
  outline: none;
}
.fs-hx-input:focus { border-color: rgb(var(--c-brand-600)); background: rgb(var(--c-paper)); }
.fs-hx-input::placeholder { color: rgb(var(--c-ink-400)); }

/* ── Status: lozenges, dots, semantics ─────────────────────────── */
/* Dot AND label, always. The tint carries no meaning on its own. */
.fs-hx-pill {
  display: inline-flex; align-items: center; gap: .4rem; flex: none;
  padding: .25rem .65rem;
  border-radius: var(--fs-radius-pill, 999px);
  font-family: var(--fs-hx-mono);
  font-size: .7rem; font-weight: 500; white-space: nowrap;
}
.fs-hx-dot { width: .45rem; height: .45rem; border-radius: 50%; flex: none; background: currentColor; }
.fs-hx-pill.is-ok   { background: rgb(var(--fs-status-ok-tint));   color: rgb(var(--fs-status-ok-on)); }
.fs-hx-pill.is-warn { background: rgb(var(--fs-status-warn-tint)); color: rgb(var(--fs-status-warn-on)); }
.fs-hx-pill.is-bad  { background: rgb(var(--fs-status-bad-tint));  color: rgb(var(--fs-status-bad-on)); }
.fs-hx-pill.is-info { background: rgb(var(--fs-status-info-tint)); color: rgb(var(--fs-status-info-on)); }
.fs-hx-dot.is-ok { background: rgb(var(--fs-status-ok)); }
/* Live pulse — a ring expanding off the OK dot, on a console theme's
   own console: it reads as "being watched", the same idea the status
   page's live banner already states in words. var(--fs-anim-statuspulse):
   Site Settings -> Micro-animations toggle contract (themes/format.ts,
   site-shell.ts's microAnimationVars). is-ok only — a warn/bad dot
   pulsing would read as an alarm, which the design reserves for colour
   alone, not motion. */
@keyframes fs-hx-statuspulse { 0% { transform: scale(1); opacity: .55; } 100% { transform: scale(2.2); opacity: 0; } }
.fs-hx-anim .fs-hx-dot.is-ok { position: relative; }
.fs-hx-anim .fs-hx-dot.is-ok::after {
  content: ''; position: absolute; inset: -3px; border-radius: 50%;
  background: rgb(var(--fs-status-ok)); pointer-events: none;
  animation: var(--fs-anim-statuspulse, fs-hx-statuspulse 2.2s ease-out infinite);
}
.fs-hx-wire .fs-hx-dot.is-ok::after { animation: none; content: none; }
@media (prefers-reduced-motion: reduce) {
  .fs-hx-dot.is-ok::after { animation: none !important; content: none; }
}

/* ── The portal shell ──────────────────────────────────────────── */
/* A console inverts the usual figure/ground: the soft tone is the room
   and the white panels float in it. */
.fs-hx-portal {
  margin: clamp(1.25rem, 3vw, 2.5rem) auto;
  max-width:var(--fs-layout-max,72rem);
  width: calc(100% - clamp(1.5rem, 6vw, 4rem));
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-card, .75rem);
  background: rgb(var(--c-paper-soft));
  overflow: hidden;
  box-shadow: var(--fs-shadow-card, none);
}
.fs-hx-topbar {
  display: flex; align-items: center; gap: .7rem;
  padding: .7rem 1rem;
  background: rgb(var(--c-paper));
  border-bottom: 1px solid rgb(var(--c-line));
}
.fs-hx-brand {
  font-family: var(--font-display);
  font-size: 1rem; font-weight: 700; letter-spacing: -.01em;
  color: rgb(var(--c-ink-950));
}
.fs-hx-chip {
  font-family: var(--fs-hx-mono);
  font-size: .66rem; color: rgb(var(--c-ink-400));
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-control, .35rem);
  padding: .15rem .45rem; white-space: nowrap;
}
.fs-hx-spacer { flex: 1; }
.fs-hx-body { display: flex; align-items: stretch; min-height: 22rem; }
.fs-hx-side {
  width: 14.5rem; flex: none;
  background: rgb(var(--c-paper));
  border-right: 1px solid rgb(var(--c-line));
  padding: 1rem .7rem;
  display: flex; flex-direction: column; gap: 1rem;
}
.fs-hx-sgroup { display: flex; flex-direction: column; gap: .1rem; }
.fs-hx-sgroup-t {
  font-family: var(--fs-hx-mono);
  font-size: .62rem; letter-spacing: .12em; text-transform: uppercase;
  color: rgb(var(--c-ink-400)); padding: 0 .7rem .35rem;
}
/* One fixed glyph column so the labels align into a scannable rail. */
.fs-hx-snav {
  display: flex; align-items: center; gap: .6rem; width: 100%;
  padding: .5rem .7rem;
  border: 0; border-radius: var(--fs-radius-control, .5rem);
  background: transparent; color: rgb(var(--c-ink-700));
  font-family: var(--font-sans); font-size: .82rem; font-weight: 500;
  text-align: left; cursor: pointer; white-space: nowrap;
  transition: background-color var(--fs-motion-fast, 170ms) var(--fs-ease-out, ease);
}
.fs-hx-snav:hover { background: rgb(var(--c-brand-50)); }
.fs-hx-snav.is-on { background: rgb(var(--c-brand-50)); color: rgb(var(--c-brand-700)); font-weight: 600; }
.fs-hx-sico { width: 1rem; height: 1rem; flex: none; }
.fs-hx-ico { width: 1.35rem; height: 1.35rem; flex: none; color: rgb(var(--c-brand-600)); }
.fs-hx-signed {
  margin-top: auto;
  display: flex; flex-direction: column; gap: .2rem;
  padding: .8rem;
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-control, .5rem);
  background: rgb(var(--c-paper-soft));
}
.fs-hx-signed-t { font-family: var(--font-display); font-size: .7rem; font-weight: 600; color: rgb(var(--c-ink-950)); }
.fs-hx-signed-e { font-size: .72rem; color: rgb(var(--c-ink-700)); overflow-wrap: anywhere; }
.fs-hx-signed-n { font-size: .66rem; color: rgb(var(--c-ink-400)); }
.fs-hx-main { flex: 1; min-width: 0; padding: clamp(1rem, 2.5vw, 1.75rem); }
.fs-hx-tickets { margin-top: 1.2rem; }
.fs-hx-trow {
  display: flex; align-items: center; gap: .85rem;
  padding: .8rem 1.35rem;
  border-bottom: 1px solid rgb(var(--c-line));
}
.fs-hx-trow:last-child { border-bottom: 0; }
.fs-hx-tid { font-size: .72rem; color: rgb(var(--c-ink-400)); flex: none; }
.fs-hx-tmain { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.fs-hx-tt { font-family: var(--font-display); font-weight: 600; font-size: .86rem; color: rgb(var(--c-ink-950)); }
.fs-hx-tm { font-size: .74rem; color: rgb(var(--c-ink-400)); }
.fs-hx-quick {
  display: grid; gap: .8rem; margin-top: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(min(11rem, 100%), 1fr));
}
.fs-hx-qcard { display: flex; flex-direction: column; gap: .4rem; padding: 1rem; }
.fs-hx-qt { font-family: var(--font-display); font-weight: 600; font-size: .85rem; color: rgb(var(--c-ink-950)); }
.fs-hx-qm { font-size: .72rem; color: rgb(var(--c-ink-400)); }

/* ── Tracker ───────────────────────────────────────────────────── */
.fs-hx-lookup { padding: 1.25rem; }
.fs-hx-lookrow { display: flex; gap: .6rem; }
.fs-hx-chips { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem; margin-top: .8rem; }
.fs-hx-chips-l { font-size: .74rem; color: rgb(var(--c-ink-400)); }
.fs-hx-sample {
  border: 0; border-radius: var(--fs-radius-pill, 999px);
  background: rgb(var(--c-brand-50)); color: rgb(var(--c-brand-700));
  font-size: .7rem; padding: .25rem .7rem; cursor: pointer;
}
.fs-hx-error {
  margin-top: .8rem; padding: .6rem .85rem;
  border-radius: var(--fs-radius-control, .5rem);
  background: rgb(var(--fs-status-bad-tint));
  color: rgb(var(--fs-status-bad-on));
  font-size: .8rem; line-height: 1.5;
}
.fs-hx-result { margin-top: 1rem; }
.fs-hx-result-hd {
  display: flex; align-items: center; flex-wrap: wrap; gap: .8rem;
  padding: 1.1rem 1.35rem;
  border-bottom: 1px solid rgb(var(--c-line));
}
.fs-hx-result-t { flex: 1; min-width: 12rem; font-family: var(--font-display); font-weight: 700; font-size: 1rem; color: rgb(var(--c-ink-950)); }
.fs-hx-time { list-style: none; margin: 0; padding: 1.35rem 1.35rem 0; }
/* The rail is drawn per step so a completed leg can be teal while the
   leg after it stays grey — one gradient across the whole list could
   not say that. */
.fs-hx-step {
  position: relative;
  display: grid; grid-template-columns: auto 1fr; column-gap: .9rem;
  padding-bottom: 1.15rem;
}
.fs-hx-node {
  grid-column: 1; grid-row: 1 / span 2;
  width: .85rem; height: .85rem; margin-top: .2rem; border-radius: 50%;
  box-sizing: border-box;
  background: rgb(var(--c-paper-soft));
  border: 3px solid rgb(var(--c-line));
}
.fs-hx-step.is-done .fs-hx-node { background: rgb(var(--fs-status-ok)); border-color: rgb(var(--fs-status-ok)); }
/* Node pop — the moment a tracker step turns solid, per the Tracker's
   own job ("has anyone looked at my thing?"): a step landing should
   feel like an answer arriving, not a colour swap. var(--fs-anim-nodefill):
   same toggle contract as statuspulse above. */
@keyframes fs-hx-nodefill { 0% { transform: scale(.4); } 60% { transform: scale(1.25); } 100% { transform: scale(1); } }
.fs-hx-anim .fs-hx-step.is-done .fs-hx-node {
  animation: var(--fs-anim-nodefill, fs-hx-nodefill .45s cubic-bezier(.34,1.56,.64,1) both);
}
@media (prefers-reduced-motion: reduce) {
  .fs-hx-step.is-done .fs-hx-node { animation: none !important; }
}
.fs-hx-step.is-now .fs-hx-node { background: rgb(var(--c-paper)); border-color: rgb(var(--c-brand-600)); }
.fs-hx-rail {
  position: absolute; left: .38rem; top: 1.25rem; bottom: -.15rem;
  width: 2px; background: rgb(var(--c-line));
}
.fs-hx-step.is-done .fs-hx-rail { background: rgb(var(--fs-status-ok)); }
.fs-hx-step-t { grid-column: 2; font-family: var(--font-display); font-weight: 600; font-size: .88rem; color: rgb(var(--c-ink-400)); }
.fs-hx-step.is-done .fs-hx-step-t, .fs-hx-step.is-now .fs-hx-step-t { color: rgb(var(--c-ink-950)); }
.fs-hx-step-d { grid-column: 2; font-size: .76rem; line-height: 1.5; color: rgb(var(--c-ink-400)); }
.fs-hx-result-ft {
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: .6rem;
  padding: .9rem 1.35rem;
  border-top: 1px solid rgb(var(--c-line));
  font-size: .76rem; color: rgb(var(--c-ink-400));
}
.fs-hx-result-ft b { color: rgb(var(--c-ink-950)); font-weight: 600; }

/* ── System status ─────────────────────────────────────────────── */
.fs-hx-banner {
  display: flex; align-items: center; gap: .8rem;
  padding: 1.1rem 1.35rem;
  border-radius: var(--fs-radius-card, .75rem);
  border: 1px solid rgb(var(--c-line));
}
.fs-hx-banner.is-ok   { background: rgb(var(--fs-status-ok-tint));   color: rgb(var(--fs-status-ok-on)); }
.fs-hx-banner.is-warn { background: rgb(var(--fs-status-warn-tint)); color: rgb(var(--fs-status-warn-on)); }
.fs-hx-banner.is-bad  { background: rgb(var(--fs-status-bad-tint));  color: rgb(var(--fs-status-bad-on)); }
.fs-hx-banner.is-info { background: rgb(var(--fs-status-info-tint)); color: rgb(var(--fs-status-info-on)); }
.fs-hx-banner .fs-hx-dot { width: .7rem; height: .7rem; }
.fs-hx-banner-b { flex: 1; display: flex; flex-direction: column; gap: .1rem; }
.fs-hx-banner-t { font-family: var(--font-display); font-weight: 700; font-size: 1.05rem; }
.fs-hx-banner-m { font-size: .78rem; opacity: .85; }
.fs-hx-live { font-size: .68rem; letter-spacing: .1em; }
.fs-hx-svcs { margin-top: 1rem; }
.fs-hx-svc { padding: 1rem 1.35rem; border-bottom: 1px solid rgb(var(--c-line)); }
.fs-hx-svc-hd { display: flex; align-items: center; gap: .8rem; }
.fs-hx-svc-n { flex: 1; font-family: var(--font-display); font-weight: 600; font-size: .9rem; color: rgb(var(--c-ink-950)); }
.fs-hx-svc-u { font-size: .74rem; color: rgb(var(--c-ink-400)); }
/* 30 bars, readable as a texture from across the room. */
.fs-hx-bars { display: flex; gap: 2px; margin-top: .7rem; }
.fs-hx-bar { flex: 1; height: 1.6rem; border-radius: 2px; min-width: 2px; }
.fs-hx-bar.is-ok   { background: rgb(var(--fs-status-ok) / .78); }
.fs-hx-bar.is-warn { background: rgb(var(--fs-status-warn)); }
.fs-hx-bar.is-bad  { background: rgb(var(--fs-status-bad)); }
.fs-hx-scale {
  display: flex; justify-content: space-between;
  padding: .7rem 1.35rem; font-size: .7rem; color: rgb(var(--c-ink-400));
}
.fs-hx-incidents { margin-top: 1rem; padding: 1.25rem 1.35rem; display: flex; flex-direction: column; gap: .9rem; }
.fs-hx-inc { display: flex; gap: .9rem; }
.fs-hx-inc-d { flex: none; width: 4rem; font-size: .74rem; }
.fs-hx-inc-d.is-ok { color: rgb(var(--fs-status-ok)); }
.fs-hx-inc-d.is-warn { color: rgb(var(--fs-status-warn)); }
.fs-hx-inc-d.is-bad { color: rgb(var(--fs-status-bad)); }
.fs-hx-inc-d.is-info { color: rgb(var(--fs-status-info)); }
.fs-hx-inc-b { display: flex; flex-direction: column; gap: .1rem; }
.fs-hx-inc-t { font-family: var(--font-display); font-weight: 600; font-size: .84rem; color: rgb(var(--c-ink-950)); }
.fs-hx-inc-m { font-size: .76rem; line-height: 1.5; color: rgb(var(--c-ink-400)); }

/* ── Live chat ─────────────────────────────────────────────────── */
.fs-hx-chat { display: flex; flex-direction: column; }
.fs-hx-chat-hd {
  display: flex; align-items: center; gap: .7rem;
  padding: .85rem 1.1rem;
  background: rgb(var(--c-brand-600));
  color: var(--fs-on-brand, rgb(var(--c-paper)));
}
.fs-hx-avatar {
  width: 2.1rem; height: 2.1rem; flex: none; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: rgb(var(--c-paper) / .22);
  font-family: var(--font-display); font-weight: 700; font-size: .85rem;
}
.fs-hx-chat-who { flex: 1; display: flex; flex-direction: column; }
.fs-hx-chat-n { font-family: var(--font-display); font-weight: 600; font-size: .86rem; }
.fs-hx-chat-p { font-size: .7rem; opacity: .8; }
.fs-hx-pane {
  display: flex; flex-direction: column; gap: .65rem;
  padding: 1.1rem;
  min-height: 15rem; max-height: 22rem; overflow-y: auto;
  background: rgb(var(--c-paper));
}
/* Messenger convention: mine right, theirs left, and a squared tail
   corner pointing at the sender so the model needs no explaining. */
.fs-hx-bub {
  align-self: flex-start; max-width: 80%; margin: 0;
  padding: .65rem .9rem;
  border-radius: var(--fs-radius-card, .75rem) var(--fs-radius-card, .75rem) var(--fs-radius-card, .75rem) 4px;
  background: rgb(var(--c-paper-soft));
  color: rgb(var(--c-ink-950));
  font-size: .84rem; line-height: 1.55;
}
.fs-hx-bub.is-me {
  align-self: flex-end;
  border-radius: var(--fs-radius-card, .75rem) var(--fs-radius-card, .75rem) 4px var(--fs-radius-card, .75rem);
  background: rgb(var(--c-brand-600));
  color: var(--fs-on-brand, rgb(var(--c-paper)));
}
.fs-hx-typing { align-self: flex-start; font-size: .74rem; color: rgb(var(--c-ink-400)); }
.fs-hx-compose {
  display: flex; gap: .6rem; padding: .8rem;
  border-top: 1px solid rgb(var(--c-line));
}
.fs-hx-send {
  width: 2.6rem; flex: none;
  display: flex; align-items: center; justify-content: center;
  border: 0; border-radius: var(--fs-radius-control, .5rem);
  background: rgb(var(--c-brand-600));
  color: var(--fs-on-brand, rgb(var(--c-paper)));
  cursor: pointer;
}
.fs-hx-send:hover { background: rgb(var(--c-brand-700)); }
.fs-hx-send .fs-hx-ico { color: currentColor; width: 1.05rem; height: 1.05rem; }

/* ── Knowledge base ────────────────────────────────────────────── */
.fs-hx-searchbox {
  display: flex; align-items: center; gap: .6rem;
  margin: 1.1rem auto 0; max-width: 34rem;
  padding: .8rem 1.05rem;
  border: 1.5px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-control, .5rem);
  background: rgb(var(--c-paper));
}
.fs-hx-searchbox:focus-within { border-color: rgb(var(--c-brand-600)); }
.fs-hx-searchbox .fs-hx-ico { color: rgb(var(--c-ink-400)); width: 1.1rem; height: 1.1rem; }
.fs-hx-searchin {
  flex: 1; border: 0; outline: none; background: transparent;
  font-family: var(--font-sans); font-size: .92rem; color: rgb(var(--c-ink-950));
}
.fs-hx-searchin::placeholder { color: rgb(var(--c-ink-400)); }
.fs-hx-cats {
  display: grid; gap: .85rem;
  grid-template-columns: repeat(auto-fit, minmax(min(13rem, 100%), 1fr));
}
.fs-hx-cat { display: flex; flex-direction: column; gap: .5rem; padding: 1.15rem; }
.fs-hx-cat-tile {
  width: 2.4rem; height: 2.4rem;
  display: flex; align-items: center; justify-content: center;
  border-radius: var(--fs-radius-control, .5rem);
  background: rgb(var(--c-brand-50));
}
.fs-hx-cat-n { font-family: var(--font-display); font-weight: 600; font-size: .93rem; color: rgb(var(--c-ink-950)); }
.fs-hx-cat-b { font-size: .78rem; line-height: 1.5; color: rgb(var(--c-ink-400)); }
.fs-hx-cat-c { margin-top: auto; font-size: .72rem; color: rgb(var(--c-brand-600)); }
.fs-hx-reads { margin-top: 1rem; }
.fs-hx-reads > .fs-hx-eyebrow {
  padding: .85rem 1.35rem;
  background: rgb(var(--c-paper-soft));
  border-bottom: 1px solid rgb(var(--c-line));
  color: rgb(var(--c-ink-400));
}
.fs-hx-read {
  display: flex; align-items: center; gap: .85rem;
  padding: .8rem 1.35rem;
  border-bottom: 1px solid rgb(var(--c-line));
}
.fs-hx-read:last-child { border-bottom: 0; }
.fs-hx-read .fs-hx-ico { width: 1rem; height: 1rem; }
.fs-hx-read-t { flex: 1; font-size: .86rem; font-weight: 500; color: rgb(var(--c-ink-950)); }
.fs-hx-read-c { font-size: .72rem; color: rgb(var(--c-ink-400)); }

/* ── The helix motif ─────────────────────────────────── */
/* Two strands crossing: the request and the response. Kept faint — the
   package specifies 8–12% — because it is a ground, not a graphic, and
   anything louder competes with the status colour that has to carry
   meaning. Strand colours come from the palette, so it re-tints. */
.fs-hx-strand-a { stroke: rgb(var(--c-brand-600)); fill: none; }
.fs-hx-strand-b { stroke: rgb(var(--c-accent)); fill: none; }
.fs-hx-ribbon {
  position: absolute; left: 0; right: 0; bottom: -.5rem;
  width: 100%; height: 7.5rem;
  opacity: .10; pointer-events: none;
}
.fs-hx-coil {
  position: absolute; right: -3rem; top: -3rem;
  width: 22rem; height: 22rem;
  opacity: .14; pointer-events: none;
}

/* ── Hero ─────────────────────────────────────────── */
.fs-hx-hero-section {
  position: relative;
  overflow: hidden;
  background: rgb(var(--c-paper-soft));
  border-bottom: 1px solid rgb(var(--c-line));
}
.fs-hx-hero {
  position: relative;
  display: flex; flex-direction: column; align-items: center;
  text-align: center; gap: .85rem;
  max-width: min(52rem, var(--fs-layout-clamp, 52rem));
}
.fs-hx-h1 {
  font-family: var(--font-display);
  margin: .35rem 0 0;
  font-size: clamp(2.1rem, 5.4vw, 3.25rem);
  line-height: 1.08; letter-spacing: -.025em; font-weight: 800;
  color: rgb(var(--c-ink-950)); text-wrap: balance; max-width: 18ch;
}
.fs-hx-hero-lede {
  margin: 0;
  font-size: clamp(1rem, 1.6vw, 1.12rem); line-height: 1.6;
  color: rgb(var(--c-ink-700)); max-width: 46ch;
}
.fs-hx-acts { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; margin-top: .5rem; }
.fs-hx-btn.is-ghost {
  background: rgb(var(--c-paper));
  color: rgb(var(--c-brand-600));
  border: 1.5px solid rgb(var(--c-brand-600));
}
.fs-hx-btn.is-ghost:hover { background: rgb(var(--c-brand-50)); }
/* The falsifiable claim, in the data voice so it reads as a measurement
   rather than a promise. */
.fs-hx-trust {
  font-family: var(--fs-hx-mono);
  font-size: .76rem; color: rgb(var(--c-ink-400));
  font-variant-numeric: tabular-nums;
}

/* ── Channels ───────────────────────────────────── */
.fs-hx-chans {
  display: grid; gap: .9rem;
  grid-template-columns: repeat(auto-fit, minmax(min(15rem, 100%), 1fr));
}
.fs-hx-chan {
  display: flex; flex-direction: column; gap: .6rem;
  padding: 1.4rem;
  transition: border-color var(--fs-motion-fast, 170ms) var(--fs-ease-out, ease),
              box-shadow var(--fs-motion-fast, 170ms) var(--fs-ease-out, ease);
}
/* Border shift and a soft tinted lift, never a background repaint — the
   package's hover grammar, and it keeps motion calm on a page whose job
   is to reassure. */
.fs-hx-anim .fs-hx-chan:hover {
  border-color: rgb(var(--c-brand-600));
  box-shadow: 0 6px 18px rgb(var(--c-brand-600) / .09);
}
.fs-hx-chan-t { font-family: var(--font-display); font-weight: 600; font-size: 1rem; color: rgb(var(--c-ink-950)); }
.fs-hx-chan-b { font-size: .85rem; line-height: 1.6; color: rgb(var(--c-ink-700)); }

/* ── The dark register band ──────────────────────────── */
/* Ink ground with paper type: the one place the page inverts. Both come
   from the palette, so a warm theme gets a warm dark panel rather than
   a borrowed navy. */
.fs-hx-band {
  position: relative; overflow: hidden;
  display: grid; gap: clamp(1.25rem, 3vw, 2.5rem);
  padding: clamp(1.6rem, 4vw, 2.6rem);
  border-radius: var(--fs-radius-card, .75rem);
  background: rgb(var(--c-ink-950));
  color: rgb(var(--c-paper));
}
@media (min-width: 820px) {
  .fs-hx-band { grid-template-columns: minmax(0, 1.3fr) minmax(0, .9fr); align-items: center; }
}
.fs-hx-band-copy { position: relative; display: flex; flex-direction: column; gap: .5rem; }
.fs-hx-band-eyebrow {
  font-size: .68rem; letter-spacing: .12em; text-transform: uppercase;
  color: rgb(var(--c-accent));
}
.fs-hx-band-h {
  font-family: var(--font-display);
  margin: 0;
  font-size: clamp(1.35rem, 2.6vw, 1.85rem);
  line-height: 1.15; letter-spacing: -.018em; font-weight: 700;
  color: rgb(var(--c-paper)); text-wrap: balance;
}
/* Muted-on-dark: the palette's own paper, held back. --c-ink-400 is
   solved against the PAGE, so on an inverted panel it is the wrong
   direction entirely and would come out near-black on near-black. */
.fs-hx-band-b {
  font-size: .92rem; line-height: 1.65;
  color: rgb(var(--c-paper) / .74); max-width: 48ch;
}
.fs-hx-stats {
  position: relative;
  display: grid; gap: 1.1rem 1.4rem;
  grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr));
}

/* ── favHelixAbout — single-column variant of the dark band (no stats
   sibling), plus its closing CTA row ─────────────────────────── */
.fs-hx-about-hero { grid-template-columns: 1fr !important; }
.fs-hx-about-cta {
  display: flex; align-items: center; flex-wrap: wrap; gap: 1.2rem;
  padding: 1.5rem 1.7rem;
}
.fs-hx-about-cta-copy { flex: 1; min-width: 15rem; display: flex; flex-direction: column; gap: .2rem; }
.fs-hx-about-cta-t { font-family: var(--font-display); font-weight: 600; font-size: .95rem; color: rgb(var(--c-ink-950)); }
.fs-hx-about-cta-b { font-size: .82rem; color: rgb(var(--c-ink-700)); }
.fs-hx-stat { display: flex; flex-direction: column; gap: .15rem; }
.fs-hx-stat-v {
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 3vw, 2.05rem); font-weight: 800;
  letter-spacing: -.02em; color: rgb(var(--c-accent));
  font-variant-numeric: tabular-nums;
}
.fs-hx-stat-l { font-size: .76rem; color: rgb(var(--c-paper) / .68); }

/* ── Interior page header ─────────────────────────────── */
/* Six pages opened on a generic textBlock, so every interior page of a
   premium theme looked like the builder rather than like HelixDesk. */
.fs-hx-head-section { background: rgb(var(--c-paper-soft)); border-bottom: 1px solid rgb(var(--c-line)); }
.fs-hx-pagehead { display: flex; flex-direction: column; gap: .55rem; }
.fs-hx-crumb {
  font-size: .7rem; letter-spacing: .1em; text-transform: uppercase;
  color: rgb(var(--c-brand-600));
}
.fs-hx-pagehead-h {
  font-family: var(--font-display);
  margin: 0;
  font-size: clamp(1.75rem, 3.6vw, 2.4rem);
  line-height: 1.1; letter-spacing: -.022em; font-weight: 800;
  color: rgb(var(--c-ink-950)); text-wrap: balance; max-width: 22ch;
}
.fs-hx-pagehead-b {
  font-size: var(--fs-type-body, 1rem); line-height: 1.6;
  color: rgb(var(--c-ink-700)); max-width: 58ch;
}
.fs-hx-pagehead-p { margin-top: .2rem; }

/* ── The sidebar drawer ──────────────────────────────── */
/* Hidden at desktop — the rail is always there — and the only control
   that appears when the rail cannot be. */
.fs-hx-burger {
  display: none;
  width: 2rem; height: 2rem; flex: none;
  align-items: center; justify-content: center;
  border: 1px solid rgb(var(--c-line));
  border-radius: var(--fs-radius-control, .4rem);
  background: rgb(var(--c-paper)); color: rgb(var(--c-ink-700));
  cursor: pointer; padding: 0;
}
.fs-hx-burger svg { width: 1.05rem; height: 1.05rem; }

@media (max-width: 760px) {
  .fs-hx-burger { display: inline-flex; }
  /* The bar carries burger + brand + chip + status pill + CTA, which is
     one item too many below ~520px: the Submit button was pushed off the
     right edge. The chip is the only decorative one of the five, so it
     goes first and the action survives. Wrapping is the backstop for a
     long brand name. */
  .fs-hx-topbar { flex-wrap: wrap; }
  .fs-hx-topbar .fs-hx-chip { display: none; }
  /* Overlaid rather than in flow, so opening it does not shove the
     dashboard down the page and lose the reader's place. */
  .fs-hx-side {
    position: absolute; z-index: 3; inset: 0 auto 0 0;
    width: min(15rem, 82%);
    transform: translateX(-101%);
    transition: transform var(--fs-motion, 220ms) var(--fs-ease-out, cubic-bezier(.2,.7,.3,1));
    box-shadow: 0 0 0 100vmax rgb(var(--c-ink-950) / 0);
  }
  .fs-hx-side.is-open { transform: translateX(0); }
  .fs-hx-body { position: relative; }
}
@media (prefers-reduced-motion: reduce) {
  .fs-hx-side { transition: none !important; }
}

/* ── Reduced motion ────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  .fs-hx-btn, .fs-hx-snav, .fs-hx-send, .fs-hx-chan { transition: none !important; }
}

/* ── Site footer (favHelixFooter) ───────────────────────────────
   The export: background #fff, 1px top rule in #DBE4F0, 16px/24px
   padding, 12px muted type, and the two halves pushed apart with
   flex-wrap so a narrow viewport stacks them rather than crushing
   the status readout. Full-bleed, exactly like this design's header
   — neither is capped, so the footer takes no shell width. */
.fs-hx-ft {
  background: rgb(var(--c-paper));
  border-top: 1px solid rgb(var(--c-line));
}
.fs-hx-ft-row {
  display: flex; justify-content: space-between; align-items: center;
  flex-wrap: wrap; gap: 8px;
  padding: 16px 24px;
  font-size: 12px; color: rgb(var(--c-ink-500));
}
/* rgb(var(--fs-status-ok)), not var(--fs-status-ok): apply.ts emits
   these as a space-separated "R G B" triple, not a colour. Written the
   wrong way first, and it failed SILENTLY — the declaration was simply
   invalid, so the word inherited body ink and looked deliberate in both
   modes. Caught by measuring the computed colour, not by looking. */
.fs-hx-ft-state { color: rgb(var(--fs-status-ok)); }

/* ── Wireframe ─────────────────────────────────────────────────── */
[data-render="wireframe"] .fs-hx .fs-hx-chat-hd,
[data-render="wireframe"] .fs-hx .fs-hx-btn,
[data-render="wireframe"] .fs-hx .fs-hx-send { background: #111 !important; }

/* ── THE FIVE KIT MENUS, IN THIS THEME'S LANGUAGE ───────────────
   Every premium kit draws the same five archetypes and each maps to a
   platform style: Column Directory -> columns, Feature Spotlight ->
   feature, Tile Grid -> showcase, Split Preview -> tabbed, Full-Bleed
   Canvas -> promo. The CONTENT for each lives in this theme's
   megaMenus.byStyle; what follows is only how each shape wears this
   theme's clothes.

   THE METRIC TREATMENT is the one that needs saying. In the Canvas
   menu a text block is a NUMBER over a label — '98.4%' then 'CSAT this
   quarter'. The platform's mega-text heading is 13px/700, which renders
   a statistic at the size of a sub-heading and loses the whole point of
   the panel. So inside the flooded cell the heading becomes the figure.

   KNOWN LIMIT, not styled around: the tabbed style builds its RAIL from the nav
   item's CHILD PAGES, not from the tab headings authored in blocks. An
   item with one child shows one tab, and content authored for cols 1-3
   is unreachable. Measured on CreatorFlow, whose Marketplace has a
   single child. Fixing it means letting a linkList or a block heading
   name a tab, which is an engine change. */
[data-fs-theme='helixdesk'] .fsdrop-panel-promo .fsdrop-mega-content .fsdrop-mega-text-heading{
  font-family:var(--font-display);
  font-size:30px;
  font-weight:800;
  letter-spacing:-1.2px;
  line-height:1;
  margin:0 0 4px;
}
[data-fs-theme='helixdesk'] .fsdrop-panel-promo .fsdrop-mega-content .fsdrop-mega-text{
  margin-bottom:16px;
}
/* The first block in the flooded cell is the ARGUMENT, not a figure —
   it keeps sentence size so the numbers beside it stay the loud thing. */
[data-fs-theme='helixdesk'] .fsdrop-panel-promo .fsdrop-mega-content-col:first-child .fsdrop-mega-text-heading{
  font-size:19px;
  letter-spacing:-.5px;
  line-height:1.2;
}
/* The link column beside a flooded cell is usually one or two child
   pages, so it should not hold a third of the panel. */
[data-fs-theme='helixdesk'] .fsdrop-panel-promo .fsdrop-mega-col{
  min-width:0;
}
[data-fs-theme='helixdesk'] .fsdrop-panel-tabbed .fsdrop-tab-panel .fsdrop-mega-text-heading{
  font-family:var(--font-display);
  font-size:17px;
  letter-spacing:-.3px;
}
[data-fs-theme='helixdesk'] .fsdrop-panel-showcase .fsdrop-mega-content{
  padding-top:4px;
}

/* HelixDesk keeps machine facts in mono — the theme's own rule that
   anything monospaced is trackable truth — so a Canvas figure is set in
   the mono face rather than the display one. */
/* The DISPLAY face, not mono — and this is a deliberate exception to
   this theme's own "mono means machine truth" rule. At 27px the mono
   face sets 98.4% with a visible gap either side of the point and
   turns "< 2h" into "<  2h", because mono gives a full advance to a
   period and a space alike. The rule earns its keep at 12-13px inline,
   where a ticket reference has to look trackable; a headline statistic
   is a different job. */
[data-fs-theme='helixdesk'] .fsdrop-panel-promo .fsdrop-mega-content .fsdrop-mega-text-heading{
  font-family:var(--font-display);
  font-size:30px;
  letter-spacing:-1px;
}
[data-fs-theme='helixdesk'] .fsdrop-panel-promo .fsdrop-mega-content-col:first-child .fsdrop-mega-text-heading{
  font-family:var(--font-display);
  font-size:19px;
  letter-spacing:-.4px;
}

/* ════════════════════════════════════════════════════════════════
   THE KIT'S MEGA MENU — M1 Column Directory.

   Generated by verify-menu.mjs --emit-css from helixdesk-m1.html and
   pasted after review, which is why every number here is odd: 16.275px
   and 20.925px are the design's own computed line-heights, not values
   anyone would choose. That is the point. This theme previously had
   eight menu rules against RealtyWave's forty-five, so the panel drew
   the platform default and looked nothing like the sheet it shipped
   with -- 63 measured differences, every one a font, a line-height, a
   padding or a radius the design states and the theme never set.

   Re-generate rather than hand-edit: if a value here looks wrong, the
   design file is wrong, and editing this to make the gate pass is how a
   parity gate quietly becomes a no-op.
   ════════════════════════════════════════════════════════════════ */

/* panel */
[data-fs-theme='helixdesk'] [data-fs-nav-panel]{
  margin-top: 0px;
}

/* navItem */
/* TOP-LEVEL nav links only. The mega panel lives inside .fs-hdr-nav,
   so .fs-hdr-nav a also matches all forty menu rows -- which is
   exactly what happened: the nav's 8px/11px padding and 8px radius
   landed on every row in the panel. verify-menu now reports this
   class of selector overlap before any CSS is generated from it. */
[data-fs-theme='helixdesk'] .fs-hdr-nav > a:not([aria-current]):not([aria-current='false']),
[data-fs-theme='helixdesk'] .fs-hdr-nav > .fs-hdr-group > a:not([aria-current]):not([aria-current='false']){
  border-radius: 8px;
  padding: 8px 11px;
  line-height: 18px;
}

/* navItemOn */
[data-fs-theme='helixdesk'] .fs-hdr-group:has(> a[aria-current]:not([aria-current='false'])){
  border-radius: 8px;
  padding: 8px 11px;
}

/* caret */
[data-fs-theme='helixdesk'] .fs-hdr-group[data-open] .fs-hdr-caret svg{
  transition-duration: 0.2s;
}

/* grid */
[data-fs-theme='helixdesk'] [data-fs-nav-panel] .fsdrop-mega-content{
  gap: 0px;
}

/* column */
[data-fs-theme='helixdesk'] [data-fs-nav-panel] .fsdrop-mega-content-col{
  padding: 24px 22px;
  border-right-width: 1px;
}

/* eyebrow */
/* color was missing from the generated rule -- the base style brands
   every eyebrow blue by default (.fsdrop-mega-linklist-heading in
   dropdown-styles.ts), right for a theme whose eyebrow IS the accent
   and wrong for this kit's muted, mono-face label. Without an explicit
   override it fell straight through to brand blue.

   A first attempt at this fix was written with Python string-replace
   against LF line endings on a file the repo stores as CRLF. All three
   replaces silently matched nothing, the script printed success anyway,
   and the write re-saved the file byte-identical -- no exception, no
   diff, nothing to notice short of re-measuring. Redone with the Edit
   tool, which reads the file's actual on-disk text first. */
[data-fs-theme='helixdesk'] [data-fs-nav-panel] .fsdrop-mega-linklist-heading{
  margin-bottom: 12px;
  font-family: 'IBM Plex Mono', ui-monospace, monospace;
  font-weight: 600;
  line-height: 16.275px;
  color: rgb(var(--c-ink-400));
}

/* row */
[data-fs-theme='helixdesk'] [data-fs-nav-panel] .fsdrop-mega-linklist-link{
  border-radius: 7px;
  padding-top: 7px;
  padding-bottom: 7px;
  font-weight: 400;
  line-height: 20.925px;
}

/* rowList */
[data-fs-theme='helixdesk'] [data-fs-nav-panel] .fsdrop-mega-linklist-items{
  gap: 2px;
}

/* count */
[data-fs-theme='helixdesk'] [data-fs-nav-panel] .fsdrop-mega-linklist-count{
  font-family: 'IBM Plex Mono', ui-monospace, monospace;
  font-size: 12px;
  font-weight: 400;
  line-height: 17.05px;
}

/* foot */
[data-fs-theme='helixdesk'] [data-fs-nav-panel] .fsdrop-mega-content-col:nth-child(5){
  padding: 14px 22px;
  gap: 14px;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

/* footText */
/* Same gap as eyebrow: the base rule sets ink-700, the kit's foot line
   is the more muted ink-400, and nothing here said so. */
[data-fs-theme='helixdesk'] [data-fs-nav-panel] .fsdrop-mega-text-body{
  font-weight: 400;
  line-height: 19.375px;
  color: rgb(var(--c-ink-400));
}

/* footLink */
/* STEP 3. .fsdrop-mega-button's BASE style is a filled brand button --
   background, radius, inline-flex centring -- because that is what
   every other kit's foot link draws. HelixDesk's is .linkarrow: plain
   coloured text, no fill, no padding box. That is a ROLE mismatch, not a
   value drift, so the generated padding/font rules alone left a
   button-shaped button in the brand-text colour rather than a link.
   Unset the button's box model explicitly rather than only adding type. */
[data-fs-theme='helixdesk'] [data-fs-nav-panel] .fsdrop-mega-button{
  display: inline;
  align-items: initial;
  justify-content: initial;
  background: none;
  border-radius: 0;
  padding: 0;
  color: rgb(var(--c-brand-600));
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 13px;
  font-weight: 600;
}
[data-fs-theme='helixdesk'] [data-fs-nav-panel] .fsdrop-mega-button:hover,
[data-fs-theme='helixdesk'] [data-fs-nav-panel] .fsdrop-mega-button:focus-visible{
  background: none;
  text-decoration: underline;
}

/* ── THE HEADER, which had never been ported at all ──────────────
   The kit draws the header WITH the menu -- same frame, same rule
   between them -- so it is part of the design, not chrome around it.
   Nothing measured it until now, and it was running platform defaults:
   the wordmark in the body face at weight 400 where the design sets the
   display face at 800, a 69.6px row where the design sets 60, and no
   bottom rule at all. Twenty-three differences in the one part of the
   sheet a visitor sees before anything opens.

   The border COLOUR is inherited from the theme's own line token rather
   than emitted, so this recolours with the site. */

/* navRow */
/* background was missing entirely -- the generated rule only carried
   box and border properties, so the row stayed transparent and showed
   whatever sits behind the header rather than the kit's own white. */
[data-fs-theme='helixdesk'] .fs-hdr-row{
  padding: 0px 20px;
  height: 60px;
  border-bottom-width: 1px;
  background: rgb(var(--c-paper));
}

/* brandmark */
[data-fs-theme='helixdesk'] .fs-hdr-row > a:first-child{
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: -0.3px;
  line-height: 23.25px;
}

/* headerCta */
/* DOUBLED ON PURPOSE, the same trick forecourt-styles.ts documents at
   its own button family: HEADER_CONTACT_CSS ships '.fs-typo
   .fs-hdr-cta' at (0,2,0) to beat the global link colour, and it is
   injected AFTER this sheet -- so a plain [data-fs-theme] .fs-hdr-cta
   ties at (0,2,0) and loses on source order. The attribute and the
   class sit on the SAME element, hence '].fs-typo' with no space:
   (0,3,0), which wins without !important -- and !important would
   block the customer's own Button style panel. */
[data-fs-theme='helixdesk'] .fs-hdr-cta,
[data-fs-theme='helixdesk'].fs-typo .fs-hdr-cta{
  border-radius: 8px;
  padding: 8px 14px;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 13px;
  font-weight: 600;
  line-height: 16px;
}

/* The generated rule sets a width but a border needs a colour and a
   style to draw. Same token the panel's own hairlines use. */
[data-fs-theme='helixdesk'] .fs-hdr-row{
  border-bottom-style:solid;
  border-bottom-color:rgb(var(--c-line));
}


/* ── STEP 1: THE PANEL'S SHAPE ───────────────────────────────────
   Geometry only. Everything here was plain in a screenshot and
   invisible to the gate, because the menu config ignores panel width
   ("1180 mock vs the live band") and every INDIVIDUAL element measured
   correctly while the layout around them was wrong.

   THE TWO LINES THAT MAKE IT POSSIBLE come first, and the first attempt
   at this failed for want of them. .fs-hdr-group is position:relative,
   so it is the containing block for the absolutely-positioned panel --
   left:0;right:0 resolves against a 118px TRIGGER, not the header, and
   produced a single narrow column worse than what it replaced. Making
   the group static hands the panel to .fs-hdr-row instead. */
[data-fs-theme='helixdesk'] .fs-hdr-row{
  position:relative;
}
[data-fs-theme='helixdesk'] .fs-hdr-group:has(.fsdrop-mega-content){
  position:static;
}
[data-fs-theme='helixdesk'] .fsdrop-panel-columns:has(.fsdrop-mega-content){
  left:0 !important;
  right:0 !important;
  width:auto !important;
  max-width:none !important;
  transform:none !important;
  /* Flush to the header: the kit draws one continuous surface with a
     single hairline between nav and panel, where the platform hangs the
     panel 8px below its trigger and bridges the gap for hover. */
  margin-top:0 !important;
  border-top:1px solid rgb(var(--c-line-soft)) !important;
  border-left:0 !important;
  border-right:0 !important;
  border-radius:0 0 14px 14px !important;
  background:rgb(var(--c-paper)) !important;
  /* Not cosmetic -- without clipping, column text ran out over the hero
     behind the panel. */
  overflow:hidden;
  padding:0 !important;
  /* NavGroup sets tracks INLINE from the theme's column count, so this
     needs !important or it silently does nothing. */
  grid-template-columns:1fr !important;
  gap:0 !important;
}
/* The child-page column is hidden: all four columns are authored, and
   rows that map to a real page carry a pageType, so nothing becomes
   unreachable. Without this the panel opens with a stray "Knowledge
   base" heading down the left. */
[data-fs-theme='helixdesk'] .fsdrop-panel-columns > .fsdrop-mega-col{
  display:none;
}
/* The content cell IS the grid: four columns, then the foot strip on
   its own full-width row.

   STEP 2, and the fix for the dead track the first pass of step 1 left
   behind: NavGroup sets gridTemplateColumns INLINE from the theme's own
   columns: 5 -- four link columns plus the foot's own index -- so
   without !important this rule's repeat(4,1fr) was silently beaten by
   the inline repeat(5,1fr), exactly as the comment on the panel rule
   above already warned. Measured: five 280.6px tracks where four were
   wanted, the fifth an empty column of dead space nobody drew into,
   because nth-child(5) spans 1/-1 and never occupies its own track. */
/* :not(:has()) because these four tracks are for the GENERIC-BLOCK
   directory, which is still the fallback panel. A composite is one
   thing, not four columns, and this rule's !important at (0,3,0) was
   beating the platform's composite rule -- M1's columns came out
   135/124/136/119px in the left 514px of a 1360px panel. */
[data-fs-theme='helixdesk'] .fsdrop-panel-columns > .fsdrop-mega-content:not(:has(.fsdrop-mega-composite)){
  display:grid;
  grid-template-columns:repeat(4, 1fr) !important;
  gap:0;
}
[data-fs-theme='helixdesk'] .fsdrop-panel-columns .fsdrop-mega-content:not(:has(.fsdrop-mega-composite)) .fsdrop-mega-content-col:nth-child(5){
  grid-column:1 / -1;
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:14px;
  padding:14px 22px;
  border-top:1px solid rgb(var(--c-line-soft));
  background:rgb(var(--c-paper-soft));
}

/* ── THE COMPOSITE PANEL — helixdesk.m1 ─────────────────────────
   The design's own CSS, transplanted alongside its markup (see
   themes/helixdesk-menus.tsx). Values are the kit's; colours are the
   platform's TOKENS rather than the kit's literals, so the panel
   recolours with the customer's palette and the AA solvers still apply.

   Scoped under [data-fs-theme='helixdesk'] and prefixed fs-hxm-, which
   is the isolation guarantee: this cannot reach another theme's panel,
   and another theme's rules cannot reach this one. */
[data-fs-theme='helixdesk'] .fsdrop-mega-composite{
  display:block;
}
/* The design's inherited context, re-established at the panel root.
   Every value below is one the kit set on <body> and its descendants
   relied on without restating. */
[data-fs-theme='helixdesk'] .fs-hlxm-wrap {
  font-family:'IBM Plex Sans', system-ui, sans-serif;
  font-size:15px;
  font-weight:initial;
  font-style:initial;
  line-height:1.55;
  letter-spacing:initial;
  word-spacing:initial;
  color:rgb(var(--c-ink-950));
  text-transform:initial;
  -webkit-font-smoothing:antialiased;
  font-variant-numeric:initial;
}

/* The design's inheritance model, re-established for descendants.
   Inheritance never beats a direct declaration, so a root baseline
   alone cannot undo a platform rule that targets a bare tag. */
[data-fs-theme='helixdesk'] .fs-hlxm-wrap *:not(button):not(input):not(select):not(textarea) {
  line-height:inherit;
  letter-spacing:inherit;
  word-spacing:inherit;
  text-transform:inherit;
  font-variant-numeric:inherit;
}

/* What the UA gives a form control on the design page, said out
   loud, because the port's CSS reset does not give the same thing. */
[data-fs-theme='helixdesk'] .fs-hlxm-wrap :is(button,input,select,textarea) {
  line-height:normal;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-mono {
  font-family:'IBM Plex Mono', ui-monospace, monospace;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-eyebrow {
  font-family:'IBM Plex Mono', ui-monospace, monospace;
  font-size:12px;
  font-weight:600;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:rgb(var(--c-ink-400));
  margin:0 0 12px;
  display:block;
  line-height:16.275px;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-cols {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  padding:0;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-col {
  padding:24px 22px;
  border-right:1px solid rgb(var(--c-line-soft));
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-col:last-child {
  border-right:none;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-col ul {
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-col a {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  text-decoration:none;
  color:rgb(var(--c-ink-950));
  font-size:13.5px;
  padding:7px 8px;
  border-radius:7px;
  margin:0 -8px;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-col a:hover {
  background:rgb(var(--c-line-soft));
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-col a .fs-hlxm-n {
  font-family:'IBM Plex Mono', ui-monospace, monospace;
  font-size:12px;
  color:rgb(var(--c-ink-400));
  line-height:17.050px;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-colfoot {
  background:rgb(var(--c-paper-soft));
  padding:14px 22px;
  border-top:1px solid rgb(var(--c-line-soft));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-colfoot span {
  font-size:12.5px;
  color:rgb(var(--c-ink-400));
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-linkarrow {
  color:rgb(var(--c-brand-600));
  font-size:13px;
  font-weight:600;
  text-decoration:none;
  font-family:'Plus Jakarta Sans', system-ui, sans-serif;
}

@media (max-width:820px) {
  [data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-cols {
    grid-template-columns:repeat(2,1fr);
  }
}

/* A COMPOSITE IS THE WHOLE PANEL, so the content grid stops being a grid.
   Phase 1's rule gives this panel four tracks and 24px/22px of padding
   per column, which is right for generic blocks and wrong for a
   transplanted design: the composite landed in track one at 559px of a
   1425px band, with every link wrapping, and the column's padding
   doubling the design's own.

   Scoped with :has() so a panel of generic blocks keeps the four-column
   treatment exactly as it is -- both shapes coexist, which is the point
   of a composite being a block kind rather than a replacement. */
/* Moved to dropdown-styles.ts: it is true of every theme with a
   composite, not of this one, and it was scoped to a single mega style. */

/* The header status pill, from the kit. Colour comes from the SOLVED
   status tokens rather than the sheet's literal green -- themes/apply.ts
   solves --fs-status-ok and -tint per palette to clear AA, which is this
   theme's own thesis: a status colour only ever means state. */
[data-fs-theme='helixdesk'] .fs-hdr-composite{
  display:inline-flex;
  align-items:center;
}
[data-fs-theme='helixdesk'] .fs-hxm-statuspill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-family:'IBM Plex Mono', ui-monospace, monospace;
  font-size:12px;
  font-weight:500;
  color:rgb(var(--fs-status-ok, var(--c-accent)));
  background:rgb(var(--fs-status-ok-tint, var(--c-paper-soft)));
  padding:5px 9px;
  border-radius:99px;
  white-space:nowrap;
}
[data-fs-theme='helixdesk'] .fs-hxm-statuspill::before{
  content:'';
  width:6px;
  height:6px;
  border-radius:99px;
  background:rgb(var(--fs-status-ok, var(--c-accent)));
}
/* Below the nav breakpoint the pill is the first thing to give up room,
   same rule the trust note beside it follows. */
@media (max-width: 1023px){
  [data-fs-theme='helixdesk'] .fs-hdr-composite{ display:none; }
}
/* ---- M2, generated by scripts/port-menu.mjs ---- */
/* The design's inherited context, re-established at the panel root.
   Every value below is one the kit set on <body> and its descendants
   relied on without restating. */
[data-fs-theme='helixdesk'] .fs-hlxm-wrap {
  font-family:'IBM Plex Sans', system-ui, sans-serif;
  font-size:15px;
  font-weight:initial;
  font-style:initial;
  line-height:1.55;
  letter-spacing:initial;
  word-spacing:initial;
  color:rgb(var(--c-ink-950));
  text-transform:initial;
  -webkit-font-smoothing:antialiased;
  font-variant-numeric:initial;
}

/* The design's inheritance model, re-established for descendants.
   Inheritance never beats a direct declaration, so a root baseline
   alone cannot undo a platform rule that targets a bare tag. */
[data-fs-theme='helixdesk'] .fs-hlxm-wrap *:not(button):not(input):not(select):not(textarea) {
  line-height:inherit;
  letter-spacing:inherit;
  word-spacing:inherit;
  text-transform:inherit;
  font-variant-numeric:inherit;
}

/* What the UA gives a form control on the design page, said out
   loud, because the port's CSS reset does not give the same thing. */
[data-fs-theme='helixdesk'] .fs-hlxm-wrap :is(button,input,select,textarea) {
  line-height:normal;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-eyebrow {
  font-family:'IBM Plex Mono', ui-monospace, monospace;
  font-size:12px;
  font-weight:600;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:rgb(var(--c-ink-400));
  margin:0 0 12px;
  display:block;
  line-height:16.275px;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-col {
  padding:24px 22px;
  border-right:1px solid rgb(var(--c-line-soft));
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-col:last-child {
  border-right:none;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-col ul {
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-col a {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  text-decoration:none;
  color:rgb(var(--c-ink-950));
  font-size:13.5px;
  padding:7px 8px;
  border-radius:7px;
  margin:0 -8px;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-col a:hover {
  background:rgb(var(--c-line-soft));
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-spot {
  display:grid;
  grid-template-columns:1fr 1fr 340px;
  gap:0;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-spot .fs-hlxm-col {
  border-right:1px solid rgb(var(--c-line-soft));
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-spotcard {
  padding:22px;
  background:rgb(var(--c-paper-soft));
  display:flex;
  flex-direction:column;
  gap:12px;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-spotimg {
  height:104px;
  border-radius:10px;
  background:linear-gradient(140deg,rgb(var(--c-brand-600)),#0E9F7E);
  position:relative;
  overflow:hidden;
  flex:none;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-spotimg::after {
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(120px 60px at 78% 20%, rgba(255,255,255,.35), transparent 70%);
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-spotimg b {
  position:absolute;
  left:14px;
  bottom:12px;
  color:#fff;
  font-family:'Plus Jakarta Sans', system-ui, sans-serif;
  font-weight:700;
  font-size:15px;
  letter-spacing:-.2px;
  z-index:1;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-spotcard h4 {
  font-family:'Plus Jakarta Sans', system-ui, sans-serif;
  font-size:14.5px;
  font-weight:700;
  margin:0;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-spotcard p {
  margin:0;
  font-size:13px;
  color:rgb(var(--c-ink-400));
  line-height:1.5;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-linkarrow {
  color:rgb(var(--c-brand-600));
  font-size:13px;
  font-weight:600;
  text-decoration:none;
  font-family:'Plus Jakarta Sans', system-ui, sans-serif;
}

@media (max-width:820px) {
  [data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-spot {
    grid-template-columns:1fr;
  }
}

/* ---- M3, generated by scripts/port-menu.mjs ---- */
/* The design's inherited context, re-established at the panel root.
   Every value below is one the kit set on <body> and its descendants
   relied on without restating. */
[data-fs-theme='helixdesk'] .fs-hlxm-wrap {
  font-family:'IBM Plex Sans', system-ui, sans-serif;
  font-size:15px;
  font-weight:initial;
  font-style:initial;
  line-height:1.55;
  letter-spacing:initial;
  word-spacing:initial;
  color:rgb(var(--c-ink-950));
  text-transform:initial;
  -webkit-font-smoothing:antialiased;
  font-variant-numeric:initial;
}

/* The design's inheritance model, re-established for descendants.
   Inheritance never beats a direct declaration, so a root baseline
   alone cannot undo a platform rule that targets a bare tag. */
[data-fs-theme='helixdesk'] .fs-hlxm-wrap *:not(button):not(input):not(select):not(textarea) {
  line-height:inherit;
  letter-spacing:inherit;
  word-spacing:inherit;
  text-transform:inherit;
  font-variant-numeric:inherit;
}

/* What the UA gives a form control on the design page, said out
   loud, because the port's CSS reset does not give the same thing. */
[data-fs-theme='helixdesk'] .fs-hlxm-wrap :is(button,input,select,textarea) {
  line-height:normal;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-tiles {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  padding:22px;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-tile {
  border:1px solid rgb(var(--c-line));
  border-radius:12px;
  padding:16px;
  background:rgb(var(--c-paper));
  display:flex;
  flex-direction:column;
  gap:9px;
  cursor:pointer;
  text-decoration:none;
  color:inherit;
  transition:border-color .16s ease, transform .16s ease;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-tile:hover {
  border-color:rgb(var(--c-brand-600));
  transform:translateY(-2px);
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-ticon {
  width:34px;
  height:34px;
  border-radius:9px;
  display:grid;
  place-items:center;
  background:rgb(var(--c-brand-50));
  color:rgb(var(--c-brand-600));
  flex:none;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-tile b {
  font-family:'Plus Jakarta Sans', system-ui, sans-serif;
  font-size:13.5px;
  font-weight:700;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-tile span {
  font-size:12px;
  color:rgb(var(--c-ink-400));
  line-height:1.45;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-tile .fs-hlxm-badge {
  font-family:'IBM Plex Mono', ui-monospace, monospace;
  font-size:12px;
  padding:2px 6px;
  border-radius:5px;
  align-self:flex-start;
  font-weight:500;
  line-height:15.500px;
}

@media (max-width:820px) {
  [data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-tiles {
    grid-template-columns:repeat(2,1fr);
  }
}

/* ---- M4, generated by scripts/port-menu.mjs ---- */
/* The design's inherited context, re-established at the panel root.
   Every value below is one the kit set on <body> and its descendants
   relied on without restating. */
[data-fs-theme='helixdesk'] .fs-hlxm-wrap {
  font-family:'IBM Plex Sans', system-ui, sans-serif;
  font-size:15px;
  font-weight:initial;
  font-style:initial;
  line-height:1.55;
  letter-spacing:initial;
  word-spacing:initial;
  color:rgb(var(--c-ink-950));
  text-transform:initial;
  -webkit-font-smoothing:antialiased;
  font-variant-numeric:initial;
}

/* The design's inheritance model, re-established for descendants.
   Inheritance never beats a direct declaration, so a root baseline
   alone cannot undo a platform rule that targets a bare tag. */
[data-fs-theme='helixdesk'] .fs-hlxm-wrap *:not(button):not(input):not(select):not(textarea) {
  line-height:inherit;
  letter-spacing:inherit;
  word-spacing:inherit;
  text-transform:inherit;
  font-variant-numeric:inherit;
}

/* What the UA gives a form control on the design page, said out
   loud, because the port's CSS reset does not give the same thing. */
[data-fs-theme='helixdesk'] .fs-hlxm-wrap :is(button,input,select,textarea) {
  line-height:normal;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-statuspill {
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-family:'IBM Plex Mono', ui-monospace, monospace;
  font-size:12px;
  font-weight:500;
  color:rgb(var(--fs-status-ok));
  background:rgb(var(--fs-status-ok-tint));
  padding:5px 9px;
  border-radius:99px;
  line-height:17.050px;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-statuspill::before {
  content:'';
  width:6px;
  height:6px;
  border-radius:99px;
  background:rgb(var(--fs-status-ok));
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-mono {
  font-family:'IBM Plex Mono', ui-monospace, monospace;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-split {
  display:grid;
  grid-template-columns:236px 1fr;
  min-height:288px;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-rail {
  background:rgb(var(--c-paper-soft));
  border-right:1px solid rgb(var(--c-line));
  padding:16px 12px;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-railitem {
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 11px;
  border-radius:8px;
  font-size:13.5px;
  cursor:pointer;
  color:rgb(var(--c-ink-700));
  border:none;
  background:none;
  width:100%;
  text-align:left;
  font-family:'IBM Plex Sans', system-ui, sans-serif;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-railitem:hover {
  background:rgb(var(--c-line-soft));
  color:rgb(var(--c-ink-950));
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-railitem.fs-hlxm-on {
  background:rgb(var(--c-paper));
  color:rgb(var(--c-ink-950));
  font-weight:600;
  box-shadow:0 1px 2px rgba(15,33,56,.05), 0 12px 28px rgba(15,33,56,.08);
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-railitem .fs-hlxm-g {
  width:20px;
  height:20px;
  border-radius:6px;
  background:rgb(var(--c-brand-50));
  color:rgb(var(--c-brand-600));
  display:grid;
  place-items:center;
  flex:none;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-preview {
  padding:24px;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-pv[hidden] {
  display:none;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-pv h4 {
  font-family:'Plus Jakarta Sans', system-ui, sans-serif;
  font-size:17px;
  font-weight:700;
  margin:0 0 6px;
  letter-spacing:-.2px;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-pv > p {
  margin:0 0 16px;
  color:rgb(var(--c-ink-400));
  font-size:13.5px;
  max-width:58ch;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-pvgrid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-pvcard {
  border:1px solid rgb(var(--c-line));
  border-radius:10px;
  padding:13px;
  background:rgb(var(--c-paper));
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-pvcard b {
  display:block;
  font-family:'Plus Jakarta Sans', system-ui, sans-serif;
  font-size:13px;
  font-weight:700;
  margin-bottom:4px;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-pvcard span {
  font-size:12px;
  color:rgb(var(--c-ink-400));
  line-height:16.675px;
  display:block;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-slabar {
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid rgb(var(--c-line-soft));
  flex-wrap:wrap;
}

@media (max-width:820px) {
  [data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-pvgrid {
    grid-template-columns:repeat(2,1fr);
  }
}

@media (max-width:820px) {
  [data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-split {
    grid-template-columns:1fr;
  }
}

/* ---- M5, generated by scripts/port-menu.mjs ---- */
/* The design's inherited context, re-established at the panel root.
   Every value below is one the kit set on <body> and its descendants
   relied on without restating. */
[data-fs-theme='helixdesk'] .fs-hlxm-wrap {
  font-family:'IBM Plex Sans', system-ui, sans-serif;
  font-size:15px;
  font-weight:initial;
  font-style:initial;
  line-height:1.55;
  letter-spacing:initial;
  word-spacing:initial;
  color:rgb(var(--c-ink-950));
  text-transform:initial;
  -webkit-font-smoothing:antialiased;
  font-variant-numeric:initial;
}

/* The design's inheritance model, re-established for descendants.
   Inheritance never beats a direct declaration, so a root baseline
   alone cannot undo a platform rule that targets a bare tag. */
[data-fs-theme='helixdesk'] .fs-hlxm-wrap *:not(button):not(input):not(select):not(textarea) {
  line-height:inherit;
  letter-spacing:inherit;
  word-spacing:inherit;
  text-transform:inherit;
  font-variant-numeric:inherit;
}

/* What the UA gives a form control on the design page, said out
   loud, because the port's CSS reset does not give the same thing. */
[data-fs-theme='helixdesk'] .fs-hlxm-wrap :is(button,input,select,textarea) {
  line-height:normal;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-linkarrow {
  color:rgb(var(--c-brand-600));
  font-size:13px;
  font-weight:600;
  text-decoration:none;
  font-family:'Plus Jakarta Sans', system-ui, sans-serif;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-canvas {
  background:linear-gradient(160deg,rgb(var(--c-ink-950)) 0%,#16304D 60%,#123A4E 100%);
  color:#E8EFF8;
  padding:30px 26px;
  position:relative;
  overflow:hidden;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-canvas::before {
  content:'';
  position:absolute;
  right:-80px;
  top:-90px;
  width:340px;
  height:340px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(143,230,206,.22),transparent 65%);
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-canvas::after {
  content:'';
  position:absolute;
  left:20%;
  bottom:-140px;
  width:300px;
  height:300px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(35,83,224,.35),transparent 68%);
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-canvas > * {
  position:relative;
  z-index:1;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-canvashead {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:20px;
  flex-wrap:wrap;
  margin-bottom:22px;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-canvashead h3 {
  font-family:'Plus Jakarta Sans', system-ui, sans-serif;
  font-weight:800;
  font-size:23px;
  margin:0;
  letter-spacing:-.5px;
  color:#fff;
  text-wrap:balance;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-canvashead p {
  margin:5px 0 0;
  color:#9FB4CE;
  font-size:13.5px;
  max-width:46ch;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-cgrid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-ccard {
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.11);
  border-radius:12px;
  padding:16px;
  backdrop-filter:blur(6px);
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-ccard b {
  display:block;
  font-family:'Plus Jakarta Sans', system-ui, sans-serif;
  font-size:14px;
  font-weight:700;
  color:#fff;
  margin-bottom:5px;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-ccard span {
  font-size:12.5px;
  color:#9FB4CE;
  line-height:1.5;
  display:block;
}

[data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-metric {
  font-family:'IBM Plex Mono', ui-monospace, monospace;
  font-size:26px;
  font-weight:600;
  color:#8FE6CE;
  letter-spacing:-1px;
  display:block;
  margin-bottom:2px;
}

@media (max-width:820px) {
  [data-fs-theme='helixdesk'] .fs-hlxm-wrap .fs-hlxm-cgrid {
    grid-template-columns:repeat(2,1fr);
  }
}



/* ── The two pinned constants ──────────────────────────────────── */
/* Declared on the theme AND on the family root, because the hero is a
   universal block (it carries no .fs-gate class) while the ride lozenge
   is one of ours. */
[data-fs-theme='turnstile'], .fs-gate {
  --fs-gate-scrim: 24 15 8;
  --fs-gate-on-scrim: 251 244 231;
}

/* THE SCRIM IS NOT A PALETTE COLOUR, and this is the whole reason it is
   pinned. The platform hero paints its scrim from ink-950, which is the
   INK token — in a dark palette ink-950 is nearly white, so the gradient
   that exists to keep white type readable over a photograph inverts and
   washes the type out instead. Verified by shooting the hero in dark
   mode: the headline survived, the intro line and the second CTA did
   not. A scrim protects type from an image and has no business tracking
   the palette in either direction. */
[data-fs-theme='turnstile'] .fs-hero-full-scrim {
  background-image: linear-gradient(
    to top,
    rgb(var(--fs-gate-scrim) / 0.88) 0%,
    rgb(var(--fs-gate-scrim) / 0.62) 45%,
    rgb(var(--fs-gate-scrim) / 0.34) 100%
  );
}

/* ── Shared vocabulary ─────────────────────────────────────────── */
.fs-gate {
  position: relative;
  isolation: isolate;
  color: rgb(var(--c-ink-950));
}
.fs-gate *, .fs-gate *::before, .fs-gate *::after { box-sizing: border-box; }
.fs-gate-shell {
  width: min(100% - 2.5rem, var(--fs-shell, 72rem));
  margin-inline: auto;
}
.fs-gate-head { margin-bottom: var(--fs-space-heading, 2rem); }
.fs-gate-eyebrow {
  font-size: var(--fs-type-eyebrow, 0.75rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgb(var(--c-brand-600));
  margin-bottom: 0.5rem;
}
.fs-gate-lede {
  color: rgb(var(--c-ink-700));
  max-width: 60ch;
  margin-top: 0.6rem;
}

/* The height-band chip. Shared by the roster and the finder on purpose:
   it is the same vocabulary the gate wristbands use, so a visitor who
   learns it once on the roster reads the finder without a legend. */
.fs-gate-chip {
  display: inline-flex; align-items: center; gap: 0.45em;
  padding: 0.22em 0.9em;
  border-radius: var(--fs-radius-pill, 999px);
  font-size: var(--fs-type-caption, 0.875rem);
  font-weight: 700;
  border: 2px solid rgb(var(--c-ink-950) / 0.14);
  background: rgb(var(--c-paper));
  white-space: nowrap;
}
.fs-gate-chip::before {
  content: ''; width: 0.55em; height: 0.55em; border-radius: 999px;
  background: var(--fs-gate-chip-ink, rgb(var(--c-brand-600)));
  flex: none;
}
.fs-gate-chip.is-acorn  { --fs-gate-chip-ink: rgb(var(--c-brand-600)); }
.fs-gate-chip.is-sapling { --fs-gate-chip-ink: rgb(var(--c-accent)); }
.fs-gate-chip.is-rowan  { --fs-gate-chip-ink: rgb(var(--c-brand-700)); }
.fs-gate-chip.is-oak    { --fs-gate-chip-ink: rgb(var(--c-ink-950)); }

/* ── favGateRides — the ride roster ────────────────────────────── */
.fs-gate-rides {
  display: grid; gap: var(--fs-space-gap, 1.25rem);
  grid-template-columns: repeat(auto-fit, minmax(min(17rem, 100%), 1fr));
}
.fs-gate-ride {
  display: flex; flex-direction: column;
  background: rgb(var(--c-paper-soft));
  border: 1px solid rgb(var(--c-ink-950) / 0.12);
  border-radius: var(--fs-radius-card, 1rem);
  box-shadow: var(--fs-shadow-card, 0 1px 2px rgb(0 0 0 / 0.08));
  overflow: hidden;
}
.fs-gate-ride-photo { aspect-ratio: 3 / 2; position: relative; overflow: hidden; }
/* The picture is absolutely placed so the FRAME's aspect ratio rules.
   Letting the image participate in layout stretches the frame to the
   photo's intrinsic height and every card comes out a different shape. */
.fs-gate-ride-photo picture,
.fs-gate-ride-photo img { position: absolute; inset: 0; }
.fs-gate-ride-photo img { width: 100%; height: 100%; object-fit: cover; }
.fs-gate-ride-zone {
  position: absolute; left: 0.8rem; top: 0.8rem; z-index: 1;
  padding: 0.2em 0.85em;
  border-radius: var(--fs-radius-pill, 999px);
  background: rgb(var(--fs-gate-scrim) / 0.72);
  color: rgb(var(--fs-gate-on-scrim));
  font-size: var(--fs-type-eyebrow, 0.75rem);
  font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase;
}
.fs-gate-ride-body { display: grid; gap: 0.45rem; padding: var(--fs-space-card, 1.25rem); }
.fs-gate-ride-body h3 { display: flex; align-items: center; gap: 0.5em; flex-wrap: wrap; }
.fs-gate-ride-body p { font-size: var(--fs-type-caption, 0.875rem); color: rgb(var(--c-ink-700)); }
.fs-gate-ride-foot {
  display: flex; align-items: center; gap: 0.6rem; flex-wrap: wrap;
  margin-top: auto;
  padding: 0 var(--fs-space-card, 1.25rem) var(--fs-space-card, 1.25rem);
}
/* Thrill rating: filled dots against unfilled, so it reads at a glance
   without a number and without depending on hue. */
.fs-gate-thrill { display: inline-flex; gap: 0.22em; align-items: center; }
.fs-gate-thrill i {
  width: 0.5em; height: 0.5em; border-radius: 999px;
  background: rgb(var(--c-accent)); font-style: normal;
}
.fs-gate-thrill i.is-off { background: rgb(var(--c-ink-950) / 0.16); }

/* ── favGateHeights — the ride finder ──────────────────────────── */
.fs-gate-picker {
  display: flex; flex-wrap: wrap; gap: var(--fs-space-gap, 1.25rem);
  margin-bottom: var(--fs-space-heading, 2rem);
}
.fs-gate-picker button {
  display: inline-flex; align-items: center; gap: 0.5em;
  min-height: 44px; padding: 0.4em 1.2em;
  border-radius: var(--fs-radius-pill, 999px);
  border: 2px solid rgb(var(--c-ink-950) / 0.12);
  font: inherit; font-weight: 700; cursor: pointer;
  background: rgb(var(--c-paper-soft));
  color: rgb(var(--c-ink-950));
  transition: border-color var(--fs-motion-hover, 160ms) ease,
              background var(--fs-motion-hover, 160ms) ease;
}
.fs-gate-picker button[aria-pressed='true'] {
  border-color: rgb(var(--c-brand-600));
  background: rgb(var(--c-brand-50) / 0.55);
}
.fs-gate-picker button:focus-visible {
  outline: none;
  box-shadow: 0 0 0 4px rgb(var(--c-brand-600) / 0.35);
}
.fs-gate-bands {
  display: grid; gap: var(--fs-space-gap, 1.25rem);
  grid-template-columns: repeat(auto-fit, minmax(min(15rem, 100%), 1fr));
}
.fs-gate-band {
  border: 2px solid rgb(var(--c-ink-950) / 0.12);
  border-radius: var(--fs-radius-card, 1rem);
  background: rgb(var(--c-paper-soft));
  padding: var(--fs-space-card, 1.25rem);
  transition: opacity var(--fs-motion-hover, 160ms) ease,
              border-color var(--fs-motion-hover, 160ms) ease,
              transform var(--fs-motion-hover, 160ms) ease;
}
/* Dimmed, not hidden: a parent still wants to see what the next band up
   would unlock, which is the whole argument for booking the taller
   child's ticket. */
.fs-gate-band.is-out { opacity: 0.45; }
.fs-gate-band.is-edge {
  border-color: rgb(var(--c-brand-600));
  transform: translateY(-3px);
}
.fs-gate-band-head {
  display: flex; align-items: center; justify-content: space-between;
  gap: 0.5rem; margin-bottom: var(--fs-space-stack, 0.75rem);
}
.fs-gate-band ul {
  list-style: none; margin: 0; padding: 0;
  display: grid; gap: 0.28rem;
  font-size: var(--fs-type-caption, 0.875rem); font-weight: 600;
}
.fs-gate-band li { display: flex; gap: 0.5em; align-items: center; }
.fs-gate-band li::before {
  content: ''; width: 0.4em; height: 0.4em; border-radius: 999px;
  background: var(--fs-gate-chip-ink, rgb(var(--c-brand-600)));
  flex: none;
}
.fs-gate-band-note {
  margin-top: var(--fs-space-stack, 0.75rem);
  font-size: var(--fs-type-eyebrow, 0.75rem);
  font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase;
  color: rgb(var(--c-ink-400));
}
/* The count line answers the question in words. The finder exists so a
   parent can plan, and "14 of our 24 rides" is the plan. */
.fs-gate-count { margin-top: var(--fs-space-heading, 2rem); font-weight: 700; }

/* ── favGateBoard — the painted price board ────────────────────── */
.fs-gate-board {
  position: relative; isolation: isolate; overflow: hidden;
  background: rgb(var(--c-paper-soft));
  border: 2px solid rgb(var(--c-ink-950) / 0.55);
  border-radius: var(--fs-radius-card, 1rem);
  box-shadow: var(--fs-shadow-lift, 0 8px 24px rgb(0 0 0 / 0.12));
  padding: var(--fs-space-card, 1.25rem);
  display: grid; gap: var(--fs-space-gap, 1.25rem);
}
.fs-gate-sunburst {
  position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1;
}
.fs-gate-prices {
  display: grid; gap: var(--fs-space-gap, 1.25rem);
  grid-template-columns: repeat(auto-fit, minmax(min(13rem, 100%), 1fr));
}
.fs-gate-price {
  border: 1px solid rgb(var(--c-ink-950) / 0.12);
  border-radius: var(--fs-radius-card, 1rem);
  background: rgb(var(--c-paper) / 0.6);
  padding: var(--fs-space-card, 1.25rem);
  text-align: center; display: grid; gap: 0.3rem;
}
/* The one number the design exists to show. Display face, h2 size: a
   from-price in body copy is what every competitor does. */
.fs-gate-price b {
  font-family: var(--font-display, Georgia, serif);
  font-weight: 400;
  font-size: var(--fs-type-h2, 2rem);
  line-height: 1.1;
  color: rgb(var(--c-brand-600));
}
.fs-gate-price small {
  font-size: var(--fs-type-caption, 0.875rem);
  font-weight: 600; color: rgb(var(--c-ink-700));
}
/* The family total, in a dashed ticket. No competitor totals a family;
   this is the block's reason to exist, so it gets the same type size as
   the individual prices rather than being a footnote under them. */
.fs-gate-family {
  position: relative;
  border: 2px dashed rgb(var(--c-accent));
  border-radius: var(--fs-radius-card, 1rem);
  background: rgb(var(--c-brand-50) / 0.45);
  padding: var(--fs-space-card, 1.25rem);
  display: grid; gap: 0.35rem;
}
.fs-gate-family b {
  font-family: var(--font-display, Georgia, serif);
  font-weight: 400;
  font-size: var(--fs-type-h2, 2rem);
  color: rgb(var(--c-brand-600));
}
.fs-gate-small {
  font-size: var(--fs-type-caption, 0.875rem);
  color: rgb(var(--c-ink-700));
}
.fs-gate-small ul { margin: 0; padding: 0; display: grid; gap: 0.3rem; }
.fs-gate-small li { list-style: none; display: flex; gap: 0.5em; align-items: flex-start; }
.fs-gate-small svg {
  width: 1.1em; height: 1.1em; flex: none;
  margin-top: 0.15em; color: rgb(var(--c-accent));
}

/* ── favGatePlanner — the season strip and the promises ────────── */
.fs-gate-season {
  display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 0.3rem;
  margin-bottom: var(--fs-space-heading, 2rem);
}
.fs-gate-month {
  display: grid; place-items: center; gap: 0.15rem;
  padding: 0.5em 0.2em;
  border-radius: var(--fs-radius-control, 0.5rem);
  font-size: var(--fs-type-eyebrow, 0.75rem);
  font-weight: 700; letter-spacing: 0.04em;
  border: 1px solid rgb(var(--c-ink-950) / 0.12);
  background: rgb(var(--c-paper-soft));
  color: rgb(var(--c-ink-400));
  text-align: center;
}
.fs-gate-month i { font-style: normal; font-size: 0.85em; }
/* Open-ness differs by fill AND border style, never fill alone: three
   states at this size need a second channel to stay readable. */
.fs-gate-month.is-daily {
  background: rgb(var(--c-brand-50) / 0.7);
  border-color: rgb(var(--c-brand-600) / 0.5);
  color: rgb(var(--c-ink-950));
}
.fs-gate-month.is-weekends {
  background: rgb(var(--c-paper-soft));
  border-color: rgb(var(--c-accent) / 0.6);
  color: rgb(var(--c-ink-700));
}
.fs-gate-month.is-events {
  border-style: dashed; border-color: rgb(var(--c-accent));
  color: rgb(var(--c-ink-700));
}
.fs-gate-key {
  display: flex; flex-wrap: wrap; gap: var(--fs-space-gap, 1.25rem);
  font-size: var(--fs-type-caption, 0.875rem); font-weight: 600;
  color: rgb(var(--c-ink-700));
  margin-bottom: var(--fs-space-heading, 2rem);
}
.fs-gate-key span { display: inline-flex; align-items: center; gap: 0.45em; }
.fs-gate-key i {
  width: 0.9em; height: 0.9em; border-radius: 0.25em; font-style: normal;
  border: 1px solid rgb(var(--c-ink-950) / 0.12);
}
.fs-gate-key .k-daily { background: rgb(var(--c-brand-50) / 0.7); border-color: rgb(var(--c-brand-600) / 0.5); }
.fs-gate-key .k-weekends { border-color: rgb(var(--c-accent) / 0.7); }
.fs-gate-key .k-events { border-style: dashed; border-color: rgb(var(--c-accent)); }
.fs-gate-promises {
  display: grid; gap: var(--fs-space-gap, 1.25rem);
  grid-template-columns: repeat(auto-fit, minmax(min(16rem, 100%), 1fr));
}
.fs-gate-promise {
  display: grid; grid-template-columns: 2.6rem minmax(0, 1fr); gap: 0.8rem;
  align-items: start;
  background: rgb(var(--c-paper-soft));
  border: 1px solid rgb(var(--c-ink-950) / 0.12);
  border-radius: var(--fs-radius-card, 1rem);
  box-shadow: var(--fs-shadow-card, 0 1px 2px rgb(0 0 0 / 0.08));
  padding: var(--fs-space-card, 1.25rem);
}
.fs-gate-promise svg { width: 2.6rem; height: 2.6rem; color: rgb(var(--c-brand-600)); }
.fs-gate-promise h3 {
  font-size: var(--fs-type-body, 1rem);
  font-family: var(--font-sans, system-ui, sans-serif);
  font-weight: 700; margin-bottom: 0.2rem;
}
.fs-gate-promise p { font-size: var(--fs-type-caption, 0.875rem); color: rgb(var(--c-ink-700)); }

/* ── favGateSafety — the checked-every-morning panel ───────────── */
.fs-gate-safety {
  /* The one deliberately dark band per page: the change of register from
     the painted front-of-house to the engineering shed behind it.
     Painted with palette tokens, so dark mode inverts it gracefully. */
  background: rgb(var(--c-ink-950));
  color: rgb(var(--c-paper));
  border-radius: var(--fs-radius-card, 1rem);
  padding: calc(var(--fs-space-card, 1.25rem) * 1.6);
  display: grid; gap: var(--fs-space-heading, 2rem);
}
.fs-gate-safety .fs-gate-eyebrow { color: rgb(var(--c-accent)); }
.fs-gate-safety h2 { color: rgb(var(--c-paper)); }
.fs-gate-safety p { color: rgb(var(--c-paper) / 0.8); }
.fs-gate-safety a { color: rgb(var(--c-accent)); }
.fs-gate-facts {
  display: grid; gap: var(--fs-space-gap, 1.25rem);
  grid-template-columns: repeat(auto-fit, minmax(min(13rem, 100%), 1fr));
}
.fs-gate-fact {
  border: 1px solid rgb(var(--c-paper) / 0.22);
  border-radius: var(--fs-radius-card, 1rem);
  padding: var(--fs-space-card, 1.25rem);
  display: grid; gap: 0.3rem;
}
.fs-gate-fact b {
  font-family: var(--font-display, Georgia, serif);
  font-weight: 400;
  font-size: var(--fs-type-h3, 1.5rem);
  color: rgb(var(--c-accent));
}
.fs-gate-fact span { font-size: var(--fs-type-caption, 0.875rem); color: rgb(var(--c-paper) / 0.75); }

/* ── Reduced motion ────────────────────────────────────────────── */
/* SCOPED to animation and transition only, deliberately. The blanket
   opacity/transform reset used elsewhere in the registry would repaint
   the finder's dimmed bands to full opacity and flatten the selected
   band's lift, erasing the one piece of state this family carries.
   Found live in the prototype; recorded in PITFALLS. */
@media (prefers-reduced-motion: reduce) {
  .fs-gate-band,
  .fs-gate-picker button {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* ── favGateFooter (theme-chrome batch 6, Turnstile) ───────────────
   The board at the gate. fs-gate-ft: the full-bleed band on the page
   ground (named container); fs-gate-ft-in: the content box, which
   narrows with the Layout (named container). One plywood board with
   the sunburst rising from below its foot and a hard 7px shadow; the
   big wheel on its brand halo; the fourth column the dark plaque (ink
   ground and page words in both modes, so it turns light at night, as
   favGateSafety does). */
.fs-gate-ft{container-type:inline-size;container-name:fs-gate-ft;padding:0 clamp(1rem,4vw,2.5rem);background:rgb(var(--c-paper));--gate-ft-rule:rgb(var(--c-ink-950) / .13);--gate-ft-edge:rgb(var(--c-ink-950) / .55);--gate-ft-ray:rgb(var(--c-ink-950) / .05);--gate-ft-ray-hdr:rgb(var(--c-brand-600) / .24);--gate-ft-stud:rgb(var(--c-ink-950) / .28);--gate-ft-tile-hi:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 45%, rgb(var(--c-paper)));--gate-ft-sh-m:7px 7px 0 rgb(var(--c-ink-950) / .2)}
.fs-gate-ft:is(.dark *):not(.fs-preview-light *){--gate-ft-rule:rgb(var(--c-ink-950) / .16);--gate-ft-edge:rgb(var(--c-ink-950) / .42);--gate-ft-ray:rgb(var(--c-ink-950) / .07);--gate-ft-ray-hdr:rgb(var(--c-brand-600) / .26);--gate-ft-sh-m:7px 7px 0px rgb(0 0 0 / .45)}
.fs-gate-ft-in{container-type:inline-size;container-name:fs-gate-ft-in;max-width:var(--fs-layout-max,72rem);margin-inline:auto;padding-block:52px 30px}
.fs-gate-ft-board{overflow:hidden;border:2px solid var(--gate-ft-edge);border-radius:20px;background:repeating-conic-gradient(from -4.7deg at 50% 135%,var(--gate-ft-ray) 0deg 9.45deg,transparent 9.45deg 22.5deg),rgb(var(--c-paper-soft));box-shadow:var(--gate-ft-sh-m)}
.fs-gate-ft-mark{position:relative;isolation:isolate;display:block;flex:none;width:46px;height:46px}
.fs-gate-ft-mark::before{content:"";position:absolute;inset:-32%;z-index:-1;border-radius:50%;background:repeating-conic-gradient(from -4.7deg at 50% 48%,var(--gate-ft-ray-hdr) 0deg 9.45deg,transparent 9.45deg 22.5deg);-webkit-mask:radial-gradient(closest-side,rgb(var(--c-ink-950)) 38%,transparent);mask:radial-gradient(closest-side,rgb(var(--c-ink-950)) 38%,transparent)}
.fs-gate-ft-mark svg{display:block;width:100%;height:100%}
.fs-gate-ft-mk-b{fill:rgb(var(--c-brand-600))}
.fs-gate-ft-mk-a{fill:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-gate-ft-mk-s{fill:none;stroke:rgb(var(--c-brand-600));stroke-linecap:round}
.fs-gate-ft-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.15fr)}
.fs-gate-ft-col{min-width:0;padding:28px 24px 26px;border-left:1px solid var(--gate-ft-rule)}
.fs-gate-ft-col:first-child{border-left:0}
.fs-gate-ft-logo{display:flex;align-items:center;gap:10px}
.fs-gate-ft-name{max-width:7.4em;margin:0;font-family:var(--font-display, 'Alfa Slab One', Georgia, serif);font-weight:400;font-size:20px;line-height:.98;color:rgb(var(--c-ink-950))}
.fs-gate-ft-addr{margin:16px 0 0;font-weight:600;font-size:14px;line-height:1.5;color:rgb(var(--c-ink-700))}
.fs-gate-ft-tel{display:inline-block;margin-top:10px;font-family:var(--font-display, 'Alfa Slab One', Georgia, serif);font-weight:400;font-size:23px;line-height:1.1;color:rgb(var(--c-brand-text));text-decoration:none}
.fs-gate-ft-since{max-width:30ch;margin:10px 0 0;font-weight:500;font-size:13.5px;line-height:1.5;color:rgb(var(--c-ink-700))}
.fs-gate-ft-h{margin:0 0 12px;font-weight:700;font-size:11.5px;line-height:1.2;letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--c-brand-text))}
.fs-gate-ft-list{display:grid;gap:2px;list-style:none;margin:0;padding:0}
.fs-gate-ft-li{margin:0;padding:0}
.fs-gate-ft-link{display:inline-flex;align-items:baseline;gap:9px;padding-block:3px;font-weight:600;font-size:14.5px;line-height:1.35;color:rgb(var(--c-ink-950));text-decoration:none}
.fs-gate-ft-link::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--gate-ft-stud);transform:translateY(-1px);transition:background var(--fs-motion-hover, 160ms) ease}
.fs-gate-ft-link:hover{color:rgb(var(--c-brand-text))}
.fs-gate-ft-link:hover::before{background:rgb(var(--c-brand-600))}
.fs-gate-ft-big{margin:0;font-family:var(--font-display, 'Alfa Slab One', Georgia, serif);font-weight:400;font-size:26px;line-height:1.05;color:rgb(var(--c-brand-text));font-variant-numeric:tabular-nums}
.fs-gate-ft-p{max-width:32ch;margin:8px 0 0;font-weight:600;font-size:14px;line-height:1.5;color:rgb(var(--c-ink-700))}
.fs-gate-ft-safe-cell{padding:12px}
.fs-gate-ft-safe{height:100%;padding:18px;border-radius:14px;background:rgb(var(--c-ink-950));color:rgb(var(--c-paper))}
.fs-gate-ft-safe .fs-gate-ft-h{color:var(--gate-ft-tile-hi)}
.fs-gate-ft-facts{display:grid;gap:10px;list-style:none;margin:0;padding:0}
.fs-gate-ft-fact{display:grid;gap:2px;padding:10px 12px;border:1px solid rgb(var(--c-paper) / .24);border-radius:10px}
.fs-gate-ft-fact-v{font-family:var(--font-display, 'Alfa Slab One', Georgia, serif);font-weight:400;font-size:22px;line-height:1.05;color:var(--gate-ft-tile-hi)}
.fs-gate-ft-fact-l{font-weight:600;font-size:13px;line-height:1.4;color:rgb(var(--c-paper) / .82)}
.fs-gate-ft-certs{display:flex;flex-wrap:wrap;gap:4px 14px;margin:12px 0 0;font-weight:700;font-size:13px;line-height:1.4}
.fs-gate-ft-cert{color:rgb(var(--c-paper));text-decoration:underline;text-decoration-color:var(--gate-ft-tile-hi);text-decoration-thickness:2px;text-underline-offset:3px}
.fs-gate-ft-legal{display:flex;flex-wrap:wrap;gap:6px 18px;margin:18px 0 0;font-weight:600;font-size:13px;line-height:1.4;color:rgb(var(--c-ink-700))}
.fs-gate-ft-legal-t{margin-right:auto}
.fs-gate-ft-legal-a{color:rgb(var(--c-ink-700));text-decoration:none}
.fs-gate-ft-legal-a:hover{color:rgb(var(--c-ink-950))}
@container fs-gate-ft (max-width: 40rem){
  .fs-gate-ft-in{padding-block:36px 24px}
}
@container fs-gate-ft-in (max-width: 56rem){
  .fs-gate-ft-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-gate-ft-col:nth-child(3){border-left:0;border-top:1px solid var(--gate-ft-rule)}
  .fs-gate-ft-col:nth-child(2){border-left:1px solid var(--gate-ft-rule)}
}
@container fs-gate-ft (max-width: 48rem){
  .fs-gate-ft-grid{grid-template-columns:minmax(0,1fr)}
  .fs-gate-ft-col{border-left:0;padding:22px 20px}
  .fs-gate-ft-col + .fs-gate-ft-col{border-top:1px solid var(--gate-ft-rule)}
  .fs-gate-ft-col:nth-child(2){border-left:0}
  .fs-gate-ft-safe-cell{padding:0 12px 12px}
  .fs-gate-ft-col + .fs-gate-ft-safe-cell{border-top:0}
  .fs-gate-ft-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container fs-gate-ft (max-width: 26rem){
  .fs-gate-ft-facts{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion: reduce){
  .fs-gate-ft-link::before{transition:none}
}


.fs-ah{
  position:relative;
  padding:clamp(2.5rem,6vw,4.5rem) clamp(1rem,4vw,2.5rem);
  background:rgb(var(--c-paper));
  /* The real page layers a soft radial glow behind the hero. Same idea
     here, tinted from the brand colour so it re-tints with the theme. */
  background-image:radial-gradient(60rem 30rem at 85% -10%, rgb(var(--c-brand-600) / .10), transparent 60%);
  overflow:hidden;
}
.fs-ah-inner{
  max-width:var(--fs-layout-max,72rem);margin:0 auto;
  display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(1.75rem,4vw,3.4rem);align-items:center;
}
/* Single column before the two halves get too narrow to read. */
@media (max-width:900px){
  .fs-ah-inner{grid-template-columns:1fr;gap:2.25rem;}
}

/* ── left: copy ──────────────────────────────────────────────── */
.fs-ah-tag{
  display:inline-block;margin-bottom:1rem;
  padding:.35rem .8rem;border-radius:999px;
  border:1px solid rgb(var(--c-brand-600) / .28);
  background:rgb(var(--c-brand-600) / .10);
  color:rgb(var(--c-brand-600));
  font-size:.75rem;font-weight:600;letter-spacing:.01em;
}
.fs-ah-title{
  margin:0 0 .85rem;
  font-family:var(--font-display,inherit);
  font-size:clamp(1.9rem,3.7vw,2.95rem);line-height:1.14;font-weight:700;
  color:rgb(var(--c-ink-950));max-width:18ch;
}
.fs-ah-accent{color:rgb(var(--c-brand-600));}
.fs-ah-sub{
  margin:0 0 1.6rem;max-width:46ch;
  font-size:clamp(.98rem,1.6vw,1.08rem);line-height:1.6;
  color:rgb(var(--c-ink-700));
}
.fs-ah-ctas{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;}
/* Rendered as spans, not buttons: inside the editor these are part of
   the design being previewed, and a real <button> would invite clicks
   that do nothing. */
.fs-ah-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.75rem 1.35rem;border-radius:.6rem;
  font-size:.95rem;font-weight:600;line-height:1;
}
.fs-ah-btn-primary{
  background:rgb(var(--c-brand-600));
  color:rgb(var(--c-paper));
  box-shadow:0 8px 22px rgb(var(--c-brand-600) / .28);
}
.fs-ah-btn-ghost{
  border:1px solid rgb(var(--c-line));
  color:rgb(var(--c-ink-950));
  background:rgb(var(--c-paper-soft));
}
.fs-ah-pill{
  display:inline-flex;align-items:center;gap:.55rem;
  margin-top:1.5rem;padding:.5rem .9rem;border-radius:999px;
  border:1px solid rgb(var(--c-line));
  background:rgb(var(--c-paper-soft));
  font-size:.83rem;color:rgb(var(--c-ink-700));
}
.fs-ah-pill strong{color:rgb(var(--c-ink-950));font-weight:700;}
.fs-ah-dot{
  width:.5rem;height:.5rem;border-radius:50%;flex:none;
  background:rgb(var(--c-brand-600));
  box-shadow:0 0 0 0 rgb(var(--c-brand-600) / .55);
  animation:fs-ah-pulse 2s ease-out infinite;
}
@keyframes fs-ah-pulse{
  70%{box-shadow:0 0 0 .5rem rgb(var(--c-brand-600) / 0);}
  100%{box-shadow:0 0 0 0 rgb(var(--c-brand-600) / 0);}
}

/* ── right: the insights panel ───────────────────────────────── */
.fs-ah-panel{
  border:1px solid rgb(var(--c-line));border-radius:1rem;
  background:rgb(var(--c-paper-soft));
  padding:1.1rem 1.1rem 1rem;
  box-shadow:0 2px 6px rgb(0 0 0 / .05),0 16px 40px rgb(0 0 0 / .07);
}
.fs-ah-panel-top{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding-bottom:.85rem;margin-bottom:.9rem;
  border-bottom:1px solid rgb(var(--c-line));
}
.fs-ah-panel-title{font-size:.8rem;font-weight:600;color:rgb(var(--c-ink-700));}
.fs-ah-live{
  display:inline-flex;align-items:center;gap:.4rem;
  font-size:.68rem;font-weight:700;letter-spacing:.08em;
  color:rgb(var(--c-brand-600));
}
.fs-ah-metrics{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin-bottom:.9rem;}
.fs-ah-metric-v{
  font-family:var(--font-display,inherit);
  font-size:1.5rem;font-weight:700;line-height:1.1;color:rgb(var(--c-ink-950));
}
.fs-ah-metric-l{
  margin-top:.2rem;font-size:.62rem;font-weight:700;
  letter-spacing:.1em;color:rgb(var(--c-ink-400));
}
.fs-ah-up{font-size:.78rem;font-weight:600;color:rgb(var(--c-brand-600));}

/* ── the chart ───────────────────────────────────────────────── */
.fs-ah-chart{position:relative;}
.fs-ah-chart svg{
  display:block;width:100%;height:7.5rem;
  /* The pointer handler maps x → nearest sample, so the whole plot is
     the hit area; no per-point hotspots to miss between. */
  touch-action:none;
}
.fs-ah-line{
  stroke:rgb(var(--c-brand-600));stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;
}
.fs-ah-grad-top{stop-color:rgb(var(--c-brand-600));stop-opacity:.28;}
.fs-ah-grad-bottom{stop-color:rgb(var(--c-brand-600));stop-opacity:0;}
.fs-ah-guide{stroke:rgb(var(--c-brand-600) / .45);stroke-width:1;stroke-dasharray:3 3;}
.fs-ah-point{
  fill:rgb(var(--c-paper));
  stroke:rgb(var(--c-brand-600));stroke-width:2.5;
}
.fs-ah-tip{
  position:absolute;top:-.35rem;transform:translate(-50%,-100%);
  padding:.3rem .55rem;border-radius:.4rem;white-space:nowrap;
  border:1px solid rgb(var(--c-line));
  background:rgb(var(--c-paper));
  font-size:.72rem;color:rgb(var(--c-ink-700));
  box-shadow:0 6px 16px rgb(0 0 0 / .12);
  pointer-events:none;
}
.fs-ah-tip strong{color:rgb(var(--c-ink-950));}

/* ── module chips ────────────────────────────────────────────── */
.fs-ah-chips{
  display:flex;flex-wrap:wrap;gap:.4rem;
  margin-top:.9rem;padding-top:.85rem;
  border-top:1px solid rgb(var(--c-line));
}
.fs-ah-chip{
  padding:.28rem .55rem;border-radius:.35rem;
  background:rgb(var(--c-brand-600) / .09);
  color:rgb(var(--c-ink-700));
  font-size:.6rem;font-weight:700;letter-spacing:.06em;
}

/* Respect a reduced-motion preference: the pulsing live dot is
   decorative, so it simply stops rather than being replaced. */
@media (prefers-reduced-motion:reduce){
  .fs-ah-dot{animation:none;}
}


.fs-ad{
  padding:clamp(2.5rem,6vw,4.5rem) clamp(1rem,4vw,2.5rem);
  background:rgb(var(--c-paper));
}
.fs-ad-inner{max-width:var(--fs-layout-max,72rem);margin:0 auto;}

/* ── section heading ─────────────────────────────────────────── */
.fs-ad-head{max-width:min(46rem, var(--fs-layout-clamp, 46rem));margin:0 auto clamp(1.75rem,4vw,2.75rem);text-align:center;}
.fs-ad-eyebrow{
  display:inline-block;margin-bottom:.6rem;
  font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:rgb(var(--c-brand-600));
}
.fs-ad-title{
  margin:0 0 .7rem;font-family:var(--font-display,inherit);
  font-size:clamp(1.5rem,3vw,2.15rem);line-height:1.2;font-weight:700;
  color:rgb(var(--c-ink-950));
}
.fs-ad-lede{margin:0;font-size:.98rem;line-height:1.6;color:rgb(var(--c-ink-700));}

/* ── the mocked Editor window ────────────────────────────────── */
.fs-ad-editor{
  border:1px solid rgb(var(--c-line));border-radius:1.25rem;overflow:hidden;
  background:rgb(var(--c-paper));
  box-shadow:0 2px 6px rgb(0 0 0 / .05),0 16px 40px rgb(0 0 0 / .08);
}
.fs-ad-bar{
  display:flex;align-items:center;gap:.8rem;padding:.75rem 1.1rem;
  border-bottom:1px solid rgb(var(--c-line));
  background:rgb(var(--c-paper-soft));
}
.fs-ad-dots{display:flex;gap:.4rem;flex:none;}
.fs-ad-dots i{width:.625rem;height:.625rem;border-radius:50%;background:rgb(var(--c-line));display:block;}
.fs-ad-dots i:first-child{background:rgb(var(--c-brand-600) / .6);}
.fs-ad-crumb{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.64rem;letter-spacing:.04em;color:rgb(var(--c-ink-700));
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.fs-ad-crumb b{color:rgb(var(--c-ink-950));font-weight:600;}
.fs-ad-livetag{
  margin-left:auto;flex:none;display:inline-flex;align-items:center;gap:.4rem;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.6rem;
  color:rgb(var(--c-brand-600));background:rgb(var(--c-brand-600) / .12);
  border-radius:.5rem;padding:.19rem .56rem;
}
.fs-ad-dot{
  width:.375rem;height:.375rem;border-radius:50%;flex:none;
  background:rgb(var(--c-brand-600));
  animation:fs-ad-pulse 2s ease-out infinite;
}
@keyframes fs-ad-pulse{
  0%{box-shadow:0 0 0 0 rgb(var(--c-brand-600) / .5);}
  70%{box-shadow:0 0 0 .4rem rgb(var(--c-brand-600) / 0);}
  100%{box-shadow:0 0 0 0 rgb(var(--c-brand-600) / 0);}
}

.fs-ad-body{display:grid;grid-template-columns:13.25rem 1fr;}
.fs-ad-side{
  border-right:1px solid rgb(var(--c-line));
  background:rgb(var(--c-paper-soft));
  padding:1.1rem .75rem;display:flex;flex-direction:column;gap:.15rem;
}
.fs-ad-lbl{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;
  color:rgb(var(--c-ink-400));padding:.2rem .6rem .5rem;
}
.fs-ad-item{
  display:flex;align-items:center;gap:.55rem;padding:.46rem .6rem;border-radius:.55rem;
  font-size:.82rem;font-weight:500;color:rgb(var(--c-ink-700));
  transition:background-color .3s ease,color .3s ease;cursor:default;
}
.fs-ad-item:hover{background:rgb(var(--c-paper) / .7);color:rgb(var(--c-ink-950));}
.fs-ad-item i{width:.375rem;height:.375rem;border-radius:2px;background:currentColor;opacity:.5;flex:none;}
.fs-ad-item.is-on{background:rgb(var(--c-brand-600) / .12);color:rgb(var(--c-brand-600));font-weight:600;}
.fs-ad-item.is-on i{opacity:1;}
.fs-ad-main{padding:1.4rem;min-width:0;}

/* Sidebar goes before the three panels do: it is chrome, and the panels
   are the point of the section. */
@media (max-width:820px){
  .fs-ad-body{grid-template-columns:1fr;}
  .fs-ad-side{display:none;}
  .fs-ad-main{padding:1rem;}
}

/* ── the three panels ────────────────────────────────────────── */
.fs-ad-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;}
@media (max-width:1060px){.fs-ad-grid{grid-template-columns:1fr;}}
.fs-ad-card{
  background:rgb(var(--c-paper));
  border:1px solid rgb(var(--c-line));border-radius:1rem;
  padding:1.3rem 1.2rem 1.1rem;display:flex;flex-direction:column;min-width:0;
  transition:box-shadow .35s ease,border-color .35s ease;
}
.fs-ad-card:hover{
  border-color:rgb(var(--c-brand-600) / .3);
  box-shadow:0 4px 10px rgb(0 0 0 / .06),0 24px 54px rgb(0 0 0 / .10);
}
.fs-ad-card-title{font-size:.86rem;font-weight:700;color:rgb(var(--c-ink-950));}
.fs-ad-card-sub{
  margin:.25rem 0 .9rem;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.56rem;letter-spacing:.1em;color:rgb(var(--c-ink-400));
}

/* — 1. chart — */
.fs-ad-chart{position:relative;flex:1;min-height:8.5rem;}
.fs-ad-chart svg{display:block;width:100%;height:100%;min-height:8.5rem;touch-action:none;cursor:crosshair;}
.fs-ad-grid-line{stroke:rgb(var(--c-line));stroke-width:1;}
.fs-ad-line{stroke:rgb(var(--c-brand-600));stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.fs-ad-grad-top{stop-color:rgb(var(--c-brand-600));stop-opacity:.26;}
.fs-ad-grad-bottom{stop-color:rgb(var(--c-brand-600));stop-opacity:0;}
.fs-ad-guide{stroke:rgb(var(--c-brand-600) / .45);stroke-width:1;stroke-dasharray:3 3;}
.fs-ad-point{fill:rgb(var(--c-paper));stroke:rgb(var(--c-brand-600));stroke-width:2.5;}
.fs-ad-tip{
  position:absolute;top:0;transform:translate(-50%,-100%);
  padding:.28rem .5rem;border-radius:.4rem;white-space:nowrap;
  border:1px solid rgb(var(--c-line));background:rgb(var(--c-paper));
  font-size:.66rem;color:rgb(var(--c-ink-700));
  box-shadow:0 6px 16px rgb(0 0 0 / .12);pointer-events:none;
}
.fs-ad-tip strong{color:rgb(var(--c-brand-600));font-weight:600;}

/* — 2. heatmap — */
.fs-ad-hm{
  position:relative;flex:1;min-height:8.5rem;
  border-radius:.75rem;overflow:hidden;
  border:1px solid rgb(var(--c-line));
  background:rgb(var(--c-paper-soft));
  cursor:crosshair;touch-action:none;
}
.fs-ad-wire{position:absolute;inset:0;padding:.75rem;display:flex;flex-direction:column;gap:.5rem;pointer-events:none;}
.fs-ad-el{border-radius:.375rem;background:rgb(var(--c-line));opacity:.55;}
.fs-ad-el-accent{background:rgb(var(--c-brand-600));opacity:.5;}
.fs-ad-wire-row{display:flex;gap:.5rem;flex:1;}
.fs-ad-wire-row .fs-ad-el{flex:1;}
.fs-ad-hmgrid{
  position:absolute;inset:0;display:grid;
  grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(8,1fr);
}
/* Transition makes the warm trail lag the cursor slightly, which is what
   makes it read as heat rather than as a hard spotlight. */
.fs-ad-hmcell{transition:background-color .5s ease;}
.fs-ad-hmhint{
  position:absolute;bottom:.5rem;left:50%;transform:translateX(-50%);
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.58rem;color:rgb(var(--c-ink-400));
  background:rgb(var(--c-paper) / .8);border-radius:.44rem;padding:.12rem .5rem;
  pointer-events:none;
}

/* — 3. funnel — */
.fs-ad-funnel{flex:1;display:flex;flex-direction:column;justify-content:center;gap:.7rem;}
.fs-ad-fnrow{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.6rem;}
.fs-ad-fnlbl{font-size:.75rem;font-weight:600;color:rgb(var(--c-ink-950));}
.fs-ad-fnsrc{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.54rem;color:rgb(var(--c-brand-600));opacity:.8;
}
.fs-ad-fnpct{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.66rem;color:rgb(var(--c-ink-400));
}
.fs-ad-fntrack{
  grid-column:1 / -1;height:1.625rem;border-radius:.5rem;
  background:rgb(var(--c-paper-soft));overflow:hidden;position:relative;
}
.fs-ad-fnbar{
  height:100%;border-radius:.5rem;
  background:linear-gradient(90deg,rgb(var(--c-brand-600)),rgb(var(--c-brand-600) / .55));
  display:flex;align-items:center;padding-left:.7rem;
  /* Width is driven from React once the panel scrolls into view; the
     stagger below is what makes the four bars fill in sequence. */
  transition:width 1.2s cubic-bezier(.25,.7,.25,1);
}
.fs-ad-fnrow:nth-child(2) .fs-ad-fnbar{transition-delay:.15s;}
.fs-ad-fnrow:nth-child(3) .fs-ad-fnbar{transition-delay:.3s;}
.fs-ad-fnrow:nth-child(4) .fs-ad-fnbar{transition-delay:.45s;}
.fs-ad-fnbar span{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.6rem;font-weight:600;color:rgb(var(--c-paper));white-space:nowrap;
}

.fs-ad-note{
  margin:clamp(1.25rem,3vw,1.75rem) auto 0;max-width:min(46rem, var(--fs-layout-clamp, 46rem));text-align:center;
  font-size:.86rem;color:rgb(var(--c-ink-400));
}

/* The pulsing dot and the funnel fill are decorative; hold them still
   for anyone who has asked for less motion. */
@media (prefers-reduced-motion:reduce){
  .fs-ad-dot{animation:none;}
  .fs-ad-fnbar{transition:none;}
  .fs-ad-hmcell{transition:none;}
}


.fs-ac{
  padding:clamp(2.5rem,6vw,4.5rem) clamp(1rem,4vw,2.5rem);
  background:rgb(var(--c-paper));
}
.fs-ac-inner{max-width:var(--fs-layout-max,72rem);margin:0 auto;}

.fs-ac-head{max-width:min(42.5rem, var(--fs-layout-clamp, 42.5rem));margin:0 auto clamp(1.75rem,4vw,2.5rem);text-align:center;}
.fs-ac-eyebrow{
  display:inline-block;margin-bottom:.6rem;
  font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:rgb(var(--c-brand-600));
}
.fs-ac-title{
  margin:0 0 .7rem;font-family:var(--font-display,inherit);
  font-size:clamp(1.5rem,3vw,2.15rem);line-height:1.2;font-weight:700;
  color:rgb(var(--c-ink-950));
}
.fs-ac-lede{margin:0;font-size:.98rem;line-height:1.6;color:rgb(var(--c-ink-700));}

/* The wrapper scrolls, not the page. min-width on the table keeps the
   columns legible instead of crushing them on a narrow screen. */
.fs-ac-wrap{
  border:1px solid rgb(var(--c-line));border-radius:1.25rem;overflow:hidden;
  background:rgb(var(--c-paper));
  box-shadow:0 2px 6px rgb(0 0 0 / .05),0 16px 40px rgb(0 0 0 / .07);
  overflow-x:auto;
}
.fs-ac-table{width:100%;min-width:47.5rem;border-collapse:collapse;font-size:.88rem;}
.fs-ac-table th,.fs-ac-table td{
  padding:.9rem 1rem;text-align:center;
  border-bottom:1px solid rgb(var(--c-line));
}
.fs-ac-table thead th{
  position:relative;vertical-align:bottom;
  font-family:var(--font-display,inherit);font-weight:600;font-size:.82rem;
  color:rgb(var(--c-ink-700));
  background:rgb(var(--c-paper-soft));
}
.fs-ac-table tbody tr:last-child td{border-bottom:none;}

/* Row labels stay put while the rest scrolls sideways. */
.fs-ac-rowlbl{
  text-align:left;font-weight:600;white-space:nowrap;
  color:rgb(var(--c-ink-950));
  position:sticky;left:0;z-index:1;
  background:rgb(var(--c-paper));
}
.fs-ac-table tbody tr:nth-child(odd) .fs-ac-rowlbl{background:rgb(var(--c-paper-soft));}

.fs-ac-tier{display:inline-flex;flex-direction:column;align-items:center;gap:.45rem;}
.fs-ac-tier-ico{width:1.625rem;height:1.625rem;color:rgb(var(--c-ink-700));opacity:.75;}
.fs-ac-tier-ico svg{width:100%;height:100%;}
.fs-ac-tier-name{font-size:.74rem;color:rgb(var(--c-ink-700));}

/* Highlighted column — a tint and a rule, no harsh fill. */
.fs-ac-hl{background:rgb(var(--c-brand-600) / .1);}
thead th.fs-ac-hl{
  border-top:2px solid rgb(var(--c-brand-600));
  border-radius:.75rem .75rem 0 0;
}
td.fs-ac-hl{font-weight:600;}
.fs-ac-tier.is-hl .fs-ac-tier-ico{color:rgb(var(--c-brand-600));opacity:1;}
.fs-ac-tier.is-hl .fs-ac-tier-name{color:rgb(var(--c-brand-600));font-weight:700;}

/* Cell marks. */
.fs-ac-table td svg{width:1.125rem;height:1.125rem;display:inline-block;vertical-align:middle;}
.fs-ac-yes{color:rgb(var(--c-brand-600));}
.fs-ac-part{color:rgb(var(--c-ink-700));}
.fs-ac-no{color:rgb(var(--c-ink-700));opacity:.4;}

/* The two text rows at the foot. */
.fs-ac-textcell{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.76rem;color:rgb(var(--c-ink-950));
}
.fs-ac-textcell.fs-ac-hl{color:rgb(var(--c-brand-600));font-weight:600;}

/* Announce yes/partial/no to screen readers; the icon alone says
   nothing. Visually hidden rather than display:none, which would take
   it out of the accessibility tree too. */
.fs-ac-sr{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

.fs-ac-note{
  margin:1rem auto 0;max-width:min(46rem, var(--fs-layout-clamp, 46rem));text-align:center;
  font-size:.8rem;color:rgb(var(--c-ink-400));
}


.fs-an-ft{position:relative;overflow:hidden;container-type:inline-size;container-name:fs-an-ft;--sl-ft-pad:clamp(1rem,4vw,2.5rem);--sl-ft-cell:rgb(var(--c-ink-950));--sl-ft-paper:rgb(var(--c-paper));--sl-ft-sun:rgb(var(--c-brand-600));--sl-ft-muted:color-mix(in srgb, var(--sl-ft-paper) 72%, var(--sl-ft-cell));--sl-ft-line:color-mix(in srgb, var(--sl-ft-paper) 14%, transparent);background:var(--sl-ft-cell);color:var(--sl-ft-muted);font-family:var(--font-sans, system-ui, sans-serif);font-size:15px;line-height:1.55;font-variant-numeric:tabular-nums}
.fs-an-ft:is(.dark *):not(.fs-preview-light *){--sl-ft-cell:color-mix(in oklab, rgb(var(--c-paper)), black 40%);--sl-ft-paper:rgb(var(--c-ink-950))}
.fs-an-ft *{box-sizing:border-box}
.fs-an-ft-horizon{display:block;width:100%;height:120px}
.fs-an-ft-hz-line{fill:none;stroke:var(--sl-ft-line);stroke-width:1}
.fs-an-ft-arc{fill:none;stroke:var(--sl-ft-sun);stroke-width:1.5;opacity:.55}
/* The sun on its path: x 1000 of the 1440 band, where the 1600-radius arc is 92 above its ends, so 27px from the band's top. The band is a fixed 120px tall, so the dot rides the line at every width. */
.fs-an-ft-sun{position:absolute;left:calc(69.44% - 5px);top:22px;width:10px;height:10px;border-radius:50%;background:var(--sl-ft-sun);box-shadow:0 0 0 6px color-mix(in srgb, var(--sl-ft-sun) 22%, transparent);pointer-events:none}
.fs-an-ft-in{container-type:inline-size;container-name:fs-an-ft-in;max-width:var(--fs-layout-max,77.5rem);margin-inline:auto;padding:24px var(--sl-ft-pad) 56px}
.fs-an-ft-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:40px}
.fs-an-ft-brand{display:flex;flex-direction:column;align-items:flex-start;gap:18px;min-width:0}
.fs-an-ft-logo{display:flex;align-items:center;gap:12px;margin:0;color:var(--sl-ft-paper)}
.fs-an-ft-mark{flex:none;width:44px;height:40px}
.fs-an-ft-m-arc{stroke:var(--sl-ft-sun)}
.fs-an-ft-m-sun{fill:var(--sl-ft-sun)}
.fs-an-ft-m-roof{stroke:var(--sl-ft-paper)}
.fs-an-ft-m-bars{fill:var(--sl-ft-paper)}
.fs-an-ft-lt{display:flex;flex-direction:column;min-width:0;line-height:1}
.fs-an-ft-name{font-family:var(--font-display, system-ui, sans-serif);font-weight:800;font-size:25px;font-stretch:88%;letter-spacing:-.01em;color:var(--sl-ft-paper)}
.fs-an-ft-tag{margin-top:5px;font-weight:600;font-size:12px;letter-spacing:.2em;color:var(--sl-ft-muted)}
.fs-an-ft-blurb{margin:0;max-width:34ch}
.fs-an-ft-tel{font-family:var(--font-display, system-ui, sans-serif);font-weight:700;font-size:30px;font-stretch:84%;line-height:1.1;color:var(--sl-ft-paper);text-decoration:none;transition:color .2s ease}
.fs-an-ft-tel:hover{color:var(--sl-ft-sun)}
.fs-an-ft-col{min-width:0}
.fs-an-ft-h{margin:0 0 16px;font-family:var(--font-sans, system-ui, sans-serif);font-weight:600;font-size:13px;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;color:var(--sl-ft-paper)}
.fs-an-ft-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.fs-an-ft-li{margin:0}
.fs-an-ft-link{color:inherit;text-decoration:none;transition:color .2s ease}
.fs-an-ft-link:hover{color:var(--sl-ft-sun)}
.fs-an-ft-bot{padding:22px max(var(--sl-ft-pad), calc((100% - var(--fs-layout-max,77.5rem)) / 2 + var(--sl-ft-pad)));border-top:1px solid var(--sl-ft-line);font-size:13.5px;line-height:1.5}
.fs-an-ft-legal{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px 20px}
.fs-an-ft-legal-t:first-child{margin-right:auto}
.fs-an-ft-sample{display:inline-block;margin-left:8px;padding:3px 8px;border-radius:999px;background:color-mix(in srgb, var(--sl-ft-sun) 18%, transparent);font-weight:700;font-size:12px;line-height:1.3;letter-spacing:0;color:var(--sl-ft-sun)}
.fs-an-ft-legal-a{color:inherit;text-decoration:none}
.fs-an-ft-legal-a:hover{color:var(--sl-ft-paper)}
@container fs-an-ft-in (max-width: 56rem){
  .fs-an-ft-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container fs-an-ft (max-width: 48rem){
  /* The phone mockup's band is 60px (Phone.dc.html .hz): the same arc, squashed to half its height, the sun with it. */
  .fs-an-ft-horizon{height:60px}
  .fs-an-ft-sun{top:8px}
  .fs-an-ft-grid{grid-template-columns:minmax(0,1fr)}
  .fs-an-ft-in{padding-bottom:40px}
  .fs-an-ft-legal-t:first-child{flex-basis:100%;margin-right:0}
}
@media (prefers-reduced-motion: reduce){
  .fs-an-ft-tel,.fs-an-ft-link{transition:none}
}


.fs-lum-ft{position:relative;container-type:inline-size;container-name:fs-lum-ft;--lf-pad:clamp(1.25rem,4vw,2.5rem);--lf-deep:rgb(var(--c-paper-sunk));--lf-ink:rgb(var(--c-ink-950));--lf-muted:rgb(var(--c-ink-700));--lf-line:rgb(var(--c-line));--lf-lamp:rgb(var(--c-brand-600));--lf-lamp-text:rgb(var(--c-brand-text, var(--c-brand-600)));--lf-glow:color-mix(in srgb, rgb(var(--c-brand-600)) 45%, transparent);padding-top:70px;background:var(--lf-deep);color:var(--lf-muted);font-family:var(--font-sans, system-ui, sans-serif);font-size:15px;line-height:1.55;font-variant-numeric:tabular-nums}
.fs-lum-ft *{box-sizing:border-box}
.fs-lum-ft-downlights{display:flex;justify-content:space-between;max-width:var(--fs-layout-max,77.5rem);height:2px;margin:0 auto;padding-inline:var(--lf-pad)}
.fs-lum-ft-downlights i{width:8px;height:8px;margin-top:-3px;border-radius:50%;background:var(--lf-lamp);box-shadow:0 0 18px 6px var(--lf-glow),0 0 2px var(--lf-lamp)}
.fs-lum-ft-in{container-type:inline-size;container-name:fs-lum-ft-in;max-width:var(--fs-layout-max,77.5rem);margin-inline:auto;padding:56px var(--lf-pad)}
.fs-lum-ft-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:40px}
.fs-lum-ft-brand{display:flex;flex-direction:column;align-items:flex-start;gap:16px;min-width:0}
.fs-lum-ft-brand p{margin:0}
.fs-lum-ft-logo{display:flex;align-items:center;gap:12px;color:var(--lf-ink)}
.fs-lum-ft-mark{flex:none;width:40px;height:40px}
.fs-lum-ft-m-o{fill:none;stroke:var(--lf-lamp);stroke-opacity:.22}
.fs-lum-ft-m-m{fill:none;stroke:var(--lf-lamp);stroke-opacity:.5}
.fs-lum-ft-m-c{fill:var(--lf-lamp)}
.fs-lum-ft-lt{display:flex;flex-direction:column;min-width:0;line-height:1}
.fs-lum-ft-name{font-family:var(--font-display, Georgia, serif);font-weight:600;font-size:31px;letter-spacing:.02em;color:var(--lf-ink)}
.fs-lum-ft-tag{margin-top:4px;font-weight:600;font-size:12px;letter-spacing:.2em;color:var(--lf-muted)}
.fs-lum-ft-blurb{max-width:34ch}
.fs-lum-ft-tel{font-family:var(--font-display, Georgia, serif);font-weight:500;font-size:34px;line-height:1.1;color:var(--lf-ink);text-decoration:none}
.fs-lum-ft-tel:hover{color:var(--lf-lamp-text)}
.fs-lum-ft-col{min-width:0}
.fs-lum-ft-h{margin:0 0 16px;font-family:var(--font-sans, system-ui, sans-serif);font-weight:600;font-size:12.5px;line-height:1.2;letter-spacing:.2em;text-transform:uppercase;color:var(--lf-ink)}
.fs-lum-ft-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.fs-lum-ft-li{margin:0}
.fs-lum-ft-link{color:inherit;text-decoration:none}
.fs-lum-ft-link:hover{color:var(--lf-lamp-text)}
.fs-lum-ft-link:focus-visible,.fs-lum-ft-tel:focus-visible,.fs-lum-ft-legal-a:focus-visible{outline:2px solid var(--lf-lamp-text);outline-offset:3px;border-radius:4px}
.fs-lum-ft-bot{padding:22px max(var(--lf-pad), calc((100% - var(--fs-layout-max,77.5rem)) / 2 + var(--lf-pad)));border-top:1px solid var(--lf-line);font-size:13.5px;line-height:1.5}
.fs-lum-ft-legal{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px 20px}
.fs-lum-ft-legal-t:first-child{margin-right:auto}
.fs-lum-ft-sample{display:inline-block;margin:6px 0 0 8px;padding:3px 8px;border-radius:999px;background:color-mix(in srgb, var(--lf-lamp) 16%, transparent);font-weight:700;font-size:12px;line-height:1.3;letter-spacing:0;text-transform:none;color:var(--lf-lamp-text)}
.fs-lum-ft-legal-a{color:inherit;text-decoration:none}
.fs-lum-ft-legal-a:hover{color:var(--lf-ink)}
.fs-lum-anim .fs-lum-ft-downlights i{animation:var(--fs-anim-lumGlow, fs-lum-ft-breathe 5.2s ease-in-out infinite)}
.fs-lum-anim .fs-lum-ft-downlights i:nth-child(2n){animation-delay:-1.3s}
.fs-lum-anim .fs-lum-ft-downlights i:nth-child(3n){animation-delay:-2.6s}
.fs-lum-anim .fs-lum-ft-downlights i:nth-child(5n){animation-delay:-3.9s}
.fs-lum-anim .fs-lum-ft-tel,.fs-lum-anim .fs-lum-ft-link,.fs-lum-anim .fs-lum-ft-legal-a{transition:color .2s ease}
@keyframes fs-lum-ft-breathe{0%,100%{opacity:1}50%{opacity:.55}}
@container fs-lum-ft-in (max-width: 56rem){
  .fs-lum-ft-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container fs-lum-ft (max-width: 48rem){
  .fs-lum-ft-grid{grid-template-columns:minmax(0,1fr)}
  .fs-lum-ft-legal-t:first-child{flex-basis:100%;margin-right:0}
}
@media (prefers-reduced-motion: reduce){
  .fs-lum-ft *{animation:none !important;transition:none !important}
}


.fs-lt-ft{position:relative;container-type:inline-size;container-name:fs-lt-ft;padding:0 clamp(1rem,4vw,2.5rem);--lt-ft-bg:rgb(var(--c-ink-950));--lt-ft-fg:rgb(var(--c-paper));--lt-ft-pin:color-mix(in oklab, rgb(var(--c-brand-600)) 58%, rgb(var(--c-paper)));--lt-ft-note:color-mix(in srgb, var(--lt-ft-fg) 72%, var(--lt-ft-bg));--lt-ft-rule:color-mix(in srgb, var(--lt-ft-fg) 14%, transparent);--lt-ft-chip:color-mix(in srgb, var(--lt-ft-fg) 8%, transparent);--lt-ft-i-pin:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M12 1.5C7.3 1.5 3.5 5.2 3.5 9.9c0 6.1 8.5 12.6 8.5 12.6s8.5-6.5 8.5-12.6C20.5 5.2 16.7 1.5 12 1.5zm0 11.6a3.2 3.2 0 1 1 0-6.4 3.2 3.2 0 0 1 0 6.4z'/%3E%3C/svg%3E");--lt-ft-i-clock:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm0 2.2a7.8 7.8 0 1 1 0 15.6 7.8 7.8 0 0 1 0-15.6zM11 6.5v6.1l4.6 2.8 1-1.7-3.6-2.1V6.5z'/%3E%3C/svg%3E");--lt-ft-i-tel:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1z'/%3E%3C/svg%3E");--lt-ft-i-ok:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm-1.3 14.2-4.4-4.4 1.5-1.5 2.9 2.9 6-6 1.5 1.5z'/%3E%3C/svg%3E");--lt-ft-i-dir:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M21.7 11.3l-9-9a1 1 0 0 0-1.4 0l-9 9a1 1 0 0 0 0 1.4l9 9a1 1 0 0 0 1.4 0l9-9a1 1 0 0 0 0-1.4zM14 14.5V12h-4v3H8v-4a1 1 0 0 1 1-1h5V7.5l3.5 3.5z'/%3E%3C/svg%3E");background:var(--lt-ft-bg);color:var(--lt-ft-fg)}
.fs-lt-ft:is(.dark *):not(.fs-preview-light *){--lt-ft-bg:rgb(var(--c-paper-soft));--lt-ft-fg:rgb(var(--c-ink-950));--lt-ft-pin:rgb(var(--c-brand-600))}
.fs-lt-ft-roofline{position:absolute;left:0;top:-47px;width:100%;height:48px;display:block;fill:var(--lt-ft-bg);pointer-events:none}
.fs-lt-ft-in{container-type:inline-size;container-name:fs-lt-ft-in;max-width:var(--fs-layout-max,77.5rem);margin-inline:auto;padding-block:72px 0}
.fs-lt-ft-i{display:inline-block;flex:none;width:18px;height:18px;background:var(--lt-ft-pin);-webkit-mask:var(--lt-ft-ic) center/contain no-repeat;mask:var(--lt-ft-ic) center/contain no-repeat}
.fs-lt-ft-i.is-pin{--lt-ft-ic:var(--lt-ft-i-pin)}
.fs-lt-ft-i.is-tel{--lt-ft-ic:var(--lt-ft-i-tel)}
.fs-lt-ft-i.is-ok{--lt-ft-ic:var(--lt-ft-i-ok)}
.fs-lt-ft-i.is-clock{--lt-ft-ic:var(--lt-ft-i-clock)}
.fs-lt-ft-i.is-dir{--lt-ft-ic:var(--lt-ft-i-dir)}
.fs-lt-ft-grid{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:40px clamp(24px,3.4cqi,48px)}
.fs-lt-ft-biz,.fs-lt-ft-col{min-width:0}
.fs-lt-ft-cat{margin:0;font-weight:700;font-size:12px;line-height:1.2;letter-spacing:.16em;text-transform:uppercase;color:var(--lt-ft-pin)}
.fs-lt-ft-name{margin:8px 0 0;font-family:var(--font-display, system-ui, sans-serif);font-weight:800;font-size:30px;line-height:1;letter-spacing:-.005em;color:var(--lt-ft-fg)}
.fs-lt-ft-guar{margin:18px 0 0;display:inline-flex;align-items:center;gap:10px;max-width:100%;padding:11px 14px;border:1px solid var(--lt-ft-rule);border-radius:8px;font-weight:600;font-size:14px;line-height:1.35}
.fs-lt-ft-guar .fs-lt-ft-i{width:20px;height:20px}
.fs-lt-ft-rows{margin:18px 0 0;padding:0;list-style:none;display:grid;gap:8px}
.fs-lt-ft-row{display:flex;align-items:flex-start;gap:10px;font-size:15px;line-height:1.4;color:var(--lt-ft-note)}
.fs-lt-ft-row .fs-lt-ft-i{margin-top:1px}
.fs-lt-ft-tel{color:var(--lt-ft-fg);text-decoration:none;font-family:var(--font-display, system-ui, sans-serif);font-weight:800;font-size:28px;line-height:1.1;font-variant-numeric:tabular-nums}
.fs-lt-ft-tel:hover{color:var(--lt-ft-pin)}
.fs-lt-ft-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.fs-lt-ft-act{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 16px;border:1px solid var(--lt-ft-rule);border-radius:6px;font-weight:700;font-size:14px;line-height:1;color:var(--lt-ft-fg);white-space:nowrap;text-decoration:none;transition:background-color .18s ease,border-color .18s ease}
.fs-lt-ft-act:hover{border-color:var(--lt-ft-note)}
.fs-lt-ft-act .fs-lt-ft-i{width:16px;height:16px;background:currentColor}
.fs-lt-ft-act.is-main{border-color:rgb(var(--c-brand-600));background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)))}
.fs-lt-ft-act.is-main:hover{background:rgb(var(--c-brand-700))}
.fs-lt-ft-rate{margin:16px 0 0;font-size:14px}
.fs-lt-ft-reviews{color:var(--lt-ft-pin);font-weight:700;text-decoration:none}
.fs-lt-ft-reviews:hover{text-decoration:underline;text-underline-offset:3px}
.fs-lt-ft-h{margin:0 0 14px;display:flex;align-items:center;gap:8px;font-weight:700;font-size:13px;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;color:var(--lt-ft-fg)}
.fs-lt-ft-h .fs-lt-ft-i{width:16px;height:16px}
.fs-lt-ft-list{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.fs-lt-ft-li{font-size:15px;line-height:1.35}
.fs-lt-ft-link{color:var(--lt-ft-note);text-decoration:none}
.fs-lt-ft-link:hover{color:var(--lt-ft-fg);text-decoration:underline;text-underline-offset:3px}
.fs-lt-ft-hours{margin:0;display:grid;max-width:22rem}
.fs-lt-ft-hrow{display:flex;justify-content:space-between;gap:14px;padding-block:8px;border-bottom:1px solid var(--lt-ft-rule);font-size:14.5px;color:var(--lt-ft-note)}
.fs-lt-ft-dt{margin:0}
.fs-lt-ft-dd{margin:0;font-weight:600;color:var(--lt-ft-fg);font-variant-numeric:tabular-nums}
.fs-lt-ft-note{margin:12px 0 0;max-width:34ch;font-size:13.5px;line-height:1.5;color:var(--lt-ft-note)}
.fs-lt-ft-chips{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.fs-lt-ft-chip{display:inline-flex;align-items:center;gap:5px;padding:7px 12px 7px 9px;border-radius:999px;background:var(--lt-ft-chip);box-shadow:inset 0 0 0 1px var(--lt-ft-rule);font-weight:600;font-size:13px;line-height:1;white-space:nowrap}
.fs-lt-ft-chip::before{content:"";flex:none;width:10px;height:13px;background:var(--lt-ft-pin);-webkit-mask:var(--lt-ft-i-pin) center/contain no-repeat;mask:var(--lt-ft-i-pin) center/contain no-repeat}
.fs-lt-ft-legal{margin:56px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;min-height:64px;padding-block:14px;border-top:1px solid var(--lt-ft-rule);font-size:13.5px;color:var(--lt-ft-note)}
.fs-lt-ft-legal-t{margin-right:auto}
.fs-lt-ft-legal-a{color:inherit;text-decoration:none}
.fs-lt-ft-legal-a:hover{color:var(--lt-ft-fg);text-decoration:underline}
@container fs-lt-ft (max-width: 40rem){
  .fs-lt-ft-in{padding-block:56px 0}
}
@container fs-lt-ft-in (max-width: 56rem){
  .fs-lt-ft-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-lt-ft-biz{grid-column:1/-1}
}
@container fs-lt-ft (max-width: 48rem){
  .fs-lt-ft-grid{grid-template-columns:minmax(0,1fr);gap:32px}
  .fs-lt-ft-biz{grid-column:auto}
  .fs-lt-ft-name{font-size:26px}
}
@container fs-lt-ft (max-width: 30rem){
  .fs-lt-ft-acts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-lt-ft-act{justify-content:center;padding-inline:12px}
  .fs-lt-ft-act.is-main{grid-column:1/-1}
  .fs-lt-ft-legal-t{margin-right:0;flex-basis:100%}
}
@media (prefers-reduced-motion: reduce){
  .fs-lt-ft-act{transition:none}
}


/* Tokens. --bwc-tint: the source's --tint (brand 7% on the surface; 20%
   in dark); --bwc-edge: --edge (line 16% toward ink); --bwc-cu-hi/-lo the
   copper; --bwc-gut the gutter; --bwc-max the measure the row keeps
   (the source's --wrap, 1200px). */
[data-fs-theme='brimwell']{--fs-chrome-mode:light;--bwc-tint:color-mix(in srgb,rgb(var(--c-brand-600)) 7%,rgb(var(--c-paper-soft)));--bwc-edge:color-mix(in srgb,rgb(var(--c-ink-950)) 16%,rgb(var(--c-line)));--bwc-cu-hi:color-mix(in srgb,rgb(var(--c-accent)) 62%,white);--bwc-ctint:color-mix(in srgb,rgb(var(--c-accent)) 30%,rgb(var(--c-paper-soft)));--bwc-sh-1:0 1px 1px rgb(var(--c-ink-950) / .09),0 3px 6px -2px rgb(var(--c-ink-950) / .1),0 8px 16px -8px rgb(var(--c-ink-950) / .14);--bwc-cu-lo:color-mix(in srgb,rgb(var(--c-accent)) 62%,black);--bwc-sh-3:0 4px 4px rgb(var(--c-ink-950) / .12),0 16px 28px -6px rgb(var(--c-ink-950) / .18),0 40px 64px -22px rgb(var(--c-ink-950) / .32);--bwc-max:var(--fs-hdr-max, var(--fs-shell-max, 75rem))}
/* The header keeps the design's measure in every Site Settings layout (the
   source's own layouts never narrow its .hdw either: --wrap stays 1200px),
   so Boxed / Centered / Minimal narrow the page, not the row of controls;
   Full widens it as the source's data-layout=full (--wrap 1440px). */
[data-fs-theme='brimwell'][data-fs-layout='full']{--bwc-max:var(--fs-hdr-max, 90rem)}
[data-fs-theme='brimwell'].dark{--fs-chrome-mode:dark;--bwc-ctint:color-mix(in srgb,rgb(var(--c-accent)) 16%,rgb(var(--c-paper-soft)));--bwc-sh-1:inset 0 1px 0 rgb(255 255 255 / .05),0 1px 2px rgb(0 0 0 / .4),0 4px 10px -4px rgb(0 0 0 / .5);--bwc-tint:color-mix(in srgb,rgb(var(--c-brand-600)) 20%,rgb(var(--c-paper-soft)));--bwc-sh-3:inset 0 1px 0 rgb(255 255 255 / .07),0 4px 8px rgb(0 0 0 / .45),0 28px 48px -16px rgb(0 0 0 / .68)}

/* The band: translucent page colour, blurred, the hairline. A size
   container (fs-bw-band) so the row's gutter reads the band's width. */
[data-fs-theme='brimwell'] .fs-hdr-band{container-type:inline-size;container-name:fs-bw-band;background:color-mix(in srgb,rgb(var(--c-paper)) 94%,transparent);-webkit-backdrop-filter:saturate(1.2) blur(10px);backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid rgb(var(--c-line))}
/* The row: the band's full width, the design's measure kept by padding. */
[data-fs-theme='brimwell'] .fs-hdr-band .fs-hdr-row{--bwc-gut:clamp(16px,4cqi,32px);max-width:none !important;min-height:72px;gap:16px;padding-block:8px;padding-inline:max(var(--bwc-gut),calc((100% - var(--bwc-max)) / 2 + var(--bwc-gut)))}
/* The lockup, 48px high: the seeded picture (the source's own 232x60
   logo, 185.6px wide), or the mark (46px: 57.6 of the logo's 60 units)
   beside the name — on the template preview the theme's own name drawn
   as the source's two lines, "Brimwell" (23px 800, themeDefaults) over
   "PLUMBING & HEATING" (the source's 8.4px is under the repo's 10px
   type-scale floor: 10px 800, spaced .26em, 152px; Ledger L61). A
   customer's own name wraps inside 9em rather than pushing the nav. */
[data-fs-theme='brimwell'] .fs-hdr-row > :first-child{flex:none;gap:5px}
[data-fs-theme='brimwell'] .fs-hdr-row > :first-child img{height:48px;max-width:none;width:auto}
[data-fs-theme='brimwell'] .fs-hdr-row [data-fs-logo-mark]{width:46px;height:46px}
[data-fs-theme='brimwell'] .fs-hdr-row [data-fs-wordmark]{display:block;max-width:9em;white-space:normal;color:rgb(var(--c-ink-950))}
[data-fs-theme='brimwell'] .fs-hdr-row [data-fs-wordmark-accent]{display:block;margin-top:4px;font-family:var(--font-sans,'Figtree',system-ui,sans-serif);font-size:10px;font-weight:800;line-height:1;letter-spacing:.26em;text-transform:uppercase;white-space:nowrap;color:rgb(var(--c-ink-400)) !important}
/* The nav takes the space between and centres its cells (.nav flex:1). */
[data-fs-theme='brimwell'] .fs-hdr-row > nav{flex:1 0 auto;justify-content:center}
/* The Explore item's chevron, beside its words (the source's 14px .ic
   inside the cell). The caret is its own 24x44 target (WCAG 2.2 target
   size) that starts where the link ends — the link keeps 2px on its right
   so the chevron sits by the word, and its flow line ends with the word;
   the platform's widened hit area (::after) is held to the caret's own box
   so it never covers the link. */
[data-fs-theme='brimwell'] .fs-hdr-group{gap:0}
[data-fs-theme='brimwell'] .fs-hdr-group > .fsmenu-brimFlowLine{padding-right:2px}
[data-fs-theme='brimwell'] .fs-hdr-group > .fsmenu-brimFlowLine::after{right:2px}
[data-fs-theme='brimwell'] .fs-hdr-caret{width:24px;min-width:24px;height:44px;margin:0 0 4px;padding:0;opacity:1;color:rgb(var(--c-ink-950))}
[data-fs-theme='brimwell'] .fs-hdr-caret::after{inset:0}
[data-fs-theme='brimwell'] .fs-hdr-caret svg{width:12px;height:9px}

/* The Explore panel's shell: anchored to the row's edges (the band's
   width), just under the hairline, framed by the composite itself. */
[data-fs-theme='brimwell'] .fs-hdr-row .fsdrop-w-full.fsdrop-w-full{left:0 !important;right:0 !important;width:auto !important;max-width:none !important;margin-left:0 !important;transform:none !important}
[data-fs-theme='brimwell'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite){margin-top:1px !important;padding:0 !important;background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:none !important}
[data-fs-theme='brimwell'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite)::before{top:-26px;height:26px}

/* Standard's Services drop-down (.more .drop): not a band — a 260px card
   under its own item (the item's group becomes its containing block again,
   16px below the cell), 8px inside, 2px between 44px rows. */
[data-fs-theme='brimwell'] .fs-hdr-row .fs-hdr-group:has(.fs-bwd-drop){position:relative}
[data-fs-theme='brimwell'] .fs-hdr-row .fsdrop-w-full.fsdrop-w-full:has(.fs-bwd-drop){left:0 !important;right:auto !important;width:max-content !important;min-width:260px !important;max-width:none !important}
[data-fs-theme='brimwell'] .fs-hdr-row .fsdrop-panel-columns:has(.fs-bwd-drop){margin-top:16px !important}
[data-fs-theme='brimwell'] .fs-bwd-drop{display:grid;gap:2px;min-width:260px;padding:8px;background:rgb(var(--c-paper-soft));border:1px solid rgb(var(--c-line));border-radius:12px;box-shadow:var(--bwc-sh-3);text-align:left;white-space:nowrap}
[data-fs-theme='brimwell'] .fs-bwd-a{display:flex;align-items:center;min-height:44px;padding:8px 12px;border-radius:6px;font-weight:700;font-size:.875rem;line-height:1.15;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='brimwell'] a.fs-bwd-a:hover,[data-fs-theme='brimwell'] a.fs-bwd-a:focus-visible{background:var(--bwc-tint)}
[data-fs-theme='brimwell'] .fs-hdr-mobile .fs-bwd-drop{min-width:0;padding:4px 8px;background:transparent;border:0;box-shadow:none}

/* The on-call dot (.brim-oc .odot: 10px, the status green with the slow
   ping; amber out of hours) and its read-aloud words. */
[data-fs-theme='brimwell'] .fs-bwh{display:inline-flex;align-items:center;gap:12px}
[data-fs-theme='brimwell'] .fs-bwh-oc{display:inline-flex;align-items:center;flex:none}
[data-fs-theme='brimwell'] .fs-bwh-odot{flex:none;width:10px;height:10px;border-radius:50%;background:rgb(var(--fs-status-ok))}
[data-fs-theme='brimwell'] .fs-bwh-odot.is-amber{background:rgb(var(--c-accent));box-shadow:0 0 0 1px rgb(var(--c-ink-950) / .35)}
[data-fs-theme='brimwell'] .fs-bwh-odot.is-pending{visibility:hidden}
[data-fs-theme='brimwell'] .fs-bwh-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* The phone (.hph): 14px 800 ink, the phone icon in the link colour. */
[data-fs-theme='brimwell'] .fs-hdr-contact{gap:12px}
[data-fs-theme='brimwell'] .fs-hdr-phone{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:800;font-size:14px;line-height:1.15;font-variant-numeric:normal;font-feature-settings:normal;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='brimwell'] .fs-hdr-phone::before{content:"";flex:none;width:18px;height:18px;margin-right:0;background:rgb(var(--c-brand-text));-webkit-mask:var(--bwc-phone) center/contain no-repeat;mask:var(--bwc-phone) center/contain no-repeat}
[data-fs-theme='brimwell'] .fs-hdr-phone:hover{text-decoration:underline}
[data-fs-theme='brimwell']{--bwc-phone:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 005 5L15 13l5 2v4a2 2 0 01-2 2A16 16 0 013 6a2 2 0 012-2z'/%3E%3C/svg%3E")}

/* The emergency stopcock (.stop / .stop-wheel). */
[data-fs-theme='brimwell'] .fs-bwh-stop{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:6px 16px 6px 8px;border:2px solid rgb(var(--c-brand-600));border-radius:999px;background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));font:inherit;font-weight:800;font-size:14px;line-height:1.15;white-space:nowrap;cursor:pointer;transition:background-color .2s,color .2s}
[data-fs-theme='brimwell'] .fs-bwh-stop:hover{background:var(--bwc-tint)}
[data-fs-theme='brimwell'] .fs-bwh-stop[aria-expanded='true']{background:rgb(var(--c-brand-600));color:var(--fs-on-brand)}
[data-fs-theme='brimwell'] .fs-bwh-stop:focus-visible{outline:2px solid rgb(var(--c-brand-text));outline-offset:2px}
[data-fs-theme='brimwell'] .fs-bwh-wheel{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgb(var(--c-brand-600));color:var(--fs-on-brand)}
[data-fs-theme='brimwell'] .fs-bwh-stop[aria-expanded='true'] .fs-bwh-wheel{background:var(--fs-on-brand);color:rgb(var(--c-brand-600))}
/* The quarter turn is drawn on the valve icon inside the round wheel (the
   circle itself looks the same at any angle), so the turn's transition and
   the wheel's colour fade sit on two elements: switching bwValve off
   (--fs-anim-bwValve:none) can then never invalidate the colour fade. */
[data-fs-theme='brimwell'] .fs-bwh-stop[aria-expanded='true'] .fs-bwh-wheel>.fs-bwc-ic{transform:rotate(90deg)}
/* The source never presses the stopcock: no platform scale(.985) here. */
[data-fs-theme='brimwell'] .fs-bwh{--fs-anim-fs-press:none}
[data-fs-theme='brimwell'] .fs-bwc-ic{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* The stopcock panel (.stop-panel): under the whole header, the surface,
   the hairline and the big shadow; the 1200px wrap inside. */
[data-fs-theme='brimwell'] .fs-bwh-panel{position:absolute;left:0;right:0;top:100%;z-index:56;display:block;max-height:calc(100vh - 88px);overflow:auto;background:rgb(var(--c-paper-soft));border-bottom:1px solid rgb(var(--c-line));box-shadow:var(--bwc-sh-3);color:rgb(var(--c-ink-950));white-space:normal;text-align:left}
[data-fs-theme='brimwell'] .fs-bwh-panel[hidden]{display:none}
[data-fs-theme='brimwell'] .fs-bwh-in{display:grid;gap:16px;max-width:var(--bwc-max);margin:0 auto;padding:24px var(--bwc-gut,32px) 32px}
[data-fs-theme='brimwell'] .fs-bwh-top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
[data-fs-theme='brimwell'] .fs-bwh-h{display:block;margin:0;font-family:var(--font-display,'Schibsted Grotesk',system-ui,sans-serif);font-weight:700;font-size:1.5rem;line-height:1.12;letter-spacing:-.015em;color:rgb(var(--c-ink-950))}
[data-fs-theme='brimwell'] .fs-bwh-em{font-style:normal;color:rgb(var(--c-brand-text));padding:0 2px;background:linear-gradient(transparent 68%,color-mix(in srgb,rgb(var(--c-accent)) 60%,transparent) 68% 90%,transparent 90%)}
[data-fs-theme='brimwell'] .fs-bwh-x{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:6px 16px;border:1px solid var(--bwc-edge);border-radius:999px;background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));font:inherit;font-weight:800;font-size:14px;cursor:pointer}
[data-fs-theme='brimwell'] .fs-bwh-x:hover{background:var(--bwc-tint)}
/* The gas line (.warn.stop-gas): the copper tint, a 4px copper edge. */
[data-fs-theme='brimwell'] .fs-bwh-gas{display:flex;gap:12px;margin:0;padding:16px;border-left:4px solid rgb(var(--c-accent));border-radius:6px;background:var(--bwc-ctint);color:rgb(var(--c-ink-950));font-size:.875rem;line-height:1.5}
[data-fs-theme='brimwell'] .fs-bwh-gas > .fs-bwc-ic{flex:none;margin-top:2px}
[data-fs-theme='brimwell'] .fs-bwh-gas-b{font-weight:700}
[data-fs-theme='brimwell'] .fs-bwh-gas-a{display:inline-flex;align-items:center;min-height:24px;font-weight:800;white-space:nowrap;color:inherit;text-decoration:none}
[data-fs-theme='brimwell'] .fs-bwh-fa{display:block;background:transparent;line-height:1.65}

/* ── The Explore mega panel (.mega .mega-in) ─────────────────────── */
[data-fs-theme='brimwell'] .fs-bwm-panel{container-type:inline-size;container-name:fs-bwm;background:rgb(var(--c-paper-soft));border-bottom:1px solid rgb(var(--c-line));box-shadow:var(--bwc-sh-3);color:rgb(var(--c-ink-950));text-align:left;white-space:normal}
[data-fs-theme='brimwell'] .fs-bwm-in{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.1fr);gap:32px;max-width:var(--bwc-max);margin:0 auto;padding:32px var(--bwc-gut,32px)}
[data-fs-theme='brimwell'] .fs-bwm-group{display:grid;align-content:start;min-width:0}
[data-fs-theme='brimwell'] .fs-bwm-g{margin:0 0 12px;font-size:.75rem;line-height:1.65;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
[data-fs-theme='brimwell'] .fs-bwm-mi{display:flex;gap:12px;align-items:center;min-height:44px;margin:0 -8px;padding:8px;border-radius:6px;color:rgb(var(--c-ink-950));text-decoration:none;transition:background-color .2s}
[data-fs-theme='brimwell'] a.fs-bwm-mi:hover{background:var(--bwc-tint)}
[data-fs-theme='brimwell'] a.fs-bwm-mi:focus-visible{outline:2px solid rgb(var(--c-brand-text));outline-offset:0}
/* .mi .icon-badge: the copper-tinted, rimmed badge (40px, 6px corners) */
[data-fs-theme='brimwell'] .fs-bwm-badge{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:6px;color:rgb(var(--c-ink-950));background:radial-gradient(120% 130% at 28% 20%,color-mix(in srgb,var(--bwc-ctint) 82%,white) 0%,var(--bwc-ctint) 55%,color-mix(in srgb,var(--bwc-ctint) 86%,black) 100%);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,rgb(var(--c-accent)) 55%,transparent),inset 0 1px 1px rgb(255 255 255 / .35),inset 0 -2px 3px rgb(0 0 0 / .14)}
[data-fs-theme='brimwell'] .fs-bwm-badge .fs-bwc-ic{width:20px;height:20px}
[data-fs-theme='brimwell'] .fs-bwm-tx{display:block;min-width:0}
[data-fs-theme='brimwell'] .fs-bwm-t{display:block;font-weight:700;font-size:.875rem;line-height:1.65}
[data-fs-theme='brimwell'] .fs-bwm-s{display:block;font-size:.75rem;line-height:1.4;color:rgb(var(--c-ink-400))}
/* The "Next free visit" card (.feat): the brand fill, white words. */
[data-fs-theme='brimwell'] .fs-bwm-feat{display:grid;gap:12px;align-content:start;padding:24px;border-radius:12px;background:rgb(var(--c-brand-600));color:var(--fs-on-brand)}
[data-fs-theme='brimwell'] .fs-bwm-kick{font-size:.75rem;line-height:1.65;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
[data-fs-theme='brimwell'] .fs-bwm-h{margin:0;font-family:var(--font-display,'Schibsted Grotesk',system-ui,sans-serif);font-weight:700;font-size:1.5rem;line-height:1.12;letter-spacing:-.015em;color:var(--fs-on-brand)}
[data-fs-theme='brimwell'] .fs-bwm-note{margin:0;font-size:.875rem;line-height:1.65;color:var(--fs-on-brand)}
[data-fs-theme='brimwell'] .fs-bwm-feat .fs-bw-pending{visibility:hidden}
/* Its button (.btn.sun.sm): the copper fill, ink words, 40px. */
[data-fs-theme='brimwell'] .fs-bwm-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 16px;border:2px solid rgb(var(--c-accent));border-radius:999px;background:rgb(var(--c-accent));color:rgb(var(--c-ink-950));box-shadow:var(--bwc-sh-1);font-weight:800;font-size:.875rem;line-height:1.2;text-decoration:none;white-space:nowrap}
[data-fs-theme='brimwell'].dark .fs-bwm-btn{color:rgb(var(--c-paper))}
[data-fs-theme='brimwell'] .fs-bwm-btn:hover{background:var(--bwc-cu-hi);border-color:var(--bwc-cu-hi)}
[data-fs-theme='brimwell'] .fs-bwm-btn .fs-bwc-ic{width:16px;height:16px}
/* Narrow panels (the source's ≤900px: one column). */
@container fs-bwm (max-width: 56rem){
  [data-fs-theme='brimwell'] .fs-bwm-in{grid-template-columns:minmax(0,1fr);gap:16px}
}
/* The minimalist layout (the source's html[data-layout=minimal] .feat). */
[data-fs-theme='brimwell'][data-fs-layout='minimal'] .fs-bwm-feat{background:var(--bwc-tint);color:rgb(var(--c-ink-950))}
[data-fs-theme='brimwell'][data-fs-layout='minimal'] :is(.fs-bwm-h,.fs-bwm-note){color:rgb(var(--c-ink-950))}
[data-fs-theme='brimwell'][data-fs-layout='minimal'] .fs-bwm-kick{color:rgb(var(--c-brand-text))}

/* The header button (.hact .btn): the family's pill, brand fill, white
   words, the deep brand on hover, the calendar before the words (size and
   padding are themeDefaults' headerCta*). */
[data-fs-theme='brimwell'] .fs-hdr-cta{--fs-hdr-cta-bg:rgb(var(--c-brand-600));--fs-hdr-cta-fg:var(--fs-on-brand);--fs-hdr-cta-bg-hover:rgb(var(--c-brand-700, var(--c-brand-600)));--fs-hdr-cta-fg-hover:var(--fs-on-brand)}
[data-fs-theme='brimwell'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{gap:8px;font-weight:800;line-height:1.5;white-space:nowrap}
[data-fs-theme='brimwell'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta::before{content:"";flex:none;width:18px;height:18px;background:currentColor;-webkit-mask:var(--bwc-cal) center/contain no-repeat;mask:var(--bwc-cal) center/contain no-repeat}
[data-fs-theme='brimwell']{--bwc-cal:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='3'/%3E%3Cpath d='M8 3v4M16 3v4M3 10h18'/%3E%3C/svg%3E")}

/* The source's order on a wide band: the dot, the phone, the stopcock,
   the button (.hact). The platform renders the composite (dot, stopcock)
   and the contact strip (phone, button) as two groups, so above 1280px
   both groups and their wrappers lay their items straight into the row
   (display:contents) and the order property sets the source's sequence; the row's
   16px gap less 4px is the source's 12px between them. Only wrappers
   lose their box — the items, and the platform's own narrow-width hides
   below 1280px, are untouched. */
@container fs-bw-band (min-width: 80.0625rem){
  [data-fs-theme='brimwell'] .fs-hdr-row > div:has(> .fs-hdr-composite),[data-fs-theme='brimwell'] .fs-hdr-row .fs-hdr-composite,[data-fs-theme='brimwell'] .fs-hdr-row .fs-bwh,[data-fs-theme='brimwell'] .fs-hdr-row .fs-hdr-contact{display:contents}
  [data-fs-theme='brimwell'] .fs-hdr-row .fs-bwh-oc{order:1}
  [data-fs-theme='brimwell'] .fs-hdr-row .fs-hdr-phone{order:2;margin-left:-4px}
  [data-fs-theme='brimwell'] .fs-hdr-row .fs-bwh-stop{order:3;margin-left:-4px}
  [data-fs-theme='brimwell'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{order:4;margin-left:-4px}
  [data-fs-theme='brimwell'] .fs-hdr-row :is(.fs-hdr-mode,[data-fs-preview-edit],.fs-hdr-menu-btn){order:5}
}
/* ≤1280px (the source's breakpoint, here the band's width): the phone
   and the dot give way. */
@container fs-bw-band (max-width: 80rem){
  [data-fs-theme='brimwell'] .fs-hdr-phone,[data-fs-theme='brimwell'] .fs-bwh-oc{display:none}
}
/* ≤1100px and ≤640px: the row's gaps close to 12px and 8px. */
@container fs-bw-band (max-width: 68.75rem){
  [data-fs-theme='brimwell'] .fs-hdr-band .fs-hdr-row{gap:12px}
}
@container fs-bw-band (max-width: 40rem){
  [data-fs-theme='brimwell'] .fs-hdr-band .fs-hdr-row{gap:8px}
}
/* R16 (the template preview alone): its Edit Template link and visitor
   mode switch are on no real site; on a phone the switch and the name's
   words give way so the row still holds the mark, the stopcock and the
   menu button. [data-fs-preview-edit] is that route's own hook. */
@container fs-bw-band (max-width: 34rem){
  [data-fs-theme='brimwell'] .fs-hdr-row:has([data-fs-preview-edit]) .fs-hdr-mode{display:none}
  [data-fs-theme='brimwell'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark]{display:none}
}
/* ≤480px: "Emergency" and "Book" alone. */
@container fs-bw-band (max-width: 30rem){
  [data-fs-theme='brimwell'] .fs-bwh-hide-s{display:none}
  [data-fs-theme='brimwell'] .fs-hdr-row [data-fs-logo-mark]{width:44px;height:44px}
  [data-fs-theme='brimwell'] .fs-hdr-row > :first-child img{height:44px}
}

/* ── The phone menu (the source's stacked menu with a vertical copper
   pipe beside the rows, ≤1100px: its joints are the desktop flow-line's
   ::after, which the source draws only above 1100px, so none show) ── */
[data-fs-theme='brimwell'] .fs-hdr-mobile{background:rgb(var(--c-paper-soft))}
[data-fs-theme='brimwell'] .fs-hdr-mobile-list{position:relative;display:grid;gap:4px;padding:0 0 0 24px}
[data-fs-theme='brimwell'] .fs-hdr-mobile-list::before{content:"";position:absolute;left:4px;top:8px;bottom:8px;width:8px;border-radius:999px;background:linear-gradient(90deg,var(--bwc-cu-hi),rgb(var(--c-accent)) 50%,var(--bwc-cu-lo))}
[data-fs-theme='brimwell'] .fs-hdr-mobile-list > li{position:relative}
[data-fs-theme='brimwell'] .fs-hdr-mobile-row{border:1px solid rgb(var(--c-line));border-radius:6px}
[data-fs-theme='brimwell'] .fs-hdr-mobile-link:not(.is-sub){display:flex;align-items:center;min-height:42px;padding:6px 12px;font-weight:700;font-size:14px;line-height:1.15;color:rgb(var(--c-ink-950))}
[data-fs-theme='brimwell'] .fs-hdr-mobile-row:has(> .fs-hdr-mobile-link[aria-current]:not([aria-current='false'])){background:rgb(var(--c-brand-600));border-color:rgb(var(--c-brand-600))}
[data-fs-theme='brimwell'] .fs-hdr-mobile-link.fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false']){color:var(--fs-on-brand)}
[data-fs-theme='brimwell'] .fs-hdr-mobile-row:has(> .fs-hdr-mobile-link[aria-current]:not([aria-current='false'])) .fs-hdr-mobile-toggle{color:var(--fs-on-brand)}
[data-fs-theme='brimwell'] .fs-hdr-mobile-sub{margin:4px 0 8px;padding:0;border-left:0}
[data-fs-theme='brimwell'] .fs-hdr-mobile .fs-bwm-panel{background:transparent;border:0;box-shadow:none}
[data-fs-theme='brimwell'] .fs-hdr-mobile .fs-bwm-in{grid-template-columns:minmax(0,1fr);gap:16px;padding:12px 8px}
/* The phone menu's foot (phone-menu-foot.tsx BrimwellFoot): the site's
   phone (a tel: link, the call) large in the link colour, the hours, then
   the header button full width (the booking) — the source's phone bar
   (.mbar: Call and Book) brought into the menu. */
[data-fs-theme='brimwell'] .fs-pmf-brimwell{display:grid;gap:12px;margin:24px 0 16px;padding-top:16px;border-top:1px solid rgb(var(--c-line))}
[data-fs-theme='brimwell'] .fs-pmf-brimwell .fs-pmf-big{display:flex;align-items:center;gap:8px;margin:0;font-family:var(--font-display,'Schibsted Grotesk',system-ui,sans-serif);font-weight:700;font-size:1.25rem;line-height:1.2}
[data-fs-theme='brimwell'] .fs-pmf-brimwell .fs-pmf-ico{width:20px;height:20px;color:rgb(var(--c-brand-text))}
[data-fs-theme='brimwell'] .fs-pmf-brimwell .fs-pmf-tel{color:rgb(var(--c-brand-text));text-decoration:none;white-space:nowrap}
[data-fs-theme='brimwell'] .fs-pmf-brimwell .fs-pmf-hours{margin:0;font-size:.875rem;color:rgb(var(--c-ink-400))}
[data-fs-theme='brimwell'] .fs-pmf-brimwell .fs-hdr-cta.fs-pmf-cta{display:flex;width:100%;margin:0}

/* ── Motion ────────────────────────────────────────────────
   The same gates as brimwell-styles.ts: the theme scope carries
   data-fs-motion (siteShell puts both on the one wrapper), reduced motion
   wins, each effect reads its --fs-anim-<id> switch, distances x
   --fs-motion-dist, durations x --fs-anim-speed, backwards fill only. */
@keyframes fs-bwh-ping{0%{box-shadow:0 0 0 0 rgb(var(--fs-status-ok) / .55)}70%{box-shadow:0 0 0 calc(8px * var(--fs-motion-dist, 1)) transparent}100%{box-shadow:0 0 0 0 transparent}}
@keyframes fs-bwh-drop{from{opacity:0;transform:translateY(calc(var(--bwc-drop, -8px) * var(--fs-motion-dist, 1)))}to{opacity:1;transform:none}}
/* Off, reduced motion: the colour fades stop too (the source's Off). */
[data-fs-theme='brimwell']:not([data-fs-motion='on']) :is(.fs-bwh-stop,.fs-bwm-mi){transition:none}
@media (prefers-reduced-motion: reduce){
  [data-fs-theme='brimwell'] :is(.fs-bwh-stop,.fs-bwm-mi){transition:none}
}
@media (prefers-reduced-motion: no-preference){
  /* bwPing — the on-call dot's soft ring (the source's pingG, 2s) */
  [data-fs-theme='brimwell'][data-fs-motion='on'] .fs-bwh-odot:not(.is-amber):not(.is-pending){animation:var(--fs-anim-bwPing, fs-bwh-ping calc(2s * var(--fs-anim-speed, 1)) infinite)}
  /* bwValve — the stopcock wheel turns a quarter as its panel opens and
     back as it closes (600ms); its colours change over 200ms. */
  [data-fs-theme='brimwell'][data-fs-motion='on'] .fs-bwh-wheel{transition:background-color calc(200ms * var(--fs-anim-speed, 1)),color calc(200ms * var(--fs-anim-speed, 1))}
  [data-fs-theme='brimwell'][data-fs-motion='on'] .fs-bwh-wheel>.fs-bwc-ic{transition:var(--fs-anim-bwValve, transform calc(600ms * var(--fs-anim-speed, 1)) cubic-bezier(.2,.8,.2,1))}
  [data-fs-theme='brimwell'][data-fs-motion='on'] .fs-bwh-stop{transition:background-color calc(200ms * var(--fs-anim-speed, 1)),color calc(200ms * var(--fs-anim-speed, 1))}
  /* bwDrop — the Explore panel drops 8px from under the header as it
     fades in, the Services drop-down 6px (200ms); not in the phone menu,
     where the source's panels open in place. */
  [data-fs-theme='brimwell'][data-fs-motion='on'] .fs-hdr-row .fs-bwm-panel{animation:var(--fs-anim-bwDrop, fs-bwh-drop calc(200ms * var(--fs-anim-speed, 1)) cubic-bezier(.2,.8,.2,1) backwards)}
  [data-fs-theme='brimwell'][data-fs-motion='on'] .fs-hdr-row .fs-bwd-drop{--bwc-drop:-6px;animation:var(--fs-anim-bwDrop, fs-bwh-drop calc(200ms * var(--fs-anim-speed, 1)) cubic-bezier(.2,.8,.2,1) backwards)}
}


/* Tokens. --twc-tint: the source's --tint (brand 9% into the surface);
   --twc-shadow: --shadow (light / dark); --twc-cap-h: --cap-h (96px; 92px
   at 760px and under); --twc-top: the capsule's margin-top (16px; 10px at
   760px and under); --twc-max: its widest. The two breakpoint values are
   a step on the width of the box that USES them (cqi: the band reads its
   surface's width — the window, the editor canvas — and a section's wrap
   reads its section's), because a container query cannot style the band,
   which is itself the container (Lumina's clamp idiom). */
[data-fs-theme='tidewell']{--fs-chrome-mode:light;--twc-tint:color-mix(in srgb,rgb(var(--c-brand-600)) 9%,rgb(var(--c-paper-soft)));--twc-shadow:0 2px 5px rgba(8,62,66,.10),0 10px 20px rgba(8,62,66,.10),0 28px 52px rgba(8,62,66,.14);--twc-mega-shadow:0 30px 70px rgba(5,50,54,.22);--twc-cap-h:clamp(92px,92px + (100cqi - 760.5px) * 1000,96px);--twc-top:clamp(10px,(100cqi - 760.5px) * 1000,16px);--twc-max:1220px}
[data-fs-theme='tidewell'].dark{--fs-chrome-mode:dark;--fs-twft-dot:rgb(var(--c-brand-text));--twc-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 3px 8px rgba(0,0,0,.5),0 22px 46px rgba(0,0,0,.55)}
/* The source's full-width layout: the capsule runs the window less 24px,
   12px down, a 26px radius; boxed: the window (the box) less 28px, 12px
   down, 16px in on the left; centred: two lines (--cap-h 140px); minimal:
   a solid 14px-round bar with no shadow, 12px down. */
[data-fs-theme='tidewell'][data-fs-layout='full']{--twc-top:12px;--twc-max:none}
[data-fs-theme='tidewell'][data-fs-layout='boxed']{--twc-top:12px}
[data-fs-theme='tidewell'][data-fs-layout='centered']{--twc-cap-h:clamp(92px,92px + (100cqi - 760.5px) * 1000,clamp(96px,96px + (100cqi - 1060.5px) * 1000,140px))}
[data-fs-theme='tidewell'][data-fs-layout='minimal']{--twc-top:12px}

/* The band: nothing drawn, the pointer passes through; the room the
   source leaves the capsule. A size container (fs-tw-band) for the
   source's breakpoints. */
[data-fs-theme='tidewell'] .fs-hdr-band{container-type:inline-size;container-name:fs-tw-band;box-sizing:border-box;min-height:calc(var(--twc-top) + var(--twc-cap-h));padding-top:var(--twc-top);background:transparent;border:0;pointer-events:none}
/* What the band holds takes the pointer back: the capsule, a Site Settings
   utility strip, the editor's simulated phone menu (it drops from the
   band there). */
[data-fs-theme='tidewell'] .fs-hdr-band > *,[data-fs-theme='tidewell'] .fs-hdr-band .fs-hdr-mobile{pointer-events:auto}
/* The page runs on under the capsule (the source's header has no height):
   when the page opens on the family's page head or hero, the band gives
   back its --cap-h and that section takes it as top padding, so the
   head's tint or the hero's glow runs behind the capsule from 16px down,
   as in the source — the section's own padding below is unchanged. A page
   that opens on anything else keeps the band in the flow (nothing slides
   under the capsule). */
[data-fs-theme='tidewell']:has([data-fs-first] > :is(.fs-tw-pagehead,.fs-tw-hero)) .fs-hdr-band{margin-bottom:calc(-1 * var(--twc-cap-h))}
[data-fs-theme='tidewell'] [data-fs-first] > .fs-tw-pagehead > .fs-tw-wrap{padding-top:calc(var(--twc-cap-h) + 46px)}
[data-fs-theme='tidewell'] [data-fs-first] > .fs-tw-hero > .fs-tw-wrap{padding-top:calc(var(--twc-cap-h) + 12px)}
@container fs-tw (min-width:1061px){
  [data-fs-theme='tidewell'][data-fs-layout='centered'] [data-fs-first] > .fs-tw-hero > .fs-tw-wrap{padding-top:calc(var(--twc-cap-h) + 32px)}
}
/* The capsule. */
[data-fs-theme='tidewell'] .fs-hdr-band .fs-hdr-row{--row-pad:10px !important;position:relative;box-sizing:border-box;width:calc(100% - 32px);max-width:var(--twc-max) !important;min-height:0;margin:0 auto;padding:9px 10px 9px 22px;gap:12px;justify-content:flex-start;background:color-mix(in srgb,rgb(var(--c-paper-soft)) 84%,transparent);-webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4);border:1px solid color-mix(in srgb,rgb(var(--c-line)) 80%,transparent);border-radius:999px;box-shadow:var(--twc-shadow);pointer-events:auto}
[data-fs-theme='tidewell'][data-fs-layout='full'] .fs-hdr-band .fs-hdr-row{width:calc(100% - 24px);border-radius:26px}
[data-fs-theme='tidewell'][data-fs-layout='boxed'] .fs-hdr-band .fs-hdr-row{width:calc(100% - 28px);padding-left:16px}
[data-fs-theme='tidewell'][data-fs-layout='minimal'] .fs-hdr-band .fs-hdr-row{width:calc(100% - 24px);border-radius:14px;box-shadow:none;background:rgb(var(--c-paper-soft))}

/* The lockup, 40px high: the seeded picture (the source's 218 x 52 logo,
   167.7px wide), or the mark (40px) beside the name — on the template
   preview the theme's own name drawn as the source's two lines, "Tidewell"
   (19.2px 800, -.02em, themeDefaults) over "PODIATRY & FOOT HEALTH" (the
   source's 6.5px is under the repo's 10px type-scale floor: 10px 700,
   spaced .04em; Ledger). The lockup's words are the body face, as the
   source's .lg-name / .lg-sub. A customer's own name wraps inside 10em
   rather than pushing the nav. */
[data-fs-theme='tidewell'] .fs-hdr-row > :first-child{flex:none;gap:7.7px}
[data-fs-theme='tidewell'] .fs-hdr-row > :first-child img{height:40px;max-width:none;width:auto}
[data-fs-theme='tidewell'] .fs-hdr-row [data-fs-logo-mark]{width:40px;height:40px}
[data-fs-theme='tidewell'] .fs-hdr-row [data-fs-wordmark]{display:block;max-width:10em;white-space:normal;font-family:var(--font-sans,'Plus Jakarta Sans',system-ui,sans-serif);color:rgb(var(--c-ink-950))}
[data-fs-theme='tidewell'] .fs-hdr-row [data-fs-wordmark-accent]::before{content:"\A";white-space:pre}
[data-fs-theme='tidewell'] .fs-hdr-row [data-fs-wordmark-accent],[data-fs-theme='tidewell'] .fs-hdr-row [data-fs-wordmark-accent] + span{display:inline;font-size:10px;font-weight:700;line-height:1.5;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;color:rgb(var(--c-ink-400)) !important}
/* The nav: pushed right (.nav margin-left:auto). */
[data-fs-theme='tidewell'] .fs-hdr-row > nav{flex:0 1 auto;margin-left:auto}
/* The Explore / More item: the link and its caret are one pill (the
   source's button with the chevron inside it): the caret is 34px of the
   pill (5px gap, the 15px chevron box, 14px), the chevron drawn 7.5 x
   3.75px 2px above the middle (the cell's 10 / 14px padding), turned while
   the panel is open. Its own target is the pill's 34 x 48px half; the
   platform's widened hit area is held to it. */
[data-fs-theme='tidewell'] .fs-hdr-row .fs-hdr-group{gap:0}
[data-fs-theme='tidewell'] .fs-hdr-row .fs-hdr-caret{box-sizing:border-box;width:34px;min-width:34px;height:48px;margin:0;padding:0 17px 4px 8px;border-radius:0 999px 999px 0;opacity:1;color:rgb(var(--c-ink-950))}
[data-fs-theme='tidewell'] .fs-hdr-row .fs-hdr-caret::after{inset:0}
[data-fs-theme='tidewell'] .fs-hdr-row .fs-hdr-caret svg{width:9px;height:6px;flex:none}
[data-fs-theme='tidewell'] .fs-hdr-row .fs-hdr-group:hover > .fs-hdr-caret{background:var(--twc-tint)}
[data-fs-theme='tidewell'] .fs-hdr-row .fs-hdr-group[data-open] > .fs-hdr-caret svg{transform:rotate(180deg)}
[data-fs-theme='tidewell'] .fs-hdr-row .fs-hdr-group:is([data-fs-tw-on],:has(> [aria-current='page'])) > .fs-hdr-caret{color:rgb(var(--c-brand-text))}

/* The right-hand group (.cap-right): the chip and the button 10px apart.
   The platform wraps them differently on each surface; every wrapper that
   holds the chip or the button closes to 10px, and an empty composite
   (a real site has no chip) takes no room. The source's header has no
   phone: the platform's header phone gives way (the site's number is in
   the clinic finder and the phone menu's foot; Ledger). */
[data-fs-theme='tidewell'] .fs-hdr-row div:has(> .fs-hdr-composite),[data-fs-theme='tidewell'] .fs-hdr-row .fs-hdr-contact{gap:10px}
[data-fs-theme='tidewell'] .fs-hdr-row .fs-hdr-composite:has(> .fs-twh:empty){display:none}
[data-fs-theme='tidewell'] .fs-hdr-row .fs-hdr-phone{display:none}
[data-fs-theme='tidewell'] .fs-twh{display:inline-flex;align-items:center}
[data-fs-theme='tidewell'] .fs-twh-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:var(--twc-tint);font-size:.82rem;font-weight:700;line-height:1.6;white-space:nowrap;color:rgb(var(--c-brand-text))}
[data-fs-theme='tidewell'] .fs-twh-chip.is-pending{visibility:hidden}
[data-fs-theme='tidewell'] .fs-twh-dot{flex:none;width:8px;height:8px;border-radius:50%;background:rgb(var(--fs-status-ok))}
[data-fs-theme='tidewell'][data-fs-layout='boxed'] .fs-twh-chip,[data-fs-theme='tidewell'][data-fs-layout='centered'] .fs-twh-chip,[data-fs-theme='tidewell'][data-fs-layout='minimal'] .fs-twh-chip{display:none}

/* The header button (.cap-right .btn.sm): the brand pill, white words, the
   family's brand glow, the calendar before the words (20px, 9px gap). Size
   and padding are themeDefaults' headerCta*. */
[data-fs-theme='tidewell'] .fs-hdr-cta{--fs-hdr-cta-bg:rgb(var(--c-brand-600));--fs-hdr-cta-fg:var(--fs-on-brand);--fs-hdr-cta-bg-hover:rgb(var(--c-brand-600));--fs-hdr-cta-fg-hover:var(--fs-on-brand)}
[data-fs-theme='tidewell'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{gap:9px;font-weight:700;line-height:1.6;white-space:nowrap;box-shadow:0 8px 20px color-mix(in srgb,rgb(var(--c-brand-600)) 30%,transparent)}
[data-fs-theme='tidewell'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta:hover{box-shadow:0 12px 26px color-mix(in srgb,rgb(var(--c-brand-600)) 38%,transparent)}
[data-fs-theme='tidewell'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta::before{content:"";flex:none;width:20px;height:20px;background:currentColor;-webkit-mask:var(--twc-cal) center/contain no-repeat;mask:var(--twc-cal) center/contain no-repeat}
[data-fs-theme='tidewell'][data-fs-layout='minimal'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{box-shadow:none;border-radius:10px}
[data-fs-theme='tidewell']{--twc-cal:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='3'/%3E%3Cpath d='M8 3v4M16 3v4M3 10h18'/%3E%3C/svg%3E")}
/* The round menu button (.burger): 44px, the tint, the link colour. */
[data-fs-theme='tidewell'] .fs-hdr-row .fs-hdr-menu-btn{width:44px;height:44px;border-radius:50%;background:var(--twc-tint);color:rgb(var(--c-brand-text))}
[data-fs-theme='tidewell'] .fs-hdr-row .fs-hdr-menu-btn svg{width:20px;height:20px}

/* The source's centred layout: the lockup on its own line, centred; the
   nav and the right-hand group centred under it (34px radius, 10 / 16 / 8px
   inside, 2px between the lines). */
[data-fs-theme='tidewell'][data-fs-layout='centered'] .fs-hdr-band .fs-hdr-row{flex-wrap:wrap;justify-content:center;row-gap:2px;padding:10px 16px 8px;border-radius:34px}
[data-fs-theme='tidewell'][data-fs-layout='centered'] .fs-hdr-row > :first-child{flex:1 0 100%;justify-content:center}
[data-fs-theme='tidewell'][data-fs-layout='centered'] .fs-hdr-row > nav{margin-left:0}
/* The source's boxed layout: the nav items 11px in, .9rem. */
[data-fs-theme='tidewell'][data-fs-layout='boxed'] .fs-hdr-row .fsmenu-twFootTrail{padding-left:11px;font-size:.9rem}
[data-fs-theme='tidewell'][data-fs-layout='boxed'] .fs-hdr-row .fsmenu-twFootTrail:not(.fs-hdr-group > *){padding-right:11px}
/* The source's minimal layout: the trail becomes a 2px ink line, 14px in. */
[data-fs-theme='tidewell'][data-fs-layout='minimal'] .fs-hdr-row .fsmenu-twFootTrail{--fs-twft-r:14px}
[data-fs-theme='tidewell'][data-fs-layout='minimal'] .fs-hdr-row .fs-hdr-group > .fsmenu-twFootTrail{--fs-twft-r:-20px}
[data-fs-theme='tidewell'][data-fs-layout='minimal'] .fs-hdr-row .fsmenu-twFootTrail::after{height:2px;left:14px;bottom:4px;border-radius:2px;background:rgb(var(--c-ink-950))}

/* ── The Explore mega (.mega) ─────────────────────────────────────
   The shell: hung from the capsule's edges (megaWidth 'bar', --row-pad
   10px), 12px under it, drawn by the composite itself. The bridge covers
   the 22px between the item and the panel so the pointer never leaves the
   group on the way down (the source's .mega::before) — the shell's own
   overflow:auto would clip it, so the shell shows its overflow (the
   panel is never taller than the window). */
[data-fs-theme='tidewell'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite){margin-top:12px !important;overflow:visible !important;padding:0 !important;background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;z-index:5}
[data-fs-theme='tidewell'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite)::before{top:-24px;height:24px}
[data-fs-theme='tidewell'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite) > .fsdrop-mega-content{padding:0;border:0}
[data-fs-theme='tidewell'] .fs-twm-panel{container-type:inline-size;container-name:fs-twm;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.15fr);gap:20px;padding:24px;background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));border:1px solid rgb(var(--c-line));border-radius:30px;box-shadow:var(--twc-mega-shadow);text-align:left;white-space:normal}
[data-fs-theme='tidewell'] .fs-twm-group{display:grid;align-content:start;min-width:0}
[data-fs-theme='tidewell'] .fs-twm-g{margin:0 0 10px;font-family:var(--font-display,'Outfit',system-ui,sans-serif);font-size:.75rem;line-height:1.15;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
[data-fs-theme='tidewell'] .fs-twm-mi{display:flex;gap:12px;align-items:flex-start;padding:10px;border-radius:16px;color:rgb(var(--c-ink-950));text-decoration:none;transition:background-color .2s}
[data-fs-theme='tidewell'] a.fs-twm-mi:hover{background:var(--twc-tint)}
[data-fs-theme='tidewell'] a.fs-twm-mi:focus-visible{outline:3px solid rgb(var(--c-brand-text));outline-offset:0}
[data-fs-theme='tidewell'] .fs-twm-badge{position:relative;display:inline-grid;place-items:center;flex:none;width:38px;height:38px;border-radius:13px;color:rgb(var(--c-brand-text));background:linear-gradient(155deg,color-mix(in srgb,rgb(var(--c-brand-600)) 18%,rgb(var(--c-paper-soft))),color-mix(in srgb,rgb(var(--c-accent)) 16%,rgb(var(--c-paper-soft))));box-shadow:inset 0 0 0 1.5px color-mix(in srgb,rgb(var(--c-brand-600)) 24%,transparent)}
[data-fs-theme='tidewell'] .fs-twm-badge .fs-twc-ic{width:18px;height:18px}
[data-fs-theme='tidewell'] .fs-twm-tx{display:block;min-width:0}
[data-fs-theme='tidewell'] .fs-twm-t{display:block;font-size:.95rem;font-weight:700;line-height:1.6}
[data-fs-theme='tidewell'] .fs-twm-mi.is-on .fs-twm-t{color:rgb(var(--c-brand-text))}
[data-fs-theme='tidewell'] .fs-twm-s{display:block;font-size:.8rem;line-height:1.35;color:rgb(var(--c-ink-400))}
/* The card (.feat): the brand to its deep, white words, the faint print. */
[data-fs-theme='tidewell'] .fs-twm-feat{position:relative;overflow:hidden;display:block;padding:22px;border-radius:22px;background:linear-gradient(150deg,rgb(var(--c-brand-600)),rgb(var(--c-brand-700)));color:var(--fs-on-brand)}
[data-fs-theme='tidewell'] .fs-twm-fp{position:absolute;right:-8px;bottom:-14px;width:110px;height:auto;opacity:.18;color:var(--fs-on-brand);transform:rotate(18deg);pointer-events:none}
[data-fs-theme='tidewell'] .fs-twm-kick{position:relative;display:block;font-size:.78rem;font-weight:700;line-height:1.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--fs-on-brand)}
[data-fs-theme='tidewell'] .fs-twm-h{position:relative;margin:0;font-family:var(--font-display,'Outfit',system-ui,sans-serif);font-size:1.2rem;font-weight:800;line-height:1.15;letter-spacing:-.02em;color:var(--fs-on-brand)}
[data-fs-theme='tidewell'] .fs-twm-p{position:relative;margin:8px 0 14px;font-size:.9rem;line-height:1.6;color:var(--fs-on-brand)}
/* Its button (.btn.white.sm): white, the deep brand darkened (L7), 40px. */
[data-fs-theme='tidewell'] .fs-twm-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:9px 18px;border-radius:999px;background:var(--fs-on-brand);color:color-mix(in srgb,rgb(var(--c-brand-700)) 62%,black);font-size:.88rem;font-weight:700;line-height:1.6;white-space:nowrap;text-decoration:none}
/* Narrow panels: one column, the card under the groups. */
@container fs-twm (max-width: 56rem){
  [data-fs-theme='tidewell'] .fs-twm-panel{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
/* The source's minimal layout: a 14px-round panel. */
[data-fs-theme='tidewell'][data-fs-layout='minimal'] .fs-twm-panel{border-radius:14px}

/* ── Standard's More drop-down (.more .drop): a card under its own item
   (the group is its containing block again), its right edge on the
   item's, 6px below; 8px inside, 12px-round rows. ── */
[data-fs-theme='tidewell'] .fs-hdr-row .fs-hdr-group:has(.fs-twd-drop){position:relative !important}
[data-fs-theme='tidewell'] .fs-hdr-row .fsdrop-w-bar.fsdrop-w-bar.fsdrop-w-bar:has(.fs-twd-drop){left:auto !important;right:0 !important;width:max-content !important;min-width:210px !important;max-width:none !important;margin-top:6px !important;overflow:visible !important;padding:0 !important;background:transparent !important;border:0 !important;box-shadow:none !important}
[data-fs-theme='tidewell'] .fs-twd-drop{display:grid;min-width:210px;padding:8px;background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));border:1px solid rgb(var(--c-line));border-radius:20px;box-shadow:var(--twc-shadow);text-align:left;white-space:nowrap}
[data-fs-theme='tidewell'] .fs-twd-a{display:block;padding:10px 14px;border-radius:12px;font-weight:600;line-height:1.6;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='tidewell'] a.fs-twd-a:hover{background:var(--twc-tint)}
[data-fs-theme='tidewell'] a.fs-twd-a:focus-visible{outline:3px solid rgb(var(--c-brand-text));outline-offset:0}
[data-fs-theme='tidewell'] .fs-twd-a.is-on{color:rgb(var(--c-brand-text))}

/* ── The source's breakpoints, on the band's width ── */
/* ≤1280px: the chip gives way. */
@container fs-tw-band (max-width: 80rem){
  [data-fs-theme='tidewell'] .fs-twh-chip{display:none}
}
/* ≤1060px: the nav and the button fold into the round menu button, which
   sits at the right end. */
@container fs-tw-band (max-width: 66.25rem){
  [data-fs-theme='tidewell'] .fs-hdr-row > nav{display:none !important}
  [data-fs-theme='tidewell'] .fs-hdr-row .fs-hdr-cta{display:none !important}
  [data-fs-theme='tidewell'] .fs-hdr-row .fs-hdr-menu-btn{display:inline-flex !important;align-items:center;justify-content:center}
  [data-fs-theme='tidewell'] .fs-hdr-row > :last-child{margin-left:auto}
  [data-fs-theme='tidewell'][data-fs-layout='centered'] .fs-hdr-band .fs-hdr-row{flex-wrap:nowrap;padding:10px 10px 10px 22px;border-radius:999px}
  [data-fs-theme='tidewell'][data-fs-layout='centered'] .fs-hdr-row > :first-child{flex:none;justify-content:flex-start}
}
/* ≤760px: the capsule the window less 20px, 10px down, 16px in; the
   lockup 34px high. */
@container fs-tw-band (max-width: 47.5rem){
  [data-fs-theme='tidewell'] .fs-hdr-band .fs-hdr-row{width:calc(100% - 20px);padding-left:16px}
  [data-fs-theme='tidewell'] .fs-hdr-row > :first-child img{height:34px}
  [data-fs-theme='tidewell'] .fs-hdr-row [data-fs-logo-mark]{width:34px;height:34px}
}
/* R16 (the template preview alone): its Edit Template link and visitor
   mode switch are on no real site, and the capsule has no room for the
   link's words beside the source's controls: the pencil alone stands in
   the capsule (its words stay its accessible name). */
[data-fs-theme='tidewell'] .fs-hdr-row [data-fs-preview-edit]{gap:0;font-size:0;line-height:0}
[data-fs-theme='tidewell'] .fs-hdr-row [data-fs-preview-edit] svg{width:18px;height:18px}
/* R16 (the template preview alone): its Edit Template link and visitor
   mode switch are on no real site; on a phone the switch gives way so
   the capsule still holds the lockup, the pencil and the menu button.
   [data-fs-preview-edit] is that route's own hook. */
@container fs-tw-band (max-width: 30rem){
  [data-fs-theme='tidewell'] .fs-hdr-row:has([data-fs-preview-edit]) .fs-hdr-mode{display:none}
}

/* ── The phone menu (the source's stacked .nav under 1060px: 13 x 16px
   rows on 999px pills, the current page tinted in brand-as-text, no
   trail; the Explore groups in one column, its card hidden). ── */
[data-fs-theme='tidewell'] .fs-hdr-mobile{background:rgb(var(--c-paper-soft))}
[data-fs-theme='tidewell'] .fs-hdr-mobile-list{display:grid;gap:2px}
[data-fs-theme='tidewell'] .fs-hdr-mobile-link:not(.is-sub){display:flex;align-items:center;min-height:44px;padding:13px 16px;border-radius:999px;font-weight:600;font-size:.95rem;line-height:1.6;color:rgb(var(--c-ink-950))}
[data-fs-theme='tidewell'] .fs-hdr-mobile-row:has(> .fs-hdr-mobile-link[aria-current]:not([aria-current='false'])){border-radius:999px;background:var(--twc-tint)}
[data-fs-theme='tidewell'] .fs-hdr-mobile-link.fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false']){color:rgb(var(--c-brand-text));background:var(--twc-tint)}
[data-fs-theme='tidewell'] .fs-hdr-mobile-sub{margin:2px 0 8px;padding:0;border-left:0}
[data-fs-theme='tidewell'] .fs-hdr-mobile .fs-twm-panel{grid-template-columns:minmax(0,1fr);gap:10px;padding:4px 4px 8px 10px;background:transparent;border:0;box-shadow:none}
[data-fs-theme='tidewell'] .fs-hdr-mobile .fs-twm-feat{display:none}
[data-fs-theme='tidewell'] .fs-hdr-mobile .fs-twd-drop{min-width:0;padding:2px 2px 6px 12px;background:transparent;border:0;box-shadow:none}
/* The phone menu's foot (phone-menu-foot.tsx TidewellFoot): the source's
   phone bar (.mbar) brought into the menu — the site's phone as the
   outlined pill with its icon (the whole pill rings it) and the header
   button as the brand pill with the calendar, side by side, then the
   hours. */
[data-fs-theme='tidewell'] .fs-pmf-tidewell{display:grid;gap:12px;margin:24px 0 16px;padding-top:16px;border-top:1px solid rgb(var(--c-line))}
[data-fs-theme='tidewell'] .fs-pmf-tidewell .fs-pmf-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:10px}
[data-fs-theme='tidewell'] .fs-pmf-tidewell .fs-pmf-call{position:relative;display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;margin:0;padding:12px 10px;border-radius:999px;box-shadow:inset 0 0 0 2px rgb(var(--c-line));font-weight:700;font-size:.97rem;line-height:1.2;color:rgb(var(--c-brand-text))}
[data-fs-theme='tidewell'] .fs-pmf-tidewell .fs-pmf-ico{width:20px;height:20px;flex:none}
[data-fs-theme='tidewell'] .fs-pmf-tidewell .fs-pmf-tel{color:inherit;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
[data-fs-theme='tidewell'] .fs-pmf-tidewell a.fs-pmf-tel::after{content:"";position:absolute;inset:0;border-radius:999px}
[data-fs-theme='tidewell'] .fs-pmf-tidewell .fs-hdr-cta.fs-pmf-cta{display:flex;width:100%;margin:0;gap:9px;padding:12px 10px;border-radius:999px;font-weight:700}
[data-fs-theme='tidewell'] .fs-pmf-tidewell .fs-hdr-cta.fs-pmf-cta::before{content:"";flex:none;width:20px;height:20px;background:currentColor;-webkit-mask:var(--twc-cal) center/contain no-repeat;mask:var(--twc-cal) center/contain no-repeat}
[data-fs-theme='tidewell'] .fs-pmf-tidewell .fs-pmf-hours{margin:0;font-size:.875rem;color:rgb(var(--c-ink-400))}
[data-fs-theme='tidewell'] .fs-twc-ic{display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* ══ motion (the source's own; port Task 9) ════════════════════════════
   Gated on the theme scope's data-fs-motion (siteShell puts both on the
   one wrapper); reduced motion wins; each effect reads its
   --fs-anim-<id> switch; backwards fill only. */
@keyframes fs-twh-ping{0%{box-shadow:0 0 0 0 rgb(var(--fs-status-ok) / .6)}70%{box-shadow:0 0 0 calc(9px * var(--fs-motion-dist, 1)) rgb(var(--fs-status-ok) / 0)}100%{box-shadow:0 0 0 0 rgb(var(--fs-status-ok) / 0)}}
@keyframes fs-twh-drop{from{opacity:0;transform:translateY(calc(var(--twc-drop, -10px) * var(--fs-motion-dist, 1))) scale(calc(1 - var(--twc-drop-s, .02) * var(--fs-motion-dist, 1)))}to{opacity:1;transform:none}}
/* The minimal layout's current-page line is a plain ink rule: it does not
   walk (the source's html[data-layout=minimal] … ::after{animation:none}). */
[data-fs-theme='tidewell'][data-fs-layout='minimal'] .fs-hdr-row .fsmenu-twFootTrail.fsmenu-twFootTrail::after{animation:none}
@media screen and (prefers-reduced-motion: no-preference){
  /* twPing — the chip's green dot sends out a soft ring (1.8s) */
  [data-fs-theme='tidewell'][data-fs-motion='on'] .fs-twh-chip:not(.is-pending) .fs-twh-dot{animation:var(--fs-anim-twPing, fs-twh-ping calc(1.8s * var(--fs-anim-speed, 1)) infinite)}
  /* twDrop — the Explore panel drops 10px and grows from .98 as it fades
     in (.28s); the More list drops 6px (.25s); the chevron turns (.25s);
     an Explore item slides 3px under the pointer (.2s) */
  [data-fs-theme='tidewell'][data-fs-motion='on'] .fs-hdr-row .fs-twm-panel{transform-origin:top center;animation:var(--fs-anim-twDrop, fs-twh-drop calc(.28s * var(--fs-anim-speed, 1)) cubic-bezier(.2,.8,.2,1) backwards)}
  [data-fs-theme='tidewell'][data-fs-motion='on'] .fs-hdr-row .fs-twd-drop{--twc-drop:-6px;--twc-drop-s:0;animation:var(--fs-anim-twDrop, fs-twh-drop calc(.25s * var(--fs-anim-speed, 1)) cubic-bezier(.2,.8,.2,1) backwards)}
  [data-fs-theme='tidewell'][data-fs-motion='on'] .fs-hdr-row .fs-hdr-caret svg{transition:var(--fs-anim-twDrop, transform calc(.25s * var(--fs-anim-speed, 1)))}
  [data-fs-theme='tidewell'][data-fs-motion='on'] .fs-hdr-row .fs-twm-mi{transition:background-color calc(.2s * var(--fs-anim-speed, 1)),transform calc(.2s * var(--fs-anim-speed, 1))}
  [data-fs-theme='tidewell'][data-fs-motion='on'] .fs-hdr-row a.fs-twm-mi:hover{transform:var(--fs-anim-twDrop, translateX(calc(3px * var(--fs-motion-dist, 1))))}
  /* Motion Subtle: the source's own Subtle plays an element's loop once
     and rests (html[data-motion=subtle] *{animation-iteration-count:1}) —
     the chip's dot pings once. Its * never reaches the trail (an ::after),
     which keeps walking there and here (Ledger L52). */
  [data-fs-theme='tidewell'][data-fs-motion='on'][data-fs-motion-level='subtle'] .fs-twh-chip:not(.is-pending) .fs-twh-dot{animation-iteration-count:1}
}


/* Tokens. --hwc-tint: the source's --tint (the brand 6% into the page;
   24% in dark); the mark's three fills (the source's --mark / --mark-fg /
   --mark-arm: brand / white / gold in light, gold / the page / white in
   dark); the button's fill and words (--btn-bg / --btn-ink: the brand +
   white, the gold + the dark page in dark); --hwc-gold-text: the gold as
   words (the source's gold, deepened 55% toward the ink on a light
   ground — the family's bronze — the gold itself in dark). */
[data-fs-theme='harlow']{--fs-chrome-mode:light;--hwc-tint:color-mix(in srgb,rgb(var(--c-brand-600)) 6%,rgb(var(--c-paper)));--hwc-mark:rgb(var(--c-brand-600));--hwc-mark-fg:var(--fs-on-brand);--hwc-mark-arm:rgb(var(--c-accent));--hwc-btn-bg:rgb(var(--c-brand-600));--hwc-btn-ink:var(--fs-on-brand);--hwc-bar:rgb(var(--c-brand-600));--hwc-shadow:0 18px 40px -22px rgb(var(--c-ink-950) / .28);--hwc-gold-text:color-mix(in srgb,rgb(var(--c-accent)) 55%,rgb(var(--c-ink-950)))}
[data-fs-theme='harlow'].dark{--fs-chrome-mode:dark;--hwc-tint:color-mix(in srgb,rgb(var(--c-brand-600)) 24%,rgb(var(--c-paper)));--hwc-mark:rgb(var(--c-accent));--hwc-mark-fg:rgb(var(--c-paper));--hwc-mark-arm:var(--fs-on-brand);--hwc-btn-bg:rgb(var(--c-accent));--hwc-btn-ink:rgb(var(--c-paper));--hwc-bar:color-mix(in srgb,rgb(var(--c-brand-600)) 17%,rgb(var(--c-brand-700)));--hwc-shadow:0 18px 40px -20px rgb(var(--c-paper) / .8);--hwc-gold-text:rgb(var(--c-accent))}

/* The band: sticky, the page at 90% over a 14px blur, a 1px line under
   it; a size container (fs-hw-band) for the source's breakpoints. With
   the top bar it keeps the bar's room at its top and sticks that far up. */
[data-fs-theme='harlow'] .fs-hdr-band{container-type:inline-size;container-name:fs-hw-band;box-sizing:border-box;background:color-mix(in srgb,rgb(var(--c-paper)) 90%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgb(var(--c-line))}
[data-fs-theme='harlow'] .fs-hdr-band:has(.fs-hwh-top){--hwc-util-fb:clamp(calc(16px + .82rem * 1.65),calc(32px + .82rem * 3.3) - (100cqi - 519.5px) * 1000,calc(32px + .82rem * 3.3));padding-top:var(--hwc-util-h,var(--hwc-util-fb));top:calc(-1 * var(--hwc-util-h,var(--hwc-util-fb)))}
[data-fs-theme='harlow'] .fs-hdr-band:has(.fs-hwh-top)::before{content:"";position:absolute;left:0;right:0;top:0;height:var(--hwc-util-h,var(--hwc-util-fb));background:var(--hwc-bar);pointer-events:none}
[data-fs-theme='harlow'] .fs-hdr-band .fs-hdr-util,[data-fs-theme='harlow'] .fs-hdr-row .fs-hdr-phone{display:none}

/* The row (.hdr): the 1180px wrap, 24px in, 78px at least, 20px apart. */
[data-fs-theme='harlow'] .fs-hdr-band .fs-hdr-row{position:relative;box-sizing:border-box;max-width:1180px !important;min-height:78px;padding:0 24px;gap:20px}

/* The lockup, 46px high: the mark (46px) 12.5px before the name — the
   display face 600, 24px, -.2px — and, on the template preview, the
   theme's own name drawn as the source's two lines: "Harlow & Finch" over
   "SOLICITORS" (the source's 9.4px is under the repo's 10px type-scale
   floor: 10px 600, spaced 3.6px — Ledger L37). A customer's own name is one
   line in the same face. */
[data-fs-theme='harlow'] .fs-hdr-row > :first-child{flex:none;gap:12.5px}
[data-fs-theme='harlow'] .fs-hdr-row > :first-child img{height:46px;max-width:none;width:auto}
[data-fs-theme='harlow'] .fs-hdr-row [data-fs-logo-mark]{width:46px;height:46px}
[data-fs-theme='harlow'] .fs-hdr-row [data-fs-wordmark]{display:flex;flex-direction:column;justify-content:center;white-space:nowrap;font-family:var(--font-display,'Noto Serif Display',Georgia,serif);color:rgb(var(--c-ink-950))}
[data-fs-theme='harlow'] .fs-hdr-row [data-fs-wordmark-accent]{display:block;margin-top:4px;font-family:var(--font-sans,'Inter',system-ui,sans-serif);font-size:10px;font-weight:600;line-height:1.2;letter-spacing:3.6px;text-transform:uppercase;white-space:nowrap;color:rgb(var(--c-ink-400)) !important}

/* The nav sits between the lockup and the right-hand group (.hdr
   justify-content:space-between); the tabs hang to its foot. */
[data-fs-theme='harlow'] .fs-hdr-row > nav{flex:0 1 auto;align-self:center}

/* The More tab's drop-down (.more .drop): a card under its own tab (the
   group is its containing block again), right edges flush, 4px down, a
   3px gold top edge; 8px inside, 8px-round .93rem rows, the tint under
   the pointer and on the current page. The shell shows its overflow so
   its hover bridge reaches up to the tab (Tidewell P51). */
[data-fs-theme='harlow'] .fs-hdr-row .fs-hdr-group:has(.fs-hwd-drop){position:relative}
[data-fs-theme='harlow'] .fs-hdr-row .fsdrop-w-bar.fsdrop-w-bar.fsdrop-w-bar:has(.fs-hwd-drop){left:auto !important;right:0 !important;width:max-content !important;min-width:200px !important;max-width:none !important;margin-top:4px !important;overflow:visible !important;padding:0 !important;background:transparent !important;border:0 !important;box-shadow:none !important}
[data-fs-theme='harlow'] .fs-hdr-row .fsdrop-panel-columns:has(.fs-hwd-drop)::before{top:-12px;height:12px}
[data-fs-theme='harlow'] .fs-hdr-row .fsdrop-panel-columns:has(.fs-hwd-drop) > .fsdrop-mega-content{padding:0;border:0}
[data-fs-theme='harlow'] .fs-hwd-drop{display:grid;min-width:200px;padding:8px;background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));border:1px solid rgb(var(--c-line));border-top:3px solid rgb(var(--c-accent));border-radius:12px;box-shadow:var(--hwc-shadow);text-align:left;white-space:nowrap}
[data-fs-theme='harlow'] .fs-hwd-a{display:block;padding:9px 12px;border-radius:8px;font-size:.93rem;line-height:1.65;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='harlow'] a.fs-hwd-a:hover,[data-fs-theme='harlow'] .fs-hwd-a.is-on{background:var(--hwc-tint)}
[data-fs-theme='harlow'] a.fs-hwd-a:focus-visible{outline:3px solid rgb(var(--c-brand-text));outline-offset:0}

/* The right-hand group (.hdr-cta): the phone link and the button 14px
   apart; an empty composite takes no room. */
[data-fs-theme='harlow'] .fs-hdr-row div:has(> .fs-hdr-composite),[data-fs-theme='harlow'] .fs-hdr-row .fs-hdr-contact{gap:14px}
[data-fs-theme='harlow'] .fs-hdr-row .fs-hdr-composite:has(> .fs-hwh:empty){display:none}
[data-fs-theme='harlow'] .fs-hwh{display:inline-flex;align-items:center}
[data-fs-theme='harlow'] .fs-hwh-ic{display:block;flex:none;width:1.35em;height:1.35em;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
[data-fs-theme='harlow'] .fs-hwh-top .fs-hwh-ic{width:1.1em;height:1.1em}
/* .hdr-cta .tel: 600 .95rem in the ink, the glyph 8px before it. */
[data-fs-theme='harlow'] .fs-hwh-tel{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.95rem;line-height:1.65;white-space:nowrap;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='harlow'] a.fs-hwh-tel:hover{color:rgb(var(--c-brand-text))}
[data-fs-theme='harlow'][data-fs-layout='boxed'] .fs-hwh-tel,[data-fs-theme='harlow'][data-fs-layout='minimal'] .fs-hwh-tel{display:none}

/* The top bar (.topbar), set above the row in the band's room. */
[data-fs-theme='harlow'] .fs-hwh-top{position:absolute;left:0;right:0;bottom:100%;box-sizing:border-box;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:8px 24px;font-size:.82rem;line-height:1.65;color:var(--fs-on-brand);white-space:normal}
[data-fs-theme='harlow'] .fs-hwh-l,[data-fs-theme='harlow'] .fs-hwh-r{display:inline-flex;align-items:center;flex-wrap:wrap;gap:0 6px}
[data-fs-theme='harlow'] .fs-hwh-a{display:inline-flex;align-items:center;gap:6px;color:var(--fs-on-brand);opacity:.92;text-decoration:none;white-space:nowrap}
[data-fs-theme='harlow'] a.fs-hwh-a:hover{opacity:1}
[data-fs-theme='harlow'] a.fs-hwh-a:focus-visible{outline:2px solid var(--fs-on-brand);outline-offset:2px}
[data-fs-theme='harlow'] .fs-hwh-sep{padding:0 1.4px}
/* The source's minimal layout: the bar has no fill, muted words, a line. */
[data-fs-theme='harlow'][data-fs-layout='minimal'] .fs-hdr-band:has(.fs-hwh-top)::before{background:transparent;border-bottom:1px solid rgb(var(--c-line))}
[data-fs-theme='harlow'][data-fs-layout='minimal'] .fs-hwh-top,[data-fs-theme='harlow'][data-fs-layout='minimal'] .fs-hwh-a{color:rgb(var(--c-ink-400))}

/* The header button (.btn.btn-primary): the brand with white words (the
   gold with the dark page in dark), 600 .97rem, 14 x 26px, 10px corners —
   size and padding are themeDefaults' headerCta*; the source's glow under
   the pointer. */
[data-fs-theme='harlow'] .fs-hdr-cta{--fs-hdr-cta-bg:var(--hwc-btn-bg);--fs-hdr-cta-fg:var(--hwc-btn-ink);--fs-hdr-cta-bg-hover:var(--hwc-btn-bg);--fs-hdr-cta-fg-hover:var(--hwc-btn-ink)}
[data-fs-theme='harlow'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{font-weight:600;line-height:normal;white-space:nowrap;border:1.5px solid transparent}
[data-fs-theme='harlow'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta:hover{box-shadow:0 12px 24px -10px color-mix(in srgb,var(--hwc-btn-bg) 70%,transparent)}
/* The menu button (.burger): 1.5px line edge, 10px corners, 9px in, the ink. */
[data-fs-theme='harlow'] .fs-hdr-row .fs-hdr-menu-btn{box-sizing:border-box;width:auto;height:auto;padding:9px;border:1.5px solid rgb(var(--c-line));border-radius:10px;background:transparent;color:rgb(var(--c-ink-950))}
[data-fs-theme='harlow'] .fs-hdr-row .fs-hdr-menu-btn svg{width:22px;height:22px}

/* The source's centred layout: the lockup on its own line over the nav,
   18 / 8px in, 6px apart; the right-hand group gives way. */
[data-fs-theme='harlow'][data-fs-layout='centered'] .fs-hdr-band .fs-hdr-row{flex-direction:column;justify-content:center;padding-top:18px;padding-bottom:8px;row-gap:6px}
[data-fs-theme='harlow'][data-fs-layout='centered'] .fs-hdr-row > nav{flex-wrap:wrap;justify-content:center}
[data-fs-theme='harlow'][data-fs-layout='centered'] .fs-hdr-row .fs-hdr-cta,[data-fs-theme='harlow'][data-fs-layout='centered'] .fs-hwh-tel{display:none}

/* ── The source's breakpoints, on the band's width ── */
/* ≤1280px: the phone link gives way. */
@container fs-hw-band (max-width: 80rem){
  [data-fs-theme='harlow'] .fs-hwh-tel{display:none}
}
/* ≤1060px: the nav folds into the menu button, at the right end after
   the header button (the source keeps "Book a call" in the row). */
@container fs-hw-band (max-width: 66.25rem){
  [data-fs-theme='harlow'] .fs-hdr-row > nav{display:none !important}
  [data-fs-theme='harlow'] .fs-hdr-row .fs-hdr-menu-btn{display:inline-flex !important;align-items:center;justify-content:center}
  [data-fs-theme='harlow'][data-fs-layout='centered'] .fs-hdr-band .fs-hdr-row{flex-direction:row;justify-content:space-between;padding-top:0;padding-bottom:0}
  [data-fs-theme='harlow'][data-fs-layout='centered'] .fs-hdr-row .fs-hdr-cta{display:inline-flex}
}
/* ≤760px: the lockup 40px, the button a step smaller. */
@container fs-hw-band (max-width: 47.5rem){
  [data-fs-theme='harlow'] .fs-hdr-row > :first-child img{height:40px}
  [data-fs-theme='harlow'] .fs-hdr-row [data-fs-logo-mark]{width:40px;height:40px}
  [data-fs-theme='harlow'] .fs-hdr-band .fs-hdr-row{gap:12px}
}
/* R16 (the template preview alone): its Edit Template link and visitor
   mode switch are on no real site; the link is the pencil alone in the
   row, and on a phone the switch gives way. [data-fs-preview-edit] is
   that route's own hook. */
[data-fs-theme='harlow'] .fs-hdr-row [data-fs-preview-edit]{gap:0;font-size:0;line-height:0}
[data-fs-theme='harlow'] .fs-hdr-row [data-fs-preview-edit] svg{width:18px;height:18px}
@container fs-hw-band (max-width: 30rem){
  [data-fs-theme='harlow'] .fs-hdr-row:has([data-fs-preview-edit]) .fs-hdr-mode{display:none}
}

/* ── The phone menu (the source's stacked nav under 1060px: 14 x 4px rows
   with a line under each, the current page in the gold and 600; the More
   pages in the same list). ── */
[data-fs-theme='harlow'] .fs-hdr-mobile{background:rgb(var(--c-paper-soft))}
[data-fs-theme='harlow'] .fs-hdr-mobile-link:not(.is-sub){display:flex;align-items:center;min-height:44px;padding:14px 4px;border-bottom:1px solid rgb(var(--c-line));font-size:.94rem;color:rgb(var(--c-ink-950))}
[data-fs-theme='harlow'] .fs-hdr-mobile-link.fs-hdr-mobile-link[aria-current]:not([aria-current='false']){color:var(--hwc-gold-text);font-weight:600}
[data-fs-theme='harlow'] .fs-hdr-mobile .fs-hwd-drop{min-width:0;padding:0;background:transparent;border:0;box-shadow:none}
[data-fs-theme='harlow'] .fs-hdr-mobile .fs-hwd-a{padding:14px 4px;border-radius:0;border-bottom:1px solid rgb(var(--c-line))}
/* The phone menu's foot (phone-menu-foot.tsx HarlowFoot): the site's
   phone (the glyph, a tel: link) over the header button, full width. */
[data-fs-theme='harlow'] .fs-pmf-harlow{display:grid;gap:12px;margin:20px 0 16px}
[data-fs-theme='harlow'] .fs-pmf-harlow .fs-pmf-call{display:flex;align-items:center;gap:8px;margin:0;font-weight:600;font-size:.95rem;color:rgb(var(--c-ink-950))}
[data-fs-theme='harlow'] .fs-pmf-harlow .fs-pmf-tel{color:inherit;text-decoration:none}
[data-fs-theme='harlow'] .fs-pmf-harlow .fs-hdr-cta.fs-pmf-cta{display:flex;justify-content:center;width:100%;margin:0;padding:14px 26px;border-radius:10px;font-weight:600}

/* ══ motion (the source's own; port Task 9) ════════════════════════════
   Gated on the theme scope's data-fs-motion (siteShell puts both on the
   one wrapper); reduced motion wins; the effect reads its --fs-anim-<id>
   switch; backwards fill only. The tabs' own movement is the
   'hwCaseTabs' section of menu-styles.ts. */
@keyframes fs-hwc-drop{from{opacity:0;transform:translateY(calc(8px * var(--fs-motion-dist, 1)))}to{opacity:1;transform:none}}
@media screen and (prefers-reduced-motion: no-preference){
  /* hwDrop — the More list drops 8px into place as it fades in (.25s) */
  [data-fs-theme='harlow'][data-fs-motion='on'] .fs-hdr-row .fs-hwd-drop{animation:var(--fs-anim-hwDrop, fs-hwc-drop calc(.25s * var(--fs-anim-speed, 1)) ease backwards)}
}

[data-fs-theme='paper-pickle'] .fs-hdr-band{background:rgb(var(--c-paper));border-bottom:1px solid rgb(var(--c-ink-950))}
[data-fs-theme='paper-pickle'] .fs-hdr-row{max-width:1200px!important;padding:24px clamp(20px,4vw,64px);min-height:108px;gap:24px;font-family:Arial,Helvetica,sans-serif}
[data-fs-theme='paper-pickle'] [data-fs-wordmark]{font-size:32px;font-weight:700;letter-spacing:-1.4px;color:rgb(var(--c-ink-950))}
[data-fs-theme='paper-pickle'] [data-fs-logo-mark]{width:48px;height:auto}
[data-fs-theme='paper-pickle'] .fs-hdr-cta{font-family:Arial,sans-serif;font-weight:700;border-radius:0!important}
[data-fs-theme='paper-pickle'] .fs-hdr-row>nav{font-family:Arial,sans-serif;font-size:14px}
[data-fs-theme='paper-pickle'] .fs-pp-menu .mega-inner{padding-block:32px;display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:32px}
[data-fs-theme='paper-pickle'] .fs-pp-menu a{display:block;border-bottom:1px solid;padding:12px 0;font:20px Georgia,serif;color:inherit;text-decoration:none}
[data-fs-theme='paper-pickle'] .fs-pp-menu{max-width:none}
@media(max-width:720px){[data-fs-theme='paper-pickle'] .fs-hdr-row{min-height:92px;padding:24px 20px}[data-fs-theme='paper-pickle'] [data-fs-wordmark]{font-size:26px}[data-fs-theme='paper-pickle'] .fs-pp-menu .mega-inner{grid-template-columns:1fr}}

[data-fs-theme='paper-pickle'] [data-fs-wordmark]{display:block;white-space:nowrap}[data-fs-theme='paper-pickle'] [data-fs-wordmark]::after{content:var(--fs-brand-tagline,'');display:block;font:12px/1.5 Arial,Helvetica,sans-serif;letter-spacing:1.2px;text-align:center;margin-top:8px}@media(max-width:720px){[data-fs-theme='paper-pickle'] .fs-hdr-row{gap:12px;padding-inline:20px}[data-fs-theme='paper-pickle'] [data-fs-wordmark]{font-size:26px!important}[data-fs-theme='paper-pickle'] [data-fs-logo-mark]{width:36px}[data-fs-theme='paper-pickle'] [data-fs-preview-edit]{display:none}[data-fs-theme='paper-pickle'] .fs-hdr-menu-btn{flex-shrink:0}}
[data-fs-theme='paper-pickle']{padding-bottom:72px}.fs-pp-chat{position:fixed;z-index:60;font:14px/1.6 Arial,Helvetica,sans-serif;color:rgb(var(--c-ink-950))}.fs-pp-chat-launch{width:100%;height:56px;border:0;border-top:1px solid rgb(var(--c-paper));background:rgb(var(--c-brand-600));color:var(--fs-on-brand);cursor:pointer}.fs-pp-chat-panel{position:absolute;right:24px;bottom:68px;width:360px;max-width:calc(100% - 24px);max-height:65dvh;overflow:auto;padding:24px;background:rgb(var(--c-paper));border:1px solid rgb(var(--c-ink-950));box-shadow:0 8px 32px #0002}.fs-pp-chat-panel header{display:flex;justify-content:space-between;gap:12px;align-items:center}.fs-pp-chat-panel h2{font:700 26px/1.12 Georgia,serif;margin:0}.fs-pp-chat-panel button{font:inherit;min-height:44px;padding:8px 12px;border:1px solid currentColor;background:transparent;color:inherit;cursor:pointer}.fs-pp-chat-panel p{margin:16px 0}.fs-pp-chat-questions{display:grid;gap:8px;margin-top:16px}.fs-pp-chat-panel a{display:inline-flex;min-height:44px;align-items:center;text-decoration:underline;color:inherit}@media(max-width:650px){.fs-pp-chat-panel{right:12px}}

.fs-rly-mega-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:24px;font-family:var(--font-sans,Arial,sans-serif)}
.fs-rly-mega-grid>a,.fs-rly-mega-grid>div{display:grid;align-content:start;gap:10px;padding:20px;border:1px solid rgb(var(--c-line));border-radius:var(--fs-radius-card,18px);background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));text-decoration:none}
.fs-rly-mega-grid small{font-size:14px;line-height:1.5;color:rgb(var(--c-ink-400))}
.fs-rly-mega-grid>a:hover{border-color:rgb(var(--c-brand-600))}
@media(max-width:760px){.fs-rly-mega-grid{grid-template-columns:1fr;padding:16px}}


[data-fs-theme='shoe-shop'] {
  --ss-ink: rgb(var(--c-ink-950));
  --ss-paper: rgb(var(--c-paper));
  --ss-card: rgb(var(--c-paper-soft));
  --ss-accent: rgb(var(--c-brand-text, var(--c-brand-600)));
  --ss-line: rgb(var(--c-line));
  --ss-mark: rgb(var(--c-brand-600));
  --ss-max: var(--fs-layout-max, 72rem);
  --fs-chrome-mode: light;
  color: var(--ss-ink);
  background: var(--ss-paper);
}
[data-fs-theme='shoe-shop'].dark {
  --fs-chrome-mode: dark;
  --ss-accent: rgb(var(--c-brand-text, var(--c-brand-600)));
  --ss-mark: rgb(var(--c-brand-600));
}

/* The supplied logo remains a legible dark plate in both modes. If the
   customer clears it, the native logoMarkSvg plus site name take over. */
[data-fs-theme='shoe-shop'] .fs-hdr-band {
  background: var(--ss-paper);
  border-bottom: 1px solid var(--ss-line);
}
[data-fs-theme='shoe-shop'] .fs-hdr-row {
  gap: clamp(.75rem, 2vw, 2rem);
  min-height: 5.25rem;
  max-width: var(--ss-max);
  margin-inline: auto;
}
[data-fs-theme='shoe-shop'] .fs-hdr-row > :first-child { flex: none; gap: .65rem; }
[data-fs-theme='shoe-shop'] .fs-hdr-row > :first-child img {
  max-height: 2.65rem;
  width: auto;
  border-radius: .35rem;
}
[data-fs-theme='shoe-shop'] .fs-hdr-row [data-fs-logo-mark] { width: 2.25rem; height: 2.25rem; }
[data-fs-theme='shoe-shop'] .fs-hdr-row [data-fs-wordmark] {
  color: var(--ss-ink);
  font-family: var(--font-display, Georgia, serif);
  font-size: clamp(1.25rem, 2vw, 1.65rem);
  font-weight: 600;
  letter-spacing: -.045em;
  line-height: 1;
  white-space: nowrap;
}
[data-fs-theme='shoe-shop'] .fs-hdr-nav {
  margin-inline: auto;
  font-size: .875rem;
  letter-spacing: .02em;
}
[data-fs-theme='shoe-shop'] .fs-hdr-nav a:focus-visible,
[data-fs-theme='shoe-shop'] .fs-hdr-nav button:focus-visible,
[data-fs-theme='shoe-shop'] .fs-hdr-mode:focus-visible,
[data-fs-theme='shoe-shop'] .fs-hdr-menu-btn:focus-visible {
  outline: 3px solid var(--ss-accent);
  outline-offset: 3px;
}
[data-fs-theme='shoe-shop'] .fs-hdr-cta {
  --fs-hdr-cta-bg: rgb(var(--c-brand-600));
  --fs-hdr-cta-fg: var(--fs-on-brand);
  --fs-hdr-cta-bg-hover: rgb(var(--c-brand-700));
  --fs-hdr-cta-fg-hover: var(--fs-on-brand);
  border-radius: 999px;
}
[data-fs-theme='shoe-shop'] .fs-hdr-mode,
[data-fs-theme='shoe-shop'] .fs-hdr-menu-btn { color: var(--ss-ink); }
[data-fs-theme='shoe-shop'] .fs-hdr-mobile {
  background: var(--ss-card);
  color: var(--ss-ink);
}
[data-fs-theme='shoe-shop'] .fs-hdr-mobile-link[aria-current='page'] { color: var(--ss-accent); }
[data-fs-theme='shoe-shop'] .fs-hdr-mobile a:focus-visible,
[data-fs-theme='shoe-shop'] .fs-hdr-mobile button:focus-visible {
  outline: 3px solid var(--ss-accent);
  outline-offset: 2px;
}
@media (prefers-reduced-motion: no-preference) {
  [data-fs-theme='shoe-shop'][data-fs-motion='on'] .fs-hdr-nav :is(a,button) {
    transition: translate calc(180ms * var(--fs-anim-speed, 1)) var(--fs-anim-ease, ease-out);
  }
  [data-fs-theme='shoe-shop'][data-fs-motion='on'] .fs-hdr-nav :is(a,button):hover {
    translate: var(--fs-anim-ssNav, 0 -2px);
  }
  [data-fs-theme='shoe-shop'][data-fs-motion='on'][data-fs-motion-level='subtle'] .fs-hdr-nav :is(a,button):hover {
    translate: var(--fs-anim-ssNav, 0 -1px);
  }
}

/* The native footer section is editable. Its sample note is visible in
   both modes and the shared layout measure keeps it aligned with the header. */
[data-fs-theme='shoe-shop'] [data-fs-blocktype='footer'] footer {
  background: var(--ss-card);
  color: var(--ss-ink);
  border-color: var(--ss-line);
}
[data-fs-theme='shoe-shop'] [data-fs-blocktype='footer'] footer > div {
  max-width: var(--ss-max);
}
[data-fs-theme='shoe-shop'] [data-fs-blocktype='footer'] footer p,
[data-fs-theme='shoe-shop'] [data-fs-blocktype='footer'] footer a { color: var(--ss-ink); }
[data-fs-theme='shoe-shop'] [data-fs-blocktype='footer'] footer a:hover { color: var(--ss-accent); }
[data-fs-theme='shoe-shop'] [data-fs-blocktype='footer'] footer a:focus-visible {
  outline: 3px solid var(--ss-accent);
  outline-offset: 3px;
}

/* Six native compositions. The shared SITE_LAYOUT_CSS adjusts each block's
   width and handles the edge hero. These scoped details make the Shoe Shop
   header and hero track the same selection. */
[data-fs-theme='shoe-shop'][data-fs-layout='theme'] { --ss-max: 72rem; }
[data-fs-theme='shoe-shop'][data-fs-layout='full'] { --ss-max: none; }
[data-fs-theme='shoe-shop'][data-fs-layout='full'] .fs-hdr-row { padding-inline: clamp(1rem, 3vw, 3rem); }
[data-fs-theme='shoe-shop'][data-fs-layout='boxed'] { --ss-max: 58rem; }
[data-fs-theme='shoe-shop'][data-fs-layout='boxed'] [data-fs-blocktype] > [data-fs-block] {
  border-inline: 1px solid var(--ss-line);
}
[data-fs-theme='shoe-shop'][data-fs-layout='centered'] { --ss-max: 52rem; }
[data-fs-theme='shoe-shop'][data-fs-layout='centered'] .fs-hdr-row { justify-content: center; }
[data-fs-theme='shoe-shop'][data-fs-layout='minimal'] { --ss-max: 46rem; }
[data-fs-theme='shoe-shop'][data-fs-layout='minimal'] .fs-hdr-band { border-bottom-color: transparent; }
[data-fs-theme='shoe-shop'][data-fs-layout='heroEdge'] { --ss-max: 72rem; }
[data-fs-theme='shoe-shop'][data-fs-layout='heroEdge'] [data-fs-blocktype='hero'] .fs-hero-full,
[data-fs-theme='shoe-shop'][data-fs-layout='heroEdge'] [data-fs-first] .fs-hero-full {
  border-radius: 0;
  width: 100%;
}
@media (max-width: 48rem) {
  [data-fs-theme='shoe-shop'] .fs-hdr-row { min-height: 4.25rem; }
  [data-fs-theme='shoe-shop'] .fs-hdr-row > :first-child img { max-height: 2.25rem; }
  [data-fs-theme='shoe-shop'][data-fs-layout='centered'] .fs-hdr-row { justify-content: space-between; }
  [data-fs-theme='shoe-shop'][data-fs-layout='boxed'] [data-fs-blocktype] > [data-fs-block] { border-inline: 0; }
}


[data-fs-theme='shoe-shop'] .ss-block {
  max-width: var(--fs-layout-max, var(--ss-max, 72rem)); margin-inline: auto;
  padding: clamp(3.5rem, 8vw, 7rem) clamp(1.25rem, 4vw, 3rem);
  color: var(--ss-ink); background: var(--ss-paper);
}
[data-fs-theme='shoe-shop'] .ss-section-head { max-width: 46rem; margin-bottom: 2.2rem; }
[data-fs-theme='shoe-shop'] .ss-block[data-ss-layout='compact'] { padding-block: clamp(2rem, 4vw, 3.5rem); }
[data-fs-theme='shoe-shop'] .ss-block[data-ss-layout='compact'] .ss-section-head { margin-bottom: 1.25rem; }
[data-fs-theme='shoe-shop'] .ss-hero[data-ss-layout='compact'] { min-height: 27rem; }
[data-fs-theme='shoe-shop'] .ss-hero[data-ss-layout='compact'] .ss-hero-media { min-height: 27rem; }
[data-fs-theme='shoe-shop'] .ss-eyebrow { display: block; margin-bottom: 1rem; font: 700 .71rem/1.3 Inter,sans-serif; letter-spacing: .17em; color: var(--ss-accent); }
[data-fs-theme='shoe-shop'] .ss-block :is(h1, h2) { margin: 0 0 1rem; font: 400 clamp(2.5rem, 5vw, 5rem)/1.02 Gloock,Georgia,serif; letter-spacing: -.045em; }
[data-fs-theme='shoe-shop'] .ss-block h3 { margin: 0; font: 400 clamp(1.35rem, 2vw, 2rem)/1.12 Gloock,Georgia,serif; }
[data-fs-theme='shoe-shop'] .ss-block p { margin: 0 0 1.3rem; max-width: 43rem; line-height: 1.65; }
[data-fs-theme='shoe-shop'] .ss-grid { display: grid; gap: clamp(.8rem, 2vw, 1.4rem); }
[data-fs-theme='shoe-shop'] .ss-grid-three { grid-template-columns: repeat(3,minmax(0,1fr)); }
[data-fs-theme='shoe-shop'] .ss-grid-two { grid-template-columns: repeat(2,minmax(0,1fr)); }
[data-fs-theme='shoe-shop'] .ss-media { overflow: hidden; min-height: 13rem; background: var(--ss-card); border: 1px solid var(--ss-line); }
[data-fs-theme='shoe-shop'] .ss-media > * { display: block; width: 100%; height: 100%; }
[data-fs-theme='shoe-shop'] .ss-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
[data-fs-theme='shoe-shop'] .ss-missing-image { display: flex !important; align-items: center; justify-content: center; padding: 1rem; text-align: center; color: var(--ss-accent); font-size: .8rem; }
[data-fs-theme='shoe-shop'] .ss-preview-note, [data-fs-theme='shoe-shop'] .ss-catalogue-empty { margin-bottom: 1.5rem; color: var(--ss-accent); font-size: .84rem; }
[data-fs-theme='shoe-shop'] .ss-catalogue-empty { padding: 1.5rem; border: 1px dashed var(--ss-line); }
[data-fs-theme='shoe-shop'] .ss-empty-action { margin-top: 1rem; padding: .55rem 1rem; border: 1px solid var(--ss-accent); background: var(--ss-accent); color: var(--ss-paper); font: inherit; font-size: .8rem; font-weight: 700; cursor: pointer; }
[data-fs-theme='shoe-shop'] .ss-empty-action:hover, [data-fs-theme='shoe-shop'] .ss-empty-action:focus-visible { filter: brightness(.9); outline-offset: 2px; }
[data-fs-theme='shoe-shop'] .ss-record-edit { margin-top: .7rem; padding: .35rem 0; color: var(--ss-accent); background: transparent; border: 0; border-bottom: 1px solid currentColor; font-size: .76rem; cursor: pointer; }
[data-fs-theme='shoe-shop'] .ss-product-count { display: block; margin-top: .4rem; font-size: .75rem; color: var(--ss-accent); }
[data-fs-theme='shoe-shop'] .ss-block h3 button[data-fs-inline-editable] { font: inherit; color: inherit; background: transparent; border: 0; }
[data-fs-theme='shoe-shop'] .ss-action { display: inline-flex; align-items: center; gap: .6rem; width: fit-content; color: var(--ss-accent); border-bottom: 1px solid currentColor; padding: .4rem 0; font: 700 .82rem/1.3 Inter,sans-serif; letter-spacing: .06em; text-decoration: none; }
[data-fs-theme='shoe-shop'] .ss-action:focus-visible { outline: 2px solid var(--ss-accent); outline-offset: 4px; }
[data-fs-theme='shoe-shop'] .ss-hero { display: grid; grid-template-columns: 1fr 1fr; padding: 0; min-height: 36rem; max-width: var(--fs-layout-max, none); }
[data-fs-theme='shoe-shop'] .ss-hero-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(3rem, 7vw, 7rem); }
[data-fs-theme='shoe-shop'] .ss-hero :is(h1, h2) { max-width: 12ch; }
[data-fs-theme='shoe-shop'] .ss-hero :is(h1, h2) em { display: block; color: var(--ss-accent); font-weight: 400; }
[data-fs-theme='shoe-shop'] .ss-hero-media { min-height: 36rem; border: 0; }
[data-fs-theme='shoe-shop'] .ss-tile { position: relative; min-width: 0; }
[data-fs-theme='shoe-shop'] .ss-tile .ss-media { aspect-ratio: 4/5; }
[data-fs-theme='shoe-shop'] .ss-tile-copy { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: 1rem 0; }
[data-fs-theme='shoe-shop'] .ss-product { min-width: 0; border-top: 1px solid var(--ss-line); padding-top: .8rem; }
[data-fs-theme='shoe-shop'] .ss-product .ss-media { aspect-ratio: 1/1; }
[data-fs-theme='shoe-shop'] .ss-product-copy { padding: 1.1rem 0; }
[data-fs-theme='shoe-shop'] .ss-product-copy p { margin: .5rem 0; color: var(--ss-accent); font-weight: 700; }
[data-fs-theme='shoe-shop'] .ss-product-price { display: flex; align-items: baseline; gap: .6rem; }
[data-fs-theme='shoe-shop'] .ss-price-was { color: var(--ss-ink); font-size: .83rem; font-weight: 400; opacity: .62; text-decoration: line-through; }
[data-fs-theme='shoe-shop'] .ss-sold-out { display: inline-block; margin-top: .5rem; border: 1px solid var(--ss-line); padding: .45rem .65rem; color: var(--ss-ink); font-size: .75rem; }
[data-fs-theme='shoe-shop'] .ss-bag-action { display: block; margin-top: .7rem; padding: .55rem .7rem; border: 1px solid var(--ss-accent); color: var(--ss-accent); background: transparent; font: 700 .74rem/1.3 Inter,sans-serif; cursor: pointer; }
[data-fs-theme='shoe-shop'] .ss-bag-action:hover { color: var(--ss-paper); background: var(--ss-accent); }
[data-fs-theme='shoe-shop'] .ss-bag-action:focus-visible { outline: 2px solid var(--ss-accent); outline-offset: 3px; }
[data-fs-theme='shoe-shop'] .ss-bag-status { margin-top: 1rem; font-size: .8rem; }
[data-fs-theme='shoe-shop'] .ss-mosaic { grid-template-columns: 1.2fr .8fr .8fr; grid-template-rows: repeat(2, 16rem); }
[data-fs-theme='shoe-shop'] .ss-look { position: relative; min-width: 0; margin: 0; overflow: hidden; }
[data-fs-theme='shoe-shop'] .ss-look-1 { grid-row: span 2; }
[data-fs-theme='shoe-shop'] .ss-look-1 .ss-media { height: 100%; }
[data-fs-theme='shoe-shop'] .ss-look-4 { grid-column: 2 / span 2; }
[data-fs-theme='shoe-shop'] .ss-look .ss-media { height: 100%; }
[data-fs-theme='shoe-shop'] .ss-look figcaption { position: absolute; inset: auto .7rem .7rem; display: flex; justify-content: space-between; align-items: center; gap: .5rem; padding: .7rem .9rem; background: var(--ss-paper); }
[data-fs-theme='shoe-shop'] .ss-look figcaption strong { font-weight: 600; }
[data-fs-theme='shoe-shop'] .ss-story { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 6vw, 6rem); align-items: center; }
[data-fs-theme='shoe-shop'] .ss-story > .ss-media { aspect-ratio: 4/5; }
[data-fs-theme='shoe-shop'] .ss-benefits { border-top: 1px solid var(--ss-line); border-bottom: 1px solid var(--ss-line); }
[data-fs-theme='shoe-shop'] .ss-benefits-heading { display: flex; justify-content: space-between; align-items: end; gap: 2rem; }
[data-fs-theme='shoe-shop'] .ss-benefits-art { width: 8rem; height: 8rem; min-height: 0; border-radius: 50%; }
[data-fs-theme='shoe-shop'] .ss-benefit { padding: 1.5rem 1rem 1.5rem 0; border-top: 1px solid var(--ss-line); }
[data-fs-theme='shoe-shop'] .ss-benefit-index { color: var(--ss-accent); font-size: .76rem; }
[data-fs-theme='shoe-shop'] .ss-benefit h3 { margin: 1rem 0 .6rem; }
[data-fs-theme='shoe-shop'] .ss-journal-card .ss-media { aspect-ratio: 5/3; margin-bottom: 1rem; }
[data-fs-theme='shoe-shop'] .ss-journal-card p { margin: .65rem 0; }
[data-fs-theme='shoe-shop'] .ss-newsletter { display: grid; grid-template-columns: 1.4fr .6fr; gap: 2rem; align-items: center; background: var(--ss-card); }
[data-fs-theme='shoe-shop'] .ss-newsletter .ss-media { aspect-ratio: 1/1; }
[data-fs-theme='shoe-shop'] [data-fs-role^='store'] [data-fs-heading] { font-family: Gloock,Georgia,serif; letter-spacing: -.035em; }
[data-fs-theme='shoe-shop'][data-fs-layout='centered'] .ss-section-head,
[data-fs-theme='shoe-shop'][data-fs-layout='centered'] .ss-newsletter-copy { margin-inline: auto; text-align: center; }
[data-fs-theme='shoe-shop'][data-fs-layout='centered'] .ss-hero-copy { align-items: center; text-align: center; }
[data-fs-theme='shoe-shop'][data-fs-layout='minimal'] .ss-block { padding-block: clamp(5rem, 10vw, 8rem); }
[data-fs-theme='shoe-shop'][data-fs-layout='heroEdge'] .ss-hero { max-width: none; }
@media (max-width: 720px) {
  [data-fs-theme='shoe-shop'] .ss-hero, [data-fs-theme='shoe-shop'] .ss-story,
  [data-fs-theme='shoe-shop'] .ss-newsletter { grid-template-columns: 1fr; }
  [data-fs-theme='shoe-shop'] .ss-hero-media { min-height: 19rem; max-height: 26rem; }
  [data-fs-theme='shoe-shop'] .ss-grid-three, [data-fs-theme='shoe-shop'] .ss-grid-two { grid-template-columns: 1fr; }
  [data-fs-theme='shoe-shop'] .ss-mosaic { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  [data-fs-theme='shoe-shop'] .ss-look-1 { grid-row: auto; }
  [data-fs-theme='shoe-shop'] .ss-look-4 { grid-column: auto; }
  [data-fs-theme='shoe-shop'] .ss-look .ss-media { aspect-ratio: 4/5; }
  [data-fs-theme='shoe-shop'] .ss-look figcaption { position: static; }
  [data-fs-theme='shoe-shop'] .ss-benefits-art { display: none; }
}
/* Each block stays visible without CSS, in the editor and with Motion Off.
   The native motion switch and OS preference both gate every effect. */
@keyframes fs-ss-section-enter {
  from { opacity: 1; transform: translateY(var(--ss-enter-distance, 5px)); }
  to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: no-preference) {
  [data-fs-theme='shoe-shop'][data-fs-motion-level='subtle'] {
    --ss-enter-distance: 2px;
    --ss-card-scale: 1.01;
    --ss-press-scale: .99;
  }
  [data-fs-theme='shoe-shop'][data-fs-motion='on'] .ss-block {
    animation: var(--fs-anim-ssSection, fs-ss-section-enter calc(420ms * var(--fs-anim-speed, 1)) var(--fs-anim-ease, cubic-bezier(.2,.7,.2,1)) both);
  }
  [data-fs-theme='shoe-shop'][data-fs-motion='on'] .ss-media img {
    transition: transform calc(260ms * var(--fs-anim-speed, 1)) var(--fs-anim-ease, cubic-bezier(.2,.7,.2,1));
  }
  [data-fs-theme='shoe-shop'][data-fs-motion='on'] :is(.ss-tile,.ss-product,.ss-look,.ss-journal-card):hover img {
    transform: var(--fs-anim-ssCard, scale(var(--ss-card-scale, 1.035)));
  }
  [data-fs-theme='shoe-shop'][data-fs-motion='on'] :is(.ss-action,.ss-bag-action) {
    transition: transform calc(160ms * var(--fs-anim-speed, 1)) var(--fs-anim-ease, ease-out);
  }
  [data-fs-theme='shoe-shop'][data-fs-motion='on'] :is(.ss-action,.ss-bag-action):active {
    transform: var(--fs-anim-ssPress, scale(var(--ss-press-scale, .975)));
  }
}


/* Tokens. --rbc-tint: the source's --tint (accent 7% into the page; 22%
   in dark); --rbc-shadow: --shadow; --rbc-btn-*: --btn-bg / --btn-ink
   (the brand and white in light, the mustard and its ink in dark);
   --rbc-on: the current page's words (--a-text: the brand; the mustard in
   dark); --rbc-live: the source's live green. */
[data-fs-theme='rollingbap']{--fs-chrome-mode:light;--rbc-tint:color-mix(in srgb,rgb(var(--c-brand-600)) 7%,rgb(var(--c-paper)));--rbc-shadow:0 2px 5px -3px color-mix(in srgb,rgb(var(--c-ink-950)) 26%,transparent),0 3px 9px -2px color-mix(in srgb,rgb(var(--c-ink-950)) 26%,transparent),0 26px 50px -22px color-mix(in srgb,rgb(var(--c-ink-950)) 38%,transparent);--rbc-btn-bg:rgb(var(--c-brand-600));--rbc-btn-ink:var(--fs-on-brand);--rbc-on:rgb(var(--c-brand-text,var(--c-brand-600)));--rbc-sec-ink:rgb(var(--c-ink-950));--rbc-live:rgb(var(--fs-status-ok));--rbc-k:rgb(0 0 0 / 1);--rbc-w:rgb(255 255 255 / 1);--rbc-bar-h:38px;--rbc-max:1180px;--fs-rbpb-tint:var(--rbc-tint);--fs-rbpb-on:var(--rbc-on);--rbc-bag:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-1 13H6L5 8zM9 8V6a3 3 0 016 0v2'/%3E%3C/svg%3E");--rbc-phone:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 005 5L15 13l5 2v4a2 2 0 01-2 2A16 16 0 013 6a2 2 0 012-2z'/%3E%3C/svg%3E")}
[data-fs-theme='rollingbap'].dark{--fs-chrome-mode:dark;--rbc-tint:color-mix(in srgb,rgb(var(--c-brand-600)) 22%,rgb(var(--c-paper)));--rbc-shadow:0 0 0 1px color-mix(in srgb,rgb(var(--c-accent)) 22%,transparent),0 3px 10px -4px color-mix(in srgb,var(--rbc-k) 55%,transparent),0 30px 56px -24px color-mix(in srgb,var(--rbc-k) 65%,transparent);--rbc-btn-bg:rgb(var(--c-accent));--rbc-btn-ink:rgb(var(--c-paper));--rbc-on:rgb(var(--c-accent));--rbc-sec-ink:rgb(var(--c-paper))}

/* The band: the page colour at 92% over a 14px blur, the 2px hairline. It
   sticks at minus the bar, so the bar scrolls away and the row stays. A
   size container (fs-rb-band) for the source's breakpoints. */
[data-fs-theme='rollingbap'] .fs-hdr-band{container-type:inline-size;container-name:fs-rb-band;background:color-mix(in srgb,rgb(var(--c-paper)) 92%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:2px solid rgb(var(--c-line))}
[data-fs-theme='rollingbap'] .fs-hdr-band[data-fs-sticky='on']{top:calc(-1 * var(--rbc-bar-h))}
/* The row: the band's full width (the bar spans it), the 1180px wrap kept
   by its inline padding; 82px under the bar's room; 20px gaps; the
   lockup, the nav and the right-hand group spread apart. */
[data-fs-theme='rollingbap'] .fs-hdr-band .fs-hdr-row{--rbc-in:max(24px,calc((100% - var(--rbc-max)) / 2 + 24px));--row-pad:calc(var(--rbc-in) - 24px) !important;position:relative;box-sizing:border-box;max-width:none !important;min-height:calc(82px + var(--rbc-bar-h));padding-top:var(--rbc-bar-h);padding-bottom:0;padding-inline:var(--rbc-in);gap:20px;justify-content:space-between}

/* ── The top bar (.topbar) ── */
[data-fs-theme='rollingbap'] .fs-rbh{display:contents}
[data-fs-theme='rollingbap'] .fs-rbt{position:absolute;top:0;left:0;right:0;z-index:1;background:rgb(var(--c-ink-950));color:rgb(var(--c-paper));font-family:var(--font-sans,'Nunito',system-ui,sans-serif);font-size:.84rem;font-weight:700;line-height:1.62;text-align:left;white-space:normal}
[data-fs-theme='rollingbap'].dark .fs-rbt{background:color-mix(in srgb,rgb(var(--c-paper)) 55%,var(--rbc-k));color:color-mix(in srgb,rgb(var(--c-ink-950)) 92%,rgb(var(--c-paper)))}
[data-fs-theme='rollingbap'] .fs-rbt-in{display:flex;justify-content:space-between;flex-wrap:wrap;gap:0 16px;box-sizing:border-box;max-width:var(--rbc-max);margin:0 auto;padding:8px 24px}
[data-fs-theme='rollingbap'] .fs-rbt-st b{font-weight:800}
[data-fs-theme='rollingbap'] .fs-rbt-st.is-pending{visibility:hidden}
[data-fs-theme='rollingbap'] .fs-rbt-dot{display:inline-block;width:9px;height:9px;margin-right:8px;border-radius:50%;background:var(--rbc-live)}
[data-fs-theme='rollingbap'] .fs-rbt-dot.is-off{background:rgb(var(--c-ink-400))}
[data-fs-theme='rollingbap'] .fs-rbt-a{color:inherit;opacity:.92;text-decoration:none;white-space:nowrap}
[data-fs-theme='rollingbap'] a.fs-rbt-a:hover{opacity:1}
[data-fs-theme='rollingbap'] a.fs-rbt-a:focus-visible{outline:2px solid currentColor;outline-offset:2px}
[data-fs-theme='rollingbap'] .fs-rbt .fs-rbc-ic{display:inline-block;width:1.1em;height:1.1em;margin-right:6px;vertical-align:-.25em}
/* The source's minimal layout: the bar on the page, muted, a hairline. */
[data-fs-theme='rollingbap'][data-fs-layout='minimal'] .fs-rbt{background:transparent;color:rgb(var(--c-ink-400));border-bottom:2px solid rgb(var(--c-line))}

/* ── The lockup: 52px — the seeded picture, or the mark beside the name
   (Patua One 22px, themeDefaults) with the Caveat strapline under it (the
   theme's own name on the template preview, format.ts wordmark). A
   customer's own name wraps inside 10em. ── */
[data-fs-theme='rollingbap'] .fs-hdr-row > :first-child{flex:none;gap:10px}
[data-fs-theme='rollingbap'] .fs-hdr-row > :first-child img{height:52px;max-width:none;width:auto}
[data-fs-theme='rollingbap'] .fs-hdr-row [data-fs-logo-mark]{width:52px;height:52px}
[data-fs-theme='rollingbap'] .fs-hdr-row [data-fs-wordmark]{display:block;max-width:10em;white-space:normal;color:rgb(var(--c-ink-950))}
[data-fs-theme='rollingbap'] .fs-hdr-row [data-fs-wordmark] > span{display:block;margin-top:2px;font-family:var(--font-accent,'Caveat',cursive);font-weight:600;font-size:13px;line-height:1.15;letter-spacing:0;white-space:nowrap}
[data-fs-theme='rollingbap'].dark .fs-hdr-row [data-fs-wordmark] > span{color:rgb(var(--c-accent)) !important}

/* ── The nav and the Explore / More items ── */
[data-fs-theme='rollingbap'] .fs-hdr-row > nav{flex:0 1 auto}
/* The item and its caret are one pill (the source's button with the
   chevron inside it): the caret is the pill's right end (15px chevron,
   12px in), its tint shared on hover; the chevron turns while open. */
[data-fs-theme='rollingbap'] .fs-hdr-row .fs-hdr-group{gap:0}
[data-fs-theme='rollingbap'] .fs-hdr-row .fs-hdr-caret{box-sizing:border-box;width:32px;min-width:32px;height:44px;margin:0;padding:0 12px 0 5px;border-radius:0 99px 99px 0;opacity:1;color:inherit}
[data-fs-theme='rollingbap'] .fs-hdr-row .fs-hdr-caret::after{inset:0}
[data-fs-theme='rollingbap'] .fs-hdr-row .fs-hdr-caret svg{width:12px;height:8px;flex:none}
[data-fs-theme='rollingbap'] .fs-hdr-row .fs-hdr-group:is(:hover,[data-open]) > .fs-hdr-caret{background:var(--rbc-tint)}
[data-fs-theme='rollingbap'] .fs-hdr-row .fs-hdr-group[data-open] > .fs-hdr-caret svg{transform:rotate(180deg)}
[data-fs-theme='rollingbap'] .fs-hdr-row .fs-hdr-group:is([data-fs-rb-on],:has(> [aria-current='page'])) > .fs-hdr-caret{color:var(--rbc-on)}

/* ── The Explore mega (.mega): the shell hangs from the row at the wrap's
   border box (megaWidth 'bar', --row-pad = the row's inline padding
   less the wrap's 24px: the export's .mega is left/right 0 of .wrap.hdr,
   122.5 / 1180 at 1440 — the content box was 48px narrower), 2px
   under the row, drawn by the composite. It shows its overflow so its
   hover bridge spans the way down from the item (P51: the shell's own
   overflow:auto clipped it — a flicker). ── */
[data-fs-theme='rollingbap'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite){margin-top:2px !important;overflow:visible !important;padding:0 !important;background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;z-index:5}
[data-fs-theme='rollingbap'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite)::before{top:-24px;height:24px}
[data-fs-theme='rollingbap'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite) > .fsdrop-mega-content{padding:0;border:0}
[data-fs-theme='rollingbap'] .fs-rbm-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.15fr);gap:26px;box-sizing:border-box;padding:28px;background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));border:2px solid rgb(var(--c-line));border-radius:24px;box-shadow:var(--rbc-shadow);font-family:var(--font-sans,'Nunito',system-ui,sans-serif);font-size:17px;line-height:1.62;text-align:left;white-space:normal}
[data-fs-theme='rollingbap'] .fs-rbm-group{display:grid;align-content:start;min-width:0}
[data-fs-theme='rollingbap'] .fs-rbm-g{margin:0 0 12px;padding:0 10px;font-size:.72rem;font-weight:800;line-height:1.62;letter-spacing:.16em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
[data-fs-theme='rollingbap'] .fs-rbm-mi{display:flex;gap:12px;align-items:flex-start;padding:10px;border-radius:14px;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='rollingbap'] a.fs-rbm-mi:hover,[data-fs-theme='rollingbap'] .fs-rbm-mi.is-on{background:var(--rbc-tint)}
[data-fs-theme='rollingbap'] a.fs-rbm-mi:focus-visible{outline:3px solid var(--rbc-on);outline-offset:0}
/* .mega a.mi .icon-badge: 38px, no rim (the family's badge) */
[data-fs-theme='rollingbap'] .fs-rbm-badge{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;color:var(--rbc-sec-ink);background:linear-gradient(145deg,rgb(var(--c-accent)),color-mix(in srgb,rgb(var(--c-brand-600)) 55%,rgb(var(--c-accent))));box-shadow:inset 0 -6px 10px -4px color-mix(in srgb,var(--rbc-k) 18%,transparent),inset 0 2px 3px color-mix(in srgb,var(--rbc-w) 35%,transparent)}
[data-fs-theme='rollingbap'] .fs-rbm-badge .fs-rbc-ic{width:20px;height:20px}
[data-fs-theme='rollingbap'] .fs-rbm-tx{display:block;min-width:0}
[data-fs-theme='rollingbap'] .fs-rbm-t{display:block;font-size:.95rem;font-weight:800}
[data-fs-theme='rollingbap'] .fs-rbm-mi.is-on .fs-rbm-t{color:var(--rbc-on)}
[data-fs-theme='rollingbap'] .fs-rbm-s{display:block;font-size:.8rem;line-height:1.35;color:rgb(var(--c-ink-400))}
/* The card (.feat): the brand, white words, the mustard hand, the bap. */
[data-fs-theme='rollingbap'] .fs-rbm-feat{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:22px;border-radius:18px;background:rgb(var(--c-brand-600));color:var(--rbc-w)}
[data-fs-theme='rollingbap'].dark .fs-rbm-feat{background:color-mix(in srgb,rgb(var(--c-brand-600)) 70%,var(--rbc-k))}
[data-fs-theme='rollingbap'] .fs-rbm-kick{display:inline-block;font-family:var(--font-accent,'Caveat',cursive);font-weight:600;font-size:1.5em;line-height:1;color:rgb(var(--c-accent));transform:rotate(-2deg);transform-origin:left center}
[data-fs-theme='rollingbap'] .fs-rbm-h{margin:4px 0 6px;font-family:var(--font-display,'Patua One',serif);font-weight:400;font-size:1.3rem;line-height:1.08;color:var(--rbc-w)}
[data-fs-theme='rollingbap'] .fs-rbm-p{margin:0 0 14px;font-size:.9rem;color:color-mix(in srgb,var(--rbc-w) 85%,transparent)}
[data-fs-theme='rollingbap'] .fs-rbm-btn{position:relative;z-index:1;align-self:flex-start;margin-top:auto;display:inline-flex;align-items:center;padding:10px 18px;border:2px solid var(--rbc-w);border-radius:99px;background:var(--rbc-w);color:rgb(var(--c-brand-600));font-size:.9rem;font-weight:800;line-height:normal;text-decoration:none}
[data-fs-theme='rollingbap'] .fs-rbm-pic{position:absolute;right:-10px;bottom:-14px;width:120px;transform:rotate(-10deg);opacity:.95;pointer-events:none;--fs-rb-white:var(--rbc-w);--fs-rb-shade:var(--rbc-k);--fs-rb-van-ink:color-mix(in srgb,rgb(var(--c-brand-600)) 22%,var(--rbc-k))}
[data-fs-theme='rollingbap'] .fs-rbm-sw{display:block;width:100%;height:auto}
/* A narrower band (the panel is the band less the wrap's inset): two columns. */
@container fs-rb-band (max-width: 66.25rem){
  [data-fs-theme='rollingbap'] .fs-rbm-panel{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
[data-fs-theme='rollingbap'][data-fs-layout='minimal'] .fs-rbm-panel{border-radius:0;box-shadow:none}

/* ── Standard's More drop-down (.more .drop): a card under its own item
   (the group is its containing block again), flush with it. ── */
[data-fs-theme='rollingbap'] .fs-hdr-row .fs-hdr-group:has(.fs-rbd-drop){position:relative !important}
[data-fs-theme='rollingbap'] .fs-hdr-row .fsdrop-w-bar.fsdrop-w-bar.fsdrop-w-bar:has(.fs-rbd-drop){left:0 !important;right:auto !important;width:max-content !important;min-width:220px !important;max-width:none !important;margin-top:0 !important;overflow:visible !important;padding:0 !important;background:transparent !important;border:0 !important;box-shadow:none !important}
[data-fs-theme='rollingbap'] .fs-rbd-drop{display:grid;min-width:220px;box-sizing:border-box;padding:8px;background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));border:2px solid rgb(var(--c-line));border-radius:18px;box-shadow:var(--rbc-shadow);text-align:left;white-space:nowrap}
[data-fs-theme='rollingbap'] .fs-rbd-a{display:block;padding:10px 14px;border-radius:12px;font-size:.93rem;font-weight:700;line-height:1.62;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='rollingbap'] a.fs-rbd-a:hover,[data-fs-theme='rollingbap'] .fs-rbd-a.is-on{background:var(--rbc-tint)}
[data-fs-theme='rollingbap'] a.fs-rbd-a:focus-visible{outline:3px solid var(--rbc-on);outline-offset:0}

/* ── The right-hand group (.hdr-cta): the phone and the Order button,
   12px apart. ── */
[data-fs-theme='rollingbap'] .fs-hdr-row .fs-hdr-contact{gap:12px}
[data-fs-theme='rollingbap'] .fs-hdr-row .fs-hdr-phone{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:.95rem;line-height:1.62;color:rgb(var(--c-ink-950));text-decoration:none;white-space:nowrap}
[data-fs-theme='rollingbap'] .fs-hdr-row .fs-hdr-phone::before{content:"";flex:none;width:1.35em;height:1.35em;background:currentColor;-webkit-mask:var(--rbc-phone) center/contain no-repeat;mask:var(--rbc-phone) center/contain no-repeat}
[data-fs-theme='rollingbap']:is([data-fs-layout='boxed'],[data-fs-layout='minimal']) .fs-hdr-row .fs-hdr-phone{display:none}
/* The Order button (.btn.btn-primary.basket-btn): the family's pill (size
   and padding are themeDefaults' headerCta*), the bag before the words,
   the count badge on its corner when the composite sets it (the source's
   .cnt: 22px, the mustard, a 2px ring of the page). */
[data-fs-theme='rollingbap'] .fs-hdr-cta{--fs-hdr-cta-bg:var(--rbc-btn-bg);--fs-hdr-cta-fg:var(--rbc-btn-ink);--fs-hdr-cta-bg-hover:var(--rbc-btn-bg);--fs-hdr-cta-fg-hover:var(--rbc-btn-ink)}
[data-fs-theme='rollingbap'] .fs-hdr-cta.fs-hdr-cta{position:relative;overflow:visible;gap:10px;font-family:var(--font-sans,'Nunito',system-ui,sans-serif);font-weight:800;line-height:normal;white-space:nowrap;border:2px solid var(--rbc-btn-bg)}
[data-fs-theme='rollingbap'] .fs-hdr-cta.fs-hdr-cta:hover{box-shadow:0 12px 24px -10px color-mix(in srgb,var(--rbc-btn-bg) 70%,transparent)}
/* The bag is drawn from the first paint on the button that goes to the
   order page (no shift when the count arrives; Task 8 review 4); the
   badge only once the basket holds something, its figure kept out of the
   button's name (the composite's aria-label says the count). */
[data-fs-theme='rollingbap'] .fs-hdr-cta:is([href$='/order'],[href*='page=order'],[data-fs-rb-count])::before{content:"";flex:none;width:1.35em;height:1.35em;background:currentColor;-webkit-mask:var(--rbc-bag) center/contain no-repeat;mask:var(--rbc-bag) center/contain no-repeat}
[data-fs-theme='rollingbap'] .fs-hdr-cta[data-fs-rb-count]:not([data-fs-rb-count='0'])::after{content:attr(data-fs-rb-count) / "";position:absolute;top:-6px;right:-6px;display:grid;place-items:center;box-sizing:border-box;min-width:22px;height:22px;padding:0 5px;border:2px solid rgb(var(--c-paper));border-radius:99px;background:rgb(var(--c-accent));color:var(--rbc-sec-ink);font-size:.72rem;font-weight:800;line-height:1}
/* The round menu button (.burger): a 2px hairline, 14px corners, 22px. */
[data-fs-theme='rollingbap'] .fs-hdr-row .fs-hdr-menu-btn{box-sizing:border-box;min-width:44px;min-height:44px;padding:9px;border:2px solid rgb(var(--c-line));border-radius:14px;background:none;color:rgb(var(--c-ink-950))}
[data-fs-theme='rollingbap'] .fs-hdr-row .fs-hdr-menu-btn svg{width:22px;height:22px}

/* The source's centred layout: the lockup over the nav, 18px / 8px in.
   The source hides the button and the phone there; here the platform's
   contact strip keeps its own show / hide (R15: a chrome sheet never
   forces .fs-hdr-contact's display outside a container query; L43). */
[data-fs-theme='rollingbap'][data-fs-layout='centered'] .fs-hdr-band .fs-hdr-row{flex-direction:column;justify-content:center;gap:6px;min-height:0;padding-top:calc(var(--rbc-bar-h) + 18px);padding-bottom:8px}
[data-fs-theme='rollingbap'][data-fs-layout='centered'] .fs-hdr-row > nav{flex-wrap:wrap;justify-content:center}

/* ── The source's breakpoints, on the band's width ── */
/* ≤1280px: the phone gives way. */
@container fs-rb-band (max-width: 80rem){
  [data-fs-theme='rollingbap'] .fs-hdr-row .fs-hdr-phone{display:none}
}
/* Until it is measured the bar's room is its final room at the template
   preview's words (the live line comes after mount): one line from
   840px, two from 480px, three below (measured 38 / 60 / 81px, UK and
   Cyprus). The band IS the fs-rb-band container, so the guess is set on
   the row and the bar (its descendants), never on the band itself (a
   container query cannot style its own container: the old rule never
   matched, the row grew 42px after hydration at 390). The bar holds the
   room too, so its strip does not grow when the live line arrives. */
[data-fs-theme='rollingbap'] .fs-hdr-band:not([data-fs-rb-bar]) .fs-rbt{min-height:var(--rbc-bar-h)}
@container fs-rb-band (max-width: 52.4375rem){
  [data-fs-theme='rollingbap'] .fs-hdr-band:not([data-fs-rb-bar]) :is(.fs-hdr-row,.fs-rbt){--rbc-bar-h:60px}
}
@container fs-rb-band (max-width: 29.9375rem){
  [data-fs-theme='rollingbap'] .fs-hdr-band:not([data-fs-rb-bar]) :is(.fs-hdr-row,.fs-rbt){--rbc-bar-h:81px}
}
/* R16 (the template preview alone): its Edit Template link and visitor
   mode switch are on no real site; on a phone the switch and the
   strapline give way so the row still holds the lockup, the pencil and
   the menu button. */
@container fs-rb-band (max-width: 30rem){
  [data-fs-theme='rollingbap'] .fs-hdr-row:has([data-fs-preview-edit]) .fs-hdr-mode{display:none}
  [data-fs-theme='rollingbap'] .fs-hdr-row:has([data-fs-preview-edit]) [data-fs-wordmark] > span{display:none}
}

/* ── The phone menu (the source's stacked .nav under 1060px: 14px x 4px
   rows on a 2px hairline; the Explore groups in one column, no badges,
   no card). ── */
[data-fs-theme='rollingbap'] .fs-hdr-mobile{background:rgb(var(--c-paper-soft))}
[data-fs-theme='rollingbap'] .fs-hdr-mobile-link:not(.is-sub){display:flex;align-items:center;min-height:44px;padding:14px 4px;border-bottom:2px solid rgb(var(--c-line));font-weight:800;font-size:.95rem;line-height:1.3;color:rgb(var(--c-ink-950))}
[data-fs-theme='rollingbap'] .fs-hdr-mobile-link.fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false']){color:var(--rbc-on)}
[data-fs-theme='rollingbap'] .fs-hdr-mobile-sub{margin:0;padding:0 0 0 12px;border-left:0}
[data-fs-theme='rollingbap'] .fs-hdr-mobile .fs-rbm-panel{grid-template-columns:minmax(0,1fr);gap:4px;padding:0;background:transparent;border:0;box-shadow:none}
[data-fs-theme='rollingbap'] .fs-hdr-mobile .fs-rbm-g{margin:0;padding:12px 0 4px}
[data-fs-theme='rollingbap'] .fs-hdr-mobile .fs-rbm-mi{padding:10px 4px;border-bottom:2px solid rgb(var(--c-line));border-radius:0}
[data-fs-theme='rollingbap'] .fs-hdr-mobile :is(.fs-rbm-badge,.fs-rbm-feat){display:none}
[data-fs-theme='rollingbap'] .fs-hdr-mobile .fs-rbd-drop{min-width:0;padding:0;background:transparent;border:0;box-shadow:none}
[data-fs-theme='rollingbap'] .fs-hdr-mobile .fs-rbd-a{padding:12px 4px;border-bottom:2px solid rgb(var(--c-line));border-radius:0}
/* The phone menu's foot (phone-menu-foot.tsx RollingBapFoot): the site's
   phone (a tel: link) and the header button side by side, then the
   hours. */
[data-fs-theme='rollingbap'] .fs-pmf-rollingbap{display:grid;gap:12px;margin:24px 0 16px;padding-top:16px;border-top:2px solid rgb(var(--c-line))}
[data-fs-theme='rollingbap'] .fs-pmf-rollingbap .fs-pmf-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:10px}
[data-fs-theme='rollingbap'] .fs-pmf-rollingbap .fs-pmf-call{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin:0;padding:12px 10px;border:2px solid rgb(var(--c-ink-950));border-radius:99px;font-weight:800;font-size:.95rem;line-height:1.2;color:rgb(var(--c-ink-950))}
[data-fs-theme='rollingbap'] .fs-pmf-rollingbap .fs-pmf-ico{width:20px;height:20px;flex:none}
[data-fs-theme='rollingbap'] .fs-pmf-rollingbap .fs-pmf-tel{color:inherit;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
[data-fs-theme='rollingbap'] .fs-pmf-rollingbap a.fs-pmf-tel::after{content:"";position:absolute;inset:0;border-radius:99px}
[data-fs-theme='rollingbap'] .fs-pmf-rollingbap .fs-hdr-cta.fs-pmf-cta{display:flex;width:100%;margin:0;padding:12px 10px;border-radius:99px}
[data-fs-theme='rollingbap'] .fs-pmf-rollingbap .fs-pmf-hours{margin:0;font-size:.875rem;color:rgb(var(--c-ink-400))}
[data-fs-theme='rollingbap'] .fs-rbc-ic{display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* ══ motion (the source's own; port Task 9) ════════════════════════════
   Gated on the theme scope's data-fs-motion (siteShell puts both on the
   one wrapper) and a no-preference reduced-motion setting; each effect
   reads its --fs-anim-<id> switch; travel x --fs-motion-dist, time x
   --fs-anim-speed; backwards fill only. Subtle, where the source is
   stricter: a loop plays once. */
@keyframes fs-rbc-drop{from{opacity:0;transform:translateY(calc(var(--rbc-drop, 10px) * var(--fs-motion-dist, 1))) scale(calc(1 - var(--rbc-drop-s, .015) * var(--fs-motion-dist, 1)))}to{opacity:1;transform:none}}
@keyframes fs-rbc-ping{to{box-shadow:0 0 0 calc(9px * var(--fs-motion-dist, 1)) transparent}}
@keyframes fs-rbc-bump{30%{transform:scale(calc(1 + .4 * var(--fs-motion-dist, 1)))}}
@keyframes fs-rbc-wobble{0%,100%{transform:translateY(calc(-2px * var(--fs-motion-dist, 1))) rotate(0deg)}25%{transform:translateY(calc(-3px * var(--fs-motion-dist, 1))) rotate(calc(-1.4deg * var(--fs-motion-dist, 1)))}75%{transform:translateY(calc(-3px * var(--fs-motion-dist, 1))) rotate(calc(1.4deg * var(--fs-motion-dist, 1)))}}
@media screen and (prefers-reduced-motion: no-preference){
  /* rbDrop — the Explore panel drops 10px and grows from .985 as it
     fades in (.32s); the More list drops 8px (.25s); the chevron turns
     (.25s); an Explore item slides 3px under the pointer (.2s) */
  [data-fs-theme='rollingbap'][data-fs-motion='on'] .fs-hdr-row .fs-rbm-panel{transform-origin:top center;animation:var(--fs-anim-rbDrop, fs-rbc-drop calc(.32s * var(--fs-anim-speed, 1)) cubic-bezier(.2,.8,.2,1) backwards)}
  [data-fs-theme='rollingbap'][data-fs-motion='on'] .fs-hdr-row .fs-rbd-drop{--rbc-drop:8px;--rbc-drop-s:0;animation:var(--fs-anim-rbDrop, fs-rbc-drop calc(.25s * var(--fs-anim-speed, 1)) cubic-bezier(.2,.8,.2,1) backwards)}
  [data-fs-theme='rollingbap'][data-fs-motion='on'] .fs-hdr-row .fs-hdr-caret svg{transition:var(--fs-anim-rbDrop, transform calc(.25s * var(--fs-anim-speed, 1)))}
  [data-fs-theme='rollingbap'][data-fs-motion='on'] .fs-hdr-row .fs-rbm-mi{transition:background-color .2s,transform calc(.2s * var(--fs-anim-speed, 1))}
  [data-fs-theme='rollingbap'][data-fs-motion='on'] .fs-hdr-row a.fs-rbm-mi:hover{transform:var(--fs-anim-rbDrop, translateX(calc(3px * var(--fs-motion-dist, 1))))}
  /* rbPulse — the top bar's live dot sends out a ring (ping 1.8s) */
  [data-fs-theme='rollingbap'][data-fs-motion='on'] .fs-rbt-dot:not(.is-off){box-shadow:0 0 0 0 color-mix(in srgb,var(--rbc-live) 60%,transparent);animation:var(--fs-anim-rbPulse, fs-rbc-ping calc(1.8s * var(--fs-anim-speed, 1)) infinite)}
  /* rbWobble — the Order button wobbles on the griddle while hovered */
  [data-fs-theme='rollingbap'][data-fs-motion='on'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta:hover{animation:var(--fs-anim-rbWobble, fs-rbc-wobble calc(1.05s * var(--fs-anim-speed, 1)) ease-in-out infinite)}
  [data-fs-theme='rollingbap'][data-fs-motion='on'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta:active{animation:none}
  /* rbBump — the basket count bumps when it changes (.4s; the composite
     sets data-fs-rb-bump again on each change) */
  [data-fs-theme='rollingbap'][data-fs-motion='on'] .fs-hdr-cta[data-fs-rb-bump]::after{animation:var(--fs-anim-rbBump, fs-rbc-bump calc(.4s * var(--fs-anim-speed, 1)))}
  /* Subtle: the source's loops play once */
  [data-fs-theme='rollingbap'][data-fs-motion='on'][data-fs-motion-level='subtle'] :is(.fs-rbt-dot,.fs-hdr-cta){animation-iteration-count:1 !important}
}


/* Tokens. --fnc-link: the source's --link (--pri-d in light, the derived
   --pri-lt in dark); --fnc-tint: --tint; --fnc-shadow: --shadow;
   --fnc-edn-h / --fnc-rib-h: the edition line's and the ribbon's room;
   --fnc-max: the source's 1360px header wrap. */
[data-fs-theme='fieldnote']{--fs-chrome-mode:light;--fnc-pri-lt:color-mix(in srgb,rgb(var(--c-brand-600)) 24%,rgb(var(--c-paper-soft)));--fnc-pri-lt:oklch(from rgb(var(--c-brand-600)) .853 min(c,.05) h);--fnc-link:rgb(var(--c-brand-700));--fnc-tint:color-mix(in srgb,rgb(var(--c-brand-600)) 7%,rgb(var(--c-paper-soft)));--fnc-shadow:0 1px 2px rgb(var(--c-ink-950) / .06),0 6px 14px -2px rgb(var(--c-ink-950) / .08),0 22px 44px -10px rgb(var(--c-ink-950) / .18);--fnc-mega-shadow:0 34px 60px rgb(var(--c-ink-950) / .2);--fnc-edn-h:41.55px;--fnc-rib-h:44px;--fnc-max:1360px;--fnc-shade:0 0 0;--fnc-k:rgb(var(--fnc-shade));--fs-fnir-on:var(--fnc-link);--fs-fnir-acc:rgb(var(--c-accent));--fnc-mail:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='3'/%3E%3Cpath d='M3 8l9 6 9-6'/%3E%3C/svg%3E")}
[data-fs-theme='fieldnote'].dark{--fs-chrome-mode:dark;--fnc-pri-lt:color-mix(in srgb,rgb(var(--c-brand-600)) 24%,rgb(var(--c-ink-950)));--fnc-pri-lt:oklch(from rgb(var(--c-brand-600)) .853 min(c,.05) h);--fnc-link:var(--fnc-pri-lt);--fnc-tint:color-mix(in srgb,rgb(var(--c-brand-600)) 18%,rgb(var(--c-paper-soft)));--fnc-shadow:0 0 0 1px color-mix(in srgb,var(--fs-on-brand) 5%,transparent),0 2px 4px color-mix(in srgb,var(--fnc-k) 35%,transparent),0 22px 44px -10px color-mix(in srgb,var(--fnc-k) 65%,transparent);--fnc-mega-shadow:0 34px 60px color-mix(in srgb,var(--fnc-k) 50%,transparent)}

/* The band: transparent itself (each row draws its own ground); a size
   container (fs-fn-band) for the source's breakpoints. */
[data-fs-theme='fieldnote'] .fs-hdr-band{container-type:inline-size;container-name:fs-fn-band;background:transparent;border-bottom:0}
/* The row (.hdw > .hd): the band's full width (the edition line and the
   ribbon span it), the 1360px wrap kept by its inline padding; the page
   colour at 94% over a 14px blur; 11px top and bottom under / over the
   two rooms; the lockup, the nav (centred) and the right-hand group 26px
   apart. --row-pad 0: the Explore panel spans the band (the source's
   .mega is left / right 0 of the header). */
[data-fs-theme='fieldnote'] .fs-hdr-band .fs-hdr-row{--fnc-in:max(28px,calc((100% - var(--fnc-max)) / 2 + 28px));--row-pad:0px !important;position:relative;box-sizing:border-box;max-width:none !important;padding-top:calc(var(--fnc-edn-h) + 11px);padding-bottom:calc(var(--fnc-rib-h) + 11px);padding-inline:var(--fnc-in);gap:26px;justify-content:space-between;background:linear-gradient(color-mix(in srgb,rgb(var(--c-paper)) 94%,transparent),color-mix(in srgb,rgb(var(--c-paper)) 94%,transparent)) 0 var(--fnc-edn-h) / 100% calc(100% - var(--fnc-edn-h) - var(--fnc-rib-h)) no-repeat;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
/* .site-header.shrunk: the edition line folds away, the row tightens. */
[data-fs-theme='fieldnote'] .fs-hdr-band[data-fs-fn-shrunk] .fs-hdr-row{--fnc-edn-h:0px;padding-top:7px;padding-bottom:calc(var(--fnc-rib-h) + 7px)}
[data-fs-theme='fieldnote'] .fs-hdr-band[data-fs-fn-shrunk] .fs-fnh-edn{max-height:0;opacity:0;border-width:0}

/* ── The lockup: the seeded picture 44px high (38px once shrunk), or the
   mark beside the name. ── */
[data-fs-theme='fieldnote'] .fs-hdr-row > :first-child{flex:none}
[data-fs-theme='fieldnote'] .fs-hdr-row > :first-child img{height:44px;max-width:none;width:auto}
[data-fs-theme='fieldnote'] .fs-hdr-band[data-fs-fn-shrunk] .fs-hdr-row > :first-child img{height:38px}
[data-fs-theme='fieldnote'] .fs-hdr-row [data-fs-logo-mark]{width:44px;height:44px}
[data-fs-theme='fieldnote'] .fs-hdr-row [data-fs-wordmark]{font-family:var(--font-display,'Source Serif 4',Georgia,serif);font-weight:500;color:rgb(var(--c-ink-950))}

/* ── The nav: centred between the lockup and the right-hand group. ── */
[data-fs-theme='fieldnote'] .fs-hdr-row > nav{flex:1 1 auto;justify-content:center}
[data-fs-theme='fieldnote'] .fs-hdr-row .fs-hdr-group{gap:0}
[data-fs-theme='fieldnote'] .fs-hdr-row .fs-hdr-caret{box-sizing:border-box;width:28px;min-width:28px;height:44px;margin:0;padding:0 13px 0 0;opacity:1;color:inherit}
[data-fs-theme='fieldnote'] .fs-hdr-row .fs-hdr-caret svg{width:15px;height:15px;flex:none}
[data-fs-theme='fieldnote'] .fs-hdr-row .fs-hdr-group[data-open] > .fs-hdr-caret svg{transform:rotate(180deg)}
[data-fs-theme='fieldnote'] .fs-hdr-row .fs-hdr-group:is(:hover,[data-open],[data-fs-fn-on],:has(> [aria-current='page'])) > .fs-hdr-caret{color:var(--fnc-link)}

/* ── The edition line (.edn) ── */
[data-fs-theme='fieldnote'] .fs-fnh{display:contents}
[data-fs-theme='fieldnote'] .fs-fnh-edn{position:absolute;top:0;left:0;right:0;z-index:1;box-sizing:border-box;max-height:44px;overflow:hidden;background:rgb(var(--c-paper));border-top:3px solid rgb(var(--c-accent));border-bottom:1px solid rgb(var(--c-line));font-family:var(--font-sans,'Hanken Grotesk',system-ui,sans-serif);font-size:.74rem;font-weight:700;line-height:1.6;color:rgb(var(--c-ink-400));text-align:left}
[data-fs-theme='fieldnote'] .fs-fnh-edn-in{display:flex;align-items:center;gap:18px;box-sizing:border-box;max-width:var(--fnc-max);margin:0 auto;padding:7px 28px;white-space:nowrap}
[data-fs-theme='fieldnote'] .fs-fnh-date{color:rgb(var(--c-ink-950));text-transform:uppercase;letter-spacing:.12em}
[data-fs-theme='fieldnote'] .fs-fnh-issue{letter-spacing:.06em}
[data-fs-theme='fieldnote'] .fs-fnh-mid{margin-inline:auto;min-width:0;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-display,'Source Serif 4',Georgia,serif);font-style:italic;font-weight:500;font-size:.92rem}
[data-fs-theme='fieldnote'] .fs-fnh-end{display:flex;gap:16px;margin-left:auto}
[data-fs-theme='fieldnote'] .fs-fnh-mid + .fs-fnh-end{margin-left:0}
[data-fs-theme='fieldnote'] .fs-fnh-a{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-color:transparent}
[data-fs-theme='fieldnote'] a.fs-fnh-a:hover{color:var(--fnc-link);text-decoration-color:currentColor}
[data-fs-theme='fieldnote'] a.fs-fnh-a:focus-visible{outline:2px solid currentColor;outline-offset:2px}

/* ── The right-hand group (.hact): the search button and Subscribe, 10px
   apart. ── */
[data-fs-theme='fieldnote'] .fs-hdr-row > div:has(> .fs-hdr-cta, > .fs-hdr-composite){gap:10px}
[data-fs-theme='fieldnote'] .fs-hdr-composite{display:contents}
[data-fs-theme='fieldnote'] .fs-fnh-hs{display:inline-grid;place-items:center;flex:none;width:42px;height:42px;border-radius:50%;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='fieldnote'] a.fs-fnh-hs:hover{background:var(--fnc-tint);color:var(--fnc-link)}
[data-fs-theme='fieldnote'] a.fs-fnh-hs:focus-visible{outline:3px solid rgb(var(--c-accent));outline-offset:2px}
[data-fs-theme='fieldnote'] .fs-fnc-ic{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
/* The Subscribe button (.btn.sm.hbook): the brand, white words, 8px
   corners, 9px 18px, .88rem 700, the mail icon before the words. */
[data-fs-theme='fieldnote'] .fs-hdr-cta{--fs-hdr-cta-bg:rgb(var(--c-brand-600));--fs-hdr-cta-fg:var(--fs-on-brand);--fs-hdr-cta-bg-hover:rgb(var(--c-brand-600));--fs-hdr-cta-fg-hover:var(--fs-on-brand)}
[data-fs-theme='fieldnote'] .fs-hdr-cta.fs-hdr-cta{min-height:0;gap:9px;padding:9px 18px;border-radius:8px;font-family:var(--font-sans,'Hanken Grotesk',system-ui,sans-serif);font-weight:700;font-size:.88rem;line-height:1.6;white-space:nowrap;box-shadow:0 8px 20px color-mix(in srgb,rgb(var(--c-brand-600)) 30%,transparent)}
[data-fs-theme='fieldnote'] .fs-hdr-cta.fs-hdr-cta::before{content:"";flex:none;width:20px;height:20px;background:currentColor;-webkit-mask:var(--fnc-mail) center/contain no-repeat;mask:var(--fnc-mail) center/contain no-repeat}
[data-fs-theme='fieldnote'][data-fs-layout='minimal'] .fs-hdr-cta.fs-hdr-cta{border-radius:4px;box-shadow:none}
/* The menu button (.burger): 44px round on the tint, the link colour. */
[data-fs-theme='fieldnote'] .fs-hdr-row .fs-hdr-menu-btn{box-sizing:border-box;min-width:44px;min-height:44px;padding:11px;border:0;border-radius:50%;background:var(--fnc-tint);color:var(--fnc-link)}
[data-fs-theme='fieldnote'] .fs-hdr-row .fs-hdr-menu-btn svg{width:20px;height:20px}

/* ── The ribbon (.rib) and the reading line (.rib-read) ── */
[data-fs-theme='fieldnote'] .fs-fnh-rib{position:absolute;left:0;right:0;bottom:0;z-index:1;box-sizing:border-box;height:var(--fnc-rib-h);background:rgb(var(--c-paper));border-top:1px solid rgb(var(--c-line));border-bottom:1px solid rgb(var(--c-line));font-family:var(--font-sans,'Hanken Grotesk',system-ui,sans-serif);line-height:1.6;text-align:left}
[data-fs-theme='fieldnote'] .fs-fnh-rib-in{position:relative;display:block;box-sizing:border-box;max-width:var(--fnc-max);height:42px;margin:0 auto;padding:0 28px;overflow:hidden}
[data-fs-theme='fieldnote'] .fs-fnh-tabs{display:flex;gap:2px;height:100%;overflow-x:auto;scrollbar-width:none}
[data-fs-theme='fieldnote'] .fs-fnh-tabs::-webkit-scrollbar{display:none}
[data-fs-theme='fieldnote'] .fs-fnh-rlabel{display:inline-flex;align-items:center;padding:0 14px 0 0;margin-right:6px;font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:rgb(var(--c-ink-400));border-right:1px solid rgb(var(--c-line));white-space:nowrap}
[data-fs-theme='fieldnote'] .fs-fnh-rt{display:inline-flex;align-items:center;gap:8px;padding:0 14px;font-weight:700;font-size:.84rem;white-space:nowrap;border-bottom:3px solid transparent;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='fieldnote'] .fs-fnh-dot{display:block;width:8px;height:8px;border-radius:50%;background:rgb(var(--c-accent));opacity:.85;flex:none}
[data-fs-theme='fieldnote'] a.fs-fnh-rt:hover{color:var(--fnc-link);border-bottom-color:color-mix(in srgb,rgb(var(--c-accent)) 55%,transparent)}
[data-fs-theme='fieldnote'] .fs-fnh-rt.is-on{border-bottom-color:rgb(var(--c-accent))}
[data-fs-theme='fieldnote'] a.fs-fnh-rt:focus-visible{outline:2px solid rgb(var(--c-accent));outline-offset:-2px}
[data-fs-theme='fieldnote'] .fs-fnh-read{position:absolute;left:28px;right:28px;top:0;bottom:0;display:flex;align-items:center;gap:12px;min-width:0;font-size:.86rem;opacity:0;visibility:hidden}
[data-fs-theme='fieldnote'] .fs-fnh-read-b{font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:rgb(var(--c-brand-text,var(--c-brand-600)));white-space:nowrap}
[data-fs-theme='fieldnote'] .fs-fnh-ttl{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-display,'Source Serif 4',Georgia,serif);font-size:1.02rem;font-weight:500;color:rgb(var(--c-ink-950))}
[data-fs-theme='fieldnote'] .fs-fnh-sec{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:rgb(var(--c-ink-400))}
[data-fs-theme='fieldnote'] .fs-fnh-left{margin-left:auto;font-weight:800;white-space:nowrap;color:rgb(var(--c-ink-950))}
[data-fs-theme='fieldnote'] .fs-fnh-top{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border:0;border-radius:999px;background:var(--fnc-tint);color:var(--fnc-link);font-family:inherit;font-weight:800;font-size:.76rem;line-height:1.6;white-space:nowrap;cursor:pointer}
[data-fs-theme='fieldnote'] .fs-fnh-top .fs-fnc-ic{width:14px;height:14px}
[data-fs-theme='fieldnote'] .fs-fnh-prog{position:absolute;left:0;right:0;bottom:-1px;display:block;height:3px;opacity:0}
[data-fs-theme='fieldnote'] .fs-fnh-prog-i{display:block;height:100%;width:0;background:rgb(var(--c-accent))}
[data-fs-theme='fieldnote'] .fs-fnh-rib[data-reading] .fs-fnh-read{opacity:1;visibility:visible}
[data-fs-theme='fieldnote'] .fs-fnh-rib[data-reading] .fs-fnh-tabs{opacity:0;visibility:hidden}
[data-fs-theme='fieldnote'] .fs-fnh-rib[data-reading] .fs-fnh-prog{opacity:1}

/* ── The Explore mega (.mega): the shell hangs from the row's content
   foot (the ribbon's room above it: the source's .mega is top:100% of
   .hdw, over the ribbon) and spans the band; it shows its overflow so its
   hover bridge spans the way down from the item (P51: the shell's own
   overflow:auto clipped it — a flicker). The panel is the surface with a
   hairline under it and the source's deep shadow; the 1240px grid inside. ── */
[data-fs-theme='fieldnote'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite){margin-top:calc(-1 * var(--fnc-rib-h) - 11px) !important;overflow:visible !important;padding:0 !important;background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;z-index:5}
[data-fs-theme='fieldnote'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite)::before{top:-24px;height:24px}
[data-fs-theme='fieldnote'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite) > .fsdrop-mega-content{padding:0;border:0}
[data-fs-theme='fieldnote'] .fs-fnm-panel{display:block;box-sizing:border-box;background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));border-bottom:1px solid rgb(var(--c-line));box-shadow:var(--fnc-mega-shadow);font-family:var(--font-sans,'Hanken Grotesk',system-ui,sans-serif);font-size:16px;line-height:1.6;text-align:left;white-space:normal}
[data-fs-theme='fieldnote'] .fs-fnm-in{display:grid;grid-template-columns:1fr 1fr 1fr 1.15fr;gap:30px;box-sizing:border-box;max-width:1240px;margin:0 auto;padding:28px 28px 34px}
[data-fs-theme='fieldnote'] .fs-fnm-group{display:grid;align-content:start;min-width:0}
[data-fs-theme='fieldnote'] .fs-fnm-g{margin:0 0 12px;font-size:.72rem;font-weight:800;line-height:1.2;letter-spacing:.16em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
[data-fs-theme='fieldnote'] .fs-fnm-mi{display:flex;gap:13px;align-items:center;padding:8px 10px;border-radius:10px;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='fieldnote'] a.fs-fnm-mi:hover{background:var(--fnc-tint)}
[data-fs-theme='fieldnote'] a.fs-fnm-mi:focus-visible{outline:3px solid rgb(var(--c-accent));outline-offset:0}
/* .mi .icon-badge: 38px, the family's badge (a soft brand gradient with
   an accent glow). */
[data-fs-theme='fieldnote'] .fs-fnm-badge{display:inline-grid;place-items:center;flex:none;width:38px;height:38px;border-radius:10px;color:var(--fnc-link);background:radial-gradient(120% 90% at 85% 100%,color-mix(in srgb,rgb(var(--c-accent)) 30%,transparent),transparent 62%),linear-gradient(150deg,color-mix(in srgb,rgb(var(--c-brand-600)) 6%,rgb(var(--c-paper-soft))),color-mix(in srgb,rgb(var(--c-brand-600)) 20%,rgb(var(--c-paper-soft))));box-shadow:inset 0 1px 0 color-mix(in srgb,var(--fs-on-brand) 70%,transparent),inset 0 0 0 1px color-mix(in srgb,rgb(var(--c-brand-600)) 16%,transparent),0 2px 6px -1px color-mix(in srgb,rgb(var(--c-brand-600)) 22%,transparent)}
[data-fs-theme='fieldnote'].dark .fs-fnm-badge{background:radial-gradient(120% 90% at 85% 100%,color-mix(in srgb,rgb(var(--c-accent)) 26%,transparent),transparent 62%),linear-gradient(150deg,color-mix(in srgb,rgb(var(--c-brand-600)) 55%,rgb(var(--c-paper-soft))),color-mix(in srgb,rgb(var(--c-brand-600)) 25%,rgb(var(--c-paper-soft))));box-shadow:inset 0 1px 0 color-mix(in srgb,var(--fs-on-brand) 12%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--fs-on-brand) 7%,transparent)}
[data-fs-theme='fieldnote'] .fs-fnm-badge .fs-fnc-ic{width:18px;height:18px}
[data-fs-theme='fieldnote'] .fs-fnm-tx{display:block;min-width:0}
[data-fs-theme='fieldnote'] .fs-fnm-t{display:block;font-size:.95rem;font-weight:700}
[data-fs-theme='fieldnote'] .fs-fnm-mi.is-on .fs-fnm-t{color:var(--fnc-link)}
[data-fs-theme='fieldnote'] .fs-fnm-s{display:block;font-size:.8rem;line-height:1.4;color:rgb(var(--c-ink-400))}
/* The card (.feat): 12px, the deep brand, white words over the cover. */
[data-fs-theme='fieldnote'] .fs-fnm-feat{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;min-height:240px;border-radius:12px;background:rgb(var(--c-brand-700));color:var(--fs-on-brand)}
[data-fs-theme='fieldnote'] .fs-fnm-cv{position:absolute;inset:0;opacity:.9}
[data-fs-theme='fieldnote'] .fs-fnm-cv .fs-fn-cv{width:100%;height:100%;aspect-ratio:auto;border-radius:0}
[data-fs-theme='fieldnote'] .fs-fnm-cv svg,[data-fs-theme='fieldnote'] .fs-fnm-cv img{display:block;width:100%;height:100%;object-fit:cover}
[data-fs-theme='fieldnote'] .fs-fnm-feat-t{position:relative;z-index:1;padding:22px;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--fnc-k) 82%,transparent) 38%)}
[data-fs-theme='fieldnote'] .fs-fnm-kick{display:inline-block;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--fs-on-brand);opacity:.9}
[data-fs-theme='fieldnote'] .fs-fnm-h{margin:6px 0 12px;font-family:var(--font-display,'Source Serif 4',Georgia,serif);font-weight:500;font-size:1.3rem;line-height:1.12;color:var(--fs-on-brand)}
[data-fs-theme='fieldnote'] .fs-fnm-btn{display:inline-flex;align-items:center;align-self:flex-start;padding:9px 18px;border-radius:8px;background:var(--fs-on-brand);color:rgb(var(--c-brand-700));font-weight:700;font-size:.88rem;line-height:1.6;text-decoration:none}
[data-fs-theme='fieldnote'] .fs-fnm-btn:focus-visible{outline:3px solid rgb(var(--c-accent));outline-offset:2px}

/* ── Standard's More drop-down (.more .drop): a 230px card centred under
   its own item (the group is its containing block again). ── */
[data-fs-theme='fieldnote'] .fs-hdr-row .fs-hdr-group:has(.fs-fnd-drop){position:relative !important}
[data-fs-theme='fieldnote'] .fs-hdr-row .fsdrop-w-bar.fsdrop-w-bar.fsdrop-w-bar:has(.fs-fnd-drop){left:50% !important;right:auto !important;transform:translateX(-50%);width:max-content !important;min-width:230px !important;max-width:none !important;margin-top:-4px !important;overflow:visible !important;padding:0 !important;background:transparent !important;border:0 !important;box-shadow:none !important}
[data-fs-theme='fieldnote'] .fs-fnd-drop{display:grid;min-width:230px;box-sizing:border-box;padding:8px;background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));border:1px solid rgb(var(--c-line));border-radius:12px;box-shadow:var(--fnc-shadow);text-align:left;white-space:nowrap}
[data-fs-theme='fieldnote'] .fs-fnd-a{display:block;padding:11px 14px;border-radius:8px;font-family:var(--font-sans,'Hanken Grotesk',system-ui,sans-serif);font-size:16px;font-weight:700;line-height:1.6;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='fieldnote'] a.fs-fnd-a:hover{background:var(--fnc-tint)}
[data-fs-theme='fieldnote'] .fs-fnd-a.is-on{color:var(--fnc-link)}
[data-fs-theme='fieldnote'] a.fs-fnd-a:focus-visible{outline:3px solid rgb(var(--c-accent));outline-offset:0}

/* ── The source's breakpoints, on the band's width ── */
/* ≤1060px: the menu button first, the lockup in the middle (38px); the
   edition line's tagline gives way; 16px in. */
@container fs-fn-band (max-width: 66.25rem){
  [data-fs-theme='fieldnote'] .fs-hdr-band .fs-hdr-row{--fnc-in:16px;padding-top:calc(var(--fnc-edn-h) + 8px);padding-bottom:calc(var(--fnc-rib-h) + 8px);gap:12px}
  [data-fs-theme='fieldnote'] .fs-hdr-row .fs-hdr-menu-btn{order:-1}
  [data-fs-theme='fieldnote'] .fs-hdr-row > :first-child{margin-inline:auto}
  [data-fs-theme='fieldnote'] .fs-hdr-row > :first-child img{height:38px}
  [data-fs-theme='fieldnote'] .fs-hdr-row > div:has(> .fs-hdr-cta, > .fs-hdr-composite){gap:6px}
  [data-fs-theme='fieldnote'] .fs-fnh-mid{display:none}
  [data-fs-theme='fieldnote'] .fs-fnh-edn-in,[data-fs-theme='fieldnote'] .fs-fnh-rib-in{padding-inline:16px}
  [data-fs-theme='fieldnote'] .fs-fnh-read{left:16px;right:16px}
  [data-fs-theme='fieldnote'] .fs-fnm-in{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
/* ≤760px: no edition line (the source's .edn{display:none}). */
@container fs-fn-band (max-width: 47.5rem){
  [data-fs-theme='fieldnote'] .fs-hdr-row{--fnc-edn-h:0px}
  [data-fs-theme='fieldnote'] .fs-fnh-edn{display:none}
}

/* ── The phone menu (the source's stacked .nav under 1060px: 14px x 16px
   rows, 10px corners, the current page on the tint; the Explore groups in
   one column, no card). ── */
[data-fs-theme='fieldnote'] .fs-hdr-mobile{background:rgb(var(--c-paper-soft))}
[data-fs-theme='fieldnote'] .fs-hdr-mobile-link:not(.is-sub){display:flex;align-items:center;min-height:44px;padding:14px 16px;border-radius:10px;font-weight:700;font-size:.95rem;line-height:1.3;color:rgb(var(--c-ink-950))}
[data-fs-theme='fieldnote'] .fs-hdr-mobile-link.fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false']){color:var(--fnc-link);background:var(--fnc-tint)}
[data-fs-theme='fieldnote'] .fs-hdr-mobile .fs-fnm-panel{background:transparent;border:0;box-shadow:none}
[data-fs-theme='fieldnote'] .fs-hdr-mobile .fs-fnm-in{grid-template-columns:minmax(0,1fr);gap:10px;padding:4px 4px 8px 10px}
[data-fs-theme='fieldnote'] .fs-hdr-mobile .fs-fnm-feat{display:none}
[data-fs-theme='fieldnote'] .fs-hdr-mobile .fs-fnd-drop{min-width:0;padding:2px 2px 6px 12px;background:transparent;border:0;box-shadow:none}
/* The phone menu's foot (phone-menu-foot.tsx FieldnoteFoot): the
   Subscribe button, full width. */
[data-fs-theme='fieldnote'] .fs-pmf-fieldnote{display:grid;gap:10px;margin:20px 0 16px;padding-top:16px;border-top:1px solid rgb(var(--c-line))}
[data-fs-theme='fieldnote'] .fs-pmf-fieldnote .fs-hdr-cta.fs-pmf-cta{position:relative;overflow:hidden;display:flex;min-height:44px;width:100%;justify-content:center;margin:0}

/* The source's html[data-layout=…] rules for the masthead (Task 9, P40):
   minimal draws the edition line's top rule in ink and no light sweep on
   Subscribe; centred centres the edition line; boxed drops the tagline
   and tightens the nav items. */
[data-fs-theme='fieldnote'][data-fs-layout='minimal'] .fs-fnh-edn{border-top-color:rgb(var(--c-ink-950))}
[data-fs-theme='fieldnote'][data-fs-layout='minimal'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta::after{display:none}
[data-fs-theme='fieldnote'][data-fs-layout='centered'] .fs-fnh-edn-in{justify-content:center}
[data-fs-theme='fieldnote'][data-fs-layout='centered'] .fs-fnh-mid{margin-inline:0;flex:0 1 auto}
[data-fs-theme='fieldnote'][data-fs-layout='boxed'] .fs-fnh-mid{display:none}

/* Subscribe takes the source's .btn press ripple and light sweep (the
   ripple's look is the block sheet's .fs-fn-ripple). */
[data-fs-theme='fieldnote'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{position:relative;overflow:hidden}
[data-fs-theme='fieldnote'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta::after{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(100deg,transparent,color-mix(in srgb,var(--fs-on-brand) 40%,transparent),transparent);transform:skewX(-20deg);pointer-events:none}
@media (hover:hover){
  [data-fs-theme='fieldnote'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta:hover::after{left:140%}
}

/* ══ motion (the source's own; port Task 9) ════════════════════════════
   Gated on the theme scope's data-fs-motion (siteShell puts both on the
   one wrapper), a no-preference reduced-motion setting and, for a hover
   movement, (hover:hover); each effect reads its --fs-anim-<id> switch;
   travel x --fs-motion-dist, time x --fs-anim-speed; backwards fill only.
   Nothing outside this block sets a transition or an animation. Subtle,
   where the source is stricter: the Explore panel and the More list only
   fade (its html[data-motion=subtle] .mm.open .mega{transform:none}). */
@keyframes fs-fnc-drop{from{opacity:0;transform:translateY(calc(var(--fnc-drop, -10px) * var(--fs-motion-dist, 1)))}to{opacity:1;transform:none}}
@media screen and (prefers-reduced-motion: no-preference){
  /* fnDrop — the Explore panel drops 10px as it fades in (.3s), the More
     list 6px (.25s); an Explore item slides 4px under the pointer (.2s) */
  [data-fs-theme='fieldnote'][data-fs-motion='on'] .fs-hdr-row .fs-fnm-panel{animation:var(--fs-anim-fnDrop, fs-fnc-drop calc(.3s * var(--fs-anim-speed, 1)) cubic-bezier(.2,.8,.2,1) backwards)}
  [data-fs-theme='fieldnote'][data-fs-motion='on'] .fs-hdr-row .fs-fnd-drop{--fnc-drop:-6px;animation:var(--fs-anim-fnDrop, fs-fnc-drop calc(.25s * var(--fs-anim-speed, 1)) cubic-bezier(.2,.8,.2,1) backwards)}
  [data-fs-theme='fieldnote'][data-fs-motion='on'][data-fs-motion-level='subtle'] .fs-hdr-row :is(.fs-fnm-panel,.fs-fnd-drop){--fnc-drop:0px}
  [data-fs-theme='fieldnote'][data-fs-motion='on'] .fs-hdr-row .fs-fnm-mi{transition:background-color .2s,transform calc(.2s * var(--fs-anim-speed, 1))}
  [data-fs-theme='fieldnote'][data-fs-motion='on'] .fs-hdr-row .fs-fnd-a{transition:background-color .2s}
  @media (hover:hover){
    [data-fs-theme='fieldnote'][data-fs-motion='on'] .fs-hdr-row a.fs-fnm-mi:hover{transform:var(--fs-anim-fnDrop, translateX(calc(4px * var(--fs-motion-dist, 1))))}
  }

  /* fnMasthead — the edition line folds away (.35s) as the row tightens
     (.3s) and the logo shrinks (.3s); the ribbon's topics give way to the
     reading line (.3s, 10px); the reading rule fills with the scroll
     (.12s linear) */
  [data-fs-theme='fieldnote'][data-fs-motion='on'] .fs-fnh-edn{transition:var(--fs-anim-fnMasthead, max-height calc(.35s * var(--fs-anim-speed, 1)) cubic-bezier(.2,.8,.2,1),opacity calc(.25s * var(--fs-anim-speed, 1)),border-width calc(.3s * var(--fs-anim-speed, 1)))}
  [data-fs-theme='fieldnote'][data-fs-motion='on'] .fs-hdr-band .fs-hdr-row{transition:var(--fs-anim-fnMasthead, padding calc(.3s * var(--fs-anim-speed, 1)) cubic-bezier(.2,.8,.2,1))}
  [data-fs-theme='fieldnote'][data-fs-motion='on'] .fs-hdr-row > :first-child img{transition:var(--fs-anim-fnMasthead, height calc(.3s * var(--fs-anim-speed, 1)) cubic-bezier(.2,.8,.2,1))}
  [data-fs-theme='fieldnote'][data-fs-motion='on'] .fs-fnh-read{transform:translateY(calc(10px * var(--fs-motion-dist, 1)))}
  [data-fs-theme='fieldnote'][data-fs-motion='on'] .fs-fnh-rib[data-reading] .fs-fnh-read{transform:none}
  [data-fs-theme='fieldnote'][data-fs-motion='on'] .fs-fnh-rib[data-reading] .fs-fnh-tabs{transform:translateY(calc(-10px * var(--fs-motion-dist, 1)))}
  [data-fs-theme='fieldnote'][data-fs-motion='on'] :is(.fs-fnh-read,.fs-fnh-tabs){transition:var(--fs-anim-fnMasthead, opacity calc(.3s * var(--fs-anim-speed, 1)) cubic-bezier(.2,.8,.2,1),transform calc(.3s * var(--fs-anim-speed, 1)) cubic-bezier(.2,.8,.2,1),visibility calc(.3s * var(--fs-anim-speed, 1)))}
  [data-fs-theme='fieldnote'][data-fs-motion='on'] .fs-fnh-prog{transition:opacity calc(.3s * var(--fs-anim-speed, 1))}
  [data-fs-theme='fieldnote'][data-fs-motion='on'] .fs-fnh-prog-i{transition:var(--fs-anim-fnMeters, width calc(.12s * var(--fs-anim-speed, 1)) linear)}

  /* fnLift — Subscribe rises 2px and the light sweeps across (.8s), as
     the source's .btn */
  [data-fs-theme='fieldnote'][data-fs-motion='on'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{transition:transform calc(.25s * var(--fs-anim-speed, 1)) cubic-bezier(.2,.8,.2,1),box-shadow .25s,background-color .25s}
  [data-fs-theme='fieldnote'][data-fs-motion='on'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta::after{transition:var(--fs-anim-fnLift, left calc(.8s * var(--fs-anim-speed, 1)) cubic-bezier(.2,.8,.2,1))}
  @media (hover:hover){
    [data-fs-theme='fieldnote'][data-fs-motion='on'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta:hover{transform:var(--fs-anim-fnLift, translateY(calc(-2px * var(--fs-motion-dist, 1))))}
    [data-fs-theme='fieldnote'][data-fs-motion='on'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta:hover:active{transform:none}
  }

  /* colour changes ease (.2s), as the source's */
  [data-fs-theme='fieldnote'][data-fs-motion='on'] :is(.fs-fnh-hs,.fs-fnh-rt,.fs-fnh-end a){transition:background-color .2s,color .2s,border-color .2s,text-decoration-color .2s}
}


/* Tokens. The light set is the derived Daybreak palette; the dark set is the
   source's (the sky never mounts in light). --fs-header-h: the band's height
   until the composite measures it. */
[data-fs-theme='emberfall']{--fs-chrome-mode:light;--fs-header-h:81px;--fs-emc-glass:rgb(var(--c-paper) / .78);--fs-emc-glass-m:rgb(var(--c-paper) / .94);--fs-emc-line:rgb(var(--c-ink-950) / .1);--fs-emc-title:rgb(var(--c-ink-950));--fs-emc-menu:rgb(var(--c-ink-950) / .8);--fs-emc-ghost:rgb(var(--c-ink-950) / .04);--fs-emc-overlay:rgb(var(--c-paper) / .94);--fs-emc-accent:hsl(var(--fs-emf-hue) 90% 34%);--fs-emc-line-glow:none;--fs-emc-text-glow:none;--fs-emc-mark-glow:none;--fs-emc-fill:rgb(11 11 23);--fs-emc-white:rgb(255 255 255);--fs-emc-black:rgb(0 0 0);--fs-emc-rgb-1:rgb(255 45 85);--fs-emc-rgb-2:rgb(255 176 46);--fs-emc-rgb-3:rgb(45 255 143);--fs-emc-rgb-4:rgb(45 140 255);--fs-emc-rgb-5:rgb(176 45 255)}
[data-fs-theme='emberfall'].dark{--fs-chrome-mode:dark;--fs-emc-glass:rgb(4 4 12 / .55);--fs-emc-glass-m:rgb(4 4 12 / .88);--fs-emc-line:rgb(255 255 255 / .09);--fs-emc-title:rgb(255 255 255);--fs-emc-menu:rgb(207 203 224);--fs-emc-ghost:rgb(255 255 255 / .04);--fs-emc-overlay:rgb(3 3 10 / .86);--fs-emc-accent:hsl(var(--fs-emf-hue) 100% 68%);--fs-emc-line-glow:0 0 8px hsl(var(--fs-emf-hue) 100% 68%),0 0 18px hsl(var(--fs-emf-hue) 100% 68%);--fs-emc-text-glow:0 0 6px hsl(var(--fs-emf-hue) 100% 78% / .95),0 0 18px hsl(var(--fs-emf-hue) 100% 62% / .75),0 0 40px hsl(var(--fs-emf-hue) 100% 55% / .45);--fs-emc-mark-glow:drop-shadow(0 0 6px hsl(var(--fs-emf-hue) 100% 68%)) drop-shadow(0 0 14px hsl(var(--fs-emf-hue) 100% 68%))}

/* The band: sticky as ever, z 50 (the source's), transparent, and it gives
   its height back so the hero starts at the top of the page like the
   export. A size container (fs-emf-band) for the source's 860px rule. */
[data-fs-theme='emberfall'] .fs-hdr-band{container-type:inline-size;container-name:fs-emf-band;z-index:50;margin-bottom:calc(-1 * var(--fs-header-h));background:transparent;border-bottom:0}
/* The row: the 1200px wrap kept by its inline padding (min(1200px, 100% -
   32px)), 80px tall under the 1px line the glass state shows, 34px gaps. */
[data-fs-theme='emberfall'] .fs-hdr-band .fs-hdr-row{position:relative;box-sizing:border-box;max-width:none !important;height:81px;padding:0;padding-inline:max(16px,calc((100% - min(1200px,100% - 32px)) / 2));gap:34px;justify-content:flex-start;border-bottom:1px solid transparent;background:transparent}
[data-fs-theme='emberfall'] .fs-hdr-band[data-fs-emf-scrolled] .fs-hdr-row{background:var(--fs-emc-glass);border-bottom-color:var(--fs-emc-line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
@container fs-emf-band (max-width: 860px){
  [data-fs-theme='emberfall'] .fs-hdr-band[data-fs-emf-scrolled] .fs-hdr-row{background:var(--fs-emc-glass-m);-webkit-backdrop-filter:none;backdrop-filter:none}
}

/* ── The skip link (.skip): white pill, off screen until focused ── */
[data-fs-theme='emberfall'] :is(.fs-hdr-composite,.fs-emfh){display:contents}
[data-fs-theme='emberfall'] .fs-emfh-skip{position:absolute;left:-999px;top:10px;z-index:100;padding:10px 16px;border-radius:10px;background:var(--fs-emc-white);color:var(--fs-emc-black);font-family:var(--font-sans,'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif);font-size:1.02rem;font-weight:400;line-height:1.7;text-decoration:none}
[data-fs-theme='emberfall'] .fs-emfh-skip:focus{left:10px}
/* The editor canvas wraps the composite in a group of its own; with nothing
   else in it that group would add a second 34px gap. */
[data-fs-theme='emberfall'] .fs-hdr-row > div:has(> .fs-hdr-composite:only-child){display:contents}

/* ── The lockup (.brand): 28px mark, 12px, Cinzel 600 18.4px, .32em, white
   (the header type is themeDefaults'). Hovered, the mark glows in the sky's
   colour and turns a quarter-and-a-half (45deg). ── */
[data-fs-theme='emberfall'] .fs-hdr-row > :first-child{flex:none;margin-right:auto;gap:12px;align-items:center}
[data-fs-theme='emberfall'] .fs-hdr-row [data-fs-logo-mark]{width:28px;height:28px;color:var(--fs-emc-title)}
[data-fs-theme='emberfall'] .fs-hdr-row [data-fs-wordmark]{color:var(--fs-emc-title) !important;text-transform:uppercase;line-height:normal !important}
[data-fs-theme='emberfall'] .fs-hdr-row > :first-child:is(:hover,:focus-visible) [data-fs-logo-mark]{filter:var(--fs-emc-mark-glow)}
[data-fs-theme='emberfall'] .fs-hdr-row > nav{flex:0 1 auto}

/* Touch area (owner-accepted, no visible change): the lockup link keeps its drawn size and gets an invisible 44px target on phones. */
@container fs-emf-band (max-width: 860px){
  [data-fs-theme='emberfall'] .fs-hdr-row > a:first-child{position:relative}
  [data-fs-theme='emberfall'] .fs-hdr-row > a:first-child::before{content:'';position:absolute;left:50%;top:50%;width:max(100%,44px);height:44px;transform:translate(-50%,-50%)}
}

/* ── The right-hand group: a phone when the customer adds one, and the
   "Get tickets" pill (.btn.btn-glow.btn-sm: 1.5px border that is a spinning
   rainbow over the dark fill; size and padding are themeDefaults'
   headerCta*). ── */
[data-fs-theme='emberfall'] .fs-hdr-row .fs-hdr-phone{color:var(--fs-emc-menu);font-weight:600;white-space:nowrap}
[data-fs-theme='emberfall'] .fs-hdr-cta.fs-hdr-cta{box-sizing:border-box;border:1.5px solid transparent;background:linear-gradient(var(--fs-emc-fill),var(--fs-emc-fill)) padding-box,conic-gradient(from var(--fs-emf-angle,0deg),var(--fs-emc-rgb-1),var(--fs-emc-rgb-2),var(--fs-emc-rgb-3),var(--fs-emc-rgb-4),var(--fs-emc-rgb-5),var(--fs-emc-rgb-1)) border-box;color:var(--fs-emc-white);font-weight:700;line-height:normal;min-height:0;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;box-shadow:0 0 20px rgb(255 255 255 / .06);gap:.6em}
[data-fs-theme='emberfall'] .fs-hdr-cta.fs-hdr-cta:hover{border-color:transparent;box-shadow:0 0 26px hsl(var(--fs-emf-hue) 100% 60% / .6),0 0 70px hsl(var(--fs-emf-hue) 100% 55% / .28)}

/* ── The burger (.menu-btn): 46px circle, a hairline, two 18 x 1.5px bars
   (::before and ::after, real boxes) in place of the platform's icon. ── */
[data-fs-theme='emberfall'] .fs-hdr-row .fs-hdr-menu-btn{box-sizing:border-box;position:relative;z-index:2;width:46px;height:46px;min-width:46px;min-height:46px;padding:0;border:1px solid var(--fs-emc-line);border-radius:50%;background:var(--fs-emc-ghost);color:var(--fs-emc-title);flex-direction:column;gap:6px}
[data-fs-theme='emberfall'] .fs-hdr-row .fs-hdr-menu-btn svg{display:none}
[data-fs-theme='emberfall'] .fs-hdr-row .fs-hdr-menu-btn::before,[data-fs-theme='emberfall'] .fs-hdr-row .fs-hdr-menu-btn::after{content:"";display:block;flex:none;width:18px;height:1.5px;background:currentColor}

/* The template preview alone: its Edit Template link is on no real site; on
   a phone it gives way to its icon so the row still holds the lockup and
   the burger. */
@container fs-emf-band (max-width: 30rem){
  [data-fs-theme='emberfall'] .fs-hdr-row [data-fs-preview-edit]{gap:0;font-size:0}
}

/* The focus ring (the source's :focus-visible). */
[data-fs-theme='emberfall'] :is(.fs-hdr-band,.fs-hdr-mobile) :focus-visible{outline:2px solid var(--fs-emc-accent);outline-offset:3px;border-radius:6px}

/* ── The sections' landing: the source's html{scroll-padding-top:90px} under
   an 81px band is 9px of air; the band's height is whatever the composite
   measured, so every anchored section wrapper keeps the band's height + 9px
   (exactly 90px on the export's band). #main (the hero) and #top (the
   page-top marker) land at the very top. ── */
[data-fs-theme='emberfall'] [id][style*='scroll-margin-top']{scroll-margin-top:calc(var(--fs-header-h, 4.25rem) + 9px) !important}
[data-fs-theme='emberfall'] :is([id='top'],[id='main'])[style*='scroll-margin-top']{scroll-margin-top:0 !important}

/* ── The phone menu (the source's .menu.open under 860px: a fixed 86% black
   overlay with a 20px blur, the words centred and stacked 30px apart at
   1rem, the pill last). The platform's panel has its own head: it floats at
   the top as the same 80px row, its close button is the burger's circle in
   the burger's place, and its title is read aloud only. ── */
[data-fs-theme='emberfall'] .fs-hdr-mobile{background-color:var(--fs-emc-overlay) !important;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:var(--fs-emc-title)}
[data-fs-theme='emberfall'] .fs-hdr-mobile-head{position:absolute;top:0;left:0;right:0;z-index:2;height:80px;padding:0 16px;border:0;background:transparent;justify-content:flex-end}
[data-fs-theme='emberfall'] .fs-hdr-mobile-title{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
[data-fs-theme='emberfall'] .fs-hdr-mobile-close{box-sizing:border-box;position:relative;width:46px;height:46px;padding:0;border:1px solid var(--fs-emc-line);border-radius:50%;background:var(--fs-emc-ghost);color:var(--fs-emc-title)}
[data-fs-theme='emberfall'] .fs-hdr-mobile-close svg{display:none}
[data-fs-theme='emberfall'] .fs-hdr-mobile-close::before,[data-fs-theme='emberfall'] .fs-hdr-mobile-close::after{content:"";position:absolute;left:50%;top:50%;width:18px;height:1.5px;margin:-.75px 0 0 -9px;background:currentColor;transform:rotate(45deg)}
[data-fs-theme='emberfall'] .fs-hdr-mobile-close::after{transform:rotate(-45deg)}
[data-fs-theme='emberfall'] .fs-hdr-mobile nav{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;padding:0;overflow-y:auto}
[data-fs-theme='emberfall'] .fs-hdr-mobile-list{display:flex;flex-direction:column;align-items:center;gap:30px;margin:0;padding:0;list-style:none}
[data-fs-theme='emberfall'] .fs-hdr-mobile-link:not(.is-sub){position:relative;display:block;padding:6px 0;font-family:var(--font-sans,'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif);font-size:1rem;font-weight:600;line-height:normal;letter-spacing:.22em;text-transform:uppercase;white-space:nowrap;color:var(--fs-emc-menu);text-decoration:none}
[data-fs-theme='emberfall'] .fs-hdr-mobile-link:not(.is-sub):is(:hover,:focus-visible){color:var(--fs-emc-title);text-shadow:var(--fs-emc-text-glow)}
[data-fs-theme='emberfall'] .fs-hdr-mobile-link:not(.is-sub)::after{content:"";position:absolute;left:50%;right:50%;bottom:-4px;height:2px;border-radius:2px;background:var(--fs-emc-accent);box-shadow:var(--fs-emc-line-glow);opacity:0;pointer-events:none}
[data-fs-theme='emberfall'] .fs-hdr-mobile-link:not(.is-sub):is(:hover,:focus-visible)::after{left:0;right:0;opacity:1}
/* The foot (phone-menu-foot.tsx EmberfallFoot): the pill, last. */
[data-fs-theme='emberfall'] .fs-pmf-emberfall{display:grid;justify-items:center;margin:0}

/* ── Motion (port Task 9) ──────────────────────────────────────
   The glass, the mark's glow and turn, the pill's glow: the same gates as
   emberfall-styles.ts (the theme scope carries data-fs-motion, reduced
   motion wins, Off and the editor canvas stay still), times x
   --fs-anim-speed. */
@media screen and (prefers-reduced-motion: no-preference){
  [data-fs-theme='emberfall'][data-fs-motion='on'] .fs-hdr-band .fs-hdr-row{transition:background calc(.5s * var(--fs-anim-speed, 1)),border-color calc(.5s * var(--fs-anim-speed, 1)),backdrop-filter calc(.5s * var(--fs-anim-speed, 1)),-webkit-backdrop-filter calc(.5s * var(--fs-anim-speed, 1))}
  [data-fs-theme='emberfall'][data-fs-motion='on'] .fs-hdr-row [data-fs-logo-mark]{transition:filter calc(.3s * var(--fs-anim-speed, 1)),transform calc(.6s * var(--fs-anim-speed, 1))}
  [data-fs-theme='emberfall'][data-fs-motion='on'] .fs-hdr-row > :first-child:is(:hover,:focus-visible) [data-fs-logo-mark]{transform:rotate(calc(45deg * var(--fs-motion-dist, 1)))}
  [data-fs-theme='emberfall'][data-fs-motion='on'] .fs-hdr-cta.fs-hdr-cta{transition:var(--fs-anim-emfBtn, box-shadow calc(.4s * var(--fs-anim-speed, 1)),transform calc(.4s * var(--fs-anim-speed, 1)),background calc(.4s * var(--fs-anim-speed, 1)),border-color calc(.4s * var(--fs-anim-speed, 1)))}
  [data-fs-theme='emberfall'][data-fs-motion='on'] .fs-hdr-cta.fs-hdr-cta:hover{transform:var(--fs-anim-emfBtn, translateY(calc(-2px * var(--fs-motion-dist, 1))))}
  /* emfSpin: the pill's rainbow border turns (4s, the registered --fs-emf-angle from emberfall-styles.ts) */
  [data-fs-theme='emberfall'][data-fs-motion='on'] .fs-hdr-cta.fs-hdr-cta{animation:var(--fs-anim-emfSpin, fs-emf-spin calc(4s * var(--fs-anim-speed, 1)) linear infinite)}
  [data-fs-theme='emberfall'][data-fs-motion='on'][data-fs-motion-level='subtle'] .fs-hdr-cta.fs-hdr-cta{animation:none}
  /* emfMenu: the phone menu's overlay fades in (.4s), the close button's two bars cross out of the burger's (.3s). The dialog is drawn only while open, so it has an entrance and no exit. */
  [data-fs-theme='emberfall'][data-fs-motion='on'] .fs-hdr-mobile{animation:var(--fs-anim-emfMenu, fs-emc-menu-in calc(.4s * var(--fs-anim-speed, 1)) ease backwards)}
  [data-fs-theme='emberfall'][data-fs-motion='on'] .fs-hdr-mobile-close::before{animation:var(--fs-anim-emfMenu, fs-emc-cross-a calc(.3s * var(--fs-anim-speed, 1)) ease backwards)}
  [data-fs-theme='emberfall'][data-fs-motion='on'] .fs-hdr-mobile-close::after{animation:var(--fs-anim-emfMenu, fs-emc-cross-b calc(.3s * var(--fs-anim-speed, 1)) ease backwards)}
  [data-fs-theme='emberfall'][data-fs-motion='on'] .fs-hdr-mobile-link:not(.is-sub){transition:color calc(.3s * var(--fs-anim-speed, 1)),text-shadow calc(.3s * var(--fs-anim-speed, 1))}
  [data-fs-theme='emberfall'][data-fs-motion='on'] .fs-hdr-mobile-link:not(.is-sub)::after{transition:left calc(.35s * var(--fs-anim-speed, 1)) ease,right calc(.35s * var(--fs-anim-speed, 1)) ease,opacity calc(.35s * var(--fs-anim-speed, 1))}
}
@keyframes fs-emc-menu-in{from{opacity:0}}
@keyframes fs-emc-cross-a{from{transform:translateY(calc(-3.75px * var(--fs-motion-dist, 1))) rotate(calc(45deg - 45deg * var(--fs-motion-dist, 1)))}}
@keyframes fs-emc-cross-b{from{transform:translateY(calc(3.75px * var(--fs-motion-dist, 1))) rotate(calc(-45deg + 45deg * var(--fs-motion-dist, 1)))}}


/* Tokens. The yellow and the ink are the source's fixed constants (they do
   not follow the mode), kept as channels so no colour literal sits in a rule;
   --fs-header-h is the tab bar's 2 + 64 + 2px until the composite measures
   it; --lthc-room is the masthead's height (0 until measured). */
[data-fs-theme='loosethreads']{--fs-chrome-mode:light;--fs-header-h:68px;--lthc-room:0px;--lthc-max:var(--fs-layout-max,var(--fs-shell-max,1240px));--lthc-yellow:255 210 63;--lthc-ink:20 20 20;--lthc-shade:0 0 0;--lthc-grain:.09;--lthc-invert:none;--lthc-hair:rgb(var(--c-ink-950) / .14);--lthc-display:var(--font-display,'Bricolage Grotesque',Arial,system-ui,sans-serif);--lthc-serif:var(--font-sans,'Newsreader',Georgia,serif);--lthc-mono:var(--font-mono,'IBM Plex Mono',ui-monospace,Consolas,monospace)}
[data-fs-theme='loosethreads'].dark{--fs-chrome-mode:dark;--lthc-grain:.05;--lthc-invert:invert(1);--lthc-hair:rgb(var(--c-ink-950) / .16)}

/* The riso grain over everything (body::before): fixed, never in the way of a
   click, under the platform's overlays (z 998+). */
[data-fs-theme='loosethreads']::before{content:"";position:fixed;inset:0;z-index:90;pointer-events:none;opacity:var(--lthc-grain);filter:var(--lthc-invert);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}

/* ── The band: the page colour, the 2px line under the tab bar, a size
   container for the source's breakpoints. It sticks at minus the masthead,
   so only the tab bar stays. ── */
[data-fs-theme='loosethreads'] .fs-hdr-band{container-type:inline-size;container-name:fs-lthh;box-sizing:border-box;background:rgb(var(--c-paper));border-bottom:2px solid rgb(var(--c-line));z-index:50}
[data-fs-theme='loosethreads'] .fs-hdr-band:not([data-fs-sticky='on']){position:relative}
[data-fs-theme='loosethreads'] .fs-hdr-band[data-fs-sticky='on']{top:calc(-1 * var(--lthc-room, 0px))}
[data-fs-theme='loosethreads'] .fs-hdr-band[data-lthh-stuck]{box-shadow:0 10px 24px -18px rgb(var(--lthc-shade) / .45)}

/* ── The row: the band's full width with the wrap kept by its padding (the
   source's .wrap, min(1240px, 100% - 32px)), flex-wrap so the masthead is the
   first line and the tab bar the second. Released from the platform's own
   container (container-type:normal) so cqw reads the band. ── */
[data-fs-theme='loosethreads'] .fs-hdr-band .fs-hdr-row{container-type:normal;box-sizing:border-box;max-width:none !important;margin:0;padding:0;padding-inline:max(16px,calc((100% - var(--lthc-max)) / 2));display:flex;flex-wrap:wrap;align-items:center;align-content:flex-start;justify-content:flex-start;gap:0 8px;font:400 1.05rem/1.6 var(--lthc-display);color:rgb(var(--c-ink-950))}
/* The platform's own pieces become the row's items (their wrappers stand
   aside), in the source's order. */
[data-fs-theme='loosethreads'] .fs-hdr-row > div:has(> .fs-hdr-composite),[data-fs-theme='loosethreads'] .fs-hdr-row .fs-hdr-contact{display:contents}
[data-fs-theme='loosethreads'] :is(.fs-hdr-composite,.fs-lthh){display:contents}
/* The platform's brand and phone are not this design's. */
[data-fs-theme='loosethreads'] .fs-hdr-row > :first-child:not(.fs-lthh-stack){display:none}
[data-fs-theme='loosethreads'] .fs-hdr-row .fs-hdr-phone,[data-fs-theme='loosethreads'] .fs-hdr-row .fs-hdr-aside-note{display:none}

/* ── Line 1: the ticker and the masthead (normal flow) ── */
[data-fs-theme='loosethreads'] .fs-lthh-stack{display:block;order:-1;flex:none;box-sizing:border-box;width:calc(100% + 2 * max(16px,calc((100cqw - var(--lthc-max)) / 2)));margin-inline:calc(-1 * max(16px,calc((100cqw - var(--lthc-max)) / 2)));border-bottom:2px solid rgb(var(--c-line));font:400 1.05rem/1.6 var(--lthc-display)}
[data-fs-theme='loosethreads'] .fs-lthh-skip{position:absolute;left:-999px;top:8px;z-index:1000;padding:8px 14px;border-radius:8px;background:rgb(var(--c-ink-950));color:rgb(var(--c-paper));font:400 1.05rem/1.6 var(--lthc-display);text-decoration:none}
[data-fs-theme='loosethreads'] .fs-lthh-skip:focus{left:8px}
[data-fs-theme='loosethreads'] .fs-lthh-ticker{box-sizing:border-box;overflow:hidden;padding:8px 0;background:rgb(var(--c-ink-950));color:rgb(var(--c-paper))}
[data-fs-theme='loosethreads'] .fs-lthh-track{display:flex;gap:26px;width:max-content;font:500 .74rem var(--lthc-mono);text-transform:uppercase;letter-spacing:.06em}
[data-fs-theme='loosethreads'] .fs-lthh-track > .fs-lthh-tk:nth-child(even){color:rgb(var(--lthc-yellow))}
[data-fs-theme='loosethreads'] .fs-lthh-mast{display:block}
[data-fs-theme='loosethreads'] .fs-lthh-wrap{box-sizing:border-box;width:min(var(--lthc-max),100% - 32px);margin-inline:auto}
[data-fs-theme='loosethreads'] .fs-lthh-topline{display:flex;justify-content:space-between;gap:16px;padding:14px 0 0;color:rgb(var(--c-ink-400));font-family:var(--lthc-mono);font-size:.78rem;letter-spacing:.02em}
[data-fs-theme='loosethreads'] .fs-lthh-brand{text-align:center;padding:14px 0 26px}
[data-fs-theme='loosethreads'] .fs-lthh-wordmark{display:inline-block;color:inherit;text-decoration:none;font:800 clamp(3.2rem,11.5cqw,8.8rem)/.86 var(--lthc-display);letter-spacing:-.055em}
[data-fs-theme='loosethreads'] .fs-lthh-word-b{margin-left:.04em;color:rgb(var(--c-brand-text,var(--c-brand-600)));font-family:var(--lthc-serif);font-style:italic;font-weight:500;letter-spacing:-.03em}
[data-fs-theme='loosethreads'] .fs-lthh-squiggle{display:block;width:min(460px,76%);height:20px;margin:8px auto 10px;overflow:visible}
[data-fs-theme='loosethreads'] .fs-lthh-squiggle path{fill:none;stroke:rgb(var(--c-accent));stroke-width:4;stroke-linecap:round;stroke-dasharray:1400;stroke-dashoffset:0}
[data-fs-theme='loosethreads'] .fs-lthh-tagline{margin:0;color:rgb(var(--c-ink-700));font:italic 400 1.18rem var(--lthc-serif)}
[data-fs-theme='loosethreads'] .fs-lthh-sent{display:block;height:1px}
[data-fs-theme='loosethreads'] [data-lthh-sample]{outline:2px dashed rgb(var(--c-ink-400) / .7);outline-offset:3px}

/* ── Line 2: the tab bar (64px). The stack's outer width is the row's, so the
   first item of line 2 (the 1px strut: it gives the line its 64px) must have a
   positive width to wrap (a zero-width item still fits beside a full line);
   the mini mark's -9px left margin takes the strut and its gap back. The
   row's 8px gap plus the margins below is the source's 14px gutter. ── */
[data-fs-theme='loosethreads'] .fs-lthh-strut{order:0;flex:none;width:1px;height:64px;margin:0;visibility:hidden}
[data-fs-theme='loosethreads'] .fs-lthh-mini{order:1;display:flex;align-items:center;justify-content:center;flex:none;box-sizing:border-box;width:0;height:40px;overflow:hidden;opacity:0;margin-left:-9px;margin-right:-8px;white-space:nowrap;border-radius:10px;background:rgb(var(--c-ink-950));color:rgb(var(--c-paper));text-decoration:none;font:800 1.1rem var(--lthc-display);letter-spacing:-.05em}
[data-fs-theme='loosethreads'] .fs-lthh-mini span{color:rgb(var(--c-accent));font-family:var(--lthc-serif);font-style:italic;font-weight:500}
[data-fs-theme='loosethreads'] .fs-hdr-band[data-lthh-stuck] .fs-lthh-mini,[data-fs-theme='loosethreads']:has(:is([data-fs-lth-block='posthead'],[data-fs-lth-block='postbody'],[data-fs-lth-block='postfoot'],[data-fs-lth-block='comments'])) .fs-lthh-mini{width:40px;opacity:1;margin-right:6px}
[data-fs-theme='loosethreads'] .fs-lthh-tabs{order:2;position:relative;box-sizing:border-box;flex:1 1 0;min-width:0;margin-right:6px;overflow-x:auto;scrollbar-width:none}
[data-fs-theme='loosethreads'] .fs-lthh-tabs::-webkit-scrollbar{display:none}
[data-fs-theme='loosethreads'] .fs-lthh-ul{position:relative;z-index:1;display:flex;gap:2px;width:max-content;margin:0;padding:0;list-style:none}
[data-fs-theme='loosethreads'] .fs-lthh-li{margin:0;padding:0;list-style:none}
[data-fs-theme='loosethreads'] .fs-lthh-tab,[data-fs-theme='loosethreads'] .fs-lthh-tab:hover{display:block;padding:.5em 1em;border-radius:999px;white-space:nowrap;color:rgb(var(--c-ink-700));text-decoration:none;font:700 .95rem var(--lthc-display)}
[data-fs-theme='loosethreads'] .fs-lthh-tab:hover{background:var(--lthc-hair);color:rgb(var(--c-ink-950))}
[data-fs-theme='loosethreads'] .fs-lthh-tabs[data-ink] .fs-lthh-tab.is-active,[data-fs-theme='loosethreads'] .fs-lthh-tabs[data-ink] .fs-lthh-tab.is-active:hover{background:transparent;color:rgb(var(--c-paper))}
[data-fs-theme='loosethreads'] .fs-lthh-ink{position:absolute;top:0;left:0;z-index:0;width:0;height:100%;border-radius:999px;background:rgb(var(--c-ink-950));box-shadow:3px 3px 0 rgb(var(--c-accent))}
[data-fs-theme='loosethreads'] .fs-lthh-saved{order:3;display:inline-flex;align-items:center;gap:6px;flex:none;box-sizing:border-box;height:40px;padding:0 12px;border:2px solid rgb(var(--c-line));border-radius:999px;background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));cursor:pointer;font:700 .88rem var(--lthc-display)}
[data-fs-theme='loosethreads'] .fs-lthh-saved svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linejoin:round}
[data-fs-theme='loosethreads'] .fs-lthh-count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:rgb(var(--lthc-yellow));color:rgb(var(--lthc-ink));font:500 .72rem var(--lthc-mono)}

/* The light/dark switch is the platform's (headerModeToggle): 40px, round,
   the card colour, the source's moon / sun in place of its icon. */
[data-fs-theme='loosethreads'] .fs-hdr-row [data-fs-mode-toggle]{order:4;display:grid;place-items:center;flex:none;box-sizing:border-box;width:40px;height:40px;min-width:0;padding:0;border:2px solid rgb(var(--c-line));border-radius:50%;background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));cursor:pointer}
[data-fs-theme='loosethreads'] .fs-hdr-row [data-fs-mode-toggle] svg{display:none}
[data-fs-theme='loosethreads'] .fs-hdr-row [data-fs-mode-toggle]::before{content:"";width:19px;height:19px;background:currentColor;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M20 14.5A8 8 0 0 1 9.5 4a8 8 0 1 0 10.5 10.5Z'/></svg>") center / contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M20 14.5A8 8 0 0 1 9.5 4a8 8 0 1 0 10.5 10.5Z'/></svg>") center / contain no-repeat}
[data-fs-theme='loosethreads'] .fs-hdr-row [data-fs-mode-toggle][aria-pressed='true']::before{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round'><circle cx='12' cy='12' r='4'/><path d='M12 2v2M12 20v2M2 12h2M20 12h2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round'><circle cx='12' cy='12' r='4'/><path d='M12 2v2M12 20v2M2 12h2M20 12h2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4'/></svg>")}
/* The platform's own hover wash on that switch has no place on a bordered disc. */
[data-fs-theme='loosethreads'] .fs-hdr-row [data-fs-mode-toggle]:hover,[data-fs-theme='loosethreads'] .fs-hdr-row [data-fs-mode-toggle]:focus-visible{background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950))}

/* "Write with us" is the platform's header button (.btn.btn-ink.btn-sm: the
   ink fill, the paper label, a 2px line, 700, the pill). Home only; from
   561px. Its size and padding are themeDefaults' headerCta*. */
[data-fs-theme='loosethreads'] .fs-hdr-row .fs-hdr-cta{order:5;--fs-hdr-cta-bg:rgb(var(--c-ink-950));--fs-hdr-cta-fg:rgb(var(--c-paper));--fs-hdr-cta-bg-hover:rgb(var(--c-ink-950));--fs-hdr-cta-fg-hover:rgb(var(--c-paper))}
[data-fs-theme='loosethreads'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{display:none;flex:none;box-sizing:border-box;min-height:0;border:2px solid rgb(var(--c-line));font-family:var(--lthc-display);font-weight:700;line-height:normal;text-decoration:none;transition:none}
[data-fs-theme='loosethreads'] [data-fs-preview-edit]{order:6}

/* Every focusable piece wears the source's pink ring. */
[data-fs-theme='loosethreads'] .fs-lthh :focus-visible,[data-fs-theme='loosethreads'] .fs-hdr-row [data-fs-mode-toggle]:focus-visible,[data-fs-theme='loosethreads'] .fs-hdr-row .fs-hdr-cta:focus-visible{outline:3px solid rgb(var(--c-accent));outline-offset:3px}

/* ── The story page: the tab bar alone, "The feed" marked, no button ── */
[data-fs-theme='loosethreads']:has(:is([data-fs-lth-block='posthead'],[data-fs-lth-block='postbody'],[data-fs-lth-block='postfoot'],[data-fs-lth-block='comments'])) :is(.fs-lthh-ticker,.fs-lthh-mast,.fs-lthh-sent){display:none}
[data-fs-theme='loosethreads']:has(:is([data-fs-lth-block='posthead'],[data-fs-lth-block='postbody'],[data-fs-lth-block='postfoot'],[data-fs-lth-block='comments'])) .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{display:none}

/* ── The reading-progress bar (story page): 4px, pink to yellow, over the
   tab bar; width written by the composite as the article scrolls. ── */
[data-fs-theme='loosethreads'] .fs-lthh-prog{position:absolute;top:0;left:0;right:0;z-index:60;height:4px;pointer-events:none}
[data-fs-theme='loosethreads'] .fs-lthh-prog-i{display:block;width:0;height:100%;background:linear-gradient(90deg,rgb(var(--c-accent)),rgb(var(--lthc-yellow)))}

/* ── Back to top (home): 48px, yellow, the hard shadow; a child of the scope,
   not of the band, so nothing contains its fixed box. ── */
[data-fs-theme='loosethreads'] .fs-lthh-top{position:fixed;right:20px;bottom:20px;z-index:60;box-sizing:border-box;width:48px;height:48px;padding:0;border:2px solid rgb(var(--lthc-ink));border-radius:50%;background:rgb(var(--lthc-yellow));color:rgb(var(--lthc-ink));box-shadow:3px 3px 0 rgb(var(--lthc-ink));cursor:pointer;font:800 1.2rem var(--lthc-display)}
[data-fs-theme='loosethreads'] .fs-lthh-top[hidden]{display:none !important}
[data-fs-theme='loosethreads'] .fs-lthh-top:focus-visible{outline:3px solid rgb(var(--c-accent));outline-offset:3px}

/* ── From 561px the button shows (home only); under it the source narrows
   the row (its 560px breakpoint, read on the band's own width). ── */
@container fs-lthh (min-width: 561px){
  [data-fs-theme='loosethreads'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{display:inline-flex;align-items:center;justify-content:center}
  [data-fs-theme='loosethreads']:has(:is([data-fs-lth-block='posthead'],[data-fs-lth-block='postbody'],[data-fs-lth-block='postfoot'],[data-fs-lth-block='comments'])) .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{display:none}
}
/* Touch area (owner-accepted, no visible change): the tabs keep their drawn size and get an invisible 44px target on phones. */
@container fs-lthh (max-width: 560px){
  [data-fs-theme='loosethreads'] .fs-lthh-tabs{padding-block:6.3px;margin-block:-6.3px}
  [data-fs-theme='loosethreads'] .fs-lthh-tab{position:relative}
  [data-fs-theme='loosethreads'] .fs-lthh-tab::before{content:'';position:absolute;left:50%;top:50%;width:max(100%,44px);height:44px;transform:translate(-50%,-50%)}
}
@container fs-lthh (max-width: 560px){
  [data-fs-theme='loosethreads'] .fs-lthh-counts,[data-fs-theme='loosethreads'] .fs-lthh-saved-l{display:none !important}
  [data-fs-theme='loosethreads'] .fs-lthh-topline{justify-content:center}
  [data-fs-theme='loosethreads'] .fs-lthh-tab,[data-fs-theme='loosethreads'] .fs-lthh-tab:hover{padding:.5em .8em;font-size:.9rem}
  [data-fs-theme='loosethreads'] .fs-lthh-saved{padding:0 9px}
  [data-fs-theme='loosethreads'] .fs-lthh-tabs{margin-right:0}
  [data-fs-theme='loosethreads'] .fs-hdr-band[data-lthh-stuck] .fs-lthh-mini,[data-fs-theme='loosethreads']:has(:is([data-fs-lth-block='posthead'],[data-fs-lth-block='postbody'],[data-fs-lth-block='postfoot'],[data-fs-lth-block='comments'])) .fs-lthh-mini{margin-right:0}
  [data-fs-theme='loosethreads'] [data-fs-preview-edit]{gap:0;font-size:0}
}

/* ── The sections' landing: the source's html{scroll-padding-top:84px} under
   a 68px tab bar is 16px of air; the platform's header is whatever the
   composite measured, so every anchored wrapper keeps its header height +
   16px. The page-top marker (#top, under the header) lands the same, so the
   first section starts where the source's does. ── */
[data-fs-theme='loosethreads'] [id][style*='scroll-margin-top']{scroll-margin-top:calc(var(--fs-header-h, 4.25rem) + 16px) !important}
[data-fs-theme='loosethreads'] #top{scroll-margin-top:calc(var(--fs-header-h, 4.25rem) + 16px)}

/* ── Motion (port Tasks 8 + 9): the ink slides, the mini mark grows, the
   ticker runs, the squiggle sews itself in, the Saved pill lifts and its
   count bumps, the header button lifts, the back-to-top button fades in, the
   page colours cross-fade. Gated like every effect here: Motion On, no
   reduced-motion request, distances x --fs-motion-dist, durations x
   --fs-anim-speed, one switch each (lthInk, lthMini, lthTicker, lthSew,
   lthLift, lthBump, lthPress, lthEnter, lthTheme); Off and the editor canvas
   stay still, and with no script every piece is at rest (backwards fills
   only, no keyframe 'to' that differs from the resting style). ── */
@keyframes fs-lthh-ticker{to{transform:translateX(-50%)}}
@keyframes fs-lthh-sew{from{stroke-dashoffset:1400}}
@keyframes fs-lthh-bump{40%{transform:scale(calc(1 + .4 * var(--fs-motion-dist, 1)))}}
@keyframes fs-lthh-enter{from{opacity:0;transform:translateY(calc(10px * var(--fs-motion-dist, 1))) scale(calc(1 - .02 * var(--fs-motion-dist, 1)))}}
[data-fs-theme='loosethreads']:not([data-fs-motion='on']) :is(.fs-lthh-ink,.fs-lthh-mini,.fs-lthh-tab,.fs-hdr-band,.fs-lthh-saved,.fs-hdr-cta,.fs-lthh-top){transition:none}
[data-fs-theme='loosethreads']:not([data-fs-motion='on']) :is(.fs-lthh-track,.fs-lthh-squiggle path,.fs-lthh-count,.fs-lthh-top){animation:none}
@media (prefers-reduced-motion: reduce){
  [data-fs-theme='loosethreads'] :is(.fs-lthh-ink,.fs-lthh-mini,.fs-lthh-tab,.fs-hdr-band,.fs-lthh-saved,.fs-hdr-cta,.fs-lthh-top){transition:none}
  [data-fs-theme='loosethreads'] :is(.fs-lthh-track,.fs-lthh-squiggle path,.fs-lthh-count,.fs-lthh-top){animation:none}
}
@media screen and (prefers-reduced-motion: no-preference){
  [data-fs-theme='loosethreads'][data-fs-motion='on'] .fs-lthh-ink{transition:var(--fs-anim-lthInk, transform calc(.4s * var(--fs-anim-speed, 1)) cubic-bezier(.2,.8,.2,1), width calc(.4s * var(--fs-anim-speed, 1)) cubic-bezier(.2,.8,.2,1))}
  [data-fs-theme='loosethreads'][data-fs-motion='on'] .fs-lthh-tab{transition:color calc(.25s * var(--fs-anim-speed, 1)), background calc(.2s * var(--fs-anim-speed, 1))}
  [data-fs-theme='loosethreads'][data-fs-motion='on'] .fs-lthh-mini{transition:var(--fs-anim-lthMini, width calc(.35s * var(--fs-anim-speed, 1)) cubic-bezier(.2,.8,.2,1), opacity calc(.3s * var(--fs-anim-speed, 1)), margin calc(.35s * var(--fs-anim-speed, 1)))}
  [data-fs-theme='loosethreads'][data-fs-motion='on'] .fs-hdr-band{transition:var(--fs-anim-lthMini, box-shadow calc(.3s * var(--fs-anim-speed, 1)), background calc(.3s * var(--fs-anim-speed, 1)))}
  /* lthTicker - the marquee: the track is drawn twice, so -50% is a seamless loop; it stops under the pointer */
  [data-fs-theme='loosethreads'][data-fs-motion='on'] .fs-lthh-track{animation:var(--fs-anim-lthTicker, fs-lthh-ticker calc(50s * var(--fs-anim-speed, 1)) linear infinite)}
  [data-fs-theme='loosethreads'][data-fs-motion='on'] .fs-lthh-ticker:hover .fs-lthh-track{animation-play-state:paused}
  /* lthSew - the squiggle draws itself under the wordmark (2.4s after .2s) */
  [data-fs-theme='loosethreads'][data-fs-motion='on'] .fs-lthh-squiggle path{animation:var(--fs-anim-lthSew, fs-lthh-sew calc(2.4s * var(--fs-anim-speed, 1)) ease calc(.2s * var(--fs-anim-speed, 1)) backwards)}
  /* lthLift - the Saved pill rises 2px; lthBump - its count swells (.45s) */
  [data-fs-theme='loosethreads'][data-fs-motion='on'] .fs-lthh-saved{transition:var(--fs-anim-lthLift, transform calc(.15s * var(--fs-anim-speed, 1)) ease)}
  [data-fs-theme='loosethreads'][data-fs-motion='on'] .fs-lthh-saved:hover{transform:var(--fs-anim-lthLift, translateY(calc(-2px * var(--fs-motion-dist, 1))))}
  [data-fs-theme='loosethreads'][data-fs-motion='on'] .fs-lthh-count[data-bump]{animation:var(--fs-anim-lthBump, fs-lthh-bump calc(.45s * var(--fs-anim-speed, 1)) ease backwards)}
  /* lthPress - "Write with us" lifts on hover and presses in; the back-to-top button lifts (it has no transition in the source) */
  [data-fs-theme='loosethreads'][data-fs-motion='on'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta{transition:var(--fs-anim-lthPress, transform calc(.15s * var(--fs-anim-speed, 1)) ease, box-shadow calc(.15s * var(--fs-anim-speed, 1)) ease)}
  [data-fs-theme='loosethreads'][data-fs-motion='on'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta:hover{transform:var(--fs-anim-lthPress, translate(calc(-2px * var(--fs-motion-dist, 1)), calc(-2px * var(--fs-motion-dist, 1))));box-shadow:var(--fs-anim-lthPress, 3px 3px 0 rgb(var(--c-line)))}
  [data-fs-theme='loosethreads'][data-fs-motion='on'] .fs-hdr-row .fs-hdr-cta.fs-hdr-cta:active{transform:var(--fs-anim-lthPress, none);box-shadow:none}
  [data-fs-theme='loosethreads'][data-fs-motion='on'] .fs-lthh-top:hover{transform:var(--fs-anim-lthPress, translate(calc(-2px * var(--fs-motion-dist, 1)), calc(-2px * var(--fs-motion-dist, 1))));box-shadow:var(--fs-anim-lthPress, 5px 5px 0 rgb(var(--lthc-ink)))}
  /* lthEnter - the back-to-top button fades up each time it appears (.3s) */
  [data-fs-theme='loosethreads'][data-fs-motion='on'] .fs-lthh-top{animation:var(--fs-anim-lthEnter, fs-lthh-enter calc(.3s * var(--fs-anim-speed, 1)) ease backwards)}
  /* lthTheme - light / dark: the page colour and the text fade (the source's body; here the surface that paints the page, .3s) */
  [data-fs-theme='loosethreads'][data-fs-motion='on'] [data-fs-layout-surface]{transition:var(--fs-anim-lthTheme, background-color calc(.3s * var(--fs-anim-speed, 1)), color calc(.3s * var(--fs-anim-speed, 1)))}
}


/* Tokens. --nnc-tint: the source's --tint (the brand 8% into the
   surface); --nnc-shadow: --shadow; --nnc-on: the current page's words
   (--link: the brand's text tone). */
[data-fs-theme='nacre']{--fs-chrome-mode:light;--nnc-tint:color-mix(in srgb,rgb(var(--c-brand-600)) 8%,rgb(var(--c-paper-soft)));--nnc-on:rgb(var(--c-brand-text,var(--c-brand-600)));--nnc-shadow:0 2px 5px color-mix(in srgb,rgb(var(--c-ink-950)) 8%,transparent),0 10px 22px color-mix(in srgb,rgb(var(--c-ink-950)) 10%,transparent),0 28px 54px color-mix(in srgb,rgb(var(--c-ink-950)) 14%,transparent);--nnc-max:1360px}
[data-fs-theme='nacre'].dark{--fs-chrome-mode:dark;--nnc-shadow:0 3px 8px color-mix(in srgb,black 55%,transparent),0 22px 46px color-mix(in srgb,black 60%,transparent)}

/* The band: the page colour at 90% over a 14px blur, the 1px hairline. */
[data-fs-theme='nacre'] .fs-hdr-band{background:color-mix(in srgb,rgb(var(--c-paper)) 90%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgb(var(--c-line))}
[data-fs-theme='nacre'] .fs-hdr-band[data-fs-nn-shrunk]{box-shadow:0 10px 28px color-mix(in srgb,rgb(var(--c-ink-950)) 9%,transparent)}
/* The row: 90px (68px shrunk), the 1360px wrap 28px in, 36px between
   the brand and each half. */
[data-fs-theme='nacre'] .fs-hdr-band .fs-hdr-row{box-sizing:border-box;max-width:var(--nnc-max) !important;min-height:90px;padding-block:0;padding-inline:28px}
[data-fs-theme='nacre'] .fs-hdr-band[data-fs-nn-shrunk] .fs-hdr-row{min-height:68px}
[data-fs-theme='nacre'] .fs-hdr-row .fs-hdr-split{column-gap:36px}
[data-fs-theme='nacre'] .fs-hdr-row .fs-hdr-side{gap:0}
[data-fs-theme='nacre'] .fs-hdr-row .fs-hdr-side-r > .fs-hdr-end{margin-left:14px}

/* The lockup: 46px (38px shrunk) — the seeded picture, or the mark beside
   the site's own name. */
[data-fs-theme='nacre'] .fs-hdr-row .fs-hdr-brand img{height:46px;width:auto;max-width:none}
[data-fs-theme='nacre'] .fs-hdr-band[data-fs-nn-shrunk] .fs-hdr-row .fs-hdr-brand img{height:38px}
[data-fs-theme='nacre'] .fs-hdr-row [data-fs-logo-mark]{width:46px;height:46px}
[data-fs-theme='nacre'] .fs-hdr-band[data-fs-nn-shrunk] .fs-hdr-row [data-fs-logo-mark]{width:38px;height:38px}

/* The theme's own name on the template preview: "Nacre", and "NAIL
   STUDIO" under it (logo('h'): 8.2 of 52 units, 700, 1.64 units apart,
   the muted ink). */
[data-fs-theme='nacre'] .fs-hdr-row [data-fs-wordmark-accent]{display:block;margin-top:3px;font-family:var(--font-sans,'DM Sans',system-ui,sans-serif);font-weight:700;font-size:7.25px;line-height:1;letter-spacing:1.45px;text-transform:uppercase;color:rgb(var(--c-ink-400)) !important}
/* The halves hug the brand: each nav takes its words' width. */
[data-fs-theme='nacre'] .fs-hdr-row .fs-hdr-side > nav{flex:0 1 auto}

/* The Explore / Studio items: the chevron turns while open (15px). */
[data-fs-theme='nacre'] .fs-hdr-row .fs-hdr-group{gap:0}
[data-fs-theme='nacre'] .fs-hdr-row .fs-hdr-group > .fsmenu-nnPearl{padding-right:0}
/* the source's button holds its chevron: the hairline runs to the
   chevron's end and the pearl sits under the pair's middle */
[data-fs-theme='nacre'] .fs-hdr-row .fs-hdr-group > .fsmenu-nnPearl::before{right:-16px}
[data-fs-theme='nacre'] .fs-hdr-row .fs-hdr-group > .fsmenu-nnPearl::after{left:calc(50% + 8px)}
[data-fs-theme='nacre'] .fs-hdr-row .fs-hdr-caret{box-sizing:border-box;width:auto;min-width:0;height:auto;margin:0;padding:14px 14px 18px 6px;color:inherit;opacity:1}
[data-fs-theme='nacre'] .fs-hdr-row .fs-hdr-group[data-open] > .fs-hdr-caret svg{transform:rotate(180deg)}
[data-fs-theme='nacre'] .fs-hdr-row .fs-hdr-group:is([data-fs-nn-on],[data-open],:hover,:has(> [aria-current='page'])) > .fs-hdr-caret{color:var(--nnc-on)}

/* The menu button (≤ the platform's phone width): the tint circle. */
[data-fs-theme='nacre'] .fs-hdr-menu-btn{width:44px;height:44px;border-radius:50%;background:var(--nnc-tint);color:var(--nnc-on)}

/* ── The Explore mega (.mega + .mega-in): the shell hangs from the row
   (megaWidth 'bar') and shows its overflow (P51: no overflow:auto on a
   panel shell — it clipped the hover bridge); the composite draws the
   panel: the surface, the hairline under it, the deep soft shadow, three
   columns and the card (1fr 1fr 1fr 1.15fr, 34px apart, 30px 28px 36px
   in). ── */
[data-fs-theme='nacre'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite){overflow:visible !important;padding:0 !important;background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;z-index:5}
[data-fs-theme='nacre'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite)::before{top:-24px;height:24px}
[data-fs-theme='nacre'] .fs-hdr-row .fsdrop-panel-columns:has(.fsdrop-mega-composite) > .fsdrop-mega-content{padding:0;border:0}
[data-fs-theme='nacre'] .fs-nnm-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.15fr);gap:34px;box-sizing:border-box;padding:30px 28px 36px;background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));border-bottom:1px solid rgb(var(--c-line));box-shadow:0 34px 60px color-mix(in srgb,rgb(var(--c-ink-950)) 16%,transparent);font-family:var(--font-sans,'DM Sans',system-ui,sans-serif);font-size:16px;line-height:1.62;text-align:left;white-space:normal}
[data-fs-theme='nacre'] .fs-nnm-panel.is-nofeat{grid-template-columns:repeat(3,minmax(0,1fr))}
[data-fs-theme='nacre'] .fs-nnm-group{display:grid;align-content:start;min-width:0}
/* .mega h4{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);margin-bottom:12px} */
[data-fs-theme='nacre'] .fs-nnm-g{margin:0 0 12px;font-size:.72rem;font-weight:700;line-height:1.2;letter-spacing:.18em;text-transform:uppercase;color:rgb(var(--c-ink-400))}
/* .mi{display:flex;gap:14px;padding:10px;border-radius:16px;align-items:flex-start}  .mi:hover{background:var(--tint)} */
[data-fs-theme='nacre'] .fs-nnm-mi{display:flex;gap:14px;align-items:flex-start;padding:10px;border-radius:16px;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='nacre'] a.fs-nnm-mi:hover{background:var(--nnc-tint)}
[data-fs-theme='nacre'] a.fs-nnm-mi:focus-visible{outline:3px solid var(--nnc-on);outline-offset:0}
/* .mi .icon-badge{width:40px;height:40px}  .mi .ic{width:18px;height:18px} — the family's badge */
[data-fs-theme='nacre'] .fs-nnm-badge{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;color:var(--nnc-on);background:linear-gradient(148deg,color-mix(in srgb,rgb(var(--c-accent)) 42%,var(--nnc-tint)),var(--nnc-tint) 78%)}
[data-fs-theme='nacre'] .fs-nnc-ic{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
[data-fs-theme='nacre'] .fs-nnm-tx{display:block;min-width:0}
/* .mi b{display:block;font-size:.96rem}  .mi small{display:block;color:var(--mute);font-size:.82rem;line-height:1.4}  .mi.active b{color:var(--link)} */
[data-fs-theme='nacre'] .fs-nnm-t{display:block;font-size:.96rem;font-weight:700}
[data-fs-theme='nacre'] .fs-nnm-mi.is-on .fs-nnm-t{color:var(--nnc-on)}
[data-fs-theme='nacre'] .fs-nnm-s{display:block;color:rgb(var(--c-ink-400));font-size:.82rem;line-height:1.4}
/* .feat{position:relative;overflow:hidden;border-radius:24px;padding:26px;background:linear-gradient(155deg,var(--pri),var(--pri-d));color:white;min-height:230px;
   display:flex;flex-direction:column;justify-content:flex-end}  .feat h3{color:white;font-size:1.5rem}  .feat p{color:rgba(255,255,255,.86);margin:8px 0 16px;font-size:.9rem;max-width:230px}
   .feat .hand{color:rgba(255,255,255,.8);font-size:1rem}  .feat .fnails{position:absolute;right:-18px;top:-10px;width:170px;opacity:.95;transform:rotate(14deg)}
   — the faded whites at full strength for AA on every palette (ledger L23) */
[data-fs-theme='nacre'] .fs-nnm-feat{position:relative;overflow:hidden;border-radius:24px;padding:26px;background:linear-gradient(155deg,rgb(var(--c-brand-600)),rgb(var(--c-brand-700)));color:var(--fs-on-brand);min-height:230px;display:flex;flex-direction:column;justify-content:flex-end}
[data-fs-theme='nacre'] .fs-nnm-fnails{position:absolute;right:-18px;top:-10px;width:170px;opacity:.95;transform:rotate(14deg)}
[data-fs-theme='nacre'] .fs-nnm-kick{position:relative;font-family:var(--font-display,'DM Serif Display',Georgia,serif);font-style:italic;font-size:1rem;color:var(--fs-on-brand)}
[data-fs-theme='nacre'] .fs-nnm-h{position:relative;margin:0;font-family:var(--font-display,'DM Serif Display',Georgia,serif);font-size:1.5rem;font-weight:400;line-height:1.1;letter-spacing:-.015em;color:var(--fs-on-brand)}
[data-fs-theme='nacre'] .fs-nnm-p{position:relative;margin:8px 0 16px;max-width:230px;font-size:.9rem;color:var(--fs-on-brand)}
/* .btn.white.sm: the surface-white pill, the brand's deep text */
[data-fs-theme='nacre'] .fs-nnm-btn{position:relative;align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;padding:9px 18px;border-radius:999px;background:var(--fs-on-brand);color:rgb(var(--c-brand-700));font-weight:700;font-size:.88rem;line-height:1.62;white-space:nowrap;text-decoration:none}
[data-fs-theme='nacre'] .fs-nnm-btn:focus-visible{outline:3px solid var(--fs-on-brand);outline-offset:3px}

/* ── Standard's Studio drop (.more .drop): a 230px card under the item. ── */
/* the shell hugs the card, hung from its item (the source's left:50% /
   translate(-50%) under the button; megaWidth 'bar' would span the row) */
[data-fs-theme='nacre'] .fs-hdr-row .fs-hdr-group:has(.fs-nnd-drop){position:relative !important}
[data-fs-theme='nacre'] .fs-hdr-row .fsdrop-w-bar.fsdrop-w-bar.fsdrop-w-bar:has(.fs-nnd-drop){left:50% !important;right:auto !important;transform:translateX(-50%);width:max-content !important;min-width:230px !important;max-width:none !important;margin-top:-6px !important;overflow:visible !important;padding:0 !important;background:transparent !important;border:0 !important;box-shadow:none !important}
[data-fs-theme='nacre'] .fs-nnd-drop{display:grid;min-width:230px;box-sizing:border-box;padding:8px;background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));border:1px solid rgb(var(--c-line));border-radius:18px;box-shadow:var(--nnc-shadow);font-family:var(--font-sans,'DM Sans',system-ui,sans-serif);font-size:16px;line-height:1.62;text-align:left}
[data-fs-theme='nacre'] .fs-nnd-a{display:block;padding:11px 14px;border-radius:12px;font-weight:500;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='nacre'] a.fs-nnd-a:hover{background:var(--nnc-tint)}
[data-fs-theme='nacre'] .fs-nnd-a.is-on{color:var(--nnc-on)}
[data-fs-theme='nacre'] a.fs-nnd-a:focus-visible{outline:3px solid var(--nnc-on);outline-offset:0}

/* ── The phone menu (the source's stacked .nav ≤1060px: 14px 16px rows,
   14px round; the current page on the tint; the Explore groups in one
   column, no card). ── */
[data-fs-theme='nacre'] .fs-hdr-mobile{background:rgb(var(--c-paper-soft))}
[data-fs-theme='nacre'] .fs-hdr-mobile-link:not(.is-sub){display:flex;align-items:center;min-height:44px;padding:14px 16px;border-radius:14px;font-weight:500;font-size:.95rem;line-height:1.3;color:rgb(var(--c-ink-950))}
[data-fs-theme='nacre'] .fs-hdr-mobile-link.fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false']){color:var(--nnc-on);background:var(--nnc-tint)}
[data-fs-theme='nacre'] .fs-hdr-mobile .fs-nnm-panel{grid-template-columns:minmax(0,1fr);gap:10px;padding:4px 4px 8px 10px;background:transparent;border:0;box-shadow:none}
[data-fs-theme='nacre'] .fs-hdr-mobile .fs-nnm-feat{display:none}
[data-fs-theme='nacre'] .fs-hdr-mobile .fs-nnd-drop{min-width:0;padding:2px 2px 6px 12px;background:transparent;border:0;box-shadow:none}

/* ── The edge tab and the phone bar: one fixed, click-through layer the
   size of the viewport, its own container. ── */
/* the press ripple (nacre-motion.ts) stays inside the header's Book button
   and the phone bar's buttons (Task 9 review) */
[data-fs-theme='nacre'] :is(.fs-hdr-cta,.fs-nne-bar>a){position:relative;overflow:hidden}
[data-fs-theme='nacre'] .fs-nne-fixed{position:fixed;inset:0;z-index:85;pointer-events:none;container-type:inline-size;container-name:fs-nne}
/* .edge-tab{position:fixed;right:0;top:50%;writing-mode:vertical-rl;transform:translateY(-50%) rotate(180deg);background:var(--pri);color:white;font-weight:700;
   font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;padding:22px 13px;border-radius:0 16px 16px 0;box-shadow:0 10px 26px color-mix(in srgb,var(--pri) 35%,transparent)} */
[data-fs-theme='nacre'] .fs-nne-edge{position:absolute;right:0;top:50%;pointer-events:auto;writing-mode:vertical-rl;transform:translateY(-50%) rotate(180deg);background:rgb(var(--c-brand-600));color:var(--fs-on-brand);font-family:var(--font-sans,'DM Sans',system-ui,sans-serif);font-weight:700;font-size:.78rem;line-height:1.62;letter-spacing:.22em;text-transform:uppercase;padding:22px 13px;border-radius:0 16px 16px 0;box-shadow:0 10px 26px color-mix(in srgb,rgb(var(--c-brand-600)) 35%,transparent);text-decoration:none}
@media (hover:hover){
  [data-fs-theme='nacre'] .fs-nne-edge:hover{padding-block:30px;background:rgb(var(--c-brand-700))}
}
[data-fs-theme='nacre'] .fs-nne-edge:focus-visible{outline:3px solid rgb(var(--c-brand-text));outline-offset:3px}
[data-fs-theme='nacre'][data-fs-layout='minimal'] .fs-nne-edge{display:none}
/* .mbar{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:fixed;left:10px;right:10px;bottom:10px;padding:8px;
   background:color-mix(in srgb,var(--surf) 92%,transparent);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow)}
   .mbar .btn{padding:12px 10px} — Call (.btn.alt) · Book (.btn) */
[data-fs-theme='nacre'] .fs-nne-bar{display:none}
/* While the bar shows (nacre-mega.tsx sets data-fs-nn-bar and the room it
   takes, --fs-nn-bar-h, on the theme scope), the platform's chat bubble
   (ChatWidget's fixed bottom-right stack, 20px up) sits above it, never under. */
[data-fs-theme='nacre'][data-fs-nn-bar] [data-fs-chat-widget]{bottom:calc(var(--fs-nn-bar-h, 0px) + 12px)}
[data-fs-theme='nacre'] .fs-nne-bar > a{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 10px;border-radius:999px;font-family:var(--font-sans,'DM Sans',system-ui,sans-serif);font-weight:700;font-size:.97rem;line-height:1.62;white-space:nowrap;text-decoration:none}
[data-fs-theme='nacre'] .fs-nne-call{color:rgb(var(--c-brand-text));box-shadow:inset 0 0 0 2px rgb(var(--c-line))}
[data-fs-theme='nacre'] .fs-nne-book{background:rgb(var(--c-brand-600));color:var(--fs-on-brand)}
[data-fs-theme='nacre'] .fs-nne-bar > a:focus-visible{outline:3px solid rgb(var(--c-brand-text));outline-offset:2px}
[data-fs-theme='nacre'] .fs-nne-bar .fs-nnc-ic{width:20px;height:20px}
@container fs-nne (max-width:1060px){
  [data-fs-theme='nacre'] .fs-nne-edge{display:none}
}
@container fs-nne (max-width:760px){
  [data-fs-theme='nacre'] .fs-nne-bar{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:absolute;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom, 0px));padding:8px;pointer-events:auto;background:color-mix(in srgb,rgb(var(--c-paper-soft)) 92%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgb(var(--c-line));border-radius:999px;box-shadow:var(--nnc-shadow)}
  [data-fs-theme='nacre'] .fs-nne-bar.is-one{grid-template-columns:1fr}
}

/* ── The phone menu's foot (phone-menu-foot.tsx NacreFoot): the site's
   phone, then the Book button full width (the source's .nav-r .btn). ── */
[data-fs-theme='nacre'] .fs-pmf-nacre{display:grid;gap:10px}
[data-fs-theme='nacre'] .fs-pmf-nacre .fs-pmf-call{display:flex;align-items:center;gap:8px;margin:0;color:var(--nnc-on);font-weight:600}
[data-fs-theme='nacre'] .fs-pmf-nacre .fs-pmf-ico{width:18px;height:18px}

/* Motion (port Task 9; gated: Motion On, no reduced-motion request, at
   the speed dial; each effect behind its Micro-animations switch, ids in
   themes/nacre.ts). nnShrink: the header tightens (.3s) and the edge tab
   grows under the pointer; nnDrop: the caret turns (.3s) and Explore's
   links slide 4px under the pointer. The panels' own open motion is the
   platform's (PrimaryNav's mega panel, Site Settings → Dropdown animation;
   the source's .3s drop from 10px is its "Slide down"), ledger L36.
   Subtle: travel x var(--fs-motion-dist), time x var(--fs-anim-speed). */
@media screen and (prefers-reduced-motion: no-preference){
  [data-fs-theme='nacre'][data-fs-motion='on'] .fs-hdr-band{transition:var(--fs-anim-nnShrink, box-shadow calc(.3s * var(--fs-anim-speed,1)))}
  [data-fs-theme='nacre'][data-fs-motion='on'] .fs-hdr-band .fs-hdr-row{transition:var(--fs-anim-nnShrink, min-height calc(.3s * var(--fs-anim-speed,1)) cubic-bezier(.2,.8,.2,1))}
  [data-fs-theme='nacre'][data-fs-motion='on'] .fs-hdr-row .fs-hdr-brand img{transition:var(--fs-anim-nnShrink, height calc(.3s * var(--fs-anim-speed,1)) cubic-bezier(.2,.8,.2,1))}
  [data-fs-theme='nacre'][data-fs-motion='on'] .fs-nne-edge{transition:var(--fs-anim-nnShrink, padding calc(.3s * var(--fs-anim-speed,1)) cubic-bezier(.2,.8,.2,1),background calc(.3s * var(--fs-anim-speed,1)))}
  [data-fs-theme='nacre'][data-fs-motion='on'] .fs-hdr-row .fs-hdr-caret svg{transition:var(--fs-anim-nnDrop, transform calc(.3s * var(--fs-anim-speed,1)))}
  [data-fs-theme='nacre'][data-fs-motion='on'] a.fs-nnm-mi{transition:background calc(.2s * var(--fs-anim-speed,1)),transform calc(.2s * var(--fs-anim-speed,1))}
}
@media screen and (prefers-reduced-motion: no-preference) and (hover:hover){
  [data-fs-theme='nacre'][data-fs-motion='on'] a.fs-nnm-mi:hover{transform:var(--fs-anim-nnDrop, translateX(calc(4px * var(--fs-motion-dist, 1))))}
}


/* Tokens. --hthc-strip-*: the source's ink bar and its cream words (in dark
   the page's ground 55% into black with the text colour, not a bright bar);
   --fs-header-h: the sticky row and its line until the composite measures
   it; --hthc-bar-h: the strip's room (0 until a strip is drawn). */
[data-fs-theme='hearthway']{--fs-chrome-mode:light;--hthc-max:var(--fs-layout-max,var(--fs-shell-max,1180px));--hthc-bar-h:0px;--fs-header-h:76px;--hthc-k:rgb(0 0 0 / 1);--hthc-strip-bg:rgb(var(--c-ink-950));--hthc-strip-fg:rgb(var(--c-paper))}
[data-fs-theme='hearthway'].dark{--fs-chrome-mode:dark;--hthc-strip-bg:color-mix(in srgb,rgb(var(--c-paper)) 55%,var(--hthc-k));--hthc-strip-fg:color-mix(in srgb,rgb(var(--c-ink-950)) 92%,rgb(var(--c-paper)))}

/* The band: the page colour at 90% over a 10px blur, the 2px ink line. It
   sticks at minus the strip, so the strip scrolls away and the row stays. A
   size container (fs-hth-band) for the source's breakpoints. */
[data-fs-theme='hearthway'] .fs-hdr-band{container-type:inline-size;container-name:fs-hth-band;background:color-mix(in srgb,rgb(var(--c-paper)) 90%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:2px solid rgb(var(--c-ink-950));z-index:50}
[data-fs-theme='hearthway'] .fs-hdr-band[data-fs-sticky='on']{top:calc(-1 * var(--hthc-bar-h))}
/* The row: the band's full width (the strip spans it), the wrap kept by its
   inline padding (the source's .wrap: min(1180px, 100% - 32px)); 74px under
   the strip's room; the lockup left, then the nav and the button 30px
   apart on the right. */
[data-fs-theme='hearthway'] .fs-hdr-band .fs-hdr-row{position:relative;box-sizing:border-box;max-width:none !important;min-height:calc(74px + var(--hthc-bar-h));padding-top:var(--hthc-bar-h);padding-bottom:0;padding-inline:max(16px,calc((100% - min(var(--hthc-max),100% - 32px)) / 2));gap:30px;justify-content:flex-start}

/* ── The strip (.announce) and the skip link (.skip) ── */
[data-fs-theme='hearthway'] :is(.fs-hdr-composite,.fs-hthh){display:contents}
[data-fs-theme='hearthway'] .fs-hthh-ann{position:absolute;top:0;left:0;right:0;z-index:1;display:block;box-sizing:border-box;padding:9px 16px;background:var(--hthc-strip-bg);color:var(--hthc-strip-fg);font-family:var(--font-sans,'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif);font-size:.9rem;font-weight:400;line-height:1.6;text-align:center;white-space:normal}
[data-fs-theme='hearthway'] .fs-hthh-p{display:block;margin:0}
[data-fs-theme='hearthway'] .fs-hthh-p strong{font-weight:700}
[data-fs-theme='hearthway'] .fs-hthh-a{margin-left:.35em;color:rgb(var(--c-accent));font-weight:700;text-decoration:none;white-space:nowrap}
[data-fs-theme='hearthway'] a.fs-hthh-a:hover{text-decoration:underline}
[data-fs-theme='hearthway'] a.fs-hthh-a:focus-visible{outline:3px solid currentColor;outline-offset:3px}
[data-fs-theme='hearthway'] .fs-hthh-skip{position:absolute;left:-999px;top:8px;z-index:100;padding:8px 14px;border-radius:8px;background:rgb(var(--c-ink-950));color:rgb(var(--c-paper));font-family:var(--font-sans,'DM Sans',system-ui,sans-serif);font-size:1.0625rem;line-height:1.6;text-decoration:none}
[data-fs-theme='hearthway'] .fs-hthh-skip:focus{left:8px;outline:3px solid rgb(var(--c-accent));outline-offset:3px}
/* Until the composite measures the strip its room is the final room at the
   source's words (one line from 600px, two below, three under ~330px:
   measured 41 / 64 / 87px in the export). Set on the row and the strip, not
   the band (a container query cannot style its own container). */
[data-fs-theme='hearthway'] .fs-hdr-band:not([data-fs-hth-bar]):has(.fs-hthh-ann) :is(.fs-hdr-row,.fs-hthh-ann){--hthc-bar-h:41px}
@container fs-hth-band (max-width: 37.5rem){
  [data-fs-theme='hearthway'] .fs-hdr-band:not([data-fs-hth-bar]):has(.fs-hthh-ann) :is(.fs-hdr-row,.fs-hthh-ann){--hthc-bar-h:64px}
}
@container fs-hth-band (max-width: 20.5rem){
  [data-fs-theme='hearthway'] .fs-hdr-band:not([data-fs-hth-bar]):has(.fs-hthh-ann) :is(.fs-hdr-row,.fs-hthh-ann){--hthc-bar-h:87px}
}

/* ── The lockup (.brand): 40px mark, 10px, Fraunces 800 1.55rem (the
   header type is themeDefaults'). ── */
[data-fs-theme='hearthway'] .fs-hdr-row > :first-child{flex:none;margin-right:auto;gap:10px}
[data-fs-theme='hearthway'] .fs-hdr-row [data-fs-logo-mark]{width:40px;height:40px}
/* Owner-accepted (2026-10-25): the lockup link (40px) gets an invisible 44px hit area on a phone; no visible or layout change. */
@container fs-hth-band (max-width: 35rem){
  [data-fs-theme='hearthway'] .fs-hdr-row > :first-child{position:relative}
  [data-fs-theme='hearthway'] .fs-hdr-row > :first-child::after{content:"";position:absolute;left:50%;top:50%;width:max(100%,44px);height:max(100%,44px);transform:translate(-50%,-50%)}
}
[data-fs-theme='hearthway'] .fs-hdr-row [data-fs-wordmark]{color:rgb(var(--c-ink-950));line-height:normal !important}
[data-fs-theme='hearthway'] .fs-hdr-row > nav{flex:0 1 auto}
/* The editor canvas wraps the composite in a group of its own; with nothing else
   in it that group would add a second 30px gap between the nav and the button. */
[data-fs-theme='hearthway'] .fs-hdr-row > div:has(> .fs-hdr-composite:only-child){display:contents}

/* ── The right-hand group: a phone (when the customer adds one), the Join in
   pill (.btn.btn-small: 2px ink border, the hard 4px shadow, 700, 1.6 line;
   size and padding are themeDefaults' headerCta*). ── */
[data-fs-theme='hearthway'] .fs-hdr-row .fs-hdr-phone{color:rgb(var(--c-ink-950));font-weight:500;line-height:1.6;text-decoration:none;white-space:nowrap}
[data-fs-theme='hearthway'] .fs-hdr-cta{--fs-hdr-cta-bg:rgb(var(--c-brand-600));--fs-hdr-cta-fg:var(--fs-on-brand);--fs-hdr-cta-bg-hover:rgb(var(--c-brand-600));--fs-hdr-cta-fg-hover:var(--fs-on-brand)}
[data-fs-theme='hearthway'] .fs-hdr-cta.fs-hdr-cta{box-sizing:border-box;border:2px solid rgb(var(--c-ink-950));box-shadow:4px 4px 0 rgb(var(--c-ink-950));font-weight:700;line-height:1.6}
[data-fs-theme='hearthway'] .fs-hdr-cta.fs-hdr-cta:focus-visible{outline:3px solid rgb(var(--c-ink-950));outline-offset:3px}

/* ── The burger (.nav-toggle): 46px, 2px ink, 12px corners, the paper
   ground; three 20 x 2.5px bars (::before, the platform icon's svg as the middle one, ::after; real boxes so they snap to 3 / 2 / 3px like the export) in place
   of the platform's icon. ── */
[data-fs-theme='hearthway'] .fs-hdr-row .fs-hdr-menu-btn{box-sizing:border-box;width:46px;height:46px;min-width:46px;min-height:46px;padding:0;border:2px solid rgb(var(--c-ink-950));border-radius:12px;background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950))}
[data-fs-theme='hearthway'] .fs-hdr-row .fs-hdr-menu-btn{flex-direction:column;gap:5px}
[data-fs-theme='hearthway'] .fs-hdr-row .fs-hdr-menu-btn svg{display:block;flex:none;width:20px;height:2.5px;border-radius:2px;background:currentColor;overflow:hidden}
[data-fs-theme='hearthway'] .fs-hdr-row .fs-hdr-menu-btn svg > *{display:none}
[data-fs-theme='hearthway'] .fs-hdr-row .fs-hdr-menu-btn::before,[data-fs-theme='hearthway'] .fs-hdr-row .fs-hdr-menu-btn::after{content:"";display:block;flex:none;width:20px;height:2.5px;border-radius:2px;background:currentColor}

/* The source's centred layout: the lockup over the nav, 18px / 8px in. */
[data-fs-theme='hearthway'][data-fs-layout='centered'] .fs-hdr-band .fs-hdr-row{flex-direction:column;justify-content:center;gap:6px;min-height:0;padding-top:calc(var(--hthc-bar-h) + 18px);padding-bottom:8px}
[data-fs-theme='hearthway'][data-fs-layout='centered'] .fs-hdr-row > :first-child{margin-right:0}
[data-fs-theme='hearthway'][data-fs-layout='centered'] .fs-hdr-row > nav{flex-wrap:wrap;justify-content:center}

/* The template preview alone: its Edit Template link is on no real site; on
   a phone it gives way to its icon so the row still holds the lockup, the
   icon and the burger. */
@container fs-hth-band (max-width: 30rem){
  [data-fs-theme='hearthway'] .fs-hdr-row [data-fs-preview-edit]{gap:0;font-size:0}
}

/* ── The sections' landing: the source's html{scroll-padding-top:90px} under
   a 76px header is 14px of air; the platform's header is whatever the
   composite measured, so every anchored section wrapper keeps its header
   height + 14px. #top (the page-top marker after the header) lands at the
   very top, the strip included. ── */
[data-fs-theme='hearthway'] [id][style*='scroll-margin-top']{scroll-margin-top:calc(var(--fs-header-h, 4.25rem) + 14px) !important}
[data-fs-theme='hearthway'] [id='top'][style*='scroll-margin-top']{scroll-margin-top:calc(var(--fs-header-h, 4.25rem) + var(--hthc-bar-h, 0px)) !important}

/* ── The phone menu (the source's stacked .menu under 860px: 8px 16px 20px
   in, 14px x 4px rows on a dashed hairline, the Join in button last with
   14px above it, stretched). The platform's panel is a full-screen overlay
   with its own head, so the head wears the same 2px ink line. ── */
[data-fs-theme='hearthway'] .fs-hdr-mobile{background:rgb(var(--c-paper))}
[data-fs-theme='hearthway'] .fs-hdr-mobile-head{border-bottom:2px solid rgb(var(--c-ink-950))}
[data-fs-theme='hearthway'] .fs-hdr-mobile-title{font-family:var(--font-display,'Fraunces',Georgia,serif);font-weight:800;letter-spacing:-.02em;color:rgb(var(--c-ink-950))}
[data-fs-theme='hearthway'] .fs-hdr-mobile-close{box-sizing:border-box;border:2px solid rgb(var(--c-ink-950));border-radius:12px;background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950))}
[data-fs-theme='hearthway'] .fs-hdr-mobile nav{padding:8px 16px 20px}
[data-fs-theme='hearthway'] .fs-hdr-mobile-link:not(.is-sub){display:block;min-height:44px;padding:14px 4px;border-bottom:1px dashed color-mix(in srgb,rgb(var(--c-ink-950)) 25%,transparent);font-size:1.0625rem;font-weight:500;line-height:1.6;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='hearthway'] .fs-hdr-mobile-link.fs-hdr-mobile-link:not(.is-sub)[aria-current]:not([aria-current='false']){text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px;text-decoration-color:rgb(var(--c-brand-600))}
/* The foot (phone-menu-foot.tsx HearthwayFoot): a phone the customer added
   is one more row; the Join in button is last, 14px under, stretched. */
[data-fs-theme='hearthway'] .fs-pmf-hearthway{display:grid;margin:0}
[data-fs-theme='hearthway'] .fs-pmf-hearthway .fs-pmf-line{margin:0;border-bottom:1px dashed color-mix(in srgb,rgb(var(--c-ink-950)) 25%,transparent)}
[data-fs-theme='hearthway'] .fs-pmf-hearthway .fs-pmf-tel{display:block;padding:14px 4px;font-size:1.0625rem;font-weight:500;line-height:1.6;color:rgb(var(--c-ink-950));text-decoration:none}
[data-fs-theme='hearthway'] .fs-pmf-hearthway .fs-hdr-cta.fs-pmf-cta{display:flex;justify-content:center;width:100%;margin:14px 0 0}

/* ── Motion (port Task 9) ──────────────────────────────────────
   The Join in pill (.btn.btn-small): hover lifts it (-2,-2, the shadow to
   6px), a press sinks it (2,2, 2px). The same gates, switch (hthPress),
   distances and times as hearthway-styles.ts: the theme scope carries
   data-fs-motion, reduced motion wins, off and the editor canvas stay
   still. */
[data-fs-theme='hearthway']:not([data-fs-motion='on']) .fs-hdr-cta{transition:none}
@media (prefers-reduced-motion: reduce){
  [data-fs-theme='hearthway'] .fs-hdr-cta{transition:none}
}
@media screen and (prefers-reduced-motion: no-preference){
  [data-fs-theme='hearthway'][data-fs-motion='on'] .fs-hdr-cta.fs-hdr-cta{transition:var(--fs-anim-hthPress, transform calc(.15s * var(--fs-anim-speed, 1)) ease, box-shadow calc(.15s * var(--fs-anim-speed, 1)) ease)}
  [data-fs-theme='hearthway'][data-fs-motion='on'] .fs-hdr-cta.fs-hdr-cta:hover{transform:var(--fs-anim-hthPress, translate(calc(-2px * var(--fs-motion-dist, 1)), calc(-2px * var(--fs-motion-dist, 1))));box-shadow:6px 6px 0 rgb(var(--c-ink-950))}
  [data-fs-theme='hearthway'][data-fs-motion='on'] .fs-hdr-cta.fs-hdr-cta:active{transform:var(--fs-anim-hthPress, translate(calc(2px * var(--fs-motion-dist, 1)), calc(2px * var(--fs-motion-dist, 1))));box-shadow:2px 2px 0 rgb(var(--c-ink-950))}
}


/* Tokens. --aulc-plum / --aulc-blush: the source's --plum and --blush, kept
   as printed (the promo bar is a fixed plum strip with blush words in both
   modes, as the studio band is). --aulc-line:
   the source's --line (the ink at .14). --aulc-bar-h: the promo bar's
   measured height (0 until the composite says otherwise). */
[data-fs-theme='aurelle']{--fs-chrome-mode:light;--aulc-plum:rgb(61 31 43);--aulc-blush:rgb(235 196 184);--aulc-line:rgb(var(--c-ink-950) / .14);--aulc-bar-h:0px;--aulc-max:1200px}
[data-fs-theme='aurelle'].dark{--fs-chrome-mode:dark}

/* The band: the page colour at 88% over a 14px blur, the 1px hairline. It
   sticks at minus the bar, so the bar scrolls away and the row stays. A size
   container (fs-aulc-band) for the source's breakpoints. */
[data-fs-theme='aurelle'] .fs-hdr-band{container-type:inline-size;container-name:fs-aulc-band;background:color-mix(in srgb,rgb(var(--c-paper)) 88%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--aulc-line)}
[data-fs-theme='aurelle'] .fs-hdr-band[data-fs-sticky='on']{top:calc(-1 * var(--aulc-bar-h))}

/* The row: the band's full width (the bar spans it), the 1200px wrap kept by
   its inline padding (the source's width:min(1200px,100% - 32px)); 78px
   under the bar's room; three columns, the lockup in the middle. */
[data-fs-theme='aurelle'] .fs-hdr-band .fs-hdr-row{--aulc-in:max(16px,calc((100% - var(--aulc-max)) / 2));position:relative;box-sizing:border-box;max-width:none !important;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:0;min-height:calc(78px + var(--aulc-bar-h));margin:0;padding:var(--aulc-bar-h) var(--aulc-in) 0}
[data-fs-theme='aurelle'] .fs-hdr-row > :first-child{grid-column:2;grid-row:1;justify-self:center}
[data-fs-theme='aurelle'] .fs-hdr-row > nav{grid-column:1;grid-row:1;justify-self:stretch}
[data-fs-theme='aurelle'] .fs-hdr-row > :not(:first-child):not(nav):not(.fs-hdr-menu-btn){grid-column:3;grid-row:1;justify-self:end;justify-content:flex-end;gap:26px;flex-shrink:0}

/* The lockup (.logo): the mark over the name, centred; the name's own
   trailing tracking is balanced by the .32em on the left. */
[data-fs-theme='aurelle'] .fs-hdr-row > :first-child{display:inline-flex;flex-direction:column;align-items:center;gap:0;padding-left:.32em;font-family:var(--font-display,'Cormorant Garamond','Times New Roman',serif);font-size:1.65rem;font-weight:500;line-height:1;letter-spacing:.32em;text-transform:uppercase;text-decoration:none;color:rgb(var(--c-ink-950))}
[data-fs-theme='aurelle'] .fs-hdr-row [data-fs-logo-mark]{display:block;width:34px;height:20px;margin-bottom:4px;flex:none}
[data-fs-theme='aurelle'] .fs-hdr-row [data-fs-wordmark]{font-family:inherit;font-size:inherit;font-weight:500;line-height:1;letter-spacing:inherit;text-transform:inherit;color:rgb(var(--c-ink-950))}

/* The right-hand group (.nav-icons): 26px apart, the header button before
   the bag. The published site and the template preview draw it as ONE group
   (the row's last child); the editor canvas draws its parts as siblings in
   the row (the bag's wrapper, then the button's), which then share the third
   column: the button stands the bag's 38px and the 26px gap in from the end.
   The platform's phone is not in the source's header. */
[data-fs-theme='aurelle'] .fs-hdr-row > .fs-hdr-contact{margin-right:64px}
[data-fs-theme='aurelle'] .fs-hdr-row .fs-hdr-phone{display:none}
[data-fs-theme='aurelle'] .fs-hdr-row .fs-hdr-contact{order:1}
[data-fs-theme='aurelle'] .fs-hdr-row > :last-child > .fs-hdr-cta{order:1}
[data-fs-theme='aurelle'] .fs-hdr-row .fs-hdr-composite{order:2}

/* Anchored sections scroll to the real header: the wrapper the platform draws
   around an anchored section is the outermost element carrying an inline
   scroll-margin-top (5rem), however many preset / backdrop / band wrappers sit
   inside it, so it is matched by that inline style (no other element has one);
   !important beats the inline value. --fs-header-h is written by the composite;
   the fallback 4.25rem + 12px is the old 5rem where it is not mounted. */
[data-fs-theme='aurelle'] [id][style*='scroll-margin-top']{scroll-margin-top:calc(var(--fs-header-h, 4.25rem) + 12px) !important}

/* ── The promo bar (.promo) ── */
[data-fs-theme='aurelle'] .fs-aulh{display:contents}
[data-fs-theme='aurelle'] .fs-aulp{position:absolute;top:0;left:0;right:0;z-index:1;box-sizing:border-box;margin:0;padding:9px 16px;background:var(--aulc-plum);color:var(--aulc-blush);text-align:center;font-family:var(--font-sans,'Jost','Century Gothic',system-ui,sans-serif);font-size:.78rem;font-weight:300;line-height:1.7;letter-spacing:.12em;text-transform:uppercase}

/* ── The bag button (.bag-btn) and its count (.bag-count) ── */
[data-fs-theme='aurelle'] .fs-aulb{position:relative;box-sizing:border-box;display:flex;align-items:flex-start;width:38px;height:41px;margin:0;padding:6px;border:0;background:none;cursor:pointer;color:rgb(var(--c-ink-950));font:inherit;line-height:normal}
[data-fs-theme='aurelle'] .fs-aulb:focus-visible{outline:2px solid currentColor;outline-offset:2px;border-radius:6px}
[data-fs-theme='aurelle'] .fs-aulb-ic{display:block;width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linejoin:round}
[data-fs-theme='aurelle'] .fs-aulb-count{position:absolute;top:-2px;right:-6px;box-sizing:border-box;min-width:20px;height:20px;padding:0 5px;display:grid;place-items:center;border-radius:999px;background:rgb(var(--c-brand-600));color:var(--fs-on-brand);font-family:var(--font-sans,'Jost','Century Gothic',system-ui,sans-serif);font-size:.7rem;font-weight:500;line-height:normal}

/* ── The burger (.nav-toggle): below the platform's menu breakpoint, two
   24px lines at the left of the row, 40px square ── */
[data-fs-theme='aurelle'] .fs-hdr-row .fs-hdr-menu-btn{position:absolute;left:var(--aulc-in);top:calc(var(--aulc-bar-h) + 39px);transform:translateY(-50%);box-sizing:border-box;width:40px;height:40px;margin:0;padding:0;flex-direction:column;justify-content:center;align-items:center;gap:7px;border:0;border-radius:0;background:none}
[data-fs-theme='aurelle'] .fs-hdr-row .fs-hdr-menu-btn svg{display:none}
[data-fs-theme='aurelle'] .fs-hdr-row .fs-hdr-menu-btn::before,[data-fs-theme='aurelle'] .fs-hdr-row .fs-hdr-menu-btn::after{content:"";display:block;width:24px;height:1.5px;background:rgb(var(--c-ink-950))}

/* Until it is measured the bar's room is its final room at the template
   preview's words (one line from ~640px, two from ~350px, three below):
   the guess is set on the row and the bar (descendants of the band, which
   is the container), never on the band itself. Only where the bar is drawn. */
[data-fs-theme='aurelle'] .fs-hdr-band:has(.fs-aulp):not([data-fs-aul-bar]) :is(.fs-hdr-row,.fs-aulp){--aulc-bar-h:39px}
@container fs-aulc-band (max-width: 39.9375rem){
  [data-fs-theme='aurelle'] .fs-hdr-band:has(.fs-aulp):not([data-fs-aul-bar]) :is(.fs-hdr-row,.fs-aulp){--aulc-bar-h:60px}
}
@container fs-aulc-band (max-width: 21.8125rem){
  [data-fs-theme='aurelle'] .fs-hdr-band:has(.fs-aulp):not([data-fs-aul-bar]) :is(.fs-hdr-row,.fs-aulp){--aulc-bar-h:82px}
}
[data-fs-theme='aurelle'] .fs-hdr-band:has(.fs-aulp):not([data-fs-aul-bar]) .fs-aulp{min-height:var(--aulc-bar-h)}

/* The source's <=560px: the lockup is 1.3rem (the name's own size is an
   inline style from the header settings, so it takes !important here). */
@container fs-aulc-band (max-width: 35rem){
  [data-fs-theme='aurelle'] .fs-hdr-row > :first-child{font-size:1.3rem}
  [data-fs-theme='aurelle'] .fs-hdr-row [data-fs-wordmark]{font-size:1.3rem !important;letter-spacing:.32em !important}
}

/* ── The phone menu (#menu.is-open): porcelain rows, a hairline under each,
   16px 0, tracked capitals ── */
[data-fs-theme='aurelle'] .fs-hdr-mobile{background:rgb(var(--c-paper))}
[data-fs-theme='aurelle'] .fs-hdr-mobile-head{border-bottom:1px solid var(--aulc-line)}
[data-fs-theme='aurelle'] .fs-hdr-mobile-title{font-family:var(--font-display,'Cormorant Garamond','Times New Roman',serif);font-weight:500}
[data-fs-theme='aurelle'] .fs-hdr-mobile-link:not(.is-sub){display:block;padding:16px 0;border-bottom:1px solid var(--aulc-line);font-family:var(--font-sans,'Jost','Century Gothic',system-ui,sans-serif);font-size:.8rem;line-height:1.7;font-weight:300;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:rgb(var(--c-ink-950))}

/* The burger's bars cross into an X while the menu is open (the source's
   .nav-toggle[aria-expanded="true"] span: 4.25px = half of the 7px gap plus
   the 1.5px bar). It is a state, so it is not scaled by Subtle; the platform's
   full-screen menu covers the button while open, so it is seen only if that
   ever changes. */
[data-fs-theme='aurelle'] .fs-hdr-row .fs-hdr-menu-btn[aria-expanded='true']::before{transform:translateY(4.25px) rotate(45deg)}
[data-fs-theme='aurelle'] .fs-hdr-row .fs-hdr-menu-btn[aria-expanded='true']::after{transform:translateY(-4.25px) rotate(-45deg)}

/* ── MOTION (port Task 9; the other effects are in aurelle-styles.ts). The
   same three gates: [data-fs-motion="on"], no reduced-motion request, and
   the Micro-animations switch (aulBump, aulMenu). Distances x
   --fs-motion-dist, times x --fs-anim-speed, backwards fill only. ── */
@keyframes fs-aul-bump{40%{transform:scale(calc(1 + .45 * var(--fs-motion-dist, 1)))}}
@media screen and (prefers-reduced-motion:no-preference){
  /* aulBump - the count swells when the visitor adds to the bag (the composite sets .is-bump) */
  [data-fs-theme='aurelle'][data-fs-motion='on'] .fs-aulb-count.is-bump{animation:var(--fs-anim-aulBump, fs-aul-bump calc(.45s * var(--fs-anim-speed, 1)) ease)}
  /* aulMenu - the burger's bars cross (the grow-line under a menu word is menu-styles.ts) */
  [data-fs-theme='aurelle'][data-fs-motion='on'] .fs-hdr-row .fs-hdr-menu-btn::before,[data-fs-theme='aurelle'][data-fs-motion='on'] .fs-hdr-row .fs-hdr-menu-btn::after{transition:var(--fs-anim-aulMenu, transform calc(.25s * var(--fs-anim-speed, 1)))}
}
@media (prefers-reduced-motion:reduce){
  [data-fs-theme='aurelle'] .fs-aulb-count,[data-fs-theme='aurelle'] .fs-hdr-row .fs-hdr-menu-btn::before,[data-fs-theme='aurelle'] .fs-hdr-row .fs-hdr-menu-btn::after{animation:none !important;transition:none !important}
}
/* Owner-accepted (2026-10-25): on a phone the bag button (38x41) gets an invisible 44px hit area. An overlay only: no visible or layout change. */
@container fs-aulc-band (max-width: 39.9375rem){
  [data-fs-theme='aurelle'] .fs-aulb::after{content:"";position:absolute;left:50%;top:50%;width:max(100%,44px);height:max(100%,44px);transform:translate(-50%,-50%)}
}


/* Tokens. The source's one-off literals, named once: the slab shadow of the
   round buttons and cards, the two dot layers' colours (the page's texture),
   the grain's picture. --ochc-line: the source's --line (the cocoa at .16).
   The dark set is derived (the source has none): the slab's highlight and
   shadow lowered, the dots turned to a faint light tan. */
[data-fs-theme='ochreash']{--fs-chrome-mode:light;--ochc-line:rgb(var(--c-ink-950) / .16);--ochc-slab:inset 0 2px 0 rgba(255,255,255,.45),inset 0 -8px 18px rgba(91,58,41,.1),0 18px 40px -26px rgba(59,42,33,.5);--ochc-menu-shadow:0 30px 50px -30px rgba(59,42,33,.6);--ochc-dot-a:rgba(91,58,41,.2);--ochc-dot-b:rgba(91,58,41,.14);--ochc-grain:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .36 0 0 0 0 .25 0 0 0 0 .18 0 0 0 .32 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");--ochc-hdr-h:76px;--ochc-max:1200px}
[data-fs-theme='ochreash'].dark{--fs-chrome-mode:dark;--ochc-slab:inset 0 2px 0 rgba(255,255,255,.08),inset 0 -8px 18px rgba(0,0,0,.25),0 18px 40px -26px rgba(0,0,0,.7);--ochc-dot-a:rgba(243,236,226,.07);--ochc-dot-b:rgba(243,236,226,.05)}

/* The page texture (body): two dot layers over the page colour, 37x41 and
   53x47 tiles, the second offset 13px 19px. Only the images are set, so the
   page colour stays the shell's. */
[data-fs-theme='ochreash']{background-image:radial-gradient(circle,var(--ochc-dot-a) 0 .9px,transparent 1.4px),radial-gradient(circle,var(--ochc-dot-b) 0 .7px,transparent 1.2px);background-position:0 0,13px 19px;background-size:37px 41px,53px 47px}

/* The matte clay grain (.grain): fixed over the page, multiplied, never
   catching a pointer. The source puts it at z-index 150, over everything; here
   it is the same over the page, the popover and the toast, and under the
   platform's own dialogs and the phone menu (z-index 998). */
[data-fs-theme='ochreash']::after{content:"";position:fixed;inset:0;z-index:150;pointer-events:none;opacity:.55;mix-blend-mode:multiply;background-image:var(--ochc-grain)}

/* The band: the page colour at 88% over a 10px blur, the 1px hairline, z-index
   60 as the source. A size container (fs-ochc-band) for the source's
   breakpoints. */
[data-fs-theme='ochreash'] .fs-hdr-band{container-type:inline-size;container-name:fs-ochc-band;z-index:60;background:rgb(var(--c-paper) / .88);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--ochc-line)}

/* The row (.nav): the 1200px wrap (16px in), 76px tall, 36px between the
   logo, the menu and the basket. */
[data-fs-theme='ochreash'] .fs-hdr-band .fs-hdr-row{box-sizing:border-box;width:min(var(--ochc-max),calc(100% - 32px));max-width:none !important;height:var(--ochc-hdr-h);margin-inline:auto;padding:0;gap:36px;justify-content:flex-start}
[data-fs-theme='ochreash'] .fs-hdr-row > nav{justify-content:flex-end;align-items:normal;gap:30px}

/* The logo (.brand): the pot mark 34px in the clay beside the name, Young
   Serif 1.5rem at the line height "normal" (the source's font shorthand). The
   name is the site's own, set as plain text, so its "&" cannot be clay as the
   source's is (the footer's can). */
[data-fs-theme='ochreash'] .fs-hdr-row > :first-child{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display,'Young Serif',Georgia,serif);font-size:1.5rem;font-weight:400;line-height:normal;text-decoration:none;color:rgb(var(--c-ink-950))}
[data-fs-theme='ochreash'] .fs-hdr-row [data-fs-logo-mark]{display:block;width:34px;height:34px;flex:none;color:rgb(var(--c-brand-600))}
[data-fs-theme='ochreash'] .fs-hdr-row [data-fs-wordmark]{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:normal;letter-spacing:normal;color:rgb(var(--c-ink-950))}

/* The right-hand group (.basket-wrap and the burger): 14px apart, the burger
   before the basket, the whole group pushed right when the menu is hidden. */
[data-fs-theme='ochreash'] .fs-hdr-row > :last-child:not(nav){margin-left:auto;gap:14px;flex-shrink:0}
[data-fs-theme='ochreash'] .fs-hdr-row .fs-hdr-menu-btn{order:-1}
[data-fs-theme='ochreash'] .fs-hdr-row .fs-hdr-composite{display:block;order:1}
[data-fs-theme='ochreash'] .fs-och-hdr{display:block;position:relative}

/* Anchored sections scroll to the real header: the wrapper the platform draws
   around an anchored section is the outermost element carrying an inline
   scroll-margin-top (5rem), however many wrappers sit inside it, so it is
   matched by that inline style (no other element has one); !important beats
   the inline value. --fs-header-h is written by the composite (the sticky
   band: 76px + the hairline = 77px); 77px + 13px = the source's
   scroll-padding-top of 90px. The fallback is the same 77px. */
[data-fs-theme='ochreash'] [id][style*='scroll-margin-top']{scroll-margin-top:calc(var(--fs-header-h, 77px) + 13px) !important}

/* ── The burger (.menu-btn): below the platform's menu breakpoint, a 44px
   round bisque button with two 18px bars 6px apart. The icon is hidden and the
   bars are drawn here. ── */
[data-fs-theme='ochreash'] .fs-hdr-row .fs-hdr-menu-btn{box-sizing:border-box;width:44px;height:44px;margin:0;padding:0;flex-direction:column;justify-content:center;align-items:center;gap:6px;border:0;border-radius:50%;background:rgb(var(--c-paper-soft));box-shadow:var(--ochc-slab);color:rgb(var(--c-ink-950))}
[data-fs-theme='ochreash'] .fs-hdr-row .fs-hdr-menu-btn svg{display:none}
[data-fs-theme='ochreash'] .fs-hdr-row .fs-hdr-menu-btn::before,[data-fs-theme='ochreash'] .fs-hdr-row .fs-hdr-menu-btn::after{content:"";display:block;width:18px;height:2px;border-radius:2px;background:rgb(var(--c-ink-950))}
[data-fs-theme='ochreash'] .fs-hdr-row .fs-hdr-menu-btn:focus-visible{outline:2.5px solid rgb(var(--c-brand-600));outline-offset:3px}
/* The bars cross into an X while the menu is open (4px = half of the 6px gap
   plus the 2px bar). The platform's full-page menu covers the button while
   open, so it is seen only if that ever changes. */
[data-fs-theme='ochreash'] .fs-hdr-row .fs-hdr-menu-btn[aria-expanded='true']::before{transform:translateY(4px) rotate(45deg)}
[data-fs-theme='ochreash'] .fs-hdr-row .fs-hdr-menu-btn[aria-expanded='true']::after{transform:translateY(-4px) rotate(-45deg)}

/* The source's <=820px: the row's gap is 14px (the menu is gone and the burger
   and the basket sit together). */
@container fs-ochc-band (max-width: 51.25rem){
  [data-fs-theme='ochreash'] .fs-hdr-band .fs-hdr-row{gap:14px}
}

/* The source's <=560px: the logo is 1.25rem (the name's own size is an inline
   style from the header settings, so it takes !important here). */
@container fs-ochc-band (max-width: 35rem){
  [data-fs-theme='ochreash'] .fs-hdr-row > :first-child{font-size:1.25rem}
  [data-fs-theme='ochreash'] .fs-hdr-row [data-fs-wordmark]{font-size:1.25rem !important}
}

/* Touch area (owner-accepted, no visible change, 2026-10-25): the lockup keeps its drawn size and gets an invisible
   44px target on phones. */
@container fs-ochc-band (max-width: 35rem){
  [data-fs-theme='ochreash'] .fs-hdr-row > :first-child{position:relative}
  [data-fs-theme='ochreash'] .fs-hdr-row > :first-child::before{content:'';position:absolute;left:50%;top:50%;width:max(100%,44px);height:44px;transform:translate(-50%,-50%)}
}

/* ── The phone menu (#menu.open): the platform's full-page menu, restyled. The
   source drops a bisque card (radius 26, 14px 22px, dashed hairlines between
   the rows) under the header; here the page colour fills the screen and the
   same card holds the rows. ── */
[data-fs-theme='ochreash'] .fs-hdr-mobile{background-image:radial-gradient(circle,var(--ochc-dot-a) 0 .9px,transparent 1.4px),radial-gradient(circle,var(--ochc-dot-b) 0 .7px,transparent 1.2px);background-position:0 0,13px 19px;background-size:37px 41px,53px 47px}
[data-fs-theme='ochreash'] .fs-hdr-mobile-head{border-bottom:1px solid var(--ochc-line)}
[data-fs-theme='ochreash'] .fs-hdr-mobile-title{font-family:var(--font-display,'Young Serif',Georgia,serif);font-weight:400}
[data-fs-theme='ochreash'] .fs-hdr-mobile-close{border-radius:50%;background:rgb(var(--c-paper-soft));box-shadow:var(--ochc-slab)}
[data-fs-theme='ochreash'] .fs-hdr-mobile > nav{padding:0 16px 16px}
[data-fs-theme='ochreash'] .fs-hdr-mobile-list{margin:8px 0 0;padding:14px 22px;border-radius:26px;background:rgb(var(--c-paper-soft));box-shadow:var(--ochc-slab),var(--ochc-menu-shadow)}
[data-fs-theme='ochreash'] .fs-hdr-mobile-link:not(.is-sub){display:block;padding:12px 0;border-bottom:1px dashed var(--ochc-line);font-family:var(--font-sans,'Karla',system-ui,sans-serif);font-weight:600;font-size:.97rem;line-height:1.7;text-decoration:none;color:rgb(var(--c-ink-400))}
[data-fs-theme='ochreash'] .fs-hdr-mobile-list > li:last-child .fs-hdr-mobile-link:not(.is-sub){border-bottom:0}
[data-fs-theme='ochreash'] .fs-hdr-mobile-link:not(.is-sub):hover,[data-fs-theme='ochreash'] .fs-hdr-mobile-link:not(.is-sub):focus-visible{color:rgb(var(--c-ink-950))}

/* ── Motion (port Task 9; the family's rules and the gates are explained in
   ochreash-styles.ts). Same three gates as every Ochre & Ash effect:
   [data-fs-motion="on"], no reduced-motion request, and the effect's
   Micro-animations switch (ochLogo, ochMenu, ochPop). Distances and angles x
   --fs-motion-dist, times x --fs-anim-speed, backwards fill only. ── */
@keyframes fs-ochc-drop{from{opacity:0;transform:translateY(calc(-10px * var(--fs-motion-dist, 1))) scale(calc(1 - .03 * var(--fs-motion-dist, 1)))}}
@media screen and (prefers-reduced-motion:no-preference){
  /* ochLogo - the pot mark turns and swells when the logo is pointed at (.brand:hover svg) */
  [data-fs-theme='ochreash'][data-fs-motion='on'] .fs-hdr-row [data-fs-logo-mark]{transition:var(--fs-anim-ochLogo, transform calc(.6s * var(--fs-anim-speed, 1)) cubic-bezier(.34,1.56,.64,1))}
  [data-fs-theme='ochreash'][data-fs-motion='on'] .fs-hdr-row > :first-child:hover [data-fs-logo-mark]{transform:var(--fs-anim-ochLogo, rotate(calc(-12deg * var(--fs-motion-dist, 1))) scale(calc(1 + .08 * var(--fs-motion-dist, 1))))}
  /* ochMenu - the burger's bars cross (the squiggle under the menu words is in menu-styles.ts) */
  [data-fs-theme='ochreash'][data-fs-motion='on'] .fs-hdr-row .fs-hdr-menu-btn::before,[data-fs-theme='ochreash'][data-fs-motion='on'] .fs-hdr-row .fs-hdr-menu-btn::after{transition:var(--fs-anim-ochMenu, transform calc(.3s * var(--fs-anim-speed, 1)))}
  /* ochPop - the phone menu's card drops in */
  [data-fs-theme='ochreash'][data-fs-motion='on'] .fs-hdr-mobile-list{animation:var(--fs-anim-ochPop, fs-ochc-drop calc(.35s * var(--fs-anim-speed, 1)) cubic-bezier(.34,1.4,.64,1) backwards)}
}
@media (prefers-reduced-motion:reduce){
  [data-fs-theme='ochreash'] .fs-hdr-row [data-fs-logo-mark],[data-fs-theme='ochreash'] .fs-hdr-row .fs-hdr-menu-btn::before,[data-fs-theme='ochreash'] .fs-hdr-row .fs-hdr-menu-btn::after,[data-fs-theme='ochreash'] .fs-hdr-mobile-list{animation:none !important;transition:none !important}
}


/* ── Back to top ─────────────────────────────────────────────────
   Fixed, and translated onto the scroller's corner from JS (see the
   positioning effect) so it tracks the viewport rather than sitting at
   the foot of the page.

   Width/height/border-radius are set INLINE from React (Size and
   Corners are customer-editable), not here — this sheet only owns what
   doesn't vary per-instance. Position, motion and the show/hide
   choreography ARE unconditional across every preset; only fill/border/
   colour vary, gated on [data-btt-preset]. This keeps "Look" in Site
   Settings a genuinely cosmetic choice: switching it never moves the
   button or changes how it behaves, only how it's painted. */
.fs-back-to-top{
  position:fixed;
  right:1.75rem;bottom:1.75rem;
  display:grid;place-items:center;
  cursor:pointer;padding:0;
  opacity:0;pointer-events:none;
  transition:opacity .32s ease, transform .42s cubic-bezier(.2,.9,.25,1.06),
             box-shadow .3s ease, border-color .3s ease, background-color .3s ease;
  z-index:40;
}
/* Position: bottom-right is the plain right/bottom above (also the
   published-page default, where JS never sets an inline left/top).
   bottom-left flips the horizontal side only — still floor-anchored. */
.fs-back-to-top[data-btt-position="bottom-left"]{right:auto;left:1.75rem;}
.fs-back-to-top.is-visible{opacity:1;pointer-events:auto;}
.fs-back-to-top:focus-visible{outline:2px solid rgb(var(--c-brand-600));outline-offset:3px;}

/* ══ Hover ═══════════════════════════════════════════════════════
   The ongoing "you can click me" cue, distinct from the one-time
   arrival transition in the Appear-effect block near the bottom of this
   sheet. One rule each, all gated on [data-btt-hover], so picking one
   REPLACES the last rather than combining with it.

   These sit above the :active rule below on purpose: pressing should
   always beat hovering, and on a tie (both are one class + one attr +
   one pseudo) the later rule wins. */
.fs-back-to-top[data-btt-hover="lift"]:hover{transform:translateY(-3px);}
.fs-back-to-top[data-btt-hover="lift"]:hover .fs-btt-icon{transform:translateY(-2px);}
.fs-back-to-top[data-btt-hover="grow"]:hover{transform:scale(1.08);}
/* Glow uses filter, NOT box-shadow: box-shadow is already spoken for by
   the preset (its inset highlight) plus the Drop-shadow control's
   --fs-btt-shadow, and adding a third author would mean one of them
   silently losing its half of the declaration. */
.fs-back-to-top[data-btt-hover="glow"]:hover{filter:drop-shadow(0 0 9px rgb(var(--c-brand-600) / .6));}
@keyframes fs-btt-pulse{0%,100%{transform:scale(1);}50%{transform:scale(1.07);}}
.fs-back-to-top[data-btt-hover="pulse"]:hover{animation:fs-btt-pulse 1.25s ease-in-out infinite;}

.fs-back-to-top:active{transform:translateY(.125rem);}

/* Progress ring — the arc fills as the page is read. Present on every
   preset except 'minimal', which is deliberately just an outline + arrow
   (see the preset block below).

   No rotate() here: the ring is a <rect> whose path already starts at
   the right place for both a circle and a square (see the JSX comment).
   Styling targets rect rather than circle for the same reason. */
/* pointer-events:none — the ring is decoration. On the canvas button
   clicks would fall through to the button anyway, but in the drawer
   preview a mis-anchored ring once covered the whole panel and its
   stroke ate clicks on the controls beneath it; this guarantees the
   ring can never intercept anything again, wherever it ends up. */
.fs-btt-ring{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;}
.fs-btt-ring rect{fill:none;stroke-width:2;}
.fs-btt-arc{stroke-linecap:round;transition:stroke-dashoffset .18s linear;}
.fs-btt-icon{
  position:relative;
  transition:transform .32s cubic-bezier(.2,.9,.25,1.06);
}
/* (The arrow's own hover lift now belongs to the 'lift' hover mode
   above, not to every button unconditionally — otherwise choosing
   "None" would still visibly react.) */
/* Custom-upload icon: a plain wrapper span carrying the sanitized <svg>
   via dangerouslySetInnerHTML (see the isCustom branch above). The
   injected <svg> has no explicit width/height (svg-sanitize.ts strips
   them) so it naturally fills this box via CSS instead. */
.fs-btt-icon-custom{display:flex;align-items:center;justify-content:center;}
.fs-btt-icon-custom svg{width:100%;height:100%;display:block;}

/* ══ Presets — fill, border, colour ═══════════════════════════════
   Five bundled looks (Site Settings → Components → Back to Top → Look),
   the same "pick a look, not a colour" idiom the Shape card uses. Each
   sets background / border-color / color / box-shadow / the ring's
   track colour together, so switching presets can never leave one
   property from the old look mismatched with the new one. */

/* Every preset's outer shadow is var(--fs-btt-shadow) — set inline from
   React per the Shadow control (Flat/Soft/Deep), with the SAME "Soft"
   value as the fallback so a preset never regresses if the variable is
   ever absent. The inset highlight line stays fixed per-preset (it is
   part of the material, not the "how far does it float" question Shadow
   answers), so the two compose in one box-shadow declaration rather than
   one clobbering the other. */

/* Branded (default) — a frosted disc tinted with the theme's brand
   colour. A saturating backdrop-filter picks up whatever is scrolling
   behind it, so the button belongs to the page instead of floating on
   top of it — the same move a glass panel makes in the Luxe blocks. The
   brand colour is spent on the ring and the arrow, where it reads as
   intent rather than as a large coloured circle. */
.fs-back-to-top[data-btt-preset="branded"]{
  border:1px solid rgb(var(--c-ink-950) / .10);
  background:rgb(var(--c-paper) / .72);
  -webkit-backdrop-filter:blur(14px) saturate(1.6);
  backdrop-filter:blur(14px) saturate(1.6);
  /* !important: the page's own typography sheet carries a same-specificity
     rule — .fs-typo button { color: var(--fs-btn-color, inherit) }, from
     typography.ts — meant for content buttons (CTAs etc). This is chrome,
     not content, and it loads INSIDE .fs-typo (it has to, to reach the
     preview's scrolling surface), so it is caught by that selector along
     with every real button on the page. Without this, a page whose button
     colour resolves to something pale (or, worse, white) makes the arrow
     and border unreadable — the same bug across every preset, not just
     this one, so every preset below carries the same !important. */
  color:rgb(var(--c-brand-600)) !important;
  box-shadow:0 1px 0 rgb(255 255 255 / .5) inset, var(--fs-btt-shadow, 0 12px 32px rgb(0 0 0 / .16));
}
.fs-back-to-top[data-btt-preset="branded"] .fs-btt-track{stroke:rgb(var(--c-ink-950) / .10);}
.fs-back-to-top[data-btt-preset="branded"] .fs-btt-arc{stroke:rgb(var(--c-brand-600));}
.fs-back-to-top[data-btt-preset="branded"]:hover{border-color:rgb(var(--c-brand-600) / .35);}
/* Dark mode: the frost needs to darken rather than lighten, or the disc
   glows against a dark page.

   Scoped to .fs-preview-scope.dark specifically, NOT a bare ".dark"
   ancestor selector. The button lives inside the editor, whose own shell
   has an independent dark mode (the dashboard's light/switch, applied to
   <html> — see layout.tsx) — unrelated to previewMode, which is the
   WEBSITE's light/dark toggle and is what actually puts a dark class on
   .fs-preview-scope. A bare ".dark .fs-back-to-top" matched whenever the
   EDITOR CHROME was dark, regardless of what the previewed page was set
   to: with the dashboard dark and the page previewed in light mode, the
   button silently rendered white-on-near-white — an invisible arrow. */
.fs-preview-scope.dark .fs-back-to-top[data-btt-preset="branded"]{
  border-color:rgb(255 255 255 / .14);
  background:rgb(var(--c-paper) / .55);
  box-shadow:0 1px 0 rgb(255 255 255 / .08) inset, var(--fs-btt-shadow, 0 12px 32px rgb(0 0 0 / .45));
}
.fs-preview-scope.dark .fs-back-to-top[data-btt-preset="branded"] .fs-btt-track{stroke:rgb(255 255 255 / .16);}

/* Light — solid white, dark arrow, unchanged by the page's own mode or
   palette. For a customer who wants the button to read the same on
   every page regardless of what's behind it. */
.fs-back-to-top[data-btt-preset="light"]{
  border:1px solid rgb(0 0 0 / .08);
  background:#ffffff;
  color:#171226 !important;
  box-shadow:0 1px 0 rgb(255 255 255 / .8) inset, var(--fs-btt-shadow, 0 12px 32px rgb(0 0 0 / .16));
}
.fs-back-to-top[data-btt-preset="light"] .fs-btt-track{stroke:rgb(0 0 0 / .10);}
.fs-back-to-top[data-btt-preset="light"] .fs-btt-arc{stroke:#171226;}

/* Dark — the inverse: solid near-black, white arrow. Also fixed, so it
   is the one preset that reads identically in both the light and the
   dark theme — a deliberate "always dark chrome" choice, distinct from
   Branded's dark-mode variant above which only darkens WHEN the page
   does. */
.fs-back-to-top[data-btt-preset="dark"]{
  border:1px solid rgb(255 255 255 / .12);
  background:#171226;
  color:#ffffff !important;
  box-shadow:0 1px 0 rgb(255 255 255 / .08) inset, var(--fs-btt-shadow, 0 12px 32px rgb(0 0 0 / .35));
}
.fs-back-to-top[data-btt-preset="dark"] .fs-btt-track{stroke:rgb(255 255 255 / .18);}
.fs-back-to-top[data-btt-preset="dark"] .fs-btt-arc{stroke:#ffffff;}

/* Minimal — no fill, just an outline and the arrow. The progress ring
   would read as visual noise against a transparent disc (nothing for
   the track's own ring to sit "on"), so it's hidden outright rather
   than just made hard to see. No drop shadow either, regardless of the
   Shadow control: a shadow under a transparent disc reads as a stray
   dark smudge, not as the disc lifting off the page. */
.fs-back-to-top[data-btt-preset="minimal"]{
  border:1.5px solid rgb(var(--c-ink-950) / .35);
  background:rgb(var(--c-paper) / .4);
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px);
  color:rgb(var(--c-ink-950)) !important;
  box-shadow:none;
}
.fs-back-to-top[data-btt-preset="minimal"] .fs-btt-ring{display:none;}
.fs-back-to-top[data-btt-preset="minimal"]:hover{border-color:rgb(var(--c-ink-950) / .55);}
.fs-preview-scope.dark .fs-back-to-top[data-btt-preset="minimal"]{
  border-color:rgb(255 255 255 / .35);
  background:rgb(0 0 0 / .25);
  color:#ffffff !important;
}
.fs-preview-scope.dark .fs-back-to-top[data-btt-preset="minimal"]:hover{border-color:rgb(255 255 255 / .55);}

/* Outline — a solid brand-coloured ring on a transparent disc: more
   presence than Minimal (a real colour, not a neutral grey outline) but
   still no fill. Reads the theme's brand colour like Branded does, but
   without the frosted-glass fill or backdrop-filter. */
.fs-back-to-top[data-btt-preset="outlineBrand"]{
  border:1.5px solid rgb(var(--c-brand-600) / .55);
  background:rgb(var(--c-paper) / .3);
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px);
  color:rgb(var(--c-brand-600)) !important;
  box-shadow:var(--fs-btt-shadow, 0 12px 32px rgb(0 0 0 / .16));
}
.fs-back-to-top[data-btt-preset="outlineBrand"] .fs-btt-track{stroke:rgb(var(--c-brand-600) / .18);}
.fs-back-to-top[data-btt-preset="outlineBrand"] .fs-btt-arc{stroke:rgb(var(--c-brand-600));}
.fs-back-to-top[data-btt-preset="outlineBrand"]:hover{border-color:rgb(var(--c-brand-600) / .8);}
.fs-preview-scope.dark .fs-back-to-top[data-btt-preset="outlineBrand"]{background:rgb(0 0 0 / .2);}

/* ══ Appear effects — the show/hide transition only ═══════════════
   All three share the same is-visible trigger and end state (opacity 1,
   no transform); they differ only in where the HIDDEN state starts from,
   which is what the .32s/.42s transition above then animates out of. */

/* Fade (default): rises and settles rather than fading flatly. */
.fs-back-to-top[data-btt-effect="fade"]:not(.is-visible){transform:translateY(.625rem);}

/* Slide: travels further, from off to the lower-right, so the motion
   reads as "arriving" rather than the shorter fade drift. */
.fs-back-to-top[data-btt-effect="slide"]:not(.is-visible){transform:translate(1.25rem, 1.25rem);}

/* Bounce: overshoots past its resting scale before settling — a
   springier cubic-bezier than the other two effects get, swapped in
   only for this one so fade/slide stay understated by comparison. */
.fs-back-to-top[data-btt-effect="bounce"]{
  transition:opacity .28s ease, transform .56s cubic-bezier(.34,1.56,.64,1),
             box-shadow .3s ease, border-color .3s ease, background-color .3s ease;
}
.fs-back-to-top[data-btt-effect="bounce"]:not(.is-visible){transform:scale(.4);}

@media (prefers-reduced-motion: reduce){
  .fs-back-to-top,.fs-btt-icon,.fs-btt-arc{transition:none;}
  /* Pulse is the one hover mode that runs continuously rather than
     settling, so it has to be stopped outright here, not just
     un-transitioned. The others reduce to an instant state change,
     which is the intent of the setting. */
  .fs-back-to-top[data-btt-hover="pulse"]:hover{animation:none;}
}


@media (hover: hover) and (pointer: fine) {
  .fsimg-hover-zoom img { transition: transform .35s ease; }
  .fsimg-hover-zoom:hover img { transform: scale(calc(1 + 0.12 * var(--fsfx, .6))); }

  .fsimg-hover-fade img { transition: opacity .3s ease; }
  .fsimg-hover-fade:hover img { opacity: calc(1 - 0.4 * var(--fsfx, .6)); }

  .fsimg-hover-blur img { transition: filter .3s ease; }
  .fsimg-hover-blur:hover img { filter: blur(3px) !important; }

  .fsimg-hover-colorShift img { transition: filter .35s ease; }
  .fsimg-hover-colorShift:hover img { filter: sepia(.3) saturate(1.3) hue-rotate(-8deg) !important; }

  .fsimg-hover-shadowPop { transition: box-shadow .3s ease, transform .3s ease; }
  .fsimg-hover-shadowPop:hover { box-shadow: 0 14px 34px rgb(0 0 0 / calc(0.4 * var(--fsfx, .6))); transform: translateY(calc(-6px * var(--fsfx, .6))); }

  /* ── New basic effects ── */
  .fsimg-hover-lift { transition: transform .3s ease, box-shadow .3s ease; }
  .fsimg-hover-lift:hover { transform: translateY(calc(-10px * var(--fsfx, .6))); box-shadow: 0 16px 30px rgb(0 0 0 / calc(0.3 * var(--fsfx, .6))); }

  .fsimg-hover-tilt { transition: transform .25s ease; transform-style: preserve-3d; }
  .fsimg-hover-tilt:hover { transform: perspective(700px) rotateX(4deg) rotateY(-4deg) scale(1.02); }

  .fsimg-hover-glow { transition: box-shadow .3s ease; }
  .fsimg-hover-glow:hover { box-shadow: 0 0 calc(30px * var(--fsfx, .6)) 4px rgb(109 40 217 / calc(0.7 * var(--fsfx, .6))); }

  .fsimg-hover-blurIn img { filter: blur(calc(6px * var(--fsfx, .6))); transition: filter .35s ease; }
  .fsimg-hover-blurIn:hover img { filter: blur(0) !important; }

  .fsimg-hover-desaturate img { filter: grayscale(1); transition: filter .35s ease; }
  .fsimg-hover-desaturate:hover img { filter: grayscale(0) !important; }

  .fsimg-hover-darken::after { content: ''; position: absolute; inset: 0; background: rgb(0 0 0 / 0); transition: background .3s ease; pointer-events: none; }
  .fsimg-hover-darken:hover::after { background: rgb(0 0 0 / calc(0.4 * var(--fsfx, .6))); }

  .fsimg-hover-lighten::after { content: ''; position: absolute; inset: 0; background: rgb(255 255 255 / 0); transition: background .3s ease; pointer-events: none; }
  .fsimg-hover-lighten:hover::after { background: rgb(255 255 255 / calc(0.4 * var(--fsfx, .6))); }

  .fsimg-hover-contrastBoost img { transition: filter .3s ease; }
  .fsimg-hover-contrastBoost:hover img { filter: contrast(1.3) saturate(1.1) !important; }

  .fsimg-hover-softFocus::after { content: ''; position: absolute; inset: 0; box-shadow: inset 0 0 24px 10px rgb(255 255 255 / 0); transition: box-shadow .35s ease; pointer-events: none; }
  .fsimg-hover-softFocus:hover::after { box-shadow: inset 0 0 26px 12px rgb(255 255 255 / 0.5); }

  .fsimg-hover-highlightEdge { transition: box-shadow .25s ease; }
  .fsimg-hover-highlightEdge:hover { box-shadow: inset 0 0 0 2px rgb(255 255 255 / 0.9); }

  /* ── Premium effects ── */
  .fsimg-hover-kenBurns img { transition: transform 6s ease; }
  .fsimg-hover-kenBurns:hover img { transform: scale(calc(1 + 0.25 * var(--fsfx, .6))) translate(-3%, -2%); }

  .fsimg-hover-reveal img { transition: filter .5s ease, transform .5s ease; }
  .fsimg-hover-reveal:hover img { filter: saturate(1.4) brightness(1.05) !important; transform: scale(1.04); }

  .fsimg-hover-splitReveal img { transition: clip-path .45s ease; }
  .fsimg-hover-splitReveal:hover img { clip-path: inset(0 0 0 0); }
  .fsimg-hover-splitReveal::before, .fsimg-hover-splitReveal::after { content: ''; position: absolute; top: 0; bottom: 0; width: 50%; background: rgb(var(--c-paper, 255 255 255)); transition: transform .45s ease; z-index: 2; pointer-events: none; }
  .fsimg-hover-splitReveal::before { left: 0; }
  .fsimg-hover-splitReveal::after { right: 0; }
  .fsimg-hover-splitReveal:hover::before { transform: translateX(-100%); }
  .fsimg-hover-splitReveal:hover::after { transform: translateX(100%); }

  .fsimg-hover-ripple::after { content: ''; position: absolute; left: 50%; top: 50%; width: 0; height: 0; border-radius: 9999px; background: rgb(255 255 255 / 0.35); transform: translate(-50%, -50%); transition: width .6s ease, height .6s ease, opacity .6s ease; opacity: 0; pointer-events: none; }
  .fsimg-hover-ripple:hover::after { width: 240%; height: 240%; opacity: 1; }

  .fsimg-hover-glass::after { content: ''; position: absolute; inset: 0; backdrop-filter: blur(0); background: rgb(255 255 255 / 0); transition: backdrop-filter .35s ease, background .35s ease; pointer-events: none; }
  .fsimg-hover-glass:hover::after { backdrop-filter: blur(4px); background: rgb(255 255 255 / 0.15); }

  .fsimg-hover-pop3d { transition: transform .3s ease, box-shadow .3s ease; }
  .fsimg-hover-pop3d:hover { transform: perspective(800px) translateZ(calc(40px * var(--fsfx, .6))) scale(1.05); box-shadow: 0 24px 48px rgb(0 0 0 / calc(0.5 * var(--fsfx, .6))); }

  .fsimg-hover-perspectiveFlip { transition: transform .4s ease; transform-style: preserve-3d; }
  .fsimg-hover-perspectiveFlip:hover { transform: perspective(900px) rotateY(calc(20deg * var(--fsfx, .6))); }

  .fsimg-hover-shineSweep::after { content: ''; position: absolute; top: 0; bottom: 0; left: -60%; width: 40%; background: linear-gradient(100deg, transparent, rgb(255 255 255 / 0.55), transparent); transform: skewX(-18deg); transition: left .6s ease; pointer-events: none; }
  .fsimg-hover-shineSweep:hover::after { left: 120%; }
}


.fs-cookie-focusable:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; border-radius: inherit; }
.fs-cookie-btn:not(.fs-wire) { transition: filter 120ms ease, transform 120ms ease; }
.fs-cookie-btn:not(.fs-wire):hover { filter: brightness(0.94); }
.fs-cookie-btn:not(.fs-wire):active { transform: translateY(1px); }
.fs-cookie-link { cursor: pointer; }
@keyframes fsCookieFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes fsCookieFromBottom { from { transform: translateY(16px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
@keyframes fsCookieFromTop { from { transform: translateY(-16px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
@keyframes fsCookieFromRight { from { transform: translateX(24px); opacity: 0; } to { transform: translateX(0); opacity: 1; } }
@keyframes fsCookieFromLeft { from { transform: translateX(-24px); opacity: 0; } to { transform: translateX(0); opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .fs-cookie-anim { animation: none !important; } }
@media (forced-colors: active) {
  .fs-cookie-shell { border: 1px solid CanvasText; }
  .fs-cookie-focusable:focus-visible { outline: 2px solid Highlight; }
}


/* ════════ MODERN ════════ */
:is([data-fs-fm][data-fm-theme="modern"], [data-fs-form-look="modern"] [data-fs-fm]:not([data-fm-theme])) input[type="text"],
:is([data-fs-fm][data-fm-theme="modern"], [data-fs-form-look="modern"] [data-fs-fm]:not([data-fm-theme])) input[type="email"],
:is([data-fs-fm][data-fm-theme="modern"], [data-fs-form-look="modern"] [data-fs-fm]:not([data-fm-theme])) input[type="tel"],
:is([data-fs-fm][data-fm-theme="modern"], [data-fs-form-look="modern"] [data-fs-fm]:not([data-fm-theme])) input[type="number"],
:is([data-fs-fm][data-fm-theme="modern"], [data-fs-form-look="modern"] [data-fs-fm]:not([data-fm-theme])) input[type="date"],
:is([data-fs-fm][data-fm-theme="modern"], [data-fs-form-look="modern"] [data-fs-fm]:not([data-fm-theme])) input[type="file"],
:is([data-fs-fm][data-fm-theme="modern"], [data-fs-form-look="modern"] [data-fs-fm]:not([data-fm-theme])) textarea,
:is([data-fs-fm][data-fm-theme="modern"], [data-fs-form-look="modern"] [data-fs-fm]:not([data-fm-theme])) select,
:is([data-fs-fm][data-fm-theme="modern"], [data-fs-form-look="modern"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-select-trigger],
:is([data-fs-fm][data-fm-theme="modern"], [data-fs-form-look="modern"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-rank-item] {
  background: rgb(var(--c-paper, 255 255 255));
  border-color: rgb(var(--c-line, 212 212 216));
}
:is([data-fs-fm][data-fm-theme="modern"], [data-fs-form-look="modern"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-grid] { gap: 18px; }
:is([data-fs-fm][data-fm-theme="modern"], [data-fs-form-look="modern"] [data-fs-fm]:not([data-fm-theme])) input:focus-visible,
:is([data-fs-fm][data-fm-theme="modern"], [data-fs-form-look="modern"] [data-fs-fm]:not([data-fm-theme])) textarea:focus-visible,
:is([data-fs-fm][data-fm-theme="modern"], [data-fs-form-look="modern"] [data-fs-fm]:not([data-fm-theme])) select:focus-visible,
:is([data-fs-fm][data-fm-theme="modern"], [data-fs-form-look="modern"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-select-trigger]:focus-visible,
:is([data-fs-fm][data-fm-theme="modern"], [data-fs-form-look="modern"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-select-trigger][data-open="1"] {
  box-shadow: 0 0 0 4px rgb(var(--c-brand-600, 109 40 217) / 0.16);
}
:is([data-fs-fm][data-fm-theme="modern"], [data-fs-form-look="modern"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-submit] { background: rgb(var(--c-brand-600, 109 40 217)); color: var(--fs-on-brand, #fff); border-radius: 10px; }

/* ════════ MINIMAL ════════ */
:is([data-fs-fm][data-fm-theme="minimal"], [data-fs-form-look="minimal"] [data-fs-fm]:not([data-fm-theme])) { --fs-fm-radius: 0px; }
:is([data-fs-fm][data-fm-theme="minimal"], [data-fs-form-look="minimal"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-grid] { gap: 20px; }
:is([data-fs-fm][data-fm-theme="minimal"], [data-fs-form-look="minimal"] [data-fs-fm]:not([data-fm-theme])) input[type="text"],
:is([data-fs-fm][data-fm-theme="minimal"], [data-fs-form-look="minimal"] [data-fs-fm]:not([data-fm-theme])) input[type="email"],
:is([data-fs-fm][data-fm-theme="minimal"], [data-fs-form-look="minimal"] [data-fs-fm]:not([data-fm-theme])) input[type="tel"],
:is([data-fs-fm][data-fm-theme="minimal"], [data-fs-form-look="minimal"] [data-fs-fm]:not([data-fm-theme])) input[type="number"],
:is([data-fs-fm][data-fm-theme="minimal"], [data-fs-form-look="minimal"] [data-fs-fm]:not([data-fm-theme])) input[type="date"],
:is([data-fs-fm][data-fm-theme="minimal"], [data-fs-form-look="minimal"] [data-fs-fm]:not([data-fm-theme])) input[type="file"],
:is([data-fs-fm][data-fm-theme="minimal"], [data-fs-form-look="minimal"] [data-fs-fm]:not([data-fm-theme])) textarea,
:is([data-fs-fm][data-fm-theme="minimal"], [data-fs-form-look="minimal"] [data-fs-fm]:not([data-fm-theme])) select,
:is([data-fs-fm][data-fm-theme="minimal"], [data-fs-form-look="minimal"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-select-trigger],
:is([data-fs-fm][data-fm-theme="minimal"], [data-fs-form-look="minimal"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-rank-item] {
  background: transparent;
  border: none;
  border-bottom: 1px solid rgb(var(--c-line, 212 212 216));
  border-radius: 0;
  padding: 8px 2px;
  box-shadow: none;
}
:is([data-fs-fm][data-fm-theme="minimal"], [data-fs-form-look="minimal"] [data-fs-fm]:not([data-fm-theme])) input:focus-visible,
:is([data-fs-fm][data-fm-theme="minimal"], [data-fs-form-look="minimal"] [data-fs-fm]:not([data-fm-theme])) textarea:focus-visible,
:is([data-fs-fm][data-fm-theme="minimal"], [data-fs-form-look="minimal"] [data-fs-fm]:not([data-fm-theme])) select:focus-visible,
:is([data-fs-fm][data-fm-theme="minimal"], [data-fs-form-look="minimal"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-select-trigger]:focus-visible,
:is([data-fs-fm][data-fm-theme="minimal"], [data-fs-form-look="minimal"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-select-trigger][data-open="1"] {
  outline: none;
  box-shadow: none;
  border-bottom-color: rgb(var(--c-brand-600, 109 40 217));
  border-bottom-width: 2px;
}
:is([data-fs-fm][data-fm-theme="minimal"], [data-fs-form-look="minimal"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-submit] {
  border-radius: 0;
  background: transparent;
  color: rgb(var(--c-brand-600, 109 40 217));
  border: 1px solid rgb(var(--c-brand-600, 109 40 217));
  box-shadow: none;
}
:is([data-fs-fm][data-fm-theme="minimal"], [data-fs-form-look="minimal"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-submit]:hover {
  background: rgb(var(--c-brand-600, 109 40 217));
  color: rgb(var(--c-paper, 255 255 255));
  filter: none;
  box-shadow: none;
}

/* ════════ ROUNDED ════════ */
:is([data-fs-fm][data-fm-theme="rounded"], [data-fs-form-look="rounded"] [data-fs-fm]:not([data-fm-theme])) { --fs-fm-radius: 999px; }
:is([data-fs-fm][data-fm-theme="rounded"], [data-fs-form-look="rounded"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-grid] { gap: 16px; }
:is([data-fs-fm][data-fm-theme="rounded"], [data-fs-form-look="rounded"] [data-fs-fm]:not([data-fm-theme])) input[type="text"],
:is([data-fs-fm][data-fm-theme="rounded"], [data-fs-form-look="rounded"] [data-fs-fm]:not([data-fm-theme])) input[type="email"],
:is([data-fs-fm][data-fm-theme="rounded"], [data-fs-form-look="rounded"] [data-fs-fm]:not([data-fm-theme])) input[type="tel"],
:is([data-fs-fm][data-fm-theme="rounded"], [data-fs-form-look="rounded"] [data-fs-fm]:not([data-fm-theme])) input[type="number"],
:is([data-fs-fm][data-fm-theme="rounded"], [data-fs-form-look="rounded"] [data-fs-fm]:not([data-fm-theme])) input[type="date"],
:is([data-fs-fm][data-fm-theme="rounded"], [data-fs-form-look="rounded"] [data-fs-fm]:not([data-fm-theme])) input[type="file"],
:is([data-fs-fm][data-fm-theme="rounded"], [data-fs-form-look="rounded"] [data-fs-fm]:not([data-fm-theme])) textarea,
:is([data-fs-fm][data-fm-theme="rounded"], [data-fs-form-look="rounded"] [data-fs-fm]:not([data-fm-theme])) select,
:is([data-fs-fm][data-fm-theme="rounded"], [data-fs-form-look="rounded"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-select-trigger],
:is([data-fs-fm][data-fm-theme="rounded"], [data-fs-form-look="rounded"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-rank-item] {
  background: rgb(var(--c-paper, 255 255 255));
  border-color: rgb(var(--c-line, 212 212 216));
  border-radius: 999px;
  padding: 11px 18px;
}
/* Textareas can't be pills — soften to a large radius instead. Repeated
   after FIELDS() so source order gives it the win over the shared rule. */
:is([data-fs-fm][data-fm-theme="rounded"], [data-fs-form-look="rounded"] [data-fs-fm]:not([data-fm-theme])) textarea { border-radius: 18px; padding: 12px 18px; }
:is([data-fs-fm][data-fm-theme="rounded"], [data-fs-form-look="rounded"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-submit] { border-radius: 999px; padding: 12px 28px; background: rgb(var(--c-brand-600, 109 40 217)); color: var(--fs-on-brand, #fff); }

/* ════════ BOXED ════════ */
:is([data-fs-fm][data-fm-theme="boxed"], [data-fs-form-look="boxed"] [data-fs-fm]:not([data-fm-theme])) { --fs-fm-radius: 4px; }
:is([data-fs-fm][data-fm-theme="boxed"], [data-fs-form-look="boxed"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-grid] { gap: 16px; }
:is([data-fs-fm][data-fm-theme="boxed"], [data-fs-form-look="boxed"] [data-fs-fm]:not([data-fm-theme])) input[type="text"],
:is([data-fs-fm][data-fm-theme="boxed"], [data-fs-form-look="boxed"] [data-fs-fm]:not([data-fm-theme])) input[type="email"],
:is([data-fs-fm][data-fm-theme="boxed"], [data-fs-form-look="boxed"] [data-fs-fm]:not([data-fm-theme])) input[type="tel"],
:is([data-fs-fm][data-fm-theme="boxed"], [data-fs-form-look="boxed"] [data-fs-fm]:not([data-fm-theme])) input[type="number"],
:is([data-fs-fm][data-fm-theme="boxed"], [data-fs-form-look="boxed"] [data-fs-fm]:not([data-fm-theme])) input[type="date"],
:is([data-fs-fm][data-fm-theme="boxed"], [data-fs-form-look="boxed"] [data-fs-fm]:not([data-fm-theme])) input[type="file"],
:is([data-fs-fm][data-fm-theme="boxed"], [data-fs-form-look="boxed"] [data-fs-fm]:not([data-fm-theme])) textarea,
:is([data-fs-fm][data-fm-theme="boxed"], [data-fs-form-look="boxed"] [data-fs-fm]:not([data-fm-theme])) select,
:is([data-fs-fm][data-fm-theme="boxed"], [data-fs-form-look="boxed"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-select-trigger],
:is([data-fs-fm][data-fm-theme="boxed"], [data-fs-form-look="boxed"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-rank-item] {
  background: rgb(var(--c-paper, 255 255 255));
  border-width: 2px;
  border-color: rgb(var(--c-ink-950, 15 14 23));
  border-radius: 4px;
}
:is([data-fs-fm][data-fm-theme="boxed"], [data-fs-form-look="boxed"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-submit] {
  border-radius: 4px;
  border: 2px solid rgb(var(--c-brand-600, 109 40 217));
  background: rgb(var(--c-brand-600, 109 40 217));
  color: var(--fs-on-brand, #fff);
}

/* ════════ SPACIOUS ════════ */
:is([data-fs-fm][data-fm-theme="spacious"], [data-fs-form-look="spacious"] [data-fs-fm]:not([data-fm-theme])) { --fs-fm-radius: 12px; }
:is([data-fs-fm][data-fm-theme="spacious"], [data-fs-form-look="spacious"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-grid] { gap: 30px; }
:is([data-fs-fm][data-fm-theme="spacious"], [data-fs-form-look="spacious"] [data-fs-fm]:not([data-fm-theme])) input[type="text"],
:is([data-fs-fm][data-fm-theme="spacious"], [data-fs-form-look="spacious"] [data-fs-fm]:not([data-fm-theme])) input[type="email"],
:is([data-fs-fm][data-fm-theme="spacious"], [data-fs-form-look="spacious"] [data-fs-fm]:not([data-fm-theme])) input[type="tel"],
:is([data-fs-fm][data-fm-theme="spacious"], [data-fs-form-look="spacious"] [data-fs-fm]:not([data-fm-theme])) input[type="number"],
:is([data-fs-fm][data-fm-theme="spacious"], [data-fs-form-look="spacious"] [data-fs-fm]:not([data-fm-theme])) input[type="date"],
:is([data-fs-fm][data-fm-theme="spacious"], [data-fs-form-look="spacious"] [data-fs-fm]:not([data-fm-theme])) input[type="file"],
:is([data-fs-fm][data-fm-theme="spacious"], [data-fs-form-look="spacious"] [data-fs-fm]:not([data-fm-theme])) textarea,
:is([data-fs-fm][data-fm-theme="spacious"], [data-fs-form-look="spacious"] [data-fs-fm]:not([data-fm-theme])) select,
:is([data-fs-fm][data-fm-theme="spacious"], [data-fs-form-look="spacious"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-select-trigger],
:is([data-fs-fm][data-fm-theme="spacious"], [data-fs-form-look="spacious"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-rank-item] {
  background: rgb(var(--c-paper, 255 255 255));
  border-color: rgb(var(--c-line, 212 212 216));
  padding: 16px 18px;
}
:is([data-fs-fm][data-fm-theme="spacious"], [data-fs-form-look="spacious"] [data-fs-fm]:not([data-fm-theme])) textarea { min-height: 140px; }
:is([data-fs-fm][data-fm-theme="spacious"], [data-fs-form-look="spacious"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-field] { gap: 10px; }
:is([data-fs-fm][data-fm-theme="spacious"], [data-fs-form-look="spacious"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-submit] {
  border-radius: 12px;
  padding: 16px 32px;
  background: rgb(var(--c-brand-600, 109 40 217));
  color: var(--fs-on-brand, #fff);
}

/* ════════ COMPACT ════════ */
:is([data-fs-fm][data-fm-theme="compact"], [data-fs-form-look="compact"] [data-fs-fm]:not([data-fm-theme])) { --fs-fm-radius: 6px; font-size: 13px; }
:is([data-fs-fm][data-fm-theme="compact"], [data-fs-form-look="compact"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-grid] { gap: 10px; }
:is([data-fs-fm][data-fm-theme="compact"], [data-fs-form-look="compact"] [data-fs-fm]:not([data-fm-theme])) input[type="text"],
:is([data-fs-fm][data-fm-theme="compact"], [data-fs-form-look="compact"] [data-fs-fm]:not([data-fm-theme])) input[type="email"],
:is([data-fs-fm][data-fm-theme="compact"], [data-fs-form-look="compact"] [data-fs-fm]:not([data-fm-theme])) input[type="tel"],
:is([data-fs-fm][data-fm-theme="compact"], [data-fs-form-look="compact"] [data-fs-fm]:not([data-fm-theme])) input[type="number"],
:is([data-fs-fm][data-fm-theme="compact"], [data-fs-form-look="compact"] [data-fs-fm]:not([data-fm-theme])) input[type="date"],
:is([data-fs-fm][data-fm-theme="compact"], [data-fs-form-look="compact"] [data-fs-fm]:not([data-fm-theme])) input[type="file"],
:is([data-fs-fm][data-fm-theme="compact"], [data-fs-form-look="compact"] [data-fs-fm]:not([data-fm-theme])) textarea,
:is([data-fs-fm][data-fm-theme="compact"], [data-fs-form-look="compact"] [data-fs-fm]:not([data-fm-theme])) select,
:is([data-fs-fm][data-fm-theme="compact"], [data-fs-form-look="compact"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-select-trigger],
:is([data-fs-fm][data-fm-theme="compact"], [data-fs-form-look="compact"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-rank-item] {
  background: rgb(var(--c-paper, 255 255 255));
  border-color: rgb(var(--c-line, 212 212 216));
  padding: 7px 10px;
}
:is([data-fs-fm][data-fm-theme="compact"], [data-fs-form-look="compact"] [data-fs-fm]:not([data-fm-theme])) textarea { min-height: 72px; }
:is([data-fs-fm][data-fm-theme="compact"], [data-fs-form-look="compact"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-field] { gap: 4px; }
:is([data-fs-fm][data-fm-theme="compact"], [data-fs-form-look="compact"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-submit] {
  border-radius: 6px;
  padding: 8px 16px;
  background: rgb(var(--c-brand-600, 109 40 217));
  color: var(--fs-on-brand, #fff);
}

/* ════════ RETRO ════════
   Deliberately literal black/white — see header. */
:is([data-fs-fm][data-fm-theme="retro"], [data-fs-form-look="retro"] [data-fs-fm]:not([data-fm-theme])) { --fs-fm-radius: 0px; --fs-fm-field-border-focus: #000000; }
:is([data-fs-fm][data-fm-theme="retro"], [data-fs-form-look="retro"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-grid] { gap: 14px; }
:is([data-fs-fm][data-fm-theme="retro"], [data-fs-form-look="retro"] [data-fs-fm]:not([data-fm-theme])) input[type="text"],
:is([data-fs-fm][data-fm-theme="retro"], [data-fs-form-look="retro"] [data-fs-fm]:not([data-fm-theme])) input[type="email"],
:is([data-fs-fm][data-fm-theme="retro"], [data-fs-form-look="retro"] [data-fs-fm]:not([data-fm-theme])) input[type="tel"],
:is([data-fs-fm][data-fm-theme="retro"], [data-fs-form-look="retro"] [data-fs-fm]:not([data-fm-theme])) input[type="number"],
:is([data-fs-fm][data-fm-theme="retro"], [data-fs-form-look="retro"] [data-fs-fm]:not([data-fm-theme])) input[type="date"],
:is([data-fs-fm][data-fm-theme="retro"], [data-fs-form-look="retro"] [data-fs-fm]:not([data-fm-theme])) input[type="file"],
:is([data-fs-fm][data-fm-theme="retro"], [data-fs-form-look="retro"] [data-fs-fm]:not([data-fm-theme])) textarea,
:is([data-fs-fm][data-fm-theme="retro"], [data-fs-form-look="retro"] [data-fs-fm]:not([data-fm-theme])) select,
:is([data-fs-fm][data-fm-theme="retro"], [data-fs-form-look="retro"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-select-trigger],
:is([data-fs-fm][data-fm-theme="retro"], [data-fs-form-look="retro"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-rank-item] {
  background: #ffffff;
  border: 2px solid #000000;
  border-radius: 0;
  color: #000000;
  box-shadow: none;
}
:is([data-fs-fm][data-fm-theme="retro"], [data-fs-form-look="retro"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-label] { color: #000000; text-transform: uppercase; letter-spacing: 0.03em; }
:is([data-fs-fm][data-fm-theme="retro"], [data-fs-form-look="retro"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-help] { color: #333333; }
:is([data-fs-fm][data-fm-theme="retro"], [data-fs-form-look="retro"] [data-fs-fm]:not([data-fm-theme])) input:focus-visible,
:is([data-fs-fm][data-fm-theme="retro"], [data-fs-form-look="retro"] [data-fs-fm]:not([data-fm-theme])) textarea:focus-visible,
:is([data-fs-fm][data-fm-theme="retro"], [data-fs-form-look="retro"] [data-fs-fm]:not([data-fm-theme])) select:focus-visible,
:is([data-fs-fm][data-fm-theme="retro"], [data-fs-form-look="retro"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-select-trigger]:focus-visible,
:is([data-fs-fm][data-fm-theme="retro"], [data-fs-form-look="retro"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-select-trigger][data-open="1"] {
  outline: 2px solid #000000;
  outline-offset: 2px;
  box-shadow: none;
  border-color: #000000;
}
:is([data-fs-fm][data-fm-theme="retro"], [data-fs-form-look="retro"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-submit] {
  border-radius: 0;
  border: 2px solid #000000;
  background: #000000;
  color: #ffffff;
  box-shadow: none;
  filter: none;
}
:is([data-fs-fm][data-fm-theme="retro"], [data-fs-form-look="retro"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-submit]:hover {
  background: #ffffff;
  color: #000000;
  filter: none;
}
.dark :is([data-fs-fm][data-fm-theme="retro"], [data-fs-form-look="retro"] [data-fs-fm]:not([data-fm-theme])) { --fs-fm-field-border-focus: #ffffff; }
.dark :is([data-fs-fm][data-fm-theme="retro"], [data-fs-form-look="retro"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-label] { color: #ffffff; }
.dark :is([data-fs-fm][data-fm-theme="retro"], [data-fs-form-look="retro"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-help] { color: #cccccc; }
.dark :is([data-fs-fm][data-fm-theme="retro"], [data-fs-form-look="retro"] [data-fs-fm]:not([data-fm-theme])) input[type="text"],
.dark :is([data-fs-fm][data-fm-theme="retro"], [data-fs-form-look="retro"] [data-fs-fm]:not([data-fm-theme])) input[type="email"],
.dark :is([data-fs-fm][data-fm-theme="retro"], [data-fs-form-look="retro"] [data-fs-fm]:not([data-fm-theme])) input[type="tel"],
.dark :is([data-fs-fm][data-fm-theme="retro"], [data-fs-form-look="retro"] [data-fs-fm]:not([data-fm-theme])) input[type="number"],
.dark :is([data-fs-fm][data-fm-theme="retro"], [data-fs-form-look="retro"] [data-fs-fm]:not([data-fm-theme])) input[type="date"],
.dark :is([data-fs-fm][data-fm-theme="retro"], [data-fs-form-look="retro"] [data-fs-fm]:not([data-fm-theme])) input[type="file"],
.dark :is([data-fs-fm][data-fm-theme="retro"], [data-fs-form-look="retro"] [data-fs-fm]:not([data-fm-theme])) textarea,
.dark :is([data-fs-fm][data-fm-theme="retro"], [data-fs-form-look="retro"] [data-fs-fm]:not([data-fm-theme])) select,
.dark :is([data-fs-fm][data-fm-theme="retro"], [data-fs-form-look="retro"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-select-trigger],
.dark :is([data-fs-fm][data-fm-theme="retro"], [data-fs-form-look="retro"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-rank-item] {
  background: #000000;
  border-color: #ffffff;
  color: #ffffff;
}
.dark :is([data-fs-fm][data-fm-theme="retro"], [data-fs-form-look="retro"] [data-fs-fm]:not([data-fm-theme])) input:focus-visible,
.dark :is([data-fs-fm][data-fm-theme="retro"], [data-fs-form-look="retro"] [data-fs-fm]:not([data-fm-theme])) textarea:focus-visible,
.dark :is([data-fs-fm][data-fm-theme="retro"], [data-fs-form-look="retro"] [data-fs-fm]:not([data-fm-theme])) select:focus-visible,
.dark :is([data-fs-fm][data-fm-theme="retro"], [data-fs-form-look="retro"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-select-trigger]:focus-visible,
.dark :is([data-fs-fm][data-fm-theme="retro"], [data-fs-form-look="retro"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-select-trigger][data-open="1"] {
  outline-color: #ffffff;
  border-color: #ffffff;
}
.dark :is([data-fs-fm][data-fm-theme="retro"], [data-fs-form-look="retro"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-submit] {
  border-color: #ffffff;
  background: #ffffff;
  color: #000000;
}
.dark :is([data-fs-fm][data-fm-theme="retro"], [data-fs-form-look="retro"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-submit]:hover {
  background: #000000;
  color: #ffffff;
}

/* ════════ GLOW ════════
   A soft brand-colour halo that gathers around a field on focus, and
   sits permanently around the submit button — the same visual language
   as button-styles.ts's own 'glow' variant, so the two vocabularies
   match if a customer picks both. */
:is([data-fs-fm][data-fm-theme="glow"], [data-fs-form-look="glow"] [data-fs-fm]:not([data-fm-theme])) { --fs-fm-field-border-focus: rgb(var(--c-brand-600, 109 40 217)); }
:is([data-fs-fm][data-fm-theme="glow"], [data-fs-form-look="glow"] [data-fs-fm]:not([data-fm-theme])) input[type="text"],
:is([data-fs-fm][data-fm-theme="glow"], [data-fs-form-look="glow"] [data-fs-fm]:not([data-fm-theme])) input[type="email"],
:is([data-fs-fm][data-fm-theme="glow"], [data-fs-form-look="glow"] [data-fs-fm]:not([data-fm-theme])) input[type="tel"],
:is([data-fs-fm][data-fm-theme="glow"], [data-fs-form-look="glow"] [data-fs-fm]:not([data-fm-theme])) input[type="number"],
:is([data-fs-fm][data-fm-theme="glow"], [data-fs-form-look="glow"] [data-fs-fm]:not([data-fm-theme])) input[type="date"],
:is([data-fs-fm][data-fm-theme="glow"], [data-fs-form-look="glow"] [data-fs-fm]:not([data-fm-theme])) input[type="file"],
:is([data-fs-fm][data-fm-theme="glow"], [data-fs-form-look="glow"] [data-fs-fm]:not([data-fm-theme])) textarea,
:is([data-fs-fm][data-fm-theme="glow"], [data-fs-form-look="glow"] [data-fs-fm]:not([data-fm-theme])) select,
:is([data-fs-fm][data-fm-theme="glow"], [data-fs-form-look="glow"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-select-trigger],
:is([data-fs-fm][data-fm-theme="glow"], [data-fs-form-look="glow"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-rank-item] {
  background: rgb(var(--c-paper, 255 255 255));
  border-color: rgb(var(--c-brand-600, 109 40 217) / 0.35);
}
:is([data-fs-fm][data-fm-theme="glow"], [data-fs-form-look="glow"] [data-fs-fm]:not([data-fm-theme])) input:focus-visible,
:is([data-fs-fm][data-fm-theme="glow"], [data-fs-form-look="glow"] [data-fs-fm]:not([data-fm-theme])) textarea:focus-visible,
:is([data-fs-fm][data-fm-theme="glow"], [data-fs-form-look="glow"] [data-fs-fm]:not([data-fm-theme])) select:focus-visible,
:is([data-fs-fm][data-fm-theme="glow"], [data-fs-form-look="glow"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-select-trigger]:focus-visible,
:is([data-fs-fm][data-fm-theme="glow"], [data-fs-form-look="glow"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-select-trigger][data-open="1"] {
  border-color: rgb(var(--c-brand-600, 109 40 217));
  box-shadow: 0 0 0 5px rgb(var(--c-brand-600, 109 40 217) / 0.22), 0 0 22px rgb(var(--c-brand-600, 109 40 217) / 0.35);
}
:is([data-fs-fm][data-fm-theme="glow"], [data-fs-form-look="glow"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-submit] {
  background: rgb(var(--c-brand-600, 109 40 217));
  color: var(--fs-on-brand, #fff);
  box-shadow: 0 0 20px rgb(var(--c-brand-600, 109 40 217) / 0.55);
}
:is([data-fs-fm][data-fm-theme="glow"], [data-fs-form-look="glow"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-submit]:hover {
  box-shadow: 0 0 32px rgb(var(--c-brand-600, 109 40 217) / 0.70);
}

/* ════════ GLASS ════════
   Frosted, semi-transparent fields — reads best over a photo, gradient
   or the site background system (Site Settings → Components →
   Background), where the blur has something to show through. Over a
   flat paper section it still reads as a soft brand-tinted panel. */
:is([data-fs-fm][data-fm-theme="glass"], [data-fs-form-look="glass"] [data-fs-fm]:not([data-fm-theme])) { --fs-fm-radius: 12px; }
:is([data-fs-fm][data-fm-theme="glass"], [data-fs-form-look="glass"] [data-fs-fm]:not([data-fm-theme])) input[type="text"],
:is([data-fs-fm][data-fm-theme="glass"], [data-fs-form-look="glass"] [data-fs-fm]:not([data-fm-theme])) input[type="email"],
:is([data-fs-fm][data-fm-theme="glass"], [data-fs-form-look="glass"] [data-fs-fm]:not([data-fm-theme])) input[type="tel"],
:is([data-fs-fm][data-fm-theme="glass"], [data-fs-form-look="glass"] [data-fs-fm]:not([data-fm-theme])) input[type="number"],
:is([data-fs-fm][data-fm-theme="glass"], [data-fs-form-look="glass"] [data-fs-fm]:not([data-fm-theme])) input[type="date"],
:is([data-fs-fm][data-fm-theme="glass"], [data-fs-form-look="glass"] [data-fs-fm]:not([data-fm-theme])) input[type="file"],
:is([data-fs-fm][data-fm-theme="glass"], [data-fs-form-look="glass"] [data-fs-fm]:not([data-fm-theme])) textarea,
:is([data-fs-fm][data-fm-theme="glass"], [data-fs-form-look="glass"] [data-fs-fm]:not([data-fm-theme])) select,
:is([data-fs-fm][data-fm-theme="glass"], [data-fs-form-look="glass"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-select-trigger],
:is([data-fs-fm][data-fm-theme="glass"], [data-fs-form-look="glass"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-rank-item] {
  background: rgb(var(--c-brand-600, 109 40 217) / 0.08);
  border-color: rgb(var(--c-brand-600, 109 40 217) / 0.28);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
:is([data-fs-fm][data-fm-theme="glass"], [data-fs-form-look="glass"] [data-fs-fm]:not([data-fm-theme])) input:focus-visible,
:is([data-fs-fm][data-fm-theme="glass"], [data-fs-form-look="glass"] [data-fs-fm]:not([data-fm-theme])) textarea:focus-visible,
:is([data-fs-fm][data-fm-theme="glass"], [data-fs-form-look="glass"] [data-fs-fm]:not([data-fm-theme])) select:focus-visible,
:is([data-fs-fm][data-fm-theme="glass"], [data-fs-form-look="glass"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-select-trigger]:focus-visible,
:is([data-fs-fm][data-fm-theme="glass"], [data-fs-form-look="glass"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-select-trigger][data-open="1"] {
  background: rgb(var(--c-brand-600, 109 40 217) / 0.14);
  border-color: rgb(var(--c-brand-600, 109 40 217) / 0.55);
  box-shadow: 0 0 0 4px rgb(var(--c-brand-600, 109 40 217) / 0.14);
}
:is([data-fs-fm][data-fm-theme="glass"], [data-fs-form-look="glass"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-submit] {
  background: rgb(var(--c-brand-600, 109 40 217) / 0.16);
  color: rgb(var(--c-brand-600, 109 40 217));
  border: 1px solid rgb(var(--c-brand-600, 109 40 217) / 0.40);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  box-shadow: none;
}
:is([data-fs-fm][data-fm-theme="glass"], [data-fs-form-look="glass"] [data-fs-fm]:not([data-fm-theme])) [data-fs-fm-submit]:hover {
  background: rgb(var(--c-brand-600, 109 40 217) / 0.26);
}


[data-fs-corp-head] { color: var(--fs-corp-head, currentColor); }
.dark [data-fs-corp-head] { color: rgb(var(--c-ink-950)); }


/* ── Minimal ───────────────────────────────────────────────────
   Strips the card entirely. Works when the block's own content has
   enough structure to stand on its own (a feature list, a quote). */
[data-fs-preset="minimal"] [data-fs-surface],
[data-fs-preset="minimal"] [class*="fs-surface"] {
  --fs-surface-bg: transparent;
  --fs-surface-border: 0 solid transparent;
  --fs-surface-shadow: none;
  --fs-surface-blur: none;
  padding-inline: 0;
}
[data-fs-preset="minimal"] { background: transparent; }
[data-fs-preset="minimal"]::before { display: none; }

/* ── Elevated ──────────────────────────────────────────────────
   Today's default, named so it can be chosen deliberately rather
   than only arrived at by not choosing. */
[data-fs-preset="elevated"] [data-fs-surface],
[data-fs-preset="elevated"] [class*="fs-surface"] {
  --fs-surface-bg: rgb(var(--c-paper) / 1);
  --fs-surface-border: 1px solid rgb(var(--c-line) / 1);
  --fs-surface-shadow: var(--fs-shadow-card, none);
}
[data-fs-preset="elevated"] { background: rgb(var(--c-paper-soft) / 1); }

/* ── Bold ──────────────────────────────────────────────────────
   The Lumina move: deeper lift plus a brand-tinted gradient. Kept as
   an opt-in rather than a default, because the same blocks serve an
   accountant and a luxury brand. */
[data-fs-preset="bold"] [data-fs-surface],
[data-fs-preset="bold"] [class*="fs-surface"] {
  --fs-surface-bg: rgb(var(--c-paper) / 1);
  --fs-surface-border: 0 solid transparent;
  --fs-surface-shadow: var(--fs-shadow-lift, none);
}
[data-fs-preset="bold"] {
  background:
    linear-gradient(180deg, rgb(var(--c-paper) / 1) 0%, rgb(var(--c-paper-soft) / 1) 100%),
    radial-gradient(60% 80% at 50% 0%, rgb(var(--c-brand-600) / 0.08) 0%, transparent 70%);
}

/* ── Glass ─────────────────────────────────────────────────────
   Translucent cards need something behind them to be worth doing, so
   this preset supplies the glow as well as the blur. */
[data-fs-preset="glass"] [data-fs-surface],
[data-fs-preset="glass"] [class*="fs-surface"] {
  --fs-surface-bg: rgb(var(--c-paper) / 0.72);
  --fs-surface-border: 1px solid rgb(var(--c-line) / 0.6);
  --fs-surface-shadow: var(--fs-shadow-card, none);
  --fs-surface-blur: blur(12px) saturate(1.4);
}
[data-fs-preset="glass"] { position: relative; }
[data-fs-preset="glass"]::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(50% 60% at 50% 0%, rgb(var(--c-brand-600) / 0.14) 0%, transparent 70%);
}

/* Wireframe strips every preset back to structure, matching the
   convention the other *_WIRE sheets follow. */
[data-render="wireframe"] [data-fs-preset] [data-fs-surface],
[data-render="wireframe"] [data-fs-preset] [class*="fs-surface"] {
  --fs-surface-bg: transparent !important;
  --fs-surface-border: 1px dashed rgb(var(--c-line) / 1) !important;
  --fs-surface-shadow: none !important;
  --fs-surface-blur: none !important;
}
[data-render="wireframe"] [data-fs-preset] { background: transparent !important; }
[data-render="wireframe"] [data-fs-preset]::before { display: none !important; }

/* Anyone who asked the OS for less motion gets none of the blur work. */
@media (prefers-reduced-motion: reduce) {
  [data-fs-preset="glass"] [data-fs-surface],
  [data-fs-preset="glass"] [class*="fs-surface"] { --fs-surface-blur: none; }
}


[data-fs-sitebg] { position: relative; isolation: isolate; }
[data-fs-sitebg]::before {
  content: ''; position: absolute; inset: 0; z-index: -2;
  pointer-events: none;
  background-image: var(--fs-bg-image, none);
  background-size: var(--fs-bg-size, cover);
  background-position: var(--fs-bg-position, center);
  background-repeat: var(--fs-bg-repeat, no-repeat);
  background-attachment: var(--fs-bg-attachment, scroll);
  opacity: var(--fs-bg-opacity, 1);
}

/* ── The scrim ─────────────────────────────────────────────────
   NOT optional decoration. This session took the block library from 23
   WCAG AA failures to zero; dropping an arbitrary texture behind body
   text reintroduces them, because a patterned background has no single
   luminance to measure against. The scrim gives the ink a predictable
   surface again, and defaults ON. */
[data-fs-sitebg]::after {
  content: ''; position: absolute; inset: 0; z-index: -1;
  pointer-events: none;
  background: rgb(var(--c-paper) / var(--fs-bg-scrim, 0.72));
}
[data-fs-sitebg][data-fs-bg-scrim="0"]::after { display: none; }

/* A tinted panel is the same background under a heavier scrim — for a
   section with a lot of small text (a table, a FAQ, a pricing grid). */
[data-fs-bg-mode="tinted"] { --fs-bg-scrim: 0.88; }

/* ── Washes ────────────────────────────────────────────────────
   Gradients from the palette. No tiling, so they always cover. */
[data-fs-sitebg][data-fs-bg="softGradient"] {
  --fs-bg-image: linear-gradient(180deg, rgb(var(--c-paper)) 0%, rgb(var(--c-paper-soft)) 100%);
}
[data-fs-sitebg][data-fs-bg="brandWash"] {
  --fs-bg-image:
    radial-gradient(120% 90% at 50% 0%, rgb(var(--fs-bg-tint, var(--c-brand-600)) / 0.18) 0%, transparent 68%),
    linear-gradient(180deg, rgb(var(--c-paper)) 0%, rgb(var(--c-paper-soft)) 100%);
}
[data-fs-sitebg][data-fs-bg="meshGlow"] {
  --fs-bg-image:
    radial-gradient(60% 70% at 12% 8%, rgb(var(--fs-bg-tint, var(--c-brand-600)) / 0.26) 0%, transparent 62%),
    radial-gradient(58% 66% at 88% 92%, rgb(var(--fs-bg-tint, var(--c-accent, var(--c-brand-700))) / 0.22) 0%, transparent 62%),
    linear-gradient(180deg, rgb(var(--c-paper)) 0%, rgb(var(--c-paper-soft)) 100%);
}

/* ── Patterns ──────────────────────────────────────────────────
   These tile, so they set their own size and repeat. Kept very low
   contrast: a pattern that reads clearly behind text is too strong. */
[data-fs-sitebg][data-fs-bg="dotGrid"] {
  --fs-bg-image: radial-gradient(rgb(var(--fs-bg-line, var(--c-ink-400)) / 0.30) 1px, transparent 1px);
  --fs-bg-size: 22px 22px;
  --fs-bg-repeat: repeat;
}
[data-fs-sitebg][data-fs-bg="lineGrid"] {
  --fs-bg-image:
    linear-gradient(rgb(var(--fs-bg-line, var(--c-line)) / 0.55) 1px, transparent 1px),
    linear-gradient(90deg, rgb(var(--fs-bg-line, var(--c-line)) / 0.55) 1px, transparent 1px);
  --fs-bg-size: 28px 28px;
  --fs-bg-repeat: repeat;
}
[data-fs-sitebg][data-fs-bg="diagonalStripe"] {
  --fs-bg-image: repeating-linear-gradient(45deg,
    rgb(var(--fs-bg-tint, var(--c-brand-600)) / 0.07) 0 14px, transparent 14px 34px);
  --fs-bg-size: auto;
  --fs-bg-repeat: repeat;
}
[data-fs-sitebg][data-fs-bg="noise"] {
  /* An SVG turbulence tile — a few hundred bytes, no network request,
     and it scales without banding the way a raster grain would. */
  --fs-bg-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.35'/%3E%3C/svg%3E");
  --fs-bg-size: 140px 140px;
  --fs-bg-repeat: repeat;
}

/* Wireframe strips backgrounds entirely — structure only, matching the
   other *_WIRE sheets. */
[data-render="wireframe"] [data-fs-sitebg]::before,
[data-render="wireframe"] [data-fs-sitebg]::after { display: none !important; }

/* A fixed background is a known jank/repaint cost on touch devices, and
   iOS Safari has never supported it properly. Fall back to scroll. */
@media (hover: none), (prefers-reduced-motion: reduce) {
  [data-fs-sitebg] { --fs-bg-attachment: scroll; }
}


.fsbtn{cursor:pointer;-webkit-user-select:none;user-select:none;}
.fsbtn-solid:hover{background-color:rgb(var(--fs-btn-color-dark, var(--c-brand-700, 91 33 182))) !important;}
.fsbtn-solid:active{background-color:rgb(var(--fs-btn-color-dark, var(--c-brand-700, 91 33 182))) !important;transform:translateY(1px);}
.fsbtn-pill:hover{background-color:rgb(var(--fs-btn-color-dark, var(--c-brand-700, 91 33 182))) !important;transform:scale(1.03);}
.fsbtn-pill:active{transform:scale(0.97);}
.fsbtn-square:hover{background-color:rgb(var(--fs-btn-color-dark, var(--c-brand-700, 91 33 182))) !important;}
.fsbtn-square:active{background-color:rgb(var(--fs-btn-color-dark, var(--c-brand-700, 91 33 182))) !important;transform:translateY(1px);}
.fsbtn-outline:hover{background-color:rgb(var(--fs-btn-color, var(--c-brand-600, 109 40 217)) / 0.10) !important;}
.fsbtn-outline:active{background-color:rgb(var(--fs-btn-color, var(--c-brand-600, 109 40 217))) !important;color:var(--fs-on-brand, #fff) !important;}
.fsbtn-soft:hover{background-color:rgb(var(--fs-btn-color, var(--c-brand-600, 109 40 217)) / 0.16) !important;}
.fsbtn-soft:active{background-color:rgb(var(--fs-btn-color, var(--c-brand-600, 109 40 217)) / 0.26) !important;transform:translateY(1px);}
.fsbtn-raised:hover{box-shadow:0 12px 24px -8px rgb(var(--fs-btn-color, var(--c-brand-600, 109 40 217)) / 0.45) !important;}
.fsbtn-raised:active{transform:translateY(0);box-shadow:0 3px 8px -2px rgb(var(--fs-btn-color, var(--c-brand-600, 109 40 217)) / 0.35) !important;}
.fsbtn-gradient:hover{filter:brightness(1.08);}
.fsbtn-gradient:active{filter:brightness(0.96);transform:scale(0.98);}
.fsbtn-underline:hover{opacity:0.72;}
.fsbtn-underline:active{opacity:0.5;}
.fsbtn-pillOutline:hover{background-color:rgb(var(--fs-btn-color, var(--c-brand-600, 109 40 217)) / 0.10) !important;}
.fsbtn-pillOutline:active{background-color:rgb(var(--fs-btn-color, var(--c-brand-600, 109 40 217))) !important;color:var(--fs-on-brand, #fff) !important;}
.fsbtn-doubleBorder:hover{background-color:rgb(var(--fs-btn-color, var(--c-brand-600, 109 40 217)) / 0.08) !important;}
.fsbtn-doubleBorder:active{background-color:rgb(var(--fs-btn-color, var(--c-brand-600, 109 40 217)) / 0.16) !important;transform:translateY(1px);}
.fsbtn-ghost:hover{background-color:rgb(var(--fs-btn-color, var(--c-brand-600, 109 40 217)) / 0.08) !important;}
.fsbtn-ghost:active{background-color:rgb(var(--fs-btn-color, var(--c-brand-600, 109 40 217)) / 0.16) !important;}
.fsbtn-shadowSoft:hover{box-shadow:0 12px 24px -10px rgb(var(--fs-btn-color, var(--c-brand-600, 109 40 217)) / 0.40) !important;}
.fsbtn-shadowSoft:active{transform:translateY(0);box-shadow:0 3px 8px -3px rgb(var(--fs-btn-color, var(--c-brand-600, 109 40 217)) / 0.30) !important;}
.fsbtn-sharpOutline:hover{background-color:rgb(var(--fs-btn-color, var(--c-brand-600, 109 40 217)) / 0.10) !important;}
.fsbtn-sharpOutline:active{background-color:rgb(var(--fs-btn-color, var(--c-brand-600, 109 40 217))) !important;color:var(--fs-on-brand, #fff) !important;}
.fsbtn-gradientPill:hover{filter:brightness(1.08);transform:scale(1.03);}
.fsbtn-gradientPill:active{filter:brightness(0.96);transform:scale(0.97);}
.fsbtn-blockShadow:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 0 rgb(var(--fs-btn-color-dark, var(--c-brand-700, 91 33 182))) !important;}
.fsbtn-blockShadow:active{transform:translate(4px,4px);box-shadow:0 0 0 0 rgb(var(--fs-btn-color-dark, var(--c-brand-700, 91 33 182))) !important;}
.fsbtn-glow:hover{box-shadow:0 0 24px rgb(var(--fs-btn-color, var(--c-brand-600, 109 40 217)) / 0.55) !important;}
.fsbtn-glow:active{box-shadow:0 0 8px rgb(var(--fs-btn-color, var(--c-brand-600, 109 40 217)) / 0.60) !important;transform:translateY(1px);}
.fsbtn-push:hover{filter:brightness(1.06);}
.fsbtn-push:active{transform:translateY(3px);border-bottom-width:1px !important;}
.fsbtn-slanted:hover{background-color:rgb(var(--fs-btn-color-dark, var(--c-brand-700, 91 33 182))) !important;}
.fsbtn-slanted:active{background-color:rgb(var(--fs-btn-color-dark, var(--c-brand-700, 91 33 182))) !important;transform:translateY(1px);}
.fsbtn-dashed:hover{border-style:solid !important;background-color:rgb(var(--fs-btn-color, var(--c-brand-600, 109 40 217)) / 0.08) !important;}
.fsbtn-dashed:active{background-color:rgb(var(--fs-btn-color, var(--c-brand-600, 109 40 217))) !important;color:var(--fs-on-brand, #fff) !important;border-style:solid !important;}
.fsbtn-glass:hover{background-color:rgb(var(--fs-btn-color, var(--c-brand-600, 109 40 217)) / 0.22) !important;}
.fsbtn-glass:active{background-color:rgb(var(--fs-btn-color, var(--c-brand-600, 109 40 217)) / 0.30) !important;transform:translateY(1px);}


/* One easing for every menu transition, so the whole set feels like a
   family rather than nineteen unrelated widgets. Keyboard focus gets
   the same treatment as hover via :focus-visible throughout. */
.fsmenu-minimal, .fsmenu-bold, .fsmenu-spaced, .fsmenu-compact,
.fsmenu-underline, .fsmenu-boxed, .fsmenu-rounded, .fsmenu-transparent,
.fsmenu-solidBar, .fsmenu-glass, .fsmenu-elevated, .fsmenu-pillNav,
.fsmenu-gradientBar, .fsmenu-outline, .fsmenu-accentDot,
.fsmenu-underlineCenter, .fsmenu-tabs, .fsmenu-editorial, .fsmenu-luxe,
.fsmenu-splitBar, .fsmenu-poleStripe, .fsmenu-facetTabs, .fsmenu-fascia,
.fsmenu-ticketStub, .fsmenu-sphereNav, .fsmenu-waveNav, .fsmenu-folioTabs,
.fsmenu-magnetic, .fsmenu-spotlight, .fsmenu-marker, .fsmenu-stamp,
.fsmenu-wipe, .fsmenu-numbered, .fsmenu-etch, .fsmenu-ghostBox,
.fsmenu-railHair, .fsmenu-railLedger, .fsmenu-railStack,
.fsmenu-railMargin, .fsmenu-railSpine, .fsmenu-railDot, .fsmenu-flowNav,
.fsmenu-memberFlat, .fsmenu-emberPill, .fsmenu-flowUnderline,
.fsmenu-writerNav, .fsmenu-datumRule, .fsmenu-billStar, .fsmenu-linenStitch,
.fsmenu-jobSheet, .fsmenu-counselLetterhead, .fsmenu-haleCross, .fsmenu-plateDiamond,
.fsmenu-maneTabs, .fsmenu-enamelSign, .fsmenu-vernierSpan, .fsmenu-graftTag,
.fsmenu-brightCrayon, .fsmenu-stanhopeDatum, .fsmenu-calmFlourish, .fsmenu-stropBand,
.fsmenu-nightbellPlinth, .fsmenu-greasePencil, .fsmenu-dimensionChain, .fsmenu-keyTabs,
.fsmenu-wardCut, .fsmenu-waypoint, .fsmenu-orielIndex, .fsmenu-fasciaBoard,
.fsmenu-crestRule, .fsmenu-sweptArc, .fsmenu-arcCut, .fsmenu-wayfareFolio,
.fsmenu-pennantHang, .fsmenu-matCorners, .fsmenu-stonePlate, .fsmenu-wristband,
.fsmenu-luminaCapsule, .fsmenu-auroraPill, .fsmenu-insightsTab, .fsmenu-pinned {
  transition: color .2s cubic-bezier(.2,.7,.3,1), background-color .2s cubic-bezier(.2,.7,.3,1),
    border-color .2s cubic-bezier(.2,.7,.3,1), box-shadow .25s cubic-bezier(.2,.7,.3,1),
    transform .2s cubic-bezier(.2,.7,.3,1), opacity .2s ease;
  outline: none;
}
/* The two properties only the rails animate — both are width changes,
   which a column can afford and a row cannot (see the note on the rail
   ids above). Kept out of the shared declaration so no horizontal style
   picks up a transition it can never fire. */
.fsmenu-railSpine { transition: color .2s cubic-bezier(.2,.7,.3,1), letter-spacing .25s cubic-bezier(.2,.7,.3,1); }
.fsmenu-railStack { transition: color .2s cubic-bezier(.2,.7,.3,1), padding-left .25s cubic-bezier(.2,.7,.3,1); }

.fsmenu-minimal:hover, .fsmenu-minimal:focus-visible { color: rgb(var(--fs-menu-color, var(--c-brand-600))); }
.fsmenu-bold:hover, .fsmenu-bold:focus-visible { color: rgb(var(--fs-menu-color, var(--c-brand-600))); }
.fsmenu-spaced:hover, .fsmenu-spaced:focus-visible { color: rgb(var(--fs-menu-color, var(--c-brand-600))); }
.fsmenu-compact:hover, .fsmenu-compact:focus-visible { color: rgb(var(--fs-menu-color, var(--c-brand-600))); }

.fsmenu-underline { text-decoration: none; }
.fsmenu-underline:hover, .fsmenu-underline:focus-visible {
  color: rgb(var(--fs-menu-color, var(--c-brand-600)));
  text-decoration: underline;
  text-decoration-color: rgb(var(--fs-menu-color, var(--c-brand-600)));
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
}

.fsmenu-boxed:hover, .fsmenu-boxed:focus-visible { background: rgb(var(--fs-menu-color-light, var(--c-brand-50))); color: rgb(var(--fs-menu-color-dark, var(--c-brand-700))); border-color: rgb(var(--fs-menu-color, var(--c-brand-600)) / 0.6) !important; }
.fsmenu-rounded:hover, .fsmenu-rounded:focus-visible { background: rgb(var(--fs-menu-color, var(--c-brand-600))) !important; color: #ffffff !important; }
.fsmenu-transparent:hover, .fsmenu-transparent:focus-visible { opacity: 1 !important; color: rgb(var(--fs-menu-color, var(--c-brand-600))); }
.fsmenu-solidBar:hover, .fsmenu-solidBar:focus-visible { background: rgb(var(--fs-menu-color-dark, var(--c-brand-700))); }

/* Premium set */
.fsmenu-glass:hover, .fsmenu-glass:focus-visible { background: rgb(var(--c-paper)); color: rgb(var(--fs-menu-color-dark, var(--c-brand-700))); box-shadow: 0 2px 10px -4px rgb(var(--c-ink-950) / .18); }
.fsmenu-elevated:hover, .fsmenu-elevated:focus-visible { background: rgb(var(--fs-menu-color-light, var(--c-brand-50))); color: rgb(var(--fs-menu-color-dark, var(--c-brand-700))); transform: translateY(-1px); }
.fsmenu-pillNav:hover, .fsmenu-pillNav:focus-visible { background: rgb(var(--c-paper)); color: rgb(var(--fs-menu-color-dark, var(--c-brand-700))); box-shadow: 0 2px 8px -3px rgb(var(--c-ink-950) / .22); }
.fsmenu-gradientBar:hover, .fsmenu-gradientBar:focus-visible { background: rgb(255 255 255 / .18); }
.fsmenu-outline:hover, .fsmenu-outline:focus-visible { border-color: rgb(var(--fs-menu-color, var(--c-brand-600))) !important; background: rgb(var(--fs-menu-color, var(--c-brand-600))); color: #ffffff; }
.fsmenu-tabs:hover, .fsmenu-tabs:focus-visible { background: rgb(var(--fs-menu-color-light, var(--c-brand-50))); color: rgb(var(--fs-menu-color-dark, var(--c-brand-700))); box-shadow: inset 0 -2px 0 rgb(var(--fs-menu-color, var(--c-brand-600))); }
.fsmenu-editorial:hover, .fsmenu-editorial:focus-visible { color: rgb(var(--fs-menu-color, var(--c-brand-600))); font-style: italic; }

/* Split bar: an accent rule seats itself under the item, on the same
   line the whole strip is drawn on. */
.fsmenu-splitBar { position: relative; }
.fsmenu-splitBar::after { content:''; position:absolute; left:11px; right:11px; bottom:-9px; height:2px; background: rgb(var(--fs-menu-color, var(--c-accent, var(--c-brand-600)))); transform: scaleX(0); transform-origin: left; transition: transform .22s cubic-bezier(.2,.7,.3,1); }
.fsmenu-splitBar:hover, .fsmenu-splitBar:focus-visible { color: rgb(var(--c-ink-950)); }
.fsmenu-splitBar:hover::after, .fsmenu-splitBar:focus-visible::after { transform: scaleX(1); }

/* Pole stripe: a slow diagonal stripe drift behind the whole nav
   strip, brightening behind the hovered item only — the pole's turn,
   kept as a tint. Two layers: the always-on ambient drift on the nav
   (very low opacity, GPU-cheap background-position animation) and a
   per-item brightening on hover/focus. */
.fsmenu-poleStripe-nav {
  position: relative;
  /* NO overflow: hidden — it was here and it was doing nothing but
     harm. The drift below is a BACKGROUND on this element, and a
     background is already clipped to the border box; the only thing
     the rule actually clipped was this nav's own dropdown and mega
     panels, which are absolutely-positioned descendants. Anyone who
     picked Pole Stripe lost every sub-menu on the site. */
  background-image: repeating-linear-gradient(
    -35deg,
    rgb(var(--fs-menu-color, var(--c-brand-600)) / .16) 0 10px,
    rgb(var(--fs-menu-color-dark, var(--c-accent, var(--c-brand-700))) / .16) 10px 20px
  );
  background-size: 160% 160%;
  animation: fsmenu-pole-drift 14s linear infinite;
}
@keyframes fsmenu-pole-drift { from { background-position: 0 0; } to { background-position: -113px -113px; } }
.fsmenu-poleStripe { position: relative; }
.fsmenu-poleStripe::before {
  content: ''; position: absolute; inset: 0;
  background: rgb(var(--fs-menu-color, var(--c-brand-600)) / .12);
  opacity: 0; transition: opacity .2s ease;
}
.fsmenu-poleStripe:hover, .fsmenu-poleStripe:focus-visible { color: rgb(var(--c-ink-950)); }
.fsmenu-poleStripe:hover::before, .fsmenu-poleStripe:focus-visible::before { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  .fsmenu-poleStripe-nav { animation: none; }
}

/* Facet tabs: a diagonal shimmer sweeps the case on hover — a
   light-coloured band travelling corner to corner, clipped to the
   item's own bevel so it never escapes the case. */
.fsmenu-facetTabs { position: relative; overflow: hidden; background: rgb(var(--c-paper-soft)); }
.fsmenu-facetTabs::before {
  content: ''; position: absolute; inset: -40% -60%;
  background: linear-gradient(115deg, transparent 42%, rgb(var(--fs-menu-color, var(--c-brand-600)) / .35) 50%, transparent 58%);
  transform: translateX(-120%); transition: transform .55s cubic-bezier(.2,.7,.3,1);
  pointer-events: none;
}
.fsmenu-facetTabs:hover, .fsmenu-facetTabs:focus-visible {
  border-color: rgb(var(--fs-menu-color, var(--c-brand-600))) !important;
  color: rgb(var(--fs-menu-color-dark, var(--c-brand-700)));
}
.fsmenu-facetTabs:hover::before, .fsmenu-facetTabs:focus-visible::before { transform: translateX(120%); }

/* Ticket stub: the perforation is a dashed rule down the leading edge,
   drawn with a repeating-linear-gradient rather than a dashed border so
   only ONE edge is dashed. On hover the tear deepens (the dashes grow
   and the tint warms); on the current page the stub is punched — a real
   round hole, so "you are here" is legible as a SHAPE even where a
   palette flattens the colour difference. */
.fsmenu-ticketStub { position: relative; overflow: hidden; }
.fsmenu-ticketStub::before {
  content: ''; position: absolute; left: 6px; top: 4px; bottom: 4px; width: 1px;
  background: repeating-linear-gradient(to bottom,
    rgb(var(--c-ink-950) / .38) 0 2px, transparent 2px 5px);
  transition: background .2s cubic-bezier(.2,.7,.3,1);
}
.fsmenu-ticketStub:hover, .fsmenu-ticketStub:focus-visible {
  border-color: rgb(var(--fs-menu-color, var(--c-brand-600))) !important;
  color: rgb(var(--fs-menu-color-dark, var(--c-brand-700)));
  background: rgb(var(--c-brand-50) / .5);
}
.fsmenu-ticketStub:hover::before, .fsmenu-ticketStub:focus-visible::before {
  background: repeating-linear-gradient(to bottom,
    rgb(var(--fs-menu-color, var(--c-brand-600)) / .75) 0 3px, transparent 3px 6px);
}
.fsmenu-ticketStub[aria-current]:not([aria-current='false']) {
  border-color: rgb(var(--fs-menu-color, var(--c-brand-600))) !important;
  background: rgb(var(--c-brand-50) / .7);
  color: rgb(var(--fs-menu-color-dark, var(--c-brand-700)));
}
.fsmenu-ticketStub[aria-current]:not([aria-current='false'])::after {
  content: ''; position: absolute; right: 7px; top: 50%;
  width: 6px; height: 6px; margin-top: -3px; border-radius: 999px;
  background: rgb(var(--c-paper));
  box-shadow: inset 0 0 0 1px rgb(var(--c-ink-950) / .30);
}

/* Sphere nav: plain until it's the page you're on, which gets a soft
   brand wash. [aria-current] rather than .fsmw-active (ticketStub's own
   pattern above) — every surface that renders this header already sets
   aria-current on the active item, so this needs no extra class wiring
   from whatever renders the nav. */
.fsmenu-sphereNav:hover, .fsmenu-sphereNav:focus-visible {
  background: rgb(var(--fs-menu-color, var(--c-brand-600)) / .08);
}
.fsmenu-sphereNav[aria-current]:not([aria-current='false']) {
  /* !important on both: item.style's inline color/background (the
     inactive base look) otherwise wins on specificity — same reason
     ticketStub's active rule above needs it on border-color. */
  background: rgb(var(--fs-menu-color, var(--c-brand-600)) / .13) !important;
  /* --fs-nav-active-on is the brand DARKENED until it clears AA against
     this very wash (apply.ts, navActiveVars). Brand-on-brand-tint
     measures 4.07:1 on CreatorFlow and 3.80:1 on PayFlow at 13px
     semibold — both under 4.5 — and both were faithful ports, so the
     shortfall came in from the designs. The tint is untouched; only
     the label moves, by the minimum needed.
     The override still wins: a customer who has picked --fs-menu-color
     gets their colour on their own wash, exactly as before. This only
     changes the SHIPPED default, which is the half that was failing. */
  color: rgb(var(--fs-menu-color, var(--fs-nav-active-on, var(--c-brand-600)))) !important;
}

/* Wave nav: the word itself takes the brand colour with an underline —
   the RealtyWave design's own a:hover treatment, held open on the
   current page. !important on color: the base look's inline ink
   otherwise wins on specificity (same as sphereNav above). */
/* Wave nav: a soft pill row. See dropdownLook's own note on why this
   is no longer the underline the .dc.html export drew.
   !important on colour for the same reason folioTabs needs it — the
   item's inline style sets the resting colour and would otherwise win
   over any state rule here. */
.fsmenu-waveNav:hover, .fsmenu-waveNav:focus-visible {
  background: rgb(var(--c-ink-950) / .05);
  color: rgb(var(--c-ink-950)) !important;
}
.fsmenu-waveNav[aria-current]:not([aria-current='false']) {
  background: rgb(var(--fs-menu-color, var(--c-brand-600)) / .13) !important;
  /* --fs-nav-active-on is the solved label colour for exactly this
     tint (navActiveVars in apply.ts), so the pill clears AA on every
     palette rather than on the four somebody checked. */
  color: rgb(var(--fs-menu-color, var(--fs-nav-active-on, var(--c-brand-600)))) !important;
}

/* Folio tabs: a muted pill row that raises a surface tint on hover and
   an accent-soft pill on the page you are on — the export's own
   .nav-tab / .nav-tab[aria-current="page"] pair. [aria-current] rather
   than .fsmw-active for the same reason sphereNav uses it: every
   surface already sets aria-current, so no extra class wiring is
   needed. !important on both properties because item.style sets the
   inactive colour inline and would otherwise win on specificity. */
.fsmenu-folioTabs:hover, .fsmenu-folioTabs:focus-visible {
  background: rgb(var(--c-ink-950) / .06);
  color: rgb(var(--c-ink-950)) !important;
}
.fsmenu-folioTabs[aria-current]:not([aria-current='false']) {
  background: rgb(var(--fs-menu-color, var(--c-brand-600)) / .13) !important;
  /* --fs-nav-active-on is the brand DARKENED until it clears AA against
     this very wash (apply.ts, navActiveVars). Brand-on-brand-tint
     measures 4.07:1 on CreatorFlow and 3.80:1 on PayFlow at 13px
     semibold — both under 4.5 — and both were faithful ports, so the
     shortfall came in from the designs. The tint is untouched; only
     the label moves, by the minimum needed.
     The override still wins: a customer who has picked --fs-menu-color
     gets their colour on their own wash, exactly as before. This only
     changes the SHIPPED default, which is the half that was failing. */
  color: rgb(var(--fs-menu-color, var(--fs-nav-active-on, var(--c-brand-600)))) !important;
}

/* Flow nav: plain compact items; hover lifts the ink toward the brand,
   the current page sits on the soft brand wash — the PayFlow export's
   own active treatment. !important on both properties of the active
   rule: item.style's inline colour is the base look and wins on
   specificity otherwise (same as sphereNav above). */
.fsmenu-flowNav:hover, .fsmenu-flowNav:focus-visible {
  color: rgb(var(--fs-menu-color, var(--c-brand-600)));
  background: rgb(var(--fs-menu-color, var(--c-brand-600)) / .06);
}
.fsmenu-flowNav[aria-current]:not([aria-current='false']) {
  background: rgb(var(--fs-menu-color, var(--c-brand-600)) / .13) !important;
  /* --fs-nav-active-on is the brand DARKENED until it clears AA against
     this very wash (apply.ts, navActiveVars). Brand-on-brand-tint
     measures 4.07:1 on CreatorFlow and 3.80:1 on PayFlow at 13px
     semibold — both under 4.5 — and both were faithful ports, so the
     shortfall came in from the designs. The tint is untouched; only
     the label moves, by the minimum needed.
     The override still wins: a customer who has picked --fs-menu-color
     gets their colour on their own wash, exactly as before. This only
     changes the SHIPPED default, which is the half that was failing. */
  color: rgb(var(--fs-menu-color, var(--fs-nav-active-on, var(--c-brand-600)))) !important;
}

/* Member flat: the label carries the whole style, so hover is a colour
   move and nothing else. The current page keeps its full ink and is
   marked by a 16x2.5px brand pill 3px beneath the word — drawn as
   ::after rather than a border-bottom so it stays SHORT and centred
   instead of running the width of the label, which is what the export
   does with a column-flex sibling span. Absolutely positioned, so it
   never changes the item's box and never shoves its neighbours along
   the row.

   !important on the two colour rules for the same reason as flowNav and
   sphereNav above: item.style sets the resting ink inline, and an
   inline declaration outranks any stylesheet rule regardless of
   specificity. The ::after has no inline rival, so it needs none. */
.fsmenu-memberFlat { position: relative; }
.fsmenu-memberFlat:hover, .fsmenu-memberFlat:focus-visible {
  color: rgb(var(--fs-menu-color, var(--c-brand-600))) !important;
}
.fsmenu-memberFlat[aria-current]:not([aria-current='false']) {
  color: rgb(var(--c-ink-950)) !important;
}
.fsmenu-memberFlat[aria-current]:not([aria-current='false'])::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -5.5px;
  width: 16px;
  height: 2.5px;
  margin-left: -8px;
  border-radius: 99px;
  background: rgb(var(--fs-menu-color, var(--c-brand-600)));
}

/* CHEFPRIME -- the current page sits in a filled pill.

   The fill is --c-paper-sunk, the THIRD ground this theme introduced.
   An active nav item on this design is not a tint of the brand, it is
   a step of the neutral ramp with brand INK on it -- which is why the
   platform-wide --fs-nav-active-tint (a 13% brand wash) is deliberately
   not used here: it would paint the pill a colour the design does not
   have, on every palette.

   !important on both colour rules for the same reason memberFlat needs
   it: item.style sets the resting ink INLINE, and an inline
   declaration outranks any stylesheet rule whatever its specificity.
   The background has no inline rival and needs none. */
.fsmenu-emberPill:hover, .fsmenu-emberPill:focus-visible {
  color: rgb(var(--fs-menu-color, var(--c-brand-600))) !important;
}
.fsmenu-emberPill[aria-current]:not([aria-current='false']) {
  background: rgb(var(--c-paper-sunk));
  color: rgb(var(--fs-menu-color, var(--c-brand-600))) !important;
}

/* Flow underline: a soft rule grows out from nothing under the link you
   hover, and stays put under the page you are on. HairFlow draws it as
   a pseudo-element rather than a text-decoration so it can ANIMATE its
   width -- a text-decoration can only appear, it cannot grow.

   The item becomes a column so the rule sits BELOW the label rather
   than beside it, which is why this style sets no horizontal padding:
   the bar must span the word, not the padding box.

   !important on the two colour rules for the same reason memberFlat and
   emberPill need it -- item.style sets the resting ink INLINE, and an
   inline declaration outranks any stylesheet rule whatever its
   specificity. The bar has no inline rival and needs none. */
.fsmenu-flowUnderline {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  text-decoration: none;
}
.fsmenu-flowUnderline::after {
  content: "";
  display: block;
  width: 0;
  height: 2.5px;
  margin-top: 5px;
  border-radius: 2px;
  background: rgb(var(--fs-menu-color, var(--c-brand-600)));
  transition: width .3s cubic-bezier(.16, 1, .3, 1);
}
.fsmenu-flowUnderline:hover, .fsmenu-flowUnderline:focus-visible,
.fsmenu-flowUnderline[aria-current]:not([aria-current='false']) {
  color: rgb(var(--c-accent, var(--c-brand-600))) !important;
  text-decoration: none;
}
.fsmenu-flowUnderline:hover::after, .fsmenu-flowUnderline:focus-visible::after,
.fsmenu-flowUnderline[aria-current]:not([aria-current='false'])::after {
  width: 100%;
}

/* A visitor who has asked for less motion gets the same STATE with no
   travel -- the rule appears at full width rather than growing. */
@media (prefers-reduced-motion: reduce) {
  .fsmenu-flowUnderline::after { transition: none; }
}



/* Writer nav: rest ink-2 over a transparent 1.5px rule; hover sharpens
   to ink and shows the hairline; the current page carries the ACCENT
   rule (the design paints it --ww-sage, its accent, not its brand).
   !important on colour for the same reason as waveNav — the base look's
   inline ink-2 otherwise wins. */
.fsmenu-writerNav:hover, .fsmenu-writerNav:focus-visible {
  color: rgb(var(--c-ink-950)) !important;
  border-bottom-color: rgb(var(--c-ink-950) / .18) !important;
}
.fsmenu-writerNav[aria-current]:not([aria-current='false']) {
  color: rgb(var(--c-ink-950)) !important;
  border-bottom-color: rgb(var(--c-accent)) !important;
}

/* Fascia: the gilt keyline rises under the hovered item — the signwriter
   picking one word out in gold. Items keep their reversed ink. */
.fsmenu-fascia { position: relative; }
.fsmenu-fascia::after { content:''; position:absolute; left:13px; right:13px; bottom:-9px; height:3px; background: rgb(var(--c-paper)); transform: scaleX(0); transform-origin: center; transition: transform .22s cubic-bezier(.2,.7,.3,1); }
.fsmenu-fascia:hover, .fsmenu-fascia:focus-visible { color: rgb(var(--c-paper)); opacity: .92; }
.fsmenu-fascia:hover::after, .fsmenu-fascia:focus-visible::after { transform: scaleX(1); }

/* Accent dot: a brand point rises beneath the hovered item. */
.fsmenu-accentDot { position: relative; padding-bottom: 6px; }
.fsmenu-accentDot::after { content:''; position:absolute; left:50%; bottom:-2px; width:5px; height:5px; border-radius:9999px; background: rgb(var(--fs-menu-color, var(--c-brand-600))); transform: translateX(-50%) scale(0); transition: transform .22s cubic-bezier(.34,1.56,.64,1); }
.fsmenu-accentDot:hover, .fsmenu-accentDot:focus-visible { color: rgb(var(--c-ink-950)); }
.fsmenu-accentDot:hover::after, .fsmenu-accentDot:focus-visible::after { transform: translateX(-50%) scale(1); }

/* Centre underline: grows outward from the middle. */
.fsmenu-underlineCenter { position: relative; padding-bottom: 4px; }
.fsmenu-underlineCenter::after { content:''; position:absolute; left:12%; right:12%; bottom:0; height:2px; border-radius:2px; background: rgb(var(--fs-menu-color, var(--c-brand-600))); transform: scaleX(0); transform-origin: center; transition: transform .25s cubic-bezier(.2,.7,.3,1); }
.fsmenu-underlineCenter:hover, .fsmenu-underlineCenter:focus-visible { color: rgb(var(--fs-menu-color, var(--c-brand-600))); }
.fsmenu-underlineCenter:hover::after, .fsmenu-underlineCenter:focus-visible::after { transform: scaleX(1); }

/* Luxe: hairline separators between items. */
.fsmenu-luxe { padding: 2px 16px; border-left: 1px solid rgb(var(--c-line) / 0.7); }
.fsmenu-luxe:first-child { border-left: 0; padding-left: 0; }
.fsmenu-luxe:hover, .fsmenu-luxe:focus-visible { color: rgb(var(--fs-menu-color, var(--c-brand-600))); letter-spacing: 0.2em; }

/* ═══════════════════════════════════════════════════════════════
   MENU EFFECTS — hover, click, entrance and gradient layers that
   compose ON TOP of any menu style. Every class is additive and every
   colour a palette token; "" (none) leaves the style exactly as it
   is, so an untouched site is byte-for-byte unchanged.
   ═══════════════════════════════════════════════════════════════ */
/* Hover */
.fsmenu-hv-fade:hover { opacity: .65; }
.fsmenu-hv-lift:hover { transform: translateY(-2px); }
.fsmenu-hv-grow:hover { transform: scale(1.07); }
.fsmenu-hv-pulse:hover { animation: fsmenu-pulse .9s ease-in-out infinite; }
@keyframes fsmenu-pulse { 0%,100% { transform: scale(1); } 50% { transform: scale(1.06); } }
.fsmenu-hv-underline { position: relative; }
.fsmenu-hv-underline::after { content:''; position:absolute; left:0; right:0; bottom:-2px; height:2px; background: rgb(var(--fs-menu-color, var(--c-brand-600))); transform: scaleX(0); transform-origin:left; transition: transform .25s cubic-bezier(.2,.7,.3,1); }
.fsmenu-hv-underline:hover::after { transform: scaleX(1); }
.fsmenu-hv-highlight { position: relative; z-index: 0; }
.fsmenu-hv-highlight::before { content:''; position:absolute; inset:-3px -8px; border-radius:8px; background: rgb(var(--fs-menu-color, var(--c-brand-600)) / 0.14); opacity:0; transition: opacity .2s ease; z-index:-1; }
.fsmenu-hv-highlight:hover::before { opacity:1; }
.fsmenu-hv-glow:hover { text-shadow: 0 0 12px rgb(var(--fs-menu-color, var(--c-brand-600)) / 0.75); }

/* Click */
.fsmenu-ck-press:active { transform: scale(.93); transition: transform .07s ease !important; }
.fsmenu-ck-flash:active { background: rgb(var(--fs-menu-color, var(--c-brand-600)) / 0.25) !important; border-radius: 6px; }
.fsmenu-ck-ripple { position: relative; overflow: hidden; }
.fsmenu-ck-ripple::after { content:''; position:absolute; left:50%; top:50%; width:6px; height:6px; border-radius:9999px; background: currentColor; opacity:.25; transform: translate(-50%,-50%) scale(0); transition: transform .4s ease, opacity .4s ease; }
.fsmenu-ck-ripple:active::after { transform: translate(-50%,-50%) scale(16); opacity:0; transition: transform 0s; }

/* Entrance — plays once as the header mounts; staggered per item. */
.fsmenu-an-fade > * { animation: fsmenu-an-fade .5s ease both; }
@keyframes fsmenu-an-fade { from { opacity:0; } to { opacity:1; } }
.fsmenu-an-slide > * { animation: fsmenu-an-slide .45s cubic-bezier(.2,.7,.3,1) both; }
@keyframes fsmenu-an-slide { from { opacity:0; transform: translateY(-8px); } to { opacity:1; transform: none; } }
.fsmenu-an-rise > * { animation: fsmenu-an-rise .45s cubic-bezier(.2,.7,.3,1) both; }
@keyframes fsmenu-an-rise { from { opacity:0; transform: translateY(8px); } to { opacity:1; transform: none; } }
.fsmenu-an-cascade > * { animation: fsmenu-an-slide .4s cubic-bezier(.2,.7,.3,1) both; }
.fsmenu-an-cascade > *:nth-child(1) { animation-delay: .0s; } .fsmenu-an-cascade > *:nth-child(2) { animation-delay: .06s; }
.fsmenu-an-cascade > *:nth-child(3) { animation-delay: .12s; } .fsmenu-an-cascade > *:nth-child(4) { animation-delay: .18s; }
.fsmenu-an-cascade > *:nth-child(5) { animation-delay: .24s; } .fsmenu-an-cascade > *:nth-child(6) { animation-delay: .3s; }
.fsmenu-an-cascade > *:nth-child(n+7) { animation-delay: .36s; }

/* Gradient layers for the NAV strip — theme tokens only, no colour
   choices of their own. */
.fsmenu-gr-wash { background: linear-gradient(120deg, rgb(var(--fs-menu-color, var(--c-brand-600)) / 0.10), rgb(var(--fs-menu-color-dark, var(--c-accent, var(--c-brand-700))) / 0.06)) !important; border-radius: 10px; padding: 5px 10px; }
.fsmenu-gr-duotone { background: linear-gradient(100deg, rgb(var(--fs-menu-color, var(--c-brand-600))), rgb(var(--fs-menu-color-dark, var(--c-accent, var(--c-brand-700))))) !important; border-radius: 10px; padding: 5px 10px; }
.fsmenu-gr-duotone > * { color: #ffffff !important; }
/* Sheen — a shine sweeps across the bar on hover.
   NO overflow: hidden. This class lands on the NAV, and the nav is the
   containing block for every dropdown and mega panel hanging off it,
   so clipping the nav does not trim the sweep — it deletes the whole
   flyout. Reported 2026-08-24: "when you select sheen, the mega drop
   down doesn't show up". It was never showing up for a plain dropdown
   either; the mega is just where it got noticed.
   The sweep is a moving BACKGROUND rather than a translating layer, so
   it is clipped to the element by the box model itself and needs no
   overflow rule at all. background-size is 3x the box: at 0% the bright
   band sits off to the left, at 100% it has passed off the right. */
.fsmenu-gr-sheen { position: relative; border-radius: 10px; }
.fsmenu-gr-sheen::before {
  content:''; position:absolute; inset:0; border-radius: inherit; pointer-events:none;
  background-image: linear-gradient(115deg, transparent 30%, rgb(255 255 255 / .22) 50%, transparent 70%);
  background-repeat: no-repeat; background-size: 300% 100%; background-position: 0% 0;
  transition: background-position .7s ease;
}
.fsmenu-gr-sheen:hover::before { background-position: 100% 0; }

/* ════════════════════════════════════════════════════════════
   THE SHOWCASE SET — eight looks with more presence than a text
   link, added together so the picker has real range.

   House rules every one of them keeps, because a menu is navigation
   before it is decoration:
     • the LABEL stays at full ink contrast. Effects sit behind or
       around the words, never on top of them and never by dimming
       them. The two that do recolour text (wipe, on its filled pill)
       use --fs-on-brand, which is already solved for contrast.
     • --fs-menu-color first, brand as the fallback, so a customer who
       sets a menu colour in Site Settings drives all of them.
     • the CURRENT page is styled through
       [aria-current]:not([aria-current='false']), which every surface
       already sets — no extra class wiring from whoever renders the nav.
     • transitions only, no keyframes, so the reduced-motion block at
       the foot of this file switches the whole set off in one rule.
     • nothing under 12px (npm run check:type-scale).
   ════════════════════════════════════════════════════════════ */

/* Magnetic — the item lifts and its letters open. The underline grows
   from the centre so it reads as one movement with the lift. */
.fsmenu-magnetic { position: relative; display: inline-block; }
.fsmenu-magnetic::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: -2px; height: 1.5px;
  background: rgb(var(--fs-menu-color, var(--c-brand-600)));
  transform: scaleX(0); transform-origin: center;
  transition: transform .28s cubic-bezier(.2,.7,.3,1);
}
.fsmenu-magnetic:hover, .fsmenu-magnetic:focus-visible {
  transform: translateY(-3px); letter-spacing: .045em;
  color: rgb(var(--fs-menu-color, var(--c-brand-600))) !important;
}
.fsmenu-magnetic:hover::after, .fsmenu-magnetic:focus-visible::after,
.fsmenu-magnetic[aria-current]:not([aria-current='false'])::after { transform: scaleX(1); }
.fsmenu-magnetic[aria-current]:not([aria-current='false']) { color: rgb(var(--fs-menu-color, var(--c-brand-600))) !important; }

/* Spotlight — a soft radial bloom behind the label. Sits at 22% so the
   words keep their own contrast against the page underneath. */
.fsmenu-spotlight { position: relative; isolation: isolate; }
.fsmenu-spotlight::before {
  content: ''; position: absolute; inset: -2px; z-index: -1; border-radius: inherit;
  background: radial-gradient(ellipse at center, rgb(var(--fs-menu-color, var(--c-brand-600)) / .22) 0%, rgb(var(--fs-menu-color, var(--c-brand-600)) / .06) 55%, transparent 75%);
  opacity: 0; transform: scale(.55);
  transition: opacity .26s cubic-bezier(.2,.7,.3,1), transform .26s cubic-bezier(.2,.7,.3,1);
}
.fsmenu-spotlight:hover::before, .fsmenu-spotlight:focus-visible::before,
.fsmenu-spotlight[aria-current]:not([aria-current='false'])::before { opacity: 1; transform: scale(1); }
.fsmenu-spotlight[aria-current]:not([aria-current='false']) { color: rgb(var(--fs-menu-color, var(--c-brand-600))) !important; }

/* Marker — a highlighter swipe, drawn left to right. Deliberately a
   TINT behind full-strength ink rather than a fill with reversed text:
   a highlighter that made the word harder to read would miss the point. */
.fsmenu-marker { position: relative; }
.fsmenu-marker::before {
  /* Anchored to the TEXT's vertical centre, not to the padding box: any
     item padding pushed a bottom-anchored swipe below the glyphs, where
     it just read as a fat underline. translateY rides in the same
     transform as the scale, so both animate together. */
  content: ''; position: absolute; left: -3px; right: -3px; top: 50%; height: .62em; z-index: -1;
  background: rgb(var(--fs-menu-color, var(--c-brand-600)) / .32);
  border-radius: 2px 6px 3px 5px;
  transform: translateY(-46%) scaleX(0) rotate(-.7deg); transform-origin: left center;
  transition: transform .3s cubic-bezier(.2,.7,.3,1);
}
.fsmenu-marker { isolation: isolate; }
.fsmenu-marker:hover::before, .fsmenu-marker:focus-visible::before,
.fsmenu-marker[aria-current]:not([aria-current='false'])::before { transform: translateY(-46%) scaleX(1) rotate(-.7deg); }

/* Stamp — an inked keyline box that lands slightly askew, the way a
   rubber stamp never quite sits square. */
.fsmenu-stamp { position: relative; }
.fsmenu-stamp::after {
  content: ''; position: absolute; inset: -5px -9px; border-radius: 3px;
  border: 2px solid rgb(var(--fs-menu-color, var(--c-brand-600)) / .8);
  opacity: 0; transform: rotate(-1.4deg) scale(.9);
  transition: opacity .2s cubic-bezier(.2,.7,.3,1), transform .24s cubic-bezier(.34,1.56,.64,1);
  pointer-events: none;
}
.fsmenu-stamp:hover::after, .fsmenu-stamp:focus-visible::after,
.fsmenu-stamp[aria-current]:not([aria-current='false'])::after { opacity: 1; transform: rotate(-1.4deg) scale(1); }
.fsmenu-stamp[aria-current]:not([aria-current='false']) { color: rgb(var(--fs-menu-color, var(--c-brand-600))) !important; }

/* Wipe — the pill fills from the left. The label flips to
   --fs-on-brand, the token already solved for "what reads on a brand
   fill" in both modes, rather than a hardcoded white. */
.fsmenu-wipe { position: relative; overflow: hidden; isolation: isolate; }
.fsmenu-wipe::before {
  content: ''; position: absolute; inset: 0; z-index: -1; border-radius: inherit;
  background: rgb(var(--fs-menu-color, var(--c-brand-600)));
  transform: scaleX(0); transform-origin: left center;
  transition: transform .3s cubic-bezier(.2,.7,.3,1);
}
.fsmenu-wipe:hover::before, .fsmenu-wipe:focus-visible::before,
.fsmenu-wipe[aria-current]:not([aria-current='false'])::before { transform: scaleX(1); }
.fsmenu-wipe:hover, .fsmenu-wipe:focus-visible,
.fsmenu-wipe[aria-current]:not([aria-current='false']) { color: var(--fs-on-brand, rgb(var(--c-paper))) !important; }

/* Numbered — an editorial index per link. The counter lives on the nav
   so items renumber themselves when a page is added or removed. */
.fsmenu-numbered-nav { counter-reset: fsmenunum; }
.fsmenu-numbered { position: relative; counter-increment: fsmenunum; }
.fsmenu-numbered::before {
  content: counter(fsmenunum, decimal-leading-zero);
  font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
  font-size: 12px; letter-spacing: .08em; margin-right: 7px;
  color: rgb(var(--fs-menu-color, var(--c-brand-600)));
  opacity: .5; transition: opacity .2s cubic-bezier(.2,.7,.3,1);
}
.fsmenu-numbered:hover::before, .fsmenu-numbered:focus-visible::before,
.fsmenu-numbered[aria-current]:not([aria-current='false'])::before { opacity: 1; }
.fsmenu-numbered[aria-current]:not([aria-current='false']) { color: rgb(var(--fs-menu-color, var(--c-brand-600))) !important; }

/* Etch — engraved small caps between two hairlines that meet in the
   middle. The text-shadow is the letterpress lift; it uses the paper
   colour so it disappears correctly in dark mode instead of glowing. */
.fsmenu-etch {
  /* Uppercase at 92%, not font-variant-caps: Public Sans and most of the
     catalogue's body faces ship no small-caps, so all-small-caps silently
     rendered as ordinary text and the style lost its whole character. */
  position: relative; text-transform: uppercase; font-size: .92em; letter-spacing: .13em;
  text-shadow: 0 1px 0 rgb(var(--c-paper));
}
.fsmenu-etch::before, .fsmenu-etch::after {
  content: ''; position: absolute; left: 0; right: 0; height: 1px;
  background: rgb(var(--fs-menu-color, var(--c-brand-600)) / .55);
  transform: scaleX(0); transform-origin: center;
  transition: transform .3s cubic-bezier(.2,.7,.3,1);
}
.fsmenu-etch::before { top: 0; }
.fsmenu-etch::after { bottom: 0; }
.fsmenu-etch:hover::before, .fsmenu-etch:focus-visible::before,
.fsmenu-etch[aria-current]:not([aria-current='false'])::before,
.fsmenu-etch:hover::after, .fsmenu-etch:focus-visible::after,
.fsmenu-etch[aria-current]:not([aria-current='false'])::after { transform: scaleX(1); }

/* Ghost box — two L-shaped halves draw a box in from opposite corners.
   The second half is delayed so it reads as one line being drawn. */
.fsmenu-ghostBox { position: relative; }
.fsmenu-ghostBox::before, .fsmenu-ghostBox::after {
  /* opacity carries the resting state, NOT width/height alone: a 0x0 box
     with a 1.5px border still paints a 1.5px dot in each corner, which
     showed up as grit beside every inactive link. */
  content: ''; position: absolute; width: 0; height: 0; opacity: 0; pointer-events: none;
  border-color: rgb(var(--fs-menu-color, var(--c-brand-600)));
  border-style: solid; border-width: 0;
  transition: width .2s cubic-bezier(.2,.7,.3,1), height .2s cubic-bezier(.2,.7,.3,1) .2s, opacity .12s ease;
}
.fsmenu-ghostBox::before { top: 0; left: 0; border-top-width: 1.5px; border-left-width: 1.5px; }
.fsmenu-ghostBox::after { bottom: 0; right: 0; border-bottom-width: 1.5px; border-right-width: 1.5px; }
.fsmenu-ghostBox:hover::before, .fsmenu-ghostBox:focus-visible::before,
.fsmenu-ghostBox[aria-current]:not([aria-current='false'])::before,
.fsmenu-ghostBox:hover::after, .fsmenu-ghostBox:focus-visible::after,
.fsmenu-ghostBox[aria-current]:not([aria-current='false'])::after { width: 100%; height: 100%; opacity: 1; }
.fsmenu-ghostBox[aria-current]:not([aria-current='false']) { color: rgb(var(--fs-menu-color, var(--c-brand-600))) !important; }

/* ══ THE RAILS — vertical primary navigation ══════════════════════
   .fsmenu-rail sits on the NAV and carries the whole orientation
   change for all six styles. Everything below it is finish.

   The doubled selector is the same load-bearing trick HEADER_NAV_CSS
   documents: the three surfaces pass Tailwind's own "items-center" and
   "flex" on this element, both (0,1,0), so a bare .fsmenu-rail would
   leave the winner to stylesheet order relative to the Tailwind bundle.
   (0,2,0) wins on its merits and still leaves room for a theme-scoped
   refinement later, which !important would not.

   NOTE FOR THE NEXT EDITOR: this comment lives inside a template
   literal, so it must never contain a backtick — quote CSS and class
   names with "..." here. A backtick closes MENU_STYLE_CSS early and the
   file stops parsing several hundred lines later, where the real cause
   is not obvious.

   "display" is deliberately NOT set, and every rail is built to stack
   WITHOUT it. Two reasons, and the second was a real bug:

     1. The surfaces hide this nav below the burger breakpoint with
        .fs-hdr-nav.fs-hdr-nav { display: none } and show it with
        Tailwind's lg:flex. Both are (0,2,0)/(0,1,0) against this rule,
        so setting display here would decide the burger by stylesheet
        order — exactly the dependency HEADER_NAV_CSS's doubled selector
        exists to avoid.

     2. flex-direction only does anything on a flex container. The nav
        is one ONLY because a caller passed lg:flex; nothing in the rail
        guarantees it. Three of these six originally left their items at
        the browser default of display:inline, so on any surface that
        did not add flex they flowed and WRAPPED into a ragged block
        instead of stacking — while getComputedStyle still cheerfully
        reported flex-direction: column, because a property is computed
        whether or not the display it belongs to is in play. That is a
        measurement that agrees with a broken picture, so the check for
        this is a rendered one (see scripts/theme-checks) rather than a
        computed-style assertion.

   The fix is that every rail item below is block-level in its own
   right. The column is then correct under display:block AND display:flex,
   and this rule only has to handle the flex case's cross-axis. */
.fs-hdr-nav.fsmenu-rail {
  flex-direction: column; align-items: stretch; text-align: left; overflow: visible;
  /* THE SURFACES PASS flex-1. On a row that is right — the nav takes the
     space between the brand and the CTA. On a column it inflates the rail
     to the full width of that gap (633px on the template preview), and
     because every row stretches to the container, a rail reads as a stack
     of full-width buttons instead of a rail. flex: none sizes it to its
     own longest label; the max-width is the guard against one very long
     page name doing the same thing again. */
  flex: none; width: max-content; max-width: 20rem;
}

/* The brand and the CTA stay on the FIRST line rather than floating in
   the vertical middle of a header that is now several hundred pixels
   tall. Reaching the row from here needs :has(), which is the only way
   a stylesheet-only menu style can influence its own container — the
   alternative is a prop threaded through all three surfaces, which is a
   layout change, not a menu style. Baseline in every browser this
   product targets since Dec 2023. */
.fs-hdr-row:has(.fsmenu-rail) { align-items: flex-start; }

/* THE overflow ABOVE IS BELT AND BRACES, and no longer load-bearing.
   It was a fix: .fsmenu-gr-sheen used to put overflow: hidden on this
   same nav to clip its sweep to the bar, and because a rail's panel is
   an absolutely-positioned descendant of the nav, that clip did not
   trim the sweep — it deleted the entire flyout for anyone who picked
   both. (0,2,0) beat the effect's (0,1,0) and restored it.

   That was a rail-only patch on a nav-wide bug, and the nav-wide bug
   is now gone: the sheen was rebuilt (2026-08-24) to sweep a moving
   background instead of a translating layer, so it clips itself and
   sets no overflow at all, and .fsmenu-poleStripe-nav's copy of the
   same mistake was deleted outright. This declaration stays because a
   rail wants overflow: visible on its own merits — a vertical nav's
   panels fly out sideways — not because an effect might fight it. */

/* THE ITEM OWNS THE WHOLE ROW, and the caret floats over it.

   A parent's caret is a SIBLING of its link, not a child, so laying the
   group out as a flex row leaves the link's own box ending where its
   text does — and every full-row treatment ends there with it. On
   railLedger, whose current page is an inverted row, that put the
   disclosure caret on bare paper just outside the fill.

   Making the group a plain block and the link fill it means each style
   keeps describing ONE box, the item, and gets the full row for free
   whether or not that item happens to have children. The caret is then
   positioned against the group, which HEADER_NAV_CSS already makes a
   positioning context for the panel.

   The right padding is what the caret sits in. It is applied only to
   items inside a group — the ones that actually have a caret — so a
   childless item is not indented away from an edge for no reason.
   Row WIDTHS still match regardless, because the column stretches. */
   THE CARET IS ALSO A BUTTON, and also a direct child of the group —
   so it has to be excluded by name from the rule that fills the row.
   Without the :not() it took width:100% itself, became as wide as the
   whole rail, and its glyph landed in the middle of the label. */
.fsmenu-rail .fs-hdr-group { display: block; width: 100%; }
.fsmenu-rail .fs-hdr-group > a,
.fsmenu-rail .fs-hdr-group > button:not(.fs-hdr-caret) {
  width: 100%; text-align: left;
  /* !important on the padding ONLY, and for the reason this file
     documents: many menuLook() styles set their item padding as an
     INLINE style (boxed, rounded, solidBar, pillNav, wipe…), and inline
     beats every selector. Without it those styles reserved no room for
     the caret and it was drawn straight across the last few letters of
     any parent's label — visible on three of the first seven styles the
     moment all 41 were rendered as columns. */
  padding-right: 1.875rem !important;
}
.fsmenu-rail .fs-hdr-caret { position: absolute; right: .5rem; top: 0; bottom: 0; width: auto; padding: 0 .125rem; }

/* THE PANEL TURNS. Four properties against HEADER_NAV_CSS's one
   placement rule: it opens from the item's own top edge, to the right
   of the rail, instead of from the rail's bottom edge downward. */
.fsmenu-rail .fs-hdr-drop { top: 0; left: 100%; margin-top: 0; margin-left: 10px; }
/* !important because the MEGA styles (dropdown-styles.ts's 'split',
   'feature', 'columns') centre themselves on the trigger with
   left: 50% + translateX(-50%) as an INLINE style, and inline beats
   every selector. Without this a mega beside a rail is dragged half its
   own width to the LEFT — straight across the rail it belongs to, and
   for a 560px panel that is 280px of overlap. This is the file's
   documented use of !important: a rule that must beat an inline base
   look, the same reason menuLook's own hover colours carry it. */
/* Also nukes Framer Motion's own slide/rise/scale entrance transform on
   a mega panel specifically (PrimaryNav.tsx's megaPanelVariants) — this
   rule and that animation both reach for 'transform' on the SAME
   .fs-hdr-drop element, and !important always wins. Graceful, not
   broken: opacity still animates (the panel still fades in/out with a
   real exit), and the per-column stagger is UNAFFECTED — it animates
   each <li> child, not this element, so "emphasis on mega menu" still
   lands here. Only the outer panel's own y/scale flourish is silently
   fade-only in a rail/vertical context. Known, accepted, not fixed:
   giving NavGroup the orientation it would need to branch on this
   costs more than the one flourish it would restore (2026-08-24). */
.fsmenu-rail .fs-hdr-drop { left: 100% !important; transform: none !important; }
/* …and so does the pointer gap. The ::before strip exists so the menu
   does not close while the pointer crosses the space between trigger
   and panel; a sideways panel is crossed on its LEFT edge, so the strip
   rotates with it. Leaving this as the original top strip is the exact
   shape of the "menu shuts mid-journey" bug it was written to prevent. */
.fsmenu-rail .fs-hdr-drop::before { left: -12px; right: auto; top: 0; bottom: 0; width: 12px; height: auto; }
/* The caret points at where the panel will appear — right when closed,
   down when open, rather than the row's down/up flip. */
.fsmenu-rail .fs-hdr-caret svg { transform: rotate(-90deg); }
.fsmenu-rail .fs-hdr-group[data-open] .fs-hdr-caret svg { transform: rotate(0deg); }

/* ── THE SIX FINISHES, IN BOTH DIRECTIONS ─────────────────
   Orientation is a SEPARATE setting now (SiteSettings.menuOrientation),
   so these six are no longer "the vertical styles" — they are finishes,
   and each has to hold up as a row as well as a column. The ids still
   say "rail" because live sites have them saved; the word now names the
   finish, not the direction.

   The pattern is the same for all six:
     .fsmenu-railX               the HORIZONTAL form — the base
     .fsmenu-rail .fsmenu-railX  the VERTICAL form — overrides on top
   Base-first rather than the other way round, because a menu that has
   not been told its direction should render as a row, which is what
   every existing site already is.

   Two effects genuinely cannot cross over, so they are scoped to the
   column rather than faked in the row: railSpine opens its tracking and
   railStack slides its label sideways. Both change an item's WIDTH,
   which a column absorbs (each item owns its own line) and a row cannot
   (every later item jumps along). Each is re-expressed on the vertical
   axis in the horizontal form instead. */

/* Hairline — a rule along the nav, and a 2px bar on the current item
   that covers that rule rather than sitting beside it. Down the left in
   a column; along the bottom in a row, where it reads as the classic
   underline nav. */
.fsmenu-railHair-nav { box-shadow: inset 0 -1px 0 rgb(var(--c-line)); }
.fsmenu-railHair {
  display: block;
  text-transform: uppercase; letter-spacing: .2em; font-size: .8125rem; font-weight: 500;
  padding: .6875rem .75rem;
  border-bottom: 2px solid transparent; margin-bottom: -1px;
}
.fsmenu-railHair:hover, .fsmenu-railHair:focus-visible { color: rgb(var(--fs-menu-color, var(--c-brand-600))); }
.fsmenu-railHair[aria-current]:not([aria-current='false']) {
  border-bottom-color: rgb(var(--fs-menu-color, var(--c-brand-600)));
  color: rgb(var(--fs-menu-color, var(--c-brand-600))) !important;
}
.fsmenu-railHair-nav.fsmenu-rail { box-shadow: inset 1px 0 0 rgb(var(--c-line)); }
.fsmenu-rail .fsmenu-railHair {
  padding: .6875rem .75rem .6875rem 1.125rem;
  border-bottom: 0; margin-bottom: 0;
  border-left: 2px solid transparent; margin-left: -1px;
}
.fsmenu-rail .fsmenu-railHair[aria-current]:not([aria-current='false']) {
  border-left-color: rgb(var(--fs-menu-color, var(--c-brand-600)));
}

/* Ledger — indexed items, the current one inverted. The separating rule
   runs BETWEEN items either way: a right-hand rule in a row, a bottom
   rule in a column. --fs-on-brand for the inverted label, the one place
   in this set where a label sits on a brand ground. */
.fsmenu-railLedger-nav { counter-reset: fsrail; }
.fsmenu-railLedger {
  counter-increment: fsrail;
  display: flex; align-items: baseline; gap: .5rem;
  padding: .5rem .875rem; font-size: .875rem; font-weight: 600;
  box-shadow: inset -1px 0 0 rgb(var(--c-line));
}
.fsmenu-railLedger:last-child { box-shadow: none; }
.fsmenu-railLedger::before {
  content: counter(fsrail, decimal-leading-zero);
  font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
  font-size: 12px; letter-spacing: .08em;
  color: rgb(var(--fs-menu-color, var(--c-brand-600))); opacity: .6;
}
.fsmenu-railLedger:hover, .fsmenu-railLedger:focus-visible { background: rgb(var(--fs-menu-color, var(--c-brand-600)) / .08); }
.fsmenu-railLedger[aria-current]:not([aria-current='false']) {
  background: rgb(var(--fs-menu-color, var(--c-brand-600)));
  color: var(--fs-on-brand, rgb(var(--c-paper))) !important;
}
.fsmenu-railLedger[aria-current]:not([aria-current='false'])::before { color: inherit; opacity: .75; }
.fsmenu-railLedger-nav.fsmenu-rail { box-shadow: inset 0 1px 0 rgb(var(--c-line)); }
.fsmenu-rail .fsmenu-railLedger {
  gap: .625rem; padding: .6875rem .875rem;
  box-shadow: inset 0 -1px 0 rgb(var(--c-line));
}
.fsmenu-rail .fsmenu-railLedger:last-child { box-shadow: inset 0 -1px 0 rgb(var(--c-line)); }

/* Stack — heavy type sliding off a growing accent block. In a column
   the block is a left bar and the label steps RIGHT; in a row it is a
   bottom bar and the label lifts, since a row cannot afford the width
   change. */
.fsmenu-railStack {
  position: relative; display: block;
  font-weight: 800; letter-spacing: -.015em; font-size: 1rem; line-height: 1.15;
  padding: .375rem .625rem .5rem;
}
.fsmenu-railStack::before {
  content: ''; position: absolute; left: .625rem; right: .625rem; bottom: 0; height: 3px;
  background: rgb(var(--fs-menu-color, var(--c-brand-600)));
  transform: scaleX(0); transform-origin: left;
  transition: transform .25s cubic-bezier(.2,.7,.3,1);
}
.fsmenu-railStack:hover, .fsmenu-railStack:focus-visible,
.fsmenu-railStack[aria-current]:not([aria-current='false']) { transform: translateY(-2px); }
.fsmenu-railStack:hover::before, .fsmenu-railStack:focus-visible::before,
.fsmenu-railStack[aria-current]:not([aria-current='false'])::before { transform: scaleX(1); }
.fsmenu-railStack[aria-current]:not([aria-current='false']) { color: rgb(var(--fs-menu-color, var(--c-brand-600))) !important; }
.fsmenu-rail .fsmenu-railStack {
  font-size: 1.0625rem; padding: .5rem 0 .5rem .875rem; transform: none;
}
.fsmenu-rail .fsmenu-railStack::before {
  left: 0; right: auto; top: .5rem; bottom: .5rem; width: 3px; height: auto;
  transform: scaleY(0); transform-origin: top;
}
.fsmenu-rail .fsmenu-railStack:hover, .fsmenu-rail .fsmenu-railStack:focus-visible,
.fsmenu-rail .fsmenu-railStack[aria-current]:not([aria-current='false']) { transform: none; padding-left: 1.375rem; }
.fsmenu-rail .fsmenu-railStack:hover::before, .fsmenu-rail .fsmenu-railStack:focus-visible::before,
.fsmenu-rail .fsmenu-railStack[aria-current]:not([aria-current='false'])::before { transform: scaleY(1); }

/* Margin — running heads with a leader ruled towards the panel, which
   points where the panel actually opens: to the right of the item in a
   column, beneath it in a row. */
.fsmenu-railMargin {
  display: block;
  position: relative; text-transform: uppercase; letter-spacing: .06em;
  font-size: .8125rem; font-weight: 500; padding: .5625rem .5rem 1rem;
}
.fsmenu-railMargin::after {
  content: ''; position: absolute; left: .5rem; right: .5rem; bottom: .375rem; height: 1px;
  background: rgb(var(--fs-menu-color, var(--c-brand-600)));
  transform: scaleX(0); transform-origin: left;
  transition: transform .25s cubic-bezier(.2,.7,.3,1);
}
.fsmenu-railMargin:hover::after, .fsmenu-railMargin:focus-visible::after,
.fsmenu-railMargin[aria-current]:not([aria-current='false'])::after { transform: scaleX(1); }
.fsmenu-railMargin:hover, .fsmenu-railMargin:focus-visible,
.fsmenu-railMargin[aria-current]:not([aria-current='false']) { color: rgb(var(--fs-menu-color, var(--c-brand-600))) !important; }
.fsmenu-rail .fsmenu-railMargin { padding: .5625rem 2.5rem .5625rem 0; }
.fsmenu-rail .fsmenu-railMargin::after {
  left: auto; right: .5rem; top: 50%; bottom: auto; width: 1.5rem; height: 1px;
}

/* Spine — labels hung off a brand rule by their own tick. The rule runs
   down the nav in a column and across the top of it in a row.

   THE TRACKING ONLY OPENS IN THE COLUMN, and that is the whole reason
   this finish was drawn vertical-first: letter-spacing changes an item's
   width, which a column absorbs and a row cannot. The row gets a weight
   shift instead — same "the label wakes up" intent, no reflow. */
.fsmenu-railSpine-nav { position: relative; padding-top: 1rem; }
.fsmenu-railSpine-nav::before {
  content: ''; position: absolute; top: 0; left: .375rem; right: .375rem; height: 2px;
  background: rgb(var(--fs-menu-color, var(--c-brand-600)) / .3);
}
.fsmenu-railSpine { display: block; position: relative; font-size: .875rem; font-weight: 500; padding: .5rem .625rem; letter-spacing: .01em; }
.fsmenu-railSpine::before {
  content: ''; position: absolute; top: -1rem; left: .625rem; width: .6875rem; height: 2px;
  background: rgb(var(--fs-menu-color, var(--c-brand-600)));
  transform: scaleX(0); transform-origin: left;
  transition: transform .25s cubic-bezier(.2,.7,.3,1);
}
.fsmenu-railSpine:hover, .fsmenu-railSpine:focus-visible,
.fsmenu-railSpine[aria-current]:not([aria-current='false']) { font-weight: 700; }
.fsmenu-railSpine:hover::before, .fsmenu-railSpine:focus-visible::before,
.fsmenu-railSpine[aria-current]:not([aria-current='false'])::before { transform: scaleX(1); }
.fsmenu-railSpine[aria-current]:not([aria-current='false']) { color: rgb(var(--fs-menu-color, var(--c-brand-600))) !important; }
.fsmenu-railSpine-nav.fsmenu-rail { padding-top: 0; padding-left: 1.125rem; }
.fsmenu-rail .fsmenu-railSpine-nav::before,
.fsmenu-railSpine-nav.fsmenu-rail::before {
  top: .375rem; bottom: .375rem; left: 0; right: auto; width: 2px; height: auto;
}
.fsmenu-rail .fsmenu-railSpine { padding: .5625rem 0; }
.fsmenu-rail .fsmenu-railSpine::before { top: 50%; left: -1.125rem; }
.fsmenu-rail .fsmenu-railSpine:hover, .fsmenu-rail .fsmenu-railSpine:focus-visible,
.fsmenu-rail .fsmenu-railSpine[aria-current]:not([aria-current='false']) { font-weight: 500; letter-spacing: .09em; }

/* Dot — the marker is the only furniture, and it is painted at rest so
   the menu keeps its alignment whether an item is current or not. The
   one genuinely direction-neutral finish of the six: a dot before the
   label reads the same either way, so the column only adjusts spacing. */
.fsmenu-railDot { display: flex; align-items: center; gap: .5rem; padding: .5rem; font-size: .9375rem; font-weight: 500; }
.fsmenu-railDot::before {
  content: ''; flex: none; width: .5rem; height: .5rem; border-radius: 9999px;
  background: rgb(var(--fs-menu-color, var(--c-brand-600)) / .28);
  transition: background-color .2s cubic-bezier(.2,.7,.3,1), transform .2s cubic-bezier(.2,.7,.3,1);
}
.fsmenu-railDot:hover::before, .fsmenu-railDot:focus-visible::before,
.fsmenu-railDot[aria-current]:not([aria-current='false'])::before {
  background: rgb(var(--fs-menu-color, var(--c-brand-600))); transform: scale(1.3);
}
.fsmenu-railDot:hover, .fsmenu-railDot:focus-visible,
.fsmenu-railDot[aria-current]:not([aria-current='false']) { color: rgb(var(--fs-menu-color, var(--c-brand-600))) !important; }
.fsmenu-rail .fsmenu-railDot { gap: .75rem; padding: .75rem 0; }

/* Datum rule: uppercase drafting labels, the accent on hover, and a
   brass datum triangle seated under the CURRENT page. bottom:-1rem
   lands the triangle's tip on the theme's ruler line under a py-4
   header row (datum-chrome-styles.ts paints the ruler); tune it here
   if a future row padding changes. */
.fsmenu-datumRule{position:relative;display:inline-flex;align-items:center;gap:.5rem;padding:.625rem .75rem;font-family:var(--font-display, Helvetica, Arial, sans-serif);font-weight:600;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--c-ink-950))}
.fsmenu-datumRule:hover,.fsmenu-datumRule:focus-visible{color:rgb(var(--c-accent, var(--c-brand-600)))}
.fsmenu-datumRule[aria-current]:not([aria-current='false'])::after{content:"";position:absolute;left:50%;bottom:-1rem;transform:translateX(-50%);border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:9px solid rgb(var(--c-accent, var(--c-brand-600)))}

/* Bill star: uppercase playbill labels, a star (U+2726) seated between
   items rather than after the whole nav (so it never trails the last
   one), and a double rule — a 3px double border that fills in from
   transparent — under the CURRENT page.
   F7 (final review): the current/hover item's LABEL colour used raw
   --c-accent, which measured 3.3–4.2:1 at this 11px size on Limelight's
   four light palettes (the style's own default theme) — below WCAG AA's
   4.5:1. This file is THEME-AGNOSTIC (any theme's site can pick this
   menu style, not only Limelight's), so it cannot reach for a
   theme-local token like --ll-gilt-ink — a plain color-mix against
   --c-ink-950 instead, same 75%/25% ratio proven against Limelight's
   worst-case palette (4.86:1 on paper, 5.28:1 on paper-soft), generic
   enough to darken any theme's accent the same way. The star glyph
   (decorative, ::before) and the border (not text) are unchanged. */
.fsmenu-billStar{display:inline-flex;align-items:center;padding-block:.375rem;border-bottom:3px double transparent;font-weight:600;font-size:.6875rem;letter-spacing:.18em;text-transform:uppercase;color:rgb(var(--c-ink-950))}
.fsmenu-billStar:hover,.fsmenu-billStar:focus-visible{color:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 75%, rgb(var(--c-ink-950)))}
.fsmenu-billStar[aria-current]:not([aria-current='false']){border-bottom-color:currentColor;color:color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 75%, rgb(var(--c-ink-950)))}
.fsmenu-billStar-nav > * + *::before{content:"\2726";margin-right:.75rem;font-size:9px;color:rgb(var(--c-accent, var(--c-brand-600)))}

/* Linen stitch: a soft pill (the round-radius dial), with a dashed
   accent underline seated under the CURRENT page only -- the same
   stitched-hem motif the theme's header band and phone menu carry. */
.fsmenu-linenStitch{position:relative;display:inline-flex;align-items:center;gap:.5rem;padding:.5625rem .8125rem;border-radius:9999px;font-weight:500;font-size:.9375rem;color:rgb(var(--c-ink-950))}
.fsmenu-linenStitch:hover,.fsmenu-linenStitch:focus-visible{background:rgb(var(--c-paper))}
.fsmenu-linenStitch[aria-current]:not([aria-current='false'])::after{content:"";position:absolute;left:.8125rem;right:.8125rem;bottom:1px;border-bottom:2px dashed rgb(var(--c-accent, var(--c-brand-600)) / .75)}

.fsmenu-jobSheet-nav{align-self:stretch;align-items:stretch;counter-reset:jobsheet;border-left:1px solid rgb(var(--c-ink-950) / .16)}
.fsmenu-jobSheet{position:relative;display:inline-flex;align-items:flex-end;gap:7px;height:100%;padding:27px 13px 14px;border-right:1px solid rgb(var(--c-ink-950) / .16);font-family:var(--font-display, Georgia, serif);font-weight:600;font-size:14px;line-height:1;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;color:rgb(var(--c-ink-950))}
.fsmenu-jobSheet::before{counter-increment:jobsheet;content:counter(jobsheet, decimal-leading-zero);position:absolute;top:9px;left:13px;font-family:system-ui, sans-serif;font-weight:600;font-size:10px;line-height:1;letter-spacing:.1em;color:rgb(var(--c-ink-700))}
.fsmenu-jobSheet:hover,.fsmenu-jobSheet:focus-visible{background:rgb(var(--c-brand-600) / .08)}
.fsmenu-jobSheet[aria-current]:not([aria-current='false']){background:rgb(var(--c-brand-600) / .08);color:rgb(var(--c-brand-600));box-shadow:inset 0 -4px 0 rgb(var(--c-brand-600))}
.fsmenu-jobSheet[aria-current]:not([aria-current='false'])::before{color:rgb(var(--c-brand-600))}

.fsmenu-counselLetterhead-nav{align-self:stretch;align-items:stretch;gap:2px}
.fsmenu-counselLetterhead{position:relative;display:inline-flex;align-items:center;gap:7px;height:100%;padding:0 9px;font-weight:600;font-size:11px;line-height:1;letter-spacing:.17em;text-transform:uppercase;white-space:nowrap;color:rgb(var(--c-ink-950))}
.fsmenu-counselLetterhead:hover,.fsmenu-counselLetterhead:focus-visible{color:rgb(var(--c-brand-600))}
.fsmenu-counselLetterhead[aria-current]:not([aria-current='false']){color:rgb(var(--c-brand-600))}
.fsmenu-counselLetterhead[aria-current]:not([aria-current='false'])::before{content:"";position:absolute;left:50%;bottom:-4px;z-index:2;width:7px;height:7px;margin-left:-3.5px;border-radius:50%;background:rgb(var(--c-brand-600));box-shadow:0 0 0 3px rgb(var(--c-paper))}

.fsmenu-haleCross{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:999px;font-weight:600;font-size:14.5px;line-height:1;white-space:nowrap;color:rgb(var(--c-ink-950))}
.fsmenu-haleCross:hover,.fsmenu-haleCross:focus-visible{background:rgb(var(--c-paper-soft))}
.fsmenu-haleCross[aria-current]:not([aria-current='false']){background:rgb(var(--c-accent, var(--c-brand-600)) / .15)}
.fsmenu-haleCross[aria-current]:not([aria-current='false'])::before{content:"";flex:none;width:11px;height:11px;background:rgb(var(--c-accent, var(--c-brand-600)));-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Crect x='0' y='4' width='12' height='4' rx='2'/%3E%3Crect x='4' y='0' width='4' height='12' rx='2'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Crect x='0' y='4' width='12' height='4' rx='2'/%3E%3Crect x='4' y='0' width='4' height='12' rx='2'/%3E%3C/svg%3E") center/contain no-repeat}

.fsmenu-plateDiamond{display:inline-flex;align-items:center;gap:9px;padding:10px 11px;font-weight:800;font-size:12px;line-height:1;letter-spacing:.17em;text-transform:uppercase;white-space:nowrap;color:rgb(var(--c-ink-950))}
.fsmenu-plateDiamond:hover,.fsmenu-plateDiamond:focus-visible,.fsmenu-plateDiamond[aria-current]:not([aria-current='false']){color:color-mix(in srgb, rgb(var(--c-brand-600)) 78%, rgb(var(--c-ink-950)))}
.fsmenu-plateDiamond[aria-current]:not([aria-current='false'])::before,.fsmenu-plateDiamond[aria-current]:not([aria-current='false'])::after{content:"";flex:none;width:6px;height:6px;background:rgb(var(--c-accent, var(--c-brand-600)));transform:rotate(45deg)}

.fsmenu-maneTabs-nav{align-self:flex-end;align-items:flex-end;gap:4px}
.fsmenu-maneTabs{position:relative;display:inline-flex;align-items:center;gap:7px;margin-bottom:-1px;padding:11px 12px 10px;border:1px solid rgb(var(--c-ink-950) / .42);border-bottom:0;border-radius:10px 10px 0 0;background:rgb(var(--c-paper-soft));font-weight:700;font-size:11px;line-height:1;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap;color:rgb(var(--c-ink-700));transition:padding .18s ease,background-color .18s ease}
.fsmenu-maneTabs:hover,.fsmenu-maneTabs:focus-visible{background:rgb(var(--c-paper));color:rgb(var(--c-ink-950));padding-top:14px}
/* The pulled-up tab. --fs-tab-deep defaults to "deep brand" (raw brand
   fails AA on some palettes, e.g. Mane's #B76E79 at 4.1:1); a theme may
   re-point it (Mane does, for dark mode). */
.fsmenu-maneTabs[aria-current]:not([aria-current='false']),.fsmenu-maneTabs[aria-current]:not([aria-current='false']):hover{padding-top:16px;background:var(--fs-tab-deep, color-mix(in srgb, rgb(var(--c-brand-600)) 78%, rgb(var(--c-ink-950))));border-color:var(--fs-tab-deep, color-mix(in srgb, rgb(var(--c-brand-600)) 78%, rgb(var(--c-ink-950))));color:rgb(var(--c-paper))}
@media (prefers-reduced-motion: reduce){ .fsmenu-maneTabs{transition:none} }

/* The Enamel header (theme-chrome batch 2): Caslon links; hover and the
   open trigger draw a gilt ring on the oval; the current page IS the
   enamel sign (brand field, paper type, an inset hairline ring). The
   side padding, size, tracking and gap are variables the theme's Layout
   tiers turn (enamel-chrome-styles.ts); --en-ring is the theme's ring. */
.fsmenu-enamelSign-nav{gap:var(--en-gap,4px)}
.fs-hdr-row > .fsmenu-enamelSign-nav{flex:0 0 auto}
.fsmenu-enamelSign{display:inline-flex;align-items:center;gap:8px;padding:12px var(--en-px,17px) 11px;border-radius:50%;font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:var(--en-fs,15.5px);line-height:1.1;letter-spacing:var(--en-track,.01em);white-space:nowrap;color:rgb(var(--c-ink-950))}
.fsmenu-enamelSign:hover,.fsmenu-enamelSign:focus-visible,.fs-hdr-group[data-open] > .fsmenu-enamelSign{box-shadow:inset 0 0 0 1.5px rgb(var(--c-accent, var(--c-brand-600)))}
.fsmenu-enamelSign[aria-current]:not([aria-current='false']){background:rgb(var(--c-brand-600));color:rgb(var(--c-paper));box-shadow:inset 0 0 0 3.5px rgb(var(--c-brand-600)),inset 0 0 0 4.5px var(--en-ring, rgb(var(--c-paper) / .78))}

/* The Vernier header (theme-chrome batch 2): items stretch to the row's
   height and sit on its dimension line. ::before is the item's own span
   (a 2px segment with extension ticks at its edges), drawn out from its
   centre; ::after the brass datum diamond, seated on the current page.
   Hover and the open trigger draw the span in ink; the current page in
   brand. The brass is only ever the diamond, never text. */
.fsmenu-vernierSpan-nav{align-self:stretch;align-items:stretch}
.fs-hdr-row > .fsmenu-vernierSpan-nav{flex:0 0 auto}
.fsmenu-vernierSpan{--vn-dimc:rgb(var(--c-ink-950));position:relative;display:flex;align-items:center;gap:7px;height:100%;padding:0 var(--vn-pad,15px) 12px;font-family:var(--font-display, 'Helvetica Neue', Arial, sans-serif);font-weight:500;font-size:var(--vn-fs,15.5px);line-height:1;letter-spacing:var(--vn-track,-.005em);white-space:nowrap;color:rgb(var(--c-ink-950))}
.fsmenu-vernierSpan::before{content:"";position:absolute;left:0;right:0;bottom:0;height:12px;background:linear-gradient(var(--vn-dimc),var(--vn-dimc)) 0 50%/100% 2px no-repeat,linear-gradient(var(--vn-dimc),var(--vn-dimc)) 0 0/1.5px 100% no-repeat,linear-gradient(var(--vn-dimc),var(--vn-dimc)) 100% 0/1.5px 100% no-repeat;opacity:0;transform:scaleX(.35);transition:opacity .18s ease,transform .3s cubic-bezier(.22,.61,.36,1)}
.fsmenu-vernierSpan::after{content:"";position:absolute;left:50%;bottom:2px;width:8px;height:8px;margin-left:-4px;background:rgb(var(--c-accent, var(--c-brand-600)));transform:rotate(45deg) scale(0);transition:transform .22s cubic-bezier(.22,.61,.36,1) .08s}
.fsmenu-vernierSpan:hover::before,.fsmenu-vernierSpan:focus-visible::before,.fs-hdr-group[data-open] > .fsmenu-vernierSpan::before{opacity:1;transform:none}
.fsmenu-vernierSpan[aria-current]:not([aria-current='false']){--vn-dimc:rgb(var(--c-brand-600));color:rgb(var(--c-brand-text));font-weight:700}
.fsmenu-vernierSpan[aria-current]:not([aria-current='false'])::before{opacity:1;transform:none}
.fsmenu-vernierSpan[aria-current]:not([aria-current='false'])::after{transform:rotate(45deg) scale(1)}
@media (prefers-reduced-motion: reduce){ .fsmenu-vernierSpan,.fsmenu-vernierSpan::before,.fsmenu-vernierSpan::after{transition:none} }

/* The Groundwork header (theme-chrome batch 2): Oswald caps; the current
   page is the Graft set's solid ink tag with its spade cut; hover and the
   open trigger show a short striped underbar inset by the item padding. */
.fsmenu-graftTag-nav{gap:2px}
.fs-hdr-row > .fsmenu-graftTag-nav{flex:0 0 auto}
.fsmenu-graftTag{position:relative;display:inline-flex;align-items:center;gap:7px;padding:10px var(--gw-px,12px) 11px;font-family:var(--font-display, 'Arial Narrow', sans-serif);font-weight:600;font-size:var(--gw-fs,15px);line-height:1;letter-spacing:var(--gw-track,.06em);text-transform:uppercase;white-space:nowrap;color:rgb(var(--c-ink-950))}
.fsmenu-graftTag::after{content:"";position:absolute;left:var(--gw-px,12px);right:var(--gw-px,12px);bottom:0;height:5px;background:repeating-linear-gradient(-45deg,rgb(var(--c-accent, var(--c-brand-600))) 0 4px,transparent 4px 8px);opacity:0;transition:opacity .2s ease}
.fsmenu-graftTag:hover::after,.fsmenu-graftTag:focus-visible::after,.fs-hdr-group[data-open] > .fsmenu-graftTag::after{opacity:1}
.fsmenu-graftTag[aria-current]:not([aria-current='false']){background:rgb(var(--c-ink-950));color:rgb(var(--c-paper));clip-path:polygon(0 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%)}
.fsmenu-graftTag[aria-current]:not([aria-current='false'])::after{display:none}
@media (prefers-reduced-motion: reduce){ .fsmenu-graftTag::after{transition:none} }

/* The Bright Start header (theme-chrome batch 2): Baloo links; the
   current page is brand ink (--bs-ink-hi, brand 78% into ink) with the
   accent crayon squiggle; hover draws a faint brand one; the open trigger
   a brand one. */
.fsmenu-brightCrayon-nav{gap:2px}
.fs-hdr-row > .fsmenu-brightCrayon-nav{flex:0 0 auto}
.fsmenu-brightCrayon{display:inline-flex;align-items:center;gap:7px;padding:10px var(--bs-pad,13px) 12px;font-family:var(--font-display, 'Trebuchet MS', sans-serif);font-weight:600;font-size:var(--bs-fs,17px);line-height:1.1;white-space:nowrap;color:rgb(var(--c-ink-950))}
.fsmenu-brightCrayon.fsmenu-brightCrayon{text-decoration:underline wavy transparent;text-decoration-thickness:3px;text-underline-offset:7px;text-decoration-skip-ink:none;transition:text-decoration-color .2s ease,color .2s ease}
.fsmenu-brightCrayon.fsmenu-brightCrayon:hover,.fsmenu-brightCrayon.fsmenu-brightCrayon:focus-visible{text-decoration-color:rgb(var(--c-brand-600) / .45)}
.fsmenu-brightCrayon.fsmenu-brightCrayon[aria-current]:not([aria-current='false']){color:var(--bs-ink-hi, color-mix(in srgb, rgb(var(--c-brand-600)) 78%, rgb(var(--c-ink-950))));text-decoration-color:rgb(var(--c-accent, var(--c-brand-600)))}
.fs-hdr-group[data-open] > .fsmenu-brightCrayon.fsmenu-brightCrayon{color:var(--bs-ink-hi, color-mix(in srgb, rgb(var(--c-brand-600)) 78%, rgb(var(--c-ink-950))));text-decoration-color:rgb(var(--c-brand-600))}
@media (prefers-reduced-motion: reduce){ .fsmenu-brightCrayon.fsmenu-brightCrayon{transition:none} }

/* The Stanhope header (theme-chrome batch 2): the theme's old scoped
   underlineCenter, made a menu style. Atkinson 700 (the body face) in ink
   through the hover; a square 2px brand rule as wide as the label, 6px
   under it, grows from the centre on hover, focus and the open trigger;
   the current page is brand ink with the rule already drawn. */
.fsmenu-stanhopeDatum-nav{gap:var(--st-gap,26px)}
.fs-hdr-row > .fsmenu-stanhopeDatum-nav{flex:0 0 auto}
.fsmenu-stanhopeDatum{position:relative;display:inline-flex;align-items:center;gap:7px;min-height:44px;padding-block:11px;font-weight:700;font-size:var(--st-fs,15px);line-height:1.3;letter-spacing:var(--st-track,.02em);white-space:nowrap;color:rgb(var(--c-ink-950))}
.fsmenu-stanhopeDatum::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:2px;background:rgb(var(--c-brand-600));transform:scaleX(0);transition:transform .22s cubic-bezier(.2,.7,.3,1)}
.fsmenu-stanhopeDatum:hover::after,.fsmenu-stanhopeDatum:focus-visible::after,.fs-hdr-group[data-open] > .fsmenu-stanhopeDatum::after,.fsmenu-stanhopeDatum[aria-current]:not([aria-current='false'])::after{transform:scaleX(1)}
.fsmenu-stanhopeDatum[aria-current]:not([aria-current='false']){color:rgb(var(--c-brand-text))}
@media (prefers-reduced-motion: reduce){ .fsmenu-stanhopeDatum::after{transition:none} }

/* The Studio Calm header (theme-chrome batch 3): Marcellus links; the
   current page is the deep brand and stands on the page header's
   line–leaf–line flourish (::before the leaf, ::after the two lines),
   14px under the label's middle; hover and the open trigger draw it
   faintly. --sc-pad, --sc-fs and --sc-track are the knobs the theme's
   Layout tiers turn (studio-calm-chrome-styles.ts). */
.fsmenu-calmFlourish-nav{align-self:stretch;align-items:stretch}
.fs-hdr-row > .fsmenu-calmFlourish-nav{flex:0 0 auto}
.fsmenu-calmFlourish{position:relative;display:inline-flex;align-items:center;gap:8px;padding:0 var(--sc-pad,15px);font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:var(--sc-fs,16px);line-height:1;letter-spacing:var(--sc-track,.03em);white-space:nowrap;color:rgb(var(--c-ink-950))}
.fsmenu-calmFlourish::before,.fsmenu-calmFlourish::after{content:"";position:absolute;left:50%;pointer-events:none;opacity:0;transition:opacity .35s ease,transform .35s ease}
.fsmenu-calmFlourish::before{top:calc(50% + 14px);width:10px;height:6px;margin-left:-5px;border-radius:50%;background:rgb(var(--c-accent, var(--c-brand-600)));transform:rotate(-32deg) scale(.6)}
.fsmenu-calmFlourish::after{top:calc(50% + 16.5px);width:46px;height:1px;margin-left:-23px;background:linear-gradient(90deg,var(--sc-flo, rgb(var(--c-ink-950) / .24)) 0 16px,transparent 16px 30px,var(--sc-flo, rgb(var(--c-ink-950) / .24)) 30px);transform:scaleX(.4)}
.fsmenu-calmFlourish:hover::before,.fsmenu-calmFlourish:focus-visible::before,.fs-hdr-group[data-open] > .fsmenu-calmFlourish::before{opacity:.7;transform:rotate(-32deg)}
.fsmenu-calmFlourish:hover::after,.fsmenu-calmFlourish:focus-visible::after,.fs-hdr-group[data-open] > .fsmenu-calmFlourish::after{opacity:.7;transform:none}
.fsmenu-calmFlourish[aria-current]:not([aria-current='false']){color:var(--sc-deep, color-mix(in srgb, rgb(var(--c-brand-600)) 70%, rgb(var(--c-ink-950))))}
.fsmenu-calmFlourish[aria-current]:not([aria-current='false'])::before{opacity:1;transform:rotate(-32deg)}
.fsmenu-calmFlourish[aria-current]:not([aria-current='false'])::after{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){ .fsmenu-calmFlourish::before,.fsmenu-calmFlourish::after{transition:none} }

/* The Strop header (theme-chrome batch 3): the links sit on a STRAP —
   paper-soft, a 1px keyline, both edges stitched 3px in, its top-right
   corner cut 11px with an accent hairline across the cut. ALL of it is
   the nav's own background (the cut corner painted in the band's paper,
   the keyline as four 1px layers): never clip-path, overflow, isolation
   or a pseudo-element on the nav, which holds its own drop-down and mega
   panels (poleStripe's old overflow:hidden bug; plan R-B3-8). The
   current page is the builder's selected segment, a brand fill with a
   7px bevel cut on the ITEM; hover and the open trigger show poleStripe's
   drifting stripe under that one item. */
.fsmenu-stropBand-nav{--sr-bev:11px;align-items:stretch;gap:2px;padding:5px;background:linear-gradient(225deg,transparent calc(50% - .75px),rgb(var(--c-accent, var(--c-brand-600))) calc(50% - .75px) calc(50% + .75px),transparent calc(50% + .75px)) 100% 0/var(--sr-bev) var(--sr-bev) no-repeat,linear-gradient(225deg,rgb(var(--c-paper)) 50%,transparent 50%) 100% 0/var(--sr-bev) var(--sr-bev) no-repeat,linear-gradient(var(--sr-line-strong, rgb(var(--c-ink-950) / .34)),var(--sr-line-strong, rgb(var(--c-ink-950) / .34))) 0 0/calc(100% - var(--sr-bev)) 1px no-repeat,linear-gradient(var(--sr-line-strong, rgb(var(--c-ink-950) / .34)),var(--sr-line-strong, rgb(var(--c-ink-950) / .34))) 100% var(--sr-bev)/1px calc(100% - var(--sr-bev)) no-repeat,linear-gradient(var(--sr-line-strong, rgb(var(--c-ink-950) / .34)),var(--sr-line-strong, rgb(var(--c-ink-950) / .34))) 0 100%/100% 1px no-repeat,linear-gradient(var(--sr-line-strong, rgb(var(--c-ink-950) / .34)),var(--sr-line-strong, rgb(var(--c-ink-950) / .34))) 0 0/1px 100% no-repeat,repeating-linear-gradient(90deg,var(--sr-line-strong, rgb(var(--c-ink-950) / .34)) 0 5px,transparent 5px 9px) 7px 3px/calc(100% - 7px - var(--sr-bev) - 6px) 1px no-repeat,repeating-linear-gradient(90deg,var(--sr-line-strong, rgb(var(--c-ink-950) / .34)) 0 5px,transparent 5px 9px) 7px calc(100% - 3px)/calc(100% - 14px) 1px no-repeat,rgb(var(--c-paper-soft))}
.fs-hdr-row > .fsmenu-stropBand-nav{flex:0 0 auto}
.fsmenu-stropBand{position:relative;isolation:isolate;display:inline-flex;align-items:center;gap:8px;padding:10px var(--sr-pad,15px);font-weight:600;font-size:var(--sr-fs,13.5px);line-height:1;letter-spacing:var(--sr-track,.11em);text-transform:uppercase;white-space:nowrap;color:rgb(var(--c-ink-950))}
.fsmenu-stropBand::before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;background:linear-gradient(-45deg,var(--sr-stripe-a, rgb(var(--c-brand-600) / .2)) 25%,var(--sr-stripe-b, rgb(var(--c-accent, var(--c-brand-600)) / .2)) 0 50%,var(--sr-stripe-a, rgb(var(--c-brand-600) / .2)) 0 75%,var(--sr-stripe-b, rgb(var(--c-accent, var(--c-brand-600)) / .2)) 0) 0 0/16px 16px;transition:opacity .2s ease}
.fsmenu-stropBand:hover::before,.fsmenu-stropBand:focus-visible::before,.fs-hdr-group[data-open] > .fsmenu-stropBand::before{opacity:1;animation:fsmenu-strop-drift 1.6s linear infinite}
@keyframes fsmenu-strop-drift{to{background-position:16px 0}}
.fsmenu-stropBand[aria-current]:not([aria-current='false']){background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)));clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,0 100%)}
.fsmenu-stropBand[aria-current]:not([aria-current='false'])::before{display:none}
.fsmenu-stropBand[aria-current]:not([aria-current='false']):focus-visible{outline:2px solid currentColor;outline-offset:-5px}
@media (prefers-reduced-motion: reduce){ .fsmenu-stropBand::before,.fsmenu-stropBand:hover::before,.fsmenu-stropBand:focus-visible::before,.fs-hdr-group[data-open] > .fsmenu-stropBand::before{animation:none;transition:none} }

/* The Nightbell header (theme-chrome batch 3): the prototype's .nb-nav —
   caption caps at .12em in ink-700, running to the row's bottom edge (the
   theme zeroes the row's padding). Hover, focus and the open trigger warm
   the word to ink with the theme's glow — nothing moves. The current page
   is ink and stands on a 3px accent PLINTH 7px wider than its label each
   side, sitting on the header's own 2px rule. */
.fsmenu-nightbellPlinth-nav{align-self:stretch;align-items:stretch}
.fs-hdr-row > .fsmenu-nightbellPlinth-nav{flex:0 0 auto}
.fsmenu-nightbellPlinth{position:relative;display:flex;align-items:center;gap:7px;padding:3px var(--nb-ip,15px) 0;font-weight:600;font-size:var(--nb-fs,12.5px);line-height:1;letter-spacing:var(--nb-tr,.12em);text-transform:uppercase;white-space:nowrap;color:rgb(var(--c-ink-700));transition:color .22s cubic-bezier(.2,.7,.3,1),text-shadow .22s cubic-bezier(.2,.7,.3,1)}
.fsmenu-nightbellPlinth:hover,.fsmenu-nightbellPlinth:focus-visible,.fs-hdr-group[data-open] > .fsmenu-nightbellPlinth{color:rgb(var(--c-ink-950));text-shadow:0 0 12px var(--nb-glow, rgb(var(--c-accent, var(--c-brand-600)) / .34))}
.fsmenu-nightbellPlinth[aria-current]:not([aria-current='false']){color:rgb(var(--c-ink-950))}
.fsmenu-nightbellPlinth[aria-current]:not([aria-current='false'])::after{content:"";position:absolute;left:calc(var(--nb-ip,15px) - 7px);right:calc(var(--nb-ip,15px) - 7px + var(--nb-tr,.12em));bottom:2px;height:3px;background:rgb(var(--c-accent, var(--c-brand-600)))}
@media (prefers-reduced-motion: reduce){ .fsmenu-nightbellPlinth{transition:none} }

/* The Emberlight header (theme-chrome batch 3): 'editorial' kept as the
   base (the display face, 500, airy, no caps) plus the contact sheet's
   GREASE-PENCIL RING as the item's ::after — an accent ellipse, slightly
   off-round, turned -2.5deg. The current page carries it at full strength;
   hover, focus and the open trigger draw it at .4, scaling from .92, and
   colour the word brand. The ring is absolutely placed and never adds
   width; --el-rx is how far it reaches past the word. No italic (it
   changes the word's width and jostles the row). */
.fsmenu-greasePencil-nav{gap:var(--el-gap,30px)}
.fs-hdr-row > .fsmenu-greasePencil-nav{flex:0 0 auto}
.fsmenu-greasePencil{position:relative;display:inline-flex;align-items:center;gap:7px;padding:8px 1px;font-family:var(--font-display, Georgia, serif);font-weight:500;font-size:var(--el-fs,17px);line-height:1.1;white-space:nowrap;color:rgb(var(--c-ink-950))}
.fsmenu-greasePencil::after{content:"";position:absolute;inset:-3px calc(-1 * var(--el-rx,12px));border:2px solid rgb(var(--c-accent, var(--c-brand-600)));border-radius:52% 48% 46% 54% / 49% 52% 48% 51%;transform:rotate(-2.5deg) scale(.92);opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease}
.fsmenu-greasePencil:hover,.fsmenu-greasePencil:focus-visible,.fs-hdr-group[data-open] > .fsmenu-greasePencil{color:rgb(var(--c-brand-text))}
.fsmenu-greasePencil:hover::after,.fsmenu-greasePencil:focus-visible::after,.fs-hdr-group[data-open] > .fsmenu-greasePencil::after{opacity:.4;transform:rotate(-2.5deg) scale(1)}
.fsmenu-greasePencil[aria-current]:not([aria-current='false'])::after{opacity:1;transform:rotate(-2.5deg) scale(1)}
@media (prefers-reduced-motion: reduce){ .fsmenu-greasePencil,.fsmenu-greasePencil::after{transition:none} }

/* The Coachwork header (theme-chrome batch 4): a CHAIN DIMENSION. Every
   item paints, on its own background, its segment of one arm (1px ink
   .30, 4px above its foot) and a 9px tick at its left end; the last item
   closes the chain with a tick at its right. The current page's segment
   is the brand at 2px; hover and the open trigger draw theirs in the
   accent. No pseudo-elements, no positioned children. --cw-pad, --cw-gap,
   --cw-fs, --cw-track are the theme's Layout tiers (coachwork-chrome-styles.ts). */
.fsmenu-dimensionChain-nav{align-items:flex-end;gap:0}
.fs-hdr-row > .fsmenu-dimensionChain-nav{flex:0 0 auto}
.fsmenu-dimensionChain{--dc-seg:rgb(var(--c-ink-950) / .3);--dc-seg-w:1px;--dc-seg-y:calc(100% - 4px);--dc-end:linear-gradient(transparent,transparent);display:inline-flex;align-items:center;gap:var(--cw-gap,8px);padding:10px var(--cw-pad,16px) 16px;font-weight:700;font-size:var(--cw-fs,12.5px);line-height:1;letter-spacing:var(--cw-track,.14em);text-transform:uppercase;white-space:nowrap;color:rgb(var(--c-ink-700));background:var(--dc-end),linear-gradient(rgb(var(--c-ink-950) / .5),rgb(var(--c-ink-950) / .5)) 0 100%/1px 9px no-repeat,linear-gradient(var(--dc-seg),var(--dc-seg)) 0 var(--dc-seg-y)/100% var(--dc-seg-w) no-repeat;transition:color .2s ease}
.fsmenu-dimensionChain-nav > .fsmenu-dimensionChain:last-child,.fsmenu-dimensionChain-nav > .fs-hdr-group:last-child > .fsmenu-dimensionChain{--dc-end:linear-gradient(rgb(var(--c-ink-950) / .5),rgb(var(--c-ink-950) / .5)) 100% 100%/1px 9px no-repeat}
.fsmenu-dimensionChain:hover,.fsmenu-dimensionChain:focus-visible,.fs-hdr-group[data-open] > .fsmenu-dimensionChain{--dc-seg:rgb(var(--c-accent, var(--c-brand-600)));--dc-seg-w:2px;--dc-seg-y:calc(100% - 3.5px);color:rgb(var(--c-ink-950))}
.fsmenu-dimensionChain[aria-current]:not([aria-current='false']){--dc-seg:rgb(var(--c-brand-600));--dc-seg-w:2px;--dc-seg-y:calc(100% - 3.5px);color:rgb(var(--c-brand-text))}
@media (prefers-reduced-motion: reduce){ .fsmenu-dimensionChain{transition:none} }

/* The Keyway header (theme-chrome batch 4): tabs standing on the
   header's one rule. The current page and the open trigger are keylined
   tabs in the page colour whose fill reaches the row's foot and covers
   the rule — the tooth. Only one tab is ever in front: while a panel is
   open the current tab re-draws the rule under itself. Hover is the
   family's glow (a 2px brand ring and a soft halo), never a translate.
   --kw-tab, --kw-tab-fs, --kw-trk are the theme's Layout tiers. */
.fsmenu-keyTabs-nav{align-self:stretch;align-items:flex-end;gap:2px}
.fs-hdr-row > .fsmenu-keyTabs-nav{flex:0 0 auto}
.fsmenu-keyTabs{position:relative;display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 var(--kw-tab,15px);border:1px solid transparent;border-bottom:0;border-radius:8px 8px 0 0;font-family:var(--font-display, 'Martian Mono', ui-monospace, monospace);font-weight:500;font-size:var(--kw-tab-fs,13px);line-height:1;letter-spacing:var(--kw-trk,-.01em);white-space:nowrap;color:rgb(var(--c-ink-700));transition:box-shadow .22s cubic-bezier(.2,.7,.3,1),color .22s cubic-bezier(.2,.7,.3,1)}
.fsmenu-keyTabs:hover,.fsmenu-keyTabs:focus-visible{color:rgb(var(--c-ink-950));box-shadow:0 0 0 2px rgb(var(--c-brand-600) / .3),0 0 20px -3px rgb(var(--c-brand-600) / .6)}
.fsmenu-keyTabs[aria-current]:not([aria-current='false']),.fs-hdr-group[data-open] > .fsmenu-keyTabs{background:rgb(var(--c-paper));border-color:rgb(var(--c-line));color:rgb(var(--c-ink-950));font-weight:700;box-shadow:none}
.fsmenu-keyTabs-nav:has(.fs-hdr-group[data-open]) .fsmenu-keyTabs[aria-current]:not([aria-current='false']){box-shadow:inset 0 -1px 0 rgb(var(--c-line))}
@media (prefers-reduced-motion: reduce){ .fsmenu-keyTabs{transition:none} }

/* The Ward header (theme-chrome batch 4): underlineCenter's hover (a 2px
   brand rule growing from the middle, inset to the text, the word in
   brand as text) and, for the current page, a small ward-cut tag plate:
   the platform's solved nav-tint/nav-on pair, the top-left corner
   chamfered by clip-path and inked along the cut by a 135deg stripe on
   the tag's own background (never a pseudo-element, so the text has a
   real background-colour). --wd-pad, --wd-fs, --wd-track are the
   theme's Layout tiers; --wd-cut-ink the theme's cut ink. */
.fsmenu-wardCut-nav{gap:2px}
.fs-hdr-row > .fsmenu-wardCut-nav{flex:0 0 auto}
.fsmenu-wardCut{position:relative;display:inline-flex;align-items:center;gap:7px;padding:11px var(--wd-pad,14px);font-family:var(--font-display, Manrope, system-ui, sans-serif);font-weight:600;font-size:var(--wd-fs,14.5px);line-height:1;letter-spacing:var(--wd-track,0);white-space:nowrap;color:rgb(var(--c-ink-700));transition:color .2s ease}
.fsmenu-wardCut::after{content:"";position:absolute;left:var(--wd-pad,14px);right:var(--wd-pad,14px);bottom:3px;height:2px;background:rgb(var(--c-brand-600));transform:scaleX(0);transition:transform .25s cubic-bezier(.2,.7,.3,1)}
.fsmenu-wardCut:hover,.fsmenu-wardCut:focus-visible,.fs-hdr-group[data-open] > .fsmenu-wardCut{color:rgb(var(--c-brand-text))}
.fsmenu-wardCut:hover::after,.fsmenu-wardCut:focus-visible::after,.fs-hdr-group[data-open] > .fsmenu-wardCut::after{transform:scaleX(1)}
.fsmenu-wardCut[aria-current]:not([aria-current='false']){--wd-cut:9px;padding-left:calc(var(--wd-pad,14px) + 2px);clip-path:polygon(var(--wd-cut) 0,100% 0,100% 100%,0 100%,0 var(--wd-cut));background:linear-gradient(135deg,transparent calc(var(--wd-cut) * .7071),var(--wd-cut-ink, rgb(var(--c-brand-600) / .62)) 0 calc(var(--wd-cut) * .7071 + 1.5px),transparent 0) rgb(var(--fs-nav-active-tint));color:rgb(var(--fs-nav-active-on))}
.fsmenu-wardCut[aria-current]:not([aria-current='false'])::after{display:none}
.fsmenu-wardCut[aria-current]:not([aria-current='false']):focus-visible{outline:2px solid currentColor;outline-offset:-5px}
@media (prefers-reduced-motion: reduce){ .fsmenu-wardCut,.fsmenu-wardCut::after{transition:none} }

/* The Milestone header (theme-chrome batch 4): the nav is a ROUTE. A
   dashed brand line is painted on the nav's own background 17px above
   its foot; each item has an 11px waypoint ring on it (hover and the
   open trigger fill it in brand); the current page is the "you are
   here" marker — a 15px ring with a 3px brand edge and a brand centre —
   with its word in brand as text. The nav stretches to the row's height.
   --mt-pad, --mt-fs, --mt-track are the theme's Layout tiers. */
.fsmenu-waypoint-nav{align-self:stretch;align-items:stretch;gap:0;background:repeating-linear-gradient(90deg,rgb(var(--c-brand-600) / .75) 0 1rem,transparent 1rem 1.7rem) 0 calc(100% - 17px)/100% 2px no-repeat}
.fs-hdr-row > .fsmenu-waypoint-nav{flex:0 0 auto}
.fsmenu-waypoint-nav > .fs-hdr-group{display:flex;align-items:stretch}
.fsmenu-waypoint{position:relative;display:flex;align-items:center;gap:7px;padding:0 var(--mt-pad,17px) 12px;font-weight:600;font-size:var(--mt-fs,15px);line-height:1;letter-spacing:var(--mt-track,.01em);white-space:nowrap;color:rgb(var(--c-ink-700));transition:color .2s ease}
.fsmenu-waypoint::after{content:"";position:absolute;left:50%;bottom:12.5px;width:11px;height:11px;margin-left:-5.5px;border-radius:50%;background:rgb(var(--c-paper));box-shadow:inset 0 0 0 2px rgb(var(--c-ink-950) / .35);transition:background-color .2s ease,box-shadow .2s ease,transform .25s cubic-bezier(.34,1.56,.64,1)}
.fsmenu-waypoint:hover,.fsmenu-waypoint:focus-visible,.fs-hdr-group[data-open] > .fsmenu-waypoint{color:rgb(var(--c-ink-950))}
.fsmenu-waypoint:hover::after,.fsmenu-waypoint:focus-visible::after,.fs-hdr-group[data-open] > .fsmenu-waypoint::after{background:rgb(var(--c-brand-600));box-shadow:inset 0 0 0 2px rgb(var(--c-brand-600));transform:scale(1.18)}
.fsmenu-waypoint[aria-current]:not([aria-current='false']){color:rgb(var(--c-brand-text))}
.fsmenu-waypoint[aria-current]:not([aria-current='false'])::after{bottom:10.5px;width:15px;height:15px;margin-left:-7.5px;background:radial-gradient(circle,rgb(var(--c-brand-600)) 0 3px,rgb(var(--c-paper)) 3.5px);box-shadow:inset 0 0 0 3px rgb(var(--c-brand-600));transform:none}
@media (prefers-reduced-motion: reduce){ .fsmenu-waypoint,.fsmenu-waypoint::after{transition:none} }

/* The Oriel header (theme-chrome batch 5): the printed index's cells, full
   height (the theme zeroes the row's own padding). Hover and the open
   trigger take the marked-row wash; your page is the marked row: the wash,
   brand words, bold, and the blocks' 3px accent edge. The wash, padding,
   size and tracking are variables the theme's tiers turn. */
.fsmenu-orielIndex-nav{align-self:stretch;align-items:stretch;gap:0}
.fs-hdr-row > .fsmenu-orielIndex-nav{flex:0 0 auto}
.fsmenu-orielIndex{display:inline-flex;align-items:center;gap:8px;height:100%;padding:0 var(--or-pad,13px);font-weight:500;font-size:var(--or-fs,14.5px);line-height:1;letter-spacing:var(--or-track,.005em);white-space:nowrap;color:rgb(var(--c-ink-950))}
.fsmenu-orielIndex:hover,.fsmenu-orielIndex:focus-visible,.fs-hdr-group[data-open] > .fsmenu-orielIndex{background:var(--or-wash, rgb(var(--c-brand-50) / .55))}
.fsmenu-orielIndex[aria-current]:not([aria-current='false']){background:var(--or-wash, rgb(var(--c-brand-50) / .55));color:rgb(var(--c-brand-text));font-weight:700;box-shadow:inset 3px 0 0 rgb(var(--c-accent, var(--c-brand-600)))}

/* The Portico header (theme-chrome batch 5): the theme's 'fascia' grown
   into the whole header row, which the theme paints. Transparent nav;
   reversed spaced capitals in the on-paint colour; a 4px gilt dot between
   items (on each item after the first); hover and the open trigger draw a
   1.5px on-paint rule under the word, your page a 2px gilt one. The
   theme's tokens carry the colours; the fallbacks keep the style readable
   on a theme that does not paint its header. */
.fsmenu-fasciaBoard-nav{align-self:stretch;align-items:stretch;gap:0}
.fs-hdr-row > .fsmenu-fasciaBoard-nav{flex:0 0 auto}
.fsmenu-fasciaBoard{position:relative;display:inline-flex;align-items:center;gap:8px;height:100%;padding:0 var(--pc-pad,15px);font-weight:600;font-size:var(--pc-fs,12.5px);line-height:1;letter-spacing:var(--pc-track,.16em);text-transform:uppercase;white-space:nowrap;color:var(--pc-on-paint, rgb(var(--c-ink-950)))}
.fsmenu-fasciaBoard::after{content:"";position:absolute;left:var(--pc-pad,15px);right:var(--pc-pad,15px);top:calc(50% + 12px);height:1.5px;background:var(--pc-on-paint, currentColor);transform:scaleX(0);transition:transform .22s cubic-bezier(.2,.7,.3,1)}
.fsmenu-fasciaBoard:hover::after,.fsmenu-fasciaBoard:focus-visible::after,.fs-hdr-group[data-open] > .fsmenu-fasciaBoard::after{transform:none}
.fsmenu-fasciaBoard[aria-current]:not([aria-current='false'])::after{transform:none;height:2px;background:var(--pc-gilt, rgb(var(--c-accent, var(--c-brand-600))))}
.fsmenu-fasciaBoard-nav > .fsmenu-fasciaBoard:not(:first-child)::before,.fsmenu-fasciaBoard-nav > :not(:first-child) > .fsmenu-fasciaBoard::before{content:"";position:absolute;left:calc(var(--pc-dot,4px) / -2);top:calc(50% - var(--pc-dot,4px) / 2);width:var(--pc-dot,4px);height:var(--pc-dot,4px);border-radius:50%;background:var(--pc-gilt, rgb(var(--c-accent, var(--c-brand-600))))}
@media (prefers-reduced-motion: reduce){ .fsmenu-fasciaBoard::after{transition:none} }

/* The Almanac header (theme-chrome batch 5): Baskerville links grouped at
   the right, each the row's full height (the theme zeroes the row's own
   padding) and carrying the THICK half of Crest's double rule — 3px of
   accent 3px above the bar's thin line (the theme paints that on the row)
   — at zero width. Hover and the open trigger draw it in from the left
   (fs-cr-draw); your page keeps it and is set in the italic clause. */
.fsmenu-crestRule-nav{align-self:stretch;align-items:stretch;gap:var(--al-gap,26px)}
.fs-hdr-row > .fsmenu-crestRule-nav{flex:0 0 auto}
.fsmenu-crestRule{display:inline-flex;align-items:center;gap:8px;height:100%;padding-top:4px;font-family:var(--font-display, "Libre Baskerville",Georgia,serif);font-weight:400;font-size:var(--al-fs,15px);line-height:1;letter-spacing:var(--al-track,0);white-space:nowrap;color:rgb(var(--c-ink-950));background:linear-gradient(var(--al-rulec, rgb(var(--c-accent, var(--c-brand-600)))),var(--al-rulec, rgb(var(--c-accent, var(--c-brand-600))))) 0 calc(100% - 4px)/0 3px no-repeat;transition:background-size .4s cubic-bezier(.22,.61,.36,1),color .2s ease}
.fsmenu-crestRule:hover,.fsmenu-crestRule:focus-visible,.fs-hdr-group[data-open] > .fsmenu-crestRule,.fsmenu-crestRule[aria-current]:not([aria-current='false']){background-size:100% 3px}
.fsmenu-crestRule[aria-current]:not([aria-current='false']){font-style:italic;color:rgb(var(--c-brand-text))}

/* The Concours header (theme-chrome batch 5): Jost capitals tracked wide in
   ink-700, no boxes, no separators. The swept arc (a top border curved by
   an elliptical radius, tapering to nothing) sits under the word: your
   page's in the metal; hover and the open trigger sweep an outline-tone
   arc in from the left. --cc-pad is the item's side padding AND the arc's
   inset, so the theme's tiers move both together. */
.fsmenu-sweptArc-nav{align-items:center;gap:0}
.fs-hdr-row > .fsmenu-sweptArc-nav{flex:0 0 auto}
.fsmenu-sweptArc{position:relative;display:inline-flex;align-items:center;gap:8px;padding:15px var(--cc-pad,16px);font-family:var(--font-display, Jost,Futura,"Century Gothic",sans-serif);font-weight:500;font-size:var(--cc-size,13px);line-height:1;letter-spacing:var(--cc-track,.2em);text-transform:uppercase;white-space:nowrap;color:rgb(var(--c-ink-700))}
.fsmenu-sweptArc::after{content:"";position:absolute;left:var(--cc-pad,16px);right:calc(var(--cc-pad,16px) + var(--cc-track,.2em));bottom:1px;height:8px;border-top:1.5px solid var(--cc-rule2, rgb(var(--c-ink-950) / .48));border-radius:50%/100% 100% 0 0;clip-path:inset(0 100% 0 0);transition:clip-path .55s cubic-bezier(.22,.61,.36,1)}
.fsmenu-sweptArc:hover,.fsmenu-sweptArc:focus-visible,.fs-hdr-group[data-open] > .fsmenu-sweptArc{color:rgb(var(--c-ink-950))}
.fsmenu-sweptArc:hover::after,.fsmenu-sweptArc:focus-visible::after,.fs-hdr-group[data-open] > .fsmenu-sweptArc::after{clip-path:inset(0 0 0 0)}
.fsmenu-sweptArc[aria-current]:not([aria-current='false']){color:rgb(var(--c-brand-text))}
.fsmenu-sweptArc[aria-current]:not([aria-current='false'])::after{clip-path:inset(0 0 0 0);border-top-color:var(--cc-metal, rgb(var(--c-accent, var(--c-brand-600))))}
@media (prefers-reduced-motion: reduce){ .fsmenu-sweptArc::after{transition:none} }

/* The Meridian header (theme-chrome batch 5): the glass bar the theme opened
   on, cut to the Arc set's shape — a 1px hairline box whose top-left corner
   is a quarter circle as tall as the bar, the other three square, on a
   frosted surface tint. No backdrop-filter and no positioning on the nav:
   either would make it the containing block of the bar-width panel
   (R-B5-12). Instrument Serif labels; your page italic in brand ink with a
   struck arc at its shoulder; hover shows the arc faintly. */
.fsmenu-arcCut-nav{align-self:center;align-items:stretch;gap:0;height:var(--mr-h,48px);padding:0 var(--mr-nav-r,6px) 0 var(--mr-nav-l,14px);border:1px solid var(--mr-rule, rgb(var(--c-ink-950) / .22));border-radius:var(--mr-h,48px) 0 0 0;background:var(--mr-glass, rgb(var(--c-paper-soft) / .72))}
.fs-hdr-row > .fsmenu-arcCut-nav{flex:0 0 auto}
.fsmenu-arcCut{position:relative;display:inline-flex;align-items:center;gap:8px;height:100%;padding:0 var(--mr-pad,13px);font-family:var(--font-display, "Instrument Serif",Georgia,"Times New Roman",serif);font-weight:400;font-size:var(--mr-fs,19px);line-height:1;letter-spacing:var(--mr-track,.01em);white-space:nowrap;color:rgb(var(--c-ink-950))}
.fsmenu-arcCut::before{content:"";position:absolute;left:calc(var(--mr-pad,13px) - 8px);top:calc(50% - 14px);width:10px;height:10px;border-left:1px solid var(--mr-mark, rgb(var(--c-accent, var(--c-brand-600))));border-top:1px solid var(--mr-mark, rgb(var(--c-accent, var(--c-brand-600))));border-radius:100% 0 0 0;opacity:0;transition:opacity .25s ease}
.fsmenu-arcCut:hover,.fsmenu-arcCut:focus-visible,.fs-hdr-group[data-open] > .fsmenu-arcCut{color:rgb(var(--c-brand-text))}
.fsmenu-arcCut:hover::before,.fsmenu-arcCut:focus-visible::before{opacity:.45}
.fsmenu-arcCut[aria-current]:not([aria-current='false']){font-style:italic;color:rgb(var(--c-brand-text))}
.fsmenu-arcCut[aria-current]:not([aria-current='false'])::before{opacity:1}
@media (prefers-reduced-motion: reduce){ .fsmenu-arcCut::before{transition:none} }

/* The Waymark header (theme-chrome batch 6): Cardo set like a book's
   running head. Hover, focus and the open trigger draw the Wayfare text
   link's 2px accent rule under the word, inset by the item's own side
   padding (so a Layout tier moves both); the current page is set in the
   italic accent after a lozenge. --wy-ip / --wy-fs / --wy-gap are the
   knobs waymark-chrome-styles.ts turns. */
.fsmenu-wayfareFolio-nav{gap:0}
.fs-hdr-row > .fsmenu-wayfareFolio-nav{flex:0 0 auto}
.fsmenu-wayfareFolio{display:inline-flex;align-items:center;gap:var(--wy-gap,8px);padding:11px var(--wy-ip,14px) 12px;font-family:var(--font-display, Cardo, Georgia, serif);font-weight:400;font-size:var(--wy-fs,18.5px);line-height:1;white-space:nowrap;color:rgb(var(--c-ink-950));background:linear-gradient(rgb(var(--c-accent, var(--c-brand-600))),rgb(var(--c-accent, var(--c-brand-600)))) var(--wy-ip,14px) calc(100% - 3px)/0 2px no-repeat;transition:background-size .25s ease,color .2s ease}
.fsmenu-wayfareFolio:hover,.fsmenu-wayfareFolio:focus-visible,.fs-hdr-group[data-open] > .fsmenu-wayfareFolio{background-size:calc(100% - 2 * var(--wy-ip,14px)) 2px}
.fsmenu-wayfareFolio[aria-current]:not([aria-current='false']){font-style:italic;color:rgb(var(--c-brand-text))}
.fsmenu-wayfareFolio[aria-current]:not([aria-current='false'])::before{content:"";flex:none;width:6px;height:6px;margin-right:2px;background:rgb(var(--c-accent, var(--c-brand-600)));transform:rotate(45deg)}
@media (prefers-reduced-motion: reduce){ .fsmenu-wayfareFolio{transition:none} }

/* The Pennant header (theme-chrome batch 6): Bitter links stretched to
   the row's height less 12px, labels level with the logo. The current
   page hangs from the felt strip as a pennant (brand ground, the solved
   on-brand label, a swallowtail cut in its foot); the open trigger hangs
   the same pennant in the nav tint; hover sews a stitch (2px dashed
   accent) under the label. The clip would cut a focus ring, so focus
   draws 5px inside. --pn-px / --pn-fs are the knobs
   pennant-chrome-styles.ts turns; --pn-stitch is the theme's stitch. */
.fsmenu-pennantHang-nav{align-self:stretch;align-items:stretch;gap:2px;margin-bottom:12px}
.fs-hdr-row > .fsmenu-pennantHang-nav{flex:0 0 auto}
.fsmenu-pennantHang{position:relative;display:flex;align-items:flex-end;gap:7px;height:100%;padding:0 var(--pn-px,15px) 20px;font-family:var(--font-display, Bitter, Georgia, serif);font-weight:600;font-size:var(--pn-fs,15.5px);line-height:1.1;white-space:nowrap;color:rgb(var(--c-ink-700));transition:background-color .18s ease,color .18s ease}
.fsmenu-pennantHang::after{content:"";position:absolute;left:var(--pn-px,15px);right:var(--pn-px,15px);bottom:12px;border-top:2px dashed var(--pn-stitch, rgb(var(--c-accent, var(--c-brand-600)) / .75));opacity:0;transition:opacity .18s ease}
.fsmenu-pennantHang:hover::after{opacity:1}
.fsmenu-pennantHang[aria-current]:not([aria-current='false']),.fs-hdr-group[data-open] > .fsmenu-pennantHang{clip-path:polygon(0 0,100% 0,100% 100%,50% calc(100% - 9px),0 100%)}
.fsmenu-pennantHang[aria-current]:not([aria-current='false'])::after,.fs-hdr-group[data-open] > .fsmenu-pennantHang::after{display:none}
.fsmenu-pennantHang[aria-current]:not([aria-current='false']){background:rgb(var(--c-brand-600));color:var(--fs-on-brand, rgb(var(--c-paper)))}
.fs-hdr-group[data-open] > .fsmenu-pennantHang{background:rgb(var(--fs-nav-active-tint));color:rgb(var(--fs-nav-active-on))}
.fsmenu-pennantHang:focus-visible{outline-offset:-5px}
@media (prefers-reduced-motion: reduce){ .fsmenu-pennantHang,.fsmenu-pennantHang::after{transition:none} }

/* The Fenwick header (theme-chrome batch 6): Caslon Text links. The
   current page is set in the italic, in brand ink, and mounted in the
   Loupe set's brass corner brackets (9px arms, 2px); hover, focus and
   the open trigger draw the corners in at 6px. The brackets are eight
   gradient layers on the item's own background (never positioned
   children, so nothing is clipped); --fw-arm is registered here so the
   arms animate on any theme that picks this style (R-B6-17). --fw-pad /
   --fw-fs / --fw-gap are the knobs fenwick-chrome-styles.ts turns;
   --fw-brass is the theme's brass. */
@property --fw-arm{syntax:'<length>';inherits:false;initial-value:0px}
.fsmenu-matCorners-nav{gap:var(--fw-gap,4px)}
.fs-hdr-row > .fsmenu-matCorners-nav{flex:0 0 auto}
.fsmenu-matCorners{--fw-arm:0px;--fw-t:1.5px;--fw-c:var(--fw-brass, rgb(var(--c-accent, var(--c-brand-600))));display:inline-flex;align-items:center;gap:8px;padding:11px var(--fw-pad,13px);font-family:var(--font-sans, 'Libre Caslon Text', Georgia, serif);font-weight:400;font-size:var(--fw-fs,15.5px);line-height:1;letter-spacing:.01em;white-space:nowrap;color:rgb(var(--c-ink-950));background-image:linear-gradient(var(--fw-c),var(--fw-c)),linear-gradient(var(--fw-c),var(--fw-c)),linear-gradient(var(--fw-c),var(--fw-c)),linear-gradient(var(--fw-c),var(--fw-c)),linear-gradient(var(--fw-c),var(--fw-c)),linear-gradient(var(--fw-c),var(--fw-c)),linear-gradient(var(--fw-c),var(--fw-c)),linear-gradient(var(--fw-c),var(--fw-c));background-repeat:no-repeat;background-origin:border-box;background-position:0 0,0 0,100% 0,100% 0,0 100%,0 100%,100% 100%,100% 100%;background-size:var(--fw-arm) var(--fw-t),var(--fw-t) var(--fw-arm),var(--fw-arm) var(--fw-t),var(--fw-t) var(--fw-arm),var(--fw-arm) var(--fw-t),var(--fw-t) var(--fw-arm),var(--fw-arm) var(--fw-t),var(--fw-t) var(--fw-arm);transition:--fw-arm .28s ease,color .2s ease}
.fsmenu-matCorners:hover,.fsmenu-matCorners:focus-visible,.fs-hdr-group[data-open] > .fsmenu-matCorners{--fw-arm:6px}
.fsmenu-matCorners[aria-current]:not([aria-current='false']){--fw-arm:9px;--fw-t:2px;font-style:italic;color:rgb(var(--c-brand-text))}
@media (prefers-reduced-motion: reduce){ .fsmenu-matCorners{transition:none} }

/* The Northstone header (theme-chrome batch 6): Rokkitt slab links in
   ink-700. Hover, focus and the open trigger screw a plain paper plate
   behind the item; the current page sits on an engraved plate (the nav
   tint, a brand hairline, the solved nav-on words) led by a chip of
   granite (the Stone set's chip, drawn from the ink). --ns-pad / --ns-fs
   / --ns-gap / --ns-igap / --ns-chip are the knobs
   northstone-chrome-styles.ts turns. */
.fsmenu-stonePlate-nav{gap:var(--ns-gap,2px)}
.fs-hdr-row > .fsmenu-stonePlate-nav{flex:0 0 auto}
.fsmenu-stonePlate{display:inline-flex;align-items:center;gap:var(--ns-igap,7px);padding:9px var(--ns-pad,12px) 8px;border:1px solid transparent;font-family:var(--font-display, Rokkitt, Georgia, serif);font-weight:600;font-size:var(--ns-fs,17px);line-height:1.1;letter-spacing:.01em;white-space:nowrap;color:rgb(var(--c-ink-700));transition:background-color .18s ease,border-color .18s ease,color .18s ease}
.fsmenu-stonePlate:hover,.fsmenu-stonePlate:focus-visible,.fs-hdr-group[data-open] > .fsmenu-stonePlate{background:rgb(var(--c-paper));border-color:rgb(var(--c-ink-950) / .2);color:rgb(var(--c-ink-950))}
.fsmenu-stonePlate[aria-current]:not([aria-current='false']){background:rgb(var(--fs-nav-active-tint));border-color:rgb(var(--c-brand-600) / .45);color:rgb(var(--fs-nav-active-on))}
.fsmenu-stonePlate[aria-current]:not([aria-current='false'])::before{content:"";flex:none;width:var(--ns-chip,10px);height:var(--ns-chip,10px);border:1px solid rgb(var(--c-ink-950) / .3);background-color:rgb(var(--c-ink-950) / .34);background-image:radial-gradient(circle at 30% 30%,rgb(var(--c-paper) / .6) 0 1.1px,transparent 1.3px);background-size:5px 5px}
@media (prefers-reduced-motion: reduce){ .fsmenu-stonePlate{transition:none} }

/* The Turnstile header (theme-chrome batch 6): the Gate set's height-band
   chip. Every link is a pill with a transparent 2px edge and a resting
   stud (an 8px dot, ink at 28%); hover, focus and the open trigger show
   the edge, the surface ground and a brand stud; the current page wears
   the band — a brand-at-55% edge on the nav tint, the solved nav-on
   words, the stud filled and a little larger. --ts-px / --ts-fs /
   --ts-igap / --ts-gap are the knobs turnstile-chrome-styles.ts turns;
   --ts-rule / --ts-stud / --ts-band are the theme's own. */
.fsmenu-wristband-nav{gap:var(--ts-gap,4px)}
.fs-hdr-row > .fsmenu-wristband-nav{flex:0 0 auto}
.fsmenu-wristband{display:inline-flex;align-items:center;gap:var(--ts-igap,8px);padding:8px var(--ts-px,15px) 8px calc(var(--ts-px,15px) - 3px);border:2px solid transparent;border-radius:999px;font-weight:700;font-size:var(--ts-fs,15px);line-height:1.1;white-space:nowrap;color:rgb(var(--c-ink-700));transition:background-color .18s ease,border-color .18s ease,color .18s ease}
.fsmenu-wristband::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--ts-stud, rgb(var(--c-ink-950) / .28));transition:background-color .18s ease,transform .18s ease}
.fsmenu-wristband:hover,.fsmenu-wristband:focus-visible,.fs-hdr-group[data-open] > .fsmenu-wristband{border-color:var(--ts-rule, rgb(var(--c-ink-950) / .13));background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950))}
.fsmenu-wristband:hover::before,.fsmenu-wristband:focus-visible::before,.fs-hdr-group[data-open] > .fsmenu-wristband::before{background:rgb(var(--c-brand-600))}
.fsmenu-wristband[aria-current]:not([aria-current='false']){border-color:var(--ts-band, rgb(var(--c-brand-600) / .55));background:rgb(var(--fs-nav-active-tint));color:rgb(var(--fs-nav-active-on))}
.fsmenu-wristband[aria-current]:not([aria-current='false'])::before{background:rgb(var(--c-brand-600));transform:scale(1.25)}
@media (prefers-reduced-motion: reduce){ .fsmenu-wristband,.fsmenu-wristband::before{transition:none} }

/* The Brutal header (theme-chrome batch 7): plain Space Grotesk words;
   the current page is inverted into a solid ink block; hover, focus and
   the open trigger draw a 2px inset ink box — instantly (no easing, by
   design, so this style is not in the shared transition list). --br-pad
   and --br-fs are the knobs the theme's Layout tiers turn. */
.fsmenu-brutalBlock-nav{align-items:center;gap:2px}
.fs-hdr-row > .fsmenu-brutalBlock-nav{flex:0 0 auto}
.fsmenu-brutalBlock{display:inline-flex;align-items:center;gap:7px;padding:9px var(--br-pad,12px);border-radius:0;font-family:var(--font-display, 'Space Grotesk', Arial, sans-serif);font-weight:500;font-size:var(--br-fs,16px);line-height:1;letter-spacing:-.01em;white-space:nowrap;color:rgb(var(--c-ink-950));transition:none}
.fsmenu-brutalBlock:hover,.fsmenu-brutalBlock:focus-visible,.fs-hdr-group[data-open] > .fsmenu-brutalBlock{box-shadow:inset 0 0 0 2px rgb(var(--c-ink-950))}
.fsmenu-brutalBlock[aria-current]:not([aria-current='false']){background:rgb(var(--c-ink-950));color:rgb(var(--c-paper));box-shadow:none}

/* The Lumina header (theme-chrome batch 7): every page inside ONE glass
   capsule — a translucent surface ground, a hairline edge and a top
   highlight, but NO backdrop blur (a filter on the nav would re-anchor
   the mega panel, R-B7-9). Items are tracked caps made into pills; hover
   and the open trigger take an ink wash; the current page is the lit
   pill with the eyebrow's gradient dot. --lu-navpad / --lu-ipad /
   --lu-itrack / --lu-isize / --lu-igap are the Layout tiers' knobs. */
.fsmenu-luminaCapsule-nav{align-items:center;gap:2px;padding:var(--lu-navpad,5px);border:1px solid rgb(var(--c-ink-950) / .22);border-radius:999px;background:rgb(var(--c-paper-soft) / .72);box-shadow:inset 0 1px 0 rgb(255 255 255 / .18),0 16px 36px -24px rgb(0 0 0 / .5)}
.fsmenu-luminaCapsule-nav:is(.dark *):not(.fs-preview-light *){background:rgb(var(--c-paper-soft) / .7)}
.fs-hdr-row > .fsmenu-luminaCapsule-nav{flex:0 0 auto}
.fsmenu-luminaCapsule{display:inline-flex;align-items:center;gap:var(--lu-igap,8px);padding:11px calc(var(--lu-ipad,17px) - var(--lu-itrack,.15em)) 11px var(--lu-ipad,17px);border-radius:999px;font-weight:600;font-size:var(--lu-isize,11.5px);line-height:1;letter-spacing:var(--lu-itrack,.15em);text-transform:uppercase;white-space:nowrap;color:var(--lu-note, color-mix(in srgb, rgb(var(--c-ink-950)) 74%, rgb(var(--c-paper))))}
.fsmenu-luminaCapsule:hover,.fsmenu-luminaCapsule:focus-visible,.fs-hdr-group[data-open] > .fsmenu-luminaCapsule{background:rgb(var(--c-ink-950) / .07);color:rgb(var(--c-ink-950))}
.fsmenu-luminaCapsule:focus-visible{outline-offset:-2px}
.fsmenu-luminaCapsule[aria-current]:not([aria-current='false']){background:rgb(var(--fs-nav-active-tint));color:rgb(var(--fs-nav-active-on));box-shadow:inset 0 0 0 1px rgb(var(--c-brand-600) / .26)}
.fsmenu-luminaCapsule[aria-current]:not([aria-current='false'])::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:linear-gradient(120deg,rgb(var(--c-brand-600)),rgb(var(--c-accent, var(--c-brand-600))))}

/* The Aurora header (theme-chrome batch 7): quiet Inter words that
   recede (the 'minimal' look it opens on today); hover and the open
   trigger lay a soft brand wash under the word; the current page IS the
   family's pill label (the platform's solved nav tint and nav ink) with
   the logo's two discs in front of it. --au-ip / --au-if / --au-ig are
   the knobs the theme's Layout tier turns; --au-hover its dark wash. */
.fsmenu-auroraPill-nav{align-items:center;gap:2px}
.fs-hdr-row > .fsmenu-auroraPill-nav{flex:0 0 auto}
.fsmenu-auroraPill{display:inline-flex;align-items:center;gap:var(--au-ig,7px);padding:10px var(--au-ip,15px);border-radius:999px;font-weight:500;font-size:var(--au-if,14.5px);line-height:1;white-space:nowrap;color:rgb(var(--c-ink-700))}
.fsmenu-auroraPill:hover,.fsmenu-auroraPill:focus-visible,.fs-hdr-group[data-open] > .fsmenu-auroraPill{background:var(--au-hover, rgb(var(--c-brand-600) / .07));color:rgb(var(--c-ink-950))}
.fsmenu-auroraPill[aria-current]:not([aria-current='false']){background:rgb(var(--fs-nav-active-tint));color:rgb(var(--fs-nav-active-on));font-weight:600}
.fsmenu-auroraPill[aria-current]:not([aria-current='false'])::before{content:"";flex:none;width:15px;height:9px;background:radial-gradient(circle at 4.5px 50%,rgb(var(--c-brand-600)) 0 3.2px,transparent 4.4px),radial-gradient(circle at 10.5px 50%,rgb(var(--c-accent, var(--c-brand-600))) 0 3.2px,transparent 4.4px)}

/* The AnalyticsFast header (theme-chrome batch 7): the Editor sidebar's
   items laid in a row — a 6px square pip before each word; hover and the
   open trigger a faint ink wash; the current page on the tint plate, the
   word in the signal hue as text (--an-sig) and its pip as a mark
   (--an-plot); the theme's chrome defines both (the fallbacks derive
   them from the accent). --an-ip / --an-pg / --an-fs / --an-pip /
   --an-pipr are the knobs the theme's Layout tiers turn. */
.fsmenu-insightsTab-nav{align-items:center;gap:2px}
.fs-hdr-row > .fsmenu-insightsTab-nav{flex:0 0 auto}
.fsmenu-insightsTab{display:inline-flex;align-items:center;gap:var(--an-pg,8px);padding:9px var(--an-ip,12px);border-radius:.55rem;font-weight:500;font-size:var(--an-fs,14.5px);line-height:1.2;white-space:nowrap;color:rgb(var(--c-ink-700))}
.fsmenu-insightsTab::before{content:"";flex:none;width:var(--an-pip,6px);height:var(--an-pip,6px);border-radius:var(--an-pipr,2px);background:currentColor;opacity:.45}
.fsmenu-insightsTab:hover,.fsmenu-insightsTab:focus-visible,.fs-hdr-group[data-open] > .fsmenu-insightsTab{background:rgb(var(--c-ink-950) / .06);color:rgb(var(--c-ink-950))}
.fsmenu-insightsTab[aria-current]:not([aria-current='false']){background:var(--an-wash, rgb(var(--c-accent, var(--c-brand-600)) / .14));color:var(--an-sig, color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 40%, rgb(var(--c-ink-950))));font-weight:600}
.fsmenu-insightsTab[aria-current]:not([aria-current='false'])::before{background:var(--an-plot, color-mix(in srgb, rgb(var(--c-accent, var(--c-brand-600))) 60%, rgb(var(--c-ink-950))));opacity:1}

/* The Local Trade header (theme-chrome batch 7): plain 15px words in
   rounded hit areas; hover and the open item take the platform's own
   current-page wash as a rounded chip; the page you are on reads in the
   link colour and wears the map pin — "you are here". --lt-navgap /
   --lt-px / --lt-fs / --lt-igap / --lt-pinw / --lt-pinh are the knobs the
   theme's Layout tiers turn; --lt-link its link colour (dark: the brand). */
.fsmenu-pinned-nav{align-items:center;gap:var(--lt-navgap,2px)}
.fs-hdr-row > .fsmenu-pinned-nav{flex:0 0 auto}
.fsmenu-pinned{display:inline-flex;align-items:center;gap:var(--lt-igap,6px);height:38px;padding:0 var(--lt-px,12px);border-radius:999px;font-weight:500;font-size:var(--lt-fs,15px);line-height:1;white-space:nowrap;color:rgb(var(--c-ink-950))}
.fsmenu-pinned:hover,.fsmenu-pinned:focus-visible,.fs-hdr-group[data-open] > .fsmenu-pinned{background:rgb(var(--fs-nav-active-tint));color:rgb(var(--fs-nav-active-on))}
.fsmenu-pinned[aria-current]:not([aria-current='false']){font-weight:600;color:var(--lt-link, color-mix(in srgb, rgb(var(--c-brand-600)) 84%, rgb(var(--c-ink-950))))}
.fsmenu-pinned[aria-current]:not([aria-current='false']):hover{color:rgb(var(--fs-nav-active-on))}
.fsmenu-pinned[aria-current]:not([aria-current='false'])::before{content:"";flex:none;width:var(--lt-pinw,13px);height:var(--lt-pinh,17px);margin-left:-2px;background:rgb(var(--c-brand-600));-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M12 1.5C7.3 1.5 3.5 5.2 3.5 9.9c0 6.1 8.5 12.6 8.5 12.6s8.5-6.5 8.5-12.6C20.5 5.2 16.7 1.5 12 1.5zm0 11.6a3.2 3.2 0 1 1 0-6.4 3.2 3.2 0 0 1 0 6.4z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M12 1.5C7.3 1.5 3.5 5.2 3.5 9.9c0 6.1 8.5 12.6 8.5 12.6s8.5-6.5 8.5-12.6C20.5 5.2 16.7 1.5 12 1.5zm0 11.6a3.2 3.2 0 1 1 0-6.4 3.2 3.2 0 0 1 0 6.4z'/%3E%3C/svg%3E") center/contain no-repeat}

/* The Brimwell header (port Task 13; the source's `#navIn .cell` at desktop
   widths, "variation 3: a flow-line"): bold 14px words in a 44px-high cell
   (padding 6px 12px, 4px clear underneath); a 2px copper line spans the
   cell inside its padding, 2px above its foot, scaled to nothing from the
   centre and drawn in on hover, on the open item and on the current page,
   where the words take the brand colour and the copper keeps a slow flow
   (the source's brimFlow, 2.4 s a cycle). Copper = the accent mixed 62%
   toward white and toward black, as the source's --cu-hi / --cu-lo. The
   phone menu draws no line (the source keeps its stacked rows plain).
   The flow runs only where the site's motion level lets it (the shell's
   data-fs-motion="on": On, or Subtle at 1.7x the time through
   --fs-anim-speed), never under reduced motion, and Brimwell's
   micro-animation switch --fs-anim-bwFlow can stop it. */
.fsmenu-brimFlowLine-nav{align-items:center;gap:2px}
.fsmenu-brimFlowLine{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:6px 12px;margin-bottom:4px;border-radius:6px;font-weight:700;font-size:14px;line-height:1.15;white-space:nowrap;color:rgb(var(--c-ink-950));text-decoration:none;transition:color .2s cubic-bezier(.2,.8,.2,1)}
.fsmenu-brimFlowLine::after{content:"";position:absolute;left:12px;right:12px;bottom:2px;height:2px;border-radius:2px;background:linear-gradient(90deg,color-mix(in srgb,rgb(var(--c-accent, var(--c-brand-600))) 62%,black),color-mix(in srgb,rgb(var(--c-accent, var(--c-brand-600))) 62%,white),color-mix(in srgb,rgb(var(--c-accent, var(--c-brand-600))) 62%,black));background-size:200% 100%;transform:scaleX(0);transform-origin:center;transition:transform .2s cubic-bezier(.2,.8,.2,1)}
.fsmenu-brimFlowLine:hover::after,.fsmenu-brimFlowLine:focus-visible::after,.fs-hdr-group[data-open] > .fsmenu-brimFlowLine::after,.fsmenu-brimFlowLine[aria-current]:not([aria-current='false'])::after{transform:scaleX(1)}
.fsmenu-brimFlowLine[aria-current]:not([aria-current='false']){color:rgb(var(--c-brand-600))}
.fsmenu-brimFlowLine:focus-visible{outline:2px solid rgb(var(--c-brand-text, var(--c-brand-600)));outline-offset:0}
.fs-hdr-mobile .fsmenu-brimFlowLine::after{content:none}
@keyframes fsmenu-brimFlow{to{background-position:-200% 0}}
@media (prefers-reduced-motion: no-preference){
  [data-fs-motion="on"] .fsmenu-brimFlowLine[aria-current]:not([aria-current='false'])::after{animation:var(--fs-anim-bwFlow, fsmenu-brimFlow calc(2.4s * var(--fs-anim-speed, 1)) linear infinite)}
}

/* ── Added by the tidewell theme (October 2026): 'twFootTrail' ──
   The source's .nav>a (tidewell-podiatry-theme.html): 600 .95rem words on
   a 999px pill, padding 10px 14px 14px (48px tall), the brand tint under
   the hovered one; the current page in brand-as-text with the footprint
   trail 5px above its foot, 16px in from each side: two rows of dots, the
   brand's at (3,2) and the accent's at (13,5) in every 20 x 7px tile
   (radius 2.2px). Inside a group (a page with a panel: the Explore and
   More items) the link and its caret are ONE pill — the link keeps no
   right padding, the pill's tint covers both on hover (the caret's half in
   tidewell-chrome-styles.ts) and the trail runs on under the caret
   (right:-18px = the caret's 34px less the source's 16px inset). The
   group also wears the trail while one of its panel's pages is open
   (data-fs-tw-on, set by the tidewell.header composite — the source's
   .mm.has-active / .more.has-active). The phone menu draws no trail (the
   source's stacked rows tint the current page instead). The brand dots
   read --fs-twft-dot when a theme sets one (Tidewell's dark mode: the
   brand as text, so the trail keeps 3:1 on the capsule).
   MOTION (port Task 9): the trail walks — the source's walk keyframes,
   1.1s linear infinite, both dot rows one 20px tile along — only where the
   site's motion level lets it (data-fs-motion="on": On, or Subtle at 1.7x
   the time through --fs-anim-speed; a loop keeps its whole tile), never
   under reduced motion, and Tidewell's micro-animation switch
   --fs-anim-twTrail can stop it. */
.fsmenu-twFootTrail-nav{align-items:center;gap:2px}
.fsmenu-twFootTrail{position:relative;display:inline-flex;align-items:center;gap:5px;padding:10px 14px 14px;border-radius:999px;font-weight:600;font-size:.95rem;line-height:1.6;white-space:nowrap;color:rgb(var(--c-ink-950));text-decoration:none;transition:background-color .2s,color .2s}
.fsmenu-twFootTrail:hover,.fs-hdr-group:hover > .fsmenu-twFootTrail{background:color-mix(in srgb,rgb(var(--c-brand-600)) 9%,rgb(var(--c-paper-soft)))}
.fsmenu-twFootTrail[aria-current]:not([aria-current='false']),.fs-hdr-group[data-fs-tw-on] > .fsmenu-twFootTrail{color:rgb(var(--c-brand-text, var(--c-brand-600)))}
.fsmenu-twFootTrail[aria-current]:not([aria-current='false'])::after,.fs-hdr-group[data-fs-tw-on] > .fsmenu-twFootTrail::after{content:"";position:absolute;left:16px;right:var(--fs-twft-r,16px);bottom:5px;height:7px;background-image:radial-gradient(circle at 3px 2px,var(--fs-twft-dot,rgb(var(--c-brand-600))) 2.2px,transparent 2.8px),radial-gradient(circle at 13px 5px,rgb(var(--c-accent, var(--c-brand-600))) 2.2px,transparent 2.8px);background-size:20px 7px;background-repeat:repeat-x;pointer-events:none}
.fs-hdr-group > .fsmenu-twFootTrail{--fs-twft-r:-18px;padding-right:0;border-radius:999px 0 0 999px}
.fs-hdr-group > .fs-hdr-group-btn.fsmenu-twFootTrail{padding:10px 0 14px 14px;font-family:inherit;font-weight:600;font-size:.95rem;line-height:1.6}
.fsmenu-twFootTrail:focus-visible{outline:3px solid rgb(var(--c-brand-text, var(--c-brand-600)));outline-offset:3px}
.fs-hdr-mobile .fsmenu-twFootTrail::after{content:none}
@keyframes fsmenu-twWalk{to{background-position:20px 0,20px 0}}
@media (prefers-reduced-motion: no-preference){
  [data-fs-motion="on"] .fsmenu-twFootTrail[aria-current]:not([aria-current='false'])::after,[data-fs-motion="on"] .fs-hdr-group[data-fs-tw-on] > .fsmenu-twFootTrail::after{animation:var(--fs-anim-twTrail, fsmenu-twWalk calc(1.1s * var(--fs-anim-speed, 1)) linear infinite)}
}

/* ── Added by the harlow theme (October 2026): 'hwCaseTabs' ──
   The source's .hf-tabs (harlow-finch-solicitors-theme.html, "case-file
   tabs"): every page a hanging-folder tab — 500 .94rem words in the muted
   ink on the line colour 30% into the surface, a 1px line edge open at
   the foot, 9px top corners, 11/12/9px inside, 3px apart, sitting 5px low
   and fanned a little (-1.1, .8, -.6, 1, -.4deg, repeating; the drop-down
   tab -.5deg). Under the pointer a tab straightens, rises to 1px low and
   takes the surface; the current page's tab is pulled 5px up on the
   surface, its foot edge opened in the surface colour, a soft shadow, and
   the 3px accent index bar along its top (half-lit on hover). A drop-down
   tab (link + caret) is one tab: the group carries the fan and the bar
   (the source's button holds its chevron), and its has-active is the
   group's data-fs-hw-on (set by the harlow.header composite). The phone
   menu draws the source's flat stacked rows (no tab, no bar). Motion: the
   straighten / lift only under data-fs-motion="on" and no reduced-motion
   request, times x --fs-anim-speed (the source's .3s overshoot, .25s
   colours). */
.fsmenu-hwCaseTabs-nav{align-items:flex-end;gap:3px}
.fsmenu-hwCaseTabs{position:relative;display:inline-flex;align-items:center;gap:4px;margin:0;padding:11px 12px 9px;border:1px solid rgb(var(--c-line));border-bottom-color:transparent;border-radius:9px 9px 0 0;background:color-mix(in srgb,rgb(var(--c-line)) 30%,rgb(var(--c-paper-soft)));font-weight:500;font-size:.94rem;line-height:normal;white-space:nowrap;color:rgb(var(--c-ink-400));transform:translateY(5px) rotate(var(--fs-hwct-r,0deg))}
.fsmenu-hwCaseTabs-nav > .fsmenu-hwCaseTabs:nth-of-type(5n+1){--fs-hwct-r:-1.1deg}
.fsmenu-hwCaseTabs-nav > .fsmenu-hwCaseTabs:nth-of-type(5n+2){--fs-hwct-r:.8deg}
.fsmenu-hwCaseTabs-nav > .fsmenu-hwCaseTabs:nth-of-type(5n+3){--fs-hwct-r:-.6deg}
.fsmenu-hwCaseTabs-nav > .fsmenu-hwCaseTabs:nth-of-type(5n+4){--fs-hwct-r:1deg}
.fsmenu-hwCaseTabs-nav > .fsmenu-hwCaseTabs:nth-of-type(5n+5){--fs-hwct-r:-.4deg}
.fsmenu-hwCaseTabs::before,.fs-hdr-group:has(> .fsmenu-hwCaseTabs)::before{content:"";position:absolute;left:13px;right:13px;top:0;height:3px;border-radius:3px 3px 0 0;background:rgb(var(--c-accent, var(--c-brand-600)));opacity:0;transform:scaleX(.45);pointer-events:none;z-index:1}
.fsmenu-hwCaseTabs:hover,.fsmenu-hwCaseTabs:focus-visible{color:rgb(var(--c-ink-950));background:rgb(var(--c-paper-soft));transform:translateY(1px) rotate(0deg)}
.fsmenu-hwCaseTabs:hover::before,.fs-hdr-group:has(> .fsmenu-hwCaseTabs):hover::before{opacity:.5;transform:scaleX(.7)}
.fsmenu-hwCaseTabs[aria-current]:not([aria-current='false']){background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));border-color:rgb(var(--c-line)) rgb(var(--c-line)) rgb(var(--c-paper-soft));box-shadow:0 10px 18px -14px rgb(var(--c-ink-950) / .45);transform:translateY(-5px) rotate(0deg);z-index:2}
.fsmenu-hwCaseTabs[aria-current]:not([aria-current='false'])::before,.fs-hdr-group:has(> .fsmenu-hwCaseTabs[aria-current]:not([aria-current='false']))::before,.fs-hdr-group[data-fs-hw-on]:has(> .fsmenu-hwCaseTabs)::before{opacity:1;transform:scaleX(1)}
.fsmenu-hwCaseTabs:focus-visible{outline:3px solid rgb(var(--c-brand-text, var(--c-brand-600)));outline-offset:2px}
/* A drop-down tab: the link and its caret are one tab; the group fans. */
.fs-hdr-group:has(> .fsmenu-hwCaseTabs){position:relative;align-items:stretch;gap:0;transform:translateY(5px) rotate(-.5deg)}
.fs-hdr-group > .fsmenu-hwCaseTabs,.fs-hdr-group > .fsmenu-hwCaseTabs:hover,.fs-hdr-group > .fsmenu-hwCaseTabs[aria-current]:not([aria-current='false']){transform:none;border-right:0;border-radius:9px 0 0 0;padding-right:2px}
.fs-hdr-group > .fsmenu-hwCaseTabs::before{content:none}
.fs-hdr-group:has(> .fsmenu-hwCaseTabs) > .fs-hdr-caret{position:relative;align-self:stretch;height:auto;min-width:0;margin:0;padding:0 13px 0 7px;border:1px solid rgb(var(--c-line));border-left:0;border-bottom-color:transparent;border-radius:0 9px 0 0;background:color-mix(in srgb,rgb(var(--c-line)) 30%,rgb(var(--c-paper-soft)));color:rgb(var(--c-ink-400));opacity:1}
.fs-hdr-group:has(> .fsmenu-hwCaseTabs):hover{transform:translateY(1px) rotate(0deg)}
.fs-hdr-group:has(> .fsmenu-hwCaseTabs):hover > :is(.fsmenu-hwCaseTabs,.fs-hdr-caret){color:rgb(var(--c-ink-950));background:rgb(var(--c-paper-soft))}
.fs-hdr-group:is([data-fs-hw-on],:has(> .fsmenu-hwCaseTabs[aria-current]:not([aria-current='false']))):has(> .fsmenu-hwCaseTabs){transform:translateY(-5px) rotate(0deg);z-index:2}
.fs-hdr-group:is([data-fs-hw-on],:has(> .fsmenu-hwCaseTabs[aria-current]:not([aria-current='false']))) > :is(.fsmenu-hwCaseTabs,.fs-hdr-caret){background:rgb(var(--c-paper-soft));color:rgb(var(--c-ink-950));border-top-color:rgb(var(--c-line));border-bottom-color:rgb(var(--c-paper-soft));box-shadow:0 10px 18px -14px rgb(var(--c-ink-950) / .45)}
/* The phone menu: the source's flat stacked rows. */
.fs-hdr-mobile .fsmenu-hwCaseTabs,.fs-hdr-mobile .fsmenu-hwCaseTabs:hover,.fs-hdr-mobile .fsmenu-hwCaseTabs[aria-current]:not([aria-current='false']),.fs-hdr-mobile .fs-hdr-group:has(> .fsmenu-hwCaseTabs){transform:none;background:none;border:0;border-radius:0;box-shadow:none}
.fs-hdr-mobile .fsmenu-hwCaseTabs::before,.fs-hdr-mobile .fs-hdr-group:has(> .fsmenu-hwCaseTabs)::before{content:none}
@media (prefers-reduced-motion: no-preference){
  [data-fs-motion="on"] .fsmenu-hwCaseTabs,[data-fs-motion="on"] .fs-hdr-group:has(> .fsmenu-hwCaseTabs),[data-fs-motion="on"] .fs-hdr-group:has(> .fsmenu-hwCaseTabs) > .fs-hdr-caret{transition:transform calc(.3s * var(--fs-anim-speed, 1)) cubic-bezier(.22,.9,.3,1.3),background-color calc(.25s * var(--fs-anim-speed, 1)),color calc(.25s * var(--fs-anim-speed, 1)),box-shadow calc(.25s * var(--fs-anim-speed, 1)),border-color calc(.25s * var(--fs-anim-speed, 1))}
  [data-fs-motion="on"] .fsmenu-hwCaseTabs::before,[data-fs-motion="on"] .fs-hdr-group:has(> .fsmenu-hwCaseTabs)::before{transition:opacity calc(.25s * var(--fs-anim-speed, 1)),transform calc(.3s * var(--fs-anim-speed, 1)) cubic-bezier(.2,.8,.2,1)}
}

/* Lens nav (Visionary Optics; redesigned 2026-10-27). !important on the
   hover colours for the same reason as flowUnderline: item.style sets the
   resting ink inline. A tinted pill on hover; the current page carries an
   accent dot; an item whose panel is open stays tinted in the accent with
   its caret turned. */
.fsmenu-lensNav{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:44px;border-radius:999px;text-decoration:none;transition:background-color .2s ease,color .2s ease}
.fsmenu-lensNav::after{content:"";position:absolute;left:50%;bottom:3px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:rgb(var(--c-brand-600));opacity:0;transform:scale(.4);transition:opacity .2s ease,transform .2s ease}
.fsmenu-lensNav:hover,.fsmenu-lensNav:focus-visible{background:color-mix(in oklab, rgb(var(--c-brand-600)) 8%, rgb(var(--c-paper))) !important;color:rgb(var(--c-ink-950)) !important}
.fsmenu-lensNav[aria-current]:not([aria-current='false']){color:rgb(var(--c-ink-950)) !important}
.fsmenu-lensNav[aria-current]:not([aria-current='false'])::after{opacity:1;transform:none}
.fs-hdr-group:has(> .fs-hdr-caret[aria-expanded='true']) > .fsmenu-lensNav{background:color-mix(in oklab, rgb(var(--c-brand-600)) 8%, rgb(var(--c-paper))) !important;color:rgb(var(--c-brand-text, var(--c-brand-600))) !important}
.fs-hdr-group:has(> .fsmenu-lensNav) > .fs-hdr-caret svg{transition:transform .25s ease}
.fs-hdr-group:has(> .fsmenu-lensNav) > .fs-hdr-caret[aria-expanded='true']{color:rgb(var(--c-brand-text, var(--c-brand-600)))}
.fs-hdr-group:has(> .fsmenu-lensNav) > .fs-hdr-caret[aria-expanded='true'] svg{transform:rotate(180deg)}
@media (prefers-reduced-motion: reduce){ .fsmenu-lensNav,.fsmenu-lensNav::after,.fs-hdr-group:has(> .fsmenu-lensNav) > .fs-hdr-caret svg{transition:none} }

/* ── Added by the aurelle theme (October 2026): 'aulGrowLine' ──
   The source's .menu a (cosmetics-aurelle css/style.css): .8rem / 300 words,
   .16em tracking, uppercase, no underline at rest, 32px apart; a 1px line in
   the word's own colour grows from the left under the hovered one
   (right 100% -> 0, .3s, 4px below the box). The page ink, from the token.
   No current-page mark: the menu is in-page anchors. The phone menu draws
   no line (aurelle-chrome-styles.ts restyles its rows). */
.fsmenu-aulGrowLine-nav{align-items:center;gap:32px}
.fsmenu-aulGrowLine{position:relative;display:block;font-size:.8rem;font-weight:300;line-height:1.7;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;white-space:nowrap;color:rgb(var(--c-ink-950))}
.fsmenu-aulGrowLine::after{content:"";position:absolute;left:0;right:100%;bottom:-4px;height:1px;background:currentColor}
.fsmenu-aulGrowLine:hover::after,.fsmenu-aulGrowLine:focus-visible::after{right:0}
.fsmenu-aulGrowLine:focus-visible{outline:2px solid currentColor;outline-offset:6px}
.fs-hdr-mobile .fsmenu-aulGrowLine::after{content:none}
/* the line grows only where motion is on (aulMenu switch; times x --fs-anim-speed); Off and reduced: it appears at once */
@media screen and (prefers-reduced-motion: no-preference){[data-fs-motion="on"] .fsmenu-aulGrowLine::after{transition:var(--fs-anim-aulMenu, right calc(.3s * var(--fs-anim-speed, 1)))}}

/* ── Added by the rollingbap theme (October 2026): 'rbPillBar' ──
   The source's .nav>a (rolling-bap-sandwich-van-theme.html): 800 .95rem
   words on a 99px pill, padding 10px 12px, 4px apart, the tint under the
   hovered one (and under the item whose panel is open); the current page
   in the brand with a 3px rounded bar 14px in from each side, 4px above
   its foot. Inside a group (a page with a panel: the Explore and More
   items) the link and its caret are ONE pill — the link keeps no right
   padding, the caret's half of the tint and its colour live in
   rollingbap-chrome-styles.ts — and the group's words turn the brand while
   one of its panel's pages is open (data-fs-rb-on, set by the
   rollingbap.header composite: the source's .mm.has-active), without the
   bar. The tint and the current colour read --fs-rbpb-tint / --fs-rbpb-on
   when a theme sets them (Rolling Bap's dark mode: the mustard). The
   label-only group button the editor draws restates the pill (P53). The
   phone menu draws no bar. */
.fsmenu-rbPillBar-nav{align-items:center;gap:4px}
.fsmenu-rbPillBar{position:relative;display:inline-flex;align-items:center;gap:5px;padding:10px 12px;border-radius:99px;font-family:var(--font-sans, 'Nunito', system-ui, sans-serif);font-weight:800;font-size:.95rem;line-height:1.62;white-space:nowrap;color:rgb(var(--c-ink-950));text-decoration:none;transition:background-color .2s}
.fsmenu-rbPillBar:hover,.fs-hdr-group:is(:hover,[data-open]) > .fsmenu-rbPillBar{background:var(--fs-rbpb-tint, color-mix(in srgb, rgb(var(--c-brand-600)) 7%, rgb(var(--c-paper))))}
.fsmenu-rbPillBar[aria-current]:not([aria-current='false']),.fs-hdr-group[data-fs-rb-on] > .fsmenu-rbPillBar{color:var(--fs-rbpb-on, rgb(var(--c-brand-text, var(--c-brand-600))))}
.fsmenu-rbPillBar[aria-current]:not([aria-current='false'])::after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:3px;border-radius:3px;background:currentColor;pointer-events:none}
.fs-hdr-group > .fsmenu-rbPillBar{padding-right:0;border-radius:99px 0 0 99px}
.fs-hdr-group > .fsmenu-rbPillBar[aria-current]:not([aria-current='false'])::after{right:-18px}
.fs-hdr-group > .fs-hdr-group-btn.fsmenu-rbPillBar{padding:10px 0 10px 12px;font-family:var(--font-sans, 'Nunito', system-ui, sans-serif);font-weight:800;font-size:.95rem;line-height:1.62}
.fsmenu-rbPillBar:focus-visible{outline:3px solid var(--fs-rbpb-on, rgb(var(--c-brand-text, var(--c-brand-600))));outline-offset:2px}
.fs-hdr-mobile .fsmenu-rbPillBar::after{content:none}

/* ── Added by the fieldnote theme (October 2026): 'fnInkRule' ──
   The source's .nav a.nl (fieldnote-magazine-theme.html): 700 .95rem ink
   words, padding 10px 13px, 2px apart; a 2px rule in the word's colour
   13px in from each side, 4px above the foot, grows from the left under
   the hovered item while the words turn the link colour; the current
   page in the link colour on a 3px ACCENT rule. Inside a group (a page
   with a panel: the Explore and More items) the link and its caret are
   one item and the group's words take the current look while one of its
   panel's pages is open (data-fs-fn-on, set by the fieldnote.header
   composite: the source's .mm.has-active). The link and accent colours
   read --fs-fnir-on / --fs-fnir-acc when a theme sets them. The phone
   menu draws no rule. */
.fsmenu-fnInkRule-nav{align-items:center;gap:2px}
.fsmenu-fnInkRule{position:relative;display:inline-flex;align-items:center;gap:6px;padding:10px 13px;font-family:var(--font-sans, 'Hanken Grotesk', system-ui, sans-serif);font-weight:700;font-size:.95rem;line-height:1.6;white-space:nowrap;color:rgb(var(--c-ink-950));text-decoration:none}
.fsmenu-fnInkRule::before{content:"";position:absolute;left:13px;right:13px;bottom:4px;height:2px;border-radius:2px;background:currentColor;transform:scaleX(0);transform-origin:left;pointer-events:none}
.fsmenu-fnInkRule:hover,.fsmenu-fnInkRule:focus-visible,.fs-hdr-group:is(:hover,[data-open]) > .fsmenu-fnInkRule{color:var(--fs-fnir-on, rgb(var(--c-brand-700)))}
.fsmenu-fnInkRule:hover::before,.fsmenu-fnInkRule:focus-visible::before{transform:scaleX(1)}
.fsmenu-fnInkRule[aria-current]:not([aria-current='false']),.fs-hdr-group[data-fs-fn-on] > .fsmenu-fnInkRule{color:var(--fs-fnir-on, rgb(var(--c-brand-700)))}
.fsmenu-fnInkRule[aria-current]:not([aria-current='false'])::before,.fs-hdr-group[data-fs-fn-on] > .fsmenu-fnInkRule::before{transform:scaleX(1);height:3px;background:var(--fs-fnir-acc, rgb(var(--c-accent)))}
.fs-hdr-group > .fsmenu-fnInkRule{padding-right:0}
.fs-hdr-group > .fsmenu-fnInkRule::before{right:-18px}
.fs-hdr-group > .fs-hdr-group-btn.fsmenu-fnInkRule{padding:10px 0 10px 13px;font-family:var(--font-sans, 'Hanken Grotesk', system-ui, sans-serif);font-weight:700;font-size:.95rem;line-height:1.6}
.fsmenu-fnInkRule:focus-visible{outline:3px solid var(--fs-fnir-acc, rgb(var(--c-accent)));outline-offset:2px}
.fs-hdr-mobile .fsmenu-fnInkRule::before{content:none}
/* The rule's growth and the words' colour change move only with Motion On
   and no reduced-motion request (Task 8 review); time x --fs-anim-speed. */
@media (prefers-reduced-motion: no-preference){
  [data-fs-motion="on"] .fsmenu-fnInkRule{transition:color calc(.2s * var(--fs-anim-speed, 1))}
  [data-fs-motion="on"] .fsmenu-fnInkRule::before{transition:transform calc(.4s * var(--fs-anim-speed, 1)) cubic-bezier(.2,.8,.2,1)}
}

/* ── Added by the emberfall theme (October 2026): 'emfGlow' ──
   The source's .menu .glow-hover (fireworks-emberfall css/style.css): the
   body face at .74rem / 600, .22em apart, capitals, 6px above and below,
   34px between the words. Hovered or focused, the word turns white with a
   glow in the sky's colour and a 2px glowing line grows from the middle to
   both ends, 4px under the text. The colours are the chrome sheet's tokens
   (--fs-emc-*); the fallbacks keep the style readable on any other theme.
   The line sits under a stacked phone-menu item too. The band, the burger
   and the phone menu live in emberfall-chrome-styles.ts. */
.fsmenu-emfGlow-nav{align-items:center;gap:34px}
.fsmenu-emfGlow{position:relative;display:block;padding:6px 0;font-family:inherit;font-size:.74rem;font-weight:600;line-height:normal;letter-spacing:.22em;text-transform:uppercase;white-space:nowrap;text-decoration:none;color:var(--fs-emc-menu, rgb(var(--c-ink-950) / .8))}
.fsmenu-emfGlow::after{content:"";position:absolute;left:50%;right:50%;bottom:-4px;height:2px;border-radius:2px;background:var(--fs-emc-accent, rgb(var(--c-brand-600)));box-shadow:var(--fs-emc-line-glow, none);opacity:0;pointer-events:none}
.fsmenu-emfGlow:hover,.fsmenu-emfGlow:focus-visible{color:var(--fs-emc-title, rgb(var(--c-ink-950)));text-shadow:var(--fs-emc-text-glow, none)}
.fsmenu-emfGlow:hover::after,.fsmenu-emfGlow:focus-visible::after{left:0;right:0;opacity:1}
/* The colour, the shadow and the line grow only with Motion On and no
   reduced-motion request; time x --fs-anim-speed. */
@media screen and (prefers-reduced-motion: no-preference){
  [data-fs-motion="on"] .fsmenu-emfGlow{transition:color calc(.3s * var(--fs-anim-speed, 1)),text-shadow calc(.3s * var(--fs-anim-speed, 1))}
  [data-fs-motion="on"] .fsmenu-emfGlow::after{transition:left calc(.35s * var(--fs-anim-speed, 1)) ease,right calc(.35s * var(--fs-anim-speed, 1)) ease,opacity calc(.35s * var(--fs-anim-speed, 1))}
}
/* ── Added by the loosethreads theme (October 2026): 'lthTabs' ──
   The source's .nav-tabs a: bold 0.95rem display-face pills, 2px apart, the
   words in the soft ink; a hover wash; the current page is an ink pill with a
   3px pink hard shadow and a paper label (the source slides one ink under the
   current tab; here the current item wears it). The ticker, the masthead and
   the real tab bar live in loosethreads-chrome-styles.ts. */
.fsmenu-lthTabs-nav{align-items:center;gap:2px}
.fsmenu-lthTabs{padding:.5em 1em;border-radius:999px;font:700 .95rem var(--font-display, 'Bricolage Grotesque', 'Arial Black', system-ui, sans-serif);white-space:nowrap;color:rgb(var(--c-ink-700));text-decoration:none}
.fsmenu-lthTabs:hover{background:rgb(var(--c-ink-950) / .14);color:rgb(var(--c-ink-950))}
.fsmenu-lthTabs[aria-current]:not([aria-current='false']),.fsmenu-lthTabs[aria-current]:not([aria-current='false']):hover{background:rgb(var(--c-ink-950));color:rgb(var(--c-paper));box-shadow:3px 3px 0 rgb(var(--c-accent))}
.fsmenu-lthTabs:focus-visible{outline:3px solid rgb(var(--c-accent));outline-offset:3px}
.fs-hdr-mobile .fsmenu-lthTabs[aria-current]:not([aria-current='false']){box-shadow:none}
/* ── Added by the nacre theme (October 2026): 'nnPearl' ──
   The source's .nav a.nl (nacre-nail-studio-theme.html): 500 .95rem
   words, .01em, padding 14px 14px 18px, 2px apart; a 1px hairline 14px
   in from each side, 14px above the foot, sweeps in from the left under
   the hovered one (the colour the brand's text tone); the current page
   in that tone with a 7px pearl 4px above its foot — and the group whose
   panel holds the open page (data-fs-nn-on, set by the nacre.header
   composite: the source's .mm.has-active). The sweep's transition plays
   only under Motion On with no reduced-motion request, at the speed
   dial. The phone menu draws neither line nor pearl. */
.fsmenu-nnPearl-nav{align-items:center;gap:2px}
.fsmenu-nnPearl{position:relative;display:inline-flex;align-items:center;gap:6px;padding:14px 14px 18px;font-family:var(--font-sans, 'DM Sans', system-ui, sans-serif);font-weight:500;font-size:.95rem;line-height:1.62;letter-spacing:.01em;white-space:nowrap;color:rgb(var(--c-ink-950))}
.fsmenu-nnPearl::before{content:"";position:absolute;left:14px;right:14px;bottom:14px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;pointer-events:none}
.fsmenu-nnPearl:hover,.fs-hdr-group:is(:hover,[data-open]) > .fsmenu-nnPearl{color:rgb(var(--c-brand-text, var(--c-brand-600)))}
@media (hover:hover){
  .fsmenu-nnPearl:hover::before{transform:scaleX(1)}
}
.fsmenu-nnPearl[aria-current]:not([aria-current='false']),.fs-hdr-group[data-fs-nn-on] > .fsmenu-nnPearl{color:rgb(var(--c-brand-text, var(--c-brand-600)))}
.fsmenu-nnPearl[aria-current]:not([aria-current='false'])::after,.fs-hdr-group[data-fs-nn-on] > .fsmenu-nnPearl::after{content:"";position:absolute;left:50%;bottom:4px;width:7px;height:7px;margin-left:-3.5px;border-radius:50%;background:radial-gradient(circle at 32% 28%,var(--fs-on-brand, white) 0,rgb(var(--c-accent, var(--c-brand-600))) 38%,rgb(var(--c-brand-600)) 100%);box-shadow:0 0 0 3px color-mix(in srgb, rgb(var(--c-brand-600)) 14%, transparent);pointer-events:none}
.fs-hdr-group > .fs-hdr-group-btn.fsmenu-nnPearl{padding:14px 0 18px 14px;font-family:var(--font-sans, 'DM Sans', system-ui, sans-serif);font-weight:500;font-size:.95rem;line-height:1.62}
.fsmenu-nnPearl:focus-visible{outline:3px solid rgb(var(--c-brand-text, var(--c-brand-600)));outline-offset:2px}
.fs-hdr-mobile .fsmenu-nnPearl::before,.fs-hdr-mobile .fsmenu-nnPearl::after{content:none}
@keyframes fsmenu-nn-pearl{50%{transform:scale(calc(1 + .25 * var(--fs-motion-dist, 1)))}}
@media (prefers-reduced-motion: no-preference) {
  [data-fs-motion="on"] .fsmenu-nnPearl{transition:color calc(.2s * var(--fs-anim-speed, 1))}
  [data-fs-motion="on"] .fsmenu-nnPearl::before{transition:var(--fs-anim-nnPearl, transform calc(.4s * var(--fs-anim-speed, 1)) cubic-bezier(.2,.8,.2,1))}
  /* the current page's pearl swells once (the source's 3s pulse loop,
     resting within 5 seconds: N9; Subtle 1.7x the time, capped) */
  [data-fs-motion="on"] .fsmenu-nnPearl[aria-current]:not([aria-current='false'])::after,[data-fs-motion="on"] .fs-hdr-group[data-fs-nn-on] > .fsmenu-nnPearl::after{animation:var(--fs-anim-nnPearl, fsmenu-nn-pearl min(5s, calc(3s * var(--fs-anim-speed, 1))) ease-in-out 1)}
}
/* ── Added by the hearthway theme (October 2026): 'hthUnderline' ──
   The source's .menu a:not(.btn) (community-hearthway/css/style.css): the
   body face at 1.0625rem / 500 in the text colour — the colour never
   changes — 30px between the words; on hover a 2px underline 6px below the
   text, in the brand. The same underline stays under the current page (the
   source is one page, so it has no such state). Inside a stacked phone menu
   the rows keep the underline too. The band, the strip, the burger and the
   phone menu live in hearthway-chrome-styles.ts. */
.fsmenu-hthUnderline-nav{align-items:center;gap:30px}
.fsmenu-hthUnderline{font-family:inherit;font-size:1.0625rem;font-weight:500;line-height:1.6;white-space:nowrap;color:rgb(var(--c-ink-950));text-decoration:none;text-decoration-thickness:2px;text-underline-offset:6px;text-decoration-color:rgb(var(--c-brand-600))}
.fsmenu-hthUnderline:hover,.fsmenu-hthUnderline:focus-visible,.fsmenu-hthUnderline[aria-current]:not([aria-current='false']){color:rgb(var(--c-ink-950));text-decoration-line:underline}
.fsmenu-hthUnderline:focus-visible{outline:3px solid rgb(var(--c-brand-600));outline-offset:3px}

/* ── Added by the ochreash theme (October 2026): 'ochWavyLine' ──
   The source's .menu a: Karla 600 at .97rem in the soft ink, 30px apart, the
   full ink on hover, and a hand-drawn squiggle (6px tall, 6px under the word)
   that grows from the left. The squiggle is the source's own path used as a
   mask, so it is painted in the brand token and follows the palette. The
   current page takes the full ink and the squiggle (the one-page source has no
   current state). The phone menu draws none. Only the growth and the colour
   change move, with Motion On and no reduced-motion request, time x
   --fs-anim-speed. */
.fsmenu-ochWavyLine-nav{align-items:center;gap:30px}
.fsmenu-ochWavyLine{position:relative;display:inline-block;font-family:var(--font-sans, 'Karla', system-ui, sans-serif);font-weight:600;font-size:.97rem;line-height:1.7;white-space:nowrap;color:rgb(var(--c-ink-400));text-decoration:none}
.fsmenu-ochWavyLine::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:6px;background:rgb(var(--c-brand-600));-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 6'><path d='M1 4c8-4 12 2 20 0s12-4 20-1 12 2 18-1' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/></svg>") center / 100% 100% no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 6'><path d='M1 4c8-4 12 2 20 0s12-4 20-1 12 2 18-1' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/></svg>") center / 100% 100% no-repeat;transform:scaleX(0);transform-origin:left;pointer-events:none}
.fsmenu-ochWavyLine:hover,.fsmenu-ochWavyLine:focus-visible,.fsmenu-ochWavyLine[aria-current]:not([aria-current='false']){color:rgb(var(--c-ink-950))}
.fsmenu-ochWavyLine:hover::after,.fsmenu-ochWavyLine:focus-visible::after,.fsmenu-ochWavyLine[aria-current]:not([aria-current='false'])::after{transform:scaleX(1)}
.fsmenu-ochWavyLine:focus-visible{outline:2.5px solid rgb(var(--c-brand-600));outline-offset:3px;border-radius:8px}
.fs-hdr-mobile .fsmenu-ochWavyLine::after{content:none}
@media screen and (prefers-reduced-motion: no-preference){
  [data-fs-motion="on"] .fsmenu-ochWavyLine{transition:var(--fs-anim-ochMenu, color calc(.3s * var(--fs-anim-speed, 1)))}
  [data-fs-motion="on"] .fsmenu-ochWavyLine::after{transition:var(--fs-anim-ochMenu, transform calc(.35s * var(--fs-anim-speed, 1)) ease)}
}

/* Anyone who asked the OS for less motion gets none of it. */
@media (prefers-reduced-motion: reduce) {
  [class*="fsmenu-an-"] > * { animation: none !important; }
  .fsmenu-hv-pulse:hover { animation: none !important; }
  [class*="fsmenu-"] { transition-duration: .01s !important; }
}

.fs-hdr-split{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;column-gap:1.75rem;width:100%}
.fs-hdr-side{display:flex;align-items:center;gap:1rem;min-width:0}
.fs-hdr-side-l{justify-content:flex-end}
.fs-hdr-side-r{justify-content:flex-start}
.fs-hdr-side-r > .fs-hdr-end{display:flex;align-items:center;gap:.75rem;margin-left:auto}
@container (max-width: 40rem){
  .fs-hdr-split{display:flex;justify-content:space-between;column-gap:.75rem}
  .fs-hdr-side-l{display:none}
}
@supports not (container-type: inline-size){
  @media (max-width: 40rem){
    .fs-hdr-split{display:flex;justify-content:space-between;column-gap:.75rem}
    .fs-hdr-side-l{display:none}
  }
}


/* ── Light / dark switch (.fs-hdr-mode) ────────────────────────────
   A visitor-facing control, so it is defined here beside the CTA and
   the phone rather than in any one surface's file — the same reason
   those two live here. Tokens only: the switch is INSIDE the theme's
   header, so it has to repaint with the palette like everything else
   around it, in both modes, on every palette.

   Deliberately quiet. It is a preference, not an action: ink at 70%,
   no fill until you point at it, and a hit area at the platform's
   floor. A switch that announced itself would compete with the CTA
   two elements along, which is the one thing on that row meant to be
   loud. */
.fs-hdr-mode {
  background: none;
  border: 0;
  cursor: pointer;
  color: rgb(var(--c-ink-950) / .7);
  transition: background-color .2s cubic-bezier(.2,.7,.3,1), color .2s cubic-bezier(.2,.7,.3,1);
}
.fs-hdr-mode:hover, .fs-hdr-mode:focus-visible {
  background: rgb(var(--c-ink-950) / .06);
  color: rgb(var(--c-ink-950));
}
.fs-hdr-mode:focus-visible {
  outline: 2px solid rgb(var(--fs-menu-color, var(--c-brand-600)));
  outline-offset: 2px;
}

/* ── Palette swatches (.fs-hdr-accent) ─────────────────────────────
   The visitor-facing accent switcher (HeaderModeControls.tsx), beside
   the mode switch it shares a job with. Same reasoning as above, with
   ONE deliberate exception to the tokens-only rule: each dot paints
   palette.brand as a LITERAL, inline, because the control's entire
   purpose is to show colours the page is NOT currently painted in.
   Resolved through --c-* every dot would be the same dot. Everything
   AROUND the colour — ring, hit area, focus — is tokens, so the
   control still belongs to the palette it sits in.

   Hidden below the sm breakpoint. Four 20px dots plus a mode switch plus a CTA does
   not fit a phone's brand row, and of the three the swatches are the
   one a visitor can live without — the same triage the phone number
   and the trust line already make on that row.

   The hit area is 28px against a 14px dot: the dot is the smallest
   thing on the row and a 14px target is not operable. The ring, not
   the fill, carries the selected state, so the colour a swatch shows
   is never the colour of its own state. */
.fs-hdr-accent-btn {
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
}
.fs-hdr-accent-dot {
  display: block;
  width: 14px;
  height: 14px;
  border-radius: 999px;
  /* The ring sits on the theme's own hairline until the swatch is the
     chosen one, then on its ink — so "selected" reads on any palette,
     in either mode, without the dot's own colour having to carry it. */
  box-shadow: 0 0 0 2px rgb(var(--c-line));
  transition: box-shadow .2s cubic-bezier(.2,.7,.3,1), transform .15s cubic-bezier(.2,.7,.3,1);
}
.fs-hdr-accent-dot[data-on="true"] {
  box-shadow: 0 0 0 2px rgb(var(--c-ink-950));
}
.fs-hdr-accent-btn:hover .fs-hdr-accent-dot { transform: scale(1.12); }
.fs-hdr-accent-btn:focus-visible {
  outline: 2px solid rgb(var(--fs-menu-color, var(--c-brand-600)));
  outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  .fs-hdr-accent-btn:hover .fs-hdr-accent-dot { transform: none; }
}

/* The page's own header extras (HeaderAside.tsx) — a trust line and a
   way back, on the brand row. Defined HERE, beside the phone and CTA
   they sit next to, so all three surfaces get one appearance; the
   markup is one shared component for the same reason. Colour and type
   come from tokens only, so a palette or theme change moves them with
   everything else in the row. */
.fs-hdr-aside-note {
  min-width: 0; white-space: nowrap;
  font-family: inherit; font-size: 0.8125rem; font-weight: 500;
  color: rgb(var(--c-ink-400));
}
/* --fs-ok is declared right here because there was no platform token
   for "this went well" green and inventing rgb(var(--c-ok, …)) would
   have been a variable that never resolves — the fallback would win in
   BOTH modes, and #1B7A52 on a dark ground is close to invisible. The
   dark signal is an ancestor .dark with the .fs-preview-light escape,
   the same pair every theme sheet uses; a bare '.dark X' selector is NOT this
   platform's signal (see the MemberPrime retrospective). */
.fs-hdr-aside-note { --fs-ok: #1B7A52; }
.fs-hdr-aside-note:is(.dark *):not(.fs-preview-light *) { --fs-ok: #5FBE8D; }
.fs-hdr-aside-note svg { flex: none; color: var(--fs-ok); }
.fs-hdr-aside-link {
  display: inline-flex; align-items: center; justify-content: center;
  /* 44px floor, like every other interactive thing in this row. */
  min-height: 44px; padding: 0 0.9375rem;
  font-family: inherit; font-size: 0.8125rem; font-weight: 600;
  color: rgb(var(--c-ink-700)); text-decoration: none;
  border: 1.5px solid rgb(var(--c-line)); border-radius: var(--r-control, 0.6875rem);
}
.fs-hdr-aside-link:hover { border-color: rgb(var(--c-ink-950)); color: rgb(var(--c-ink-950)); }
.fs-hdr-row { container-type: inline-size; }
.fs-hdr-contact { min-width: 0; }
.fs-hdr-phone {
  overflow: hidden; text-overflow: ellipsis;
  font-family: inherit;
  font-size: var(--fs-type-body, 1rem);
  font-weight: 700;
  color: rgb(var(--c-ink-950));
  /* A telephone number is DATA, not prose. Tabular figures set every
     digit on one advance width, so the number reads as something to
     dial and doesn't reflow when a theme swaps the body face. */
  font-variant-numeric: tabular-nums;
  font-feature-settings: 'tnum' 1;
}
/* The doubled selector is deliberate and load-bearing. The global
   typography rule '.fs-typo a' (class + type = 0,1,1) outranks a bare
   '.fs-hdr-cta' (0,1,0), and it was repainting this button's label in
   the editor's LINK colour at the row's inherited weight — a purple,
   regular-weight label on a brand fill. '.fs-typo .fs-hdr-cta' (0,2,0)
   wins it back without reaching for !important, which would in turn
   block any theme-scoped refinement. */
/* ── The CTA's four colours are OPT-IN CUSTOM PROPERTIES ───────────
   Same shape, and the same reasoning, as --fs-hdr-tel-icon-on below:
   with every property unset the fallbacks are the exact values this
   button has always had, so all forty-odd themes and every customer
   site render byte-identically and there is nothing to regress.

   A theme whose design draws a DIFFERENT CTA — WriterWave's Subscribe
   is a tinted pill with brand-coloured text, not a brand fill — sets
   them from its own scoped sheet, which reaches the editor canvas, the
   preview and the published site through the one shared stylesheet
   rather than a per-surface override (CONTRACT §3).

   The looks themselves are below, keyed on data-fs-hdr-cta which the
   shell emits from the customer's choice, else the theme's, else
   'solid'. Every value in them is a palette token, so a look works on
   any theme and any palette — WriterWave is the first user, not the
   owner.

   (No backticks anywhere in this string: it is one template literal,
   and a backtick here ends it. Costs an afternoon every time.) */
.fs-typo .fs-hdr-cta, .fs-hdr-cta {
  background: var(--fs-hdr-cta-bg, rgb(var(--c-brand-600)));
  /* --fs-on-brand, not a raw --c-paper: this label sits ON the brand
     fill, and apply.ts already solves "which of this palette's own
     paper/ink reads on that fill" for exactly this case. The fallback
     is the previous value, so every current palette renders unchanged
     while a pale brand stops producing near-white-on-near-white. Same
     rule DESIGN-HANDOFF-SPEC §1 states for block sheets. */
  color: var(--fs-hdr-cta-fg, var(--fs-on-brand, rgb(var(--c-paper))));
  font-family: inherit;
  /* ── The three geometry values are theme-declarable (GAP-17) ──────
     --fs-hdr-cta-* are emitted by siteShell() from the RESOLVED
     settings (header-cta.ts), so a theme can size this button per tier
     the way it already sizes the nav item beside it, and a customer's
     own value wins over both. Each falls back to EXACTLY the value
     this rule carried before, so the 41 themes that declare nothing
     render byte-identically — including the em padding, which is why
     the fallbacks stay in em rather than being converted to px. */
  font-size: var(--fs-hdr-cta-size, var(--fs-type-body, 1rem));
  font-weight: 700;
  text-decoration: none;
  /* Padding in em by default, so it tracks the type token above rather
     than pinning the button to one font size. A theme that declares an
     absolute px value is saying the design draws an absolute box —
     PayFlow's export does — and em would re-scale it against the
     font-size to something the design never draws. */
  padding: var(--fs-hdr-cta-py, 0.625em) var(--fs-hdr-cta-px, 1.25em);
  border-radius: var(--fs-hdr-cta-radius, var(--fs-radius-control, 8px));
  min-height: 44px;
  white-space: nowrap;
  transition: background-color .18s ease;
}
/* The same label through hover and press. '.fs-typo a:hover' and
   ':active' are 0,2,1 and so outrank the base rule above on their own —
   measured, they were repainting the label in the site's LINK HOVER
   colour and striking a text-decoration underline through the middle of
   a filled brand button. */
.fs-typo .fs-hdr-cta:hover, .fs-typo .fs-hdr-cta:active,
.fs-hdr-cta:hover, .fs-hdr-cta:active {
  color: var(--fs-hdr-cta-fg-hover, rgb(var(--c-paper)));
  text-decoration: none;
}
.fs-typo .fs-hdr-cta:hover, .fs-hdr-cta:hover { background: var(--fs-hdr-cta-bg-hover, rgb(var(--c-brand-700))); }
/* ── Header CTA looks ─────────────────────────────────────────────
   'solid' sets nothing: the fallbacks above ARE the solid look, so a
   site that never picks anything is byte-identical to before this
   existed, and the option is a real reset rather than a second
   definition that could drift from the default.

   'tint' is the quieter treatment — a wash of the accent with the
   brand as the label, filling on hover. Drawn from tokens only, so it
   repaints with the palette and works on any theme. */
[data-fs-hdr-cta='outline'] {
  --fs-hdr-cta-bg: transparent;
  --fs-hdr-cta-fg: currentColor;
  --fs-hdr-cta-bg-hover: rgb(var(--c-brand-600));
  --fs-hdr-cta-fg-hover: var(--fs-on-brand);
}
[data-fs-hdr-cta='outline'] .fs-hdr-cta { border: 1px solid currentColor; }
/* 'link' (added by the aurelle port, Task 8): no box at all - plain
   tracked capitals in the page ink, a fine line growing from the left under
   them on hover and focus (the source's .nav-icons a). Padding, fill and
   weight are reset through the same variables the other looks use; the
   44px hit-target floor stays. Palette tokens only. */
[data-fs-hdr-cta='link'] {
  --fs-hdr-cta-bg: transparent;
  --fs-hdr-cta-fg: rgb(var(--c-ink-950));
  --fs-hdr-cta-bg-hover: transparent;
  --fs-hdr-cta-fg-hover: rgb(var(--c-ink-950));
  --fs-hdr-cta-px: 0px;
  --fs-hdr-cta-py: 0px;
  --fs-hdr-cta-radius: 0px;
}
[data-fs-hdr-cta='link'] .fs-hdr-cta.fs-hdr-cta { position: relative; font-size: .8rem; font-weight: 300; line-height: 1.7; letter-spacing: .16em; text-transform: uppercase; }
[data-fs-hdr-cta='link'] .fs-hdr-cta::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 7px; height: 1px; background: currentColor; }
[data-fs-hdr-cta='link'] .fs-hdr-cta:hover::after, [data-fs-hdr-cta='link'] .fs-hdr-cta:focus-visible::after { right: 0; }
@media screen and (prefers-reduced-motion: no-preference) { [data-fs-motion="on"] [data-fs-hdr-cta='link'] .fs-hdr-cta::after { transition: right .3s; } }
[data-fs-hdr-cta='tint'] {
  --fs-hdr-cta-bg: color-mix(in srgb, rgb(var(--c-accent)) 15%, rgb(var(--c-paper)));
  --fs-hdr-cta-fg: rgb(var(--c-brand-600));
  --fs-hdr-cta-bg-hover: rgb(var(--c-accent));
  --fs-hdr-cta-fg-hover: rgb(var(--c-paper));
}
/* ── An optional glyph in front of the number ──────────────────────
   A GENERIC, OPT-IN AFFORDANCE, and inert by construction rather than
   by care. content resolves to var(--fs-hdr-tel-icon-on, none): with
   the property unset the value is literally 'none', so no
   pseudo-element is generated at all — no box, no width, no margin, no
   change to a single one of the thirty-two themes or any customer site.
   There is nothing to regress, because with the switch off the browser
   never creates the thing that could.

   A theme opts in from its own scoped sheet with two declarations:

     [data-fs-theme='x'] .fs-hdr-util-tel { --fs-hdr-tel-icon-on: '';
                                            --fs-hdr-tel-icon: url(...); }

   MASK, NOT content: url(). A pseudo-element whose content IS an image
   is a replaced box and cannot take a colour, so the glyph would ship
   one hardcoded stroke and be wrong the moment the palette flipped —
   which for a header icon means wrong in dark mode on every site that
   used it. Masking a solid fill keeps the colour in CSS, so the glyph
   follows currentColor (or an explicit --fs-hdr-tel-icon-ink) through
   every palette and both modes for free.

   The declarations below are all inside the generated box, so they cost
   nothing when it does not exist. Both numbers are covered — the one in
   the nav row and the one that rides up into the utility tier — because
   a theme should not have to know which tier its own number landed in.

   inline-block + vertical-align works in both hosts: the utility-strip
   number is an inline-flex row (the glyph becomes a flex item and the
   row's own gap spaces it), the nav-row number is a plain inline box
   (hence the margin, applied only there). */
.fs-hdr-phone::before,
.fs-hdr-util-tel::before {
  content: var(--fs-hdr-tel-icon-on, none);
  display: inline-block;
  vertical-align: -.125em;
  width: 1em; height: 1em; flex: none;
  background: var(--fs-hdr-tel-icon-ink, currentColor);
  -webkit-mask: var(--fs-hdr-tel-icon) center / contain no-repeat;
  mask: var(--fs-hdr-tel-icon) center / contain no-repeat;
}
.fs-hdr-phone::before { margin-right: .4em; }
/* Tablet-ish canvas: the number is the first thing to go. */
@container (max-width:56rem) { .fs-hdr-phone { display: none; } }
/* Phone-ish canvas: the brand lockup gets the whole row. */
@container (max-width: 34rem) { .fs-hdr-contact { display: none; } }


/* The outer element is the CONTAINER and nothing else — no rule, no
   padding, no colour. Everything visible lives on the inner row, so
   the narrow-canvas rule below can hide the tier completely: an
   element cannot be hidden by a container query it declares itself
   (the query resolves against an ANCESTOR container), and a border
   left out here would survive as a stray hairline. */
.fs-hdr-util { container-type: inline-size; }
.fs-hdr-util-in {
  display: flex; align-items: center; flex-wrap: wrap;
  gap: 1.1rem; min-height: 38px;
  border-bottom: 1px solid rgb(var(--c-line) / .55);
  font-size: var(--fs-type-caption, .8125rem);
  color: rgb(var(--c-ink-700));
}
.fs-hdr-util-item { display: inline-flex; align-items: center; gap: .45em; min-width: 0; white-space: nowrap; }
/* The number is the one item that hangs right, the way a utility strip
   in this shape always sets it. margin-left:auto on the LAST item, not
   a spacer element, so the strip still reads left-to-right when the
   phone is absent. */
.fs-hdr-util-tel {
  margin-left: auto;
  font-weight: 700;
  color: rgb(var(--c-ink-950));
  /* A telephone number is data — same tabular treatment as the number
     in the nav row, so the two never disagree about digit widths. */
  font-variant-numeric: tabular-nums;
  font-feature-settings: 'tnum' 1;
}
/* "Are they open" is the question the strip exists to answer, so the
   opening state gets the one piece of decoration on it. */
.fs-hdr-util-dot {
  width: .5em; height: .5em; flex: none;
  border-radius: var(--fs-radius-pill, 9999px);
  background: rgb(var(--c-accent, var(--c-brand-600)));
}
/* Tablet-ish canvas: address and opening state go, the number stays. */
@container (max-width: 44rem) {
  .fs-hdr-util-address, .fs-hdr-util-hours, .fs-hdr-util-note { display: none; }
}
/* Phone-ish canvas: the whole tier goes rather than becoming a second
   row of chrome above the fold. */
@container (max-width: 30rem) { .fs-hdr-util-in { display: none; } }
@supports not (container-type: inline-size) {
  @media (max-width: 44rem) {
    .fs-hdr-util-address, .fs-hdr-util-hours, .fs-hdr-util-note { display: none; }
  }
  @media (max-width: 30rem) { .fs-hdr-util-in { display: none; } }
}


  /* Menu items are anchors, so they inherit the browser's underlined-blue
     link look unless it is turned off. Every menu style sets its own colour
     and its own hover treatment, and none of them wants a default underline
     — an author expects the header to look the same in the editor as it will
     on the published site. Styles that DO underline on hover
     (.fsmenu-underline:hover, .fsmwa-hover-underline::after) still win: the
     first on specificity, the second because it draws a pseudo-element
     rather than a text-decoration.

     text-decoration only — NOT colour. These inline <style> tags are injected
     after Tailwind's sheet, so a colour here would outrank the text-ink-700
     utility the menu styles rely on and repaint every existing menu. The
     styles already set their own colour; only the underline needs removing. */
  .fsmw-item { text-decoration: none; }
  .fsmwa-item { position: relative; display: inline-block; }
  /* HOVER */
  /* HOVER — scaled by --fsmw-int (0..1, default .6) for subtle→strong */
  .fsmwa-hover-underline::after { content:''; position:absolute; left:0; right:0; bottom:-2px; height:calc(1px + 2px * var(--fsmw-int, .6)); background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform .25s ease; }
  .fsmwa-hover-underline:hover::after { transform:scaleX(1); }
  .fsmwa-hover-colorshift { transition:color .2s ease, filter .2s ease; }
  .fsmwa-hover-colorshift:hover { color: rgb(var(--c-brand-600)); filter: brightness(calc(1 + 0.35 * var(--fsmw-int, .6))); }
  .fsmwa-hover-lift { transition:transform .2s ease; }
  .fsmwa-hover-lift:hover { transform:translateY(calc(-4px * var(--fsmw-int, .6))); }
  .fsmwa-hover-highlightbar::before { content:''; position:absolute; inset:-2px -6px; border-radius:6px; background: rgb(var(--c-brand-600) / calc(0.22 * var(--fsmw-int, .6))); transform:scaleX(0); transform-origin:left; transition:transform .25s ease; z-index:-1; }
  .fsmwa-hover-highlightbar:hover::before { transform:scaleX(1); }
  .fsmwa-hover-glow { transition:text-shadow .25s ease; }
  .fsmwa-hover-glow:hover { text-shadow: 0 0 calc(10px * var(--fsmw-int, .6)) rgb(var(--c-brand-600) / calc(0.8 * var(--fsmw-int, .6))); }
  /* CLICK */
  .fsmwa-click-press { transition:transform .08s ease; }
  .fsmwa-click-press:active { transform:scale(.94); }
  .fsmwa-click-ripple { overflow:hidden; }
  .fsmwa-click-ripple::after { content:''; position:absolute; left:50%; top:50%; width:6px; height:6px; border-radius:9999px; background: currentColor; opacity:.25; transform:translate(-50%,-50%) scale(0); transition:transform .4s ease, opacity .4s ease; }
  .fsmwa-click-ripple:active::after { transform:translate(-50%,-50%) scale(14); opacity:0; transition:transform 0s; }
  /* ACTIVE (needs .fsmw-active) */
  .fsmwa-active-underline.fsmw-active { box-shadow: inset 0 calc(-1px * var(--fsmw-uh, 2)) 0 0 rgb(var(--c-brand-600)); }
  .fsmwa-active-pill.fsmw-active { background: rgb(var(--c-brand-600) / .12); border-radius:9999px; padding:2px 12px; color: rgb(var(--c-brand-600)); }
  .fsmwa-active-accentbar.fsmw-active { box-shadow: inset 3px 0 0 0 rgb(var(--c-brand-600)); padding-left:8px; }
  .fsmwa-active-boldaccent.fsmw-active { font-weight:700; color: rgb(var(--c-accent-600, var(--c-brand-600))); }
  .fsmwa-active-boxed.fsmw-active { border: calc(1px * var(--fsmw-bxi, 1)) solid rgb(var(--c-brand-600)); border-radius:6px; padding:2px 10px; }


.fs-hdr-row { container-type: inline-size; }
.fs-hdr-burger { display: none; }
[data-fs-editor-frame] .fs-editor-canvas { container-type: inline-size; container-name: fs-editor-canvas; }
@container fs-editor-canvas (max-width: 64rem) {
  [data-fs-editor-frame] .fs-hdr-nav.fs-hdr-nav { display: none; }
  [data-fs-editor-frame] .fs-hdr-burger { display: inline-flex; }
}
/* Browsers without container queries keep the old viewport behaviour
   rather than a nav that never collapses. Inside @supports so modern
   browsers evaluate exactly one rule. */
@supports not (container-type: inline-size) {
  @media (max-width: 64rem) {
    [data-fs-editor-frame] .fs-hdr-nav.fs-hdr-nav { display: none; }
    [data-fs-editor-frame] .fs-hdr-burger { display: inline-flex; }
  }
}

/* ── Drop-downs ────────────────────────────────────────────────
   STRUCTURAL rules only — position, stacking, list resets, base
   display/typography. Every VISUAL value (background, border, radius,
   shadow, width, hover colour) now comes from dropdown-styles.ts's
   dropdownLook(), applied as inline style by PrimaryNav.tsx's
   NavGroup, the same way menuLook's base looks already win the
   cascade without a specificity fight. This keeps a nested menu
   wearing whatever the theme wears — no theme declares anything — and
   ALSO wearing whatever dropdown STYLE the customer picked. The
   TRIGGER keeps the theme's own item look (PrimaryNav passes menuLook
   through) exactly as before. */
.fs-hdr-group { position: relative; display: inline-flex; align-items: center; gap: 2px; }
.fs-hdr-group-btn {
  background: none; border: 0; cursor: pointer; font: inherit; color: inherit;
  padding: 0; margin: 0;
}
.fs-hdr-caret {
  display: inline-flex; align-items: center; justify-content: center;
  background: none; border: 0; padding: 2px; margin: 0; cursor: pointer;
  color: currentColor; opacity: .65; line-height: 0;
  /* The caret is small ON PURPOSE; the tap target is not. */
  position: relative;
}
.fs-hdr-caret::after { content: ''; position: absolute; inset: -12px -8px; }
.fs-hdr-group:hover .fs-hdr-caret, .fs-hdr-caret:focus-visible { opacity: 1; }
.fs-hdr-caret svg { transition: transform .18s ease; }
.fs-hdr-group[data-open] .fs-hdr-caret svg { transform: rotate(180deg); }

.fs-hdr-drop {
  position: absolute; top: 100%; left: 0; z-index: 60;
  margin: 0; padding: 6px; list-style: none;
  /* The 8px gap the pointer crosses is INSIDE the element (padding-top
     on a transparent strip), so the menu does not close mid-journey. */
  margin-top: 8px;
}
.fs-hdr-drop::before { content: ''; position: absolute; left: 0; right: 0; top: -10px; height: 10px; }
.fs-hdr-drop[hidden] { display: none; }
.fs-hdr-drop li { margin: 0; }
.fs-hdr-drop-link {
  display: block;
  font-size: .9375rem; font-weight: 600; line-height: 1.3;
  color: rgb(var(--c-ink-950)); text-decoration: none; white-space: normal;
}

/* Mobile panel: the same tree, open, indented — no hover to discover. */
.fs-hdr-mobile-list, .fs-hdr-mobile-sub { list-style: none; margin: 0; padding: 0; }
.fs-hdr-mobile-sub { margin: 2px 0 6px; padding-left: 14px; border-left: 1px solid rgb(var(--c-line)); }
.fs-hdr-mobile-sub[hidden] { display: none; }
.fs-hdr-mobile-link { display: block; padding: 10px 4px; font-weight: 700; text-decoration: none; color: rgb(var(--c-ink-950)); }
.fs-hdr-mobile-link.is-sub { font-weight: 500; font-size: .9375rem; color: rgb(var(--c-ink-600)); }
.fs-hdr-mobile-link[aria-current='page']:not([aria-current='false']) { color: rgb(var(--c-brand-600)); }
/* The parent link and its expand toggle share a row: the link still
   navigates on its own tap (a parent that is also a real page must
   stay reachable), the chevron is a SEPARATE control that only opens
   or closes the drop-down underneath it. */
.fs-hdr-mobile-row { display: flex; align-items: center; }
.fs-hdr-mobile-row .fs-hdr-mobile-link { flex: 1; }
.fs-hdr-mobile-toggle {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; margin: -10px -4px -10px 0;
  background: none; border: 0; padding: 0; cursor: pointer;
  color: rgb(var(--c-ink-600));
}
.fs-hdr-mobile-toggle svg { transition: transform .18s ease; }

@media (prefers-reduced-motion: reduce) {
  .fs-hdr-caret svg, .fs-hdr-mobile-toggle svg { transition: none; }
}


.fsdrop-link-classic, .fsdrop-link-panel, .fsdrop-link-sharp, .fsdrop-link-rail,
.fsdrop-link-pills, .fsdrop-link-elevated, .fsdrop-link-split, .fsdrop-link-feature,
.fsdrop-link-ink, .fsdrop-link-brand, .fsdrop-link-glass, .fsdrop-link-sheet,
.fsdrop-link-tiles, .fsdrop-link-ledger, .fsdrop-link-bracket, .fsdrop-link-columns {
  transition: color .2s cubic-bezier(.2,.7,.3,1), background-color .2s cubic-bezier(.2,.7,.3,1),
    border-color .2s cubic-bezier(.2,.7,.3,1), transform .2s cubic-bezier(.2,.7,.3,1);
}

.fsdrop-link-classic:hover, .fsdrop-link-classic:focus-visible { background: rgb(var(--c-paper-soft)); color: rgb(var(--fs-menu-color, var(--c-brand-600))); }
.fsdrop-link-classic.is-active { color: rgb(var(--fs-menu-color, var(--c-brand-600))); }

.fsdrop-link-panel:last-child { border-bottom: 0 !important; }
.fsdrop-link-panel:hover, .fsdrop-link-panel:focus-visible { background: rgb(var(--c-paper-soft)); color: rgb(var(--fs-menu-color, var(--c-brand-600))); }
.fsdrop-link-panel.is-active { color: rgb(var(--fs-menu-color, var(--c-brand-600))); }

.fsdrop-link-sharp:hover, .fsdrop-link-sharp:focus-visible { background: rgb(var(--c-line) / .35); }
.fsdrop-link-sharp.is-active { background: rgb(var(--c-line) / .5); }

.fsdrop-link-rail { position: relative; }
.fsdrop-link-rail::before {
  content: ''; position: absolute; left: 2px; top: 8px; bottom: 8px; width: 3px; border-radius: 2px;
  background: rgb(var(--fs-menu-color, var(--c-brand-600)));
  opacity: 0; transform: translateX(-4px); transition: opacity .18s ease, transform .18s ease;
}
.fsdrop-link-rail:hover, .fsdrop-link-rail:focus-visible { background: rgb(var(--c-paper-soft)); color: rgb(var(--fs-menu-color, var(--c-brand-600))); }
.fsdrop-link-rail:hover::before, .fsdrop-link-rail:focus-visible::before { opacity: 1; transform: translateX(0); }
.fsdrop-link-rail.is-active { color: rgb(var(--fs-menu-color, var(--c-brand-600))); }
.fsdrop-link-rail.is-active::before { opacity: 1; transform: translateX(0); }

.fsdrop-link-pills:hover, .fsdrop-link-pills:focus-visible { background: rgb(var(--fs-menu-color, var(--c-brand-600))); color: var(--fs-on-brand, rgb(var(--c-paper))); }
.fsdrop-link-pills.is-active { background: rgb(var(--fs-menu-color-light, var(--c-brand-50))); color: rgb(var(--fs-menu-color-dark, var(--c-brand-700))); }

.fsdrop-link-elevated:hover, .fsdrop-link-elevated:focus-visible { background: rgb(var(--fs-menu-color-light, var(--c-brand-50))); color: rgb(var(--fs-menu-color-dark, var(--c-brand-700))); transform: translateY(-1px); }
.fsdrop-link-elevated.is-active { color: rgb(var(--fs-menu-color, var(--c-brand-600))); }
/* ══ THE RANGE SET ════════════════════════════════════════════════
   Seven list styles and one mega that differ in GROUND, GEOMETRY or
   COMPOSITION rather than in corner radius. See the note on the ids at
   the top of this file for why that distinction was worth making.

   Two rules every one of them holds to, both learned the hard way here:
     * A label on a brand fill takes var(--fs-on-brand), the SOLVED
       on-brand colour, never a paper or white literal — --c-brand-700
       is a darkened brand in BOTH page modes, so a hand-picked pair
       that passes in light mode can fail in dark.
     * Where the ground is already coloured, hover cannot be carried by
       a colour swap. Ink and brand shift their own ground's alpha
       instead, which works at any palette and in either mode. */

/* Ink — inverted. The hover is a wash of the PAGE's paper colour over
   the panel's ink ground, so it lightens in light mode and darkens in
   dark mode with one rule instead of two. */
.fsdrop-link-ink { color: rgb(var(--c-paper)); }
.fsdrop-link-ink:hover, .fsdrop-link-ink:focus-visible { background: rgb(var(--c-paper) / .14); }
.fsdrop-link-ink.is-active { background: rgb(var(--c-paper) / .22); font-weight: 700; }

/* Brand — flooded. Same trick as ink: hover is paper at low alpha over
   the brand ground, guaranteed to read because that is exactly what
   --fs-on-brand is solved against. */
.fsdrop-link-brand { color: var(--fs-on-brand, rgb(var(--c-paper))); }
.fsdrop-link-brand:hover, .fsdrop-link-brand:focus-visible { background: rgb(var(--c-paper) / .18); }
.fsdrop-link-brand.is-active { background: rgb(var(--c-paper) / .26); font-weight: 700; }

/* Glass — the material. backdrop-filter is progressive: where it is
   unsupported the .82 ground still carries the contrast on its own, so
   this degrades to a slightly translucent card, not an unreadable one. */
.fsdrop-panel-glass { -webkit-backdrop-filter: blur(14px) saturate(1.5); backdrop-filter: blur(14px) saturate(1.5); }
.fsdrop-link-glass:hover, .fsdrop-link-glass:focus-visible { background: rgb(var(--c-paper) / .9); color: rgb(var(--fs-menu-color, var(--c-brand-600))); }
.fsdrop-link-glass.is-active { color: rgb(var(--fs-menu-color, var(--c-brand-600))); font-weight: 700; }

/* Sheet — the geometry. Links flow ACROSS the band, so the hover mark
   is an underline on the baseline rather than a filled row: a fill on
   an item only as wide as its text reads as a chip, and this style is
   explicitly not the pills style. */
.fsdrop-link-sheet { position: relative; }
.fsdrop-link-sheet::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: 2px; height: 2px;
  background: rgb(var(--fs-menu-color, var(--c-brand-600)));
  transform: scaleX(0); transform-origin: left;
  transition: transform .22s cubic-bezier(.2,.7,.3,1);
}
.fsdrop-link-sheet:hover::after, .fsdrop-link-sheet:focus-visible::after,
.fsdrop-link-sheet.is-active::after { transform: scaleX(1); }
.fsdrop-link-sheet:hover, .fsdrop-link-sheet:focus-visible,
.fsdrop-link-sheet.is-active { color: rgb(var(--fs-menu-color, var(--c-brand-600))); }

/* Tiles — the composition. The container is transparent, so the shift
   on hover is the whole feedback: there is no panel behind the tile to
   tint. */
.fsdrop-link-tiles:hover, .fsdrop-link-tiles:focus-visible {
  transform: translateX(3px);
  border-color: rgb(var(--fs-menu-color, var(--c-brand-600)) / .5);
  color: rgb(var(--fs-menu-color, var(--c-brand-600)));
}
.fsdrop-link-tiles.is-active {
  border-color: rgb(var(--fs-menu-color, var(--c-brand-600)));
  color: rgb(var(--fs-menu-color, var(--c-brand-600)));
}

/* Ledger — the rhythm. An index per row, counter-reset on the panel so
   rows renumber themselves when a page is added. The last row drops its
   rule so the panel does not end on a doubled line against its border. */
.fsdrop-panel-ledger { counter-reset: fsdropled; }
.fsdrop-link-ledger { position: relative; counter-increment: fsdropled; padding-left: 40px !important; }
.fsdrop-link-ledger::before {
  content: counter(fsdropled, decimal-leading-zero);
  position: absolute; left: 14px; top: 50%; transform: translateY(-50%);
  font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
  font-size: 12px; letter-spacing: .06em;
  color: rgb(var(--fs-menu-color, var(--c-brand-600))); opacity: .6;
}
.fsdrop-link-ledger:last-child { border-bottom: 0 !important; }
.fsdrop-link-ledger:hover, .fsdrop-link-ledger:focus-visible { background: rgb(var(--fs-menu-color, var(--c-brand-600)) / .08); }
.fsdrop-link-ledger:hover::before, .fsdrop-link-ledger:focus-visible::before,
.fsdrop-link-ledger.is-active::before { opacity: 1; }
.fsdrop-link-ledger.is-active { color: rgb(var(--fs-menu-color, var(--c-brand-600))); font-weight: 700; }

/* Bracket — the chrome. Two pseudo-elements, each an L, at opposite
   corners. Painted at REST, unlike the ghostBox menu style which draws
   itself on hover: this is the panel's only edge, and an edge that
   appears only when pointed at leaves the panel edgeless until then. */
/* NO "position: relative" HERE, deliberately. The obvious way to anchor
   the two corner pseudo-elements is to make the panel a positioning
   context — but .fs-hdr-drop is already "position: absolute"
   (HEADER_NAV_CSS), which IS one, and this sheet is injected after that
   one at equal specificity (0,1,0). So "position: relative" did not add
   an anchor, it REPLACED "absolute" and dropped the panel into normal
   flow, where it expanded its own nav group and shoved the rest of the
   menu along instead of floating over the page. It measured as a panel
   134px adrift; it would have shipped as a broken header.

   (And this comment must never contain a backtick: it lives inside the
   DROPDOWN_STYLE_CSS template literal, where one closes the string and
   the file stops parsing hundreds of lines later. Same note as the one
   in MENU_STYLE_CSS, for the same reason, after the same mistake.) */
.fsdrop-panel-bracket::before, .fsdrop-panel-bracket::after {
  content: ''; position: absolute; width: 16px; height: 16px; pointer-events: none;
  border-color: rgb(var(--fs-menu-color, var(--c-brand-600))); border-style: solid; border-width: 0;
}
.fsdrop-panel-bracket::before { top: 0; left: 0; border-top-width: 2px; border-left-width: 2px; }
.fsdrop-panel-bracket::after { bottom: 0; right: 0; border-bottom-width: 2px; border-right-width: 2px; }
.fsdrop-link-bracket { transition: padding-left .2s cubic-bezier(.2,.7,.3,1), color .2s cubic-bezier(.2,.7,.3,1) !important; }
.fsdrop-link-bracket:hover, .fsdrop-link-bracket:focus-visible {
  color: rgb(var(--fs-menu-color, var(--c-brand-600))); padding-left: 14px !important;
}
.fsdrop-link-bracket.is-active { color: rgb(var(--fs-menu-color, var(--c-brand-600))); font-weight: 700; }

/* Ruled mega — the rules are drawn by the COLUMNS, on their right
   edge, and the last drops its own. Drawing them on the panel would
   mean knowing the column count, which is decided per item. */
.fsdrop-panel-columns .fsdrop-mega-col,
.fsdrop-panel-columns .fsdrop-mega-content { border-right: 1px solid rgb(var(--c-line)); padding-right: 22px; }
.fsdrop-panel-columns > :last-child { border-right: 0; }
.fsdrop-link-columns:hover, .fsdrop-link-columns:focus-visible,
.fsdrop-link-columns.is-active { color: rgb(var(--fs-menu-color, var(--c-brand-600))); }

/* ── THE BAND SET ───────────────────────────────────────────────────
   Four layouts over one shell. Everything structural lives on
   .fsdrop-band so the four stay switchable; each archetype below adds
   only its own composition. Vertical rhythm is set per archetype as a
   custom property because the shell's padding is an INLINE style —
   var() still resolves through the cascade, which is the only way to
   leave an inline declaration adjustable.

   The content cell carries the measure rather than a wrapper element:
   the engine emits columns and one content cell, and adding a wrapper
   would change the DOM every other mega style shares. */
/* WHAT MAKES A BAND A BAND, and the part that is easy to get wrong.
   "left:0;right:0" resolves against the nearest POSITIONED ancestor,
   and by default that is the trigger's own LI — so a band declared
   this way lands at the width of its trigger, about 75px, not the
   width of the header. It looks like the CSS did nothing; it did
   exactly what it was told.

   So the containing block has to move up to the header row: relative
   on the row, static on the group holding a band. Scoped with :has()
   to bands only, because every OTHER mega style is a card centred on
   its trigger and needs that <li> to stay the containing block. A
   header with one band item and three ordinary drop-downs gets both
   behaviours, correctly, at once.

   Same fix RealtyWave arrived at per-theme for the same geometry. It
   lives here now because it is a property of the archetype, not of a
   theme that happens to use it. */
.fs-hdr-row:has(.fsdrop-band) { position: relative; }
.fs-hdr-group:has(.fsdrop-band) { position: static; }

/* THE SAME ANCHOR FIX, for megaWidth:'full' on any NON-band style.

   .fsdrop-w-full's own centring calc is correct exactly when the
   panel's positioned ancestor sits at viewport x=0: its percentage
   margin resolves against the CONTAINING BLOCK, so anchored to the
   trigger's own .fs-hdr-group the whole 100vw panel lands at the
   trigger's x and overruns the right edge by that amount. Measured on
   HairFlow ('columns' + w-full): Services' panel at x=253 spilling
   253px off-screen, Journal's at x=678 spilling 678px — while
   HelixDesk's band, whose group the rule above makes static, anchors
   to the header row at x=0 and lands exactly on the viewport.

   A 100vw panel WANTS viewport anchoring by definition — there is no
   layout in which a full-width panel is correct at its trigger's
   offset — so the band's group-goes-static fix applies to every
   full-width panel, whatever its style. Bands are unaffected (their
   group is already static via the rule above); card-style panels
   without w-full keep their trigger as the containing block, as they
   must. ChefPrime and RealtyWave both documented this exact mis-anchor
   and worked around it per-theme; this is that fix moved to where the
   width class lives. */
.fs-hdr-row:has(.fsdrop-w-full) { position: relative; }
.fs-hdr-group:has(.fsdrop-w-full) { position: static; }

/* Same anchor fix as .fsdrop-w-full, for the same reason: a panel
   positioned with left/right (not centred on its trigger) needs the
   ROW as its containing block, or left/right resolve against the
   trigger's own <li> instead of the header.

   Both rules below are scoped to INSIDE an .fs-hdr-row on purpose.
   'bar' is fed into every mega-panel width consumer on the site, not
   just the header nav — the Menu widget block (PrimaryNav rendered
   from SectionRenderer, no .fs-hdr-row ancestor at all) and the Menu
   Builder's per-menu custom menus both offer it too. Outside a row
   there is no row edge to anchor to, so this pair must not fire there
   — see the --row-pad fallback below for what 'bar' does instead in
   that case.

   The group rule additionally excludes a .fsmenu-rail-nested group:
   .fsmenu-rail's own dropdown (menu-styles.ts) positions itself with
   left:100% !important off the trigger's <li>, which only works
   while that <li> (.fs-hdr-group) stays a positioned ancestor. Forcing
   it static — correct for the horizontal bar case — would hand a
   vertical rail submenu's containing block to some further ancestor
   and break it, so a rail group keeps its own positioning here even
   when it happens to sit inside a header row. */
.fs-hdr-row:has(.fsdrop-w-bar) { position: relative; }
.fs-hdr-row .fs-hdr-group:has(.fsdrop-w-bar):not(.fsmenu-rail .fs-hdr-group) { position: static; }

.fsdrop-band { max-width: none; }
.fsdrop-band .fsdrop-mega-content { flex: 1 1 auto; min-width: 0; }

/* 0 — LEDGER CARD. The band set's anchoring with a card's chrome; the
   composition inside is the theme's (LedgerLite lays four composites on
   a 1.55fr / .95fr grid in its own sheet). Only the archetype-level
   facts live here: the content cell fills the card and the drop-in is
   the kit's 220ms ease-out. */
.fsdrop-panel-ledgercard { --fs-band-pad-y: 30px; }
.fsdrop-panel-ledgercard .fsdrop-mega-content { display: block; }

/* 1 — CARD GRID. Equal-weight destinations get equal visual weight, so
   the grid is even and auto-fitting rather than a fixed column count;
   180px is the floor below which an icon-led card stops reading as a
   card. One featured cell sits beside it carrying the single
   commercial message, which is why it is the only elevated surface. */
.fsdrop-panel-cardgrid { --fs-band-pad-y: 30px; }
.fsdrop-panel-cardgrid .fsdrop-mega-content {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
  gap: 10px;
  align-content: start;
}

/* 2 — CATEGORIES. Ruled headings give each group a visible owner, so
   grouped links stay readable well past a dozen entries. The rule is
   drawn under the HEADING, not around the group: a box would make each
   category a card and flatten the hierarchy the rule exists to create. */
.fsdrop-panel-categories { --fs-band-pad-y: 30px; }
.fsdrop-panel-categories .fsdrop-mega-linklist-heading {
  padding-bottom: 8px;
  border-bottom: 1px solid rgb(var(--c-line-soft, var(--c-line)));
  margin-bottom: 10px;
}

/* 3 — AIRY. Space is the signal: large links, wide gutters, no cards
   at all. The wider 220px floor is deliberate — the same content in
   fewer, roomier columns is the whole point, so it must NOT reflow to
   the same density as the card grid. */
.fsdrop-panel-airy { --fs-band-pad-y: 44px; --fs-band-pad-b: 48px; }
.fsdrop-panel-airy .fsdrop-mega-content {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  column-gap: 56px;
  row-gap: 14px;
  align-content: start;
}
.fsdrop-panel-airy .fsdrop-mega-linklist-link { border: 0; padding: 4px 0; }

/* 4 — EDITORIAL. Merchandising from the nav itself: every row is a
   label with a line of description under it. Degrades by design — with
   no description this renders as Categories, which is the handover's
   own stated fallback rather than an accident. */
.fsdrop-panel-editorial { --fs-band-pad-y: 28px; }
.fsdrop-panel-editorial .fsdrop-mega-linklist-link {
  display: block;
  padding: 8px 0;
}

/* The row's note, for every band. The class is older than the field
   that feeds it: dropdown-styles.ts has styled .fsdrop-link-note since
   railcards shipped, but nothing ever emitted it, so the rule below
   was unreachable and the archetype named for its description line
   could not draw one. MegaLink.desc is the missing half.
   Scoped to .fsdrop-band so railcards keeps its own tighter values. */
.fsdrop-band .fsdrop-link-note {
  display: block;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.45;
  margin-top: 2px;
  color: rgb(var(--c-ink-400));
}
/* Only the two layouts that MERCHANDISE show it. Categories and airy
   deliberately do not: their whole argument is hierarchy and space, and
   a description line under every row destroys both. This is why the
   content model can stay identical across all four — the same authored
   rows render as a directory here and as merchandising there, and the
   handover's "no description -> style 4 renders like style 2" is the
   same statement read from the other end. Archetype behaviour, not a
   theme's, so it sits here rather than in a theme sheet. */
.fsdrop-panel-categories .fsdrop-link-note,
.fsdrop-panel-airy .fsdrop-link-note { display: none; }

/* The group glyph. Sized and painted here so a theme supplies only
   paths — the archetype decides how big and what colour, which is what
   keeps one icon set usable across four layouts. Brand colour because
   in every kit that draws these, the glyph is the accent doing its one
   job: marking a category without spending a word on it. */
.fsdrop-band .fsdrop-link-icon {
  display: flex;
  flex: 0 0 auto;
  color: rgb(var(--fs-menu-color, var(--c-brand-600)));
}
.fsdrop-band .fsdrop-link-icon svg { width: 19px; height: 19px; display: block; }
/* Only the card grid shows it. Categories and airy keep their headings,
   so the glyph would be saying a second time what the heading already
   says; editorial's rows are a label over prose and an icon crowds
   them. The grid is the one layout that DISSOLVES the headings, which
   is exactly where the glyph becomes the only grouping left. */
.fsdrop-panel-categories .fsdrop-link-icon,
.fsdrop-panel-airy .fsdrop-link-icon,
.fsdrop-panel-editorial .fsdrop-link-icon { display: none; }

/* ── Open animations (dropdownAnimationClass) ─────────────────────
   Independent of style/shape above — one of these classes lands on
   the SAME panel element dropdownLook() styles, picked by the
   "Animation" control. Plays once per open: the [hidden] toggle
   unmounts nothing, so the animation restarts naturally every time
   hidden comes off. prefers-reduced-motion turns all of them off,
   same discipline as the site's other CSS-driven motion. */
.fsdrop-anim-fade:not([hidden])  { animation: fsdrop-anim-fade .18s ease both; }
.fsdrop-anim-slide:not([hidden]) { animation: fsdrop-anim-slide .2s cubic-bezier(.2,.7,.3,1) both; }
.fsdrop-anim-rise:not([hidden])  { animation: fsdrop-rise-in .22s cubic-bezier(.2,.7,.3,1) both; }
.fsdrop-anim-scale:not([hidden]) { animation: fsdrop-anim-scale .18s cubic-bezier(.2,.7,.3,1) both; }
@keyframes fsdrop-anim-fade  { from { opacity: 0; } to { opacity: 1; } }
@keyframes fsdrop-anim-slide { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
@keyframes fsdrop-rise-in    { from { opacity: 0; transform: translateY(6px) scale(.98); } to { opacity: 1; transform: none; } }
@keyframes fsdrop-anim-scale { from { opacity: 0; transform: scale(.94); } to { opacity: 1; transform: none; } }

.fsdrop-link-split:hover, .fsdrop-link-split:focus-visible { color: rgb(var(--fs-menu-color, var(--c-brand-600))); }
.fsdrop-link-split.is-active { color: rgb(var(--fs-menu-color, var(--c-brand-600))); }
.fsdrop-link-feature:hover, .fsdrop-link-feature:focus-visible { color: rgb(var(--fs-menu-color, var(--c-brand-600))); }
.fsdrop-link-feature.is-active { color: rgb(var(--fs-menu-color, var(--c-brand-600))); }
/* Writer mega: serif link rows on hairlines, recolouring to the brand
   (the design's sage-deep) — no wash, no pill. */
.fsdrop-link-writerMega { font-family: var(--font-display, serif); font-size: 17px; transition: color .35s cubic-bezier(.4,0,.2,1); }
.fsdrop-link-writerMega:last-child { border-bottom: 0 !important; }
.fsdrop-link-writerMega:hover, .fsdrop-link-writerMega:focus-visible { color: rgb(var(--fs-menu-color, var(--c-brand-600))); }
.fsdrop-link-writerMega.is-active { color: rgb(var(--fs-menu-color, var(--c-brand-600))); }
.fsdrop-panel-writerMega { gap: 64px; }

/* ── Mega grid shape ──────────────────────────────────────────────
   Shared by 'split' and 'feature': a CSS-grid panel instead of the
   list-kind's <ul>. grid-template-columns itself is set inline by
   PrimaryNav.tsx's NavGroup — it depends on the item's own chosen
   column count (2-4, mega-menu-engine.ts) and whether it has content
   blocks, neither of which a fixed class rule can know. */
.fsdrop-mega { display: grid; gap: 22px; }
.fsdrop-mega-col { display: flex; flex-direction: column; gap: 2px; }
/* A link column with nothing in it still holds its grid track, which
   on a 2-column mega with one child page is a third of the panel left
   blank. The item's children are split across its column buckets and
   there is no rule that they divide evenly — the splitter just fills
   what it has. Seen on HelixDesk's Canvas menu: one child page,
   two columns, one empty. */
.fsdrop-mega-col:empty { display: none; }

/* ── A COMPOSITE IS THE WHOLE PANEL ───────────────────────────────
   A composite is the design's own markup transplanted whole, so the
   content grid around it stops being a grid: it gets one track, no
   padding of its own, and no column rule.

   These lived in helixdesk-styles.ts scoped to '.fsdrop-panel-columns',
   which quietly meant they applied to ONE of the ten mega styles. The
   other four HelixDesk panels rendered their composite inside a single
   cell of the platform's four-track grid -- M3's tile grid came out
   156px per column against the 311px the design draws, in the right-hand
   half of the panel, and verify-menu still said 100% because every width
   is ignored there as mock-versus-live.

   Keyed on :has() alone, so a panel of generic blocks keeps the grid
   treatment exactly as it was and a theme with no composite never sees
   these rules at all. That is what makes it safe to state once, here,
   rather than re-deriving it in every theme that grows a composite. */
/* The PANEL itself is the grid in several mega styles -- showcase,
   tabbed and promo all lay their content out directly on it rather than
   on an inner .fsdrop-mega-content. Zeroing the padding was not enough:
   the composite still sat in one track of four, so M3's tiles came out
   162px wide in the right-hand quarter of a 1382px panel. */
/* ── A PANEL MUST NOT OUTGROW THE SCREEN ──────────────────────────
   A drop-down taller than the viewport is unusable whatever it holds:
   the visitor cannot see the bottom of it, and closing it means finding
   an edge that is off-screen. Measured on this branch: HelixDesk's FAQ
   panel at 876px on a 900px viewport (97%), RealtyWave's tabbed panel at
   1019px (113% -- taller than the screen it opens on).

   So every mega panel caps below the fold and scrolls inside itself.
   Not a theme setting: no theme should be able to opt into a menu its
   visitors cannot close. 72vh leaves the header plus a strip of page
   visible underneath, which is what tells a visitor the panel is a
   layer and not a new screen. */
[data-fs-nav-panel] {
  max-height: min(72vh, 760px);
  overflow-y: auto;
  overscroll-behavior: contain;
}

[data-fs-nav-panel]:has(.fsdrop-mega-composite) {
  padding: 0 !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
}
.fsdrop-mega-content:has(.fsdrop-mega-composite) {
  grid-template-columns: 1fr !important;
  padding: 0 !important;
  gap: 0 !important;
}
.fsdrop-mega-content-col:has(.fsdrop-mega-composite) {
  padding: 0 !important;
  border-right: 0 !important;
}
/* LedgerLite's Module Directory is the one composite panel these three
   rules were not written for. Everywhere else "a composite IS the whole
   panel" (this commit's own words) — the composite lays itself out edge
   to edge and owns 100% of its spacing, so the panel's padding/gap must
   get out of the way or it doubles up. LedgerLite's four composites
   (ledgerlite.modules/.compliance/.live/.foot) are the opposite: grid
   CHILDREN that rely on the ledgercard archetype's own panel padding
   (--fs-band-pad-y/--fs-card-pad-x, 30px/34px, the export's own inner
   padding) and the family's 30px column gap for the space BETWEEN them,
   the same way every non-composite mega style already does. The blanket
   rule zeroed both — the panel's inline padding lost to :has()'s
   !important (a plain inline style always loses to an !important
   stylesheet rule, regardless of specificity), and the family's own
   grid gap lost because it had specificity but not !important, and
   !important beats specificity when both sides claim it. Measured
   2026-09-03, after feature/theme-ledgerlite merged into a staging
   this rule had landed on independently: .fsdrop-mega-content's
   grid-template-columns survived (the family rule carries !important
   there), gap did not (0 in the export's own numbers is invisible in a
   screenshot, so this was live for a while before a gate caught it).
   Scoped to .fsdrop-panel-ledgercard alone — no other archetype is
   touched, and this is the only theme using it. */
[data-fs-nav-panel].fsdrop-panel-ledgercard:has(.fsdrop-mega-composite) {
  padding: var(--fs-band-pad-y, 30px) var(--fs-card-pad-x, 34px) var(--fs-band-pad-b, var(--fs-band-pad-y, 30px)) !important;
  grid-template-columns: minmax(0, 1.55fr) minmax(0, .95fr) !important;
  gap: 0 !important;
}
.fsdrop-panel-ledgercard .fsdrop-mega-content:has(.fsdrop-mega-composite) {
  grid-template-columns: minmax(0, 1.55fr) minmax(0, .95fr) !important;
  padding: 0 !important;
  gap: 0 30px !important;
}

/* ── Mega WIDTH (MegaWidthId) ─────────────────────────────────────
   Orthogonal to which mega style is chosen — any layout can take any
   of these. Each style sets its own 'width' INLINE, so these carry
   !important: an inline value beats every selector, and this is the
   file's documented use of it (the same reason menu-styles.ts's rail
   rules carry it against menuLook's own inline base look).

   Both non-hug widths clamp with min(), which also closes a
   documented gap: a fixed-width panel opening near the header's right
   edge could overrun the viewport. 'hug' emits no class at all, so
   every existing design keeps exactly the width it had. */
/* --row-pad carries the header row's own side padding, so 'bar' below
   can prove its edges are IDENTICAL to the row's content-box edges
   rather than merely close. The row itself has no single CSS padding
   declaration to hook next to — EditWpClient.tsx and PublicSiteClient.tsx
   (the editor canvas and every published site) both apply it as the
   Tailwind utility "px-6" on the row's own element (".fs-hdr-row
   mx-auto flex w-full items-center justify-between px-6 py-4"), which
   is exactly 1.5rem. Confirmed against global-constraints.md's own
   width-rule numbers: "This Theme Layout" resolves to a 1200px
   (75rem) row at 1440px screens (site-layouts.ts's default
   --fs-layout-max fallback), and 1200 - 2*24 = 1152 — the table's own
   figure. "Full-Width Sections" likewise resolves to a full 1440px
   row, and 1440 - 2*24 = 1392, the table's other figure. (The
   /preview/view template-browser route, TemplateViewClient.tsx, uses a
   different px-7/py-3 on its own row — that surface is outside this
   plan's width-rule table and this task's file scope.) */
.fs-hdr-row { --row-pad: 1.5rem; }
.fsdrop-w-wide.fsdrop-w-wide { width: min(92vw, 900px, var(--fs-layout-clamp, 900px)) !important; }
.fsdrop-w-full.fsdrop-w-full {
  width: 100vw !important; max-width: 100vw !important;
  /* Centre on the VIEWPORT rather than the trigger. Without the
     margin-left correction a 100vw panel is centred on whichever menu
     item opened it, so a left-hand item throws half the panel off the
     left edge. calc() re-anchors it: pull back to the viewport's own
     left edge, then push out by half the viewport. */
  left: 50% !important;
  margin-left: calc(50vw - 50%) !important;
  transform: translateX(-50%) !important;
  border-radius: 0 !important;
  border-left: 0 !important; border-right: 0 !important;
}
/* 'bar' (theme-chrome retrofit, 2026-09-29): the panel's edges equal
   the header row's own content-box edges, in EVERY site Layout — not a
   fixed or viewport-relative width. Unlike 'wide' and 'full', this
   never centres a box of its own: it is positioned edge-to-edge
   against the row via left/right, the same idiom .fsdrop-w-full uses
   for its own two edges, just anchored to --row-pad (the row's own
   padding) instead of the viewport. Because it sets left/right, not
   width, it needs no min()/clamp() against the screen — the row
   itself already narrows correctly with the site's Layout
   (site-layouts.ts's --fs-layout-max), so the panel narrows with it
   for free by sharing the row as its positioned ancestor.

   'bar' is fed into every mega-panel width consumer, not just the
   header row — see the anchor-fix comment above. Outside a row
   (a Menu widget, or a .fsmenu-rail submenu, which anchors itself with
   its own left:100% and has no row edges to match anyway) --row-pad is
   undefined, so left/right would resolve to auto and the panel would
   land at an undefined position. Fall back to the old 'wide' behaviour
   there instead, then override it with the real row-anchored geometry
   once a header row is actually in scope. */
.fsdrop-w-bar.fsdrop-w-bar { width: min(92vw, 900px, var(--fs-layout-clamp, 900px)) !important; }
.fs-hdr-row .fsdrop-w-bar.fsdrop-w-bar:not(.fsmenu-rail .fsdrop-w-bar) {
  left: var(--row-pad) !important;
  right: var(--row-pad) !important;
  width: auto !important; max-width: none !important;
  transform: none !important;
}

/* ── Showcase mega ────────────────────────────────────────────────
   Each sub-page is a tile: a tinted plate (the link's own ::before)
   with its label beneath. The plate is a brand-tinted gradient rather
   than an image, because a NavNode child carries no artwork — see
   dropdownLook's own note. */
.fsdrop-panel-showcase .fsdrop-mega-col { flex-direction: row; flex-wrap: wrap; gap: 14px; }

/* ── ICON RAIL mega ───────────────────────────────────────────────
   Two columns of rows, each a glyph plate, the page name and the one
   line of plain English under it. The whole row is the target, not the
   name — a 28px glyph beside a 13px label makes a hit area people miss
   if only the text is live.

   The plate is drawn, not loaded: a NavNode child is a page reference
   with no artwork on it, so this uses the link's ::before with a
   brand-tinted ground and a small mark inside, the same decision
   Showcase documents above. It reads as a considered treatment; a
   broken image icon would not. */
.fsdrop-panel-railcards { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 2px !important; }
.fsdrop-panel-railcards .fsdrop-mega-col { gap: 2px; }
.fsdrop-link-railcards {
  display: grid;
  grid-template-columns: 28px 1fr;
  align-items: start;
  column-gap: 11px;
  row-gap: 2px;
  font-size: 13px; font-weight: 600; line-height: 1.35;
  color: rgb(var(--c-ink-950));
  transition: background-color .16s ease;
}
.fsdrop-link-railcards:hover, .fsdrop-link-railcards:focus-visible {
  background: rgb(var(--c-paper-soft));
}
.fsdrop-link-railcards::before {
  content: '';
  grid-row: span 2;
  width: 28px; height: 28px; border-radius: 8px;
  border: 1px solid rgb(var(--c-line));
  background:
    radial-gradient(circle at 50% 50%, rgb(var(--fs-menu-color, var(--c-brand-600))) 0 3px, transparent 3.5px),
    rgb(var(--fs-menu-color, var(--c-brand-600)) / .10);
}
/* The blurb sits in the second row of the text column. Hidden when the
   page has none, so a site that never wrote them gets a clean two-column
   list rather than a grid of gaps. */
.fsdrop-link-railcards .fsdrop-link-note {
  grid-column: 2;
  font-size: 12px; font-weight: 400; line-height: 1.45;
  color: rgb(var(--c-ink-700));
}

/* ── COVERAGE mega ────────────────────────────────────────────────
   Place names are two or three words, so they run several to a row
   instead of getting a column each — a service area laid out as four
   tall columns of one word wastes the panel and reads as a sitemap.
   Each name carries a small pin so the list reads as places rather
   than pages. */
.fsdrop-panel-coverage { grid-template-columns: 1fr !important; gap: 10px !important; }
.fsdrop-panel-coverage .fsdrop-mega-col {
  flex-direction: row; flex-wrap: wrap; gap: 4px 6px;
}
.fsdrop-link-coverage {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 12.5px; font-weight: 600;
  color: rgb(var(--c-ink-950));
  border: 1px solid rgb(var(--c-line));
  transition: border-color .16s ease, color .16s ease;
}
.fsdrop-link-coverage::before {
  content: '';
  width: 7px; height: 7px; border-radius: 999px 999px 999px 1px;
  transform: rotate(45deg);
  background: rgb(var(--fs-menu-color, var(--c-brand-600)));
  flex: 0 0 auto;
}
.fsdrop-link-coverage:hover, .fsdrop-link-coverage:focus-visible {
  border-color: rgb(var(--fs-menu-color, var(--c-brand-600)));
  color: rgb(var(--fs-menu-color, var(--c-brand-600)));
}
/* A heading in this layout is a REGION, so it sits on its own line
   above the names rather than starting a column. */
.fsdrop-panel-coverage .fsdrop-mega-text-heading {
  font-size: 12px; font-weight: 700; letter-spacing: .13em;
  text-transform: uppercase;
  color: rgb(var(--fs-menu-color, var(--c-brand-600)));
  margin-bottom: 2px;
}

.fsdrop-link-showcase {
  display: flex; flex-direction: column; gap: 7px;
  flex: 1 1 0; min-width: 110px;
  font-size: 12.5px; font-weight: 600; color: rgb(var(--c-ink-950));
}
.fsdrop-link-showcase::before {
  content: ''; display: block; width: 100%; aspect-ratio: 16 / 10; border-radius: 9px;
  background: linear-gradient(135deg,
    rgb(var(--fs-menu-color, var(--c-brand-600)) / .34),
    rgb(var(--c-accent, var(--c-brand-700)) / .34));
  transition: transform .22s cubic-bezier(.2,.7,.3,1), box-shadow .22s ease;
}
.fsdrop-link-showcase:hover::before, .fsdrop-link-showcase:focus-visible::before {
  transform: translateY(-2px);
  box-shadow: 0 10px 22px -10px rgb(var(--c-ink-950) / .4);
}
.fsdrop-link-showcase:hover, .fsdrop-link-showcase.is-active { color: rgb(var(--fs-menu-color, var(--c-brand-600))); }

/* ── Promo mega ───────────────────────────────────────────────────
   Links on the left, the customer's own blocks flooded onto a brand
   panel on the right. The panel has no padding of its own (see
   dropdownLook) so this cell can run to its edge; the link columns
   take their padding back here. */
.fsdrop-panel-promo { gap: 0; }
.fsdrop-panel-promo .fsdrop-mega-col { padding: 20px 0 20px 22px; }
.fsdrop-panel-promo .fsdrop-mega-content {
  padding: 20px 22px;
  background: linear-gradient(140deg,
    rgb(var(--fs-menu-color, var(--c-brand-600))),
    rgb(var(--c-accent, var(--c-brand-700))));
}
/* Every block inside the promo cell is on a brand ground, so its own
   palette-token colours would sink into it. --fs-on-brand is the
   platform's existing "readable on a brand fill" token. */
.fsdrop-panel-promo .fsdrop-mega-content .fsdrop-mega-text-heading,
.fsdrop-panel-promo .fsdrop-mega-content .fsdrop-mega-text-body,
.fsdrop-panel-promo .fsdrop-mega-content .fsdrop-featured-title,
.fsdrop-panel-promo .fsdrop-mega-content .fsdrop-featured-cta { color: var(--fs-on-brand, rgb(var(--c-paper))); }
.fsdrop-panel-promo .fsdrop-mega-content .fsdrop-mega-text-body { opacity: .85; }
.fsdrop-panel-promo .fsdrop-mega-content .fsdrop-mega-button {
  background: var(--fs-on-brand, rgb(var(--c-paper)));
  color: rgb(var(--fs-menu-color, var(--c-brand-600)));
}
.fsdrop-panel-promo .fsdrop-mega-content .fsdrop-mega-pagecard { background: rgb(255 255 255 / .14); }

/* ── Tabbed mega ──────────────────────────────────────────────────
   A category rail on the left; the content cell on the right swaps as
   each category is hovered or focused. Which blocks belong to which
   tab is the block's own stored COLUMN (mega-menu-engine.ts's
   MegaBlock.col) reinterpreted as a tab index — see PrimaryNav's own
   note on why that mapping, and what happens when a tab has none. */
.fsdrop-panel-tabbed { grid-template-columns: 180px 1fr !important; gap: 0; }
.fsdrop-tab-rail {
  display: flex; flex-direction: column; gap: 2px;
  padding: 12px; background: rgb(var(--c-paper-soft));
  border-right: 1px solid rgb(var(--c-line));
}
.fsdrop-link-tabbed { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 12.5px; font-weight: 600; }
.fsdrop-link-tabbed::after { content: '›'; opacity: 0; transition: opacity .18s ease, transform .18s ease; transform: translateX(-3px); }
.fsdrop-link-tabbed[data-tab-active='1'] {
  background: rgb(var(--c-paper));
  color: rgb(var(--fs-menu-color, var(--c-brand-600)));
  font-weight: 700;
  box-shadow: 0 1px 3px rgb(var(--c-ink-950) / .1);
}
.fsdrop-link-tabbed[data-tab-active='1']::after { opacity: .9; transform: translateX(0); }
.fsdrop-tab-panel { padding: 16px 18px; }
/* A tab with nothing of its own says so rather than opening empty. */
.fsdrop-tab-empty { font-size: 12px; color: rgb(var(--c-ink-700)); opacity: .75; }

/* ── Mega content column ──────────────────────────────────────────
   The 'feature' style's third cell — the customer's own mini blocks
   (mega-menu-engine.ts). This cell is ITSELF a grid, split into the
   same column count the item's own Columns setting uses (mega-menu-
   engine.ts's MEGA_COLUMN_OPTIONS) — grid-template-columns is set
   inline by PrimaryNav.tsx's NavGroup, same reason .fsdrop-mega's own
   is. Every colour is a palette token, same discipline the rest of
   this file holds to. */
.fsdrop-mega-content { display: grid; gap: 22px; }
.fsdrop-mega-content-col { display: flex; flex-direction: column; gap: 12px; }

.fsdrop-mega-text-heading { font-size: 13px; font-weight: 700; color: rgb(var(--c-ink-950)); line-height: 1.3; }
.fsdrop-mega-text-body { margin-top: 2px; font-size: 12px; color: rgb(var(--c-ink-700)); line-height: 1.4; }

/* ── LINK LIST block ──────────────────────────────────────────────
   A heading over n rows, each optionally carrying a trailing figure.
   The block that makes a DIRECTORY menu possible: before it, a theme
   wanting a column of grouped links had only the TEXT block, so every
   one of them shipped as a single middot-separated paragraph nobody
   could click.

   The row is a flex with the figure pushed to the far edge rather than
   sitting after the label, so a column of them lines up down the right
   regardless of how long each name is — which is the whole reason a
   directory reads as scannable. tabular-nums keeps the figures from
   shifting against each other. */
.fsdrop-mega-linklist-heading {
  font-size: 12px; font-weight: 700; letter-spacing: .14em;
  text-transform: uppercase;
  color: rgb(var(--fs-menu-color, var(--c-brand-600)));
  margin: 0 0 10px;
}
.fsdrop-mega-linklist-items {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: 1px;
}
.fsdrop-mega-linklist-link {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  font-size: 13.5px; font-weight: 500; line-height: 1.35;
  color: rgb(var(--c-ink-950));
  padding: 6px 8px; margin: 0 -8px; border-radius: 8px;
  transition: background-color .16s ease, color .16s ease;
}
.fsdrop-mega-linklist-link:hover, .fsdrop-mega-linklist-link:focus-visible {
  background: rgb(var(--c-paper-soft));
  color: rgb(var(--fs-menu-color, var(--c-brand-600)));
}
.fsdrop-mega-linklist-count {
  font-size: 12px; font-weight: 500;
  color: rgb(var(--c-ink-400, var(--c-ink-700)));
  font-variant-numeric: tabular-nums;
  flex: 0 0 auto;
}

.fsdrop-mega-image { display: block; width: 100%; height: auto; border-radius: 10px; object-fit: cover; }

/* Video. aspect-ratio rather than a fixed height so the player keeps
   16/9 at any column width — a dropdown column is narrow and varies
   with the column count. The wrapper is a span, not a div: mega blocks
   render inside the column's inline flow, same as the image above. */
.fsdrop-mega-video-wrap { display: flex; flex-direction: column; gap: 6px; width: 100%; }
.fsdrop-mega-video { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: 10px; background: rgb(var(--c-ink-950) / 0.06); }
.fsdrop-mega-video-caption { font-size: 12px; line-height: 1.4; color: rgb(var(--c-ink-700)); }
.fsdrop-mega-video-error { font-size: 12px; line-height: 1.4; color: rgb(var(--c-ink-500, var(--c-ink-700))); }

.fsdrop-mega-button {
  display: inline-flex; align-self: flex-start; align-items: center; justify-content: center;
  border-radius: 8px; padding: 8px 14px; font-size: 12px; font-weight: 700; text-decoration: none;
  background: rgb(var(--fs-menu-color, var(--c-brand-600))); color: var(--fs-on-brand, rgb(var(--c-paper)));
  transition: background-color .2s ease;
}
.fsdrop-mega-button:hover, .fsdrop-mega-button:focus-visible { background: rgb(var(--fs-menu-color-dark, var(--c-brand-700))); }

/* Page-card block — a themed placeholder image (the RealtyWave
   reference this shape came from also uses a plain gradient block,
   not a real photo — see dropdown-styles.ts's own note on why this
   stays a placeholder rather than reaching for a page's SEO image), a
   small badge, the picked page's own live name, and a "View page" CTA. */
.fsdrop-mega-pagecard {
  display: flex; flex-direction: column; border-radius: 12px; overflow: hidden;
  border: 1px solid rgb(var(--c-line)); text-decoration: none;
  transition: box-shadow .2s ease, transform .2s ease;
}
.fsdrop-mega-pagecard:hover, .fsdrop-mega-pagecard:focus-visible {
  box-shadow: 0 10px 24px -12px rgb(var(--c-ink-950) / .3); transform: translateY(-1px);
}
.fsdrop-featured-image {
  position: relative; height: 104px;
  background: linear-gradient(135deg, rgb(var(--fs-menu-color, var(--c-brand-600))), rgb(var(--fs-menu-color-dark, var(--c-accent, var(--c-brand-700)))));
}
/* The one white literal in this file that STAYS. Unlike the two above,
   this label does not sit on the brand fill — it sits on a 34%-black
   scrim laid over the card's gradient, and a scrim that dark is dark in
   both page modes. --fs-on-brand is solved against the BRAND, so using
   it here would put a dark label on a dark scrim in exactly the
   palettes where the brand is light. Flagged by check:panels and left
   flagged on purpose rather than re-baselined, because re-baselining
   this file would also swallow aurora-styles.ts's eight. */
.fsdrop-featured-badge {
  position: absolute; left: 10px; top: 10px;
  font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  color: #ffffff; background: rgb(0 0 0 / .34); border-radius: 999px; padding: 4px 9px;
}
.fsdrop-featured-body { padding: 12px 14px; background: rgb(var(--c-paper)); }
.fsdrop-featured-title { font-size: 14px; font-weight: 700; color: rgb(var(--c-ink-950)); line-height: 1.3; }
.fsdrop-featured-cta { display: block; margin-top: 4px; font-size: 12px; font-weight: 700; color: rgb(var(--fs-menu-color, var(--c-brand-600))); }

/* ── The SPOTLIGHT parts ──────────────────────────────────────────
   Everything below draws only when the block carries the matching
   field, so a card authored without them is byte-identical to the one
   above. See MegaBlock's tag/meta/figure/cta note for why these are
   named for their role rather than for a property listing. */

/* A real photo replaces the gradient rather than sitting on it — the
   gradient is the fallback, so background-image is set inline and the
   size/position live here where they can be stated once. */
.fsdrop-featured-image[data-has-photo] { background-size: cover; background-position: center; }

/* Title + meta over the foot of the image. The scrim is the same
   argument as the badge above: white type here sits on a gradient this
   rule lays down itself, not on the palette, so it is legible in both
   page modes without solving against the brand. */
.fsdrop-featured-meta {
  position: absolute; left: 14px; right: 14px; bottom: 11px; z-index: 2;
  display: flex; flex-direction: column; gap: 2px; color: #ffffff;
}
.fsdrop-featured-meta::before {
  content: ''; position: absolute; left: -14px; right: -14px; bottom: -11px; top: -28px;
  z-index: -1; background: linear-gradient(to top, rgb(0 0 0 / .62), rgb(0 0 0 / 0));
  pointer-events: none;
}
.fsdrop-featured-meta b { font-size: 15px; font-weight: 700; line-height: 1.25; }
.fsdrop-featured-meta span { font-size: 12px; font-weight: 500; opacity: .88; line-height: 1.3; }

/* The one value the card shouts. Accent, display face, tight — the
   same treatment every kit gives its price line. */
.fsdrop-featured-figure {
  display: block; font-family: var(--font-display, inherit);
  font-size: 22px; font-weight: 700; letter-spacing: -.6px; line-height: 1.55;
  color: rgb(var(--c-accent, var(--fs-menu-color, var(--c-brand-600))));
}
.fsdrop-featured-copy {
  display: block; margin-top: 6px;
  font-size: 13px; font-weight: 400; line-height: 1.55; color: rgb(var(--c-ink-700));
}
.fsdrop-featured-figure + .fsdrop-featured-cta,
.fsdrop-featured-copy + .fsdrop-featured-cta { margin-top: 10px; }

@media (prefers-reduced-motion: reduce) {
  [class*="fsdrop-anim-"]:not([hidden]) { animation: none; }
  [class*="fsdrop-"] { transition-duration: .01s !important; }
}


@media (prefers-reduced-motion: no-preference){

  /* ── 1. Section reveal ─────────────────────────────────────────
     CSS scroll-driven animation. The @supports is the whole safety
     story: where it is unsupported the declaration block never
     applies, so content is simply visible, which is the correct
     fallback and needs no script to arrange. */
  @supports (animation-timeline: view()){
    /* TARGETS THE BLOCK'S OWN ROOT, via the stamp SectionRenderer puts
       on every section.

       This rule read `[data-fs-motion="on"] > section` for its whole
       life and matched NOTHING — measured 0 elements on every theme
       tried. SectionRenderer wraps each section in up to five nested
       divs (anchor, band, background, preset, type stamp), so a real
       <section> sits three or four levels down and can never be a
       direct child. The effect was listed in the Micro-animations panel
       for all 41 themes and had never once run.

       Two details that matter:
       - The stamp itself is display:contents, so it has no box to
         animate. Its CHILD is the outermost element that does, which is
         why this is "> *" rather than the stamp.
       - Not every block renders a <section> — plenty use a <div> — so
         keying off the stamp rather than the tag is what makes this
         work for all of them instead of most.

       :not([data-fs-first]) leaves the opening section alone. A hero is
       above the fold on load, so revealing it means flashing the first
       thing a visitor sees. */
    [data-fs-motion="on"] [data-fs-blocktype]:not([data-fs-first]) > *{
      animation-name: var(--fs-anim-fs-sectionin-name, fs-motion-reveal);
      animation-duration: calc(.6s * var(--fs-anim-speed, 1));
      animation-timing-function: var(--fs-anim-ease, cubic-bezier(.22,.61,.36,1));
      animation-fill-mode: both;
      animation-timeline: view();
      /* Widened from cover 16% to cover 28% (owner, 2026-08-21: "very
         very subtle, barely noticeable" once the rule was actually
         running for the first time). A short range completes the reveal
         almost as soon as the section starts entering, so most of a
         normal scroll speed only ever sees its tail end. */
      animation-range: entry 0% cover 28%;
    }
  }
  @keyframes fs-motion-reveal{
    /* 14px -> 34px for the same reason: a lift small enough to be
       mistaken for absent is worse than no effect at all. Opacity was
       already the maximum possible swing (near-zero to fully visible),
       so distance was the only lever left.

       Direction switched from a vertical rise to a slide in from the
       left (owner, 2026-08-21) — same 34px travel, horizontal instead
       of vertical. */
    from{ opacity:.001; transform: translate3d(calc(-34px * var(--fs-motion-dist, 1)), 0, 0); }
    to{ opacity:1; transform:none; }
  }

  /* ── 2. Card lift ──────────────────────────────────────────────
     Longhand transition-* rather than one shorthand, so Speed/Easing
     can scale duration and swap the curve without restating "transform,
     box-shadow" a second time. The shadow itself is the theme's own
     (--shadow-card), so a flat theme stays flat and only the 2px rise
     reads. Off sets transition-property to none (PLATFORM_ANIMATION_
     OFF_VAR), same as before: the hover transform below still applies,
     just instantly rather than eased — unchanged from the original
     shorthand's own off behaviour, not something this refactor changed. */
  [data-fs-motion="on"] .fs-card,
  [data-fs-motion="on"] [class*="-card"]:where(a, article, li){
    transition-property: var(--fs-anim-fs-lift-prop, transform, box-shadow);
    transition-duration: calc(.2s * var(--fs-anim-speed, 1));
    transition-timing-function: var(--fs-anim-ease, ease);
  }
  [data-fs-motion="on"] .fs-card:hover,
  [data-fs-motion="on"] [class*="-card"]:where(a, article, li):hover{
    transform: var(--fs-anim-fs-lift-t, translate3d(0, calc(-2px * var(--fs-motion-dist, 1)), 0));
  }

  /* ── 3. Button press ───────────────────────────────────────────
     :active only. Hover is left to each theme, which already styles
     it; this is the tactile half nobody writes. The :active transform
     itself is untouched by this refactor (still one var, still the
     mechanism that turns it off); only the transition below gained a
     Speed/Easing hook, exactly as it was already unconditional. */
  [data-fs-motion="on"] button:active:not([disabled]),
  [data-fs-motion="on"] a[class*="btn"]:active,
  [data-fs-motion="on"] .fs-btn:active{
    transform: var(--fs-anim-fs-press, scale(.985));
  }
  [data-fs-motion="on"] button,
  [data-fs-motion="on"] a[class*="btn"],
  [data-fs-motion="on"] .fs-btn{
    transition-property: transform;
    transition-duration: calc(.12s * var(--fs-anim-speed, 1));
    transition-timing-function: var(--fs-anim-ease, ease);
  }

  /* ── 4. Image fade-in ──────────────────────────────────────────
     Runs at paint on a normally-visible element: an image that never
     decodes still occupies its frame, and the alt text is never
     hidden. */
  [data-fs-motion="on"] img{
    animation-name: var(--fs-anim-fs-imgin-name, fs-motion-imgin);
    animation-duration: calc(.45s * var(--fs-anim-speed, 1));
    animation-timing-function: var(--fs-anim-ease, ease-out);
    animation-fill-mode: both;
  }
  @keyframes fs-motion-imgin{
    from{ opacity:.001; }
    to{ opacity:1; }
  }
}
/* Motion "Off" is a global stop, not just the platform effects: it
   freezes every theme's own loops and transitions inside the site
   wrapper. Deliberately OUTSIDE the no-preference query (Off must hold
   either way). The attribute is set on the site wrapper only, so the
   editor's own chrome is untouched. */
[data-fs-motion-level="off"] *,
[data-fs-motion-level="off"] *::before,
[data-fs-motion-level="off"] *::after{
  animation-duration:0s !important;
  animation-iteration-count:1 !important;
  animation-delay:0s !important;
  transition-duration:0s !important;
  scroll-behavior:auto !important;
}


@media (prefers-reduced-motion: no-preference){
  [data-fs-motion="on"][data-fs-entrance="fade"] [data-fs-region="page"] > *{
    animation: var(--fs-anim-fs-pagein, fs-pagein-fade .35s ease-out);
  }
  [data-fs-motion="on"][data-fs-entrance="fadeup"] [data-fs-region="page"] > *{
    animation: var(--fs-anim-fs-pagein, fs-pagein-fadeup .35s ease-out);
  }
  [data-fs-motion="on"][data-fs-entrance="fadedown"] [data-fs-region="page"] > *{
    animation: var(--fs-anim-fs-pagein, fs-pagein-fadedown .35s ease-out);
  }
  [data-fs-motion="on"][data-fs-entrance="diagonal"] [data-fs-region="page"] > *{
    animation: var(--fs-anim-fs-pagein, fs-pagein-diagonal .35s ease-out);
  }
  [data-fs-motion="on"][data-fs-entrance="zoom"] [data-fs-region="page"] > *{
    animation: var(--fs-anim-fs-pagein, fs-pagein-zoom .35s ease-out);
  }
  [data-fs-motion="on"][data-fs-entrance="slideleft"] [data-fs-region="page"] > *{
    animation: var(--fs-anim-fs-pagein, fs-pagein-slideleft .35s ease-out);
  }

  /* ── Stagger ────────────────────────────────────────────────────
     Additive: only changes anything when one of the six rules above is
     also running, since animation-delay on its own does nothing.
     70ms/step is short enough that the LAST staggered section has still
     finished (630ms delay + .35s duration ≈ 980ms) well inside the
     first second after load — it is always settled long before a
     visitor could have scrolled to it, capped section or not. */
  [data-fs-motion="on"][data-fs-stagger="on"] [data-fs-region="page"] > *:nth-child(1){ animation-delay: 0ms; }
  [data-fs-motion="on"][data-fs-stagger="on"] [data-fs-region="page"] > *:nth-child(2){ animation-delay: 70ms; }
  [data-fs-motion="on"][data-fs-stagger="on"] [data-fs-region="page"] > *:nth-child(3){ animation-delay: 140ms; }
  [data-fs-motion="on"][data-fs-stagger="on"] [data-fs-region="page"] > *:nth-child(4){ animation-delay: 210ms; }
  [data-fs-motion="on"][data-fs-stagger="on"] [data-fs-region="page"] > *:nth-child(5){ animation-delay: 280ms; }
  [data-fs-motion="on"][data-fs-stagger="on"] [data-fs-region="page"] > *:nth-child(6){ animation-delay: 350ms; }
  [data-fs-motion="on"][data-fs-stagger="on"] [data-fs-region="page"] > *:nth-child(7){ animation-delay: 420ms; }
  [data-fs-motion="on"][data-fs-stagger="on"] [data-fs-region="page"] > *:nth-child(8){ animation-delay: 490ms; }
  [data-fs-motion="on"][data-fs-stagger="on"] [data-fs-region="page"] > *:nth-child(9){ animation-delay: 560ms; }
  /* :nth-child(n+10) matches the 10th AND every section after it in one
     rule — the "share the cap" half of the design, not a 10th step. */
  [data-fs-motion="on"][data-fs-stagger="on"] [data-fs-region="page"] > *:nth-child(n+10){ animation-delay: 630ms; }

  /* Every one of these ends at the element's own resting state. Read
     the 100% frames together: opacity 1, transform none. That is the
     no-strand proof, and it is why none of them needs a fill mode. */
  @keyframes fs-pagein-fade{
    0%{ opacity:0; }
    100%{ opacity:1; }
  }
  @keyframes fs-pagein-fadeup{
    0%{ opacity:0; transform: translate3d(0, 18px, 0); }
    100%{ opacity:1; transform: translate3d(0, 0, 0); }
  }
  @keyframes fs-pagein-fadedown{
    0%{ opacity:0; transform: translate3d(0, -18px, 0); }
    100%{ opacity:1; transform: translate3d(0, 0, 0); }
  }
  /* MEASURED, not invented. PayFlow's export ships
     @keyframes pfPageIn{0%{opacity:0;transform:translate(-22px,16px)}
     100%{opacity:1;transform:translate(0,0)}} at .35s ease-out, on the
     <main> of every page of all three tier files. Down-and-left to
     up-and-right is the same -8deg diagonal the theme skews its eyebrow
     pills and gateway cards along, which is why this belongs to the
     platform as "Diagonal" rather than to PayFlow as a special case. */
  @keyframes fs-pagein-diagonal{
    0%{ opacity:0; transform: translate3d(-22px, 16px, 0); }
    100%{ opacity:1; transform: translate3d(0, 0, 0); }
  }
  @keyframes fs-pagein-zoom{
    0%{ opacity:0; transform: scale(.985); }
    100%{ opacity:1; transform: scale(1); }
  }
  @keyframes fs-pagein-slideleft{
    0%{ opacity:0; transform: translate3d(-34px, 0, 0); }
    100%{ opacity:1; transform: translate3d(0, 0, 0); }
  }
}


@media (prefers-reduced-motion: no-preference){
  /* ── Per-section reveal variant ─────────────────────────────────
     Same zero-JS mechanism as motion-base.ts's baseline [data-fs-motion]
     reveal: where animation-timeline: view() is unsupported, this
     @supports block never applies and the section is simply visible —
     no observers, no listeners, no script required.

     Targets :where(section, footer) as a DESCENDANT of the attribute,
     not a direct child, because the attribute is set on this section's
     own wrapper (SectionRenderer's "typed" div), and that wrapper can
     sit one-to-several plain divs above the block's real <section> root
     depending which OTHER per-section wrappers (background/preset/
     band) are also active. A block that nests its own inner <section>
     internally would pick this up too; accepted for a first pass — see
     the file header. */
  @supports (animation-timeline: view()){
    [data-fs-motion="on"] [data-fs-reveal] :where(section, footer){
      animation-timeline: view();
      /* duration auto is the spec-correct value for a progress-based
         timeline: it maps the whole keyframe set onto animation-range.
         An explicit time duration was MEASURED to also work once the
         real bug below was fixed, so this is correctness, not the cure.

         THE REAL TRAP, measured rather than guessed: a view() timeline
         binds to its nearest SCROLL CONTAINER, and any overflow value
         other than visible makes an element one — hidden included.
         /preview/view wrapped the whole site in overflow-x-hidden,
         which is full-height and never scrolls, so every reveal on the
         page sat frozen at a constant progress (83.4732% across a
         2,977px scroll). Fixed there by switching to overflow-x: clip,
         which clips identically without becoming a scroll container.
         PublicSiteClient already had this right for position:sticky —
         same property, same cause, third symptom. If a reveal ever goes
         inert again, check the ancestor chain for overflow before
         anything else. */
      animation-duration: auto;
      animation-range: entry var(--fs-reveal-start, 0%) cover 16%;
      animation-timing-function: cubic-bezier(.22,.61,.36,1);
      animation-fill-mode: both;
    }
    [data-fs-motion="on"] [data-fs-reveal="fade-up"] :where(section, footer){ animation-name: fs-fx-fade-up; }
    [data-fs-motion="on"] [data-fs-reveal="fade-down"] :where(section, footer){ animation-name: fs-fx-fade-down; }
    [data-fs-motion="on"] [data-fs-reveal="fade-left"] :where(section, footer){ animation-name: fs-fx-fade-left; }
    [data-fs-motion="on"] [data-fs-reveal="fade-right"] :where(section, footer){ animation-name: fs-fx-fade-right; }
    [data-fs-motion="on"] [data-fs-reveal="zoom-in"] :where(section, footer){ animation-name: fs-fx-zoom-in; }
  }
  @keyframes fs-fx-fade-up{ from{ opacity:.001; transform: translate3d(0, 28px, 0); } to{ opacity:1; transform:none; } }
  @keyframes fs-fx-fade-down{ from{ opacity:.001; transform: translate3d(0, -28px, 0); } to{ opacity:1; transform:none; } }
  @keyframes fs-fx-fade-left{ from{ opacity:.001; transform: translate3d(28px, 0, 0); } to{ opacity:1; transform:none; } }
  @keyframes fs-fx-fade-right{ from{ opacity:.001; transform: translate3d(-28px, 0, 0); } to{ opacity:1; transform:none; } }
  @keyframes fs-fx-zoom-in{ from{ opacity:.001; transform: scale(.94); } to{ opacity:1; transform:none; } }
}

/* ── Parallax ───────────────────────────────────────────────────────
   No CSS effect lives here — Rellax (loaded only when hasParallax()
   is true, see PublicSiteClient.tsx) applies the transform itself via
   [data-fs-parallax]. Without JS the element just sits at its normal,
   fully visible position: nothing here can hide content. */
